Real-Time Website Performance Histograms via Data Bucketing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing real-time analytics systems face challenges in efficiently computing and visualizing large datasets for real user measurements, particularly in calculating percentiles, due to high computing power and memory requirements when dealing with tens or hundreds of millions of data points.

Innovation Solution

The implementation of a data bucketing technique where data is aggregated into buckets with variable or equal ranges, allowing for fast percentile approximation and scalable histogram generation, enabling real-time data analysis and visualization across large datasets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all data points are stored and sorted to compute percentiles accurately, then measurement precision is improved, but computing power and memory requirements increase beyond reasonable bounds

Engineering Contradiction:
Improvepercentile calculation accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the continuous data range into discrete buckets with specific ranges (e.g., 0-1s, 1-2s, 2-3s for page load times). Each bucket stores a count of data points falling within its range, rather than storing individual data points. This segmentation enables percentile approximation by calculating cumulative bucket counts, resolving the contradiction between precision and memory requirements.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is processed in real-time for immediate visualization, then productivity is improved, but computing power requirements exceed reasonable bounds

Engineering Contradiction:
Improvereal-time data processing speedVSAvoidcomputing power requirements
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

By segmenting data into pre-defined buckets, the patent transforms complex sorting and percentile calculation operations into simple bucket counting and cumulative sum operations. This dramatically reduces computing power requirements while maintaining real-time processing capability, as buckets can be updated and percentiles calculated immediately without processing individual data points.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation from individual data point values to bucket count aggregations. This parameter transformation enables real-time processing by replacing computationally intensive operations (sorting, searching) with simple arithmetic operations on bucket counts, thus resolving the contradiction between productivity and power requirements.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If detailed data distribution is visualized with fine-grained histograms, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvedata distribution visualization accuracyVSAvoidhistogram generation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements histograms by visualizing bucket counts and ranges directly. Each bucket becomes a histogram bar representing a specific data range with its count. This approach provides meaningful data distribution visualization without the complexity of processing and visualizing individual data points, as the bucket structure inherently organizes data for histogram generation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9772923B2Fast OLAP for real user measurement of website performance
Publication Date: 2017.09.26 AKAMAI TECHNOLOGIES INC
  • US9772923B2 patent drawing
  • US9772923B2 patent drawing
  • US9772923B2 patent drawing

AI summary

A method for real-time capture and analysis of website performance metrics includes receiving, in each of a plurality of result servers, data values transmitted from a plurality of client devices, each data value representing a measurement of a performance metric associated with an experience of a user on a web page or using a web application, the measurement being made and the data value produced being transmitted in real-time while the user is on the web page or using the web application. For each data value received, a count in one of a set of N data buckets defined in a memory is incremented. All of the counts in each of the corresponding data buckets is aggregated to produce a histogram of the performance metric is rendered on an analytic dashboard.