Abstract: Publish/subscribe is a flexible communication pattern for loosely coupled distributed applications. In the content-based variant, each published notification is matched against active subscriptions to determine a set of interested subscribers to which the notification is to be delivered. However, since the set of receivers can be any combination of subscribers, distributing notifications from publishers to subscribers with matching subscriptions is complex. Traditional approaches rely on broker-based networks to deliver each message to a unique set of recipients. However, brokers make forwarding decisions at the application-layer and typically perform application-layer multicast by sending multiple unicast packets, which increases network load and delays delivery.
With the advent of Software-Defined Networking (SDN), new distribution strategies are possible that combine the efficiency of network-assisted multicast with the flexibility of application-layer multicast. In this thesis, we explore how SDN and the P4 programming language can be used to implement fast and flexible notification distribution. We present fundamental strategies that embed the entire delivery tree of a notification directly into the packet header, which conserves bandwidth and reduces latency compared to traditional methods.
Furthermore, we present advanced P4-based forwarding schemes that combine static routing rules in network switches with dynamically encoded additional forwarding information in the packet header. This hybrid approach allows precise control over the trade-off between compact headers and flexibility in notification distribution. Evaluations in an emulated data center network demonstrate how these strategies can significantly reduce header size and network traffic.
To further improve delivery efficiency, we introduce innovative distribution strategies that use virtual trees. These virtual trees map frequently and simultaneously used paths in the switch infrastructure as partial delivery trees. A specially designed encoding algorithm dynamically constructs notification-specific delivery trees by merging multiple virtual trees and encoding additional routing information in the notification header to extend, connect, or prune virtual trees. Evaluation results confirm that the integration of combined virtual trees with routing information in the header significantly reduces header size and network traffic.
Finally, this work introduces installation strategies that dynamically deploy virtual trees in the switch infrastructure based on various levels of applicationdependent knowledge and runtime statistics. These strategies exploit topological information, publisher-subscriber relationships, and notification frequencies to construct efficient distribution trees that require minimal additional routing information in notification headers. Evaluation results highlight the efficiency of these strategies under different churn rate scenarios in real-world network topologies.
By leveraging SDN and P4, this work enables optimized, scalable, and highperformance notification distribution in content-based publish/subscribe systems, significantly reducing delivery latency and bandwidth consumption.