Policy-Based Request Tracing in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional machine-centric monitoring and tracing mechanisms in distributed environments are ineffective in providing a coherent view of component interactions, leading to inaccuracies and high storage resource consumption in tracing requests.

Innovation Solution

A policy-based request tracing method that selects a first subset of requests with a higher sampling rate for tracing requests matching a policy and a second subset with a lower sampling rate for requests not matching the policy, enhancing tracing accuracy while reducing storage usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional machine-centric monitoring and tracing mechanisms are used in distributed environments, then comprehensive tracing data can be collected, but storage resource consumption increases significantly

Engineering Contradiction:
Improvetracing accuracyVSAvoidstorage resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the tracing process into two distinct phases: a sampling phase that collects tracing data from a subset of requests, and a reconstruction phase that uses tail-based tracing to infer information about unsampled requests. This segmentation allows the system to achieve comprehensive tracing accuracy without storing data from all requests, thus reducing storage resource consumption while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by collecting detailed tracing data only for a sampled subset of requests rather than all requests. The sampling rate is configured to capture sufficient information for accurate tracing while avoiding the excessive storage requirements of collecting data from every request in the distributed system.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If distributed tracing is implemented to capture detailed executions of causally-related activities, then tracing accuracy improves, but system complexity increases

Engineering Contradiction:
Improvetracing accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary sampling mechanism that sits between the distributed system components and the tracing infrastructure. This intermediary layer handles the complex logic of request sampling, data collection, and reconstruction, simplifying the overall system architecture while maintaining high tracing accuracy through coordinated sampling across multiple services.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If a high sampling rate is used to trace more requests, then tracing accuracy improves, but storage resource consumption increases

Engineering Contradiction:
Improvetracing accuracyVSAvoidstorage resource consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent implements dynamic sampling rates that can be adjusted based on system conditions, request types, and observed error patterns. The sampling rate is not fixed but adapts over time, allowing the system to maintain high tracing accuracy for critical requests while reducing storage consumption by sampling less frequently for normal operations. This dynamic approach optimizes the balance between accuracy and resource usage.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11200138B1Policy-based request tracing using a computer
Publication Date: 2021.12.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11200138B1 patent drawing
  • US11200138B1 patent drawing
  • US11200138B1 patent drawing

AI summary

Embodiments of the present disclosure relate to policy-based request tracing in a distributed environment. In an embodiment, a computer-implemented method is disclosed. According to the method, a first set of requests and a second set of requests are determined in a plurality of received requests based on a policy. A first subset of requests is selected from the first set of requests based on a first sampling rate, and a second subset of requests is selected from the second set of requests based on a second sampling rate that is less than the first sampling rate. Executions of the first subset of requests and the second subset of requests on components of a distributed system are then traced. In other embodiments, a system and a computer program product are disclosed.