DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Remarks
2. This Office action is responsive to the Request for Continued Examination (RCE) filed under 37 CFR §1.53(d) for the instant application on December 10, 2025. Applicants have properly set forth the RCE, which has been entered into the application, and an examination on the merits follows herewith.
Claims 1-9, 11-30, and 32-51 have been examined and rejected. This Office action is responsive to the amendment filed on November 14, 2025, which has been entered in the above identified application.
Double Patenting
3. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
4. Claims 1-9, 11-15, 19, 24-30, 34, 36, 37, 39, 42, 44-46, 49, and 51 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1-3, 17, 20, 4-7, 9-15, 23, 24, 28, 30-32, 38-45, 36, and 37 respectively, of copending Application No. 17/838951 (reference application) in view of Wouhaybi et al (Pub. No US 2020/0310394). A table mapping the claims is provided below.
Instant application 17/838798
Copending Application 17/838951
Claim 1
Claim 1 (dated 12/23/25)
1. A method for use in controlling and visualizing an industrial process having a process control system implemented on a data cluster having a plurality of computing nodes, each computing node including a processor executing an instance of an operating system, a memory, and a communication resource coupled to one or more other computing nodes in the data cluster, the method comprising:
1. A method for use in controlling and visualizing an industrial process, having a control system implemented on a data cluster having a plurality of computing nodes, each computing node including a processor executing an instance of an operating system, a memory, and a communication resource coupled to one or more other computing nodes in the data cluster, the method comprising: [claim 1, lines 1-5]
executing a plurality of containers on the data cluster;
executing a plurality of containers on the data cluster to perform runtime control operations using a plurality of process control field devices; [claim 1, lines 6-7]
communicatively coupling the plurality of containers to a plurality of process control field devices operating to control a physical process in an industrial process plant;
communicatively coupling the plurality of containers with a software defined networking controller that communicatively couples the plurality of containers to the plurality of process control field devices operating to control a physical process in an industrial process plant via one or more input/output elements disposed between the plurality of containers and the process control field devices; [claim 1, lines 8-12]
executing a container orchestrator on the data cluster to instantiate the plurality of containers and manage fault tolerance and load balancing functions on the data cluster; and
executing a container orchestrator on the data cluster to instantiate the plurality of containers and manage fault tolerance and load balancing functions on the data cluster; and [claim 1, lines 13-14]
executing a visualization routine on the data cluster to receive real-time data from one or more of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received data, the graphical depiction representing a system configuration that includes a logical configuration associated with the system configuration, a plurality of logical elements including the plurality of containers during runtime of the process control system, and a physical configuration associated with one or more physical elements within the process control system,
executing a visualization routine on the data cluster to receive real-time data from at least one of the plurality of containers, or from the software defined networking controller, or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received real-time data, the graphical depiction representing a system runtime configuration including a physical configuration having one or more physical devices and a process control logical configuration having a plurality of process control logical elements that together define a process control strategy that is implemented at least partially by the plurality of containers on the data cluster during runtime of the process control system, the graphical depiction including an indication of a manner in which one or more of the plurality of containers is currently associated with the one or more physical devices and with one or more of the plurality of process control logical elements and with the one or more input/output elements through which the one or more of the plurality of containers is communicatively coupled to process control field devices to thereby indicate a manner in which the one or more of the plurality of containers implement the process control strategy via the one or more input/output elements. [claim 1, lines 15-29]
wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system.
Claim 2
Claim 2
2. The method of claim 1, wherein executing the visualization routine includes presenting, on the graphical depiction, one or more performance indications for at least a portion of the logical configuration or the physical configuration.
2. The method of claim 1, wherein executing the visualization routine includes presenting, on the graphical depiction, one or more performance indications for at least a portion of the process control logical configuration.
Claim 3
Claim 3
3. The method of claim 2, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates a manner in which a set of containers are nested with respect to one another.
3. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates the manner in which a set of containers are nested with respect to one another.
Claim 4
Claim 17
4. The method of claim 3, wherein the set of nested containers includes a control container and an I/O server container nested within a subsystem container.
17. The method of claim 16, wherein the set of nested containers includes a control container and an I/O server container nested within a subsystem container.
Claim 5
Claim 20
5. The method of claim 3, wherein executing the visualization routine includes presenting the graphical depiction to visually indicate whether the containers within the set of containers are statically or are dynamically nested with respect to one another.
20. The method of claim 16, wherein the graphical depiction visually indicates whether the containers within the set of containers are statically or are dynamically nested with respect to one another.
Claim 6
Claim 4
6. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates a manner in which a first container is pinned to a second container.
4. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates the manner in which a first container is pinned to a second container.
Claim 7
Claim 5
7. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical element and a first physical element.
5. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical configuration element and a first physical configuration element.
Claim 8
Claim 6
8. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a first physical element.
6. The method of claim 5, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a first physical element.
Claim 9
Claim 7
9. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the process control system.
7. The method of claim 5, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the process control system.
Claim 11
Claim 9
11. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical element and a second logical element.
9. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical element and a second logical element.
Claim 12
Claim 10
12. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a second container.
10. The method of claim 9, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a second container.
Claim 13
Claim 11
13. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is nested within a second container.
11. The method of claim 9, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is nested within a second container.
Claim 14
Claim 12
14. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first logical element is dynamically associated with a second logical element, wherein the dynamic association may be changed during runtime of the process control system.
12. The method of claim 9, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which the first logical element is dynamically associated with the second logical element, wherein the dynamic association may be changed during runtime of the process control system.
Claim 15
Claim 13
15. The method of claim 1, wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to dynamically change a manner in which a first logical element is associated with a second logical element.
13. The method of claim 12, wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to dynamically change the manner in which the first logical element is associated with the second logical element.
Claim 19
Claim 14
19. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
14. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
Claim 24
Claim 15
24. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and one or more logical elements of the process control system.
15. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and the one or more process control logical elements of the process control system.
Claim 25
Claim 23
25. An industrial process control system comprising:
23. An industrial process control system comprising:
a data cluster comprising a plurality of computing nodes, each computing node comprising:
a data cluster comprising a plurality of computing nodes, each computing node comprising:
a processor executing an instance of an operating system;
a processor executing an instance of an operating system;
a memory; and
a memory; and
a communication resource coupled to one or more other computing nodes in the data cluster;
a communication resource coupled to one or more other computing nodes in the data cluster;
a plurality of containers executing on the data cluster, the plurality of containers in communication with a plurality of process control field devices operating to control a physical process in an industrial process plant;
a plurality of containers executing on the data cluster, the plurality of containers in communication with a plurality of process control field devices operating to control a physical process in an industrial process plant, via one or more input/output elements disposed between the plurality of containers and the plurality of process control field devices, the plurality of containers executing on the data cluster to perform runtime control operations using the plurality of process control field devices;
a container orchestrator operable to instantiate and manage the plurality of containers on the data cluster; and
a container orchestrator operable to instantiate and manage the plurality of containers on the data cluster; and
a visualization routine executing on the data cluster, the visualization routine operable to receive real-time data from one or more of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received data, the graphical depiction representing a system runtime configuration including a logical configuration associated with the system runtime configuration, a plurality of logical elements including the plurality of containers during runtime of the industrial process control system, and a physical configuration associated with one or more physical elements within the industrial process control system,
a visualization routine executing on the data cluster, the visualization routine operable to receive real-time data from at least one of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received real-time data, the graphical depiction representing a system runtime configuration including a physical configuration having one or more physical devices and a process control logical configuration having a plurality of process control logical elements that together define a process control strategy that is implemented at least partially by one or more of the plurality of containers on the data cluster during runtime of the industrial process control system, the graphical depiction including an indication of a manner in which at least one of the one or more of the plurality of containers is currently associated with the one or more physical devices and with one or more of the plurality of process control logical elements and with the one or more input/output elements through which the one or more of the plurality of containers is communicatively coupled to plurality of process control field devices to thereby indicate a manner in which the one or more of the plurality of containers implement the process control strategy.
wherein the visualization routine enables a user, via a user input device providing input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change thereby to dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system.
Claim 26
Claim 24
26. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction representing a logical configuration that visually indicates a manner in which a set of the plurality of containers are nested with respect to one another.
24. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction representing a logical configuration that visually indicates the manner in which a set of containers are nested with respect to one another.
Claim 27
Claim 28
27. The industrial process control system of claim 26, wherein the graphical depiction visually indicates whether the containers within the set of the plurality of containers are statically or are dynamically nested with respect to one another.
28. The industrial process control system of claim 24, wherein the graphical depiction visually indicates whether the containers within the set of containers are statically or are dynamically nested with respect to one another.
Claim 28
Claim 30
28. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction representing an interaction between a first logical element of the logical configuration and a first physical element of the physical configuration.
30. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction representing an interaction between a first logical element of the process control logical configuration and a first physical element within the physical configuration.
Claim 29
Claim 31
29. The industrial process control system of claim 28, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is pinned to one of the physical elements.
31. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction that further visually indicates a manner in which a first container is pinned to a first physical element.
Claim 30
Claim 32
30. The industrial process control system of claim 28, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the industrial process control system.
32. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a second container, wherein the dynamic association may be changed during runtime of the industrial process control system.
Claim 34
Claim 38
34. The industrial process control system of claim 33, wherein the physical element is a computer device or a communication connection.
38. The industrial process control system of claim 37, wherein the physical element is a computer device or a communication connection.
Claim 36
Claim 39
36. The industrial process control system of claim 33, wherein the visualization routine presents a performance indication indicating one or more of: a messaging speed, a storage utilization, a network bandwidth, an error rate, an assigned physical node, a message diagnostic, an error condition, a physical network adapter, a CPU loading, or a temperature.
39. The industrial process control system of claim 23, wherein the visualization routine presents a performance indication indicating one or more of: a messaging speed, a storage utilization, a network bandwidth, an error rate, an assigned physical node, a message diagnostic, an error condition, a physical network adapter, a CPU loading, or a temperature.
Claim 37
Claim 40
37. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
40. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
Claim 39
Claim 41
39. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a health status of each of a plurality of computing nodes.
41. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction including a health status of each of a plurality of computing nodes.
Claim 42
Claim 42
42. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/O subsystem, and one or more containers, depicting data flows between each of the process control field devices and the one or more containers via the portion of the I/O subsystem.
42. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/O subsystem, and one or more containers, depicting data flows between each of the process control field devices and the one or more containers via the portion of the I/O subsystem.
Claim 44
Claim 43
44. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a configuration hierarchy indicating a current operation of the industrial process control system including relationships between one or more physical elements and logical elements of the industrial process control system.
43. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and process control logical elements of the industrial process control system.
Claim 45
Claim 44
45. The industrial process control system of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are nested in or pinned to other logical elements.
44. The industrial process control system of claim 43, wherein the configuration hierarchy illustrates a manner in which one or more of the process control logical elements are nested in or pinned to other process control logical elements.
Claim 46
Claim 45
46. The industrial process control system of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are currently pinned to one or more physical elements.
45. The industrial process control system of claim 43, wherein the configuration hierarchy illustrates a manner in which one or more of the process control logical elements are currently pinned to one or more physical elements.
Claim 49
Claim 36
49. The industrial process control system of claim 48, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the logical elements
36. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction further including a performance indication indicating a performance metric of one of the process control logical elements.
Claim 51
Claim 37
50. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a depiction of a set of physical elements and an indication of one or more logical elements being implemented by the set of physical elements.
51. The industrial process control system of claim 50, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the physical elements.
37. The industrial process control system of claim 23, wherein the visualization routine presents a graphical depiction further representing one or more physical elements of the physical configuration, and a performance indication indicating a performance metric of one of the one or more physical elements.
4-1. Regarding claims 1 and 25 of the instant application, as shown in the table above, claims 1 and 23 of co-pending application 17/838951 do not specifically recite wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system. However, Wouhaybi discloses a set of orchestration operations 900 with use of a Composable Application System Layer (CSL) in a software defined industrial system (SDIS) operational architecture utilized to enable a secure design and orchestration of control functions and applications to support industrial operations [paragraph 168]. A user defines control flows and applications by combining and configuring existing functional blocks from a library, wherein the functional blocks represent application logic or control loops, data storage, analytics modules, data acquisition or actuation modules, or the like [paragraph 170]. Based on the application design, the CSL generates an orchestration plan that is mapped to available compute and communication resources [paragraph 171]. The CSL maintains a map of computing and control resources across the SDIS network, which is updated regularly [paragraph 172].
The user may create module manifests and an application specification that lists required system characteristics [paragraph 275, lines 1-4]. A module manifest is used to define an environment for software modules to perform a control system application [paragraph 275, lines 5-8]. A module manifest describes a module’s input and outputs, requirements and other things [paragraph 247, lines 1-5]. The application specification defines values for control parameters of a selected software module, including indicating relevant connections or relationships between software modules or functions [paragraph 276]. A control application is defined by a user as a graph of software modules in which the outputs of each module are connected to the inputs of other modules [paragraph 250, lines 1-9; paragraph 256]. The control application graph may reflect connections of a physical system, and be used to accomplish various functional operations (and real-world changes, measurements, and effects) of the control application [paragraph 250, lines 18-22]. Once defined, the software modules are executed according to the values and characteristics of the application specification [paragraph 279, lines 1-5]. An evaluation of the execution of the software modules is performed, and the user may make further adjustments and provide feedback for the manifest or application specification [paragraph 279, lines 5-16]. The control system application may be displayed and modified with use of a visual representation displayed in a graphical user interface [paragraph 280]. Thus, user input may be provided to change the configuration with which resources are associated with devices of an industrial system, and such changes will be passed to an orchestrator to dynamically perform the change. It would have been obvious to one of ordinary skill in the art at the of invention for the claims of 17/838951 to include allowing user input to makes changes to the configuration with which containers are associated with physical elements wherein such changes will be passed to an orchestrator to dynamically perform the change, as taught by Wouhaybi. This would allow real-time changes to be made to improve system performance.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
5. Claims 1-4, 8, 16, 17, 22-24 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claim 59, 60, 63, 64, 62, 69, 70, and 73-75, respectively, of copending Application No. 17/836624 (reference application), in view of Chauvet et al (Pub. No. US 2018/0316729), and further in view of Wouhaybi et al (Pub. No. US 2020/0310394). A table mapping the claims is provided below.
Instant Application 17/838798
Copending Application 17/836,624
Claim 1
Claim 59 (dated 9/17/25)
1. A method for use in controlling and visualizing an industrial process, having a process control system implemented on a data cluster having a plurality of computing nodes, each computing node including a processor executing an instance of an operating system, a memory, and a communication resource coupled to one or more other computing nodes in the data cluster, the method comprising:
59. A method for use in controlling an industrial process having a control system implemented on a data cluster having a plurality of computing nodes, each computing node including a processor executing an instance of an operating system, a memory, and a communication resource coupled to one or more other computing nodes in the data cluster, the method comprising:
communicating, via a processor, with one or more computing nodes in the data cluster;
executing a plurality of containers on the data cluster;
executing, via one or more processors on the data cluster, a plurality of containers;
communicatively coupling the plurality of containers to a plurality of process control field devices operating to control a physical process in the industrial process plant;
executing, via a processor, a software defined networking controller that communicatively couples the plurality of containers to a plurality of process control field devices operating to control a physical process in an industrial process plant;
executing a container orchestrator on the data cluster to instantiate the plurality of containers and manage fault tolerance and load balancing functions on the data cluster; and
executing, via a processor, a container orchestrator to instantiate and manage the containers on the data cluster; and
executing a visualization routine on the data cluster to receive real-time data from one or more of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received data, the graphical depiction representing a system configuration that includes a logical configuration associated with the system configuration, a plurality of logical elements including the plurality of containers during runtime of the process control system, and a physical configuration associated with one or more physical elements within the process control system.
executing, via a processor, a visualization routine, the visualization routine operable to receive real-time data from one or more of the plurality of containers, or from the software defined networking controller, or from the container orchestrator, and to present a graphical depiction of an operation of at least a portion of the control system based on the received data, the graphical depiction representing a logical configuration associated with the runtime configuration of the plurality of containers and a physical configuration associated with the runtime configuration of one or more physical elements within the process control system, the logical configuration including a plurality of process control logical elements that together define a process control strategy that is implemented at least partially by the plurality of containers on the data cluster during runtime of control system, the graphical depiction of the logical configuration including a depiction of a manner in which one or more of the plurality of containers is currently associated with the one or more of the process control logical elements to thereby indicate a manner in which the one or more of the plurality of containers implement the process control strategy.
wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system.
Claim 2
Claim 60
2. The method of claim 1, wherein executing the visualization routine includes presenting, on the graphical depiction, one or more performance indications for at least a portion of the logical configuration or the physical configuration.
60. The method of claim 59, wherein, and executing the visualization routine includes providing, via a graphical depiction, a performance indication for at least a portion of the logical configuration or the physical configuration.
Claim 3
Claim 63
3. The method of claim 2, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates a manner in which a set of containers are nested with respect to one another.
63. The method of claim 59, wherein executing the visualization routine incudes presenting, in the graphical depiction, a logical configuration that visually indicates the manner in which a set of the plurality of containers are nested with respect to one another.
Claim 4
Claim 64
4. The method of claim 3, wherein the set of nested containers includes a control container and an I/O server container nested within a subsystem container.
64. The method of claim 63, wherein the set of the plurality of nested containers includes a control container, and an I/O server container.
Claim 8
Claim 62
8. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a first physical element.
62. The method of claim 61, wherein executing the visualization routine incudes presenting, in the graphical depiction, an indication of a first container being pinned to a first physical element.
Claim 16
Claim 69
16. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing one or more physical elements of the physical configuration, and a performance indication indicating a performance metric of one of the one or more physical elements.
69. The method of claim 59, wherein executing the visualization routine incudes presenting, in the graphical depiction, a performance indication indicating a performance metric of one of the one or more physical elements.
Claim 17
Claim 70
17. The method of claim 1, wherein executing the visualization routine includes presenting a performance indication indicating a health or performance measure of the physical element as determined by a routine coupled to the container orchestrator.
70. The method of claim 59, wherein executing the visualization routine incudes presenting, in the graphical depiction, a performance indication indicating a health or performance measure of a physical element as determined by a routine coupled to the container orchestrator.
Claim 22
Claim 73
22. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/0 subsystem, and one or more containers, depicting data flows between each of the process control field devices and the containers via the portion of the I/0 subsystem.
73. The method of claim 59, wherein executing the visualization routine incudes presenting, in the graphical depiction, a view of interactions between a set of process control field devices, at least a portion of an I/0 subsystem, and one or more of the set of the plurality of containers, depicting data flows between each of the process control field devices and the one or more of the set of the plurality of containers via the portion of the I/0 subsystem.
Claim 23
Claim 74
23. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including one or more performance or health measures for one or more of the containers, process control field devices, or the portion of the I/0 subsystem.
74. The method of claim 73, wherein executing the visualization routine incudes presenting, in the graphical depiction, one or more performance or health measures for one or more of the set of the plurality of containers, for the one or more process control field devices, or for a portion of the I/0 subsystem.
Claim 24
Claim 75
24. The method of claim 1, wherein executing the visualization routine includes presenting a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and one or more logical elements of the process control system.
75. The method of claim 59, wherein executing the visualization routine incudes presenting, in the graphical depiction, a configuration hierarchy indicating a current operation of the control system including relationships between one or more physical elements and one or more logical elements of the process control system.
5-1. Regarding claim 1 of the instant application, as shown in the table above, claim 59 of co-pending application 17/836624 does not specifically recite executing the container orchestration on the data cluster to manage fault tolerance and load balancing functions on the data cluster. However, Chauvet discloses a Software-defined Automation (SDA) technology and system (SDA system) which provides a reference architecture for designing, managing and maintaining a highly available, scalable and flexible automation system [paragraph 42]. A fog orchestration component provides a degree of load balancing [paragraph 121]. An event detection component can detect events that can occur in the virtual and/or the physical environment of the SDA system, including compute node fault events [paragraph 186]. This would help mitigate issues with the system. It would have been obvious to one of ordinary skill in the art at the of invention for the claims of 17/836624 to include management of fault tolerance and load balancing functions on the data cluster, as taught by Chauvet. This would help mitigate issues with the system.
Claim 59 of co-pending application 17/836624 also does not specifically recite wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system. However, Wouhaybi discloses a set of orchestration operations 900 with use of a Composable Application System Layer (CSL) in a software defined industrial system (SDIS) operational architecture utilized to enable a secure design and orchestration of control functions and applications to support industrial operations [paragraph 168]. A user defines control flows and applications by combining and configuring existing functional blocks from a library, wherein the functional blocks represent application logic or control loops, data storage, analytics modules, data acquisition or actuation modules, or the like [paragraph 170]. Based on the application design, the CSL generates an orchestration plan that is mapped to available compute and communication resources [paragraph 171]. The CSL maintains a map of computing and control resources across the SDIS network, which is updated regularly [paragraph 172].
The user may create module manifests and an application specification that lists required system characteristics [paragraph 275, lines 1-4]. A module manifest is used to define an environment for software modules to perform a control system application [paragraph 275, lines 5-8]. A module manifest describes a module’s input and outputs, requirements and other things [paragraph 247, lines 1-5]. The application specification defines values for control parameters of a selected software module, including indicating relevant connections or relationships between software modules or functions [paragraph 276]. A control application is defined by a user as a graph of software modules in which the outputs of each module are connected to the inputs of other modules [paragraph 250, lines 1-9; paragraph 256]. The control application graph may reflect connections of a physical system, and be used to accomplish various functional operations (and real-world changes, measurements, and effects) of the control application [paragraph 250, lines 18-22]. Once defined, the software modules are executed according to the values and characteristics of the application specification [paragraph 279, lines 1-5]. An evaluation of the execution of the software modules is performed, and the user may make further adjustments and provide feedback for the manifest or application specification [paragraph 279, lines 5-16]. The control system application may be displayed and modified with use of a visual representation displayed in a graphical user interface [paragraph 280]. Thus, user input may be provided to change the configuration with which resources are associated with devices of an industrial system, and such changes will be passed to an orchestrator to dynamically perform the change. It would have been obvious to one of ordinary skill in the art at the of invention for the claims of 17/836624 to include allowing user input to makes changes to the configuration with which containers are associated with physical elements wherein such changes will be passed to an orchestrator to dynamically perform the change, as taught by Wouhaybi. This would allow real-time changes to be made to improve system performance.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
6. Claims 25-30, 32-46 and 48-52 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1, 2, 6, 8-10, 18-31, 33, and 35-37, respectively, of copending Application No. 17/836624 (reference application) in view of Wouhaybi et al (Pub. No. US 2020/0310394). A table mapping the claims is provided below.
Instant Application 17/838798
Copending Application 17/836,624
Claim 25
Claim 1 (dated 9/17/25)
25. An industrial process control system comprising:
1. An industrial process control system comprising:
a data cluster comprising a plurality of computing nodes, each computing node comprising:
a data cluster comprising a plurality of computing nodes, each computing node comprising:
a processor executing an instance of an operating system;
a processor executing an instance of an operating system;
a memory; and
a memory; and
a communication resource coupled to one or more other computing nodes in the data cluster;
a communication resource coupled to one or more other computing nodes in the data cluster;
a plurality of containers executing on the data cluster, the plurality of containers in communication with a plurality of process control field devices operating to control a physical process in an industrial process plant;
a plurality of containers executing on the data cluster, the plurality of containers in communication with a software defined networking controller that communicatively couples the containers to a plurality of process control field devices operating to control a physical process in an industrial process plant;
a container orchestrator operable to instantiate and manage the plurality of containers on the data cluster; and
a container orchestrator operable to instantiate the containers and manage fault tolerance and load balancing functions on the data cluster; and
a visualization routine executing on the data cluster, the visualization routine operable to receive real-time data from one or more of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received data, the graphical depiction representing a system runtime configuration including a logical configuration associated with the system runtime configuration, a plurality of logical elements including the plurality of containers during runtime of the industrial process control system, and a physical configuration associated with one or more physical elements within the industrial process control system,
a visualization routine executing on the data cluster, the visualization routine operable to receive real-time data from one or more of the plurality of containers, or from the software defined networking controller, or from the container orchestrator, and to present a graphical depiction of an operation of at least a portion of the process control system based on the received data, the graphical depiction representing at least a portion of a process control system runtime configuration of the process control system, the process control system runtime configuration having a logical configuration including a plurality of process control logical elements that together define a process control strategy that is implemented at least partially by the plurality of containers on the data cluster during runtime of process control system, the graphical depiction including a depiction of a manner in which one or more of the plurality of containers is currently associated with the one or more of the process control logical elements to thereby indicate a manner in which the one or more of the plurality of containers implement the process control strategy and the graphical depiction further including a performance indication for at least a portion of the logical configuration.
wherein the visualization routine enables a user, via a user input device providing input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change thereby to dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system.
Claim 26
Claim 2
26. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction representing a logical configuration that visually indicates a manner in which a set of the plurality of containers are nested with respect to one another.
2. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction representing a logical configuration that visually indicates the manner in which a set of containers are nested with respect to one another.
Claim 27
Claim 6
27. The industrial process control system of claim 26, wherein the graphical depiction visually indicates whether the containers within the set of the plurality of containers are statically or are dynamically nested with respect to one another.
6. The industrial process control system of claim 2, wherein the graphical depiction visually indicates whether the containers within the set of containers are statically or are dynamically nested with respect to one another.
Claim 28
Claim 8
28. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction representing an interaction between a first logical element of the logical configuration and a first physical element of the physical configuration.
8. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction representing an interaction between a first logical element of the logical configuration and a first physical element of the physical configuration.
Claim 29
Claim 9
29. The industrial process control system of claim 28, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is pinned to one of the physical elements.
9. The industrial process control system of claim 8, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is pinned to a first physical element.
Claim 30
Claim 10
30. The industrial process control system of claim 28, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the industrial process control system.
10. The industrial process control system of claim 8, wherein the visualization routine presents a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the process control system.
Claim 32
Claim 18
32. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction representing a performance indication indicating a performance metric of one of the one or more physical elements.
18. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction representing one or more physical elements of a physical configuration, and a performance indication indicating a performance metric of one of the one or more physical elements.
Claim 33
Claim 19
33. The industrial process control system of claim 25, wherein the visualization routine presents a performance indication indicating a health or performance measure of a physical element as determined by a routine coupled to the container orchestrator.
19. The industrial process control system of claim 1, wherein the visualization routine presents a performance indication indicating the health or performance measure of the physical element as determined by a routine coupled to the container orchestrator.
Claim 34
Claim 20
34. The industrial process control system of claim 33, wherein the physical element is a computer device or a communication connection.
20. The industrial process control system of claim 19, wherein the physical element is a computer device or a communication connection.
Claim 35
Claim 21
35. The industrial process control system of claim 33, wherein the visualization routine presents a performance indication indicating a health or performance measure using one or more colors.
21. The industrial process control system of claim 1, wherein the visualization routine presents a performance indication indicating a health or performance measure using one or more colors.
Claim 36
Claim 22
36. The industrial process control system of claim 33, wherein the visualization routine presents a performance indication indicating one or more of: a messaging speed, a storage utilization, a network bandwidth, an error rate, an assigned physical node, a message diagnostic, an error condition, a physical network adapter, a CPU loading, or a temperature.
22. The industrial process control system of claim 1, wherein the visualization routine presents a performance indication indicating one or more of: a messaging speed, a storage utilization, a network bandwidth, an error rate, an assigned physical node, a message diagnostic, an error condition, a physical network adapter, a CPU loading, or a temperature.
Claim 37
Claim 23
37. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
23. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
Claim 38
Claim 23
38. The industrial process control system of claim 37, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more processors in one or more computing nodes.
23. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more computing nodes.
Claim 39
Claim 24
39. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a health status of each of a plurality of computing nodes.
24. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a health status of each of a plurality of computing nodes.
Claim 40
Claim 25
40. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction of a logical view of one or more control containers and an I/0 sub-system of the process control system.
25. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction of a logical view of one or more controllers and an I/0 sub-system of the process control system.
Claim 41
Claim 26
41. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a view of one or more servers and a physical resource management routine.
26. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a physical view of one or more servers and a physical resource management routine.
Claim 42
Claim 27
42. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/0 subsystem, and one or more containers, depicting data flows between each of the process control field devices and the one or more containers via the portion of the I/0 subsystem.
27. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/0 subsystem, and one or more containers, depicting data flows between each of the process control field devices and the one or more containers via the portion of the I/0 subsystem.
Claim 43
Claim 28
43. The industrial process control system of claim 42, wherein the visualization routine presents a graphical depiction including one or more performance or health measures for one or more of the containers, process control field devices, or the portion of the I/0 subsystem.
28. The industrial process control system of claim 27, wherein the visualization routine presents a graphical depiction including one or more performance or health measures for one or more of the containers, process control field devices, or the portion of the I/0 subsystem.
Claim 44
Claim 29
44. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a configuration hierarchy indicating a current operation of the industrial process control system including relationships between one or more physical elements and logical elements of the industrial process control system.
29. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and logical elements of the process control system.
Claim 45
Claim 30
45. The industrial process control system of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are nested in or pinned to other logical elements.
30. The industrial process control system of claim 29, wherein the hierarchy illustrates a manner in which one or more logical elements are nested in or pinned to other logical elements.
Claim 46
Claim 31
46. The industrial process control system of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are currently pinned to one or more physical elements.
31. The industrial process control system of claim 29, wherein the hierarchy illustrates a manner in which one or more logical elements are currently pinned to one or more physical elements.
Claim 48
Claim 33
48. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a depiction of a relationship between a set of logical elements and an indication of the physical elements on which one or more of the logical elements are currently being executed.
33. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a depiction of a relationship between a set of logical elements and an indication of the physical elements on which one or more of the logical elements are currently being executed.
Claim 49
Claim 35
49. The industrial process control system of claim 48, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the logical elements
35. The industrial process control system of claim 33, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the logical elements.
Claim 50
Claim 36
50. The industrial process control system of claim 25, wherein the visualization routine presents a graphical depiction including a depiction of a set of physical elements and an indication of one or more logical elements being implemented by the set of physical elements.
36. The industrial process control system of claim 1, wherein the visualization routine presents a graphical depiction including a depiction of a set of physical elements and an indication of one or more logical elements being implemented by the one or more physical elements.
Claim 52
Claim 37
51. The industrial process control system of claim 50, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the physical elements.
37. The industrial process control system of claim 36, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the physical elements.
6-1. Regarding claim 25 of the instant application, as shown in the table above, claim 1 of co-pending application 17/836624 does not specifically recite wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system. However, Wouhaybi discloses a set of orchestration operations 900 with use of a Composable Application System Layer (CSL) in a software defined industrial system (SDIS) operational architecture utilized to enable a secure design and orchestration of control functions and applications to support industrial operations [paragraph 168]. A user defines control flows and applications by combining and configuring existing functional blocks from a library, wherein the functional blocks represent application logic or control loops, data storage, analytics modules, data acquisition or actuation modules, or the like [paragraph 170]. Based on the application design, the CSL generates an orchestration plan that is mapped to available compute and communication resources [paragraph 171]. The CSL maintains a map of computing and control resources across the SDIS network, which is updated regularly [paragraph 172].
The user may create module manifests and an application specification that lists required system characteristics [paragraph 275, lines 1-4]. A module manifest is used to define an environment for software modules to perform a control system application [paragraph 275, lines 5-8]. A module manifest describes a module’s input and outputs, requirements and other things [paragraph 247, lines 1-5]. The application specification defines values for control parameters of a selected software module, including indicating relevant connections or relationships between software modules or functions [paragraph 276]. A control application is defined by a user as a graph of software modules in which the outputs of each module are connected to the inputs of other modules [paragraph 250, lines 1-9; paragraph 256]. The control application graph may reflect connections of a physical system, and be used to accomplish various functional operations (and real-world changes, measurements, and effects) of the control application [paragraph 250, lines 18-22]. Once defined, the software modules are executed according to the values and characteristics of the application specification [paragraph 279, lines 1-5]. An evaluation of the execution of the software modules is performed, and the user may make further adjustments and provide feedback for the manifest or application specification [paragraph 279, lines 5-16]. The control system application may be displayed and modified with use of a visual representation displayed in a graphical user interface [paragraph 280]. Thus, user input may be provided to change the configuration with which resources are associated with devices of an industrial system, and such changes will be passed to an orchestrator to dynamically perform the change. It would have been obvious to one of ordinary skill in the art at the of invention for the claims of 17/836624 to include allowing user input to makes changes to the configuration with which containers are associated with physical elements wherein such changes will be passed to an orchestrator to dynamically perform the change, as taught by Wouhaybi. This would allow real-time changes to be made to improve system performance.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claim Rejections - 35 USC § 103
7. 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.
8. Claims 1-3, 7-9, 11, 13-18, 20, 22-26, 28-30, 32-34, 36, 39, 41-51 are rejected under 35 U.S.C. 103 as being unpatentable over Chauvet et al (Pub. No. US 2018/0316729), in view of Rimar et al (Pub. No. US 2019/0379590), and further in view of Wouhaybi et al (Pub. No. US 2020/0310394).
8-1. Regarding claims 1 and 25, Chauvet teaches a method for use in controlling and visualizing an industrial process having a process control system implemented on a data cluster having a plurality of computing nodes, each computing node including a processor executing an instance of an operating system, a memory, and a communication resource coupled to one or more other computing nodes in the data cluster, by disclosing a Software-defined Automation (SDA) technology and system (SDA system) which provides a reference architecture for designing, managing and maintaining a highly available, scalable and flexible automation system [paragraph 42]. The architecture of the SDA system 100 comprises three aspects: (1) a smart distributed system 105, (2) a communication backbone 110, and (3) smart connected devices 115 [paragraph 45, lines 1-4]. The system exhibits distributed intelligence by enabling a guest (e.g., a control/automation application) to be logically defined and distributed and re-distributed to run on one or more hosts (e.g., virtual machines, containers, bare metals) on a server, on a physical automation controller, an embedded system, and the like” [paragraph 47, lines 12-18]
Chauvet teaches the method comprising: executing a plurality of containers on the data cluster, by disclosing that the SDA system comprises a fog server 405 linked to a system software 440, and smart connected devices 415A, 415B that are communicatively coupled to the fog server and system software via a communication backbone 410 [paragraph 67; figure 4]. The fog server is comprised of a collection of control resources and compute resources that are interconnected to create a logically centralized yet potentially physically distributed system for hosting the automation systems of an enterprise [paragraph 68]. The fog server is comprised of a control and management infrastructure called the controller nodes 810-1, 810-2 along with the associated compute nodes 820-1, 820-2, 820-3, ..., 820-N where each of the compute nodes 820-1, 820-2, 820-3, ... ,820-N can execute a number of hosts 802-1, ... ,802-N and associated virtual networks 820 [paragraph 111, lines 1-8; figure 8A]. These hosts can be virtual machines, containers or bare metals [paragraph 111, lines 8-9].
Chauvet teaches communicatively coupling the plurality of containers to a plurality of process control field devices operating to control a physical process in an industrial process plant, by disclosing that a fog server controller 610 can create the virtual networks 620 in the fog server 605 and control connectivity between the virtual machines/containers hosted on the compute nodes 615 and the virtual networks 620, while the network controller 690 can configure the virtual network components 622 of the virtual networks 620 in accordance with one or more network policies [paragraph 95, lines 10-17; figures 6B, 8A]. The virtual networks 820 connect from within the compute nodes (e.g., 820-1, 820-2, ... ) through external interfaces (e.g., Ethernet ports) to the external physical networks (e.g., Data/OT network 865) [paragraph 111, lines 18-21]. Virtual networks 820 reside inside the compute nodes (e.g., 820-1, 820-2, ...) and provide connectivity between the virtualized entities and the physical world [paragraph 111, lines 21-24]. In some embodiments, a compute node can be a smart connected device, which can have a physical part and a virtual part [paragraph 111, lines 24-26].
Chauvet teaches executing a container orchestrator on the data cluster to instantiate the plurality of containers and manage fault tolerance and load balancing functions on the data cluster, by disclosing a top level orchestration component 1016 that orchestrates each orchestration component together to virtualize devices and applications on compute node 1015 in the fog server 1005, manage data associated with those virtualized devices and applications in storage 1025/1026, define and disseminate cyber security policies to all components of the SDA system, and network flows and communications [paragraph 134; figure 10B].
Chauvet does not expressly teach executing a visualization routine on the data cluster to receive real-time data from one or more of the plurality of containers or from the container orchestrator, and to present a graphical depiction based on at least a portion of the received data, the graphical depiction representing a system configuration that includes a logical configuration associated with the system configuration, a plurality of logical elements including the plurality of containers during runtime of the process control system, and a physical configuration associated with one or more physical elements within the process control system. Rimar discloses providing service mapping for network management where software applications distributed across computing devices in a network are executed in containers [paragraphs 1, 5, 7]. Among other components, the maps include computing devices, software applications executing thereon, and the dependencies that exist therebetween [paragraph 3, lines 4-7]. A computing device disposed within managed network 300, within remote network management platform 320, or within computing cluster 604, may request configuration data from API 608, where the configuration data may indicate that application 800 is executing in pod 806 on worker node 612A, a first copy of application 802 is executing in pod 808A on worker node 612B, a second copy of application 802 is executing in pod 808B on worker node 612D, and application 804 is executing in pod 810 on worker node 612C [paragraph 144, lines 10; figures 6, 8B]. The computing device may also request and receive, from each of the packet detection modules executing on worker nodes 612A, 612B, 612C, and 612D, traffic data corresponding to any connections that have been established between pods 806, 808A, 808B, and 810 [paragraph 144, lines 10-14]. The traffic data may be parsed by the computing device for patterns indicative of communicative relationships between pods 806, 808A, 808B, and 810 (and thus applications 800, 802, and 804 as well as the containers in which these applications are executed) [paragraph 145, lines 1-5]. The computing device may also generate mappings between any pods (and thus any containers and applications) that have communicative relationships therebetween [paragraph 145, lines 5-8]. The generated mappings may be organized into a graph that can be displayed on a user interface to allow a user to visualize the distribution of software applications 800, 802, and 804 among the nodes of computing cluster 604 [paragraph 145, lines 8-12]. This would help facilitate analysis of service impacts, help locate outages, and identify other potential issues in a managed network [paragraph 3, lines 1-4]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet, service mapping, as taught by Rimar. This would help facilitate analysis of service impacts, help locate outages, and identify other potential issues in a managed network [paragraph 3, lines 1-4].
Chauvet-Rimar do not expressly teach wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system. Wouhaybi discloses a set of orchestration operations 900 with use of a Composable Application System Layer (CSL) in a software defined industrial system (SDIS) operational architecture utilized to enable a secure design and orchestration of control functions and applications to support industrial operations [paragraph 168]. A user defines control flows and applications by combining and configuring existing functional blocks from a library, wherein the functional blocks represent application logic or control loops, data storage, analytics modules, data acquisition or actuation modules, or the like [paragraph 170]. Based on the application design, the CSL generates an orchestration plan that is mapped to available compute and communication resources [paragraph 171]. The CSL maintains a map of computing and control resources across the SDIS network, which is updated regularly [paragraph 172].
The user may create module manifests and an application specification that lists required system characteristics [paragraph 275, lines 1-4]. A module manifest is used to define an environment for software modules to perform a control system application [paragraph 275, lines 5-8]. A module manifest describes a module’s input and outputs, requirements and other things [paragraph 247, lines 1-5]. The application specification defines values for control parameters of a selected software module, including indicating relevant connections or relationships between software modules or functions [paragraph 276]. A control application is defined by a user as a graph of software modules in which the outputs of each module are connected to the inputs of other modules [paragraph 250, lines 1-9; paragraph 256]. The control application graph may reflect connections of a physical system, and be used to accomplish various functional operations (and real-world changes, measurements, and effects) of the control application [paragraph 250, lines 18-22]. Once defined, the software modules are executed according to the values and characteristics of the application specification [paragraph 279, lines 1-5]. An evaluation of the execution of the software modules is performed, and the user may make further adjustments and provide feedback for the manifest or application specification [paragraph 279, lines 5-16]. The control system application may be displayed and modified with use of a visual representation displayed in a graphical user interface [paragraph 280]. Thus, user input may be provided to change the configuration with which resources are associated with devices of an industrial system, and such changes will be passed to an orchestrator to dynamically perform the change. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to allow user input to makes changes to the configuration with which resources are associated with devices wherein such changes will be passed to an orchestrator to dynamically perform the change, as taught by Wouhaybi. This would allow real-time changes to be made to improve system performance.
8-2. Regarding claim 2, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1, wherein executing the visualization routine includes presenting, on the graphical depiction, one or more performance indications for at least a portion of the logical configuration or the physical configuration, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-3. Regarding claims 3 and 26, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 2 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates a manner in which a set of containers are nested with respect to one another, by disclosing providing a graphical user interface that shows the mapping hierarchy between pods at different time periods and the containerized software applications are nested in the pods [Rimar, paragraphs 146, 155; figures 9A-B]. A node representing a pod may be clicked or otherwise selected to view the containerized software applications executing therein [Rimar, paragraph 148].
8-4. Regarding claims 7 and 28, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical element and a first physical element, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146; figure 9A].
8-5. Regarding claims 8 and 29, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 28 respectively, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a first physical element, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146; figure 9A].
8-6. Regarding claims 9 and 30, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 28 respectively, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is dynamically associated with a first physical element, wherein the dynamic association may be changed during runtime of the process control system, by disclosing that the graphical user interface 900 may additionally include timeline 902, cursor 904 indicating a time point along the timeline 902 at which the state of computing cluster 604 is shown, and the date and time corresponding to the time point (e.g., Apr. 30, 2018 9:02 AM) [Rimar, paragraph 147; figure 9A]. The distribution of software applications, containers, and pods across worker nodes 612A, 612B, 612C, and 612D may change from time to time as worker nodes, pods, and/or containers terminate their operation due to planned or unplanned causes [Rimar, paragraph 149; see figure 9B].
8-7. Regarding claim 11, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1, wherein executing the visualization routine includes presenting a graphical depiction representing an interaction between a first logical element and a second logical element, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146; figure 9A]. Pod 806, in turn, communicates with software application 802, executing in pods SOSA and 808B on worker nodes 612B and 612D, respectively, and with software application 804 executing in pod 810 on worker node 612C [Rimar, paragraph 146].
8-8. Regarding claim 13, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is nested within a second container, by disclosing that the graphical user interface shows the mapping hierarchy between pods at different time periods and the containerized software applications are nested in the pods [Rimar, paragraphs 146, 155; figures 9A, B]. A node representing a pod may be clicked or otherwise selected to view the containerized software applications executing therein [Rimar, paragraph 148].
8-9. Regarding claim 14, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1, wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first logical element is dynamically associated with a second logical element, wherein the dynamic association may be changed during runtime of the process control system, by disclosing that the graphical user interface 900 may additionally include timeline 902, cursor 904 indicating a time point along the timeline 902 at which the state of computing cluster 604 is shown, and the date and time corresponding to the time point (e.g., Apr. 30, 2018 9:02 AM) [Rimar, paragraph 147; figure 9A]. The distribution of software applications, containers, and pods across worker nodes 612A, 612B, 612C, and 612D may change from time to time as worker nodes, pods, and/or containers terminate their operation due to planned or unplanned causes [Rimar, paragraph 149; see figure 9B].
8-10. Regarding claim 15, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1, wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to dynamically change a manner in which a first logical element is associated with a second logical element, by disclosing that a further tenth request from remote user(s) 602 may be received by front-end software application 800 executing in pod 806 and pod 806 may, in response, transmit an eleventh request to software application 802 by utilizing pod 808C, as shown in the bottom portion of FIG. 8D [Rimar, paragraph 153, lines 1-5]. In response, software application 802 executing in pod 808C may process the eleventh request and provide a corresponding response 830 [Rimar, paragraph 153, lines 5-8]. Graphical user interface 900 is updated to illustrate the communicative relationships amongst components of computing cluster 604 after replacement of pod 808B with pod 808C [Rimar, paragraph 155, lines 1-4; figure 9B]. Notably, cursor 904 has moved towards the right and the time corresponding thereto (i.e., Apr. 30, 2018 9:15 AM) has been updated to indicate that FIG. 9B shows the state of computing cluster at a later time than FIG. 9A [Rimar, paragraph 155, lines 4-8].
8-11. Regarding claims 16 and 32, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction representing one or more physical elements of the physical configuration, and a performance indication indicating a performance metric of one of the one or more physical elements, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146; figure 9A]. Remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14]. A centralized server device may manage virtual machines 308, that facilitates allocation of physical computing resources to individual virtual machines, as well as performance and error reporting [Rimar, paragraph 67].
8-12. Regarding claims 17 and 33, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a performance indication indicating a health or performance measure of the physical element as determined by a routine coupled to the container orchestrator, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-13. Regarding claims 18 and 36, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 33 respectively, wherein executing the visualization routine includes presenting a performance indication indicating one or more of: a messaging speed, a storage utilization, a network bandwidth, an error rate, an assigned physical node, a message diagnostic, an error condition, a physical network adapter, a CPU loading, or a temperature, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-14. Regarding claims 20 and 39, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction of a health status of each of a plurality of computing nodes, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-15. Regarding claims 22 and 42, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction including a view of interactions between a set of process control field devices, at least a portion of an I/0 subsystem, and one or more containers, depicting data flows between each of the process control field devices and the containers via the portion of the I/0 subsystem, by disclosing that the computing device may request and receive, from each of the packet detection modules executing on worker nodes 612A, 612B, 612C, and 612D, traffic data corresponding to any connections that have been established between pods 806, 808A, 808B, and 810 [Rimar, paragraph 144, lines 10-14]. The traffic data may be parsed by the computing device for patterns indicative of communicative relationships between pods 806, 808A, 808B, and 810 (and thus applications 800, 802, and 804 as well as the containers in which these applications are executed) [Rimar, paragraph 145, lines 1-5]. The computing device may also generate mappings between any pods (and thus any containers and applications) that have communicative relationships therebetween [Rimar, paragraph 145, lines 5-8]. The generated mappings may be organized into a graph that can be displayed on a user interface to allow a user to visualize the distribution of software applications 800, 802, and 804 among the nodes of computing cluster 604 [Rimar, paragraph 145, lines 8-12].
8-16. Regarding claims 23 and 43, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 42 respectively, wherein executing the visualization routine includes presenting a graphical depiction including one or more performance or health measures for one or more of the containers, process control field devices, or the portion of the 1/0 subsystem, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-17. Regarding claims 24 and 44, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively, wherein executing the visualization routine includes presenting a graphical depiction including a configuration hierarchy indicating a current operation of the process control system including relationships between one or more physical elements and one or more logical elements of the process control system, by disclosing that the graphical user interface shows the mapping between pods 806, 808A, 808B, and 810 [Rimar, paragraph 146, lines 1-3; figure 9A]. Requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146, lines 3-5]. Pod 806, in turn, communicates with software application 802, executing in pods SOSA and 808B on worker nodes 612B and 612D, respectively, and with software application 804 executing in pod 810 on worker node 612C [Rimar, paragraph 146, lines 5-9].
8-18. Regarding claim 34, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 33, wherein the physical element is a computer device or a communication connection, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14]. A centralized server device may manage virtual machines 308, that facilitates allocation of physical computing resources to individual virtual machines, as well as performance and error reporting [Rimar, paragraph 67].
8-19. Regarding claim 41, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 25, wherein the visualization routine presents a graphical depiction including a view of one or more servers and a physical resource management routine, by disclosing that the computing cluster 604 in [Rimar, figure 9A] represents a physical computing system that facilitates allocation of physical computing resources to individual virtual machines [Rimar, paragraph 67].
8-20. Regarding claim 45, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are nested in or pinned to other logical elements, by disclosing that the graphical user interface shows the mapping between pods 806, 808A, 808B, and 810 [Rimar, paragraph 146, lines 1-3; figure 9A]. Requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146, lines 3-5]. Pod 806, in turn, communicates with software application 802, executing in pods SOSA and 808B on worker nodes 612B and 612D, respectively, and with software application 804 executing in pod 810 on worker node 612C [Rimar, paragraph 146, lines 5-9].
8-21. Regarding claim 46, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 44, wherein the configuration hierarchy illustrates a manner in which one or more logical elements are currently pinned to one or more physical elements, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A on computing cluster 604 [Rimar, paragraph 146; figure 9A].
8-22. Regarding claim 47, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 44, wherein the visualization routine presents a graphical depiction that indicates whether a logical element is dynamically pinned to one or more physical elements, wherein the dynamically pinned relationship is user changeable via the graphical depiction, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A on computing cluster 604 [Rimar, paragraph 146; figure 9A]. The graphical user interface 900 may additionally include timeline 902, cursor 904 indicating a time point along the timeline 902 at which the state of computing cluster 604 is shown, and the date and time corresponding to the time point (e.g., Apr. 30, 2018 9:02 AM) [Rimar, paragraph 147; figure 9A]. The distribution of software applications, containers, and pods across worker nodes 612A, 612B, 612C, and 612D may change from time to time as worker nodes, pods, and/or containers terminate their operation due to planned or unplanned causes [Rimar, paragraph 149; see figure 9B].
8-23. Regarding claim 48, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 25, wherein the visualization routine presents a graphical depiction including a depiction of a relationship between a set of logical elements and an indication of the physical elements on which one or more of the logical elements are currently being executed, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A on computing cluster 604 [Rimar, paragraph 146; figure 9A].
8-24. Regarding claim 49, Chauvet-Rimar teach all the limitations of claim 48, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the logical elements, by disclosing that remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14].
8-25. Regarding claim 50, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 25, wherein the visualization routine presents a graphical depiction including a depiction of a set of physical elements and an indication of one or more logical elements being implemented by the set of physical elements, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A on computing cluster 604 [Rimar, paragraph 146; figure 9A].
8-26. Regarding claim 51, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 50, wherein the visualization routine presents a graphical depiction further including a performance indication for one or more of the physical elements, by disclosing that the graphical user interface shows that requests from remote user(s) 602 are handled by software application 800 executing in pod 806 on worker node 612A [Rimar, paragraph 146; figure 9A]. Remote network management platform 320 may include modules that integrate with third-party networks 340 to expose virtual machines and managed services therein to managed network 300 [Rimar, paragraph 81, lines 1-4; figure 3]. The modules may allow users to request virtual resources and provide flexible reporting for third-party networks 340 [Rimar, paragraph 81, lines 4-6]. These modules may then automatically discover the manageable resources in the account, and also provide reports related to usage, performance, and billing [Rimar, paragraph 81, lines 11-14]. A centralized server device may manage virtual machines 308, that facilitates allocation of physical computing resources to individual virtual machines, as well as performance and error reporting [Rimar, paragraph 67].
9. Claims 4, 5, 21, 27, and 40 are rejected under 35 U.S.C. 103 as being unpatentable over Chauvet et al (Pub. No. US 2018/0316729), in view of Rimar et al (Pub. No. US 2019/0379590), in view of Wouhaybi et al (Pub. No. US 2020/0310394), and further in view of Resurreccion et al (Pub. No. US 2012/0259436).
9-1. Regarding claim 4, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 3. Chauvet -Rimar-Wouhaybi do not expressly teach wherein the set of nested containers includes a control container and an I/O server container nested within a subsystem container. Resurreccion discloses displaying nested logical containers to enable process control personnel to further organize process control resources [paragraph 75, lines 1-3; figure 3]. The My Device Watch List logical container 306 includes a Hart Devices logical container 318 and a Foundation Fieldbus (FF) devices logical container 320 [paragraph 75, lines 9-11]. The logical containers 318 and 320 enable process control personnel to organize process control resources by a communication protocol type within the My Device Watch List logical container 306 [paragraph 75, lines 12-15]. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Resurreccion. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display.
9-2. Regarding claims 5 and 27, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 3 and 26 respectively. Chauvet-Rimar-Wouhaybi do not expressly teach wherein executing the visualization routine includes presenting the graphical depiction to visually indicate whether the containers within the set of containers are statically or are dynamically nested with respect to one another. Resurreccion discloses a container manager 204 that enables process control personnel to create logical containers, wherein when creating a logical container, the container manager prompts process control personnel, via the workstation interface 202, for a name of the container, an identifier for the container, a characteristic of the container, and/or a directory location for the container [paragraph 50, lines 1-7]. The directory location may indicate if the logical container is to be nested within another logical container or may indicate if the logical container is to be included within a relatively high level structure within, for example, an asset management tool [paragraph 50, lines 7-11]. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Resurreccion. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display.
9-3. Regarding claims 21 and 40, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively. Chauvet-Rimar-Wouhaybi do not expressly teach wherein executing the visualization routine includes presenting a graphical depiction of a logical view of one or more control containers and an I/0 sub-system of the process control system. Resurreccion discloses a container manager 204 that enables process control personnel to create logical containers, wherein when creating a logical container, the container manager prompts process control personnel, via the workstation interface 202, for a name of the container, an identifier for the container, a characteristic of the container, and/or a directory location for the container [paragraph 50, lines 1-7]. The directory location may indicate if the logical container is to be nested within another logical container or may indicate if the logical container is to be included within a relatively high level structure within, for example, an asset management tool [paragraph 50, lines 7-11]. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Resurreccion. This would help further organize information associated with field devices, controllers, and other process control components into a hierarchical structure for display.
10. Claims 6, 12, 19, 37, and 38 are rejected under 35 U.S.C. 103 as being unpatentable over Chauvet et al (Pub. No. US 2018/0316729), in view of Rimar et al (Pub. No. US 2019/0379590), in view of Wouhaybi et al (Pub. No. US 2020/0310394), and further in view of Jangam et al (U.S. Patent No. 11,451,447).
10-1. Regarding claim 6, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1. Chauvet-Rimar-Wouhaybi do not expressly teach wherein executing the visualization routine includes presenting a graphical depiction representing a logical configuration that visually indicates a manner in which a first container is pinned to a second container. Jangam discloses a Network Topology 200B for a data center including a variety of physical and virtual components after selection of a component [column 7, lines 62-65; figure 2B]. column 8, line 57; figure 2B]. When a component is selected [column 8, lines 1-10], the Network Topology 200B is revised and output to depict all of the Containers 115B in the cluster [column 8, lines 11-13]. In response to selection of a single container in the VM cluster, the Network Topology is updated to include Information 235 about the selected container [column 8, lines 40-47; figure 2C]. In the illustrated embodiment, this Information 235 includes the name of the container, a name of the host where the pod/collection of containers is executing (which may be a virtual machine or a bare metal cluster, in one embodiment), an identifier of the container, the host IP for the container, the pod IP for the container [column 8, lines 47-53]. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components [column 1, lines 48-67]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Jangam. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components.
10-2. Regarding claim 12, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 1. Chauvet-Rimar-Wouhaybi do not expressly teach wherein executing the visualization routine includes presenting a graphical depiction that visually indicates a manner in which a first container is pinned to a second container. Jangam discloses a Network Topology 200B for a data center including a variety of physical and virtual components after selection of a component [column 7, lines 62-65; figure 2B]. column 8, line 57; figure 2B]. When a component is selected [column 8, lines 1-10], the Network Topology 200B is revised and output to depict all of the Containers 115B in the cluster [column 8, lines 11-13]. In response to selection of a single container in the VM cluster, the Network Topology is updated to include Information 235 about the selected container [column 8, lines 40-47; figure 2C]. In the illustrated embodiment, this Information 235 includes the name of the container, a name of the host where the pod/collection of containers is executing (which may be a virtual machine or a bare metal cluster, in one embodiment), an identifier of the container, the host IP for the container, the pod IP for the container [column 8, lines 47-53]. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components [column 1, lines 48-67]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Jangam. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components.
10-3. Regarding claims 19 and 37, Chauvet-Rimar-Wouhaybi teach all the limitations of claims 1 and 25 respectively. Chauvet-Rimar-Wouhaybi do not expressly teach wherein executing the visualization routine includes presenting a graphical depiction including an identification of one or more containers executing on one or more computing nodes. Jangam discloses a Network Topology 200B for a data center including a variety of physical and virtual components after selection of a component [column 7, lines 62-65; figure 2B]. column 8, line 57; figure 2B]. When a component is selected [column 8, lines 1-10], the Network Topology 200B is revised and output to depict all of the Containers 115B in the cluster [column 8, lines 11-13]. In response to selection of a single container in the VM cluster, the Network Topology is updated to include Information 235 about the selected container [column 8, lines 40-47; figure 2C]. In the illustrated embodiment, this Information 235 includes the name of the container, a name of the host where the pod/collection of containers is executing (which may be a virtual machine or a bare metal cluster, in one embodiment), an identifier of the container, the host IP for the container, the pod IP for the container [column 8, lines 47-53]. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components [column 1, lines 48-67]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide, for the system of Chauvet-Rimar-Wouhaybi, such visualization techniques, as taught by Jangam. This would help depict the topology of the complex, ever-changing data center with physical and virtualized components.
10-4. Regarding claim 38, Chauvet-Rimar-Jangam-Wouhaybi-Jangam teach all the limitations of claim 37, wherein the visualization routine presents a graphical depiction including an identification of one or more containers executing on one or more processors in one or more computing nodes, by disclosing that when a component of the Network Topology 200B is selected [Jangam, column 8, lines 1-10], the Network Topology 200B is revised and output to depict all of the Containers 115B in the cluster [Jangam, column 8, lines 11-13]. In response to selection of a single container in the VM cluster, the Network Topology is updated to include Information 235 about the selected container [Jangam, column 8, lines 40-47; figure 2C]. In the illustrated embodiment, this Information 235 includes the name of the container, a name of the host where the pod/collection of containers is executing (which may be a virtual machine or a bare metal cluster, in one embodiment), an identifier of the container, the host IP for the container, the pod IP for the container [Jangam, column 8, lines 47-53].
11. Claim 35 is rejected under 35 U.S.C. 103 as being unpatentable over Chauvet et al (Pub. No. US 2018/0316729), in view of Rimar et al (Pub. No. US 2019/0379590), in view of Wouhaybi et al (Pub. No. US 2020/0310394), and further in view of Law et al (Pub. No. US 2018/0114414).
11-1. Regarding claim 35, Chauvet-Rimar-Wouhaybi teach all the limitations of claim 33. Chauvet-Rimar-Wouhaybi do not expressly teach wherein the visualization routine presents a performance indication indicating a health or performance measure using one or more colors. Law discloses an alarm handling and viewing system that includes an alarm display interface that enables alarms generated by a container (e.g., a control module, a safety system module, a device, etc.) to be handled and viewed in a manner that is different than each other and that is different from general display parameters specified for the container [paragraph 11]. A set of alarm groups are provided that each have their own alarm handling and viewing properties including alarm handling parameters such as priority and display characteristics such as color, to use for each of the alarms in the alarm group [paragraphs 13, 51]. This would allow a user to more easily identify and respond to issues when they arise. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to indicate alarms using color, as taught by Law. This would allow a user to more easily identify and respond to issues when they arise.
Response to Arguments
12. The Examiner acknowledges the Applicant’s amendments to claims 1 and 25.
Regarding independent claims 1 and 25, Applicant alleges that Chauvet et al (Pub. No. US 2018/0316729) in view of Rimar et al (Pub. No. US 2019/0379590) do not teach wherein executing the visualization routine includes enabling a user, via user input based on the graphical depiction, to instruct the container orchestrator of a change of a manner in which the plurality of containers is associated with the one or more physical elements and, in response, causing the container orchestrator to perform the change to thereby dynamically change the manner in which the plurality of containers is associated with the one or more physical elements during runtime of the process control system, as has been amended to the claim. Examiner has rejected claim 1 under 35 U.S.C. 103 as being unpatentable over Chauvet et al (Pub. No. US 2018/0316729), in view of Rimar et al (Pub. No. US 2019/0379590), and further in view of Wouhaybi et al (Pub. No. US 2020/0310394). Applicant’s arguments have been considered but are moot in view of the new grounds of rejection.
Applicant states that dependent claims 2-9, 11-24, 26-30, and 32-51 recite all the limitations of the independent claims, and thus, are allowable in view of the remarks set forth regarding independent claims 1 and 25. However, as discussed above, Chauvet, in view of Rimar, in view of Wouhaybi are considered to teach claims 1 and 25, and consequently, claims 2-9, 11-24, 26-30, and 32-51 are rejected.
Conclusion
13. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALVIN H TAN whose telephone number is (571)272-8595. The examiner can normally be reached M-F 10AM-6PM.
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, Scott Baderman can be reached at 571-272-3644. 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.
/ALVIN H TAN/Primary Examiner, Art Unit 2118