Inverse Cumulative Histogram for Web Service Latency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing performance analysis tools for web service requests face challenges in efficiently tracking and analyzing latency values due to high computational complexity and storage requirements, as they often rely on average latency values or histograms, which lack specific details about latency distributions and are computationally expensive to query.

Innovation Solution

The system uses an inverse cumulative histogram to record and analyze latency values, where each bin represents a range of latency values, allowing for efficient retrieval of sample counts and interpolation to estimate the number of requests below a target latency, thereby optimizing storage and computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If histograms of latency values are stored to keep track of latencies in specific latency ranges, then measurement precision is improved, but device complexity increases and computational cost increases

Engineering Contradiction:
Improvelatency distribution detailsVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent inverts the traditional cumulative histogram approach by storing inverse cumulative counts. Instead of storing how many requests have latency less than or equal to each bin threshold, it stores how many requests have latency greater than or equal to each bin threshold. This inversion allows direct retrieval of latency distribution details through simple subtraction operations, reducing system complexity while maintaining measurement precision.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent pre-computes and stores the inverse cumulative counts in histogram bins during data collection. By performing the aggregation operation in advance and storing the results in an optimized structure, the system eliminates the need for complex real-time computations when querying latency distributions, thereby reducing device complexity while preserving detailed measurement capabilities.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If histograms of latency values are stored to keep track of latencies in specific latency ranges, then measurement precision is improved, but productivity decreases due to computationally expensive queries

Engineering Contradiction:
Improvelatency distribution detailsVSAvoidquery efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

By inverting the cumulative histogram to store inverse cumulative counts, the patent enables direct calculation of latency distribution metrics through simple arithmetic operations. To find the number of requests with latency less than a threshold, the system subtracts the inverse cumulative count at that threshold from the total request count, eliminating the need for expensive range sum queries and significantly improving query efficiency while maintaining detailed latency distribution measurements.

Inventive Principle:
Principle #13The other way round (Inversion)

3Device complexity

If average latency values are stored to reduce storage requirements, then device complexity is reduced, but measurement precision is worsened due to loss of latency distribution details

Engineering Contradiction:
Improvestorage requirementsVSAvoidlatency distribution details
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent changes the parameter representation from storing individual latency values or detailed histograms to storing inverse cumulative counts at discrete thresholds. This parameter transformation reduces storage requirements compared to full histograms while preserving the ability to reconstruct latency distribution details through simple arithmetic operations, thus maintaining measurement precision with reduced device complexity.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If individual latency values are stored for each web service request to maintain measurement precision, then measurement precision is improved, but device complexity increases and productivity decreases due to large data volume

Engineering Contradiction:
Improveindividual latency trackingVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for latency analysis by aggregating individual latency values into inverse cumulative count bins. Instead of storing every individual latency value, it extracts and stores the count of requests exceeding each threshold value, dramatically reducing storage requirements while preserving the ability to analyze latency distributions with sufficient precision for performance monitoring.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10841190B1Using an inverse cumulative histogram to efficiently analyze web service request latencies
Publication Date: 2020.11.17 ZENDESK INC
  • US10841190B1 patent drawing
  • US10841190B1 patent drawing
  • US10841190B1 patent drawing

AI summary

The disclosed embodiments relate to a system that analyzes latencies for web service requests. During operation, the system receives web service requests at a web service. The system also records latency values associated with processing the web service requests in an inverse cumulative histogram, which is stored in a set of bins, wherein each bin is associated with a range of latency values between a high range value and a low range value, and wherein each bin contains a sample count for latencies that fall within the bin plus a sample count of an adjacent bin associated with a next higher range of latency values. Next, upon receiving a request to determine a number of web-service requests having latencies that are less than a target latency value, the system returns a sample count from a matching bin, which has a high range value that matches the target latency value.