Escolar Documentos
Profissional Documentos
Cultura Documentos
▶ Q uais os problem as ?
▶ – Baseado e m E/S
▶ – Erro propagado e m Sistemas Distribuídos
▶ – Difícil implementação
▶ – Não são amigáveis – foge da programação
convencional (estruturado, OO, etc.)
▶ – Diferente da proposta de Sistemas
Distribuídos
▶ Parecer u m Sistema Centralizado
1
Conceito
▶ Trans parência
remota
▶ – Retorno das informações para o processo
“chamador”
▶ – Conhecido como chamada remota de
procedimento ou RPC
2
Conceito
3
Problemas
tipos de dados
▶ Problem as no s ervidor
▶ Problem as no cliente
4
Características
▶ Funcionam ento
▶ – Cham ada ao s tub do cliente
▶ Versão no cliente res pons ável por
iniciar a RPC
▶ Es ta versão recebe os parâm etros do
procedimento e empacota para envio ao
servidor, usando send
▶ Após o envio, fica bloqueado (em
receive) esperando a resposta do
5 servidor
Características
▶ Funcionamento
▶ – No servidor, existe o stub do servidor
▶ Serviço de S O responsável por receber u m
pacote de informações remotas
▶ Verifica para qual s erviço, e executa de acordo
com os parâmetros recebidos
▶ Envia de volta ao cliente, através de send
6
Características
▶ Funcionamento
7
Características
8
Características
1. procedimento chama o stub de cliente (forma normal)
2. stub constrói a m e n s a g e m e faz u m send (trap ao kernel)
3. o kernel envia a m e n s a g e m para a máquina remota
4. o kernel remoto entrega a m e n s a g e m ao stub do servidor
5. o stub desempacota a m e n s a g e m e chama o “servidor”
6. o servidor realiza a tarefa e retorna ao stub
7. o stub do servidor empacota o retorno e faz u m send para
o cliente
8. o kernel remoto envia a m e n s a g e m ao kernel do cliente
9. o kernel do cliente entrega a m e n s a g e m ao stub do
cliente
10. o stub desempacota a m e n s a g e m e entrega ao cliente
9
Parâmetros
▶ Pas s agem por v alor
▶ – Cópia do valor do parâmetro, mantendo
o original
▶ Pas s agem por referência
▶ – U so de endereço de m em ória
▶ Pas s agem por
cópia/res taura
▶ – Copia o valor, e após sua modificação,
sobrescreve o valor original
10
Parâmetros
Interchang e Code
▶ • M ainframe s e PCs
▶ S erv idor
▶ – Ao s er executado, av is a ao program a
de registro (binder) que está ativo:
registro do serviço
▶ C liente
▶ – Q uando um procedim ento é cham ado,
este se liga ao servidor, utilizando
o binder como intermediário
16
Binding Dinâmico
▶ Vantag ens
▶ – D iv erso s s erv idores com a m esm a “interface”
▶ – Servidores que falham são automaticamente
“desregistrados”
▶ – Autenticação de usu ários/clientes
▶ D es va ntag ens
▶ – O v erhead de cons ulta ao binder
▶ – Diversos binders necessita de atualização
entre eles
17
Falhas
19
Falhas
tentativas
20
Falhas
▶ Extermínio
▶ – Eliminar todos os órfãos
▶ – Falha na rede??
▶ – Problema: encadeamento de falhas (servidor pode ter
sido cliente e m um a RPC)
▶ Reencarnação
▶ – Dividir o tempo e m “épocas”
▶ – Nova chamada nova época
▶ – Falha na rede impossível encontrar o órfão
facilmente detectado depois (necessita nova
época)
24
Falhas
▶ Reencarnação Branda
▶ – Verificar se há processamento de
épocas anteriores antes de eliminar
órfão
▶ – Servidor tenta encontrar cliente
▶ S e cliente não existir, elimina o órfão
▶ Expiração
▶ – Tempo máximo para servidor executar
serviço
▶ 2–5 Problema: mensurar o quantum
CORBA
27
RM
I
▶ Remote M ethod Inv ocation
▶ – RPC da linguagem Java
▶ – Orientação a Objetos
▶ – 3 camadas
▶ Stub/Skeleton: é invocado primeiro, recebendo
objetos e serializando-os (bytes)
▶ RRL – Remote Reference Layer: cada lado possui
a sua, responsável por montar a m e ns a ge m
de envio/resposta entre cliente/servidor
▶ Transporte: envio das informações via rede
28