Messaging Service Cache Management via Priority Link Lists
Find Innovative SolutionsGenerate 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 results in slower message delivery and increased resource consumption.
Innovation Solution
The implementation of a messaging service architecture that utilizes master queues with priority-based link lists and a memory management system to cache messages in memory rather than persisting them in a database, ensuring faster delivery while conserving memory resources by dynamically adjusting the number of master queue entries based on consumer consumption rates and message priority.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If messages are cached in physical memory to enable faster delivery, then message delivery speed is improved, but memory resource consumption increases
Solution Approach 1:
The patent applies local quality by implementing priority-based differentiation in message caching. High-priority messages receive preferential treatment in terms of caching resources and memory allocation, while low-priority messages are handled differently. This is achieved through separate link lists for different priority levels (e.g., HIGH_PRIORITY_LINK_LIST, NORMAL_PRIORITY_LINK_LIST) that organize cached messages according to their importance, allowing the system to optimize memory usage by focusing resources on critical messages rather than treating all messages uniformly.
Solution Approach 2:
The patent implements dynamics through adaptive memory management where the messaging service dynamically adjusts the number of master queue entries based on consumer consumption rates and message priority. The system monitors consumption patterns and automatically scales the cache size and memory allocation up or down accordingly. This dynamic adjustment allows the system to maintain optimal message delivery speed while preventing excessive memory consumption, as the cache adapts to actual workload demands rather than maintaining a fixed size.
2Productivity
If memory allocation is increased to cache more messages, then message delivery performance is improved, but system resource availability for other functions deteriorates
Solution Approach 1:
The patent applies parameter changes by dynamically modifying the master queue entry count based on consumption rates and priority levels. Instead of allocating a fixed large memory space, the system adjusts the number of cached messages as a variable parameter according to actual demand. The master queue size is modified based on monitored consumption patterns and message priority distributions, allowing the system to optimize messaging performance while leaving sufficient memory available for other system functions.
Solution Approach 2:
The patent implements partial action by caching only the necessary portion of messages rather than all messages. The system determines an optimal cache size that is sufficient for maintaining good message delivery performance but not excessive. By caching only high-priority and frequently consumed messages while leaving lower-priority messages to be retrieved from persistence storage when needed, the system achieves adequate productivity without over-consuming memory resources that would be unavailable for other functions.
3Speed
If all messages are cached in memory regardless of priority, then message delivery speed is maximized, but memory efficiency deteriorates
Solution Approach 1:
The patent applies local quality through priority-based message differentiation in the caching strategy. Instead of treating all messages uniformly, the system creates distinct handling paths for different priority levels. High-priority messages are aggressively cached in memory with higher retention rates, while low-priority messages are cached less frequently or kept in persistence storage. This is implemented through separate link lists and priority-based decision logic that determines which messages to cache, ensuring memory efficiency by focusing resources on messages where caching provides the most value.
Solution Approach 2:
The patent implements parameter changes by dynamically adjusting caching parameters based on message priority and consumption patterns. The system modifies cache retention policies, cache size allocations, and retrieval strategies as variables rather than using fixed rules. Priority levels serve as key parameters that change the caching behavior, allowing the system to maintain high delivery speed for critical messages while improving memory efficiency by reducing caching for less important messages.
Data Source
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.


