IP Library Granted Patent US 8,589,926
Granted Patent B2
US 8,589,926 · App. 12/436,902 · Granted Nov 19, 2013

Adjusting processor utilization data in polling environments

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 8,589,926
App. No.
12/436,902
Granted
Nov 19, 2013
Kind
B2
Abstract

A method, system, and computer usable program product for adjusting processor utilization data in polling environments are provided in the illustrative embodiments. An amount of a computing resource consumed during polling performed by the polling application over a predetermined period is received at a processor in a data processing system from a polling application executing in the data processing system. The amount forms a polling amount of the computing resource. Using the polling amount of the computing resource, another amount of the computing resource consumed for performing meaningful task is determined. The other amount forms a work amount of the computing resource. Using the work amount of the computing resource, an adjusted utilization of the computing resource is computed over a utilization interval. The data of the adjusted utilization is saved.

Claims (55)

1. A computer implemented method for adjusting processor utilization data stored in a computer memory in a polling environment, the computer implemented method comprising:

receiving, by a processor in a data processing system, from a polling application executing in the data processing system, a first amount of a computing resource consumed during polling performed by the polling application over a predetermined period, wherein the polling is a poll for an event, wherein the polling application is configured to determine a time when the first amount is to be provided to the processor and to provide the first amount to the processor at the time;

computing, by the processor, using the first amount over the predetermined period, a polling amount of the computing resource over a utilization interval, wherein the polling amount of the computing resource is an amount of a computing resource consumed during polling performed by the polling application over the utilization interval;

determining, by the processor, a second amount of the computing resource consumed for performing meaningful task by subtracting the polling amount of the computing resource from an amount of the computing resource consumed in processing tasks other than idle tasks over the utilization interval, the second amount forming a work amount of the computing resource consumed during the utilization interval;

computing, by the processor, using a ratio of the work amount of the computing resource consumed during the utilization interval and a total amount of the computing resource consumed during the utilization interval, an adjusted utilization of the computing resource over the utilization interval; and

saving the adjusted utilization in the computer memory.

2. The computer implemented method of claim 1 , further comprising:

receiving a request for utilization data from a reporting application; and

responding to the request with the data of the adjusted utilization.

3. The computer implemented method of claim 1 , further comprising:

determining a third amount of the computing resource consumed for an idle task, the third amount forming an idle amount of the computing resource, wherein the computing the adjusted utilization additionally uses the idle amount in computing the adjusted utilization.

4. The computer implemented method of claim 1 , wherein receiving the polling amount of computing resource is performed using a system call.

5. The computer implemented method of claim 1 , further comprising:

computing a utilization of the computing resource for a task associated with the polling and the meaningful task, the utilization forming a base utilization; and

saving the base utilization.

6. The computer implemented method of claim 5 , wherein computing the adjusted utilization adjusts the base utilization.

7. The computer implemented method of claim 1 , further comprising:

sending from the polling application the polling amount of computing resource, wherein the sending occurs one of (i) at a predetermined interval, (ii) after sending a predetermined number of polling requests, (iii) before the meaningful task is initiated, (iv) during the meaningful task, and (v) after the meaningful task is executed.

8. The computer implemented method of claim 1 , wherein the polling amount of the computing resource is assigned a first weight to form a weighted polling amount, and the working amount of the computing resource is assigned a second weight to form a weighted working amount, the computing the adjusted utilization further comprising:

computing the adjusted utilization using the weighted polling amount and the weighted working amount.

9. The computer implemented method of claim 1 , wherein the polling amount of the computing resource is adjusted according to a first relative use of the computing resource for a polling task to form a relative polling amount, and the working amount of the computing resource is adjusted according to a second relative use of the computing resource for the meaningful task to form a relative working amount, the computing the adjusted utilization further comprising:

computing the adjusted utilization using the relative polling amount and the relative working amount.

10. A computer usable program product comprising a computer usable storage device including computer usable code for adjusting processor utilization data stored in a computer memory in a polling environment, the computer usable code comprising:

computer usable code for receiving, by a processor in a data processing system, from a polling application executing in the data processing system, a first amount of a computing resource consumed during polling performed by the polling application over a predetermined period, wherein the polling is a poll for an event, wherein the polling application is configured to determine a time when the first amount is to be provided to the processor and to provide the first amount to the processor at the time;

computer usable code for computing, by the processor, using the first amount over the predetermined period, a polling amount of the computing resource over a utilization interval, wherein the polling amount of the computing resource is an amount of a computing resource consumed during polling performed by the polling application over the utilization interval;

computer usable code for determining, by the processor, a second amount of the computing resource consumed for performing meaningful task by subtracting the polling amount of the computing resource from an amount of the computing resource consumed in processing tasks other than idle tasks over the utilization interval, the second amount forming a work amount of the computing resource consumed during the utilization interval;

computer usable code for computing, by the processor, using a ratio of the work amount of the computing resource consumed during the utilization interval and a total the amount of the computing resource consumed during the utilization interval, an adjusted utilization of the computing resource over the utilization interval; and

computer usable code for saving the adjusted utilization in the computer memory.

11. The computer usable program product of claim 10 , wherein the computer usable code for receiving the polling amount of computing resource performs a system call, the computer usable program product further comprising:

computer usable code for determining a third amount of the computing resource consumed for an idle task, the third amount forming an idle amount of the computing resource, wherein the computer usable code for computing the adjusted utilization additionally uses the idle amount in computing the adjusted utilization;

computer usable code for receiving a request for utilization data from a reporting application; and

computer usable code for responding to the request with the data of the adjusted utilization.

12. The computer usable program product of claim 10 , further comprising:

computer usable code for computing a utilization of the computing resource for a task associated with the polling and the meaningful task, the utilization forming a base utilization, wherein the computer usable code for computing the adjusted utilization adjusts the base utilization; and

computer usable code for saving the base utilization.

13. The computer usable program product of claim 10 , further comprising:

computer usable code for sending from the polling application the polling amount of computing resource, wherein the sending occurs one of (i) at a predetermined interval, (ii) after sending a predetermined number of polling requests, (iii) before the meaningful task is initiated, (iv) during the meaningful task, and (v) after the meaningful task is executed.

14. The computer usable program product of claim 10 , wherein the polling amount of the computing resource is assigned a first weight to form a weighted polling amount, and the working amount of the computing resource is assigned a second weight to form a weighted working amount, the computer usable code for computing the adjusted utilization further comprising:

computer usable code for computing the adjusted utilization using the weighted polling amount and the weighted working amount.

15. The computer usable program product of claim 10 , wherein the polling amount of the computing resource is adjusted according to a first relative use of the computing resource for a polling task to form a relative polling amount, and the working amount of the computing resource is adjusted according to a second relative use of the computing resource for the meaningful task to form a relative working amount, the computer usable code for computing the adjusted utilization further comprising:

computer usable code for computing the adjusted utilization using the relative polling amount and the relative working amount.

16. The computer program product of claim 10 , wherein the computer usable code is stored in a computer readable storage medium in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system.

17. The computer program product of claim 10 , wherein the computer usable code is stored in a computer readable storage medium in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage medium associated with the remote data processing system.

18. A data processing system for adjusting processor utilization data stored in a computer memory in a polling environment, the data processing system comprising:

a storage device including a storage medium, wherein the storage device stores computer usable program code; and

a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises:

computer usable code for receiving, by the processor in the data processing system, from a polling application executing in the data processing system, a first amount of a computing resource consumed during polling performed by the polling application over a predetermined period, wherein the polling is a poll for an event, wherein the polling application is configured to determine a time when the first amount is to be provided to the processor and to provide the first amount to the processor at the time;

computer usable code for computing, by the processor, using the first amount over the predetermined period, a polling amount of the computing resource over a utilization interval,. wherein the polling amount of the computing resource is an amount of a computing resource consumed during polling performed by the polling application over the utilization interval;

computer usable code for determining, by the processor, a second amount of the computing resource consumed for performing meaningful task by subtracting the polling amount of the computing resource from an amount of the computing resource consumed in processing tasks other than idle tasks over the utilization interval, the second amount forming a work amount of the computing resource consumed during the utilization interval;

computer usable code for computing, by the processor, using a ratio of the work amount of the computing resource consumed during the utilization interval and a total the amount of the computing resource consumed during the utilization interval, an adjusted utilization of the computing resource over the utilization interval; and

computer usable code for saving the adjusted utilization in the computer memory.

19. The data processing system of claim 18 , further comprising:

computer usable code for sending from the polling application the polling amount of computing resource, wherein the sending occurs one of (i) at a predetermined interval, (ii) after sending a predetermined number of polling requests, (iii) before the meaningful task is initiated, (iv) during the meaningful task, and (v) after the meaningful task is executed.

20. The data processing system of claim 18 , wherein the polling amount of the computing resource is assigned a first weight to form a weighted polling amount, and the working amount of the computing resource is assigned a second weight to form a weighted working amount, the computer usable code for computing the adjusted utilization further comprising:

computer usable code for computing the adjusted utilization using the weighted polling amount and the weighted working amount.

Assignments (1)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 12, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045059/0166 →