In a computer data network having a plurality of interconnected local databases with a plurality of users each capable of generating a global query for accessing and retrieving data from said databases in accord with a single query protocol, said global query including at least one data field from a set of commonly used data fields, a database controller for directing the transmission of the user generated global query to individual ones of the local databases and for receiving and integrating the requested data received from the databases into a single response and for transmitting the integrated single response to the requesting user, said database controller comprising:
- a central database comprising:
- a smart data dictionary (SDD) containing a database of data representing schema, data distribution, local site configuration and inter-site relationships of data among the local databases in the network for each database in the network that together define a single global schema for accessing a virtual database;
- a filter that enumerates the local databases having data responsive to the global query in accord with said data field and the data contained in the SDD;
- an input translator that converts the data field in the global query into local data fields compatible with the enumerated local databases in accord with the local site configuration in the SDD;
- and
- a data information manager (DIM) communicating both with said SDD to retrieve data therefrom, and with said user to receive said global query therefrom and to transmit responsive data thereto, for decomposing the global data query into a local-site execution plan that includes said local data fields for retrieval of data from the enumerated local databases, and for transmitting that portion of said local-site execution plan to be executed to the appropriate database for execution, and receiving data therefrom responsive to said local-site execution plan and said local data field;
- a plurality of local information managers (LIMs), each communicating with said DIM and said SDD, for controlling data flow to and from a specified database in the network in response to that portion of said local-site execution plan received from said DIM and for transmitting retrieved data responsive to that portion of said local-site execution plan to said DIM,
- each of said LIMs further adapted for generating, in accord with the data contained in said SDD, a data retrieval request for execution by another LIM and for receiving data therefrom in response thereto, in order to complete that portion of said local-site execution plan received by it for execution;
- and
- an output translator in said central database that converts the data received from each of the LIMs in accord with its local site configuration to a single site configuration, said DIM combining said data into an integrated single response and transmitting it back to the requesting user.