IP Library Granted Patent US 7,010,466
Granted Patent B2
US 7,010,466 · App. 10/879,091 · Granted Mar 7, 2006

Method for measuring quantity of usage of CPU

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,010,466
App. No.
10/879,091
Granted
Mar 7, 2006
Kind
B2
Abstract

The present invention relates to a method for measuring a quantity of usage of a CPU, in particular to a method for measuring a quantity of usage of a CPU which is capable of getting a credible quantity of usage of a CPU without amending an algorithm in order to adapt it to the an operating system, e.g., MS-Windows System, or requiring a complicated code. The method uses various algorithms provided by the operating system on the behalf of a registry storing a quantity of usage of a CPU inside a system. Accordingly the present invention can measure a quantity of usage of a CPU easily without lowering a performance of the operating system.

Claims (63)

1. A method for measuring processing resource utilization in a personal computer, comprising:

providing an operating system registry containing a processor usage information of a processor;

reading execution times of threads during a predetermined timer time interval using one or more manager functions, wherein the threads are executed by the processor;

adding execution time values for each thread that is not a system thread to get a first total;

determining a quantity of usage of the processor using the first total; and

updating the processor usage information in the operating system registry.

2. The method of claim 1 , wherein the determining step further comprises:

subtracting a previously stored execution time value total from the first total; and

measuring the quantity of usage of the processor by dividing the subtracted execution time by the predetermined timer time interval.

3. The method of claim 2 , wherein the quantity of usage of the processor is compensated by averaging the quantity of usage of the processor with a former measured quantity of usage of the processor.

4. The method of claim 3 , wherein the averaging is performed in response to a detected sudden variance usage of the processor.

5. The method of claim 1 , wherein the reading step comprises:

identifying a current thread; and

comparing the identified thread to the system thread.

6. The method of claim 5 , wherein the adding step further comprises reading all the threads excluding the system thread sequentially after reading the system thread.

7. The method of claim 1 , further comprising:

providing an application program that executes on the personal computer, wherein the application program accesses the quantity of usage of the processor during execution.

8. The method of claim 1 , wherein the quantity of usage of the processor effects transitions between wake and sleep modes.

9. The method of claim 1 , wherein the quantity of usage of the processor effects transitions between power levels.

10. The method of claim 1 , further comprising:

providing an application program that executes on the personal computer, wherein the application program accesses the processor usage information during execution.

11. The method of claim 1 , wherein the processor usage information effects transitions between wake and sleep modes.

12. The method of claim 1 , wherein the processor usage information effects transitions between power levels.

13. A method for measuring processing resource utilization in a personal computer, comprising:

providing a personal computer executable process algorithm for monitoring the usage of a processor;

reading execution times of threads during a predetermined timer time interval using one or more manager functions, wherein the threads are executed by the processor;

adding execution time values for each thread that is not a system thread to get a first total; and

determining a quantity of usage of the processor using the first total.

14. The method of claim 13 , wherein the determining step further comprises:

subtracting a previously stored execution time total from the first total; and

measuring the quantity of usage of the processor by dividing the subtracted execution time by the predetermined timer time interval.

15. The method of claim 14 , wherein the quantity of usage of the processor is compensated by averaging the quantity of usage of the processor with a former measured quantity of usage of the processor.

16. The method of claim 15 , wherein the averaging is performed in response to a detected sudden variance usage of the processor.

17. The method of claim 13 , wherein the reading step comprises:

identifying a current thread; and

comparing the identified thread to the system thread.

18. The method of claim 17 , wherein the adding step further comprises reading all the threads excluding the system thread sequentially after reading the system thread.

19. The method of claim 17 , wherein the identifying step is performed using a Get_Next_Thread_Handle manager function, and the reading step is performed using a Get_Thread_Exec_Time manager function.

20. The method of claim 13 , wherein the quantity of usage of the processor effects transitions between wake and sleep modes.

21. The method of claim 13 , wherein the quantity of usage of the processor effects transitions between power levels.

22. A method for measuring CPU usage, the CPU executing threads, comprising:

reading the execution times of all threads except for a system thread during a prescribed timer time interval;

adding the values of the execution times to obtain a first sum;

subtracting a second sum of previously executed and stored thread execution times from the first sum to obtain a result; and

calculating a CPU usage by dividing the result by the prescribed timer time interval.

23. The method of claim 22 , further comprising:

sequentially reading a handle of one or more next threads continuing after a start of the system thread to determine a next handle identification;

comparing whether or the next handle identification is the same as a handle identification of the system thread; and

adding the values of the execution times until the next handle identification is the same as the handle identification of the system thread.

24. The method of claim 22 , wherein one or more previously measured CPU usages and the CPU usage are averaged to obtain a corrected CPU usage.

25. The method of claim 22 , wherein the CPU usage effects transitions between wake and sleep modes.

26. The method of claim 22 , wherein the CPU usage effects transitions between power levels.

27. A method for updating a resource utilization value in an updatable usage value register contained in a processing resource circuit, comprising:

reading execution times of a first plurality of threads during a time interval;

adding the read execution times of the first plurality of threads to obtain a first total;

calculating a current resource utilization information based on a calculation involving the first total and the time interval; and

updating the updatable usage value register with the current resource utilization information.

28. The method of claim 27 , further comprising:

reading a second total execution time for a second plurality of previously executed threads;

subtracting the second total execution time from the first total obtain a result;

wherein the calculating step involves the result and the time interval, and does not involve the first total.

29. The method of claim 27 , wherein the current resource utilization information effects transitions between wake and sleep modes.

30. The method of claim 27 , wherein the current resource utilization information effects transitions between power levels.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: ANPA INC.
To: LG ELECTRONICS INC.
Reel/Frame 033861/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2008
From: PROTIMUS TECHNOLOGIES LLC
To: ANPA INC.
Reel/Frame 021316/0029 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2007
From: MICROCONNECT LLC
To: PROTIMUS TECHNOLOGIES LLC
Reel/Frame 020227/0772 →