IP Library › Granted Patent US 9,537,740
Granted Patent B2
US 9,537,740 · App. 14/447,879 · Granted Jan 3, 2017

Monitoring device usage

Inventors: Bruce McNutt (Gilroy, CA); Richard A. Ripberger (Tucson, AZ)
Assignee: International Business Machines Corporation
H04L43/0817G06F3/0611G06F3/0653G06F11/3419G06F11/3452G06F11/3485H04L43/16
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,537,740
App. No.
14/447,879
Granted
Jan 3, 2017
Kind
B2
Abstract

Estimating a level of concurrency is provided. An estimated level of concurrency of a device is determined. A first average response time, wherein the first average response time is an average of response times of a first set of operations of the device is determined. A second average response time is determined, wherein the second average response time is an average of response times of a second set of operations of the device, wherein each of the second set of operations is initiated under conditions of minimal interference of the device. A threshold based on the estimated level of concurrency is determined. The estimated level of concurrency is updated based, at least in part, on a ratio of the second average response time to the first average response time.

Claims (60)

1. A method comprising:

determining, by one or more processors, an estimated level of concurrency of a device;

determining, by one or more processors, a first average response time, wherein the first average response time is an average of response times of a first set of operations of the device;

determining, by one or more processors, a second average response time, wherein the second average response time is an average of response times of a second set of operations of the device, wherein each of the second set of operations is initiated under conditions of minimal interference of the device;

determining, by one or more processors, a threshold based on the estimated level of concurrency, wherein the threshold is based on a harmonic number of a value based on a count of service channels of the device;

updating, by one or more processors, the estimated level of concurrency based, at least in part, on a ratio of the second average response time to the first average response time;

responsive to a determination that the first average response time surpasses the threshold, taking an action on a queue of the device, based at least in part on the updated estimated level of concurrency;

wherein determining the threshold further comprises:

determining, by one or more processors, a harmonic value of the level of concurrency, including:

determining, by one or more processors, a harmonic value of an integer that is greater, by less than one, than the level of concurrency;

subtracting, by one or more processors, from the harmonic value of the integer an amount based on a difference between the level of concurrency and the integer; and

adjusting, by one or more processors, the harmonic value of the level of concurrency based, at least in part, on a reciprocal of the level of concurrency.

2. The method of claim 1 , wherein the second set of operations is a subset of the first set of operations.

3. The method of claim 1 , wherein conditions of minimal interference are conditions occurring when a count of outstanding operations is less than or equal to estimated level of concurrency minus one.

4. The method of claim 1 , wherein updating the estimated level of concurrency further comprises:

determining, by one or more processors, that the count of outstanding operations exceeds an amount that is based on the count of service channels and the threshold;

determining, by one or more processors, that the ratio exceeds an amount that is based on the count of service channels; and

increasing, by one or more processors, the estimated level of concurrency.

5. The method of claim 1 , wherein the estimated level of concurrency represents a count of service channels of a device, and wherein the threshold represents a level of utilization at which a probability that a new operation is queued by a service channel equals a probability that the new operation is assigned immediately to a service channel.

6. The method of claim 1 , wherein the one or more processors are one or more embedded processors of the device.

7. A computer program product, the computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, wherein the computer readable storage medium is non-transitory per se, the program instructions comprising:

program instructions to determine an estimated level of concurrency of a device;

program instructions to determine a first average response time, wherein the first average response time is an average of response times of a first set of operations of the device;

program instructions to determine a second average response time, wherein the second average response time is an average of response times of a second set of operations of the device, wherein each of the second set of operations is initiated under conditions of minimal interference of the device;

program instructions to determine a threshold based on the estimated level of concurrency, wherein the threshold is determined based on a harmonic number of a value based on a count of service channels of the device;

program instructions to update the estimated level of concurrency based, at least in part, on a ratio of the second average response time to the first average response time;

program instructions that responsive to a determination that the first average response time surpasses the threshold, take an action on a queue of the device, based at least in part on the updated estimated level of concurrency;

wherein the program instructions to determine the threshold further comprise:

program instructions to determine a harmonic value of the level of concurrency, including:

program instructions to determine a harmonic value of an integer that is greater, by less than one, than the level of concurrency;

program instructions to subtract from the harmonic value of the integer an amount based on a difference between the level of concurrency and the integer; and

program instructions to adjust the harmonic value of the level of concurrency based, at least in part, on a reciprocal of the level of concurrency.

8. The computer program product of claim 7 , wherein the second set of operations is a subset of the first set of operations.

9. The computer program product of claim 7 , wherein conditions of minimal interference are conditions occurring when a count of outstanding operations is less than or equal to estimated level of concurrency minus one.

10. The computer program product of claim 7 , wherein the program instructions to update the estimated level of concurrency further comprise:

program instructions to determine that the count of outstanding operations exceeds an amount that is based on the count of service channels and the threshold;

program instructions to determine that the ratio exceeds an amount that is based on the count of service channels; and

program instructions to increase the estimated level of concurrency.

11. A computer system, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to determine an estimated level of concurrency of a device;

program instructions to determine a first average response time, wherein the first average response time is an average of response times of a first set of operations of the device;

program instructions to determine a second average response time, wherein the second average response time is an average of response times of a second set of operations of the device, wherein each of the second set of operations is initiated under conditions of minimal interference of the device;

program instructions to determine a threshold based on the estimated level of concurrency, wherein the threshold is determined based on a harmonic number of a value based on a count of service channels of the device;

program instructions to update the estimated level of concurrency based, at least in part, on a ratio of the second average response time to the first average response time

program instructions that responsive to a determination that the first average response time surpasses the threshold, take an action on a queue of the device, based at least in part on the updated estimated level of concurrency;

wherein the program instructions to determine the threshold further comprise:

program instructions to determine a harmonic value of the level of concurrency, including:

program instructions to determine a harmonic value of an integer that is greater, by less than one, than the level of concurrency;

program instructions to subtract from the harmonic value of the integer an amount based on a difference between the level of concurrency and the integer; and

program instructions to adjust the harmonic value of the level of concurrency based, at least in part, on a reciprocal of the level of concurrency.

12. The computer system of claim 11 , wherein the second set of operations is a subset of the first set of operations.

13. The computer system of claim 11 , wherein conditions of minimal interference are conditions occurring when a count of outstanding operations is less than or equal to estimated level of concurrency minus one.

14. The computer system of claim 11 , wherein the program instructions to update the estimated level of concurrency further comprise:

program instructions to determine that the count of outstanding operations exceeds an amount that is based on the count of service channels and the threshold;

program instructions to determine that the ratio exceeds an amount that is based on the count of service channels; and

program instructions to increase the estimated level of concurrency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2014
From: MCNUTT, BRUCE; RIPBERGER, RICHARD A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033432/0531 →
Continuity (1)
Related Publication 20160036656A1 · Feb 4, 2016