SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Aspectos de Projeto
Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Este aspecto faz com que um conjunto de máquinas
    seja visto por seus usuários como se fossem
    simplesmente um único sistema de tempo
    compartilhado.

   Tipos distintos de transparência em um sistema
    distribuído:

    ◦   Localização
    ◦   Migração
    ◦   Replicação
    ◦   Concorrência
    ◦   Paralelismo
    ◦   Escala

                          Prof. Adriano Teixeira de Souza
   Localização:
    ◦ Usuários não têm que saber a localização dos recursos remotos

   Migração:
    ◦ Potencial para realocar recursos dinamicamente sem que os
      usuários estejam cientes do movimento de recursos

    ◦ Os recursos podem mudar de lugar sem ter que mudar seus nomes.

   Replicação:
    ◦ Múltiplas instâncias de recursos são usados, mas Sistemas
      Distribuídos ocultam qualquer diferença entre recursos replicados,
      ou não replicados.

    ◦ Os usuários não devem saber quantas cópias existem.


                                   Prof. Adriano Teixeira de Souza
   Concorrência:
    ◦ Usuário não está ciente da existência de acesso simultâneo à
      recursos remotos.
    ◦ Vários usuários podem compartilhar automaticamente os
      recursos.

   Paralelismo:
    ◦ Podem ocorrer atividades paralelas sem que os usuários
      venham a saber.

   Escala:
    ◦ Oculta a expansão sem mudar a estrutura do sistema




                                Prof. Adriano Teixeira de Souza
   Capacidade de suportar mudanças em sua estrutura
    depois de ser desenvolvido, sem comprometimento
    da execução das aplicações.

   É muito importante que o sistema seja flexível ás
    decisões do projeto. Situações que hoje parecem
    bem razoáveis poderão revelar-se erradas mais
    tarde.

   A melhor maneira de se evitar problemas é
    mantendo várias opções em aberto (flexibilidade).



                           Prof. Adriano Teixeira de Souza
   Um sistema deve ser capaz de interagir com largo
    número de outros sistemas e serviços.

   A inserção de novos módulos no sistema deve ser
    uma tarefa simples




                          Prof. Adriano Teixeira de Souza
Como???

   Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Disponibilidade
    ◦ Propriedade de um sistema poder funcionar continuamente sem
      falha

    ◦ Para ser confiável, um sistema deve possuir alta disponibilidade e
      segurança

    ◦ Sistemas distribuídos podem ser potencialmente mais confiáveis
      devido à multiplicidade e a um certo grau de autonomia de suas
      partes.

    ◦ É notório que a distribuição física não é tão importante quanto a
      distribuição lógica. Esta última pode ser implementada tanto a um
      único processador quanto a vários processadores localizados num
      mesmo ambiente ou em ambiente distintos .


                                   Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
    Tolerância a falha (Resiliência)

    ◦ Física: Propriedade de um material de recuperar a sua forma ou
      posição original após sofrer choque ou deformação; elasticidade;

    ◦ A resiliência de processos preocupa-se em criar mecanismos de
      proteção a processos, tentando fazer com que os mesmos
      sobrevivam a eventuais falhas em um sistema;

    ◦ Uma forma de tornar um processo resiliente é a utilização de
      processos redundantes (redundância física);

    ◦ Um aspecto chave para contornar falhas de processos é organizar
      vários processos idênticos em um grupo no qual todos os processos
      possam recebar mensagens enviadas ao grupo.



                                   Prof. Adriano Teixeira de Souza
   Segurança

    ◦ Os dados confiados à guarda dos sistemas não podem de
      maneira nenhuma, sofrer qualquer tipo de adulteração ou
      perder-se .

    ◦ O aspecto da confiabilidade global é a segurança. Os
      arquivos e demais recursos devem ser protegidos contra
      uso-não autorizado. Isso se torna crítico no caso dos
      sistemas distribuídos.

    ◦ Em geral, um Sistema Distribuído pode ser projetado para
      “mascarar” falhas ocorridas, esconder dos seus usuários.




                               Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   O problema da performance é muito
    influenciada pela comunicação.

   O envio de uma mensagem e a obtenção da
    resposta correspondente demora em torno
    de um milissegundo, e a maior parte desse
    tempo é gasto no tratamento do protocolo,
    quando deveria ser gasto na transmissão dos
    bits propriamente ditos.



                       Prof. Adriano Teixeira de Souza
   Balanceamento de carga

    ◦ Visa distribuir a carga de acesso a recursos e/ou serviços
      para promover um aumento da capacidade da rede e
      melhoria da performance

    ◦ O balanceamento de carga é mais que um simples
      redirecionamento do tráfego dos clientes para outros
      servidores. É preciso que haja constante verificação da
      comunicação, checagem dos servidores e redundância.

    ◦ A dificuldade dessa técnica é que para ganhar performance é
      preciso ter várias atividades rodando em paralelo em
      diferentes processadores, mas para isso é necessário a
      transmissão de muitas mensagens.


                                Prof. Adriano Teixeira de Souza
   Processamento distribuído (ou paralelo)

    ◦ Uma grande tarefa computacional é dividida em partes
      menores, pequenas tarefas que são distribuídas ao redor das
      estações (nodos), como se parecesse um supercomputador.

    ◦ Este tipo de cluster é usado em tarefas de computação
      científica ou análises financeiras, tarefas que exigem um alto
      poder de processamento.




                                Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Um sistema é descrito com escalável se
    permanece eficiente quando há um aumento
    significativo no número de recursos
    utilizados e no número de usuários.

   O projeto de sistemas distribuídos escaláveis
    apresenta os seguintes desafios:

    ◦ Controlar os custos dos recursos físicos.
    ◦ Controlar a perda de desempenho.
    ◦ Evitar gargalos de desempenho.


                            Prof. Adriano Teixeira de Souza
   A escalabilidade de um sistema pode ser medida
    segundo três dimensões diferentes:

    ◦ Um sistema pode ser escalável em relação a seu tamanho, o
      que significa que é fácil adicionar mais usuários e recursos
      ao sistema;

    ◦ Um sistema escalável em termos geográficos é um sistema
      no qual usuários e recursos podem estar longe uns dos
      outros;

    ◦ Um sistema pode ser escalável em termos administrativos, o
      que significa que ele ainda pode ser fácil de gerenciar,
      mesmo que abranja muitas organizações administrativas
      diferentes.

                                Prof. Adriano Teixeira de Souza
   Quando é necessário ampliar um sistema, é
    preciso resolver problemas de tipos muito
    diferentes;

   O servidor pode se transformar em um
    gargalo à medida que o número de usuários
    e aplicações cresce.




                       Prof. Adriano Teixeira de Souza
   A escalabilidade geográfica tem seus próprios
    problemas. Uma das principais razões por que hoje
    é difícil ampliar SD existentes que foram
    originalmente projetados para LANs é que eles são
    baseados em comunicação síncrona;

    ◦ Na comunicação síncrona, uma parte que requisita um
      serviço (cliente), fica bloqueada até que uma mensagem seja
      enviada de volta:

    ◦ Isso funciona bem em LANs, onde a comunicação entre
      máquinas demora centenas de microsegundos, mas numa
      WAN, onde a comunicação demora centenas de
      microsegundos – isto requer cuidados !!


                               Prof. Adriano Teixeira de Souza
   Técnicas de escalabilidade

    ◦ Comunicação assíncrona: oculta a latência de
      comunicação

    ◦ Distribuição: particiona um componente em partes
      menores e espalha essas partes pelo sistema

    ◦ Replicação: aumenta a disponibilidade e permite
      balanceamento de carga (pode gerar problema de
      Consistência)



                           Prof. Adriano Teixeira de Souza

Weitere ähnliche Inhalte

Was ist angesagt?

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosMessias Batista
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviçosRaphael Almeida
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Arthur Emanuel
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De DesenvolvimentoLuiz Matos
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 

Was ist angesagt? (20)

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Aula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivoAula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivo
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De Desenvolvimento
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 

Andere mochten auch

Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Frederico Madeira
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Arthur Emanuel
 
Utilização de sistemas distribuidos
Utilização de sistemas distribuidosUtilização de sistemas distribuidos
Utilização de sistemas distribuidosDeroci Nonato Júnior
 
Aplicações Basicas em Java com o NetBeans IDE
Aplicações Basicas em Java com o NetBeans IDEAplicações Basicas em Java com o NetBeans IDE
Aplicações Basicas em Java com o NetBeans IDEManoel Rufino Neto
 
Arquitetura 3 camadas - RM
Arquitetura 3 camadas - RMArquitetura 3 camadas - RM
Arquitetura 3 camadas - RMHBB Consultoria
 
Moderno Gerenciamento de Projetos
Moderno Gerenciamento de ProjetosModerno Gerenciamento de Projetos
Moderno Gerenciamento de ProjetosJosé Borba
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosValdir Junior
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBAAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOAAdriano Teixeira de Souza
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosArthur Emanuel
 
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaSistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaArthur Emanuel
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxFrederico Madeira
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisWindson Viana
 

Andere mochten auch (20)

Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Utilização de sistemas distribuidos
Utilização de sistemas distribuidosUtilização de sistemas distribuidos
Utilização de sistemas distribuidos
 
Sd capitulo01
Sd capitulo01Sd capitulo01
Sd capitulo01
 
Aplicações Basicas em Java com o NetBeans IDE
Aplicações Basicas em Java com o NetBeans IDEAplicações Basicas em Java com o NetBeans IDE
Aplicações Basicas em Java com o NetBeans IDE
 
Arquitetura 3 camadas - RM
Arquitetura 3 camadas - RMArquitetura 3 camadas - RM
Arquitetura 3 camadas - RM
 
Moderno Gerenciamento de Projetos
Moderno Gerenciamento de ProjetosModerno Gerenciamento de Projetos
Moderno Gerenciamento de Projetos
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBA
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPC
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOA
 
Scampi
ScampiScampi
Scampi
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
 
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaSistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
 

Ähnlich wie Sistemas Distribuídos - Aspectos de Projeto

Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasRafael Bandeira
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroSouza Natália
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídosBruno Felipe
 
Banco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, característicasBanco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, característicasFernandaNascimento276697
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosPortal_do_Estudante_SD
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Aula Introdução a Sistemas Distribuídos.pdf
Aula Introdução a Sistemas Distribuídos.pdfAula Introdução a Sistemas Distribuídos.pdf
Aula Introdução a Sistemas Distribuídos.pdfEnasLyra
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Evandro Júnior
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 

Ähnlich wie Sistemas Distribuídos - Aspectos de Projeto (20)

SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações Práticas
 
Alta Disponibilidade
Alta Disponibilidade Alta Disponibilidade
Alta Disponibilidade
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
 
Banco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, característicasBanco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, características
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Regras de Design
Regras de DesignRegras de Design
Regras de Design
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Aula Introdução a Sistemas Distribuídos.pdf
Aula Introdução a Sistemas Distribuídos.pdfAula Introdução a Sistemas Distribuídos.pdf
Aula Introdução a Sistemas Distribuídos.pdf
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 

Mehr von Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 

Mehr von Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 

Sistemas Distribuídos - Aspectos de Projeto

  • 1. Aspectos de Projeto Prof. Adriano Teixeira de Souza
  • 4. Este aspecto faz com que um conjunto de máquinas seja visto por seus usuários como se fossem simplesmente um único sistema de tempo compartilhado.  Tipos distintos de transparência em um sistema distribuído: ◦ Localização ◦ Migração ◦ Replicação ◦ Concorrência ◦ Paralelismo ◦ Escala Prof. Adriano Teixeira de Souza
  • 5. Localização: ◦ Usuários não têm que saber a localização dos recursos remotos  Migração: ◦ Potencial para realocar recursos dinamicamente sem que os usuários estejam cientes do movimento de recursos ◦ Os recursos podem mudar de lugar sem ter que mudar seus nomes.  Replicação: ◦ Múltiplas instâncias de recursos são usados, mas Sistemas Distribuídos ocultam qualquer diferença entre recursos replicados, ou não replicados. ◦ Os usuários não devem saber quantas cópias existem. Prof. Adriano Teixeira de Souza
  • 6. Concorrência: ◦ Usuário não está ciente da existência de acesso simultâneo à recursos remotos. ◦ Vários usuários podem compartilhar automaticamente os recursos.  Paralelismo: ◦ Podem ocorrer atividades paralelas sem que os usuários venham a saber.  Escala: ◦ Oculta a expansão sem mudar a estrutura do sistema Prof. Adriano Teixeira de Souza
  • 7. Capacidade de suportar mudanças em sua estrutura depois de ser desenvolvido, sem comprometimento da execução das aplicações.  É muito importante que o sistema seja flexível ás decisões do projeto. Situações que hoje parecem bem razoáveis poderão revelar-se erradas mais tarde.  A melhor maneira de se evitar problemas é mantendo várias opções em aberto (flexibilidade). Prof. Adriano Teixeira de Souza
  • 8. Um sistema deve ser capaz de interagir com largo número de outros sistemas e serviços.  A inserção de novos módulos no sistema deve ser uma tarefa simples Prof. Adriano Teixeira de Souza
  • 9. Como??? Prof. Adriano Teixeira de Souza
  • 11. Disponibilidade ◦ Propriedade de um sistema poder funcionar continuamente sem falha ◦ Para ser confiável, um sistema deve possuir alta disponibilidade e segurança ◦ Sistemas distribuídos podem ser potencialmente mais confiáveis devido à multiplicidade e a um certo grau de autonomia de suas partes. ◦ É notório que a distribuição física não é tão importante quanto a distribuição lógica. Esta última pode ser implementada tanto a um único processador quanto a vários processadores localizados num mesmo ambiente ou em ambiente distintos . Prof. Adriano Teixeira de Souza
  • 13. Tolerância a falha (Resiliência) ◦ Física: Propriedade de um material de recuperar a sua forma ou posição original após sofrer choque ou deformação; elasticidade; ◦ A resiliência de processos preocupa-se em criar mecanismos de proteção a processos, tentando fazer com que os mesmos sobrevivam a eventuais falhas em um sistema; ◦ Uma forma de tornar um processo resiliente é a utilização de processos redundantes (redundância física); ◦ Um aspecto chave para contornar falhas de processos é organizar vários processos idênticos em um grupo no qual todos os processos possam recebar mensagens enviadas ao grupo. Prof. Adriano Teixeira de Souza
  • 14. Segurança ◦ Os dados confiados à guarda dos sistemas não podem de maneira nenhuma, sofrer qualquer tipo de adulteração ou perder-se . ◦ O aspecto da confiabilidade global é a segurança. Os arquivos e demais recursos devem ser protegidos contra uso-não autorizado. Isso se torna crítico no caso dos sistemas distribuídos. ◦ Em geral, um Sistema Distribuído pode ser projetado para “mascarar” falhas ocorridas, esconder dos seus usuários. Prof. Adriano Teixeira de Souza
  • 16. O problema da performance é muito influenciada pela comunicação.  O envio de uma mensagem e a obtenção da resposta correspondente demora em torno de um milissegundo, e a maior parte desse tempo é gasto no tratamento do protocolo, quando deveria ser gasto na transmissão dos bits propriamente ditos. Prof. Adriano Teixeira de Souza
  • 17. Balanceamento de carga ◦ Visa distribuir a carga de acesso a recursos e/ou serviços para promover um aumento da capacidade da rede e melhoria da performance ◦ O balanceamento de carga é mais que um simples redirecionamento do tráfego dos clientes para outros servidores. É preciso que haja constante verificação da comunicação, checagem dos servidores e redundância. ◦ A dificuldade dessa técnica é que para ganhar performance é preciso ter várias atividades rodando em paralelo em diferentes processadores, mas para isso é necessário a transmissão de muitas mensagens. Prof. Adriano Teixeira de Souza
  • 18. Processamento distribuído (ou paralelo) ◦ Uma grande tarefa computacional é dividida em partes menores, pequenas tarefas que são distribuídas ao redor das estações (nodos), como se parecesse um supercomputador. ◦ Este tipo de cluster é usado em tarefas de computação científica ou análises financeiras, tarefas que exigem um alto poder de processamento. Prof. Adriano Teixeira de Souza
  • 20. Um sistema é descrito com escalável se permanece eficiente quando há um aumento significativo no número de recursos utilizados e no número de usuários.  O projeto de sistemas distribuídos escaláveis apresenta os seguintes desafios: ◦ Controlar os custos dos recursos físicos. ◦ Controlar a perda de desempenho. ◦ Evitar gargalos de desempenho. Prof. Adriano Teixeira de Souza
  • 21. A escalabilidade de um sistema pode ser medida segundo três dimensões diferentes: ◦ Um sistema pode ser escalável em relação a seu tamanho, o que significa que é fácil adicionar mais usuários e recursos ao sistema; ◦ Um sistema escalável em termos geográficos é um sistema no qual usuários e recursos podem estar longe uns dos outros; ◦ Um sistema pode ser escalável em termos administrativos, o que significa que ele ainda pode ser fácil de gerenciar, mesmo que abranja muitas organizações administrativas diferentes. Prof. Adriano Teixeira de Souza
  • 22. Quando é necessário ampliar um sistema, é preciso resolver problemas de tipos muito diferentes;  O servidor pode se transformar em um gargalo à medida que o número de usuários e aplicações cresce. Prof. Adriano Teixeira de Souza
  • 23. A escalabilidade geográfica tem seus próprios problemas. Uma das principais razões por que hoje é difícil ampliar SD existentes que foram originalmente projetados para LANs é que eles são baseados em comunicação síncrona; ◦ Na comunicação síncrona, uma parte que requisita um serviço (cliente), fica bloqueada até que uma mensagem seja enviada de volta: ◦ Isso funciona bem em LANs, onde a comunicação entre máquinas demora centenas de microsegundos, mas numa WAN, onde a comunicação demora centenas de microsegundos – isto requer cuidados !! Prof. Adriano Teixeira de Souza
  • 24. Técnicas de escalabilidade ◦ Comunicação assíncrona: oculta a latência de comunicação ◦ Distribuição: particiona um componente em partes menores e espalha essas partes pelo sistema ◦ Replicação: aumenta a disponibilidade e permite balanceamento de carga (pode gerar problema de Consistência) Prof. Adriano Teixeira de Souza