Dynamic Membership in Replicated State Machines
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If null operations are used to maintain throughput during membership changes, then system availability is preserved, but throughput is degraded
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.
3Speed
If asynchronous agreement delivery is implemented, then system flexibility and responsiveness are improved, but processing agreements in correct order becomes more difficult
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.
Data Source
Figure 1~2
Figure 3
Figure 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.