segunda-feira, 14 de janeiro de 2008

Arquitetura NMS (Nomadic Mobile Service) - Serviço de Dispositivo Móvel Nômade

Atualmente os dispositivos móveis estão dotados de uma série de características de comunicação, processamento e armazenamento que combinados com os últimos desenvolvimentos na área de SOA (Service Oriented Architecture) permitem o desenvolvimento de uma nova classe de serviços, chamada de NMS (Nomadic Mobile Services). Nomadic Mobile Service significa a extensão do paradigma SOA para dispositivos móveis possibilitando que estes disponibilizem serviços via Web [1]. Esses serviços permitem que um dispositivo móvel participe da descoberta de serviço na rede e forneça os serviços para os clientes localizados em qualquer lugar na Internet. Uma típica aplicação Nomadic Mobile Service é hospedada por um dispositivo móvel hospedeiro, tal como, um handheld, telefone celular ou qualquer tipo de dispositivo capaz de se conectar na Internet usando uma rede sem fio e, fornecer um serviço diretamente ou indiretamente como proxy. Esta capacidade de disponibilizar serviços de um dispositivo para outro de forma dinâmica é o que dá a característica de serviço nômade (Nomadic)

Os desafios encontrados no NMS estão diretamente relacionados com as características de mobilidade, acessibilidade e problemas encontrados em redes wireless. Estes problemas podem ser percebidos, por exemplo, nas baixas velocidades de transmissão, zonas sem cobertura e troca de ponto de acesso (sinal) quando em movimento.

Segundo [2], a maioria dos problemas encontrados nos serviços nômades (NMS) poderiam ser resolvidos essencialmente utilizando três técnicas de desenvolvimento:

  • Baseados em proxies em rede: são utilizados agentes inteligentes para o processo de controle das informações ou para manipular informações dos usuários que estão sendo trocadas entre o dispositivo móvel e um servidor de rede;
  • Aquisição judiciosa e cache de informações: Nesta abordagem são feitas pré-coletas e cache de dados de modo a permitir uma melhor performance;
  • Protocolos e aplicações assimétricas: Desenvolvimento das aplicações de forma assimétrica, onde informações, controles e serviços acessórios seriam executados previamente de modo concorrente;

Recentemente tem havido uma série de pesquisas com abordagens de soluções NMS que visam solucionar os problemas encontrados nesta arquitetura. Neste universo de pesquisas, [3] selecionou três estudos distintos que implementam as principais técnicas para resolver estes problemas:

  • NMS Proxy [4]: neste estudo é proposto um proxy baseado em um middleware sobre a arquitetura Jini surrogate [5];
  • NMS P2P [6]: neste estudo é apresentada a implementação de um protótipo de serviço web para celular que fornece e descobre serviços em uma rede peer to peer (P2P);
  • NMS Asymetric [7]: este estudo propõe uma infra-estrutura assimétrica chamada de Micro-Services capaz de hospedar web services em dispositivos móveis;

As arquiteturas NMS Proxy, NMS P2P e NMS Asymetric implementam distintamente as principais técnicas de desenvolvimento sugeridas por [2], as quais foram apresentadas anteriormente. Abaixo segue uma visualização em alto nível destas arquiteturas:

Figura 1: Visualização em alto nível das arquiteturas NMS [3].

O estudo destas implementações e das características encontradas nestas arquiteturas permitiu o desenvolvimento de uma tabela comparativa com as diferentes abordagens pesquisadas, como demonstrado abaixo:

Tabela 1: Escolhas de Desenvolvimento NMS [3].

Como pode-se perceber as pesquisas de soluções NMS estão evoluindo e os principais questionamentos estão sendo endereçados, porém existem muitas questões ainda por serem resolvidas, tais como, QoS e orquestração de serviços.

Maiores detalhes sobre NMS podem ser encontrados em:

[1] Halteren, A.v. and Pawar P., Mobile Service Platform: A Middleware for Nomadic Mobile Service Provisioning. 2nd IEEE International Conference On Wireless and Mobile Computing, Networking and Communications (WiMob 2006), Montreal, Canada, June 2006.

[2] La Porta, T. F., Sabnani, K. K., Gitlin, R. D., Challenges for Nomadic Computing: Mobility Management and Wireless Communications. Mobile Networks and Applications, 1(1): p. 3-16, 1996.

[3] Pawar, P. and van Beijnum, B.J.F. and Srirama, S. and van Halteren, A.T. (2007) A Comparative Study of Nomadic Mobile Service Provisioning Approaches. In: Proceedings of The 2007 International Conference on Next Generation Mobile Applications, Services and Technologies, 2007. NGMAST '07., 12-14 Sep 2007, Cardiff, UK. pp. 277-286. IEEE Computer Society. ISBN 0-7695-2878-3/07

[4] Halteren, A.v. and Pawar P., Mobile Service Platform: A Middleware for Nomadic Mobile Service Provisioning. 2nd IEEE International Conference On Wireless and Mobile Computing, Networking and Communications (WiMob 2006), Montreal, Canada, June 2006

[5] Sun Microsystems, Jini Technology Surrogate Architecture Specification. https://surrogate.dev.java.net/doc/sa.pdf, October 2003.

[6] Srirama, S.N., Jarke, M. and Prinz, W., Mobile WebService Provisioning. International Conference on Internet and Web Applications and Services (ICIW'06), Guadeloupe, French Caribbean, 2006.

[7] Pratistha, D., Nicoloudis, N. and Cuce, S., A Micro-Services Framework on Mobile Devices. International Conference on Web Services, Nevada, USA, 2003.

Nenhum comentário: