Exception Handling in Asynchronous Workflow Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex workflows modeled using graphical workflow definition languages often break down, and designing asynchronous workflows with standard programming languages can be cumbersome, leading to difficult-to-debug programs.

Innovation Solution

A workflow processing system that facilitates the development of stateless asynchronous workflow processing applications using standard programming languages and synchronous-like code, incorporating exception-based error handling, and employs techniques like serialization/deserialization and workflow replay to manage program state and handle errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous workflows are designed using standard programming languages, then flexibility and execution efficiency are improved, but program complexity and debugging difficulty increase

Engineering Contradiction:
Improveworkflow execution efficiencyVSAvoidprogram complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a workflow engine as an intermediary component that manages asynchronous workflow execution. The engine provides a standardized interface between the programming language and the asynchronous execution environment, handling state management, task scheduling, and error handling. This mediator abstracts the complexity of asynchronous programming, allowing developers to write workflows using standard synchronous-like code while the engine handles the asynchronous complexity in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements workflow state copying and serialization mechanisms that allow the workflow engine to capture and restore program state. By copying and serializing workflow state to persistent storage, the system enables asynchronous execution while maintaining the ability to resume workflows from any point, effectively decoupling the logical execution flow from the physical execution timing and reducing debugging complexity.

Inventive Principle:
Principle #26Copying

2Ease of operation

If graphical workflow definition languages are used, then ease of workflow modeling is improved, but system reliability deteriorates due to workflow breakdowns

Engineering Contradiction:
Improveworkflow modeling easeVSAvoidworkflow execution reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements comprehensive feedback mechanisms including workflow state tracking, error reporting, and execution monitoring. The workflow engine continuously monitors workflow execution state and provides feedback to both the graphical interface and persistent storage. This feedback loop enables automatic error detection, state recovery, and debugging, significantly improving workflow reliability while maintaining the ease of graphical modeling.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent implements error handling and state checkpointing mechanisms that prepare for potential failures in advance. By serializing workflow state to persistent storage at defined checkpoints and implementing try-catch blocks for error handling, the system creates a safety cushion that prevents workflow breakdowns from propagating and enables automatic recovery, thereby improving reliability without affecting the graphical modeling ease.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If exception-based error handling is implemented in asynchronous workflows, then error management capability is improved, but code complexity increases

Engineering Contradiction:
Improveerror management capabilityVSAvoidcode complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges exception handling logic into the workflow engine's state management system. Instead of requiring separate error handling code for each asynchronous operation, the engine integrates try-catch blocks and exception processing into the unified workflow state machine. This consolidation allows exception-based error handling to be declared in the workflow definition itself, improving error management capability while avoiding the multiplication of error handling code.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9015533B1Error handling for asynchronous applications
Publication Date: 2015.04.21 AMAZON TECH INC
  • US9015533B1 patent drawing
  • US9015533B1 patent drawing
  • US9015533B1 patent drawing

AI summary

Various embodiments are disclosed herein including systems and methods for implementing exception-based error handling in asynchronous, parallel, multi-threaded, and other distributed systems. Embodiments implement exception-based error handling in asynchronous workflow systems, providing try/catch blocks and tree-based cancellation of pending and currently executing activities.