Buscar

Unidade IV - Chamada de Procedimento Remoto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTÁCIO DE SÁ
REDES DE COMPUTADORES
SISTEMAS DE INFORMAÇÃO
Arquitetura de Sistemas Distribuídos
Prof. Fernando André
fandre_2005@yahoo.com.br
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Remote Procedure Call – RPC
É um Middleware, é uma coleção de ferramentas (bibliotecas e protocolos) com o
objetivo de tornar a programação de sistemas distribuídos mais próxima da
programação de sistemas monoprocessados.
Estrutura a programação distribuída com base na chamada pelos clientes de
procedimentos que são executados remotamente no servidor.
Permite que processos executem funções pertencentes a processos que rodam em
outras máquinas.
Deve ser transparente ao programador, que não necessita tratar de forma especial
uma rotina executada remotamente, ou seja, a RPC deve ser idêntica à chamada de
uma rotina local.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Birrell and Nelson (1984)
“Permite a processos chamar procedimentos localizados em outras
máquinas”.
Desenvolvedor não precisa se preocupar mais com detalhes de
implementação de rede.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Problemas: 
• Arquiteturas de duas máquinas podem ser diferentes;
• Espaço de endereçamento diversos;
• Passagem de parâmetros. 
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Transparência
A idéia fundamental é fazer com que uma chamada de procedimento
remoto pareça com uma chamada local.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Similar ao modelo de chamadas locais de procedimentos
• Rotina que invoca o procedimento coloca os argumentos em uma
área de memória e transfere o controle para o procedimento em
execução, que lê os argumentos e os processa.
• Em algum momento, a rotina retoma o controle, extraindo o
resultado da execução de uma área da memória. Após isso, a rotina
prossegue com a execução normal.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Thread é responsável pelo controle de dois processos:
• Invocador e Servidor.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Invocador
O processo invocador primeiro manda uma mensagem para o processo
servidor e aguarda uma mensagem de resposta.
A mensagem de invocação contém os parâmetros do procedimento e a
mensagem de resposta contém o resultado da execução do procedimento.
Uma vez que a mensagem de resposta é recebida, os resultados da
execução do procedimento são coletados e a execução do invocador
prossegue.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Servidor
Do lado do servidor, um processo permanece em espera até a chegada de
uma mensagem de invocação.
Quando uma mensagem de invocação é recebida, o servidor extrai os
parâmetros, processa-os e produz os resultados, que são enviados na
mensagem de resposta.
O servidor, então, volta a esperar por uma nova mensagem de invocação.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Transparência conseguida com o uso de stubs (apêndices)
Stub do cliente
É responsável por empacotar os parâmetros em uma msg e enviar a msg
para a máquina do servidor. Quando resposta chega, resultado é copiado
para cliente, e controle volta a ele
Stub do servidor
É responsável por desempacotar parâmetros, chamar o procedimento do
servidor e retornar resposta para máquina do cliente
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Cliente
Chamada Empacota
Parâmetros
Desempacota
ResultadoRetorno
Desempacota
Parâmetros
Servidor
Empacota
Resultado
Chamada
Retorno
Máquina Cliente Máquina Servidora
Stub do ServidorStub do Cliente
Transporte de mensagens
na rede
SO SO
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Passos seguidos por um RPC:
1. Procedimento do cliente chama stub cliente de modo usual;
2. Stub do cliente constrói uma msg e chama o SO;
3. SO envia msg para SO remoto;
4. SO remoto repassa msg para stub do servidor;
5. Stub do servidor desempacota parâmetros e chama procedimento
servidor;
6. Procedimento servidor executa e retorna o resultado;
7. Stub do servidor empacota resultado em uma msg e chama SO;
8. SO remoto envia msg para SO da máquina cliente;
9. SO do cliente passa msg para stub cliente;
10.Stub cliente desempacota resultado, repassando-o para o cliente.
Arquitetura de Sistemas Distribuídos
Comunicação nos Sistemas Distribuídos
Chamada a Procedimento Remoto
Possíveis falhas no servidor:
• O cliente não consegue localizar o servidor;
• A mensagem de requisição do cliente para o servidor é perdida;
• A mensagem de resposta do servidor para o cliente é perdida;
• O servidor falha depois de receber uma requisição;
• O cliente falha depois de fazer uma requisição.

Outros materiais