Operation transfer from an origin virtual machine to a destination virtual machine while continue the execution of the operation on the origin virtual machine
First Claim
Patent Images
1. A computer implemented method to transfer operation from an origin virtual machine to a destination virtual machine, comprising:
- identifying, from uncompiled code, delta data comprising uses of dynamic memory on the origin virtual machine including at least one of variable declarations, procedure calls and procedure returns;
launching a destination executable on a destination virtual machine while the origin virtual machine continues to execute an origin executable, wherein the destination virtual machine has different characteristics from the origin virtual machine;
transferring persistent state data from the origin virtual machine to the destination virtual machine;
transferring delta data from a delta queue associated with the origin virtual machine to the destination virtual machine while the origin virtual machine continues to execute the origin executable; and
switching operation from the origin virtual machine to the destination virtual machine when the launching of the destination executable has been completed and the delta queue is empty,wherein transferring the delta data further comprises;
gathering past delta data from the delta queue associated with the origin virtual machine;
locating an origin variable read location by looking up the gathered past delta data via an origin pointer index;
determining a destination write location by referring through a destination pointer index based at least in part on the located origin variable read location; and
writing a memory state in destination memory based at least in part on the destination write location.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies and implementations for transferring operation from an origin virtual machine to a destination virtual machine while the origin virtual machine continues to execute an origin executable are generally disclosed.
19 Citations
19 Claims
-
1. A computer implemented method to transfer operation from an origin virtual machine to a destination virtual machine, comprising:
-
identifying, from uncompiled code, delta data comprising uses of dynamic memory on the origin virtual machine including at least one of variable declarations, procedure calls and procedure returns; launching a destination executable on a destination virtual machine while the origin virtual machine continues to execute an origin executable, wherein the destination virtual machine has different characteristics from the origin virtual machine; transferring persistent state data from the origin virtual machine to the destination virtual machine; transferring delta data from a delta queue associated with the origin virtual machine to the destination virtual machine while the origin virtual machine continues to execute the origin executable; and switching operation from the origin virtual machine to the destination virtual machine when the launching of the destination executable has been completed and the delta queue is empty, wherein transferring the delta data further comprises; gathering past delta data from the delta queue associated with the origin virtual machine; locating an origin variable read location by looking up the gathered past delta data via an origin pointer index; determining a destination write location by referring through a destination pointer index based at least in part on the located origin variable read location; and writing a memory state in destination memory based at least in part on the destination write location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device, comprising:
-
a processor; a non-transitory computer readable medium comprising logic instructions which, when executed by the processor, configure the processor to; identify, from uncompiled code, delta data comprising uses of dynamic memory on an origin virtual machine including at least one of variable declarations, procedure calls and procedure returns; generate an origin pointer index associated with an origin executable, wherein the origin executable is configured to be executed on the origin virtual machine; generate a destination pointer index associated with a destination executable, wherein the destination executable is configured to be executed on a destination virtual machine, wherein the destination virtual machine has different characteristics from the origin virtual machine; transfer persistent state data from the origin virtual machine to the destination virtual machine; and transfer delta data from a delta queue associated with the origin virtual machine to the destination virtual machine while the origin virtual machine continues to execute the origin executable based at least in part on the origin pointer index and the destination pointer index, wherein the transfer of the delta data further comprises; gather past delta data from the delta queue associated with the origin virtual machine; locate an origin variable read location by looking up the gathered past delta data in the origin pointer index; determine a destination write location by referring through the destination pointer index based at least in art on the origin variable read location; and write a memory state in destination memory based at least in part on the destination write location. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An article comprising:
a non-transitory computer readable medium comprising machine-readable instructions stored thereon, which, if executed by one or more processors, operatively enable a computing device to; identify, from uncompiled code, delta data comprising uses of dynamic memory on an origin virtual machine including at least one of variable declarations, procedure calls and procedure returns; launch a destination executable on a destination virtual machine while the origin virtual machine continues to execute an origin executable, wherein the destination virtual machine has different characteristics from the origin virtual machine; transfer persistent state data from the origin virtual machine to the destination virtual machine; transfer delta data from a delta queue associated with the origin virtual machine to the destination virtual machine while the origin virtual machine continues to execute the origin executable; and switch from the origin virtual machine to the destination virtual machine when the launching of the destination executable has been completed and the delta queue is empty, wherein transferring the delta data further comprises; gathering past delta data from the delta queue associated with the origin virtual machine; locating an origin variable read location by looking up the gathered past delta data via an origin pointer index; and determining a destination write location by referring through a destination pointer index based at least in part on the located origin variable read location; and writing a memory state in destination memory based at least in part on the destination write location. - View Dependent Claims (19)
Specification