IP Library Granted Patent US 7,634,459
Granted Patent B1
US 7,634,459 · App. 11/560,391 · Granted Dec 15, 2009

Apparatus, method and computer-code for detecting changes in database-statement execution paths

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,634,459
App. No.
11/560,391
Granted
Dec 15, 2009
Kind
B1
Abstract

Apparatus, methods, and computer code for monitoring a database and for detecting execution plan changes in the database. In the event that an execution plan is detected for a given database statement during the course of the monitoring, an alert signal may be generated. Optionally, the generation of the alert signal is further contingent upon a property of the database statement for which an execution plan change has been detected, for example, an execution time. In some embodiments, a detection agent is configured to repetitively attempt to detect an execution plan, for example, in accordance with a specified frequency parameter.

Claims (46)

1. An apparatus for monitoring execution plans of a relational database, the apparatus comprising:

a) at least one of a volatile and a non-volatile memory; configured to store a detector agent and an alert agent; and

b) a microprocessor operative to:

i) execute code of the detector agent to monitor the performance of the relational database to detect an execution plan change for at least one database statement handled by the relational database; and

ii) execute code of the alert agent to generate an alert signal, contingent on results of said detecting of said execution plan change.

2. The apparatus of claim 1 further comprising:

a performance data collector agent, wherein execution of the performance data collector agent by the microprocessor is operative to collect performance data comprising execution plan data for the database;

wherein said execution of said detector agent is operative to detect said execution plan change from said collected execution plan data.

3. The apparatus of claim 2 wherein said execution of said performance data collector agent is operative such that said collecting of said performance data comprises effecting a query of a system table of the database.

4. The apparatus of claim 2 wherein said execution of said performance data collector agent is operative such that said collecting of said performance data comprises effecting an API call to the database.

5. The apparatus of claim 2 wherein said execution of said performance data collector agent is operative to collect said performance data comprising said execution plan data for a pre-specified historical time interval.

6. The apparatus of claim 2 wherein said execution of said collector agent is operative to effect a plurality of distinct said execution plan data collectings at a frequency that is determined at least in part by a pre-determined frequency parameter.

7. The apparatus of claim 1 wherein said detector agent is operative such that execution of said detector agent effects a plurality of said execution plan detectings at a frequency that is determined at least in part by a pre-determined frequency parameter.

8. The apparatus of claim 1 further comprising:

c) a configuration user interface for receiving at least one user specified operation parameter selected from the group consisting of:

i) a detection frequency parameter;

ii) decision influencing historical time period parameter,

wherein said execution of detector agent is operative to effect said monitoring in accordance with at least one said user specified operation parameter.

9. The apparatus of claim 1 wherein said execution of said detector agent is operative to detect said execution plan change for a pre-determined decision influencing historical time period.

10. The apparatus of claim 1 wherein at least one of:

i) said alert agent; and

ii) said detector agent, is at least partially an internal agent that resides at least in part within a code module of the database.

11. The apparatus of claim 1 wherein at least one of:

i) said alert agent; and

ii) said detector agent, is at least partially an external agent that resides at least in part within a code module that is external to the database.

12. The apparatus of claim 1 further comprising:

c) at least one of a video display and an audio speaker for presenting the generated alert signal.

13. A method for monitoring execution plans of a relational database, the method comprising:

a) automatically and electronically monitoring the performance of the relational database by executing code of a detector agent by a microprocessor to detect an execution plan change for at least one database statement handled by the relational database; and

generating an alert signal, contingent on results of said detecting of said execution plan change.

14. The method of claim 13 wherein said monitoring comprises automatically effecting a plurality of said execution plan detectings at a frequency that is determined at least in part by a pre-determined frequency parameter.

15. The method of claim 13 further comprising:

c) receiving, via a user interface at least one user specified operation parameter selected from the group consisting of:

i) a detection frequency parameter;

ii) decision influencing historical time period parameter,

wherein said monitoring is carried out in accordance with at least one said user specified operation parameter.

16. The method of claim 13 wherein the monitoring includes:

(i) automatically and electronically submitting to the relational database, a plurality of times, requests for data indicative of contents of one or more system tables of the relational database; and

(ii) receiving the requested system table-indicative data from the relational database.

17. The method of claim 16 wherein the relational database is distributed over a plurality of different digital computers connected via a computer network, and the monitoring includes monitoring execution of the distributed relational database.

18. The method of claim 13 wherein the generating of the alert signal includes displaying a visual indication of the alert signal on a video display device.

19. The method of claim 13 wherein the generating of the alert signal includes: sending an email message via an interface between a computer and a computer network.

20. The method of claim 13 wherein the generating of the alert signal includes sending a text message to a mobile telephone via a network.

21. The method of claim 13 further comprising:

c) executing code of a performance data collector agent by a microprocessor to collect performance data comprising execution plan data for the database,

wherein said execution of said code of said detector agent is operative to detect said execution plan change from said collected execution plan data.

Assignments (11)
SECOND LIEN SECURITY AGREEMENT Recorded Oct 14, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036863/0137 →
FIRST LIEN SECURITY AGREEMENT Recorded Oct 13, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036842/0410 →
RELEASE OF SECURITY INTEREST Recorded Oct 12, 2015
From: FIFTH STREET MANAGEMENT LLC
To: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
Reel/Frame 036771/0552 →
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2015
From: COMERICA BANK
To: IDERA, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
Reel/Frame 036747/0982 →
SECURITY INTEREST Recorded Nov 25, 2014
From: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
To: FIFTH STREET MANAGEMENT LLC, AS AGENT
Reel/Frame 034260/0360 →
SECURITY INTEREST Recorded Sep 8, 2014
From: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
To: COMERICA BANK, AS AGENT
Reel/Frame 033696/0004 →
RELEASE Recorded Aug 21, 2014
From: SILICON VALLEY BANK
To: PRECISE SOFTWARE SOLUTIONS, INC.
Reel/Frame 033597/0801 →
SECURITY INTEREST Recorded Aug 21, 2014
From: PRECISE SOFTWARE SOLUTIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033626/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: PRECISE SOFTWARE SOLUTIONS, LTD.
To: PRECISE SOFTWARE SOLUTIONS, INC.
Reel/Frame 033574/0052 →
SECURITY AGREEMENT Recorded Mar 15, 2012
From: PRECISE SOFTWARE SOLUTIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 027883/0839 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2009
From: ESHET, EHUD; GELBART, SIGAL; ZADA, DAN; HACMON, LIAD
To: PRECISE SOFTWARE SOLUTIONS LTD.
Reel/Frame 023452/0978 →