Patent ID: 9569239
Date: 2017-02-14
CPC Classifications: G06F,H04L

Claim:
1. A method comprising: loading a virtual machine snapshot of a virtual machine from a first computing device to a mobile device, the virtual machine running on the first computing device, the virtual machine snapshot comprising a copy-on- write (“COW”) file, an image file, and a hibernation file, the image file comprising files from the virtual machine, the hibernation file comprising one or more of virtual machine memory contents and processor and hardware state information of a session running on the first computing device; launching the virtual machine on a second computing device, wherein the second computing device reads the virtual machine snapshot from the mobile device and wherein the second computing device records changes to a copy of the COW file stored on the second computing device while the second computing device runs the virtual machine, and wherein information from the hibernation file is used to restart, on the second computing device, the session that was running on the first computing device; terminating a session of execution of the virtual machine running on the second computing device and copying the COW file from the second computing device to the mobile device at the termination of execution of the virtual machine on the second computing device by merging changes into an existing COW file on the mobile device, the COW file comprising changes to the virtual machine snapshot from execution of the virtual machine on the second computing device; merging contents of the virtual machine and the COW file into files accessible to the first computing device, and available for execution on the first computing device outside the virtual machine running on the first computing device based on one or more of timestamp information and memory state information, the virtual machine started on the first computing device using information from the virtual machine snapshot received by the mobile device; resetting the COW file upon reaching a predefined size of the COW file in response to the contents of the COW file being merged into files accessible to the first computing device outside the virtual machine; and creating a new virtual machine snapshot of the virtual machine with the reset COW file, wherein the mobile device comprises an operating system different than the operating system of the virtual machine, the operating system of the first computing device, and the operating system of the second computing device.