Process Instance Transport via Eager Displacement and On-Demand Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in providing transactional guarantees for business processes that need to interoperate with backend applications, especially when events are received at one node but the process instance is located at another node, without infrastructure support for distributed transactions.

Innovation Solution

A computer-implemented method for transporting process instances within a distributed computing system using an eager displacement mechanism to persist inactive process instances to a database and an on-demand recovery mechanism to re-establish active instances, ensuring transactional safety and ACID compliance through a controller that uses distributed hash tables to locate and transfer process instances between nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If process instances are transported between nodes in a distributed computing system, then event handling capability is improved, but transactional guarantee and system reliability deteriorate without infrastructure support for distributed transactions

Engineering Contradiction:
Improveevent handling capabilityVSAvoidtransactional guarantee
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the process instance management into two independent parts: the process instance state is stored in a shared database accessible by all nodes, while the event handling and process execution are distributed across multiple nodes. This segmentation allows any node to handle events for process instances located at any other node, improving adaptability while maintaining transactional guarantees through the centralized database.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a shared database as an intermediary between nodes and process instances. The database acts as a mediator that ensures transactional guarantees by providing ACID-compliant storage for process instance states, while allowing distributed event handling across nodes without requiring complex distributed transaction infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If process instances are frequently transported between nodes, then system flexibility is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvesystem flexibilityVSAvoidsystem overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By separating process instance storage (in shared database) from process execution (at individual nodes), the system enables flexible process instance transportation without the complexity of moving entire process states. Only lightweight event notifications need to be transmitted between nodes, reducing overhead while maintaining flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses a copy-based approach where the shared database maintains copies of process instance states that are accessible to all nodes. This eliminates the need for complex state synchronization during process instance transportation, as nodes can independently access and work with process instance copies from the database, reducing system overhead while maintaining flexibility.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11341158B2Cluster-based business process management through eager displacement and on-demand recovery
Publication Date: 2022.05.24 SAP SE
  • US11341158B2 patent drawing
  • US11341158B2 patent drawing
  • US11341158B2 patent drawing

AI summary

Methods and apparatus, including computer program products, are provided for transporting processes within a distributed computing system, such as a cluster. In one aspect, the computer-implemented method may receive an event at a first node. The event may correspond to a process instance for handling the received event. The process instance may be transported from a second node to the first node. The process instance may be transported from a persistence when the process instance is inactive and, when the process instance is active, the process instance may be persisted to enable transport to the first node. Related apparatus, systems, methods, and articles are also described.