Migrating virtual machines among computer systems to balance load caused by virtual machines
First Claim
1. A computer accessible storage medium encoded with a plurality of instructions that, when executed perform the method of:
- calculating a first load of a first virtual machine on a first computer system, wherein the first load is calculated as a first weighted combination of a plurality of load factors associated with the first virtual machine, wherein a first set of weights are used to calculate the first load on the first computer system, and wherein the first virtual machine is assigned to the first computer system for execution at the time the first load is calculated;
transmitting the plurality of load factors from the first computer system to a second computer system, wherein the second computer system is configured to calculate a second load of the first virtual machine on the second computer system as a second weighted combination of the plurality of load factors, and wherein a second set of weights are used on the second computer system, and wherein at least one of the second set of weights differs numerically from a corresponding one of the first set of weights, and wherein the second load is an expected load of the first virtual machine on the second computer system if the first virtual machine is migrated to the second computer system; and
migrating first virtual machine to the second computer system to be executed on the second computer system responsive to the first load exceeding the second load;
wherein the first virtual machine executes on the second computer system independent of the first computer system during use, even if the first virtual machine was initially launched on the first computer system.
8 Assignments
0 Petitions
Accused Products
Abstract
A cluster comprises a plurality of computer systems, wherein each of the plurality of computer systems is configured to execute one or more virtual machines. Each of the plurality of computer systems comprises hardware and a plurality of instructions. The plurality of instructions, when executed on the hardware, migrates at least a first virtual machine executing on a first computer system of the plurality of computer systems to a second computer system of the plurality of computer systems. The plurality of instructions migrates the first virtual machine responsive to a first load of the first computer system prior to the migration exceeding a second load of the second computer system prior to the migration.
169 Citations
13 Claims
-
1. A computer accessible storage medium encoded with a plurality of instructions that, when executed perform the method of:
-
calculating a first load of a first virtual machine on a first computer system, wherein the first load is calculated as a first weighted combination of a plurality of load factors associated with the first virtual machine, wherein a first set of weights are used to calculate the first load on the first computer system, and wherein the first virtual machine is assigned to the first computer system for execution at the time the first load is calculated; transmitting the plurality of load factors from the first computer system to a second computer system, wherein the second computer system is configured to calculate a second load of the first virtual machine on the second computer system as a second weighted combination of the plurality of load factors, and wherein a second set of weights are used on the second computer system, and wherein at least one of the second set of weights differs numerically from a corresponding one of the first set of weights, and wherein the second load is an expected load of the first virtual machine on the second computer system if the first virtual machine is migrated to the second computer system; and migrating first virtual machine to the second computer system to be executed on the second computer system responsive to the first load exceeding the second load; wherein the first virtual machine executes on the second computer system independent of the first computer system during use, even if the first virtual machine was initially launched on the first computer system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A cluster comprising a plurality of computer systems, wherein each of the plurality of computer systems is configured to execute one or more virtual machines, and wherein a first computer system of the plurality of computer systems is configured to:
-
calculate a first load of a first virtual machine on a first computer system, wherein the first load is calculated as a first weighted combination of a plurality of load factors associated with the first virtual machine, wherein a first set of weights are used to calculate the first load on the first computer system, and wherein the first virtual machine is assigned to the first computer system for execution at the time the first load is calculated; and transmit the plurality of load factors from the first computer system to a second computer system of the plurality of computer systems; wherein the second computer system is configured to calculate a second load of the first virtual machine on the second computer system as a second weighted combination of the plurality of load factors, wherein a second set of weights are used to calculate the second load on the second computer system, and wherein at least one of the second set of weights differs numerically from a corresponding one of the first set of weights, and wherein the second load is an expected load of the first virtual machine on the second computer system if the first virtual machine is migrated to the second computer system; and wherein the first computer system is configured to migrate the first virtual machine to the second computer system to be executed on the second computer system responsive to the first load exceeding the second load; and wherein the first virtual machine executes on the second computer system independent of the first computer system during use, even if the first virtual machine was initially launched on the first computer system. - View Dependent Claims (7, 8, 9)
-
-
10. A computer-implemented method comprising:
-
calculating a first load of a first virtual machine on a first computer system, wherein the first load is calculated as a first weighted combination a plurality of load factors associated with the first virtual machine, wherein a first set of weights are used to calculate the first load on the first computer system, and wherein the first virtual machine is assigned to the first computer system for execution at the time the first load is calculated; transmitting the one or more load factors from the first computer system to a second computer system; calculating a second load of the first virtual machine on the second computer system as a second weighted combination of the plurality of load factors, wherein a second set of weights are used to calculate the second load on the second computer system, and wherein at least one of the second set of weights differs numerically from a corresponding one of the first set of weights, and wherein the second load is an expected load of the first virtual machine on the second computer system if the first virtual machine is migrated to the second computer system; and migrating the first virtual machine to the second computer system to be executed on the second computer system responsive to the first load exceeding the second load; and wherein the first virtual machine executes on the second computer system independent of the first computer system during use, even if the first virtual machine was initially launched on the first computer system. - View Dependent Claims (11, 12, 13)
-
Specification