IP Library Granted Patent US 7,752,303
Granted Patent B2
US 7,752,303 · App. 11/361,815 · Granted Jul 6, 2010

Data reporting using distribution estimation

Assignee: Wily Technology, Inc.
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,752,303
App. No.
11/361,815
Granted
Jul 6, 2010
Kind
B2
Abstract

Application data is reported in response to monitoring an application transaction. Application data is obtained for an initial period of time. A function which estimates the application data is then identified for the reported application data. After identifying the function, subsequent application data is obtained, and function data is generated from the subsequent application data. The function data may be associated with function parameters associated with the identified function. A function can then be constructed from the reported function data. The function constructed from the function data may estimate application data associated with the monitored transactions.

Claims (79)

1. A machine implemented method for reporting data, comprising:

receiving application data for an initial period of time, the application data is received at a processing module on a first server from performance monitoring code inserted into an application that executes on a second server, the application data pertains to performance of the application;

selecting a type of probability distribution, from among a plurality of types of probability distributions, that characterizes the received application data, the selected type of probability distribution has one or more parameters, the selection made by the processing module at the first server;

transferring information from the first server to the performance monitoring code on the second server that identifies the one or more parameters;

accessing subsequent application data that pertains to performance of the application after the initial period of time by the performance monitoring code;

determining values for the one or more parameters for the subsequent application data by the performance monitoring code; and

providing the determined values to the processing module at the first server.

2. The method of claim 1 , wherein said step of selecting a type of distribution includes:

identifying a best fitting type of distribution from the plurality of types of distributions.

3. The method of claim 1 , further comprising:

receiving a request at the first server that specifies a range of values; and

estimating the percentage of the subsequent application data that is within the range of values in the request based on the determined values for the selected type of probability distribution that were provided to the processing module.

4. The method of claim 3 , wherein the plurality of types of probability distributions include Gaussian, chi-squared, Rayleigh, Cauchy, Weibull, and exponential.

5. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:

receiving application data at a first server from performance monitoring code inserted into an application at a second server, the application data pertains to performance of the application for an initial period of time;

selecting a type of probability distribution, from among a plurality of types of probability distributions, that characterizes the received application data, the selected type of probability distribution has one or more parameters;

transferring information that identifies the one or more parameters from the first server to the performance monitoring code on the second server;

accessing subsequent application data that pertains to performance of the application after the initial period of time by the performance monitoring code; and

determining values for the one or more parameters for the subsequent application data by the performance monitoring code; and

providing the determined values to the first server.

6. The one or more processor readable storage devices of claim 5 , wherein the application data is associated with one or more instances of a type of transaction.

7. The one or more processor readable storage devices of claim 5 , wherein said step of selecting a type of probability distribution includes:

removing a portion of the received application data associated with erroneous transactions.

8. The one or more processor readable storage devices of claim 7 , wherein said erroneous transactions include stalled transactions.

9. The one or more processor readable storage devices of claim 5 , wherein said step of selecting a type of probability distribution includes:

comparing two or more types of probability distributions to the application data; and

determining a percentage of error associated with the comparison for each type of probability distribution.

10. The one or more processor readable storage devices of claim 5 , wherein said processor readable code is further for programming said one or more processors to perform:

receiving a request that specifies a range of values; and

estimating the percentage of the subsequent application data that is within the range of values in the request based on the determined values for the one or more parameters of the selected type of distribution.

11. An apparatus for processing data, comprising:

a communication interface;

a storage device; and

one or more processors in communication with said storage device and said communication interface, said one or more processors perform a method comprising;

receiving application data from performance monitoring code inserted into an application at a remote server, the application data pertains to performance of the application for an initial period of time;

selecting a type of probability distribution, from among a plurality of types of probability distributions, that characterizes the received application data, the selected type of probability distribution has one or more parameters;

transferring information that identifies the one or more parameters from the apparatus to the remote server; and

receiving values for the one or more parameters at the apparatus from the remote server, the values pertain to subsequent performance of the application at the remote server.

12. The apparatus of claim 11 wherein said step of selecting a type of probability distribution includes:

selecting a type of distribution which best approximates the application data.

13. The apparatus of claim 11 , wherein said step of selecting a type of probability distribution includes:

removing selected application data associated with one or more erroneous transactions from the application data.

14. The apparatus of claim 11 , wherein said step of selecting a type of probability distribution includes:

determining a best fitting type of distribution to the application data.

15. The apparatus of claim 11 , wherein said method further comprises:

identifying parameters for the determined type of distribution,

calculating values for the parameters for the determined type of distribution a second set of application data,

receiving a request that specifies a range of values, and

estimating the percentage of the second set of application data that is within the range of values in the request based on the calculated values for the parameters.

16. The apparatus of claim 15 , the method further comprising:

providing the percentage of the second set of application data to a user.

17. A machine implemented method for reporting data, comprising:

inserting monitoring code into an application;

determining initial application data from an application by the monitoring code, the initial application data characterizes performance of the application for an initial period of time;

transferring the initial application data to a remote server by the monitoring code;

receiving parameters for a probability distribution that characterizes the initial application data, the parameters received by the monitoring code;

determining subsequent application data from the application by the monitoring code;

determining values for the parameters for the subsequent application data by the monitoring code; and

reporting the values to the remote server by the monitoring code.

18. The method of claim 17 wherein said step of retrieving application data includes:

receiving response time data associated with a transaction.

19. The method of claim 17 , further comprising:

receiving a request that specifies a range of values; and

estimating the percentage of the subsequent application data that is within the range of values in the request based on the reported values for the probability distribution.

20. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:

determining, by performance monitoring code, initial application data that pertains to performance of an application for an initial period of time;

sending the initial application data from the monitoring code to a processing module on a remote server;

receiving, by the monitoring code, parameters for a probability distribution that characterizes the initial application data;

determining subsequent application data from the application by the monitoring code;

determining values for the parameters for the subsequent application data by the monitoring code; and

reporting the values to the processing module on the remote server by the monitoring code.

21. The one or more processor readable storage devices according to claim 20 , further comprising:

periodically sending function data to the processing module, the periodically sending function data includes:

receiving additional sets of application data by the performance monitoring code;

determining, by the performance monitoring code, additional values for the parameters for each of the additional sets of subsequent application data; and

reporting the additional values to the processing module by the code.

22. The one or more processor readable storage devices according to claim 20 wherein said step of determining values for the parameters includes:

determining total mean data, total count data and sum of squares data for the subsequent application data received after the initial period of time, the determining values is performed by the monitoring code.

23. The one or more processor readable storage devices according to claim 20 , wherein the initial application data and the subsequent application data pertain to instances of a type of transaction that is processed by the application.

Assignments (3)
MERGER Recorded Apr 15, 2012
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 028047/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2007
From: WILY TECHNOLOGY, INC.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 019140/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2006
From: PERACHA, ZAHUR; SODHI, RAJPAL SINGH; BANSAL, JYOTI
To: WILY TECHNOLOGY, INC.
Reel/Frame 017290/0708 →
Continuity (1)
Related Publication 20070198699A1 · Aug 23, 2007