Dynamic Membership in Replicated State Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems with replicated state machines face challenges in dynamically changing the association of state machines with processes while maintaining non-blocking, flexible, and deterministic operations, especially with asynchronous and out-of-order agreement delivery.

Innovation Solution

Implementing a dynamic membership mechanism that supports unique agreement identities and persistent storage for multiple sequences of agreements, allowing for seamless membership changes without resorting to throughput-degrading measures like null operations, and ensuring that agreements are processed and delivered in the correct order across multiple replicas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional replicated state machine systems are used, then system stability and consistency are maintained, but dynamic membership changes cannot be performed without interrupting system operations

Engineering Contradiction:
Improvedynamic membership change capabilityVSAvoidsystem continuity during membership changes
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the globally ordered set of agreements into multiple membership-specific sequences, each associated with a particular membership configuration. This allows independent processing and validation of agreements for different memberships without blocking other membership changes, enabling dynamic reconfiguration while maintaining system continuity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic membership by allowing the set of processes associated with a replicated state machine to change at arbitrary points in the agreement sequence. The system dynamically adjusts which processes participate in which membership sequences based on validated membership change agreements, enabling flexible reconfiguration without system interruption.

Inventive Principle:
Principle #15Dynamics

2Productivity

If null operations are used to maintain throughput during membership changes, then system availability is preserved, but throughput is degraded

Engineering Contradiction:
Improvesystem throughputVSAvoidtime lost to throughput-degrading measures
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary validation of membership change agreements by checking them against the globally ordered set of agreements before applying the changes. This preliminary action ensures that membership changes are processed correctly without requiring null operations or other throughput-degrading measures, maintaining both availability and performance.

Inventive Principle:
Principle #10Preliminary action

3Speed

If asynchronous agreement delivery is implemented, then system flexibility and responsiveness are improved, but processing agreements in correct order becomes more difficult

Engineering Contradiction:
Improveagreement delivery speedVSAvoidagreement processing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system uses feedback mechanisms where each process validates received agreements against its locally stored membership sequences and the globally ordered set. This feedback loop ensures that even with asynchronous delivery, agreements are processed in the correct order for each membership without requiring complex centralized coordination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2972983B1Dynamically managing memberships in replicated state machines within a distributed computing environment
Publication Date: 2018.05.16 WANDISCO
  • EP2972983B1 patent drawingFigure 1~2
  • EP2972983B1 patent drawingFigure 3
  • EP2972983B1 patent drawingFigure 4~5

AI summary

A computer-implemented method may comprise processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.