Message Broker Coalescing Duplicate Synchronous Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, redundant requests from client applications cause unnecessary strain on computing resources by repeatedly executing tasks, leading to inefficient use of resources.
Innovation Solution
A message broker system with multiple message queues, where each queue is associated with a different task, coalesces duplicative synchronous messages, ensuring that tasks are executed only once and notifies all client applications involved.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a message broker processes all synchronous messages from multiple client applications, then all client requests are handled, but redundant task executions occur causing resource strain
Solution Approach 1:
The patent merges duplicate synchronous messages that target the same task into a single message for processing. The message broker identifies messages with the same task identifier and combines them, ensuring the task executes only once while still serving all requesting clients. This eliminates redundant executions and reduces resource strain while maintaining complete handling of all client requests.
Solution Approach 2:
The message broker performs preliminary processing of incoming synchronous messages by checking for duplicates before task execution. It maintains a record of recently processed task identifiers and proactively identifies and merges duplicate requests, preventing redundant task executions before they occur. This preliminary action ensures resource efficiency while maintaining service completeness.
2Productivity
If the message broker coalesces duplicative messages, then resource strain is reduced, but message processing complexity increases
Solution Approach 1:
The message broker uses a lightweight copying mechanism to track processed task identifiers in a cache or memory structure. Instead of complex analysis, it maintains simple copies of recent task identifiers and compares incoming messages against these copies. This approach provides duplicate detection with minimal added complexity, achieving resource efficiency through a straightforward implementation.
Solution Approach 2:
The message broker changes the parameter of message identification by focusing on specific key parameters (such as task identifiers) rather than analyzing entire message contents. By extracting and comparing only the relevant identification parameters, the broker achieves efficient duplicate detection with minimal processing overhead, balancing resource efficiency with operational simplicity.
3Reliability
If synchronous messages are processed in order, then message integrity is maintained, but processing time increases due to sequential handling
Solution Approach 1:
The message broker merges duplicate synchronous messages into a single processing instance, eliminating redundant sequential executions. By combining messages that require the same task, it reduces the total number of sequential operations needed while maintaining proper message handling integrity. This approach decreases processing time without sacrificing reliability.
Solution Approach 2:
The message broker implements a feedback mechanism where the results of processed tasks are returned to all clients that submitted duplicate requests. This feedback loop ensures that all clients receive the necessary information while the task executes only once, maintaining message integrity and client service while reducing overall processing time through parallel notification rather than sequential execution.
Data Source
AI summary
A message broker configured to handle messages received from a plurality of client applications comprises a plurality of message queues that are each associated with a different task. A first synchronous message is received at a first message queue from a first client application. A determination is made that at a time the first synchronous message is received there is an earlier-received message from a different client application waiting in the first message queue. In response to the determination, the first synchronous message is coalesced with the earlier-received message such that a task associated with the first message queue is executed only once for both messages and a notice of the execution is returned to the first client application.


