Scalable Workflow Processing via Segmented Decision Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current workflow processing technologies lack scalability and flexibility, making it difficult to handle complex workflows effectively.

Innovation Solution

A workflow processing system that includes servers with a workflow execution application and decision applications, which orchestrate workflow instances through queues and activities, allowing for flexible and scalable processing by using functional logic and load balancing to manage workflow complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current workflow processing technologies are used, then workflow processing can be implemented, but scalability and flexibility are insufficient to handle complex workflows

Engineering Contradiction:
ImproveflexibilityVSAvoidworkflow complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The workflow processing system is segmented into distinct functional components: workflow definitions stored in data stores, workflow execution applications that orchestrate instances, decision applications that evaluate conditions, and activity applications that perform tasks. This segmentation allows each component to be independently developed, deployed, and scaled, thereby improving flexibility while managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The workflow execution application serves multiple functions: it retrieves workflow definitions, instantiates workflow instances, coordinates decision applications, manages activity execution, and handles communication between components. This multi-functionality reduces the need for separate specialized systems, enhancing adaptability while consolidating complexity into a unified platform.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If workflow processing complexity increases, then more complex workflows can be handled, but scalability is limited

Engineering Contradiction:
Improveworkflow processing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates copies of workflow definitions from the data store to instantiate multiple workflow instances. Each instance is a copy that can be independently executed and managed. This copying mechanism enables scalable processing of multiple workflows simultaneously without requiring proportional increases in system complexity, as the same execution framework handles all instances.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system manages complexity by parameterizing workflow definitions, which contain configurable parameters that define workflow behavior, conditions, and activities. By changing parameters in the workflow definition rather than restructuring the entire system, the platform can handle increasingly complex workflows while maintaining consistent system architecture, thereby improving processing capacity without proportionally increasing system complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10748098B2Scalable workflow processing
Publication Date: 2020.08.18 AMAZON TECH INC
  • US10748098B2 patent drawing
  • US10748098B2 patent drawing
  • US10748098B2 patent drawing

AI summary

Disclosed are various embodiments for scalable workflow processing. In one embodiment, a plurality of decision applications each embody a functional expression of a corresponding one of a plurality of workflow definitions. Each of the plurality of decision applications is configured to be repeatedly instantiated. A workflow execution application is configured to orchestrate an execution of each one of a plurality of workflow instances. The workflow execution application is in data communication with each instance of a respective one of the plurality of decision applications. Each of the plurality of decision applications is configured to determine a next action to be taken for respective ones of the plurality of workflow instances.