@inproceedings{5dc4a3dd863e4512a8a61dd4fbf0dd8f,
title = "P2S: A fault-tolerant publish/subscribe infrastructure",
abstract = "The popular publish/subscribe communication paradigm, for building large-scale distributed event notification systems, has attracted attention from both academia and industry due to its performance and scalability characteristics. While ordinary {"}web surfers{"} typically are not aware of minor packet loss, industrial applications often have tight timing constraints and require rigorous fault tolerance. Some past research has addressed the need to tolerate node crashes and link failures, often relying on distributing the brokers on an overlay network. However, these solutions impose significant complexity both in terms of implementation and deployment. In this paper, we present a crash tolerant Paxos-based pub/sub (P2S) middleware. P2S contributes a practical solution by replicating the broker in a replicated architecture based on Goxos, a Paxos-based fault tolerance library. Goxos can switch between various Paxos variants according to different fault tolerance requirements. P2S directly adapts existing fault tolerance techniques to pub/sub, with the aim of reducing the burden of proving the correctness of the implementation. Furthermore, P2S is a development framework that provides sophisticated generic programming interfaces for building various types of pub/sub applications. The flexibility and versatility of the P2S framework ensures that pub/sub systems with widely varying dependability needs can be developed quickly. We evaluate the performance of our implementation using event logs obtained from a real deployment at an IPTV cable provider. Our evaluation results show that P2S reduces throughput by as little as 1.25\% and adds only 0.58 ms latency overhead, compared to its non-replicated counterpart. The performance characteristics of P2S prove the feasibility and utility of our framework.",
keywords = "IPTV application, fault tolerance, paxos, publish/subscribe",
author = "Tiancheng Chang and Sisi Duan and Hein Meling and Sean Peisert and Haibin Zhang",
year = "2014",
doi = "10.1145/2611286.2611305",
language = "English",
isbn = "9781450327374",
series = "DEBS 2014 - Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems",
publisher = "Association for Computing Machinery",
pages = "189--197",
booktitle = "DEBS 2014 - Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems",
note = "8th ACM International Conference on Distributed Event-Based Systems, DEBS 2014 ; Conference date: 26-05-2014 Through 29-05-2014",
}