IP Library Granted Patent US 8,782,365
Granted Patent B1
US 8,782,365 · App. 13/626,631 · Granted Jul 15, 2014

Systems and methods of processing data associated with rapid snapshot and restore of guest operating system states

Inventors: Edward T. Mooring (Santa Clara, CA); Yuri Bakalov (Paris, FR)
Assignee: Lynx Software Technologies, Inc.
G06F3/065G06F9/455G06F2201/84G06F9/45545G06F11/1456
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,782,365
App. No.
13/626,631
Granted
Jul 15, 2014
Kind
B1
Abstract

The present disclosure relates to saving and restoring operating system states and, more particularly, towards systems and methods of processing information associated with obtaining snapshots of and restoring guest operating system states rapidly.

Claims (86)

1. A method for performing rapid snapshot and restore of guest operating system instance state, the method comprising:

processing a Golden Image of a guest OS instance for storage in RAM-based memory, including using a bitmap to keep track of incremental changes between the Golden Image and the snapshot in the RAM-based storage associated with a specific guest OS instance; and

after subsequent processing/results are effected, restoring the guest OS instance to the changed state associated with the snapshot stored in RAM.

2. The method of claim 1 wherein information is processed within one of multiple operating systems that are in isolation from core hardware via a kernel separation layer, wherein each operating system has a native application environment without necessity of emulation.

3. The method of claim 1 further comprising:

opening a Golden Memory image;

allocating memory for RAM-based virtual disk for storage of the guest OS snapshots;

copying the contents of the Golden Memory image into the RAM-based virtual disk;

creating bitmaps for any blocks of data changed as between the snapshot and the Golden Image;

storing data of the snapshot into RAM storage;

waiting for requests from the guest virtual disk device; and

performing processing of request information from the guest virtual disk device, wherein the processing includes a capability to process requests that have originated from the guest operating system instance(s).

4. The method of claim 1 further comprising:

issuing, via a guest operating system Instance, a disk write command;

sending, from the guest virtual disk device to the virtual device server, write information;

writing, via the virtual device server, data in the write information at a given address in a RAM-based virtual disk;

setting, via the virtual device server, bits in a Changed Block Bitmap for blocks changed in the RAM-based Virtual Disk;

notifying, via the virtual device server, the guest virtual disk device that the write operation has been completed;

returning the virtual device server to a wait state where a request from the guest virtual disk device is awaited;

notifying, via the guest virtual disk device, the guest operating system instance that the disk write has completed.

5. The method of claim 1 further comprising:

issuing, via a guest operating system instance, a snapshot write command;

copying, via a guest virtual disk device, the guest operating system instance state to a guest OS state snapshot storage;

sending, via the guest virtual disk device, a snapshot write command to the virtual device server, notifying it by injecting an interrupt;

allocating, via the virtual device server, memory for the snapshot storage and copying blocks of data that have changed using the changed block bitmap from the RAM-based virtual disk to the snapshot storage;

notifying, via the virtual device server, the guest virtual disk device that the snapshot write operation has been completed;

returning the virtual device server to a wait state where a request from the guest virtual disk device is awaited; and

notifying, via the guest virtual disk device, the guest operating system instance that the snapshot write has completed.

6. The method of claim 1 further comprising:

issuing, via a guest operating system instance, a snapshot restore command;

sending, via the guest virtual disk device, a snapshot restore command to the virtual device server, including notifying it by injecting an interrupt;

copying, via the virtual device server, the changed blocks from the snapshot storage to the RAM-based virtual disk and then copying the unchanged blocks from a golden image to the RAM-based virtual disk;

notifying, via the virtual device server, the guest virtual disk device that the snapshot restore operation has been completed;

returning the virtual device server to a wait state where a request from the guest virtual disk device is awaited;

restoring, via the guest virtual disk device, the guest operating system instance state from the guest OS state snapshot storage; and

returning, via the guest virtual disk device, control to the guest operating system instance, which resumes execution from the context from when the snapshot was taken.

7. A method for initializing a virtual device server associated with performing rapid snapshot and restore of guest operating system instance state, the method comprising:

opening a Golden Memory image;

allocating memory for RAM-based virtual disk for storage of the guest OS snapshots;

copying the contents of the Golden Memory image into the RAM-based virtual disk;

creating bitmaps for any blocks of data changed as between the snapshot and the Golden Image;

storing data of the snapshot into RAM storage;

waiting for requests from the guest virtual disk device; and

performing processing of request information from the guest virtual disk device, wherein the processing includes a capability to process requests that have originated from the guest operating system instance(s).

8. The method of claim 7 wherein all of the steps are performed via the virtual device server.

9. The method of claim 7 wherein information is processed within one of multiple operating systems that are in isolation from core hardware via a kernel separation layer, wherein each operating system has a native application environment without necessity of emulation.

10. The method of claim 7 ,

wherein the step of performing processing includes:

issuing, via a guest operating system Instance, a disk write command;

sending, from the guest virtual disk device to the virtual device server, write information;

writing, via the virtual device server, data in the write information at a given address in a RAM-based virtual disk;

setting, via the virtual device server, bits in a Changed Block Bitmap for blocks changed in the RAM-based Virtual Disk;

notifying, via the virtual device server, the guest virtual disk device that the write operation has been completed;

and further comprising:

returning the virtual device server to the waiting step/state, where a request from the guest virtual disk device is awaited; and

notifying, via the guest virtual disk device, the guest operating system instance that the disk write has completed.

11. The method of claim 7 ,

wherein the step of performing processing includes:

issuing, via a guest operating system instance, a snapshot write command;

copying, via a guest virtual disk device, the guest operating system instance state to a guest OS state snapshot storage;

sending, via the guest virtual disk device, a snapshot write command to the virtual device server, notifying it by injecting an interrupt;

allocating, via the virtual device server, memory for the snapshot storage and copying blocks of data that have changed using the changed block bitmap from the RAM-based virtual disk to the snapshot storage;

notifying, via the virtual device server, the guest virtual disk device that the snapshot write operation has been completed;

and further comprising:

returning the virtual device server to the waiting step/state, where a request from the guest virtual disk device is awaited; and

notifying, via the guest virtual disk device, the guest operating system instance that the snapshot write has completed.

12. The method of claim 7 ,

wherein the step of performing processing includes:

issuing, via a guest operating system instance, a snapshot restore command;

sending, via the guest virtual disk device, a snapshot restore command to the virtual device server, including notifying it by injecting an interrupt;

copying, via the virtual device server, the changed blocks from the snapshot storage to the RAM-based virtual disk and then copying the unchanged blocks from a golden image to the RAM-based virtual disk;

notifying, via the virtual device server, the guest virtual disk device that the snapshot restore operation has been completed;

and further comprising:

returning the virtual device server to the waiting step/state, where a request from the guest virtual disk device is awaited;

restoring, via the guest virtual disk device, the guest operating system instance state from the guest OS state snapshot storage; and

returning, via the guest virtual disk device, control to the guest operating system instance, which resumes execution from the context from when the snapshot was taken.

13. A method for processing disk image write request information associated with performing rapid snapshot and restore of guest operating system instance state, the method comprising:

issuing, via a guest operating system Instance, a disk write command;

sending, from the guest virtual disk device to the virtual device server, write information;

writing, via the virtual device server, data in the write information at a given address in a RAM-based virtual disk;

setting, via the virtual device server, bits in a Changed Block Bitmap for blocks changed in the RAM-based Virtual Disk;

notifying, via the virtual device server, the guest virtual disk device that the write operation has been completed;

returning the virtual device server to a wait state where a request from the guest virtual disk device is awaited;

notifying, via the guest virtual disk device, the guest operating system instance that the disk write has completed.

14. The method of claim 13 wherein the write information includes a write command, an address, a length and/or data.

15. The method of claim 13 wherein information is processed within one of multiple operating systems that are in isolation from core hardware via a kernel separation layer, wherein each operating system has a native application environment without necessity of emulation.

Assignments (2)
SECURITY INTEREST Recorded Dec 15, 2023
From: LYNX SOFTWARE TECHNOLOGIES INC.
To: PENNANTPARK LOAN AGENCY SERVICING, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 065881/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2015
From: MOORING, EDWARD T.; BAKALOV, YURI
To: LYNX SOFTWARE TECHNOLOGIES, INC.
Reel/Frame 036295/0202 →
Continuity (2)
Continuation PCTUS2011036553 · May 13, 2011
Provisional Application 61321885 · Apr 8, 2010