IP Library Granted Patent US 11,893,263
Granted Patent B2
US 11,893,263 · App. 17/731,020 · Granted Feb 6, 2024

Coordinated checkpoints among storage systems implementing checkpoint-based replication

Inventor: Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F1/08G06F3/067G06F3/0619G06F3/0659
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,893,263
App. No.
17/731,020
Filed
Apr 27, 2022
Granted
Feb 6, 2024
Kind
B2
Examiner
GU, SHAWN X
Art Unit
2138
USPC
711/162
Abstract

Coordinated checkpoints among storage systems implementing checkpoint-based replication, including orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems; and coordinating a replication of the one or more coordinated lightweight checkpoints from the two or more source storage systems to two or more target storage systems.

Claims (44)

1. A method comprising:

orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems that each store a local portion of the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to two or more target storage systems; and

determining, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.

2. The method of claim 1 , wherein a coordinated lightweight checkpoint represents a coordinated point in time for the source dataset that is coordinated, by a source coordinator, across the two or more source storage systems.

3. The method of claim 1 , wherein a source coordinator coordinates, for each coordinated lightweight checkpoint, the two or more source storage systems to generate respective local lightweight checkpoints for their respective local portions of the source dataset.

4. The method of claim 3 , wherein the two or more source storage systems are paired with the two or more target storage systems for replication; and wherein the respective local lightweight checkpoints are replicated between replication pairs.

5. The method of claim 4 , wherein a replication link between a replicating pair employs a near-synchronous replication policy.

6. The method of claim 1 , wherein at least one first source storage system and at least one second source storage system employ different storage implementations.

7. The method of claim 1 , wherein orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems includes:

identifying respective local clock values of the two or more source storage systems;

identifying a messaging delay value for the two or more source storage systems;

determining, based on at least the respective local clock values and messaging delay value, a coordinated time period; and

orchestrating a first coordinated lightweight checkpoint by requesting the two or more source storage systems to generate a first set of respective local lightweight checkpoints during the coordinated time period.

8. The method of claim 7 further comprising:

orchestrating a second coordinated lightweight checkpoint by requesting, without identifying updated respective local clock values, the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.

9. The method of claim 7 further comprising:

orchestrating a series of subsequent coordinated lightweight checkpoints by requesting the two or more source storage systems to generate a series of local lightweight checkpoints based on a particular time interval.

10. The method of claim 7 further comprising:

recalculating a clock variance based on updated respective local clock values of the two or more source storage systems to avoid excessive clock drift; and

orchestrating a second coordinated lightweight checkpoint, based on the recalculated clock variance, by requesting the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.

11. The method of claim 10 , wherein, in response to detecting an excessive clock drift, a previous coordinated lightweight checkpoint is indicated as potentially invalid.

12. The method of claim 7 , wherein a second coordinated lightweight checkpoint is orchestrated by the two or more source storage systems autonomously generating a second set of respective local lightweight checkpoints during a second coordinated time period that is based on the coordinated time period.

13. A system comprising:

two or more source storage systems that each store a local portion of a source dataset;

two or more target storage systems that are replication targets of the two or more source storage systems;

a source coordinator device configured to orchestrate one or more coordinated lightweight checkpoints for the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to the two or more target storage systems; and

a target coordinator device configured to determine, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.

14. The system of claim 13 , wherein orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across the two or more source storage systems includes:

identifying respective local clock values of the two or more source storage systems;

identifying a messaging delay value for the two or more source storage systems;

determining, based on at least the respective local clock values and the messaging delay value, a coordinated time period; and

orchestrating a first coordinated lightweight checkpoint by requesting the two or more source storage systems to generate a first set of respective local lightweight checkpoints during the coordinated time period.

15. The system of claim 14 , wherein the source coordinator device is further configured to:

orchestrate a second coordinated lightweight checkpoint by requesting, without identifying updated respective local clock values, the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.

16. The system of claim 14 , wherein the source coordinator device is further configured to:

orchestrate a series of subsequent coordinated lightweight checkpoints by requesting the two or more source storage systems to generate a series of local lightweight checkpoints based on a particular time interval.

17. The system of claim 14 , wherein the source coordinator device is further configured to:

recalculate a clock variance based on updated respective local clock values of the two or more source storage systems to avoid excessive clock drift; and

orchestrate a second coordinated lightweight checkpoint, based on the recalculated clock variance, by requesting the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.

18. The system of claim 14 , wherein a second coordinated lightweight checkpoint is orchestrated by the two or more source storage systems autonomously generating a second set of respective local lightweight checkpoints during a second coordinated time period that is based on the coordinated time period.

19. The system of claim 13 , wherein the source coordinator device is comprised in one of the two or more source storage systems.

20. A computer program product disposed on a non-transitory computer readable storage medium, the computer program product including computer program instructions that, when executed, carry out the steps of:

orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems that each store a local portion of the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to two or more target storage systems; and

determining, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2022
From: KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 060142/0501 →
Continuity (3)
Continuation In Part 17514784 · Oct 29, 2021
Provisional Application 63298161 · Jan 10, 2022
Related Publication 20230137525A1 · May 4, 2023