Non-coupled Software Lockstep for Transient Error Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing lockstep systems face challenges in detecting non-deterministic hardware errors, particularly 'soft' or transient errors, which can lead to unintended results due to their inability to compare the behavior of identical software applications running on different hardware systems in real-time without specialized hardware or synchronization points.
Innovation Solution
A non-coupled software lockstep system that compares operating system programmatic procedure invocations between identical software copies executing on different cores or processors, using a difference detector to identify deviations in message sequences and contents, allowing for error detection without requiring synchronization points or modifications to the application code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional lockstep systems use specialized hardware and synchronization points to compare hardware systems, then fault detection capability is improved, but device complexity and ease of operation deteriorate
Solution Approach 1:
The patent replaces specialized hardware lockstep systems with a software-based difference detector that monitors and compares outputs of identical software running on different hardware systems. This substitution eliminates the need for complex specialized hardware while maintaining fault detection capability through software-based output comparison.
Solution Approach 2:
The system creates virtual copies of the hardware environment by running identical software on different physical hardware systems and comparing their outputs. This allows fault detection without requiring physical hardware duplication or specialized lockstep hardware, using software copies instead.
2Measurement precision
If traditional lockstep systems require synchronization points and code modifications, then measurement precision is improved, but ease of operation and adaptability deteriorate
Solution Approach 1:
The difference detector automatically monitors and compares outputs of software systems without requiring the software itself to be modified. The system serves itself by autonomously detecting discrepancies between hardware systems through output comparison, eliminating the need for synchronization points or code changes in the monitored applications.
Solution Approach 2:
The difference detector acts as an intermediary that observes and compares outputs from different hardware systems running identical software. This mediator approach enables precise behavior comparison without requiring direct interaction or synchronization between the hardware systems or modifications to the application code.
3Reliability
If non-coupled software lockstep is used to detect transient errors, then reliability is improved, but loss of time in error detection may increase
Solution Approach 1:
The difference detector continuously monitors and compares outputs from identical software running on different hardware systems in real-time. This continuous observation enables timely detection of transient errors without significant time loss, as the comparison occurs ongoing rather than periodically or after errors occur.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods of detecting a difference in behavior of processes are provided. Differences may be detected by comparing operating system programmatic procedure invocations made by the processes.