What is a remote procedure call (RPC)?

This is a recommends products dialog
Top Suggestions
Starting at
View All >
Language
French
English
ไทย
German
繁體中文
Country
Hi
All
Sign In / Create Account
language Selector,${0} is Selected
Join & Shop in Lenovo Pro
Register at Education Store
Pro Tier Benefits
• Save up to an extra 5% on Think everyday pricing
• Purchase up to 10 systems per order (5 more than Lenovo.com)
• Spend $10K, advance to Plus Tier with increased benefits
Plus Tier Benefits
• Save up to an extra 6% on Think everyday pricing
• Purchase up to 25 systems per order (20 more than Lenovo.com)
• Spend $50K, advance for free to Elite Tier with increased benefits
• Take advantage of flexible payment options with TruScale Device as a Service. Learn More >
Elite Tier Benefits
• Save up to an extra 7% on Think everyday pricing
• Purchase up to 50 systems per order (45 more than Lenovo.com)
• Take advantage of flexible payment options with TruScale Device as a Service. Learn More >
Partner Benefits
• Access to Lenovo's full product portfolio
• Configure and Purchase at prices better than Lenovo.com
View All Details >
more to reach
PRO Plus
PRO Elite
Congratulations, you have reached Elite Status!
Pro for Business
Delete icon Remove icon Add icon Reload icon
TEMPORARILY UNAVAILABLE
DISCONTINUED
Temporary Unavailable
Cooming Soon!
. Additional units will be charged at the non-eCoupon price. Purchase additional now
We're sorry, the maximum quantity you are able to buy at this amazing eCoupon price is
Sign in or Create an Account to Save Your Cart!
Sign in or Create an Account to Join Rewards
View Cart
Your cart is empty! Don’t miss out on the latest products and savings — find your next favorite laptop, PC, or accessory today.
Remove
item(s) in cart
Some items in your cart are no longer available. Please visit cart for more details.
has been deleted
Please review your cart as items have changed.
of
Contains Add-ons
Subtotal
Proceed to checkout
Yes
No
Popular Searches
What are you looking for today ?
Quick Links
Recent Searches
Hamburger Menu
skip to main content
{"arrowColor":"","backgroundColor":"#e6f4fa","divideColor":"#DBDBDB","sideMsg":"","data":[{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pagec87875b0-b03d-4793-8f5f-222af27ab7fb","language":{"en_us":"%3Cp%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3EBlack%20Friday%20in%20July!%3C%2Fstrong%3E%20Save%20up%20to%20%7BsavingPercent%7D%20on%20laptops%20%26amp%3B%20accessories!%20Plus%2C%20extra%20savings%20the%20more%20you%20buy.%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fd%2Fdeals%2Fdoorbusters%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%3E%3Cstrong%3EShop%20Now%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E","en":"%3Cp%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fspan%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3EBlack%20Friday%20in%20July!%3C%2Fstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%26nbsp%3B%3C%2Fspan%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3ESave%20up%20to%20%7BsavingPercent%7D%20on%20laptops%20%26amp%3B%20accessories!%20Plus%2C%20extra%20savings%20the%20more%20you%20buy.%3C%2Fspan%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22https%3A%2F%2Fadmin.lenovo.com%2Fd%2Fdeals%2Fdoorbusters%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3EShop%20Now%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3Ca%20href%3D%22https%3A%2F%2Fadmin.lenovo.com%2Fd%2Fdeals%2Fdoorbusters%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fa%3E%3Ca%20href%3D%22%2Fd%2Fdeals%2Fdoorbusters%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fa%3E%3Ca%20href%3D%22%2Fd%2Fdeals%2Flenovo-sale%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fa%3E%3Ca%20href%3D%22%2Fd%2Fdeals%2Fdoorbusters%2F%3FIPromoID%3DLEN944203%22%20target%3D%22_self%22%20textvalue%3D%22Shop%20Now%20%26gt%3B%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E"},"id":"Pagec87875b0-b03d-4793-8f5f-222af27ab7fb"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Page60bcd7a0-92f8-4fb7-9cdf-9e345f3c736d","language":{"en_us":"%3Cp%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3EShopping%20for%20a%20business%3F%3C%2Fstrong%3E%20New%20Lenovo%20Pro%20members%20get%20%24100%20off%20first%20order%20of%20%241%2C000%2B%2C%20exclusive%20savings%20%26amp%3B%201%3A1%20tech%20support.%26nbsp%3B%3Ca%20href%3D%22%2Fbusiness%2Fbenefits%2F%3FipromoID%3DLEN818484%22%20target%3D%22_self%22%20textvalue%3D%22Learn%20More%20%26gt%3B%22%3E%3Cstrong%3ELearn%20More%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E","en":"%3Cp%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3EShopping%20for%20a%20business%3F%3C%2Fstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%26nbsp%3BNew%20Lenovo%20Pro%20members%20get%20%24100%20off%20first%20order%20of%20%241%2C000%2B%2C%20exclusive%20savings%20%26amp%3B%201%3A1%20tech%20support.%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fbusiness%2Fbenefits%2F%3FipromoID%3DLEN818484%22%20target%3D%22_self%22%20textvalue%3D%22Learn%20More%20%26gt%3B%22%3E%3Cstrong%3ELearn%20More%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E"},"id":"Page60bcd7a0-92f8-4fb7-9cdf-9e345f3c736d"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pagea6304005-d87c-4378-9a8d-f719fadd5218","language":{"en_us":"%3Cp%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3ENeed%20it%20today%3F%20Buy%20online%2C%20pick%20up%20select%20products%20at%20Best%20Buy.%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fd%2Fbopis%2F%3FIPromoID%3DLEN775727%22%20target%3D%22_self%22%20textvalue%3D%22Shop%20Pick%20Up%20%26gt%3B%22%3E%3Cstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20nowrap%3B%22%3EShop%20Pick%20Up%20%26gt%3B%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E","en":"%3Cp%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3ENeed%20it%20today%3F%20Buy%20online%2C%20pick%20up%20select%20products%20at%20Best%20Buy.%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fd%2Fbopis%2F%3FIPromoID%3DLEN775727%22%20target%3D%22_self%22%20textvalue%3D%22Shop%20Pick%20Up%20%26gt%3B%22%3E%3Cstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20nowrap%3B%22%3EShop%20Pick%20Up%20%26gt%3B%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E"},"id":"Pagea6304005-d87c-4378-9a8d-f719fadd5218"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Paged5816f21-44a4-4d15-8796-a50c06525ee2","language":{"en_us":"%3Cp%3E%3Cstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%3E%3Cspan%20style%3D%22text-wrap%3A%20nowrap%3B%22%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20nowrap%3B%22%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3EMy%20Lenovo%20Rewards!%20%3C%2Fstrong%3EJoin%20for%20free%20or%20sign%20in%20to%20your%20account%20and%20earn%202X%20Rewards%20sitewide%26nbsp%3B%20(that%26%2339%3Bs%206%25%20back).%20Hurry%2C%20ends%207%2F14..%26nbsp%3B%3Ca%20href%3D%22%2Frewards%2F%3FIPromoID%3DLEN775755%22%20target%3D%22_self%22%3E%3Cstrong%3EJoin%20For%20Free%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E","en":"%3Cp%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3C%2Fstrong%3E%3Cstrong%20style%3D%22text-wrap%3A%20wrap%3B%22%3EMy%20Lenovo%20Rewards!%26nbsp%3B%3C%2Fstrong%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3EJoin%20for%20free%20or%20sign%20in%20to%20your%20account%20and%20earn%202X%20Rewards%20sitewide%26nbsp%3B%20(that%26%2339%3Bs%206%25%20back).%20Hurry%2C%20ends%207%2F14.%3C%2Fspan%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22https%3A%2F%2Fadmin.lenovo.com%2Frewards%2F%3FIPromoID%3DLEN775755%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3EJoin%20For%20Free%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3Ca%20href%3D%22%2Frewards%2F%3FIPromoID%3DLEN775755%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E"},"id":"Paged5816f21-44a4-4d15-8796-a50c06525ee2"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Page16694da6-9bb3-4264-9168-bcd30489092b","language":{"en_us":"%3Cp%3EBad%20credit%20or%20no%20credit%3F%20No%20problem!%20Katapult%20offers%20a%20simple%20lease%20to%20own%20payment%20option%20to%20help%20get%20what%20you%20need.%20%3Ca%20href%3D%22%2Flandingpage%2Flenovo-financing-options%2F%3FIPromoID%3DLEN771093%22%20target%3D%22_self%22%3E%3Cstrong%3ELearn%20More%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E","en":"%3Cp%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%22%3EBad%20credit%20or%20no%20credit%3F%20No%20problem!%20Katapult%20offers%20a%20simple%20lease%20to%20own%20payment%20option%20to%20help%20get%20what%20you%20need.%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Flandingpage%2Flenovo-financing-options%2F%3FIPromoID%3DLEN771093%22%20target%3D%22_self%22%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cstrong%3ELearn%20More%20%26gt%3B%3C%2Fstrong%3E%3C%2Fa%3E%3C%2Fp%3E"},"id":"Page16694da6-9bb3-4264-9168-bcd30489092b"},"gInfo":""}],"autoRun":true,"displayTerminal":"pc","isShowDivide":true}

What is a remote procedure call (RPC)?

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. With RPC, you can call functions on remote computers as if they were local, making it easier to develop distributed applications.

How does RPC work?

RPC works by using a client-server model. The client initiates a request to the server, specifying the procedure it wants to execute and the required parameters. The request is then sent over a network, and the server receives it. The server locates the requested procedure, executes it, and sends back the results to the client.

What are some advantages of using RPC?

RPC offers several advantages in the world of distributed computing. Firstly, it simplifies the development process by abstracting away the complexities of network communication. Secondly, it enables modular design, allowing different components of an application to be developed independently and interact seamlessly through RPC calls. Lastly, RPC promotes scalability, as services can be distributed across multiple servers, handling increased load efficiently.

What are some common use cases for RPC?

RPC is commonly used in various scenarios, such as client-server architectures, distributed systems, and web services. It is frequently employed in situations where there is a need to offload computational tasks to remote servers, such as in cloud computing environments or when working with microservices. RPC is also used extensively in the implementation of web application programming interfaces (APIs), allowing clients to interact with server-side resources.

What is the difference between RPC and representational state transfer (REST)?

When it comes to understanding the difference between RPC and REST, think of it like this: RPC is more like having a direct conversation with a server. You make specific requests for services, and the server responds accordingly. On the other hand, REST takes a resource-centric approach. It's like browsing through a catalog of resources and interacting with them using standard hypertext transfer protocol (HTTP) methods.

So, in simpler terms, RPC is about making explicit requests and getting direct responses, while REST focuses on working with resources using predefined methods. Both have their strengths, and the choice depends on your specific needs and preferences.

What are some popular RPC frameworks?

There are several popular RPC frameworks available, each with its own set of features and advantages. Some notable ones include gRPC, Apache Thrift, common object request broker architecture (CORBA), XML-RPC, and JSON-RPC. These frameworks provide developers with the tools and libraries necessary to implement RPC functionality in their applications.

How is RPC different from messaging systems like message queuing telemetry transport (MQTT) or advanced message queuing protocol (AMQP)?

RPC and messaging systems like MQTT or AMQP serve distinct purposes in distributed computing. While RPC focuses on direct communication between applications, MQTT and AMQP are message-oriented protocols designed for efficient communication in distributed environments. RPC facilitates seamless interaction by invoking procedures on a remote server, ideal for tightly coupled systems. However, MQTT and AMQP prioritize asynchronous messaging, ensuring reliable, loosely coupled communication between distributed components. The key difference lies in their communication models: RPC for direct method invocation and messaging systems for asynchronous, event-driven communication, each catering to specific use cases in the dynamic landscape of distributed computing.

Can I use RPC for inter-process communication on a single machine?

Yes, RPC can be used for inter-process communication (IPC) on a single machine as well. In this scenario, RPC allows different processes running on the same system to communicate with each other seamlessly. It provides a convenient way to break down complex applications into smaller, manageable components that can interact with one another via method calls.

Is RPC limited to a specific programming language or platform?

RPC is not limited to a specific programming language or platform. There are RPC frameworks available for various programming languages, including Java, C++, Python, Ruby, and more. These frameworks provide language-specific application programming interfaces (APIs) and libraries to facilitate the implementation of RPC functionality in applications developed using those languages.

Can RPC be used for inter-process communication?

RPC isn't limited to communication between different machines. It can also be used for inter-process communication on a single machine. It's like having a conversation with yourself but in a more productive way. RPC allows different processes running on the same system to talk to each other seamlessly. It's all about breaking down complexity into manageable pieces.

How does error handling work in RPC?

In RPC, error handling is typically done through various mechanisms provided by the RPC framework. When an error occurs during the execution of a remote procedure, the server can return an error code or raise an exception. The client can then handle this error and take appropriate action, such as retrying the request or displaying an error message to the user. Additionally, some RPC frameworks allow for custom error handling and fault tolerance strategies to be implemented.

Can RPC be used with both synchronous and asynchronous communication?

Yes, RPC can be used with both synchronous and asynchronous communication. In synchronous RPC, the client waits for the server to process and return the results before proceeding. Asynchronous RPC, on the other hand, allows the client to continue its execution while waiting for the server's response. This flexibility in communication style allows developers to choose the approach that best suits their application's requirements.

Does RPC have any limitations or challenges in the context of distributed computing?

One of the challenges of RPC in distributed computing is handling network failures and ensuring fault tolerance. Additionally, version control and compatibility issues between different implementations of RPC protocols can pose challenges. However, these limitations can be mitigated through careful system design and error handling mechanisms.

What is the role of serialization in RPC?

Serialization is the process of converting data structures or objects into a format that can be transmitted over a network. In RPC, serialization is used to marshal parameters and return values between the client and server, ensuring that data can be transmitted and reconstructed accurately across different platforms and programming languages.

{"pageComponentDataId":"c6016cday5451-43d6-9d34-e558a08d2b76","pageComponentId":"c6016cday5451-43d6-9d34-e558a08d2b76","isAssociatedRelease":"true","pageComponentDataLangCode":"en","configData":{"jumpType":"currentTab","headlineColor":"black","displayNumber":"","styleMode":"vertical","headline":"","products":[{"number":{"t_id":"4XD1C99223","language":{"fr_ca":"","en_ca":"4XD1C99223","en_us":"","en":"4XD1C99223","fr":""},"id":"Paged364d785-5b43-46f3-897f-cfc1f2886cc5"}},{"number":{"t_id":"GX30Z21568","language":{"fr_ca":"","en_ca":"GX30Z21568","en_us":"","en":"GX30Z21568","fr":""},"id":"Page8a92c658-e187-4221-a70b-abfeb5c40052"}},{"number":{"t_id":"GX41L44752","language":{"fr_ca":"","en_ca":"GX41L44752","en_us":"","en":"GX41L44752","fr":""},"id":"Page3c3ca4cb-191e-42d6-b6bf-2a17188dcd34"}},{"number":{"t_id":"GY51F14319","language":{"fr_ca":"","en_ca":"GY51F14319","en_us":"","en":"GY51F14319","fr":""},"id":"Page9aad6b00-44a5-4f35-91db-6509e57b5f2f"}},{"number":{"t_id":"4Z91K18761","language":{"fr_ca":"","en_ca":"4Z91K18761","en_us":"","en":"4Z91K18761","fr":""},"id":"Page8d533231-87a4-40f2-9a1c-5e922f32affc"}}]},"urlPrefix":"AAAAAAAF","title":"glossary-right-blue-boxes-fragment","pageId":"e60a662e-c1b6-4ba3-afa9-6f6977b562f8","urlEdit":0,"uri":"/FragmentDirectory/gloccery/glossary-right-blue-boxes-fragment.frag","pageComponentUuid":"c6016cday5451-43d6-9d34-e558a08d2b76"}
coming coming
Starting at
List Price
Est Value
Est Value:
List Price
Est Value (Estimated Value)
List Price is Lenovo’s estimate of product value based on the industry data, including the prices at which first and third-party retailers and etailers have offered or valued the same or comparable products. Third-party reseller data may not be based on actual sales.
Estimated value is Lenovo’s estimate of product value based on industry data, including the prices at which Lenovo and/or third-party retailers and e-tailers have offered or valued the same or comparable products. Third-party data may not be based on actual sales.
Learn More
See More
See Less
View {0} Model
View {0} Models
Delivery options for {0}
Part Number
Features
See More
See Less
Compare
Added!
Great choice!
You may compare up to 4 products per product category (laptops, desktops, etc). Please de-select one to add another.
View Your Comparisons
Add To Cart
Add To Cart
We're sorry,
Products are temporarily unavailable.
Continue Shopping
Learn More
Coming Soon
Featured Product
Featured Products
Oops! No results found. Visit the categories above to find your product.
Save

Seasonal Sales & FAQ's

open in new tab
© 2024 Lenovo. All rights reserved.
© {year} Lenovo. All rights reserved.
Compare  ()
x