5) Come viene implementato il meccanismo delle RPC?
Il meccanismo delle RPC è classificabile in due categorie, secondo il grado di trasparenza.
Open Network Computing (ONC): chiamata RPC Sun (diversa dalla locale, quindi non trasparenza): primitiva callrpc().
Parametri necessari:
- nome del nodo remoto
- identificatore della procedura da eseguire
- specifiche di trasformazione degli argomenti (eXternal Data Representation XDR)
Schema del modello ONC
Network Computing Architecture (NCA):
Ai due lati della comunicazione, client e server.
Routines stub per ottenere la trasparenza .
Chiamate locali allo stub.
Gli stub sono forniti dall'implementazione (generati automaticamente).
Le parti di programma sono "del tutto" inalterate, ci si dirige verso lo stub che nasconde le operazioni.
COSTO: due messaggi per RPC
Mercury ottimizza i messaggi con stream di chiamate.
Schema del modello NCAIn Unix le RPC sfruttano i servizi delle socket, sia TCP per stream (servizi con connessione) che UDP per datagrammi (servizi senza connessione).