Dynamic Load Balancing Message Queues for Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Message queues in message-oriented middleware environments can become bottlenecks due to high throughput and contention, leading to performance issues and limitations in dynamic load balancing.

Innovation Solution

Dynamic load balancing message queues are introduced, which are dynamically added or removed based on contention thresholds and backlog values, allowing messages to be routed to optimal queues for processing, thereby optimizing processing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message queues are used to provide temporary storage when destination applications are busy or not connected, then application availability and loose coupling are improved, but queue contention and bottlenecks increase, limiting system throughput

Engineering Contradiction:
Improveapplication availabilityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments a single message queue into multiple sub-queues (e.g., queue A, queue B, queue C) that can be independently managed and scaled. Each sub-queue handles a portion of the message load, reducing contention on any individual queue while maintaining the overall buffering capability. This segmentation allows the system to preserve reliability through queueing while improving throughput by distributing the load across multiple parallel queues.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic queue management where sub-queues can be automatically created, activated, or deactivated based on real-time system conditions such as queue depth, processing speed, and available resources. This dynamic adjustment allows the system to adapt to varying load conditions, maintaining optimal throughput while preserving the reliability benefits of message queuing. Queues can be dynamically added during high-load periods and removed when load decreases.

Inventive Principle:
Principle #15Dynamics

2Productivity

If load balancing is implemented across distributed message queues, then processing throughput is improved, but the effectiveness is limited by the failure to provide dynamic addition and removal of message queues

Engineering Contradiction:
Improveprocessing throughputVSAvoiddynamic queue adjustment
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic queue management where sub-queues can be automatically created, activated, or deactivated based on real-time system conditions such as queue depth, processing speed, and available resources. This dynamic adjustment allows the system to adapt to varying load conditions, maintaining optimal throughput while preserving the reliability benefits of message queuing. Queues can be dynamically added during high-load periods and removed when load decreases.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms that continuously monitor queue metrics (depth, processing rate, consumer availability) and use this information to dynamically adjust the number and distribution of messages across sub-queues. This feedback-driven approach enables automatic load balancing that adapts to changing system conditions, improving throughput while maintaining adaptability. The system can detect when a queue is becoming a bottleneck and automatically redistribute messages to other queues or create new queues as needed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9807015B2Message processing using dynamic load balancing queues in a messaging system
Publication Date: 2017.10.31 DELL PROD LP
  • US9807015B2 patent drawing
  • US9807015B2 patent drawing
  • US9807015B2 patent drawing

AI summary

A system, method, and computer-readable medium are disclosed for dynamically managing message queues to balance processing loads in a message-oriented middleware environment. A first source message associated with a first target is received, followed by generating a first dynamic load balancing message queue when a first message queue associated with the first target is determined to not be optimal. The first dynamic load balancing message queue is then associated with the first target, followed by enqueueing the first source message to the first dynamic load balancing message queue for processing by the first target.