The document summarizes remote procedure calls (RPC), which allow programmers to call procedures or functions on other machines remotely, making distributed systems appear as a local procedure call. It discusses how RPC works by using stub functions to simulate a local procedure call, how data is marshaled and sent over the network, issues around parameter passing and data representation, and other aspects of designing and implementing an RPC system.
Why Teams call analytics are critical to your entire business
Rpc (Distributed computing)
1. Remote Procedure Calls Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
2.
3.
4. How do regular procedure calls work in programming languages?
5.
6.
7.
8.
9. Stub functions network routines server functions server stub (skeleton) network routines 1. Client calls stub (params on stack) client functions client stub client server
10. Stub functions server functions server stub (skeleton) network routines 2. Stub marshals params to net message client functions client stub network routines client server
11. Stub functions 3. Network message sent to server client functions client stub network routines server functions server stub (skeleton) network routines client server
12. Stub functions 4. Receive message: send to stub client functions client stub network routines server functions server stub (skeleton) network routines client server
13. Stub functions 5. Unmarshal parameters, call server func client functions client stub network routines server functions server stub (skeleton) network routines client server
14. Stub functions 6. Return from server function client functions client stub network routines server functions server stub (skeleton) network routines client server
15. Stub functions 7. Marshal return value and send message client functions client stub network routines server functions server stub (skeleton) network routines client server
16. Stub functions 8. Transfer message over network client functions client stub network routines server functions server stub (skeleton) network routines client server
17. Stub functions 9. Receive message: direct to stub client functions client stub network routines server functions server stub (skeleton) network routines client server
18. Stub functions 10. Unmarshal return, return to client code client functions client stub network routines server functions server stub (skeleton) network routines client server