research-article

XL peer-to-peer pub/sub systems

Online:01 November 2013Publication History

Abstract

Increasingly, one of the most prominent ways to disseminate information on the Web is through “notifications” (also known as alerts), and as such they are at the core of many large-scale applications. For instance, users are notified of articles in which they are interested through RSS feeds, of posts from their friends through social networks, or of recommendation generated by various sites. Event notification usually relies on the so-called Publish-Subscribe (Pub/Sub) communication paradigm. In Pub/Sub systems, subscribers sign up for events or classes of events in order to be asynchronously notified afterward by the system. The size of such systems (with respect to events and subscriptions) keeps growing, and providing scalable implementations of Pub/Sub systems is extremely challenging. Although there exist popular examples of centralized Pub/Sub systems that currently support a large number of subscribers, such as online social networks, they periodically face formidable challenges due to peak loads and do not always offer a support for fine-grain subscriptions. In fact, providing scalability along with expressiveness in the subscription patterns calls for distributed implementations of Pub/Sub systems. In parallel, peer-to-peer (P2P) overlay networks have emerged, providing a sound and highly scalable network foundation upon which to build distributed applications including Pub/Sub systems.

In this article, we focus on fully decentralized (P2P), highly scalable, Pub/Sub systems. More specifically, we investigate how Pub/Sub and P2P research can be integrated. We define the design space and explore it in a systematic way. We expose an understanding of available design choices; provide a comprehensive classification and understanding of prominent P2P Pub/Sub systems, positioning them against the design dimensions; and highlight correlations between and implications, benefits, and shortcomings of design alternatives.

References

  1. Aekaterinidis, I. and Triantafillou, P. 2005. Internet scale string attribute publish/subscribe data networks. In Proceedings of the ACM Conference on Information and Knowledge Management (CIKM’05). ACM, New York, 44--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aekaterinidis, I. and Triantafillou, P. 2006. PastryStrings: A comprehensive content-based publish/subscribe DHT network. In Proceedings of the IEEE International Conference on Distributed Computing and Systems (ICDCS’06). IEEE, Los Alamitos, CA, 23--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Aguilera, M., Strom, R., Sturman, D., Astley, M., and Chandra, T. 1999. Matching events in a content-based subscription system. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC’99). ACM, New York, 53--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Anceaume, E., Gradinariu, M., Datta, A., Simon, G., and Virgillito, A. 2006. A semantic overlay for self- peer-to-peer publish/subscribe. In Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS’06). IEEE, Washington, DC, 22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. ApacheMQ. 2013. ActiveMQ. Retrieved November 11, 2013 from http://activemq.apache.org/.Google ScholarGoogle Scholar
  6. Baldoni, R., Beraldi, R., Quéma, V., Querzoni, L., and Tucci-Piergiovanni, S. 2007. TERA: Topic-based event routing for peer-to-peer architectures. In Proceedings of the International Conference on Distributed Event-Based Systems (DEBS’07). ACM, New York, 2--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Baldoni, R., Marchetti, C., Virgillito, A., and Vitenberg, R. 2005. Content-Based Publish-Subscribe over Structured Overlay Networks. In IEEE International Conference on Distributed Computing Systems (ICDCS). IEEE, Los Alamitos, CA, 437--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Banavar, G., Tushar, C., Mukherjee, B., Nagarajarao, J., Strom, R., and Sturman, D. 1999. An efficient multicast protocol for content-based publish-subscribe systems. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS’99). IEEE, Los Alamitos, CA, 262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Banerjee, S., Lee, S., Bhattacharjee, B., and Srinivasan, A. 2006. Resilient multicast using overlays. IEEE/ACM Trans. Networking 14, 2, 237--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Beaumont, O., Kermarrec, A.-M., Marchal, L., and Riviere, E. 2007. VoroNet: A scalable object network based on Voronoi tessellations. In Proceedings of the International Conference on Parallel and Distributed Systems (IPDPS’07). IEEE, Los Alamitos, CA, 1--10.Google ScholarGoogle Scholar
  11. Bender, M., Michel, S., Parkitny, S., and Weikum, G. 2006. A comparative study of pub/sub methods in structured P2P networks. In Proceedings of the International Conference on Databases, Information Systems, and Peer-to-Peer Computing (DBISP2P). Springer-Verlag, Berlin, 385--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bharambe, A., Agrawal, M., and Seshan, S. 2004. Mercury: Supporting scalable multi-attribute range queries. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 353--366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Bharambe, A., Douceur, J. R., Lorch, J. R., Moscibroda, T., Pang, J., Seshan, S., and Zhuang, X. 2008. Donnybrook: Enabling large-scale, high-speed, peer-to-peer games. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 389--400. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Bharambe, A., Pang, J., and Seshan, S. 2006. Colyseus: A distributed architecture for online multiplayer games. In Proceedings of the Conference on Networked Systems Design & Implementation (NSDI’’06). USENIX, Berkeley, CA, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Bianchi, S., Felber, P., and Gradinariu, M. 2007. Content-based publish/subscribe using distributed R-Trees. In Euro-Par 2007 Parallel Processing. Lecture Notes in Computer Science, Springer, Berlin, 537--548. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Boulanger, J.-S., Kienzle, J., and Verbrugge, C. 2006. Comparing interest management algorithms for massively multiplayer games. In Proceedings of the ACM SIGCOMM Workshop on Network and System Support for Games (NetGames'06). ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Carzaniga, A., Di Nitto, E., Rosenblum, D., and Wolf, A. 1998. Issues in supporting event-based architectural styles. In Proceedings of the International Software Architecture Workshop. ACM, New York, 17--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Carzaniga, A., Rosenblum, D. S., and Wolf, Al. L. 2001. Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst. 19, 3, 332--383. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Cassandra. 2013. Welcome to Cassandra. Retrieved November 11, 2013 from http://cassandra.apache.org/.Google ScholarGoogle Scholar
  20. Castro, M., Druschel, P., Kermarrec, A.-M., and Rowstron, A. 2002. SCRIBE: A large-scale and decentralized application-level multicast infrastructure. IEEE J. Sel. Areas Commun. 20, 8, 1489--1499. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Castro, M., Jones, M., Kermarrec, A.-M., Rowstron, A., Theimer, M., Wang, H., and Wolman, A. 2003. An evaluation of scalable application-level multicast using peer-to-peer overlay networks. In IEEE INFOCOM'03. IEEE, San Francisco, CA, USA, 1510--1520.Google ScholarGoogle Scholar
  22. Chen, J., DeWitt, D. J., Tian, F., and Wang, Y. 2000. NiagaraCQ: A scalable continuous query system for internet databases. In ACM SIGMOD International Conference on Management of Data. ACM, Dallas, Texas, USA, 379--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Chockler, G., Melamed, R., Tock, Y., and Vitenberg, R. 2007. SpiderCast: A scalable interest-aware overlay for topic-based pub/sub communication. In Proceedings of the International Conference on Distributed Event-Based Systems (DEBS’07). ACM, New York, 14--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Cugola, G., Di Nitto, E., and Fuggetta, A. 2001. The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Trans. Software Eng. 27, 9, 827--850. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., and Terry, D. 1987. Epidemic algorithms for replicated database maintenance. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC’87). ACM, New York, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Eugster, P., Felber, P. A., Guerraoui, R., and Kermarrec, A.-M. 2003a. The many faces of publish/subscribe. Comput. Surv. 35, 2, 114--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Eugster, P., Guerraoui, R., Handurukande, S., Kouznetsov, P., and Kermarrec, A.-M. 2003b. Lightweight probabilistic broadcast. ACM Trans. Comput. Syst. 21, 4, 341--374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Fabret, F., Jacobsen, A., Llirbat, F., Pereira, J., Ross, K., and Shasha, D. 2001. Filtering algorithms and implementation for very fast publish/subscribe systems. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 115--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Ganesh, A. J., Kermarrec, A.-M., and Massoulié, L. 2003. Peer-to-peer membership management for gossip-based protocols. IEEE Trans. Comput. 52, 2, 139--149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Gao, J. and Steenkiste, P. 2004. An adaptive protocol for efficient support of range queries in DHT-based systems. In Proceedings of the IEEE International Conference on Network Protocols (ICNP’04). IEEE, 239--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Garrod, C., Manjhi, A., Ailamaki, A., Maggs, B. M., Mowry, T. C., Olston, C., and Tomasic, A. 2008. Scalable query result caching for web applications. Proc. VLDB Endowment 1, 1, 550--561. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Gnutella. 2013. Wego. Retrieved November 11, 2013 from http://gnutella.wego.com/.Google ScholarGoogle Scholar
  33. Gryphon. 2005. The Gryphon Project. Retreived November 11, 2013 from http://www.research.ibm.com/distributedmessaging/gryphon.html.Google ScholarGoogle Scholar
  34. Gupta, A., Sahin, O. D., Agrawal, D., and El Abbadi, A. 2004. Meghdoot: Content-based publish/subscribe over P2P networks. In Proceedings of the ACM/IFIP/USENIX International Middleware Conference (Middleware’04). Springer Verlag, Berlin, 254--273. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Gupta, I., Kermarrec, A.-M., and Ganesh, A. 2006. Efficient and adaptive epidemic-style protocols for reliable and scalable multicast. IEEE Trans. Parallel Distrib. Syst. 17, 7, 593--605. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Hanson, E., Carnes, C., Huang, L., Konyala, M., Noronha, L., Parthasarathy, S., Park, J. B., and Vernon, A. 1999. Scalable trigger processing. In Proceedings of the International Conference on Data Engineering (ICDE’99). IEEE, New York, 266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Hua Chu, Y., Rao, S., and Zhang, H. 2002. A case for end system multicast. IEEE J. Selected Areas in Communications (JSAC) 20, 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. IBM News. 2013. History of IBM: 2000s. Retrieved November 11, 2013 from http://www-03.ibm.com/ibm/history/history/year_2000.html.Google ScholarGoogle Scholar
  39. Jelasity, M., Voulgaris, S., Guerraoui, R., Kermarrec, A.-M., and van Steen, M. 2007. Gossip-based peer sampling. ACM Trans. Comput. Syst. 25, 3, 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. JMS Benchmark. 2008. JMS Performance Benchmarks. Retrieved November 11, 2013 from http://www.codeproject.com/Articles/26461/JMS-Performance-Benchmarks.Google ScholarGoogle Scholar
  41. Kafka. 2013. Kafka 0.8 Documentation. Retrieved November 11, 2013 from http://kafka.apache.org/design.html.Google ScholarGoogle Scholar
  42. Karp, B., Ratnasamy, S., Rhea, S., and Shenker, S. 2004. Spurring adoption of DHTs with OpenHash, a public DHT service. In Proceedings of the 3rd International Workshop on Peer-to-Peer Systems (IPTPS’04). Springer, Berlin, 195--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Kazaa. 2006. http://www.kazaa.com/.Google ScholarGoogle Scholar
  44. Kubiatowicz, J., Bindel, D., Chen, Y., Czerwinski, S., Eaton, P., Geels, D., Gummadi, R., Rhea, S., Weatherspoon, H., Weimer, W., Wells, C., and Zhao, B. 2000. OceanStore: An architecture for global-scale persistent storage. SIGPLAN Not. 35, 11, 190--201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Lehn, M., Leng, C., Rehner, R., Triebel, T., and Buchmann, A. 2011. An online gaming testbed for peer-to-peer architectures. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 474--475. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. LiveJournal. 2013. Homepage. Retrieved November 11, 2013 from http://www.livejournal.com.Google ScholarGoogle Scholar
  47. Melamed, R. and Keidar, I. 2008. Araneola: A scalable reliable multicast system for dynamic environments. J. Parallel Distrib. Comput. 68, 12, 1539--1560. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Object-Management Group. 1998. CORBAservices: Common Object Services Specification.Google ScholarGoogle Scholar
  49. Object-Management Group. 2000. CORBAservices Notification Service Specification. Retrieved November 11, 2013 from http://www.omg.org/.Google ScholarGoogle Scholar
  50. Oki, B., Pfluegl, M., Siegel, A., and Skeen, D. 1993. The Information Bus: An architecture for extensible distributed systems. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP’93). ACM, New York, 58--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Patel, J., Rivière, É, Gupta, I., and Kermarrec, A.-M. 2009. Rappel: Exploiting interest and network locality to improve fairness in publish-subscribe systems. Comput. Networks 53, 13, 2304--2320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Pietzuch, P. and Bacon, J. 2002. Hermes: A distributed event-based middleware architecture. In Proceedings of the Workshop on Distributed Event Based Systems (DEBS’02). ACM, New York, 611--618. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Pitoura, T., Ntarmos, N., and Triantafillou, P. 2006. Replication, Load Balancing and Efficient Range Query Processing in DHTs. In International conference on Advances in Database Technology (EDBT06). Springer-Verlag, Munich, Germany, 131--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Plaxton, G., Rajaraman, R., and Richa, A. 1997. Accessing Nearby Copies of Replicated Objects in a Distributed Environment. In ACM Symposium on Parallel Algorithms and Architectures (SPAA). ACM, Newport, Rhode Island, USA, 311--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. RabbitMQ. http://www.rabbitmq.comcom/. (????).Google ScholarGoogle Scholar
  56. Ramabhadran, S., Ratnasamy, S., Hellerstein, J. M., and Shenker, S. 2004. Prefix Hash Tree - An Indexing Data Structure over Distributed Hash Tables. Technical Report. IRB Tech Repor.Google ScholarGoogle Scholar
  57. Ramasubramanian, V., Peterson, R., and Gün Sirer, E. 2006. Corona: A high performance publish-subscribe system for the World Wide Web. In Proceedings of the Conference on Networked Systems Design & Implementation (NSDI’’06). USENIX, Berkeley, CA, 2--2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Ratnasamy, S., Francis, P., Handley, M., Karp, R. M., and Shenker, S. 2001. A scalable content-addressable network. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 161--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Rose, I., Murty, R., Pietzuch, P., Ledlie, J., Roussopoulos, M., and Welsh, M. 2007. Cobra: Content based filtering and aggregation of blogs and RSS feeds. In Proceedings of the USENIX Conference on Networked Systems Design and Implementation. USENIX, Berkeley, CA, 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Rowstron, A. and Druschel, P. 2001a. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms (Middleware’01). Springer, Berlin, 329--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Rowstron, A. and Druschel, P. 2001b. Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP’01). ACM, New York, 188--201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Sandler, D., Mislove, A., Post, A., and Druschel, P. 2005. FeedTree: Sharing web micronews with peer-to-peer event notification. In Proceedings of the International Conference on Peer-to-Peer Systems (IPTPS’05). Springer-Verlag, Berlin, 141--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Skype. Homepage. Retrieved November 11, 2013 from http://www.skype.com/.Google ScholarGoogle Scholar
  64. Stoica, I., Morris, R., Karger, D., Kaashoek, M. F., and Balakrishnan, H. 2001. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the ACM SIGCOMM Conference on Data Communication. ACM, New York, 149--160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Sun, X. 2007. SCAN: A small-world structured P2P overlay for multi-dimensional queries. In Proceedings of the International Conference on World Wide Web (WWW’07). ACM, BNew York, 1191--1192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Sun Microsystems, Inc. 2000. Jini#8482; Technology Core Platform Specification. Retreived November 11, 2013 from http://www-csag.ucsd.edu/teaching/cse291s03/Readings/core1_2.pdf.Google ScholarGoogle Scholar
  67. Terpstra, W., Behnel, S., Fiege, L., Zeidler, A., and Buchmann, A. 2003. A peer-to-peer approach to content-based publish/subscribe. In Proceedings of the International Conference on Distributed Event-Based Systems (DEBS’03). ACM, New York, 1--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Tibco. 2013. Homepage. Retrieved November 11, 2013 from http://www.tibco.com/.Google ScholarGoogle Scholar
  69. Triantafillou, P. and Aekaterinidis, I. 2004. Publish-subscribe over structured P2P networks. In Proceedings of the International Conference on Distributed Event-Based Systems (DEBS’04). ACM, New York.Google ScholarGoogle Scholar
  70. Triantafillou, P. and Pitoura, T. 2003. Towards a unifying framework for complex query processing over structured peer-to-peer data networks. In Proceedings of the Workshop on Databases, Information Systems, and Peer-to-Peer Computing (VLDB’03). Springer, Berlin.Google ScholarGoogle Scholar
  71. Twitter. 2013. Welcome to Twitter. Retrieved November 11, 2013 from http://www.twitter.com/.Google ScholarGoogle Scholar
  72. Vitria. 2013. Homepage. Retrieved November 11, 2013 from http://www.vitria.com/.Google ScholarGoogle Scholar
  73. Voulgaris, S., Gavidia, D., and van Steen, M. 2005. CYCLON: Inexpensive membership management for unstructured P2P overlays. J. Netw. Syst. Manage. 13, 2.Google ScholarGoogle ScholarCross RefCross Ref
  74. Voulgaris, S., Rivière, E., Kermarrec, A.-M., and van Steen, M. 2006. Sub-2-Sub: Self-organizing content-based publish and subscribe for dynamic and large scale collaborative networks. In Proceedings of the 5th International Workshop on Peer-to-Peer Systems (IPTPS’06). USENIX, Berkeley, CA.Google ScholarGoogle Scholar
  75. Yeo, C. K., Leea, B. S., and Er., M. H. 2004. A survey of application level multicast techniques. Comput. Commun. 27, 15, 1547--1568. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Zhang, C., Krishnamurthy, A., Wang, R. Y., and Singh, J. P. 2005. Combining flexibility and scalability in a peer-to-peer publish/subscribe system. In Proceedings of the ACM/IFIP/UseNix 6th International Middleware Conference (Middleware’05). Springer-Verlag, Berlin, 102--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Zhao, B., Joseph, A., and Kubiatowicz, J. 2001. Tapestry: An Infrastructure for Fault-Tolerant Wide-Area Location and Routing. Tech. rep. UCB/CSD-01-1141. University of California, Berkley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Zhuang, S. Q., Zhao, B. Y., Joseph, A. D., Katz, R. H., and Kubiatowicz, J. D. 2001. Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination. In Proceedings of the International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV). ACM, New York, 11--20. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. XL peer-to-peer pub/sub systems

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          ACM Computing Surveys cover image
          ACM Computing Surveys  Volume 46, Issue 2
          November 2013
          483 pages
          ISSN:0360-0300
          EISSN:1557-7341
          DOI:10.1145/2543581
          Issue’s Table of Contents

          Copyright © 2013 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Online: 1 November 2013
          • Accepted: 1 January 2013
          • Revised: 1 June 2011
          • Received: 1 March 2010

          Permissions

          Request permissions about this article.

          Request Permissions

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!