Tracer Data Visualization with User-Defined Transformations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current visualization systems for message passing computational environments lack effective tools for real-time data processing and visualization, particularly in monitoring and displaying message passing activities within complex systems, which hinders understanding and analysis of system performance and behavior.

Innovation Solution

A visualization system that utilizes a force directed graph to display message passing activities, allowing users to select and manipulate nodes and edges, with features like playback controls for time series data and the ability to apply user-defined transformations for data processing, enabling detailed analysis and insight into system operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a visualization system displays all message passing data in real-time, then the completeness of information is improved, but the system complexity and processing load increase significantly

Engineering Contradiction:
Improvecompleteness of message passing dataVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts and highlights only the most relevant message passing activities from the complete data set. The visualization system identifies and displays key nodes, edges, and message flows that are most important for understanding system behavior, while omitting less significant data. This extraction approach maintains information completeness for analysis purposes while reducing visual complexity by showing only essential elements in the main visualization area.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The visualization system segments message passing data into different categories and levels of importance. It divides the complete data set into highlighted features (most relevant activities) and background elements (less significant data). This segmentation allows the system to maintain complete information availability while presenting a simplified, organized view that reduces perceived complexity through structured presentation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the visualization system provides detailed processing of user-defined transformations, then the functionality is improved, but the security risks increase

Engineering Contradiction:
Improvefunctionality of data processingVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary validation and security checking of user-defined transformations before they are executed. The preprocessor validates the syntax, semantics, and security of transformation code against a whitelist of approved operations. This preliminary action ensures that only safe, verified transformations are applied to the message passing data, maintaining system functionality while preventing security risks from malicious or erroneous code.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary preprocessor layer between the user-defined transformations and the core visualization system. This intermediary component acts as a mediator that receives, validates, and safely executes transformation code. The preprocessor serves as a protective barrier that enables versatile data processing functionality while isolating the core system from potential security threats, allowing flexible transformations without directly exposing the system to harmful factors.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the system monitors and displays all message passing activities, then the measurement precision is improved, but the processing time and performance overhead increase

Engineering Contradiction:
Improveprecision of system monitoringVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The visualization system applies partial monitoring by focusing computational resources on monitoring and displaying only the most significant message passing activities. Instead of uniformly processing all messages with equal detail, the system selectively applies high-precision monitoring to key paths and activities that provide the most insight into system behavior. This partial action approach maintains measurement precision for critical operations while reducing overall processing time by avoiding exhaustive analysis of every single message.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements local quality by applying different levels of monitoring precision to different parts of the message passing system. High-precision monitoring and detailed visualization are applied locally to critical nodes, edges, and message flows that are most important for system understanding. Less critical areas receive reduced monitoring intensity. This localized approach to quality maintains measurement precision where it matters most while reducing overall processing overhead through differentiated monitoring strategies.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9256969B2Transformation function insertion for dynamically displayed tracer data
Publication Date: 2016.02.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9256969B2 patent drawing
  • US9256969B2 patent drawing
  • US9256969B2 patent drawing

AI summary

A visualization system for a tracer may include a processing pipeline that may generate tracing data, preprocess the data, and visualize the data. The preprocessing step may include a mechanism to process user-defined expressions or other executable code. The executable code may perform various functions including mathematical, statistical, aggregation with other data, and others. The preprocessor may perform malware analysis, test the functionality, then implement the executable code. A user may be presented with an editor or other text based user interface component to enter and edit the executable code. The executable code may be saved and later recalled as a selectable transformation for use with other data streams.