Control de Desconexiones Visualizando Páginas Web en
Dispositivos Móviles Windows CE
Juan Carlos Olivares Rojas1
, Juan Ga...
Los principales eventos que producen una
desconexión según [2] son los siguientes:
1. El nodo se ha movido
2. Se presenta ...
razones la mejor herramienta para programar
en esta clase de dispositivos.
En la Figura 1, se muestra el proceso de
obtenc...
El módulo de desconexiones se probó 100
veces obteniéndose un promedio de 14.98
peticiones realizadas en 3 segundos (se
de...
recurso si este se encuentra en la caché local
del dispositivo móvil; en caso contrario,
muestra un mensaje de error, tal ...
V CONCLUSIONES
En la actualidad es cada vez menos
común que se presenten eventos de
desconexión en redes inalámbricas, per...
Próxima SlideShare
Cargando en…5
×

Control de Desconexiones en la Visualización de Páginas Web en Dispositivos Móviles

190 visualizaciones

Publicado el

Articulo del CIECE 2006, Instituto Tecnológico de Sonora (ITSON), Ciudad Obregón, Sonora

Publicado en: Móvil
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
190
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Control de Desconexiones en la Visualización de Páginas Web en Dispositivos Móviles

  1. 1. Control de Desconexiones Visualizando Páginas Web en Dispositivos Móviles Windows CE Juan Carlos Olivares Rojas1 , Juan Gabriel González Serna1,2 , Azucena Montes Rendón.1 y Víctor Jesús Sosa Sosa1 1 Centro Nacional de Investigación y Desarrollo Tecnológico (cenidet) Cuernavaca, Morelos, México 2 Centro de Investigación en Computación (CIC-IPN), México, D.F. {jcolivares04c, gabriel, amr y vjsosa}@cenidet.edu.mx RESUMEN Este artículo muestra la forma en que se debe de controlar las desconexiones en dispositivos móviles con sistema operativo Windows CE (Pocket PC, Smartphone), mientras se está trabajando en aplicaciones de red orientadas a conexión, como es el caso de la visualización de páginas en la Web. El objetivo de este proyecto es tener “La Web a un tap (punteo) de distancia” por parte de los usuarios. Todo esto conlleva al control de las desconexiones que se presentan en un ambiente altamente móvil (redes inalámbricas con WiFI y/o Bluetooth). Palabras clave: Desconexión, Bluetooth, Pocket PC, Redes Inalámbricas, Smartphone, WiFi, Windows CE. I INTRODUCCIÓN El sueño de acceder a la información en cualquier momento, en todo lugar y a través de cualquier medio, está siendo posible gracias a la aparición de los dispositivos móviles; dichos dispositivos están popularizándose debido a dos grandes factores: la miniaturización de componentes y el uso de redes inalámbricas. Actualmente, los dispositivos móviles y más específicamente los dispositivos PDAs, han dejado de ser simples “jugetes electrónicos” para convertirse en verdaderas plataformas de cómputo. La movilidad es el atractivo principal de esta clase de dispositivos, la cual también se convierte en su principal desventaja. Dicha movilidad se ha logrado en gran medida con el empleo de redes inalámbricas como WiFi y Bluetooth. Debido a las características del medio físico de transmisión (ondas de radio), la transmisión en esta clase de redes presenta consideraciones no previstas en esquemas tradicionales de redes; dichas consideraciones se reflejan en desconexiones/reconexiones por parte de los clientes. La mayoría de los protocolos y aplicaciones disponibles a través de una red, necesitan de enlaces confiables y persistentes que en una red inalámbrica no están disponibles; tal es el caso de la Web, la cual es orientada a conexión (recordar que HTTP está basado en TCP y éste es un protocolo orientado a conexión) y si no existen las condiciones idóneas, los recursos no pueden ser visualizados por los clientes. II DESCONEXIONES Por desconexión se entiende la condición que se presenta cuando un equipo móvil es incapaz de comunicarse con algunos o todos los puntos de la red. A pesar del gran auge que han tenido las redes inalámbricas, aun siguen presentando una gran desventaja: son menos confiables que su contraparte cableada. De acuerdo con [1] se estima la tasa de error de las redes cableadas es de una magnitud de 10 -10 por 10 -4 de su contraparte inalámbrica, lo que propicia que de cada megabit transmitido, un kilobit será erróneo.
  2. 2. Los principales eventos que producen una desconexión según [2] son los siguientes: 1. El nodo se ha movido 2. Se presenta un traspaso de célula 3. Se ha añadido o removido un dispositivo adaptador de red. 4. La calidad de la señal de radio se ha deteriorado. 5. La batería está perdiendo capacidad. 6. Se ha detectado una nueva red. 7. Se ha detectado una variación en el ancho de banda. Los eventos de desconexión entre otros factores, ocasionan que las redes inalámbricas presenten menor ancho de banda, menor desempeño, poca confiabilidad y mínima seguridad; en conclusión, presentan menos garantías de calidad de servicio (QoS) que las redes de infraestructura cableada, lo cual es crítico en muchas aplicaciones como por ejemplo sistemas basados en la Web o sistemas multimedia. Actualmente se está trabajando en la parte técnica (protocolos, componentes electrónicos, etc.) de las redes inalámbricas; por lo que, en entornos donde existe poca movilidad, el uso de redes inalámbricas es altamente confiable y está creciendo vertiginosamente (e.g. redes inalámbricas caseras). El esquema tradicional de comunicaciones distribuidas (arquitectura cliente/servidor) así como todos los esquemas orientados a conexión presentan las siguientes características: 1. Requiere de una conexión persistente. 2. Si la conexión se pierde, la transacción también. 3. Cualquier falla de comunicación es atribuida a la red. 4. Su esquema de interacción es consumidor de tiempo. Con el tiempo, se ha podido a preciar que el modelo cliente/servidor en ambientes móviles presenta las siguientes características: Los periodos de desconexión son frecuentes. 1. Están limitados en tiempo de conexión debido a la batería. 2. Los enlaces en ocasiones son caros y poco confiables. Ante estas circunstancias, se hace necesario llevar un control y administración de las transacciones realizadas en un ambiente móvil. Este trabajo se enfoca en la visualización de páginas Web, ya que se ha comprobado que es el recurso más utilizado en la Internet después del correo electrónico. III ANTECEDENTES El desarrollo de esta propuesta forma parte de un Sistema de Gestión de Acaparamiento en esta clase de dispositivos móviles [3]. Él cual a su vez forma parte del proyecto Moviware [4], cuyo objetivo principal es brindar servicios a equipos móviles que están propensos a frecuentes desconexiones. En [5] se trabajó en una idea similar, con la salvedad de que el desarrollo fue para clientes móviles tradicionales (laptops con interfaces de red inalámbrica); mientras que en el presente trabajo de investigación se está laborando sobre arquitecturas no tradicionales como es el caso de dispositivos móviles con sistema operativo Windows CE. IV METODOLOGÍA DE SOLUCIÓN Un esquema interesante para resolver el problema de las desconexiones cuando se accede a recursos Web, es el acaparamiento de sitios Web. El acaparamiento se basa en la idea de que el espectáculo debe continuar. Si los usuarios no pueden acceder a los datos, los datos deben seguir a los usuarios. Esto es muy similar a la recarga de energía en las baterías de los dispositivos móviles; por lo que en el acaparamiento se habla de “recarga de datos”. Así como un usuario móvil carga su batería y se desconecta de la red eléctrica para trabajar, así del mismo modo un usuario acapara recursos informáticos mientras éste se encuentre conectado a una red inalámbrica, para posteriormente poder visualizar sitios Web sin necesidad de estar conectado. El Acaparamiento de acuerdo con [6], es el proceso de replicación y proceso en desconexión de datos previamente seleccionados y copiados localmente en el cliente móvil. En este trabajo nos enfocamos al desarrollo de un módulo de control de desconexiones, al que se ha denominado GDL (Gestor de Desconexiones Locales), dicho módulo al igual que el GAP (Gestor de Acaparamiento para Pocket PC) está desarrollado en .NET CompactFramework con lenguaje C#, ya que según un estudio realizado con anterioridad [7], es por muchas
  3. 3. razones la mejor herramienta para programar en esta clase de dispositivos. En la Figura 1, se muestra el proceso de obtención de un recurso en la Web a través del sistema que se está desarrollando. Figura 1. Diagrama de estado del proceso de obtención de un recurso Web La parte principal de este esquema consiste en los procesos de monitorear la conexión (en el caso de que no se pueda obtener un recurso en línea), así como también la reconexión (en caso de que el sistema este desconectado y se detecte que el medio de comunicación es fiable y haya conexión). Determinar el estado de la conexión no es una tarea sencilla, dado que si determinamos el estado de la conexión de primera mano, podría llevarnos a conclusiones equívocas; por ejemplo, determinar que existe una desconexión cuando el recurso no pudo obtenerse (podría ser que el servidor Web no responda pero la conexión es correcta) o determinar que el dispositivo se encuentra conectado pero la conexión es inestable y en un momento existe conexión y en otros no. Por estos motivos se desarrolló un mecanismo para predecir desconexiones que a continuación se describe. Para el proceso de monitoreo, simplemente verificamos que el Proxy en el lado servidor GAT (Gestor de Acaparamiento y Transcodificador) este funcionando adecuadamente. Dicho intermediario se encarga de obtener el recurso Web acapararlo en el servidor para después enviarlo al cliente. También realiza transcodificación de contenidos Web en caso de ser necesario (por transcodificación se entiende el proceso de convertir un recurso Web de tal forma que su contenido se adapte a las limitantes de despliegue de cualquier clase de dispositivos [8]). Este Proxy se encuentra actualmente en desarrollo. El monitoreo se aplicó a dispositivos Pocket PC 2000, 2002 y 2003 Second Edition (Windows Mobile); enfocándonos en esta última plataforma, ya que nos permite instalar una consola de línea de comandos y hacer un seguimiento del proceso de monitoreo, tal y como se muestra en la Figura 2. Figura 2. Monitoreo de conexiones en dispositivos móviles PPC 2003 El proceso de monitoreo consistió en determinar de manera aleatoria durante tres segundos el número de peticiones que se podrían realizar (aproximadamente 15 peticiones, en un rango de aproximadamente 200ms por petición). Se eligió este esquema a comparación de monitorear constantemente el desempeño de la red, ya que de esta forma se consumía mucho tiempo de proceso innecesario. En la Tabla 1 se muestran los resultados obtenidos de la prueba al GDL. Tabla 1. Resultados obtenidos de las pruebas. Peticiones Acertadas Fallas Eficiencia 14.98 10.87 4.2 70.54%
  4. 4. El módulo de desconexiones se probó 100 veces obteniéndose un promedio de 14.98 peticiones realizadas en 3 segundos (se determinó este valor ya que si se escoge un valor más pequeño no se puede obtener suficiente información, y si se escoge un valor más grande se pierde tiempo vital para la visualización de recursos), de las cuales 10.87 fueron correctas y 4.2 incorrectas para un 70.54% de eficiencia. En algunos casos probar eventos de desconexión es difícil (e.g. transpaso de células o redes, errores de hardware, instalación en caliente de interfaces de red, etc.) Se simularon desconexiones al apagar/encender el mecanismo GAT, ya que se parte del hecho de que aunque haya conexión y garantías de buena comunicación si no nos podemos comunicar con nuestro intermediario, el sistema se encuentra aislado del mundo exterior dado que no hay salida. El esquema de posibles desconexiones se detalla en la Figura 3 Figura 3. Esquema de desconexiones. En el esquema 1 la desconexión con el GAT se da entre dos equipos móviles que están en una red ad hoc o sin infraestructura. En el esquema 2, la desconexión se da entre un cliente móvil y un cliente fijo; mientras que en el esquema 3, la desconexión se produce entre el dispositivo y su punto de acceso o estación base. De las pruebas realizadas, se obtuvo que el índice de eficiencia es de aproximadamente 70%, además se observó que cuando se presentaban transacciones por debajo del 30% de efectividad, era muy difícil completarlas; es por esto que se escogió este índice para determinar si se presenta una desconexión o no; es decir, se necesitará que el sistema tenga al menos el 30% de eficiencia para determinar que se encuentra conectado, caso contrario, estará desconectado. Una vez probado dicho módulo, éste se agregó al proyecto general. Se pudo observar que no es necesario vigilar el estado de la conexión de manera continúa, solamente en el caso de que se pida una petición de un recurso Web, dado que los navegadores realizan peticiones de manera explicita por parte de los usuarios. Figura 4. Eficiencia en el control de desconexiones. En la Figura 5, se muestra la incrustación del módulo de desconexiones en el GAP. En este ejemplo se presenta un error ya que no se pudo obtener un recurso en la Web y se determinar el estado de la conexión. Al estar el estado de la conexión por arriba del 30% el sistema se encuentra en modo conexión. Si el índice hubiese sido inferior al 30% el sistema hubiese pasado a un estado desconectado. En la Figura 6, se puede visualizar la forma en que ocurre una reconexión. Estando el sistema en modo desconexión, este no puede realizar peticiones hacia recursos Web pero el sistema realiza una petición única para determinar si ya existe conexión. En este caso, se escogió que el sistema intentará determinar el estado de la conexión hasta el final, dado que si se intentará realizar una petición en modo desconexión existiría un retardo y una gran probabilidad de que el recurso no se pudiese obtener. Sólo se realiza una petición de reconexión y no un conjunto de peticiones como en el caso de monitorear la conexión, debido principalmente al retardo en el proceso y a que si se detectará una conexión el sistema es capaz de detectar una desconexión y ya no se tendría que codificar un módulo extra. Si el GAP se encuentra en modo conexión se muestra el recurso de la red (transcodificándolo si es necesario). En modo desconexión el sistema debe mostrar el
  5. 5. recurso si este se encuentra en la caché local del dispositivo móvil; en caso contrario, muestra un mensaje de error, tal y como se ve en la Figura 7. Nótese que el acceso a los recursos en la caché local es transparente al navegador, por lo que el navegador no se da cuenta si el recurso está en la red o en el dispositivo (no se emplea el protocolo file://). Figura 5. Monitoreo de una desconexión en el GAP. Figura 6. Ejemplo de Reconexión en el GAP Figura 7. Visualización de recursos en modo desconexión. El GDL también se probó en otros dispositivos como el emulador de Windows CE .NET (4.2) y en un Smartphone con Windows Mobile 2003. En éste último el programa se ejecuta al igual que en la mayoría de las PPCs pero no se visualizan resultados dado que no se cuenta con un shell de líneas de comando (en la versión 2003 de PPCs y superior se puede instalar una consola de línea de comandos). La ejecución del programa en el teléfono celular con Windows Mobile 2003 se muestra en la Figura 8. Figura 8. Ejecución del monitor de desconexiones en un Smartphone 2003.
  6. 6. V CONCLUSIONES En la actualidad es cada vez menos común que se presenten eventos de desconexión en redes inalámbricas, pero debido a la naturaleza del medio físico de transmisión, dichos eventos siempre se presentarán y será necesario tomar está y otras consideraciones cuando se realicen aplicaciones en dispositivos móviles. Las desconexiones son una norma en ambientes móviles y lejos de enfocarse en tratar de eliminarlas completamente se debe hacer frente a los eventos de desconexión. Tal es el caso de este trabajo, en donde se implementó un módulo gestor de desconexiones locales en esta clase de desconexiones, obteniendo una métrica del 30% de efectividad para determinar si un cliente móvil se encuentra desconectado o no. VI AGRADECIMIENTOS Al CoSNET por el apoyo económico brindado conn la beca número 102004189PJ para estudios de maestría. VII REFERENCIAS [1] Roldán Martínez, David, “Comunicaciones inalámbricas. Un enfoque aplicado”, Editorial Alfaomega, México, 2005, ISBN 970-15-1078- X, pp. 363. [2] Alarcón Gálvez, Fernando, “Mecanismo para Gestión de Conexión en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [3] Olivares Rojas, Juan Carlos, “Gestor de Acaparamiento de Sitios Web Transcodificados para Plataforma Pocket PC”, tesis de maestría en desarrollo, cenidet, enero de 2005. [4] González Serna Juan Gabriel. “Plataforma middleware reflexiva para aplicaciones de cómputo móvil en Internet (Movirware)”, Centro Nacional de Investigación y Desarrollo Tecnológico (cenidet), de septiembre de 2001 a agosto de 2003, financiamiento COSNET: 570.01-P. [5] Verduzco Reyes Gustavo, “Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles”, tesis de maestría, cenidet, agosto de 2003. [6] Valenzuela Molina David R., “Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [7] González Serna Gabriel, Montes Rendón Azucena, Olivares Rojas Juan Carlos. “Comparativa y evaluación de las herramientas de programación para desarrollar aplicaciones en plataforma Pocket PC”. 6to. Congreso Internacional de las Ciencias Computacionales. Colima, Colima, México, septiembre de 2005. [8] Uriarte Cabada Claudia Selene. “Transformador de Contenidos Web para Asistentes Personales Digitales”, tesis de maestría, cenidet, julio de 2004. CURRICULUM VITAE Juan Carlos Olivares Rojas es Ingeniero en Sistemas Computacionales por el Instituto Tecnológico de Morelia. Actualmente realiza postgrado de Maestría en Ciencias en Ciencias de la Computación en la especialidad de Sistemas Distribuidos en el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET). También es vicepresidente de la rama estudiantil del CENIDET-IEEE. Sus áreas de interés son el cómputo móvil, redes de telecomunicaciones y base de datos. Es Candidato a Doctor en Ciencias de la Computación por el CIC del IPN. Sus áreas de interés son: Redes inalámbricas (802.11x y Bluetooth), Minería de uso de la Web y Sistemas Distribuidos. Azucena Montes Rendón estudió Doctorado en Matemáticas en la Université de Paris-Sorbonne en Francia, en 2002. Sus áreas de interés son: Tratamiento informático del lenguaje natural, Web semántica e inteligencia artificial. Víctor Jesús Sosa Sosa es Doctor en Ciencias de la Computación por la Universidad Politécnica de Cataluña. Sus áreas de interés son: Sistemas distribuidos, Programación en el Web, Bases de datos y Sistemas operativos.

×