Method and system for implementing virtual machine images
US-2016202916-A1 · Jul 14, 2016 · US
US9740514B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9740514-B1 |
| Application number | US-201313928097-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jun 26, 2013 |
| Priority date | Jun 26, 2013 |
| Publication date | Aug 22, 2017 |
| Grant date | Aug 22, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed is an improved approach to optimize link-based cloning in a virtualization architecture. In some approaches, each of the remote nodes is allowed to maintain its own snapshot of the linked/shared image. In this way, the processing power of each remote node can be used in a decentralized manner to administratively handle access to the shared data, rather than requiring the CPU resources of only the host node to centrally handle administrative access to the data. In addition, each of nodes can maintain copies of the shared image in a local cache. This allows the caching resources to also be decentralized, as each of the nodes can use its own caching resources to hold the shared data.
Opening claim text (preview).
What is claimed is: 1. A method for implementing decentralized access to data in a virtualization environment, comprising: maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more of the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool; receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node; identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and sharing the data with the plurality of virtualization nodes using snapshots by: creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data, for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to the actual data of the virtual disk, and for the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk. 2. The method of claim 1 , wherein one or more snapshots are created as part of an optimization process, and wherein the optimization process is performed upon determination that the data is not subject to write operations from the plurality of virtualization nodes and that the data needs to be accessed by a threshold number of the plurality of virtualization nodes. 3. The method of claim 2 , wherein the threshold number of the plurality of virtualization nodes comprises at least one virtualization node that is remote to the first virtualization node that owns the data. 4. The method of claim 1 , in which managing access to the data further includes using memory resources. 5. The method of claim 1 , in which some or all of the data is locally cached at a virtualization node. 6. The method of claim 1 , in which the SVM is used to administer access to the data from a user virtual machine (VM). 7. The method of claim 1 , in which an update is performed to the data, and further comprising: receiving the update to the data corresponding to a new version of the data; invalidating previous snapshots at the virtualization nodes corresponding to a previous version of the data; and creating new snapshots at the virtualization nodes for the new version of the data. 8. The method of claim 1 , wherein sharing the data with the plurality of virtualization nodes using snapshots further comprises: implementing cloning of the data where linking to the data is established from the plurality of virtualization nodes; and cloning the data where linking to the data is established from the plurality of virtualization nodes. 9. A computer program product embodied on a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for implementing decentralized access to data in a virtualization environment, comprising: maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more of the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool; receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node; identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and sharing the data with the plurality of virtualization nodes using snapshots by: creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data, for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to the actual data of the virtual disk, and for the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk. 10. The computer program product of claim 9 , wherein one or more snapshots are created as part of a cloning optimization process, and wherein the cloning optimization process is performed upon determination that the data is not subject to write operations from the plurality of virtualization nodes and that the data needs to be accessed by a threshold number of the plurality of virtualization nodes. 11. The computer program product of claim 10 , wherein the threshold number of the plurality of virtualization nodes comprises at least one virtualization node that is remote to the first virtualization node that owns the data. 12. The computer program product of claim 9 , in which managing access to the data further comprises using memory resources. 13. The computer program product of claim 9 , in which some or all of the data is locally cached at a virtualization node. 14. The computer program product of claim 9 , in which the SVM is used to administer access to the data from a user virtual machine (VM). 15. The computer program product of claim 9 , in which an update is performed to the data, and further comprising: receiving the update to the data corresponding to a new version of the data; invalidating previous snapshots at the virtualization nodes corresponding to a previous version of the data; and creating new snapshots at the virtualization nodes for the new version of the data. 16. A system, comprising: a processor; a memory comprising computer code executed us
Hypervisor-specific management and integration aspects · CPC title
Hypervisors; Virtual machine monitors · CPC title
Multiprogramming arrangements · CPC title
Allocation of resources, e.g. of the central processing unit [CPU] · CPC title
Creating, deleting, cloning virtual machine instances · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.