Claims
- 1. A system for accessing information from a plurality of distributed and heterogeneous data sources each having a plurality of users and applications with a plurality of domain perspectives, the architecture comprising:
a user domain module operable to act as an interface with the users and the applications by translating queries from the users and the applications into a form recognizable by an aggregation domain module and by receiving responses from the aggregation domain module and translating the responses into a form recognizable by the users and applications; a generic domain module operable to receive translated queries from the user domain module, translate the queries into a form recognizable to a data source domain module, receive responses from the data source domain module, translate the responses into a form recognizable by the user domain module, and transmit the translated responses to the user domain module; and a data source domain module operable to receive the translated queries from the aggregation domain module, identify target data sources to transmit the queries to, translate the queries specific to the identified data sources, receive responses from the identified data sources, translate the responses, and transmit the translated responses to the aggregation domain module; and a knowledge base comprising a data model of the generic domain, data models of each data source, conceptual terminology translations between the user domains and the generic domain and conceptual terminology translations between the generic domain and the data sources.
- 2. The system according to claim 1, wherein the data model comprises data classes, data classifications, data subclasses, relationships among data classes, and data attributes.
- 3. The system according to claim 1, wherein each conceptual terminology translation comprises a mapping between a term in a first domain and constraints of other terms in the first domain to a term in a second domain and constraints of other terms in the second domain.
- 4. The system according to claim 1, wherein the knowledge base synthesizes user domain conceptual terminology translations, a generic model of the overall domain of discourse, data source domain conceptual terminology translations, and data source models through the user domain module, aggregation module, and the data source module to enable access to a plurality of data sources, and provides knowledge to each of the user domain, aggregation domain, and data source domain.
- 5. The system according to claim 1, wherein the user domain module utilizes concept mapping from the user to generic domains.
- 6. The system according to claim 1, wherein the aggregation domain module comprises a generic data model that describes an overall domain and is described by groupings of data and relationships and classifications among the groupings of data.
- 7. The system according to claim 1, wherein the data source domain module comprises data models of the data sources, and wherein the data models describe groupings of data and relationships and classifications among the groupings of data.
- 8. The system according to claim 1, further comprising:
a plurality of user domains each described by concept mappings from user domains to the generic model, wherein the user domain module is operable as an interface between the user applications and the sources by translating queries from the users applications into forms recognizable by the aggregation domain module and operable to translate responses from the aggregation domain module into a form recognizable by the users and the applications.
- 9. The system according to claim 1, wherein the user domain module is operable to receive queries in terminology of the users and applications.
- 10. The system according to claim 1, wherein the user domain module, the aggregation domain module, and the data source domain module are operable to utilize the conceptual terminology translations to translate the queries.
- 11. The system according to claim 1, wherein the aggregation domain uses an overall model of all user domain and database domain models.
- 12. The system according to claim 1, wherein the users and the applications express queries using a high-level request language in the terminology of the user domains and the application domains.
- 13. The system according to claim 1, wherein the user domain module, the aggregation domain module, and the data source domain module utilize the conceptual terminology translations to dissect the queries.
- 14. The system according to claim 1, wherein the data source domain module translates the queries by selecting matching data source contexts.
- 15. A method for maintaining application and data source autonomy, the method comprising:
providing an intermediate layer that decouples users and applications from underlying data sources.
- 16. A method for accessing information from distributed heterogeneous sources, the method comprising:
receiving queries from users and applications; translating the queries into a form from which it can be determined the data sources to address the queries; determining which data sources the queries should be transmitted to; formulating data source queries that navigate underlying representations of the data sources in native languages of the data sources; transmitting the queries to the data sources; receiving responses to the queries; aggregating the responses from individual data sources into a single response; translating the responses into a form recognizable to the users and applications; and transmitting the responses to the users and applications.
- 17. The method according to claim 16, wherein the users and applications formulate the queries in a simplified query language.
- 18. The method according to claim 16, wherein translating the queries comprises:
analyzing the queries by applying concept mappings that describe a mapping of concepts from a user domain to an aggregation domain and from the aggregation domain to a data source domain.
- 19. The method according to claim 16, wherein the queries from the users and the applications are received and translated by a user domain.
- 20. The method according to claim 19, further comprising:
receiving the translated queries with a user domain; further translating the queries with an aggregation domain into a form from which it can be determined which data sources to transmit the queries to; and transmitting the further translated queries to a data source domain.
- 21. The method according to claim 20, further comprising:
receiving the further translated queries with the data source domain; formulating data source queries that navigate underlying representations of the data sources in native languages of the data sources; and transmitting at least portions of the queries to the data sources.
- 22. The method according to claim 21, wherein the data source domain module receives responses to the queries from the data sources, translates the responses to the queries and transmits the translated responses to the aggregation domain module, wherein the aggregation domain module receives the translated responses, aggregates the data returned from individual data sources, and transmits the translated responses to the user domain module which further translates the responses into a form recognizable to the users and applications.
- 23. The method according to claim 16, wherein determining which data sources to transmit the queries to comprises matching contexts derived from the queries with contexts in the data models.
- 24. A system for accessing information from a plurality of diverse data sources, the system comprising:
a user domain module, comprising:
a query parser for receiving queries from users and applications, the queries comprising information to be retrieved, relationships of among the information, and constraints associated with the information; an attribute name resolver for translating the queries into a form recognizable to a generic domain; and a generic to attribute name converter for translating responses to the queries into a form recognizable by the applications and users; an aggregation domain module, comprising:
an attribute name location mapper for receiving translated queries from the user domain and determining locations of data for responding to the queries; a location resolver for determining a best location for data when multiple locations exist; and a data aggregation function for receiving responses from data sources and translating data in the responses into a form recognizable by the user domain; a data source domain module, comprising:
a generic to data source converter for converting query attributes to a form recognizable to locations where the data is stored; a query generator to automatically formulate data source queries to navigate underlying representations of the data sources in native query languages of the data sources; a query transmitter for transmitting the formulated queries to the data source locations; and a data converter for receiving responses to the formulated queries from the data storage locations and translating the responses to the terminology of the generic to attribute name converter; and a knowledge base module, comprising:
a data model of the generic domain, data models of each data source, conceptual terminology translations between the user domains and the generic domain and conceptual terminology translations between the generic domain and the data sources.
- 25. A computer program product for performing an information retrieval process in an information access system, comprising:
a computer readable medium; computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of: receiving queries from users and applications; translating the queries into a form from which it can be determined the data sources to address the queries; determining which data sources the queries should be transmitted to; transmitting the queries to the data sources; retrieving responses to the queries; aggregating the responses from the data sources into a single response; translating the responses into a form recognizable to the users and applications; and transmitting the responses to the users and applications.
- 26. A system for performing an information access process, comprising:
a processor operable to execute computer program instructions; and a memory operable to store computer program instructions executable by the processor, for performing the steps of: receiving queries from users and applications; translating the queries into a form from which it can be determined the data sources to address the queries; determining which data sources the queries should be transmitted to; transmitting the queries to the data sources; retrieving responses to the queries; aggregating the responses from the data sources into a single response; translating the responses into a form recognizable to the users and applications; and transmitting the responses to the users and applications.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. provisional application No. 60/213,643, filed Jun. 23, 2000, the entire contents of the disclosure of which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60213643 |
Jun 2000 |
US |