Request Path Profiling in Distributed Service Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tier applications, retracing execution flows to identify the root cause of software problems is cumbersome due to the complexity of hardware and software combinations, different workload characteristics, and concurrent request processing, making it difficult to predict internal system states and determine request paths from kernel event traces.

Innovation Solution

A system and method that profile requests in service systems by obtaining kernel event traces, pre-processing them to determine starting and ending communication pairs, learning pairwise relationships, and generating request paths using a heuristic procedure to infer communication paths, even in scenarios with numerous concurrent requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If kernel event traces are collected from service systems to determine request paths, then the precision of request path discovery is improved, but the system overhead and complexity increase

Engineering Contradiction:
Improverequest path discovery precisionVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the complex task of request path discovery into distinct modules: a collection module that gathers kernel event traces, a pre-processing module that organizes traces into communication pairs, and a generation module that reconstructs request paths. This segmentation reduces system overhead by distributing functionality across specialized components rather than requiring a monolithic analysis system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pre-processing module performs preliminary actions by organizing kernel event traces into communication pairs before full path reconstruction. This preliminary organization reduces the complexity of the subsequent path generation process by pre-structuring the data in a format suitable for heuristic analysis, thereby reducing overall system overhead.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If kernel event traces are analyzed to determine request paths in concurrent systems, then the accuracy of execution flow retracing is improved, but the difficulty of detection and measurement increases

Engineering Contradiction:
Improveexecution flow retracing accuracyVSAvoidrequest path determination difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces communication pairs as an intermediary structure between raw kernel event traces and final request paths. These communication pairs serve as intermediate representations that simplify the analysis of concurrent operations by grouping related events (send/receive, lock/unlock) together, making it easier to trace execution flows through complex concurrent systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the analysis from temporal sequencing alone to a two-dimensional space by introducing communication pairs that capture both temporal order and logical relationships between events. This dimensional transformation helps disentangle interleaved concurrent request paths by providing additional structural context beyond simple event timing.

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

3Productivity

If a heuristic procedure is used to generate communication paths from learned pairwise relationships, then the speed of request path generation is improved, but the manufacturing precision of path accuracy may be compromised

Engineering Contradiction:
Improverequest path generation speedVSAvoidpath reconstruction accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary learning of pairwise relationships from training data before executing the heuristic procedure on test traces. This pre-learning phase captures common communication patterns and relationships, allowing the heuristic algorithm to make accurate decisions during fast path generation without sacrificing precision, as it operates on pre-computed relationship knowledge rather than raw events alone.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The heuristic procedure uses learned pairwise relationships that were derived from the same type of data it processes, allowing the system to self-optimize. The learning module automatically discovers patterns from training traces, and the generation module applies these discovered patterns to new traces, creating a self-improving system that maintains accuracy while achieving high speed through efficient heuristic operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9367821B2System and method for profiling requests in service systems
Publication Date: 2016.06.14 NEC CORP
  • US9367821B2 patent drawing
  • US9367821B2 patent drawing
  • US9367821B2 patent drawing

AI summary

A system and method for profiling a request in a service system with kernel events including a pre-processing module configured to obtain kernel event traces from the service system and determine starting and ending communication pairs of a request path for a request. A learning module is configured to learn pairwise relationships between the starting and ending communication pairs of training traces of sequential requests. A generation module is configured to generate communication paths for the request path from the starting and ending communication pairs of testing traces of concurrent requests using a heuristic procedure that is guided by the learned pairwise relationships and generate the request path for the request from the communication paths. The system and method precisely determine request paths for applications in a distributed system from kernel event traces even when there are numerous concurrent requests.