Distributed Process Execution via Atomic Component Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing business process automation systems face challenges in scalability, resource utilization, and resilience due to state-fullness and I/O bounded functions, which limit parallel execution and increase complexity in cloud-based environments.
Innovation Solution
Decomposing business processes into independent executable components, such as integration, task, and data flow types, that can be executed in parallel across multiple nodes in a distributed computing environment, using an event-driven and stateless approach with flow supervisors and recoverers for resilience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If business processes are executed as monolithic units in traditional systems, then process execution control is simplified, but scalability and parallel execution capability are limited
Solution Approach 1:
The patent divides business processes into atomic process steps that can be independently executed and managed. Each process step is a discrete unit with defined inputs, outputs, and execution logic, enabling parallel processing while maintaining overall process coherence through the process model that defines sequencing relationships between atomic steps.
2Adaptability or versatility
If state-full execution is used to maintain process context, then process execution is more flexible, but resource utilization and scalability are reduced
Solution Approach 1:
The patent uses process models as executable specifications that define process steps without requiring state-full execution environments. The process model acts as a template that can be instantiated and executed multiple times independently, eliminating the need for persistent state while maintaining execution flexibility through the declarative process definition.
3Adaptability or versatility
If I/O bounded functions are used for process activities, then integration with external systems is improved, but parallel execution and throughput are limited
Solution Approach 1:
The patent separates process definition from process execution by using process models that are compiled into executable specifications beforehand. This allows I/O operations to be performed asynchronously while the process engine continues executing other process steps in parallel, improving throughput while maintaining integration capabilities through pre-defined connection logic.
4Device complexity
If process execution is centralized in a single system, then coordination is simplified, but resilience and fault tolerance are reduced
Solution Approach 1:
The patent enables distributed process execution by dividing processes into atomic steps that can be executed independently across multiple systems. The process model defines the coordination logic, allowing the process to span multiple systems while maintaining coordination through the declarative process definition rather than requiring centralized control.
Data Source
AI summary
Certain example embodiments relate to techniques for executing business processes in a distributed computer system (e.g., cloud-based) environment. A representation of the business process is decomposed into executable components. The executable components each have assigned thereto process and sequence identifiers, and each is classified as having an executable component types. The executable component types including integration, task, and data flow types. The integration flow type represents activities to be performed in connection with external computer systems, the task flow type represents human-interactive activities, and the data flow type represents activities to be performed on data relevant to the business process. The executable components are deployed to nodes in the distributed computing environment such that the executable components are performed in sequence identifier order using processing resources of the respective nodes to which they are deployed, except executable components with the same sequence identifiers are performed in parallel on different nodes.


