Skip to main content

Message-Passing Services

  • Chapter
  • First Online:
Distributed Programming

Abstract

This chapter presents several message-passing services, or channels for short.A channel allows a user at one location to transmit a message to be received by a user at another location. Because a channel is a service that is spread over different locations, users access the service via multiple systems, one at each location (unlike the previous lock service and bounded-buffer service). Specifically, a channel has a set of addresses, each identifying a location. (MAC addresses, IP addresses, and URLs are examples of addresses.) At each address there is a system within the channel, referred to as an access system, with which users interact. Figure 4.1 illustrates a channel where each access system provides functions tx(k,msg), to transmit message msg to address k, and rx(), to receive a message. Messages are sequences. We require channels to have at least one address. Although a channel with one address doesn’t do anything, it can be convenient for writing programs that use the channel.

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 EPUB and 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
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. S. Banerjee, B. Bhattacharjee, C. Kommareddy, Scalable application layer multicast, in Proceedings of the 2002 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM ’02 (ACM, New York, 2002), pp. 205–217. doi:10.1145/633025.633045. http://doi.acm.org/10.1145/633025.633045

  2. K.P. Birman, T.A. Joseph, Reliable communication in the presence of failures. ACM Trans. Comput. Syst. 5(1), 47–76 (1987). doi:10.1145/7351.7478. http://doi.acm.org/10.1145/7351.7478

    Google Scholar 

  3. K.M. Chandy, L. Lamport, Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1), 63–75 (1985). doi:10.1145/214451.214456. http://doi.acm.org/10.1145/214451.214456

  4. K.M. Chandy, J. Misra, The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632–646 (1984). doi:10.1145/1780.1804. http://doi.acm.org/10.1145/1780.1804

    Google Scholar 

  5. D. Comer, Internetworking with TCP/IP, 4th edn. Vol 1: Principles, Protocols, and Architectures (Prentice-Hall, Upper Saddle River, 2000)

    Google Scholar 

  6. D.E. Knuth, Verification of link-level protocols. BIT 21(1), 31–36 (1981)

    MathSciNet  MATH  Google Scholar 

  7. L. Lamport, Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978). doi:10.1145/359545.359563. http://doi.acm.org/10.1145/359545.359563

  8. J.C. Lin, S. Paul, RMTP: a reliable multicast transport protocol, in Proceedings of the Fifteenth Annual Joint Conference of the IEEE Computer and Communications Societies Conference on the Conference on Computer Communications – Volume 3, INFOCOM’96 (IEEE Computer Society, Washington DC, 1996), pp. 1414–1424. http://dl.acm.org/citation.cfm?id=1895726.1895798

  9. L.L. Peterson, B.S. Davie, Computer Networks: A Systems Approach, 3rd edn. (Morgan Kaufmann, San Francisco, 2003)

    Google Scholar 

  10. A.U. Shankar, Verified data transfer protocols with variable flow control. ACM Trans. Comput. Syst. 7(3), 281–316 (1989). doi:10.1145/65000.65003. http://doi.acm.org/10.1145/65000.65003

  11. A.U. Shankar, S.S. Lam, An HDLC protocol specification and its verification using image protocols. ACM Trans. Comput. Syst. 1(4), 331–368 (1983). doi:10.1145/357377.357384. http://doi.acm.org/10.1145/357377.357384

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Shankar, A.U. (2013). Message-Passing Services. In: Distributed Programming. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-4881-5_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-4881-5_4

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-4880-8

  • Online ISBN: 978-1-4614-4881-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics