Database Session Allocation via Priority-Based Query Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems face limitations in handling a large number of clients querying the database, as they require a finite number of sessions, leading to session pool exhaustion and preventing all clients from accessing the database when demand exceeds available sessions.
Innovation Solution
A system that allocates database sessions dynamically, using a processor to manage queries and maintain a register of available sessions, prioritizing queries based on importance and allocating sessions efficiently to ensure continuous database accessibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If connection pooling is used to manage database sessions, then session allocation is improved, but the system cannot handle more clients than available sessions
Solution Approach 1:
The system dynamically allocates database sessions based on query priority rather than statically assigning one session per client. High-priority queries can acquire sessions immediately while lower-priority queries wait, allowing the same session pool to serve more clients effectively by adapting session allocation to current demand and priority levels.
Solution Approach 2:
The patent introduces a session management intermediary that sits between clients and the database session pool. This intermediary manages session acquisition, allocation, and release, allowing multiple clients to share a limited session pool through controlled access and priority-based allocation, thereby serving more clients than the raw session count would suggest.
2Ease of operation
If a single session is allocated to each client, then client control over the session is improved, but session idle time increases and resource utilization decreases
Solution Approach 1:
The patent segments the session allocation unit from the client level to the query level. Instead of allocating a session to a client for the entire duration of client activity, sessions are allocated individually to each query based on priority. This allows sessions to be released back to the pool after each query completes, reducing idle time while still providing clients with effective control over their query execution.
Solution Approach 2:
The system dynamically adjusts session allocation based on query priority and current system state. High-priority queries receive sessions immediately, while lower-priority queries may wait or share sessions. This dynamic approach reduces session idle time by reallocating sessions from completed queries to new high-priority queries, rather than keeping sessions statically assigned to clients during idle periods.
3Productivity
If the session pool is limited, then resource management is improved, but clients are prevented from querying when sessions are exhausted
Solution Approach 1:
The system implements dynamic session allocation where the effective number of available sessions varies based on query priority and current system state. When sessions are exhausted, high-priority queries can still acquire sessions by preempting lower-priority queries, ensuring database accessibility is maintained for critical operations while preserving resource management through controlled allocation.
Solution Approach 2:
The patent implements a feedback mechanism where the session manager monitors session availability and query priorities, continuously adjusting allocation decisions. When sessions are exhausted, the system feedbacks this state to incoming queries, allowing priority-based waiting or preemption. This ensures that database accessibility is maintained for important queries while managing limited resources effectively.
Data Source
AI summary
A system and method for managing SQL queries in a database system. The system and method allocates database sessions to database queries and manages the database sessions and queries to provide improved, near real-time access to a database system.


