Hierarchical Publish-Subscribe Architecture for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional publish/subscribe systems face scalability issues and increased complexity as the number of connections between clients and servers grows, leading to decreased performance and security concerns.
Innovation Solution
Implementing a hierarchical publish/subscribe architecture with remote relays and central relays, where subscription requests are forwarded to multiple central relays, and publication messages are sent to only one central relay in each set, reducing the number of connections and enhancing load balancing, security, and system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional publish/subscribe systems are scaled up, then the system can handle more messages, but the number of connections between clients and servers increases leading to decreased performance and increased complexity
Solution Approach 1:
The patent divides the server infrastructure into multiple server groups (first server group, second server group, etc.), each handling messages for different topic areas. This segmentation reduces the number of active connections any single client must maintain, as clients connect to remote relays that distribute messages across appropriate server groups rather than maintaining direct connections to multiple servers.
Solution Approach 2:
The patent introduces remote relays as intermediary components between clients and servers. Remote relays receive subscription requests from clients and forward them to appropriate server groups, while also distributing publication messages to subscribers. This intermediary layer abstracts the complex server connection management from clients, reducing perceived system complexity while maintaining high message handling capacity.
2Device complexity
If the number of connections between clients and servers is reduced, then system complexity decreases, but the ability to handle multiple subscriptions and publications efficiently is compromised
Solution Approach 1:
The patent makes remote relays multi-functional components that simultaneously handle subscription requests, publication message distribution, and client-to-server communication. By consolidating these functions into remote relays rather than requiring separate dedicated components for each function, the system maintains efficient message routing while reducing overall connection complexity.
3Reliability
If publication messages are sent to multiple central relays, then load balancing is improved, but message duplication and processing overhead increase
Solution Approach 1:
The patent applies different message routing strategies to different server groups based on their specialized functions. Publication messages are routed to specific server groups that handle the relevant topic areas, allowing load balancing across the distributed system while avoiding unnecessary message duplication. Each server group processes only the messages relevant to its assigned topics, reducing overall processing overhead.
Data Source
AI summary
A method of publishing a message includes receiving a subscription request at a first remote relay from a first client and transmitting a subscription message from the remote relay to each of a first set of central relays. The method also includes receiving a publication request at a second remote relay from a second client and transmitting a publication message from the second remote relay to a first central relay of the first set of central relays and a second central relay of a second set of central relays. The method further includes determining, at the first central relay, that a target matches at least a portion of a pattern, transmitting the message string from the first central relay to the first remote relay, determining, at the first remote relay, that the target matches at least a portion of the pattern, and transmitting the message string to the first client.


