Patent ID: 8635395

Claim:
In a host computer having a virtual machine running therein to execute one or more guest instructions, a method of suspending a first instance of the virtual machine and the execution of the guest instructions in the first instance of the virtual machine and resuming the execution of the guest instructions in a second instance of the virtual machine, comprising the steps of: (a) instantiating the second instance of the virtual machine in said host computer while the guest instructions are being executed in the first instance of the virtual machine that is instantiated in said host computer; (b) suspending the execution of the guest instructions in the first instance of the virtual machine; (c) storing a state of the first instance of the virtual machine after step (b); (d) copying metadata maintained for pages of virtual memory space allocated for the first instance of the virtual machine and using the copied metadata as metadata for pages of virtual memory space allocated for the second instance of the virtual machine; (e) loading the stored state into the second instance of the virtual machine; and (f) resuming the execution of the guest instructions in the second instance of the virtual machine after steps (d) and (e), wherein the first instance of the virtual machine includes an emulated memory, and the stored state does not include a state of the emulated memory.