RESOURCE CONFLICT PROFILING
First Claim
1. A method of documenting a resource conflict relating to a resource, the method comprising:
- upon detecting a request by an execution context for the resource resulting in a resource conflict;
storing a request time, andidentifying a user action associated with the execution context that caused the resource conflict; and
upon detecting availability of the resource after the resource conflict;
calculating a resource conflict duration, anddocumenting the resource, the user action, and the resource conflict duration.
2 Assignments
0 Petitions
Accused Products
Abstract
Analyzing usage patterns of resources by various execution contexts (such as threads) may be difficult due to the volume of information that may be involved. A profiling technique may focus on the detection of resource requests that result in a resource conflict, e.g., a request for access to a resource that is exclusively in use by another resource. The profiling may then involve identifying the user action associated with the execution context that caused the resource conflict (e.g., via a stack walk) and the resource utilized, measuring the delay in the fulfillment of the request, and recording the information in a resource conflict log. The resource requests that are captured and recorded in this manner may be constrained to the information that is helpful in identifying performance bottlenecks and usage patterns, which may lead to redesigned applications of greater performance while interfacing with execution contexts, and vice versa.
26 Citations
20 Claims
-
1. A method of documenting a resource conflict relating to a resource, the method comprising:
-
upon detecting a request by an execution context for the resource resulting in a resource conflict; storing a request time, and identifying a user action associated with the execution context that caused the resource conflict; and upon detecting availability of the resource after the resource conflict; calculating a resource conflict duration, and documenting the resource, the user action, and the resource conflict duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for documenting resource conflicts relating to at least one resource, the system comprising:
-
a resource conflict data store configured to store records of resource conflicts involving a resource, an execution context requesting the resource resulting in a resource conflict, and a resource conflict duration; and a resource conflict documenting component configured to; upon detecting a request by an execution context for a resource resulting in a resource conflict; store a request time, and identify the execution context; and upon detecting availability of the resource after the resource conflict; calculate a resource conflict duration, and create a resource conflict record in the resource conflict data store. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of documenting a resource conflict relating to a resource shared by at least two execution contexts by an access sharing construct comprising at least one of a semaphore, a critical section, and a monitor, the method comprising:
-
upon receiving a request by the execution context for the resource; blocking the execution context; detecting availability of the resource, and upon detecting availability of the resource without a resource conflict; providing the resource to the execution context, and unblocking the execution context; upon detecting a synchronous blocking resource request by an execution context for the resource resulting in a resource conflict; storing a request time, and performing a stack walk to identify the execution context issuing the request for the resource, and identifying the user action associated with the execution context identified by the stack walk that caused the resource conflict; and upon detecting availability of the resource after the resource conflict; calculating a resource conflict duration; documenting the resource, the user action, and the resource conflict duration by creating a resource conflict record in a resource conflict data store, the resource conflict record comprising the resource, the execution context, and the resource conflict duration; providing the resource to the execution context; and unblocking the execution context.
-
Specification