IP Library › Granted Patent US 8,914,403
Granted Patent B2
US 8,914,403 · App. 13/005,777 · Granted Dec 16, 2014

Scalable package management for virtual-machine images

Inventors: Bowen L. Alpern (Hawthorne, NY); Glenn S. Ammons (West Chester, PA); Mona Attariyan (Ann Arbor, MI); Vasanth Bala (Rye, NY); Todd W. Mummert (Danbury, CT); Darrell C. Reimer (Tarrytown, NY); Jian Yin (Richland, WA); Xiaolan Zhang (Dobbs Ferry, NY)
Assignee: International Business Machines Corporation
G06F9/45558G06F8/68
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,914,403
App. No.
13/005,777
Granted
Dec 16, 2014
Kind
B2
Abstract

A method for managing a virtual machine image includes receiving a request to change a package configuration of a machine, processing an image action received in the request, wherein the processing the image action received includes, opening the image action with associated action inputs, comparing the opened image action inputs with inputs associated with action instances in a database, determining whether the compared opened image action inputs match the inputs associated with action instances, retrieving from the database, image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database, and applying the image difference data to an image to transform the image, determining whether each image action in the request has been processed and processing a second image action responsive to determining that each image action has not been processed.

Claims (76)

1. A method for managing a virtual machine image, the method comprising:

receiving a request to change a package configuration of a machine, the request including an image action;

identifying the image action as a Mirage Image Format (MIF);

processing the image action received in the request, wherein the processing the image action received includes:

opening the image action with associated action inputs corresponding to the MIF;

comparing the opened image action inputs with inputs associated with action instances corresponding to the MIF in a database, the comparing performed in response the opening the image action and prior to modifying an image;

determining whether the compared opened image action inputs match the inputs associated with action instances in the database;

retrieving from the database prior to modifying the image, previously generated image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database, the previously generated image difference data generated prior to the opening the image action; and

applying the previously generated image difference data to the image in the MIF to transform the image in the MIF;

determining whether each image action in the request has been processed;

processing a second image action responsive to determining that each image action has not been processed;

in response to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database, generating a new image difference data associated with the image action different from the previously generated image difference data without selection from a user;

performing the image action on the image to transform the image into a resultant image responsive to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database;

determining a difference between the image and the resultant image; and

generating image difference data including the difference between the image and the resultant image.

2. The method of claim 1 , wherein the processing the image action received further includes:

associating the image difference data with the image action and associated action inputs; and

saving the image difference data in the database.

3. The method of claim 1 , wherein the processing the second image action includes:

opening an image action with associated action inputs;

comparing the opened image action inputs with inputs associated with action instances in a database;

determining whether the compared opened image action inputs match the inputs associated with action instances in the database;

retrieving from the database, image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database; and

applying the image difference data to an image to transform the image.

4. The method of claim 3 , wherein the processing the second image action further includes:

performing the image action on an image to transform the image into a resultant image responsive to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database;

determining a difference between the image and the resultant image;

generating image difference data including the difference between the image and the resultant image;

associating the image difference data with the image action and associated action inputs; and

saving the image difference data in the database.

5. The method of claim 1 , wherein the image action includes a description of an action performed on the virtual machine image.

6. The method of claim 1 , wherein the action inputs include data used to perform the action.

7. The method of claim 1 , wherein the image difference data transforms the image by adding data to the image.

8. The method of claim 1 , wherein the image difference data transforms the image by removing data from the image.

9. A system for managing virtual machine images, the system including:

a database; and

a processor operative to receive a request to change a package configuration of a machine, process an image action received in the request and to identify the image action as a Mirage Image Format (MIF), wherein the processing the image action received includes opening the image action with associated action inputs corresponding to the MIF, comparing the opened image action inputs with inputs associated with action instances corresponding to the MIF in a database prior to modifying an image, determining whether the compared opened image action inputs match the inputs associated with action instances in the database, retrieving from the database prior to modifying the image, previously generated image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database, the previously generated image difference data generated prior to the opening the image action, and applying the previously generated image difference data to the image to transform the image in the MIF, determining whether each image action in the request has been processed, processing a second image action responsive to determining that each image action has not been processed, and in response to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database, generating a new image difference data associated with the image action different from the previously generated image difference data without selection from a user, performing the image action on the image to transform the image into a resultant image responsive to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database, determining a difference between the image and the resultant image, and generating image difference data including the difference between the image and the resultant image.

10. The system of claim 9 , wherein the processing the image action received further includes:

associating the image difference data with the image action and associated action inputs; and

saving the image difference data in the database.

11. The system of claim 9 , wherein the processing the second image action includes:

opening an image action with associated action inputs;

comparing the opened image action inputs with inputs associated with action instances in a database;

determining whether the compared opened image action inputs match the inputs associated with action instances in the database;

retrieving from the database, image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database; and

applying the image difference data to an image to transform the image.

12. The system of claim 11 , wherein the processing the second image action further includes:

performing the image action on an image to transform the image into a resultant image responsive to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database;

determining a difference between the image and the resultant image;

generating image difference data including the difference between the image and the resultant image;

associating the image difference data with the image action and associated action inputs; and

saving the image difference data in the database.

13. The system of claim 9 , wherein the image action includes a description of an action performed on the virtual machine image.

14. The system of claim 9 , wherein the action inputs include data used to perform the action.

15. The system of claim 9 , wherein the image difference data transforms the image by adding data to the image.

16. The system of claim 9 , wherein the image difference data transforms the image by removing data from the image.

17. A non-transitory computer readable storage medium having instructions that include:

receiving a request to change a package configuration of a machine;

identifying a image action as a Mirage Image Format (MIF);

processing the image action received in the request, wherein the processing the image action received includes:

opening the image action with associated action inputs corresponding to the MIF;

comparing the opened image action inputs with inputs associated with action instances corresponding to the MIF in a database, the comparing performed prior to modifying an image;

determining whether the compared opened image action inputs match the inputs associated with action instances in the database;

retrieving from the database prior to modifying the image, previously generated image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database, the previously generated image difference data generated prior to the opening the image action; and

applying the previously generated image difference data to the image in the MIF to transform the image in the MIF;

determining whether each image action in the request has been processed;

processing a second image action responsive to determining that each image action has not been processed;

in response to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database, generating a new image difference data associated with the image action different from the previously generated image difference data without selection from a user;

performing the image action on the image to transform the image into a resultant image responsive to determining that the compared opened image action inputs do not match the inputs associated with action instances in the database;

determining a difference between the image and the resultant image; and

generating image difference data including the difference between the image and the resultant image.

18. The computer readable storage medium of claim 17 , wherein the processing the image action received further includes:

associating the image difference data with the image action and associated action inputs; and

saving the image difference data in the database.

19. The computer readable storage medium of claim 17 , wherein the image action includes a description of an action performed on the virtual machine image.

20. The computer readable storage medium of claim 17 , wherein the action inputs include data used to perform the action.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2011
From: ALPERN, BOWEN L.; AMMONS, GLENN S.; ATTARIYAN, MONA; BALA, VASANTH; MUMMERT, TODD W.; REIMER, DARRELL C.; YIN, JIAN; ZHANG, XIAOLAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025640/0416 →
Continuity (1)
Related Publication 20120185499A1 · Jul 19, 2012