Database Code-Module Instrumentation for Nested Call Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for instrumenting modular application chains, particularly in database environments, lack the ability to provide granular performance metrics and reliable tracing of nested calls across databases, and fail to accurately map database sessions to application or browser sessions, especially in multi-threaded and multi-server environments.

Innovation Solution

A framework that instruments database code-modules to measure and track execution, timings, and errors within databases across platforms, using unique identifiers and autonomous transactions to collect and store metric data, and asynchronously pushes this data to a repository server for analysis, enabling detailed performance monitoring and reliability assessment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing database performance metrics gathering solutions track only top-level steps and overall duration, then the solution is simple to implement, but it cannot provide granular performance metrics for nested calls within the same database

Engineering Contradiction:
Improveperformance metrics granularityVSAvoidinstrumentation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements nested instrumentation by embedding performance tracking mechanisms within database routines, stored procedures, and triggers. Each nested call receives a correlation ID from the parent call and propagates it through the execution chain, enabling hierarchical tracking of performance metrics at any depth of nesting without requiring complete system redesign.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces a correlation ID as an intermediary mechanism that passes performance tracking information through database calls, triggers, and stored procedures. This correlation ID acts as a mediator that links parent and child calls, enabling granular metrics collection without direct complex instrumentation at every level.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If existing solutions use relative server timestamps to map database sessions to application sessions, then the mapping can be established, but the mapping is highly unreliable in multi-threaded and multi-server environments

Engineering Contradiction:
Improvesession mapping reliabilityVSAvoidtracing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where database routines return correlation IDs and performance data back through the execution chain. This feedback loop enables reliable session mapping by capturing timing information at multiple points and comparing it against expected durations, allowing the system to trace and verify session relationships across multi-threaded and multi-server environments.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by capturing performance metrics and correlation IDs at the point of database entry, before any processing occurs. This preliminary capture of timing information and identification data establishes a baseline that can be reliably matched later, improving session mapping reliability before complexity issues arise during execution.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If the framework instruments all database code-modules to provide comprehensive performance monitoring, then detailed performance insights are achieved, but significant overhead may be introduced to existing systems

Engineering Contradiction:
Improveperformance monitoring detailVSAvoidsystem throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial instrumentation by instrumenting only the performance-critical paths and nested calls that require detailed monitoring, rather than instrumenting every possible database operation. The system captures metrics at strategic points (routine entry, trigger execution, stored procedure calls) where performance issues are most likely to occur, providing sufficient insight without excessive overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10289614B2Database code-module performance and reliability metrics instrumentation
Publication Date: 2019.05.14 CENTURYLINK INTELLECTUAL PROPERTY LLC
  • US10289614B2 patent drawing
  • US10289614B2 patent drawing
  • US10289614B2 patent drawing

AI summary

Novel tools and techniques for instrumenting code-module execution within a database (or within a plurality of databases). In one aspect, various embodiments can instrument (e.g., measure and/or monitor) database applications, jobs, or other coded modules, execution steps, and/or any other type of executable code within (or even outside) of a database to accurately track execution and call lineage, timings, and/or errors within database code modules, long-running SQL statements, or other large database calls/callouts initiating from within one or more databases, across one or more platforms (e.g., Oracle, SQL Server, etc.). In another aspect, certain embodiments can perform such instrumentation through a variety of interfaces (intra-database calls, database links, linked servers, external application code, etc.).