Maintaining synchronization of virtual machine image differences across server and host computers
First Claim
Patent Images
1. A method for execution of a virtual machine (VM), the method comprising:
- suspending execution of the VM in response to determining to suspend execution of the VM, the VM being executed for a first user;
after suspending execution of the VM, determining a difference between the VM and a generic VM image,wherein the difference between the VM and the generic VM image includes portions of the VM image that are different from the generic VM image;
storing, in a file server and in a host computer, one or more indications of the differences between the VM and the generic VM image that lacks information specific to the first user or a second user;
maintaining synchronization of the one or more stored indications of the differences that are stored in the server and the host computer;
in response to receiving an indication to resume execution of the VM, based on the synchronized stored indications of the differences that are stored in the server, combining the difference between a current state of the VM and the generic VM image to produce a combined VM, and executing the combined VM on the host computer; and
in response to receiving an indication to resume execution of a second VM for a second user, based on the synchronized stored indications of the differences that are stored in the host computer, combining a difference between the second VM and the generic VM image to produce a second combined VM, and executing the second combined VM on the host computer.
4 Assignments
0 Petitions
Accused Products
Abstract
A virtual printer driver or proxy printer driver executed by a virtual machine communicates with a real printer driver executed by a host computer to enable application programs executed by the virtual machine to print data on printers that are accessible by the host computer.
-
Citations
20 Claims
-
1. A method for execution of a virtual machine (VM), the method comprising:
-
suspending execution of the VM in response to determining to suspend execution of the VM, the VM being executed for a first user; after suspending execution of the VM, determining a difference between the VM and a generic VM image, wherein the difference between the VM and the generic VM image includes portions of the VM image that are different from the generic VM image; storing, in a file server and in a host computer, one or more indications of the differences between the VM and the generic VM image that lacks information specific to the first user or a second user; maintaining synchronization of the one or more stored indications of the differences that are stored in the server and the host computer; in response to receiving an indication to resume execution of the VM, based on the synchronized stored indications of the differences that are stored in the server, combining the difference between a current state of the VM and the generic VM image to produce a combined VM, and executing the combined VM on the host computer; and in response to receiving an indication to resume execution of a second VM for a second user, based on the synchronized stored indications of the differences that are stored in the host computer, combining a difference between the second VM and the generic VM image to produce a second combined VM, and executing the second combined VM on the host computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage device for executing a virtual machine (VM), bearing computer-executable instructions, that when executed, cause operations comprising:
-
suspending execution of the VM in response to determining to suspend execution of the VM, the VM being executed for a first user; after suspending execution of the VM, determining a difference between the VM and a generic VM image, wherein the difference between the VM and the generic VM image includes portions of the VM image that are different from the generic VM image; storing, in a file server and in a host computer, one or more indications of the differences between the VM and the generic VM image; maintaining synchronization of the one or more stored indications of the differences that are stored in the server and the host computer; in response to receiving an indication to resume execution of the VM, based on the synchronized stored indications of the differences that are stored in the server, combining the difference between a current state of the VM and the generic VM image to produce a combined VM, and executing the combined VM; and in response to receiving an indication to resume execution of a second VM, based on the synchronized stored indications of the differences that are stored in the host computer, combining a difference between the second VM and the generic VM image to produce a second combined VM, and executing the second combined VM on the host computer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for executing a virtual machine (VM), comprising:
-
a processor; and a memory communicatively coupled to the processor when the system is operational, the memory bearing processor-executable instructions that, when executed on the processor, cause the system at least to; suspend execution of the VM in response to determining to suspend execution of the VM, the VM being executed for a first user; after suspending execution of the VM, determine a difference between the VM and a generic VM image, wherein the difference between the VM and the generic VM image includes portions of the VM image that are different from the generic VM image; store, in a file server and in a host computer, one or more indications of the differences between the VM and the generic VM image; maintain synchronization of the one or more indications of the differences that are stored in the server and the host computer; in response to receiving an indication to resume execution of the VM, based on the synchronized stored indications of the differences that are stored in the server and the host computer, combine the difference between a current state of the VM and the generic VM image to produce a combined VM, and executing the combined VM; and in response to receiving an indication to resume execution of a second VM, based on the synchronized stored indications of the differences that are stored in the server and the host computer, combine a difference between the second VM and the generic VM image to produce a second combined VM, and executing the second combined VM. - View Dependent Claims (18, 19, 20)
-
Specification