Distributed Finite State Machine Framework for Workflow Fault Tolerance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for programming distributed workflows require expertise in distributed systems engineering and are difficult to maintain or extend due to embedded distributed computing concepts, lacking a simple and robust programming model that can handle high availability and fault-tolerance effectively.
Innovation Solution
A framework that separates reading and writing state and transition, using a distributed finite state machine with callbacks for intuitive programming, and incorporates replication mechanisms like Paxos to ensure high availability and fault-tolerance without requiring deep knowledge of distributed systems theory, allowing for seamless execution across redundant hardware systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed computing concepts are embedded deeply in software to provide high availability and fault-tolerance, then reliability is improved, but device complexity and difficulty of maintenance increase
Solution Approach 1:
The patent segments distributed computing concepts into reusable software components and libraries that can be independently developed, tested, and maintained. This modularization allows complex distributed systems to be built from standardized building blocks, reducing overall system complexity while maintaining reliability.
Solution Approach 2:
The patent introduces intermediary software layers and abstraction mechanisms that mediate between application logic and distributed system complexities. These intermediaries handle fault-tolerance and high availability mechanisms, shielding developers from underlying complexity while ensuring reliable operation.
2Reliability
If expert knowledge in distributed systems engineering is required to program workflows, then reliability is improved, but ease of operation deteriorates
Solution Approach 1:
The patent provides standardized templates, patterns, and reusable workflow models that capture best practices in distributed systems programming. Developers can copy and adapt these proven patterns rather than designing distributed workflows from scratch, reducing the expertise barrier while maintaining reliability.
Solution Approach 2:
The patent transforms complex distributed system configurations into parameterized models where reliability properties can be adjusted through configuration parameters rather than code changes. This allows non-experts to modify system behavior and reliability characteristics through simple parameter adjustments.
Data Source
AI summary
A method is disclosed. A finite state machine model for a single system workflow is replicated across a plurality of distributed nodes associated with a leader election protocol. A leader is determined amongst the plurality of distributed nodes to perform a next action of the finite state machine model based at least in part on the leader election protocol. One or more nodes amongst the plurality of distributed nodes are configured to submit a timeout ticket if the next action of the finite state machine model does not appear to have been performed by the leader within a prescribed time.


