A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bancos de Dados Móveis A maioria dos slides é traduzida / adaptada de: Vijay Kumar Computer Sc. Telecommunications University of Missouri-Kansas City 5100.

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados Móveis A maioria dos slides é traduzida / adaptada de: Vijay Kumar Computer Sc. Telecommunications University of Missouri-Kansas City 5100."— Transcrição da apresentação:

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


Carregar ppt "Bancos de Dados Móveis A maioria dos slides é traduzida / adaptada de: Vijay Kumar Computer Sc. Telecommunications University of Missouri-Kansas City 5100."

Apresentações semelhantes


Anúncios Google