Node Clustering Configuration for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems like Elasticsearch face challenges in maintaining fault tolerance and consistency across nodes, especially when node failures or network partitions occur, leading to potential inconsistencies and incorrect behavior.

Innovation Solution

The system determines master-eligible nodes with unique identifiers, establishes a voting configuration to define a quorum for electing a master node and maintains optimal fault tolerance through auto-reconfiguration, ensuring that only one part of a partitioned cluster can make decisions, thus preventing split-brain scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a quorum-based voting configuration is used to elect master nodes, then fault tolerance is improved, but device complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidvoting configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent dynamically adjusts the quorum size parameter based on the number of master-eligible nodes in the cluster. The quorum is calculated as a majority of master-eligible nodes, which automatically adapts when nodes are added or removed. This parameter change approach resolves the contradiction by making the voting configuration flexible rather than fixed, maintaining fault tolerance while reducing manual configuration complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The cluster automatically determines master-eligible nodes and calculates the required quorum without manual intervention. The system self-manages the voting configuration by identifying which nodes can vote based on their eligibility status and automatically computing the majority threshold. This self-service mechanism eliminates the need for administrators to manually configure quorum sizes, reducing operational complexity while maintaining reliability.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If automatic discovery and reconfiguration processes are implemented, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvecluster reconfiguration capabilityVSAvoidautomatic discovery process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where nodes continuously report their eligibility status and the cluster monitors the composition of master-eligible nodes. When nodes join or leave the cluster, the system receives feedback about the changed state and automatically adjusts the voting configuration accordingly. This feedback loop enables automatic adaptation to cluster changes while keeping the control logic centralized and manageable.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-determining which nodes are master-eligible based on their configuration and status before actual voting occurs. The cluster bootstrap process identifies and marks eligible nodes in advance, so when reconfiguration is needed, the system already has the information required to calculate the new quorum and select appropriate voters. This preliminary preparation simplifies the real-time reconfiguration process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12113855B2Node clustering configuration
Publication Date: 2024.10.08 ELASTICSEARCH BV
  • US12113855B2 patent drawing
  • US12113855B2 patent drawing
  • US12113855B2 patent drawing

AI summary

Node clustering configuration is disclosed herein. An example method includes determining nodes of a cluster, each of the nodes having a unique identifier and a cluster identifier for the cluster, determining a voting configuration for the cluster, the voting configuration defining a quorum of master-eligible nodes of the nodes, the voting configuration being adaptable so as to maintain an optimal level of fault tolerance for the cluster, adding and removing nodes that can change the voting configuration, configuring a cluster configuration through an API, and electing one of the master-eligible nodes as a master node.