Dependency Topology for Root Cause Correction in Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As application complexity increases, diagnosing problems in distributed transactions or applications becomes difficult and time-consuming, making it challenging to quickly identify the root cause of failures or performance degradation, which can significantly impact business operations.

Innovation Solution

A prioritized ordering system for assessing and correcting application components based on their dependency topology, where agents monitor and collect data to create a dependency graph that highlights the most likely root cause of events, allowing for targeted correction of the root cause component.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional application monitoring techniques are used to track individual components, then detailed runtime data can be collected, but diagnosing problems in complex distributed applications becomes difficult and time-consuming

Engineering Contradiction:
Improvedetailed runtime data collectionVSAvoidproblem diagnosis difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the complex application monitoring problem into distinct components by creating a dependency topology that divides application components into hierarchical levels. This segmentation allows the system to focus on specific segments (root cause components) rather than analyzing all components simultaneously, thereby reducing diagnostic difficulty while maintaining measurement precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism - the dependency topology graph - that mediates between raw runtime data and problem diagnosis. This intermediary structure organizes components and their relationships, enabling the system to translate detailed runtime data into actionable diagnostic information about root cause components, thus reducing the difficulty of detecting and measuring problems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If comprehensive monitoring of all application components is performed, then complete visibility into system state is achieved, but the time required to identify root cause increases

Engineering Contradiction:
Improvesystem state visibilityVSAvoidroot cause identification time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-establishing the dependency topology graph that maps relationships between all application components before problems occur. This pre-organized structure enables the system to quickly identify root cause components when problems arise, eliminating the need to analyze all components in real-time. The system maintains complete system state visibility through the topology while reducing root cause identification time by having the analytical framework ready in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transitions from flat, component-by-component monitoring to a multi-dimensional view by introducing the dependency topology graph with hierarchical levels and relationship edges. This dimensional transformation allows the system to view the entire system state through the topology structure while quickly identifying root causes by examining only the relevant dimension (upstream dependencies) rather than all components equally.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If detailed tracing of all application components is implemented, then complete execution records are obtained, but the complexity of analyzing distributed transactions increases

Engineering Contradiction:
Improveexecution record completenessVSAvoidanalysis system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for root cause analysis by identifying and focusing on root cause components within the dependency topology. Instead of analyzing all execution records equally, the system extracts and prioritizes data from components that are most likely to be the source of problems (those with upstream dependencies), thereby maintaining execution record completeness while reducing analysis complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by assigning different levels of analytical focus to different components based on their position in the dependency topology. Root cause components (those with upstream dependencies) receive intensified local analysis, while other components are monitored at a lower detail level. This localized quality approach maintains overall execution record completeness while reducing the complexity of analyzing distributed transactions by concentrating analytical resources where they are most needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10225272B2Ordered correction of application based on dependency topology
Publication Date: 2019.03.05 CA TECH INC
  • US10225272B2 patent drawing
  • US10225272B2 patent drawing
  • US10225272B2 patent drawing

AI summary

For each event detected during execution of a monitored application comprising a plurality of application components, a determination is made of which of the plurality of application components corresponds to the detected event. Also, a dependency subgroup that includes the application component that corresponds to the detected event is identified, wherein a dependency subgroup indicates dependencies among a subgroup of the plurality of application components. A location within the dependency subgroup of the application component corresponding to the detected event is determined. An order of correction for the application components determined to correspond to detected events are determined based, at least in part, on the determined location. Correction of the application components determined to correspond to detected events are initiated according to the determined order of correction.