aula 01 fund a mentos intros d
DESCRIPTION
Aula 1 SDTRANSCRIPT
![Page 1: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/1.jpg)
+
Sistemas Distribuídos 2013.1 – Eng. Computação
Prof. Jairson Rodrigues
Aula 01 – Conceitos de Sistemas Distribuídos
FUNDAMENTOS
![Page 2: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/2.jpg)
+Apresentação
! Geral ! Habilitar o aluno a reconhecer as principais características e
algoritmos em um sistema distribuído.
! Específicos ! Familiarizar o aluno com o modelo distribuído de computação;
! Apresentar os principais conceitos envolvidos no projeto e no desenvolvimento de sistemas distribuídos;
Objetivos da Disciplina
2
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 3: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/3.jpg)
+Apresentação
! Conceitos
! Modelos de Sistemas Distribuídos
! Comunicação entre Processos Distribuídos
! Objetos Distribuídos e Invocação Remota
! Processos e Threads
! Suporte do Sistema Operacional
Conteúdo Programático
3
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 4: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/4.jpg)
+Apresentação
! Sistemas de Arquivos Distribuídos
! Sistemas P2P
! Relógios e Sincronização
! Algoritmos de Coordenação e Acordo
! Transações Distribuídas e Controle de Concorrência
! Estudo de Caso: Projetando Sistemas Distribuídos (Google)
Conteúdo Programático
4
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 5: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/5.jpg)
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
6
" Introdução " Modelos de Sistemas " Comunicação entre Processos " Invocação Remota " Comunicação Indireta " Suporte do S.O.
Fundamentos " Objetos Distribuídos e
Componentes " Web Services " Sistemas Peer-to-Peer
Middleware
" Serviços de Nome " Sistemas de Arquivo Distribuídos
Serviços do Sistema " Tempo e Estados Globais " Coordenaçõ e Acordo
Algoritmos Distribuídos
" Controle de Concorrência " Transações Distribuídas
Dados Compartilhados " Computação em Nuvem " Virtualização " Computação Ubíqua e Pervarsiva " Universal Description, Discovery and Integration - UDDI " Serviços de Autenticação – Oauth " Sistemas Multimídia Distribuídos " Arquitetura Orientada a Serviços – SOA " Simple Object Access Protocol - SOAP
Seminários
O Sistema Distribuído GOOGLE
Estudo de Caso
Roteiro
![Page 6: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/6.jpg)
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
7
" Introdução " Modelos de Sistemas " Comunicação entre Processos " Invocação Remota " Comunicação Indireta " Suporte do S.O.
Fundamentos " Objetos Distribuídos e
Componentes " Web Services " Sistemas Peer-to-Peer
Middleware
" Serviços de Nome " Sistemas de Arquivo Distribuídos
Serviços do Sistema " Tempo e Estados Globais " Coordenaçõ e Acordo
Algoritmos Distribuídos
" Controle de Concorrência " Transações Distribuídas
Dados Compartilhados " Computação em Nuvem " Virtualização " Computação Ubíqua e Pervarsiva " Universal Description, Discovery and Integration - UDDI " Serviços de Autenticação – Oauth " Sistemas Multimídia Distribuídos " Arquitetura Orientada a Serviços – SOA " Universal Description, Discovery and Integration - UDDI
Seminários
O Sistema Distribuído GOOGLE
Estudo de Caso
Aula de Hoje
![Page 7: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/7.jpg)
+
AGENDA Definições
Exemplos e Aplicações
Motivos para distribuição
Consequências da distribuição
Desafios
Exercícios
FUNDAMENTOS
Aula 01 – Conceitos de Sistemas Distribuídos
![Page 8: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/8.jpg)
+ Definições
! “Definir exatamente um SD é perigoso, pois uma característica importante (ou que pode ser importante no futuro) pode ser esquecida” (Mullunder)
! Podemos pensar sistema distribuído como aquele “sistema em que uma interrupção em uma máquina ou serviço que você nem sabia que existia faz com que o seu computador deixe de funcionar”.
O que é um Sistema Distribuído?
9
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 9: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/9.jpg)
+ Definições
! “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)
! “Coleção de computadores independentes que se apresentam aos seus usuários como um único sistema coerente” (Tanenbaum)
! “Conjunto de computadores autônomos conectados por uma rede, cada um deles equipado com um software de SD” (Coulouris)
! “Sistema com várias entidades de processamento e vários dispositivos de armazenamento, conectados entre si por uma rede” (Mullunder)
Com mais formalidade
10
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 10: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/10.jpg)
+Exemplos e Aplicações O maior e melhor deles… A Internet
11
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 11: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/11.jpg)
+Exemplos e Aplicações Mais exemplos: uma Intranet (LAN, MAN, WAN…)
12
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 12: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/12.jpg)
+Exemplos e Aplicações Mais exemplos: Computação móvel e ubíqua
13
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 13: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/13.jpg)
+Exemplos e Aplicações Mais exemplos: Computação nas Nuvens
14
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
![Page 14: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/14.jpg)
+Domínios de Aplicação
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
15
! Finanças e Comércio ! Amazon, eBay, Paypal, Internet Banking, Caixa Eletrônico
! Engenhos de busca e informação na web ! Google, Yahoo, Wikipedia, Facebook, MySpace
! Indústrias Criativas e Entretenimento ! Jogos online, compra de música e filmes, Youtube, Flickr
! Medicina ! Monitoramento remoto de pacientes, prontuários online
![Page 15: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/15.jpg)
+Exemplos e Aplicações
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
16
! Educação ! Educação à Distância (EAD), Ambientes virtuais de aprendizado
! Transportes e Logística ! Sistemas de rota e localização, Google Maps, Google Earth
! Monitoramento Ambiental ! Sensores para monitoramento de terremotos e tsunamis
! Política e Organizacional do Estado ! A eleição eletrônica brasileira; Imposto de Renda de Pessoa
Física (IRPF – Receita Federal)
! ...
![Page 16: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/16.jpg)
+Motivos para Distribuição
! Distribuição funcional: os recursos naturalmente estão distribuídos ! Necessidade para compartilhar recursos (HW + SW) entre
usuários finais, outros sistemas ou objetos distribuídos
! Componentes de hardware: como impressoras e discos
! Entidades lógicas: arquivos, objetos remotos
! Recursos de alto nível: páginas web, bancos de dados
! Servicos: motores de busca: (Google, Yahoo etc…), conversores de moeda
! Razões econômicas: supercomputadores são mais poderosos, porém muito mais caros
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
17
![Page 17: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/17.jpg)
+Motivos para Distribuição
! Distribuição inerente, que provém do domínio da aplicação ! Caixas e sistema de controle de estoque em supermercados; ! Terminais de acesso e servidores para processamento de
transações bancárias.
! Aumento da capacidade computacional ! 10.000 CPUs, executando 50 MIPS resulta em 500.000 MIPS. Cada
instrução executa em 0.002 nsec. Um único processador deste derreteria imediatamente nestas condições.
! Distribuição para balanceamento de carga
! Separação física: segurança, questões de estrutura, confidencialidade, disponibilidade...
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
18
![Page 18: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/18.jpg)
+Consequências da Distribuição
! Concorrência ! Execução concorrente é norma;
! Acesso simultâneo a páginas, arquivos, serviços etc;
! Necessário coordenacão de recursos
! Inexistência de relógio global ! Troca de mensagens precisa de noção de tempo;
! Necessidade de sincronização de relógios;
! Não há noção global única de tempo
! Falhas independentes ! Resultam em isolamento das partes conectadas
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
19
![Page 19: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/19.jpg)
+Desafios
! Desafios reais para desenvolvedores: ! Heterogeneidade
! Abertura
! Segurança
! Escalabilidade
! Tratamento de Falhas
! Concorrência
! Transparência
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Características de SD’s Robustos e de Qualidade
20
![Page 20: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/20.jpg)
+Desafios
! Qualifica aquilo que varia e é diferente: ! Infra-estrutura de rede; ! Hardware dos computadores; ! Sistemas Operacionais; ! Linguagens de Programação; ! A implementação por diferentes programadores.
! Middleware - Soluciona a heterogeneidade através da criação de uma camada intermediária
! Código Móvel ! Enviado do servidor para execução no destino; ex: Applets Java. ! Necessidade de Máquina Virtual; ex: Java Virtual Machine
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Heterogeneidade
21
![Page 21: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/21.jpg)
+Desafios
! Característica dos sistemas de informação serem expansíveis e re-implementados de várias maneiras. ! Grau de extensibilidade - capacidade de acoplar novas
funcionalidades a uma aplicação, de forma que não seja necessário realizar grandes mudanças em outras partes dela.
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Abertura
22
![Page 22: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/22.jpg)
+Desafios
! Que sejam conhecidas as interfaces através da publicação de sua documentação
! Que haja um mínimo de padronização por que senão o processo se torna lento e moroso para atingir os objetivos
! Exemplo de publicação de interface: Requests For Comments ou RFCs – www.ietf.org
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Abertura – Condições Necessárias
23
![Page 23: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/23.jpg)
+Desafios
! Proporcionar o nível de confidencialidade exigido pelos usuários
! Garantir a integridade dos dados
! Manter a disponibilidade do sistema
! Problemas ainda sem solução definitiva ! Ataques de DoS e DDoS ! Segurança de Código Móvel
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Segurança
24
![Page 24: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/24.jpg)
+Desafios
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Escalabilidade – Evolução
25
da Internet
![Page 25: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/25.jpg)
+Desafios
! Um sistema possui escalabilidade se permanece eficiente quando há um aumento significativo de número de recursos e de usuários
! Necessidades ! Controlar custos dos recursos físicos ! Controlar a perda de desempenho ! Impedir que recursos de software se esgotem
! Evitar gargalos de desempenho
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Escalabilidade
26
![Page 26: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/26.jpg)
+Desafios
! Ocorrência de Falhas Parciais – alguns componentes falham, outros continuam funcionando
! Técnicas e Procedimentos ! Detecção
! Mascaramento
! Tolerância
! Recuperação
! Redundância
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Tratamento de Falhas
27
![Page 27: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/27.jpg)
+Desafios
! O ato de competir por um recurso com vários clientes simultaneamente.
! Objetos de um SD devem ser capazes de operar corretamente em um ambiente concorrente
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Concorrência
28
![Page 28: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/28.jpg)
+Desafios
! Esconder a natureza distribuída dos recursos utilizados para realizar tarefas dos usuários ! Acesso
! Concorrência
! Falha
! Migração
! Expansão
! Localização
! Replicação
! Desempenho
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Transparência
29
![Page 29: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/29.jpg)
+Desafios
! De acesso – uso de recurso local ou remoto através de operações idênticas
! De localização – uso de recurso sem conhecer seu endereço físico
! De replicação – redundância de instâncias de recursos usados para aumentar a disponibilidade e o desempenho
! De desempenho – sistema pode ser reconfigurado para aumentar o desempenho à medida que a carga varia
! De concorrência – processos operam concorrentemente usando recursos compartilhados sem interferência entre eles;
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Transparência
30
![Page 30: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/30.jpg)
+Desafios
! De falha – permitir usuários e aplicações prosseguirem em suas tarefas sem o conhecimento de falhas de HW e SW
! De migração – mudança de localização dos recursos e cliente sem afetar operações de usuários ou aplicações
! De expansão – sistemas e aplicações se expandem sem afetar a estrutura do sistema ou os algoritmos da aplicação
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Transparência
31
![Page 31: Aula 01 Fund a Mentos Intros d](https://reader033.vdocuments.com.br/reader033/viewer/2022052701/55cf9145550346f57b8c29a6/html5/thumbnails/31.jpg)
+Referências
! Sistemas Distribuídos – Princípios e Paradigmas, 2ª Edição – Prentice Hall. Tanenbaum, Andrew; Van Steen, Maarten
! Sistemas Distribuídos – Conceitos e Projeto, 4ª Edição – Bookman. Coulouris, George; Dollimore, Jean; Kindberg, Tim
21/08/13 CCMP0054 - Sistemas Distribuídos I - Engenharia da Computação - Prof. Jairson Rodrigues
Bibliografia, fontes, créditos, imagens…
32