Messaging Middleware Relationship Cache for Faster Cross-Queue Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging middleware systems face inefficiencies in processing related messages across different queues, leading to high time complexity and resource wastage due to consumers having to perform brute force searches and extra operations to find related messages.

Innovation Solution

The introduction of a new data structure in the messaging middleware system that stores message relationships, along with a pre-process method to decide how to store data and relationships, and a consumer API to quickly locate related messages across queues using relationship keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If consumers perform brute force searches to find related messages across different queues, then they can locate correlated messages, but time complexity and resource consumption increase significantly

Engineering Contradiction:
Improvemessage relationship identification accuracyVSAvoidtime to locate related messages
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing message relationship mappings in a cache data structure before consumers need to query them. When messages are produced or relationships are established, the system proactively builds lookup tables that map relationship keys to message IDs and queue locations, so that consumers can immediately retrieve related messages without performing expensive brute force searches across multiple queues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary cache data structure that acts as a mediator between messages in different queues and consumers. This cache stores pre-computed relationship mappings (relationship key → message ID → queue location) that enable consumers to quickly locate related messages without directly searching through multiple queues. The intermediary cache absorbs the complexity of relationship tracking and provides simple, fast lookup operations to consumers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If consumers perform extra operations to find related messages across queues, then they can ensure complete message processing, but resource wastage increases

Engineering Contradiction:
Improvemessage processing completenessVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing message relationship mappings in a cache data structure before consumers need to query them. When messages are produced or relationships are established, the system proactively builds lookup tables that map relationship keys to message IDs and queue locations, so that consumers can immediately retrieve related messages without performing expensive brute force searches across multiple queues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The message relationship cache serves itself by automatically maintaining up-to-date mappings as messages are produced, consumed, and relationships are established. The system self-updates the cache data structure without requiring external intervention, ensuring that the cache remains synchronized with the actual state of messages and relationships, thereby maintaining processing reliability while minimizing resource consumption.

Inventive Principle:
Principle #25Self-service

3Speed

If the system stores message relationships in a cache data structure, then retrieval speed improves, but system complexity increases

Engineering Contradiction:
Improvemessage retrieval speedVSAvoiddata structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the messaging system into distinct functional components: message queues for storing messages, a relationship cache for storing pre-computed mappings, and consumer APIs for accessing messages. By separating the relationship tracking functionality from the message storage and consumption logic, the system achieves fast retrieval through specialized cache structures while managing complexity through clear component boundaries and defined interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The relationship cache data structure is designed to be universal and multi-functional, serving as a single source of truth for all message relationship queries across different queues and consumer types. Rather than implementing separate tracking mechanisms for each queue or consumer, the universal cache structure handles all relationship lookups uniformly, simplifying the overall system architecture while maintaining high retrieval speeds.

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

Data Source

PatentUS20250258728A1Consumer Efficiency in Messaging Middleware System
Publication Date: 2025.08.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250258728A1 patent drawing
  • US20250258728A1 patent drawing
  • US20250258728A1 patent drawing

AI summary

Processing related messages in different queues in a middleware system is provided. The middleware system receives a first message that comprises a body and a header. The header includes a first message ID and a relationship key, wherein the relationship key denotes a relationship between the first message and a correlated second message. The system reads the relationship key from the header of the first message. The middleware system stores the first message in a first queue and stores the first message ID and relationship key in a relationship object in a cache list. A consumer API retrieves the first message from the first queue and extracts the relationship key from the header. The consumer API identifies, according to the relationship key, a second message ID in the relationship object and retrieves the correlated second message from a second queue according to the second message ID.