IP Library Granted Patent US 8,458,717
Granted Patent B1
US 8,458,717 · App. 12/421,599 · Granted Jun 4, 2013

System and method for automated criteria based deployment of virtual machines across a grid of hosting resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,458,717
App. No.
12/421,599
Granted
Jun 4, 2013
Kind
B1
Abstract

Some embodiments provide a method. The method interfaces with several nodes of a hosting system to collect statistics that includes available resources of each node for hosting virtual machines. The method identifies a set of nodes with sufficient available resources to host a configuration for a virtual machine based on the collected statistics. The method determines an optimal node from the set of nodes that hosts the configuration with a particular set of performance parameters that yields improved performance than when hosting the configuration using any of the other nodes in the set of nodes. The method deploys the configuration for the virtual machine to the optimal node.

Claims (30)

1. A method comprising:

interfacing with a plurality of nodes of a hosting system to collect statistics comprising available resources of each node for hosting virtual machines, wherein each node comprises one of a plurality of different hypervisors that provide different levels of performance for different virtual machine configurations;

identifying a set of nodes with sufficient available resources to host a particular user-specified configuration for a virtual machine based on the collected statistics;

determining an optimal node from the set of nodes by analyzing, for each particular node in the set of nodes, behavioral characteristics of the particular configuration and performance characteristics of the hypervisor operating on the particular node for the particular configuration, such that the optimal node that hosts the particular configuration yields improved performance than when hosting the particular configuration using any of the other nodes in the set of nodes; and

deploying the particular configuration for the virtual machine to the optimal node.

2. The method of claim 1 , wherein said resources comprise at least one of processing resources, memory, disk space, and network input/output bandwidth of the plurality of nodes and said statistics comprise usage statistics for at least one of processing resources, memory, disk space, and network input/output bandwidth of the plurality of nodes.

3. The method of claim 1 , wherein the hypervisor of the optimal node provides a particular level of performance that is greater than levels of performance provided by other hypervisors in the set of nodes operating with said configuration.

4. The method of claim 1 , wherein the plurality of different hypervisors comprises a type 1 hypervisor that accesses hardware resources of a node through a host operating system and a type 2 hypervisor that directly accesses hardware resources of a node without a host operating system intermediary.

5. The method of claim 1 , wherein the plurality of different hypervisors comprises hypervisors from a plurality of vendors.

6. The method of claim 1 , wherein determining the optimal node further comprises selecting a node with an amount of available resources that most closely match resources required to host the particular configuration.

7. The method of claim 1 , wherein said statistics identify the hypervisor operating at each node of the plurality of nodes.

8. A method comprising:

providing a plurality of nodes with resources for hosting a plurality of virtual machines, wherein each of the plurality of resource nodes comprises one of a plurality of hypervisors for provisioning sets of resources of the node amongst the plurality of virtual machines; and

providing a hypervisor management module for interfacing with the hypervisors on the plurality of resource nodes to optimally deploy the plurality of virtual machines across the plurality of resource nodes.

9. The method of claim 8 , wherein the hypervisor management module for interfacing with the hypervisors is for retrieving statistics of resources from the nodes for facilitating deployment decisions of the virtual machines.

10. The method of claim 8 , wherein the different hypervisors specify different messaging interfaces by which to communicate with each of the different hypervisors.

11. The method of claim 8 , wherein optimally deploying the plurality of virtual machines comprises determining a node from a set of nodes which executes the configuration to provide a particular level of performance, wherein the particular level of performance is greater than the level of performance provided when executing the configuration on other nodes in the set of nodes.

12. The method of claim 8 , wherein optimally deploying the plurality of virtual machines comprises determining a node from a set of nodes with a particular amount of available resources that most closely match an amount of resources required to host the configuration, wherein other nodes in the set of nodes comprise available resources that exceed the particular amount of available resources.

13. A computer readable hardware 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, for each particular node in the hosting system, a set of statistics for the particular node, wherein a first set of statistics is collected from a utility management module operating as a virtual machine on the particular node and a second set of statistics is collected from a hypervisor on the particular node;

a set of instructions for normalizing the collected statistics from the hypervisors and utility management modules to produce uniformly formatted statistics;

a set of instructions for identifying a set of nodes with sufficient available resources to host a particular user-specified configuration for a virtual machine based on the normalized collected statistics;

a set of instructions for determining an optimal node from the set of nodes that hosts the particular configuration with a particular set of performance parameters that yields improved performance than when hosting the particular configuration using any of the other nodes in the set of nodes; and

a set of instructions for deploying the particular configuration for the virtual machine to the optimal node.

14. The computer readable hardware medium of claim 13 , wherein said resources comprise at least one of processing resources, memory, disk space, and network input/output bandwidth of the plurality of nodes and said statistics comprise usage statistics for at least one of processing resources, memory, disk space, and network input/output bandwidth of the plurality of nodes.

15. The computer readable hardware medium of claim 13 , wherein each node comprises one of a plurality of different hypervisors, each hypervisor for facilitating access between the configuration of the virtual machine and resources of a node with different levels of performance, wherein the set of instructions for determining the optimal node comprises a set of instructions for selecting a node from the set of nodes with a hypervisor that provides a particular level of performance when operating with said particular configuration, wherein the particular level of performance is greater than levels of performance provided by other hypervisors in the set of nodes operating with said particular configuration.

16. The computer readable hardware medium of claim 15 , wherein the plurality of different hypervisors comprises a type 1 hypervisor that accesses hardware resources of a node through a host operating system and a type 2 hypervisor that directly accesses hardware resources of a node without a host operating system intermediary.

17. The computer readable hardware medium of claim 15 , wherein the plurality of different hypervisors comprises hypervisors from a plurality of vendors.

18. The computer readable hardware medium of claim 13 , wherein the set of instructions for determining the optimal node comprises a set of instructions for selecting a node with an amount of available resources that most closely match resources required to host the particular configuration.

19. The computer readable hardware medium of claim 13 , wherein said statistics identify the hypervisor operating at each node of the plurality of nodes.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Aug 30, 2019
From: CITIBANK, N.A.
To: GOGRID, LLC; DATAPIPE, INC.
Reel/Frame 050224/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2019
From: GOGRID, LLC
To: OPEN INVENTION NETWORK LLC
Reel/Frame 047895/0811 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: GOGRID, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044895/0784 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0497 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0514 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT REEL 030602/FRAME 0657 Recorded Jan 22, 2015
From: PARTNERS FOR GROWTH III, L.P.
To: GOGRID, LLC
Reel/Frame 034793/0396 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT REEL 032970/FRAME 0944 Recorded Jan 22, 2015
From: GOGRID INVESTORS LLC
To: GOGRID, LLC
Reel/Frame 034793/0438 →
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0448 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0483 →
SECURITY INTEREST Recorded May 20, 2014
From: GOGRID, LLC
To: GOGRID INVESTORS LLC
Reel/Frame 032970/0909 →
SECURITY AGREEMENT Recorded Jun 13, 2013
From: GOGRID, LLC
To: PARTNERS FOR GROWTH III, L.P.
Reel/Frame 030602/0657 →
CHANGE OF NAME Recorded May 17, 2011
From: SERVEPATH, LLC
To: GOGRID, LLC
Reel/Frame 026297/0013 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2009
From: KEAGY, JOHN MARTIN; CARR, JEFFERY; LAPPAS, PAUL
To: SERVEPATH, LLC
Reel/Frame 023334/0617 →