Hierarchical Error Root Cause Identification in Software Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software systems interacting with hardware, tracing root cause errors is challenging due to the display of multiple related errors in an unarranged manner, making it difficult for operators to distinguish between root cause and follow-on errors, and determining the severity of errors is often delayed until manual correlation.
Innovation Solution
The method involves generating and propagating unique error IDs to associate errors as parent-child relationships, displaying these relationships as graphs, and assigning severity levels to simplify filtering while ensuring root cause errors are not masked.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If multiple errors are displayed to the operator, then complete error information is provided, but it becomes difficult to distinguish root cause errors from follow-on errors
Solution Approach 1:
The patent segments errors into hierarchical levels (root cause errors at level 0, follow-on errors at level 1, etc.) and displays them in separate display areas. This segmentation allows the operator to see all errors while clearly distinguishing the root cause from its consequences, resolving the contradiction between providing complete information and maintaining ease of operation.
Solution Approach 2:
The patent introduces an error level indicator as an intermediary element that mediates between the raw error data and the operator's understanding. This indicator automatically identifies and labels root cause errors versus follow-on errors, eliminating the need for operators to manually analyze error relationships while preserving complete error information.
2Ease of operation
If error severity filtering is applied, then less severe errors are hidden, but root cause errors with lower initial severity may be masked
Solution Approach 1:
The patent performs preliminary action by automatically propagating severity levels from child errors to parent errors before display. This ensures that even if a root cause error has low initial severity, its severity is upgraded based on the severity of its follow-on effects, preventing it from being masked by filtering while still allowing less severe non-root errors to be hidden.
Solution Approach 2:
The system implements feedback by continuously updating error severity levels based on the relationship between parent and child errors. When child errors are generated or their severity changes, the parent error's severity is automatically recalculated and updated, ensuring accurate representation of the true system state despite filtering operations.
3Measurement precision
If operators manually correlate errors to determine root cause, then detailed analysis is possible, but time and resources are consumed
Solution Approach 1:
The patent implements self-service by enabling the system to automatically perform error correlation and root cause identification without operator intervention. The error tracking mechanism automatically links errors, determines causality relationships, and presents the analysis results to the operator, maintaining high accuracy while eliminating the time loss associated with manual correlation.
Data Source
Figure 1A~1C
Figure 2A~2B
Figure 3A~3B
AI summary
A method associates errors by causal relationship in software systems where multiple threads share access to hardware and/or software components. Where a software object, such as a lock, is provided, a thread can place an error ID into the object if encountered while the first thread controls the object. A second thread can retrieve the error ID and associate it as a parent error for any time-out error encountered while waiting for the software object. Errors can be reported and displayed in a causal graph for determining root causes. Errors can have a severity that can facilitate the display of errors to a user. Root cause errors can be assigned the severity of the most severe of its child errors to assist a user in determining a root cause. Errors can further be displayed or masked based on the severity assigned to the errors and/or their parent or child errors.