IP Library Granted Patent US 9,323,651
Granted Patent B2
US 9,323,651 · App. 13/866,014 · Granted Apr 26, 2016

Bottleneck detector for executing applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,323,651
App. No.
13/866,014
Granted
Apr 26, 2016
Kind
B2
Abstract

A bottleneck detector may analyze individual workloads processed by an application by logging times when the workload may be processed at different checkpoints in the application. For each checkpoint, a curve fitting algorithm may be applied, and the fitted curves may be compared between different checkpoints to identify bottlenecks or other poorly performing sections of the application. A real time implementation of a detection system may compare newly captured data points against historical curves to detect a shift in the curve, which may indicate a bottleneck. In some cases, the fitted curves from neighboring checkpoints may be compared to identify sections of the application that may be a bottleneck. An automated system may apply one set of checkpoints in an application, identify an area for further investigation, and apply a second set of checkpoints in the identified area. Such a system may recursively search for bottlenecks in an executing application.

Claims (18)

1. A system comprising:

a processor;

a bottleneck analyzer that:

identifies a workload processed by an application, said workload having multiple instances;

captures timestamps each time a workload instance encounters each of a plurality of checkpoints in said application; and

for a first checkpoint, curve fits said timestamps across a plurality of workload instances to generate a first historical curve;

for a second checkpoint, curve fitting said timestamps across said plurality of workload instances to generate a second historical curve; and

compares said first historical curve to said second historical curve to identify a difference between said first historical curve and said second historical curve; and

determines that said difference indicates a bottleneck.

2. The system of claim 1 , said first historical curve having a first correlation coefficient, said second historical curve having a second correlation coefficient, and said difference comprising a difference between said first correlation coefficient and said second correlation coefficient.

3. The system of claim 2 , said first historical curve and said second historical curve both being linear curve fitting.

4. The system of claim 1 , said first historical curve having a first slope and said second historical curve having a second slope, said difference comprising a difference between said first slope and said second slope.

5. The system of claim 1 , said first historical curve and said second historical curve being a function of load.

6. The system of claim 1 , said workload being a process.

7. The system of claim 1 , said workload being a thread.

8. The system of claim 1 , said timestamps being relative time difference from a baseline timestamp.

9. The system of claim 8 , said baseline timestamp being a starting timestamp for said workload.

10. The system of claim 8 , said baseline timestamp being a previous timestamp of a previous checkpoint.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: CONCURIX CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036139/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2013
From: GARRETT, CHARLES D.; FRASER, CHRISTOPHER W.
To: CONCURIX CORPORATION
Reel/Frame 031836/0067 →