Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
First Claim
1. A method of retrieving data from databases in a database management system having a processor, at least a first database, a second database and a third database, and a user interface coupled to the first, second and third databases, the method including the steps of:
- (1) generating a first request by the user interface to the first database for retrieval of a data item having a reference in the first database;
(2) determining whether the data item is stored in the first database;
(3) if the determination in step 2 is positive, then retrieving the data item from the first database, returning it to the user interface, and ending the retrieval procedure;
(4) if the determination in step 2 is negative, then determining whether the first database'"'"'s reference to the data item is a reference to a location in the second database;
(5) if the determination in step 4 is positive, then generating a second request to the second database for retrieval of the data item;
(6) determining whether the data item is stored at the referenced location in the second database;
(7) if the determination in step 6 is positive, then retrieving the data item from the second database, and returning it to the user interface;
(8) if the determination in step 6 is negative, then determining whether the referenced location in the second database includes a further reference to a location in the third database;
(9) if the determination of step 8 is positive, then generating a third request to the third database for retrieval of the data item;
(10) determining whether the data item is stored at the referenced location in the third database; and
(11) if the determination of step 10 is positive, then retrieving the data item from the third database, returning it to the user interface, and updating the first database'"'"'s reference to the data item to include a reference to the location of the data item in the third database.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for virtual data integration in a database management system, specifically for providing multidatabase query and retrieval capability, where queries are generated at a user interface and passed to one of a plurality of databases. An organization engine (OE) is coupled to the user interface and, via an organization engine/database interface for each database, to the databases. The organization engine comprises a software module that passes a MakeCallBack routine along with the user query to the OE/database interface. The query is passed on to the database. If the queried data is not found at the queried database, but rather a reference to another database is found there, then that reference is passed back with a CallBack routine to the OE. The query is then redirected to the referenced database, and repeats the procedure until the sought data is actually located. The CallBack routine provides the OE with information for updating the information relating to this query, so that the next time the query is made, it is automatically routed to the correct database, i.e. the database actually holding the sought data. The modules implementing the invention may reside on a computer in addition to those storing the databases and those used by the user(s), or may reside on one of these latter computers. In a network of databases accessed by multiple users from remote locations, each user can then develop an updated index for all of the databases automatically, as queries are made.
313 Citations
6 Claims
-
1. A method of retrieving data from databases in a database management system having a processor, at least a first database, a second database and a third database, and a user interface coupled to the first, second and third databases, the method including the steps of:
-
(1) generating a first request by the user interface to the first database for retrieval of a data item having a reference in the first database; (2) determining whether the data item is stored in the first database; (3) if the determination in step 2 is positive, then retrieving the data item from the first database, returning it to the user interface, and ending the retrieval procedure; (4) if the determination in step 2 is negative, then determining whether the first database'"'"'s reference to the data item is a reference to a location in the second database; (5) if the determination in step 4 is positive, then generating a second request to the second database for retrieval of the data item; (6) determining whether the data item is stored at the referenced location in the second database; (7) if the determination in step 6 is positive, then retrieving the data item from the second database, and returning it to the user interface; (8) if the determination in step 6 is negative, then determining whether the referenced location in the second database includes a further reference to a location in the third database; (9) if the determination of step 8 is positive, then generating a third request to the third database for retrieval of the data item; (10) determining whether the data item is stored at the referenced location in the third database; and (11) if the determination of step 10 is positive, then retrieving the data item from the third database, returning it to the user interface, and updating the first database'"'"'s reference to the data item to include a reference to the location of the data item in the third database. - View Dependent Claims (2, 3)
-
-
4. A system for retrieving data from a first database, a second database and a third database, the first database including a first reference to a data item, the databases being coupled to a user interface having a processor, said system comprising:
-
generating means for generating a first data query to said first database, requesting retrieval of said data item; retrieval means for determining whether said data item is in a given database, and if so, for retrieving said data item from said given database, the retrieval means including; means for determining whether said data item is stored in said first database, and if so, for retrieving said data item and returning it to said user interface; means for determining whether said first reference is to a location in said second database, and if so, for generating a second data query to the second database, requesting retrieval of said data item at said second database location; means for determining whether said data item is stored at said second database location, and if so, for retrieving said data item and returning it to the user interface; means for determining whether said second database includes a second reference for said data item to a location in said third database, and if so, for generating a third data query to the third database, requesting retrieval of said data item at said third database location; means for determining whether said data item is stored at said third database location, and if so, for retrieving said data item and returning it to the user interface; and updating means for updating the first database'"'"'s reference to the data item to include a reference to the location of the data item in the third database, if said data item was stored there. - View Dependent Claims (5, 6)
-
Specification