Back-End Component Identification via Stack Trace Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application performance management (APM) systems face difficulties in efficiently identifying back-end components, leading to time-consuming processes and stale results due to their reliance on external information, which becomes outdated with new application versions or system changes.

Innovation Solution

A back-end component identification system that logs socket communications to generate stack traces, filters them to identify transactions with both write and read operations, and automatically examines common stack elements to accurately identify back-end components, thereby streamlining the identification process and enhancing monitoring capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If APM systems use external information from application providers or users to identify back-end components, then identification can be performed, but the process becomes time-consuming and results become stale

Engineering Contradiction:
Improveback-end component identification accuracyVSAvoididentification process time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system uses self-generated stack traces from the application's own socket communications to identify back-end components, eliminating the need to wait for external information from application providers or users. The application itself provides the identification data through its own execution traces.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary identification by analyzing stack traces generated during normal application operation, before any external verification or updates are needed. This allows continuous, real-time identification without waiting for periodic external data updates.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If APM systems rely on external information for back-end component identification, then identification can be performed, but the process becomes complex and requires additional external coordination

Engineering Contradiction:
Improveback-end component identification accuracyVSAvoididentification process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts identification information directly from the application's own stack traces, removing the need for external coordination and complex communication protocols with application providers or users. The identification data is contained within the application's execution context itself.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If APM systems use traditional identification methods, then back-end components can be identified, but the results become stale when new application versions or system components are added

Engineering Contradiction:
Improveback-end component identification accuracyVSAvoididentification results freshness
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system dynamically identifies back-end components by analyzing actual runtime stack traces, allowing automatic adaptation to new application versions, components, or communication patterns without requiring manual updates to identification databases or configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors and analyzes stack traces during application operation, providing real-time feedback about actual back-end component usage. This feedback mechanism ensures identification results are always current and reflect the actual running system state.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10437704B2Identifying back-end components based on stack traces
Publication Date: 2019.10.08 CA TECH INC
  • US10437704B2 patent drawing
  • US10437704B2 patent drawing
  • US10437704B2 patent drawing

AI summary

In various embodiments, a method of automatically identifying back-end components of a processing system may be performed. The method may include logging socket communications as a plurality of stack traces. The method may further include filtering the plurality of stack traces to identify a transaction from a particular thread, where the transaction includes a write stack trace and a read stack trace. The method may further include identifying, based on an examination of common stack elements between the write stack trace and the read stack trace, a candidate software component as a back-end component that is communicating with an external software component.