Hierarchical Publish-Subscribe Architecture for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemessage handling capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice 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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveconnection complexityVSAvoidmessage routing efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If publication messages are sent to multiple central relays, then load balancing is improved, but message duplication and processing overhead increase

Engineering Contradiction:
Improveload balancingVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9124592B2Method and system for application level load balancing in a publish/subscribe message architecture
Publication Date: 2015.09.01 VERISIGN INC
  • US9124592B2 patent drawing
  • US9124592B2 patent drawing
  • US9124592B2 patent drawing

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.