Non-coupled Software Lockstep for Transient Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefault detection capabilityVSAvoidspecialized hardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #26Copying

2Measurement precision

If traditional lockstep systems require synchronization points and code modifications, then measurement precision is improved, but ease of operation and adaptability deteriorate

Engineering Contradiction:
Improvebehavior comparison accuracyVSAvoidapplication code modification requirements
Core Design Contradiction:
Measurement precisionVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetransient error detectionVSAvoiderror detection time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3519966B1Non-coupled software lockstep
Publication Date: 2024.10.30 BLACKBERRY LTD
  • EP3519966B1 patent drawingFigure 1
  • EP3519966B1 patent drawingFigure 2
  • EP3519966B1 patent drawingFigure 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.