A Modular Paradigm for Building Self-Organizing Peer-to-Peer Applications

  • Márk Jelasity
  • Alberto Montresor
  • Ozalp Babaoglu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2977)


Peer-to-peer (P2P) technology has undergone rapid growth, producing new protocols and applications, many of which enjoy considerable commercial success and academic interest. Yet, P2P applications are often based on complex protocols, whose behavior is not completely understood. We believe that in order to enable an even more widespread adoption of P2P systems in commercial and scientific applications, what is needed is a modular paradigm in which well-understood, predictable components with clean interfaces can be combined to implement arbitrarily complex functions. The goal of this paper is to promote this idea by describing our initial experiences in this direction. Our recent work has resulted in a collection of simple and robust components, which include aggregation and membership management. This paper shows how to combine them to obtain a novel load-balancing algorithm that is close to optimal with respect to load transfer. We also describe briefly our simulation environment, explicitly designed to efficiently support our modular approach to P2P protocol design.


Load Balance Overlay Network Distribute Hash Table Partial View Communication Topology 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barak, A., Shiloh, A.: A Distributed Load Balancing Policy for a Multicomputer. Software Practice and Experience 15(9), 901–913 (1985)CrossRefGoogle Scholar
  2. 2.
    Dabek, F., Zhao, B., Druschel, P., Kubiatowicz, J., Stoica, I.: Towards a Common API for Structured Peer-to-Peer Overlays. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic Algorithms for Replicated Database Management. In: Proc. of the 6th Annual ACM Symposium on Principles of Distributed Computing (PODC 1987), Vancouver, August 1987, pp. 1–12. ACM Press, New York (1987)CrossRefGoogle Scholar
  4. 4.
    Druschel, P., Rowstron, A.: PAST: A Persistent Anonymous Store. In: HotOS VIII (May 2001)Google Scholar
  5. 5.
    Foster, A., Iamnitchi, A.: On Death, Taxes, and the Convergence of Peer-to-Peer and Grid Computing. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Jelasity, M., Kowalczyk, W., van Steen, M.: Newscast Computing (submitted for publication)Google Scholar
  7. 7.
    Jelasity, M., Montresor, A.: Epidemic-Style Proactive Aggregation in Large Overlay Networks (2004) (to appear)Google Scholar
  8. 8.
    Joseph, S.: An Extendible Open-Source Simulator. P2P Journal (November 2003)Google Scholar
  9. 9.
    Kok, P., Loh, K., Hsu, W.J., Wentong, C., Sriskanthan, N.: How Network Topology Affects Dynamic Load Balancing. IEEE Parallel & Distributed Technology 4(3) (September 1996)Google Scholar
  10. 10.
    Milojicic, D.S., Kalogeraki, V., Lukose, R., Nagaraja, K., Pruyne, J., Richard, B., Rollins, S., Xu, Z.: Peer-to-Peer Computing. Technical Report HPL-2002-57, HP Labs, Palo Alto (2002)Google Scholar
  11. 11.
    Network Simulator 2,
  12. 12.
    Peterson, L., Anderson, T., Culler, D., Roscoe, T.: A Blueprint for Introducing Disruptive Technology into the Internet. In: Proc. of the First ACM Workshop on Hot Topics in Networks (HotNets-I), Princeton, NJ (October 2002)Google Scholar
  13. 13.
    Rao, A., Lakshminarayanan, K., Surana, S., Karp, R., Stoica, I.: Load Balancing in Structured P2P Systems. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Rowstron, A., Kermarrec, A.-M., Castro, M., Druschel, P.: Scribe: The Design of a Large-scale Event Notification Infrastructure. In: Crowcroft, J., Hofmann, M. (eds.) NGC 2001. LNCS, vol. 2233, pp. 30–43. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Schlosser, M., Kamvar, S.: Simulating a file-sharing p2p network. In: Proc. of the First Workshop on Semantics in P2P and Grid Computing (2002)Google Scholar
  16. 16.
    Ting, N.S., Deters, R.: A P2P Network Simulator. In: Proc. of the 3rd IEEE International Conference on Peer-to-Peer Computing (P2P 2003), Linkoping, Sweden (September 2003)Google Scholar
  17. 17.
    van Renesse, R.: The Importance of Aggregation. In: Schiper, A., Shvartsman, M.M.A.A., Weatherspoon, H., Zhao, B.Y. (eds.) Future Directions in Distributed Computing. LNCS, vol. 2584, pp. 87–92. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Voulgaris, S., van Steen, M.: An epidemic protocol for managing routing tables in very large peer-to-peer networks. In: Brunner, M., Keller, A. (eds.) DSOM 2003. LNCS, vol. 2867, pp. 41–54. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Zhao, B., Huang, L., Stribling, J., Rhea, S., Joseph, A., Kubiatowicz, J.: Tapestry: A Resilient Global-scale Overlay for Service Deployment. To appear in IEEE Journal on Selected Areas in Communications (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Márk Jelasity
    • 1
  • Alberto Montresor
    • 1
  • Ozalp Babaoglu
    • 1
  1. 1.Department of Computer ScienceUniversity of BolognaItaly

Personalised recommendations