Query Evaluator Virtualizing Object Properties
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In database systems, queries often require the instantiation of entire objects even when only a portion of the object is relevant, leading to inefficient use of computer resources and increased processing time as object size increases.
Innovation Solution
The method involves creating a query evaluator that receives a data construction statement, which includes property identifiers and corresponding query expressions, allowing for the virtualization of data access so that only the necessary properties of an object are accessed without constructing the entire object, using a data provider to manage and retrieve property values efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the entire object is instantiated to access a portion of it, then the property value can be retrieved, but computer system resources are unnecessarily consumed and query processing efficiency decreases
Solution Approach 1:
The patent extracts only the necessary property values from objects rather than instantiating entire objects. The query evaluator identifies and retrieves only the specific properties required by the query, leaving the rest of the object structure uninstantiated. This directly addresses the contradiction by taking out only what is needed, improving query processing efficiency while reducing resource consumption.
Solution Approach 2:
The patent segments the object access process into two distinct phases: query evaluation (identifying needed properties) and object instantiation (creating only those specific properties). This segmentation allows the system to defer instantiation until necessary and only instantiate the required portions, thereby improving productivity while reducing energy loss from creating unnecessary object components.
2Productivity
If the entire object is instantiated prior to query processing, then property access is straightforward, but query processing time increases with object size
Solution Approach 1:
The patent applies preliminary action by having the query evaluator identify and plan the exact properties needed before any object instantiation occurs. The query evaluation phase prepares a precise specification of required properties, which then guides the selective instantiation process. This preliminary planning eliminates wasted time on instantiating unnecessary object components, directly improving query processing speed while reducing time loss.
Solution Approach 2:
The patent implements partial action by instantiating only the specific properties required by the query rather than the entire object. The system performs exactly the amount of instantiation needed—no more, no less—thereby optimizing query processing speed while minimizing the time spent on object creation. This partial action approach directly addresses the time loss problem proportional to object size.
3Measurement precision
If complex data creation statements and queries are used to access data granularly, then data access precision improves, but system complexity increases
Solution Approach 1:
The patent introduces a query evaluator as an intermediary component that bridges the gap between simple property access and complex object instantiation. The query evaluator analyzes queries, identifies required properties, and coordinates selective instantiation without requiring complex data creation statements. This intermediary simplifies the system architecture while maintaining precise data access granularity, directly addressing the complexity problem.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
The present invention extends to methods, systems, and computer program products for virtualizing objects within queries. Embodiments of the invention virtualize data access for use with queries. Virtualization can be implemented within any portion of a syntax tree. For example, data can be virtualized for a property of an object that is itself another object. Data virtualization facilitates lazy evaluation of query expressions. That is, actual property values for properties within a data construction statement are virtualized until a query specifically requests the actual property values. Further, data virtualization also conserves resources and results in more efficient query evaluations.