Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes
First Claim
1. A method of selecting suitable nodes to host virtual machines (VMs) in a grid containing a plurality of machine nodes capable of hosting VMs, said method comprising:
- maintaining information indicating corresponding resources available for hosting VMs in each of said plurality of machine nodes,wherein said information comprises resource availability data for each of said plurality of machine nodes and is maintained on a plurality of management nodes of said grid, said resource availability data for each machine node indicating the resources available in the machine node for hosting VMs,wherein a specific management node of said plurality of management nodes for maintaining the resource availability data of a machine node is selected according to a convention which maps the resource availability data of the machine node to the specific management node whereby a respective portion of said information maintained by each management node comprises resource availability data for corresponding multiple machine nodes external to the management node;
receiving an indication that a first VM requiring a first set of resources is sought to be hosted on a suitable one of said plurality of machine nodes;
mapping, according to said convention, said first set of resources to a first management node of said plurality of management nodes;
identifying, by said first management node, a first machine node having available said first set of resources, wherein said first machine node is contained in said plurality of machine nodes, wherein said identifying comprises examining the corresponding portion of said information maintained in said first management node to identify said first machine node; and
provisioning said first VM on said first machine node as said suitable one of said plurality of machine nodes, after said identifying.
1 Assignment
0 Petitions
Accused Products
Abstract
An aspect of the present invention facilitates selecting suitable nodes to host virtual machines (VMs) in an environment containing a large number of nodes (such as a grid). In one embodiment, information indicating corresponding resources available in each machine node (a node capable of hosting VMs) in the grid is maintained distributed over a set of management nodes contained in the grid. On receiving an indication that a VM requiring a set of resources is sought to be hosted, a machine node having available the set of resources is identified based on the distributed information. The VM is then provisioned/hosted on the identified machine node. The maintenance of the resource availability information distributed across multiple management nodes enables the solution to be scaled for use in environments having a large number of nodes.
-
Citations
27 Claims
-
1. A method of selecting suitable nodes to host virtual machines (VMs) in a grid containing a plurality of machine nodes capable of hosting VMs, said method comprising:
-
maintaining information indicating corresponding resources available for hosting VMs in each of said plurality of machine nodes, wherein said information comprises resource availability data for each of said plurality of machine nodes and is maintained on a plurality of management nodes of said grid, said resource availability data for each machine node indicating the resources available in the machine node for hosting VMs, wherein a specific management node of said plurality of management nodes for maintaining the resource availability data of a machine node is selected according to a convention which maps the resource availability data of the machine node to the specific management node whereby a respective portion of said information maintained by each management node comprises resource availability data for corresponding multiple machine nodes external to the management node; receiving an indication that a first VM requiring a first set of resources is sought to be hosted on a suitable one of said plurality of machine nodes; mapping, according to said convention, said first set of resources to a first management node of said plurality of management nodes; identifying, by said first management node, a first machine node having available said first set of resources, wherein said first machine node is contained in said plurality of machine nodes, wherein said identifying comprises examining the corresponding portion of said information maintained in said first management node to identify said first machine node; and provisioning said first VM on said first machine node as said suitable one of said plurality of machine nodes, after said identifying. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing system comprising:
-
a plurality of machine nodes capable of hosting virtual machines (VMs); a plurality of management nodes operable to; maintain information indicating corresponding resources available for hosting VMs in each of said plurality of machine nodes, wherein said information comprises resource availability data for each of said plurality of machine nodes, said resource availability data for each machine node indicating the resources available in the machine node for hosting VMs, wherein a specific management node for maintaining the resource availability data of a machine node is selected according to a convention which maps the resource availability data of the machine node to the specific management node whereby a respective portion for each management node comprises resource availability data for corresponding multiple machine nodes external to the management node; receive an indication that a first VM requiring a first set of resources is sought to be hosted on a suitable one of said plurality of machine nodes; map, according to said convention, said first set of resources to a first management node of said plurality of management nodes; and identify, by said first management node, a first machine node having available said first set of resources, wherein said first machine node is contained in said set of machine nodes, wherein said identify comprises examining the corresponding portion of said information maintained in said first management node to identify said first machine node; and a scheduler system to send said indication and to provision said first VM on said first machine node as said suitable one of said plurality of machine nodes, after said identify operation. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory machine readable medium storing one or more sequences of instructions for causing a management node to facilitate selection of suitable nodes to host virtual machines (VMs) in a grid containing a plurality, of machine nodes capable of hosting VMs, wherein execution of said one or more sequences of instructions by one or more processors contained in said management node causes said management node to perform the actions of:
-
maintaining only a portion of total information indicating corresponding resources available for hosting VMs in each of said plurality of machine nodes, wherein said total information comprises resource availability data for each of said plurality of machine nodes and is maintained on a plurality of management nodes of said grid, said plurality of management nodes including said management node, said resource availability data for each machine node indicating the resources available in the machine node for hosting VMs, wherein a specific management node of said plurality of management nodes for maintaining the resource availability data of a machine node is selected according to a convention which maps the resource availability data of the machine node to the specific management node whereby a respective portion of said information maintained by each management node comprises resource availability data for corresponding multiple machine nodes external to the management node; receiving a request to indicate a first machine node having available a first set of resources, wherein said request is received in response to mapping, according to said convention, said first set of resources to said management node; examining said portion to determine whether any one of the corresponding machines nodes has available all of said first set of resources; if said examining determines a machine node as having available all of said first set of resources, sending a response indicating that said machine node is said first machine node having available said first set of resources; if said examining determines no machine node as having available all of said first set of resources, forwarding said request to another management node of said plurality of management nodes. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A method of selecting suitable nodes to host virtual machines (VMs) in a grid, said grid containing a plurality of machine nodes capable of hosting VMs, said method comprising:
-
receiving a plurality of advertisements, each advertisement being received from a machine node of said plurality of machine nodes, each advertisement containing resource availability data indicating the resources available in the machine node for hosting VMs; for each resource availability data in said plurality of advertisements, selecting a corresponding management node according to a convention which maps one or more values constituting the resource availability data to one of a plurality of management nodes in said grid; storing each of said plurality of advertisements in a corresponding selected management node such that the resource availability information of said plurality of machine nodes is maintained distributed in said plurality of management nodes; receiving an indication that a first VM requiring a first set of resources is sought to be hosted on a suitable one of said plurality of machine nodes; determining, according to said convention based on said first set of resources, a first management node of said plurality of management nodes as maintaining resource availability data of potential suitable machine nodes for hosting said first VM; examining the corresponding portion of said resource availability information maintained in said first management node to identify a first machine node of said plurality of machine nodes as having available said first set of resources; and provisioning said first VM on said first machine node as said suitable one of said plurality of machine nodes, after said determining and said examining. - View Dependent Claims (27)
-
Specification