Distributed Finite State Machine Framework for Workflow Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvehigh availabilityVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If expert knowledge in distributed systems engineering is required to program workflows, then reliability is improved, but ease of operation deteriorates

Engineering Contradiction:
Improveworkflow executionVSAvoidprogramming ease
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9479395B2Model framework to facilitate robust programming of distributed workflows
Publication Date: 2016.10.25 EMC IP HLDG CO LLC
  • US9479395B2 patent drawing
  • US9479395B2 patent drawing
  • US9479395B2 patent drawing

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.