EP0490465A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Methods and apparatus for accessing non-relational data files using relational queries
Assignee: Digital Equipment Corp
•
Filing: 1991-07-04
•
Granted: —
•
Expires: 2011-07-04
Abstract
Abstract A relational data access facility allows relation-type queries to access data stored in non-relational data files by converting relational queries into a set of common commands which are sent to data drivers to obtain the data specified by those queries. The facility uses metadata which describes the organization of the data in the non-relational files, and examines the expressions in the relational queries to formulate an access plan for the data. The plan is formulated to reduce cost and promote efficiency.
Inventors
- 👤 John S. Heffernan
- 👤 Peter L. Savage
- 👤 Steven J. Pittman
- 👤 Ramu V. Sunkara
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-10-30 14:47
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/284; G06F16/25; G06F16/258; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934
Claims Analysis
Total Claims: 39
Claim 1
Independent Claim
111 words
A system for providing relational access to data stored in non-relational data files in response to relational-type queries comprising: dictionary means for maintaining metadata corresponding to each of the non-relational data files, the metadata defining the data organization in a corresponding non-relational data file; data engine means, coupled to the dictionary means, for accessing the metadata from the dictionary means and for decoding the relational-type queries into a set of common data access commands; and data driver means, coupled to the data engine means, for accessing the data in the non-relational data files specified by each of the data access commands received from the data engine means according to the metadata.
Claim 2
Dependent Claim
40 words
The system of claim 1 wherein the dictionary means includes field means for storing field definitions for each of the non-relational data files, the field definitions specifying the basic units of data as fields in the corresponding non-relational data file.
Claim 3
Dependent Claim
38 words
The system of claim 2 wherein the dictionary means includes relation means for storing relation definitions for each of the non-relational data files, the relation definitions specifying compositions of fields as relations in the corresponding non-relational data file.
Claim 4
Dependent Claim
38 words
The system of claim 3 wherein the dictionary means includes view means for storing view definitions for each of the non-relational data files, the view definitions specifying compositions of relations as views in the corresponding non-relational data file.
Claim 5
Dependent Claim
40 words
The system of claim 1 wherein the dictionary means includes a dictionary containing metadata for at least one of the non-relational data files, and a dictionary driver associated with the dictionary and used for accessing the metadata in the dictionary.
Claim 6
Dependent Claim
49 words
The system of claim 5 wherein the dictionary driver includes a dictionary function vector defining metadata access functions supported by the dictionary driver, and wherein the data engine means includes dictionary function vector means for communicating with the dictionary driver to obtain information regarding which supported metadata access functions.
Claim 7
Dependent Claim
30 words
The system of claim 1 wherein the data engine means includes parser means for ensuring the correctness of the relational-type queries and for forming Boolean expressions from the relational-type queries.
Claim 8
Dependent Claim
30 words
The system of claim 1 wherein the data engine means includes optimizing means for placing the set of commands into a sequence which expedites the access of the desired data.
Claim 9
Dependent Claim
21 words
The system of claim 8 wherein the optimizing means includes means for organizing the Boolean expressions into a tree structure .
Claim 10
Dependent Claim
31 words
The system of claim 9 wherein the optimizing means includes means for traversing the tree structure to form an access plan containing the sequence of commands to access the desired data.
Claim 11
Dependent Claim
24 words
The system of claim 10 wherein the optimizing means includes means for examining the amount of system resources used by different sequences of commands.
Claim 12
Dependent Claim
22 words
The system of claim 8 wherein the data engine means includes request processing means for executing the commands in the access plan.
Claim 13
Dependent Claim
51 words
The system of claim 12 wherein data driver means includes a data driver function vector defining data access functions supported by the data driver means, and wherein the request processing means includes function vector means for communicating with the data driver means to obtain information regarding the supported data access functions.
Claim 14
Dependent Claim
37 words
The system of claim 13 wherein the request processing means includes means, coupled to the function vector means, for executing the commands for in the access plan based on information obtained regarding the supported data access functions.
Claim 15
Dependent Claim
83 words
The system of claim 13 wherein the function vector means includes means for receiving from the data driver means a function vector identifying each of the data access functions supported by the data driver means and a corresponding address for invoking each of the supported data access functions, and wherein the request processing means includes means for causing the data driver means to invoke the functions supported by the data driver means by transferring control to the corresponding addresses in the function vector..
Claim 16
Dependent Claim
45 words
The system of claim 1 wherein the data driver means includes means for sending a function vector to the data engine means, the function vector identifying the data access functions supported by the data driver means and a corresponding address for invoking the supported functions.
Claim 17
Dependent Claim
34 words
The system of claim 1 wherein the non-relational data files have file types, and wherein the data file driver means includes a plurality of drivers each corresponding to a different non-relational data file type.
Claim 18
Independent Claim
94 words
A method for providing relational access to data stored in non-relational data files in response to relational-type queries comprisingthe steps, executed by a data processor, of: maintaining metadata corresponding to each of the non-relational data files, the metadata defining the data organization in a corresponding non-relational data file; accessing the metadata from the dictionary means; decoding the relational-type queries into a set of common data access commands; and accessing the data in the non-relational data files specified by each of the data access commands received from the data engine means according to the metadata.
Claim 19
Dependent Claim
24 words
The method of claim 18 further including the step of communicating with the dictionary driver to obtain information regarding which supported metadata access functions.
Claim 20
Dependent Claim
25 words
The method of claim 18 further including the steps of ensuring the correctness of the relational-type queries; and forming Boolean expressions from the relational-type queries.
Claim 21
Dependent Claim
26 words
The method of claim 18 further including the step of placing the set of commands into a sequence which expedites the access of the desired data.
Claim 22
Dependent Claim
35 words
The method of claim 21 wherein the step of placing the set of commands into a sequence which expedites the access of data includes the substep of organizing the Boolean expressions into a tree structure.
Claim 23
Dependent Claim
46 words
The method of claim 22 wherein the step of placing the set of commands into a sequence which expedites the access of data includes the substep of traversing the tree structure to form an access plan containing the sequence of commands to access the desired data.
Claim 24
Dependent Claim
39 words
The method of claim 23 wherein the step of placing the set of commands into a sequence which expedites the access of data includes the substep of examining the amount of system resources used by different sequences of commands.
Claim 25
Dependent Claim
34 words
The method of claim 21 wherein the step of placing the set of commands into a sequence which expedites the access of data includes the substep of executing the commands in the access plan.
Claim 26
Dependent Claim
110 words
For use in a system requesting data from a data file, a data driver comprising: command interface means for receiving commands from the system for accessing data from the data file and for routing those commands to the appropriate locations in the data driver; data access means, responsive to the command interface means, for retrieving data from the data file, the data access means including a plurality of executable functions at corresponding locations; and function vector means for providing to the system through the command interface means an identifications of the functions performed by the data access means and an identification of the corresponding locations for each of the functions.
Claim 27
Dependent Claim
30 words
The data driver of claim 26 wherein the data access means includes means for performing a set data collection function which identifies a set of data from the data file.
Claim 28
Dependent Claim
28 words
The data driver of claim 26 wherein the data access means includes means for allocating metadata memory to store formatting information for the data in the data file.
Claim 29
Dependent Claim
28 words
The data driver of claim 26 wherein the data access means includes means for accessing data according to a data key which uniquely identifies an item of data.
Claim 30
Dependent Claim
107 words
For use in a system requesting metadata from a dictionary, a dictionary driver comprising: command interface means for receiving commands from the system for accessing metadata from the dictionary and for routing those commands to the appropriate locations in the dictionary driver; metadata access means, responsive to the command interface means, for retrieving metadata from the dictionary, the metadata access means including a plurality of executable functions at corresponding locations; and function vector means for providing to the system through the command interface means an identifications of the functions performed by the metadata access means and an identification of the corresponding locations for each of the functions.
Claim 31
Dependent Claim
29 words
The dictionary driver of claim 30 wherein the metadata access means includes means for performing a fetch fields function which returns from the dictionary information about an identified field.
Claim 32
Dependent Claim
32 words
The dictionary driver of claim 30 wherein the metadata access means includes means for performing a fetch relation fields function which returns from the dictionary information about fields for an identified relation.
Claim 33
Dependent Claim
32 words
The dictionary driver of claim 30 wherein the metadata access means includes means for performing a fetch view relations function which returns from the dictionary information about relations for an identified view.
Claim 34
Independent Claim
148 words
A method of transforming a database query having a plurality of record select expressions (RSEs) into a sequence of data access commands, the RSEs referring to an element or group of elements in the query that specify a selection criteria which identifies specific records in the database, and the method comprising the steps, performed by a data processor, of examining the RSEs in a prescribed order determined by the query; and generating an access plan for retrieving data specified by the query, the access plan including a sequence of data access functions, the generation of the access plan including the substep of classifying the RSEs according to ease of data retrieval, determining amounts of system resources required for retrieving data for selected ones of the RSEs, and comparing the total amounts of system resources required for different sequences of data access functions to determine a preferred access plan.
Claim 35
Dependent Claim
23 words
The method of claim 34 wherein the step of examining the RSEs includes the substep of organizing the RSEs into an ordered structure.
Claim 36
Dependent Claim
26 words
The method of claim 35 wherein the step of organizing the RSEs into an ordered structure includes the substep of placing the RSEs into a tree.
Claim 37
Dependent Claim
24 words
The method of claim 36 wherein the step of placing the RSEs into a tree includes the substep of forming nodes of nested expressions.
Claim 38
Dependent Claim
58 words
The method of claim 36 wherein the RSEs contain a Boolean expression, and wherein step of placing the RSEs into a tree includes the substeps of formulating the Boolean expression into the conjunction of a plurality of disjunctive Boolean expressions, and creating the tree having nodes which are the disjunctive Boolean expressions as children of a conjunction parent.
Claim 39
Dependent Claim
52 words
The method of claim 36 wherein the step of generating an access plan includes the substeps of traversing the tree from the bottom up to obtain a sequence of the RSEs, obtaining the data required for each of the RSEs in the sequence, and evaluating each of the RSEs in the sequence.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.