IP Library Granted Patent US 11,966,362
Granted Patent B1
US 11,966,362 · App. 18/093,283 · Granted Apr 23, 2024

Immutable storage of snapshot data in a public cloud environment

Inventors: Sai Kiran Katuri (Santa Clara, CA); Prateek Pandey (Bangalore, IN); Vikas Jain (San Francisco, CA); Jonathan Carlyle Derryberry (Union City, CA); Dharma Teja Bankuru (Bangalore, IN)
Assignee: Rubrik, Inc.
G06F16/128G06F11/1464G06F16/125G06F16/162G06F16/178G06F16/181G06F16/1827G06F2201/84
View Patent ↗
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 11,966,362
App. No.
18/093,283
Granted
Apr 23, 2024
Kind
B1
Abstract

A data management system may support techniques for immutable storage of snapshot data entities, which may each include data corresponding to one or more snapshots, in a cloud environment. The data management system may determine respective retention periods and respective immutability periods for the snapshot data entities. The data management system may extend the respective immutability period for a first snapshot data entity based on the respective retention period for the first snapshot data entity being greater than or equal to a threshold duration. Additionally or alternatively, the data management system may maintain (refrain from extending) the respective immutability period for a second snapshot data entity based at least in part on the respective retention period for the second snapshot data entity being less than the threshold duration.

Claims (43)

1. A method, comprising:

determining respective retention periods for snapshot data entities of a set of snapshot data entities stored in a cloud environment and associated with respective immutability periods, wherein the snapshot data entities comprise data associated with respective sets of one or more computing snapshots, and wherein, for a snapshot data entity of the set of snapshot data entities, a respective retention period for the snapshot data entity comprises a duration of time until the snapshot data entity is eligible for deletion and a respective immutability period for the snapshot data entity comprises a duration of time during which the snapshot data entity is immutable;

extending the respective immutability period for a first snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the first snapshot data entity being greater than or equal to a threshold duration; and

maintaining the respective immutability period for a second snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the second snapshot data entity being less than the threshold duration.

2. The method of claim 1 , further comprising:

maintaining the respective immutability period for a third snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the third snapshot data entity being greater than or equal to the threshold duration and the respective immutability period for the third snapshot data entity being greater than or equal to a second threshold duration.

3. The method of claim 1 , wherein extending the respective immutability period for the first snapshot data entity and maintaining the respective immutability period for the second snapshot data entity occur based at least in part on performing an instance of a periodic job.

4. The method of claim 3 , wherein determining the respective retention periods for the snapshot data entities also occurs based at least in part on performing the instance of the periodic job.

5. The method of claim 3 , wherein the periodic job comprises a periodic garbage collection job, and wherein performing the periodic garbage collection job comprises deleting one or more snapshot data entities of the set of snapshot data entities from the cloud environment based at least in part on the respective retention period and the respective immutability period both being expired for each of the one or more snapshot data entities.

6. The method of claim 3 , further comprising:

performing a garbage collection job after performing the instance of the periodic job, wherein performing the garbage collection job comprises deleting one or more snapshot data entities of the set of snapshot data entities from the cloud environment based at least in part on the respective retention period and the respective immutability period both being expired for each of the one or more snapshot data entities.

7. The method of claim 3 , further comprising:

setting, based at least in part on the first snapshot data entity being generated and prior to performing the instance of the periodic job, the respective immutability period for the first snapshot data entity to have an initial duration that is longer than a period between successive instances of the periodic job.

8. The method of claim 3 , wherein the snapshot data entities of the set of snapshot data entities are write once, read many (WORM) snapshot data entities based at least in part on the periodic job being repeatedly performed.

9. The method of claim 1 , further comprising:

generating an alert that indicates that the respective immutability period for the second snapshot data entity is less than a second threshold duration, wherein the second threshold duration is based at least in part on a periodicity of a garbage collection job for the set of snapshot data entities.

10. The method of claim 1 , wherein the respective immutability periods for the snapshot data entities are relative to respective creation times for the snapshot data entities.

11. The method of claim 1 , further comprising:

adding the second snapshot data entity to an archive table based at least in part on the respective retention period for the second snapshot data entity being less than the threshold duration; and

deleting the second snapshot data entity based at least in part on the second snapshot data entity being added to the archive table.

12. The method of claim 1 , wherein the first snapshot data entity is ineligible for deletion within the threshold duration based at least in part on the respective retention period for the first snapshot data entity being greater than the threshold duration.

13. The method of claim 1 , wherein the cloud environment comprises a public cloud environment.

14. An apparatus, comprising:

a processor;

memory coupled with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

determine respective retention periods for snapshot data entities of a set of snapshot data entities stored in a cloud environment and associated with respective immutability periods, wherein the snapshot data entities comprise data associated with respective sets of one or more computing snapshots, and wherein, for a snapshot data entity of the set of snapshot data entities, a respective retention period for the snapshot data entity comprises a duration of time until the snapshot data entity is eligible for deletion and a respective immutability period for the snapshot data entity comprises a duration of time during which the snapshot data entity is immutable;

extend the respective immutability period for a first snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the first snapshot data entity being greater than or equal to a threshold duration; and

maintain the respective immutability period for a second snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the second snapshot data entity being less than the threshold duration.

15. The apparatus of claim 14 , wherein the instructions are further executable by the processor to cause the apparatus to:

maintain the respective immutability period for a third snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the third snapshot data entity being greater than or equal to the threshold duration and the respective immutability period for the third snapshot data entity being greater than or equal to a second threshold duration.

16. The apparatus of claim 14 , wherein, to extend the respective immutability period for the first snapshot data entity and maintain the respective immutability period for the second snapshot data entity, the instructions are executable by the processor to cause the apparatus to perform an instance of a periodic job.

17. The apparatus of claim 16 , wherein:

the periodic job comprises a periodic garbage collection job, and

to perform the periodic garbage collection job, the instructions are executable by the processor to cause the apparatus to delete one or more snapshot data entities of the set of snapshot data entities from the cloud environment based at least in part on the respective retention period and the respective immutability period both being expired for each of the one or more snapshot data entities.

18. The apparatus of claim 16 , wherein the instructions are further executable by the processor to cause the apparatus to:

perform a garbage collection job after performing the instance of the periodic job, wherein, to perform the garbage collection job, the instructions are executable by the processor to cause the apparatus to delete one or more snapshot data entities of the set of snapshot data entities from the cloud environment based at least in part on the respective retention period and the respective immutability period both being expired for each of the one or more snapshot data entities.

19. The apparatus of claim 16 , wherein the instructions are further executable by the processor to cause the apparatus to:

set, based at least in part on the first snapshot data entity being generated and prior to performing the instance of the periodic job, the respective immutability period for the first snapshot data entity to have an initial duration that is longer than a period between successive instances of the periodic job.

20. A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to:

determine respective retention periods for snapshot data entities of a set of snapshot data entities stored in a cloud environment and associated with respective immutability periods, wherein the snapshot data entities comprise data associated with respective sets of one or more computing snapshots, and wherein, for a snapshot data entity of the set of snapshot data entities, a respective retention period for the snapshot data entity comprises a duration of time until the snapshot data entity is eligible for deletion and a respective immutability period for the snapshot data entity comprises a duration of time during which the snapshot data entity is immutable;

extend the respective immutability period for a first snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the first snapshot data entity being greater than or equal to a threshold duration; and

maintain the respective immutability period for a second snapshot data entity of the set of snapshot data entities based at least in part on the respective retention period for the second snapshot data entity being less than the threshold duration.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST INVENTOR'S NAME IN THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 062289 FRAME: 0531. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 22, 2023
From: KATURI, SAI KIRAN; PANDEY, PRATEEK; JAIN, VIKAS; DERRYBERRY, JONATHAN CARLYLE; BANKURU, DHARMA TEJA
To: RUBRIK, INC.
Reel/Frame 062824/0970 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2023
From: KATURI, SAI KI; PANDEY, PRATEEK; JAIN, VIKAS; DERRYBERRY, JONATHAN CARLYLE; BANKURU, DHARMA TEJA
To: RUBRIK, INC.
Reel/Frame 062289/0531 →
Cited By (1)
US 12,360,944