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.