Date First Published: 20th June 2022
Topic: Computer Networking
Subtopic: Internet Protocols
Article Type: Computer Terms & Definitions
Difficulty: AdvancedDifficulty Level: 9/10
Learn more about what a remote procedure call is in this article.
A Remote Procedure Call (RPC) is a software communication protocol that can be used by a program in order to request a service from a program that is located in another computer on a network without having to understand the details of the network. In other words, it enables the ability to run code or a program from a remote source. A computer without a hard drive might use NPC to access data from a network file system (NFS).
Two newer object-oriented ways of programs communicating with each other, called CORBA and DCOM provide the same types of capabilities as remote procedure calls.
Usually, computer programs run sets of instructions using the CPU, meaning that the instructions are processed locally on exactly the same computer that the software is running on. However, remote procedure calls work by running procedures, or sets of instructions, on other devices connected to a network. The end results of the procedure are returned to that local computer once the procedures have been run.
RPC uses the client-server model. The program that sends the request is a client and the program that provides the services is known as the server.
RPC is known as a request-response protocol. A remote procedure call is performed by the client. The client then sends a request message to a remote server to run a specified procedure with supplied parameters. The remote server sends a response to the client. Whilst the server is processing the call, the client then waits until the server has finished processing before going back to running a specified procedure.
During a remote procedure call, the following steps occur:
The term 'remote procedure call’ was invented in 1981 by Bruce Jay Nelson. In 1982, one of the earliest practical implementations of RPC took place by Brian Randell and his colleagues for their Newcastle Connection between UNIX systems. ‘Lupine’ was soon implemented by Andrew Birrell and Bruce Nelson in the Cedar environment at Xerox PARC. Lupine generated stubs automatically, providing type-safe bindings, and used as an efficient protocol for communication.
One of the first business uses of RPC was by Xerox under the name ‘Courier’ in 1981. Sun’s RPC, now called ONC/RPC, was the first popular implementation of RPC on Unix. It was used as the basis for the Network File System (NFS).
If so, it is important that you tell me as soon as possible on this page.
Network Services Network Setups Network Standards Network Hardware Network Identifiers Network Software Internet Protocols Internet Organisations Data Transmission Technologies Web Development Web Design Web Advertising Web Applications Web Organisations Web Technologies Web Services SEO Threats To Systems, Data & Information Security Mechanisms & Technologies Computer Hardware Computer Software Ethics & Sustainability Legislation & User Data Protection