Stateful Application Update via Segmented State Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In industrial process control systems, updating applications while maintaining cycle times is challenging due to network delays, especially when application states need to be transferred between nodes, which can disrupt production processes.
Innovation Solution
A computer-implemented update management method that identifies decoupled parts of an application state, allowing for partial updates during execution cycles, splitting the application into parts that can be transferred independently, and managing network load to ensure cycle times are met.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the application state is transferred from source node to target node during execution, then the application can be updated without stopping, but network delays may cause cycle time requirements to be missed
Solution Approach 1:
The application state is divided into multiple independent parts that can be transferred separately. This segmentation allows the transfer process to be distributed across multiple execution cycles, reducing the time pressure on any single cycle while maintaining continuous operation.
Solution Approach 2:
The application state is split into parts before the update process begins, and transfer priorities are predetermined. This preliminary preparation enables efficient transfer scheduling during execution without requiring complex real-time decisions, ensuring cycle time constraints are met.
2Speed
If the entire application state is transferred in one go, then the update is completed quickly, but it cannot be done within a single execution cycle due to network delays
Solution Approach 1:
The application state is divided into multiple independent parts that can be transferred separately. This segmentation allows the transfer process to be distributed across multiple execution cycles, reducing the time pressure on any single cycle while maintaining continuous operation.
Solution Approach 2:
The state transfer is performed periodically across multiple execution cycles rather than attempting to complete it in one cycle. Each cycle transfers a portion of the state, creating a rhythmic, manageable transfer process that respects system timing constraints.
3Reliability
If the application is stopped for updating, then the state transfer can be completed without delays, but production process disruption occurs
Solution Approach 1:
The application continues to execute and perform its useful function throughout the state transfer process. By making the transfer process incremental and integrating it into ongoing execution cycles, the system maintains continuous operation without interruption to production processes.
Solution Approach 2:
The application state is split into parts before the update process begins, and transfer priorities are predetermined. This preliminary preparation enables efficient transfer scheduling during execution without requiring complex real-time decisions, ensuring cycle time constraints are met.
4Adaptability or versatility
If application instances execute on different nodes, then workload distribution is optimized, but additional network delays are introduced in the state transfer process
Solution Approach 1:
The application state is divided into multiple independent parts that can be transferred separately. This segmentation allows the transfer process to be distributed across multiple execution cycles, reducing the time pressure on any single cycle while maintaining continuous operation.
Solution Approach 2:
Different parts of the application state are transferred with different priorities based on their specific requirements. This localized optimization of transfer priorities ensures that critical state components are transferred efficiently while less critical parts can wait for subsequent cycles.
Data Source
AI summary
A computer-implemented update management method for managing transfer of an application state from a source node to at least one target node of a distributed control system, includes identifying a first part of the application state which can be transferred independently of a second part of the application state; determining that the first part can be transferred from the source node to the at least one target node during one execution cycle of the application; performing a first partial update by transferring the first part of the application state from the source node to the at least one target node during a first execution cycle of the application; and performing a second partial update by transferring the second part of the application state from the source node to the at least one target node during a second, subsequent execution cycle of the application.


