JDBC Callbacks for Driver Statistics Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

JDBC subsystems lack effective diagnostic and monitoring tools for administrators to manage connection pools and prepared statement caches, leading to inefficiencies and difficulties in troubleshooting and optimizing database connectivity.

Innovation Solution

Incorporating a profiling component to maintain profile information on connection usage, wait times, and statement execution, along with a statistics monitoring component to track pool and cache performance, and a debugging component to trace operations, with diagnostic callbacks and image creation for comprehensive data collection and analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If JDBC subsystem operates without diagnostic monitoring tools, then system complexity is reduced, but administrator visibility and troubleshooting capability deteriorate

Engineering Contradiction:
Improveadministrator visibility into JDBC operationsVSAvoidJDBC subsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a callback mechanism as an intermediary component that bridges the JDBC subsystem and diagnostic monitoring tools. The callback interface allows external monitoring components to register and receive notifications about JDBC operations without being tightly coupled to the core subsystem, thus providing administrator visibility while maintaining subsystem independence and avoiding direct complexity injection into the JDBC core.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms through callback methods that return diagnostic information about JDBC operations. The callback interface includes methods that provide feedback on connection pool status, statement cache performance, and operation metrics, enabling administrators to monitor and optimize system performance without altering the core JDBC functionality.

Inventive Principle:
Principle #23Feedback

2Reliability

If comprehensive monitoring and profiling components are added to JDBC subsystem, then diagnostic capability is improved, but system performance and operation speed deteriorate

Engineering Contradiction:
Improvediagnostic and troubleshooting capabilityVSAvoidJDBC operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements optional monitoring through a configurable callback mechanism that administrators can enable or disable based on diagnostic needs. The callback interface provides partial monitoring by allowing selective registration of specific operation types (connections, statements, transactions) rather than comprehensive monitoring of all JDBC operations, thus reducing overhead while maintaining essential diagnostic capability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The monitoring functionality is segmented into separate callback methods for different JDBC operations (connection pool monitoring, statement cache monitoring, transaction monitoring). This segmentation allows the system to activate only the specific monitoring components needed for particular diagnostic scenarios, reducing overall performance impact while maintaining comprehensive diagnostic coverage when needed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7823136B2Callbacks for monitoring driver-level statistics
Publication Date: 2010.10.26 ORACLE INT CORP
  • US7823136B2 patent drawing
  • US7823136B2 patent drawing
  • US7823136B2 patent drawing

AI summary

A JAVA Database Connectivity (JDBC) subsystem includes a connection pool and prepared statement cache, which allows application to interact with a database. The JDBC subsystem can include a profiling component and a statistics monitoring component that maintain profile and statistics information concerning components of JDBC subsystem, such as the connection pool and prepared statement cache. A client application can register a diagnostic callback with the JDBC subsystem, for use with requests from that client application to methods of the JDBC driver being executed.