Efficient suspend and resume of instances
First Claim
Patent Images
1. A computer-implemented method, comprising:
- as a result of receiving a request to instantiate a second plurality of virtual machines to a previous state of a terminated first plurality of virtual machines;
obtaining a first snapshot of a first state common to the first plurality of virtual machines;
deriving a second snapshot of a second state of an individual virtual machine of the first plurality of virtual machines, the second snapshot derived based at least on the first snapshot and a first set of changes resulting from individual operation of the individual virtual machine;
deriving a third snapshot of the individual virtual machine based at least on the second snapshot and a second set of changes resulting from operation of the individual virtual machine from the second state to a third state; and
instantiating the second plurality of virtual machines to the previous state of the terminated first plurality of virtual machines based at least on the third snapshot, provisioning the second plurality of virtual machines.
1 Assignment
0 Petitions
Accused Products
Abstract
A plurality of virtual machines are each restored to a previous state, by, for each virtual machine of the plurality, obtaining a first snapshot of an exemplary virtual machine, obtaining a set of local changes of a virtual machine, deriving a snapshot of the virtual machine based at least in part on the first snapshot and the set of local changes, and restoring the virtual machine to a previous state based on the snapshot.
54 Citations
20 Claims
-
1. A computer-implemented method, comprising:
as a result of receiving a request to instantiate a second plurality of virtual machines to a previous state of a terminated first plurality of virtual machines; obtaining a first snapshot of a first state common to the first plurality of virtual machines; deriving a second snapshot of a second state of an individual virtual machine of the first plurality of virtual machines, the second snapshot derived based at least on the first snapshot and a first set of changes resulting from individual operation of the individual virtual machine; deriving a third snapshot of the individual virtual machine based at least on the second snapshot and a second set of changes resulting from operation of the individual virtual machine from the second state to a third state; and instantiating the second plurality of virtual machines to the previous state of the terminated first plurality of virtual machines based at least on the third snapshot, provisioning the second plurality of virtual machines. - View Dependent Claims (2, 3, 4, 5)
-
6. A system, comprising memory to store instructions that, as a result of execution by one or more processors, cause the system to:
-
in response to a request to instantiate a virtual machine to a previous state of a terminated virtual machine, deriving a third snapshot of a different virtual machine of a set of virtual machines based at least on a first set of changes associated with a first snapshot of a first state of the different virtual machine and resulting from operation of the different virtual machine from the first state to a second state and a second set of changes associated with a second snapshot of the second state of the different virtual machine and resulting from operation of the different virtual machine from the second state to a third state, wherein the first snapshot is common to the set of virtual machines and the second set of changes is specific to the different virtual machine; and instantiate the virtual machine to the previous state of the terminated virtual machine using the third snapshot and provisioning the virtual machine. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium comprising executable instructions that, if executed by one or more processors of a computer system, cause the computer system to at least:
-
in response to a request to instantiate a second virtual machine to a previous state of a terminated virtual machine, derive a second snapshot of a second state of a first virtual machine of a plurality of virtual machines at a second time, the second snapshot derived at least from a first snapshot of a first state of the first virtual machine at a first time and a first set of changes resulting from operation of the first virtual machine from the first state to the second state between the first time and the second time, wherein the first snapshot is of a first state of the first virtual machine and shared between the plurality of virtual machines, a respective first set of changes corresponding to each of the plurality of virtual machines; derive, at a third time, a third snapshot at least from the second snapshot and a second set of changes resulting from operation of the first virtual machine from the second state to a third state between the second time and the third time; terminate, after deriving the third snapshot, a virtual machine of the plurality of virtual machines; and instantiate, after terminating and de-provisioning the virtual machine, the second virtual machine to the previous state of the terminated virtual machine based on the third snapshot and provisioning the second virtual machine. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification