Supervisory Thread for External Process Monitoring and Crash Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems lack the ability to externally monitor and control processes such as applications and communication programs, making it difficult to detect and recover from crashes without user intervention, and do not allow for controlled initiation or termination of processes.
Innovation Solution
A supervisory thread is created externally to monitor processes, allowing for automatic crash detection and recovery through a defined recovery plan, and enabling external control over process initiation and termination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If processes run independently with their own internal rules, then each process maintains autonomy and flexibility, but it becomes difficult to externally monitor and control process execution and interactions
Solution Approach 1:
The patent introduces a monitor program as an intermediary component that sits between the operating system and user processes. This monitor program externally observes process creation, execution, and termination without requiring modifications to the processes themselves. The monitor program receives notifications from the operating system about process events and can independently determine whether processes are running according to their defined rules, thus enabling external control while maintaining process autonomy.
2Reliability
If processes define their own initiation and termination rules internally, then processes maintain independence, but crash detection and recovery require user intervention
Solution Approach 1:
The monitor program implements a feedback mechanism by continuously observing process events and comparing actual process behavior against predefined rules. When a process terminates, the monitor program receives a termination notification and automatically determines whether this termination was expected or unexpected based on its monitoring of process rules. This feedback loop enables automatic crash detection and triggers recovery actions without user intervention, improving reliability while maintaining automation.
3Adaptability or versatility
If a process cannot be terminated from external code, then process autonomy is maintained, but controlled termination and recovery planning are impossible
Solution Approach 1:
The patent extracts the termination control capability from the individual processes and centralizes it in the monitor program. The monitor program maintains a set of rules that define when and how processes should be terminated. When a process is no longer needed or has crashed, the monitor program can externally terminate the process by communicating with the operating system, enabling controlled termination and recovery planning without requiring the process itself to have this capability.
Data Source
AI summary
A monitor program executes a set of client processes upon reboot of a computer, starts, stops and monitors client processes running on the computer, and/or detects and recovers automatically from process crashes. The program monitors a client process using a supervisory thread it creates when the client process is started, and uses the process's handle to detect its termination. When process termination is detected, the state table within the monitor program is checked to determine if the client process crashed or was exited normally. If the exit was the result of a crash, the program can automatically execute crash recovery using a preconfigured plan.


