Process Reflection for Non-Disruptive Software Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional live diagnosis techniques for processes on computing devices are disruptive to users, often requiring suspension of the process for extended periods, which can last from tens of seconds to several hours or days, and may prevent process restart until diagnosis is complete.
Innovation Solution
Process reflection techniques create a reflected process that allows analysis to be performed while the target process continues executing, enabling diagnosis and debugging with minimal user disruption by replicating the target process's data to create a reflected process for analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional live diagnosis techniques are used to analyze a process, then diagnosis and debugging can be performed, but the process must be suspended for extended periods causing user disruption
Solution Approach 1:
The patent creates a reflected process that is a copy of the target process, allowing diagnosis to be performed on the reflected process while the target process continues to run. The reflection module copies the target process's memory space, registers, and other state information to create this reflected copy, enabling non-disruptive analysis through the copy rather than the original.
Solution Approach 2:
The patent separates the diagnosis function from the target process by creating a distinct reflected process. The reflection module divides the system into the running target process and the analyzed reflected process, allowing them to operate independently without interfering with each other's execution.
2Reliability
If traditional live diagnosis techniques are used, then process problems can be identified, but the process cannot be restarted until diagnosis is complete
Solution Approach 1:
By performing diagnosis on a reflected process copy rather than the target process itself, the target process can be restarted immediately after the triggering event without waiting for lengthy diagnosis to complete. The diagnosis occurs in parallel on the reflected process, eliminating the sequential dependency that causes downtime.
Solution Approach 2:
The target process continues to execute normally while the reflected process undergoes diagnosis, maintaining continuous useful action. The reflection module enables the target process to remain operational throughout the diagnosis period, rather than being suspended.
3Measurement precision
If process suspension is used for diagnosis, then analysis can be performed, but user experience deteriorates due to disruption
Solution Approach 1:
The reflection module creates a reflected process that accurately replicates the target process's state, allowing precise diagnosis measurements to be taken from the copy without affecting the user's interaction with the original process. The copied memory space and registers maintain the necessary fidelity for accurate analysis.
Data Source
AI summary
Process reflection techniques are described in which a reflected process is created to facilitate analysis of a process. Events are detected to initiate reflection of a target process. Process reflection of a target process may be initiated by an external process or by the target process itself. A reflected process of the target process is created. In an implementation, data defining the target process is replicated, copied, or otherwise collected from the target process to create the reflected process. Then, analysis may be performed on the reflected process while execution of the target process continues.


