Publish-Subscribe Broker Subscription Propagation via Spanning Tree

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current publish/subscribe systems face challenges in providing guaranteed in-order, gapless content-based routing while achieving high performance, scalability, and high availability, especially in the presence of dynamic subscription changes and network failures, and they do not efficiently exploit redundancy in overlay networks for timely recovery.

Innovation Solution

A publish/subscribe system with a redundant overlay network that propagates subscriptions and routes messages using a spanning tree topology, where each broker maintains subscription information and uses virtual start times to ensure message delivery is aligned with active subscriptions, allowing for asynchronous operation and efficient load sharing without consensus among routing members.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If subscription information is propagated throughout the system to enable content-based routing and filtering, then message routing accuracy is improved, but the volume of subscription information maintained at each broker grows, adversely affecting system performance

Engineering Contradiction:
Improvemessage routing accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the overlay network into a spanning tree topology with hierarchical levels. Subscription information is propagated selectively along tree edges rather than maintaining complete subscription sets at every broker. Each broker maintains subscription information only for the portion of the tree downstream from its position, dividing the overall subscription management task into manageable segments distributed across the hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension by associating virtual start times with subscriptions. Instead of maintaining all subscription information statically, the system tracks subscriptions dynamically through time, allowing brokers to determine which subscriptions are active at any given moment. This temporal organization enables efficient filtering of outdated subscription data and reduces the amount of information each broker must process.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If redundant overlay network paths are used to provide fault tolerance and high availability, then system reliability is improved, but the complexity of managing multiple paths and ensuring consistent message delivery increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidrouting management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent inverts the traditional approach to reliable delivery. Instead of requiring consensus or coordination among redundant path members to ensure consistent delivery, the system allows independent parallel delivery along multiple tree paths. The inversion lies in accepting that different paths may deliver messages at different times without requiring synchronization, thereby eliminating the complexity of consensus protocols while maintaining reliability through the redundant tree structure.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

Each broker in the spanning tree independently manages its own subscription information and message forwarding decisions without requiring coordination with other brokers. The hierarchical structure enables each node to autonomously determine which messages to forward based on its position in the tree and the subscriptions it maintains, eliminating the need for complex inter-broker consensus mechanisms.

Inventive Principle:
Principle #25Self-service

3Productivity

If subscription aggregation is used to reduce the volume of subscription information, then the amount of information maintained at brokers is reduced, but the ability to provide guaranteed in-order delivery may be compromised

Engineering Contradiction:
Improveinformation processing efficiencyVSAvoidin-order delivery guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning virtual start times to subscriptions in advance and propagating these temporal markers along with subscription information through the spanning tree. This preliminary temporal organization enables brokers to pre-determine the correct delivery order of messages based on subscription start times, ensuring in-order delivery is maintained even as subscription information is aggregated and propagated efficiently through the hierarchical structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7822801B2Subscription propagation in a high performance highly available content-based publish/subscribe system
Publication Date: 2010.10.26 DROPBOX INC
  • US7822801B2 patent drawing
  • US7822801B2 patent drawing
  • US7822801B2 patent drawing

AI summary

The present invention is directed to a publish/subscribe system containing a plurality of brokers, a plurality of subscribers and plurality of brokers including publisher connecting brokers, intermediate brokers and subscriber connecting brokers. Subscriptions are introduced into the system by the subscribers through associated subscription brokers. New subscriptions are aggregated, assigned a virtual start time and propagated through the system toward the publishers. Each broker maintains subscription information in the form of a directed acyclic graph and a broker vector. Messages are published through the system by the publishers through their associated publisher connecting brokers. Each message is assigned a message vector associating subscriptions to that message. The published messages are routed through the brokers toward the subscribers in accordance with comparisons of message brokers and vector brokers conducted at each broker.