StudyLover
  • Home
  • Study Zone
  • Profiles
  • Contact us
  • Sign in
StudyLover Remote Procedure Call
Download
  1. PHD Computer Science
  2. Advanced Networking and Protocols
  3. Demystifying Transport Protocols
UDP-Introduction : TCP- Service model
Demystifying Transport Protocols

In distributed computing, a Remote Procedure Call (RPC) acts as a powerful technique for building applications that can communicate across different machines on a network. It allows a program on one device (client) to execute a procedure (function) on another device (server) as if it were a local procedure call.

Here's a breakdown of RPC and how it facilitates communication between programs on a network:

Core Concept:

  • Imagine you have two computers on a network. An application on one computer (client) needs to leverage a specific functionality provided by another program (server) on the second computer.
  • With RPC, the client makes a call that appears just like a regular function call within its own code. However, behind the scenes, RPC transparently handles the complexities of network communication.

How it Works:

  1. Client-Side Invocation: The client application initiates the RPC by making a call to a local stub. This stub acts as a placeholder for the remote procedure on the server.
  2. Marshalling: The client stub marshals the arguments (data) needed for the procedure call. Marshalling essentially converts the data into a format that can be transmitted across the network.
  3. Network Transmission: The marshalled data is sent over the network using a transport protocol like TCP (Transmission Control Protocol) to ensure reliable delivery.
  4. Server-Side Processing: The server receives the data and unmarshals it back to the original format. The actual procedure is then executed on the server.
  5. Result Marshalling: The server marshals the results of the procedure call.
  6. Network Transmission (Response): The marshalled results are sent back over the network to the client.
  7. Unmarshalling and Return: The client stub unmarshals the results and delivers them to the client application as the return value of the function call.

Benefits of RPC:

  • Abstraction: RPC hides the underlying network communication details from the programmer. Developers can focus on writing application logic without worrying about network programming complexities.
  • Platform Independence: RPC allows communication between programs written in different programming languages as long as they share a common RPC framework.
  • Reusability: Procedures exposed through RPC can be reused by multiple client applications, promoting code modularity and maintainability.

Common Use Cases:

  • Distributed Systems: RPC is a cornerstone for building distributed systems where components are spread across different machines. It enables communication and coordination between these components.
  • Database Access: Applications can leverage RPC to access and manipulate data stored on remote databases.
  • Network File Systems: RPC facilitates communication between client applications and remote file servers for accessing and managing files on the network.
  • Microservices Architecture: In modern microservices architectures, RPC can be used for communication between independent microservices to achieve specific functionalities.

RPC Mechanisms:

There are various RPC frameworks and mechanisms available, including:

  • XML-RPC: Uses XML for data encoding and exchange.
  • JSON-RPC: Utilizes JSON for data formatting.
  • gRPC: A high-performance, open-source RPC framework based on Protocol Buffers for data serialization.

In Conclusion:

RPC is a fundamental concept in distributed computing, enabling seamless communication between programs on a network. By understanding how RPC works, its benefits, and common use cases, you gain valuable knowledge about building distributed applications and leveraging functionalities across networked devices.

UDP-Introduction TCP- Service model
Our Products & Services
  • Home
Connect with us
  • Contact us
  • +91 82955 87844
  • Rk6yadav@gmail.com

StudyLover - About us

The Best knowledge for Best people.

Copyright © StudyLover
Powered by Odoo - Create a free website