WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
|
Pesquisa
e Projeto de uma Aplicação em Computação Móvel para |
||
Autora: Líliam Carla Gaiotto Maluta |
Capítulo 2
Computação
Móvel
Computação móvel, ubíqua ou nômade, representa um novo paradigma de computação distribuída que tem por objetivo fornecer ao usuário móvel, acesso permanente a uma rede fixa ou móvel, mesmo quando em movimento. Este sistema de computação tende a ser composto por dispositivos heterogêneos, fixos e móveis, conectados através de diferentes tecnologias de rede.
Este paradigma permite que um usuário acesse informações, aplicações e serviços a partir de qualquer lugar e instante, através de um dispositivo portátil com capacidade de processamento. A mobilidade inerente a esta infra-estrutura de comunicação sem fio e a portabilidade dos dispositivos provocam um grande impacto no projeto e desenvolvimento de software, havendo a necessidade de mecanismos que permitam adaptações às mudanças no ambiente e à disponibilidade de recursos. Além disso, aplicações devem ser projetadas com objetivo de otimizar a energia (NAGAMUTA, 2001b, ENDLER, 2001).
2.1
Características de Sistemas de Computação Móveis
Sistemas móveis celulares apresentam características e limitações inerentes ao ambiente móvel. Os principais problemas são decorrentes da mobilidade, da interface de comunicação sem fio e da portabilidade dos dispositivos (FORMAN, 1994).
2.1.1
Mobilidade
A localização de um elemento móvel, bem como seu ponto de acesso à rede fixa é instável. Usuários podem sair da área de cobertura ou entrar em áreas de alta interferência. Conexões sem fio podem ser perdidas ou degradadas devido à mobilidade, característica responsável pelos seguintes problemas:
Algoritmos distribuídos tradicionais precisam ser reprojetados devido à topologia da rede ser dinâmica, isto é, o centro de atividades das aplicações e servidores, a carga do sistema e a noção de localidade mudam ao longo do tempo;
O custo de pesquisa para localizar um elemento móvel deve incluir o custo da comunicação;
A conectividade entre os elementos computacionais não pode ser garantida, podendo variar no que diz respeito à confiabilidade e vazão (largura de banda e latência da comunicação);
O número de dispositivos móveis numa célula muda com o tempo, variando a carga na estação base e a largura de banda disponível;
Novos algoritmos e estruturas de dados são requeridos para manter bases de informação sobre a localização de clientes móveis;
Dispositivos devem ser capazes de chavear dinamicamente entre diferentes interfaces de rede à disposição, bem como o protocolo de controle de acesso ao meio (MAC);
O grau de consistência entre cópias de arquivos no servidor e no computador móvel deve ser mantido e operações síncronas[1] devem ser minimizadas;
Dispositivos móveis requerem acesso a rede sem fio, cujo ambiente vem agregar diversos problemas à comunicação, tais como:
Alta susceptibilidade a desconexões súbitas, ocasionando falhas.
Técnicas que promovam autonomia ao
dispositivo móvel, operações assíncronas e/ou interfaces específicas,
devem ser implementadas para que
haja tolerância à faltas;
Menor largura de banda e maior latência que a comunicação com cabos;
Conexões de rede heterogêneas podendo afetar a qualidade dos serviços;
Facilidade de acesso a um link sem fio, comprometendo a segurança;
A qualidade da conexão está sujeita a variações abruptas, devido a interferências, à distância da ERB[2] e ao compartilhamento da mesma por vários elementos móveis;
Um
dispositivo móvel (celular, hand held, laptop) deve ser leve,
pequeno e fácil de carregar para que seja portável. Somando-se ao custo e
tecnologias, estas características fazem com que comportem menos recursos do
que computadores convencionais. Desta feita:
A
energia fornecida por uma bateria é um recurso limitado e seu consumo
deve ser minimizado (o estado do sistema deve ser salvo periodicamente
para prevenir uma perda no caso de falta de energia);
Sinais devem ser transmitidos com valores corretos de potência para que não
interfiram na recepção de outra estação;
São
equipados com processadores mais lentos, pouca memória RAM e não volátil;
Por não
serem robustos fica mais fácil ocorrer danos físicos, roubos ou perdas o
que pode acarretar acesso indevido aos dados nele contidos;
Possuem
dispositivos de entrada mais limitados (teclado) e interfaces apresentando
pequenos monitores, com menor capacidade.
A eficiência no atendimento de uma chamada está diretamente ligada a rápida localização do elemento móvel. A tarefa de localização e/ou atualização da posição corrente deste elemento é uma componente importante de muitos protocolos e serviços (MATEUS, 1998).
Em
ambientes móveis, o sistema monitora a mobilidade de seus usuários através
de áreas de registro de localização (LRs). A área coberta é dividida em várias
LRs, cada uma contendo uma quantidade de células. A manutenção das LRs é
feita por meio de atualização da localização e pesquisa da unidade móvel
(paging).
Mensagens de broadcast podem ser enviadas dentro de cada célula para localização da unidade móvel. Pode-se efetuar a atualização toda vez que há uma mudança de célula ou optar por não efetuá-la. Têm sido propostas várias políticas de monitoração de movimentação explorando tempo, distância percorrida e velocidade de movimentação (AHYILDIZ, 1999).
Dependendo
do sistema, esta localização pode ser executada por IP móvel (através de
mecanismos como broadcast seletivo, serviços centralizados, estação
base e forwarding pointers), pela própria infra-estrutura de comunicação
celular ou por aplicações baseadas em consultas (ENDLER, 2000b, PITTOURA,
2001).
Devido
a possível existência de variações abruptas na qualidade e disponibilidade
de recursos locais e remotos utilizados pelo elemento móvel, são necessários
mecanismos de monitoramento do ambiente de execução. Para tanto, pode-se
empregar técnicas ativas (polling[3]),
passivas (notificação de eventos[4])
ou híbridas.
SUDAME
e BADRINATH (1997) descrevem um mecanismo baseado em mensagens ICMP para
propagação de informações a respeito da condição de parâmetros do
ambiente de rede, que pode ser estendido para comportar parâmetros de computação
móvel. Ações pré-definidas de reconfiguração dos protocolos UDP e TCP são
disparadas automaticamente, assim que ocorrem notificações referentes aos
parâmetros monitorados.
Neste contexto, surge um outro componente: a descoberta de novos
recursos e serviços. JINI (2001), uma tecnologia que permite que computadores
e outros dispositivos possam formar uma rede de serviços automaticamente,
baseia-se na existência de um diretório onde estão registrados todos os
serviços e interfaces disponíveis. Um dispositivo que desejar utilizar um
determinado serviço deve procurá-lo no diretório, após o quê, carregar
sua interface.
Devido às dificuldades inerentes a um ambiente móvel, bem como dispositivos
móveis, as quais foram até um certo ponto esgotadas no decorrer deste
trabalho, conclui-se que é necessária uma política que trate o problema das
transações interrompidas devido à movimentação do usuário (handoff [5])
ou término da energia do elemento móvel e conseqüente desconexão.
Dispositivos móveis são altamente dependentes da energia fornecida pela
bateria. A energia é um recurso limitado e seu consumo deve ser
supervisionado e minimizado. Algumas atitudes já foram tomadas neste sentido,
como desligar a luz de fundo da tela, desligar o disco quando está sem uso ou
substituí-lo por memória flash.
Outras medidas que podem ser executadas compreendem a redução ou eliminação
do envio de sinais por parte do dispositivo móvel para atualização de posição,
a passagem do processador para o estado doze (dormente), onde só é
ativado quando recebe um sinal da ERB, e a interrupção da conexão mesmo com
ótimas condições de serviço. Estas propostas podem acarretar conseqüências
indesejáveis para outros elementos do sistema.
Dentre os diversos tipos de modelos existentes em sistemas distribuídos são três os normalmente utilizados pelas aplicações móveis, os quais são discutidos a seguir.
Uma
maneira de verificar o impacto da computação móvel é examinar os efeitos
verificados no modelo cliente-servidor. Neste modelo, o servidor é
caracterizado por uma aplicação geralmente localizada na rede fixa, responsável
por prover suporte às solicitações de aplicações clientes. Normalmente
servidores de dados, oferecem acesso seguro e eficiente através de técnicas
como cache, autenticação fim a fim e encriptação (SATYANARAYANAN,
1995).
Este modelo pretende solucionar os problemas evidenciados no modelo anteriormente descrito, através da divisão do proxy em duas partes: uma no cliente e outra na rede fixa. O proxy do elemento móvel é encarregado de interceptar requisições do cliente e juntamente com o proxy da rede fixa, executar otimizações para reduzir o fluxo no canal de comunicação sem fio e manter a conexão ininterrupta.
A existência deste proxy no dispositivo móvel viabiliza a utilização de um cache local, permitindo que o cliente continue executando mesmo encontrando-se desconectado. Contudo, denota-se a necessidade da utilização de dispositivos móveis com grande capacidade de processamento, armazenamento e maior autonomia de energia. Outro problema vem do custo de desenvolvimento, pois é necessário implementar um par de agentes para cada aplicação, dispositivo e plataforma de software.
“Na perspectiva de um usuário
final, um agente é um programa que auxilia pessoas e age em beneficio
delas” (RADTKE, 2000).
Agentes podem existir em diferentes cenários como sistemas operacionais,
redes, bases de dados, etc.
Neste sub-ítem, alguns aspectos deste modelo foram apresentados, deixando para o Capitulo 3, um enfoque mais abrangente.
[1] Chamadas a procedimentos remotos não são adequadas para computação móvel, pois o cliente fica bloqueado no caso de desconexão.
[2] Uma estação rádio base é um computador fixo que provê uma cobertura de comunicação sem fio através de ondas eletromagnéticas, onde se formam os canais de comunicação. Um dispositivo móvel pode se comunicar diretamente com uma ERB e vice-versa somente se estiver localizado dentro de sua célula (área de cobertura geográfica).
[3] Técnica empregada no gerenciamento de redes e consiste de uma consulta periódica sobre uma variável de um componente. Pode ser feita em um conjunto pré-determinado ou aleatório de componentes. Altamente dependente da freqüência de consultas e do conjunto consultado.
[4] Técnica que se propõe a reduzir o custo do monitoramento através da geração de notificações sobre a ocorrência de determinados eventos (falhas, alta ou baixa carga, etc) em cada um dos nós da rede. Requer sensores, coletores e analisadores para os eventos.
[5] Quando um elemento móvel passa de uma célula à outra, ocorre um handoff executado pelas estações base das duas células. Neste processo há uma negociação de um novo canal para esta unidade e não havendo disponibilidade, a ligação é interrompida.
[6] Elementos que residem na rede fixa (estações de suporte móvel da célula onde se encontra a unidade móvel) e que acompanham o cliente móvel ao longo de sua migração (hand-off) pelas células. Possuem atributos que definem seu comportamento com relação às consultas a serem feitas em nome do cliente móvel e que definem a forma de acesso à base de dados. Suas principais tarefas são fazer consultas a servidores de dados da rede fixa, receber as respostas e enviar notificações com informações ao cliente móvel e aguardar a confirmação de recebimento pelo mesmo (NAGAMUTA, 2001a).