Tree Data Structure for Transaction Trace Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing monitoring software systems face challenges in efficiently communicating transaction trace data, particularly when transaction elements cannot be identified during execution due to inaccessible information, leading to data corruption and decreased transparency.

Innovation Solution

A tree data structure is maintained by agents and managers to represent transactions as sequences of transaction elements, with provisional branches used for unidentifiable elements, allowing for efficient data storage and reporting once the elements are identified, and synchronization of tree data structures across agents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If transaction elements are tracked during execution, then transparency is improved, but data corruption occurs when information is inaccessible

Engineering Contradiction:
Improvetransaction trace dataVSAvoiddata integrity
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The system performs preliminary actions by creating provisional branches in advance when transaction elements cannot be identified during execution. Instead of waiting for information to become available, the system proactively creates placeholder branches that can be populated later, preventing data loss while maintaining execution continuity and avoiding corruption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Provisional branches act as intermediaries between the transaction execution process and the final transaction elements. When information is inaccessible during execution, these provisional branches serve as temporary storage that bridges the gap, allowing the system to maintain transparency without compromising data integrity until the actual transaction elements are identified.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If detailed transaction tracing is performed, then transparency is improved, but system overhead increases

Engineering Contradiction:
Improvetransaction visibilityVSAvoidcomputational overhead
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The transaction tracing system is segmented into provisional branches that are created only when necessary (when transaction elements cannot be identified). This segmentation allows the system to maintain detailed transaction visibility for critical paths while avoiding unnecessary overhead for transactions that can be fully identified during execution, optimizing the balance between transparency and computational cost.

Inventive Principle:
Principle #1Segmentation

3Productivity

If transaction data is reported immediately, then productivity is improved, but data accuracy decreases when elements are unidentifiable

Engineering Contradiction:
Improvereporting speedVSAvoidtransaction identification accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary creation of provisional branches before transaction elements are fully identified. This allows reporting to proceed without waiting for complete information, improving productivity, while the provisional structure ensures that accuracy is maintained by allowing updates when transaction elements become identifiable later.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8812434B2Data structure for efficiently identifying transactions
Publication Date: 2014.08.19 CA TECH INC
  • US8812434B2 patent drawing
  • US8812434B2 patent drawing
  • US8812434B2 patent drawing

AI summary

A technique for monitoring software which efficiently communicates transaction trace data, including static and dynamic data, from an agent to a manager is disclosed. A tree data structure describes transactions as a sequence of transaction elements. Each branch may correspond to one type of transaction. The nodes along a branch may be associated with components of monitored software that are invoked to perform the transaction. A provisional branch may be constructed when an agent is unable to initially identify the transaction. Transaction data may be stored in association with the nodes in the provisional branch during the monitoring. After information needed to identify the transaction becomes available to the agent, the provisional branch is updated. The transaction data is reported in response to determining the branch in the tree data structure that matches the provisional branch.