IP Library Granted Patent US 11,637,918
Granted Patent B2
US 11,637,918 · App. 16/147,190 · Granted Apr 25, 2023

Self-descriptive orchestratable modules in software-defined industrial systems

Inventors: Mark Yarvis (Portland, OR); Rita H. Wouhaybi (Portland, OR); Ron Kuruvilla Thomas (San Jose, CA); Casey Rathbone (Banks, OR); Aaron R. Berck (Hillsboro, OR); Sharad Garg (Portland, OR); Robert Chavez (Phoenix, AZ); Kirk Smith (Chandler, AZ); Mandeep Shetty (Chandler, AZ); Xubo Zhang (Fremont, CA); Ansuya Negi (Beaverton, OR)
Assignee: Intel Corporation
H04L69/40G05B19/042G05B19/054G05B19/41835G06F8/65G06F11/2023G06F11/2033H04L41/0668H04L41/082H04L41/0846H04L67/04H04L67/10H04L67/1048H04L67/1051H04L67/12H04L67/125H04L67/34H04L67/565G05B2219/1105G05B2219/1214G05B2219/32043G05B2219/33112G06F2201/805G06F2201/82G06F2201/85
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 11,637,918
App. No.
16/147,190
Granted
Apr 25, 2023
Kind
B2
Abstract

Various systems and methods are provided for implementing a software defined industrial system. In an example, self-descriptive control applications and software modules are provided in the context of orchestratable distributed systems. The self-descriptive control applications may be executed by an orchestrator or like control device, configured to: identify available software modules adapted to perform functional operations in a control system environment; identify operational characteristics that identify characteristics of execution of the available software modules that are available to implement a control system application; select a software module for execution based on the operational configuration and the operational characteristics identified in the manifest; and cause the execution of the selected software module in the control system environment based on an application specification for the control system application.

Claims (54)

1. An apparatus, comprising processing circuitry adapted to:

identify operational aspects of available software modules, the available software modules adapted to perform functional operations in a control system environment;

identify operational characteristics from a module manifest, wherein the operational characteristics define an environment for the available software modules to perform a control system application;

select a software module of the available software modules, based on the identified operational aspects of the available software modules and the identified operational characteristics from the module manifest; and

cause execution of the selected software module in the control system environment, wherein the execution occurs according to an application specification for the control system application, wherein the application specification defines values for control parameters of the selected software module,

wherein the apparatus is an orchestration device, wherein the orchestration device is operably coupled to a plurality of execution devices in the control system environment that execute software modules, and wherein the execution of the selected software module via at least one execution devices effects functional operation of one or more control devices in the control system environment, and wherein the processing circuitry is further adapted to coordinate the execution of the selected software module with an orchestration control strategy within the control system environment.

2. The apparatus of claim 1 , wherein the operational aspects of the available software modules relate to one or more of: communication interfaces, starting parameters, platform requirements, dependencies, deployment requirements, or a signature.

3. The apparatus of claim 1 , the processing circuitry further adapted to:

generate the application specification for the control system application, based on the operational characteristics, and the selected software module.

4. The apparatus of claim 3 , wherein the application specification indicates a connection from the selected software module to a second selected software module.

5. The apparatus of claim 1 , the processing circuitry further adapted to:

evaluate the execution of the selected software module in the control system environment using at least two different hardware architectures; and

perform an efficiency measurement of operations executed with the at least two different hardware architectures.

6. The apparatus of claim 1 , wherein the control system application and respective software modules are displayed as a visual representation in a graphical user interface, wherein the visual representation is used to establish relationships of one or more inputs or outputs of the software modules within the control system application, wherein the inputs or outputs to the software modules include use of one or more of: a sensor, an actuator, or a controller.

7. The apparatus of claim 1 , wherein the processing circuitry is further adapted to:

select a plurality of software modules, the plurality of software modules including a selection of the software module; and

connect the plurality of software modules to each other according to the operational characteristics.

8. A method performed by an orchestration device, comprising:

identifying operational aspects of available software modules, the available software modules adapted to perform functional operations in a control system environment;

identifying operational characteristics from a module manifest, wherein the operational characteristics define an environment for the available software modules to perform a control system application;

selecting a software module of the available software modules, based on the identified operational aspects of the available software modules and the identified operational characteristics from the module manifest; and

causing execution of the selected software module in the control system environment, wherein the execution occurs according to an application specification for the control system application, wherein the application specification defines values for control parameters of the selected software module,

wherein the orchestration device is operably coupled to a plurality of execution devices in the control system environment that execute software modules, and wherein the execution of the selected software module via at least one execution devices effects functional operation of one or more control devices in the control system environment, and wherein the method further comprises coordinating the execution of the selected software module with an orchestration control strategy within the control system environment.

9. The method of claim 8 , wherein the operational aspects of the available software modules relate to one or more of: communication interfaces, starting parameters, platform requirements, dependencies, deployment requirements, or a signature.

10. The method of claim 8 , further comprising:

generating the application specification for the control system application, based on the operational characteristics, and the selected software module;

wherein the application specification indicates a connection from the selected software module to a second selected software module.

11. The method of claim 8 , further comprising:

evaluating the execution of the selected software module in the control system environment using at least two different hardware architectures; and

identifying an efficiency measurement of operations executed with the at least two different hardware architectures.

12. The method of claim 8 , wherein the control system application and respective software modules are displayed as a visual representation in a graphical user interface, wherein the visual representation is used to establish relationships of one or more inputs or outputs of the software modules within the control system application, wherein the inputs or outputs to the software modules include use of one or more of: a sensor, an actuator, or a controller.

13. The method of claim 8 , further comprising:

selecting a plurality of software modules for use in the control system environment, the plurality of software modules including the selection of the software module; and

connecting the plurality of software modules to each other according to the operational characteristics.

14. At least one non-transitory machine-readable storage medium including instructions, wherein the instructions, when executed by a processing circuitry of a device, cause the processing circuitry to perform operations comprising:

identifying operational aspects of available software modules, the available software modules adapted to perform functional operations in a control system environment;

identifying operational characteristics from a module manifest, wherein the operational characteristics define an environment for the available software modules to perform a control system application;

selecting a software module of the available software modules, based on the identified operational aspects of the available software modules and the identified operational characteristics from the module manifest; and

causing execution of the selected software module in the control system environment, wherein the execution occurs according to an application specification for the control system application, wherein the application specification defines values for control parameters of the selected software module,

wherein the operations are performed by an orchestration device, wherein the orchestration device is operably coupled to a plurality of execution devices in the control system environment that execute software modules, and wherein the execution of the selected software module via at least one execution devices effects functional operation of one or more control devices in the control system environment, the operations further comprising: coordinating the execution of the selected software module with an orchestration control strategy within the control system environment.

15. The machine-readable medium of claim 14 , wherein the operational aspects of the available software modules relate to one or more of: communication interfaces, starting parameters, platform requirements, dependencies, deployment requirements, or a signature.

16. The machine-readable medium of claim 14 , the operations further comprising:

generating the application specification for the control system application, based on the operational characteristics, and the selected software module;

wherein the application specification indicates a connection from the selected software module to a second selected software module.

17. The machine-readable medium of claim 14 , the operations further comprising:

evaluating the execution of the selected software module in the control system environment using at least two different hardware architectures; and

identifying an efficiency measurement of operations executed with the at least two different hardware architectures.

18. The machine-readable medium of claim 14 , wherein the control system application and respective software modules are displayed as a visual representation in a graphical user interface, wherein the visual representation is used to establish relationships of one or more inputs or outputs of the software modules within the control system application, wherein the inputs or outputs to the software modules include use of one or more of: a sensor, an actuator, or a controller.

19. The machine-readable medium of claim 14 the operations further comprising:

selecting a plurality of software modules for use in the control system environment, the plurality of software modules including the selection of the software module; and

connecting the plurality of software modules to each other according to the operational characteristics.

20. The apparatus of claim 1 , wherein the processing circuitry is further adapted to dynamically select between alternative implementations of the selected software module, wherein each of the alternative implementations is described in the module manifest of the selected software module, and wherein the application specification specifies possible alternative implementations for a given functionality in the control system application.

21. The method of claim 8 , further comprising: dynamically selecting between alternative implementations of the selected software module, wherein each of the alternative implementations is described in the module manifest of the selected software module, and wherein the application specification specifies possible alternative implementations for a given functionality in the control system application.

22. The at least one non-transitory machine-readable storage medium of claim 14 , the operations further comprising dynamically selecting between alternative implementations of the selected software module, wherein each of the alternative implementations is described in the module manifest of the selected software module, and wherein the application specification specifies possible alternative implementations for a given functionality in the control system application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: YARVIS, MARK; WOUHAYBI, RITA H; THOMAS, RON KURUVILLA; RATHBONE, CASEY; BERCK, AARON R; GARG, SHARAD; CHAVEZ, ROBERT; SMITH, KIRK; SHETTY, MANDEEP; ZHANG, XUBO; NEGI, ANSUYA
To: INTEL CORPORATION
Reel/Frame 047306/0405 →
Continuity (3)
Provisional Application 62612092 · Dec 29, 2017
Provisional Application 62587227 · Nov 16, 2017
Related Publication 20190041830A1 · Feb 7, 2019
Cited By (16)
US 12,210,329 US 12,228,897 US 12,242,245 US 12,314,037 US 12,321,154 US 12,417,120 US 12,449,789 US 12,476,973 US 12,524,389 US 12,535,800 US 12,554,236 US 12,572,134 US 12,585,237 US 12,619,204 US 12,619,209 US 12,717,311