RPC

A Remote Procedure Call is a programming interface that allows one program to use the services of another program on a remote machine. The calling program sends a message and data to the remote program, which is then executed, and results are passed to the calling program. This type of interface allows programs to communicate with each another while freeing the programmer from the low-level details.

An RPC server consists of a collection of procedures that a client may call by sending an RPC request to the server, along with the procedure parameters. The server will invoke the indicated procedure on behalf of the client, handing back the return value, if there is any. In order to be machine-independent, all data exchanged between client and server is converted to a so-called External Data Representation format (XDR) by the sender, and converted back to the machine-local representation by the receiver.

RPC was developed by Sun Microsystems, Inc. Important applications built on top of RPC are NFS, the Network File System, and NIS, the Network Information System.