Image server
AssigneeMicrosoft Corporation
InventorsEric Traut, Dan Teodosiu
Life of this patent
Estimating the term…
Abstract
Virtual machine image files are stored in a virtual machine storage by a virtual machine image file server. Users at virtual machine clients connect to the virtual machine image file server and are presented with a list of the available virtual machine image files in a virtual machine image store. Users of the virtual machine clients are able to select the desired virtual machine image, and begin executing in the selected virtual machine environment as soon as the selected virtual machine image file begins downloading to the client computer. When a virtual machine image file is selected for storage it is divided into several segments. Each segment is compared with segments of previously stored virtual machine image files already in storage. For example, only non-duplicate segments are stored.
Claims10
A virtual machine image file server system, comprising:
- a processor;
- a memory coupled to the processor;
- and
- a virtual machine image file server configured to:
- receive a virtual machine image file comprising a virtual hard drive (VHD) to store;
- divide the VHD into a plurality of segments;
- calculate a signature for each of the plurality of segments;
- determine which of the plurality of segments are not duplicates of segments already stored by comparing the calculated signatures for each of the plurality of segments with signatures stored in the memory;
- store the non-duplicate segments in the memory and not store the duplicate segments;
- associate the name of the VHD with any duplicate segments previously stored and the stored non-duplicate segments;
- store a signature vector in memory corresponding to the VHD, the signature vector including the signatures for each of the plurality of segments in the order that they appear in the VHD;
- in response to a request from a client for a VHD, provide only the segments of the VHD that are not duplicates of a VHD previously stored on the client;
- and
- prioritizing the order that segments are transferred to a virtual machine client based on segments necessary to boot the virtual machine client.
Dependencies are inferred from the claim text.