Denise Santin Ebone Leandro Almeida Leonardo Stadler Pezzini Mariana Gomes Santos Soraia Barbosa de Almeida Conteúdo Introdução O que são? Problemas Arquiteturas Heterogeneidade Envio de Dados Transações Localização Interface com o Usuário Na Prática Introdução Computação móvel; Necessidade de estar conectado a rede independente da localização; Código móvel: a capacidade do código de migrar entre unidades de rede; Isso tudo serve para as bases de dados: necessidade de clientes móveis acessarem seus bancos de dados de qualquer lugar. O que são? Computação móvel = vários componentes ligados a uma rede sem fio; Rede sem fio está ligada a uma rede fixa; Nesse cenário são implantados um ou mais bancos de dados em unidades dessa rede; Bancos de dados móveis = uma ou mais base de dados acessados por unidades móveis; Cada base de dados está inserida em uma outra unidade de rede. Podendo ser móvel ou não. O que são? • 1. São distribuídos sob dois aspectos: “Todo banco de dados é distribuído, principalmente, entre os componentes sob a rede com fio, possivelmente com replicação parcial ou total. Assim, uma estação de base gerencia seu próprio BD com as funcionalidades inerentes ao SGBD, com funcionalidades adicionais para localizar unidades móveis e características adicionais de gerência de consultas e transações, para atender aos requisitos de ambientes móveis.” 2. “O BD é distribuído entre os componentes sob a rede com fio e sem fio. A responsabilidade sobre a gerência de dados é compartilhada entre estações de base e unidades móveis.” Problemas Velocidade dos links sem fio; Escalabilidade; Mobilidade; Localização; Limite do poder das baterias; Desconexões; Replicação/Caching; Cliente – Servidor • Unidade móvel atua como cliente requisitando serviços de servidores da rede fixa; • Divisão das funcionalidades não é muito clara, principalmente em caso de desconexões (cliente precisa emular o servidor para continuar operando); • Necessário expandir essa abordagem (otimizações) Cliente – Agente Servidor – Servidor • O agente “substitui” o cliente móvel na rede fixa; • O agente, processa os dados da consulta e só envia o resultado para o cliente, compacta os dados antes do envio, enfileira as respostas quando houver uma desconexão, altera a ordem de transmissão de dados de acordo com a prioridade do cliente; Cliente – Agente Cliente – Servidor Amplia funcionalidades nos clientes móveis, como: administração da memória cache, disponibiliza memória progressivamente durante o pouco tráfego da rede, copia parte do BD para a memória do cliente móvel e otimiza a comunicação entre o cliente móvel e a estação base; Cliente – Agente Cliente – Agente Servidor – Servidor Une as vantagens dos 2 serviços; Otimizam a comunicação com a redução na quantidade de dados transmitidos na rede sem fio; Melhora na segurança; AMDB Interoperabilidade entre sistemas de banco de dados móveis; Agentes estáticos (cria o contexto de execução, gerencia os recurso, e identificação de serviços); Agentes móveis (transporta os dados de acesso ao BD e os resultados desses acessos); Múltiplos Agentes e GSN Baseada no modelo Cliente – Ag. Cliente – Ag. Servidor – Servidor; GSN – Gateway Support Node; Unidade móvel se comporta como uma unidade fixa; Cria um agente para cada tarefa, dá ao agente os dados necessários. Quando se obtém o resultado o agente ele retorna ao dispositivo móvel; Heterogeneidade Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System – MDBS) Multidatabase Language (MDL). Envio 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 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? 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). 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. 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. Consistência de 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). 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. 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. Interface 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. Na Prática Alguns bancos disponiveis Sybase Ultralite - Palm, Windows CE, e plataformas VxWorks Oracle Lite Mobile Server - laptops, Palm OS, vWindows CE DB2 Everyplace - PDAs (Personal Digital Assistants) e Smart Phones Microsoft SQL Server CE - dispositivos móveis, desktops e clientes Web Obrigado!