Resource Adapter Selector String for Message Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In message processing systems using the publish-subscribe model, multiple application instances subscribed to a topic receive the same message, leading to inefficiencies as all instances process the message, whereas only one instance should handle it for effective processing throughput.

Innovation Solution

Implementing a method where each resource adapter calculates a selector string based on the message's application instance selection portion, ensuring only the corresponding application instance processes the message, while others discard it, without requiring communication between adapters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple application instances are subscribed to a topic in the publish-subscribe model, then the system achieves high availability and load distribution, but all instances receive and process the same message leading to redundant processing and reduced throughput

Engineering Contradiction:
Improvemessage processing throughputVSAvoidredundant processing effort
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the message processing workload by introducing a selector string mechanism that divides messages among multiple application instances. Each instance calculates a selector string from the message content and only processes messages where the selector string matches its assigned value, thereby segmenting the processing load and eliminating redundant processing while maintaining high availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making each application instance have a unique characteristic (its assigned selector string value) that determines which messages it processes. This allows each instance to be optimized for specific message types or sources, improving overall system efficiency while maintaining the benefits of multiple instances

Inventive Principle:
Principle #3Local quality

2Reliability

If all application instances process every message received from a topic, then each instance can independently handle messages, but system efficiency decreases due to duplicate processing

Engineering Contradiction:
Improvemessage processing reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by calculating the selector string from the message content before distribution to application instances. This pre-calculation allows each instance to quickly determine whether it should process the message without requiring complex runtime decisions, maintaining reliability while improving processing efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The selector string acts as an intermediary mechanism between the message and the application instances. It provides a simple comparison-based filtering method that maintains message processing reliability through deterministic selection while significantly improving efficiency by eliminating redundant processing across instances

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a selector string mechanism is implemented to route messages to specific application instances, then processing throughput is optimized, but the device complexity increases

Engineering Contradiction:
Improvemessage processing throughputVSAvoidmessage routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by using a simple string-based selector mechanism that can be easily modified or extended. The selector string is derived from message parameters and compared against instance-specific values, providing a flexible and low-complexity routing solution that optimizes throughput without requiring complex routing logic or infrastructure changes

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7921427B2Method and system for processing messages in an application cluster
Publication Date: 2011.04.05 ORACLE AMERICAN INC
  • US7921427B2 patent drawing
  • US7921427B2 patent drawing
  • US7921427B2 patent drawing

AI summary

A method for processing a message that includes receiving the message by a plurality of resource adapters (RA). The method includes calculating a selector string using an application instance selection portion of the message, determining whether the selector string calculated by the RA identifies the application instance corresponding to the RA, transmitting the message to the application instance corresponding to the RA when the selector string calculated by the RA identifies the application instance, and discarding the message when the selector string calculated by the RA does not identify the application instance corresponding to the RA, where one RA transmits the message to the application instance corresponding to the RA and the remaining RAs discard the message.