IP Library Granted Patent US 7,406,694
Granted Patent B2
US 7,406,694 · App. 10/600,977 · Granted Jul 29, 2008

Method and system for tracking kernel resource usage

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,406,694
App. No.
10/600,977
Granted
Jul 29, 2008
Kind
B2
Abstract

A method and computer system for tracking kernel resource usage is disclosed that tracks kernel resources allocated to user processes called from the user level of the operating system. A tag of the user processes is generated, which allows a way to identify the user processes and associate allocated kernel resources to the user process. As a result, the user processes can be charged for kernel resources.

Claims (50)

1. A method for tracking kernel resource usage comprising:

generating a tag to charge a process allocated with kernel resources wherein generating a tag further comprises:

determining whether a request for kernel resources is passed from an intermediate function using a worker thread;

finding at least one link between the worker thread and the process; and,

identifying the process that originated the request according to the found link between the worker thread and the process;

determining whether the process is a kernel process;

determining whether the process is a user process;

flagging the tag with a kernel flag to indicate whether the process has been determined to be a kernel process, the flagging further comprising:

generating a tag value to identify kernel resources allocated to a user process;

saving a type of kernel resources allocated to the tag; and,

saving a user process identifier to the tag to identify the process;

flagging the tag with a user flag to indicate whether the process has been determined to be a user process based upon the determination step wherein the tag value and the type of kernel resources are saved in a first word of the tag, and the user process identifier is saved in a second word of the tag;

determining whether the process is a first predefined process or a second predefined process;

saving an identifier to the tag to identify whether the process is a first predefined process or a second predefined process based upon the determination step;

determining whether the process has used more kernel usage than a threshold; and

if the process kernel usage is above a threshold, aborting the process.

2. The method of claim 1 wherein flagging the tag further comprises the steps of:

generating a tag value to identify the kernel resources allocated to a kernel process; and,

saving a driver identification to the tag value.

3. The method of claim 2 wherein the tag value with the driver identification is saved in a first word of the tag.

4. The method of claim 1 wherein flagging the tag further comprises:

generating a tag value to identify kernel resources allocated to a user process;

saving the tag value to a first word of the tag; and,

saving a user process identifier to identify the process to a second word of the tag.

5. A computer storage medium having computer-executable instructions to be executed by a processor for performing a method for tracking kernel resource usage comprising:

generating a tag to charge a process allocated with kernel resources wherein generating a tag further comprises:

determining whether a request for kernel resources is passed from an intermediate function using a worker thread;

finding at least one link between the worker thread and the process; and,

identifying the process that originated the request according to the found link between the worker thread and the process;

determining whether the process is a kernel process;

determining whether the process is a user process;

flagging the tag with a kernel flag to indicate whether the process has been determined to be a kernel process, the flagging further comprising:

generating a tag value to identify kernel resources allocated to a user process;

saving a type of kernel resources allocated to the tag; and,

saving a user process identifier to the tag to identify the process;

flagging the tag with a user flag to indicate whether the process has been determined to be a user process based upon the determination step wherein the tag value and the type of kernel resources are saved in a first word of the tag, and the user process identifier is saved in a second word of the tag;

determining whether the process is a first predefined process or a second predefined process;

saving an identifier to the tag to identify whether the process is a first predefined process or a second predefined process based upon the determination step;

determining whether the process has used more kernel usage than a threshold; and

if the process kernel usage is above a threshold, aborting the process.

6. The computer storage medium of claim 5 , wherein flagging the tag further comprises the steps of:

generating a tag value to identify the kernel resources allocated to a kernel process; and saving a driver identification to the tag value.

7. The computer storage medium of claim 6 , wherein the tag value with the driver identification is saved in a first word of the tag.

8. The computer storage medium of claim 7 , wherein flagging the tag further comprises of:

generating a tag value to identify kernel resources allocated to a user process;

saving the tag value to a first word of the tag; and

saving a user process identifier to identify the process to a second word of the tag.

9. The computer storage medium of claim 5 , further comprising:

saving a process identifier to identify the process allocated with the kernel resources; and

saving a type of kernel resources allocated to the process.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2003
From: SEN, RANJAN K.
To: MICROSOFT CORPORATION
Reel/Frame 014223/0639 →