Workflow Engine Concurrent Sub Process Control via Identifier Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing workflow engines struggle to efficiently manage concurrent and duplicated sub processes, leading to unnecessary waiting times due to inadequate handling of runtime dependencies between node instances.
Innovation Solution
The proposed solution involves a workflow engine that utilizes a directed acyclic graph (DAG) to represent workflow processes, where each node represents a sub process with a depth value indicating its generation. The engine executes multiple, parallel instantiations of sub processes and uses identifier arrays to determine which node instances need to wait for others, thereby optimizing the transition between nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If workflow engines execute multiple parallel instantiations of sub processes, then productivity is improved, but device complexity increases due to inadequate handling of runtime dependencies between node instances
Solution Approach 1:
The patent segments the workflow into distinct node instances with unique identifiers, allowing parallel execution while tracking dependencies. Each node instance is treated as a separate manageable unit with its own identifier array, enabling the system to handle concurrency without overwhelming complexity.
Solution Approach 2:
The patent introduces identifier arrays as an intermediary mechanism to track runtime dependencies between node instances. These arrays act as mediators that store batch identifiers and enable the system to determine wait conditions without directly managing complex inter-process communication and synchronization.
2Reliability
If workflow engines use identifier arrays to track node instances, then reliability is improved by eliminating unnecessary waiting times, but device complexity increases due to the need to manage identifier arrays for each node instance
Solution Approach 1:
The patent performs preliminary action by pre-establishing identifier arrays and batch identifiers when node instances are created. This preliminary setup captures the dependency relationships upfront, allowing the system to reliably determine wait conditions during execution without needing complex runtime analysis.
Solution Approach 2:
The patent uses parameter changes by storing batch identifiers in identifier arrays at specific indices corresponding to node depths. This parameter-based encoding of dependency information allows reliable tracking while keeping the data structure simple and manageable during execution.
Data Source
AI summary
The present disclosure involves systems, software, and computer implemented methods for concurrent duplicated sub process control in a workflow engine. One example method includes executing a sub process of a workflow process using an instance of a node that represents the sub process. After executing the sub process, a determination is made as to whether the node is a join node that has multiple direct predecessor nodes in a graph of the workflow process. If the node is a join node, dependent nodes of the join node are identified for which traversal of the graph from a dependent node passes through the join node. A set of active dependent node instances of the dependent nodes are identified and a determination is made as to whether to wait for completion of any particular dependent node instances or if workflow execution can continue beyond the join node.


