# US 10,908,574 B2 · Distributed computing in a process control environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,908,574 B2
- Document ID: US10908574B2
- Status: Granted
- Kind: B2
- Application number: 16/549,264
- Filed: 2019-08-23
- Published: 2019-12-12
- Granted: 2021-02-02
- Earliest claimed: 2015-04-28
- Assignees: Schneider Electric Systems USA, Inc.
- Applicants: Schneider Electric Systems USA, Inc.
- Inventors: Raja Ramana Macha; Andrew Lee David Kling; Nestor Jesus Camino, Jr.; James Gerard Luth; Richard Linwood Linscott
- Web page: https://patentgrep.com/patent/US10908574B2

## CPC

- G05B 19/042: using digital processors (G05B19/05 takes precedence)
- G05B 9/03: with multiple-channel loop, i.e. redundant control systems
- G05B 19/4185: {characterised by the network communication}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 11/16: Error detection or correction of the data by redundancy in hardware
- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2046: {where the redundant components share persistent storage (G06F11/2043 takes precedence)}
- G05B 2219/24175: Redundant communication channel, if one fails use the other
- G05B 2219/31168: Use of node, sensor, actuator and control object
- G05B 2219/33273: DCS distributed, decentralised controlsystem, multiprocessor
- G06F 11/1641: {where the comparison is not performed by the redundant processing components}
- G06F 11/184: {where the redundant components implement processing functionality}
- G06F 11/2038: {with a single idle spare processing component}
- G06F 2201/80: Database-specific techniques
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

High availability and data migration in a distributed process control computing environment. Allocation algorithms distribute data and applications among available compute nodes, such as controllers in a process control system. In the process control system, an input/output device, such as a fieldbus module, can be used by any controller. Databases store critical execution information for immediate takeover by a backup compute element. The compute nodes are configured to execute algorithms for mitigating dead time in the distributed computing environment.

## Claims

### Claim 1

An apparatus for controlling a process, comprising:
an electronic data communication channel;
a plurality of compute nodes each connected to the communication channel, wherein at least one compute node implements a process control application;
a sensor connected to the communication channel for providing electronic data representative of a physical value of the process;
an actuator connected to the communication channel for receiving electronic data representative of a manipulation of a physical value of the process; and
an executive node connected to the communication channel for initiating a transfer of at least a subset of the process control application among one or more other compute nodes via the communication channel, the executive node including an application manager configured to:
detect a failure of the at least one compute node implementing the process control application;
deploy an input/output (I/O) or other application of the failed compute node to at least one other compute node of the plurality of compute nodes;
select subsets of control datasets collected, in real-time, from the plurality of compute nodes, the selected subsets being associated with the failed compute node and comprising less than entire control datasets; and
instruct the at least one other compute node to execute the selected subsets at the deployed I/O or other application deployed at the at least one other compute node, wherein the at least one other compute node does not establish a connection with the failed compute node, wherein the selected subsets are used to mitigate an impact of the failed compute node on the process control system.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the executive node includes a control database.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the executive node further includes an I/O database, and wherein at least one compute node is configured to implement the I/O application, the I/O application configured to control electronic data transmission and reception between the communication channel and the sensor and the actuator.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein the at least one compute node implementing the process control application is configured to store a current state and intermediate data associated with the process control application in the control database, and wherein the application manager is further configured to initiate a transfer of the current state and the intermediate data from the control database to the at least one other compute node in response to the detected failure.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the application manager is configured to store, at a central datastore hosted at the executive node, the I/O application and the control datasets.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the process control application is configured to transmit the control datasets via the communication channel and the I/O application to the process control device.

### Claim 7 (depends on 5)

The apparatus of claim 5, wherein the executive node includes a set of executive services, the set of executive services being used to facilitate an exchange of the I/O application and the control datasets between the I/O application and the process control application.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein at least one of the compute nodes and the executive node comprise a controller.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein the executive node is configured to detect at least one idle compute node and initiates a transfer of at least a subset of the process control application to the idle compute node.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein the plurality of compute nodes comprises a distributed computing environment.

### Claim 11

A method of controlling a process, comprising:
implementing, by at least one of a plurality of compute nodes each connected to an electronic data communication channel, a process control application;
providing, by a sensor connected to the communication channel, electronic data representative of a physical value of the process;
receiving, by an actuator connected to the communication channel, electronic data representative of a manipulation of a physical value of the process;
initiating, by an executive node connected to the communication channel, a transfer of at least a subset of the process control application among one or more other compute nodes via the communication channel, wherein the executive node includes an application manager;
detecting, by the application manager, a failure of the at least one compute node implementing the process control application;
initiating, by the application manager, transfer of an input/output (I/O) or other application of the failed compute node to at least one other compute node of the plurality of compute nodes;
selecting, by the application manager, subsets of control datasets collected, in real-time, from the plurality of compute nodes, the selected subsets being associated with the failed compute node and comprising less than entire control datasets; and
instructing, by the application manager, the at least one other compute node to execute the selected subsets at the deployed I/O or other application deployed at the at least one other compute node, wherein the at least one other compute node does not establish a connection with the failed compute node, wherein the selected subsets are used to mitigate an impact of the failed compute node on the process control system.

### Claim 12 (depends on 11)

The method of claim 11, wherein the executive node includes a control database and further includes an I/O database, and further comprising implementing, by at least one compute node, the I/O application, the I/O application configured to control electronic data transmission and reception between the communication channel and the sensor and the actuator.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
storing, by the at least one compute node implementing the process control application, a current state and intermediate data associated with the process control application in the control database; and
initiating, by the application manager, a transfer of the current state and the intermediate data from the control database to the at least one other compute node in response to the detected failure.

### Claim 14 (depends on 13)

The method of claim 13, comprising storing, by the application manager at a central datastore hosted at the executive node, the I/O application and the control datasets.

### Claim 15 (depends on 14)

The method of claim 14, further comprising transmitting, by the process control application, the control datasets via the communication channel and the I/O application to the process control device.

### Claim 16 (depends on 14)

The method of claim 14, wherein the executive node includes a set of executive services, and further comprising facilitating, by the executive services, an exchange of the I/O application and the control datasets between the I/O application and the process control application.

### Claim 17 (depends on 11)

The method of claim 11, further comprising detecting, by the executive node, at least one idle compute node and initiates a transfer of at least a subset of the process control application to the idle compute node.
