IP Library Granted Patent US 11,921,587
Granted Patent B2
US 11,921,587 · App. 17/872,307 · Granted Mar 5, 2024

Parallelization of incremental backups

Inventors: Amandeep Gautam (San Jose, CA); Venkata Ranga Radhanikanth Guturi (San Jose, CA)
Assignee: Cohesity, Inc.
G06F11/1451G06F11/1461G06F2201/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,921,587
App. No.
17/872,307
Granted
Mar 5, 2024
Kind
B2
Abstract

A backup of a current state of a storage is determined to be initiated. A previous state of the storage storing key-object entries is analyzed to identify parallelization partition identifiers. At least a portion of the partition identifiers is used as boundaries between subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage.

Claims (31)

1. A method, comprising:

determining to initiate a backup of a current state of a storage;

analyzing a previous state of the storage storing key-object entries to identify parallelization partition identifiers; and

using at least a portion of the partition identifiers as boundaries between subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage.

2. The method of claim 1 , wherein the backup of the current state of the storage is determined to be backed up according to a backup policy.

3. The method of claim 1 , wherein the storage is an object storage bucket.

4. The method of claim 3 , wherein the object storage bucket is associated with a flat namespace.

5. The method of claim 1 , wherein the backup of the current state of the storage is an incremental backup.

6. The method of claim 1 , wherein the previous state of the storage storing the key-object entries is analyzed by obtaining a checkpoint file associated with a previous backup of the storage.

7. The method of claim 6 , wherein the checkpoint file associated with the previous backup of the storage includes a plurality of entries corresponding to a plurality of objects that are stored in lexicographically sorted order.

8. The method of claim 6 , wherein the previous state of the storage storing key-object entries is analyzed by utilizing the checkpoint file associated with the previous backup of the storage to identify key-object entries corresponding to objects as the boundaries between the subgroups.

9. The method of claim 1 , wherein using the at least a portion of the partition identifiers as boundaries between subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage includes assigning a first prefetcher to a first subgroup of the subgroups.

10. The method of claim 9 , wherein the first prefetcher obtains entries associated with the first subgroup.

11. The method of claim 10 , wherein the first prefetcher analyzes the obtained entries associated with the first subgroup.

12. The method of claim 11 , wherein the first prefetcher determines whether the obtained entries associated with the first subgroup include a parallelization partition identifier associated with a second subgroup.

13. The method of claim 12 , wherein in response to a determination that the obtained entries associated with the first subgroup include the parallelization partition identifier associated with the second subgroup, the first prefetcher updates a checkpoint file associated with the backup of the current state of the storage.

14. The method of claim 13 , further comprising performing the backup of the current state of the storage by comparing the checkpoint file associated with the backup of the current state of the storage to a checkpoint associated with a backup of a previous state of the storage to identify one or more differences.

15. The method of claim 14 , wherein performing the backup of the current state of the storage includes ingesting data associated with the one or more differences.

16. The method of claim 12 , wherein in response to a determination that the obtained entries associated with the first subgroup do not include a parallelization partition identifier associated with a second subgroup, the first prefetcher determines whether an expected number of entries associated with the first subgroup have been obtained.

17. The method of claim 16 , wherein in response to a determination that the expected number of entries associated with the first subgroup have been obtained, the first prefetcher updates a checkpoint file associated with the backup of the current state of the storage.

18. The method of claim 17 , wherein using the at least a portion of the partition identifiers as boundaries between the subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage further includes subdividing a remaining portion of the first subgroup into a plurality of subsets.

19. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

determining to initiate a backup of a current state of a storage;

analyzing a previous state of the storage storing key-object entries to identify parallelization partition identifiers; and

using at least a portion of the partition identifiers as boundaries between subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage.

20. A system, comprising:

a processor configured to:

determine to initiate a backup of a current state of a storage;

analyze a previous state of the storage storing key-object entries to identify parallelization partition identifiers; and

use at least a portion of the partition identifiers as boundaries between subgroups of the key-object entries processed in parallel to perform the backup of the current state of the storage; and

a memory coupled to the processor and configured to provide the processor with instructions.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2023
From: GAUTAM, AMANDEEP; GUTURI, VENKATA RANGA RADHANIKANTH
To: COHESITY, INC.
Reel/Frame 062697/0034 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
Continuity (1)
Related Publication 20240028458A1 · Jan 25, 2024
Cited By (1)
US 12,572,427