Real-time Industrial Software Upgrade via Shadow Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software updating in industrial control systems often requires downtime, as existing methods necessitate shutting down processes to replace or patch software, which can lead to disruptions and increased costs due to high availability constraints in critical environments.

Innovation Solution

Implementing a real-time software updating method where a second software operates in parallel with the first software, mirroring its operations and gradually taking control, allowing for seamless switching without downtime, using a proxy component to facilitate data sharing and synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional software updating method is used, then software vulnerability can be patched, but industrial process operation must be shut down causing downtime and disruption

Engineering Contradiction:
Improvesoftware securityVSAvoidindustrial process availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by deploying a shadow controller with updated software in advance while the original controller remains operational. The shadow controller is prepared and synchronized with the running system, allowing the update to be installed before it needs to take over. This enables vulnerability patching without shutting down the industrial process, as the updated controller is ready to assume control immediately when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a shadow controller as a mediator between the original controller and the update process. The shadow controller receives and processes copies of process data and control commands, acting as an intermediate system that can be updated without affecting the primary operational controller. This intermediary structure allows seamless transition and eliminates the need to shut down the industrial process for software updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If industrial process is shut down for software update, then software can be updated completely, but operation disruption and downtime occur

Engineering Contradiction:
Improvesoftware update completenessVSAvoiddowntime
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent implements continuity of useful action by maintaining the operational controller's function throughout the update process. While the shadow controller is being prepared and synchronized with updated software, the original controller continues to control the industrial process without interruption. The useful action of process control continues uninterrupted, and only after the shadow controller is fully prepared does the transition occur, eliminating downtime associated with software updates.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent applies copying by creating a shadow controller that replicates the functionality of the original controller. The shadow controller receives copies of process data, control commands, and system states from the operational controller. This copying mechanism allows the updated software to be tested and synchronized in the shadow controller while the original controller continues operating, enabling complete software updates without process shutdown.

Inventive Principle:
Principle #26Copying

3Productivity

If software is updated in real-time with parallel operation, then availability is maintained, but system complexity increases

Engineering Contradiction:
Improveindustrial process availabilityVSAvoidcontrol system structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the control system into two distinct segments: the operational controller and the shadow controller. Each controller is a separate, independent unit with its own processing capabilities. The operational controller handles real-time control while the shadow controller is prepared for takeover. This segmentation allows the system to maintain availability by keeping the operational controller running while preparing the shadow controller, reducing the complexity burden on a single controller.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universality by designing the shadow controller with multi-functionality. The shadow controller can serve multiple purposes: it can be prepared with updated software in advance, synchronized with the operational controller during normal operation, and then take over when needed. This universal design allows a single additional controller to handle multiple functions in the update process, reducing overall system complexity compared to having separate systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10037203B1Real-time software upgrade
Publication Date: 2018.07.31 NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA LLC
  • US10037203B1 patent drawing
  • US10037203B1 patent drawing
  • US10037203B1 patent drawing

AI summary

The various technologies presented herein relate to upgrading industrial control software in real-time. During utilization of a first software to control an industrial process, a determination can be made that the first software needs to be replaced (e.g., partially or entirely) owing to a newer version of software is ready to be deployed, a vulnerability in the first software has been determined, etc. Rather than closing the industrial process down while the first software is replaced, a second software can be deployed such that the first software and the second software are operating in parallel (e.g., receiving the same operational data, process states). When a critical point (upgrade location) in the first software has been reached, control of the industrial process can be switched to the second software, thereby enabling control of the industrial process to occur without having to temporarily cease operation and/or monitoring of the industrial process.