sod 1998-11-19andré ribeiro, claudia carvalho, nuno paiva rpc implementing remote procedure calls...
TRANSCRIPT
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
André RibeiroAndré Ribeiro
[email protected]@cern.ch
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
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
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
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Claudia CarvalhoClaudia Carvalho
[email protected]@hotmail.com
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Servidor disponibiliza o seu interface
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server invoca Server Stub
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server Stub chama Exportinterface no RPCRuntime
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Exportinterface invoca Grapevine
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
RPCRuntime grava numa tabela informação sobre o interface
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente procura servidor
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server chama user stub
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User Stub invoca Importinterface no RPCRuntime
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
RPCRuntime procura no Grapevine o tipo de interface desejado
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Grapevine envia ao RPCRuntime o endereço do servidor
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User RPCRuntime envia pacote de binding ao Server RPCRuntime
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Tabela do Server RPCRuntime envia identif. único e tabela indexada
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente guarda identif. e tabela indexada para posteriores chamadas
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente estabelece ligação com o servidor
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Cliente faz uma chamada
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Stub empacota mensagem contendo o identificador do interface
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
User RPCRuntime transmite mensagem
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server RPCRuntime utiliza tabela para verificar identificador
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server Stub desempacota chamada
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ServerStubRPCRuntimeServer Stub RPCRuntime
Server executa o interface
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
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Nuno PaivaNuno Paiva
[email protected]@yahoo.com
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Enviar Chamada
Processamento
Enviar Resultado
ZZZZZ
Chamada SimplesChamada Simples
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Chamada SimplesChamada Simples
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Chamada ComplexaChamada ComplexaSend #1Send #1
Send #2Send #2
Send ACK#1Send ACK#1
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
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
Gestão de ProcessosGestão de Processos
5 Processos Idle
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
SegurançaSegurança
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
ConclusõesConclusões
1998-11-19 André Ribeiro, Claudia Carvalho, Nuno Paiva SOD
QuestõesQuestões