Runtime Component for Hot-Standby Event Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing industrial control systems face challenges in achieving seamless application state synchronicity between primary and secondary controllers in a duplex configuration, particularly in event-driven systems like IEC 61499, which are often tightly coupled to hardware and lack flexibility in deployment.
Innovation Solution
A method and system for synchronizing the execution of external events between primary and secondary controllers in a duplex configuration, ensuring identical control application states through queuing and synchronized execution of events, even across diverse hardware and operating systems, using a runtime component that supports event-driven control applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If event-driven control applications are implemented in distributed systems, then system flexibility and deployability are improved, but achieving application state synchronicity between primary and secondary controllers becomes more difficult
Solution Approach 1:
The patent implements preliminary synchronization of external events from the primary controller to the secondary controller before failover occurs. Event queues are pre-populated and synchronized during normal operation, so that when a failover happens, the secondary controller already has the necessary events queued and can resume execution without loss of synchronicity. This resolves the contradiction by preparing the system in advance rather than attempting synchronization during the critical failover moment.
Solution Approach 2:
The patent introduces an event synchronization mechanism as an intermediary between the primary and secondary controllers. This intermediary layer manages the queuing, filtering, and synchronization of external events, allowing the two controllers to maintain application state synchronicity while both remain operational. The intermediary handles the complexity of synchronization transparently, enabling deployability flexibility while maintaining reliability.
2Reliability
If duplex configuration with primary and secondary controllers is implemented, then system availability is improved, but system complexity and resource consumption increase
Solution Approach 1:
The patent implements a simplified duplication model where the secondary controller maintains a copy of the event queue and application state from the primary controller. Rather than implementing complex bidirectional synchronization protocols, the system uses unidirectional copying of external events from primary to secondary, significantly reducing the complexity of the duplex configuration while maintaining high availability. The copy is kept synchronized through simple event queuing and filtering operations.
3Reliability
If external events are synchronized between controllers, then application state synchronicity is improved, but CPU and network resource usage increase
Solution Approach 1:
The patent implements partial synchronization by selectively queuing and synchronizing only external events from the primary controller to the secondary controller, rather than synchronizing all events including internal events. This partial action approach reduces the volume of data that needs to be transmitted and processed, thereby reducing CPU and network resource usage while still maintaining sufficient application state synchronicity for high availability operations.
Solution Approach 2:
The patent extracts and isolates only the essential external events that require synchronization between controllers, separating them from internal events that do not need synchronization. By taking out only the necessary external events for the synchronization process, the system minimizes resource consumption while achieving the required level of application state synchronicity for failover capability.
Data Source
AI summary
A duplex configuration for application state synchronicity. A primary controller actively monitors and controls a plant/process and a secondary controller takes over in case of a failure of the primary controller. Input data is received at respective inputs of the primary controller and the secondary controller. Determining which of the received input data is associated with or should be treated as External Events permits achieving application state synchronicity between the primary controller and the secondary controller by synchronizing the execution of events associated with the same input data.


