Active Enterprise Service Bus Parallel Message Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing enterprise service bus systems are architecturally passive, requiring single-thread processing and strict ordering to manage message processing, which limits performance and increases development costs due to artificial restrictions on message ordering and processing.

Innovation Solution

An active enterprise service bus with intelligent edges that create an ordering queue, allowing parallel processing of messages while ensuring that messages within a group are processed uniformly and preventing simultaneous processing of mutually dependent messages, using a listener and emitter system with a dispatch list register to manage batch processing and ordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If single-thread processing is used to ensure strict message ordering, then message ordering reliability is improved, but system productivity is worsened due to limited parallel processing capability

Engineering Contradiction:
Improvemessage ordering reliabilityVSAvoidsystem productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments messages into groups based on their dependencies, allowing different groups to be processed in parallel threads. Each thread handles a specific group of messages that share common dependencies, enabling concurrent processing while maintaining ordering within each group. This resolves the contradiction by allowing parallel processing (improving productivity) while ensuring ordering reliability within segmented groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic thread assignment where threads are created and assigned to process message groups dynamically based on incoming message dependencies. The system can adapt the number of active threads and their assignments in real-time, allowing the system to scale productivity while maintaining ordering guarantees through dynamic group-based segmentation.

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel processing is enabled to improve system productivity, then processing throughput is improved, but message ordering control is worsened due to simultaneous processing of dependent messages

Engineering Contradiction:
Improveprocessing throughputVSAvoidmessage ordering control
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments messages into distinct groups based on their dependency relationships. By assigning different groups to different threads, the system achieves parallel processing (improving throughput) while preventing simultaneous processing of dependent messages within the same group. The segmentation ensures ordering control is maintained within each group despite parallel execution across groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a message group identifier as an intermediary mechanism that tags messages with their group membership information. This intermediary allows the system to track which messages belong to the same dependency group, enabling the thread assignment logic to prevent simultaneous processing of dependent messages while allowing independent messages to be processed in parallel.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If artificial restrictions on message ordering are imposed to simplify processing, then ease of operation is improved, but device complexity is worsened due to unnecessary processing constraints

Engineering Contradiction:
Improveprocessing simplicityVSAvoidprocessing constraint complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by allowing the system to automatically detect and enforce ordering constraints based on message content and dependencies, rather than requiring external artificial restrictions. The system autonomously identifies message groups and assigns them to appropriate threads, eliminating the need for complex external control mechanisms while maintaining ordering guarantees. This reduces device complexity by removing artificial constraints and replacing them with intelligent autonomous processing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9348675B2Active service bus
Publication Date: 2016.05.24 CLOUD SOFTWARE GROUP LLC
  • US9348675B2 patent drawing
  • US9348675B2 patent drawing
  • US9348675B2 patent drawing

AI summary

A method of responding to random service request messages received on an enterprise service bus of a computer network, each of said messages being a member of a group of related messages, in which the received messages are stored in a queue when detected by a listener for processing in a process flow having one or more nodes connected by respective edges between the listener and an emitter. In immediate mode, a message is accepted for processing only when a node is available and no other message in the same group is being processed. In batch mode, all of the messages in a group must be present in the queue before the messages in the group can be processed in predetermined order.