Boletín de RedIRIS n. 54-55

EcoMobile: Sistema instantáneo de acomodación de desplazamientos sobre teléfonos móviles mediante JavaCard y SIM Application Toolkit

EcoMobile: an instant travel accommodation system using JavaCard and SIM Application Toolkit

A. F. Gómez, G. Martínez, J. García, J. F. Hidalgo, T. Jiménez

Resumen

EcoMobile es un proyecto de la Universidad de Murcia para el estudio del desarrollo de servicios móviles en entornos universitarios basados en tecnologías GSM, JavaCard y SIM Application Toolkit. El proyecto consiste en un nuevo servicio para la comunidad universitaria en el que se les ofrece la oportunidad de compartir vehículos con otras personas que no poseen medio de transporte, mediante un sistema de acomodación instantáneo, en el que el sistema se encarga de poner en contacto a los distintos agentes de la transacción de una forma sencilla, rápida y segura a través de sus teléfonos móviles.

Palabras clave: EcoMobile, SIM Application Toolkit, JavaCard, GSM


Summary

EcoMobile is an instant travel accommodation service to get into touch people with complementary transport needs. That is, when a person is going to make a trip from one city to another and his car has several free-seats he could share his car with another people using only his mobile phone. The system try to find matches and when one is found, it puts them instantly in contact. Based on the use of GSM and JavaCard and SIM Application Toolkit technologies, this project provides final user a dynamic and easy way to make trips with low cost and preserving, at the same time, the environment.

Keywords: SIM Application Toolkit, JavaCard, GSM, EcoMobile


1.- Introducción

Diversas alternativas están surgiendo para el desarrollo de servicios para teléfonos móviles. Una de las más conocidas es WAP[1] (Wireless Application Protocol) que nos permite, en un esquema parecido al de las aplicaciones web, desarrollar nuevos servicios adaptados a la menor capacidad de estos pequeños dispositivos en cuanto memoria, tamaño de pantalla, etc.. Otra de las alternativas, más cercana al mundo de las operadoras, es mediante la programación de los módulos o tarjetas SIM que acompañan a todos los teléfonos GSM mediante el estándar conocido como SIM Application Toolkit(STK). Una de las tarjetas SIM que más se está extendiendo entre las operadoras, son las tarjetas JavaCard [6], [2] que implementan el estándar STK. Por ello hemos decidido explorar las posibilidades de ambos mundos para poder desarrollar y ofrecer nuevos servicios móviles dentro del ámbito universitario.

2.- Un antiguo proyecto de la Universidad de Murcia: Ecomóvil

Queríamos por tanto desarrollar un servicio que aprovechara las características que hacen especial los servicios móviles como son la posibilidad de contacto en cualquier lugar y en cualquier momento y sobre todo la capacidad de notificación instantánea que nos ofrecen. Para ello hemos adaptado un proyecto anterior de la Universidad de Murcia llamado Ecomóvil a estas características. Ecomóvil lleva funcionando desde el año 1999 para poner en contacto gente que hace los mismos desplazamientos y que puedan compartir el vehículo a través de las secretarias virtuales.

3.- Ecomóvil para móviles: Ecomobile

La principal ventaja con respecto a la versión estática, en la que dos personas sólo se podían poner en contacto cuando los desplazamientos eran habituales, es que mediante dispositivos móviles podemos informar del desplazamiento de una forma casi instantánea. Además, el sistema intenta mediante agentes poner en contacto a gente que sólo esté interesada en realizar parte del desplazamiento y además pueda tener en cuenta diversas preferencias del usuario.

características del SIM Application Toolkit

El estándar GSM confería al módulo SIM un carácter pasivo y de mero repositorio de registros relacionados con la comunicación telefónica. Para dar cabida a servicios de valor añadido la nueva especificación GSM 11.14[4]incluye un nuevo conjunto de comandos y procedimientos definidos bajo la denominación SIM Application Toolkit (o STK). Este nuevo estándar nos permite almacenar aplicaciones en nuestro módulo SIM para que interactuen con el móvil, en la bibliografía más conocido como ME(Mobile Equipment), en el que está insertado y se comunique con otros elementos de la red GSM, todo bajo una interfaz amigable mediante los habituales menús.

Las características más destacadas del STK son la posibilidad de conocer las funcionalidades soportadas por el ME (profile download), el control de la operación basada en eventos (ME events) y la ejecución de comandos proactivos (proactive commands). Esto quiere decir que una vez conocidas las características del equipo móvil donde correrá la aplicación, podemos programar la captura de los eventos que nos interesan y programar para ellos operaciones basadas o no en la interacción con el ME a través de los comandos proactivos. El repertorio de operaciones posibles van desde impedir cierto tipo de llamadas telefónicas y modificación de la presentación de las operaciones, hasta el envío de mensajes SMS. La interacción de los servidores y el móvil se hace a través del OTA(Over The Air) que actúa de pasarela entre ambos.

En la figura 1 podemos ver el modelo de comunicación evento-comando proactivo.

5.- JavaCard

STK es un estándar independiente tanto del modelo de arquitectura SIM como de entornos de desarrollo. El problema es que mediante entorno propietarios, con lenguajes de programación cercanos al lenguaje máquina de las tarjetas chip se alargaban mucho los tiempos de desarrollo. JavaCard[7], [8] se desarrollo para solventar esta situación. Es un estándar basado en Java que mantiene muchos de los beneficios de este lenguaje como: portabilidad, fiabilidad, seguridad, etc.. Por las características con las que Java fue diseñado, JavaCard es especialmente adecuado para que en él se incluyan las funcionalidades necesarias para ser compatible con el estándar STK. En la figura 2 exponemos la arquitectura de una tarjeta JavaCard.

6.- Arquitectura del sistema EcoMobile

EcoMobile es una aplicación cliente-servidor, en la que el cliente estará corriendo en el ME y el servidor se comunicará con el OTA en cualquier lugar detrás de una pasarela GSM-SMS. La comunicación entre ambos se realiza mediante mensajes de texto SMS. SMS sobre GSM proporciona el canal de comunicación que nuestra aplicación requiere reproduciendo el esquema de trabajo de un protocolo no orientado a conexión.

Todo el desarrollo se ha realizado en Java, o mejor dicho en un subconjunto de éste, que es el soportado por JavaCard y STK. Para el desarrollo y pruebas hemos simulado un servidor OTA que corre en un PC simulando el canal de comunicación GSM a través de una conexión de red. En cuanto a la aplicación, ha sido ejecutada en una tarjeta JavaCard-STK que se insertaba un lector de tarjetas inteligentes, desde el cual se le han ido simulando los eventos o enviado información desde o hacia el servidor.

6.1.- Cliente

El entorno de ejecución de la aplicación cliente son los dispositivos SIM-ME.Como hemos mencionado anteriormente podremos tomar control del dispositivo ME a través de la captura de eventos y la ejecución de comandos proactivos. La secuencia de operación está precedida por la descarga del perfil del ME (profile download), almacenado en el ME con selección de un identificador único de aplicación o TAR (Toolkit Application Reference) y la declaración de la captura de los eventos en los que estamos interesados.

6.2.- Servidor

En esta parte tenemos menos restricciones puesto que el desarrollo real podríamos implementarlo en cualquier lenguaje sin los requisitos de las tarjetas Javacard aunque también se ha sido escrito en Java. Esto permite incluir cualquier funcionalidad en el servidor. Lo hemos dotado de heurística para que pueda localizar puntos de encuentro entre ofertas y demandas de servicio. Por ello nos hemos provisto de algunas de técnicas de Agentes Inteligentes para emparejar demandas.

7.- Modo de operación

7.1.- Altas de servicios

Cuando se desea utilizar el servicio ya sea para ofertar una plaza o para solicitar una plaza en el vehículo, el usuario selecciona en su móvil el menú correspondiente a la aplicación EcoMobile. Este applet le solicita al usuario que elija la localidad de origen y destino, dándole al usuario listas preconfiguradas basadas en su localización actual y preferencias. Además el usuario selecciona la fecha y hora de salida y de llegada. Tras la introducción de estos datos se registra en el servidor la solicitud.

7.2.- Mediación en el servidor

Cuando al servidor le llegan demandas de servicio, intenta encontrar, utilizando para ello tecnologías de agentes, aquellas ofertas que mejor se adecuan a los requisitos (localización espacial y temporal) indicados en dichas demandas. En el momento en el que el servidor determina que una o varias ofertas pueden satisfacer una determinada demanda, procede a clasificarlas por orden de importancia. Dichas ofertas son enviadas y mostradas en el móvil del demandante del servicio a través del OTA. En cada una de ellas existirá una referencia (forma de contacto) al ofertante del servicio, lo cual permitirá que los dos interesados se puedan poner en contacto y determinar su interés real y el lugar y la hora concretos donde van quedar.

En el momento en el que el demandante del servicio (o el que lo ofrece) satisface su interés, puede anular su demanda (u oferta) haciendo uso del applet de gestión de demandas (o de ofertas) y el código interno que se almacenó cuando se solicitó el servicio (o se hizo la oferta).

Hemos querido con EcoMobile hacer uso y exponer una tecnología que si bien es más propia de operadoras, ya que habitualmente no vamos a poder cargar nuestros applets en tarjetas SIM comerciales, si que ofrece grandes posibilidades para el desarrollo de cierto tipo de servicios móviles personalizados. Hemos desarrollado un servicio en el que el teléfono móvil actúa como elemento activo (pull) y como elemento pasivo (push) y hace uso de la posibilidad de localización. La tarea de mediación la realizan varios agentes en el servidor que tienen en cuenta las preferencias almacenadas en base de datos. Estas características hacen especialmente útil a STK y que de momento no están disponibles en otras alternativas como WAP aunque la evolución de éste las irá incluyendo.

Bibliografía

  1. Wap Forum, Wireless Application Protocol Architecture Specification, http://www.wapforum.org

  2. European Telecommunications Standards Institute, ETSI, SIM API for Java Card, GSM 03.19 v0.2.2 Annex A

  3. European Telecommunications Standards Institute, ETSI, Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) interface, GSM 11.11 v.7.1.0 Release 1998

  4. European Telecommunications Standards Institute, ETSI, Specification of the SIM Application Toolkit for the Subscriber Identity Module – Mobile Equipment (SIM – ME) interface,GSM 11.14 v7.1.0 Release 1998

  5. O. Cánovas, F. J. García, A. F. Gómez, G. Martínez et. al., Providing security to university environment communications, TERENA NORDUnet Networking Conference'99, June 1999

  6. Sun Microsystems, Java Card 2.1 Application Programming Interface,February 1999

  7. Sun Microsystems, Java Card 2.1 Runtime Environment (JCRE) Specification, February 1999

  8. Sun Microsystems, Java Card 2.1 Virtual Machine Specification, March 1999


A. F. Gómez, G. Martínez
dirección de correo skarmeta [at] dif [dot] um.es,dirección de correo gremar [at] dif [dot] um.es
Dept. de Informática, Inteligencia Artificial y Electrónica
J. García, J. F. Hidalgo
dirección de correo jgarcia [at] um [dot] es,dirección de correo jhidalgo [at] um [dot] es
Tomás Jiménez García
dirección de correo tomasji [at] um [dot] es
Servicio de Informática
Universidad de Murcia