Patent ID: 7849462

Claim:
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.