IP Library Granted Patent US 12,164,393
Granted Patent B2
US 12,164,393 · App. 18/351,452 · Granted Dec 10, 2024

Taking recovery actions for replicated datasets

Inventors: Joshua Freilich (San Francisco, CA); Aswin Karumbunathan (San Francisco, CA); Naveen Neelakantam (Mountain View, CA); Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F11/1469G06F11/1451H04L67/1097G06F2201/82
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,164,393
App. No.
18/351,452
Filed
Jul 12, 2023
Granted
Dec 10, 2024
Kind
B2
Art Unit
2133
USPC
714/19
Abstract

Taking recovery actions for replicated datasets, including: determining whether a request to modify a dataset that is synchronously replicated among a plurality of storage systems has been applied on a particular storage system of the plurality of storage systems, wherein the plurality of storage systems is synchronously replicating the dataset by acknowledging the request as being complete when each storage system has modified its copy of the dataset; and applying a recovery action based on whether the request to modify the dataset has been applied on the particular storage system of the plurality of storage systems.

Claims (25)

1. A method comprising:

determining whether a request to modify a dataset that is synchronously replicated among a plurality of storage systems has been applied on a particular storage system of the plurality of storage systems, wherein the plurality of storage systems is synchronously replicating the dataset by acknowledging the request as being complete when each storage system has modified its copy of the dataset; and

applying a recovery action based on whether the request to modify the dataset has been applied on the particular storage system of the plurality of storage systems.

2. The method of claim 1 , wherein the particular storage system is a cloud-based storage system includes a plurality of cloud computing instances that respectively store a portion of the dataset.

3. The method of claim 2 , wherein the cloud computing instances provide block-level data storage.

4. The method of claim 1 , wherein the particular storage system includes a cloud-based object storage that stores all portions of the dataset.

5. The method of claim 1 , wherein the plurality of storage systems includes at least one hardware-based storage system.

6. The method of claim 1 , wherein the recovery action corresponds to recovery information that includes tracking information from one or more of the plurality of storage systems, and wherein the tracking information indicates progress toward applying the request to modify the dataset on the plurality of storage systems.

7. The method of claim 6 , wherein the tracking information includes logging information on which storage systems of the plurality of storage systems have been sent the request to modify the dataset.

8. The method of claim 6 , wherein the tracking information includes logging information on which storage systems of the plurality of storage systems have acknowledged completing the request to modify the dataset.

9. The method of claim 1 , wherein the recovery action corresponds to recovery information that includes confirmation information from one or more other of the plurality of storage systems on whether the request is confirmed to have been processed, and wherein the confirmation information is based on the particular storage system querying the one or more of the other of the plurality of storage systems.

10. The method of claim 1 , wherein the request to modify the dataset is one of a plurality of requests to modify the dataset, and wherein the recovery action comprises an order in which the plurality of requests to modify the dataset are to be applied.

11. A cloud-based storage system including:

one or more storage controller applications, each storage controller application executing in a cloud computing instance, wherein the one or more storage controller applications are configured to:

determine whether a request to modify a dataset that is synchronously replicated among a plurality of storage systems has been applied on a particular storage system of the plurality of storage systems, wherein the plurality of storage systems is synchronously replicating the dataset by acknowledging the request as being complete when each storage system has modified its copy of the dataset; and

apply a recovery action based on whether the request to modify the dataset has been applied on the particular storage system of the plurality of storage systems.

12. The cloud-based storage system of claim 11 , wherein a first tier of cloud storage of the cloud-based storage system stores a portion of the dataset, wherein the first tier includes block storage.

13. The cloud-based storage system of claim 12 , wherein a second tier of cloud storage of the cloud-based storage system stores all portions of the dataset, wherein the second tier includes object storage.

14. The cloud-based storage system of claim 11 , wherein a first tier of cloud storage includes a plurality of cloud computing instances with local storage, and each cloud computing instance that executes a storage controller application is communicatively coupled to each of the cloud computing instances with local storage.

15. The cloud-based storage system of claim 11 , wherein the plurality of storage systems includes at least one hardware-based storage system.

16. The cloud-based storage system of claim 11 , wherein the recovery action corresponds to recovery information that includes tracking information from one or more of the plurality of storage systems, and wherein the tracking information indicates progress toward applying the request to modify the dataset on the plurality of storage systems.

17. The cloud-based storage system of claim 16 , wherein the tracking information includes logging information on which storage systems of the plurality of storage systems have been sent the request to modify the dataset.

18. The cloud-based storage system of claim 16 , wherein the tracking information includes logging information on which storage systems of the plurality of storage systems have acknowledged completing the request to modify the dataset.

19. The cloud-based storage system of claim 11 , wherein the recovery action corresponds to recovery information that includes confirmation information from one or more other of the plurality of storage systems on whether the request is confirmed to have been processed, and wherein the confirmation information is based on the cloud-based storage system querying the one or more of the other of the plurality of storage systems.

20. The cloud-based storage system of claim 11 , wherein the request to modify the dataset is one of a plurality of requests to modify the dataset, and wherein the recovery action comprises an order in which the plurality of requests to modify the dataset are to be applied.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2023
From: FREILICH, JOSHUA; KARUMBUNATHAN, ASWIN; NEELAKANTAM, NAVEEN; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 064233/0928 →
Continuity (10)
Continuation 17703080 · Mar 24, 2022
Continuation 16524837 · Jul 29, 2019
Continuation In Part 16353775 · Mar 14, 2019
Provisional Application 62878877 · Jul 26, 2019
Provisional Application 62875947 · Jul 18, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Provisional Application 62692602 · Jun 29, 2018
Provisional Application 62643641 · Mar 15, 2018
Related Publication 20230359532A1 · Nov 9, 2023