Dynamic Process Synchronization for Variable Parallel Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing process modeling languages struggle to express and execute parallel tasks and subsequent tasks dynamically, often resulting in inflexible and limited representations of real-world scenarios, where the number of parallel tasks can vary and subsequent tasks depend on the outcomes of these tasks.

Innovation Solution

A system with a branch manager and flow condition evaluator that detects and evaluates activations of multiple incoming branches at a synchronization point, allowing for flexible execution by spawning a continuous synchronizer to synchronize subsets of parallel branches and trigger subsequent tasks based on dynamic activation scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a static number of parallel tasks is specified for synchronization, then the process model is simple to implement, but it lacks flexibility to adapt to dynamic scenarios where the number of tasks varies

Engineering Contradiction:
Improveflexibility of synchronizationVSAvoidcomplexity of process model
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by transitioning from static synchronization (fixed number of tasks) to dynamic synchronization (variable number of tasks). The synchronization point evaluates activation conditions dynamically during runtime, allowing the number of parallel tasks to be determined by actual execution scenarios rather than predetermined values. This enables the process model to adapt to varying numbers of parallel tasks while maintaining executable precision.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple synchronization points are introduced to handle dynamic task numbers, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improvehandling of dynamic task scenariosVSAvoidnumber of synchronization points
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal synchronization point that can handle multiple synchronization scenarios through a single construct. This synchronization point incorporates conditional logic to evaluate different activation conditions and determine when to proceed based on the number of activated incoming branches. By making the synchronization point multi-functional, the patent avoids introducing multiple separate synchronization points, thereby maintaining model simplicity while achieving dynamic adaptability.

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

3Reliability

If traditional synchronization is used with fixed task numbers, then the process model is easy to execute, but it fails to represent real-world scenarios where task outcomes dynamically influence subsequent tasks

Engineering Contradiction:
Improveaccuracy of process representationVSAvoidease of process execution
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies feedback by having the synchronization point continuously monitor and evaluate the activation status of incoming branches. The activation condition assessment mechanism provides feedback about which parallel tasks have completed and under what conditions, enabling the process model to make runtime decisions about subsequent task execution. This feedback loop allows the system to accurately represent real-world scenarios where task outcomes dynamically influence the process flow while maintaining automated executable precision.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8429653B2Process model control flow with multiple synchronizations
Publication Date: 2013.04.23 SAP SE
  • US8429653B2 patent drawing
  • US8429653B2 patent drawing
  • US8429653B2 patent drawing

AI summary

Activations of a plurality of incoming branches may be detected at a synchronization point having a plurality of outgoing branches. A first synchronization may be executed after a first number of activations is detected, and at least one of a plurality of outgoing branches from the synchronization point may be activated, based on the first synchronization. A second synchronization may be executed after a second number of activations is detected, and at least a second one of the plurality of outgoing branches from the synchronization point may be activated, based on the second synchronization.