Hierarchical Pub/Sub Proxies for Distributed Telemetry Publishing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing pub/sub systems in microservices architectures face inefficiencies due to centralized top-level brokers handling processor-consuming tasks like get commands, leading to resource bottlenecks and duplication of publications, especially in complex tree structures with mixed framework-assisted and self-publishing services.
Innovation Solution
Implementing a pub/sub system where telemetry responsibilities are driven down to lower levels, allowing self-publishing by microservices, and using intermediary proxies to push metrics upward without get commands, coordinated by flag bits to manage mixed publication methods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a centralized top-level broker handles all pub/sub operations, then subscription management is simplified, but processor load increases and resource bottlenecks occur
Solution Approach 1:
The patent divides the centralized broker into distributed proxy modules at different levels of the tree structure. Each proxy module handles subscriptions locally for its subtree, segmenting the processing load across multiple nodes rather than concentrating it at a single top-level broker, thereby reducing processor load while maintaining simplified subscription management through hierarchical organization
Solution Approach 2:
The patent introduces a hierarchical dimensional structure where proxies operate at multiple levels (root, intermediate, leaf). This vertical dimensionality allows subscriptions to be managed locally at each level, distributing the processing burden across different hierarchical layers rather than relying on a single centralized processor
2Reliability
If framework-assisted publication is used, then centralized control is maintained, but publication duplication occurs and resource utilization decreases
Solution Approach 1:
The patent implements dynamic publication modes where modules can operate in self-publishing mode (asynchronous, event-driven) or framework-assisted mode (synchronous, request-driven). This dynamic switching allows the system to adapt publication behavior based on local conditions, avoiding duplication by allowing leaf modules to self-publish directly to subscribers without requiring framework assistance from intermediate or root proxies
Solution Approach 2:
The patent enables proxy modules to autonomously manage their own publication operations. Leaf modules can self-publish telemetry data directly to subscribed clients without needing to request data from framework-assisted proxies above them, eliminating unnecessary data requests and reducing resource utilization while maintaining reliable publication through local autonomy
3Stability of the object's composition
If get commands are used for data retrieval, then data consistency is ensured, but processor-consuming tasks are centralized and bottlenecks occur
Solution Approach 1:
The patent inverts the traditional get-command paradigm by implementing push-based asynchronous publication. Instead of leaf modules waiting for get commands from the framework to retrieve data, they proactively push telemetry data up the tree to subscribed proxies, which then forward it to clients. This inversion eliminates the processor-consuming get command cycle while maintaining data consistency through event-driven updates
4Productivity
If self-publishing is implemented at all levels, then processing is distributed and bottlenecks are avoided, but mixed publication methods create complexity
Solution Approach 1:
The patent applies local quality by allowing each proxy module to independently determine its own publication mode based on its position in the tree and subscription requirements. Leaf modules can self-publish directly to local subscribers, while intermediate and root proxies maintain framework-assisted modes for managing subscriptions they receive. This localized differentiation simplifies mixed publication management by allowing each node to operate optimally for its specific role
Data Source
AI summary
Systems and methods are provided for configuring publication/subscription (pub/sub) system to perform alternative pub/sub tasks. According to one implementation, a publisher operating within a pub/sub system includes multiple modules arranged in a tree structure. A subscriber interface is arranged at a top root of the tree structure, wherein the subscriber interface is configured for communicating with one or more subscribers. Each module of a first group of the modules includes a microservice. Each module of a second group of the modules, located above a lowest level of the tree structure, acts as an intermediary pub/sub proxy module. Also, each module of the first group is configured to self-publish a telemetry message by capturing a metric and pushing the metric upward through one or more intermediary pub/sub proxy modules to the subscriber interface for publication to the one or more subscribers.


