A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

RPC Remote Procedure Call

Apresentações semelhantes


Apresentação em tema: "RPC Remote Procedure Call"— Transcrição da apresentação:

1 RPC Remote Procedure Call
Alcides Calsavara

2 Chamada de Procedimentos Remotos (RPC)
Motivação: comunicação baseada em operações de entrada/saída: abstração fraca, sujeito a erros Ideal: programar um sistema distribuído como se fosse centralizado RPC objetiva permitir chamada de procedimento remoto como se fosse local, ocultando entrada/saída de mensagens

3 Visão geral Um processo A chama um procedimento p de um processo B, entrando em estado de espera O processo B passa a executar o procedimento p, e ao seu término faz um reply para o processo A O processo A volta à sua execução normal após ter recebido o reply

4 Transmissão de dados Dados em programas são estruturados enquanto que mensagens carregam informação sequencial: » Linearização/Restauração de dados Heterogeneidade na representação de dados em computadores: » Uso de um formato externo comum » Inclusão de uma identificação de arquitetura na mensagem

5 Marshalling/Unmarshalling
Linearização de uma coleção de itens de dados estruturados Tradução dos dados em formato externo Unmarshalling: Tradução do formato externo para o local Restauração dos itens de dados de acordo com sua estrutura

6 Chamadas e mensagens em RPC
Máquina do Cliente Máquina do Servidor 2 4 1 empacota parâmetros desempacota parâmetros 5 6 cliente servidor desempacota resultados empacota resultados 7 11 10 8 Kernel Kernel 3 transporte de mensagens via rede 9

7 Funções dos Stubs Client stub intercepta a chamada
empacota os parâmetros (marshalling) envia mensagem de request ao servidor (através do núcleo) Server stub recebe a mensagem de request (através do núcleo) desempacota os parâmetros (unmarshalling) chama o procedimento, passando os parâmetros empacota o resultado envia mensagem de reply ao cliente (através do núcleo) recebe a mensagem de reply (através do núcleo) desempacota o resultado passa o resultado para o cliente

8 Falhas em RPC O cliente não é capaz de localizar o servidor
A mensagem de request do cliente para o servidor é perdida A mensagem de reply do servidor para o cliente é perdida O servidor pára após ter recebido a mensagem de request O cliente pára após ter enviado a mensagem de request

9 Falha do servidor Passos normais: recebe mensagem de request
executa procedimento envia mensagem de reply Falha pode ocorrer: após a execução antes da execução Semânticas de chamada: pelo menos um no máximo um exatamente um

10 Falha do cliente O servidor torna-se um “órfão” Soluções:
exterminação do servidor pela máquina do cliente reencarnação do cliente: toda computação remota é destruída "reencarnação" suave do cliente: somentes as computações remotas referentes a aquele cliente são destruídas expiração: servidor estabele um timeout para confirmação


Carregar ppt "RPC Remote Procedure Call"

Apresentações semelhantes


Anúncios Google