# US 12,181,979 B2 · Two-phase snapshot recovery

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

- Number: US 12,181,979 B2
- Document ID: US12181979B2
- Status: Granted
- Kind: B2
- Application number: 18/344,659
- Filed: 2023-06-29
- Published: 2023-11-02
- Granted: 2024-12-31
- Earliest claimed: 2021-01-25
- Assignees: Rubrik, Inc.
- Applicants: Rubrik, Inc.
- Inventors: Abdullah Reza; Vijay Karthik; Siddharth Bidasaria; Bristy Sikder
- Web page: https://patentgrep.com/patent/US12181979B2

## CPC

- G06F 11/1464: {for networked environments}
- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 16/1827: {Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067)}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F 2201/815: Virtual
- 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)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In some examples, a data management and storage (DMS) platform comprises peer DMS nodes in a node cluster, a distributed data store comprising local and cloud storage, and at least one processor configured to perform operations in a method of creating a local consolidated patch file from a patch file chain stored in the cloud storage. Example operations comprise, in a first dry-run phase, creating a patch file image of data blocks in one or more cloud patch files stored in the cloud storage; in a second data-transfer phase, downloading at least some of the data blocks from the cloud patch files identified by the patch file image; and creating and storing, in the local storage, the local consolidated patch file using the downloaded data blocks.

## Claims

### Claim 1

A method of creating a consolidated patch file, the method comprising:
scanning, by at least one processor of a data management and storage (DMS) platform, one or more index blocks in one or more cloud patch files to identify data blocks from the one or more cloud patch files, the data blocks associated with a recovery of a virtual machine to a first point in time state of the virtual machine, wherein the one or more cloud patch files are stored in cloud storage, wherein the one or more cloud patch files correspond to one or more respective snapshots of the virtual machine at one or more respective points in time, and wherein at least one of the one or more respective snapshots is an incremental snapshot;
downloading, by the at least one processor and from the one or more cloud patch files, at least some of the data blocks identified by the scanning of the one or more index blocks in the one or more cloud patch files; and
creating, by the at least one processor, the consolidated patch file using the data blocks downloaded from the cloud storage.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
using, by the at least one processor, the consolidated patch file to perform a restore of the virtual machine to the first point in time state at a server.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
creating a patch file image that identifies the data blocks from the one or more cloud patch files, wherein the downloading the at least some of the data blocks is based at least in part on the patch file image.

### Claim 4 (depends on 3)

The method of claim 3, wherein the patch file image includes information concerning a cloud patch file path, a cloud patch file offset, a cloud patch file size, or any combination thereof.

### Claim 5 (depends on 4)

The method of claim 4, wherein a file size of the patch file image is smaller than each respective file size of the one or more cloud patch files.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
identifying, by the at least one processor, the at least some of the data blocks for downloading simultaneously, wherein the at least some of the data blocks are downloaded simultaneously.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least some of the data blocks comprise a set of contiguous data blocks from a same cloud patch file of the one or more cloud patch files.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
storing, by the at least one processor, the consolidated patch file in local storage associated with the at least one processor.

### Claim 9 (depends on 1)

The method of claim 1, wherein downloading at least some of the data blocks comprises:
downloading, by the at least one processor and based at least in part on the scanning, a first set of data blocks from a first cloud patch file of the one or more cloud patch files in parallel with a second set of data blocks from a second cloud patch file of the one or more cloud patch files.

### Claim 10

A data management and storage (DMS) platform, comprising:
at least one processor configured to perform operations comprising:
scanning, by the at least one processor, one or more index blocks in one or more cloud patch files to identify data blocks from the one or more cloud patch files, the data blocks associated with a recovery of a virtual machine to a first point in time state of the virtual machine, wherein the one or more cloud patch files are stored in cloud storage, wherein the one or more cloud patch files correspond to one or more respective snapshots of the virtual machine at one or more respective points in time, and wherein at least one of the one or more respective snapshots is an incremental snapshot;
downloading, by the at least one processor and from the one or more cloud patch files, at least some of the data blocks identified by the scanning of the one or more index blocks in the one or more cloud patch files; and
creating, by the at least one processor, a consolidated patch file using the data blocks downloaded from the cloud storage.

### Claim 11 (depends on 10)

The DMS platform of claim 10, wherein the operations further comprise:
using, by the at least one processor, the consolidated patch file to perform a restore of the virtual machine to the first point in time state at a server.

### Claim 12 (depends on 10)

The DMS platform of claim 10, wherein the operations further comprise:
creating a patch file image that identifies the data blocks from the one or more cloud patch files, wherein the downloading the at least some of the data blocks is based at least in part on the patch file image.

### Claim 13 (depends on 12)

The DMS platform of claim 12, wherein the patch file image includes information concerning a cloud patch file path, a cloud patch file offset, a cloud patch file size, or any combination thereof.

### Claim 14 (depends on 13)

The DMS platform of claim 13, wherein a file size of the patch file image is smaller than each respective file size of the one or more cloud patch files.

### Claim 15 (depends on 10)

The DMS platform of claim 10, wherein the operations further comprise:
identifying, by the at least one processor, the at least some of the data blocks for downloading simultaneously, wherein the at least some of the data blocks are downloaded simultaneously.

### Claim 16 (depends on 10)

The DMS platform of claim 10, wherein the at least some of the data blocks comprise a set of contiguous data blocks from a same cloud patch file of the one or more cloud patch files.

### Claim 17 (depends on 10)

The DMS platform of claim 10, wherein the operations further comprise:
storing, by the at least one processor, the consolidated patch file in local storage associated with the at least one processor.

### Claim 18

A non-transitory machine-readable medium comprising instructions executable by at least one processor to implement operations comprising:
scanning, by the at least one processor, one or more index blocks in one or more cloud patch files to identify data blocks from the one or more cloud patch files, the data blocks associated with a recovery of a virtual machine to a first point in time state of the virtual machine, wherein the one or more cloud patch files are stored in cloud storage, wherein the one or more cloud patch files correspond to one or more respective snapshots of the virtual machine at one or more respective points in time, and wherein at least one of the one or more respective snapshots is an incremental snapshot;
downloading, by the at least one processor and from the one or more cloud patch files, at least some of the data blocks identified by the scanning of the one or more index blocks in the one or more cloud patch files; and
creating, by the at least one processor, a consolidated patch file using the data blocks downloaded from the cloud storage.

### Claim 19 (depends on 18)

The non-transitory machine-readable medium of claim 18, wherein the operations further comprise:
using, by the at least one processor, the consolidated patch file to perform a restore of the virtual machine to the first point in time state at a server.

### Claim 20 (depends on 18)

The non-transitory machine-readable medium of claim 18, wherein the operations further comprise:
creating a patch file image that identifies the data blocks from the one or more cloud patch files, wherein the downloading the at least some of the data blocks is based at least in part on the patch file image.
