IP Library Granted Patent US 12,229,430
Granted Patent B2
US 12,229,430 · App. 18/419,809 · Granted Feb 18, 2025

Scheduling replication based on coordinated checkpoints

Inventor: Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F1/08G06F3/0619G06F3/0659G06F3/067
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 12,229,430
App. No.
18/419,809
Granted
Feb 18, 2025
Kind
B2
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 (45)

1. A method comprising:

orchestrating a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and

based on the clock value determination, scheduling different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.

2. The method of claim 1 , wherein a coordinated lightweight checkpoint represents a coordinated point in time for a 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 a source dataset.

4. The method of claim 3 , wherein the two or more source storage systems are paired with 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 a first coordinated time period.

13. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to:

orchestrating a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and

based on the clock value determination, scheduling different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.

14. 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 a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and

based on the clock value determination, schedule different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.

15. The system of claim 14 , 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.

16. The system of claim 15 , 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.

17. The system of claim 15 , 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.

18. The system of claim 15 , 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.

19. The system of claim 15 , 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 a first coordinated time period.

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2024
From: KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 066213/0452 →
Continuity (4)
Continuation 17731020 · Apr 27, 2022
Continuation In Part 17514784 · Oct 29, 2021
Provisional Application 63298161 · Jan 10, 2022
Related Publication 20240311034A1 · Sep 19, 2024
References Cited (30)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20180074748A1 · Makin · 2018 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
Hwang K., et al., “RAID-χ: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of The Ninth International Symposium On High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al., “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6TH USENIX Conference on File And Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Pag… [cited by applicant]