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
Download

MobileDatabaseSystems