IP Library Granted Patent US 11,386,122
Granted Patent B2
US 11,386,122 · App. 16/713,734 · Granted Jul 12, 2022

Self healing fast sync any point in time replication systems using augmented Merkle trees

Inventors: Jehuda Shemer (Kfar Saba, IL); Alex Solan (Hertzelia, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/273G06F9/546G06F11/1492G06F16/128G06F16/137G06F16/2246G06F16/2322G06F2201/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,386,122
App. No.
16/713,734
Granted
Jul 12, 2022
Kind
B2
Abstract

Replication operations of replicating data from a production site to a replica site. The replication is performed using independent Merkle trees. The Merkle trees are updated asynchronously using Merkle trees that have been augmented with a time-based value. The synchronization is verified by comprising root hashes of the independent Merkle trees at certain points in time. The replication and Merkle trees are self-healing and trigger a resynchronization when a discrepancy is discovered.

Claims (32)

1. A method for replicating data associated with a production site to a replica site, wherein the production site is associated with a production tree and the replica site is associated with a replica tree, the method comprising:

updating leaf nodes of the production tree up to a time related value;

updating leaf nodes of the replica tree asynchronously with respect to the production tree up to the time related value;

adding references to leaf nodes that have been updated in the production tree to a first list;

adding references to leaf nodes that have been updated in the replica tree to a second list;

after the leaf nodes of the production tree and the replica tree have been updated, updating other nodes in the production tree and in the replica tree based on, respectively the first list and the second list such that the production tree and the replica tree represent the data at the time related value; and

determining that replica site is synchronized with the production site at the time related value when a top value of the production tree matches a top value of the replica tree.

2. The method of claim 1 , further comprising updating leaf nodes of the production tree asynchronously with respect to the replica tree.

3. The method of claim 1 , further comprising updating the leaf nodes of the replica tree once for a given set of input/outputs, wherein the given set of input/outputs corresponds to the time related value.

4. The method of claim 1 , further comprising queuing input/outputs for the replica tree in a queue and queuing the input/outputs for the production tree in a different queue.

5. The method of claim 1 , wherein the top value of the production tree is a root hash and the top value of the replica tree is a root hash, further comprising sending the root hash of the replica tree to a sync engine when closing a snapshot by the replica site and sending the root hash of the production tree to the sync engine when closing the snapshot by the production site.

6. The method of claim 5 , further comprising comparing the root hash from the production site with the root hash from the replica site for a specific snapshot or for the time related value.

7. The method of claim 6 , further comprising performing a resynchronization when the root hash of the production site does not match the root hash of the replica site.

8. The method of claim 1 , further comprising, when any of the other nodes are updated, these nodes are updated a single time for a particular snapshot.

9. The method of claim 1 , further comprising coordinating time differences between a time when the replica tree is updated and a time when the production tree is updated.

10. The method of claim 1 , further comprising monitoring the production site and splitting IOs (Input/Outputs).

11. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations for replicating data of a production site to a replica site, the operations comprising:

updating leaf nodes of a production tree associated with the production site up to a time related value;

updating leaf nodes of a replica tree associated with the replica site asynchronously with respect to the production tree up to the time related value,

adding references to leaf nodes that have been updated in the production tree to a first list;

adding references to lead nodes that have been updated in the replica tree to a second list;

after the leaf nodes of the production tree and the replica tree have been updated, updating other nodes in the production tree and in the replica tree based on, respectively, the first list and the second list such that the production tree and the replica tree represent the data at the time related value; and

determining that replica site is synchronized with the production site at the time related value when a top value of the production tree matches a top value of the replica tree.

12. The non-transitory storage medium of claim 11 , the operations further comprising updating leaf nodes of the production tree asynchronously with respect to the replica tree.

13. The non-transitory storage medium of claim 11 , the operations further comprising updating the leaf nodes of the replica tree once for a given set of input/outputs, wherein the given set of input/outputs corresponds to the time related value.

14. The non-transitory storage medium of claim 11 , the operations further comprising queuing input/outputs for the replica tree in a queue and queuing the input/outputs for the production tree in a different queue.

15. The non-transitory storage medium of claim 11 , wherein the top value of the production tree is a root hash and the top value of the replica tree is a root hash, the operations further comprising sending the root hash of the replica tree to a sync engine when closing a snapshot by the replica site and sending the root hash of the production tree to the sync engine when closing the snapshot by the production site.

16. The non-transitory storage medium of claim 15 , the operations further comprising comparing the root hash from the production site with the root hash from the replica site for the snapshot or for a specific time related value.

17. The non-transitory storage medium of claim 16 , the operations further comprising performing a resynchronization when the root hash of the production site does not match the root hash of the replica site.

18. The non-transitory storage medium of claim 11 , the operations further comprising, when any of the other nodes are updated, these nodes are updated a single time for a particular snapshot.

19. The non-transitory storage medium of claim 11 , the operations further comprising coordinating time differences between a time when the replica tree is updated and a time when the production tree is updated.

20. The non-transitory storage medium of claim 11 , the operations further comprising monitoring the production site and splitting IOs (Input/Outputs).

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) 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 CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
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 INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2019
From: SHEMER, JEHUDA; SOLAN, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051277/0712 →