Database Pool Module for Automated Connectivity Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems face significant downtime issues due to unplanned outages, which can lead to substantial disruptions in services like email forwarding and e-commerce operations, as they often rely on reactive approaches that delay problem resolution and require immediate personnel intervention.
Innovation Solution
A computer server system with a database pool module that manages connections between processing threads and database modules, selectively disconnects from unresponsive modules, initiates recovery processes, and reconnects when they become responsive, ensuring continuous operation and minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a reactive approach is used to handle database outages, then personnel can analyze and repair problems when they occur, but significant downtime occurs before problem resolution
Solution Approach 1:
The system performs preliminary actions by implementing automated monitoring that detects database unresponsiveness before it causes service failure. The monitoring thread continuously checks database connectivity and proactively terminates connections to unresponsive databases, preventing outages from propagating to users. This preliminary detection and response mechanism eliminates the waiting period inherent in reactive approaches.
Solution Approach 2:
The system implements self-service through automated monitoring and recovery mechanisms that operate without human intervention. The monitoring thread autonomously detects unresponsive databases, terminates connections, and attempts reconnection when databases become responsive again. This self-managing system eliminates dependency on personnel availability and reduces downtime significantly compared to manual reactive approaches.
2Ease of operation
If manual monitoring and repair approaches are used, then problems can be addressed with human judgment, but response is delayed until personnel are available
Solution Approach 1:
The monitoring system operates autonomously without requiring human intervention for detection or initial response. The monitoring thread continuously checks database connectivity, automatically identifies unresponsive databases, and terminates connections proactively. This self-managing approach provides immediate response to issues regardless of personnel availability, while still allowing human operators to intervene when needed for complex problems.
Solution Approach 2:
The system implements continuous feedback through the monitoring thread that constantly checks database responsiveness and provides real-time information about system health. This feedback loop enables automated adjustment of connection states based on current database performance, allowing the system to respond immediately to changes without waiting for human analysis while maintaining the capability for human judgment when required.
3Stability of the object's composition
If database connections are maintained during outages, then connection state is preserved, but processing threads are blocked and service availability decreases
Solution Approach 1:
The system segments the connection management function into separate components: active processing connections and monitoring connections. The monitoring thread uses dedicated test connections to check database responsiveness without interfering with processing threads. When unresponsiveness is detected, only the monitoring connection state triggers a response that terminates processing connections, allowing the system to maintain connection integrity information while preventing blocked processing.
Solution Approach 2:
The monitoring thread acts as an intermediary between the processing threads and the database. It continuously monitors database responsiveness through test connections and mediates the connection state by terminating processing connections when unresponsiveness is detected. This intermediary mechanism preserves connection state information while preventing processing threads from being blocked by unresponsive databases, thus maintaining service availability.
Data Source
AI summary
A computer server system may include a plurality of database modules for storing user data for a plurality of users, and at least one processing module comprising a plurality of processing threads for processing jobs for users based upon respective user data. The computer server system may further include a database pool module connected between the plurality of database modules and the at least one processing module. The database pool module may be for selectively connecting the processing threads to corresponding database modules including respective user data for jobs to be processed, and determining when a database module becomes unresponsive and terminating processing thread connections to the unresponsive database module based thereon. The database pool module may also be for determining when the unresponsive database module becomes responsive and restoring processing thread connectivity thereto based thereon.


