Automatic Failover Mechanism for Database Session State Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing client-server database systems require manual intervention and loss of session state data when a database session fails, leading to interrupted queries and the need for users to reconnect manually.
Innovation Solution
An automatic failover mechanism that detects failed connections and automatically reconnects clients to a backup server, using checksums to ensure uninterrupted query processing and restore session state data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual reconnection is required after database session failure, then system reliability is improved through human verification, but ease of operation deteriorates due to manual intervention requirements
Solution Approach 1:
The system automatically detects database session failures and performs reconnection operations without requiring user intervention. The client driver interface monitors session health, detects failures, and initiates reconnection procedures autonomously, allowing the system to serve itself during failure recovery scenarios.
Solution Approach 2:
The system pre-establishes backup database server connections and maintains session state information in advance of failures. When a failure occurs, the pre-prepared backup connection and stored session state enable immediate reconnection without requiring users to manually re-establish connections or resubmit queries.
2Loss of information
If manual reconnection is required after database session failure, then data integrity is improved through user verification, but loss of time increases due to manual reconnection steps
Solution Approach 1:
The system continuously maintains session state information in the client driver interface and pre-establishes backup database server connections before failures occur. This preliminary preparation ensures that when a failure happens, the session state is already captured and a backup connection is ready, eliminating the time required for manual reconnection and query resubmission.
Solution Approach 2:
The system implements continuous monitoring of database session health through callback mechanisms that provide feedback on connection status. When failures are detected, the feedback loop triggers automatic reconnection procedures, reducing the time users experience service interruption while maintaining data integrity through verified connection restoration.
3Ease of operation
If automatic failover is implemented, then ease of operation is improved through automated reconnection, but device complexity increases due to failover mechanism requirements
Solution Approach 1:
The client driver interface serves as an intermediary layer between the database application and the database server. It absorbs the complexity of failover mechanisms, session state management, and backup connection handling, while presenting a simple interface to the database application. This intermediary approach shields the user from complexity while enabling automatic failover functionality.
4Device complexity
If session state data is not restored after failover, then device complexity is reduced, but productivity decreases due to query resubmission requirements
Solution Approach 1:
The system maintains copies of session state information in the client driver interface and on the backup database server. When failover occurs, these pre-captured copies are automatically transferred and restored, allowing the database application to resume processing without resubmitting queries. This copying mechanism preserves productivity while keeping the complexity managed through the intermediary layer.
Data Source
AI summary
Some embodiments are directed to a method and apparatus for implementing an automatic failover mechanism for a resource. A client accesses a source through a first server using a first session. During the session, the client stores checksum information corresponding to data received via the session with the first server. When it is detected that the session between the first server and the client has failed, the client is automatically connected with second server that has access to the resource. The checksum information is transmitted from the client to the second server, where it is compared with checksum information calculated at the second server, so that a determination can be made as to whether the client can continue processing where it left off when connected to the second server.


