# US 12,602,296 B2 · System and techniques for backing up scalable computing objects

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

- Number: US 12,602,296 B2
- Document ID: US12602296B2
- Status: Granted
- Kind: B2
- Application number: 18/990,725
- Filed: 2024-12-20
- Published: 2025-04-24
- Granted: 2026-04-14
- Earliest claimed: 2022-10-26
- Assignees: Rubrik, Inc.
- Applicants: Rubrik, Inc.
- Inventors: Sai Kiran Katuri; Prateek Pandey; Jihang Lim; Amelia Vu
- Web page: https://patentgrep.com/patent/US12602296B2

## CPC

- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- 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 support the backing up of scalable computing objects, such as hierarchical computing objects. For example, the DMS may backup a computing system and facilitate that capture and storage of snapshots of the computing system. The DMS may determine to capture a first snapshot of a computing object within the computing system. The DMS may identify components corresponding to respective portions of the computing object and cause the computing system to generate respective snapshots of the components. That is, the DMS may cause the computing system to generate multiple individual snapshots that together may constitute snapshot of the computing object. The DMS may generate the first snapshot that includes metadata for the snapshots of the components. The metadata may include a first identifier for the first snapshot and respective identifiers for the respective snapshots of the components.

## Claims

### Claim 1

A method, comprising:
transmitting, from a data management system to a computing system, signaling that instructs the computing system to generate a set of respective snapshots at a first point in time of a plurality of components of a computing object within the computing system;
causing, by the data management system, storage of the set of respective snapshots in a first storage entity accessible to the data management system in association with a set of respective identifiers for the set of respective snapshots; and
causing, by the data management system, storage of a first snapshot corresponding to the first point in time for the computing object, wherein the first snapshot comprises metadata that associates the first snapshot to the set of respective identifiers for the set of respective snapshots stored in the first storage entity.

### Claim 2 (depends on 1)

The method of claim 1, wherein the metadata comprises information that maps a first identifier of the first snapshot to the set of respective identifiers.

### Claim 3 (depends on 1)

The method of claim 1, wherein the metadata comprises an indication of the first point in time.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
causing, by the data management system, storage of respective metadata in association with the set of respective snapshots, the respective metadata indicative of the first point in time.

### Claim 5 (depends on 1)

The method of claim 1, wherein transmitting the signaling that instructs the computing system to generate the set of respective snapshots comprises:
transmitting signaling to initiate a compute instance at the computing system, the compute instance for generating the set of respective snapshots.

### Claim 6 (depends on 5)

The method of claim 5, wherein the signaling instructs the compute instance to initiate a set of remote procedure calls, each remote procedure call for generating a respective snapshot of the set of respective snapshots.

### Claim 7 (depends on 5)

The method of claim 5, wherein the signaling initiates a set of compute instances at the computing system, the signaling instructing each compute instance of the set of compute instances to generate a respective snapshot of the set of respective snapshots.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
assigning, by the data management system, the set of respective identifiers to the set of respective snapshots in accordance with an identification of the plurality of components, wherein the signaling comprises the set of respective identifiers for inclusion in the metadata.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
transmitting, by the data management system, second signaling that instructs the computing system to generate or update a set of index files corresponding to the set of respective snapshots and associated with the first snapshot.

### Claim 10 (depends on 9)

The method of claim 9, wherein a first index file of the set of index files corresponds to a first subset of snapshots of the set of respective snapshots, the first subset of snapshots comprising a plurality of snapshots.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
determining, by the data management system, that a subset of snapshots of the set of respective snapshots failed to be generated; and
transmitting, by the data management system, second signaling that instructs the computing system to retry generation of the subset of snapshots.

### Claim 12 (depends on 11)

The method of claim 11, wherein the second signaling is specific to the subset of snapshots and excludes instructions associated with a second subset of snapshots of the set of respective snapshots for which generation was successful or is ongoing.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
determining to restore one or more portions of the computing object based at least in part on the set of respective snapshots;
determining one or more snapshots of the set of respective snapshots corresponding to the one or more portions of the computing object based at least in part on the first snapshot; and
restoring the one or more portions of the computing object using the one or more snapshots.

### Claim 14 (depends on 13)

The method of claim 13, wherein restoring the one or more portions of the computing object comprises:
restoring a first portion of the computing object using a second snapshot of the one or more snapshots; and
concurrently restoring a second portion of the computing object using a third snapshot of the one or more snapshots.

### Claim 15 (depends on 1)

The method of claim 1, wherein a respective portion of the computing object corresponds to a respective resource of the computing object that is accessed via a respective application programming interface.

### Claim 16 (depends on 1)

The method of claim 1, wherein a respective portion of the computing object corresponds to a document library, a web page, a public communication channel of a group-based communication platform, a set of files associated with the public communication channel, a private communication channel of the group-based communication platform, a set of files associated with the private communication channel, or metadata associated with one or more other portions of the computing object.

### Claim 17 (depends on 16)

The method of claim 16, wherein the metadata associated with the one or more other portions of the computing object indicates a hierarchical relationship between the one or more other portions of the computing object.

### Claim 18

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:
transmit, from a data management system to a computing system, signaling that instructs the computing system to generate a set of respective snapshots at a first point in time of a plurality of components of a computing object within the computing system;
cause, by the data management system, storage of the set of respective snapshots in a first storage entity accessible to the data management system in association with a set of respective identifiers for the set of respective snapshots; and
cause, by the data management system, storage of a first snapshot corresponding to the first point in time for the computing object, wherein the first snapshot comprises metadata that associates the first snapshot to the set of respective identifiers for the set of respective snapshots stored in the first storage entity.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the metadata comprises information that maps a first identifier of the first snapshot to the set of respective identifiers.

### Claim 20

A non-transitory computer-readable medium storing code, the code comprising instructions executable by at least one processor to:
transmit, from a data management system to a computing system, signaling that instructs the computing system to generate a set of respective snapshots at a first point in time of a plurality of components of a computing object within the computing system;
cause, by the data management system, storage of the set of respective snapshots in a first storage entity accessible to the data management system in association with a set of respective identifiers for the set of respective snapshots; and
cause, by the data management system, storage of a first snapshot corresponding to the first point in time for the computing object, wherein the first snapshot comprises metadata that associates the first snapshot to the set of respective identifiers for the set of respective snapshots stored in the first storage entity.
