Home > Articles > Networking

Remote Procedure Calls for Distributed Systems

  • Print
  • + Share This
Remote procedure calls are essential to the development of distributed systems because they let programmers extend the capabilities of conventional procedure calls across a network. Learn how to use RPCs to harness the power of multiple processors and to exchange data in distributed file and database systems.
From the author of

A thorough introduction to RPC for programmers of distributed systems.

As any programmer knows, procedure calls are a vital software development technique. They provide the leverage necessary for the implementation of all but the most trivial of programs. Remote procedure calls (RPCs) extend the capabilities of conventional procedure calls across a network and are essential to the development of distributed systems. They can be used both for data exchange in distributed file and database systems and for harnessing the power of multiple processors. Linux distributions provide an RPC version derived from the RPC facility developed by the Open Network Computing (ONC) group at Sun Microsystems.

RPC and the Client/Server Model

In case the reader is not familiar with the following terms, we will define them here since they will be important in later discussion:

  • Caller: A program that calls a subroutine

  • Callee: A subroutine or procedure that is called by the caller

  • Client: A program that requests a connection to and service from a network server

  • Server: A program that accepts connections from and provides services to a client

There is a direct parallel between the caller/callee relationship and the client/server relationship. With ONC RPC (and with every other form of RPC that I know), the caller always executes as a client process, and the callee always executes as a server process.

  • + Share This
  • 🔖 Save To Your Account