Skip to main content

Programming Overlay Networks with Overlay Sockets

  • Conference paper
Book cover Group Communications and Charges. Technology and Business Models (NGC 2003, ICQT 2003)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. Calvert, K.L., Donhahoo, M.J.: TCP/IP Sockets in Java: Practical Guide for Programmers. Morgan Kaufman, San Francisco (October 2001)

    Google Scholar 

  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. 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. 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. 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. 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)

    Chapter  Google Scholar 

  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. Francis, P.: Yoid: Extending the Internet multicast architecture. Unpublished paper (April 2000), Available at http://www.aciri.org/yoid/docs/index.html

  11. The FreeNet Project, http://freenetproject.org

  12. The Gnutella Project, http://www.gnutella.com

  13. The HyperCast project, http://www.cs.virginia.edu/hypercast

  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. The JXTA Project, http://www.jxta.org

  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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Liebeherr, J., Wang, J., Zhang, G. (2003). Programming Overlay Networks with Overlay Sockets. In: Stiller, B., Carle, G., Karsten, M., Reichl, P. (eds) Group Communications and Charges. Technology and Business Models. NGC ICQT 2003 2003. Lecture Notes in Computer Science, vol 2816. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39405-1_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39405-1_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20051-2

  • Online ISBN: 978-3-540-39405-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics