遠隔手続き呼出し
RPCクライアントは、実行する手続きと引数とを要求メッセージとして既知のリモートサーバに送信することで、RPCを開始する。同期型のRPCでは、サーバーがRPCを処理している間、クライアント側は応答があるまで待機する(呼び出しはブロックされる)。サーバー上でメッセージが処理され、応答がクライアントに戻ってくると、クライアント上のプロセスは処理を続行する。非同期型のRPCでは、クライアント側からの呼び出し後、クライアントは応答を待たず、次の処理を続行できる。サーバーからの応答はコールバックによって通知される。サーバーあるいはクライアントが低速の場合や、大量のデータを転送する必要がある場合などに、同期RPCでは制限および問題があるが、非同期RPCではそれらを解決することができる。
RPCプロトコルの実装によって微妙な違いをもった多くのバリエーションがあり、それらの間には互換性がない。
RPCが通常のローカル呼び出しと比べて違う点で重要なのは、予測できないネットワーク上の問題で失敗することがあるという点である。またそのような場合、手続きが実際に実行されたかどうかをクライアントが知ることができないことがある。そういったケースでは、二重に手続きを実行しても影響のない場合は容易に対処できるが、そうでなければ適切な対処は困難である。そのため、注意深く記述された低レベルなサブシステムの制限下で呼び出しコードを実行するという方法がよくとられる。各種操作にタイムアウト時間を設け、タイムアウト時間内に応答(処理)がなされなかった場合は例外をスローする方式になっているAPIもある。