Non-persistent Message Queue Spilling for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face performance and memory usage issues due to the acknowledgment mechanism in non-persistent message queues, which leads to increased memory usage and inefficient propagation of messages between source and destination DBMSs.

Innovation Solution

Implementing a spilling strategy that moves non-persistent messages from a destination non-persistent message queue to a persistent message queue based on parameters like sparseness factor, number of messages, and memory resources, with placeholders for spilled messages characterized as consumed to optimize performance and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If an acknowledgment mechanism is utilized to synchronize the propagation of non-persistent messages, then message propagation reliability is improved, but memory usage increases and performance deteriorates

Engineering Contradiction:
Improvemessage propagation reliabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the state of message storage by spilling non-persistent messages from volatile memory (non-persistent message queue) to persistent storage (persistent message queue) based on parameters such as sparseness factor, number of messages, and memory resources. This parameter change resolves the contradiction by maintaining reliability through persistent storage while reducing memory usage in the non-persistent queue.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent extracts spilled messages from the non-persistent message queue and stores them separately in the persistent message queue. By taking out these messages, the system reduces memory usage in the non-persistent queue while maintaining the ability to deliver messages reliably through the persistent storage mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If an acknowledgment mechanism is utilized to synchronize the propagation of non-persistent messages, then message propagation reliability is improved, but propagation efficiency worsens

Engineering Contradiction:
Improvemessage propagation reliabilityVSAvoidmessage propagation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically changes the storage parameter of messages based on queue conditions (sparseness factor, message count, memory resources). When messages are spilled to persistent storage, the acknowledgment mechanism operates more efficiently because the non-persistent queue maintains fewer messages, reducing synchronization overhead while preserving reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The persistent message queue acts as an intermediary for spilled messages. Messages are transferred from the non-persistent queue to the persistent queue, which then serves as a mediator for reliable delivery. This intermediary mechanism improves propagation efficiency by separating the high-speed non-persistent path from the reliable persistent path.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If placeholders for spilled messages are characterized as consumed, then acknowledgment handling efficiency is improved, but message delivery accuracy may worsen

Engineering Contradiction:
Improveacknowledgment handling efficiencyVSAvoidmessage delivery accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates placeholders as copies of spilled messages in the non-persistent queue. These placeholders are characterized as consumed to improve acknowledgment handling efficiency. The actual message content is stored in the persistent queue, ensuring delivery accuracy is maintained through the persistent storage mechanism while the placeholders enable efficient acknowledgment processing.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Placeholders serve as intermediaries between the non-persistent queue and the acknowledgment mechanism. By characterizing placeholders as consumed, the system improves acknowledgment handling efficiency without affecting actual message delivery accuracy, since the real messages remain in persistent storage until successfully delivered.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7895600B2Method of optimizing propagation of non-persistent messages from a source database management system to a destination database management system
Publication Date: 2011.02.22 ORACLE INT CORP
  • US7895600B2 patent drawing
  • US7895600B2 patent drawing
  • US7895600B2 patent drawing

AI summary

A method of optimizing propagation of non-persistent messages from a source database management system (DBMS) to a destination database management system (DBMS) is described and provided. The method comprises receiving one or more nonpersistent messages from a source non-persistent message queue of the source DBMS at a destination non-persistent message queue of the destination DBMS. The nonpersistent messages are consumed from the destination non-persistent message queue such that consumed non-persistent messages are removed from the destination non-persistent message queue. Further, at least a portion of the non-persistent messages are spilled from the destination non-persistent message queue to a destination persistent message queue of the destination DBMS based on at least one parameter selected from a group consisting of a sparseness factor, number of nonpersistent messages in the destination non-persistent message queue, and amount of memory resources utilized by the destination non-persistent message queue. Moreover, to the source DBMS is sent an acknowledgment including a watermark indication of consumed non-persistent messages from the destination non-persistent message queue. Spilled non-persistent messages are characterized as consumed.