![Page 1: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/1.jpg)
Sistemas Distribuídos
Modelos e Arquitecturas de SD
1
![Page 2: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/2.jpg)
Estrutura do software e hardware
Aplicações, Serviços
Interface da plataforma (homogeneização dos serviços da platforma de suporte de um SD)
Suporte Middleware / Sistema Distribuído Genérico
do SD Interface do SO (serviços da plataforma-base heterogénea de computação / Serviços base do SO)
Sistema Operacional (suporte de rede ou NOS) Plataforma
Base Hardware (computador + rede)
2
![Page 3: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/3.jpg)
Modelos de organização do sistema
Modelo de estruturação da plataforma de SD (middleware) e os seus componentes de suporte são concebidos de acordo com princípios de concepção que estão subjacentes a determinados modelos arquitecturais do Sistema Distribuído:
Alguns modelos de referência:
• Modelo cliente servidor
• Modelo memória partilhada
• Modelo “peer” (P2P)
• Modelo código móvel
• Modelo “proxy”
• Conceito de serviço
3
![Page 4: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/4.jpg)
Cliente Servidor
Cliente
Servidor
Pedido / resposta
Cliente Cliente
4
![Page 5: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/5.jpg)
Modelo “peer”
5
![Page 6: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/6.jpg)
Código móvel
Servidor Servidor Servidor
6
![Page 7: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/7.jpg)
Código móvel - exemplo mais simples
a) client request results in the downloading of applet code
Web Client server Applet code
b) client interacts with the applet
Web Client Applet server
7
![Page 8: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/8.jpg)
Noção de serviço
Service
Server
Client
Server
Client
Server
8
![Page 9: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/9.jpg)
Proxy de um serviço
Web Client server
Proxy server
Web Client server
9
![Page 10: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/10.jpg)
Modelos de falhas dos sistemas
• Inevitavelmente os sistemas podem falhar, isto é, não se comportarem de acordo com a sua especificação
• O modelo de falhas permite definir rigorosamente quais os erros e as falhas que podem ter lugar e de que forma o sistema se comporta perante as mesmas
• As falhas podem classificar-se em falhas por omissão, arbitrárias e temporais
• Uma falha por omissão dá-se quando algo que devia ter lugar não sucedeu, por exemplo uma mensagem que devia chegar não chegou
• Uma falha temporal dá-se quando um evento que se devia produzir num determinado período de tempo deu-se mais tarde
• Uma falha arbitrária dá-se quando se produziu algo não previsto, por exemplo, chegou uma mensagem corrompida. As falhas por omissão e as falhas temporais dizem-se benignas
11
![Page 11: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/11.jpg)
Mascaramento das falhas
• Para compensar os problemas levantados pelas falhas usam-se técnicas de mascaramento das mesmas
• As falhas arbitrárias (ou bizantinas) são as mais difíceis de mascarar. Por isso, se possível, é desejável transformá-las em falhas por omissão (exemplo: um CRC numa mensagem permite transformar uma falha bizantina do canal numa falha por omissão)
• Os sistemas que quando avariam não exibem comportamentos arbitrários ou bizantinos dizem-se “fail-stop”
12
![Page 12: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/12.jpg)
Processos e canais
process p process q
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
13
![Page 13: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/13.jpg)
Modelo de segurança
• Num sistema existem entidades que do ponto de vista da segurança têm identidade própria, direitos e deveres - essas entidades podem ser utilizadores, processos, etc.
• Utiliza-se o termo principal para as designar
• A segurança do sistema distribuído passa por:
autenticar os principals
verificar os seus direitos de acesso aos objectos utilizar canais seguros
16
![Page 14: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/14.jpg)
Principals, objectos, direitos de acesso e canais
Access rights Object invocation
Client Server result
Principal (user) Network Principal (server)
17
![Page 15: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/15.jpg)
O canal normal está acessível ao inimigo
Copy of m
The enemy m’
Process p m Process q Communication channel
18
![Page 16: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/16.jpg)
Canais seguros
Principal B Principal A
Process p Secure channel Process q
" Num canal seguro os interlocutores (A e B) estão autenticados
" O inimigo não pode copiar, alterar ou introduzir mensagens
" O inimigo não pode fazer replaying de mensagens
" O inimigo não pode reordenar as mensagens
19
Copyright DI/FCT/UNL e ESTMA (2004/2005)
![Page 17: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/17.jpg)
Segurança no tráfego das informações
![Page 18: Sistemas Distribuídos Modelos e Arquitecturas de SD 1](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc10b497959413d8c1d7d/html5/thumbnails/18.jpg)
Segurança no tráfego das informações