IP Library › Granted Patent US 9,594,591
Granted Patent B2
US 9,594,591 · App. 14/497,381 · Granted Mar 14, 2017

Dynamic relocation of applications in a cloud application service model

Inventors: Pankaj S. Bavishi (Pune, IN); Ramani R. Routray (San Jose, CA); Esha Seth (Pradesh, IN); Riyazahamad M. Shiraguppi (Pune, IN)
Assignee: International Business Machines Corporation
G06F9/4856G06F9/45533G06F9/505G06F9/52
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 9,594,591
App. No.
14/497,381
Filed
Sep 26, 2014
Granted
Mar 14, 2017
Kind
B2
Art Unit
2191
USPC
718/1
Abstract

Software that performs the following steps: (i) running a first customer application on a first set of virtual machine(s), with the first customer application including a first plurality of independently migratable elements, including a first independently migratable element and a second independently migratable element; (ii) dynamically checking a status of the first set of virtual machine(s) to determine whether a first migration condition exists; and (iii) on condition that the first migration condition exists, migrating the first independently migratable element to a second set of virtual machine(s) without migrating the second independently migratable element to the second set of virtual machine(s).

Claims (60)

1. A method comprising:

running a first customer application on a first virtual machine on a first physical server, with the first customer application including a first plurality of independently migratable elements, including a first independently migratable element that utilizes a first computing resource on the first virtual machine and a second independently migratable element that utilizes a second computing resource on the first virtual machine;

dynamically checking a status of the first virtual machine to determine whether a first migration condition exists, where the first migration condition is found to exist when an available amount of the first computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the first computing resource on a second virtual machine on a second physical server; and

on condition that the first migration condition exists, migrating the first independently migratable element to the second virtual machine on the second physical server without migrating the second independently migratable element to the second virtual machine and without migrating the first virtual machine, such that the first independently migratable element is able to utilize the computing resource that is similar to the first computing resource on the second virtual machine on the second physical server while the second independently migratable element remains able to utilize the second computing resource on the first virtual machine on the first physical server.

2. The method of claim 1 , wherein:

the dynamic checking of the status of the first virtual machine occurs while the first customer application is running on the first virtual machine.

3. The method of claim 1 , wherein:

the first customer application is included in a grouped set of customer application(s) running on the first virtual machine.

4. The method of claim 1 , wherein:

the first virtual machine and the second virtual machine are each adapted to permit multiple customers to own application(s) thereon.

5. The method of claim 1 , further comprising:

dynamically checking the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when a cost of utilizing the second computing resource on the first virtual machine is determined to be higher than a cost of utilizing a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

on condition that the second migration condition exists, migrating the second independently migratable element to the third virtual machine.

6. The method of claim 1 , further comprising:

dynamically checking the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when an available amount of the second computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

on condition that the second migration condition exists, migrating the second independently migratable element to the third virtual machine.

7. The method of claim 1 , further comprising:

dynamically checking the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when a cost of utilizing the first computing resource on the first virtual machine is determined to be higher than a cost of utilizing the computing resource that is similar to the first computing resource on the second virtual machine on the second physical server;

wherein the migrating of the first independently migratable element to the second virtual machine on the second physical server is further conditioned on a determination that the second migration condition exists.

8. The method of claim 7 , further comprising:

dynamically checking the status of the first virtual machine to determine whether a third migration condition exits, where the third migration condition is found to exist when the second physical server is in a permitted geographic location for the first customer application; and

dynamically checking the status of the first virtual machine to determine whether a fourth migration condition exits, where the fourth migration condition is found to exist when the second physical server meets a set of contract-related condition(s) for the first customer application, the set of contract-related condition(s) including a condition preventing competing customers from having applications located on the same physical server;

wherein the migrating of the first independently migratable element to the second virtual machine on the second physical server is further conditioned on a determination that the third migration condition and the fourth migration condition exist.

9. A computer program product comprising a computer readable storage medium having stored thereon:

program instructions programmed to run a first customer application on a first virtual machine on a first physical server, with the first customer application including a first plurality of independently migratable elements, including a first independently migratable element that utilizes a first computing resource on the first virtual machine and a second independently migratable element that utilizes a second computing resource on the first virtual machine;

program instructions programmed to dynamically check a status of the first virtual machine to determine whether a first migration condition exists, where the first migration condition is found to exist when an available amount of the first computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the first computing resource on a second virtual machine on a second physical server; and

program instructions programmed to, on condition that the first migration condition exists, migrate the first independently migratable element to the second virtual machine on the second physical server without migrating the second independently migratable element to the second virtual machine and without migrating the first virtual machine, such that the first independently migratable element is able to utilize the computing resource that is similar to the first computing resource on the second virtual machine on the second physical server while the second independently migratable element remains able to utilize the second computing resource on the first virtual machine on the first physical server.

10. The computer program product of claim 9 , wherein:

the dynamic checking of the status of the first virtual machine occurs while the first customer application is running on the first virtual machine.

11. The computer program product of claim 9 , wherein:

the first customer application is included in a grouped set of customer application(s) running on the first virtual machine.

12. The computer program product of claim 9 , wherein:

the first virtual machine and the second virtual machine are each adapted to permit multiple customers to own application(s) thereon.

13. The computer program product of claim 9 , further comprising:

program instructions programmed to dynamically check the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when a cost of utilizing the second computing resource on the first virtual machine is determined to be higher than a cost of utilizing a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

program instructions programmed to, on condition that the second migration condition exists, migrate the second independently migratable element to the third virtual machine.

14. The computer program product of claim 9 , further comprising:

program instructions programmed to dynamically check the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when an available amount of the second computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

program instructions programmed to, on condition that the second migration condition exists, migrate the second independently migratable element to the third virtual machine.

15. A computer system comprising:

a processor(s) set; and

a computer readable storage medium;

wherein:

the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and

the program instructions include:

program instructions programmed to run a first customer application on a first virtual machine on a first physical server, with the first customer application including a first plurality of independently migratable elements, including a first independently migratable element that utilizes a first computing resource on the first virtual machine and a second independently migratable element that utilizes a second computing resource on the first virtual machine;

program instructions programmed to dynamically check a status of the first virtual machine to determine whether a first migration condition exists, where the first migration condition is found to exist when an available amount of the first computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the first computing resource on a second virtual machine on a second physical server; and

program instructions programmed to, on condition that the first migration condition exists, migrate the first independently migratable element to the second virtual machine on the second physical server without migrating the second independently migratable element to the second virtual machine and without migrating the first virtual machine, such that the first independently migratable element is able to utilize the computing resource that is similar to the first computing resource on the second virtual machine on the second physical server while the second independently migratable element remains able to utilize the second computing resource on the first virtual machine on the first physical server.

16. The computer system of claim 15 , wherein:

the dynamic checking of the status of the first virtual machine occurs while the first customer application is running on the first virtual machine.

17. The computer system of claim 15 , wherein:

the first customer application is included in a grouped set of customer application(s) running on the first virtual machine.

18. The computer system of claim 15 , wherein:

the first virtual machine and the second virtual machine are each adapted to permit multiple customers to own application(s) thereon.

19. The computer system of claim 15 , further comprising:

program instructions programmed to dynamically check the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when a cost of utilizing the second computing resource on the first virtual machine is determined to be higher than a cost of utilizing a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

program instructions programmed to, on condition that the second migration condition exists, migrate the second independently migratable element to the third virtual machine.

20. The computer system of claim 15 , further comprising:

program instructions programmed to dynamically check the status of the first virtual machine to determine whether a second migration condition exits, where the second migration condition is found to exist when an available amount of the second computing resource on the first virtual machine is determined to be less than an available amount of a computing resource that is similar to the second computing resource on a third virtual machine on a third physical server; and

program instructions programmed to, on condition that the second migration condition exists, migrate the second independently migratable element to the third virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2014
From: BAVISHI, PANKAJ S.; ROUTRAY, RAMANI R.; SETH, ESHA; SHIRAGUPPI, RIYAZAHAMAD M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033823/0940 →
Continuity (1)
Related Publication 20160092266A1 · Mar 31, 2016