Asynchronous input and output for snapshots of virtual machines

US11429417B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11429417-B2
Application numberUS-201916527428-A
CountryUS
Kind codeB2
Filing dateJul 31, 2019
Priority dateJul 31, 2019
Publication dateAug 30, 2022
Grant dateAug 30, 2022

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.

A data management system comprises: a storage appliance configured to store a snapshot of a virtual machine; and one or more processors in communication with the storage appliance. The one or more processors are configured to perform operations including: identifying a plurality of shards of the virtual machine; requesting a snapshot of each of the plurality of shards; receiving the shards asynchronously; ordering the received snapshot shards sequentially into a results queue; and storing a single snapshot of the virtual machine based on the ordered snapshot shards. Operations may further include maintaining a flow control queue that limits the number of snapshot shards requested.

First claim

Opening claim text (preview).

The invention claimed is: 1. A data management system, comprising: a memory configured to store a snapshot of an entire virtual machine; one or more processors in communication with the memory, the one or more processors configured to perform operations including: determining a number of shards to be created for the entire virtual machine based on a current network condition; in response to determining the number of shards, sharding the entire virtual machine to the determined number of shards; identifying a plurality of shards of the entire virtual machine, a number of the identified plurality of shards equal to the determined number of shards; requesting a snapshot of each of the plurality of shards; receiving the requested snapshots of each of the plurality of shards asynchronously; ordering the received snapshots of each of the plurality of shards sequentially into a result queue; and storing a single snapshot of the entire virtual machine based on the ordered snapshots of each of the plurality of shards. 2. The system of claim 1 , wherein the operations further include maintaining a flow control queue that limits a number of snapshots of shards requested. 3. The system of claim 2 , wherein the operations further include maintaining a receive token queue and transferring a token from the flow control queue to the receive token queue upon receiving a requested snapshot of one of the plurality of shards. 4. The system of claim 3 , wherein the operations further include maintaining an offset-slot mapping indicating ordering of the snapshots of each of the plurality of shards. 5. The system of claim 1 , wherein the operations further include presenting the ordered snapshots of each of the plurality of shards sequentially to a read application programming interface. 6. The system of claim 1 , wherein the operations further include enforcing Secure Sockets Layer in the receiving the requested snapshots of each of the plurality of shards asynchronously. 7. A computer-implemented method at a data management system, the method comprising: determining a number of shards to be created for an entire virtual machine based on a current network condition; in response to determining the number of shards, sharding the entire virtual machine to the determined number of shards; identifying a plurality of shards of the entire virtual machine, a number of the identified plurality of shards equal to the determined number of shards; requesting a snapshot of each of the plurality of shards; receiving the requested snapshots of each of the plurality of shards asynchronously; ordering the received snapshots of each of the plurality of shards sequentially into a result queue; and storing a single snapshot of the entire virtual machine based on the ordered snapshots of each of the plurality of shards. 8. The method of claim 7 , further comprising maintaining a flow control queue that limits a number of snapshots of shards requested. 9. The method of claim 8 , further comprising maintaining a receive token queue and transferring a token from the flow control queue to the receive token queue upon receiving a requested snapshot of one of the plurality of shards. 10. The method of claim 9 , further comprising maintaining an offset-slot mapping indicating ordering of the snapshots of each of the plurality of shards. 11. The method of claim 7 , further comprising presenting the ordered snapshots of each of the plurality of shards sequentially to a read application programming interface. 12. The method of claim 7 , further comprising enforcing Secure Sockets Layer in the receiving the requested snapshots of each of the plurality of shards asynchronously. 13. A non-transitory, machine-readable medium storing instructions which, when read by a machine, cause the machine to perform operations comprising, at least: determining a number of shards to be created for an entire virtual machine based on a current network condition; in response to determining the number of shards, sharding the entire virtual machine to the determined number of shards; identify a plurality of shards of the entire virtual machine, a number of the identified plurality of shards equal to the determined number of shards; requesting a snapshot of each of the plurality of shards; receiving the requested snapshots of each of the plurality of shards asynchronously; ordering the received snapshots of each of the plurality of shards sequentially into a result queue; and storing a single snapshot of the entire virtual machine based on the ordered snapshots of each of the plurality of shards. 14. The medium of claim 13 , wherein the operations further include maintaining a flow control queue that limits a number of snapshots of shards requested. 15. The medium of claim 14 , wherein the operations further include maintaining a receive token queue and transferring a token from the flow control queue to the receive token queue upon receiving a requested snapshot of one of the plurality of shards. 16. The medium of claim 15 , wherein the operations further include maintaining an offset-slot mapping indicating ordering of the snapshots of each of the plurality of shards. 17. The medium of claim 13 , wherein the operations further include presenting the ordered snapshots of each of the plurality of shards sequentially to a read application programming interface. 18. The medium of claim 13 , wherein the operations further include enforcing Secure Sockets Layer in the receiving the requested snapshots of each of the plurality of shards asynchronously.

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • using de-duplication of the data · CPC title

  • Virtual · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · 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 US11429417B2 cover?
A data management system comprises: a storage appliance configured to store a snapshot of a virtual machine; and one or more processors in communication with the storage appliance. The one or more processors are configured to perform operations including: identifying a plurality of shards of the virtual machine; requesting a snapshot of each of the plurality of shards; receiving the shards asyn…
Who is the assignee on this patent?
Rubrik 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 30 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).