IP Library Granted Patent US 9,465,850
Granted Patent B2
US 9,465,850 · App. 14/704,366 · Granted Oct 11, 2016

Metric gathering and reporting system for identifying database performance and throughput problems

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 9,465,850
App. No.
14/704,366
Granted
Oct 11, 2016
Kind
B2
Abstract

A database back end system includes a monitoring server operable to poll a first database for a first query running on the first database and add the first query to a query list in a second database, and a reporting server operable to normalize the first query, analyze the second database to find a second query in the query list, wherein the second query is found based upon the normalized first query, and report the second query to a user, wherein the reporting is based upon the analyzing of the second database to find the second query.

Claims (61)

1. A reporting server comprising:

a memory; and

a processor in communication with the memory and operable to:

normalize a variable of a first query running on a first database, wherein the first query is included in a query list in a second database;

analyze the second database to find a second query in the query list, wherein the second query is found based upon the normalized first query;

report the second query to a user, wherein the reporting is based upon the analyzing of the second database to find the second query; and

determine a first loading on a first database based upon a first frequency of occurrence of the second query and upon a first duration of the second query.

2. The reporting server of claim 1 , wherein in normalizing the variable of the first query, the processor is further operable to:

determine that a field of the first query includes a first value; and

replace the first value with a variable.

3. The reporting server of claim 1 , wherein the processor is further operable to:

analyze the second database to find a third query in the query list; and

report the third query to the user, wherein the reporting is based upon the analyzing of the second database to find the third query.

4. The reporting server of claim 3 , wherein the processor is further operable to:

rank the second and third queries based upon the first loading on the first database of the first query as compared to a second loading on the first database of the second query;

wherein reporting the second and third queries are in response to the ranking.

5. The reporting server of claim 4 , wherein the processor is further operable to:

determine the second loading based upon a second frequency of occurrence of the third query and upon a second duration of the third query;

wherein ranking the second and third queries is in response to determining the first and second loading.

6. The reporting server of claim 3 , wherein the second query locks a portion of the first database and the third query is a victim of the second query.

7. The reporting server of claim 6 , wherein the processor is further operable to:

determine a locking on the first database based upon a second frequency of occurrence of the third query following the second query.

8. The reporting server of claim 1 , wherein a monitoring server includes a first database management system that is associated with the first database.

9. The reporting server of claim 8 , wherein the first database management system is separate from a second database management system that is associated with the first database, and that operates to issue the first query on the first database.

10. A reporting server comprising:

a memory in communication with a processor;

wherein the processor is operable to:

normalize a variable of a first query running on a first database, wherein the first query is included in a query list in a second database, wherein in normalizing the first query the processor is further operable to determine that a field of the first query includes a first value, and replace the first value with a variable;

analyze the second database to find a second query in the query list, wherein the second query is found based upon the normalized first query;

report the second query to a user, wherein the reporting is based upon the analyzing of the second database to find the second query;

determine a first loading on a first database based upon a first frequency of occurrence of the second query and upon a first duration of the second query;

analyze the second database to find a third query in the query list; and

report the third query to the user, wherein the reporting is based upon the analyzing of the second database to find the third query.

11. The reporting server of claim 10 , wherein the processor is further operable to:

rank the second and third queries based upon the first loading on the first database of the first query as compared to a second loading on the first database of the second query;

wherein reporting the second and third queries are in response to the ranking.

12. The reporting server of claim 11 , wherein the processor is further operable to:

determine the second loading based upon a second frequency of occurrence of the third query and upon a second duration of the third query;

wherein ranking the second and third queries is in response to determining the first and second loading.

13. The reporting server of claim 10 , wherein the second query locks a portion of the first database and the third query is a victim of the second query.

14. The reporting server of claim 13 , wherein the processor is further operable to:

determine a locking on the first database based upon a second frequency of occurrence of the third query following the second query.

15. The reporting server of claim 10 , wherein a monitoring server includes a first database management system that is associated with the first database.

16. The reporting server of claim 15 , wherein the first database management system is separate from a second database management system that is associated with the first database, and that operates to issue the first query on the first database.

17. A reporting server comprising:

a memory; and

a processor in communication with the memory and operable to:

normalize a variable of a first query running on a first database, wherein the first query is included in a query list in a second database;

analyze the second database to find a second query in the query list, wherein the second query is found based upon the normalized first query;

report the second query to a user, wherein the reporting is based upon the analyzing of the second database to find the second query;

determine a first loading on a first database based upon a first frequency of occurrence of the second query and upon a first duration of the second query;

analyze the second database to find a third query in the query list; and

report the third query to the user, wherein the reporting is based upon the analyzing of the second database to find the third query;

wherein a monitoring server includes a first database management system that is associated with the first database.

18. The reporting server of claim 17 , wherein the processor is further operable to:

rank the second and third queries based upon the first loading on the first database of the first query as compared to a second loading on the first database of the second query;

wherein reporting the second and third queries are in response to the ranking.

19. The reporting server of claim 18 , wherein the processor is further operable to:

determine the second loading based upon a second frequency of occurrence of the third query and upon a second duration of the third query;

wherein ranking the second and third queries is in response to determining the first and second loading.

20. The reporting server of claim 19 , wherein the second query locks a portion of the first database and the third query is a victim of the second query.

Assignments (13)
SECURITY INTEREST Recorded May 2, 2025
From: SECUREWORKS CORP.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 071156/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2025
From: HABER, WAYNE
To: DELL PRODUCTS, LP
Reel/Frame 070840/0687 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
ENTITY CONVERSION WITH NAME CHANGE Recorded Dec 8, 2015
From: SECUREWORKS HOLDING CORPORATION
To: SECUREWORKS CORP.
Reel/Frame 037243/0736 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2015
From: BANK OF AMERICA, N.A.
To: SECUREWORKS HOLDING CORPORATION; SECUREWORKS, INC.
Reel/Frame 036262/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2015
From: DELL PRODUCTS L.P.
To: SECUREWORKS HOLDING CORPORATION
Reel/Frame 036262/0417 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2015
From: BANK OF AMERICA, N.A.
To: SECUREWORKS HOLDING CORPORATION; SECUREWORKS, INC.
Reel/Frame 036262/0509 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2015
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: SECUREWORKS HOLDING CORPORATION; SECUREWORKS, INC.
Reel/Frame 036262/0525 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →