Topic Memory Management in Publish-Subscribe Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In publish-subscribe systems, memory overloads occur when the amount of information stored in topics reaches a certain memory occupancy level, leading to unresponsive applications and the need for restarting topics, which results in data loss and downtime.

Innovation Solution

A system that monitors primary memory utilization and dynamically adjusts by throttling the publishing rate and transferring data to secondary storage to maintain memory occupancy below a threshold, preventing overloads and allowing for real-time recovery without data loss or downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the topic stores all published messages without limitation, then complete message history is preserved, but memory overload occurs causing topic and applications to become unresponsive

Engineering Contradiction:
Improvetopic responsivenessVSAvoidmemory occupancy
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the publishing rate of messages based on current memory occupancy conditions. When memory usage exceeds thresholds, the system automatically reduces the publishing rate to prevent overload, and when memory is available, it restores the rate to maintain message flow. This dynamic adjustment resolves the contradiction by making the message storage capacity adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of publishing rate from a fixed value to a variable that adjusts based on memory occupancy conditions. By monitoring memory usage and dynamically modifying the publishing rate parameter, the system prevents memory overload while maintaining topic responsiveness, resolving the contradiction between preserving complete message history and preventing memory exhaustion.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the topic clears all information to recover from overload, then memory occupancy is reduced, but data loss and downtime occur

Engineering Contradiction:
Improveservice continuityVSAvoidmessage data loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system takes preliminary action by proactively monitoring memory occupancy and adjusting the publishing rate before memory overload occurs. By detecting threshold violations in advance and reducing the publishing rate preemptively, the system prevents the need for emergency clearing operations, thereby avoiding data loss and service downtime while maintaining continuous operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism that continuously monitors memory occupancy and automatically adjusts the publishing rate in response. This closed-loop control prevents memory overload by reducing publishing when thresholds are approached, eliminating the need to clear all information and restart the topic, thus maintaining both service continuity and data integrity.

Inventive Principle:
Principle #23Feedback

3Reliability

If the topic restarts to recover from overload, then memory occupancy is reset, but topic downtime and service interruption occur

Engineering Contradiction:
Improveservice availabilityVSAvoidtopic downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by monitoring memory occupancy and adjusting the publishing rate before overload conditions develop. This preventive approach avoids the need for topic restart operations, eliminating service interruptions and downtime while maintaining continuous topic availability and operational reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous operation by dynamically adjusting the publishing rate rather than stopping the topic entirely. This approach ensures uninterrupted service availability while managing memory occupancy, preventing the downtime that would result from clearing and restarting the topic.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If the system throttles publishing rate to prevent overload, then memory occupancy is controlled, but message delivery delay increases

Engineering Contradiction:
Improvememory stabilityVSAvoidmessage publishing rate
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically adjusts the publishing rate based on real-time memory occupancy conditions rather than applying a fixed throttle. When memory is available, the publishing rate remains high to maintain speed. When thresholds are approached, the rate is reduced to maintain stability. This dynamic behavior resolves the contradiction by making the publishing rate adaptive to current system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements periodic monitoring and adjustment of the publishing rate based on memory occupancy thresholds. Rather than continuously throttling, it periodically evaluates memory conditions and adjusts the rate accordingly, maintaining high publishing speed during normal conditions while periodically reducing rate to prevent overload, thus balancing speed and stability.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11340828B2Restoring messages to a memory utilized by a topic in a publish-subscribe environment
Publication Date: 2022.05.24 BANK OF AMERICA CORP
  • US11340828B2 patent drawing
  • US11340828B2 patent drawing
  • US11340828B2 patent drawing

AI summary

An apparatus manages memory utilization by a topic in a publish-subscribe environment, wherein the topic is a logical container for the messages and one or more of the messages can be published to the topic by a publishing entity for delivery of the one or more messages to one or more subscribers of the topic. The apparatus includes a primary memory device that stores a first set of messages published to the topic and a secondary memory device that stores a second set of messages previously transferred to the secondary memory device. The apparatus further includes a processor configured to monitor utilization of a portion of the primary memory device assigned to the topic and detect that the utilization has dropped below a threshold. In response, the processor is configured to forward a portion of the second set of messages from the secondary memory device to the primary memory device.