IP Library Granted Patent US 10,915,409
Granted Patent B2
US 10,915,409 · App. 15/962,235 · Granted Feb 9, 2021

Caching of backup chunks

Inventors: Balaji Panchanathan (Bangalore, IN); Arun Sambamoorthy (Bangalore, IN); Satchidananda Patra (Bangalore, IN); Pravin Kumar Ashok Kumar (Bangalore, IN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F11/1451G06F11/1469G06F11/1456
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 10,915,409
App. No.
15/962,235
Granted
Feb 9, 2021
Kind
B2
Abstract

Contents of a plurality of backups that share a common characteristic are profiled. A portion of the plurality of backups is selected as a base backup reference data to be distributed. A first copy of the base backup reference data is stored at a storage of a backup server. A second copy of the base backup reference data is provided for storage at a storage of a client that shares the common characteristic. The client is located remotely from the backup server.

Claims (36)

1. A system, comprising:

a hardware processor configured to:

identify data associated with a remote client that is to be restored;

identify one or more data chunks of the identified data to be restored;

determine whether one of the one or more data chunks is included in a base backup reference dataset based on a comparison of a hash value associated with the one of the one or more data chunks and corresponding hash values associated with a plurality of data chunks included in the base backup reference dataset, wherein the base backup reference dataset includes a subset of data chunks that were selected from a set of data chunks that were included in a plurality of backups of a plurality of clients, wherein the data chunks included in the subset were selected based on a number of times each of the data chunks included in the subset was included in the plurality of backups of the plurality of clients; and

restore the one of the one or more data chunks to the remote client based on a determination that the one of the one or more data chunks is not included in the base backup reference dataset; and

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

2. The system of claim 1 , wherein the data associated with the remote client that is to be restored is identified by a client system that desires to restore the data.

3. The system of claim 1 , wherein the remote client is to be restored in the event the remote client has encountered an error with the data associated with the remote client that is to be restored.

4. The system of claim 1 , wherein to determine whether one of the one or more data chunks is included in a base backup reference dataset, the hardware processor is further configured to:

hash the one of the one or more data chunks using a hash function; and

determine whether a result of the hash function matches an identifier of a data chunk included in the base backup reference dataset.

5. The system of claim 4 , wherein to determine whether a result of the hash function matches an identifier of a data chunk included in the base backup reference dataset, the hardware processor is further configured to determine whether the result of the hash function is included in a hash table of the base backup reference dataset.

6. The system of claim 1 , wherein in response to a determination that the one of the one or more data chunks is included in the base backup reference dataset, the one of the one or more data chunks is not restored to the remote client.

7. The system of claim 6 , wherein an identifier of the one of the one or more data chunks is provided instead of one of the one or more data chunks.

8. The system of claim 1 , wherein the hardware processor is further configured to determine whether an unprocessed data chunk of the one or more data chunks exists.

9. The system of claim 8 , wherein in response to determining that an unprocessed data chunk of the one or more data chunks exists, the hardware processor is further configured to determine whether the unprocessed data chunk is included in the base backup reference dataset.

10. The system of claim 8 , wherein in response to determining that an unprocessed data chunk of the one or more data chunks does not exist, the hardware processor is further configured to provide the one or more data chunks that were determined not to be included in the base backup reference dataset.

11. A method, comprising:

identifying data associated with a remote client that is to be restored;

identifying one or more data chunks of the identified data to be restored;

determining whether one of the one or more data chunks is included in a base backup reference dataset based on comparing a hash value associated with the one of the one or more data chunks and corresponding hash values associated with a plurality of data chunks included in the base backup reference dataset, wherein the base backup reference dataset includes a subset of data chunks that were selected from a set of data chunks that were included in a plurality of backups of a plurality of clients, wherein the data chunks included in the subset were selected based on a number of times each of the data chunks included in the subset was included in the plurality of backups of the plurality of clients; and

restoring the one of the one or more data chunks to the remote client based on determining that the one of the one or more data chunks is not included in the base backup reference dataset.

12. The method of claim 11 , wherein determining whether one of the one or more data chunks is included in the base backup reference dataset comprises:

hashing the one of the one or more data chunks using a hash function; and

determining whether a result of the hash function matches an identifier of a data chunk included in the base backup reference dataset.

13. The method of claim 12 , wherein determining whether a result of the hash function matches an identifier of a data chunk included in the base backup reference dataset includes determining whether the result of the hash function is included in a hash table of the base backup reference dataset.

14. The method of claim 11 , wherein in response to determining that the one of the one or more data chunks is included in the base backup reference dataset, a copy of the one of the one or more data chunks is not provided to the remote client.

15. The method of claim 14 , wherein an identifier of the one of the one or more data chunks is provided instead of one of the one or more data chunks.

16. The method of claim 11 , further comprising determining whether an unprocessed data chunk of the one or more data chunks exists.

17. The method of claim 16 , wherein in response to determining that an unprocessed data chunk of the one or more data chunks exists, determining whether the unprocessed data chunk is included in the base backup reference dataset.

18. A computer program product, the computer program product being embodied on a non-transitory computer readable medium comprising instructions for:

identifying data associated with a remote client that is to be restored;

identifying one or more data chunks of the identified data to be restored;

determining whether one of the one or more data chunks is included in a base backup reference dataset based on a comparison of a hash value associated with the one of the one or more data chunks and corresponding hash values associated with a plurality of data chunks included in the base backup reference dataset, wherein the base backup reference dataset includes a subset of data chunks that were selected from a set of data chunks that were included in a plurality of backups of a plurality of clients, wherein the data chunks included in the subset were selected based on a number of times each of the data chunks included in the subset was included in the plurality of backups of the plurality of clients; and

restoring the one of the one or more data chunks to the remote client based on determining that the one of the one or more data chunks is not included in the base backup reference dataset.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046593/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: PANCHANATHAN, BALAJI; SAMBAMOORTHY, ARUN; PATRA, SATCHIDANANDA; KUMAR, PRAVIN KUMAR ASHOK
To: EMC CORPORATION
Reel/Frame 046403/0526 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
Continuity (3)
Continuation 15475436 · Mar 31, 2017
Continuation 14293977 · Jun 2, 2014
Related Publication 20180314604A1 · Nov 1, 2018