Parallel Software Instances for Fast Failover and Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software applications for industrial processes face challenges in ensuring high availability and minimizing downtime during switchover, often resulting in long switching times and data loss, particularly in non-real-time services.
Innovation Solution
A method where a software application runs in parallel on two identical instances, one active and one passive, with the passive instance synchronized at intervals to ensure seamless transition to active status upon failure, using delta updates and separate synchronization components to maintain high availability and reduce data loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a backup server is started when a production server fails, then redundancy is achieved, but switchover time increases and data loss may occur
Solution Approach 1:
The patent applies preliminary action by pre-starting a passive instance of the software application alongside the active instance before any failure occurs. This passive instance is kept ready in advance with all necessary resources allocated, so that when the active instance fails, the switchover can occur immediately without the delay of starting a backup server from scratch. The passive instance is synchronized with the active instance at certain intervals to ensure it has the latest data state.
Solution Approach 2:
The patent uses copying by creating a passive instance that is essentially a copy of the active instance. This passive instance is synchronized with the active instance at certain intervals, maintaining an up-to-date replica of the application state. When failure occurs, this pre-existing copy can immediately take over, eliminating the need to start a new backup server and reducing both switchover time and potential data loss.
2Reliability
If a backup server is started when a production server fails, then redundancy is achieved, but data loss may occur
Solution Approach 1:
The patent applies preliminary action by pre-starting a passive instance of the software application alongside the active instance before any failure occurs. This passive instance is kept ready in advance with all necessary resources allocated, so that when the active instance fails, the switchover can occur immediately without the delay of starting a backup server from scratch. The passive instance is synchronized with the active instance at certain intervals to ensure it has the latest data state.
Solution Approach 2:
The patent uses copying by creating a passive instance that is essentially a copy of the active instance. This passive instance is synchronized with the active instance at certain intervals, maintaining an up-to-date replica of the application state. When failure occurs, this pre-existing copy can immediately take over, eliminating the need to start a new backup server and reducing both switchover time and potential data loss.
3Reliability
If the passive instance is synchronized at certain intervals, then data consistency is maintained, but computational overhead increases
Solution Approach 1:
The patent applies periodic action by synchronizing the passive instance with the active instance at certain intervals rather than continuously. This periodic synchronization maintains data consistency between the two instances while avoiding the excessive computational overhead of continuous real-time synchronization. The interval-based approach strikes a balance between keeping the passive instance up-to-date and minimizing the computational resources required for the synchronization process.
Data Source
Figure 1

AI summary
The invention relates to a method, in particular a computer-based method, for operating a software application (app) which runs in parallel in two instances, wherein one of the two instances is temporarily an active instance and the other of the two instances is a passive instance, wherein the passive instance is not executed and is synchronized by the active instance at certain intervals, so that the passive instance forms a redundant instance to the active instance.