Query Assistant Dynamic Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face delays in query processing due to high load on data sources, as they typically rely on the data source to handle all query processing, which can be time-consuming and inefficient, especially when queries include complex elements that could be performed elsewhere.

Innovation Solution

A method and system that dynamically adjust query complexity based on the load factor of the data source, simplifying queries by removing certain elements and processing them outside the data source using a query assistant, thereby reducing the load on the data source and improving processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the data source processes all query elements independently, then query processing accuracy is maintained, but processing time increases and system responsiveness deteriorates

Engineering Contradiction:
Improvequery processing speedVSAvoidwaiting time for query response
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the query processing workload by dividing query elements into two categories: those processed by the data source and those processed by the query assistant. This segmentation allows parallel processing of different query components, reducing overall processing time and improving system responsiveness while maintaining accurate results through coordinated processing between the two systems.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the data source handles complex query elements, then processing accuracy is maintained, but the load on the data source increases, reducing system adaptability

Engineering Contradiction:
Improvesystem adaptability to load changesVSAvoidquery processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The query assistant acts as an intermediary between the client and the data source, handling complex query elements that would otherwise burden the data source. This intermediary approach distributes the processing load, improves system adaptability to varying load conditions, and maintains processing accuracy by ensuring that complex elements are handled with appropriate logic and coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If queries are simplified by removing elements, then processing time is reduced, but query functionality and accuracy may deteriorate

Engineering Contradiction:
Improvequery processing throughputVSAvoidquery result accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the processing capabilities of the data source and the query assistant into a coordinated system. By combining their respective strengths—the data source's efficient handling of simple elements and the query assistant's capability to process complex elements—the system achieves both improved productivity through parallel processing and maintained reliability through comprehensive query element handling.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9391902B2System and method for dynamic collaboration during query processing
Publication Date: 2016.07.12 RED HAT INC
  • US9391902B2 patent drawing
  • US9391902B2 patent drawing
  • US9391902B2 patent drawing

AI summary

A system and method of dynamic collaboration during query processing includes determining a load factor for a data source, receiving a query at a query assistant running on a computer server, determining a complexity of the query, adjusting the complexity by the load factor, simplifying the query by removing one or more first query elements from the query when the adjusted complexity is above a threshold, forming a query plan where the first query elements are designated for processing outside the data source, and performing the query plan by sending one or more abbreviated queries to the data source and processing the first query elements using the query assistant. The abbreviated queries are based on the query with the first query elements removed. In some examples, the query may be iteratively simplified until a second adjusted complexity of a simplified version of the query falls below the threshold.