DE102022129829A1 - BUILDING DATA PLATFORM WITH SCHEME EXTENSIBILITIES FOR DIGITAL TWIN STATES, PROPERTIES AND TAGS - Google Patents

BUILDING DATA PLATFORM WITH SCHEME EXTENSIBILITIES FOR DIGITAL TWIN STATES, PROPERTIES AND TAGS Download PDF

Info

Publication number
DE102022129829A1
DE102022129829A1 DE102022129829.9A DE102022129829A DE102022129829A1 DE 102022129829 A1 DE102022129829 A1 DE 102022129829A1 DE 102022129829 A DE102022129829 A DE 102022129829A DE 102022129829 A1 DE102022129829 A1 DE 102022129829A1
Authority
DE
Germany
Prior art keywords
entity
schema
digital twin
nodes
building
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022129829.9A
Other languages
German (de)
Inventor
Dominick James O'Dierno
Brian Scott Otto
Trent Mark Swanson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Johnson Controls Tyco IP Holdings LLP
Original Assignee
Johnson Controls Tyco IP Holdings LLP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/528,038 external-priority patent/US20230152765A1/en
Priority claimed from US17/528,026 external-priority patent/US11796974B2/en
Application filed by Johnson Controls Tyco IP Holdings LLP filed Critical Johnson Controls Tyco IP Holdings LLP
Publication of DE102022129829A1 publication Critical patent/DE102022129829A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads

Abstract

Ein Gebäudesystem beinhaltet eine oder mehrere Speichervorrichtungen, die Anweisungen darauf umfasst, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten. Die Anweisungen veranlassen den einen oder die mehreren Prozessoren, ein Schema des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas zu aktualisieren, basierend auf dem Schema, ein oder mehrere Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, und eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die den Zustand darstellen, durchzuführen.A building system includes one or more storage devices that include instructions thereon that, when executed by one or more processors, cause the one or more processors to perform one or more initial operations based on a digital twin of a building to obtain a state for an entity of the digital twin. The instructions cause the one or more processors to update a schema of the digital twin by adding a state type of the state to an entity class of the schema, based on the schema, adding one or more data items representing the state to the digital twin, wherein the one or more data items are related to an entity of the entity class, and perform one or more second operations based on the one or more data items representing the state.

Description

HINTERGRUNDBACKGROUND

Die vorliegende Anmeldung betrifft allgemein ein Gebäudesystem mit einem digitalen Zwilling. Insbesondere betrifft die vorliegende Anmeldung das Schema des digitalen Zwillings.The present application generally relates to a digital twin building system. In particular, the present application relates to the digital twin scheme.

Das Gebäudesystem kann gegen einen digitalen Zwilling arbeiten, beispielsweise kann der digitale Zwilling das Gebäudesystem über Informationen informieren, die das Gebäude betreffen, gegen das das Gebäudesystem arbeitet. Das Schema, in dem der digitale Zwilling eingesetzt wird, kann jedoch statisch sein, d. h. es ändert sich nicht. Dies kann Probleme verursachen, wenn das Schema einen bestimmten Ausdruck von Informationen nicht zulässt, der für Systeme des Gebäudes nützlich wäre, gegen die gearbeitet werden soll. Es kann viel Zeit verschwendet werden, Schemata neu zu entwickeln und Systeme neu einzusetzen, um Informationen in dem digitalen Zwilling auszudrücken, der von anderen Systemen benötigt wird.The building system can work against a digital twin, for example the digital twin can inform the building system of information concerning the building that the building system is working against. However, the scheme in which the digital twin is deployed can be static; H. it doesn't change. This can cause problems if the schema does not allow for a specific expression of information that would be useful for building systems to be worked against. Much time can be wasted redesigning schemas and redeploying systems to express information in the digital twin required by other systems.

KURZDARSTELLUNGEXECUTIVE SUMMARY

Dynamische Eigenschaft oder dynamisches TagDynamic property or dynamic tag

Ein Gebäudesystem, das eine oder mehrere Speichervorrichtungen beinhaltet, die Anweisungen darauf beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und Beziehungen zwischen den Entitäten beinhaltet. Die Anweisungen veranlassen den einen oder die mehreren Prozessoren, ein Schema des digitalen Zwillings durch Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse des Schemas zu aktualisieren, basierend auf dem Schema, ein oder mehrere Datenelemente, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, wobei die Vielzahl von Entitäten die Entität beinhalten, und eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die die Eigenschaft oder das Tag darstellen, durchzuführen.A building system that includes one or more storage devices that include instructions thereon that, when executed by one or more processors, cause the one or more processors to perform one or more initial operations based on a digital twin of a building, wherein the digital twin contains representations of entities of the building and relationships between the entities. The instructions cause the one or more processors to update a schema of the digital twin by adding a property or tag to an entity class of the schema, based on the schema, one or more data items representing the property or tag to which add a digital twin, the one or more data items being related to an entity of the entity class, the plurality of entities including the entity, and one or more second operations based on the one or more data items representing the property or tag represent to carry out.

In einigen Ausführungsformen beinhalten die Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis, wobei das Schema Entitätsklassen für Entitätstypen der Entitäten definiert.In some embodiments, the entities include at least one of a person, point, location, or event, and the schema defines entity classes for entity types of the entities.

In einigen Ausführungsformen sind die Entitäten Instanzen von Entitätsklassen, die durch das Schema definiert sind.In some embodiments, the entities are instances of entity classes defined by the schema.

In einigen Ausführungsformen definiert die Eigenschaft oder das Tag ein Merkmal der Entität.In some embodiments, the property or tag defines a characteristic of the entity.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, das Schema des digitalen Zwillings zu aktualisieren, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.In some embodiments, the instructions cause the one or more processors to update the schema of the digital twin while the digital twin is being deployed, without having to re-deploy the digital twin.

In einigen Ausführungsformen definiert das Schema Entitätsklassen, wobei die Entitätsklassen Eigenschaften, Tags und Zustände für die Entitätsklassen angeben.In some embodiments, the schema defines entity classes, where the entity classes specify properties, tags, and states for the entity classes.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, Entitätsknoten, die Entitäten in der Entitätsklasse angeben, zu identifizieren und basierend auf dem Schema, den einen oder die mehreren Knoten, die die Eigenschaft oder das Tag darstellen, für jeden der Entitätsknoten zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten mit dem Entitätsknoten in Beziehung stehen.In some embodiments, the instructions cause the one or more processors to identify entity nodes that specify entities in the entity class and, for each of the entity nodes, to assign the one or more nodes that represent the property or tag based on the schema add to the digital twin, wherein the one or more nodes are related to the entity node.

In einigen Ausführungsformen beinhaltet der digitale Zwilling Knoten und Ränder zwischen den Knoten, wobei die Vielzahl von Knoten die Entitäten des Gebäudes darstellen und die Ränder die Beziehungen zwischen den Entitäten angeben. In einigen Ausführungsformen veranlassen Anweisungen den einen oder die mehreren Prozessoren, basierend auf dem Schema, einen oder mehrere Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten mit einem Knoten in Beziehung stehen, der die Entität der Entitätsklasse durch einen oder mehrere Ränder darstellt.In some embodiments, the digital twin includes nodes and borders between the nodes, where the plurality of nodes represent the entities of the building and the borders indicate the relationships between the entities. In some embodiments, instructions cause the one or more processors to add, based on the schema, one or more nodes representing the property or tag to the digital twin, the one or more nodes being related to a node, which represents the entity of the entity class by one or more borders.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, eine Angabe zum Hinzufügen der Eigenschaft oder des Tags zu einer ersten Entität zu empfangen, die Entitätsklasse der ersten Entität basierend auf dem Schema zu identifizieren, das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass eine Klasse der ersten Entität die Entitätsklasse ist, und den einen oder die mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling basierend auf dem Schema hinzuzufügen, wobei der eine oder die mehreren Knoten mit dem Knoten in Beziehung stehen, der die Entität der Entitätsklasse darstellt, wobei die Entität eine zweite Entität ist, die sich von der ersten Entität unterscheidet.In some embodiments, the instructions cause the one or more processors to receive an indication to add the property or tag to a first entity, identify the entity class of the first entity based on the schema, identify the digital twin schema by adding the property or update the tag to the entity class of the schema in response to identifying that a class of the first entity is the entity class and the one or more nodes representing the property or tag to the digital twin based on the add schema, wherein the one or more nodes are related to the node representing the entity of the entity class, the entity being a second entity different from the first entity.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, eine Benutzereingabe von einer Benutzervorrichtung zu empfangen, wobei die Benutzereingabe die Eigenschaft oder das Tag definiert, das der Entitätsklasse des Schemas hinzugefügt werden soll, und als Reaktion auf den Empfang der Benutzereingabe, das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas basierend auf der Benutzereingabe hinzuzufügen.In some embodiments, the instructions cause the one or more processors to receive user input from a user device, the user input defining the property or tag to be added to the entity class of the schema, and in response to receiving the user input, the Add the digital twin schema by adding the property or tag to the schema's entity class based on user input.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, eine Aktualisierung an einem oder mehreren bestimmten Knoten oder einem oder mehreren bestimmten Rändern des digitalen Zwillings zu identifizieren, wobei die Aktualisierung Änderungen angibt, die die Entität beeinflussen, zu bestimmen, dass die Aktualisierung eine Änderung an einem oder mehreren Merkmalen der Entität angibt, und das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf die Bestimmung, dass die Aktualisierung die Änderung an dem einen oder den mehreren Merkmalen der Entität angibt. Eine andere Implementierung der vorliegenden Offenbarung ist ein Verfahren, das ein Durchführen einer oder mehrerer erster Operationen basierend auf einem digitalen Zwilling eines Gebäudes durch eine oder mehrere Verarbeitungsschaltungen beinhaltet, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und Beziehungen zwischen den Entitäten beinhaltet. Das Verfahren beinhaltet ein Aktualisieren eines Schemas des digitalen Zwillings durch Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse des Schemas durch die eine oder die mehreren Verarbeitungsschaltungen, ein Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, eines oder mehrerer Datenelemente, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, wobei die Entitäten die Entität beinhalten, und ein Durchführen, durch die eine oder die mehreren Verarbeitungsschaltungen, einer oder mehrerer zweiter Operationen basierend auf dem einen oder den mehreren Datenelementen, die die Eigenschaft oder das Tag darstellen.In some embodiments, the instructions cause the one or more processors to identify an update at a particular node or edges of the digital twin, the update indicating changes affecting the entity to determine that the update indicates a change to one or more characteristics of the entity, and update the schema of the digital twin by adding the property or tag to the entity class of the schema in response to determining that the update reflects the change to the one or more characteristics the entity indicates. Another implementation of the present disclosure is a method that includes performing, by one or more processing circuitry, one or more first operations based on a digital twin of a building, the digital twin including representations of entities of the building and relationships between the entities. The method includes updating, by the one or more processing circuits, a schema of the digital twin by adding a property or tag to an entity class of the schema, adding, by the one or more processing circuits based on the schema, one or more data items, representing the property or tag to the digital twin, the one or more data items being related to an entity of the entity class, the entities including the entity, and performing, by the one or more processing circuits, one or a plurality of second operations based on the one or more data items representing the property or tag.

In einigen Ausführungsformen beinhalten die Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis, wobei das Schema Entitätsklassen für Entitätstypen der Entitäten definiert.In some embodiments, the entities include at least one of a person, point, location, or event, and the schema defines entity classes for entity types of the entities.

In einigen Ausführungsformen definiert die Eigenschaft oder das Tag ein Merkmal der Entität.In some embodiments, the property or tag defines a characteristic of the entity.

In einigen Ausführungsformen, Aktualisieren des Schemas des digitalen Zwillings durch die eine oder die mehreren Verarbeitungsschaltungen, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.In some embodiments, the one or more processing circuits updating the schema of the digital twin while the digital twin is being deployed without having to re-deploy the digital twin.

In einigen Ausführungsformen definiert das Schema Entitätsklassen, wobei die Entitätsklassen Eigenschaften, Tags und Zustände für die Entitätsklassen angeben.In some embodiments, the schema defines entity classes, where the entity classes specify properties, tags, and states for the entity classes.

In einigen Ausführungsformen beinhaltet der digitale Zwilling eine Vielzahl von Knoten und eine Vielzahl von Rändern zwischen der Vielzahl von Knoten, wobei die Vielzahl von Knoten die Vielzahl von Entitäten des Gebäudes darstellt und die Vielzahl von Rändern die Beziehungen zwischen der Vielzahl von Entitäten angibt. In einigen Ausführungsformen beinhaltet das Verfahren weiter ein Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, von einem oder mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit einem Knoten in Beziehung stehen, der die Entität der Entitätsklasse durch einen oder mehrere Ränder darstellt.In some embodiments, the digital twin includes a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating relationships between the plurality of entities. In some embodiments, the method further includes adding, by the one or more processing circuits based on the schema, one or more nodes representing the property or tag to the digital twin, the one or more nodes having a node that represents the entity of the entity class by one or more edges.

In einigen Ausführungsformen beinhaltet das Verfahren ein Identifizieren, durch die eine oder die mehreren Verarbeitungsschaltungen, von Entitätsknoten, die Entitäten in der Entitätsklasse angeben, und ein Hinzufügen, durch die eine oder mehreren Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die die Eigenschaft oder das Tag darstellen, für jeden der Entitätsknoten zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit den Entitätsknoten in Beziehung stehen.In some embodiments, the method includes identifying, by the one or more processing circuits, entity nodes that indicate entities in the entity class and adding, by the one or more processing circuits based on the schema, the one or more nodes that represent the property or tag, for each of the entity nodes to the digital twin, wherein the one or more nodes are related to the entity nodes.

In einigen Ausführungsformen beinhaltet das Verfahren ein Empfangen, durch die eine oder die mehreren Verarbeitungsschaltungen, einer Angabe zum Hinzufügen der Eigenschaft oder des Tags zu einer ersten Entität, ein Identifizieren, durch die eine oder die mehreren Verarbeitungsschaltungen, der Entitätsklasse der ersten Entität basierend auf dem Schema, ein Aktualisieren, durch die eine oder die mehreren Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas als Reaktion auf das Identifizieren, dass eine Klasse der ersten Entität die Entitätsklasse ist, und ein Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit dem Knoten in Beziehung stehen, der die Entität der Entitätsklasse darstellt, wobei die Entität eine zweite Entität ist, die sich von der ersten Entität unterscheidet.In some embodiments, the method includes receiving, by the one or more processing circuits, an indication to add the property or tag to a first entity, identifying, by the one or more processing circuits, the entity class of the first entity based on the schema, updating, by the one or more processing circuits, the digital twin schema by adding the property or tag to the entity class of the schema in response to identifying that a class of the first entity is the entity class, and adding, by the one or more processing circuits based on the schema, the one or more nodes representing the property or tag to the digital twin, the one or more nodes being related to the node representing the entity of the represents an entity class, where the entity is a second entity that is distinct from the first entity.

In einigen Ausführungsformen beinhaltet das Verfahren ein Empfangen, durch die eine oder die mehreren Verarbeitungsschaltungen, einer Benutzereingabe von einer Benutzervorrichtung, wobei die Benutzereingabe die Eigenschaft oder das Tag definiert, das der Entitätsklasse des Schemas hinzugefügt werden soll, und ein Aktualisieren, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf der Benutzereingabe, des Schemas des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas als Reaktion auf den Empfang der Benutzereingabe.In some embodiments, the method includes receiving, by the one or more processing circuits, user input from a user device, the user input defining the property or tag to be added to the entity class of the schema, and updating, by the one or the plurality of processing circuits, based on the user input, the digital twin schema by adding the property or tag to the entity class of the schema in response to receiving the user input.

In einigen Ausführungsformen beinhaltet das Verfahren ein Identifizieren, durch die eine oder die mehreren Verarbeitungsschaltungen, einer Aktualisierung an einem oder mehreren bestimmten Knoten oder einem oder mehreren bestimmten Rändern des digitalen Zwillings, wobei die Aktualisierung Änderungen angibt, die die Entität beeinflussen, ein Bestimmen, durch die eine oder die mehreren Verarbeitungsschaltungen, dass die Aktualisierung eine Änderung an einem oder mehreren Merkmalen der Entität angibt, und ein Aktualisieren, durch die eine oder die mehreren Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas, als Reaktion auf das Bestimmen, dass die Aktualisierung die Änderung an dem einen oder den mehreren Merkmalen der Entität angibt.In some embodiments, the method includes identifying, by the one or more processing circuits, an update at one or more particular nodes or one or more particular edges of the digital twin, the update indicating changes affecting the entity, determining by the one or more processing circuits that the update indicates a change to one or more characteristics of the entity, and updating, by the one or more processing circuits, the schema of the digital twin by adding the property or tag to the entity class of the schema , in response to determining that the update indicates the change to the one or more characteristics of the entity.

Eine andere Implementierung der vorliegenden Offenbarung ist ein Gebäudesystem, das eine oder mehrere Speichervorrichtungen beinhaltet, die Anweisungen darauf beinhalten, und einen oder mehrere Prozessoren beinhaltet, die konfiguriert sind, um die Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen, eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und den Rändern, die Beziehungen zwischen den Entitäten angeben, beinhaltet. Die Anweisungen veranlassen den einen oder die mehreren Prozessoren, ein Schema des digitalen Zwillings durch Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse des Schemas zu aktualisieren, basierend auf dem Schema, ein oder mehrere Datenelemente, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, wobei die Entitäten die Entität beinhalten, und eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die die Eigenschaft oder das Tag darstellen, durchzuführen.Another implementation of the present disclosure is a building system that includes one or more storage devices storing instructions thereon and one or more processors configured to execute the instructions causing the one or more processors to execute perform initial operations based on a digital twin of a building, where the digital twin includes representations of entities of the building and the boundaries that indicate relationships between the entities. The instructions cause the one or more processors to update a schema of the digital twin by adding a property or tag to an entity class of the schema, based on the schema, one or more data items representing the property or tag to which add digital twin, wherein the one or more data items are related to an entity of the entity class, the entities including the entity, and one or more second operations based on the one or more data items representing the property or tag, to perform.

Dynamischer Zustanddynamic state

Eine Implementierung der vorliegenden Offenbarung ist ein Gebäudesystem, das eine oder mehrere Speichervorrichtungen beinhaltet, die Anweisungen darauf beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und Beziehungen zwischen den Entitäten beinhaltet. Die Anweisungen veranlassen den einen oder die mehreren Prozessoren, ein Schema des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas zu aktualisieren, basierend auf dem Schema, ein oder mehrere Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, und eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die den Zustand darstellen, durchzuführen.An implementation of the present disclosure is a building system that includes one or more storage devices that include instructions thereon that, when executed by one or more processors, cause the one or more processors to perform one or more first operations based on a digital Twin a building to derive a state for a digital twin entity, where the digital twin includes representations of entities of the building and relationships between the entities. The instructions cause the one or more processors to update a schema of the digital twin by adding a state type of the state to an entity class of the schema based on the Schema, adding one or more data items representing the state to the digital twin, the one or more data items being related to an entity of the entity class, and one or more second operations based on the one or more data items that represent the state to carry out.

In einigen Ausführungsformen beinhalten die Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis, wobei das Schema Entitätsklassen für Entitätstypen der Entitäten definiert.In some embodiments, the entities include at least one of a person, point, location, or event, and the schema defines entity classes for entity types of the entities.

In einigen Ausführungsformen sind die Entitäten Instanzen von Entitätsklassen, die durch das Schema definiert sind.In some embodiments, the entities are instances of entity classes defined by the schema.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, das Schema des digitalen Zwillings zu aktualisieren, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.In some embodiments, the instructions cause the one or more processors to update the schema of the digital twin while the digital twin is being deployed, without having to re-deploy the digital twin.

In einigen Ausführungsformen definiert das Schema Entitätsklassen, wobei die Entitätsklassen Eigenschaften, Tags und Zustände für die Entitätsklassen angeben.In some embodiments, the schema defines entity classes, where the entity classes specify properties, tags, and states for the entity classes.

In einigen Ausführungsformen veranlassen die Anweisungen den einen oder die mehreren Prozessoren, die eine oder die mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes und externen Daten, die von einem externen System gesammelt werden, durchzuführen, wobei der Zustand von den externen Daten für die Entität des digitalen Zwillings abgeleitet wird.
In einigen Ausführungsformen veranlassen Anweisungen den einen oder die mehreren Prozessoren, eine Angabe zum Hinzufügen des Zustands zu der Entität zu empfangen, die Entitätsklasse der Entität basierend auf dem Schema zu identifizieren, das Schema des digitalen Zwillings durch Hinzufügen des Zustandtyps zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass eine Klasse der Entität die Entitätsklasse ist, und den einen oder die mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling basierend auf dem Schema hinzuzufügen, wobei der eine oder die mehreren Knoten mit einem zweiten Knoten in Beziehung stehen, der eine zweite Entität der Entitätsklasse darstellt, wobei die Entität sich von der zweiten Entität unterscheidet.
In some embodiments, the instructions cause the one or more processors to perform the one or more first operations based on the digital twin of the building and external data collected from an external system, the state of the external data for the Entity of the digital twin is derived.
In some embodiments, instructions cause the one or more processors to receive an indication to add the state to the entity, identify the entity class of the entity based on the schema, the schema of the digital twin by adding the state type to the entity class of the schema update, in response to identifying that a class of the entity is the entity class, and add the one or more nodes representing the state to the digital twin based on the schema, the one or more nodes having a second node representing a second entity of the entity class, the entity being different from the second entity.

In einigen Ausführungsformen beginnt eine Anwendung zu arbeiten, um die eine oder die mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes durchzuführen, um den Zustand für die Entität abzuleiten, nachdem der digitale Zwilling eingesetzt wurde und bevor das Schema des digitalen Zwillings aktualisiert wird.In some embodiments, an application begins operating to perform the one or more initial operations based on the digital twin of the building to infer the state for the entity after the digital twin is deployed and before the digital twin schema is updated.

In einigen Ausführungsformen sind die Anweisungen konfiguriert, um eine Ausgabe von der Anwendung zu empfangen, die sich aus der einen oder den mehreren ersten Operationen ergibt, wobei die Ausgabe den Zustand angibt, um das Schema des digitalen Zwillings zu durchsuchen, um zu bestimmen, ob das Schema den Zustandstyp beinhaltet, der durch die Ausgabe von der einen oder den mehreren ersten Operationen angegeben wird, und um das Schema des digitalen Zwillings durch Hinzufügen des Zustandstyps des Zustands zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass das Schema den Zustandstyp nicht beinhaltet.In some embodiments, the instructions are configured to receive output from the application resulting from the one or more first operations, the output indicating the state to search the digital twin schema to determine whether the schema includes the state type indicated by the output of the one or more first operations, and to update the schema of the digital twin by adding the state type of the state to the entity class of the schema, in response to identifying that the Schema does not include the state type.

In einigen Ausführungsformen definiert der Zustand eine Bedingung, die mit der Entität verbunden ist.In some embodiments, the state defines a condition associated with the entity.

In einigen Ausführungsformen ist der Zustand zumindest eines von einem Fehlerzustand eines Ausrüstungsteils des Gebäudes oder einem Belegungsniveau eines Raums des Gebäudes.In some embodiments, the condition is at least one of an error condition of a piece of equipment of the building or an occupancy level of a room of the building.

In einigen Ausführungsformen beinhaltet der digitale Zwilling Knoten und Ränder zwischen den Knoten, wobei die Knoten die Entitäten des Gebäudes darstellen und die Ränder die Beziehungen zwischen den Entitäten angeben. In einigen Ausführungsformen veranlassen Anweisungen den einen oder die mehreren Prozessoren, basierend auf dem Schema, einen oder mehrere Knoten, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten durch eine oder mehrere Beziehungen mit der Entität der Entitätsklasse in Beziehung stehen.In some embodiments, the digital twin includes nodes and borders between the nodes, where the nodes represent the entities of the building and the borders indicate the relationships between the entities. In some embodiments, instructions cause the one or more processors to add one or more nodes representing the state to the digital twin based on the schema, the one or more nodes having one or more relationships with the entity of the entity class to be related.

Eine andere Implementierung der vorliegenden Offenbarung ist ein Verfahren, das ein Durchführen einer oder mehrerer erster Operationen basierend auf einem digitalen Zwilling eines Gebäudes durch eine oder mehrere Verarbeitungsschaltungen beinhaltet, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und Beziehungen zwischen den Entitäten beinhaltet, und ein Aktualisieren eines Schemas des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas durch eine oder mehrere Verarbeitungsschaltungen. Das Verfahren beinhaltet ein Hinzufügen, durch eine oder mehrere Verarbeitungsschaltungen basierend auf dem Schema, eines oder mehrerer Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling, wobei das eine oder die mehreren Datenelemente mit einem Knoten in Beziehung stehen, der die Entität der Entitätsklasse darstellt, und ein Durchführen, durch eine oder mehrere Verarbeitungsschaltungen, einer oder mehrerer zweiter Operationen basierend auf dem einen oder den mehreren Datenelementen, die den Zustand darstellen.Another implementation of the present disclosure is a method that includes performing, by one or more processing circuitry, one or more first operations based on a digital twin of a building to obtain a state for an entity of the digital twin deriving, the digital twin including representations of entities of the building and relationships between the entities, and updating a schema of the digital twin by adding a state type of the state to an entity class of the schema by one or more processing circuits. The method includes adding, by one or more processing circuitry based on the schema, one or more data items representing the state to the digital twin, the one or more data items being related to a node representing the entity of the entity class and performing, by one or more processing circuitry, one or more second operations based on the one or more data items representing the state.

In einigen Ausführungsformen beinhalten die Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis, wobei das Schema Entitätsklassen für Entitätstypen der Entitäten definiert. In einigen Ausführungsformen sind die Entitäten Instanzen von Entitätsklassen, die durch das Schema definiert sind.In some embodiments, the entities include at least one of a person, point, location, or event, and the schema defines entity classes for entity types of the entities. In some embodiments, the entities are instances of entity classes defined by the schema.

In einigen Ausführungsformen beinhaltet das Verfahren ein Aktualisieren des Schemas des digitalen Zwillings durch eine oder mehrere Verarbeitungsschaltungen, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.In some embodiments, the method includes updating the schema of the digital twin by one or more processing circuits while the digital twin is being deployed, without having to re-deploy the digital twin.

In einigen Ausführungsformen definiert das Schema Entitätsklassen, wobei die Entitätsklassen Eigenschaften, Tags und Zustände für die Entitätsklassen angeben.
In einigen Ausführungsformen beinhaltet das Verfahren ein Durchführen der einen oder der mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes und externen Daten, die von einem externen System gesammelt werden, durch eine oder mehrere Verarbeitungsschaltungen, wobei der Zustand von den externen Daten für die Entität des digitalen Zwillings abgeleitet wird.
In some embodiments, the schema defines entity classes, where the entity classes specify properties, tags, and states for the entity classes.
In some embodiments, the method includes performing, by one or more processing circuits, the one or more first operations based on the digital twin of the building and external data collected from an external system, the state of the external data for the entity of the digital twin is derived.

In einigen Ausführungsformen beinhaltet der digitale Zwilling Knoten und Ränder zwischen den Knoten, wobei die Knoten die Entitäten des Gebäudes darstellen und die Ränder die Beziehungen zwischen den Entitäten angeben. In einigen Ausführungsformen beinhaltet das Verfahren ein Hinzufügen, durch die eine oder mehreren Verarbeitungsschaltungen basierend auf dem Schema, von einem oder mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten durch eine oder mehrere Beziehungen mit der Entität der Entitätsklasse in Beziehung stehen.In some embodiments, the digital twin includes nodes and borders between the nodes, where the nodes represent the entities of the building and the borders indicate the relationships between the entities. In some embodiments, the method includes adding, by the one or more processing circuits based on the schema, one or more nodes representing the state to the digital twin, where the one or more nodes are linked by one or more relationships with the entity of the entity class are related.

In einigen Ausführungsformen beinhaltet das Verfahren ein Empfangen, durch eine oder mehrere Verarbeitungsschaltungen, einer Angabe zum Hinzufügen des Zustands zu der Entität, ein Identifizieren, durch eine oder mehrere Verarbeitungsschaltungen, der Entitätsklasse der Entität basierend auf dem Schema, ein Aktualisieren, durch eine oder mehrere Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen des Zustandstyps zu der Entitätsklasse des Schemas, als Reaktion auf das Identifizieren, dass eine Klasse der Entität die Entitätsklasse ist, und ein Hinzufügen, durch eine oder mehrere Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit einem zweiten Knoten in Beziehung stehen, der eine zweite Entität der Entitätsklasse darstellt, wobei die Entität sich von der zweiten Entität unterscheidet.In some embodiments, the method includes receiving, by one or more processing circuits, an indication to add the state to the entity, identifying, by one or more processing circuits, the entity class of the entity based on the schema, updating by one or more Processing circuitry, the schema of the digital twin by adding the state type to the entity class of the schema, in response to identifying that a class of the entity is the entity class, and adding, by one or more processing circuitry based on the schema, the one or the a plurality of nodes representing the state to the digital twin, the one or more nodes being related to a second node representing a second entity of the entity class, the entity being different than the second entity.

In einigen Ausführungsformen beginnt eine Anwendung zu arbeiten, um die eine oder die mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes durchzuführen, um den Zustand für die Entität abzuleiten, nachdem der digitale Zwilling eingesetzt wurde und bevor das Schema des digitalen Zwillings aktualisiert wird.In some embodiments, an application begins operating to perform the one or more initial operations based on the digital twin of the building to infer the state for the entity after the digital twin is deployed and before the digital twin schema is updated.

In einigen Ausführungsformen beinhaltet das Verfahren das Empfangen, durch eine oder mehrere Verarbeitungsschaltungen, einer Ausgabe von der Anwendung, die sich aus der einen oder den mehreren ersten Operationen ergibt, wobei die Ausgabe den Zustand angibt, ein Durchsuchen, durch eine oder mehrere Verarbeitungsschaltungen, des Schemas des digitalen Zwillings, um zu bestimmen, ob das Schema den Zustandstyp beinhaltet, der durch die Ausgabe der einen oder der mehreren ersten Operationen angegeben wird, und ein Aktualisieren, durch eine oder mehrere Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen des Zustandstyps des Zustands zu der Entitätsklasse des Schemas, als Reaktion auf das Identifizieren, dass das Schema den Zustandstyp nicht beinhaltet.In some embodiments, the method includes receiving, by one or more processing circuits, output from the application resulting from the one or more first operations, the output indicating the state, browsing, by one or more processing circuits, of the Digital twin schemas to determine whether the schema includes the state type indicated by the output of the one or more first operations and updating, by one or more processing circuits, the digital twin schema by adding the state type of the state to the schema's entity class, responsive to identifying that the schema does not include the state type.

Eine andere Implementierung der vorliegenden Offenbarung ist ein Gebäudesystem, das eine oder mehrere Speichervorrichtungen beinhaltet, die Anweisungen darauf beinhalten, und einen oder mehrere Prozessoren beinhaltet, die konfiguriert sind, um die Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen, eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten, wobei der digitale Zwilling Darstellungen von Entitäten des Gebäudes und Beziehungen zwischen den Entitäten beinhaltet. Die Anweisungen veranlassen den einen oder die mehreren Prozessoren, ein Schema des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas zu aktualisieren, basierend auf dem Schema, ein oder mehrere Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit der Entität der Entitätsklasse in Beziehung stehen, und eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die den Zustand darstellen, durchzuführen.Another implementation of the present disclosure is a building system that includes one or more storage devices having instructions thereon and one or more pro processors configured to execute the instructions that cause the one or more processors to perform one or more first operations based on a digital twin of a building to derive a state for a digital twin entity, the digital twin representations of entities of the building and relationships between the entities. The instructions cause the one or more processors to update a schema of the digital twin by adding a state type of the state to an entity class of the schema, based on the schema, adding one or more data items representing the state to the digital twin, wherein the one or more data items are related to the entity of the entity class, and perform one or more second operations based on the one or more data items representing the state.

Figurenlistecharacter list

Verschiedene Aufgaben, Aspekte, Merkmale und Vorteile der Offenbarung werden offensichtlicher und besser verständlich durch Bezugnahme auf die detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen, in denen gleiche Bezugszeichen durchgehend entsprechende Elemente bezeichnen. In den Zeichnungen bezeichnen gleiche Bezugszeichen im Allgemeinen identische, funktionell ähnliche und/oder strukturell ähnliche Elemente.

  • 1 ist ein Blockdiagramm einer Gebäudedatenplattform, die eine Randplattform, eine Cloud-Plattform und einen Zwillingsmanager nach einer beispielhaften Ausführungsform beinhaltet.
  • 2 ist eine graphische Projektion des Zwillingsmanagers von 1 einschließlich Anwendungsprogrammierschnittstellen (API)-Daten, Fähigkeitsdaten, Richtliniendaten und Diensten nach einer beispielhaften Ausführungsform.
  • 3 ist eine weitere graphische Projektion des Zwillingsmanagers von 1 einschließlich Anwendungsprogrammierschnittstellen (API)-Daten, Fähigkeitsdaten, Richtliniendaten und Diensten nach einer beispielhaften Ausführungsform.
  • 4 ist eine graphische Projektion des Zwillingsmanagers von 1 einschließlich Ausrüstungs- und Fähigkeitsdaten für die Ausrüstung nach einer beispielhaften Ausführungsform.
  • 5 ist ein Blockdiagramm eines Erweiterbarkeitsmanagers, der eine Schemadefinition eines digitalen Zwillings zur Laufzeit erweitert, nach einer beispielhaften Ausführungsform.
  • 6 ist ein Blockdiagramm des Zwillingsmanagers von 1, bei dem ein erweiterbarer Eigenschaftsmanager einen digitalen Zwilling aktualisiert, um neue Eigenschaften in das Schema des digitalen Zwillings einzubeziehen, nach einer beispielhaften Ausführungsform.
  • 7 ist ein Flussdiagramm eines Prozesses, bei dem der erweiterbare Eigenschaftsmanager von 6 einen digitalen Zwilling aktualisiert, um neue Eigenschaften in das Schema des digitalen Zwillings einzubeziehen, nach einer beispielhaften Ausführungsform.
  • 8 ist ein Blockdiagramm eines erweiterbaren Zustandsmanagers, der den digitalen Zwilling basierend auf von einem Fehleranalyseagenten empfangenen Informationen aktualisiert, wobei die Aktualisierung veranlasst, dass der digitale Zwilling neue Zustände beinhaltet, die Fehler in dem Schema des digitalen Zwillings angeben, nach einer beispielhaften Ausführungsform.
  • 9 ist ein Blockdiagramm des erweiterbaren Zustandsmanagers, der den digitalen Zwilling basierend auf von einem Kalenderagenten empfangenen Informationen aktualisiert, wobei die Aktualisierung veranlasst, dass der digitale Zwilling neue Zustände beinhaltet, die die Belegung in dem Schema des digitalen Zwillings angeben, nach einer beispielhaften Ausführungsform.
  • 10 ist ein Flussdiagramm eines Prozesses zum Aktualisieren des digitalen Zwillings basierend auf von einem Agenten empfangenen Informationen, wobei die Aktualisierung veranlasst, dass der digitale Zwilling neue Zustände beinhaltet, die eine Belegung in dem Schema des digitalen Zwillings angeben, nach einer beispielhaften Ausführungsform.
Various objects, aspects, features and advantages of the disclosure will become more apparent and better understood by reference to the detailed description in conjunction with the accompanying drawings, in which like reference characters indicate corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.
  • 1 12 is a block diagram of a building data platform that includes an edge platform, a cloud platform, and a twin manager, according to an example embodiment.
  • 2 is a graphical projection of the twin manager of 1 including application programming interface (API) data, capability data, policy data, and services according to an example embodiment.
  • 3 is another graphical projection of the twin manager of 1 including application programming interface (API) data, capability data, policy data, and services according to an example embodiment.
  • 4 is a graphical projection of the twin manager of 1 including equipment and capability data for the equipment according to an exemplary embodiment.
  • 5 12 is a block diagram of an extensibility manager extending a digital twin schema definition at runtime, according to an example embodiment.
  • 6 is a block diagram of the twin manager of 1 wherein an extensible property manager updates a digital twin to include new properties in the digital twin's schema, according to an example embodiment.
  • 7 is a flowchart of a process by which the extensible property manager of 6 updates a digital twin to include new properties in the digital twin schema, according to an example embodiment.
  • 8th 12 is a block diagram of an extensible state manager that updates the digital twin based on information received from a fault analysis agent, the update causing the digital twin to include new states that indicate faults in the digital twin schema, according to an example embodiment.
  • 9 12 is a block diagram of the extensible state manager that updates the digital twin based on information received from a calendar agent, the update causing the digital twin to include new states that indicate occupancy in the digital twin schema, according to an example embodiment.
  • 10 12 is a flowchart of a process for updating the digital twin based on information received from an agent, the update causing the digital twin to include new states that indicate population in the digital twin schema, according to an example embodiment.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

Unter allgemeiner Bezugnahme auf die FIGUREN werden Systeme und Verfahren zur dynamischen Erweiterbarkeit von Eigenschaften, Tags und Zuständen in einem Schema eines digitalen Zwillings nach verschiedenen beispielhaften Ausführungsformen gezeigt. Ein digitaler Zwilling kann eine virtuelle Darstellung eines Gebäudes bereitstellen, z. B. sowohl in Bezug auf Kontextinformationen, die das Gebäude beschreiben, als auch auf Telemetriedaten, die von Ausrüstung des Gebäudes gesammelt werden. Der digitale Zwilling kann als eine Nachbildung agieren, die die Entitäten des Gebäudes (z. B. Assets, Personen, Punkte, Standorte und Ereignisse) und Beziehungen zwischen den verschiedenen Entitäten veranschaulicht. Der digitale Zwilling kann in einigen Ausführungsformen in Form einer Graphdatenstruktur implementiert werden.With general reference to the FIGURES, systems and methods for dynamic extensibility of properties, tags, and states in a digital twin schema are shown, according to various example embodiments. A digital twin can provide a virtual representation of a building, e.g. B. both in relation to contextual information that describes the building as well as telemetry data collected from building equipment. The digital twin can act as a replica that illustrates the building's entities (e.g., assets, people, points, locations, and events) and relationships between the different entities. The digital twin may be implemented in the form of a graph data structure in some embodiments.

In einigen Ausführungsformen können die Entitäten und Beziehungen zwischen den Entitäten in Form eines Schemas definiert werden. Das Schema kann die Entitäten, Eigenschaften der Entitäten, Tags der Entitäten, Zustände der Entitäten usw. in Form einer Klassenstruktur definieren, wobei jede Entität spezifische entsprechende Eigenschaften, Tags oder Zustände beinhaltet. Beispielsweise könnte jede Thermostatentität einen Temperatursollwertzustand, einen aktuellen Temperaturzustand, ein Tag, das angibt, wann die Ausrüstung zuletzt gewartet wurde, eine Eigenschaft, die angibt, dass der Thermostat eine Anzeigevorrichtung beinhaltet, Eigenschaften, die angeben, dass der Thermostat die Typen von Eingaben oder Ausgaben des Thermostaten aufweist, usw. beinhalten. Das Schema könnte in einigen Ausführungsformen ein stark typisiertes Schema sein, wie etwa BRICK. In some embodiments, the entities and relationships between the entities may be defined in the form of a schema. The schema may define the entities, entity properties, entity tags, entity states, etc. in terms of a class structure, with each entity including specific corresponding properties, tags, or states. For example, each thermostat entity could have a temperature setpoint state, a current temperature state, a tag indicating when the equipment was last serviced, a property indicating that the thermostat includes an indicator, properties indicating that the thermostat accepts the types of inputs or outputs of the thermostat, etc. include. The schema could be a strongly-typed schema, such as BRICK, in some embodiments.

BRICK wird beschrieben in Brick: Towards a Unified Metadata Schema For Buildings von Balaji et al., das durch Bezugnahme hierin aufgenommen wird.BRICK is described in Brick: Towards a Unified Metadata Schema For Buildings by Balaji et al., incorporated herein by reference.

In einigen Ausführungsformen kann ein Gebäudesystem das Schema des digitalen Zwillings erweitern, um unterschiedliche Eigenschaften, Tags und/oder Zustände aufzunehmen. Diese Erweiterung kann zur Laufzeit durchgeführt werden, sodass der digitale Zwilling und/oder das System, das den digitalen Zwilling betreibt, Änderungen an dem Schema vornehmen können, ohne dass der digitale Zwilling und/oder das System, das den digitalen Zwilling betreibt, neu eingesetzt und/oder neu konfiguriert werden müssen (was zu Ausfallzeiten führen würde). Das digitale Zwillingsschema kann in einigen Ausführungsformen durch das Gebäudesystem dynamisch erweitert werden. Beispielsweise kann das Gebäudesystem (während der Laufzeit) feststellen, dass neue Zustände, Eigenschaften oder Tags benötigt werden, die die Leistung des digitalen Zwillings erhöhen würden (z. B. dem digitalen Zwilling ermöglichen, neue wichtige Informationsteile mit verbrauchenden Systemen in Beziehung zu setzen). Das Gebäudesystem kann diese Laufzeitaktualisierungen an dem Schema des digitalen Zwillings vornehmen.In some embodiments, a building system can extend the digital twin schema to include different properties, tags, and/or states. This extension can be performed at runtime, allowing the digital twin and/or the system running the digital twin to make changes to the schema without redeploying the digital twin and/or the system running the digital twin and/or need to be reconfigured (which would result in downtime). The digital twin schema can be dynamically extended by the building system in some embodiments. For example, the building system may determine (during runtime) that new states, properties, or tags are needed that would increase the performance of the digital twin (e.g., allow the digital twin to relate new key pieces of information to consuming systems) . The building system can make these runtime updates to the digital twin schema.

In einigen Ausführungsformen kann das aktualisierte Schema des digitalen Zwillings, z. B. die neuen Eigenschaften, Tags und/oder Zustände der Entitäten, von einem System, einer Anwendung und/oder einem Agenten verwendet werden, der gegen Daten des digitalen Zwillings arbeitet. Beispielsweise könnte ein solches System, eine solche Anwendung und/oder ein solcher Agent den digitalen Zwilling basierend auf den neuen Eigenschaften, Tags und/oder Zuständen des digitalen Zwillings durchsuchen und filtern. Das System, die Anwendung und/oder der Agent könnten basierend auf dem aktualisierten digitalen Zwilling eine Temperatursteuerung, Feuchtigkeitssteuerung, Luftqualitätssteuerung, Fehlalarmanalyse, Fehleranalyse des Gebäudes usw. implementieren.In some embodiments, the updated schema of the digital twin, e.g. B. the new properties, tags and/or states of the entities, are used by a system, an application and/or an agent that works against data of the digital twin. For example, such a system, application, and/or agent could search and filter the digital twin based on the digital twin's new properties, tags, and/or states. The system, application, and/or agent could implement temperature control, humidity control, air quality control, false alarm analysis, building fault analysis, etc. based on the updated digital twin.

In einigen Ausführungsformen könnte ein BIM-Betrachter, der BIM-bezogene Informationen in einer Benutzerschnittstelle basierend auf dem Graphen wiedergeben kann, basierend auf dem aktualisierten Schema des digitalen Zwillings arbeiten. BIM-Betrachter werden unter Bezugnahme auf die vorläufige US-Patentanmeldung Nr. 63/214,217, eingereicht am 23. Juni 2021, die US-Patentanmeldung Nr. 17/136,752 , eingereicht am 29. Dezember 2020, die US-Patentanmeldung Nr. 17/136,768 , eingereicht am 29. Dezember 2020 und US-Patentanmeldung Nr. 17/136,785 , eingereicht am 29. Dezember 2020, beschrieben, deren Gesamtheit durch Bezugnahme hierin aufgenommen wird. Der BIM-Betrachter arbeitet möglicherweise nicht in dem exakten Schema des digitalen Zwillings. Daher können Aktualisierungen an dem Schema vorgenommen werden, um verschiedene Informationen zu berücksichtigen, die für den ordnungsgemäßen Betrieb des BIM-Betrachters erforderlich sind. Der BIM-Betrachter könnte dann einen Graphen des digitalen Zwillings in dem aktualisierten Schema basierend auf Tags, Eigenschaften, Zuständen und/oder anderen Werten, die dem Schema hinzugefügt wurden und möglicherweise nicht in dem ursprünglichen Schema vorhanden sind, abfragen. Das aktualisierte Schema kann ermöglichen, dass Werte oder andere Informationen während der Laufzeit vom digitalen Zwilling abgefragt werden, ohne dass Anwendungen, Systeme zum neuen Aufbau und/oder neuem Einsetzen, Datenmigration usw. aktualisiert werden müssen.In some embodiments, a BIM viewer capable of rendering BIM-related information in a user interface based on the graph could operate based on the updated digital twin schema. BIM viewers are described by reference to US Provisional Patent Application No. 63/214,217, filed June 23, 2021, at U.S. Patent Application No. 17/136,752 , filed December 29, 2020, the U.S. Patent Application No. 17/136,768 , filed December 29, 2020 and U.S. Patent Application No. 17/136,785 , filed December 29, 2020, the entirety of which is incorporated herein by reference. The BIM viewer may not work in the exact schema of the digital twin. Therefore, updates can be made to the schema to reflect various information required for the proper operation of the BIM Viewer. The BIM viewer could then query a graph of the digital twin in the updated schema based on tags, properties, states and/or other values added to the schema that may not be present in the original schema. The updated schema may allow values or other information to be queried from the digital twin at runtime without requiring updates to applications, systems for rebuilding and/or re-deploying, data migration, etc.

In einigen Ausführungsformen kann das Gebäudesystem das Schema des digitalen Zwillings aktualisieren, um zu ermöglichen, dass neue Ereignistypen vom digitalen Zwilling aufgenommen und gespeichert werden. Beispielsweise kann das Gebäudesystem in einigen Ausführungsformen neue Ereignisse empfangen und bestimmen, ob die Ereignistypen der neuen Ereignisse in dem Schema des digitalen Zwillings nicht vorhanden sind. Das Gebäudesystem kann den neuen Ereignistyp zu dem Schema des digitalen Zwillings hinzufügen, als Reaktion auf das Erkennen, dass der Ereignistyp nicht existiert, was ermöglicht, dass Ereignisse des neuen Ereignistyps zu dem digitalen Zwilling hinzugefügt werden können. Dem digitalen Zwilling zu ermöglichen, sein Schema zu erweitern, um neue Ereignistypen für eine beliebige Entität in dem digitalen Zwilling zu berücksichtigen, ist das treibende Merkmal, das Plug-and-Play-Funktionalität ermöglicht und die Barriere für die Nutzung und Erweiterung der Funktionalität des digitalen Zwillings senkt.In some embodiments, the building system can update the schema of the digital twin to allow new types of events to be ingested and stored by the digital twin. For example, in some embodiments, the building system may receive new events and determine whether the event types of the new events are not present in the digital twin schema. The building system can add the new event type to the digital twin schema add , in response to detecting that the event type does not exist, allowing events of the new event type to be added to the digital twin. Allowing the digital twin to extend its schema to accommodate new event types for any entity in the digital twin is the driving feature that enables plug-and-play functionality and breaks the barrier to exploiting and extending the functionality of the digital twin lowers.

Beispiele für digitale Zwillinge und das Hinzufügen von Schemainformationen zu einem Schema basierend auf empfangenen Dateninformationen sind in US-Patentanmeldung Nr. 17/134,661 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/134,664 , eingereicht am 28. Dezember, 2020, US-Patentanmeldung Nr. 17/134,671 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/134,659 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/134,973 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/134,999 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/135,023 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/134,691 , eingereicht am 28. Dezember 2020, US-Patentanmeldung Nr. 17/135,056 , eingereicht am 28. Dezember 2020, und US-Patentanmeldung Nr. 17/135,009 , eingereicht am 28. Dezember 2020 gezeigt und beschrieben, wobei die Gesamtheit jeder dieser Patentanmeldungen durch Bezugnahme hierin aufgenommen wird.Examples of digital twins and adding schema information to a schema based on received data information are in U.S. Patent Application No. 17/134,661 , filed December 28, 2020, U.S. Patent Application No. 17/134,664 , submitted on December 28, 2020, U.S. Patent Application No. 17/134,671 , filed December 28, 2020, U.S. Patent Application No. 17/134,659 , filed December 28, 2020, U.S. Patent Application No. 17/134,973 , filed December 28, 2020, U.S. Patent Application No. 17/134,999 , filed December 28, 2020, U.S. Patent Application No. 17/135,023 , filed December 28, 2020, U.S. Patent Application No. 17/134,691 , filed December 28, 2020, U.S. Patent Application No. 17/135,056 , filed December 28, 2020, and U.S. Patent Application No. 17/135,009 , filed December 28, 2020, the entirety of each of which patent applications is incorporated herein by reference.

In einigen Ausführungsformen muss das Hinzufügen einer dynamischen Eigenschaft oder eines dynamischen Zustands zu dem Schema nicht notwendigerweise veranlassen, dass die Eigenschaft oder der Zustand an andere Entitäten weitergegeben wird, z. B. veranlasst es möglicherweise nicht die Erstellung neuer Eigenschaften oder Zustände für jede Entität einer Schemaklasse. Wenn beispielsweise ein erwarteter Belegungszustand für eine „Konferenzraum ABC“ Entität hinzugefügt wird, kann in einigen Fällen eine Konferenzraum-Schemaklasse für den „Konferenzraum ABC“ mit dem erwarteten Belegungsstatus aktualisiert werden (oder ein neues Schema für den „Konferenzraum ABC“ könnte erstellt werden, um den neuen Zustand zu handhaben). Das Gebäudesystem fügt den erwarteten Belegungszustand möglicherweise nicht zu anderen existierenden Konferenzraumentitäten der Konferenzraumschemaklasse hinzu (kann aber den Belegungszustand zu zukünftigen Entitäten der Konferenzraumschemaklasse hinzufügen, wenn die Entitäten erstellt werden).In some embodiments, adding a dynamic property or state to the schema may not necessarily cause the property or state to be propagated to other entities, e.g. eg it may not cause the creation of new properties or states for each entity of a schema class. For example, when an expected occupancy state is added for a "Conference Room ABC" entity, in some cases a conference room schema class for "Conference Room ABC" can be updated with the expected occupancy state (or a new schema for "Conference Room ABC" could be created, to handle the new state). The building system may not add the expected occupancy state to other existing conference room schema class entities (but may add the occupancy state to future conference room schema class entities when the entities are created).

In einigen Ausführungsformen kann die Weitergabe von neu hinzugefügten Eigenschaften und/oder Zuständen über Entitäten eines Schematyps durch einen Benutzer gesteuert werden. Beispielsweise könnte ein Benutzer eine Einstellung für das Gebäudesystem festlegen, dass das Hinzufügen einer neuen Eigenschaft oder eines neuen Zustands zu einer bestimmten Entität einer bestimmten Schemaklasse die Erstellung einer neuen Schemaklasse mit der neuen Eigenschaft oder dem neuen Zustand für die bestimmte Entität veranlasst. Dies würde die Weitergabe einer neuen Eigenschaft an andere Entitäten stoppen. In einigen Ausführungsformen könnte ein Benutzer eine Einstellung festlegen, dass das Hinzufügen einer neuen Eigenschaft oder eines neuen Zustands zu einer bestimmten Entität einer bestimmten Schemaklasse das Hinzufügen der neuen Eigenschaft oder des neuen Zustands zu allen Entitäten der bestimmten Entitätsklasse veranlasst. Dies würde die Weitergabe der neuen Eigenschaft an andere Entitäten veranlassen. Unter Bezugnahme auf 1 ist nach einer beispielhaften Ausführungsform eine Gebäudedatenplattform 100 gezeigt, die eine Randplattform 102, eine Cloud-Plattform 106 und einen Zwillingsmanager 108 beinhaltet. Die Randplattform 102, die Cloud-Plattform 106 und der Zwillingsmanager 108 können jeweils separate Dienste sein, die auf demselben oder unterschiedlichen Rechensystemen eingesetzt werden. In einigen Ausführungsformen sind die Cloud-Plattform 106 und der Zwillingsmanager 108 in externen Rechensystemen implementiert, z. B. außerhalb eines Gebäudes. Die Randplattform 102 kann intern implementiert werden, z. B. innerhalb des Gebäudes. Es kann jedoch jede Kombination von internen und externen Komponenten der Gebäudedatenplattform 100 implementiert werden.In some embodiments, the propagation of newly added properties and/or states across entities of a schema type can be controlled by a user. For example, a user could specify a building system setting such that adding a new property or state to a particular entity of a particular schema class causes a new schema class to be created with the new property or state for the particular entity. This would stop propagating a new property to other entities. In some embodiments, a user could specify a preference that adding a new property or state to a particular entity of a particular schema class causes the new property or state to be added to all entities of the particular entity class. This would cause the new property to propagate to other entities. With reference to 1 Shown is a building data platform 100 that includes an edge platform 102, a cloud platform 106, and a twin manager 108, according to an exemplary embodiment. Edge platform 102, cloud platform 106, and twin manager 108 may each be separate services deployed on the same or different computing systems. In some embodiments, cloud platform 106 and twin manager 108 are implemented in external computing systems, e.g. B. outside a building. The edge platform 102 can be implemented internally, e.g. B. inside the building. However, any combination of internal and external building information platform 100 components may be implemented.

Die Gebäudedatenplattform 100 beinhaltet Anwendungen 110. Die Anwendungen 110 können verschiedene Anwendungen sein, die arbeiten, um die Gebäudeteilsysteme 122 zu verwalten. Die Anwendungen 110 können entfernte oder lokale Anwendungen (oder eine Mischform aus beiden) sein, die auf verschiedenen Rechensystemen laufen. Die Anwendungen 110 können eine Alarmanwendung 168 beinhalten, die zum Verwalten von Alarmen für die Gebäudeteilsysteme 122 konfiguriert ist. Die Anwendungen 110 beinhalten eine Versicherungsanwendung 170, die Versicherungsdienste für die Gebäudeteilsysteme 122 implementiert. In einigen Ausführungsformen beinhalten die Anwendungen 110 eine Energieanwendung 172, konfiguriert ist, um den Energieverbrauch der Gebäudeteilsysteme 122 zu verwalten. Die Anwendungen 110 beinhalten eine Sicherheitsanwendung 174, die konfiguriert ist, um Sicherheitssysteme des Gebäudes zu verwalten.The building information platform 100 includes applications 110. The applications 110 can be various applications that operate to manage the building subsystems 122. FIG. Applications 110 may be remote or local (or a hybrid of both) running on different computing systems. Applications 110 may include an alarm application 168 configured to manage alarms for building subsystems 122 . The applications 110 include an insurance application 170 that implements insurance services for the building subsystems 122 . In some embodiments, the applications 110 include an energy application 172 configured to manage energy consumption of the building subsystems 122 . The applications 110 include a security application 174 configured to manage building security systems.

In einigen Ausführungsformen interagieren die Anwendungen 110 und/oder die Cloud-Plattform 106 mit einer Benutzervorrichtung 176. In einigen Ausführungsformen läuft eine Komponente oder eine ganze Anwendung der Anwendungen 110 auf der Benutzervorrichtung 176. Die Benutzervorrichtung 176 kann ein Laptop-Computer, ein Desktop-Computer, ein Smartphone, ein Tablet und/oder eine beliebige andere Vorrichtung mit einer Eingabeschnittstelle (z. B. Berührungsbildschirm, Maus, Tastatur usw.) und einer Ausgabeschnittstelle (z. B. ein Lautsprecher, eine Anzeige etc.) sein.In some embodiments, the applications 110 and/or the cloud platform 106 interact with a user device 176. In some embodiments, a component or an entire application of the applications 110 runs on the user device 176. The user device 176 can be a laptop computer, a desktop Computer, smartphone, tablet, and/or any other device with an input interface (e.g., touch screen, mouse, keyboard, etc.) and an output interface (e.g., speaker, display, etc.).

Die Anwendungen 110, der Zwillingsmanager 108, die Cloud-Plattform 106 und die Randplattform 102 können auf einem oder mehreren Rechensystemen implementiert werden, z. B. auf Prozessoren und/oder Speichervorrichtungen. Beispielsweise beinhaltet die Randplattform 102 Prozessor(en) 118 und Speicher 120, die Cloud-Plattform 106 beinhaltet Prozessor(en) 124 und Speicher 126, die Anwendungen 110 beinhalten Prozessor(en) 164 und Speicher 166 und der Zwillingsmanager 108 beinhaltet Prozessor(en) 148 und Speicher 150.Applications 110, twin manager 108, cloud platform 106, and edge platform 102 may be implemented on one or more computing systems, e.g. B. on processors and / or memory devices. For example, edge platform 102 includes processor(s) 118 and memory 120, cloud platform 106 includes processor(s) 124 and memory 126, applications 110 includes processor(s) 164 and memory 166, and twin manager 108 includes processor(s) 148 and memory 150.

Die Prozessoren können Universal- oder Spezialprozessoren, eine anwendungsspezifische integrierte Schaltung (ASIC), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), eine Gruppe von Verarbeitungskomponenten oder andere geeignete Verarbeitungskomponenten sein. Die Prozessoren können konfiguriert sein, um Computercode und/oder Anweisungen auszuführen, die in den Speichern gespeichert sind oder von anderen computerlesbaren Medien (z. B. CD-ROM, Netzwerkspeicher, einem entfernten Server usw.) empfangen werden.The processors can be general purpose or special purpose processors, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), an array of processing components, or other suitable processing components. The processors may be configured to execute computer code and/or instructions stored in the memories or received from other computer-readable media (e.g., CD-ROM, network storage, a remote server, etc.).

Die Speicher können eine oder mehrere Vorrichtungen (z. B. Speichereinheiten, temporäre Speichervorrichtungen, permanente Speichervorrichtungen usw.) zum Speichern von Daten und/oder Computercode zum Abschließen und/oder Erleichtern der verschiedenen in der vorliegenden Offenbarung beschriebenen Prozesse beinhalten. Die Speicher können Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Festplattenspeicher, Zwischenspeicher, nichtflüchtige Speicher, Flash-Speicher, optische Speicher oder jeden anderen geeigneten Speicher zum Speichern von Softwareobjekten und/oder Computeranweisungen beinhalten. Die Speicher können Datenbankkomponenten, Objektcodekomponenten, Skriptkomponenten oder jeden anderen Typ von Informationsstruktur zum Unterstützen der verschiedenen Aktivitäten und Informationsstrukturen beinhalten, die in der vorliegenden Offenbarung beschrieben sind. Die Speicher können kommunizierbar mit den Prozessoren verbunden sein und können Computercode zum Ausführen (z. B. durch die Prozessoren) eines oder mehrerer hierin beschriebener Prozesse beinhalten.The memories may include one or more devices (e.g., storage units, temporary storage devices, persistent storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. The memory may include random access memory (RAM), read only memory (ROM), hard disk memory, cache memory, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. The stores may include database components, object code components, script components, or any other type of information structure to support the various activities and information structures described in the present disclosure. The memories may be communicably coupled to the processors and may include computer code for executing (e.g., by the processors) one or more processes described herein.

Die Randplattform 102 kann konfiguriert sein, um eine Verbindung zu den Gebäudeteilsystemen 122 bereitzustellen. Die Randplattform 102 kann en von den Gebäudeteilsystemen 122 empfangen und/oder Nachrichten an die Gebäudeteilsysteme 122 liefern. Die Randplattform 102 beinhaltet ein oder mehrere Gateways, z. B. die Gateways 112-116. Die Gateways 112-116 können als ein Gateway zwischen der Cloud-Plattform 106 und den Gebäudeteilsystemen 122 agieren. Die Gateways 112-116 können die in der vorläufigen US-Patentanmeldung Nr. 62/951,891 , eingereicht am 20. Dezember 2019, deren Gesamtheit durch Bezugnahme hierin aufgenommen wird, beschriebenen Gateways sein. In einigen Ausführungsformen können die Anwendungen 110 auf der Randplattform 102 eingesetzt werden. In dieser Hinsicht kann eine geringere Latenz bei der Verwaltung der Gebäudeteilsysteme 122 realisiert werden.Edge platform 102 may be configured to provide connectivity to building subsystems 122 . The edge platform 102 may receive messages from the building subsystems 122 and/or provide messages to the building subsystems 122 . Edge platform 102 includes one or more gateways, e.g. e.g. the gateways 112-116. The gateways 112-116 can act as a gateway between the cloud platform 106 and the building subsystems 122. The gateways 112-116 can be those in the preliminary U.S. Patent Application No. 62/951,891 , filed December 20, 2019, the entirety of which is incorporated herein by reference. In some embodiments, applications 110 may be deployed on edge platform 102 . In this regard, lower latency in management of the building subsystems 122 can be realized.

Die Randplattform 102 kann über ein Netzwerk 104 mit der Cloud-Plattform 106 verbunden sein. Das Netzwerk 104 kann die Vorrichtungen und Systeme der Gebäudedatenplattform 100 kommunikativ koppeln. In einigen Ausführungsformen ist das Netzwerk 104 zumindest eines von und/oder eine Kombination von einem Wi-Fi-Netzwerk, einem kabelgebundenen Ethernet-Netzwerk, einem ZigBee-Netzwerk, einem Bluetooth-Netzwerk und/oder einem beliebigen anderen drahtlosen Netzwerk. Das Netzwerk 104 kann ein lokales Netzwerk oder ein Weitverkehrsnetzwerk (z. B. das Internet, ein Gebäude-WAN usw.) sein und kann eine Vielzahl von Kommunikationsprotokollen (z. B. BACnet, IP, LON usw.) verwenden. Das Netzwerk 104 kann Router, Modems, Server, Mobilfunkmasten, Satelliten und/oder Netzwerkschalter beinhalten. Das Netzwerk 104 kann eine Kombination aus verdrahteten und drahtlosen Netzwerken sein.The edge platform 102 may be connected to the cloud platform 106 via a network 104 . The network 104 can communicatively couple the devices and systems of the building information platform 100 . In some embodiments, network 104 is at least one of and/or a combination of a Wi-Fi network, a wired Ethernet network, a ZigBee network, a Bluetooth network, and/or any other wireless network. The network 104 can be a local area network or a wide area network (e.g., the Internet, a building WAN, etc.) and can use a variety of communication protocols (e.g., BACnet, IP, LON, etc.). Network 104 may include routers, modems, servers, cell towers, satellites, and/or network switches. Network 104 can be a combination of wired and wireless networks.

Die Cloud-Plattform 106 kann konfiguriert sein, um die Kommunikation und Weiterleitung von Nachrichten zwischen den Anwendungen 110, dem Zwillingsmanager 108, der Randplattform 102 und/oder einem beliebigen anderen System zu erleichtern. Die Cloud-Plattform 106 kann einen Plattformmanager 128, einen Benachrichtigungsmanager 140, einen Befehlsprozessor 136 und einen Anreicherungsmanager 138 beinhalten. In einigen Ausführungsformen kann die Cloud-Plattform 106 Benachrichtigung der Gebäudedatenplattform 100 über das Netzwerk 104 erleichtern.Cloud platform 106 may be configured to facilitate communication and routing of messages between applications 110, twin manager 108, edge platform 102, and/or any other system. The cloud platform 106 may include a platform manager 128, a notification manager 140, a command processor 136, and an enrichment manager 138. In some embodiments, the cloud platform 106 can facilitate notification of the building data platform 100 over the network 104 .

Der Benachrichtigungsmanager 140 kann konfiguriert sein, um als ein Transportdienst zu arbeiten, der die Kommunikation mit den Gebäudeteilsystemen 122 und/oder einem beliebigen anderen System steuert, z. B. Verwalten von Befehlen an Vorrichtungen (C2D), Befehlen an Verbinder (C2C) für externe Systeme, Befehlen von der Vorrichtung an die Cloud (D2C) und/oder Meldungen. Der Benachrichtigungsmanager 140 kann unterschiedliche Typen von Daten von den Anwendungen 110, dem Zwillingsmanager 108 und/oder der Randplattform 102 empfangen. Der Benachrichtigungsmanager 140 kann Änderungen an Wertdaten 142 empfangen, z. B. Daten, die angeben, dass ein Wert von eines Punktes sich geändert hat. Der Benachrichtigungsmanager 140 kann Zeitreihendaten 144 empfangen, z. B. eine zeitkorrelierte Reihe von Dateneinträgen, die jeweils mit einem bestimmten Zeitstempel verbunden sind. Des Weiteren kann der Benachrichtigungsmanager 140 Befehlsdaten 146 empfangen. Alle von der Cloud-Plattform 106 gehandhabten Nachrichten können als ein Ereignis gehandhabt werden, z. B. können die Daten 142-146 jeweils als ein Ereignis gepackt werden, wobei ein Datenwert bei einem bestimmten Zeitpunkt (z. B. eine zu einem bestimmten Zeitpunkt durchgeführte Temperaturmessung) auftritt.Notification manager 140 may be configured to operate as a transport service that controls communication with building subsystems 122 and/or any other system, e.g. B. Managing commands to devices (C2D), commands to connectors (C2C) for external systems, commands from device to cloud (D2C) and/or notifications. Notification manager 140 may receive different types of data from applications 110, twin manager 108, and/or edge platform 102. Notification manager 140 may receive changes to value data 142, e.g. B. Data indicating that a value of a point has changed. Notification manager 140 may receive time series data 144, e.g. B. a time-correlated series of data entries, each associated with a particular timestamp. In addition, notification manager 140 may receive command data 146 . All messages handled by the cloud platform 106 can be handled as an event, e.g. For example, data 142-146 may each be packaged as an event where a data value occurs at a particular time (e.g., a temperature measurement taken at a particular time).

Die Cloud-Plattform 106 beinhaltet einen Befehlsprozessor 136. Der Befehlsprozessor 136 kann konfiguriert sein, um Befehle zum Durchführen einer Aktion von den Anwendungen 110, den Gebäudeteilsystemen 122, der Benutzervorrichtung 176 usw. zu empfangen. Der Befehlsprozessor 136 kann die Befehle verwalten, bestimmen, ob das Befehlssystem berechtigt ist, die bestimmten Befehle durchzuführen, und die Befehle an das befohlene System, z. B. die Gebäudeteilsysteme 122 und/oder die Anwendungen 110, kommunizieren. Die Befehle könnten ein Befehl zum Ändern einer Betriebseinstellung, die Umgebungsbedingungen eines Gebäudes steuert, ein Befehl zur Durchführung von Analysen usw. sein.The cloud platform 106 includes a command processor 136. The command processor 136 may be configured to receive commands to perform an action from the applications 110, the building subsystems 122, the user device 176, and so on. The command processor 136 can manage the commands, determine whether the command system is authorized to perform the particular commands, and issue the commands to the commanded system, e.g. B. the building subsystems 122 and / or the applications 110 communicate. The commands could be a command to change an operational setting that controls environmental conditions of a building, a command to perform analysis, and so on.

Die Cloud-Plattform 106 beinhaltet einen Anreicherungsmanager 138. Der Anreicherungsmanager 138 kann konfiguriert sein, um die von dem Benachrichtigungsmanager 140 empfangenen Ereignisse anzureichern. Der Anreicherungsmanager 138 kann konfiguriert sein, um Kontextinformationen zu den Ereignissen hinzuzufügen. Der Anreicherungsmanager 138 kann mit dem Zwillingsmanager 108 kommunizieren, um die Kontextinformationen abzurufen. In einigen Ausführungsformen sind die Kontextinformationen ein Hinweis auf Informationen, die mit dem Ereignis in Beziehung stehen. Wenn es sich bei dem Ereignis beispielsweise um eine Zeitreihen-Temperaturmessung eines Thermostaten handelt, können Kontextinformationen wie etwa der Standort des Thermostaten (z. B. welcher Raum), die von dem Thermostat gesteuerte Ausrüstung (z. B. welches VAV) usw. zu dem Ereignis hinzugefügt werden. Wenn in dieser Hinsicht eine verbrauchende Anwendung, z. B. eine der Anwendungen 110 das Ereignis empfängt, kann die verbrauchende Anwendung basierend auf den Daten des Ereignisses, der Temperaturmessung, und auch den Kontextinformationen des Ereignisses arbeiten.The cloud platform 106 includes an enrichment manager 138. The enrichment manager 138 may be configured to enrich the events received from the notification manager 140. The enrichment manager 138 can be configured to add context information to the events. The enrichment manager 138 can communicate with the twin manager 108 to retrieve the context information. In some embodiments, the context information is an indication of information related to the event. For example, if the event is a time-series temperature measurement from a thermostat, contextual information such as the location of the thermostat (e.g. which room), the equipment controlled by the thermostat (e.g. which VAV), etc added to the event. In this regard, if a consuming application, e.g. For example, when one of the applications 110 receives the event, the consuming application can operate based on the data of the event, the temperature measurement, and also the context information of the event.

Der Anreicherungsmanager 138 kann ein Problem lösen, dass, wenn eine Vorrichtung eine beträchtliche Menge an Informationen produziert, die Informationen einfache Daten ohne Kontext enthalten können. Ein Beispiel könnte die Daten beinhalten, die erzeugt werden, wenn ein Benutzer einen Ausweis an einem Ausweisscanner der Gebäudeteilsysteme 122 einscannt. Dieses physische Ereignis kann ein Ausgabeereignis erzeugen, das solche Informationen wie „VorrichtungAusweisScannerID“, „AusweisID“ und/oder „Datum/Zeit“ beinhaltet. Wenn ein System diese Daten jedoch an eine verbrauchende Anwendung sendet, z. B. Verbraucher A und einen Verbraucher B, muss jeder Kunde möglicherweise den Wissensdienst der Gebäudedatenplattform aufrufen, um Informationen mit Abfragen wie etwa „In welchem Raum, welchem Gebäude, welchem Stockwerk befindet sich dieser Ausweisscanner?“ oder „Welcher Benutzer ist mit diesem Ausweis verbunden?“ abzufragen.The enrichment manager 138 can solve a problem that when a device produces a significant amount of information, the information may contain simple data without context. An example might include the data generated when a user scans a badge at a building subsystems 122 badge scanner. This physical event may generate an output event that includes such information as "DeviceBadgeScannerID", "BadgeID" and/or "Date/Time". However, if a system sends this data to a consuming application, e.g. B. Consumer A and a consumer B, each customer may need to call the knowledge service of the building data platform to provide information with queries such as "In which room, which building, which floor is this badge scanner located?" or "Which user is connected to this badge ?”

Indem eine Anreicherung mit Dateneinspeisung durchgeführt wird, kann ein System in der Lage sein, Rückschlüsse auf die Daten zu ziehen. Ein Ergebnis der Anreicherung kann die Umwandlung der Nachricht „VorrichtungAusweisScannerId, AusweisId, Datum/Zeit“ in „Region, Gebäude, Stockwerk, Asset, VorrichtungsId, AusweisId, BenutzerName, AngestelltenId, Datum/Zeit eingescannt“ sein. Dies kann eine erhebliche Optimierung darstellen, da ein System die Anzahl der Aufrufe um 1/n reduzieren kann, wobei n die Anzahl der Verbraucher dieser Dateneinspeisung ist.By performing data injection enrichment, a system may be able to make inferences about the data. A result of the enrichment may be the conversion of the message "DeviceID, ID, Date/Time" to "Region, Building, Floor, Asset, DeviceId, ID, UserName, EmployeeId, Date/Time scanned". This can be a significant optimization as a system can reduce the number of calls by 1/n, where n is the number of consumers of that data injection.

Durch die Verwendung dieser Anreicherung kann ein System auch die Fähigkeit aufweisen, unerwünschte Ereignisse herauszufiltern. Wenn es 100 Gebäude auf einem Campus gibt, die stündlich 100.000 Ereignisse pro Gebäude erhalten, aber nur 1 Gebäude tatsächlich in Betrieb genommen ist, wird nur 1/10 der Ereignisse angereichert. Durch Betrachten, welche Ereignisse angereichert sind und welche Ereignisse nicht angereichert sind, kann ein System eine Verkehrsgestaltung der Weiterleitung dieser Ereignisse durchführen, um die Kosten der Weiterleitung von Ereignissen zu reduzieren, die keine verbrauchende Anwendung wünscht oder liest.By using this enrichment, a system can also have the ability to filter out undesired events. If there are 100 buildings on a campus receiving 100,000 events per building hourly, but only 1 building is actually operational, only 1/10 of the events will be enriched. By considering which events are enhanced and which events are not enhanced, a system can perform traffic shaping of the forwarding of those events to reduce the cost of forwarding events that no consuming application wants or reads.

Ein Beispiel für ein vom Anreicherungsmanager 138 empfangenes Ereignis kann sein:

               {
               „id": „someguid",
               „eventType": „Device_Heartbeat",
               „eventTime": „2018-01-27T00:00:00+00:00"
               „eventValue": 1,
               „deviceID": „someguid"
               }
An example of an event received by the enrichment manager 138 may be:
 {
               "id": "someguid",
               "eventType": "Device_Heartbeat",
               "eventTime": "2018-01-27T00:00:00+00:00""eventValue": 1,
               "deviceID": "someguid"
               }

Ein Beispiel für ein vom Anreicherungsmanager 138 erzeugtes angereichertes Ereignis kann sein:

               {
               „id": „someguid",
               „eventType": „Device_Heartbeat",
               „eventTime": „2018-01-27T00:00:00+00:00"
               „eventValue": 1,
               „deviceID": "someguid",
               „buildingName": "Building-48",
               „buildingID": "SomeGuid",
               „panelID": „SomeGuid",
               „panelName": „Building-48-Panel-13",
               „cityID": 371,
               „cityName": "Milwaukee",
               „stateID": 48,
               „stateName": "Wisconsin (WI)",
               „countryID": 1,
               „countryName": "United States"
               }
An example of an enriched event generated by the enrichment manager 138 may be:
 {
               "id": "someguid",
               "eventType": "Device_Heartbeat",
               "eventTime": "2018-01-27T00:00:00+00:00""eventValue": 1,
               "deviceID": "someguid",
               "buildingName": "Building-48",
               "buildingID": "SomeGuid",
               "panelID": "SomeGuid",
               "panelName": "Building-48-Panel-13",
               "cityID": 371,
               "cityName": "Milwaukee",
               "stateID": 48,
               "stateName": "Wisconsin (WI)",
               "countryID": 1,
               "countryName": "United States"
               }

Durch Empfangen von angereicherten Ereignissen kann eine Anwendung der Anwendungen 110 in der Lage sein, aufzufüllen und/oder zu filtern, welche Ereignisse mit welchen Bereichen verbunden sind. Darüber hinaus können Anwendungen zur Erzeugung von Benutzerschnittstellen Benutzerschnittstellen erzeugen, die die Kontextinformationen basierend auf den angereicherten Ereignissen beinhalten.By receiving enriched events, an application of applications 110 may be able to populate and/or filter which events are associated with which areas. Additionally, user interface generation applications can generate user interfaces that include the context information based on the enriched events.

Die Cloud-Plattform 106 beinhaltet einen Plattformmanager 128. Der Plattformmanager 128 kann konfiguriert sein, um die Benutzer und/oder Abonnements der Cloud-Plattform 106 zu verwalten. Beispielsweise, welches abonnierende Gebäude, welcher abonnierende Benutzer und/oder Mieter die Cloud-Plattform 106 nutzt. Der Plattformmanager 128 beinhaltet einen Bereitstellungsdienst 130, der zum Bereitstellen der Cloud-Plattform 106, der Randplattform 102 und des Zwillingsmanagers 108 konfiguriert ist. Der Plattformmanager 128 beinhaltet einen Abonnementdienst 132, der zum Verwalten eines Abonnements des Gebäudes, Benutzers und/oder Mieters, während der Berechtigungsdienst 134 Berechtigungen der Gebäude, Benutzer und/oder Mieter verfolgen kann.The cloud platform 106 includes a platform manager 128. The platform manager 128 may be configured to manage the cloud platform 106 users and/or subscriptions. For example, which subscribing building, user, and/or tenant is using the cloud platform 106 . The platform manager 128 includes a provisioning service 130 configured to provision the cloud platform 106, the edge platform 102, and the twin manager 108. The platform manager 128 includes a subscription service 132 for managing a subscription of the building, user, and/or tenant, while the entitlement service 134 may track entitlements of the building, user, and/or tenant.

Der Zwillingsmanager 108 kann konfiguriert sein, um einen digitalen Zwilling zu verwalten und zu unterhalten. Der digitale Zwilling kann eine digitale Darstellung der physischen Umgebung, z. B. eines Gebäudes, sein. Der Zwillingsmanager 108 kann einen Änderungseinspeisungsgenerator 152, Schema und Ontologie 154, einen Projektionsmanager 156, einen Richtlinienmanager 158, eine Entitäts-, Beziehungs- und Ereignisdatenbank 160 und eine Graphprojektionsdatenbank 162 beinhalten.The twin manager 108 can be configured to manage and maintain a digital twin. The digital twin can be a digital representation of the physical environment, e.g. B. a building. The twin manager 108 may include a change injection generator 152, schema and ontology 154, a projection manager 156, a policy manager 158, an entity, relationship, and event database 160, and a graph projection database 162.

Der Graphprojektionsmanager 156 kann konfiguriert sein, um Graphprojektionen zu konstruieren und die Graphprojektionen in der Graphprojektionsdatenbank 162 zu speichern. Beispiele von Graphprojektionen sind in den 11-13 gezeigt. Entitäten, Beziehungen und Ereignisse können in der Datenbank 160 gespeichert werden. Der Graphprojektionsmanager 156 kann Entitäten, Beziehungen und/oder Ereignisse aus der Datenbank 160 abrufen und basierend auf den abgerufenen Entitäten, Beziehungen und/oder Ereignissen eine Graphprojektion konstruieren. In einigen Ausführungsformen beinhaltet die Datenbank 160 eine Entitätsbeziehungssammlung für mehrere Abonnements.Graph projection manager 156 may be configured to construct graph projections and store the graph projections in graph projection database 162 . Examples of graph projections are in the 11-13 shown. Entities, relationships, and events can be stored in database 160. Graph projection manager 156 may retrieve entities, relationships, and/or events from database 160 and construct a graph projection based on the retrieved entities, relationships, and/or events. In some embodiments, database 160 includes an entity relationship collection for multiple subscriptions.

In einigen Ausführungsformen erzeugt der Graphprojektionsmanager 156 eine Graphprojektion für einen bestimmten Benutzer, eine bestimmte Anwendung, ein bestimmtes Abonnement und/oder ein bestimmtes System. In dieser Hinsicht kann die Graphprojektion basierend auf Richtlinien für den bestimmten Benutzer, die bestimmte Anwendung und/oder das bestimmte System zusätzlich zu einer Ontologie, die für diesen Benutzer, diese Anwendung und/oder dieses System spezifisch ist, erzeugt werden. In dieser Hinsicht könnte eine Entität eine Graphprojektion anfordern und der Graphprojektionsmanager 156 kann konfiguriert sein, um basierend auf Richtlinien und einer für die Entität spezifischen Ontologie die Graphprojektion für die Entität zu erzeugen. Die Richtlinien können angeben, auf welche Entitäten, Beziehungen und/oder Ereignisse die Entität Zugriff hat. Die Ontologie kann angeben, welche Typen von Beziehungen zwischen Entitäten die anfordernde Entität zu sehen erwartet, z. B. Stockwerke innerhalb eines Gebäudes, Vorrichtungen innerhalb eines Stockwerks usw. Eine andere anfordernde Entität kann eine Ontologie aufweisen, um Vorrichtungen innerhalb eines Gebäudes und Anwendungen für die Vorrichtungen innerhalb des Graphs zu sehen.In some embodiments, graph projection manager 156 creates a graph projection for a particular user, application, subscription, and/or user specific system. In this regard, the graph projection may be generated based on policies for the particular user, application, and/or system in addition to an ontology specific to that user, application, and/or system. In this regard, an entity could request a graph projection and the graph projection manager 156 can be configured to generate the graph projection for the entity based on policies and an ontology specific to the entity. The policies may indicate which entities, relationships, and/or events the entity has access to. The ontology can indicate what types of relationships between entities the requesting entity expects to see, e.g. B. floors within a building, devices within a floor, etc. Another requesting entity may have an ontology to see devices within a building and applications for the devices within the graph.

Die vom Graphprojektionsmanager 156 erzeugten und in der Graphprojektionsdatenbank 162 gespeicherten Graphprojektionen können ein Wissensgraph und ein Integrationspunkt sein. Beispielsweise können die Graphprojektionen Grundrisse und Systeme darstellen, die mit jedem Stockwerk verbunden sind. Des Weiteren können die Graphprojektionen Ereignisse beinhalten, z. B. Telemetriedaten der Gebäudeteilsysteme 122. Die Graphprojektionen können Anwendungsdienste als Knoten und API-Aufrufe zwischen den Diensten als Ränder in dem Graphen zeigen. Die Graphprojektionen können die Fähigkeiten von Räumen, Benutzern und/oder Vorrichtungen veranschaulichen. Die Graphprojektionen können Angaben zu den Gebäudeteilsystemen 122 beinhalten, z. B. Thermostate, Kameras, VAVs usw. Die Graphprojektionsdatenbank 162 kann Graphprojektionen speichern, die einen aktuellen Zustand eines Gebäudes aufrechterhalten.The graph projections generated by graph projection manager 156 and stored in graph projection database 162 may be a knowledge graph and an integration point. For example, the graph projections can represent floor plans and systems associated with each floor. Furthermore, the graph projections can contain events, e.g. B. Building subsystems 122 telemetry data. The graph projections may show application services as nodes and API calls between the services as edges in the graph. The graph projections can illustrate the capabilities of spaces, users, and/or devices. The graph projections may include information about the building subsystems 122, e.g. B. thermostats, cameras, VAVs, etc. The graph projection database 162 can store graph projections that maintain a current state of a building.

Die Graphprojektionen der Graphprojektionsdatenbank 162 können digitale Zwillinge eines Gebäudes sein. Digitale Zwillinge können digitale Nachbildungen physischer Entitäten sein, die eine eingehende Analyse der Daten der physischen Entitäten ermöglichen und das Potenzial bereitstellen, Systeme zu überwachen, um Risiken zu mindern, Probleme zu bewältigen und Simulationen zum Testen zukünftiger Lösungen zu nutzen. Digitale Zwillinge können eine wichtige Rolle dabei spielen, Technikern zu helfen, die Ursache von Problemen zu finden und Probleme schneller zu lösen, Sicherheitsprotokolle zu unterstützen und Gebäudemanager bei der effizienteren Nutzung von Energie und anderen Anlagenressourcen zu unterstützen. Digitale Zwillinge können verwendet werden, um Sicherheitssysteme, Mitarbeitererfahrung, Anlagenmanagement, Nachhaltigkeit usw. zu ermöglichen und zu vereinheitlichen.The graph projections of graph projection database 162 may be digital twins of a building. Digital twins can be digital replicas of physical entities, allowing in-depth analysis of the physical entity's data and providing the potential to monitor systems to mitigate risk, manage issues, and use simulation to test future solutions. Digital twins can play an important role in helping technicians find the root cause of problems and resolve issues faster, support safety protocols, and help facility managers use energy and other facility resources more efficiently. Digital twins can be used to enable and unify safety systems, employee experience, asset management, sustainability, etc.

In einigen Ausführungsformen kann der Anreicherungsmanager 138 eine Graphprojektion der Graphprojektionsdatenbank 162 verwenden, um Ereignisse anzureichern. In einigen Ausführungsformen kann der Anreicherungsmanager 138 Knoten und Beziehungen identifizieren, die mit der Vorrichtung, die das Ereignis erzeugt hat, verbunden und für diese relevant sind. Beispielsweise könnte der Anreicherungsmanager 138 einen Thermostat identifizieren, der ein Temperaturmessereignis innerhalb des Graphen erzeugt. Der Anreicherungsmanager 138 kann Beziehungen zwischen dem Thermostat und Räumen identifizieren, z. B. eine Zone, in der sich der Thermostat befindet. Der Anreicherungsmanager 138 kann dem Ereignis eine Angabe der Zone hinzufügen.In some embodiments, the enrichment manager 138 may use a graph projection of the graph projection database 162 to enrich events. In some embodiments, the enrichment manager 138 may identify nodes and relationships associated with and relevant to the device that generated the event. For example, the enrichment manager 138 could identify a thermostat that generates a temperature measurement event within the graph. Enrichment manager 138 may identify relationships between the thermostat and rooms, e.g. B. a zone where the thermostat is located. The enrichment manager 138 can add an indication of the zone to the event.

Des Weiteren kann der Befehlsprozessor 136 konfiguriert sein, um die Graphprojektionen zu verwenden, um die Gebäudeteilsysteme 122 zu befehlen. Der Befehlsprozessor 136 kann eine Richtlinie für eine Befehlsentität innerhalb der Graphprojektion identifizieren, um zu bestimmen, ob die Befehlsentität dazu in der Lage ist den Befehl zu erteilen. Beispielsweise bestimmt der Befehlsprozessor 136, bevor er einem Benutzer erlaubt, einen Befehl zu erteilen, basierend auf der Graphprojektionsdatenbank 162, dass der Benutzer eine Richtlinie aufweist, um in der Lage zu sein, den Befehl zu erteilen.Furthermore, the command processor 136 may be configured to use the graph projections to command the building subsystems 122 . The command processor 136 may identify a policy for a command entity within the graph projection to determine whether the command entity is capable of issuing the command. For example, before allowing a user to issue a command, the command processor 136 determines based on the graph projection database 162 that the user has a policy to be able to issue the command.

In einigen Ausführungsformen können die Richtlinien auf Bedingungen basierende Richtlinien sein. Beispielsweise kann die Gebäudedatenplattform 100 eine oder mehrere bedingte Regeln anwenden, um zu bestimmen, ob ein bestimmtes System in der Lage ist, eine Aktion durchzuführen. In einigen Ausführungsformen analysieren die Regeln eine verhaltensbasierte Biometrie. Beispielsweise kann eine verhaltensbasierte Biometrie normales Verhalten und/oder normale Verhaltensregeln für ein System angeben. In einigen Ausführungsformen kann die Gebäudedatenplattform 100, wenn die Gebäudedatenplattform 100 basierend auf der einen oder den mehreren bedingten Regeln bestimmt, dass eine von einem System angeforderte Aktion nicht mit einem normalen Verhalten übereinstimmt, dem System die Möglichkeit verweigern, die Aktion durchzuführen und/oder eine Genehmigung von einem übergeordneten System anfordern.In some embodiments, the policies may be conditional policies. For example, building information platform 100 may apply one or more conditional rules to determine whether a particular system is capable of performing an action. In some embodiments, the rules analyze behavior-based biometrics. For example, behavior-based biometrics may indicate normal behavior and/or normal behavioral rules for a system. In some embodiments, if the building information platform 100 determines, based on the one or more conditional rules, that an action requested by a system does not conform to normal behavior, the building information platform 100 may deny the system an opportunity to perform the action and/or a Request approval from a higher-level system.

Beispielsweise könnte eine Verhaltensregel angeben, dass ein Benutzer Zugriff hat, sich bei einem System mit einer bestimmten IP-Adresse zwischen 8:00 Uhr und 17:00 Uhr anzumelden. Wenn sich der Benutzer jedoch um 19:00 Uhr bei dem System anmeldet, kann die Gebäudedatenplattform 100 einen Administrator kontaktieren, um zu bestimmen, ob dem Benutzer die Erlaubnis zum Anmelden erteilt werden soll.For example, a behavior rule might specify that a user has access to log on to a system with a specific IP address between 8:00 am and 5:00 pm. If the However, if the user logs into the system at 7:00 p.m., the building information platform 100 can contact an administrator to determine whether to allow the user to log in.

Der Änderungseinspeisungsgenerator 152 kann konfiguriert sein, um eine Einspeisung von Ereignissen zu erzeugen, die Änderungen an dem digitalen Zwilling angeben, z. B. an dem Graphen. Der Änderungseinspeisungsgenerator 152 kann Änderungen an den Entitäten, Beziehungen und/oder Ereignissen des Graphen verfolgen. Beispielsweise kann der Änderungseinspeisungsgenerator 152 eine Hinzufügung, Löschung und/oder Modifikation eines Knotens oder eines Randes des Graphen erkennen, z. B. das Ändern der Entitäten, Beziehungen und/oder Ereignisse innerhalb der Datenbank 160. Als Reaktion auf das Erkennen einer Änderung des Graphen, kann der Änderungseinspeisungsgenerator 152 ein Ereignis erzeugen, das die Änderung zusammenfasst. Das Ereignis kann angeben, welche Knoten und/oder Ränder sich geändert haben und wie sich die Knoten und Ränder geändert haben. Die Ereignisse können durch den Änderungseinspeisungsgenerator 152 zu einem Thema veröffentlicht werden.The change feed generator 152 may be configured to generate a feed of events indicative of changes to the digital twin, e.g. B. on the graph. The change injection generator 152 may track changes to the graph's entities, relationships, and/or events. For example, the change injection generator 152 may detect an addition, deletion, and/or modification of a node or an edge of the graph, e.g. e.g., changing entities, relationships, and/or events within database 160. In response to detecting a change in the graph, change injection generator 152 may generate an event summarizing the change. The event may indicate which nodes and/or edges have changed and how the nodes and edges have changed. The events can be published by the change injection generator 152 to a topic.

Der Änderungseinspeisungsgenerator 152 kann eine Änderungseinspeisung eines Wissensgraphen implementieren. Die Gebäudedatenplattform 100 kann ein Abonnement für Änderungen in dem Wissensgraph implementieren. Wenn der Änderungseinspeisungsgenerator 152 Ereignisse in der Änderungseinspeisung veröffentlicht, können abonnierende Systeme oder Anwendungen das Änderungseinspeisungsereignis empfangen. Durch Erzeugen einer Aufzeichnung aller vorgenommenen Änderungen kann ein System Daten auf unterschiedliche Weise bereitstellen und die Daten dann in der vom System gewünschten Reihenfolge wiedergeben. Dies kann das sequenzielle Laufen der Änderungen nacheinander und/oder das Springen von einer größeren Änderung zur nächsten beinhalten. Um beispielsweise einen Graphen zu einem bestimmten Zeitpunkt zu erzeugen, können alle Änderungseinspeisungsereignisse bis zu diesem bestimmten Zeitpunkt verwendet werden, um den Graphen zu konstruieren.Change injection generator 152 may implement change injection of a knowledge graph. The building data platform 100 can implement a subscription to changes in the knowledge graph. When the change injection generator 152 publishes events in the change injection, subscribing systems or applications may receive the change injection event. By creating a record of all changes made, a system can provide data in different ways and then play back the data in the order the system desires. This may involve running the changes sequentially one by one and/or jumping from one major change to the next. For example, to generate a graph at a particular point in time, all change injection events up to that particular point in time can be used to construct the graph.

Die Änderungseinspeisung kann in einigen Ausführungsformen die Änderungen in jedem Knoten in dem Graphen und die damit verbundenen Beziehungen verfolgen. Wenn ein Benutzer diese Änderungen abonnieren möchte und der Benutzer über den richtigen Zugriff verfügt, kann der Benutzer einfach einen Web-API-Aufruf einreichen, um sequentielle Meldungen über jede Änderung zu erhalten, die in dem Graphen erfolgt. Ein Benutzer und/oder ein System kann die Änderungen eine nach der anderen wiedergeben, um den Graphen zu jedem gegebenen Zeitabschnitt wiederherzustellen. Selbst wenn die Nachrichten „dünn“ sind und nur die Änderungsmeldung und die Referenz „id/seq id“ beinhalten, kann die Änderungseinspeisung eine Kopie jedes Zustands jedes Knotens und/oder jeder Beziehung aufbewahren, sodass ein Benutzer und/oder ein System diese vergangenen Zustände jederzeit für jeden Knoten abrufen kann. Des Weiteren könnte ein Verbraucher der Änderungseinspeisung auch dynamische „Ansichten“ erstellen, die unterschiedliche zeitliche „Schnappschüsse“ davon ermöglichen, wie der Graph in einem bestimmten Kontext aussieht. Während der Zwillingsmanager 108 den Verlauf und den aktuellen Zustand des Graphen basierend auf der Schemaauswertung enthalten kann, kann ein Verbraucher eine Kopie dieser Daten behalten und dadurch unter Verwendung der Änderungseinspeisung dynamische Ansichten erstellen.The change injection, in some embodiments, can track the changes in each node in the graph and the relationships associated therewith. If a user wants to subscribe to these changes and the user has the right access, the user can simply make a web API call to get sequential notifications about each change that occurs in the graph. A user and/or system can reflect the changes one by one to restore the graph at any given time period. Even if the messages are "sparse" and contain only the change notification and the reference "id/seq id", the change injection can keep a copy of every state of every node and/or every relationship, so that a user and/or a system can keep these past states can retrieve at any time for each node. Furthermore, a change injection consumer could also create dynamic "views" that allow different time-based "snapshots" of what the graph looks like in a given context. While the twin manager 108 can contain the history and current state of the graph based on the schema evaluation, a consumer can keep a copy of this data and thereby create dynamic views using change injection.

Schema und Ontologie 154 können das Nachrichtenschema und die Graphontologie des Zwillingsmanagers 108 definieren. Das Nachrichtenschema kann definieren, welches Format Nachrichten, die von dem Benachrichtigungsmanager 140 empfangen werden, haben sollten, z. B. welche Parameter, welche Formate usw. Ontologie kann Graphprojektionen definieren, z. B. die Ontologie, die ein Benutzer sehen möchte. Beispielsweise können verschiedene Systeme, Anwendungen und/oder Benutzer mit einer Graphontologie verbunden sein. Dementsprechend kann der Graphprojektionsmanager 156, wenn der Graphprojektionsmanager 156 eine Graphprojektion für einen Benutzer, ein System oder ein Abonnement erzeugt, eine Graphprojektion gemäß der für den Benutzer spezifischen Ontologie erzeugen. Beispielsweise kann die Ontologie definieren, welche Typen von Entitäten in welcher Reihenfolge in einem Graphen in Beziehung stehen, beispielsweise kann der Graphprojektionsmanager 156 für die Ontologie für ein Abonnement von „Kunde A“ Beziehungen für eine Graphprojektion erstellen, basierend auf Regel:

  • Region ←→ Gebäude ←→ Stockwerk ←→ Raum ←→ Asset
Schema and ontology 154 may define the twin manager 108 message schema and graph ontology. The message schema may define what format messages received from the notification manager 140 should have, e.g. e.g. which parameters, which formats etc. Ontology can define graph projections e.g. B. the ontology that a user wants to see. For example, different systems, applications, and/or users may be associated with a graph ontology. Accordingly, when the graph projection manager 156 creates a graph projection for a user, system, or subscription, the graph projection manager 156 may create a graph projection according to the ontology specific to the user. For example, the ontology can define what types of entities are related in what order in a graph, e.g., for the ontology for a subscription of "Customer A" the graph projection manager 156 can create relationships for a graph projection based on rule:
  • Region ←→ Building ←→ Floor ←→ Room ←→ Asset

Für die Ontologie eines Abonnements von „Kunde B“ kann der Graphprojektionsmanager 156 Beziehungen erstellen, basierend auf der Regel:

  • Gebäude ←→ Stockwerk ←→ Asset
For the ontology of a "Customer B" subscription, the graph projection manager can create 156 relationships based on the rule:
  • Building ←→ Floor ←→ Asset

Der Richtlinienmanager 158 kann konfiguriert sein, dass er auf Anforderungen für Richtlinien von anderen Anwendungen und/oder Systemen antwortet. Der Richtlinienmanager 158 kann eine Graphprojektion konsultieren, um zu bestimmen, welche Berechtigungen unterschiedliche Anwendungen, Benutzer und/oder Vorrichtungen aufweisen. Die Graphprojektion kann verschiedene Berechtigungen angeben, die unterschiedliche Typen von Entitäten aufweisen, und der Richtlinienmanager 158 kann die Graphprojektion durchsuchen, um die Berechtigungen einer bestimmten Entität zu identifizieren. Der Richtlinienmanager 158 kann eine feinkörnige Zugriffskontrolle mit Benutzerberechtigungen erleichtern. Der Richtlinienmanager 158 kann Berechtigungen über einen Graphen anwenden, z. B. bei „der Benutzer kann alle Daten in Verbindung mit Stockwerk 1 sehen“, sieht er alle Teilsystemdaten für dieses Stockwerk, z. B. Überwachungskameras, HLK-Vorrichtungen, Feuererkennungs- und -reaktionsvorrichtungen usw.Policy manager 158 may be configured to respond to requests for policies from other applications and/or systems. The policy manager 158 can create a graph project tion to determine what permissions different applications, users and/or devices have. The graph projection can indicate different permissions representing different types of entities, and the policy manager 158 can search the graph projection to identify the permissions of a particular entity. Policy manager 158 can facilitate fine-grained access control with user permissions. The policy manager 158 can apply permissions via a graph, e.g. e.g. "the user can see all data related to floor 1", he sees all subsystem data for that floor, e.g. B. Surveillance cameras, HVAC devices, fire detection and response devices, etc.

Der Zwillingsmanager 108 beinhaltet einen Abfragemanager 165 und einen Zwillingsfunktionsmanager 167. Der Abfragemanager 164 kann konfiguriert sein, um Abfragen zu handhaben, die von einem anfordernden System, z. B. der Benutzervorrichtung 176, den Anwendungen 110 und/oder einem beliebigen anderen System, empfangen werden. Der Abfragemanager 165 kann Abfragen empfangen, die Abfrageparameter und Kontext beinhalten. Der Abfragemanager 165 kann die Graphprojektionsdatenbank 162 mit den Abfrageparametern abfragen, um ein Ergebnis abzurufen. Der Abfragemanager 165 kann dann einen Ereignisprozessor, z. B. eine Zwillingsfunktion, veranlassen, basierend auf dem Ergebnis und dem Kontext zu arbeiten. In einigen Ausführungsformen kann der Abfragemanager 165 die Zwillingsfunktion basierend auf dem Kontext auswählen und/oder Operationen basierend auf dem Kontext durchführen. In einigen Ausführungsformen ist der Abfragemanager 165 konfiguriert, um die unter Bezugnahme auf die 5-10 beschriebenen Operationen durchzuführen.The twin manager 108 includes a query manager 165 and a twin function manager 167. The query manager 164 may be configured to handle queries submitted by a requesting system, e.g. the user device 176, the applications 110 and/or any other system. The query manager 165 can receive queries that include query parameters and context. The query manager 165 can query the graph projection database 162 with the query parameters to retrieve a result. The query manager 165 can then use an event processor, e.g. a twin function, to work based on the result and the context. In some embodiments, the query manager 165 can select the twin function based on the context and/or perform operations based on the context. In some embodiments, query manager 165 is configured to 5-10 perform the operations described.

Der Zwillingsfunktionsmanager 167 kann konfiguriert sein, um die Ausführung von Zwillingsfunktionen zu verwalten. Der Zwillingsfunktionsmanager 167 kann einen Hinweis auf eine Kontextabfrage empfangen, die ein bestimmtes Datenelement und/oder Muster in der Graphprojektionsdatenbank 162 identifiziert. Als Reaktion auf das bestimmte Datenelement und/oder Muster, das in der Graphprojektionsdatenbank 162 auftritt (z. B. basierend auf einem neuen Datenereignis, das der Graphprojektionsdatenbank 162 hinzugefügt wurde, und/oder Änderungen an Knoten oder Rändern der Graphprojektionsdatenbank 162, kann der Zwillingsfunktionsmanager 167 veranlassen, dass eine bestimmte Zwillingsfunktion ausgeführt wird. Die Zwillingsfunktion kann basierend auf einem Ereignis, Kontext und/oder Regeln ausgeführt werden. Das Ereignis können Daten sein, für die die Zwillingsfunktion ausgeführt wird. Der Kontext kann Informationen sein, die eine kontextbezogene Beschreibung der Daten bereitstellen, z. B. mit welcher Vorrichtung das Ereignis verbunden ist, welcher Kontrollpunkt basierend auf dem Ereignis aktualisiert werden sollte usw. Der Zwillingsfunktionsmanager 167 kann konfiguriert sein, um die Operationen der 11-15 durchzuführen.The twin role manager 167 may be configured to manage the execution of twin roles. The twin function manager 167 may receive an indication of a context query identifying a particular data item and/or pattern in the graph projection database 162 . In response to the particular data item and/or pattern occurring in the graph projection database 162 (e.g., based on a new data event added to the graph projection database 162 and/or changes to nodes or edges of the graph projection database 162, the twin function manager 167 cause a specific twin function to be performed. The twin function may be performed based on an event, context, and/or rules. The event may be data on which the twin function is performed. The context may be information that provides a contextual description of the provide data such as which device the event is associated with, which checkpoint should be updated based on the event, etc. The twin function manager 167 may be configured to manage the operations of the 11-15 to perform.

Unter Bezugnahme auf 2 ist nach einer beispielhaften Ausführungsform eine Graphprojektion 200 des Zwillingsmanagers 108 gezeigt, die Daten einer Anwendungsprogrammierschnittstelle (API), Fähigkeitsdaten, Richtliniendaten und Dienste beinhaltet. Die Graphprojektion 200 beinhaltet Knoten 202-240 und Ränder 250-272. Die Knoten 202-240 und die Ränder 250-272 sind gemäß dem Schlüssel 201 definiert. Die Knoten 202-240 stellen unterschiedliche Typen von Entitäten, Vorrichtungen, Standorten, Punkten, Personen, Richtlinien und Softwarediensten (z. B. API-Diensten) dar. Die Ränder 250-272 stellen Beziehungen zwischen den Knoten 202-240 dar, z. B. abhängige Aufrufe, API-Aufrufe, abgeleitete Beziehungen und Schemabeziehungen (z. B. BRICK-Beziehungen).With reference to 2 1 is a graph projection 200 of the twin manager 108 that includes application programming interface (API) data, capability data, policy data, and services, according to an exemplary embodiment. Graph projection 200 includes nodes 202-240 and edges 250-272. The nodes 202-240 and the edges 250-272 are defined according to the key 201. Nodes 202-240 represent different types of entities, devices, locations, points, people, policies, and software services (e.g., API services). Boundaries 250-272 represent relationships between nodes 202-240, e.g. B. dependent calls, API calls, derived relationships and schema relationships (e.g. BRICK relationships).

Die Graphprojektion 200 beinhaltet einen Vorrichtungshub 202, der einen Softwaredienst darstellen kann, der die Kommunikation von Daten und Befehlen zwischen der Cloud-Plattform 106 und einer Vorrichtung der Gebäudeteilsysteme 122, z. B. einem Türbetätiger 214, erleichtert. Der Vorrichtungshub 202 steht in Verbindung mit einem Verbinder 204, einem externen System 206 und einem digitalen Asset „Türbetätiger“ 208 durch Rand 250, Rand 252 und Rand 254.The graph projection 200 includes a device hub 202 that may represent a software service that facilitates the communication of data and commands between the cloud platform 106 and a device of the building subsystems 122, e.g. B. a door operator 214 facilitated. The device hub 202 is in communication with a connector 204, an external system 206, and a digital asset "door operator" 208 through edge 250, edge 252, and edge 254.

Die Cloud-Plattform 106 kann konfiguriert sein, um den Vorrichtungshub 202, den Verbinder 204, das externe System 206 in Bezug auf den Türbetätiger 214 zu identifizieren, indem sie die Graphprojektion 200 durchsucht und die Ränder 250-254 und den Rand 258 identifiziert. Die Graphprojektion 200 beinhaltet eine digitale Darstellung des „Türbetätigers“, Knoten 208. Das digitale Asset „Türbetätiger“ 208 beinhaltet „VorrichtungNameRaum“, der durch den Knoten 207 dargestellt wird und mit dem digitalen Asset „Türbetätiger“ 208 durch die Kante 256 „Eigenschaft des Objekts“ in Beziehung steht.Cloud platform 106 may be configured to identify device hub 202, connector 204, external system 206 with respect to door operator 214 by searching graph projection 200 and identifying edges 250-254 and edge 258. Graph projection 200 includes a digital representation of "Door Operator", node 208. Digital asset "Door Operator" 208 includes "DeviceNameRoom" represented by node 207 and connected to digital asset "Door Operator" 208 by edge 256 "Property of object” is related.

Der „Türbetätiger“ 214 weist Punkte und Zeitreihen auf. Der „Türbetätiger“ 214 steht mit „Punkt A“ 216 durch eine „hat_einen“ Rand 260 in Beziehung. Der „Türbetätiger“ 214 steht mit „Punkt B“ 218 durch „hat_einen“ Rand 258 in Beziehung. Des Weiteren sind die mit den Punkten A und B verbundenen Zeitreihen durch die Knoten „TS“ 220 und „TS“ 222 dargestellt. Die Zeitreihen stehen mit den Punkten A und B durch „hat_einen“ Rand 264 und „hat_einen“ Rand 262 in Beziehung. Die Zeitreihe „TS“ 220 weist bestimmte Proben, Muster 210 und 212, auf, die jeweils mit „TS“ 220 in Beziehung stehen, mit Rändern 268 bzw. 266. Jede Probe beinhaltet eine Zeit und einen Wert. Jede Probe kann ein von dem Türbetätiger empfangenes Ereignis sein, das die Cloud-Plattform 106 in die Entitäts-, Beziehungs- und Ereignisdatenbank 160 aufnimmt, z. B. in die Graphprojektion 200 aufnimmt.The "door operator" 214 has points and time series. The "door operator" 214 is related to "point A" 216 by a "has_a" border 260 . The "door operator" 214 is related to "point B" 218 by "has_a" edge 258 . Furthermore, the time series associated with points A and B are represented by nodes “TS” 220 and “TS” 222 . The time series stand by at points A and B "has_an" edge 264 and "has_an" edge 262 in relation. The time series "TS" 220 has certain samples, patterns 210 and 212, related to "TS" 220, respectively, with margins 268 and 266, respectively. Each sample includes a time and a value. Each sample may be an event received from the door operator that cloud platform 106 records in entity, relationship, and event database 160, e.g. B. in the graph projection 200 includes.

Die Graphprojektion 200 beinhaltet ein Gebäude 234, das ein physisches Gebäude darstellt. Das Gebäude beinhaltet ein durch Stockwerk 232 dargestelltes Stockwerk, das mit dem Gebäude 234 durch „hat_einen“ Rand vom Gebäude 234 zum Stockwerk 232 in Beziehung steht. Das Stockwerk weist einen Raum auf, der durch „hat_einen“ 270 zwischen dem Stockwerk 232 und dem Raum 230 angegeben ist. Der Raum verfügt über besondere Fähigkeiten, z.B. ist ein Raum, der für eine Sitzung, eine Konferenz, eine private Lernzeit usw. gebucht werden kann. Des Weiteren kann die Buchung storniert werden. Die Fähigkeiten für das Stockwerk 232 werden durch Fähigkeiten 228 in Bezug auf den Raum 230 durch den Rand 280 dargestellt. Die Fähigkeiten 228 stehen in Beziehung mit zwei unterschiedlichen Befehlen, dem Befehl „Raum buchen“ 224 und dem Befehl „Buchung stornieren“ 226, die mit den Fähigkeiten 228 durch den Rand 284 und Rand 282 in Beziehung stehen.The graph projection 200 includes a building 234 that represents a physical building. The building includes a floor represented by floor 232 that is related to building 234 by "has_a" border from building 234 to floor 232 . The floor has a room indicated by "has_an" 270 between floor 232 and room 230 . The room has special capabilities, e.g. is a room that can be booked for a meeting, conference, private study time, etc. Furthermore, the booking can be cancelled. Capabilities for floor 232 are represented by capabilities 228 with respect to space 230 by border 280 . The capabilities 228 are related to two different commands, the book room command 224 and the cancel booking command 226, which are related to the capabilities 228 by border 284 and border 282.

Wenn die Cloud-Plattform 106 einen Befehl zum Buchen des durch den Knoten dargestellten Raums Raum 230 empfängt, kann die Cloud-Plattform 106 die Graphprojektion 200 nach den Fähigkeiten für den 228 durchsuchen, der mit dem Raum 230in Beziehung steht, um zu bestimmen, ob die Cloud-Plattform 106 das Zimmer buchen kann.When the cloud platform 106 receives a command to book the space space 230 represented by the node, the cloud platform 106 can search the graph projection 200 for the capabilities for the space 228 associated with the space 230 to determine whether the cloud platform 106 can book the room.

In einigen Ausführungsformen könnte die Cloud-Plattform 106 eine Anforderung zum Buchen eines Raums in einem bestimmten Gebäude, z. B. dem Gebäude 234, empfangen. Die Cloud-Plattform 106 könnte die Graphprojektion 200 durchsuchen, um Räume zu identifizieren, die die Fähigkeiten aufweisen, gebucht werden zu können, z. B. den Raum 230 basierend auf den Fähigkeiten 228 zu identifizieren, die mit dem Raum 230 in Bezug stehen. Die Cloud-Plattform 106 kann auf die Anforderung mit einer Angabe des Raums antworten und der anfordernden Entität ermöglichen, den Raum 230 zu buchen.In some embodiments, the cloud platform 106 could receive a request to book a room in a specific building, e.g. B. the building 234 received. The cloud platform 106 could search the graph projection 200 to identify rooms that have the ability to be booked, e.g. B. identify space 230 based on capabilities 228 related to space 230 . The cloud platform 106 can respond to the request with an indication of the room and allow the requesting entity to book the room 230 .

Die Graphprojektion 200 beinhaltet eine Richtlinie 236 für das Stockwerk 232. Die Richtlinie 236 wird in Bezug auf das Stockwerk 232 basierend auf einem Rand 274 „zum Stockwerk“ zwischen der Richtlinie 236 und dem Stockwerk 232 festgelegt. The graph projection 200 includes a policy 236 for the floor 232. The policy 236 is set relative to the floor 232 based on a "to floor" margin 274 between the policy 236 and the floor 232. FIG.

Die Richtlinie 236 steht mit verschiedenen Rollen für das Stockwerk 232, Leseereignissen 238 über Rand 276 und Sendebefehl 240 über Rand 278 in Beziehung. Die Richtlinie 236 wird für die Entität 203 basierend auf „hat“ Rand 251 zwischen der Entität 203 und der Richtlinie 236 festgelegt.Policy 236 is related to various roles for floor 232, read events 238 via edge 276, and send command 240 via edge 278. Policy 236 is set for entity 203 based on "has" margin 251 between entity 203 and policy 236 .

Der Zwillingsmanager 108 kann Richtlinien für bestimmte Entitäten, z. B. Benutzer, Softwareanwendungen, Systeme, Vorrichtungen usw., basierend auf der Richtlinie 236 identifizieren. Beispielsweise, wenn die Cloud-Plattform 106 einen Befehl zum Buchen des Speicherplatzes 230 empfängt. Die Cloud-Plattform 106 kann mit dem Zwillingsmanager 108 kommunizieren, um zu verifizieren, dass die Entität, die die Buchung des Raums 230 anfordert, eine Richtlinie zum Buchen des Raums aufweist. Der Zwillingsmanager 108 kann die Entität, die die Buchung des Raums anfordert, als die Entität 203 identifizieren, indem er die Graphprojektion 200 durchsucht. Des Weiteren kann der Zwillingsmanager 108 weiter den Rand 251 zwischen der Entität 203 und der Richtlinie 236 und den Rand 1178 zwischen der Richtlinie 236 und dem Befehl 240 identifizieren.The twin manager 108 can set policies for specific entities, e.g. B. identify users, software applications, systems, devices, etc., based on policy 236. For example, when cloud platform 106 receives a command to reserve storage space 230 . The cloud platform 106 may communicate with the twin manager 108 to verify that the entity requesting the booking of the room 230 has a policy to book the room. Twin manager 108 can identify the entity requesting the booking of the room as entity 203 by searching graph projection 200 . Furthermore, the twin manager 108 can further identify the boundary 251 between the entity 203 and the policy 236 and the boundary 1178 between the policy 236 and the command 240.

Des Weiteren kann der Zwillingsmanager 108 identifizieren, dass die Entität 203 die Fähigkeit aufweist, den Raum 230 basierend auf dem Rand 1174 zwischen der Richtlinie 236 und dem Rand 270 zwischen dem Stockwerk 232 und dem Raum 230 zu befehlen. Als Reaktion auf das Identifizieren, dass die Entität 203 die Fähigkeit aufweist, den Raum 230 zu buchen, kann der Zwillingsmanager 108 einen Hinweis an die Cloud-Plattform 106 bereitstellen.Furthermore, twin manager 108 may identify that entity 203 has the ability to command room 230 based on boundary 1174 between policy 236 and boundary 270 between floor 232 and room 230 . In response to identifying that entity 203 has the ability to book room 230 , twin manager 108 may provide an indication to cloud platform 106 .

Des Weiteren, wenn die Entität eine Anforderung zum Lesen von Ereignissen für den Raum 230 stellt, z. B. das Muster 210 und das Muster 212, kann der Zwillingsmanager 108 den Rand 251 zwischen der Entität 203 und der Richtlinie 236, den Rand 1178 zwischen der Richtlinie 236 und den Leseereignissen 238, den Rand 1174 zwischen der Richtlinie 236 und dem Stockwerk 232, „hat_einen“ Rand 270 zwischen dem Stockwerk 232 und dem Raum 230, den Rand 268 zwischen dem Raum 230 und dem Türbetätiger 214, den Rand 260 zwischen dem Türbetätiger 214 und dem Punkt A 216, „hat_einen“ Rand 264 zwischen dem Punkt A 216 und TS 220 und die Ränder 268 und 266 zwischen TS 220 und den Proben 210 bzw. 212 identifizieren.Furthermore, if the entity makes a request to read events for the space 230, e.g. For example, pattern 210 and pattern 212, twin manager 108 can use border 251 between entity 203 and policy 236, border 1178 between policy 236 and read events 238, border 1174 between policy 236 and floor 232, "has_an" edge 270 between the floor 232 and the room 230, the edge 268 between the room 230 and the door operator 214, the edge 260 between the door operator 214 and the point A 216, "has_an" edge 264 between the point Identify A 216 and TS 220 and the margins 268 and 266 between TS 220 and samples 210 and 212, respectively.

Unter Bezugnahme auf 3 ist nach einer beispielhaften Ausführungsform eine Graphprojektion 300 des Zwillingsmanagers 108 gezeigt, die Daten einer Anwendungsprogrammierschnittstelle (API), Fähigkeitsdaten, Richtliniendaten und Dienste beinhaltet. Die Graphprojektion 300 beinhaltet die in der Graphprojektion 200 von 2 beschriebenen Knoten und Ränder. Die Graphprojektion 300 beinhaltet einen Verbindungsvermittler 354, der mit den Fähigkeiten 228 durch den Rand 398a in Verbindung steht. Der Verbindungsvermittler 354 kann ein Knoten sein, der eine Softwareanwendung darstellt, die konfiguriert ist, um eine Verbindung mit einer anderen Softwareanwendung zu erleichtern. In einigen Ausführungsformen kann die Cloud-Plattform 106 das System identifizieren, das die Fähigkeiten 228 implementiert, indem sie den Rand 398a zwischen den Fähigkeiten 228 und dem Verbindungsvermittler 354 identifiziert.With reference to 3 1 is a graph projection 300 of the twin manager 108 that includes application programming interface (API) data, capability data, policy data, and services, according to an example embodiment. The graph projection 300 includes those shown in the graph projection 200 of FIG 2 nodes and edges described. Graph projection 300 includes a connection broker 354 that interfaces with capabilities 228 through edge 398a. Connection broker 354 may be a node representing a software application configured to facilitate connection with another software application. In some embodiments, cloud platform 106 may identify the system implementing capabilities 228 by identifying edge 398a between capabilities 228 and connection broker 354 .

Der Verbindungsvermittler 354 steht in Beziehung mit einem Agenten, der einen Raum 356 über den Rand 398b optimiert. Der durch den Knoten 356 dargestellte Agent kann Buchungen für den durch den Knoten 230 dargestellten Raum basierend auf dem Rand 398b zwischen dem Verbindungsvermittler 354 und dem Knoten 356 und dem Rand 398a zwischen den Fähigkeiten 228 und dem Verbindungsvermittler 354 buchen und stornieren.The connection broker 354 is related to an agent that optimizes a space 356 over the edge 398b. The agent represented by node 356 can book and cancel bookings for the space represented by node 230 based on the edge 398b between the connection switch 354 and the node 356 and the edge 398a between the capabilities 228 and the connection switch 354.

Der Verbindungsvermittler 354 steht durch den Rand 398c mit einem Cluster 308 in Beziehung. Der Cluster 308 steht über den Rand 398e mit dem Verbinder B 302 und über den Rand 398d mit dem Verbinder A 306 in Beziehung. Der Konnektor A 306 steht mit einem externen Abonnementdienst 304 in Beziehung. Ein Verbindungsvermittler 310 steht mit dem Cluster 308 über einen Rand 311 in Beziehung, der einen Ruheaufruf darstellt, den der durch den Knoten 310 dargestellte Verbindungsvermittler an den durch den Cluster 308 dargestellten Cluster tätigen kann.Connection broker 354 is related to cluster 308 by edge 398c. Cluster 308 is related to connector B 302 by edge 398e and to connector A 306 by edge 398d. Connector A 306 is related to an external subscription service 304 . A connection broker 310 is related to cluster 308 by an edge 311 that represents a sleep call that the connection broker represented by node 310 can make to the cluster represented by cluster 308 .

Der Verbindungsvermittler 310 steht durch einen Rand 354 mit einer virtuellen Sitzungsplattform 312 in Beziehung. Der Knoten 312 stellt ein externes System dar, das eine virtuelle Sitzungsplattform darstellt. Der durch den Knoten 310 dargestellte Verbindungsvermittler kann eine Softwarekomponente darstellen, die eine Verbindung zwischen der Cloud-Plattform 106 und der durch den Knoten 312 dargestellten virtuellen Sitzungsplattform erleichtert. Wenn die Cloud-Plattform 106 mit der durch den Knoten 312 dargestellten virtuellen Sitzungsplattform kommunizieren muss, kann die Cloud-Plattform 106 den Rand 354 zwischen dem Verbindungsvermittler 310 und der virtuellen Sitzungsplattform 312 identifizieren und den durch den Knoten 310 dargestellten Verbindungsvermittler auswählen, um die Kommunikation mit der durch den Knoten 312 dargestellten virtuellen Sitzungsplattform zu erleichtern.
Ein Fähigkeitsknoten 318 kann mit dem Verbindungsvermittler 310 über Rand 360 verbunden sein. Die Fähigkeiten 318 können Fähigkeiten der virtuellen Sitzungsplattform sein, die durch den Knoten 312 dargestellt wird, und können mit dem Knoten 312 durch den Rand 360 zu dem Verbindungsvermittler 310 und dem Rand 354 zwischen dem Verbindungsvermittler 310 und dem Knoten 312 in Beziehung stehen. Die Fähigkeiten 318 können Fähigkeiten der durch den Knoten 312 dargestellten virtuellen Sitzungsplattform definieren. Der Knoten 320 steht über Rand 362 mit Fähigkeiten 318 in Beziehung. Die Fähigkeiten können ein „Bob einladen“ Befehl, der durch den Knoten 316 dargestellt wird, und ein „E-Mail Bob“ Befehl, der durch den Knoten 314 dargestellt wird, sein. Die Fähigkeiten 318 können mit einem Knoten 320 verknüpft werden, der einen Benutzer, Bob, repräsentiert. Die Cloud-Plattform 106 kann E-Mail-Befehle erleichtern, um E-Mails an den Benutzer Bob über den E-Mail-Dienst zu senden, der durch den Knoten 304 dargestellt wird. Der Knoten 304 steht mit dem Verbinden eines Knotens 306 über den Rand 398f in Beziehung. Des Weiteren kann die Cloud-Plattform 106 das Senden einer Einladung zu eine virtuellen Sitzung über die Plattform für virtuelle Sitzungen erleichtern, die durch den Knoten 312 dargestellt wird, der über den Rand 358 mit dem Knoten 318 verknüpft ist.
The connection broker 310 is related to a virtual session platform 312 by an edge 354 . Node 312 represents an external system that represents a virtual session platform. The connection broker represented by node 310 may represent a software component that facilitates a connection between cloud platform 106 and the virtual session platform represented by node 312 . When the cloud platform 106 needs to communicate with the virtual session platform represented by node 312, the cloud platform 106 can identify the edge 354 between the connection broker 310 and the virtual session platform 312 and select the connection broker represented by node 310 to initiate the communication with the virtual session platform represented by node 312.
A capability node 318 may be connected to connection switch 310 via edge 360 . Capabilities 318 may be capabilities of the virtual session platform represented by node 312 and may be related to node 312 through edge 360 to connection switch 310 and edge 354 between connection switch 310 and node 312 . Capabilities 318 may define capabilities of the virtual session platform represented by node 312. Node 320 is related to capabilities 318 via border 362 . The capabilities may be an "Invite Bob" command, represented by node 316, and an "Email Bob" command, represented by node 314. Capabilities 318 may be associated with a node 320 representing a user, Bob. Cloud platform 106 may facilitate email commands to send emails to user Bob via email service represented by node 304 . Node 304 is related to connecting node 306 across edge 398f. Furthermore, cloud platform 106 may facilitate sending an invitation to a virtual session via the virtual session platform represented by node 312 linked to node 318 by edge 358 .

Der Knoten 320 für den Benutzer Bob kann mit der Richtlinie 236 über die „hat“ Rand 364 verbunden sein. Weiterhin kann der Knoten 320 einen „Richtlinie prüfen“ Rand 366 mit einem Portalknoten 324 aufweisen. Der Vorrichtungs-API-Knoten 328 weist einen Richtlinie prüfen-Rand 370 zu dem Richtlinienknoten 236 auf. Der Portalknoten 324 weist einen Rand 368 zu dem Richtlinienknoten 236 auf. Der Portalknoten 324 weist einen Rand 323 zu einem Knoten 326 auf, der einen Benutzereingabemanager (UIM) darstellt. Der Portalknoten 324 steht über einen Rand 323 mit dem UIM-Knoten 326 in Beziehung. Der UIM-Knoten 326 weist einen Rand 323 zu einem Vorrichtungs-API-Knoten 328 auf. Der UIM-Knoten 326 steht über einen Rand 372 mit dem Türbetätigungsknoten 214 in Beziehung. Der Türbetätigungsknoten 214 weist einen Rand 374 zu dem Vorrichtungs-API-Knoten 328 auf. Der Türbetätiger 214 weist einen Rand 335 zu dem virtuellen Objektverbinder 334 auf. Der Vorrichtungshub 332 steht mit dem virtuellen Objektverbinder über den Rand 380 in Beziehung. Der Vorrichtungs-API-Knoten 328 kann ein API für den Türbetätiger 214 sein. Der virtuelle Objektverbinder 334 steht über den Rand 331 mit dem Vorrichtungs-API-Knoten 328 in Beziehung.
Der Vorrichtungs-API-Knoten 328 steht über einen Rand 329 mit einem Transportverbindungsvermittler 330 in Beziehung. Der Transportverbindungsvermittler 330 steht über einen Rand 378 mit einem Vorrichtungshub 332 in Beziehung. Der durch den Knoten 332 dargestellte Vorrichtungshub kann eine Softwarekomponente sein, die die Kommunikation von Daten und Befehlen für den Türbetätiger 214 handhabt. Die Cloud-Plattform 106 kann identifizieren, wo Daten innerhalb der vom Türbetätiger empfangenen Graphprojektion 300 zu speichern sind, indem sie die Knoten und Ränder zwischen den Punkten 216 und 218 und dem Vorrichtungshubknoten 332 identifiziert. In ähnlicher Weise kann die Cloud-Plattform 308 Befehle für den Türbetätiger identifizieren, was durch den durch den Knoten 332 dargestellten Vorrichtungshub erleichtert werden kann, z. B. durch Identifizieren von Rändern zwischen dem Vorrichtungshubknoten 332 und einem offene Tür-Knoten 352 und einem geschlossene Tür-Knoten 350. Der Türbetätiger 114 weist einen Rand „hat ein Asset abgebildet“ 280 zwischen dem Knoten 214 und einem Fähigkeitsknoten 348 auf. Der Fähigkeitsknoten 348 und die Knoten 352 und 350 sind durch Ränder 396 und 394 verknüpft.
Node 320 for user Bob may be connected to policy 236 via "has" edge 364 . Further, the node 320 can have a "check policy" border 366 with a portal node 324 . The device API node 328 has a check policy border 370 to the policy node 236 . Portal node 324 has an edge 368 to policy node 236 . The portal node 324 has a border 323 to a node 326 representing a user input manager (UIM). Portal node 324 is related to UIM node 326 by edge 323 . The UIM node 326 has an edge 323 to a device API node 328 . The UIM node 326 is related to the door operation node 214 by an edge 372 . The door operation node 214 has a border 374 to the device API node 328 . The door operator 214 has an edge 335 to the virtual object connector 334 . The device hub 332 overhangs the edge 380 with the virtual object connector Relationship. Device API node 328 may be an API for door operator 214 . Virtual object connector 334 is related to device API node 328 via edge 331 .
The device API node 328 is related to a transport connection switch 330 via an edge 329 . The transport connection switch 330 is related to a device hub 332 by an edge 378 . The device hub represented by node 332 may be a software component that handles the communication of data and commands for door operator 214 . Cloud platform 106 may identify where to store data within graph projection 300 received from door operator by identifying the nodes and edges between points 216 and 218 and device hub node 332 . Similarly, cloud platform 308 may identify door operator commands, which may be facilitated by the device hub represented by node 332, e.g. B. by identifying borders between the device hub node 332 and an open door node 352 and a closed door node 350 . Capability node 348 and nodes 352 and 350 are linked by edges 396 and 394, respectively.

Der Vorrichtungshub 332 ist über einen Rand 384 mit einem Cluster 336 verknüpft. Der Cluster 336 ist über Ränder 386 und den Rand 389 mit dem Verbinder A 340 und dem Verbinder B 338 verknüpft. Der Verbinder A 340 und der Verbinder B 338 sind mit einem externen System 344 über Ränder 388 und 390 verknüpft. Das externe System 344 ist über einen Rand 392 mit einem Türbetätiger 342 verknüpft.Device hub 332 is linked to cluster 336 by edge 384 . Cluster 336 is linked to connector A 340 and connector B 338 via edges 386 and edge 389 . Connector A 340 and connector B 338 are linked to an external system 344 via edges 388 and 390 . The external system 344 interfaces with a door operator 342 via an edge 392 .

Unter Bezugnahme auf 4 ist nach einer beispielhaften Ausführungsform eine Graphprojektion 400 des Zwillingsmanagers 108 gezeigt, die Ausrüstungs- und Fähigkeitsdaten für die Ausrüstung beinhaltet. Die Graphprojektion 400 beinhaltet Knoten 402-456 und Ränder 360-498f. Die Cloud-Plattform 106 kann die Graphprojektion 400 durchsuchen, um Fähigkeiten verschiedener Ausrüstungsteile zu identifizieren.With reference to 4 1 shows a graph projection 400 of twin manager 108 including equipment and capability data for the equipment, according to an exemplary embodiment. Graph projection 400 includes nodes 402-456 and edges 360-498f. The cloud platform 106 can search the graph projection 400 to identify capabilities of different pieces of equipment.

Ein Gebäudeknoten 404 stellt ein bestimmtes Gebäude dar, das zwei Stockwerke beinhaltet. Ein Knoten 402 des Stockwerks 1 ist mit dem Gebäudeknoten 404 über Rand 460 verknüpft, während ein Knoten 406 des Stockwerks 2 mit dem Gebäudeknoten 404 über Rand 462 verknüpft ist. Stockwerk 2 beinhaltet einen bestimmten Raum 2023, der durch Rand 464 zwischen dem Knoten 406 des Stockwerks 2 und dem Knoten 408 des Raums 2023 dargestellt wird. Verschiedene Ausrüstungsteile sind in dem Raum 2023 beinhaltet. Ein durch den Lichtknoten 416 dargestelltes Licht, ein Nachttischlampenknoten 414, ein Nachttischlampenknoten 412 und ein Flurlichtknoten 410 stehen mit dem Knoten 408 des Raums 2023 über Rand 466, Rand 472, Rand 470 und Rand 468 in Beziehung.A building node 404 represents a particular building that includes two stories. A floor 1 node 402 is linked to building node 404 by edge 460 , while a floor 2 node 406 is linked to building node 404 by edge 462 . Floor 2 includes a particular room 2023 represented by border 464 between node 406 of floor 2 and node 408 of room 2023 . Various pieces of equipment are included in room 2023. A light represented by light node 416, bedside lamp node 414, bedside lamp node 412, and hallway light node 410 are related to node 408 of room 2023 via edge 466, edge 472, edge 470, and edge 468.

Das durch den Lichtknoten 416 dargestellte Licht steht über Rand 484 mit einem Lichtverbinder 426in Beziehung. Der Lichtverbinder 426 steht über Ränder 484, 486 und 488 mit mehreren Befehlen für das durch den Lichtknoten 416 dargestellte Licht in Beziehung. Die Befehle können ein Helligkeits-Sollwert 424, ein Ein-Befehl 425 und ein Farbton-Sollwert 428 sein. Die Cloud-Plattform 106 kann eine Anforderung empfangen, um Befehle für das durch das Licht 416 dargestellte Licht zu identifizieren, und kann die Knoten 424-428 identifizieren und der anfordernden Entität einen Hinweis auf die durch die Knoten 424-428 repräsentierten Befehle bereitstellen. Die anfordernde Entität kann dann Befehle für die durch die Knoten 424-428 repräsentierten Befehle senden.The light represented by light node 416 is related to light connector 426 via edge 484 . Light connector 426 is related to multiple commands for the light represented by light node 416 via edges 484, 486, and 488. The commands may be a brightness command 424, an on command 425, and a tint command 428. Cloud platform 106 may receive a request to identify commands for the light represented by light 416 and may identify nodes 424-428 and provide the requesting entity with an indication of the commands represented by nodes 424-428. The requesting entity can then send commands for the commands represented by nodes 424-428.

Der Nachttischlampenknoten 414 ist über einen Rand 413 mit einem Nachttischlampenverbinder 481 verknüpft. Der Verbinder 481 steht mit Befehlen für die durch den Nachttischlampenknoten 414 repräsentierte Nachttischlampe über Ränder 492, 496 und 494 in Beziehung. Die Befehlsknoten sind ein Helligkeitssollwertknoten 432, ein Ein-Befehlsknoten 434 und ein Farbbefehl 436. Das Flurlicht 410 steht über einen Rand 498d mit einem Flurlichtverbinder 446 in Beziehung. Der Flurlichtverbinder 446 ist über Ränder 498g, 498f und 498e mit mehreren Befehlen für den Flurlichtknoten 410 verknüpft. Die Befehle werden durch einen Ein-Befehlsknoten 452, einen Farbtonsollwertknoten 450 und einen Glühbirnenaktivitätsknoten 448 dargestellt.The bedside lamp node 414 is linked to a bedside lamp connector 481 by a border 413 . Connector 481 is related to commands for the bedside lamp represented by bedside lamp node 414 via edges 492, 496, and 494. The command nodes are a brightness setpoint node 432, an on command node 434, and a color command 436. The hallway light 410 is related to a hallway light connector 446 by an edge 498d. Hallway light connector 446 is linked to a plurality of commands for hallway light node 410 via edges 498g, 498f, and 498e. The commands are represented by an on command node 452 , a tint setpoint node 450 , and a lightbulb activity node 448 .

Die Graphprojektion 400 beinhaltet einen Raumnamenknoten 422, der über Ränder 474 und 476 mit einem Server-A-Knoten 418 und einem Server-B-Knoten 420 in Beziehung steht. Der Raumnamenknoten 422 steht mit dem Nachttischlampenverbinder 481, dem Nachttischlampenverbinder 444 und dem Flurlichtverbinder 446 über Ränder 482, 480 und 478 in Beziehung. Der Nachttischlampenverbinder 444 steht mit Befehlen, z. B. dem Farbbefehlsknoten 440, dem Farbtonsollwertbefehl 438, einem Helligkeitssollwertbefehl 456 und einem Ein-Befehl 454 über Ränder 498c, 498b, 498a und 498 in Beziehung.The graph projection 400 includes a space name node 422 related to a server A node 418 and a server B node 420 by edges 474 and 476 . Room name node 422 is related to bedside lamp connector 481, bedside lamp connector 444, and hallway light connector 446 via edges 482, 480, and 478. The bedside lamp connector 444 is available with commands, e.g. B. the color command node 440, the hue target value command 438, a lightness target value command 456 and an on command 454 via borders 498c, 498b, 498a and 498 are related.

Unter allgemeiner Bezugnahme auf 5 ist nach einer beispielhaften Ausführungsform ein Erweiterbarkeitsmanager 502 gezeigt, der eine Schemadefinition 500 eines digitalen Zwillings zur Laufzeit erweitert. Die Schemadefinition 500 kann eine bestimmte Definition eines größeren Schemas sein. Die Schemadefinition 500 stellt ein Beispiel eines bestimmten Schemas für eine bestimmte Entitätsklasse 510 bereit. Die Schemadefinition 500 beinhaltet verschiedene Attribute für die Entitätsklasse 510, z. B. eine Entitätseigenschaft 512, eine Entitätseigenschaft 514, ein Entitätstag 516 und einen Entitätszustand 518. Die Schemadefinition 500 könnte in einem digitalen Zwilling implementiert werden, z. B. in den Graphen, die unter Bezugnahme auf die 1-4 oder an anderer Stelle hierin beschrieben sind.With general reference to 5 An extensibility manager 502 is shown extending a digital twin schema definition 500 at runtime, according to an exemplary embodiment. Schema definition 500 may be a particular definition of a larger schema. The schema definition 500 provides an example of a particular schema for a particular entity class 510 . The schema definition 500 includes various attributes for the entity class 510, e.g. e.g., an entity property 512, an entity property 514, an entity tag 516, and an entity state 518. The schema definition 500 could be implemented in a digital twin, e.g. B. in the graphs made with reference to the 1-4 or described elsewhere herein.

Die Entitätsklasse 510 könnte eine Thermostatklasse, eine Personenklasse, eine Videokameraklasse, eine Konferenzraumklasse usw. sein. Die Entitätsklasse 510 kann eine allgemeine Kategorie einer Entität sein, die alle der Attribute der Entität durch die Eigenschaften, Tags und Zustände beschreibt, die in der Schemadefinition 500 definiert sind. Wenn eine neue Entität in einem digitalen Zwilling erzeugt wird, können alle Eigenschaften, Tags und/oder Zustände für die neue Entität auch erzeugt und durch Beziehungen basierend auf der Schemadefinition 500 mit der neuen Entität verknüpft werden. Die Schemadefinition 500 kann in einigen Ausführungsformen in einer Datenbank gespeichert werden.The entity class 510 could be a thermostat class, a people class, a video camera class, a conference room class, and so on. Entity class 510 may be a general category of an entity that describes all of the entity's attributes through the properties, tags, and states defined in schema definition 500 . When a new entity is created in a digital twin, any properties, tags, and/or states for the new entity may also be created and linked to the new entity through relationships based on the schema definition 500 . The schema definition 500 may be stored in a database in some embodiments.

Die Entitätseigenschaften, die Entitätseigenschaft 512 und/oder die Entitätseigenschaft 514, könnten Eigenschaften der Entitätsklasse 510 sein, z. B. Eingaben eines Thermostaten, Ausgaben des Thermostaten, Rechenressourcen eines Rechensystems, Kapazität eines Boilers, maximale Luftwechsel einer Lüftungsanlage usw. Das Entitätstag 516 kann ein Tag der Entitätsklasse 510 angeben, z. B. angeben, dass ein Thermostat Teil einer Testgruppe ist, ein Datum angeben, an dem eine Wartung an einer Pumpensystem durchgeführt werden sollte, angeben, wann ein Filter zuletzt gewechselt wurde usw. Der Entitätszustand 518 könnte einen Zustand einer Entität angeben, z. B. eine von einem Temperatursensor gemessene Temperatur, einen Sollwert eines Thermostaten, eine Luftqualitätsmessung eines Luftqualitätssensors, eine Angabe, dass sich ein Modul mit variablem Luftvolumen (VAV) in einem Fehlerzustand befindet usw.The entity properties, entity property 512 and/or entity property 514, could be properties of entity class 510, e.g. e.g., inputs of a thermostat, outputs of the thermostat, computational resources of a computing system, capacity of a boiler, maximum air changes of an air handling unit, etc. Entity tag 516 may indicate a tag of entity class 510, e.g. e.g., indicate that a thermostat is part of a test group, indicate a date that maintenance should be performed on a pump system, indicate when a filter was last changed, etc. Entity state 518 could indicate a state of an entity, e.g. a temperature measured by a temperature sensor, a setpoint from a thermostat, an air quality measurement from an air quality sensor, an indication that a variable air volume (VAV) module is in a fault state, etc.

Der Erweiterbarkeitsmanager 502 kann konfiguriert sein, um die Schemadefinition 500 durch Hinzufügen eines erweiterten Schemas 508 zu der Schemadefinition 500 zu erweitern. Der Erweiterbarkeitsmanager 502 kann die Erweiterung zur Laufzeit durchführen, während ein Gebäudesystem, auf dem der digitale Zwilling läuft, derzeit in Betrieb ist, ohne jegliche Ausfallzeit, Neukonfiguration, Neuzusammenstellung, manuellen Eingriff usw. zu erfordern. Der Erweiterbarkeitsmanager 502 beinhaltet einen erweiterbaren Eigenschaftsmanager 504 und den erweiterbaren Zustandsmanager 506.The extensibility manager 502 can be configured to extend the schema definition 500 by adding an extended schema 508 to the schema definition 500 . The extensibility manager 502 can perform the expansion at runtime while a building system running the digital twin is currently operational without requiring any downtime, reconfiguration, recomposition, manual intervention, and so on. The extensibility manager 502 includes an extensible property manager 504 and the extensible state manager 506.

Der erweiterbare Eigenschaftsmanager 504 kann konfiguriert sein, um Eigenschaften und/oder Tags zu der Schemadefinition 500 hinzuzufügen. Beispielsweise kann der Manager 504 Tags und/oder Eigenschaften hinzufügen, z. B. das erweiterte Entitätstag 520 und/oder die erweiterte Entitätseigenschaft 522. Das Tag oder die Eigenschaft, die dem erweiterten Schema 508 hinzugefügt wird, können beliebige der hierin diskutierten Tags oder Eigenschaften sein. Der Manager 506 kann Zustände zu dem erweiterten Schema 508 hinzufügen, z. B. den erweiterten Entitätszustand 524. Der erweiterte Entitätszustand kann ein beliebiger hierin beschriebener Zustand sein. Der Manager 502 kann einen digitalen Zwilling basierend auf dem erweiterten Schema 508 aktualisieren. Beispielsweise kann der Manager 502 für jede Instanz der Entitätsklasse 510 veranlassen, dass jede Instanz der Entitätsklasse 510 neue Tags, neue Eigenschaften und/oder neue Zustände beinhaltet, die durch das erweiterte Entitätstag 520, die erweiterte Entitätseigenschaft 522 und/oder den erweiterten Entitätszustand 524 definiert sind. In einigen Ausführungsformen werden die Tags, Eigenschaften und/oder Zustände auf Standardwerte festgelegt.The extensible property manager 504 can be configured to add properties and/or tags to the schema definition 500 . For example, the manager 504 can add tags and/or properties, e.g. e.g., extended entity tag 520 and/or extended entity property 522. The tag or property added to extended schema 508 can be any of the tags or properties discussed herein. The manager 506 can add states to the extended schema 508, e.g. B. the extended entity state 524. The extended entity state can be any state described herein. The manager 502 can update a digital twin based on the extended schema 508 . For example, for each instance of entity class 510, manager 502 may cause each instance of entity class 510 to include new tags, new properties, and/or new states defined by extended entity tag 520, extended entity property 522, and/or extended entity state 524 are. In some embodiments, the tags, properties, and/or states are set to default values.

Unter Bezugnahme auf 6 ist der Zwillingsmanager 108 gezeigt, wobei der erweiterbare Eigenschafts- oder Tag-Manager 504 einen digitalen Zwilling aktualisiert, um neue Eigenschaften oder Tags in das Schema des digitalen Zwillings einzubeziehen, nach einer beispielhaften Ausführungsform. In 6 beinhaltet der Zwillingsmanager 108 einen digitalen Zwilling 608, der durch den Manager 504 zu dem digitalen Zwilling 610 aktualisiert wird. Der Manager 504 erweitert ein Schema, das zum Definieren der Entitäten in dem digitalen Zwilling 608 verwendet wird, um neue Eigenschaften und/oder Tags zu dem digitalen Zwilling 606 hinzuzufügen.With reference to 6 1, twin manager 108 is shown with extensible property or tag manager 504 updating a digital twin to include new properties or tags in the digital twin's schema, according to an example embodiment. In 6 the twin manager 108 includes a digital twin 608 that is updated to the digital twin 610 by the manager 504 . The manager 504 extends a schema used to define the entities in the digital twin 608 to add new properties and/or tags to the digital twin 606 .

Der digitale Zwilling 608 beinhaltet Knoten 612-628, die über Ränder miteinander in Beziehung stehen können. Die Knoten und Ränder des digitalen Zwillings 608 können einen Graphen bilden, z. B. einen der Graphen, die unter Bezugnahme auf 1-4 oder an anderer Stelle hierin beschreiben werden. Der digitale Zwilling 608 beinhaltet einen Gebäudeknoten 620, der ein Gebäude darstellt. Der Gebäudeknoten 620 steht durch Ränder mit einem Stockwerksknoten 616 und einem Stockwerksknoten 622 in Beziehung, was angibt, dass das Gebäude zwei getrennte Stockwerke aufweist. Der Stockwerksknoten 616 steht mit einem Raumheizungsknoten 612 in Beziehung, der angibt, dass das Stockwerk eine Raumheizung aufweist. Der Stockwerksknoten 616 und die Raumheizung 612 stehen durch Ränder, die angeben, dass das Stockwerk einen Thermostaten aufweist, der die Raumheizung betreibt, mit einem Thermostatknoten 614 in Beziehung. Der Thermostatknoten 614 steht mit einem Temperatursollwertknoten 618 in Beziehung, um den Temperatursollwert des Thermostaten anzugeben.The digital twin 608 includes nodes 612-628, which may be related to each other via borders. The nodes and edges of the digital twin 608 can form a graph, e.g. B. one of the graphs given with reference to 1-4 or described elsewhere herein. The digital twin 608 includes a building node 620 that represents a building. The building node 620 is related by edges to a floor node 616 and a floor node 622, which indicates that the building has two separate floors. The floor node 616 is related to a space heating node 612 indicating that the floor has space heating. The floor node 616 and the space heater 612 are related to a thermostat node 614 by borders that indicate that the floor has a thermostat that operates the space heater. The thermostat node 614 is related to a temperature setpoint node 618 to indicate the temperature setpoint of the thermostat.

Der Stockwerksknoten 622 steht mit einem Raumheizungsknoten 626 in Beziehung, der angibt, dass das Stockwerk eine Raumheizung aufweist. Der Stockwerksknoten 622 und die Raumheizung 626 stehen mit einem Thermostatknoten 628 in Beziehung, durch Ränder, die angeben, dass das Stockwerk einen Thermostat aufweist, der die Raumheizung betreibt. Der Thermostatknoten 628 steht mit einem Temperatursollwertknoten 624 in Beziehung, um den Temperatursollwert des Thermostaten anzugeben.The floor node 622 is related to a space heating node 626 indicating that the floor has space heating. The floor node 622 and the space heater 626 are related to a thermostat node 628 by borders indicating that the floor has a thermostat that operates the space heater. The thermostat node 628 is related to a temperature setpoint node 624 to indicate the temperature setpoint of the thermostat.

Der Manager 504 beinhaltet einen Benutzeraktualisierungsdetektor 600, einen Neuer-Knoten-Detektor 602, einen Neuer-Rand-Detektor 604 und einen Eigenschafts- oder Tag-Aktualisierer 606. Der Benutzeraktualisierungsdetektor 600 kann konfiguriert sein, um Informationen von der Benutzervorrichtung 176 zu empfangen. Die Informationen können Anforderungen für neue Eigenschaften oder Tags sein, die zu verschiedenen Entitätsklassen hinzugefügt werden sollen. Der Detektor 600 kann die von der Benutzervorrichtung 176 empfangenen Daten analysieren und identifizieren, zu welchen Entitätsklassen Eigenschaften und/oder Tags hinzugefügt werden sollten. Der Detektor 600 kann veranlassen, dass der Eigenschafts- oder Tag-Aktualisierer 606 die neuen Eigenschaften und/oder Tags zu der Entitätsklasse in dem Schema des digitalen Zwillings 608 hinzufügt und weiter veranlassen, dass entsprechende Knoten und/oder Ränder zu dem digitalen Zwilling 608 hinzugefügt werden, um die neuen Eigenschaften und/oder Tags darzustellen.The manager 504 includes a user update detector 600, a new node detector 602, a new edge detector 604, and a property or tag updater 606. The user update detector 600 may be configured to receive information from the user device 176. The information can be requests for new properties or tags to be added to various entity classes. The detector 600 can analyze the data received from the user device 176 and identify to which entity classes properties and/or tags should be added. The detector 600 can cause the property or tag updater 606 to add the new properties and/or tags to the entity class in the digital twin schema 608 and further cause corresponding nodes and/or edges to be added to the digital twin 608 to represent the new properties and/or tags.

Der Neuer-Knoten-Detektor 602 kann identifizieren, dass ein neuer Knoten zu dem digitalen Zwilling 608 hinzugefügt wurde. Neue Knoten, die zu dem digitalen Zwilling 608 hinzugefügt werden, können angeben, dass neue Ausrüstungsteile in einem Gebäude installiert wurden, neue Konferenzräume in dem Gebäude gebildet wurden, neue Ausrüstung über ein Netzwerk entdeckt wurde usw. Beispielsweise könnte ein zentraler Lüfter in dem Gebäude installiert sein, der zentrale Lüfterknoten 632 könnte zu dem digitalen Zwilling 608 hinzugefügt werden, um anzugeben, dass der zentrale Lüfter für das Gebäude arbeitet, das durch das Gebäude 620 dargestellt wird. Der Neuer-Knoten-Detektor 602 könnte den neuen zentralen Lüfterknoten 632 identifizieren und/oder der Neuer-Rand-Detektor 604 könnte einen neuen Rand zwischen dem Gebäude 620 und dem zentralen Lüfter 632 identifizieren. Der Manager 504 könnte identifizieren, dass die neuen Knoten und/oder Ränder angeben, dass zu dem digitalen Zwilling 608 neue Eigenschaften und/oder Tags hinzugefügt werden sollten, wobei die neuen Eigenschaften und/oder Tags das Schema des digitalen Zwillings 608 aktualisieren können.The new node detector 602 can identify that a new node has been added to the digital twin 608 . New nodes added to the digital twin 608 may indicate that new pieces of equipment have been installed in a building, new conference rooms have been created in the building, new equipment has been discovered over a network, etc. For example, a central fan could be installed in the building For example, central fan node 632 could be added to digital twin 608 to indicate that the central fan works for the building represented by building 620. The new node detector 602 could identify the new central fan node 632 and/or the new edge detector 604 could identify a new edge between the building 620 and the central fan 632 . The manager 504 may identify that the new nodes and/or edges indicate that new properties and/or tags should be added to the digital twin 608, where the new properties and/or tags may update the digital twin's 608 schema.

Wenn beispielsweise ein zentraler Lüfter zu dem Gebäude hinzugefügt wird, z. B. der zentrale Lüfter 632, und ein Rand zwischen dem Knoten 632 und dem Gebäude 620 hinzugefügt wird, könnte der Manager 504 identifizieren, dass Steuervorrichtungen des Gebäudes in der Lage sein sollten, den zentralen Lüfter zu steuern, z. B. weisen die Steuervorrichtungen die Fähigkeit auf, den zentralen Lüfter zu steuern, z. B. weil sie mit dem zentralen Lüfter verbunden sind (identifiziert durch Erkennen von Beziehungen zwischen dem zentralen Lüfterknoten 632 und einem Knoten, der die Steuervorrichtungen darstellt). Der Manager 504 kann zu dem digitalen Zwilling 608 einen Lüftersteuerungseigenschaftsknoten 630 und einen Lüftersteuerungseigenschaftsknoten 634 hinzufügen. Diese neuen Lüftersteuerungseigenschaften können das Schema des digitalen Zwillings 608 erweitern, um die Tatsache zu berücksichtigen, dass die Thermostate, die durch die Knoten 614 und 628 dargestellt werden, nun einen zentralen Lüfter steuern können, d. h. dargestellt durch den zentralen Lüfterknoten 632. Die Knoten 630 und 634 können in einigen Ausführungsformen Fähigkeiten sein.For example, if a central fan is added to the building, e.g. e.g. central fan 632, and adding a border between node 632 and building 620, manager 504 could identify that building control devices should be able to control the central fan, e.g. B. the controllers on the ability to control the central fan, z. B. because they are connected to the central fan (identified by recognizing relationships between the central fan node 632 and a node representing the controllers). The manager 504 can add a fan control properties node 630 and a fan control properties node 634 to the digital twin 608 . These new fan control properties can extend the schema of digital twin 608 to account for the fact that the thermostats represented by nodes 614 and 628 can now control a central fan, i. H. represented by central fan node 632. Nodes 630 and 634 may be capabilities in some embodiments.

Der Eigenschafts- oder Tag-Aktualisierer 606 kann konfiguriert sein, um Eigenschaften und/oder Tags basierend auf den von den Detektoren 600-604 gemachten Erkennungen, Identifizierungen und/oder Bestimmungen zu aktualisieren. Der Aktualisierer 606 kann konfiguriert sein, um ein Schema zu aktualisieren, das den digitalen Zwilling 608 definiert, um eine aktualisierte Version des digitalen Zwillings 608, den digitalen Zwilling 610, zu erzeugen. Der Aktualisierer 606 kann veranlassen, dass Aktualisierungen an dem digitalen Zwilling 608 basierend auf dem Schema vorgenommen werden. Beispielsweise kann der Aktualisierer 606 das aktualisierte Schema konsultieren, um die Eigenschaften und/oder Tags existierender Entitäten des digitalen Zwillings 608 zu aktualisieren. Des Weiteren, wenn zu dem digitalen Zwilling 608 neue Entitäten der aktualisierten Entitätsklasse hinzugefügt werden, können sie mit den neuen Eigenschaften und/oder Tags hinzugefügt werden. Der Aktualisierer 606 kann Knoten hinzufügen, die die neuen Eigenschaften und/oder Tags und Ränder zwischen den neuen Knoten und dem Entitätsknoten darstellen, der eine bestimmte Instanz der Entitätsklasse darstellt.The property or tag updater 606 may be configured to update properties and/or tags based on the detections, identifications, and/or determinations made by the detectors 600-604. Updater 606 may be configured to update a schema that defines digital twin 608 to produce an updated version of digital twin 608, digital twin 610. The updater 606 can cause updates to be made to the digital twin 608 based on the schema. For example, the updater 606 may consult the updated schema to update the properties and/or tags of existing digital twin 608 entities. Furthermore, when new entities of the updated entity class are added to the digital twin 608, they can be added with the new properties and/or tags. The updater 606 can add nodes that contain the new properties and/or Draw tags and borders between the new nodes and the entity node that represents a specific instance of the entity class.

Unter Bezugnahme auf 7 ist ein Flussdiagramm eines Prozesses 700 nach einer beispielhaften Ausführungsform gezeigt, bei dem der erweiterbare Eigenschaftsmanager von 6 einen digitalen Zwilling aktualisiert, um neue Eigenschaften in das Schema des digitalen Zwillings einzubeziehen. In einigen Ausführungsformen kann der Manager 504 konfiguriert sein, um den Prozess 700 durchzuführen. In einigen Ausführungsformen kann eine beliebige hierin beschriebene Rechenvorrichtung konfiguriert sein, um den Prozess 700 durchzuführen.With reference to 7 1 is shown a flow diagram of a process 700 in which the extensible property manager of FIG 6 updated a digital twin to include new properties in the digital twin schema. In some embodiments, manager 504 may be configured to perform process 700. In some embodiments, any computing device described herein may be configured to perform process 700 .

In Schritt 702 kann die Gebäudedatenplattform 100 eingesetzt werden. Die Gebäudedatenplattform 100 kann eingesetzt werden, um basierend auf einem digitalen Zwilling zu arbeiten, z. B. dem digitalen Zwilling 608 und/oder einem beliebigen anderen digitalen Zwilling und/oder einer anderen hierin beschriebenen Graphdatenstruktur. Beispielsweise können verschiedene Softwareteile und/oder Systeme (z. B. die Anwendungen 110) gegen den digitalen Zwilling laufen, z. B. Entscheidungen zur Vorrichtungssteuerung für die Gebäudeteilsysteme 122 treffen (z. B. Temperatur, Feuchtigkeit, Beleuchtung usw. steuern), Alarme bestimmen, den Energieverbrauch der Gebäudeteilsysteme 122 reduzieren usw.In step 702, the building data platform 100 can be deployed. The building information platform 100 can be deployed to operate based on a digital twin, e.g. B. digital twin 608 and/or any other digital twin and/or other graph data structure described herein. For example, different pieces of software and/or systems (e.g., the applications 110) can run against the digital twin, e.g. B. Making device control decisions for the building subsystems 122 (e.g., controlling temperature, humidity, lighting, etc.), determining alarms, reducing energy consumption of the building subsystems 122, etc.

In Schritt 704 empfängt der Manager 504 eine Angabe zum Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse eines Schemas des digitalen Zwillings. Die Angabe kann in einigen Ausführungsformen von einem Benutzer empfangen werden, z. B. über die Benutzervorrichtung 176. In einigen Ausführungsformen kann der Manager 504 eine Einsicht ableiten, dass die neue Eigenschaft oder das neuer Tag hinzugefügt werden sollte, indem Änderungen an dem digitalen Zwilling identifiziert werden, z. B. Hinzufügungen oder Abzüge von Knoten und/oder Rändern in dem digitalen Zwilling 608.
In Schritt 706 arbeitet der Manager 504, um die Eigenschaft oder das Tag zu Entitäten des digitalen Zwillings hinzuzufügen, wobei die Entitäten der Entitätsklasse angehören. Dadurch wird das in dem digitalen Zwilling implementierte Schema erweitert. Die Erweiterung des Schemas kann zusätzlich zum Hinzufügen der Eigenschaften oder der Knoten zu dem digitalen Zwilling durchgeführt werden, während die Gebäudedatenplattform 100 eingesetzt wird, ohne dass eine Neukonfiguration und/oder Neueinsetzung der Gebäudedatenplattform 100 und/oder des digitalen Zwillings erforderlich ist.
In step 704, the manager 504 receives an indication to add a property or tag to an entity class of a digital twin schema. In some embodiments, the indication may be received from a user, e.g. via user device 176. In some embodiments, manager 504 may derive insight that the new property or tag should be added by identifying changes to the digital twin, e.g. B. Additions or subtractions of nodes and/or edges in the digital twin 608.
In step 706, the manager 504 operates to add the property or tag to entities of the digital twin, where the entities belong to the entity class. This extends the schema implemented in the digital twin. The extension of the schema, in addition to adding the properties or the nodes to the digital twin, can be performed while the building information platform 100 is being deployed without requiring reconfiguration and/or re-deployment of the building information platform 100 and/or the digital twin.

Das Aktualisieren des Schemas mit neuen Eigenschaften oder Tags für eine Entität kann das Hinzufügen von Knoten und/oder Ränder zu dem Graphen für jede Instanz der Entitätsklasse involvieren. Wenn beispielsweise ein neues Tag für einen Thermostaten hinzugefügt wird, kann der Manager 504 veranlassen, dass ein Knoten für das neue Tag für jeden Thermostatknoten zu dem digitalen Zwilling hinzugefügt wird. Der Manager 504 kann einen oder mehrere Ränder veranlassen, den neuen Knoten für das Tag und den Knoten für die Entität in dem digitalen Zwilling in Beziehung zu setzen. In Schritt 708 führt der Manager 504 eine oder mehrere Operationen basierend auf der einen oder den mehreren Eigenschaften und/oder Knoten durch, die dem digitalen Zwilling hinzugefügt wurden, wobei die neuen Eigenschaften oder Knoten das Schema des digitalen Zwillings erweitern.Updating the schema with new properties or tags for an entity may involve adding nodes and/or borders to the graph for each instance of the entity class. For example, if a new tag for a thermostat is added, the manager 504 can cause a node for the new tag to be added to the digital twin for each thermostat node. The manager 504 can cause one or more edges to relate the new node for the tag and the node for the entity in the digital twin. In step 708, the manager 504 performs one or more operations based on the one or more properties and/or nodes added to the digital twin, where the new properties or nodes extend the digital twin's schema.

Unter Bezugnahme auf 8 ist nach einer beispielhaften Ausführungsform ein erweiterbarer Zustandsmanager 506 gezeigt, der den digitalen Zwilling 608 basierend auf von einem Fehleranalyseagenten empfangenen Informationen aktualisiert, wobei die Aktualisierung veranlasst, dass der digitale Zwilling 608 neue Zustände beinhaltet, die Fehler in dem Schema des digitalen Zwillings 608 angeben. In einigen Ausführungsformen kann ein Agent oder ein beliebiger anderer Typ von Anwendung, die den digitalen Zwilling 608 (oder Informationen des digitalen Zwillings 608) verwendet, Zustände zu dem digitalen Zwilling 608 hinzufügen. Beispielsweise kann der Fehleranalyseagent 808 Modell des maschinellen Lernens zum Erkennen von Fehlern für Ausrüstungsteile in dem digitalen Zwilling 608 verwenden (z. B. durch Analysieren von Daten und/oder Operationen, die von den Ausrüstungsteilen durchgeführt werden).With reference to 8th An extensible state manager 506 is shown that updates the digital twin 608 based on information received from a fault analysis agent, the update causing the digital twin 608 to include new states that indicate faults in the digital twin 608 schema, according to an exemplary embodiment. In some embodiments, an agent or any other type of application using the digital twin 608 (or digital twin 608 information) may add states to the digital twin 608 . For example, the failure analysis agent 808 may use machine learning models to detect failures for pieces of equipment in the digital twin 608 (e.g., by analyzing data and/or operations performed by the pieces of equipment).

Das Schema des digitalen Zwillings 608 kann jedoch möglicherweise keinen Mechanismus aufweisen der in der Lage ist, zu beschreiben, ob eine bestimmte Vorrichtung einen Fehler aufweist oder betriebsbereit ist. In dieser Hinsicht kann der Manager 506 basierend auf den vom Agenten 808 getroffenen Feststellungen bestimmen, dem Schema des digitalen Zwillings 608 einen Zustand hinzuzufügen, der den Fehlerzustand des Thermostaten beschreibt. Der Manager 506 kann veranlassen, dass eine Thermostatentitätsklasse einen Zustand beinhaltet, der angibt, ob sich der Thermostat in einem Fehlerzustand befindet oder nicht. Der Manager 506 kann veranlassen, dass alle Thermostate, die basierend auf der Thermostatklasse instanziiert sind, einen Zustand beinhalten, der angibt, ob sich der Thermostat in einem Fehlerzustand befindet oder nicht. Der Manager 506 kann veranlassen, dass der Standardwert des Zustands ein Betriebszustand ist, der angibt, dass kein Fehler vorhanden ist. Wenn der Agent 808 jedoch einen Fehler identifiziert, kann der Zustand auf einen Fehlerzustand festgelegt werden.However, the digital twin schema 608 may not include a mechanism capable of describing whether a particular device is faulty or operational. In this regard, based on the determinations made by the agent 808, the manager 506 may determine to add a state to the schema of the digital twin 608 describing the fault state of the thermostat. The manager 506 can cause a thermostat entity class to include a state that indicates whether or not the thermostat is in an error state. The manager 506 may cause all thermostats instantiated based on thermostat class to include a state indicating whether or not the thermostat is in an error state. Manager 506 may cause the state's default value to be an operational state that indicates that there is no error. However, if agent 808 identifies an error, the state may be set to an error state.

Beispielsweise könnte der Manager 506 einen Zustand für jede Thermostatentität des digitalen Zwillings 608 hinzufügen. Der Manager 506 könnte den digitalen Zwilling 608 nach allen Entitäten einer Thermostatklasse durchsuchen und den Thermostatknoten 614 und den Thermostatknoten 628 identifizieren. Der Manager 506 könnte veranlassen, dass der Fehlerzustandsknoten 804 für den Thermostatknoten 614 erzeugt und über ein Rand mit dem Thermostatknoten 614 in Beziehung gesetzt wird, basierend auf der an dem Schema für die Thermostatentitätsklasse vorgenommenen Aktualisierung. Der Manager 506 kann den Betriebszustandsknoten 806 und einen Rand zwischen dem Thermostatknoten 628 und dem Betriebszustand 806 zu dem digitalen Zwilling 608 hinzufügen, basierend auf der an dem Schema für die Thermostatentitätsklasse vorgenommenen Aktualisierung. Der Fehlerzustand des Knotens 804 kann angeben, dass der durch den Thermostatknoten 614 dargestellte Thermostat einen Fehler erfährt. Der Betriebszustand des Knotens 806 kann angeben, dass der durch den Thermostatknoten 628 dargestellte Thermostat keinen Fehler erfährt.For example, the manager 506 could add a state for each digital twin 608 thermostat entity. The manager 506 could search the digital twin 608 for all entities of a thermostat class and identify the thermostat node 614 and the thermostat node 628 . The manager 506 could cause the fault state node 804 for the thermostat node 614 to be created and related to the thermostat node 614 via a boundary based on the update made to the schema for the thermostat entity class. The manager 506 may add the operational state node 806 and a border between the thermostat node 628 and the operational state 806 to the digital twin 608 based on the update made to the schema for the thermostat entity class. The fault state of node 804 may indicate that the thermostat represented by thermostat node 614 is experiencing a fault. The operational state of node 806 may indicate that the thermostat represented by thermostat node 628 is not experiencing a fault.

Der Agent 808 kann die Fehlerbestimmung für den durch den Thermostatknoten 614 dargestellten Thermostaten vornehmen (z. B. durch Verbrauchen von Betriebsdaten, die mit dem Thermostat verbunden sind, z. B. Speichern in dem digitalen Zwilling 608). Der Manager 506 kann ohne gegenteilige Eingabe vom Agenten 808 annehmen, dass sich der durch den Thermostatknoten 628 dargestellte Thermostat in einem Betriebszustand befindet, da der Betriebszustand der Standardzustand sein kann, sofern der Agent 808 nichts anderes angibt.
Unter Bezugnahme auf 9 ist nach einer beispielhaften Ausführungsform der erweiterbare Zustandsmanager 506 gezeigt, der den digitalen Zwilling 608 auf der Grundlage von Informationen aktualisiert, die von einem Belegungsagenten 904 empfangen wurden, wobei die Aktualisierung veranlasst, dass der digitale Zwilling 608 neue Zustände einbezieht, die die Belegung in dem Schema des digitalen Zwillings angeben. Die Kalenderanwendung 902 könnte ein System und/oder eine Softwarekomponente sein, die für ein Unternehmen und/oder ein Gebäude läuft. Die Kalenderanwendung 902 kann konfiguriert sein, um Sitzungen in verschiedenen Räumen des durch den Gebäudeknoten 620 dargestellten Gebäudes zu planen und zu verfolgen. Die Kalenderanwendung 902 könnte ein OUTLOOK-Kalender, ein GOOGLE-Kalender, ein MICROSOFT-Teams-Kalender usw. sein.
Agent 808 may perform the fault determination for the thermostat represented by thermostat node 614 (e.g., by consuming operational data associated with the thermostat, e.g., storing in digital twin 608). Without input to the contrary from agent 808, manager 506 may assume that the thermostat represented by thermostat node 628 is in an operational state, since the operational state may be the default state unless agent 808 indicates otherwise.
With reference to 9 Extensible state manager 506 is shown updating digital twin 608 based on information received from occupancy agent 904, according to an example embodiment, wherein the update causes digital twin 608 to include new states affecting occupancy in the Specify the schema of the digital twin. Calendar application 902 could be a system and/or software component running for a business and/or building. Calendar application 902 may be configured to schedule and track meetings in different rooms of the building represented by building node 620. The calendar application 902 could be an OUTLOOK calendar, a GOOGLE calendar, a MICROSOFT Teams calendar, and so on.

Der Belegungsagent 904 könnte ein Agent sein, der hoch- und heruntergefahren werden kann, um gegen die Kalenderdaten der Kalenderanwendung 902 zu laufen, um Belegungsniveaus für verschiedene Bereiche des Gebäudes abzuleiten und/oder zu bestimmen, z. B. Räume, Konferenzräume, Sitzungsräume, Stockwerke, das Gebäude selbst usw. Die Belegungsniveaus können in einigen Ausführungsformen vorhergesagte Belegungsniveaus sein, die basierend auf bevorstehenden Sitzungen, die für verschiedene Räume geplant sind, vorhergesagt werden. Der Agent 904 kann eine Zwillingsfunktion sein, Zwillingsfunktionen sind unter Bezugnahme auf die US-Patentanmeldung Nr. 17/354,436, eingereicht am 22. Juni 2021, und die US-Patentanmeldung Nr. 17/354,338, eingereicht am 22. Juni 2021, beschrieben, deren Gesamtheit durch Bezugnahme hierin aufgenommen wird.The occupancy agent 904 could be an agent that can be powered up and down to run against the calendar data of the calendar application 902 to derive and/or determine occupancy levels for different areas of the building, e.g. B. rooms, conference rooms, meeting rooms, floors, the building itself, etc. The occupancy levels may, in some embodiments, be predicted occupancy levels that are predicted based on upcoming sessions scheduled for different rooms. Agent 904 may be a twin function, twin functions are described with reference to U.S. Patent Application No. 17/354,436 filed June 22, 2021 and U.S. Patent Application No. 17/354,338 filed June 22, 2021. the entirety of which is incorporated herein by reference.

Der Manager 506 kann vorhergesagte Belegungsniveaus für das durch den Stockwerksknoten 616 dargestellte Stockwerk und das durch den Stockwerksknoten 622 dargestellte Stockwerk empfangen. Der Manager 506 kann ein Schema des digitalen Zwillings 608 überprüfen und identifizieren, dass ein Belegungszustand für Stockwerke nicht existiert und dass für die Stockwerke ein Belegungsniveau vorhergesagt wurde. Der Manager 506 kann basierend auf den vom Agenten 904 getroffenen Bestimmungen bestimmen, dass zu dem Schema für eine Stockwerksklasse ein Belegungszustand hinzugefügt werden sollte. Der Manager 506 kann arbeiten, um den Belegungszustand als ein Attribut für eine Stockwerksklasse hinzuzufügen, alle Stockwerksentitäten der Stockwerksklasse (z. B. der Stockwerksknoten 616 und der Stockwerksknoten 622) zu identifizieren, Knoten hinzuzufügen, um das Belegungsniveau darzustellen (z. B. den Belegungsniveauknoten 902 und den Belegungsniveauknoten 904), und die Knoten 902 und 904 mit den Knoten 616 bzw. 622 durch einen oder mehrere Ränder in Beziehung zu setzen.Manager 506 may receive predicted occupancy levels for the floor represented by floor node 616 and the floor represented by floor node 622 . The manager 506 may review a schema of the digital twin 608 and identify that an occupancy state for floors does not exist and that the floors have been predicted to have an occupancy level. The manager 506 may determine, based on the determinations made by the agent 904, that an occupancy status should be added to the schema for a floor class. Manager 506 may operate to add occupancy status as an attribute for a floor class, identify all floor entities of the floor class (e.g., floor node 616 and floor node 622), add nodes to represent occupancy level (e.g., floor occupancy level node 902 and occupancy level node 904), and relating nodes 902 and 904 to nodes 616 and 622, respectively, by one or more edges.

Die zu dem Schema des digitalen Zwillings für die Stockwerksklasse hinzugefügten Belegungsniveaus können von anderen Anwendungen verbraucht werden. Beispielsweise könnte die Kalenderanwendung 902 die Belegungsniveaudaten in dem digitalen Zwilling 900 verwenden, um zu bestimmen, welche Räume, Stockwerke, Gebäude usw. verfügbar oder gebucht sind. Das Erweitern von Zustandsdefinitionen innerhalb des Schemas des digitalen Zwillings 608 ermöglicht es dem digitalen Zwilling 608, sich an neue Softwareteile anzupassen, die gegen den digitalen Zwilling laufen, und ermöglicht Plug-and-Play-Fähigkeiten und ermöglicht das Hinzufügen und Abfragen von Zuständen zur Laufzeit, ohne dass Modelle aktualisiert, beliebige Dienste neu erstellt oder neu eingesetzt oder beliebige Datenmigrationen durchgeführt werden müssen. Wenn beispielsweise eine neue Anwendung eingesetzt wird, um mit der Gebäudedatenplattform 100 zu laufen, und mit der Ausgabe eines neuen Zustands beginnt, der derzeit nicht in dem Schema des digitalen Zwillings 608 beinhaltet ist, kann der Manager 608 identifizieren, dass die Ausgabe der Anwendung zu dem digitalen Zwilling 608 hinzugefügt werden sollte und das Schema des digitalen Zwillings 608 hinzugefügt werden sollte.The occupancy levels added to the floor class digital twin schema can be consumed by other applications. For example, the calendar application 902 could use the occupancy level data in the digital twin 900 to determine which rooms, floors, buildings, etc. are available or booked. Extending state definitions within the digital twin 608 schema allows the digital twin 608 to adapt to new pieces of software running against the digital twin and allows for plug-and-play capabilities and enables It makes it easy to add and query states at runtime without having to update models, rebuild or redeploy any services, or perform any data migrations. For example, if a new application is deployed to run with the building data platform 100 and begins issuing a new state that is not currently included in the schema of the digital twin 608, the manager 608 can identify that the application's release is too should be added to the digital twin 608 and the schema of the digital twin 608 should be added.

Unter Bezugnahme auf 10 ist nach einer beispielhaften Ausführungsform ein Prozess 1000 zum Aktualisieren des digitalen Zwillings 608 basierend auf von einem Agenten empfangenen Informationen gezeigt, wobei die Aktualisierung veranlasst, dass der digitale Zwilling neue Zustände einbezieht, die die Belegung in dem Schema des digitalen Zwillings angeben. In einigen Ausführungsformen kann der Manager 506 konfiguriert sein, um den Prozess 1000 durchzuführen. In einigen Ausführungsformen kann eine beliebige hierin beschriebene Rechenvorrichtung konfiguriert sein, um den Prozess 1000 durchzuführen.With reference to 10 Shown is a process 1000 for updating the digital twin 608 based on information received from an agent, wherein the update causes the digital twin to include new states that indicate occupancy in the digital twin's schema, according to an exemplary embodiment. In some embodiments, manager 506 may be configured to perform process 1000 . In some embodiments, any computing device described herein may be configured to perform process 1000 .

In Schritt 1002 wird die Gebäudedatenplattform 100 eingesetzt, um basierend auf einem digitalen Zwilling in einem bestimmten Schema zu arbeiten. Die Gebäudedatenplattform 100 kann eingesetzt werden, um basierend auf einem digitalen Zwilling zu arbeiten, z. B. dem digitalen Zwilling 608 und/oder einem beliebigen anderen digitalen Zwilling und/oder einer beliebigen anderen hierin beschriebenen Graphdatenstruktur. Beispielsweise können verschiedene Softwareteile und/oder Systeme (z. B. die Anwendungen 110) gegen den digitalen Zwilling laufen, z. B. Entscheidungen zur Vorrichtungssteuerung für die Gebäudeteilsysteme 122 treffen (z. B. Temperatur, Feuchtigkeit, Beleuchtung usw. steuern), Alarme bestimmen, den Energieverbrauch der Gebäudeteilsysteme 122 reduzieren usw.In step 1002, the building information platform 100 is deployed to operate in a particular schema based on a digital twin. The building information platform 100 can be deployed to operate based on a digital twin, e.g. B. the digital twin 608 and/or any other digital twin and/or any other graph data structure described herein. For example, different pieces of software and/or systems (e.g., the applications 110) can run against the digital twin, e.g. B. Making device control decisions for the building subsystems 122 (e.g., controlling temperature, humidity, lighting, etc.), determining alarms, reducing energy consumption of the building subsystems 122, etc.

In Schritt 1004 kann die Gebäudedatenplattform 100 einen Agenten ausführen, um basierend auf Informationen des digitalen Zwillings 608 zu arbeiten. In einigen Ausführungsformen kann zusätzlich zu oder anstelle des Agenten eine andere Anwendung gegen den digitalen Zwilling 608 laufen, z. B. eine Fehlererkennungsanwendung, eine Kalenderanwendung, eine Belegungsvorhersageanwendung, eine Energiesparanwendung usw. In einigen Ausführungsformen kann der Agent (und/oder die zusätzliche Anwendung) gegen Daten des digitalen Zwillings (und/oder andere Informationen der zusätzlichen Anwendung) laufen, um neue Informationen zu bestimmen.In step 1004, the building information platform 100 may execute an agent to operate based on digital twin 608 information. In some embodiments, in addition to or instead of the agent, another application may run against the digital twin 608, e.g. B. an error detection application, a calendar application, an occupancy prediction application, a power saving application, etc. In some embodiments, the agent (and / or the additional application) can run against data of the digital twin (and / or other information of the additional application) to new information determine.

In Schritt 1006 können ein oder mehrere Zustände für eine Entität einer Entitätsklasse in dem Schema des digitalen Zwillings 608 durch den Manager 506 abgeleitet werden. Der Manager 506 kann Informationen prüfen, die durch den Agenten und/oder die Anwendung bestimmt werden, um zu bestimmen, dass ein neuer Zustand zu einer Entitätsklasse für das Schema des digitalen Zwillings 608 hinzugefügt werden sollte. Beispielsweise, wenn der Agent eine Fehlerangabe, eine Belegungsangabe usw. für eine bestimmte Entität ausgibt, die derzeit nicht in dem Schema des digitalen Zwillings berücksichtigt wird, kann der Manager 506 bestimmen, einen neuen Zustandstyp zu dem Schema für die Entitätsklasse hinzuzufügen.In step 1006 , one or more states for an entity of an entity class in the digital twin schema 608 may be inferred by the manager 506 . The manager 506 may examine information determined by the agent and/or the application to determine that a new state should be added to an entity class for the digital twin schema 608 . For example, if the agent returns an error indication, occupancy indication, etc. for a particular entity that is not currently reflected in the digital twin schema, the manager 506 may determine to add a new state type to the schema for the entity class.

In Schritt 1008 kann der Manager 506 einen oder mehrere Zustände zu Entitäten der Entitätsklasse in dem digitalen Zwilling hinzufügen und somit das Schema des digitalen Zwillings 608 erweitern, während das Gebäudesystem eingesetzt wird, um basierend auf dem digitalen Zwilling zu arbeiten. Der Manager 506 kann die Zustände als Knoten zu dem digitalen Zwilling 608 hinzufügen, mit Rändern zwischen den Zustandsknoten und den Knoten, die Entitäten darstellen. Der Manager 506 kann den digitalen Zwilling 608 nach jeder Entität der Entitätsklasse durchsuchen und den neuen Zustand zu jeder Entität der Entitätsklasse hinzufügen. In Schritt 1010 können eine oder mehrere Operationen basierend auf dem einen oder den mehreren neuen Zuständen des digitalen Zwillings 608 durchgeführt werden. Die eine oder die mehreren Operationen können die neuen Zustände des digitalen Zwillings 608 verbrauchen und basierend auf den neuen Zuständen operative Entscheidungen treffen. Beispielsweise könnten die vorhergesagten Belegungszustände verwendet werden, um geeignete Temperatur- und/oder Feuchtigkeitssteuerungsvorgänge der Gebäudeteilsysteme 122 zu bestimmen. Ebenso könnten Fehlerzustände der Gebäudeteilsysteme 122 von einem Wartungssystem verwendet werden, um eine Wartung für die Gebäudeteilsysteme 122 zu planen.In step 1008, the manager 506 may add one or more states to entities of the entity class in the digital twin, thereby extending the schema of the digital twin 608 while deploying the building system to operate based on the digital twin. The manager 506 can add the states as nodes to the digital twin 608 with borders between the state nodes and the nodes representing entities. The manager 506 can search the digital twin 608 for any entity of the entity class and add the new state to any entity of the entity class. At step 1010, one or more operations may be performed based on the one or more new states of the digital twin 608. The one or more operations may consume the new states of the digital twin 608 and make operational decisions based on the new states. For example, the predicted occupancy conditions could be used to determine appropriate temperature and/or humidity control operations of the building subsystems 122 . Likewise, failure states of the building subsystems 122 could be used by a maintenance system to schedule maintenance for the building subsystems 122 .

Konfiguration beispielhafter AusführungsformenConfiguration of Example Embodiments

Der Aufbau und die Anordnung der Systeme und Verfahren, wie sie in den verschiedenen beispielhaften Ausführungsformen gezeigt sind, dienen nur der Veranschaulichung. Obwohl nur einige Ausführungsformen in dieser Offenbarung detailliert beschrieben wurden, sind viele Modifikationen möglich (z. B. Variationen in Größen, Abmessungen, Strukturen, Formen und Proportionen der verschiedenen Elemente, Werte von Parametern, Montageanordnungen, Verwendung von Materialien, Farben, Ausrichtung usw.). Beispielsweise kann die Position von Elementen umgekehrt oder anderweitig variiert werden und die Art oder Anzahl von diskreten Elementen oder Positionen kann geändert oder variiert werden. Dementsprechend sollen alle diese Modifikationen in den Umfang der vorliegenden Offenbarung eingeschlossen sein. Die Reihenfolge oder Abfolge beliebiger Prozess- oder Verfahrensschritte kann nach alternativen Ausführungsformen variiert oder neu geordnet werden. Andere Substitutionen, Modifikationen, Änderungen und Weglassungen können in der Konstruktion, den Betriebsbedingungen und der Anordnung der beispielhaften Ausführungsformen vorgenommen werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.The structure and arrangement of the systems and methods shown in the various exemplary embodiments are for illustration only. Although only some embodiments have been described in detail in this disclosure, many modifications are possible (eg, variations in sizes, dimensions, structures, shapes, and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientation, etc.). For example, the position of elements can be reversed or otherwise varied, and the type or number of discrete elements or positions can be changed or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or rearranged according to alternative embodiments. Other substitutions, modifications, changes, and omissions can be made in the construction, operating conditions, and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.

Die vorliegende Offenbarung betrachtet Verfahren, Systeme und Programmprodukte auf beliebigen maschinenlesbaren Medien zum Bewerkstelligen verschiedener Operationen. Die Ausführungsformen der vorliegenden Offenbarung können unter Verwendung vorhandener Computerprozessoren oder durch einen speziellen Computerprozessor für ein geeignetes System, das für diesen oder einen anderen Zweck eingebaut wird, oder durch ein festverdrahtetes System implementiert werden. Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung beinhalten Programmprodukte, die maschinenlesbare Medien zum Tragen oder Aufweisen von darauf gespeicherten maschinenausführbaren Anweisungen oder Datenstrukturen umfassen. Solche maschinenlesbaren Medien können alle verfügbaren Medien sein, auf die von einem Universal- oder Spezialcomputer oder einer anderen Maschine mit einem Prozessor zugegriffen werden kann. Beispielsweise können solche maschinenlesbaren Medien RAM, ROM, EPROM, EEPROM, CD-ROM oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium umfassen, das zum Tragen oder Speichern von gewünschtem Programmcode in Form von maschinenausführbaren Anweisungen oder Datenstrukturen verwendet werden kann und auf die von einem Universal- oder Spezialcomputer oder einer anderen Maschine mit einem Prozessor zugegriffen werden kann. Wenn Informationen über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder fest verdrahtet, drahtlos oder eine Kombination aus fest verdrahtet oder drahtlos) an eine Maschine übertragen oder bereitgestellt werden, betrachtet die Maschine die Verbindung ordnungsgemäß als ein maschinenlesbares Medium. Daher wird jede solche Verbindung ordnungsgemäß als ein maschinenlesbares Medium bezeichnet. Kombinationen des vorstehend genannten sind ebenfalls im Umfang der maschinenlesbaren Medien beinhaltet. Maschinenausführbare Anweisungen beinhalten beispielsweise Anweisungen und Daten, die einen Universalcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsmaschine veranlassen, eine bestimmte Funktion oder eine Gruppe von Funktionen durchzuführen.The present disclosure contemplates methods, systems, and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a dedicated computer processor for an appropriate system built in for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine having a processor. For example, such machine-readable media may include RAM, ROM, EPROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transmitted or made available to a machine over a network or other communications link (either hardwired, wireless, or a combination of hardwired and wireless), the machine properly considers the connection to be a machine-readable medium. Therefore, any such connection is properly termed a machine-readable medium. Combinations of the foregoing are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data that cause a general purpose computer, special purpose computer, or special purpose processing machine to perform a particular function or group of functions.

Obwohl die Figuren eine bestimmte Reihenfolge von Verfahrensschritten zeigen, kann die Reihenfolge der Schritte von dem dargestellten abweichen. Es können auch zwei oder mehr Schritte gleichzeitig oder teilweise gleichzeitig durchgeführt werden. Eine solche Variation hängt von den gewählten Software- und Hardwaresystemen und von der Wahl des Designers ab. Alle diese Variationen liegen innerhalb des Umfangs der Offenbarung. Ebenso könnten Software-Implementierungen mit Standard-Programmiertechniken mit regelbasierter Logik und anderer Logik durchgeführt werden, um die verschiedenen Verbindungsschritte, Verarbeitungsschritte, Vergleichsschritte und Entscheidungsschritte durchzuführen.Although the figures show a specific order of method steps, the order of steps may differ from that illustrated. Two or more steps can also be carried out simultaneously or partially simultaneously. Such a variation depends on the chosen software and hardware systems and on the choice of the designer. All of these variations are within the scope of the disclosure. Likewise, software implementations could be made using standard programming techniques with rule-based logic and other logic to perform the various connection steps, processing steps, comparison steps, and decision steps.

In verschiedenen Implementierungen können die hierin beschriebenen Schritte und Operationen auf einem Prozessor oder in einer Kombination von zwei oder mehr Prozessoren durchgeführt werden. Beispielsweise könnten in einigen Implementierungen die verschiedenen Operationen in einem zentralen Server oder einer Gruppe von zentralen Servern durchgeführt werden, die konfiguriert sind, um Daten von einer oder mehreren Vorrichtungen (z. B. Randrechenvorrichtungen/Steuerungen) zu empfangen und die Operationen durchzuführen. In einigen Implementierungen können die Operationen von einem oder mehreren lokalen Steuerungen oder Rechenvorrichtungen (z. B. Randvorrichtungen) durchgeführt werden, wie etwa Steuerungen, die einem bestimmten Gebäude oder Gebäudeteil zugeordnet sind und/oder darin angeordnet sind. In einigen Implementierungen können die Operationen durch eine Kombination aus einem oder mehreren zentralen oder externen Rechenvorrichtungen/Servern und einem oder mehreren lokalen Steuerungen/Rechenvorrichtungen durchgeführt werden. Alle diese Implementierungen werden im Rahmen der vorliegenden Offenbarung in Betracht gezogen. Wenn sich die vorliegende Offenbarung auf ein oder mehrere computerlesbare Speichermedien und/oder eine oder mehrere Steuerungen bezieht, können weiter, sofern nicht anders angegeben, solche computerlesbaren Speichermedien und/oder ein oder mehrere Steuerungen als ein oder mehrere zentrale Server, ein oder mehrere lokale Steuerungen oder Rechenvorrichtungen (z. B. Randvorrichtungen), jede Kombination davon oder jede andere Kombination von Speichermedien und/oder Steuerungen, unabhängig vom Standort solcher Vorrichtungen, implementiert sein.In various implementations, the steps and operations described herein may be performed on one processor or in a combination of two or more processors. For example, in some implementations, the various operations could be performed at a central server or group of central servers configured to receive data from one or more devices (e.g., edge computing devices/controllers) and perform the operations. In some implementations, the operations may be performed by one or more local controllers or computing devices (e.g., edge devices), such as controllers associated with and/or located within a particular building or portion of a building. In some implementations, the operations may be performed by a combination of one or more central or external computing devices/servers and one or more local controllers/computing devices. All of these implementations are contemplated within the scope of the present disclosure. When the present disclosure relates to one or more computer-readable storage media and/or one or more controllers, unless otherwise noted, such computer-readable storage media and/or one or more controllers may further be one or more central servers, one or more local controllers or computing devices (e.g., edge devices), any combination thereof, or any other combination of storage media and/or controllers, regardless of the location of such devices.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 17136752 B [0050]US 17136752B [0050]
  • US 17136768 B [0050]US 17136768 B [0050]
  • US 17136785 B [0050]US 17136785B [0050]
  • US 17134661 B [0052]US 17134661B [0052]
  • US 17134664 [0052]US17134664 [0052]
  • US 17134671 B [0052]US 17134671B [0052]
  • US 17134659 B [0052]US 17134659B [0052]
  • US 17134973 B [0052]US 17134973B [0052]
  • US 17134999 B [0052]US 17134999 B [0052]
  • US 17135023 B [0052]US 17135023B [0052]
  • US 17134691 B [0052]US 17134691B [0052]
  • US 17135056 B [0052]US 17135056B [0052]
  • US 17135009 B [0052]US 17135009 B [0052]
  • US 62951891 B [0060]US62951891B [0060]

Zitierte Nicht-PatentliteraturNon-patent Literature Cited

  • Brick: Towards a Unified Metadata Schema For Buildings von Balaji [0047]Brick: Towards a Unified Metadata Schema For Buildings by Balaji [0047]

Claims (36)

Gebäudesystem, umfassend eine oder mehrere Speichervorrichtungen, die Anweisungen darauf umfassen, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen: - eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten, wobei der digitale Zwilling Darstellungen einer Vielzahl von Entitäten des Gebäudes und Beziehungen zwischen der Vielzahl von Entitäten umfasst; - ein Schema des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas zu aktualisieren; - basierend auf dem Schema, ein oder mehrere Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse durch eine oder mehrere Beziehungen in Beziehung stehen; und - eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Knoten, die den Zustand darstellen, durchzuführen.A building system comprising one or more storage devices having instructions thereon that when executed by one or more processors cause the one or more processors to: - perform one or more first operations based on a digital twin of a building to derive a state for an entity of the digital twin, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities; - update a schema of the digital twin by adding a state type of the state to an entity class of the schema; - based on the schema, add one or more data items representing the state to the digital twin, the one or more data items being related to an entity of the entity class by one or more relationships; and - perform one or more second operations based on the one or more nodes representing the state. Gebäudesystem nach Anspruch 1, wobei die Vielzahl von Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis beinhalten, wobei das Schema Entitätsklassen für Entitätstypen der Vielzahl von Entitäten definiert.building system claim 1 , wherein the plurality of entities include at least one of a person, point, location, or event, the schema defining entity classes for entity types of the plurality of entities. Gebäudesystem nach Anspruch 1 oder 2, wobei die Vielzahl von Entitäten Instanzen von Entitätsklassen sind, die durch das Schema definiert sind.building system claim 1 or 2 , where the plurality of entities are instances of entity classes defined by the schema. Gebäudesystem nach einem der Ansprüche 1 bis 3, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, das Schema des digitalen Zwillings zu aktualisieren, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.Building system according to one of the Claims 1 until 3 , wherein the instructions cause the one or more processors to update the schema of the digital twin while the digital twin is being deployed without having to re-deploy the digital twin. Gebäudesystem nach einem der Ansprüche 1 bis 4, wobei das Schema eine Vielzahl von Entitätsklassen definiert, wobei die Vielzahl von Entitätsklassen Eigenschaften, Tags und Zustände für die Vielzahl von Entitätsklassen angeben.Building system according to one of the Claims 1 until 4 , the schema defining a plurality of entity classes, the plurality of entity classes specifying properties, tags, and states for the plurality of entity classes. Gebäudesystem nach einem der Ansprüche 1 bis 5, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, die eine oder die mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes und externen Daten, die von einem externen System gesammelt werden, durchzuführen, wobei der Zustand von den externen Daten für die Entität des digitalen Zwillings abgeleitet wird.Building system according to one of the Claims 1 until 5 , wherein the instructions cause the one or more processors to perform the one or more first operations based on the digital twin of the building and external data collected from an external system, the state of the external data for the entity of the digital twin is derived. Gebäudesystem nach einem der Ansprüche 1 bis 6, wobei eine Anwendung zu arbeiten beginnt, um die eine oder die mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes durchzuführen, um den Zustand für die Entität abzuleiten, nachdem der digitale Zwilling eingesetzt wurde und bevor das Schema des digitalen Zwillings aktualisiert wird, und wobei die Anweisungen vorzugsweise konfiguriert sind, um: - eine Ausgabe von der Anwendung zu empfangen, die sich aus der einen oder den mehreren ersten Operationen ergibt, wobei die Ausgabe den Zustand angibt; - das Schema des digitalen Zwillings zu durchsuchen, um zu bestimmen, ob das Schema den Zustandstyp beinhaltet, der durch die Ausgabe von der einen oder den mehreren ersten Operationen angegeben wird; und - das Schema des digitalen Zwillings durch Hinzufügen des Zustandstyps des Zustands zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass das Schema den Zustandstyp nicht beinhaltet.Building system according to one of the Claims 1 until 6 , wherein an application begins operating to perform the one or more initial operations based on the digital twin of the building to infer state for the entity after the digital twin is deployed and before the digital twin schema is updated, and preferably wherein the instructions are configured to: - receive an output from the application resulting from the one or more first operations, the output indicating the state; - search the schema of the digital twin to determine whether the schema includes the state type indicated by the output from the one or more first operations; and - update the schema of the digital twin by adding the state type of the state to the entity class of the schema in response to identifying that the schema does not include the state type. Gebäudesystem nach einem der Ansprüche 1 bis 7, wobei der Zustand eine Bedingung definiert, die mit der Entität verbunden ist, wobei der Zustand vorzugsweise zumindest einer von einem Fehlerzustand eines Ausrüstungsteils des Gebäudes oder einem Belegungsniveau eines Raums des Gebäudes ist.Building system according to one of the Claims 1 until 7 wherein the state defines a condition associated with the entity, the state preferably being at least one of a fault state of a piece of equipment of the building or an occupancy level of a room of the building. Gebäudesystem nach einem der Ansprüche 1 bis 8, wobei der digitale Zwilling eine Vielzahl von Knoten und eine Vielzahl von Rändern zwischen der Vielzahl von Knoten beinhaltet, wobei die Vielzahl von Knoten die Vielzahl von Entitäten des Gebäudes darstellen und die Vielzahl von Rändern die Beziehungen zwischen der Vielzahl von Entitäten angeben; wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, basierend auf dem Schema, einen oder mehrere Knoten, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten durch eine oder mehrere Beziehungen mit der Entität der Entitätsklasse in Beziehung stehen.Building system according to one of the Claims 1 until 8th , wherein the digital twin includes a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating relationships between the plurality of entities; wherein the instructions cause the one or more processors to add, based on the schema, one or more nodes representing the state to the digital twin, the one or more nodes being defined by one or more relationships with the entity of the entity class in relationship. Gebäudesystem nach Anspruch 9, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen: - eine Angabe zum Hinzufügen des Zustands zu der Entität zu empfangen; - die Entitätsklasse der Entität basierend auf dem Schema zu identifizieren; - das Schema des digitalen Zwillings durch Hinzufügen des Zustandtyps zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass eine Klasse der Entität die Entitätsklasse ist; und - basierend auf dem Schema, den einen oder die mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten mit einem zweiten Knoten in Beziehung stehen, der eine zweite Entität der Entitätsklasse darstellt, wobei die Entität sich von der zweiten Entität unterscheidet.building system claim 9 , the instructions causing the one or more processors to: - receive an indication to add the state to the entity; - identify the entity class of the entity based on the schema; - update the schema of the digital twin by adding the state type to the entity class of the schema in response to identifying that a class of the entity is the entity class; and - based on the schema, adding the one or more nodes representing the state to the digital twin, the one or more nodes being related to a second node representing a second entity of the entity class, wherein the entity is different from the second entity. Gebäudesystem nach einem der Ansprüche 1 bis 10, weiter umfassend: - den einen oder die mehreren Prozessoren, die konfiguriert sind, um die Anweisungen auszuführen.Building system according to one of the Claims 1 until 10 , further comprising: - the one or more processors configured to execute the instructions. Verfahren, umfassend: - Durchführen einer oder mehrerer erster Operationen basierend auf einem digitalen Zwilling eines Gebäudes durch eine oder mehrere Verarbeitungsschaltungen, um einen Zustand für eine Entität des digitalen Zwillings abzuleiten, wobei der digitale Zwilling Darstellungen einer Vielzahl von Entitäten des Gebäudes und Beziehungen zwischen der Vielzahl von Entitäten umfasst; - Aktualisieren eines Schemas des digitalen Zwillings durch Hinzufügen eines Zustandstyps des Zustands zu einer Entitätsklasse des Schemas durch eine oder mehrere Verarbeitungsschaltungen; - Hinzufügen, durch eine oder mehrere Verarbeitungsschaltungen basierend auf dem Schema, eines oder mehrerer Datenelemente, die den Zustand darstellen, zu dem digitalen Zwilling, wobei das eine oder die mehreren Datenelemente durch eine oder mehrere Beziehungen mit der Entität der Entitätsklasse in Beziehung stehen; und - Durchführen, durch eine oder mehrere Verarbeitungsschaltungen, einer oder mehrerer zweiter Operationen basierend auf dem einen oder den mehreren Datenelementen, die den Zustand darstellen.Method comprising: - performing one or more first operations based on a digital twin of a building by one or more processing circuits to derive a state for an entity of the digital twin, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities ; - updating a schema of the digital twin by adding a state type of the state to an entity class of the schema by one or more processing circuits; - adding, by one or more processing circuits based on the schema, to the digital twin one or more data items representing the state, the one or more data items being related to the entity of the entity class by one or more relationships; and - performing, by one or more processing circuits, one or more second operations based on the one or more data items representing the state. Verfahren nach Anspruch 12, wobei die Vielzahl von Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis beinhalten, wobei das Schema Entitätsklassen für Entitätstypen der Vielzahl von Entitäten definiert; wobei die Vielzahl von Entitäten Instanzen von Entitätsklassen sind, die durch das Schema definiert werden.procedure after claim 12 wherein the plurality of entities include at least one of a person, point, location, or event, wherein the schema defines entity classes for entity types of the plurality of entities; wherein the plurality of entities are instances of entity classes defined by the schema. Verfahren nach Anspruch 12 oder 13, weiter umfassend ein Aktualisieren des Schemas des digitalen Zwillings durch eine oder mehrere Verarbeitungsschaltungen, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.procedure after claim 12 or 13 , further comprising updating the schema of the digital twin by one or more processing circuits while the digital twin is being deployed without having to re-deploy the digital twin. Verfahren nach einem der Ansprüche 12 bis 14, wobei das Schema eine Vielzahl von Entitätsklassen definiert, wobei die Vielzahl von Entitätsklassen Eigenschaften, Tags und Zustände für die Vielzahl von Entitätsklassen angeben.Procedure according to one of Claims 12 until 14 , the schema defining a plurality of entity classes, the plurality of entity classes specifying properties, tags, and states for the plurality of entity classes. Verfahren nach einem der Ansprüche 12 bis 15, weiter umfassend ein Durchführen der einen oder der mehreren ersten Operationen basierend auf dem digitalen Zwilling des Gebäudes und externen Daten, die von einem externen System gesammelt werden, durch eine oder mehrere Verarbeitungsschaltungen, wobei der Zustand von den externen Daten für die Entität des digitalen Zwillings abgeleitet wird.Procedure according to one of Claims 12 until 15 , further comprising performing, by one or more processing circuitry, the one or more first operations based on the digital twin of the building and external data collected from an external system, wherein the state of the external data for the entity of the digital twin is derived. Verfahren nach einem der Ansprüche 12 bis 16, wobei der digitale Zwilling eine Vielzahl von Knoten und eine Vielzahl von Rändern zwischen der Vielzahl von Knoten umfasst, wobei die Vielzahl von Knoten die Vielzahl von Entitäten des Gebäudes darstellen und die Vielzahl von Rändern die Beziehungen zwischen der Vielzahl von Entitäten angeben; wobei das Verfahren weiter ein Hinzufügen, durch eine oder mehrere Verarbeitungsschaltungen basierend auf dem Schema, von einem oder mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling umfasst, wobei der eine oder die mehreren Knoten durch eine oder mehrere Beziehungen mit der Entität der Entitätsklasse in Beziehung stehen.Procedure according to one of Claims 12 until 16 , wherein the digital twin comprises a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating the relationships between the plurality of entities; the method further comprising adding, by one or more processing circuits based on the schema, one or more nodes representing the state to the digital twin, the one or more nodes having one or more relationships with the entity of the entity class related. Verfahren nach Anspruch 17, weiter umfassend: - Empfangen, durch eine oder mehrere Verarbeitungsschaltungen, einer Angabe zum Hinzufügen des Zustands zu der Entität; - Identifizieren, durch eine oder mehrere Verarbeitungsschaltungen, der Entitätsklasse der Entität basierend auf dem Schema; - Aktualisieren, durch eine oder mehrere Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen des Zustandstyps zu der Entitätsklasse des Schemas, als Reaktion auf das Identifizieren, dass eine Klasse der Entität die Entitätsklasse ist; und - Hinzufügen, durch eine oder mehrere Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die den Zustand darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit einem zweiten Knoten in Beziehung stehen, der eine zweite Entität der Entitätsklasse darstellt, wobei die Entität sich von der zweiten Entität unterscheidet.procedure after Claim 17 , further comprising: - receiving, by one or more processing circuits, an indication to add the state to the entity; - identifying, by one or more processing circuits, the entity class of the entity based on the schema; - updating, by one or more processing circuits, the schema of the digital twin by adding the state type to the entity class of the schema in response to identifying that a class of the entity is the entity class; and - adding, by one or more processing circuits based on the schema, the one or more nodes representing the state to the digital twin, the one or more nodes being related to a second node representing a second entity of the entity class, where the entity is different from the second entity. Gebäudesystem, umfassend eine oder mehrere Speichervorrichtungen, die Anweisungen darauf umfassen, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen: - eine oder mehrere erste Operationen basierend auf einem digitalen Zwilling eines Gebäudes durchzuführen, wobei der digitale Zwilling Darstellungen einer Vielzahl von Entitäten des Gebäudes und Beziehungen zwischen der Vielzahl von Entitäten umfasst; - ein Schema des digitalen Zwillings durch Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse des Schemas zu aktualisieren; - basierend auf dem Schema, ein oder mehrere Datenelemente, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, wobei die Vielzahl von Entitäten die Entität beinhalten; und - eine oder mehrere zweite Operationen basierend auf dem einen oder den mehreren Datenelementen, die die Eigenschaft oder das Tag darstellen, durchzuführen.A building system comprising one or more storage devices having instructions thereon that when executed by one or more processors cause the one or more processors to: - perform one or more first operations based on a digital twin of a building, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities; - update a digital twin schema by adding a property or tag to an entity class of the schema; - based on the schema, add one or more data items representing the property or tag to the digital twin, the one or more data items being related to an entity of the entity class, the plurality of entities including the entity; and - perform one or more second operations based on the one or more data items representing the property or tag. Gebäudesystem nach Anspruch 19, wobei die Vielzahl von Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einen Ereignis beinhalten, wobei das Schema Entitätsklassen für Entitätstypen der Vielzahl von Entitäten definiert.building system claim 19 , wherein the plurality of entities includes at least one of a person, point, location, or event, the schema defining entity classes for entity types of the plurality of entities. Gebäudesystem nach Anspruch 19 oder 20, wobei die Vielzahl von Entitäten Instanzen von Entitätsklassen sind, die durch das Schema definiert sind, und/oder wobei die Eigenschaft oder das Tag ein Merkmal der Entität definiert.building system claim 19 or 20 , wherein the plurality of entities are instances of entity classes defined by the schema and/or wherein the property or tag defines a characteristic of the entity. Gebäudesystem nach einem der Ansprüche 19 bis 21, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, das Schema des digitalen Zwillings zu aktualisieren, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.Building system according to one of the claims 19 until 21 , wherein the instructions cause the one or more processors to update the schema of the digital twin while the digital twin is being deployed without having to re-deploy the digital twin. Gebäudesystem nach einem der Ansprüche 19 bis 22, wobei das Schema eine Vielzahl von Entitätsklassen definiert, wobei die Vielzahl von Entitätsklassen Eigenschaften, Tags und Zustände für die Vielzahl von Entitätsklassen angeben, und/oder wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen: - eine Benutzereingabe von einer Benutzervorrichtung zu empfangen, wobei die Benutzereingabe die Eigenschaft oder das Tag definiert, das der Entitätsklasse des Schemas hinzugefügt werden soll; und - als Reaktion auf den Empfang der Benutzereingabe, das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas basierend auf der Benutzereingabe hinzuzufügen.Building system according to one of the claims 19 until 22 , wherein the schema defines a plurality of entity classes, wherein the plurality of entity classes specify properties, tags and states for the plurality of entity classes, and/or wherein the instructions cause the one or more processors to: - receive user input from a user device, where the user input defines the property or tag to be added to the schema's entity class; and - in response to receiving the user input, adding the schema of the digital twin by adding the property or tag to the entity class of the schema based on the user input. Gebäudesystem nach einem der Ansprüche 19 bis 23, wobei der digitale Zwilling eine Vielzahl von Knoten und eine Vielzahl von Rändern zwischen der Vielzahl von Knoten beinhaltet, wobei die Vielzahl von Knoten die Vielzahl von Entitäten des Gebäudes darstellen und die Vielzahl von Rändern die Beziehungen zwischen der Vielzahl von Entitäten angeben; wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, basierend auf dem Schema, einen oder mehrere Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten mit einem Knoten in Beziehung stehen, der die Entität der Entitätsklasse durch einen oder mehrere Ränder darstellt.Building system according to one of the claims 19 until 23 , wherein the digital twin includes a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating relationships between the plurality of entities; wherein the instructions cause the one or more processors to add, based on the schema, one or more nodes representing the property or tag to the digital twin, the one or more nodes being related to a node that represents the entity of the entity class by one or more borders. Gebäudesystem nach Anspruch 24, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen: - eine Vielzahl von Entitätsknoten, die Entitäten in der Entitätsklasse angeben, zu identifizieren; und - basierend auf dem Schema, den einen oder die mehreren Knoten, die die Eigenschaft oder das Tag darstellen, für jeden von der Vielzahl von Entitätsknoten zu dem digitalen Zwilling hinzuzufügen, wobei der eine oder die mehreren Knoten mit der Vielzahl von Entitätsknoten in Beziehung stehen.building system Claim 24 , wherein the instructions cause the one or more processors to: - identify a plurality of entity nodes specifying entities in the entity class; and - based on the schema, adding the one or more nodes representing the property or tag to the digital twin for each of the plurality of entity nodes, the one or more nodes being related to the plurality of entity nodes . Gebäudesystem nach Anspruch 24 oder 25, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen: - eine Angabe zum Hinzufügen der Eigenschaft oder des Tags zu einer ersten Entität zu empfangen; - die Entitätsklasse der ersten Entität basierend auf dem Schema zu identifizieren; - das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf das Identifizieren, dass eine Klasse der ersten Entität die Entitätsklasse ist; und - den einen oder die mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling basierend auf dem Schema hinzuzufügen, wobei der eine oder die mehreren Knoten mit dem Knoten in Beziehung stehen, der die Entität der Entitätsklasse darstellt, wobei die Entität eine zweiten Entität ist, die sich von der ersten Entität unterscheidet.building system Claim 24 or 25 , wherein the instructions cause the one or more processors to: - receive an indication to add the property or tag to a first entity; - identify the entity class of the first entity based on the schema; - update the schema of the digital twin by adding the property or tag to the entity class of the schema in response to identifying that a class of the first entity is the entity class; and - add the one or more nodes representing the property or tag to the digital twin based on the schema, the one or more nodes being related to the node representing the entity of the entity class, wherein the entity is a second entity that is different from the first entity. Gebäudesystem nach einem der Ansprüche 24 bis 26, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen: - eine Aktualisierung an einem oder mehreren bestimmten Knoten oder einem oder mehreren bestimmten Rändern des digitalen Zwillings zu identifizieren, wobei die Aktualisierung Änderungen angibt, die die Entität beeinflussen; - zu bestimmen, dass die Aktualisierung eine Änderung an einem oder mehreren Merkmalen der Entität angibt; und - das Schema des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas zu aktualisieren, als Reaktion auf die Bestimmung, dass die Aktualisierung die Änderung an dem einen oder den mehreren Merkmalen der Entität angibt.Building system according to one of the claims 24 until 26 , wherein the instructions cause the one or more processors to: - identify an update at one or more particular nodes or one or more particular edges of the digital twin, the update indicating changes affecting the entity; - determine that the update indicates a change to one or more characteristics of the entity; and - update the schema of the digital twin by adding the property or tag to the entity class of the schema in response to determining that the update reflects the change to the one or more characteristics of the entity. Gebäudesystem nach einem der Ansprüche 19 bis 27, weiter umfassend: - den einen oder die mehreren Prozessoren, die konfiguriert sind, um die Anweisungen auszuführen.Building system according to one of the claims 19 until 27 , further comprising: - the one or more processors configured to execute the instructions. Verfahren, umfassend: - Durchführen einer oder mehrerer erster Operationen basierend auf einem digitalen Zwilling eines Gebäudes durch eine oder mehrere Verarbeitungsschaltungen, wobei der digitale Zwilling Darstellungen einer Vielzahl von Entitäten des Gebäudes und Beziehungen zwischen der Vielzahl von Entitäten umfasst; - Aktualisieren eines Schemas des digitalen Zwillings durch Hinzufügen einer Eigenschaft oder eines Tags zu einer Entitätsklasse des Schemas durch die eine oder die mehreren Verarbeitungsschaltungen; - Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, eines oder mehrerer Datenelemente, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling, wobei das eine oder die mehreren Datenelemente mit einer Entität der Entitätsklasse in Beziehung stehen, wobei die Vielzahl von Entitäten die Entität beinhalten; und - Durchführen, durch die eine oder die mehreren Verarbeitungsschaltungen, einer oder mehrerer zweiter Operationen basierend auf dem einen oder den mehreren Datenelementen, die die Eigenschaft oder das Tag darstellen.Method comprising: - performing, by one or more processing circuits, one or more first operations based on a digital twin of a building, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities; - updating, by the one or more processing circuits, a schema of the digital twin by adding a property or tag to an entity class of the schema; - adding, by the one or more processing circuits based on the schema, one or more data items representing the property or tag to the digital twin, the one or more data items being related to an entity of the entity class, wherein the plurality of entities including the entity; and - performing, by the one or more processing circuits, one or more second operations based on the one or more data items representing the property or tag. Verfahren nach Anspruch 29, wobei die Vielzahl von Entitäten zumindest eines von einer Person, einem Punkt, einem Standort oder einem Ereignis beinhalten, wobei das Schema Entitätsklassen für Entitätstypen der Vielzahl von Entitäten definiert.procedure after claim 29 , wherein the plurality of entities include at least one of a person, point, location, or event, the schema defining entity classes for entity types of the plurality of entities. Verfahren nach Anspruch 29 oder 30, wobei die Eigenschaft oder das Tag ein Merkmal der Entität definiert.procedure after claim 29 or 30 , where the property or tag defines a characteristic of the entity. Verfahren nach einem der Ansprüche 29 bis 31, wobei ein Aktualisieren des Schemas des digitalen Zwillings durch die eine oder die mehreren Verarbeitungsschaltungen, während der digitale Zwilling eingesetzt wird, ohne dass der digitale Zwilling neu eingesetzt werden muss.Procedure according to one of claims 29 until 31 wherein the one or more processing circuits update the schema of the digital twin while the digital twin is being deployed without having to re-deploy the digital twin. Verfahren nach einem der Ansprüche 29 bis 32, wobei das Schema eine Vielzahl von Entitätsklassen definiert, wobei die Vielzahl von Entitätsklassen Eigenschaften, Tags und Zustände für die Vielzahl von Entitätsklassen angeben.Procedure according to one of claims 29 until 32 , the schema defining a plurality of entity classes, the plurality of entity classes specifying properties, tags, and states for the plurality of entity classes. Verfahren nach einem der Ansprüche 29 bis 33, wobei der digitale Zwilling eine Vielzahl von Knoten und eine Vielzahl von Rändern zwischen der Vielzahl von Knoten beinhaltet, wobei die Vielzahl von Knoten die Vielzahl von Entitäten des Gebäudes darstellen und die Vielzahl von Rändern die Beziehungen zwischen der Vielzahl von Entitäten angeben; wobei das Verfahren weiter ein Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, von einem oder mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling beinhaltet, wobei der eine oder die mehreren Knoten mit einem Knoten in Beziehung stehen, der die Entität der Entitätsklasse durch einen oder mehrere Ränder darstellt.Procedure according to one of claims 29 until 33 , wherein the digital twin includes a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating relationships between the plurality of entities; the method further comprising adding, by the one or more processing circuits based on the schema, one or more nodes representing the property or tag to the digital twin, the one or more nodes having a node in relationship that represents the entity of the entity class by one or more borders. Verfahren nach Anspruch 34, weiter umfassend: - Identifizieren, durch die eine oder die mehreren Verarbeitungsschaltungen, von Entitätsknoten, die Entitäten in der Entitätsklasse angeben, und - ein Hinzufügen, durch die eine oder mehreren Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die die Eigenschaft oder das Tag darstellen, für jeden von der Vielzahl von Entitätsknoten zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit der Vielzahl von Entitätsknoten in Beziehung stehen.procedure after Claim 34 , further comprising: - identifying, by the one or more processing circuits, entity nodes specifying entities in the entity class, and - adding, by the one or more processing circuits based on the schema, the one or more nodes specifying the represent a property or tag for each of the plurality of entity nodes to the digital twin, the one or more nodes being related to the plurality of entity nodes. Verfahren nach Anspruch 34 oder 35, weiter umfassend: - Empfangen, durch die eine oder die mehreren Verarbeitungsschaltungen, einer Angabe zum Hinzufügen der Eigenschaft oder des Tags zu einer ersten Entität; - Identifizieren, durch die eine oder die mehreren Verarbeitungsschaltungen, der Entitätsklasse der ersten Entität basierend auf dem Schema; - Aktualisieren, durch die eine oder die mehreren Verarbeitungsschaltungen, des Schemas des digitalen Zwillings durch Hinzufügen der Eigenschaft oder des Tags zu der Entitätsklasse des Schemas als Reaktion auf das Identifizieren, dass eine Klasse der ersten Entität die Entitätsklasse ist; und - Hinzufügen, durch die eine oder die mehreren Verarbeitungsschaltungen basierend auf dem Schema, des einen oder der mehreren Knoten, die die Eigenschaft oder das Tag darstellen, zu dem digitalen Zwilling, wobei der eine oder die mehreren Knoten mit dem Knoten in Beziehung stehen, der die Entität der Entitätsklasse darstellt, wobei die Entität eine zweite Entität ist, die sich von der ersten Entität unterscheidet.procedure after Claim 34 or 35 , further comprising: - receiving, by the one or more processing circuits, an indication to add the property or tag to a first entity; - identifying, by the one or more processing circuits, the entity class of the first entity based on the schema; - updating, by the one or more processing circuits, the schema of the digital twin by adding the property or tag to the entity class of the schema in response to identifying that a class of the first entity is the entity class; and - adding, by the one or more processing circuits based on the schema, the one or more nodes representing the property or tag to the digital twin, the one or more nodes being related to the node, representing the entity of the entity class, where the entity is a second entity distinct from the first entity.
DE102022129829.9A 2021-11-16 2022-11-11 BUILDING DATA PLATFORM WITH SCHEME EXTENSIBILITIES FOR DIGITAL TWIN STATES, PROPERTIES AND TAGS Pending DE102022129829A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/528,026 2021-11-16
US17/528,038 US20230152765A1 (en) 2021-11-16 2021-11-16 Building data platform with schema extensibility for states of a digital twin
US17/528,026 US11796974B2 (en) 2021-11-16 2021-11-16 Building data platform with schema extensibility for properties and tags of a digital twin
US17/528,038 2021-11-16

Publications (1)

Publication Number Publication Date
DE102022129829A1 true DE102022129829A1 (en) 2023-05-17

Family

ID=86144436

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022129829.9A Pending DE102022129829A1 (en) 2021-11-16 2022-11-11 BUILDING DATA PLATFORM WITH SCHEME EXTENSIBILITIES FOR DIGITAL TWIN STATES, PROPERTIES AND TAGS

Country Status (1)

Country Link
DE (1) DE102022129829A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Brick: Towards a Unified Metadata Schema For Buildings von Balaji

Similar Documents

Publication Publication Date Title
US11777759B2 (en) Building data platform with graph based permissions
DE112021005718T5 (en) SYSTEMS AND METHODS FOR CONFIGURING A BUILDING MANAGEMENT SYSTEM
DE112020004623T5 (en) ML-BASED EVENT HANDLING
DE112015002433T5 (en) Systems and techniques for predicative data analysis
US20230152765A1 (en) Building data platform with schema extensibility for states of a digital twin
CH703073B1 (en) Comparing models a complex system.
DE112013005993T5 (en) Method, apparatus and computer readable medium for optimal determination of data subsets
WO2004084103A1 (en) Analysis of a model of a complex system
CH698890B1 (en) Modeling a complex system.
US20220390913A1 (en) Building management system with intelligent visualization
DE102022129829A1 (en) BUILDING DATA PLATFORM WITH SCHEME EXTENSIBILITIES FOR DIGITAL TWIN STATES, PROPERTIES AND TAGS
WO2022266509A1 (en) Building data platform with digital twin enrichment
DE112022000886T5 (en) DATA PROCESSING SYSTEM WITH MANIPULATION OF LOGICAL DATA RECORD GROUPS
US20230350362A1 (en) Building data platform with schema extensibility for properties and tags of a digital twin
US20230205158A1 (en) Building data platform with analytics development
US11704311B2 (en) Building data platform with a distributed digital twin
US20240004361A1 (en) Building automation system with digital twin population from commissioning workflow
US20220368558A1 (en) Building data platform with an enrichment loop
US20230152762A1 (en) Building data platform with artificial intelligence service requirement analysis

Legal Events

Date Code Title Description
R012 Request for examination validly filed