Request Response Processing in Distributed Messaging Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processing charging requests in distributed computing systems for IoT devices on 5G networks is challenging due to the growth in data traffic and the need for efficient request-response processing mechanisms.
Innovation Solution
A central messaging bus is implemented in a distributed computing system to establish request and response topics, using unique client identifiers for message distribution between clients and services, enabling real-time response delivery and parallel processing without data locking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If services execute in parallel in a distributed computing system, then productivity is improved, but ensuring correct response delivery to originating clients becomes difficult
Solution Approach 1:
The response topic is segmented into multiple response partitions, with each partition dedicated to a specific client. This segmentation ensures that responses are routed to the correct client partition based on client identifiers, maintaining reliability even as services execute in parallel across multiple processors.
Solution Approach 2:
The central messaging bus acts as an intermediary between services and clients. It receives responses from services, determines the appropriate client partition using client identifiers, and delivers responses to the correct client. This mediator ensures correct response delivery without requiring services to directly manage client communication.
2Reliability
If a central messaging bus is implemented to ensure real-time response delivery, then reliability is improved, but device complexity increases
Solution Approach 1:
The central messaging bus performs multiple functions: it distributes requests to services, collects responses from services, determines appropriate client partitions using client identifiers, and delivers responses to clients. By consolidating these functions into a single multi-functional component, the architecture achieves reliability without proportionally increasing complexity.
Solution Approach 2:
The messaging bus autonomously determines which client partition should receive each response by examining client identifiers in the response messages. It self-manages the routing logic without requiring external control mechanisms, reducing operational complexity while maintaining reliable delivery.
3Productivity
If request topics are partitioned to handle increased data traffic from IoT devices, then productivity is improved, but difficulty of detecting and measuring increases
Solution Approach 1:
The system uses client identifiers as a key parameter to determine message routing. By changing the routing parameter from complex service-based routing to simple client-identifier-based routing, the system can handle increased data traffic through partitioning while keeping the routing logic simple and easy to measure.
Data Source
AI summary
Methods, systems, and computer readable media for request response processing. A method includes establishing a request topic and a response topic for distributing messages between clients and services executing on a distributed computing system. The method includes posting, in the request topic, request messages from the clients, each request message including a unique client identifier, such that the services consume the request messages from the request topic. The method includes posting, in the response topic, response messages from the services responsive to the request messages. The services post the response messages to response partitions of the response topic using the unique client identifiers. The clients consume the response messages using the unique client identifiers to ensure that each client consumes a respective responsive message responsive to a respective request message from the client.


