ES2646632B2 - Método y aparato para balancear recursos en una arquitectura de automatización y alarma - Google Patents

Método y aparato para balancear recursos en una arquitectura de automatización y alarma Download PDF

Info

Publication number
ES2646632B2
ES2646632B2 ES201790010A ES201790010A ES2646632B2 ES 2646632 B2 ES2646632 B2 ES 2646632B2 ES 201790010 A ES201790010 A ES 201790010A ES 201790010 A ES201790010 A ES 201790010A ES 2646632 B2 ES2646632 B2 ES 2646632B2
Authority
ES
Spain
Prior art keywords
sensor
data
processing
gateway entity
entity
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
ES201790010A
Other languages
English (en)
Other versions
ES2646632A2 (es
ES2646632R1 (es
Inventor
Andrei Bucsa
Gregory W Hill
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.)
Tyco Safety Products Canada Ltd
Original Assignee
Tyco Safety Products Canada 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 Tyco Safety Products Canada Ltd filed Critical Tyco Safety Products Canada Ltd
Publication of ES2646632A2 publication Critical patent/ES2646632A2/es
Publication of ES2646632R1 publication Critical patent/ES2646632R1/es
Application granted granted Critical
Publication of ES2646632B2 publication Critical patent/ES2646632B2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/1036Signalling gateways at the edge
    • 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
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a 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/53Network services using third party service providers

Description

DESCRIPCION
Metodo y aparato para balancear recursos en una arquitectura de automatization y alarma
Referencia cruzada a la solicitud relacionada
Esta solicitud reivindica prioridad de la Solicitud de Patente Provisional de los Estados Unidos N ° 62/059.410 presentada el 3 de octubre de 2015, y titulada "Wireless Security and Home Automation”. La totalidad de esta solicitud se incorpora en la presente memoria como referencia
Campo de la description
La description se refiere al campo de sistemas de automatization y alarma, y mas particularmente a metodos y aparatos para balancear recursos en una arquitectura de sistema para un sistema de automatization o alarma.
Antecedentes de la description
Los sistemas de automatization y alarma, tales como los sistemas domoticos, sistemas de alarma de incendio y sistemas de seguridad, incluyen tlpicamente una o mas entidades de pasarela, por ejemplo, paneles de alarma, que reciben information desde diversos sensores distribuidos a traves de un area estructurada. En respuesta a tipos particulares de senales de entrada, los sensores o la entidad de pasarela algunas veces desencadenan una accion mediante un dispositivo de salida. Por ejemplo, un sistema de alarma de incendio tlpico incluye uno o mas sensores, por ejemplo, detectores de humo o estaciones de extraction accionadas manualmente, etc., y dispositivos de salida, por ejemplo, luces estroboscopicas, sirenas, sistemas de anuncios publicos, etc., conectados operativamente a una entidad de pasarela.
En algunos sistemas de automatization y alarma tradicionales, un sensor incluye capacidad de procesamiento para procesar los datos del sensor. Por ejemplo, un sensor monitoriza senales electricas reunidas por el dispositivo de detection del sensor para variaciones que representan la aparicion de una condition de alarma. Con propositos de registro de datos y realization de analltica de datos, el sensor reenvla information a la entidad de pasarela, y la entidad de pasarela a su vez reenvla los datos a un dispositivo de procesamiento en la nube. El dispositivo de procesamiento en la nube reune datos de muchos sensores y/o entidades de pasarela, analiza los datos, y genera informes
El procesamiento de los datos en el sensor requiere que el sensor consuma energla, lo cual puede ser problematico, especialmente si el sensor esta alimentado por baterlas. Ademas, los sensores individuales son relativamente complejos y caros, porque el sensor se debe dotar con suficientes recursos de procesamiento para que el sensor pueda procesar sus propios datos de forma aislada. Durante penodos de inactividad, estos recursos de procesamiento no se usan y, por lo tanto, se desperdician. Aun mas, si se desarrolla una nueva actualizacion para el algoritmo que procesa los datos del sensor, cada sensor debe recibir y procesar la actualizacion. Este proceso de actualizacion puede ser complicado y puede requerir mucho tiempo en un entorno con muchos sensores.
Compendio
Esta descripcion aborda estos y otros problemas con los sistemas de alarma y automatization convencionales. Segun las realizaciones ejemplares, se realizan tareas de procesamiento relativamente simples a nivel de sensor, con un procesamiento mas complejo que se desplaza a la entidad de pasarela. Otras tareas de procesamiento que requieren mayor potencia de procesamiento, por ejemplo, analrtica de datos, se envian a un dispositivo de procesamiento en red, por ejemplo, un dispositivo de procesamiento en la nube) y/o a otro dispositivo de terceros. De esta manera, se proporciona una jerarquia de capacidades de procesamiento, con los sensores formando un nivel inferior, la entidad de pasarela formando un nivel intermedio, y los dispositivos de procesamiento en la nube/de terceros formando un nivel superior.
La entidad de pasarela asigna dinamicamente memoria o recursos de procesamiento a los sensores. Si un sensor detecta que esta ocurriendo un evento, o predice que esta a punto de ocurrir un evento, el sensor presenta una solicitud de asignacion de recursos y un balanceador de potencia que funciona en la entidad de pasarela procesa la solicitud. En respuesta a la solicitud de asignacion de recursos, la entidad de pasarela asigna algunos recursos de procesamiento al sensor solicitante.
Balanceando la potencia de procesamiento entre los sensores y la entidad de pasarela, los sensores se pueden hacer mas simples y menos caros, debido a la disminucion de la potencia de procesamiento requerida. Ademas, se pueden proporcionar por el sistema capacidades mejoradas, tales como procesar datos de comandos de voz recibidos a traves de los sensores, porque los sensores no necesitan soportar toda la carga o procesar datos complejos. Aun mas, se pueden desplegar nuevas caracteristicas, y se pueden actualizar caracteristicas antiguas, modificando solamente la logica de procesamiento en la entidad de pasarela, en lugar de la logica de procesamiento de cada uno de los multiples sensores.
Breve descripcion de los dibujos
A modo de ejemplo, se describiran ahora realizaciones ejemplares especlficas del sistema y metodo descritos, con referencia a los dibujos adjuntos, en los que:
La FIG. 1 es un diagrama de bloques que ilustra una arquitectura de sistema ejemplar segun la presente descripcion.
La FIG. 2 representa una jerarqula de dispositivos de procesamiento en la arquitectura del sistema.
La FIG. 3 es un diagrama de bloques que ilustra un dispositivo de deteccion o dispositivo de salida ejemplas segun la presente descripcion.
La FIG. 4 es un diagrama de bloques que ilustra una entidad de pasarela ejemplar segun la presente descripcion.
La FIG. 5 es un diagrama de contexto del sistema que ilustra interacciones ejemplares entre los dispositivos de la arquitectura del sistema desde la perspectiva de la entidad de pasarela segun la presente descripcion.
Las FIG. 6-10B representan estructuras de datos ejemplares adecuadas para su uso segun la presente descripcion.
La FIG. 11 es un diagrama de flujo de datos que ilustra flujos de datos ejemplares a traves de la arquitectura del sistema segun la presente descripcion.
La FIG. 12 es un diagrama de flujo que representa un metodo ejemplar realizado por un dispositivo sensor segun la presente descripcion.
La FIG. 13 es un diagrama de flujo que representa un metodo ejemplar realizado por una entidad de pasarela segun la presente descripcion.
Las FIG. 14A-14B son graficos de flujo de procesamiento ejemplares que representan los pasos de procesamiento realizados en un servicio interactivo de voz ejemplar segun la presente descripcion.
Descripcion detallada
Esta descripcion se refiere a una arquitectura de sistema para sistemas de automatization y alarma, para los que se define una jerarqula de capacidades de procesamiento. A diferencia de los sistemas convencionales en los que la mayorla del procesamiento de datos de los sensores se maneja por los sensores respectivos, la arquitectura de sistema ejemplar mueve las tareas de procesamiento dentro de la jerarqula con el fin de conservar recursos, realizar balanceo de carga, y asignar tareas de procesamiento a los dispositivos que son mas adecuados para realizarlas.
La FIG. 1 representa un ejemplo de tal arquitectura 10 de sistema. La arquitectura 10 de sistema de la FIG. 1 se pretende que sea solamente ilustrativa, y un experto en la tecnica reconocera que las realizaciones descritas a continuation se pueden emplear en una arquitectura de sistema que tenga mas, menos, y/o diferentes componentes que la arquitectura 10 de sistema de la FIG. 1.
La arquitectura 10 de sistema incluye una zona 12 monitorizada. La zona 12 monitorizada representa una agrupacion logica de dispositivos monitorizados, y puede corresponder o no a una ubicacion flsica definida por llmites flsicos, por ejemplo, una habitation o un edificio. La zona 12 monitorizada representa, por ejemplo, una parte o la totalidad de una casa residencial, una empresa, una escuela, un aeropuerto, etc.
La zona 12 monitorizada ejemplar incluye una serie de sensores, sensor 14 y sensor 16. Los sensores incluyen dispositivos que miden o detectan una propiedad flsica, como temperatura, presion, presencia de luz o humo, o la position de un interruptor. Un sensor traduce la propiedad flsica a una senal electrica, por ejemplo, usando un transductor. Ejemplos de sensores incluyen sensores ambientales, por ejemplo, sensores de temperatura, sensores de presion, sensores de humedad, sensores de nivel de luz, etc., sensores de estado, por ejemplo, interruptores de puertas y ventanas, detectores de humo, detectores de movimiento, detectores de estado de valvulas, indicadores de nivel, indicadores de nivel de flujo, etc., sensores de salud, por ejemplo, sensores de ritmo cardiaco, sensores de flujo sangulneo, sensores de nivel de azucar, sensores de temperatura corporal, etc., sensores de localization, por ejemplo, transmisores del Sistema de Posicionamiento Global u otros sensores basados en localizacion colocados en personas, animales, propiedades, etc., as! como sensores de proposito general o multiproposito, por ejemplo, microfonos, camaras, interruptores de traction manual, etc..
La zona 12 monitorizada ejemplar incluye tambien un dispositivo 18 de salida. Los dispositivos de salida incluyen dispositivos que proporcionan una senal de salida, tal como sonido, luz, vibration, o una instruction para tomar una action, en respuesta a una condicion. La condicion que hace al dispositivo de salida proporcionar la senal de salida puede ser, por ejemplo, la detection de una salida particular de un sensor, por ejemplo, la senal del sensor que cae por debajo o que se eleva por encima de un valor umbral predefinido, o la deteccion de un patron predefinido en los datos del sensor, o un mensaje desencadenador enviado al dispositivo de salida por otro dispositivo.
Ejemplos de dispositivos de salida incluyen dispositivos de notification tales como altavoces, luces estroboscopicas, un motor que induce vibration en un dispositivo movil, etc. Algunos tipos de dispositivos de notification estan configurados para proporcionar una salida perceptible por un humano, por ejemplo, un dispositivo de notification que proporciona una salida visual, auditiva, haptica, u otra perceptible por un humano, mientras que otros tipos estan configurados para proporcionar una salida perceptible por una maquina, por ejemplo, una alarma silenciosa que transmite una notification de un incidente de seguridad a un servidor en una empresa de seguridad, o una cabina telefonica de incendio que envla una alerta a un parque de bomberos.
Otros ejemplos de dispositivos de salida incluyen dispositivos que controlan otros dispositivos u objetos. Ejemplos de tales dispositivos de salida incluyen dispositivos que abren o cierran una puerta, encienden o apagan una luz, ajustan un dispositivo de calefaccion, ventilation, o aire acondicionado (HVAC), etc.
Una entidad 20 de pasarela monitoriza y controla los sensores 14, 16 y el dispositivo 18 de salida de la zona 12 monitorizada. Las entidades de pasarela incluyen dispositivos que gestionan o supervisan los dispositivos de una zona 12 monitorizada, y que se comunican opcionalmente con dispositivos fuera de la zona 12 monitorizada. La entidad 20 de pasarela ejemplar procesa los datos de entrada recibidos de los sensores 14, 16 determina si los datos del sensor indican que se deberla tomar una action, tal como levantar una alarma, y dispara el dispositivo 18 de salida. Ejemplos de entidades 20 de pasarela incluyen paneles de control dedicados y dispositivos informaticos locales tales como ordenadores personales o servidores locales.
La entidad 20 de pasarela se puede desplegar en la zona 12 monitorizada, situada cerca de la zona 12 monitorizada, o situada remotamente, mientras que permanece comunicativamente conectada a, la zona 12 monitorizada.
La realization de la FIG. 1 incluye una unica zona 12 monitorizada controlada por una unica entidad 20 de pasarela. En otras realizaciones, se pueden controlar multiples zonas supervisadas mediante distintas entidades de pasarela o las zonas monitorizadas se pueden monitorizar colectivamente mediante una unica entidad de pasarela.
Los sensores 14, 16 y el dispositivo 18 de salida estan en comunicacion con y conectados operativamente a la entidad 20 de pasarela. La conexion puede ser una conexion inalambrica, por ejemplo, a traves de Wi-Fi o una tecnologla de comunicacion radio de corto alcance de baja potencia o una conexion cableada, por ejemplo, a traves de cableado de comunicaciones de cobre o de fibra optica, o a traves de una red de llnea electrica.
La entidad 20 de pasarela comunica con las entidades remotas a traves de una red 22. Una red 22 es una coleccion de dos o mas nodos y enlaces entre ios nodos que permiten que la information comunicada sea pasada entre los nodos. Una red 22 puede estar cableada o ser inalambrica. Ejemplos de una red 22 incluyen redes informaticas, tales como Internet, una red de area local, o una red de area metropolitana, y redes telefonicas tales como centrales telefonicas terrestres y redes de telecomunicaciones inalambricas.
Existe un camino 24 crltico de temporizacion entre la entidad de pasarela en un lado, y los sensores 14, 16 y el dispositivo 18 de salida en el otro lado. El camino 24 crltico de temporizacion transporta datos sensibles al tiempo, por ejemplo, datos del sensor que pueden ser indicativos de la aparicion de un evento, tal como un incendio, allanamiento, o emergencia medica que se designan para procesamiento en tiempo real o casi en tiempo real a medida que estan siendo generados los datos. Debido a que los datos del sensor 14 son sensibles al tiempo y estan siendo procesados alejados del sensor 14 que genero los datos, el(los) camino(s) de comunicacion para intercambiar informacion entre el sensor 14 y el dispositivo de procesamiento, la entidad 20 de pasarela, en este ejemplo, debe ser robusto y relativamente rapido.
En la realization representada, existe un camino 26 no crltico de temporizacion entre la entidad 20 de pasarela y la red 22. En esta realizacion, los dispositivos en el otro lado de la red 22 de la entidad de pasarela; es decir, el dispositivo 28 de procesamiento en la nube y el servicio 30 de terceros, realizan tareas de procesamiento no sensibles al tiempo, relativamente complejas. Por ejemplo, el dispositivo 28 de procesamiento en la nube realiza tareas tales como agregacion y registro de datos, generation de informes, y analltica de datos. Debido a que estos calculos no son sensibles al tiempo y no necesitan ser realizados en tiempo real a medida que se generan los datos, el camino de comunicacion entre la entidad 20 de pasarela y la red 22 se considera un camino 26 no crltico de temporizacion. Sin embargo, en algunas realizaciones, las conexiones entre la entidad 20 de pasarela y otros dispositivos en la arquitectura 10 se pueden designar como caminos crlticos de temporizacion, dependiendo de la aplicacion.
Los dispositivos de la arquitectura 10 de sistema, incluyendo la entidad 20 de pasarela, los sensores 14 y 16, y el dispositivo 18 de salida incluyen alguna cantidad de potencia de procesamiento. Un dispositivo 28 de procesamiento en la nube aumenta las capacidades de procesamiento de los otros dispositivos en la arquitectura 10. Un dispositivo 28 de procesamiento en la nube es un dispositivo que es accesible a la entidad 20 de pasarela a traves de la red 22 y que proporciona capacidades de procesamiento adicionales que pueden ser invocadas por la entidad 20 de pasarela u otro dispositivo en la arquitectura 10 de sistema con el fin de realizar tareas de procesamiento.
Un servicio 30 de terceros recibe informacion de la entidad 20 de pasarela y/o del dispositivo 28 de procesamiento en la nube. Un servicio 30 de terceros es una entidad que recibe informacion acerca del estado de los sensores y/o zonas monitorizadas en la arquitectura 10 y es normalmente distinto de la entidad que posee o controla los dispositivos de la zona 12 monitorizada. El servicio 30 de terceros se puede, pero no necesariamente, operar por la misma entidad que opera el dispositivo 28 de procesamiento en la nube. El servicio 30 de terceros puede tomar una accion en respuesta a la informacion, tal como registrar la informacion para uso futuro, agregar la informacion a otra informacion para generar un informe, reconocer emergencias, y despachar los primeros respondedores a la zona 12 monitorizada. Ejemplos de servicios 30 de terceros incluyen companlas de seguridad, parques de bomberos, consultorios medicos y hospitales, y centros de almacenamiento de datos.
Segun las realizaciones ejemplares, los dispositivos de la arquitectura 10 de sistema estan organizados en una jerarqula con propositos de procesamiento de datos del sensor, actualizacion de un estado del sistema, y disparo de dispositivos de salida, entre otras posibilidades. La FIG. 2 ilustra un ejemplo de una jerarqula 32 de dispositivos en la arquitectura 10 del sistema.
En un nivel 34 inferior de la jerarqula 32, se agrupan juntos los sensores y los dispositivos de salida. Los sensores y los dispositivos de salida tlpicamente poseen capacidades de procesamiento limitadas y potencia limitada, y por lo tanto son poco adecuados para tareas de procesamiento complejas. Sin embargo, se puede confiar en tales dispositivos para realizar tareas de procesamiento relativamente simples.
Ademas, estos dispositivos se despliegan tlpicamente en un contexto especlfico y/o se invocan para monitorizar un tipo muy particular de entrada. Por ejemplo, un sensor de rotura de cristal es un tipo de sensor que emplea un microfono para registrar sonido, por ejemplo, en las inmediaciones de una ventana, que se analiza entonces con el fin de detectar un patron predeterminado o una senal indicativa del sonido de rotura de cristal. Incluso si el sensor de rotura de cristal tiene solamente capacidades de procesamiento limitadas, esas capacidades se pueden emplear para detectar patrones de rotura de cristal relativamente simples, reduciendo de esta manera la necesidad de procesar todos los datos de sonido del sensor de rotura de cristal en la entidad 20 de pasarela.
Si un dispositivo en el nivel 34 inferior de la jerarqula 32 es incapaz de procesar algunos datos de entrada o no esta configurado para hacerlo asl, el dispositivo reenvla los datos a un dispositivo en el nivel 36 intermedio de la jerarqula 32. El nivel 36 intermedio incluye entidades de pasarela, tales como paneles de control, dispositivos informaticos locales, y en algunas situaciones dispositivos moviles tales como telefonos celulares y tabletas. Tales dispositivos tlpicamente tienen capacidades de procesamiento y potencia mejoradas en comparacion con dispositivos en el nivel 34 inferior, lo que los hace muy adecuados para la mayorla de las tareas de procesamiento. Los dispositivos del nivel 36 intermedio pueden realizar analisis de proposito mas general, a diferencia de los analisis de proposito especial realizados en el nivel 34 inferior, y/o realizar analisis mas complejo en comparacion con el nivel 34 inferior.
Los dispositivos en el nivel 36 intermedio ocasionalmente pueden llegar a sentirse abrumados en presencia de muchas solicitudes de procesamiento de datos, o pueden encontrar una tarea de procesamiento que esta mas alla de sus capacidades. En este caso, las tareas de procesamiento pueden hacer subir la jerarqula al nivel 38 superior. En el nivel 38 superior, los dispositivos de procesamiento en la nube y de terceros realizan tareas complejas en nombre del sistema.
Los dispositivos en diferentes niveles de la jerarqula 32 y, diferentes dispositivos en el mismo nivel de la jerarqula 32, pueden incluir una logica diferente para procesar los mismos datos. Por ejemplo, un detector de humo en el nivel 34 inferior y una entidad de pasarela en el nivel 36 intermedio ambos pueden tener una logica para analizar los datos del detector de humo para determinar si hay un incendio en la zona monitorizada. No obstante, la logica de la entidad de pasarela puede ser mas sofisticada que la logica del detector de humo. De esta manera, el detector de humo y la entidad de pasarela podrlan procesar los mismos datos y llegar a conclusiones diferentes. Esta capacidad se puede aprovechar ventajosamente para proporcionar un analisis dirigido y sofisticado de los datos. Si un dispositivo en un nivel inferior de la jerarqula procesa datos y determina que casi, pero no del todo, indica la presencia de una condicion de alarma, por ejemplo, los resultados del procesamiento no exceden un umbral de alarma, pero se aproximan al umbral dentro una tolerancia predefinida, entonces el dispositivo de nivel inferior puede reenviar los datos a otro dispositivo en la arquitectura que tiene una capacidad de procesamiento mas sofisticada o diferente.
Ademas, diferentes dispositivos en el mismo nivel de la jerarqula 32 pueden tener una logica diferente para procesar datos. Por consiguiente, se puede hacer que diferentes dispositivos empleen una logica de procesamiento dependiente de la ubicacion o sensible al contexto. Por ejemplo, un detector de humo desplegado en una cocina se puede dotar con una logica para eliminar falsas alarmas debido a la coccion, mientras que un detector de humo desplegado en un vestlbulo delantero puede omitir esta logica.
La logica desplegada en un dispositivo puede ser dependiente de la configuration hardware del dispositivo. Por ejemplo, un sensor que tiene hardware nuevo o mejorado puede desplegar una logica de procesamiento mas compleja o especializada en comparacion con un sensor mas antiguo o mas simple. Ademas de proporcionar procesamiento sensible a la ubicacion o al contexto, esta capacidad permite que un dispositivo en un nivel de la jerarqula 32 reenvle datos a otro dispositivo mas especializado, posiblemente a traves de una entidad de pasarela, cuando se presenta con datos que pueden ser manejados mejor por el dispositivo especializado.
Ademas de un procesamiento mejorado, otra ventaja de la jerarqula 32 es que se pueden desarrollar ajustes de configuracion mejorados en los niveles superiores de la jerarqula 32, por ejemplo, el nivel 36 intermedio y el nivel 38 superior, y empujar hacia abajo a niveles inferiores de la jerarqula 32. Por ejemplo, si un sensor en el nivel 34 inferior determina que los datos de entrada casi, pero no del todo, se elevan al nivel de una condition de alarma, el sensor puede reenviar los datos de entrada a un dispositivo en el nivel 36 intermedio para procesamiento adicional. Si el dispositivo en el nivel 36 intermedio determina que los datos deberlan haber desencadenado una condicion de alarma, el dispositivo en el nivel 36 intermedio puede revisar la configuracion del dispositivo en el nivel 34 inferior para determinar si se deberlan cambiar uno o mas ajustes de configuracion de modo que el dispositivo de nivel inferior pueda analizar mejor los datos de entrada en el futuro. Por ejemplo, el dispositivo en el nivel intermedio podrla disminuir el umbral de alarma del dispositivo de nivel inferior, o podrla alterar el algoritmo empleado por el dispositivo de nivel inferior en base al algoritmo usado por el dispositivo de nivel intermedio u otro dispositivo en la arquitectura 10.
Las estructuras de dispositivos ejemplares en la jerarqula, en particular un sensor 14 ejemplar y una entidad 20 de pasarela ejemplar, se describen ahora con referencia a las FIG. 3 y 4.
El sensor 14 representado en la FIG. 3 incluye un detector 40. Los detectores incluyen dispositivos que miden o identifican un fenomeno y proporcionan una salida en respuesta a la presencia del fenomeno, a la ausencia del fenomeno, o a un cambio en el fenomeno. Ejemplos de detectores incluyen sensores de luz o imagen, microfonos, termometros/termopares, barometros, etc.
La salida del detector 40 se procesa por un procesador 42. Los procesadores 42 incluyen dispositivos que ejecutan instrucciones y/o realizan operaciones matematicas, logicas, de control, o de entrada/salida. El procesador 42 del sensor 14 puede ser un procesador especializado que tiene capacidades de procesamiento limitadas y esta disenado para funcionar en entornos de baja potencia. Por ejemplo, el procesador 42 del sensor 14 puede implementar la arquitectura de Computation de Conjunto de Instrucciones Reducido (RISC) o de Acorn RISC Machine (ARM). Ejemplos de procesadores 42 incluyen la familia de procesadores Atom™ de Intel Corporation de Santa Clara, California, la familia de procesadores A4 de Apple, Inc. de Cupertino, California, la familia de procesadores Snapdragon™ de Qualcomm Technologies, Inc. de San Diego, California, y la familia de procesadores Cortex® de ARM Holdings, PLC de Cambridge, Inglaterra. El procesador 42 puede ser tambien un procesador personalizado.
El sensor 14 incluye una interfaz 44 de potencia para suministrar energla electrica a los componentes del sensor 14. La interfaz 44 de potencia puede ser una conexion a una fuente de energla externa, tal como una conexion cableada a la fuente de alimentation de una casa o empresa. Alternativa o adicionalmente, la interfaz 44 de potencia puede incluir una interfaz a una baterla recargable o no recargable, o un condensador.
El sensor 14 ejemplar se acopla en comunicacion inalambrica y cableada. Por consiguiente, el sensor 14 incluye una interfaz 46 de comunicacion para gestionar la comunicacion entre el sensor 14 y otras entidades en la arquitectura 10. La interfaz 46 de comunicacion acepta transmisiones entrantes de information desde las otras entidades de la arquitectura 10, gestiona la transmision de informacion desde el sensor 14 a las otras entidades, y proporciona control de calidad para las transmisiones de datos, entre otras funcionalidades relacionadas con la comunicacion. El sensor 14 puede conectarse a la red 22 a traves de la interfaz 46 de comunicacion.
La interfaz 46 de comunicacion comunica de manera inalambrica con las otras entidades de la arquitectura 10 usando un transmisor/receptor 48 de radio. El transmisor/receptor 48 de radio modula y demodula senales electromagneticas transportadas inalambricamente a traves de un medio, tal como el aire o el agua, o a traves de ningun medio tal como en el espacio. En las realizaciones ejemplares, el transmisor/receptor 48 de radio del sensor 14 puede ser un transmisor/receptor de radio especializado que comunica sobre un alcance relativamente corto usando una potencia relativamente baja. Ejemplos de transmisores/receptores 48 de radio de potencia inferior incluyen dispositivos que se comunican a traves de ondas de radio de frecuencia ultra alta (UHF) de longitud de onda corta. Los transmisores receptores 48 de radio de baja potencia ejemplares pueden implementar un protocolo de comunicacion tal como un protocolo ZigBee de ZigBee Alliance, el protocolo Bluetooth® de Baja Energla (BLE) del Grupo de Interes Especial de Bluetooth, el protocolo Z-Wave de la Z-Wave Alliance, el protocolo IPv6 sobre Redes de Area Personal Inalambricas de Baja Potencia (6LoWPAN) desarrollado por el Grupo de Trabajo de Ingenierla de Internet (IETF), o un protocolo de comunicaciones de campo cercano (NFC).
Alternativa o adicionalmente, el sensor 14 podrla acoplarse en comunicacion inalambrica usando otras tecnologlas de transmision/recepcion, tales como induction optica, sonica o electromagnetica en espacio libre.
La interfaz 46 de comunicacion ejemplar tambien se conecta a una interfaz 50 de red para interconectar con una red de comunicaciones cableada. La interfaz 50 de red puede ser, por ejemplo, un controlador de interfaz de red (NIC) para establecer una conexion cableada a una red informatica tal como Internet, una interfaz de fibra optica para conectar a una red de fibra optica, una interfaz de cable para conectar a una red de television por cable, una clavija telefonica para conectar a una red telefonica, o una interfaz de llnea electrica para conectar a una red de comunicaciones de llnea electrica.
Opcionalmente, el sensor 14 puede incluir un dispositivo 18 de salida. Por ejemplo, un detector de humo puede incluir un sensor para detectar la presencia de humo, y uno o mas dispositivos de salida, por ejemplo, una sirena y una luz estroboscopica, que se disparan en base a la salida del sensor.
El sensor 14 incluye una memoria 52 para contener datos, instrucciones, y otra information para uso por los otros componentes del sensor. En las realizaciones ejemplares, la memoria 52 del sensor 14 puede ser una memoria especializada que incluye almacenamiento relativamente limitado y/o usa una potencia relativamente baja. La memoria 52 puede ser un medio de almacenamiento de estado solido tal como una memoria rapida y/o memoria de acceso aleatorio (RAM). Ejemplos de la memoria 52 incluyen una memoria Secure Digital™ (SD) de la Asociacion SD. La memoria 52 tambien puede ser una memoria personalizada.
La memoria 52 incluye un almacenador temporal 54 de datos para almacenar temporalmente datos del detector 40 hasta que los datos se puedan procesar por el procesador 42 o transmitir usando la interfaz 46 de comunicacion. El almacenador temporal 54 de datos puede ser, por ejemplo, un almacenador temporal circular. Los datos en el almacenador temporal 54 de datos se pueden procesar de una forma primero en entrar primero en salir (FIFO), de una forma ultimo en entrar primero en salir (LIFO), en base a la importancia de las unidades de datos individuales en el almacenador temporal, o en base a una orden de procesamiento personalizada. El almacenador temporal 54 de datos se puede situar en una ubicacion fija en la memoria 52.
Ademas del almacenador temporal 54 de datos, la memoria 52 incluye un almacenador temporal 56 de red para almacenar information transmitida o recibida a traves de la interfaz 46 de comunicacion. El procesador 42 ensambla los datos para su transmision por la interfaz 46 de comunicacion, y almacena las unidades de datos en el almacenador temporal 56 de red. La interfaz 46 de comunicacion recupera regularmente datos pendientes del almacenador temporal 56 de red y los transmite hacia su destino. Al recibir los datos desde otro dispositivo de la arquitectura 10, la interfaz 46 de comunicacion coloca los datos en el almacenador temporal 56 de red. El procesador 42 recupera regularmente los datos pendientes del almacenador temporal de red y procesa los datos segun las instrucciones almacenadas en la memoria 52, o codificadas en el procesador 42. Con el fin de distinguir entre los datos recibidos y los datos a ser transmitidos, el almacenador temporal 56 de red se puede subdividir en un almacenador temporal “dentro” y en un almacenador temporal “fuera”. El almacenador temporal 56 de red se puede situar en una ubicacion fija en la memoria 52.
La memoria 52 almacena ademas una configuration 58 que incluye reglas 60, filtros 62, logica 64 de procesamiento, y parametros de configuracion 66. Una configuracion 58 es una description de hardware y/o software presente en un dispositivo. Las reglas 60 describen una o mas acciones que ocurren en respuesta a una o mas condiciones. Los filtros 62 son logica que se ejecuta en datos de entrada y/o procesa con el fin de determinar una siguiente action a tomar con los datos, tal como procesar los datos localmente, guardar los datos en un registro, o reenviar los datos a otro dispositivo para procesamiento. La logica 64 de procesamiento proporciona instrucciones y/o parametros que operan sobre datos de entrada, o, en algunos ejemplos, sin datos de entrada, para generar nuevos datos de salida, transformar los datos de entrada en nuevos datos, o tomar una accion con respecto a los datos de entrada o algunos otros datos. La logica 64 de procesamiento se puede aplicar a los datos generados por el detector 40 con el fin de tomar una accion, tal como levantar una alarma, cambiar un estado de seguridad o de monitorizacion de la arquitectura 10, operar un dispositivo de salida, etc. La entidad 20 de pasarela se puede desplegar con diferentes tipos de logica 64 de procesamiento, estando los diferentes tipos especializados respectivamente en diferentes tipos de datos del sensor. Los parametros 66 de configuracion incluyen valores para ajustes que describen como opera el hardware y/o software del dispositivo configurado. La configuration 58, las reglas 60, los filtros 62, la logica 64 de procesamiento y los parametros 66 de configuracion se describen con mas detalle en relation con las FIG. 7-10B, a continuation.
Al menos un enlace de comunicacion que usa el sensor 14 para comunicar, por ejemplo, el enlace con la entidad 20 de pasarela, es un camino 24 crltico de temporizacion. Como se senalo anteriormente, el camino 24 crltico de temporizacion transporta datos sensibles al tiempo entre, por ejemplo, el sensor 14 y la entidad 20 de pasarela. Por consiguiente, el camino 24 crltico de temporizacion puede requerir una transmision de datos en tiempo real o casi en tiempo real. El procesador 42, la interfaz 46 de comunicacion, y la memoria 52 del sensor se pueden configurar para priorizar los datos sensibles al tiempo de manera que los datos se procesen, transmitan, y actuen rapidamente. Por ejemplo, los datos sensibles al tiempo del detector 40 se pueden marcar con una cabecera especial por el procesador 42. Los datos sensibles al tiempo se pueden analizar, usando la logica 64 de procesamiento, de una manera acelerada, por ejemplo, los datos sensibles al tiempo se pueden priorizar sobre otros datos no sensibles al tiempo. Si los datos sensibles al tiempo van a ser procesados en otro dispositivo en la jerarqula 32, los datos sensibles al tiempo se pueden colocar en un area segregada de alta prioridad del almacenador temporal 56 de red o enviar directamente a la interfaz 46 de comunicacion para su transmision. La interfaz 46 de comunicacion puede anexar una cabecera especial a los datos sensibles al tiempo, marcando los datos como de alta prioridad. Al recibir datos con una cabecera de alta prioridad, la interfaz 46 de comunicacion puede colocar los datos en el area de alta prioridad del almacenador temporal 56 de red y/o anunciar la llegada de los datos al procesador 42.
La interfaz 46 de comunicacion establece uno o mas canales de comunicacion de alta prioridad entre el sensor 14 y la entidad 20 de pasarela. Los canales de comunicacion de alta prioridad pueden ser canales de banda ancha para asegurar que existe suficiente ancho de banda para transmitir los datos en tiempo real o casi en tiempo real. Los canales de comunicacion de alta prioridad pueden ser redundantes, de manera que los canales de respaldo esten disponibles si uno de los canales de comunicacion cesa de funcionar. La redundancia se puede establecer usando multiples tipos de medios de transmision, por ejemplo, medios cableados e inalambricos, diferentes tipos de medios cableados, etc., usando diferentes rutas entre el sensor 14 y la entidad 20 de pasarela ,por ejemplo, una ruta de comunicacion directa a la entidad 20 de pasarela y en una ruta indirecta desde el sensor 14 a traves de otro dispositivo, tal como otro sensor 16, a la entidad 20 de pasarela, estableciendo dispositivos de procesamiento alternativos ,por ejemplo, estableciendo un canal de comunicacion al dispositivo 28 de procesamiento en la nube, en el caso de que la entidad de pasarela sea inalcanzable o incapaz de procesar datos del sensor, y otras posibilidades.
Se pueden usar procedimientos similares para datos sensibles al tiempo en la entidad 20 de pasarela.
El sensor 14 representado en la FIG. 3 se comunica ante todo con la entidad 20 de pasarela, que puede ser similar al sensor 14 en terminos de los tipos de componentes usados. No obstante, debido a que hay menos restricciones en la entidad 20 de pasarela en terminos de tamano, ubicacion, y consumo de energla, la entidad 20 de pasarela puede tener mas componentes y/o componentes mas potentes que el sensor 14. Tlpicamente, la entidad 20 de pasarela es un panel o un dispositivo informatico situado en o cerca de la zona 12 monitorizada. La FIG. 4 es un diagrama de bloques que representa la estructura de una entidad 20 de pasarela ejemplar.
La entidad 20 de pasarela incluye un procesador 42. El procesador 42 de la entidad 20 de pasarela puede ser similar al procesador 42 del sensor 14; alternativa o adicionalmente, el procesador 42 de la entidad 20 de pasarela puede ser una Unidad Central de Proceso (CPU) que tiene uno o mas nucleos de procesamiento, uno o mas coprocesadores, y/o memoria cache en el chip.
En algunas realizaciones, el procesador 42 de la entidad 20 de pasarela puede ser un procesador especializado que tiene capacidades de procesamiento mejoradas en comparacion con el procesador 42 del sensor 14 y, como resultado, puede presentar un aumento del consumo de energla y/o generacion de calor en comparacion con el procesador 42 del sensor 14. Por ejemplo, el procesador 42 de la entidad 20 de pasarela puede implementar la arquitectura de Computation de Conjunto de Instrucciones Complejo (CISC). Ejemplos de procesadores 42 incluyen las familias de procesadores Celeron®, Pentium®, y Core™ de Intel Corporation de Santa Clara, California, y los procesadores de Unidad de Procesamiento Acelerado (APU) y de Unidad Central de Proceso (CPU) de Advanced Micro Devices (AMD), Inc. de Sunnyvale, California.
La entidad 20 de pasarela incluye ademas una interfaz 44 de potencia. La interfaz 44 de potencia puede conectarse directamente al sistema de distribution de energla o a la red electrica en la ubicacion en la que se despliegue la entidad 20 de pasarela. La interfaz 44 de potencia puede incluir una interfaz para aceptar corriente alterna (CA), corriente continua (DC), o ambas. La interfaz 44 de potencia puede incluir un convertidor para convertir AC en DC, o viceversa. La interfaz 44 de potencia puede incluir una baterla de respaldo para hacer funcionar la entidad 20 de pasarela durante cortes de energla.
La entidad 20 de pasarela incluye una interfaz 46 de comunicacion, una radio 48, y una interfaz 50 de red similares a los componentes respectivos del sensor 14. Se puede esperar que la entidad 20 de pasarela comunique con mas dispositivos que el sensor 14 y, en consecuencia, se puede dotar con mas o mas complejas interfaces 46 de comunicacion, radios 48, e interfaces 50 de red que el sensor 14. La entidad 20 de pasarela se puede asignar a una zona 12 monitorizada particular y, en consecuencia, puede mantener comunicacion con los dispositivos en la zona 12 monitorizada a traves de la interfaz 46 de comunicacion. La entidad 20 de pasarela tambien puede conectarse a la red 22 a traves de la interfaz 46 de comunicacion.
La entidad 20 de pasarela incluye una memoria 52. La memoria 52 de la entidad 20 de pasarela puede ser similar a la memoria 52 del sensor 14, pero presenta tlpicamente un mayor espacio de almacenamiento y/o un rendimiento mejorado ,tal como tiempos de lectura/escritura mejorados, tiempos de busqueda mejorados, y/o redundancia de datos mejorada o capacidades de copia de seguridad de information. Ejemplos de una memoria 52 adecuada para su uso en la entidad 20 de pasarela incluyen una memoria de acceso aleatorio (RAM), una unidad de disco duro (HDD), o una unidad de estado solido (SSD), entre otras posibilidades, o una combination de los mismos tipos o diferentes de dispositivos de almacenamiento de informacion.
La memoria 52 proporciona un almacenador temporal 56 de red similar al almacenador temporal 56 de red del sensor 14. La memoria 52 tambien incluye un area de almacenamiento para datos 70 del sensor, que incluyen datos del sensor procedentes de los sensores en la zona 12 monitorizada supervisada por la entidad 20 de pasarela ,por ejemplo, datos 72 del primer sensor, datos del segundo sensor, etc.. Los datos 70 del sensor se pueden almacenar en una partition separada de la memoria 52 en comparacion con otros elementos almacenados en la memoria 52.
La memoria 52 de la entidad 20 de pasarela almacena tambien una configuration 58, reglas 60, filtros 62, logica 64 de procesamiento, y parametros 74 de configuracion de entidad de pasarela. Estos elementos pueden ser similares en estructura a los elementos respectivos del sensor 14, aunque pueden diferir en contenido ,por ejemplo, diferentes condiciones y acciones en las reglas 60, diferentes formas de filtrar los datos en los filtros 62, diferentes instrucciones en la logica 64 de procesamiento, diferentes valores en los parametros 74 de configuracion, etc..
La entidad 20 de pasarela incluye ademas un balanceador 68, que realiza un proceso de balanceo doble para asignar recursos, por ejemplo, recursos de procesamiento, recursos de memoria, etc., en la arquitectura 10. El balanceador 68 recibe notificaciones de eventos cuando un sensor determina que esta teniendo lugar o esta a punto de tener lugar un evento. En respuesta, el balanceador 68 asigna recursos a la pasarela. Por ejemplo, el balanceador 68 puede asignar espacio en la memoria 52 para datos 72 del sensor 14 y/o puede generar nuevos hilos o asignar de otro modo recursos de procesamiento dentro del procesador 42. El proceso de balanceo doble se describe con mas detalle en las Figuras 5 y 11-14B.
Como se senalo anteriormente, la entidad 20 de pasarela reenvla algunos datos a un dispositivo 28 de procesamiento en la nube para procesamiento adicional. El dispositivo 28 de procesamiento en la nube tiene una estructura similar a la de la entidad 20 de pasarela. Con el fin de evitar redundancia, la estructura del dispositivo 28 de procesamiento en la nube no se muestra por separado. El dispositivo 28 de procesamiento en la nube se puede desplegar de una manera que permita componentes mejorados cualitativa y cuantitativamente, en comparacion con la entidad 20 de pasarela. Por ejemplo, la memoria del dispositivo 28 de procesamiento en la nube puede incluir varias unidades de disco duro (HDD) o unidades de estado solido (SDD), entre otras posibilidades de almacenamiento. La memoria del dispositivo 28 de procesamiento en la nube puede estar dispuesta en una formation redundante de configuration de discos independientes (RAID) para fiabilidad y rendimiento mejorados.
Ademas, el procesador el dispositivo 28 de procesamiento en la nube puede ser cualitativa o cuantitativamente mas potente que el procesador 42 de la entidad 20 de pasarela. Por ejemplo, se pueden proporcionar multiples procesadores 42 en el dispositivo 28 de procesamiento en la nube, que pueden incluir mas nucleos de procesamiento que el procesador 42 de la entidad 20 de pasarela. Ademas, el(los) procesador(es) 42 del dispositivo 28 de procesamiento en la nube puede(n) ser de un tipo diferente y mas potente que el procesador 42 de la entidad 20 de pasarela. Por ejemplo, el dispositivo 28 de procesamiento en la nube puede emplear una unidad central de proceso (CPU) mas potente que la entidad 20 de pasarela, o puede emplear mas o mejores coprocesadores que la CPU de la entidad 20 de pasarela, o puede emplear una unidad grafica de procesamiento (GPU) que sea mas potente que la CPU de la entidad 20 de pasarela.
Como se muestra en la FIG. 5, el sensor 14, la entidad 20 de pasarela, el dispositivo 28 de procesamiento en la nube, y el servicio 30 de terceros pueden interactuar entre si, y con otros elementos de la arquitectura 10, con el fin de procesar datos del sensor. La FIG. 5 es un diagrama de contexto del sistema que muestra como, en una realization ejemplar, interactuan entre si las entidades de la arquitectura 10 de sistema segun un proceso 76 de balanceo doble. El proceso 76 de balanceo doble abarca los pasos o las acciones realizadas por la arquitectura 10 con el fin de balancear los datos del sensor de procesamiento y gestionar las entidades de la arquitectura 10. El proceso 76 de balanceo doble incluye las acciones descritas con mas detalle en los diagramas de flujo de las FIG. 11-14B.
El sensor 14 genera datos de entrada para el proceso 76 de balanceo doble usando el detector 40. Los datos de entrada se almacenan en el almacenador temporal 54 de datos del sensor hasta que se puedan procesar por el procesador 42. El procesador 42 recupera los datos del almacenador temporal 54 de datos y hace una determination inicial, basada en un filtro 62, o bien para procesar los datos localmente o bien para reenviar los datos a otro dispositivo en la arquitectura 10 para su procesamiento.
Si los datos se procesan localmente y el sensor determina que esta ocurriendo o se preve que ocurra un evento ,por ejemplo, se indica o se considera que es probable una condition de alarma, el sensor 14 genera, como salida del proceso 76 de balanceo doble, una notification de evento. Una notification de evento senala la aparicion o prediction del evento para la entidad 20 de pasarela, de modo que el balanceador 68 de la entidad 20 de pasarela puede comenzar a asignar recursos y responder al evento. Un mensaje de notificacion de evento puede indicar que el evento esta ocurriendo o es probable que ocurra, o la notificacion de evento puede indicar que ha finalizado un evento previamente marcado.
En algunas realizaciones, la notificacion de eventos incluye caracterlsticas del sensor 14, tales como datos iniciales del sensor 14, information acerca de la configuration del sensor 14 ,por ejemplo, detalles acerca de los microprogramas, software, hardware, etc., una identification de modelo de sensor 14, el tipo de sensor 14, por ejemplo, detector de humo, sensor de rotura de cristal, etc., o informacion de mantenimiento, por ejemplo, mediciones de la resistencia a traves de diversos puntos en la circuiterla del sensor 14, mediciones del nivel de baterla o conectividad de red del sensor 14, consumo de energla del sensor 14, etc..
Si el procesador 42 determina que los datos no pueden o no deberlan ser procesados localmente, entonces el sensor 14 genera, como salida al proceso 76 de balanceo doble, un mensaje que incluye los datos no procesados para procesamiento por otro dispositivo en la arquitectura 10. Los datos no procesados incluyen datos, por ejemplo, datos generados por el sensor 14, que se designan por el proceso 76 de balanceo doble para procesar por un dispositivo diferente del dispositivo en el que residen actualmente los datos no procesados.
Los datos no procesados pueden incluir datos que se procesan parcialmente por el dispositivo en el que residen actualmente los datos no procesados. Por ejemplo, el sensor 14 puede realizar un procesamiento parcial de los datos, y reenviar algunos de o todos los datos en bruto, junto con los resultados del procesamiento, al proceso 76 de balanceo doble como datos no procesados. En otras realizaciones, los datos no procesados se pueden procesar completamente por el sensor 14, pero sin embargo se pueden reenviar a otro dispositivo para mas consideration.
En algunas realizaciones, el sensor 14 registra datos con el detector 40 que se usa para el reconocimiento de sonido y de voz. Por ejemplo, el detector 40 puede recibir datos de habla como entrada y o bien procesar localmente los datos de habla con el procesador 42, o bien reenviar los datos de habla al proceso 76 de balanceo doble como datos no procesados. Los datos de habla se pueden usar para reconocimiento y/o autenticacion de habla en la arquitectura 10. Por ejemplo, los datos de habla se pueden usar para autenticar un usuario cuando el usuario entra en la zona 12 monitorizada. Si el usuario deja de autenticarse, el sensor 14 puede enviar una notificacion de evento para desencadenar una condicion de alarma que indique la presencia de un usuario no autorizado en la zona 12 monitorizada.
El sensor 14 recibe, como salida del proceso 76 de balanceo doble, desencadenadores y solicitudes de acceso remoto. Un desencadenador es una instruction de otro dispositivo, tal como la entidad 20 de pasarela, para cambiar el estado del sensor o tomar una action, por ejemplo, hacer sonar una alarma, encender una luz estroboscopica, o reproducir una grabacion de audio, en respuesta a la detection de un evento desde el otro dispositivo. Por ejemplo, un desencadenador puede informar al sensor 14 de que la arquitectura 10 esta en una configuration de alarma, y las reglas internas del sensor 14 pueden proporcionar un tipo particular de notification en respuesta, por ejemplo, disparar un dispositivo 18 de salida integrado del sensor 14. Alternativa o adicionalmente, el mensaje desencadenador puede dar instrucciones al sensor 14 para realizar una tarea tal como hacer sonar una alarma o cambiar un ajuste de temperatura en la zona 12 monitorizada.
Una solicitud de acceso remoto es una solicitud de un dispositivo de la arquitectura 10 que dirige al sensor 14 a dar el control sobre algunos de o todos los componentes del sensor 14 a una entidad externa. Por ejemplo, una solicitud de acceso remoto podrla ordenar al sensor 14 proporcionar audio de datos visuales desde el almacenador temporal 54 de datos y/o el detector 40 del sensor. La solicitud de acceso remoto tambien podrla ordenar al sensor 14 ceder el control de un dispositivo de salida, tal como un altavoz, de modo que una entidad remota pueda comunicarse a traves del dispositivo de salida y/o un detector tal como un microfono. La solicitud de acceso remoto tambien podrla solicitar que el sensor 14 se reposicione a si mismo como en el caso de una videocamara operada remotamente que toma una vista panoramica, se inclina, o rota en respuesta a ordenes de la entidad externa, entre otras posibilidades.
El servicio 30 de terceros monitoriza el estado de los dispositivos y zonas de la arquitectura 10 para condiciones que requieren una accion adicional tales como despachar servicios de emergencia o contactar con un usuario. Por consiguiente, el servicio 30 de terceros se dota con, como una salida del proceso 76 de balanceo doble, actualizaciones de estado indicativas de cualquier cambio en el estado de seguridad o monitorizacion de la arquitectura 10. Ademas, el servicio 30 de terceros puede recibir datos procesados o no procesados como una salida del proceso 76 de balanceo doble, que puede permitir al servicio 30 de terceros monitorizar el estado de los sensores en la zona 12 monitorizada. Por ejemplo, el servicio 30 de terceros puede recibir datos en bruto de un sensor tal como un detector de humo, y/o datos procesados que resumen los eventos que condujeron a una condicion de alarma, entre otras posibilidades.
Sobre la base de las actualizaciones de estado y de los datos procesados o no procesados, el servicio 30 de terceros puede contactar, o puede facilitar el contacto con, los primeros respondedores tales como servicios medicos, parques de bomberos o comisarlas de policla, una companla de seguridad privada, etc. Por consiguiente, el servicio 30 de terceros puede proporcionar, como entrada al proceso 76 de balanceo doble, informacion del primer respondedor. La informacion del primer respondedor puede incluir informacion tal como partes seleccionadas de los datos procesados o no procesados, que ayuda a los primeros respondedores a manejar un evento. Por ejemplo, la informacion del primer respondedor podrla incluir coordenadas del Sistema de Posicionamiento Global (GPS) que indican la ubicacion de un sensor 14 que esta presentando actualmente una condicion de alarma. La informacion del primer respondedor puede originarse en el sensor 14, en la entidad 20 de pasarela, o en el dispositivo 28 de procesamiento en la nube, o se puede almacenar en el servicio 30 de terceros.
El dispositivo 28 de procesamiento en la nube proporciona capacidades de procesamiento adicionales para la arquitectura 10. Por ejemplo, el dispositivo de procesamiento en la nube puede realizar un procesamiento mas avanzado usando algoritmos mas complejos que la entidad 20 de pasarela, puede soportar la entidad 20 de pasarela calculando previamente informacion que simplifica los calculos realizados por la entidad 20 de pasarela, por ejemplo, generando un diccionario de interaction que proporciona un numero limitado de opciones que la entidad 20 de pasarela puede seleccionar cuando se acopla en interacciones de voz automatizadas con un usuario, puede realizar analrticas de datos avanzadas sobre la base de los datos de uno o mas sensores, y/o puede registrar datos para referencia futura o para cumplir con regulaciones aplicables.
Con el fin de usar estas capacidades de procesamiento adicionales, el proceso 76 de balanceo doble envia, como salida, datos no procesados, y/o datos procesados, a ser procesados en el dispositivo 28 de procesamiento en la nube. Los datos no procesados y/o procesados pueden originarse a partir de un unico sensor 14, o se pueden considerar holisticamente datos de multiples sensores.
El dispositivo 28 de procesamiento en la nube procesa los datos recibidos y hace una determination, por ejemplo, cambiar el estado de seguridad o de monitorizacion de la arquitectura 10, en base a los datos. Por consiguiente, el dispositivo 28 de procesamiento en la nube puede transmitir, como entrada al proceso 76 de balanceo doble, una actualizacion de estado que describe como cambiar el estado de la arquitectura 10 y/o un disparo para un sensor 14 o dispositivo 18 de salida. El dispositivo 28 de procesamiento en la nube tambien puede transmitir mensajes de actualization de estado "nulo”, indicando que el estado de seguridad o de monitorizacion de la arquitectura 10 no necesita ser cambiado en respuesta a los datos.
Ademas, el dispositivo 28 de procesamiento en la nube inicia llamadas a las estaciones de monitorizacion y a los primeros respondedores. Por ejemplo, el dispositivo 28 de procesamiento en la nube puede enviar una senal al servicio 30 de terceros indicando la presencia de un evento tal como un incendio o allanamiento, y puede dirigir el servicio de terceros para llamar al 911. Alternativamente, el dispositivo 28 de procesamiento en la nube puede iniciar una llamada al 911 y luego manejar la llamada sobre el servicio 30 de terceros.
Como se senalo anteriormente, una ventaja de la arquitectura 10 es que se pueden desplegar en la pasarela 20, actualizaciones de la logica de procesamiento usada para analizar los datos del sensor, sin necesidad de empujar las nuevas actualizaciones todo el camino hasta los sensores. En algunas realizaciones, el dispositivo 28 de procesamiento en la nube determina como se deberia actualizar la configuration de la entidad 20 de pasarela. Por ejemplo, si la entidad 20 de pasarela procesa datos y decide no desencadenar una alarma, pero el dispositivo 28 de procesamiento de la nube determina que se deberia haber desencadenado una alarma, el dispositivo 28 de procesamiento en la nube puede enviar automaticamente una actualization de configuration a la entidad 20 de pasarela para disminuir los umbrales de detection de la entidad de pasarela. Alternativamente, si el dispositivo 28 de procesamiento en la nube determina que una alarma no se deberla haber desencadenado por la entidad 20 de pasarela, pero se desencadeno, el dispositivo 28 de procesamiento en la nube puede enviar automaticamente una actualization de configuration a la entidad 20 de pasarela para elevar el umbral de la entidad de pasarela. En otro ejemplo, el dispositivo 28 de procesamiento en la nube puede determinar que la configuracion de una entidad de pasarela esta desfasada y que existe una configuracion mas actualizada en otro dispositivo cercano. El dispositivo 28 de procesamiento en la nube puede enviar una actualizacion de configuracion a la entidad de pasarela desactualizada en base a la configuracion del dispositivo actualizado.
Por consiguiente, el dispositivo 28 de procesamiento en la nube transmite, como entrada al proceso 76 de balanceo doble, una actualizacion de configuracion a ser aplicada en la entidad 20 de pasarela. Las actualizaciones de configuracion incluyen mensajes que describen un cambio en la configuracion 58 de la entidad 20 de pasarela. Por ejemplo, las actualizaciones de configuracion pueden actualizar las reglas 60, los filtros 62, la logica 64 de procesamiento, y/o los parametros 74 de configuracion de la entidad 20 de pasarela afectada.
La entidad 20 de pasarela funciona como un concentrador o facilitador central entre los dispositivos sensores/de salida y los dispositivos externos accesibles a traves de la red 22. Entre otras funciones, la entidad 20 de pasarela: asigna recursos a sensores o grupos de sensores particulares en respuesta a notificaciones de eventos; procesa datos de los sensores en la arquitectura 10; reenvla datos no procesados a otros dispositivos que sean mas adecuados para procesar los datos; transmite actualizaciones de estado al servicio 30 de terceros; dispara dispositivos de salida; envla solicitudes de acceso remoto a sensores; proporciona acceso a datos grabados de video/audio al servicio 30 de terceros; y aplica actualizaciones de configuracion a partir del proceso 76 de balanceo doble. En algunas realizaciones, la entidad 20 de pasarela tambien genera avisos vocales y realimentacion de audio usando procesamiento de texto a habla y de lenguaje natural basado en el diccionario de interaccion del dispositivo 28 de procesamiento en la nube. La entidad 20 de pasarela puede exponer una o mas Interfaces de Programa de Aplicaciones (API) a los otros dispositivos de la arquitectura 10 con estos propositos.
El proceso 76 de balanceo doble acepta las entradas de los diversos dispositivos como se muestra en la FIG. 5, y procesa las entradas para generar salidas. Como parte del proceso 76 de balanceo doble, se pueden emplear una serie de estructuras de datos diferentes. Se describen a continuation estructuras de datos ejemplares adecuadas para su uso con las realizaciones con referencia a las FIG. 6-10B.
La FIG. 6 muestra una actualization 78 de configuration ejemplar que se usa para actualizar la configuration 58 de una entidad 20 de pasarela.
La actualization 78 de configuration incluye una cabecera 80 que identifica, entre otras cosas, el destino de la actualization 78 de configuration. En algunas realizaciones, la cabecera 80 identifica dispositivos especlficos en los que se deberla desplegar la actualization 78 de configuration. Alternativa o adicionalmente, la cabecera 80 puede identificar un grupo o clase de dispositivos en los que se deberla desplegar la actualization 78 de configuration, por ejemplo, entidades de pasarela que supervisan al menos un detector de humo.
En algunas realizaciones, la cabecera 80 tambien incluye otra information, tal como una marca de tiempo, una prioridad, y una suma de comprobacion. La marca de tiempo identifica el momento en que se envio la actualization 78 de configuration, que se puede usar para ordenar actualizaciones de configuration que llegan en sucesion. En algunos casos, pueden entrar en conflicto entre si dos actualizaciones de configuration, requiriendo de esta manara que una actualizacion de configuracion anule a la otra. La marca de tiempo se puede usar para determinar que actualization de configuration se envio primero, bajo la suposicion de que esta ultima actualization de configuration estaba destinada a anular la anterior. Si se transmitio una primera actualizacion de configuracion antes de una segunda actualizacion de configuration, entonces en algunas realizaciones se aplica esta ultima, segunda, actualization de configuration y se anula la primera actualization de configuration, con independencia del orden en que se reciban las actualizaciones de configuration en el dispositivo a ser configurado.
En algunas realizaciones, se usa un valor de prioridad para determinar que actualization de configuration debe anular otras actualizaciones de configuration. Por ejemplo, si se recibe una primera actualization de configuration que tiene una prioridad alta y se aplica en un dispositivo configurado, el dispositivo configurado puede decidir no aplicar una actualization de configuration conflictiva posterior que tenga una prioridad inferior.
Se usa una suma de comprobacion en la cabecera 80 para verificar que la actualizacion 78 de configuration se recibio correctamente y no fue ilegible en la transmision. La suma de comprobacion se aplica en el dispositivo de transmision calculando un valor de suma de comprobacion sobre la carga util de la actualization 78 de configuration, usando cualquiera de una serie de algoritmos de suma de comprobacion bien conocidos. La suma de comprobacion calculada se anade la cabecera 80. A la recepcion de la actualization 78 de configuration, se calcula un valor de suma de comprobacion sobre la carga util de la actualizacion 78 de configuracion, y se compara con la suma de comprobacion en la cabecera 80. Si las dos sumas de comprobacion coinciden, entonces la actualizacion 78 de configuracion se determina que ha sido recibida con exito. Si las dos sumas de comprobacion no coinciden, entonces el dispositivo de recepcion determina que ocurrio un error en la transmision o recepcion, y solicita que la actualizacion 78 de configuracion sea retransmitida.
Los diferentes elementos en la actualizacion 78 de configuracion pueden estar separados por un caracter designado tal como un caracter de Fin de Llnea, o una coma, o cualquier otro caracter adecuado. Cuando se analiza sintacticamente la actualizacion 78 de configuracion por el dispositivo de recepcion, el dispositivo de recepcion puede separar los diferentes elementos en base a los caracteres designados, y puede modificar los elementos correspondientes de la configuracion 58 del dispositivo configurado. Alternativa o adicionalmente, los diferentes elementos de la actualizacion 78 de configuracion se pueden proporcionar en ubicaciones predefinidas en la actualizacion de configuracion, o pueden tener un tamano predefinido, o pueden tener un tamano variable que se reporta en la cabecera 80. A la recepcion de la actualizacion 78 de configuracion, el dispositivo de recepcion puede separar los elementos de la actualizacion de configuracion en base a su position en el mensaje y/o tamano.
Aunque la actualizacion 78 de configuracion se muestra con reglas 60, filtros 62, logica 64 de procesamiento, y parametros 74 de configuracion actualizados, algunos de estos elementos se pueden omitir de la actualizacion 78 de configuracion. Por ejemplo, si solamente las reglas 60, o una parte de una regla 60, se actualizan en una actualizacion 78 de configuracion dada, entonces los elementos restantes se omiten de la actualizacion 78 de configuracion. La cabecera 80 indica que elementos se actualizan en una actualizacion 78 de configuracion dada.
Un ejemplo de una regla 60 adecuada para su uso en una configuracion 74 o actualizacion 78 de configuracion se muestra en la FIG. 7. La regla 60 intenta hacer coincidir un conjunto de condiciones 82, por ejemplo, una primera condition 84, una segunda condition 86, etc., como se define en la regla 60, con las condiciones en la arquitectura 10. Cuando se cumple el conjunto de condiciones 82, entonces se desencadenan una o mas acciones 88.
Una condicion es un conjunto predefinido de estados, estatus, o valores de parametros que un dispositivo intenta hacer coincidir contra estados, estatus, o parametros en la arquitectura 10. Ejemplos de condiciones 82 incluyen la coincidencia de un estado de la arquitectura o un dispositivo con un valor predefinido o intervalo de valores, por ejemplo, el nivel de seguridad actual es 1, 2 o 3; el detector de humo esta en un modo de "alarma”. Se pueden hacer coincidir multiples estados en una unica condition, por ejemplo, dos detectores de humo separados entre si mas de una distancia predefinida estan en un modo de "alarma”, se dispara un sensor de rotura de cristal y un detector de movimiento detecta movimiento en la habitation. Una o mas de las condiciones 82 pueden estar basadas en el tiempo, por ejemplo, la hora actual es 10:30 AM; la hora actual esta entre 10:00 PM y 6:00 AM.
El conjunto de condiciones 82 puede ser un conjunto vaclo; es decir, sin condiciones, en cuyo caso la action 88 se lleva a cabo inmediatamente tras la reception de la regla 60, y se descarta posteriormente. Alternativamente, se puede aplicar una logica personalizada para definir como llevar a cabo reglas que no tienen condiciones 82 asociadas.
Algunas de o todas las condiciones 82 se pueden especificar usando operadores logicos tales como AND, OR, XOR, NOT, etc. Por ejemplo, la regla 60 puede especificar que la primera condicion 84 y la segunda condicion 86 se deben cumplir ambas para que la accion 88 sea desencadenada. Alternativamente, la regla 60 podrla especificar que o bien la primera condicion 84 o bien la segunda condicion 86 se deben cumplir para desencadenar la accion 88.
Cuando el conjunto de condiciones 82 se adapta a un estado actual de la arquitectura 10 o el(los) dispositivo(s), se lleva a cabo la accion 88 especificada en la regla. Una accion 88 es un conjunto de una o mas instrucciones o tareas a ser llevadas a cabo por el dispositivo en el que se desencadena la regla 60. Ejemplos de acciones 88 incluyen realizar una tarea localmente, por ejemplo, desencadenar un dispositivo de notification integrado; procesar datos adicionales, y reenviar instrucciones a otros dispositivos, por ejemplo, enviar una actualization de estado a la pasarela 20, escalar el nivel de seguridad de la arquitectura 10; disparar el lavavajillas para que empiece a funcionar.
Una regla 60 puede especificar el numero de veces que se va a ser llevada a cabo la regla. Esto se puede hacer, por ejemplo, especificando un numero maximo de aplicaciones como una de las condiciones 84, y rastreando el numero de veces que la regla 60 ha hecho que la accion 88 sea desencadenada. Al alcanzar el numero maximo de aplicaciones, se descarta la regla 60.
Ademas de las reglas 60, la actualizacion 78 de configuration especifica los filtros 62. Dos ejemplos de filtros 62 se muestran en las FIG. 8A y 8B. La FIG. 8A representa un filtro 90 de determination de procesamiento ejemplar, que es un filtro de procesamiento previo aplicado a los datos presentes en un dispositivo local para determinar si los datos se deberlan procesar inicialmente localmente, o reenviar a una ubicacion diferente en la arquitectura 10 para su procesamiento. La FIG. 8B representa un filtro 102 de escalado ejemplar, que es un filtro de procesado posterior aplicado despues de que se procesan localmente los datos con el fin de determinar si los datos se deberlan procesar ademas por otros dispositivos en la arquitectura 10.
Como se muestra en la FIG. 8A, el filtro 90 de determination de procesamiento incluye una logica 92 de evaluation. La logica 92 de evaluation acepta datos de entrada y/o information contextual acerca de los datos, por ejemplo, el tipo de sensor(es) que genero(generaron) los datos, la ubicacion en la que se desplego(desplegaron) el(los) sensor(es), cualquier procesamiento inicial que se haya hecho sobre los datos, etc., y evalua los datos para determinar si los datos se deberlan procesar localmente.
La logica 92 de evaluation ejemplar evalua los datos de entrada y/o la information contextual contra uno o mas umbrales 94 para determinar si los datos se deberlan procesarse localmente. Un umbral 94 representa una magnitud o intensidad que se debe cumplir o exceder para que ocurra un resultado dado. En el ejemplo de la logica de evaluation, los umbrales 94 representan llneas de division que hacen que ciertas acciones predefinidas sean realizadas dependiendo de si un parametro medido cae de un lado o del otro del umbral 94.
En el filtro 90 de determination de procesamiento ejemplar, los datos se comparan contra un umbral 96 de complejidad. Un umbral 96 de complejidad representa una complejidad maxima que el dispositivo local es capaz de tolerar en datos mientras que aun es capaz de procesar eficientemente los datos. En la realization ejemplar, la logica 92 de evaluation analiza los datos y la information contextual acerca de los datos, y asigna una puntuacion de complejidad a los datos. La puntuacion de la complejidad se puede calcular considerando el tipo de sensor desde el que se originaron los datos, la cantidad de los datos, si los valores de los datos son estables o variables, si los datos son claros o ruidosos, si los datos incluyen cualquier patron reconocible inmediatamente, etc.
Si la puntuacion de complejidad alcanza o excede el umbral 96 de complejidad, entonces la logica 92 de evaluation determina que los datos son demasiado complejos para su procesamiento en el dispositivo local. Si la puntuacion de complejidad esta por debajo del umbral 96 de complejidad, entonces la logica 92 de evaluation determina que el dispositivo local es capaz de procesar los datos.
La logica 92 de evaluation tambien usa un umbral 98 de carga para realizar balanceo de carga. El balanceo de carga se refiere a la distribution de tareas, trabajos, u otro tipo de trabajo entre multiples recursos informaticos. En la realization ejemplar, la logica 92 de evaluacion compara una carga en el procesador(es) local(es), por ejemplo, un porcentaje de recursos de procesamiento local que se utilizan actualmente, un numero y/o complejidad de trabajos que se procesan actualmente, etc., con el umbral 98 de carga. Si la carga actual satisface o excede el umbral 98 de carga, entonces la logica 92 de evaluacion puede determinar que la tarea de procesamiento en consideration se deberla procesar en otra parte. Si la carga actual esta por debajo del umbral 98 de carga, entonces la logica 92 de evaluacion puede determinar que la tarea de procesamiento se deberla realizar localmente.
La logica 92 de evaluacion se puede programar con una lista de dispositivos accesibles que tienen recursos informaticos disponibles para su uso, por ejemplo, la entidad 20 de pasarela, y una indication de los tipos de tareas de procesamiento en los que se especializan los dispositivos. Si la logica 92 de evaluacion determina que una tarea de procesamiento se deberla reenviar a otro dispositivo de la arquitectura, la logica 92 de evaluacion puede consultar la lista para seleccionar un dispositivo de destino adecuado.
Los dispositivos de la lista se pueden asociar con una prioridad que indica el orden en el que se deberlan enviar las tareas de procesamiento a los dispositivos enumerados. Por ejemplo, entre dispositivos especializados en un tipo de datos particular, por ejemplo, datos de detector de humo, los dispositivos se pueden clasificar en orden de prioridad. La siguiente tarea de procesamiento recibida para ese tipo de datos particular se puede enviar al dispositivo de prioridad mas alta en la lista. Se puede enviar una consulta al dispositivo de prioridad mas alta para determinar si el dispositivo de prioridad mas alta es capaz de realizar una nueva tarea de procesamiento. Si el dispositivo de prioridad mas alta responde reconociendo su disposition a realizar la tarea, los datos se pueden enviar al dispositivo de prioridad mas alta para su procesamiento. Si el dispositivo de prioridad mas alta responde rechazando la solicitud de procesamiento, el dispositivo local puede pasar al siguiente dispositivo de prioridad mas alta en la lista. Este proceso se puede repetir hasta que se seleccione un dispositivo adecuado.
Los dispositivos en la lista pueden intercambiar mensajes, por ejemplo, a traves de la entidad 20 de pasarela, para cambiar su clasificacion de prioridad en otros dispositivos. Por ejemplo, si se asigna a un dispositivo dado un gran numero de tareas de procesamiento y su carga de procesamiento se aproxima a una tolerancia predefinida del umbral 98 de carga del dispositivo, el dispositivo sobrecargado puede enviar un mensaje a la entidad 20 de pasarela solicitando que la prioridad del dispositivo sobrecargado sea disminuida en la logica 92 de evaluation de otros dispositivos de la arquitectura 10. Por consiguiente, es menos probable que otros dispositivos envlen tareas de procesamiento al dispositivo sobrecargado. Cuando la carga de procesamiento del dispositivo sobrecargado cae a un nivel predefinido, o despues de una cantidad de tiempo predeterminada, se puede elevar la prioridad del dispositivo.
Un dispositivo local tambien puede cambiar la prioridad de un dispositivo remoto en la logica 92 de evaluacion del dispositivo local a medida que el dispositivo local asigna tareas al dispositivo remoto. Por ejemplo, si una entidad 20 de pasarela envla un trabajo de procesamiento a un primer sensor 14, la entidad 20 de pasarela puede disminuir la prioridad del primer sensor de modo que la siguiente tarea se envle a un segundo sensor 16. De esta manera, la entidad 20 de pasarela puede distribuir las tareas mas uniformemente.
La lista tambien puede incluir un dispositivo por defecto situado en el siguiente nivel mas alto de la jerarqula 32, en comparacion con el dispositivo local que se esta preparando actualmente para reasignar la tarea de procesamiento, al que se pueden reenviar tareas si no se identifica ningun otro dispositivo. Por ejemplo, el dispositivo por defecto en el nivel 36 intermedio de la jerarqula 32 puede ser la pasarela 20, y el dispositivo por defecto en el nivel 38 superior de la jerarqula 32 puede ser el dispositivo 30 de procesamiento en la nube o de terceros.
Ademas de determinar si los datos se deberlan procesar local o remotamente, el filtro 90 de determination de procesamiento tambien aplica un conjunto de reglas 100 de notification a cualquier dato recibido para determinar si los datos se deberlan registrar en una memoria local, reenviar a otros dispositivos especificados en la arquitectura 10, o procesar y descartar. El conjunto de reglas 100 de notificacion coincide con las condiciones 82, tales como un tipo de datos, un intervalo de tiempo en el que se deberlan registrar los datos, patrones reconocidos en los datos, etc. frente a los datos de entrada, potencialmente despues de que se procesen los datos por la logica 92 de evaluacion. Si las condiciones 82 coinciden con los datos, el conjunto de reglas 100 de notificacion aplica una action 88 tal como almacenar los datos en una memoria local, por ejemplo, la memoria 52 del sensor 14, o la memoria 52 de la entidad 20 de pasarela, o reenviar los datos a un dispositivo especificado en la accion 88.
Si el filtro 90 de determinacion de procesamiento determina que los datos se deberlan procesar localmente, los datos se procesan segun la logica 72 de procesamiento del dispositivo local. Despues del procesamiento por la logica 72 de procesamiento, el dispositivo aplica un filtro 102 de escalado, como se muestra en la FIG. 10B, para determinar si los datos tambien se deberlan escalar a otro dispositivo para procesamiento adicional.
El filtro 102 de escalado se aplica si la logica 72 de procesamiento decide tomar cualquier accion, decide tomar una accion especlfica tal como levantar una alarma, decide no tomar ninguna accion, o cualquier combinacion de posibilidades.
El filtro 102 de escalado tiene una logica 104 de evaluation que determina si los datos procesados se deberlan escalar siendo procesados ademas en otro dispositivo. La logica 104 de evaluacion decide escalar los datos para procesamiento adicional si la logica 72 de procesamiento es incapaz de procesar los datos. Por ejemplo, si los datos son datos de voz que incluyen comandos, y la logica 72 de procesamiento es incapaz de identificar los comandos en los datos de voz con un alto grado de confianza, la logica 104 de evaluacion puede escalar los datos para procesamiento adicional a un nivel superior de la jerarqula 32.
La logica 104 de evaluacion consulta un umbral 106, tal como un umbral 108 de escalado, con el fin de determinar si los datos se deberlan escalar. En una realization ejemplar, el umbral 108 de escalado se aplica cuando la logica 72 de procesamiento determina no tomar una accion, pero estuvo dentro de una tolerancia predefinida de tomar la accion, sugiriendo que la determination puede ser un falso negativo. Alternativa o adicionalmente, el umbral 108 de escalado se aplica cuando la logica 64 de procesamiento determina tomar una accion, pero estuvo dentro de una tolerancia predefinida de no tomar la accion, sugiriendo que el resultado de la determinacion puede ser un falso positivo. El umbral 108 de escalado es un valor o intervalo de valores que define estas tolerancias.
Por ejemplo, la logica 64 de procesamiento puede desencadenar una alarma en un dispositivo 18 de salida si el valor v de datos del sensor de un sensor se eleva por encima de un umbral a de alarma predefinido. El umbral de escalado se puede fijar a un valor e. Si el valor v de datos del sensor se eleva por encima de a, la logica 64 de procesamiento desencadenara la alarma. Si el valor v de datos del sensor esta en o por debajo del valor a -e, entonces la logica 72 de procesamiento determinara que no se deberla desencadenar ninguna alarma, y el filtro 102 de escalado no escalara los datos para procesamiento adicional por otro dispositivo. Si los datos del sensor estan en un intervalo {a-e < v < a}, entonces la logica 64 de procesamiento no desencadenara la alarma, pero el filtro 102 de escalado reenviara los datos a otro dispositivo para procesamiento adicional.
El umbral 108 de escalado se modifica por los modificadores 110 de nivel de seguridad. Los modificadores 110 de nivel de seguridad representan un valor o valores usados para elevar o disminuir el umbral 108 de escalado, dependiendo del nivel o estado de seguridad actual de la arquitectura 10, o una o mas zonas 12 en la arquitectura 10. A medida que cambia el nivel o estado de seguridad, los modificadores 110 de nivel de seguridad modifican el umbral 108 de escalado para hacer la logica 104 de evaluation mas o menos propensa a escalar los datos. Por ejemplo, si el nivel de seguridad se eleva, la logica 104 de evaluacion se puede hacer mas probable que escale los datos para procesamiento adicional. Si el nivel de seguridad es relativamente bajo, la logica 104 de evaluacion se puede hacer menos probable que escale los datos.
En una realization adicional, la logica 104 de evaluacion aplica reconocimiento de patron y escala los datos si se identifica un patron particular en los datos, con independencia de si la logica 64 de procesamiento decidio tomar una action en respuesta a los datos.
La logica 104 de evaluacion del filtro 102 de escalado selecciona un dispositivo al que se deberlan reenviar los datos de una manera similar a la forma en que la logica 92 de evaluacion del filtro 90 de determination de procesamiento selecciona un dispositivo al que se deberlan reenviar los datos. Los criterios para la logica 104 de evaluacion tambien pueden ser diferentes de los criterios para la logica 92 de evaluacion.
El filtro 102 de escalado se aplica siguiendo al procesamiento de los datos por la logica 64 de procesamiento. Un ejemplo de la logica 64 de procesamiento se muestra en la FIG. 9.
La logica 64 de procesamiento incluye una logica 112 de evaluacion. La logica 112 de evaluacion acepta datos de entrada, tales como datos de un detector 40 de un sensor 14, o datos agregados desde multiples sensores, y procesa los datos para transformar los datos en nuevos datos de salida, modificar datos existentes, o realizar una accion. Los datos procesados se comparan con un umbral 116, tal como un umbral 118 de disparo. El umbral 118 de disparo define un valor que, si el valor de los datos de entrada se eleva por encima o cae por debajo, hace que una accion sea realizada. La logica 112 de evaluacion tambien aplica coincidencia de patrones a los datos para determinar si tomar la accion.
Si la logica 112 de evaluacion indica que los datos exceden el umbral, o que los datos coinciden con un patron predeterminado, la logica 112 de evaluacion puede determinar que un evento esta actualmente en curso o que un evento esta a punto de ocurrir. En este caso, la logica 112 de evaluacion puede generar una notification de evento para ser reenviada a la entidad de pasarela.
Los datos de entrada y/o los datos procesados tambien se comparan con un conjunto de reglas 114 de disparo. El conjunto de reglas 114 de disparo define las reglas 60 en las que las condiciones 82 se relacionan con los datos que se procesan. Por ejemplo, una regla del conjunto de reglas 114 de disparo puede indicar que, si los datos incluyen un patron indicativo de que una persona regresa a su hogar, se deberla encender un dispositivo 18 de salida tal como una luz. Otra regla del conjunto de reglas 114 de disparo puede referirse al envlo de una actualization de estado o notification a otro dispositivo, tal como un dispositivo movil de un usuario, el dispositivo 28 de procesamiento en la nube, o el servicio 30 de terceros.
Las reglas del conjunto de reglas 114 de disparo pueden ser dependientes de la localization, por ejemplo, incluyendo information de localization como una de las condiciones 82. Por ejemplo, si la regla es una regla que se desencadena por una alarma de incendio y desencadena una action 88 de encender un sistema de rociadores, una de las condiciones de la regla puede ser que los rociadores no se deberlan disparar hasta que sea absolutamente necesario si el dispositivo de salida (rociador) esta en un laboratorio informatico o en una sala de servidores.
Volviendo ahora a los parametros 66, 74 de configuration, los parametros ejemplares para la entidad 20 de pasarela y el sensor 14 se representan en las FIG. 10A y 10B, respectivamente.
La FIG. 10A representa los parametros 74 de configuracion para despliegue en una entidad 20 de pasarela. Los parametros 74 de configuracion especifican una lista de dispositivos 120 conectados. La lista de dispositivos 120 conectados incluye un identificador para los dispositivos que estan, o deberlan estar, acoplados comunicativamente a la entidad 20 de pasarela, asl como una indication del tipo de dispositivo. El identificador puede ser una direction del dispositivo, por ejemplo, una direction IPv6. La lista de dispositivos 120 conectados incluye dispositivos que la entidad 20 de pasarela es responsable de supervisar, por ejemplo, los sensores 14, 16 y el dispositivo 18 de salida de la zona 12 monitorizada, asl como otros dispositivos con los que la entidad 20 de pasarela es capaz de comunicarse, por ejemplo, el dispositivo 28 de procesamiento en la nube y el servicio 30 de terceros.
Los parametros 74 de configuracion incluyen una lista de condiciones 122 de dispositivo que representan el estado de los dispositivos en la lista de dispositivos 120 conectados. El estado de los dispositivos refleja cualquiera, o una combination, de estado de comunicacion, por ejemplo, conectado comunicativamente a la entidad 20 de pasarela y/o la red 22, estado de mantenimiento del dispositivo, por ejemplo, el nivel de baterla del dispositivo, si el dispositivo esta programado para mantenimiento, si el dispositivo esta reportando datos anormales, etc., un estado de configuration de los dispositivos, por ejemplo, una lista del(de los) ID(s) 138 de configuracion para los dispositivos) y otros estados.
La lista de condiciones 122 de dispositivo incluye la condition de la entidad 124 de pasarela en si misma, asl como una condicion 126 para los sensores y una condicion 126 para los dispositivos de salida supervisados por la entidad 20 de pasarela. Las condiciones de estado se pueden reportar por los dispositivos en respuesta a una consulta de la entidad 20 de pasarela, a intervalos regulares, o se pueden actualizar por la entidad 20 de pasarela, por ejemplo, en respuesta a no recibir una respuesta o una actualization esperada desde el dispositivo.
Los parametros 74 de configuracion incluyen intervalos 130 de valores esperados para el dispositivo configurado. Los intervalos de valores esperados representan un intervalo de valores para uno o mas parametros operativos o caracterlsticas del dispositivo configurado que indican la operation normal del dispositivo. Si el dispositivo genera un parametro operativo o presenta una caracterlstica fuera de los intervalos 130 de valores esperados, esto puede indicar un mal funcionamiento del dispositivo configurado que requiere mantenimiento. Los parametros de configuracion pueden, por consiguiente, incluir un conjunto de reglas de mantenimiento con un conjunto de reglas 60 a ser aplicadas cuando uno o mas parametros operativos o caracterlsticas caigan fuera de los intervalos 130 de valores esperados. El conjunto de reglas 132 de mantenimiento puede especificar acciones, tales como reportar un malfuncionamiento al servicio 30 de terceros o al usuario, o realizar operaciones de mantenimiento tales como reiniciar el dispositivo, usando hardware o software alternativo, si esta disponible, o restaurar el dispositivo a una configuracion ultima bien conocida.
Los parametros 74 de configuracion tambien incluyen un conjunto de reglas 134 de seguridad que incluye reglas 60 que especifican acciones 88 a ser tomadas en el caso de que se levante una condicion de alarma o cambie el nivel 136 de seguridad de la arquitectura 10.
El nivel 136 de seguridad representa un nivel de vigilancia o un estado de monitorizacion de la arquitectura 10 o una parte de la arquitectura 10. El nivel 136 de seguridad se puede especificar como un valor cuantitativo, por ejemplo, nivel 1, nivel 2, etc., o se puede especificar como un conjunto de “modos”. Ejemplos de “modos” se muestran en la Tabla 1 a continuation:
Figure imgf000033_0001
TABLA 1
El conjunto de reglas 134 de seguridad incluye acciones por defecto a ser tomadas siempre que el nivel 136 de seguridad este en un estado particular. Por ejemplo, si el nivel 136 de seguridad se fija al modo de “emergencia”, el conjunto de reglas 134 de seguridad puede hacer que solicitudes de datos sean enviadas repetidamente a un sensor pertinente.
Los parametros 74 de configuracion desplegados en el dispositivo se pueden personalizar al dispositivo, a la ubicacion en la que se despliega el dispositivo, y/o en base a otras consideraciones. Con el fin de identificar que configuracion esta presente en que dispositivo, que se puede usar, por ejemplo, para determinar si un dispositivo particular es muy adecuado para procesar ciertos tipos de datos, los parametros 74 de configuracion se pueden asociar con uno o mas ID(s) 138 de configuracion. El(los) ID(s) 138 de configuracion puede(n) ser, por ejemplo, una suma de comprobacion, y una cadena de identification, o una serie de marcas que identifican unlvocamente una parte o la totalidad de un conjunto de parametros 74 de configuracion.
Los parametros 74 de configuration tambien incluyen ajustes 140 de configuration por defecto. Los ajustes 140 de configuration por defecto son ajustes para algunos de o todos los parametros 74 de configuration que se aplican en ciertas condiciones, tales como cuando se arranca o se reinicia el dispositivo, o cuando un parametro 74 de configuration esta danado o de otro modo se vuelve inutilizable. A medida que se reciben actualizaciones 78 de configuration, los ajustes 140 de configuration por defecto se pueden actualizar opcionalmente con los nuevos ajustes de configuration contenidos en la actualization 78.
Como se muestra en la FIG. 10B, los parametros 66 de configuration para el despliegue en un sensor 14 son similares a los parametros 74 de configuration de entidad de pasarela. Debido a que el sensor 14 no es responsable tlpicamente de supervisar otros dispositivos en la arquitectura 10, algunos de los elementos de los parametros 74 de configuration de entidades de pasarela se pueden eliminar en los parametros 66 de configuracion del sensor.
Las reglas 60, los filtros 62, la logica 64 de procesamiento, y los parametros 66, 74 de configuration se aplican por dispositivos en la arquitectura para procesar datos de entrada de uno o mas sensores 14. Los metodos realizados por los dispositivos en la arquitectura 10 se describiran a continuation con referencia a las FIG. 11-15.
La FIG. 11 es un diagrama de flujo de datos que muestra un flujo de datos a traves de la arquitectura 10. Por claridad de discusion, la FIG. 11 se centra ante todo en los aspectos de procesamiento de datos y de actualization de configuration descritos anteriormente del proceso 76 de balanceo doble. Algunos de los otros procesos descritos anteriormente se omiten del diagrama de flujo de datos por claridad.
Inicialmente, el sensor 14 primario genera datos del sensor y realiza un paso 142 de filtracion para determinar si procesar los datos del sensor localmente, en el sensor 14 primario, o reenviar los datos del sensor a la entidad 20 de pasarela. En el proceso de filtrado, los datos de entrada del almacenador temporal 54 de datos del sensor se recuperan por el procesador 42. Los datos se pueden agregar opcionalmente con otros datos. El procesador 42 aplica entonces el filtro 90 de determination de procesamiento a los datos.
En base a la logica y los umbrales del filtro 90 de determination de procesamiento, el procesador 42 determina si el(los) filtro(s) indica(n) que los datos se deberlan registrar localmente. Si es asl, los datos se almacenan en la memoria del dispositivo local. Los datos se pueden almacenar durante una cantidad de tiempo predeterminada, o hasta que se borren los datos. Alternativa o adicionalmente, el(los) filtro(s) puede(n) indicar que los datos se deberlan registrar, pero en un dispositivo remoto. Por consiguiente, los datos se pueden reenviar al dispositivo remoto para su registro.
Despues de que o bien se registren los datos, o bien se tome una determination de que los datos no necesitan ser registrados, el procesador 42 determina si el(los) filtro(s) indica(n) que los datos se deberlan procesar localmente. Si no es asl, entonces los datos se reenvlan al siguiente destino indicado por la logica 92 de evaluation (por ejemplo, la entidad 20 de pasarela). Si, por otra parte, el procesador 42 determina que los datos se deberlan procesar localmente, entonces el procesador carga la logica 64 de procesamiento y procesa los datos en el paso 144 de procesamiento local.
En paso 144 de procesamiento local, hay varios resultados posibles. Un resultado posible es que los datos procesados no desencadenan ninguna action. Si los datos procesados no desencadenan una accion y un filtro 102 de escalado no indica que los datos se deberlan escalar para un procesamiento adicional, no se toma ninguna accion y el flujo de datos comienza de nuevo usando los nuevos datos generados por el sensor 14 primario. Si el filtro 102 de escalado indica que los datos se deberlan escalar para procesamiento adicional, entonces los datos del sensor se reenvlan a la entidad 20 de pasarela.
Otro posible resultado es que el procesamiento 144 local desencadene una accion de seguimiento, tal como una notification de evento o una accion realizada por un dispositivo de salida. En estas situaciones, el paso 144 de procesamiento local genera una notificacion de evento y la reenvla a la entidad 20 de pasarela, y/o genera un disparo y lo envla a un dispositivo 18 de salida primario.
Si el procesamiento 144 local realizado en el sensor 14 indica que esta ocurriendo o esta a punto de ocurrir un evento, el sensor 14 genera una notificacion de evento y envla la notificacion de evento a la entidad 20 de pasarela. La notificacion de evento se puede enviar anterior a los datos no procesados o procesados desde el sensor 14. Al recibir la notificacion de evento, el balanceador 68 de la entidad 20 de pasarela asigna recursos, por ejemplo, recursos de procesamiento o recursos de memoria, al sensor 14 y se prepara para recibir datos del sensor 14, por ejemplo, creando o actualizando uno o mas caminos 24 crlticos de temporizacion al sensor 14. El sensor 14 reenvla entonces los datos del sensor directamente a la entidad 20 de pasarela para su evaluacion.
Por consiguiente, el sensor 14 se puede programar con una logica 64 de procesamiento relativamente simple que identifica cuando estan ocurriendo o estan a punto de ocurrir eventos, pero no tiene necesariamente la complejidad para procesar completamente los datos durante un evento. La logica 64 de procesamiento mas compleja se despliega en la entidad 20 de pasarela, que procesa los datos cuando el sensor 14 hace la determination inicial de que los datos sugieren la aparicion de un evento.
Si el paso 144 de procesamiento local hace que una actualization de estado sea enviada a la entidad 20 de pasarela, la entidad 20 de pasarela procesa el cambio de estado, por ejemplo, cambiando el nivel 136 de seguridad y aplicando las reglas aplicables a partir del conjunto de reglas 134 de seguridad. Esto puede implicar el disparo de uno o mas dispositivos 18 de salida.
Si el paso 142 de filtration o el paso 144 de procesamiento local realizado por el sensor primario 14 hacen que los datos del sensor sean enviados a la entidad 20 de pasarela para procesamiento adicional, la entidad 20 de pasarela puede aplicar opcionalmente un paso 142 de filtracion para determinar si la entidad 20 de pasarela deberla procesar los datos del sensor localmente, o a traves de un sensor secundario que sea alcanzable por la entidad 20 de pasarela. Si es asl, la entidad de pasarela realiza un paso 144 de procesamiento local sobre los datos del sensor aplicando la logica 64 de procesamiento de la entidad de pasarela a los datos.
En el paso 144 de procesamiento local realizado por la entidad 20 de pasarela, hay varios posibles resultados. Un posible resultado es que los datos procesados no desencadenan ninguna action. Si los datos procesados no desencadenan una action y un filtro 102 de escalado no indica que los datos se deberlan escalar para procesamiento adicional, no se toma ninguna accion y el flujo de datos puede comenzar de nuevo usando los nuevos datos generados por el sensor 14 primario. Si el filtro 102 de escalado indica que los datos se deberlan escalar para procesamiento adicional, entonces los datos del sensor se reenvlan al dispositivo 28 de procesamiento en la nube.
Otro posible resultado es que el procesamiento 144 local desencadene una accion de seguimiento, tal como un cambio de estado o una accion realizada por un dispositivo de salida. En estas situaciones, el paso 144 de procesamiento local genera una actualizacion de estado y la reenvla al servicio 30 de terceros, cambia el nivel 136 de seguridad en la entidad 20 de pasarela (si es necesario), y desencadena cualquier regla aplicable del conjunto de reglas 134 de seguridad. Por ejemplo, el paso de procesamiento local genera un desencadenador y lo reenvla a un dispositivo 18 de salida primario.
Aun otro posible resultado es que la entidad 20 de pasarela determina, o bien inicialmente o bien a medida que se procesan los datos, que los datos se deberlan reenviar a un sensor 16 secundario que es muy adecuado para procesar los datos del sensor. Por ejemplo, el sensor 16 secundario se puede desplegar con una configuracion 58 especializada que es particularmente bien adecuada para procesar el tipo de datos recibidos desde el sensor 14. Por consiguiente, el paso 144 de procesamiento local de la entidad 20 de pasarela puede reenviar los datos del sensor al sensor 16 secundario para su procesamiento, y puede recibir una actualizacion de estado en respuesta.
Alternativa o adicionalmente, el paso 144 de procesamiento local puede determinar que se necesitan datos suplementarios con el fin de procesar los datos del sensor. Si el sensor 16 secundario ya ha almacenado datos en el almacenador temporal 70 de datos del sensor de la entidad 20 de pasarela, la entidad de pasarela recupera los datos del sensor secundario desde su memoria 52. Alternativamente, el paso 144 de procesamiento local puede enviar una solicitud al sensor 16 secundario, y recibir datos del sensor desde el sensor 16 secundario en respuesta.
El paso 142 de filtracion y/o el paso 144 de procesamiento local realizados por la entidad 20 de pasarela pueden hacer que los datos del sensor sean reenviados al procesador 28 en la nube para procesamiento adicional. El procesador 28 en la nube aplica un paso 142 de filtracion local (no mostrado) y un paso 144 de procesamiento a los datos. Similar al paso 144 de procesamiento local realizado por la entidad 20 de pasarela, el procesador 28 en la nube puede determinar que se necesitan datos adicionales a partir de un sensor 16 secundario.
Si el paso 144 de procesamiento local realizado por el procesador 30 en la nube o de terceros genera una actualizacion de estado y/o cualquier desencadenador para el dispositivo 18 de salida, la actualizacion de estado y el(los) desencadenador(es) se envlan a la entidad 20 de pasarela y/o al servicio 30 de terceros para ser actuado en consecuencia.
Tambien se pueden enviar actualizaciones de configuracion a la entidad 20 de pasarela como una salida del paso 144 de procesamiento local realizado por el dispositivo 28 de procesamiento en la nube. Las actualizaciones de configuracion pueden cambiar los ajustes de configuracion de la entidad 20 de pasarela.
Se senala que, aunque la FIG. 11 muestra el sensor 14 que reenvla datos a la entidad 20 de pasarela para su analisis, el sensor 14 tambien puede reenviar datos directamente al dispositivo 30 de procesamiento en la nube o de terceros.
La FIG. 12 representa un procedimiento 146 de operacion ejemplar adecuado para su uso por el sensor 14, y cualquier otro sensor en la arquitectura 10. El procedimiento comienza en el paso 148, donde se inicializa el sensor. Esto puede implicar, por ejemplo, realizar comprobaciones de inicio del sistema, cargar los ajustes 140 de configuration por defecto desde la memoria, fijar cualquier parametro pertinente en la configuration 58 en base a los ajustes 140 de configuration por defecto, inicializar los almacenadores temporales 54, 56, establecer comunicacion con la entidad 20 de pasarela a traves de la interfaz 46 de comunicacion, y aplicar reglas de mantenimiento pertinentes a partir del conjunto de reglas 132 de mantenimiento.
El procesado entonces pasa al paso 150, donde el sensor 14 comprueba el almacenador temporal 56 de red para nuevos mensajes. Si el sensor 14 determina, en el paso 152, que el almacenador temporal 56 de red incluye un nuevo desencadenador o solicitud de acceso remoto, por ejemplo, de la entidad 20 de pasarela, entonces el procesamiento pasa al paso 154 y se procesa el mensaje de desencadenador o solicitud. En el caso de un desencadenador, el sensor 14 puede analizar sintacticamente el mensaje de desencadenador para recuperar una action que el sensor 14 solicita tomar, tal como disparar un dispositivo 18 de salida accesible al sensor 14.
En el caso de una solicitud de acceso remoto, el sensor 14 analiza sintacticamente la solicitud para identificar una entidad que esta solicitando acceso a las capacidades del sensor. El sensor 14 evalua o autentica la entidad para determinar si la entidad esta autorizada para acceder a las capacidades solicitadas. Si es asl, el sensor abre o se conecta a un canal de comunicacion con la entidad solicitante, y ejecuta comandos autorizados desde la entidad solicitante que permiten a la entidad solicitante controlar las capacidades de sensor que fueron el objeto de la solicitud. Por ejemplo, el servicio 30 de terceros puede presentar una solicitud de acceso remoto a una camara de video, y puede presentar comandos para controlar las capacidades de posicionamiento de la camara de video, por ejemplo, hacer una panoramica, inclinarse, y rotar. Alternativamente, el servicio 30 de terceros podrla solicitar acceso a datos de audio y/o video de la camara, y se podrla dotar con acceso al almacenador temporal 54 de datos de la camara.
El procesamiento vuelve entonces al paso 150, donde se comprueba el almacenador temporal 56 de red para desencadenadores o solicitudes de acceso remoto adicionales.
Si la determination en el paso 152 es "NO”; es decir, no estan presentes nuevos desencadenadores o solicitudes de acceso remoto en el almacenador temporal 56 de red, el procesamiento pasa al paso 156 y el siguiente lote de datos se recupera del almacenador temporal 54 de datos.
El procesado entonces pasa al paso 158, donde el sensor 14 determina si un evento ya esta en curso. Por ejemplo, si el procesamiento previo realizado por el sensor hizo al sensor enviar una notificacion de evento a la entidad 20 de pasarela, entonces el sensor 14 puede establecer una marca de "evento en curso” en una ubicacion designada en la memoria 52 del sensor. Cuando el sensor 14 o la entidad 20 de pasarela determina que el evento ha terminado, el sensor 14 puede reiniciar la marca de "evento en curso”. En el paso 158, el sensor 14 puede comprobar la marca de evento en curso para evaluar si un evento esta en curso actualmente.
Si el resultado en el paso 158 es "SI”; es decir, un evento esta actualmente en curso, entonces el sensor 14 pasa directamente al paso 166 y reenvla los datos del sensor desde el almacenador temporal 54 de datos directamente a la entidad de pasarela para su procesamiento.
Si el resultado en el paso 158 es "NO”; es decir, un evento no esta actualmente en curso, entonces el sensor 14 pasa al paso 160 y realiza la filtracion y/o procesamiento, por ejemplo, que corresponde a los pasos 142 y 144 de FIG. 11, sobre los datos. En base a la filtracion y/o procesamiento, el sensor evalua, en el paso 162, si los datos recien procesados indican que esta ocurriendo actualmente o se preve que ocurra un evento. Si no es asl, entonces el procesamiento vuelve al paso 150 y se comprueba de nuevo el almacenador temporal para nuevos mensajes.
Si la determination en el paso 162 es "SI”; es decir, esta ocurriendo o se preve que ocurra un evento, entonces el procesamiento pasa al paso 164 y el sensor 14 transmite una notificacion de evento a la entidad 20 de pasarela para informar a la entidad 20 de pasarela que los datos del sensor estaran llegando a la entidad de pasarela en un futuro proximo. En respuesta, la entidad de pasarela asigna recursos en preparation para recibir los datos. El procesamiento pasa entonces al paso 166, en el que se transmite el siguiente lote de datos en bruto a la entidad 20 de pasarela.
Algunos de o todos los pasos del procedimiento 146 de operation se pueden realizar en paralelo, si el procesador 42 del sensor 14 soporta procesamiento paralelo. Por ejemplo, la FIG. 12 separa los pasos usados para procesar desencadenadores y solicitudes de acceso remoto de los pasos usados para procesar los datos del sensor. Los desencadenadores/las solicitudes de acceso remoto se realizan en un primer hilo 168, y los pasos de procesamiento de datos del sensor se realizan en un segundo hilo 170. Si los pasos del procedimiento 146 de operacion se van a realizar en paralelo, entonces el paso 148 de inicializacion puede incluir la creacion de nuevos hilos para conjuntos de procedimientos paralelos.
La FIG. 13 representa un procedimiento 172 de operation correspondiente adecuado para el realizar por una entidad 20 de pasarela. El procedimiento 172 comienza en el paso 174, cuando se inicializa la entidad 20 de pasarela. Esto puede implicar, por ejemplo, realizar comprobaciones de inicio del sistema, cargar los ajustes 140 de configuration por defecto desde la memoria, establecer cualquier parametro pertinente en la configuracion 58 en base a los ajustes 140 de configuracion por defecto, inicializar los almacenadores temporales 54, 56 de datos, establecer la comunicacion con los dispositivos en la lista de dispositivos 120 conectados, y aplicar reglas de mantenimiento pertinentes a partir del conjunto de reglas 132 de mantenimiento.
El procesamiento pasa entonces al paso 176, donde se comprueba el almacenador temporal 56 de red para determinar si hay cualquier mensaje pendiente de evaluation. Debido a que la entidad 20 de pasarela maneja muchos tipos diferentes de mensajes, los mensajes se clasifican en los pasos 178, 184, 188 y 190. Los diferentes tipos de mensajes se manejan en orden de prioridad, por ejemplo, mensajes que tienen notificaciones de eventos, que podrlan incluir una condition de alarma, se pueden procesar antes que mensajes que tengan nuevos datos del sensor para procesamiento.
En el paso 178, la entidad 20 de pasarela determina si hay una notification de evento pendiente. Si es asl, el procesamiento pasa al paso 180 y se procesa la notificacion de evento. En el paso 180, el balanceador 68 de la entidad de pasarela asigna recursos para el sensor 14 que presento la notificacion de evento. La cantidad de recursos asignados puede depender del tipo de sensor que presento la notificacion de evento o el tipo de evento. Por ejemplo, el procesamiento de datos de un detector de humo puede implicar comprobaciones relativamente simples, tales como si el detector 40 lee un valor por encima de un umbral que indica la presencia de humo en la habitation y/o comprobacion de un termometro cercano. Por otra parte, el procesamiento de datos de un sensor de rotura de cristal puede implicar pasos de procesamiento de audio complejos y, por lo tanto, el balanceador 68 puede asignar mas recursos en respuesta a una notificacion de evento de un sensor de rotura de cristal que de un detector de humo.
El procesamiento entonces pasa al paso 182, y se evalua/ejecuta el conjunto de reglas 134 de seguridad. Si el nivel 136 de seguridad se cambia por el conjunto de reglas de seguridad, la entidad 20 de pasarela puede actualizar el nivel 136 de seguridad. Una vez que se dirige la notificacion de evento, el procesamiento entonces vuelve al paso 176 y el almacenador temporal 56 de red se comprueba para mensajes adicionales.
En el paso 184, la entidad 20 de pasarela determina si hay un nuevo mensaje de disparo pendiente. Si es asl, el procesamiento pasa al paso 186 y la entidad de pasarela reenvla el mensaje de disparo a los dispositivos 18 de salida afectados. El procesamiento entonces vuelve al paso 176 y se comprueba el almacenador temporal 56 de red para mensajes adicionales.
En el paso 188, la entidad 20 de pasarela determina si hay nuevos datos del sensor a ser procesados. Si es asl, el procesamiento pasa a los pasos 142 y 144 y se realizan los metodos de filtracion y procesamiento de la entidad de pasarela. Si estan pendientes de ser procesados multiples lotes de datos, la entidad 20 de pasarela puede priorizar los datos para los que se ha recibido una notification de evento, y puede priorizar eventos de prioridad alta sobre eventos de prioridad baja. Despues de que se procesan los datos del sensor, el procesamiento vuelve al paso 176 y se comprueba el almacenador temporal 56 de red para mensajes adicionales.
En el paso 190, la entidad 20 de pasarela determina si hay cualquier mensaje de configuration pendiente. Si es asl, el procesamiento pasa al paso 192 y se recupera la siguiente actualization 78 de configuracion del almacenador temporal 56 de red. En el paso 194, la actualizacion 78 de configuracion recuperada se analiza sintacticamente para separar los elementos respectivos, por ejemplo, las reglas 60, los filtros 62, la logica 64 de procesamiento, y los parametros 66 de configuracion, de la actualizacion 78 de configuracion. Por ejemplo, si los elementos estan separados por un caracter designado, la entidad de pasarela lee la actualizacion 78 de configuracion hasta que se alcanza el caracter designado, e identifica los datos leldos con el elemento adecuado de la actualizacion 78 de configuracion. Alternativamente, la cabecera 80 puede especificar donde encontrar los elementos respectivos de la actualizacion 78 de configuracion.
En el paso 196, se evaluan los elementos respectivos para determinar como actualizar la configuracion 74 de la entidad de pasarela. Por ejemplo, la entidad 20 de pasarela determina si el elemento de la actualizacion 78 de configuracion es un nuevo elemento de configuracion o es una nueva version de un elemento de configuracion existente ya desplegado en la entidad 20 de pasarela. Si no existe ningun elemento de configuracion correspondiente, por ejemplo, el elemento de configuracion es una nueva regla a ser anadida al conjunto de reglas 114 de disparo, entonces el elemento de configuracion se anade a la configuracion 74. Si existe un elemento de configuracion correspondiente, por ejemplo, el elemento de configuracion es una nueva version de una regla existente en el conjunto de reglas 114 de disparo, entonces el nuevo elemento de configuracion sobrescribe el elemento de configuracion antiguo.
El procesamiento vuelve entonces al paso 176 y se comprueba el almacenador temporal 56 de red para mensajes adicionales.
Algunos de o todos los pasos del procedimiento 172 de operacion se pueden realizar en paralelo. La FIG. 13 representa una realization ejemplar en la que las actualizaciones de estado se procesan en un primer hilo, los mensajes de disparo se procesan en un segundo hilo, los datos del sensor se procesan en un tercer hilo, y las actualizaciones de estado se procesan en un cuarto hilo. Si las etapas del procedimiento 172 de operacion van a ser realizadas en paralelo, entonces el paso 174 de initialization puede incluir la creation de nuevos hilos para conjuntos de procedimientos paralelos.
Los procedimientos ejemplares descritos en las FIG. 11-13 pueden formar parte del proceso 76 de balanceo doble. Estos procedimientos se pueden complementar con procedimientos adicionales segun sea necesario o aplicable.
Las FIG. 14A-14B representan un ejemplo del proceso 76 de balanceo doble funcionando.
En el paso 198, la entidad 20 de pasarela envla un mensaje de supervision a un primer sensor 14, solicitando que el sensor confirme que esta operativo y conectado a la entidad 20 de pasarela. En el paso 200, el sensor responde reconociendo el mensaje de supervision, y por lo tanto la entidad de pasarela no toma ninguna action (paso 202) en respuesta al reconocimiento.
Por el contrario, cuando la entidad 20 de pasarela envla un mensaje de supervision, en el paso 204, a un segundo sensor 16, la entidad de pasarela no recibe ninguna respuesta (paso 206). Por consiguiente, en el paso 208, la entidad de pasarela senala que el segundo sensor 16 ha fallado, y reporta el fallo al dispositivo 28 de procesamiento en la nube. El dispositivo 28 de procesamiento en la nube senala, en el paso 210, que el segundo sensor ha fallado, y reporta el fallo al servicio 30 de terceros. En el paso 212, el servicio 30 de terceros senala que ha fallado el segundo sensor 16.
En el paso 214, el primer sensor 14 detecta la aparicion de un evento, y envla una notificacion de evento a la entidad 20 de pasarela. En respuesta a la notificacion de evento, en el paso 216 la entidad 20 de pasarela invoca que el balanceador 68 asigne recursos para el primer sensor 14.
En el paso 218, el primer sensor 14 envla datos en bruto a la entidad 20 de pasarela, que la entidad 20 de pasarela procesa en el paso 220. En este ejemplo, la entidad 20 de pasarela determina, en el paso 220, que los datos desencadenan una accion a partir del conjunto de reglas 114 de disparo. En este caso, la accion implica generar un aviso vocal de vuelta al primer sensor 14 con el fin de solicitar informacion adicional. Por consiguiente, en el paso 224, la entidad 20 de pasarela genera un aviso vocal, por ejemplo, “Se ha detectado un evento por el primer sensor. ^Necesita ayuda?”. El aviso vocal puede ser un aviso predeterminado almacenado en el conjunto de reglas 114 de disparo, o se puede generar dinamicamente por la entidad 20 de pasarela. Por ejemplo, la entidad 20 de pasarela puede generar un archivo de texto que contiene informacion a ser transmitida al primer sensor 14, y puede usar algoritmos de texto a habla para convertir el archivo de texto a un flujo de audio.
En el paso 226, la pasarela envla una solicitud de acceso remoto al primer sensor 14, solicitando que el primer sensor 14 de el control del altavoz y del microfono del sensor. En respuesta, el sensor 14 abre un canal con la entidad 20 de pasarela para permitir que tenga lugar la comunicacion de audio bidireccional, y reproduce el aviso generado en el paso 224 a traves del altavoz del sensor.
En el paso 228, la entidad 20 de pasarela recibe un reconocimiento de que el sensor 14 ha aceptado las solicitudes de acceso remoto, y comienza una interaccion bidireccional con cualquier usuario en presencia del sensor 14, usando realimentacion de audio y algoritmos de habla a texto. La entidad 20 de pasarela reenvla los datos de audio recibidos desde el sensor 14 al dispositivo 28 de procesamiento en la nube en el paso 230, que a su vez realiza procesamiento avanzado de los datos, graba y registra el audio para referencia futura, y facilita el procesamiento de los requisitos en la entidad 20 de pasarela generando dinamicamente un diccionario de interaccion en base al contenido del audio recibido. Por ejemplo, el dispositivo 28 de procesamiento en la nube dota a la entidad 20 de pasarela con una lista de palabras o frases que son aplicables en el contexto del audio recibido, y la entidad de pasarela usa la lista de palabras y frases para continuar una conversation en tiempo real a traves del primer sensor 14.
Por ejemplo, en respuesta al mensaje inicial de la entidad de pasarela “^necesita asistencia?”. Un usuario puede haber respondido con “si, hay un incendio en la casa”. En respuesta, el dispositivo 28 de procesamiento en la nube genera un diccionario de interaccion que incluye frases tales como “^cuantas personas hay en la casa?”, “^Pueden salir todos con seguridad de la casa?”, y “^donde esta situada actualmente la persona que necesita asistencia?” Si la entidad 20 de pasarela averigua que alguien no puede salir con seguridad de la casa, la entidad 20 de pasarela puede entonces, usando el diccionario de interaccion, generar un aviso preguntando donde esta situado el usuario que necesita asistencia.
En el paso 232, el sensor 14 recibe una entrada de audio que reconoce el evento; por ejemplo, “si, hay un incendio en la casa”. El sensor 14 mantiene el canal de audio abierto en el paso 226 y continua reenviando datos de audio a la entidad 20 de pasarela.
En el paso 234, habiendo recibido un reconocimiento de que esta teniendo lugar el suceso, la entidad 20 de pasarela determina que deberla contactar con otros sensores en las inmediaciones del primer sensor 14. Por consiguiente, el balanceador 68 de la entidad 20 de pasarela asigna recursos adicionales para los multiples sensores.
En el paso 236, la entidad 20 de pasarela difunde una alarma de audio, por ejemplo, “se ha detectado una emergencia; por favor, avance con calma a la salida mas cercana”, a todos los sensores en las inmediaciones del primer sensor 14. Por ejemplo, la alarma de audio puede estar en forma de un mensaje de disparo que contiene una grabacion de audio e instrucciones para reproducir la grabacion de audio a traves de los altavoces del sensor. En los pasos 238-242, los sensores en las inmediaciones del primer sensor 14, excepto para el segundo sensor 16, que presentaba un fallo en los pasos 206-212, reciben la alarma de audio y reproducen la alarma de audio a traves de su respectivo altavoz.
Mientras tanto, en el paso 238, el dispositivo 28 de procesamiento en la nube inicia una llamada a una estacion de monitorizacion del servicio 30 de terceros. Ademas, en el paso 240, el dispositivo 28 de procesamiento en la nube inicia una llamada al 911 para convocar a los primeros respondedores. El dispositivo 28 de procesamiento en la nube transfiere la llamada del 911 al servicio 30 de terceros, que conecta la llamada en el paso 242 y transmite las coordenadas GPS, por ejemplo, desde la entidad 20 de pasarela y/o el primer sensor 14) al servicio 911.
Simultaneamente, en el paso 244, la entidad 20 de pasarela se conecta remotamente al servicio 30 de terceros y al servicio 911, y presenta una solicitud de acceso remoto a los sensores accesibles, pasos 246-250. La entidad 20 de pasarela accede a los datos del sensor y los proporciona al servicio 30 de terceros y al servicio 911. En el paso 252, el servicio 30 de terceros recibe los datos del sensor y mantiene una conexion de audio y video con la zona 12 monitorizada a traves de los sensores accedidos remotamente.
Una vez que se determina que el evento esta concluido, la entidad 20 de pasarela, en el paso 254, invoca al balanceador 68 para liberar los recursos asignados al evento, y vuelve a un modo de supervision.
Como se puede ver a partir de este ejemplo y las realizaciones descritas anteriormente, el proceso 76 de balanceo doble permite procesar trabajos en la arquitectura 10 para ser distribuidos entre los diferentes niveles de la jerarqula 32 segun sea adecuado, ahorrando recursos de procesamiento en los sensores 14, 16 y la entidad 20 de pasarela. Debido a que los sensores solamente necesitan procesar information basica para determinar si esta ocurriendo un evento y luego pueden reenviar los datos a la entidad 20 de pasarela, los sensores pueden operar con menos recursos de procesamiento, haciendolos de esta manera menos costosos y mas capaces de operar en modos de baja potencia o inactivo. Ademas, las tareas de procesamiento complejas se pueden realizar en los niveles mas altos de la jerarqula 32, permitiendo que sean realizados un analisis de datos y procedimientos mas complicados, tales como interacciones de audio en tiempo real.
Como se usa en la presente memoria, un elemento o paso expuesto en singular y precedido con la palabra "un” o "una” se deberla entender que no excluye elementos o pasos plurales, a menos que tal exclusion se exponga expllcitamente. Ademas, referencias a "una realization” no tienen que ser interpretadas como que excluyen la existencia de realizaciones adicionales que tambien incorporen las caracterlsticas expuestas.
Aunque se han descrito en la presente memoria ciertas realizaciones de la descripcion, no se pretende que la description se limite a las mismas, ya que se pretende que la description sea tan amplia en su alcance como la tecnica permita y que la especificacion se lea del mismo modo. Por lo tanto, la descripcion anterior no se deberla interpretar como limitante, sino meramente como ejemplificaciones de realizaciones particulares. Los expertos en la tecnica imaginaran otras modificaciones dentro del alcance y del esplritu de las reivindicaciones adjuntas a la presente memoria.

Claims (18)

REIVINDICACIONES
1. Una entidad de pasarela comprende:
una memoria operable para almacenar datos de un sensor que tiene procesamiento de sensor o recursos de memoria; y
un procesador operable para:
recibir una notificacion de evento desde el sensor que indica que el sensor se predetermina a traves de al menos un procedimiento parcial de datos de que un evento que requiere una consideracion de procesamiento que ha ocurrido o se preve que ocurra un evento,
asignar, en respuesta a la notificacion de eventos, el procesamiento de la entidad de pasarela adicional o los recursos de memoria mas alla del procesamiento del sensor o los recursos de memoria para proporcionar un procesamiento adicional o recursos de memoria para procesar los datos del sensor
recibir datos del sensor,
procesar los datos recibidos usando los recursos asignados a la entidad de pasarela,
liberar los recursos de la entidad de pasarela cuando se concluya el evento,
recibir una determinada actualizacion de configuracion por una entidad de nivel superior, que cambia la logica de procesamiento utilizada por la entidad de pasarela,
procesar la actualizacion de configuracion para cambiar la logica de procesamiento,
suministrar la logica de procesamiento cambiada para analizar los datos recibidos desde el sensor; y
en el que los datos recibidos incluyen datos de audio, y el procesador es operable ademas para generar una interaccion de audio en tiempo real usando un diccionario de interaccion proporcionado por un dispositivo de procesamiento en la nube.
2. La entidad de pasarela de la reivindicacion 1, en el que la memoria almacena ademas la logica de procesamiento especffica para un tipo de datos generados por el sensor.
3. La entidad de pasarela de la reivindicacion 1, en el que el procesador es operable ademas para transmitir una solicitud de acceso remoto al sensor, la solicitud de acceso remoto que da instrucciones al sensor para dar el control sobre uno o mas componentes del sensor a la entidad de pasarela.
4. La entidad de pasarela de la reivindicacion 1, en el que el procesador es operable ademas para generar un desencadenador en respuesta a los datos recibidos, el desencadenador que da instrucciones a un dispositivo de salida para tomar una accion.
5. La entidad de pasarela de la reivindicacion 1, en el que la asignacion de los recursos se realiza en base a un tipo del sensor o un tipo de los datos proporcionados por el sensor.
6. Un metodo que comprende:
recibir, en un procesador de una entidad de pasarela desde un sensor, una notificacion de evento que indica que el sensor ha determinado previamente a traves del procesamiento de los datos que se esta produciendo un evento que requiere una consideracion adicional de procesamiento en el sensor, el sensor tiene procesamiento del sensor o los recursos de memoria;
asignar, en respuesta a la notificacion de eventos, procesamiento de la entidad de pasarela adicional o recursos de memoria mas alla del procesamiento del sensor o recursos de memoria para proporcionar procesamiento adicional o recursos de memoria para procesar datos del sensor;
establecer un camino crftico de temporizacion entre la entidad de pasarela y el sensor;
recibir los datos del sensor en la entidad de pasarela;
procesar los datos recibidos en tiempo real o casi en tiempo real utilizando los recursos de la entidad de pasarela asignados;
desencadenar una accion en respuesta al procesamiento de los datos recibidos;
recibir una actualizacion de configuracion determinada por una entidad de nivel superior, para cambiar la logica de procesamiento utilizada por la entidad de pasarela;
procesar la actualizacion de configuracion para cambiar la logica de procesamiento;
aplicar la logica de procesamiento modificada para analizar los datos recibidos del sensor; y
en el que desencadenar la accion comprende el acoplamiento en una interaccion de audio bidireccional con el sensor.
7. El metodo de la reivindicacion 6, en el que desencadenar la accion comprende reenviar los datos recibidos a un dispositivo de procesamiento en la nube para procesamiento avanzado.
8. El metodo de la reivindicacion 6, en el que desencadenar la accion comprende disparar un dispositivo de salida para activar una alarma.
9. El metodo de la reivindicacion 6, en el que desencadenar la accion comprende proporcionar datos desde el sensor a un servicio de primer respondedor.
10. El metodo de la reivindicacion 6, en el que la interaccion de audio bidireccional se dirige en base a un diccionario de interaccion proporcionado por un dispositivo de procesamiento en la nube.
11. El metodo de la reivindicacion 6, que comprende, ademas:
determinar que el evento esta completado, y
liberar los recursos asignados.
12. El metodo de la reivindicacion 6, en el que la entidad de pasarela determina, en respuesta a los datos del sensor, interactuar con sensores adicionales, y
la entidad de pasarela asigna recursos adicionales para la interaccion con multiples sensores.
13. Una entidad de pasarela que se puede proporcionar entre una red de sensores y una entidad de pasarela de empresa o un dispositivo de procesamiento en la nube, que comprende:
una memoria operable para almacenar datos de un sensor de la red de sensores, el sensor tiene procesamiento de sensores o recursos de memoria; y
un procesador operable para:
recibir una notificacion de evento del sensor indicativo de que el sensor se predetermina a traves de al menos un procesamiento parcial de los datos de que un evento ha ocurrido o se preve que ocurra, lo que requiere un procesamiento en tiempo real o casi en tiempo real por parte de un dispositivo a parte del sensor;
asignar, en respuesta a la notificacion de eventos, el procesamiento adicional de la entidad de pasarela o los recursos de memoria de la entidad de pasarela, mas alla del procesamiento del sensor o los recursos de memoria del sensor, para proporcionar un procesamiento adicional o recursos de memoria para procesar los datos del sensor;
recibir datos del sensor,
procesar los datos recibidos utilizando los recursos de entidad de pasarela asignados,
liberar los recursos de la entidad de pasarela cuando se concluya el evento,
recibir una actualizacion de configuracion determinada por la entidad de pasarela de empresa o el dispositivo de procesamiento en la nube, para cambiar una configuracion de procesamiento utilizada por la entidad de pasarela,
procesar la actualizacion de la configuracion para cambiar la configuracion de procesamiento utilizada por la entidad de pasarela, y
aplicar la configuracion de procesamiento modificada para analizar los datos recibidos del sensor.
14. La entidad de pasarela de la reivindicacion 13, en la que la actualizacion de configuracion de la entidad de pasarela de empresa o el dispositivo de procesamiento en la nube responde a una diferencia en los resultados de determinacion de la entidad de pasarela de empresa o el dispositivo de procesamiento en la nube que procesa los datos recibidos.
15. La entidad de pasarela de la reivindicacion 13, en la que la actualizacion de configuracion de la entidad de pasarela de empresa o el dispositivo de procesamiento en la nube, actualiza al menos una de las reglas, filtros, logica de procesamiento y parametros de configuracion de la entidad de pasarela.
16. La entidad de pasarela de la reivindicacion 13, en la que el procesador es operable ademas para transmitir una solicitud de acceso remoto al sensor, la solicitud de acceso remoto indica al sensor que ceda el control sobre uno o mas componentes del sensor a la entidad de pasarela.
17. La entidad de puerta de enlace de la reivindicacion 13, en el que el procesador es operable para generar un disparador en respuesta a los datos recibidos, el disparador le indica a un dispositivo de salida que realice una accion.
18. La entidad de pasarela de la reivindicacion 13, en la que la asignacion de recursos se realiza en funcion de un tipo de sensor o un tipo de los datos proporcionados por el sensor.
ES201790010A 2014-10-03 2015-10-02 Método y aparato para balancear recursos en una arquitectura de automatización y alarma Active ES2646632B2 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462059410P 2014-10-03 2014-10-03
US62/059,410 2014-10-03
US14/857,900 US10592306B2 (en) 2014-10-03 2015-09-18 Method and apparatus for resource balancing in an automation and alarm architecture
US14/857,900 2015-09-18
PCT/CA2015/051000 WO2016049778A1 (en) 2014-10-03 2015-10-02 Method and apparatus for resource balancing in an automation and alarm architecture

Publications (3)

Publication Number Publication Date
ES2646632A2 ES2646632A2 (es) 2017-12-14
ES2646632R1 ES2646632R1 (es) 2018-03-13
ES2646632B2 true ES2646632B2 (es) 2019-05-03

Family

ID=55629218

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201790010A Active ES2646632B2 (es) 2014-10-03 2015-10-02 Método y aparato para balancear recursos en una arquitectura de automatización y alarma

Country Status (5)

Country Link
US (1) US10592306B2 (es)
ES (1) ES2646632B2 (es)
GB (1) GB2550476B (es)
MX (1) MX2017004286A (es)
WO (1) WO2016049778A1 (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9812126B2 (en) * 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US10958531B2 (en) * 2015-12-16 2021-03-23 International Business Machines Corporation On-demand remote predictive monitoring for industrial equipment analysis and cost forecast
US10952050B2 (en) * 2015-12-18 2021-03-16 Archimedes Controls Corp. Intelligent multi-channel wireless data acquisition gateway
CN106559579B (zh) * 2016-11-30 2020-08-21 契科基纳(南京)科技有限公司 移动终端和cpu/gpu调度参数更新方法
US10923104B2 (en) 2017-06-30 2021-02-16 Ademco Inc. Systems and methods for customizing and providing automated voice prompts for text displayed on a security system keypad
US10673715B2 (en) * 2017-07-20 2020-06-02 Servicenow, Inc. Splitting network discovery payloads based on degree of relationships between nodes
CN110832880B (zh) * 2017-08-03 2022-06-03 欧姆龙株式会社 传感器管理单元、传感器装置、传感器管理方法和传感器管理程序
US11134320B2 (en) * 2017-08-03 2021-09-28 Omron Corporation Sensor management unit, sensor device, sensor management method, and sensor management program
US10833923B2 (en) 2017-10-26 2020-11-10 Skylo Technologies Inc. Dynamic multiple access for distributed device communication networks with scheduled and unscheduled transmissions
US10306442B1 (en) 2018-01-16 2019-05-28 Skylo Technologies Inc. Devices and methods for specialized machine-to-machine communication transmission network modes via edge node capabilities
US11163434B2 (en) 2019-01-24 2021-11-02 Ademco Inc. Systems and methods for using augmenting reality to control a connected home system
US11520946B2 (en) 2019-04-09 2022-12-06 Johnson Controls Tyco IP Holdings LLP Cloud-based fire protection system and method
US11799736B2 (en) * 2019-12-27 2023-10-24 Digital Guardian Llc Systems and methods for investigating potential incidents across entities in networked environments
WO2022195300A1 (en) * 2021-03-18 2022-09-22 Citrix Systems, Inc. Context-based generation of activity feed notifications

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309146A (en) 1988-05-03 1994-05-03 Electronic Environmental Controls Inc. Room occupancy indicator means and method
US5568535A (en) 1992-06-01 1996-10-22 Trackmobile, Inc. Alarm system for enclosed area
US5864286A (en) 1995-05-16 1999-01-26 General Signal Corporation Distributed intelligence alarm system having a two- tier monitoring process for detecting alarm conditions
US7015806B2 (en) 1999-07-20 2006-03-21 @Security Broadband Corporation Distributed monitoring for a video security system
US6317042B1 (en) 2000-05-01 2001-11-13 Lucent Technologies Inc. Automated emergency announcement system
US7047196B2 (en) * 2000-06-08 2006-05-16 Agiletv Corporation System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US20090120653A1 (en) 2003-07-31 2009-05-14 Michael Steven Thomas Fire suppression delivery system
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7193508B2 (en) * 2004-02-12 2007-03-20 Hill Philip A Portable security system
US7629880B2 (en) 2004-03-09 2009-12-08 Ingrid, Inc. System, method and device for detecting a siren
US8248226B2 (en) 2004-11-16 2012-08-21 Black & Decker Inc. System and method for monitoring security at a premises
US8041772B2 (en) * 2005-09-07 2011-10-18 International Business Machines Corporation Autonomic sensor network ecosystem
US20070249319A1 (en) * 2006-04-24 2007-10-25 Faulkner Mark A Power distribution communication system employing gateway including wired and wireless communication interfaces
US8065411B2 (en) * 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US7971143B2 (en) 2006-10-31 2011-06-28 Microsoft Corporation Senseweb
US20080177683A1 (en) 2007-01-23 2008-07-24 No Brian Y Method and apparatus for mobile intelligence
US20090195382A1 (en) * 2008-01-31 2009-08-06 Sensormatic Electronics Corporation Video sensor and alarm system and method with object and event classification
WO2009111801A2 (en) * 2008-03-07 2009-09-11 Tendril Networks, Inc. Apparatus and method for dynamic licensing access to wireless network information
US20090273462A1 (en) * 2008-05-01 2009-11-05 Honeywell International Inc. Using fixed mobile convergence femtocells for alarm reporting
US9210220B2 (en) * 2008-09-29 2015-12-08 Andrew Steckley System and method for intelligent automated remote management of electromechanical devices
US9679449B2 (en) 2008-12-30 2017-06-13 Oneevent Technologies, Inc. Evacuation system
DE102009016154A1 (de) 2009-04-03 2010-10-14 Hekatron Vertriebs Gmbh Thermogeneratoranordnung, thermischer Schalter und Verfahren zum Betreiben einer elektrischen Vorrichtung
US8886206B2 (en) 2009-05-01 2014-11-11 Digimarc Corporation Methods and systems for content processing
US20110317007A1 (en) 2010-06-24 2011-12-29 Kim Ki-Il Smoke and carbon monoxide alarm device having a video camera
GB2483057B (en) * 2010-08-20 2012-11-28 Wireless Tech Solutions Llc Apparatus, method and system for managing data transmission
CN102487525A (zh) * 2010-12-02 2012-06-06 中国移动通信集团上海有限公司 告警信息传输方法、无线传感器节点设备、网关节点设备
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US8907799B2 (en) 2011-03-07 2014-12-09 Flamesniffer Pty Ltd Fire detection
US20130150686A1 (en) 2011-12-07 2013-06-13 PnP INNOVATIONS, INC Human Care Sentry System
US9477936B2 (en) 2012-02-09 2016-10-25 Rockwell Automation Technologies, Inc. Cloud-based operator interface for industrial automation
US9372213B2 (en) 2012-02-15 2016-06-21 Alpha and Omega, Inc. Sensors for electrical connectors
US8710983B2 (en) 2012-05-07 2014-04-29 Integrated Security Corporation Intelligent sensor network
US9046414B2 (en) 2012-09-21 2015-06-02 Google Inc. Selectable lens button for a hazard detector and method therefor
CN103685195A (zh) 2012-09-21 2014-03-26 华为技术有限公司 用户验证处理方法、用户设备和服务器
US8498864B1 (en) * 2012-09-27 2013-07-30 Google Inc. Methods and systems for predicting a text
US9064389B1 (en) * 2012-11-13 2015-06-23 e-Control Systems, Inc. Intelligent sensor for an automated inspection system
US10529215B2 (en) 2012-11-16 2020-01-07 Vapor Products Group, Llc Remote environmental condition monitoring and reporting
US20150313172A1 (en) 2012-11-23 2015-11-05 Robin JOHNSTON System and method for monitoring farm related equipment
US9262906B2 (en) 2013-03-14 2016-02-16 Comcast Cable Communications, Llc Processing sensor data
US9710251B2 (en) 2013-03-15 2017-07-18 Vivint, Inc. Software updates from a security control unit
US9123221B2 (en) 2013-05-20 2015-09-01 Apple Inc. Wireless device networks with smoke detection capabilities
AU2014290556B2 (en) 2013-07-18 2017-08-03 Google Llc Systems and methods for processing ultrasonic inputs
US9685067B2 (en) 2013-10-31 2017-06-20 At&T Intellectual Property I, L.P. Machine-to-machine (M2M) emergency communications
WO2015072022A1 (ja) 2013-11-15 2015-05-21 富士通株式会社 システム、通信ノード、および判断方法
US20150350303A1 (en) 2014-05-29 2015-12-03 Chia-I Lin Manufacturing optimization platform and method
US9741344B2 (en) 2014-10-20 2017-08-22 Vocalzoom Systems Ltd. System and method for operating devices using voice commands

Also Published As

Publication number Publication date
US10592306B2 (en) 2020-03-17
MX2017004286A (es) 2017-06-26
GB2550476A (en) 2017-11-22
WO2016049778A1 (en) 2016-04-07
GB2550476B (en) 2021-07-14
ES2646632A2 (es) 2017-12-14
GB201704954D0 (en) 2017-05-10
US20160098305A1 (en) 2016-04-07
ES2646632R1 (es) 2018-03-13

Similar Documents

Publication Publication Date Title
ES2646632B2 (es) Método y aparato para balancear recursos en una arquitectura de automatización y alarma
US10803720B2 (en) Intelligent smoke sensor with audio-video verification
US10397042B2 (en) Method and apparatus for automation and alarm architecture
US11893880B2 (en) Enhanced emergency detection system
US9721457B2 (en) Global positioning system equipped with hazard detector and a system for providing hazard alerts thereby
US20180276960A1 (en) Security and first-responder emergency lighting system
KR101585364B1 (ko) 전력 및 의료 디바이스 근접성 모니터링 기능을 가진 원격 모니터링 시스템들을 위한 무선 중계 모듈
JP2017506788A (ja) スマート非常出口表示
JP6067836B2 (ja) 監視システム
WO2017117674A1 (en) Intelligent smoke sensor with audio-video verification
US10424190B2 (en) Safety automation system and method of operation
US20130325407A1 (en) Apparatus and method for sharing sensing information of portable device
ES2771674T3 (es) Aparato de comunicación y sistema de comunicación inalámbrica que lo incluye
US7456728B2 (en) Fire-alarm control panel having power frequency carrier
US11176799B2 (en) Global positioning system equipped with hazard detector and a system for providing hazard alerts thereby
JP2015133058A (ja) 地域防災情報システム
JP2014081689A (ja) 異常事態通知装置及びプログラム
JP6934585B1 (ja) デバイスの向きに依存したセンサ信号の送信
KR102084518B1 (ko) 인체 감지 센서를 구비한 조명등을 이용한 사용자 위치 확인 장치 및 시스템
JP6691863B2 (ja) 施設制御システム及び施設制御方法
WO2018093802A1 (en) Leveraging secondary wireless communications functionality for system setup and/or diagnostics
JP2020087367A (ja) 制御システム、プログラム及び制御方法
WO2018195939A1 (zh) 一种消防车的自动行驶方法及装置

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2646632

Country of ref document: ES

Kind code of ref document: B2

Effective date: 20190503