Dado que os procedimentos são executados em máquinas diferentes, alguns

aspectos devem ser levados em consideração.
A semântica da passagem de parâmetros deve ser adaptada;
Parâmetros devem ser traduzidos caso as duas máquinas não sejam
idênticas;
As duas máquinas podem falhar causando problemas tanto o cliente como o
servidor, e a rede também.
Cliente pode não localizar o servidor: problema de hardware ou
indisponível.
Perda de mensagem solicitando serviço: usando contador de tempo, se
deu o tempo e não recebeu a mensagem pode re-transmitir.
Perda da mensagem com a resposta: pode ser resolvido com um
temporizador, se não conseguir a resposta ele retransmite novamente.
Queda do servidor: Num servidor a ordem normal dos eventos é receber a

solicitação, executar o procedimento e responder. Assim uma parada no servidor pode
acontecer após a execução, ou antes, da execução do procedimento. Existe a técnica de
é chamado de semântica que garante que a chamada remota foi executada apenas uma
vez.
Queda do cliente: Quando o cliente manda a solicitação e fica indisponível
ou fora do ar para recebe-la.
Por valor (fd e nbytes): O parâmetro é copiado para a pilha.
Mudanças em seu valor não afetam quem chamou o procedimento;
Por referência (buf): É copiado para a pilha a referência ao
Parâmetro, isto é, um apontador (endereço de memória) da variável.
Portanto, Alterações em seu valor no procedimento chamado afeta
quem o chamou;
Copy/restore: O parâmetro é copiado para a pilha e depois da
chamada copiado de volta, sobrescrevendo o valor original.
Normalmente possui a mesma semântica da cópia por referência
exceto em situações como o mesmo parâmetro sendo enviado mais de
uma vez.

O mecanismo RPC está integrado com a linguagem de programação que inclui
uma notação para a definição de interfaces. O RPC utiliza uma linguagem de propósito
especial IDL com a função de definir a interface a ser chamada pelo cliente e
implementada no servidor. Uma interface definida por IDL é compilada para gerar um
apêndice de cliente e um apêndice de servidor e que não está amarrada a nenhum
ambiente de linguagem em particular.
O IDL especifica aquelas características do Servidor visíveis ao cliente:
descrevem os procedimentos do servidor, seus parâmetros, tipos e quando são de
entrada, saída, ou entrada/saída. Compilador IDL pode gerar os stubs cliente e servidor
de forma automática a partir da especificação formal do servidor.
Pode-se concluir então que o RPC permite a um cliente o acesso a um serviço
remoto por meio de uma simples chamada a um procedimento local, possibilita que

pode localizar automaticamente o servidor correto e estabelece a comunicação entre software cliente e software servidor.programas clientes sejam escritos de modo simples. .