Learning path

Full curriculum

Full curriculum

Unit content

Remote procedure calls

A remote procedure call (RPC) makes a request to another process look roughly like calling an operation with arguments and receiving a result.

Under the abstraction, the caller encodes a request, sends it across a transport, the server dispatches the requested operation, and a response travels back.

The similarity to a local call is useful but incomplete. A local call normally either returns or the process fails. An RPC can leave the caller uncertain:

  • the request may never reach the server;
  • the server may execute it but the response may be lost;
  • the caller may stop waiting while the server continues working.

Interfaces therefore need explicit request and response formats, error handling and compatibility rules.

RPC is a communication abstraction, not a guarantee that remote execution has local-call failure semantics.