Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIsadora Gago Alterado mais de 9 anos atrás
1
Bancos de Dados Móveis A maioria dos slides é traduzida / adaptada de: Vijay Kumar Computer Sc. Telecommunications University of Missouri-Kansas City 5100 Rockhill Road Kansas City, MO 64110, USA kumar@cstp.umkc.edu
2
Bancos de Dados Móveis Índice Espaço de Informação Totalmente Conectado “Personal Communication System” Sistemas de Computação Móvel Sistemas de Banco de Dados Móvel Gerência de Dados Gerência de Transações
3
Bancos de Dados Móveis Índice (2) Sobre um Relatório sobre Problemas Abertos e Direções de Pesquisa em MDS Sumário e Conclusões
4
Espaço de Informação Totalmente Conectado
5
Espaço de Informação Totalmente Conectado (2) 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
6
Espaço de Informação Totalmente Conectado (3) O espaço pode ser mantido integrando sistemas de banco de dados, e sistemas com / sem fio (PCS - “Personal Communication Systems” -, Sistemas Celulares, e GSM - “Global System for Mobile Communications”)
7
“Personal Communication System” (PCS)
8
PCS (2) Dois conjuntos distintos de entidades “Mobile hosts” (MH) – também chamados de clientes móveis “Fixed hosts” (FH) Alguns FH são estações de base (“Mobile Support Stations”) Comunicação com MH via uma interface sem fio 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
9
PCS (3) Especificidades dos ambientes de computação móvel Largura de banca de comunicação 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
10
PCS (4) Os limitados canais dos MHs devem ser utilizados eficientemente. Isto é feito por Reuso de freqüência A mesma freqüência de rádio é usada para comunicação por mais de uma célula Células móveis A área coberta pela rede sem fio é dividida em células
11
PCS (5): Células Móveis
12
PCS (6): Células Móveis (2) O tamanho das células depende da capacidade das estações de base MSC: “Mobile Swiching Center” PTSN “Public Switched Network”
13
PCS (7): “Handoff” Um processo, que permite quebrar a conexão com um BS (“Base Station”) e estabelecer a conexão com outro BS.
14
PCS (8): “Handoff” (2) O procedimento é completado enquanto o MH (o ônibus) se encontra na “overlap region”
15
PCS (9): Gerência de Localização Esquema de Dois Passos 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
16
PCS (10): Gerência de Localização (2) MU1 se desloca para MU2 MU (“Mobile Unit”) é sinônimo de MH
17
PCS (11) 1. O VLR da célula 2 é pesquisado para o perfil de MU2 2. Se não é encontrado, então o HLR é pesquisado 3. Uma vez MU2 localizado, então a informação é enviada à estação de base da célula 1 4. A célula 1 estabelece a comunicação Passo 1: Localização
18
PCS (12) Passo 2: Atualização da localização 1. MU2 se move da célula 1 para a célula 2 2. A localização de MU2 é mudada e então a nova localização deve ser registrada 3. O HLR é atualizado 4. A entrada para MU2 é removida do VLR da célula 1 e uma nova entrada é incluída VLR da célula 2
19
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
20
Sistemas de Banco de Dados Móvel Um sistema de computação móvel com as seguintes propriedades estruturais e funcionais Sistema distribuído com conectividade intermitente O MH é um SGBD “à part entière” Completa mobilidade espacial Construído sobre plataforma PCS/GSM Capacidade de comunicação com / sem fio O que é um sistema de banco de dados móvel (MDS: “Mobile Database Systems”)?
21
MDS (2) O que é uma conectividade móvel? Um modo de conectividade em que um MH e um FH podem se comunicar um com o outro toda vez que isto se fizer necessário. Conectividade intermitente é um caso especial de conectividade móvel
22
MDS (3) Um modo de conectividade em que somente o MH pode estabelecer comunicação com o FH, sempre que isto for necessário O que é conectividade intermitente?
23
MDS (4) Objetivos Construir um sistema de processamento de informação verdadeiramente ubíquo, mesmo com as restrições inerentes às arquiteturas sem fio
24
MDS (5): Arquitetura Cliente- Servidor Application-awareness (collaboration) Laissez faire (No system support) Application-transparent (No changes to applications) Fonte: J. Jing, A. Helal e A. Elmagarmid
25
MDS (6): Arquitetura Cliente- Servidor (2) Adaptado de: J. Jing, A. Helal e A. Elmagarmid Application-transparent Adaptation Applications DBMS Proxy DBMS APIs Mobile SGBD APIs Mobile File Server Mobile HostFixed Network
26
MDS (7): Arquitetura Cliente- Servidor (3) Fonte: J. Jing, A. Helal e A. Elmagarmid Application-transparent Adaptation Web Browser Web Client Side Intercept (CSI) HTTP (TCP/IP) TCP/IP Connection Mobile HostFixed Network Web Client Side Intercept (CSI) Web Server (or Proxy Server)
27
MDS (8): SGBDs Oracle Lite IBM DB/2 Everyplace Sybase Anywhere Versões MS Access e MS SQL Server para plataformas móveis MS Windows CE
28
MDS (9) 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.
29
MDS (10): Desafios Gerência de Dados Gerência de Transações Controle de Concorrência Tolerância a Falha Recuperação
30
Gerência de Dados Distribuição de dados Disseminação de dados “Caching” de dados Processamento de consulta
31
Gerência de Dados: Disseminação Como um cliente acessa o 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
32
Disseminação: Push-based “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”) MHs podem recuperar seus dados do ‘disco’ O tempo de espera por um ítem é sempre o mesmo
33
Disseminação: Flat Broadcasting
34
Disseminação: ‘Discos’ Hierárquicos Difunde os 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’
35
Disseminação: “Pull-based” Somente dados solicitados aparecerão como ‘dados no ar’
36
Disseminação: Híbrida Mistura tanto “push” como “pull” Clientes enviam pedidos se os dados não se encontram nos ‘discos’
37
Disseminação: Economia de bateria 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
38
Gerência de Dados: “Caching” Clientes móveis (MHs) têm acesso a um servidor 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
39
Gerência de Dados: “Caching” (2) 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
40
Gerência de Dados: Processamento de Consultas Classificação de dados “Location Dependent Data” (LDD) “Location Independent Data” (LID)
41
Processamento de Consultas (2): LDD A classe de dados cujo valor é funcionalmente dependente da localização. Assim, o valor da localização determina o valor correto dos dados Localização Valor do dado
42
Processamento de Consultas (3): LDD (2) Exemplo: Existem vários hotéis Taj na India. Entretanto, a reserva de apto no hotel dependerá do lugar onde ele está localizado. Uma atualização do status de um apto não deve afetar qualquer outro apto da rede Esquema: Permanece o mesmo; apenas, múltiplos valores corretos existem no BD
43
Processamento de Consultas (4): LDD (3) LDD deve ser processado levando em conta as restrições de localização. Assim, impostos em Pune (cidade da Índia) devem ser processados segundo as regras de impostos desta localidade O MDS deve oferecer a função location binding ou location mapping
44
Processamento de Consultas (5): LDD (4) Distribuição de dados LDD Uma abordagem é representar uma cidade em termos de um número de células móveis, “Data region”. Assim, Pune pode ser representada em termos de N células, e os LDD de Pune podem ser replicados nessas células
45
Processamento de Consultas (6): LDD (5) Em uma “data region”, os LDD podem ser representados de um modo hierárquico LDD: Hierarquia de Conceitos
46
Processamento de Consultas (7): LID Uma classe de dados cujos valores são funcionalmente independentes de localização. Assim, o valor da localização não determina o valor dos dados Exemplos: Nome de pessoa, número de conta, etc.
47
Processamento de Consultas (8): Tipos de consulta Location dependent (LD) query Location independent query
48
Processamento de Consultas (9): LD Uma consulta cujo resultado depende da localização geográfica da submissão da consulta Exemplo Qual é a distância da estação ferroviária de Pune para ‘aqui’? O resultado desta consulta é correto somente para ‘aqui’
49
Processamento de Consultas (10): LD (2) 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
50
Gerência de Transações Transações Clássicas ACID Controle de Concorrência Tolerância a Falha Recuperação
51
Gerência de Transações (2): Transações Clássicas 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
52
Gerência de Transações (3) Transações clássicas ACID são muito rígidas para MDS. Flexibilidade pode ser introduzida usando o conceito de “workflow”. Assim, uma parte de uma transação pode ser executada e validada, independentemente de suas outras partes “Workflow” Reserva de Hotel Reserva de Restaurante Reserva de Teatro
53
Gerência de Transações (4) Fragmentos de uma transação para a sua distribuição
54
Gerência de Transações (5) Cenário de execução: Um usuário lança uma transação de seu MH e os resultados finais voltam para o MH. A transação do usuáro não precisa ser completamente executada no seu MH: em vez disso, ela é fragmentada e distribuída entre FHs e MHs para execução. Isto cria uma execução distribuída de uma transação móvel Exemplo: “supply chain workflow”
55
Gerência de Transações (6): Uma Definição de Transação Móvel Uma transação móvel pode ser definida como T é uma tripla, em que F = {e 1, e 2, …, e n } é um conjunto de fragmentos da transação, L = {l 1, l 2, …, l n } é um conjunto de localizações, and FLM = {flm 1, flm 2, …, flm n } é um conjunto de funções de mapeamento de fragmento para localização, isto é, j, flm i (e i ) = l i
56
Gerência de Transações (7): Uma Definição de Transação Móvel (2) Uma execução do fragmento e i é uma ordem parcial e ij = { j, j } em que j = OS j {N j } em que OS j = k O jk, O jk {read, write}, e N j {Abort L, Commit L }. Para quaisquer O jk e O jl com O jk = R(x) e O jl = W(x) para um objeto x, então ou O jk j O jl ou O jl j O jk
57
Gerência de Transações (8): Um Modelo de Transação Móvel Semantics Based: O modelo assume que uma transação móvel é uma tarefa de longa duração, e por causa disso objetos grandes e complexos são fragmentados em diferentes MHs. Os fragmentos (objetos modificados) são colocados juntos outra vez por uma operação “merge” em um FH. Se os fragmentos puderem ser recombinados em uma ordem qualquer, então os objetos são alcunhados de “reorderable objects”
58
Gerência de Transações (9): Uma Execução de Transação Móvel
59
Gerência de Transações (10): Uma Execução de Transação Móvel (2) Cópias primárias: FHs ou estações de base Cópias secundárias (“cached”) mantidas em MHs A tolerância a falhas incorpora o ‘desaparecimento’ de MHs MHs fazem “checkpoints” periódicos
60
Gerência de Transações (11): Consistência de Dados - Isolação Um cliente lê e atualiza dados de seu “cache” local, baixados de um FH, como se os outros fragmentos da transação global não existissem 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
61
Gerência de Transações (12): Consistência de Dados - Isolação (2) Métodos convencionais de seriação de execuções concorrentes: Bloqueio em duas fases (Two-phase locking) Timestamping Controle otimista Estes métodos são pessimistas, e podem não funcionar para ambientes móveis 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
62
Gerência de Transações (13): Consistência de Dados - Isolação (3) Novos esquemas de seriação baseados em timeout, multiversão, etc., podem funcionar. Um requisito importante é 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
63
Gerência de Transações (14): Consistência de Dados - Isolação (4) Consistência global (FH) O problema de atualização de um BD se levanta quando MHs atualizam o BD. Para manter a consistência global (do BD) um eficiente esquema de atualização faz-se necessário
64
Gerência de Transações (15): Validação de Transações Móveis Como sabemos, uma transação móvel pode ser fragmentada e pode rodar em mais de um nó (MHs e FHs) Um eficiente protocolo de validação é necessário. Os clássicos “2-phase commit” (2PC) e “3- phase commit” (3PC) não são bons porque usam e abusam de mensagens trocadas entre os participantes do processo de validação Um esquema que use poucas mensagens, especialmente sem fio, é sumamente necessário
65
Gerência de Transações (16): Validação de Transações Móveis (2) Um possível protocolo, baseado em “timeout”: Conceito: MHs e FHs garantem completar a execução de seus fragmentos da transação móvel dentro de seus “timeouts” pré-definidos. Assim, durante o processamento nenhuma comunicação é requerida. No fim do “timeout”, cada nó independentemente valida seu fragmento
66
Gerência de Transações (17): Validação de Transações Móveis (3) Protocolo: TCOT-Transaction Commit On Timeout Requirements Coordinator: Coordinates transaction commit Home MH: Mobile Transaction (MT) originates here Commit set: Nodes that process MT (MUs + FHs) Timeout: Time period for executing a fragment
67
Gerência de Transações (18): Validação de Transações Móveis (4) MT arrives at Home MH MH extract its fragment, estimates timeout, and send rest of MT to the coordinator Coordinator further fragments the MT and distributes them to members of commit set MU processes and commits its fragment and sends the updates to the coordinator Other MHs and FHs process their fragments and inform the coordinator Coordinator commits or aborts MT
68
Gerência de Transações (19): Recuperação de Falhas É um processo complexo pelas razões seguintes: Alguns nós são móveis Os canais sem fio são muito limitados O suprimento de energia é limitado A capacidade de processamento em presença de desconexão é restrita
69
Gerência de Transações (20): Recuperação de Falhas (2) Qualidades desejáveis para um processo de recuperação Recuperações independentes (MHs e FHs) MHs podem se recuperar sem a ajuda de um FH reduz o número de mensagens Operações de “logging” e “checkpointing” eficientes Poupar as baterias dos MHs Facilidade de duplicação de “logs” Confiabilidade do processo de recuperação
70
Gerência de Transações (21): Recuperação de Falhas (3) Possíveis abordagens Recuperação parcial Uso de tecnologia de agentes móveis
71
Gerência de Transações (22): Recuperação de Falhas (4) Tecnologia de Agentes Móveis Um agente móvel é um módulo independente de software capaz de Migrar para qualquer nó da rede Capaz de se reproduzir e se eliminar Capaz of registrar sua própria história
72
Gerência de Transações (23): Agentes Móveis “Logging” centralizado e distribuído Um carregador de “logs”: um agente móvel pode ser necessário para carregar seu log com ele Processamneto de “logs” para a recuperação do FH Validação ou rejeição da transação móvel Um agente móvel pode ser usado para as seguintes atividades, que são essenciais para recuperação:
73
Gerência de Transações (24): Agentes Móveis (2) Difusão de agentes em um canal sem fio dedicado “Pool” de agentes em cada nó Migração de agentes segundo o modo requisitado Possíveis abordagens
74
Um Relatório … Mobile Databases: a Report on Open Issues and Research Directions, por pesquisadores do CNRS, França Sincronização de cópias em computação desconectada Transações móveis SGBDs para “ultra-light devices” Confiabilidade de dados Modelos de disseminação P2P Adaptabilidade de “middleware”
75
Um Relatório … (2): Sincronização Contexto: “Real-time groupware” n MHs (“sites”) Cada “site” trabalha com uma cópia local de um complexo objeto compartilhado Exemplo: edição simultânea de um documento Cada “site” participante combina o que vai fazer, mas o critério não é rígido Toda operação é processada em 4 passos P1: gerada em um “site” P2: difundida para os outros “sites” P3: recebida por eles P4: re-executada remotamente neles
76
Um Relatório … (3): Sincronização (2) Um sincronizador é capaz de garantir que o efeito final das operações, ao mesmo tempo concorrentes e colaborativas, seja consistente Duas direções de pesquisa Sincronizadores ‘convencionais’ são projetados para suportar curtos períodos de desconexão; eles devem então ser estendidos para tolerar longas desconexões Para a sincronização, é comum mover um “log” de operações de / para um MH; é importante então minimizar o tamanho dos “logs” Pesquisas ∆X? Uma interessante discussão, regada a chopp!
77
Um Relatório … (4): Transações Móveis Características do modelo de transações móveis Transação de longa duração (“long-duration transactions” – LDT) Sub-transação em cada MH Possivelmente desconectada Validação local LTD globalmente validada Cópias locais são reintegradas, se possível Durante a validação global, cada MH deve manter uma conexão estável com o FH
78
Um Relatório … (5): Transações Móveis (2) Validação global Cada LDT é associada com um contrato Um conjunto de regras Intenções de acesso Bloqueios “Timeouts” para bloqueios Limite de divergência para cópias compartilhadas Etc.
79
Um Relatório … (6): Transações Móveis (3) Direções de pesquisa (relacionadas com a noção de contrato) Como especificar um contrato? Como derivar regras operacionais para mantê-lo em tempo de execução? Como usá-lo para facilitar a integração de cópias modificadas localmente com as cópias do FH
80
Um Relatório … (7): “Embedded Databases” Restrições de hardware do tipo “smart card platform”) CPU poderosa RAM muito pequena Memória estável Rápida para leitura Dramaticamente lenta para gravação
81
Um Relatório … (8): “Embedded Databases” Protótipo de pesquisa PicoDBMS Processa qualquer consulta SQL sem usar a RAM, não importando o volume de dados da consulta Direções de pesquisa Como usar RAM em consultas? Existe um limite mínimo de RAM não importando o tamanho da consulta? Como pode uma consulta ser otimizada dentro do limite mínimo de RAM? Como um crescimento incremental de RAM impacta as técnicas que levam em conta o limite mínimo de RAM?
82
Sumário e 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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.