Baixe o app para aproveitar ainda mais
Prévia do material em texto
A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 1/44 Hélio Crestana Guardia - 2013 Universidade Federal de São Carlos Departamento de Computação Sistemas Distribuídos Hélio Crestana Guardia 2013 A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 2/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos • Evolução dos sistemas computacionais: – Microprocessadores de alta capacidade – Redes de comunicação de alta velocidade • Criação de sistemas computacionais compostos por grandes quantidades de computadores, interligados por redes de alta velocidade • Surgimento dos sistemas distribuídos, em oposição aos sistemas centralizados A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 3/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos Definição: um Sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. Couloris: "we define a distributed system as one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.” A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 4/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos: aspectos • Não há restrições sobre o tipo dos computadores: de pequenos sensores a computadores de alto desempenho • Também não há restrições sobre a forma de interconexão • Diferenças entre os componentes e questões relacionadas à forma de comunicação efetiva e à organização interna do sistema são abstraídas dos usuários • Componentes colaboram para obter o resultado desejado • Expansões e escalabilidade são facilitadas pelo fato dos componentes serem independentes • Disponibilidade do sistema como um todo também é favorecida pela multiplicidade de recursos A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 5/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos Exemplos: - WWW, Web search, - Comércio eletrônico (e-commerce), E-learning, - Facebook, Twitter, Gmail, - Google drive, Dropbox e similares, - Amazon Web Services, Computação em nuvem, - Massively multiplayer online games - Financial trading: real-time access to information sources (events, delivered reliably and in a timely manner to large numbers of clients) - … A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 6/44 Hélio Crestana Guardia - 2013 Tendências em Sistemas Distribuídos (*) • Fortalecimento de tecnologia de redes pervasivas: infraestrutura de acesso por toda parte! • Fortalecimento da computação ubíqua (em todo lugar), com apoio à mobilidade dos usuários e seus dispositivos • Aumento da demanda por serviços multimídia: restrições temporais • Visão dos sistemas distribuídos como recursos (utility): computação em nuvem (*) Coulouris, et. al. Distributed Systems: concepts and Design. Assison Welsey, 2012. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 7/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos: desafios • Sistemas Distribuídos são sistemas concorrentes: necessidade de coordenar execução independente em cada nó • Componentes (nós e rede) podem falhar • Atrasos na comunicação em rede: dificuldade em diferenciar congestionamento de falhas • Ausência de relógio global: dificuldade em coordenar atividades distribuídas e obter consenso em ordenações • … • Heterogeneidade • Abertura (openness) • Segurança: integridade, confidencialidade, disponibilidade • Escalabilidade A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 8/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos: organização • Interações entre usuários, ou aplicações, e o sistema distribuído ocorrem de maneira consistente e uniforme • Funcionalidades são comumente organizadas na forma de uma camada de software logicamente posicionada entre as aplicações e sistema operacional e seus mecanismos de comunicação. => Middleware A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 9/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 10/44 Hélio Crestana Guardia - 2013 Sistemas Distribuídos: objetivos • Oferecer fácil acesso aos recursos (compartilhamento) • Ocultar as questões inerentes à distribuição (transparência) • Ser aberto • Poder ser expandido (escalabilidade) A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 11/44 Hélio Crestana Guardia - 2013 Compartilhamento de recursos • Exemplos de recursos: computadores, impressoras, unidades de armazenamento, dados, arquivos, páginas WWW, redes de computadores, … • Conectividade provida por sistemas distribuídos também favorece colaborações entre os usuários e trocas de arquivos, de mensagens, de documentos e de diferentes tipos de mídia • Trabalho cooperativo, através de groupware, também é possibilitado Aspectos: • Segurança: autenticações dos acessos e confidencialidade das informações transmitidas • Perfis: personalização x privacidade A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 12/44 Hélio Crestana Guardia - 2013 Transparência da distribuição • Transparência em um Sistema Distribuído está associada à capacidade de apresentar-se aos usuários e às aplicações como se fosse um único sistema computacional • Diferentes tipos de transparência podem ser buscados: – Acesso – Localização – Migração – Relocação – Replicação – Concorrência – Falhas A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 13/44 Hélio Crestana Guardia - 2013 Tipos de Transparência Transparência de localização é tipicamente apoiada por mecanismos de nomeação, que também favorecem a transparência de migração, de relocação e de replicação. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 14/44 Hélio Crestana Guardia - 2013 Grau de transparência • Transparência total nem sempre é possível ou desejada • Por exemplo, uma aplicação pode tornar-se mais eficiente se considerar os atrasos nas transmissões de longa distância, e fizer outra atividade nesse período, ao invés de escondê-los • Transparência de replicação implica necessidade de manter réplicas consistentes, podendo gerar atrasos • Informações de contexto (como localização) podem auxiliar na seleção de recursos. Ex: impressão local. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 15/44 Hélio Crestana Guardia - 2013 Abertura (Openness) Sistema Distribuído aberto oferece serviços de acordo com regras padronizadas que descrevem a sintaxe a semântica desses serviços. Características: • Serviços especificados através de interfaces bem definidas (Interface definition Language – IDL): – nomes, tipos, parâmetros, valores de retorno, exceções, etc. – permitem diferentes implementações da mesma funcionalidade • Portabilidade: executar aplicação, sem modificação, em dif. sistemas • Suporte à heterogeneidade de Hardware, de Plataforma e de Linguagem • Interoperabilidade com serviços de outros sistemas abertos, independentemente do ambiente em que são implementados A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 16/44 Hélio CrestanaGuardia - 2013 Abertura (Openness) Separação entre política e mecanismo • Sistema deve ser organizado como coleção de componentes relativamente pequenos e facilmente substituídos ou adaptados • Busca-se evitar o desenvolvimento de sistemas que são logicamente separados mas implementados na forma de um grande sistema monolítico (bloco único) • Importante haver especificações não só das interfaces de nível mais alto mas também das partes internas • Facilidade de configuração, expansão e substituição de partes é importante A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 17/44 Hélio Crestana Guardia - 2013 Escalabilidade Dimensões: • Escalabilidade de tamanho: possibilidade de incrementar o número de recursos e de usuários • Escalabilidade geográfica: possibilidade de ampliar a área física de alcance do sistema • Escalabilidade administrativa: possibilidade de gerenciamento, mesmo com muitas organizações administrativas diferentes Em sistemas paralelos, escalabilidade de desempenho está relacionada à possibilidade de aumento de desempenho à medida que novos recursos são adicionados (Hélio) A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 18/44 Hélio Crestana Guardia - 2013 Escalabilidade: fatores limitantes • À medida que mais usuários e recursos são admitidos no sistema, problemas de escalabilidade podem tornar-se evidentes • Serviços centralizados podem tornar-se gargalos pela capacidade de processamento ou de comunicação. • Centralização pode ser inevitável por questões de segurança em certas aplicações (ex. BD com dados sensíveis). • Dados centralizados também podem impedir a escalabilidade de usuários e recursos devido aos gargalos de comunicação. • Algoritmos centralizados, que requerem a coleta e o processamento de informações de estado de toda a rede, e.g., também limitam a escalabilidade. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 19/44 Hélio Crestana Guardia - 2013 Escalabilidade: fatores limitantes A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 20/44 Hélio Crestana Guardia - 2013 Escalabilidade: algoritmos descentralizados • Algoritmos descentralizados favorecem a escalabilidade. Características desejáveis: • Nenhuma máquina deve ter que manter informações completas sobre o estado do sistema. • As máquinas devem tomar decisões tendo como base somente informações locais. • A falha de uma máquina não deve comprometer um algoritmo. • Não deve haver dependência explícita de um relógio global. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 21/44 Hélio Crestana Guardia - 2013 Escalabilidade: aspectos da comunicação Algumas características da comunicação em redes de longa distância, típicas em cenários de computação distribuída, influenciam na escalabilidade geográfica de um SD: • Atrasos são significativos e comunicações devem ser preferencialmente assíncronas, evitando que cliente fique bloqueado até conclusão de uma solicitação; • Comunicação em redes de longa distância é inerentemente não confiável; • Normalmente, não há mecanismos de comunicação por difusão de mensagens (broadcast), ou implementação é inviável. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 22/44 Hélio Crestana Guardia - 2013 Escalabilidade: gerenciamento de políticas Considerando a dispersão de um SD sobre múltiplos domínios administrativos, diversos aspectos precisam ser tratados: • Políticas conflitantes para o uso dos recursos e suas contabilizações / tarifações • Gerenciamento de políticas locais e globais • Gerenciamento de segurança: autenticações dos acessos e confidencialidade das transmissões A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 23/44 Hélio Crestana Guardia - 2013 Escalabilidade: técnicas (1/3) Técnicas p/ escalabilidade: ocultação de latências, distribuição e replicação. • Ocultar latências de comunicação (latency hiding): – Evitar bloquear o processamento à espera de comunicação – Sobrepor processamento com transmissões – Reduzir o volume de comunicação, por exemplo, movendo parte do processamento do servidor para o cliente A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 24/44 Hélio Crestana Guardia - 2013 Escalabilidade: técnicas (2/3) • Distribuição: consiste em particionar um componente e espalhar suas partes pelo sistema. • Ex.: Domain Name System (DNS) – informações distribuídas em zonas A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 25/44 Hélio Crestana Guardia - 2013 Escalabilidade: técnicas (3/3) • Replicação: – uso de múltiplas cópias de componentes favorece a disponibilidade e o balanceamento de carga – proximidade de cópia dos componentes também favorece a redução da latência de comunicação • Ex.: cache Problema: – alteração de cópia requer atualização das demais para garantir a consistência – Sincronizações para prover as atualizações pode limitar a escalabilidade • Ex. 2: CDN (Content Distribution Networks): – localização baseada no DNS, com acesso somente de leitura A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 26/44 Hélio Crestana Guardia - 2013 Desenvolvimento de SDs: armadilhas • Além de atender aos aspectos básicos de Engenharia de Software, o desenvolvimento de SDs deve tratar questões específicas inerentes à distribuição de seus componentes. • Falsas premissas podem comprometer o desenvolvimento de Sistemas Distribuídos: – A rede é confiável – A rede é segura – A rede é homogênea – A topologia não muda – A latência é zero – A largura de banda é infinita – O custo de transporte é zero – Há só um administrador Falso! A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 27/44 Hélio Crestana Guardia - 2013 Tipos de Sistemas Distribuídos • Sistemas de Computação Distribuídos (Distributed Computing Systems): – Sistemas de Computação em cluster – Sistemas de Computação em grade (Grid Computing) – Sistemas de Computação em nuvem (Cloud Computing) • Sistemas de Informação Distribuídos (Distributed Information Systems): – Sistemas de processamento de transações (Transaction Procesing Systems) – Integração de aplicações empresariais (Enterprise Application Integration) • Sistemas Embarcados Distribuídos (Distributed Embedded/ Pervasive Systems): – Sistemas domésticos (Home Systems) – Sistemas eletrônicos para tratamento de saúde (Electronic Health Care Systems) – Redes de Sensores (Sensor Networks) A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 28/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistemas de Computação Distribuídos • Voltados à obtenção de alto desempenho (high-performance computing) • Abordagens: computação em cluster (Cluster Computing), computação em grade (Grid Computing) ou em nuvem (Cloud) Computação em Cluster: • Grupo de computadores de alto desempenho interligados numa rede local • Ambiente homogêneo: mesmo SO e (comumente) mesmo hardware • Uso de um único nó de gerenciamento, que distribui requisições para nós de processamento (middleware para programação – MPI). Ex: Linux-based Beowulf clusters: nó de gerenciamento + nós de processamento • Sistema de imagem única (Single System Image): abordagem simétrica, com uma única imagem do sistema. Ex: MOSIX: provê execução e uso dos recursosde forma transparente. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 29/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistemas de Computação em Cluster A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 30/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistemas de Computação Distribuídos Computação em Grade (Grid Computing) • Uso de nós de processamento (e outros recursos) que se espalham por vários domínios administrativos. • Agrupamento de recursos para permitir a colaboração de um grupo de pessoas ou instituições Ex. domínio administrativo: nós conectados em rede em um departamento ou universidade; cluster em uma rede remota; computadores na rede de uma empresa; … • Recursos heterogêneos • Dispersão sobre diferentes organizações • Comunicações comumente envolvem a passagem por redes de longa distância • Para possibilitar colaborações, criam-se organizações virtuais, que definem usuários globais para os recursos A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 31/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistema de Computação em Grade • Camada Base (fabric layer): interface para recursos locais em um site • Camada de Conectividade (connectivity): protocolos de comunicação para as transações. Inclui mecanismos de segurança, como autenticações e delegações • Camada de Recursos (resource): trata do gerenciamento de cada recurso • Camada Coletiva (collective): manipula acesso a múltiplos recursos • Camada de Aplicações: aplicações para a grade. Middleware (funcionalidades providas pelas camadas inferiores) permite uso da grade A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 32/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistemas de Informação Distribuídos • Grande parte dos sistemas distribuídos atualmente são middlewares para integrações de sistemas empresariais. • Comum quando substituição de sistema legado é inviável. • Comunicações normalmente ocorrem na forma de requisições de clientes para servidores. Acesso a banco de dados é comum. • Requisições podem ser agrupadas na forma de transações. • Requisições de uma transação são executas na totalidade ou nenhuma é executada. • Transações foram sendo aperfeiçoadas, separando componentes de Bancos de Dados de componentes de processamento. • Modelo deu origem aos sistemas de integração de aplicações empresariais (Enterprise Application Integration). A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 33/44 Hélio Crestana Guardia - 2013 Sistemas de Processamento de Transações • Transações formam operações atômicas e podem variar entre sistemas • Chamadas de procedimentos remotos (Remote Procedure Calls) também podem ser encapsuladas em transações Exemplo: BEGIN TRANSACTION (server, transaction) READ (transaction, file-1, data) WRITE (transaction, file-2, data) newData := MODIFIED(data) IF WRONG (newData) THEN ABORT TRANSACTION (transaction) ELSE WRITE (transaction, file-2, newData) END TRANSACTION (transaction) END IF A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 34/44 Hélio Crestana Guardia - 2013 Transações: Primitivas típicas A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 35/44 Hélio Crestana Guardia - 2013 Transações: propriedades Transações são compostas de conjuntos de operações sobre bancos de dados, manipulações de objetos, etc., e devem satisfazer as propriedades denominadas ACID: • Atomicidade: todas as operações devem ser bem-sucedidas ou nenhuma deve ser realizada. Quando uma transação falha, o estado do objeto associado permanece inalterado. • Consistência: uma transação estabelece uma transição válida, embora estados intermediários inválidos possam ocorrer ao longo de sua realização. • Isolamento: transações concorrentes não interferem entre si. Efeito é equivalente à operação sequencial. • Durabilidade: após efetivação de uma transação, efeitos são permanentes. Mudanças de estado também devem persistir em situações de falha. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 36/44 Hélio Crestana Guardia - 2013 Transações aninhadas • Transações podem ser subdivididas e executadas de forma aninhada • Subtransações favorecem divisão de processamento entre diversos recursos. • Uma vez efetivada, contudo, uma subtransação pode ser revertida se a transação de nível superior falhar. Durabilidade vale apenas para transações de nível mais alto. A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 37/44 Hélio Crestana Guardia - 2013 Monitor de Processamento de Transações • Nas primeiras versões das integrações de sistemas corporativos, transações eram tratadas por Monitor de Transações (TP Monitor) • TP Monitor oferecia um modelo de programação baseado em transações para coordenar o acesso a servidores e bancos de dados A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 38/44 Hélio Crestana Guardia - 2013 Integração de aplicações empresariais (EAI) • Desacoplamento das aplicações dos bancos de dados tornou evidente a necessidade de integrar aplicações de forma independente de suas bases de dados. Modelo TP Monitor não separava aplicações de suas bases de dados. • Ficou evidente que componentes das aplicações deveriam ser capazes de se comunicar diretamente uns com os outros, e não apenas por meio do comportamento requisição / resposta • Diversos modelos surgiram para a comunicação inter-aplicação: RPC, RMI, MOM A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 39/44 Hélio Crestana Guardia - 2013 A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 40/44 Hélio Crestana Guardia - 2013 Modelos de comunicação inter-aplicação • Chamadas de procedimento remoto (Remote Procedure Call – RPC): – Permite que componente de aplicação envie requisição a outro componente, executando uma chamada local – Chamada gera empacotamento da requisição como uma mensagem enviada ao nó chamado – Resposta retorna na forma de mensagem e é repassada ao chamador • Chamadas podem ser executadas também sobre métodos de objetos remotos (Remote Method Invocation – RMI) • Desvantagens de RPC e RMI: – Necessidade de chamador e chamado estarem ativos no momento da chamada – Necessidade de conhecer mecanismo de referenciação A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 41/44 Hélio Crestana Guardia - 2013 Modelos de comunicação inter-aplicação • Novo middleware orientado a mensagem (Message Oriented Middleware – MOM) • Aplicações enviam mensagem aos pontos de contato lógicos dos serviços – Identificação dos pontos de contato feita de acordo com o tipo da mensagem – Aplicações podem manifestar interesse por tipos específicos de mensagem – Middleware se encarrega de encaminhar mensagens aos nós interessados em seus respectivos tipos – Modelo é chamado de publicar / subscrever (publish / subscribe) A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 42/44 Hélio Crestana Guardia - 2013 Tipos de SD: Sistemas Pervasivos Distribuídos • Geração emergente de sistemas distribuídos é composta de nós pequenos, móveis e comumente embarcados em um sistema maior Características comuns (não necessariamente se aplicam a todos os nós):• Nós de pequeno porte com energia fornecida por baterias • Nós são móveis e comunicação ocorre via redes sem fio • Ausência de controle administrativo humano • Necessidade de descobrir o ambiente e estabelecer comunicações Requisitos de aplicações pervasivas: • Adotar mudanças contextuais, considerando variações no ambiente • Incentivar composições ad-hoc: cada nó pode ser usado de maneira distinta por diferentes usuários. É necessário apresentar configuração simplificada. • Reconhecer compartilhamento como padrão: nós aparecem e surgem dinamicamente, provendo serviços e informações compartilhadas Aspecto: distribuição é inerente às aplicações e não se deve torná-la transparente A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 43/44 Hélio Crestana Guardia - 2013 Sistemas Pervasivos: sistemas domésticos • Interligam computadores pessoais, dispositivos eletrônicos, como TVs, equipamentos de áudio e vídeo, jogos eletrônicos, SmartPhones e PDAs e outros dispositivos pessoais. • É esperado que todos os outros tipos de dispositivos eletrônicos venham a ser conectados a esse sistema distribuído Desafios: • Sistema deve ser auto-organizável e auto-gerenciável, sem administrador – UPnP já provê mecanismos para obtenção de endereçamento – Atualizações, preservando questões de compatibilidade requer administração • Gerenciamento de espaço pessoal de cada usuário: como tratar isolamentos e compartilhamentos? • Quando volume de dados cresce, como localizar dados específicos? Sistemas de recomendação A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 44/44 Hélio Crestana Guardia - 2013 Sistemas eletrônicos para tratamento de Saúde Electronic Health Care Systems • Novos dispositivos estão sendo desenvolvidos para monitoramento do bem-estar de indivíduos • Possibilidade de contato automatizado entre sistema e médico quando necessário • Sistemas equipados com vários sensores organizados numa rede corporal sem fio (body-area network – BAN) • Rede deve causar perturbação mínima à movimentação da pessoa • Dispositivos são organizados usando hub local ou mantêm conexão constante com rede externa • Por questões de desempenho, dispositivos podem realizar processamento na rede, agregando dados antes de suas transmissões Questões: • Onde e como os dados monitorados deverão ser armazenados? • Como evitar a perda de dados essenciais? • Qual é a infraestrutura necessária para gerar e transmitir sinais de alerta? • Como os médicos podem dar retorno on-line? • Como prover robustez ao sistema de monitoração? • Quais são as questões de segurança e como políticas adequadas são implementadas? A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 45/44 Hélio Crestana Guardia - 2013 Sistemas eletrônicos para tratamento de Saúde • Comunicação pode ser intermediada por HUB, que coleta dados quando necessário • Em outros cenários, BAN pode ser continuamente conectada a rede externa A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 46/44 Hélio Crestana Guardia - 2013 Redes de Sensores • Redes de sensores são usadas para processamento de informações • Redes consistem de dezenas a centenas, ou milhares, de nós relativamente pequenos • Comunicação ocorre usando redes sem fio • Energia para funcionamento dos nós é provida por baterias • Recursos limitados, capacidade de comunicação limitada e restrições de energia requer eficiência em sua operação • Redes de sensores podem ser vistas como bancos de dados distribuídos • Consultas sobre o estado do ambiente monitorado podem ser solicitadas aos sensores Abordagens de operação: • Sensores não cooperam, mas simplesmente enviam dados para servidor de base de dados centralizado • Sensores podem agregar dados antes de encaminhá-los A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 47/44 Hélio Crestana Guardia - 2013 Redes de Sensores Questões: • Desejável recursos para processamento dos dados na própria rede • Processamento na rede pode envolver o encaminhamento dos dados • Organização hierárquica, na forma de uma estrutura em árvore, é comum para agregação e encaminhamento dos dados Problemas: • Como organizar dinamicamente uma rede de encaminhamento? • Como agregar os dados? • Como tratar falhas de comunicações? A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 1 – Introdução / 48/44 Hélio Crestana Guardia - 2013 Redes de Sensores
Compartilhar