Efficient multicast protocol for content-based publish-subscribe systems
Abstract
The publish/subscribe (or pub/sub) paradigm is an increasingly popular model for interconnecting applications in a distributed environment. Many existing pub/sub systems are based on pre-defined subjects, and hence are able to exploit multicast technologies to provide scalability and availability. An emerging alternative to subject-based systems, known as content-based systems, allow information consumers to request events based on the content of published events. This model is considerably more flexible than subject-based pub/sub. However, it was previously not known how to efficiently multicast published events to interested content-based subscribers within a large and geographically distributed network of broker (or router) machines. In this paper, we develop and evaluate a novel and efficient distributed algorithm for this purpose, called 'link matching'. Link matching performs just enough computation at each node to determine the subset of links to which an event should be forwarded. We show via simulations that (a) link matching yields higher throughput than flooding when subscriptions are selective, and (b) the overall CPU utilization of link matching is comparable to that of centralized matching.