Kernel-Side Process Unresponsiveness Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing system hang detectors face limitations in scalability, reliability, and hardware dependency, making it difficult to effectively detect and respond to process unresponsiveness across multiple processes with varying time requirements, especially in user space transactions.
Innovation Solution
Implementing a method that creates and activates a timer on the system kernel side for each target process, determining unresponsiveness when the timer exceeds a predetermined threshold, and performing a predetermined action, while leveraging a hardware watchdog for enhanced scalability and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a system hang detector is implemented using traditional methods, then it can detect system unresponsiveness, but it faces limitations in scalability and reliability when monitoring multiple processes with varying time requirements
Solution Approach 1:
The patent segments the monitoring system by creating individual timers for each target process on the kernel side. Each timer is independently configured with process-specific time thresholds, allowing the system to monitor multiple processes with different requirements simultaneously. This segmentation enables scalable monitoring without compromising reliability.
Solution Approach 2:
The patent moves the monitoring mechanism from user space to kernel space, adding a dimensional change in the system architecture. By implementing timers and detection logic at the kernel level, the system gains direct access to process information and can enforce monitoring policies with higher authority and reliability, while maintaining adaptability through configurable parameters.
2Reliability
If kernel core dump or process core dump is used for debugging, then offline analysis can be performed, but it requires impossible customer environment access in many cases
Solution Approach 1:
The patent configures predetermined actions to be automatically executed when process unresponsiveness is detected. These actions can include generating core dumps, sending notifications, or triggering recovery procedures before the system state deteriorates further. This preliminary action ensures debugging information is captured while the system is still accessible.
Solution Approach 2:
The monitoring system operates autonomously at the kernel level, automatically detecting unresponsive processes and executing predetermined actions without requiring external intervention. The system serves itself by continuously monitoring and self-correcting, eliminating the need for customer environment access for basic monitoring and initial debugging.
3Adaptability or versatility
If hardware watchdog is leveraged for enhanced scalability, then reliability is improved, but hardware dependency increases
Solution Approach 1:
The patent implements a universal timer mechanism at the kernel level that can monitor any process with configurable parameters. This multi-functional approach allows the same core mechanism to serve multiple processes with different time requirements, providing scalability without requiring separate hardware watchdogs for each process.
Solution Approach 2:
Instead of relying on physical hardware watchdog devices, the patent creates software-based timer copies that replicate the watchdog functionality at the kernel level. These virtual timers can be instantiated multiple times with different configurations, providing the scalability of hardware watchdogs without the hardware dependency.
Data Source
AI summary
Embodiments of the present disclosure disclose a method for detecting unresponsiveness of a process, wherein for each target process in a plurality of target processes, creating and activating a timer on a system kernel side, so as to time the target process; and when timing of the corresponding timer exceeds a predetermined time threshold, determining the target process to be unresponsive, and performing a predetermined associated action.


