IP Library Granted Patent US 11,809,461
Granted Patent B2
US 11,809,461 · App. 17/504,324 · Granted Nov 7, 2023

Building system with an entity graph storing software logic

Inventors: Youngchoon Park (Brookfield, WI); Sudhi R. Sinha (Milwaukee, WI); Vaidhyanathan Venkiteswaran (Brookfield, WI); Erik S. Paulson (Madison, WI); Vijaya S. Chennupati (Brookfield, WI)
Assignee: JOHNSON CONTROLS TECHNOLOGY COMPANY
G06F16/288G05B15/02G06F3/01G06F16/00G06F16/23G06F16/2477G06F16/28G10L15/14G10L15/142G10L15/22G10L15/30G10L25/63G05B2219/2642
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,809,461
App. No.
17/504,324
Filed
Oct 18, 2021
Granted
Nov 7, 2023
Kind
B2
Art Unit
2657
USPC
704/242
Abstract

One or more non-transitory computer readable media contain program instructions that, when executed, cause one or more processors to: receive first raw data including one or more first data points generated by a first object of a plurality of objects associated with one or more buildings; generate first input timeseries according to the one or more data points; access a database of interconnected smart entities, the smart entities including object entities representing each of the plurality of objects and data entities representing stored data, the smart entities being interconnected by relational objects indicating relationships between the smart entities; identify a first object entity representing the first object from a first identifier in the first input timeseries; identify a first data entity from a first relational object indicating a relationship between the first object entity and the first data entity; and store the first input timeseries in the first data entity.

Claims (52)

1. A building system of a building comprising one or more storage devices storing instructions thereon that, when executed by one or more processors, cause the one or more processors to:

store a digital twin of the building, the digital twin providing representations of a plurality of entities and a plurality of relationships between the plurality of entities, wherein a building component entity of the plurality of entities represents a building component of the building, wherein the digital twin includes a software component entity that provides a virtual representation of a software component, wherein the digital twin includes a data entity representing data generated by the software component, wherein the software component entity is related to the building component entity and the data entity by the digital twin, wherein the software component performs one or more operations with data of the building component to generate the data of the data entity;

receive an indication to execute the software component to perform the one or more operations; and

execute the software component to perform the one or more operations with the data of the building component to generate the data of the data entity based on the software component entity being related to the building component entity indicated by the digital twin in response to receiving the indication.

2. The building system of claim 1 , wherein the software component is stored, and executes outside of, the digital twin.

3. The building system of claim 1 , wherein the digital twin is a building graph including a plurality of nodes representing the plurality of entities and a plurality of edges between the plurality of entities representing the plurality of relationships between the plurality of entities.

4. The building system of claim 1 , wherein the plurality of relationships semantically define types of relationships between the plurality of entities.

5. The building system of claim 1 , wherein an operational command entity of the plurality of entities is an operational command of the building component, the operational command entity and the building component entity related by one or more particular relationships of the plurality of relationships;

wherein the instructions cause the one or more processors to:

receive a command indication to perform the operational command for the building component; and

operate the building component based on the operational command entity related to the building component entity in response to receiving the command indication to perform the operational command.

6. The building system of claim 1 , wherein the instructions cause the one or more processors to:

receive a plurality of events from the building component of the building;

generate a plurality of event data entities for the plurality of events; and

add the plurality of event data entities to the digital twin and one or more relationships between the plurality of event data entities and the building component entity.

7. The building system of claim 6 , wherein the software component is a processing workflow that defines one or more processing operations that generate derived data using the plurality of events;

wherein the instructions cause the one or more processors to:

execute the processing workflow to generate the derived data;

identify the data entity from a relationship of the plurality of relationships between the data entity and the building component entity; and

store the derived data in the data entity.

8. The building system of claim 1 , wherein the software component is an analytic operator that performs one or more logic operations on the data of the building component.

9. The building system of claim 8 , wherein the software component is at least one of:

a daily average operator that generates a daily average of temperature data of the building component; or

an abnormal indoor temperature operator that identifies an abnormal temperature measurement of the temperature data of the building component.

10. The building system of claim 8 , wherein the plurality of entities include a second data entity representing the data of the building component;

wherein the plurality of relationships include a relationship between the second data entity and the software component entity indicating that the software component performs the one or more logic operations on the data of the building component.

11. A method comprising:

storing, by one or more processing circuits, a digital twin of a building, the digital twin providing representations of a plurality of entities and a plurality of relationships between the plurality of entities, wherein a building component entity of the plurality of entities represents a building component of the building, wherein the digital twin includes a software component entity that provides a virtual representation of a software component, wherein the digital twin includes a data entity representing data generated by the software component, wherein the software component entity is related to the building component entity and the data entity by the digital twin, wherein the software component performs one or more operations with data of the building component to generate the data of the data entity;

receiving, by the one or more processing circuits, an indication to execute the software component to perform the one or more operations; and

causing, by the one or more processing circuits, the software component to be executed to perform the one or more operations with the data of the building component to generate the data of the data entity based on the software component entity being related to the building component entity indicated by the digital twin in response to receiving the indication.

12. The method of claim 11 , wherein the software component is stored, and executes outside of, the digital twin.

13. The method of claim 11 , wherein the digital twin is a building graph including a plurality of nodes representing the plurality of entities and a plurality of edges between the plurality of entities representing the plurality of relationships between the plurality of entities.

14. The method of claim 11 , wherein the plurality of relationships semantically define types of relationships between the plurality of entities.

15. The method of claim 11 , further comprising:

receiving, by the one or more processing circuits, a plurality of events from the building component of the building;

generating, by the one or more processing circuits, a plurality of event data entities for the plurality of events; and

adding, by the one or more processing circuits, the plurality of event data entities to the digital twin and one or more relationships between the plurality of event data entities and the building component entity.

16. The method of claim 15 , wherein the software component is a processing workflow that defines one or more processing operations that generate derived data using the plurality of events;

wherein the method further includes:

causing, by the one or more processing circuits, the processing workflow to be executed to generate the derived data;

identifying, by the one or more processing circuits, the data entity from a relationship of the plurality of relationships between the data entity and the building component entity; and

storing, by the one or more processing circuits, the derived data in the data entity.

17. The method of claim 11 , wherein the software component is an analytic operator that performs one or more logic operations on the data of the building component.

18. The method of claim 17 , wherein the software component is at least one of:

a daily average operator that generates a daily average of temperature data of the building component; or

an abnormal indoor temperature operator that identifies an abnormal temperature measurement of the temperature data of the building component.

19. The method of claim 17 , wherein the plurality of entities include a second data entity representing the data of the building component;

wherein the plurality of relationships include a relationship between the second data entity and the software component entity indicating that the software component performs the one or more logic operations on the data of the building component.

20. One or more storage media storing instructions thereon that, when executed by one or more processors, cause the one or more processors to:

store a digital twin of a building, the digital twin providing representations of a plurality of entities and a plurality of relationships between the plurality of entities, wherein a building component entity of the plurality of entities represents a building component of the building, wherein the digital twin includes a software component entity that provides a virtual representation of a software component, wherein the digital twin includes a data entity representing data generated by the software component, wherein the software component entity is related to the building component entity and the data entity by the digital twin, wherein the software component performs one or more operations with data of the building component to generate the data of the data entity;

receive an indication to execute the software component to perform the one or more operations; and

execute the software component to perform the one or more operations with the data of the building component to generate the data of the data entity based on the software component entity being related to the building component entity indicated by the digital twin in response to receiving the indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: PARK, YOUNGCHOON; SINHA, SUDHI R.; VENKITESWARAN, VAIDHYANATHAN; PAULSON, ERIK S.; CHENNUPATI, VIJAYA S.
To: JOHNSON CONTROLS TECHNOLOGY COMPANY
Reel/Frame 062726/0384 →
Continuity (11)
Continuation 17105263 · Nov 25, 2020
Continuation 16723600 · Dec 20, 2019
Continuation 16143243 · Sep 26, 2018
Continuation In Part 15644581 · Jul 7, 2017
Continuation In Part 15644519 · Jul 7, 2017
Continuation In Part 15644560 · Jul 7, 2017
Provisional Application 62611974 · Dec 29, 2017
Provisional Application 62611984 · Dec 29, 2017
Provisional Application 62564247 · Sep 27, 2017
Provisional Application 62457654 · Feb 10, 2017
Related Publication 20220148579A1 · May 12, 2022