Cooperative Messaging Resource Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional messaging systems face inefficiencies in message distribution, particularly when a consuming application goes down, as messages are not quickly rerouted to available resources, leading to delayed delivery and performance issues due to statically defined communication routes and lack of dynamic resource availability assessment.
Innovation Solution
A method for controlling message distribution in a Cooperative Messaging Environment (CME) that determines the availability of messaging resources and analyzes metadata associated with messages to route them efficiently to suitable consuming applications, ensuring messages are directed to resources that meet the application's requirements and are currently available, thereby facilitating faster re-routing and workload balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If messages are forwarded to all brokers in the network using a publish-subscribe model, then message delivery coverage is improved, but message distribution efficiency deteriorates due to unnecessary routing to unavailable resources
Solution Approach 1:
The system performs preliminary assessment of broker availability and message consumer status before routing messages. By checking whether consuming applications are currently active at brokers before forwarding messages, the system avoids unnecessary message distribution to unavailable resources while ensuring messages reach all potentially interested consumers.
Solution Approach 2:
The system implements feedback mechanisms where brokers report the availability status of consuming applications. This feedback information is used to dynamically adjust message routing decisions, allowing the system to forward messages only to brokers that currently have active consumers, thereby improving distribution efficiency without sacrificing delivery coverage.
2Device complexity
If communication routes are statically defined at system setup, then system complexity is reduced, but adaptability to dynamic resource availability deteriorates
Solution Approach 1:
The system maintains static route definitions for simplicity but introduces dynamic adaptability by checking the real-time availability status of consuming applications at each broker. The routing behavior becomes dynamic based on this availability information, allowing the system to adapt to changing resource availability without requiring complex dynamic route configuration.
3Reliability
If all messages are routed to all brokers, then message delivery completeness is improved, but system performance deteriorates due to unnecessary message processing at unavailable resources
Solution Approach 1:
Before messages are routed, the system performs a preliminary check to determine whether consuming applications are available at each broker. This preliminary action filters out brokers that cannot currently process messages, preventing unnecessary message transmission and processing while ensuring messages are delivered to all brokers that have active consumers.
Data Source
AI summary
A tool for controlling message distribution in a cooperative messaging environment (CME). The tool determines an availability of a plurality of messaging resources of a cooperative messaging environment (CME). The tool analyzes metadata associated with a first message from a first message producing application to determine an application property. Responsive to receiving a request from a first message consuming application to distribute the first message, the tool associates a first messaging resource of the CME with the first message consuming application. The tool distributes the first message to the first messaging resource of the CME from the first message producing application based, at least in part, on the availability of the plurality of messaging resources of the CME and the application property.


