Patent ID: 9563454
Date: 2017-02-07
CPC Classifications: G06F,H04L

Claim:
1. An apparatus comprising: a VM loading module that loads 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; a VM launch module that launches 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; a session termination module that terminates a session of execution of the virtual machine running on the second computing device and that copies 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; a sync module that a VM creation module that creates 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, wherein said modules comprise one or more of hardware circuits, programmable hardware devices and executable code, the executable code stored on one or more computer readable storage media, when said modules comprise executable code, further comprising one or more processors that execute the programmable code.