Generic State Machine Abstraction for Log-Based Consensus
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current distributed and replicated systems based on consensus protocols are single-purpose, tightly coupling consensus protocol/replication with state machine transitions, making it difficult to build new distributed systems or replace consensus protocols for improved performance and availability.
Innovation Solution
Decoupling state machine functionality from consensus protocol handling, allowing the use of any state machine with various consensus protocols, including the implementation of a generic state machine framework that separates logging, persistence, and consensus/replication components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If state machine functionality is tightly coupled with consensus protocol handling, then the system maintains simplicity and ease of implementation, but the system loses flexibility and adaptability when needing to implement new state machines or replace consensus protocols
Solution Approach 1:
The patent segments the distributed system into distinct modular components: state machine module, consensus protocol module, and logging module. Each component has a specific responsibility and can be independently implemented, replaced, or modified. The state machine handles business logic transitions, the consensus protocol manages agreement among nodes, and the logging module records state changes, allowing flexible reconfiguration without redesigning the entire system.
Solution Approach 2:
The patent creates a universal framework that can accommodate multiple state machines and multiple consensus protocols through standardized interfaces. The generic state machine framework defines common operations and data structures that work with different specific state machines, while the consensus protocol interface allows switching between Paxos, Raft, or other protocols without changing the core system architecture.
2Adaptability or versatility
If consensus protocol handling is integrated with state machine transitions, then the system achieves failure tolerance through unified processing, but it becomes difficult to replace consensus protocols for improved performance and availability
Solution Approach 1:
The patent extracts the consensus protocol handling into a separate, independent module that communicates with the state machine through well-defined interfaces. This extraction allows the consensus protocol to be replaced or upgraded without affecting the state machine implementation. The logging module is also separated to independently record state changes, enabling the system to maintain failure tolerance while gaining protocol flexibility.
3Adaptability or versatility
If a generic state machine framework is implemented to decouple state handling from consensus protocol handling, then the system gains flexibility and adaptability, but the device complexity increases due to additional separation of components
Solution Approach 1:
The patent introduces intermediary components that facilitate communication between the state machine and consensus protocol modules. The logging module acts as an intermediary that receives state transition requests from the state machine, records them, and coordinates with the consensus protocol for replication. This intermediary approach manages the complexity of component separation by providing standardized communication channels and coordination mechanisms.
Data Source
AI summary
A generic state machine concept can be used to decouple specific state machine functionality from any specific consensus protocol. A generic state machine can prepare a local log record and generate a local log index in response to a data update received at a computing node of a plurality of computing nodes in a distributed data storage application. The generic state machine can pass replication information to one or more other computing nodes in the plurality of computing nodes in accordance with the consensus protocol and can mutate a state of the generic state machine upon the plurality of computing nodes achieving a quorum.


