ES2747819T3 - Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas - Google Patents

Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas Download PDF

Info

Publication number
ES2747819T3
ES2747819T3 ES14757961T ES14757961T ES2747819T3 ES 2747819 T3 ES2747819 T3 ES 2747819T3 ES 14757961 T ES14757961 T ES 14757961T ES 14757961 T ES14757961 T ES 14757961T ES 2747819 T3 ES2747819 T3 ES 2747819T3
Authority
ES
Spain
Prior art keywords
data
virtual device
computer
requesting
virtual
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
Application number
ES14757961T
Other languages
English (en)
Inventor
Paul Nigel Green
Mark Nicholas James Wharton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iotic Labs Ltd
Original Assignee
Iotic Labs Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Iotic Labs Ltd filed Critical Iotic Labs Ltd
Application granted granted Critical
Publication of ES2747819T3 publication Critical patent/ES2747819T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/18Network protocols supporting networked applications, e.g. including control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un ordenador registrador (300), para proporcionar una alimentación de datos a un dispositivo solicitante virtual (140), para autenticar dispositivos y datos y para su utilización con la Internet de las cosas, estando configurado el ordenador registrador (300) para negociar las comunicaciones entre al menos un dispositivo virtual (130), configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y al menos un dispositivo virtual solicitante (140), configurado para actuar como un servidor de proximidad para un solicitante real, comprendiendo el ordenador registrador (300): una primera interfaz de aplicación, configurada para comunicarse con el al menos un dispositivo virtual solicitante (140) y el al menos un dispositivo virtual solicitante (140) para mantener un directorio de control de dispositivos virtuales (130) y dispositivos virtuales solicitantes (140) registrados mediante el ordenador registrador (300) y para mantener un directorio de alimentaciones de datos (370) que comprende entradas que indican las alimentaciones de datos disponibles para al menos un dispositivo virtual solicitante, comprendiendo las alimentaciones de datos una o más alimentaciones de datos generadas por al menos un dispositivo virtual (130), configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y una o más alimentaciones de datos generadas por el ordenador registrador (300); una segunda interfaz de aplicación, configurada para recibir una solicitud para una alimentación de datos generada por el ordenador registrador (300) desde un dispositivo virtual solicitante (140); y un módulo lógico, en comunicación con la segunda interfaz de aplicación y el directorio de alimentaciones de datos (370), estando configurado el módulo lógico para, en respuesta a la recepción de la solicitud de alimentación de datos, proporcionar la alimentación de datos generada por el ordenador registrador (300) al dispositivo virtual solicitante (140).

Description

DESCRIPCIÓN
Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas
Campo técnico
La presente invención da a conocer disposiciones de red, dispositivos virtuales, sistemas de comunicación y control, sistemas de autenticación y métodos para autenticar dispositivos y datos, adecuados para su utilización con Internet y, particularmente, con la Internet de las cosas. Asimismo, se dan a conocer métodos para manejar las disposiciones, dispositivos y sistemas mencionados anteriormente.
Antecedentes
La Internet de las cosas hace referencia a objetos identificables de manera única en una estructura similar a internet. Si todos los objetos y personas en la vida cotidiana estuvieran equipados con identificadores, podrían ser gestionados e inventariados mediante ordenadores. Mucha especulación se ha centrado en el etiquetado de las cosas utilizando, por ejemplo, identificación por radiofrecuencia (RFID - Radio Frequency IDentification, en inglés) y tecnologías tales como la comunicación de campo cercano (NFC - Near field Communication, en inglés), códigos de barras, códigos de respuesta rápida (QR - Quick Response, en inglés) y marcas de agua digitales.
Equipar todos los objetos del mundo con dispositivos de identificación minúsculos o identificadores legibles mediante una máquina podría transformar la vida cotidiana. Por ejemplo, las empresas ya no podrían quedarse sin existencias o generar productos de desecho, ya que las partes involucradas sabrían qué productos se han consumido y se necesitan. Los usuarios podrían interactuar con dispositivos de manera remota en función de las necesidades presentes o futuras.
No obstante, esta audaz visión se enfrenta a una gran cantidad de problemas prácticos. Por ejemplo, no está claro, en la práctica, que aspecto tendría la arquitectura y cómo funcionaría para estar controlada de manera segura. No está claro cómo los dispositivos que producen alimentaciones de datos y los solicitantes que consumen alimentaciones de datos se conectarían de manera confiable. Por ejemplo, los solicitantes tendrían poca o ninguna información sobre la verdadera identidad o la integridad de los dispositivos remotos o la calidad de los datos que producen. Del mismo modo, las arquitecturas y protocolos convencionales basados en la web serían vulnerables a violaciones y ataques a la seguridad, por ejemplo, ataques en los que los solicitantes o dispositivos pretenden ser algo que no son y ataques de denegación de servicio.
El documento US2011/066715 proporciona un dispositivo para mejorar la distribución automática de contenido basado en una alimentación a un terminal móvil a través de una red móvil, un componente de red que comprende un agente del lado de la red.
Compendio
Este Compendio se proporciona para presentar una selección de conceptos de una manera simplificada que se describe más adelante en la Descripción detallada. Este Compendio no tiene la intención de identificar características clave o características esenciales del asunto reivindicado, ni pretende ser utilizado como una ayuda para determinar el alcance del asunto reivindicado.
En el presente documento, se describen métodos y dispositivos virtuales para proporcionar una alimentación de datos a un dispositivo solicitante virtual. El ordenador registrador mantiene un directorio de control de dispositivos virtuales y dispositivos virtuales solicitantes registrados con el mismo. El ordenador registrador mantiene, asimismo, un directorio de alimentaciones de datos que comprende una lista de alimentaciones de datos disponible para el al menos un dispositivo virtual solicitante. Además de incluir alimentaciones de datos generadas por los dispositivos virtuales, el directorio de alimentaciones de datos incluye, asimismo, al menos una alimentación de datos generada por el ordenador registrador. Cuando el ordenador registrador recibe una solicitud de alimentación de datos para una alimentación de datos generada mediante el ordenador registrador, el propio ordenador registrador proporciona la alimentación de datos al dispositivo virtual solicitante.
Un primer aspecto proporciona un ordenador registrador configurado para negociar comunicaciones entre al menos un dispositivo virtual, configurado para actuar como un servidor de proximidad para un solicitante real, y, al menos, un dispositivo virtual solicitante, configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, comprendiendo el ordenador registrador: una primera interfaz de aplicación, configurada para comunicarse con el al menos un dispositivo virtual solicitante y el al menos un dispositivo virtual solicitante para mantener un directorio de control de dispositivos virtuales y los dispositivos virtuales solicitantes registrados mediante el ordenador registrador, y para mantener un directorio de alimentaciones de datos que comprende entradas que indican las alimentaciones de datos disponibles para el al menos un dispositivo virtual, y una o más alimentaciones de datos generadas por el ordenador registrador; una segunda interfaz de aplicación, configurada para recibir una solicitud para una alimentación de datos generada por el ordenador registrador desde el un dispositivo solicitante virtual; y un módulo lógico, en comunicación con la segunda interfaz de aplicación y el directorio de alimentaciones de datos, estando configurado el módulo lógico para, en respuesta a la determinación de que la solicitud debe ser concedida, proporcionar la alimentación de datos generada por el ordenador registrador al dispositivo virtual solicitante.
Un segundo aspecto proporciona un método para proporcionar una alimentación de datos a un dispositivo virtual solicitante, comprendiendo el método: mantener un directorio de control de dispositivos virtuales y de dispositivos virtuales solicitantes registrados mediante un ordenador registrador; mantener un directorio de alimentaciones de datos que comprende entradas que indican las alimentaciones de datos disponibles para el al menos un dispositivo virtual solicitante, configurado para actuar como un servidor de proximidad para un solicitante real, comprendiendo las alimentaciones de datos una o más alimentaciones de datos generadas por el al menos un dispositivo virtual registrado, configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y una o más alimentaciones de datos generadas por el ordenador registrador; recibir una solicitud de alimentación de datos desde un dispositivo virtual solicitante registrado para una alimentación de datos generada por el ordenador registrador; y, en respuesta a la recepción de la solicitud de alimentación de datos, proporcionar la alimentación de datos generada por el ordenador registrador al dispositivo virtual solicitante.
Los métodos descritos en el presente documento pueden ser llevados a cabo por un ordenador configurado con software en forma legible mediante una máquina, almacenado en un medio de almacenamiento tangible, por ejemplo, en forma de un programa informático que comprende un código de programa legible por ordenador para configurar un ordenador para realizar las partes constituyentes de los métodos descritos, o en forma de un programa informático que comprende un medio de código de programa informático adaptado para llevar a cabo todas los etapas de cualquiera de los métodos descritos en el presente documento cuando el programa es ejecutado en un ordenador, y en el que el programa informático puede ser realizado en un medio de almacenamiento legible por ordenador. Ejemplos de medios de almacenamiento tangibles (o no transitorios) incluyen discos, memorias USB, tarjetas de memoria, etc. y no incluyen señales propagadas. El software puede ser adecuado para la ejecución en un procesador en paralelo o en un procesador en serie, de tal manera que las etapas del método se puedan llevar a cabo en cualquier orden adecuado o de manera simultánea.
Los componentes de hardware descritos en el presente documento pueden ser generados por un medio de almacenamiento legible por ordenador, no transitorio, que tenga codificado en el mismo un código de programa legible por ordenador.
Esto reconoce que el firmware y el software pueden ser utilizados por separado y ser valiosos. Su objetivo es abarcar un software, que se ejecuta en un hardware "tonto" o estándar o que es controlado por el mismo, para llevar a cabo las funciones deseadas. También pretende abarcar un software que "describe" o define la configuración de hardware, tal como el software HDL (lenguaje de descripción de hardware - Hardware Description Language, en inglés), que se utiliza para diseñar chips de silicio, o para configurar chips programables universales, para llevar a cabo las funciones deseadas.
Las características preferidas pueden ser combinadas según sea apropiado, tal como sería evidente para una persona experta, y pueden ser combinadas con cualquiera de los aspectos de la invención.
Figuras
A continuación, se describen realizaciones, a modo de ejemplo, de la presente invención, haciendo referencia a los dibujos adjuntos, en los que:
la figura 1 es un esquema de una red de acuerdo con una realización de la presente invención;
la figura 2A es un diagrama esquemático de un dispositivo virtual de acuerdo con la realización de la figura 1; la figura 2B es un diagrama esquemático de un dispositivo virtual solicitante de acuerdo con la realización de la figura 1;
la figura 3 es un diagrama esquemático de un ordenador registrador de acuerdo con una realización de la presente invención;
la figura 4A es una secuencia de registro de dispositivo de acuerdo con una realización de la presente invención; la figura 4B es un diagrama esquemático que ilustra el registro de un dispositivo virtual con el ordenador registrador; la figura 5A es una secuencia de solicitud de alimentación de acuerdo con una realización de la presente invención; la figura 5B es un diagrama esquemático que ilustra un dispositivo virtual solicitante que se registra para una alimentación de datos desde un dispositivo virtual de acuerdo con una realización de la presente invención;
la figura 5C es un diagrama esquemático que ilustra un dispositivo virtual que envía una alimentación de datos a un dispositivo virtual solicitante en respuesta al registro de la alimentación de datos de la figura 5B;
la figura 6A es un diagrama de secuencia que ilustra el proceso de comunicación entre un dispositivo virtual solicitante y un dispositivo virtual para accionar un dispositivo de acuerdo con una realización de la presente invención;
la figura 6B es un diagrama esquemático que ilustra un dispositivo virtual solicitante que solicita el accionamiento de un dispositivo virtual de acuerdo con una realización de la presente invención;
la figura 6C es un diagrama esquemático que ilustra un dispositivo virtual solicitante que acciona un dispositivo virtual;
la figura 7 es una secuencia que ilustra el proceso de comunicación entre un dispositivo virtual solicitante y un dispositivo virtual para agregar datos históricos de una alimentación de datos de acuerdo con una realización de la presente invención;
la figura 8 es un diagrama esquemático que ilustra tipos de alimentación de datos, a modo de ejemplo, de acuerdo con una realización de la presente invención;
la figura 9 indica casos de utilización de sensores, a modo de ejemplo, de acuerdo con una realización de la presente invención;
la figura 10 indica casos de utilización de accionador, a modo de ejemplo, de acuerdo con una realización de la presente invención; y
la figura 11 es un diagrama esquemático de una realización alternativa del dispositivo virtual de la figura 1.
Descripción detallada
Realizaciones de la presente invención se describen a continuación solo a modo de ejemplo. Estos ejemplos representan las mejores formas de poner en práctica la invención que el solicitante conoce actualmente, aunque no son las únicas formas en que esto se podría conseguir. La descripción establece las funciones del ejemplo y la secuencia de etapas para construir y manejar el ejemplo. Sin embargo, las mismas funciones o secuencias equivalentes se pueden conseguir mediante diferentes ejemplos.
Comunicación intermediada entre dispositivos virtuales
La figura 1 es un diagrama esquemático de una realización de la presente invención en la que una pluralidad de redes de dispositivos 10, 12, 14 y 16 contienen cada una una población de dispositivos reales o simulados que producen datos y, opcionalmente, consumen datos o reciben parámetros de control. Los dispositivos reales o simulados 100 se pueden comunicar con uno o más solicitantes reales 110 a través de una conexión intermediada 120. Los solicitantes son, habitualmente, geográficamente remotos, pero no necesariamente. Pueden estar situados en una pluralidad de diferentes redes lógicas 30, 32, 34, 36.
Cada dispositivo real o simulado 100 tiene un dispositivo virtual 130 homólogo al que está acoplado por una red de puente 150. El dispositivo virtual 130 es un servidor de proximidad que representa el dispositivo real o simulado 100 que se ejecuta, por ejemplo, en un servidor del dispositivo virtual, del cual puede haber muchos 18, 20, 22, 24. En una realización, los servidores de dispositivos virtuales son servidores web.
Un dispositivo real o simulado 100 puede ser cualquier dispositivo que pueda identificarse. Por ejemplo, uno o más de los dispositivos reales o simulados 100 pueden ser un dispositivo activo tal como un microprocesador, un sensor u otro dispositivo que sea capaz de identificarse de manera activa y de generar y cargar datos. Los datos cargados desde dispositivos reales o simulados se utilizan para generar alimentaciones de datos para el consumo de los solicitantes reales 110. En otro ejemplo, uno o más de los dispositivos reales o simulados 100 pueden ser un dispositivo pasivo, tal como un puente u otro elemento de revestimiento o cualquier otro dispositivo u objeto pasivo que pueda identificarse pasivamente mediante una etiqueta de identificación o similar. Un solicitante real 110 puede ser cualquier entidad capaz de solicitar datos de la población o las poblaciones de dispositivos reales o simulados, por ejemplo, un usuario humano o un usuario de máquina.
La red de puente 150 que conecta dispositivos reales o simulados 100 y dispositivos virtuales 130 puede ser una red pública o una red privada, o una combinación de ambas. Por ejemplo, el puente 150 se puede establecer a través de una parte de Internet o de la Internet de las Cosas, o mediante un protocolo específico de dispositivo de máquina, tal como el transporte de telemetría de colas de mensajes (MQTT - Message Queuing Telemetry Transport, en inglés) que se ejecuta en una Red Privada Virtual (VPN - virtual Private Network, en inglés).
Cada entidad solicitante 110 tiene un dispositivo virtual solicitante 140 homólogo al que está conectado a través de una red de puente 160. Un dispositivo virtual solicitante 140 es un servidor de proximidad que representa una entidad solicitante real 110 y se ejecuta en un servidor del dispositivo virtual, que puede ser, por ejemplo, un servidor web. Pueden existir muchos de estos servidores de dispositivos virtuales 40, 42, 44, 46. La red de puente 160 que conecta los solicitantes reales 110 y los dispositivos virtuales del solicitante 140 puede ser cualquier red pública o privada, o una combinación de ambas. Por ejemplo, el puente 150 se puede establecer a través de una parte de Internet o de la Internet de las Cosas, o mediante MQTT, que se ejecuta en una VPN.
Se pueden establecer conexiones intermediadas o negociadas entre un dispositivo virtual 130 y un dispositivo virtual solicitante 140 en ambos sentidos. La conexión 120 entre un dispositivo virtual 130 y un dispositivo virtual solicitante 140 puede utilizar cualquier conexión adecuada capaz de soportar la comunicación de máquina a máquina, en este caso, entre un dispositivo virtual 130 y un dispositivo virtual solicitante 140. Esta conexión se puede establecer a través de una red pública o privada o de una combinación de redes públicas y privadas. Por ejemplo, la conexión 120 se puede establecer a través de una parte de Internet o de la Internet de las cosas, o mediante un protocolo específico de dispositivo de máquina, tal como MQTT, que se ejecuta en una VPN.
Las comunicaciones de máquina a máquina entre dispositivos virtuales 130 (también denominados "dispositivos productores") y dispositivos virtuales solicitantes 140 son intermediadas o negociadas por un ordenador registrador confiable capaz de gestionar comunicaciones entre dispositivos virtuales de acuerdo con API (interfaz de programación de aplicaciones - Application Programming Interface, en inglés) y datos de permisos relacionado con los dispositivos reales o simulados. De esta manera, los dispositivos y sus alimentaciones de datos pueden ser autenticados, y las alimentaciones de datos pueden ser consumidas sin exposición a ataques, tal como un ataque de denegación de servicio. Tal como se explicará más adelante, también es posible autenticar alimentaciones de datos que combinan datos de múltiples dispositivos y nuevas alimentaciones de datos que han sido creadas o modificadas por los solicitantes. Todas estas alimentaciones de datos pueden ser monitorizadas, almacenadas y, si se desea, publicadas, junto con indicaciones que proporcionen una medida de la integridad de la alimentación de datos.
En este contexto, "autenticación" significa confirmar la identidad de una entidad y/o una verdad relacionada con un atributo de la entidad (y puede significar ambas cosas en el caso de la autenticación del dispositivo). La autenticación también se puede utilizar en el presente documento con el significado de confirmar la integridad de un dato o de una alimentación de datos (en el caso de la autenticación de datos). De este modo, el acto de autenticación puede implicar, por ejemplo, confirmar la identidad de una persona, entidad, dispositivo o programa de software, o rastrear los orígenes de una persona, entidad, dispositivo, programa de software o una alimentación de datos. La autenticación a menudo implica verificar la validez de, al menos, una forma de identificación.
Los dispositivos virtuales 130, incluidos los dispositivos virtuales solicitantes 140, descritos en el presente documento, son dispositivos de servidor de proximidad generados mediante un software que se ejecuta en un ordenador. Un dispositivo virtual puede tener datos de su entidad real o simulada homóloga o datos introducidos por la misma. Por ejemplo, un dispositivo virtual puede ser ejecutado en un servidor web y puede ser implementado en cualquier lenguaje informático adecuado. En una realización, los dispositivos virtuales se ejecutan en su propio hilo en un servidor web. En la realización a modo de ejemplo, cada dispositivo virtual tiene su propio hilo que se ejecuta en el servidor web. Alternativamente, pueden ser ejecutados como código reentrante y pueden tener cualquier número de instancias según sea necesario.
Cada dispositivo virtual genera una o más alimentaciones de datos, cada una de las cuales, a los fines de esta descripción, se puede considerar que comprende alguna forma de carga útil de datos de salida y/o alguna forma de parámetros de entrada. De hecho, cuando se ven de este modo, los dispositivos virtuales (incluidos los dispositivos virtuales solicitantes) son construcciones de servidor de proximidad configuradas para presentar una alimentación de datos de acuerdo con los criterios de acceso configurables por el dispositivo virtual. Una alimentación de datos del dispositivo virtual puede presentar, por ejemplo, datos de salida, una solicitud de datos de salida, datos de entrada, una solicitud de datos de entrada o una combinación de los mencionados anteriormente.
Preferiblemente, los dispositivos virtuales se implementan en Java™, PHP o LUA. En la práctica, los dispositivos y máquinas reales y simulados presentan interfaces de dispositivo, y los usuarios reales presentan interfaces de usuario, y se puede considerar que todas estas entidades presentan interfaces o tipos de entidades virtuales de acuerdo con diversas realizaciones de la presente invención.
Dispositivo virtual
La figura 2A ilustra un dispositivo virtual 130 que se puede conectar para recibir datos y proporcionar parámetros de configuración al dispositivo real o simulado 100. El dispositivo virtual 130 incluye metadatos y datos de la máquina. Los metadatos incluyen metadatos de registro 210 y los datos de la máquina 220 incluyen, por ejemplo, la carga útil de datos 260 y los parámetros configurables 270. En este caso, los datos de la máquina 220 comprenden datos de sensor-accionador, tales como la carga útil de datos 260 del dispositivo real o simulado 100 y parámetros de control configurables 270 del dispositivo real o simulado 100.
Este dispositivo de servidor de proximidad 130 se ejecuta en un servidor web o en otro ordenador. Los metadatos de registro 210 pueden incluir, por ejemplo, un identificador de dispositivo físico y descriptores que indican la naturaleza del dispositivo y las definiciones de los formatos API que presenta el dispositivo. Se debe observar que, en las siguientes realizaciones de la presente invención, las API, las API de REST y API de devolución de llamada consisten en varias URL (localizador uniforme de recursos - Uniform Resource Locator, en inglés). De este modo, estos términos se pueden describir en términos de URL.
En el ejemplo que se muestra en la figura. 2A el dispositivo virtual 130 está configurado para presentar tres API: una API de registro 230, una API de accionamiento 240 y una API de negociación 250. Cada API está configurada para recibir un tipo particular de datos. Específicamente, la API de registro se utiliza en un proceso de registro con el ordenador registrador 300 para recibir datos de registro, la API de accionamiento 240 se utiliza para recibir solicitudes para establecer un parámetro de control del dispositivo real o simulado 100, y la API de negociación se utiliza para recibir solicitudes de datos y solicitudes de permiso para enviar una solicitud de accionamiento.
De acuerdo con esta realización, un dispositivo virtual es un servidor de proximidad para su dispositivo real o simulado homólogo y es capaz de ejecutarse en un servidor o en otro ordenador, por ejemplo, en Java™ o LUA o PHP servlets, pero también en futuros lenguajes de programación que pueden ser adecuados para implementar realizaciones de la invención. Los dispositivos virtuales se ejecutarán como instancias en un servidor capaz de presentar las API para muchos dispositivos reales.
Cada dispositivo virtual se describe a sí mismo y a sus recursos por medio de descriptores semánticos. Esto se podría hacer, por ejemplo, utilizando el marco de descripción de recursos (RDF - Resource Description Framework, en inglés) o un lenguaje descriptor semántico similar, o mediante XML. El dispositivo virtual 130 puede presentar, por ejemplo, una API RESTful como su API de registro, para recibir datos de registro desde el ordenador registrador. El dispositivo virtual 130 puede presentar, por ejemplo, una API RESTful específica del dispositivo, tal como su API de accionamiento. En este ejemplo, las API del dispositivo virtual 130 se presenta a un ordenador de registro confiable tal como se describirá con más detalle, a continuación. De esta forma, los metadatos de registro del dispositivo virtual 130 describen la naturaleza y las propiedades del dispositivo real o simulado, así como prescriben la naturaleza y el formato de la API de la máquina. Los dispositivos virtuales 130 contienen de este modo los metadatos para indicar su propia identidad y seguridad para las actuaciones. Por lo tanto, un dispositivo virtual puede presentar los datos y los formatos de datos que proporciona, las cosas que puede consumir (por ejemplo, "encender las luces") y también cosas en las que otros pueden registrarse (por ejemplo, "dime cuándo está encendida tu luz"). En esta realización, un identificador de red del dispositivo (es decir, LUID (identificador único local)) es parte de la URL del dispositivo. Por lo tanto, existe una API para cada dispositivo virtual que permite que el dispositivo actúe como agente de intermediación de sus propios recursos.
Registro de dispositivos
La figura 3 muestra un ordenador registrador 300 de acuerdo con una realización de la presente invención. El ordenador registrador 300 es una autoridad de control confiable. El ordenador registrador 300 puede estar situado en una única ubicación y puede comprender uno o más dispositivos o máquinas separados. Alternativamente, el ordenador registrador 300 puede estar distribuido en una pluralidad de ubicaciones.
El ordenador registrador 300 es responsable de la emisión de identificadores únicos globales que cubren todas las poblaciones de dispositivos virtuales. Es capaz de arbitrar las comunicaciones entre un dispositivo virtual 130 y un dispositivo virtual solicitante 140, facilitando de este modo la transferencia de datos entre el solicitante real 110 correspondiente y el dispositivo real o simulado 100.
El ordenador registrador 300 mantiene un directorio de control 306 que comprende datos sobre dispositivos virtuales en asociación con un identificador único global capaz de identificarlos de manera única dentro de todas las poblaciones de dispositivos virtuales. Los datos guardados en el directorio de control 306 para cada dispositivo virtual incluyen, por ejemplo: ID de la red del dispositivo (es decir, LUID), ID único global (GUID), ubicación del dispositivo físico, tipo de dispositivo, definiciones de sensores, definiciones de accionadores y definiciones de servicios. Estos datos se pueden presentar en forma de datos de RDF.
El ordenador registrador 300 mantiene, asimismo, un directorio de conexión 375 que comprende datos sobre cada conexión intermediada por el ordenador registrador 300. Los datos guardados en el directorio de conexión 375 para cada conexión negociada incluyen, por ejemplo, información que identifica el dispositivo virtual solicitante (por ejemplo, GUID), información que identifica el dispositivo virtual que proporciona la alimentación (por ejemplo, GUID), información que identifica la alimentación de datos (por ejemplo, alimentación de datos ID), y cualquier otra información adecuada.
Las figuras 4A y 4B ilustran una secuencia de registro del dispositivo. Un dispositivo real o simulado 100 se conecta y se comunica con el servidor 18 a través de la red de puente local para establecer su dispositivo virtual equivalente 130. Los dispositivos virtuales se pueden establecer mediante cualquier método adecuado, por ejemplo, enviando un paquete de identificación (por ejemplo, incluyendo información de identificación para el dispositivo real 100, tal como, por ejemplo, el ID de la red del dispositivo, localmente único, del dispositivo real (LUID)) a una dirección de registro conocida del servidor 18 en la red local y, a continuación, opcionalmente, respondiendo a una pregunta de seguridad del servidor 18 para probar sus credenciales. A continuación, la información de identificación para el dispositivo real 100 (por ejemplo, el LUID) se puede agregar a una base de datos en el servidor 18 del dispositivo virtual, estableciendo de este modo las API del dispositivo en el servidor del dispositivo virtual.
Se debe observar que el dispositivo virtual 130 en el servidor 18 del dispositivo virtual puede incluir metadatos relacionados con el dispositivo que va más allá de todo lo recibido del dispositivo real o simulado 100 cuando el dispositivo real o simulado 100 establece su dispositivo virtual 130 homólogo. Esto permite al dispositivo virtual enriquecerse sobre el dispositivo real o simulado homólogo. En particular, el dispositivo virtual puede saber más sobre el dispositivo real o simulado que el dispositivo real o simulado sobre sí mismo. En algunos casos, los metadatos almacenados por el dispositivo virtual pueden ser actualizados por otro dispositivo virtual. Por ejemplo, cuando el dispositivo real es un dispositivo pasivo, tal como un jersey, otro dispositivo virtual que actúa como un servidor de proximidad para una lavadora puede proporcionar información, tal como cuántas veces se ha lavado el jersey.
En una realización, la dirección de registro puede estar en un servidor diferente, por ejemplo, un servidor que contiene perfiles de dispositivos virtuales que se pueden buscar en base a un elemento de información en el mensaje de registro. El perfil del dispositivo virtual puede definir, por lo tanto, el dispositivo virtual 130 establecido en el servidor 18 del dispositivo virtual, que incluye, por ejemplo, aspectos de una o más de sus API. De esta manera, un dispositivo real o simulado activo o pasivo (incluidos los objetos inanimados) puede establecer dispositivos virtuales con datos útiles y/o funciones que van más allá de los datos o funciones del dispositivo real).
Estas comunicaciones en las redes de puente pueden estar utilizando cualquier protocolo adecuado, tal como, entre otros, UDP, TCP, MQTT o SMS. Cuando el dispositivo real es un dispositivo activo, el dispositivo virtual homólogo puede incluir una API capaz de recibir datos de accionamiento para provocar un cambio en el estado o en la configuración del dispositivo real. Por ejemplo, un dispositivo virtual puede comprender una API capaz de recibir datos de accionamiento para hacer que el código en el dispositivo real se actualice de acuerdo con las instrucciones de un operador remoto (que puede ser una máquina).
Para iniciar el proceso de registro, en la etapa 316, el dispositivo virtual llama a la API de registro 302 del ordenador registrador 300 y proporciona su URL de devolución de llamada, el ID de la red del dispositivo (es decir, el LUID) y sus metadatos 210, 220. Opcionalmente, el dispositivo virtual puede presentar ciertos datos de permisos al ordenador registrador 300. Estos datos de permisos definen, por ejemplo, los criterios de acceso (AC - Access Criteria, en inglés) que se registrarán en asociación con el registro del dispositivo relevante. Los criterios de acceso (AC) pueden definir, por ejemplo, quién puede acceder a los datos del dispositivo, en qué condiciones, si la alimentación de datos se puede publicar, en general, y en qué condiciones. Alternativamente, todos o algunos de los datos de criterios de acceso se pueden guardar en el dispositivo virtual.
En la etapa 318, el ordenador registrador 300 reconoce este evento de registro de nuevo en la API de registro 230 del dispositivo virtual 130. Opcionalmente, el identificador único global (GUID) es devuelto al dispositivo virtual. En ciertas realizaciones, el GUID se guarda de manera segura en el ordenador registrador 300.
De esta manera, un dispositivo real o simulado 100 es registrado por su dispositivo virtual 130 del servidor de proximidad mediante el ordenador registrador 300. Un dispositivo real puede ser un dispositivo de conectar y utilizar que, en la primera utilización, se conecta automáticamente al servidor 18 para establecer su dispositivo virtual y, opcionalmente, también a una URL preconfigurada del ordenador registrador a través de la red 350. Alternativamente, o, además, un programador que se ejecuta en el servidor 18 puede ser accionado de vez en cuando para ejecutar una actualización, para hacer que nuevos dispositivos virtuales 130 establecidos mediante la adición de dispositivos reales o simulados se presenten al ordenador registrador. El dispositivo virtual presentará los metadatos del dispositivo real o simulado, incluidos los datos de registro, al ordenador registrador 300. El dispositivo virtual normalmente será una instancia de muchas que se ejecutan en el servidor 18 del dispositivo virtual.
Por ejemplo, un sistema HVAC puede presentar: una identidad del edificio (posiblemente incluyendo un código postal); un identificador del fabricante que indica que se trata de un sistema de calefacción, ventilación y aire acondicionado; el hecho de que puede detectar la temperatura del agua caliente, controlar las operaciones de calefacción y el accionamiento de la ventilación; y también puede indicar formatos (por ejemplo, unidades) para datos detectados y datos de control.
Los datos de definición del servicio pueden incluir, por ejemplo, con qué frecuencia el dispositivo físico 100 informa (frecuencia), el volumen de datos, la disponibilidad de acuerdo con lo definido por los permisos, el período histórico (si corresponde) y la precisión de los datos sin procesar.
El ordenador registrador 300 recibe dentro de los identificadores y de la información contextual de los metadatos que ayuda con la autenticación del dispositivo y los datos de criterios de acceso relacionados con el dispositivo real o simulado y sus datos. Los protocolos de comunicaciones certificados también se pueden utilizar para mejorar aún más la seguridad.
Puesto que el ordenador registrador 300 conoce la definición de la alimentación de datos disponible desde el dispositivo virtual 130, y también sabe en qué condiciones la alimentación de datos para un dispositivo particular puede estar disponible para otros, puede publicar los atributos de la alimentación de datos del dispositivo virtual en un directorio de alimentación 370 para consumo por parte de solicitantes autorizados. Los solicitantes son autorizados o no por los dispositivos virtuales de acuerdo con los criterios de acceso establecidos en el dispositivo real correspondiente. Alternativamente, o, además, un administrador puede actualizar los criterios de acceso del dispositivo virtual, por ejemplo, en respuesta a un cambio de política o a un evento de pago. El directorio de alimentación 370 se puede buscar a través de una interfaz de búsqueda 390, tal como se describirá con más detalle a continuación.
Para que se establezca una conexión intermediada o negociada con un dispositivo virtual para que se pueda consumir su alimentación de datos, la entidad solicitante correspondiente debe registrarse en el ordenador registrador 300. Pueden existir varios tipos de entidades solicitantes, incluidos, por ejemplo, un usuario humano 7 capaz de utilizar una interfaz de usuario Ul (User Interface, en inglés) 9 o un solicitante de máquina 3 capaz de utilizar una interfaz de máquina (o API) 5 para generar un dispositivo virtual solicitante 140 en este ejemplo en un servidor 40. Cada dispositivo virtual solicitante 140 tiene un identificador único local (LUID).
Haciendo referencia a la figura 2B, el dispositivo virtual solicitante 140 es un dispositivo virtual que tiene tres API: una API de registro 362, para recibir datos de registro del ordenador registrador 300, una API de datos 364, para recibir alimentaciones de datos solicitadas de dispositivos virtuales y una API de negociación 366, para recibir datos de negociación del ordenador registrador cuando el dispositivo virtual solicitante 140 está solicitando una alimentación de datos o solicitando permiso para enviar una solicitud de accionamiento a un dispositivo virtual. Durante el registro, el dispositivo virtual solicitante solicita su identificador único local (LUID) a la API de registro del ordenador registrador 300. El ordenador registrador almacena el LUID recibido en asociación con un identificador único global (GUID). El ordenador registrador 300 también puede proporcionar el GUID a la API de registro del dispositivo virtual solicitante donde se almacena como parte de los metadatos de registro 210.
El ordenador registrador 300 registra la existencia del dispositivo virtual solicitante 140 y sus requisitos de la misma manera que registra las capacidades y criterios de acceso de un dispositivo virtual 130. De esta manera, los dispositivos virtuales solicitantes 140 pueden presentar solicitudes de comunicaciones bajo el control intermediado o negociado del ordenador registrador 300, y de acuerdo con los criterios de acceso del dispositivo virtual 130.
Se debe observar que los usuarios que son personas pueden incluir solicitantes remotos y/o un administrador de red. El sistema o sus usuarios también pueden utilizar un motor de sintetización 15 para sintetizar fuentes deseables a partir de fuentes disponibles en el directorio de fuentes 370.
Tal como se ha descrito anteriormente en el presente documento en relación con los dispositivos virtuales, en general, un dispositivo virtual solicitante se puede definir en términos de RDF o similares. De esta manera, una fuente solicitante accede a una alimentación de datos que se origina en un dispositivo físico 100 a través de una conexión 350 intermediada o negociada por el ordenador registrador 300. El motor de sintetización 15 puede ser utilizado para modificar las alimentaciones de datos y/o sintetizar nuevas alimentaciones de datos en base, por ejemplo, a una combinación de una o más alimentaciones de datos existentes y/o a operaciones en una o más alimentaciones de datos existentes.
Arbitraje de solicitudes del ordenador registrador
Solicitar una alimentación de datos
Si el usuario conoce un dispositivo fuente del que desea recibir datos y/o ha identificado una alimentación de datos en el directorio de alimentaciones de datos 370, puede solicitar la alimentación de datos de acuerdo con el siguiente proceso.
La función principal del ordenador registrador es arbitrar entre la fuente de una alimentación (el dispositivo virtual) y cualquier posible consumidor de la alimentación (los dispositivos solicitantes virtuales). Su objetivo es dar control a las entidades productoras en lugar de a los solicitantes, para evitar que los solicitantes inunden a los productores con solicitudes en un tipo de ataque de denegación de servicio. En esta realización, no hay comunicación directa del dispositivo virtual solicitante al dispositivo virtual. Hay comunicación directa, en el otro sentido, del dispositivo virtual de fuente al dispositivo virtual solicitante. En este ejemplo, el proceso hace que el solicitante abra una API de datos para que el dispositivo virtual de fuente llame con los datos solicitados.
Un proceso de comunicación a modo de ejemplo para solicitar una alimentación se explica haciendo referencia a las figuras 5A, 5B y 5C.
En la etapa 410, el dispositivo virtual solicitante 140 solicita autorización del ordenador registrador 300 para datos o una alimentación de datos, y pasa su URL de devolución de llamada para que llame el dispositivo virtual de fuente relevante. En esta realización, el solicitante proporciona una URL RESTful de devolución de llamada. Opcionalmente, el dispositivo virtual solicitante 140 también incluye información de autorización de algún tipo; en este ejemplo se incluyen tokens.
En la etapa 412, el ordenador registrador 300 verifica los permisos de acceso para el dispositivo virtual solicitante 140 con el dispositivo virtual 130 de fuente, y pasa la URL de devolución de llamada del dispositivo virtual solicitante 140 al dispositivo virtual 130 de fuente para que sepa dónde llamar.
El dispositivo virtual 130 de fuente puede procesar la solicitud (por ejemplo, enviar los datos de la solicitud al dispositivo virtual solicitante 140 utilizando la URL relevante) o agregar la alimentación de datos solicitada y la URL relevante a una programación de todas las devoluciones de llamada que necesita realizar. En algunos casos, el programador es almacenado por un expedidor 428 (véase la figura 5C) al que accede periódicamente el dispositivo virtual 130. En cualquier caso, el dispositivo virtual 130 de fuente devuelve un acuse de recibo 414 al ordenador registrador 300. El ordenador registrador 300 puede pasar el acuse de recibo 415 al dispositivo virtual solicitante 140.
En la etapa 416, el dispositivo virtual 130 de fuente llama a todas las devoluciones de llamada que ha registrado en su programación de devoluciones de llamada almacenadas en el expedidor 428. En este ejemplo, esto se consigue con POST HTTP. Por lo tanto, el dispositivo virtual de fuente envía los datos solicitados a todos los solicitantes autorizados que lo hayan solicitado cuando se produce el evento. Esto incluye, al menos, la etapa de la producción de carga útil de datos (y, opcionalmente también de los tokens de autenticación) desde el dispositivo virtual 130 de fuente a la URL de devolución de llamada proporcionada por el dispositivo virtual solicitante 140. Se debe observar, haciendo referencia a las figuras 5B y 5C, que es evidente que, tanto en el caso de las solicitudes como de las autorizaciones (y si existen acuses de recibo), la comunicación tiene lugar entre un dispositivo virtual y un ordenador registrador, únicamente; mientras que la provisión de la carga útil de datos desde el dispositivo virtual 130 de fuente tiene lugar directamente al dispositivo virtual solicitante 140. De manera más específica, la provisión de la carga útil de datos tiene lugar desde el dispositivo virtual de fuente a la API de datos 364 del solicitante virtual 140, en respuesta a la solicitud de devolución de llamada.
Tal como se ilustra en la etapa 418, puede haber una serie de sucesivos eventos de carga útil de datos en los que los datos se proporcionan desde el dispositivo virtual de fuente al solicitante virtual de acuerdo con las especificaciones del dispositivo.
En esta realización, el ordenador registrador informa al dispositivo virtual de fuente de los tokens antiguos / inválidos para que pueda dejar de llamar al dispositivo virtual solicitante para proporcionarle datos, tal como se indica en la etapa 422. La etapa 424 es un acuse de recibo del dispositivo virtual 130 de fuente de que ya no necesita devolver la llamada al dispositivo virtual solicitante 140 con datos.
Por lo tanto, el ordenador registrador 300 verifica la identidad y la autoridad del dispositivo virtual solicitante haciendo referencia a los datos de autenticación (ID locales y globales) y a los criterios de acceso (si están disponibles) asociados con el dispositivo fuente. El ordenador registrador también puede utilizar información contextual adicional para autenticar aún más la identidad del dispositivo virtual de fuente y los datos disponibles del mismo. En algunos casos, el ordenador registrador puede proporcionar la información contextual adicional a un tercero para autenticar la identidad del dispositivo virtual de fuente y/o los datos disponibles del mismo.
Configuración de parámetros y accionamiento de dispositivos remotos
Por ejemplo, la entidad solicitante puede buscar una alimentación de temperatura de agua caliente de un sistema HVAC en Waterloo Road, 31; y puede intentar apagar el calentador de inmersión en caso de que se exceda el umbral de temperatura. El accionamiento con una URL de una sola vez se explicará a continuación haciendo referencia a las figuras 6A, 6B y 6C. En particular, la figura 6A ilustra un proceso a modo de ejemplo para accionar un dispositivo remoto, la figura 6B es un esquema del proceso de negociación y la figura 6C es un esquema del accionamiento. Accionar un dispositivo significa hacer un cambio en la operación o configuración del dispositivo o actualizar / cambiar los datos almacenados por el dispositivo.
Este proceso cede deliberadamente el control a las entidades de fuente de la carga útil de datos para evitar que las entidades de fuente se inunden con solicitudes en un tipo de ataque de denegación de servicio. En esta realización, no hay comunicación directa desde el dispositivo virtual para ser accionado al dispositivo virtual solicitante que solicita el accionamiento. Hay comunicación directa, en el otro sentido, desde el dispositivo virtual solicitante al dispositivo virtual que se va a accionar. En este ejemplo, el dispositivo virtual que se va a accionar abre una API de accionamiento para que el solicitante llame con los datos.
Un proceso de comunicación a modo de ejemplo para accionar un dispositivo virtual se explica haciendo referencia a la figura 6A.
En la etapa 510, el dispositivo virtual solicitante 140 solicita autorización del ordenador registrador 300 para suministrar al dispositivo virtual objetivo 130 datos de accionamiento, por ejemplo, una carga útil en forma de uno o más parámetros configurables o una o más condiciones de accionamiento, o una combinación de lo anterior. El dispositivo virtual solicitante puede solicitar autorización al ordenador registrador 300 enviando una solicitud de accionamiento al ordenador registrador 300. La solicitud de accionamiento puede incluir información que especifica el dispositivo virtual al que se aplica la solicitud y los datos de accionamiento (por ejemplo, uno o más parámetros configurables o una o más condiciones de accionamiento) que identifican una o más acciones a realizar por el dispositivo virtual.
En la etapa 512, el ordenador registrador 300 verifica la autorización para las acciones solicitadas con el dispositivo virtual 130 capaz de ser accionado y le dice al dispositivo virtual que espere el accionamiento.
En la etapa 514, el dispositivo virtual 130 a accionar reconoce la solicitud y proporciona su URL de devolución de llamada al ordenador registrador 300. Esta realización utiliza una URL de una sola vez (ofuscada), opcionalmente junto con información de autenticación, todo lo cual es transmitido por el ordenador registrador 300 al solicitante virtual 140 en la etapa 516.
El dispositivo virtual solicitante 140 puede procesar la URL de devolución de llamada (por ejemplo, utiliza la URL de devolución de llamada para proporcionar los parámetros configurables y/o las condiciones de accionamiento al dispositivo virtual 130 de destino) o registrar la URL de devolución de llamada en una programación de todas las devoluciones de llamada que necesita para actuar. Por ejemplo, las URL de devolución de llamada y los datos de accionamiento asociados (por ejemplo, parámetros configurables y/o condiciones de accionamiento) pueden almacenarse en un expedidor 520 al que puede acceder el dispositivo virtual solicitante 140.
El solicitante virtual llama a las devoluciones de llamada registradas en su programa de devoluciones de llamada (por ejemplo, las devoluciones de llamada almacenadas en el expedidor 520). En este ejemplo, esto se consigue a través de POST HTTP de los parámetros configurables y/o condiciones de accionamiento a las URL de devolución de llamada, tal como se muestra en la etapa 518. El dispositivo virtual solicitante 140 puede proporcionar, opcionalmente, más tokens de autorización o de seguridad exigidos por el dispositivo virtual 130 de destino.
Se debe observar, haciendo referencia a las figuras 6B y 6C, que es evidente que, tanto en el caso de las solicitudes de accionamiento como de las autorizaciones (y si hay acuses de recibo), la comunicación tiene lugar entre un dispositivo virtual 130 o un dispositivo virtual solicitante 140 y el ordenador registrador 300, únicamente; mientras que la provisión de datos de accionamiento (por ejemplo, parámetros configurables y/o condiciones de accionamiento) desde el dispositivo virtual solicitante 140 tiene lugar directamente al dispositivo virtual 130 de destino. De manera más específica, la provisión de datos de accionamiento (por ejemplo, parámetros configurables y/o condiciones de accionamiento) tiene lugar desde el dispositivo virtual solicitante 140 (a través de su expedidor 520, donde se utiliza un expedidor) hasta la API de accionamiento 240 del dispositivo virtual 130 de destino.
Después de la negociación inicial, el ordenador registrador 300 puede informar al dispositivo virtual de tokens antiguos / inválidos para que pueda dejar de emitir la URL de una sola vez o llamar a los dispositivos virtuales con datos. Un dispositivo virtual que tenga la capacidad de ser un accionador (es decir, realizar acciones) se deberá asegurar de que solo los solicitantes autenticados y autorizados puedan llamar a la URL de devolución de llamada para realizar la acción. Para este fin, los dispositivos virtuales que pueden ser accionados pueden presentar una URL de una sola vez para que un solicitante llame. Este enfoque evita ataques de repetición de solicitantes no autorizados y/o no autenticados. De nuevo, el ordenador registrador 300 será el árbitro, con el objetivo de poner el dispositivo virtual 130 en control sobre qué dispositivo virtual solicitante 140 puede llamarlo y qué protocolos de seguridad deben cumplir para hacerlo.
En el caso simple, "El conocimiento es autoridad", pero también se podrían exigir otros mecanismos de seguridad tales como OAuth, lista blanca, SSL, contraseña, token, etc. en el control del dispositivo virtual capaz de ser accionado. El dispositivo virtual exige la seguridad y puede rechazar a los solicitantes si no se cumplen los criterios de seguridad. Dado que todos los dispositivos virtuales están registrados con el registrador, cada uno se puede considerar como una entidad conocida. Los dispositivos virtuales no necesariamente necesitan saber que los solicitantes virtuales han sido autorizados de cualquier otra manera que no es presentar los tokens de autenticación correctos en el flujo del proceso.
En una realización adaptada para aplicaciones de alta seguridad, el dispositivo virtual podría ordenar una solicitud de preámbulo de una clave de pegunta de seguridad (implementada de la misma manera que la solicitud de datos) y el dispositivo virtual solicitante debe presentar la respuesta correcta a la pregunta de seguridad, así como la solicitud de accionamientos. La respuesta correcta a la pregunta de seguridad puede ser requerida dentro de un límite de tiempo.
En algunos casos, un accionamiento puede provocar una actualización de los metadatos del dispositivo virtual. Por ejemplo, si el accionamiento provoca un nuevo software o firmware en el dispositivo real correspondiente, entonces el dispositivo virtual puede actualizar automáticamente los metadatos para reflejar el nuevo software o firmware. De esta manera, un dispositivo virtual (por ejemplo, un dispositivo virtual solicitante) se puede utilizar para actualizar los metadatos de otro dispositivo virtual. Los metadatos de un dispositivo virtual se pueden actualizar también, o de manera alternativa después de que se realiza un cambio externo (un cambio que no se activa a través de un accionamiento) en el dispositivo real o simulado. Por ejemplo, si un técnico actualiza manualmente el firmware o el software de un dispositivo real, el dispositivo real puede ser configurado para notificar el cambio al dispositivo virtual. En algunos casos, después de actualizar los metadatos de un dispositivo virtual (por ejemplo, como resultado del accionamiento o de cambios externos al dispositivo real o simulado), puede proporcionar una actualización al ordenador registrador 300. En algunos ejemplos, el dispositivo virtual puede proporcionar todos los metadatos al ordenador registrador 300. En otro ejemplo, el dispositivo virtual puede proporcionar solo los cambios en los metadatos al ordenador registrador. A continuación, el ordenador registrador almacena los metadatos actualizados en asociación con el LUID y el GUID.
Entidad de sintetización
Considere una situación en la que un nodo de temperatura publica la temperatura cada 10 minutos. Un usuario descubre esta alimentación de datos y desea agregar información histórica de la alimentación. Suponiendo que un intervalo de 10 minutos es aceptable en adelante, existe un problema en cómo obtener datos históricos del sistema, ya que las solicitudes de datos hacen que el solicitante sea llamado de nuevo de acuerdo con la programación de devolución de llamadas de los dispositivos virtuales y, por lo tanto, solo cuando los dispositivos virtuales lo permiten. Una solución para esto es tener una entidad de sintetización 365 que solicite una o más alimentaciones de datos, sintetice las alimentaciones de datos y, a continuación, comunique o publique la alimentación de datos sintetizada con el ordenador registrador 300 para que otros dispositivos de solicitante virtual se suscriban. De esta manera, la entidad de sintetización 365 actúa como un dispositivo virtual solicitante (solicitando y obteniendo una alimentación de datos de un dispositivo virtual) y un dispositivo virtual (proporcionando una alimentación de datos a un dispositivo virtual solicitante). Por consiguiente, la entidad de sintetización puede tener tres API: una API de registro, una API de negociación y una API de datos, tal como se ha descrito anteriormente, para que pueda recibir y transmitir datos o alimentaciones de datos.
Haciendo referencia a la figura 3, la entidad de sintetización 365 registra información de alimentación 367 para cada alimentación de datos recibida de otro dispositivo virtual. La información de alimentación 367 puede comprender, tal como se muestra en la figura 3, el identificador único global, GUID, para el dispositivo virtual que generó la alimentación y la información que identifica la alimentación de datos (por ejemplo, el ID de la alimentación de datos). La entidad de sintetización 365 utiliza un motor de sintetización 15 para generar una alimentación sintetizada a partir de una o más alimentaciones de datos recibidas. Por ejemplo, el motor de sintetización puede ser configurado para generar una alimentación sintetizada, combinando una o más alimentaciones de datos; combinando datos de una sola alimentación (por ejemplo, datos recibidos de una sola alimentación de datos durante un período de tiempo); y/o combinando una alimentación de datos y datos externos. Detalles de los ejemplos de alimentaciones sintetizadas se describirán haciendo referencia a la figura 7.
En algunos casos, la información de alimentación 367 también puede comprender los datos recibidos a través de la alimentación de datos. En otros casos, los datos pueden ser descartados una vez que han sido utilizados para generar una alimentación sintetizada.
Una vez que se ha generado una alimentación sintetizada, la entidad de sintetización 365 lo notifica al ordenador registrador 300 de la alimentación sintetizada, y el ordenador registrador 300 agrega, a continuación, la alimentación sintetizada al directorio de alimentación de datos 370 para que otros dispositivos solicitantes virtuales puedan acceder a ella. En particular, permite que el ordenador registrador 300 arbitre una solicitud adecuada que utiliza una URL de una sola vez del solicitante para la alimentación de datos sintetizada.
Este proceso se describirá, a continuación, haciendo referencia a la figura 7.
En la etapa 587, el dispositivo virtual solicitante 140 se registra para un POST de una sola vez de datos históricos con el ordenador registrador 300. Esto implica que el dispositivo virtual solicitante 140 envía la URL de devolución de llamada de los solicitantes, el período de tiempo de interés y, opcionalmente, información de autenticación al ordenador registrador 300.
En la etapa 591, el ordenador registrador 300 llama a la entidad de sintetización 365 para establecer si la solicitud está autorizada pasando la URL de devolución de llamada, el período de tiempo especificado y cualquier información de autenticación (si la hay).
Si la entidad de sintetización 365 autoriza la solicitud, registra la solicitud de devolución de llamada en su cronograma de devoluciones de llamada (por ejemplo, a través de un expedidor) y devuelve un acuse de recibo al ordenador registrador 300 en la etapa 593.
En la etapa 595, la entidad de sintetización 365 POST HTTP envía los datos históricos especificados a la URL de devolución de llamada del dispositivo virtual solicitante 140. Este POST también incluye, opcionalmente, cualquier información de autenticación que pueda ser requerida por un protocolo de seguridad. Si se desean datos actuales de manera continua, se puede realizar una solicitud por separado para una alimentación de datos actual, de manera simultánea. Esto podría ser realizado de manera automática por el ordenador registrador 300, cuando se utiliza una aplicación para generar una nueva solicitud que incluye rangos de fechas actuales e históricas.
En cualquier proceso anterior implementado que utiliza REST, la API consta de varias URL, es decir, GET HTTP o POST HTTP de una URL, y el servidor obtiene o realiza alguna acción que depende de la URL. En tales casos, es posible considerar que la URL es como una "función" en una API tradicional y que los parámetros HTTP son los argumentos de la función. Una URL de devolución de llamada (o función) es, por lo tanto, la que proporciona la persona que llama a la función llamada con el fin de recibir respuestas / acuses de recibo en el futuro. De esta forma, se puede implementar un tipo de red API asíncrona segura.
Red local
En la descripción anterior, cualquier alimentación de datos desde el dispositivo virtual o el accionamiento del mismo se puede pasar al solicitante real a través de un protocolo propietario, a través de un protocolo estándar, tal como el TCP o el UDP, o un protocolo de máquina a máquina, tal como el MQTT, o incluso el SMS.
Tipos de alimentación de datos
La figura 8 ilustra varios tipos de alimentación de datos disponibles, a modo de ejemplo, de acuerdo con una realización de la presente invención. Tal como se ha descrito anteriormente en el presente documento, los usuarios, personas o máquinas, pueden utilizar una interfaz de búsqueda 390 para buscar en el directorio de fuentes 370 alimentaciones de datos publicadas disponibles desde dispositivos virtuales registrados existentes (incluidas las entidades de sintetización). Cuando la solicitud no puede ser atendida desde el directorio de alimentación de datos existente, los usuarios pueden utilizar aplicaciones para sintetizar datos nuevos en base al procesamiento de una o más alimentaciones existentes, la combinación de dos o más alimentaciones existentes, o una combinación de las mencionadas anteriormente.
Un primer tipo de alimentación de datos es la alimentación de datos autenticada "FD1" del dispositivo virtual VD1. Esta alimentación de datos única comprende solo los datos del dispositivo real o simulado D1. La identidad de este dispositivo es conocida por el ordenador registrador 300 y, preferiblemente, algunos o todos sus atributos también son conocidos por el servidor del dispositivo virtual o el ordenador registrador 300. Por lo tanto, FD1 es una alimentación de datos autenticada.
Un segundo tipo de alimentación de datos es la alimentación de datos externa FExt1, generada desde el dispositivo externo DExt1 situado de manera externa a la red supervisada por el ordenador registrador 300. En este contexto, "externo" significa que el ordenador registrador no contiene información adecuada para la autenticación del dispositivo externo. Esta alimentación de datos única comprende solo datos del dispositivo externo Ext1, pero, puesto que el dispositivo externo Ext1 no es conocido por el ordenador registrador 300, esta alimentación de datos no está autenticada. La integridad de las fuentes externas se puede evaluar de manera significativa mediante, por ejemplo, la firma del usuario, las calificaciones, la popularidad, las suscripciones repetidas o mecanismos similares. Un tercer tipo de alimentación de datos es la alimentación de datos "FD1 FD2". Esta alimentación de datos ha sido sintetizada (por ejemplo, por una entidad de sintetización 365) combinando los alimentadores de datos del dispositivo virtual VD1 y el dispositivo virtual VD2 de acuerdo con alguna operación predeterminada. Las identidades de los dispositivos físicos correspondientes a cada uno de los dispositivos virtuales VD1 y VD2 son conocidas y verificables y, preferiblemente, algunos de sus atributos de dispositivo también son conocidos por el ordenador registrador 300. El ordenador registrador 300 también conoce y registra la naturaleza de la operación que vincula las alimentaciones de datos para realizar un seguimiento de la integridad y de la ascendencia. Como resultado, esta alimentación de datos sintetizada es una alimentación de datos autenticada.
Un cuarto tipo de alimentación de datos es la alimentación de datos "FD2 FExt1". Esta alimentación de datos ha sido sintetizada (por ejemplo, por una entidad de sintetización 365) combinando las alimentaciones de datos del dispositivo virtual VD2 y el dispositivo externo DExt1. Aunque la identidad del dispositivo real o simulado D2 correspondiente al dispositivo virtual VD2 es conocida por el ordenador registrador 300, la identidad del dispositivo externo DExt1 no se conoce con confianza y, por lo tanto, la alimentación sintetizada de datos FD2 FExt1 no está autenticada. El ordenador registrador lo sabe, porque registra la ascendencia de los datos sintetizados en la tabla de datos de autenticación. Dado que esta alimentación comprende tanto alimentaciones autenticadas como no autenticadas, se conoce como alimentación híbrida; y la propia alimentación híbrida no está autenticada.
Tal como se ilustra en la quinta alimentación de datos "(FD1 FD2 FExt1) / 4", se puede combinar cualquier cantidad de alimentaciones disponibles, y se pueden combinar utilizando una o más funciones matemáticas para conseguir una fuente de resultados deseada. En tales casos, el ordenador registrador registra la ascendencia por medio de enlaces a alimentaciones contributivas y también datos sobre cada operación realizada para combinar las alimentaciones. Como regla general, cualquier fuente de alimentación que comprenda, al menos, una fuente de contribución no autenticada o, al menos, una operación no autenticada es una fuente de información no autenticada. También es posible tener una alimentación múltiple que comprenda una pluralidad de alimentaciones autenticadas no modificadas suministradas juntas. En tales casos, la alimentación múltiple es auténtica en base, simplemente, a la identidad de las alimentaciones constituyentes, y sin la necesidad de que el ordenador registrador registre ninguna información sobre la operación (porque no se ha aplicado ninguna operación para generar la alimentación múltiple). Cualquier dispositivo virtual o aplicación que cause la existencia de una alimentación de datos (por ejemplo, una entidad de sintetización 365) puede determinar si debe ser publicada o no en el directorio, y cualquier condición de acceso que se pueda aplicar cuando terceros deseen acceder a la alimentación.
En esta realización, el ordenador registrador 300 mantiene un registro de la procedencia de cada alimentación de dispositivo y también de cada alimentación sintetizada. Los metadatos RDF de la API de registro del dispositivo consiguen esto para un dispositivo virtual 130, 140. Para las fuentes sintetizadas, se proporciona un enlace al RDF principal y, opcionalmente, también un registro de cualquier operación aplicada más allá de la mera agregación de las alimentaciones de datos constituyentes.
En esta realización, el directorio de alimentación de datos 370 se puede buscar de manera semántica. Las herramientas de búsqueda pueden tener en cuenta la autenticación de alimentaciones de datos (opcionalmente, incluyendo la procedencia de las alimentaciones constituyentes cuando sea relevante) y/o las puntuaciones de integridad de las alimentaciones de datos que se aplican a alimentaciones externas. Cuando se proporcionan alimentaciones de datos particulares de fuentes externas que no pueden ser autenticadas por el ordenador registrador, los indicadores de integridad para estas alimentaciones de datos pueden ser estimadas aproximadamente en función de las indicaciones de confiabilidad externas al dominio del ordenador registrador. Por ejemplo, las alimentaciones suministradas por fuentes externas pueden estar acompañadas por una o más calificaciones de la popularidad, la confianza percibida por el usuario o los niveles de precisión y/o avales. Se pueden utilizar certificados u otros métodos de autenticación remota conocidos para autenticar fuentes remotas en la medida de lo posible.
La búsqueda y/o los resultados de la búsqueda pueden tener en cuenta las definiciones de servicio tal como se han definido anteriormente en el presente documento. Además, o como alternativa, la búsqueda y/o los resultados de la búsqueda pueden tener en cuenta el precio de la alimentación de datos, que, a su vez, puede ser un factor de integridad, urgencia y/o volumen de los datos solicitados. Se debe observar que el ordenador registrador sabe qué dispositivos físicos y alimentaciones de dispositivos virtuales tienen una alta integridad en base a la cantidad y calidad de la información de autenticación en la entrada de la tabla de autenticación.
Es posible configurar redes de alta integridad entre dispositivos autenticados y/o dispositivos autenticados y solicitantes para crear marcos de comunicación confiables. Un marco de este tipo está definido por dispositivos físicos altamente autenticados y solicitantes reales, y también pueden ser canales de comunicación VPN a lo largo de las vías de comunicación. Del mismo modo, es posible crear marcos de comunicación que pueden incluir dispositivos que no están autenticados o rutas de red que son menos seguras. Este último puede ser perfectamente adecuado y más rentable en algunos escenarios de utilización.
En realizaciones preferidas del directorio de alimentaciones de datos 370, el ordenador registrador 300 proporciona indicadores de integridad en asociación con las alimentaciones de datos disponibles en el directorio de alimentaciones de datos, de tal manera que se indica que las alimentaciones autenticadas tienen una alta integridad, y se indica que las alimentaciones no autenticadas tienen una integridad relativamente más baja. Es posible que las alimentaciones híbridas y las alimentaciones no autenticadas tengan indicadores de integridad significativos en base, por ejemplo, a indicaciones de la popularidad, la confianza percibida por el usuario o niveles de precisión y/o firmas del usuario.
Ejemplos de casos de utilización de sensores (figura 9)
Un ejemplo de casos de utilización de sensores con relativamente pocos dispositivos y relativamente pocos solicitantes es una alarma de seguridad para el hogar. Se debe observar que solo el dueño de la propiedad y los cuerpos de seguridad (fuerza policial) que controlan la alarma sabrían que ha sido accionada.
Un ejemplo de un caso de utilización de sensores con muchos solicitantes y relativamente pocos dispositivos incluiría sensores de un solo valor, tales como cámaras web.
Un ejemplo de un caso de utilización de sensores con muchos dispositivos, pero relativamente pocos solicitantes, incluirían una nota de agregador para dar servicio a un técnico.
Un ejemplo de un caso de utilización de sensores con muchos dispositivos y muchos solicitantes es una red de estaciones meteorológicas de oficina, Met, con acceso público.
Casos de utilización de accionadores a modo de ejemplo (figura 10)
Un ejemplo de un caso de utilización del accionador con relativamente pocos dispositivos y relativamente pocos solicitantes es un sistema de iluminación del hogar o un sistema de seguridad del hogar.
Un ejemplo de un caso de utilización del accionador con una gran cantidad de dispositivos, pero relativamente pocos solicitantes, es un sistema de votación electrónica.
Un ejemplo de un caso de utilización de accionador con algunos dispositivos, pero un gran número de solicitantes, es un sistema de semáforos o, por ejemplo, un sistema de distribución de energía de servicios públicos.
Un ejemplo de un caso de utilización del accionador con un número relativamente alto de dispositivos y solicitantes es una red de alumbrado público públicamente conmutable.
Estos ejemplos no pretenden ser limitativos.
En la práctica, será evidente a la vista de la descripción en el presente documento que muchos de estos casos de utilización pueden estar soportados simultáneamente por realizaciones de la presente invención.
Implementación alternativa de dispositivo virtual
La figura 11 ilustra una implementación alternativa de un dispositivo virtual 1102 configurado para recibir datos de un dispositivo real o simulado y proporcionar parámetros de configuración. Al igual que con el dispositivo virtual 130 de la figura 2A, el dispositivo virtual 1102 de la figura 11 incluye metadatos 1104 y datos de máquina 1106, tal como se describió anteriormente. Sin embargo, en lugar de que el dispositivo virtual 1102 comprenda una o más API para comunicarse con el ordenador registrador 300 y/o uno o más solicitantes virtuales 140, el dispositivo virtual 1102 se comunica con un recipiente 1108 que comprende las API que permiten al dispositivo virtual 1102 comunicarse con los otros dispositivos. De esta manera, el recipiente 1108 actúa como una interfaz o intermediario entre el dispositivo virtual 1102 y otros dispositivos.
En el ejemplo mostrado en la figura 11, el recipiente 1108 comprende tres API para el dispositivo virtual 1102: una API de registro 230, una API de accionamiento 1112 y una API de negociación 114. Tal como se describió anteriormente haciendo referencia a la figura 2A, cada API está configurada para recibir un tipo particular de datos. Específicamente, la API de registro 1110 se utiliza en el proceso de registro con el ordenador registrador para recibir datos de registro, la API de accionamiento 1112 se utiliza para recibir la solicitud para accionar el dispositivo virtual 1102, y la API de negociación 1114 se utiliza para recibir la solicitud de datos y solicitudes de permiso para enviar una solicitud de accionamiento.
En el ejemplo que se muestra en la figura 11, el recipiente 1108 está asociado con un único dispositivo virtual 1102; sin embargo, en otros casos, el recipiente 1108 puede estar asociado con más de un dispositivo virtual y/o uno o más dispositivos solicitantes virtuales. En estos ejemplos, el recipiente 1108 comprende un conjunto de API (por ejemplo, API 1110, 1112 y 1114) para cada dispositivo virtual o cada dispositivo virtual solicitante asociado con el recipiente 1108. En estos ejemplos, el recipiente 1108 también puede comprender un registro de entidad 1116 y un registro de conexión 1118. El registro de entidad 1116 se utiliza para mantener un registro de cada dispositivo virtual o dispositivo virtual solicitante asociado con el recipiente 1108. Por ejemplo, el registro de entidad 1116 puede almacenar, para cada dispositivo virtual o dispositivo virtual solicitante, el LUID, GUID, fabricante y/o cualquier otro dato adecuado que identifique y/o caracterice el dispositivo virtual o dispositivo virtual solicitante. El registro de conexión 1118 se utiliza para mantener un registro de las conexiones realizadas entre un dispositivo virtual o un dispositivo virtual solicitante conectado al mismo y un dispositivo externo. El registro de conexión 1118 puede comprender, para cada conexión, información que identifica al solicitante, al dispositivo virtual y a la alimentación de datos (si es apropiado).
Cada uno de los dispositivos virtuales 1102 y el recipiente 1108 se ejecutan en un servidor web (o conjunto de servidores web) o en otro ordenador (o conjunto de ordenadores). Cuando el dispositivo virtual 1102 y/o el recipiente 108 se ejecutan en un conjunto de ordenadores / servidores, los ordenadores / servidores no necesitan estar situados en el mismo lugar. En particular, en algunos casos, el dispositivo virtual 1102 y el recipiente 1108 se ejecutan en el mismo ordenador o conjunto de ordenadores. En otros casos, el dispositivo virtual 1102 y el recipiente 1108 pueden ser ejecutados en diferentes ordenadores o en diferentes conjuntos de ordenadores.
Los servidores registradores y dispositivos virtuales de la presente invención son dispositivos informáticos a modo de ejemplo que pueden ser implementados como cualquier forma de dispositivo informático y/o electrónico, y en el que se pueden implementar las realizaciones de la presente invención.
El ordenador registrador y los servidores del dispositivo virtual comprenden uno o más procesadores que pueden ser microprocesadores, controladores o cualquier otro tipo de procesadores adecuados para procesar instrucciones ejecutables del ordenador para controlar el funcionamiento de los servidores del registrador y del dispositivo virtual para funcionar de acuerdo con cualquiera de las realizaciones descritas anteriormente. En algunos casos, por ejemplo, cuando se utiliza un sistema en una arquitectura de chip, los procesadores pueden incluir uno o más bloques de función fijos (también denominados aceleradores) que implementan una parte del método de cualquiera de las realizaciones anteriores, en hardware (en lugar de software o firmware). El software de plataforma, que comprende un sistema operativo o cualquier otro software de plataforma adecuado, se puede proporcionar en el dispositivo informático para permitir que el software de aplicación se ejecute en el dispositivo.
Las instrucciones ejecutables del ordenador se pueden proporcionar utilizando cualquier medio legible por ordenador al que pueda acceder un dispositivo informático. Los medios legibles por ordenador pueden incluir, por ejemplo, medios de almacenamiento del ordenador, tales como una memoria y medios de comunicación. Dichos medios incluyen medios volátiles y no volátiles, extraíbles y no extraíbles implementados en cualquier método o tecnología para el almacenamiento de información, como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos. El medio de almacenamiento del ordenador incluye, pero sin estar limitado a los mismos, RAM, ROM, EPROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio sin transmisión que se pueda utilizar para almacenar información para el acceso de un dispositivo informático. Por el contrario, los medios de comunicación pueden incorporar instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte. Tal como se define en el presente documento, el medio de almacenamiento del ordenador no incluye medios de comunicación. Aunque el medio de almacenamiento del ordenador (es decir, la memoria) se describen dentro del dispositivo informático, se apreciará que el almacenamiento se puede distribuir o ubicar de manera remota, y se puede acceder al mismo a través de una red o de otro enlace de comunicación (por ejemplo, utilizando una interfaz de comunicación).
El dispositivo informático también comprende un controlador de entrada / salida dispuesto para enviar información de visualización a un dispositivo de visualización que puede estar separado o ser parte integral del dispositivo informático. La información de visualización puede proporcionar una interfaz gráfica de usuario. El controlador de entrada / salida también está dispuesto para recibir y procesar la entrada de uno o más dispositivos, como un dispositivo de entrada de usuario (por ejemplo, un ratón o un teclado). En una realización, el dispositivo de visualización también puede actuar como dispositivo de entrada de usuario si es un dispositivo de visualización sensible al tacto. El controlador de entrada / salida también puede enviar datos a dispositivos que no sean el dispositivo de visualización, por ejemplo, un dispositivo de impresión conectado de manera local.
El término 'ordenador' se utiliza en el presente documento para hacer referencia a cualquier dispositivo con capacidad de procesamiento de tal manera que pueda ejecutar instrucciones. Los expertos en la materia se darán cuenta de que tales capacidades de procesamiento están incorporadas en muchos dispositivos diferentes y, por lo tanto, el término 'ordenador' incluye PC, servidores, teléfonos móviles, asistentes digitales personales y muchos otros dispositivos.
Los expertos en la materia se darán cuenta de que los dispositivos de almacenamiento utilizados para almacenar las instrucciones del programa pueden estar distribuidos en una red. Por ejemplo, un ordenador remoto puede almacenar un ejemplo del proceso descrito como software. Un ordenador local o terminal puede acceder al ordenador remoto y descargar una parte o la totalidad del software para ejecutar el programa. Alternativamente, el ordenador local puede descargar partes del software según sea necesario, o ejecutar algunas instrucciones de software en el terminal local y algunas en el ordenador remoto (o red de ordenadores). Los expertos en la materia también se darán cuenta de que, utilizando técnicas convencionales conocidas por los expertos en la materia, todas o una parte de las instrucciones del software pueden ser llevadas a cabo por un circuito dedicado, tal como un DSP, una matriz lógica programable o similares.
Cualquier rango o valor de dispositivo indicado en el presente documento puede ser ampliado o alterado sin perder el efecto buscado, tal como será evidente para la persona experta.
Se debe comprender que los beneficios y ventajas descritos anteriormente pueden estar relacionados con una realización, o pueden estar relacionados con varias realizaciones. Las realizaciones no están limitadas a las que resuelven alguno o todos los problemas establecidos o a las que tienen alguno o todos los beneficios y ventajas indicados.
Cualquier referencia a 'un' elemento se refiere a uno o más de esos elementos. El término 'que comprende' se utiliza en el presente documento con el significado de que incluye los bloques o elementos del método identificados, pero que dichos bloques o elementos no comprenden una lista exclusiva y que un método o aparato puede contener bloques o elementos adicionales.
Las etapas de los métodos descritos en el presente documento se pueden llevar a cabo en cualquier orden adecuado, o de manera simultánea cuando sea apropiado. Además, se pueden eliminar bloques individuales de cualquiera de los métodos sin apartarse del espíritu y el alcance del asunto descrito en el presente documento. Aspectos de cualquiera de los ejemplos descritos anteriormente pueden ser combinados con aspectos de cualquiera de los otros ejemplos descritos para formar ejemplos adicionales sin perder el efecto buscado.
Se debe comprender que la descripción anterior de una realización preferida se proporciona solo a modo de ejemplo y que los expertos en la técnica pueden realizar diversas modificaciones. Aunque anteriormente se han descrito diversas realizaciones con un cierto grado de particularidad, o haciendo referencia a una o más realizaciones individuales, los expertos en la materia podrían hacer numerosas modificaciones a las realizaciones dadas a conocer sin apartarse del alcance de esta invención.

Claims (4)

REIVINDICACIONES
1. Un ordenador registrador (300), para proporcionar una alimentación de datos a un dispositivo solicitante virtual (140), para autenticar dispositivos y datos y para su utilización con la Internet de las cosas, estando configurado el ordenador registrador (300) para negociar las comunicaciones entre al menos un dispositivo virtual (130), configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y al menos un dispositivo virtual solicitante (140), configurado para actuar como un servidor de proximidad para un solicitante real, comprendiendo el ordenador registrador (300):
una primera interfaz de aplicación, configurada para comunicarse con el al menos un dispositivo virtual solicitante (140) y el al menos un dispositivo virtual solicitante (140) para mantener un directorio de control de dispositivos virtuales (130) y dispositivos virtuales solicitantes (140) registrados mediante el ordenador registrador (300) y para mantener un directorio de alimentaciones de datos (370) que comprende entradas que indican las alimentaciones de datos disponibles para al menos un dispositivo virtual solicitante, comprendiendo las alimentaciones de datos una o más alimentaciones de datos generadas por al menos un dispositivo virtual (130), configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y una o más alimentaciones de datos generadas por el ordenador registrador (300);
una segunda interfaz de aplicación, configurada para recibir una solicitud para una alimentación de datos generada por el ordenador registrador (300) desde un dispositivo virtual solicitante (140); y
un módulo lógico, en comunicación con la segunda interfaz de aplicación y el directorio de alimentaciones de datos (370), estando configurado el módulo lógico para, en respuesta a la recepción de la solicitud de alimentación de datos, proporcionar la alimentación de datos generada por el ordenador registrador (300) al dispositivo virtual solicitante (140).
2. El ordenador registrador (300) de la reivindicación 1, que comprende, además, un motor de búsqueda, configurado para recibir solicitudes de búsqueda desde el al menos un dispositivo virtual solicitante (140) para alimentaciones de datos específicas en el directorio de alimentaciones de datos (370), y registrar las solicitudes de búsqueda recibidas en un directorio de búsquedas; y, al menos una de las alimentaciones de datos generadas por el ordenador registrador (300) comprende datos relacionados con los datos de la solicitud de búsqueda en el directorio de búsquedas.
3. Un método para proporcionar una alimentación de datos a un dispositivo virtual solicitante (140), estando previsto el método para autenticar dispositivos y datos para su utilización con la Internet de las cosas, comprendiendo el método:
mantener, mediante un ordenador registrador, un directorio de control de dispositivos virtuales (130) y dispositivos virtuales solicitantes (140) registrados mediante el ordenador registrador (300); mantener, mediante el ordenador registrador, un directorio de alimentaciones de datos (370) que comprende entradas que indican las alimentaciones de datos disponibles para al menos un dispositivo virtual solicitante (140), configurado para actuar como un servidor de proximidad para un solicitante real, comprendiendo las alimentaciones de datos una o más alimentaciones de datos generadas por el al menos un dispositivo virtual (130) registrado, configurado para actuar como un servidor de proximidad para un dispositivo real o simulado, y una o más alimentaciones de datos generadas por el ordenador registrador (300);
recibir una solicitud de alimentación de datos desde un dispositivo virtual solicitante (140) registrado para una alimentación de datos generada por el ordenador registrador (300);
en respuesta a la recepción de la solicitud de alimentación de datos, proporcionar la alimentación de datos generada por el ordenador registrador (300) al dispositivo virtual solicitante (140).
4. El método de la reivindicación 3, que comprende, además:
recibir solicitudes de búsqueda desde el al menos un dispositivo virtual solicitante (140) para alimentaciones de datos específicas en el directorio de alimentaciones de datos (370); y
registrar las solicitudes de búsqueda recibidas en un directorio de búsquedas;
en el que al menos una de las alimentaciones de datos generadas por el ordenador registrador (300) comprende datos relacionados con los datos de la solicitud de búsqueda en el directorio de búsquedas.
ES14757961T 2013-10-08 2014-08-13 Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas Active ES2747819T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361888472P 2013-10-08 2013-10-08
PCT/GB2014/052492 WO2015052483A1 (en) 2013-10-08 2014-08-13 Internet of things

Publications (1)

Publication Number Publication Date
ES2747819T3 true ES2747819T3 (es) 2020-03-11

Family

ID=51429316

Family Applications (6)

Application Number Title Priority Date Filing Date
ES14757958T Active ES2746984T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar datos de la Internet de las cosas
ES14758616T Active ES2747765T3 (es) 2013-10-08 2014-08-13 Método y aparato para sintetizar alimentaciones de datos para la Internet de las cosas
ES14757957T Active ES2749207T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar datos de la Internet de las cosas
ES14757961T Active ES2747819T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas
ES14757959T Active ES2747813T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar una alimentación de datos para la Internet de las cosas
ES14786233T Active ES2767048T3 (es) 2013-10-08 2014-10-07 Método y aparatos para gestionar comunicaciones para el internet de las cosas (IoT)

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES14757958T Active ES2746984T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar datos de la Internet de las cosas
ES14758616T Active ES2747765T3 (es) 2013-10-08 2014-08-13 Método y aparato para sintetizar alimentaciones de datos para la Internet de las cosas
ES14757957T Active ES2749207T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar datos de la Internet de las cosas

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES14757959T Active ES2747813T3 (es) 2013-10-08 2014-08-13 Método y aparato para proporcionar una alimentación de datos para la Internet de las cosas
ES14786233T Active ES2767048T3 (es) 2013-10-08 2014-10-07 Método y aparatos para gestionar comunicaciones para el internet de las cosas (IoT)

Country Status (4)

Country Link
US (7) US10375173B2 (es)
EP (7) EP3056026B1 (es)
ES (6) ES2746984T3 (es)
WO (7) WO2015052480A1 (es)

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10009065B2 (en) 2012-12-05 2018-06-26 At&T Intellectual Property I, L.P. Backhaul link for distributed antenna system
US9113347B2 (en) 2012-12-05 2015-08-18 At&T Intellectual Property I, Lp Backhaul link for distributed antenna system
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
WO2015052480A1 (en) * 2013-10-08 2015-04-16 Arkessa Limited Method and apparatus for providing a data feed for internet of things
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US9209902B2 (en) 2013-12-10 2015-12-08 At&T Intellectual Property I, L.P. Quasi-optical coupler
EP2947848B1 (en) * 2014-05-20 2018-07-11 2236008 Ontario Inc. System and method for granting permission for a machine action
US9692101B2 (en) 2014-08-26 2017-06-27 At&T Intellectual Property I, L.P. Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9520945B2 (en) 2014-10-21 2016-12-13 At&T Intellectual Property I, L.P. Apparatus for providing communication services and methods thereof
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9564947B2 (en) 2014-10-21 2017-02-07 At&T Intellectual Property I, L.P. Guided-wave transmission device with diversity and methods for use therewith
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US9954287B2 (en) 2014-11-20 2018-04-24 At&T Intellectual Property I, L.P. Apparatus for converting wireless signals and electromagnetic waves and methods thereof
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US9654173B2 (en) 2014-11-20 2017-05-16 At&T Intellectual Property I, L.P. Apparatus for powering a communication device and methods thereof
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US9680670B2 (en) 2014-11-20 2017-06-13 At&T Intellectual Property I, L.P. Transmission device with channel equalization and control and methods for use therewith
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US10144036B2 (en) 2015-01-30 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
EP3070552B1 (de) * 2015-03-18 2021-10-13 Siemens Aktiengesellschaft Verknüpfung eines automatisierunsgerätes mit einem datenverarbeitungssystem
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US10679767B2 (en) 2015-05-15 2020-06-09 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
US10103801B2 (en) 2015-06-03 2018-10-16 At&T Intellectual Property I, L.P. Host node device and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US10154493B2 (en) 2015-06-03 2018-12-11 At&T Intellectual Property I, L.P. Network termination and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US10348391B2 (en) 2015-06-03 2019-07-09 At&T Intellectual Property I, L.P. Client node device with frequency conversion and methods for use therewith
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US10142086B2 (en) 2015-06-11 2018-11-27 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US9836957B2 (en) 2015-07-14 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for communicating with premises equipment
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US9882257B2 (en) 2015-07-14 2018-01-30 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US10033107B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US9608740B2 (en) 2015-07-15 2017-03-28 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
CN106375102B (zh) * 2015-07-22 2019-08-27 华为技术有限公司 一种服务注册方法、使用方法及相关装置
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US10784670B2 (en) 2015-07-23 2020-09-22 At&T Intellectual Property I, L.P. Antenna support for aligning an antenna
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US10020587B2 (en) 2015-07-31 2018-07-10 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith
US11720571B2 (en) 2015-08-17 2023-08-08 Comcast Cable Communications, Llc Unified description scheme for controlling and operating network connected devices
US10742739B2 (en) * 2015-08-18 2020-08-11 Comcast Cable Communications, Llc Platform for controlling and operating network connected devices
US10404832B2 (en) * 2015-08-31 2019-09-03 Ayla Networks, Inc. Management of gateway device using virtual gateway device
US10484512B2 (en) 2015-08-31 2019-11-19 Ayla Networks, Inc. Management of multi-radio gateway device using virtual gateway device
US9900775B2 (en) 2015-09-02 2018-02-20 International Business Machines Corporation On-device authorization of devices for collaboration and association
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US9705571B2 (en) 2015-09-16 2017-07-11 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system
US10051629B2 (en) 2015-09-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an in-band reference signal
US10136434B2 (en) 2015-09-16 2018-11-20 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel
US10009063B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal
US10009901B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations
US10079661B2 (en) 2015-09-16 2018-09-18 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a clock reference
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US9882277B2 (en) 2015-10-02 2018-01-30 At&T Intellectual Property I, Lp Communication device and antenna assembly with actuated gimbal mount
US10074890B2 (en) 2015-10-02 2018-09-11 At&T Intellectual Property I, L.P. Communication device and antenna with integrated light assembly
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
US10665942B2 (en) 2015-10-16 2020-05-26 At&T Intellectual Property I, L.P. Method and apparatus for adjusting wireless communications
US10051483B2 (en) 2015-10-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for directing wireless signals
KR102638748B1 (ko) 2015-12-04 2024-02-20 삼성전자 주식회사 적어도 하나의 센서를 이용한 기기 관리 방법 및 장치
US9973346B2 (en) * 2015-12-08 2018-05-15 Honeywell International Inc. Apparatus and method for using a distributed systems architecture (DSA) in an internet of things (IOT) edge appliance
US10268495B2 (en) * 2016-02-18 2019-04-23 Verizon Patent And Licensing Inc. Virtual device model system
US10484237B2 (en) * 2016-03-14 2019-11-19 Accenture Global Solutions Limited Platform for rapid prototyping of internet-enabled devices
US10237284B2 (en) 2016-03-31 2019-03-19 International Business Machines Corporation Internet of things security appliance
EP3255541A1 (en) * 2016-06-06 2017-12-13 Advanced Digital Broadcast S.A. A method and system for installing software
US20180056181A1 (en) * 2016-08-24 2018-03-01 icejam games inc. System and method for data integration for a virtual environment
US9912419B1 (en) 2016-08-24 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for managing a fault in a distributed antenna system
US11463526B2 (en) 2016-08-25 2022-10-04 Intel Corporation Future proofing and prototyping an internet of things network
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
CN107783433B (zh) * 2016-08-30 2020-06-05 中国电信股份有限公司 一种物联网终端控制方法、装置以及物联网系统
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10516748B2 (en) 2016-09-30 2019-12-24 International Business Machines Corporation IoT device identification
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US11115459B2 (en) * 2016-10-26 2021-09-07 International Business Machines Corporation Generic and configurable technique for webhook validation with arbitrary applications
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US11637907B2 (en) * 2016-11-16 2023-04-25 Verizon Patent And Licensing Inc. Systems and methods for tracking device IDs for virtualized applications
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10608973B2 (en) 2016-11-28 2020-03-31 Amazon Technologies, Inc. Embedded codes in messaging protocol communications
US10783016B2 (en) 2016-11-28 2020-09-22 Amazon Technologies, Inc. Remote invocation of code execution in a localized device coordinator
US10417049B2 (en) 2016-11-28 2019-09-17 Amazon Technologies, Inc. Intra-code communication in a localized device coordinator
US10637817B2 (en) 2016-11-28 2020-04-28 Amazon Technologies, Inc. Managing messaging protocol communications
US10452439B2 (en) 2016-11-28 2019-10-22 Amazon Technologies, Inc. On-demand code execution in a localized device coordinator
US10372486B2 (en) 2016-11-28 2019-08-06 Amazon Technologies, Inc. Localized device coordinator
US10193839B2 (en) * 2016-11-28 2019-01-29 Amazon Technologies, Inc Managing security in messaging protocol communications
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
KR102608996B1 (ko) * 2016-12-16 2023-11-30 삼성전자주식회사 탐색 대상 기기의 위치를 판단하기 위한 단말 장치, 전자 장치 및 제어 방법
US11132840B2 (en) 2017-01-16 2021-09-28 Samsung Electronics Co., Ltd Method and device for obtaining real time status and controlling of transmitting devices
US10536460B2 (en) 2017-01-20 2020-01-14 International Business Machines Corporation Sharing of anonymous data between connected devices over the internet
US10530652B2 (en) 2017-01-25 2020-01-07 International Business Machines Corporation Outage avoidance for connected devices
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
US10630533B2 (en) * 2017-07-07 2020-04-21 Cisco Technology, Inc. Distributed network query using walker agents
US10547632B2 (en) * 2017-10-27 2020-01-28 Verizon Patent And Licensing Inc. Brokered communication protocol using information theoretic coding for security
CN107707573A (zh) * 2017-11-22 2018-02-16 用友金融信息技术股份有限公司 数据访问方法及其装置与计算机装置及其可读存储介质
US11200331B1 (en) 2018-11-21 2021-12-14 Amazon Technologies, Inc. Management of protected data in a localized device coordinator
US11372654B1 (en) 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
US20210097330A1 (en) * 2019-09-27 2021-04-01 International Business Machines Corporation Notification content message via artificial intelligence voice response system
GB2619317A (en) 2022-05-31 2023-12-06 Iotic Labs Ltd Classification and functionality of IOT devices
GB2619318A (en) 2022-05-31 2023-12-06 Iotic Labs Ltd Classification and functionality of IOT devices
GB2619316A (en) 2022-05-31 2023-12-06 Iotic Labs Ltd Cloud machines
GB2619315A (en) 2022-05-31 2023-12-06 Iotic Labs Ltd Mutual trust environment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233611B1 (en) * 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US6662195B1 (en) 2000-01-21 2003-12-09 Microstrategy, Inc. System and method for information warehousing supporting the automatic, real-time delivery of personalized informational and transactional data to users via content delivery device
US8359349B2 (en) * 2004-03-18 2013-01-22 Nokia Corporation System and associated terminal, method and computer program product for uploading content
US8166473B2 (en) 2005-04-21 2012-04-24 Microsoft Corporation Method and system for a resource negotiation between virtual machines
US20070100959A1 (en) 2005-10-28 2007-05-03 Yahoo! Inc. Customizing RSS content for use over a network
JP2009529744A (ja) * 2006-03-10 2009-08-20 ワイズグラム インコーポレイテッド 仮想識別情報提供システムおよび仮想識別情報提供方法
US20080021963A1 (en) * 2006-07-21 2008-01-24 At&T Corp. Content dissemination using a multi-protocol converter
US8291473B2 (en) * 2007-01-10 2012-10-16 International Business Machines Corporation Methods, systems, and computer program products for modeling a secure production network
EP1959703A1 (en) * 2007-02-15 2008-08-20 British Telecommunications Public Limited Company Handover of wireless connections
US9357025B2 (en) * 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
JP5406044B2 (ja) * 2007-12-17 2014-02-05 パナソニック株式会社 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法
WO2009112079A1 (en) 2008-03-14 2009-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Technique for feed-based automatic transmission of content to a mobile terminal
KR20110005499A (ko) * 2009-07-10 2011-01-18 삼성모바일디스플레이주식회사 유기전계 발광 표시장치 및 그 제조방법
US10873613B2 (en) * 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US20130110943A1 (en) * 2011-11-02 2013-05-02 Apple Inc. Notification and reminder generation, distribution, and storage system
US9103325B2 (en) 2012-03-20 2015-08-11 General Electric Company Winglet for a wind turbine rotor blade
US8990948B2 (en) 2012-05-01 2015-03-24 Taasera, Inc. Systems and methods for orchestrating runtime operational integrity
US20140337478A1 (en) * 2013-05-07 2014-11-13 Social Communications Company Peer-to-peer network communications
US20140359476A1 (en) * 2013-05-30 2014-12-04 Kabam, Inc. System and method for forwarding external notifications of events in a virtual space from a presentation control device to a user device
WO2015052480A1 (en) * 2013-10-08 2015-04-16 Arkessa Limited Method and apparatus for providing a data feed for internet of things
FR3041806B1 (fr) * 2015-09-25 2017-10-20 Stmicroelectronics Rousset Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits
US10536390B1 (en) * 2017-01-11 2020-01-14 Amazon Technologies, Inc. Requesting embedded hypermedia resources in data interchange format documents
US10311058B1 (en) * 2018-07-06 2019-06-04 Global Elmeast Inc. Techniques for processing neural queries

Also Published As

Publication number Publication date
EP3056030B1 (en) 2019-07-31
WO2015052481A1 (en) 2015-04-16
EP3056029A1 (en) 2016-08-17
EP3056026A1 (en) 2016-08-17
EP3056029B1 (en) 2019-07-31
WO2015052483A1 (en) 2015-04-16
US20160261462A1 (en) 2016-09-08
WO2015052512A1 (en) 2015-04-16
EP3056027A1 (en) 2016-08-17
US10542094B2 (en) 2020-01-21
US10637926B2 (en) 2020-04-28
WO2015052480A1 (en) 2015-04-16
US10375173B2 (en) 2019-08-06
WO2015052479A1 (en) 2015-04-16
EP3056028B1 (en) 2019-07-31
US20160255167A1 (en) 2016-09-01
EP3056031B1 (en) 2019-07-31
EP3056028A1 (en) 2016-08-17
US10516735B2 (en) 2019-12-24
ES2767048T3 (es) 2020-06-16
US10594794B2 (en) 2020-03-17
EP3056027B1 (en) 2019-07-31
WO2015052482A1 (en) 2015-04-16
US10516736B2 (en) 2019-12-24
EP3056032B1 (en) 2019-12-04
EP3056032A1 (en) 2016-08-17
US20160255155A1 (en) 2016-09-01
ES2749207T3 (es) 2020-03-19
US20160294950A1 (en) 2016-10-06
ES2747765T3 (es) 2020-03-11
US20160255122A1 (en) 2016-09-01
US20160255123A1 (en) 2016-09-01
EP3056030A1 (en) 2016-08-17
US20160255066A1 (en) 2016-09-01
WO2015052478A1 (en) 2015-04-16
US10075528B2 (en) 2018-09-11
ES2746984T3 (es) 2020-03-09
ES2747813T3 (es) 2020-03-11
EP3056031A1 (en) 2016-08-17
EP3056026B1 (en) 2019-07-31

Similar Documents

Publication Publication Date Title
ES2747819T3 (es) Método y aparato para proporcionar una alimentación de datos para de la Internet de las cosas
US10069811B2 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
KR102168392B1 (ko) 레지스트리 장치, 에이전트 디바이스, 애플리케이션 제공 장치 및 대응하는 방법들
KR102377045B1 (ko) 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
GB2549791A (en) System, method, and program for storing and controlling access to anonymous behavioural data