Simplified Paxos Algorithm for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Paxos algorithm introduces message delays between a client's request and the response in distributed computing systems, as it requires multiple messages for voting and execution, which can hinder system efficiency and responsiveness.

Innovation Solution

Modifying the Paxos algorithm to allow the leader to send both the request and its vote together, enabling any two devices to form a quorum for immediate execution and response without additional message delays, even with inexpensive devices participating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Paxos algorithm is implemented with separate message exchanges for requests and votes, then fault tolerance and consensus are ensured, but message delays increase and system responsiveness deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoidmessage delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the request message and vote message into a single combined message transmission. The leader sends both the execution request and its vote simultaneously to follower devices, eliminating the sequential message exchange requirement. This combining approach maintains the consensus mechanism's reliability while reducing communication latency and improving system responsiveness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The leader device performs the voting action preliminarily by including its vote within the request message itself, before followers cast their votes. This preliminary inclusion of the leader's vote allows followers to immediately form a quorum with their own votes without waiting for separate vote transmissions, thereby reducing overall message delay while preserving fault tolerance properties.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple message exchanges are used for voting and execution in Paxos, then consensus agreement is achieved, but system efficiency and productivity decrease

Engineering Contradiction:
Improveconsensus agreementVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple message exchanges into a single efficient transmission by merging the request and vote messages. This reduces the number of round-trip communications required to achieve consensus, thereby improving system throughput and productivity while maintaining the integrity of the consensus agreement through proper quorum validation.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If the leader sends separate requests and votes, then proper voting protocol is maintained, but additional message delays are introduced

Engineering Contradiction:
Improvevoting protocol integrityVSAvoidmessage delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the request and vote into a single message structure that preserves all necessary voting protocol information. The combined message includes the execution request, the leader's vote, and sufficient metadata for followers to validate and process the vote correctly, thereby maintaining protocol integrity while eliminating the time delay of separate transmissions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7711825B2Simplified Paxos
Publication Date: 2010.05.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7711825B2 patent drawing
  • US7711825B2 patent drawing
  • US7711825B2 patent drawing

AI summary

A simplified fault tolerant algorithm is presented for operating a distributed computing system in a fault tolerant manner. A system comprising three computing devices need only have two devices agree to perform any proposed function. Thus, when soliciting a vote for a proposed function, a leader device can also send its vote for the proposed function. This allows any recipient device to complete the quorum with its own vote. Consequently, any recipient device can, without any further messages, determine whether to execute the proposed function. Furthermore, if the device executes the proposed function, it can transmit the results directly to the client that requested the function, saving a message delay. If the quorum of devices used to select and execute proposed functions is itself selected by a quorum, then one of the devices of the system can be an inexpensive device having limited computational ability or storage capacity.