IP Library Granted Patent US 10,496,668
Granted Patent B1
US 10,496,668 · App. 15/195,109 · Granted Dec 3, 2019

Optimized tender processing of hash-based replicated data

Inventors: David Meiri (Cambridge, MA); Xiangping Chen (Sherborn, MA); William R. Stronge (Westford, MA)
Assignee: EMC IP Holding Company LLC
G06F16/27G06F16/2255
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,496,668
App. No.
15/195,109
Granted
Dec 3, 2019
Kind
B1
Abstract

A system, computer program product, and computer-executable method of optimizing replication between a first Content Addressable Storage (CAS) system and a second CAS system, the system, computer program product, and computer-executable method including analyzing the first CAS system and the second CAS system to determine an amount of differences between the first CAS system and the second CAS system, upon determining that the amount of differences are below a threshold amount, sending a set of replication information to the second CAS system, wherein the set of information includes a first address and a first hash for a portion of data stored on the first CAS system, analyzing, at the second CAS system, the set of replication information to determine whether to request that the first CAS system send data associated with the set of replication information; upon a negative determination, sending the data associated with the set of replication information.

Claims (72)

1. A computer-executable method of optimizing replication between a first Content Addressable Storage (CAS) system and a second CAS system, the computer-executable method comprising:

analyzing the first CAS system and the second CAS system to determine an amount of differences between the first CAS system and the second CAS system;

upon determining that the amount of differences is below a threshold amount,

sending a set of replication information to the second CAS system, wherein the set of information includes a first address and a first hash for a portion of data stored on the first CAS system;

analyzing, at the second CAS system, the set of replication information to determine whether to request that the first CAS system send data associated with the set of replication information, wherein the analyzing comprises determining, at the second CAS system, hash handles associated with the first address and the first hash;

upon a negative determination, sending the data associated with the set of replication information.

2. The computer-executable method of claim 1 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

searching a hash metadata table (HMD), at the second CAS system, to determine whether the first hash handle exists;

upon a negative determination, returning a failure signal to the first CAS system.

3. The computer-executable method of claim 1 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

determining whether the first hash handle exists on the second CAS system;

upon a positive determination, comparing the first hash handle with a second hash handle, wherein the second hash handle is associated with a second address within an address to hash handle (A2H) table on the second CAS system;

upon determining that the first hash handle and the second hash handle are identical, returning a success signal to the first CAS system.

4. The computer-executable method of claim 3 , wherein the analyzing further comprises:

upon determining that the first hash handle and the second hash handle are not identical, updating the second handle with the first hash handle; and

returning a success signal to the first CAS system.

5. The computer-executable method of claim 1 , further comprising:

upon a positive determination, sending a second set of replication information.

6. A system, comprising:

a distributed data storage system including a first Content Addressable Storage (CAS) system and a second CAS system; and

computer-executable program logic encoded in memory of one or more computers enabled to optimize replication between the first CAS system and the second CAS system, wherein the computer-executable program logic is configured for the execution of:

analyzing the first CAS system and the second CAS system to determine an amount of differences between the first CAS system and the second CAS system;

upon determining that the amount of differences is below a threshold amount,

sending a set of replication information to the second CAS system, wherein the set of information includes a first address and a first hash for a portion of data stored on the first CAS system;

analyzing, at the second CAS system, the set of replication information to determine whether to request that the first CAS system send data associated with the set of replication information, wherein the analyzing comprises determining, at the second CAS system, hash handles associated with the first address and the first hash;

upon a negative determination, sending the data associated with the set of replication information.

7. The system of claim 6 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

searching a hash metadata table (HMD), at the second CAS system, to determine whether the first hash handle exists;

upon a negative determination, returning a failure signal to the first CAS system.

8. The system of claim 6 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

determining whether the first hash handle exists on the second CAS system;

upon a positive determination, comparing the first hash handle with a second hash handle, wherein the second hash handle is associated with a second address within an address to hash handle (A2H) table on the second CAS system;

upon determining that the first hash handle and the second hash handle are identical, returning a success signal to the first CAS system.

9. The system of claim 8 , wherein the analyzing further comprises:

upon determining that the first hash handle and the second hash handle are not identical, updating the second handle with the first hash handle; and

returning a success signal to the first CAS system.

10. The system of claim 6 , wherein the computer-executable program logic is further configured for the execution of:

upon a positive determination, sending a second set of replication information.

11. A computer program product for optimizing replication between a first Content Addressable Storage (CAS) system and a second CAS system, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured to enable the execution of:

analyzing the first CAS system and the second CAS system to determine an amount of differences between the first CAS system and the second CAS system;

upon determining that the amount of differences is below a threshold amount,

sending a set of replication information to the second CAS system, wherein the set of information includes a first address and a first hash for a portion of data stored on the first CAS system;

analyzing, at the second CAS system, the set of replication information to determine whether to request that the first CAS system send data associated with the set of replication information, wherein the analyzing comprises determining, at the second CAS system, hash handles associated with the first address and the first hash;

upon a negative determination, sending the data associated with the set of replication information.

12. The computer program product of claim 11 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

searching a hash metadata table (HMD), at the second CAS system, to determine whether the first hash handle exists;

upon a negative determination, returning a failure signal to the first CAS system.

13. The computer program product of claim 11 , wherein the analyzing comprises:

creating, at the second CAS system, a first hash handle associated with the first hash received from the first CAS system;

determining whether the first hash handle exists on the second CAS system;

upon a positive determination, comparing the first hash handle with a second hash handle, wherein the second hash handle is associated with a second address within an address to hash handle (A2H) table on the second CAS system;

upon determining that the first hash handle and the second hash handle are identical, returning a success signal to the first CAS system.

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

upon determining that the first hash handle and the second hash handle are not identical, updating the second handle with the first hash handle; and

returning a success signal to the first CAS system.

15. The computer-executable method of claim 11 , the code further configured to enable the execution of:

upon a positive determination, sending a second set of replication information.

16. The method of claim 1 wherein determining that the amount of differences is below a threshold amount further comprises:

performing a modified replication process based on the determined amount of differences.

17. The method of claim 16 further comprising:

performing the modified replication process to reduce latency between the first CAS system and the second CAS system.

18. The method of claim 17 wherein latency is reduced by reading a hash handle on the second CAS system instead of the first hash, wherein the hash handle is associated with the first hash.

19. The method of claim 16 further comprising:

performing the modified replication process to reduce an amount of time required to complete replication between the first CAS system and the second CAS system.

20. The method of claim 1 wherein determining that the amount of differences is below a threshold amount further comprises:

determining that data on the second CAS system is nearly identical to data on the first CAS system.

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 (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
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 Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: MEIRI, DAVID; CHEN, XIANGPING; STRONGE, WILLIAM
To: EMC CORPORATION
Reel/Frame 039271/0849 →