IP Library › Granted Patent US 9,122,782
Granted Patent B2
US 9,122,782 · App. 13/246,963 · Granted Sep 1, 2015

Apparatus and computer program product for adaptively determining response time distribution of transactional workloads

Inventors: Nicolas X. Nardelli (Stuttgart, DE); Robert Vaupel (Rottenburg, DE)
Assignee: International Business Machines Corporation
G06F11/3419G05B13/021G05B13/042G06F9/466G06F11/34G06F11/3452G06F2201/81G06F2201/87G06F2201/88
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,122,782
App. No.
13/246,963
Filed
Sep 28, 2011
Granted
Sep 1, 2015
Kind
B2
Art Unit
2195
USPC
718/101
Abstract

An adaptive mechanism is provided that learns the response time characteristics of a workload by measuring the response times of end user transactions, classifies response times into buckets, and dynamically adjusts the response time distribution as response time characteristics of the workload change. The adaptive mechanism maintains the actual distribution across changes and, thus, helps the end user to understand changes of workload behavior that take place over a longer period of time. The mechanism is stable enough to suppress spikes and returns a constant view of workload behavior, which is required for long term, performance analysis and capacity planning. The mechanism distinguishes between an initial learning phase of establishing the distribution and one or multiple reaction periods. The reaction periods can be for example a fast reaction period for strong fluctuations of the workload behavior and a slow reaction period for small deviations.

Claims (46)

1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:

generate a response time distribution based on an initial response time distribution midpoint, wherein the response time distribution comprises a plurality of buckets, wherein each bucket within the plurality of buckets defines a time range of possible transaction response times relative to the initial response time distribution midpoint;

record transaction response times of transactions in a data processing system for a predetermined time interval;

assign the transaction response times to the plurality of buckets or the response time distribution;

responsive to determining that a predetermined percentage of transaction response times recorded for the predetermined time interval are assigned to a predetermined set of buckets, in the plurality of buckets, incrementing an out-of-interval counter;

responsive to determining out-of-interval counter exceeds a predetermined threshold, determine a new response time distribution midpoint based on the transaction response times recorded for the predetermined time interval; and

update the response time distribution based on the new response time distribution midpoint such that each bucket of the response time distribution defines an updated time range relative to the new response time distribution midpoint.

2. The computer program product of claim 1 , wherein incrementing the out-of-interval counter comprise:

determining an increment factor based on a number of transaction response times recorded in the predetermined time interval and an identification of the given check; and

incrementing the out-of-interval counter by the increment factor.

3. The computer program product of claim 1 , further comprising:

responsive to determining the out-of-interval counter does not exceed the predetermined threshold, decrementing an absolute value of the out-of-interval counter.

4. The computer program product of claim 1 , further comprising:

responsive to determining the out-of-interval counter does not exceed the predetermined threshold, accumulating the response time distribution into a response time distribution history.

5. The computer program product of claim 1 , wherein the predetermined interval comprise an initial learning phase and wherein generating the response time distribution based on the initial response time distribution midpoint comprises:

setting a counter for each bucket within the plurality of buckets to zero; and

setting the initial response time distribution midpoint to zero.

6. The computer program product of claim 1 , wherein the computer readable program is stored in the computer readable storage medium in the data processing system and wherein the computer readable program was downloaded over a network from a remote data processing system.

7. The computer program product of claim 1 , wherein the computer readable program is stored in the computer readable storage medium in a server data processing system and wherein the computer readable program is downloaded over a network to a remote data processing system for use in a computer readable storage medium within the remote system.

8. The computer program product of claim 3 , wherein decrementing the absolute value of the out-of interval counter comprises decrementing the absolute value of the out-of-interval counter by a decrement factor determined based on a number of transaction times recorded in the predetermined time interval.

9. The computer program product of claim 1 , wherein determining the new response time distribution midpoint comprises setting the new response time distribution midpoint equal to an average of the transaction response times recorded for the predetermined time interval.

10. The computer program product of claim 1 , wherein assigning the collected transaction response times to the plurality of buckets of the response time distribution comprises:

for each transaction response time in the transaction response times, incrementing a counter associated with a given bucket within the plurality of buckets defining a corresponding time range that includes the transaction response time.

11. The computer program product of claim 1 , wherein assigning the transaction response times to the plurality of buckets of the response time distribution further comprises:

accumulating transaction response times for a predetermined number of time intervals in an accumulated transaction history.

12. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

generate a response time distribution based on an initial response time distribution midpoint, wherein the response time distribution comprises a plurality of buckets, wherein each bucket within the plurality of buckets defines a time range of possible transaction response times relative to the initial response time distribution midpoint;

record transaction response times of transactions in a data processing system for a predetermined time interval;

assign the transaction response times to the plurality of buckets of the response time distribution;

responsive to determining that a predetermined percentage of transaction response times recorded for the predetermined time interval are assigned to a predetermined set of buckets in the plurality of buckets, incrementing an out-of-interval counter;

responsive to determining the out-of-interval counter exceeds a predetermined threshold, determine a new response time distribution midpoint based on the transaction response times recorded for the predetermined time interval; and

update the response time distribution based on the new response time distribution midpoint such that each bucket of the response time distribution defines an updated time range relative to the new response time distribution midpoint.

13. The apparatus of claim 12 , wherein incrementing the out-of-interval counter comprises:

determining an increment factor based on a number of transaction response times recorded in the predetermined time interval and an identification of the given cheek; and

incrementing the out-of-interval counter by the increment factor.

14. The apparatus of claim 12 , further comprising:

responsive to determining the out-of-interval counter does not exceed the predetermined threshold, decrementing an absolute value of the out-of-interval counter.

15. The apparatus of claim 12 , further comprising:

responsive to determining the out-of-interval counter does not exceed the predetermined threshold, accumulating the response time distribution into a response time distribution history.

16. The apparatus of claim 12 , wherein the at least one interval comprise an initial learning phase and wherein generating the response time distribution based on the initial response time distribution midpoint comprises:

setting a counter for each bucket within the plurality of buckets to zero; and

setting the initial response time distribution midpoint to zero.

17. The apparatus of claim 14 , wherein decrementing the absolute value of the out-of-interval counter comprises decrementing the absolute value of the out-of-interval counter by a decrement factor determined based on a number of transaction times collected in the predetermined time interval.

18. The apparatus of claim 12 , wherein determining the new response time distribution midpoint comprises setting the new response time distribution midpoint equal to an average of the transaction response times recorded for the predetermined time interval.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2011
From: NARDELLI, NICOLAS X.; VAUPEL, ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026980/0762 →
Continuity (1)
Related Publication 20130081025A1 · Mar 28, 2013