Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
162 words
A method of determining execution time for a portion of software, comprising: (a) obtaining a first time stamp value at a beginning of the portion while obtaining a first deltaout value for a deltaout parameter, said first deltaout value being indicative of an amount of time the portion has been swapped out prior to the first time stamp value; (b) obtaining a second time stamp value at an end of the portion while obtaining a second deltaout value for the deltaout parameter, said second deltaout value being indicative of an amount of time the portion has been swapped out prior to the second time stamp value; (c) adjusting at least one of the first and second time stamp values using the first and second deltaout values to compensate for any amount of time that the portion was swapped out in a multitasking operating system; and (d) subtracting the first time stamp value from the second time stamp value to determine execution time.
Claim 2
Independent Claim
162 words
A method of determining execution time for a portion of software, comprising: (a) obtaining a first time stamp value at a beginning of the portion while obtaining a first deltaout value for a deltaout parameter, said first deltaout value being indicative of an amount of time the portion has been swapped out prior to the first time stamp value; (b) obtaining a second time stamp value at an end of the portion while obtaining a second deltaout value for the deltaout parameter, said second deltaout value being indicative of an amount of time the portion has been swapped out prior to the second time stamp value; (c) adjusting at least one of the first and second time stamp values using the first and second deltaout values to compensate for any amount of time that the portion was swapped out in a multitasking operating system; and (d) subtracting the first time stamp value from the second time stamp value to determine execution time.
Claim 3
Dependent Claim
69 words
A method, according to claim 1, further comprising: (e) initializing the deltaout parameter to zero prior to the portion being run for the first time; (f) incrementing the deltaout parameter by an amount of time the portion is swapped out; (g) compensating the first time stamp value by subtracting the first deltaout value therefrom; and (h) compensating the second time stamp value by subtracting the second deltaout value therefrom.
Claim 4
Dependent Claim
53 words
A method, according to claim 1, further comprising: (e) prior to the portion being run for the first time, causing calls to a context swapping operating system routine to also execute a hook routine that determines when the portion is becoming a running portion and when the portion is becoming a non-running portion.
Claim 5
Dependent Claim
37 words
A method, according to claim 3, wherein a pointer to the hook routine is provided as a parameter to an operating system routine that causes calls to the context swapping routine to also call the hook routine.
Claim 6
Dependent Claim
32 words
A method, according to claim 3, wherein a pointer to the hook routine is written to a location for a pointer for a function that is called by the context swapping routine.
Claim 7
Dependent Claim
21 words
A method, according to claim 3, wherein the context swapping routine is patched to cause a jump to the hook routine.
Claim 8
Dependent Claim
34 words
A method, according to claim 1, further comprising: (e) providing a driver having an entry point that is called each time the portion is swapped in and each time the portion is swapped out.
Claim 9
Dependent Claim
21 words
A method, according to claim 7, wherein the driver is a kernel mode driver in a Windows NT operating system environment.
Claim 10
Dependent Claim
20 words
A method, according to claim 7, wherein the driver is a virtual driver in a Windows 95 operating system environment.
Claim 11
Dependent Claim
33 words
A method, according to claim 7, wherein the portion is part of a thread and wherein the driver is called each time a thread is created and each time a thread is terminated.
Claim 12
Dependent Claim
36 words
A method, according to claim 7, further comprising: (f) creating data that is accessable by the driver and by the application, the data indicating an amount of time that each thread being monitored is swapped out.
Claim 13
Dependent Claim
69 words
A method, according to claim 11, further comprising: (g) initializing the deltaout parameter to zero prior to the portion being run for a first time; (h) incrementing the deltaout parameter by an amount of time the portion is swapped out; (i) compensating the first time stamp value by subtracting the first deltaout value therefrom; and (j) compensating the second time stamp value by subtracting the second deltaout value therefrom.
Claim 14
Dependent Claim
160 words
A computer program profiler, comprising: (a) means for obtaining a first time stamp value at a beginning of a portion of software while obtaining a first deltaout value for a deltaout parameter, said first deltaout value being indicative of an amount of the portion has been swapped out prior to the first time stamp value, (b) means for obtaining a second time stamp value at an end of the position while obtaining a second deltaout value, said second deltaout value being indicative of an amount of time the portion has been swapped out prior to the second time stamp value, (c) means for adjusting at least one of the first and second time stamp values using the first and second deltaout values to compensate for any amount of time that the portion is swapped out in a multitasking operating system; and (d) means for subtracting the first time stamp value from the second time stamp value to determine execution time.
Claim 15
Dependent Claim
160 words
A computer program profiler, comprising: (a) means for obtaining a first time stamp value at a beginning of a portion of software while obtaining a first deltaout value for a deltaout parameter, said first deltaout value being indicative of an amount of the portion has been swapped out prior to the first time stamp value, (b) means for obtaining a second time stamp value at an end of the position while obtaining a second deltaout value, said second deltaout value being indicative of an amount of time the portion has been swapped out prior to the second time stamp value, (c) means for adjusting at least one of the first and second time stamp values using the first and second deltaout values to compensate for any amount of time that the portion is swapped out in a multitasking operating system; and (d) means for subtracting the first time stamp value from the second time stamp value to determine execution time.
Claim 16
Dependent Claim
77 words
A profiler, according to claim 13, further comprising: (e) means for initializing the deltaout parameter to zero prior to the portion being run for a first time; (f) means for incrementing the deltaout parameter by an amount of time the portion is swapped out; (g) means for compensating the first time stamp value by subtracting the first deltaout value therefrom; and (h) means for compensating the second time stamp value by subtracting the second deltaout value therefrom.
Claim 17
Dependent Claim
45 words
A profiler, according to claim 13, further comprising: (e) means for causing calls to a context swapping operating system routine to also execute a hook routine that determines when the portion is becoming a running portion and when the portion is becoming a non-running portion.
Claim 18
Dependent Claim
37 words
A profiler, according to claim 15, wherein a pointer to the hook routine is provided as a parameter to an operating system routine that causes calls to the context swapping routine to also call the hook routine.
Claim 19
Dependent Claim
32 words
A profiler, according to claim 15, wherein a pointer to the hook routine is written to a location for a pointer for a function that is called by the context swapping routine.
Claim 20
Dependent Claim
21 words
A profiler, according to claim 15, wherein the context swapping routine is patched to cause a jump to the hook routine.
Claim 21
Dependent Claim
36 words
A profiler, according to claim 13, further comprising: (e) means for providing a driver having an entry point that is called each time the portion is swapped in and each time the portion is swapped out.
Claim 22
Dependent Claim
21 words
A profiler, according to claim 19, wherein the driver is a kernel mode driver in a Windows NT operating system environment.
Claim 23
Dependent Claim
20 words
A profiler, according to claim 19, wherein the driver is a virtual driver in a Windows 95 operating system environment.
Claim 24
Dependent Claim
37 words
A profiler, according to claim 19, wherein the portion is a part of a thread and wherein the driver is called by the application each time a thread is created and each time a thread is terminated.
Claim 25
Dependent Claim
37 words
A profiler, according to claim 19, further comprising: (f) means for creating data that is accessable by the driver and the application, the data indicating an amount of time that each thread being monitored is swapped out.
Claim 26
Dependent Claim
84 words
A profiler, according to claim 23, further comprising: (g) means for initializing the deltaout parameter to zero prior to the portion being run for a first time; (h) means for incrementing the deltaout parameter by an amount of time the portion is swapped out each time the portion is swapped out; (i) means for compensating the first time stamp value by subtracting the first deltaout value therefrom; and (j) means for compensating the second time stamp value by subtracting the second deltaout value therefrom.