Date: 31 May 2005

An architecture for a cooperative database system

* Final gross prices may vary according to local VAT.

Get Access


Database systems can be difficult to use. Part of the problem is that systems do not, for the most part, help a user when a query fails or fails to evaluate as the user expects. Schema and semantics of databases are often complex, and are rarely understood in entirety by the lay user. As a consequence, queries a lay user casts may not make sense with respect to a database's semantics. A system which returns informative responses beyond a query's answer set itself can elucidate the schema and semantics of the database, which can greatly help the user to cast the queries intended. Such a database system is to be called a cooperative database system (CDBS).

A number of cooperative behaviors and methods have been introduced to be incorporated into information systems to make them more informative and, hence, easier to use. We have identified a fundamental set of such cooperative techniques that we believe relational and deductive systems should be extended to include. We present an architecture for such a CDBS which supports these, and which uses existing relational technologies. We have built the Carmin system based on the proposed architecture. Carmin is intended both as a research platform for cooperative answering and as a practical, efficient CDBS.

The paper presents the architecture of Carmin, and, by example, a general architectural approach for CDBSs. The architectural components of Carmin are outlined and discussed in turn. The implementation issues and cost overhead of Carmin are discussed, and the architectural choices are argued.

This work was supported by the Air Force Office of Scientific Research under grant AFOSR-91-0350 and by the National Science Foundation under grant IRI-9300691.