Transactional Fault Tolerance via Execution Context Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing fault-tolerant systems in client-server systems require complex mechanisms such as logging and replay of events or lockstep execution, which are cumbersome, especially in multi-processor systems, and lack efficient solutions for deterministic replay of instructions on secondary servers.

Innovation Solution

A method where output data generated by a primary server during an epoch is buffered and a copy of the execution context is established on a secondary server, allowing for atomic checkpointing without the need for logging and replay, enabling seamless failover without altering client-server protocols or requiring specific hardware support.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If logging and replay of events is used for fault tolerance, then reliability is improved, but device complexity and difficulty of detecting and measuring increase

Engineering Contradiction:
Improvefault toleranceVSAvoidcomplexity of logging and replay mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the execution context (including register state, program counter, and stack) on the secondary server at checkpoint boundaries. This copying approach enables fault tolerance by allowing the secondary server to resume from the copied state without requiring complex logging and replay mechanisms, thus reducing system complexity while maintaining reliability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary actions by establishing checkpoints at defined boundaries where the execution context is copied to the secondary server. This preliminary copying of state information eliminates the need for continuous logging and complex replay operations during failover, simplifying the overall system architecture while ensuring reliable recovery

Inventive Principle:
Principle #10Preliminary action

2Reliability

If lockstep execution is used for fault tolerance, then reliability is improved, but device complexity and ease of operation worsen

Engineering Contradiction:
Improvefault toleranceVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

Instead of requiring lockstep execution where both servers must execute instructions simultaneously and in sync, the patent copies the complete execution context at checkpoints. This allows the primary and secondary servers to execute independently without coordinated lockstep operation, significantly improving ease of operation while maintaining fault tolerance capability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The execution timeline is segmented into epochs delimited by checkpoints. Within each epoch, servers can execute independently. The segmentation allows each server to operate autonomously while maintaining synchronization points through checkpoint copying, eliminating the need for complex lockstep coordination and improving operational simplicity

Inventive Principle:
Principle #1Segmentation

3Reliability

If deterministic replay of instructions is required on secondary server, then reliability is improved, but measurement precision and difficulty of detecting and measuring increase

Engineering Contradiction:
Improvedeterministic replayVSAvoiddifficulty of deterministic replay
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent copies the complete execution context including register state, program counter, and stack to the secondary server at checkpoints. This approach eliminates the need for deterministic replay of individual instructions, as the entire state is copied and can be resumed directly. This significantly reduces the difficulty of detecting and measuring replay behavior while maintaining reliability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts the essential state information (execution context) at checkpoints and stores it on the secondary server. By taking out only the necessary state data rather than requiring complete deterministic replay of all instructions, the system achieves reliability while simplifying measurement and detection of the replay process

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7610510B2Method and apparatus for transactional fault tolerance in a client-server system
Publication Date: 2009.10.27 ARCTERA US LLC
  • US7610510B2 patent drawing
  • US7610510B2 patent drawing
  • US7610510B2 patent drawing

AI summary

Method and apparatus for transactional fault tolerance in a client-server system is described. In one example, output data generated by execution of a service on a primary server during a current epoch between a first checkpoint and a second checkpoint is buffered. A copy of an execution context of the primary server is established on a secondary server in response to the second checkpoint. The output data as buffered is released from the primary server in response to establishment of the copy of the execution context on the secondary server.