Sei sulla pagina 1di 81

Sistemas Distribudos

Andrew s Tanenbaum e Maarten Van Steen

Sumrio
A quantidade de melhorias que ocorreram na tecnologia de computadores nos ltimos 50 anos verdadeiramente assombrosa e totalmente sem precedentes em outros setores.
Uma mquina que custava dez milhes de dlares e executava uma instruo por segundo -> chegamos a mquinas que custam mil dolares e podem executar um bilho de instrues por segundo, um ganho preo/desempenho de 1013. Inveno de redes de computadores de alta velocidade: -Redes locais/LANS Informaes transferidas em microsegundos. -Redes Longa Distncia /WAN taxas de 100 milhes a 10 bilhes de bits/s. Milhes de Mquinas velocidades 64Kbit/s a GigaBits/s possibilitou sistemas de computao composto por grandes quantidades de computadores. Esses sistemas costumam ser denominados redes de computadores ou sistemas distribudos, em comparao com os sistemas centralizados(ou monoprocessadores), que consistem em um nico computador, seus perifricos e, talvez alguns terminais remotos.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Definio
Um Sistema Distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente.
Estabelecer a colaborao (componentes autonomos) o cerne do desenvolvimento de sistemas distribudos. As diferenas entre os vrios computadores e o modo como eles se comunicam esto, em grande parte ocultas aos usurios, assim como a organizao interna dos SD. Usurios e aplicativos podem interagir com um SD de maneira consistente e uniforme, independente de onde a iterao ocorra. Deve ser fcil expandir ou aumentar a escala de sistemas distribudos, mas deve ocultar como estes computadores fazem parte do sistema como um todo. Mesmo que algumas partes estejam avariadas, substitudas , consertadas opu novas partes adicionadas para atender usurios e aplicaes.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

...Sistemas Distribudos costumam ser organizados por meio de uma camada de software...Tal camada denominada middlware.

Middleware: camada de software que se estende por vrias mquinas e oculta das aplicaes as diferenas em hardware e sistemas operacionais, oferecendo mesma

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

A quantidade de melhorias que ocorreram na tecnologia de

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Exemplos de Sistemas Distribudos: Uma rede de estaes de trabalho em uma universidade ou companhia Uma rede de computadores em uma fbrica Um grande banco com muitas agncias, cada qual com um computadores e caixas automticas Sistema de reserva de passagens areas Sistema de controle de estoque, vendas e entregas numa cadeia de lojas Servios da Internet: Netnews, WWW Sistemas de acesso a recursos de multimdia e de conferncia Vantagens de SD sobre SC Melhor relao custo/benefcio Capacidade de processamento alm dos limites prticos de SC (velocidade da luz, aquecimento) Maior domnio de aplicaes Maior confiabilidade e disponibilidade Crescimento gradativo da capacidade de processamento

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Vantagens de SD sobre PCs independentes


Compartilhamento de dados comuns entre usurios Compartilhamento de recursos de hardware e software Comunicao entre pessoas Flexibilidade na distribuio de tarefas de acordo com as aplicaes

Desvantagens de SD
Falta de software adequado Falhas e saturao da rede de comunicao podem eliminar as vantagens de SD Segurana pode ser comprometida: fcil acesso a dados e recursos reservados

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
Um Sistema Distribudo deve oferecer fcil acesso a seus recursos; deve ocultar razoavelmente o fato de que os recursos so distribudos por uma rede; dever ser aberto e deve poder ser expandido. relativamente fcil agrupar um grande nmero de CPUs, conectando-as por uma rede de alta velocidade. O software para sistemas distribudos completamente diferente do software para sistemas centralizados e est apenas comeando a se desenvolver.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1 - Acesso a recursos 2 - Transparncia da distribuio 3 - Escalabilidade 4 - Confiabilidade 5 - Flexibilidade 6 - Desempenho 7 - Heterogeneidade 8 - Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Meta
1 - Acesso a recursos:
Acesso/compartilhamento de recursos Considerada PRINCIPAL META Tipos de recursos: Impressoras, computadores, dados, Paginas da Web, Hds etc. Um SD deve oferecer fcil acesso a recursos remotos e compartilhamento eficiente/controlado Compartilhamento de recursos -> economia Conectar usurios e recursos facilita a colaborao e a troca de informaes
Exemplo: Internet

Organizaes virtuais Gropware software p/ edio colaborativa, teleconferencia, etc Rastreamento de comunicaes para montar um perfil de preferncias violao de privacidade Spam Segurana - criptografia, rastreamento de comunicaes para montar perfil de preferncias de um usurio especfico...

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Meta 2 -Transparncia da distribuio


Ocultar o fato de que seus processos e recursos estarem distribudos por vrios computadores; Um SD se apresenta a usurios e aplicaes como um sistema

nico (TRANSPARENTE)
Tipos de transparncias Acesso, Localizao, Migrao, Relocao, Replicao, Concorrncia e Falha

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Acesso Trata de ocultar diferenas em representao de dados (mquinas com arquiteturas diferentes mquinas e sistemas operacionais diferentes) Diferenas entre sistemas de nomeao e como arquivos so manipulados Localizao O nome do recurso deve ser independente de sua localizao fsica (sist. nomeao tem papel importante) Nomes lgicos (URL): usurio acessa recursos da independente de onde ele est. - Usurios no so capazes de dizer a localizao fsica do recurso Ex.:www.google.com nome no d pistas da localizao fsica de um dos servidores google

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Migrao


Objetos podem migrar de uma mquina a outra por questes de desempenho, confiabilidade, segurana etc. Deve: Manter nome do objeto Garantir continuidade de comunicao - Recursos podem migrar de uma localidade para outra, por questes de desempenho, segurana, etc Deve ser feita de forma automtica pelo sistema Deve manter o nome do objeto Deve garantir a continuidade de comunicao

Relocao
Oculta que um recurso (notebook) possa ser movido para outra localizao durante o uso Quando um usurio mvel?

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Relocao


Oculta que um recurso (notebook) possa ser movido para outra localizao durante o uso Quando um usurio mvel? Um notebook se movimentando dentro da mesma rea de cobertura (no mvel) Um automvel passando por vrias redes de acesso sem fio, com conexo ininterrupta (mvel) Um notebook numa lanchonete sem necessidade de conectividade durante trajetria (mvel) Oculta que um recurso possa ser movido para outra localizao durante o uso Exemplos: Celular se movimentando dentro da mesma rea de cobertura Um automvel passando por vrias redes de acesso sem fio, com conexo ininterrupta

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Replicao


Permite que vrias instncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho (varias cpias de um recurso) Deve: - Mascarar o conhecimento das rplicas por parte dos usurios ou dos programadores de aplicativos Implica na transparncia de localizao Problemas de consistncia

Concorrncia
Coordenar acessos a recursos compartilhados Ordenao de eventos: todos usurios devem ter a mesma viso do sistema Garantir excluso mtua

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Concorrncia


Coordenar acessos a recursos compartilhados Ordenao de eventos: todos usurios devem ter a mesma viso do sistema Garantir excluso mtua Evitar postergao indefinida

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Concorrncia

Evitar deadlocks : Deadlock (interbloqueio, -blocagem,


impasse), no contexto do sistemas operacionais (SO), caracteriza uma situao em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execues, ou seja, ficam bloqueados. Trata-se de um problema bastante estudado no contexto dos Sistemas Operacionais, assim como em outras disciplinas, como banco de dados, pois inerente prpria natureza desses sistemas.
Travas de acesso Tratamento mais refinado: transaes

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

2.1 Tipos de Transparncia Falhas Usurio no pode perceber que um recurso deixou de funcionar bem Mascarar falhas uma das questes mais difceis Recurso morto ou incrivelmente lento? Ex.: quando contatamos um servidor Web ocupado, a certa altura o tempo do browser se esgotar e ele avisa que a pgina Web no est disponvel. Neste caso o usurio no pode concluir se, na verdade, o servidor est avariado.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Meta 3 - Abertura
SD aberto oferece servios de acordo com regras padronizadas para descreverem a sintaxe e semntica dos servios Ex: Em redes, existe a padronizao de protocolos que regem o contedo, formato e significado das mensagens - Em SDs, os servios so especificados por IDLs (linguagem de definio de interface ) IDLs capturam a sintaxe dos servio (especificam nome das funes, tipos de parmetros, valores de retorno, excees etc. A parte difcil especificar com preciso o que esses servios fazem isto Especificao da semntica da interface (parte complicada) Caracterstica que determina se um sistema pode ser estendido de diferentes maneiras Hardware - Incluso de dispositivos de fabricantes distintos Software Mdulos de SO Protocolos de Comunicao Recursos compartilhados

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Meta
3- Abertura
Interoperabilidade Define at que ponto duas implementaes de sistemas ou componentes de fornecedores diferentes devem coexistir e trabalhar em conjunto, com base na confiana mtua nos servios de cada um, especificados por um padro comum Capacidade de um sistema ( informatizado ou no) de se comunicar de forma transparente (ou o mais prximo disso) com outro sistema (semelhante ou no).

Portabilidade Caracteriza at que ponto uma aplicao desenvolvida para um sistema distribudo A pode ser executada, SEM MODIFICAO, em um sistema distribudo B que implementa as mesmas interfaces que A Habilidade de reusar um cdigo existente ao invs de refaz-lo quando este movido de um ambiente para outro Um Sistema Distribudo Aberto deve ser tambm extensvel. facl adicionar partes que so executadas em um SO diferente, at mesmo substituir todo um sistema de arquivo.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Escalabilidade
Pode ser medida, no mnimo, em Trs Dimenses [Neuman, 1994] Tamanho pode adicionar mais usurios e mais recursos ao sistema Termos Geogrficos um sistema no qual usurios e recursos podem estar longe um do outro Termos Administrativos facil gerencivel mesmo que abranja muitas organizaes admistrativas diferentes.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
5. Confiabilidade Tolerar falhas Habilidade do sistema continuar operacional mesmo na presena de falhas (redundncia e controle distribudo) Detectar e recuperar falhas Capacidade para detectar ocorrncia de falhas e levar o sistema a um estado aceitvel para a continuidade da operao (mecanismos de retransmisso de msgs)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
6.Flexibilidade
Capacidade de modificao e incluso Correo/manuteno do sistema sem interrupo do servio Incluso de novas funcionalidades e recursos (integrao de componentes)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
7. Desempenho
Objetivo: transformar o desempenho to bom quanto, ou mesmo superior, a de um sistema centralizado Tcnicas bsicas Uso da cache Minimizar a necessidade de transferncia de dados e sincronizao Explorar uso de paralelismo de alta granularidade (threads, concorrncia etc.)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
8.Heterogeneidade
Objetivo: permitir a interao de sistemas diferentes tanto em nvel de software como de hardware Inclui diferentes SOs e linguagens de programao
Tcnicas bsicas Uso de protocolos Uso de formatos comuns para representao de dados (XDR, XML etc.) Camadas de adaptao (Middleware)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
1.Acesso a recursos 2.Transparncia da distribuio 3.Abertura 4.Escalabilidade 5.Confiabilidade 6.Flexibilidade 7.Desempenho 8.Heterogeneidade 9.Segurana

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Metas
9. Segurana
Objetivo: proteo recursos compartilhados e manuteno da confiabilidade de dados Deve considerar mecanismos para: Autenticao Autorizao Integridade Confidencialidade Autenticidade Tcnicas de criptografia Preocupao com ataques (DoS, DDoS)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Ciladas
Premissas falsas adotadas ao se desenvolver pela primeira vez uma aplicao distribuda Rede confivel Rede segura Rede homognea Topologia constante Latncia zero Largura de banda infinita Custo de Transporte zero Existe somente um administrador

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sumrio Definio Metas Tipos de Sistemas Distribudos

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de SDs Sistemas de Computao Distribudos Sistemas de Informao Distribudos Sistemas Embutidos Distribudos

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas de Distribudos Sistemas de Computao Distribudos


-Computao de Cluster e Computao em Grade

Sistemas de Informao Distribudos


-Sistemas de Processamento de Transaes e -Integrao de Aplicaes Empresariais

Sistemas Distribudos Pervasivos


-Sistemas Domsticos, Sistemas Eletrnicos para -Tratamento de Sade e Redes de Sensores

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Computao Distribudos Sistemas de computao de clusters Sistemas de computao em grade (grids)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Computao - Cluster Hardware consiste em um conjunto de estaes de trabalho ou Pcs


semelhantes, conectados por meio de uma rede de alta velocidade. Conexo feita atravs de uma rede local Em quase todos os casos, a computao de cluster usada para programao paralela na qual um nico programa executado em paralelo Sistemas de computao de clusters Conjunto de estaes de trabalho ou PCs semelhantes, Cada n executa o mesmo SO Hardware subjacente homogneo Usado para processamento paralelo nico programa executado em vrias mquinas

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Computao Cluster


Exemplo: clusters Beowulf basedos em linux: conjunto de ns de computao controlados e acessados por meio de um nico n mestre (executa o middleware necessrio para a execuo de programas e gerenciamento do cluster);

Exemplo: sistema Mosix que adota uma abordagem simtrica. Prov a imagem de um sistema nico de um cluster, com transparncia de distribuio (migrao de processos entre ns do cluster).

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Cada cluster consiste em um conjunto de ns de computao controlados e acessados por meio de um nico n mestre. N mestre manipular alocao de ns a um determinado programa paralelo, manter uma fila de jobs apresentados e proporcionar interface para os usurios do sistema. O mestre executa o middleware necessrio para execuo de programas e o gerenciamento de cluster, para ns basta SO. Uma parte importante desse middleware formada pelas bibliotecas para execuo de programas paralelos.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de SDs
Sistemas de Computao - Grade(grids)
Heterogeneidade Recursos de diferentes organizaes so reunidos para permitir a colaborao de um grupo de pessoas ou instituies PlanetLab: http://www.planet-lab.org Sistemas de computao em grade SDs montados como federao de computadores, na qual cada sistema pode cair sob um sistema administrativo diferente, e pode ser muito diferente no que tange a hardware, software e tecnologia empregada Apresentam alto grau de heterogeneidade Software usado para permitir acesso a recursos (e.g. muitas vezes clusters) de diferentes organizaes reunidos para permitir a colaborao de um grupo (conceito de organizao virtual) Foco dirigido para a arquitetura

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de SDs

A arquitetura para a computao em grade consiste em quatro camadas: Camada Base: prov funes para consultar o estado e as capacidades de um recurso em conjunto com funes para o gerenciamento de recursos propriamente dito. Camada de Conectividade: responsvel por protocolos de comunicao que suportem transaes da grade, alm de conter protocolos de segurana que autentiquem usurios e recursos. Camada de Recurso: responsvel pelo gerenciamento de um nico recurso utilizando funes fornecidas pela camada de conectividade e chama diretamente as interfaces disponibilizadas pela camada base. Camada Coletiva: trata de manipular o acesso a mltiplos recursos e normalmente consiste em servios para descoberta de recursos, alocao e escalonamento de tarefas. Camada de aplicaes: consiste em aplicaes que funcionam dentro de uma organizao virtual e que fazem uso do ambiente de computao em grade. A inteno do sistema de computao em grade ser dividida em camadas que, como recursos distribudos normalmente so heterogneos, a arquitetura em camadas habilita interoperabilidade e modularidade.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de SDs Sistemas de Informao


Sistemas empresariais desenvolvidos para integrar diversas aplicaes individuais, onde a interoperabilidade se mostrou dolorosa Sistemas de processamento de Transaes Integrao de Aplicaes Empresariais

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Processamento de Transaes


Operaes em banco de dados costumam ser realizados sob a forma de transaes. Programar a utilizao de transaes requer primitivas especiais que devem ser fornecidas pelo sistema distribudo ou pelo sistema de linguagem

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Processamento de Transaes - ACID


Caractersticas Atmicas: para o mundo exterior, a transao acontece como se fosse indivisvel Essa propriedade garante que cada transao acontea completamente, ou no acontea; e, se acontecer, ser como uma nica ao indivisvel e instantnea Consistentes: a transao no viola invariantes de sistema Isso quer dizer que, se o sistema tiver certos invariantes que devem valer sempre, se eles forem vlidos antes da transao, tambm o sero aps a transao. Ex sistema bancrio lei da conservao do dinheiro Isoladas: transaes concorrentes no interferem umas com as outras Significa que, se duas ou mais transaes so executadas ao mesmo tempo, o resultado final para cada uma delas e para outros processos se apresentar como se todas as transaes fossem executadas em sequncia em certa ordem, dependente do sistema. Durveis: uma vez comprometida uma transao, as alteraes so permanentes Refere-se ao fato de que no importa o que acontea, uma vez comprometida uma transao, ela continua, e os resultados tornam-se permanentes.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao Distribudos


Exemplo: Portal de Turismo

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao Distribudos

Exemplo: Portal de Turismo


A origem dos sistemas de informao distribudos est geralmente ligada organizaes que se defrontaram comum grande quantidade de aplicaes em rede e que passaram a ter crescentes problemas de interoperabilidade. Usualmente uma aplicao em rede que era executada num servidor, que tambm era o servidor de banco de dados, disponibilizando-a para acessos remotos, denominados clientes.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Exemplo: Portal de Turismo

Sistemas de Informao Distribudos

Toda vez que o cliente envia uma requisio ao servidor, fica aguardando uma resposta depois da execuo de uma operao especfica. Integrao o processo no qual clientes empacotem vrias requisies, em geral para vrios servidores, em uma requisio maior como uma transao distribuda que ser plenamente executada ou ento no seria executada. Todavia, a medida em que os componentes de dados foram se distinguindo dos de processamento, ficou claro que as aplicaes se comunicassem entre si.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao Distribudos Sistemas de Processamento de Transaes A partir do conhecimento de que as operaes num banco de dados so feitas sob a forma de transaes, fica natural pensarmos num processo que tem em algum ponto um incio (BEGIN_TRANSACTION) e num outro local um trmino (END_TRANSACTION). Supe-se que se todo processo ocorrer como se espera inicialmente a transao ser realizada, de forma integral, no banco de dados (COMMIT). Todavia, se por qualquer que seja o motivo alguma parte dessa transao no puder ser executada, toda a transao desfeita (ROLLBACK). Em geral, chama-se a esse processo de ACID. Vejamos o porqu disso...

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Processamento de Transaes Atmicas: Para todo restante do sistema, a transao acontece como se fosse indivisvel. Consistente: A transao no viola invariantes de sistema. [Notar que invariantes podem ser violados por breves instantes] Isoladas: Transaes concorrentes no interferem entre si. [Serializveis] Durveis: Uma vez comprometida uma transao, as alteraes sero permanentes.

Sistemas de Informao Distribudos

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Exemplo 1 - SOA
Todas as operaes realizadas em um sistemas so, ou deveriam ser, fracamente acopladas entre si, quando se pensa em criar uma Arquitetura Orientada a Servios. Mais do que desejvel, este nvel de acoplamento deve ser perseguido. Imagine que voc v ao Shopping com sua namorada ver um filme e lanchar na praa de alimentao, no restaurante preferido de vocs. Imagine agora que o filme que voc deseja assistir no esteja passando no Shopping favorito. Naturalmente grande a chance de vocs irem noutro Shopping e acabarem lanchando noutro local.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Processamento de Transaes


Transao Aninhada so importantes em sistemas distribudos porque proporcionam um modo natural de distribuir uma transao por vrias mquinas. Transao construda com base em uma quantidade de subtransaes

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Processamento de Transaes Quando os sistemas de middleware empresarial comearam, o componente que manipulava transaes distribudas, ou aninhadas, formava o ncleo para integrao de aplicaes no nvel do servidor ou do banco de dados -> monitor TP Monitor de processamento de transao: permitir que uma aplicao acessasse vrios servidores/bancos de dados

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Processamento de Transaes

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Integrao de Aplicaes Empresariais


Aplicaes querem muito mais em termos de comunicao, no somente modelo de requisio/resposta A principal idia era que aplicaes existentes pudessem trocar informaes diretamente uns com outros - fig 1.8 Vrios tipos de Middleware de Comunicao: Chamadas de Procedimento Remoto - RPC Invocaes de Mtodo Remoto Middleware Orientado a Mensagem

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Integrao de Aplicaes Empresariais

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Middleware de Comunicao


Chamadas de Procedimento Remoto (RPC)

Componente de aplicao pode enviar a um outro componente de aplicao executando uma chamada de procedimento local, que resulta no empacotamento da requisio como uma mensagem em seu envio ao chamador. Requisio e Resposta so empacotadas em mensagens

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Middleware de Comunicao


Com aumento da Popularidade da Tecnologia de Objetos desenvolvimento de tcnicas que permitissem chamadas a objetos remotos.

Invocaes de Mtodo Remoto (RMI) RMI semelhante a Chamadas de Procedimento Remoto (RPC) , exceto que funciona com objetos em vez de com aplicaes

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas de Informao - Middleware de Comunicao


Desvantagens do RPC e RMI: Componentes da comunicao(chamador e o chamado) devem estar ligados e em funcionamento Precisam saber exatamente como se referir um ao outro Middleware Orientado a Mensagem (MOM) Aplicaes enviam mensagens a pontos lgicos de contato O Middleware se encarrega de entregar todas as mensagens destinadas a uma aplicao

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de SDs
Sistemas Distribudos Pervasivos
Dispositivos de computao mveis e embutidos instabilidade o comportamento esperado. Pequeno porte Alimentao por bateria Ausncia geral de controle humano Instabilidade o comportamento esperado destes sistemas Dispositivos de computao mveis e embutidos Mobilidade Conexo sem fio Exemplos Sistemas domsticos Redes de sensores Sistemas eletrnicos para tratamento de sade

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas Pervasivos


Sistemas Domsticos Sistemas Eletrnicos para Tratamento de Sade Redes de Sensores

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Nos sistemas pervasivos, os equipamentos costumam a ser caracterizados por seu pequeno tamanho, pela alimentao por bateria, por sua mobilidade e por terem somente uma conexo sem fio, se bem que nem todas essas caractersticas se aplicam a todos dispositivos. A essncia da educao pervasiva consiste em perceber este conhecimento e relacionar os processos educacionais com o contexto do aprendiz, levando em considerao seu modelo de mobilidade.

Sistemas Pervasivos

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Pervasivos
Adaptao: a mobilidade e a capacidade do aprendiz de acesso aos recursos educacionais utilizando diferentes recursos computacionais trazem a necessidade de adaptao a estes recursos. Os objetivos, preferncias, modelos de aprendizagem, de mobilidade e de contexto do aprendiz devem ser considerados;

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Pervasivos
Conscincia do contexto: a mobilidade do aprendiz traz a possibilidade do mesmo aprender em diferentes cenrios e situaes, onde diferentes recursos e oportunidades de aprender podem estar disponveis. importante pr ativamente sugerir e indicar ao aprendiz elementos presentes no contexto virtual e no-virtual e que so de interesse dele. Com isto, as informaes sobre o local onde se encontra o aprendiz (por exemplo, um evento que est ocorrendo ou vai ocorrer) podem ser relacionadas com seus objetivos educacionais (o aprendiz pode estar interessado no tpico do evento).

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Pervasivos
Trs requisitos so bsicos para se identificar um sistema pervasivo, a saber: Adoo de mudanas contextuais. Incentivar composio ad hoc (expresso latina que indica "para
um fim especfico". Em software a expresso ad hoc utilizada para designar ciclos completos de construo de um software no devidamente projetado como forma de atender alguma necessidade especfica).

Reconhecer compartilhamento como padro.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Pervasivos
Instabilidade o comportamento esperado destes sistemas Costumam estar em nosso entorno. H ausncia de controle administrativo humano Integram equipamentos domsticos como aparelhos de TV, udio e vdeo, dispositivos para jogos, smart phones e outros equipamentos pessoais. Em algum momento todos os tipos de equipamentos eletrodomsticos, relgios, dispositivos para vigilncia estaro totalmente integrados.

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Sistemas Pervasivos Parte do nosso entorno Ausncia geral de controle administrativo humano Requisitos para as aplicaes pervarsivas: Adotar mudanas contextuais Incentivar composio ad hoc Reconhecer compartilhamento como padro

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas Pervasivos


Sistemas Domsticos

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas Pervasivos


Sistemas Domsticos Sistemas Eletrnicos para Tratamento de Sade

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas Pervasivos


Sistemas Domsticos Sistemas Eletrnicos para Tratamento de Sade Redes de Sensores

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Tipos de Sistemas Pervasivos


Sistemas Domsticos Sistemas Eletrnicos para Tratamento de Sade Redes de Sensores

Sistemas Distribudos
TI Verde
Prtica sustentvel de produo, gerenciamento e descarte dos equipamentos eletrnicos, bem como economia de energia eltrica.

http://info.abril.com.br/ti-verde

Arquitetura de Sistemas Distribudos - Atividade em sala


Nome: Turma: Nome: Em dupla, Email: elaborar um texto que possua: Como era a computao no passado Turma: O que as pessoas pensavam do futuro O que evoluiu nos ltimos anos O que voc espera para os prximos anos Explicar mudanas comportamentais : Nativos digitais x Imigrantes digitais Descrever Sistemas Distribudos: Porque importante? Tipos de Sistemas Distribudos: Exemplos de cada um Diferenas entre computao centralizada e Sistemas Distribudos: Citar vantagens e desvantagens de cada um Cite as metas descrevendo-as para construo de um SD Cite ciladas comuns ao se desenvolver um SD Desafios Ti Verde O que ? Como colocar em prtica? Como construir e utilizar SDs levando em considerao TI Verde? Email:

2. O que um sistema distribudo? Cite exemplos. 1.A tecnologia evoluiu muito nos ltimos anos. Com ela muitas mudanas comportamentais tambm ocorreram. Explique a diferena entre Nativo digital e Imigrante digital. 4. (a) (b) (c) Enumere as colunas abaixo: Sistemas de computao distribudos Sistemas de informao distribudos Sistemas distribudos pervasivos

( ) Ausncia geral de controle administrativo humano ( ) Utilizada para tarefas de computao de alto desempenho ( ) encontrada em organizaes que necessitam utilizar vrias aplicaes em rede ( ) Celular ( ) Computao em Grade ( ) Sistema de processamento de transaes 5. A computao centralizada possui caractersticas como ser um sistema multiusurio e ter seu fabricante como nico responsvel pela sua instalao e manuteno. Cite cinco vantagens de se ter um Sistema Distribudo sobre Centralizados.

6. uma desvantagem de Sistemas Distribudos (a) Se uma maquina quebra o sistema continua funcionando como um todo (b) Facilidade da comunicao humana (c) Acesso fcil a dados, inclusive dados privados (d) Compartilhamento de dispositivos caros por vrios usurios (e) Possibilidade de acessar uma mesma fonte de dados por vrios usurios 7. Tanenbaum sugere quatro metas a serem seguidas para a construo de um sistema distribudo: Acesso a recursos _____________________________________________________________________ Transparncia da distribuio _____________________________________________________________________ Abertura _____________________________________________________________________ Escalabilidade _____________________________________________________________________ 8. O que uma falha? _______________________________________________________________ 9. Cite quatro possveis causas de falhas. _______________________________________________________________ 10. Cite as cinco tcnicas de tratamento de falhas

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Prxima Aula Arquitetura Estilos Arquitetnicos (software) Arquiteturas de Sistemas (local fsico das 'peas' de software)

Sistemas Distribudos
Andrew s Tanenbaum e Maarten Van Steen

Obrigado
Professor Jos Carlos Pereira

Potrebbero piacerti anche