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