flávia rainone - [email protected] bancos de dados móveis mac 5743 computação móvel
TRANSCRIPT
Flávia Rainone - [email protected] 2
Computação Móvel
Novo paradigma que altera premissas importantes em várias áreas da computação. Redes
Precisam ser ubíquas, com configuração dinâmica. Engenharia de Software
Código móvel. Bancos de dados
Acesso a qualquer dado em qualquer lugar e qualquer momento.
Flávia Rainone - [email protected] 3
Bancos de Dados Móveis
Rede de Computadores Móveis Unidades Móveis Unidades Fixas Estações de Bases
Um ou mais bancos de dados Em qualquer unidade
Flávia Rainone - [email protected] 4
Bancos de Dados Móveis
Características comumente encontradas: Autonomia Heterogeneidade Distribuição
Acesso de um host móvel a um banco de dados (residindo em um host móvel ou fixo).
Computador móvel pode ser cliente ou servidor de uma requisição.
Flávia Rainone - [email protected] 5
Bancos de Dados Móveis
Flávia Rainone - [email protected] 6
Fatores e Consequências
Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias Desconectividade Replicação/Caching Handoff
Aplicações Localização e contexto
Transações Novos modelos
Recuperação desconexão
Replicação desconexão
Consultas Localização e custo.
Flávia Rainone - [email protected] 8
Cliente-Servidor
UMCliente
APP
UnidadeServidora
BDSGDB
ComunicaçãoSem fio
ou
Híbrida
Flávia Rainone - [email protected] 9
Cliente-AgenteServ- Servidor
UMCliente
APP
UnidadeServidora
BDSGDB
REDE SEM FIO REDE FIXA
Unidade
Agente Servidor
Flávia Rainone - [email protected] 10
Cliente-AgenteC- Servidor
UMCliente
APP
UnidadeServidora
BDSGDB
REDE SEM FIO REDE FIXA
Agente Cliente
Flávia Rainone - [email protected] 11
Cliente-AgenteC-AgenteServ-Servidor
UnidadeServidora
BDSGDB
REDE SEM FIO REDE FIXA
Unidade
Agente Servidor
UMCliente
APP Agente Cliente
Flávia Rainone - [email protected] 12
AMDB
APP
MANTENEDORADMINISTRADOR
BD
SGDB
UM2
UM1
CARREGADOR
EXECUTOR
UM
Flávia Rainone - [email protected] 13
Múltiplos Agentes e GSN
Flávia Rainone - [email protected] 15
Integração
Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase
System – MDBS) Multidatabase Language (MDL).
Flávia Rainone - [email protected] 17
Disseminação de Dados
Push-based systems Relevância de dados. Solução: o cliente se inscreve para receber dados
de seu interesse. Periodicidade. Broadcast Disks Essencial uso de cache e prefetching.
Pull-based systems
Flávia Rainone - [email protected] 18
Disseminação de Dados
Interleaved Push and Pull Ajuste da banda do backchannel e no
frontchannel. Apenas cobrir as perdas mais caras.
Invalidation Reports Granularidade. Quanto rigor é necessário na consistência do
cache?
Flávia Rainone - [email protected] 19
Hoarding
REINTEGRAÇÃO
CARGAANTECIPADA DE
DADOS(HOARDING)
OPERAÇÕESDESCONECTADAS
Flávia Rainone - [email protected] 20
Hoarding
Coda Gerenciador de cache – Venus Hoard walking
Seer Escolha automática. Observação do usuário e inferências (Observer) Distância semântica (Correlator).
Flávia Rainone - [email protected] 22
Transações
Ambiente multi-usuário Aplicações locais e remotas
Entrelaçamento Falhas constantes e intermitência Computação Móvel + Heterogeneidade ≠
Atomicidade Divisão de Transações
Mudança freqüente de dados.
Flávia Rainone - [email protected] 23
Transações Móveis
Transação distribuída, onde alguma parte da computação é executada no host móvel e outra em um host fixo.
Transações longas Necessidade de maior grau de cooperação entre
as transações.
Flávia Rainone - [email protected] 24
Consistência dos Dados
Sessão leia as suas escritas, leituras monotônicas,
propagação de escritas, escritas monotônicas. Divisão de instâncias entre os clientes
Generalização: estudo da semântica de objetos e divisão de objetos complexos.
Tentativas de Transações Certification Reports Isolations Only Transactions (IOT).
Flávia Rainone - [email protected] 26
Buscas e Localização
Buscar por informações de hotel na região em que se encontra.
Buscar por um hospital próximo ao usuário. Buscar por X, Y e Z de forma que eles se
situam no mesmo endereço e Y está entre X e Z.
Flávia Rainone - [email protected] 27
Buscas e Localização
Custo de comunicação muito alto. Estratégias:
ingênuas: lentidão. completa: problema NP-Completo. uso de heurísticas gulosas.
Integração do GPS ao IP. URL dinâmica e documentos dinâmicos.
Flávia Rainone - [email protected] 29
Interfaces com o Usuário
A variedade de tamanhos de telas também influi na área de bancos de dados móveis. Como exibir os dados de melhor maneira
possível. Query By Icons (QBI).
Linguagem visual. Modelo semântico. Ferramentas MetaQuery.
Flávia Rainone - [email protected] 31
Alguns Bancos Disponíveis
Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE
Flávia Rainone - [email protected] 32
J2ME
Dispositivos CDC JDBC Optional Package
Subconjunto do JDBC. Extensões não padronizadas para melhorar
performance e produtividade. Dispositivos MIDP
Não suporta alguns tipos básicos do SQL. RMS (Record Management System) não é
adequado para aplicações de porte empresarial. Soluções proprietárias desenvolvidas sobre o
RMS.
Flávia Rainone - [email protected] 33
J2ME
Sincronização Soluções proprietárias para sincronização Falta de padrão. Não é eficiente para atualizações freqüentes.
Acesso direto Exposição de serviços SQL através de um
Gateway Screen Scrapping para acesso de bancos de
dados legados.
Flávia Rainone - [email protected] 35
Bibliografia
WCSF2002 – Minicurso 1 “Acesso a Bancos de Dados Móveis”, Angelo Brayner.
“Banco de Dados para um Ambiente de Computação Móvel”, Sérgio da Costa Cortes e Sérgio Lifschitz.
“Mobile Computing and Database – A Survey”, Daniel Barbará.
“Location Dependent Data and its Management in Mobile Databases”, Margaret H. Dunham e Vijay Kumar.
Flávia Rainone - [email protected] 36
Bibliografia
“Mobile Computing: Data Management Issues”, Alfredo Goñi e Arantza Illarramendi.
Proposta de Dissertação de Mestrado “Operações Desconectadas em Dispositivos Móveis”, Mariano Cravo Teixeira Neto.
“Enterprise J2ME: Developing Mobile Java Applications”, Michael Juntao Yuan