DETAILED ACTION
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Allowable Subject Matter
Claims 15 and 19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-14, 16-18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over
U.S. Patent Application Publication No. 2016/0274552 (Strohmenger) in view of
U.S. Patent Application Publication No. 2022/0091583 (Biernat).
Claim 1:
The cited prior art describes a system comprising: (Strohmenger: see the system 400 as illustrated in figure 4; “Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. . . As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.” Paragraph 0035)
an industrial network device comprising one or more input terminals, wherein the industrial network device is configured to perform one or more operations in association with an industrial automation system based on symbolic data received via the one or more input terminals; and (Strohmenger: see the industrial automation system 406 with industrial devices 414 as illustrated in figure 4; “The cloud-based industrial controller can be a virtualized industrial controller, for example. The cloud-based industrial controller can monitor and analyze the collected information, generate control instructions based at least in part on the analysis results, and communicate the control instructions to the devices, processes, other assets, and/or other components of the industrial automation system to control operation of the industrial automation system.” Paragraph 0033)
processing circuitry comprising one or more output terminals communicatively coupled to the one or more input terminals, wherein the processing circuitry is configured to: (Strohmenger: see the cloud platform 404 with a virtualization component 430 as illustrated in figure 4; “The cloud-based industrial controller can be a virtualized industrial controller, for example. The cloud-based industrial controller can monitor and analyze the collected information, generate control instructions based at least in part on the analysis results, and communicate the control instructions to the devices, processes, other assets, and/or other components of the industrial automation system to control operation of the industrial automation system.” Paragraph 0033)
provide a virtualized control system communicatively coupled to the industrial network device via the one or more output terminals; (Strohmenger: see the virtualization component 430 connected to the industrial automation system 406 as illustrated in figure 4; “The system 400 also can comprise the virtualization component 430 that can generate, update, and maintain a virtualized industrial automation system that can virtualize and correspond to the industrial automation system 406. The virtualization component 430 can generate or update the virtualized industrial automation system based at least in part on results of the analysis or analytics performed on the set of data and/or the model 428.” Paragraph 0099)
Strohmenger does not explicitly describe a container or CIP namespace as described below. However, Biernat teaches the container and CIP namespace as described below.
receive an event notification from a first container provided by one or more computing devices external to the industrial automation system; (Biernat: “That is, the container system 30 may generate an event notification that causes an API or other component of the control system 66 to react in response to detecting the event notification. In this way, the container node 30 may actively participate in the coordination of containers with a respective control system 66 based on orchestration commands received passively from the master container node 62 or the like.” Paragraph 0072) (Strohmenger: “The system 200 also can comprise a collection component 208 (e.g., cloud-based collection component) that can collect or obtain data (e.g., industrial-automation-system-related data) from the industrial automation system(s) 206 and/or other data sources, such as extrinsic data sources 210. The system 200 further can comprise a data store 212 that can store the data collected from the one or more industrial automation systems 206 and/or the extrinsic data sources 210.” Paragraph 0049)
operate the virtualized control system to expose the event notification via a symbolic common industrial protocol (CIP) namespace configured to provide the symbolic data to the one or more input terminals based on the event notification; and (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142) (Biernat: “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
transmit the symbolic data corresponding to the virtualized control system via the one or more input terminals to the industrial network device. (Strohmenger: “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057)
One of ordinary skill in the art would have recognized that applying the known technique of Strohmenger, namely, a cloud based industrial controller, with the known techniques of Biernat, namely, using container orchestration system for an industrial platform, would have yielded predictable results and resulted in an improved system. Accordingly, applying the teachings of Strohmenger to communicate information in an industrial control system with the teachings of Biernat to communicate information in an industrial platform using containers would have been recognized by those of ordinary skill in the art as resulting in an improved industrial control system (i.e., the combination of the references provides for an industrial control system for communicating information using containers based on the teachings of an industrial control system communicating information in Strohmenger and the teachings of an industrial control system communicating information using containers in Biernat).
Claim 2:
The cited prior art describes the system of claim 1,
wherein the industrial network device is configured to:
receive the symbolic data from the processing circuitry; (Strohmenger: “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057; “The industrial controller 224 can receive the supplemental instructions and can implement (e.g., execute) the supplemental instruction to modify and control operation of the industrial automation system 206, in accordance with the supplemental instructions and defined control algorithm.” Paragraph 0060)
Strohmenger does not explicitly describe a HMI as described below. However, Biernat teaches the HMI as described below.
determine to adjust a visualization presented via a human-machine interface (HMI) based on the event notification; and (Biernat: “As illustrated, a display/operator interface 20 depicts representations 22 of the components of the industrial automation system 10. The industrial control system 12 may use data transmitted by sensors 18 to update visualizations of the components via changing one or more statuses, states, and/or indications of current operations of the components. These sensors 18 may be any suitable device adapted to provide information regarding process conditions. Indeed, the sensors 18 may be used in a process loop (e.g., control loop) that may be monitored and controlled by the industrial control system 12.” Paragraph 0029; “The industrial control systems 12 may be communicatively coupled to a display/operator interface 20 (e.g., a human-machine interface (HMI)) and to devices of the industrial automation system 10. It should be understood that any suitable number of industrial control systems 12 may be used in a particular industrial automation system 10 embodiment. The industrial control systems 12 may facilitate representing components of the industrial automation system 10 through programming objects that may be instantiated and executed to provide simulated functionality similar or identical to the actual components, as well as visualization of the components, or both, on the display/operator interface 20. The programming objects may include code and/or instructions stored in the industrial control systems 12 and executed by processing circuitry of the industrial control systems 12. The processing circuitry may communicate with memory circuitry to permit the storage of the component visualizations.” Paragraph 0028; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063) (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142)
generate one or more control signals to adjust the HMI based on the determination to adjust the visualization. (Biernat: “As illustrated, a display/operator interface 20 depicts representations 22 of the components of the industrial automation system 10. The industrial control system 12 may use data transmitted by sensors 18 to update visualizations of the components via changing one or more statuses, states, and/or indications of current operations of the components. These sensors 18 may be any suitable device adapted to provide information regarding process conditions. Indeed, the sensors 18 may be used in a process loop (e.g., control loop) that may be monitored and controlled by the industrial control system 12.” Paragraph 0029; “The industrial control systems 12 may be communicatively coupled to a display/operator interface 20 (e.g., a human-machine interface (HMI)) and to devices of the industrial automation system 10. It should be understood that any suitable number of industrial control systems 12 may be used in a particular industrial automation system 10 embodiment. The industrial control systems 12 may facilitate representing components of the industrial automation system 10 through programming objects that may be instantiated and executed to provide simulated functionality similar or identical to the actual components, as well as visualization of the components, or both, on the display/operator interface 20. The programming objects may include code and/or instructions stored in the industrial control systems 12 and executed by processing circuitry of the industrial control systems 12. The processing circuitry may communicate with memory circuitry to permit the storage of the component visualizations.” Paragraph 0028; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 3:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the system of claim 1, wherein the processing circuitry is configured to provide the virtualized control system at least in part by providing a container performing operations to provide the virtualized control system. (Biernat: “That is, the container system 30 may generate an event notification that causes an API or other component of the control system 66 to react in response to detecting the event notification. In this way, the container node 30 may actively participate in the coordination of containers with a respective control system 66 based on orchestration commands received passively from the master container node 62 or the like.” Paragraph 0072; “In the active participant mode, the container node 30 may include a computing module or system that hosts an operating system (e.g., Linux) that may continuously operate a container host daemon that may participate in the management of container operations. As such, the active participant container node 30 may perform any operations that the master node of the container orchestration system 24 may perform. By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like. For instance, the container node 30 operating as the proxy node 32 may intercept orchestration commands and cause industrial control system 12 to implement appropriate machine control routines based on the commands. The industrial control system 12 may confirm the machine state to the proxy node 32, which may then reply to the master node of the container orchestration system 24 on behalf of the industrial control system 12.” Paragraph 0038)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 4:
Strohmenger does not explicitly describe polling as described below. However, Biernat teaches the polling as described below.
The cited prior art describes the system of claim 1, wherein the processing circuitry is configured to operate the virtualized control system to expose the event notification in response to the industrial network device polling the symbolic CIP namespace. (Biernat: “To receive the machine state data, the container node 30 may send requests to the control system 66 via an appropriate OT communication protocol. In response to receiving the requests, the control system 66 may query a database, memory cell, or other suitable storage that may include information regarding the requested data. After retrieving the requested information, the control system 66 may send the requested data to the container node 30 using the same OT communication protocol on which it received the request.” Paragraph 0067; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 5:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the system of claim 1,
wherein the first container is configured to:
receive acquired data from a sensor of a target device; (Biernat: “At block 134, the container node 30 may retrieve machine state data from the control system 66. The machine state data may include current operational state (e.g., active, inactive) of the respective OT device controlled by the control system 66, available processing resources (e.g., CPU availability), available memory resources (e.g., storage, RAM), and the like. The machine state data may also indicate whether any containers are being executed by the control system 66.” Paragraph 0066)
perform a processing operation on the acquired data; (Biernat: “After receiving the machine state data from the control system 66, the container node 30 may, at block 136, determine whether the control system 66 is operating at a desired state based on the deployment configuration file 65. In the present embodiment, the container node 30 may evaluate whether the control system 66 is executing the containers, as specified in the deployment configuration file 65. That is, since the container node 30 may execute the container daemon host, the container node 30 may participate in the management of the containers distributed throughout the container orchestration system 24 by monitoring the machine state data of the control system 66.” Paragraph 0070)
generate the event notification based on the processing operation; and (Biernat: “If, however, the container node 30 determines that the control system 66 is not operating in the desired state, the container node 30 may proceed to block 140 and generate a package that may cause the control system 66 to modify its operations to execute the corresponding pod and the containers therein. After generating the package, the container node 30 may send the package directly to the control system 66 to execute. In this way, the container node 30 operate in the passive-direct mode because the container node 30 may directly send commands that cause the control system 66 to change operations.” Paragraph 0072)
transmit the event notification to the processing circuitry without transmitting the acquired data. (Biernat: “After generating the package, the container node 30 may send the package directly to the control system 66 to execute. In this way, the container node 30 operate in the passive-direct mode because the container node 30 may directly send commands that cause the control system 66 to change operations.” Paragraph 0072)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 6:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the system of claim 5, wherein the acquired data comprises a first amount of data, wherein the event notification comprises a second amount of data, and wherein the second amount of data is less than the first amount of data. (Biernat: “After the control system 66 performs the pre-analytic operations and acquires the pre-analytic data, the master container node 62 may, at block 164, receive the pre-analytic data from the container node 30. As discussed above, the container node 30 may receive the pre-analytic data via OT communication protocols and translate the received data into a format interpretable by the master container node 62. Since the pre-analytic data is processed close to the source of the data and organized as the pre-analytic data, the amount of data that is sent to the master container node 62 is less than the raw data that was analyzed to obtain the pre-analytic data. As such, the container orchestration system 24 may reduce the amount or volume of network traffic transmitted across the nodes of the container orchestration system 24 by using the control systems 70 to process raw data and transmit the smaller pre-analyzed data results.” Paragraph 0086)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 7:
The cited prior art describes the system of claim 1, wherein the industrial network device is configured to perform the one or more operations based on the symbolic data received via the one or more input terminals and based on an input/output assignment configured to associate the one or more input terminals with the one or more output terminals and the virtualized control system. (Strohmenger: “Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057; “The control program can comprise any suitable type of code that can be used to process input signals read into the controller and to control output signals generated by the industrial controller, including, but not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.” Paragraph 0109; “When an industrial-plant-based industrial controller is employed by an industrial automation system, the instruction component 618 also can determine control instructions or supplemental control instructions that are to be implemented or executed by the industrial-plant-based industrial controller based at least in part on the analysis results, in accordance with the defined control algorithm and the defined control criteria.” Paragraph 0123)
Claim 8:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the system of claim 1,
wherein the first container is configured to be provided by one or more off-premise computing devices communicatively coupled together as part of a first network that is external to a second network associated with the industrial automation system, (Biernat: see the worker container node 68 communicating with the control systems 66, 70 as illustrated in figure 3; “In addition, the proxy node 32 may also perform certain supervisory operations based on its analysis of the machine state data of the respective control system 66. As a result of its analysis, the proxy node 32 may issue commands and/or pods to other nodes that are part of the container orchestration system 24. For example, referring to FIG. 3, the proxy node 32 may send instructions or pods to other worker container nodes 68 that may be part of the container orchestration system 24. The worker container nodes 68 may corresponds to other container nodes 30 that are communicatively coupled to other control systems 70 for controlling other OT devices 71. In this way, the proxy node 32 may translate or forward commands directly to other control systems 70 via certain OT communication protocols or indirectly via the other worker container nodes 68 associated with the other control systems 70. In addition, the proxy node 32 may receive replies from the control systems 70 via the OT communication protocol and translate the replies, such that the nodes in the container orchestration system 24 may interpret the replies.” Paragraph 0075)
wherein the one or more off-premise computing devices are configured to communicate to the processing circuitry via a gateway device communicatively coupled between the first network and the second network. (Biernat: see the worker container node 68 communicating with the control systems 66, 70 via the proxy node 32 as illustrated in figure 3; “For example, referring back to FIG. 3, a proxy node 32 may operate as a proxy or gateway node that is part of the container orchestration system 24.” Paragraph 0074)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 9:
Strohmenger does not explicitly describe CIP namespace as described below. However, Biernat teaches the CIP namespace as described below.
The cited prior art describes the system of claim 1, wherein the virtualized control system is configured to expose the event notification to the one or more input terminals without persistence. (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142) (Biernat: “The first computing node may receive update data for a first control system of the plurality of control systems, a first OT device of the plurality of OT devices, or both. The first control system, the first OT device, or both are configured to perform one or more operations. The update data may update one or more software components being executed by the first control system, the first OT device, or both.” Paragraph 0006; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 10:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the system of claim 1, wherein the processing circuitry is configured to provide the virtualized control system based on receiving a container image from a container orchestration system. (Biernat: “In this way, the proxy node may be programmed to execute a container daemon that enables the proxy node to receive containers stored in a container registry and deploy the containers at scale to one or more control systems that control operations of one or more respective OT assets.” Paragraph 0023; “In some embodiments, containers may be stored in a container registry 26 as container images 28. The container registry 26 may be any suitable data storage or database that may be accessible to the container orchestration system 24. The container image 28 may correspond to an executable software package that includes the tools and data employed to execute a respective application. That is, the container image 28 may include related code for operating the application, application libraries, system libraries, runtime tools, default values for various settings, and the like.” Paragraph 0033; “The container orchestration system 24 may coordinate the distribution and execution of the pods listed in the deployment configuration file, such that the desired state is continuously met. In some embodiments, the container orchestration system 24 may include a master node that retrieves the deployment configuration files from the container registry 26, schedules the deployment of pods to the connected nodes, and ensures that the desired state specified in the deployment configuration file is met.” Paragraph 0034)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 11:
The cited prior art describes a non-transitory, tangible, computer-readable medium storing instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations comprising: (Strohmenger: see the system 400 as illustrated in figure 4; “Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. . . As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.” Paragraph 0035)
Strohmenger does not explicitly describe a container or CIP namespace as described below. However, Biernat teaches the container and CIP namespace as described below.
receiving a first container image corresponding to a first deployed container from a container orchestration system; (Biernat: “In this way, the proxy node may be programmed to execute a container daemon that enables the proxy node to receive containers stored in a container registry and deploy the containers at scale to one or more control systems that control operations of one or more respective OT assets.” Paragraph 0023; “In some embodiments, containers may be stored in a container registry 26 as container images 28. The container registry 26 may be any suitable data storage or database that may be accessible to the container orchestration system 24. The container image 28 may correspond to an executable software package that includes the tools and data employed to execute a respective application. That is, the container image 28 may include related code for operating the application, application libraries, system libraries, runtime tools, default values for various settings, and the like.” Paragraph 0033; “The container orchestration system 24 may coordinate the distribution and execution of the pods listed in the deployment configuration file, such that the desired state is continuously met. In some embodiments, the container orchestration system 24 may include a master node that retrieves the deployment configuration files from the container registry 26, schedules the deployment of pods to the connected nodes, and ensures that the desired state specified in the deployment configuration file is met.” Paragraph 0034; “Based on the desired state provided in the deployment configuration file 65, the master container node 62 may deploy containers to the container host nodes 30. That is, the master container node 62 may schedule the deployment of a container based on constraints (e.g., CPU or memory availability) provided in the deployment configuration file 65.” Paragraph 0048)
executing the first container image to spin up the first deployed container; (Biernat: “After the containers are operating on the container nodes 30, the master container node 62 may manage the lifecycle of the containers to ensure that the containers specified by the deployment configuration file 65 is operating according to the specified constraints and the desired state.” Paragraph 0048; “In certain embodiments, the container node 30 may be programmed or implemented in the industrial control system 12 to serve as a node agent that can register the industrial control system 12 with the master container node 62. For example, the industrial control system 12 may include a programmable logic controller (PLC) that cannot support an operating system (e.g., Linux) for receiving and/or implementing requested operations issued by the container orchestration system 12. However, the PLC may perform certain operations that may be mapped to certain container events. As such, the container node 30 may include software and/or hardware components that may map certain events or commands received from the master container node 62 into actions that may be performed by the PLC.” Paragraph 0050)
providing a virtualized control system based on the first deployed container, wherein the virtualized control system is communicatively coupled to one or more input terminals able to be coupled to an industrial network device at one or more output terminals; (Strohmenger: see the virtualization component 430 connected to the industrial automation system 406 as illustrated in figure 4; “The system 400 also can comprise the virtualization component 430 that can generate, update, and maintain a virtualized industrial automation system that can virtualize and correspond to the industrial automation system 406. The virtualization component 430 can generate or update the virtualized industrial automation system based at least in part on results of the analysis or analytics performed on the set of data and/or the model 428.” Paragraph 0099; see the industrial automation system 406 with industrial devices 414 as illustrated in figure 4; “The cloud-based industrial controller can be a virtualized industrial controller, for example. The cloud-based industrial controller can monitor and analyze the collected information, generate control instructions based at least in part on the analysis results, and communicate the control instructions to the devices, processes, other assets, and/or other components of the industrial automation system to control operation of the industrial automation system.” Paragraph 0033)
receiving data from a second deployed container; (Biernat: “That is, the container system 30 may generate an event notification that causes an API or other component of the control system 66 to react in response to detecting the event notification. In this way, the container node 30 may actively participate in the coordination of containers with a respective control system 66 based on orchestration commands received passively from the master container node 62 or the like.” Paragraph 0072; “After converting the received command into a command interpretable by the PLC, the container node 30 may forward the mapped command to the PLC that may implement the mapped command. As such, the container node 30 may operate as part of the cluster of nodes that make up the container orchestration system 24, while a control system 66 (e.g., PLC) that coordinates the OT operations for an OT device 67 in the industrial control system 12.” Paragraph 0050) (Strohmenger: “The system 200 also can comprise a collection component 208 (e.g., cloud-based collection component) that can collect or obtain data (e.g., industrial-automation-system-related data) from the industrial automation system(s) 206 and/or other data sources, such as extrinsic data sources 210. The system 200 further can comprise a data store 212 that can store the data collected from the one or more industrial automation systems 206 and/or the extrinsic data sources 210.” Paragraph 0049)
operating the virtualized control system to expose the data via a symbolic common industrial protocol (CIP) namespace configured to provide symbolic data to the one or more input terminals based on the data; and (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142) (Biernat: “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
transmitting the symbolic data via the one or more input terminals to the industrial network device. (Strohmenger: “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 12:
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 11, wherein the instructions cause the processing circuitry to perform operations comprising receiving the data based on receiving an event notification from the second deployed container corresponding to a container-based monitoring application disposed external to an industrial automation system comprising the container orchestration system and the industrial network device. (Biernat: see the worker container node 68 communicating with the control systems 66, 70 via the proxy node 32 as illustrated in figure 3; “For example, referring back to FIG. 3, a proxy node 32 may operate as a proxy or gateway node that is part of the container orchestration system 24.” Paragraph 0074; “That is, the container system 30 may generate an event notification that causes an API or other component of the control system 66 to react in response to detecting the event notification. In this way, the container node 30 may actively participate in the coordination of containers with a respective control system 66 based on orchestration commands received passively from the master container node 62 or the like.” Paragraph 0072; “After converting the received command into a command interpretable by the PLC, the container node 30 may forward the mapped command to the PLC that may implement the mapped command. As such, the container node 30 may operate as part of the cluster of nodes that make up the container orchestration system 24, while a control system 66 (e.g., PLC) that coordinates the OT operations for an OT device 67 in the industrial control system 12.” Paragraph 0050) (Strohmenger: “The system 200 also can comprise a collection component 208 (e.g., cloud-based collection component) that can collect or obtain data (e.g., industrial-automation-system-related data) from the industrial automation system(s) 206 and/or other data sources, such as extrinsic data sources 210. The system 200 further can comprise a data store 212 that can store the data collected from the one or more industrial automation systems 206 and/or the extrinsic data sources 210.” Paragraph 0049)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 13:
Strohmenger does not explicitly describe polling as described below. However, Biernat teaches the polling as described below.
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 11, wherein the instructions cause the processing circuitry to perform operations comprising operating the virtualized control system to expose the data in response to the industrial network device polling the symbolic CIP namespace. (Biernat: “To receive the machine state data, the container node 30 may send requests to the control system 66 via an appropriate OT communication protocol. In response to receiving the requests, the control system 66 may query a database, memory cell, or other suitable storage that may include information regarding the requested data. After retrieving the requested information, the control system 66 may send the requested data to the container node 30 using the same OT communication protocol on which it received the request.” Paragraph 0067; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 14:
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 11, wherein the instructions cause the processing circuitry to perform operations comprising generating an input/output assignment configured to associate the one or more output terminals with the one or more input terminals and the virtualized control system. (Strohmenger: “Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057; “The control program can comprise any suitable type of code that can be used to process input signals read into the controller and to control output signals generated by the industrial controller, including, but not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.” Paragraph 0109; “When an industrial-plant-based industrial controller is employed by an industrial automation system, the instruction component 618 also can determine control instructions or supplemental control instructions that are to be implemented or executed by the industrial-plant-based industrial controller based at least in part on the analysis results, in accordance with the defined control algorithm and the defined control criteria.” Paragraph 0123)
Claim 16:
The cited prior art describes a non-transitory, tangible, computer-readable medium storing instructions that, when executed by first processing circuitry of an industrial network device, cause the industrial network device to perform operations comprising: (Strohmenger: see the system 400 as illustrated in figure 4; “Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. . . As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.” Paragraph 0035)
receiving an input/output assignment configured to associate one or more output terminals with one or more input terminals of second processing circuitry and with a virtualized control system, wherein the second processing circuitry is configured to provide the virtualized control system as associated with a control network level disposed below a supervisory network level; (Strohmenger: see the virtualization component 430 at the cloud communicating with the industrial automation system 406 at the plant level using configuration data as illustrated in figure 4 and as described in paragraphs 0044, 0045; “Also, based at least in part on the results of the data analysis, the virtualization component 430 can update or modify the virtualized industrial automation system reflect and incorporate the changes made to the industrial automation system 406 to facilitate accurately virtualizing the industrial automation system 406 and improving operation of the industrial automation system 406. Further, based at least in part on the results of the data analysis, the analytics component 422 can update (e.g., modify) correlations or generate new correlations relating to respective portions (e.g., industrial assets) or aspects of the industrial automation system 406, or update correlations or generate new correlations between respective portions (e.g., industrial assets) or aspects of the industrial automation system 406 and extrinsic conditions or events, to facilitate improving operation of the industrial automation system 406. Also, based at least in part on the results of the data analysis, as desired (e.g., when appropriate), the industrial controller 402 can modify operations, control instructions, a control algorithm, or other operational aspects associated with the industrial automation system 406, in accordance with the defined control criteria, to facilitate accounting for the changes to the industrial automation system 406.” Paragraph 0101; “Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057; “The control program can comprise any suitable type of code that can be used to process input signals read into the controller and to control output signals generated by the industrial controller, including, but not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.” Paragraph 0109; “When an industrial-plant-based industrial controller is employed by an industrial automation system, the instruction component 618 also can determine control instructions or supplemental control instructions that are to be implemented or executed by the industrial-plant-based industrial controller based at least in part on the analysis results, in accordance with the defined control algorithm and the defined control criteria.” Paragraph 0123)
Strohmenger does not explicitly describe a container as described below. However, Biernat teaches the container as described below.
receiving, via a communicative coupling between the one or more output terminals and the one or more input terminals, data from the virtualized control system based on the input/output assignment, wherein the data was generated in association with an operation of an asset by a container deployed external to the second processing circuitry; (Strohmenger: “Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “The industrial controller 202 can provide the supplemental control instructions to the industrial plant-based industrial controller 224 via the cloud gateway component 226 to assist the industrial controller 224 in controlling the industrial automation system 206 and to control or facilitate decision-making by the industrial controller 224. The industrial controller 224 can facilitate controlling operations of the respective industrial devices 214, industrial processes 216, and/or other industrial assets 218 based at least in part on the supplemental control instructions received from the cloud-based industrial controller 202.” Paragraph 0057; “The control program can comprise any suitable type of code that can be used to process input signals read into the controller and to control output signals generated by the industrial controller, including, but not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.” Paragraph 0109; “When an industrial-plant-based industrial controller is employed by an industrial automation system, the instruction component 618 also can determine control instructions or supplemental control instructions that are to be implemented or executed by the industrial-plant-based industrial controller based at least in part on the analysis results, in accordance with the defined control algorithm and the defined control criteria.” Paragraph 0123)
identifying an adjustment to a visualization presented via a human-machine interface (HMI) based on the data; and (Biernat: “As illustrated, a display/operator interface 20 depicts representations 22 of the components of the industrial automation system 10. The industrial control system 12 may use data transmitted by sensors 18 to update visualizations of the components via changing one or more statuses, states, and/or indications of current operations of the components. These sensors 18 may be any suitable device adapted to provide information regarding process conditions. Indeed, the sensors 18 may be used in a process loop (e.g., control loop) that may be monitored and controlled by the industrial control system 12.” Paragraph 0029; “The industrial control systems 12 may be communicatively coupled to a display/operator interface 20 (e.g., a human-machine interface (HMI)) and to devices of the industrial automation system 10. It should be understood that any suitable number of industrial control systems 12 may be used in a particular industrial automation system 10 embodiment. The industrial control systems 12 may facilitate representing components of the industrial automation system 10 through programming objects that may be instantiated and executed to provide simulated functionality similar or identical to the actual components, as well as visualization of the components, or both, on the display/operator interface 20. The programming objects may include code and/or instructions stored in the industrial control systems 12 and executed by processing circuitry of the industrial control systems 12. The processing circuitry may communicate with memory circuitry to permit the storage of the component visualizations.” Paragraph 0028; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063) (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142)
generating one or more control signals to implement the adjustment. (Biernat: “As illustrated, a display/operator interface 20 depicts representations 22 of the components of the industrial automation system 10. The industrial control system 12 may use data transmitted by sensors 18 to update visualizations of the components via changing one or more statuses, states, and/or indications of current operations of the components. These sensors 18 may be any suitable device adapted to provide information regarding process conditions. Indeed, the sensors 18 may be used in a process loop (e.g., control loop) that may be monitored and controlled by the industrial control system 12.” Paragraph 0029; “The industrial control systems 12 may be communicatively coupled to a display/operator interface 20 (e.g., a human-machine interface (HMI)) and to devices of the industrial automation system 10. It should be understood that any suitable number of industrial control systems 12 may be used in a particular industrial automation system 10 embodiment. The industrial control systems 12 may facilitate representing components of the industrial automation system 10 through programming objects that may be instantiated and executed to provide simulated functionality similar or identical to the actual components, as well as visualization of the components, or both, on the display/operator interface 20. The programming objects may include code and/or instructions stored in the industrial control systems 12 and executed by processing circuitry of the industrial control systems 12. The processing circuitry may communicate with memory circuitry to permit the storage of the component visualizations.” Paragraph 0028; “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 17:
Strohmenger does not explicitly describe a CIP namespace as described below. However, Biernat teaches the CIP namespace as described below.
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 16, wherein the instructions cause the first processing circuitry to perform operations comprising: receiving the data from the virtualized control system exposing the data via a symbolic common industrial protocol (CIP) namespace identified by the input/output assignment. (Strohmenger: “In some implementations, the cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and/or data obtained from one or more extrinsic data sources 210. Based at least in part on the results of the analysis of or analytics performed on the collected information (e.g., data collected from the industrial automation system 206, data collected from one or more extrinsic data sources 210), the cloud-based industrial controller 202 can determine supplemental control instructions for controlling operation of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0055; “The cloud-based industrial controller 202 can analyze, and/or the analytics component can perform analytics on, the data collected from the industrial automation system 206 and the data obtained from the one or more extrinsic data sources 210. Based at least in part on the analysis or analytics results, the cloud-based industrial controller 202 can determine supplemental control instructions that can be used by (e.g., executed by) the industrial controller 224 to control operations of the industrial automation system 206, in accordance with the one or more defined control algorithms.” Paragraph 0056; “Industrial devices 906.sub.2, 906.sub.3, and/or (up through) 906.sub.N can deliver their respective data 914 to the proxy industrial device.sub.1 906.sub.1 over the plant network or backplane 912 (e.g., a Common Industrial Protocol (CIP) network or other suitable network protocol).” Paragraph 0142) (Biernat: “For example, the OT space may involve communications that are formatted according to OT communication protocols, such as FactoryTalk Live Data, EtherNet/IP. Common Industrial Protocol (CIP), OPC Direct Access (e.g., machine to machine communication protocol for industrial automation developed by the OPC Foundation), or any suitable OT communication protocol (e.g. DNP3, Modbus, Profibus, LonWorks, DALI, BACnet, KNX, EnOcean).” Paragraph 0049; “By including a container node 30 operating in the OT space, the container orchestration system 24 is capable of extending its management operations into the OT space. That is, the container node 30 may provision devices in the OT space, serve as a proxy node 32 to provide bi-directional coordination between the IT space and the OT space, and the like.” Paragraph 0038; “As such, the container node 30 may provide the master container node 62 with visibility into the operations and states of the OT devices 67 operating in the OT space.” Paragraph 0063)
Strohmenger and Biernat are combinable for the same rationale as set forth above with respect to claim 1.
Claim 18:
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 16, wherein the asset is different from the first processing circuitry and the second processing circuitry. (Strohmenger: see the virtualization component 430, the industrial controller 402, the industrial automation system 406, and the industrial assets 418 as illustrated in figure 4)
Claim 20:
The cited prior art describes the non-transitory, tangible, computer-readable medium of claim 16, wherein the instructions cause the first processing circuitry to perform operations comprising:
determining that the data indicates an alarm status associated with the asset; and (Strohmenger: “The process data 712 can comprise information relating to one or more processes or other automation operations carried out by the devices; e.g., device-level and process-level faults and alarms, process variable values (speeds, temperatures, pressures, etc.), and the like.” Paragraph 0135; “The asset data 714 can comprise information generated, collected, determined, or inferred based on data that can be aggregated from various (e.g., multiple) industrial devices over time, which can yield higher asset-level views of the industrial automation systems (e.g., 706.sub.1, 706.sub.2, 706.sub.N). Example asset data 714 can include performance indicators (e.g., key performance indicators (KPIs)) for the respective assets, asset-level process variables, faults, alarms, etc.” paragraph 0136)
transmitting the data to an additional network device associated with an operational and control network level disposed above the control network level and a field network level comprising the asset. (Strohmenger: “Since the asset data 714 can yield a relatively longer term view of asset characteristics relative to the device and process data, the industrial controller 702 and analytics system 704 can leverage the asset data 714 to facilitate controlling operations of the industrial automation systems (e.g., 706.sub.1, 706.sub.2, 706.sub.N), identifying operational patterns and correlations unique to each asset, among other types of analysis, and this can facilitate generating performance analytics, determining correlations between respective aspects (e.g., internal or intrinsic aspects, external or extrinsic aspects) associated with an industrial automation system(s), generating notifications, recommendations, or instructions relating to the determined correlations, generating respective modeling assets or virtualization assets that can correspond to the respective assets, and generating, updating, using, customizing, etc., of model or a virtualized industrial automation system of the industrial control system based at least in part on the respective models or virtualizations of the respective assets associated with the industrial control system.” Paragraph 0136)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Patent Application Publication No. 2015/0019191 describes an industrial simulation using redirected configurations.
U.S. Patent Application Publication No. 2013/0212129 describes an industrial automation service template for provisioning cloud services.
U.S. Patent Application Publication No. 2016/0274558 describes cloud based analytics for industrial automation.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHRISTOPHER E EVERETT whose telephone number is (571)272-2851. The examiner can normally be reached Monday-Friday 8:00 am to 5:00 pm (Pacific).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Robert Fennema can be reached at 571-272-2748. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Christopher E. Everett/Primary Examiner, Art Unit 2117