SISTEMAS DISTRIBUÍDOS
Princípios e Paradigmas
2ª Edição
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
Capítulo 1
Introdução
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Definição de Sistemas Distribuídos (1)
Um sistema distribuído é um
conjunto de computadores
independentes que se
apresentam a seus usuários
como um sistema único e
coerente.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Definição de Sistemas Distribuídos (2)
Figura 1-1. Um sistema distribuído organizado como middleware.
A camada de middleware se estende por múltiplas máquinas
e oferece a mesma interface a cada aplicação.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Transparência em Sistemas
Distribuídos
Transparência
Descrição
Acesso (Access)
Oculta diferenças na representação de dados e no modo de acesso a
um recurso
Localização (Location)
Oculta o lugar em que um recurso está localizado
Migração (Migration )
Oculta que um recurso pode ser movido para outra localização
Relocação
(Relocation)
Oculta que um recurso pode ser movido para outra localização
enquanto em uso
Replicação
(Replication)
Oculta que um recurso é replicado
Concorrência
(Concurrency)
Oculta que um recurso pode ser compartilhado por diversos usuários
concorrentes
Falha (Failure)
Oculta a falha e a recuperação e um recurso
Tabela 1-2. Diferentes formas de transparência
em um sistema distribuído (ISO, 1995).
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Problemas de Escalabilidade
Conceitos
Exemplos
Serviços Centralizados
Um único servidor para todos usuários
Dados Centralizados
Uma única lista telefônica on-line
Algoritmos Centralizados
Fazer roteamento baseado em informações
completas
Tabela 1-3. Exemplos de limitações de
escalabilidade.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Problemas de Escalabilidade
Características dos algoritmos descentralizados:
• Nenhuma máquina possui informações
completas sobre o estado do sistema.
• Máquinas tomam decisões baseadas apenas em
informações locais.
• Falhas de uma máquina não arruína o algoritmo.
• Não há suposições que um relógio global exista.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Técnicas de Escalabilidade (1)
Figura 1-4. A diferença entre deixar (a) a um servidor ou (b) um
cliente verificar formulários a medida que são preenchidos.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Técnicas de Escalabilidade (2)
Figura 1-5. Exemplo da divisão do espaço de nomes do
DNS em zonas.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Ciladas quando desenvolvemos
Sistemas Distribuídos
Premissas falsas adotadas aos desenvolver uma
aplicação distribuída pela primeira vez:
• A rede é confiável.
• A rede é segura.
• A rede é homogênea.
• A topologia não se modifica.
• A latência é zero.
• A largura de banda é infinita.
• O custo de transporte é zero.
• Há um único administrador.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Computação em Cluster
Figura 1-6. Um exemplo de um sistema de computação de
cluster.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Computação em Grade
(Grid Computing Systems)
Figura 1-7. Arquitetura em camadas para sistema de computação em grade.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Processamento de
Transações (1)
Figura 1-8. Exemplos de Primitivas para transações
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Processamento de
Transações (2)
Propriedades características das Transações:
• Atômicas: para o mundo exterior, a
transação acontece como se fosse
indivisível.
• Consistentes: a transação não viola
invariantes do sistema.
• Isoladas: transações concorrentes não
interferem umas com as outras.
• Duráveis: uma vez comprometida uma
transação, as alterações são permanentes.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Processamento de
Transações (3)
Figura 1-9. Transação Aninhada.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema de Processamento de
Transações (4)
Figura 1-10. O papel do monitor TP em sistemas distribuídos
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Enterprise Application Integration (EIA)
Figura 1-11. Middleware como facilitador de comunicação em
integração de aplicações empresariais.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistemas Distribuídos Pervasivos
Requisitos para aplicações pervasivas:
• Adotar mudanças contextuais.
• Incentivar composição ad hoc.
• Reconhecer compartilhamento com
padrão.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema Eletrônico de Tratamento de
Saúde (1)
Questões endereçadas por sistemas de saúde
(health care systems):
• Onde e como os dados monitorados deverão
ser armazenados?
• Como prevenimos perda de dados cruciais?
• Qual é a infra-estrutura é necessária para gerar
e propagar sinais de alerta?
• Como os médicos podem dar retorno on-line?
• Como pode ser alcançada a extrema robustez
do sistema de monitoramento?
• Quais são as questões de segurança e como as
políticas adequadas podem ser impostas?
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Sistema Eletrônico de Tratamento de
Saúde (2)
Figura 1-12. Monitoração de uma pessoa em um sistema
eletrônico pervasivo de tratamento de saúde, usando (a) um
concentrador local ou
(b) Uma conexão sem fio contínua.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Redes de Sensores (1)
Questões relacionadas a redes de sensores:
• Como montar (dinamicamente) uma
árvore eficiente em uma rede de
sensores?
• Como ocorre a agregação de resultados?
Ela pode ser controlada?
• O que acontece quando enlaces de rede
falham?
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Redes de Sensores (2)
Figura 1-13. Organizando um banco de dados de rede de
sensores e ao mesmo tempo, armazenando e processando
dados (a) somente no site do operador ou …
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Redes de Sensores (3)
Figura 1-13. Organizando um banco de dados de rede de
sensores e ao mesmo … ou (b) somente nos sensores.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Backup
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Download

chap-01v2