Automated scheduling of virtual machines across hosting servers
First Claim
1. In a system that includes a plurality of physical computers for deploying a plurality of virtual server configurations, a method comprising:
- receiving a particular virtual server configuration that specifies a set of virtual servers;
from the plurality of physical computers, identifying a set of physical computers that each has an amount of available resources sufficient to implement at least one virtual server in the set of virtual servers;
for each physical computer in the identified set of physical computers, determining a score based on (1) a quantity of resources on the physical computer and (2) a ratio of networking intensive components to storage intensive components deployed on the physical computer;
based on the set of scores for the identified set of physical computers, generating, at a particular computer, a map that associates at least one physical computer in a subset of the identified set of physical computers with each virtual server in the set of virtual servers; and
based on the map, deploying the particular virtual server configuration.
14 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method and system for automatedly scheduling virtual machines across several hosting servers of a hosting service provider. Some embodiments perform the automated scheduling by receiving a server configuration that includes constraint data. In some embodiments, the constraint data includes a specified amount of hosting resources needed to implement the server configuration. Based on the constraint data, a scheduling module in the hosting environment determines an optimal distribution of the server configuration across a set of hosting resources that implement the server configuration based on the constraint data. To determine the optimal distribution, some embodiments compute a set of scores for quantifying the specified set of hosting resources required for hosting the server configuration. From the optimal distribution, some embodiments perform a mapping of the server configuration to a particular set of hosting resources of several hosting resources using the computed set of scores.
172 Citations
30 Claims
-
1. In a system that includes a plurality of physical computers for deploying a plurality of virtual server configurations, a method comprising:
-
receiving a particular virtual server configuration that specifies a set of virtual servers; from the plurality of physical computers, identifying a set of physical computers that each has an amount of available resources sufficient to implement at least one virtual server in the set of virtual servers; for each physical computer in the identified set of physical computers, determining a score based on (1) a quantity of resources on the physical computer and (2) a ratio of networking intensive components to storage intensive components deployed on the physical computer; based on the set of scores for the identified set of physical computers, generating, at a particular computer, a map that associates at least one physical computer in a subset of the identified set of physical computers with each virtual server in the set of virtual servers; and based on the map, deploying the particular virtual server configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium storing a program executable by at least one processor, the program comprising sets of instructions for:
-
receiving a particular virtual server configuration that specifies a set of virtual servers; identifying, from a plurality of physical computers, a set of physical computers that each has an amount of available resources sufficient to implement at least one virtual server in the set of virtual servers; determining, for each physical computer in the identified set of physical computers, a score based on (1) a quantity of resources on the physical computer and (2) a ratio of networking intensive components to storage intensive components deployed on the physical computer; generating, based on the set of scores for the identified set of physical computers, a map that associates at least one physical computer in a subset of the identified set of physical computers with each virtual server in the set of virtual servers; and deploying the particular virtual server configuration based on the map. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification