Hierarchical Publish-Subscribe System for Scalable Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional publish/subscribe systems face scalability issues as they are scaled up, leading to increased complexity and reduced performance due to the large number of connections between clients and servers, which complicates configuration, maintenance, and security.

Innovation Solution

A hierarchical publish/subscribe system is introduced, reducing the number of connections through a multi-level architecture where remote relays and central relays operate, allowing clients to subscribe and publish messages efficiently by aggregating subscription requests and publishing messages to all relevant relays, thereby reducing redundant subscriptions and publications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a conventional publish/subscribe system is scaled up to handle more clients, then the system capacity increases, but the number of connections between clients and servers increases, leading to increased complexity and reduced performance

Engineering Contradiction:
Improvesystem capacityVSAvoidconnection complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system is divided into multiple server clusters, each managing a subset of clients and subscriptions. This segmentation allows the system to scale horizontally by adding more clusters without proportionally increasing the connection complexity at each server, as each server only maintains connections within its cluster rather than to all clients system-wide.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Server clusters act as intermediaries between individual servers and clients. The cluster level aggregates subscription requests and publication messages, mediating between the distributed servers and end clients. This intermediary layer reduces the direct connection burden on individual servers while maintaining system capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a conventional publish/subscribe system is scaled up to handle more clients, then the system capacity increases, but the performance decreases due to the large number of connections

Engineering Contradiction:
Improvesystem capacityVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By segmenting the system into server clusters, the workload and connection management is distributed across multiple independent units. Each cluster handles a manageable subset of connections, preventing any single server from becoming a performance bottleneck while maintaining overall system capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple servers within a cluster are merged into a functional unit that collectively handles client connections and message routing. This merging allows the system to achieve higher capacity through aggregation while maintaining performance by keeping the cluster size manageable and optimizing resource utilization across the merged servers.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If a conventional publish/subscribe system is scaled up, then the system capacity increases, but the configuration, maintenance, and security become more complex

Engineering Contradiction:
Improvesystem capacityVSAvoidconfiguration and maintenance ease
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system configuration is segmented into cluster-level and server-level settings. This hierarchical segmentation allows administrators to manage configuration, maintenance, and security policies at the cluster level for groups of servers, rather than individually configuring each server. This reduces operational complexity while supporting system scaling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Server clusters provide universal management capabilities that handle multiple functions (configuration, maintenance, security) at the cluster level. This multi-functionality reduces the need for separate management mechanisms for each server, simplifying operations while supporting scaled system capacity.

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

Data Source

PatentEP2680537B1Hierarchical publish/subscribe system
Publication Date: 2016.09.28 VERISIGN INC
  • EP2680537B1 patent drawingFigure 1A
  • EP2680537B1 patent drawingFigure 1B
  • EP2680537B1 patent drawingFigure 1C

AI summary

A method for publishing a publication message includes receiving, at one of a plurality of first relays, a subscription request from a first client and transmitting the subscription request from the one of the plurality of first relays to first and second central relays of a plurality of central relays. The method also includes receiving, at another of the plurality of first relays, a publication request from a second client. The publication request includes the publication message. The method further includes transmitting the publication message from the another of the plurality of first relays to all of the plurality of central relays, transmitting the publication message from at least one of the first and second central relays to the one of the plurality of first relays, and transmitting the publication message from the one of the plurality of first relays to the first client.