ES2906101T3 - Mecanismos de pronóstico de situación para plataforma de integración de Internet de las Cosas - Google Patents
Mecanismos de pronóstico de situación para plataforma de integración de Internet de las Cosas Download PDFInfo
- Publication number
- ES2906101T3 ES2906101T3 ES17813884T ES17813884T ES2906101T3 ES 2906101 T3 ES2906101 T3 ES 2906101T3 ES 17813884 T ES17813884 T ES 17813884T ES 17813884 T ES17813884 T ES 17813884T ES 2906101 T3 ES2906101 T3 ES 2906101T3
- Authority
- ES
- Spain
- Prior art keywords
- iot
- data
- entity
- computer
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Un método implementado por ordenador, que comprende: recibir (1302), de múltiples fuentes de datos, una pluralidad de flujos de datos de actividad en una plataforma de integración de Internet de las Cosas, IoT, en donde la plataforma de integración de IoT está implementada en un sistema informático y conectada a las múltiples fuentes de datos de diferentes soluciones de IoT, en donde las múltiples fuentes de datos incluyen uno o más dispositivos IoT, dispositivos móviles universales, sistemas de servidores informáticos específicos de soluciones, sistemas de servidores informáticos de terceros, sistemas de servidores web específicos de soluciones de IoT, o cualquier combinación de los mismos; actualizar (1304) de manera iterativa una pluralidad de indicadores de contexto en evolución asociados con una o más entidades rastreables por la plataforma de integración de IoT basándose en la pluralidad de flujos de datos de actividad hasta que se alcanza un patrón estable de la pluralidad de indicadores de contexto en evolución, en donde al menos uno de la pluralidad de indicadores de contexto en evolución cambia en función de otro de la pluralidad de indicadores de contexto en evolución; entrenar (1308) uno o más modelos de aprendizaje automático sobre la base de un registro histórico de la pluralidad de indicadores de contexto en evolución, datos de actividad de la pluralidad de flujos de datos de actividad, o una combinación de los mismos; y pronosticar (1310) una situación contextual asociada con una entidad objetivo entre las una o más entidades probando un subconjunto de la pluralidad de indicadores de contexto en evolución dentro de un plazo de tiempo contra los uno o más modelos de aprendizaje automático; generar, por parte de la plataforma de integración de IoT, una acción recomendada basándose en la situación contextual pronosticada; y ejecutar, por parte de la plataforma de integración de IoT a través de al menos una de las múltiples fuentes de datos, la acción recomendada para influir en una actividad de la entidad objetivo en previsión de la situación contextual pronosticada asociada con la entidad objetivo.
Description
DESCRIPCIÓN
Mecanismos de pronóstico de situación para plataforma de integración de Internet de las Cosas
Referencia cruzada a la solicitud relacionada
Campo de la invención
Esta invención se refiere en general a las áreas técnicas del Internet de las Cosas.
Introducción
El Internet de las Cosas (IoT, por sus siglas en inglés) se refiere a los dispositivos y sus representaciones virtuales en una estructura similar a Internet. El concepto de dispositivos IoT incluye dispositivos en red ("dispositivos conectados") capaces de comunicarse con un servidor o con una aplicación móvil a través de una conexión de red. Los dispositivos en red pueden incluir dispositivos pasivos y activos, pudiendo los dispositivos pasivos lograr conectividad de red a través de interacciones con los dispositivos activos. Los dispositivos IoT están destinados a lograr una conexión ubicua para la percepción, identificación y gestión inteligentes de elementos y procesos. Muchos consideran que IoT es la tercera ola de desarrollo de la industria de la información después de la computadora e Internet. Sin embargo, las soluciones para la gestión de dispositivos IoT son generalmente soluciones verticales. El documento US 2015185713 divulga un método para hacer funcionar un aparato controlador de IoT en un entorno de IoT.
Divulgación de tecnología
La invención está definida por un método según la reivindicación 1, un medio legible por ordenador según la reivindicación 14 y un sistema informático según la reivindicación 15. En las reivindicaciones dependientes se exponen otras realizaciones. Se divulga una tecnología para crear una plataforma de integración para el Internet de las Cosas ("la tecnología"). La tecnología mejora aún más la plataforma de integración para conectarse no sólo a dispositivos, sino también a otras entidades físicas, tales como lugares y personas ("Internet de Todo"). La tecnología es una solución de consumo para consolidar y automatizar el entorno conectado de los usuarios. La tecnología puede identificar y perfilar dispositivos conectados alrededor de un consumidor, comunicarse con los dispositivos conectados y crear conexiones lógicas entre personas, dispositivos, ubicaciones, canales digitales o cualquier combinación de estos.
La tecnología puede implementarse mediante la plataforma de integración. La plataforma de integración puede incluir una interfaz de consolidación, un módulo de correlación de datos, un módulo de análisis de datos y un módulo de desarrollo de reglas. La interfaz de consolidación es una interfaz centralizada accesible a través de uno o más de los dispositivos en red. La interfaz de consolidación puede incluir un componente visual interactivo que incluya una interfaz de usuario interactiva y reconocimiento visual de lugares, situaciones y personas, un componente de audio interactivo que incluya control por voz, un componente de gestos interactivo o cualquier combinación de los mismos. La interfaz de consolidación proporciona una interfaz única para ver/editar datos consolidados e interactuar con los dispositivos en red. El módulo de correlación de datos asocia datos y metadatos de los dispositivos en red para relacionar estos datos y/o metadatos con un usuario. El módulo de análisis de datos analiza los datos y metadatos recogidos para determinar una etiqueta semántica específica o un contexto relevante para el usuario. El módulo de gestión de reglas permite una configuración, ajustes e interacciones con los dispositivos en red sobre la base del perfil del usuario, el contexto, el activador de eventos, el comportamiento del usuario, las interacciones sociales, las configuraciones del usuario o cualquier combinación de estos. El módulo de gestión de reglas puede incorporar estas configuraciones, ajustes e interacciones en una o más reglas interoperables. Estas reglas interoperables pueden ejecutarse en los dispositivos conectados. Las reglas de interoperabilidad pueden implementarse en referencia a cualquier nodo, tal como cualquier persona, lugar, dispositivo, grupo u otra entidad, cosa u objeto. Debido al reconocimiento de contexto habilitado por el módulo de análisis de datos, las una o más reglas interoperables para cada nodo pueden diseñarse y manipularse en contexto.
Breve descripción de los dibujos
La Figura 1A es un diagrama de bloques que ilustra soluciones verticales previstas para dispositivos conectados.
La Figura 1B es un diagrama de bloques que ilustra una plataforma de integración que funciona junto con las soluciones verticales.
La Figura 2 es un diagrama de bloques que ilustra un entorno de sistema ejemplar de un sistema de plataforma de integración de Internet de las Cosas (IoT).
La Figura 3 es un diagrama de bloques que ilustra el sistema de plataforma de integración de IoT.
La Figura 4 es un ejemplo de una interfaz de usuario que ilustra un diagrama de línea de vida activa para una cuenta de usuario en una interfaz de integración, que concuerda con diversas realizaciones de la tecnología divulgada
La Figura 5 es una representación esquemática de una máquina en la forma ejemplar de un sistema informático dentro del cual se puede ejecutar un conjunto de instrucciones para hacer que la máquina realice una cualquiera o más de las metodologías o módulos tratados en la presente memoria.
La Figura 6 es una representación esquemática de un dispositivo inalámbrico.
La Figura 7 es un diagrama de flujo de un método de consolidación de datos, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 8 es un diagrama de flujo de un método de gestión de reglas de IoT interoperables, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 9A es una captura de pantalla ejemplar que ilustra una interfaz de gestión de reglas de una plataforma de integración en una etapa de activación de reglas, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 9B es una captura de pantalla ejemplar que ilustra la interfaz de gestión de reglas de la plataforma de integración en una etapa de selección de condiciones, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 9C es una captura de pantalla ejemplar que ilustra la interfaz de gestión de reglas de la integración en una etapa de selección de acciones, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 10A es una captura de pantalla ejemplar que ilustra la interfaz de consolidación que muestra una información correlativa, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 10B es una captura de pantalla ejemplar que ilustra la interfaz de consolidación que genera una regla interoperable a partir de la información correlativa, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 11A es una captura de pantalla ejemplar que ilustra una interfaz de cámara semántica en una primera etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 11B es una captura de pantalla ejemplar que ilustra la interfaz de cámara semántica en una segunda etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 11C es una captura de pantalla ejemplar que ilustra la interfaz de cámara semántica en una tercera etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 11D es una captura de pantalla ejemplar que ilustra la interfaz de cámara semántica en una cuarta etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada.
La Figura 12A es un diagrama gráfico que ilustra un gráfico de entidades mantenido por una plataforma de integración de IoT, de acuerdo con diversas realizaciones.
La Figura 12B es un diagrama gráfico que ilustra el gráfico de entidades de la Figura 12A, donde la plataforma de integración de IoT infiere una conexión implícita entre dos nodos de entidad.
La Figura 12C es un diagrama gráfico que ilustra el gráfico de entidades de la Figura 12A, donde la plataforma de integración de IoT infiere y agrega al gráfico de entidades una entidad implícita.
La Figura 12D es un diagrama gráfico que ilustra una agrupación de nodos contextualmente relevante en el gráfico de entidades de la Figura 12A.
La Figura 13 es un diagrama de flujo que ilustra un método para generar pronósticos de situaciones mediante una plataforma de integración de IoT, de acuerdo con diversas realizaciones.
Las figuras representan diversas realizaciones de la tecnología sólo con fines ilustrativos.
Descripción detallada
Integración
Todos los días, cada vez más, se lanzan al mercado nuevos dispositivos conectados, cada uno de los cuales ofrece una solución vertical con una funcionalidad específica. Todas estas diversas soluciones no se comunican entre sí. Por ejemplo, la Figura 1A es un diagrama de bloques que ilustra soluciones verticales previstas para dispositivos conectados, tales como el dispositivo A 102A, el dispositivo B 102B y el dispositivo C 102C (colectivamente
"dispositivos 102"). Cada proveedor de servicios de dispositivos conectados puede tener su propia solución vertical con una interfaz de cliente (por ejemplo, móvil o web), tales como la interfaz A 104A y la interfaz B 104B (colectivamente, "interfaces 104"), y uno o más servicios en la nube para computación, tales como el servicio en la nube A 106A o el servicio en la nube B 106B (colectivamente, "servicios 106 en la nube").
Distintos dispositivos 102 utilizan distintos protocolos de comunicación realizados por distintos fabricantes. La plataforma de integración puede funcionar como un único punto de interacción que permite la comunicación entre dispositivos y entre tecnologías. La Figura 1B es un diagrama de bloques que ilustra una plataforma de integración que funciona junto con las soluciones verticales. La plataforma de integración puede implementarse a través de la integración de comunicaciones, incluyendo una interfaz de programación de aplicaciones (API, por sus siglas en inglés) unificada, un kit de desarrollo de software (SDK, por sus siglas en inglés) unificado, uno o varios protocolos unificados y/o interfaces de interoperabilidad entre diferentes dispositivos conectados. La plataforma de integración se puede implementar principalmente mediante un sistema 112 de servicios de integración (por ejemplo, el sistema informático 500 de la Figura 5) y una interfaz 114 de integración (por ejemplo, móvil o web). El sistema 112 de servicios de integración puede proporcionar diferentes servicios para la integración de los dispositivos IoT 102 y para proporcionar un entorno de ejecución para aplicaciones relacionadas con el uso de los dispositivos IoT 102. La interfaz 114 de integración puede ser una aplicación de software que se ejecute en un dispositivo informático local que sea capaz de gestionar o integrar los dispositivos IoT 102 dentro de una red local.
Entorno del sistema
La Figura 2 es un diagrama de bloques que ilustra un entorno de sistema ejemplar de un sistema 200 de plataforma de integración de Internet de las Cosas (IoT). El sistema 200 de plataforma de integración de IoT incluye dispositivos IoT 202, tales como los dispositivos IoT 102 de la Figura 1. Los dispositivos IoT 202, por ejemplo, pueden ser teléfonos inteligentes, relojes inteligentes, sensores inteligentes (por ejemplo, mecánicos, térmicos, eléctricos, magnéticos, etc.), aparatos en red, dispositivos periféricos en red, un sistema de iluminación en red, dispositivos de comunicación, accesorios para vehículos en red, accesorios inteligentes, tabletas, televisores inteligentes, ordenadores, un sistema de seguridad inteligente, un sistema doméstico inteligente, otros dispositivos para vigilar o interactuar con o para personas y/o lugares, o cualquier combinación de los mismos. Los dispositivos IoT 202 pueden incluir el dispositivo inalámbrico 600 de la Figura 6. Los dispositivos IoT 202 pueden incluir uno o más de los siguientes componentes: sensor, tecnología de identificación por radiofrecuencia (RFID, por sus siglas en inglés), tecnología de sistema de posicionamiento global, mecanismos para la adquisición de datos en tiempo real, interfaz pasiva o interactiva, mecanismos de salida y/o entrada de sonido, luz, calor, electricidad, fuerza mecánica, presencia química, presencia biológica, ubicación, tiempo, identidad, otra información, o cualquier combinación de los mismos.
Los dispositivos IoT 202 están conectados a través de una red 204. La red 204 puede incluir diferentes canales de comunicación y puede incluir redes locales en la misma. Por ejemplo, la red 204 puede incluir comunicación inalámbrica a través de redes celulares, WiFi, Bluetooth, Zigbee o cualquier combinación de los mismos. La red 204 puede incluir uno o más conmutadores y/o enrutadores, incluidos enrutadores inalámbricos que conecten los canales de comunicación inalámbrica con otras redes cableadas (por ejemplo, Internet). Puede existir una red local que conecte un conjunto local de dispositivos IoT 202. Por ejemplo, la red local puede establecerse mediante un enrutador local o un conmutador local.
Por ejemplo, los dispositivos IoT 202 pueden estar conectados a un dispositivo 206 de control dentro de la red local. El dispositivo 206 de control puede ser un ordenador, un dispositivo en red o un dispositivo móvil, tal como el dispositivo inalámbrico 600. El dispositivo 206 de control puede incluir una interfaz implementada mediante una aplicación 208 específica de la solución. Un dispositivo IoT puede acoplarse a la aplicación 208 específica de la solución, creándose la aplicación 208 específica de la solución específicamente para comunicarse con tales dispositivos como parte de una solución vertical. La aplicación 208 específica de la solución puede controlar el dispositivo IoT o acceder a datos desde el dispositivo IoT.
Los dispositivos IoT también pueden comunicarse con un sistema 210 de servidor específico de la solución. Por ejemplo, un sistema de iluminación en red puede comunicarse con el sistema 210 de servidor específico de la solución y realizar un seguimiento de si las luces están encendidas o apagadas en el sistema 210 de servidor específico de la solución. El sistema 210 de servidor específico de la solución puede crear una interfaz para compartir esos datos y/o para interactuar con los dispositivos IoT. La interfaz puede ser accesible a través de la aplicación 208 específica de la solución o a través de un navegador.
La tecnología divulgada incluye un sistema 212 de servicios de integración, tal como el sistema 112 de servicios de integración, y una interfaz 214 de integración, tal como la interfaz 114 de integración, que puede gestionar o integrar múltiples instancias de los dispositivos IoT 202 y coexistir con las soluciones verticales. La interfaz 214 de integración puede ejecutarse en el dispositivo 206 de control. La interfaz 214 de integración puede ser una aplicación informática, una página web y/u otra interfaz interactiva que pueda hacerse funcionar en un dispositivo informático. El sistema 212 de servicios de integración y/o la interfaz 214 de integración divulgados superan el desafío de la inconveniencia del usuario. Los proveedores que fabrican dispositivos IoT 202 no tienen un estándar compatible para proporcionar una interfaz unificada. El sistema propuesto proporciona una tecnología que incluye módulos y procesos específicos para
coordinar con los múltiples dispositivos loT 202, las múltiples aplicaciones 208 específicas de solución y las múltiples instancias del sistema 210 de servidor específico de solución.
El sistema 212 de servicios de integración puede incluir un almacén 216 de perfiles de dispositivos IoT 202 y otras entidades relevantes para el contexto. Por ejemplo, las entidades relevantes para el contexto pueden incluir personas, lugares, grupos, objetos físicos, marcas, cosas o cualquier combinación de los mismos. Algunas de las entidades relevantes para el contexto en el sistema 212 de servicios de integración pueden no incluir ninguna capacidad de red, pero pueden observarse a través de los dispositivos IoT 202 conectados, ya sea directa o indirectamente. El sistema 212 de servicios de integración puede perfilar estas entidades, tal como a través de un módulo 308 de análisis de datos descrito posteriormente en la Figura 3, y almacenar estos perfiles de entidad en el almacén 216 de perfiles como referencia. La interacción con estas entidades perfiladas puede habilitarse mediante identificación visual (por ejemplo, reconocimiento de imágenes), reconocimiento de voz, detección de movimiento, geolocalización, otros datos de entrada a los dispositivos IoT 202, o cualquier combinación de los mismos.
Como ejemplo, un dispositivo IoT 202 con una cámara puede reconocer que un usuario conocido está frente a un plato y un tenedor (por ejemplo, dentro de un contexto de "comer"). Dicho reconocimiento puede provocar un aumento de los pasos diarios objetivo del usuario conocido en su monitor de actividad (por ejemplo, debido a una mayor ingesta de calorías), o activar la máquina de café del usuario conocido para preparar un café exprés. En este ejemplo, el plato y el tenedor no tienen capacidad de red, pero tienen perfiles en el almacén 216 de perfiles. El reconocimiento de los perfiles puede ser un desencadenante de una acción en los dispositivos conectados.
Como otro ejemplo, detectar la proximidad a una persona (por ejemplo, un niño) o un lugar (por ejemplo, la habitación de un niño) puede activar dispositivos IoT portátiles 202 (por ejemplo, sensores) en el niño para sincronizar datos relevantes con el sistema 212 de servicios de integración, tales como el nivel de glucosa del niño. El sistema 212 de servicios de integración puede responder a este activador analizando los datos relevantes y visualizando una información correlativa relevante (por ejemplo, "inyectar más insulina") basándose en los datos analizados en el teléfono inteligente o dispositivo portátil de un padre. El sistema 212 de servicios de integración puede ejecutar además una regla interoperable al detectar el activador, tal como enviar una instrucción a otro dispositivo IoT (por ejemplo, una bomba de insulina). En este ejemplo, el activador puede basarse en una elaboración contextual o semántica de perfiles de una persona o lugar, y no necesariamente en otro dispositivo.
Arquitectura del sistema
La Figura 3 es un diagrama de bloques que ilustra el sistema 300 de plataforma de integración de IoT. Los módulos del mismo pueden implementarse mediante un sistema informático, tal como el sistema informático 500 de la Figura 5. El sistema 300 de plataforma de integración de IoT puede incluir un sistema dorsal (backend) 302 de integración, tal como el sistema 212 de servicios de integración de la Figura 2. El sistema dorsal 302 de integración puede incluir un generador 304 de interfaz de consolidación, un módulo 306 de correlación de datos, un módulo 308 de análisis de datos, un módulo 310 de generación de reglas, un módulo 312 de identificación de dispositivos, un módulo 314 de ejecución de reglas y un módulo 316 de seguimiento de eventos. El sistema dorsal 302 de integración también puede incluir un módulo 318 de interfaz de comunicación para una interactuar con los dispositivos IoT y/o las interfaces de cliente.
El sistema 300 de plataforma de integración de IoT puede permitir la integración de soluciones verticales de dispositivos IoT, tales como las soluciones verticales ilustradas en la Figura 1A y la Figura 1B. Por ejemplo, una solución vertical puede incluir un sistema dorsal 320 específico de la solución, una aplicación 322 específica de la solución y/o un primer dispositivo IoT 324A. Por ejemplo, el primer dispositivo IoT 324A puede comunicarse con el sistema dorsal 320 específico de la solución y/o la aplicación 322 específica de la solución como parte de la solución vertical. El sistema 300 de plataforma de integración de IoT permite que un segundo dispositivo IoT 324B se conecte, aunque el segundo dispositivo IoT 324B no sea parte de la solución vertical. Colectivamente, los dispositivos conectados que incluyen los dispositivos IoT primero y segundo 324A y 324B pueden denominarse "los dispositivos IoT 324". La tecnología para implementar tal integración puede lograrse a través del sistema dorsal 302 de integración, una aplicación 328 de integración, tal como la interfaz 214 de integración de la Figura 2, o ambos. En diversas realizaciones, uno cualquiera o más de los módulos del sistema dorsal 302 de integración pueden implementarse dentro de la aplicación 328 de integración.
Por ejemplo, la integración puede lograrse en cualquier combinación de los siguientes métodos, que incluyen la integración basada en la nube, la integración basada en dispositivos móviles y la integración basada en dispositivos. El método de integración puede depender de la fabricación de cada uno de los dispositivos IoT 324. Independientemente del método de integración, el sistema dorsal 302 de integración y/o la aplicación 328 de integración son informados de la existencia de cualquier dispositivo IoT recién conectado.
Para la integración basada en la nube, el módulo 318 de interfaz de comunicación permite la comunicación entre el sistema dorsal 302 de integración y uno o más de los sistemas dorsales 320 específicos de la solución. Para la integración basada en dispositivos móviles, la aplicación 328 de integración puede comunicarse con la aplicación 322 específica de la solución. Por ejemplo, esta comunicación puede lograrse proporcionando un SDK 326 de integración a la aplicación 322 específica de la solución y/o la aplicación 328 de integración. Para la integración basada en
dispositivos, la aplicación 328 de integración puede comunicarse con los dispositivos loT 324 que pertenezcan a diferentes soluciones verticales a través de un protocolo abierto. Por ejemplo, la aplicación 328 de integración puede escanear diferentes redes locales (por ejemplo, Wi-Fi, Bluetooth, Bluetooth Low Energy, Zigbee, etc.), identificar los dispositivos IoT 324 y conectarse a las interfaces de control de cada uno de los dispositivos IoT 324.
Por ejemplo, el módulo 318 de interfaz de comunicación puede incluir un agente para comunicarse con una API en el sistema dorsal 320 específico de la solución. Como alternativa, el módulo 318 de interfaz de comunicación puede incluir una API propia y puede permitir que el sistema dorsal 320 específico de la solución envíe/recupere datos, incluidos datos en tiempo real, datos de contexto, datos de sensores, metadatos de sensores, datos de configuración o cualquier combinación de estos, a través de la API.
Como otro ejemplo, el SDK 326 de integración puede incorporar procesos/protocolos de comunicación para comunicarse con el módulo 318 de interfaz de comunicación del sistema dorsal 302 de integración y/o la aplicación 328 de integración. En algunas realizaciones, la aplicación 328 de integración puede distribuirse desde el sistema dorsal 302 de integración. Por ejemplo, los dispositivos IoT 324 que tengan conectividad Wi-Fi pueden volverse visibles para la plataforma 300 de integración cuando estén en las redes Wi-Fi donde está conectada la aplicación 328 de integración.
Como otro ejemplo específico más, un dispositivo IoT 324, tal como el segundo dispositivo IoT 324B, puede integrarse directamente con el sistema dorsal 302 de integración y/o la aplicación 328 de integración. El segundo dispositivo IoT 324B puede configurarse de manera que los protocolos y procesos para la comunicación con el sistema dorsal 302 de integración y/o la aplicación 328 de integración se almacenen en el mismo. Opcionalmente, puede configurarse dentro de un dispositivo IoT 324 un SDK de integración de dispositivos (no mostrado), similar al SDK 326 de integración. El SDK de dispositivo de integración puede permitir que los dispositivos IoT 324 se comuniquen con el sistema dorsal 302 de integración, la aplicación 328 de integración y/o entre sí (mostrado como una conexión de línea de puntos).
Identificación de dispositivos
El módulo 312 de identificación de dispositivos está configurado para generar una identificación única para cada dispositivo IoT detectado por la plataforma 300 de integración. La identificación única permite el seguimiento de los dispositivos IoT con fines de autenticación, permisos de acceso a datos y seguridad, correlación de datos, análisis de datos, generación de reglas, ejecución de reglas, seguimiento de eventos y/o interfaz de usuario. En algunas realizaciones, el módulo 312 de identificación de dispositivos también puede detectar el tipo y/o la marca de los dispositivos IoT. El tipo puede definir la estructura de datos del dispositivo IoT, las acciones que son aplicables al dispositivo IoT y/o los protocolos y procesos de comunicación del dispositivo IoT. Como ejemplo específico, la correlación de las características de dispositivo de un interruptor de luz domótico inteligente permite que los módulos de consolidación de datos se comuniquen con el interruptor de luz y los módulos de reglas interoperables para controlar y gestionar el interruptor de luz. El módulo 312 de identificación de dispositivos puede simplificar el proceso de conectividad de agregar un nuevo dispositivo identificando el nuevo dispositivo total o parcialmente sin la intervención del usuario.
La identificación de dispositivos virtual y físicamente conectados alrededor de un usuario o un lugar relevante para el usuario es un componente importante para la función de interoperabilidad. Por ejemplo, el módulo 312 de identificación de dispositivos puede emplear al menos uno de los siguientes métodos para identificar los dispositivos IoT 324: (a) identificación basada en dispositivos, donde se puede crear un identificador de dispositivo IoT único basándose en los elementos de datos del dispositivo; (b) identificación basada en protocolo, donde se puede crear un identificador de dispositivo único basándose en uno o varios elementos de comunicación del dispositivo; (c) identificación basada en dispositivos y protocolos, donde una combinación de datos del dispositivo y datos del protocolo de comunicación puede definir la identificación del dispositivo; (d) identificación basada en el comportamiento del dispositivo, donde el dispositivo se identifica basándose en su comportamiento predefinido u observado, o cualquier combinación de los mismos. El comportamiento puede ser, por ejemplo, audible, visual, magnético, electrónico, de movimiento o cualquier combinación de los mismos. El patrón de comportamiento puede ser pasivo o responder a una instrucción o estímulo. El módulo 312 de identificación de dispositivos puede reconocer el comportamiento de un dispositivo IoT basándose en datos del dispositivo IoT, una instrucción de prueba y verificación o un evento de contexto asociado con el dispositivo IoT. La instrucción de prueba y verificación, por ejemplo, puede incluir que el módulo 312 de identificación de dispositivos envíe una instrucción de parpadeo a una bombilla conectada para identificar la bombilla exacta entre múltiples bombillas de alrededor. De esta forma, el reconocimiento de un contexto (por ejemplo, contexto conductual) y/o una circunstancia semántica del dispositivo IoT (por ejemplo, la bombilla) puede definir el identificador único del dispositivo IoT.
La identificación de dispositivos puede basarse en el reconocimiento de imágenes. La identificación de dispositivos basada en el reconocimiento de imágenes puede asistirse mediante datos relevantes, que incluyen parámetros contextuales del módulo 306 de correlación de datos, el módulo 308 de análisis de datos o ambos. Por ejemplo, si el módulo 312 de identificación de dispositivos analiza un dispositivo y determina que el dispositivo puede ser bien una nevera Samsung(TM), bien un televisor Samsung(TM), la identidad del dispositivo puede determinarse basándose en su contexto de geolocalización (por ejemplo, si el dispositivo está en la sala de estar, entonces el dispositivo es un
televisor, y si el dispositivo está en la cocina, entonces el dispositivo es una nevera). En este caso, por ejemplo, la ubicación puede determinarse mediante balizas de radiofrecuencia (RF) de otros dispositivos de alrededor o mediante componentes de geolocalización. En el ejemplo de balizas de RF, si se detectan un microondas y una máquina de café alrededor del dispositivo, es probable que el dispositivo esté en la cocina. La localización puede asistirse además mediante datos semánticos. Por ejemplo, si el dispositivo está próximo (por ejemplo, dentro de un umbral de distancia) a una bombilla nombrada por el usuario como "luz de cocina", entonces el dispositivo está en la cocina. La proximidad se puede estimar por la distancia a través del indicador de intensidad de señal del enrutador (RSSI, por sus siglas en inglés) o un reconocimiento visual.
Consolidación de datos
La tarea de consolidación de datos se puede dividir en etapas. Por ejemplo, la consolidación de datos se puede realizar en las siguientes etapas, que incluyen: (1) extracción de datos, (2) agregación de datos, (3) normalización de datos, (4) correlación de datos, (5) análisis de datos y (6) visualización de datos. En la Figura 7 está ilustrado un ejemplo del flujo de consolidación de datos. El sistema dorsal 302 de integración y/o la aplicación 328 de integración pueden implementar cualquier combinación de las etapas para la consolidación de datos. Por ejemplo, cuando un usuario maneja un seguidor de actividad y una báscula en red, la plataforma 300 de integración permite que una interfaz consolidada presente una vista correlativa del peso y las actividades del usuario de una manera que tenga sentido para ayudar al usuario a vigilar su salud. La combinación de las etapas anteriores permite características de correlación únicas, que se ha descubierto que son ventajosas. Las etapas de consolidación de datos permiten obtener información contextual y semántica basada en una multitud de datos de sensores/de medición/semánticos/analíticos/comunicados por el usuario/de estado del dispositivo, en lugar de solo una lista de datos de sensores. Por ejemplo, la consolidación de datos puede proporcionar al usuario información sobre su propia salud (por ejemplo, cuando el usuario va al trabajo en transporte público, quema cuatro veces más calorías que cuando conduce un automóvil al trabajo). Por lo tanto, las etapas de consolidación de datos pueden usarse para motivar al usuario a cambiar hábitos y patrones de comportamiento que afecten su estado físico/salud. El módulo 306 de correlación de datos está configurado para extraer datos sin procesar de diferentes fuentes, incluidos los dispositivos IoT 324. Por ejemplo, el módulo 306 de correlación de datos puede recibir datos (por ejemplo, en tiempo real de un flujo de datos continuo o discreto, datos no en tiempo real, datos de sensores del dispositivo, un conjunto de datos de interacción usuario-dispositivo, un conjunto de datos de informes del usuario o cualquier combinación de los mismos, incluidos metadatos de los mismos) de los dispositivos IoT 324. Por ejemplo, los datos pueden incluir mediciones, instrucciones del usuario o actualizaciones de estado comunicadas por el usuario. El módulo 306 de correlación de datos puede recibir los conjuntos de datos directamente desde los dispositivos IoT o a través de informes de la aplicación 222 específica de la solución o la aplicación 328 de integración.
El módulo 306 de correlación de datos puede configurarse además para extraer datos sin procesar de una fuente externa. Por ejemplo, los datos sin procesar pueden extraerse de una fuente de datos virtual o en línea, tal como un mapa de geolocalización, una red social, un calendario, una red de medios, o cualquier combinación de los mismos.
El módulo 306 de correlación de datos puede configurarse además también para extraer datos basándose en el análisis de datos, tal como el análisis de datos realizado por el módulo 308 de análisis de datos. El análisis de datos puede incluir análisis semántico y análisis de conocimiento de contexto. En la presente memoria se ofrece una descripción adicional de datos generados a partir del módulo 308 de análisis de datos.
El módulo 306 de correlación de datos puede configurarse para agregar los conjuntos de datos en agrupaciones de datos significativas durante el proceso de recopilación de datos. A medida que se extraen los datos, estos se organizan en las agrupaciones significativas (por ejemplo, clúster). La agregación de datos puede basarse en una línea de tiempo, en el usuario, en el tipo de dispositivo, en grupos definidos por el usuario, en la ubicación o en cualquier combinación de los mismos.
El módulo 306 de correlación de datos puede configurarse para normalizar cada uno de los conjuntos de datos. Por ejemplo, los datos a lo largo de la misma dimensión se pueden normalizar a través de períodos de tiempo, a través de las agrupaciones de datos mediante agregación, o una combinación de los mismos.
El módulo 306 de correlación de datos también puede configurarse para correlacionar partes de los conjuntos de datos entre sí. La correlación de datos es una forma inteligente de asociar una parte de los conjuntos de datos con otra parte de los conjuntos de datos. La correlación de datos puede basarse en sincronización de tiempo, relación social compartida (por ejemplo, los dispositivos son propiedad de cuentas de usuario en el mismo grupo social), dimensión de datos compartida (por ejemplo, ambos dispositivos miden el peso), perfil de origen de datos compartido (por ejemplo, ubicación o tipo de dispositivo, etc.), perfil del propietario de los datos (por ejemplo, perfil de usuario o configuraciones de usuario), semántica conocida compartida (por ejemplo, ambos dispositivos se consideran "utensilios de cocina"), contexto conocido compartido (por ejemplo, ambos dispositivos se hacen funcionar en el contexto del ejercicio) o cualquier combinación de los mismos.
Por ejemplo, los datos comunicados desde un sistema de calefacción en red pueden correlacionarse con los datos comunicados desde un termómetro en red basándose en una dimensión de datos compartida y una ubicación de fuente de datos compartida. Como otro ejemplo, los datos agregados comunicados por un seguidor de ejercicio en un
primer usuario pueden correlacionarse con un conjunto de datos agregados de datos de frecuencia cardíaca del primer usuario (es decir, debido al contexto conocido compartido de "salud del usuario"). El conjunto de datos agregados de datos de frecuencia cardíaca puede, a su vez, correlacionarse entonces con un conjunto de datos agregados del recuento de calorías del primer usuario comunicado por el usuario (es decir, debido al contexto conocido compartido de "salud del usuario").
El módulo 306 de correlación de datos está configurado para interactuar con el módulo 308 de análisis de datos. El módulo 308 de análisis de datos está configurado para determinar un conjunto de datos semánticos o de contexto a partir de los conjuntos de datos correlacionados. Téngase en cuenta que parte de los conjuntos de datos correlacionados pueden incluir ya datos semánticos o contextuales.
Semántica
El módulo 308 de análisis de datos puede determinar el significado semántico para cada uno de los dispositivos IoT 324 y los datos procesados por el módulo 306 de correlación de datos. Inicialmente, los dispositivos IoT 324 no tienen ningún significado asignado para un usuario. Por ejemplo, los dispositivos IoT 324 son dispositivos como interruptores, enrutadores, bombillas, una nevera, un televisor, un coche, etc. Sin embargo, para los usuarios, los dispositivos IoT 324 simbolizan algo más que una bombilla. Los usuarios prefieren usar significados semánticos de los dispositivos basados en los dispositivos. Por ejemplo, un interruptor "X-Box", un enrutador de "mi casa", una luz de "cocina", una luz de "baño", una nevera de "mis padres" y un televisor de "cocina" son todas etiquetas semánticas potenciales que pueden ayudar a un usuario a la hora de manejar un conjunto de dispositivos IoT 324. Las etiquetas semánticas en los dispositivos IoT 324 también pueden ayudar al módulo 308 de análisis de datos a comprender mejor el contexto de las intenciones del usuario. Por ejemplo, una "puerta principal" puede estar en un contexto con comportamientos predeterminados o reglas interoperables diferentes a los de una "puerta del dormitorio". De manera similar, los datos generados a través de estos dispositivos IoT 324 etiquetados semánticamente también pueden etiquetarse semánticamente. El módulo 308 de análisis de datos puede implementar el aprendizaje semántico en los dispositivos de cada usuario basándose en al menos uno o más de los siguientes métodos:
Basado en el usuario: Un usuario puede definir el significado semántico. Un usuario puede comunicar a través de la aplicación 322 específica de la solución o la aplicación 328 de integración que un dispositivo específico está conectado a otro dispositivo. Por ejemplo, el usuario puede comunicar a través de la interfaz de cliente que un interruptor está conectado a una consola de juegos X-Box y, por lo tanto, el interruptor puede etiquetarse como "interruptor X-box".
Basado en el dispositivo: El significado semántico se puede determinar a través de un mecanismo de correlación adaptativo como se implementa a través del módulo 306 de correlación de datos descrito anteriormente. A través de técnicas de escaneo en red, el mecanismo de correlación adaptativo puede identificar que el teléfono inteligente del usuario ve la bombilla específica siempre al mismo tiempo que se identifica también una nevera. El mecanismo de correlación adaptativo puede aprender que la bombilla tiene un significado importante junto con la nevera. Tal correlación de datos permite comprender que la bombilla está muy cerca de la nevera. El módulo 308 de análisis de datos puede entonces adoptar un significado semántico existente de que la nevera está en la "cocina" para la bombilla específica (es decir, etiquetando la bombilla como la bombilla de la "cocina").
Basado en el perfil de comportamiento: El módulo 308 de análisis de datos puede perfilar los patrones de comportamiento del usuario e identificar lugares, dispositivos y personas a los que un usuario se conecta durante su día. Por ejemplo, cuando un usuario se conecta a dispositivos IoT siempre o con mucha frecuencia durante los días laborales desde un enrutador o una geolocalización específicos, entonces el módulo 308 de análisis de datos puede etiquetar los dispositivos IoT con un significado semántico de ser un dispositivo de "trabajo" basándose en la asociación del enrutador específico o con una geolocalización de trabajo.
Conocimiento del contexto
A través del conocimiento semántico y la interoperabilidad de los dispositivos, el módulo 308 de análisis de datos puede reconocer el contexto entre dispositivos, personas, lugares y tiempo. El contexto puede organizarse semánticamente para facilitar la comprensión por parte del usuario de la plataforma de integración. El contexto puede funcionar para aproximarse a o describir una situación, un lugar, un evento o una persona de la vida real basándose en conjuntos de datos recopilados de los dispositivos IoT u otros nodos (por ejemplo, red social, cuentas externas asociadas a usuarios o bases de datos geográficas). El contexto puede funcionar para predecir una situación futura basándose en conjuntos de datos recopilados de los dispositivos IoT. El contexto puede responder preguntas, tales como quién está haciendo qué actividad cuándo y dónde, y porqué se está haciendo la actividad. Por ejemplo, el contexto de "mamá está preparando la cena en la cocina esta noche" puede detectarse por la activación del teléfono celular de la madre cerca de un horno en red que también está activado. Los mecanismos de conocimiento del contexto del módulo 308 de análisis de datos pueden basarse en uno o más de los siguientes métodos:
Basado en el perfil de comportamiento: El módulo 308 de análisis de datos puede deducir un contexto concreto a través del análisis de comportamiento del dispositivo. Por ejemplo, el conocimiento de "terminó de correr", "el niño llega a casa de la escuela" se reconoce basándose en comportamientos de los dispositivos, incluyendo cuándo el
seguidor de ejercicios ha dejado de registrar movimiento o cuándo un televisor inteligente está sintonizado en un canal de dibujos animados en casa por la tarde.
Basado en lo social: El módulo 308 de análisis de datos puede deducir un contexto concreto a través de la interacción con datos de gráficos sociales de una red social asociada con una cuenta de usuario. Por ejemplo, cuando los usuarios se comunican con sus amigos a través de una red social, se puede aplicar un mecanismo de coincidencia para asignar el conocimiento de una relación de amistad a los dispositivos de los amigos del usuario. Se puede asignar una etiqueta semántica de "reloj inteligente de una amiga Erica" a un dispositivo portátil registrado a nombre de una amiga del usuario llamada "Erica". En lo sucesivo, cualquier actividad observada a través del reloj inteligente puede tener un contexto social para el usuario como una actividad realizada por la amiga "Erica". Como otro ejemplo, cuando un dispositivo registrado a nombre de "Erica" (por ejemplo, el dispositivo está frecuentemente o siempre con "Erica") se detecta en las proximidades de la región activa del usuario (por ejemplo, donde el módulo 308 de análisis de datos ha determinado que está el usuario o la ubicación de una puerta en red de un hogar registrado a nombre del usuario), el módulo 308 de análisis de datos puede registrar un evento contextual de "Erica está en la puerta".
Basado en la geolocalización: El módulo 308 de análisis de datos puede identificar además las geolocalizaciones de las actividades de múltiples dispositivos para determinar el contexto de la ubicación. En cada evento de escaneo de red de un dispositivo IoT conectado, se puede recoger una geolocalización (longitud, latitud, precisión). Por lo tanto, cada dispositivo IoT y/o actividad de dispositivo IoT puede tener un historial de geolocalización que defina el contexto de geolocalización del dispositivo. La geolocalización, por ejemplo, se puede comunicar a través de un componente del sistema de posicionamiento global (GPS, por sus siglas en inglés) o un módulo de red (por ejemplo, mediante triangulación de fuente de red) de los dispositivos IoT 324.
El módulo 308 de análisis de datos también puede determinar la geolocalización de un dispositivo IoT generando y manteniendo un mapa de navegación interior. Es posible que las técnicas, tales como la geolocalización por GPS y/o los sistemas de navegación de geolocalización basados en redes celulares, no sean tan efectivas o estén tan fácilmente disponibles (por ejemplo, debido a la baja intensidad de la señal) para ubicar personas y dispositivos en interiores. En una realización, una solución de geolocalización en interiores puede incluir sistemas de hardware especiales que se coloquen dentro del edificio para geolocalización y navegación en interiores.
Una solución preferida puede incluir una geolocalización a través de conexiones de red local sin sistemas de hardware especiales adicionales. En diversas realizaciones, puede mantenerse en un almacén de base de datos acoplado al módulo 308 de análisis de datos un directorio de dispositivos conectados que pertenezcan al usuario. El directorio, junto con la señal de baliza de Bluetooth o WiFi, puede usarse para estimar la posición de un usuario en interiores. Por ejemplo, para cada escaneo de enrutador de red Wi-Fi, pueden recogerse tanto la geolocalización por GPS como el RSSI a través del módulo 306 de correlación de datos o el módulo 308 de análisis de datos. El RSSI permite que el módulo 308 de análisis de datos ubique dispositivos de red locales (por ejemplo, enrutadores, puntos de acceso o conmutadores) unos en relación con otros en cada punto de geolocalización específico. Cada dispositivo IoT conectado a la red interior (por ejemplo, Wi-Fi) a través de su posición de visibilidad en relación con los dispositivos de red locales en cada momento puede permitir así la localización de las actividades del usuario y del dispositivo IoT dentro de la casa.
El módulo 308 de análisis de datos puede calcular el conjunto de contexto en tiempo real a medida que se comunican los datos desde los dispositivos IoT. El tiempo absoluto y/o relativo de los datos del dispositivo IoT puede usarse para el contexto temporal. Por ejemplo, el módulo 306 de correlación de datos puede correlacionar tiempos de activación de dispositivos IoT que se hallen en la misma habitación. El módulo 308 de análisis de datos puede entonces calcular un contexto relevante para el usuario a partir de los tiempos de activación de los dispositivos. Por ejemplo, si los tiempos de activación de los dispositivos IoT están próximos entre sí dentro de un período de tiempo predeterminado por la mañana, el módulo 308 de análisis de datos puede registrar un contexto de "el usuario se ha despertado". Como otro ejemplo, si los tiempos de desconexión de los dispositivos IoT, para dispositivos IoT que se hallen dentro de la misma habitación, son simultáneos dentro de un margen muy estrecho, el módulo 308 de análisis de datos puede registrar un contexto de "apagón". Este contexto de "apagón" puede diferenciarse de cuando los tiempos de desconexión de los dispositivos IoT son secuenciales en lugar de simultáneos. Como otro ejemplo más, un apagado secuencial de los dispositivos IoT puede señalar un contexto de "usuario preparándose para dormir" o un contexto de "usuario saliendo de casa".
Información correlativa
El módulo 308 de análisis de datos también puede determinar información correlativa. La información correlativa es información procesable para facilitar al usuario la toma de decisiones con respecto a qué medida o medidas se han de adoptar. Las Figuras 10A-10B ilustran ejemplos de cómo se puede mostrar la información correlativa en una interfaz consolidada generada por el módulo generador 304 de interfaz de consolidación. Por ejemplo, el módulo 306 de correlación de datos puede recopilar un primer conjunto de datos de nivel de glucosa desde un dispositivo portátil de un usuario. El módulo 306 de correlación de datos también puede recopilar un segundo conjunto de datos de nivel de actividad de otro dispositivo portátil del usuario. El módulo 306 de correlación de datos puede entonces correlacionar los dos conjuntos de datos. El módulo 308 de análisis de datos puede determinar una información correlativa de que "un alto nivel de actividad conduce a una caída repentina en el nivel de glucosa". Esta información
correlativa se puede usar entonces para generar reglas interoperables para notificar al usuario que deje de hacer ejercicio después de alcanzar un cierto nivel de actividad para evitar caídas repentinas en el nivel de glucosa.
El generador 304 de interfaz de consolidación está configurado para proporcionar una interfaz de consolidación para acceder a y/o gestionar dispositivos IoT conectados a la plataforma 300 de integración. El generador 304 de interfaz de consolidación permite la consolidación de dispositivos conectados para un consumidor/usuario en una interfaz de cliente única. La interfaz de cliente única se puede presentar en la aplicación 328 de integración o en cualquier otro dispositivo de red capaz de acceder a la web y conectarse con el sistema dorsal 302 de integración. El generador 304 de interfaz de consolidación también se puede configurar para proporcionar acceso a datos en tiempo real o no en tiempo real capturados por uno o más de los dispositivos IoT.
Como ejemplo específico, el módulo 306 de correlación de datos puede agregar datos para generar una "línea de vida" que se ha de presentar a través de la interfaz de cliente generada por la interfaz de consolidación. La "línea de vida" puede servir de diario automatizado relacionado con un usuario, como se ilustra en la Figura 4. Las actividades y eventos diarios de un usuario pueden correlacionarse entre sí en su totalidad o parcialmente en el orden de la hora del día.
La "línea de vida" puede incluir eventos de contexto determinados por el módulo 308 de análisis de datos, así como datos de los dispositivos IoT. La "línea de vida" puede ser accesible para el usuario y/o las conexiones sociales (por ejemplo, amigos en una red social) del usuario a través de la interfaz de consolidación. La "línea de vida" puede proporcionar un panorama general para que el usuario visualice conjuntos de datos correlacionados relevantes relacionados con él mismo. La "línea de vida" puede etiquetar datos de los dispositivos IoT en una línea de tiempo automáticamente basándose en una determinación de relevancia del contexto por parte del módulo 308 de análisis de datos o basándose en la interacción del usuario. La "línea de vida" también puede ser un motivador para la recopilación de datos semánticos de un usuario. Por ejemplo, cuando un usuario ha pasado una cantidad de tiempo considerable en un lugar, el módulo 306 de correlación de datos puede recopilar y correlacionar datos asociados con un nombre predeterminado "lugar en el parque Menlo". Entonces, el usuario puede estar motivado para corregir la etiqueta semántica a "casa".
Por ejemplo, los usuarios pueden ver un registro de vida con los lugares en los que ha estado el usuario, datos de seguimiento de actividades, estados de salud, eventos de calendario, datos meteorológicos, todos los datos correlacionados entre sí a lo largo de la línea de tiempo del día. Además, el usuario puede agregar sus eventos personalizados en la "línea de vida". Por lo tanto, la "línea de vida" es específica del usuario. La accesibilidad y/o la configurabilidad de la "línea de vida" se pueden asegurar a través de la configuración de privacidad por usuario. Mediante el módulo 306 de correlación de datos y/o el módulo 308 de análisis de datos pueden agregarse, analizarse y/o correlacionarse datos (por ejemplo, mediciones, instrucciones, actualizaciones de estado, etc.) provenientes de los dispositivos IoT 324. Una ventaja del análisis de datos y la correlación de datos es la generación de una o más capas de información contextual, correlativa y/o semántica, eventos activadores y/o acciones. El módulo 308 de análisis de datos puede aplicar aprendizaje automático sobre los datos analizados y/o correlacionados provenientes de las tres capas descritas anteriormente y crear una sensación de "cognición" - comprensión de eventos contextuales, correlativos y/o semánticos en la vida de un usuario. Estas capas permiten la comprensión predictiva o reflexiva de los patrones y/o tendencias de comportamiento del usuario y/o del dispositivo IoT, y pueden permitir además la síntesis de generalizaciones de la actividad o necesidad del usuario y/o del dispositivo IoT.
La detección de eventos contextuales puede ser útil, como se evidencia posteriormente, con el fin de generar y ejecutar reglas de dispositivos IoT interoperables, tales como para el uso por parte del módulo 310 de generación de reglas, el módulo 314 de ejecución de reglas y el módulo 316 de seguimiento de eventos. Por ejemplo, cuando el seguidor de actividad del amigo (por ejemplo, el de Erica) está cerca de la cerradura de la puerta conectada del usuario, y el usuario ha otorgado permisos, entonces la cerradura de la puerta conectada puede abrirse automáticamente al reconocer un contexto social de un "amigo en mi casa al lado de mi puerta conectada".
interoperabilidad - generación y ejecución de reglas
Se ha descubierto que la interoperabilidad es una parte importante de la consolidación de soluciones verticales para dispositivos IoT. Las funciones de interoperabilidad pueden implementarse a través del módulo de generación de reglas, el módulo 312 de identificación de dispositivos, el módulo 314 de ejecución de reglas y/o el módulo 316 de seguimiento de eventos. La interoperabilidad permite la creación de conexiones lógicas entre los dispositivos IoT conectados. Por ejemplo, cuando un usuario apaga las luces de su oficina y sale del trabajo, entonces la temperatura de su casa puede ajustarse automáticamente para una temperatura deseada. Las conexiones lógicas entre los dispositivos IoT conectados pueden crearse a través de los lenguajes naturales de los usuarios. Por ejemplo, una regla lógica de dispositivos IoT se puede implementar a través de una indicación de lenguaje natural como "cuando salga de casa, apaga las luces y enciende mi aspiradora Roomba" o "cuando termine de hacer ejercicio, enfría mi coche".
Una vez que se define una conexión lógica, la conexión lógica puede tener lugar sobre la base de reglas interoperables definidas, sin ninguna interferencia del usuario. Las funciones de interoperabilidad pueden basarse en un mecanismo de activador-acción responsable de crear (por ejemplo, el módulo 310 de generación de reglas), almacenar (por
ejemplo, el módulo 310 de generación de reglas), validar (por ejemplo, el módulo 310 de generación de reglas), seguir (por ejemplo, módulo 316 de seguimiento de eventos) y activar (por ejemplo, el módulo 314 de ejecución de reglas) las reglas interoperables. Por ejemplo, el módulo 310 de generación de reglas puede crear, almacenar y confirmar una regla basada en eventos de contexto con el usuario. El monitor 316 de seguimiento de eventos puede, por ejemplo, sustancialmente en tiempo real o periódicamente, reconocer condiciones desencadenadas por el contexto (por ejemplo, "me fui de casa", "terminé de hacer ejercicio" o "Erica entró en la cocina"). El módulo 314 de ejecución de reglas puede entonces ejecutar la regla basada en eventos de contexto cuando se satisfaga la condición activada por el contexto.
Como ejemplo, el módulo 310 de generación de reglas puede haber creado una regla basada en el contexto de "si el usuario ha salido de la casa, apagar todos los dispositivos internos". El módulo 316 de seguimiento de eventos a través del módulo 308 de análisis de datos puede detectar en tiempo real un contexto de "el usuario ha salido de la casa" en el punto de tiempo T1. Así, en respuesta a la detección del evento condicional en el momento T1, el módulo 314 de ejecución de reglas puede ejecutar múltiples instrucciones de apagado a múltiples dispositivos IoT en la dirección de casa del usuario.
Como otro ejemplo, una regla interoperable puede ser una condición de autenticación acoplada al desbloqueo de un dispositivo de seguridad conectado (por ejemplo, una puerta habilitada para la red). La condición de autenticación, por ejemplo, puede ser un evento contextual de "un amigo que viene a mi casa". El módulo 316 de seguimiento de eventos puede detectar este evento contextual cuando el dispositivo de seguimiento de actividad de un amigo se acerque a la puerta conectada del usuario. En este ejemplo, la geolocalización del seguidor de actividad conectado u otros dispositivos portátiles del amigo se puede utilizar como base para confirmar la condición de autenticación. La condición de autenticación puede incluir muchos otros factores, incluida la proximidad de geolocalización de un segundo y/o un tercer dispositivo que pertenezcan al usuario o al amigo del usuario, incluidos los teléfonos inteligentes o los dispositivos móviles. El módulo 310 de generación de reglas está configurado para facilitar la creación de reglas para controlar los dispositivos IoT. El módulo 310 de generación de reglas puede acoplarse a una interfaz de gestión de reglas. La interfaz de gestión de reglas puede ser parte de la interfaz de consolidación generada por el generador 304 de interfaz de consolidación. La interfaz de gestión de reglas puede ser parte de la interfaz de consolidación generada por el generador 304 de interfaz de consolidación. Las reglas pueden ser configuradas por un usuario o determinadas automáticamente por el módulo 310 de generación de reglas. Cuando una regla es determinada por el módulo 310 de generación de reglas, la regla se muestra como una recomendación. Luego, la recomendación se sugiere a través de la interfaz de consolidación para que el usuario la valide. Las reglas pueden almacenarse en el sistema dorsal 302 de integración o en un dispositivo IoT asociado con un usuario que haya creado o validado la regla.
Las reglas pueden incluir condicionales basados en eventos, contexto, activador de usuario, activador de tiempo o cualquier combinación de los mismos. Al módulo 310 de generación de reglas se le puede acoplar una interfaz de gestión de reglas que permita una o varias selecciones de un condicional seguidas de una o varias selecciones de una instrucción. Una recomendación de regla puede estar determinada por un mecanismo de aprendizaje adaptativo, tal como por el patrón de comportamiento del usuario (por ejemplo, todas las mañanas el usuario enciende el aire acondicionado a 70 grados), por el perfil del usuario (por ejemplo, otros usuarios de la misma edad y/o sexo prefieren tener un informe de salud agregado desde dispositivos IoT relacionados con la salud y, por lo tanto, se crea una regla para generar un informe de salud), o por activadores sociales (por ejemplo, un amigo que posee un Tesla decide enviar las reglas de su dispositivo IoT asociadas con la posesión de un Tesla).
Un usuario puede definir la interoperabilidad entre sus dispositivos IoT de acuerdo con su voluntad, preferencia, hábitos y/o deseo de automatización o cualquier otro tipo de motivación. Basándose en los comportamientos de los usuarios y los perfiles de los usuarios, el mecanismo de aprendizaje adaptativo puede reconocer los patrones de rutinas de comportamiento del usuario y ofrecer a un usuario agregar una conexión lógica interoperable (es decir, regla interoperable de IoT) entre sus dispositivos conectados. Por ejemplo, el módulo 306 de correlación de datos y el módulo 308 de análisis de datos pueden reconocer que cada mañana un usuario enciende la máquina de café, enciende la música, sale de una casa y apaga todas las luces y el termostato. Esta secuencia de instrucciones del dispositivo IoT a la máquina de café y al reproductor de música puede ser una regla recomendada activada por un evento de contexto en el que el usuario se despierta. Las instrucciones del dispositivo IoT al termostato y a las luces pueden activarse por el evento de contexto del usuario que sale de la casa. Los usuarios también pueden recomendar las reglas lógicas interoperables a sus amigos a través de cualquier canal de comunicación, por ejemplo, redes sociales, correos electrónicos, mensajes celulares, mensajes instantáneos, o cualquier combinación de los mismos.
El módulo 316 de seguimiento de eventos está configurado para sincronizar la ejecución de reglas basadas en eventos. Cuando se generan las reglas de IoT interoperables, la ejecución de las reglas puede basarse en una serie de eventos condicionales. Por ejemplo, los eventos condicionales pueden incluir eventos basados en el contexto, eventos basados en el estado del dispositivo, eventos basados en el tiempo absoluto o relativo, eventos activados socialmente, eventos activados por el perfil del usuario, eventos activados por el comportamiento/la interacción del usuario, o cualquier combinación secuencial o paralela de los mismos. El módulo 316 de seguimiento de eventos puede interactuar con el módulo 308 de análisis de datos para detectar los eventos basados en el contexto y ejecutar reglas basadas en el contexto generadas por el módulo 310 de generación de reglas. El módulo 316 de seguimiento de eventos puede detectar eventos condicionales en los dispositivos IoT 324 conectados basándose en un sondeo de los dispositivos
IoT 324 conectados, o basándose en interrupciones recibidas desde los dispositivos loT 324, la aplicación 322 específica de la solución y/o la aplicación 328 de integración.
En diversas realizaciones, el mecanismo de vigilancia de eventos del módulo 316 de seguimiento de eventos puede implementarse en la aplicación 328 de integración, el sistema dorsal 302 de integración, los dispositivos IoT 324 o una combinación de los mismos. Cuando alguna lógica del módulo 316 de seguimiento de eventos se implementa en los dispositivos IoT 324 o la aplicación 328 de integración, el módulo 316 de seguimiento de eventos puede detectar eventos de condición basándose en interrupciones en lugar de en un sondeo.
La implementación de la validación, el seguimiento y la ejecución de reglas interoperables puede distribuirse. Por ejemplo, la implementación de las reglas interoperables puede basarse en un modelo de malla distribuida en comunicación con un sistema central de servicios en la nube (por ejemplo, el sistema dorsal 302 de integración). En diversas realizaciones, cada usuario que ejecute la aplicación 328 de integración puede validar, rastrear y ejecutar reglas interoperables, incluso si las reglas interoperables no pertenecen al usuario. Por ejemplo, si un usuario ha perdido un llavero con etiqueta Bluetooth, la plataforma 300 de integración puede intentar escanear los entornos próximos de los dispositivos de otros usuarios en busca del llavero del usuario. Los identificadores de los dispositivos de otros usuarios pueden permanecer anónimos y/o encriptados por razones de privacidad. La ubicación final del llavero también está protegida contra el acceso por parte de los otros usuarios, incluso si los dispositivos de los otros usuarios han contribuido a ubicar el llavero. Entonces se puede transferir un identificador anonimizado al sistema dorsal 302 de integración para informar al usuario que se ha encontrado el llavero.
El módulo 314 de ejecución de reglas está configurado para ejecutar una regla lógica de interoperabilidad a través de los dispositivos IoT 324, el sistema dorsal 302 de integración, la aplicación 328 de integración, las aplicaciones 322 específicas de la solución, los sistemas dorsales 320 específicos de la solución o cualquier combinación de los mismos. El módulo 314 de ejecución de reglas puede configurarse para que se comunique con los sistemas anteriores a través del módulo 318 de interfaz de comunicación para permitir la comunicación entre todos los dispositivos, aplicaciones y sistemas anteriores. El módulo 314 de ejecución de reglas también puede sincronizar la ejecución de instrucciones relacionadas con múltiples dispositivos IoT. En diversas realizaciones, de manera similar al seguimiento de las condiciones de activación, la ejecución de instrucciones también puede distribuirse, incluso a través de dispositivos propiedad de un usuario que no sea el propietario de la regla interoperable. En diversas realizaciones, cada usuario que posea dispositivos puede habilitar configuraciones de permisos que permitan a otros usuarios usar los dispositivos poseídos para el seguimiento o la ejecución de reglas interoperables.
Los bloques, componentes y/o módulos asociados con el sistema 300 de plataforma de integración de IoT pueden implementarse como módulos de hardware, módulos de software o cualquier combinación de los mismos. Por ejemplo, los módulos descritos pueden ser módulos de software implementados como instrucciones en una memoria de almacenamiento tangible que puedan ser ejecutadas por un procesador o un controlador en una máquina. La memoria de almacenamiento tangible puede ser una memoria volátil o no volátil. En algunas realizaciones, la memoria volátil puede considerarse "no transitoria" en el sentido de que no es una señal transitoria. Los módulos de software pueden hacerse funcionar cuando sean ejecutados por un procesador u otro dispositivo informático, por ejemplo, un chip de placa única, una agrupación de campo programable de campo, un dispositivo informático con capacidad de red, un dispositivo terminal de máquina virtual, un dispositivo terminal informático basado en la nube o cualquier combinación de los mismos.
Cada uno de los módulos puede funcionar individualmente e independientemente de otros módulos. Algunos o la totalidad de los módulos pueden ejecutarse en el mismo dispositivo anfitrión o en dispositivos separados. Los dispositivos separados se pueden acoplar a través de un módulo de comunicación para coordinar sus operaciones. Algunos o la totalidad de los módulos pueden combinarse como un solo módulo.
Un módulo individual también puede dividirse en submódulos, realizando cada submódulo una o varias etapas de método del módulo individual separadas. En algunas realizaciones, los módulos pueden compartir el acceso a un espacio de memoria. Un módulo puede acceder a datos a los que acceda o que transforme otro módulo. Los módulos se pueden considerar "acoplados" entre sí si comparten una conexión física o una conexión virtual, directa o indirectamente, permitiendo que se acceda desde un módulo a los datos a los que se acceda o que sean modificados desde otro módulo. En algunas realizaciones, algunos o la totalidad de los módulos pueden actualizarse o modificarse de forma remota. El sistema 300 de plataforma de integración de IoT puede incluir módulos adicionales, menos módulos o módulos diferentes para diversas aplicaciones.
La Figura 4 es un ejemplo de una interfaz de usuario que ilustra un diagrama 400 de línea de vida activa para una cuenta de usuario en una interfaz de integración, tal como la interfaz 114 de integración de la Figura 1 o la aplicación 328 de integración de la Figura 3, que concuerda con diversas realizaciones de la tecnología divulgada. El diagrama 400 de línea de vida activa, por ejemplo, puede ser parte de la interfaz de consolidación generada por el generador 304 de interfaz de consolidación de la Figura 3. El diagrama 400 de línea de vida activa puede ser accesible a través de la aplicación 328 de integración.
Como se muestra, el diagrama 400 de línea de vida activa ilustra un solo día de un usuario, organizado desde el momento en que el usuario se ha despertado hasta el momento en que se ha ido a dormir. Aunque el diagrama 400
de línea de vida activa se ha ilustrado para un período de tiempo de un solo día, el usuario puede definir la duración de los datos históricos para cualquier período de tiempo. En diversas realizaciones, el usuario puede retroceder entre períodos de tiempo consecutivos a lo largo del diagrama 400 de línea de vida. El diagrama 400 de línea de vida activa incluye ilustraciones de etiquetas semánticas 402, eventos/actividades contextuales 404, íconos de dispositivos IoT relevantes 406, datos 408 de dispositivos IoT relevantes, datos contextuales correlacionados 410 y datos 412 de fuentes externas, tales como fuentes de datos de un informe de estado de una red social.
Como un ejemplo específico, los datos contextuales correlacionados 410 pueden representar un elemento de interfaz de usuario en la parte superior del diagrama 400 de línea de vida que permite el etiquetado de actividades o publicaciones específicas de las etiquetas contextuales de actividad física (por ejemplo, dormir, inactivo, activo y ejercicio). Como otro ejemplo, el icono del dispositivo IoT relevante 406 se ilustra junto con un evento contextual de que se han agregado un nuevo dispositivo y una nueva etiqueta semántica para "Mi XBOX".
El diagrama 400 de línea de vida activa puede responder y visualizar información correlativa de acuerdo con datos periódicos o en tiempo real, o actualizaciones de contexto, lo que permite a los usuarios del diagrama 400 de línea de vida activa tomar medidas basándose en la información. El diagrama 400 de línea de vida activa también puede permitir que un usuario etiquete o publique sus propias actualizaciones como parte de un mecanismo de registro de vida. En las Figuras 11A-11D está ilustrado un ejemplo de una interfaz de cámara semántica para facilitar el registro de vida. Por ejemplo, el diagrama 400 de línea de vida activa puede ser ventajoso para lograr un plan de acción de salud con información de retorno en vivo. Este es un paso adelante significativo con respecto a un mero blog de estilo de vida. El diagrama 400 de línea de vida activa puede no solo consolidar datos de estilo de vida y rutina diaria (por ejemplo, datos de ejercicio y rendimiento) relacionados con actividades físicas, sino también correlacionar los hábitos de estilo de vida y la rutina diaria de un usuario con un contexto de cómo de sano está el usuario sobre la base de numerosas mediciones e informes.
Los elementos del diagrama 400 de línea de vida se pueden dividir en al menos las siguientes categorías: publicaciones 414 de registro de vida, elementos tipo A 416, elementos tipo B 418, elementos tipo C 420, elementos tipo D 422, elementos tipo E 424, o cualquier combinación de los mismos. Una publicación 414 de registro de vida es una publicación o etiqueta comunicada por el usuario en el diagrama 400 de línea de vida. Por ejemplo, las publicaciones de registro de vida pueden seguir las siguientes reglas. Puede aparecer un signo "+" en la parte superior de la línea de vida cuando no haya otra actividad, en tiempo de inactividad o cuando no haya otra notificación, elemento o correlación dentro del mismo período de tiempo. Cuando se toca el signo más, pueden aparecer las opciones de publicación. Al elegir la opción de publicación, el signo más puede cambiar a un ícono de cámara que habilite la interfaz de cámara semántica descrita en las Figuras 11A-11D. Puede aparecer un texto editable a la izquierda del signo más, tal como "¿qué tienes en mente?" para solicitar al usuario que especifique una actividad o un tema, o "¿qué es este lugar?" para solicitar al usuario que especifique una ubicación. Si el usuario está inactivo y no edita ni hace una foto durante un número de segundos que sobrepase un determinado umbral, tal como tres segundos, la publicación se convierte en un elemento tipo C 420 y vuelve a aparecer el signo más.
Un elemento tipo A 416 es una actividad o evento donde el lugar y el texto de descripción son predefinidos por la plataforma 300 de integración. Sin embargo, un usuario puede editar el texto del elemento tipo A 416 (por ejemplo, tocando una vez). El texto editado puede devolverse a la plataforma 300 de integración, tal como el sistema dorsal 302 de integración para la representación futura del diagrama 400 de línea de vida. Un elemento tipo B 418 es un nodo en el diagrama 400 de línea de vida. La imagen del nodo puede definirse mediante la plataforma 300 de integración, donde las imágenes pueden almacenarse en caché fuera de línea. El texto de descripción puede ser predefinido por el servidor y editable por el usuario de forma similar al elemento tipo A 416. De nuevo, el texto editado puede devolverse a la plataforma 300 de integración.
Un elemento tipo C 420 es un nodo en el diagrama 400 de línea de vida, estando el nodo representado por una imagen icónica. La imagen icónica predeterminada puede recibirse del sistema dorsal 302 de integración. Sin embargo, el usuario puede tocar la imagen icónica para tomar y cargar una imagen en el sistema dorsal 302 de integración. Un elemento tipo D 422 es un nodo en el diagrama 400 de línea de vida, estando el nodo asociado a una actividad, un icono contextual y una visualización de datos. Un elemento tipo E 424 es un nodo en el diagrama 400 de línea de vida, siendo el nodo un diagrama de representación de datos. El usuario puede configurar cómo proceden los datos del sistema dorsal 302 de integración. El usuario también puede configurar cómo se representan los datos en el diagrama de representación de datos.
Refiriéndonos ahora a la Figura 5, en esta se muestra una representación esquemática de una máquina en la forma ejemplar de un sistema informático 500 dentro del cual se puede ejecutar un conjunto de instrucciones para hacer que la máquina realice una cualquiera o más de las metodologías o módulos tratados en la presente memoria.
En el ejemplo de la Figura 5, el sistema informático 500 incluye un procesador, una memoria, una memoria no volátil y un dispositivo de interfaz. Diversos componentes comunes (por ejemplo, memoria caché) se omiten para simplificar la ilustración. El sistema informático 500 está destinado a ilustrar un dispositivo de hardware en el que puede implementarse cualquiera de los módulos o componentes representados en el ejemplo de la Figura 2 o la Figura 3 (y cualesquiera otros componentes descritos en esta especificación). El sistema informático 500 puede ser de cualquier
tipo aplicable conocido o conveniente. Los componentes del sistema informático 500 pueden acoplarse entre sí a través de un bus o a través de algún otro dispositivo conocido o conveniente.
Esta divulgación contempla que el sistema informático 500 adopte cualquier forma física adecuada. Como ejemplo y no como limitación, el sistema informático 500 puede ser un sistema informático integrado, un sistema en un chip (SOC, por sus siglas en inglés), un sistema informático de placa única (SBC, por sus siglas en inglés) (tal como, por ejemplo, un ordenador en módulo (COM, por sus siglas en inglés) o un sistema en módulo (SOM, por sus siglas en inglés)), un sistema informático de sobremesa, un sistema informático portátil o tipo notebook, un quiosco interactivo, un ordenador central, una malla de sistemas informáticos, un teléfono móvil, un asistente personal digital (PDA, por sus siglas en inglés), un servidor o una combinación de dos o más de estos. En su caso, el sistema informático 500 puede incluir uno o más sistemas informáticos 500; ser unitario o distribuido; abarcar múltiples ubicaciones; abarcar múltiples máquinas; o residir en una nube, lo que puede incluir uno o más componentes de nube en una o más redes. Cuando sea apropiado, uno o más sistemas informáticos 500 pueden realizar sin limitación espacial o temporal sustancial una o más etapas de uno o más métodos descritos o ilustrados en la presente memoria. Como ejemplo y no como limitación, uno o más sistemas informáticos 500 pueden realizar en tiempo real o en modo por lotes una o más etapas de uno o más métodos descritos o ilustrados en la presente memoria. Uno o más sistemas informáticos 500 pueden realizar en diferentes momentos o en diferentes ubicaciones una o más etapas de uno o más métodos descritos o ilustrados en la presente memoria, cuando proceda.
El procesador puede ser, por ejemplo, un microprocesador convencional tal como un microprocesador Intel Pentium o un microprocesador Motorola power PC. Un experto en la técnica relevante reconocerá que las expresiones "medio (de almacenamiento) legible por máquina" o "medio (de almacenamiento) legible por ordenador" incluyen cualquier tipo de dispositivo que sea accesible por el procesador.
La memoria está acoplada al procesador, por ejemplo, mediante un bus. La memoria puede incluir, a modo de ejemplo pero no de limitación, memoria de acceso aleatorio (RAM, por sus siglas en inglés), tal como RAM dinámica (DRAM, por sus siglas en inglés) y RAM estática (SRAM, por sus siglas en inglés). La memoria puede ser local, remota o distribuida.
El bus también acopla el procesador a la memoria no volátil y la unidad de disco. La memoria no volátil suele ser un disquete magnético o disco duro, un disco magnético-óptico, un disco óptico, una memoria de sólo lectura (ROM, por sus siglas en inglés), tal como un CD-ROM, una EPROM o una EEPROM, una tarjeta magnética u óptica, u otra forma de almacenamiento para grandes cantidades de datos. Algunos de estos datos a menudo se escriben, mediante un proceso de acceso directo a la memoria, en la memoria durante la ejecución de software en el sistema informático 500. El almacenamiento no volátil puede ser local, remoto o distribuido. La memoria no volátil es opcional, porque se pueden crear sistemas con todos los datos aplicables disponibles en la memoria. Un sistema informático típico generalmente incluirá al menos un procesador, una memoria y un dispositivo (por ejemplo, un bus) que acople la memoria al procesador.
El software normalmente se almacena en la memoria no volátil y/o en la unidad de disco. De hecho, para programas grandes, puede que ni siquiera sea posible almacenar todo el programa en la memoria. Sin embargo, debe entenderse que para que el software se ejecute, si es necesario, se mueve este a una ubicación legible por ordenador adecuada para el procesamiento y, con fines ilustrativos, esa ubicación se denomina memoria en este documento. Incluso cuando el software se mueva a la memoria para su ejecución, el procesador generalmente utilizará registros de hardware para almacenar valores asociados con el software, y un caché local que, idealmente, sirve para acelerar la ejecución. Tal como se usa en la presente memoria, se supone que un programa de software se almacena en cualquier ubicación conocida o conveniente (desde almacenamiento no volátil hasta registros de hardware) cuando se hace referencia al programa de software como "implementado en un medio legible por ordenador". Se considera que un procesador está "configurado para ejecutar un programa" cuando al menos un valor asociado con el programa se almacena en un registro legible por el procesador.
El bus también acopla el procesador al dispositivo de interfaz de red. La interfaz puede incluir uno o más de un módem o una interfaz de red. Se apreciará que un módem o una interfaz de red pueden considerarse parte del sistema informático 500. La interfaz puede incluir un módem analógico, un módem RDSI, un módem por cable, una interfaz de anillo con paso de testigo (token ring), una interfaz de transmisión por satélite (por ejemplo, “direct PC”), u otras interfaces para acoplar un sistema informático a otros sistemas informáticos. La interfaz puede incluir uno o más dispositivos de entrada y/o salida. Los dispositivos de E/S pueden incluir, a modo de ejemplo pero no de limitación, un teclado, un ratón u otro dispositivo de puntero, unidades de disco, impresoras, un escáner y otros dispositivos de entrada y/o salida, incluido un dispositivo de visualización. El dispositivo de visualización puede incluir, a modo de ejemplo pero no de limitación, un tubo de rayos catódicos (CRT, por sus siglas en inglés), una pantalla de cristal líquido (LCD, por sus siglas en inglés) o algún otro dispositivo de visualización conveniente o conocido aplicable. Para simplificar, se supone que los controladores de cualesquiera dispositivos no representados en el ejemplo de la Figura 5 residen en la interfaz.
En funcionamiento, el sistema informático 500 puede controlarse mediante un software de sistema operativo que incluye un sistema de gestión de archivos, tal como un sistema operativo de disco. Un ejemplo de software de sistema operativo con software de sistema de gestión de archivos asociado es la familia de sistemas operativos conocida como
Windows® de Microsoft Corporation de Redmond, Washington, y sus sistemas de gestión de archivos asociados. Otro ejemplo de software de sistema operativo con su software de sistema de gestión de archivos asociado es el sistema operativo Linux y su sistema de gestión de archivos asociado. El sistema de gestión de archivos generalmente se almacena en la memoria no volátil y/o en la unidad de disco y hace que el procesador ejecute las diversas acciones requeridas por el sistema operativo para la entrada y salida de datos y para almacenar datos en la memoria, incluido el almacenamiento de archivos en la memoria no volátil y/o la unidad de disco.
Algunas partes de la descripción detallada pueden presentarse en términos de algoritmos y representaciones simbólicas de operaciones en bits de datos dentro de la memoria de un ordenador. Estas descripciones y representaciones algorítmicas son los medios utilizados por los expertos en las técnicas del procesamiento de datos para transmitir de la manera más eficaz la esencia de su trabajo a otros expertos en la técnica. Un algoritmo se concibe aquí, y en general, como una secuencia autoconsistente de operaciones que conducen a un resultado deseado. Las operaciones son aquellas que requieren manipulaciones físicas de cantidades físicas. Por lo general, aunque no necesariamente, estas cantidades adoptan la forma de señales eléctricas o magnéticas que pueden almacenarse, transferirse, combinarse, compararse y manipularse de otras maneras. A veces ha resultado conveniente, principalmente por razones de uso común, referirse a estas señales como bits, valores, elementos, símbolos, caracteres, términos, números o similares.
Sin embargo, debe tenerse en cuenta que todos estos términos y otros similares deben asociarse con las cantidades físicas apropiadas y son simplemente etiquetas convenientes aplicadas a estas cantidades. A menos que se indique específicamente lo contrario como se desprenda de la siguiente discusión, se aprecia que a lo largo de la descripción, las discusiones que utilizan términos tales como "procesar" o "computar" o "calcular" o "determinar" o "visualizar" o "generar" o similares se refieren a la acción y los procesos de un sistema informático, o dispositivo informático electrónico similar, que manipula y transforma datos representados como cantidades físicas (electrónicas) dentro de los registros y memorias del sistema informático en otros datos representados de manera similar como cantidades físicas dentro de las memorias o registros del sistema informático u otros dispositivos tales de almacenamiento, transmisión o visualización de información.
Los algoritmos y las visualizaciones que se presentan en la presente memoria no están inherentemente relacionados con ningún ordenador u otro aparato en particular. Se pueden usar diversos sistemas universales con programas de acuerdo con las enseñanzas de la presente memoria, o puede resultar conveniente construir un aparato más especializado para realizar los métodos de algunas realizaciones. La estructura requerida para varios de estos sistemas se desprenderá de la descripción posterior. Además, las técnicas no se describen con referencia a ningún lenguaje de programación en particular y, por lo tanto, diversas realizaciones se pueden implementar usando diversos lenguajes de programación.
En realizaciones alternativas, la máquina funciona como un dispositivo autónomo o puede estar conectada (por ejemplo, en red) a otras máquinas. En una implementación en red, la máquina puede funcionar en la capacidad de un servidor o una máquina cliente en un entorno de red cliente-servidor, o como una máquina al mismo nivel en un entorno de red de igual a igual (o distribuida).
La máquina puede ser un ordenador servidor, un ordenador cliente, un ordenador personal (PC, por sus siglas en inglés), un PC tipo tableta, un ordenador portátil, un módulo de conexión (STB, por sus siglas en inglés), un asistente personal digital (PDA), un teléfono celular, un iPhone, un Blackberry, un procesador, un teléfono, un dispositivo web, un enrutador, conmutador o puente de red, o cualquier máquina capaz de ejecutar un conjunto de instrucciones (secuenciales o de otro tipo) que especifiquen las acciones que debe realizar esa máquina.
Si bien el medio legible por máquina o el medio de almacenamiento legible por máquina se muestran en una realización ejemplar como un solo medio, las expresiones "medio legible por máquina" y "medio de almacenamiento legible por máquina" deben entenderse como que incluyen un solo medio o múltiples medios (por ejemplo, una base de datos centralizada o distribuida, y/o cachés y servidores asociados) que almacenan los uno o más conjuntos de instrucciones. Las expresiones "medio legible por máquina" y "medio de almacenamiento legible por máquina" también deben entenderse como que incluyen cualquier medio que pueda almacenar, codificar o transportar un conjunto de instrucciones para que la máquina las ejecute y que hagan que la máquina realice una cualquiera o más de las metodologías o módulos de la técnica e innovación actualmente divulgadas.
En general, las rutinas ejecutadas para implementar las realizaciones de la divulgación pueden implementarse como parte de un sistema operativo o una aplicación, componente, programa, objeto, módulo o secuencia de instrucciones específicos denominados "programas informáticos". Los programas informáticos típicamente comprenden una o más instrucciones que se establecen en diversos momentos en diversos dispositivos de memoria y almacenamiento en un ordenador, y que, cuando son leídas y ejecutadas por una o más unidades de procesamiento o procesadores en un ordenador, hacen que el ordenador realice operaciones para ejecutar elementos que involucran los diversos aspectos de la divulgación.
Además, si bien se han descrito realizaciones en el contexto de ordenadores y sistemas informáticos en pleno funcionamiento, los expertos en la técnica apreciarán que las diversas realizaciones pueden distribuirse como un
producto de programa en diversas formas, y que la divulgación se aplica igualmente independientemente del tipo concreto de máquina o medio legible por ordenador utilizados para efectuar la distribución.
Otros ejemplos de medios de almacenamiento legibles por máquina, medios legibles por máquina o medios (de almacenamiento) legibles por ordenador incluyen, pero no están limitados a, medios de tipo grabable tales como dispositivos de memoria volátil y no volátil, disquetes y otros discos extraíbles, unidades de disco duro, discos ópticos (por ejemplo, Discos Compactos de Memoria de Sólo Lectura (CD ROM, por sus siglas en inglés), Discos Versátiles Digitales (DVD), etc.), entre otros, y medios de tipo transmisión tales como enlaces de comunicación digital y analógica.
En algunas circunstancias, el funcionamiento de un dispositivo de memoria, tal como un cambio de estado de un uno binario a un cero binario o viceversa, por ejemplo, puede comprender una transformación, tal como una transformación física. Con tipos concretos de dispositivos de memoria, tal transformación física puede comprender una transformación física de un objeto a un estado o cosa diferente. Por ejemplo, pero sin limitación, para algunos tipos de dispositivos de memoria, un cambio de estado puede implicar una acumulación y almacenamiento de carga o una liberación de carga almacenada. Asimismo, en otros dispositivos de memoria, un cambio de estado puede comprender un cambio físico o una transformación física en la orientación magnética o un cambio físico o una transformación física en la estructura molecular, tal como de cristalino a amorfo o viceversa. Lo anterior no pretende ser una lista exhaustiva de todos los ejemplos en los que un cambio de estado para un uno binario a un cero binario o viceversa en un dispositivo de memoria puede comprender una transformación, tal como una transformación física. Más bien, lo anterior pretende ser un ejemplo ilustrativo.
Un medio de almacenamiento típicamente puede ser no transitorio o comprender un dispositivo no transitorio. En este contexto, un medio de almacenamiento no transitorio puede incluir un dispositivo que sea tangible, lo que significa que el dispositivo tiene una forma física concreta, aunque el dispositivo pueda cambiar su estado físico. Así, por ejemplo, no transitorio se refiere a un dispositivo que permanece tangible a pesar de este cambio de estado.
La Figura 6 muestra una realización de un dispositivo inalámbrico 600 que incluye la capacidad de comunicación inalámbrica. El dispositivo inalámbrico 600 puede incluirse en cualquiera de los dispositivos que se muestran en la Figura 2, aunque realizaciones alternativas de esos dispositivos pueden incluir más o menos componentes que el dispositivo inalámbrico 600.
El dispositivo inalámbrico 600 puede incluir un sistema 401 de antena. El dispositivo inalámbrico 600 también puede incluir un transceptor 602 de radiofrecuencia (RF) digital y/o analógico, acoplado al sistema 601 de antena, para transmitir y/o recibir señales de voz, datos digitales y/o medios a través del sistema 601 de antena.
El dispositivo inalámbrico 600 también puede incluir un sistema 603 de procesamiento digital para controlar el transceptor digital de RF y para gestionar las señales de voz, datos digitales y/o medios. El sistema 603 de procesamiento digital puede ser un dispositivo de procesamiento universal, tal como un microprocesador o un controlador, por ejemplo. El sistema 603 de procesamiento digital también puede ser un dispositivo de procesamiento especializado, tal como un ASIC (circuito integrado de aplicación específica), una FPGA (agrupación de puertas programable de campo) o un DSP (procesador de señales digitales). El sistema 603 de procesamiento digital también puede incluir otros dispositivos, como se conocen en la técnica, para interactuar con otros componentes del dispositivo inalámbrico 600. Por ejemplo, el sistema 603 de procesamiento digital puede incluir convertidores de analógico a digital y de digital a analógico para interactuar con otros componentes del dispositivo inalámbrico 600. El sistema 603 de procesamiento digital puede incluir un sistema 609 de procesamiento de medios, que también puede incluir un dispositivo de procesamiento universal o especializado para gestionar medios, tales como archivos de datos de audio.
El dispositivo inalámbrico 600 también puede incluir un dispositivo 604 de almacenamiento, acoplado al sistema de procesamiento digital, para almacenar datos y/o programas operativos para el dispositivo inalámbrico 600. El dispositivo 604 de almacenamiento puede ser, por ejemplo, cualquier tipo de dispositivo de memoria magnética o de estado sólido.
El dispositivo inalámbrico 600 también puede incluir uno o más dispositivos 605 de entrada, acoplados al sistema 603 de procesamiento digital, para aceptar entradas del usuario (por ejemplo, números de teléfono, nombres, direcciones, selecciones de medios, etc.). El dispositivo 605 de entrada puede ser, por ejemplo, uno o más de los siguientes: un teclado numérico, un panel táctil, una pantalla táctil, un dispositivo de puntero en combinación con un dispositivo de visualización o dispositivo de entrada similar.
El dispositivo inalámbrico 600 también puede incluir al menos un dispositivo 606 de visualización, acoplado al sistema 603 de procesamiento digital, para visualizar información tal como mensajes, información de llamadas telefónicas, información de contacto, imágenes, películas y/o títulos u otros indicadores de los medios que se seleccionan a través del dispositivo 605 de entrada. El dispositivo 606 de visualización puede ser, por ejemplo, un dispositivo de visualización LCD. En una realización, el dispositivo 606 de visualización y el dispositivo 605 de entrada pueden integrarse juntos en el mismo dispositivo (por ejemplo, una pantalla táctil LCD, tal como un panel de entrada multitáctil que esté integrado con un dispositivo de visualización, tal como un dispositivo de visualización LCD). El dispositivo 606 de visualización puede incluir una retroiluminación 606A para iluminar el dispositivo 606 de visualización en determinadas circunstancias. Se apreciará que el dispositivo inalámbrico 600 puede incluir múltiples pantallas.
El dispositivo inalámbrico 600 también puede incluir una batería 607 para suministrar energía de funcionamiento a los componentes del sistema, incluidos el transceptor digital 602 de RF, el sistema 603 de procesamiento digital, el dispositivo 604 de almacenamiento, el dispositivo 605 de entrada, un micrófono 605A, un transductor 608 de audio, el sistema 609 de procesamiento de medios, uno o varios sensores 610 y el dispositivo 606 de visualización. La batería 607 puede ser, por ejemplo, una batería de hidruro metálico de níquel o de litio recargable o no recargable. El dispositivo inalámbrico 600 también puede incluir transductores 608 de audio, que pueden incluir uno o más altavoces y al menos un micrófono 605A. En ciertas realizaciones de la presente divulgación, el dispositivo inalámbrico 600 puede usarse para implementar al menos algunos de los métodos tratados en la presente divulgación.
La Figura 7 es un diagrama de flujo de un método 700 de consolidación de datos, que concuerda con diversas realizaciones de la tecnología divulgada. El método 700 incluye la extracción de un primer registro de datos (por ejemplo, una entrada, una medición, un flujo de datos, etc.) desde una fuente de datos conectada a una plataforma de integración de IoT, tal como el sistema 200 de plataforma de integración de IoT de la Figura 2 o la plataforma 300 de integración de la Figura 3, en una etapa 702. La fuente de datos puede ser una fuente de datos externa, datos comunicados desde uno o más dispositivos IoT, o datos analizados y/o correlacionados basados en lo anterior, tales como datos contextuales, correlaciones, datos semánticos u otros metadatos. La etapa 702 puede incluir la determinación de un identificador único de un primer dispositivo IoT, siendo el primer dispositivo IoT la fuente de datos. La etapa 702 puede ser realizada por el módulo 306 de correlación de datos de la Figura 3.
Opcionalmente, los registros de datos pueden normalizarse. Por ejemplo, el primer registro de datos puede normalizarse con respecto a otro registro de datos a lo largo de una misma dimensión de datos en la etapa 704. La etapa 704 también puede ser realizada por el módulo 306 de correlación de datos.
Parte de la consolidación de datos también incluye la correlación de los registros de datos y el análisis de los registros de datos para determinar la etiqueta semántica, el contexto y/o la relevancia. Por ejemplo, el módulo 306 de correlación de datos puede correlacionar el primer registro de datos con un segundo registro de datos para formar un conjunto de datos en una etapa 708. La correlación de datos puede basarse en una dimensión de datos compartidos, un contexto de datos compartidos, una fuente de datos compartidos, un tema de relevancia compartida, una etiqueta semántica de datos compartidos o cualquier combinación de los mismos. Opcionalmente, la etapa 704 y la etapa 706 pueden omitirse antes de la correlación de datos.
El módulo 308 de análisis de datos puede analizar el primer registro de datos para generar un registro derivado relevante para un contexto de usuario en la etapa 708. El análisis de datos en la etapa 708 puede realizarse en los registros de datos correlacionados en el conjunto de datos generado en la etapa 706. Como alternativa, el análisis de datos también se puede realizar directamente en el primer registro de datos extraídos y/o el primer registro de datos normalizados de las etapas 702 y 704, respectivamente.
El registro derivado puede incluir la determinación de un contexto de actividad de un dispositivo IoT. El registro derivado puede incluir la determinación de una etiqueta semántica para un dispositivo IoT asociado con el primer registro de datos. El registro derivado puede incluir otros análisis predictivos, de tendencias y/o comparativos. El registro derivado se puede usar en otra instancia del flujo de consolidación de datos como el registro de datos extraídos, tal como en la etapa 702. El registro derivado se puede formatear como una declaración en lenguaje natural en cualquier número de idiomas, tal como el lenguaje natural del usuario.
Después de las etapas anteriores, se pueden agregar diferentes registros de datos y conjuntos de datos para formar un grupo de datos para una agrupación relevante contextual concreta, tal como agregar el primer registro de datos para formar un grupo de datos en la etapa 710. El registro derivado también se puede agregar para formar el grupo de datos. El grupo de datos puede representar una agregación de datos que esté más allá de la correlación. Por ejemplo, el registro de datos de un monitor del ritmo cardíaco puede correlacionarse en la etapa 706 con un registro de datos del monitor del nivel de glucosa debido a una semántica compartida y un contexto de datos relacionados con la salud. Sin embargo, estos datos relacionados con la salud pueden agregarse para formar un grupo de datos para otras actividades no relacionadas con la salud en el mismo día, porque la agrupación relevante del grupo de datos pertenece a las actividades del día.
Después de las etapas anteriores de procesamiento de datos, el registro derivado y/o el primer registro de datos se presentan (por ejemplo, se visualizan o se presentan de forma audible) en una interfaz de integración para el usuario en una etapa 712. El primer registro de datos y/o el registro derivado pueden presentarse en la interfaz de integración junto con otros conjuntos de datos o registros de datos del grupo de datos. La indicación de contexto puede determinarse basándose en el registro derivado de la etapa 714. La visualización también puede incluir visualización comparativa, visualización semántica o visualización de interés actual (por ejemplo, basada en la relevancia de interés actual). La visualización puede presentar el primer registro de datos dentro del grupo de datos agregados. La visualización puede presentar el primer registro de datos después de que se haya normalizado el primer registro de datos. La visualización puede presentar el primer registro de datos y el segundo registro de datos correlacionados simultáneamente para ilustrar la categoría de datos compartidos o el contexto compartido, tal como el contexto a partir de la indicación de contexto.
La Figura 8 es un diagrama de flujo de un método 800 de gestión de reglas de loT interoperables, que concuerda con diversas realizaciones de la tecnología divulgada. El método 800 incluye recibir una selección de una etiqueta semántica asociada con un dispositivo IoT de un usuario en la etapa 802. La etapa 802 puede implementarse mediante el módulo 310 de generación de reglas de la Figura 3 a través de una correspondencia con una interfaz de gestión de reglas. La etiqueta semántica puede generarse desde el módulo 308 de análisis de datos de la Figura 3. Se pueden presentar varias etiquetas semánticas en la interfaz de gestión de reglas, tal como a través de la aplicación 328 de integración de la Figura 3 o la interfaz de gestión de reglas ilustrada en las Figuras 9A-9C. En diversas realizaciones, la etiqueta semántica puede estar asociada con más de un dispositivo IoT.
El módulo 310 de generación de reglas puede determinar una recomendación de una regla interoperable basada en la etiqueta semántica en una etapa 804. Cada regla interoperable puede incluir un activador de condición contextual y una política de acción que se haya de ejecutar cuando se detecte el activador de condición contextual. La recomendación de la regla interoperable puede determinarse basándose en la etiqueta semántica seleccionada, el contexto disponible y/o las dimensiones de los datos del dispositivo IoT asociado con la etiqueta semántica. La recomendación de regla interoperable puede determinarse basándose en un historial de comportamiento del usuario a la hora de hacer funcionar dispositivos IoT. La recomendación de regla interoperable puede basarse en una regla interoperable configurada previamente por el usuario. La recomendación de regla interoperable puede determinarse basándose en reglas interoperables configuradas previamente por otros usuarios con un perfil de usuario (por ejemplo, edad, sexo, afición, profesión u otro perfil demográfico) similar al del usuario. La recomendación de regla interoperable puede determinarse basándose en reglas interoperables socialmente recomendadas por otro usuario que esté asociado con el usuario a través de una conexión social.
En respuesta a la recepción de la selección, el módulo 310 de generación de reglas puede presentar la recomendación de la regla interoperable en la interfaz de gestión de reglas en una etapa 806. En la etapa 808, la interfaz de gestión de reglas puede recibir una confirmación del usuario para activar la regla interoperable.
En respuesta a la activación de la regla interoperable, el módulo 216 de seguimiento de eventos puede vigilar para detectar el activador de condición de la regla interoperable en una red de dispositivos IoT conectados en una etapa 810. El activador de condición puede incluir una determinación contextual, un patrón de datos, o un estado del dispositivo IoT asociado con la etiqueta semántica seleccionada. Cuando se detecta el activador de condición, el módulo 314 de ejecución de reglas puede ejecutar la política de acción de la regla interoperable para controlar uno o más de los dispositivos IoT conectados en una etapa 812. Los uno o más de los dispositivos IoT conectados que han de ser controlados mediante la política de acción pueden incluir el dispositivo IoT asociado con la etiqueta semántica seleccionada.
La Figura 9A es una captura de pantalla de una interfaz 900 de gestión de reglas de una plataforma de integración en una etapa de activación de reglas, que concuerda con diversas realizaciones de la tecnología divulgada. La Figura 9A ilustra una lista de reglas interoperables 902, cada una con un activador 904 de condición vinculado a una política 906 de acción. Cada activador 904 de condición puede describirse con respecto a la etiqueta semántica y el contexto del dispositivo IoT involucrado para el activador 904 de condición. Un icono 908 de dispositivo de vigilancia puede representar el dispositivo IoT involucrado en el activador 904 de condición. De manera similar, cada política 906 de acción puede describirse con respecto a la etiqueta semántica y el contexto del dispositivo IoT involucrado para la política 906 de acción. Un icono 910 de dispositivo de acción puede representar el dispositivo IoT involucrado en la política 906 de acción.
La Figura 9B es una captura de pantalla de la interfaz 900 de gestión de reglas de la plataforma de integración en una etapa de selección de condiciones, que concuerda con diversas realizaciones de la tecnología divulgada. La Figura 9B ilustra un círculo de diversos activadores 904 de condición alrededor del icono 908 del dispositivo de vigilancia para que los seleccione un usuario. La Figura 9C es una captura de pantalla de la interfaz 900 de gestión de reglas de la plataforma de integración en una etapa de selección de acciones, que concuerda con diversas realizaciones de la tecnología divulgada. La Figura 9C ilustra un círculo de diversas políticas 906 de acción alrededor del icono 910 del dispositivo de acción para que el usuario complete la regla interoperable 902.
La Figura 10 A es una captura de pantalla ejemplar 1000 que ilustra la interfaz de consolidación que muestra una información correlativa, que concuerda con diversas realizaciones de la tecnología divulgada. La Figura 10 A ilustra una información correlativa 1002 determinada sobre la base de un análisis de datos correlacionados en relación con la actividad y el nivel de glucosa de un usuario como se muestra en el diagrama 1004 de datos correlacionados. La Figura l0 A ilustra adicionalmente una regla interoperable 1006 que puede ser definida y/o configurada por el usuario en respuesta a la visión de la información correlativa 1002.
La Figura 10B es una captura de pantalla ejemplar 1050 que ilustra la interfaz de consolidación que genera la regla interoperable 1006 a partir de la información correlativa, que concuerda con diversas realizaciones de la tecnología divulgada. La regla interoperable 1006 de la Figura 10 A puede describirse y/o configurarse adicionalmente. Por ejemplo, la captura de pantalla 1050 ilustra una descripción de una regla interoperable 1006 recomendada de alertar al usuario cuando se alcanza un rango alto de actividad.
La Figura 11A es una captura de pantalla ejemplar que ilustra una interfaz 1100 de cámara semántica en una primera etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada. En la primera etapa, se solicita al usuario que agregue un nodo al diagrama de línea de vida. Se muestra un icono 1102 de cámara semántica en el centro de la interfaz 1100 de cámara semántica para hacer una fotografía del nodo en cuestión para el etiquetado y/o el reconocimiento de imágenes.
La Figura 11B es una captura de pantalla ejemplar que ilustra la interfaz 1100 de cámara semántica en una segunda etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada. En la segunda etapa, se le pide al usuario que etiquete semánticamente un tipo de entidad del nodo agregado. La parte inferior de la captura de pantalla muestra la entidad reconocida 1104 asociada con el nodo que se ha de agregar según lo determinado por la plataforma 300 de integración. El centro de la captura de pantalla muestra una consulta 1106 de tipo de entidad que solicita al usuario que etiquete el tipo de nodo agregado.
La Figura 11C es una captura de pantalla ejemplar que ilustra una interfaz 1100 de cámara semántica en una tercera etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada. En la tercera etapa, se le pide al usuario que etiquete semánticamente el nodo agregado. El centro de la captura de pantalla muestra una consulta 1108 de etiqueta semántica que solicita al usuario que etiquete semánticamente el nodo agregado.
La Figura 11D es una captura de pantalla ejemplar que ilustra una interfaz 1100 de cámara semántica en una cuarta etapa, utilizándose la interfaz de cámara semántica junto con un diagrama de línea de vida, que concuerda con diversas realizaciones de la tecnología divulgada. En la cuarta etapa, se le pide al usuario que asocie el nodo agregado con una o más personas. El centro de la captura de pantalla muestra una consulta 1110 de asociación social que solicita al usuario que asocie el nodo agregado con una o más personas.
Pronóstico de situación
Una plataforma de integración de IoT puede generar pronósticos de situación asociados con una entidad objetivo rastreable mediante la plataforma de integración de IoT. La entidad objetivo puede ser un dispositivo individual, una ubicación, una persona individual asociada con una cuenta de la plataforma de integración de IoT, un grupo de personas, dispositivos o lugares individuales, o cualquier combinación de los mismos. La plataforma de integración de IoT puede generar los pronósticos de situación de forma continua o periódica de acuerdo con un programa preestablecido. Un pronóstico de situación es una predicción de una existencia de una situación contextual asociada con la entidad objetivo. Una situación contextual se puede seleccionar de un conjunto de situaciones posibles enumeradas. Una situación posible enumerada puede estar asociada con uno o más atributos de perfil de la entidad objetivo y/o uno o más atributos de perfil de una o más entidades relacionadas, que a su vez están asociadas con la entidad objetivo. En algunas realizaciones, el conjunto de situaciones contextuales posibles está abierto. En algunas realizaciones, el conjunto de situaciones contextuales posibles está cerrado y predefinido dentro de la plataforma de integración de IoT. Una situación posible enumerada se puede asociar con uno o más estados de entidad. Una situación posible enumerada se puede asociar además con una actividad de usuario potencial que ocurra en un plazo de tiempo concreto. Pronosticar situaciones contextuales permite que la plataforma de integración de IoT prediga, dentro de un nivel de confianza estadística predecible, que va a ocurrir una situación de contexto concreta. El pronóstico se puede solicitar para cualquier momento en el futuro (por ejemplo, minutos a partir de ahora, el día siguiente, la semana siguiente, el mes siguiente). Un "momento" puede ser una marca de tiempo específica o un plazo de tiempo definido por una marca de tiempo inicial y una duración o una marca de tiempo final.
En algunas realizaciones, los pronósticos de situación específica de la ubicación, los pronósticos de situación específica de personas, los pronósticos de situación específica de dispositivos pueden afectarse entre sí. En consecuencia, en algunas realizaciones, la plataforma de integración de IoT puede realizar múltiples iteraciones de pronósticos de situación para identificar pronósticos estables donde los pronósticos de situación individuales puedan afectarse entre sí.
Utilidad y aplicación de los pronósticos de situación
La capacidad de la plataforma de integración de IoT para generar los pronósticos situacionales es una mejora técnica de las soluciones de IoT convencionales. Por ejemplo, los pronósticos de situación permiten ventajosamente que la plataforma de integración de IoT prediga eventos futuros relevantes que puedan afectar a uno o más usuarios en uno o más dispositivos y ubicaciones. A diferencia de otros dispositivos técnicos (por ejemplo, satélite meteorológico o predictor de terremotos) que predicen fenómenos del mundo real, la plataforma de integración de IoT puede generar predicciones personales y específicas del contexto que pueden ayudar a sus usuarios a tomar mejores decisiones y analizar mejor su entorno.
En algunas realizaciones, los pronósticos de situación se pueden usar para generar recomendaciones de acción a través de la plataforma de integración de IoT. Con la aprobación del usuario, la plataforma de integración de IoT puede ejecutar una o más de las acciones recomendadas a través de los dispositivos de IoT y los dispositivos informáticos universales conectados a la plataforma de integración de IoT. Por ejemplo, una acción recomendada puede ser la
reorganización de un calendario en un dispositivo móvil. En otro ejemplo, una acción recomendada puede ser el envío de un correo electrónico desde un dispositivo móvil. En otro ejemplo más, una acción recomendada puede ser configurar un horario de un dispositivo IoT, tal como un termómetro en red o una cerradura inteligente en red. En un ejemplo, el pronóstico de situación puede predecir que en un plazo de tiempo específico alguien estaría en una ubicación específica. Basándose en este pronóstico de situación, la acción recomendada puede ser la planificación de la entrega de un paquete durante el plazo de tiempo específico, de modo que alguien pueda recibir y firmar un paquete entregable. En otro ejemplo, el pronóstico de situación puede predecir que un usuario tendrá un nivel bajo de azúcar en el gimnasio hoy, por lo que la acción recomendada puede ser enviar un mensaje a una aplicación móvil de gestión de la diabetes para recomendar al usuario que coma algo antes de ir al gimnasio. En otro ejemplo, el pronóstico de situación puede predecir que un usuario va a tener un día superocupado, por lo que la acción recomendada puede ser enviar un mensaje a una aplicación de gestión de estilo de vida para que la aplicación de gestión de estilo de vida envíe uno o más mensajes automáticos para informar a otros que el usuario puede llegar tarde a su o sus próximas reuniones.
Ejemplos de pronósticos de situación
Por ejemplo, las situaciones contextuales para una entidad objetivo que representa a una persona pueden incluir: "ir a hacer ejercicio en un gimnasio", "ir a tener un nivel bajo de azúcar", "ir a tener un nivel bajo de azúcar mientras se hace ejercicio", "despertarse a primera hora de la mañana con falta de sueño”, “ir a llegar tarde a una reunión debido a un exceso de compromisos y/o un día ajetreado”, “posibilidad de perderse un ejercicio planificado debido al clima”, “ir a divertirse en la fiesta”, o cualquier combinación de los mismos. En algunos casos, una situación contextual puede estar asociada con una ubicación concreta. Por ejemplo, una situación contextual para una entidad objetivo puede incluir: "no habrá nadie en casa", "la oficina tendrá el día libre", "habrá una fiesta en la casa", "la hermana estará en el pub esta noche y puede necesitar que la lleven", o cualquier combinación de los mismos. En otros ejemplos, las situaciones contextuales para una entidad objetivo que representa un dispositivo pueden incluir: "el dispositivo estará encendido", "el dispositivo estará apagado", "el termostato estará a 27 °C", "el dispositivo estará en [estado específico]", o cualquier combinación de los mismos.
Otro ejemplo de pronóstico de situaciones contextuales puede incluir: "una persona va al gimnasio y experimenta un bajón de azúcar", "el pub 'Heart Club' va a tener una noche superanimada", "María probablemente estará en el bar 'Bob's Place' después de la clase de yoga esta noche", "si una persona mantiene su programa de entrenamiento, probablemente pueda perder 2,5 kilos (5 libras) de peso para la próxima semana", "hay un 90 % de probabilidad de que no haya nadie en casa a esa hora", "con gran probabilidad, hay alguien en casa ahora mismo", "María probablemente va a estar en yoga a las 7 pm el viernes", "el dispositivo será funcional este mes", "el dispositivo tal vez no funcionará para el próximo año", "el martes por la tarde es el mejor momento para establecer la reunión", o cualquier combinación de los mismos. El nivel de confianza puede ser un porcentaje, tal como "90 %", o un cuantificador semántico, tal como "probablemente", "lo más probable" o "puede ser", aunque el cuantificador semántico se hace corresponder con un porcentaje de la salida de un modelo de aprendizaje automático que hace el pronóstico de situación. Un cuantificador semántico también puede corresponder a un nivel de confianza comparativa, tal como "mejor que” o "mejor," al comparar diferentes pronósticos de situaciones contextuales potenciales.
Indicadores de contexto y otras entradas para el pronóstico de situación
La plataforma de integración de IoT puede recibir una pluralidad de flujos de datos de actividad de una pluralidad de dispositivos de IoT a través de una o más soluciones de IoT verticales (por ejemplo, bien directamente, bien a través de un sistema de servidor informático que sirva de sistema dorsal para las soluciones de IoT verticales). La plataforma de integración de IoT también puede estar en comunicación con una o más interfaces de usuario (por ejemplo, una o más aplicaciones móviles y/o sitios web) y/o uno o más servicios de aplicaciones de terceros (por ejemplo, uno o más servicios de redes sociales, uno o más servicios de medios informáticos, uno o más servicios de gestión de archivos, uno o más servicios de planificación, uno o más servicios empresariales, uno o más servicios de juegos, o cualquier combinación de los mismos).
La plataforma de integración de IoT puede basar un pronóstico de situación en una pluralidad de indicadores de contexto en evolución asociados (por ejemplo, directa o indirectamente) con la entidad objetivo y/o los datos sin procesar de la pluralidad de flujos de datos de actividad. Los indicadores de contexto en evolución de otras entidades conectadas a la entidad objetivo en el gráfico de entidades pueden considerarse indirectamente asociados con la entidad objetivo. Los indicadores de contexto en evolución se pueden actualizar en tiempo real y/o en respuesta a nuevos datos de los flujos de datos de actividad. Los indicadores de contexto en evolución se pueden actualizar periódicamente de acuerdo con un programa preestablecido. Cada indicador de contexto evoluciona con el tiempo sobre la base de los datos sin procesar de la pluralidad de flujos de datos de actividad. Cada indicador de contexto puede ser un derivado de los datos recibidos de la pluralidad de flujos de datos de actividad.
Por ejemplo, un indicador de contexto puede ser un indicador de estado según una máquina de estado. En algunas realizaciones, una máquina de estado de una entidad rastreable en la plataforma de integración de IoT tiene un número abierto de estados. Es decir, la plataforma de integración de IoT puede identificar nuevos estados automáticamente y en respuesta a nuevos datos de la pluralidad de flujos de datos de actividad. En algunas realizaciones, una máquina de estado puede tener un número cerrado de estados (por ejemplo, predefinido por usuarios de la plataforma de
integración de loT, predefinido por un desarrollador de la plataforma de integración de loT, mediante la ejecución de un proceso de reconocimiento para identificar estados potenciales en un registro histórico de actividad sin procesar de la pluralidad de flujos de datos de actividad, o cualquier combinación de los mismos). La máquina de estado, por ejemplo, se puede asociar directamente con la entidad objetivo, una entidad matriz (por ejemplo, un grupo del que forme parte la entidad objetivo), una subentidad (por ejemplo, otra entidad que forme parte de la entidad objetivo), una entidad conectada (por ejemplo, otra entidad que esté conectada a la entidad objetivo en un gráfico de entidades dentro de un umbral de número de enlace(s)), o cualquier combinación de las mismas. La entidad objetivo, la entidad matriz, la subentidad y la entidad conectada pueden denominarse entidades relacionadas con la entidad objetivo. En otro ejemplo, un indicador de contexto puede ser un nodo dentro de un gráfico de entidades. En otro ejemplo más, un indicador de contexto es un atributo de perfil asociado con una entidad rastreable relacionada con la entidad objetivo. En algunas realizaciones, se obtiene un indicador de contexto basándose en otro u otros indicadores de contexto.
Los indicadores de contexto pueden incluir un perfil actual o perfiles históricos de entidades rastreables relacionadas con la entidad objetivo, situaciones pronosticadas previa o simultáneamente de las entidades rastreables relacionadas, un estado actual de la entidad o estados históricos de las entidades rastreables relacionadas, un estado actual o estados históricos de un gráfico de entidades, datos públicos de terceros (por ejemplo, clima, datos de transporte público, datos de días festivos nacionales, etc.), datos específicos del dispositivo, datos de servicios de aplicaciones de socios o cualquier combinación de los mismos. Una entidad rastreable en la plataforma de integración de IoT está relacionada con la entidad objetivo si la entidad rastreable es la entidad objetivo, si la entidad rastreable es una entidad matriz o una subentidad de la entidad objetivo, o si la entidad rastreable está conectada a la entidad objetivo en el gráfico de entidades dentro de uno o más enlaces (por ejemplo, una entidad hermana, una entidad conectada indirectamente, etc.).
El estado de una entidad rastreable relacionada se puede determinar utilizando un motor de detección de eventos. El motor de detección de eventos puede utilizar los indicadores de contexto en evolución y/o los flujos de datos de actividad como entrada para actualizar el estado de la entidad. En algunas realizaciones, el motor de detección de eventos actualiza el estado de la entidad en tiempo real y en respuesta a la recepción de nuevos datos de los flujos de datos de actividad. En algunas realizaciones, el motor de detección de eventos actualiza el estado de la entidad periódicamente de acuerdo con un programa basado en un registro histórico de los indicadores de contexto en evolución y/o actividades notificadas de los flujos de datos de actividad. El motor de detección de eventos se puede implementar como un modelo de aprendizaje automático que clasifique sus características de entrada (por ejemplo, datos de actividad de los flujos de datos de actividad y/u otros indicadores de contexto calculados/actualizados regularmente por la plataforma de integración de IoT) en uno o más tipos de eventos. El modelo de aprendizaje automático se puede entrenar con datos etiquetados que identifiquen ejemplos de diferentes tipos de eventos y las características de entrada correspondientes a esos tipos de eventos. El modelo de aprendizaje automático también se puede entrenar agrupando indicadores de contexto en evolución y/o actividades notificadas para identificar eventos.
El gráfico de entidades puede ser una fuente de datos para el pronóstico de situación. En particular, un subconjunto del gráfico de entidades dentro de un umbral de número de enlaces (por ejemplo, dentro de una sola conexión directa o dentro de múltiples enlaces que formen conexiones indirectas) a la entidad objetivo. Se pueden extraer indicadores de contexto de una o más entidades rastreables relacionadas para pronosticar una situación contextual relevante para la entidad objetivo. Por ejemplo, si una entidad objetivo es una ubicación (por ejemplo, el hogar de una o más cuentas de usuario), las entidades rastreables relacionadas pueden incluir dispositivos directamente asociados con la entidad objetivo. Si todos los dispositivos relacionados con el hogar están apagados, el motor de pronóstico de situación puede detectar con confianza que no hay nadie en casa. En otro ejemplo, la entidad objetivo puede ser una persona. Si el cónyuge de la persona tiene una cita temprana en el calendario en el trabajo y la pareja suele ir junta al trabajo en coche, el motor de pronóstico de situación puede determinar que la hora de llegada de la persona al trabajo cambiará. En otro ejemplo, la entidad objetivo puede ser una persona. El hogar de la persona puede ser una entidad rastreable relacionada. Otras personas asociadas con el hogar de la persona también pueden ser entidades rastreables relacionadas (por ejemplo, potencialmente a dos enlaces de distancia en el gráfico de entidades). Si una persona tiene más personas de las habituales en casa, el motor de pronóstico de situación puede determinar que la persona se saltará su próxima sesión de entrenamiento diaria porque tiene invitados.
La inferencia y la predicción se realizan sobre un gráfico de entidades, donde los usuarios, dispositivos y lugares son nodos de entidad, y los bordes modelan diferentes tipos de relaciones entre entidades (véase la Figura 12A). La Figura 12A es un diagrama gráfico que ilustra un gráfico de entidades mantenido por una plataforma de integración de IoT, de acuerdo con diversas realizaciones. La Figura 12B es un diagrama gráfico que ilustra el gráfico de entidades de la Figura 12A, donde la plataforma de integración de IoT infiere una conexión implícita entre dos nodos de entidad. La Figura 12C es un diagrama gráfico que ilustra el gráfico de entidades de la Figura 12A, donde la plataforma de integración de IoT infiere y agrega una entidad implícita al gráfico de entidades. La Figura 12D es un diagrama gráfico que ilustra una agrupación de nodos contextualmente relevante en el gráfico de entidades de la Figura 12A.
La inferencia de las conexiones del objeto sobre el gráfico de entidades contribuye de múltiples maneras a los resultados de un pronóstico de situación. Para cada situación de pronóstico, las características calculadas definen el subconjunto requerido de entidades del gráfico de entidades que son importantes para resolver el problema de aprendizaje automático aquí. Por lo tanto, también es importante mencionar que algunos enlaces entre los nodos del
gráfico de entidades pueden ser invisibles, por significativos que sean. Por lo tanto, se detectan mediante cálculos adicionales. Los enlaces son invisibles si la plataforma de integración de IoT no ha recopilado datos implícitos sin procesar sobre el enlace. Sin embargo, el contexto del gráfico de entidades permite que la plataforma de integración de IoT calcule un nuevo enlace (por ejemplo, un borde entre nodos en el gráfico de entidades).
Por ejemplo, cuando se calcula un pronóstico de situación para una persona (por ejemplo, el usuario A) y la persona nunca se ha conectado al dispositivo domótico X, pero la plataforma de integración de IoT sabe que el dispositivo X está ubicado en el hogar de la persona, entonces la plataforma de integración de IoT induce que en realidad existe un enlace invisible entre la persona A y el dispositivo X. Por ejemplo, la plataforma de integración de IoT puede determinar la o las ubicaciones del dispositivo X a partir de un flujo de datos de actividad del dispositivo X y actualizar la o las ubicaciones como un atributo de perfil de un perfil histórico del dispositivo X. Tales enlaces se crean basándose en un análisis y una agrupación de enlaces. Y estos enlaces contribuyen al pronóstico de situación y permiten la detección de nodos y/o bordes significativos adicionales que podrían ser objeto de cálculos de pronóstico.
Los datos específicos del dispositivo provienen de uno o más flujos de datos de actividad. En cada fuente de datos, un usuario puede otorgar permiso a la plataforma de integración de IoT para extraer información de un dispositivo informático universal o un dispositivo IoT asociado con el usuario. Tal información puede mejorar la experiencia del usuario para comunicarse con otras personas, lugares y dispositivos. Por ejemplo, los datos específicos del dispositivo pueden incluir datos de seguimiento de actividad, datos de tensión arterial, datos de calendario o cualquier combinación de los mismos. Por ejemplo, una cita con el médico en el calendario de una persona puede afectar el comportamiento de esta. Los datos de glucosa en sangre pueden afectar el bienestar de la persona y pueden causar cambios en el comportamiento del usuario. Diferentes socios de servicios de aplicaciones y socios de soluciones de IoT pueden conectar sus dispositivos y datos de aplicaciones de software con la plataforma de integración de IoT para enriquecer aún más los modelos de aprendizaje automático de la plataforma de integración de IoT.
Cada perfil histórico puede corresponder a una sola entidad rastreable. Un perfil histórico puede incluir uno o más atributos de perfil. El atributo de perfil puede ser un valor enumerado, tal como "masculino" o "femenino", "encendido" o "apagado", o "día" o "noche". Un atributo de perfil también puede ser un valor numérico, tal como un valor numérico que represente la temperatura, el latido del corazón, la hora, las coordenadas de ubicación, la dirección IP, la dirección física o cualquier combinación de los mismos.
Los perfiles históricos se calculan para cada entidad (por ejemplo, lugar, dispositivo y persona). Los perfiles históricos guardan la información estadística sobre la entidad y sus comportamientos en diferentes momentos y plazos de tiempo respondiendo a las preguntas: cómo, qué, cuándo, dónde y con quién. También se pueden crear perfiles por interacción de diferentes tipos de entidades. Por ejemplo, la persona X estaba corriendo con la persona Y en el lugar Z el domingo. Se recopilan metadatos estadísticos para cada tipo de perfil. Por ejemplo, cuántas veces ha ocurrido, variaciones de veces que ha ocurrido tal actividad interactiva, cuántos pasos se han realizado, etc.
Los perfiles de lugares y dispositivos pueden ser independientes de los usuarios. Significa que los perfiles de lugares y dispositivos no se crean específicamente por usuario, sino más bien sobre todos los datos que la plataforma de integración de IoT ha recopilado y todos los eventos que la plataforma de integración de IoT ha detectado. Un "evento" es una etiqueta en uno o más datos de actividad clasificados por el motor de detección de eventos del evento de la plataforma de integración de IoT. El motor de detección de eventos puede utilizar el aprendizaje automático para detectar tipos de eventos específicos. En un ejemplo, un evento basado en datos de ubicación se puede describir como "el usuario A ha llegado a la ubicación X" o "el usuario B ha abandonado la ubicación X". Los lugares y los dispositivos son nodos de entidades independientes en el gráfico de entidades. Un perfil histórico puede ser específico para una sola entidad sobre todos los datos disponibles para la plataforma de integración de IoT mediante el uso de un enfoque colaborativo.
Todos los datos se recopilan de forma anónima y tienen el propósito de establecer una correspondencia de la situación en aspectos estadísticos. Los perfiles se pueden calcular periódicamente como un proceso fuera de línea o como parte de un proceso en línea cada vez que se detecta un evento. La plataforma de integración de IoT detecta estos eventos con cierta confianza (por ejemplo, dentro de un nivel de confianza estadística) y guarda las instantáneas históricas relevantes de los eventos en un registro histórico en el almacenamiento de datos de la plataforma de integración de IoT. Los perfiles históricos se pueden mantener en una o más estructuras gráficas, una o más estructuras de documentos no esquemáticos, uno o más archivos, o cualquier combinación de los mismos.
Configuración del motor de pronóstico de situación
Para establecer la capacidad de pronosticar situaciones contextuales, la plataforma de integración de IoT entrena uno o más modelos de aprendizaje automático basándose en los indicadores de contexto en evolución y/o datos de actividad sin procesar. En algunas realizaciones, los modelos de aprendizaje automático incluyen uno o más modelos de aprendizaje automático supervisados que requieren datos etiquetados. En estas realizaciones, la plataforma de integración de IoT proporciona ejemplos de situaciones contextuales y los indicadores de contexto en evolución que conducen a los ejemplos dados como datos etiquetados. En algunas realizaciones, los modelos de aprendizaje automático incluyen uno o más modelos de aprendizaje automático no supervisados. En estas realizaciones, la
plataforma de integración de loT permite que los modelos de aprendizaje automático generen situaciones contextúales potenciales novedosas y/o categorías novedosas de situaciones contextúales potenciales.
La plataforma de integración de loT puede definir un conjunto de posibles situaciones contextuales. En algunas realizaciones, cada situación contextual corresponde a uno o más estados de una o más entidades rastreadas por la plataforma de integración de loT, uno o más atributos de perfil de una o más entidades rastreadas por la plataforma de integración de loT, uno o más tipos de eventos mantenidos por el motor de detección de eventos, o cualquier combinación de los mismos.
En algunas realizaciones, la plataforma de integración de loT puede realizar múltiples iteraciones de actualización de indicadores de contexto. Por ejemplo, un indicador de contexto puede depender de otro indicador de contexto. La plataforma de integración de loT puede realizar un número determinado de iteraciones o iterar hasta que se pueda observar un patrón estable entre los indicadores de contexto en evolución. En algunas realizaciones, la plataforma de integración de loT puede realizar múltiples iteraciones de previsión de situaciones contextuales. Por ejemplo, un pronóstico de situación puede depender de otro pronóstico de situación. La plataforma de integración de loT puede realizar un número determinado de iteraciones o iterar hasta que se pueda observar un patrón estable entre los pronósticos de situación.
La situación específica de la ubicación/del lugar, la situación específica de la persona y las situaciones específicas de los dispositivos pueden afectarse entre sí. Por ejemplo, detectar que en mi casa hay varias personas (por ejemplo, tener invitados en casa) afecta el comportamiento personal. En otro ejemplo, si por lo general todos los dispositivos de la casa estuvieran apagados en un momento determinado, una previsión de la situación del dispositivo puede ser que el "dispositivo estará apagado". Sin embargo, si hay un pronóstico de situación específico de la ubicación que determine "varias personas en casa", el pronóstico de situación específico del dispositivo se puede cambiar a "el dispositivo estará encendido". Todos los dispositivos, personas, lugares que interactúan entre sí afectan la situación de pronóstico con cada uno de ellos.
Conjunto contextualizado de modelos de aprendizaje automático
La plataforma de integración de loT puede utilizar uno o más modelos de aprendizaje automático para predecir una situación contextual asociada con una entidad objetivo. La preparación de los modelos de aprendizaje automático incluye el procesamiento de datos (por ejemplo, recopilación de datos de actividad y cálculo de actualizaciones de indicadores de contexto), extracción de características (por ejemplo, formateo de datos procesados para la deliberación sobre el modelo y/o el entrenamiento del modelo), entrenamiento del modelo, implementación del modelo y procesamiento posterior de resultados de la deliberación sobre el modelo (por ejemplo, clasificación de resultados numéricos en pronósticos de situación). Los modelos de aprendizaje automático pueden utilizar múltiples tipos de características. En algunos casos, al menos algunos de los tipos de características dependen unos de otros. En algunos casos, al menos algunos de los tipos de características son independientes entre sí. Los modelos de aprendizaje automático pueden incluir un modelo de aprendizaje automático supervisado, que aprende de datos etiquetados que indican situaciones contextuales conocidas e indicadores de contexto asociados y/o datos de actividad. En algunas realizaciones, los datos etiquetados se pueden generar automáticamente. En algunas realizaciones, los datos etiquetados pueden generarse solicitando información de retorno del usuario. En algunas realizaciones, después de cada pronóstico de situación, la plataforma de integración de loT puede solicitar al usuario y recoger del mismo una información de retorno para confirmar o negar la situación pronosticada (por ejemplo, después de que haya transcurrido el plazo de tiempo predicho del pronóstico de situación).
El modelado y el aprendizaje del comportamiento de la entidad se pueden realizar utilizando modelos de aprendizaje automático probabilísticos. Por ejemplo, la plataforma de integración de loT puede entrenar: un modelo global de toda la población de usuarios; un modelo de subpoblación de usuarios que podrían presentar patrones de comportamiento comunes; por ejemplo, por país, ciudad o profesión; un modelo específico del usuario (por ejemplo, capturar sus patrones de comportamiento personales únicos); un modelo específico de la ubicación (por ejemplo, caracterizar los comportamientos de la ubicación/el lugar y el ecosistema de los dispositivos que están ubicados estáticamente en ese lugar); un modelo específico de un grupo de ubicaciones para aprender el comportamiento de un grupo de ubicaciones; un modelo específico del dispositivo (por ejemplo, para caracterizar los patrones de uso del dispositivo); un modelo específico de un grupo de dispositivos (por ejemplo, para caracterizar comportamientos de un tipo de dispositivo y/o una red de dispositivos); o cualquier combinación de los mismos.
En algunas realizaciones, los modelos de aprendizaje automático utilizados para los pronósticos de situación son modelos probabilísticos que comprenden una estructura de datos de distribución previa y una función de probabilidad de situación. Los eventos observados previamente se pueden usar para construir una distribución previa coincidente sobre todos los eventos posibles, que representa el conocimiento aprendido por el sistema de la característica/el comportamiento de una sola entidad o un solo grupo de entidades. La función de probabilidad de situación puede incluir componentes que representen la dependencia del comportamiento en diferentes características de la entidad o del grupo de entidades. Los componentes de la función de probabilidad de situación se pueden modelar como funciones de distribución parametrizadas de diversos tipos (por ejemplo, estimando sus parámetros mediante observaciones anteriores).
La plataforma de integración de loT puede generar pronósticos de situación utilizando un conjunto ponderado de los modelos de aprendizaje automático (por ejemplo, los modelos probabilísticos), representados como una combinación ponderada de las diferentes estructuras de datos de distribución previa y funciones de probabilidad de situación. Esto permite una actuación sólida incluso para entidades nuevas, para las cuales el modelo específico de entidad aún no esté bien entrenado, ya que el conocimiento sobre las poblaciones y grupos generales y las subpoblaciones y grupos relevantes se utiliza para estimar el modelo específico de entidad, lo que permite pronosticar el comportamiento de entidad observado en estas poblaciones y grupos. La combinación ponderada se aprende en sí misma mediante un metamodelo personalizado para cada entidad, lo que tiene como resultado características únicas y diferentes niveles de pertinencia para diferentes subpoblaciones y grupos representados como una mezcla única sobre las respectivas distribuciones que los modelan.
Predicción de comportamiento anómalo utilizando algoritmos de teoría de redes
La predicción del comportamiento anómalo o no observado de una persona (visitar una ubicación nueva para esa persona, interactuar con un nuevo dispositivo, conocer a una nueva persona por primera vez) se realiza utilizando diversas técnicas de reconstrucción de red. Para detectar y predecir la interacción con nodos conocidos pero no conectados se utilizan algoritmos de predicción de enlaces (véase la Figura 12B), mientras que para detectar y predecir interacciones con nodos 'ocultos' (dispositivos que no se comunican, entidades de persona que no sean usuarios) y nodos nuevos (dispositivos recién comprados) se pueden utilizar algoritmos de predicción de nodos y de evolución de red (véase la Figura 12D).
Además, los eventos y las acciones del usuario causados por la adopción del patrón de comportamiento en la red social del usuario se detectan y predicen mediante la simulación de procesos en la red. La propagación de patrones de comportamiento se predice utilizando un modelado de tipo epidémico de la adopción de tendencias en las redes sociales.
Pronóstico de situación por múltiples entidades
La plataforma de integración de IoT permite el cálculo de pronósticos de situación de una entidad objetivo. En algunos casos, la entidad objetivo es una entidad de grupo que representa un conjunto de subentidades. En el caso de que se tenga como objetivo un conjunto de entidades, el pronóstico de situación considera el subgráfico de las entidades y fusiona la situación de pronóstico sobre varias entidades. La plataforma de integración de IoT puede detectar el subgráfico del conjunto de entidades que son el objetivo de los pronósticos de situación. La plataforma de integración de IoT puede usar bordes del subgráfico de entidades para descubrir enlaces implícitos (por ejemplo, a través del algoritmo de predicción de enlaces). La plataforma de integración de IoT puede calcular uno o más pronósticos de situación para cada entidad teniendo en cuenta las características de cada entidad en el subgráfico. Los resultados de los pronósticos de situación se pueden fusionar a través de la suma ponderada (por ejemplo, los pesos pueden corresponder al nivel de confianza estadística proporcionado por los modelos probabilísticos).
Aprendizaje a partir de información de retorno
Los modelos de aprendizaje automático pueden aprender (por ejemplo, a través de un entrenamiento adicional del modelo) dinámicamente a partir de información de retorno del usuario o de la plataforma y actualizar su estructura de datos de distribución anterior y la función de probabilidad de situación para brindar un mejor rendimiento de pronóstico. En algunas realizaciones, la información de retorno del usuario indica si un pronóstico de situación es correcto o no. En algunas realizaciones, la información de retorno del usuario puede especificar la situación contextual real/correcta para reemplazar los pronósticos de situación incorrectos. Esta información se puede integrar como parte de los datos etiquetados para entrenar los modelos de aprendizaje automático y, por lo tanto, puede ajustar la función de probabilidad de situación que clasifica las características de entrada en situaciones contextuales. En algunas realizaciones, la información de retorno del usuario indica si un indicador de contexto (por ejemplo, un gráfico de entidades, un atributo de perfil, un estado de entidad, etc.) es correcto y, si no, el valor correcto del indicador de contexto. En estas realizaciones, el indicador de contexto corregido se usa para entrenar los modelos de aprendizaje automático y/o cambiar la entrada a los modelos de aprendizaje automático cuando se pronostica.
Después de que la plataforma de integración de IoT calcule un pronóstico de situación, la plataforma de integración de IoT puede presentar los pronósticos de situación a sus dispositivos de consumidor (por ejemplo, una aplicación específica de una solución de IoT, una aplicación de agente o un sitio web de la plataforma de integración de IoT, una interfaz de usuario de terceros, un dispositivo IoT, un dispositivo informático de usuario universal o cualquier combinación de los mismos). La plataforma de integración de IoT puede recibir información de retorno a través de cualquier interfaz de protocolo de aplicación o datos con los dispositivos del consumidor. Cualquier aplicación, servicio o dispositivo que se haya integrado en la plataforma de integración de IoT y consuma un pronóstico de situación también puede ser un proveedor de información de retorno. Por ejemplo, una aplicación de termostato puede proporcionar la información de retorno si el usuario aceptó o modificó la temperatura recomendada/pronosticada. Si se modificó, el valor modificado se tiene en cuenta y se marca como una información de retorno negativa. Si no se recibió ningún registro de datos que indicase una modificación, la plataforma de integración de IoT puede registrar/marcar como una información de retorno positiva en su pronóstico de situación.
La plataforma de integración de loT incluye el motor de detección de eventos que detecta eventos actuales. La plataforma de integración de IoT puede recibir los eventos detectados actualmente como información de retorno para el pronóstico de situación. Por ejemplo, si la plataforma de integración de IoT pronostica que una persona irá a un gimnasio y tendrá un nivel bajo de azúcar, pero el motor de detección de eventos detecta que en realidad la persona está en el restaurante, entonces la plataforma de integración de IoT puede registrar una información de retorno negativa para el pronóstico de situación.
La Figura 13 es un diagrama de flujo que ilustra un método 1300 para generar pronósticos de situación mediante una plataforma de integración de IoT, de acuerdo con diversas realizaciones. En la etapa 1302, la plataforma de integración de IoT puede recibir uno o más flujos de datos de actividad. La plataforma de integración de IoT se implementa en un sistema informático y se conecta a múltiples fuentes de datos de diferentes soluciones verticales de IoT. Las fuentes de datos pueden incluir uno o más dispositivos IoT, dispositivos móviles universales, sistemas de servidores informáticos específicos de soluciones, sistemas de servidores informáticos de terceros, sistemas de servidores web específicos de soluciones de IoT, o cualquier combinación de los mismos. Los flujos de datos de actividad pueden incluir una actividad comunicada por el usuario, una actividad observada por una aplicación de terceros, una actividad observada o inferida por una plataforma de integración de IoT, o cualquier combinación de las mismas.
En la etapa 1304, la plataforma de integración de IoT puede actualizar uno o más indicadores de contexto en evolución asociados con una o más entidades rastreables en la plataforma de integración de IoT basándose en los flujos de datos de actividad. La entidad rastreable puede ser la entidad objetivo, una entidad matriz de la que forme parte la entidad objetivo, una subentidad que forme parte de la entidad objetivo o una entidad conectada (por ejemplo, una entidad hermana u otra entidad conectada indirectamente) que esté dentro un número de umbral preestablecido de número de conexiones directas a la entidad objetivo en el gráfico de entidades. Los indicadores de contexto en evolución pueden incluir una máquina de estado de entidad de una entidad rastreable relacionada con la entidad objetivo, un gráfico de entidades que incluya un nodo correspondiente a la entidad objetivo, un atributo de perfil de la entidad rastreable, un evento detectado asociado con la entidad rastreable y observado por la plataforma de integración de IoT, o cualquier combinación de los mismos. La máquina de estado de entidad puede ser una máquina de estado finito basada en estados predefinidos. En un ejemplo, la actualización de la máquina de estado de entidad puede incluir la generación de un nuevo estado (por ejemplo, no predefinido) en la máquina de estado de entidad basándose en la pluralidad de flujos de datos de actividad. En estas realizaciones, la máquina de estado de entidad es una máquina de estado infinito con un número incontable de estados (por ejemplo, se pueden descubrir nuevos estados).
En otro ejemplo, la actualización puede incluir un análisis de la pluralidad de flujos de datos de actividad para detectar el evento asociado con la entidad rastreable. El evento detectado se puede caracterizar por una combinación de uno o más estados de entidad de una o más entidades rastreables, uno o más atributos de perfil de las entidades rastreables, la presencia de uno o más tipos de actividad conocidos, o cualquier combinación de los mismos. El análisis puede incluir clasificar datos de actividad en la pluralidad de flujos de datos de actividad en uno o más eventos utilizando uno o más modelos de aprendizaje automático (por ejemplo, modelos capaces de clasificar datos de actividad en diferentes tipos de eventos).
Los indicadores de contexto en evolución pueden cambiar con el tiempo. En algunas realizaciones, los indicadores de contexto en evolución se actualizan en respuesta a la recepción de nuevos datos de la pluralidad de flujos de datos de actividad. En algunas realizaciones, un indicador de contexto cambia en función de uno o más tipos de eventos asociados con subconjuntos de datos de actividad (por ejemplo, procedentes de los flujos de datos de actividad) dentro de un período de tiempo continuo. En algunas realizaciones, al menos uno de los indicadores de contexto en evolución cambia en función de otro de los indicadores de contexto en evolución. En consecuencia, la actualización de los indicadores de contexto en evolución puede incluir iterar múltiples veces para captar el impacto interdependiente que los indicadores de contexto en evolución tienen entre sí (por ejemplo, durante un número determinado de iteraciones o hasta que se alcance un patrón estable de indicadores de contexto en evolución).
En algunas realizaciones, en la etapa 1306, la plataforma de integración de IoT puede definir un conjunto de posibles situaciones contextuales. Cada posible situación contextual se puede asociar con uno o más atributos de perfil, uno o más estados de entidad, uno o más tipos de eventos, o cualquier combinación de los mismos. En algunas realizaciones, el conjunto de posibles situaciones contextuales se define específicamente para la entidad objetivo. En algunas realizaciones, la plataforma de integración de IoT puede generar automáticamente el conjunto de posibles situaciones contextuales mediante un análisis de un registro histórico de los flujos de datos de actividad, el registro histórico de los indicadores de contexto en evolución, o una combinación de los mismos.
En la etapa 1308, la plataforma de integración de IoT puede entrenar uno o más modelos de aprendizaje automático sobre la base de un registro histórico de los indicadores de contexto en evolución, datos de actividad de los flujos de datos de actividad, o una combinación de los mismos. Los modelos de aprendizaje automático pueden ser modelos de aprendizaje automático supervisados o no supervisados. Los uno o más modelos de aprendizaje automático se pueden entrenar utilizando datos etiquetados que especifiquen al menos una posible situación contextual y uno o más indicadores de contexto o datos de actividad correspondientes, de los cuales se sepa que están correlacionados con la posible situación contextual. La plataforma de integración de IoT también puede detectar una situación contextual actual de la entidad objetivo y generar datos etiquetados que correlacionen un registro histórico de los indicadores de
contexto en evolución con la situación contextual actual detectada. La plataforma de integración de loT puede entrenar los modelos de aprendizaje automático sobre la base de los datos etiquetados.
En la etapa 1310, la plataforma de integración de IoT puede generar un pronóstico de situación (por ejemplo, identificando una situación contextual) asociado con una entidad objetivo probando un subconjunto de indicadores de contexto en evolución y/o los datos de actividad dentro de un plazo de tiempo contra los uno o más modelos de aprendizaje automático. Por ejemplo, la plataforma de integración de IoT puede calcular cuál de las posibles situaciones contextuales se ajusta mejor a la pluralidad de indicadores de contexto en evolución.
Además, aunque los procesos o bloques a veces se muestren como realizados en serie, estos procesos o bloques pueden realizarse en paralelo, o pueden realizarse en momentos diferentes. Cuando un proceso o una etapa está "basado en" o “basada en” un valor o un cómputo, el proceso o la etapa debe interpretarse como basado o basada al menos en ese valor o ese cómputo.
Claims (15)
1. Un método implementado por ordenador, que comprende:
recibir (1302), de múltiples fuentes de datos, una pluralidad de flujos de datos de actividad en una plataforma de integración de Internet de las Cosas, IoT, en donde la plataforma de integración de loT está implementada en un sistema informático y conectada a Jas múltiples fuentes de datos de diferentes soluciones de IoT, en donde las múltiples fuentes de datos incluyen uno o más dispositivos IoT, dispositivos móviles universales, sistemas de servidores informáticos específicos de soluciones, sistemas de servidores informáticos de terceros, sistemas de servidores web específicos de soluciones de IoT, o cualquier combinación de los mismos;
actualizar (1304) de manera iterativa una pluralidad de indicadores de contexto en evolución asociados con una o más entidades rastreables por la plataforma de integración de IoT basándose en la pluralidad de flujos de datos de actividad hasta que se alcanza un patrón estable de la pluralidad de indicadores de contexto en evolución, en donde al menos uno de la pluralidad de indicadores de contexto en evolución cambia en función de otro de la pluralidad de indicadores de contexto en evolución;
entrenar (1308) uno o más modelos de aprendizaje automático sobre la base de un registro histórico de la pluralidad de indicadores de contexto en evolución, datos de actividad de la pluralidad de flujos de datos de actividad, o una combinación de los mismos; y
pronosticar (1310) una situación contextual asociada con una entidad objetivo entre las una o más entidades probando un subconjunto de la pluralidad de indicadores de contexto en evolución dentro de un plazo de tiempo contra los uno o más modelos de aprendizaje automático;
generar, por parte de la plataforma de integración de IoT, una acción recomendada basándose en la situación contextual pronosticada; y
ejecutar, por parte de la plataforma de integración de IoT a través de al menos una de las múltiples fuentes de datos, la acción recomendada para influir en una actividad de la entidad objetivo en previsión de la situación contextual pronosticada asociada con la entidad objetivo.
2. El método implementado por ordenador de la reivindicación 1, que comprende además definir un conjunto de posibles situaciones contextuales; y en donde pronosticar la situación contextual incluye calcular cuál de las posibles situaciones contextuales se ajusta mejor a la pluralidad de indicadores de contexto en evolución.
3. El método implementado por ordenador de la reivindicación 2, en donde cada situación contextual posible está asociada con uno o más atributos de perfil, uno o más estados de entidad, uno o más tipos de eventos, o cualquier combinación de los mismos.
4. El método implementado por ordenador de la reivindicación 2, en donde dicha definición incluye generar automáticamente el conjunto de posibles situaciones contextuales analizando un registro histórico de los flujos de datos de actividad, el registro histórico de los indicadores de contexto en evolución, o una combinación de los mismos.
5. El método implementado por ordenador de la reivindicación 1, en donde la actualización iterativa (1304) de la pluralidad de indicadores de contexto en evolución incluye calcular un indicador de contexto en función de uno o más tipos de eventos de datos de actividad de la pluralidad de flujos de datos de actividad.
6. El método implementado por ordenador de la reivindicación 1, en donde al menos uno de los indicadores de contexto en evolución es una función de otro de los indicadores de contexto en evolución; y en donde actualizar la pluralidad de indicadores de contexto en evolución incluye iterar dicha actualización múltiples veces para captar el impacto interdependiente que los indicadores de contexto en evolución tienen entre sí.
7. El método implementado por ordenador de la reivindicación 1, en donde los flujos de datos de actividad incluyen una actividad comunicada por el usuario, una actividad observada por una aplicación de terceros, una actividad observada o inferida por una plataforma de integración de IoT, o cualquier combinación de las mismas.
8. El método implementado por ordenador de la reivindicación 1, en donde los indicadores de contexto en evolución incluyen una máquina de estado de entidad de una entidad rastreable relacionada con la entidad objetivo, un gráfico de entidades que incluye un nodo correspondiente a la entidad objetivo, un atributo de perfil de la entidad rastreable, un evento detectado asociado con la entidad rastreable y observado por la plataforma de integración de IoT, o cualquier combinación de los mismos.
9. El método implementado por ordenador de la reivindicación 8, en donde la entidad rastreable es la entidad objetivo, una entidad matriz de la que forma parte la entidad objetivo, una subentidad que forma parte de la entidad objetivo o una entidad conectada que está dentro de un umbral preestablecido de número de conexiones directas a la entidad objetivo en el gráfico de entidades.
10. El método implementado por ordenador de la reivindicación 8, que comprende además analizar la pluralidad de flujos de datos de actividad para detectar el evento asociado con la entidad rastreable.
11. El método implementado por ordenador de la reivindicación 10, en donde el evento detectado se caracteriza por una combinación de uno o más estados de entidad de una o más entidades rastreables, uno o más atributos de perfil de las entidades rastreables, la presencia de uno o más tipos de actividad conocidos, o cualquier combinación de los mismos.
12. El método implementado por ordenador de la reivindicación 1, en donde dicho entrenamiento (1308) incluye entrenar los uno o más modelos de aprendizaje automático usando datos que incluyen etiquetas semánticas que especifican al menos una posible situación contextual y uno o más indicadores de contexto o datos de actividad correspondientes, de los cuales se sabe que están correlacionados con la posible situación contextual.
13. El método implementado por ordenador de la reivindicación 1, que comprende además:
detectar una situación contextual actual de la entidad objetivo; y
generar datos que incluyen etiquetas semánticas a partir del registro histórico de la pluralidad de indicadores de contexto en evolución, una retroacción del usuario con respecto a una situación contextual actual, la situación contextual actual detectada, la pluralidad de flujos de datos de actividad, o cualquier combinación de los mismos; y
en donde los modelos de aprendizaje automático incluyen al menos un modelo de aprendizaje automático supervisado y el modelo de aprendizaje automático supervisado se entrena a través de los datos etiquetados.
14. Una memoria de datos legible por ordenador que almacena instrucciones ejecutables por ordenador que, cuando son ejecutadas por un sistema informático, hacen que el sistema informático realice el método implementado por ordenador de cualquiera de las reivindicaciones 1 a 13.
15. Un sistema informático que comprende:
un sistema procesador que comprende uno o más procesadores;
un sistema de memoria configurado para almacenar instrucciones ejecutables que, cuando son ejecutadas por el sistema procesador, hacen que el sistema procesador realice el método implementado por ordenador de cualquiera de las reivindicaciones 1 a 13.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/181,191 US10990894B2 (en) | 2013-07-11 | 2016-06-13 | Situation forecast mechanisms for internet of things integration platform |
| PCT/US2017/037081 WO2017218437A1 (en) | 2016-06-13 | 2017-06-12 | Situation forecast mechanisms for internet of things integration platform |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2906101T3 true ES2906101T3 (es) | 2022-04-13 |
Family
ID=60663735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES17813884T Active ES2906101T3 (es) | 2016-06-13 | 2017-06-12 | Mecanismos de pronóstico de situación para plataforma de integración de Internet de las Cosas |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP3469496B1 (es) |
| CN (1) | CN109564579B (es) |
| ES (1) | ES2906101T3 (es) |
| WO (1) | WO2017218437A1 (es) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110865544B (zh) * | 2018-08-27 | 2023-04-14 | 格力电器(武汉)有限公司 | 智能家居系统连接关系的预测方法和装置 |
| WO2020105992A1 (en) | 2018-11-19 | 2020-05-28 | Samsung Electronics Co., Ltd. | Method and system for predicting content based recommendations |
| JP7258142B2 (ja) * | 2018-11-26 | 2023-04-14 | エバーシーン リミテッド | プロセス具体化のためのシステムおよび方法 |
| WO2021035750A1 (zh) * | 2019-08-30 | 2021-03-04 | Oppo广东移动通信有限公司 | 一种规则校验方法和装置、计算机设备 |
| WO2021138635A1 (en) * | 2019-12-31 | 2021-07-08 | Google Llc | Operating system-level assistive features for contextual privacy |
| CN113411360B (zh) * | 2020-03-16 | 2022-10-21 | 成都秦川物联网科技股份有限公司 | 基于车联网的分区云平台网外运算方法及系统 |
| CN111538881B (zh) * | 2020-04-16 | 2024-02-09 | 广东好太太科技集团股份有限公司 | 一种基于行为数据的活跃度分析方法、设备及存储介质 |
| CN111753939A (zh) * | 2020-06-24 | 2020-10-09 | 京东方科技集团股份有限公司 | 一种资产管理系统 |
| CN113965592B (zh) * | 2020-07-01 | 2024-06-07 | 珠海优特智厨科技有限公司 | 物联网设备的处理方法、装置及设备 |
| CN112036571B (zh) * | 2020-08-25 | 2023-12-29 | 深圳市酷开网络科技股份有限公司 | 一种多领域专家系统联合推理方法及系统 |
| WO2022244922A1 (en) | 2021-05-19 | 2022-11-24 | Samsung Electronics Co., Ltd. | Methods and systems for controlling operations of devices in an internet of things (iot) environment |
| CN116982293A (zh) | 2021-05-19 | 2023-10-31 | 三星电子株式会社 | 用于控制物联网(iot)环境中的装置的操作的方法和系统 |
| WO2023090534A1 (en) * | 2021-11-19 | 2023-05-25 | Samsung Electronics Co., Ltd. | Method and apparatus for operating devices in iot environment |
| EP4356568A4 (en) | 2021-11-19 | 2024-09-18 | Samsung Electronics Co., Ltd. | METHOD AND APPARATUS FOR OPERATING DEVICES IN AN IOT ENVIRONMENT |
| CN114422555B (zh) * | 2022-03-28 | 2022-07-12 | 成都柔水科技有限公司 | 一种基于CIM平台可自定义配置IoT数据解析的方法 |
| CN114896126B (zh) * | 2022-04-29 | 2026-02-03 | 阿里巴巴(中国)有限公司 | 一种输出记录文件的方法、介质及计算设备 |
| WO2024177620A1 (en) * | 2023-02-20 | 2024-08-29 | Roche Diabetes Care, Inc. | Optimization and personalization of therapeutic protocols |
| WO2025099759A1 (en) * | 2023-11-09 | 2025-05-15 | Jio Platforms Limited | System and method for predicting abnormalities in a network |
| CN118803026A (zh) * | 2023-11-27 | 2024-10-18 | 中移物联网有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN117544985B (zh) * | 2024-01-09 | 2024-03-19 | 成都趣点科技有限公司 | 一种设备离线通信管理方法及系统 |
| CN117978668B (zh) * | 2024-04-01 | 2024-06-04 | 北京大学 | 异质物联网信息传递方法、装置及非易失性存储介质 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9712486B2 (en) * | 2006-09-25 | 2017-07-18 | Weaved, Inc. | Techniques for the deployment and management of network connected devices |
| CN103975345B (zh) * | 2011-09-27 | 2018-05-11 | 瑞典爱立信有限公司 | 管理社交网络中的联网资源节点之间的数据流 |
| CN102866833B (zh) * | 2012-09-06 | 2015-01-21 | 纪阳 | 基于社交网络的图标交互系统及其方法 |
| CN103258027B (zh) * | 2013-05-08 | 2016-12-28 | 南京邮电大学 | 基于智能终端的情境感知服务平台 |
| US9871865B2 (en) * | 2013-07-11 | 2018-01-16 | Neura, Inc. | Physical environment profiling through internet of things integration platform |
| US9600571B2 (en) * | 2013-07-11 | 2017-03-21 | Neura, Inc. | Interoperability mechanisms for internet of things integration platform |
| US10051068B2 (en) * | 2013-11-14 | 2018-08-14 | Qualcomm Incorporated | Mechanisms to route IoT notifications according to user activity and/or proximity detection |
| US9989942B2 (en) * | 2013-12-30 | 2018-06-05 | Qualcomm Incorporated | Preemptively triggering a device action in an Internet of Things (IoT) environment based on a motion-based prediction of a user initiating the device action |
| US10417554B2 (en) * | 2014-05-22 | 2019-09-17 | Lee J. Scheffler | Methods and systems for neural and cognitive processing |
| US9094407B1 (en) * | 2014-11-21 | 2015-07-28 | Citrix Systems, Inc. | Security and rights management in a machine-to-machine messaging system |
-
2017
- 2017-06-12 EP EP17813884.8A patent/EP3469496B1/en not_active Not-in-force
- 2017-06-12 CN CN201780049737.4A patent/CN109564579B/zh active Active
- 2017-06-12 WO PCT/US2017/037081 patent/WO2017218437A1/en not_active Ceased
- 2017-06-12 ES ES17813884T patent/ES2906101T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3469496B1 (en) | 2021-11-17 |
| EP3469496A1 (en) | 2019-04-17 |
| CN109564579B (zh) | 2023-09-08 |
| WO2017218437A1 (en) | 2017-12-21 |
| CN109564579A (zh) | 2019-04-02 |
| EP3469496A4 (en) | 2020-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2906101T3 (es) | Mecanismos de pronóstico de situación para plataforma de integración de Internet de las Cosas | |
| US20210350279A1 (en) | Situation forecast mechanisms for internet of things integration platform | |
| US10171586B2 (en) | Physical environment profiling through Internet of Things integration platform | |
| US10353939B2 (en) | Interoperability mechanisms for internet of things integration platform | |
| US11361863B2 (en) | Location-based wireless diabetes management systems, methods and apparatus | |
| CN107548500A (zh) | 基于用户例程模型的事件异常 | |
| US12386844B2 (en) | Temporal reasoning | |
| Montanaro | IoT Notifications: from disruption to benefit-Architectures for the future of notifications in the IoT | |
| US20240428909A1 (en) | Edge-based mental health assessment | |
| Novais et al. | A framework for monitoring and assisting seniors with memory disabilities | |
| Pather et al. | A Model for Context Awareness for Mobile Applications using Multiple-Input Sources | |
| Mun | Understanding and Controlling Personal Data Streams in Participatory Sensing |