US9213513B2ActiveUtilityA1
Maintaining synchronization of virtual machine image differences across server and host computers
Est. expiryJun 23, 2026(expired)· nominal 20-yr term from priority
H04L 67/2823G06F 3/1288H04L 67/28G06F 3/1222G06F 3/1238H04L 67/56H04L 67/565
92
PatentIndex Score
92
Cited by
119
References
20
Claims
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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
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.
2. The method of claim 1 , wherein storing the indications of the differences between the VM and a generic VM image comprises:
storing the indications on a first computer;
wherein combining the difference between the VM and the generic VM image comprises:
combining the difference between the VM and the generic VM image on a second computer; and
wherein executing the combined VM comprises:
executing the combined VM on the second computer.
3. The method of claim 1 , wherein suspending execution of the VM comprises:
suspending execution of the VM on a first computer; and
wherein storing the indications of the difference between the VM and a generic VM image comprises:
storing the indications on a second computer.
4. The method of claim 3 , wherein suspending execution of the VM comprises:
suspending execution of the virtual machine in response to a user command issued locally on the first computer.
5. The method of claim 3 , wherein suspending execution of the virtual machine comprises:
suspending execution of the virtual machine in response to an indication received by the first computer and from the second computer.
6. The method of claim 3 , wherein suspending execution of the virtual machine comprises:
suspending execution of the virtual machine in response receiving a remote procedure call at the first computer.
7. The method of claim 3 , further comprising:
loading information about the difference between the VM and the generic VM image from the second computer onto a third computer, different than the first computer; and
executing the combined VM on the third computer.
8. The method of claim 3 , further comprising:
executing the combined VM on the second computer.
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.
10. The computer-readable storage device of claim 9 , wherein storing the indications of the differences between the VM and a generic VM image comprises:
storing the indications on a first computer;
wherein combining the difference between the VM and the generic VM image comprises:
combining the difference between the VM and the generic VM image on a second computer; and
wherein executing the combined VM comprises:
executing the combined VM on the second computer.
11. The computer-readable storage device of claim 9 , wherein suspending execution of the VM comprises:
suspending execution of the VM on a first computer; and
wherein storing the indications of the difference between the VM and a generic VM image comprises:
storing the indications on a second computer.
12. The computer-readable storage device of claim 11 , wherein suspending execution of the VM comprises:
suspending execution of the virtual machine in response to a user command issued locally on the first computer.
13. The computer-readable storage device of claim 11 , wherein suspending execution of the virtual machine comprises:
suspending execution of the virtual machine in response to an indication received by the first computer and from the second computer.
14. The computer-readable storage device of claim 11 , wherein suspending execution of the virtual machine comprises:
suspending execution of the virtual machine in response receiving a remote procedure call at the first computer.
15. The computer-readable storage device of claim 11 , further bearing computer-executable instructions that, when executed, cause operations comprising:
loading information about the difference between the VM and the generic VM image from the second computer onto a third computer, different than the first computer; and
executing the combined VM on the third computer.
16. The computer-readable storage device of claim 11 , further bearing computer-executable instructions that, when executed, cause operations comprising:
executing the combined VM on the second computer.
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.
18. The system of claim 17 , wherein the instructions that, when executed on the processor, cause the system at least to suspend execution of the VM further cause the system at least to:
suspend execution of the virtual machine in response to a user command issued locally on a first computer.
19. The system of claim 18 , wherein the instructions that, when executed on the processor, cause the system at least to suspend execution of the VM further cause the system at least to:
suspend execution of the virtual machine in response to an indication received by the first computer and from a second computer, or in response receiving a remote procedure call at the first computer.
20. The system of claim 18 , wherein the instructions that, when executed on the processor, cause the system at least to:
load information about the difference between the VM and the generic VM image from a second computer onto a third computer, different than the first computer; and
execute the combined VM on the third computer.Join the waitlist — get patent alerts
Track US9213513B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.