O problema da desconexão em BD móveis Equipe: Antonio Jaime M. de Almeida Bruno de Brito Leite Roteiro • Definição do Problema • Modelo de Banco de Dados • Tipos de desconexão: – – – – – – Basic sign-off Check-out Check-out with mobile read Check-out with system read Relaxed check-out Optimistic check-out • Considerações • Referências Definição do problema • Caso 1: Bob – Apresentação de resultados da filial Definição do problema • Caso 2: Alice - Time de vendedores Definição do problema • Caso 3: John - Migração de animais Definição do problema • BD centralizado: cache móvel • BD distribuído: entidades de primeira classe Modelo de banco de dados • • • • Todas as entidades são móveis Rede ad hoc Totalmente replicado Controle de concorrência – Two-Phase Locking Modelo de banco de dados • Two-Phase Locking 1. Fase de expansão ou crescimento – Uma transação Tx pode obter bloqueios, mas não pode liberar nenhum bloqueio 2. Fase de retrocesso ou encolhimento – Uma transação Tx pode liberar bloqueios, mas não pode obter nenhum bloqueio Modelo de banco de dados • Protocolo de sincronização Read One Write All (ROWA) Modelo de banco de dados • Número de membros – Fixo – Alguns desconectados • Ausência de servidor centralizado Modelo de banco de dados • Sistemas Síncronos: – A transação afeta todos os sites no mesmo instante • Sistemas Assíncronos: – A transação será executada localmente – Efeitos sendo incorporados gradativamente nos demais sites envolvidos Modelo de banco de dados • Comunicação epidêmica – Não requer comunicação contínua – Periodicamente os membros trocam informações – As informações se espalham pelos sites – Curtas conexões, para trocas de mensagem, viabilizando o acesso de usuários móveis Tipos de desconexão • Como solucionar os problemas de Bob, Alice e John? • Impacto da desconexão – Não planejada: falha – Planejada: impacto da desconexão minimizado Tipos de desconexão • • • • • • Basic sign-off Check-out Check-out with mobile read Check-out with system read Relaxed check-out Optimistic check-out Basic sign-off • Protocolo de desconexão: i. Escolha do proxy ii. Ceder direitos ao proxy iii. Certificar-se que o proxy conhece seu estado iv. Desconectar Basic sign-off Protocolo de conexão: i. Reconectar ii. Contatar proxy (ou proxy do proxy) iii. Verificar atualizações iv. Recuperar direitos v. Retornar a operação normal Basic sign-off Banco de Dados Acesso Conectado • Exemplo: - Bob Acesso Remoto Check-out • Objeto bloqueado para um site por vez • Pseudo-Transação: mecanismo de bloqueio existente • Protocolo de desconexão: i. Executa o protocolo de desconexão descrito anteriormente ii. Inicia pseudo-transação para obtenção de bloqueio de escrita iii. Desconecta se obteve sucesso ou tenta novamente ou obtêm o bloqueio para um subconjunto dos itens Check-out • Protocolo de conexão i. Executa o protocolo de conexão descrito anteriormente ii. Transmite os novos valores iii. Libera bloqueios Check-out Banco de Dados Acesso Conectado Acesso Remoto • Exemplo: - Alice Check-out with mobile read Banco de Dados Acesso Conectado Acesso Remoto Check-out with mobile read • Seriação na desconexão • Ordem: t1, t2, t3 e t4 Check-out with mobile read • Condições de seriação: i. Único site pode modificar o item bloqueado ii. Itens bloqueados não podem ser lidos ou escritos por outros sites iii. Itens não bloqueados para escrita por pseudo-transação só podem ser lidos pelo site desconectado Check-out with system read Banco de Dados Acesso Conectado Acesso Remoto Check-out with system read • Seriação na conexão • Ordem: t2, t1, t3 e t4 Check-out with system read • Condições de seriação i. Único site pode modificar o item bloqueado ii. Itens bloqueados pela pseudo-transação na desconexão pode ser lidos, mas não escritos por outros sites iii. Itens não bloqueados para escrita por pseudo-transação não estão acessíveis para o site desconectado Relaxed check-out Banco de Dados Acesso Conectado Acesso Remoto Relaxed check-out • Ciclo de dependência: t1, t3 e t5 Relaxed check-out • Bloqueio especial de navegação: Leitura suja (browse lock) • Execução não seriada • Grande concorrência • Matriz de compatibilidade Optimistic check-out Banco de Dados Acesso Conectado • Exemplo: - John Acesso Remoto Optimistic check-out • Acesso a todos os dados: conectado ou não • Reconciliação de conflitos – Rollback – Regras de conciliação( ) Considerações • Os tipos de desconexões apresentados visam: – Disponibilizar dados aos usuários em qualquer lugar; – Permitir uma maior flexibilidade na utilização de bancos de dados distribuídos; – Utilizar de banco de dados móveis como entidades de primeira classe • O tipo de desconexão a ser utilizado vai depender do contexto; Considerações • O artigo fornece suas explicações de maneira não clara: – Espalhadas – Repetidas Referências • Disconnection Modes for Mobile Databases JOANNE HOLLIDAY, DIVYAKANT AGRAWAL and AMR EL ABBADI, Wireless Networks 8, 391–402, 2002 • Technical Report TRCS00-07: Planned Disconnections for Mobile Databases JOANNE HOLLIDAY, DIVYAKANT AGRAWAL and AMR El ABBADI