# US 12,222,824 B2 · Infrastructure backup and recovery

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

- Number: US 12,222,824 B2
- Document ID: US12222824B2
- Status: Granted
- Kind: B2
- Application number: 18/420,486
- Filed: 2024-01-23
- Published: 2024-05-16
- Granted: 2025-02-11
- Earliest claimed: 2022-05-09
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Jakob Frick; Samuel Sinensky
- Web page: https://patentgrep.com/patent/US12222824B2

## CPC

- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/1435: {using file system or storage system metadata}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1464: {for networked environments}
- 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

Computing systems, methods, and non-transitory storage media are provided for determining raw data and additional information from a first storage space to be backed up, obtaining a first snapshot of the raw data and the additional information at a first time, determining one or more parameters of the backing up process based on current or historical network conditions, generate, according to the one or more parameters, a first backup corresponding to the first snapshot at a second storage space, obtaining a second snapshot of the raw data and the additional information at a second time; and generating an incremental backup corresponding to the second snapshot at the second storage space.

## Claims

### Claim 1

A computing system, comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the system to:
determine a previous backup comprising raw data and additional information from a first storage space of the computing system to be restored at a second storage space of the computing system, wherein the raw data and the additional information have different storage and persistence characteristics;
perform, within the second storage space of the computing system, an initial restore based on the previous backup within the second storage space of the computing system;
simultaneously with the performing of the initial restore, receive an updated backup corresponding to an updated version of the raw data and the additional information within the first storage space of the computing system; and
perform, within the second storage space of the computing system, an updated restore based on the updated backup within the first storage space of the computing system.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the initial restore occurs over multiple sessions, the initial restore comprising transmitting an amount of data during each session depending on a quality of a network connection of a network between the first storage space and the second storage space.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein the instructions that, when executed by the one or more processors, cause the computing system to:
receive, following the initial restore, an indication of the updated version of the raw data; and
in response to receiving the indication, perform the second restore.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the raw data and the additional information comprise files; and the instructions that, when executed by the one or more processors, cause the computing system to:
compare hash representations of files following restoration with hash representations of files stored in the first storage space to determine a validity of the restoration.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the instructions that, when executed by the one or more processors, cause the computing system to:
restore one or more repositories and one or more platforms, wherein the repositories segregate the raw data from the additional information.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the instructions that, when executed by the one or more processors, cause the computing system to:
obtain keys of the raw data;
determine a hashed value of the keys;
determine, based on the hashed values, one or more particular servers corresponding to the second storage space to which the raw data is to be restored.

### Claim 7 (depends on 6)

The computing system of claim 6, wherein the particular servers are each dedicated to specific ranges of hashed values.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein the instructions that, when executed by the one or more processors, cause the computing system to:
convert the raw data and the additional information to be initially restored into a JSON format prior to the initial restoration.

### Claim 9 (depends on 1)

The computing system of claim 1, wherein the updated version of the raw data and the additional version comprises updated access control policies of the additional information compared to the additional information of the previous backup.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein the instructions that, when executed by the one or more processors, cause the computing system to:
terminate the initial restore or the updated restore based on a performance indicator.

### Claim 11

A computer-implemented method of a computing system, the computer-implemented method comprising:
determining a previous backup comprising raw data and additional information from a first storage space of the computing system to be restored at a second storage space of the computing system, wherein the raw data and the additional information have different storage and persistence characteristics;
performing, within the second storage space of the computing system, an initial restore based on the previous backup within the second storage space of the computing system;
simultaneously with the performing of the initial restore, receive an updated backup corresponding to an updated version of the raw data and the additional information within the first storage space of the computing system; and
performing, within the second storage space of the computing system, an updated restore based on the updated backup within the first storage space of the computing system.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein the initial restore occurs over multiple sessions, the initial restore comprising transmitting an amount of data during each session depending on a quality of a network connection of a network between the first storage space and the second storage space.

### Claim 13 (depends on 11)

The computer-implemented method of claim 11, further comprising:
receiving, following the initial restore, an indication of the updated version of the raw data; and
in response to receiving the indication, performing the second restore.

### Claim 14 (depends on 11)

The computer-implemented method of claim 11, wherein the raw data and the additional information comprise files; and the computer-implemented method further comprises:
comparing hash representations of files following restoration with hash representations of files stored in the first storage space to determine a validity of the restoration.

### Claim 15 (depends on 11)

The computer-implemented method of claim 11, further comprising:
restoring one or more repositories and one or more platforms, wherein the repositories segregate the raw data from the additional information, and
wherein derivative data that is derived or generated from the raw data or the additional information is at least partially excluded from the backup.

### Claim 16 (depends on 11)

The computer-implemented method of claim 11, further comprising:
obtaining keys of the raw data;
determining a hashed value of the keys; and
determining, based on the hashed values, one or more particular servers corresponding to the second storage space to which the raw data is to be restored.

### Claim 17 (depends on 16)

The method of claim 16, wherein the particular servers are each dedicated to specific ranges of hashed values.

### Claim 18 (depends on 11)

The computer-implemented method of claim 11, further comprising:
converting the raw data and the additional information to be initially restored into a JSON format prior to the initial restoration.

### Claim 19 (depends on 11)

The computer-implemented method of claim 11, wherein the updated version of the raw data and the additional version comprises updated access control policies of the additional information compared to the additional information of the previous backup.

### Claim 20 (depends on 11)

The computer-implemented method of claim 11, further comprising:
terminating the initial restore or the updated based on a performance indicator.
