Database Query Timing Control via Injected Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing database query execution in multi-database management systems is challenging due to the difficulty in controlling the runtime of queries across different systems, especially when one system is fully encapsulated and the other is not aware of its internal mechanisms.

Innovation Solution

A method that involves receiving a database query with control code, detecting annotations to inject control code, and using user-defined functions or optimizer hints to control the execution timing within the second database management system, allowing for transparent manipulation without disturbing the first system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a database query is executed in a fully encapsulated second database management system, then the system maintains independence and transparency, but the runtime of the query becomes difficult to control for testing purposes

Engineering Contradiction:
Improvesystem independenceVSAvoidtiming control
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces control code as an intermediary element that is injected into the database query. This control code acts as a mediator between the testing framework and the encapsulated database management system, enabling timing control without violating the system's encapsulation. The control code includes hooks that can be triggered at specific points during query execution, allowing external control while maintaining system independence.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent modifies the query parameters by injecting control code into the database query. This control code changes the execution parameters of the query by adding timing control mechanisms, such as hooks that can pause, delay, or synchronize query execution. This allows the runtime to be controlled without changing the core functionality of the encapsulated system.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If control code is injected into the database query to control execution timing, then timing control is achieved, but the complexity of the query processing increases

Engineering Contradiction:
Improvetiming controlVSAvoidquery processing
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the query processing into distinct phases by inserting control code at specific points. The control code is divided into hooks that can be independently triggered and managed. This segmentation allows timing control to be implemented in a modular fashion, reducing the overall complexity by breaking down the control mechanism into manageable segments rather than a monolithic control system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies control code selectively rather than throughout the entire query processing. The control code is injected only at critical points where timing control is needed, such as at the beginning of query execution or at specific intermediate stages. This partial action approach avoids the complexity of controlling every aspect of query processing while still achieving the necessary timing control for testing purposes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11755578B2Controlling the timing of a database query execution
Publication Date: 2023.09.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11755578B2 patent drawing
  • US11755578B2 patent drawing
  • US11755578B2 patent drawing

AI summary

Controlling the timing of an execution of a database query for test purposes includes: receiving the database query, the database query comprising control code; the control code causing a database management system to control the timing of the execution of the database query within the database management system; executing the database query within the database management system.