Balancing Server Load According To Availability Of Physical Resources
First Claim
1. A method comprising:
- accessing availability information describing a plurality of virtual machines running on one or more physical machines, the plurality of virtual machines using one or more physical resources, the availability information associating each virtual machine with a corresponding physical resource used by the each virtual machine;
determining use by the plurality of virtual machines from the availability information;
determining availability of the one or more physical resources according to the use by the plurality of virtual machines; and
balancing server load according to the availability of the one or more physical resources.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one embodiment, availability information describing virtual machines running on physical machines is accessed. The availability information associates each virtual machine with a physical resource used by the virtual machine. Use by the virtual machines is determined from the availability information. Availability of the physical resources is determined according to the use. Server load is balanced according to the availability of the physical resources. According to another embodiment, the following is performed until a load is accommodated: selecting a server having a load that is less than an expansion threshold; loading the server until the expansion threshold is reached; selecting a next server having a load that is less than a next expansion threshold; and loading the next server until the next expansion threshold is reached. Load of a low load server is determined to be below a contraction threshold, and the low load server is drained.
-
Citations
22 Claims
-
1. A method comprising:
-
accessing availability information describing a plurality of virtual machines running on one or more physical machines, the plurality of virtual machines using one or more physical resources, the availability information associating each virtual machine with a corresponding physical resource used by the each virtual machine; determining use by the plurality of virtual machines from the availability information; determining availability of the one or more physical resources according to the use by the plurality of virtual machines; and balancing server load according to the availability of the one or more physical resources. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
a memory configured to store computer executable instructions; and one or more processors coupled to the memory, the processors configured, when executing the instructions, to; access availability information describing a plurality of virtual machines running on one or more physical machines, the plurality of virtual machines using one or more physical resources, the availability information associating each virtual machine with a corresponding physical resource used by the each virtual machine; determine use by the plurality of virtual machines from the availability information; determine availability of the one or more physical resources according to the use by the plurality of virtual machines; and balance server load according to the availability of the one or more physical resources. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
performing the following until a load is accommodated; selecting a server from a set of servers, the selected server having a load that is less than an expansion threshold of the server; loading the server until the expansion threshold of the server is reached; selecting a next server from the set of servers, the next selected server having a load that is less than an expansion threshold of the next server; and loading the next server until the expansion threshold of the next server is reached; determining that load of a low load server of the set of servers is below a contraction threshold of the low load server; and draining the low load server. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a memory configured to store computer executable instructions; and one or more processors coupled to the memory, the processors configured, when executing the instructions, to; perform the following until a load is accommodated; select a server from a set of servers, the selected server having a load that is less than an expansion threshold of the server; load the server until the expansion threshold of the server is reached; select a next server from the set of servers, the next selected server having a load that is less than an expansion threshold of the next server; and load the next server until the expansion threshold of the next server is reached; determine that load of a low load server of the set of servers is below a contraction threshold of the low load server; and drain the low load server. - View Dependent Claims (19, 20, 21, 22)
-
Specification