Um Esquema de Replicao para Suportar Conectividade Fraca

  • Slides: 17
Download presentation
Um Esquema de Replicação para Suportar Conectividade Fraca em Sistemas de Informação Móveis *

Um Esquema de Replicação para Suportar Conectividade Fraca em Sistemas de Informação Móveis * Gustavo Fortes Tondello PPGCC – UFSC – 2005 * Original: A Replication Schema to Support Weak Connectivity in Mobile Information Systems (Evaggelia Pitoura)

Apresentação l l l Introdução Esquema de Replicação Implementação Performance Conclusão

Apresentação l l l Introdução Esquema de Replicação Implementação Performance Conclusão

Computação Móvel l Desconexões freqüentes – – – l Conectividade fraca – – l

Computação Móvel l Desconexões freqüentes – – – l Conectividade fraca – – l Falhas Previstas Modos de operação: conectado e desconectado Baixa largura de banda Erros freqüentes Variação de largura de banda

Computação Móvel

Computação Móvel

Modelo de Consistência Fraca l Cluster – – l Consistência entre Clusters é fraca

Modelo de Consistência Fraca l Cluster – – l Consistência entre Clusters é fraca – l Conjunto de dados fortemente conectado Consistência dentro do Cluster é mantida Um mesmo dado em Clusters diferentes pode estar inconsistente, dentro de um limite préestabelecido (d-grau) Base de dados d-consistente

Modelo de Consistência Fraca

Modelo de Consistência Fraca

Transações l Operações – – l Strict Read (SR) Strict Write (SW) Weak Read

Transações l Operações – – l Strict Read (SR) Strict Write (SW) Weak Read (WR) Weak Write (WW) Transações – – Weak Transaction (WT): commit local Strict Transaction (ST): commit global

Transações l Cópias de dados – – l Core: dados atualizados e permanentes (ST)

Transações l Cópias de dados – – l Core: dados atualizados e permanentes (ST) Quasi: dados comitados condicionalmente (WT) Função de tradução H – Mapeia operações de leitura e escrita para os dados core ou quasi correspondentes

Reconciliação l Atualização dos dados core e quasi – – – Utiliza grafos para

Reconciliação l Atualização dos dados core e quasi – – – Utiliza grafos para representar a ordem de execução das transações O grafo determina qual é a cópia core ou quasi que deve ser mantida como a mais atual Ao final da Reconciliação, os dados devem ser idênticos em todas as cópias

Protocolos l Serialização: bloqueio em duas fases

Protocolos l Serialização: bloqueio em duas fases

Protocolos l Manutenção do grau – – – Dependendo da condição que define o

Protocolos l Manutenção do grau – – – Dependendo da condição que define o d-grau, deve ser planejado o mecanismo de garantia deste grau Ex. : definir reconciliação periódica, limitar o número máximo de transações a executar antes de reconciliar Dependendo da definição do d-grau, pode ser impossível esta garantia em um dispositivo desconectado

Protocolos l Reconciliação – – – Implementada através da construção de grafo de ordem

Protocolos l Reconciliação – – – Implementada através da construção de grafo de ordem das transações e eliminação de ciclos neste grafo Pode ser necessário abortar transações com operações Weak Write (WW). Pode ocorrer rollback em cascata Apenas transações exatas precisam ser abortadas – as demais podem contentar-se em ler um dado d-consistente

Exemplo CORE ST QUASI WT WT CORE ST

Exemplo CORE ST QUASI WT WT CORE ST

Performance l Taxa máxima de operações de consulta x Fator de consistência

Performance l Taxa máxima de operações de consulta x Fator de consistência

Performance l Taxa máxima de operações de atualização x Fator de consistência

Performance l Taxa máxima de operações de atualização x Fator de consistência

Performance l Tempo de Resposta ST WT

Performance l Tempo de Resposta ST WT

Conclusão l Esquema de replicação para sistemas de informação móveis – – l Extensão

Conclusão l Esquema de replicação para sistemas de informação móveis – – l Extensão da interface de banco de dados com operações Weak Read e Weak Write Operação mesmo quando desconectado Economia de largura de banda pode ser conseguida trocando de ST para WT Nível de consistência pode ser ajustado para obter a performance desejada Application-aware adaptation