Responding to a change in membership among storage systems synchronously replicating a dataset

US11347606B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11347606-B2
Application numberUS-202016815317-A
CountryUS
Kind codeB2
Filing dateMar 11, 2020
Priority dateMar 10, 2017
Publication dateMay 31, 2022
Grant dateMay 31, 2022

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.

Determining active membership among a set of storage systems synchronously replicating a dataset, where determining active membership includes: determining that a membership event corresponds to a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon the membership event, one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset; and for one or more I/O operations directed to the dataset, applying the one or more I/O operations to the dataset synchronously replicated by the new set of storage systems.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying a set of storage systems that are synchronously replicating a dataset; detecting a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon a membership event, one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the storage systems is required for the subset of storage systems to detach a storage system that is not a member of the subset of storage systems; and for one or more I/O operations directed to the dataset, applying the one or more I/O operations to a new set of storage systems. 2. The method of claim 1 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations. 3. The method of claim 1 , wherein the external management protocol specifies that, in response to determining the membership event, each individual storage system requests permission from a pod membership system prior to attaching or detaching a given storage system from the pod, wherein the pod membership system comprises a highly available cluster, a distributed configuration tool, or a distributed database. 4. The method of claim 1 , wherein the racing protocol specifies that, in response to determining the membership event, each individual storage system of the set of storage systems attempt to access an exclusively accessible resource provided by a computer system, and wherein a storage system that gains access to the exclusively accessible resource is able to, to the exclusion of other storage systems, propagate a membership change. 5. The method of claim 1 , wherein the racing protocol is a mediation protocol for mediating between storage systems. 6. The method of claim 1 , wherein the one or more I/O operations are received from a host computer at one or more of the new set of storage systems. 7. 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 the steps of: identifying a set of storage systems that are synchronously replicating the dataset; detecting a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon a membership event, one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein the external management protocol specifies that, in response to determining the membership event, each individual storage system of the set of storage systems request permission from a pod membership system prior to attaching or detaching a given storage system from the pod, wherein the pod membership system comprises a highly available cluster, a distributed configuration tool, or a distributed database; and for one or more I/O operations directed to the dataset, applying the one or more I/O operations to a new set of storage systems. 8. The apparatus of claim 7 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations. 9. The apparatus of claim 7 , wherein each storage system in the pod corresponds to a respective quantity of votes, and wherein the quorum protocol specifies that a majority of votes from a subset of the storage systems is required for the subset of storage systems to detach a storage system that is not a member of the subset of storage systems. 10. The apparatus of claim 7 , wherein the racing protocol specifies that, in response to determining the membership event, each individual storage system of the set of storage systems attempt to access an exclusively accessible resource provided by a computer system, and wherein a storage system that gains access to the exclusively accessible resource is able to, to the exclusion of other storage systems, propagate a membership change. 11. The apparatus of claim 7 , wherein the racing protocol is a mediation protocol for mediating between storage systems. 12. The apparatus of claim 7 , wherein the one or more I/O operations are received from a host computer at one or more of the new set of storage systems. 13. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: identifying a set of storage systems that are synchronously replicating the dataset; detecting a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon a membership event, one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the storage systems is required for the subset of storage systems to detach a storage system that is not a member of the subset of storage systems; and for one or more I/O operations directed to the dataset, applying the one or more I/O operations to a new set of storage systems. 14. The computer program product of claim 13 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations. 15. The computer program product of claim 13 , wherein the racing protocol is a mediation protocol for mediating between storage systems.

Assignees

Inventors

Classifications

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • in relation to response time · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Replication mechanisms · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US11347606B2 cover?
Determining active membership among a set of storage systems synchronously replicating a dataset, where determining active membership includes: determining that a membership event corresponds to a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon the membership event, one or more membership protocols to determine a new set of …
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/178. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 31 2022 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).