IP Library Granted Patent US 11,892,912
Granted Patent B2
US 11,892,912 · App. 17/734,890 · Granted Feb 6, 2024

Incremental file system backup using a pseudo-virtual disk

Inventor: Soham Mazumdar (San Francisco, CA)
Assignee: Rubrik, Inc.
G06F11/1448G06F9/45533G06F11/1415G06F11/1451G06F11/1464G06F16/128G06F16/188G06F21/00G06F21/6218H04L9/0643H04L9/3239G06F2009/45583G06F2201/84
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 11,892,912
App. No.
17/734,890
Granted
Feb 6, 2024
Kind
B2
Abstract

Methods and systems for backing up and restoring sets of electronic files using sets of pseudo-virtual disks are described. The sets of electronic files may be sourced from or be stored using one or more different data sources including one or more real machines and/or one or more virtual machines. A first snapshot of the sets of electronic files may be aggregated from the different data sources and stored using a first pseudo-virtual disk. A second snapshot of the sets of electronic files may be aggregated from the different data sources subsequent to the generation of the first pseudo-virtual disk and stored using the first pseudo-virtual disk or a second pseudo-virtual disk different from the first pseudo-virtual disk.

Claims (57)

1. A method, comprising:

receiving, from a data source, a request to restore a second version of an electronic file of a set of electronic files;

identifying a first virtual disk comprising a full copy of the electronic file generated at a first time, the first virtual disk having a first disk size and a first file system;

identifying a second virtual disk comprising a set of file updates to the set of electronic files, the set of file updates including a second file comprising data changes that occurred between a first version of the electronic file and the second version of the electronic file, the second virtual disk having a second disk size and a second file system different from the first file system, and the second file system using a different protocol than the first file system;

generating the second version of the electronic file based at least in part on the electronic file and the set of file updates; and

outputting, to the data source, the second version of the electronic file based at least in part on the generating.

2. The method of claim 1 , further comprising:

identifying a second set of file updates to the set of electronic files that includes a third file comprising data corresponding with a third version of the electronic file.

3. The method of claim 2 , wherein:

the first version of the electronic file corresponds with a first snapshot of the electronic file at a first point in time,

the second version of the electronic file corresponds with a second snapshot of the electronic file at a second point in time subsequent to the first point in time, and

the third version of the electronic file corresponds with a third snapshot of the electronic file at a third point in time subsequent to the second point in time.

4. The method of claim 2 , wherein:

the second file comprises a second forward incremental file that includes a second data chunk of a second chunk size, and

the third file comprises a third forward incremental file that includes a third data chunk of a third chunk size different from the second chunk size.

5. The method of claim 2 , further comprising:

generating the third version of the electronic file based at least in part on the electronic file, the set of file updates, and the second set of file updates.

6. The method of claim 1 , further comprising:

extracting the full copy of the electronic file from the first virtual disk via the first file system.

7. The method of claim 1 , further comprising:

extracting the set of file updates from the second virtual disk via the second file system.

8. The method of claim 1 , wherein generating the second version of the electronic file comprises:

applying the set of file updates to the full copy of the electronic file.

9. The method of claim 1 , wherein the request comprises an index including a mapping of versions of the set of electronic files to file locations within a set of virtual disks that includes the first virtual disk and the second virtual disk.

10. The method of claim 9 , wherein the first virtual disk and the second virtual disk are identified based at least in part on the index.

11. An apparatus, comprising:

memory; and

one or more processors coupled with the memory and configured to cause the apparatus to:

receive, from a data source, a request to restore a second version of an electronic file of a set of electronic files;

identify a first virtual disk comprising a full copy of the electronic file generated at a first time, the first virtual disk having a first disk size and a first file system;

identify a second virtual disk comprising a set of file updates to the set of electronic files, the set of file updates including a second file comprising data changes that occurred between a first version of the electronic file and the second version of the electronic file, the second virtual disk having a second disk size and a second file system different from the first file system, and the second file system using a different protocol than the first file system;

generate the second version of the electronic file based at least in part on the electronic file and the set of file updates; and

output, to the data source, the second version of the electronic file based at least in part on the generating.

12. The apparatus of claim 11 , wherein the one or more processors are further configured to cause the apparatus to:

identify a second set of file updates to the set of electronic files that includes a third file comprising data corresponding with a third version of the electronic file.

13. The apparatus of claim 12 , wherein the one or more processors are further configured to cause the apparatus to:

generate the third version of the electronic file based at least in part on the electronic file, the set of file updates, and the second set of file updates.

14. The apparatus of claim 11 , wherein the one or more processors are further configured to cause the apparatus to:

extract the full copy of the electronic file from the first virtual disk via the first file system; and

extract the set of file updates from the second virtual disk via the second file system.

15. The apparatus of claim 11 , wherein, to generate the second version of the electronic file, the one or more processors are configured to cause the apparatus to:

apply the set of file updates to the full copy of the electronic file.

16. A non-transitory, computer-readable medium comprising instructions that are executable by one or more processors to:

receive, from a data source, a request to restore a second version of an electronic file of a set of electronic files;

identify a first virtual disk comprising a full copy of the electronic file generated at a first time, the first virtual disk having a first disk size and a first file system;

identify a second virtual disk comprising a set of file updates to the set of electronic files, the set of file updates including a second file comprising data changes that occurred between a first version of the electronic file and the second version of the electronic file, the second virtual disk having a second disk size and a second file system different from the first file system, and the second file system using a different protocol than the first file system;

generate the second version of the electronic file based at least in part on the electronic file and the set of file updates; and

output, to the data source, the second version of the electronic file based at least in part on the generating.

17. The non-transitory, computer-readable medium of claim 16 , wherein the instructions are further executable by the one or more processors to:

identify a second set of file updates to the set of electronic files that includes a third file comprising data corresponding with a third version of the electronic file.

18. The non-transitory, computer-readable medium of claim 17 , wherein the instructions are further executable by the one or more processors to:

generate the third version of the electronic file based at least in part on the electronic file, the set of file updates, and the second set of file updates.

19. The non-transitory, computer-readable medium of claim 16 , wherein the instructions are further executable by the one or more processors to:

extract the full copy of the electronic file from the first virtual disk via the first file system; and

extract the set of file updates from the second virtual disk via the second file system.

20. The non-transitory, computer-readable medium of claim 16 , wherein, to generate the second version of the electronic file, the instructions are executable by the one or more processors to:

apply the set of file updates to the full copy of the electronic file.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2022
From: MAZUMDAR, SOHAM
To: RUBRIK, INC.
Reel/Frame 059785/0358 →