IP Library Granted Patent US 8,015,454
Granted Patent B1
US 8,015,454 · App. 12/474,688 · Granted Sep 6, 2011

Computer systems and methods for predictive performance management of data transactions

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 8,015,454
App. No.
12/474,688
Granted
Sep 6, 2011
Kind
B1
Abstract

Systems and methods are disclosed for monitoring and managing data transactions, such as SQL transactions. In certain examples, a management subsystem generates an alert identifying degrading database transactions to facilitate preventative tuning or other maintenance. In particular, a monitor module tracks performance measurements (e.g., logical reads) of select transactions. A modeler correlates the performance measurements and assigns first performance model(s) to represent the performance measurements and predicted performance measurements of a particular transaction. A trend change module detects a significant change in a trend and/or variance of the performance measurements and can cause the modeler module to generate a second performance model to represent at least a portion of the performance measurements and the predicted performance measurements of the particular transaction. An interface module triggers an alert when the second performance model indicates that the predicted performance measurements of the particular transaction are degrading at or above a threshold rate.

Claims (63)

1. A system for managing performance of database transactions, the system comprising:

at least one database configured to store data;

at least one application configured to interact with the data of the at least one database through a plurality of database transactions that comprise structured query language (SQL) statements; and

a management subsystem configured to generate one or more alerts identifying degrading ones of the SQL statements, the management subsystem configured to execute on one or more computing devices and comprising,

a monitor module comprising one or more computer hardware processors, the monitor module configured to track one or more performance measurements of the plurality of the SQL statements, the one or more performance measurements comprising at least one of (i) a total cost of execution of a particular SQL statement of the plurality of SQL statements, (ii) an average cost of all executions of the particular SQL statement, and (iii) an execution rate of the particular SQL statement,

a modeler module comprising one or more computer hardware processors, the modeler module configured to correlate the one or more tracked performance measurements beginning at a first data point of the particular SQL statement with one or more independent variables and to assign at least a first performance model to represent the one or more tracked performance measurements to generate a first trend of predicted performance measurements of the particular SQL statement,

a trend change module configured to automatically detect within the one or more tracked performance measurements at least one substantial trend change in a the first trend of the one or more tracked performance measurements,

wherein the trend change module automatically detects a trend change by iteratively selecting a second data point for the modeler module to generate at least a second performance model for a second trend of predicted performance measurements beginning at the second data point, wherein the trend change module determines a trend change at the second data point when:

1) at least three measured data points prior to the second data point fall outside of the second trend, and

2) a comparison of the first trend and the second trend of predicted performance measurements with tracked performance measurements indicates that the second trend is significantly better than the first trend at predicting the tracked performance measurements, and

an interface module configured to trigger an alert when the second trend of the second performance model indicates that the predicted performance measurements of the particular SQL statement are degrading at or above a threshold rate to identify whether the particular SQL statement needs to be tuned;

wherein the second performance model indicates whether I/O channels associated with the execution of the plurality of SQL statements will near capacity in the future.

2. The system of claim 1 , wherein the one or more first performance models and the second performance model are selected from a set of predetermined performance models.

3. The system of claim 2 , wherein the management subsystem further comprises a memory configured to store the set of predetermined performance models.

4. A system for managing performance of database transactions, the system comprising:

at least one database configured to store data;

at least one application configured to interact with the data of the at least one database through a plurality of database transactions that comprise structured query language (SQL) statements; and

a management subsystem configured to generate one or more alerts identifying degrading ones of the SQL statements, the management subsystem configured to execute on one or more computing devices and comprising,

a monitor module comprising one or more computer hardware processors, the monitor module configured to track one or more performance measurements of the plurality of the SQL statements, the one or more performance measurements comprising at least one of (i) a total cost of execution of a particular SQL statement of the plurality of SQL statements, (ii) an average cost of all executions of the particular SQL statement, and (iii) an execution rate of the particular SQL statement,

a modeler module comprising one or more computer hardware processors, the modeler module configured to correlate the one or more tracked performance measurements beginning at a first data point of the particular SQL statement with one or more independent variables and to assign at least a first performance model to represent the one or more tracked performance measurements to generate a first trend of and predicted performance measurements of the particular SQL statement,

a trend change module configured to automatically detect within the one or more tracked performance measurements at least one substantial trend change in a the first trend of the one or more tracked performance measurements,

wherein the trend change module automatically detects a trend change by iteratively selecting a second data point for the modeler module to generate at least a second performance model for a second trend of predicted performance measurements beginning at the second data point, wherein the trend change module determines a trend change at the second data point when:

1) at least three measured data points prior to the second data point fall outside of the second trend, and

2) a comparison of the first trend and the second trend of predicted performance measurements with tracked performance measurements indicates that the second trend is significantly better than the first trend at predicting the tracked performance measurements, and

an interface module configured to trigger an alert when the second trend of the second performance model indicates that the predicted performance measurements of the particular SQL statement are degrading at or above a threshold rate to identify whether the particular SQL statement needs to be tuned;

wherein the one or more first performance models and the second performance model are selected from a set of predetermined performance models;

wherein the management subsystem further comprises a memory configured to store the set of predetermined performance models; and

wherein the set of predetermined performance models comprises logarithmic, linear and exponential curves.

5. The system of claim 1 , wherein the threshold rate comprises an exponential rate.

6. A method for managing database performance, the method comprising:

monitoring with one or more computer hardware processors, performance values of a plurality of database transactions that comprise structured query language, (SQL) statements;

storing the performance values in a storage device;

correlating with one or more computer hardware processors, the performance values of at least one of the SQL statements with one or more independent variables;

assigning at least a first performance model to represent past and predicted performance of the at least one SQL statement;

detecting among the correlated one or more performance values a first performance value representing a change in a first trend of performance of the at least one SQL statement;

dividing at the first performance value the correlated one or more performance values into a plurality of segments;

generating at least a second performance model to represent at least one of the plurality of segments, the at least the second performance model indicating a trend change in the first trend that determines a second trend of predicted performance of the at least one SQL statement;

automatically detecting the trend change by iteratively selecting a second data point wherein:

1) at least three data points prior to the second data point fall outside of the second trend, and

2) the second performance model is significantly better than the first performance module at predicting the tracked performance measurements over the second trend; and

issuing an alert when the second performance model indicates that the predicted second trend of performance of the at least one SQL statement is degrading at or above a threshold rate to identify whether the particular SQL statement needs to be tuned;

wherein the second performance model indicates whether I/O channels associated with the execution of the plurality of SQL statements will near capacity in the future.

7. The method of claim 6 , wherein the one or more independent variables comprises a time variable.

8. The method of claim 6 , further comprising associating a prediction interval with the second performance model.

9. The method of claim 8 , wherein said detecting further comprises identifying a predetermined number of data values immediately preceding the first performance value that reside outside the prediction interval.

10. A method for managing database performance, the method comprising:

monitoring with one or more computer hardware processors, performance values of a plurality of database transactions that comprise structured query language (SQL) statements;

storing the performance values in a storage device;

correlating with one or more computer hardware processors, the performance values of at least one of the SQL statements with one or more independent variables;

assigning at least a first performance model to represent past and predicted performance of the at least one SQL statement;

detecting among the correlated one or more performance values a first performance value representing a change in a first trend of performance of the at least one SQL statement;

wherein said detecting further comprises identifying a predetermined number of data values immediately preceding the first performance value that reside outside the prediction interval;

dividing at the first performance value the correlated one or more performance values into a plurality of segments;

generating at least a second performance model to represent at least one of the plurality of segments, the at least the second performance model indicating a trend change in the first trend that determines a second trend of predicted performance of the at least one SQL statement;

automatically detecting the trend change by iteratively selecting a second data point wherein:

1) at least three data points prior to the second data point fall outside of the second trend, and

2) the second performance model is significantly better than the first performance module at predicting the tracked performance measurements over the second trend; and

issuing an alert when the second performance model indicates that the predicted second trend of performance of the at least one SQL statement is degrading at or above a threshold rate to identify whether the particular SQL statement needs to be tuned;

associating a prediction interval with the second performance model; and

calculating the prediction interval such that a probability that a selected performance value resides outside the prediction interval is at most approximately five percent.

11. The method of claim 9 , further comprising displaying on a user interface at least a portion of the correlated one or more performance values, the second performance model and a trend change identifier at the first performance value.

12. The method of claim 6 , further comprising comparing the second performance model with the first performance model to determine if the second performance model represents a statistical improvement over the first performance model in representing the past and predicted performance of the at least one database transaction.

13. The method of claim 6 , further comprising automatically issuing the alert when the second performance model comprises an exponential curve.

Assignments (30)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
CHANGE OF NAME Recorded Aug 20, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031043/0281 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Sep 28, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, LLC)
To: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
Reel/Frame 029050/0679 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CITIZENSHIP OF QUEST SOFTWARE, INC. FROM A CALIFORNIA CORPORATION TO A DELAWARE CORPORATION PREVIOUSLY RECORDED ON REEL 023182 FRAME 0884. ASSIGNOR(S) HEREBY CONFIRMS THE GRANT, ASSIGNMENT, TRANSFER, AND CONVEYANCE TO AGENT OF A CONTINUING SECURITY INTEREST IN THE ADDITIONAL PATENTS. Recorded Jun 30, 2010
From: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
To: WELLS FARGO FOOTHILL, LLC, AS AGENT
Reel/Frame 024620/0350 →
AMENDMENT NUMBER THREE TO PATENT SECURITY AGREEMENT Recorded Sep 1, 2009
From: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
To: WELLS FARGO FOOTHILL, LLC, AS AGENT
Reel/Frame 023182/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2009
From: HARRISON, GUY ANTHONY; LE MAR, GUY
To: QUEST SOFTWARE, INC.
Reel/Frame 022754/0676 →