Patent ID: 7315872
Filing Date: 2008-01-01
Classification: G06F,Y10S

Abstract:
1. A method for integrating data in a database management system, said method comprising: grouping data sources and replicas of said data sources that provide analogous data into a common logical domain, wherein said data sources and said replicas comprise data distributed in a computer grid environment; registering a nickname for said common logical domain; summarizing, using a wrapper, said data sources and said replicas in a metadata repository, wherein said wrapper dynamically contacts said metadata repository to asynchronously retrieve said correct set of data sources and replicas according to query predicates and quality-of-service (QOS) requirements, wherein said QOS requirements comprise tolerable data staleness factors; writing application queries against said common logical domain; selecting a correct set of replicas of said data sources and a query-execution strategy for combining a content of said correct set of replicas of said data sources in order to answer said application queries according only to query-cost-based optimization; selecting a correct set of data sources according to run-time constraints, wherein said query-execution strategy comprise reply plans for executing said query and storing data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, wherein said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and wherein a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query-execution strategy; adapting said correct set of data sources and replicas after execution of said application queries has begun, wherein said adapting comprises (i) completing said application queries with partially-completed results from available data sources, (ii) completing said processing of said query by automatically switching said data sources to said replicas, and (iii) tracking a provenance of said data sources and replicas used to answer said application queries; shielding said application queries from changes to said data sources by dynamically binding said application queries against the correct sets of data sources and replicas of said data sources; and processing said application queries by generating an optimum query result based on said grouping and said shielding; and gathering access statistics during execution of said processing to guide future replication of said data, wherein said wrapper is adapted to allow a database optimizer to select said optimum query result according to said data source and replica performance, and availability of said data source and said replicas.