Implementing Remote Procedure Calls
September 11, 2021Xeroxのプログラミング環境Cedarのために開発されたRPCを解説した84年の論文。 RPCの開発目的は、分散コンピューティングを簡単に実装できるようにする、通信時間を短くする、通信をセキュアにすることの3点にある。 RPCは大部分でMesaが使われた。
CedarのRPCの設計は現在のRPCフレームワークのものと大きく変わらない。
以下に設計の全体像を図示する。
大きくUser, User-stub, RPCRuntime, Server-stub, Serverの5つのモジュールならなる。
RPCを呼び出すUserからみれば、RPCでないメソッドを呼び出すようにRPCを呼び出すことができる。
Stubは、RPCと通常のメソッドの差異を埋めるためにあり、Lupineというプログラムで生成できる。
Userの対称にあるServerも同様で、server-stubがServerからみてRPCメソッドをほかのメソッドと違わないように見せる。
RPCRuntimeは通信の信頼性や通信のセキュアを確保する。
論文をこちらからダウンロードできます。