Skip to Main Content
This article discusses the remote procedure call (RPC) abstraction. RPC has influenced distributed systems research and development since the early 1980s. In that decade, distributed systems such as Argus3 and Emerald4 explored the possibilities for programming languages themselves to be distributed, thereby building distribution directly into any applications written in those languages. Later in the 1980s and into the 1990s, production RPC systems such as the Apollo Network Computing System (NCS), Sun RPC, and the Open Software Foundation (OSF) Distributed Computing Environment (DCE) provided full RPC capabilities for enterprise developers using general-purpose languages such as C and Pascal. That led to the distributed objects era of the 1990s, in which Corba and Microsoft COM developers primarily used C++. RPC also later influenced Java remote method invocation (RMI), Enterprise Java Beans (EJB), XML-RPC, and SOAP.