Method and system for controlling access to data in an industrial plant or in a database associated thereto

By mapping industrial factory data to graph database models and defining scope and authorization providers, the difficulties of industrial factory data access control are solved, and the secure and reasonable access of data is achieved.

CN119497854APending Publication Date: 2025-02-21BASF SE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380049705.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-29
Filing Date
2023-06-28
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

The prior art is difficult to effectively control access to data in industrial plants or in databases associated with industrial plants, making it difficult to implement data security and access rights management.

Method used

Control of data access is achieved by mapping elements of industrial factories to graph elements of graph structures and based on the graph database factory model formed by graph database, the scope and authorization provider are defined.

Benefits of technology

It realizes secure and reasonable access to industrial factory data, and improves the management efficiency and security of data access rights.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119497854A_ABST
    Figure CN119497854A_ABST
Patent Text Reader

Abstract

A method for controlling access to data in an industrial plant is provided. Elements (11-18) are mapped to elements of the graph structure. Action domains (S10-S30) are defined, which are associated with the elements (11-18) in the graph structure. An authorization provision program (31-33) is associated with the scope of action (S10-S30), providing authorization for data from the scope of action (S10-S30). Identifiers of entities or elements in the graph structure are parsed. Each scope is associated with one of an element or an entity in the graph structure. A data request is received from an entity. It is determined which scope of action the entity relates to (S10-S30). At least one authorization provision program (31-33) associated with the scope (S10-S20) provides authorization for the request. Based on the authorized request, the requesting entity is granted access to the requested data of the target entity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and a system for controlling access to data in a database in or associated with at least one industrial plant. Background Art

[0002] Modern industrial plants are highly complex in operation, with a large number of processing elements and a large number of sensors and actuators. Process data in such industrial plants is monitored, so a large amount of process data is collected. This data is used, for example, for advanced control, plant-wide control and safety monitoring systems, maintenance scheduling, and fault detection. Summary of the invention

[0003] The object of the present invention is to enable access to data collected in an industrial plant, wherein the data may be stored in the plant or in a database.

[0004] This object is achieved by a method of controlling access to industrial plant data in a database or in an industrial plant according to claim 1 and a system of controlling access to industrial plant data in a database or in an industrial plant according to claim 8 .

[0005] In one aspect of the present invention, a method for controlling access to data in a database associated with at least one industrial plant or with the at least one industrial plant is provided. The elements of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, and the graph database includes nodes, edges and attributes as graph elements to represent and store data items associated with the elements of the industrial plant. The graph structure has several levels. Scopes are defined, which are associated with elements in the levels of the graph structure, and / or with target entities in the graph structure, or with target entities associated with graph elements in the graph structure. At least one authorization provider is associated with one of the scopes and is configured to provide authorization for data from one of the scopes. The identifier of the target entity in the graph element or associated with the graph element in the graph structure is parsed. Each scope includes at least one signal provider configured to provide a signal. Each scope is associated with one of the graph elements or target entities in the graph structure. A request from a requesting entity is received via an application programming interface, the request being for data of at least one target entity located in or associated with the at least one industrial plant. A target entity associated with a scope is determined. A request for data from the target entity is authorized by the at least one authorization provider associated with the scope associated with the target entity. Based on the authorized request, the requesting entity is granted access rights to the requested data from the target entity.

[0006] The graph structure is based on a graph database factory model associated with the industrial plant. The graph database factory model is formed by a graph database. Generally, a graph database is a database that uses a graph structure with graph elements (including nodes, edges and attributes) to represent and store data, wherein data items are stored as being related to a set of nodes and edges in the graph database. In this context, the edges of the graph database represent the relationship between nodes connected by corresponding edges. The node represents the item of interest that the graph database tracks its corresponding relationship. The graph relationship can also be a directed relationship, indicating the parent-child relationship between the nodes. For example, a pre-product can be the parent of a product and is respectively related to a directed relationship. In addition, an attribute refers to information related to the corresponding node item. Therefore, the graph database allows not only the storage of data items, but also the storage of the relationship between the data items and the attributes of the data items, so as to link the data together in a context-sensitive manner, so that the corresponding complex data structure can be visualized and queried. In an embodiment, at least some nodes of the graph database are referred to as operation nodes and are related to the operation assets of the industrial plant site. For example, an operation node may simply indicate the presence of a specific operation asset that performs a specific process at an industrial plant site, such as an operation asset that indicates the presence of a mixer at an industrial plant site and a certain location at the industrial plant site. However, for example, if the operation asset includes different parts that can also be operated independently of each other, there may also be more than one node indicating an operation asset at an industrial plant site. For example, an operation asset may include not only a mixer, but also a heater and a mill, wherein all these hardware units can be operated independently of each other but are used to perform the same overall process at an industrial plant site. However, if the same process is performed at an industrial plant site, the various hardware units may also be indicated as the same node in the graph database, for example, a mixer, a heater, and a mill may also be indicated as an operation asset that performs a specific mixing process at an industrial plant site on only one node. Further, the graph database may include nodes called transport nodes related to mass transport between operation assets. At the transport node, the stored data items relate to material transport, i.e., mass transport, between various operation assets at an industrial plant site. For example, if a fluid is transported from a mixer to a heater to heat the fluid after mixing, a transport node will be provided in the graph database to indicate mass transport between two operation assets. For example, at a mass transport node, information about mass transport, such as mass flow, type of transported material, flow direction, etc., may be stored. Further, the graph database may include nodes called sensor nodes associated with sensors at an industrial plant site. For example, a sensor node may store information about a sensor that measures the temperature of a heater at an industrial plant site. The information may refer to the type of sensor, the location of the sensor, the type of measurement performed, the time at which the measurement was performed, the identification of the sensor, etc. In particular, time series data of the sensor may be stored as being associated with the sensor node.However, based on the identification of the sensor stored on the sensor node, if the corresponding time series data is stored on another database independent of the graph database, the data can also be accessed. Further, the edges of the graph database are used to indicate the relationship between different nodes of the graph database model. For example, if a substance is transported from one operating asset to another operating asset, a first edge is provided between a first operating node indicating the first operating asset and a transportation node indicating mass transportation, and then a second edge is provided between the transportation node indicating mass transportation and a second operating node indicating the second operating asset. In addition, if the sensor measures one or more quantities related to the operating asset, a corresponding edge is provided between the corresponding operating asset and the corresponding sensor. In addition, if the sensor measures one or more quantities during mass transportation (for example, during the flow of fluid from one operating asset to another operating asset), an edge is provided between the corresponding sensor and the corresponding transportation node.

[0007] Therefore, the graph database includes and structures the available knowledge about the industrial plant site and the processes performed at the industrial plant site. In particular, the graph database has the advantage of not only storing data but also providing the relationship of the data and indicating the structure of the industrial plant site and all the relationships between the hardware of the industrial plant site.

[0008] Additionally, the graph database model can be extended to control and monitor other parts of an industrial plant site. For example, the graph database model can also represent logistical information about the transportation of products before, during, and / or after processing on an industrial plant site. In this case, for example, graph annotations can represent locations, such as warehouses, plant site locations, operational asset locations, etc., and the relationships between these locations can be related to the transportation process. In this case, sensor data can also be associated with the graph structure, for example, tracking measurements of identifiers associated with transported products. Further, other kinds of operational structures and organizational structures of an industrial plant site can also be represented by the graph database model.

[0009] Typically, a graph database factory model associated with an industrial plant site can be created using a known graph database creation model and using corresponding knowledge about the industrial plant site. For example, this knowledge can come from operators at the industrial plant site entering their knowledge into the graph database factory model, or from construction information, maintenance information, installation information, process information, blueprints, etc. In order to utilize the graph database factory model, it is preferably generated and stored on a corresponding storage unit so that it can be used for multiple applications. Then, the graph database factory model can be used, for example, by accessing a storage device on which the graph database factory model has been stored, and, for example, querying the graph database factory model to obtain corresponding information of the graph database factory model. In addition, the user can also use the input unit to indicate, for example, which graph database factory model should be used, so that the graph database factory model indicated by the user is used.

[0010] Preferably, the graph database model is hierarchically structured. Each annotation and / or relationship of the graph database model is then associated with a level in the at least two levels. The levels may represent, for example, a security structure of an industrial plant site, wherein the higher the level associated with a graph annotation and / or graph relationship, the more restricted the access to the data provided by the graph annotation and / or graph relationship.

[0011] The scope can then be defined as being associated with one or more graph elements of the graph database model. For example, a scope can be associated with one or more annotations and corresponding relationships between annotations. Therefore, the scope can be represented by a portion of the graph database model as a sub-graph database. Preferably, all parts (i.e., graph elements) of the graph database model that are associated with the scope and associated with an annotation that is associated with a level lower than the level of the corresponding annotation belong to the same scope as the corresponding annotation. Additionally or alternatively, all parts (i.e., graph elements) of the graph database model that are children of an annotation associated with a scope are also associated with the scope. Preferably, if the scope represents an entity associated with an industrial plant entity represented by the annotation, the scope is associated with the graph element. For example, a scope may represent an entity that controls, monitors, owns or organizes a corresponding industrial plant entity associated with the scope.

[0012] In a preferred embodiment, determining which target entity is associated with which scope includes determining which scope the requested data is associated with based on the graph structure and the defined scopes. In particular, it is possible to determine which graph elements the request is for by applying the received request to the graph structure. Applying the request to the graph structure refers to tracking the graph structure according to the request using a known graph database request method. It can then be determined to which scope the graph element associated with the request belongs based on the respectively defined scopes and graph structure.

[0013] According to an embodiment, at least one role defining access rights to the industrial plant or the data in the database is associated with the requesting entity. Authorization of the requested data is performed based on the role associated with the requesting entity.

[0014] According to an embodiment, the requesting entity is a user, a service, a microservice, and / or a data processing pipeline.

[0015] According to an embodiment, the target entity is a user, an internal or external service, an internal or external microservice, a data processing pipeline.

[0016] According to an embodiment, the data of the target entity includes data related to production assets in an industrial plant, process data, telemetry data, metadata, laboratory data and / or production data.

[0017] In one aspect of the present invention, a system for controlling access to data in a database associated with at least one industrial plant or with the at least one industrial plant is provided. The elements of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, and the graph database includes nodes, edges, and attributes as graph elements to represent and store data items associated with the elements of the industrial plant. The graph structure has several levels. Scopes are defined, which are associated with elements in the levels of the graph structure, and / or with entities in the graph structure, or with graph elements in the graph structure. Identifiers of entities in graph elements in the graph structure or associated with graph elements are parsed, wherein each scope includes at least one signal provider configured to provide a signal. Each scope is associated with one of the graph elements or entities in the graph structure. The system includes at least one authorization provider, which is associated with one of the scopes and is configured to provide authorization for data from the scope. The application programming interface is configured to receive a request from a requesting entity via the application programming interface, the request being for data of at least one target entity located in or associated with the target entity in the at least one industrial plant. A scope associated with the target entity is determined. At least one authorization provider is configured to provide authorization for the request for the data of the target entity.

[0018] According to a further embodiment of the invention, the data comprises data related to production assets in an industrial plant, process data, telemetry data, metadata, laboratory data and / or production data.

[0019] The data of an industrial plant can be generated by signal providers (e.g. sensor data, laboratory measurements) or by production assets. Each target entity within the graph can be identified differently in different data storage devices in the industrial plant or in a database, as its data may be used for different purposes (e.g. controlling motors, determining energy consumption, predictive maintenance, etc.). Therefore, each target entity in the graph structure can reference various unique identifiers pointing to data stored in the backend system. These identifiers can be resolved when the graph structure is generated. Therefore, these identifiers can be predetermined. Additionally or alternatively, the identifiers may also change during the operation of the industrial plant.

[0020] According to an embodiment, the target entity identifiable in the graph structure may be a plant, a cost center, a business unit, a process group, a unit operation, a signal provider, and the like.

[0021] According to an embodiment, a scope may be associated with a target entity. A scope may define data or a data source associated with a target entity. The data may be associated with data stored in a database, life data from an industrial plant, or derived data (e.g., a calculation or model that produces a result based on some specific or derived input).

[0022] According to an embodiment, a scope may be associated with at least one signal provider that is providing at least one signal. A signal may be related to a measurement or information generated by an entity in the graph structure. This may be a measurement of a sensor within a production process or accounting information. A signal provider may also be a system or process that produces a signal. This may be a database or a deployed model or calculation. Each signal must have a unique identifier so that it can be identified within the data source and thus extracted. Thus, a signal may be information or data that is distinguishable within a data source.

[0023] To implement authorization for requesting entities, each signal in the graph structure is assigned to a scope within the graph.

[0024] According to an embodiment, data or information in or from an industrial plant can be structured as signals. Each signal can represent a column in a wide table, or a filter on a narrow table. For wide tables, each signal can be further distinguished via fields in the table that represent specific scopes.

[0025] According to an embodiment, metadata in or from an industrial plant may be defined within a graph or may be retrieved from an external source via keys that may be defined within the graph.

[0026] According to an embodiment, the requesting entity is a user, a service, a microservice, and / or a data processing pipeline.

[0027] According to an embodiment, the target entity is a user, an internal or external service, an internal or external microservice, a data processing pipeline.

[0028] According to an embodiment, the data of the target entity includes data related to production assets in an industrial plant, process data, telemetry data, metadata, laboratory data and / or production data.

[0029] To implement authorization for requesting entities, each signal in the graph structure is assigned to a scope within the graph.

[0030] According to an embodiment, data or information in or from an industrial plant can be structured as signals. Each signal can represent a column in a wide table, or a filter on a narrow table. For wide tables, each signal can be further distinguished via fields in the table that represent specific scopes.

[0031] According to an embodiment, metadata in or from an industrial plant may be defined within a graph or may be retrieved from an external source via keys that may be defined within the graph.

[0032] It shall be understood that the above aspects, and in particular the method according to claim 1, the system according to claim 7 and the computer program according to claim 8, have similar and / or identical preferred embodiments, in particular as defined in the dependent claims.

[0033] It should be understood that preferred aspects of the present invention may also be any combination of the dependent claims or the above-described embodiments with the corresponding independent claim.

[0034] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 shows a schematic representation of the graph structure,

[0036] Figure 2 A schematic representation of a diagram showing a company structure,

[0037] Figure 3 A schematic representation of the processing in the factory is shown, and

[0038] Figure 4 Shows Figure 3 Further schematic representation of the diagram structure of a factory. DETAILED DESCRIPTION

[0039] Figure 1 A schematic representation of a graph structure is shown. A graph structure is used to describe the elements of an industrial plant and their interdependencies.

[0040] The use of graph structures for the analysis of large-scale plants is described by Preisig et al. in “A graph-theory-based approach to the analysis of large-scale plants”, Computers in Chemical Engineering, Oxford, UK, Pergamon Press, vol. 33, no. 3, 20 March 2009, pp. 598-604. Industrial plants are analyzed and mapped to a graph structure. A graph consists of a set of vertices (nodes) and edges (links, lines), where an edge connects two or more nodes.

[0041] Therefore, the graph structure is used to map or represent the system architecture of, for example, an industrial plant (such as a chemical plant).

[0042] Figure 1 The graph structure includes a plurality of nodes N1-N6 and a plurality of edges E1-E6. The nodes N1-N6 may represent or may be mapped to different elements in an industrial plant.

[0043] In addition, the processing in the industrial plant can be mapped to different scopes S1, S2. Scopes S1, S2 can correspond to signal or data processing. In other words, the scope can perform processing based on the received data. The scope can have a signal provided by a signal provider (the signal is associated with the scope). Such a signal provider can be one of nodes N1 to N6. Therefore, scopes S1-S2 can be associated with one or more of nodes N1-N6. The signal or data provided by the node is processed by the scope.

[0044] As an example, scope S1 may be associated with nodes N4, N5, and N6 representing elements in an industrial plant. Scope S2 may be associated with nodes N1, N3, and N6 (e.g., representing other elements in an industrial plant). Nodes may include signal providers (e.g., sensors) that provide the signals needed for a scope (e.g., process control) to perform the desired processing.

[0045] In other words, scope S1 requires information or data from nodes N4, N5, N6. Therefore, it does not require data from nodes N1-N3.

[0046] also, Figure 1 The concept of roles is also introduced. Figure 1 In the example, there may be three roles R1, R2, and R3, where roles R1 and R2 are related to administrators. Role R3 may also be related to administrators. Roles can be embodied by users or services that need to access data owned by the scope.

[0047] If a user or service requests data, it must first be determined to which scope (S1, S2) the requested data is associated and furthermore whether the user or service has the appropriate role R1 within scope S1, S2 so that he or it has access to the data.

[0048] according to Figure 1 In an embodiment of the present invention, scope S1-S2 owns a signal from one of nodes N1-N6. Scope S1, S2 defines an arbitrary subgraph associated with a specific node and a set of relations.

[0049] The identification of the user may be performed by an external system or service and is not the subject of this application. This application focuses on the authorization of a user or user ID (that has been identified) to access data in a database in an industrial plant.

[0050] Based on the embodiment of the present invention, the industrial plant is described based on the graph structure. For example, access control of the graph elements of the graph structure can be performed based on the role-based access control RBAC. With the help of RBAC, the system determines whether the user has the access rights to the requested data. On the other hand, the graph structure is used to construct complex industrial plants and complex industrial processes in a clearer and more understandable way.

[0051] By using role-based access control (RBAC), there is no need to associate different access rights with each user. Instead, access rights are associated with different roles. Each user can then be associated with at least one role.

[0052] Figure 2 A schematic representation of a diagram structure showing a company structure. A company 11 may own several industrial plants in a region 12. In the region 12, at least one industrial plant 13 is arranged. In the industrial plant 13, there is at least one plant cluster 14. Each plant cluster 14 includes at least one plant 15. Each plant 15 includes at least one process group 16. A transport subsystem 17 and at least one unit operation 14 may be provided. Each diagram element in the diagram is owned by the diagram element above. For example, a site 13 may be owned by a region 12. Furthermore, a process group 16 may be owned by a plant 15. A plant 15 may be owned by a cluster 14. A cluster may be owned by a site 13.

[0053] Different graph elements in a graph structure can be represented as scopes.

[0054] exist Figure 2In FIG. 1 , different levels of a production system are depicted. Different roles may require access to different levels within the system. For example, for maintenance, the required access may be related to individual components on the floor within a unit operation 18. On the other hand, cost accounting may only require the allocation of costs to the level of a cluster 13 of several plants. Therefore, this will not require access to individual components within the plant.

[0055] Figure 3 A schematic representation of a process in a plant is shown. Plant 15 includes at least one process group 16. Process group 16 includes at least one unit operation 18. Signal providers 20 (e.g., such as sensors) provide signals 21 (sensor signals) that are attributed to unit operation 18. Signal providers 20 provide signals 22 that may also be attributed to process group 16.

[0056] According to an embodiment of the present invention, the authorization providers 31-33 may be implemented or integrated into the graph structure. In other words, the authorization providers 31-33 may be associated with different graph elements within the graph structure.

[0057] like Figure 3 In the example of FIG. 1 , different authorization providers 31-33 may be associated, for example, with unit operation 18 and plant 15, respectively. Authorization severity 33 may be associated with signal provider 20. A first database 42 may be associated with a first authorization provider 31 (associated with a unit operation). Another database 42 may be associated with a first authorization provider 31 associated with plant 15.

[0058] The authorization provider 31 is responsible for authorizing access requests to data from the plant 15. The authorization provider 32 is responsible for authorizing access to data from the unit operation 18.

[0059] Figure 4 Shows Figure 3 . Here, the first scope S10 is associated with the plant 15, the second scope S20 is associated with the process group 16, and the third scope S30 is associated with the unit operation 18. The signal provider 20 provides a signal 21 owned by the third scope S30. The signal provider 20 can provide a second signal S22 owned by the second scope S20. A first authorization provider 31 can be associated with the first scope S10. A second authorization provider 32 can be associated with the third scope S30. An authorization severity 33 can be associated with the signal provider 20. It should be noted that Figure 4 is a very schematic representation of a factory. Since a factory consists of several unit operations and a large number of signal providers (such as sensors), it will also have a large number of different scopes.

[0060] Signal providers, such as sensors in an industrial plant, provide signals that can be owned by a scope, such as a unit operation or process group.

[0061] If an entity (such as a user or service) requests access to a signal from a signal provider 20, the next higher level authorization provider 31-33 will decide whether the user can receive access to the requested data. For example, this can be performed according to role-based access control RBAC, where each user is associated with a role.

[0062] The entity requesting access to the data may be a user via an API or a user interface UI. Alternatively, the entity may also be a service, an automated job, a data processing pipeline, a service or automated job acting on behalf of a logged-in user.

[0063] According to an embodiment of the present invention, the data that an entity may request access to may be data, metadata, calculations, modules derived from the data, and / or applications that visualize or process the data.

[0064] The data sources may be data sources internal to the system, external data sources directly accessible via the processing platform, external data sources not directly accessible from the platform, and metadata of such systems.

[0065] According to an embodiment of the present invention, data and metadata from equipment in an industrial plant or chemical plant can be constructed in a graph structure. The corresponding permissions for data access can be mapped to scopes and roles within the graph structure. A scope can own data and / or signals. A role can be embodied by a user who wants to access triple data. A role can be, for example, an analyst, scientist, operator, etc. In order to grant access to the requested data, the system must determine which scope owns the data and whether the user has an appropriate role within the scope. To determine whether a user can access the data, it must first be determined which scope is associated with the requested data.

[0066] Within a graph structure according to an embodiment of the present invention, a scope defines an arbitrary subgraph by selecting a specific annotation and a set of relationships.

[0067] A signal provider can be, for example, a sensor that generates a signal. A signal can describe some kind of measurement or generated information or (for example, for accounting) an entity within a graph. A signal provider provides, in an abstract form, a system or process that materializes the signal, such as a database, a deployed module / computation, etc. Each signal (which represents distinguishable information within a data source) must be uniquely distinguishable within the data source. This can be structured as a wide table, where each signal generally refers to a column, or as a narrow table, where the signal is encoded within a column in the table. The signal provider holds information about how to do this by referencing a field or column within the resulting dataset that references the entity. Thus, observations within the data source can be assigned to identifiable entities within the graph.

[0068] Furthermore, to address authorization issues, each signal is assigned to a scope within the graph structure. The measured data can be structured as signals, where each signal can represent a column in a wide table or a filter on a narrow table. If a wide table is used, individual signals can be further differentiated via fields in the table that represent specific scopes.

[0069] Multiple entities can be found in different trees within the graph or referenced in external systems. The external system can be, for example, a SAP system, etc. Each node in the graph that is considered an identifiable entity is an entity that holds a reference to an external system via a foreign key.

[0070] According to an embodiment, the first authorization provider can grant access rights to scopes at the same level or lower in the graph structure. However, it cannot provide access to higher-level scopes. Once the scope is determined, the responsible authorization provider must be determined. It is the authorization provider at the same level or higher in the graph structure. The authorization provider can grant access rights to a scope and all other lower-level scopes. Therefore, requests from entities can inherit access to lower-level scopes. In other words, the first scope can be a parent scope, and requests from entities can inherit access to lower-level scopes (child scopes).

[0071] The second authorization provider can be associated with a scope at a level lower than the level of the first authorization provider. The second authorization provider is configured to interrupt the authorization of the first authorization provider to a scope at the same level or lower than the second authorization provider. Thus, the second authorization provider can interrupt or prevent inheritance of access rights from a higher-level scope. Thus, highly sensitive scopes can be protected from access via a higher-level scope.

[0072] According to an embodiment, the scopes within the graph structure may be hierarchical, and the access rights of an entity to a scope may, for example, be passed (inherited) to the children of the scope (i.e., the scope within the scope). A scope may also be a child of several higher-level scopes. As an example, a (parent) scope may be associated with a user whose role is a viewer of a factory. Thus, such a user may also have access rights (viewing rights) to all elements in the factory. However, using the above-mentioned interrupt function, the access rights to a (child) scope in the factory may be interrupted. Thereby increasing the security of the system.

[0073] According to an embodiment, once a request for data or metadata is received from an entity, it is necessary to determine which scope the requested data is associated with. The responsible authorization provider must then determine whether the entity has a role that allows access to the requested data. The responsible authorization provider is an authorization provider associated with the same level or a higher level of the level of the scope (parent scope). Any lower-level scope (child scope or subscope) may also be associated with the same access rights. Authorization providers may be associated with factories, operating units, signal providers, and the like. In order to perform authorization decisions, it is necessary to determine the scope and signal associated with the request. The responsible authorization provider is then determined by checking the level of the scope and above. The next authorization provider at these levels is the responsible authorization provider.

[0074] In a graph structure, signals are owned by entities within the graph. Each signal provider defines a minimum role requirement. If you want to resolve a query, you need to check which scopes and / or signals are involved in the query. Based on the signals, you can determine each scope that owns these signals. When resolving data queries, you can cross such scopes.

[0075] Authorization is performed by assigning roles to users or services for scopes in the graph. Such roles can be Viewer, Developer, and / or Business Analyst. Based on the ownership of signals within the scope and the role requirements of the signal provider, the minimum requirements for a user to resolve a query can be determined.

[0076] According to an embodiment of the present invention, a data request issued by an entity may involve data or data subsets related to different scopes in the graph structure. As an example, the entity requesting this data may be, for example, a monitoring unit that monitors key assets such as compressors and pumps. Some compressors or pumps may be located in different plants, different process groups, or different unit operations. Therefore, the corresponding data will be owned by different scopes within the system. For example, access rights to such data can be associated with groups or activities. Such groupings can provide groupings outside of the hierarchy, such as Figure 2 or Figure 3As described in . Regarding the authorization of entities to access data, the corresponding scope can be determined and access requests can be issued to all owners of the data (which can be issued to all scopes that own the data). Additionally or alternatively, the owner of the data can be asked to allow access to the logical unity (topic, project, etc.), and thus accept that all individuals assigned to these activities inherit all access rights required to perform the activity. Such activities can be in the form of fine-grained authorization providers.

[0077] Entities in the graph may be related or associated with external systems, for example via foreign keys.

[0078] Data for an industrial plant is generated by signal providers (e.g. sensor data, laboratory measurements) or for production assets. Each entity within the graph (target entity) may be identified differently in different data stores, as the data may be used for different purposes (e.g. controlling a motor; determining energy consumption, predictive maintenance, etc.). Therefore, each target entity in the graph structure may reference various unique identifiers pointing to data stored in backend systems. These identifiers may be resolved when the graph structure is generated. Therefore, these identifiers may be predetermined. Additionally or alternatively, the identifiers may also change during the operation of the industrial plant.

[0079] The identifiable target entities in the graph structure can be plants, cost centers, business units, process groups, unit operations, signal providers, etc.

[0080] A scope may be associated with a target entity. A scope may define data or a data source associated with a target entity. The data may be associated with data stored in a database, vital data from an industrial plant, or derived data (e.g., a calculation or model that produces a result based on some specific or derived input). A scope may be associated with at least one signal provider that is providing at least one signal. A signal may be associated with a measurement or information generated by an entity in the graph structure. This may be a measurement from a sensor within a production process or accounting information. A signal provider may also be a system or process that produces a signal. This may be a database or a deployed model or calculation. Each signal must have a unique identifier to be able to identify it within the data source and thus extract it. A signal may therefore be information or data that is distinguishable within a data source.

[0081] To implement authorization for requesting entities, each signal in the graph structure is assigned to a scope within the graph.

[0082] Data or information in or from an industrial plant can be structured as signals. Each signal can represent a column in a wide table, or a filter on a narrow table. For wide tables, individual signals can be further distinguished by fields in the table that represent specific scopes.

[0083] Metadata in or from an industrial plant may be defined within the graph, or may be retrieved from an external source via keys that may be defined within the graph.

[0084] A requesting entity may need access to subsets of data within different scopes within the graph. An example could be a unit responsible for monitoring critical assets like compressors or pumps located within different plants (scopes). Access is granted within these scenarios, additional groupings or activities. These can be provided (e.g., short-term projects, topics for long-term activities). These entities can reference related entities within the graph and provide other groupings outside the hierarchy. Here we have two options to grant authorization to the user or requesting entity. The required scope is identified and the access request is sent to the full owner of the data. Alternatively, the owner of the data is asked to allow access to the logical unity (topic, project, etc.), so all entities assigned to these activities inherit all the access rights required to perform the said activity. Activities can be in the form of fine-grained authorization providers instead of dedicated scopes in the graph.

[0085] According to an embodiment, a method for controlling access to data in a database associated with at least one industrial plant or the at least one industrial plant is provided. The elements of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, and the graph database includes nodes, edges and attributes as graph elements to represent and store data items associated with the elements of the industrial plant. The graph structure has several levels. Scopes associated with graph elements in the levels of the graph structure are defined or predefined. At least one first authorization provider is associated with one of these scopes and is configured to provide authorization for data from a scope at the same level or lower level associated with the authorization provider. A data request from an entity is received via an application programming interface. A scope associated with the requested data is determined. Authorization for a request from a requesting entity is provided by at least one first authorization provider associated with the scope associated with the request. Based on the authorized request, the requesting entity is granted access rights to the requested data. Therefore, the first authorization provider can grant access rights to scopes at the same level or lower level in the graph structure. Optionally, it cannot provide access to higher-level scopes. Once the scopes are identified, the responsible authorization provider must be identified. It is the authorization provider at the same level or higher in the graph structure. An authorization provider can grant access to a scope and all other lower-level scopes. Therefore, requests from entities can inherit access to lower-level scopes. In other words, the first scope can be the parent scope, and requests from entities can inherit access to lower-level scopes.

[0086] By utilizing the access control method described above, access to data in an industrial plant or data in a database associated with the industrial plant can be controlled.

[0087] According to an embodiment, the second authorization provider is associated with a scope at a level lower than the level of the first authorization provider. The second authorization provider is configured to interrupt the authorization of the first authorization provider to a scope at the same level or lower than the second authorization provider. The second authorization provider can interrupt or prevent inheritance of access rights from a higher-level scope. Therefore, highly sensitive scopes can be protected from access via a higher-level scope.

[0088] According to an embodiment, a scope may be associated with a target entity. A scope may define data or a data source associated with a target entity. The data may be associated with data stored in a database, life data from an industrial plant, or derived data (e.g., a calculation or model that produces a result based on some specific or derived input).

[0089] According to an embodiment, a scope may be associated with at least one signal provider that is providing at least one signal. A signal may be related to a measurement or information generated by an entity in the graph structure. This may be a measurement of a sensor within a production process or accounting information. A signal provider may also be a system or process that produces a signal. This may be a database or a deployed model or calculation. Each signal must have a unique identifier so that it can be identified within the data source and thus extracted. Thus, a signal may be information or data that is distinguishable within a data source.

[0090] According to an embodiment, data or information in or from an industrial plant can be structured as signals. Each signal can represent a column in a wide table, or a filter on a narrow table. For wide tables, each signal can be further distinguished via fields in the table that represent specific scopes.

[0091] According to an embodiment, metadata in or from an industrial plant may be defined within a graph or may be retrieved from an external source via keys that may be defined within the graph.

[0092] According to an embodiment, a method for controlling access to data in a database associated with an industrial plant or an industrial plant is provided. The graph elements of the industrial plant are mapped to elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, and the graph database includes nodes, edges, and attributes as graph elements to represent and store data items associated with the elements of the industrial plant. Scopes associated with the graph elements of the graph structure are defined. At least one authorization provider is associated with at least one of these scopes. A data request from a requesting entity is received via an application programming interface. Determine which scope the requested data is associated with. Authorization for a request from a requesting entity is provided by at least one authorization provider associated with a scope associated with the request. Based on the authorized request, the requesting entity is granted access rights to the requested data.

[0093] According to an embodiment, a system for controlling access to data in a database associated with at least one industrial plant or the at least one industrial plant is provided. The elements of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, and the graph database includes nodes, edges, and attributes as graph elements to represent and store data items associated with the elements of the industrial plant. Each scope is associated with one of the graph elements in the graph structure, wherein each scope includes at least one signal provider configured to provide a signal. The system includes: an application programming interface configured to receive a request from a requesting entity, the request being for data from at least one target entity in at least one industrial plant; and at least one authorization provider, the at least one authorization provider being associated with one of the scopes and configured to provide authorization for data from a scope (S10-S30) associated with the target entity.

[0094] The data of an industrial plant can be generated by signal providers (e.g. sensor data, laboratory measurements) or by production assets. Each target entity within the graph can be identified differently in different data storage devices in the industrial plant or in a database, as its data may be used for different purposes (e.g. controlling motors, determining energy consumption, predictive maintenance, etc.). Therefore, each target entity in the graph structure can reference various unique identifiers pointing to data stored in the backend system. These identifiers can be resolved when the graph structure is generated. Therefore, these identifiers can be predetermined. Additionally or alternatively, the identifiers may also change during the operation of the industrial plant.

[0095] According to an embodiment, the target entity identifiable in the graph structure may be a plant, a cost center, a business unit, a process group, a unit operation, a signal provider, and the like.

[0096] According to an embodiment, a scope may be associated with a target entity. A scope may define data or a data source associated with a target entity. The data may be associated with data stored in a database, life data from an industrial plant, or derived data (e.g., a calculation or model that produces a result based on some specific or derived input).

[0097] According to an embodiment, a scope may be associated with at least one signal provider that is providing at least one signal. A signal may be related to a measurement or information generated by an entity in the graph structure. This may be a measurement of a sensor within a production process or accounting information. A signal provider may also be a system or process that produces a signal. This may be a database or a deployed model or calculation. Each signal must have a unique identifier so that it can be identified within the data source and thus extracted. Thus, a signal may be information or data that is distinguishable within a data source.

[0098] A chemical plant can refer to any manufacturing facility based on chemical processes, such as using chemical processes to convert raw materials into products. In contrast to discrete manufacturing, chemical manufacturing is based on continuous or batch processes. Therefore, the monitoring and / or control of chemical plants is time-dependent and therefore based on large time series data sets. A chemical plant may include more than 1,000 sensors, generating measurement data points every few seconds. Such a scale means that terabytes of data need to be processed in the systems used to control and / or monitor chemical plants. Small chemical plants may include a few thousand sensors, generating data points every 1 to 10 seconds. In contrast, large chemical plants may include tens of thousands of sensors, such as 10,000 to 30,000, generating data points every 1 to 10 seconds. Performing contextual analysis on this data requires processing hundreds of GB to several TB of data.

[0099] Chemical plants can produce products via one or more chemical processes that convert raw materials into products via one or more intermediate products. Preferably, chemical plants provide sealed facilities to produce products that can be used as raw materials for the next step in the value chain. Chemical plants can be large factories, such as oil and gas facilities, gas purification plants, carbon dioxide capture facilities, liquefied natural gas (LNG) plants, refineries, petrochemical facilities or chemical facilities. For example, an upstream chemical plant in the production of a petrochemical process includes a steam cracker that is processed into ethylene and propylene from naphtha. These upstream products can then be provided to further chemical plants to derive downstream products such as polyethylene or polypropylene, which can be used again as raw materials for chemical plants to derive further downstream products. Chemical plants can be used to manufacture discrete products. In one example, a chemical plant can be used to manufacture precursors for polyurethane foams. Such precursors can be provided to a second chemical plant for the manufacture of discrete products, such as insulation boards comprising polyurethane foams.

[0100] The production of the value chain through various intermediate products to the final product can be dispersed across different locations or integrated in an integrated site or chemical park, which consists of a network of interconnected chemical plants where the product manufactured in one plant can be used as a feedstock in another.

[0101] A chemical plant may include a variety of assets, such as heat exchangers, reactors, pumps, pipelines, distillation or absorption columns, etc. In a chemical plant, some assets may be critical. Critical assets are those assets whose interruption will seriously affect the operation of the plant. This may cause the manufacturing process to be affected. It may cause product quality to deteriorate or even stop manufacturing. In the worst case, such an interruption may cause fire, explosion or toxic gas leakage. Therefore, depending on the chemical processes and chemicals involved, such critical assets may need to be monitored and / or controlled more strictly than other assets. In order to monitor and / or control chemical processes and assets, multiple actors and sensors can be embedded in the chemical plant. These actors or sensors can provide process or asset specific data related to, for example, the status of a single asset, the status of a single actor, the composition of a chemical, or the status of a chemical process. In particular, process or asset specific data may include one or more of the following data categories: process operation data (such as the composition of raw materials or intermediate products), process monitoring data (such as flow, material temperature), asset operation data (such as current, voltage), and asset monitoring data (such as asset temperature, asset pressure, vibration).

[0102] An asset may include any component of a chemical plant, such as equipment, instruments, machinery, a process, or a component of a process.

[0103] Process or asset specific data refers to data that is relevant to a specific asset or process and is contextualized for that specific asset or process. Process or asset specific data may be contextualized for only a single asset and process. Process or asset specific data may include measurements, data quality measures, time, units of measurement, asset identifiers for specific assets, or process identifiers for specific process parts or phases. Such process or asset specific data may be collected at the lowest processing level and contextualized for a specific asset or process in a single plant. This contextualization may be related to the context available at the lowest processing level. This context may be related to a single plant.

[0104] Plant-specific data refers to process or asset-specific data for contextual analysis of one or more plants. Such plant-specific data can be collected at a higher processing layer and contextual analysis can be performed for multiple plants. Specifically, contextual analysis may be related to contexts available at a higher processing layer. Through contextual analysis, contexts can be added to process or asset-specific data points, such as plant identifiers, plant types, reliability indicators, or alarm limits of plants. In a further step, the technical asset structure of one or more plants, integrated bases or chemical parks, other asset management results (e.g., asset networks) or application contexts (e.g., model identifiers, third-party transactions) can be added. This overall context can be derived from a functional location or digital twin, such as a digital pipeline and instrumentation diagram, a 3D model, or a scanned image with xyz coordinates of a plant asset. Additionally or alternatively, a local scan of a mobile device linked to, for example, a pipeline and instrumentation diagram can be used for contextual analysis.

[0105] In particular, plant-specific data related to the interface between chemical plants in a manufacturing chain can be provided on a higher processing layer or an external processing layer. Thus, monitoring and / or control can be enhanced, such as via anomaly detection, set point control and optimization in a chain across multiple plants. In order to monitor and / or control a chain across multiple plants, a process application with an online input / output data profile can be used. These data and process applications can be transmitted between plants. In combination with the quality and energy balances that can be monitored, such process applications can optimize the entire chain across chemical plants, rather than a single plant in the chain.

[0106] Input data may include real-time data from sensors (such as wireless monitoring devices or IoT devices), non-real-time data, or output data from deployed containers or executed applications. This data may be related to machinery (such as machinery type or sensor data measured for machinery), chemicals (such as chemical types or sensor data measured for chemical components processed in a chemical plant), processes (such as chemical process types or sensor data measured for chemical processes performed in a chemical plant), and / or plants (such as plant types or sensor data measured for chemical plants, such as environmental measurement data).

[0107] A single unit device or system may implement the functions of several items recited in the claims. The fact that certain measures are recited in mutually different dependent claims does not mean that a combination of these measures cannot be used to advantage. Processes such as analyzing data and adding metadata to the data, which are performed by one or more units or devices, may be performed by any other number of units, devices or systems. These processes may be implemented as program code means of a computer program and / or dedicated hardware. The computer program product may be stored / distributed on a suitable medium, such as an optical storage medium or solid-state medium provided together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems.

[0108] Any reference signs in the claims should not be construed as limiting the scope.

Claims

1. A method for controlling access to data in a database in or associated with at least one industrial plant, wherein: The elements (11-18) of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, the graph database comprising nodes, edges and attributes as graph elements to represent and store data items associated with the elements of the industrial plant, wherein the graph structure has several levels, wherein scopes (S10-S30) are defined, the scopes being associated with the elements (11-18) in the levels of the graph structure and / or associated with target entities in the graph structure or associated with target entities associated with graph elements in the graph structure, wherein at least one authorization provider (31-33) is associated with one of the scopes (S10-S30) and is configured to provide authorization for data from the scopes (S10-S30), wherein identifiers of target entities in the elements in the graph structure or associated with the elements are resolved, wherein each scope comprises at least one signal provider configured to provide a signal, wherein each scope is associated with one of the elements or target entities in the graph structure, the method comprising the following steps: receiving, via an application programming interface (API), a request from a requesting entity for data from at least one target entity located in or associated with the at least one industrial plant, Determine which scope (S10-S30) the target entity is associated with, providing authorization for the request for data from the target entity by the at least one authorization provider (31-33) associated with the scope (S10-S20) associated with the target entity, and Based on the authorized request, the requesting entity is granted access to the requested data of the target entity.

2. The method according to claim 1, wherein: At least one role defining access rights to the industrial plant or to data in the database is associated with the requesting entity, Therein, authorization of the requested data is performed based on a role associated with the requesting entity.

3. The method according to claim 1 or 2, wherein: The requesting entity is a user, service, microservice, and / or data processing pipeline.

4. The method according to any one of claims 1 to 3, wherein: The data of the target entity includes data related to production assets in the industrial plant, process data, telemetry data, metadata, laboratory data, and production data.

5. The method according to any one of claims 1 to 4, wherein: The target entity is a user, an internal or external service, an internal or external microservice, or a data processing pipeline.

6. The method according to any one of claims 1 to 5, wherein: The target entity in this diagram structure can be a plant, cost center, business unit, process group, unit operation, or signal provider.

7. A system for controlling access to data in a database in or associated with at least one industrial plant, wherein: The elements (11-18) of the industrial plant are mapped to graph elements of a graph structure, wherein the graph structure is based on a graph database factory model formed by a graph database, the graph database comprising nodes, edges and attributes as graph elements to represent and store data items associated with the elements of the industrial plant representing the industrial plant, wherein the graph structure has several levels, wherein scopes (S10-S30) are defined, which are associated with elements (11-18) in the levels of the graph structure and / or with entities in the graph structure or with graph elements in the graph structure, wherein identifiers of entities in the graph elements in the graph structure or associated with the graph elements are resolved, wherein each scope comprises at least one signal provider configured to provide a signal, wherein each scope is associated with one of the graph elements or entities in the graph structure, the system comprising: at least one authorization provider (31-33) associated with one of the scopes (S10-S30) and configured to provide authorization for data from the scope (S10-S30), an application programming interface (API) configured to receive a request from a requesting entity for data of at least one target entity located in or associated with an entity in the at least one industrial plant, Wherein, determining the scope related to the target entity (S10-S30), Therein, the at least one authorization provider (31-33) is configured to provide authorization for a request for data from a target entity.

8. A computer program for controlling access to data in a database in or associated with an industrial plant, the program comprising code means for causing a system according to claim 7 to perform a method according to any one of claims 1 to 6 when the program is run on a computer controlling the system according to claim 7.