IP Library Granted Patent US 10,374,894
Granted Patent B2
US 10,374,894 · App. 15/595,011 · Granted Aug 6, 2019

Uninterruptable verification and control upgrade for real-time control system

Inventors: Daniel Halvard Miller (Charlottesville, VA); Rodney Rice (Charlottesville, VA)
Assignee: INTELLIGENT PLATFORMS, LLC
H04L41/0869G05B19/0423G05B19/0426G05B19/4185G05B19/4186G05B19/4187G05B19/41835G06F8/65G06F8/73G06F21/577H04L43/50H04L67/10H04L67/34H04W4/00H04W4/38G05B2219/21086G05B2219/25064H04L41/0253H04L41/24Y02P90/18Y02P90/28Y02P90/86
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,374,894
App. No.
15/595,011
Granted
Aug 6, 2019
Kind
B2
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 (47)

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.

2. 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.

3. 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.

4. 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.

5. 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.

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

7. 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.

8. 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.

9. 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.

10. 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.

11. 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.

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

13. 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.

14. 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.

15. 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.

16. 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.

17. 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.

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.

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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: GENERAL ELECTRIC COMPANY
To: INTELLIGENT PLATFORMS, LLC
Reel/Frame 049309/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2017
From: MILLER, DANIEL HALVARD; RICE, RODNEY
To: GENERAL ELECTRIC COMPANY
Reel/Frame 042379/0020 →
Continuity (2)
Provisional Application 62435610 · Dec 16, 2016
Related Publication 20180173182A1 · Jun 21, 2018