Leader Election in Distributed Storage via RPC Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing leader election processes in distributed storage systems are hindered by node failures and network partitions, leading to unsuccessful leader elections and limited redundancy, which can result in service disruption even when a majority of nodes fail.

Innovation Solution

The method involves sending remote procedure calls (RPCs) from compute nodes to storage boxes to execute a leader election algorithm, with each storage node determining whether to elect a compute node as leader based on communication thresholds and shared leader data, ensuring redundancy and adaptability to network partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If leader election is performed using traditional algorithms in distributed storage systems, then a leader can be elected under normal conditions, but the system fails to elect a leader when node failures or network partitions occur

Engineering Contradiction:
Improveleader election reliabilityVSAvoidadaptability to node failures and network partitions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments the leader election process into multiple independent phases: initial leader identification, verification phase with multiple storage boxes, and fallback mechanisms. Each phase can operate independently, allowing the system to complete leader election even if some nodes or storage boxes fail during the process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-configuring multiple storage boxes with leader election algorithms and pre-establishing communication channels. When a leader election is needed, the system can immediately initiate the process without waiting for node availability, and the pre-configured redundancy ensures that at least some storage boxes remain accessible to complete the election.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the system uses a single leader node for coordination, then decision-making is efficient under normal conditions, but the system becomes unavailable when the leader node fails

Engineering Contradiction:
Improvedecision-making efficiencyVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system merges the leader election functionality across multiple storage boxes, combining their verification capabilities. Instead of relying on a single leader node, the system combines the authority of multiple storage boxes to verify and confirm leader identity, ensuring that the leader can be elected and confirmed even if the current leader fails or becomes unreachable.

Inventive Principle:
Principle #5Merging (Combining)

3Stability of the object's composition

If the leader election algorithm requires communication with all nodes, then complete consensus is achieved, but the election process fails when most nodes are unavailable

Engineering Contradiction:
Improveconsensus completenessVSAvoidelection success rate
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The system applies partial action by requiring communication with only a subset of storage boxes rather than all nodes. The leader election algorithm is designed to achieve sufficient consensus with a quorum of storage boxes, which provides excessive redundancy - the system can tolerate more node failures than the strict minimum would allow, ensuring election success even when most nodes are unavailable.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11064051B2System and method for leader election in distributed storage systems
Publication Date: 2021.07.13 VAST DATA LTD
  • US11064051B2 patent drawing
  • US11064051B2 patent drawing
  • US11064051B2 patent drawing

AI summary

Systems and methods for leader election. A disclosed method includes sending, by a first compute node of a plurality of compute nodes, a plurality of remote procedure calls (RPCs) to a plurality of storage boxes according to an order, wherein each of the plurality of RPCs causes a leader election algorithm to execute in one of the plurality of storage boxes; and updating a state of the first compute node to “leader” when a result of executing the leader election algorithm for each of the plurality of RPCs indicates that the first compute node is elected as a leader node.