Consistência de Dados em Computação Móvel José Maria Monteiro Departamento de Informática – PUC-Rio [email protected] Disciplina: Introdução à Computação Móvel Prof.: Markus Endler 1 Agenda Motivação Ambientes de Computação Móvel Uma Taxonomia para Consistência de Dados em CM Estudo de Caso: O Sistema Bayou Conclusões 2 Motivação Evolução e disseminação dos dispositivos portáteis Avanços nas tecnologias de comunicação sem fio Um Novo Paradigma: Computação Móvel Possibilita que os usuários de DP’s mantenham a conexão com a rede enquanto se movimentam livremente Tendo acesso a recursos, serviços e informações compartilhadas Novas Aplicações Sistemas de Contole de Tráfego, Aplicações Baseadas em Localização, Sistemas de Informações Sobre Tempo e Clima, ... 3 Motivação As aplicações necessitam recuperar dados atuais e consistentes Os mecanismos tradicionais de controle de concorrência não são adequados para CM Devido às limitações inerentes aos ambientes móveis Conectividade intermitente Recursos limitados (energia, memória, processamento) Mobilidade Baixa largura de banda Protocolos tradicionais Baseados em bloqueios, exigem excessiva comunicação,... 4 Motivação São necessárias novas abordagens Para garantir a consistência dos dados em ambientes de CM Diversos mecanismos têm sido propostos Torna-se necessário investigar, analisar, comparar e classificar as abordagens propostas 5 Ambientes de Computação Móvel 6 Propondo uma Taxonomia Özsu e Valduriez (1991) Propuseram uma classificação para sistemas de bancos de dados distribuídos baseada nas características de autonomia, distribuição e heterogeneidade Dunham et al. (1997) Observaram Um sistema de banco de dados móvel pode ser visto como uma extensão de um sistema distribuído Ou seja, como um sistema distribuído dinâmico, onde os canais de comunicação entre os computadores mudam dinamicamente Estenderam a classificação de Özsu e Valduriez Adicionando um ponto no eixo da distribuição 7 Propondo uma Taxonomia Dunham et al. (1997) 8 Propondo uma Taxonomia Propomos uma taxonomia para sistemas de bancos de dados móveis Baseada na arquitetura e no funcionamento das soluções encontradas Classificação proposta Replicação/Caching de Dados no Cliente Servidores Replicados Replicação em Redes Ad Hoc SBD’s Múltiplos em CM Comunidades de Bancos de Dados Ambientes de Broadcast 9 Propondo uma Taxonomia Replicação/Caching de Dados no Cliente 10 Propondo uma Taxonomia Replicação/Caching de Dados no Cliente Motivação Objetivos Canais de comunicação instáveis Custo da infra-estrutura de comunicação sem fio Dispositivos desconectados por longos períodos de tempo Suporte à desconexão Possibilitar que os dispositivos continuem a execução de suas operações sobre os dados mesmo na ausência de conexão Funcionamento Uma cópia dos dados (ou de parte) é armazenada nos clientes Em caso de desconexão, utiliza-se a cópia 11 Propondo uma Taxonomia Replicação/Caching de Dados no Cliente Vantagens Desvantagens Manter a consistência entre os dados armazenados nos clientes e no servidor central Arquitetura Maior disponibilidade dos dados Melhor desempenho (acesso local) Redes móveis infra-estruturadas Abordagens Replicação e Reconciliação Caching de Dados 12 Propondo uma Taxonomia Servidores Replicados 13 Propondo uma Taxonomia Servidores Replicados 14 Propondo uma Taxonomia Servidores Replicados Motivação Objetivos Canais de comunicação instáveis Nem sempre o servidor está disponível ou alcançável Possibilitar que as aplicações utilizem o servidor disponível que estiver mais próximo Funcionamento Distribuir múltiplas cópias dos dados em diversos servidores O cliente utiliza a cópia disponível mais próxima 15 Propondo uma Taxonomia Servidores Replicados Vantagens Desvantagens Necessidade de atualizar todas as cópias quando um item for alterado Arquitetura Maior disponibilidade dos dados Melhor desempenho (acessa a cópia mais próxima) Maior Throughput Ambientes computacionais parcialmente (fracamente) conectados (onde a desconexão é a regra) Exemplos Bayou, Votação Ponderada, Deno 16 Propondo uma Taxonomia Replicação em Redes Ad Hoc 17 Propondo uma Taxonomia Replicação em Redes Ad Hoc Motivação Objetivos Alto dinamismo das redes ad hoc Freqüentes desconexões dos dispositivos móveis Freqüente divisão (partição) da rede Dispositivo em uma partição não consegue acessar dados armazenados por dispositivos que estejam em outra partição Possibilitar que um cliente móvel acesse dados de um servidor que não está na sua área de cobertura, através de hosts intermediários Funcionamento Distribuir múltiplas cópias dos dados em diversos servidores O cliente utiliza a cópia disponível mais próxima 18 Propondo uma Taxonomia Replicação em Redes Ad Hoc Vantagens Desvantagens Manter a consistência das diversas cópias Arquitetura Maior disponibilidade dos dados Melhor desempenho (acessa a cópia mais próxima) Redes Ad Hoc Exemplos Métodos para Alocação de Réplicas Método PAN 19 Propondo uma Taxonomia SBD’s Múltiplos em CM 20 Propondo uma Taxonomia SBD’s Múltiplos em CM Motivação Freqüentes fusões e aquisições de diferentes companhias Necessidade de gerenciar uma variedade de BD’s pré-existentes, heterogêneos, autônomos e distribuídos geograficamente (Bancos de Dados Múltiplos – Multidatabase) Nec. de interoperabilidade Multidatabase Systems - MDBSs Nec. de estender os serviços dos MDBSs a usuários móveis Mobile Multidatabase Systems - MMDBSs Objetivos Possibilitar que usuários de dispositivos portáteis utilizem bancos de dados múltiplos 21 Propondo uma Taxonomia SBD’s Múltiplos em CM Arquitetura Redes móveis infra-estruturadas Exemplos Kangaroo PSTM V-Lock 22 Propondo uma Taxonomia Comunidades de Bancos de Dados Móveis 23 Propondo uma Taxonomia Comunidades de Bancos de Dados Móveis Motivação As redes ad hoc possibilita que os dispositivos se comuniquem sem a participação de qualquer componente da rede fixa Possibilita a formação de estruturas altamente dinâmicas que se formam de maneira espontânea O compartilhamento de dados pode ser realizado através da criação de federações dinâmicas de BD’s As quais são denominadas comunidades de bancos de dados móveis (Mobile Database Communities – MDbC’s) Uma MDbC pode ser vista como um MMDBS no qual os servidores podem estar em dispositivos móveis 24 Propondo uma Taxonomia Comunidades de Bancos de Dados Móveis Objetivos Arquitetura Possibilitar que um cliente móvel acesse os dados dos demais membros da comunidade (de forma “integrada”) Redes ad hoc Exemplos SESAMO 25 Propondo uma Taxonomia Ambientes de Broadcast 26 Propondo uma Taxonomia Ambientes de Broadcast Motivação Objetivos O link de comunicação entre o cliente e o servidor nem sempre está disponível (existe), ou pode apresentar custos elevados Possibilitar que os clientes acessem os dados sem necessitar enviar requisições ao servidor Funcionamento O servidor de broadcast periodicamente difunde os dados Os clientes monitoram o canal de broadcast e filtram os dados de seu interesse 27 Propondo uma Taxonomia Ambientes de Broadcast Vantagens Desvantagens O acesso aos dados é estritamente seqüencial Aumenta a latência de acesso à informação Arquitetura O servidor não fica sobrecarregado com requisições O servidor não precisa enviar mensagens individuais Os dados podem ser acessados concorrentemente por qualquer número de clientes sem nenhuma degradação de performance Redes infra-estruturadas com broadcast Exemplos Relatórios de Invalidação, Múltiplas Versões, TGST, ... 28 Estudo de Caso: O Sistema Bayou Características Sistema de armazenamento replicado Utiliza um nível fraco de consistência Projetado para ambientes de CM parcialmente (fracamente) conectados Provê uma infra-estrutura Para o desenvolvimento de aplicações colaborativas, sem requisitos de tempo real Ex: Edição cooperativa de documentos, agendas, e-mails 29 Estudo de Caso: O Sistema Bayou Arquitetura Cada BD é inteiramente replicado em um conjunto de servidores As aplicações (clientes) interagem com os servidores através de uma API específica Bayou Application Programming Interface Suporta duas operações básicas: leitura e escrita Os clientes podem executar tanto leituras quanto escritas em qualquer um dos servidores, com os quais possa se comunicar (read-any/write-any) Por exemplo, o servidor mais próximo 30 Estudo de Caso: O Sistema Bayou Arquitetura O cliente e o servidor Podem co-existir em um mesmo host, ou podem executar de forma isolada Podem executar nos hosts fixos ou móveis Apresentam conexão intermitente As aplicações Têm conhecimento de que podem ler dados inconsistentes Sabem que suas escritas são inicialmente apenas uma tentativa 31 Estudo de Caso: O Sistema Bayou Arquitetura No servidor A informação de que escritas foram consolidadas em em que ordem são propagadas para os demais servidores durante o processo de anti-entropia Cada servidor mantém duas visões do BD: consolidada e corrente Detecção e resolução automática de conflitos Detecção Método baseado em validação de dependências (consulta + resultado esperado) Resolução Utiliza procedimentos escritos em uma linguagem interpretada de alto nível As dependências e os procedimentos são incluídos juntos a cada operação de escrita A validação é feita antes da operação de escrita se executada 32 Estudo de Caso: O Sistema Bayou Garantias de Sessão O Bayou utiliza Essa abordagem proporciona Alta disponibilidade, boa escalabilidade e simplicidade de projeto Problema: Esquema de replicação read-any/write-any Mecanismo de consistência fraca É possível que os clientes obtenham valores inconsistentes quando lêem dados de diferentes réplicas Solução: Para reduzir as inconsistências observadas pelos clientes, Bayou provê garantias de sessão (sesion garantees) 33 Estudo de Caso: O Sistema Bayou Garantias de Sessão Definição É uma abstração para uma seqüência de operações de leitura e escrita que são submetidas durante a execução de uma aplicação Não se tem a intenção de que as sessão sejam correspondentes ao conceito de transação atômica (serializabilidade) O objetivo é proporcionar às aplicações individualmente uma visão do BD que seja consistente com as suas próprias ações Características O sistema tenta assegurar as garantias, caso não consiga, informa à aplicação que a garantia não pôde ser alcançada, e esta tenta executar a operação em outro servidor Proporcionam um meio de adaptabilidade. O grau de consistência pode ser adaptado aos níveis de conectividade. 34 Estudo de Caso: O Sistema Bayou Garantias de Sessão Read Your Writes (RYW) Monotonic Reads (MR) Leituras sucessivas refletem o resultado de um conjunto de escritas não decrescente Writes Follow Reads (WFR) As operações de leitura devem refletir as escritas executadas anteriormente (pela mesma sessão) As operações de escrita são propagadas após as operações de leitura das quais dependem Monotonic Writes (MW) As operações de escrita são propagadas após as escritas que as precedem logicamente 35 Estudo de Caso: O Sistema Bayou Garantias de Sessão Implementação Vetores de versão (semelhantes aos vectors timestamps) Operações Desconectadas Não inclui a noção de operação desconectada Uma vez que vários níveis de conectividade são possíveis É necessário apenas que ocasionalmente a comunicação entre pares de servidores aconteça Grupos de servidores podem se desconectar do restante do sistema e ainda continuarem conectados entre si 36 Conclusões Existem um número razoável de abordagens para garantir a consistência e a disponibilidade de dados em CM A taxonomia proposta pode ajudar a compreensão dos diversos mecanismos existentes O sistema Bayou apresenta alta disponibilidade de dados em ambientes de conexão intermitente, podendo ser utilizado em diversas aplicações colaborativas As idéias do sistema Bayou podem influenciar na elaboração de novos mecanismos de consistência 37 Dúvidas???? 38