RPC-Modell
Das RPC-Modell (Remote Procedure Call) ähnelt einem lokalen Prozeduraufrufmodell. Im lokalen Modell platziert der Aufrufende Argumente für eine Prozedur an einer angegebenen Position, beispielsweise in einem Ergebnisregister.
Anschließend überträgt der Aufrufende die Steuerung an die Prozedur. Der Aufrufende erhält schließlich die Steuerung zurück, extrahiert die Ergebnisse der Prozedur und setzt die Ausführung fort.
RPC funktioniert ähnlich, da ein Steuerthread logisch zwei Prozesse durchläuft: den aufrufenden Prozess und den Serverprozess. Zuerst sendet der aufrufende Prozess eine Aufrufnachricht, die die Prozedurparameter an den Serverprozess enthält. Anschließend wartet der aufrufende Prozess auf eine Antwortnachricht (blockiert). Als Nächstes extrahiert ein serverseitiger Prozess, der bis zum Eintreffen der Aufrufnachricht inaktiv ist, die Prozedurparameter, berechnet die Ergebnisse und sendet eine Antwortnachricht. Der Server wartet auf die nächste Aufrufnachricht. Schließlich empfängt ein Prozess auf dem Aufrufenden die Antwortnachricht, extrahiert die Ergebnisse der Prozedur und der Aufrufende setzt die Ausführung fort.
Die Abbildung zum Remote Procedure Call Flow (Abbildung 1) veranschaulicht das RPC-Paradigma.

Im RPC-Modell ist jeweils nur einer der beiden Prozesse aktiv. Außerdem ist dieses Modell nur ein Beispiel. Das RPC-Protokoll macht keine Einschränkungen für das Parallelitätsmodell implementiert, und andere sind möglich. Eine Implementierung kann beispielsweise asynchrone Fernprozeduraufrufe auswählen, sodass der Client weiter arbeiten kann, während er auf eine Antwort vom Server wartet. Außerdem kann der Server eine Task erstellen, um eingehende Anforderungen zu verarbeiten und somit frei für den Empfang anderer Anforderungen zu bleiben.