sod 1998-11-19andré ribeiro, claudia carvalho, nuno paiva rpc implementing remote procedure calls...

39
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD RPC RPC IMPLEMENTING REMOTE PROCEDURE CALLS IMPLEMENTING REMOTE PROCEDURE CALLS André Ribeiro André Ribeiro Claudia Claudia Carvalho Carvalho Nuno Paiva Nuno Paiva Apresentado Apresentado por: por: Andrew D. Birrell and Bruce Jay Andrew D. Birrell and Bruce Jay Nelson Nelson

Upload: internet

Post on 21-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

RPCRPCIMPLEMENTING REMOTE PROCEDURE IMPLEMENTING REMOTE PROCEDURE CALLSCALLS

•André RibeiroAndré Ribeiro

•Claudia CarvalhoClaudia Carvalho

•Nuno PaivaNuno Paiva

Apresentado Apresentado por:por:

Andrew D. Birrell and Bruce Jay Andrew D. Birrell and Bruce Jay NelsonNelson

Page 2: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

André RibeiroAndré Ribeiro

[email protected]@cern.ch

Page 3: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ConteúdoConteúdo

•INTRODUÇÃO AOS RPCINTRODUÇÃO AOS RPC

•DESCRIÇÃO DA CONCRETIZAÇÃO DESCRIÇÃO DA CONCRETIZAÇÃO

ESTUDADAESTUDADA

•CONCLUSÕESCONCLUSÕES

Page 4: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

OBJECTIVOOBJECTIVOPermitir que programas chamem procedimentos Permitir que programas chamem procedimentos em outras máquinas.em outras máquinas.

Como ?Como ?•ClienteCliente

•Stub do ClienteStub do Cliente

•Pacote de Pacote de ComunicaçãoComunicação

•Stub do ServidorStub do Servidor

•ServidorServidor

Page 5: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Call PacketCall Packet

Result PacketResult Packet

UserUserUserUser

stubstubRPCRPC

RuntimeRuntime

locallocal

callcall

local local

returnreturn

packpack

argumentargumenttransmittransmit

waitwait

receivereceiveunpackunpack

argumentargument

packpack

resultresult

callcall

workwork

returnreturn

unpackunpack

resultresultreceivereceive

transmittransmit

serverserverserverserver

stubstubRPCRPC

RuntimeRuntime

FUNCIONAMENTOFUNCIONAMENTO

Caller MachineCaller Machine Callee MachineCallee Machine

Page 6: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

PROBLEMASPROBLEMAS

•PASSAGEM DE PARAMETROSPASSAGEM DE PARAMETROS

•BINDINGBINDING

•FALHASFALHAS

•PROTOCOLO DE COMUNICAÇÕESPROTOCOLO DE COMUNICAÇÕES

Page 7: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Claudia CarvalhoClaudia Carvalho

[email protected]@hotmail.com

Page 8: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Servidor disponibiliza o seu interface

Page 9: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server invoca Server Stub

Page 10: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server Stub chama Exportinterface no RPCRuntime

Page 11: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Exportinterface invoca Grapevine

Page 12: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

RPCRuntime grava numa tabela informação sobre o interface

Page 13: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Page 14: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Cliente procura servidor

Page 15: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server chama user stub

Page 16: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

User Stub invoca Importinterface no RPCRuntime

Page 17: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

RPCRuntime procura no Grapevine o tipo de interface desejado

Page 18: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Grapevine envia ao RPCRuntime o endereço do servidor

Page 19: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

User RPCRuntime envia pacote de binding ao Server RPCRuntime

Page 20: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Tabela do Server RPCRuntime envia identif. único e tabela indexada

Page 21: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Cliente guarda identif. e tabela indexada para posteriores chamadas

Page 22: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Cliente estabelece ligação com o servidor

Page 23: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Cliente faz uma chamada

Page 24: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Stub empacota mensagem contendo o identificador do interface

Page 25: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

User RPCRuntime transmite mensagem

Page 26: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server RPCRuntime utiliza tabela para verificar identificador

Page 27: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server Stub desempacota chamada

Page 28: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ServerStubRPCRuntimeServer Stub RPCRuntime

Server executa o interface

Page 29: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Efeitos deste tipo de Efeitos deste tipo de esquemaesquema

Importação de InterfaceImportação de Interface Identificador únicoIdentificador único Chamadas em procedimentos Chamadas em procedimentos

exportados pelo RPC exportados pelo RPC

Page 30: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Protocolo de comunicaçõesProtocolo de comunicações

PUP byte streams; Xerox NS “Courier”PUP byte streams; Xerox NS “Courier” Desenhado para este projectoDesenhado para este projecto

Page 31: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Nuno PaivaNuno Paiva

[email protected]@yahoo.com

Page 32: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Enviar Chamada

Processamento

Enviar Resultado

ZZZZZ

Chamada SimplesChamada Simples

Page 33: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Chamada SimplesChamada Simples

Page 34: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Chamada ComplexaChamada ComplexaSend #1Send #1

Send #2Send #2

Send ACK#1Send ACK#1

Page 35: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Tratamento de ExcepçõesTratamento de Excepções

Send #1Send #1

Send ERROR#1Send ERROR#1

Page 36: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

Gestão de ProcessosGestão de Processos

5 Processos Idle

Page 37: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

SegurançaSegurança

Page 38: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

ConclusõesConclusões

Page 39: SOD 1998-11-19André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho

1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD

QuestõesQuestões