Buscar

AV - Arquitetura de sistemas distribuidos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura de sistemas distribuídos – profº andre edpinghaus andreedpinghaus@gmail.com
Rio de Janeiro - 05/08/13
Evolução da computação:
1.1: computação centralizada – mainframe;
1.2: microcomputadores e redes de computadores;
1.3: sistemas distribuídos.
 2. Introdução a sistemas distribuídos
2.1: características
2.2: aplicações distribuídas e TI verde.
2.3: tratamento de falhas.
2.4: classificação flynn
2.5: modelos de programação
3. comunicação nos sistemas distribuídos
3.1 introdução aos modelos de comunicação
3.2: modelo cliente-servidor
3.3: comunicação através de socketes
3.4: chamada a procedimento remoto
3.5: modelo peer-to-peer.
4. serviços em sistemas distribuídos
4.1: sistemas de arquivos distribuídos
4.2: serviços web
4.3: computação ubíqua
4.4: computação nas nuvens
Bibliografia:
Tanembaum, “sistemas distribuídos: princípios e paradigmas”, 2ª edição, Pearson, 2007.
Silberschatz, “fundamentos de sistemas operacionais”, 8ª edição, ltc, 2010.
A partir de meados da década de 80, dois avanços tecnológicos começaram a mudar o mundo. O primeiro foi o desenvolvimento de microprocessadores de grande capacidade. O segundo foi a invenção de redes de computadores de alta velocidade. O resultado dessas tecnologias é que, é viável e fácil montar sistemas de computação compostos por grandes quantidades de computadores, conectados por uma rede de alta velocidade denominados sistemas distribuídos.
Rio de Janeiro - 12/08/13
Definição de um sistema distribuído
	É um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.
	Uma característica importante é que as diferenças entre os vários computadores e o modo como eles se comunicam, estão em grande parte, ocultas aos usuários. 
	Para suportar computadores e redes heterogêneas e, simultaneamente, oferecer uma visão de sistema único os sistemas distribuídos costumam ser organizados por meio de uma camada de software denominada middleware.
Metas
	Um sistema distribuído deve oferecer fácil acesso a seus recursos, ocultando o fato de que os mesmos são distribuídos por uma rede; deve ser aberto e permitir ser expandido.
Rio de Janeiro - 19/08/13
Acesso a recursos
	A principal meta de um sistema distribuído, é facilitar aos usuários e as aplicações, o acesso ao recurso remoto e seu compartilhamento de maneira controlada e eficiente.
	Este conceito está diretamente ligado a TI verde e ao acesso a recursos compartilhados pois é mais fácil e barato permitir que uma impressora seja compartilhada por diversos usuários do que ter e manter uma impressora direcionada a cada usuário. 
	Contudo, a medida que a conectividade e o compartilhamento crescem, a segurança se torna cada vez mais importante. 
Transparência da distribuição
	Uma meta importante de um sistema distribuído é ocultar o fato de que seus processos e recursos estão fisicamente distribuídos por vários computadores. Um sistema distribuído que é capaz de se apresentar a usuários e aplicações como se fosse apenas um único sistema é denominado transparente. 
Tipos de transparências: 
Acesso -> trata de ocultar diferenças entre representação de dados e o modo como os recursos podem ser acessados.
Localização -> oculta o lugar em que um recurso está localizado.
Migração -> oculta que um recurso pode ser movido para outra localização.
Relocação -> oculta que um recurso pode ser movido para uma outra localização enquanto em uso.
Replicação -> oculta que um recurso é replicado.
Rio de Janeiro - 26/08/2013
Concorrência -> oculta que um recurso pode ser compartilhado por diversos usuários concorrentes. Oculta falha e recuperação.
Abertura -> um sistema distribuído aberto é um sistema que oferece serviços de acordo com regras padronizadas. Há regras que governam o formato, o conteúdo e o significado de mensagens enviadas e recebidas. No Caso de sistemas distribuídos, em geral, os serviços são especificados por meio de interfaces, que costumam ser descritas em uma linguagem de definição de interface (IDL). 
Interoperabilidade -> caracteriza até que ponto duas implementações de sistemas ou componentes de fornecedores diferentes devem coexistir e trabalharem em conjunto, com base na mera confiança mútua nos serviços de cada um, especificados por um padrão comum.
Portabilidade -> até que ponto uma aplicação desenvolvida para um sistema distribuído A pode ser executada, sem modificação para um sistema distribuído diferente B.
Escalabilidade -> um sistema pode ser escalável em relação a seu tamanho, é fácil adicionar mais recursos e usuários ao sistema, em termos geográficos um sistema no qual usuários e recursos podem estar longe um dos outros; em termos administrativos pode ser fácil de gerenciar mesmo que abranja muitas organizações administrativas diferentes.
Rio de Janeiro – 02/09/2013
Tipos de sistemas 
Sistemas e computação em cluster  O hardware subjacente consiste em um conjunt0o de estações de trabalho os PCS semelhantes, conectados por meio de uma rede local de alta velocidade. Em quase todos os casos a computação de cluster é usada para programação paralela na qual um único programa é executado em paralelo em várias máquinas.
Sistemas de computação em grade  Consiste em sistemas distribuídos que costumam ser montados com federação de computadores na qual cada sistema pode cair sob um domínio administrativo diferente, no qual tange a hardware e software e tecnologia de rede empregada. Esta arquitetura possui 4 camadas: a camada base prover interfaces para recursos locais em um site específico; A camada de conectividade consiste em protocolos de comunicação para suportar transações da grade, que abranjam múltiplos recursos; a camada de recursos é responsável pelo gerenciamento de um único recurso: a camada coletiva permite manipular o acesso a múltiplos recursos possuindo serviços de alocação e escalonamento de tarefas. 
Aplicações
Camada coletiva
Conectividade
Camada base
Sistemas de informação distribuídos  uma outra classe importante de sistemas distribuídos é encontrada em organizações e se defrontam com uma profusão de aplicações em rede para as quais interoperabilidade se mostrou uma experiência dolorosa.
Sistemas de Processamento de Transações  Essa propriedade tudo ou nada é uma das quatro características deste modelo, que são:
Atômicas  Para um mundo exterior, a transação acontece como se fosse indivisível. 
Rio de Janeiro - 09/09/2013
Atômicas  Para um mundo exterior, a transação acontece como se fosse indivisível. 
Consistentes -> a transação não viola invariantes de sistema. 
Isoladas -> transações concorrentes não interferem umas com as outras.
Duráveis -> uma vez comprometida uma transação, as alterações são permanentes.
Transação Aninhada  Uma transação aninhada é construída com base em uma quantidade de subtransações. A transação do nível mais alto pode se ramificar e gerar filhos que executam em paralelo.
Integração de aplicações empresariais  a principal ideia era que aplicações existentes pudessem trocar informações diretamente. Podemos utilizar a chamada de procedimento remoto( RPC) e invocações de método remoto(RMI), NO ENTANTO, esses dois métodos possuem a desvantagem de estar ligados e em funcionamento no momento da comunicação. A solução é utilizar o middleware orientado a mensagem (MOM).
Sistemas distribuídos pervasivos  são caracterizados por seu pequeno tamanho, pela alimentação por bateria, por sua mobilidade e por terem uma conexão sem fio. Um aspecto muito importante dos sistemas pervasivos é que os dispositivos se juntam ao sistema para acessar e fornecerem informações com facilidade 
Sistemas domésticos  são sistemas pervasivos montados ao redor de redes domésticas como por exemplo aparelhos de TV, dispositivos para jogos, câmaras de segurança, controladores de iluminação, etc.
Rio de Janeiro – 16/09/2013
Sistemas eletrônicos para tratamento de saúde  Com o aumento do custo dotratamento médico, estão sendo desenvolvidos novos dispositivos para monitorar o bem estar de indivíduos e entrar automaticamente em contato com médicos quando necessário.
Sistemas para tratamento de saúde costumam ser equipados com vários sensores organizados em uma rede de área corporal ( BODY-AREA NETWORK)BAN.
Redes de sensores  O que torna as redes de sensores interessantes da perspectiva de sistemas distribuídos é que em praticamente todos os casos elas são usadas para processar informações. Normalmente uma rede de sensores consiste em dezenas a centenas de milhares de nós relativamente pequenos, cada um equipado com dispositivo de sensoriamento. Estritamente relacionados com as redes de sensores , são as redes em malha, que em essência formam um conjunto de nós que se comunicam por meio de ligação sem fio e formam a base para muitos sistemas distribuídos de médio porte.
Arquiteturas 
Arquiteturas em camadas  É a camada mais simples, os componentes são organizados de tal forma que um componente na camada LI , tem permissão de chamar componentes na camada 
Subjacente LI-1, esse modelo é adaptado pela comunidade de redes.
Baseadas em objetos  em Essência cada objeto corresponde ao que definimos como componente, e esse componentes são conectados por meio de uma chama de procedimentos (REMOTA).
Arquitetura centrada em dados  Se desenvolvem em torna da idéia de que processos se comunicam por meio de um repositório comum ( positivo ou ativo).
Arquiteturas baseadas em eventos  Processos se comunicam em essência por meio da propagação de eventos que também podem transportar dados.
Rio de Janeiro – 23/09/2013
Defina Sistema Operacional em lote.
Os programas eram enfileirados em disco ou fita e aguardavam a execução, um por vez. Normalmente, os programas (jobs) não necessitavam de interação com o usuário. Embora sejam considerados como os precursores dos sistemas multiprogramados, pois aproveitavam os tempos de E/S para a execução de outros processos, o processamento era puramente sequêncial e ofereciam longos tempos de resposta.
Defina Sistema Operacional de tempo real.
São semelhantes aos sistemas time-sharing, embora exijam tempo de resposta dentro de limites rígidos, na execução de tarefas. O conceito de time-slice é muito pouco utilizado e os processos executam o tempo necessário e conforme sua prioridade. São sistemas muito utilizados em controle de processos, onde o tempo é um fator crucial: refinaria de petróleo, automação industrial, controle de tráfego aéreo etc.. Neste sistema, os processos geralmente são ativados por sensores.
Defina Sistema Distribuído.
Um sistema distribuído é um conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente.
Qual a importância da invenção das redes para os sistemas distribuídos?
Porque o uso dos padrões revolucionou as redes de computadores?
Como é composto / organizado um sistema distribuído?
Defina middleware.
Middleware é um termo geral, normalmente utilizado para um de código de software que atua como um aglutinador, ou mediador, entre dois programas existentes e independentes. Sua função é trazer independência das aplicações com o sistema de transmissão.
Qual é a meta de um sistema distribuído?
Um sistema distribuído deve oferecer fácil acesso a seus recursos, ocultando o fato de que os mesmos são distribuídos por uma rede; deve ser aberto e permitir ser expandido.
O que seria transparência em relação a sistemas distribuídos?
Quais são os tipos de transparência possíveis?
Defina sistema distribuído aberto.
É um sistema que oferece serviços de acordo com regras padronizadas. Há regras que governam o formato, o conteúdo e o significado de mensagens enviadas e recebidas. No Caso de sistemas distribuídos, em geral, os serviços são especificados por meio de interfaces, que costumam ser descritas em uma linguagem de definição de interface (IDL).
O que é portabilidade em relação a sistemas distribuídos?
Verifica até que ponto uma aplicação desenvolvida para um sistema distribuído A pode ser executada, sem modificação para um sistema distribuído diferente B.
Quais são as dimensões de medida de escalabilidade?
Um sistema pode ser escalável em relação a seu tamanho, é fácil adicionar mais recursos e usuários ao sistema, em termos geográficos um sistema no qual usuários e recursos podem estar longe um dos outros; em termos administrativos pode ser fácil de gerenciar mesmo que abranja muitas organizações administrativas diferentes.
Quais são os tipos de sistemas distribuídos?
Sistemas de Computação, Sistemas de Informação Distribuídos, Sistemas Pervasivos, Sistemas de Computação em Cluster, Sistemas de Computação em Grade, Sistemas de Processamento de Transações, Sistemas Domésticos.
Defina as camadas base de um sistema de computação em grade?
A camada base prover interfaces para recursos locais em um site específico; A camada de conectividade consiste em protocolos de comunicação para suportar transações da grade, que abranjam múltiplos recursos; a camada de recursos é responsável pelo gerenciamento de um único recurso: a camada coletiva permite manipular o acesso a múltiplos recursos possuindo serviços de alocação e escalonamento de tarefas. 
O que é um sistema de processamento de transações?
Quais são as propriedades que definem um sistema de processamento de transações?
Atômicas  Para um mundo exterior, a transação acontece como se fosse indivisível. 
Consistentes -> a transação não viola invariantes de sistema. 
Isoladas -> transações concorrentes não interferem umas com as outras.
Duráveis -> uma vez comprometida uma transação, as alterações são permanentes.
Defina uma transação aninhada.
Uma transação aninhada é construída com base em uma quantidade de subtransações. A transação do nível mais alto pode se ramificar e gerar filhos que executam em paralelo.
Qual a importância das chamadas de procedimento remoto em uma aplicação distribuída?
Defina sistemas pervasivos.
São caracterizados por seu pequeno tamanho, pela alimentação por bateria, por sua mobilidade e por terem uma conexão sem fio. Um aspecto muito importante dos sistemas pervasivos é que os dispositivos se juntam ao sistema para acessar e fornecerem informações com facilidade.
O que é uma rede de área corporal?
Qual a importância de uma rede de sensores?
Dê exemplos de uma rede de sensores.
Quais são os problemas para implementar um sistema distribuído?
Defina arquitetura baseada em objetos.
Em essência cada objeto corresponde ao que definimos como componente, e esses componentes são conectados por meio de uma chamada de procedimentos (REMOTA).
Defina arquitetura baseada em dados.
Desenvolvem-se em torna da ideia de que processos se comunicam por meio de um repositório comum ( positivo ou ativo).
MATÉRIA AV2 COMEÇA AQUI :
Rio de Janeiro – 28/10/2013
Comunicação Distribuida:
Soquete : É definido como uma extremidade de um canal de comunicação. Um soquete é formado por um endereço de IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos de clientes ou vindos por uma porta específica. Assim que é recebido, o servidor aceita uma conexão soquete para completar a conexão.
RPC (Chamada de Procedimento Remoto) : Um soquete só permite a troca de fluxo não estruturado de bytes, sendo responsabilidade da aplicação cliente ou servidor impor uma estrutura. O sistema RPC permite uma Thread chame um procedimento ou função em outro processo. A vantagem é que o RPC gerencia o canal de comunicação.
RMI ( Invocação de Método Remoto) : A RMI permite que um Thread invoque um método em um objeto remoto. Os objetos são considerados remotos se residirem em uma máquina virtual java.
CORBA : é um middleware, uma camada de software intermediaria, que permite a comunicação entre aplicações cliente-servidor heterogênea. Por exemplo, um programa C++ pode usar CORBApara acessar um banco de dados escrito em COBOL.
Rio de Janeiro – 04/11/2013
É na melhor das hipoteses uma informação muito grosseira.
	 
	Fluxo instruções
	Fluxo dados
	Nome
	Exemplos
	1
	1
	SISD
	Máquina de Von Neumann.
	1
	Múltiplas
	SIMD
	Supercomputador vetorial
	Múltiplas
	1
	MISD
	Nenhum
	Múltiplas
	Múltiplas
	MIMD
	Multiprocessador, multicomputador.
Trabalho em grupo no máximo 4 pessoas (entregar dia 18NOV) com suas palavras.
Falar sobre:
Tipos e aplicações de um supercomputador vetorial;
Pesquisa sobre uma distribuição de Linux que gerencie cluster “Fox” (histórico de como ela usa);
Falar sobre software que gerencia hd, processador e memória de computadores em nuvem (nome, etc.)
No mínimo 5 e no máximo 10 folhas. Valor: 2,0. Pontos
	
	SD (um dado)
	MD (múltiplos dados)
	SI (uma instrução)
	SISD (Von Neumann)
	SIMD (Array)
	MI (múltiplas instruções
	MISD (Pipelines)
	MIMD (Multicomputadores e multiprocessadores)
	Um fluxo de instruções corresponde a um contador de programa. Um fluxo de dados consiste em um conjunto de operandos. Por exemplo, o cálculo de temperatura possui vários fluxos de dados, um para cada sensor. Os fluxos de dados e instruções são independentes e possuem 04 combinações: SI (uma instrução), SD(um dado), MI(múltiplas instruções), MD (múltiplos dados) e suas combinações formam SISD, SIMD, MISD(só na teoria, porque não existe múltiplas instruções pra um único dado) e MIMD.
- Sistemas distribuídos baseados na web
A arquitetura não apresenta diferenças fundamentais em relação a de outros sistemas distribuídos. Diferentemente de muitos sistemas distribuídos, os sistemas distribuídos baseados na web são relativamente novos. Muitos sistemas ainda são organizados como arquitetura cliente-servidor. 
Rio de Janeiro – 18/11/2013
- Sistemas distribuídos baseados na web (CONTINUAÇÃO)
Sistemas de arquivos em Rede: NFS / AFS / CDDA / Sprite
Composição de sistemas web ( XML – UDDI ; WSDL )
WSDL : Contém as definições exatas das interfaces fornecidas por um serviço por meio da linguagem de definição de serviços web, linguagem formal muito parecida com as usadas em RPC.
UDDI : Integração , Descoberta e Descrição Universal. Preescreve em layout de um banco de dados que contém descrições de serviços.
SOAP ( Protocolo Simples de acesso ao objeto ) : É o padrão para comunicação em serviços web não sendo um protocolo difícil e sua principal finalidade é fornecer um meio relativamente simples de permitir que partes diferentes que talvez saibam muito pouco uma das outras consigam se comunicar.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes