Managing virtual machines and hosts by property
Claim Score by NHIP
Abstract
Virtual machines and hosts of virtual machines are dynamically organized and managed in accordance with specific properties of the virtual machines and hosts. A system can be browsed for virtual machines/hosts having a specific property(s). Properties and property values are represented by a hierarchical structure of folders and subfolders, and/or in a textual hierarchical directory structure. Selection of a property value results in the virtual machines/hosts having the selected property value attributed thereto. Browsing can also be accomplished via a hierarchical textual directory structure. A virtual machine can be selected to navigate the virtual and view its constituents. Properties, property values, virtual machines, and hosts can be added, deleted, and/or modified.

Term
Projected expiry 24 October 2026.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 64, broad(NHIP)A method for managing a plurality of virtual machines, the method comprising:rendering a representation of a plurality of properties and respective property values, each property and property value being attributable to one of a virtual machine and a host of a virtual machine;receiving an indication of at least one selected property value, wherein the at least one selected property value was selected from the rendered plurality of properties values;and rendering an indication of one of each virtual machine and each host having attributed thereto the at least one selected property value.
- 9A system for managing a plurality of virtual machines, the system comprising:an input/output portion configured to: render a representation of a plurality of properties and respective property values, wherein: each property is attributable to one of a virtual machine and a host of a virtual machine;and render an indication of each virtual machine and each host having attributed thereto at least one selected property value;and a processing portion configured to: receive an indication of the at least one selected property value, wherein the at least one selected property value was selected from the rendered plurality of property values;and determine if at least one of a virtual machine and a host has attributed thereto the at least one selected property value.
- 17A computer-readable medium having stored thereon computer-executable instruction for managing a plurality of virtual machines, the computer-executable instructions for:rendering a representation of a plurality of properties and respective property values, each property and property value being attributable to one of a virtual machine and a host of a virtual machine;receiving an indication of at least one selected property value, wherein the at least one selected property value was selected from the rendered plurality of properties values;rendering an indication of one of each virtual machine and each host having attributed thereto the at least one selected property value;and visually rendering folders and subfolders to represent the plurality of properties and property values, wherein: a folder is indicative of a property;and a subfolder of a folder is indicative of a property value of a respective folder.
Independent claims3
64 paragraphs in 5 sections, as filed
TECHNICAL FIELD
0001The technical field is generally related to computer processing and more specifically relates to managing virtual machines.
BACKGROUND
0002To aid in the management of virtual machines (VMs) and hosts, which could be thousands in number, it is not uncommon for system administrators, or the like, to create a hierarchical structure of groups into which the hosts (and thus the virtual machines) can be placed. By depicting where hosts and VMs were placed, this organization structure provides a mechanism for accessing a particular host or VM. This mechanism does not, however, provide a means for readily depicting properties of the hosts and VMs. Thus, searching for a host or VM having a specific property can be time consuming, tedious, and error prone.
SUMMARY
0003This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description Of Illustrative Embodiments. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
0004Virtual machines and hosts of virtual machines are dynamically organized based on specific properties of the virtual machines/hosts. In an example embodiment, virtual machines/hosts are depicted as icons in a hierarchical structure representing folders and subfolders. The folders and subfolders are renderable by property. The folder and subfolders are browsable by property. For example, a system can be queried for virtual machines/hosts having properties such as the geographical location of a virtual machine/host, whether a virtual machine/host has been installed, whether a virtual machine/host has been updated, if a virtual machine/host is running, if a virtual machine is paused, if a virtual machine is stopped, or the like. The results of such a query are rendered in a hierarchical structure comprising folders and subfolders indicating the status of the queried property. Properties can be added, deleted, and modified. Custom properties can be added. The ordering and organizing of folders and subfolders for rendering can be specified.
BRIEF DESCRIPTION OF THE DRAWINGS
0005The foregoing summary, as well as the following detailed description, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the management of virtual machines and hosts by property, there is shown in the drawings exemplary constructions thereof, however, managing virtual machines and hosts by property is not limited to the specific methods and instrumentalities disclosed.
0006<figref idref="DRAWINGS">FIG. 1</figref> is an illustration an example graphical user interface (GUI) rendering of a hierarchical structure of folders and subfolders representing properties and property values attributable to a virtual machine.
0007<figref idref="DRAWINGS">FIG. 2</figref> is a continuation of <figref idref="DRAWINGS">FIG. 1</figref>.
0008<figref idref="DRAWINGS">FIG. 3</figref> is illustrates a rendering of an example textual hierarchical directory structure.
0009<figref idref="DRAWINGS">FIG. 4</figref> is a continuation of <figref idref="DRAWINGS">FIG. 3</figref>.
0010<figref idref="DRAWINGS">FIG. 5</figref> is an illustration of an example rendering of a folder representing the various properties and virtual machines.
0011<figref idref="DRAWINGS">FIG. 6</figref> is a rendering of an example textual hierarchical directory structure showing components of virtual machines.
0012<figref idref="DRAWINGS">FIG. 7</figref> is an illustration of a GUI rendering of example constituents of a virtual machine.
0013<figref idref="DRAWINGS">FIG. 8</figref> is an illustration of a GUI rendering of example files comprising a virtual machine from a host server perspective.
0014<figref idref="DRAWINGS">FIG. 9</figref> is a depiction of a rendering of an example textual hierarchical directory structure of a registry.
0015<figref idref="DRAWINGS">FIG. 10</figref> is a depiction of a GUI rendering of a registry.
0016<figref idref="DRAWINGS">FIG. 11</figref> is an example textual hierarchical directory structure rendering of devices of a virtual machine.
0017<figref idref="DRAWINGS">FIG. 12</figref> is an example GUI rendering of devices of a virtual machine.
0018<figref idref="DRAWINGS">FIG. 13</figref> is a flow diagram of an example process for managing a virtual machine by property.
0019<figref idref="DRAWINGS">FIG. 14</figref> is an example computing environment for managing virtual machines and hosts by property.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
0020In accordance with managing virtual machines and hosts by property, a system can be browsed for virtual machines (VMs) and/or hosts on which a virtual machine resides having a specific property, or properties. The visual rendering of “by property” browsing, in an example embodiment, comprises a folder for the selected group of properties wherein the sub-folders of that folder represent the unique property values. By selecting a property value, all the hosts/VMs that match the selected property value, are rendered. This rendering provides a fast and easily navigable hierarchical view of the hosts/VMs and properties associated therewith. In another example embodiment, the visual rendering of by property browsing comprises a textual directory structure of properties and property values.
0021<figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref> illustrate an example graphical user interface (GUI) rendering of a hierarchical structure of folders and subfolders representing properties and property values attributable to a virtual machine and host. For the sake of simplicity, the herein description is with respect to <figref idref="DRAWINGS">FIG. 1</figref>, with the understanding that the description also appropriately applies to <figref idref="DRAWINGS">FIG. 2</figref>. <figref idref="DRAWINGS">FIG. 1</figref> depicts the properties of “Hosts” <b>12</b>, “Virtual Machine State” <b>14</b>, “Host State” <b>16</b>, “Owner” <b>18</b>, “Creation Date” <b>20</b>, and “Operating System” <b>22</b> In an example embodiment, the properties comprise user-defined and/or system-defined custom hierarchical properties. For example, as depicted in <figref idref="DRAWINGS">FIG. 1</figref>, the hosts are organized by department and host allocation (e.g., host in production or test host). Each property value of a property is represented by a subfolder. As depicted in <figref idref="DRAWINGS">FIG. 1</figref>, each folder and subfolder is represented by an icon. It is to be understood, however, that rendering icons is optional, and the hierarchical structure depicted in <figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref> is not limited thereto. It is to be understood that the properties and property values depicted in <figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref> are exemplary and should not be limited thereto. For example, a property of “Location” indicative of a geographic location of a virtual machine or a host is applicable, but not depicted in <figref idref="DRAWINGS">FIG. 1</figref> or <figref idref="DRAWINGS">FIG. 2</figref>.
0022The Host folder <b>12</b> represents a property attributable to a host. The properties values of the Host property <b>12</b> comprise specific types of hosts. For example, the property values depicted in <figref idref="DRAWINGS">FIG. 1</figref> are: Development (Dev), Production, Staging, and ewinnert05.ntdev.corp.microsoft.com (ewinnert05 is a name of a host). Each property value is represented by a subfolder. Hosts can be organized by property or, optionally, hosts can be rendered as a simple list (e.g., name of host) having no associated properties shown. For example, as depicted in <figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref>, ewinnert05 is an example name of a host having the property of host, with no property matching the hierarchical structure depicted. The “Virtual Machine State” folder <b>14</b> represents another property attributable to a virtual machine. The property value “Virtual Machine State” <b>14</b> is indicative of the state of a virtual machine. As depicted in <figref idref="DRAWINGS">FIG. 1</figref>, the property “Virtual Machine State” <b>14</b> can have the property value of Failed, Paused, Running, Saved, Stopped, or Transitioning. It is to be understood that the property values depicted in <figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref> are exemplary, and that more or less property values can be assigned/rendered. The property value “Host State” <b>16</b> is indicative of the state of a host on which a virtual machine resides. The “Host State” property <b>16</b> can have the property value of Not Responding, Responding, or Transitioning. The “Owner” property <b>18</b> is indicative of the owner of a virtual machine. The “Owner” property <b>18</b> can have the property value of NTDEV/ewinner and unknown. For example, anything that does not fall within ntdev\ewinner and does not have its own property value can be categorized in other default or system assignments such as unknown. The names of the host type are exemplary. Hosts can be organized in any appropriate manner. For example, a system administrator, or the like, can generate multiple folders to organize hosts by location, by type of host, and/or by the workload of the host. As depicted in <figref idref="DRAWINGS">FIG. 1</figref> and <figref idref="DRAWINGS">FIG. 2</figref>, the names organize the host by the role of a respective host, such as a production host in which its VMs are all running critical applications, or a Staging host in which VMs are close to being production quality. The “Operating system” property <b>22</b> is indicative of the operating system under which a virtual machine operates. The “Operating system” property <b>22</b> can have the property value of any appropriate operating system.
0023In an example embodiment, the hierarchical structure depicted in <figref idref="DRAWINGS">FIG. 1</figref> can be used to browse a system for virtual machines and/or hosts having a specific property and/or property value. Selecting a property value results in a rendering of all virtual machines or all hosts in the system having the selected property value attributed thereto. For example, selecting the “Dev” subfolder under the “Hosts” property <b>12</b> folder will result in a rendering of all development hosts, and/or the rendering of additional properties that have the Dev subfolder as a parent. Thus, a subfolder can host other subfolders in the hierarchy. A development host is a host on which a virtual machine is being developed. In this example, as is known, the “Dev” subfolder can be selected, via a mouse, by double clicking or right clicking and opening the “Dev” subfolder. Upon selecting a property value, virtual machines or hosts having the selected property attributed thereto can be rendered in any appropriate manner. For example, continuing with the above example scenario, selecting the “Dev” subfolder can result in the host having virtual machines under development being rendered under the “Dev” subfolder. And, to illustrate the hierarchical structure, the list of hosts having virtual machines under development can be indented accordingly under the “Dev” subfolder.
0024In an example embodiment, properties can be assigned to a virtual machine and/or host utilizing the hierarchical structure depicted in <figref idref="DRAWINGS">FIG. 1</figref>. For example, a system administrator, or the like, can select a property value and assign the selected property value to the appropriate virtual machine or host. A system administrator, or the like, can also create new property values and/or custom properties and assign those to VMs. Further, properties, property values, virtual machines, and hosts can be added, deleted, and/or modified. Search folders, objects (folders and subfolders) in the hierarchical structure are marked to indicate if various object properties are navigable by property or not navigable. This setting controls whether a node for a property appears in the tree. Custom properties added to the object appear in this same list and also are navigable properties. In an example embodiment, custom hierarchies can be defined. A custom hierarchy provides the ability to navigate a system in accordance with the custom hierarchy, thus allowing a user to efficiently drill into the system in any of a variety of paths.
0025For properties that can be browsed, in an example embodiment, a tree-node is generated. In an example embodiment, sub-nodes of the tree-node can comprise a fixed set of known values, a set of values based on a current system configuration, and/or groups of values. For the fixed set of known values a complete set of tree of sub-nodes is generated, some of which may contain no resulting virtual machines, hosts, library objects, tasks, or the like. For example, for a property of “State” or “Task,” sub-nodes of Running, Stopped, Paused, Canceled, or the like, are generated regardless of the current values in the system. Further, nodes can be dynamically generated based on existing objects matching this state/property. For the sub-node comprising a set of values based on the current state of the system, a set of sub-nodes is generated indicative of the unique set of values which currently exist in the system. When a new value is entered into the system, a respective new sub-node is generated. For example, with respect to the property of “Owner” property, when a first person installs and runs the system, all objects are owned by that one person and the single sub-node to Owner is that person. As more people interact with the system and create objects, virtual machines, and/or tasks, more sub-nodes are generated for the “Owner” node. For groups of values (e.g., dates), groups of sub-nodes are generated in which the property has the value greater than a certain threshold and less than a threshold. Date fields can have an extremely large possible data set. For day to day operations, the most recent date is often the most applicable. Thus, for dates, values are grouped into a selected list of sub-folders with one of the folders representing everything “older” than a certain date. For example, for the property of “Creation Date,” subfolders of Today, Earlier this week, Earlier this month, and Older, are generated. It is to be understood that the date folders described are exemplary, and that more or less date search folder can be generated. Further, search results can be saved in a designated folder (e.g., folder having a property “Search Results”). For example, if a user in a GUI selected all VMs that have the state=running, and then the user performed a search based on another custom property, the user can save this custom search as a unique, by attribute, folder. Then, if the user would like to find the same VMs again based on the user's custom requirement, the user can easily visit the newly created folder for the search results.
0026In another example embodiment, the visual rendering of “by property” browsing comprises a textual hierarchical directory structure. <figref idref="DRAWINGS">FIG. 3</figref> and <figref idref="DRAWINGS">FIG. 4</figref> illustrate a rendering of an example textual hierarchical directory structure that a user can encounter when navigating a hierarchy from a command-line interface. <figref idref="DRAWINGS">FIG. 3</figref> and <figref idref="DRAWINGS">FIG. 4</figref> represent a listing of a hierarchical directory structure wherein a system comprises four virtual machines having the following properties. This hierarchical structure is browsable by property as described above with respect to the GUI examples described above.
0027Name=vm1.vhd, Location=Redmond, Owner=BobFr, State=On
0028Name=vm2.vhd, Location=Redmond, Owner=Eric, State=Off
0029Name=vm3.vhd, Location=Boston, Owner=BobFr, State=On
0030Name=vm4.vhd, Location=Boston, Owner=Eric, State=Off
0031In <figref idref="DRAWINGS">FIG. 3</figref> and <figref idref="DRAWINGS">FIG. 4</figref>, directories are emphasized in italics and bold font. Further, the directory structure depicted represents links to single instances of each virtual machine in the directory. In an example embodiment, a directory command is executed to query for a virtual machine or a host having attributed thereto a specific property value. For example, the following command line can be entered to query for all virtual machines having attributed thereto the property of “State” and the property value on (e.g., a query for all virtual machines that are currently on or running).
0032Dir_byState\on\*.vhd
Note that a .vhd file (virtual hard drive) is one of the files representing a VM. A VM also can be represented by a .vmc file (i.e., a virtual machine configuration file).
0033In another example, the following command line can be entered to query for all virtual machines having the property of “State” with the property value of On, and the property of “Owner” with the property value of Bobfr (e.g., query for all virtual machines that are owned by Bobfr and are currently on). In this example, commands are concatenated to query for virtual machines having multiple property values attributed thereto.
0034Dir_byState\on\_byOwner\Bobfr\*.vhd
0035In another example, the following command line can be entered to query for all virtual machines having the property of “Location” with the property value of Boston (e.g., query for all virtual machines in Boston).
0036Dir_byLocation\Boston\*.vhd
0037In an example embodiment, the order of concatenated commands can be modified. For example, either of the following command lines can be entered to query for all virtual machines having the property of “State” with the property value of On, and the property of “Owner” with the property value of Bobfr (e.g., query for all virtual machines that are owned by Bobfr and are currently on).
0038Dir_byState\on\_byOwner\Bobfr\*.vhd
0039Or
0040Dir_byOwner\Bobfr\_byState\on\*.vhd
0041The structures described above rendered in a textual directory can also be rendered via a GUI comprising folders. <figref idref="DRAWINGS">FIG. 5</figref> is an illustration of an example rendering of a folder representing the property “Location,” a folder representing the property “Owner,” and the virtual machines vm1.vhd and vm2.vhd having a State of On.
0042In an example embodiment, a virtual machine can be navigated. That is, the constituents of a virtual machine can be viewed. The constituents can comprise files that a virtual machine comprises and/or devices that a virtual machine comprises. <figref idref="DRAWINGS">FIG. 6</figref> is a rendering of an example textual hierarchical directory structure showing components of virtual machines. As shown in <figref idref="DRAWINGS">FIG. 6</figref>, components for the virtual machines vm1, vm2, vm3, and vm4, can include files (e.g., vm1.vhd, vm1.vmc), hard disk drives, volumes, devices, registries, or the like, for example. A .vmc file is a virtual machine configuration file, which can represent a virtual machine. In an example embodiment, there is a single .vmc file per VM. In an example embodiment, these structures are renderable via a GUI as depicted in <figref idref="DRAWINGS">FIG. 7</figref>. Selection of an icon/folder results in the ability to navigate that constituent of the virtual machine.
0043<figref idref="DRAWINGS">FIG. 8</figref> is an illustration of a GUI rendering, from a host server perspective, of example files comprising a virtual machine in a directory structure. In an example, double clicking the local disk (C:) icon/folder depicted in <figref idref="DRAWINGS">FIG. 7</figref>, or the like, and selecting the \by Files node resulting therefrom, results in viewing all the .vhd files that represent the disk as depicted in <figref idref="DRAWINGS">FIG. 8</figref>.
0044As described above, the registry of a virtual machine is another constituent that can be navigated. In various example embodiments, the registry can be rendered via a textual hierarchical directory structure and/or a GUI comprising folders/subfolders. <figref idref="DRAWINGS">FIG. 9</figref> is a depiction of a rendering of an example textual hierarchical directory structure of a registry or virtual machine vm1. <figref idref="DRAWINGS">FIG. 10</figref> is a depiction of a GUT rendering of a registry for a virtual machine.
0045Similarly, devices of a virtual machine can be rendered via a textual hierarchical directory structure and/or a GUT comprising folders/subfolders as depicted in <figref idref="DRAWINGS">FIG. 11</figref> and <figref idref="DRAWINGS">FIG. 12</figref>, respectively.
0046<figref idref="DRAWINGS">FIG. 13</figref> is a flow diagram of an example process for managing a virtual machine by property. Indications of properties are rendered at step <b>24</b>. As described above, indications of properties can be rendered via a GUT utilizing a hierarchical structure of folders/subfolders, and/or via a textual hierarchical directory structure. Indications of property values associated with a respective property are rendered at step <b>26</b>. As described above, indications of property values can be rendered via a GUT utilizing a hierarchical structure of folders/subfolders, and/or via a textual hierarchical directory structure. A property value is selected at step <b>28</b>. At step <b>30</b>, it is determined if a virtual machine (VM) or a host is to be rendered. If it is determined (at step <b>30</b>) that a property value attributable to a virtual machine is to be rendered, an indication of the virtual machine, or virtual machines, having the selected property value attributed thereto is rendered at step <b>36</b>. As described above, the indication of the virtual machine(s) having the selected property value attributed thereto can be rendered via a GUT utilizing a hierarchical structure of folders/subfolders, and/or via a textual hierarchical directory structure (e.g., via a command-line interpreter). At step <b>38</b>, a virtual machine is selected. An indication of the constituents of the selected virtual machine is rendered at step <b>40</b>.
0047If it is determined (at step <b>30</b>) a property value attributable to a host is to be rendered, an indication of the host, or hosts, having the selected property value attributed thereto is rendered at step <b>32</b>. As described above, the indication of the host(s) having the selected property value attributed thereto can be rendered via a GUT utilizing a hierarchical structure of folders/subfolders, and/or via a textual hierarchical directory structure (e.g., via a command-line interpreter). At step <b>34</b>, a host is selected. An indication of the constituents of the selected host is rendered at step <b>40</b>. As described above, rendering the indication of the constituents of the selected virtual machine provides the ability to see “inside” the virtual machine. As described above, the indication of the constituents can be rendered via a GUI utilizing a hierarchical structure of folders/subfolders, and/or constituents can be rendered via a textual hierarchical directory structure.
0048Various embodiments of managing a virtual machine by property are executable on a computing device. <figref idref="DRAWINGS">FIG. 14</figref> and the following discussion provide a brief general description of a suitable computing environment in which such a computing device can be implemented. Although not required, various aspects of managing a virtual machine by property can be described in the general context of computer executable instructions, such as program modules, being executed by a computer, such as a client workstation or a server. Generally, program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. Moreover, managing virtual machines and hosts by property can be practiced with other computer system configurations, including hand held devices, multi processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Further, managing a virtual machine by property also can be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
0049A computer system can be roughly divided into three component groups: the hardware component, the hardware/software interface system component, and the applications programs component (also referred to as the “user component” or “software component”). In various embodiments of a computer system the hardware component may comprise the central processing unit (CPU) <b>621</b>, the memory (both ROM <b>664</b> and RAM <b>625</b>), the basic input/output system (BIOS) <b>666</b>, and various input/output (I/O) devices such as a keyboard <b>640</b>, a mouse <b>642</b>, a monitor <b>647</b>, and/or a printer (not shown), among other things. The hardware component comprises the basic physical infrastructure for the computer system.
0050The applications programs component comprises various software programs including but not limited to compilers, database systems, word processors, business programs, videogames, and so forth. Application programs provide the means by which computer resources are utilized to solve problems, provide solutions, and process data for various users (machines, other computer systems, and/or end-users). In an example embodiment, application programs perform the functions associated with managing a virtual machine by property as described above, such as rendering properties, rendering property values, selecting property values, determining virtual machines and/or hosts having the selected property value(s) attributed thereto, rendering an indication of the virtual machines and/or hosts having the selected property value(s) attributed thereto, selecting a virtual machine, and rendering constituents of the selected virtual machine.
0051The hardware/software interface system component comprises (and, in some embodiments, may solely consist of) an operating system that itself comprises, in most cases, a shell and a kernel. An “operating system” (OS) is a special program that acts as an intermediary between application programs and computer hardware. The hardware/software interface system component may also comprise a virtual machine manager (VMM), a Common Language Runtime (CLR) or its functional equivalent, a Java Virtual Machine (JVM) or its functional equivalent, or other such software components in the place of or in addition to the operating system in a computer system. A purpose of a hardware/software interface system is to provide an environment in which a user can execute application programs.
0052The hardware/software interface system is generally loaded into a computer system at startup and thereafter manages all of the application programs in the computer system. The application programs interact with the hardware/software interface system by requesting services via an application program interface (API). Some application programs enable end-users to interact with the hardware/software interface system via a user interface such as a command language or a graphical user interface (GUI).
0053A hardware/software interface system traditionally performs a variety of services for applications. In a multitasking hardware/software interface system where multiple programs may be running at the same time, the hardware/software interface system determines which applications should run in what order and how much time should be allowed for each application before switching to another application for a turn. The hardware/software interface system also manages the sharing of internal memory among multiple applications, and handles input and output to and from attached hardware devices such as hard disks, printers, and dial-up ports. The hardware/software interface system also sends messages to each application (and, in certain case, to the end-user) regarding the status of operations and any errors that may have occurred. The hardware/software interface system can also offload the management of batch jobs (e.g., printing) so that the initiating application is freed from this work and can resume other processing and/or operations. On computers that can provide parallel processing, a hardware/software interface system also manages dividing a program so that it runs on more than one processor at a time.
0054A hardware/software interface system shell (referred to as a “shell”) is an interactive end-user interface to a hardware/software interface system. (A shell may also be referred to as a “command interpreter” or, in an operating system, as an “operating system shell”). A shell is the outer layer of a hardware/software interface system that is directly accessible by application programs and/or end-users. In contrast to a shell, a kernel is a hardware/software interface system's innermost layer that interacts directly with the hardware components.
0055As shown in <figref idref="DRAWINGS">FIG. 14</figref>, an exemplary general purpose computing system includes a conventional computing device <b>660</b> or the like, including a processing unit <b>621</b>, a system memory <b>662</b>, and a system bus <b>623</b> that couples various system components including the system memory to the processing unit <b>621</b>. The system bus <b>623</b> may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) <b>664</b> and random access memory (RAM) <b>625</b>. A basic input/output system <b>666</b> (BIOS), containing basic routines that help to transfer information between elements within the computing device <b>660</b>, such as during start up, is stored in ROM <b>664</b>. The computing device <b>660</b> may further include a hard disk drive <b>627</b> for reading from and writing to a hard disk (hard disk not shown), a magnetic disk drive <b>628</b> (e.g., floppy drive) for reading from or writing to a removable magnetic disk <b>629</b> (e.g., floppy disk, removal storage), and an optical disk drive <b>630</b> for reading from or writing to a removable optical disk <b>631</b> such as a CD ROM or other optical media. The hard disk drive <b>627</b>, magnetic disk drive <b>628</b>, and optical disk drive <b>630</b> are connected to the system bus <b>623</b> by a hard disk drive interface <b>632</b>, a magnetic disk drive interface <b>633</b>, and an optical drive interface <b>634</b>, respectively. The drives and their associated computer readable media provide non volatile storage of computer readable instructions, data structures, program modules and other data for the computing device <b>660</b>. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk <b>629</b>, and a removable optical disk <b>631</b>, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like may also be used in the exemplary operating environment. Likewise, the exemplary environment may also include many types of monitoring devices such as heat sensors and security or fire alarm systems, and other sources of information.
0056A number of program modules can be stored on the hard disk, magnetic disk <b>629</b>, optical disk <b>631</b>, ROM <b>664</b>, or RAM <b>625</b>, including an operating system <b>635</b>, one or more application programs <b>636</b>, other program modules <b>637</b>, and program data <b>638</b>. A user may enter commands and information into the computing device <b>660</b> through input devices such as a keyboard <b>640</b> and pointing device <b>642</b> (e.g., mouse). Other input devices (not shown) may include a microphone, joystick, game pad, satellite disk, scanner, or the like. These and other input devices are often connected to the processing unit <b>621</b> through a serial port interface <b>646</b> that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor <b>647</b> or other type of display device is also connected to the system bus <b>623</b> via an interface, such as a video adapter <b>648</b>. In addition to the monitor <b>647</b>, computing devices typically include other peripheral output devices (not shown), such as speakers and printers. The exemplary environment of <figref idref="DRAWINGS">FIG. 14</figref> also includes a host adapter <b>655</b>, Small Computer System Interface (SCSI) bus <b>656</b>, and an external storage device <b>662</b> connected to the SCSI bus <b>656</b>.
0057The computing device <b>660</b> may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer <b>649</b>. The remote computer <b>649</b> may be another computing device (e.g., personal computer), a server, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computing device <b>660</b>, although only a memory storage device <b>650</b> (floppy drive) has been illustrated in <figref idref="DRAWINGS">FIG. 14</figref>. The logical connections depicted in <figref idref="DRAWINGS">FIG. 14</figref> include a local area network (LAN) <b>651</b> and a wide area network (WAN) <b>652</b>. Such networking environments are commonplace in offices, enterprise wide computer networks, intranets and the Internet.
0058When used in a LAN networking environment, the computing device <b>660</b> is connected to the LAN <b>651</b> through a network interface or adapter <b>653</b>. When used in a WAN networking environment, the computing device <b>660</b> can include a modem <b>654</b> or other means for establishing communications over the wide area network <b>652</b>, such as the Internet. The modem <b>654</b>, which may be internal or external, is connected to the system bus <b>623</b> via the serial port interface <b>646</b>. In a networked environment, program modules depicted relative to the computing device <b>660</b>, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
0059While it is envisioned that numerous embodiments of managing virtual machines and hosts by property are particularly well-suited for computerized systems, nothing in this document is intended to limit the invention to such embodiments. On the contrary, as used herein the term “computer system” is intended to encompass any and all devices capable of storing and processing information and/or capable of using the stored information to control the behavior or execution of the device itself, regardless of whether such devices are electronic, mechanical, logical, or virtual in nature.
0060The various techniques described herein can be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatuses for managing virtual machines and hosts by property, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for managing virtual machines and hosts by property.
0061The program(s) can be implemented in assembly or machine language, if desired. In any case, the language can be a compiled or interpreted language, and combined with hardware implementations. The methods and apparatuses for managing virtual machines and hosts by property also can be practiced via communications embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, or the like, the machine becomes an apparatus for managing virtual machines and hosts by property. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to invoke the functionality of managing virtual machines and hosts by property. Additionally, any storage techniques used in connection with managing virtual machines and hosts by property can invariably be a combination of hardware and software.
0062Managing virtual machines and hosts by property as described herein provides dynamic and static organization of virtual machines into folders and subfolders based on specific properties of the virtual machines and/or hosts. Also provided is an association of a graphical representation, such as an icon, to a search folder and subfolders that may be either common or distinct from other search folders and sub-folders. The search folder concept can be used to browse virtual machines and hosts by property. Users have the ability to generate and save new search folders based on current views or provided search criteria. Users also have the ability to define which properties, including any custom property extensions to the objects, should be shown as “By Property” nodes. A hierarchy of “By Property” folders can be generated specifying the order of the properties (e.g., by owner, by state, by location). Virtual infrastructure objects can be dynamically organized into folders based on specific properties of the virtual infrastructure objects. The search folder concept can be used to create “By Property” browsing of virtual infrastructure object in a library. Tasks can by dynamically organized into folders based on specific properties of the virtual infrastructure objects. Search folder can be used to create “By Property” browsing tasks.
0063While managing virtual machines and hosts by property has been described in connection with the example embodiments of the various figures, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiments for performing the same functions for managing virtual machines and hosts by property without deviating therefrom. Therefore, managing virtual machines and hosts by property as described herein should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.
Contents5
15 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15
Every citation, both waysCites: the store holds 108 of 109
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8832784B2 | Cited by | United States of America | Applicant |
| US8065714B2 | Cited by | United States of America | Applicant |
| US9317947B2 | Cited by | United States of America | Applicant |
| US9729493B1 | Cited by | United States of America | Applicant |
| US10404645B2 | Cited by | United States of America | Search report |
| US10528628B2 | Cited by | United States of America | Applicant |
| US9697085B2 | Cited by | United States of America | Applicant |
| US9929998B1 | Cited by | United States of America | Applicant |
| US2010071035A1 | Cited by | United States of America | Pre-grant |
| US9959131B2 | Cited by | United States of America | Search report |
| US2010122248A1 | Cited by | United States of America | Pre-grant |
| US2011314470A1 | Cited by | United States of America | Pre-grant |
| US2013300747A1 | Cited by | United States of America | Pre-grant |
| US2012110514A1 | Cited by | United States of America | Pre-grant |
| US2011055714A1 | Cited by | United States of America | Pre-grant |
| US8166552B2 | Cited by | United States of America | Applicant |
| US10567238B1 | Cited by | United States of America | Search report |
| US9329947B2 | Cited by | United States of America | Search report |
| WO2010077388A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9886323B2 | Cited by | United States of America | Search report |
| US9734349B1 | Cited by | United States of America | Applicant |
| US2011035802A1 | Cited by | United States of America | Pre-grant |
| US9887951B2 | Cited by | United States of America | Applicant |
| US2012311475A1 | Cited by | United States of America | Pre-grant |
| US9645808B1 | Cited by | United States of America | Search report |
| US9495270B2 | Cited by | United States of America | Search report |
| US8181174B2 | Cited by | United States of America | Search report |
| US2011029972A1 | Cited by | United States of America | Pre-grant |
| US9923859B1 | Cited by | United States of America | Search report |
| US9292557B2 | Cited by | United States of America | Search report |
| US9448852B2 | Cited by | United States of America | Search report |
| US9772916B2 | Cited by | United States of America | Search report |
| US9286704B2 | Cited by | United States of America | Applicant |
| US9736254B1 | Cited by | United States of America | Applicant |
| US9111241B2 | Cited by | United States of America | Applicant |
| US8539589B2 | Cited by | United States of America | Applicant |
| US8336079B2 | Cited by | United States of America | Search report |
| US8566821B2 | Cited by | United States of America | Search report |
| US9170831B2 | Cited by | United States of America | Applicant |
| DE102014220777A1 | Cited by | Germany | Applicant |
| US2010223309A1 | Cited by | United States of America | Pre-grant |
| US2010169948A1 | Cited by | United States of America | Pre-grant |
| US2010070319A1 | Cited by | United States of America | Pre-grant |
| US2015077812A1 | Cited by | United States of America | Pre-grant |
| US9706075B2 | Cited by | United States of America | Search report |
| US2015363282A1 | Cited by | United States of America | Pre-grant |
| US10397173B2 | Cited by | United States of America | Search report |
| US2009172662A1 | Cited by | United States of America | Pre-grant |
| US9189758B2 | Cited by | United States of America | Applicant |
| US2002057269A1 | Cites | United States of America | Pre-grant |
| US2002075312A1 | Cites | United States of America | Pre-grant |
| US2003001892A1 | Cites | United States of America | Pre-grant |
| US2003037134A1 | Cites | United States of America | Pre-grant |
| US2003043075A1 | Cites | United States of America | Pre-grant |
| US2003132883A1 | Cites | United States of America | Pre-grant |
| US2003200347A1 | Cites | United States of America | Pre-grant |
| US2004003013A1 | Cites | United States of America | Pre-grant |
| US2004006614A1 | Cites | United States of America | Pre-grant |
| US2004010788A1 | Cites | United States of America | Pre-grant |
| US2004193672A1 | Cites | United States of America | Pre-grant |
| US2004215649A1 | Cites | United States of America | Pre-grant |
| US2004215764A1 | Cites | United States of America | Pre-grant |
| US2004267694A1 | Cites | United States of America | Pre-grant |
| US2005021660A1 | Cites | United States of America | Pre-grant |
| US2005066293A1 | Cites | United States of America | Pre-grant |
| US2005120160A1 | Cites | United States of America | Pre-grant |
| US2005132367A1 | Cites | United States of America | Pre-grant |
| US2005160413A1 | Cites | United States of America | Pre-grant |
| US2005160424A1 | Cites | United States of America | Pre-grant |
| US2005182831A1 | Cites | United States of America | Pre-grant |
| US2005198303A1 | Cites | United States of America | Pre-grant |
| US2005210118A1 | Cites | United States of America | Pre-grant |
| US2005216860A1 | Cites | United States of America | Pre-grant |
| US2005246352A1 | Cites | United States of America | Pre-grant |
| US2005246704A1 | Cites | United States of America | Pre-grant |
| US2005281272A1 | Cites | United States of America | Pre-grant |
| US2006026509A1 | Cites | United States of America | Pre-grant |
| US2006074618A1 | Cites | United States of America | Pre-grant |
| US2006106782A1 | Cites | United States of America | Pre-grant |
| US2006136912A1 | Cites | United States of America | Pre-grant |
| US2006155667A1 | Cites | United States of America | Pre-grant |
| US2006174087A1 | Cites | United States of America | Pre-grant |
| US2006265711A1 | Cites | United States of America | Pre-grant |
| US2007011667A1 | Cites | United States of America | Pre-grant |
| US2007067366A1 | Cites | United States of America | Pre-grant |
| US2007079308A1 | Cites | United States of America | Pre-grant |
| US2007089111A1 | Cites | United States of America | Pre-grant |
| US2007094367A1 | Cites | United States of America | Pre-grant |
| US2007204266A1 | Cites | United States of America | Pre-grant |
| US2007266136A1 | Cites | United States of America | Pre-grant |
| US2009007105A1 | Cites | United States of America | Pre-grant |
| US5261044A | Cites | United States of America | Pre-grant |
| US5491795A | Cites | United States of America | Pre-grant |
| US5564040A | Cites | United States of America | Pre-grant |
| US5572694A | Cites | United States of America | Pre-grant |
| US5701137A | Cites | United States of America | Pre-grant |
| US5751965A | Cites | United States of America | Pre-grant |
| US5801702A | Cites | United States of America | Pre-grant |
| US5910803A | Cites | United States of America | Pre-grant |
| US5958012A | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 58615506 | United States of America | A | |
| US20060586155 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2008098309A1 | United States of America | A1 |
90 transactions on the USPTO file
Abandoned after 5 non-final rejections, 3 final rejections and 3 RCEs.
- Non-final rejections
- 5
- Final rejections
- 3
- RCEs
- 3
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Supplemental ResponseSA.. | SA.. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080098309
- Publication, DOCDB
- 2008098309
- Publication, EPODOC
- US2008098309
- Application
- 11586155
- Application, DOCDB
- 58615506
- Application, EPODOC
- US20060586155
Titles
- English
- Managing virtual machines and hosts by property
Classification
- CPC, 1
- G06F9/451
- IPC, 1
- G06F9 455
- USPC, 2
- 715734000
- 718001000