Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer
First Claim
1. A computer-accessible storage medium storing program instructions executable by a client computer system to implement:
- at an initial time, connecting to a server computer system that stores a first version of a virtual machine image file;
downloading a complete copy of the first version of the virtual machine image file from the server computer system to the client computer system using one or more of the following communication protocols;
Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), File Transfer Protocol (FTP);
at a subsequent time, re-connecting to the server computer system, wherein the server computer stores a second version of the virtual machine image file at the subsequent time, wherein the second version of the virtual machine image file includes first changed data that has changed from the first version of the virtual machine image file and first unchanged data that has not changed;
downloading the first changed data of the second version of the virtual machine image file from the server computer system to the client computer system without downloading the first unchanged data;
updating the virtual machine image file stored on the client computer system using the first changed data; and
executing a virtual machine implemented by the virtual machine image file on the client computer system after updating the virtual machine image file.
4 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of a system and method for transferring a virtual machine stored on a server computer system to a client computer system in order to execute the virtual machine locally on the client computer system are disclosed. The system and method may also be operable to transfer the virtual machine back from the client computer system to the server computer system. File differencing techniques may be used in both directions so that only changed data in the virtual machine image file is transferred across the network. The client computer system may be operable to download the virtual machine image file from the server computer system using common communication protocols such as HTTP, HTTPS, or FTP so that the virtual machine can be transferred to the client computer system without needing to be able to access files on the server computer system through a VPN.
271 Citations
17 Claims
-
1. A computer-accessible storage medium storing program instructions executable by a client computer system to implement:
-
at an initial time, connecting to a server computer system that stores a first version of a virtual machine image file; downloading a complete copy of the first version of the virtual machine image file from the server computer system to the client computer system using one or more of the following communication protocols;
Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), File Transfer Protocol (FTP);at a subsequent time, re-connecting to the server computer system, wherein the server computer stores a second version of the virtual machine image file at the subsequent time, wherein the second version of the virtual machine image file includes first changed data that has changed from the first version of the virtual machine image file and first unchanged data that has not changed; downloading the first changed data of the second version of the virtual machine image file from the server computer system to the client computer system without downloading the first unchanged data; updating the virtual machine image file stored on the client computer system using the first changed data; and executing a virtual machine implemented by the virtual machine image file on the client computer system after updating the virtual machine image file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A client computer system comprising:
-
one or more processors; memory storing program instructions; and a non-volatile storage device; wherein the program instructions are executable by the one or more processors to implement; at an initial time, connecting to a server computer system that stores a first version of a virtual machine image file; downloading a complete copy of the first version of the virtual machine image file from the server computer system to the non-volatile storage device of the client computer system using one or more of the following communication protocols;
Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), File Transfer Protocol (FTP);at a subsequent time, re-connecting to the server computer system, wherein the server computer stores a second version of the virtual machine image file at the subsequent time, wherein the second version of the virtual machine image file includes first changed data that has changed from the first version of the virtual machine image file and first unchanged data that has not changed; downloading the first changed data of the second version of the virtual machine image file from the server computer system without downloading the first unchanged data; updating the virtual machine image file stored on the non-volatile storage device of the client computer system using the first changed data; and executing a virtual machine implemented by the virtual machine image file stored on the non-volatile storage device of the client computer system after updating the virtual machine image file. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
at an initial time, connecting to a server computer system that stores a first version of a virtual machine image file; downloading a complete copy of the first version of the virtual machine image file from the server computer system to a client computer system using one or more of the following communication protocols;
Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), File Transfer Protocol (FTP);at a subsequent time, re-connecting to the server computer system, wherein the server computer stores a second version of the virtual machine image file at the subsequent time, wherein the second version of the virtual machine image file includes first changed data that has changed from the first version of the virtual machine image file and first unchanged data that has not changed; downloading the first changed data of the second version of the virtual machine image file from the server computer system to the client computer system without downloading the first unchanged data; updating the virtual machine image file stored on the client computer system using the first changed data; and executing a virtual machine implemented by the virtual machine image file on the client computer system after updating the virtual machine image file.
-
Specification