23
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 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 SISTEMAS DISTRIBUÍDOS

Embed Size (px)

Citation preview

Page 1: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 2: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 3: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 4: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 5: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 6: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 7: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 8: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 9: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 10: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 11: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 12: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 13: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 14: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 15: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 16: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 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.

Page 17: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 18: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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?

Page 19: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 20: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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?

Page 21: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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

Page 22: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

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.

Page 23: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 SISTEMAS DISTRIBUÍDOS

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Backup