IP Library Granted Patent US 11,762,738
Granted Patent B2
US 11,762,738 · App. 17/376,964 · Granted Sep 19, 2023

Reducing bandwidth during synthetic restores from a deduplication file system

Inventors: Bhimsen Bhanjois (Freemont, CA); Kedar Godbole (Pune, IN); Donna Barry Lewis (Holly Springs, CA); Nitin Madan (Cupertino, CA); Srikant Viswanathan (Pune, IN)
Assignee: Dell Products L.P.
G06F11/1453G06F16/1748G06F2201/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,762,738
App. No.
17/376,964
Granted
Sep 19, 2023
Kind
B2
Abstract

A request is received to restore a file at a deduplicated storage system to a client. The file resides at the storage system as a synthetic file based on a base file at the storage system. The request includes an indication that the base file is also present at the client. Metadata generated during a backup of the file to the storage system is reviewed. The metadata includes references to data determined to be in the base file at the storage system, and references to other data determined to not be in the base file at the storage system. The other data determined to not be in the base file is read from the storage system and transmitted to the client. Upon receipt, the client assembles the requested file using the base file present at the client and the other data determined to not be in the base file.

Claims (48)

1. A method comprising:

receiving a request to restore a file at a deduplicated storage system to a client, wherein the file resides at the deduplicated storage system as a virtual synthetic file, the virtual synthetic file referencing a base file at the deduplicated storage system, and the request comprising an indication that the base file is also present at the client;

reviewing metadata generated during a backup of the file to the deduplicated storage system, the metadata comprising references to data that was determined to be in the base file at the deduplicated storage system, and references to other data that was determined to not be in the base file at the deduplicated storage system;

reading, from the deduplicated storage system, the other data that was determined to not be in the base file; and

transmitting, to the client, the other data that was determined to not be in the base file, wherein the client upon receipt assembles the file using the base file present at the client and the other data that was determined to not be in the base file.

2. The method of claim 1 further comprising:

in response to the request to restore the file, not reading from the deduplicated storage system the data that was determined to be in the base file.

3. The method of claim 1 further comprising:

during a backup of the file to the deduplicated storage system, deduplicating the file against at least the base file, the deduplicating comprising:

identifying unique and duplicate regions of the file;

writing the unique regions to the deduplicated storage system; and

synthesizing the duplicate regions by tracking offsets and lengths in the base file corresponding to the duplicate regions, and offsets in the file at which the duplicate regions start.

4. The method of claim 1 wherein the metadata is generated before the receiving the request to restore the file.

5. The method of claim 1 further comprising:

comparing a checksum of the base file present at the client with a checksum of the base file at the deduplicated storage system to verify that the base files are identical.

6. The method of claim 1 wherein the metadata comprises a file recipe for the virtual synthetic file, the file recipe comprising lineage information identifying the base file from which the virtual synthetic file was formed, and offset ranges synthesized from the base file to form the virtual synthetic file.

7. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

receiving a request to restore a file at a deduplicated storage system to a client, wherein the file resides at the deduplicated storage system as a virtual synthetic file, the virtual synthetic file referencing a base file at the deduplicated storage system, and the request comprising an indication that the base file is also present at the client;

reviewing metadata generated during a backup of the file to the deduplicated storage system, the metadata comprising references to data that was determined to be in the base file at the deduplicated storage system, and references to other data that was determined to not be in the base file at the deduplicated storage system;

reading, from the deduplicated storage system, the other data that was determined to not be in the base file; and

transmitting, to the client, the other data that was determined to not be in the base file, wherein the client upon receipt assembles the file using the base file present at the client and the other data that was determined to not be in the base file.

8. The system of claim 7 wherein the processor further carries out the steps of:

in response to the request to restore the file, not reading from the deduplicated storage system the data that was determined to be in the base file.

9. The system of claim 7 wherein the processor further carries out the steps of:

during a backup of the file to the deduplicated storage system, deduplicating the file against at least the base file, the deduplicating comprising:

identifying unique and duplicate regions of the file;

writing the unique regions to the deduplicated storage system; and

synthesizing the duplicate regions by tracking offsets and lengths in the base file corresponding to the duplicate regions, and offsets in the file at which the duplicate regions start.

10. The system of claim 7 wherein the metadata is generated before the receiving the request to restore the file.

11. The system of claim 7 wherein the processor further carries out the steps of:

comparing a checksum of the base file present at the client with a checksum of the base file at the deduplicated storage system to verify that the base files are identical.

12. The system of claim 7 wherein the metadata comprises a file recipe for the virtual synthetic file, the file recipe comprising lineage information identifying the base file from which the virtual synthetic file was formed, and offset ranges synthesized from the base file to form the virtual synthetic file.

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

receiving a request to restore a file at a deduplicated storage system to a client, wherein the file resides at the deduplicated storage system as a virtual synthetic file, the virtual synthetic file referencing a base file at the deduplicated storage system, and the request comprising an indication that the base file is also present at the client;

reviewing metadata generated during a backup of the file to the deduplicated storage system, the metadata comprising references to data that was determined to be in the base file at the deduplicated storage system, and references to other data that was determined to not be in the base file at the deduplicated storage system;

reading, from the deduplicated storage system, the other data that was determined to not be in the base file; and

transmitting, to the client, the other data that was determined to not be in the base file, wherein the client upon receipt assembles the file using the base file present at the client and the other data that was determined to not be in the base file.

14. The computer program product of claim 13 wherein the method further comprises:

in response to the request to restore the file, not reading from the deduplicated storage system the data that was determined to be in the base file.

15. The computer program product of claim 13 wherein the method further comprises:

during a backup of the file to the deduplicated storage system, deduplicating the file against at least the base file, the deduplicating comprising:

identifying unique and duplicate regions of the file;

writing the unique regions to the deduplicated storage system; and

synthesizing the duplicate regions by tracking offsets and lengths in the base file corresponding to the duplicate regions, and offsets in the file at which the duplicate regions start.

16. The computer program product of claim 13 wherein the metadata is generated before the receiving the request to restore the file.

17. The computer program product of claim 13 wherein the method further comprises:

comparing a checksum of the base file present at the client with a checksum of the base file at the deduplicated storage system to verify that the base files are identical.

18. The computer program product of claim 13 wherein the metadata comprises a file recipe for the virtual synthetic file, the file recipe comprising lineage information identifying the base file from which the virtual synthetic file was formed, and offset ranges synthesized from the base file to form the virtual synthetic file.

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 Jul 15, 2021
From: BHANJOIS, BHIMSEN; GODBOLE, KEDAR; LEWIS, DONNA BARRY; MADAN, NITIN; VISWANATHAN, SRIKANT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056870/0593 →
Priority Claims (1)
IN 202111023732 · May 27, 2021 · national
Continuity (1)
Related Publication 20220382642A1 · Dec 1, 2022