Вы находитесь на странице: 1из 24

Aplicações Distribuídas

Licenciatura em Engenharia Informática


3º Ano – 5º Semestre
Ano lectivo 2010-2011

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


1
Sumário

  Intro. e Conceitos Fundamentais


  Sistemas Distribuídos e Aplicações
Distribuídas
  Características Chave
  Desafios a enfrentar em Aplicações
Distribuídas

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


2
O que é um Sistema Distribuído?
  Um sistema distribuído é um conjunto de vários
componentes de hardware (nós, hosts, máquinas ou
computadores) e software (processos, objectos,...):
  Que estão fisicamente distribuídos
  Que possuem relógios independentes
  Que estão ligados através de uma infra-estrutura de
comunicações (e.g., rede de computadores ou um bus, …)
  Que operam concorrentemente, cooperam e se coordenam
entre si apenas pela troca de mensagens, para execução de
aplicações distribuídas

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Exemplo - Internet



intranet ☎





ISP

backbone

satellite link

desktop computer:

server:

network link:

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Sistema Distríbuído

  Características inerentes aos Sistemas


Distribuídos:
  Concorrência entre componentes
  Necessidade de coordenação entre componentes

  Falhas independentes dos componentes e das comunicações


  Pode ser impossível determinar se existe uma falha dum componente ou
do sistema de comunicações
  Necessidade de tratar das falhas

  Falta de sincronismo – Ausência de um relógio global


  Não é possível usar os relógios locais de cada componente para ordenar
globalmente todos os eventos/tarefas

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Sistema Distribuído

  Implicações
  Nenhum componente tem uma visão exacta instantânea do
estado global de todo o sistema

  Os componentes têm apenas uma visão parcial do estado


global do sistema
  Os componentes do sistemas estão distribuídos e só podem cooperar
através da troca de mensagens, as quais levam um tempo não nulo a
propagarem-se

  Na presença de falhas, o estado global pode tornar-se


incoerente, i.e., as visões parciais do estado global podem
tornar-se incoerentes.
  Por exemplo, réplicas de um objecto podem ficar incoerentes

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Exemplo - Sistema de Encaminhamento
Exterior na Internet
  Para clarificar temos o exemplo do Encaminhamento
Exterior na Internet:
  Cada router possui apenas uma visão parcial da Internet, diferente da
visão dos restantes
  Cada router apenas troca mensagens e informação de
encaminhamento com os seus vizinhos
  Cada router toma as suas próprias decisões de encaminhamento
  Após uma alteração no encaminhamento por selecção de uma melhor
rota ou queda de uma ligação, os routers na Internet podem demorar
10-15 minutos a tomar conhecimento da alteração (incoerência no
estado do encaminhamento)

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


O que ganhamos com a
distribuição?
  Principais Vantagens:
  Custo Inferior, ou pelo menos mais racional
  várias pequenas máquinas podem se mais baratas que uma só gigantesca
  Possibilidade de controlo de custos
  Melhor Desempenho
  paralelismo real
  Maior Disponibilidade
  se uma máquina falha, as outras podem continuar a oferecer um dado
serviço
  Maior Fiabilidade
  Maior a tolerância a falhas
  Flexibilidade e Adaptabilidade
  Decomposição de um sistema complexo num conjunto de sistemas mais
simples
  Extensibilidade
  Crescimento incremental e modular
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
O que ganhamos com a distribuição?
  Melhor Desempenho!

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


O que ganhamos com a distribuição?
  Maior Disponibilidade!
  Exemplo: www.google.com (usando o comando dig www.google.com)
  www.google.com. 604800 IN CNAME www.l.google.com.
  www.l.google.com. 300 IN A 209.85.135.147
  www.l.google.com. 300 IN A 209.85.135.99
  www.l.google.com. 300 IN A 209.85.135.103
  www.l.google.com. 300 IN A 209.85.135.104

Orador:
Alexandr
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
e 10
Fonte
O que ganhamos com a distribuição?
•  Maior Fiabilidade!
  Exemplo Serviço DNS
  Se houver uma
catástrofe
em Portugal ou em
Castelo Branco
possível resolver nomes
pertencentes
ao domínio .pt
ou .ipcb.pt

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


O que ganhamos com a distribuição?
  Exemplo DNS – continuação.

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Desvantagens dos DS
  Desvantagens
  Software: Software mais difícil de desenvolver
  Rede: aumento da carga na rede, dificuldades nas
comunicações afectar o desempenho do SD
  Segurança: maior facilidade de acesso à informação devido à
distribuição também implica necessidade de maior segurança
  Exemplo: cartão matriz (caixadirecta.cgd.pt)

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Desafios
  A modelação de Sistemas Distribuídos envolvem alguns
desafios/objectivos:
  Tornar os recursos acessíveis

  Heterogeneidade

  Transparência

  Abertura

  Escalabilidade

  Tratamento de falhas

  Entre outros (e.g., concorrência e segurança)

  Será que vale a pena o esforço?

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Tornar os Recursos acessíveis
  O principal objectivo é tornar fácil o acesso a recursos
remotos e partilha-los de forma controlada e eficiente
  Vantagens económicas
  Trabalho colaborativo
  Partilha de informação

  Recursos podem ser quase tudo


  Impressoras, computadores, ficheiros, páginas web, redes, ...

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Lidar com a Heterogeneidade
  Do hardware: telemóveis, PDAs, portáteis (laptops), workstations
(desktops), servidores, multiprocessadores, clusters (agregados),
grids,...
  Diferentes características dos processadores, da memória, da
representação dos dados, dos códigos de caracteres,...
  Das redes de interligação e dos protocolos de transporte:
  Redes móveis (GSM, UMTS, CDMA), Wi-Max, WLANs, wired LANs,
WANs, ..., TCP/IP,
  Da Representação dos dados (e.g., inteiros)
  Dos sistema operativos: Windows, Unix/Linux, Mac OS, Symbian
OS, ...
  Diferentes interfaces para as mesmas funcionalidades (e.g.,
Berckeley Sockets e Java Sockets)
  Das linguagens de programação (Java, C#, Ruby, ....)

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Transparência

  Capacidade para se apresentar como um sistema


computacional único.

  Esconde o facto de que é constituído por vários


processos e recursos que estão fisicamente distribuídos
por múltiplos computadores.

  Tipos de Transparência
  Norma ISO: "Open Distributed Processing Reference Model.” (1995).

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Tipos de Transparência (1)
  Acesso transparente
  Esconde a forma de acesso aos recursos
  Esconde diferenças na representação dos dados (e.g., especificas de
diferentes arquitecturas)

  Localização transparente
  Esconde a localização dos processos e recursos
  A existência de nomes lógicos para os recursos possui um papel importante
(e.g., www.facebook.com pode mudar de IP)

  Migração e Realocação transparente


  Esconde que o recurso é movido para outra localização.
  Esconde que o recurso pode ser movido para outra localização durante a
sua utilização

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Tipos de Transparência (2)

  Replicação transparente
  Esconde que o recurso está replicado
  Permite aumentar a disponibilidade e desempenho do sistema (e.g., n
replicas, próximas dos utilizadores)

  Concorrência transparente
  Esconde que um recurso (e.g., ficheiro, tabela de uma base de dados)
é partilhando por vários processos concorrentes

  Falha transparente
  Esconde a existência de falhas e procedimentos de recuperação

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Abertura

  Um sistema distribuído aberto (oferece serviços que) segue regras standard


(ou protocolos) que descrevem a sintaxe e semântica dos serviços

  Facilita a configuração, extensão e re-implementação do sistema

  Sistemas abertos
  Possuem interfaces e modelos (incluindo protocolos de comunicação) bem
conhecidos (e.g., interfaces de serviços especificados por uma IDL)
  Evolução controlada por organismos de normalização ou consórcios industriais
  Assegura a interoperabilidade de componentes com diferentes implementações
  E.g., UNIX, Linux, Openoffice.
  Curiosamente, o Mac OS X Leopard 10.5 apesar de código “fechado” é um
produto que possui certificação OpenBrand Unix 03

  Sistemas proprietários
  Podem ser modificados apenas pelo seu “dono”
  E.g., MS Window 7, Vista, XP, MS Office, Mac OS X Leopard, iWorks, etc

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Escalabilidade (1)
  A escala de um sistema distribuído é o âmbito que este
abrange e o número de componentes

  A escalabilidade de um sistema tem várias facetas:


  dimensão (mais recursos e utilizadores,....)

  âmbito geográfico (rede local, país, mundo, ...)

  âmbito administrativo (uma organização, inter-


organizações)

  Um sistema de pequena escala é um sistema confinado a uma


organização pequena / média, com poucos utilizadores e poucos
componentes.
  Um sistema de grande escala é um sistema com muitos recursos
ou utilizadores, ou cobrindo uma área geográfica significativa, ou
envolvendo muitas organizações.
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
Escalabilidade (2)
  Os SD devem funcionar eficaz e eficientemente em
escalas diferentes, desde pequenas Intranets até à
Internet
  A Internet é um exemplo de um sistema escalável:

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Escalabilidade (3)
  Arquitectura de um sistema escalável tem alguns
desafios:
  Controlar a diminuição de desempenho (algoritmos

com estruturas hierárquicas)


  Prevenir que os recursos se esgotem (Endereços IP)

  Evitar congestionamento do desempenho (DNS;

sistemas descentralizados)
  Controlar o custo dos recursos físicos (estabelecer

uma relação entre o número de utilizadores por


máquina)

Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011


Tratamento de Falhas
  Os sistemas de computadores por vezes falham! 
  Falhas de hardware ou software

  Os programas podem produzir resultados ou


comportamentos incorrectos ou parar antes de concluir
uma tarefa

  Detecção de falhas
  Algumas falhas podem ser detectadas.
  Checksums – verificar se os dados estão correctos.

  Tolerância a falhas
  Propriedade de um sistema distribuído que lhe permite recuperar da
existência de falhas sem introduzir comportamentos incorrectos. Um
sistema deste tipo pode mascarar as falhas e continuar a operar, ou
parar e voltar a operar mais tarde, de forma coerente, após reparação
Alexandre
daFonte
falha. Material de Apoio a AD, ESTCB Edição 2010-2011