IP Library Granted Patent US 8,140,812
Granted Patent B2
US 8,140,812 · App. 12/496,425 · Granted Mar 20, 2012

Method and apparatus for two-phase storage-aware placement of virtual machines

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,140,812
App. No.
12/496,425
Granted
Mar 20, 2012
Kind
B2
Abstract

Techniques for placement of a virtual machine in a computing system. A first request is sent from a pool management subsystem to a placement subsystem. The first request includes specification of available storage capacities of storage systems in a computer network. The placement subsystem automatically determines a target storage system based, at least in part, on the available storage capacities. An identification of the target storage system is received at the pool management subsystem. At least one disk image of the virtual machine is written to the target storage system. Then, a second request is sent to the placement subsystem. The placement subsystem automatically determines a target computer. The latter determination is based, at least in part, on connectivity between the target computer and the target storage system. The virtual machine is installed at the target computer. The techniques facilitate live migration of virtual machines placed thereby.

Claims (46)

1. A method for placement of a virtual machine in a computing system, the method comprising:

sending, from a pool management subsystem, a first request to a placement subsystem, the first request including specification of available storage capacities of a plurality of storage systems in a computer network;

automatically determining, by the placement subsystem, a target storage system of the plurality of storage systems to place at least one disk image of the virtual machine based, at least in part, on the available storage capacities of the plurality of storage systems in the computer network;

receiving, at the pool management subsystem, an identification of the target storage system from the placement subsystem;

writing the at least one disk image of the virtual machine to the target storage system;

sending, from the pool management subsystem, a second request to the placement subsystem;

automatically determining, by the placement subsystem, a target computer in the computer network to install the virtual machine based, at least in part, on connectivity between the target computer and the target storage system;

receiving, at the pool management subsystem, an identification of the target computer from the placement subsystem; and

installing the virtual machine at the target computer.

2. The method of claim 1 , wherein automatically determining the target storage system is based, at least in part, on connectivity between a plurality of computers in the computer network and the plurality of storage systems.

3. The method of claim 1 , wherein the first request further includes specification of a required storage space of the virtual machine.

4. The method of claim 1 , wherein the virtual machine is an isolated operating system instance executing on the target computer.

5. The method of claim 1 , wherein the virtual machine is an isolated space of an operating system executing on the target computer.

6. The method of claim 1 , further comprising:

selecting a new computer in the computer network for installing the virtual machine; and

performing a live migration of the virtual machine to the new computer in the computer network.

7. A system for placement of a virtual machine in a computing system, the system comprising:

a placement subsystem configured to automatically determine a target storage system of a plurality of storage systems in a computer network to place at least one disk image of the virtual machine based, at least in part, on available storage capacities of the plurality of storage systems in the computer network;

a pool management subsystem configured to send a first request to the placement subsystem, the first request including specification of the available storage capacities of the plurality of storage systems, to receive an identification of the target storage system from the placement subsystem, and to write the at least one disk image of the virtual machine to the target storage system;

the placement subsystem is further configured to automatically determine a target computer in the computer network to install the virtual machine based, at least in part, on connectivity between the target computer and the target storage system; and

the pool management subsystem is further configured to send a second request to the placement subsystem, to receive an identification of the target computer from the placement subsystem and to install the virtual machine at the target computer.

8. The system of claim 7 , wherein automatically determining the target storage system is based, at least in part, on connectivity between a plurality of computers in the computer network and the plurality of storage systems.

9. The system of claim 7 , wherein the first request further includes specification of a required storage space of the virtual machine.

10. The system of claim 8 , wherein the virtual machine is an isolated operating system instance executing on the target computer.

11. The system of claim 8 , wherein the virtual machine is an isolated space of an operating system executing on the target computer.

12. The system of claim 7 , wherein the placement subsystem is further configured to:

select a new computer in the computer network for installing the virtual machine; and

perform a live migration of the virtual machine to the new computer in the computer network.

13. A computer program product embodied in a computer readable storage medium comprising:

computer readable program codes coupled to the computer readable storage medium, the computer readable program codes configured to cause the program to:

send, from a pool management subsystem, a first request to a placement subsystem, the first request including specification of available storage capacities of a plurality of storage systems in a computer network;

automatically determine, by the placement subsystem, a target storage system of the plurality of storage systems to place at least one disk image of the virtual machine based, at least in part, on the available storage capacities of the plurality of storage systems in the computer network;

receive, at the pool management subsystem, an identification of the target storage system from the placement subsystem;

write the at least one disk image of the virtual machine to the target storage system;

further comprising program code configured to:

send, from the pool management subsystem, a second request to the placement subsystem;

automatically determine, by the placement subsystem, a target computer in the computer network to install the virtual machine based, at least in part, on connectivity between the target computer and the target storage system;

receive, at the pool management subsystem, an identification of the target computer from the placement subsystem; and

install the virtual machine at the target computer.

14. The computer program product of claim 13 , wherein automatically determining the target storage system is based, at least in part, on connectivity between a plurality of computers in the computer network and the plurality of storage systems.

15. The computer program product of claim 13 , wherein the first request further includes specification of a required storage space of the virtual machine.

16. The computer program product of claim 15 , wherein the virtual machine is an isolated operating system instance executing on the target computer.

17. The computer program product of claim 15 , wherein the virtual machine is an isolated space of an operating system executing on the target computer.

18. The computer program product of claim 13 , further comprising program code configured to:

select a new computer in the computer network for installing the virtual machine; and

perform a live migration of the virtual machine to the new computer in the computer network.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2025
From: DAEDALUS BLUE LLC
To: MEDIATEK INC.
Reel/Frame 073948/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP, LLC
Reel/Frame 051710/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051032/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2009
From: ARROYO, DIANA J.; CLAY, STEVEN D.; STEINDER, MALGORZATA; WHALLEY, IAN N.; WHITE EAGLE, BRIAN L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022919/0512 →
Continuity (1)
Related Publication 20110004735A1 · Jan 6, 2011