Active Copy-Cat Backup for Fault-Tolerant Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current fault-tolerant systems in mission-critical environments, such as financial exchanges, face complexity in ensuring redundant components are synchronized with primary components, leading to performance penalties and potential service interruptions during failover.

Innovation Solution

A fault-tolerant system is implemented with a primary instance and a backup instance that mirrors operations only after successful completion, using fault-tolerant logic to monitor inputs and outputs, gate inputs to the backup, and compare outputs to ensure correctness, allowing seamless failover without requiring the backup to be aware of the fault-tolerant mechanisms or the primary's internal state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant components are added to provide fault tolerance, then system reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a backup instance that is a complete copy of the primary instance, including all code and data. This copy approach simplifies fault tolerance by eliminating the need for complex synchronization mechanisms - the backup is simply replicated and can take over immediately upon failure detection, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system is divided into distinct primary and backup instances that operate independently. The backup instance runs in parallel but remains dormant until needed, allowing the system to maintain simplicity while providing fault tolerance through clear separation of functional roles.

Inventive Principle:
Principle #1Segmentation

2Reliability

If synchronization mechanisms are implemented between primary and backup instances, then fault tolerance is improved, but performance deteriorates due to synchronization overhead

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The backup instance is prepared in advance by copying all necessary code and data, but remains dormant during normal operation. This preliminary preparation eliminates the need for continuous synchronization during operation, thus maintaining high performance while ensuring fault tolerance is ready when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of synchronizing state changes in real-time, the system creates a complete static copy of the primary instance. This copying approach eliminates synchronization overhead during operation while still providing the ability to take over immediately upon failure.

Inventive Principle:
Principle #26Copying

3Reliability

If the backup instance continuously mirrors operations, then fault tolerance is improved, but loss of time occurs during failover transitions

Engineering Contradiction:
Improvefault toleranceVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The backup instance performs preliminary preparation by copying all code and data in advance, but remains dormant during normal operation. When failover is needed, the pre-prepared backup can take over immediately without requiring time-consuming synchronization or state transfer, thus minimizing failover time while maintaining fault tolerance.

Inventive Principle:
Principle #10Preliminary action

4Difficulty of detecting and measuring

If complex interaction mechanisms are implemented between primary and backup instances, then fault detection is improved, but device complexity increases

Engineering Contradiction:
Improvefailure detectionVSAvoidinteraction complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The system introduces a fault-tolerant logic intermediary that manages the interaction between primary and backup instances. This mediator handles failure detection and failover coordination, simplifying the overall system architecture by centralizing complex interaction logic in a dedicated component rather than requiring complex point-to-point interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The backup instance is created as a complete copy of the primary, including all failure detection capabilities. This copying approach enables the backup to independently detect failures without requiring complex communication protocols, thus improving failure detection while maintaining simplicity.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3118743B1Fault tolerance and failover using active copy-cat
Publication Date: 2021.10.06 CHICAGO MERCANTILE EXCHANGE INC
  • EP3118743B1 patent drawingFigure 1
  • EP3118743B1 patent drawingFigure 2
  • EP3118743B1 patent drawingFigure 3

AI summary

Fault tolerant operation is disclosed for a primary instance, such as a process, thread, application, processor, etc., using an active copy-cat instance, a.k,a. backup instance, that mirrors operations in the primary instance, but only after those operations have successfully completed in the primary instance. Fault tolerant logic monitors inputs and outputs of the primary instance and gates those inputs to the backup instance once a given input has been processed. The outputs of the backup instance are then compared with the outputs of the primary instance to ensure correct operation. The disclosed embodiments further relate to fault tolerant failover mechanism allowing the backup instance to take over for the primary instance in a fault situation wherein the primary and backup instances are loosely coupled, i.e. they need not be aware that they are operating in a fault tolerant environment. As such, the primary instance need not be specifically designed or programmed to interact with the fault tolerant mechanisms. Instead, the primary instance need only be designed to adhere to specific basic operating guidelines and shut itself down when it cannot do so. By externally controlling the ability of the primary instance to successfully adhere to its operating guidelines, the fault tolerant mechanisms of the disclosed embodiments can recognize error conditions and easily failover from the primary instance to the backup instance.