IP Library › Granted Patent US 11,113,295
Granted Patent B2
US 11,113,295 · App. 16/153,276 · Granted Sep 7, 2021

Building management system with declarative views of timeseries data

Inventors: Youngchoon Park (Brookfield, WI); Sudhi R. Sinha (Milwaukee, WI); Vijaya S. Chennupati (Brookfield, WI); Vaidhyanathan Venkiteswaran (Brookfield, WI); Sajjad Pourmohammad (Milwaukee, WI); Erik S. Paulson (Madison, WI); Ada L. Ma (Kenmore, WA); Gerald A. Asp (Milwaukee, WI)
Assignee: Johnson Controls Technology Company
G06F16/2477G05B15/02G05D23/1931G06F16/22G06F16/9024G05B2219/2614G05B2219/2642G05D23/1917G06F16/2322
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,113,295
App. No.
16/153,276
Filed
Oct 5, 2018
Granted
Sep 7, 2021
Kind
B2
Art Unit
2154
USPC
707/746
Abstract

A building management system (BMS) includes building equipment configured to provide raw data samples of one or more data points in the BMS. The BMS further includes a data collector configured to collect raw data samples from the building equipment and generate one or more raw data timeseries comprising a plurality of the raw data samples. The BMS also includes a timeseries processing engine. The timeseries processing engine is configured to identify one or more timeseries processing workflows that apply to the raw data timeseries, each of the workflows comprising a predefined sequence of timeseries processing operation. The timeseries processing engine is further configured to process the raw data timeseries using the identified timeseries processing workflows to generate one or more derived data timeseries. The BMS further includes a timeseries storage interface configured to store the raw data timeseries and the derived data timeseries in a timeseries database.

Claims (77)

1. A timeseries management system comprising:

one or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to:

receive one or more timeseries processing workflows that apply to raw data timeseries, each of the timeseries processing workflows comprising a sequence of timeseries processing operations, wherein the timeseries processing workflows comprise:

an indication of one or more input timeseries to which the workflow applies;

a particular sequence of timeseries processing operations, wherein the particular sequence of timeseries processing operations is at least one of a dynamically defined sequence of timeseries processing operations or a predefined sequence of timeseries processing operations; and

an indication of one or more derived data timeseries generated by applying the dynamically defined sequence of timeseries processing operations or the predefined sequence of timeseries processing operations to the input timeseries;

identify the one or more timeseries processing workflows that apply to the raw data timeseries;

process the raw data timeseries using the identified timeseries processing workflows to generate the one or more derived data timeseries; and

generate a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the timeseries processing workflows and representing the sequence of timeseries processing operations in the corresponding workflow;

wherein each directed acyclic graph comprises one or more blocks representing at least one of one or more input timeseries to which the corresponding workflow applies, the sequence of timeseries processing operations in the corresponding workflow, or the one or more derived data timeseries generated by applying the predefined sequence of timeseries processing operations to the input timeseries.

2. The timeseries management system of claim 1 , wherein the sequence of timeseries processing operations comprises a user defined fault rule that indicates whether one or more values are fault values;

wherein the instructions cause the one or more processors to process the raw data timeseries using the identified timeseries processing workflows to generate the one or more derived data timeseries and one or more fault timeseries, the one or more fault timeseries being generated in response to a determination, based on the user defined fault rule, that the one or more values are the fault values.

3. The timeseries management system of claim 1 , wherein the instructions cause the one or more processors to optimize each of the timeseries processing workflows by combining two or more individual timeseries processing operations in a single workflow into a combined timeseries processing operation.

4. The timeseries management system of claim 1 , wherein the instructions cause the one or more processors to optimize the timeseries processing workflows by:

identifying multiple timeseries processing workflows that require one or more shared input timeseries; and

combining the identified timeseries processing workflows into a single timeseries processing workflow.

5. The timeseries management system of claim 1 , wherein the instructions cause the one or more processors to generate the derived data timeseries prior to a request for the derived data timeseries.

6. The timeseries management system of claim 1 , wherein the one or more blocks comprise:

one or more input blocks representing the one or more input timeseries to which the corresponding workflow applies;

one or more functional blocks representing the sequence of timeseries processing operations in the corresponding workflow; and

one or more output blocks representing the one or more derived data timeseries generated by applying the predefined sequence of timeseries processing operations to the input timeseries.

7. The timeseries management system of claim 6 , wherein the instructions cause the one or more processors to:

receive user input, the user input comprising an adjustment to at least one of the one or more input blocks, the one or more functional blocks, or the one or more output blocks in one of the directed acyclic graphs;

determine an adjustment to the corresponding workflow based on the user input; and

automatically apply the adjustment to the corresponding workflow in response to receiving the user input.

8. The timeseries management system of claim 1 , wherein the input timeseries comprise at least one of:

the raw data timeseries; or

the one or more derived data timeseries.

9. The timeseries management system of claim 1 , wherein the instructions cause the one or more processors to:

detect a change in the raw data timeseries or the one or more derived data timeseries;

process the changed data timeseries in response to detecting the change.

10. The timeseries management system of claim 9 , wherein processing the changed data timeseries in response to detecting the change comprises:

identifying one or more of the timeseries processing workflows that apply to the changed data timeseries;

identifying any other timeseries indicated as required inputs to the identified timeseries processing workflows; and

processing the changed data timeseries, the other timeseries indicated as required inputs, and the identified one or more workflows that apply to the changed data timeseries.

11. The timeseries management system of claim 10 , wherein the instructions cause the one or more processors to:

receive a plurality of derived data samples generated by processing the changed data timeseries; and

generate one or more particular derived data sample timeseries comprising the plurality of derived data samples.

12. A smart environment management system comprising:

one or more processors configured to execute instructions stored on one or more computer-readable storage media to:

identify one or more timeseries processing workflows that apply to a raw data timeseries, wherein the timeseries processing workflows comprise:

an indication of one or more input timeseries to which the workflow applies;

a particular sequence of timeseries processing operations, wherein the particular sequence of timeseries processing operations is at least one of a dynamically defined sequence of timeseries processing operations or a predefined sequence of timeseries processing operations; and

an indication of one or more derived data timeseries generated by applying the dynamically defined sequence of timeseries processing operations or the predefined sequence of timeseries processing operations to the input timeseries;

process the raw data timeseries using the one or more identified timeseries processing workflows to generate the one or more derived data timeseries; and

optimize the identified one or more timeseries processing workflows by:

selecting multiple of the identified one or more timeseries processing workflows that require one or more shared input timeseries; and

combining the selected timeseries processing workflows that require the one or more shared input timeseries into a single timeseries processing workflow.

13. The smart environment management system of claim 12 , wherein the one or more processors are configured to execute the instructions to generate a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the identified on or more timeseries processing workflows and visually representing the predefined sequence of timeseries processing operations in the corresponding workflow, wherein each directed acyclic graph comprises:

one or more input blocks representing one or more input timeseries to which the corresponding workflow applies;

one or more functional blocks representing the predefined sequence of timeseries processing operations in the corresponding workflow; and

one or more output blocks representing one or more derived data timeseries generated by applying the predefined sequence of timeseries processing operations to the input timeseries.

14. The smart environment management system of claim 12 , wherein the one or more processors are configured to execute the instructions to optimize each of the timeseries processing workflows by combining two or more individual timeseries processing operations in a single workflow into a combined timeseries processing operation.

15. The smart environment management system of claim 12 , wherein the one or more processors are configured to execute the instructions to generate the one or more derived data timeseries prior to a request for the derived data timeseries.

16. The smart environment management system of claim 12 , wherein the input timeseries comprise at least one of:

the raw data timeseries; or

the one or more derived data timeseries.

17. A method for processing timeseries data in a building management system, the method comprising:

generating a raw data timeseries comprising a plurality of raw data samples;

identifying one or more timeseries processing workflows that apply to the raw data timeseries, wherein the timeseries processing workflows comprise:

an indication of one or more input timeseries to which the workflow applies;

a particular sequence of timeseries processing operations, wherein the particular sequence of timeseries processing operations is at least one of a dynamically defined sequence of timeseries processing operations or a predefined sequence of timeseries processing operations; and

an indication of one or more derived data timeseries generated by applying the dynamically defined sequence of timeseries processing operations or the predefined sequence of timeseries processing operations to the input timeseries;

processing the raw data timeseries using the identified one or more timeseries processing workflows to generate the one or more derived data timeseries; and

optimizing the identified one or more timeseries processing workflows by:

selecting multiple of the identified one or more timeseries processing workflows that require one or more shared input timeseries; and

combining the selected timeseries processing workflows that require the one or more shared input timeseries into a single timeseries processing workflow.

18. The method of claim 17 , further comprising:

detecting a change in the raw data timeseries or the one or more derived data timeseries;

processing the changed data timeseries in response to detecting the change.

19. The method of claim 18 , wherein processing the changed data timeseries in response to detecting the change comprises:

identifying one or more of the timeseries processing workflows that apply to the changed data timeseries;

identifying any other timeseries indicated as required inputs to the identified timeseries processing workflows; and

processing the changed data timeseries, the other timeseries indicated as required inputs, and the identified one or more workflows that apply to the changed data timeseries.

20. The method of claim 19 , further comprising:

receiving a plurality of derived data samples generated by processing the changed data timeseries; and

generating one or more particular derived data sample timeseries comprising the plurality of derived data samples.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: PARK, YOUNGCHOON; SINHA, SUDHI R.; CHENNUPATI, VIJAYA S.; VENKITESWARAN, VAIDHYANATHAN; POURMOHAMMAD, SAJJAD; PAULSON, ERIK S.; MA, ADA L.; ASP, GERALD A.
To: JOHNSON CONTROLS TECHNOLOGY COMPANY
Reel/Frame 051833/0127 →
Continuity (3)
Continuation 15644519 · Jul 7, 2017
Provisional Application 62457654 · Feb 10, 2017
Related Publication 20190065561A1 · Feb 28, 2019
Cited By (66)
US 50,632 US 12,196,437 US 12,197,299 US 12,197,508 US 12,210,324 US 12,229,156 US 12,231,255 US 12,231,496 US 12,235,617 US 12,260,140 US 12,270,560 US 12,271,163 US 12,273,215 US 12,282,975 US 12,292,720 US 12,333,657 US 12,339,825 US 12,341,624 US 12,346,381 US 12,349,027 US 12,367,443 US 12,372,955 US 12,379,718 US 12,386,827 US 12,393,385 US 12,393,611 US 12,395,818 US 12,399,467 US 12,399,475 US 12,400,035 US 12,405,581 US 12,406,193 US 12,406,218 US 12,412,003 US 12,424,329 US 12,431,621 US 12,432,277 US 12,474,679 US 12,481,259 US 12,523,975 US 12,523,999 US 12,529,491 US 12,541,182 US 12,542,830 US 12,554,687 US 12,556,893 US 12,572,267 US 12,578,696 US 12,579,874 US 12,597,772 US 12,598,207 US 12,664,444 US 12,669,790 US 12,687,314 US 12,687,827 US 12,687,831 US 12,688,437 US 12,695,189 US 12,699,367 US 12,699,732 US 12,711,287 US 12,711,288 US 12,719,167 US 12,730,418 US 12,731,903 US 12,743,057