Techniques for streaming virtual machines from a server to a host

US9928091B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9928091-B2
Application numberUS-89568510-A
CountryUS
Kind codeB2
Filing dateSep 30, 2010
Priority dateSep 30, 2010
Publication dateMar 27, 2018
Grant dateMar 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for configuring a commodity server to host virtual hard disks are disclosed herein. In an exemplary embodiment, a virtual hard disk file can be split into a plurality of differencing VHD files and one or more of the files can be downloaded to a virtualization host as it runs off the VHD files stored on the server. After the one or more VHD files are downloaded, the virtualization host can be configured to use the local copy instead of the copy on the commodity server. In addition to the foregoing, other techniques are described in the claims, the detailed description, and the figures.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for deploying virtual hard drives to virtual machine hosts, comprising: a first server, comprising: a first processor; and a first memory coupled to the first processor, the first memory including instructions that upon execution cause the first server to: execute a guest operating system off of a collection of remote virtual hard disk files stored on a second server, wherein the collection of remote virtual hard disk files comprise a single virtual hard disk for the guest operating system, and wherein the collection of remote virtual hard disk files comprises a machine differencing hard disk file, wherein the machine differencing hard disk file provisions a master virtual hard disk for a user; store, while simultaneously executing the guest operating system off the collection of remote virtual hard disk files, a copy of the collection of remote virtual hard disk files received from at least the second server in a storage device attached to the first server; and execute the guest operating system off the stored copy of the collection of the remote virtual hard disk files in response to determining that the copy of the collection of the remote virtual hard disk files was stored in the storage device attached to the first server. 2. The system of claim 1 , wherein the first memory further comprises instructions that upon execution cause the first server to: boot the guest operating system from the collection of remote virtual hard disk files, wherein the collection of remote virtual hard disk files includes the master virtual hard disk file, the machine differencing virtual hard disk file, and a user differencing virtual hard disk file. 3. The system of claim 1 , wherein the first memory further comprises instructions that upon execution cause the first server to: boot the guest operating system from the collection of remote virtual hard disk files and a pre-cached copy of the master virtual hard disk file stored in the storage device attached to the first server. 4. The system of claim 1 , wherein the first memory further comprises instructions that upon execution cause the first server to: boot the guest operating system from the collection of remote virtual hard disk files and a user differencing virtual hard disk file stored in the storage device attached to the first server. 5. The system of claim 1 , wherein the first memory further comprises instructions that upon execution cause the first server to: merge a user differencing virtual hard disk file into a machine differencing virtual hard disk file and send the machine differencing virtual hard disk file to the second server. 6. The system of claim 1 , further comprising: the second server, comprising: a second processor; and a second memory coupled to the second processor, the second memory including instructions that upon execution cause the second server to: merge a user differencing virtual hard disk file received from the first server into a machine differencing virtual hard disk file stored on the second server. 7. The system of claim 1 , further comprising: the second server, comprising: a second processor; and a second memory coupled to the second processor, the second memory including instructions that upon execution cause the second server to: receive at least a user differencing virtual hard disk file from the first server; and send at least the user differencing virtual hard disk file to a third server. 8. The system of claim 1 , further comprising: the second server, comprising: a second processor; and a second memory coupled to the second processor, the second memory including instructions that upon execution cause the second server to: pre-cache at least a portion of the collection of the remote virtual hard disk files in random access memory of the second server. 9. The system of claim 1 , further comprising: a fourth server, comprising: a fourth processor; and a fourth memory coupled to the fourth server, the fourth memory including instructions that upon execution cause the fourth server to: direct a client computer system to connect to the first server in response to determining that the first server includes a current copy of the machine differencing virtual hard disk file. 10. The system of claim 1 , further comprising: a fourth server, comprising: a fourth processor; and a fourth memory coupled to the fourth server, the fourth memory including instructions that upon execution cause the fourth server to: direct a client computer system to connect to the first server in response to determining that a load on the first server is low. 11. A method for streaming a virtual hard disk carried out on at least a first server, the method comprising: booting a guest operating system from a machine differencing virtual hard disk file stored in a second server and a master virtual hard disk file stored in a storage device attached to the first server, wherein the master virtual hard disk file includes a copy of an operating system and the machine differencing virtual hard disk file provisions the master virtual hard disk for a user and includes machine identification information for customizing the copy of the operating system for a user; downloading, while simultaneously booting the guest operating system, a copy of the machine differencing virtual hard disk file from the second server; and executing the guest operating system from the copy of the machine differencing virtual hard disk and the master virtual hard disk file in response to determining that the copy of the machine differencing virtual hard disk file was downloaded. 12. The method of claim 11 , further comprising: downloading a user differencing virtual hard disk file from the second server, the user differencing virtual hard disk file storing blocks of data written to the virtual hard disk during a session. 13. The method of claim 11 , further comprising: writing blocks of data to a user differencing virtual hard disk file that is pre-cached in the storage device attached to the first server. 14. The method of claim 11 , further comprising: merging a user differencing virtual hard disk file with the copy of the machine differencing virtual hard disk file and sending the copy of the machine differencing virtual hard disk file to the second server. 15. The method of claim 11 , further comprising: sending a user differencing virtual hard disk file to the second server. 16. The method of claim 11 , further comprising: writing data stored in a user differencing virtual hard disk file into the machine differencing virtual hard disk file stored in a second server. 17. The method of claim 11 , further comprising: sending a user differencing virtual hard disk file to the second server during a migration operation. 18. The method of claim 11 , wherein downloading the copy of the machine differencing virtual hard disk file from the storage server further comprises: downloading, using idle bandwidth, the copy of the machine differencing virtual hard disk file from the second server. 19. A non-transitory computer-readable storage device including executable instructions for streaming a virtual machine to a first server, comprising instructions that upon execution cause the first server to: boot a guest operating system from a collection of remote virtual hard disk files into a virtual machine, wherein a first portion of the collection is stored on a storage device attached to the first server and a second portion is stor

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9928091B2 cover?
Techniques for configuring a commodity server to host virtual hard disks are disclosed herein. In an exemplary embodiment, a virtual hard disk file can be split into a plurality of differencing VHD files and one or more of the files can be downloaded to a virtualization host as it runs off the VHD files stored on the server. After the one or more VHD files are downloaded, the virtualization hos…
Who is the assignee on this patent?
Lotlikar Mahesh, Sampath Sriram, Palekar Ashwin, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).