Dynamic Consensus Group Membership in Distributed Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional distributed computing systems lack the ability to automatically add new members to a consensus group when a member fails, reducing fault tolerance and requiring administrative intervention for system recovery.

Innovation Solution

A method for dynamically managing a consensus group in a distributed computing cluster, where the authority module on a second node elects a new node from the cluster to replace a failed member, using protocols like Paxos for leadership and zero-configuration networking to discover and integrate new nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If members of the consensus group are fixed as part of the system's external configuration, then the system configuration is simple and stable, but the fault tolerance decreases and administrative intervention is required when a member fails

Engineering Contradiction:
Improvefault toleranceVSAvoidconsensus group management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The consensus group membership is transformed from a static configuration to a dynamic structure that can automatically adapt to failures. The system continuously monitors member health and automatically adds replacement nodes when failures occur, eliminating the need for fixed configurations and administrative intervention while maintaining system stability through automated procedures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The coordination service performs self-healing by automatically detecting member failures and recruiting replacement nodes without external administrative intervention. The system monitors its own members' health status and autonomously executes the recovery process by adding new nodes to replace failed ones, thereby improving fault tolerance while managing complexity through automation.

Inventive Principle:
Principle #25Self-service

2Productivity

If the consensus group automatically adds new members when a member fails, then the fault tolerance and system continuity are improved, but the complexity of the coordination service increases

Engineering Contradiction:
Improvesystem recovery speedVSAvoidcoordination service complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by continuously monitoring member health status and maintaining a pool of candidate nodes ready for replacement. When a failure occurs, the recovery process is accelerated because the system has already prepared replacement candidates and has automated procedures in place, enabling rapid system recovery without increasing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The coordination service implements continuous feedback mechanisms to monitor member health status and automatically trigger replacement procedures when failures are detected. This feedback-driven approach enables the system to self-correct and maintain optimal performance, improving recovery speed while managing complexity through automated control loops rather than manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10657012B2Dynamically changing members of a consensus group in a distributed self-healing coordination service
Publication Date: 2020.05.19 COHESITY INC
  • US10657012B2 patent drawing
  • US10657012B2 patent drawing
  • US10657012B2 patent drawing

AI summary

Systems, methods, and computer program products for managing a consensus group in a distributed computing cluster, by determining that an instance of an authority module executing on a first node, of a consensus group of nodes in the distributed computing cluster, has failed; and adding, by an instance of the authority module on a second node of the consensus group, a new node to the consensus group to replace the first node. The new node is a node in the computing cluster that was not a member of the consensus group at the time the instance of the authority module executing on the first node is determined to have failed.