Patent ID: 8560825

Claim:
A method of streaming virtual machine boot services over a network, comprising: booting a first virtual machine; recording data and metadata from a virtual machine boot image into a virtual machine boot file, wherein: the data and metadata are accessed in the process of booting the first virtual machine, said image has setup information of a virtual machine type of the first virtual machine, and said boot file is configured for the virtual machine type of the first virtual machine; adding a descriptor to metadata of said image, the descriptor referencing a location of said boot file for the virtual machine type of the first virtual machine; booting a second virtual machine of the same type as the first virtual machine by streaming the data from said boot file to a virtual machine monitor of the second virtual machine; creating a block list that includes data block offsets and data block lengths of the data in said image for the virtual machine type of the first virtual machine; referencing the block list to determine data needed from said boot file for booting the second virtual machine; and wherein said data for booting the second virtual machine are receiving from said boot file if said data for booting the second virtual machine are referenced in the block list or from said image if said data for booting the second virtual machine are not referenced in the block list.