Fault-Tolerant Match Server with Copy-Cat Backup

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 that redundant components are synchronized with primary components to seamlessly take over in case of failures, leading to performance penalties and potential data integrity issues.

Innovation Solution

A fault-tolerant system is implemented using an active copy-cat instance that mirrors operations of the primary instance only after successful completion, with fault-tolerant logic monitoring inputs and outputs to ensure correct operation and allowing the backup instance to take over in case of primary instance failure, without requiring specific design or programming for fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant components are synchronized with primary components to take over in case of failures, then fault tolerance is improved, but system complexity and performance overhead increase

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

Solution Approach 1:

The system is segmented into primary instance, backup instance, and fault-tolerant logic as separate functional modules. This segmentation allows each component to have a specific responsibility: the primary instance handles operations, the backup instance waits to take over, and the fault-tolerant logic monitors and coordinates failover. This modular approach reduces overall system complexity while maintaining fault tolerance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A copy-cat backup instance is created that mirrors the primary instance's structure and functionality. The backup instance receives copies of inputs and generates copies of outputs, allowing it to seamlessly take over when the primary fails. This copying approach simplifies fault tolerance by ensuring the backup is already configured and ready, eliminating the need for complex synchronization protocols.

Inventive Principle:
Principle #26Copying

2Reliability

If redundant components are synchronized with primary components, then data integrity is improved, but performance overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The backup instance performs preliminary actions by receiving inputs and generating outputs in advance, staying ready to take over immediately when the primary instance fails. This preliminary action ensures data integrity is maintained while minimizing performance overhead during normal operation, as the backup's processing occurs parallel to the primary's work without blocking it.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Fault-tolerant logic monitors the primary instance's operations and provides feedback to determine when failover is necessary. This feedback mechanism ensures data integrity by continuously verifying the primary's status and triggering backup activation only when needed, avoiding unnecessary performance overhead from constant synchronization during normal operation.

Inventive Principle:
Principle #23Feedback

3Reliability

If backup instance mirrors all operations of primary instance, then fault tolerance is improved, but device complexity and performance impact increase

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

Solution Approach 1:

The backup instance is designed as a copy-cat that replicates the primary instance's structure, receiving the same inputs and generating the same outputs. This copying approach simplifies the synchronization complexity by ensuring the backup is structurally identical to the primary, eliminating the need for complex data mapping and synchronization protocols while maintaining fault tolerance.

Inventive Principle:
Principle #26Copying

4Productivity

If backup instance processes tasks without staying in sync with primary instance, then performance impact is reduced, but fault tolerance complexity is simplified

Engineering Contradiction:
ImproveperformanceVSAvoidfault tolerance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system is divided into independent functional segments: the primary instance that processes operations, the backup instance that stands ready to take over, and the fault-tolerant logic that coordinates between them. This segmentation allows the backup to process tasks independently without continuous synchronization, reducing performance impact while maintaining fault tolerance through the coordinated failover mechanism.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3037969B1Match server for a financial exchange having fault tolerant operation
Publication Date: 2018.01.24 CHICAGO MERCANTILE EXCHANGE INC
  • EP3037969B1 patent drawingFigure 1
  • EP3037969B1 patent drawingFigure 2
  • EP3037969B1 patent drawingFigure 3

AI summary

Fault tolerant operation is disclosed for a primary match server of a financial exchange using an active copy-cat instance, a.k.a. backup match server, that mirrors operations in the primary match server, but only after those operations have successfully completed in the primary match server. Fault tolerant logic monitors inputs and outputs of the primary match server and gates those inputs to the backup match server once a given input has been processed. The outputs of the backup match server are then compared with the outputs of the primary match server to ensure correct operation. The disclosed embodiments further relate to fault tolerant failover mechanism allowing the backup match server to take over for the primary match server in a fault situation wherein the primary and backup match servers are loosely coupled, i.e. they need not be aware that they are operating in a fault tolerant environment. As such, the primary match server need not be specifically designed or programmed to interact with the fault tolerant mechanisms. Instead, the primary match server 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 match server 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 match server to the backup match server.