Post on 17-Apr-2015
1
José Maria MonteiroJosé Maria MonteiroDepartamento de Informática – PUC-RioDepartamento de Informática – PUC-Rio
monteiro@inf.puc-rio.brmonteiro@inf.puc-rio.br
Consistência de Dados em Consistência de Dados em Computação MóvelComputação Móvel
Prof.: Markus EndlerProf.: Markus Endler
Disciplina: Introdução à Computação Disciplina: Introdução à Computação MóvelMóvel
2
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
AgendaAgenda
3
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, ...
MotivaçãoMotivação
4
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,...
MotivaçãoMotivação
5
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
MotivaçãoMotivação
6
Ambientes de Computação MóvelAmbientes de Computação Móvel
7
Ö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
Propondo uma TaxonomiaPropondo uma Taxonomia
8
Propondo uma TaxonomiaPropondo uma Taxonomia
Dunham et al. (1997)
9
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
Propondo uma TaxonomiaPropondo uma Taxonomia
10
Replicação/Caching de Dados no Cliente
Propondo uma TaxonomiaPropondo uma Taxonomia
11
Replicação/Caching de Dados no Cliente Motivação
Canais de comunicação instáveis Custo da infra-estrutura de comunicação sem fio Dispositivos desconectados por longos períodos de
tempo Objetivos
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
Propondo uma TaxonomiaPropondo uma Taxonomia
12
Replicação/Caching de Dados no Cliente Vantagens
Maior disponibilidade dos dados Melhor desempenho (acesso local)
Desvantagens Manter a consistência entre os dados armazenados nos
clientes e no servidor central Arquitetura
Redes móveis infra-estruturadas Abordagens
Replicação e Reconciliação Caching de Dados
Propondo uma TaxonomiaPropondo uma Taxonomia
13
Servidores Replicados
Propondo uma TaxonomiaPropondo uma Taxonomia
14
Servidores Replicados
Propondo uma TaxonomiaPropondo uma Taxonomia
15
Servidores Replicados Motivação
Canais de comunicação instáveis Nem sempre o servidor está disponível ou alcançável
Objetivos 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
Propondo uma TaxonomiaPropondo uma Taxonomia
16
Servidores Replicados Vantagens
Maior disponibilidade dos dados Melhor desempenho (acessa a cópia mais próxima) Maior Throughput
Desvantagens Necessidade de atualizar todas as cópias quando um
item for alterado Arquitetura
Ambientes computacionais parcialmente (fracamente) conectados (onde a desconexão é a regra)
Exemplos Bayou, Votação Ponderada, Deno
Propondo uma TaxonomiaPropondo uma Taxonomia
17
Replicação em Redes Ad Hoc
Propondo uma TaxonomiaPropondo uma Taxonomia
18
Replicação em Redes Ad Hoc Motivação
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
Objetivos 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
Propondo uma TaxonomiaPropondo uma Taxonomia
19
Replicação em Redes Ad Hoc Vantagens
Maior disponibilidade dos dados Melhor desempenho (acessa a cópia mais próxima)
Desvantagens Manter a consistência das diversas cópias
Arquitetura Redes Ad Hoc
Exemplos Métodos para Alocação de Réplicas Método PAN
Propondo uma TaxonomiaPropondo uma Taxonomia
20
SBD’s Múltiplos em CM
Propondo uma TaxonomiaPropondo uma Taxonomia
21
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
Propondo uma TaxonomiaPropondo uma Taxonomia
22
SBD’s Múltiplos em CM Arquitetura
Redes móveis infra-estruturadas Exemplos
Kangaroo PSTM V-Lock
Propondo uma TaxonomiaPropondo uma Taxonomia
23
Comunidades de Bancos de Dados Móveis
Propondo uma TaxonomiaPropondo uma Taxonomia
24
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
Propondo uma TaxonomiaPropondo uma Taxonomia
25
Comunidades de Bancos de Dados Móveis Objetivos
Possibilitar que um cliente móvel acesse os dados dos demais membros da comunidade (de forma “integrada”)
Arquitetura Redes ad hoc
Exemplos SESAMO
Propondo uma TaxonomiaPropondo uma Taxonomia
26
Ambientes de Broadcast
Propondo uma TaxonomiaPropondo uma Taxonomia
27
Ambientes de Broadcast Motivação
O link de comunicação entre o cliente e o servidor nem sempre está disponível (existe), ou pode apresentar custos elevados
Objetivos 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
Propondo uma TaxonomiaPropondo uma Taxonomia
28
Ambientes de Broadcast Vantagens
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
Desvantagens O acesso aos dados é estritamente seqüencial Aumenta a latência de acesso à informação
Arquitetura Redes infra-estruturadas com broadcast
Exemplos Relatórios de Invalidação, Múltiplas Versões, TGST, ...
Propondo uma TaxonomiaPropondo uma Taxonomia
29
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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
30
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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
31
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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
32
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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
33
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
Garantias de Sessão O Bayou utiliza
Esquema de replicação read-any/write-any Mecanismo de consistência fraca
Essa abordagem proporciona Alta disponibilidade, boa escalabilidade e simplicidade de
projeto Problema:
É 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)
34
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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.
35
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
Garantias de Sessão Read Your Writes (RYW)
As operações de leitura devem refletir as escritas executadas anteriormente (pela mesma sessão)
Monotonic Reads (MR) Leituras sucessivas refletem o resultado de um conjunto
de escritas não decrescente Writes Follow Reads (WFR)
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
36
Estudo de Caso: O Sistema Estudo de Caso: O Sistema BayouBayou
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
37
ConclusõesConclusõ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
38
Dúvidas????Dúvidas????