400 likes | 545 Views
RPC. IMPLEMENTING REMOTE PROCEDURE CALLS. Andrew D. Birrell and Bruce Jay Nelson. Apresentado por:. André Ribeiro Claudia Carvalho Nuno Paiva. André Ribeiro. Andre.Ribeiro@cern.ch. Conteúdo. INTRODUÇÃO AOS RPC DESCRIÇÃO DA CONCRETIZAÇÃO ESTUDADA CONCLUSÕES. OBJECTIVO.
E N D
RPC IMPLEMENTING REMOTE PROCEDURE CALLS Andrew D. Birrell and Bruce Jay Nelson Apresentado por: • André Ribeiro • Claudia Carvalho • Nuno Paiva André Ribeiro, Claudia Carvalho, Nuno Paiva
André Ribeiro Andre.Ribeiro@cern.ch André Ribeiro, Claudia Carvalho, Nuno Paiva
Conteúdo • INTRODUÇÃO AOS RPC • DESCRIÇÃO DA CONCRETIZAÇÃO ESTUDADA • CONCLUSÕES André Ribeiro, Claudia Carvalho, Nuno Paiva
OBJECTIVO Permitir que programas chamem procedimentos em outras máquinas. Como ? • Cliente • Stub do Cliente • Pacote de Comunicação • Stub do Servidor • Servidor André Ribeiro, Claudia Carvalho, Nuno Paiva
FUNCIONAMENTO Caller Machine Callee Machine User stub server stub RPC Runtime RPC Runtime User server Call Packet local call pack argument transmit unpack result call receive wait work Result Packet local return unpack argument pack result return receive transmit André Ribeiro, Claudia Carvalho, Nuno Paiva
PROBLEMAS • PASSAGEM DE PARAMETROS • BINDING • FALHAS • PROTOCOLO DE COMUNICAÇÕES André Ribeiro, Claudia Carvalho, Nuno Paiva
Claudia Carvalho Cicarvalho@hotmail.com André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Servidor disponibiliza o seu interface André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server invoca Server Stub André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server Stub chama Exportinterface no RPCRuntime André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Exportinterface invoca Grapevine André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server RPCRuntime grava numa tabela informação sobre o interface André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Cliente procura servidor André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server chama user stub André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server User Stub invoca Importinterface no RPCRuntime André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server RPCRuntime procura no Grapevine o tipo de interface desejado André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Grapevine envia ao RPCRuntime o endereço do servidor André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server User RPCRuntime envia pacote de binding ao Server RPCRuntime André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Tabela do Server RPCRuntime envia identif. único e tabela indexada André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Cliente guarda identif. e tabela indexada para posteriores chamadas André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Cliente estabelece ligação com o servidor André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Cliente faz uma chamada André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Stub empacota mensagem contendo o identificador do interface André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server User RPCRuntime transmite mensagem André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server RPCRuntime utiliza tabela para verificar identificador André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server Stub desempacota chamada André Ribeiro, Claudia Carvalho, Nuno Paiva
Server Stub RPCRuntime RPCRuntime Stub Server Server executa o interface André Ribeiro, Claudia Carvalho, Nuno Paiva
Efeitos deste tipo de esquema • Importação de Interface • Identificador único • Chamadas em procedimentos exportados pelo RPC André Ribeiro, Claudia Carvalho, Nuno Paiva
Protocolo de comunicações • PUP byte streams; Xerox NS “Courier” • Desenhado para este projecto André Ribeiro, Claudia Carvalho, Nuno Paiva
Nuno Paiva nmpaiva@yahoo.com André Ribeiro, Claudia Carvalho, Nuno Paiva
Chamada Simples Processamento ZZZZZ Enviar Chamada Enviar Resultado
Chamada Complexa Send #1 Send ACK#1 Send #2
Tratamento de Excepções Send #1 Send ERROR#1
Gestão de Processos 5 Processos Idle