Initiating recovery actions when a dataset ceases to be synchronously replicated across a set of storage systems

US12411739B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12411739-B2
Application numberUS-202217871668-A
CountryUS
Kind codeB2
Filing dateJul 22, 2022
Priority dateMar 10, 2017
Publication dateSep 9, 2025
Grant dateSep 9, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Initiating recovery actions when a dataset ceases to be synchronously replicated across a set of storage systems, including: receiving, by at least one storage system among a plurality of storage systems implementing a symmetric input/output model for a synchronously replicated dataset, a request to modify the dataset; identifying one or more operations associated with the request to modify the dataset that have not been applied to at least one storage system of the plurality of storage systems; and responsive to a system fault among the plurality of storage systems synchronously replicating the dataset, applying a recovery action based on recovery information that identifies one or more operations that have not been applied to the plurality of storage systems.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by at least one storage system among a plurality of storage systems implementing a symmetric input/output model for a synchronously replicated dataset, a request to modify the dataset; generating recovery information identifying one or more storage systems of the plurality of storage systems that have not applied one or more operations associated with the request to modify the dataset; and responsive to a system fault among the plurality of storage systems synchronously replicating the dataset, applying a recovery action based on the recovery information, including applying the one or more operations to the one or more storage systems of the plurality of storage systems. 2. The method of claim 1 , wherein the dataset is represented by a metadata graph comprising nodes referencing logical extents, wherein each of the plurality of storage systems, responsive to receiving a request to modify the dataset, updates a local version of the dataset, wherein the update to the local version of the dataset corresponds to the request and the update is independent of other storage systems among the plurality of storage systems, and wherein the system fault is to at least one storage system among the plurality of storage systems. 3. The method of claim 2 , further comprising: initiating, prior to identifying one or more operations associated with the request to modify the dataset that have not been applied to at least one storage system of the plurality of storage systems, the processing of the request to modify the dataset on each other storage system among the plurality of storage systems; and determining a set of storage systems on which operations are not confirmed to have been completed. 4. The method of claim 3 , further comprising: completing, on the set of storage systems, the operations not confirmed to have been completed. 5. The method of claim 1 , wherein generating the recovery information comprises: generating recovery information by tracking progress toward applying the request to modify the dataset on the plurality of storage systems. 6. The method of claim 5 , wherein tracking progress includes logging information on which storage systems of the plurality of storage systems have been sent the request to modify the dataset. 7. The method of claim 6 , wherein tracking progress includes logging information on which storage systems of the plurality of storage systems have acknowledged completing the request to modify the dataset. 8. 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 information comprises an order in which the plurality of requests to modify the dataset are to be applied. 9. The method of claim 1 , wherein the recovery action comprises applying, in accordance with the recovery information, the request to modify the dataset on storage systems that did not apply the request to modify the dataset. 10. The method of claim 1 , wherein the recovery action comprises undoing, in accordance with the recovery information, the request to modify the dataset on storage systems that did apply the request to modify the dataset. 11. 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 carry out: receiving, by at least one storage system among a plurality of storage systems implementing a symmetric input/output model for a synchronously replicated dataset, a request to modify the dataset; generating recovery information identifying one or more storage systems of the plurality of storage systems that have not applied one or more operations associated with the request to modify the dataset; and responsive to a system fault among the plurality of storage systems synchronously replicating the dataset, applying a recovery action based on the recovery information, including applying the one or more operations to the one or more storage systems of the plurality of storage systems. 12. The apparatus of claim 11 , wherein the dataset is represented by a metadata graph comprising nodes referencing logical extents. 13. The apparatus of claim 12 , wherein the computer program instructions that, when executed by the computer processor, cause the apparatus to carry out: determining a set of storage systems on which operations are not confirmed to have been completed. 14. The apparatus of claim 13 , wherein the computer program instructions that, when executed by the computer processor, cause the apparatus to carry out: completing, on the set of storage systems, the operations not confirmed to have been completed. 15. The apparatus of claim 11 , wherein generating the recovery information comprises: generating recovery information by tracking progress toward applying the request to modify the dataset on the plurality of storage systems. 16. The apparatus of claim 15 , wherein tracking progress includes logging information on which storage systems of the plurality of storage systems have been sent the request to modify the dataset. 17. The apparatus of claim 16 , wherein tracking progress includes logging information on which storage systems of the plurality of storage systems have acknowledged completing the request to modify the dataset. 18. The apparatus 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 information comprises an order in which the plurality of requests to modify the dataset are to be applied. 19. The apparatus of claim 11 , wherein the recovery action comprises applying, in accordance with the recovery information, the request to modify the dataset on storage systems that did not apply the request to modify the dataset. 20. The apparatus of claim 11 , wherein the recovery action comprises undoing, in accordance with the recovery information, the request to modify the dataset on storage systems that did apply the request to modify the dataset.

Assignees

Inventors

Classifications

  • G06F16/275Primary

    Synchronous replication · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008) · CPC title

  • Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12411739B2 cover?
Initiating recovery actions when a dataset ceases to be synchronously replicated across a set of storage systems, including: receiving, by at least one storage system among a plurality of storage systems implementing a symmetric input/output model for a synchronously replicated dataset, a request to modify the dataset; identifying one or more operations associated with the request to modify the…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/275. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 09 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).