Dynamic Workflow Engine Using Parent-Child Templates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current workflow technologies are inflexible, requiring significant skills to modify or add to deployed workflows, as they are statically defined and cannot be changed once deployed, limiting their adaptability and scalability.

Innovation Solution

A method and system that uses parent and child process templates to manage the execution of workflows, allowing for dynamic changes to workflow configurations at runtime, enabling the instantiation of child processes based on a parent process template and allowing for the modification of workflow operations without requiring complete redeployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a workflow is statically defined during development phase, then workflow structure is stable and predictable, but the workflow cannot be changed after deployment and requires complete redeployment for modifications

Engineering Contradiction:
Improveworkflow structure stabilityVSAvoidworkflow modification capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic workflow definitions that allow structural changes during runtime. Instead of static XML definitions, the system uses dynamic data structures that can be modified without redeployment. The workflow engine evaluates expressions and dynamically determines workflow structure based on runtime conditions, enabling adaptability while maintaining stability through controlled modification mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the fundamental parameter of workflow definition from static to dynamic. By using dynamic data structures and expression evaluation instead of fixed XML documents, the system allows workflow parameters (structure, operations, data flows) to be changed at runtime. This resolves the contradiction by enabling modification capability while maintaining structural integrity through the dynamic evaluation framework.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If workflow definitions are static and deployed on server, then deployment is simple and initial setup is easy, but modifying deployed workflows requires significant skills and complete redeployment

Engineering Contradiction:
Improveworkflow deployment simplicityVSAvoidworkflow modification complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system maintains simple deployment by using dynamic workflow definitions that don't require traditional compilation or redeployment processes. Modifications are made by updating dynamic data structures in memory rather than redeploying entire workflow packages. This reduces modification complexity from requiring programming skills to simple configuration changes, while maintaining deployment simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses template-based workflow definitions where a single dynamic template can generate multiple workflow instances. Modifications to the template automatically propagate to all instances, eliminating the need for complex redeployment procedures. This simplifies both deployment and modification by using copy-based instantiation rather than unique deployments for each workflow.

Inventive Principle:
Principle #26Copying

3Reliability

If traditional workflow technology is used, then workflow execution is controlled and predictable, but the system lacks flexibility and requires extensive skills to adapt workflows

Engineering Contradiction:
Improveworkflow execution controlVSAvoidworkflow flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements feedback mechanisms where workflow execution results are evaluated and used to dynamically adjust workflow structure. The system monitors execution states and uses expression evaluation to determine subsequent workflow paths, enabling adaptive control. This maintains reliability through controlled feedback loops while achieving flexibility through dynamic structural adjustments based on runtime conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system achieves both control and flexibility through dynamic workflow definitions that evaluate expressions at runtime. The workflow engine maintains control by systematically evaluating conditions and determining execution paths, while simultaneously providing flexibility by allowing workflow structure to adapt based on evaluated results. This resolves the contradiction by making the control mechanism itself dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8140373B2Data driven dynamic workflow
Publication Date: 2012.03.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8140373B2 patent drawing
  • US8140373B2 patent drawing
  • US8140373B2 patent drawing

AI summary

A method, system and article of manufacture for workflow processing and, more particularly, for managing creation and execution of data driven dynamic workflows. One embodiment provides a computer-implemented method for managing execution of workflow instances. The method comprises providing a parent process template and providing a child process template. The child process template is configured to implement an arbitrary number of workflow operations for a given workflow instance, and the parent process template is configured to instantiate child processes on the basis of the child process template to implement a desired workflow. The method further comprises receiving a workflow configuration and instantiating an instance of the workflow on the basis of the workflow configuration. The instantiating comprises instantiating a parent process on the basis of the parent process template and instantiating, by the parent process template, one or more child processes on the basis of the child process template.