Automated Root Cause Analysis for Multi-Tiered Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers spend a significant amount of time integrating code and fixing errors, especially in multi-threaded, multi-tiered systems, where existing debugging techniques require source code and are cumbersome, especially when dealing with third-party code or complex issues spanning multiple machines.

Innovation Solution

An automated N-TIER debugging tool that performs root cause analysis without requiring source code, using dynamic binary instrumentation and synchronization of global and local time references to correlate events across tiers, allowing for efficient debugging of complex issues without intrusive instrumentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional debugging techniques are used for multi-tiered systems, then developers can identify errors, but the process requires source code and is extremely time-consuming

Engineering Contradiction:
Improveerror identification accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a virtual copy of the multi-tiered system that mirrors the actual system's execution. This virtual system allows developers to observe and debug without accessing source code, as the virtualized environment reproduces the same behavior and state transitions. The copying principle enables time-efficient debugging by allowing parallel observation of system state without interfering with the actual system operation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces traditional mechanical debugging approaches (breakpoints, source code inspection, manual tracing) with an automated virtualization-based system. Instead of manually stepping through code or adding instrumentation, the system automatically virtualizes the execution environment and captures state transitions, substituting manual mechanical processes with automated computational processes that are both faster and less intrusive.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If intrusive instrumentation is added to debug third-party code, then errors can be detected, but the code cannot be modified and performance degrades

Engineering Contradiction:
Improveerror detection capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a virtual copy of the third-party code execution environment where instrumentation can be applied without modifying the actual third-party code. The virtualized system reproduces the same execution behavior while allowing the addition of observation points and state capture mechanisms. This eliminates the need to modify or recompile third-party code while maintaining full error detection capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a virtualization layer as an intermediary between the third-party code and the debugging process. This intermediary layer captures execution state and state transitions without requiring direct modification of the third-party code. The intermediary virtual environment acts as a buffer that enables observation and analysis while preserving the original code's performance characteristics.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If manual code integration and error fixing is performed, then software functionality can be maintained, but developers spend 75-80% of their time on integration and fixing rather than writing new code

Engineering Contradiction:
Improvesoftware functionalityVSAvoidcode development efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables automated error detection and state analysis through the virtualized system, which self-services by automatically capturing execution state and identifying anomalies without requiring continuous manual intervention. The system autonomously monitors state transitions, compares expected versus actual behavior, and provides diagnostic information, reducing the manual effort required for integration and error fixing while maintaining software functionality.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If complex issues spanning multiple tiers and machines are debugged, then root cause can be identified, but the complexity of correlating events across distributed systems increases significantly

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoiddebugging system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the distributed multi-tiered system into a unified virtualized execution environment where all tiers and processes are represented in a single coherent model. By combining the state information from multiple distributed components into one virtual system, the patent simplifies the debugging process while maintaining the ability to identify root causes across tier boundaries. The merged virtual representation correlates events automatically without requiring manual tracing across multiple machines.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a complete virtual copy of the distributed system that preserves all state transitions and inter-tier communications in a centralized virtual environment. This copying approach allows developers to analyze complex multi-tier issues in a single unified view rather than navigating multiple distributed systems, reducing debugging complexity while maintaining root cause identification accuracy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10114726B2Automated root cause analysis of single or N-tiered application
Publication Date: 2018.10.30 VIRSEC SYSTEMS INC
  • US10114726B2 patent drawing
  • US10114726B2 patent drawing
  • US10114726B2 patent drawing

AI summary

In an example embodiment, a system may facilitate a root cause analysis associated with one or more computer applications. The system may receive a global time reference at the one or more computer applications. Each computer application may have a corresponding local time reference. Each computer application may synchronize its local time reference with the global time reference. The system may monitor at least one computer instructions of the computer applications with respect to the corresponding local time reference. The system may retrieve information associated with the at least one computer instruction. The system may forward at least a portion of the retrieved computer instruction information to a validation engine. The system may facilitate the root cause analysis using the at least a portion of the retrieved computer instruction information.