IP Library Granted Patent US 11,777,759
Granted Patent B2
US 11,777,759 · App. 17/828,887 · Granted Oct 3, 2023

Building data platform with graph based permissions

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,759
App. No.
17/828,887
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 request to access a portion of a building graph of the building from a system, the building graph including a plurality of nodes and a plurality of edges, the plurality of nodes representing entities of the building and the plurality of edges representing relationships between the entities of the building. The instructions cause one or more processors to determine whether the system has access to the portion of the building graph based on a policy indicated by the plurality of nodes and edges of the building graph and provide the portion of the building graph to the system in response to a determination that the system has access to the portion of the building graph.

Claims (74)

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, from a system, a request to read a portion of a building graph of the building, the building graph including a plurality of nodes and a plurality of edges, the plurality of nodes representing entities of the building and the plurality of edges representing relationships between the entities of the building;

determine that the system has permission to read the portion of the building graph based on one or more nodes of the plurality of nodes and one or more edges of the plurality of edges, wherein the building graph represents the permission to read the portion of the building graph within the building graph itself via the one or more nodes and the one or more edges; and

provide the portion of the building graph to the system in response to a determination that the system has permission to read the portion of the building graph.

2. The building system of claim 1 , wherein a first node of the plurality of nodes represents the permission to read the portion of the building graph;

wherein a second node of the plurality of nodes indicates a command permission to send commands to devices represented by the portion of the building graph.

3. The building system of claim 1 , wherein the instructions cause the one or more processors to determine that the system has permission to read the portion of the building graph by:

identifying a first node of the plurality of nodes representing the system; and

identifying an edge of the plurality of edges between the first node and a second node of the plurality of nodes representing the permission to read the portion of the building graph.

4. The building system of claim 1 , wherein the permission to read the portion of the building graph is a permission to read events associated with a particular entity;

wherein the plurality of nodes include a first node representing the permission and the plurality of nodes include a second node representing the particular entity;

wherein an edge of the plurality of edges links the first node to the second node.

5. The building system of claim 1 , wherein the permission to read the portion of the building graph is a permission to read events associated with particular entities that are linked to an entity;

wherein the plurality of nodes include a first node representing the permission and the plurality of nodes include a second node representing a particular entity;

wherein an edge of the plurality of edges links the first node to the second node;

wherein the plurality of nodes include a plurality of third nodes representing the particular entities;

wherein the plurality of edges include second edges relating the third nodes to the second node.

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

receive a command to perform an action for an entity from the system;

identify that the system has a command permission to make the command to perform the action based on the building graph by:

identifying a first node of the plurality of nodes representing the system; and

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

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

receive, from the system, a request to write one or more values to the portion of the building graph;

determine that the system has permission to write to the portion of the building graph based on one or more second nodes and one or more second edges of the building graph that represent the permission to write to the portion of the building graph; and

write the one or more values to the portion of the building graph in response to a determination that the system has permission to write to the portion of the building graph.

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

receive, from the system, a command value for one or more particular nodes and write the command value in the one or more nodes of the building graph responsive to identifying a write permission for the system; and

operate a piece of building equipment to perform a command indicated by the command value.

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

determine that the system has a read or write permission to read one or more first nodes or write data to the one or more first nodes of the building graph by:

identifying a permission for the system to read or write to a second node indicated by the plurality of nodes and edges of the building graph and by identifying that the read or write permission cascades from the second node to the one or more first nodes by identifying that the one or more first nodes depend from the second node via one or more particular edges of the building graph;

wherein other nodes that depend from the second node receive the read or write permission based on their dependence from the second node indicating that the system has permission to read or write to the other nodes.

10. A method comprising:

receiving, by a processing circuit, from a system, a request to read a portion of a building graph of a building, the building graph including a plurality of nodes and a plurality of edges, the plurality of nodes representing entities of the building and the plurality of edges representing relationships between the entities of the building;

determining, by the processing circuit, that the system has permission to read the portion of the building graph based on one or more nodes of the plurality of nodes and one or more edges of the plurality of edges, wherein the building graph represents the permission to read the portion of the building graph within the building graph itself via the one or more nodes and the one or more edges; and

providing, by the processing circuit, the portion of the building graph to the system in response to a determination that the system has permission to read the portion of the building graph.

11. The method of claim 10 , wherein a first node of the plurality of nodes represents the permission to read the portion of the building graph;

wherein a second node of the plurality of nodes indicates a command permission to send commands to devices represented by the portion of the building graph.

12. The method of claim 10 , wherein determining, by the processing circuit, that the system has permission to read the portion of the building graph by:

identifying a first node of the plurality of nodes representing the system; and

identifying an edge of the plurality of edges between the first node and a second node of the plurality of nodes representing the permission to read the portion of the building graph.

13. The method of claim 10 , wherein the permission to read the portion of the building graph is a permission to read events associated with a particular entity;

wherein the plurality of nodes include a first node representing the permission and the plurality of nodes include a second node representing the particular entity;

wherein an edge of the plurality of edges links the first node to the second node.

14. The method of claim 10 , wherein the permission to read the portion of the building graph is a permission to read events associated with particular entities that are linked to an entity;

wherein the plurality of nodes include a first node representing the permission and the plurality of nodes include a second node representing a particular entity;

wherein an edge of the plurality of edges links the first node to the second node;

wherein the plurality of nodes include a plurality of third nodes representing the particular entities;

wherein the plurality of edges include second edges relating the third nodes to the second node.

15. The method of claim 10 , further comprising:

receiving, by the processing circuit, a command to perform an action for an entity from the system;

identifying, by the processing circuit, that the system has a command permission to make the command to perform the action based on the building graph by:

identifying a first node of the plurality of nodes representing the system; and

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

16. The method of claim 10 , further comprising:

receiving, by the processing circuit, from the system, a request to write one or more values to the portion of the building graph;

determining, by the processing circuit, that the system has permission to write to the portion of the building graph based on one or more second nodes and one or more second edges of the building graph that represent the permission to write to the portion of the building graph; and

writing, by the processing circuit, the one or more values to the portion of the building graph in response to a determination that the system has permission to write to the portion of the building graph.

17. The method of claim 10 , further comprising:

receiving, by the processing circuit, from the system, a command value for one or more particular nodes and write the command value in the one or more nodes of the building graph responsive to identifying a write permission for the system; and

operating, by the processing circuit, a piece of building equipment to perform a command indicated by the command value.

18. The method of claim 10 , further comprising:

determining, by the processing circuit, that the system has a read or write permission to read one or more first nodes or write data to the one or more first nodes of the building graph by:

identifying a permission for the system to read or write to a second node indicated by the plurality of nodes and edges of the building graph and by identifying that the read or write permission cascades from the second node to the one or more first nodes by identifying that the one or more first nodes depend from the second node via one or more particular edges of the building graph;

wherein other nodes that depend from the second node receive the read or write permission based on their dependence from the second node indicating that the system has permission to read or write to the other nodes.

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

receive, from a system, a request to read a portion of a building graph of a building, the building graph including a plurality of nodes and a plurality of edges, the plurality of nodes representing entities of the building and the plurality of edges representing relationships between the entities of the building;

determine that the system has permission to read the portion of the building graph based on one or more nodes of the plurality of nodes and one or more edges of the plurality of edges, wherein the building graph represents the permission to read the portion of the building graph within the building graph itself via the one or more nodes and the one or more edges; and

provide the portion of the building graph to the system in response to a determination that the system has permission to read the portion of the building graph.

20. The one or more storage medium of claim 19 , wherein the instructions cause the one or more processors to:

determine that the system has a read or write permission to read one or more first nodes or write data to the one or more first nodes of the building graph by:

identifying a permission for the system to read or write to a second node indicated by the plurality of nodes and edges of the building graph and by identifying that the read or write permission cascades from the second node to the one or more first nodes by identifying that the one or more first nodes depend from the second node via one or more particular edges of the building graph;

wherein other nodes that depend from the second node receive the read or write permission based on their dependence from the second node indicating that the system has permission to read or write to the other nodes.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2022
From: PLOEGERT, JUSTIN J.; O'DIERNO, DOMINICK JAMES; OTTO, BRIAN SCOTT
To: JOHNSON CONTROLS TECHNOLOGY COMPANY
Reel/Frame 060142/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2022
From: JOHNSON CONTROLS TECHNOLOGY COMPANY
To: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
Reel/Frame 060142/0974 →