遠隔手続き呼出しとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > 遠隔手続き呼出しの意味・解説 

えんかくてつづき‐よびだし〔ヱンカクてつづき‐〕【遠隔手続(き)呼(び)出し】

読み方:えんかくてつづきよびだし

remote procedure call》⇒リモートプロシージャコール


遠隔手続き呼出し

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/20 20:11 UTC 版)

遠隔手続き呼出し(えんかくてつづきよびだし、: remote procedure call、リモートプロシージャコール、略してRPC)とは、プログラムから別のアドレス空間(通常、共有ネットワーク上の別のコンピュータ上)にあるサブルーチン手続きを実行することを可能にする技術。その際に遠隔相互作用の詳細を明示的にコーディングする必要がない。つまり、プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについても行う。遠隔手続き呼出しを行うソフトウェアがオブジェクト指向プログラミングに基づく場合、遠隔手続き呼出しのことを リモート呼び出し: remote invocation)あるいは リモートメソッド呼び出し: remote method invocation: RMI)と呼ぶこともある(Java RMIなど)。

遠隔手続き呼出しには例えば、ONC RPCDCE/RPCといった互いに非互換な様々な技術が存在する。

起源と歴史

遠隔手続き呼出し (RPC) の考え方は、少なくともRFC 707が発表された1976年まで遡る。最初にRPCを商用に実用化したのはゼロックスの「Courier」であり、1981年のことであった。UNIXで最初に広く使われるようになったRPC実装はサン・マイクロシステムズのRPC (ONC RPC) であり、NFSの基盤として使われた。ONC RPCは現在でも広く使われている。

もう一つのUNIXでの初期の実装として、アポロコンピュータNetwork Computing System (NCS) がある。NCSは後にOSFDistributed Computing Environment (DCE) でDCE/RPCの基盤として使われた。その約10年後、マイクロソフトがDCE/RPCを同社のRPC (MSRPC) の基盤として採用し、DCOMの実装に使った。同じころ(1990年代中盤)、継承機構を備えた分散オブジェクトに関するRPCパラダイムとして、パロアルト研究所ILUObject Management GroupCORBAが登場した。

メッセージパッシング

RPCクライアントは、実行する手続きと引数とを要求メッセージとして既知のリモートサーバに送信することで、RPCを開始する。同期型のRPCでは、サーバーがRPCを処理している間、クライアント側は応答があるまで待機する(呼び出しはブロックされる)。サーバー上でメッセージが処理され、応答がクライアントに戻ってくると、クライアント上のプロセスは処理を続行する。非同期型のRPCでは、クライアント側からの呼び出し後、クライアントは応答を待たず、次の処理を続行できる。サーバーからの応答はコールバックによって通知される。サーバーあるいはクライアントが低速の場合や、大量のデータを転送する必要がある場合などに、同期RPCでは制限および問題があるが、非同期RPCではそれらを解決することができる[1]

RPCプロトコルの実装によって微妙な違いをもった多くのバリエーションがあり、それらの間には互換性がない。

RPCが通常のローカル呼び出しと比べて違う点で重要なのは、予測できないネットワーク上の問題で失敗することがあるという点である。またそのような場合、手続きが実際に実行されたかどうかをクライアントが知ることができないことがある。そういったケースでは、二重に手続きを実行しても影響のない場合は容易に対処できるが、そうでなければ適切な対処は困難である。そのため、注意深く記述された低レベルなサブシステムの制限下で呼び出しコードを実行するという方法がよくとられる。各種操作にタイムアウト時間を設け、タイムアウト時間内に応答(処理)がなされなかった場合は例外をスローする方式になっているAPIもある[2]

標準コンタクト機構

各種クライアントからサーバへのアクセスを可能とするため、いくつかの標準RPCシステムが開発されてきた。それらの多くはインタフェース記述言語 (IDL) を使って各種プラットフォーム間のRPCを可能としている。

IDLファイルはクライアントとサーバ間のインタフェースのためのコードを生成するのに使われる。最も一般的なツールとしてはRPCGENがある。

遠隔手続き呼出しの各種技術および規格

  • JavaJava RMI APIは、標準的UNIX RPCとほぼ同等の機能を提供する。
  • XML-RPCは、呼び出しをXMLで符号化し、HTTPを通信プロトコルに使用するRPCプロトコルである。
  • マイクロソフトのDCOMは、COMベースの分散型オブジェクト指向RPC技術。.NETの各種RPCによって代替されており、非推奨。
  • マイクロソフトの.NET Remotingは、Windowsプラットフォーム上に実装された分散システムでのRPC機能を提供するものである。非推奨のレガシー技術。
  • マイクロソフトのWCFは、.NET Remotingの代替となるRPC機構。.NET Framework 3.0で導入されたが、.NET Coreには完全移植されていない。
  • JSON-RPCは、符号化にJSONを用いる、2000年代後半に制定された非常にシンプルなRPCプロトコルである。
  • GooglegRPCは、Protocol BuffersHTTP/2を用いた2010年代のWeb技術によるRPCである。

脚注

関連項目

参考文献

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。


遠隔手続き呼出し

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/09 05:46 UTC 版)

Amoeba (オペレーティングシステム)」の記事における「遠隔手続き呼出し」の解説

遠隔手続き呼出し(RPCリモートプロシージャコール)は、2地点間の通信であり、クライアントサーバ要求 (リクエスト) メッセージ送信し、そしてサーバクライアント応答 (レスポンス) メッセージ返信する、というように構成されている。クライアント側は、要求メッセージサーバ送信すると、サーバから応答メッセージ受信するまで、ブロックされる標準的なサーバごとに、クライアントから呼び出すためのインタフェース定義されている。クライアントは、このインタフェースにしたがってスタブ通してサーバ通信するクライアントは、スタブインタフェース定義されたとおりに、サーバ引数含んだ要求メッセージ送信しスタブインタフェース定義されたとおりの形式で、サーバから応答メッセージ受信する

※この「遠隔手続き呼出し」の解説は、「Amoeba (オペレーティングシステム)」の解説の一部です。
「遠隔手続き呼出し」を含む「Amoeba (オペレーティングシステム)」の記事については、「Amoeba (オペレーティングシステム)」の概要を参照ください。

ウィキペディア小見出し辞書の「遠隔手続き呼出し」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「遠隔手続き呼出し」の関連用語

遠隔手続き呼出しのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



遠隔手続き呼出しのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの遠隔手続き呼出し (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのAmoeba (オペレーティングシステム) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS