Transaction Identifier Propagation in Distributed APM Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computer systems, identifying and managing transaction-specific performance metrics across multiple components is challenging due to the complexity of request-response chains and the lack of effective transaction identifiers, which hinders holistic and focused application performance management.

Innovation Solution

The method involves configuring servers within the distributed system to insert and propagate transaction identifiers, such as globally unique values, through messages, allowing for the tracking and logging of requests and responses across the system, enabling effective application performance management by associating performance metrics with user actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If transaction identifiers are propagated through all messages in distributed systems, then application performance management capability is improved, but system complexity and implementation difficulty increase

Engineering Contradiction:
Improveperformance metric tracking accuracyVSAvoidsystem implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the transaction identification function into discrete components: generation at the client, propagation through HTTP headers in request-response chains, and logging at server components. Each server (web server, application server, database server) independently handles the identifier without requiring system-wide redesign, reducing overall complexity while maintaining tracking precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The transaction identifier acts as an intermediary element that mediates between client requests and server responses. By embedding this identifier in HTTP headers, the patent creates a simple carrier that transports transaction information through the distributed system without requiring complex communication protocols or state management between components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If comprehensive transaction tracking is implemented across all system components, then holistic performance management is achieved, but data collection and processing overhead increases

Engineering Contradiction:
Improvetransaction context informationVSAvoiddata collection and processing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by generating the transaction identifier at the client before the request reaches the servers. This identifier is then propagated through all subsequent requests in the chain, eliminating the need for servers to generate or manage identifiers. The APM agent is also pre-configured to automatically collect and process metrics associated with this identifier, reducing runtime overhead.

Inventive Principle:
Principle #10Preliminary action

3Difficulty of detecting and measuring

If transaction identifiers are inserted into all outgoing messages, then request-response chain tracking is improved, but message processing time increases

Engineering Contradiction:
Improverequest-response chain identificationVSAvoidmessage processing speed
Core Design Contradiction:
Difficulty of detecting and measuringVSSpeed

Solution Approach 1:

The patent applies local quality by selectively inserting transaction identifiers only where needed in the message flow. The identifier is added to outgoing requests from the client and propagated through the request chain, but is not unnecessarily duplicated in all message types. The APM agent selectively instruments specific components (web server, application server, database server) rather than all system components, reducing processing overhead while maintaining tracking capability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9509749B2Providing transaction identifiers for application performance management in distributed computer systems
Publication Date: 2016.11.29 TEACHERS INSURANCE & ANNUITY ASSOC OF AMERICA
  • US9509749B2 patent drawing
  • US9509749B2 patent drawing
  • US9509749B2 patent drawing

AI summary

Systems and methods for providing transaction identifiers for application performance management in distributed computer systems. An example method may comprise: receiving, by a first computer system, a first message; identifying, based on a pre-defined byte pattern, an incoming transaction identifier within the first message; responsive to failing to identify the incoming transaction identifier, generating a new transaction identifier; transmitting, to a second computer system, a second message associated with the first message, the second message comprising a transaction identifier provided by one of: the incoming transaction identifier or the new transaction identifier; and transmitting, to a third computer system, a third message representing a log record, the third message comprising the transaction identifier.