Banco de Dados Móvel
traduzidos / ampliados / adaptados de:traduzidos / ampliados / adaptados de:Vijay KumarVijay Kumar
Computer Sc. TelecommunicationsComputer Sc. TelecommunicationsUniversity of Missouri-Kansas CityUniversity of Missouri-Kansas City
5100 Rockhill Road5100 Rockhill RoadKansas City, MO 64110, USAKansas City, MO 64110, USA
ÍndiceÍ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 ProblemaO 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 ProblemaO 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 FioComunicaçã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 Espaço de Informação Totalmente ConectadoTotalmente 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 Espaço de Informação Totalmente ConectadoTotalmente Conectado
Espaço de Informação Espaço de Informação Totalmente ConectadoTotalmente Conectado
Integrando SGBDs legados, e sistemas celulares
com / sem fio
PCS: Personal Communication SystemTransmissões analógica e digitalAmérica do Norte
GSM: Global System for Mobile Communication
Transmissão digitalEuropa
Criação e Manutenção
Rádio-Frequência e BandaRádio-Frequência e Banda
Comunicações sem fio utilizam ondas eletromagnéticas
O comprimento da onda é determinado pela rádio-frequência (RF)
Banda: uma faixa de RFs – unidade: M(G)Hz – utilizável para uma tarefa particular
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 BandaRádio-Frequência e Banda
Item Europe (MHz) US (MHz) Japan (MHz)
MobilePhones
NMT: 453-457, 463-467GSM: 890-915, 935-960, 1710-1785, 1805-1880
AMPS, TDMA, CDMA824-849, 869-894GSM, TDMA, CDMA1850-1910, 1930-1990
PDC: 810-826940-956,1429-1465,1477-1513.
CordlessPhones
CT1+: 885-887, 930-932CT2: 864-868DECT: 1880-1900
PACS1850-1910,1930-1990;PACS-UB: 1910-1930
PHS1895-1918;JCT: 254-380
NMT: Nordic Mobile TelephonePDC: Pacific Digital CellularPACS: Personal Access Communications SystemPHS: Personal Handyphone SystemPACS-UB: PACS Unlicensed BandJCT: Japanese Cordless Telephone(Taken from Mobile Communications by Jochen Schiller)
Rádio-Frequência e BandaRá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 CelularComunicação Celular
Células móveisMetropolitan area Metropolitan area
Coverage area in one cell Coverage area in three cells
BSBS
BSBase Station
Large cells.Low density
Small cells.High density
Smaller cells.Higher density
Comunicação CelularComunicação Celular
Frequency reuse
61
7
54
32
61
7
54
32
61
7
54
32
D A
AA
AA
AA
NRD 3
D = distance between cells using the same frequencyR = cell radiusN = 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 Arquitetura de Sistema de Comunicação CelularComunicação Celular
Fixed Network
FixedHost
BaseStation
FixedHost
FixedHost
FixedHost
BaseStation
BaseStation
Mbps to Gbps
MobileHost
MobileHost
MobileHost
MobileHost
Wireless LAN cell
Wireless radio cell
Wireless radio cell
PCS
Arquitetura de Sistema de Arquitetura de Sistema de Comunicação CelularComunicaçã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 Arquitetura de Sistema de Comunicação CelularComunicaçã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 Arquitetura de Sistema de Comunicação CelularComunicação Celular
Forward
chan
nel (D
ownlink c
hannel)
Reverse channel (U
plink channel) Reverse channel (Uplink channel)
Forward channel (Downlink channel)
BS
MH MH
Arquitetura de Sistema de Arquitetura de Sistema de Comunicação CelularComunicaçã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 Arquitetura de Sistema de Comunicação CelularComunicaçã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 Arquitetura de Sistema de Comunicação CelularComunicação Celular
Mais detalhes:
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.
PSTN
BS
VLR
HLR
EIR
AC
MSC (MTSO)MSC (MTSO)
MSMS Wireless component
Arquitetura de Sistema de Arquitetura de Sistema de Comunicação CelularComunicação Celular
PSTNMSC
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
Como localizar MH em uma célula?
Solução: Gerência de Localização
Como manter uma comunicação contínua entre duas células em presença de mobilidade?
Solução: Handoff
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 Soluções para a Comunicação CelularCelular
HandoffUm 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
Old BS New BS
MSC
Old BS New BS
MSC
MSC
Old BS New BS New BSOld BS
MSC
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
HandoffPara 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
G
Old BS New BS
Cell overlap region
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
Gerência de Localização
HLR: Home Location RegisterUm HLR armazena o perfil do usuário e sua localização geográfica – célula corrente
VLR: Visitor Location RegisterO 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 ServerD-LS: Destination Location Server
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
R-ID LS Address12
D-LS
R-ID Base Station100200
D-BS
HLR
S-LS D-LS
VLR
Source BS Dest. BS
10
1
2
3
4
5
6
7
89
Chamador Chamado
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
MH1 se comunica com MH2
MU1MU2
Cell 1 Cell 2
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
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 é feitaP4. Se VLR falha, então a consulta é enviada ao
HLR (4)P5. HLR encontra a localização de D-LS (5)
Algoritmo de Localização
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
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 Soluções para a Comunicação CelularCelular
Roaming (verbo Roam: vagar, perambular)
Assegura as políticas (ou restrições) administrativas e técnicas
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
Roaming
Políticas Administrativas
Faturamento Acordo de subscrição Perfil do usuário Outras políticas
Soluções para a Comunicação Soluções para a Comunicação CelularCelular
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 Sistemas de Gerência de Banco de Dados Móvelde 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 Sistemas de Banco de Dados MóvelMóvel
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
O que é um sistema de banco de dados móvel (MDS: Mobile Database Systems)?
Sistemas de Banco de Dados Sistemas de Banco de Dados MóvelMóvel
ObjetivosConstruir 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 Sistemas de Gerência de Banco de Dados Móvelde Dados Móvel
Oracle Lite IBM DB/2 Everyplace Sybase Anywhere Versões MS Access e MS SQL Server
para plataformas móveis MS Windows CE
Mobile Database Systems
Sistemas de Gerência de Banco Sistemas de Gerência de Banco de Dados Móvelde 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.
ArquiteturaArquitetura
Adaptado de: J. Jing, A. Helal e A. Elmagarmid
Application-transparent Adaptation
Applications
DBMS Proxy
DBMSAPIs
Mobile SGBD APIs
MobileFile
Server
Mobile Host Fixed Network
ArquiteturaArquiteturaApplication-transparent Adaptation
Web Browser
Web ClientSide Intercept (CSI)
HTTP(TCP/IP)
TCP/IP Connection
Mobile Host Fixed Network
Web ClientSide Intercept (CSI)
Web Server(or Proxy Server)
http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/BancoDeDados/TopicosDaDisciplina/5-BDMoveis/LeituraAdicional/MobileEnvironments.pdf
Gerência de DadosGerência de Dados
Objetivos Categorização de Dados Caching de Dados Difusão de Dados Processamento de Consultas
ObjetivosObjetivos 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 DadosCategorizaçã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 DadosCategorizaçã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 DadosCategorizaçã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 DadosCategorizaçã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 DadosCategorização de Dados
Dados em uma região não podem ser replicados em outra região, como é comum em BDs distribuídos tradicionais
PrataAlto Branco
Célula
Categorização de DadosCategorizaçã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 DadosCategorização de Dados
Em uma dada região, a localização dos dados pode ser definida hierarquicamente
County 1 data County 2 data County n data
City data
Subdivision 1 data Subdivision data Subdivision m data
LDD: Hierarquia de Localização
CachingCaching de Dados 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
CachingCaching de Dados 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 DadosDifusã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 DadosDifusão de Dados
Como um MH acessa um BD fixo? A abordagem mais aceita é
broadcasting, ou push-based Mas a abordagem sob demanda, pull-
based, cresce de interesse Abordagem híbrida
Conseqüência lógica das duas outras abordagens
Difusão de DadosDifusã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 DadosDifusão de Dados
server
AB C D E
C BA
DE
Difusão de DadosDifusão de Dados
Pull-Based Broadcasting Somente dados solicitados aparecerão
como ‘dados no ar’
Difusão de DadosDifusã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 DadosDifusã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 DadosDifusã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 ConsultaProcessamento 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 ConsultaProcessamento 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çãoGerê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 ACIDTransaçã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 ACIDTransaçã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
WorkflowWorkflow
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
WorkflowWorkflow
Exemplo de Workflow
Reserva de HotelReserva de RestauranteReserva 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óvelUm 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óvelUm 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óvelUm 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óvelUm 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óvelExecução de Transação Móvel
DBS4
DBS1
DBS3
DBS2T2(e4, e5)
MU2
MU1 T1(e1, e2, e3) MU3
Execução de Transação MóvelExecuçã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ênciaControle de Concorrência
Objetivo: Garantir a propriedade de Isolação (I) das
transações móveis
Controle de ConcorrênciaControle 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ênciaControle de Concorrência
Métodos convencionais de seriação de execuções concorrentes Métodos Pessimistas
Bloqueio em duas fases (Two-phase locking)
Timestamping Métodos otimistas
Controle de ConcorrênciaControle 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 de
bloqueios distribuídos é muito complexa
Controle de ConcorrênciaControle de Concorrência
Um requisito importante para MDS: um número mínimo de mensagens trocadas, especialmente mensagens sem fio
Métodos otimistasDeixa 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óveisValidaçã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õesConclusõ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