System and method for monitoring a grid of hosting resources in order to facilitate management of the hosting resources
First Claim
1. For a hypervisor management module that interfaces with a plurality of resource nodes of a hosting system, each of the resource nodes comprising resources for hosting a plurality of virtual machines, a method for deploying virtual machines of a plurality of users on the hosting system, the method comprising:
- from a plurality of hypervisors that each operate to virtualize the resources of a resource node, collecting a first set of statistics of the resource nodes on which the hypervisors operate, wherein the plurality of resource nodes of the hosting system comprise at least two different types of hypervisors;
from a plurality of utility management modules that each operate as a virtual machine on a resource node, collecting a second set of statistics of the resource nodes on which the utility management modules operate, wherein each utility management module is a virtual machine operating on the resources of a particular resource node to deploy and configure user-specified virtual machines on the particular resource node, wherein the hypervisor management module collects statistics from both the hypervisor and the utility management module of at least one resource node;
based on the first and second sets of collected statistics, generating a mapping of resource usage and resources available on the plurality of resource nodes;
receiving a modification to a particular configuration of a particular virtual machine hosted by a first node of the plurality of resource nodes, wherein the first node does not have sufficient available resources to host the particular modified virtual machine;
based on the generated mapping, determining a different node from the plurality of resource nodes to host the modified configuration for the virtual machine by (i) identifying a hypervisor operating on the first node and (ii) identifying a second node having sufficient available resources to host the particular modified virtual machine and having the same type of hypervisor as the first node; and
migrating the particular configuration from the first node to the second node of the plurality of resource nodes by installing the modified configuration to the second node.
13 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method. The method interfaces with several nodes of a hosting system. Each node includes resources for hosting several virtual machines. The method collects statistics for facilitating deployment of the virtual machines across the several resource nodes from the resource nodes. The method determines a particular node from the several nodes with sufficient available resources to host a configuration for a virtual machine based on the collected statistics. The method deploys the configuration for the virtual machine to the particular node for hosting on the particular node.
-
Citations
19 Claims
-
1. For a hypervisor management module that interfaces with a plurality of resource nodes of a hosting system, each of the resource nodes comprising resources for hosting a plurality of virtual machines, a method for deploying virtual machines of a plurality of users on the hosting system, the method comprising:
-
from a plurality of hypervisors that each operate to virtualize the resources of a resource node, collecting a first set of statistics of the resource nodes on which the hypervisors operate, wherein the plurality of resource nodes of the hosting system comprise at least two different types of hypervisors; from a plurality of utility management modules that each operate as a virtual machine on a resource node, collecting a second set of statistics of the resource nodes on which the utility management modules operate, wherein each utility management module is a virtual machine operating on the resources of a particular resource node to deploy and configure user-specified virtual machines on the particular resource node, wherein the hypervisor management module collects statistics from both the hypervisor and the utility management module of at least one resource node; based on the first and second sets of collected statistics, generating a mapping of resource usage and resources available on the plurality of resource nodes; receiving a modification to a particular configuration of a particular virtual machine hosted by a first node of the plurality of resource nodes, wherein the first node does not have sufficient available resources to host the particular modified virtual machine; based on the generated mapping, determining a different node from the plurality of resource nodes to host the modified configuration for the virtual machine by (i) identifying a hypervisor operating on the first node and (ii) identifying a second node having sufficient available resources to host the particular modified virtual machine and having the same type of hypervisor as the first node; and migrating the particular configuration from the first node to the second node of the plurality of resource nodes by installing the modified configuration to the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A hosting system for hosting a plurality of virtual machine configurations for a plurality of users, the hosting system comprising:
-
a plurality of nodes, each particular node comprising physical resources for hosting at least one user-specified virtual machine; and a hypervisor management module for managing the deployment of user-specified virtual machines on the plurality of nodes of the hosting system, the hypervisor management module comprising; a statistics collector for (i) collecting, from a plurality of hypervisors that each operate to virtualize the resources of a node, a first set of statistics of the nodes on which the hypervisors operate, wherein the plurality of nodes of the hosting system comprise at least two different types of hypervisors, and (ii) collecting, from a plurality of utility management modules that each operate as a virtual machine on a node, a second set of statistics of the nodes on which the utility management modules operate, wherein each utility management module is a virtual machine operating on the resources of a particular node to deploy and configure user-specified virtual machines on the particular node, wherein the statistics collector collects statistics from both the hypervisor and the utility management module of at least one node; a mapping generator for generating a mapping of resource usage and resources available on the plurality of nodes based on the first and second sets of collected statistics; a deployment scheduler for (i) receiving a modification to a particular configuration of a particular virtual machine hosted by a first node of the plurality of nodes, wherein the first node does not have sufficient available resources to host the particular modified virtual machine, and (ii) determining, based on the generated mapping, a different node from the plurality of nodes to host the modified configuration for the virtual machine by identifying a hypervisor operating on the first node and identifying a second node having sufficient available resources to host the particular modified virtual machine and having the same type of hypervisor as the first node; and a deployment controller for managing the migration of the particular configuration from the first node to the second node of the plurality of nodes by installing the modified configuration to the second node. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing a hypervisor management module that interfaces with a plurality of nodes of a hosting system, the nodes comprising resources for hosting virtual machines of a plurality of different users, the hypervisor management module for execution by at least one processor of the hosting system, the hypervisor management module comprising:
-
a set of instructions for collecting, from a plurality of hypervisors that each operate to virtualize the resources of a node, a first set of statistics of the nodes on which the hypervisors operate, wherein the plurality of nodes of the hosting system comprise at least two different types of hypervisors; a set of instructions for collecting, from a plurality of utility management modules that each operate as a virtual machine on a node, a second set of statistics of the nodes on which the utility management modules operate, wherein each utility management module is a virtual machine operating on the resources of a particular node to deploy and configure user-specified virtual machines on the particular node, wherein the hypervisor management module collects statistics from both the hypervisor and the utility management module of at least one node; a set of instructions for generating, based on the first and second sets of collected statistics, a mapping of resource usage and resources available on the plurality of nodes; a set of instructions for receiving a modification to a particular configuration of a particular virtual machine hosted by the first node of the plurality of nodes, wherein the first node does not have sufficient available resources to host the particular modified virtual machine; a set of instructions for determining, based on the generated mapping, a different node from the plurality of nodes to host the modified configuration for the virtual machine by (i) identifying a hypervisor operating on the first node and (ii) identifying a second node having sufficient available resources to host the particular modified virtual machine and having the same type of hypervisor as the first node; and a set of instructions for migrating the particular configuration from the first node to the second node of the plurality of resource nodes by installing the modified configuration to the second node.
-
-
16. A method for providing a hypervisor management module for deploying configurations of virtual machines on a hosting system comprising a plurality of nodes, each node comprising resources for hosting a plurality of virtual machines and a hypervisor for providing access to the resources for the virtual machines hosted on the node, the method comprising:
-
providing a statistics collector for (i) collecting, from the hypervisors of the plurality of nodes, a first set of statistics of the nodes on which the hypervisors operate, wherein the plurality of nodes of the hosting system comprise at least two different types of hypervisors, and (ii) collecting, from a plurality of utility management modules that each operate as a virtual machine on a node, a second set of statistics of the nodes on which the utility management modules operate, wherein each utility management module is a virtual machine operating on the resources of a particular node to deploy and configure user-specified virtual machines on the particular node, wherein the statistics collector collects statistics from both the hypervisor and the utility management module of at least one node; providing a mapping generator for generating a mapping of resource usage and resources available on the plurality of nodes based on the first and second sets of collected statistics; providing a deployment scheduler for (i) receiving a modification to a particular configuration of a particular virtual machine hosted by a first node of the plurality of nodes, wherein the first node does not have sufficient available resources to host the particular modified virtual machine, and (ii) determining, based on the generated mapping, a different node from the plurality of nodes to host the modified configuration of the virtual machine by identifying a hypervisor operating on the first node and identifying a second node having sufficient available resources to host the particular modified virtual machine and having the same type of hypervisor as the first node; and providing a deployment controller for managing the migration of the particular configuration from the first node to the second node of the plurality of nodes by installing the modified configuration to the second node. - View Dependent Claims (17, 18, 19)
-
Specification