Challenges Ø The network between the calling process and the called process has much more complex properties than a single computer. For example, it is likely to limit message size and has a tendency to lose and reorder the messages. Ø The host computers on which the calling and called processes run may have significantly different architecture and data representation formats (e. g. , big/little endian). CS 440 Computer Networks 4
Challenges Ø Ø Ø Ø Guarantee message delivery. Deliver messages in the same order they are sent. Delivers at most one copy of each message. Support arbitrarily large messages. Support synchronization between the sender and receiver. Allows the receiver to apply flow control to the sender. Support multiple application processes on each host. CS 440 Computer Networks 5
Components Ø A protocol that manages the messages sent between the client and the server processes and that deals with the potential undesirable properties of the underlying network. Ø The programming language and compiler support to package the arguments into a request message on the client machine and then to translate this message back to the arguments on the server machine, and likewise with the return value. CS 440 Computer Networks 6