Patent ID: 8490088

Claim:
A method for on demand virtual machine image streaming, comprising: copying, from a storage server storing one or more image templates corresponding respectively to one or more virtual machines, an image metadata associated with a selected virtual machine to a host computer's local storage, wherein the host computer's local storage initially does not include an image of the selected virtual machine, the image metadata initially comprising a header portion having only a reference to the image template corresponding to the selected virtual machine; booting the selected virtual machine at the host computer using the copied image metadata, and by accessing the image template from the storage server as needed during the booting; allowing the selected virtual machine to read data from the image template on the storage server needed to continue executing the selected virtual machine at the host computer, if the needed data are not stored on the host computer's local storage; copying the read data of the image template to the host computer's local storage from the storage server, if the read data of the image template are not stored on the host computer's local storage, wherein subsequent reads to the same data are done from the host computer's local storage; setting a bit in a bitmap to indicate that the read data are stored on the host computer's local storage, the bitmap forming a part of the image metadata; and utilizing resource idle time to prefetch data of the image template associated with the selected virtual machine from the storage server to the host computer's local storage.