Industrial Plant Optimization
The use of obfuscated containerized models and a container registry in isolated network environments addresses data security and model integrity issues, facilitating secure and efficient equipment optimization in industrial plants.
Patent Information
- Application Number
- JP2022535731
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-13
- Filing Date
- 2020-12-08
- Publication Date
- 2025-10-16
- Estimated Expiration
- 2040-12-08
AI Technical Summary
Industrial plants face challenges in maintaining data security and model integrity due to proprietary information and reluctance to share equipment data, leading to difficulties in scheduling maintenance and optimizing operations.
A method utilizing obfuscated containerized models and a container registry, where the user container runtime environment is isolated from the supplier network, allowing secure data transmission and execution of models without revealing proprietary information.
Ensures data security for both suppliers and users, enabling efficient model execution and optimization of equipment operations while maintaining data privacy.
Smart Images

Figure 0007755580000001 
Figure 0007755580000002 
Figure 0007755580000003
Abstract
Description
[Technical Field]
[0001] Technical Field The present teachings relate generally to computer-based optimization of industrial plants. [Background technology]
[0002] Background technology Industrial plants, such as process plants, include equipment operated to produce one or more industrial products. The equipment may be, for example, machinery and / or heat exchangers that require monitoring and maintenance. The need for maintenance may depend on several factors, including the operating time and / or load on the equipment, the environmental conditions to which the equipment is exposed, etc. Excessive or unplanned shutdowns of equipment are generally undesirable because they often result in a stoppage of production, which may reduce the efficiency of the plant and result in waste. Because the time between two maintenance events may vary, it may be difficult to schedule an equipment shutdown around the time that maintenance is actually required. Additionally, safety is very important in industrial plants. Various pieces of equipment or parts of the plant may be monitored to prevent unsafe conditions from occurring.
[0003] For example, an industrial plant, such as a chemical plant, may include equipment such as reactors, storage tanks, heat exchangers, compressors, valves, etc., which are monitored using sensors.
[0004] Plant equipment is often supplied by multiple external suppliers or manufacturers of equipment. Some suppliers may also generate computer models of their own equipment. Computer models may be useful for estimating the health of the equipment and predicting its maintenance requirements. In some cases, the models may also be capable of determining optimized operating parameters in response to specific inputs. The latter use may also be of significant interest to plant operators, because they may use the models to optimize the operation of the equipment or plant. Models may even be useful in determining safety states for the equipment.
[0005] This model, however, may contain proprietary information or intellectual property of the supplier that the supplier does not want disclosed to third parties. Plant operators are typically only interested in using the model, i.e., the model output in response to specific inputs. Deep knowledge behind the logic of the model may not be required by the plant operator to benefit from the model. Generating an accurate model can require significant effort and resources, so if a supplier is unwilling to disclose its know-how to third parties, the supplier may avoid developing a good model to mitigate the risk of leaking the know-how to third parties.
[0006] A similar problem may exist from the perspective of a plant operator. An industrial plant or specific plant equipment may generate large amounts of data when deployed within the plant. The data may be collected and stored in one or more databases over time. The data often contains valuable information regarding the plant and / or equipment response to various conditions. The data may be used, for example, in machine learning (“ML”) models. Such ML models may be usable for prediction, safety improvement, optimization, etc. Plant operators may not voluntarily provide access to plant and / or equipment data to external parties, including suppliers.
[0007] Thus, there is a need for a method for monitoring industrial plant equipment that provides increased security for model suppliers and model users. Summary of the Invention [Means for solving the problem]
[0008] overview At least some of the problems inherent in the prior art are solved by the subject matter of the attached independent claims. Viewed from a first perspective: In the user container runtime environment, via a container registry, an obfuscated containerized model of assets Image of receiving a containerized model including an API, the containerized model having been previously created in a supplier runtime environment located in a supplier network environment; Using model execution logic, container-type models Image the interface is connected to the API of the model. Image Process data signals sent to the API, and Image wherein the process data signal includes data regarding usage conditions of the asset, and the model result signal is indicative of a response of the asset to at least some of the usage conditions; A method may be provided in which the user container runtime environment is located in a user network environment that is isolated from the supplier network environment.
[0009] It will be appreciated that from the model result signals as generated using the proposed computer-implemented method, at least one estimate regarding the behavior of an asset may be determined while maintaining data protection of the model as well as the process data received as process data signals. Furthermore, deployment of the model at the user side may also be simplified.
[0010] According to one aspect, an asset is a piece of equipment, such as a reaction chamber, heat exchanger, compressor, valve, sensor, etc. In some cases, an asset can also be a group of equipment, such as a steam cracker, distillation unit, boiler, cooling tower, etc. In another aspect, an asset is a product produced by the plant. The product can be, for example, a chemical, a pharmaceutical, or even any material used as a feedstock by another plant in the value chain. To name a few non-limiting examples, the product can be a polymer, an additive, an emulsion, a catalyst, etc.
[0011] For equipment, the use conditions may be operational conditions for the equipment, such as inputs received by the equipment. As a non-limiting example, for a steam boiler, the use conditions or operational conditions may be input conditions such as inlet water temperature and inlet water flow rate. In addition, the operating conditions may also include ambient conditions such as ambient temperature. In addition, the operational conditions may also include control conditions such as controller target values, e.g., required steam outlet flow rate, outlet temperature, etc.
[0012] For a product, the use conditions may be the parameters under which the product is manufactured. In most manufacturing processes, tolerances exist for the final product or products manufactured. As a result, there is almost always variation in product quality. The conditions or parameters under which a product is manufactured may vary over time, depending on, for example, variations in temperature, pressure, and quantity of raw materials, and thus may be related to the specifications the final product has during manufacturing and / or storage. Furthermore, each of the parameters may be independent of at least some of the others, which results in variations in the final product specifications. For critical products, tolerances are generally strict to ensure that users of the product can obtain a product with consistent specifications. Tight tolerances often mean a more costly manufacturing process and / or more waste, as product batches that fall outside the tolerance range must be discarded. Applicant has recognized that, in at least some applications, instead of maintaining strict tolerances, product use conditions or manufacturing parameters can be transmitted to relevant users in the value chain. Users can then adapt their processes to more effectively use the product. This may then result in reduced costs and / or waste by relaxing product tolerances. The use conditions may then be concentration, density, weight, viscosity, strength, purity, or any such one or more parameters related to the product. Alternatively or additionally, the use conditions may be conditions or parameters that affect the product. For example, such conditions may be one or more parameters such as temperature, pressure, reaction time, or any other relevant parameter to which the product may be exposed for use or for further processing and / or storage. The model result signal may then indicate the response or behavior of the product when exposed to one or more use conditions. The response may indicate one or more properties of the product, such as, for example, composition, viscosity, density, structure, strength, etc.
[0013] The resulting signal may be used to determine an operational state for the asset, for example, by providing one or more control settings. The asset may then be operated in an optimized manner via the determined operational state, for example, achieved by the one or more control settings.
[0014] Thus, according to one embodiment, the method also comprises: Executing at least one control operation on or through the asset in response to the model result data signal.
[0015] This containerized model may be used to determine how an asset may be processed by executing at least one control operation on the asset, or the asset may be used to execute at least one control operation, so the model may be used to leverage improvements on the user side without affecting the data security of the model or the data security of the process data.
[0016] It will be appreciated that the present teachings may thus provide a technical solution for improving data security not only for suppliers but also for users. Aspects of the teachings that act synergistically include an obfuscated containerized model, a container registry, and an API adapted to receive process data signals and provide model result data signals. At least these features may prevent unauthorized access to models and unauthorized access to process data.
[0017] It will be clear that the term supplier is used to refer to a party that owns the model or the model logic. The term user is used to refer to a party that uses the model without requiring detailed knowledge of the model logic. According to one aspect, the supplier may therefore be a manufacturer of equipment, and the user may be a purchaser of the equipment or a plant operator that uses the equipment. The user may even be a party that is considering supplying equipment from the supplier. The model may then be used by the user to assess the suitability of equipment at the user's end before supplying it from the supplier. From the above, it will be understood that if the asset is a product, the supplier may be the manufacturer of the product, and the user may be a purchaser or prospective purchaser of the product. It will be understood that the user container runtime environment executes on a processing unit at the user's end.
[0018] The user network environment is isolated from the supplier network environment, at least in terms of access, i.e., the user network does not have access to the supplier network, and similarly, the supplier network does not have access to the user network. The network environments may be physically isolated as different networks located in different locations. The networks may even be isolated using security features such as one or more firewalls and / or other security measures. Each of the network environments is then a secure network.
[0019] As an example, and more specifically where the asset is equipment, a method for monitoring and / or controlling plant equipment may be provided, the method comprising: In the user container runtime environment, the device obfuscated container model is accessed via the container registry. Image of receiving a containerized model comprising an API, the containerized model having been previously created in a supplier runtime environment located in a supplier network environment; Using model execution logic, container-type models Image The API is connected by an interface, and the interface is Image Process data signals sent to the API, and Image wherein the process data signal includes data regarding operational conditions of the equipment, and the model result signal is indicative of a response of the equipment to at least some of the operational conditions; The user container runtime environment is located within a user network environment that is isolated from the supplier network environment.
[0020] It will be appreciated that from the model result signals, at least one estimate of the state of the equipment may be determined.
[0021] The container registry is preferably located within the shared environment. The shared environment is preferably isolated from the user network environment and the supplier network environment, at least in terms of access, i.e., the shared environment preferably has limited or no access to the supplier network and / or user network environment. The shared environment is however accessible by access from the user network environment and the supplier network environment. The user network environment is preferably a container-based model. Image ofAlthough the user may require access to the shared environment to receive the container registry, the access is preferably secured via multi-factor authentication and / or any other secure access means to ensure that the container registry is not accessible by any unauthorized third party. According to one aspect, the shared environment is located at the user side. The shared environment may be a virtualized, isolated part of the user network environment. According to another aspect, the shared environment may be part of a cloud service secured via multi-factor authentication and / or any other secure access means to ensure that the container registry is not accessible by any unauthorized third party. According to yet another aspect, the shared environment is located at the supplier side. The shared environment may be a virtualized, isolated part of the supplier network environment.
[0022] The applicant has recognized that the proposed teachings may provide a secure environment at the user side for models developed by suppliers for assets. The risk of model logic being exposed at the user side may thereby be reduced. Information or data security may thereby be improved. In addition, any one or more of the model execution logic, process data signals, and model result signals may be secured at the user side without information about them being transmitted to the supplier side. Furthermore, a constantly active connection between the supplier network environment and the user network connection may be avoided, which may further improve security and isolation between the two networks. For example, data about a containerized model may be transmitted to the container registry without the containerized model itself being transmitted. Image of or may even be a flag signal indicating that a containerized model or a new version thereof is available. The signal may then be sent to the user container runtime environment, which in response Image of is a model already stored in the container registry. Image The user environment may be directly imported from the model. Image may require that the model be transmitted via a registry or shared environment. Image When receiving, for example, from the registry Image By retrieving the data connection to the shared environment, the data connection may be deactivated by either or both of the user network environment and the supplier network environment, and the flag signal may be cleared. The data connection may be restored in response to a new flag signal indicating that a more recent version of the model is available. The flag signal may even exist as two separate signals, one on the user side and one on the supplier side: a supplier flag signal indicating to the container registry that a new model is available, and a user flag signal to indicate to the user side that a new model is available in the container registry. Thus, the execution and maintenance of the obfuscated containerized model in the container runtime environment may be facilitated. Image Additionally, by isolating the network in this manner, safety can be improved synergistically by both exposing the model logic at the user end and exposing the model execution logic, process data, and model results outside of the user network environment.
[0023] According to one aspect, an obfuscated container model Image of teeth ,image After being received by the user container runtime environment, it can be removed or deleted from the container registry. For example, the user or user container runtime environment ,image may provide a reception signal or flag that has already been received, in response ,image may be removed from the container registry. Image of The may be automatically deleted by the registry, or the user side may delete it upon receiving it in the user container runtime environment, or the supplier side may delete it, for example, in response to a received signal or flag. The image This may further protect the model from unauthorized access.
[0024] According to one aspect, the obfuscated containerized model is provided via a container registry by transmitting data from a supplier network environment. According to one aspect, data regarding the model is transferred to the container registry.
[0025] Similarly, from the supplier's perspective, according to a second aspect, there may also be provided a method for transmitting a model of an asset, the method comprising: providing a model of the asset within a supplier container runtime environment, the model being an obfuscated containerized model including the API, the supplier container runtime environment being located within the supplier network environment; sending data about the containerized model to a container registry; Container registry is a container-based model Image of The containerized model API is accessible by a user container runtime environment located in the user network environment to receive the model. Image Process data signals sent to the API, and Image the model execution logic is interfaced with the model execution logic via an interface including model result data signals transmitted from the API of the asset, the process data signals including data related to usage conditions of the asset, and the model result signals indicative of a response of the asset to at least some of the usage conditions; The supplier network environment is isolated from the user network environment.
[0026] By combining the receiver and transmitter, from the third point of view, providing an obfuscated containerized model of the asset within a supplier container runtime environment, the containerized model including the API, the supplier container runtime environment located within the supplier network environment; submitting data about the containerized model to a container registry; receiving, in a user container runtime environment, a copy of the containerized model via a container registry; Using model execution logic, container-type models Image The API is connected by an interface, and the interface is Image Process data signals sent to the API, and Image wherein the process data signal includes a model result data signal transmitted from the API of the asset management system, the process data signal including data regarding usage conditions of the asset, the model result signal indicating a response of the asset to at least some of the usage conditions; A method may also be provided in which the user container runtime environment is located in a user network environment that is isolated from the supplier network environment.
[0027] It will be understood that the containerized model includes obfuscated model logic (e.g., in C). The API (Application Programming Interface) can be, for example, a standard API that forwards verification requests to the obfuscated model logic. The API can then preferably be REST according to OpenAPI, gRPC, some MQTT, with specific, well-documented message bodies based on the model behavior.
[0028] It will further be appreciated that the supplier container runtime environment executes on a processing unit at the supplier's site.
[0029] According to one aspect, the API may apply additional measures to hide the contents of the containerized model, such as an authentication mechanism or passing embedded secrets to the obfuscated model binary.
[0030] According to another aspect, the containerized model also includes a machine learning (“ML”) module. In such a case, the interface also Image The container model may include a training data signal for training the container model. ImageThe ML module models the user training data via the training data signal. Image According to a further aspect, the interface can be trained at the user side by providing the model to the user. Image and a training result signal for receiving training result data from the training result signal.
[0031] Thus, the model may be a predictive model or may include a predictive model as an ML module, which when used and trained by a user, generates a model via a training data signal. Image A user-trained data-driven model may be derived by providing user training data to the supplier. A "data-driven model" refers to a model derived at least in part from data, which in this case is user training data that may include historical data about an asset, e.g., a product or equipment. In contrast to a rigorous model derived purely using physicochemical laws, a data-driven model may make it possible to describe relationships that cannot be modeled by physicochemical laws. The use of a data-driven model may make it possible to describe relationships without solving equations derived from physicochemical laws for processes performed in each manufacturing process, for example. This may reduce computational power and / or improve speed. In addition, a supplier may not need to know details about the user to provide such a model usable by the user.
[0032] The data-driven model may be a regression model. The data-driven model may be a mathematical model. The mathematical model may describe the relationship between the provided performance characteristic and the determined performance characteristic as a function.
[0033] In some cases, the containerized model may include a supplier-trained data-driven model, i.e., a model that has already been trained using supplier data from the supplier side, such as supplier historical data. The supplier-trained data-driven model may provide more holistic predictions at the user side without requiring the supplier data to be exposed to the user.
[0034] Thus, in the present context, a data-driven model, preferably a data-driven machine learning (“ML”) model, or simply a data-driven model, refers to a trained mathematical model that is parameterized according to a respective training dataset, such as supplier historical data and / or user historical data, thereby reflecting the reaction kinetics or physicochemical processes associated with an asset property or a manufacturing process. An untrained mathematical model refers to a model that does not reflect the reaction kinetics or physicochemical processes, e.g., an untrained mathematical model is not derived from physical laws that provide scientific generalizations based on empirical observations. Thus, kinetic or physicochemical properties may not be inherent in an untrained mathematical model. An untrained model does not reflect such properties. Feature engineering and training using a respective training dataset enables parameterization of the untrained mathematical model. The result of such training is simply a data-driven model, preferably a data-driven ML model, which, as a result of the training process, preferably reflects the reaction kinetics or physicochemical processes associated with the respective manufacturing process.
[0035] A container-type model may also be a hybrid model. A hybrid model may refer to a model that includes a first-principles portion, a so-called white box, and a data-driven portion, a so-called black box, as previously described. A container-type model may include a combination of a white-box model, a black-box model, and / or a gray-box model. A white-box model may be based on physicochemical laws expressed as equations, for example. The physicochemical laws may be derived from first principles. The physicochemical laws may include one or more of chemical kinetics, conservation of mass, momentum, and energy, and particle populations in any dimension. A white-box model may be selected according to the physicochemical laws governing the respective manufacturing process or portions thereof. A black-box model may be based on historical data, such as supplier historical data and / or user historical data. A black-box model may be constructed using one or more of machine learning, deep learning, neural networks, or another form of artificial intelligence. A black-box model may be any model that provides a good fit between a training dataset and test data. A gray-box model is a model that combines partial theoretical structures with data to complete the model.
[0036] The trained model may have a serial or parallel architecture. In a serial architecture, the output of the white-box model may be used as an input for the black-box model, or the output of the black-box model may be used as an input for the white-box model. In a parallel architecture, the combined output of the white-box model and the black-box model may be determined by superposition of the outputs. As a non-limiting example, a first sub-model may predict at least one of the performance parameters and / or at least some of the control settings based on a hybrid model having an analytical white-box model and a data-driven model acting as a black-box corrector trained on respective historical data. This first sub-model may have a serial architecture, and the output of the white-box model is input for the black-box model, or the first sub-model may have a parallel architecture. The predicted output of the white-box model may be compared with a test data set including a portion of the historical data. The error between the calculated white-box output and the test data may be learned by the data-driven model and then adapted for any prediction. The second sub-model may have a parallel architecture. Another example may also be possible.
[0037] As used herein, the terms "machine learning" or "ML" may refer to statistical methods that allow machines to "learn" tasks from data without explicit programming. Machine learning techniques may include "traditional machine learning," i.e., a workflow of manually selecting features and then training a model. Examples of traditional machine learning techniques may include decision trees, support vector machines, and ensemble methods. In some examples, data-driven models may include data-driven deep learning models. Deep learning is a subset of machine learning loosely modeled on the neural pathways of the human brain. Deep refers to multiple layers between the input layer and the output layer. In deep learning, algorithms automatically learn what features are useful. Examples of deep learning techniques may include convolutional neural networks ("CNNs"), recurrent neural networks such as long short-term memory (LSTM), and deep Q-networks.
[0038] The term "model execution logic" will be apparent to those skilled in the art. The term refers to any suitable hard-coded and / or software-based logic capable of performing the functions described herein. Depending on the model type and user usage, appropriate model execution logic may be ,image As mentioned above, the model execution logic models the process data signals. Image Industrial plants can be data-heavy environments, so model execution logic may be used to provide Image The model execution logic may provide relevant process data to the container-based model. The model execution logic may also be used to train the container-based model. Furthermore, the model execution logic may also be used to receive result data signals. Those skilled in the art will appreciate that the details of the model execution logic are not limited to the generality of the present teachings.
[0039] Similarly, the term API will be clear to those skilled in the art. An API, or Application Programming Interface, is a computing interface used to define the interaction between two or more software agents. For example, in this context, an API is a Image The API is used to interface the model with the model execution logic. Image By managing the interaction between the model and the model execution logic, Image It may further be possible to prevent the disclosure of
[0040] According to one aspect, the model execution logic receives process data from a process historian (e.g., OSISoft PI) and executes the model execution logic. Image The model execution logic sends at least a portion of the process data via a process data signal to the API. The model execution logic then receives the process results via a model result signal. At least some of the results may be sent back to a process historian for further analysis and / or storage, for example, in a database.
[0041] The user container runtime environment may be of the same type as the supplier runtime environment, or they may be different types but compatible environments such that a model may be executed in both environments. The existence of a shared environment may further allow for greater flexibility between the user runtime environment and the supplier runtime environment. The term "runtime environment" will be clear to those skilled in the art. However, as an example, the term may refer to a system or framework that provides an environment within which a computer program can be executed.
[0042] The term "network environment" will also be clear to those skilled in the art. However, by way of example, the term may refer to a system, framework, or infrastructure that includes one or more data networks, any suitable type of data transmission medium, wired, wireless, or a combination thereof. The particular type of network is not limiting to the scope or generality of the present teachings. A network may therefore refer to any suitable interconnection between at least one communication endpoint and another communication endpoint. A network may include one or more distribution points, routers, or other types of communication hardware. Network interconnections may be formed by means of hard physical wiring, optical and / or wireless radio frequency methods. A network may specifically be or include a physical network made entirely or partially by hard wiring, such as an optical fiber network, or a network made entirely or partially by conductive cables, or a combination thereof.
[0043] The container-based model proposed herein may be implemented by a virtualized machine environment, such as one that uses operating system ("OS") level virtualization. According to one aspect, the container-based model is implemented using containers, e.g., Docker containers. A container is a software package that often bundles its own software, libraries, and configuration files. Although containers are typically isolated from other containers, containers may communicate with each other through well-defined channels.
[0044] Applicant has further realized that the present teachings may be particularly suitable for applications within a value chain, or even within serial manufacturing, where assets or products produced by a first plant are used by a second plant. As previously described, by providing a model of the product to the second plant, the second plant can better adapt the manufacturing or process that utilizes the product according to the characteristics of the product already supplied to the second plant. This may result in one or more of reduced costs, reduced waste, and improved quality of the overall process including the first and second plants. Those skilled in the art will understand that the number of plants in a value chain may be greater than two. Or, more generally, a user may be a supplier for another user downstream in the value chain, etc.
[0045] An industrial plant, or simply a plant, includes infrastructure used for industrial purposes. The industrial purpose may be the production of one or more products, i.e., process manufacturing performed by a process plant. The products may be any products, such as chemicals, biologicals, pharmaceuticals, food, beverages, textiles, metals, plastics, and semiconductors. Thus, a plant may be one or more of a chemical plant, a pharmaceutical plant, a fossil fuel facility such as an oil and / or natural gas well, a refinery, a petrochemical plant, an oil fractionation plant, a fracking facility, etc. The products may even be intermediate products used to manufacture final products, either in the same plant or by downstream users in the value chain. A plant may even be one of a distillery, an incinerator, or a power plant. A plant may even be a combination of any of the above; for example, a plant may be a chemical plant, including a cracking facility such as a steam cracker, and / or a power plant. Those skilled in the art will understand that a plant also includes instruments, which may include several different types of sensors for monitoring plant parameters and equipment. At least a portion of the process data is generated via instruments such as sensors.
[0046] So, according to one aspect of the model receiver, the method also includes: Using the API of the obfuscated container type user model, Image interfacing with the API of
[0047] Model Image The interface between the API of the and the API of the user model can then be used to create a model for an asset to be provided to another user.
[0048] According to one aspect, a user model and a model Image are contained in a user container configuration, which is a well-defined set of containers that are specified to interact in a particular way through an interface. A container configuration may be, for example, a docker-compose file or a kubernetes deploy manifest.
[0049] So, more specifically, User container runtime environment, via a container registry, provides an obfuscated containerized model of assets. Image of receiving a containerized model including the API, the containerized model being generated in a supplier runtime environment located in the supplier network environment; Using model execution logic, container-type models Image The interface is a model API. Image Process data signals sent to the API, and Image the process data signal includes data regarding usage conditions of the asset, and the model result signal indicates a response of the asset to at least some of the usage conditions; The container type model is accessed through the API of the obfuscated container type user model. Image and interfacing to the API of A method may also be provided in which the user container runtime environment is located within a user network environment that is isolated from the supplier network environment.
[0050] So, for intermediate users in the value chain, The asset model is stored in the intermediate user container runtime environment. Image To provide a model Image is an obfuscated container model that contains the API, and Image The model is delivered to the supplier container runtime environment via the container registry. Image and the intermediate user container runtime environment is located within the intermediate user network environment; providing an obfuscated container-based intermediate user model within the intermediate user container runtime environment, the container-based intermediate user model also including an API; The container model is implemented so that an extension model can be realized through the API of the obfuscated container intermediate user model. Image wherein the extension model represents an intermediate user asset that has already been created using the asset; and transmitting data about the extension model to an intermediate user container registry; Including, Intermediate User Container Registry is an extension model Image of and a downstream user container runtime environment located within the downstream user network environment for receiving the extended model. Image The API is an extension model Image Downstream user process data signals sent to the API, and ImageA method of transmitting the extended model may also be provided, the extended model being interfacing with the extended model execution logic via an interface including downstream user model result data signals transmitted from the API, the downstream user process data signals including data regarding usage conditions of the intermediate user assets, and the downstream user model result signals indicating responses of the intermediate user assets to at least some of the usage conditions, wherein the supplier network environment, the intermediate user network environment, and the downstream user network environment are isolated from each other.
[0051] The intermediate user container registry and the container registry may be the same registry located in a shared environment, or they may be different registries located either in the same shared environment or in different environments shared between suppliers and intermediate users, and between intermediate users and downstream users, respectively.
[0052] According to one aspect, downstream user model execution logic is implemented via an API in the intermediate user model or via an API in the extension model. Image The extension model can be created either through the user model API included in Image The downstream user then interfaces with the API of the extended model in a manner similar to that previously described. Image Similarly, the interface may also include downstream model result signals. Image According to an additional aspect, the downstream user may also provide a downstream training data signal for training the augmented model. Image A downstream training results signal may be provided to receive training results data from
[0053] The advantage of the above teaching is that intermediate users can easily organize process data into containerized models. Image The advantage of this approach is that the model can be passed to the API of the asset manager and used to evaluate performance at that end without having to pass proprietary data to downstream users. Downstream users may further benefit from an expanded model that includes both the asset's model and contributions from intermediate users.
[0054] A similar approach may be applied to receiving and transmitting models for multiple users in a supply chain.
[0055] Viewed from another perspective, a computer program may also be provided that includes instructions that, when executed by a suitable computer processor, cause the processor to perform any of the method steps disclosed herein. Also provided may be a non-transitory computer-readable medium that stores a program that causes a suitable computer processor to perform any of the method steps disclosed herein.
[0056] A computer-readable data medium or carrier includes any suitable data storage device on which is stored one or more sets of instructions (e.g., software) that embody any one or more of the methodologies or functions described herein. The instructions may also reside, wholly or at least partially, in main memory and / or within the processor during execution by a computer system, main memory, and processing device, which may constitute a computer-readable storage medium. The instructions may further be transmitted or received over a network via a network interface device.
[0057] A computer program for implementing one or more of the embodiments described herein may be stored and / or distributed on a suitable medium, such as an optical storage medium or a solid-state medium provided together with or as part of other hardware, or may be distributed in another form, such as via the Internet or another wired or wireless communication system, but the computer program may also be made public via a network such as the World Wide Web and can be downloaded into the working memory of a data processor from such a network.
[0058] Viewed from another point of view, a data carrier or data storage medium may be provided for making a computer program element available for downloading, the computer program element being configured to perform a method according to one of the preceding embodiments.
[0059] One or more systems for monitoring and / or controlling plant equipment in an industrial plant may even be provided, the industrial plant also including at least one computer processor configured to perform any of the method aspects disclosed herein.
[0060] The word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or controller or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be interpreted as limiting the scope of the invention.
[0061] Exemplary embodiments are described below with reference to the accompanying drawings. [Brief explanation of the drawings]
[0062] [Figure 1] FIG. 1 is a block diagram of a network configuration. [Figure 2] FIG. 1 is a block diagram of a network configuration applied to a supply chain. [Figure 3] 1 is a flowchart illustrating certain aspects of the present teachings. DETAILED DESCRIPTION OF THE INVENTION
[0063] Detailed Description 1 illustrates a network configuration 100 according to one aspect of the present teachings. For purposes of understanding, a receiver and a transmitter are shown together in the configuration 100. Method aspects will be described below with reference to the network configuration.
[0064] The configuration 100 includes a containerized model 101 provided within a supplier container runtime environment 105. The supplier container runtime environment 105 is located within a supplier network environment 109. The supplier network environment 109 in some cases may be referred to as belonging to the supplier. Supplier is used to refer to the party that developed the model 101 and / or the party that has an interest in protecting the logic of the model 101 from disclosure to third parties.
[0065] The configuration 100 also includes a container registry 150 located within a shared environment 159. In this example, the shared environment 159 is shown as part of a cloud service. However, the shared environment 159 may alternatively be implemented at a supplier site. Via a supplier communication link 121, data regarding the model 101 may be provided to the container registry 150. The data may be stored in a database or a hard disk drive. Image of The data may be either a copy or a new version of the model 101, and / or the data may be one or more flags indicating that a new version of the model 101 is available at the supplier's side. It will be appreciated that the communication link may be either a wired or wireless network connection. Thus, the communication link may be at least partially an Internet connection, or in some cases, an intranet connection. The supplier communication link 121 may even be a mobile network that supports computer data transfer. Communication via the supplier communication link 121 may be via a secure connection, such as a virtual private network ("VPN") connection.
[0066] The containerized model 101 may be obfuscated for security purposes either within the supplier container runtime environment 105 or when transmitting data to or through the container registry 150. The containerized model 101 also includes an API 102.
[0067] On the user side, the model 101 provided in the user container runtime environment 115 Image of 111 is shown .image 111 is a user communication link 122 through the container registry 150 to transmit the obfuscated container type model. Image Like supplier communication link 121, user communication link 122 may be either wired and / or wireless. Thus, user communication link 122 may be at least partially an Internet connection, and in some cases, even an intranet connection. User communication link 122 may even be a mobile network assisted computer data transfer. Communications over user communication link 122 may even be over a secure connection, such as a virtual private network (“VPN”) connection.
[0068] Model Image 111 also contains model API102, which is a copy of model API102. Image Includes API112. ImageThe API 112 includes an interface that includes a process data signal 141 and a model result signal 142. The process data signal 141 is used to transmit data regarding asset usage conditions. Assets typically reside at the user's end, and as such, users are often reluctant to share process data generated by their assets with third parties. The process data often contains valuable information about the asset and the plant that contains the asset. Such information can be used, for example, to optimize the performance of the asset and / or plant, which can be used by the user to reduce the cost and / or improve the quality of products manufactured by the asset or plant. The model result signal 142 can provide such an estimate of performance by indicating the asset's response to at least some of the usage conditions as specified by the process data signal 141. The user container runtime environment 115 is located within a user network environment 119 that is isolated from the supplier network environment 109; i.e., the network environments 109 and 119 are isolated from each other. Isolation means that resources in either network environment 109 or 119 do not have access rights to the other network environment.
[0069] The proposed architecture and method for sending and / or receiving models may thus enable improved security for both supplier and user proprietary intellectual property rights, so that suppliers can provide better models for user purposes, and users can use models with both parties enjoying better security.
[0070] The process data signals 141 and model result signals 142 are handled by the model execution logic 140 and are used by the user to model the process data. Image 111 and for interpreting the model results.
[0071] Optionally, the interface may also include a training data signal 143 and a training result signal 144. The training data signal 143 is used to train the model by providing training data to the user side. Image 111. The training data may be, for example, historical data about the asset, which is used to train the model. Image 111. The training result signal 144 is used to train the machine learning module in the model. Image 111. In this way, the user can use the modeler to model the assets at the user's end. Image 111. Training signals 143 and 144 can also be handled via model execution logic 140 as shown.
[0072] FIG. 2 illustrates another network configuration 200 in accordance with the present teachings. Also, in this example, for purposes of understanding, the receiver and transmitter are shown together, and this will also be used to explain method aspects. Furthermore, for simplicity, reference numerals from FIG. 1 are reused to refer to components that may be the same as or similar to those in the supplier-user example shown in FIG. 1. In particular, the containerized model 101 is shown provided within a supplier container runtime environment 105, which is located within a supplier network environment 109. Furthermore, the container registry 150 is shown as a common registry located within a shared environment 159 in the cloud. As previously explained, the registry may even be divided between portions of the supply chain, i.e., between specific user-supplier groups. Furthermore, the shared environment 159 may be either a common environment as shown, or different environments for different groups.
[0073] It will be appreciated that the user network environment 119 of FIG. 2 can be considered an intermediate user network environment. Image of111 is shown provided within a user container runtime environment, which may be referred to herein as an intermediate user container runtime environment 115. The intermediate user container runtime environment 115 is located within an intermediate user network environment 119, which is isolated from the supplier network environment 109. The intermediate user model execution logic 140 executes model execution logic for signals such as process- and / or training-data and results. Image 111. The signals are not shown individually in FIG.
[0074] An intermediate user may use an asset to create an intermediate user asset, for example, by using the asset as a starting point to manufacture an intermediate user asset. To provide visibility to a downstream value chain or another user, the intermediate user may create an extended model 222. The extended model 222 is a representation of the model. Image 111 and an obfuscated container-type intermediate user model 261. The obfuscated container-type intermediate user model may, for example, be modeled on the container-type intermediate user model 261 via an intermediate model data signal 225. Image 111. The extension model 222 may be included within a container configuration.
[0075] The intermediate user may transmit the extension model 222 via an intermediate user container registry, which is shown in the example of FIG. 2 to be the same as the container registry 150 .
[0076] Downstream users with access to the shared registry 150 can communicate with the extension model 222 via downstream communication link 223. Image of The communication link has been described above with reference to FIG. 1. The downstream may optionally add to the model by creating further extended models 232. This may be the case when a downstream user wishes to provide further extended models 232 to another user, e.g., another downstream user. The further extended models 232 may be provided in addition to the extended models 222. Image of This includes the container model Image 111 and the container-type intermediate user model 261, respectively. Image 211 and 271. Image 211 and 271 are linked by signal 235, which corresponds to intermediate model data signal 225. The downstream user creates a containerized downstream user model 281, which communicates via downstream model data signal 236 with the extended model via its API 282. Image A further extension model 232 is provided in a downstream container runtime environment 215, which is located in a downstream user network environment 219.
[0077] A downstream logic bus 251 is shown, which may be similar to the intermediate logic bus 241 as previously described. Accordingly, the corresponding downstream process data signals and downstream model result signals in the downstream logic bus 251 may be handled by downstream model execution logic 240. The downstream model execution logic 240 may be different from the model execution logic 140, or they may be similar. Similarly, the downstream model execution logic Image 211 also includes downstream models that may be copies of the model API 102. Image Includes API212.
[0078] If the supplier network environment 109, intermediate user network environment 119, and downstream user network environment 219 need to be isolated from each other, the proposed teachings can provide a secure way to provide models within the value chain.
[0079] If a downstream user does not need to provide a model to another user, a further extension model 232 may be added just like extension model 222. Image of It will be understood that it may be possible.
[0080] The model on each side (i.e., user side, intermediate user side, or downstream user side) ImageIt will be appreciated that the model execution logic and the model execution logic are executing on a processing unit, which may be either the same processor or a distributed processing environment. Similarly, at the supplier side, the containerized model is generated using a processing unit at the supplier side. The particular architecture of the processing unit is not necessary to the scope or generality of the present teachings.
[0081] 3 illustrates a flowchart 300, e.g., a computer routine, in accordance with the present teachings. In block 301, an obfuscated containerized model of an asset is generated. Image of 111 is received in the user container runtime environment 115 .image 111 is provided via a container registry 150, which may be part of a shared environment 159. The containerized model 101 includes an API 102, which ,image 111 also includes an API 112. The containerized model 101 is created in a supplier runtime environment 105 located in a supplier network environment 109. In block 302, the containerized model Image The API 112 of 111 is coupled to the model execution logic 140. Image The process data signal 141 being sent to the API 112 of the model Image111 and a model result data signal 142 transmitted from the API 112 of the user container runtime environment 115. The process data signal 141 includes data regarding usage conditions of the asset, and the model result signal 142 indicates the asset's response to at least some of the usage conditions. The user container runtime environment 115 is located in a user network environment 119 that is isolated from the supplier network environment 109. Optionally, in block 303, the result signal 142 is used to determine an operational state of the asset, and the operational state may be used to determine one or more control settings for the asset. For example, the control setting may be used to operate the asset to achieve an optimized operating state, or the control setting may relate to treating the asset in an optimized manner, for example, to achieve a desired performance of the asset. Thus, the asset may be a product, such as a chemical product, or the asset may be equipment.
[0082] According to the method aspects discussed in the present teachings, a similar flowchart may be obtained for the supplier side. For example, in a first step, a model 101 of an asset may be provided in a supplier container runtime environment 105. The model 101 is an obfuscated containerized model including an API 102. As a second step, data about the containerized model 101 is sent to a container registry 150. The container registry 150 is accessible by a user container runtime environment 115 located in a user network environment 119. The container registry 150 is used to receive an image 111 of the containerized model. Image The API 112 of 111 can be coupled to the model execution logic 140 via an interface, which Image The process data signal 141 sent to the API 112 of the model Image and a model result data signal 142 transmitted from the API 112 of 111. The model result signal 142 indicates the response of the asset to at least some of the usage conditions.
[0083] The supplier and user aspects may be combined as shown. Various examples are disclosed of asset models, computer networks, and methods for transmitting and receiving computer software products that perform any of the associated method steps disclosed herein. Those skilled in the art will understand, however, that changes and modifications may be made to these examples without departing from the spirit and scope of the appended claims and their equivalents. It will further be understood that aspects from the method and product embodiments discussed herein may be freely combined.
[0084] Certain exemplary embodiments of the present teachings are summarized as follows. Clause 1 In the user container runtime environment, via a container registry, an obfuscated containerized model of assets Image of receiving a containerized model including an API, the containerized model having been created in a supplier runtime environment located in a supplier network environment; Using model execution logic, the container type model Image connecting the APIs of the model with an interface, Image a process data signal sent to the API of the model; Image wherein the process data signal includes data regarding the usage conditions of the asset, and the model result signal is indicative of a response of the asset to at least some of the usage conditions; Including, A method or computer-implemented method, wherein the user container runtime environment is located in a user network environment that is isolated from the supplier network environment.
[0085] Clause 2 1. A method or computer-implemented method for transmitting a model of an asset, the method comprising: providing the model of the asset in a supplier container runtime environment, the model being an obfuscated containerized model including an API, the supplier container runtime environment being located in a supplier network environment; sending data about the containerized model to a container registry; Including, The container registry includes the container-type model Image of a user container runtime environment located within a user network environment to receive said containerized model; Image The API of the model Image a process data signal sent to the API of the model; Image the model execution logic is capable of interfacing with the model execution logic via an interface including model result data signals transmitted from the API, the process data signals including data regarding the usage conditions of the asset, and the model result signals indicative of a response of the asset to at least some of the usage conditions; the supplier network environment is isolated from the user network environment; method.
[0086] Clause 3 3. The method of claim 1 or 2, wherein the asset is a part of a device.
[0087] Clause 4 3. The method of claim 1 or 2, wherein the asset is a chemical product.
[0088] Clause 5 10. The method of any of the preceding clauses, wherein the container registry is located in a shared network environment.
[0089] Clause 6 The method of any preceding clause, wherein the containerized model also includes a machine learning ("ML") module.
[0090] Clause 7 The model execution logic receives process data from a process history and executes the model execution logic via the process data signals. Image 10. The method of claim 1, further comprising transmitting at least some of the process data to an API.
[0091] Article 8 The method comprises: Using the API of the obfuscated container type user model, Image interfacing said API; 2. The method of clause 1, further comprising:
[0092] Article 9 The user model and the model Image is contained within a user container configuration.
[0093] Article 10 Within the intermediate user container runtime environment, the asset's model Image providing said model Image is an obfuscated containerization model that includes an API, Image has been received from a supplier container runtime environment via a container registry, said intermediate user container runtime environment being located within an intermediate user network environment; providing an obfuscated container-based intermediate user model within the intermediate user container runtime environment, the container-based intermediate user model also including an API; The container type model is provided so that the extension model is realized through the API of the obfuscated container type intermediate user model. Image wherein the extension model represents intermediate user assets that have already been created using the assets; sending data about the extension model to an intermediate user container registry; Including, The intermediate user container registry Image of and a downstream user container runtime environment located within the downstream user network environment for receiving said extension model. Image The API of the extension model Image downstream user process data signals transmitted to the API of the expansion model; Image the downstream user process data signals include data regarding the usage conditions of the intermediate user assets, and the downstream user model result signals indicate responses of the intermediate user assets to at least some of the usage conditions; A method or computer-implemented method for transmitting an extended model, wherein the supplier network environment, the intermediate user network environment, and the downstream user network environment are isolated from each other.
[0094] Article 11 11. The method of clause 10, wherein the intermediate user container registry and the container registry are the same registry.
[0095] Article 12 11. The method of clause 10, wherein the intermediate user container registry and the container registry are different registries located either in the same shared environment or in different environments.
[0096] Article 13 The method also includes: performing at least one control operation on or through the asset in response to the model results data signal. A method according to any of the preceding clauses, including:
[0097] Article 14 14. A system including at least one computer processor configured to perform the method steps of any of clauses 1 to 13.
[0098] Article 15 A computer program product comprising instructions which, when executed by a suitable computer processor, cause said processor to perform the method steps of any of clauses 1 to 13.
Claims
1. receiving, in a user container runtime environment via a container registry, an image of an obfuscated containerized model of an asset, the containerized model including an API, the containerized model having been previously created in a supplier runtime environment located in a supplier network environment; interfacing the API of the containerized model image with model execution logic, the interface including process data signals sent to the API of the model image and model result data signals sent from the API of the model image, the process data signals including data regarding usage conditions of the asset, and the model result data signals indicative of a response of the asset to at least some of the usage conditions; Including, The method of claim 1, wherein the user container runtime environment is located in a user network environment that is isolated from the supplier network environment.
2. 1. A method for transmitting a model of an asset, the method comprising: providing the model of the asset in a supplier container runtime environment, the model being an obfuscated container model including an API, the supplier container runtime environment being located in a supplier network environment; sending data about the containerized model to a container registry; Including, the container registry is accessible by a user container runtime environment located within a user network environment to receive images of the containerized model, the API of the containerized model image is interfaceable with model execution logic via an interface including process data signals sent to the API of the model image and model result data signals sent from the API of the model image, the process data signals including data regarding the usage conditions of the asset, and the model result data signals indicative of responses of the asset to at least some of the usage conditions; the supplier network environment is isolated from the user network environment; method.
3. The method of claim 1 or claim 2, wherein the asset is a piece of equipment.
4. The method of claim 1 or claim 2, wherein the asset is a chemical product.
5. The method according to any one of claims 1 to 4, wherein the container registry is located in a shared network environment.
6. The method of any of claims 1 to 5, wherein the containerized model also includes a machine learning ("ML") module.
7. The method of claim 1 , wherein the model execution logic receives process data from a process historian and transmits at least some of the process data to the model image API via the process data signal.
8. 1. A method for transmitting an extended model, comprising: providing a model image of the asset within an intermediate user container runtime environment, the model image being an obfuscated container type model including an API, the model image having been received from a supplier container runtime environment located within a supplier network environment via a container registry, the intermediate user container runtime environment being located within the intermediate user network environment; providing an obfuscated container-based intermediate user model within the intermediate user container runtime environment, the container-based intermediate user model also including an API; interfacing the API of the container-type model image such that the extended model is realized via the API of an obfuscated container-type intermediate user model, the extended model representing an intermediate user asset that has already been created using the asset; sending data about the extension model to an intermediate user container registry; Including, the intermediate user container registry is accessible by a downstream user container runtime environment located in a downstream user network environment to receive an image of the extended model, the API of the extended model image is interfaceable with extended model execution logic via an interface including downstream user process data signals transmitted to the API of the extended model image and downstream user model result data signals transmitted from the API of the extended model image, the downstream user process data signals including data regarding usage states of the intermediate user assets, and the downstream user model result data signals indicating responses of the intermediate user assets to at least some of the usage states; The method, wherein the supplier network environment, the intermediate user network environment, and the downstream user network environment are isolated from each other.
9. The method of claim 8 , wherein the intermediate user container registry and the container registry are the same registry.
10. The method of claim 8 , wherein the intermediate user container registry and the container registry are different registries located either in the same shared environment or in different environments.
11. The method also includes: performing at least one control operation on or through the asset in response to the model results data signal. The method of any of claims 1 to 10, comprising:
12. A system comprising at least one computer processor configured to perform the method steps according to any of claims 1 to 11.
13. A computer program comprising instructions which, when executed by a suitable computer processor, cause said processor to perform the method steps according to any of claims 1 to 11.
Citation Information
Patent Citations
Method for obfuscating a computer program
US20120110349A1
Simulating a topology of network elements
US20180248769A1
Provisioning of software applications on edge devices in an internet-of-things environment
WO2019063383A1