IP Library › Granted Patent US 12,481,626
Granted Patent B2
US 12,481,626 · App. 18/677,455 · Granted Nov 25, 2025

Storage tiering for computing system snapshots

Inventors: Shivanshu Agrawal (Seattle, WA); Gaurav Maheshwari (Jaipur, IN); Anuj Mittal (Mathura, IN); Kritagya Dabi (Indore, IN); Nitin Patil (Bangalore, IN); Arpit Kathuria (Chandigarh, IN); Archit Gupta (Mountain View, CA); Srikanth Hanumanula (Mountain View, CA)
Assignee: Rubrik, Inc.
G06F16/185G06F16/116G06F16/128G06F16/164
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,481,626
App. No.
18/677,455
Filed
May 29, 2024
Granted
Nov 25, 2025
Kind
B2
Art Unit
2159
USPC
707/694
Abstract

A data management system (DMS) may facilitate the storage tiering of snapshots on cloud environments. For example, the DMS may transmit snapshot signaling to a first cloud environment that instructs the first cloud environment to capture a first snapshot of a computing object and to store the first snapshot in a first type of cloud storage at the first cloud environment. The DMS may determine that the first snapshot has been stored in the first type of cloud storage for a duration of time that satisfies an archival threshold. Based on the archival threshold being satisfied, the DMS may transmit archival signaling that instructs the first cloud environment to store the first snapshot to a second type of cloud storage. The second type of cloud storage may be associated with a longer access latency than the first type of cloud storage.

Claims (59)

1 . A method, comprising:

storing, at a first cloud environment comprising a first type of cloud storage, a first snapshot of a computing object in the first type of cloud storage;

creating a temporary computing instance on the first cloud environment or a second cloud environment after storing the first snapshot in the first type of cloud storage; and

causing, by the temporary computing instance and based at least in part on the first snapshot being stored in the first type of cloud storage for a duration that satisfies a threshold duration, the first snapshot to be stored in a second type of cloud storage, wherein the second type of cloud storage is within the first cloud environment or a third cloud environment, and wherein the second type of cloud storage is associated with a longer access latency than the first type of cloud storage;

wherein the temporary computing instance is configured to be removed from the first cloud environment or the second cloud environment after causing the first snapshot to be stored in the second type of cloud storage.

2 . The method of claim 1 , further comprising:

storing, at the first cloud environment, a second snapshot of the computing object in the first type of cloud storage; and

storing, based at least in part on the second snapshot being stored in the first type of cloud storage for the duration that satisfies the threshold duration, the second snapshot in the second type of cloud storage, wherein the first cloud environment or the third cloud environment determines which data blocks of the second snapshot were updated relative to the first snapshot and stores the updated data blocks in the second type of cloud storage.

3 . The method of claim 2 , wherein determining which data blocks of the second snapshot were updated relative to the first snapshot comprises:

comparing, at the first cloud environment or the third cloud environment, based at least in part on the first snapshot and the second snapshot being concurrently stored in the first type of cloud storage, the data blocks of the second snapshot to corresponding data blocks of the first snapshot, wherein the updated data blocks comprise one or more data blocks of the second snapshot that are different from one or more corresponding data blocks of the first snapshot.

4 . The method of claim 2 , wherein determining which data blocks of the second snapshot were updated relative to the first snapshot comprises:

reading, at the first cloud environment or the third cloud environment, a first fingerprint file associated with the first snapshot, the first fingerprint file comprising a respective first hash value for each data block of the first snapshot; and

comparing, at the first cloud environment or the third cloud environment, the first fingerprint file to a second fingerprint file associated with the second snapshot that comprises a respective second hash value for each data block of the second snapshot, wherein the updated data blocks comprise one or more data blocks of the second snapshot having respective second hash values that are different from respective first hash values of one or more corresponding data blocks of the first snapshot.

5 . The method of claim 1 , further comprising:

creating a fingerprint file associated with the first snapshot that comprises a respective hash value for each data block of the first snapshot; and

storing the fingerprint file in the second type of cloud storage.

6 . The method of claim 1 , wherein determining that the first snapshot has been stored in the first type of cloud storage for the duration that satisfies the threshold duration is based at least in part on metadata associated with the first snapshot that indicates a storage location of the first snapshot within the first type of cloud storage and a first time at which the first snapshot was captured.

7 . The method of claim 1 , wherein storing the first snapshot in the second type of cloud storage comprises:

storing data blocks of the first snapshot that include data associated with the computing object; and

skipping storing data blocks of the first snapshot that do not include data associated with the computing object.

8 . The method of claim 1 , further comprising:

deleting, at the first cloud environment or the second cloud environment, the first snapshot from the second type of cloud storage based at least in part on an expiration of a retention duration, wherein the retention duration is since the storage of the first snapshot and is greater than the threshold duration.

9 . The method of claim 1 , further comprising:

reading, at the first cloud environment or the second cloud environment, a data block from a storage location within the second type of cloud storage; and

recovering the data block to the first cloud environment or the third cloud environment in an original format according to which the data block was stored in the first type of cloud storage.

10 . The method of claim 1 , further comprising:

deleting, at the first cloud environment, the first snapshot from the first type of cloud storage after the first snapshot is stored in the second type of cloud storage.

11 . The method of claim 1 , wherein the first snapshot is stored in the second type of cloud storage in accordance with a second type of file format that is different than a first type of file format according to which the first snapshot is stored in the first type of cloud storage.

12 . The method of claim 1 , wherein storing the first snapshot in the second type of cloud storage comprises:

compressing data blocks of the first snapshot; and

storing the compressed data blocks in the second type of cloud storage.

13 . The method of claim 1 , wherein the threshold duration is in accordance with a service level agreement associated with a data management system and the first cloud environment.

14 . The method of claim 1 , further comprising:

receiving, at the first cloud environment from a data management system, first signaling that instructs the first cloud environment to capture the first snapshot and to store the first snapshot in the first type of cloud storage; and

receiving, from the data management system, second signaling that causes the temporary computing instance to be created on the first cloud environment or the second cloud environment and instructs the temporary computing instance to cause the first snapshot to be stored in the second type of cloud storage.

15 . An apparatus, comprising:

at least one processor;

memory coupled with the at least one processor; and

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

store, at a first cloud environment comprising a first type of cloud storage, a first snapshot of a computing object in the first type of cloud storage;

create a temporary computing instance on the first cloud environment or a second cloud environment after storing the first snapshot in the first type of cloud storage; and

cause, by the temporary computing instance and based at least in part on the first snapshot being stored in the first type of cloud storage for a duration that satisfies a threshold duration, the first snapshot to be stored in a second type of cloud storage, wherein the second type of cloud storage is within the first cloud environment or a third cloud environment, and wherein the second type of cloud storage is associated with a longer access latency than the first type of cloud storage;

wherein the temporary computing instance is configured to be removed from the first cloud environment or the second cloud environment after causing the first snapshot to be stored in the second type of cloud storage.

16 . The apparatus of claim 15 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

store, at the first cloud environment, a second snapshot of the computing object in the first type of cloud storage; and

store, based at least in part on the second snapshot being stored in the first type of cloud storage for the duration that satisfies the threshold duration, the second snapshot in the second type of cloud storage, wherein the first cloud environment or the third cloud environment determines which data blocks of the second snapshot were updated relative to the first snapshot and stores the updated data blocks in the second type of cloud storage.

17 . The apparatus of claim 15 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

create a fingerprint file associated with the first snapshot that comprises a respective hash value for each data block of the first snapshot; and

store the fingerprint file in the second type of cloud storage.

18 . The apparatus of claim 15 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

read, at the first cloud environment or the second cloud environment, a data block from a storage location within the second type of cloud storage; and

recover the data block to the first cloud environment or the third cloud environment in an original format according to which the data block was stored in the first type of cloud storage.

19 . The apparatus of claim 15 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

delete, at the first cloud environment, the first snapshot from the first type of cloud storage after the first snapshot is stored in the second type of cloud storage.

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

store, at a first cloud environment comprising a first type of cloud storage, a first snapshot of a computing object in the first type of cloud storage;

create a temporary computing instance on the first cloud environment or a second cloud environment after storing the first snapshot in the first type of cloud storage; and

cause, by the temporary computing instance and based at least in part on the first snapshot being stored in the first type of cloud storage for a duration that satisfies a threshold duration, the first snapshot to be stored in a second type of cloud storage, wherein the second type of cloud storage is within the first cloud environment or a third cloud environment, and wherein the second type of cloud storage is associated with a longer access latency than the first type of cloud storage;

wherein the temporary computing instance is configured to be removed from the first cloud environment or the second cloud environment after causing the first snapshot to be stored in the second type of cloud storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2024
From: AGRAWAL, SHIVANSHU; MAHESHWARI, GAURAV; MITTAL, ANUJ; DABI, KRITAGYA; PATIL, NITIN; KATHURIA, ARPIT; GUPTA, ARCHIT; HANUMANULA, SRIKANTH
To: RUBRIK, INC.
Reel/Frame 067749/0918 →
Continuity (2)
Continuation 17840262 · Jun 14, 2022
Related Publication 20240311346A1 · Sep 19, 2024
References Cited (15)
US 10031675B1 · Veprinsky · 2018 [cited by examiner]
US 11579978B2 · Lee · 2023 [cited by examiner]
US 12026132B2 · Agrawal · 2024 [cited by examiner]
US 20070255759A1 · Akelbein · 2007 [cited by examiner]
US 20120233315A1 · Hoffman · 2012 [cited by examiner]
US 20120260040A1 · Mallge · 2012 [cited by examiner]
US 20130117515A1 · Ashmore · 2013 [cited by examiner]
US 20130238575A1 · Amarendran · 2013 [cited by examiner]
US 20140101102A1 · Baumgarten · 2014 [cited by examiner]
US 20140344234A1 · Amarendran · 2014 [cited by examiner]
US 20180232395A1 · Deshmukh · 2018 [cited by examiner]
US 20190004735A1 · Spillane · 2019 [cited by examiner]
US 20190220527A1 · Sarda · 2019 [cited by examiner]
US 20200021537A1 · Oliveira · 2020 [cited by examiner]
US 20200379644A1 · Hintermeister · 2020 [cited by examiner]