IP Library Granted Patent US 8,615,501
Granted Patent B2
US 8,615,501 · App. 12/143,857 · Granted Dec 24, 2013

Hypervisor service to provide image version control support

Inventors: Dean Lorenz (Haifa, IL); Inbar Shapira (Givat Ada, IL); Gilad Sharaby (Mobile Post Hamovil, IL); Ezra Silvera (Haifa, IL)
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,615,501
App. No.
12/143,857
Granted
Dec 24, 2013
Kind
B2
Abstract

A revision control service is included in a hypervisor. The revision control service manages revision control operations relating virtual machine images transparently to the virtual machine. The revision control service interacts with a conventional revision control program, stores relevant revision control metadata external to the virtual machine image with file-level granularity, and synchronizes virtual machine operations with the revision control operations. From the perspective of the virtual machine, the revision control service provides a clean image from which to boot, without modification of the revision control program.

Claims (31)

1. A method of version control on a virtualization platform, comprising the steps of:

executing a virtual machine manager in a computer, said computer having access to a file system;

executing a plurality of virtual machines that are monitored by said virtual machine manager;

executing a revision control client so as to track versions of a virtual machine image comprising files stored in said file system at a file-level granularity; and

executing a revision control service in said virtual machine manager so as to synchronize activities of said virtual machines with revision control operations of said revision control client that are responsive to modifications in said files in a manner transparently to said revision control client and said virtual machines, wherein said revision control service is operative, responsively to the revision control operations, to suspend said activities of said virtual machines by shutting down said virtual machines during said revision control operations;

while said virtual machines are inoperative performing the steps of

revising said virtual machine image;

replacing said virtual machine image of at least a portion of said virtual machines with said revised virtual machine image that includes said modifications in said files; and

thereafter resuming said suspended activities by restarting said virtual machines.

2. The method according to claim 1 , wherein said revision control service performs the steps of:

for respective ones of said virtual machines identifying respective metadata of said files, maintaining said files within a respective instance of said virtual machine image in respective first locations in said file system, and maintaining said metadata outside said virtual machine image in respective second locations in said file system.

3. The method according to claim 2 , wherein a portion of said files are shared files that are accessed by a set of said virtual machines, said shared files having a copy-on-write attribute, wherein said revision control service is operative to update said shared files no more than one time upon updates thereof by at least one of said virtual machines in said set.

4. The method according to claim 2 , wherein said revision control service performs the steps of:

determining respective file attributes of said files; and

maintaining said file attributes in respective third locations in said file system.

5. The method according to claim 2 , wherein said revision control service initiates operations of said virtual machines using said respective instance of said virtual machine image.

6. The method according to claim 1 , wherein suspending said activities of said virtual machines comprises suspending write operations of said virtual machines on said files and permitting read-only access to said files.

7. The method according to claim 1 , wherein said revision control service establishes respective checkpoints for said virtual machines.

8. A computer software product for version control, including a non-transitory computer storage medium in which computer program instructions are stored, which instructions, when executed by a computer, cause the computer to execute a virtual machine manager and a plurality of virtual machines that are monitored by said virtual machine manager, to access a file system under control of said virtual machine manager, execute a revision control program, said revision control program tracking versions of a virtual machine image at a file-level granularity, said virtual machine image comprising files stored in said file system, to instantiate a revision control service in said virtual machine manager, with said revision control service synchronize activities of said virtual machines transparently to said revision control program with revision control operations of said revision control program and said virtual machines, wherein said revision control service is operative, responsively to the revision control operations, to suspend said activities of said virtual machines by shutting down said virtual machines during said revision control operations, and while said virtual machines are inoperative to revise said virtual machine image, replace said virtual machine image of at least a portion of said virtual machines with said revised virtual machine image that includes modifications in said files, and upon completion of said revision control operations to resume said suspended activities by restarting said virtual machines.

9. The computer software product according to claim 8 , wherein said revision control service is operative for respective ones of said virtual machines to identify respective metadata of said files, maintain said files as images in respective first locations in said file system, and maintain said metadata in respective second locations in said file system.

10. The computer software product according to claim 9 , wherein said revision control service is operative to determine respective file attributes of said files, and maintain said file attributes in respective third locations in said file system.

11. The computer software product according to claim 9 , wherein said instructions further cause said computer to initiate operations of said virtual machines using respective boot images.

12. The computer software product according to claim 9 , wherein said revision control service is operative to suspend said activities of said virtual machines by suspending write operations of said virtual machines on said files and permitting read-only access to said files.

13. The computer software product according to claim 8 , wherein said revision control service is operative to establish respective checkpoints for said virtual machines.

14. A data processing system providing image version control, comprising:

a processor;

a file system; and

a memory accessible to said processor, wherein said processor is operative to execute a virtual machine manager and a plurality of virtual machines that are monitored by said virtual machine manager in said memory, to access said file system under control of said virtual machine manager, execute a revision control program, said revision control program tracking versions of a virtual machine image at a file-level granularity, said virtual machine image comprising files stored in said file system, said processor being operative to instantiate a revision control service in said virtual machine manager, and with said revision control service synchronize activities of said virtual machines transparently to said revision control program with revision control operations of said revision control program and said virtual machines, wherein said revision control service is operative, responsively to the revision control operations, to suspend said activities of said virtual machines by shutting down said virtual machines during said revision control operations, and while said virtual machines are inoperative to revise said virtual machine image, replace said virtual machine image of at least a portion of said virtual machines with said revised virtual machine image that includes modifications in said files, and upon completion of said revision control operations to resume said suspended activities by restarting said virtual machines.

15. The data processing system according to claim 14 , wherein said revision control service is operative for respective ones of said virtual machines to identify respective metadata of said files, maintain said files as images in respective first locations in said file system, and maintain said metadata in respective second locations in said file system.

16. The data processing system according to claim 15 , wherein said revision control service is operative to determine respective file attributes of said files, and maintain said file attributes in respective third locations in said file system.

17. The data processing system according to claim 14 , wherein said revision control service is operative to suspend said activities of said virtual machines by suspending write operations of said virtual machines on said files and permitting read-only access to said files.

Assignments (2)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 29, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045183/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2008
From: LORENZ, DEAN; SHAPIRA, INBAR; SHARABY, GILAD; SILVERA, EZRA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021132/0991 →
Continuity (1)
Related Publication 20090319580A1 · Dec 24, 2009