IP Library › Granted Patent US 12,436,852
Granted Patent B2
US 12,436,852 · App. 18/296,832 · Granted Oct 7, 2025

Methods and systems for negotiating a primary bias state in a distributed storage system

Inventors: Sohan Shetty (Bangalore, IN); Anoop Vijayan (Karnataka, IN); Akhil Kaushik (San Jose, CA); Rohit Chaudhary (Uttar Pradesh, IN)
Assignee: NetApp, Inc.
G06F11/2092G06F3/0617G06F3/0653G06F3/0683G06F11/1662
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,436,852
App. No.
18/296,832
Granted
Oct 7, 2025
Kind
B2
Abstract

Systems and methods include negotiating a primary bias state for primary and secondary storage sites when a mediator is temporarily unavailable for a multi-site distributed storage system. In one example, a computer-implemented method comprises detecting, with the primary storage site having a primary storage cluster, a temporary loss of connectivity to a mediator or a failure of the mediator. The computer-implemented method includes negotiating the primary bias state and setting the primary bias state on a secondary storage cluster of the secondary storage site when the secondary storage cluster detects a temporary loss of connectivity to the mediator, determining whether the primary storage cluster receives a confirmation of the secondary storage cluster setting the primary bias state, and setting the primary bias state on the primary storage cluster when the primary storage cluster receives the confirmation.

Claims (49)

1. A computer-implemented method executed by one or more processing resources, comprising:

detecting, with a primary storage site of a multi-site distributed storage system having a primary storage cluster, a temporary loss of connectivity to a mediator located remotely from the primary storage site;

negotiating a primary bias state and setting the primary bias state on a secondary storage cluster of the secondary storage site in response to the secondary storage cluster also independently detecting a temporary loss of connectivity to the mediator;

determining whether the primary storage cluster receives a confirmation of the secondary storage cluster setting the primary bias state; and

setting the primary bias state on the primary storage cluster when the primary storage cluster receives the confirmation.

2. The computer-implemented method of claim 1 , further comprising: waiting for the confirmation of the secondary storage cluster setting a primary bias state.

3. The computer-implemented method of claim 1 , further comprising:

receiving a rejection of the primary bias state if the mediator is communicatively reachable from the secondary storage cluster.

4. The computer-implemented method of claim 1 , further comprising:

in response to a primary bias state being set in the primary storage cluster and the secondary storage cluster, serving, with the primary storage cluster, input/output (I/O) operations.

5. The computer-implemented method of claim 1 , further comprising:

detect, with at least one of the primary storage cluster and the secondary storage cluster, resumption of a connection to the mediator; and

reestablish, with the primary storage cluster, the secondary storage cluster, and the mediator, a three way quorum including updating a relationship state to the mediator and clearing a primary bias state on the primary storage cluster.

6. The computer-implemented method of claim 1 , wherein the primary storage cluster is selected as an authority based on the primary storage cluster initially being assigned a leader role for serving I/O operations and subsequently setting the primary bias state in a configuration database of the primary storage cluster and setting the primary bias state in a configuration database of the secondary storage cluster.

7. The computer-implemented method of claim 1 , wherein for a mediator failure, negotiating and setting the primary bias state in a configuration database of the primary storage cluster and in a configuration database of the secondary storage cluster before a failure of an intercluster link between the primary storage site and the secondary storage site.

8. The computer-implemented method of claim 1 , wherein for a given mediator failure, negotiating and setting the primary bias state in a configuration database of the primary storage cluster and in a configuration database of the secondary storage cluster before a failure at the secondary storage cluster.

9. A multi-site distributed storage system comprising:

one or more processing resources; and

a non-transitory computer-readable medium coupled to the one or more processing resources, having stored therein instructions, which when executed by the one or more processing resources cause the one or more processing resources to:

detect, with a primary storage site having a primary storage cluster, a temporary loss of connectivity to a mediator located remotely from the primary storage site;

negotiate a primary bias state and set the primary bias state on a secondary storage cluster of a secondary storage site in response to the secondary storage cluster also independently detecting a temporary loss of connectivity to the mediator;

determine whether the primary storage cluster receives a confirmation of the secondary storage cluster setting the primary bias state; and

set the primary bias state on the primary storage cluster when the primary storage cluster receives the confirmation.

10. The multi-site distributed storage system of claim 9 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

negotiate the primary bias state and set the primary bias state on a third storage cluster of a third storage site when the third storage cluster detects a temporary loss of connectivity to the mediator.

11. The multi-site distributed storage system of claim 10 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

determine whether the primary storage cluster receives a confirmation of the third storage cluster setting the primary bias state.

12. The multi-site distributed storage system of claim 11 , wherein the primary and secondary storage sites are located in a first region and the third storage site is located in a second region for cloud resident datasets.

13. The multi-site distributed storage system of claim 9 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

detect resumption of a connection to the mediator; and

reestablish, with the primary storage cluster, the secondary storage cluster, and the mediator, a three way quorum including updating a relationship state to the mediator and clearing a primary bias state on the primary storage cluster.

14. The multi-site distributed storage system of claim 9 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

in response to a temporary mediator failure, negotiate and set the primary bias state in a configuration database of the primary storage cluster and in a configuration database of the secondary storage cluster before a temporary failure at the secondary storage cluster and before a temporary failure of an intercluster link between the primary storage site and the secondary storage site.

15. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a primary storage site of a multi-site distributed storage system cause the one or more processing resources to:

detect, with a primary storage site having a primary storage cluster, a temporary loss of connectivity to a mediator located remotely from the primary storage site;

negotiate a primary bias state and set the primary bias state on a secondary storage cluster in response to the secondary storage cluster also independently detecting a temporary loss of connectivity to the mediator;

determine whether the primary storage cluster receives a confirmation of the secondary storage cluster setting the primary bias state; and

set the primary bias state on the primary storage cluster when the primary storage cluster receives the confirmation.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

wait for the confirmation of the secondary storage cluster setting a primary bias state.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

receive a rejection of the primary bias state if the mediator is communicatively reachable from the secondary storage cluster.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

in response to a primary bias state being set in the primary storage cluster and the secondary storage cluster, serve, with the primary storage cluster, input/output (I/O) operations.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

detect resumption of a connection to the mediator; and

reestablish, with the primary storage cluster, the secondary storage cluster, and the mediator, a three way quorum including updating a relationship state to the mediator and clearing a primary bias state on the primary storage cluster.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

in response to a temporary mediator failure, negotiate and set the primary bias state in a configuration database of the primary storage cluster and in a configuration database of the secondary storage cluster before a failure of an intercluster link between the primary storage site and the secondary storage site.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2023
From: SHETTY, SOHAN; VIJAYAN, ANOOP; KAUSHIK, AKHIL; CHAUDHARY, ROHIT
To: NETAPP, INC.
Reel/Frame 063285/0586 →
Continuity (1)
Related Publication 20240338125A1 · Oct 10, 2024
References Cited (34)
US 5933849A · Srbljic et al. · 1999 [cited by applicant]
US 5961590A · Mendez et al. · 1999 [cited by applicant]
US 6115027A · Hao et al. · 2000 [cited by applicant]
US 6154811A · Srbljic et al. · 2000 [cited by applicant]
US 8234518B2 · Hansen · 2012 [cited by applicant]
US 10051052B2 · Darcy · 2018 [cited by applicant]
US 10686879B2 · Darcy · 2020 [cited by applicant]
US 11409622B1 · Kaushik · 2022 [cited by examiner]
US 20120197822A1 · Lee · 2012 [cited by examiner]
US 20140129521A1 · Marsden · 2014 [cited by examiner]
US 20180074915A1 · Yang · 2018 [cited by examiner]
US 20210026566A1 · Suzuki · 2021 [cited by examiner]
US 20220237594A1 · Carver et al. · 2022 [cited by applicant]
US 20220318104A1 · Bhargava et al. · 2022 [cited by applicant]
US 20220318107A1 · Kaushik et al. · 2022 [cited by applicant]
US 20220357854A1 · Narasingarayanapeta · 2022 [cited by applicant]
US 20230350753A1 · Kurata · 2023 [cited by examiner]
US 20240220378A1 · Ohira · 2024 [cited by examiner]
Paschal (Understand Master-Slave Relationships using the Election Algorithm, DEV Community, Aug. 9, 2019) (Year: 2019). [cited by examiner]
Stack-Xchange NPL (In a master-slave replication mechanism, how do you avoid/cope with the fact that the master is a single point of failure? Is there a solution?, Software Engineering, 2016) (Year: 2016). [cited by examiner]
Moraru et al (Paxos Quorum Leases: Fast Reads Without Sacrificing Writes, SOCC '14, Nov. 3-5, 2014) (Year: 2014). [cited by examiner]
Read Replicas NPL (About replication in Cloud SQL, Cloud SQL, captured on Oct. 16, 2022 by Wayback Machine) (Year: 2022). [cited by examiner]
Data residency overview, google cloud, captured on 2022 by the wayback machine (Year: 2022). [cited by examiner]
Gigabyte, cluster computing: an advanced form of distributed computing, insight, 2022 (Year: 2022). [cited by examiner]
High-availability cluster, wikipedia: the free encyclopedia, captured on 2022 (Year: 2022). [cited by examiner]
Definition Race Condition; Ben Lutkevich; TechTarget; Jun. 2021; Retrieved from https://www.techtarget.com/searchstorage/definition/race-condition on Jun. 26, 2024 (Year: 2021), pp. 1-6. [cited by applicant]
Non-Final Office Action mailed on Jul. 2, 2024 for U.S. Appl. No. 18/296,834, filed Apr. 6, 2023, 26 pages. [cited by applicant]
Purity ActiveCluster; Pure Storage; May 2022; retrieved from https://www.purestorage.com/content/dam/pdf/en/datasheets/ds-purity-activecluster.pdf on Jun. 26, 2024 (Year: 2022), pp. 1-2. [cited by applicant]
Purity ActiveCluster: Simple Stretch Clustering for All; Larry Touchette; Jun. 14, 2017; retrieved from https://blog.purestorage.com/products/activecluster-simple-stretch-clustering/ on Jun. 26, 2024 (Year: 2017), pp. 1… [cited by applicant]
U.S. Appl. No. 18/296,834, filed Apr. 6, 2023, Shetty et al. [cited by applicant]
Vmware., “ActiveCluster VMware vMSC (51656),” Vmware Knowledge Base, Last Updated: Jun. 8, 2020. Retrieved from Internet : URL: https://kb.vmware.com/s/article/51656. [cited by applicant]
Final Office Action mailed on Nov. 21, 2024 for U.S. Appl. No. 18/296,834, filed Apr. 6, 2023, 30 pages. [cited by applicant]
Downing A.R., et al., “OSCAR: An Architecture for Weak-consistency Replication,” Proceedings PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications, Miami Beach, FL, USA, 1990,… [cited by applicant]
Non Final Office Action mailed on May 22, 2025 for U.S. Appl. No. 18/296,834, filed Apr. 6, 2023, 34 pages. [cited by applicant]