0% acharam este documento útil (0 voto)
16 visualizações55 páginas

Modelos de Sistemas Distribuídos

O documento aborda modelos descritivos de sistemas distribuídos, incluindo modelos físicos, arquiteturais e fundamentais. Ele discute a interconectividade de hardware, a comunicação entre processos e paradigmas de comunicação, como chamada de procedimento remoto e sistemas publicar-assinar. O conteúdo é baseado em literatura de G. Coulouris e A. Tanenbaum.

Enviado por

cacaplayer
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações55 páginas

Modelos de Sistemas Distribuídos

O documento aborda modelos descritivos de sistemas distribuídos, incluindo modelos físicos, arquiteturais e fundamentais. Ele discute a interconectividade de hardware, a comunicação entre processos e paradigmas de comunicação, como chamada de procedimento remoto e sistemas publicar-assinar. O conteúdo é baseado em literatura de G. Coulouris e A. Tanenbaum.

Enviado por

cacaplayer
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

SD

Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor

Sistemas Distribuı́dos Serviço


Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Prof. Alexandre S. Nery Em camadas
Middleware
Modelos fundamentais
IME – Instituto de Matemática e Estatı́stica Modelo de interação
DICC – Ciência da Computação Modelo de falhas
Modelo de segurança

Conjunto de slides baseado nos livros de G. Coulouris e A.


Tanenbaum

1 / 35
SD
Modelos de sistema Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Modelos descritivos para representar as propriedades e Web proxy
Thin-client
problemas de projeto de SD: Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

2 / 35
SD
Modelos de sistema Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Modelos descritivos para representar as propriedades e Web proxy
Thin-client
problemas de projeto de SD: Applets
DSM
1. Modelos fı́sicos: computadores e equipamentos que Em camadas
constituem um sistema e sua interconectividade Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

2 / 35
SD
Modelos de sistema Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Modelos descritivos para representar as propriedades e Web proxy
Thin-client
problemas de projeto de SD: Applets
DSM
1. Modelos fı́sicos: computadores e equipamentos que Em camadas
constituem um sistema e sua interconectividade Middleware
Modelos fundamentais
2. Modelos de arquitetura: descrevem um sistema em termos
Modelo de interação
das tarefas computacionais e de comunicação realizadas por Modelo de falhas
Modelo de segurança
seus elementos computacionais

2 / 35
SD
Modelos de sistema Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Modelos descritivos para representar as propriedades e Web proxy
Thin-client
problemas de projeto de SD: Applets
DSM
1. Modelos fı́sicos: computadores e equipamentos que Em camadas
constituem um sistema e sua interconectividade Middleware
Modelos fundamentais
2. Modelos de arquitetura: descrevem um sistema em termos
Modelo de interação
das tarefas computacionais e de comunicação realizadas por Modelo de falhas
Modelo de segurança
seus elementos computacionais
3. Modelos fundamentais: adotam uma perspectiva abstrata
para descrever soluções para os problemas individuais
enfrentados pela maioria dos sistemas distribuı́dos

2 / 35
SD
Modelos fı́sicos Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
I São a maneira mais explı́cita de descrever um sistema Peer-to-peer
Web proxy
I É uma representação dos elementos de hardware de um Thin-client
Applets
sistema distribuı́do DSM
Em camadas
I Abstrai os detalhes especı́ficos do computador e das Middleware

tecnologias de rede empregadas Modelos fundamentais


Modelo de interação
Modelo de falhas
Modelo de segurança

3 / 35
SD
Modelos fı́sicos Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
I São a maneira mais explı́cita de descrever um sistema Peer-to-peer
Web proxy
I É uma representação dos elementos de hardware de um Thin-client
Applets
sistema distribuı́do DSM
Em camadas
I Abstrai os detalhes especı́ficos do computador e das Middleware

tecnologias de rede empregadas Modelos fundamentais


Modelo de interação
Modelo de falhas
Modelo de segurança
Modelo fı́sico básico
Um SD é todo aquele no qual os componentes de hardware ou
software localizados em computadores interligados em rede se
comunicam e coordenam suas ações apenas passando mensagens.

3 / 35
SD
Modelos fı́sicos Alexandre S. Nery

Introdução

Modelos fı́sicos
Sistemas Primitivos Adaptados para Contemporâneos Modelos arquiteturais
Distribuídos Internet
Cliente-servidor
Escala Pequenos Grandes Ultragrandes Serviço
Peer-to-peer
Heterogeneidade Limitada Significativa em termos Maiores dimensões Web proxy
(configurações de plataformas, introduzidas, incluindo Thin-client
Applets
homogêneas) linguagens e estilos de arquitetura
DSM
middleware radicalmente diferentes Em camadas
Sistemas abertos Não há prioridade Prioridade significativa, Grande desafio para a Middleware
com introdução de pesquisa, com os Modelos fundamentais
diversos padrões padrões existentes Modelo de interação
ainda incapazes de Modelo de falhas
abranger sistemas Modelo de segurança
complexos
QoS Em seu início Prioridade significativa, Grande desafio para a
com introdução de pesquisa, com os
vários serviços serviços existentes
ainda incapazes de
abranger sistemas
complexos

Figure: Gerações de sistemas distribuı́dos.

4 / 35
SD
Modelos fı́sicos Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
intranet ☎
Peer-to-peer
☎ Web proxy
☎ ISP Thin-client
Applets
☎ DSM
Em camadas
Middleware

backbone Modelos fundamentais


Modelo de interação
Modelo de falhas
Modelo de segurança

satellite link

desktop computer:
server:
network link:

Figure: Exemplo de modelo fı́sico (adaptados para internet).

5 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
I Elementos arquitetônicos: Applets
DSM
I Quais são as entidades que estão se comunicando no SD? Em camadas
Middleware
I Como elas se comunicam ou qual é o paradigma de
Modelos fundamentais
comunicação utilizado? Modelo de interação
I Quais funções e responsabilidades estão relacionadas a eles? Modelo de falhas
Modelo de segurança
I Como eles são mapeados na infraestrutura distribuı́da fı́sica
(qual é a sua localização)?

6 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Quais são as entidades que se comunicam no SD? Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

7 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Quais são as entidades que se comunicam no SD? Web proxy
Thin-client
I As entidades que se comunicam normalmente são processos Applets
(threads) DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

7 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
I Quais são as entidades que se comunicam no SD? Web proxy
Thin-client
I As entidades que se comunicam normalmente são processos Applets
(threads) DSM
Em camadas
I ou Nós (redes de sensores) Middleware
Modelos fundamentais
I Do ponto de vista da programação: Modelo de interação
Modelo de falhas
I Objetos: estratégias OO nos sistemas distribuı́dos Modelo de segurança
I Componentes: contrato mais completo para construção do
sistema
I Serviços Web: serviços completos por si sós, intrinsicamente
integrados na World Wide Web (usando padrões Web)

7 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução
I Qual o paradigma de comunicação?
Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

8 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução
I Qual o paradigma de comunicação?
Modelos fı́sicos
I Paradigmas de comunicação direta
Modelos arquiteturais
I Comunicação entre processos: suporte de nı́vel baixo para Cliente-servidor
comunicação entre processos (API sockets, primitivas Serviço
Peer-to-peer
SEND/RECV) Web proxy
Thin-client
I Chamada de procedimento remoto: procedimentos nos Applets
processos de computadores remotos podem ser chamados DSM
Em camadas
como se fossem procedimentos no espaço de endereçamento Middleware

local Modelos fundamentais


Modelo de interação
I Invocação de método remoto: muito parecido com chamada Modelo de falhas
a procedimento remoto, mas voltada para o mundo OO Modelo de segurança

I Requisição-resposta: envolvem uma troca por pares de


mensagens (cliente-servidor: HTTP)
process p process q

send m receive

Communication channel
Outgoing message buffer Incoming message buffer

Figure: Comunicação entre processos.

8 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução
I Paradigmas de comunicação indireta
I Comunicação em grupo: entrega de mensagens para um Modelos fı́sicos

conjunto de destinatários (grupo de processos) Modelos arquiteturais


I Sistemas publicar-assinar: um número de produtores Cliente-servidor
Serviço
(publicadores) distribui itens de informação de interesse Peer-to-peer
(eventos) para um número de consumidores (assinantes) Web proxy
I Filas de mensagem: processos produtores enviam mensagem Thin-client
Applets
para uma fila e os processos consumidores recebem
DSM
mensagens da fila (ou são notificados da chegada de novas Em camadas
mensagens na fila) Middleware
I Espaços de tupla: processos colocam itens de dados Modelos fundamentais
estruturados (tuplas) em um espaço de tupla persistente Modelo de interação
I Memória compartilhada distribuı́da: abstração de Modelo de falhas
Modelo de segurança
leitura/escrita de dados, como se estivessem em seus próprios
espaços de endereçamento locais

Figure: Filas de mensagem.

9 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Client invocation Web server Serviço
invocation Server Peer-to-peer
Web proxy
Thin-client
Browser result Server Applets
result DNS server DSM
Em camadas
Middleware

Client Modelos fundamentais


Modelo de interação
Key: Modelo de falhas
Process: Computer: Modelo de segurança
Browser

Figure: Os clientes chamam o servidor individual.

10 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Client invocation Web server Serviço
invocation Server Peer-to-peer
Web proxy
Thin-client
Browser result Server Applets
result DNS server DSM
Em camadas
Middleware

Client Modelos fundamentais


Modelo de interação
Key: Modelo de falhas
Process: Computer: Modelo de segurança
Browser

Figure: Os clientes chamam o servidor individual.

I Servidor também atua como cliente (ex: Webserver ↔ DNS)


I Ponto de falha único (e gargalo)

10 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Service Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Server Thin-client
Applets
Client DSM
Em camadas
Middleware

Server Modelos fundamentais


Modelo de interação
Modelo de falhas
Modelo de segurança
Client
Server

Figure: Um serviço fornecido por vários servidoes. Ex:cluster.

11 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

Figure: Arquitetura peer-to-peer. Os processos atuam ao mesmo tempo


como cliente e servidor.

12 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Client Web Thin-client
server Applets
DSM
Proxy Em camadas
server Middleware
Modelos fundamentais
Modelo de interação
Client Web Modelo de falhas
server Modelo de segurança

Figure: Servidor proxy Web.

13 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Compute server Web proxy

Network computer or PC Thin-client


Applets
DSM
Em camadas
Middleware
Thin network Application Modelos fundamentais
Client Process Modelo de interação
Modelo de falhas
Modelo de segurança

Figure: Clientes “magros” e servidores.

14 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

a) client request results in the downloading of applet code Modelos arquiteturais


Cliente-servidor
Serviço
Peer-to-peer
Web proxy

Client Web Thin-client


Applets
server DSM
Applet code Em camadas
Middleware
Modelos fundamentais
b) client interacts with the applet Modelo de interação
Modelo de falhas
Modelo de segurança

Web
Client Applet server

Figure: Applets Web.

15 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Migração de código Modelos fı́sicos

Modelos arquiteturais
Código de programa que pode ser transferido de um computador Cliente-servidor
Serviço
para outro e ser executado no destino (ex: Java applets) Peer-to-peer
Web proxy
Thin-client
Applets
Servidor Web Browser (cliente) DSM
Em camadas
Middleware
<applet code=...>
Modelos fundamentais
Documento Modelo de interação
HTML Modelo de falhas
Modelo de segurança
init()
start()
paint()
stop()
Java.class destroy()

Figure: Java Applet.

16 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

Figure: Memória compartilhada distribuı́da.

17 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

Figure: Arquitetura de duas ou três camadas fı́sicas.

18 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Figure: O Middleware. Modelo de segurança

Middleware
Abstração de programação de nı́vel mais alto para o
desenvolvimento de sistemas distribuı́dos e, por meio de camadas
lógicas, abstrair a heterogeneidade da infraestrutura subjacente.

19 / 35
SD
Modelos arquiteturais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

Figure: Categorias de middleware.

20 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
I Objetivo: fazer generalizaçãos a respeito do que é possı́vel ou Serviço
Peer-to-peer
impossı́vel, dadas certas suposições (cenários) Web proxy
Thin-client
I Generalizações podem assumir a forma de: Applets
DSM
I Algoritmos de propósito geral Em camadas
Middleware
I Propriedades desejáveis a serem garantidas
Modelos fundamentais
I 3 modelos fundamentais: Modelo de interação
Modelo de falhas
Modelo de segurança

21 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
I Objetivo: fazer generalizaçãos a respeito do que é possı́vel ou Serviço
Peer-to-peer
impossı́vel, dadas certas suposições (cenários) Web proxy
Thin-client
I Generalizações podem assumir a forma de: Applets
DSM
I Algoritmos de propósito geral Em camadas
Middleware
I Propriedades desejáveis a serem garantidas
Modelos fundamentais
I 3 modelos fundamentais: Modelo de interação
Modelo de falhas
I Modelo de interação: trata do desempenho e da dificuldade Modelo de segurança

de estabelecer limites de tempo em um SD

21 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
I Objetivo: fazer generalizaçãos a respeito do que é possı́vel ou Serviço
Peer-to-peer
impossı́vel, dadas certas suposições (cenários) Web proxy
Thin-client
I Generalizações podem assumir a forma de: Applets
DSM
I Algoritmos de propósito geral Em camadas
Middleware
I Propriedades desejáveis a serem garantidas
Modelos fundamentais
I 3 modelos fundamentais: Modelo de interação
Modelo de falhas
I Modelo de interação: trata do desempenho e da dificuldade Modelo de segurança

de estabelecer limites de tempo em um SD


I Modelo de falha: especificação precisa das falhas que podem
ser exibidas por processos e canais de comunicação

21 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
I Objetivo: fazer generalizaçãos a respeito do que é possı́vel ou Serviço
Peer-to-peer
impossı́vel, dadas certas suposições (cenários) Web proxy
Thin-client
I Generalizações podem assumir a forma de: Applets
DSM
I Algoritmos de propósito geral Em camadas
Middleware
I Propriedades desejáveis a serem garantidas
Modelos fundamentais
I 3 modelos fundamentais: Modelo de interação
Modelo de falhas
I Modelo de interação: trata do desempenho e da dificuldade Modelo de segurança

de estabelecer limites de tempo em um SD


I Modelo de falha: especificação precisa das falhas que podem
ser exibidas por processos e canais de comunicação
I Modelo de segurança: discute as possı́veis ameaças aos
processos e aos canais de comunicação

21 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Modelo de interação: a computação é feita por processos Modelos arquiteturais


Cliente-servidor
que se comunicam por troca de mensagens Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

22 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Modelo de interação: a computação é feita por processos Modelos arquiteturais


Cliente-servidor
que se comunicam por troca de mensagens Serviço
Peer-to-peer
I Deve refletir o fato de que a comunicação ocorre com atrasos Web proxy
Thin-client
que têm duração considerável Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

22 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Modelo de interação: a computação é feita por processos Modelos arquiteturais


Cliente-servidor
que se comunicam por troca de mensagens Serviço
Peer-to-peer
I Deve refletir o fato de que a comunicação ocorre com atrasos Web proxy
Thin-client
que têm duração considerável Applets
I Dificuldade de se manter a mesma noção de tempo entre DSM
Em camadas
todos os computadores do SD Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

22 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Modelo de interação: a computação é feita por processos Modelos arquiteturais


Cliente-servidor
que se comunicam por troca de mensagens Serviço
Peer-to-peer
I Deve refletir o fato de que a comunicação ocorre com atrasos Web proxy
Thin-client
que têm duração considerável Applets
I Dificuldade de se manter a mesma noção de tempo entre DSM
Em camadas
todos os computadores do SD Middleware

I Algoritmos sequencias vs. distribuı́dos Modelos fundamentais


Modelo de interação
I Sequenciais: sequência de passos a serem executados (1 Modelo de falhas
Modelo de segurança
processo)
I Distribuı́dos: sequência de passos a serem executados por
cada processo + transmissão de mensagens entre eles

22 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Modelo de interação: a computação é feita por processos Modelos arquiteturais


Cliente-servidor
que se comunicam por troca de mensagens Serviço
Peer-to-peer
I Deve refletir o fato de que a comunicação ocorre com atrasos Web proxy
Thin-client
que têm duração considerável Applets
I Dificuldade de se manter a mesma noção de tempo entre DSM
Em camadas
todos os computadores do SD Middleware

I Algoritmos sequencias vs. distribuı́dos Modelos fundamentais


Modelo de interação
I Sequenciais: sequência de passos a serem executados (1 Modelo de falhas
Modelo de segurança
processo)
I Distribuı́dos: sequência de passos a serem executados por
cada processo + transmissão de mensagens entre eles
I Não é possı́vel prever a velocidade com que cada processo é
executado
I Não é possı́vel prever a sincronização da troca das mensagens
entre eles
I Difı́cil descrever todos os estados de um algoritmo distribuı́do

22 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
Applets
DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
1. Desempenho da comunicação Serviço
Peer-to-peer
I latência: atraso Web proxy
I largura de banda: volume de informações Thin-client
Applets
I jitter: variação do atraso (latência) DSM
Em camadas
Middleware
Modelos fundamentais
Modelo de interação
Modelo de falhas
Modelo de segurança

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
1. Desempenho da comunicação Serviço
Peer-to-peer
I latência: atraso Web proxy
I largura de banda: volume de informações Thin-client
Applets
I jitter: variação do atraso (latência) DSM
2. Inexistência da noção global de tempo única Em camadas
Middleware
I cada computador possui seu próprio relógio interno Modelos fundamentais
I taxa de desvio do relógio (drift) Modelo de interação
Modelo de falhas
Modelo de segurança

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
1. Desempenho da comunicação Serviço
Peer-to-peer
I latência: atraso Web proxy
I largura de banda: volume de informações Thin-client
Applets
I jitter: variação do atraso (latência) DSM
2. Inexistência da noção global de tempo única Em camadas
Middleware
I cada computador possui seu próprio relógio interno Modelos fundamentais
I taxa de desvio do relógio (drift) Modelo de interação
Modelo de falhas
3. Variantes sı́ncrona e assı́ncrona Modelo de segurança

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
1. Desempenho da comunicação Serviço
Peer-to-peer
I latência: atraso Web proxy
I largura de banda: volume de informações Thin-client
Applets
I jitter: variação do atraso (latência) DSM
2. Inexistência da noção global de tempo única Em camadas
Middleware
I cada computador possui seu próprio relógio interno Modelos fundamentais
I taxa de desvio do relógio (drift) Modelo de interação
Modelo de falhas
3. Variantes sı́ncrona e assı́ncrona Modelo de segurança
I Sı́ncrona: o tempo para executar cada etapa de um processo
tem limites superior e inferior conhecidos; cada mensagem
transmitida é recebida dentro de um limite conhecido; a taxa
de desvio do tempo real tem um valor máximo conhecido.

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

I Fatores que afetam (limitam) a interação entre processos: Modelos arquiteturais


Cliente-servidor
1. Desempenho da comunicação Serviço
Peer-to-peer
I latência: atraso Web proxy
I largura de banda: volume de informações Thin-client
Applets
I jitter: variação do atraso (latência) DSM
2. Inexistência da noção global de tempo única Em camadas
Middleware
I cada computador possui seu próprio relógio interno Modelos fundamentais
I taxa de desvio do relógio (drift) Modelo de interação
Modelo de falhas
3. Variantes sı́ncrona e assı́ncrona Modelo de segurança
I Sı́ncrona: o tempo para executar cada etapa de um processo
tem limites superior e inferior conhecidos; cada mensagem
transmitida é recebida dentro de um limite conhecido; a taxa
de desvio do tempo real tem um valor máximo conhecido.
I Assı́ncrona: cada etapa pode demorar um tempo
arbitrariamente longo; uma mensagem pode ser recebida após
um tempo arbitrariamente longo; a taxa de desvio dos
relógios é arbitrária.

23 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
I Ordenação de eventos: Peer-to-peer
Web proxy
I Em muitos casos, estamos interessados em saber se um Thin-client
evento (envio ou recepção de uma msg) ocorreu em um Applets
DSM
processo antes, depois ou simultaneamente com outro evento Em camadas
Middleware
em outro processo
Modelos fundamentais
I Em um SD os relógios não podem ser perfeitamente Modelo de interação
sincronizados Modelo de falhas
Modelo de segurança
I Mesmo na ausência da noção de relógio, a execução de um
SD pode ser descrita em termos da ocorrência de eventos e
de sua ordem.
I Lamport: propôs um modelo de relógio lógico (veremos mais
adiante no curso)

24 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
I Considere o seguinte conjunto de troca de mensagens, entre Peer-to-peer
Web proxy
um grupo de usuários de e-mail X, Y, Z e A, em uma lista de Thin-client
Applets
distribuição: DSM
Em camadas
1. o usuário X envia uma mensagem com o assunto “Reunião” Middleware
2. os usuários Y e Z respondem, enviando uma mensagem com Modelos fundamentais
o assunto “Re:Reunião” Modelo de interação
Modelo de falhas
I A mensagem de X foi enviada primeiro Modelo de segurança

I Y a lê e responde
I Z lê a mensagem de X e a resposta de Y e envia outra
resposta fazendo referência às msgs de X e de Y

25 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

send receive receive Modelos arquiteturais


Cliente-servidor
X Serviço
1 m1 4 Peer-to-peer
m2 Web proxy
send Thin-client
receive
2 3 Physical Applets
Y DSM
receive time Em camadas
Middleware
Modelos fundamentais
send
Z Modelo de interação
Modelo de falhas
receive receive Modelo de segurança

m3 m1 m2
A
receive receive receive
t1 t2 t3

Figure: Ordenação de eventos no tempo fı́sico.

26 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos
I Devido a diferentes atrasos, alguns usuários poderão ver essas Modelos arquiteturais
Cliente-servidor
mensagens na ordem errada: Serviço
Peer-to-peer
Web proxy
Thin-client

Caixa de entrada do usuário A Applets


DSM
Em camadas

Item De Assunto Middleware


Modelos fundamentais

23 Z Re:Reunião
Modelo de interação
Modelo de falhas
Modelo de segurança

24 X Reunião

25 Y Re:Reunião

27 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução
I Se os relógios nos computadores de X, Y e Z pudessem ser
Modelos fı́sicos
sincronizados
Modelos arquiteturais
I Cada msg, ao ser enviada, poderia transportar a hora do Cliente-servidor
relógio de seu computador local Serviço
Peer-to-peer
I Ex: m1 , m2 e m3 transportariam os tempos t1 , t2 e t3 , onde Web proxy
Thin-client
t1 < t2 < t3 Applets
DSM
send receive receive Em camadas
Middleware
X
1 m1 4 Modelos fundamentais
Modelo de interação
m2
send Modelo de falhas
receive Modelo de segurança
2 3 Physical
Y
receive time

send
Z
receive receive
t3 t1 t2
m3 m1 m2
A
receive receive receive
t1 t2 t3

28 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

I Modelo de falhas: Modelos fı́sicos

Modelos arquiteturais
I Falhas por omissão
Cliente-servidor
I de processo Serviço
Peer-to-peer
I na comunicação Web proxy
I Falhas arbitrárias (ou bizantinas) Thin-client
Applets
I Falhas na temporização DSM
Em camadas
I Mascaramento de falhas Middleware
Modelos fundamentais

process p process q
Modelo de interação
Modelo de falhas
Modelo de segurança

send m receive

Communication channel
Outgoing message buffer Incoming message buffer

Figure: Processos e canais.

29 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Classe de falha Afeta Descrição Modelos arquiteturais


Cliente-servidor
Parada por falha Processo O processo pára e permanece parado. Outros processos podem Serviço
detectar esse estado. Peer-to-peer
Web proxy
Colapso Processo O processo pára e permanece parado. Outros processos podem Thin-client
não detectar esse estado. Applets
DSM
Omissão Canal Uma mensagem inserida em um buffer de envio nunca chega
Em camadas
no buffer de recepção do destinatário. Middleware
Omissão de envio Processo Um processo concluiu um envio , mas a mensagem Modelos fundamentais
não é colocada em seu buffer de envio Modelo de interação
Modelo de falhas
Omissão de recepção Processo Uma mensagem é colocada no buffer de recepção de um Modelo de segurança
processo, mas esse processo não a recebe efetivamente.
Arbitrária Processo O processo/canal exibe comportamento arbitrário: ele pode
(Bizantina) ou canal enviar/transmitir mensagens arbitrárias em qualquer momento,
cometer omissões; um processo pode parar ou realizar uma ação
incorreta.

Figure: Falhas por omissão e falhas arbitrárias.

30 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Classe de falha Afeta Descrição Thin-client
Applets
Relógio Processo O relógio local do processo ultrapassa os limites DSM
de sua taxa de desvio em relação ao tempo físico. Em camadas
Desempenho Processo O processo ultrapassa os limites do intervalo de Middleware

tempo entre duas etapas. Modelos fundamentais


Modelo de interação
Desempenho Canal A transmissão de uma mensagem demora mais Modelo de falhas
do que o limite definido. Modelo de segurança

Figure: Falhas de temporização.

31 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução

Modelos fı́sicos

Modelos arquiteturais
Cliente-servidor
Serviço
Peer-to-peer
Web proxy
Thin-client
I Modelo de segurança: Applets
DSM
I Ataques de agentes externos e internos Em camadas
I O sistema precisa tolerar falhas (continuar funcionando Middleware

corretamente) Modelos fundamentais


Modelo de interação
I A segurança pode ser obtida tornando seguros os processos e Modelo de falhas
Modelo de segurança
os canais usados por suas interações e protegendo contra
acesso não autorizado a qualquer tipo de recursos

32 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução
I Direitos de acesso especificam quem pode executar
Modelos fı́sicos
determinadas operações sobre um objeto
Modelos arquiteturais
I Os usuários são incluı́dos no modelo de segurança Cliente-servidor
Serviço
I Associa-se a cada invocação a entidade que a executa Peer-to-peer
(principal) Web proxy
Thin-client
I O servidor é responsável por verificar a identidade do Applets
DSM
principal que está por trás de cada invocação Em camadas
Middleware
Modelos fundamentais
Access rights Object Modelo de interação
invocation Modelo de falhas
Modelo de segurança

Client
result Server

Principal (user) Network Principal (server)

Figure: Objetos e principais.

33 / 35
SD
Modelos fundamentais Alexandre S. Nery

I Invasor é capaz de enviar qualquer mensagem para qualquer Introdução

Modelos fı́sicos
processo e ler ou copiar qualquer mensagem
Modelos arquiteturais
I Tais ataques podem ser realizados usando-se um computador Cliente-servidor
conectado a uma rede para executar um programa que lê Serviço
Peer-to-peer
mensagens endereçadas para outros computadores ou por um Web proxy
programa que gere mensagens que façam falsos pedidos para Thin-client
Applets
serviços e deem a entender que sejam provenientes de DSM
Em camadas
usuários autorizados Middleware
Modelos fundamentais
Copy of m Modelo de interação
Modelo de falhas
Modelo de segurança

The enemy
m’
Process p m Process q
Communication channel

Figure: O invasor (atacante).

34 / 35
SD
Modelos fundamentais Alexandre S. Nery

Introdução
I Criptografia e autenticação são usadas para construir canais Modelos fı́sicos
seguros como uma camada de serviço a mais sobre os serviços Modelos arquiteturais
de comunicação já existentes (ex: HTTPS) Cliente-servidor
Serviço
I Cada processo conhece com certeza a identidade do principal Peer-to-peer
Web proxy
(em nome de quem o outro processo está executando) Thin-client
I Garantir privacidade e a integridade dos dados transmitidos Applets
DSM
I Inclui indicações de relógio lógico ou fı́sico para impedir que Em camadas
Middleware
as mensagens sejam reproduzidas ou reordenadas
Modelos fundamentais
Modelo de interação
Modelo de falhas

Principal A Principal B Modelo de segurança

Process p Secure channel Process q

Figure: Canais seguros.

35 / 35

Você também pode gostar