Workflow Continuation Engine for Dynamic Control Flow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing workflow models fail to accommodate varying dimensions of execution and modeling complexity, knowledge of flow structure, ease of authoring, and association of business logic, and are limited by their non-extensible and closed nature, lacking efficient programmability and flexibility.

Innovation Solution

A continuation-based workflow engine that generates continuations for program fragments during execution, allowing for dynamic control flow patterns and virtualization of a managed execution environment, enabling flexible modeling and execution of complex workflows independent of specific control flow patterns and domain specificity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If language-based approaches with closed pre-defined constructs are used, then workflow modeling is standardized and vendor-supported, but the system lacks extensibility and cannot be adapted to domain-specific requirements

Engineering Contradiction:
Improveworkflow modeling standardizationVSAvoidsystem extensibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (workflow engine with continuation support) between the standardized workflow language and the execution environment. This intermediary enables domain-specific extensions through custom activities and continuations while maintaining compatibility with standard workflow constructs, thus resolving the contradiction between standardization and extensibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The workflow system is segmented into independent components: standard workflow constructs, domain-specific activities, and continuation mechanisms. This segmentation allows each component to be developed and extended independently, enabling both standardized modeling and domain-specific adaptations without compromising system reliability

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If application-based approaches with domain-specific workflows are used, then domain-specific problems are solved effectively, but the system lacks true extensibility and programmability

Engineering Contradiction:
Improvedomain-specific problem solvingVSAvoidsystem programmability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic workflow execution through continuation objects that allow workflows to be suspended, resumed, and manipulated at runtime. This dynamic capability enables domain-specific workflows to be highly adaptable while maintaining programmability through a unified workflow engine that manages all activities consistently

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If fixed functionality managed execution environment is used, then system stability is maintained, but flexibility for complex workflow patterns is limited

Engineering Contradiction:
Improveexecution environment stabilityVSAvoidworkflow pattern flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The continuation mechanism serves as an intermediary between the stable managed execution environment and the need for flexible workflow patterns. By capturing and managing execution state externally, continuations enable complex control flows while the underlying execution environment remains stable and unchanged

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8069439B2Framework for modeling continuations in workflows
Publication Date: 2011.11.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8069439B2 patent drawing
  • US8069439B2 patent drawing
  • US8069439B2 patent drawing

AI summary

Enabling creation of control flow patterns in a workflow via continuations. Each continuation represents an activity execution context for an activity executing in the workflow by a workflow engine virtualizing a managed execution environment. Responsive to a request, the activity execution context is recreated via the continuation and the activity is executed within the recreated context.