Remote Procedure Calls

A Remote Procedure Call (RPC) is a function that executes on another computer.

Here is how it works: when a program on device A wants a value to be calculated on device B, the program sends a message to device B, along with parameter values. Device B then executes the requested function using the parameters it received from device A's program. Finally, device B sends the results of the function back to the program on device A. As such, RPC is another type of Message Passing.

Since the two devices might differ in their architecture and features, before an RPC request is issued, both devices should first agree upon the format of the data that is sent back and forth (to avoid confusion and misinterpretation.)

An example of RPC is a networked file system. Messages are passed from device A to device B to read, write, delete, rename, or check the status of data or files stored on device B, similarly to how device A would access its own disks.