IP Library Patent Application 16527492
Patent Application
App. No. 16/527,492

ASYNCHRONOUS INPUT AND OUTPUT FOR SNAPSHOTS OF VIRTUAL MACHINES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/527,492
Abstract

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.

Claims (47)

1 . A data management system, comprising:

a snapshot server configured to store a snapshot of a virtual machine;

a disk client having one or more processors in communication with the storage appliance, the one or more processors configured to perform operations including:

identifying a plurality of shards of the virtual machine;

requesting a snapshot of each of the plurality of shards via socket request using a VDDK library to a hypervisor via a single shared connection for each request;

receiving the shard snapshots asynchronously from the hypervisor through the VDDK library;

maintaining an offset-slot mapping indicating ordering of the plurality of shard snapshots;

storing a shard snapshot that is not in the mapping in an early received map;

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.

2 . The system of claim 1 , wherein the operations further include maintaining a flow control queue that limits the number of snapshot 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 the one of the plurality of shards.

4 . The system of claim 3 , wherein the operations further include:

updating the maintained offset-slot mapping with ordering of the shard snapshot not in the mapping; and

moving the shard snapshot not in the mapping into the results queue after t updating.

5 . The system of claim 1 , wherein the operations further include presenting the ordered snapshot shards sequentially to a read API.

6 . The system of claim 1 , wherein the operations further include enforcing SSL in the receiving the shards asynchronously.

7 . A computer-implemented method at a data management system, the method comprising:

identifying a plurality of shards of a virtual machine;

requesting a snapshot of each of the plurality of shards via socket request using a VDDK library to a hypervisor via a single shared connection for each request;

receiving the shard snapshots asynchronously from the hypervisor through the VDDK library;

maintaining an offset-slot mapping indicating ordering of the plurality of shard snapshots;

storing a shard snapshot that is not in the mapping in an early received map;

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.

8 . The method of claim 7 , further comprising maintaining a flow control queue that limits the number of snapshot shards requested.

9 . The method of claim 8 , further comprising a receive token queue and transferring a token from the flow control queue to the receive token queue upon receiving a requested snapshot of the one of the plurality of shards.

10 . The method of claim 9 , further comprising:

updating the maintained offset-slot mapping with ordering of the shard snapshot not in the mapping; and

moving the shard snapshot not in the mapping into the results queue after the updating.

11 . The method of claim 7 , further comprising presenting the ordered snapshot shards sequentially to a read API.

12 . The method of claim 7 , further comprising enforcing SSL in the receiving the 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:

identifying a plurality of shards of a virtual machine;

requesting a snapshot of each of the plurality of shards via socket request using a VDDK library to a hypervisor via a single shared connection for each request;

receiving the shard snapshots asynchronously from the hypervisor through the VDDK library;

maintaining an offset-slot mapping indicating ordering of the plurality of shard snapshots;

storing a shard snapshot that is not in the mapping in an early received map;

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.

14 . The medium of claim 13 , wherein the operations further include maintaining a flow control queue that limits the number of snapshot 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 the one of the plurality of shards.

16 . The medium of claim 15 , wherein the operations further include:

updating the maintained offset-slot mapping with ordering of the shard snapshot not in the mapping; and

moving the shard snapshot not in the mapping into the results queue after the updating.

17 . The medium of claim 13 , wherein the operations further include presenting the ordered snapshot shards sequentially to a read API.

18 . The medium of claim 13 , wherein the operations further include enforcing SSL in the receiving the shards asynchronously.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: DENNY, CHRISTOPHER; DENG, LI; YU, LINGLIN; CHU, STEPHEN; WU, YING
To: RUBRIK, INC.
Reel/Frame 051949/0601 →