IP Library Granted Patent US 8,195,980
Granted Patent B2
US 8,195,980 · App. 12/415,572 · Granted Jun 5, 2012

Virtual machine snapshotting and damage containment

Assignee: Oracle America, Inc.
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,195,980
App. No.
12/415,572
Granted
Jun 5, 2012
Kind
B2
Abstract

Some embodiments provide a system that manages the execution of a virtual machine. During operation, the system takes a series of snapshots of the virtual machine during execution of the virtual machine. If an abnormal operation of the virtual machine is detected, the system spawns a set of snapshot instances from one of the series of snapshots, wherein each of the snapshot instances is executed with one of a set of limitations. Next, the system determines a source of the abnormal operation using a snapshot instance from the snapshot instances that does not exhibit the abnormal operation. Finally, the system updates a state of the virtual machine using the snapshot instance.

Claims (54)

1. A computer-implemented method for managing the execution of a virtual machine, comprising:

taking a series of snapshots of the virtual machine during execution of the virtual machine, wherein each snapshot captures a state of the virtual machine at a corresponding time;

if an abnormal operation of the virtual machine is detected:

spawning a set of snapshot instances from one of the series of snapshots, wherein spawning the set of snapshot instances comprises, for each snapshot instance in the set of snapshot instances, concurrently executing the snapshot instance using a different set of limitations, wherein each limitation in the set blocks a different potential source of the abnormal operation so that the snapshot using the limitation does not process incoming events from the potential source;

determining a source of the abnormal operation using a snapshot instance from the snapshot instances that does not exhibit the abnormal operation; and

updating a state of the virtual machine using the snapshot instance.

2. The computer-implemented method of claim 1 , wherein updating the state of the virtual machine using the snapshot instance involves:

accelerating the execution of the snapshot instance to reach a current state of the virtual machine; and

replacing the virtual machine with the snapshot instance.

3. The computer-implemented method of claim 2 , wherein accelerating the execution of the snapshot instance involves:

caching incoming events associated with the virtual machine; and

executing the snapshot instance at an accelerated rate using the cached incoming events.

4. The computer-implemented method of claim 1 , further comprising:

selecting a snapshot from the series of snapshots to execute as the set of snapshot instances; and

if the source of the abnormal operation cannot be determined from the snapshot, selecting an earlier snapshot from the series of snapshots to execute as the set of snapshot instances.

5. The computer-implemented method of claim 1 , wherein the snapshots are taken at periodic intervals during execution of the virtual machine.

6. The computer-implemented method of claim 1 , wherein the potential source of the abnormal operation corresponds to at least one of a port and an address.

7. The method of claim 1 , wherein a limitation corresponds to at least one of a port, address, disk input, keyboard input, and a remote shell.

8. The method of claim 1 , wherein a limitation corresponds to at least one of a disk input, keyboard input, and a remote shell.

9. The method of claim 1 , wherein a given set of the limitations corresponds to a port, address, disk input, keyboard input, and a remote shell.

10. A system for managing the execution of a virtual machine, comprising:

a computing system that performs operations for:

an introspection module configured to monitor an execution of the virtual machine for abnormal operation; and

a domain manager configured to take a series of snapshots of the virtual machine during the execution of the virtual machine, wherein each snapshot captures a state of the virtual machine at a corresponding time,

wherein if an abnormal operation of the virtual machine is detected:

the domain manager is further configured to spawn a set of snapshot instances from one of the series of snapshots, wherein spawning the set of snapshot instances comprises, for each snapshot instance in the set of snapshot instances, concurrently executing the snapshot instance using a different set of limitations, wherein each limitation in the set blocks a different potential source of the abnormal operation so that the snapshot using the limitation does not process incoming events from the potential source; and

the introspection module is further configured to determine a source of the abnormal operation using a snapshot instance from the snapshot instances that does not exhibit the abnormal operation.

11. The system of claim 10 , wherein the domain manager is further configured to update a state of the virtual machine using the snapshot instance.

12. The system of claim 11 , wherein updating the state of the virtual machine using the snapshot instance involves:

accelerating the execution of the snapshot instance to reach a current state of the virtual machine; and

replacing the virtual machine with the snapshot instance.

13. The system of claim 12 , wherein accelerating the execution of the snapshot instance involves:

caching incoming events associated with the virtual machine; and

executing the snapshot instance at an accelerated rate using the cached incoming events.

14. The system of claim 10 , wherein the domain manager is further configured to:

select a snapshot from the series of snapshots to execute as the set of snapshot instances; and

if the source of the abnormal operation cannot be determined from the snapshot, select an earlier snapshot from the series of snapshots to execute as the set of snapshot instances.

15. The system of claim 10 , wherein the snapshots are taken at periodic intervals during execution of the virtual machine.

16. The system of claim 10 , wherein the potential source of the abnormal operation corresponds to at least one of a port and an address.

17. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for managing the execution of a virtual machine, the method comprising:

taking a series of snapshots of the virtual machine during execution of the virtual machine, wherein each snapshot captures a state of the virtual machine at a corresponding time;

if an abnormal operation of the virtual machine is detected:

spawning a set of snapshot instances from one of the series of snapshots, wherein spawning the set of snapshot instances comprises, for each snapshot instance in the set of snapshot instances, concurrently executing the snapshot instance using a different set of limitations, wherein each limitation in the set blocks a different potential source of the abnormal operation so that the snapshot using the limitation does not process incoming events from the potential source;

determining a source of the abnormal operation using a snapshot instance from the snapshot instances that does not exhibit the abnormal operation; and

updating a state of the virtual machine using the snapshot instance.

18. The computer-readable storage medium of claim 17 , wherein updating the state of the virtual machine using the snapshot instance involves:

accelerating the execution of the snapshot instance to reach a current state of the virtual machine; and

replacing the virtual machine with the snapshot instance.

19. The computer-readable storage medium of claim 18 , wherein accelerating the execution of the snapshot instance involves:

caching incoming events associated with the virtual machine; and

executing the snapshot instance at an accelerated rate using the cached incoming events.

20. The computer-readable storage medium of claim 17 , the method further comprising:

selecting a snapshot from the series of snapshots to execute as the set of snapshot instances; and

if the source of the abnormal operation cannot be determined from the snapshot, selecting an earlier snapshot from the series of snapshots to execute as the set of snapshot instances.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2009
From: SCHUBA, CHRISTOPH L.; MARSLAND, TIM P.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022616/0123 →
Continuity (1)
Related Publication 20100251004A1 · Sep 30, 2010