A system for efficiently retrieving information from one of several
databases. The system acts as an intermediary between users and databases,
managing user access to the databases so that query specification, query
execution, and query result retrieval can occur efficiently and securely.
After verifying the identity of a user, the system determines the
databases which the user is authorized to access and the database queries
which the user is authorized to execute. The system then presents the user
with available queries. If the user selects a predefined report form, the
system presents the user with previously used options for that report form
which the user can select. If the user selects a type of inquiry, the
system presents the user with previously used inquiries of the selected
type. After the user finishes specifying the query to be executed, the
system then allows the user to schedule the query execution. When the
scheduled execution time arrives, the system determines whether the
selected query can be currently executed, and whether it is actually
necessary to execute the query to return accurate query results. If
execution is needed to obtain accurate query results and the selected
query can be currently executed, the system automatically performs the
query execution. After query execution is completed, the system notifies
specified users of the query results, and ensures that the query results
will be available to the requesting user and to other users.