• Nenhum resultado encontrado

Uma abordagem em ambiente wireless

N/A
N/A
Protected

Academic year: 2021

Share "Uma abordagem em ambiente wireless"

Copied!
139
0
0

Texto

(1)

CURSO DE CIÊNCIAS DA COMPUTAÇÃO

Elenice Colle Manganelli

Juliano Romani

PROTOCOLOS DE SINCRONIZAÇÃO DE DADOS

EM AMBIENTES WIRELESS: UM ESTUDO DE

CASO

Trabalho de Conclusão de Curso submetido à Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do grau de Bacharel em Ciências da Computação.

Orientador: Mário Antônio Ribeiro Dantas

(2)

PROTOCOLOS DE SINCRONIZAÇÃO DE DADOS

EM AMBIENTES WIRELESS: UM ESTUDO DE

CASO

Elenice Colle Manganelli

Juliano Romani

________________________________ José Mazzucco Jr. Coordenador do Curso Banca Examinadora: ________________________________ Prof. Mário Antônio Ribeiro Dantas

Orientador

________________________________ Prof. Rosvelter J. Coelho da Costa

______________________________ Prof. Roberto Willrich

(3)

“Se prepara, meu amigo, que você está indo pro inferno.” Julio Felipe Szeremeta

(4)

AGRADECIMENTOS

Agradecemos ao professores que nos apoiaram, as nossas famílias que agüentaram a gente, e a 992, a Pior Turma de Todos os Tempos.

(5)

RESUMO

Atualmente, tem se verificado um grande crescimento na utilização da computação móvel. Um dos fatores que podem explicar essa tendência é o desenvolvimento de novos recursos computacionais, com uma maior capacidade de processamento e armazenamento nos dispositivos móveis, bem como o aumento das taxas de transmissão em redes wireless. Uma importante característica na sincronização dos dispositivos móveis é o protocolo de sincronização de dados utilizado. Porém, algumas considerações precisam ser analisadas na escolha, tais como: memória disponível no dispositivo, a rede que vai ser utilizada (a taxa de transmissão, etc.). O problema fundamental é encontrar um protocolo de sincronização de dados que atenda aos problemas identificados. Neste trabalho é apresentada uma análise comparativa de diferentes protocolos de sincronização de dados, baseando-se em um estudo de caso experimental feito em uma plataforma convencional. Os resultados indicam algumas soluções para o desenvolvimento na plataforma PalmOS e uma análise comparativa dos protocolos HotSync e SyncML.

(6)

ABSTRACT

Currently, it has verified a great growth in the use of the mobile computation. One of the factors that can explain this trend is the development of new computational resources, with a bigger capacity of processing and storage in the mobile devices, as well as the increase of the taxes of transmission in wireless networks. An important characteristic in the synchronization of the mobile devices is the used data synchronization protocol . However, some considerations need is analyzed in the choice, such as: available memory of the device, the network that go to be used (the tax of transmission, etc.). The basic problem is to find a data synchronization protocol that takes care of to the identified problems. In this work an analysis of different data synchronization protocols is presented, being based on a study of made experimental case in a conventional platform. The results indicate solutions for the development in the PalmOS platform and an comparative analysis of the protocols HotSync and SyncML.

(7)

SUMÁRIO

CAPÍTULO I

1. INTRODUÇÃO... 01

CAPÍTULO II 2. COMPUTAÇÃO MÓVEL ... 03

2.1. Evolução da Computação Móvel ... 03

2.2. Computadores Móveis ... 06

2.3. Computadores Fixos ... 07

2.4. Tecnologias sem Fio ... 07

2.4.1. Bluetooth... 07

2.4.2. LANs sem Fio... 08

2.4.3. Tecnologia Celular ... 09

2.4.3.1.GSM ... 09

2.4.3.2.EDGE ... 10

2.4.3.3.GPRS ... 11

2.4.3.4.CDMA ... 12

2.5. Características da Computação Móvel... 13

(8)

2.5.2. Portabilidade ... 15

2.5.2.1. Pouca Bateria... 16

2.5.2.2. Falta de Segurança na Informação... 16

2.5.2.3. Pequena Interface com o Usuário... 16

2.5.2.4. Pouca capacidade de armazenamento... 17

2.5.3. Adaptação ... 17

2.5.4. Desconexão ... 17

2.6. Modelos Computacionais Móveis... 19

2.6.1. Modelo Cliente/Servidor... 19

2.6.1.1. Modelo Cliente/Agente/Servidor ... 20

2.6.1.2. Modelo Cliente/Interceptador/Servidor ... 21

2.6.2. Modelo Peer-to-Peer ... 22

2.6.3. Modelo de Agentes Móveis ... 22

CAPÍTULO III 3. BANCO DE DADOS MÓVEIS... 24

3.1. Características dos Banco de Dados Móveis ... 25

3.1.1. Caching ... 25

3.1.2. Replicação ... 26

(9)

3.2. Transações Móveis ... 27

3.2.1. Propriedades das Transações Móveis ... 28

3.2.1.1. Atomicidade ... 28

3.2.1.2. Consistência... 29

3.2.1.3. Isolamento ... 30

3.2.1.4. Durabilidade ... 31

3.3. Modelos de Transações Móveis ... 31

3.4. Processamento de Consultas... 33 3.5. Recuperação de Falhas ... 34 3.5.1. Localização... 36 3.5.2. Desconexão... 36 3.5.3. Energia... 36 3.5.4. Rede ... 37 3.5.5. Falhas... 37 3.5.6. Estratégias de Recuperação ... 37 CAPÍTULO IV 4. TECNOLOGIAS DE SINCRONIZAÇÃO ... 41 4.1. Tipos de Sincronização ... 41 4.1.1. One-Way... 41

(10)

4.1.2. Two-Way ... 42 4.2. Protocolos de Sincronização ... 42 4.2.1. Hotsync ... 44 4.2.2. Intellisync ... 45 4.2.3. SyncML ... 46 4.2.4. CPISync ... 50 CAPÍTULO V 5. AMBIENTE EXPERIMENTAL E RESULTADOS OBTIDOS ... 51

5.1. Descrição do Ambiente Utilizado ... 51

5.2. Iniciando o Desenvolvimento na Plataforma PalmOS... 52

5.2.1. PDB... 53 5.2.2. PRC e Runtime ... 59 5.2.3. Conduit ... 60 5.2.4. Ferramentas de Desenvolvimento ... 62 5.3. Protótipo Desenvolvido ... 64 5.3.1. O Programa Cliente... 66

5.3.2. Descrição do Banco de Dados do Cliente ... 68

5.3.3. O Módulo Conduit... 69

(11)

5.4. Protocolos de Sincronização Investigados ... 69

CAPÍTULO VI

6. CONCLUSÕES E TRABALHOS FUTUROS ... 73

REFERÊNCIAS BIBLIOGRÁFICAS ... 76 ANEXOS ... 80

(12)

ÍNDICE DE FIGURAS

FIGURA 1 – Dispositivos Móveis ... 6

FIGURA 2 – Rede Fixa ... 7

FIGURA 3 – Estados de uma Operação de Desconexão... 19

FIGURA 4 – Modelo Cliente/Servidor ... 20

FIGURA 5 – Modelo Cliente/Agente/Servidor... 21

FIGURA 6 – Modelo Cliente/Interceptador/Servidor ... 22

FIGURA 7 – HandOff – Estratégia de Recuperação... 39

FIGURA 8 – O Pentágono da Sincronização em Ambientes Móveis... 43

FIGURA 9 – Servidor Intellisync... 46

FIGURA 10 – Servidor SyncML ... 47

FIGURA 11 – Interface do Cliente... 65

FIGURA 12 – Estrutura do Sistema ... 67

FIGURA 13 – Volume de Dados HotSync e SyncML (Slow)... 70

(13)

ÍNDICE DE TABELAS

TABELA 1 – Distribuição dos Blocos no PDB ... 54

TABELA 2 – Descrição do Header... 54

TABELA 3 – Lista de Entradas de Registros... 56

TABELA 4 – Entradas de Registros ... 56

TABELA 5 – Atributos dos Registros... 57

TABELA 6 – Estrutura da Category ... 58

TABELA 7 – Ferramentas de desenvolvimento para PalmOS ... 63

(14)

CAPÍTULO I

1. INTRODUÇÃO

Atualmente, com a ploriferação dos dispositivos móveis, os usuários são providos de acesso a dados em qualquer lugar que estejam. Os sistemas que fornecem esse acesso aos dados necessitam de novas tecnologias para gerenciar e sincronizar dados, solucionando possíveis conflitos, verificando mudanças e propagando as atualizações nos diversos dispositivos da sincronização.

Os protocolos de sincronização de dados para dispositivos móveis são cuidadosamente criados para cobrir todos os problemas enfrentados. No caso especial dos PDAs, que geralmente comunicam-se via serial, usb ou via wireless com baixa largura de banda, possuem poder de processamento limitado, pouca memória e pouca bateria espera-se que sempre estejam prontos para processar ou transferir um grande volume de dados. Com esta visão levantada, existe a necessidade que os protocolos de sincronização sejam eficientes o suficiente para suprir as necessidades requeridas.

Este trabalho compreende o estudo e a experimentação dos protocolos de sincronização de dados encontrados atualmente no mercado. Nossa pesquisa também envolveu o desenvolvimento de um protótipo experimental de sincronização de dados visando encontrar as dificuldades e facilidades de se trabalhar com a computação móvel. A arquitetura empregada no experimento incorporou ambientes de hardware convencionais e de baixo custo.

(15)

O objetivo principal deste trabalho é fornecer subsídios necessários para o avanço da pesquisa científica, fornecendo as dificuldades e facilidades da computação móvel e uma análise da performance dos protocolos de sincronização de dados.

O trabalho é organizado como segue. O capítulo 2 fornece uma visão geral sobre computação móvel, falando da evolução, das tecnologias sem fio, das principais características e dos modelos de computação móvel. O capítulo 3 compreende a caracterização dos bancos de dados móveis, as transações móveis e seus modelos, o processamento de consultas e a recuperação de falhas. No capítulo 4 encontram-se as tecnologias de sincronização e os protocolos de sincronização de dados estudados. O capítulo 5 expõe o ambiente experimental e o protótipo desenvolvido. O capítulo 6 finaliza a pesquisa com as conclusões e a perspectiva de trabalhos futuros.

(16)

CAPÍTULO II

2. COMPUTAÇÃO MÓVEL

A computação móvel tornou-se uma realidade na vida das pessoas com o aparecimento de duas tecnologias: o aparecimento de computadores portáteis poderosos e o desenvolvimento de redes rápidas e mais confiáveis (BARBARÁ,1999).

O ambiente da computação móvel não requer mais que os usuários mantenham uma posição fixa na rede, permitindo assim uma grande mobilidade dos usuários.

O principal desafio da computação móvel é conseguir garantir o funcionamento igualado aos dos computadores fixos, já que diversas restrições surgem com a mobilidade, ou seja, é necessário ter um sistema de computadores distribuídos com serviços comparáveis aos dos computadores fixos mas que permita mobilidade (MATEUS & LOUREIRO, 1998).

2.1. Evolução da Computação Móvel

A evolução da computação móvel pode ser analisada através da evolução tecnológica segundo Mateus & Loureiro (1998) até 1995 :

• 1820: Hans Christian Oersted descobre que a corrente elétrica produz campo magnético; André Marie Ampère quantifica essa descoberta na lei de Ampère;

(17)

• 1830: Joseph Henry descobre que a variação do campo magnético induz corrente elétrica, mas quem publica o resultado é Michael Faraday, que descobriu independentemente o mesmo resultado;

• 1864: James Clark Maxwell modifica a lei de Ampère e de Faraday e desenvolve quatro operações sobre campos magnéticos;

• 1876: Alaxender Graham Bell inventa o telefone; • 1896: Guglielmo Marconi inventa o telégrafo sem fio; • 1907: Início do serviço de radiodifusão;

• 1914: Início da 1ª Guerra Mudial. Desenvolvimento rápido das comunicações;

• 1921 : Radiodifusão entra em operação nos Estados Unidos;

• 1928: A Polícia de Detroit introduz um sistema de radiodifusão para acionamento de carros;

• 1933: Quatro canais são autorizados para utilização na faixa de 30 – 40 MHz;

• 1935: A FM (Modulação em Freqüência) surge com alternativa para a AM (Modulação em Amplitude) diminuindo o problema de ruídos;

• 1939: Grande avanço da comunicação via rádio com o advento da Segunda Guerra Mundial;

• 1945: AT & T Bell Labs inicia experimentos na utilização de freqüências mais altas objetivando melhorias nos serviços móveis;

• 1947: AT & T lança o IMTS (Improved Mobile Telephone Service), um sistema onde apenas uma torre atendia uma grande área ou cidade. Em seguida a AT & T Bell Labs propõe o conceito de celular;

(18)

• Anos 50: A faixa de transmissão é reduzida pela metade, onde sistemas requeriam uma elevada banda de transmissão. Os primeiros sistemas de paging começam a surgir;

• Anos 60: Um novo receptor de FM abre espaço para um maior número de canais de comunicação com o mesmo espectro. Surgem aqui os primeiros aparelhos portáteis;

• Anos 70: Um espectro de freqüência é alocado para os sistemas celulares. Em 1979 é lançada a primeira rede celular no mundo, no Japão;

• 1983: O sistema celular evoluiu para os padrões atuais, sendo lançada a primeira rede celular americana. Outros sistemas similares entram em operação no mundo;

• 1991: Validação inicial nos Estados Unidos dos padrões TDMA e CDMA de tecnologia celular;

• 1992: Introdução do sistema celular GSM (Groupe Spéciale Mobile); • 1994: Introdução do sistema CPDC (Cellular Digital Packet Data). Início

dos serviços PCS (Personal Communication Services) CDMA e TDMA; • 1995: Início dos projetos para cobertura terrestre de satélites de baixa

órbitra.

De acordo com PASTORE (2000) o número de usuários móveis excedeu 468 milhões em 2000, um número maior do que os usuários que utilizavam a internet, que era 365 milhões.

(19)

2.2. Computadores Móveis

Computadores Móveis ou dispositivos móveis (PDAs, handhelds, Laptops, celulares) possuem algumas vantagens com relação aos computadores fixos: são leves, pequenos, pessoais, acessíveis, etc.

Mas por outro lado, as vantagens encontradas nos computadores móveis acarretam um estreitamento de recursos, percebível facilmente aos abituados a utilizar a computação fixa (DENARDI, 2003).

Os elementos móveis possuem geralmente pouca memória RAM, processadores mais lentos, memória de armazenamento pequena e interface com o usuário limitada, alguns exemplos de dispositivos móveis podem ser vistos na Figura 1.

(20)

2.3. Computadores Fixos

Os computadores fixos ou dispositivos fixos fazem parte de uma rede fixa cuja localização e conectividade não mudam. Algumas das estações conectadas na rede fixa podem servir como estações base de recursos, essas estações são também conhecidas como servidores (ITO, 2001). Um exemplo de uma rede fixa pode ser vista na Figura 2.

FIGURA 2. Rede Fixa.

2.4. Tecnologias sem Fio

2.4.1. Bluetooth

A tecnologia wireless Bluetooth, segundo Dantas (2002), é um padrão de fato e uma especificação para enlaces entre dispositivos móveis, usando ondas de rádio de curto alcance. O Bluetooh Special Interest Group (SIG) é um grupo industrial formado

(21)

por empresas lideres em telecomunicações, computação e rede que estão dirigindo o desenvolvimento da tecnologia e trazendo esta realidade para o mercado.

A proposta da tecnologia Bluetooth é habilitar os usuários para a conexão de uma grande variedade de dispositivos de computação e telecomunicações de maneira simples e fácil, sem a necessidade de cabos. Como a tecnologia é baseada em enlace via rádio, é fácil a transmissão rápida e segura de voz e dados na rede. A operação do Bluetooth é efetuada em uma banda de freqüência entre 2.402 e 2.480 GHz que está globalmente disponível e tem compatibilidade mundial, sendo portanto um padrão global para conectividade wireless. A tecnologia Bluetooth é muito resistente às intempéries e dificuldades eletromagnéticas, o q garente que as interferências são pequenas.

2.4.2. LANs sem Fio

Segundo GETIEEE802, o padrão de redes locais sem fio (802.11) define o protocolo e a compatibilidade de interconexão de equipamentos de comunicação de dados via ar, radio ou infravermelho em uma rede local (LAN) usando o "carrier sense multiple access protocol with collision avoidance"(CSMA/CA) como mecanismo de compartilhamento do meio. O controle de acesso ao meio (MAC) suporta operações abaixo do controle do ponto de acesso assim como entre estações independentes. O protocolo inclui autenticação, associação e reassociação de serviços, um procedimento opcional de cifragem e descifragem, gerenciamento de energia. O padrão inclui a definição de base de informação gerenciável (MIB) usando Abstract Syntax Notation 1

(22)

(ASN.1) e especifica o protocolo MAC formalmente, usando o Specification and Description Language (SDL).

A camada física da implementação infravermelha suporta 1Mbit/s de taxa de dados com uma extensão opcional de 2Mbit/s. A camada física da implementação do rádio especifica também frequency-hopping spread spectrum (FHSS) suportando 1Mbit/s e um opcional 2Mbit/s de taxa de transferência ou direct sequence spread spectrum (DSSS) suportando 1 e 2Mbit/s de taxa de transferência.

2.4.3. Tecnologia Celular

Algumas tecnologias celular serão descritas a seguir, segundo 3GAM (2003) : • GSM

• EDGE • GPRS

2.4.3.1. GSM

O Sistema Global de comunicações Móveis (GSM) é uma tecnologia sem fio de segunda geração (2G) que provê serviços de qualidade de voz e de dados comutados por circuito em uma ampla gama de faixas de espectro, que incluem 450, 850, 900, 1800 e 1900 MHz. GSM é uma tecnologia digital ou "PCS". Provê uma evolução sem dificuldades e com bom custo-benefício para a terceira geração (3G). Estima-se que

(23)

GSM irá representar entre 80 e 85% dos clientes de próxima geração mundialmente, segundo UMTS Fórum.

Em junho de 2003, GSM estava disponível via 665 redes em mais de 179 países. É a tecnologia sem fio de uso predominante em termos mundiais, com mais de 880 milhões de clientes no continente americano, Ásia e Europa, o que representa 72% de todos os clientes de tecnologia sem fio.

O GSM permite a vários usuários compartilharem um único canal de rádio através de uma técnica denominada multiplexação por divisão de tempo (TDM), em que um canal é dividido em seis intervalos de tempo. Designa-se para cada chamador um intervalo de tempo específico de transmissão, que permite a vários chamadores compartilhar um único canal simultaneamente sem interferência dos outros. Este desenho viabiliza o uso eficiente do espectro e proporciona sete vezes mais capacidade do que a analógica ou "AMPS", uma tecnologia de primeira geração (1G). GSM também utiliza uma técnica chamada "salto de freqüências" que minimiza a interferência proveniente de fontes externas e torna praticamente impossível o acesso indevido a comunicações alheias.

2.4.3.2. EDGE

A EDGE (Taxas de Dados Ampliadas para a Evolução GSM) é uma tecnologia de terceira geração (3G) de transmissão de dados e acesso à Internet de alta velocidade que transmite dados em velocidade de até 473 kbps e taxa média entre 80 e 130 kbps. As taxas médias são rápidas o suficiente para permitir um amplo leque de serviços de

(24)

dados avançados, incluindo streaming de som e imagem, acesso rápido à Internet e download de arquivos pesados. A EDGE também suporta serviços "push-to-talk."

A EDGE às vezes é chamada de GPRS ampliada (E-GPRS; de Enhanced GPRS) porque aumenta em três ou quatro vezes a capacidade e o throughput de dados da GPRS. Assim como a GPRS, a EDGE é um serviço baseado em pacotes que oferece aos clientes uma conexão permanente para transmissão de dados.

Assim como a conexão de banda larga por cabo e DSL, a EDGE oferece conexão permanente à Internet, eliminando a necessidade de se conectar cada vez que for usar, e os clientes podem receber serviços "pushed", tais como alertas da Bolsa. A EDGE também permite que os clientes mantenham uma transmissão de dados enquanto estão atendendo a uma ligação telefônica. Isto é totalmente único em tecnologias GSM.

2.4.3.3. GPRS

O Padrão de Transmissão de Rádio por Pacote (GPRS) é uma solução espectralmente eficiente de dados móveis para novos serviços de dados mais rápidos e roaming internacional. Como tecnologia de dados sem fio, GPRS oferece velocidades máximas de dados de 115 kbps e um throughput médio de 30 a 40 kbps. GPRS é freqüentemente chamada de tecnologia "2.5G" porque é a primeira etapa que uma operadora GSM empreende quando inicia a transição à terceira geração (3G).

GPRS é uma tecnologia baseada em pacotes, o que significa que os dados são divididos em pacotes e transmitidos em surtos breves via uma rede IP. Este desenho é muito mais eficiente do que as redes comutadas por circuito e propicia uma redução dos custos operativos da rede. O desenho de pacotes favorece os usuários principalmente de duas maneiras: em primeiro lugar, GPRS provê uma conexão permanente de dados e

(25)

assim os usuários não precisam entrar no sistema cada vez que querem ter acesso a serviços de dados. Em segundo lugar, os usuários só pagam pelos dados e não pagam pelo tempo de permanência no ar em que se faz a conexão e nem pelo tempo de carregar dados.

GPRS está baseada na plataforma GSM. GPRS está baseada em IP, padrão universal utilizado na Internet, não num padrão unicamente de tecnologia sem fio que requer equipamento proprietário. Ao utilizar uma tecnologia aberta e totalmente padronizada, GPRS é ideal para o fornecimento de acesso sem fio a outras redes baseadas em IP, como LANs corporativas e ISPs. Outra vantagem da base IP de GPRS é que as operadoras e seus parceiros podem desenvolver e lançar serviços de dados avançados muito mais rapidamente e a menor custo, fatores atribuídos à ampla disponibilidade de "know-how IP" e equipamento pronto para usar.

Como a tecnologia sem fio de transmissão de dados por pacote mais amplamente utilizada no mundo, GPRS se apóia na base de assinantes GSM, que já orça pelo bilhão, e 665 redes GSM em mais de 179 países. Como GSM, GPRS suporta seamless roaming, e portanto os usuários continuam tendo acesso a seus serviços de dados quando viajam. Em junho de 2003, 162 operadoras em 70 países já haviam lançado GPRS. Mais 33 operadoras em outros 17 países estão em diferentes etapas de implantação.

2.4.3.4. CDMA

De acordo com CDG , o padrão CDMA (Code Division Multiple Access) é uma tecnologia "spread spectrum", permitindo muitos usuarios ocuparem a mesma alocação de tempo e freqüência em uma determinada banda/espaço. Como o próprio nome diz,

(26)

CDMA designa códigos únicos para cada comunicação para diferenciar de outras do mesmo spectrum. Num mundo de recursos de spectrum finitos, CDMA habilita muito mais pessoas para compartilhar as ondas emitidas ao mesmo tempo do que tecnologias alternativas. O CDMA2000 representa a familia de tecnologia 3G que inclui CDMA2000 1X e CDMA2000 1xEV:

• CDMA2000 1X pode dobrar a capacidade de voz da rede cdmaOne e entregar pacotes de dados a uma velocidade máxima de 307kbps em ambientes móveis. • CDMA2000 1xEV inclui:

1. CDMA2000 1xEV-DO: entrega pacotes de dados a uma velocidade máxima de 2.4Mbps e suporta aplicações como transferencia de MP3 e video conferencia.

2. CDMA2000 1xEV-DV: provê a integração de voz e tranmissão de pacotes de dados e serviços multimídia simultaneamente em velocidades de até 3.09Mbps.

3. 1xEV-DO e 1xEV-DV as duas são compatíveis com CDMA2000 1X e cdmaOne.

2.5. Características da Computação Móvel

Computadores móveis requerem acesso a redes sem fio, embora possa às vezes se unir fisicamente à uma rede fixa com uma conexão melhor e mais barata permanecendo estacionários em reuniões em cima de uma mesa por exemplo.

(27)

Em uma comunicação sem fio é muito mais difícil conseguir uma comunicação perfeita, pois existem muitos obstáculos que podem interferir no sinal, introduzindo assim ruídos e ecos. As conexões sem fio possuem qualidade mais baixa que as conexões fixas, pois possuem baixa largura de banda, taxas de erros elevadas e desconexões mais freqüentes. Esses fatores podem aumentar a latência nos retransmissores, atraso no intervalo de retransmissão, erro no processamento do protocolo de controle e curtas desconexões (FORMAN & ZAHORJAN, 1994).

2.5.1. Mobilidade

Entende-se por mobilidade a capacidade que um dispositivo possui de se mover pela rede. Nos deparamos com vários problemas provenientes da mobilidade.

Algumas das principais conseqüências da mobilidade são abordadas por SILVA & ENDLER (2000):

• A inexistência de uma topoligia fixa de rede faz com que os algoritmos existentes precisem ser reprojetados;

• A carga distribuída em uma rede com elementos móveis pode variar muito mais rapidamente que em uma rede fixa;

• A localização de um elemento móvel na rede implica em um aumento no custo de cada comunicação;

• Estruturas de dados e algoritmos são necessários para manter a localização dos clientes móveis atualizada;

• A largura de banda, a latência da comunicação e a confiabilidade dos elementos móveis podem variar muito;

(28)

• O número de serviços disponíveis de um elemento móvel podem variar de um local para outro.

A mobilidade entre as células pode acarretar em interferência ou interrupção da comunicação, assim como largura de banda reduzida podendo ocasionar várias restrições na qualidade da transmissão dos dados (SONG. et al, 1999).

2.5.2. Portabilidade

Dentre todas as vantagens que um dispositivo móvel possui, ele ainda não atende aos desejos de seus usuários, pois para eles ele deveria ser pequeno, pesar pouco, ser durável, resistente à água e ter uma bateria de vida longa. Alguns problemas são solucionados, mas outros não, como a bateria por exemplo, já que o dispositivo deve ser leve.

Segundo FORMAN & ZAHORJAN (1994) quatro problemas ainda são enfrentados devido à portabilidade do dispositivo, são eles:

• Pouca Bateria;

• Pouca Segurança da Informação; • Pequena Interface com o Usuário e; • Pouca Capacidade de Armazenamento.

(29)

2.5.2.1. Pouca Bateria

A bateria é a única fonte de energia para o dispositivo móvel e é também o que mais pesa para ele. Uma solução que vem sendo estudada é o consumo menor de energia das funções executadas pelo dispositivo. Vários fabricantes vêm desenvolvendo projetos na arquitetura dos dispositivos para que consumam menos bateria. A bateria pode ser conservada não somente pela arquitetura, mas também por um software mais eficiente.

2.5.2.2. Falta de Segurança na Informação

Os computadores portáteis possuem riscos de danos físicos, de acesso desautorizado, de perda e de roubo, isto pode acarretar na perca de privacidade, pela violação de dados pessoais bem como a perca total dos dados. Esses riscos podem ser reduzidos quando o dispositivo serve apenas como intermediador da comunicação e atualização dos dados armazenados que ficam em um servidor fixo e seguro. E para impedir a divulgação não autorizada da informação contida em um dispositivo roubado ou perdido, os dados armazenados no disco ou em cartões de memória são criptografados. Só que para isso ter efeito, os usuários não podem deixar sessões autenticadas abertas. Em redes wireless sistemas de replicação resolvem o problema de backup em computadores remotos, conservando a informação segura.

2.5.2.3. Pequena Interface com o Usuário

O tamanho de um dispositivo portátil limita muito a interface com o usuário, as tecnologias de janelas dos softwares atuais é inadequada devido ao tamanho da tela.

(30)

Barras de tarefas ou títulos ocupam muito espaço na tela e por isso são consideradas desnecessárias. Várias maneiras de aumentar a interface ou pelo menos dar a impressão que ela foi aumentada estão sendo estudadas.

Técnicas de reconhecimento da escrita e da fala são englobadas ao dispositivo com o intuito de diminuir o tamanho e aumentar a durabilidade.

2.5.2.4. Pouca Capacidade de Armazenamento

A capacidade de armazenamento em um dispositivo móvel é limitada por exigências físicas de tamanho e bateria. Embora os computadores em rede de hoje possuam paginação remota, confiar na rede não é muito aconselhável para um dispositivo móvel susceptível a desconexões regulares.

2.5.3. Adaptação

Todas as circunstâncias de um usuário móvel mudam constantemente devido a sua locomoção no ambiente, para que as unidades móveis funcionem com sucesso é necessário que estas unidades sejam adaptativas. STAYANARAYANAN (1996) define uma faixa de estratégias para adaptação delimitada por dois extremos, Laissez-Faire e

Application-Transparent.

2.5.4. Desconexão

Os sistemas computadorizados de hoje dependem muito da rede a qual estão ligados, podendo até parar de funcionar caso ocorram falhas na rede. A falha na rede é de um interesse muito maior na computação móvel já que a comunicação sem fio é

(31)

muito susceptível a desconexão. Considera-se então o melhor computador móvel aquele que tolera as desconexões à rede (FORMAN & ZAHORJAN, 1994).

Segundo PITOURA & SAMARAS (1998), as operações de desconexão envolvem três estados distintos, como visto na Figura 3:

• Hoarding: carregamento de itens na unidade móvel. Os dados podem ser replicados ou movidos a um cachê local, podendo ficar inacessíveis a outros membros da rede;

• Operações Locais: período em que o dispositivo está desconectado da rede fixa podendo realizar operações apenas dos dados que possue em memória, isso ocorre após o hoarding. Caso os dados necessários não estejam disponíveis, é criada uma fila para execução de operações futuras que ocorrerão na próxima conexão à rede;

• Reconciliação: durante a reconexão os dados são atualizados na unidade fixa conforme as informações provenientes dos dispositivos conectados.

Uma situação de atualização concorrente entra em funcionamento e deve ser tratada por uma semântica correta para que não ocorra inconsistência nos dados atualizados.

(32)

FIGURA 3 – Estados de uma operação de desconexão.

Fonte: (PITOURA & SAMARAS, 1998).

Na comunicação sem fio as desconexões podem ser caracterizadas de formas diferentes. As desconexões podem ser voluntárias ou forçadas. Nas desconexões voluntárias o usuário ou dispositivo é quem desliga a conexão com o propósito de diminuir o custo da tarifa, o consumo de energia ou a largura de banda. Na desconexão forçada o usuário não pretendia desligar a conexão, mas ela acontece espontaneamente por motivo de cobertura na área ou falta de sinal no local em que se encontra (MATEUS & LOUREIRO, 1998).

2.6. Modelos Computacionais Móveis

2.6.1. Modelo Cliente/Servidor

Segundo SATYANARAYANAN (1996), são chamadas de aplicações clientes àqueles sistemas computacionais que solicitam serviços para uma aplicação que está

Hoarding

Reintegração Operações locais

(33)

sendo executada em outro lugar ou sistema operacional. Parte da comunicação é feita por cabos fixos e na parte restante a comunicação é estabelecida por sinais de rádio, ou seja, sem fio algum (Figura 4).

FIGURA 4 – Modelo Cliente/Servidor.

Fonte: CUNHA (2003).

O dispositivo móvel faz o papel de cliente, enquanto o dispositivo fixo trabalha como servidor. Podem existir vários servidores com funcionalidades distintas, dando maior disponibilidade dos dados aos clientes.

Para MATEUS & LOUREIRO (1998) o modelo tradicional Cliente/Servidor não atende a todos os requisitos necessários da computação móvel, por isso duas extensões do modelo são discutidas a seguir: o Modelo Cliente/Agente/Servidor e o modelo Cliente/Interceptador/Servidor.

2.6.1.1. Modelo Cliente/Agente/Servidor

Este é um modelo onde existem três partes: o cliente, que representa o computador móvel, o servidor que é a estação na rede fixa e o agente que fica na rede fixa e age em função do cliente (Figura 5). O agente simula a presença do cliente na

Aplicação cliente Aplicação servidora Unidade fixa Unidade móvel Enlace sem fio Rede fixa Rede sem fio

(34)

rede fixa aliviando o impacto das falhas na comunicação, ele provê facilidades para enfileirar mensagens a serem trocadas com o cliente móvel. O tempo de resposta entre operações remotas pode diminuir, já que a carga de trabalho do servidor é menor.

Alguns problemas são encontrados nesse modelo; a necessidade de mudança do cliente para comunicação com o agente e não mais com o servidor é um deles, outro pode ser levantado no sentido de otimização, já que o agente otimiza a transmissão de dados para o cliente móvel e não no sentido contrário.

FIGURA 5 – Modelo Cliente/Agente/Servidor.

Fonte: CUNHA (2003).

2.6.1.2. Modelo Cliente/Interceptador/Servidor

Nesse modelo existem dois agentes, um fica na parte da rede fixa e outro na parte móvel (Figura 6). Esses dois novos elementos são chamados de interceptadores ao invés de agentes. O interceptador do lado do cliente intercepta chamadas do cliente e junto com o outro interceptador executa otimizações para reduzir a comunicação no lado sem fio e tentar manter a computação do cliente móvel sem interrupções.

Aplicação cliente Aplicação servidora Enlace sem fio Unidade fixa Unidade móvel Agente Rede fixa Rede sem fio

(35)

FIGURA 6 – Modelo Cliente/Interceptador/Servidor.

Fonte: CUNHA (2003).

2.6.2. Modelo Peer-to-Peer

Neste modelo não existe distinção entre estações clientes e estações servidoras, todas podem desempenhar tanto um papel como o outro. Esse modelo na computação móvel faz com que os computadores tornem-se parceiros idênticos numa computação distribuída (MATEUS & LOUREIRO, 1998).

2.6.3. Modelo de Agentes Móveis

Esse modelo trata a questão da mobilidade mais naturalmente podendo executar um trabalho desconectado. Os agentes, descritos por PITOURA & SAMARAS (1998), têm a capacidade de executar funções remotamente, sendo constituídos por instruções, dados e um estado próprio. Além disso, possuem alguns aspectos que tornam viáveis a execução de transações em ambientes móveis, tais como:

• Os agentes são tratados como objetos, quando ele é tranferido todo o objeto é movido; Aplicação cliente Aplicação servidora Enlace sem fio Unidade fixa Unidade móvel Interceptador Interceptador Rede fixa Rede sem fio

(36)

• O agente móvel não precisa ser executado de modo síncrono;

• Os agentes móveis ou objetos locais comunicam-se e trocam informações entre si;

• Os agentes móveis podem executar operações mesmo estando desconectados; • Tarefas em paralelo podem ser executadas por agentes distintos em diferentes

(37)

CAPÍTULO III

3. BANCO DE DADOS MÓVEIS

A computação móvel está sendo utilizada nas mais diversas áreas de negócio, incluindo a área de vendas, de empresas imobiliárias, empresas aéreas, de controle de informação de trânsito e várias outras, principalmente nas grandes cidades.

Para que a mobilidade tenha efeito vantajoso existe a necessidade da utilização de banco de dados para controle e armazenamento da informação. Um SGBD (Sistema Gerenciador de Banco de Dados) tem como objetivo propiciar um ambiente conveniente e eficiente para recuperação e armazenamento da informação (SILBERSCHATZ et al, 1999).

As aplicações que rodam em clientes móveis se conectam freqüentemente a repositórios de dados remotos carregando somente as informações necessárias. Para isso é necessário que o banco de dados tenha a capacidade de carregar as informações do repositório e trabalhar com essa informação mesmo estando desconectado ou fora do alcance do repositório. As informações atualizadas no cliente móvel enquanto ele estava desconectado serão atualizadas na sua próxima conexão (BADRINATH & PHATAK, 1995).

(38)

3.1. Características dos Bancos de Dados Móveis

3.1.1. Caching

O mecanismo de caching é utilizado para otimizar o tempo de resposta nas consultas da computação móvel e dar suporte quando a unidade móvel estiver desconcetada.

Para que o mecanismo de caching atinja um bom resultado é necessário que estejam definidas as estruturas de dados e as estratégias de gerenciamento do caching consideradas as características de cada aplicação e o padrão de acesso aos dados (FERREIRA & FINGER, 2000).

As operações sobre os dados podem ser divididas em três categorias segundo DENARDI (2003):

• Dados somente para consulta: os dados não podem ser atualizados localmente e conseqüentemente eles não são reintegrados em uma futura conexão ao banco de dados remoto.

• Dados não concorrentes: atualizações locais podem ser feitas, mas os dados replicados ficam bloqueados no servidor, evitando atualizações conflitantes. • Dados concorrentes: os dados replicados podem ser alterados tanto no servidor

como no cache. Para que não ocorram conflitos o cache deve armazenar informações sobre atualizações ocorridas para tomada de decisões.

(39)

3.1.2.Replicação

O sistema mantém cópias idênticas das relações inteiras ou partes dela que são chamadas de réplicas e podem ser armazenadas em diversos pontos da rede.

Como na computação móvel as conexões podem ser raras, fracas e sem aviso prévio, o computador móvel tem a necessidade de armazenar uma cópia local dos dados necessários a fim de diminuir o custo com novas consultas e facilitar o trabalho em modo desconectado (LUBINSKI & HEUER, 2000).

A replicação de dados é um dos problemas-chave em sistemas de computação móvel. Um tratamento aplicável de replicação precisa de soluções novas que os protocolos de replicação existentes não oferecem. Os sistemas atualmente em uso em ambientes móveis sobrecarregam o usuário com a manutenção e consistência dos dados replicados (LUBINSKI & HEUER, 2000).

Alguns requisitos precisam ser atingidos nas técnicas de replicação de dados, segundo LUBINSKI & HEUER (2000):

• Alta disponibilidade de dados no dispositivo móvel, com o intuito de atingir custos baixos e uma consistência de dados aceitável;

• Uso de informação de contexto semântico sobre o usuário, atributos da aplicação e dos dados

(40)

3.1.3.Difusão de Dados

A difusão de dados, segundo BARBARÁ (1999), é a entrega de informações de um conjunto de provedores para um grande número de clientes. Este processo de entrega de informação é caracterizado pela assimetria nas comunicações. A largura de banda é maior no sentido servidor-cliente do que no sentido cliente-servidor. Quando um servidor recebe um pedido de dados ele localiza-o e retorna para o cliente os dados, este modelo é chamado de pull-based. Quando a entrega dos dados é feita repetidamente pelo servidor a um conjunto de clientes está se usando o modelo push-based. Neste modelo o grande problema enfrentado é a decisão sobre quais itens de dados devem ser disseminados.

3.2. Transações Móveis

Transação é uma coleção de operações que desempenham uma função lógica dentro de uma aplicação do sistema de banco de dados. Cada transação é uma unidade de atomicidade e consistência. As transações não devem violar nenhuma regra de consistência no banco de dados. Portanto, o banco de dados que estava consistente antes do início da transação deve permanecer consistente após o término da transação. No entanto, durante a execução de uma transação, há a necessidade de aceitar inconsistências temporárias. Estas inconsistências, embora necessárias, podem gerar problemas caso ocorra uma falha (SILBERSCHATZ et al, 1999).

(41)

3.2.1. Propriedades das Transações Móveis

Para garantir que uma transação seja confiável e consistente e assegurar a integridade dos dados, o sistema de banco de dados deve manter as propriedades de atomicidade, consistência, isolamento e durabilidade que serão apresentadas a seguir.

3.2.1.1. Atomicidade

A transação deve ser atômica, ou seja, ela deve ser executada por completo, ou será totalmente desfeita (SILBERSCHATZ et al, 1999). No caso de ocorrer qualquer interrupção na execução da transação, é de responsabilidade do sistema gerenciador de banco de dados determinar o que deve ser feito com a mesma ao se recuperar a falha. O sistema de banco de dados mantém registrado os valores dos dados antes do início da transação e só apaga essa cópia quando a transação for considerada confirmada. Caso contrário, estes valores poderão ser restabelecidos.

Comumente, há dois tipos de falhas. O primeiro é quando uma falha ocorre por erros nos dados de entrada, impasses ou alguma razão que impediria de concluir sua tarefa com sucesso. No caso desta falha o aborto da transação pode ser executado pela própria transação ou ainda pelo sistema gerenciador de banco de dados (SGBD), caracterizando a recuperação de transações. O segundo tipo está ligado a quedas no sistema, falhas de processadores, interrupções no canal de comunicação e assim por diante. Este tipo de falha é involuntário à transação. A principal diferença entre esta falha e a anterior, é que esta pode estar com dados ainda em memória volátil, o que provocaria a perda dos dados.

(42)

3.2.1.2. Consistência

A consistência de uma transação é o banco de dados estar em um estado consistente antes do início da transação a após o término da mesma continuar consistente.

Segundo ÖZSU & VALDURIEZ (2001), existe uma classificação quanto aos dados sujos (valores de dados atualizados por uma transação mas ainda não confirmados), em quatro graus de consistência:

• Transação com consistência de grau 3:

1ª consideração – a transação não sobrescreve dados sujos de outras transações;

2ª consideração – a transação não consolida nenhuma gravação até concluir todas as gravações, ou seja, até o final da transação completa;

3ª consideração – a transação não lê dados sujos de outras transações;

4ª consideração – outras transações não sujam quaisquer dados lidos por esta transação até que esta seja executada por completo.

• Transação com consistência de grau 2: deve verificar as três primeiras considerações acima citadas no grau 3.

• Transação com consistência de grau 1: deve verificar as duas primeiras considerações citadas no grau 3.

• Transação com consistência de grau 0: deve verificar a primeira consideração citada no grau 3.

Com estes graus de consistência é possível projetar aplicativos mais flexíveis e que possam utilizar transações que operem em níveis diferentes.

(43)

3.2.1.3. Isolamento

O isolamento de uma transação garante que nenhuma outra transação visualize seus resultados antes desta estar completa. O isolamento é um dos fatores mais importantes para a manutenção da consistência entre as transações.

Considerando os graus de consistência vistos anteriormente, verifica-se que quanto maior o grau de consistência maior deve ser o grau de isolamento. O isolamento das transações permite que haja execução concorrente, ou seja, mais que uma transação sendo executada simultaneamente.

Os níveis de isolamento são definidos segundo seu fenômeno (ÖSZU & VALDURIEZ, 2001):

• Dados sujos: dados com valores já modificados por uma transação, mas não efetivados ainda.

• Leitura não repetível ou leitura vaga: uma transação lê o valor de um item de dados. Logo após outra transação elimina este item de dado e efetiva a transação. Quando a primeira transação volta a ler o mesmo item e não o encontra acaba gerando dois valores de leitura dentro de uma mesma transação. • Fantasma: uma transação pesquisa em certos itens de dados, seguindo um

critério para a pesquisa, mas outra transação insere novas tuplas após essa pesquisa. No momento em que a primeira transação pesquisa novemente haverá mais dados que serão diferentes dos recuperados.

(44)

3.2.1.4. Durabilidade

Esta propriedade da transação garante que, uma vez executada e consolidada a transação, seus resultados se tornem permanentes no banco de dados. Com isso, está assegurado a permanência destes dados no banco, mesmo se ocorrerem falhas no sistema.

3.3. Modelos de Transações Móveis

Segundo DUNHAM & KUMAR (1998) no passado pesquisadores tem endereçado os problemas de processamento de informação móvel e nós classificamos os aproximadores como reestruturação das transações ACID para processamento de informação móvel e desenvolver um novo modelo de transação. Serão mostrados alguns modelos de transações móveis.

Transação Kangaroo: é o primeiro e o único em redes móveis que inclui

movimento em sua estratégia de execução. O modelo é construido assumindo um multi banco de dados onde o gerenciamento da transação é sempre desempenhado pela estação base. Como a unidade móvel se movimenta, então o gerenciamento da transação também se move. Cada transação é divida em subtransações que são executadas independentemente do sistema de banco de dados da rede fixa.

Reporting e Co-transação: a origem das transações é representada em termos

de reporting, que pode compartilhar seu resultado parcial com a transação de origem a qualquer hora e pode realizar a operação commint independentemente, e co-transações, que é uma classe especial da transação de reporting, na qual pode ser forçada a esperar por outras transações, depois de entregar seu resultado pode continuar a executar outras

(45)

operações. Essas duas transações podem ser executadas tranto na estação base como na unidade móvel.

Clustering: assume um sistema totalmente distribuido, e é designado para

manter a consistência do banco de dados. O banco de dados é divido em cluster, e um segundo nível de consistência dos dados é definido e mantido. Nesse modelo, uma transação móvel é decomposta em um conjunto de transações fracas e completas. As operações de leitura e escrita também são classificadas como fracas e completas. As operações fracas são permitidas para acessar enquanto desconectadas. A transação pode acessar ou atualizar dados na unidade móvel e pode se tornar inconsistente com os dados da rede fixa.

Semantics Based: assume o processamento de uma transação móvel como um

problema de conexão e concorrência, podendo ter longos atrasos no processamento de dados, bem como, desconexões. Essa abordagem utiliza a organização dos objetos para dividir grandes e complexos objetos em pequenos fragmentos. O servidor do banco de dados disponibiliza os fragmentos a pedido de uma unidade móvel. Para completar a transação, a unidade móvel retorna os fragmentos para o servidor.

MDSTPM: é assumido que um Multidatabase Transaction Processing Manager

(MDSTPM) em cada unidade móvel. Cada componente do sistema de banco de dados é responsável pelo gerenciamento das transações locais. Para facilitar a execução de transações globais, uma camada de software adicional pode ser implementada, permitindo o gerenciamento e coordenação de transações através dos múltiplos componentes do sistema de gerenciamento (YEO & ZASLAVSKY, 1994).

(46)

3.4. Processamento de Consultas

Para se realizar uma consulta móvel, dependendo do caso, é necessário se ter a localização exata da unidade. Podemos utilizar o GPS para consulta da localização, ou através de uma triangulação das antenas que captam o sinal.

Como NASSU & FINGER (2000) disseram, quando um usuário faz uma consulta diversos fatores contribuem no tempo de resposta do sistema, tais como:

• O tempo de transmissão de dados pode ser alto. A baixa taxa de transmissão dos meios sem fio, a baixa confiabilidade, que pode gerar retransmissões freqüentes, influem nesse tempo.

• A execução da consulta ao banco de dados pode ser demorada, principalmente no caso em que as cidades são grandes, com grande número de ruas e

informações. O grande uso de forma concorrente também pode retardar o tempo de resposta do banco de dados.

• O usuário pode estar desconectado da rede, por vontade própria ou não. O tempo de desconexão pode ser longo e a resposta pode demorar mais para chegar ao usuário que a solicitou.

A localização dos dados no processamento das consultas pode incluir dados transientes, que trocam de valores de acordo com o processamento das consultas, e dados contínuos, que são continuamente atualizados durante o movimento da unidade móvel.

Em computação móvel, uma unidade móvel esta em constantes mudanças de lugar. A localização depende dos dados existentes e o conjunto de dados e seus valores são ligados com uma localização particular, onde respostas para consultas dependem de

(47)

onde são originadas. Então dependendo do lugar da consulta eu teria um resultado diferente de uma consulta realizada em outro lugar.

Vários fatores são responsáveis pela posição do usuário após a consulta: • Velocidade

• Aceleração

• Tipo de movimento, como uniforme, uniformimente variado, etc • Direção

• Sentido • Trajetória

• Tempo de processamento de consulta, demora na transmissão de dados, desconexões ou quedas de sinal.

3.5. Recuperação de Falhas

É um processo responsável a preservar a consistência do banco de dados após falhas do sistema, de transações ou de meios de comunicação.

Em sistemas distribuídos a recuperação de falhas é baseada em pontos de recuperação, conhecidos como checkpoints. No caso de falhas e desconexões, a aplicação usa o último checkpoint, salvo para reiniciar sua execução (PITOURA & SAMARAS, 1998).

A unidade móvel deve estar sempre informada sobre qual célula se encontra e quando o sistema entrará em modo de desconexão, pois ela é responsável por gerar um checkpoint caso mude de célula ou haja uma desconexão. Um checkpoint global consiste de um conjunto de checkpoints locais. Os estados globais são armazenados e usados pelo protocolo para recuperar falhas das aplicações. Um estado global inclui o

(48)

estado de cada processo que faz parte da aplicação distribuída e possivelmente algumas mensagens. Para uma recuperação correta, o protocolo pode salvar um estado consistente global.

De acordo com (NEVES & FUCHS, 1997), os protocolos checkpoint são classificados em duas categorias:

• Protocolos coordenados: a criação dos checkpoints é realizada em modo conectado, para garantir a consistência e recuperabilidade do checkpoint global. O protocolo requer o envio de mensagens para diferentes unidades móveis, para que ocorra a sincronização no processo de checkpoint, e as vezes pode ocorrer problema de desconexão.

• Protocolos não coordenados: permitem a criação de checkpoints independentes, sem a necessidade de comunicação, desse modo, o processo pode continuar durante as desconexões. No entanto, mensagens precisam ser trocadas durante a recuperação para localizar o checkpoint global, exigindo a coleta de informações sobre outras unidades móveis.

Devido às características como mobilidade, baixa largura de banda e desconexões, protocolos coordenados e não coordenados são considerados inadequados para o ambiente móvel (PITOURA & SAMARAS, 1998).

NEVES & FUCHS (1997) propõem um novo tipo de protocolo que armazena o estado global sem troca de mensagens. Durante a execução da aplicação, o protocolo mantém o estado global em um local fixo para recuperar falhas permanentes, falhas de hardware, e outro em unidades móveis para recuperar falhas temporárias, falhas de software.

(49)

Algumas características de um esquema de checkpoint em um ambiente móvel são analisadas a seguir.

3.5.1. Localização

Para que exista a comunicação entre a rede fixa e a unidade móvel, é necessário saber a localização exata desta última. A localização de uma unidade móvel dentro de uma rede fixa não é constante devido a sua mobilidade. Uma unidade móvel precisa ser localizada para depois determinar seu checkpoint. O protocolo pode também manter a trilha dos lugares onde o estado do processo foi salvo.

3.5.2. Desconexão

Uma unidade móvel é dita desconectada quando esta fora da faixa de transmissão dos emissores. Durante a desconexão, todas as informações armazenadas em sites remotos não estão acessíveis às unidades móveis. Desta forma, uma unidade móvel fica impossibilitada de enviar ou receber mensagens.

3.5.3. Energia

Devido às restrições oferecidas pelo tempo das baterias utilizadas pelos dispositivos móveis o consumo das mesmas deve ser reduzido. O protocolo checkpoint tem a função de reduzir a quantidade de informações que são adicionadas para as mensagens e evitar o envio de mensagens extras, realizando o menos número possível de acessos ao servidor.

(50)

3.5.4. Rede

A diversidade de tecnologias utilizadas em redes wireless faz com que as características da rede não sejam constantes, tais como, custos, velocidade e latência. O protocolo checkpoint deverá se adaptar as características da rede onde está atuando.

3.5.5. Falhas

Unidades móveis podem apresentar falhas de software, que são gerenciadas por soft checkpoints e são armazenados localmente na unidade móvel, e de hardware, que são gerenciadas por hard checkpoints e são armazenados na rede fixa. O protocolo checkpoint deve fornecer mecanismos para tolerar os tipos de falhas que possam a vir ocorrer com as unidades móveis.

3.5.6. Estratégias de Recuperação

Uma estratégia de recuperação essencialmente tem dois componentes, segundo KRISHNA (1996): uma estratégia de state-saving e uma de handoff.

• State-saving – as estratégias apresentadas aqui são baseadas no tradicional checkpointing e técnicas de message-logging. Nessas estratégias o host

periodicamente salva o estado em um lugar seguro. Então, numa falha do host, a execução pode ser recomeçada do último checkpoint salvo. Duas estratégias de recuperação salvando o estado do processo serão discutidas aqui:

o No Logging: o estado do processo pode ser alterado, tanto na recepção de mensagem de outro host, ou tanto na entrada de dados pelo usuário. As mensagens ou as entradas de dados que alteram o estado são

(51)

chamados eventos de escrita. Num acesso No Logging o estado de um dipositivo móvel é salvo num servidor toda vez que ocorre um evento de escrita no dispositivo móvel. Depois de uma falha, quando o dispositivo móvel reinicializa, o dispositivo manda uma mensagem pro servidor, que então transfere o último estado para o dispositivo móvel. O dispositivo móvel então lê o ultimo estado e recomeça a operação. É importante salientar que a necessidade de uma freqüente transmissão do estado o link sem fio é um fator limitante para esse esquema.

o Logging: o dispositivo móvel verifca seu estado periodicamente. As mensagens e entradas de dados que modificam o estado do dispositivo móvel são armazenadas. Caso uma mensagem seja recebida de outro usuário, a estação base primeiro a loga, e depois a envia para o dispositivo móvel, para ser executada. Em uma entrada de dados pelo usuário, o dispositivo primeiro envia uma cópia para a estação base para logging e depois do reconhecimento do dispositivo móvel, processa a entrada e envia uma resposta ao usuário. Este procedimento garante que as mensagens ou entradas do usuário não sejam perdidas devido às falhas que possam ocorrer.

• Handoff – um grande problema para a recuperação de dados é a mobilidade de estações móveis de célula, não sendo possível à definição exata de sua

localização. A figura 7 representa a execução de um handoff. Os dispositivos móveis 1 e 2 executam algoritmo distribuído.

(52)

FIGURA7 - Handoff – Estratégia de Recuperação

Na execução de um handoff, a estação base 2 armazena o checkpoint e as mensagens de log do dispositivo móvel 2. Durante a execução, o dispositivo móvel 2 se desloca para a célula da estação 3, e depois para a célula da estação 4. O processo de handoff ocorre entre os limites das estações 2 e 3, e entre as estações 3 e 4. Se uma falha ocorrer entre o dispositivo móvel 2 até sua chegada na estação 4, as informações poderão ser recuperadas devido ao seu armazenamento na estação 2. Caso este processo não seja realizado, isto é, as informações não sejam armazenadas, a estação base onde se encontra o dispositivo móvel deverá identificar onde o checkpoint foi salvo. Este procedimento poderá ser baseado em uma transferência durante o processo de handoff sobre o estado do dispositivo móvel.

Existem três modos de transferir informações durante o handoff: pessimistic, lazy, trickle. Estação Base 4 Estação Base 3 Estação Base 2 Estação Base 1 Estação Base 5 Disp Móvel 1 Disp Móvel 2 Disp Móvel 2 Disp Móvel 2 Rede Fixa

(53)

Pessimistic: em um deslocamento de um dispositivo móvel de uma célula para outra, o checkpoint é transferido durante o handoff. Caso a estratégia de logging esteja sendo usada, a mensagem de log é transferida juntamente para a nova célula da estação base. Uma vez recebido o checkpoint ou o log, a estação base envia um reconhecimento para a estação anterior e esta cancela as informações, desde que a unidade móvel não esteja mais em sua célula. A principal desvantagem ;e que esta aproximação requer que um grande volume de dados seja transferido durante o handoff.

Lazy: durante o handoff não há transferência de log e checkpoint. A estratégia cria uma lista de estações base de células visitadas por um dispositivo móvel que pode utilizar as estratégias de logging e not-logging descritas anteriormente. A desvantagem desta estratégia é o armazenamento de checkpoints e logs em diferentes estações base.

Tricle: garante que logs e checkpoint correspondentes a um dispositivo móvel, estejam sempre na estação base mais próxima. Durante o handoff, uma mensagem é enviada para a estação precedente para transferir qualquer log ou checkpoint que tenha sido armazenado em um dispositivo móvel. Semelhante à estratégia Lazy, a estação base corrente envia uma mensagem de controle para a nova célula da estação base, identificando a localização da célula do dispositivo móvel, que grava a autenticação do dispositivo móvel precedente.

(54)

CAPÍTULO IV

4. TECNOLOGIAS DE SINCRONIZAÇÃO

Para BADRINATH & PHATAK (2001) a sincronização em ambientes móveis pode ser definida como o ato de estabelecer equivalência entre duas coleções de dados, entre cliente e servidor, após a ocorrência de alteração nos registros armazenados. Depois de sincronização de dados cada elemento de dados em uma coleção é mapeado por um elemento de dados em outra, sendo que seus dados são equivalentes, entretanto não necessariamente idênticos.

4.1. Tipos de Sincronização

4.1.1. One-Way

A sincronização One-Way compreende a transferência de atualizações de dados em sentido único (PALAZZO & PULIOFITO, 2000). Após um dispositivo estabelecer conexão com outro ele indica todas as alterações realizadas localmente. Após a transmissão, os dados são aplicados no banco de dados do receptor. O dispositivo receptor não recebe nenhuma mensagem de aceite ou erro na efetivação das requisições ao banco de dados.

O plano One-Way pode ser aplicado de duas formas: no sentido cliente/servidor ou ao contrário.

(55)

a) One-Way Cliente/Servidor

Nesse tipo de sincronização o cliente é responsável por inicia-la e submeter todas as modificações ao servidor, mas o servidor não retorna o resultado final das ações realizadas no banco de dados.

b) One-Way Servidor/Cliente

O servidor que inicia a transmissão, que conecta-se com o cliente e submete todos os dados atualizados no banco de dados consolidado . Após terminar a transferência, o cliente possui a versão atualizada de todos registros do banco de dados do servidor. O servidor não captura nenhuma alteração feita pelo cliente.

4.1.2. Two-Way

A transmissão das modificações ocorre nos dois sentidos, tanto do cliente como do servidor. A sincronização é iniciada pelo cliente. O servidor identifica e trata os conflitos existentes retornando ao cliente os dados corretos. No final, o cliente e o servidor possuem os mesmos dados.

4.2. Protocolos de Sincronização

Um protocolo de sincronização define o fluxo de trabalho para a comunicação durante uma seção de sincronização de dados quando o dispositivo móvel é conectado à rede fixa. Para BREITBART, KOMONDOOR, RASTOGI (1999), deve dar suporte a identificação de registros, comandos de protocolo comuns para sincronização de dados local e de rede, e poder apoiar a identificação e resolução de conflitos de sincronização.

(56)

Atualmente diversos fabricantes oferecem uma variedade de produtos de sincronização de dados. Cada protocolo funciona apenas para transportes específicos implementados para alguns dispositivos. A proliferação de tecnologias de sincronização complica as tarefas de usuários, fabricantes de dispositivos, provedores de serviços e desenvolvedores de aplicações. A falta de um protocolo de sincronização de dados comum impede o crescimento do uso de dispositivos móveis, restringindo a habilidade de usuários para ter acesso dados e limitando a entrega de operações realizadas sobre dados móveis. Todos os protocolos tendem a alcançar o pentágono, Figura 8, mas nenhum protocolo estudado alcança tal objetivo.

FIGURA 8 – O Pentágono da Sincronização em Ambientes Móveis

A sincronização entre dispositivos móveis é determinada por uma variedade de fatores, incluindo a latência da sincronização, a quantidade de bateria utilizada, o custo monetário envolvido (conexão a rede, tempo, etc.), a robustez e a confiabilidade da rotina de sincronização. Um bom protocolo de sincronização é aquele que tende a estas direções.

Os dispositivos móveis são limitados na comunicação devido às ligações de rede que os conectam, possuem poderes computacionais limitados, memória e bateria

Volume de dados transmitido Tamanho da rede Memória Ponto central de falha Computação

(57)

limitadas. Os vértices do Pentágono, Figura 8, representam a escalabilidade da sincronização em dispositivos móveis. A computação e a comunicação têm ligação direta com a latência e utilização da bateria. A memória dos dispositivos móveis é limitada e nenhum protocolo que consumir muita memória será apropriado. Ao mesmo tempo, nós desejamos desenvolver protocolos que permitam que um grande número dispositivos na rede sincronizem entre si, que sejam robustos e preferivelmente peer-to-peer em vez do centralizado, mantendo-se na linha com a natureza de redes ad-hoc .

Aplicações que reconciliam e solucionam mudanças em dados entre duas fontes distintas são amplamente utilizadas por empresas de geração de softwares para sistemas móveis. Porém, o mercado de sincronização atual consiste em soluções proprietárias múltiplas, que não satisfazem todo o espectro de funcionalidades e o suporte requerido aos dispositivos pela maioria das organizações. Muitas organizações não estão dispostas a desenvolver múltiplos canais e a implementar várias soluções de sincronização para permitir o acesso de múltiplos dispositivos a um único banco de dados devido à complexidade e o custo de manutenção requerido.

4.2.1. Hotsync

Dispositivos Palm rodam na plataforma Palm Operating System que fornece o protocolo HotSync para sincronizar os bancos de dados do Palm com o do micro Desktop. O HotSync (PALMOS) opera em dois modos, dependendo do histórico de sincronização do dispositivo com o micro computador em particular.

O FastSync ocorre quando o dispositivo sincroniza com o mesmo micro computador que sincronizou pela última vez. Neste caso o dispositivo sincroniza processando os registros baseados nas flags de status de cada registro que dizem se este

(58)

foi modificado, criado ou apagado. O FastSync é a melhor opção quando a sincronização ocorre somente entre dois dispositivos, sendo que o dispositivo poderá recordar flags de status somente de um micro computador.

O Slowsync ocorre quando a condição principal do Fastsync não é encontrada. Neste caso o dispositivo transfere a base de dados inteira ao PC a ser trabalhado pela comparação. Enquanto o espaço de armazenamento do dispositivo se torna maior e as bases de dados se tornam maiores, a introdução da latência crescente envolvida em transferir a base de dados inteira do PDA ao PC para a sincronização subseqüente torna-se cada vez mais importante.

Mas pode-se dizer que com o avanço de tecnologias mais rápidas de conexão dos dispositivos móveis com os PCs e as redes sem fio cada vez mais rápidas a latência do slowsync se transforma um assunto tratável.

4.2.2. Intellisync

O Intellisync (PUMATECH), produto fabricado pela Pumatech, faz sempre a sincronização do tipo Fastsync, utilizando um servidor central com o qual os dispositivos móveis sincronizam sempre. Isto significa que todos os dispositivos sincronizados têm que manter as flags de status das atualizações com respeito somente ao usuário central, permitindo um Fastsync todas as vezes. A Figura 9 mostra uma rede típica da companhia usando a arquitetura de Intellisync.

(59)

FIGURA 9 – Servidor Intellisync

Esta arquitetura não é projetada para o caso geral onde um dispositivo pode sincronizar com outros dispositivo em uma rede do tipo peer-to-peer. No geral, uma arquitetura distribuída baseada na sincronização do tipo peer-to-peer fornece o desempenho muito melhor da rede, nos termos de robustez e escalabilidade, do que uma rede centralizada.

4.2.3. SyncML

SyncML , segundo SYNCML (2002) é uma iniciativa da indústria aberta suportada por muitas companhias, incluindo Ericsson, IBM, Lótus, Matsushita, Motorola, Nokia, OpenWare e Starfish.

Pode ser considerada como uma linguagem padrão para sincronizar diferentes dispositivos e aplicações sobre qualquer rede. Com o SyncML qualquer tipo de informação pode ser sincronizada para manter a informação consistente e atualizada, não importando a localização do dispositivo e da rede.

(60)

O protocolo possui as seguintes características:

• Opera efecientemente sobre redes wireless e com fios.

• Suporta uma variedade de protocolos de transporte, como HTTP, WSP, OBEX, redes TCP/IP, SMTP, POP3, IMAP, e protocolos proprietários.

• Acesso a dados de uma variedade de aplicações.

A figura 10 mostra o SyncML framework. Este framework ajuda na análise de implementação de um modelo de sistema associado com a implementação do SyncML. Os blocos maiores desse framework é a representação do protocolo SyncML, conceitual adaptador SyncML e a interface SyncML. O protocolo de sincronização de dados SyncML está fora do framework SyncML para manter o framework de fácil implementação e atividade conjunta.

Referências

Documentos relacionados

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

Pode acontecer que outros já fizeram a mesma operação, com a mesma maneira de fazer, ou já viram em outro lugar, mas verão que estou fazendo e fotografando da minha maneira, e

O padre veio para eles e abraçou-se também, subitamente perturbado por uma analogia, assim dissera o italiano, Deus ele próprio, Baltasar seu filho, Blimunda

Os elementos caracterizadores da obra são: a presença constante de componentes da tragédia clássica e o fatalismo, onde o destino acompanha todos os momentos das vidas das

Telmo reage com espanto/admiração e de seguida interroga o Romeiro sobre o porquê de Deus não o poder ouvir, visto que Telmo naquele momento temia pela vida de

НН Сотрудничайте с AGC на более выгодных условиях - ПРАЙС-ЛИСТ на автомобильное стекло AGC Automotive выберите для себя лучший ПАКЕТ УСЛУГ!. Вид

Treinamento é qualquer atividade que contribua para tornar uma pessoa apta a exercer sua função ou atividade, aumentar sua capacidade para suas funções atuais ou

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá