Enterprise management system and method which includes statistical recreation of system resource usage for more accurate monitoring, prediction, and performance workload characterization
First Claim
1. A method for monitoring the state of a computer system, the method comprising:
- collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes of the one or more processes over the measurement interval;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes of the one or more processes over the measurement interval.
10 Assignments
0 Petitions
Accused Products
Abstract
A system and method for estimating statistics concerning system metrics to provide for the accurate and efficient monitoring of one or more computer systems. The system preferably comprises a distributed computing environment, i.e., an enterprise, which comprises a plurality of interconnected computer systems. At least one of the computer systems is an agent computer system which includes agent software and/or system software for the collection of data relating to one or more metrics, i.e., measurements of system resources. Metric data is continually collected over the course of a measurement interval, regularly placed into a registry of metrics, and then periodically sampled from the registry indirectly. Sampling-related uncertainty and inaccuracy arise from two primary sources: the unsampled residual segments of seen (i.e., sampled and therefore known) events, and unseen (i.e., unsampled and therefore unknown) events. The total unsampled utilization and the total unseen utilization are accurately estimated according to the properties of one or more process service time distributions. The total unseen utilization is also estimated with an iterative method using gradations of the sample interval. The length distribution of the unseen processes is determined with the same iterative method.
198 Citations
75 Claims
-
1. A method for monitoring the state of a computer system, the method comprising:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes of the one or more processes over the measurement interval;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes of the one or more processes over the measurement interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
wherein the statistically estimating a total uncaptured utilization Uuc further comprises: determining a process service time distribution, wherein the process service time distribution estimates a duration of one or more processes;
determining a quantity ncp of seen processes which follow the process service time distribution;
determining a mean residual time {overscore (r)} for the process service time distribution, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process;
determining the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
3. The method of claim 2,
wherein the determining a mean residual time {overscore (r)} further comprises: -
determining a conditional probability function Gt(r) for the process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determining the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
-
-
4. The method of claim 2,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an exponential distribution with a service rate λ - ;
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the exponential distribution with the service rate λ
;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
- ;
-
5. The method of claim 2,
wherein the determining a process service time distribution comprises determining that the process service time distribution is a uniform distribution between zero and a constant C; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
6. The method of claim 2,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an unknown distribution; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i.
-
-
7. The method of claim 2,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an unknown distribution; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
8. The method of claim 1,
wherein the statistically estimating a total uncaptured utilization Uuc further comprises: -
determining a plurality d of process service time distributions, wherein each process service time distribution j estimates a duration of one or more processes, wherein 1≦
j≦
d;
for each process service time distribution j, determining a quantity ncpj of seen processes which follow that process service time distribution j;
for each process service time distribution j, determining a mean residual time {overscore (r)}j for that process service time distribution j, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process which follows that process service time distribution j;
determining the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
9. The method of claim 8,
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises: -
determining a conditional probability function Gt(r) for each process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determining the mean residual time {overscore (r)}j according to the following equation;
wherein Δ
is the sample interval.
-
-
10. The method of claim 8,
wherein the determining a plurality of process service time distributions further comprises determining that one of the process service time distributions is an exponential distribution with a service rate λ - ;
wherein the determining a quantity ncpj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the exponential distribution with th e service rate λ
;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the exponential distribution with the service rate λ
according to the following equation;
wherein Δ
is the sample interval.
- ;
-
11. The method of claim 8,
wherein the determining a plurality of process service time distributions further comprises determining that one of the process service time distributions is a uniform distribution between zero and a constant C; -
wherein the determining a quantity ncpj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the uniform distribution between zero and C according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
12. The method of claim 8,
wherein the determining a plurality of process service time distributions further comprises determining that one of the process service time distributions is an unknown distribution; -
wherein the determining a quantity npcj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i, and wherein sil=0 for each unseen process and sil>
0 for each seen process.
-
-
13. The method of claim 8,
wherein the determining a plurality of process service time distributions further comprises determining that one of the process service time distributions is an unknown distribution; -
wherein the determining a quantity npcj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
14. The method of claim 1, further comprising:
-
determining a total captured utilization Uc, wherein the total captured utilization measures a total length of sampled segments for the one or more seen processes over the measurement interval;
determining a total measured utilization Um, wherein the total measured utilization Um measures a total length of all of the one or more processes over the measurement interval;
wherein the statistically estimating a total unseen utilization Uus further comprises determining the total unseen utilization Uus according to the following equation;
-
-
15. The method of claim 14,
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process; -
wherein the determining a total captured utilization Uc further comprises determining Uc according to the following equation;
wherein CP is a set of all seen processes, sim i is the last sampling time for each seen process iε
CP, bi is the beginning time for each seen process iε
CP, and L is the measurement interval.
-
-
16. The method of claim 1,
wherein the statistically estimating a total unseen utilization Uus further comprises: -
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets;
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each segment corresponds to a bucket.
-
-
17. The method of claim 1,
wherein the statistically estimating a total unseen utilization Uus further comprises: -
creating a plurality of buckets with m rows and n columns, wherein n is a maximum number of samples in the set of sampled data points for any particular process, wherein m is a multiple of n, and wherein the buckets are ordered from zero to m−
1;
placing each seen process into one of the plurality of buckets, wherein the bucket is labeled according to the following equation;
wherein t is a total quantity of samples in the set of sampled data points for this process, wherein i indicates one of equal divisions of the sample interval Δ
such thatestimating a total quantity of unseen processes for each of length segments of the sample interval Δ
, comprising;counting a total quantity fi of processes of the greatest length segment contained in the highest-numbered bucket which contains at least one process;
multiplying fi by m;
determining a fraction of m×
fi which are unseen processes;
iteratively estimating a total quantity of unseen processes for each lesser length segment of the sample interval Δ
, comprising;
counting an initial quantity of processes of the next lesser length segment contained in the next lower-numbered bucket;
calculating a difference of the initial quantity and a fraction of previously calculated longer processes;
calculating a product of the difference and m;
determining a fraction of the product which are unseen processes.
-
-
18. The method of claim 1, further comprising:
-
determining a length distribution of the unseen processes of a greatest length, comprising multiplying the total unseen utilization Uus by a first coefficient;
determining a length distribution of the unseen processes of a lesser length, comprising multiplying the total unseen utilization Uus by a second coefficient;
wherein the first coefficient and second coefficient are derived from an iterative method, wherein the iterative method comprises;
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets;
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each length segment corresponds to a bucket.
-
-
19. The method of claim 1,
wherein the memory is a registry of metrics. -
20. The method of claim 1,
wherein the collecting a set of raw data points, the storing the set of raw data points in a memory, and sampling the memory are performed continually and repetitively over the measurement interval. -
21. The method of claim 1,
wherein the collecting a set of raw data points is performed a plurality of times at a collecting frequency; -
wherein the sampling the memory is performed a plurality of times at a sampling frequency;
wherein the sampling frequency is less than the collecting frequency.
-
-
22. The method of claim 1,
wherein the collecting a set of raw data points, the storing the set of raw data points in a memory, the sampling the memory, the statistically estimating a total uncaptured utilization Uuc, and the statistically estimating a total unseen utilization Uus are performed on a single computer system. -
23. The method of claim 1,
wherein the collecting a set of raw data points is performed on a different computer system than the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus. -
24. The method of claim 1, further comprising:
modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
25. The method of claim 1, further comprising:
altering a configuration of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
26. A method for monitoring the state of a computer system, the method comprising:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes of the one or more processes over the measurement interval, comprising;
determining a plurality d of process service time distributions, wherein each process service time distribution j estimates a duration of one or more processes, wherein 1≦
j≦
d;
for each process service time distribution j, determining a quantity ncpj of seen processes which follow that process service time distribution j;
for each process service time distribution j, determining a mean residual time {overscore (r)}j for that process service time distribution j, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process which follows that process service time distribution j;
determining the total uncaptured utilization Uuc according to the following equation;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes of the one or more processes over the measurement interval;
modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
-
27. A method for monitoring the state of a computer system, the method comprising:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes over the measurement interval;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes over the measurement interval, comprising;
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets;
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each segment corresponds to a bucket;
modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
-
28. A system for monitoring the state of a computer system, the system comprising:
-
a CPU;
a system memory coupled to the CPU, wherein the system memory stores one or more computer programs executable by the CPU;
wherein the computer programs are executable to;
collect a set of raw data points over a measurement interval L, wherein the set of raw data points relates to a set of processes on the computer system;
store the set of raw data points in a memory;
sample the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimate a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes over the measurement interval;
statistically estimate a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes over the measurement interval. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
wherein in statistically estimating the total uncaptured utilization Uuc, the computer programs are executable to: determine a process service time distribution, wherein the process service time distribution estimates a duration of one or more processes;
determine a quantity ncp of seen processes which follow the process service time distribution;
determine a mean residual time {overscore (r)} for the process service time distribution, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process;
determine the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
30. The system of claim 29,
wherein in determining a mean residual time {overscore (r)}, the computer programs are further executable to: -
determining a conditional probability function Gt(r) for the process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determining the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
-
-
31. The system of claim 29,
wherein in determining a process service time distribution, the computer programs are executable to determine that the process service time distribution is an exponential distribution with a service rate λ - ;
wherein in determining a quantity ncp of seen processes, the computer programs are executable to determine a quantity ncp of seen processes which follow the exponential distribution with the service rate λ
;
wherein in determining a mean residual time {overscore (r)}, the computer programs are executable to determine the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
- ;
-
32. The system of claim 29,
wherein in determining a process service time distribution, the computer programs are executable to determine that the process service time distribution is a uniform distribution between zero and a constant C; -
wherein in determining a quantity ncp of seen processes, the computer programs are executable to determine a quantity ncp of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein in determining a mean residual time {overscore (r)}, the computer programs are executable to determine the mean residual time {overscore (r)} according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
33. The system of claim 29,
wherein in determining a process service time distribution, the computer programs are executable to determine that the process service time distribution is an unknown distribution; -
wherein in determining a quantity ncp of seen processes, the computer programs are executable to determine a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein in determining a mean residual time {overscore (r)}, the computer programs are executable to determine the mean residual time {overscore (r)} according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i.
-
-
34. The system of claim 29,
wherein in determining a process service time distribution, the computer programs are executable to determine that the process service time distribution is an unknown distribution; -
wherein in determining a quantity ncp of seen processes, the computer programs are executable to determine a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein in determining a mean residual time {overscore (r)}, the computer programs are executable to determine the mean residual time {overscore (r)} according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
35. The system of claim 28,
wherein in statistically estimating a total uncaptured utilization Uuc, the computer programs are executable to: -
determine a set d of process service time distributions, wherein each process service time distribution j estimates a duration of one or more processes, wherein 1≦
j≦
d;
for each process service time distribution j, determine a quantity ncpj of seen processes which follow that process service time distribution j;
for each process service time distribution j, determine a mean residual time {overscore (r)}j for that process service time distribution j, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process which follows that process service time distribution j;
determine the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
36. The system of claim 35,
wherein in determining a mean residual time {overscore (r)}j for each process service time distribution, the computer programs are executable to: -
determine a conditional probability function Gt(r) for each process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determine the mean residual time {overscore (r)}j according to the following equation;
wherein Δ
is the sample interval.
-
-
37. The system of claim 35,
wherein in determining a set of process service time distributions, the computer programs are executable to determine that one of the process service time distributions is an exponential distribution with a service rate λ - ;
wherein in determining a quantity ncpj of seen processes for each process service time distribution, the computer programs are executable to determine a quantity ncpj of seen processes which follow the exponential distribution with the service rate λ
;
wherein in determining a mean residual time {overscore (r)}j for each process service time distribution, the computer programs are executable to determine the mean residual time {overscore (r)}j for the exponential distribution with the service rate λ
according to the following equation;
wherein Δ
is the sample interval.
- ;
-
38. The system of claim 35,
wherein in determining a set of process service time distributions, the computer programs are executable to determine that one of the process service time distributions is a uniform distribution between zero and a constant C; -
wherein in determining a quantity ncpj of seen processes for each process service time distribution, the computer programs are executable to determine a quantity ncpj of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein in determining a mean residual time {overscore (r)}j for each process service time distribution, the computer programs are executable to determine the mean residual time {overscore (r)}j for the uniform distribution between zero and C according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
39. The system of claim 35,
wherein in determining a set of process service time distributions, the computer programs are executable to determine that one of the process service time distributions is an unknown distribution; -
wherein in determining a quantity ncpj of seen processes for each process service time distribution, the computer programs are executable to determine a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein in determining a mean residual time {overscore (r)}j for each process service time distribution, the computer programs are executable to determine the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i, and wherein sil=0 for each unseen process and sil>
0 for each seen process.
-
-
40. The system of claim 35,
wherein in determining a set of process service time distributions, the computer programs are executable to determine that one of the process service time distributions is an unknown distribution; -
wherein in determining a quantity ncpj of seen processes for each process service time distribution, the computer programs are executable to determine a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein in determining a mean residual time {overscore (r)}j for each process service time distribution, the computer programs are executable to determine the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
41. The system of claim 28,
wherein the computer programs are further executable to: -
determine a total captured utilization Uc, wherein the total captured utilization measures a total length of sampled segments for one or more seen processes of over the measurement interval;
determine a total measured utilization Um, wherein the total measured utilization Um measures a total length of all of the one or more processes over the measurement interval;
wherein in statistically estimating a total unseen utilization Uus, the computer programs are executable to determine the total unseen utilization Uus according to the following equation;
-
-
42. The system of claim 41,
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process; -
wherein in determining a total captured utilization Uc, the computer programs are executable to determine Uc according to the following equation;
wherein CP is a set of all seen processes, Sim i is the last sampling time for each seen process iε
CP, bi is the beginning time for each seen process iε
CP, and L is the measurement interval.
-
-
43. The system of claim 28,
wherein in statistically estimating a total unseen utilization Uus, the computer programs are executable to: -
create a plurality of buckets;
place each seen process into one of the plurality of buckets;
estimate a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each segment corresponds to a bucket.
-
-
44. The system of claim 28,
wherein in statistically estimating a total unseen utilization Uus, the computer programs are executable to: -
create a plurality of buckets with m rows and n columns, wherein n is a maximum number of samples in the set of sampled data points for any particular process, wherein m is a multiple of n, and wherein the buckets are ordered from zero to m−
1;
place each seen process into one of the plurality of buckets, wherein the bucket is labeled according to the following equation;
wherein t is a total quantity of samples in the set of sampled data points for this process, wherein i indicates one of equal divisions of the sample interval Δ
such thatestimate a total quantity of unseen processes for each of m/n length segments of the sample interval Δ
, wherein the computer programs are executable to;
count a total quantity fi of processes of the greatest length segment contained in the highest-numbered bucket which contains at least one process;
multiply fi by m;
determine a fraction of m×
fi which are unseen processes;
iteratively estimate a total quantity of unseen processes for each lesser length segment of the sample interval Δ
, wherein the computer programs are executable to;
count an initial quantity of processes of the next lesser length segment contained in the next lower-numbered bucket;
calculate a difference of the initial quantity and a fraction of previously calculated longer processes;
calculate a product of the difference and m;
determine a fraction of the product which are unseen processes.
-
-
45. The system of claim 28,
wherein the computer programs are further executable to: -
determine a length distribution of the unseen processes of a greatest length, comprising multiplying the total unseen utilization Uus by a first coefficient;
determine a length distribution of the unseen processes of a lesser length, comprising multiplying the total unseen utilization Uus by a second coefficient;
wherein the first coefficient and second coefficient are derived from an iterative method, wherein in performing the iterative method to determine the first coefficient and second coefficient, the computer programs are executable to;
create a plurality of buckets;
place each seen process into one of the plurality of buckets;
estimate a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each length segment corresponds to a bucket.
-
-
46. The system of claim 28,
wherein the memory comprises a registry of metrics. -
47. The system of claim 28,
wherein the computer programs are further executable to modify a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus. -
48. The system of claim 28,
wherein the computer programs are further executable to alter a configuration of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
49. A memory medium which stores program instructions for monitoring the state of a computer system, wherein the program instructions are executable to implement:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to a one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes over the measurement interval;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes over the measurement interval. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
wherein the statistically estimating a total uncaptured utilization Uuc further comprises: determining a process service time distribution, wherein the process service time distribution estimates a duration of one or more processes;
determining a quantity ncp of seen processes which follow the process service time distribution;
determining a mean residual time {overscore (r)} for the process service time distribution, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process; and
determining the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
51. The memory medium of claim 50,
wherein the determining a mean residual time {overscore (r)} further comprises: -
determining a conditional probability function Gt(r) for the process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determining the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
-
-
52. The memory medium of claim 50,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an exponential distribution with a service rate λ - ;
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the exponential distribution with the service rate λ
;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein Δ
is the sample interval.
- ;
-
53. The memory medium of claim 50,
wherein the determining a process service time distribution comprises determining that the process service time distribution is a uniform distribution between zero and a constant C; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
54. The memory medium of claim 50,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an unknown distribution; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i.
-
-
55. The memory medium of claim 50,
wherein the determining a process service time distribution comprises determining that the process service time distribution is an unknown distribution; -
wherein the determining a quantity ncp of seen processes comprises determining a quantity ncp of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)} further comprises determining the mean residual time {overscore (r)} according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
56. The memory medium of claim 49,
wherein the statistically estimating a total uncaptured utilization Uuc further comprises: -
determining a set d of process service time distributions, wherein each process service time distribution j estimates a duration of one or more processes, wherein 1≦
j≦
d;
for each process service time distribution j, determining a quantity ncpj of seen processes which follow that process service time distribution j;
for each process service time distribution j, determining a mean residual time {overscore (r)}j for that process service time distribution j, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process which follows that process service time distribution j; and
determining the total uncaptured utilization Uuc according to the following equation;
wherein L is the measurement interval.
-
-
57. The memory medium of claim 56,
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises: -
determining a conditional probability function Gt(r) for each process service time distribution, wherein Gt(r) is a conditional probability that a residual time R≦
r, given that a process time X>
t, wherein t is the last sampling time and r is a difference between the last sampling time and a process ending time, and wherein Gt(r) is determined according to the following equation;
determining the mean residual time {overscore (r)}j according to the following equation;
wherein Δ
is the sample interval.
-
-
58. The memory medium of claim 56,
wherein the determining a set of process service time distributions further comprises determining that one of the process service time distributions is an exponential distribution with a service rate λ - ;
wherein the determining a quantity ncpj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the exponential distribution with the service rate λ
;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the exponential distribution with the service rate λ
according to the following equation;
wherein Δ
is the sample interval.
- ;
-
59. The memory medium of claim 56,
wherein the determining a set of process service time distributions further comprises determining that one of the process service time distributions is a uniform distribution between zero and a constant C; -
wherein the determining a quantity ncpj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the uniform distribution between zero and C;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the uniform distribution between zero and C according to the following equation;
wherein t is the average difference between the last sampling time and the beginning time for the seen processes which follow the uniform distribution between zero and C, wherein 0≦
t≦
C, and wherein Δ
is the sample interval.
-
-
60. The memory medium of claim 56,
wherein the determining a set of process service time distributions further comprises determining that one of the process service time distributions is an unknown distribution; -
wherein the determining a quantity ncpj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein n is a total quantity of processes, sil is the first sampling time for each process i, and bi is a beginning time for each process i, and wherein sil=0 for each unseen process and sil>
0 for each seen process.
-
-
61. The memory medium of claim 56,
wherein the determining a set of process service time distributions further comprises determining that one of the process service time distributions is an unknown distribution; -
wherein the determining a quantity npcj of seen processes for each process service time distribution further comprises determining a quantity ncpj of seen processes which follow the unknown distribution;
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process;
wherein the determining a mean residual time {overscore (r)}j for each process service time distribution further comprises determining the mean residual time {overscore (r)}j for the unknown distribution according to the following equation;
wherein CP is a set of all seen processes which follow the unknown distribution and sil is the first sampling time for each seen process iε
CP.
-
-
62. The memory medium of claim 49,
wherein the program instructions further implement: -
determining a total captured utilization Uc, wherein the total captured utilization measures a total length of sampled segments for the one or more seen processes over the measurement interval; and
determining a total measured utilization Um, wherein the total measured utilization measures a total length of all of the one or more processes over the measurement interval;
wherein the statistically estimating a total unseen utilization Uus further comprises determining the total unseen utilization Uus according to the following equation;
-
-
63. The memory medium of claim 62,
wherein each process has a beginning time, and wherein the set of sampled data points includes the beginning time bi for each seen process; -
wherein the determining a total captured utilization Uc further comprises determining Uc according to the following equation;
wherein CP is a set of all seen processes, sim i is the last sampling time for each seen process iε
CP, bi is the beginning time for each seen process iε
CP, and L is the measurement interval.
-
-
64. The memory medium of claim 49,
wherein the statistically estimating a total unseen utilization Uus further comprises: -
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets; and
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each segment corresponds to a bucket.
-
-
65. The memory medium of claim 49,
wherein the statistically estimating a total unseen utilization Uus further comprises: -
creating a plurality of buckets with m rows and n columns, wherein n is a maximum number of samples in the set of sampled data points for any particular process, wherein m is a multiple of n, and wherein the buckets are ordered from zero to m−
1;
placing each seen process into one of the plurality of buckets, wherein the bucket is labeled according to the following equation;
wherein t is a total quantity of samples in the set of sampled data points for this process, wherein i indicates one of equal divisions of the sample interval Δ
such thatand estimating a total quantity of unseen processes for each of length segments of the sample interval Δ
, comprising;counting a total quantity fi of processes of the greatest length segment contained in the highest-numbered bucket which contains at least one process;
multiplying fi by m;
determining a fraction of m×
fi which are unseen processes; and
iteratively estimating a total quantity of unseen processes for each lesser length segment of the sample interval Δ
, comprising;
counting an initial quantity of processes of the next lesser length segment contained in the next lower-numbered bucket;
calculating a difference of the initial quantity and a fraction of previously calculated longer processes;
calculating a product of the difference and m; and
determining a fraction of the product which are unseen processes.
-
-
66. The memory medium of claim 49,
wherein the program instructions further implement: -
determining a length distribution of the unseen processes of a greatest length, comprising multiplying the total unseen utilization Uus by a first coefficient; and
determining a length distribution of the unseen processes of a lesser length, comprising multiplying the total unseen utilization Uus by a second coefficient;
wherein the first coefficient and second coefficient are derived from an iterative method, wherein the iterative method comprises;
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets; and
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each length segment corresponds to a bucket.
-
-
67. The memory medium of claim 49,
wherein the memory comprises a registry of metrics. -
68. The memory medium of claim 49,
wherein the collecting a set of raw data points, the storing the set of raw data points in a memory, and sampling the memory are performed continually and repetitively over the measurement interval. -
69. The memory medium of claim 49,
wherein the collecting a set of raw data points is performed a plurality of times at a collecting frequency; -
wherein the sampling the memory is performed a plurality of times at a sampling frequency;
wherein the sampling frequency is less than the collecting frequency.
-
-
70. The memory medium of claim 49,
wherein the collecting a set of raw data points, the storing the set of raw data points in a memory, the sampling the memory, the statistically estimating a total uncaptured utilization Uuc, and the statistically estimating a total unseen utilization Uus are performed on a single computer system. -
71. The memory medium of claim 49,
wherein the collecting a set of raw data points is performed on a different computer system than the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus. -
72. The memory medium of claim 49,
wherein the programs instructions further implement modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus. -
73. The memory medium of claim 49,
wherein the programs instructions further implement altering a configuration of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
74. A memory medium which stores program instructions for monitoring the state of a computer system, wherein the program instructions are executable to implement:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes of the one or more processes over the measurement interval, comprising;
determining a set d of process service time distributions, wherein each process service time distribution j estimates a duration of one or more processes, wherein 1≦
j≦
d;
for each process service time distribution j, determining a quantity ncpj of seen processes which follow that process service time distribution j;
for each process service time distribution j, determining a mean residual time {overscore (r)}j for that process service time distribution j, wherein the mean residual time estimates a length of an uncaptured residual segment for each seen process which follows that process service time distribution j; and
determining the total uncaptured utilization Uuc according to the following equation;
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes of the one or more processes over the measurement interval; and
modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
-
75. A memory medium which stores program instructions for monitoring the state of a computer system, wherein the program instructions are executable to implement:
-
collecting a set of raw data points over a measurement interval L, wherein the set of raw data points relates to one or more processes on the computer system;
storing the set of raw data points in a memory;
sampling the memory repetitively at a sample interval Δ
to create a set of sampled data points, wherein processes which are included in the set of sampled data points are seen processes and processes which are not included in the set of sampled data points are unseen processes, and wherein the set of sampled data points includes a first sampling time and a last sampling time for each seen process;
statistically estimating a total uncaptured utilization Uuc, wherein the total uncaptured utilization is an estimation of a total length of unsampled segments for the seen processes over the measurement interval; and
statistically estimating a total unseen utilization Uus, wherein the total unseen utilization is an estimation of a total length of the unseen processes over the measurement interval, comprising;
creating a plurality of buckets;
placing each seen process into one of the plurality of buckets;
estimating a total quantity of unseen processes for each of a plurality of equal length segments of the sample interval Δ
, wherein each segment corresponds to a bucket; and
modifying a model of the computer system based on the statistically estimating a total uncaptured utilization Uuc and the statistically estimating a total unseen utilization Uus.
-
Specification