Banco de Dados Móvel traduzidos / ampliados / adaptados de: Vijay Kumar Computer Sc. Telecommunications University of Missouri-Kansas City 5100 Rockhill Road Kansas City, MO 64110, USA [email protected] Índice Introdução: O Problema Parte I: Comunicação com Redes sem Fio Parte II: Sistemas de Gerência de Banco de Dados Móvel O Problema Trata-se da gerência de dados em um sistema em que processadores e o banco de dados, ou partes dele, movem-se através de um espaço geográfico Deseja-se permitir que usuários de telefones celulares tenham acesso a dados persistentes, de qualquer lugar Esforço conjunto de pesquisadores de comunicação sem fio e BD para a gênese de uma nova área de pesquisa Mobile Database Systems (MDS) Pervasive Computing Nomad Computing Anywhere Anytime Computing O Problema Deve-se chamar a atenção para a imaturidade da pesquisa Modelos de transação para BD móvel Mecanismos de controle de concorrência Protocolos de recuperação de falhas Dados dependentes de localização Entretanto, há claras indicações de que, em um futuro próximo, os resultados estarão disponíveis nos produtos comerciais Tecnologia de BD móvel consolidada pletora de aplicações Comunicação com Redes Sem Fio Espaço de Informação Totalmente Conectado Rádio-Frequência e Banda Comunicação Celular Arquitetura de Sistema de Comunicação Celular Soluções para a Comunicação Celular Espaço de Informação Totalmente Conectado Espaço de Informação Totalmente Conectado Cada nó do espaço de informação tem alguma capacidade de comunicação Alguns nós podem processar informação Alguns nós podem se comunicar através de sinal de voz Alguns nós podem fazer ambas as coisas Espaço de Informação Totalmente Conectado Criação e Manutenção Integrando SGBDs legados, e sistemas celulares com / sem fio PCS: Personal Communication System Transmissões analógica e digital América do Norte GSM: Global System for Mobile Communication Transmissão digital Europa Rádio-Frequência e Banda Comunicações sem fio utilizam ondas eletromagnéticas Banda: uma faixa de RFs – unidade: M(G)Hz – utilizável para uma tarefa particular O comprimento da onda é determinado pela rádiofrequência (RF) Transmissão de dados ou voz Mais alguma coisa Faixas típicas: 800 MHz – 3 GHz Refletidas facilmente por objetos fixos (p.e., edifícios) ou móveis (p.e., carros), etc. O sinal de absorção é forte Reuso de RF Rádio-Frequência e Banda Item Mobile Phones Europe (MHz) NMT: 453-457, 463-467 GSM: 890-915, 935-960, 1710-1785, 1805-1880 Cordless CT1+: 885-887, 930-932 Phones CT2: 864-868 DECT: 1880-1900 US (MHz) Japan (MHz) AMPS, TDMA, CDMA 824-849, 869-894 GSM, TDMA, CDMA PDC: 810-826 940-956, 1429-1465, 1850-1910, 1930-1990 1477-1513. PACS 1850-1910,1930-1990; PHS 1895-1918; PACS-UB: 1910-1930 JCT: 254-380 NMT: Nordic Mobile Telephone PDC: Pacific Digital Cellular PACS: Personal Access Communications System PHS: Personal Handyphone System PACS-UB: PACS Unlicensed Band JCT: Japanese Cordless Telephone (Taken from Mobile Communications by Jochen Schiller) Rádio-Frequência e Banda Não há RF que possa transportar dado ou voz a longa distância sem sérios problemas de enfraquecimento do sinal Solução Divisão da área de cobertura em células (móveis) Intensidade do sinal aproximadamente constante Reuso de RF através das células móveis Comunicação Celular Células móveis Metropolitan area Metropolitan area BS Base Station Coverage area in one cell BS BS Coverage area in three cells Large cells. Low density Small cells. High density Smaller cells. Higher density Comunicação Celular Frequency reuse A 2 7 3 7 4 6 1 6 5 A 2 2 3 1 4 5 D7 3 1 6 A A A 4 5 A A D 3N R D = distance between cells using the same frequency R = cell radius N = reuse pattern (the cluster size, which is 7). Thus, for a 7-cell group with cell radius R = 3 miles, the frequency reuse distance D is 13.74 miles. Arquitetura de Sistema de Comunicação Celular PCS Mobile Host Mobile Host Wireless radio cell Fixed Host Base Station Fixed Host Mobile Host Fixed Network Base Station Mobile Host Wireless radio cell Mbps to Gbps Fixed Host Wireless LAN cell Base Station Fixed Host Arquitetura de Sistema de Comunicação Celular Dois conjuntos distintos de entidades Mobile Host (MH) – também chamados de clientes móveis Fixed Host (FH) Alguns FHs são estações de base (Mobile Support Stations) Cada MH se comunica com uma estação de base via um canal sem fio Célula – área coberta por uma estação de base Tipicamente, o servidor de banco de dados (BD) reside em um FH via uma interface com fio Confundiremos BD com FH Arquitetura de Sistema de Comunicação Celular Especificades dos ambientes de computação móvel Largura de banda assimétrica FH tem mais capacidade de comunicação do que MH Freqüentes desconexões MHs não podem se manter conectados à rede todo o tempo Limitações de energia MHs usam baterias, basicamente Economia de energia é um imperativo Arquitetura de Sistema de Comunicação Celular BS MH MH Arquitetura de Sistema de Comunicação Celular MH transmite a 825.030 MHz e BS transmite a 870.030 MHz O canal de separação é 45 MHz Cada canal de voz tem uma banda de 30 kHz Conectividade MH – FH Conectividade contínua O MH é continuamente conectado ao FH – Exemplo: meu laptop (MH) e o servidor Anjinho Arquitetura de Sistema de Comunicação Celular Modo Desconectado O MH voluntariamente se desconecta do FH e continua a processar localmente. Em um tempo fixado, ele se conecta de novo Conectividade intermitente Como o desconectado, mas a desconexão pode partir do FH, e não há fixação de tempo para a conexão Estes modos de conexão têm pesada influência na gerência de transações móveis Arquitetura de Sistema de Comunicação Celular Mais detalhes: PSTN AC HLR VLR MSC (MTSO) MSC (MTSO) EIR MS BS MS Wireless component PSTN: Public Switched Network. MSC: Mobile Switching Center. Also called MTSO (Mobile Telephone Switching Office). BS: Base Station. MS: Mobile Station. Also called MU (Mobile Unit) or Mobile Host (MH). HLR: Home Location Register. VLR: Visitor Location Register. EIR: Equipment Identify Register. AC: Access Chanel. Arquitetura de Sistema de Comunicação Celular MSC PSTN Soluções para a Comunicação Celular Como manter uma comunicação contínua entre duas células em presença de mobilidade? Solução: Handoff Como localizar MH em uma célula? Solução: Gerência de Localização Como gerenciar uma comunicação contínua entre duas células em presença de mobilidade? Solução: Roaming Soluções para a Comunicação Celular Handoff Um processo que garante a continuidade da transmissão quando um usuário quebra a conexão com uma BS e estabelece uma conexão com outra BS MSC MSC New BS Old BS Old BS MSC MSC Old BS New BS New BS Old BS New BS Soluções para a Comunicação Celular Handoff Para manter a conversação, o procedimento Handoff deve ser completado enquanto o MH (o ônibus) estiver na região de superposição das células Cell overlap region G Old BS New BS Soluções para a Comunicação Celular Gerência de Localização HLR: Home Location Register Um HLR armazena o perfil do usuário e sua localização geográfica – célula corrente VLR: Visitor Location Register O VLR de uma célula armazena o perfil do usuário e a localização corrente do usuário que vai visitar a célula S-LS: Source Location Server D-LS: Destination Location Server Soluções para a Comunicação Celular 5 R-ID LS Address 1 2 D-LS HLR 4 9 8 6 VLR 3 S-LS R-ID Base Station 100 200 D-BS 7 D-LS 10 2 Dest. BS Source BS 1 Chamador Chamado Soluções para a Comunicação Celular MH1 se comunica com MH2 Cell 1 Cell 2 MU1 MU2 Soluções para a Comunicação Celular Algoritmo de Localização P1. O chamador disca um número. Para encontrar a localização do chamado (destino), o chamador consulta a S-BS (1) P2. A S-BS envia a consulta ao S-LS (2) P3. S-LS primeiro procura o VLR (3). Se o chamado é um visitante da S-LS, a conexão é feita P4. Se VLR falha, então a consulta é enviada ao HLR (4) P5. HLR encontra a localização de D-LS (5) Soluções para a Comunicação Celular P6. A procura agora passa para o D-LS (6) P7. D-LS encontra o endereço de D-BS (7) P8. O endereço da D-BS é enviado ao HLR (8) P9. HLR envia o endereço da D-BS ao S-LS (9) P10. O endereço da D-BS é enviado à S-BS (10) Soluções para a Comunicação Celular Roaming (verbo Roam: vagar, perambular) Assegura as políticas (ou restrições) administrativas e técnicas Soluções para a Comunicação Celular Roaming Políticas Administrativas Faturamento Acordo de subscrição Perfil do usuário Outras políticas Soluções para a Comunicação Celular Roaming Restrições Técnicas Incompatibilidade de largura de banda. Por exemplo, a banda de 900 MHz não é disponível em várias partes do mundo. Isto pode impedir o uso de certos equipamentos Padrões de comunicação entre provedores de serviço Restrições de MH Outras Sistemas de Gerência de Banco de Dados Móvel Sistemas de Computação Móvel Sistemas de Banco de Dados Móvel Sistemas de Gerência da Banco de Dados Móvel Arquitetura Gerência de Dados Gerência de Transação Recuperação Conclusões Sistemas de Computação Móvel Computação móvel é associada com mobilidade de usuários, hardware, dados e software em aplicações de computador Classe especializada de sistemas de computação distribuída em que alguns nós podem mover-se dentro de um espaço físico ou lógico, (des)conectando-se de maneira ad hoc Sistemas de Banco de Dados Móvel O que é um sistema de banco de dados móvel (MDS: Mobile Database Systems)? Um sistema de computação móvel com as seguintes propriedades estruturais e funcionais Sistema distribuído com conectividade intermitente MHs e FHs Um MH é um SGBD à part entière Completa mobilidade espacial Construído sobre plataformas PCS/GSM Capacidade de comunicação com / sem fio Sistemas de Banco de Dados Móvel Objetivos Construir um sistema de processamento de informação verdadeiramente ubíquo, mesmo com as restrições inerentes às arquiteturas sem fio Sistemas de Gerência de Banco de Dados Móvel Mobile Database Systems Oracle Lite IBM DB/2 Everyplace Sybase Anywhere Versões MS Access e MS SQL Server para plataformas móveis MS Windows CE Sistemas de Gerência de Banco de Dados Móvel Aplicações Companhias de seguro Serviços emergenciais (polícia, assistência médica, etc.) Controle de tráfego Serviço de taxi E-commerce Etc. Arquitetura Application-transparent Adaptation Applications Mobile File Server DBMS APIs DBMS Proxy Mobile SGBD APIs Mobile Host Adaptado de: J. Jing, A. Helal e A. Elmagarmid Fixed Network Arquitetura Application-transparent Adaptation Web Server (or Proxy Server) Web Browser HTTP (TCP/IP) Web Client Side Intercept (CSI) Mobile Host TCP/IP Connection Web Client Side Intercept (CSI) Fixed Network http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/BancoDeDados/TopicosDaDisciplina/5-BDMoveis/LeituraAdicional/MobileEnvironments.pdf Gerência de Dados Objetivos Categorização de Dados Caching de Dados Difusão de Dados Processamento de Consultas Objetivos Como melhorar a disponibilidade de dados para as consultas dos usuários, em presença de bandas de RF limitadas e de mobilidade? Possibilidades Caching de dados Cashing semânticos: o conteúdo é decidido por resultados de consultas passadas Difusão de dados (data broadcast) em canais sem fio Suporte a consultas dependentes de localização Categorização de Dados Dados dependentes de localização (Location- Dependent Data (LDD)): classe de dados com valores estreitamente ligados a uma localização geográfica específica. Exs: CEP, Código DDI, Aeroporto Contra-exemplos: Nome de rua, Número de identidade (Location-Independent Data (LID)) Processamento de dados convencional: LID Categorização de Dados Consulta Dependente de Localização (Location- Dependent Query (LDQ)): LDD leva a LDQ: depende da origem da consulta, ou o processamento da consulta depende da mobilidade Exemplo: Qual a distância (daqui) para o aeroporto João Suassuna? Qual é o valor do CEP (onde estou)? Qual é o valor do DDI (onde estou)? Em consultas LDQ, a posição do LDD concernente e da origem da consulta devem ser conhecidas Existem provedores de serviço que oferecem facilidades de descoberta de localização Categorização de Dados Location-Aware Query: não depende da origem da consulta, ou o processamento da consulta não depende da mobilidade Exemplo: Qual a distância entre Rio de Janeiro e São Paulo? Categorização de Dados Distribuição de Dados Dependente de Localização Um hotel tem filiais em todo o Brasil. Os serviços em cada filial são idênticos, mas os valores dependem da localização Categorização de Dados Dados em uma região não podem ser replicados em outra região, como é comum em BDs distribuídos tradicionais Célula Alto Branco Prata Categorização de Dados Exemplo: Quais restaurantes se situam próximo de onde estou? Se estiver no Alto Branco, a resposta é uma Se estiver na Prata, a resposta é outra Note que, em nenhum momento, é exigido do usuário que indique seu bairro Categorização de Dados LDD: Hierarquia de Localização Em uma dada região, a localização dos dados pode ser definida hierarquicamente City data County 1 data Subdivision 1 data County 2 data Subdivision data County n data Subdivision m data Caching de Dados Clientes móveis (MHs) têm acesso a servidores de BD fixo (FH), via um canal sem fio Caching de dados são importantes para melhorar a disponibilidade dos dados e o desempenho das consultas Limitada largura de banda dos canais sem fio Instabilidade das redes sem fio Caches convencionais requerem estabilidade da rede e bandas largas Caching de Dados Uma nova abordagem de caching A estratégia de substituição de dados é baseada em padrões de acesso, em vez dos esquemas o menos recentemente usado ou o mais recentemente usado Difusão de Dados O Princípio Um conjunto de dados frequentemente usados é disponibilidado por difusão contínua de FHs, em alguma RF fixa MHs sintonizam a frequência e baixam os dados para os seus caches locais Difusão de Dados Como um MH acessa um BD fixo? A abordagem mais aceita é broadcasting, ou push-based Mas a abordagem sob demanda, pullbased, cresce de interesse Abordagem híbrida Conseqüência lógica das duas outras abordagens Difusão de Dados Flat Broadcasting Dados do FH são repetidamente difundidos através de um canal de difusão (broadcast channel) O canal torna-se um ‘disco’ (file on the air) O disco pode ser indexado MHs podem recuperar seus dados do ‘disco’ O tempo médio de espera por um ítem é constante Difusão de Dados D C B E A server B C D A E Difusão de Dados Pull-Based Broadcasting Somente dados solicitados aparecerão como ‘dados no ar’ Difusão de Dados Abordagem Híbrida Mistura tanto push como pull Usuários enviam pedidos se os dados não se encontram nos ‘discos’ Difusão de Dados Independentemente da Abordagem Clientes podem economizar bateria se conectando somente quando dados que lhes interessam são difundidos Um catálogo de dados é difundido m vezes toda vez que há uma difusão de dados Difusão de Dados Difusão de dados em diferentes freqüências, segundo suas relevâncias Hierarquia de memória multi-nível Dados quentes são difundidos mais frequentemente que dados frios Dados com freqüência de acesso similar são agrupados dentro dos ‘discos’ Processamento de Consulta Modelo de Dados: Padrão Relacional, SQL Esquema de Dados: a diferença, agora, é que, para uma dada classe, pode haver valores dependentes de localização O MDS deve oferecer a função location binding ou location mapping Processamento de Consulta Situação: Uma pessoa viajando de carro deseja saber seu progresso e continuamente se faz a mesma pergunta. Cada vez, a resposta é diferente porém correta Requisitos: Contínua monitoração da latitude e da longitude do local de origem da consulta. GPS pode fazer isso Gerência de Transação Transações Clássicas ACID Workflow Um Modelo de Transação Móvel Execução de Transação Móvel, Segundo o Modelo Controle de Concorrência Transação Clássica ACID Atomicidade Tudo ou nada Consistência Uma transação é uma transição entre dois estados consistentes do BD, por hipótese Isolação Toda transação vê os dados como se ela fosse processada sozinha Durabilidade Se uma transação é validada, seus efeitos devem ser refletidos no BD Transação Clássica ACID As propriedades ACID garantem A validação de uma transação em sua totalidade, ou Tudo de passa como se a transação nunca tivesse existido Nada melhor para garantir a consistência do BD Mas só são aceitáveis se a duração da transação for curta Workflow Propriedades ACID são muito rígidas para MDS Transações interativas, ou de duração longa Workflow – Várias partes, ou fragmentos, com ordem parcial Necessidade de flexibilizar Validação de partes da transação, ou validação parcial As partes não validades são como se nunca tivessem existido Workflow Exemplo de Workflow Reserva de Hotel Reserva de Restaurante Reserva de Teatro Se não puder reservar um teatro, eu posso me contentar com o hotel e o restaurante Só hotel, ou só restaurante, não serve Um Modelo de Transação Móvel Cenário de Execução Um usuário lança uma transação (workflow) de seu MH Os resultados finais voltam para o MH A transação do usuáro não precisa ser completamente executada no seu MH Fragmentada e distribuída entre FHs e outros MHs – Execução distribuída de uma transação móvel Exemplo: workflow de viagem Passagens no MH que lançou a transação Hotéis em um FH Restaurantes em outro FH Teatros em outro MH Um Modelo de Transação Móvel Uma transação móvel pode ser definida como T é uma tripla <F, L, FLM>, em que F = {e1, e2, …, en} é um conjunto de fragmentos da transação, L = {l1, l2, …, ln} é um conjunto de localizações, e FLM = {flm1, flm2, …, flmn} é um conjunto de funções de mapeamento de fragmento para localização, isto é, j, flmi (ei) = li Um Modelo de Transação Móvel Uma execução do fragmento ei é uma ordem parcial eij = {j, j} em que j = OSj {Nj} em que OSj = kOjk, Ojk {read, write}, e Nj {Abort, Commit} Para quaisquer Ojk e Ojl com Ojk = R(x) e Ojl = W(x) para um objeto x, então ou Ojk j Ojl ou Ojl j Ojk Um Modelo de Transação Móvel Hipóteses do Modelo Transação de longa duração Pode ser dividida em sub-transações, com ordem parcial – Workflow Sub-transações podem ser executadas em diferentes MHs e FHs Uma operação merge em um FH reúne os efeitos das sub-transações Validações parciais, no nível de sub-transação são aceitáveis Critérios de validação explicitamente definidos Execução de Transação Móvel DBS1 DBS2 T2(e4, e 5) MU1 MU3 T1(e1, e 2, e 3) MU2 DBS4 DBS3 Execução de Transação Móvel Cópias primárias: FHs Cópias secundárias (cached) mantidas em MHs A tolerância a falhas incorpora o ‘desaparecimento’ de MHs Controle de Concorrência Objetivo: Garantir a propriedade de Isolação (I) das transações móveis Controle de Concorrência Um MH lê e atualiza dados de seu cache local, baixados de um FH O que fazer para garantir a consistência do FH, se os dados locais são atualizados durante uma desconexão – problema de consistência de dados --? Vários critérios para consistência baseiam-se na seriação das atualizações do BD Controle de concorrência para assegurar a propriedade de isolação das (sub)transações dos clientes móveis Controle de Concorrência Métodos convencionais de execuções concorrentes seriação de Métodos Pessimistas Bloqueio em duas fases (Two-phase locking) Timestamping Métodos otimistas Controle de Concorrência Problemas Sobrecarga de mensagens (com / sem fio) Lidar eficientemente com desconexões é muito difícil Em caso de bloqueio, a gerência bloqueios distribuídos é muito complexa de Controle de Concorrência Um requisito importante para MDS: um número mínimo de mensagens trocadas, especialmente mensagens sem fio Métodos otimistas Deixa a consistência para depois, na esperança de que tudo dê certo Se não der certo?! Transações de compensação Validação de Transações Móveis Os clássicos 2-phase commit (2PC) e 3-phase commit (3PC) não são adequados Muitas mensagens trocadas durante o processo de validação de transação distribuída Um esquema que use poucas mensagens, especialmente em meio sem fio, é sumamente necessário Conclusões Redes sem fio estão se tornando uma plataforma de comunicação muito usada. Elas oferecem um modo mais barato de se conectar e, em alguns casos, elas são a única forma de tornar ubíqua a computação Entretanto, muitos problemas complexos devem ser resolvidos, para que os MDS possam ser efetivamente úteis Esta visão geral discutiu alguns desses problemas, e identificou algumas possíveis abordagens