IP Library Granted Patent US 11,150,617
Granted Patent B2
US 11,150,617 · App. 17/134,659 · Granted Oct 19, 2021

Building data platform with event enrichment with contextual information

Inventors: Justin J. Ploegert (Cudahy, WI); Dominick James O'Dierno (Mt Pleasant, WI); Brian Scott Otto (Menomonee Falls, WI)
Assignee: Johnson Controls Tyco IP Holdings LLP
G05B17/02G06F9/542G06F16/24575G06F16/258H04L67/2804
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,150,617
App. No.
17/134,659
Granted
Oct 19, 2021
Kind
B2
Abstract

A building system including one or more memory devices having instructions thereon, that, when executed by one or more processors, cause the one or more processors to receive an event from an event source, the event indicating a data value associated with the event source occurring at a particular time. The instructions cause the one or more processors to identify contextual data of a database that provides a contextual description of the event, generate an enriched event by enriching the event with the contextual data, the enriched event including the data value, the particular time, and the contextual data, and provide the enriched event to a consuming application configured to operate based on the enriched event.

Claims (67)

1. A building system comprising one or more memory devices having instructions thereon, that, when executed by one or more processors, cause the one or more processors to:

receive an event from an event source, the event indicating a data value associated with the event source occurring at a particular time;

identify contextual data of a database comprising a plurality of nodes and a plurality of edges relating the plurality of nodes, wherein identifying the contextual data includes identifying a node of the plurality of nodes related to another node representing the event source by one or more edges of the plurality of edges, and wherein the node indicates the contextual data that provides a contextual description of the event;

generate an enriched event by enriching the event with the contextual data, the enriched event including the data value, the particular time, and the contextual data; and

provide the enriched event to a consuming application configured to operate based on the enriched event.

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

retrieve one or more schemas from a schema database, the one or more schemas indicating available schema formats for events;

determine whether a schema that the event is formatted in matches the one or more schemas;

generate the enriched event in response to determining that the schema that the event is formatted in matches the one or more schemas; and

perform at least one of:

adding the event into a dead letter storage in response to a determination that the schema that the event is formatted in does not match the one or more schemas; or

adding the schema that the event is formatted in into the schema database in response to determining that the schema that the event is formatted in does not match the one or more schemas and in response to determining that the building system is operating in a discovery mode to discover new schemas.

3. The building system of claim 1 , wherein the instructions cause the one or more processors cause the enriched event to be added to a topic subscribed to by the consuming application.

4. The building system of claim 1 , wherein the instructions cause the one or more processors to persist the enriched event in an event database.

5. The building system of claim 1 , wherein the instructions cause the one or more processors to identify the contextual data based on one or more enrichment rules associated with the consuming application;

wherein the instructions cause the one or more processors to:

identify second contextual data of the database based on one or more second enrichment rules associated with a second consuming application;

generate a second enriched event by enriching the event with the second contextual data, the data value, and the particular time; and

provide the second enriched event to the second consuming application.

6. The building system of claim 1 , wherein the event is received from a piece of building equipment of a building;

wherein the instructions cause the one or more processors to identify the contextual data by searching a graph projection that includes the contextual description of the piece of building equipment.

7. The building system of claim 6 , wherein the graph projection includes the plurality of nodes and the plurality of edges;

wherein the plurality of nodes represent entities of the building and the plurality of edges represent relationships between the entities of the building.

8. The building system of claim 6 , wherein the database is a digital twin of the building, wherein the contextual data includes one or more capabilities of the piece of building equipment.

9. The building system of claim 6 , wherein the contextual description includes at least one of:

a location where the piece of building equipment is located;

another piece of building equipment related to the piece of building equipment;

a point of the piece of building equipment; and

a person associated with the piece of building equipment.

10. The building system of claim 9 , wherein the location is at least one of the building that the piece of building equipment is located in or a space that the piece of building equipment is located in.

11. A method comprising:

receiving, by a processing circuit, an event from a piece of building equipment of a building, the event indicating a data value associated with the piece of building equipment occurring at a particular time;

identifying, by the processing circuit, contextual data of a database comprising a plurality of nodes and a plurality of edges relating the plurality of nodes, wherein identifying the contextual data includes identifying a node of the plurality of nodes related to another node representing the event source by one or more edges of the plurality of edges, and wherein the node indicates the contextual data that provides a contextual description of the event;

generating, by the processing circuit, an enriched event by enriching the event with the contextual data, the enriched event including the data value, the particular time, and the contextual data; and

providing, by the processing circuit, the enriched event to a consuming application configured to operate based on the enriched event.

12. The method of claim 11 , further comprising:

retrieving, by the processing circuit, one or more schemas from a schema database, the one or more schemas indicating available schema formats for events;

determining, by the processing circuit, whether a schema that the event is formatted in matches the one or more schemas;

generating, by the processing circuit, the enriched event in response to determining that the schema that the event is formatted in matches the one or more schemas; and

performing, by the processing circuit, at least one of:

adding the event into a dead letter storage in response to a determination that the schema that the event is formatted in does not match the one or more schemas; or

adding the schema that the event is formatted in into the schema database in response to determining that the schema that the event is formatted in does not match the one or more schemas and in response to determining that the building system is operating in a discovery mode to discover new schemas.

13. The method of claim 11 , further comprising:

causing, by the processing circuit, the enriched event to be added to a topic subscribed to by the consuming application.

14. The method of claim 11 , further comprising:

persisting, by the processing circuit, the enriched event in an event database.

15. The method of claim 11 , wherein identifying, by the processing circuit, the contextual data is based on one or more enrichment rules associated with the consuming application;

wherein the method further comprises:

identifying, by the processing circuit, second contextual data of the database based on one or more second enrichment rules associated with a second consuming application;

generating, by the processing circuit, a second enriched event by enriching the event with the second contextual data, the data value, and the particular time; and

providing, by the processing circuit, the second enriched event to the second consuming application.

16. The method of claim 11 , further comprising identifying, by the processing circuit, the contextual data by searching a graph projection that includes the contextual description of the piece of building equipment.

17. The method of claim 16 , wherein the graph projection includes the plurality of nodes and the plurality of edges;

wherein the plurality of nodes represent entities of the building and the plurality of edges represent relationships between the entities of the building.

18. The method of claim 16 , wherein the contextual data includes one or more capabilities of the piece of building equipment.

19. The method of claim 16 , wherein the contextual description includes at least one of:

a location where the piece of building equipment is located;

another piece of building equipment related to the piece of building equipment;

a point of the piece of building equipment; and

a person associated with the piece of building equipment.

20. A building system comprising:

one or more memory devices having instructions thereon; and

one or more processors configured to execute the instructions causing the one or more processors to:

receive an event from a piece of building equipment of a building, the event indicating a data value associated with the piece of building equipment occurring at a particular time;

identify contextual data of a digital twin of the building comprising a plurality of nodes and a plurality of edges relating the plurality of nodes, wherein identifying the contextual data includes identifying a node of the plurality of nodes related to another node representing the event source by one or more edges of the plurality of edges, and wherein the node indicates the contextual data that provides a contextual description of the event;

generate an enriched event by enriching the event with the contextual data, the enriched event including the data value, the particular time, and the contextual data; and

provide the enriched event to a consuming application configured to operate based on the enriched event.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2024
From: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
To: TYCO FIRE & SECURITY GMBH
Reel/Frame 067056/0552 →
NUNC PRO TUNC ASSIGNMENT Recorded Feb 4, 2022
From: JOHNSON CONTROLS TECHNOLOGY COMPANY
To: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
Reel/Frame 058959/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: JOHNSON CONTROLS TECHNOLOGY COMPANY
To: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
Reel/Frame 058723/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: PLOEGERT, JUSTIN J.; O'DIERNO, DOMINICK JAMES; OTTO, BRIAN SCOTT
To: JOHNSON CONTROLS TECHNOLOGY COMPANY
Reel/Frame 054998/0801 →
Cited By (14)
US 12,260,140 US 12,271,166 US 12,282,975 US 12,346,073 US 12,393,385 US 12,406,218 US 12,424,329 US 12,431,621 US 12,436,513 US 12,481,259 US 12,493,269 US 12,687,314 US 12,695,189 US 12,719,167