IP Library Granted Patent US 11,977,454
Granted Patent B2
US 11,977,454 · App. 17/359,916 · Granted May 7, 2024

Leveraging metadata of a deduplication storage system to perform an efficient restore of backup data

Inventors: Donna Barry Lewis (Holly Springs, NC); Nitin Madan (Cupertino, CA); Kedar Sadanand Godbole (Pune, IN); Srikant Viswanathan (Pune, IN); Bhimsen Bhanjois (Fremont, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1464G06F11/1435G06F11/1451G06F11/1453G06F11/1469
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,977,454
App. No.
17/359,916
Granted
May 7, 2024
Kind
B2
Abstract

Described is a system for leveraging incremental backup metadata of a deduplication storage system to perform an efficient data restore. The system may reference metadata stored as part of incremental backup infrastructure to determine only the changes to the data that occurred subsequent to the restore point. As a result, the system may reduce data read processing by retrieving only the changed data from the deduplication storage system. Moreover, the system may reduce the required bandwidth for the restore by providing only the changed data to a target device of the restore. Data retained by the client system such as the current version of the data may then be overwritten with the reduced set of data to complete the restore. As a result, the system may perform an efficient restore by reducing read accesses and bandwidth requirements, and thus, improve overall restore performance.

Claims (51)

1. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

perform a set of incremental backups of a file stored on a client system to a deduplication storage system, the set of incremental backups including at least a first incremental backup of the file stored on a secondary storage system and a second incremental backup of the file, created after the first incremental backup, and stored on a primary storage system;

receive a request to restore the file to a first point-in-time associated with the first incremental backup;

determine a current version of the file retained at the client system at a time that the request to restore the file to the first point-in-time was received;

identify a first set of regions of the file that changed between the first incremental backup associated with the first point-in-time and the second incremental backup associated with a second point-in-time, and a second set of regions of the file that changed between the second incremental backup and the time of the request;

retrieve only the first set of regions from the first incremental backup of the file stored on the secondary storage system, and only the second set of regions from the second incremental backup of the file stored on the a primary storage system;

provide the first set of regions to the client system from the secondary storage system, and the second set of regions to the client system from the primary storage system; and

initiate a restore of the file to the first point-in-time by overwriting regions of the current version of the file currently retained by the client system which correspond to the first set of regions of the file that changed between the first incremental backup and the second incremental backup, and which correspond to the second set of regions of the file that changed between the second incremental backup and the time of the request.

2. The system of claim 1 , wherein the second incremental backup corresponds to a most recent backup performed at the time of the request, and the version of the file retained by the client system represents a current version of the file stored on the client system at the time of the request.

3. The system of claim 1 , wherein identifying the second set of regions of the file that changed between the second incremental backup and the time of the request includes: identifying the second set of regions from change tracking information maintained by the primary storage system, the change tracking information including changes to the file not yet stored as part of the set of incremental backups.

4. The system of claim 1 , wherein the deduplication storage system maintains data lineage information including a list of changed regions of the file between each of the incremental backups performed, and

identifying the first set of regions includes accessing the data lineage information to identify the list of changed regions of the file between the first incremental backup and the second incremental backup as the first set of regions.

5. The system of claim 1 , wherein identifying the first set of regions of the file that changed between the first incremental backup and the second incremental backup includes:

comparing fingerprints of regions of the file at the first point-in-time with fingerprints of regions of the file at the second point-in-time; and

identifying, based on the comparison, the regions with different fingerprints as the first set of regions.

6. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to: determine a resource requirement to restore the file to the first point-in-time using only the first set of regions and the second set of regions satisfies a predetermined resource threshold.

7. The system of claim 1 , wherein the first set of regions are retrieved from the secondary storage system without reading the regions of the file at the first point-in-time that have not changed since performing the first incremental backup.

8. A method comprising:

performing a set of incremental backups of a file stored on a client system to a deduplication storage system, the set of incremental backups including at least a first incremental backup of the file stored on a secondary storage system and a second incremental backup of the file, created after the first incremental backup, and stored on a primary storage system;

receiving a request to restore the file to a first point-in-time associated with the first incremental backup;

determining a current version of the file retained at the client system at a time that the request to restore the file to the first point-in-time was received;

identifying a first set of regions of the file that changed between the first incremental backup associated with the first point-in-time and the second incremental backup associated with a second point-in-time, and a second set of regions of the file that changed between the second incremental backup and the time of the request;

retrieving only the first set of regions from the first incremental backup of the file stored on a secondary storage system, and only the second set of regions from the second incremental backup of the file stored on the primary storage system;

providing the first set of regions to the client system from the secondary storage system, and the second set of regions to the client system from the primary storage system; and

initiating a restore of the file to the first point-in-time by overwriting regions of the current version of the file currently retained by the client system which correspond to the first set of regions of the file that changed between the first incremental backup and the second incremental backup, and which correspond to the second set of regions of the file that changed between the second incremental backup and the time of the request.

9. The method of claim 8 , wherein the second incremental backup corresponds to a most recent backup performed at the time of the request, and the current version of the file retained by the client system represents a current version of the file stored on the client system at the time of the request.

10. The method of claim 8 , wherein identifying the second set of regions of the file that changed between the second incremental backup and the time of the request includes:

identifying the second set of regions from change tracking information maintained by the primary storage system, the change tracking information including changes to the file not yet stored as part of the set of incremental backups.

11. The method of claim 8 , wherein the deduplication storage system maintains data lineage information including a list of changed regions of the file between each of the incremental backups performed, and

identifying the first set of regions includes accessing the data lineage information to identify the list of changed regions of the file between the first incremental backup and the second incremental backup as the first set of regions.

12. The method of claim 8 , wherein identifying the first set of regions of the file that changed between the first incremental backup and the second incremental backup includes:

comparing fingerprints of regions of the file at the first point-in-time with fingerprints of regions of the file at the second point-in-time; and

identifying, based on the comparison, the regions with different fingerprints as the first set of regions.

13. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

perform a set of incremental backups of a file stored on a client system to a deduplication storage system, the set of incremental backups including at least a first incremental backup of the file stored on a secondary storage system and a second incremental backup of the file, created after the first incremental backup, and stored on a primary storage system;

receive a request to restore the file to a first point-in-time associated with the first incremental backup;

determine a current version of the file retained at the client system at a time that the request to restore the file to the first point-in-time was received;

identify a first set of regions of the file that changed between the first incremental backup associated with the first point-in-time and the second incremental backup associated with a second point-in-time, and a second set of regions of the file that changed between the second incremental backup and the time of the request;

retrieve only the first set of regions from the first incremental backup of the file stored on a secondary storage system, and only the second set of regions from the second incremental backup of the file stored on the primary storage system;

provide the first set of regions to the client system from the secondary storage system, and the second set of regions to the client system from the primary storage system; and

initiate a restore of the file to the first point-in-time by overwriting regions of the current version of the file currently retained by the client system which correspond to the first set of regions of the file that changed between the first incremental backup and the second incremental backup, and which correspond to the second set of regions of the file that changed between the second incremental backup and the time of the request.

14. The computer program product of claim 13 , wherein the second incremental backup corresponds to a most recent backup performed at the time of the request, and the current version of the file retained by the client system represents a current version of the file stored on the client system at the time of the request.

15. The computer program product of claim 13 , wherein identifying the second set of regions of the file that changed between the second incremental backup and the time of the request includes:

identifying the second set of regions from change tracking information maintained by the storage system, the change tracking information including changes to the file not yet stored as part of the set of incremental backups.

16. The computer program product of claim 13 , wherein the deduplication storage system maintains data lineage information including a list of changed regions of the file between each of the incremental backups performed, and

identifying the first set of regions includes accessing the data lineage information to identify the list of changed regions of the file between the first incremental backup and the second incremental backup as the first set of regions.

17. The computer program product of claim 13 , wherein identifying the first set of regions of the file that changed between the first incremental backup and the second incremental backup includes:

comparing fingerprints of regions of the file at the first point-in-time with fingerprints of regions of the file at the second point-in-time; and

identifying, based on the comparison, the regions with different fingerprints as the first set of regions.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: LEWIS, DONNA BARRY; MADAN, NITIN; GODBOLE, KEDAR SADANAND; VISWANATHAN, SRIKANT; BHANJOIS, BHIMSEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056685/0170 →
Priority Claims (1)
IN 202141023620 · May 27, 2021 · national
Continuity (1)
Related Publication 20220382647A1 · Dec 1, 2022