Proxy File Timestamps for Server Failure Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client/server computing systems, detecting failed servers is challenging, as existing methods lack efficient mechanisms for identifying server failures and redistributing incomplete work among peer servers, leading to potential data loss and system instability.

Innovation Solution

The system creates a proxy file for each server with a timestamp, allowing servers to inspect each other's timestamps and automatically transfer the workload of a failed server to another server when the timestamp exceeds a threshold, ensuring seamless continuation of tasks and maintaining system stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional server failure detection methods are used, then system complexity is reduced, but failure detection reliability and timeliness deteriorate

Engineering Contradiction:
Improvefailure detection reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a proxy file that copies the essential state information (timestamp) of each server to a shared file system. This copy allows other servers to detect failures by checking whether the proxy file's timestamp is current, providing a simple yet reliable failure detection mechanism without complex monitoring infrastructure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The proxy file acts as an intermediary between servers for failure detection. Instead of servers directly monitoring each other's status through complex communication protocols, they indirectly check failure status by examining the timestamp in the proxy file, which serves as a mediator carrying the server's operational state information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If manual workload redistribution is used when server failure is detected, then system automation is reduced, but workload redistribution precision can be maintained

Engineering Contradiction:
Improvefailure response automationVSAvoidworkload redistribution reliability
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system implements self-service automation where servers automatically detect failures by checking proxy file timestamps and autonomously redistribute workloads without human intervention. When a server detects that another server's proxy file timestamp is stale, it automatically takes over the failed server's workload, ensuring both automation and reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The timestamp in the proxy file provides continuous feedback about server status. Servers periodically check these timestamps, and when a timestamp is found to be stale (indicating failure), this feedback triggers automatic workload redistribution. This feedback mechanism enables reliable automated response to failures.

Inventive Principle:
Principle #23Feedback

3Loss of time

If server failure is not detected timely, then system efficiency is maintained, but data loss and work interruption increase

Engineering Contradiction:
Improvefailure detection timeVSAvoidsystem efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

Servers periodically check the timestamps in proxy files of other servers to detect failures. This periodic checking mechanism ensures timely failure detection without requiring constant monitoring, balancing the timeliness of failure detection with system efficiency by using reasonable time intervals between checks.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10176059B2Managing server processes with proxy files
Publication Date: 2019.01.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10176059B2 patent drawing
  • US10176059B2 patent drawing
  • US10176059B2 patent drawing

AI summary

Computer-implemented methods and systems are provided for detecting a failed server. The computer-implemented method includes detecting a plurality of servers within a network, allowing each of the plurality of servers to monitor a state of other servers of the plurality of servers, and in response to detecting a failed server, allowing another server of the plurality of servers to complete remaining work of the failed server.