96
CCT320  Sistemas Distribuídos 2 Rafael Frinhani [email protected] 2014 UNIVERSIDADE FEDERAL DE ITAJUBÁ

CCT320 - 2 - Introdução Aos Sistemas Distribuídos

Embed Size (px)

Citation preview

  • CCT320 Sistemas Distribudos

    2 Rafael Frinhani

    [email protected]

    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", 5th 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, 2nd 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?