IP Library Granted Patent US 11,777,756
Granted Patent B2
US 11,777,756 · App. 17/134,671 · Granted Oct 3, 2023

Building data platform with graph based communication actions

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
H04L12/2827G05B13/0265G05B13/041G05B13/047G05B15/02G05B17/02G05B19/0428G06F9/542G06F9/547G06F16/212G06F16/2358G06F16/24526G06F16/24575G06F16/258G06F16/27G06F16/288G06F16/9024G06F21/60G06F30/13G06Q30/04G06Q50/00G06Q50/06H04L67/12H04L67/561G05B2219/2614G05B2219/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,777,756
App. No.
17/134,671
Granted
Oct 3, 2023
Kind
B2
Abstract

A building system of a building 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 a command to perform an action for an entity. The instructions cause the one or more processors to identify a service configured to perform the action based on a building graph, the building graph including a plurality of nodes and a plurality of edges, wherein the plurality of nodes represent entities of the building, the service, and one or more other services, wherein the plurality of edges represent relationships between the entities and communication actions of the service with the one or more other services and cause the service to perform the action by causing the service to perform one or more communication actions with the one or more other services indicated by the building graph.

Claims (66)

1. A building system of a building 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, by a twin manager, a change feed event from a change feed generator, wherein the change feed generator is part of the twin manager and tracks changes in a digital twin;

generate, by a graph projection manager of the twin manager and based on the change feed event, a building graph, the building graph comprising a plurality of nodes and a plurality of edges, wherein one or more edges of the plurality of edges store the one or more API calls, wherein the plurality of nodes represent entities of the building, a service, and one or more other services, and wherein the building graph is a part of the digital twin;

receive, by a cloud platform, an indication to perform an action of an entity of the building graph;

identify, by the cloud platform, the service provided to perform one or more API calls based on the building graph, wherein the plurality of edges represent relationships between the entities and the one or more API calls that the service transmits to the one or more other services, and wherein the one or more API calls are stored on the one or more edges between a node of the plurality of nodes and one or more other nodes of the plurality of nodes, the one or more edges including:

at least one direction relating the node of the plurality of nodes representing the service to the one or more other nodes of the plurality of nodes representing the one or more other services, the direction indicating that the service is configured to transmit the one or more API calls to the one or more other services, and the one or more other services responds to the one or more API calls; and

cause the service, by the cloud platform, to transmit the one or more API calls to the one or more other services responsive to identifying the one or more API calls stored on the one or more edges of the building graph and implement the action based on the one or more API calls and the one or more services.

2. The building system of claim 1 , wherein the entities of the building are at least one of building equipment, locations of the building, users of the building, and events of the building.

3. The building system of claim 1 , wherein the node of the plurality of nodes represents the service and a second node of the plurality of nodes represents a second service of the one or more other services; and

wherein an edge of the plurality of edges relates the node to the second node and indicates an API call of the one or more API calls that the service can make to the second service.

4. The building system of claim 1 , wherein the service is a connection broker configured to broker a connection between the building system and an external system separate from the building system; and

wherein the connection broker makes the one or more API calls to the one or more other services to cause the external system to perform an operation.

5. The building system of claim 1 , wherein the service is a device hub configured to handle messages between the building system and a piece of building equipment; and

wherein the device hub makes one or more API calls to the one or more other services to cause the piece of building equipment to perform an operation.

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

identify a capability of the entity in the building graph, the capability indicating that the entity can perform an action; and

cause the service to transmit the one or more API calls responsive to identifying the capability of the entity.

7. The building system of claim 1 , wherein the instructions cause the one or more processors to receive a command to perform the one or more API calls from a requesting system;

wherein the instructions cause the one or more processors to identify whether the requesting system has a policy to make the command to perform the one or more API calls based on the building graph, wherein the building graph indicates the policy to make the command; and

wherein the instructions cause the one or more processors to cause the service to perform the one or more API calls in response to identifying the policy to make the command.

8. The building system of claim 1 , wherein the instructions cause the one or more processors to identify whether a requesting system that the building system receives a request to perform a command from has a policy to make the command by:

identifying a first node of the plurality of nodes representing the requesting system in the building graph; and

identifying one or more particular edges between the first node and a second node of the plurality of nodes representing the policy to make the command.

9. A method comprising:

receiving, by a processing circuit, a change feed event that tracks changes in a digital twin from a change feed generator, wherein the change feed generator is part of the digital twin;

generating, by the processing circuit and based on the change feed event, a building graph, the building graph comprising a plurality of nodes and a plurality of edges, wherein one or more edges of the plurality of edges store the one or more API calls, wherein the plurality of nodes represent entities of a building, a service, and one or more other services, and wherein the building graph is a part of the digital twin;

receiving, by the processing circuit, an indication to perform an action of an entity of the building graph;

identifying, by the processing circuit, the service provided to perform one or more API calls based on the building graph, wherein the plurality of edges represent relationships between the entities and the one or more API calls that the service transmits to the one or more other services, and wherein the one or more API calls are stored on the one or more edges between a node of the plurality of nodes and one or more other nodes of the plurality of nodes, the one or more edges including:

at least one direction relating the node of the plurality of nodes representing the service to the one or more other nodes of the plurality of nodes representing the one or more other services, the direction indicating that the service is configured to transmit the one or more API calls to the one or more other services, and the one or more other services responds to the one or more API calls; and

causing, by the processing circuit, the service to transmit the one or more API calls to the one or more other services responsive to identifying the one or more API calls stored on the one or more edges of the building graph and implement the action based on the one or more API calls and the one or more services.

10. The method of claim 9 , wherein the entities of the building are at least one of building equipment, locations of the building, users of the building, and events of the building.

11. The method of claim 9 , wherein the node of the plurality of nodes represents the service and a second node of the plurality of nodes represents a second service of the one or more other services; and

wherein an edge of the plurality of edges relates the node to the second node and indicates an API call of the one or more API calls that the service can make to the second service.

12. The method of claim 9 , wherein the service is a connection broker configured to broker a connection between a building system and an external system separate from the building system; and

wherein the connection broker makes the one or more API calls to the one or more other services to cause the external system to perform an operation.

13. The method of claim 9 , wherein the service is a device hub configured to handle messages between a building system and a piece of building equipment; and

wherein the device hub makes the one or more API calls to the one or more other services to cause the piece of building equipment to perform an operation.

14. The method of claim 9 , further comprising:

identifying, by the processing circuit, a capability of the entity in the building graph, the capability indicating that the entity can perform an action; and

causing, by the processing circuit, the service to transmit the one or more API calls responsive to identifying the capability of the entity.

15. The method of claim 9 , further comprising receiving, by the processing circuit, a command to perform the one or more API calls from a requesting system;

wherein the method further comprises identifying, by the processing circuit, whether the requesting system has a policy to make the command to perform the one or more API calls based on the building graph, wherein the building graph indicates the policy to make the command; and

wherein the method further comprises causing, by the processing circuit, the service to perform the one or more API calls in response to identifying the policy to make the command.

16. The method of claim 9 , further comprising identifying, by the processing circuit, whether a requesting system that the processing circuit receives a request to perform a command from has a policy to make the command comprises:

identifying a first node of the plurality of nodes representing the requesting system in the building graph; and

identifying one or more particular edges between the first node and a second node of the plurality of nodes representing the policy to make the command.

17. One or more non-transitory memory devices having instructions thereon, that, when executed by one or more processors, cause the one or more processors to:

receive, by a twin manager, a change feed event from a change feed generator, wherein the change feed generator is part of the twin manager and tracks changes in a digital twin;

generate, by the twin manager and based on the change feed event, a digital twin, the digital twin comprising a plurality of nodes and a plurality of edges, wherein one or more edges of the plurality of edges store the one or more API calls, wherein the plurality of nodes represent entities of a building, a service, and one or more other services;

receive, by a cloud platform, an indication to perform an action of an entity of the building graph;

identify, by the cloud platform, the service provided to perform one or more API calls based on the digital twin, wherein the plurality of edges represent relationships between the entities and API calls that the service transmits to the one or more other services, and wherein the one or more API calls are stored on the one or more edges between a node of the plurality of nodes and one or more other nodes of the plurality of nodes, the one or more edges including:

at least one direction relating the node of the plurality of nodes representing the service to the one or more other nodes of the plurality of nodes representing the one or more other services, the direction indicating that the service is configured to transmit the one or more API calls to the one or more other services, and the one or more other services are responds to the one or more API calls; and

cause the service, by the cloud platform, to transmit the one or more API calls to the one or more other services responsive to identifying the one or more API calls stored on the one or more edges of the digital twin and implement the action based on the one or more API calls and the one or more services.

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

receive a command to make the one or more API calls by the service to the one or more other services;

query the building graph to determine whether the one or more API calls are represented on at least one edge of the plurality of edges; and

cause the service to make the one or more API calls in response to a determination that the one or more API calls are represented on the at least one edge.

19. The one or more non-transitory memory devices of claim 17 , wherein the instructions cause the one or more processors to:

identify a capability of the entity in the digital twin, the capability indicating that the entity can perform an action; and

cause the service to transmit the one or more API calls responsive to identifying the capability of the entity.

20. The one or more non-transitory memory devices of claim 17 , wherein the instructions cause the one or more processors to receive a command to perform the one or more API calls from a requesting system;

wherein the instructions cause the one or more processors to identify whether the requesting system has a policy to make the command to perform the one or more API calls based on the digital twin, wherein the digital twin indicates the policy to make the command; and

wherein the instructions cause the one or more processors to cause the service to perform the one or more API calls in response to identifying the policy to make the command.

21. The one or more non-transitory memory devices of claim 17 , wherein the instructions cause the one or more processors to identify whether a requesting system that the one or more processors receives a request to perform a command from has a policy to make the command by:

identifying a first node of the plurality of nodes representing the requesting system in the digital twin; and

identifying one or more particular edges between the first node and a second node of the plurality of nodes representing the policy to make the command.

Assignments (3)
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 25, 2021
From: PLOEGERT, JUSTIN J.; O'DIERNO, DOMINICK JAMES; OTTO, BRIAN SCOTT
To: JOHNSON CONTROLS TECHNOLOGY COMPANY
Reel/Frame 055018/0706 →