Ontology Query Scheduling With Preemption for Fair Resource Use
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems struggle to efficiently manage query execution across ontology-based databases in a multi-user environment, leading to unfair utilization of computing resources and suboptimal performance.
Innovation Solution
A system that transforms ontology queries into database queries, manages execution based on access controls, and preemptively allocates resources to ensure fair utilization, using a unified interface for querying and optimizing database selection and execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple user accounts execute queries against ontology-based databases simultaneously, then query processing capability is improved, but computing resource utilization becomes unfair and suboptimal
Solution Approach 1:
The system preemptively transforms ontology queries into database queries before execution, and pre-allocates computing resources based on priority levels. This preliminary action allows the system to manage resource distribution proactively rather than reactively, ensuring fair utilization before resource conflicts occur.
Solution Approach 2:
The system dynamically adjusts query execution by preempting lower-priority queries when higher-priority queries need resources. The priority levels and preemption mechanisms allow flexible resource allocation that adapts to changing workloads, improving both productivity and resource utilization fairness.
2Reliability
If complex database queries are executed without preemption, then query completion accuracy is maintained, but resource allocation efficiency deteriorates
Solution Approach 1:
The system performs preliminary transformation of ontology queries into optimized database queries, preparing execution plans in advance. This preliminary action ensures that queries are ready for efficient execution while maintaining accuracy, as the transformation process preserves the semantic meaning of the original queries.
Solution Approach 2:
The system introduces an intermediary layer that manages the transformation and preemption of queries. This intermediary mechanism coordinates between query submission and execution, ensuring that preemption decisions do not compromise query accuracy while improving resource allocation efficiency.
3Speed
If ontology queries are directly executed without transformation, then processing speed is maintained, but resource management and access control effectiveness deteriorate
Solution Approach 1:
The system preemptively transforms ontology queries into database queries before execution, preparing the queries in advance. This preliminary transformation maintains execution speed by having queries ready when resources become available, while the transformation process itself is optimized to minimize overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system for balancing query execution against ontology-based databases among multiple user accounts and related methods are disclosed. The system is programmed to receive database queries transformed from ontology queries from user accounts. The system is further programmed to manage execution of the database queries to enable fair utilization of computing resources among the user accounts, based on tracked usage of computing resources of each user account or estimated costs of pending database queries considering access controls associated with the ontology. Managing execution of the database queries comprises preempting a complex database query for another database query associated with a user account having a current top priority in query execution.