# US 2024/0202076 A1 · Obtaining full snapshots for subsets of objects over time

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0202076 A1
- Document ID: US20240202076A1
- Status: Published application
- Kind: A1
- Application number: 18/085,559
- Filed: 2022-12-20
- Published: 2024-06-20
- Earliest claimed: 2022-12-20
- Assignees: Rubrik, Inc.
- Applicants: Rubrik, Inc.
- Inventors: Haitao He; Rohit Agrawal; Sujeet Gholap; Amelia Vu; Ningshan Li; Richard Yuh; Ramya Thulasingam
- Web page: https://patentgrep.com/patent/US20240202076A1

## CPC

- G06F 11/1451: {by selection of backup contents}
- G06F 11/1461: {Backup scheduling policy}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data management system (DMS) may use a staggered full snapshot rollout approach to obtain full snapshots of multiple computing objects. The DMS may identify that a quantity of the multiple objects scheduled for full backups by the DMS exceeds a threshold quantity. The DMS may initiate, at a first time, and based on the quantity of objects exceeding the threshold quantity, a first set of full snapshots corresponding to a first subset of objects included in the multiple objects. The DMS may initiate, at a second time subsequent to the first time, a second set of full snapshots corresponding to a second subset of objects included in the multiple objects. The second subset of objects may be different than the first subset of objects. The DMS may continue to obtain full snapshots of respective subsets of the multiple objects until all of the scheduled full snapshots are obtained.

## Claims

### Claim 1

A method, comprising:
determining, by a data management system, that a plurality of objects scheduled for full backups by the data management system comprises a quantity of objects that exceeds a threshold quantity;
initiating at a first time, based at least in part on the quantity of objects exceeding the threshold quantity, a first set of full snapshots corresponding to a first subset of objects included in the plurality of objects; and
initiating at a second time subsequent to the first time, based at least in part on the quantity of objects exceeding the threshold quantity, a second set of full snapshots corresponding to a second subset of objects included in the plurality of objects, the second subset of objects different than the first subset of objects.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining, for inclusion in the first subset of objects, a first quantity of objects corresponding to a percentage of the plurality of objects.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
receiving an indication of the percentage.

### Claim 4 (depends on 2)

The method of claim 2, wherein the second subset of objects comprises a second quantity of objects that is equal to the first quantity based at least in part on the percentage.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
receiving a second indication of a second percentage of the plurality of objects, wherein the second subset of objects comprises a second quantity of objects that corresponds to the second percentage.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
monitoring, after initiating the first set of full snapshots corresponding to the first subset of objects, a status of the first set of full snapshots, wherein the status corresponds to a percentage of full snapshots of the first set of full snapshots that are pending, a percentage of full snapshots of the first set of full snapshots that have been obtained by the data management system, or both; and
determining, for inclusion in the second subset of objects, a second quantity of objects based at least in part on the status of the first set of full snapshots.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
transmitting a report that indicates the status of the first set of full snapshots based at least in part on the monitoring; and
receiving, in response to the report, an indication of the second quantity based at least in part on the status.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
monitoring, after initiating the second set of full snapshots corresponding to the second subset of objects, a second status of the second set of full snapshots, wherein the second status indicates a percentage of full snapshots of the second set of full snapshots that are pending, a percentage of full snapshots of the second set of full snapshots that have been obtained by the data management system, or both;
determining a third quantity of a third subset of objects based at least in part on the status of the first set of full snapshots and the second status of the second set of full snapshots; and
initiating, at a third time subsequent to the second time, based at least in part on the quantity of objects exceeding the threshold quantity, a third set of full snapshots corresponding to the third subset of objects included in the plurality of objects, the third subset of objects different from the first subset of objects and the second subset of objects.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining a quantity of backup jobs being executed by the data management system within a time period prior to the second time; and
determining, for inclusion in the second subset of objects, a second quantity of objects based at least in part on the quantity of jobs being executed by the data management system.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
detecting a trigger condition associated with the data management system; and
delaying initiation of the second set of full snapshots based at least in part on detecting the trigger condition, wherein a time period between the first time and the second time is increased based at least in part on delaying the second time.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
selecting objects from among the plurality of objects to include in the first subset of objects based at least in part on first values of first unique identifiers associated with the first subset of objects; and
selecting objects from among the plurality of objects to include in the second subset of objects based at least in part on second values of second unique identifiers associated with the second subset of objects.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
determining a first range of unique identifier values based at least in part on a first target size of the first subset of objects and a target time period for obtaining the full backups of the plurality of objects, wherein the first subset of objects is based at least in part on the first values of the first unique identifiers associated with the first subset of objects being within the first range; and
determining a second range of unique identifier values based at least in part on a second target size of the second subset of objects and the target time period, wherein the second subset of objects is based at least in part on the second values of the second unique identifiers associated with the second subset of objects being within the second range.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
activating, by the data management system, a storage engine; and
scheduling, based at least in part on activating the storage engine, the plurality of objects for the full backups in accordance with the storage engine.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
obtaining, by the data management system and using a second storage engine before activating the storage engine, second full snapshots corresponding to the plurality of objects, wherein a second format of the second full snapshots obtained using the second storage engine is different than a first format of full snapshots obtained using the storage engine.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
obtaining the first set of full snapshots, the second set of full snapshots, and other sets of full snapshots corresponding to other subsets of objects included in plurality of objects; and
initiating, in response to obtaining full snapshots corresponding to all of the plurality of objects using the storage engine, incremental snapshots corresponding to the plurality of objects using the storage engine.

### Claim 16

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:
determine, by a data management system, that a plurality of objects scheduled for full backups by the data management system comprises a quantity of objects that exceeds a threshold quantity;
initiate at a first time, based at least in part on the quantity of objects exceeding the threshold quantity, a first set of full snapshots corresponding to a first subset of objects included in the plurality of objects; and
initiate at a second time subsequent to the first time, based at least in part on the quantity of objects exceeding the threshold quantity, a second set of full snapshots corresponding to a second subset of objects included in the plurality of objects, the second subset of objects different than the first subset of objects.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the instructions are further executable by the at least one processor to cause the apparatus to:
determine, for inclusion in the first subset of objects, a first quantity of objects corresponding to a percentage of the plurality of objects.

### Claim 18 (depends on 16)

The apparatus of claim 16, wherein the instructions are further executable by the at least one processor to cause the apparatus to:
monitor, after initiating the first set of full snapshots corresponding to the first subset of objects, a status of the first set of full snapshots, wherein the status corresponds to a percentage of full snapshots of the first set of full snapshots that are pending, a percentage of full snapshots of the first set of full snapshots that have been obtained by the data management system, or both; and
determine, for inclusion in the second subset of objects, a second quantity of objects based at least in part on the status of the first set of full snapshots.

### Claim 19

A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to:
determine, by a data management system, that a plurality of objects scheduled for full backups by the data management system comprises a quantity of objects that exceeds a threshold quantity;
initiate at a first time, based at least in part on the quantity of objects exceeding the threshold quantity, a first set of full snapshots corresponding to a first subset of objects included in the plurality of objects; and
initiate at a second time subsequent to the first time, based at least in part on the quantity of objects exceeding the threshold quantity, a second set of full snapshots corresponding to a second subset of objects included in the plurality of objects, the second subset of objects different than the first subset of objects.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein the instructions are further executable by the processor to:
determine, for inclusion in the first subset of objects, a first quantity of objects corresponding to a percentage of the plurality of objects.
