Distributed Transaction Tracing with Virtual Time Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Monitoring software application performance across distributed systems is challenging due to issues like time drift between different computer systems, fluctuating network latencies, and the overhead of instrumentation, which can cause application malfunctions or crashes, and existing solutions struggle to accurately correlate performance data from multiple sources.

Innovation Solution

The implementation of a system that uses agents deployed across distributed application parts, connected through collector nodes, which forward tracing data to a monitoring node for correlation, incorporating timestamp calculations to account for time drift and network latency, enabling accurate translation of timing data into a comprehensive timing system and determining transaction completion times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If bytecode instrumentation is used to monitor application performance, then measurement precision is improved, but reliability deteriorates due to potential application malfunctions or crashes

Engineering Contradiction:
Improveperformance data accuracyVSAvoidapplication stability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent extracts the instrumentation bytecode from the monitored application and places it in a separate, controlled environment. The sensor bytecode is loaded into a virtual machine or sandbox that isolates it from the production application, allowing performance monitoring without modifying or stabilizing the original application code.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary layer between the monitored application and the monitoring system. This intermediary includes a bytecode loader, virtual machine, and sensor runtime environment that mediate the interaction, allowing instrumentation to occur without direct modification of the monitored application's execution path.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If a large quantity of sensor bytecode is inserted into monitored application, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvefine-grained performance dataVSAvoidinstrumentation overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the instrumentation process into discrete components: sensor bytecode modules, a bytecode loader, a virtual machine executor, and a data aggregation system. Each component handles specific aspects of monitoring, allowing fine-grained measurement without monolithic complexity in the monitored application itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent moves the instrumentation complexity from the application execution dimension to a separate runtime environment dimension. By executing sensor bytecode in a virtual machine layer, the system achieves fine-grained measurement capability while isolating the complexity in a dedicated monitoring infrastructure rather than within the application logic.

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

3Adaptability or versatility

If network transmission of bytecode is used for distributed instrumentation, then adaptability is improved, but loss of information occurs due to network bottlenecks and failures

Engineering Contradiction:
Improvedistributed system supportVSAvoidbytecode transmission reliability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent implements preliminary actions to ensure instrumentation completeness before network transmission becomes a bottleneck. The system maintains local caches of instrumented bytecode and performance data at each distributed node, allowing continuous operation and data aggregation even when network connectivity is intermittent or constrained.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent prepares for network failures by implementing local buffering and caching mechanisms at each distributed instrumentation node. Performance data and instrumented bytecode are stored locally before transmission to the central monitoring system, cushioning against network bottlenecks and ensuring no information is lost during transmission interruptions.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Measurement precision

If performance data is transferred to remote monitoring systems, then measurement precision is improved, but loss of time occurs due to fluctuating latencies and time drifts

Engineering Contradiction:
Improveperformance data correlationVSAvoiddata propagation delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where the monitoring system continuously receives timing information from distributed nodes and adjusts its synchronization accordingly. Timestamps from multiple distributed sources are correlated and adjusted based on observed network latency patterns, allowing accurate time reconstruction despite fluctuating transmission delays.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary time synchronization actions by establishing baseline timing relationships between distributed nodes before performance monitoring begins. The system pre-calculates time offsets and latency compensation factors, allowing accurate temporal correlation of performance data without continuous real-time adjustments that would introduce additional delays.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9231858B1Completeness detection of monitored globally distributed synchronous and asynchronous transactions
Publication Date: 2016.01.05 DYNATRACE LLC
  • US9231858B1 patent drawing
  • US9231858B1 patent drawing
  • US9231858B1 patent drawing

AI summary

A method and system for detection of completeness of tracing data describing globally distributed, synchronous and asynchronous transaction in real time is presented. Monitored transactions may be executed on different computers systems, connected via computer networks with different and fluctuating latencies, and timing systems of the computers systems may be subject to different time drifts.The system and method may be implemented by different, multiple collector nodes responsible for collecting and forwarding transaction tracing data to a monitoring node, responsible for correlating transaction tracing data. Collector nodes and monitoring node may reside on different computer systems, which may be connected via computer networks with different and fluctuating latencies, and timing systems of the computers systems may be subject to different time drifts.Completeness detection may consider different time drifts and different, fluctuating network latencies of all involved computer system and computer networks to translate time information received with tracing data into a virtual timing system, which may be used to implement a deterministic algorithm to detect completeness of tracing data describing the execution of distributed, synchronous and asynchronous transactions.