Middleware Dependency Graph for Root Cause Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In middleware systems, diagnosing performance problems is complex due to the difficulty in determining whether performance symptoms in a component are caused by the component itself or by a dependent component, leading to time-consuming manual analysis and potential false positives.

Innovation Solution

A method is introduced that creates a static model of a system to determine relationships between components, applies this model at runtime to create a dynamic problem tree, identifies link probabilities, and traverses the tree to detect and remove redundant components, thereby isolating potential root causes of performance issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual analysis of runtime performance is performed to determine root causes, then diagnostic accuracy can be improved, but diagnostic time and complexity increase significantly

Engineering Contradiction:
Improvediagnostic accuracyVSAvoiddiagnostic time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically collecting runtime data and building dependency models before actual diagnostic analysis is needed. The dependency graph is constructed in advance using metadata and runtime information, so when performance problems occur, the analytical framework is already in place and can be applied immediately without time-consuming setup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a virtual copy of the runtime environment's dependency structure through the dependency graph. Instead of manually analyzing each component's actual behavior, the system copies the runtime state into a representational model that can be queried and analyzed automatically, separating the diagnostic process from the actual system operation.

Inventive Principle:
Principle #26Copying

2Measurement precision

If comprehensive component analysis is performed to identify root causes, then diagnostic accuracy improves, but the number of components to analyze increases complexity

Engineering Contradiction:
Improvediagnostic accuracyVSAvoidnumber of components to analyze
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the relevant dependency relationships from the complete runtime environment. By filtering components based on their presence in the dependency graph and their relationship to reported performance issues, the system isolates only the necessary components for analysis, eliminating irrelevant components from the diagnostic scope.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the complex middleware environment into discrete dependency relationships represented in the graph structure. Each edge in the dependency graph represents a specific relationship between components, allowing the system to analyze relationships individually rather than treating the entire system as a monolithic complex unit.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If dependency relationships are manually determined, then accuracy of root cause identification improves, but analysis time and false positives increase

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-service by automatically determining dependency relationships using runtime data and metadata without requiring manual intervention. The dependency graph is constructed automatically by collecting runtime information about component interactions, allowing the system to analyze its own architecture and identify relationships independently.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where runtime performance data is continuously monitored and fed back into the dependency model. This feedback loop allows the system to update and refine its understanding of component relationships based on actual observed behavior, improving accuracy over time while maintaining automated operation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8627150B2System and method for using dependency in a dynamic model to relate performance problems in a complex middleware environment
Publication Date: 2014.01.07 ORACLE INT CORP
  • US8627150B2 patent drawing
  • US8627150B2 patent drawing
  • US8627150B2 patent drawing

AI summary

A method of isolating relevant components associated with a performance problem. The method comprises creating a static model of a system under test, including determining relationships between components in a middleware system. The method also comprises creating a dynamic problem tree by applying the static model to the system at runtime. The method further comprises identifying a link probability for each relationship in the dynamic problem tree; and traversing the dynamic problem tree to detect redundant components. A component is redundant if it has a link probability with its downstream component greater than a pre-determined threshold value. The method also comprises removing redundant components from the dynamic problem tree; and returning a set of components which are potential components to be analyzed further to determine the root causes of the performance problem.