Vous êtes sur la page 1sur 96

CCT320 Sistemas Distribudos

2
Rafael Frinhani
frinhani@unifei.edu.br
2014
UNIVERSIDADE FEDERAL DE ITAJUB
CCT320 Sistemas Distribudos
2
Aulas: 3 feiras 10:10 (Sala C1103) e 5 feiras 10:10 (Sala I2102)
Referncias Bibliogrficas Bsicas
CCT320 Sistemas Distribudos
TANENBAUM, A. & STEEN, M. V. "Sistemas Distribudos - Princpios e
Paradigmas", 2 Edio, Pearson Education do Brasil, Copyright 2008.
COULOURIS, G.; DOLLIMORE, J.; KINDBERG, T.; BLAIR, G. Distributed
Systems Concepts and Design", 5
th
Edition, Pearson Education Inc., Copyright
2012.
3
CCT320 Sistemas Distribudos
Referncias Bibliogrficas Auxiliares
YADAV, S.C & SINGH, S.K. "An introduction to client/server computing" New
Age Internatinal Ltd. Publishers, Copyright 2009.
JIA, W. & Zhou, W. "Distributed Network Systems - From Concepts to
Implementations" Springer Science + Business Media, Inc., Copyright 2005.
Kshemkalyani, A.D. & Singhal, M. "Distributed Computing - Principles,
Algorithms and Systems", Cambridge University Press, Copyright 2008.
CCT320 Sistemas Distribudos
4
Atividades Avaliativas
1 Avaliao (15/Abril) = 30pts
2 Avaliao (03/Julho) = 30pts
Trabalhos = 20pts
Seminrio = 20pts

Observaes:

- No existe prova substitutiva;
- Presena 75%;
- 01 Exame Especial, condies para realizao:
- Frequncia 75%;
- Ter obtido 40 pontos durante o semestre;
CCT320 Sistemas Distribudos
CCT320 Sistemas Distribudos
5
OBJETIVOS
Aula introdutria. Apresentar os conceitos e definies,
principais componentes, desafios, tipos e exemplos de
sistemas distribudos.
AGENDA
Definio

Componentes

Caractersticas

Desafios

Tipos

Exemplos
CCT320 Sistemas Distribudos
6
... consiste de uma coleo de mquinas autnomas
conectadas por redes de comunicao e equipadas com
sistemas de software projetados para produzir um ambiente
de computao integrado e consistente. Weijia Jia
1. SISTEMAS DISTRIBUDOS Definio (1/3)
INTERNET
CCT320 Sistemas Distribudos
7
INTRANET
1. SISTEMAS DISTRIBUDOS Definio (2/3)
CCT320 Sistemas Distribudos
8
COMPUTAO MVEL E UBQUA
1. SISTEMAS DISTRIBUDOS Definio (3/3)
CCT320 Sistemas Distribudos
9
HARDWARE
Cliente (ex. computador pessoal, sensor, smartphone, tablet,
notebook) e Servidores (tradicionais e virtuais).
Computao
Pessoal
1. SISTEMAS DISTRIBUDOS Componentes (1/3)
CCT320 Sistemas Distribudos
10
HARDWARE
Cliente (ex. computador pessoal, sensor, smartphone, tablet,
notebook) e Servidores (tradicionais e virtuais).
Computao
Pessoal
PDAs
1. SISTEMAS DISTRIBUDOS Componentes (1/3)
CCT320 Sistemas Distribudos
11
HARDWARE
Cliente (ex. computador pessoal, sensor, smartphone, tablet,
notebook) e Servidores (tradicionais e virtuais).
Servidores
Computao
Pessoal
PDAs
Supercomputadores
1. SISTEMAS DISTRIBUDOS Componentes (1/3)
CCT320 Sistemas Distribudos
12
REDE
Local Area Networks, (LANs), Wide Area Networks (WANs) e
Internet.
1. SISTEMAS DISTRIBUDOS Componentes (2/3)
CCT320 Sistemas Distribudos
SOFTWARE
Sistemas Operacionais Distribudos, Aplicaes e Middleware.
Fonte: Tanenbaum, A.S & Steen, M.V Distributed Systems Principles and Paradigms, 2
nd

Edition, Pearson Prentice Hall, Copyright 2007
1. SISTEMAS DISTRIBUDOS Componentes (3/3)
13
CCT320 Sistemas Distribudos
14
1. SISTEMAS DISTRIBUDOS Componentes (3/3)
SOFTWARE
Sistemas Operacionais Distribudos, Aplicaes e Middleware.
CCT320 Sistemas Distribudos
15
1. SISTEMAS DISTRIBUDOS Caractersticas
Baixo acoplamento e atrasos na comunicao;
CCT320 Sistemas Distribudos
16
1. SISTEMAS DISTRIBUDOS Caractersticas
Baixo acoplamento e atrasos na comunicao;
O baixo acoplamento de um servio est
relacionado com a sua capacidade de
ser independente de outros servios
para realizar a sua tarefa.
CCT320 Sistemas Distribudos
17
1. SISTEMAS DISTRIBUDOS Caractersticas
Baixo acoplamento e atrasos na comunicao;

Processos em sistemas computacionais distintos com
probabilidade de falhas;
CCT320 Sistemas Distribudos
18
1. SISTEMAS DISTRIBUDOS Caractersticas
Baixo acoplamento e atrasos na comunicao;

Processos em sistemas computacionais distintos com
probabilidade de falhas;

Comunicao geralmente no confivel, onde existem
atrasos, variao de atrasos, perdas e em alguns casos
baixas larguras de banda;
CCT320 Sistemas Distribudos
19
1. SISTEMAS DISTRIBUDOS Caractersticas
Baixo acoplamento e atrasos na comunicao;

Processos em sistemas computacionais distintos com
probabilidade de falhas;

Comunicao geralmente no confivel, onde existem
atrasos, variao de atrasos, perdas e em alguns casos
baixas larguras de banda;

Dificuldade em definir a ordem dos eventos e estado global
do sistema, uma vez que a comunicao acontece pela
troca de mensagens;

Ambiente geralmente marcado pela heterogeinadade.
CCT320 Sistemas Distribudos
20
1. SISTEMAS DISTRIBUDOS Desafios (1/8)
1. Heterogeneidade

2. Sistemas abertos

3. Segurana

4. Escalabilidade

5. Tratamento de falhas

6. Concorrncia

7. Transparncia
CCT320 Sistemas Distribudos
21
1. SISTEMAS DISTRIBUDOS Desafios (2/8)
1. Heterogeneidade

Sistemas finais so heterogneos em diferentes aspectos:
Rede;
Hardware;
Sistema Operacional;
Linguagens de Programao;
Implementao de diferentes desenvolvedores;

A padronizao o caminho para o convvio das diversidades
CCT320 Sistemas Distribudos
22
1. SISTEMAS DISTRIBUDOS Desafios (2/8)
1. Heterogeneidade (cont.)
Middleware

Camada de software intermediaria que oferece uma abstrao
de programao, mascaramento da heterogeneidade da rede,
do Sistema Operacional, do hardware e de linguagens de
programao. ex. CORBA, RMI.
CCT320 Sistemas Distribudos
23
1. Heterogeneidade (cont.)
Migrao de cdigo ou cdigo mvel

Cdigo que pode ser enviado de um computador para outro
e ser executado no destino.

Java applets

Estratgias:

Virtual Machines

Mobilidade de Aplicao

Uma aplicao em execuo pode ser migrada entre
diferentes computadores.
1. SISTEMAS DISTRIBUDOS Desafios (2/8)
Applet um software aplicativo que
executado no contexto de outro
programa (ex. web browser).
Geralmente tm algum tipo de
interface de usurio.
CCT320 Sistemas Distribudos
24
2. Sistemas Abertos
Um SD aberto oferece servios de acordo com regras
padronizadas para a sintaxe e a semntica desses servios.

Em redes a abertura obtida atravs de protocolos, em SDs
especificada por uma linguagem de descrio de interface
(IDL - Interface Description Language).

IDLs descrevem a interface de forma independente da
linguagem permitindo a comunicao entre componentes
desenvolvidos por linguagens diferentes (ex. entre
componentes escritos em C++ e componentes escritos em
Java).
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
CCT320 Sistemas Distribudos
25
- IDLs geralmente focam na sintaxe de servios (especificam nomes de
funes, parmetros, valores de retorno) no focam na semntica.

- IDLs bem especificadas permitem que entidades independentes
construam implementaes de interfaces diferentes mas que funcionam
do mesmo modo.

- Boas especificaes so completas (tudo que necessrio foi
especificado) e neutras (no prescrevem como deve ser a aparncia da
implementao);
2. Sistemas Abertos (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
CCT320 Sistemas Distribudos
26
- IDLs geralmente focam na sintaxe de servios (especificam nomes de
funes, parmetros, valores de retorno) no focam na semntica.

- IDLs bem especificadas permitem que entidades independentes
construam implementaes de interfaces diferentes mas que funcionam
do mesmo modo.

- Boas especificaes so completas (tudo que necessrio foi
especificado) e neutras (no prescrevem como deve ser a aparncia da
implementao);
2. Sistemas Abertos (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
Interoperabilidade (coexistncia e cooperao de implementaes e
componentes de fornecedores distintos mas especificados por um padro
comum);

Portabilidade (at que ponto aplicaes desenvolvidas para um SD
podem ser executadas em outro SD sem a necessidade de modificao).
CCT320 Sistemas Distribudos
27
2. Sistemas Abertos (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
CCT320 Sistemas Distribudos
Utilizao da IDL com duas linguagens diferentes
28
2. Sistemas Abertos (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
CCT320 Sistemas Distribudos
Caracterstica que determina se um sistema pode ser estendido de
diferentes maneiras.

1. No hardware: Incluso de dispositivos de fabricantes distintos.

2. No software:

Incorporao de mdulos do SO
Protocolos de comunicao
Recursos compartilhados
Abertura pode ser obtida com:

Especificao e documentao.
Disponibilizao destas aos desenvolvedores.

rgos que padronizam: IEEE, RFC, ISO, OMG-CORBA
29
2. Sistemas Abertos (cont.)
SOs abertos:

UNIX-like (Linux, FreeBSD,etc)

Recursos (arquivos, processos e IPC Interprocess
Communication) so acessveis aos programadores via
chamadas de sistema padronizadas e APIs.

Pode acomodar facilmente novos dispositivos.

No dependente de um hardware especfico, arquitetura
ou verso de kernel desde que um software seja
implementado no espao de usurio.
1. SISTEMAS DISTRIBUDOS Desafios (3/8)
CCT320 Sistemas Distribudos
30
3. Segurana
Recursos (dados, informaes) so mantidos em SD e
podem possuir alto valor para os seus usurios.

Componentes bsicos da Segurana:

Confidencialidade: a propriedade da informao pela
que no estar disponvel ou divulgada a indivduos,
entidades ou processos sem autorizao.

Integridade: Significa que a informao no foi alterada
de forma no autorizada ou indevida.

Disponibilidade: a propriedade que classifica os
recursos e informaes quanto a sua disponibilidade no
momento e local esperados.
1. SISTEMAS DISTRIBUDOS Desafios (4/8)
CCT320 Sistemas Distribudos
31
4. Escalabilidade
Pequena escala:

2 estaes de trabalho e um servidor de arquivos, em uma LAN (Local
Area Network)

Larga escala:

Uma centena de mquinas em uma Intranet acessando diversos
servidores de arquivo, impresso, etc.

Centenas de milhares (mesmo milhes) de mquinas acessando
servidores na Internet .
Um SD executado concorrentemente por determinado nmero
de mquinas deve permitir o aumento da quantidade de
mquinas sem comprometer o desempenho. Um SD pode
operar em diversas escalas:
Problemas com o aumento de escala: GARGALO!!!
1. SISTEMAS DISTRIBUDOS Desafios (5/8)
CCT320 Sistemas Distribudos
32
4. Escalabilidade (cont.)
Gargalos na Rede:

Substituio de links de comunicao por outros mais velozes.
Otimizao da largura de banda e priorizao de trfego.
1. SISTEMAS DISTRIBUDOS Desafios (5/8)
CCT320 Sistemas Distribudos
33
4. Escalabilidade (cont.)
Gargalos na Rede:

Substituio de links de comunicao por outros mais velozes.
Otimizao da largura de banda e priorizao de trfego.
1. SISTEMAS DISTRIBUDOS Desafios (5/8)
Gargalos em Recursos e Servios:

Servidores muito solicitados podem ser replicados (RAID).
A coerncia das cpias deve ser preservada.
Cloud Computing = Virtualizao + Web Services +
Clusters/Grids
CCT320 Sistemas Distribudos
34
5. Tratamento de Falhas
Tudo susceptvel a falha, principalmente sistemas
computacionais. So vrios os pontos passveis de falha:

- Rede, links de comunicao;

- Equipamentos (servidores, HDs, memria, fonte, etc);

- Software (bugs, invaso, etc);

- Infraestrutura (energia, incndio, etc);

Sistema tolerante a falhas

a habilidade do sistema operar corretamente na ocorrncia
de falhas (alta disponibilidade).
1. SISTEMAS DISTRIBUDOS Desafios (6/8)
CCT320 Sistemas Distribudos
35
5. Tratamento de Falhas (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (6/8)
DISPONIBILIDADE

a medida que define a poro do tempo em que o sistema
permaneceu operacional ou ativo.

MTTF (Mean Time To Failure): Tempo mdio que o sistema leva at falhar.

MTTR (Mean Time To Recover): Tempo mdio que o sistema leva para
recuperar da falha.

MTBF (Mean Time Between Failures): Tempo mdio entre as falhas.
CCT320 Sistemas Distribudos
36
5. Tratamento de Falhas (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (6/8)
Classificao de Datacenters
Tier 1: Data Center bsico.
Tier 2: Data Center com componentes redundantes.
Tier 3: Data Center que permite manuteno sem paradas.
Tier 4: Data Center tolerante a falhas.
Tempo de disponibilidade TIER
Fonte: Uptime Institute
CCT320 Sistemas Distribudos
37
5. Tratamento de Falhas (cont.)
1. SISTEMAS DISTRIBUDOS Desafios (6/8)
Custo de downtime por hora
Fonte: Uptime Institute
CCT320 Sistemas Distribudos
38
6. Concorrncia
Arquitetura centralizada (1 processador):

A concorrncia pode ser contornada atravs da intercalao de instrues
de diferentes processos.

Arquitetura multiprocessada (N processsadores):

O Paralelismo permite executar o trabalho N vezes mais rpido que um
sistema monoprocessado.
1. SISTEMAS DISTRIBUDOS Desafios (7/8)
A execuo concorrente uma caracterstica intrnseca de um
SD, em que os processos disputam pelos recursos
compartilhados.
CCT320 Sistemas Distribudos
39
7. Transparncia
Ocultao (para o usurio final ou programador) da
separao dos componentes distribudos em um SD de modo
que o sistema seja percebido como um todo, em vez e uma
coleo de componentes Coulouris.
Transparncia de Acesso: Permite que recursos locais ou remotos
possam ser acessados com operaes idnticas.

Transparncia de localizao: Permite que recursos sejam acessados
sem conhecer a localizao fsica ou lgica.

Transparncia de replicao: Permite que vrias instncias de um
recurso sejam usadas para aumentar a confiabilidade, disponibilidade,
desempenho sem que o usurio/programador tenha conhecimento das
rplicas.
1. SISTEMAS DISTRIBUDOS Desafios (8/8)
CCT320 Sistemas Distribudos
40
7. Transparncia (cont.)
Transparncia de falhas: Permite ocultar ou tolerar falhas de modo que
os usurios concluam suas tarefas.

Transparncia de mobilidade: Permite a movimentao de recursos
sem afetar a tarefa do usurio ou aplicao.

Transparncia de desempenho: Permite que o sistema seja
reconfigurado para melhorar o desempenho medida que as cargas
variam.

Transparncia de escalabilidade: Permite que o sistema e processos se
expandam em escala, sem alterar a estrutura do sistema ou algoritmos.
1. SISTEMAS DISTRIBUDOS Desafios (8/8)
Transparncia de concorrncia: Permite que vrios processos operem
de forma concorrente sem interferncia entre eles.
CCT320 Sistemas Distribudos
41
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
42
Sistemas de Computao Distribudos
Computao em Cluster

O hardware subjacente consiste em um conjunto de workstations ou PCs
semelhantes, conectados por meio de uma rede local de alta velocidade.
Cada n executa o mesmo sistema operacional.
Agrupa os sistemas distribudos utilizados para tarefas de
computao de alto desempenho. Pode ser classificada em:
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
43
Computao em Cluster

O hardware subjacente consiste em um conjunto de workstations ou PCs
semelhantes, conectados por meio de uma rede local de alta velocidade.
Cada n executa o mesmo sistema operacional.

Computao em Grade (Grid Computing)

Modelo computacional capaz de alcanar uma alta taxa de processamento
dividindo as tarefas entre diversas mquinas geralmente geograficamente
distantes, que formam uma mquina virtual. Os processos podem ser
executados no momento em que as mquinas no esto sendo utilizadas
pelo usurio, assim evitando o desperdcio de processamento da mquina
utilizada.
Agrupa os sistemas distribudos utilizados para tarefas de
computao de alto desempenho. Pode ser classificada em:
Sistemas de Computao Distribudos
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
44
Computao em Cluster
Exemplo de sistema de computao em cluster
- Tem como caracterstica a homogeneidade;

- O n mestre executa o middleware necessrio para a execuo
de programas e o gerenciamento do cluster;

- Beowulf, Mosix so exemplos de softwares para clustering.
Sistemas de Computao Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
45
Sistemas de Computao Distribudos (cont.)
Computao em Cluster (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
46
Columbia (20 Altix clusters executando Linux totalizando 10.240 processadores)
Sistemas de Computao Distribudos (cont.)
Computao em Cluster (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
47
Tipos de Cluster
Sistemas de Computao Distribudos (cont.)
HPC (High Performance Computing): Tarefas que exigem um nvel
elevado de processamento so divididas entre os ns e executadas de
forma paralela com objetivo de reduzir o tempo de processamento. Quanto
mais ns menos tempo ser necessrio para executar todo processamento.
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
48
Tipos de Cluster
Sistemas de Computao Distribudos (cont.)
HPC (High Performance Computing): Tarefas que exigem um nvel
elevado de processamento so divididas entre os ns e executadas de
forma paralela com objetivo de reduzir o tempo de processamento. Quanto
mais ns menos tempo ser necessrio para executar todo processamento.
HAC (High Availability Cluster): Tem como objetivo manter um ou
mais servios disponveis para atender s requisies dos clientes por um
perodo de tempo prximo a 100%. O objetivo dos clusters HAC eliminar
os pontos nicos de falha.
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
49
Tipos de Cluster
Sistemas de Computao Distribudos (cont.)
HPC (High Performance Computing): Tarefas que exigem um nvel
elevado de processamento so divididas entre os ns e executadas de
forma paralela com objetivo de reduzir o tempo de processamento. Quanto
mais ns menos tempo ser necessrio para executar todo processamento.
HAC (High Availability Cluster): Tem como objetivo manter um ou
mais servios disponveis para atender s requisies dos clientes por um
perodo de tempo prximo a 100%. O objetivo dos clusters HAC eliminar
os pontos nicos de falha.
LBC(Load Balance Cluster): So um misto de cluster de alto
desempenho, com cluster de alta disponibilidade onde vrios nodos,
chamados load balancers, atendem requisies de um servio qualquer e
repassam aos demais nodos do cluster que fazem o processamento das
informaes. Esta tcnica faz com que no haja um ponto de gargalo.
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
50
Computao em Grade
- Tem como caracterstica a heterogeneidade;

- Recursos de diferentes organizaes so reunidos para permitir a
colaborao de um grupo de pessoas ou instituies (organizao
virtual).

- SETI@Home e BOINC.
Sistemas de Computao Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
51
Computao em Grade
- Tem como caracterstica a heterogeneidade;

- Recursos de diferentes organizaes so reunidos para permitir a
colaborao de um grupo de pessoas ou instituies (organizao
virtual).

- SETI@Home e BOINC.
Arquitetura em camadas para sistemas de computao em Grade
Sistemas de Computao Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
52
Sistemas de Computao Distribudos (cont.)
Computao em Grade (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
53
SETI (Search for Extraterrestrial Intelligence)

Projeto que tem por objetivo analisar o mximo de sinais de rdio
captados por radiotelescpios terrestres, a partir da ideia que se existe
alguma forma de vida inteligente no universo, ela tentar se comunicar
com outra formas de vida atravs de ondas eletromagnticas (sinais de
rdio), pois estas representam a forma de transmisso de informao mais
rpida conhecida.
http://setiathome.berkeley.edu/
Computao em Grade (cont.)
Sistemas de Computao Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
54
BOINC (Berkeley Open Infrastucture For Network Computing)
uma plataforma, na forma de framework, que visa facilitar a
implementao de sistemas de computao voluntria, funcionando atravs
de uma grade computacional de dimenses mundiais.
http://boinc.berkeley.edu/
Computao em Grade (cont.)
Sistemas de Computao Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (1/3)
CCT320 Sistemas Distribudos
55
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
CCT320 Sistemas Distribudos
56
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Sistemas de Informao Distribudos
Sistema de Informao

Conjunto de componentes inter relacionados que trabalham
juntos para coletar, recuperar, processar, armazenar e
distribuir informaes com a finalidade de facilitar o
planejamento, o controle, a coordenao, a anlise e o
processo decisrio em organizaes.
CCT320 Sistemas Distribudos
57
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Sistemas de Informao Distribudos
Sistema de Informao

Conjunto de componentes inter relacionados que trabalham
juntos para coletar, recuperar, processar, armazenar e
distribuir informaes com a finalidade de facilitar o
planejamento, o controle, a coordenao, a anlise e o
processo decisrio em organizaes.
Utiliza os conceitos de Sistemas de Informao aplicados em
um ambiente distribudo. SIDs tem a informao como recurso
principal e so voltados para integr-las a partir de aplicaes
separadas, em uma aplicao com viso global.
Sistemas de Informao Distribudos (SID)
CCT320 Sistemas Distribudos
58
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Origem dos SIDs
Sistemas de Informao Distribudos (cont.)
Aplicaes foram criadas para atender demandas isoladas na
empresa o que repercutiu em uma grande quantidade de
aplicaes que passaram a ter problemas de interoperabilidade.
CCT320 Sistemas Distribudos
59
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Origem dos SIDs
Sistemas de Informao Distribudos (cont.)
Uma aplicao em rede consistia de um servidor que executava a
aplicao + banco de dados. Aplicao era disponibilizada atravs
de programas remotos, onde clientes podiam enviar uma requisio
ao servidor que executava uma operao e enviava a resposta.
O conceito de transao distribuda representa o nvel mais baixo
de interao onde o cliente empacota vrias requisies e as envia
para servidores diferentes.
Aplicaes foram criadas para atender demandas isoladas na
empresa o que repercutiu em uma grande quantidade de
aplicaes que passaram a ter problemas de interoperabilidade.
CCT320 Sistemas Distribudos
60
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Origem dos SIDs (cont.)
Sistemas de Informao Distribudos (cont.)
A medida que as aplicaes se tornavam mais sofisticadas e eram
gradualmente separadas em componentes independentes de BD
e processamento, surgiu a necessidade da integrao que
permitisse que aplicaes se comunicassem diretamente umas com
as outras.

Isso originou o conceito de EAI (Enterprise Application
Integration - Integrao de Aplicaes Empresariais).
CCT320 Sistemas Distribudos
61
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Exemplo de SID Portal de Turismo
Sistemas de Informao Distribudos (cont.)
CCT320 Sistemas Distribudos
62
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Exemplo de SID Sistema SCADA (Supervisory Control
and Data Acquisition)
Sistemas de Informao Distribudos (cont.)
Monitoramento e controle de sistema de energia primrios e secundrios.
CCT320 Sistemas Distribudos
63
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Exemplo de SID Sistema SCADA (cont.)
Sistemas de Informao Distribudos (cont.)
CCT320 Sistemas Distribudos
64
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Sistemas de Informao Distribudos (cont.)
Exemplo de SID Sistema SCADA (cont.)
CCT320 Sistemas Distribudos
65
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Exemplo de SID Sistema de Apontamento Eletrnico da
Produo
Sistemas de Informao Distribudos (cont.)
Metodologia OEE (Overall Effectiveness Equipament - Eficincia Global do
Equipamento) visa monitorar o desempenho e disponibilidade de
equipamentos.
CCT320 Sistemas Distribudos
66
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
Tipos de Sistemas Distribudos
Sistemas de Informao Distribudos (cont.)
1. Transao Distribuda

Aplicaes de Banco de Dados;

2. EAI (Enterprise Application Integration)
Integrao de Aplicaes Empresariais;

Aplicaes existentes nas empresas (legadas) situadas
em diferentes setores, precisam realizar troca de
informaes.
CCT320 Sistemas Distribudos
67
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
1. Transao Distribuda
Sistemas de Informao Distribudos (cont.)
Operaes em banco de dados costumam ser realizadas na forma
de transaes o que requer primitivas especiais que devem ser
fornecidas pelo SD ou pela linguagem em tempo de execuo.
Exemplos de primitivas para transaes
CCT320 Sistemas Distribudos
68
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
1. Transao Distribuda (cont.)
Sistemas de Informao Distribudos (cont.)
RPCs (Remote Procedure Calls - Chamadas de Procedimentos
Remotos), costumam ser encapsuladas em transaes resultando
em um RPC transacional.
BEGIN_TRANSACTION e END_TRANSACTION delimitam o
escopo de uma transao. As operaes entre essas primitivas
formam o corpo da transao.
CCT320 Sistemas Distribudos
69
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
1. Transao Distribuda (cont.)
Sistemas de Informao Distribudos (cont.)
RPCs (Remote Procedure Calls - Chamadas de Procedimentos
Remotos), costumam ser encapsuladas em transaes resultando
em um RPC transacional.
BEGIN_TRANSACTION e END_TRANSACTION delimitam o
escopo de uma transao. As operaes entre essas primitivas
formam o corpo da transao.
Atmicidade: Tudo feito ou nada feito.
Consistncia: Ao final da transao o BD deve refletir a realidade.
Isolamento: Uma transao no pode interferir na outra.
Durabilidade: Persistncia. O resultado deve estar gravado no BD.
PROPRIEDADES DAS TRANSAES:
CCT320 Sistemas Distribudos
70
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
1. Transao Distribuda (cont.)
Sistemas de Informao Distribudos (cont.)
Transaes Aninhadas: Uma transao pode se ramificar e gerar filhos
(subtransaes) visando ganho de desempenho ou simplificao de
programao. Proporcionam um modo natural de dividir transaes em
vrias mquinas.
Transao Aninhada
CCT320 Sistemas Distribudos
71
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
1. Transao Distribuda (cont.)
Sistemas de Informao Distribudos (cont.)
Monitor de Processamento de Transao (Monitor TP): No middleware
forma o ncleo para integrao de aplicaes a nvel do servidor ou do
banco de dados. Oferece para aplicao um modelo de programao
transacional de forma a permitir que ela acesse vrios servidores/BDs.
Transao Aninhada
CCT320 Sistemas Distribudos
72
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration)
Sistemas de Informao Distribudos (cont.)
Quanto mais as aplicaes se desvinculavam dos BDs mais
evidente era a necessidade para integrar aplicaes
independentemente de seus BDs. O ideal que componentes de
aplicao deveriam se comunicar diretamente uns com os outros e
no apenas por requisio/resposta.
Middleware como facilitador de comunicao em EAI
CCT320 Sistemas Distribudos
73
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration) (cont.)
Sistemas de Informao Distribudos (cont.)
Modelos de middleware de comunicao
RPC (Remote Procedure Calls)
RMI (Remote Method Invocations)
MOM (Message-Oriented Middleware)
CCT320 Sistemas Distribudos
Fases de execuo de uma RPC
74
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration) (cont.)
Sistemas de Informao Distribudos (cont.)
RPC (Remote Procedure Calls)
Um componente de aplicao pode enviar uma requisio a um outro
executando uma chamada de procedimento local, que resulta no
empacotamento da requisio como uma mensagem e seu envio ao
servidor. O resultado da chamada de procedimento ser enviado de volta
aplicao origem.
CCT320 Sistemas Distribudos
Fases de execuo de uma RMI
75
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration) (cont.)
Sistemas de Informao Distribudos (cont.)
RMI (Remote Method Invocations)
Tem o mesmo princpio de funcionamento dos RPCs, mas permite
chamadas a objetos remotos em vez de aplicaes. Permite que o cliente
invoque mtodos remotos no servidor (que contm o objeto remoto), como
se o objeto remoto estivesse contido na mquina cliente.
CCT320 Sistemas Distribudos
76
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration) (cont.)
Sistemas de Informao Distribudos (cont.)
Desvantagens do RPC e RMI
Forte Acoplamento

- Cliente e servidor precisam estar ligados e em
funcionamento no momento da comunicao;

- Cliente e servidor precisam saber exatamente como se
referir um ao outro;
CCT320 Sistemas Distribudos
77
1. SISTEMAS DISTRIBUDOS Tipos (2/3)
2. EIA (Enterprise Application Integration) (cont.)
Sistemas de Informao Distribudos (cont.)
MOM (Message-Oriented Middleware)
Aplicaes enviam mensagens a pontos lgicos de contato (messaging
provider) e dessa forma podem indicar seu interesse por um tipo especfico
de mensagem. O MOM cuidar para que todas as mensagens sejam
entregues a essas aplicaes. Formam os sistemas do tipo
publicar/subescrever.
Sistema baseado em MOM
CCT320 Sistemas Distribudos
78
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
CCT320 Sistemas Distribudos
79
Sistemas Embarcados Distribudos
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Equipamentos caracterizados pelo tamanho pequeno,
alimentao por bateria, mobilidade (conexo sem fio) visando
transparncia e onipresena (ubiquidade).
Exemplos:

Telefones celulares, smartphones e tablets;

Dispositivos acoplados ao corpo (Wearable Computing);

Redes de Sensores;

Dispositivos incorporados em aparelhos e objetos;

Interfaces I/O com usurios;

Robs;
CCT320 Sistemas Distribudos
80
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Requisitos para aplicaes pervasivas:

1. Adotar mudanas contextuais: Um dispositivo deve estar
continuamente ciente que devido a mobilidade seu ambiente
pode mudar com o tempo.
CCT320 Sistemas Distribudos
81
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Requisitos para aplicaes pervasivas:

1. Adotar mudanas contextuais: Um dispositivo deve estar
continuamente ciente que devido a mobilidade seu ambiente
pode mudar com o tempo.

2. Incentivar composio ad hoc: Dispositivos em sistemas
pervasivos sero utilizados de modos diferentes por usurios
diferentes.
CCT320 Sistemas Distribudos
82
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Requisitos para aplicaes pervasivas:

1. Adotar mudanas contextuais: Um dispositivo deve estar
continuamente ciente que devido a mobilidade seu ambiente
pode mudar com o tempo.

2. Incentivar composio ad hoc: Dispositivos em sistemas
pervasivos sero utilizados de modos diferentes por usurios
diferentes.

3. Reconhecer compartilhamento como padro: Dispositivos
se juntam ao sistema para acessar e fornecer informaes o
que requer meios para ler, armazenar, gerenciar e compartilhar
informaes com facilidade.
CCT320 Sistemas Distribudos
83
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Sistemas Domsticos (Automao Residencial)
CCT320 Sistemas Distribudos
84
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Sistemas Domsticos (Automao Residencial) (cont.)
CCT320 Sistemas Distribudos
85
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Redes de Sensores
Consiste de dezenas a milhares de ns relativamente pequenos,
equipados com sensores para medio e monitoramento de ambientes.
Utilizam comunicao wireless e so alimentados por bateria o que justifica
suas capacidades restritas de comunicao e energia.
Armazenamento dos dados no site do operador
(a) ou nos sensores (b)
CCT320 Sistemas Distribudos
86
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Redes de Sensores (cont.)
Monitoramento de atividade de vulces
CCT320 Sistemas Distribudos
87
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Redes de Sensores (cont.)
Monitoramento de incndios florestais
CCT320 Sistemas Distribudos
88
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Sistemas para tratamento de Sade
Inclui dispositivos desenvolvidos para fins mdicos onde sensores que
constituem uma Body Area Network (Rede de Area Corporal) monitoram
aspectos fisiolgicos do indivduo.
O objetivo detectar
previamente sintomas que
podem comprometer a
sade do paciente e com
isso alertar os mdicos e
prevenir internaes de
emergncia.
CCT320 Sistemas Distribudos
89
Sistemas Embarcados Distribudos (cont.)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Sistemas para tratamento de Sade (cont.)
CCT320 Sistemas Distribudos
90
Sistemas Embarcados Distribudos (cont.)
BAN (Body Area Network)
1. SISTEMAS DISTRIBUDOS Tipos (3/3)
Sistemas para tratamento de Sade
CCT320 Sistemas Distribudos
91
1. SISTEMAS DISTRIBUDOS Exemplos (1/4)
CCT320 Sistemas Distribudos
Sistemas Distribudos abrangem vrios dos desenvolvimentos
tecnolgicos mais significativos dos ltimos anos.
O crescimento do comrcio electrnico atravs de
empresas como Amazon e eBay; tecnologias para
pagamento como o PayPal e PagSeguro; servios
bancrios e de negociao online; sistemas complexos
de disseminao de informao para os mercados
financeiros.
Finanas e Comrcio
Sociedade da
Informao
O crescimento da World Wide Web como um repositrio
de informaes e conhecimentos; o desenvolvimento de
motores de busca na web para buscar esse vasto
repositrio como o Google e o Yahoo; o surgimento de
bibliotecas digitais e a digitalizao em grande escala de
fontes de informao legados (ex. livros com o Google
Books), a importncia crescente de contedo gerado pelo
usurio atravs de sites como YouTube, Wikipedia e
Flickr, o surgimento de redes sociais atravs de servios
como o Facebook eo MySpace.
92
1. SISTEMAS DISTRIBUDOS Exemplos (2/4)
CCT320 Sistemas Distribudos
Indstrias criativas e
de entretenimento
O surgimento de jogos online e de entretenimento
altamente interativo; a disponibilidade de msica e
filme em casa atravs de centros de mdia em rede e
mais amplamente na Internet atravs de contedo para
download ou streaming; o papel do contedo gerado
pelo usurio como uma nova forma de criatividade
atravs de servios como o YouTube.
O crescimento da informtica na sade com sua nfase
nos registros eletrnicos online de pacientes e
questes relacionadas privacidade, o papel crescente
da telemedicina como apoio ao diagnstico remoto ou
servios mais avanados, como cirurgia remota
(incluindo o trabalho de colaborao entre equipes de
sade), o aumento da aplicao de redes e sistemas
de tecnologia embarcada no monitoraramento de
pacientes.
Sade e Qualidade
de Vida
93
1. SISTEMAS DISTRIBUDOS Exemplos (3/4)
CCT320 Sistemas Distribudos
Educao
O surgimento do e-learning atravs ferramentas
baseadas na web, tais como ambientes virtuais de
aprendizagem, apoio para o ensino distncia, apoio
aprendizagem colaborativa.
O uso de tecnologias de localizao como GPS em
sistemas de localizao de rotas e sistemas de gesto
de trfego mais abrangentes, o desenvolvimento de
servios de mapas baseados na web como o
MapQuest, Google Maps e Google Earth.
Transporte e Logstica
O surgimento da computao em cluster como
tecnologia fundamental para eScience, incluindo o uso
de redes complexas de computadores para apoiar o
armazenamento, anlise e tratamento de dados
cientficos, o uso da computao em grade como uma
tecnologia que permite a colaborao mundial entre
grupos de cientistas.
Cincia
94
1. SISTEMAS DISTRIBUDOS Exemplos (4/4)
CCT320 Sistemas Distribudos
Gesto Ambiental
O uso da tecnologia de rede de sensores para o
monitoramento e gerencia do ambiente natural, para
fornecer alerta de desastres naturais (ex. terremotos,
enchentes, incndios, tsunamis) e coordenar a
resposta de emergncia, a captura e anlise de
parmetros ambientais globais para entender melhor
fenmenos naturais complexos, tais como alteraes
climticas.
95
1. SISTEMAS DISTRIBUDOS
CCT320 Sistemas Distribudos
Sistemas Distribudos so constitudos por hardware, software e
rede que trabalham em conjunto para produzir um ambiente
integrado e consistente.

Principais desafios: Heterogeneidade, abertura, segurana,
escalabilidade, tratamento de falhas, concorrncia e
transparncia.

So classificados em Sistemas de Computao Distribudos,
Sistemas de Informao Distribudos e Sistemas Embarcados
Distribudos.

Possuem aplicaes no comrcio eletrnico, na sade e
qualidade de vida, indstrias criativas e entretenimento,
educao, transporte e logstica e gesto ambiental.
Resumo
96
1. SISTEMAS DISTRIBUDOS
CCT320 Sistemas Distribudos
Dvidas? Perguntas? Sugestes?

Vous aimerez peut-être aussi