October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

A Remote Function Call Will Never Really Be Local: Rethinking Distributed Computing #4

RPC can simplify the way code calls a remote service, but the request still travels across a network. Learn why latency, failures, retries, and uncertain outcomes remain visible consequences.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A remote function call can look like an ordinary local call, but it is still a request sent across a network and a reply sent back. The API can hide the distance. It cannot erase what the distance changes: representation, latency, failure, retries, and uncertainty about whether an operation ran.

What happens when a remote call looks local?

With a local function call, a program invokes code in its own process, waits for it to run, and receives a result. The syntax may be as simple as result = getAccount(id).

As an Amazon Associate I earn from qualifying purchases.

In a remote procedure call (RPC), that line is an abstraction over communication. The client-side code turns the invocation and its arguments into a request message. A server receives and interprets that message, performs the operation, and sends a reply that the client turns into a return value or error. The function call itself does not cross the network; a representation of the call does.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That distinction matters because the client and server need an agreed way to represent the request and reply. ONC RPC, for example, defines its message protocol using External Data Representation (XDR). This is a feature of ONC RPC, not a universal rule for every RPC system. RFC 5531 describes the ONC RPC protocol.

How does RPC differ from a local call?

A local-looking interface can save developers from repeatedly writing message-handling code. It cannot make the communication path behave like an in-process call.

Concern Local procedure call Remote procedure call
Communication Invokes code in the local process. Sends a request message to a remote service and receives a reply.
Data Arguments and results are handled within the process. Arguments and results must be represented for transmission and interpreted at the other end.
Latency Does not wait for a network round trip. Includes communication and server-processing time; the caller may block while waiting for the reply.
Failure Does not face network or remote-server failures. Can encounter network or server errors, including a missing reply.
What a timeout tells the caller Not applicable to a network reply. The caller did not receive a reply in time; that alone does not establish whether the server ran the operation.

RFC 5531, an IETF specification published in 2009, says remote procedures “usually operate at one or more orders of magnitude slower than local procedure calls.” This is a qualified general statement in the specification, not a current benchmark for every RPC framework, network, or workload.

Why doesn’t a timeout tell you whether the operation ran?

A timeout records what the client observed: no reply arrived within the time it was willing to wait. It does not reveal exactly what happened on the server. The request might not have reached the server, the server might have failed before acting, or it might have completed the operation while its reply was lost or delayed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This ambiguity affects retries. If a client resends a request after a timeout, the server may perform the same operation again. That can matter for operations with effects such as charging a payment or creating a record. A reliable transport such as TCP does not make the application-level outcome certain: even with TCP, the absence of a reply does not prove that the remote procedure was not executed.

Applications therefore need an explicit policy for timeouts and retries, designed around the operation and server behavior. The available evidence does not support a blanket promise of “exactly once” execution. Whether duplicate effects can be prevented depends on the protocol and application design.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What does the transport change?

RPC and its underlying transport are separate concerns. RFC 5531 states that ONC RPC itself does not implement reliability. When an application uses an unreliable transport, it may need policies for timeouts, retransmission, and duplicate detection. The appropriate behavior depends on the transport and the operation; retrying is not automatically safe.

This distinction is useful beyond ONC RPC: an RPC interface does not, by itself, answer what happens when messages are lost or replies arrive late. Those behaviors must be understood and handled at the relevant protocol and application layers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What should a good RPC abstraction hide?

A useful abstraction can hide repetitive mechanics: constructing messages, sending them, receiving replies, and presenting results through a convenient interface. It should not encourage callers to assume that remote operations have local-call timing or failure semantics.

  • Design for the possibility that a request or reply is delayed or lost.
  • Choose retry behavior with the operation’s effects and duplicate-execution risks in mind.
  • Make errors and timeouts meaningful to callers rather than disguising them as ordinary local outcomes.
  • Use a defined data representation understood by both sides.

RFC 5531’s author, R. Thurlow, cautions: “The conclusion is that even though there are tools to automatically generate client and server libraries for a given service, protocols must still be designed carefully.” The specification dates to May 2009; RFC 9289 updates it, so current deployment details should be checked against the applicable specification and implementation documentation. RFC 9289.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.