Question: Will we talk about any implementation details of RPC as we discussed sockets in each server?
One minute response: Not unless you have specific questions you want answered. The things you learned about server architectures are of direct use in implementing RPC servers, and you experience implementing the first project should given you an idea of what your run-time system has to be doing to implement RPC. The readings from Comer and Stevens, particularly Chapters 21 through 23, should give you a general feel for how an RPC system is put together, although the chapters go into much more detail than is required for the second project.
Question: Why exactly once case is [?] [?] case of at least once? Why do we need implementation repeatable operation? If we call repeatedly, application will be called again and again anyway.
One minute response: First, don't confuse what the application does with what the run-time does. Given that the application made a single RPC call, is the run-time allowed to retransmit the call in the presence of time-outs or other errors? The practical effect of such retransmissions is to make it look, at the server side, as if the application has made several RPC calls.
If an RPC call - such as adding two numbers, for example - can be repeated arbitrarily many times and still produce the same result, then the run-time system can time-out and retransmit without changing the application's behavior. If an RPC call - such as moving $100 from savings to checking, for example - produces a different result each time it's called, then the run-time system cannot use time-out and retransmit without changing the application's behavior.
This page last modified on 16 July 2003.