# US 2020/0412810 A1 · IoT Analytics Edge Application on IoT Gateway

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0412810 A1
- Document ID: US20200412810A1
- Status: Published application
- Kind: A1
- Application number: 16/456,630
- Filed: 2019-06-28
- Published: 2020-12-31
- Earliest claimed: 2019-06-28
- Assignees: CohesionIB
- Applicants: CohesionIB
- Inventors: Robert Knight; Nikunj Patel; Rick Szcodronski
- Web page: https://patentgrep.com/patent/US20200412810A1

## CPC

- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/16: using machine learning or artificial intelligence
- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/562: Brokering proxy services
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

IoT devices within a commercial real-estate or residential building environment may be connected through networks, such as a Building Automation and Control network (BACnet). Systems and methods according to this disclosure provide automatic discovery of IoT devices and relationships in commercial real-estate and residential buildings and integration of the BACnet devices into the digital twin of the building. In some implementations, an IoT gateway is configured to translate the communication received from the BACnet to an IoT cloud platform and configured to normalize the data across the different security platforms into a consistent format which enables integration and interoperability of the different building system platforms that may otherwise be operating in isolation from each other. Systems and methods according to the present disclosure provide edge based analytics and control of IoT BACnet devices based on defining conditions and rules, and provide integration of multiple building systems in the context of commercial real-estate and residential buildings.

## Claims

### Claim 1

A method of asynchronous control of a plurality of Internet of Things (IoT) devices connected to a Building Automation Control (BAC) network of a commercial real estate building comprising:
defining at least one rule comprising a first criterion for evaluating data of a first IoT device, and a second criterion associated with a determination that the data of the first IoT device does not meet the first criterion;
receiving, by a first actor, a first real-time datum from the first IoT device, wherein the first actor corresponds to the first IoT device and mimics the first IoT device;
determining, by a computing device for the first actor, and based on an evaluation of the first real-time datum from the first IoT device with the first criterion, whether the first real-time datum from the first IoT device meets the first criterion;
identifying, by the computing device for the first actor, and based on a determination that the first real-time datum from the first IoT device does not meet the first criterion, a plurality of second IoT devices to be controlled;
requesting a plurality of other actors for information based on the second criterion wherein the plurality of other actors are associated with the plurality of second IoT devices;
receiving, by the first actor from the plurality of other actors, the requested information, wherein the requested information is indicative of a plurality of actions associated with the plurality of second IoT devices to be controlled;
selecting, by the computing device for the first actor, one of the plurality of actions associated with the plurality of second IoT devices; and
instructing, by the computing device for the first actor, one of the plurality of second IoT devices to perform the selected action.

### Claim 2 (depends on 1)

The method of claim 1, wherein the instructing said one of the plurality of second IoT devices is based on determining whether a second plurality of data of the first IoT device meets the second criterion.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
based on a determination that a second plurality of data of the first IoT device meets the second criterion, controlling said one of the plurality of second IoT devices to return to a normal operation.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first real-time datum from the first IoT device is received from one or more points corresponding to a sensor or an actuator of the first IoT device.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the plurality of IoT devices correspond to an associated actor in an actor model to mimic said each of the plurality of IoT devices, and the defining the at least one rule for evaluating the data of the first IoT device comprises defining a rule for the associated actor corresponding to the first IoT device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the identifying the plurality of second IoT devices to be controlled is based on a graph representation of the commercial real estate building.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first real-time datum from the first IoT device is based on data collected from the first IoT device periodically at a predetermined time interval.

### Claim 8 (depends on 1)

The method of claim 1, wherein a determination that the first real-time datum from the first IoT device does not meet the first criterion comprises evaluating the first real-time datum from the first IoT device within a predetermined time window.

### Claim 9 (depends on 1)

The method of claim 1, wherein the method further comprises:
generating and maintaining a current state of each of the plurality of IoT devices.

### Claim 10

A system for asynchronous control of a plurality of Internet of Things (IoT) devices connected to a Building Automation Control (BAC) network of a commercial real estate building comprising:
one or more processors; and
a memory storing computer-readable instructions that, when executed by the one or more processors, configure the one or more processors to:
define at least one rule comprising a first criterion for evaluating data of a first IoT device, and a second criterion associated with a determination that the data of the first IoT device does not meet the first criterion;
receive, by a first actor, a first real-time datum from the first IoT device, wherein the first actor corresponds to the first IoT device and mimics the first IoT device;
determine, by a computing device for the first actor, and based on an evaluation of the first real-time datum from the first IoT device with the first criterion, whether the first real-time datum from the first IoT device meets the first criterion;
identify, by the computing device for the first actor, and based on a determination that the first real-time datum from the first IoT device does not meet the first criterion, a plurality of second IoT devices to be controlled;
request a plurality of other actors for information based on the second criterion, wherein the plurality of other actors are associated with the plurality of second IoT devices;
receive, by the first actor from the plurality of other actors, the requested information, wherein the requested information is indicative of a plurality of actions associated with the plurality of second IoT devices to be controlled;
select, by the computing device for the first actor, one of the plurality of actions associated with the plurality of second IoT devices; and
instruct control, by the computing device for the first actor, one of the plurality of second IoT devices to perform the selected action.

### Claim 11 (depends on 10)

The system of claim 10, wherein the instructing said one of the plurality of second IoT devices is based on determining whether a second plurality of data of the first IoT device meets the second criterion.

### Claim 12 (depends on 10)

The system of claim 10, wherein the instructions, when executed by the one or more processors further configure the one or more processors to:
based on a determination that a second plurality of data of the first IoT device meets the second criterion, control said one of the plurality of second IoT devices to return to a normal operation.

### Claim 13 (depends on 10)

The system of claim 10, wherein the first real-time datum from the first IoT device is received from one or more points corresponding to a sensor or an actuator of the first IoT device, and wherein the first real-tie datum from the first IoT device is based on data collected from the first IoT device periodically at a predetermined time interval.

### Claim 14 (depends on 10)

The system of claim 10, wherein each of the plurality of IoT devices correspond to an associated actor in an actor model to mimic said each of the plurality of IoT devices, and the defining the at least one rule for evaluating the data of the first IoT device comprises defining a rule for the associated actor corresponding to the first IoT device.

### Claim 15 (depends on 10)

The system of claim 10, wherein the identifying the plurality of second IoT devices to be controlled is based on a graph representation of the commercial real estate building.

### Claim 16 (depends on 10)

The system of claim 10, wherein the determination that the first real-time datum from the first IoT device does not meet the first criterion comprises evaluating the first real-time datum from the first IoT device within a predetermined time window.

### Claim 17 (depends on 10)

The system of claim 10, wherein the instructions, when executed by the one or more processors further configure the one or more processors to:
generate and maintain a current state of each of the plurality of IoT devices.

### Claim 18

A non-transitory machine readable storage medium comprising machine-readable instructions for causing a processor to execute a method of asynchronous control of a plurality of Internet of Things (IoT) devices connected to a Building Automation Control (BAC) network of a commercial real estate building comprising:
defining at least one rule comprising a first criterion for evaluating data of a first IoT device, and a second criterion associated with a determination that the data of the first IoT device does not meet the first criterion;
receiving, by a first actor, a first real-time datum from the first IoT device, wherein the first actor corresponds to the first IoT device and mimics the first IoT device;
determining, by a computing device for the first actor, and based on an evaluation of the first real-time datum from the first IoT device with the first criterion, whether the first real-time datum from the first IoT device meets the that at least first criterion;
identifying, by the computing device for the first actor, and based on a determination that the first real-time datum from the first IoT device does not meet the first criterion, a plurality of second IoT devices to be controlled;
requesting a plurality of other actors for information based on the second criterion, wherein the plurality of other actors are associated with the plurality of second IoT devices;
receiving, by the first actor from the plurality of other actors, the requested information, wherein the requested information is indicative of a plurality of actions associated with the plurality of second IoT devices to be controlled;
selecting, by the computing device for the first actor, one of the plurality of actions associated with the plurality of second IoT devices; and
instructing, by the computing device for the first actor, one of the plurality of second IoT devices to perform the selected action.

### Claim 19 (depends on 18)

The non-transitory machine readable storage medium of claim 18, wherein the instructing said one of the plurality of second IoT devices is based on determining whether a second plurality of data of the first IoT device meets the second criterion.

### Claim 20 (depends on 18)

The non-transitory machine readable storage medium of claim 18, wherein the method further comprises:
based on a determination that a second plurality of data of the first IoT device meets the second criterion, controlling said one of the plurality of second IoT devices to return to a normal operation.

### Claim 21 (depends on 1)

The method of claim 1, wherein the selecting comprises:
finding an optimum solution based on a current situation of the plurality of IoT devices connected to the BAC network of the commercial real estate building

### Claim 22 (depends on 5)

The method of claim 5, further comprising:
choosing to execute the actor model at an edge computing device rather than at a cloud computing device to reduce an improved real-time response.

### Claim 23 (depends on 1)

The method of claim 1, further comprising:
storing past device data collected over a predetermined time period for a third IoT device in a time series database; and
when recent device data about the third IoT device is not expected with respect to the past device data, querying cloud resources for big data related to the third IoT device.

### Claim 24 (depends on 1)

The method of claim 1, wherein the instructing is through a second actor associated with said one of the plurality of second IoT devices.

### Claim 25 (depends on 24)

The method of claim 24, wherein the instructing comprises:
sending, by the first actor to the second actor, a first message that is indicative of the selected action.

### Claim 26 (depends on 5)

The method of claim 5, further comprising:
maintaining a stateful representation of said each of the plurality of IoT devices in the actor model.

### Claim 27 (depends on 1)

The method of claim 1, wherein the first actor receives a second message from the first IoT device, wherein the second message is indicative of the first real-time datum, and wherein the method further comprises:
updating, by the first actor, a stored state of the first IoT device based on the first real-time datum.
