SlideShare uma empresa Scribd logo
SISTEMAS DISTRIBUÍDOS
       2008.2


     Capítulo 1
     Introdução


André Ribeiro Cardoso - andrec@larces.uece.br
                                                1
Apresentação
•  Prof. André Ribeiro Cardoso
   (andrec@larces.uece.br)
• Material didático:
   http://www.larces.uece.br/~andrec/SD20082
• Sistema de avaliação:
  – Duas provas teóricas - P1 e P2
  – Trabalhos práticos - T
  – Seminários - S             média = (P + P + T + S)
                                           1   2
                                                         /4

• Condição para aprovação: média >= 7,0
  – Nota final = (média + NEF) / 2 >= 5,0
                                                              2
Bibliografia

•   Sistemas Distribuídos – Princípios e Paradigmas
    (2a edição)
      Andrew Tanenbaum / Maarten Van Steen
•   Sistemas Distribuídos – Conceitos e Projetos
    (4a edição)
      George Coulouris, Jean Dollimore e Tim Kindberg




                                                   3
Objetivos
•   Apresentar os princípios de funcionamento, conceitos
    avançados e tecnologias subjacentes dos Sistemas
    Distribuídos

•   Explorar os conhecimentos adquiridos através de
    Trabalhos Práticos e Seminários Avançados




                                                      4
Cronograma (60horas)
•    Dezembro/2008
    – 02, 04, 09, 11, 16, 18, 23
    -------------------- 2009 --------------------
•    Janeiro
    – 06, 08, 13, 15, 20, 22, 27, 29
•    Fevereiro
    – 03, 05, 10, 12, 17, 19, 26
•    Março
    – 03, 05, 10, 12, 17, 24, 26, 31
•    Abril
    – 02, 07, 14, 16, 20                             5
Sumário
• Definição

•   Metas

•   Tipos de Sistemas Distribuídos




                                     6
Definição
•   “Um sistema distribuído (SD) é um conjunto de
    computadores independentes que se apresenta a seus usuários
    como um sistema único e coerente” (Tanenbaum)

•   “Um sistema em que componentes de hardware e software
    localizados em computadores em rede se comunicam e
    coordenam suas ações por passagem de mensagens”
    (Coulouris et al.)

•   Implica em: concorrência, ausência de relógio global e
    falhas isoladas e independentes

•   Motivação: compartilhamento de recursos                7
Definição

              Sistemas Distribuídos

“Você que tem um quando a falha de um computador do
    qual você nunca ouviu falar impede que você faça
                   qualquer trabalho”




                                                 8
Definição




                Arquitetura geral de um SD


•   Middleware: camada de software que se estende por
    várias máquinas e oculta das aplicações as diferenças
    em hardware e sistemas operacionais
                                                     9
Sumário
•   Definição

• Metas

•   Tipos de Sistemas Distribuídos




                                     10
Metas
• Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    11
Metas
•    Acesso/compartilhamento de recursos
    –  Considerada PRINCIPAL META
    –  Tipos de recursos
      • Impressoras, computadores, dados, Hds etc.
    – Um SD deve oferecer fácil acesso a recursos remotos e
       compartilhamento eficiente/controlado
    – Compartilhamento de recursos induz a economia




                                                       12
Metas
•   Acesso a recursos
• Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                  13
Metas
•    Transparência da distribuição
    –  Oculta o fato de recursos estarem distribuídos
    –  Um SD se apresenta a usuários e aplicações como um
       sistema único (TRANSPARENTE)
    – Tipos de transparências
      • Acesso, Localização, Migração, Relocação,
          Replicação, Concorrência e Falha




                                                       14
Metas
       Transparência da distribuição (cont.)
•   Acesso
    –   Trata de ocultar diferenças em representação de dados
        (máquinas com arquiteturas diferentes)
    –   Diferenças entre sistemas de nomeação e como arquivos
        são manipulados
•   Localização
    –   O nome do recurso deve ser independente de sua
        localização física (sist. nomeação tem papel importante)
    –   Nomes lógicos (URL): usuário acessa recursos da
        independente de onde ele está
                                                           15
Metas
        Transparência da distribuição (cont.)
•    Migração
    –  Objetos podem migrar de uma máquina a outra por
       questões de desempenho, confiabilidade, segurança etc.
    – Deve
      • Ser feita de forma automática pelo sistema
      • Manter nome do objeto
      • Garantir continuidade de comunicação



                                                         16
Metas
        Transparência da distribuição (cont.)
•    Relocação
    –  Oculta que um recurso (notebook) possa ser movido
       para outra localização durante o uso
    – Quando um usuário é móvel?
      • Um notebook se movimentando dentro da mesma
          área de cobertura (não é móvel)
      • Um automóvel passando por várias redes de acesso
          sem fio, com conexão ininterrupta (móvel)
      • Um notebook numa lanchonete sem necessidade de
          conectividade durante trajetória (móvel)
                                                     17
Metas
        Transparência da distribuição (cont.)
•    Replicação
    –  Permite que várias instâncias de recursos sejam usadas
       para aumentar a confiabilidade e o desempenho
    – Deve
      • Mascarar o conhecimento das réplicas por parte dos
          usuários ou dos programadores de aplicativos




                                                          18
Metas
       Transparência da distribuição (cont.)
•   Concorrência
    –    Coordenar acessos a recursos compartilhados
        • Ordenação de eventos: todos usuários ter uma
           mesma visão do sistema
        • Garantir exclusão mútua
        • Evitar postergação indefinida
        • Evitar deadlocks
•   Tolerar falhas, detectar e recuperar falhas

                                                         19
Metas
•   Transparência da distribuição (sumário)




                                              20
Metas
•   Acesso a recursos
•   Transparência da distribuição
• Abertura
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança
                                    21
Metas
•   Abertura
    –    SD aberto oferece serviços de acordo com regras
         padronizadas para descreverem a sintaxe e semântica
         dos serviços
        • Ex: Em redes, existe a padronização de protocolos
           que regem o conteúdo, formato e significado das
           mensagens
        • Em SDs, os serviços são especificados por IDLs
           – IDLs capturam a sintaxe dos serviço (especificam
               nome das funções, tipos de parâmetros, valores de
               retorno, exceções etc.
           – Especificação da semântica (parte complicada)  22
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Abertura
• Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança
                                    23
Metas
•    Escalabilidade
    – De tamanho
       • Entrada de vários usuários ao sistema
    – Geográfica
       • Usuários e recursos devem estar longe uns dos
          outros
    – Administrativa
       • Envolvimento de várias organizações
          administrativas

                                                    24
Metas
•   Escalabilidade/Problemas (tamanho)




                                         25
Metas
•   Escalabilidade/Problemas (geográfica)




                                            26
Metas
•   Escalabilidade/Problemas (administrativa)




                                                27
Metas
•    Escalabilidade/Técnicas
    – Ocultar latências (geográfica)
       • Idéia: evitar o tempo de resposta a req. remotas
       • Comunicação assíncrona: execução de outros
          trabalhos
    – Distribuição
       • Idéia: dividir um componente em partes e
          espalhar pelo sistema
       • Ex: DNS e Web
    – Replicação / Cache
       • Idéia: replicar recursos para aumentar
          disponibilidade                              28
Metas
•     Escalabilidade/Técnicas
     –    Ocultar latências: Aplicações interativas não usam
          comunicação assíncrona
         • Solução: uso de formulários




    Diferença entre deixar um servidor ou um cliente verificar formulários
                                                                      29
Metas
•    Escalabilidade/Técnicas
    – Distribuição




           Divisão do espaço de nomes do DNS em zonas
                                                        30
Metas
•   Escalabilidade/Técnicas
    – Replicação/Cache (*)




              Replicação: decisão do proprietário
                    Cache: decisão do cliente
             (*) Problema de consistência de dados   31
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
• Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    32
Metas
•    Confiabilidade
    –  Tolerar falhas
      • Habilidade do sistema continuar operacional mesmo
         na presença de falhas (redundância e controle
         distribuído)
    – Detectar e recuperar falhas
      • Capacidade para detectar ocorrência de falhas e levar
         o sistema a um estado aceitável para a continuidade
         da operação (mecanismos de retransmissão de msgs)


                                                        33
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
• Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    34
Metas
•   Flexibilidade
    –    Capacidade de modificação e inclusão
        • Correção/manutenção do sistema sem interrupção do
           serviço
        • Inclusão de novas funcionalidades e recursos
           (integração de componentes)




                                                       35
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
• Desempenho
•   Heterogeneidade
•   Segurança


                                    36
Metas
•    Desempenho
    –  Objetivo: transformar o desempenho tão bom quanto,
       ou mesmo superior, a de um sistema centralizado
    – Técnicas básicas
      • Uso da cache
      • Minimizar a necessidade de transferência de dados e
          sincronização
      • Explorar uso de paralelismo de alta granularidade
          (threads, concorrência etc.)



                                                       37
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
• Heterogeneidade
•   Segurança


                                    38
Metas
•    Heterogeneidade
    –  Objetivo: permitir a interação de sistemas diferentes
       tanto em nível de software como de hardware
      • Inclui diferentes SOs e linguagens de programação
    – Técnicas básicas
      • Uso de protocolos
      • Uso de formatos comuns para representação de
          dados (XDR, XML etc.)
      • Camadas de adaptação (Middleware)


                                                         39
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
• Segurança

                                    40
Metas
•    Segurança
    –  Objetivo: proteção recursos compartilhados e
       manutenção da confiabilidade de dados
    – Deve considerar mecanismos para:
      • Autenticação
      • Autorização
      • Integridade
      • Confidencialidade
      • Autenticidade
    – Técnicas de criptografia
    – Preocupação com ataques (DoS, DDoS)
                                                      41
Sumário
•   Definição

•   Metas

• Tipos de Sistemas Distribuídos




                                   42
Tipos de SDs
• Sistemas de Computação Distribuídos

•   Sistemas de Informação Distribuídos

•   Sistemas Embutidos Distribuídos




                                          43
Tipos de SDs
•   Sistemas de Computação Distribuídos
    –   Sistemas de computação de clusters
    –   Sistemas de computação em grade (grids)




                                                  44
Tipos de SDs
•   Sistemas de computação de clusters
    –   Conjunto de estações de trabalho ou PCs semelhantes,
        conectados por meio de uma rede de alta velocidade
    –   Cada nó executa o mesmo SO
    –   Hardware subjacente homogêneo
    –   Usado para processamento paralelo – único programa
        executado em várias máquinas




                                                         45
Tipos de SDs




•    Ex: Cluster Beowulf
    – Nó mestre (middleware)
      • Aloca nós de computação a um determinado
          programa paralelo, mantém uma fila de jobs e
          gerencia o cluster
    – Nó de computação
      • SO padrão                                     46
Tipos de SDs
•   Sistemas de computação em grade (grids)
    –   SDs montados como federação de computadores, na
        qual cada sistema pode cair sob um sistema
        administrativo diferente, e pode ser muito diferente no
        que tange a hardware, software e tecnologia empregada
    –   Apresentam alto grau de heterogeneidade
    –   Software usado para permitir acesso a recursos (e.g.
        muitas vezes clusters) de diferentes organizações
        reunidos para permitir a colaboração de um grupo
        (conceito de organização virtual)
    –   Foco dirigido para a arquitetura
                                                           47
Tipos de SDs
•    Sistemas Distribuídos Pervasivos
    –  Dispositivos de computação móveis e embutidos
      • Pequeno porte
      • Alimentação por bateria
    – Ausência geral de controle humano
    – Exemplos
      • Sistemas doméstios
      • Redes de sensores
      • Sistemas eletrônicos para tratamento de saúde


                                                        48

Mais conteúdo relacionado

PDF
Sistemas Distribuídos - Aspectos de Projeto
PDF
ACII - SL07 - Introducao aos sistemas distribuidos
PPT
Sistemas operacionais sistemas-distribuidos
PDF
Introcucao aos Sistemas Distribuidos
PDF
Introdução aos Sistemas Distribuídos
DOC
Artigo Sistemas Distribuidos
PPTX
Sistemas distribuídos aula 1
PPTX
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Sistemas Distribuídos - Aspectos de Projeto
ACII - SL07 - Introducao aos sistemas distribuidos
Sistemas operacionais sistemas-distribuidos
Introcucao aos Sistemas Distribuidos
Introdução aos Sistemas Distribuídos
Artigo Sistemas Distribuidos
Sistemas distribuídos aula 1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1

Mais procurados (20)

PDF
desafios na implementacao de sistemas distribuidos
PDF
Apresentação Sistemas Distribuídos - Conceito
PPTX
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
PPT
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
PDF
Caracterizacao de sistemas distribuidos
PPTX
Aula04 Sistemas Distribuídos - Processos
PDF
SI - Introdução a Sistemas Distribuidos
PPT
Capítulo 2 - Sistemas Distribuídos - Coulouris
PPTX
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
PDF
Introdução a Sistemas Distribuídos
PDF
Sistemas Distribuídos - Grids Computacionais
PPTX
Aula09 SD - Replicação e Consistência
PDF
SI - Comunicação
PDF
SI - Arquiteturas
PDF
Aula 2 introdução a sistemas distribuídos
PPT
Sistemas Distribuídos - Modelos Arquitetônicos
PPT
Sd08 (si) sistemas de arquivos distribuídos
PDF
Arquitectura e modelos de sistemas distribuidos
PPTX
Sistemas Distribuídos - Aula 01
PPTX
Introdução aos sistemas distribuidos
desafios na implementacao de sistemas distribuidos
Apresentação Sistemas Distribuídos - Conceito
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Caracterizacao de sistemas distribuidos
Aula04 Sistemas Distribuídos - Processos
SI - Introdução a Sistemas Distribuidos
Capítulo 2 - Sistemas Distribuídos - Coulouris
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Introdução a Sistemas Distribuídos
Sistemas Distribuídos - Grids Computacionais
Aula09 SD - Replicação e Consistência
SI - Comunicação
SI - Arquiteturas
Aula 2 introdução a sistemas distribuídos
Sistemas Distribuídos - Modelos Arquitetônicos
Sd08 (si) sistemas de arquivos distribuídos
Arquitectura e modelos de sistemas distribuidos
Sistemas Distribuídos - Aula 01
Introdução aos sistemas distribuidos
Anúncio

Destaque (8)

PDF
Aula sd 2008_02aspectosprojectosds
PDF
PDF
Apresentação da Disciplina de Sistemas Distribuídos
PDF
SI - Sistemas Distribuídos - Apresentação da disciplina
PDF
Publish-Subscribe Middlewares
PDF
Sistemas De Arquivos Distribuídos (SAD)
PPTX
Sistemas Distribuídos - Aula 00
PDF
P2P - Sistemas Distribuídos
Aula sd 2008_02aspectosprojectosds
Apresentação da Disciplina de Sistemas Distribuídos
SI - Sistemas Distribuídos - Apresentação da disciplina
Publish-Subscribe Middlewares
Sistemas De Arquivos Distribuídos (SAD)
Sistemas Distribuídos - Aula 00
P2P - Sistemas Distribuídos
Anúncio

Semelhante a Sd capitulo01 (20)

PDF
Sistemas operacionais
PDF
Sistemas Distribuídos - Aula 1
PDF
Introducao.2s
PDF
Aula 01 - Introdução à Disciplina de Sistemas Distribuídos
PPTX
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
PDF
SISTEMA SD
PDF
Aula Introdução a Sistemas Distribuídos.pdf
PDF
Conceitos basicos
PDF
Modelos de estruturação de sistemas distribuídos
PPTX
IFPA - Sistemas Distribuídos - Aula 01.pptx
PDF
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
PDF
SD_Aula_02_Introdução ao SD.pdf
PPTX
Sistemas Distribuídos - Aula 02
PPTX
Cloud Computing: Desafios e oportunidades
PDF
Aula 1 - Introducao.pdf
PDF
Distributed Systems - Exercises
PDF
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
PPTX
Jduro presentation-cloud computing a perspective study
PDF
Mini-curso: Grades e nuvens
PPTX
Grids computacionais
Sistemas operacionais
Sistemas Distribuídos - Aula 1
Introducao.2s
Aula 01 - Introdução à Disciplina de Sistemas Distribuídos
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
SISTEMA SD
Aula Introdução a Sistemas Distribuídos.pdf
Conceitos basicos
Modelos de estruturação de sistemas distribuídos
IFPA - Sistemas Distribuídos - Aula 01.pptx
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
SD_Aula_02_Introdução ao SD.pdf
Sistemas Distribuídos - Aula 02
Cloud Computing: Desafios e oportunidades
Aula 1 - Introducao.pdf
Distributed Systems - Exercises
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
Jduro presentation-cloud computing a perspective study
Mini-curso: Grades e nuvens
Grids computacionais

Mais de Portal_do_Estudante_SD (6)

PDF
Sistemas operativos distribuidos e de redes
PDF
Corbawebserves
PDF
Computacao distribuida com rmi
PDF
PDF
Sistemas operativos distribuidos
Sistemas operativos distribuidos e de redes
Corbawebserves
Computacao distribuida com rmi
Sistemas operativos distribuidos

Sd capitulo01

  • 1. SISTEMAS DISTRIBUÍDOS 2008.2 Capítulo 1 Introdução André Ribeiro Cardoso - andrec@larces.uece.br 1
  • 2. Apresentação • Prof. André Ribeiro Cardoso (andrec@larces.uece.br) • Material didático: http://www.larces.uece.br/~andrec/SD20082 • Sistema de avaliação: – Duas provas teóricas - P1 e P2 – Trabalhos práticos - T – Seminários - S média = (P + P + T + S) 1 2 /4 • Condição para aprovação: média >= 7,0 – Nota final = (média + NEF) / 2 >= 5,0 2
  • 3. Bibliografia • Sistemas Distribuídos – Princípios e Paradigmas (2a edição) Andrew Tanenbaum / Maarten Van Steen • Sistemas Distribuídos – Conceitos e Projetos (4a edição) George Coulouris, Jean Dollimore e Tim Kindberg 3
  • 4. Objetivos • Apresentar os princípios de funcionamento, conceitos avançados e tecnologias subjacentes dos Sistemas Distribuídos • Explorar os conhecimentos adquiridos através de Trabalhos Práticos e Seminários Avançados 4
  • 5. Cronograma (60horas) • Dezembro/2008 – 02, 04, 09, 11, 16, 18, 23 -------------------- 2009 -------------------- • Janeiro – 06, 08, 13, 15, 20, 22, 27, 29 • Fevereiro – 03, 05, 10, 12, 17, 19, 26 • Março – 03, 05, 10, 12, 17, 24, 26, 31 • Abril – 02, 07, 14, 16, 20 5
  • 6. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 6
  • 7. Definição • “Um sistema distribuído (SD) é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente” (Tanenbaum) • “Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas ações por passagem de mensagens” (Coulouris et al.) • Implica em: concorrência, ausência de relógio global e falhas isoladas e independentes • Motivação: compartilhamento de recursos 7
  • 8. Definição Sistemas Distribuídos “Você que tem um quando a falha de um computador do qual você nunca ouviu falar impede que você faça qualquer trabalho” 8
  • 9. Definição Arquitetura geral de um SD • Middleware: camada de software que se estende por várias máquinas e oculta das aplicações as diferenças em hardware e sistemas operacionais 9
  • 10. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 10
  • 11. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 11
  • 12. Metas • Acesso/compartilhamento de recursos – Considerada PRINCIPAL META – Tipos de recursos • Impressoras, computadores, dados, Hds etc. – Um SD deve oferecer fácil acesso a recursos remotos e compartilhamento eficiente/controlado – Compartilhamento de recursos induz a economia 12
  • 13. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 13
  • 14. Metas • Transparência da distribuição – Oculta o fato de recursos estarem distribuídos – Um SD se apresenta a usuários e aplicações como um sistema único (TRANSPARENTE) – Tipos de transparências • Acesso, Localização, Migração, Relocação, Replicação, Concorrência e Falha 14
  • 15. Metas Transparência da distribuição (cont.) • Acesso – Trata de ocultar diferenças em representação de dados (máquinas com arquiteturas diferentes) – Diferenças entre sistemas de nomeação e como arquivos são manipulados • Localização – O nome do recurso deve ser independente de sua localização física (sist. nomeação tem papel importante) – Nomes lógicos (URL): usuário acessa recursos da independente de onde ele está 15
  • 16. Metas Transparência da distribuição (cont.) • Migração – Objetos podem migrar de uma máquina a outra por questões de desempenho, confiabilidade, segurança etc. – Deve • Ser feita de forma automática pelo sistema • Manter nome do objeto • Garantir continuidade de comunicação 16
  • 17. Metas Transparência da distribuição (cont.) • Relocação – Oculta que um recurso (notebook) possa ser movido para outra localização durante o uso – Quando um usuário é móvel? • Um notebook se movimentando dentro da mesma área de cobertura (não é móvel) • Um automóvel passando por várias redes de acesso sem fio, com conexão ininterrupta (móvel) • Um notebook numa lanchonete sem necessidade de conectividade durante trajetória (móvel) 17
  • 18. Metas Transparência da distribuição (cont.) • Replicação – Permite que várias instâncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho – Deve • Mascarar o conhecimento das réplicas por parte dos usuários ou dos programadores de aplicativos 18
  • 19. Metas Transparência da distribuição (cont.) • Concorrência – Coordenar acessos a recursos compartilhados • Ordenação de eventos: todos usuários ter uma mesma visão do sistema • Garantir exclusão mútua • Evitar postergação indefinida • Evitar deadlocks • Tolerar falhas, detectar e recuperar falhas 19
  • 20. Metas • Transparência da distribuição (sumário) 20
  • 21. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 21
  • 22. Metas • Abertura – SD aberto oferece serviços de acordo com regras padronizadas para descreverem a sintaxe e semântica dos serviços • Ex: Em redes, existe a padronização de protocolos que regem o conteúdo, formato e significado das mensagens • Em SDs, os serviços são especificados por IDLs – IDLs capturam a sintaxe dos serviço (especificam nome das funções, tipos de parâmetros, valores de retorno, exceções etc. – Especificação da semântica (parte complicada) 22
  • 23. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 23
  • 24. Metas • Escalabilidade – De tamanho • Entrada de vários usuários ao sistema – Geográfica • Usuários e recursos devem estar longe uns dos outros – Administrativa • Envolvimento de várias organizações administrativas 24
  • 25. Metas • Escalabilidade/Problemas (tamanho) 25
  • 26. Metas • Escalabilidade/Problemas (geográfica) 26
  • 27. Metas • Escalabilidade/Problemas (administrativa) 27
  • 28. Metas • Escalabilidade/Técnicas – Ocultar latências (geográfica) • Idéia: evitar o tempo de resposta a req. remotas • Comunicação assíncrona: execução de outros trabalhos – Distribuição • Idéia: dividir um componente em partes e espalhar pelo sistema • Ex: DNS e Web – Replicação / Cache • Idéia: replicar recursos para aumentar disponibilidade 28
  • 29. Metas • Escalabilidade/Técnicas – Ocultar latências: Aplicações interativas não usam comunicação assíncrona • Solução: uso de formulários Diferença entre deixar um servidor ou um cliente verificar formulários 29
  • 30. Metas • Escalabilidade/Técnicas – Distribuição Divisão do espaço de nomes do DNS em zonas 30
  • 31. Metas • Escalabilidade/Técnicas – Replicação/Cache (*) Replicação: decisão do proprietário Cache: decisão do cliente (*) Problema de consistência de dados 31
  • 32. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 32
  • 33. Metas • Confiabilidade – Tolerar falhas • Habilidade do sistema continuar operacional mesmo na presença de falhas (redundância e controle distribuído) – Detectar e recuperar falhas • Capacidade para detectar ocorrência de falhas e levar o sistema a um estado aceitável para a continuidade da operação (mecanismos de retransmissão de msgs) 33
  • 34. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 34
  • 35. Metas • Flexibilidade – Capacidade de modificação e inclusão • Correção/manutenção do sistema sem interrupção do serviço • Inclusão de novas funcionalidades e recursos (integração de componentes) 35
  • 36. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 36
  • 37. Metas • Desempenho – Objetivo: transformar o desempenho tão bom quanto, ou mesmo superior, a de um sistema centralizado – Técnicas básicas • Uso da cache • Minimizar a necessidade de transferência de dados e sincronização • Explorar uso de paralelismo de alta granularidade (threads, concorrência etc.) 37
  • 38. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 38
  • 39. Metas • Heterogeneidade – Objetivo: permitir a interação de sistemas diferentes tanto em nível de software como de hardware • Inclui diferentes SOs e linguagens de programação – Técnicas básicas • Uso de protocolos • Uso de formatos comuns para representação de dados (XDR, XML etc.) • Camadas de adaptação (Middleware) 39
  • 40. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 40
  • 41. Metas • Segurança – Objetivo: proteção recursos compartilhados e manutenção da confiabilidade de dados – Deve considerar mecanismos para: • Autenticação • Autorização • Integridade • Confidencialidade • Autenticidade – Técnicas de criptografia – Preocupação com ataques (DoS, DDoS) 41
  • 42. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 42
  • 43. Tipos de SDs • Sistemas de Computação Distribuídos • Sistemas de Informação Distribuídos • Sistemas Embutidos Distribuídos 43
  • 44. Tipos de SDs • Sistemas de Computação Distribuídos – Sistemas de computação de clusters – Sistemas de computação em grade (grids) 44
  • 45. Tipos de SDs • Sistemas de computação de clusters – Conjunto de estações de trabalho ou PCs semelhantes, conectados por meio de uma rede de alta velocidade – Cada nó executa o mesmo SO – Hardware subjacente homogêneo – Usado para processamento paralelo – único programa executado em várias máquinas 45
  • 46. Tipos de SDs • Ex: Cluster Beowulf – Nó mestre (middleware) • Aloca nós de computação a um determinado programa paralelo, mantém uma fila de jobs e gerencia o cluster – Nó de computação • SO padrão 46
  • 47. Tipos de SDs • Sistemas de computação em grade (grids) – SDs montados como federação de computadores, na qual cada sistema pode cair sob um sistema administrativo diferente, e pode ser muito diferente no que tange a hardware, software e tecnologia empregada – Apresentam alto grau de heterogeneidade – Software usado para permitir acesso a recursos (e.g. muitas vezes clusters) de diferentes organizações reunidos para permitir a colaboração de um grupo (conceito de organização virtual) – Foco dirigido para a arquitetura 47
  • 48. Tipos de SDs • Sistemas Distribuídos Pervasivos – Dispositivos de computação móveis e embutidos • Pequeno porte • Alimentação por bateria – Ausência geral de controle humano – Exemplos • Sistemas doméstios • Redes de sensores • Sistemas eletrônicos para tratamento de saúde 48