IP Library Granted Patent US 12,332,839
Granted Patent B2
US 12,332,839 · App. 18/081,673 · Granted Jun 17, 2025

Immutable object locking for snapshot management

Inventors: Haritha Elango (Bangalore, IN); Prakhar Kumar (Mountain View, CA); Partha Dhar (Bangalore, IN); Animesh Kumar (Navi Mumbai, IN); Gaurav Maheshwari (Bangalore, IN); Srikanth Hanumanula (Mountain View, CA)
Assignee: Rubrik, Inc.
G06F16/128G06F11/1448G06F2201/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 12,332,839
App. No.
18/081,673
Granted
Jun 17, 2025
Kind
B2
Abstract

Methods, systems, and devices for data management are described. A data management system (DMS) may receive an indication of a storage configuration for an object storage location within a cloud environment. The DMS may generate a snapshot of a computing system in accordance with a backup policy associated with the computing system. The DMS may cause one or more data objects corresponding to the snapshot to be stored in the object storage location within the cloud environment in accordance with the storage configuration. The DMS may apply immutable object locks to the one or more data objects within the object storage location. The DMS may execute, in accordance with the backup policy associated with the computing system, one or more jobs that cause the respective immutable object locks for the one or more data objects to be extended one or more times during a retention period for the snapshot.

Claims (41)

1. A method for data management, comprising:

receiving, at a data management system configured to manage data for a computing system in accordance with a backup policy, an indication of a storage configuration for an object storage location within a cloud environment;

transferring, by the data management system and in accordance with the storage configuration, one or more data objects corresponding to a snapshot of the computing system for storage in the object storage location within the cloud environment, wherein the snapshot comprises a computing file that represents a state of the computing system, and wherein respective immutable object locks are applied to the one or more data objects within the object storage location; and

outputting, by the data management system and in accordance with the backup policy associated with the computing system, one or more object lock commands that cause the respective immutable object locks for the one or more data objects to be extended one or more times during a retention period for the snapshot, the retention period based at least in part on the backup policy.

2. The method of claim 1 , wherein the one or more object lock commands are configured to extend an incremental object lock on a first data object after the retention period based at least in part on determining that the first data object is referenced in a subsequent snapshot of the computing system.

3. The method of claim 1 , wherein the one or more object lock commands are configured to delete a first data object from the object storage location after the retention period based at least in part on determining that the first data object is not referenced in any subsequent snapshots of the computing system.

4. The method of claim 1 , wherein the one or more object lock commands are configured to extend the respective immutable object locks on the one or more data objects for a threshold lock duration specified in the storage configuration for the object storage location.

5. The method of claim 1 , wherein:

the one or more object lock commands are configured to periodically extend an immutable object lock on a first data object two or more times during the retention period of the snapshot in accordance with the backup policy associated with the computing system.

6. The method of claim 1 , wherein the one or more object lock commands are configured to extend a first immutable object lock on a first data object stored in the object storage location prior to a scheduled expiration of the first immutable object lock.

7. The method of claim 1 , further comprising:

receiving, at the data management system, an indication of an updated backup policy for the computing system, the updated backup policy indicating an updated retention period for the snapshot; and

determining, by the data management system, whether to extend the respective immutable object locks on the one or more data objects based at least in part on the updated backup policy for the computing system.

8. The method of claim 1 , wherein the one or more object lock commands are configured to extend an immutable object lock on a first data object stored in the object storage location for a duration that is less than a threshold lock duration based at least in part on a difference between an expiration time associated with the immutable object lock and an end of the retention period for the snapshot.

9. The method of claim 1 , wherein causing the one or more data objects to be stored in the object storage location comprises:

determining, by the data management system, that two or more instances of a data object are stored in the object storage location in association with different snapshots of the computing system,

wherein the one or more object lock commands are configured to apply an immutable object lock to at most one of the two or more instances of the data object stored in the object storage location.

10. The method of claim 1 , further comprising:

detecting, by the data management system, a lock extension failure associated with transmission of the one or more object lock commands; and

outputting, by the data management system, an indication of the lock extension failure.

11. The method of claim 1 , wherein the one or more data objects are transferred a threshold time duration after generating the snapshot, the threshold time duration specified in the backup policy associated with the computing system.

12. The method of claim 1 , wherein the snapshot is a part of a snapshot chain that comprises at least one full snapshot of the computing system and one or more incremental snapshots of the computing system.

13. The method of claim 12 , wherein the one or more object lock commands are configured to extend an immutable object lock on a data object from a different snapshot in the snapshot chain for at least the retention period of the snapshot based at least in part on determining that the data object is referenced in the snapshot.

14. The method of claim 1 , wherein the respective immutable object locks comprise time-based object settings that prevent users from deleting or modifying the one or more data objects while the respective immutable object locks are active.

15. The method of claim 1 , wherein the snapshot comprises a full snapshot of the computing system or an incremental snapshot of the computing system, the full snapshot indicating a state of the computing system at a first time, the incremental snapshot indicating changes to the computing system between the first time and a second time.

16. The method of claim 1 , wherein:

the snapshot comprises backup data associated with the computing system; and

the backup data from the snapshot is partitioned into the one or more data objects.

17. An apparatus for data management, comprising:

a processor;

memory coupled with the processor; and

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

receive, at a data management system configured to manage data for a computing system in accordance with a backup policy, an indication of a storage configuration for an object storage location within a cloud environment;

transfer, by the data management system and in accordance with the storage configuration, one or more data objects corresponding to a snapshot of the computing system for storage in the object storage location within the cloud environment, wherein the snapshot comprises a computing file that represents a state of the computing system, and wherein respective immutable object locks are applied to the one or more data objects within the object storage location; and

output, by the data management system and in accordance with the backup policy associated with the computing system, one or more object lock commands that cause the respective immutable object locks for the one or more data objects to be extended one or more times during a retention period for the snapshot, the retention period based at least in part on the backup policy.

18. The apparatus of claim 17 , wherein the one or more object lock commands are configured to extend an incremental object lock on a first data object after the retention period based at least in part on determining that the first data object is referenced in a subsequent snapshot of the computing system.

19. The apparatus of claim 17 , wherein the one or more object lock commands are configured to delete a first data object from the object storage location after the retention period based at least in part on determining that the first data object is not referenced in any subsequent snapshots of the computing system.

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

receive, at a data management system configured to manage data for a computing system in accordance with a backup policy, an indication of a storage configuration for an object storage location within a cloud environment;

transfer, by the data management system and in accordance with the storage configuration, one or more data objects corresponding to a snapshot of the computing system for storage in the object storage location within the cloud environment, wherein the snapshot comprises a computing file that represents a state of the computing system, and wherein respective immutable object locks are applied to the one or more data objects within the object storage location; and

output, by the data management system and in accordance with the backup policy associated with the computing system, one or more object lock commands that cause the respective immutable object locks for the one or more data objects to be extended one or more times during a retention period for the snapshot, the retention period based at least in part on the backup policy.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2023
From: ELANGO, HARITHA; KUMAR, PRAKHAR; DHAR, PARTHA; KUMAR, ANIMESH; MAHESHWARI, GAURAV; HANUMANULA, SRIKANTH
To: RUBRIK, INC.
Reel/Frame 062289/0578 →
Continuity (1)
Related Publication 20240202162A1 · Jun 20, 2024
References Cited (48)
US 8321632B2 · Revanuru · 2012 [cited by examiner]
US 8335768B1 · Desai · 2012 [cited by examiner]
US 9645762B2 · Nara · 2017 [cited by examiner]
US 10073650B2 · Nara · 2018 [cited by examiner]
US 10176036B2 · Haridas · 2019 [cited by examiner]
US 10248494B2 · Haridas · 2019 [cited by examiner]
US 10474388B2 · Nara · 2019 [cited by examiner]
US 10721141B1 · Verma et al. · 2020 [cited by applicant]
US 10853162B2 · Haridas · 2020 [cited by examiner]
US 11169729B2 · Nara · 2021 [cited by examiner]
US 11188248B2 · Reddy A V · 2021 [cited by examiner]
US 11474896B2 · Haridas · 2022 [cited by examiner]
US 11928032B2 · Karthik · 2024 [cited by examiner]
US 12001451B2 · Gokhale · 2024 [cited by examiner]
US 20080046476A1 · Anderson et al. · 2008 [cited by applicant]
US 20140188804A1 · Gokhale · 2014 [cited by examiner]
US 20150254141A1 · Wertheimer · 2015 [cited by examiner]
US 20160350029A1 · Nara · 2016 [cited by examiner]
US 20170123889A1 · Haridas · 2017 [cited by examiner]
US 20170123890A1 · Haridas · 2017 [cited by examiner]
US 20180025034A1 · Gnanamani et al. · 2018 [cited by applicant]
US 20180336210A1 · Bourgeois · 2018 [cited by examiner]
US 20190005106A1 · Kalach et al. · 2019 [cited by applicant]
US 20190034295A1 · Bourgeois · 2019 [cited by examiner]
US 20190095272A1 · Haridas · 2019 [cited by examiner]
US 20190179710A1 · Derryberry · 2019 [cited by examiner]
US 20200019470A1 · Wolfson et al. · 2020 [cited by applicant]
US 20200117365A1 · Patwardhan · 2020 [cited by examiner]
US 20200142780A1 · Derryberry · 2020 [cited by examiner]
US 20200285546A1 · Kraplanee · 2020 [cited by examiner]
US 20210042184A1 · Haridas · 2021 [cited by examiner]
US 20210096958A1 · Kumar · 2021 [cited by examiner]
US 20210141698A1 · Bourgeois · 2021 [cited by examiner]
US 20210232318A1 · Reddy A V · 2021 [cited by examiner]
US 20220083514A1 · Rath et al. · 2022 [cited by applicant]
US 20220107870A1 · Nagarajegowda et al. · 2022 [cited by applicant]
US 20220222074A1 · Rath et al. · 2022 [cited by applicant]
US 20220229805A1 · Chakeres et al. · 2022 [cited by applicant]
US 20220342907A1 · Gokhale · 2022 [cited by examiner]
US 20230032714A1 · Pandit et al. · 2023 [cited by applicant]
US 20230083104A1 · Xiang et al. · 2023 [cited by applicant]
US 20230359531A1 · Karthik · 2023 [cited by examiner]
US 20230359585A1 · George et al. · 2023 [cited by applicant]
US 20240152431A1 · Karthik · 2024 [cited by examiner]
CN 109409126A · 2019 [cited by applicant]
A distributed repository for immutable persistent objects (Year: 1986). [cited by examiner]
“International Search Report and Written Opinion of the International Searching Authority,” issued in connection with Int'l Appl. No. PCT/US2023/079226, dated Mar. 1, 2024 (15 pages). [cited by applicant]
Jinsun, S., et al., “WORM-Based Data Protection Approach”, Cyber-Enabled Distributed Computing and Knowledge Discovery, Oct. 10, 2010, pp. 410-416. [cited by applicant]