DesconexaoBDMoveis

Propaganda
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
Download