Generic Wait Service Parallel BPEL Process Pausing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing service-oriented applications, such as BPEL processes, are limited in handling multiple simultaneous wait states due to the requirement of serial response handling from event producers, restricting the complexity of task flows that can be implemented.

Innovation Solution

A generic wait service is introduced that receives initiation messages with unique attributes and exit criteria from paused instances, allowing it to asynchronously manage status information from event producers and notify instances when conditions are met, enabling parallel wait states and decoupling service-oriented applications from event producers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous message exchange is used between BPEL process and event producers, then the BPEL process can wait for status information, but it can only handle multiple wait states in serial fashion rather than parallel

Engineering Contradiction:
Improvestatus information waitingVSAvoidtask flow complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the wait state handling by creating separate correlation sets for each event producer interaction. Each correlation set independently tracks status information from a specific event producer, allowing multiple wait states to be managed in parallel rather than serially. This segmentation enables the BPEL process to maintain multiple simultaneous wait states without sequential dependencies.

Inventive Principle:
Principle #1Segmentation

2Reliability

If synchronous message exchange is used, then the BPEL process can obtain status information, but code duplication increases as pausing logic must be implemented in each application instance

Engineering Contradiction:
Improvestatus information retrievalVSAvoidcode duplication
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal pausing mechanism through correlation sets that can be reused across multiple BPEL process instances and different event producers. The correlation set structure provides a standardized, multi-functional framework for managing wait states, eliminating the need to duplicate pausing logic in each application instance. This universal approach allows the same correlation set mechanism to handle various types of status information waiting scenarios.

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

3Device complexity

If serial waiting for event producer responses is implemented, then the system can maintain simple logic, but productivity decreases due to inability to handle multiple simultaneous wait states

Engineering Contradiction:
Improvelogic simplicityVSAvoidtask flow processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces correlation sets as an intermediary mechanism between the BPEL process and event producers. These correlation sets act as mediators that manage the complexity of parallel wait states while maintaining simple interaction patterns. The correlation sets handle the bookkeeping and status tracking, allowing the BPEL process to maintain simple logic while achieving high productivity through parallel processing of multiple wait states.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10296373B2Generic wait service: pausing and resuming a plurality of BPEL processes arranged in correlation sets by a central generic wait server
Publication Date: 2019.05.21 ORACLE INT CORP
  • US10296373B2 patent drawing
  • US10296373B2 patent drawing
  • US10296373B2 patent drawing

AI summary

A method of pausing a plurality of service-oriented application (SOA) instances may include receiving, from an instance of an SOA entering a pause state, an initiation message. The initiation message may include an exit criterion that identifies a business condition that must be satisfied before the instance of the SOA exits the pause state. The method may also include receiving a notification from an event producer, the notification comprising a status of a business event and determining whether the status of the business event satisfies the business condition of the exit criterion. The method may additionally include sending, in response to a determination that the status of the business event satisfies the business condition of the exit criterion, an indication to the instance of the SOA that the business condition has been satisfied such that the instance of the SOA can exit the pause state.