article

Remote procedure call (RPC) is a protocol that allows a computer program running on one computer to cause a subroutine on another computer to be executed without the programmer explicitly coding the details for this interaction. When the software in question is written using object-oriented principles, RPC may be referred to as remote invocation or remote method invocation.

History and origins


The idea of RPC goes back at least as far as 1976, when it was described in RFC 707. One of the first business uses of RPC was by Xerox under the name "Courier" in 1981. The first popular implementation of RPC on Unix was Sun's RPC (sometimes called ONC RPC), which was used as the basis for NFS. Another early Unix implementation was the RPC mechanism in Apollo Computer's Network Computing System (NCS), which after HP's acquisition of Apollo later surfaced as DCE/RPC in the OSF's Distributed Computing Environment (DCE). A decade later Microsoft adopted DCE/RPC as the basis of their Microsoft RPC (MSRPC) mechanism, and implemented DCOM (and ActiveX) atop it. Around the same time (mid-90's), Xerox PARC's ILU, and the Object Management Group's CORBA, offered a similar but platform-neutral paradigm, also based on distributed objects with an inheritance mechanism.

Message passing


RPC is an easy and popular paradigm for implementing the client-server model of distributed computing. An RPC is initiated by the caller (client) sending a request message to a remote system (the server) to execute a certain procedure using arguments supplied. A result message is returned to the caller. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols.

Standard contact mechanisms

In order to allow servers to be accessed by differing clients, a number of standardized RPC systems have been created. Most of these use an interface description language (IDL) to allow various platforms to call the RPC.

RPC analogues found elsewhere

  • Java's Java Remote Method Invocation (Java RMI) API attempts to provide similar functionality to standard UNIX RPC methods.
  • Microsoft .NET Remoting offers low-level RPC facilities for distributed systems implemented on the Windows platform.

Web services RPC


See also


Operating system technology | Distributed computing | Middleware

RPC | Remote Procedure Call | RPC | RPC | Remote procedure call | Chiamata di procedura remota | Remote procedure call | RPC | Remote Procedure Call | Chamada de procedimento remoto

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Remote procedure call".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld