Master Queue Messaging Service Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In component-based software environments, messaging services face challenges in delivering messages efficiently due to limited memory allocation, leading to insufficient caching of messages within physical memory, which affects performance and resource consumption.

Innovation Solution

A master queue architecture is implemented, utilizing a priority-based link list structure and memory management techniques to cache messages in memory rather than persisting them in a database, with a statistics manager monitoring consumer rates and storage manager optimizing memory allocation to ensure efficient delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If more memory is allocated to cache messages in physical memory, then message delivery speed is improved, but the limited physical memory resources are exhausted

Engineering Contradiction:
Improvemessage delivery speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the message queue into multiple priority levels (first priority queue, second priority queue, third priority queue) with different memory allocation strategies. High-priority messages are cached in physical memory for fast delivery, while lower-priority messages are persisted to the database. This segmentation allows the system to optimize memory usage by only caching messages that need to be delivered quickly, rather than caching all messages uniformly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different message priority levels differently in terms of memory allocation and caching strategies. Each priority level has its own queue structure and memory management approach, allowing the system to optimize for local needs (high-priority messages need fast delivery from memory, while low-priority messages can wait in the database).

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If messages are persisted in the database rather than cached in memory, then memory resources are conserved, but message delivery speed decreases

Engineering Contradiction:
Improvememory resourcesVSAvoidmessage delivery speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments messages into different priority queues, allowing the system to cache only high-priority messages in memory while persisting lower-priority messages to the database. This segmentation enables selective caching based on delivery urgency, optimizing both memory usage and delivery speed for critical messages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of message priority classification to determine caching behavior. By assigning different priority levels to messages, the system dynamically decides whether to cache or persist each message based on its priority, allowing flexible optimization of memory resources versus delivery speed trade-offs.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a simple queue structure is used, then device complexity is reduced, but the ability to prioritize and manage different message types effectively is limited

Engineering Contradiction:
Improvequeue structure complexityVSAvoidmessage delivery efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the single queue into multiple priority-based queues (first priority queue for high-priority messages, second priority queue for medium-priority messages, third priority queue for low-priority messages). This segmentation enables effective message prioritization and efficient resource management while maintaining relatively simple queue implementations for each priority level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic priority management where the system can adaptively manage different message types based on their priority levels. The storage manager and cursor component dynamically interact with the priority queues to optimize message retrieval and delivery based on current system conditions and message urgency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8938515B2Master queue for messaging service
Publication Date: 2015.01.20 SAP SE
  • US8938515B2 patent drawing
  • US8938515B2 patent drawing
  • US8938515B2 patent drawing

AI summary

A messaging service is described that incorporates messages into cached link lists. The messages are not yet acknowledged as having been received by one or more consumers to whom the messages were sent. A separate link list exists for each of a plurality of different message priority levels. Messages within a same link list are ordered in their link list in the same order in which they where received by the messaging service. At least one of the link lists contains an element that represents one or more messages that are persisted but are not cached in any of the cached link lists.