• No se han encontrado resultados

Propuesta de servicio de localización en interiores para dispositivos móviles

N/A
N/A
Protected

Academic year: 2020

Share "Propuesta de servicio de localización en interiores para dispositivos móviles"

Copied!
78
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA Propuesta de servicio de localización en interiores para dispositivos móviles. Autor: David Jesús Acuña Marrero Tutor: Ing. Arnaldo Moreno Montes de Oca. Santa Clara 2013 "Año 55 de la Revolución".

(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA Propuesta de servicio de localización en interiores para dispositivos móviles Autor: David Jesús Acuña Marrero e-mail: [email protected]. Tutor: Ing. Arnaldo Moreno Montes de Oca Departamento de Electrónica y Telecomunicaciones Facultad de Ingeniería Eléctrica e-mail: [email protected]. Santa Clara 2013 “Año 55 de la Revolución ".

(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Tutor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. No tenemos la oportunidad de hacer muchas cosas, por lo que cada cosa que hagamos debe ser excelente .Porque esta es nuestra vida. Steve Jobs.

(5) ii. DEDICATORIA. A mi familia, por estar siempre ahí cuando la he necesitado, por su apoyo en cada una de las decisiones que he tomado y por confiar en mí todos estos años, esta es su recompensa..

(6) iii. AGRADECIMIENTOS. • A Dios por ser mi cuidador por excelencia. • A mi mamá, mi tía y mi tío que siempre han estado ahí para mí. • A mi novia Betty, por darme su amor y los consejos necesarios en los momentos difíciles, aun cuando las cosas empezaron a cambiar. • A los primos, por ayudarme a seguir adelante y a continuar el camino sin importar el momento y las circunstancias. • A mi tutor Arnaldo por brindarme su ayuda y experiencia, sobre todo en los momentos finales. • A aquellos profesores que supieron ganarse mi respeto por su conocimiento, gracias a ellos hoy conozco un poquito más..

(7) iv. TAREA TÉCNICA. •. Realizar un estudio que permita determinar las técnicas y algoritmos de localización en interiores a emplear.. •. Determinar la estructura del servicio y división de las funciones entre el cliente y el servidor.. •. Seleccionar las herramientas de desarrollo que permitan la confección de las aplicaciones cliente–servidor.. •. Implementar los diferentes algoritmos matemáticos en el lenguaje de programación seleccionado.. •. Crear las aplicaciones servidor, cliente y de recopilación de los datos de entrenamiento del servicio.. •. Validar el correcto funcionamiento del servicio implementado en una parte del área de la Facultad de Ingeniería Eléctrica, de la Universidad Central “Marta Abreu” de Las Villas.. Firma del Autor. Firma del Tutor.

(8) v. RESUMEN. El incremento de los servicios basados en la localización, unido a la ineficiencia de los sistemas de posicionamiento global para la localización de dispositivos móviles en interiores, ha propiciado el desarrollo de sistemas de localización en interiores capaces de sustentar gran cantidad de aplicaciones. En el presente trabajo se desarrolló un servicio de localización en interiores para ser utilizado en la Universidad Central “Marta Abreu” de Las Villas. Primeramente se estudió el entorno donde será implementado el servicio y las diferentes técnicas que permiten la estimación de la localización en interiores. Esto determinó la elección de la arquitectura cliente-servidor como columna vertebral del servicio de localización. También determinó el empleo de los algoritmos de estimación de la posición KNN y WKNN del método de reconocimiento de patrones, el cual está basado en la intensidad de la señal recibida sobre la tecnología 802.11. Luego se desarrollaron los softwares que forman el servidor y las aplicaciones clientes para el sistema operativo Android, las cuales permitieron la estimación de la localización y el entrenamiento del sistema. Para validar el funcionamiento del servicio de localización se seleccionó un entorno de pruebas, donde se realizó previamente un entrenamiento del sistema. Los resultados obtenidos fueron satisfactorios..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO................................................................................................................. i DEDICATORIA ................................................................................................................ ii AGRADECIMIENTOS .....................................................................................................iii TAREA TÉCNICA ........................................................................................................... iv RESUMEN ........................................................................................................................ v INTRODUCCIÓN ............................................................................................................. 1 CAPÍTULO 1. 1.1. MARCO TEÓRICO ................................................................................ 4. Servicios basados en localización ........................................................................ 4. 1.1.1 Definiciones y clasificación de los servicios basados en localización............... 5 1.1.2 Privacidad del usuario en los LBSs.................................................................. 6 1.1.3 Ejemplos de sistemas con LBSs ...................................................................... 7 1.1.4 Funcionamiento de los LBSs ........................................................................... 7 1.2. Descripción del entorno de la UCLV ................................................................... 9. 1.3. Arquitectura cliente-servidor ............................................................................. 10. 1.3.1 Cliente .......................................................................................................... 12 1.3.2 Servidor ........................................................................................................ 12 1.4. Sistemas de localización.................................................................................... 13. 1.5. Sistemas de localización en interiores ............................................................... 14.

(10) vii 1.5.1 Tecnologías para la localización en interiores ................................................ 14 1.5.2 Técnicas de localización usando 802.11 ........................................................ 15 1.5.3 Métodos para la estimación de la localización basados en RSSI .................... 16 1.5.4 Algoritmo para la estimación de la localización............................................. 18 1.6. Conclusiones del capítulo .................................................................................. 20. CAPÍTULO 2.. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO. DE LOCALIZACIÓN ...................................................................................................... 22 2.1. Servidor ............................................................................................................ 22. 2.1.1 Intercambio de información entre el cliente y el servidor ............................... 25 2.1.2 Intercambio de información con la BD .......................................................... 28 2.1.3 Cálculo de la estimación de la localización .................................................... 29 2.1.4 Manipulación de las imágenes como mapas y ubicación de la posición de los usuarios. ................................................................................................................... 30 2.1.5 Manejo de usuarios conectados y su visibilidad ............................................. 31 2.2. Cliente .............................................................................................................. 33. 2.2.1 El cliente móvil para teléfonos inteligentes y tabletas Android ...................... 33 2.2.2 La aplicación para el entrenamiento del sistema de localización .................... 36 2.2.3 Visualización de usuarios conectados desde un navegador web ..................... 38 2.3. Conclusiones del capítulo .................................................................................. 39. CAPÍTULO 3.. PRUEBAS Y RESULTADOS ............................................................... 41. 3.1. Entorno de Pruebas ........................................................................................... 41. 3.2. Entrenamiento ................................................................................................... 44. 3.3. Funcionamiento del cliente de localización ....................................................... 48. 3.3.1 Estimación de la posición del usuario ............................................................ 49 3.3.2 Comparación entre los resultados obtenidos con ambos terminales ................ 51.

(11) viii 3.3.3 Localización de otros usuarios....................................................................... 52 3.4. Conclusiones del capítulo .................................................................................. 54. CONCLUSIONES Y RECOMENDACIONES ................................................................ 56 Conclusiones ................................................................................................................ 56 Recomendaciones ......................................................................................................... 57 REFERENCIAS BIBLIOGRÁFICAS .............................................................................. 58 ANEXOS ......................................................................................................................... 61 Anexo I. Identificadores de modos de operación ...................................................... 61. Anexo II. Variables para el envío de los datos utilizando el método POST. ............... 62. Anexo III. Códigos de respuesta del servidor .............................................................. 63. Anexo IV. Diagrama entidad-relación de la BD .......................................................... 65. Glosario de Términos ................................................................................................... 66.

(12) INTRODUCCIÓN. 1. INTRODUCCIÓN. En los últimos años se ha experimentado un aumento considerable de las redes de telecomunicaciones a nivel mundial. Esto ha hecho que cada día tome una mayor importancia la implementación de nuevos servicios de valor agregado. Generalmente estos servicios utilizan los recursos de las infraestructuras existentes, permitiendo de esta manera un mayor aprovechamiento de la tecnología ya instalada. Las redes inalámbricas y los sistemas de localización han cobrado en la actualidad un gran interés. En el primer caso, imponiéndose estas como una de las vías de acceso más utilizadas en las comunicaciones actuales, lo que ha llevado a que existan infraestructuras maduras con gran popularidad y gran cantidad de dispositivos compatibles. Mientras que la importancia en los sistemas de localización radica en la necesidad de conocer con exactitud la posición de un objetivo independiente de las características propias del lugar. Es por ello, que se han desarrollado varios sistemas como por ejemplo el sistema de posicionamiento global (GPS, por sus siglas en inglés), el cual permite determinar la posición de un objeto con una precisión hasta de centímetros. Desafortunadamente, la utilización de este servicio en los interiores de edificaciones no es posible en muchas ocasiones. Esto es debido a la atenuación de las señales empleadas en dicho sistema, las cuales provienen de satélites ubicados a grandes distancias. Otras señales como las provenientes del servicio de telefonía celular también sufren grandes atenuaciones en interiores, es por ello que las señales provenientes del servicio Fidelidad Inalámbrica (Wi-Fi, por sus siglas en inglés) son las más empleadas en la localización en interiores. Esto se debe a que las señales del servicio Wi-Fi son transmitidas generalmente desde el interior de las edificaciones y que dicho servicio posee un gran despliegue a nivel mundial..

(13) INTRODUCCIÓN. 2. Existen numerosas investigaciones sobre diferentes técnicas de localización en interiores utilizando las redes Wi-Fi, en las cuales se han obtenido resultados satisfactorios, que proporcionan una forma fácil y económica con la cual prestar el servicio al usuario final. En el marco de la Universidad Central “Marta Abreu” de Las Villas (UCLV) se han desarrollado trabajos sobre el tema donde se han obtenido buenos resultados y también se dispone de toda la infraestructura necesaria, desde la red Wi-Fi, hasta los servidores de datos. Sin embargo, no se cuenta con un servicio de localización en interiores el cual sería muy útil. Es por esto que surge la necesidad de preguntarse: ¿Cómo desarrollar un servicio basado en algoritmos y estudios previos, que permita la estimación de la posición de un dispositivo móvil en interiores, utilizando las infraestructuras de redes Wi-Fi existentes en la UCLV? En respuesta a esta interrogante científica se planteó como objetivo general de la presente investigación, el siguiente: •. Desarrollar un servicio de localización en interiores para dispositivos móviles utilizando las infraestructuras de redes Wi-Fi existentes en la UCLV.. Partiendo del objetivo general y realizando una subdivisión de este, surgen los objetivos específicos siguientes: •. Determinar las técnicas, métodos y algoritmos para la estimación de la localización en interiores en el entorno de la UCLV.. •. Implementar una aplicación que permita recopilar los datos de entrenamiento del servicio de localización.. •. Implementar el servicio de localización en un entorno cliente-servidor.. •. Comprobar el correcto funcionamiento del servicio en una pequeña área dentro de la UCLV.. A partir de los objetivos se derivan las siguientes interrogantes científicas: •. ¿Cuáles algoritmos de localización se ajustan mejor a los entornos de la UCLV?. •. ¿Cómo adaptar la estructura cliente–servidor para implementar un servicio de localización en la UCLV?.

(14) INTRODUCCIÓN. •. 3. ¿Qué herramientas permiten el desarrollo del servicio de localización y de la aplicación de recopilación de los datos de entrenamiento?. Luego de la ejecución del proyecto se darán soluciones a problemáticas modernas vinculadas a la localización en entornos cerrados. Es por ello que la implementación de este servicio es de beneficio para la entidad, tanto para todos los visitantes como para el personal de la UCLV, los cuales como usuarios finales, una vez concluido este proyecto, tendrán la posibilidad de obtener una estimación de su ubicación o la de sus conocidos en su dispositivo móvil. El. trabajo. queda. estructurado. en:. introducción,. tres. capítulos,. conclusiones,. recomendaciones, referencias bibliográficas y anexos: El primer capítulo se dedicará al análisis de los servicios basados en localización, su definición, funcionamiento e importancia de la privacidad del usuario en los mismos. Posteriormente, se realizará una descripción de la infraestructura donde se implementará el servicio. Luego, se estudiará la arquitectura cliente-servidor debido a la correspondencia directa con el entorno implementado y el bajo poder de cómputo de la mayoría de los dispositivos móviles actuales. Finalmente, se analizarán los sistemas de localización en interiores, donde se realizará un estudio comparativo de los diferentes algoritmos de localización que se usarán en el trabajo. En el segundo capítulo se describirá la implementación y funcionamiento del servicio basado en la arquitectura cliente-servidor. Primeramente, se describirá el funcionamiento de la parte del servicio correspondiente al servidor, donde quedará implementado el procesamiento principal del servicio de localización. Seguidamente se describirá la implementación de aplicaciones clientes para dispositivos móviles con sistema operativo Android. Estas aplicaciones incluyen el cliente para usuarios y la aplicación que permite recopilar los datos de entrenamiento del servicio de localización. En el tercer capítulo se realizará una descripción del entorno de pruebas donde fueron ejecutadas las aplicaciones referentes a las partes cliente y servidor. Se describe el proceso de entrenamiento al sistema y posteriormente se exponen los resultados del servicio implementado..

(15) CAPÍTULO 1. MARCO TEÓRICO. 4. CAPÍTULO 1. MARCO TEÓRICO. En este capítulo se abordan las características generales de los servicios basados en la localización así como su definición y funcionamiento. Posteriormente se realizará un análisis del entorno de la UCLV y la red de datos existente. Luego, se explicará la arquitectura cliente-servidor. La cual dado el entorno donde será implementado el servicio, permitirá que cada parte realice aquellas funciones que son más adecuadas a sus características. Finalmente, se realizará un estudio sobre los sistemas de localización haciendo un mayor énfasis en los sistemas de localización en interiores, los cuales son parte fundamental del objetivo de este trabajo. En dicho estudio se detallarán las diferentes técnicas de localización. También se analizarán los diferentes algoritmos que proporcionan la estimación de esta en interiores haciendo uso del estándar 802.11. 1.1. Servicios basados en localización. La convergencia de tecnologías múltiples, incluyendo Internet, las comunicaciones inalámbricas, los sistemas de posicionamiento y los dispositivos móviles, han introducido un nuevo tipo de tecnología de la información llamada servicios basados en localización (LBS, por sus siglas en inglés). También llamados servicios de localización móvil o servicios de localización inalámbrica, dichos sistemas se encuentran bajo una gran demanda en los últimos años como resultado del interés para un usuario móvil de conocer determinada información respecto al lugar donde se encuentra (Koeppel, 2000). Es por ello que en la mayoría de los casos los LBS y los servicios de localización (LCS, por sus siglas en inglés) aparecen de forma conjunta ya que la mayor atracción hacia los LBS ha sido que los usuarios no necesiten introducir de forma manual su localización debido a que estos son.

(16) CAPÍTULO 1. MARCO TEÓRICO. 5. automáticamente identificados y ubicados. Por lo tanto, la clave de esta tecnología es contar con un sistema de localización. 1.1.1 Definiciones y clasificación de los servicios basados en localización Aunque los LBSs han sido un asunto de gran interés para el campo de las comunicaciones móviles durante muchos años, aún no existe una definición o terminología común para ellos. Una razón para este dilema han sido los diferentes puntos de vistas entre los sectores y áreas que hacen mención a ellos, principalmente entre el sector de las telecomunicaciones y el de las ciencias de la computación. Según J. Schiller y de acuerdo con la asociación del sistema global para las comunicaciones móviles (GSM, por sus siglas en francés), la cual constituye un consorcio de más de 600 redes de operadoras GSM en todo el mundo, dedicada al apoyo de la normalización, la implementación y promoción del sistema de telefonía móvil, se pueden definir los LBSs como aquellos servicios que integran la localización o posición de un objetivo con otra información que provee un valor adicional al usuario (Schiller and Voisard, 2004, GSM Association, 2013, Kupper, 2005). La asociación GSM presenta tres ejemplos donde el valor es determinado con un filtrado de la información disponible, siendo estos, la selección de puntos de interés cercanos, mostrar la localización de un objetivo en un mapa y automáticamente activar un servicio cuando un objetivo entra o deja una localización predefinida. Otra abstracta definición de acuerdo con el Proyecto Asociación de Tercera Generación (3GPP, por sus siglas en inglés), define los LBSs como un servicio proveído por un proveedor de servicios que utiliza la información disponible de localización en el terminal (3GPP, 3GPP, 2000). Es importante destacar, debido a la no existencia de una terminología común, la diferencia que existe entre los LBSs y los LCSs. Según 3GPP radica en que un LCS no implica el procesamiento de los datos de ubicación en el sentido de un filtrado o selección de una ubicación dependiente de la información o llevando a cabo otras acciones de alto nivel como ocurre en un LBS (Kupper, 2005). No obstante los LCSs contribuyen esencialmente a la operación de los LBSs, ya que estos constituyen un importante subservicio de ellos. Sin un LCS un usuario de un LBS tendría que introducir sus datos de ubicación manualmente.

(17) CAPÍTULO 1. MARCO TEÓRICO. 6. lo que conllevaría a un tedioso procedimiento debido principalmente a que en la mayoría de los casos la necesidad de utilizar el servicio surgiría en un dispositivo móvil mientras el usuario está en movimiento y con una limitada interfaz gráfica. Es por ello que en mayoría de los casos los LBS y los LCSs aparecen en conjunción como sucede en el marco de este trabajo. Los LBS pueden ser clasificados en reactivos y proactivos (Kupper, 2005). Un servicio reactivo, el cual se explicará a continuación puesto que es el que se pone de manifiesto en este trabajo, es siempre explícitamente activado por el usuario. Por lo tanto, para la interacción entre el LBS y el usuario, este debe invocar el servicio primeramente y luego realizar su solicitud. Esto permite al servicio obtener sus datos, procesarlos y retornar el resultado al usuario. Por ejemplo, la ubicación de los amigos que se encuentran en el mismo lugar o el nombre de la institución donde se encuentra. Es por ello que se pueden caracterizar los LBS reactivos por una sincrónica interacción entre el usuario y el servicio. 1.1.2 Privacidad del usuario en los LBSs La información de localización es privada para cada usuario en lo que concierne a la intimidad o privacidad. Existen normativas muy estrictas sobre el tratamiento de la información de localización. Por ejemplo, no se permite el almacenamiento de forma inconsciente por parte del usuario de estos datos. Los organismos de estandarización han reconocido la importancia de la privacidad y se han descrito varios mecanismos para el cumplimiento de las leyes sobre privacidad en lo que respecta a la información de localización. Según las especificaciones del 3GPP, el usuario del móvil “objetivo” debe poder definir qué normas aplicar al tratamiento de la información en diferentes situaciones (3GPP, 1998). Las normas de privacidad se pueden aplicar a un cliente LBS específico, o a un solicitante identificado. En caso de que el usuario no haya definido ninguna norma para ese cliente LBS, el tratamiento predeterminado es no permitir que se determine su posición. Es posible que el usuario desee que se le comunique que alguien ha solicitado su posición, y que puede optar entre aceptar o denegar la solicitud. Además, el usuario puede definir una contraseña y facilitársela a amigos o a las aplicaciones fiables. Cuando se ha definido una contraseña, solo se facilitará la localización a aquellos solicitantes o aplicaciones que proporcionen la contraseña correcta. Para que los servicios de localización como la.

(18) CAPÍTULO 1. MARCO TEÓRICO. 7. navegación sean útiles, es necesario, que la información sea acertada. En cambio, otros servicios como los que ofrecen información local, no dependen de esta condición. De acuerdo con las especificaciones, el usuario también puede definir las normas de privacidad conocidas como tipo de servicio, permitiendo el acceso a determinados servicios y rechazando otros. 1.1.3 Ejemplos de sistemas con LBSs Los LBSs no son un tema reciente, por lo que muchos desarrolladores han puesto su esfuerzo en desarrollar sistemas que ayuden en la localización e información relevante del lugar deseado. Entre ellos se encuentran: •. HERMES: Es una aplicación que demuestra el uso de LBS mostrando en un mapa la trayectoria que haría un objeto que busca a otro en un lugar determinado, aplicándolo para encontrar el taxi más cercano (Pelekis et al., 2008).. •. Google Latitude: Permite saber la localización del usuario por medio de GPS, Cell-ID y mediante el estándar 802.11. Su característica principal es poder encontrar amigos cercanos y contactarlos rápidamente por mensajes de texto, mensajes de internet, o una llamada (Page and Kobsa, 2010).. •. Navitime: Es un LBS comercial enfocado en teléfonos celulares el cual ha sido ganador de diversos premios. Es utilizado en Japón para obtener información de rutas, tráfico y parqueo (Arikawa et al., 2007).. 1.1.4 Funcionamiento de los LBSs La figura 1.1 muestra un esquema del modelo general de funcionamiento de un LBS. En ella se identifican la participación de varios roles. Es importante destacar que este modelo es una aproximación del implementado en este trabajo con el fin de introducir los conceptos necesarios que serán utilizados posteriormente..

(19) CAPÍTULO 1. MARCO TEÓRICO. 8. Figura 1.1 Funcionamiento de un LBS. Objetivo: Como fue mencionado anteriormente, el objetivo es un individuo móvil u objeto a ser localizado, observado o rastreado. Este se encuentra equipado con un terminal móvil, como puede ser el caso de un teléfono celular. Proveedor de localización: El proveedor de localización es el intermediario entre el objetivo y el proveedor del LBS, es el encargado de calcular y corregir la posición del mismo. Proveedor del LBS: El proveedor del LBS constituye el rol central en la cadena. Este es el encargado de recopilar los datos de la ubicación de uno o varios objetivos, ejecutar el análisis espacial y combinarlo con cualquier otro contenido geográfico para finalmente transferir su resultado como datos de la aplicación al usuario final. Proveedor de contenido: El proveedor de contenido es el soporte al proveedor del LBS, por lo que es el encargado de ofrecer a este el contenido geográfico como pueden ser los mapas, las rutas para la navegación, los puntos de interés o alguna noticia relevante sobre el lugar en que se encuentra. Usuario final: Es el individuo que hace uso del LBS, ya sea para obtener información de su propia localización o de cualquier otro objetivo. Este usualmente realiza su petición desde un dispositivo móvil como puede ser un teléfono celular o desde un lugar fijo como puede ser una computadora de escritorio..

(20) CAPÍTULO 1. MARCO TEÓRICO. 1.2. 9. Descripción del entorno de la UCLV. En la UCLV se dispone de una red LAN que actualmente interconecta a 24 servidores profesionales y a más de 2423 computadoras de 13 facultades y 4 centros administrativos y de investigación, con lo que se presta servicio a más de 13000 usuarios entre estudiantes y profesores (Torres Valdivia, 2012). Dicha red posee una parte alámbrica y una parte inalámbrica. La parte alámbrica provee la interconexión entre la totalidad de las facultades del campus universitario y el backbone principal, además de prestar el servicio de acceso a la red al usuario final. Por otro lado, la red inalámbrica es empleada en zonas Wi-Fi que cubren las principales áreas universitarias, permitiendo a los usuarios el acceso a la red. La red inalámbrica de la UCLV cuenta actualmente con 84 puntos de acceso (APs, por sus siglas en inglés) de cuatro modelos diferentes que brindan dicho servicio en el centro, los cuales son: •. Modelo Trendnet, hay 60 APs internos de la norma G instalados, que dan un alcance de 300 m, conectados a 54 Mbps.. •. Modelo Zyxel, hay 4 APs G-3000H internos, con alcance de 300 m.. •. Modelo TPLink, hay 17 APs.. •. Modelo K-BEST, hay 4 APs externos con un mayor alcance de potencia.. La Wi-Fi implementada cuenta con un Servidor RADIUS. El cual, como forma de autentificación utiliza un sistema portal cautivo, que necesita un conmutador portable capa 2 o capa 3 para crear una red de área local virtual (VLAN, por sus siglas en inglés) (Torres Valdivia, 2012). La siguiente figura muestra un resumen de la distribución de la red inalámbrica en toda la zona UCLV. En esta se ha señalado con pequeños APs azules la ubicación de estos dentro del campus..

(21) CAPÍTULO 1. MARCO TEÓRICO. 10. Figura 1.2 Wi-Fi de la UCLV.. 1.3. Arquitectura cliente-servidor. Los LBSs y los LCSs comparten información entre ellos y el dispositivo móvil, haciendo uso de Internet y/o de las redes inalámbricas. Estos generalmente utilizan la arquitectura cliente-servidor. La tendencia al uso de esta arquitectura en estos servicios se encuentra evidenciada por las limitaciones existentes en el hardware de la mayoría de los dispositivos móviles comerciales. Debido a lo cual se reduce la capacidad de procesamiento en estos e impide la manipulación e interpretación de grandes cantidades de datos y la ejecución de algoritmos complejos (Koeppel, 2000). Además, el uso de la arquitectura cliente-servidor en los LBSs y los LCSs permite la centralización del control, la escalabilidad y el fácil mantenimiento del servicio. Como se observó en el epígrafe anterior la UCLV brinda una serie de servicios distribuidos a todos sus usuarios. Dichos servicios se encuentran soportados por servidores que son accesibles desde cualquier parte del campus. Esto permite que como soporte al LCS y a los LBS en el entorno de la UCLV pueda ser utilizada la arquitectura cliente-servidor. La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios llamados servidores, y los demandantes, llamados clientes..

(22) CAPÍTULO 1. MARCO TEÓRICO. 11. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debido a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre cliente y servidor es una separación de tipo lógico. Donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un solo programa. Desde el punto de vista funcional, se puede definir la computación cliente-servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aun en entornos multiplataforma (Carnegie, 2003). En el modelo cliente-servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la respuesta (provee el servicio), la figura 1.3 muestra el proceso. En un sistema distribuido cada máquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras.. Figura 1.3 Diagrama Arquitectura Cliente-Servidor. La idea es tratar a una computadora como un instrumento, que por sí sola pueda realizar muchas tareas, pero con la consideración de que realice aquellas que son más adecuadas a sus características. Si esto se aplica tanto a clientes como a servidores se entiende que la forma más estándar de aplicación y uso de sistemas cliente-servidor es mediante la explotación de las PCs a través de interfaces gráficas de usuario, mientras que la administración de datos y su seguridad e integridad se deja a cargo de computadoras centrales. Usualmente la mayoría del trabajo pesado se hace en el proceso llamado servidor y el o los procesos cliente solo se.

(23) CAPÍTULO 1. MARCO TEÓRICO. 12. ocupan de la interacción con el usuario, aunque esto puede variar. En otras palabras, la arquitectura cliente-servidor es una extensión de programación modular en la que la base fundamental es separar una gran pieza de software en módulos con el fin de hacer más fácil el desarrollo y mejorar su mantenimiento, así como la posibilidad de utilizar clientes considerablemente más baratos que los requeridos por una solución centralizada. 1.3.1 Cliente El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce también con el término inglés front-end (Márquez Avendaño and Zulaica Rugarcía, 2004). El cliente normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI, por sus siglas en inglés), además de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos: • Administrar la interfaz de usuario. • Interactuar con el usuario. • Procesar la lógica de la aplicación y hacer validaciones locales. • Generar requerimientos de bases de datos. • Recibir resultados del servidor. • Formatear resultados. 1.3.2 Servidor Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce también por el término en inglés back-end (Márquez Avendaño and Zulaica Rugarcía, 2004). El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: • Aceptar los requerimientos de bases de datos que hacen los clientes..

(24) CAPÍTULO 1. MARCO TEÓRICO. 13. • Procesar requerimientos de bases de datos. • Formatear datos para trasmitirlos a los clientes. • Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos. 1.4 Sistemas de localización Localización es el proceso por el cual se estima la posición de un elemento dentro de un entorno determinado mediante diferentes técnicas. La posición se representa como un punto en el espacio con dos o tres coordenadas, por lo que puede referirse a ella como un vector de números, cada uno corrigiéndola en una dimensión (Chahé et al., 2001, Delepine et al., 2005). Es por ello que se puede definir un sistema de localización o de posicionamiento, como el sistema encargado de obtener la localización o posición de un objetivo (Kupper, 2005). En la actualidad existen varios métodos para realizar esta operación, pero en general un sistema de localización consiste en (Núñez Sobrino, 2006, Kupper, 2005): • Un conjunto de nodos o APs que emiten una señal al medio (radio, ultrasonidos, luz) y actúan como dispositivos de posicionamiento. • Una serie de elementos electrónicos que reciben esa misma señal después de propagarse por el medio. • Un método de estimación de la posición para que una vez captadas las señales se calcule la posición desconocida del objetivo, a partir de las posiciones de los APs y de los parámetros medidos relativos a estos. La implantación de sistemas de posicionamiento comenzó con sistemas globales, basados en la señal proveniente de satélites, y ha continuado hasta adaptarse a todo tipo de ambientes y tareas, propiciado en gran manera debido al crecimiento de diferentes infraestructuras de redes. Es por ello que se puede clasificar la infraestructura de los sistemas de posicionamiento en tres grupos (Kupper, 2005): • Posicionamiento por satélite • Posicionamiento celular. • Posicionamiento en interiores..

(25) CAPÍTULO 1. MARCO TEÓRICO. 14. 1.5 Sistemas de localización en interiores Los sistemas de localización en interiores son un caso particular de los sistemas de localización ya que estos centran principalmente su utilización en campus universitarios, edificaciones, museos, centros comerciales, entre otros. Desde el punto de vista del usuario final sería muy conveniente contar con un sistema de localización tanto en interiores como exteriores, el cual utilice el mismo dispositivo móvil. No obstante, el mayor problema en la integración de estos servicios ocurre debido a la ausencia de una tecnología universal de posicionamiento en interiores. Esto se encuentra evidenciado debido a la inefectividad de los receptores GPS convencionales dentro de edificaciones y la falta de precisión de los métodos de posicionamiento basados en las redes celulares (Kupper, 2005, Kjærgaard et al., 2010). Es por ello que en los últimos años se ha incrementado una demanda de soluciones autónomas para la localización en interiores las cuales se describen a continuación. 1.5.1 Tecnologías para la localización en interiores En la actualidad existe una gran cantidad de tecnologías inalámbricas que pueden ser utilizadas para la localización en interiores como son: • Identificador por radiofrecuencia (RFID, por sus siglas en inglés) • Bluetooth • Localización por Infrarrojos • Gran ancho de banda (UWB, por sus siglas en inglés) • Zig-Bee • 802.11 Cada una de estas tecnologías provee ciertas ventajas y desventajas, como por ejemplo el costo de la tecnología RFID, el corto alcance en las tecnologías Bluetooth e infrarrojos, la robustez y altísimas velocidades de transmisión de la tecnología UWB y el reducido ancho de banda de la tecnología Zig-Bee (Hoyo Mondeja, 2012, González Borges, 2010). En el presente trabajo se realizó la elección del estándar 802.11 debido a las siguientes razones:.

(26) CAPÍTULO 1. MARCO TEÓRICO. •. 15. Es el estándar utilizado en la implementación de la infraestructura de red inalámbrica existente en la UCLV. Esto implica que no es necesario disponer de ningún hardware adicional a los dispositivos ya existentes.. •. Posee una arquitectura madura y de gran fiabilidad en la transmisión de datos, lo que permite su uso en la arquitectura cliente-servidor para la posterior implementación de los LBSs.. •. Las señales empleadas en esta norma pueden atravesar con relativa facilidad las paredes. Por lo tanto, no es necesario el uso de innumerables APs. Necesitándose entre 2 y 3 APs para cubrir totalmente una planta de 200 ó 250 metros cuadrados (Fuller and Koutsoukos, 2009).. •. Esta tecnología es actualmente el estándar más utilizado para comunicaciones locales inalámbricas. Esto permite contar con gran disponibilidad de dispositivos compatibles a precios reducidos. También permite que el sistema que se implementará, pueda desplegarse fácilmente en una mayor cantidad redes de área local inalámbrica (WLAN, por sus siglas en inglés).. Es importante destacar que entre las tecnologías mencionadas no se encuentran el GPS debido a que como se comentaba anteriormente, en interiores es bastante ineficiente. 1.5.2 Técnicas de localización usando 802.11 Existen diversas técnicas de localización que pueden utilizarse junto con la norma 802.11 para la localización en interiores como son: • Basada en el tiempo de arribo de la señal (ToA, por sus siglas en inglés). • Basada en el ángulo de arribo de la señal (AoA, por sus siglas en inglés). • Basada en el nivel de intensidad de la señal recibida (RSSI, por sus siglas en inglés). La técnica basada en RSSI usa la atenuación de la señal recibida para inferir la localización del terminal móvil. En base a esta atenuación se puede estimar la distancia que separa al terminal móvil de cada punto de acceso. No obstante, la relación distancia/potencia de señal recibida no es muy clara al existir multitrayecto, reflexiones y difracciones (Kaemarungsi and Krishnamurthy, 2004). Sin embargo, esta es la solución que se ha elegido por ser la más simple conceptualmente y la más barata de las tres, al no necesitar ningún hardware adicional..

(27) CAPÍTULO 1. MARCO TEÓRICO. 16. En caso de haber elegido hacer una localización tipo ToA se tendría que dotar de un reloj muy preciso a los dispositivos, y en el caso de AoA se debería disponer de muchas antenas en cada transmisor (González Borges, 2010). De forma general la predicción de la RSSI en un escenario dado, teniendo en cuenta la disminución de la señal generada por los obstáculos de la edificación, la influencia del material de construcción del escenario y la separación entre el punto de acceso y cada uno de los usuarios móviles se puede sintetizar por la siguiente expresión (Gualdrón et al., 2006): (1.1) Donde: Pap : Potencia emitida por el transmisor (punto de acceso). Lfs : Pérdida por espacio libre. Lt : Pérdida por transmisión (obstáculos). Ltx : Pérdida por transmisión hasta el punto de recepción. 1.5.3 Métodos para la estimación de la localización basados en RSSI Puesto que la localización basada en el estándar 802.11 con las lecturas de potencia de señal recibida es factible, ya se han desarrollado algunos prototipos de sistemas de localización que usan dos tipos de técnicas diferentes, las cuales han sido la localización por triangulación y la localización por reconocimiento de patrones. La localización por triangulación se basa en la suposición de que las antenas generan un patrón de radiación en forma de esfera con centro en la propia antena. Con cuatro de estas esferas, cada una de ellas con un radio estimado en base a la potencia recibida de cada una de estas cuatro antenas, se obtiene la estimación de la localización al intersecar las cuatro esferas. Esto parte de la suposición de que se haga uso de una antena con patrón de radiación esférico. Sin embargo, las antenas reales no pueden generar un patrón de radiación esférico, y por ello se usan antenas omnidireccionales (Aznar, 2002). Como no se consigue con estas un patrón esférico, pero sí se puede controlar el plano donde se coloca el dónut, el plano se pone paralelo a la horizontal, con lo que la aproximación anterior es válida si el terminal móvil se sitúa en la misma planta que el AP o en sus proximidades. El.

(28) CAPÍTULO 1. MARCO TEÓRICO. 17. inconveniente de este enfoque es que al tratar la RSSI como distancia no se tienen en cuenta las paredes, mobiliario, suelos, etc., por lo que esta técnica no es apropiada para la presente aplicación. Las técnicas de reconocimiento de patrones, o fingerprinting, las cuales han sido las elegidas para la implementación de este proyecto, parten del hecho que las características de la señal de propagación son diferentes en cada punto de localización de la zona de interés (Patmanathan, 2006). De esta forma cada punto de localización tiene un único patrón, intentando encajar el vector de potencias recibidas (RSSI) procedente de varios APs, con una muestra de calibración sin necesidad de usar algoritmos geométricos (Hoyo Mondeja, 2012). Para su uso, primero hay que obtener un radio mapa patrón con las posiciones en el área de interés y los niveles RSSI de cada posición. La RSSI se puede calcular de forma teórica, con el uso de un modelo de predicción de potencias, o bien se puede obtener de forma práctica, midiendo en cada punto de interés la potencia recibida (Nuño Barrau and Páez Borrallo, 2006). La ventaja de la técnica de reconocimiento de patrones frente a la triangulación es que los cálculos son más reducidos, y a diferencia del anterior, la discretización del entorno hace que no sea posible obtener una localización que no se haya definido; en cambio, en la triangulación se puede localizar en cualquier punto del espacio por no haberse discretizado la planta. El grado de discretización de la planta es importante para el reconocimiento de patrones, ya que cuanto más se parta el espacio de la planta, mayor es el grado de exactitud. Lógicamente para conseguirlo se necesita mayor tiempo de cómputo y de almacenamiento, pero también será menor el error cometido. Los cálculos que permiten la estimación de la localización en los algoritmos de reconocimiento de patrones son sencillos y cambian según sea el método a emplear. Estos se basan en: dado un vector de potencias, encontrar la localización que tenga el vector de potencias más parecido. El reto mayor de estos algoritmos es diferenciar entre dos posiciones con parecidos vectores de potencias..

(29) CAPÍTULO 1. MARCO TEÓRICO. 18. 1.5.4 Algoritmo para la estimación de la localización El método de los K vecinos más cercanos (KNN, por sus siglas en inglés) es un algoritmo de coincidencia de patrones y constituye uno de los algoritmos más ampliamente estudiados en toda la literatura dentro de los clasificadores estadísticos no paramétricos (Núñez Sobrino, 2006, Borges, 2010, Hoyo Mondeja, 2012). Un objeto es clasificado por mayoría de votos de sus vecinos, y es asignado a la clase más común. El parámetro K identifica cuántos vecinos se utilizan para la decisión y es un número típicamente pequeño (Fuller and Koutsoukos, 2009, González Borges, 2010). Si K=1, entonces el objeto se asigna simplemente a la clase de su vecino más cercano. En reconocimiento de patrones, el algoritmo KNN es usado como método de clasificación de objetos basado en un entrenamiento. Es por ello que el algoritmo cuenta de dos fases, una fase de entrenamiento y una fase de clasificación. La fase de entrenamiento del algoritmo consiste en almacenar los vectores característicos con los atributos y las etiquetas de clase yi = [y1, y2,...yd], donde d son los atributos e i la clase a la que pertenecen. En la fase de clasificación, la evaluación del elemento, del que no se conoce su clase, es representada por un nuevo vector. Se calcula la distancia entre los vectores almacenados y el nuevo vector, y se seleccionan los K elementos más cercanos. El vector distancia que se utiliza es:. ( 1.2) donde p indica que la distancia que se va a utilizar para encontrar a los vecinos más cercanos, es la distancia Manhattan si p=1 y la distancia euclidiana si p=2 (Dulong, 1995, Danielsson, 1980). El término Wk se utiliza para darle preponderancia a ciertos atributos que tienen mayor peso a la hora de decidir (Hoyo Mondeja, 2012). Dado el ejemplo a clasificar y las k vecinos más cercanos entonces el elemento es clasificado teniendo en cuenta si pertenece a una clase discreta o una clase continua. Caso discreto: se asigna el valor más común entre los vecinos cercanos:.

(30) CAPÍTULO 1. MARCO TEÓRICO. 19. ( 1.3) Donde δ(a, b) = 1 si a = b, y δ(a, b) = 0 si a ≠b Caso continuo: valor medio de entre los k vecinos más cercanos:. ( 1.4) Una variación del método anterior mediante un peso que se introduce para ponderar la contribución de cada vecino de acuerdo a la distancia entre él y el ejemplar a ser clasificado recibe el nombre de, método de los K vecinos más cercanos con peso (WKNN, por sus siglas en inglés). Con esta variación se puede ponderar el voto de cada vecino de acuerdo al cuadrado inverso de sus distancias clasificándose como: Caso discreto:. ( 1.5). Caso continuo:. ( 1.6) Donde:.

(31) CAPÍTULO 1. MARCO TEÓRICO. 20. ( 1.7) De esta manera no hay riesgo de permitir a todos los ejemplos de entrenamiento contribuir a la clasificación si se escoge un número grande de vecinos, ya que al ser muy distantes no tendrían peso asociado. La desventaja de considerar todos los ejemplos sería su lenta respuesta (método global). Se quiere siempre tener un método local en el que solamente los vecinos más cercanos sean considerados. El peso no solamente puede ser una función del inverso cuadrado de la distancia, también se utilizan funciones exponenciales negativas de la distancia para eliminar la indefinición que sufren las funciones inversas para una distancia igual a cero. En otras ocasiones se le suma un valor muy pequeño a la distancia tratando de eliminar un peso infinito para una distancia de valor cero. El uso de WKNN es una mejora muy efectiva en muchos problemas prácticos. Es robusto ante los ruidos de datos y efectivo en conjuntos de datos grandes. Se puede ver que al tomar promedios ponderados de los K vecinos más cercanos el algoritmo puede evitar el impacto de ejemplos con ruido aislados y se obtienen mejores valores de estimación (Hoyo Mondeja, 2012, González Borges, 2010). 1.6 Conclusiones del capítulo Luego del análisis realizado anteriormente sobre los sistemas de localización, fundamentalmente los sistemas de localización en interiores, los servicios basados en la localización y la arquitectura cliente-servidor se puede concluir lo siguiente: •. El sistema de localización por sí solo carece de utilidad para el usuario, ya que solamente es capaz de estimar cuán lejos o cerca se encuentra este con respecto a un punto de referencia. Es por esto que es de vital importancia que exista un LBS que permita al menos mostrar la localización del objetivo en un mapa.. •. La arquitectura cliente-servidor permite que cada parte realice aquellas tareas que son más adecuadas a sus características. Esto posibilita que dispositivos móviles con poca capacidad de cómputo puedan utilizar el servicio. Además permite la.

(32) CAPÍTULO 1. MARCO TEÓRICO. 21. centralización del control y el fácil mantenimiento del servicio. Dicha arquitectura puede ser implementada en el entorno de la UCLV debido a las características del mismo. •. La tecnología de localización usando 802.11, el uso de la técnica de reconocimiento de patrones basado en la RSSI y el algoritmo de estimación de los K vecinos más cercanos, proveen las herramientas necesarias para la implementación del sistema de localización en interiores. El uso de estas herramientas permite implementar el sistema de localización en la UCLV sin costos extras, apoyándose en la infraestructura de red inalámbrica existente.. •. Debido a la utilización de la técnica de reconocimiento de patrones se necesita de la confección de un mapa de entrenamiento, que en este caso es una base de datos (BD) con posiciones en el edificio y niveles RSSI para cada posición..

(33) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 22. CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. En este capítulo se describe la implementación y funcionamiento del LCS y los LBS utilizando la arquitectura cliente-servidor. Primeramente, se describirá el funcionamiento de la parte del servicio correspondiente al servidor, donde quedará implementado el procesamiento principal del LCS y los LBS. Seguidamente se describirá la implementación de aplicaciones clientes para dispositivos móviles con sistema operativo Android. Estas incluyen el cliente para usuarios y la aplicación que permite recopilar los datos de entrenamiento del sistema de localización. 2.1. Servidor. La aplicación para el servidor fue implementada utilizando el lenguaje de programación PHP y el entorno de desarrollo Eclipse PHP (Gosselin et al., 2010). El servidor será el encargado de recibir las diferentes peticiones del usuario y de acuerdo a estas determinar la operación a realizar. En él se llevará a cabo el almacenamiento y tratamiento de datos, el LCS y los LBS. La aplicación servidor es presentada al cliente como una página web dinámica, la cual a través del gestor de peticiones provee un funcionamiento lógico de los subsistemas creados, en dependencia de la petición realizada por el usuario. Esta cuenta con los siguientes modos: •. Modo de localización o sistema de localización: Se accede a este modo cuando solamente se necesita la localización en forma de coordenadas o cuando se necesita saber el área a la que corresponde dicha localización..

(34) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. •. 23. Modo de servicios basados en la localización: Cuando se necesite la ubicación de la localización del usuario en un mapa o cuando se realice una petición de los usuarios visibles.. •. Modo de entrenamiento del sistema de localización: Es el modo que permite la inserción de los datos de muestreo en caso de existir un cliente entrenador operando en modo asistido. Funciona como un facilitador entre la BD de localización, el servidor y un cliente móvil o fijo. Permite un proceso de entrenamiento de una manera rápida y sencilla. Es importante destacar que este modo, por motivos de seguridad, no permite el borrado de muestras o la inserción/eliminación de áreas o zonas. Tampoco permite la inserción/eliminación de imágenes o mapas asociadas a estas. Por lo tanto, este tipo de tareas deben realizarse directamente en el servidor de manera manual.. La siguiente figura muestra el funcionamiento de la aplicación servidor:. Gestor de Peticiones. Subsistema base_datos. Base de datos. Protocolo HTTP. Web Dinámica Subsistema localización. Subsistema mapas. Figura 2.1 Funcionamiento del servidor basado en los subsistemas creados.. El siguiente diagrama de contexto muestra los tres tipos de actores que pueden acceder al servidor con el fin de utilizar uno o varios de los modos descritos:.

(35) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 24. Figura 2.2 Interacción de actores con el servidor.. Usuario móvil: Usuario que hace uso de los LBS recibiendo su localización o la de los usuarios visibles en el mapa que corresponde al área donde se encuentra. Dicho usuario interactúa con el servidor desde un dispositivo móvil (cliente), por lo que necesita algún tipo de conexión con el servidor para la transmisión de datos, ya sea a través de Internet o a través del acceso a la red inalámbrica. El dispositivo móvil debe contar con una interfaz de acceso al medio inalámbrico para la obtención de sus datos de muestreo. Entrenador: Es el encargado de realizar el entrenamiento del sistema previo a su utilización. Por lo tanto, es el que utiliza el modo de entrenamiento. Dicho usuario puede interactuar con el servidor desde un dispositivo móvil o desde una computadora personal. Servicio: Este actor se ha concebido para la utilización del LCS por un agente externo. De esta forma se puede implementar un nuevo LBS usando el LCS existente como una caja negra que estima la localización del usuario. Brinda la posibilidad de convertir el servidor y su sistema de localización como fuente a otros servicios (servicio de servicios). Para cumplir estos objetivos el servidor necesita a través de los subsistemas creados realizar las siguientes tareas: •. Intercambio de información entre el cliente y el servidor utilizando el protocolo de transferencia de hipertexto (HTTP, por sus siglas en inglés).. •. Intercambio de información con la BD (Subsistema base_datos).. •. Cálculo de la estimación de la localización (Subsistema localización)..

(36) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. •. 25. Manipulación de las imágenes como mapas y ubicación de la posición de los usuarios. (Subsistema mapas).. •. Manejo de usuarios conectados y su visibilidad (Subsistema base_datos).. En los subepígrafes siguientes se detalla el funcionamiento de cada una de las tareas mencionadas conjuntamente con sus subsistemas. 2.1.1 Intercambio de información entre el cliente y el servidor Para el intercambio de datos entre el cliente y el servidor se utilizó el protocolo HTTP, el mismo es un protocolo de red del nivel de aplicación, y es el que define la sintaxis y la semántica para la comunicación entre ambas partes (Fielding et al., 1999). El protocolo HTTP se basa en un paradigma de peticiones y respuestas como se muestra en la figura 2.3, por lo que el cliente deberá enviar una petición en forma de método que incluya un identificador uniforme de recurso (URI, por sus siglas en inglés), la versión de protocolo usada, su información y el contenido de la petición. El servidor contestará con una línea de estado que incluye la versión del protocolo, un código de éxito o error, la información de este y un posible contenido de respuesta.. Figura 2.3 Paradigma de peticiones y respuestas del protocolo HTTP.. El servidor será localizado por el cliente siguiendo el esquema HTTP el cual se usa para localizar recursos en la red por medio de este protocolo. Por lo que la sintaxis de petición debe ser la siguiente: http://direccion:puerto/path. En dicha sintaxis, dirección es el nombre del dominio de Internet o la dirección IP donde se encuentre ejecutándose el servidor, puerto es el número que indica el puerto al que se envía la petición y path indicará el recurso accedido. En el marco de este trabajo el gestor de peticiones se alcanzará a través del path index.php..

(37) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 26. El protocolo HTTP define 8 métodos para realizar las peticiones al servidor. Entre estos se encuentran el método GET y el método POST. Cuando se utiliza el método GET los datos se envían al servidor a través del localizador uniforme de recursos (URL, por sus siglas en inglés). Mientras que en el caso del método POST, los datos a enviar al servidor se incluyen en el cuerpo de la misma petición (Fielding et al., 1999). La petición realizada por el cliente al gestor de peticiones se lleva a cabo combinando los métodos GET y POST a través de los cuales se envían al servidor los siguientes datos: •. Tipo de modo.. •. Lista de parejas MAC – RSSI de todos los APs detectados.. •. Coordenadas de localización.. •. Identificador de localización.. El identificador del tipo de modo se envía a través de la variable action utilizando el método GET, mientras los otros datos se envían en el cuerpo del mensaje utilizando el método POST. La lista de parejas MAC-RSSI solo se enviará si se accede en algún modo donde el cliente sea el objetivo al que se le necesite estimar la localización. Las coordenadas de localización y el identificador de localización solamente son enviadas en el modo de entrenamiento. Los identificadores de tipo de modos enviados al servidor a través de la variable GET action y la estructura en que deben ser enviados los datos desde el cliente pueden ser consultados en los Anexos I y II. Luego de validarse los datos en el servidor, si estos fueron correctos y el resultado de la petición fue satisfactorio, se envía al cliente el resultado. El éxito o el fallo de la petición será reconocida por el cliente encuestando el código de respuesta enviado por el servidor. Este será un número entero igual a 200 si la respuesta es correcta y cualquier otro como notificación del tipo de error ocurrido. El listado completo de códigos de respuesta puede ser consultado en el Anexo III. Las figuras 2.4 y 2.5 obtenidas con ayuda del analizador de protocolos de red Wireshark (Orebaugh et al., 2006) muestran un ejemplo de peticiónrespuesta del sistema operando en el modo LBS, donde se observa el intercambio de datos entre el cliente y el servidor..

(38) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 27. Figura 2.4 Ejemplo de petición del cliente para la estimación de la localización utilizando el protocolo HTTP.. Figura 2.5 Ejemplo de respuesta del servidor para una solicitud de estimación de la localización utilizando el protocolo HTTP.. Como se puede apreciar en la figura 2.5 la petición fue llevada a cabo correctamente y el servidor en la cabecera de la respuesta, además de incluir los parámetros necesarios para el funcionamiento del protocolo explicados anteriormente, ha incluido las coordenadas calculadas y el nombre del área en cuestión. Es importante destacar que las coordenadas son respecto a la imagen seleccionada como mapa del área. Las coordenadas y el nombre del área a la que pertenecen han sido incluidas en la cabecera dado que el protocolo HTTP permite, mediante el parámetro content-type, especificar dinámicamente el tipo de contenido que es enviado en el cuerpo del mensaje, permitiendo al cliente interpretarlo y presentarlo al usuario. Es por ello, que el cuerpo del mensaje se ha reservado para enviar como contenido al cliente, una imagen o mapa de la zona donde se encuentra, con una marca que represente su localización o varias localizaciones.

(39) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 28. dependiendo del tipo de modo seleccionado en la petición realizada. Esto permite el menor procesamiento de datos del cliente móvil y una reducción en la complejidad del mismo, el cual solo debe interpretar la respuesta recibida y presentarla al usuario en forma de imagen. No obstante, la información comentada anteriormente, añadida en la cabecera, permite el desarrollo de clientes personalizados o el uso de dicha información para LBSs externos. Cuando el servidor opera en modo de entrenamiento el intercambio de información entre estos opera de manera similar, por lo que solamente es válido destacar que en caso de existir mediciones realizadas previamente, la respuesta incluirá el mapa con dichas mediciones representadas por marcas de color verde, permitiendo la actualización de manera dinámica de la aplicación entrenadora y por consiguiente un proceso de entrenamiento asistido ordenado. 2.1.2. Intercambio de información con la BD. Para el almacenamiento y tratamiento de la información (datos de entrenamiento, datos del usuario, etc.) se utilizó el sistema de gestión de base de datos MySQL. La elección fue realizada especialmente por la gran integración entre este y el lenguaje PHP. Su disponibilidad en gran cantidad de plataformas y sistemas. La flexibilidad y potencia del lenguaje SQL y su gran velocidad de respuesta a consultas realizadas. Además de su funcionamiento multihilo, multiusuario, y de ser desarrollado bajo la licencia pública general GNU (GNU GPL, por sus siglas en inglés) (MySQL, 1995). El subsistema base_datos implementado es el encargado de interactuar con la BD y funciona como una capa entre el servidor MySQL y el gestor de peticiones, los cuales no necesitan estar físicamente en la misma PC. Con el uso de este subsistema el gestor de peticiones puede leer los datos, actualizarlos o introducirlos directamente en la BD sin necesidad del uso del lenguaje SQL y conocimiento de la estructura de la BD, la cual puede ser consultada en el Anexo IV. Por lo que este subsistema funciona como una caja negra que permite el tratamiento de los datos necesarios para el LCS y los LBS. El subsistema provee la manipulación de los datos necesarios mediante los siguientes métodos: •. detect_location: Recibe como parámetro un arreglo con las parejas MAC-RSSI y devuelve el identificador de localización del área a la que pertenecen..

(40) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. •. 29. get_maps_names: Obtiene el nombre de la imagen que se usará como mapa para la localización. Como parámetro debe recibir el identificador de localización.. •. read_samples: Obtiene todas las parejas MAC-RSSI almacenadas en el servidor para el identificador de localización que recibe como parámetro. Estas parejas fueron parte de los datos de entrenamiento introducidos previamente en dicha fase.. •. set_user_location: Introduce a la BD la localización del usuario si este decide compartirla.. •. get_users_location: Obtiene un arreglo con la localización de todos los usuarios activos en el momento de su ejecución. Solamente se obtendrá la localización de los usuarios que han deseado compartirla.. •. new_training_data: Este método fue concebido para utilizarse solamente en la fase de entrenamiento. Introduce en la BD las coordenadas y las parejas MACRSSI correspondientes a la medición realizada.. 2.1.3. Cálculo de la estimación de la localización. Para la estimación de la posición se han decidido implementar los métodos KNN y WKNN descritos en la sección 1.5.4. Fueron escogidos por ser métodos que ya han sido probados en otros sistemas, su implementación no es compleja y el coste computacional es bajo (González Borges, 2010, Hoyo Mondeja, 2012). Ambos métodos se han implementado aplicando el caso continuo, el cual estima la posición hallando el valor medio de los K vecinos más cercanos. Su diferencia radica en que el método WKNN introduce un peso para ponderar la contribución de cada vecino de acuerdo a la distancia entre él y el ejemplar a ser clasificado. Para el acceso a estos algoritmos de estimación de la localización el gestor de peticiones hará uso del subsistema localización el cual es el encargado de realizar el cálculo de la estimación usando dichos algoritmos. Es importante destacar que dada la modularidad que presenta el uso de este subsistema al servicio, el algoritmo de estimación de la localización puede ser modificado o mejorado sin tener que realizar ningún cambio adicional del.

(41) CAPÍTULO 2. LA ARQUITECTURA CLIENTE-SERVIDOR PARA EL SERVICIO DE LOCALIZACIÓN. 30. servicio, el único requisito impuesto es que para la comunicación entre el gestor de peticiones y el subsistema de localización deben existir los siguientes métodos: •. set_algoritm_type: Define el tipo de algoritmo que se utilizará en la estimación de la localización, el cual debe ser pasado como parámetro. Para su correcto funcionamiento debe existir un método privado que realice el cálculo de dicho algoritmo y otro que realice el acondicionamiento de los datos. Como se comentaba anteriormente son seleccionables en el marco de este trabajo KNN y WKNN.. •. set_training_data: Inicializa los datos de entrenamiento que se usarán para la estimación basada en el algoritmo seleccionado previamente (parejas MAC-RSSI y coordenadas conocidas para cada grupo de parejas).. •. Set_kNeighbors: Selecciona el número de vecinos que serán utilizados en la estimación de la posición.. •. set_user_data: Inicializa los datos del objetivo al que se le quiere estimar la localización (parejas MAC-RSSI).. •. GetLocalization: Obtiene la estimación de la localización para los datos inicializados previamente.. El tipo de algoritmo y el número de vecinos son configurables solamente por el entrenador del sistema directamente en el gestor de peticiones. El algoritmo WKNN fue seleccionado por defecto debido a las ventajas que ofrece según lo comentado en la sección 1.5.4. Mientras que el número de vecinos, el cual debe ser un número típicamente pequeño, fue seleccionado por defecto en cinco (Fuller and Koutsoukos, 2009, González Borges, 2010). 2.1.4. Manipulación de las imágenes como mapas y ubicación de la posición de los usuarios.. Debido al poco valor de información que ofrecen al usuario final por sí solas las coordenadas de su posición, se hace necesario contar con algún LBS que al menos permita señalar la ubicación de los usuarios en un mapa. Para ello se hace necesaria la manipulación de imágenes como mapas que permitan de manera dinámica señalar la posición del o los objetivos en el área donde se encuentren. Cada identificador de localización corresponderá a un área y el mapa del área donde se estima la localización es una imagen en formato PNG.

Figure

Figura 1.1 Funcionamiento de un LBS
Figura 1.2 Wi-Fi de la UCLV.
Figura 1.3 Diagrama Arquitectura Cliente-Servidor
Figura 2.1 Funcionamiento del servidor basado en los subsistemas creados.
+7

Referencias

Documento similar