Page 1
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
André RibeiroAndré Ribeiro
[email protected] @cern.ch
Page 3
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
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
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
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Claudia CarvalhoClaudia Carvalho
[email protected] @hotmail.com
Page 8
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Servidor disponibiliza o seu interface
Page 9
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server invoca Server Stub
Page 10
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server Stub chama Exportinterface no RPCRuntime
Page 11
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Exportinterface invoca Grapevine
Page 12
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
RPCRuntime grava numa tabela informação sobre o interface
Page 13
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Page 14
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente procura servidor
Page 15
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server chama user stub
Page 16
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User Stub invoca Importinterface no RPCRuntime
Page 17
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
RPCRuntime procura no Grapevine o tipo de interface desejado
Page 18
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Grapevine envia ao RPCRuntime o endereço do servidor
Page 19
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User RPCRuntime envia pacote de binding ao Server RPCRuntime
Page 20
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente guarda identif. e tabela indexada para posteriores chamadas
Page 22
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente estabelece ligação com o servidor
Page 23
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente faz uma chamada
Page 24
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Stub empacota mensagem contendo o identificador do interface
Page 25
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User RPCRuntime transmite mensagem
Page 26
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server RPCRuntime utiliza tabela para verificar identificador
Page 27
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server Stub desempacota chamada
Page 28
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server executa o interface
Page 29
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
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Nuno PaivaNuno Paiva
[email protected] @yahoo.com
Page 32
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Enviar Chamada
Processamento
Enviar Resultado
ZZZZZ
Chamada SimplesChamada Simples
Page 33
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Chamada SimplesChamada Simples
Page 34
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
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Gestão de ProcessosGestão de Processos
5 Processos Idle
Page 37
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
SegurançaSegurança
Page 38
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ConclusõesConclusões
Page 39
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
QuestõesQuestões