Advertisement

Programming Overlay Networks with Overlay Sockets

  • Jörg Liebeherr
  • Jianping Wang
  • Guimin Zhang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2816)

Abstract

The emergence of application-layer overlay networks has inspired the development of new network services and applications. Research on overlay networks has focused on the design of protocols to maintain and forward data in an overlay network, however, less attention has been given to the software development process of building application programs in such an environment. Clearly, the complexity of overlay network protocols calls for suitable application programming interfaces (APIs) and abstractions that do not require detailed knowledge of the overlay protocol, and, thereby, simplify the task of the application programmer. In this paper, we present the concept of an overlay socket as a new programming abstraction that serves as the end point of communication in an overlay network. The overlay socket provides a socket-based API that is independent of the chosen overlay topology, and can be configured to work for different overlay topologies. The overlay socket can support application data transfer over TCP, UDP, or other transport protocols. This paper describes the design of the overlay socket and discusses API and configuration options. The overlay socket has been used to develop a variety of applications, from multicast-file transfer programs, to multicast video streaming systems.

Keywords

Overlay Networks Application-layer Multicast OverlayNetwork Programming 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andersen, D.G., Balakrishnan, H., Kaashoek, M.F., Morris, R.T.: Resilient overlay networks. In: Proceedings of the 18th ACM Symposium on Operating Systems Principles, Lake Luise, Canada, October 2001, pp. 131–145 (2001)Google Scholar
  2. 2.
    Banerjee, S., Bhattacharjee, B., Kommareddy, C.: Scalable Application Layer Multicast. In: Proceedings of ACM SIGCOMM, Pittsburgh, PA, August 2002, pp. 205–220 (2002)Google Scholar
  3. 3.
    Calvert, K.L., Donhahoo, M.J.: TCP/IP Sockets in Java: Practical Guide for Programmers. Morgan Kaufman, San Francisco (October 2001)Google Scholar
  4. 4.
    Castro, M., Druschel, P., Kermarrec, A.-M., Rowstron, A.: SCRIBE: A largescale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in Communications (JSAC) 20(8) (October 2002)Google Scholar
  5. 5.
    Chu, Y., Rao, S.G., Zhang, H.: A case for end system multicast. In: Proceedings of ACM SIGMETRICS, Santa Clara, CA, June 2000, pp. 1–12 (2000)Google Scholar
  6. 6.
    Chawathe, Y. D.: Scattercast: An Architecture for Internet Broadcast Distribution as an Infrastructure Service. Ph.D. Thesis, University of California, Berkeley (December 2000) Google Scholar
  7. 7.
    Chu, Y., Rao, S.G., Seshan, S., Zhang, H.: Enabling Conferencing Applications on the Internet using an Overlay Multicast Architecture. In: Proceedings of ACM SIGCOMM, San Diego, CA, August 2001, pp. 55–67 (2001)Google Scholar
  8. 8.
    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
  9. 9.
    Deshpande, H., Bawa, M., Garcia-Molina, H.: Streaming live media over a peer-to-peer network. Technical Report 2001-30, Stanford University, Computer Science Dept. (August 2001) Google Scholar
  10. 10.
    Francis, P.: Yoid: Extending the Internet multicast architecture. Unpublished paper (April 2000), Available at http://www.aciri.org/yoid/docs/index.html
  11. 11.
    The FreeNet Project, http://freenetproject.org
  12. 12.
    The Gnutella Project, http://www.gnutella.com
  13. 13.
    The HyperCast project, http://www.cs.virginia.edu/hypercast
  14. 14.
    Jannotti, J., Gifford, D.K., Johnson, K.L., Kaashoek, M.F., OToole, J.: Overcast: Reliable multicasting with an overlay network. In: Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, CA, October 2000, pp. 197–212 (2000)Google Scholar
  15. 15.
    The JXTA Project, http://www.jxta.org
  16. 16.
    Liebeherr, J., Beam, T.K.: HyperCast: A protocol for maintaining multicast group members in a logical hypercube topology. In: Rizzo, L., Fdida, S. (eds.) NGC 1999. LNCS, vol. 1736, pp. 72–89. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  17. 17.
    Liebeherr, J., Nahas, M., Si, W.: Application-layer multicasting with Delaunay triangulation overlays. IEEE Journal on Selected Areas in Communications 20(8) (October 2002)Google Scholar
  18. 18.
    Pendarakis, D., Shi, S., Verma, D., Waldvogel, M.: ALMI: An application level multicast infrastructure. In: Proceedings of 3rd Usenix Symposium on Internet Technologies and Systems, San Francisco, CA, pp. 49–60 (March 2001)Google Scholar
  19. 19.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A Scalable Content-Addressable Network. In: Proceedings of ACM SIGCOMM, San Diego, CA, pp. 161–172 (August 2001)Google Scholar
  20. 20.
    Rowstron, A., Druschel, P.: Pastry: Scalable,distributed object location and routing for large-scale peer-to-peer system. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  21. 21.
    Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications. In: Proceedings of ACM SIGCOMM, San Diego, CA, pp. 149–160 (August 2001)Google Scholar
  22. 22.
    Zhuang, S.Q., Zhao, B.Y., Joseph, A.D., Katz, R.H., Kubiatowicz, J.: Bayeux: An Architecture for Scalable and Fault-tolerant Wide-Area Data Dissemination. In: Proceedings of the Eleventh International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV 2001), Port Jefferson, NY, January 2001, pp. 11–20 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jörg Liebeherr
    • 1
  • Jianping Wang
    • 1
  • Guimin Zhang
    • 1
  1. 1.Department of Computer ScienceUniversity of VirginiaCharlottesvilleUSA

Personalised recommendations