Patent ID: 8806480

Claim:
A computer system configured to transfer a virtual machine, comprising: a processor; and a memory coupled to the processor, the memory including instructions stored thereon that upon execution by the processor cause the computer system to at least: run a virtual machine, the virtual machine having access to random access memory and a virtual disk; send, while the virtual machine is running, data indicative of contents stored in the virtual disk and/or contents of the random access memory to a target computer system; determine that a first change to the data has occurred; send the target computer system a part of the data corresponding to the first change while the virtual machine is running, in response to determining that an amount of time needed to send the part of the data corresponding to the first change is greater than a threshold amount of time; determine that a second change to the data has occurred; determine that an amount of time needed to send a part of the data corresponding to the second change is less than the threshold amount of time; stop the virtual machine in response to the determination that the amount of time needed to send a part of the data corresponding to the second change is less than the threshold amount of time; and send, while the virtual machine is stopped, the part of the data corresponding to the second change to the target computer system.