IP Library Granted Patent US 8,601,471
Granted Patent B2
US 8,601,471 · App. 12/125,457 · Granted Dec 3, 2013

Dynamically managing virtual machines

Inventors: Kirk A. Beaty (Golden Bridge, NY); Norman Bobroff (Katonah, NY); Gautam Kar (Yorktown Heights, NY); Gunjan Khanna (West Lafayette, IN); Andrzej Kochut (White Plains, NY)
Assignee: International Business Machines Corporation
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,601,471
App. No.
12/125,457
Granted
Dec 3, 2013
Kind
B2
Abstract

Techniques for dynamic management of virtual machine environments are disclosed. For example, a technique for automatically managing a first set of virtual machines being hosted by a second set of physical machines comprises the following steps/operations. An alert is obtained that a service level agreement (SLA) pertaining to at least one application being hosted by at least one of the virtual machines in the first set of virtual machines is being violated. Upon obtaining the SLA violation alert, the technique obtains at least one performance measurement for at least a portion of the machines in at least one of the first set of virtual machines and the second set of physical machines, and a cost of migration for at least a portion of the virtual machines in the first set of virtual machines. Based on the obtained performance measurements and the obtained migration costs, an optimal migration policy is determined for moving the virtual machine hosting the at least one application to another physical machine.

Claims (37)

1. A method of automatically managing a first set of virtual machines being hosted by a second set of physical machines, comprising the steps of:

obtaining an alert that a service level agreement (SLA) pertaining to at least one application being hosted by at least one of the virtual machines in the first set of virtual machines is being violated;

upon obtaining the SLA violation alert, performing a virtual machine reallocation process to reallocate at least one virtual machine hosting said application from one physical machine to another physical machine to restore the violated SLA, wherein performing a virtual machine reallocation process comprises:

obtaining at least one performance measurement for at least a portion of the virtual machines in the first set of virtual machines and for at least a portion of the physical machines in the second set of physical machines;

obtaining a cost of migration for at least a each virtual machine in said portion of the virtual machines based on the at least one performance measurement obtained for each of said virtual machines, wherein the cost of migration is a cost associated with reallocating a virtual machine from one physical machine to another physical machine;

selecting one of said virtual machines, which has a least migration cost associated therewith, to be reallocated from one physical machine to another physical machine;

using the performance measurement obtained for each of said physical machines to determine which of said physical machines has a lowest available resource residue of a resource associated with the given performance measurement, but sufficient to accommodate the virtual machine selected for reallocation; and

generating an instruction to move the selected virtual machine to a physical machine that is determined to have the lowest available resource residue,

wherein one or more of the obtaining, selecting, using and generating steps are performed at least in part by a processor device operatively coupled to a memory device.

2. The method of claim 1 , wherein performing a virtual machine reallocation process further comprises the step of recalculating resource residues for the second set of physical machines.

3. The method of claim 2 , wherein performing a virtual machine reallocation process further comprises the step of sorting the first set of virtual machines according to migration costs.

4. The method of claim 1 , wherein when the second set of physical machines does not include a physical machine that can accommodate the virtual machine selected for reallocation, mapping the selected virtual machine to a physical machine that is not in the second set of physical machines.

5. The method of claim 1 , wherein at least a portion of the steps of performing a virtual machine reallocation process are iteratively performed until the SLA violation is remedied.

6. An apparatus for automatically managing a first set of virtual machines being hosted by a second set of physical machines, comprising:

a memory; and

at least one processor coupled to the memory and operative to:

obtain an alert that a service level agreement (SLA) pertaining to at least one application being hosted by at least one of the virtual machines in the first set of virtual machines is being violated; and

upon obtaining the SLA violation alert, performing a virtual machine reallocation process to reallocate at least one virtual machine hosting said application from one physical machine to another physical machine to restore the violated SLA, wherein performing a virtual machine reallocation process comprises:

obtaining at least one performance measurement for at least a portion of the virtual machines in the first set of virtual machines and for at least a portion of the physical machines in the second set of physical machines;

obtaining a cost of migration for each virtual machine in said portion of the virtual machines based on the at least one performance measurement obtained for each of said virtual machines, wherein the cost of migration is a cost associated with reallocating a virtual machine from one physical machine to another physical machine;

selecting one of said virtual machines, which has a least migration cost associated therewith, to be reallocated from one physical machine to another physical machine; and

using the performance measurement obtained for each of said physical machines to determine which of said physical machines has a lowest available resource residue of a resource associated with the given performance measurement, but sufficient to accommodate the virtual machine selected for reallocation; and

generating an instruction to move the selected virtual machine to a physical machine that is determined to have the lowest available resource residue.

7. The apparatus of claim 6 , wherein performing a virtual machine reallocation process further comprises recalculating resource residues for the second set of physical machines.

8. The apparatus of claim 7 , wherein performing a virtual machine reallocation process further comprises sorting the first set of virtual machines according to migration costs.

9. The apparatus of claim 6 , wherein when the second set of physical machines does not include a physical machine that can accommodate the virtual machine selected for reallocation, mapping the selected virtual machine to a physical machine that is not in the second set of physical machines.

10. The apparatus of claim 6 , wherein at least a portion of the virtual machine reallocation process is iteratively performed until the SLA violation is remedied.

11. An article of manufacture for automatically managing a first set of virtual machines being hosted by a second set of physical machines, comprising a non-transitory machine readable storage medium containing one or more programs which when executed implement the steps of:

upon obtaining the SLA violation alert, performing a virtual machine reallocation process to reallocate at least one virtual machine hosting said application from one physical machine to another physical machine to restore the violated SLA, wherein performing a virtual machine reallocation process comprises:

obtaining at least one performance measurement for at least a portion of the virtual machines in the first set of virtual machines and for at least a portion of the physical machines in the second set of physical machines;

obtaining a cost of migration for each virtual machine in said portion of the virtual machines based on the at least one performance measurement obtained for each of said virtual machines, wherein the cost of migration is a cost associated with reallocating a virtual machine from one physical machine to another physical machine;

selecting one of said virtual machines, which has a least migration cost associated therewith, to be reallocated from one physical machine to another physical machine; and

using the performance measurement obtained for each of said physical machines to determine which of said physical machines has a lowest available resource residue of a resource associated with the given performance measurement, but sufficient to accommodate the virtual machine selected for reallocation; and

generating an instruction to move the selected virtual machine to a physical machine that is determined to have the lowest available resource residue.

12. The method of claim 1 , wherein the cost of migration of a given virtual machine is based on a product of a vector representing the at least one performance measurement and a weight coefficient vector specifying an importance of each performance measurement to an overall cost.

13. The apparatus of claim 6 , wherein the cost of migration of a given virtual machine is based on a product of a vector representing the at least one performance measurement and a weight coefficient vector specifying an importance of each performance measurement to an overall cost.

14. The article of manufacture of claim 11 , wherein the cost of migration of a given virtual machine is based on a product of a vector representing the at least one performance measurement and a weight coefficient vector specifying an importance of each performance measurement to an overall cost.

Assignments (1)
CONVEYOR IS ASSIGNING ALL INTEREST Recorded Jan 10, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.
Reel/Frame 045040/0710 →
Continuity (2)
Continuation 11364449 · Feb 28, 2006
Related Publication 20080222638A1 · Sep 11, 2008