# US 10,480,804 B2 · Building management system with distributed data storage and processing

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

- Number: US 10,480,804 B2
- Document ID: US10480804B2
- Status: Granted
- Kind: B2
- Application number: 15/409,489
- Filed: 2017-01-18
- Published: 2018-07-19
- Granted: 2019-11-19
- Earliest claimed: 2017-01-18
- Assignees: Johnson Controls Technology Company
- Applicants: Johnson Controls Technology Company
- Inventors: Youngchoon Park; Sudhi Sinha
- Web page: https://patentgrep.com/patent/US10480804B2

## CPC

- F24F 11/30: for purposes related to the operation of the system, e.g. for safety or monitoring
- F24F 11/54: using one central controller connected to several sub-controllers
- F24F 11/62: characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values
- G05B 15/02: electric
- F24F 11/58: using Internet communication
- F24F 11/63: Electronic processing
- F24F 11/64: using pre-stored data
- F24F 11/65: for selecting an operating mode
- F24F 2110/10: Temperature
- F24F 2110/20: Humidity
- G05B 19/0426: {Programming the control sequence}
- G05B 2219/2614: HVAC, heating, ventillation, climate control
- F24F: AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING (removing dirt or fumes from areas where they are produced B08B15/00; vertical ducts for carrying away waste gases from buildings E04F17/02; tops for chimneys or ventilating shafts, terminals for flues F23L17/02)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A building management system (BMS) includes a plurality of devices controllers, a BMS database, and a BMS controller. The device controllers are configured to monitor and control one or more HVAC devices and to store and process time-series data associated with the HVAC devices. The BMS database is configured to store a master-index, the master-index identifying the time-series data stored by each of the device controllers. The BMS controller is configured to receive a processing request that requires the time-series data stored by one or more of the device controllers. The BMS controller is further configured to generate one or more processing sub-requests. The device controllers are further configured to handle the processing sub-requests and provide processing results to the BMS controller. The BMS controller is further configured to combine processing results from the device controllers.

## Claims

### Claim 1

A building management system (BMS) comprising:
a plurality of device controllers, each configured to monitor and control one or more HVAC devices and to store and process time-series data associated with the one or more HVAC devices;
a BMS database configured to store a master-index comprising a plurality of data source identifiers, each data source identifier of the plurality of data source identifiers linking one of the one or more HVAC devices with one or more device controllers of the plurality of device controllers, wherein the one or more device controllers manage data of the one of the one or more HVAC devices, the master-index identifying the time-series data stored by each of the plurality of device controllers;
a BMS controller communicably coupled to the plurality of device controllers and the BMS database, wherein the BMS controller is configured to:
receive a processing request that requires the time-series data of a particular HVAC device stored by one or more of the plurality of device controllers;
query the master-index of the BMS database to determine the one or more of the plurality of device controllers storing the time-series data required by the processing request based on a data source identifier of the master-index linking the particular HVAC device to the one or more of the plurality of device controllers;
generate one or more processing sub-requests based on the processing request, wherein each processing sub-request is associated with one of the one or more of the plurality of device controllers and comprises a request for one or more processing operations to be performed by the associated device controller on the time-series data stored by the associated device controller;
wherein the associated device controller is configured to handle the associated processing sub-request and provide a processing result to the BMS controller;
wherein the BMS controller is configured to combine processing results from each of the one or more of the plurality of device controllers.

### Claim 2 (depends on 1)

The system of claim 1, wherein the BMS controller is configured to:
receive completion messages from the one or more of the plurality of device controllers, wherein each completion message indicates that a particular device controller has finished generating a particular processing result for a particular processing sub-request; and
retrieve the particular processing result in response to receiving the completion message by sending a retrieval message, wherein the retrieval message causes the particular device controller to send the particular processing result to the BMS controller.

### Claim 3 (depends on 1)

The system of claim 1, wherein each of the one or more of the plurality of device controllers is configured to handle one or more of the one or more processing sub-requests by performing one or more of the one or more processing operations on the time-series data stored by each of the one or more of the plurality of device controller controllers.

### Claim 4 (depends on 3)

The system of claim 3, wherein the one or more processing operations comprises at least one of:
one or more time-series data cleansing operations;
one or more time-series data filling operations;
one or more time-series data aggregation operations;
one or more time-series math operations;
one or more time-series logical operations; and
one or more time-series statistical operations.

### Claim 5 (depends on 1)

The system of claim 1, wherein each of the plurality of device controllers comprises a device database configured to store the time-series data;
wherein each of the one or more of the plurality of device controllers is configured to query a particular device database of a particular device controller for the time-series data with an entity identifier, wherein the entity identifier identifies the time-series data associated with one of the one or more HVAC devices stored in the particular device database.

### Claim 6 (depends on 1)

The system of claim 1, wherein each of the one or more of the plurality of device controllers is configured to:
determine that the processing result for the processing sub-request has been generated; and
send a completion message to the BMS controller in response to determining that the processing result has been generated.

### Claim 7 (depends on 1)

The system of claim 1, wherein each of the one or more of the plurality of device controllers is configured to: determine the one or more processing operations based on the processing sub-request; and generate the processing result by performing the one or more processing operations.

### Claim 8 (depends on 7)

The system of claim 7, wherein each of the one or more of the plurality of device controllers is configured to:
receive one or more custom processing operations from the BMS controller and store the one or more custom processing operations; and
perform one or more of the custom processing operations to generate the processing result when the processing sub-request indicates that one or more of the custom processing operations are required for generating the processing result.

### Claim 9

A method for a building management system (BMS) comprising:
receiving, by a BMS controller, a processing request that requires time-series data of a particular HVAC device stored by one or more of a plurality of device controllers;
querying, by the BMS controller, a master-index of a BMS database comprising a plurality of data source identifiers, each data source identifier of the plurality of data source identifiers linking an HVAC device with one or more device controllers of the plurality of device controllers managing data of the HVAC device to determine the one or more of the plurality of device controllers storing the time-series data required by the processing request based on a data source identifier of the master-index linking the particular HVAC device to the one or more of the plurality of device controllers, wherein the master-index is stored in the BMS database and identifies the time-series data stored by each of the plurality of device controllers;
generating, by the BMS controller, one or more processing sub-requests based on the processing request, wherein each processing sub-request is associated with one of the one or more of the plurality of device controllers and comprises a request for one or more processing operations to be performed by the associated device controller on the time-series data stored by the associated device controller;
generating, by each of the one or more of the plurality of device controllers, one or more processing results based on the one or more processing sub-requests and sending the one or more processing results to the BMS controller;
combining, by the BMS controller, the one or more processing results received from the one or more of the plurality of device controllers.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
receiving, by the BMS controller, completion messages from the one or more of the plurality of device controllers, wherein each completion message indicates that a particular device controller has finished generating a particular processing result for a particular processing sub-request; and
retrieving, by the BMS controller, the particular processing result in response to receiving the completion message by sending a retrieval message, wherein the retrieval message causes the particular device controller to send the particular processing result to the BMS controller.

### Claim 11 (depends on 9)

The method of claim 9, further comprising generating, by each of the one or more of the plurality of device controllers, a particular processing result by executing one or more of the one or more processing operations on the time-series data stored by each of the one or more of the plurality of device controllers.

### Claim 12 (depends on 11)

The method of claim 11, wherein the one or more processing operations comprise at least one of:
one or more time-series data cleansing operations;
one or more time-series data filling operations;
one or more time-series data aggregation operations;
one or more time-series math operations;
one or more time-series logical operations; and
one or more time-series statistical operations.

### Claim 13 (depends on 11)

The method of claim 11, wherein the one or more processing operations comprises:
one or more time-series data cleansing operations;
one or more time-series data filling operations;
one or more time-series data aggregation operations;
one or more time-series math operations;
one or more time-series logical operations; and
one or more time-series statistical operations.

### Claim 14 (depends on 11)

The method of claim 11, wherein the one or more processing operations comprises at least two of:
one or more time-series data cleansing operations;
one or more time-series data filling operations;
one or more time-series data aggregation operations;
one or more time-series math operations;
one or more time-series logical operations; and
one or more time-series statistical operations.

### Claim 15 (depends on 9)

The method of claim 9, further comprising querying, by each of the one or more of the plurality of device controllers, a particular device database for the time-series data with an entity identifier, wherein the entity identifier identifies the time-series data associated with a specific HVAC device stored in the particular device database.

### Claim 16 (depends on 9)

The method of claim 9, further comprising:
determining, by each of the one or more of the plurality of device controllers, that a particular processing result for a particular processing sub-request has been generated; and
sending, by each of the one or more of the plurality of device controllers, a completion message to the BMS controller in response to determining that the particular processing result has been generated.

### Claim 17 (depends on 9)

The method of claim 9, further comprising:
determining, by each of the one or more of the plurality of device controllers, one or more particular processing operations based on a particular processing sub-request; and
generating, by each of the one or more of the plurality of device controllers, a particular processing result by performing the one or more particular processing operations.

### Claim 18

A building management system (BMS) controller comprising:
a network interface communicably coupled to a user device, the network interface configured to receive a processing request from the user device;
a BMS database configured to store a master-index comprising a plurality of data source identifiers, each data source identifier of the plurality of data source identifiers linking an HVAC device with one or more device controllers of a plurality of device controllers, wherein the one or more device controllers of the plurality of device controllers manage data of the HVAC device, the master-index identifying time-series data stored by each of the plurality of device controllers;
a processing circuit communicably coupled to the plurality of device controllers, the BMS database, and the network interface, wherein the processing circuit is configured to:
receive the processing request via the network interface, wherein the processing request requires time-series data of a particular HVAC device stored by one or more of the plurality of device controllers;
query the master-index of the BMS database to determine the one or more of the plurality of device controllers storing the time-series data required by the processing request based on a data source identifier of the master-index linking the particular HVAC device to the one or more of the plurality of device controllers;
generate one or more processing sub-requests based on the processing request, wherein each processing sub-request is associated with one of the one or more of the plurality of device controllers and comprises a request for one or more processing operations to be performed by the associated device controller on the time-series data stored by the associated device controller;
receive, via the network interface, one or more processing results from the one or more of the plurality of device controllers; and
combine the one or more processing results received from the one or more of the plurality of device controllers.

### Claim 19 (depends on 18)

The controller of claim 18, wherein the processing circuit is configured to:
receive, via the network interface, completion messages from the one or more of the plurality of device controllers, wherein each completion message indicates that a particular device controller has finished generating a particular processing result for a particular processing sub-request; and
retrieve the particular processing result in response to receiving the completion message by sending a retrieval message, wherein the retrieval message causes the particular device controller to send the particular processing result to the processing circuit.

### Claim 20 (depends on 18)

The controller of claim 18, wherein the time series data is related to at least one of:
one or more time-series data cleansing operations;
one or more time-series data filling operations;
one or more time-series data aggregation operations;
one or more time-series math operations;
one or more time-series logical operations; and
one or more time-series statistical operations.
