Distributed Cluster Leader Election via Consistent Database

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Clustering processes in distributed applications for SDN systems face challenges in group membership and leader election coordination, which is essential for workload sharing and fault tolerance but is difficult to implement effectively.

Innovation Solution

A cluster manager with a group administration interface and group membership interface is used, along with a strongly consistent database, to configure and manage clusters, enabling processes to join or leave groups, determine operational status, and perform leader elections, ensuring synchronized operation and fault detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If distributed applications are clustered for fault tolerance and high availability, then reliability is improved, but device complexity increases due to coordination challenges

Engineering Contradiction:
Improvefault toleranceVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a database as an intermediary component that mediates coordination between clustered processes. The database stores group membership information and leader election state, allowing processes to independently query and update their status without direct peer-to-peer coordination complexity. This intermediary approach maintains reliability through centralized state management while reducing the coordination burden on individual processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If processes share workload across multiple nodes, then productivity is improved, but difficulty of detecting and measuring status increases

Engineering Contradiction:
Improveworkload distributionVSAvoidstatus determination
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent merges the status tracking functionality into a centralized database that all processes query. Instead of each process maintaining separate status information that would be difficult to track across distributed nodes, the system combines all group membership and leader election state into a single database. This allows any process to easily determine its status and the status of other processes by querying the database, simplifying status detection while maintaining workload distribution.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If leader election is implemented for coordinated operation, then reliability is improved, but device complexity increases due to election coordination

Engineering Contradiction:
Improvecoordinated operationVSAvoidelection coordination
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service leader election where processes independently determine leadership status by querying the database without requiring complex peer-to-peer election protocols. The database automatically maintains the leader election state, and processes simply query this state to determine whether they should perform leader-specific operations. This self-service approach achieves reliable coordinated operation while avoiding the complexity of traditional distributed leader election algorithms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11086846B2Group membership and leader election coordination for distributed applications using a consistent database
Publication Date: 2021.08.10 VMWARE INC
  • US11086846B2 patent drawing
  • US11086846B2 patent drawing
  • US11086846B2 patent drawing

AI summary

Certain aspects described herein are directed to methods and systems for updating a status of a first process. In certain aspects, a method includes periodically examining a first table stored in a consistent and distributed database, wherein the table includes a first indication of a status of the first process and a second indication of a status of a second process and the first process and the second process are clustered for implementing functions of a distributed application in a distributed manner. The method further includes determining that the first indication has not changed during a first time period and changing the status of the first process in a second table to reflect that the first process is non-operational, wherein a different share of workload associated with the distributed application is performed by the second process as compared to when the first process was operational.