Professional Documents
Culture Documents
Faculdade de Computao
Bacharelado em Cincia da Computao
Motivao
Estender a noo da chamada de procedimento local para
a remota;
Aula de Laboratrio:
Remote Procedure Calls (RPC)
Introduo
Em uma chamada local, um processo faz uma requisio
para um outro processo e envia argumentos definidos;
O processo que recebeu a chamada ir executar alguma
operao e devolver o resultado para o processo que o
chamou;
A chamada de procedimento remota similar, mas os
processos podem estar no mesmo sistema ou em diferentes
sistemas conectados em uma rede;
Introduo
Introduo
Por causa da sua independncia quanto ao mtodo de
transporte das mensagens, o protocolo RPC no possui
qualquer garantia de entrega;
Isso ser tarefa do protocolo de transporte ou da aplicao;
Se utilizar o TCP: A comunicao ser confivel e nenhum
trabalho adicional precisar ser feito pela aplicao;
Se utilizar o UDP: A aplicao provavelmente ter de
implementar algum tratamento para garantir a entrega da
mensagem, como:
Controle interno de tempo de espera;
Retransmisso;
Deteco de pacotes duplicados;
O Funcionamento do RPC
O Funcionamento do RPC
Um processo faz uma chamada a uma funo ou
procedimento remoto, envia argumentos na mensagem e
aguarda a resposta;
A funo remota recebe os argumentos, processa
instrues e devolve uma resposta para o processo
solicitante;
O detalhe especial que entre as aplicaes existe uma rede;
O Funcionamento do RPC
Cada procedimento remoto identificado de forma nica
pelo nmero do programa, nmero de verso e nmero de
procedimento;
Um nmero de programa identifica o conjunto de
procedimentos remotos correlacionados;
Cada nmero de programa pode ter um nmero de verso
que tambm pode conter um ou mais procedimentos
remotos, cada qual com um nmero exclusivo;
O Funcionamento do RPC
Cada sistema tem o seu mtodo de escolha de qual
nmero de porta utilizar para cada processo;
Salvar: calculadora.x
Verso do programa.
Identificao
Salvar: calculadora_servidor.c
Salvar: calculadora_cliente.c
A funo clnt_call
utilizada para fazer uma
chamada de procedimento
remoto
para
os
procedimentos somar e
subtrair
definidos
no
protocolo calculadora.x;
Compilar:
gcc calculadora_cliente.c calculadora_clnt.c calculadora_xdr.c o
cliente-calculadora -lnsl
(Aplicao Cliente)
(Interface Cliente)
(Definies de Dados)
Executar:
ps aux | grep portmap
Executar:
./servidor &
Concluso
As possibilidades que a programao de aplicaes
distribudas usando o RPC abre muito grande;
Os programas no precisam lidar com as interfaces de baixo
nvel de rede;
Nem com as preocupaes de como a mensagem dever ser
enviada ou recebida entre as aplicaes;
Trabalho Final
Disponibilizar um servio que seja implementado utilizando RPC;
No pode ser implementado o servio Calculadora (ou similar);
Trabalho Final
Pontuao:
Artigo: 5.0 pts.
Slides: 3.0 pts.
Tempo e Ordem: 2.0 pts.
Apresentao: 5.0 pts.
Servios Implementados: 5.0 pts.
Entrega:
Data: 29/04/2016.