Method and system to share data with snapshots in a virtualization environment

US9740514B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9740514-B1
Application numberUS-201313928097-A
CountryUS
Kind codeB1
Filing dateJun 26, 2013
Priority dateJun 26, 2013
Publication dateAug 22, 2017
Grant dateAug 22, 2017

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US9740514B1 cover?
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…
Who is the assignee on this patent?
Nutanix Inc
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 Aug 22 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).