Unified Data Visualizer for Software Profiling Contradictions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software profiling tools cannot effectively combine instrumented and sampled data streams to provide a holistic view of software behavior, limiting users' ability to make meaningful comparisons and optimizations.

Innovation Solution

A data visualizer system that integrates instrumented and sampled data, allowing users to see native engine behavior alongside script function calls, filters data based on instrumented activities, and provides a breakdown of time spent in each script package, offering a holistic view of software behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If instrumented and sampled data are treated as separate data streams, then data collection is simple, but meaningful comparison and holistic analysis are lost

Engineering Contradiction:
Improveloss of holistic software behavior viewVSAvoidcomplexity of data integration system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent merges instrumented data and sampled data into a unified data structure that allows simultaneous visualization and comparison. The system combines these previously separate data streams into a single integrated view, enabling holistic analysis of software behavior while maintaining the distinct characteristics of each data type.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary data structure and visualization layer that bridges instrumented and sampled data. This intermediary component processes and integrates both data types, allowing meaningful comparisons without directly modifying the original data collection mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If multiple data streams are combined for holistic analysis, then comprehensive understanding is improved, but data processing complexity increases

Engineering Contradiction:
Improvecompleteness of software behavior analysisVSAvoidcomplexity of data integration and visualization system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the integrated data representation into distinct components corresponding to instrumented and sampled data. This segmentation allows the system to maintain comprehensive information while processing and displaying data in an organized, manageable manner through separate but integrated visual elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to data visualization by integrating multiple data streams in a unified visual space. Instead of separate views, the system creates a multi-dimensional representation where instrumented and sampled data coexist, enabling comprehensive analysis without proportionally increasing processing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10613965B2Method and system of visually combining profiling data from instrumentation and sampling
Publication Date: 2020.04.07 ADOBE INC
  • US10613965B2 patent drawing
  • US10613965B2 patent drawing
  • US10613965B2 patent drawing

AI summary

Method and systems of visually depicting instrumented and sampled data are provided. A first stream of instrumented data, the instrumented data collected via execution of code contained in a user-scriptable engine. Then a second stream of sampled data is received, the sampled data collected by monitoring execution of code contained in scripts executed by the user-scriptable engine. Then an aggregated version of a portion of the instrumented data and an aggregated version of a portion of the sampled data are simultaneously displayed in one or more viewing regions. Then user interaction with an object pertaining to the aggregated version of a portion of the instrumented data is received. In response to the receiving user interaction with the object pertaining to the aggregated version of a portion of the instrumented data, the aggregated version of the portion of the sampled data is caused to change to depict a different aggregated version of a portion of the sampled data.