Message Queue Union Retrieval for Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current message queuing systems require multiple GET operations for retrieving large numbers of messages, leading to overhead and limited capabilities for selective message retrieval based on complex criteria, especially in scenarios where message order and grouping are crucial.

Innovation Solution

A method and system that form a union of requests from multiple clients, handling common records once, with associated reference counts and metadata, allowing for efficient message retrieval by sending a single record response and notification, enabling clients to retrieve messages in arbitrary order through a queuing system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple GET operations are used to retrieve large numbers of messages, then complete message retrieval is achieved, but system overhead increases and retrieval efficiency decreases

Engineering Contradiction:
Improvemessage retrieval efficiencyVSAvoidnumber of GET operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple individual GET operations into a single batch retrieval operation. The server consolidates requests from multiple clients and retrieves messages in bulk from the message queuing system, then distributes them to respective clients. This merging approach reduces the total number of GET operations and associated overhead while maintaining complete message retrieval capability.

Inventive Principle:
Principle #5Merging (Combining)

2Stability of the object's composition

If message grouping is used to maintain sender-defined order, then message order is preserved, but the receiver cannot override the order and must submit separate GET requests for each message

Engineering Contradiction:
Improvemessage orderVSAvoidretrieval efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent introduces dynamic message grouping where messages are organized into batches that can be retrieved together. Instead of rigid single-message retrieval or fixed sender-defined ordering, the system creates flexible groups of messages that maintain their relative order within each batch while allowing batch-level retrieval. This dynamic approach enables both order preservation and improved retrieval efficiency through batch operations.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If topics are used for message selection in publish/subscribe model, then high-level message selection is enabled, but complex application-specific filtering criteria cannot be implemented

Engineering Contradiction:
Improvemessage selection capabilityVSAvoidfiltering precision
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent segments the message filtering process into two levels: coarse filtering by topic (high-level selection) and fine filtering by application-specific criteria (low-level selection). The server first retrieves messages based on topic subscriptions, then applies additional filtering rules specific to each application's needs. This segmentation allows both high-level topic-based selection and precise application-specific filtering to work together effectively.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10084740B2Processing messages for retrieval from a message queuing system
Publication Date: 2018.09.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10084740B2 patent drawing
  • US10084740B2 patent drawing
  • US10084740B2 patent drawing

AI summary

Methods and systems are provided for processing messages for retrieval from a message queuing system. The method may be carried out at a message sending component, and may include: receiving requests from multiple clients, where a request includes at least one required record; forming a union of requests, such that a common record of multiple requests is handled once; providing the common record with an associated reference count of requests requiring the record, and associated metadata listing the client requests in the record; sending a record response to a queuing system when processed including the reference count and the metadata listing the client requests; determining when all records in a request have been sent; and notifying a client that the request can be retrieved from the message queuing system, including a response list indicating to the client the identifier of the requested records retained at the message queuing system.