IP Library Granted Patent US 9,015,188
Granted Patent B2
US 9,015,188 · App. 13/247,818 · Granted Apr 21, 2015

Methods and apparatus for monitoring execution of a database query program

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,015,188
App. No.
13/247,818
Granted
Apr 21, 2015
Kind
B2
Abstract

In one general aspect, a computer-readable storage medium can be configured to store instructions that when executed cause a processor to perform a process. The instructions can include instructions to receive, during a first portion of an execution of a main program including a database query program and based on a first configuration for monitoring the database query program, a parameter value representing performance of execution of the database query program. The instructions can include instructions to produce an indicator that a performance condition has been satisfied based, at least in part, on the parameter value, and instructions to trigger execution of a second configuration for monitoring the database query program during a second portion of the execution of the main program in response to the performance condition being satisfied.

Claims (43)

1. An apparatus, comprising:

at least one processor; and

at least one memory device comprising instructions stored thereon that, when executed by the at least one processor, are configured to cause the apparatus to implement:

a monitoring module configured to receive an indicator of initiation of an execution cycle of a main program including a database query program configured to execute a plurality of times during the execution cycle of the main program; and

a monitoring configuration manager configured to, in response to the received indicator, trigger performance monitoring, by the processor, of multiple executions of the database query program during the execution cycle of the main program,

the performance monitoring of the multiple executions of the database query program during the execution cycle of the main program including monitoring a first execution of the database query program based on a first monitoring configuration and monitoring a second execution of the database query program based on a second monitoring configuration, the first monitoring configuration being different than the second monitoring configuration,

the monitoring configuration manager being configured to terminate the performance monitoring of the multiple executions of the database query program during the execution cycle of the main program based on at least one parameter value related to the database query program satisfying a performance condition.

2. The apparatus of claim 1 , wherein the monitoring configuration manager is configured to maintain performance monitoring of the multiple executions of database query program during the execution cycle of the main program in response to the performance condition being unsatisfied based on the at least one parameter value related to the database query program.

3. The apparatus of claim 1 , wherein the execution cycle of the main program is a first execution cycle of the main program, and

wherein the monitoring configuration manager is configured to trigger performance monitoring of the database query program during a second execution cycle of the main program, the performance monitoring of the database query program during the second execution cycle having a duration different from a duration of the performance monitoring of the database query program during the first execution cycle.

4. The apparatus of claim 1 , wherein the at least one parameter value is related to a first portion of the execution cycle, and

wherein the performance monitoring is terminated during a second portion of the execution cycle after the first portion of the execution cycle.

5. The apparatus of claim 1 , wherein the at least one parameter value is related to a first portion of the execution cycle,

wherein the performance monitoring is terminated during a second portion of the execution cycle after the first portion of the execution cycle, and

wherein the instructions are further configured to cause the apparatus to implement:

an extrapolation module configured to define at least a second parameter value for the second portion of the execution cycle based on the parameter value related to the first portion of the execution cycle.

6. The apparatus of claim 1 , wherein the at least one parameter value is from a plurality of parameter values related to a first portion of the execution cycle,

wherein the performance monitoring is terminated during a second portion of the execution cycle after the first portion of the execution cycle, and

wherein the instructions are further configured to cause the apparatus to implement:

an extrapolation module configured to calculate an extrapolated value for the execution cycle based on less than all of the plurality of parameter values related to the first portion of the execution cycle.

7. The apparatus of claim 1 , wherein the performance monitoring is terminated by the monitoring configuration manager in response to the performance condition being satisfied based on a combination of two or more parameter values including the at least one parameter value related to the database query program.

8. A non-transitory computer-readable storage medium storing instructions that when executed cause a processor to:

establish, at a beginning of each of a plurality of execution cycles of a main program including a database query program, a configuration for monitoring executions of the database query program within the execution cycle of the main program,

monitor a first execution of the database query program within the execution cycle of the main program based on the established configuration for monitoring executions of the database query program;

modify, during the execution cycle of the main program, the configuration for monitoring executions of the database query program; and

monitor a second execution of the database query program within the execution cycle of the main program based on the modified configuration for monitoring the database query program.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions when executed cause the processor to:

modify the configuration for monitoring executions of the database query program during a first execution cycle from the plurality of execution cycles of the main program at a time within the first execution cycle that is different from a time within a second execution cycle from the plurality of execution cycles for modifying the configuration for monitoring executions of the database query program during the second execution cycle.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the database query program is a first database query program from the plurality of database query programs, and wherein the instructions when executed cause the processor to

modify a configuration for monitoring of a second database query program during at least a portion of the plurality of execution cycles of the main program, the modifying associated with the second database query program being based on a first parameter value different from a second parameter value used to trigger the modifying the configuration associated with the first database query program.

11. A method comprising:

receiving, by a computing system, an indicator of initiation of an execution cycle of a main program including a database query program configured to execute a plurality of times during the execution cycle of the main program;

in response to the received indicator, triggering performance monitoring, by a processor, of multiple executions of the database query program during the execution cycle of the main program; and

wherein the performance monitoring of multiple executions of the database query program during the execution cycle of the main program includes monitoring a first execution of the database query program based on a first monitoring configuration and monitoring a second execution of the database query program based on a second monitoring configuration, the first monitoring configuration being different than the second monitoring configuration.

12. The method of claim 11 , further comprising, terminating the performance monitoring in response to a performance condition being satisfied based at least one parameter value.

13. The apparatus of claim 1 , wherein the at least one parameter value includes a number of timeouts.

14. The apparatus of claim 1 , wherein the at least one parameter value includes a number of deadlocks.

15. The apparatus of claim 1 , wherein the at least one parameter value includes a central processing unit (CPU) performance value.

16. The apparatus of claim 1 , wherein the at least one parameter value includes a number of get page requests.

17. The apparatus of claim 1 , wherein the at least one parameter value includes a wait time.

18. The apparatus of claim 1 , wherein the performance monitoring of the multiple executions of the database query program during the execution cycle of the main program by the processor includes monitoring at least one of a number of timeouts, a number of deadlocks, a duration of an execution, an execution counter value, an input/output (I/O) time, a central processing unit (CPU) time, a CPU usage, a number of get page requests and a wait time of the database query program.

19. The non-transitory computer-readable storage medium of claim 8 , wherein establishing the configuration for monitoring executions of the database query program within the execution cycle of the main program includes execution of a configuration for monitoring at least one of a number of timeouts, a number of deadlocks, a duration of an execution, an execution counter value, an input/output (I/O) time, a central processing unit (CPU) time, a CPU usage, a number of get page requests and a wait time of the database query program.

20. The method of claim 11 , wherein triggering performance monitoring of multiple executions of the database query program by the processor includes triggering monitoring of at least one of a number of timeouts, a number of deadlocks, a duration of an execution, an execution counter value, an input/output (I/O) time, a central processing unit (CPU) time, a CPU usage, a number of get page requests and a wait time of the database query program.

Assignments (14)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2012
From: BEHNE, MICHAEL D.
To: BMC SOFTWARE, INC.
Reel/Frame 027486/0253 →