Upload
internet
View
110
Download
0
Embed Size (px)
Citation preview
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
SISTEMAS DISTRIBUÍDOSPrincípios e Paradigmas
2ª EdiçãoANDREW 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
Tabela 1-2. Diferentes formas de transparência em um sistema distribuído (ISO, 1995).
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
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Problemas de Escalabilidade
Tabela 1-3. Exemplos de limitações 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
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