IP Library › Granted Patent US 11,113,153
Granted Patent B2
US 11,113,153 · App. 15/661,682 · Granted Sep 7, 2021

Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network

Inventors: Assaf Natanzon (Tel Aviv, IL); Simon Zhang (Chengdu Sichuan, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1453G06F3/067G06F3/0608G06F3/0641G06F11/1464G06F16/1748G06F16/2255G06F16/2365G06F16/951H04L63/123G06F16/1752G06F16/90344G06F2201/80
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,113,153
App. No.
15/661,682
Filed
Jul 27, 2017
Granted
Sep 7, 2021
Kind
B2
Art Unit
2158
USPC
707/692
Abstract

A method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network. Specifically, the disclosed method and system extend the functionality of data deduplication storage systems to include querying other data deduplication storage systems on the cloud local area network for fingerprints, corresponding to data chunks, when these fingerprints and data chunks are not stored locally. The transfer of data chunks between one data deduplication storage system to another through the cloud local area network may be a faster and cheaper alternative to the transfer of data chunks between a data deduplication storage system and a client through a wide area network.

Claims (92)

1. A method for implementing data chunk transfer by a protection storage system (PSS), the method comprising:

performing an optimization protocol by maintaining a fingerprint hit probability (FHP), for each PSS of a set of PSSs to obtain a set of FHPs, wherein the FHP is a ratio of a number of query responses indicating a fingerprint match to a number query of responses indicating no fingerprint match;

selecting, based on the FHPs, a first subset of PSSs of the set of PSSs;

receiving, by a first protection storage system (PSS), a first backup request from a client, wherein the first backup request comprises a first fingerprint, wherein the first fingerprint is a digital signature that uniquely identifies a first data chunk, wherein the client and the first PSS are connected via a wide area network (WAN);

generating a first fingerprint query comprising the first fingerprint;

transmitting the first fingerprint query to the first subset of PSSs, wherein the first PSS and the first subset of PSSs are connected via a local area network (LAN);

obtaining, in response to the first fingerprint query and from a second PSS of the first subset of PSSs, the first data chunk; and

updating, in response to obtaining the first data chunk from the second PSS, a fingerprint hit probability (FHP) associated with the second PSS,

wherein the performing of the optimization protocol further comprises:

receiving a set of backup requests from the client, wherein a cardinality of the set of backup requests meets a predefined request count criterion;

maintaining, based on the set of backup requests, the FHP for each PSS of the set of PSSs to obtain the set of FHPs; and

assessing each FHP of the set of FHPs to select the first subset of PSSs.

2. The method of claim 1 , wherein assessing each FHP of the set of FHPs to select the first subset of PSSs, comprises:

determining that the each FHP meets a predefined hit probability criterion;

identifying, based on the determining, each PSS associated with the each FHP as a fingerprint query recipient; and

including, based on the identifying, the each PSS into the first subset of PSSs.

3. The method of claim 1 , further comprising:

prior to generating the first fingerprint query:

determining that the first fingerprint is not stored in a local fingerprint database,

wherein, in response to the determining, the first fingerprint query is generated.

4. The method of claim 1 , further comprising:

after obtaining the first data chunk:

generating, in a local data chunk database, a first database entry comprising a new storage ID and the first data chunk;

generating, in a local fingerprint database, a second database entry comprising the first fingerprint and the new storage ID; and

issuing, to the client, a backup response indicating that a data chunk corresponding to the first fingerprint is already stored.

5. The method of claim 1 , further comprising:

after obtaining the first data chunk:

receiving, from the client, a second backup request comprising a second fingerprint;

generating a second fingerprint query comprising the second fingerprint;

transmitting the second fingerprint query to a second subset of PSSs of the set of PSSs;

receiving a set of query responses from the second subset of PSSs;

determining, based on the set of query responses, that none of the PSS of the second subset of PSSs contains the second fingerprint; and

obtaining, in response to the determining, a second data chunk associated with the second fingerprint from the client.

6. The method of claim 1 , further comprising:

after obtaining the first data chunk:

receiving, from the client, a second backup request comprising a second fingerprint;

determining that the second fingerprint is stored in a local fingerprint database; and

issuing, in response to the determining and to the client, a backup response indicating that a data chunk corresponding to the second fingerprint is already stored.

7. A system, comprising:

a set of protection storage systems (PSSs); and

a client operatively connected to the set of PSSs by way of a wide area network (WAN),

wherein a first PSS of the set of PSSs comprises a non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by the first PSS, enables the first PSS to perform a method comprising:

performing an optimization protocol by maintaining a fingerprint hit probability (FHP), for each PSS of the set of PSSs to obtain a set of FHPs, wherein the FHP is a ratio of a number of query responses indicating a fingerprint match to a number query of responses indicating no fingerprint match;

selecting, based on the FHPs, a first subset of PSSs of the set of PSSs;

receiving, by the first PSS, a first backup request from the client, wherein the first backup request comprises a first fingerprint, wherein the first fingerprint is a digital signature that uniquely identifies a first data chunk;

generating a first fingerprint query comprising the first fingerprint;

transmitting the first fingerprint query to the first subset of PSSs of the set of PSSs, wherein the first PSS and the first subset of PSSs are connected via a local area network (LAN);

obtaining, in response to the first fingerprint query and from a second PSS of the first subset of PSSs, the first data chunk; and

updating, in response to obtaining the first data chunk from the second PSS, a fingerprint hit probability (FHP) associated with the second PSS,

wherein the performing of the optimization protocol further comprises:

receiving a set of backup requests from the client, wherein a cardinality of the set of backup requests meets a predefined request count criterion;

maintaining, based on the set of backup requests, the FHP for each PSS of the set of PSSs to obtain the set of FHPs; and

assessing each FHP of the set of FHPs to select the first subset of PSSs.

8. The system of claim 7 , wherein the system is deployed as a data deduplication system.

9. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to perform a method for implementing data chunk transfer by a Protection Storage System (PSS), the method comprising:

performing an optimization protocol by maintaining a fingerprint hit probability (FHP), for each PSS of a set of PSSs to obtain a set of FHPs, wherein the FHP is a ratio of a number of query responses indicating a fingerprint match to a number query of responses indicating no fingerprint match;

selecting, based on the FHPs, a first subset of PSSs of the set of PSSs;

receiving, by a first protection storage system (PSS), a first backup request from a client, wherein the first backup request comprises a first fingerprint, wherein the first fingerprint is a digital signature that uniquely identifies a first data chunk, wherein the client and the first PSS are connected via a wide area network (WAN);

generating a first fingerprint query comprising the first fingerprint;

transmitting the first fingerprint query to the first subset of PSSs, wherein the first PSS and the first subset of PSSs are connected via a local area network (LAN);

obtaining, in response to the first fingerprint query and from a second PSS of the first subset of PSSs, the first data chunk; and

updating, in response to obtaining the first data chunk from the second PSS, a fingerprint hit probability (FHP) associated with the second PSS,

wherein the performing of the optimization protocol further comprises:

receiving a set of backup requests from the client, wherein a cardinality of the set of backup requests meets a predefined request count criterion;

maintaining, based on the set of backup requests, the FHP for each PSS of the set of PSSs to obtain the set of FHPs; and

assessing each FHP of the set of FHPs to select the first subset of PSSs.

10. The non-transitory CRM of claim 9 , wherein the method further comprises:

determining that the each FHP meets a predefined hit probability criterion;

identifying, based on the determining, each PSS associated with the each FHP as a fingerprint query recipient; and

including, based on the identifying, the each PSS into the first subset of PSSs.

11. The non-transitory CRM of claim 9 , wherein the method further comprises:

prior to generating the first fingerprint query:

determining that the first fingerprint is not stored in a local fingerprint database,

wherein, in response to the determining, the first fingerprint query is generated.

12. The non-transitory CRM of claim 9 , wherein the method further comprises:

after obtaining the first data chunk:

generating, in a local data chunk database, a first database entry comprising a new storage ID and the first data chunk;

generating, in a local fingerprint database, a second database entry comprising the first fingerprint and the new storage ID; and

issuing, to the client, a backup response indicating that a data chunk corresponding to the first fingerprint is already stored.

13. The non-transitory CRM of claim 9 , wherein the method further comprises:

after obtaining the first data chunk:

receiving, from the client, a second backup request comprising a second fingerprint;

generating a second fingerprint query comprising the second fingerprint;

transmitting the second fingerprint query to a second subset of PSSs of the set of PSSs;

receiving a set of query responses from the second subset of PSSs;

determining, based on the set of query responses, that none of the PSS of the second subset of PSSs contains the second fingerprint; and

obtaining, in response to the determining, a second data chunk associated with the second fingerprint from the client.

14. The non-transitory CRM of claim 9 , wherein the method further comprises:

after obtaining the first data chunk:

receiving, from the client, a second backup request comprising a second fingerprint;

determining that the second fingerprint is stored in a local fingerprint database; and

issuing, in response to the determining and to the client, a backup response indicating that a data chunk corresponding to the second fingerprint is already stored.

Assignments (8)
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 (043775/0082) 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 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/0606 →
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 Dec 8, 2017
From: NATANZON, ASSAF; ZHANG, SIMON
To: EMC IP HOLDING COMPANY
Reel/Frame 044336/0224 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
Continuity (1)
Related Publication 20190034289A1 · Jan 31, 2019