What Is Remote Procedure Call (RPC)? Definition from SearchAppArchitecture (2024)

What is Remote Procedure Call (RPC)?

Remote Procedure Call is asoftware communication protocolthat one program can use to request a service from a program located in another computer on anetworkwithout having to understand the network's details. RPC is used to call other processes on the remote systems like a local system. Aprocedure callis also sometimes known as afunction call or asubroutine call.

RPC uses theclient-servermodel. The requesting program is aclient,and the service-providing program is the server. Like a local procedure call, an RPC is asynchronousoperation requiring the requesting program to be suspended until the results of the remote procedure are returned. However, the use of lightweight processesorthreadsthat share the same address space enables multiple RPCs to be performed concurrently.

The interface definition language (IDL) -- the specification language used to describe a software component's application programming interface (API) -- is commonly used inRemote Procedure Call software. In this case, IDL provides a bridge between the machines at either end of the link that may be using different operating systems (OSes) and computer languages.

What does RPC do?

When program statements that use the RPC framework are compiled into an executable program, astubis included in the compiledcode that acts as the representative of the remote procedure code. When the program is run and the procedure call is issued, the stub receives the request and forwards it to a clientruntimeprogram in the local computer. The first time the client stub is invoked, it contacts a name server to determine the transport address where the server resides.

The client runtime program has the knowledge of how to address the remote computer and server application and sends the message across the network that requests the remote procedure. Similarly, theserverincludes a runtime program and stub that interface with the remote procedure itself. Response-request protocols are returned the same way.

How does RPC work?

When a remote procedure call is invoked, the calling environment is suspended, the procedure parameters are transferred across the network to the environment where the procedure is to execute, and the procedure is then executed in that environment.

When the procedure finishes, the results are transferred back to the calling environment, where execution resumes as if returning from a regular procedure call.

During an RPC, the following steps take place:

  1. The client calls the client stub. The call is a local procedure call with parameters pushed onto the stack in the normal way.
  2. The client stub packs the procedure parameters into a message and makes a system call to send the message. The packing of the procedure parameters is called marshalling.
  3. The client's local OS sends the message from the client machine to the remote server machine.
  4. The server OS passes the incoming packets to the server stub.
  5. The server stub unpacks the parameters -- called unmarshalling -- from the message.
  6. When the server procedure is finished, it returns to the server stub, which marshals the return values into a message. The server stub then hands the message to the transport layer.
  7. The transport layer sends the resulting message back to the client transport layer, which hands the message back to the client stub.
  8. The client stub unmarshalls the return parameters, and execution returns to the caller.

Types of RPC

There are several RPC models anddistributed computingimplementations. A popular model and implementation is theOpen Software Foundation's(OSF) Distributed Computing Environment (DCE). TheInstitute of Electrical and Electronics Engineers(IEEE) defines RPC in itsISO Remote Procedure Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC, November 1991.

Examples of RPC configurations include the following:

  • The normal method of operation where the client makes a call and doesn't continue until the server returns the reply.
  • The client makes a call and continues with its own processing. The server doesn't reply.
  • A facility for sending several client nonblocking calls in one batch.
  • RPC clients have a broadcast facility, i.e., they can send messages to many servers and then receive all the resulting replies.
  • The client makes a nonblocking client/server call; the server signals the call is completed by calling a procedure associated with the client.

RPC spans thetransport layerand theapplication layerin theOpen Systems Interconnection(OSI) model of network communication. RPC makes it easier to develop an application that includes multiple programs distributed in a network. Alternative methods for client-server communication includemessage queueingand IBM'sAdvanced Program-to-Program Communication (APPC).

Pros and cons of RPC

Though it boasts a wide range of benefits, there are certainly a share of pitfalls that those who use RPC should be aware of.

Here are some of the advantages RPC provides for developers and application managers:

  • Helps clients communicate with servers via the traditional use of procedure calls in high-level languages.
  • Can be used in a distributed environment, as well as the local environment.
  • Supports process-oriented and thread-oriented models.
  • Hides the internal message-passing mechanism from the user.
  • Requires only minimal effort to rewrite and redevelop the code.
  • Provides abstraction, i.e., the message-passing nature of network communication is hidden from the user.
  • Omits many of the protocol layers to improve performance.

On the other hand, some of the disadvantages of RPC include the following:

  • The client and server use different execution environments for their respective routines, and theuse of resources (e.g., files) is also more complex. Consequently, RPC systems aren't always suited for transferring large amounts of data.
  • RPC is highly vulnerable to failure because it involves a communication system, another machine and another process.
  • There is no uniform standard for RPC; it can be implemented in a variety of ways.
  • RPC is only interaction-based, and as such, it doesn't offer any flexibility when it comes to hardware architecture.

This was last updated in October 2021

Continue Reading About Remote Procedure Call (RPC)

Related Terms

feature flagging
Feature flagging is a simple programming design pattern that allows developers to turn application features on or off without ... Seecompletedefinition
widget
In computing, a widget is an element of a graphical user interface that displays information or provides a specific way for a ... Seecompletedefinition
XSL (Extensible Stylesheet Language)
XSL (Extensible Stylesheet Language) is a family of standards that specifies how to define Extensible Markup Language (XML) ... Seecompletedefinition

Dig Deeper on Application development and design

What Is Remote Procedure Call (RPC)? Definition from SearchAppArchitecture (2024)

FAQs

What is remote procedure call RPC in detail? ›

RPC is a request–response protocol. An RPC is initiated by the client, which sends a request message to a known remote server to execute a specified procedure with supplied parameters. The remote server sends a response to the client, and the application continues its process.

What is the meaning of RPC? ›

Remote Procedure Call (RPC) protocol is generally used to communicate between processes on different workstations. However, RPC works just as well for communication between different processes on the same workstation. RPC Features.

Why is the remote procedure call running on my computer? ›

RPC is commonly used to build and interact with distributed systems. RPC enables a program to call a subroutine on a different computer without it knowing it's remote. Even though RPC acts like a transport protocol, it's actually an inter-process communications procedure.

What is RPC for dummies? ›

RPC is a protocol that allows a computer program to execute a procedure or function on another computer or server, without the need for the programmer to explicitly code communication details.

Is it safe to disable RPC? ›

Microsoft recommends that you don't disable the RPC service.

What is an example of a RPC? ›

In this case, RPC allows a co-ordinating computer to perfome the management functions needed to set up and start the software in a large data acquisition system. Each machine has a small server which allows the co-ordinating machine to start and stop programs and to interact with them.

What does RPC stand for in architecture? ›

Architecture principles: RPC vs. REST. In Remote Procedure Call (RPC), the client makes a remote function (also known as method or procedure) call on a server. Typically, one or more data values are passed to the server during the call.

When to use RPC? ›

RPC-based APIs are great for actions (that is, procedures or commands). REST-based APIs are great for modeling your domain (that is, resources or entities), making CRUD (create, read, update, delete) available for all of your data. REST is not only CRUD, but things are done through mainly CRUD-based operations.

How to fix RPC server is unavailable? ›

Resolution
  1. Verify correct DNS settings. Troubleshooting "RPC Server is Unavailable" in Windows.
  2. Verify correct Time and Time Zone settings.
  3. Verify that "TCP/IP NetBIOS Helper" is running and set to auto start after restart.
  4. Verify that "Remote Registry" is running and set to auto start after restart.
Jun 5, 2024

What is an RPC server? ›

What is RPC? A remote procedure call (RPC) is a protocol that allows different processes on a computer to communicate with each other to perform a task. An RPC server is unavailable error occurs when a Windows PC cannot communicate with another computer on the same network.

How to fix remote procedure call failed? ›

Click on Advanced Options and select Troubleshoot. Opt for System Restore and choose the most recent restore point or before the issue. Follow the on-screen instructions for restoration. Additionally, you can explore other options such as Startup Repair and Reset This PC (Keep My Files).

How do I turn off a remote procedure call? ›

Start > search box, type ser > Enter > scroll down to Remote Procedur... > right click at it > Properties > ar Startup Type heading, click the pointer and select Disable > OK when done.

What is RPC known for? ›

Corporate and commercial > Commercial contracts Tier 1

RPC offers pragmatic advice rooted in strong sector experience, with notable expertise in matters pertaining to tech and media, sport, and insurance.

What is simple RPC? ›

Simple RPC implementation for Arduino. This library provides a simple way to export Arduino functions as remote procedure calls. The exported method definitions are communicated to the host, which is then able to generate an API interface.

What port does the RPC protocol use? ›

In RPC, incoming RPC calls are mapped to a variable port in the 1024 to 65,535 range. Although RPC uses variable service ports, it needs a unique way to identify services. The RPC protocol resolves this need by using a special service identifier and a dedicated Portmapper service.

What is RPC in call center? ›

Right Party Connects (RPC) is an outbound call center metric examining how well companies connect with the “right” person. The metric is defined as the percentage of calls made where the agent was able to connect with the intended person, divided by the total number of attempted calls.

What is the difference between rest call and RPC call? ›

Actions are limited to create, read, update, and delete (CRUD) only and are conveyed as HTTP verbs or HTTP methods. RPC focuses on functions or actions, while REST focuses on resources or objects.

What is msrpc used for? ›

MSRPC is Microsoft's implementation of the Distributed Computing Environment/Remote Procedure Calls (DCE\RPC) call system, used for creating and facilitating communication between distributed client and server programs.

What is the function of remote procedure call? ›

A remote procedure call (RPC) mechanism provides a programming model and runtime environment that allows a program to invoke a program in another address space as if it were a local call within the same address space.

Top Articles
Is Litecoin a Good Investment? Buying Litecoin in 2023 | LiteFinance
3 Cryptocurrencies to Buy On the Dip | The Motley Fool
SZA: Weinen und töten und alles dazwischen
123 Movies Black Adam
Devotion Showtimes Near Mjr Universal Grand Cinema 16
Wells Fargo Careers Log In
Fusion
Walgreens Alma School And Dynamite
Owatc Canvas
Best Theia Builds (Talent | Skill Order | Pairing + Pets) In Call of Dragons - AllClash
Category: Star Wars: Galaxy of Heroes | EA Forums
Meg 2: The Trench Showtimes Near Phoenix Theatres Laurel Park
Tabler Oklahoma
Which Is A Popular Southern Hemisphere Destination Microsoft Rewards
‘Accused: Guilty Or Innocent?’: A&E Delivering Up-Close Look At Lives Of Those Accused Of Brutal Crimes
Craigslist Pikeville Tn
Craigslist Farm And Garden Tallahassee Florida
Diamond Piers Menards
Holiday Gift Bearer In Egypt
Mybiglots Net Associates
F45 Training O'fallon Il Photos
Foolproof Module 6 Test Answers
Znamy dalsze plany Magdaleny Fręch. Nie będzie nawet chwili przerwy
Wood Chipper Rental Menards
Mta Bus Forums
Chelsea Hardie Leaked
Jail Roster Independence Ks
Southtown 101 Menu
49S Results Coral
Rush County Busted Newspaper
Ghid depunere declarație unică
Tire Pro Candler
Fbsm Greenville Sc
About | Swan Medical Group
1987 Monte Carlo Ss For Sale Craigslist
Breckie Hill Fapello
The 38 Best Restaurants in Montreal
3400 Grams In Pounds
Craigslist Pets Huntsville Alabama
Wal-Mart 2516 Directory
Review: T-Mobile's Unlimited 4G voor Thuis | Consumentenbond
Ashoke K Maitra. Adviser to CMD's. Received Lifetime Achievement Award in HRD on LinkedIn: #hr #hrd #coaching #mentoring #career #jobs #mba #mbafreshers #sales…
Davis Fire Friday live updates: Community meeting set for 7 p.m. with Lombardo
Craigslist Farm And Garden Reading Pa
Cuckold Gonewildaudio
Bekkenpijn: oorzaken en symptomen van pijn in het bekken
Cleveland Save 25% - Lighthouse Immersive Studios | Buy Tickets
Skyward Cahokia
Research Tome Neltharus
Naughty Natt Farting
Cognitive Function Test Potomac Falls
The Ultimate Guide To 5 Movierulz. Com: Exploring The World Of Online Movies
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 5351

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.