IP Library Granted Patent US 7,908,606
Granted Patent B2
US 7,908,606 · App. 11/134,183 · Granted Mar 15, 2011

Usage metering system

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 7,908,606
App. No.
11/134,183
Granted
Mar 15, 2011
Kind
B2
Abstract

A usage metering system for determining computer resource utilization is described herein. Computer resource utilization is determined by accumulating instances of computer resource utilization based on array of counters. This enables an accurate determination of instances of when a predetermined threshold baseline of computer resource utilization is exceeded over an accumulated period of time. By using an array of counters to collect data rather than averaging values over time, a more accurate indication of computer resource utilization is determined. The usage metering system has little impact on computer system resources, because snapshots can be taken on a fairly infrequent basis, and any computer resource utilization calculations can be performed on computer platforms separated from the system being monitored.

Claims (33)

1. A method, comprising:

(a) collecting, by a first computer system, a peak value indicating a peak level of computer resource utilization in the computer system;

(b) selecting a bucket from a first array of buckets corresponding to the collected peak value, wherein each bucket from the array contains a count value providing a recorded history of how many times a particular level of computer resource utilization was observed;

(c) modifying the count value maintained in the selected bucket corresponding to the collected peak value;

(d) repeating, iteratively, the operational acts described in paragraphs (a), (b), and (c) for a first period of time; and

(e) generating a report based on the count values contained in the first array of buckets indicative of the levels of computer resource utilization realized during at least the first period of time and a threshold value such that the report indicates the number of times a particular computer resource utilization level was greater than the threshold value;

wherein the count values in the first array of buckets and the number of times a particular computer resource utilization level was greater than the threshold value are used in generating a bill associated with the amount of computer resources utilized.

2. The method as recited in claim 1 , further comprising transferring each count value maintained in the first array of buckets to a second computer system after a second period of time.

3. The method as recited in claim 1 , further comprising transferring each count value maintained in the first array of buckets to a second array of buckets after a second period of time, each bucket containing a count value representing an accumulation of count values received from a corresponding bucket in the first array of buckets.

4. The method as recited in claim 1 , further comprising forwarding the report to a billing center.

5. The method as recited in claim 1 , wherein the iterative acts of collecting, selecting and modifying is performed by a collector module residing on the first computer system.

6. The method as recited in claim 1 , wherein the act of generating a report is performed by a reporter module.

7. A method for metering computer resource utilization occurring on a computer system, comprising:

maintaining an array of buckets corresponding to different levels of computer peak resource utilization, each bucket having a counter indicating a quantity of instances a level of computer peak resource utilization was reached over a collection time;

collecting peak computer resource utilization data indicating an amount of a computer resource utilized during a particular interval of time of a plurality of interval of times within the collection time;

modifying the value of the counter in the bucket of the array of buckets corresponding to the level of computer peak resource utilization for the particular interval of time;

repeating the steps of collecting computer peak resource utilization data and modifying the value of the counter for each of the plurality of interval of times; and

reporting computer peak resource utilization over the collection time based on values of the counters in the array of buckets and a threshold value such that the reporting indicates the number of times a particular computer resource utilization level was greater than the threshold value;

wherein the count values in the array of buckets and the number of times a particular computer resource utilization level was greater than the threshold value are used in generating a bill associated with the amount of computer peak resources utilized.

8. The method as recited in claim 7 , wherein the acts of collecting, maintaining, and modifying are performed by a collector module operating as software code executing on one or more processors.

9. The method as recited in claim 7 , wherein the act of reporting the computer resource utilization is performed by a reporter module operating as software code executing on one or more processors.

10. A usage metering system, comprising:

a collector module, operating on a computer system, the collector module configured to take a snapshot of a process utilization manager of the computer system on a continuous basis over a prescribed period of time and record peak performance data in an array; wherein the array comprises a plurality of buckets, each bucket represents a particular incremental value of a computer resource utilization level, and each bucket has a counter with a count value indicating the number of times a particular computer resource utilization level was observed; and

a reporter module, operating on the computer system, the reporter module configured to use a threshold value to generate a report that indicates the number of times a particular computer resource utilization level was greater than the threshold value;

wherein the count values in the array and the number of times a particular computer resource utilization level was greater than the threshold value are used in generating a bill associated with the amount of computer resources utilized;

wherein each snapshot provides a value indicative of a peak amount of computer resource utilized at a particular time interval within the prescribed period of time, and

wherein each value of a snapshot is used by the collector module to select a bucket from the array corresponding to the value of the snapshot, and to modify the count value of the selected bucket each time a particular computer resource utilization level was observed that corresponds to the selected bucket.

11. The usage metering system as recited in claim 10 , further comprising a reporter module configured to communicate with the collector module and to receive data from the collector module associated with the array.

12. The usage metering system as recited in claim 10 , further comprising a reporter module configured to (i) communicate with the collector module (ii) receive data from the collector module associated with the array, and (iii) consolidate and format the data for eventual transmission to a designated system.

13. The usage metering system as recited in claim 10 , further comprising a reporter module configured to attempt to communicate with the collector module, but if the reporter module is unable to receive data from the collector module after one of a prescribed period of time and number of attempts to communicate with the collector module, then the reporter sends an alert message to one of a designated site, person, and service center, indicating that there is a problem with the health of an instance partition, computer system, and/or the collector module.

14. The usage metering system as recited in claim 10 , further comprising a first and second reporter module, the first reporter module configured to collect utilization data in the form of the array from collector module and report the utilization data to a designated entity, the second reporter module configured to collect to collect the utilization data in the form of the array from the collector module and report the utilization data to a designated entity in lieu of the first reporter module, if the first reporter module is unable to communicate with the collector module.

15. The usage metering system as recited in claim 10 , wherein the collector module resides on the computer system.

16. The usage metering system as recited in claim 10 , further comprising a reporter module configured to communicate with the collector module and to consolidate and format the data for eventual transmission to a designated system, wherein the reporter module resides on a supervision computer separate from the computer system.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded May 6, 2011
From: UNISYS CORPORATION
To: DEUTSCHE BANK NATIONAL TRUST CO.
Reel/Frame 026240/0807 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023086/0255 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2005
From: FREDERICK, CHAD E.; LUZESKI, NICHOLAS M.
To: UNISYS CORPORATION
Reel/Frame 016588/0620 →