-
Notifications
You must be signed in to change notification settings - Fork 0
oraccha edited this page Jan 14, 2013
·
1 revision
Remote Procedure Call
「リモート」はネットワーク接続されたリモート計算機のことでもあり,同一計算機内の別アドレス空間のプロセスのことでもある. つまり,プロセスの壁越え技術の一つ.
- ONC RPC(Sun) . NFS や NIS のベースになった機構.普通 RPC と言ったらこのこと(RFC:1057).
- DCE RPC(OSF) . 非同期通信のサポート,XDRの拡張(エンディアン変換の最適化)など, いろいろ拡張されているらしいが,DCE 自体今も生き残っているのかな?
RPC はトランスポート層に依存しないが,通常は UDP/IP 上で実装される.と書いたけど,NFS over TCP も可能だし,WAN になると事実上選択肢は TCP に限られてしまうよな.
- 分散OS V には VMTP (Versatile Message Transaction Protocol, RFC:1045) ってプロトコルがあったらしい.
- Amoeba にはRPCやグループ通信をサポートするための FLIP(Fast Local Internet Protocol) ってのがあった.
RPC/XDR だと Unix/C にべったりだし,Java RMI は Java にべったり. ということで,言語,プラットホーム独立で,スケーラブルな機構を作りたいと言うことで,CORBA などが利用される.
- DCOM . Microsoft が作ったらこうなりました.
- CORBA . (正確な定義ではないだろうけど)オブジェクト指向RPC
もっと上のレイヤ,例えば Web サービスなど,over HTTP でやるのであれば,SOAP などの XML-RPC がある.
関連文書
- [http://www.hlla.is.tsukuba.ac.jp/~yas/coins/dsys-1998/1999-01-19/sunrpc.html SunRPCプログラミング] (筑波大)
- [http://www.advogato.org/article/232.html Which RPC protocols work?] (Advogato.org)