Process Software Update via Shared-State Execution Switchover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In process automation, updating control applications without stopping production is challenging due to network latencies introduced by deploying software containers on different physical nodes, which can exceed cycle times and disrupt continuous operation.

Innovation Solution

Implementing a method for real-time updating of process software by using inter-process communication within a single container deployment unit, where an updated execution engine initializes with the application state from the first engine via shared memory, allowing seamless transition without network delays, ensuring continuous operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software containers are deployed on different physical nodes for management benefits, then container orchestration and management are improved, but network latency increases and may exceed cycle times

Engineering Contradiction:
Improvecontainer managementVSAvoidnetwork latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system segments container deployment by organizational units, allowing each unit to manage containers on dedicated physical nodes. This segmentation enables local inter-process communication without network latency while maintaining orchestration benefits through the hierarchical structure of deployment units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces deployment units as intermediary layers between the orchestration engine and physical nodes. These deployment units act as local managers that enable fast inter-process communication between containers while still being manageable by the orchestration engine, thus mediating between management needs and performance requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If state transfer is performed via network protocols, then transfer between different physical nodes is enabled, but additional delay from multiple network stack layers is introduced

Engineering Contradiction:
Improvestate transfer capabilityVSAvoidstate transfer delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements state transfer through memory copying mechanisms between containers in the same deployment unit. Instead of using network protocols, the state is copied directly through shared memory or inter-process communication channels, eliminating network stack overhead while maintaining the capability to transfer state between execution engines.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts the state transfer mechanism from the network protocol stack and implements it through direct memory access and inter-process communication. This extraction removes the unnecessary network layer overhead for transfers within the same physical node, keeping only the essential state transfer functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If control application execution is stopped for updates, then software can be updated, but production stops occur which is undesirable

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidproduction continuity
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary actions by preparing the updated execution engine and transferring its state before the current execution engine completes its cycle. The updated engine is initialized with the current state in advance, allowing seamless switching without interrupting the control application's output to the process device.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuity of useful action by ensuring that the control application continues to execute and provide output signals throughout the update process. The state transfer and engine replacement happen in the background or during non-critical periods, ensuring that the production process receives continuous control signals without interruption.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11966731B2Method for real-time updating of process software
Publication Date: 2024.04.23 ABB (SCHWEIZ) AG
  • US11966731B2 patent drawing
  • US11966731B2 patent drawing
  • US11966731B2 patent drawing

AI summary

A system and method for real time updating of process applications includes a first execution engine executing a first process application to control a process device, an update manager receiving an updated software, the update manager being a second software container deployed in the deployment unit; initializing the updated software in a second execution engine; determining an application state of the first process application; instructing a transfer of the application state from the first execution engine to the second execution engine; instructing the second execution engine to execute the updated process application using the received application state; and instructing the first execution engine to stop writing output signals for the process device, and instructing the second execution engine to write output signals for the process device.