# US 10,374,894 B2 · Uninterruptable verification and control upgrade for real-time control system

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

- Number: US 10,374,894 B2
- Document ID: US10374894B2
- Status: Granted
- Kind: B2
- Application number: 15/595,011
- Filed: 2017-05-15
- Published: 2018-06-21
- Granted: 2019-08-06
- Earliest claimed: 2016-12-16
- Assignees: Intelligent Platforms, LLC
- Applicants: General Electric Company
- Inventors: Daniel Halvard Miller; Rodney Rice
- Web page: https://patentgrep.com/patent/US10374894B2

## CPC

- H04L 41/0869: Validating the configuration within one network element
- G05B 19/042: using digital processors (G05B19/05 takes precedence)
- G05B 19/0421: {Multiprocessor system}
- G05B 19/0423: {Input/output}
- G05B 19/0426: {Programming the control sequence}
- G05B 19/41835: {characterised by program execution}
- G05B 19/4185: {characterised by the network communication}
- G05B 19/4186: {by protocol, e.g. MAP, TOP}
- G05B 19/4187: {by tool management}
- G05B 23/0256: {injecting test signals and analyzing monitored process response, e.g. injecting the test signal while interrupting the normal operation of the monitored system; superimposing the test signal onto a control signal during normal operation of the monitored system}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/73: Program documentation
- G06F 21/577: {Assessing vulnerabilities and evaluating computer system security}
- H04L 43/50: Testing arrangements
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 4/00: Services specially adapted for wireless communication networks; Facilities therefor
- H04W 4/38: for collecting sensor information
- G05B 2219/21086: Configuration menu program for I-O
- G05B 2219/24071: Online service documentation
- G05B 2219/25064: Update component configuration to optimize program execution
- H04L 41/0253: using browsers or web-pages for accessing management information
- H04L 41/24: {using dedicated network management hardware}
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- Y02P 90/80: Management or planning
- Y04S 40/00: Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S 40/20: Information technology specific aspects, e.g. CAD, simulation, modelling, system security
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y04S: SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS

## Abstract

Exemplified system and method facilitates update/upgrade and validation of controls systems in an uninterrupted manner. An update/upgrade agent operates with a multiple-processor or multi-processor core system to simultaneously and concurrently implement two real-time embedded controllers in which a first controller executes a current firmware or control application installed at the site while a second controller executes an updated controller firmware or control application.

## Claims

### Claim 1

A method for operating an embedded control system for controlling an asset, the embedded control system comprising a first processor core and a second processor core, the method comprising:
executing, by the first processor core, a first set of instructions to generate a first stream of control parameters;
receiving, by the second processor core, a second set of instructions;
executing, by the second processor core, the second set of instructions to generate a second stream of control parameters, wherein the second set of instructions are executed concurrently to the first set of instructions;
monitoring a portion of the first stream and a corresponding portion of the second stream, or one or more parameters derived therefrom, for deviations based on a set of validation criteria and/or for instability conditions;
validating the second stream in response to the monitoring;
receiving a selection command associated with a selection of the second stream in response to the validation; and
causing the second stream to be outputted to an input-output interface of the embedded control system to control the asset in response to the selection command.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first processor core continues to generate the first stream after the second stream generated by the second processor core is selected to be outputted to the input-output interface.

### Claim 3 (depends on 1)

The method of claim 1, comprising:
monitoring the second stream to determine if one or more parameters of the second stream meets one or more pre-defined conditions; and
in response to a condition of the pre-defined conditions being met, causing the first stream to be outputted to the input-output interface of the embedded control system to control the asset.

### Claim 4 (depends on 1)

The method of claim 1, wherein the portion of the first stream and the corresponding portion of the second stream, or the one or more parameters derived therefrom, are graphically presented at a user computing device, the presentation being made available from a cloud control infrastructure.

### Claim 5 (depends on 4)

The method of claim 4, wherein comparison parameters derived from the portion of the first stream and the corresponding portion of the second stream are graphically displayed at the user computing device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the second set of instructions are received at an update/upgrade agent executing on the embedded control system.

### Claim 7 (depends on 1)

The method of claim 1, wherein the second set of instructions are received at an update/upgrade agent executing on a field device operatively coupled to the embedded control system.

### Claim 8 (depends on 1)

The method of claim 1, wherein the second set of instructions are received at an update/upgrade agent executing on a computing device located in a cloud control infrastructure.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first processor core and the second processor core are located on a same processor, wherein the first set of instructions are executed on a first hypervised instance executing on the first processor core, and wherein the second set of instructions are executed on a second hypervised instance executing on the second processor core.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first processor core is located on a first processor, and wherein the second processor core is located on a second processor.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first set of instructions and the second set of instructions each includes firmware instructions and operating system instructions.

### Claim 12 (depends on 1)

The method of claim 1, wherein the first set of instructions and the second set of instructions each includes deterministic real-time control instructions.

### Claim 13 (depends on 1)

The method of claim 1, comprising:
validating, for a pre-defined period, the portion of the first stream and the corresponding portion of the second stream, or the one or more parameters derived therefrom; and
generating a report, wherein the report includes differences between the portion of the first stream and the corresponding portion of the second stream.

### Claim 14 (depends on 1)

The method of claim 1, wherein the deviations are established based on a set of historical data associated with the asset or a set thereof.

### Claim 15 (depends on 1)

The method of claim 1, comprising:
receiving a validation command that causes the second stream to be outputted to the input-output interface for a pre-defined period of time, wherein after the pre-defined period, the first stream is outputted to the input-output interface.

### Claim 16 (depends on 1)

The method of claim 1, comprising:
receiving a validation sequence command that comprises a sequence of validation commands, wherein with each successive validation command within the sequence, a given pre-defined period of time associated with a current validation command is lengthen compared to that of a previous validation command, wherein each validation command includes a pre-defined period that the second stream is outputted to the input-output interface such that, after the pre-defined period, the first stream is outputted to the input-output interface.

### Claim 17 (depends on 1)

The method of claim 1, comprising:
in response to receiving the second set of instructions, stopping execution of third instructions executing on the second processor core.

### Claim 18

An embedded control system for controlling an asset, the apparatus comprising a first processor core and a second processor core in communication with a memory, the apparatus programmed to:
execute, on the first processor core, a first set of instructions to generate a first stream of control parameters;
receive a second set of instructions;
execute, on the second processor core, the second set of instructions to generate a second stream of control parameters, wherein the second set of instructions are executed concurrently to the first set of instructions;
monitor a portion of the first stream and a corresponding portion of the second stream, or one or more parameters derived therefrom, for deviations based on a set of validation criteria and/or for instability conditions;
validate the second stream in response to the monitoring;
receive a selection command associated with a selection of the second stream in response to the validation; and
cause the second stream to be outputted to an input-output interface of the embedded control system to control the asset in response to the selection command.

### Claim 19

A non-transitory computer readable medium having instructions stored thereon, wherein execution of the instructions, cause at least one processor to:
execute, on a first processor core, a first set of instructions to generate a first stream of control parameters for controlling an asset;
receive a second set of instructions;
execute, by a second processor core, the second set of instructions to generate a second stream of control parameters, wherein the second set of instructions are executed concurrently to the first set of instructions;
monitor a portion of the first stream and a corresponding portion of the second stream, or one or more parameters derived therefrom, for deviations based on a set of validation criteria and/or for instability conditions;
validate the second stream in response to the monitoring;
receive a selection command associated with a selection of the second stream in response to the validation; and
cause the second stream to be outputted to an input-output interface to control the asset in response to the selection command.
