Ir al contenido

Documat


Resumen de Federación de servicios de descubrimiento en la web of things

Juan Alberto Llopis Expósito

  • La evolución de los dispositivos del Internet de las Cosas (IoT) ha llevado a un aumento en la cantidad de dispositivos que interactúan para resolver o asistir en tareas. Los dispositivos están cada vez más presentes en la vida cotidiana, como los relojes inteligentes, vehículos, semáforos y frigoríficos. Todos los elementos mecánicos utilizados para facilitar distintas tareas están siendo dotados de capacidades inteligentes. Sin embargo, cada dispositivo proviene de un fabricante distinto y, como resultado, incluso si dos dispositivos realizan la misma función, por ejemplo, dos bombillas, presentan problemas para interconectarse.

    En consecuencia, la evolución continua en el comportamiento y uso de los dispositivos IoT ha introducido nuevas características, remodelando así los requisitos de los sistemas y entornos que dependen de ellos. Uno de los avances más significativos es la aparición de la movilidad. Los dispositivos IoT han pasado de ser componentes estacionarios, como sensores de temperatura o barreras automáticas en ciudades, a entidades móviles que se desplazan por su entorno, como relojes inteligentes, teléfonos móviles, vehículos conectados y patinetes eléctricos.

    Además, la naturaleza de la interacción usuario-dispositivo se ha diversificado. Esto incluye interacciones indirectas, como un semáforo que adapta su estado al detectar un vehículo de gran tamaño, e interacciones directas como comandos de voz o reconocimiento gestual. Los dispositivos también son cada vez más capaces de comunicarse entre dominios, lo que les permite colaborar en la resolución de tareas más complejas o en la gestión de infraestructuras distribuidas. Por ejemplo, en un campus inteligente, cada edificio puede gestionar sus propios datos de forma independiente, pero cuando un usuario consulta información que abarca varios edificios, el sistema puede agregarla y presentar resultados unificados. Esta rápida proliferación de dispositivos IoT en sectores como ciudades inteligentes, salud e industria exige el desarrollo de mecanismos escalables y eficaces para su descubrimiento y gestión.

    Para resolver los problemas de interconexión entre dispositivos IoT de distintos fabricantes y facilitar su descubrimiento, el W3C propuso la recomendación de la Web of Things (WoT). WoT es una capa de abstracción de software basada en tecnologías web que facilita la interacción con dispositivos IoT. La WoT permite la interacción entre dispositivos heterogéneos mediante la introducción de un formato estandarizado para describir la información del dispositivo, conocido como Thing Description (TD). Esta representación estructurada define las propiedades y el comportamiento de un dispositivo de forma uniforme, independientemente del fabricante, promoviendo así la interoperabilidad y facilitando la integración de sistemas.

    La especificación WoT también proporciona directrices para el descubrimiento y gestión de dispositivos, indicando cómo deben definirse los servicios y almacenarse en directorios. Estos directorios permiten el acceso sintáctico mediante consultas JSONPath y el acceso semántico mediante SPARQL. Además, la especificación permite que los propios directorios se representen como Things utilizando TDs, lo que facilita el descubrimiento de otros directorios y admite el descubrimiento federado de dispositivos entre sistemas. Esto unifica el proceso de descubrimiento bajo un modelo coherente, independientemente de la fuente.

    Cuando un directorio no puede satisfacer una consulta de usuario, puede delegar la solicitud a otro directorio para continuar el proceso de descubrimiento. A pesar de estas mejoras en la gestión y descubrimiento de dispositivos IoT a través de los estándares WoT, aún existen retos importantes para identificar y trabajar eficazmente con la creciente variedad de dispositivos IoT. Por ejemplo, uno de los desafíos actuales en el ámbito del IoT es el aumento del volumen de datos generados y procesados por los dispositivos. A medida que estos dispositivos se vuelven más sofisticados, se despliegan en un mayor número de entornos para abordar tareas más complejas. En consecuencia, también aumenta la demanda de capacidad de almacenamiento y potencia de procesamiento, lo que requiere el desarrollo de sistemas y técnicas más avanzadas.

    Los métodos tradicionales de Recuperación de Información (IR) han sido eficaces para apoyar el descubrimiento de dispositivos, como verificar la existencia de un dispositivo o consultar los datos que produce. Sin embargo, estos métodos empiezan a ser insuficientes para abordar casos de uso emergentes. Por ejemplo, los usuarios pueden intentar acceder a la información de los dispositivos mediante formas de interacción alternativas, como el habla en lenguaje natural o entradas gestuales, en lugar de consultas convencionales mediante ordenador. Por tanto, es necesario ampliar los servicios de descubrimiento para que admitan múltiples capacidades que ayuden en el proceso de descubrimiento. Estas capacidades deben evolucionar para satisfacer las demandas de gestión y descubrimiento de dispositivos IoT, diseñando mecanismos de descubrimiento que incorporen nuevas funcionalidades de forma incremental. Adoptar un enfoque basado en capacidades en la solución propuesta permite una arquitectura más flexible, escalable y extensible para el modelo de descubrimiento.

    Cuando se hace referencia a las capacidades de un servicio de descubrimiento, se entienden como características distintas que son lo suficientemente complejas como para desarrollarse de manera independiente, pero que contribuyen directamente a la función principal de descubrir dispositivos IoT. Tradicionalmente, los servicios de descubrimiento se construyen con funcionalidades mínimas, y estas capacidades se implementan como sistemas independientes que operan al margen del mecanismo de descubrimiento. Sin embargo, a medida que los dispositivos IoT evolucionan, se hace necesario que los servicios de descubrimiento integren estas capacidades avanzadas directamente en su arquitectura principal para soportar eficazmente tareas de búsqueda y descubrimiento más complejas.

    Por ejemplo, integrar Inteligencia Artificial (IA) y mecanismos de federación en el servicio de descubrimiento permite procesar consultas en lenguaje natural y descubrir dispositivos en entornos distribuidos a gran escala. Esto es especialmente importante en escenarios donde los usuarios interactúan mediante comandos de voz y el sistema debe devolver dispositivos relevantes distribuidos entre múltiples subsistemas. Esta tesis propone una arquitectura de modelo de descubrimiento federado basada en WoT e integrada en un servicio de mediación llamado WoTtrader. El modelo de descubrimiento incluye cuatro capacidades clave:

    (1) Descubrimiento proactivo.

    El descubrimiento proactivo permite que el servicio de descubrimiento se adapte a entornos IoT dinámicos. En los servicios tradicionales, son los servicios los que llaman al descubridor para registrarse; esto se conoce como modelo push. La capacidad de descubrimiento proactivo se basa en que es el propio servicio de descubrimiento el que busca y registra los servicios disponibles dentro de su alcance. Este tipo de descubrimiento se conoce como modelo pull, y permite que el sistema se adapte a entornos donde los dispositivos cambian constantemente entre disponibles e inaccesibles.

    (2) Sistema de recomendación.

    La recomendación de servicios de descubrimiento del W3C para WoT incluye soporte para consultas sintácticas usando JSONPath y XPath, y consultas semánticas mediante SPARQL. Sin embargo, no hay una propuesta para el procesamiento de consultas en lenguaje natural. La capacidad del sistema de recomendación consiste en un modelo de IA que apoya al servicio de descubrimiento, permitiéndole procesar consultas en lenguaje natural. Una vez procesada la consulta, se devuelve una lista ordenada de dispositivos recomendados. Además, junto con esta capacidad, se propone el uso de un metamodelo de calidad de servicio que facilita la recomendación de dispositivos mediante métricas como el número de veces que un dispositivo ha sido accedido o la última vez que estuvo disponible.

    (3) Descubrimiento federado.

    Los sistemas IoT no se limitan a una única ubicación; por ejemplo, un campus inteligente es una combinación de edificios que pueden estar distribuidos en distintas zonas de la ciudad. Por tanto, los servicios de descubrimiento deben poder comunicarse entre sí para descubrir dispositivos desplegados en diferentes ubicaciones. La recomendación del W3C propone brevemente una federación de servicios de descubrimiento basada en SPARQL. Sin embargo, esta propuesta no permite federaciones con más de un salto de distancia ni federaciones sintácticas. La capacidad de descubrimiento federado propone la posibilidad de federar consultas entre servicios de descubrimiento utilizando cualquier tipo de consulta soportada, es decir, sintáctica, semántica y en lenguaje natural. Además, permite la integración de servicios de descubrimiento de terceros que sigan la recomendación del W3C y utilicen técnicas de IA para mejorar el rendimiento del proceso de delegación entre nodos.

    (4) Expansión de consultas.

    Las consultas se basan en las peticiones del usuario al sistema para el descubrimiento de dispositivos. Sin embargo, en las consultas en lenguaje natural, la solicitud puede estar mal formulada o carecer de información esencial. La capacidad de expansión de consultas dota al sistema de la habilidad de modificar las consultas del usuario, representarlas de forma distinta o complementarlas con información adicional. De este modo, si la consulta inicial no devuelve resultados, puede adaptarse para tratar de encontrar alguna respuesta que resuelva la petición del usuario.

    Además de estas cuatro capacidades principales, WoTtrader permite la adaptación automática de dispositivos IoT al modelo WoT. Al realizar descubrimiento proactivo, se buscan dispositivos IoT que operen bajo el protocolo MQTT. Si se encuentran dispositivos MQTT, su funcionalidad se adapta mediante la creación de un TD asociado, lo que permite su interacción con otros dispositivos WoT. Finalmente, WoTtrader admite consultas basadas en grafos mediante la implementación de GraphQL para construir consultas personalizadas.

    Las capacidades de WoTtrader pueden integrarse dentro del servicio de descubrimiento o desplegarse como servicios de soporte externos. Un servicio de mediación coordina estas capacidades, que incluyen el servicio de descubrimiento, los servicios de soporte y sus interacciones con agentes externos. Esta estructura simplifica el despliegue de nodos con distintas capacidades y permite añadir nuevas funcionalidades según las necesidades del nodo desplegado.

    Tres de las cuatro capacidades principales descritas han sido implementadas: las capacidades (1), (2) y (3). Estas tres han sido desarrolladas en un servicio de mediación cuya eficacia ha sido validada y evaluada frente a los servicios de descubrimiento recomendados por el W3C, WoTHive y TinyIoT. La validación muestra que WoTtrader ofrece tiempos de respuesta moderados mientras proporciona la mayor precisión en la búsqueda de dispositivos desplegados en distintos nodos.

    Además, se ha evaluado el rendimiento de la búsqueda en lenguaje natural frente a la búsqueda sintáctica para validar el uso de IA en la recomendación de dispositivos IoT. Los resultados muestran que el uso de IA mejora los resultados cuando se ingresan consultas con sinónimos o palabras desconocidas por el sistema.

    Por último, se ha evaluado el rendimiento de federaciones centralizadas frente a federaciones distribuidas de servicios de descubrimiento, así como el uso de modelos de IA distribuidos en el borde (edge) frente a modelos centralizados en la nube (cloud). El objetivo fue evaluar el funcionamiento de la federación, demostrar su capacidad de operar en entornos distribuidos y centralizados, y comparar su rendimiento en ambos enfoques.


Fundación Dialnet

Mi Documat