Databases are widely used to store and manage information. Briefly, and in general terms, a database is a collection of related information related to a particular subject that is organized in a useful manner that allows a database user to search for selected information, and to retrieve the information. In one known variation, which is commonly known as a distributed database, the information storage is distributed throughout a plurality of storage sites that are coupled by a communications network. In many present distributed database systems, the information resides in disparate database systems that exist within distinct geographical and/or corporate boundaries, which presents a challenge to database designers and managers. Advantageously, each database user should have the ability to search and access selected information within the disparate databases with the same performance and functionality.
Referring now to FIG. 1, a distributed database system 10 according to the prior art is shown. The system 10 includes a plurality of data servers, or “federated” systems 12 that operably maintain information that is exclusively controlled by a selected one of the data servers 12. For example, one of the data servers 12 may be controlled by a governmental agency, while another one of the data servers 12 may be controlled by a private organization. The data servers 12 may further include a secure portion 14 and a public portion 16 that are separated by a firewall structure 18. In general, each of the disparate data servers 12 may require different authentication procedures, access control procedures, or require other protocols and/or procedures that are unique to a selected data server 12. Accordingly, agents 20 are positioned between the data servers 12 and a middleware infrastructure 22 to allow information sharing between the plurality of data servers 12. The agents 20 may, for example, include adaptors, brokers or message queues as are understood by those skilled in the art. The middleware infrastructure 22 may manage the transaction between the various data servers 12, and may accelerate client requests by generally reducing the overall number of resource-expensive connections that occur during an information exchange. The middleware infrastructure 22 may also communicate with an applications infrastructure 24 that provides applications access to the various data servers 12.
One drawback associated with the foregoing distributed database system 10 is that the middleware infrastructure 22 and/or the agents 20 are typically difficult and expensive to maintain. Moreover, changes or alterations to the middleware infrastructure 22 and/or the agents 20 may not be properly communicated to each of the data servers 12, so that transactions between various clients 8, or between a selected data servers 12 and the applications infrastructure 24, may occur without notice.
Another drawback associated with the foregoing database system 10 involves data access in general. For example, if a selected one of the clients 8 initiates a search for desired information content that may reside on one of the data servers 12, the search must generally include searching each of the data servers 12 to find the desired information. The foregoing procedure is necessarily time-consuming and may occupy significant resources of the system 10 before the desired information is located.
Still another drawback associated with the database system 10 of FIG. 1 is that a user may be required to repeatedly enter authentication data as the access request moves throughout the system 10. For example, the user may be required to enter a variety of passwords or authentication codes at various times during the access request.
Although desirable results have been achieved, new systems and methods for distributed database management that may have reduced cost and improved searching efficiency would have utility.