Como funciona?

O modelo de funcionamento de uma chamada de procedimento remoto é similar ao de uma chamada de procedimento local. No modelo local, os argumentos são passados para o procedimento por um local específico, como um registrador. Então o controle é passado ao processo. Eventualmente o controle volta ao processo que disparou o procedimento e sua execução continua.

O RPC trabalha de maneira parecida, em que o controle muda entre dois processos: o processo cliente e o processo servidor. Primeiramente o processo cliente envia uma mensagem que contém os parametros do procedimento para o servidor e passa a esperar uma resposta. Em seguida, um processo do lado do servidor, que estava inativo até a chegada da mensagem, extrái os parametros, computa os resultados e então envia uma mensagem de resposta e passa a esperar a próxima chamada. Quando o processo cliente recebe a resposta, ele extrái os resultados da mensagem e resume sua execução.

Nesse modelo RPC, apenas um dos dois processos, cliente e servidor, estão ativos em um determinado momento. Entretanto o protocolo RPC não faz restrições à implementação de um modelo concorrente. Uma implementação pode ser assíncrona e permitir que o cliente continue em execução enquanto aguarda a resposta ou que o servidor atenda a mais de uma requisição de procedimento.