IP Library Granted Patent US 7,516,209
Granted Patent B2
US 7,516,209 · App. 10/607,592 · Granted Apr 7, 2009

Method and framework for tracking/logging completion of requests in a computer system

Assignee: Microsoft Corporation
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,516,209
App. No.
10/607,592
Filed
Jun 27, 2003
Granted
Apr 7, 2009
Kind
B2
Art Unit
2457
USPC
709/224
Abstract

A framework and method are disclosed for carrying out request completion tracing across request identification boundaries. When a request traverses an identification boundary, an event identifies the old and new request identifications and stores this linking information in a trace event record. Thereafter, a consumer of records maintains track of request completion by incorporating the linking information to switch identifications used to track completion of the request across request identification boundaries encountered by the system while responding to the received request. A request trace event record consumer architecture with enhanced tracking capabilities based upon a specified state machine provides greater power when interpreting the trace records associated with completion of requests by a server system.

Claims (49)

1. A method for tracking an execution of a single request across a request identification boundary in a computer system the method comprising:

providing a trace log for recording one or more events that occur during the execution of the single request across the request identification boundary, the request identification boundary comprising a change to an identification of the single request during the occurrence of the one or more events, the request identification boundary selected from a group of request identification boundaries including processing the single request by a first and a second server component;

first recording, within the trace log, a first event including a first request identification;

second recording, within the trace log, a second event including a second request identification;

storing linking information, within the trace log comprising marking, within the trace log, the change to the identification of the single request from the first request identification to the second request identification, and

wherein the linking information comprises a request identification transition event record, and wherein the request identification transition event record includes:

a transition event identifier,

the first request identification, and

the second request identification.

2. The method of claim 1 wherein the group of request identification boundaries includes processing the single request by a first and a second thread.

3. The method of claim 1 wherein the group of request identification boundaries includes changing the identification of the single request while completing a same transaction arising from the single request.

4. The method of claim 1 wherein the group of request identification boundaries includes transferring the single request from a first machine to a second machine.

5. The method of claim 1 further comprising the step of correlating, by a consumer utility, the first and second events to the single request using the linking information.

6. The method of claim 5 further comprising applying by the consumer utility, a set of trace records for the single request, including event records for the first and second events, to a state machine.

7. The method of claim 6 wherein the state machine models a sequence of events corresponding to a composite request.

8. The method of claim 6 wherein an event type value is stored for each recorded event and wherein the event type value directs progression of the state machine.

9. The method of claim 1 wherein the storing linking information step is performed after the first recording step and before the second recording step.

10. The method of claim 1 wherein the first recording step and second recording step each comprises storing a timestamp corresponding to the first and second events, respectively.

11. A computer-readable storage medium embodying a program of computer-executable instructions for enabling a computer to perform the steps for tracking an execution of a single request across a request identification boundary in a system, the steps comprising:

providing a trace log for recording one or more events that occur during the execution of the single request across the request identification boundary, the request identification boundary comprising a change to an identification of the single request during the occurrence of the one or more events, the request identification boundary selected from a group of request identification boundaries including processing the single request by a first and a second server component;

first recording, within the trace log, a first event including a first request identification;

second recording, within the trace log, a second event including a second request identification;

storing linking information within the trace log comprising marking, within the trace log, the change to the identification of the single request from the first request identification to the second request identification within the trace log; and

wherein the linking information comprises a request identification transition event record, and wherein the request identification transition event record includes:

a transition event identifier,

the first request identification, and

the second request identification.

12. The computer-readable storage medium of claim 11 wherein the group of request identification boundaries includes processing the single request by a first and a second thread.

13. The computer-readable storage medium of claim 11 wherein the group of request identification boundaries includes changing the identification of the single request while completing a same transaction arising from the single request.

14. The computer-readable storage medium of claim 11 wherein the group of request identification boundaries includes transferring the single request from a first machine to a second machine.

15. The event tracing framework computer-readable storage medium of claim 11 , wherein the steps further comprise comprising a consumer utility including computer-executable instructions facilitating performing the step of providing a consumer utility for correlating the first and second events to the single request using the linking information.

16. The computer-readable storage medium of claim 15 , wherein the steps further comprise facilitating applying a set of trace records for the single request, including event records for the first and second events, to a state machine.

17. The computer-readable storage medium of claim 16 wherein the state machine models a sequence of events corresponding to a composite request.

18. The-computer-readable storage medium of claim 16 wherein an event type value is stored for each recorded event and wherein the event type value directs progression of the state machine.

19. The computer-readable storage medium of claim 11 wherein the storing linking information step is performed after the first recording step and before the second recording step.

20. The computer-readable storage medium of claim 11 wherein the first recording step and second recording step each includes storing a timestamp corresponding to the first and second events, respectively.

21. A computer-readable storage medium-embodying a program of computer-executable instructions for enabling a computer to perform the steps for generating performance reports relating to tracking an execution of a single request across a request identification boundary in a system the steps comprising:

providing a trace log for recording one or more events that occur during the execution of the single request across the request identification boundary, the request identification boundary comprising a change to an identification of the single request during the occurrence of the one or more events, the request identification boundary selected from a group of request identification boundaries including a change of components processing the single request, and

providing an event log consumer utility for generating performance data associated with the single request, comprising:

first locating, within the trace log, a first event including a first request identification;

second locating, within the trace log, a second event including a second request identification;

reading linking information, within the trace log, the linking information comprising a record of the change to the identification of the from the first request identification to the second request identification;

correlating the first event and second event with the single request; and

wherein the linking information comprises a request identification transition event record, and wherein the request identification transition event record includes:

a transition event identifier,

the first request identification, and

the second request identification.

22. The computer-readable storage medium of claim 21 wherein the linking information is provided by an event trace record, the event trace record including a transfer event type, a source request identification and a destination request identification.

23. The computer-readable storage medium of claim 21 wherein the group of request identification boundaries includes a change of machines processing the single request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2003
From: RAGHURAMAN, MELUR K.; PANG, JEE FUNG; PARK, INSUNG; DAVIS, CHRISTOPHER M.
To: MICROSOFT CORPORATION
Reel/Frame 014240/0775 →
Continuity (1)
Related Publication 20050021708A1 · Jan 27, 2005