Selective Application Profiling via Hierarchical Functional Block Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional profiling tools face challenges in efficiently filtering and analyzing large amounts of data for complex software applications, particularly in nested hierarchical structures, leading to high computational overhead and difficulty in identifying performance issues, especially in offline modes and distributed environments.

Innovation Solution

The solution involves generating a relational hierarchical structure of functional blocks using an archive file, allowing users to selectively profile applications by choosing specific blocks for profiling, which reduces computational resources and enables profiling in offline modes by using an archive file instead of configuration files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional profiling tools filter profiling data for nested functional blocks using exact hierarchical locations, then profiling precision is improved, but device complexity and ease of operation deteriorate due to difficulty in navigating and specifying hierarchical paths

Engineering Contradiction:
Improveprofiling precisionVSAvoidease of operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The hierarchical structure is segmented into multiple levels (e.g., module level, function level, method level), allowing users to navigate and select functional blocks step-by-step through a tree view interface rather than specifying complete hierarchical paths at once, thereby improving ease of operation while maintaining profiling precision

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A graphical user interface with tree view serves as an intermediary between the user and the complex hierarchical structure, providing visual representation and interactive selection capabilities that simplify the process of specifying functional blocks for profiling without sacrificing precision

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all functional blocks are profiled to ensure comprehensive coverage, then profiling completeness is improved, but computational overhead and loss of time increase due to processing large amounts of data

Engineering Contradiction:
Improveprofiling completenessVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of profiling all functional blocks, the system enables selective profiling where users can choose to profile only specific functional blocks or modules of interest, reducing computational overhead while maintaining sufficient completeness for the profiling objectives

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The profiling process is segmented to allow users to select specific modules or functions for profiling rather than processing the entire application, thereby reducing computational overhead while maintaining reliability for the selected components

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If configuration files are used to define functional blocks for profiling, then ease of operation is improved, but reliability deteriorates in offline modes and distributed environments where configuration files may not be accessible

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system creates a copy of the functional block hierarchy from the application's actual structure rather than relying on external configuration files, ensuring that the profiling information is always available and reliable whether or not configuration files are accessible

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system automatically extracts and builds the functional block hierarchy from the application itself during execution, making the system self-sufficient and eliminating dependency on external configuration files, thereby improving reliability in offline and distributed environments

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9436575B2Selective profiling of applications
Publication Date: 2016.09.06 TATA CONSULTANCY SERVICES LTD
  • US9436575B2 patent drawing
  • US9436575B2 patent drawing
  • US9436575B2 patent drawing

AI summary

A computer implemented method for selective profiling of an application is disclosed herein. The method includes selecting at least one filter type for selecting one or more categories of functional blocks in an application file to be profiled. Based on the selected filter type, a relational hierarchical structure of functional blocks of the application file in the selected category is determined. The determining can be further based on an archive file associated with the application file. Further, one or more functional blocks are selected from the relational hierarchical structure for profiling, the selected functional blocks being associated with a functionality of the application. The selected functional blocks are profiled to achieve selective profiling of the application file for the functionality.