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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
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
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
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
D. Comer, Internetworking with TCP/IP, 4th edn. Vol 1: Principles, Protocols, and Architectures (Prentice-Hall, Upper Saddle River, 2000)
D.E. Knuth, Verification of link-level protocols. BIT 21(1), 31–36 (1981)
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
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
L.L. Peterson, B.S. Davie, Computer Networks: A Systems Approach, 3rd edn. (Morgan Kaufmann, San Francisco, 2003)
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
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
Author information
Authors and Affiliations
Rights 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)