Multiplexer-Based Event Subscription Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data distribution systems using a publish-subscribe model, disconnected client sessions can lead to consumers receiving 'stale' data, as existing systems lack efficient mechanisms to ensure real-time updates are delivered to subscribed clients without knowledge of their session status.
Innovation Solution
The data distribution system employs a multiplexer-based approach, where each client session is assigned to a processor, and multiplexers handle subscription operations across multiple threads, ensuring that topic updates are broadcast efficiently to subscribed clients, even if sessions disconnect temporarily, by maintaining state information and using delta messages for data synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a publish-subscribe model is used to distribute data to multiple clients, then data distribution efficiency is improved, but clients may receive stale data when sessions disconnect
Solution Approach 1:
The server performs preliminary actions by detecting session disconnections and clearing stale subscription data before clients can receive outdated information. The system proactively monitors session status and preemptively removes disconnected sessions from topic subscriptions, ensuring data freshness is maintained before the problem of stale data consumption can occur.
2Reliability
If session status tracking is implemented to prevent stale data, then data reliability is improved, but system complexity increases
Solution Approach 1:
The system implements self-service mechanisms where the server automatically detects session disconnections and manages subscription data without requiring external intervention. The session management system serves itself by monitoring its own state and autonomously clearing stale data, reducing the need for complex external coordination while maintaining data reliability.
3Measurement precision
If real-time session monitoring is implemented to ensure data accuracy, then data integrity is improved, but processing overhead increases
Solution Approach 1:
The system extracts and isolates the session monitoring function from the main data distribution workflow. By separating session status detection and stale data clearance into distinct, targeted operations, the system achieves real-time monitoring accuracy without burdening the entire data distribution system with excessive processing overhead. Only necessary session-related operations consume additional resources.
Data Source
AI summary
A data distribution system server uses an event-driven matching approach for matching subscription requests with topics on the data distribution system server. Threads from multiple client session are received and assigned to a multiplexer for processing. Each multiplexer determines a topic value and status information for multiple subscriptions to a topic corresponding to the topic value. The multiplexer identifies subscriptions added to one of the client sessions, receives a topic update for the topic, and broadcasts the topic update to the added subscriptions.


