CITS3002 Computer Networks  
← prev
next → CITS3002 help3002 CITS3002 schedule  

Semantics of Remote Procedure Calls

Ideally, Remote Procedure Calls look like local procedure calls and the application programs may be unaware of the existence/need for the network. Like everything else, they suffer from network crashes, lost messages and delays.

Consider what happens when a server crashes. The client stub may :

  • Block and await the reply (which will never come).
  • Time-out and report a failure, or exception, to the client.
  • Time-out and retransmit the request.

Should clients re-issue their requests in the event of a failure? Moreover, should the client's application (manually) or the client's stubs (automatically) re-issue a request?

It is important to understand whether a package supports at-most-once or at-least-once semantics. Remote operations, which may be repeated without consequence, are termed idempotent operations.


CITS3002 Computer Networks, Lecture 10, Architecture independent applications, p12, 8th May 2024.