Patent US5943666A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5943666A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for optimizing queries across heterogeneous databases

Assignee: International Business Machines Corp
•
Filing: 1997-09-15
•
Granted: 1999-08-24
•
Expires: 2017-09-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A heterogeneous database system includes plural databases, one database acting as a system manager which performs functions to provide a transparent user interface that encompasses both the system manager database and other databases. The system manager includes a memory which stores (i) a database management procedure, (ii) a catalog of database functions that are supported by the plural databases, and (iii) a query optimizer procedure. A processor is responsive to a user query which requires data stored at a remote database, to execute the query optimizer procedure. The query optimizer procedure employs entries from the catalogue relating to database functions supported by both the system manager database and the remote database and establishes query plans for responding to the query. A first query plan is based upon execution at the remote database and a second query plan is based upon execution at the system manager database. The query optimizer then chooses one of the query plans in accordance with a determined criteria and causes the selected plan to be executed.

Inventors

  • 👤 James Charles Kleewein
  • 👤 Eileen Tien Lin
  • 👤 Tina Louise Mukai
  • 👤 Shivakumar Venkataraman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 12:18
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2458; G06F16/2471; G06F16/2453; G06F16/24534; G06F16/24542; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 209 words
A heterogeneous database system including plural databases, one database acting as a system manager (hereafter "system manager") which performs functions to provide a transparent user database encompassing both said one database and other databases, said system manager comprising: a memory for storing (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; and a processor coupled to said memory and responsive to a user query which requires execution of a database function with respect to data stored at a first database, for executing said query optimizer procedure, said processor, under control of said query optimizer procedure, employing entries from said catalogue relating to database functions supported by both said first database and a second database, to establish query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said second database, and for choosing one of said query plans in accordance with a determined criteria, to be executed by said database management procedure in response to said user query.
Claim 2
Dependent Claim 209 words
A heterogeneous database system including plural databases, one database acting as a system manager (hereafter "system manager") which performs functions to provide a transparent user database encompassing both said one database and other databases, said system manager comprising: a memory for storing (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; and a processor coupled to said memory and responsive to a user query which requires execution of a database function with respect to data stored at a first database, for executing said query optimizer procedure, said processor, under control of said query optimizer procedure, employing entries from said catalogue relating to database functions supported by both said first database and a second database, to establish query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said second database, and for choosing one of said query plans in accordance with a determined criteria, to be executed by said database management procedure in response to said user query.
Claim 3
Dependent Claim 54 words
The heterogeneous database system as recited in claim 1, wherein said processor, under control of said query optimizer procedure, employs entries from said catalogue relating to functions supported by said first database, to emulate a query optimization procedure for said first database, approximately as said query optimization procedure is executed by said first database.
Claim 4
Dependent Claim 25 words
The heterogeneous database system as recited in claim 1, wherein said determined criteria for choosing one of said query plans is an execution cost thereof.
Claim 5
Dependent Claim 57 words
The heterogeneous database system as recited in claim 1, wherein said catalogue includes, for each database type, entries which define supported functions, said supported functions at least including: a search algorithm or algorithms used in said database type; a data access method or methods used in said database type; and join methods used by said database type.
Claim 6
Dependent Claim 22 words
The heterogeneous database system as recited in claim 1, wherein said second database is the database that acts as said system manager.
Claim 7
Dependent Claim 70 words
The heterogeneous database system as recited in claim 5, wherein said processor employs one of said query plans, chosen in accord with said determined criteria, to access data from one of said plural databases and to present said data to a user processor as though said data had come from the database that acts as said system manager, whether or not said data came therefrom or from said first database.
Claim 8
Dependent Claim 20 words
The heterogeneous database system as recited in claim 1, wherein said first database is remotely positioned from said system manager.
Claim 9
Dependent Claim 224 words
A memory media including software procedures to provide transparent access to plural heterogeneous databases, one of said databases acting as a system manager (hereafter "system manager") which performs functions of a transparent user database encompassing both said one of said databases and other databases, said memory media comprising: a) means for causing said system manager to store (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; and b) means for controlling a processor in said system manager to be responsive to a user query which requires execution of a database function with respect to data stored at a first database, to execute said query optimizer procedure, said query optimizer procedure employing entries from said catalogue relating to database functions supported by both said system manager and said first database, by establishing query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said system manager, and for choosing one of said query plans in accordance with a determined criteria, to be executed by said database management procedure in response to said user query.
Claim 10
Dependent Claim 224 words
A memory media including software procedures to provide transparent access to plural heterogeneous databases, one of said databases acting as a system manager (hereafter "system manager") which performs functions of a transparent user database encompassing both said one of said databases and other databases, said memory media comprising: a) means for causing said system manager to store (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; and b) means for controlling a processor in said system manager to be responsive to a user query which requires execution of a database function with respect to data stored at a first database, to execute said query optimizer procedure, said query optimizer procedure employing entries from said catalogue relating to database functions supported by both said system manager and said first database, by establishing query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said system manager, and for choosing one of said query plans in accordance with a determined criteria, to be executed by said database management procedure in response to said user query.
Claim 11
Dependent Claim 51 words
The memory media as recited in claim 8, wherein said means b) causes said processor to employ entries from said catalogue relating to functions supported by said first database, to emulate a query optimization procedure for said first database approximately as said query optimization procedure is executed by said first database.
Claim 12
Dependent Claim 30 words
The memory media as recited in claim 8, wherein said means b) causes said processor to utilize execution cost as said determined criteria for choosing one of said query plans.
Claim 13
Dependent Claim 57 words
The memory media as recited in claim 8, wherein the catalogue of means a) includes, for each database type, entries which define supported functions, said supported functions including: a search algorithm or algorithms used in said database type; a data access method or methods used in said database type; and join methods used by said database type.
Claim 14
Dependent Claim 73 words
The memory media as recited in claim 8, wherein said means b) causes said processor to employ one of said query plans, chosen in accord with said determined criteria, to access data from one of said plural databases and to present said data to a user processor as though said data had come from said system manager database, whether or not said data came from said system manager database or said first database.
Claim 15
Dependent Claim 19 words
The memory media as recited in claim 8, wherein said first database is remotely positioned from said system manager.
Claim 16
Independent Claim 209 words
A method for choosing an optimized query plan for accessing data in a heterogeneous database system, one database acting as a system manager (hereafter "system manager") which performs functions of a transparent user database, said method implemented by said system manager and comprising the steps of: a) storing (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; b) responding to a user query which requires execution of a database function with respect to data stored at a first database, by executing said query optimizer procedure, said query optimizer procedure employing entries from said catalogue relating to database functions supported by both said first database and a second database, and establishing query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said second database; c) choosing one of said query plans in accordance with a determined criteria; and d) executing said database management procedure, using a query plan chosen in step c) in response to said user query.
Claim 17
Independent Claim 209 words
A method for choosing an optimized query plan for accessing data in a heterogeneous database system, one database acting as a system manager (hereafter "system manager") which performs functions of a transparent user database, said method implemented by said system manager and comprising the steps of: a) storing (i) a database management procedure, (ii) a catalogue of database functions that are supported by said plural databases, including but not limited to join methods, aggregate functions and search algorithms, and (iii) a query optimizer procedure; b) responding to a user query which requires execution of a database function with respect to data stored at a first database, by executing said query optimizer procedure, said query optimizer procedure employing entries from said catalogue relating to database functions supported by both said first database and a second database, and establishing query plans for responding to said query, a first said query plan based upon an optimized execution thereof at said first database and a second said query plan based upon an optimized execution thereof at said second database; c) choosing one of said query plans in accordance with a determined criteria; and d) executing said database management procedure, using a query plan chosen in step c) in response to said user query.
Claim 18
Dependent Claim 45 words
The method as recited in claim 14, wherein step b) employs entries from said catalogue relating to functions supported by said first database, and emulates a query optimization procedure for said first database approximately as said query optimization procedure is executed by said first database.
Claim 19
Dependent Claim 24 words
The method as recited in claim 14, wherein step c) employs execution cost as said determined criteria for choosing one of said query plans.
Claim 20
Dependent Claim 20 words
The method as recited in claim 14, wherein said second database is the database that acts as said system manager.
Claim 21
Dependent Claim 63 words
The method as recited in claim 17, wherein step d) employs one of said query plans, chosen in accord with said determined criteria, to access data from one of said plural databases and to present said data to a user processor as though said data had come from said database that acts as said system manager, whether or not said data came therefrom.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-23 2003-02-22 2003-08-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-23 2007-02-22 2007-08-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-23 2011-02-22 2011-08-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag