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 
Monitoramento de Pacientes em UTI  
   (03)

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:

 

 

 2.1.2 Interface de Comunicação sem fio

Dispositivos móveis requerem acesso a rede sem fio, cujo ambiente vem agregar diversos problemas à comunicação, tais como:

 2.1.3  Portabilidade dos dispositivos

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:

 

 2.2  Requisitos sobre serviços, aplicações e protocolos

       A seguir, serão discutidos mais detalhadamente os principais requisitos impostos aos sistemas de computação móveis.

 2.2.1  Capacidade de localizar/endereçar elementos móveis 

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).  

 2.2.2  Capacidade de perceber mudanças no ambiente de execução

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.

  Em FOX et al (1998) é apresentada uma abordagem onde é inserido um proxy entre o cliente e o servidor. Este proxy é responsável por monitorar as variações na largura de banda e selecionar o algoritmo de destilação mais indicado à adaptação do conteúdo recuperado. Neste processo de destilação, a qualidade dos dados é alterada de forma a prover adaptação à situação corrente.

            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.

 2.2.3  Capacidade de auto-configuração

             Em sistemas de computação móveis, novos serviços e recursos estarão freqüentemente sendo incluídos, removidos, reconfigurados ou movidos de lugar. Neste ambiente, aspectos como os citados anteriormente, somados a movimentação de usuários e a heterogeneidade de dispositivos, devem ser considerados no desenvolvimento de softwares. A monitoração de mudanças no ambiente de execução pode fornecer subsídios para adaptação dinâmica de um sistema a um novo contexto. Para que esta adaptação seja executada, é preciso que o software seja projetado endereçando este aspecto.

  Em ENDLER (2001) é apresentado um modelo para adaptação, que serve como base para o desenvolvimento de um framework, que tem por objetivo disponibilizar ferramentas para confecção de aplicações distribuídas adaptáveis em tempo de execução, e assim, suportar variações no ambiente. O modelo é composto por três pacotes principais: monitoração, detecção de eventos e reconfiguração dinâmica. Assim, componentes são dinamicamente carregados para a memória e distribuídos na rede, podendo sofrer alterações ou exclusão.

 2.2.4  Capacidade de migrar funcionalidade

            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.

  Pesquisas vêm sendo realizadas com o intuito de elaborar esquemas de processamento que permitam a migração de tarefas de unidades móveis para estações fixas (vice-versa), onde seriam processadas e seu resultado retornado. Agentes móveis é uma das tecnologias utilizadas (BELLAVISTA, 2001). Uma outra proposta é permitir que dados críticos possam ser deslocados para uma memória não volátil quando estivesse a acabar a energia disponível.

 2.2.5  Gerenciamento eficiente da energia no dispositivo móvel

            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.

 2.3  Serviços

               A combinação de redes e mobilidade vem originar novos serviços. Possivelmente, os mais emergentes são os relativos às áreas de localização, entretenimento, colaboração, comércio, telemetria e voz (LOUREIRO, 2001). Serviços baseados em localização (LBS) são usados para definir e prover serviços baseados na posição geográfica de um dispositivo móvel. São responsáveis por oferecer facilidades ao usuário, geralmente em incursões em localidades não conhecidas anteriormente, e situações imprevistas.

                 Normalmente, um LBS pode fornecer informações geo-personalizadas, ajudando as pessoas na localização de prestadores de serviços (borracheiro, postos de gasolina, restaurantes e casas noturnas), encontrando o melhor caminho até o destino (menor distância e tráfego), providenciando socorro em casos de emergência, gerenciando frotas, rastreando cargas e recuperando veículos roubados, entre outros serviços.

                 A área de entretenimento oferece serviços de bate-papos, programação de cinema/teatros, músicas e jogos interativos multiusuários. Aplicações colaborativas oferecem mais uma oportunidade de aumento de produtividade, reduzindo custos e prazos. Vários tipos de interação entre usuários e empresa poderiam ser realizados durante o horário de trabalho, porém em ambiente fora da empresa.

                  Um operador de seguros poderia realizar maior quantidade de sinistros num período, tendo acesso a dados e documentos corporativos no momento e local do acidente. Ao término da vistoria, os documentos estariam prontos a serem enviados à matriz e o funcionário estaria liberado para outro serviço.

                  Serviços de comércio eletrônico oferecem comodidade e rapidez ao cliente na compra de produtos, no acesso a Bancos e em outros serviços disponibilizados ao cliente (SHARMA, 2001 apud TAFFE, 2002). Aplicações de telemetria tais como alarmes contra roubo e incêndio, máquinas de venda automática, estatísticas de tráfego de veículos e medições (água, eletricidade e gás), ainda são pouco exploradas.

                  Existe uma quantidade enorme de serviços e conteúdos voltados ao usuário de computadores fixos. Estas aplicações não são facilmente acessíveis a usuários de dispositivos computacionais móveis, devido às características de manipulação, fazendo com que surjam alternativas como aplicações móveis via voz. Nestas aplicações, as entradas e/ou saídas são feitas através da fala ao invés de uma interface gráfica. O aplicativo pode estar localizado no dispositivo ou em algum servidor na Internet (LOUREIRO, 2001).

                  Na prática, aplicações e serviços poderiam estar integrados: serviços baseados em localização associar-se-iam aos do comércio eletrônico móvel e poderiam ser solicitados através de uma interface de voz.

                  Existem algumas aplicações disponíveis. Em se tratando de serviços baseados em localização, estão chegando ao mercado sistemas de rastreamento de veículos por meio de telefones celulares acoplados ao carro e de placas de monitoramento por rádio- freqüência (ZERO HORA, 2002). A empresa Autofinder (www.autofinderweb.com.br), oferece também opções de GPS (global positioning system) e controle de temperatura de cargas frias.

                  Na área de segmentos comerciais, a empresa OpenGrid (www.opengrid.com) fornece produtos como o mobilePlant, usado em conferências  e eventos, e o FastBook para pesquisas sobre hotéis e reservas.

                 Existem vários outros projetos e sistemas em uso, com abordagens diferenciadas. 

 2.4  Modelos de Comunicação em Computação Móvel

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.

 2.4.1  Modelo cliente/servidor

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).

          Através da replicação do servidor, onde dados são distribuídos entre diversos servidores comunicantes, pode-se prover um ambiente tolerante à falhas da rede e/ou de servidores, com melhor desempenho, suporte a clientes com alto grau de mobilidade e escalabilidade.

          Porém, para que este modelo possa ser usado em computação móvel, o mesmo deve ser repensado. Problemas como desconexão e comunicação não confiável devem ser tratados. A limitação de recursos do cliente pode requerer que certas operações sejam executadas no servidor. Em contrapartida, em algumas situações o cliente precisa emular funções do servidor, cooperando no suporte à conexão. 

            Desta feita, a distinção entre cliente e servidor deve ser ofuscada temporariamente, resultando num modelo cliente-servidor estendido, como por exemplo, o cliente/proxy/servidor e o cliente/intercept/servidor vistos a seguir.

   2.4.1.1  Cliente/proxy/servidor

             Nesta arquitetura, um proxy (ou agente) que fica na rede fixa, age em nome do cliente intermediando e facilitando, através de mecanismos, qualquer comunicação entre o cliente e o servidor. Neste aspecto, a comunicação é quebrada em uma parte entre o cliente e o proxy e a outra entre o proxy e o servidor. Muitas das tarefas executadas pelo servidor passariam ao proxy, diminuindo a carga no servidor. Agindo como elemento intermediário, o proxy pode prover facilidades, amenizando discrepâncias e adequando a qualidade e eficiência nos dois lados.

  Segundo ENDLER (2000b), um proxy pode ser responsável por executar funções tais como: conversão/tradução de mensagens entre os meios com fio e sem fio (protocolos diferentes podem ser usados em cada interação), compressão de dados, bufferização, notificação de eventos e execução de serviços em substituição do cliente.

              Um proxy pode ter que executar funções de um ou mais clientes na rede fixa ou tratar de serviços específicos, como o acesso a um servidor web (HOUSEL, 1997 apud MATEUS, G. R., 1998). Quanto à localização, pode estar na estação base da célula onde se encontra o cliente e sendo assim, deve migrar junto com o cliente quando este se movimenta, ou pode estar junto ao servidor representando um serviço.

               Em (NAGAMUTA, 2001b), utiliza-se um modelo cliente/proxy/servidor em que o cliente é informado de eventos de seu interesse, através de um serviço de notificação, baseado em proxies móveis[6]. Além disso, o proxy pode otimizar a transmissão dos dados através da escolha do servidor mais apropriado ou da utilização de técnicas de otimização, a fim de reduzir a quantidade de dados a serem transmitidos, e conseqüentemente, o uso da largura de banda.

  Como visto, este modelo vem representar uma grande evolução do modelo cliente/servidor, mas também vem agregar problemas: o cliente necessita ser modificado para que passe a interagir com o agente e a otimização da transmissão é verificada somente no sentido agente-cliente móvel.

 2.4.1.2  Cliente/intercept/servidor

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.

 2.4.2  Agentes Móveis

         “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. Podem ser enviados para a rede fixa a fim de executar tarefas em nome do dispositivo móvel, o que possibilita um serviço mais eficiente, com menor gasto de energia e independente de variações na conexão.

           Este modelo é ideal para migração de funcionalidade, suporte a desconexões constantes e redes de baixa velocidade. No entanto, apresenta problemas de aceitação como o de segurança envolvendo acesso não autorizado, autenticação, privacidade, vírus e utilização de recursos locais da estação. 

            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).

 

Anterior                               Home WirelessBR                              Próxima