IP Library Granted Patent US 11,100,135
Granted Patent B2
US 11,100,135 · App. 16/038,543 · Granted Aug 24, 2021

Synchronous replication in a storage system

Inventors: Xiangping Chen (Sherborn, MA); Zvi Schneider (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
G06F16/275G06F11/1469G06F2201/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,100,135
App. No.
16/038,543
Granted
Aug 24, 2021
Kind
B2
Abstract

In one aspect, data replication processes include setting a minimum snap set creation interval, a maximum snap set creation interval, and a recovery time threshold (RTT). An aspect further includes creating snap sets during a synchronous replication process based on the snap set creation intervals and the RTT. The snap set creation further includes monitoring an amount of data changes since the last snap set creation, monitoring throughput statistics between a source and target system, and estimating an amount of time to replicate the data changes to the target system based on the data changes and throughput statistics. Upon determining the time to replicate the data changes reaches the RTT and the time since the last snap set creation passes the minimum interval, the snap set creation includes creating a next snap set, storing the next snap set at the source, and replicating the next snap set at the target.

Claims (61)

1. A method, comprising:

setting, via a storage system, a minimum snap set creation interval, the minimum snap set creation interval specifying a minimum amount of elapsed time between a previously created snap set and a next snap set to be created;

setting, via the storage system, a maximum snap set creation interval, the maximum snap set creation interval specifying a maximum amount of elapsed time between the previously created snap set and the next snap set to be created, wherein the maximum amount of elapsed time is greater than the minimum amount of elapsed time;

setting, via the storage system, a recovery time threshold;

creating, at a source system of the storage system, snap sets during a synchronous replication process based on the minimum and maximum snap set creation intervals and the recovery time threshold, the creating snap sets comprising:

monitoring I/O operations to determine an amount of data changes since a last snap set creation, the amount of data changes being a measure of a difference in data via updates received by the source system;

monitoring throughput statistics between the source system and a target system of the storage system;

estimating an amount of time to replicate the data changes to the target system based on the amount of data changes since the last snap set creation and the throughput statistics;

upon determining both the time to replicate the data changes since the last snap set creation reaches the recovery time threshold and the time since the last snap set creation exceeds the minimum snap set creation interval:

creating a next snap set;

storing the next snap set at the source system; and

replicating the next snap set at the target system; and

upon determining the time to replicate the data changes does not reach the recovery time threshold, waiting until the maximum snap set creation interval has been reached before creating the next snap set.

2. The method of claim 1 , wherein the throughput statistics comprise a latency metric between the source system and the target system.

3. The method of claim 1 , wherein:

the recovery time threshold comprises a target time frame to reach a synchronous state during a recovery operation.

4. The method of claim 1 , wherein the amount of data changes comprises a measure of a difference in data via updates received by the source system, the measure of the difference tracked via a counter at the source system.

5. The method of claim 1 , further comprising, in response to a failover event:

performing, via the storage system, incremental synchronous replication between the source system and the target system.

6. The method of claim 1 , wherein the minimum and maximum snap set creation intervals and the recovery time threshold are user-tunable parameters.

7. A system, comprising:

a memory comprising computer-executable instructions; and

a processor operable by a storage system, the processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

setting a minimum snap set creation interval, the minimum snap set creation interval specifying a minimum amount of elapsed time between a previously created snap set and a next snap set to be created;

setting a maximum snap set creation interval, the maximum snap set creation interval specifying a maximum amount of elapsed time between the previously created snap set and the next snap set to be created, wherein the maximum amount of elapsed time is greater than the minimum amount of elapsed time;

setting a recovery time threshold;

creating, at a source system of the storage system, snap sets during a synchronous replication process based on the minimum and maximum snap set creation intervals and the recovery time threshold, the creating snap sets comprising:

monitoring I/O operations to determine an amount of data changes since a last snap set creation, the amount of data changes being a measure of a difference in data via updates received by the source system;

monitoring throughput statistics between the source system and a target system of the storage system;

estimating an amount of time to replicate the data changes to the target system based on the amount of data changes since the last snap set creation and the throughput statistics; and

upon determining both the time to replicate the data changes since the last snap set creation reaches the recovery time threshold and the time since the last snap set creation exceeds the minimum snap set creation interval:

creating a next snap set;

storing the next snap set at the source system; and

replicating the next snap set at the target system; and

upon determining the time to replicate the data changes does not reach the recovery time threshold, waiting until the maximum snap set creation interval has been reached before creating the next snap set.

8. The system of claim 7 , wherein the throughput statistics comprise a latency metric between the source system and the target system.

9. The system of claim 7 , wherein:

the recovery time threshold comprises a target time frame to reach a synchronous state during a recovery operation.

10. The system of claim 7 , wherein the amount of data changes comprises a measure of a difference in data via updates received by the source system, the measure of the difference tracked via a counter at the source system.

11. The system of claim 7 , further comprising, in response to a failover event, the operations further include:

performing incremental synchronous replication between the source system and the target system.

12. The system of claim 7 , wherein the minimum and maximum snap set creation intervals and the recovery time threshold are user-tunable parameters.

13. A computer program product embodied on a non-transitory computer readable medium, the computer program product including instructions that, when executed by a computer, causes the computer to perform operations comprising:

setting a minimum snap set creation interval, the minimum snap set creation interval specifying a minimum amount of elapsed time between a previously created snap set and a next snap set to be created;

setting a maximum snap set creation interval, the maximum snap set creation interval specifying a maximum amount of elapsed time between the previously created snap set and the next snap set to be created, wherein the maximum amount of elapsed time is greater than the minimum amount of elapsed time;

setting a recovery time threshold;

creating, at a source system of the storage system, snap sets during a synchronous replication process based on the minimum and maximum snap set creation intervals and the recovery time threshold, the creating snap sets comprising:

monitoring I/O operations to determine an amount of data changes since a last snap set creation, the amount of data changes being a measure of a difference in data via updates received by the source system;

monitoring throughput statistics between the source system and a target system of the storage system;

estimating an amount of time to replicate the data changes to the target system based on the amount of data changes since the last snap set creation and the throughput statistics;

upon determining both the time to replicate the data changes since the last snap set creation reaches the recovery time threshold and the time since the last snap set creation exceeds the minimum snap set creation interval:

creating a next snap set;

storing the next snap set at the source system; and

replicating the next snap set at the target system; and

upon determining the time to replicate the data changes does not reach the recovery time threshold, waiting until the maximum snap set creation interval has been reached before creating the next snap set.

14. The computer program product of claim 13 , wherein the throughput statistics comprise a latency metric between the source system and the target system.

15. The computer program product of claim 13 , wherein:

the recovery time threshold comprises a target time frame to reach a synchronous state during a recovery operation.

16. The computer program product of claim 13 , wherein the amount of data changes comprises a measure of a difference in data via updates received by the source system, the measure of the difference tracked via a counter at the source system.

17. The computer program product of claim 13 , further comprising, in response to a failover event, the operations further include:

performing incremental synchronous replication between the source system and the target system.

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 (047648/0422) 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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/0510 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 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 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 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 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2018
From: CHEN, XIANGPING; SCHNEIDER, ZVI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046429/0352 →