IP Library Granted Patent US 7,702,642
Granted Patent B1
US 7,702,642 · App. 11/295,535 · Granted Apr 20, 2010

Method, system and computer-readable code for instrumenting code for logging database-related strings

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,702,642
App. No.
11/295,535
Granted
Apr 20, 2010
Kind
B1
Abstract

A method, system and computer readable code for instrumenting code into database access modules are disclosed. According to some embodiments, specific functions within the database access module are identified as query-execution functions, and instructions for logging at least one of database access strings and database connection string during runtime are instrumented into the identified query-execution functions. Exemplary database access strings include database query strings, such as an SQL query string, and stored procedure names. Optionally, additional instructions for extracting various parameters, such as database identifiers, performance parameters, and security policy parameters, from the database connection strings are instrumented. According to some embodiments, the identifying of query-execution functions includes determining if an identity of a candidate function of a database access module matches one of the identifiers of a known execution function. According to some embodiments, a repository of known query execution functions and/or a repository of encoding schema for database connection strings is maintained, for example, using one or more configuration files.

Claims (35)

1. A method comprising:

in a computing device,

maintaining a configuration file, said configuration file including identifiers of query-execution functions;

identifying query-execution functions within binary code or intermediate code of one or more database access modules, in response to the identifiers; and

instrumenting into the identified query-execution functions instructions operable to profile the query-execution functions by logging at least one of database access strings and database connection strings during runtime of the query execution functions.

2. The method of claim 1 wherein the database access string comprises a database query string, and instructions for logging the database query string are instrumented into the identified query-execution functions.

3. The method of claim 1 wherein the database access string comprises a stored procedure name, and instructions for logging the stored procedure name are instrumented into the identified query-execution functions.

4. The method of claim 1 wherein instructions for logging the database connection string are instrumented into the identified query-execution functions.

5. The method of claim 4 further comprising:

instrumenting instructions for extracting from the database connection string at least one encoded connection parameter selected from the group consisting of a database identifier, a password, a communications protocol, a performance parameter and a security policy parameter.

6. The method of claim 5 wherein at least one database performance parameter is selected from the group consisting of a pooling parameter, a connection policy parameter, a data compression parameter and a connection lifetime parameter.

7. The method of claim 5 wherein data describing a plurality of encoding schema for a plurality of database access modules is stored, and the instrumentation of extraction instruction is carried out in accordance with the appropriate stored encoding schema.

8. The method of claim 1 wherein the instrumented instructions comprise at least one instruction to inspect one or more of properties inherited from a base class of a class framework.

9. A system comprising:

a client or server processing device operable to:

maintain a configuration file, said configuration file including identifiers of query-execution functions;

identify query-execution functions within binary code or intermediate code of one or more database access modules, in response to the identifiers; and

instrument into the identified query-execution functions instructions operable to profile the query-execution functions by logging at least one of database access strings and database connection strings during runtime of the query execution functions.

10. The system of claim 9 wherein the database access string comprises a database query string, and the processing device is operable to instrument instructions for logging the database query string into the identified query-execution function.

11. The system of claim 9 wherein the database access string comprises a stored procedure name, and the processing device is operable to instrument instructions for logging the stored procedure name into the identified query-execution function.

12. The system of claim 9 wherein the processing device is operable to instrument instructions for logging the database connection string into the identified query-execution functions.

13. The system of claim 12 wherein the processing device is further operable to: c) instrument instructions for extracting from the database connection string at least one encoded connection parameter selected from the group consisting of a database identifier, a password, a communications protocol, a performance parameter and a security policy parameter.

14. The system of claim 13 wherein at least one database performance parameter is selected from the group consisting of a pooling parameter, a data compression parameter, a connection policy parameter and a connection lifetime parameter.

15. The system of claim 13 wherein the processing device is further operable to: store data describing a plurality of encoding schema for a plurality of database access modules, and

wherein the instrumenting of instructions for extracting from the database connection string is in accordance with the appropriate stored encoding schema.

16. The system of claim 9 wherein the instrumented instructions comprise at least one instruction to inspect one or more of properties inherited from a base class of a class framework.

17. A system comprising:

a client or server processing means;

a means for accessing a structured data source, said source including identifiers of query-execution functions;

means for identifying query-execution functions within binary code or intermediate code of one or more database access modules, in response to those identifiers

means for instrumenting into the identified query-execution functions instructions for logging at least one of database access strings and database connection strings during runtime.

18. A computer readable medium comprising program instructions, wherein when executed the program instructions are operable to:

access a structured data source, said source including identifiers of query-execution functions;

identify query-execution functions within binary code or intermediate code of one or more database access modules using the identifiers; and

instrument into the identified query-execution functions instructions operable to profile the query-execution functions by logging at least one of database access strings and database connection strings during runtime of the query execution functions.

Assignments (9)
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 →