Architecture for distributed database information access
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for accessing information from data sources. A user domain translates queries from users and applications for recognition by an aggregation domain, receives responses from the aggregation domain, and translates the responses for recognition by the users and applications. An aggregation domain receives translated queries from the user domain, translates the queries for recognition by a data source domain, receives responses from the data source domain, translates the responses for recognition by the user domain, and transmits the translated responses to the user domain. A data source domain receives the translated queries from the aggregation domain, identifies data sources to receive the queries, translates the queries to the data sources, receives responses from the data sources, translates the responses, and transmits the translated responses to the aggregation domain. A knowledge base the domains use to automatically function includes data models and conceptual terminology translations.
205 Citations
26 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23)
-
-
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.
-
-
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.
-
Specification