University of Toronto, 2012.
The Publish/Subscribe (pub/sub) model has been widely applied in a variety of application scenarios which demand loose-coupling and asynchronous communication between a large number of information sources and sinks. In this model, clients are granted the flexibility to specify their interests at a high level and rely on the pub/sub middleware for delivery of their publications of interest. This increased flexibility and ease of use on the client side results in substantial complexity on part of the pub/sub middleware implementation. Furthermore, for several reasons including improved scalability, availability and avoiding a single point of failure, the pub/sub middleware is commonly composed of a set of collaborating message routers, a.k.a. brokers. The distributed nature of this design further introduces new challenges in ensuring end-to-end reliability as well as efficiency of operation. These challenges are largely unique to the pub/sub model and hence absent in both point-to-point or multicast protocols. This thesis develops solutions that ensure the dependable operation of the pub/sub system by exploiting the notion of overlay neighborhoods in a formal manner. More specifically, brokers maintain information about their neighborswithin a configurable distance in the pub/sub overlay and exploit this knowledge to construct alternative forwarding paths or make smart forwarding decisions that improves efficiency, bandwidth utilization and delivery delay, all at the same time. Furthermore, in the face of failures overlay neighborhoods enable fast reconstruction of forwarding paths in the system without compromising its reliability and availability. Finally, as an added benefit of overlay neighborhoods, this thesis develops large-scale algorithms that bring the advantages of the pub/sub model to the domain of file sharing and bulk content dissemination applications. Experimental evaluation results with deployments as large as 1000 nodes illustrate that the pub/sub system scales well and outperforms the traditional BitTorrent protocol in terms of content dissemination delay.