Transaction Path Annotation for Distributed Application Error Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed application diagnosis is challenging due to incomprehensible application logs and temporal/spatial gaps between error occurrence and log recording, especially in dynamic environments like cloud deployments, making it difficult to identify the root cause of errors.

Innovation Solution

A method that constructs transaction paths for each request, annotates them with log writing actions, and uses fault injection to build a knowledge base for diagnosing errors, linking human-readable logs to system activities and causal chains to trace errors back to their root causes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manually interpreting application logs is used for diagnosis, then the process is simple to implement, but the interpretability and accuracy of error diagnosis deteriorates due to incomprehensible log descriptions and temporal/spatial gaps

Engineering Contradiction:
Improveease of diagnosisVSAvoidinterpretability of error cause
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces transaction paths as an intermediary structure that bridges application logs and system activities. Transaction paths serve as a mediator layer that connects log entries to actual request processing flows, making the relationship between logs and errors more comprehensible. This intermediary structure allows operators to trace errors through standardized request paths rather than interpreting raw log data directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the complex error diagnosis problem into multiple manageable components: transaction paths for request tracking, log writing actions for error detection, and fault injection mechanisms for root cause analysis. By dividing the diagnosis process into these discrete segments, the system makes the overall complex diagnostic task more approachable and systematic.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If application logs include detailed log statements to assist diagnosis, then the amount of information available increases, but the comprehensibility and usefulness of this information deteriorates due to indirect and misleading descriptions

Engineering Contradiction:
Improveamount of diagnostic informationVSAvoidcomprehensibility of log descriptions
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

Transaction paths act as an intermediary that translates raw log statements into meaningful request processing contexts. Instead of presenting raw log data directly, the system wraps logs within transaction path frameworks that provide contextual interpretation, making the information both abundant and comprehensible.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameters of how diagnostic information is presented by introducing structured fields for transaction paths, request identifiers, and processing stages. This parameter transformation converts unstructured log data into structured diagnostic records that maintain information volume while improving comprehensibility through standardized formatting and contextual metadata.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the application topology is made dynamic to support cloud deployment features, then the adaptability and scalability improve, but the difficulty of tracking and diagnosing errors increases due to virtualization, auto scaling, and migration

Engineering Contradiction:
Improvecloud deployment flexibilityVSAvoiderror tracking complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

Transaction paths serve as a dynamic intermediary that adapts to changing topologies. Instead of relying on fixed infrastructure mappings, the system creates transaction paths that automatically track requests through dynamically changing service instances, making error diagnosis resilient to virtualization, scaling, and migration operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic transaction path construction that automatically adapts to current system state. Transaction paths are built on-demand based on actual request routing, allowing the diagnostic system to keep pace with dynamic topology changes rather than requiring static infrastructure mappings.

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If transaction paths are constructed for every request and annotated with log writing actions, then the accuracy of root cause identification improves, but the system complexity and overhead increase

Engineering Contradiction:
Improveaccuracy of root cause identificationVSAvoiddiagnosis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary construction of transaction paths during normal request processing rather than during error diagnosis. By building and annotating transaction paths in advance as requests naturally flow through the system, the system avoids adding complexity only when errors occur, instead preparing diagnostic data continuously in the background.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9069668B2Diagnosing distributed applications using application logs and request processing paths
Publication Date: 2015.06.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9069668B2 patent drawing
  • US9069668B2 patent drawing
  • US9069668B2 patent drawing

AI summary

A method for monitoring a distributed application for errors includes constructing a transaction path for each request received by the distributed application, detecting a writing action to a log of the distributed application, and annotating the transaction path in accordance with the writing action to produce an annotated transaction path. In another embodiment, a method for building a knowledge base for use in diagnosing an error occurring in a distributed application includes executing the distributed application on a replica of a production server that supports the distributed application, constructing a transaction path for a request received by the distributed application, wherein the transaction path traverses the replica, injecting a fault into the transaction path, detecting a writing action to a log of the distributed application, wherein the writing action is a response to the fault, and storing an association between the fault and the writing action.