Database Transaction Log for Session Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently recovering and completing transactions that fail due to session failures between clients and database servers, particularly in cloud environments, where connection failures can lead to complex retry logic and data inconsistency.

Innovation Solution

Implementing a transaction log at the database server to track command progress, allowing for seamless continuation of transactions from the point of failure without re-execution, and utilizing replicated transaction logs for failover to different database servers for high availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If retry logic is implemented in the application to handle session failures, then transaction recovery is possible, but the application complexity increases significantly

Engineering Contradiction:
Improvetransaction recovery capabilityVSAvoidapplication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a transaction log as an intermediary component between the application and the database server. The transaction log automatically tracks and stores transaction state information, serving as a mediator that handles the complexity of transaction recovery. When session failures occur, the system uses the transaction log to automatically resume transactions without requiring complex retry logic in the application layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by maintaining a transaction log that continuously records transaction progress and state information before failures occur. This preliminary tracking of transaction states enables automatic recovery mechanisms to function seamlessly when session failures happen, eliminating the need for complex post-failure retry logic in applications.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If transactions are re-executed from the beginning after session failure, then data consistency is maintained, but processing time and productivity are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The transaction log performs preliminary recording of transaction operations as they occur during normal execution. By maintaining this continuous record of transaction progress, the system can quickly determine which operations have already been successfully executed after a session failure, allowing selective resumption rather than complete re-execution of transactions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system discards the need to re-execute already successful transaction operations by recovering the transaction state from the transaction log. Only the failed or incomplete portions of transactions need to be re-executed, while successfully completed operations are identified and discarded from the retry set, thereby maintaining data consistency while improving productivity.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If cloud environment deployment is implemented, then service accessibility and adaptability are improved, but session failure possibilities increase

Engineering Contradiction:
Improvecloud environment compatibilityVSAvoidsession stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The transaction log serves as a protective intermediary layer between the application and the unstable cloud environment. By decoupling the application from direct dependency on session stability and introducing the transaction log as a state management intermediary, the system gains resilience against cloud environment session failures while maintaining full adaptability to cloud deployment scenarios.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2877942B1Automatic transaction retry after session failure
Publication Date: 2020.04.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2877942B1 patent drawingFigure 1
  • EP2877942B1 patent drawingFigure 2
  • EP2877942B1 patent drawingFigure 3

AI summary

Techniques for recovering from session failures between clients and database servers are described herein. A session may be established between a client and a first database server, and a transaction may be opened to process a plurality of database commands. One or more commands associated with the transaction may be received from the client at the database server. Each received command has an associated command identifier. A transaction log stores the command identifier associated with each received command and indicates whether each received command has been successfully executed at the database server. After a session failure, the session is reestablished, and a command identifier for a further command is received from the client. If the command identifier associated with the further command is determined to have been stored in the transaction log, the command does not need to be executed, and the transaction may continue.