IP Library Granted Patent US 6,876,988
Granted Patent B2
US 6,876,988 · App. 09/811,163 · Granted Apr 5, 2005

Enhanced computer performance forecasting system

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 6,876,988
App. No.
09/811,163
Granted
Apr 5, 2005
Kind
B2
Abstract

A method and system for computing a performance forecast for an e-business system or other computer architecture to proactively manage the system to prevent system failure or slow response time. The system is adapted to obtain measured input values from a plurality of internal data sources and external data sources to predict a system's performance especially under unpredictable and dramatically changing traffic levels in an effort to proactively manage the system to avert system malfunction or slowdown. The performance forecasting system can include both intrinsic and extrinsic variables as predictive inputs. Intrinsic variables include measurements of the systems own performance, such as component activity levels and system response time. Extrinsic variables include other factors, such as the time and date, whether an advertising campaign is underway, and other demographic factors that may effect or coincide with increased network traffic.

Claims (73)

1. A method for computing a performance forecast for a computer system including a plurality of components comprising the steps of, for each of a plurality of successive time intervals:

obtaining input values correlated to activity associated with the components;

retrieving learned parameters defining mathematical relationships for computing the performance forecast based on the measured input values;

computing a performance forecast for the computer system based on the input values and the connection specifications; and

automatically updating the learned parameters based on the input values.

2. The method of claim 1 , further comprising the steps of:

determining a tolerance band for the performance of the computer system for a plurality of near-term time intervals;

determining whether the performance forecast for the computer system falls outside the tolerance band; and

automatically implementing one or more response actions if the performance forecast for the computer system falls outside the tolerance band.

3. The method of claim 2 , wherein the response actions are selected from the group including activating an alarm condition, imputing missing or deviant input values, reallocating communication resources, reallocating processing resources, changing system configuration settings, discontinuing non-critical system functions, restarting an application, and changing an advertising program.

4. The method of claim 3 , wherein activating an alarm condition includes activating an alarm condition in response to a user-specified alarm criterion.

5. The method of claim 4 , wherein the user-specified alarm criterion is selected from the group including a user defined performance threshold and imputing input values.

6. The method of claim 3 , further comprising the step of automatically implementing one or more of the response actions in response to a forecasted system slowdown or failure.

7. The method of claim 1 , wherein the step of obtaining the input values includes the step of communicating with one or more computer system monitoring agents to obtain measured input values representative of performance of the components of the computer system.

8. The method of claim 7 , wherein the step of obtaining the measured input values includes the step of pinging the computer system to obtain a measured response time.

9. The method of claim 7 , further comprising the steps of:

displaying indicators representative of the input values;

displaying indicators representative of the components; and

displaying at least one status representative of the performance forecast for the computer system.

10. The method of claim 9 , wherein the components indicators represent the response time at a web server, the response time at an application server, and the response time at a database server.

11. The method of claim 10 , wherein the step of obtaining input values includes the steps of:

receiving a first measured input value representative of response time at a web server from a first monitoring agent;

receiving a second measured input value representative of response time at an applications server from a second monitoring agent; and

receiving a third measured input value representative of response time at a database server from a third monitoring agent.

12. The method of claim 11 , wherein the step of obtaining input values includes the step of communicating with data sources external to the computer system for external input values.

13. The method of claim 12 , wherein the external input values are representative of demographic factors selected from the group including time, date, season, advertising scheduling, methodology of advertising; telephone traffic; day, week, year, holiday, weather, news, sports events, and television programming.

14. The method of claim 1 , wherein:

the learned parameters include connection weights defining elements of an inverse covariance matrix; and

the step automatically updating the learned parameters includes the steps of automatically updating the connection weights in a covariance matrix corresponding to the inverse covariance matrix, and inverting the updated covariance matrix.

15. The method of claim 1 , wherein:

the learned parameters include connection weights defining elements of an inverse covariance matrix; and

the method step of automatically updating the learned parameters comprises the step of automatically updating the connection weights of the inverted covariance matrix.

16. A computer storage medium, or a group of computer storage media, comprising computer-executable instructions for performing the method of claim 1 .

17. A method of computing a performance forecast for a computer system including a plurality of components, comprising the steps of, for each of a plurality of successive time intervals:

obtaining one or more input values for a current time interval;

retrieving learned parameters defining mathematical relationships for computing the performance forecast based on the measured input values;

computing the performance forecast for the computer system based on the measured input values and the learned parameters;

automatically updating the learned parameters based on the measured input values for the current time interval;

determining a tolerance band for the performance of the computer system for a plurality of time intervals;

determining whether the performance forecast for the computer system falls outside the tolerance band; and

taking one or more response actions in response to the performance forecasted for the computer system selected from the group including activating an alarm condition, imputing missing or deviant input values, reallocating communication resources, reallocating processing resources, restarting an application, changing system configuration settings, discontinuing non-critical system functions, and changing an advertising program.

18. The method of claim 17 , wherein one or more of the input values are representative of measured response times for internal components of the computer system selected from the group including a web server, an application server, and a database server.

19. The method of claim 18 , wherein one or more of the input values are representative of external demographic factors selected from the group including time, date, season, advertising scheduling, methodology of advertising; telephone traffic; day, week, year, holiday, weather, news, sports events, and television programming.

20. A system for monitoring and proactively managing a network-based computer system, comprising:

an error detection and correction module operative to compute an error-corrected input data vector by:

receiving input values for a current time interval,

detecting deviant or missing data values among the measured input values, and

imputing replacement data values to replace the deviant or missing data values;

a concurrent-learning information processor operative to:

receive the error-corrected input data vector for the current time interval,

retrieve a set of learned parameters representing observed relationships among the measured input values and a set of output values,

compute the set of output values based on the error-corrected input data vector and the learned parameters, and

update the learned parameters based on the measured input values for the current time interval; and

a reporting user interface operative to:

compute a performance forecast for the computer system based on the set of output values for the current time interval,

compare the performance forecast to a tolerance band, and

take one or more response actions in response to the performance forecast selected from the group including activating an alarm condition, imputing a missing or deviant input value, reallocating communication resources, reallocating processing resources, changing system configuration settings, discontinuing non-critical system functions, restarting an application, and changing an advertising program.

21. The system of claim 20 , wherein one or more of the input values are representative of measured response times for internal components of the computer system selected from the group including a web server, an application server, and a database server.

22. The system of claim 20 , wherein one or more of the input values are representative of external demographic factors selected from the group including time, date, season, advertising scheduling, methodology of advertising; telephone traffic; day, week, year, holiday, weather, news, sports events, and television programming.

23. A user interface for displaying a performance forecast for a computer system, the user interface comprising:

a control window for providing hierarchical viewing of a plurality of application systems and subsystems for the computer system, the control window enabling selection of any one of the plurality of application systems and subsystems;

a plurality of independently operable windows for displaying detailed information regarding the performance of the application systems and subsystems; wherein

the selection of an application system or subsystem in the control window modifies information displayed in the plurality of windows.

24. The user interface of claim 23 wherein the plurality of windows further comprises:

a summation window for graphically displaying the forecasted performance of the computer system, actual performance of the computer system and a tolerance band for the performance of the computer system;

a threshold window for displaying the percentage of the tolerance band utilized by at least one application subsystem;

an alarm window for displaying alarm information associated with the performance forecast for each application system and subsystem; wherein

the selection of an application system or subsystem in the control window modifies information displayed in the summation window, the threshold window, and the alarm window.

25. The user interface of claim 23 wherein a method for computing the performance forecast for the computer system includes a plurality of components comprising the steps of, for each of a plurality of successive time intervals:

obtaining input values correlated to activity associated with the components;

retrieving learned parameters defining mathematical relationships for computing the performance forecast based on the measured input values;

computing a performance forecast for the computer system based on the input values and the connection specifications; and

automatically updating the learned parameters based on the input values.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2022
From: WESTERN ALLIANCE BANK
To: VIRTUAL INSTRUMENTS WORLDWIDE, INC.
Reel/Frame 058612/0102 →
SECURITY INTEREST Recorded Jan 10, 2022
From: VIRTUAL INSTRUMENTS CORPORATION; VIRTUAL INSTRUMENTS WORLDWIDE, INC.; XANGATI, INC.
To: MIDTOWN MADISON MANAGEMENT LLC
Reel/Frame 058668/0268 →
SECURITY INTEREST Recorded Sep 10, 2019
From: VIRTUAL INSTRUMENTS WORLDWIDE, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 050320/0311 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2019
From: VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VIII, INC.
To: METRICLY, INC.
Reel/Frame 049881/0866 →
SECURITY INTEREST Recorded Aug 10, 2018
From: METRICLY, INC.
To: VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 046773/0244 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2018
From: HORIZON FUNDING TRUST 2013-1
To: METRICLY, INC.
Reel/Frame 046574/0036 →
CHANGE OF NAME Recorded Aug 7, 2018
From: NETUITIVE, INC.
To: METRICLY, INC.
Reel/Frame 046573/0272 →
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2017
From: COMERICA BANK
To: NETUITIVE, INC.
Reel/Frame 041929/0055 →
SECURITY INTEREST Recorded Oct 17, 2014
From: NETUITIVE, INC.
To: HORIZON FUNDING TRUST 2013-1
Reel/Frame 033973/0474 →
SECURITY INTEREST Recorded Sep 16, 2014
From: NETUITIVE, INC.
To: COMERICA BANK
Reel/Frame 033746/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2001
From: JANNARONE, ROBERT; TATUM, JOHN T.; HARZOG, BERND; WILKINSON, CLAYTON; HELSPER, DAVID; ZACK, ROBERT
To: NETUITIVE, INC
Reel/Frame 011635/0728 →