Using remote procedure calls
Programs that communicate over a network
need a paradigm for communication.
The method used by the NFS is the Remote Procedure Call
(RPC)
paradigm, in which a client communicates
with a server. In this process, the client first calls a
procedure to send a request to the server. When the packet
containing the request arrives, the server calls a dispatch
routine, performs the service requested, sends back the reply,
and the procedure call returns to the client.
You can think of the RPC interface as divided into three layers.
At this layer, the routines registerrpc and callrpc are used to make RPC calls: registerrpc obtains a unique system-wide number, while callrpc executes a remote procedure call. The rnusers call is implemented using these two routines.
Although this document discusses only the interface to C, remote procedure calls can be made from any language. Moreover, although this document discusses RPC when used to communicate between processes running on different machines, it works just as well for communication between processes running on the same machine.