Distributed Coordination Engine Upgrade via Segmented Paxos Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed coordination engines in wide area networks face challenges in upgrading without disrupting application services or interrupting the flow of proposals and agreements, requiring a solution that maintains consistency across server nodes while allowing for continuous operation and fault tolerance.

Innovation Solution

The implementation of a distributed coordination engine (DConE) using an enhanced Paxos algorithm, which ensures consensus and ordering of transactions across nodes, supports active-active replication, automated recovery, and maintains consistency through a global sequence of agreements, allowing for seamless upgrades and minimizing the impact of network outages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the distributed coordination engine is upgraded, then the system can obtain improved functionality and performance, but the application service may be disrupted and the flow of proposals and agreements may be interrupted

Engineering Contradiction:
Improvesystem upgrade capabilityVSAvoidapplication service continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the coordination engine into multiple instances (first instance and second instance) that can operate independently. During upgrade, the first instance continues handling proposals while the second instance is upgraded, allowing functionality improvement without service disruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second instance is prepared and upgraded in advance before the first instance completes its current workload. This preliminary action allows the upgraded instance to be ready to take over once the transition is initiated, ensuring continuous operation.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the distributed coordination engine maintains consistency across nodes, then data integrity is ensured, but upgrade operations become more complex and time-consuming

Engineering Contradiction:
Improvedata consistencyVSAvoidupgrade operation complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The system uses an intermediary mechanism where the first instance acts as a bridge during transition. It receives proposals, determines if they should be processed by the upgraded second instance, and routes them accordingly. This intermediary approach maintains consistency while managing upgrade complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the first instance monitors the state of the second instance and adjusts proposal routing based on readiness status. This feedback loop ensures data consistency is maintained throughout the upgrade process without requiring complex manual coordination.

Inventive Principle:
Principle #23Feedback

3Productivity

If the system allows continuous operation during upgrades, then service availability is maintained, but ensuring deterministic and predictable updates becomes more difficult

Engineering Contradiction:
Improveservice availabilityVSAvoidupdate determinism
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system dynamically adjusts the operational state of different instances based on their upgrade status. The first instance operates in normal mode while the second is upgraded, then transitions occur in a controlled sequence. This dynamic approach maintains service availability while preserving update determinism through structured state changes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system ensures continuous processing of proposals through multiple instances rather than stopping operations during upgrade. The useful action of proposal processing continues uninterrupted, with proposals being routed to appropriate instances based on their operational state, thereby maintaining both availability and determinism.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3811227B1Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment
Publication Date: 2023.08.09 CIRATA INC
  • EP3811227B1 patent drawingFigure 1~3
  • EP3811227B1 patent drawingFigure 4~5
  • EP3811227B1 patent drawingFigure 6

AI summary

A computer- implemented method and distributed system for maintaining consistency of client applications on a plurality of server nodes may comprise providing a first and second versions of a distributed coordination engine (DConE). The first version of the DConE may receive proposals, reach agreements thereon and generate a first ordering of agreements that specifies an order in which the client applications are to execute the agreed-upon proposals and correspondingly update their respective states. A Change Version proposal may then be processed by the first version of the DConE, whereupon the first version of the DConE may stop reaching any further agreements. A second version of the DConE may then take over reaching agreements on the proposals and generate a second ordering of agreements, beginning with the agreed-upon Change Version proposal. Any agreed-upon proposal, received from the first version of the DConE after the agreed-upon ChangeVersion proposal, may be sent back to the second version of the DConE to enable the second version of the DConE to reach agreement thereon.