IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015 1205 Two-Level Software Architecture for ContextAware Mobile Distributed Systems M. A. M. Acosta, E. L. Domínguez, G. G. Castro, S. E. P. Hernández and M. A. Medina Nieto Abstract— Currently, there is a trend to develop context-aware mobile distributed systems (MDS), such as systems that recommend places according to the location and the path of users. Some of the key challenges in the development of this type of systems are the following: acquisition, management and use of data context. In this paper, we propose two-level software architecture to obtain, use and provide context information in a MDS. From our point of view, the proposed architecture takes into account the requirements that emerge from data collection, use and management of context, as well as the own features of MDS. Based on our software architecture, a context-aware group communication system is implemented, which allows members to have four types of context: physical activity, logical activity, location and level of sound. Keywords— Two-level Software Architecture, Context-aware Applications, Mobile Distributed Systems. I. INTRODUCCIÓN L OS DISPOSITIVOS móviles son cada vez más populares debido a que cuentan con una mayor capacidad de procesamiento, nuevas formas de comunicación con otros dispositivos, la posibilidad de ejecutar diversas aplicaciones y además cuentan con sensores que proporcionan información de contexto del usuario [1]-[5]. En los sistemas de cómputo, la información de contexto es cualquier información que pueda emplearse para caracterizar la situación de una entidad, donde una entidad puede ser una persona, lugar u objeto que es considerado relevante entre un usuario y una aplicación (incluyendo al usuario y la aplicación misma) [1], [2], [4]-[7]. Actualmente ha surgido una tendencia en el desarrollo de sistemas distribuidos móviles conscientes de contexto con distintos tipos de aplicaciones tales como: un sistema que recomienda ciertos lugares de acuerdo a la ubicación y trayectoria de un usuario [8], un sistema que mejora la visualización de páginas web en función del perfil y el contexto actual del usuario [9] y un sistema que monitoriza los sensores de otros dispositivos, generando alarmas de acuerdo a la información obtenida [10]. Estos sistemas usan la información contexto para proveer información relevante y/o servicios al usuario, donde la relevancia depende de la tarea o actividad que el usuario realiza [2], [3], [6]. _______________________ M. A. M. Acosta, Centro de Enseñanza de LANIA, Veracruz, México, [email protected] E. L. Domínguez, Centro de Innovación e Investigación de LANIA, Veracruz, México, [email protected] G. G. Castro, Centro de Enseñanza de LANIA, Veracruz, México, [email protected] S. E. P. Hernandez, Departamento de Ciencias Computacionales, Instituto Nacional de Astrofísica Óptica y Electrónica, Puebla, México, [email protected] M. A. Medina Nieto, Departamento de Informática, Universidad Politécnica de Puebla, Puebla, México, [email protected] Los retos clave para el desarrollo de este tipo de sistemas conscientes de contexto son: la adquisición, gestión y la forma en que se utiliza la información de contexto. Como solución a estos retos, se han propuesto arquitecturas de software que permiten llevar a cabo la construcción de sistemas conscientes de contexto sobre sistemas distribuidos móviles [3], [4]. Por otro lado, las arquitecturas conscientes de contexto también deben considerar los requerimientos que surgen a partir de las características propias de los sistemas distribuidos móviles [3], [4], [10] tales como: dispositivos móviles con limitadas capacidades de almacenamiento y procesamiento, obtención de información de contexto a partir de fuentes heterogéneas, desconexiones frecuentes de los dispositivos móviles y canales de comunicación con limitado ancho de banda. Algunos trabajos de investigación han propuesto arquitecturas conceptuales para el desarrollo de aplicaciones conscientes de contexto sobre sistemas distribuidos móviles [3], [4], [12]-[17]. Sin embargo, estas arquitecturas tienen las siguientes desventajas: cuentan con un modo deficiente de obtención de la información contextual; no recaban información contextual de otros dispositivos, carecen de la ejecución de inferencias con base en la información de contexto recabada, no consideran las limitadas capacidades de procesamiento y almacenamiento de un dispositivo móvil, no contemplan la distribución de información en una comunicación en grupo, y en algunos trabajos solamente se presenta la propuesta conceptual de la arquitectura [3]. En este trabajo se propone una arquitectura de software twotier (dos niveles) en capas que permite obtener, utilizar y proveer información de contexto en un SDM. La arquitectura desarrollada considera y satisface los requerimientos que surgen a partir de la obtención, gestión y utilización del contexto y de las características propias de los SDM. La arquitectura propuesta en este trabajo está diseñada con base en un patrón arquitectural en capas y en tiers (nivel móvil y nivel servidor). Cada capa proporciona ciertos servicios a las capas superiores, ocultando a estas capas los detalles de cómo los servicios ofrecidos por las capas inferiores son realizados. En nuestro caso, la arquitectura desarrollada permite identificar, clasificar, agrupar y ordenar los distintos servicios necesarios para llevar a cabo la obtención, utilización y distribución de la información de contexto en un SDM. Con base en la arquitectura de software two-tier en capas propuesta en este trabajo, se implementó un sistema de comunicación electrónica en grupo consciente de contexto (SCEGCC) que muestra a sus usuarios cuatro tipos de contexto: actividad física, actividad lógica, ubicación y nivel de sonido. 1206 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015 Las pruebas de funcionalidad realizadas al SCEGCC muestran que la arquitectura desarrollada en este trabajo presenta de forma correcta la información de contexto a los usuarios. El prototipo del SCEGCC se desarrolló en el sistema operativo móvil Android debido a que existe una mayor tendencia en el número de usuarios de este sistema comparado con otros sistemas operativos para móviles [1], [2]. II. ESTADO DEL ARTE Algunos trabajos han propuesto arquitecturas de software para el desarrollo de aplicaciones conscientes de contexto sobre sistemas distribuidos móviles [3], [4], [12]-[17]. Estas arquitecturas deben considerar y satisfacer los siguientes requerimientos que surgen a partir de la necesidad de obtener, gestionar y utilizar la información de contexto [3], [12]-[17]: sensorización, pre-procesado de contexto, modelado de contexto, almacenamiento persistente, distribución de contexto, razonamiento (obtener contexto complejo y de alto nivel), entrega y descubrimiento de contexto. También estas arquitecturas, al estar enfocadas en sistemas distribuidos móviles deben considerar los siguientes requerimientos [3], [4]: ligereza, extensibilidad, robustez ante desconexiones, almacenar contexto útil, recoger contexto cambiante, abstracción del medio de transmisión de datos y comunicación en grupo. En este trabajo se analizaron las diversas arquitecturas CC para SDM que han sido propuestas [3], [4], [12]-[17] con respecto a los requerimientos que se deben considerar en la obtención, gestión y utilización del contexto y a los requerimientos considerados para un SDM. La arquitectura propuesta por David Sainz [3] es la que cubre la mayoría de los requerimientos; sin embargo, en el trabajo presentado en [3] solo se describe el diseño conceptual de la arquitectura sin ninguna implementación de las capas o servicios que plantea dicha arquitectura. III. DISEÑO CONCEPTUAL DE LA ARQUITECTURA CC PARA SDM En este trabajo se propone una arquitectura de software twotier (dos niveles) en capas, ver Fig. 1, que permite obtener, utilizar y proveer información de contexto en un SDM. Nuestra arquitectura está basada en la propuesta presentada en [3] incorporando características del proyecto Odin [4]. La arquitectura propuesta en este trabajo está diseñada con base en un patrón arquitectural en capas y en tiers (nivel móvil y nivel servidor). Cada capa proporciona ciertos servicios a las capas superiores, ocultando a estas capas los detalles de cómo los servicios ofrecidos por las capas inferiores son realizados. En nuestro caso, la arquitectura desarrollada permite identificar, clasificar, agrupar y ordenar los distintos servicios necesarios para llevar a cabo la obtención, utilización y distribución de la información de contexto en un SDM. Figura 1. Arquitectura de software two-tier en capas CC para SDM. Aunque existen capas que se encuentran en los dos niveles, los servicios o funciones de estas capas estarán limitados al hardware que posee cada nivel. Por ejemplo, la capa de almacenamiento en el nivel móvil tendrá funciones mínimas y solo guardará la última información de contexto obtenida, en cambio en el nivel servidor se almacenarán todos los registros que se obtengan del móvil. A continuación se presenta una descripción de las capas que integran la arquitectura propuesta en este trabajo: Capa de Plugins de Contexto. Los plugins son componentes independientes que se encargan de obtener la información de contexto por tipo de sensor, presentes en el nivel Móvil y en el nivel Servidor. Los plugins de contexto se pueden clasificar en físicos y lógicos. En nuestra arquitectura, los plugins de contexto físicos permiten realizar una sensorización de diferentes datos obtenidos a partir de componentes de hardware tales como: acelerómetro, GPS, intensidad de luz, proximidad, micrófono, entre otros. Por otro lado, los plugins de contexto lógicos son aquellos que permiten recabar información referente a aplicaciones del sistema u otros sistemas. Por ejemplo, saber cuándo se realiza una llamada o conocer la aplicación ejecutada en primer plano. Capa de Sensorización. Esta capa, incluida en los niveles Móvil y Servidor, está preparada para hacer consultas a los Plugins y recibir información de ellos, mediante esta capa es posible activar o desactivar Plugins. Realiza un pre-proceso de información de cada uno; el cual consiste en un tratamiento previo que se le da a la información contextual. Capa de Comunicación en Grupo. Esta capa tiene los objetivos de proveer el acceso a la red de comunicaciones sin importar el medio físico de transmisión de datos, permitir una comunicación entre más de dos personas por medio de mensajes discretos. Cuenta con los siguientes componentes: a) ordenamiento: Tiene como objetivo mostrar los mensajes en el orden en que fueron generados. Para esto se implementó el algoritmo Broadcast Mínimo [11] que realiza la entrega de los mensajes en orden causal, y b) gestión de usuarios: Establece las funciones para el ingreso, modificación de datos y/o MEDINA ACOSTA et al.: TWO-LEVEL SOFTWARE ARCHITECTURE eliminación de usuarios en una comunicación en grupo. Capa de Procesado. Esta capa genera un modelo de representación del contexto, la cual es de gran beneficio para poder mantener, actualizar y trabajar la información de contexto, así como para razonar sobre él. La capa de Procesado se encuentra en el nivel servidor. Capa de Almacenamiento. Se ubica en los dos niveles (Móvil y Servidor) pero con funciones específicas para cada nivel. En el nivel Móvil se almacenará el último contexto recabado. En el nivel Servidor, las funciones de esta capa consisten en almacenar todos los registros de contexto que sean recibidos, con el fin de generar un historial de contexto. Los componentes para esta capa en ambos niveles son: • Componente de almacenamiento: Se accede para recoger los datos de contexto que se necesiten y para almacenar los que se hayan conseguido. • Componente de distribución: Recibe información desde otros dispositivos y envía la información que el dispositivo desea publicar. • Componente de descubrimiento: Obtiene y recibe consultas de contexto que se quiere encontrar y analiza si es posible proveer de la información que se pide. Capa de Razonamiento. Se encuentra en el nivel del Servidor y tiene como función realizar un razonamiento sobre la información de contexto que está almacenada en la base de datos del nivel Servidor. En esta capa se pueden activar o desactivar los siguientes motores: • Motor de obtención: permite obtener y trabajar con el contexto de alto nivel que este en la capa de almacenamiento o de otros dispositivos. • Motor de calidad del contexto: el objetivo de este motor es conocer la fiabilidad de la información y asegurarse de mantener un alto grado de calidad. • Motor de reacción: permite tener un comportamiento específico sobre el contexto. Servicios de Contexto. Esta capa es el punto de entrada de las aplicaciones. Provee tres interfaces: a) consulta de Contexto: Las aplicaciones podrán hacer consultas del contexto que desean obtener, b) Razonamiento: Se indica el comportamiento que se desea obtener de acuerdo a determinados estados del contexto, y c) calidad: permite configurar qué información de calidad se desea obtener junto con la información de contexto. Capa de Aplicación. Es la capa que describe a la aplicación que hace uso de la arquitectura consciente de contexto para sistemas distribuidos móviles. IV. DESARROLLO DE LA ARQUITECTURA CC PARA SDM Este trabajo se enfocó en implementar las siguientes capas principales del nivel Móvil: Plugins de Contexto, Sensorización, Comunicación en Grupo y Almacenamiento. 1207 Estas capas son consideradas parte fundamental en el desarrollo de aplicaciones conscientes de contexto sobre un SDM [3], [4]. En nuestro trabajo, se establecieron como objetivos obtener, gestionar y utilizar los siguientes tipos de contexto: • Actividad lógica: describir la aplicación utilizada en primer plano en el móvil o si se está realizando una llamada telefónica, • Actividad física: determinar por medio del móvil si un usuario se encuentra en reposo, en reposo y usando el móvil, caminando, corriendo o andando en auto, • Ubicación: conocer la ubicación del usuario por medio de una dirección postal y • Nivel de sonido: saber el nivel de sonido del ambiente por medio del móvil. A continuación se realiza una descripción de las capas desarrolladas o implementadas en este trabajo de investigación aplicada: Plugins de Contexto. Conjunto de servicios en Android [17] que permiten obtener información de diferentes sensores y enviarla por mensajes Broadcast [11]. Estos servicios son los siguientes: • Plugin del acelerómetro: colección de datos del acelerómetro, se almacenan los valores máximos y mínimos para cada eje y se calculan los valores promedio. • Plugin de la aplicación actual: permite obtener el nombre del paquete de la aplicación en primer plano. Por ejemplo, la aplicación Mensajes: “com.android.mms”. • Plugin de llamando: obtiene tres tipos de mensajes para el cambio del estado del teléfono, estos son: Timbrando (recibiendo una llamada), Descolgado (realizando una llamada) y Colgado (finalizando una llamada). • Plugin de nivel de sonido (NS): obtiene el valor en decibeles del nivel de sonido por medio del micrófono del móvil. • Plugin de ubicación: obtiene la ubicación, consta de las coordenadas Latitud y Longitud, además de un grado error de acuerdo a la ubicación exacta, por ejemplo: Latitud 19.519677, Longitud -96.915263 y Error de precisión 15m. Capa de Sensorización. Conjunto de servicios en Android [17] que realizan un tratamiento a la información de contexto obtenida por los Plugins: a) pre-procesado de la actividad física: por medio de la información de los plugins del acelerómetro y de la velocidad, calculada por dos ubicaciones, se deduce la actividad física, la cual puede ser: en reposo, en reposo y utilizando el móvil, caminando, corriendo y andando en auto, b) pre-procesado de la actividad lógica: de acuerdo al dato del plugin de AL se puede determinar la aplicación con la cual el usuario esta interactuando, c) pre-procesado del nivel de sonido: con el valor en decibeles del plugin de NS se determina el nivel de ruido: muy silencioso, silencioso, moderado, poco ruidoso, ruidoso, muy ruidoso y ensordecedor, y d) preprocesado de la ubicación: representada mediante los siguientes elementos: calle, número, ciudad, estado, país, error precisión. Capa de Comunicación en Grupo. En esta capa se desarrolló el componente de Ordenamiento. El componente de 1208 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015 ordenamiento permite llevar a cabo la entrega de la información de contexto en el mismo orden en que fue generada por las fuentes sin el uso de referencias globales de tiempo físico. En nuestro caso, el algoritmo utilizado por el componente de ordenamiento es el propuesto en [11]. Capa de Almacenamiento. Recibe información de contexto, la almacena, y la proporciona cuando se solicite y la distribuye a otros dispositivos móviles. Usa tres componentes: 1) Componente de descubrimiento: Recibe el contexto por mensajes Broadcast, y por medio de filtros determina el tipo de contexto recibido, 2) componente de almacenamiento: almacena únicamente un registro para cada tipo de contexto, en una base de datos en SQLite [17] para el móvil Android, que se actualizará cada vez que se reciba información de contexto y 3) componente de distribución: distribuye la información por medio de peticiones a un Servicio Web, que recibe y almacena los datos de contexto en una base de datos en un Servidor de contexto externo, para contar con un historial de contexto. Figura 2. Escenario utilizado para llevar cabo las pruebas de funcionalidad del prototipo desarrollado. Con base en los resultados obtenidos, ver Fig. 3, Las pruebas de funcionalidad realizadas al SCEGCC muestran que la arquitectura descrita en este trabajo obtiene, gestiona y distribuye la información de contexto entre los usuarios del sistema de comunicación electrónica en grupo de forma correcta, ver Fig. 3. V. PROTOTIPO: SISTEMA COMUNICACIÓN ELECTRÓNICA EN GRUPO CC PARA SDM Con base en la arquitectura de software two-tier en capas desarrollada en este trabajo, se implementó un sistema de comunicación electrónica en grupo consciente de contexto (SCEGCC). En este sistema, un grupo de usuarios se comunica por medio de mensajes discretos en un chat grupal y nuestra arquitectura obtiene cada cierto intervalo de tiempo las variables de contexto del dispositivo móvil de los usuarios. Cuando surge un cambio en el contexto de un usuario, la arquitectura entrega dicha información de contexto al sistema de comunicación electrónica en grupo. Con la finalidad de evaluar el correcto funcionamiento de nuestra arquitectura se llevaron a cabo diversas pruebas de funcionalidad sobre el SCEGCC. El escenario utilizado para llevar a cabo las pruebas de funcionalidad del prototipo generado a partir de nuestra arquitectura es mostrado en la Fig. 2. Este escenario contempla una comunicación en grupo entre sus elementos. El grupo está formado por tres usuarios con sus dispositivos móviles con sistema operativo Android. El SCEGCC desarrollado muestra la siguiente información de contexto de los usuarios: Actividad Física, Actividad Lógica, Ubicación y Nivel del Sonido (ver, Fig. 3). Además, muestra los mensajes y la información de contexto en el orden en que fueron generados. En nuestro caso, las pruebas realizadas se llevaron a cabo considerando diversas situaciones de los usuarios. Figura 3. Información de contexto mostrada a los usuarios por el sistema comunicación electrónica en grupo consciente de contexto. VI. CONCLUSIONES Se presentó una arquitectura de software two-tier en capas que lleva a cabo la obtención, gestión y utilización de la información de contexto en un SDM. La arquitectura propuesta MEDINA ACOSTA et al.: TWO-LEVEL SOFTWARE ARCHITECTURE en este trabajo fue diseñada con base en un patrón arquitectural en capas y en tiers (nivel móvil y nivel servidor). Cada capa proporciona ciertos servicios a las capas superiores, ocultando a estas capas los detalles de cómo los servicios ofrecidos por las capas inferiores son realizados. En nuestro caso, la arquitectura desarrollada permite identificar, clasificar, agrupar y ordenar los distintos servicios necesarios para llevar a cabo la obtención, utilización y distribución de la información de contexto en un SDM. Con base en nuestra arquitectura, se implementó un sistema de comunicación electrónica en grupo consciente de contexto (SCEGCC) que muestra a los usuarios cuatro tipos de contexto: actividad física, actividad lógica, ubicación y nivel de sonido. En este sistema, la arquitectura desarrollada realiza las siguientes funciones principales: obtención de información de los sensores de un dispositivo móvil, tratamiento de dicha información de contexto, distribución y almacenamiento en el dispositivo móvil y en un servidor de contexto externo. Las pruebas de funcionalidad realizadas al SCEGCC muestran que la arquitectura desarrollada en este trabajo obtiene, gestiona y distribuye de forma correcta la información de contexto a los usuarios. Como trabajo futuro se propone: • • Desarrollar las capas de sensorización y plugins en el nivel Servidor incorporando contexto proveniente de fuentes lógicas que un dispositivo móvil no tiene tales como los datos proporcionados del clima por una estación meteorológica y Generar una aplicación de aprendizaje electrónico, que a partir de la Arquitectura CC, permita mostrar diversos materiales de enseñanza de acuerdo al contexto en que se encuentre un usuario. REFERENCIAS [1] [2] [3] [4] [5] [6] [7] [8] J. Caudill, “The Growth of m-Learning and the Growth of Mobile Computing: Parallel developments,” International Review of Research in Open and Distance Learning, vol. 8, no. 2, pp.1-13, June 2007. L. G. Montané Jiménez, “Modelo de actividad para sistemas móviles colaborativos conscientes de contexto”, Tesis de maestría, Centro de Enseñanza LANIA, Xalapa, Veracruz, México, 2011. D. Sainz González, “Un análisis sobre aplicaciones distribuidas dependientes del contexto”, Tesis doctoral, Universidad del país Vasco, Leioa, Biscay, España, 2009. T. Weerasinghe and I.Warren, “Odin: Context -Aware Middleware for Mobile Services”, in 6th World Congress on Services, 2010, pp. 661-666. J. Filbert, “Developing a Multi-Purpose Chat Application for Mobile Distributed Systems on Android Platform”, Bachelor’s thesis, Helsinki Metropolia University of Applied Sciences, Vanda, Finlandia, 2010. A. K. Dey, D. Salber, M. Futakawa, G. Abowd, “An Architecture to Support Context-Aware Applications”, Georgia Institute of Technology, Atlanta, USA, Tech. Rep. GIT-GVU-99-23, 1999. A. Ranganathan, R. H. Campbell, A. Ravi, and A. Mahajan, “ConChat: A Context-Aware Chat Program”, IEEE Pervasive Computing, vol. 1, no. 3, pp. 51-57, 2002. M. Barranco, J. Noguera, J. Castro and L. Martínez, “A Context-Aware Mobile Recommender System Based on Location and Trajectory”, in Management Intelligent Systems, Vol. 171, Advances in Intelligent Systems and Computing, J. Casillas, Ed. Springer Berlin Heidelberg, 2012, pp 153-162. 1209 [9] [10] [11] [12] [13] [14] [15] [16] [17] X. Zhang, Z. Yu, J. Tian, Z. Wang and B. Guo, “Context-Aware Mobile Web Browsing Based on HTML5”, in Ubiquitous Intelligence & Computing and 9th International Conference on Autonomic & Trusted Computing (UIC/ATC), 2012, pp. 945-950. M. Kuna, H. Kolaric, I. Bojic, M. Kusek and G. Jezic, “Android/OSGibased Machine-to-Machine context-aware system”, in Telecommunications (ConTEL), Proceedings of the 2011 11th International Conference, 2011 pp. 95-102. H. S. Pomares, J. Fanchon and K. Drira, “The Immediate Dependency Relation: An Optimal Way to Ensure Causal Group Communication”, in Annual Review of Scalable Computing, Editions World Scientific, Series on Scalable Computing, 2004, pp. 61-79. T. Hofer, W. Schwinger, M. Pichler, G. Leonhartsberger, J. Altmann, W. Retschitzegger, “Context-Awareness on Mobile Devices - the Hydrogen Approach”, in Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03), 2003, pp. 6-9. P. Coppola, V. Della Mea, L. Di Gaspero, S. Mizzaro and I. Scagnetton, “MoBe: A Framework for Context -Aware Mobile Applications”, in Proceedings of the Workshop on Context Awareness for Proactive Systems (CAPS 2005) Conference, 2005, pp. 55-65. W. Van Woensel, O. De Troyer and S. Casteleyn, “SCOUT: A Framework for Personalized Context-Aware Mobile Applications”, in Proceedings of the 9th International Conference on Web Engineering (Doctoral Consortium), 2009. B. Van Wissen, N. Palmer, R. Kemp, T. Kielmann and H Bal, “ContextDroid: An Expression - Based Context Framework for Android”, in Proceedings PhoneSense conference, 2010, pp. 1-5. A. Inge, Q. Khan, “CAMF – Context-Aware Machine Learning Framework for Android”, in International conferences on informatics, 2010, pp. 388-395. L. de Oliveira and A. Loureiro, “CodeDroid: A Framework to Develop Context-Aware Applications”, in The Fourth International Conferences on Advances in Human-oriented and Porsonalized Mechanisms, Technologies, and Services, 2011, ISBN: 978-1-61208-167-0. Marco Antonio Acosta Medina has a Master degree in Applied Computing from National Laboratory of Advanced Informatics (LANIA), in Veracruz Mexico, in his thesis project proposes a Layers Based Architecture for Context Aware Mobile Distributed Systems and also developed a prototype on a group of mobile devices that uses the Architecture proposed to get, manage and distribute contextual information. Eduardo Lopez Dominguez is a Researcher in the Department of Computer Science at National Laboratory of Applied Informatics (LANIA), in Veracruz, Mexico. He completed his PhD Degree at the National Institute of Astrophysics, Optics and Electronics (INAOE), Mexico in 2010. Since 2004, he has been researching in the field of mobile distributed systems, partial order algorithms and multimedia synchronization. Germán Gómez Castro received the Engineering degree in Computer engineering from Instituto Tecnológico Superior de Cosamalopan, Veracruz, México, in 2012, and is a Master student in applied computing from Laboratorio Nacional de Informática Avanzada, Veracruz, México. His current research interest are applications of context aware mobile systems in education. Saul Eduardo Pomares Hernandez is a Researcher in the Computer Science Department at the National Institute of Astrophysics, Optics and Electronics (INAOE), in Puebla, Mexico. He completed his PhD Degree at the Laboratory for Analysis and Architecture of Systems of CNRS, France in 2002. Since 1998, he has been researching in the field of distributed systems, partial order algorithms and multimedia synchronization. Maria Auxilio Medina Nieto is an associate professor of computer science at Universidad Politécnica de Puebla (UPPuebla). Currently, her research topics are knowledge representation based on ontologies, semantic web, information and communications technologies (TICs) and social network analysis. She has the candidate status of the National Researchers System (SNI).
© Copyright 2024 ExpyDoc