In-Memory Message Sequencing via Segmented Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in maintaining a reliable and robust sequence of message delivery between service requestors and service providers, often requiring improved methods to ensure that messages are transmitted and processed in the correct order without errors.

Innovation Solution

An intermediary messaging system is introduced that uses memory queues, such as message sequencing and status queues, to manage messages destined for target systems, allowing for independent processing and transmission based on receipt order, ensuring messages are delivered in the correct sequence while minimizing database interactions and sorting overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If messages are transmitted in sequence based on receipt order, then message delivery reliability is improved, but processing time and system complexity increase

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments message handling into two independent queues: a sequencing queue that maintains receipt order for reliability, and a processing queue that handles messages in parallel without sequence constraints. This segmentation allows simultaneous processing of multiple messages while preserving delivery sequence, resolving the contradiction between reliability and processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary messaging system that acts as a mediator between the source system and target system. This intermediary maintains the sequencing queue and processing queue, coordinating message flow to ensure sequence preservation while enabling parallel processing, thus improving both reliability and processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If database interactions are used for message sequencing, then message order is maintained, but system performance and cost increase

Engineering Contradiction:
Improvemessage sequencing accuracyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the mechanical database system with an in-memory queueing mechanism. The sequencing queue and processing queue are implemented using memory-based data structures rather than database tables, eliminating the need for database interactions while maintaining sequencing accuracy. This substitution dramatically improves system performance by removing I/O bottlenecks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary sequencing operations in memory before any potential database interaction. By maintaining the sequencing queue in memory and only interacting with the database when absolutely necessary (e.g., persistence), the system minimizes database access overhead while ensuring message order is established early in the processing pipeline.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel processing is implemented, then productivity is improved, but maintaining message sequence becomes more difficult

Engineering Contradiction:
Improvemessage processing throughputVSAvoidsequencing management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the message handling system into distinct segmentation: the sequencing queue preserves the original receipt order, while the processing queue enables parallel processing. Each queue has a specific function, and the transition between them is managed through well-defined rules. This segmentation allows parallel processing to occur without compromising sequence integrity, as the sequencing queue serves as the authoritative source for message order.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where the processing queue continuously monitors the sequencing queue to determine when messages are ready for processing. The system checks whether processing a message would violate sequence constraints, and only allows processing when it's safe to do so. This feedback loop maintains sequencing accuracy while maximizing parallel processing opportunities.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10244070B2In-memory message sequencing
Publication Date: 2019.03.26 ORACLE INT CORP
  • US10244070B2 patent drawing
  • US10244070B2 patent drawing
  • US10244070B2 patent drawing

AI summary

The present disclosure relates generally to techniques for facilitating reliable communication of messages between a source system (e.g., a client system) and a destination (e.g., a target system) via an intermediary messaging system. In certain embodiments, the intermediary messaging system receives messages to be sent to a target system. A plurality of entries corresponding to the messages are added in memory queued corresponding to the target system. A signal is received that the message is ready for transmission. The memory queues of the target system are accessed and a determination is made from the memory queues that no other message for the target system needs to be transmitted before the message. The message is transmitted after all messages that have to be transmitted prior to the first message are transmitted.