← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag