Computer System Performance Monitoring via Request Bucketing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face challenges in identifying the source of performance issues, especially when experiencing irregular traffic, as changes in workload or configuration can lead to misattribution of problems, resulting in wasted time and effort in diagnosing and addressing non-urgent versus urgent issues.

Innovation Solution

A system that assigns client requests to buckets based on complexity levels and expected performance, generating alerts and potentially throttling or blocking requests if actual performance exceeds thresholds, while using statistical models to predict bucket assignment and adjust bucket sizes dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional performance monitoring is used without request aggregation, then individual request performance can be tracked, but it becomes difficult to identify the source of performance issues when irregular traffic occurs

Engineering Contradiction:
Improveperformance issue identification accuracyVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments requests into different buckets based on complexity levels and expected performance characteristics. This segmentation allows the system to aggregate performance data for similar requests while maintaining the ability to identify specific performance issues, resolving the contradiction between measurement precision and system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges individual request performance data into aggregated bucket performance metrics. By combining data from multiple requests with similar characteristics, the system achieves better measurement precision for identifying performance issues without the complexity of tracking every individual request separately.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If performance monitoring tracks all requests individually, then detailed performance data is available, but diagnostic time increases when performance issues occur

Engineering Contradiction:
Improveperformance data accuracyVSAvoiddiagnostic time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary aggregation of performance data into buckets based on request characteristics before performance issues occur. This preliminary action organizes data in a way that accelerates diagnostic time when issues arise, while maintaining reliability through the structured aggregation approach that preserves important performance distinctions.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system monitors performance without aggregation, then real-time individual request performance is visible, but resource allocation efficiency decreases during irregular traffic

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidindividual request performance information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent applies local quality by treating different request buckets with different monitoring and aggregation strategies. High-priority or complex requests may be tracked more individually while simpler requests are aggregated, optimizing resource allocation efficiency while preserving necessary performance information through differentiated treatment of different request types.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10291504B2Monitoring performance of a computer system
Publication Date: 2019.05.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10291504B2 patent drawing
  • US10291504B2 patent drawing
  • US10291504B2 patent drawing

AI summary

Techniques for monitoring performance of a computer system are provided. Bucket data is stored that indicates that multiple buckets are associated with a particular type of request. Then, multiple requests are received, where a first request and a second request indicate the same type of request. Based on the bucket data, the first request is assigned to a first bucket and the second request is assigned to a second bucket. The assignment may be further based on a complexity determined for each request. First performance data is generated while processing the first request and is aggregated with second performance data that was generated while processing one or more third requests that are assigned to the first bucket. Third performance data is generated while processing the second request and aggregated with fourth performance data that was generated while processing one or more fourth requests that are assigned to the second bucket.