RESUMEN: El uso de dispositivos móviles se ha incrementado

Anuncio
MAD MOBILITY SUPPORTED BY AGENT-BASED DEVICES
Alejandro Botero López
Hugo Giraldo Arenas
Alexandra Moyano Romero
Director: Ing. Enrique González Ph. D.
Enero 2005
RESUMEN: El uso de dispositivos móviles se ha incrementado
notablemente en los últimos años. Lo anterior ha ocasionado que un gran
número de empresas estén interesadas en desarrollar aplicaciones
móviles. MAD es una arquitectura para el desarrollo de aplicaciones
móviles, que convive con las limitaciones de los dispositivos móviles como
son, la limitada capacidad de almacenamiento y procesamiento y la
intermitencia de la comunicación. MAD es un framework construido sobre
una plataforma de agentes llamada BESA y que utiliza comunicación
bluetooth para las interacciones entre contenedores de agentes de los
dispositivos móviles (BESACE), con los contenedores que están en el
mundo estático (BESA).
PALABRAS CLAVE: Dispositivos Móviles, arquitecturas distribuidas, J2ME,
BESA, peer to peer, agentes móviles, bluetooth, acceso inalámbrico WA.
ABSTRACT: The use of mobile devices has increased notably in the last years.
This has caused that a great number of companies are interested in developing
mobile applications. MAD is an architecture for development of mobile
applications that coexists with the limitations of the mobile devices such as the
limited capacity of storage and processing and the intermittence of the
communication. MAD is a framework constructed on an agents' platform called
BESA and it uses Bluetooth communication for the interactions between agents'
containers of mobile devices (BESACE) with the containers that are in the static
environment (BESA).
KEY WORDS: Mobile devices, distributed architectures, J2ME, BESA, peer to
peer, mobile agents, bluetooth, wireless access WA.
1
Introducción
El uso de los dispositivos móviles se
ha incrementado notablemente en
los últimos años. Se estima que para
el año 2005 sean más de 100
millones los suscriptores de telefonía
celular [IE2003].
Como todo dispositivo tiene sus
ventajas y sus limitaciones. La
principal ventaja es el acceso a
cualquier tipo de información en
cualquier
momento
y
desde
cualquier lugar. Las limitaciones se
ven tanto en hardware como en
software. Algunos ejemplos son la
capacidad de almacenamiento y de
procesamiento limitado, ancho de
banda limitada, la latencia es alta y
hay
intermitencia
en
la
comunicación.
En la actualidad, existen diversas
tecnologías
enfocadas
a
la
comunicación inalámbrica y al
desarrollo de aplicaciones para
dispositivos móviles.
A
nivel
de
protocolos
de
comunicación
encontramos
Bluetooth [ROB2003] y 802.11
[ITAM2000]. Ambas comparten el
mismo ancho de banda, pero
bluetooth
es
mejor
para
configuraciones pequeñas como los
dispositivos móviles.
Para el desarrollo de aplicaciones
móviles encontramos J2ME [VNU
2002] y .Net CF [JUN2002]. J2ME
tiene dos configuraciones. MAD
utiliza la configuración CLDC, que es
la configuración más limitada. Lo
anterior se debe a que el objetivo de
MAD son los dispositivos móviles
con recursos limitados como los
celulares.
Para desarrollar aplicaciones para
dispositivos
móviles
han
implementado algunas arquitecturas
que sirvieron como base para
plantear la arquitectura MAD. Las
principales son: Satin [ZAC2003],
Wireless Architecture for Access to
Remote Services [THA2000] y
Wireless
Resource
Manager
[MAL2003].
La arquitectura MAD desarrollada en
este proyecto hace un aporte a la
Ingeniería de Sistemas, permitiendo
que el desarrollo de nuevos tipos de
aplicaciones móviles sea más rápido
y eficiente. MAD se basa en el
concepto de redes peer to peer lo
que le permite escalar fácilmente y
estar acorde con las nuevas
tendencias. De igual manera, MAD
ofrece la flexibilidad para ser
implementada, utilizando diferentes
tecnologías
de
comunicación
inalámbrica, como es el caso de
Bluetooth o de 802.11.x.
MAD
permite desarrollar aplicaciones
distribuidas dando soporte al
roaming de los dispositivos móviles
de una manera transparente para el
desarrollador.
Finalmente,
es
importante
destacar
que
la
arquitectura MAD convive con las
limitaciones de procesamiento y
almacenamiento de los dispositivos
móviles permitiendo más flexibilidad
y mejor uso de los recursos.
Este artículo se divide en cuatro
grandes partes: la problemática, el
modelo de la arquitectura MAD, su
implementación y, finalmente la
validación.
De esta manera se
tiene, aunque de una manera breve,
una idea general de lo que es la
arquitectura MAD.
2
Requerimientos
de
arquitectura móvil
una
Como se mencionó anteriormente,
los dispositivos móviles tienen
ciertas
limitaciones
que
son
inherentes a ellos. Es por esto, que
desarrollar aplicaciones móviles a
veces no resulta tan fácil.
Una arquitectura diseñada para
desarrollar aplicaciones móviles
debe cumplir ciertos requerimientos
entre los cuales están: que sea
flexible, que soporte el roaming, que
conviva con la intermitencia de las
comunicaciones móviles, que sea
capaz de delegar el procesamiento
pesado a dispositivos con los
recursos adecuados, que sea
segura, portable y con la cual, el
tiempo de desarrollo disminuya.
De
las
arquitecturas
para
dispositivos móviles que existen, la
mayoría convive con la limitación de
procesamiento trabajando en redes
P2P,colaborando entre las entidades
que la conforman [BON2004],
trabajando el concepto de lógica
móvil para que las aplicaciones se
acoplen a las necesidades de los
usuarios como es el caso de Satin
[ZAC2003]
o
clasificando
las
peticiones y así no cargar mucho la
red como es el caso de WRM
[MAL2003], entre otras muchas
arquitecturas que existen. Estas
arquitecturas, después de analizar
sus ventajas y desventajas, son la
base de lo que es la arquitectura
MAD.
3
Modelo MAD
MAD es una arquitectura híbrida
(P2P y P2MP), enfocada a
aplicaciones
para
dispositivos
móviles en “ambientes cerrados”,
entendiendo un ambiente cerrado
como un lugar que se puede definir
dentro de unas fronteras físicas
establecidas; por ejemplo, un centro
comercial, un estadio, un hospital,
un museo, un aeropuerto, entre
otras.
La arquitectura permite desarrollar
aplicaciones que convivan con las
limitaciones
inherentes
a
los
dispositivos móviles, como lo son:
limitada
capacidad
de
procesamiento y almacenamiento,
reducida duración de la energía e
intermitencia en la comunicación
Los conceptos fundamentales que
caracterizan la arquitectura MAD
son:
y
Un mundo se define como un
conjunto de dispositivos con
ciertas características en común
ubicados en una determinada
área geográfica. La arquitectura
presenta dos mundos el estático
SE y el dinámico DE.
y
La
arquitectura
tiene
una
estructura de red Peer to Peer la
cual consiste en un grupo de
entidades que se comunican
cada uno directamente con los
otros.
y
Los dispositivos móviles pueden
cambiar de ubicación geográfica
continuamente. La arquitectura
soporta de manera transparente
el cambio de sitio de los
dispositivos a medida que se van
desplazando
utilizando
los
conceptos de roaming.
y
En el mundo estático SE,
algunos de los servidores alojan
recursos como bases de datos,
archivos, Web Services a los
cuales se accede manejando un
esquema multicapa.
y
Debido a la reducida capacidad
de almacenamiento que existe
en los dispositivos móviles, la
arquitectura maneja el concepto
de repositorio de información en
el cual se almacenan paquetes
de datos llamados artefactos
pertenecientes a los dispositivos
móviles que no son utilizados en
ese momento.
Teniendo en cuenta la variedad de
elementos
que
conforman
la
arquitectura MAD, se organizó la
presentación en diferentes vistas.
Cada vista muestra una parte de la
arquitectura. Todas las vistas tienen
una relación entre si, y mirándolas
en conjunto se tiene la visión
completa del sistema. Se manejan
tres vistas principales: general,
lógica y física.
3.1 Modelo del Ambiente General
del Trabajo
A nivel general, la arquitectura MAD
está conformada por dos mundos, el
mundo dinámico DE y el mundo
estático SE, que se comunican a
través de un acceso inalámbrico
WA. La figura 1 ilustra el modelo
general de la arquitectura.
El mundo dinámico DE se entiende
como el conjunto de dispositivos
móviles MD que pueden cambiar
continuamente
de
ubicación
geográfica.
Estos
dispositivos
móviles MD tiene un acceso
inalámbrico WA para comunicarse
con el mundo estático SE, el cual se
denomina acceso inalámbrico móvil
MWA.
El mundo estático SE es una
agrupación de dispositivos estáticos
SD,
los
cuales
incluyen
computadores
personales,
servidores, entre otros que no
cambian de ubicación física, y de
dispositivos livianos WSD. Los SD y
los WSD están comunicados entre
ellos a través de una red LAN o
WAN que puede incluir una
conexión inalámbrica. Así como los
dispositivos
móviles
MD,
los
dispositivos del Mundo estático
tienen un acceso inalámbrico WA
que se llama acceso inalámbrico
estático SWA.
LAN/WAN
SD1
WSD1
SWA
SD2
SWA
SWA
MUNDO ESTÁTICO
SE
Scatternet
MUNDO DINÁMICO
DE
MWA
MD2
MWA
MD1
MWA
MD3
MWA
MD4
Piconet
Piconet
Piconet
SD
WSD
SWA
MD
MWA
Dispositivo Estático
Dispositivo Liviano
Acceso Inalámbrico Estático
Dispositivo Móvil
Acceso Inalámbrico Móvil
Figura 1. Modelo del Ambiente General del Trabajo
estático SE se pueden comunicar
Tanto el acceso inalámbrico móvil
entre sí de una manera transparente
MWA como el acceso inalámbrico
utilizando Internet. La figura 2
estático SWA tienen un área de
muestra el modelo físico de la
cubrimiento que puede variar
arquitectura.
dependiendo de la tecnología y el
protocolo de comunicación que se
Con respecto al mundo dinámico DE
utilice entre los dos mundos. Al
y su comunicación con el mundo
conjunto de estas áreas de
estático SE se presentan algunos
cubrimiento se le conoce como
obstáculos como lo son:
ambiente físico cerrado. Las áreas
y Los dispositivos móviles MD
de
cubrimiento
pueden
cambian
continuamente
de
superponerse entre ellas, lo cual no
ubicación
geográfica.
es obligatorio. También pueden ser
distantes, incluso estar en diferentes
y Existe
intermitencia
en
la
redes LAN o WAN.
comunicación entre el mundo
3.2 Modelo Físico
La arquitectura da la flexibilidad para
que el mundo estático SE pueda
estar compuesto por uno o más
tipos de redes, que se comunican
entre sí a través de un punto de
acceso AP. De esta manera, se
forma una red LAN o WAN utilizando
el protocolo TCP/IP y se permite el
acceso a través de Internet.
Diferentes secciones de un mundo
dinámico DE y el mundo estático
SE.
El acceso inalámbrico WA es el
encargado
de
amortiguar
los
problemas de comunicación y
manejar
el
roaming
de
los
dispositivos móviles MD entre las
diferentes áreas de cubrimiento. Es
importante
recalcar
que
la
comunicación entre el mundo
estático SE y el mundo dinámico DE
MWA
SWA
SD
MD
MWA
MD
SWA
MWA
MD
SD
WAN - LAN TCP / IP
AP
RED INALAMBICA
TCP /IP
SD
SWA
WSD
WSD
SWA
WSD
SWA
SWA
MWA
MD
MWA
MWA
MWA
MD
MD
MD
SD
WSD
SWA
MD
MWA
AP
Dispositivo Estático
Dispositivo Liviano
Acceso Inalámbrico Estático
Dispositivo Móvil
Acceso Inalámbrico Móvil
Punto de Acceso
Figura 2. Modelo Físico MAD
dinámico DE. La ubicación de estos
es asíncrona para poder manejar la
procesos se establece en el
intermitencia en la comunicación. Un
momento de hacer el despliegue de
MD se comunica con el SE a través
la APP. Las entidades que la
de un acceso inalámbrico estático
conforman son:
SWA, pero como el MD puede
desplazarse, podría recibir su
y P: es un proceso, peer, que se
respuesta desde otro SWA.
define como cualquier entidad
capaz de hacer un trabajo útil en
3.3 Modelo Lógico
el contexto de una aplicación
El
modelo
lógico
es
una
APP y poder comunicarse con
representación de las entidades que
otra entidad en la red de una
forman parte de la arquitectura a
manera P2P. [BRE2002]. Hay
nivel de Software. Estas entidades
dos tipos de peer: peer móvil
se pueden clasificar en dos grupos:
MP y peer estático SP.
modelo de la aplicación APP y
y APS: es un peer que sirve como
modelo de servicios.
servidor de punto de acceso
En el modelo de la aplicación APP
para permitir que los peer
se describen todas las entidades
estáticos SP y móviles MP de
que hacen parte de una aplicación
una
aplicación
APPi
se
APP, colaborando entre ellas para
comuniquen con los SP o MP de
que la APP pueda funcionar
una aplicación APPJ. El APS es
correctamente.
un peer P que se caracteriza por
Una aplicación APP es un conjunto
ser el único punto de entrada y
de procesos que permiten cumplir
salida para la comunicación
con una meta. Los procesos de la
entre aplicaciones APP. Con lo
APP
se
pueden
encontrar
anterior se busca encapsular una
distribuidos entre los dos mundos, el
APP como una unidad cerrada y
mundo estático SE y el mundo
aumentar en cierta medida la
servicios estático SSP se puede
realizar algún procesamiento
sobre la información recuperada,
brindando un mayor nivel de
abstracción sobre el recurso. Un
proveedor de servicios estático
SSP puede acceder a varios
SSP que se encuentren en la
misma sección del mundo
estático SE
y que realicen
alguna
funcionalidad
de
procesamiento que el
SSP
necesite.
seguridad. Para lograrlo, los
peers de una misma aplicación
APP comparten un password
que se incluye en todos los
mensajes.
El modelo de servicios muestra
todas las entidades externas a una
aplicación APP que le permiten
acceder a un recurso como Bases
de Datos, Web Services, Archivos,
Dispositivos Físicos Externos, entre
otras para consultar y procesar
información que necesita para su
correcto funcionamiento.
En el mundo estático SE se
encuentran las siguientes entidades:
y
y
y
R: es un recurso que se define
como un conjunto de elementos
disponibles para resolver una
necesidad o llevar a cabo una
tarea. Los recursos pueden ser:
Bases de Datos, Web Services,
GUI, Sensores, entre otras.
S: es un servicio que se define
como métodos que permiten
realizar las operaciones CRUD
(create, read, update, delete)
sobre determinadas entidades
recursos R que son necesarios
para el funcionamiento de la
aplicación. El S contiene la
información del driver necesario
para acceder al R. Por esta
razón, el acceso a los recursos R
siempre se realiza mediante un
S y el servicio S siempre está
controlando el acceso al R. La
relación entre un recurso y un
servicio es 1 a 1.
SSP: es un proveedor de
servicios estático que realiza una
actividad
de
coordinación
encargándose de invocar a uno
o varios servicios S para poder
recuperar la información que
necesita la aplicación APP para
cumplir con sus funciones.
Dentro
del
proveedor
de
En el mundo dinámico DE se
encuentran las siguientes entidades:
y
BR: es un recurso base que se
define como un conjunto de
elementos disponibles dentro de
un
dispositivo
móvil
para
interactuar con el cliente; por
ejemplo, el teclado, la pantalla,
entre otros.
y
BS: son métodos que se
encargan de manejar el acceso a
los recursos base BR del
dispositivo móvil MD. El BS no
tiene movilidad porque su
característica principal es que
están cerca del recurso base BR.
La relación entre un BS y un BR
es 1 a 1.
y
SPB: es un proveedor de
servicios base encargado de
procesar
las
solicitudes
realizadas por el peer móvil MP.
Para cumplir lo anterior, el SPB
accede a los recursos base BR a
través
de
invocaciones
a
métodos de un servicio base BS
y, si es necesario, realizan algún
procesamiento.
La figura 3 ilustra todo el modelo
lógico. Todas las entidades se
ejecutan sobre un una plataforma
operativa, la cual se define como
una extensión de un lenguaje
mediante una o más jerarquías de
clases que
R1
S1
SSP1
S2
SSP2
APS1
APS2
SP11
SP21
SE
SP13
SP12
SP22
DE
MP11
MP21
MP12
MP22
MP23
SPB2
SPB1
BR1
S-R
SSP-S
SP-SSP
APS-APS
SPB-BR
BS-SPB
P2P
MP-SPB
R2
APP1
BS1
BR2
APP2
BS2
S
SSP
R
APS
SP
MP
BS
BR
SPB
APP
Servicio
Proveedor de Servicios Estático
Recurso
Servidor de Punto de Acceso
Peer Estático
Peer Móvil
Servicio Base
Recurso Básico
Proveer de Servicios Base
Aplicación
Figura 3. Modelo Lógico
trabajo pesado se podría hacer en el
implementan una funcionalidad y
lado estático. El diseñador de la
que (opcionalmente) pueden ser
aplicación APP decide el número de
extendidas [ANT2004]. En el caso
peers móviles MP y peers estáticos
específico de la arquitectura MAD, la
SP que debe tener la APP, la
plataforma operativa debe ser capaz
funcionalidad de cada uno de ellos y
de encargarse de todas las
el protocolo de interacción entre
interacciones
de
comunicación,
ellos. Sin embargo, cabe recalcar
soportando un directorio de páginas
que para que la aplicación APP sea
amarillas
y
páginas
blancas.
móvil el diseñador debe garantizar
Adicionalmente,
la
plataforma
que por lo menos haya un peer
operativa
debe
soportar
la
móvil MP.
comunicación entre el mundo
dinámico DE y el mundo estático SE
La arquitectura permite que los
y roaming.
peers móviles MP se muevan
temporalmente al mundo estático
Los peers P de una aplicación APP
SE. De esta manera se ataca la
se encuentran distribuidos en un
limitada
capacidad
de
dispositivo móvil MD y un dispositivo
procesamiento de los dispositivos
estático SD. Lo anterior le da
móviles.
ventajas a la arquitectura en cuanto
al procesamiento y la limitación de
memoria debido a que todo el
Los peer móviles MP pueden tener
acceso a los recursos base BR que
se encuentran en el dispositivo móvil
MD a través del proveedor de
servicios base SPB.
El mundo estático SE funciona de
una manera similar al mundo
dinámico DE. Los peers estáticos
SP pueden acceder a los recursos R
a través de los proveedores de
servicios estáticos SSP. Los SSP
invocan a los servicios S que se
encuentran dentro de este mundo
para poder acceder a los recursos
R, los cuales se encuentran
distribuidos dentro del SE. Los
servicios pueden ubicarse según
dos criterios:
y
Cercanía del recurso R: Los
servicios S son el único punto de
acceso a los R y manejan todo lo
relacionado con el driver para
acceder a ellos. Por esta razón
deben estar siempre junto al R
que van a acceder y la relación
es de 1 a 1.
y
Comunicación
con
los
proveedores
de
servicios
estáticos: El servicio S es el
punto intermedio entre los SSP y
los R. Un proveedor de servicios
estáticos SSP le solicita a un
servicio S que acceda a un
recurso R para obtener cierta
información. El S está junto al R
para poder recuperar los datos.
En el mundo estático SE, una
aplicación APP puede tener un
servidor de punto de acceso APS
que permite que los peers estáticos
SP de una aplicación APPi se
comuniquen con los SP de una
aplicación APPj. Lo anterior permite
que haya una colaboración entre los
procesos de diferentes aplicaciones
APP y a su vez haya un nivel de
confidencialidad de los peers P de
una APP. El APS expone los
servicios que prestan los P de su
APP pero no
especifica que P
realiza determinada tarea.
La mayoría de las comunicaciones
entre
las
entidades
de
la
arquitectura
MAD
utilizan
el
protocolo RR (Request Reply). Por
ejemplo, un peer estático SP le
solicita un servicio a un proveedor
de servicios estático SSP (request) y
el SSP después de procesar la
solicitud le devuelve una respuesta
(reply). Sin embargo, el diseñador
puede especificar que protocolo de
comunicación desea utilizar entre los
peers P propios de la aplicación
APP.
5
Implementación
El mundo estático SE y el mundo
dinámico DE presentan una clara
diferencia, el primero abarca todo
tipo de dispositivos livianos o
estáticos, mientras que el segundo
encierra
únicamente
a
los
dispositivos móviles Sin embargo,
los dos mundos tienen muchos
requerimientos en común como son
el manejo de directorios, peers,
recursos y servicios. Para cumplir
con
estos
requerimientos,
la
arquitectura
MAD
utiliza
una
plataforma de agentes que le brinda
soporte de manera transparente en
el manejo de la comunicación, la
ubicación de los servicios S,
recursos R y peers P.
Se analizaron tres plataformas:
JADE, JXTA y BESA, y se eligió la
plataforma
BESA
(Behaviororiented, Event-driven and Socialbased Agent Framework) debido al
conocimiento que se tiene sobre el
funcionamiento de la plataforma.
BESA es una plataforma de agentes
que cumple con los estándares
FIPA; presta varias funcionalidades
entre las que se encuentran el
manejo de páginas amarillas,
páginas blancas, la creación de
agentes y el envío de mensajes
entre ellos.
se
desarrolló
un
acceso
inalámbrico WA que utiliza la
tecnología de comunicación
Bluetooth con la que cuentan un
gran número de dispositivos
móviles MD.
A continuación se menciona de
manera global cómo se cumplieron
con los requerimientos identificados
durante la etapa de análisis:
y
y
y
y
Para
cumplir
con
los
requerimientos agrupados en
recursos y servicios, directorios y
peers se decidió que tanto en el
mundo estático como en el
dinámico, los servicios, peers,
servidores de puntos de acceso
y proveedores de servicios estén
representados
por
agentes;
aprovechando de esta manera
todas las funcionalidades que
ofrece la plataforma BESA.
Una aplicación APP es una
asociación de peers, estáticos y
móviles, que interactúan entre
ellos para lograr una meta en
común. Dado que los peers son
agentes, para cumplir con los
requerimientos agrupados en
aplicación también se utiliza
BESA.
El acceso a los recursos y al
repositorio de datos se realiza a
través de un agente llamado
servicio que conoce cómo
acceder al recurso o al
repositorio de datos. En el caso
del repositorio, el servicio conoce
el funcionamiento del manejo de
los comprobantes y cómo
recuperar
la
información.
Cuando se trate de cualquier
otro recurso, el servicio contiene
la información del driver y de
esta manera sabe como acceder
al recurso para realizar cualquier
operación solicitada por la
aplicación APP. De esta manera,
se cumplen los requerimientos
funcionales
agrupados
en
manejo de directorios y recursos
y servicios.
Finalmente, para cumplir los
requerimientos necesarios para
conectar el mundo estático SD
con el mundo dinámico DE,
agrupados en dispositivo móvil,
La
arquitectura
MAD
está
conformada por cuatro agentes:
y
Peer: este agente depende de la
aplicación APP, por lo que es
decisión
del
desarrollador
determinar cómo se implementa.
Puede ser móvil o estático y es
el encargado de procesar las
solicitudes del usuario.
y
APS: este agente es el único
punto de entrada y salida de una
aplicación APP. Es el encargado
de solicitar y prestar servicios
entre aplicaciones APP.
y
AM: este agente es el encargado
de almacenar y recuperar los
artefactos en el repositorio.
y
SSP: este agente es
encargado de invocar
servicios para acceder a
diferentes recursos ya sea
Web Service, una Base
Datos, etc.
el
los
los
un
de
La plataforma MAD provee una
implementación
de
las
funcionalidades básicas de cada
agente. Esta implementación se
hereda y cada desarrollador puede
extender su funcionamiento según
las necesidades de la aplicación
APP que esté desarrollando.
La arquitectura tiene dos tipos de
accesos inalámbricos WA, uno en el
mundo estático SE y otro en el
mundo dinámico DE. Estos accesos
inalámbricos
WA
son
los
encargados
de
manejar
la
comunicación y el roaming de los
dispositivos móviles. A continuación
se observa el diseño del acceso
inalámbrico y el funcionamiento del
envío y recibo de mensajes.
La implementación de los accesos
inalámbricos se dividió en tres
partes:
y
y
y
Dispositivo
Móvil:
los
componentes encargados de
comunicar al dispositivo móvil
MD con el mundo estático. Así
mismo,
se
encargan
de
encaminar los mensajes que le
lleguen al dispositivo móvil al
contenedor
de
agentes
respectivo. El camino de salida
al mundo estático SE de un
mensaje proveniente de un
agente del contenedor es un
objeto llamado FachadaSalida, el
cual se explicará más adelante.
El mecanismo de entrada de los
mensajes
provenientes
del
mundo estático es el SensorDE,
el cual también se explicará
posteriormente.
SWA: es el encargado de enrutar
los mensajes correctamente. Si
los mensajes provienen del
mundo dinámico, el SWA los
enruta automáticamente a la
plataforma que está en el mundo
estático. Si, por el contrario, los
mensajes provienen del mundo
estático, el SWA verifica si hay
canal con el dispositivo móvil
respectivo. Si el canal funciona
adecuadamente,
enruta
el
mensaje al dispositivo móvil. En
caso contrario, lo almacena en
un vector al que se conoce como
cola hasta que se reestablezca
la conexión con el canal o hasta
que el dispositivo móvil se
conecte con otro SWA. Si se da
este último caso, el SWA original
le transfiere todos los mensajes
encolados al nuevo SWA.
Plataforma: El componente más
importante de esta parte es el
SensorSE porque es el punto de
entrada y salida a la plataforma
de peers estáticos desde un
dispositivo móvil MD.
Todas las comunicaciones entre los
peers pertenecientes a los dos
mundos, el estático y el dinámico,
cuentan con un método de
verificación de envío y recepción de
mensaje conocido como ACK (acuse
de recibo). Por cada request y por
cada reply se genera un ACK al peer
que hizo la petición. El peer que
hace la solicitud queda bloqueado
hasta no recibir el acuse de recibo o
cumplirse un time out.
6
VALIDACIÓN
El aeropuerto es una aplicación de
carácter informativa que funciona
dentro del ambiente cerrado de un
aeropuerto.
Para
probar
la
arquitectura MAD, se desarrolló esta
aplicación
con
las
siguientes
funcionalidades:
y
Consultar vuelos a una ciudad
para determinada fecha.
y
Generar un itinerario con base
en las ciudades ingresadas por
el usuario, los días que desea
permanecer en cada ciudad y la
fecha de partida y almacenarlo
en un repositorio.
y
Consultar el itinerario generado
anteriormente.
y
Localizar a otro usuario que esté
dentro del aeropuerto.
y
El
usuario,
al
llegar
al
Aeropuerto, ejecuta la Aplicación
que tiene en el dispositivo Móvil
y puede realizar cualquiera de
las funcionalidades mencionadas
anteriormente.
Utilizando el caso de estudio
descrito anteriormente, se realizaron
las pruebas de la arquitectura para
poder caracterizarlo. Primero se
realizaron las pruebas funcionales.
Posteriormente
se
realizaron
pruebas de stress y escalabilidad.
Los resultados obtenidos y el
análisis realizado se presentan a
continuación.
Las pruebas, como se había
establecido en el anteproyecto, se
realizaron en emuladores. Los
simuladores con los que se
trabajaron
presentaron
algunas
limitantes en cuanto a la conexión
bluetooth y la conexión a través de
un socket de un teléfono a una
máquina conectada a una red tcp.
Las siguientes son algunas de las
limitantes más importantes en
cuanto a la simulación de bluetooth
en los teléfonos:
y
y
No se puede simular una
conexión bluetooth entre un
teléfono
y
una
máquina
conectada a una red tcp y
además que tenga el chip de
conexión bluetooth.
No se puede simular que un
master bluetooth (teléfono) tenga
en su área de cubrimiento más
de cuatro teléfonos.
incremente en un porcentaje mucho
menor que cuando hay un solo
proveedor. Con esto se demuestra
que
la
arquitectura
soporta
escalabilidad, pudiéndose aumentar
el número de agentes y recursos
obteniendo mejores resultados.
7
CONCLUSIONES
y
El uso de dispositivos móviles se
ha incrementado notablemente
en los últimos años. Las
tendencias indican que el uso de
los dispositivos móviles será
superior al de los computadores
personales.
y
Se
encuentran
algunas
arquitecturas ya planteadas para
desarrollar aplicaciones para
dispositivos
móviles
que
conviven con ciertas limitaciones
pero casi ninguna ofrece la
flexibilidad ofrecida por MAD.
y
MAD es una arquitectura para el
desarrollo
de
aplicaciones
móviles que convive con las
limitaciones de los dispositivos
móviles y facilita el desarrollo de
las aplicaciones.
y
MAD permite el desarrollo de
aplicaciones orientadas hacia la
movilidad constante de los
usuarios, los cuales sólo deben
tener un dispositivo móvil con
Bluetooth y una máquina virtual
de java para poder correr una
aplicación.
y
En MAD, una aplicación está
distribuida, parte en el dispositivo
móvil en el mundo dinámico y
parte en el mundo estático. El
procesamiento pesado de una
aplicación se realiza en el mundo
estático delegando gran parte de
la carga del dispositivo móvil y
conviviendo así, con la limitación
de procesamiento.
8
REFERENCIAS
Al subir un emulador con bluetooth,
no se le podrá configurar la dirección
bluetooth sino que siempre escogerá
de una lista que no se puede
modificar.
En cuanto a la primera limitante se
resolvió poniendo el SWA en un
teléfono y que este se comunicara
con la plataforma a través de
sockets.
En cuanto a la segunda limitante,
toco convivir con ella y hacer las
pruebas sabiendo que existía.
Se realizaron pruebas de stress y se
observa que el tiempo de respuesta
se mantiene constante a medida que
el número de pasadas aumenta y
corresponde a 63 milisegundos.
Con lo anterior, se prueba que la
arquitectura soporta un gran número
de peticiones concurrentes sin
perder su eficiencia.
También se realizaron pruebas de
escalabilidad en las cuales se
concluyó que el tiempo de respuesta
con dos proveedores de servicio se
[IE2003]
Engineering
The
International
Consortium. “Global
System for Mobile Communication
(GSM)”. 2003.
[ITAM2000] Instituto Tecnológico
Autónomo de México. Estandar
IEEE
802.11.b.
2000
en
http://ccomputo.itam.mx/redes/se
rvicios/wlan/802_11b.htm.
[JUN2002] Juntao Michael, Let
the mobile games begin, Part 1.
A comparison of the philosophies,
approaches, and features of
J2ME and the upcoming .Net CF.
Página
1.
2002
en
http://www.javaworld.com/javawo
rld/jw-02-2003/jw-0221wireless.html
[MAL2003] Malyan
R.
Lenaghan A. A Multi-service
Architecture to Support Mobile IP
Applications over Heterogeneous
Wireless Networks. Networking
and Communications Group,
Kingston University. Reino Unido.
2003
[ROB2003]
Robotiker.
Tecnología
Bluetooth
(2):
características del enlace radio y
el establecimiento de la conexión
en Revista Robotiker No. 4 del
2003
en
http://revista.robotiker.com/articul
os/articulo28/pagina1.jsp.
[THA2000] Thakkar
Amisha.
Wireless Architecture for access
to Remote Services (WIARS).
State University of New York at
Buffalo. 2000
[VNU2002]
Vnunet.
“Los
terminales se hacen inteligentes
gracias a Java”. Julio del 2002.
[ZAC2003] Zachariadis
Stefanos.Use of Logical Mobility
for Mobile Self-Organisation.
Department of Computer Science
University
College
London,
University of London, Noviembre
del 2003.
Descargar