Server Failure Detection and Automatic Restart Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveserver availabilityVSAvoidcluster configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefailure detection capabilityVSAvoidagent implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improverestart control precisionVSAvoiddowntime
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9183068B1Various methods and apparatuses to restart a server
Publication Date: 2015.11.10 SUN MICROSYSTEMS INC
  • US9183068B1 patent drawing
  • US9183068B1 patent drawing
  • US9183068B1 patent drawing

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.