← Back to Patent Explorer
US6728949B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for periodic trace sampling using a mask to qualify trace data

Assignee: RPX Corp
•
Filing: 1999-12-14
•
Granted: 2004-04-27
•
Expires: 2019-12-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for monitoring execution performance of a program is provided. Profiling functionality may be qualified by setting various qualifying flags at the request of a user. These qualifying flags may be used to limit the amount of trace data being generated or processed, thereby providing a more focused picture of an application's execution to the user. One or more trace,qualifying conditions are selectable by a user and are used during a profiling phase of application execution or during a post-processing phase of analyzing the application execution. During a profiling phase, an occurrence of a selected event or a timer interrupt is detected, and a determination is made as to whether a trace qualifying condition has been previously selected. In response to a determination that a trace qualifying condition has been selected, a trace record is then generated. During a post-processing phase, a trace record is read that contains a trace condition mask that stores the trace qualifying conditions that were active when the trace record was generated. The trace record is further processed in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.

Inventors

  • 👤 Raymond Morris Bryant
  • 👤 Frank Eliot Levine

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 13:48
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3409; G06F11/3466; G06F11/3419; G06F11/3476; G06F2201/00; G06F2201/86; G06F2201/865

Claims Analysis

Total Claims: 51
Claim 1
Independent Claim 99 words
A method of monitoring execution performance of a program, the method comprising the steps of: selecting one or more trace qualifying conditions from a plurality of trace qualifying conditions; detecting an occurrence of a selected event or a timer interrupt; determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, generating a trace record.
Claim 2
Independent Claim 99 words
A method of monitoring execution performance of a program, the method comprising the steps of: selecting one or more trace qualifying conditions from a plurality of trace qualifying conditions; detecting an occurrence of a selected event or a timer interrupt; determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, generating a trace record.
Claim 3
Dependent Claim 35 words
The method of claim 1 further comprising: determining whether a trace qualifying condition is active within the program; and in response to a determination that the trace qualifying condition is active, generating a trace record.
Claim 4
Dependent Claim 18 words
The method of claim 2 wherein currently active trace qualifying conditions arc stored in a trace condition mask.
Claim 5
Dependent Claim 53 words
The method of claim 3 further comprising, prior to the step of generating the trace record: comparing the trace condition mask and user-specified trace qualifying conditions; and determining whether to generate the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 6
Dependent Claim 27 words
The method of claim 2 wherein the trace record comprises a trace condition mask indicating trace qualifying conditions that were active when the trace record was generated.
Claim 7
Dependent Claim 58 words
The method of claim 5 further comprising: reading a trace record, wherein the trace record comprises a trace condition mask; comparing the trace condition mask and user-specified trace qualifying conditions; and determining whether to further process the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 8
Dependent Claim 50 words
The method of claim 2 further comprising: in response to user selection of one or more trace qualifying conditions, generating a user-specified trace mask, wherein the user-specified trace mask comprises a plurality of trace condition flags, wherein each trace condition flag represents a trace qualifying condition specified by the user.
Claim 9
Dependent Claim 33 words
The method of claim 2 wherein a trace qualifying condition represents an active routine, wherein an active routine is a routine of the program that has been entered but has not been exited.
Claim 10
Dependent Claim 29 words
The method of claim 2 wherein a trace qualifying condition represents an active execution condition, wherein an active execution condition is results in a positive comparison result when tested.
Claim 11
Dependent Claim 26 words
The method of claim 9 wherein an execution condition is selected from the group consisting of: a kernel lock; a TCP/IP lock; or a boolean flag.
Claim 12
Dependent Claim 39 words
The method of claim 2 wherein the step of selecting one or more trace qualifying conditions further comprises: allowing a user to choose trace qualifying conditions representing active routines within the program or active execution conditions within the program.
Claim 13
Dependent Claim 17 words
The method of claim 11 further comprising: providing a graphical user interface for choosing trace qualifying conditions.
Claim 14
Dependent Claim 17 words
The method of claim 11 further comprising: providing a command line interface for choosing trace qualifying conditions.
Claim 15
Dependent Claim 18 words
The method of claim 2 wherein the trace record is generated by application code patched into the program.
Claim 16
Dependent Claim 16 words
The method of claim 14 wherein the trace record is generated by an operating system kernel.
Claim 17
Dependent Claim 20 words
The method of claim 15 wherein the operating system kernel has been compiled to include code supporting trace qualifying conditions.
Claim 18
Dependent Claim 112 words
A data processing system for monitoring execution performance of a program, the system comprising: selecting means for selecting one or more trace qualifying conditions from a plurality of trace qualifying conditions; detecting means for detecting an occurrence of a selected event or a timer interrupt; first determining means for determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and first generating means for generating, in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, a trace record.
Claim 19
Dependent Claim 112 words
A data processing system for monitoring execution performance of a program, the system comprising: selecting means for selecting one or more trace qualifying conditions from a plurality of trace qualifying conditions; detecting means for detecting an occurrence of a selected event or a timer interrupt; first determining means for determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and first generating means for generating, in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, a trace record.
Claim 20
Dependent Claim 45 words
The data processing system of claim 17 further comprising: second determining means for determining whether a trace qualifying condition is active within the program; and second generating means for generating, in response to a determination that the trace qualifying condition is active, a trace record.
Claim 21
Dependent Claim 20 words
The data processing system of claim 18 wherein currently active trace qualifying conditions are stored in a trace condition mask.
Claim 22
Dependent Claim 53 words
The data processing system of claim 19 further comprising: comparing means for comparing the trace condition mask and user-specified trace qualifying conditions; and third determining means for determining whether to generate the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 23
Dependent Claim 29 words
The data processing system of claim 18 wherein the trace record comprises a trace condition mask indicating trace qualifying conditions that were active when the trace record was generated.
Claim 24
Dependent Claim 70 words
The data processing system of claim 21 further comprising: reading means for reading a trace record, wherein the trace record comprises a trace condition mask; comparing means for comparing the trace condition mask and user-specified trace qualifying conditions; and fourth determining means for determining whether to further process the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 25
Dependent Claim 56 words
The data processing system of claim 18 further comprising: third generating means for generating, in response to user selection of one or more trace qualifying conditions, a user-specified trace mask, wherein the user-specified trace mask comprises a plurality of trace condition flags, wherein each trace condition flag represents a trace qualifying condition specified by the user.
Claim 26
Dependent Claim 35 words
The data processing system of claim 18 wherein a trace qualifying condition represents an active routine, wherein an active routine is a routine of the program that has been entered but has not been exited.
Claim 27
Dependent Claim 31 words
The data processing system of claim 18 wherein a trace qualifying condition represents an active execution condition, wherein an active execution condition is results in a positive comparison result when tested.
Claim 28
Dependent Claim 28 words
The data processing system of claim 25 wherein an execution condition is selected from the group consisting of: a kernel lock; a TCP/TP lock; or a boolean flag.
Claim 29
Dependent Claim 45 words
The data processing system of claim 18 wherein the selecting means for selecting one or more trace qualifying conditions further comprises: allowing means for allowing a user to choose trace qualifying conditions representing active routines within the program or active execution conditions within the program.
Claim 30
Dependent Claim 23 words
The data processing system of claim 27 further comprising: first providing means for providing a graphical user interface for choosing trace qualifying conditions.
Claim 31
Dependent Claim 23 words
The data processing system of claim 27 further comprising: second providing means for providing a command line interface for choosing trace qualifying conditions.
Claim 32
Dependent Claim 20 words
The data processing system of claim 18 wherein the trace record is generated by application code patched into the program.
Claim 33
Dependent Claim 18 words
The data processing system of claim 30 wherein the trace record is generated by an operating system kernel.
Claim 34
Dependent Claim 22 words
The data processing system of claim 31 wherein the operating system kernel has been compiled to include code supporting trace qualifying conditions.
Claim 35
Dependent Claim 123 words
A computer program product in a computer-readable medium for use in a data processing system for monitoring execution performance of a program, the computer program product comprising: first instructions for selecting one or more trace qualifying conditions from the plurality of trace qualifying conditions; second instructions for detecting an occurrence of a selected event or a timer interrupt; third instructions for determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and fourth instructions for generating, in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, a trace record.
Claim 36
Dependent Claim 123 words
A computer program product in a computer-readable medium for use in a data processing system for monitoring execution performance of a program, the computer program product comprising: first instructions for selecting one or more trace qualifying conditions from the plurality of trace qualifying conditions; second instructions for detecting an occurrence of a selected event or a timer interrupt; third instructions for determining whether the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions; and fourth instructions for generating, in response to a determination that the selected event or timer interrupt satisfies a trace qualifying condition that has been previously selected from the plurality of trace qualifying conditions, a trace record.
Claim 37
Dependent Claim 41 words
The computer program product of claim 33 further comprising: instructions for determining whether a trace qualifying condition is active within the program; and instructions for generating, in response to a determination that the trace qualifying condition is active. a trace record.
Claim 38
Dependent Claim 20 words
The computer program product of claim 34 wherein currently active trace qualifying conditions are stored in a trace condition mask.
Claim 39
Dependent Claim 50 words
The computer program product of claim 35 further comprising: instructions for comparing tile trace condition mask and user-specified trace qualifying conditions; and instructions for determining whether to generate the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 40
Dependent Claim 29 words
The computer program product of claim 34 wherein the trace record comprises a trace condition mask indicating trace qualifying conditions that were active when the trace record was generated.
Claim 41
Dependent Claim 66 words
The computer program product of claim 37 further comprising: instructions for reading a trace record, wherein the trace record comprises a trace condition mask; instructions for comparing the trace condition mask and user-specified trace qualifying conditions; and instructions for determining whether to further process the trace record in response to a determination that the trace condition mask has at least one active user-specified trace qualifying condition.
Claim 42
Dependent Claim 54 words
The computer program product of claim 34 further comprising: instructions for generating, in response to user selection of one or more trace qualifying conditions, a user-specified trace mask, wherein the user-specified trace mask comprises a plurality of trace condition flags, wherein each trace condition flag represents a trace qualifying condition specified by the user.
Claim 43
Dependent Claim 35 words
The computer program product of claim 34 wherein a trace qualifying condition represents an active routine, wherein an active routine is a routine of the program that has been entered but has not been exited.
Claim 44
Dependent Claim 31 words
The computer program product of claim 34 wherein a trace qualifying condition represents an active execution condition, wherein an active execution condition is results in a positive comparison result when tested.
Claim 45
Dependent Claim 28 words
The computer program product of claim 41 wherein an execution condition is selected from the group consisting of: a kernel lock; a TCP/IP lock; or a boolean flag.
Claim 46
Dependent Claim 43 words
The computer program product of claim 34 wherein the instructions for selecting one or more trace qualifying conditions further comprises: instructions for allowing a user to choose trace qualifying conditions representing active routines within the program or active execution conditions within the program.
Claim 47
Dependent Claim 21 words
The computer program product of claim 43 further comprising: instructions for providing a graphical user interface for choosing trace qualifying conditions.
Claim 48
Dependent Claim 21 words
The computer program product of claim 43 further comprising: instructions for providing a command line interface for choosing trace qualifying conditions.
Claim 49
Dependent Claim 20 words
The computer program products of claim 34 wherein the trace record is generated by application code patched into the program.
Claim 50
Dependent Claim 18 words
The computer program product of claim 46 wherein the trace record is generated by an operating system kernel.
Claim 51
Dependent Claim 22 words
The computer program product of claim 47 wherein the operating system kernel has been compiled to include code supporting trace qualifying conditions.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-04-27 2007-10-27 2008-04-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-04-27 2011-10-27 2012-04-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-04-27 2015-10-27 2016-04-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag