Adaptive Consumer Buffer for Message Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Message brokers face challenges in efficiently distributing messages to consumers, leading to underutilization or memory overflow, which affects overall message processing performance due to varying consumer capabilities and deployment environments.

Innovation Solution

A system and method where a message broker dynamically adjusts message distribution based on the quantity of consumers and their performance metrics, such as throughput and latency, to ensure each consumer receives a manageable amount of messages, preventing memory overflow and maximizing overall system throughput and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are distributed equally to all consumers, then message distribution is simple, but some consumers may be underutilized while others experience memory overflow

Engineering Contradiction:
Improvemessage processing efficiencyVSAvoidconsumer memory stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the message distribution quantity to each consumer based on real-time performance metrics (throughput, latency) and consumer count changes. Instead of static equal distribution, the message broker continuously adapts the number of messages sent to each consumer, making the distribution strategy flexible and responsive to actual system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The message broker monitors consumer performance metrics and uses this feedback to adjust message distribution. By tracking throughput and latency, the system receives feedback about consumer capacity and adjusts the message flow accordingly, preventing both underutilization and memory overflow conditions.

Inventive Principle:
Principle #23Feedback

2Productivity

If the message broker monitors consumer performance metrics and adjusts distribution, then message processing efficiency is maximized, but system complexity increases

Engineering Contradiction:
Improveoverall system throughputVSAvoidmessage broker complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Consumers autonomously report their performance metrics (throughput, latency) and maximum cache limits to the message broker. This self-reporting mechanism reduces the burden on the message broker, as consumers provide the necessary information without requiring complex monitoring infrastructure on the broker side.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The message broker adjusts distribution based on changing parameters (consumer count, performance metrics) rather than implementing complex control logic. By focusing on parameter-based adjustments, the system achieves adaptive optimization with relatively simple implementation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If more messages are sent to consumers, then system throughput increases, but consumers may experience memory overflow

Engineering Contradiction:
Improvemessage throughputVSAvoidmemory overflow
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system sends messages in controlled quantities that are sufficient to maximize throughput but carefully limited to prevent memory overflow. By sending partial batches rather than overwhelming consumers, the system achieves high productivity while maintaining safety margins against memory exhaustion.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The message broker considers the maximum cache limit of each consumer when determining message distribution quantity. By pre-accounting for consumer capacity constraints, the system cushions against potential memory overflow before it occurs, allowing aggressive throughput optimization without risking system stability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Adaptability or versatility

If the message broker dynamically adjusts message distribution based on consumer count and performance metrics, then resource utilization is optimized, but the control mechanism becomes more complex

Engineering Contradiction:
Improvemessage distribution adaptabilityVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The adaptive control mechanism focuses on changing key parameters (message quantity per consumer, consumer count) rather than implementing complex control algorithms. By adjusting distribution based on parameter changes in the system state, the message broker achieves high adaptability with a relatively simple control mechanism.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10990402B1Adaptive consumer buffer
Publication Date: 2021.04.27 RED HAT INC
  • US10990402B1 patent drawing
  • US10990402B1 patent drawing
  • US10990402B1 patent drawing

AI summary

The present disclosure provides for a system that dynamically adjusts how the system distributes messages to a set of consumers. The system measures a quantity of consumers in communication with the system. The system also measures performance metrics of each respective consumer of the set of consumers. In response to a change in the quantity of consumers, or to one or more performance metrics of an individual consumers meeting, or failing to meet, a respective predetermined threshold, the system may adjust a cache size the system attributes to the individual consumer and accordingly may adjust how the system distributes messages to the individual consumer. For instance, the system may distribute more or less messages to the individual consumer. The individual consumer may also communicate a maximum cache limit it is able to receive in messages from the system.