Server Failure Detection and Automatic Restart Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing automatic failure detection and restart for server applications is impractical and error-prone, especially in complex server software with multiple processes and dependencies, as existing high availability solutions require extensive implementation for each framework.
Innovation Solution
A server system comprising a server starter program, a monitor program, and a probing program that runs on a computer-readable storage medium, where the monitor program detects failures and communicates with the server starter program to restart server applications, and the probing program checks for database issues and connectivity, enabling automatic detection and correction of failures without administrative intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a high availability cluster with multiple servers is implemented to provide failover capability, then server availability is improved, but device complexity and implementation difficulty increase significantly
Solution Approach 1:
The system segments the high availability functionality into three distinct components: a monitoring program that detects failures, a server starter program that manages startup operations, and a service program that handles requests. This segmentation allows each component to have a specialized function, reducing the complexity of implementing full HA capability while maintaining reliability through coordinated operation of these simpler parts.
Solution Approach 2:
The server starter program acts as an intermediary between the monitoring program and the server applications. It receives failure notifications from the monitoring program and orchestrates the restart of server applications, thereby simplifying the overall system architecture by introducing a mediating component that handles the complexity of failure recovery rather than requiring direct complex cluster configurations.
2Reliability
If an agent is implemented for every framework to detect failures and initiate restart, then failure detection capability is improved, but device complexity and error susceptibility increase
Solution Approach 1:
The monitoring program is designed as a universal failure detection mechanism that can monitor multiple different server applications and frameworks through a single implementation. Instead of creating specialized agents for each framework, the universal monitoring program detects failures across diverse server types, significantly reducing complexity while maintaining comprehensive failure detection capability.
Solution Approach 2:
The system implements self-service failure recovery where the monitoring program automatically detects failures and triggers restart operations through the server starter program without requiring external intervention. This self-service mechanism simplifies the architecture by eliminating the need for complex external agent implementations while maintaining reliable failure detection and recovery.
3Ease of operation
If manual intervention is required to restart server applications after failure, then system control precision is improved, but loss of time and productivity decrease
Solution Approach 1:
The server starter program is pre-configured with the necessary information and permissions to restart server applications. When the monitoring program detects a failure, it immediately triggers the pre-prepared server starter program to initiate restart operations, eliminating the time delay associated with manual intervention while maintaining precise control over the restart process through the configured parameters.
Solution Approach 2:
The system implements an automatic feedback loop where the monitoring program continuously monitors server application status, detects failures in real-time, and automatically triggers restart operations through the server starter program. This closed-loop feedback mechanism eliminates downtime by immediately responding to failures without requiring manual intervention, while still maintaining operational precision through the structured feedback and response process.
Data Source
AI summary
Various methods and apparatuses are described for a server that includes at least a server starter program, a monitor program, and a service program. The server starter program runs resident on a computer readable storage medium. The server starter program contains code scripted to start and stop server applications. The monitor program also runs resident on the computer readable storage medium. The monitor program contains code scripted to detect a failure associated with a first server application and to communicate to the server starter program to re-start one or more server applications based upon the detected failure associated with the first server application. The service program registers as an operating system service with the operating system. The service program controls requests and communicates to the operating system on behalf of the first server application in the server.


