Automated Pattern Detection for Optimal Software Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Optimally instrumenting applications to balance data collection and overhead costs is challenging, as excessive instrumentation increases costs and unnecessary data generation, while insufficient instrumentation may miss valuable information.

Innovation Solution

Detecting patterns in application execution using a hierarchy of invoked methods and attributes, generating a data structure to identify optimal instrumentation points without requiring knowledge of the application code, and configuring agents for efficient data collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If instrumentation is increased to collect more data, then data collection completeness is improved, but overhead costs and processing resources increase

Engineering Contradiction:
Improvedata collection completenessVSAvoidoverhead costs
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent applies partial action by instrumenting only the specific methods and components that match detected execution patterns, rather than instrumenting all methods. The system identifies high-value instrumentation targets based on pattern matching between actual execution data and reference patterns, instrumenting only those methods that contribute to pattern matches, thereby reducing overhead while maintaining data collection effectiveness

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically changes instrumentation parameters based on detected execution patterns. By analyzing execution data and matching it against reference patterns, the system adjusts which methods are instrumented and what attributes are collected, transforming the instrumentation configuration from static to adaptive based on actual runtime behavior

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If instrumentation is increased to capture all execution details, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveexecution data accuracyVSAvoidinstrumentation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the instrumentation task by dividing methods into different categories based on their execution patterns and importance. The system identifies and segments high-value methods that match reference patterns for detailed instrumentation, while applying lighter or no instrumentation to other methods, thereby reducing overall system complexity while maintaining measurement precision for critical paths

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary pattern-matching layer between the application code and instrumentation mechanisms. This intermediary component analyzes execution data, matches it against reference patterns, and determines which methods require instrumentation, thereby simplifying the overall system architecture by centralizing the decision-making logic

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If automated instrumentation is implemented for unknown applications, then ease of operation is improved, but manufacturing precision worsens

Engineering Contradiction:
Improveautomation levelVSAvoidinstrumentation accuracy
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by collecting execution data and detecting patterns before final instrumentation decisions are made. The system performs pattern detection and analysis in advance, building a data structure from execution data that guides subsequent instrumentation choices, thereby enabling accurate automated instrumentation without requiring prior knowledge of the application code

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by using detected execution patterns to refine and adjust instrumentation decisions. The pattern detection process continuously monitors execution data, compares it against reference patterns, and uses the results to determine optimal instrumentation targets, creating a closed-loop system that improves instrumentation accuracy through iterative feedback

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9021448B1Automated pattern detection in software for optimal instrumentation
Publication Date: 2015.04.28 CA TECH INC
  • US9021448B1 patent drawing
  • US9021448B1 patent drawing
  • US9021448B1 patent drawing

AI summary

A technique for detecting patterns in the execution of an application. The technique identifies a sequence of methods which are invoked and obtains information regarding attributes of the methods. For example, attribute information such as a class hierarchy can be obtained from an instrumentation API. A data structure representing a hierarchy of the attributes can be created and compared to one or more reference data structures which describe patterns of interest. A decision can be made to provide instrumentation for the methods having the matching attributes. The decision can consider how frequently the pattern is detected and overhead costs of the instrumentation.