Database Proxy Request Switching via SQL Property Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As data communication networks become increasingly complex with the exponential growth of information types and amounts, managing database servers and providing scalable database services becomes challenging, particularly in client-server relationships where database servers use protocols like SQL.

Innovation Solution

A network appliance acts as a proxy between database servers and clients, providing services such as connection multiplexing, load balancing, health monitoring, authentication, caching, and content switching, and is configured to support SQL language and database protocols, using a multi-core architecture and policy expressions to evaluate request properties for optimal database selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a network appliance acts as a proxy between database servers and clients to provide connection multiplexing and load balancing, then scalability and efficiency are enhanced, but device complexity increases

Engineering Contradiction:
Improvedatabase service scalabilityVSAvoidappliance configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network appliance serves as an intermediary proxy between database servers and clients, managing connections and queries. The appliance evaluates SQL request properties and routes queries to appropriate databases using policy expressions, thereby enhancing scalability while abstracting the complexity from end users through an automated decision-making system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes parameters by evaluating multiple properties of SQL requests (such as query type, data requirements, source identity) and dynamically selecting databases based on these parameter evaluations. This allows the appliance to adapt its routing decisions based on the specific characteristics of each request, improving efficiency without requiring manual configuration for each scenario.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If the appliance evaluates multiple properties of SQL requests to select optimal databases, then query routing precision is improved, but processing time increases

Engineering Contradiction:
Improvedatabase selection accuracyVSAvoidrequest processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The appliance pre-establishes policy expressions that define the evaluation criteria for database selection. These policies are configured in advance to evaluate specific request properties and determine routing decisions, allowing the system to make accurate database selections without performing complex real-time analysis for each query, thus reducing processing time while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the appliance provides comprehensive database services including authentication, caching, and health monitoring, then service reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedatabase service reliabilityVSAvoidappliance functional complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The network appliance is designed as a multi-functional device that provides connection multiplexing, load balancing, authentication, caching, health monitoring, and query routing capabilities. By consolidating these diverse functions into a single appliance, the system improves overall service reliability while managing complexity through integrated design, where multiple functions share common infrastructure and control mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9589029B2Systems and methods for database proxy request switching
Publication Date: 2017.03.07 CITRIX SYSTEMS INC
  • US9589029B2 patent drawing
  • US9589029B2 patent drawing
  • US9589029B2 patent drawing

AI summary

The present application is directed towards systems and methods for selecting a database from a plurality of databases to forward a SQL query request based on a property of the SQL request. A device intermediary to a plurality of clients and databases may establish a plurality of connections to the plurality of databases. The device may receive, from a client of the plurality of clients, a request to execute a SQL query. The device may evaluate one or more properties of the request to execute the SQL query responsive to a policy. The device may select a database from the plurality of databases based on a result of evaluation of the one or more properties of the request to execute the SQL query. The device may forward the request to execute the SQL query to the selected database via a connection of the plurality of connections.