Back to results
US 9,213,513 B2Granted
Maintaining synchronization of virtual machine image differences across server and host computers
AssigneeMicrosoft Technology Licensing, LLC
InventorsGeorge Hartz, Eric Fontana, David Fusari
Life of this patent
Estimating the term…
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.
Claims20
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.
5 more elements
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.
5 more elements
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.
8 more elements
Dependencies are inferred from the claim text.