Escolar Documentos
Profissional Documentos
Cultura Documentos
Material Adaptado
Conteúdo
Modelos Físicos
Modelos Arquiteturais
Modelos Fundamentais
Visão Geral dos Modelos
c3
Módulos de código->
Modelos de sistemas distribuídos
• Modelos de arquitetura
– Um modelo de arquitetura de um sistema
distribuído envolve o posicionamento de suas
partes e os relacionamentos entre elas;
• Modelos fundamentais
– Os modelos fundamentais envolvem uma descrição
mais formal das propriedades comuns a todos os
modelos de arquitetura (Ausência de um relógio global; A
comunicação entre processos por troca de mensagens; Atrasos e
vulnerabilidade devido a rede de comunicação.).
Modelos de sistemas distribuídos
• Modelo fundamental se dividem em três principais tipos:
• Modelo de interação
– Lida com questões de desempenho e limites de tempo.
• Modelo de falhas
– Busca definir as principais falhas que podem ocorrer em um
sistema e fornecer mecanismos de comunicação confiáveis
• Modelo de segurança
– Define as principais falhas ameaças para um sistema e como lidar
com elas
MODELOS DE ARQUITETURAS
DE SISTEMAS DISTRIBUÍDOS
Modelos de arquitetura de sistemas distribuídos
• Inicialmente: simplifica e abstrai as funções dos
componentes individuais de um sistema.
• Em seguida, considera:
– O posicionamento dos componentes em uma rede
• Visando a distribuição de dados e carga;
– Os inter-‐relacionamentos entre os componentes
• Seus papéis funcionais e padrões de comunicação.
• Classificação dos processos:
• Processos cliente.
• Processos servidor.
• Processos peer-to-peer.
Arquitetura de sistemas
• A arquitetura de um sistema representa a estrutura desse
sistema com relação aos seus diferentes componentes;
• O objetivo é garantir que a estrutura atenda às demandas
atuais e futuras;
• Se preocupando em manter o sistema: confiável,
gerenciável, adaptável e rentável.
Arquitetura de sistemas
❑ Principais Modelos:
❑ Arquiteturas em camadas;
❑ Arquiteturas baseada em objetos;
❑ Arquitetura centrada em dados;
❑ Arquitetura baseada em eventos /publish-subscribe.
Arquitetura Baseada em Camadas
Arquitetura Baseada em Camadas
Arquiteturas Baseadas em Objetos
Figura 04 – Visão da internet como rede composta por um conjunto de servidores de borda
Arquiteturas Híbridas
• Ex: Sistema de Compartilhamento BitTorrent
Exemplos:
– Vários processos servidores podem cooperar
entre si para fornecer um serviço;
– Um conjunto de processos peer-‐to-‐peer pode
cooperar entre si para atingir um objetivo comum.
Fatores que afetam a interação
• Desempenho dos canais de comunicação
– Latência: tempo entre o início da transmissão de
uma mensagem do processo de origem até o
início da recepção pelo processo de destino;
– Largura de banda: volume total de dados que
podem ser transmitidos em um certo tempo;
– Jitter: variação no tempo de transmissão de
uma série de mensagens.
Fatores que afetam a interação
• Relógios e temporização de eventos
– Cada computador possui seu próprio relógio;
– Processos em máquinas diferentes podem associar
tempos diferentes aos seus eventos, mesmo lendo
seus relógios ao mesmo tempo;
– drift ou taxa de desvio do tempo real faz os
relógios divergirem;
– Como saber qual evento aconteceu primeiro em um
sistema distribuído?
Sistemas distribuídos síncronos
• Suposições de tempo:
– O tempo para executar cada etapa de um processo
tem limites inferior e superior conhecidos;
– Cada mensagem transmitida em um canal é recebida
dentro de um tempo limitado, conhecido;
– Cada processo tem um relógio local cuja taxa de
desvio de tempo real (drift) tem um limite
conhecido.
• Tipos de falha:
– Omissão
– Tempo
– Arbitrária
Falhas por omissão
• Em processos:
– Crash: Quando ocorre uma falha, para-se de responder.
– Fail-‐stop: falhas de travamento, pode detectar a falha.
• Em canais de comunicação:
– Mensagem enviada não chega ao destino
• Exemplo: drop no roteador
Falhas de tempo
• Acontecem quando limites de tempo são
desrespeitados em sistemas síncronos
– Falha de relógio: o relógio local do processo
ultrapassa os limites de sua taxa de desvio em relação
ao tempo real;
– Falha de desempenho (processo): o processo ultrapassa
os limites de tempo entre duas etapas;
– Falha de desempenho (canal): a transmissão de uma
mensagem demora mais do que o limite definido.
Falhas arbitrárias (ou Bizantinas)
• Qualquer tipo de erro pode ocorrer
– Ex: processos respondem com valores
incorretos.
• Em processos:
– Processo omite passos esperados do
processamento ou realiza passos
indesejados;
• Em canais de comunicação:
– Mensagens corrompidas, envio de mensagens
inexistentes, vários envios da mesma mensagem.
Modelo de segurança
• Normalmente modelamos um adversário (ou
inimigo), suas capacidades e seus recursos;
• A partir dele, fazemos um modelo de ameaças.
Ameaça aos processos
• O adversário é capaz de fazer requisições não-‐
autorizadas
– RMI sem SSL
– Serviços sem senha