IP Library Granted Patent US 11,928,085
Granted Patent B2
US 11,928,085 · App. 16/713,146 · Granted Mar 12, 2024

Using merkle trees in any point in time replication

Inventors: Jehuda Shemer (Kfar Saba, IL); Alex Solan (Hertzelia, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/1844G06F11/1448G06F16/137G06F16/178G06F16/9027
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,928,085
App. No.
16/713,146
Granted
Mar 12, 2024
Kind
B2
Abstract

One example method includes performing various operations while a stream of IOs is being applied to a source dataset and replicated to a target dataset, and the operations include receiving a replicated IO that was previously applied to a source dataset Merkle tree, applying the replicated IO to a target dataset Merkle tree by entering an updated hash value in the target dataset Merkle tree, and applying a timestamp to the target dataset Merkle tree.

Claims (28)

1. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors for:

performing, while a stream of Input/Output operations (IOs) is being applied to a source dataset at the same time as the source dataset is being replicated to a target dataset, operations comprising:

receiving a replicated IO that was previously applied to a source dataset tree;

applying the replicated IO to a target dataset tree by entering an updated hash value in the target dataset tree, wherein applying a timestamp to the target dataset tree comprises associating the timestamp with a root hash of the target dataset tree; and

applying a timestamp to the target dataset tree, wherein the timestamp is a single value; and

checking for consistency between the source dataset and the target dataset as of a specific Point-in Time (PiT).

2. The non-transitory storage medium as recited in claim 1 , wherein the source dataset tree and the target dataset tree each comprise a respective Merkle tree.

3. The non-transitory storage medium as recited in claim 1 , wherein each hash in the source dataset tree, and each hash in the target dataset tree, has a respective associated timestamp.

4. The non-transitory storage medium as recited in claim 1 , wherein the stream of IOs comprises one or more of a write operation and a delete operation.

5. The non-transitory storage medium as recited in claim 1 , wherein the replicated IO is a replication of an IO in the stream of IOs.

6. The non-transitory storage medium as recited in claim 1 , wherein the operations further comprise applying the stream of IOs to a source volume and to a target volume.

7. The non-transitory storage medium as recited in claim 1 , wherein the operations further comprise receiving, from a source, a value of a root hash of the source dataset tree.

8. The non-transitory storage medium as recited in claim 1 , wherein the source dataset tree comprises hashes of data blocks stored in a source volume, and the target dataset tree comprises hashes of data blocks stored in a target volume.

9. The non-transitory storage medium as recited in claim 1 , wherein the timestamp of the target dataset tree is the same as a timestamp of the most recent update to the target dataset tree.

10. A method, comprising:

performing, while a stream of Input/Output operations (IOs) is being applied to a source dataset at the same time as the source dataset is being replicated to a target dataset, operations comprising:

receiving a replicated IO that was previously applied to a source dataset tree;

applying the replicated IO to a target dataset tree by entering an updated hash value in the target dataset tree; and

applying a timestamp to the target dataset tree, wherein the timestamp is a single value, wherein applying a timestamp to the target dataset tree comprises associating the timestamp with a root hash of the target dataset tree; and

checking for consistency between the source dataset and the target dataset as of a specific Point-in Time (PiT).

11. The method as recited in claim 10 , wherein the source dataset tree and the target dataset tree each comprise a respective Merkle tree.

12. The method as recited in claim 10 , wherein each hash in the source dataset tree, and each hash in the target dataset tree, has a respective associated timestamp.

13. The method as recited in claim 10 , wherein the stream of IOs comprises one or more of a write operation and a delete operation.

14. The method as recited in claim 10 , wherein the replicated IO is a replication of an IO in the stream of IOs.

15. The method as recited in claim 10 , wherein the operations further comprise applying the stream of IOs to a source volume and to a target volume.

16. The method as recited in claim 10 , wherein the operations further comprise receiving, from a source, a value of a root hash of the source dataset tree.

17. The method as recited in claim 10 , wherein the source dataset tree comprises hashes of data blocks stored in a source volume, and the target dataset tree comprises hashes of data blocks stored in a target volume.

18. The method as recited in claim 10 , wherein the timestamp of the target dataset tree is the same as a timestamp of the most recent update to the target dataset tree.

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 19, 2019
From: SHEMER, JEHUDA; SOLAN, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051335/0500 →