Dynamic Load Balancing Message Queues for Throughput Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


