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

Push down optimization in a distributed, multi-database system

Assignee: International Business Machines Corp
•
Filing: 1994-09-29
•
Granted: 1996-12-24
•
Expires: 2014-09-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract High performance query optimization in a heterogeneous distributed multi-database system. An efficient technique is disclosed to enable an interface module, located between a host computer and a back-end database system, to perform maximal query or subquery push down. That is, the interface module is configured to select either the entire query or the largest subquery(s) that can be forwarded to a single database instance within the back-end database system without extensive decomposition or extraneous commands. The interface module has stored therein a data structure having information concerning the data stored in, and the capabilities of, each of the back-end databases in the heterogeneous environment. Based on this information, the interface module determines whether a query or subquery satisfies two criteria. First, the interface module determines whether a single database instance within the heterogeneous environment contains all of the data referenced in the query or subquery. This is referred to as data coverage. Next, the interface module determines whether the same single database instance provides all the functions or capabilities needed to satisfy the query or subquery. This is referred to as function or capability coverage. If both of these criteria are met, the query or subquery can be pushed down to the single database instance.

Inventors

  • 👤 Eileen T. Lin
  • 👤 Yun Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 03:49
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2458; G06F16/2471; G06F16/2453; G06F16/24534; G06F16/24542; G06F16/25; Y; Y10; Y10S; Y10S707/00; Y10S707/964; Y10S707/966; Y10S707/99931

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 108 words
In a heterogeneous, distributed database system having a plurality of database instances, a computer-based method of optimizing performance of the database system by determining whether a query can be pushed down to a single database instance, comprising the steps of: (1) evaluating the query for data coverage by determining whether all data referenced in the query is located within a single database instance; (2) evaluating the query for capability coverage by determining whether all capabilities referenced in the query can be performed by said single database instance; and (3) pushing down the query to the single database instance if said data coverage and said capability coverage are satisfied.
Claim 2
Dependent Claim 108 words
In a heterogeneous, distributed database system having a plurality of database instances, a computer-based method of optimizing performance of the database system by determining whether a query can be pushed down to a single database instance, comprising the steps of: (1) evaluating the query for data coverage by determining whether all data referenced in the query is located within a single database instance; (2) evaluating the query for capability coverage by determining whether all capabilities referenced in the query can be performed by said single database instance; and (3) pushing down the query to the single database instance if said data coverage and said capability coverage are satisfied.
Claim 3
Dependent Claim 35 words
The method of claim 1, further comprising the step of receiving the query from a host computer that permits a user to access data in the heterogeneous, distributed database system using Structured Query Language (SQL).
Claim 4
Dependent Claim 20 words
The method of claim 2, further comprising the step of performing steps (1) through (3) on subqueries within the query.
Claim 5
Dependent Claim 209 words
A computer-based method for optimizing performance of a heterogeneous, distributed database system comprising a plurality of heterogeneous database instances, wherein data associated with a client is distributed among said heterogeneous database instances, comprising the steps of: (1) receiving a query from a host computer, wherein said query has one or more subqueries contained therein; (2) evaluating said query bottom-up to determine whether each of said one or more subqueries satisfies a data coverage criteria and a capability coverage criteria, wherein said data coverage criteria requires all data referenced in a particular subquery to be located within a single database instance and said capability coverage criteria requires that said single database instance perform all capabilities referenced in said particular subquery; (3) marking said one or more subqueries as push down-able if said data coverage criteria and said capability coverage criteria are satisfied; and (4) evaluating said query top-down to determine which subqueries have been marked by step (3) in order to determine whether said query in its entirety or said one or more subqueries can be pushed down to said single database instance, whereby said top down evaluation of said query ensures that the highest push down-able ancestor subquery will get pushed down together with all enclosed push down-able subqueries.
Claim 6
Dependent Claim 209 words
A computer-based method for optimizing performance of a heterogeneous, distributed database system comprising a plurality of heterogeneous database instances, wherein data associated with a client is distributed among said heterogeneous database instances, comprising the steps of: (1) receiving a query from a host computer, wherein said query has one or more subqueries contained therein; (2) evaluating said query bottom-up to determine whether each of said one or more subqueries satisfies a data coverage criteria and a capability coverage criteria, wherein said data coverage criteria requires all data referenced in a particular subquery to be located within a single database instance and said capability coverage criteria requires that said single database instance perform all capabilities referenced in said particular subquery; (3) marking said one or more subqueries as push down-able if said data coverage criteria and said capability coverage criteria are satisfied; and (4) evaluating said query top-down to determine which subqueries have been marked by step (3) in order to determine whether said query in its entirety or said one or more subqueries can be pushed down to said single database instance, whereby said top down evaluation of said query ensures that the highest push down-able ancestor subquery will get pushed down together with all enclosed push down-able subqueries.
Claim 7
Dependent Claim 70 words
The method of claim 4, further comprising the step of generating a set of execution commands to be forwarded to the heterogeneous, distributed database system, wherein said set of execution commands include a first subset of commands directed to said query or said one or more subqueries that can be pushed down and a second subset of commands directed to said one or more subqueries that cannot be pushed down.
Claim 8
Dependent Claim 36 words
The method of claim 4, further comprising the step of decomposing said one or more subqueries that cannot be pushed down into manageable execution commands that can be executed by said plurality of heterogeneous database instances.
Claim 9
Dependent Claim 253 words
A computer-based system for optimizing performance of a heterogeneous, distributed database system, comprising: a plurality of heterogeneous database management systems, wherein data associated with a client is distributed among said heterogeneous database management systems; an interface module configured to receive a query from a host computer and to translate said query for transfer to said heterogeneous database management systems, said query having one or more subqueries contained therein, wherein said interface module is configured to provide a host computer with transparent access to the heterogeneous database management systems, said interface module comprising, means for performing a bottom-up evaluation of said query to determine whether each of said one or more subqueries satisfies a data coverage criteria and a capability coverage criteria, wherein said data coverage criteria requires all data referenced in a particular subquery to be located within a single database instance and said capability coverage criteria requires that said single database instance perform all capabilities referenced in said particular subquery; means for marking said one or more subqueries as push down-able if said data coverage and said capability coverage are satisfied; and means for performing a top-down evaluation of said query to determine which subqueries have been marked push down-able in order to determine whether said query in its entirety or said one or more subqueries can be pushed down to said single database instance, whereby said top down evaluation of said query ensures that the highest push down-able ancestor subquery will get pushed down together with all enclosed push down-able subqueries.
Claim 10
Dependent Claim 253 words
A computer-based system for optimizing performance of a heterogeneous, distributed database system, comprising: a plurality of heterogeneous database management systems, wherein data associated with a client is distributed among said heterogeneous database management systems; an interface module configured to receive a query from a host computer and to translate said query for transfer to said heterogeneous database management systems, said query having one or more subqueries contained therein, wherein said interface module is configured to provide a host computer with transparent access to the heterogeneous database management systems, said interface module comprising, means for performing a bottom-up evaluation of said query to determine whether each of said one or more subqueries satisfies a data coverage criteria and a capability coverage criteria, wherein said data coverage criteria requires all data referenced in a particular subquery to be located within a single database instance and said capability coverage criteria requires that said single database instance perform all capabilities referenced in said particular subquery; means for marking said one or more subqueries as push down-able if said data coverage and said capability coverage are satisfied; and means for performing a top-down evaluation of said query to determine which subqueries have been marked push down-able in order to determine whether said query in its entirety or said one or more subqueries can be pushed down to said single database instance, whereby said top down evaluation of said query ensures that the highest push down-able ancestor subquery will get pushed down together with all enclosed push down-able subqueries.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-12-24 2000-06-24 2000-12-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-12-24 2004-06-24 2004-12-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-12-24 2008-06-24 2008-12-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag