Internet, Networking, & Security Home Networking What Is a RPC (Remote Procedure Call) The RPC protocol facilitates communication between networked computers by Bradley Mitchell Writer An MIT graduate who brings years of technical experience to articles on SEO, computers, and wireless networking. our editorial process LinkedIn Bradley Mitchell Updated on March 14, 2019 Getty Images/Hong Li Home Networking The Wireless Connection Routers & Firewalls Network Hubs ISP Broadband Ethernet Installing & Upgrading Wi-Fi & Wireless Tweet Share Email A program on one computer on a network uses a Remote Procedure Call to make a request of a program on another computer on the network without knowing the network's details. The RPC protocol is a network programming model for point-to-point communication within or between software applications. An RPC is also known as a subroutine call or a function call. How RPC Works In RPC, the sending computer makes a request in the form of a procedure, function, or method call. RPC translates these calls into requests and sends them over the network to the intended destination. The RPC recipient then processes the request based on the procedure name and argument list and sends a response to the sender when complete. RPC applications typically implement software modules called "proxies" and "stubs" that broker the remote calls and make them appear to the programmer to be the same as local procedure calls. RPC calling applications usually operate synchronously, waiting for the remote procedure to return a result. However, the use of lightweight threads with the same address means that multiple RPCs can occur simultaneously. RPC incorporates timeout logic to handle network failures or other situations in which RPCs do not return. RPC Technologies RPC has been a common programming technique in the Unix world since the 1990s. The RPC protocol was implemented in both the Open Software Foundation's Distributed Computing Environment and Sun Microsystems Open Network Computing libraries, both of which were widely deployed. More recent examples of RPC technologies include Microsoft DCOM, Java RMI, and XML-RPC and SOAP.