IP Library Granted Patent US 10,095,756
Granted Patent B2
US 10,095,756 · App. 15/644,519 · Granted Oct 9, 2018

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
G06F17/30551G05B15/02G06F17/30312G06F17/30958G05B2219/2642G05D23/1917G06F17/30353
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 10,095,756
App. No.
15/644,519
Granted
Oct 9, 2018
Kind
B2
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 (118)

1. A building management system comprising:

building equipment configured to provide raw data samples of one or more data points in the building management system, the building equipment comprising one or more physical devices that operate to monitor or control a physical building condition;

a data collector configured to collect the raw data samples from the building equipment and generate one or more raw data timeseries comprising a plurality of the raw data samples;

a timeseries processing engine configured to:

receive one or more timeseries processing workflows that apply to the raw data timeseries, each of the timeseries processing workflows comprising a sequence of timeseries processing operations, the sequence of timeseries processing operations comprising a user defined fault rule that indicates whether one or more values of the raw data samples representing the physical building condition are fault values;

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

process the raw data timeseries using the identified timeseries processing workflows to generate 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 of the raw data samples representing the physical building condition are the fault values; and

a timeseries storage interface configured to store the raw data timeseries and the derived data timeseries in a timeseries database;

wherein the timeseries processing engine is configured to generate a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the 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 the one or more derived data timeseries generated by applying the predefined sequence of timeseries processing operations to the input timeseries.

2. The building management system of claim 1 , wherein each of the timeseries processing workflows comprises:

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

a predefined sequence of timeseries processing operations; and

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

3. The building management system of claim 2 , wherein the input timeseries comprise at least one of:

the one or more raw data timeseries generated by the data collector; or

the one or more derived data timeseries generated by the timeseries processing engine.

4. The building management system of claim 1 , wherein the timeseries processing engine is configured to:

receive user input via a graphical workflow editor, the user input comprising an adjustment to at least one of the input blocks, the functional blocks, or the output blocks in one of the directed acyclic graphs;

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

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

5. The building management system of claim 1 , wherein the timeseries processing engine is configured 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.

6. The building management system of claim 1 , wherein the timeseries processing engine is configured 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.

7. The building management system of claim 1 , wherein the timeseries processing engine is configured to generate the derived data timeseries prior to a request for the derived data timeseries.

8. The building management system of claim 1 , further comprising a workflow manager configured to detect a change in one or more of the raw data timeseries or the derived data timeseries;

wherein the timeseries processing engine is configured to process the changed data timeseries in response to detecting the change.

9. The building management system of claim 8 , 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

providing the changed data timeseries, the other timeseries indicated as required inputs, and the identified workflows to the timeseries processing engine.

10. The building management system of claim 9 , wherein the workflow manager is configured to:

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

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

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

operating building equipment comprising one or more physical devices to monitor or control a physical building condition and to generate raw data samples of one or more data points in the building management system;

collecting the raw data samples from the building equipment;

generating one or more raw data timeseries comprising a plurality of the raw data samples;

receiving one or more timeseries processing workflows that apply to the raw data timeseries, each of the timeseries processing workflows comprising a sequence of timeseries processing operations, the sequence of timeseries processing operations comprising a user defined fault rule that indicates whether one or more values of the raw data samples representing the physical building condition are fault values;

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

processing the raw data timeseries using the identified timeseries processing workflows to generate 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 of the raw data samples representing the physical building condition are the fault values;

storing the raw data timeseries and the derived data timeseries in a timeseries database; and

generating a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the 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 the one or more derived data timeseries generated by applying the predefined sequence of timeseries processing operations to the input timeseries.

12. The method of claim 11 , wherein each of the timeseries processing workflows comprises:

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

a predefined sequence of timeseries processing operations; and

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

13. The method of claim 12 , wherein the input timeseries comprise at least one of:

the one or more of the raw data timeseries; or

the one or more of the derived data timeseries.

14. The method of claim 11 , further comprising:

receiving user input via a graphical workflow editor, the user input comprising an adjustment to at least one of the input blocks, the functional blocks, or the output blocks in one of the directed acyclic graphs;

determining an adjustment to the corresponding timeseries processing workflow based on the user input; and

automatically applying the adjustment to the corresponding timeseries processing workflow in response to receiving the user input.

15. The method of claim 11 , further comprising optimizing 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.

16. The method of claim 11 , further comprising optimizing 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.

17. A building management system comprising:

building equipment configured to provide raw data samples of one or more data points in the building management system, the building equipment comprising one or more physical devices that operate to monitor or control a physical building condition;

a data collector configured to collect the raw data samples from the building equipment and generate one or more raw data timeseries comprising a plurality of the raw data samples;

a timeseries processing engine configured to:

identify one or more timeseries processing workflows that apply to the raw data timeseries, each of the timeseries processing workflows comprising a predefined sequence of timeseries processing operations; and

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

a timeseries storage interface configured to store the raw data timeseries and the derived data timeseries in a timeseries database;

wherein the timeseries processing engine is configured 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 that require the one or more shared input timeseries into a single timeseries processing workflow.

18. The building management system of claim 17 , wherein each of the timeseries processing workflows comprises:

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

a predefined sequence of timeseries processing operations; and

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

19. The building management system of claim 18 , wherein the input timeseries comprise at least one of:

the one or more raw data timeseries generated by the data collector; or

the one or more derived data timeseries generated by the timeseries processing engine.

20. The building management system of claim 17 , wherein the timeseries processing engine is configured to generate a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the 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.

21. The building management system of claim 20 , wherein the timeseries processing engine is configured to:

receive user input via a graphical workflow editor, the user input comprising an adjustment to at least one of the input blocks, the functional blocks, or the output blocks in one of the directed acyclic graphs;

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

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

22. The building management system of claim 17 , wherein the timeseries processing engine is configured 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.

23. The building management system of claim 17 , wherein the timeseries processing engine is configured to generate the derived data timeseries prior to a request for the derived data timeseries.

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

operating building equipment comprising one or more physical devices to monitor or control a physical building condition and to generate raw data samples of one or more data points in the building management system;

collecting the raw data samples from the building equipment;

generating one or more raw data timeseries comprising a plurality of the raw data samples;

identifying one or more timeseries processing workflows that apply to the raw data timeseries, each of the timeseries processing workflows comprising a predefined sequence of timeseries processing operations;

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

storing the raw data timeseries and the derived data timeseries in a timeseries database; and

optimizing 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 that require the one or more shared input timeseries into a single timeseries processing workflow.

25. The method of claim 24 , wherein each of the timeseries processing workflows comprises:

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

a predefined sequence of timeseries processing operations; and

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

26. The method of claim 25 , wherein the input timeseries comprise at least one of:

the one or more of the raw data timeseries; or

the one or more of the derived data timeseries.

27. The method of claim 24 , further comprising generating a plurality of directed acyclic graphs, each directed acyclic graph corresponding to one of the timeseries processing workflows and visually representing the predefined sequence of timeseries processing operations in the corresponding workflow.

28. The method of claim 27 , 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.

29. The method of claim 28 , further comprising:

receiving user input via a graphical workflow editor, the user input comprising an adjustment to at least one of the input blocks, the functional blocks, or the output blocks in one of the directed acyclic graphs;

determining an adjustment to the corresponding timeseries processing workflow based on the user input; and

automatically applying the adjustment to the corresponding timeseries processing workflow in response to receiving the user input.

30. The method of claim 24 , further comprising optimizing 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
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 042935/0700 →
Continuity (2)
Provisional Application 62457654 · Feb 10, 2017
Related Publication 20180232422A1 · Aug 16, 2018
Cited By (13)
US 12,210,324 US 12,242,937 US 12,270,560 US 12,273,215 US 12,282,305 US 12,292,720 US 12,393,611 US 12,400,035 US 12,406,232 US 12,417,229 US 12,455,896 US 12,524,709 US 12,619,957