Message Broker Load Balancing via Directory Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In message-oriented middleware systems, software applications can enter a fault state due to overwhelming message volumes or resource limitations, leading to undesirable delays and resource consumption as message brokers repeatedly attempt to deliver messages, causing frustration for end users.

Innovation Solution

Implementing a load balancing mechanism within the message broker subsystem that distributes messages across multiple functionally equivalent software application instances registered with a global directory service, automatically selecting instances based on a heuristic to balance the load and prevent message bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a message broker repeatedly attempts to deliver messages to a software application in a fault state, then the message delivery reliability is improved, but the system experiences undesirable delays and consumes valuable network resources

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmessage delivery delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary health status checking of recipient software applications before attempting message delivery. The message broker proactively determines whether a recipient application is in a fault state by checking its health status, and only attempts delivery to applications that are currently healthy, avoiding repeated futile delivery attempts to faulty applications

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the message broker monitors the health status of recipient applications and uses this information to dynamically adjust its delivery behavior. The broker continuously checks whether recipient applications are in a fault state and modifies its message delivery strategy based on this feedback, stopping repeated attempts when applications are detected to be in a fault state

Inventive Principle:
Principle #23Feedback

2Reliability

If a message broker repeatedly attempts to deliver messages to a software application in a fault state, then the message delivery reliability is improved, but network resources are consumed

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidnetwork resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary health status checking of recipient software applications before attempting message delivery. The message broker proactively determines whether a recipient application is in a fault state by checking its health status, and only attempts delivery to applications that are currently healthy, avoiding repeated futile delivery attempts to faulty applications

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the message broker monitors the health status of recipient applications and uses this information to dynamically adjust its delivery behavior. The broker continuously checks whether recipient applications are in a fault state and modifies its message delivery strategy based on this feedback, stopping repeated attempts when applications are detected to be in a fault state

Inventive Principle:
Principle #23Feedback

3Device complexity

If messages are concentrated on a single software application instance, then the system complexity is reduced, but the application may be overwhelmed and enter a fault state

Engineering Contradiction:
Improvesystem complexityVSAvoidapplication availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system segments the message delivery target into multiple functionally equivalent software application instances. Instead of delivering all messages to a single application, the message broker distributes messages across multiple instances that perform the same function, preventing any single application from being overwhelmed by message volume

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements universality by creating multiple functionally equivalent software application instances that can all receive and process the same type of messages. These instances are registered with a global directory service, allowing the message broker to select from multiple equivalent targets, thereby distributing load and improving system reliability

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If the message broker implements load balancing across multiple instances, then the productivity is improved, but the device complexity increases

Engineering Contradiction:
Improvemessage processing throughputVSAvoidbroker subsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a global directory service as an intermediary between the message broker and multiple software application instances. The directory service maintains information about available instances and their functional equivalence, allowing the message broker to perform load balancing by querying the directory service for suitable targets without needing complex built-in load balancing logic

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements a feedback mechanism where the message broker monitors the health status of recipient applications and uses this information to dynamically adjust its delivery behavior. The broker continuously checks whether recipient applications are in a fault state and modifies its message delivery strategy based on this feedback, stopping repeated attempts when applications are detected to be in a fault state

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8880621B2Load balancing in broker-based messaging systems and methods
Publication Date: 2014.11.04 VERIZON PATENT & LICENSING INC
  • US8880621B2 patent drawing
  • US8880621B2 patent drawing
  • US8880621B2 patent drawing

AI summary

An exemplary method includes a message broker subsystem receiving a message intended for delivery to a recipient software application instance, determining that the recipient software application instance is included in a plurality of functionally equivalent software application instances that are registered with a global directory service subsystem that is communicatively coupled to the message broker subsystem, automatically selecting a software application instance from the plurality of software application instances for receipt of the message in accordance with a load balancing heuristic, and attempting to deliver the message to the selected software application instance. Corresponding methods and systems are also described.