Multi-leader election algorithm for distributed computing systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed computing systems face processing bottlenecks due to the requirement of electing a single leader node for all tasks, leading to inefficient resource utilization and potential performance issues.

Innovation Solution

Implementing a multi-leader election algorithm that allows multiple nodes in a distributed computing system to cooperate and elect leaders for respective processing tasks, using a coordination service like Apache ZooKeeper to manage participant identifiers and election results, ensuring tasks are evenly distributed across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a single leader node is elected for all tasks, then centralized control and coordination are achieved, but processing bottlenecks occur on the leader node

Engineering Contradiction:
Improvecentralized controlVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides the single leader role into multiple leader nodes, each responsible for specific task types or subsets of tasks. This segmentation allows the system to maintain centralized control for each task category while distributing the overall processing load across multiple nodes, thereby resolving the bottleneck issue without sacrificing coordination efficiency

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single leader node handles all tasks, then task assignment is simplified, but the leader node becomes overloaded

Engineering Contradiction:
Improveelection algorithm complexityVSAvoidprocessing capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent implements local quality by assigning different task types to different leader nodes based on their capabilities or specialization. Each leader node maintains simplified task assignment logic for its designated task types, while the overall system achieves distributed processing capacity. This approach keeps individual node complexity low while increasing total system processing capacity

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple leaders are elected for different tasks, then processing capacity is increased, but coordination complexity increases

Engineering Contradiction:
Improvesystem throughputVSAvoidcoordination mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a coordination service as an intermediary that manages the multiple leader nodes. This mediator handles the complexity of coordinating tasks across different leaders, maintaining election state, and resolving conflicts. The leader nodes themselves remain relatively simple, delegating coordination complexity to the intermediary service, thus achieving high throughput without excessive complexity at the leader node level

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12061932B2Multi-leader election in a distributed computing system
Publication Date: 2024.08.13 DELL PROD LP
  • US12061932B2 patent drawing
  • US12061932B2 patent drawing
  • US12061932B2 patent drawing

AI summary

An apparatus in an illustrative embodiment comprises at least one processing device that includes a processor coupled to a memory. The at least one processing device is configured to establish with a coordination service for one or more distributed applications a participant identifier for a given participant in a multi-leader election algorithm implemented in a distributed computing system comprising multiple compute nodes, the compute nodes corresponding to participants having respective participant identifiers, and to interact with the coordination service in performing an iteration of the multi-leader election algorithm to determine a current assignment of respective ones of the participants as leaders for respective processing tasks of the distributed computing system. In some embodiments, the at least one processing device comprises at least a portion of a particular one of the compute nodes of the distributed computing system, and the coordination service comprises one or more external servers.