Remote Procedure Call (RPC)
• Detailed overview of RPC in distributed
systems.
1. Introduction
• RPC is a protocol that enables programs to
execute procedures on remote systems as if
they were local.
2. Goals of RPC
• - Hide complexity of network communication
• - Simplify client-server interactions
• - Promote modular system design
3. Key Concepts
• - Procedure call
• - Remote execution
• - Client-server model
• - Transparency
4. How RPC Works (Step-by-Step)
• 1. Client calls stub
• 2. Stub marshals parameters
• 3. Sends data over network
• 4. Server stub unmarshals
• 5. Server executes function
• 6. Result sent back
5. RPC Architecture
• Client → Client Stub → RPC Runtime →
Network → RPC Runtime → Server Stub →
Server
6. Components of RPC
• - Client
• - Client Stub
• - Server Stub
• - Server
• - RPC Runtime
• - Network
7. Marshalling and Unmarshalling
• Marshalling: Packing data into a format for
transmission
• Unmarshalling: Unpacking received data for
use
8. Types of RPC
• - Synchronous RPC: Waits for response
• - Asynchronous RPC: Continues without
waiting
9. Advantages of RPC
• - Simplifies distributed applications
• - Transparency to developers
• - Supports modular design
10. Challenges of RPC
• - Network failure
• - Security
• - Debugging difficulty
• - Version mismatch
• - Latency
11. RPC vs REST vs SOAP
• - RPC: Function-based calls
• - REST: Resource-based
• - SOAP: Protocol-heavy, XML-based
12. Use Cases
• - Microservices
• - Cloud services
• - Distributed databases
• - Remote file access
13. Popular RPC Frameworks
• - gRPC (Google)
• - Apache Thrift (Facebook)
• - JSON-RPC
• - XML-RPC
14. Example RPC Flow (Visual)
• Client → Stub → Network → Server Stub →
Function
• ← Result sent back the same way
15. Conclusion
• RPC enables powerful and simplified remote
function calls, but requires careful design for
reliability and security.
GROUP 5 MEMBERS
Isikima victor
UG/22/5815
Ebipamunu Michael Jackson
UG/22/5818
John-Pere Emmanuel
UG/22/5821
Inuma Favour onisobilemen
UG/22/5812
Samuel Enahoro
Isaac Duadogi Sogborueri
UG/22/5814
Inyang Samuel Emmanuel
UG/22/5813
Joshua Olam Maclean
Ofoin Ebinaye Chairman
UG/22/5848