UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
 Staff
 Projects
  XTC
  A3: XML-Databases
  DB Caching
  XML Retrieval
  Model-Driven Development...
  Meta-Akad
  Akleon
  WBT
  SHARX
 Intern
 Impressum
AG HIS
Jobs / Tasks
Courses
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Multi-User KBMSs

Participants: Fernando de Ferreira Rezende and Theo Härder


Many advanced applications in a wide spectrum of business, administration, as well as engineering domains require the construction, efficient access, and management of large and, most importantly, shared knowledge bases (KBs). Knowledge base management systems (KBMSs), the core of the intelligent information systems of the future, aim at the effective and efficient management of KBs, and were originated from such knowledge management demands. However, most advanced, knowledge-based systems nowadays have no adequate facilities for allowing the KB to be shared among several applications. Typically, each user has his own private copy of the KB in `multi-user' environments. This leads to a considerable redundancy in the stored knowledge with many severe consequences: Waste of storage space, consistency problems, inefficiency, unsuitability, inapplicability, and all the like. Consequently, KBMSs must be designed/extended to support real multi-user environments. Moreover, this is imperative for both efficiency reasons as well as the complete success and establishment of those systems in the market.

In order to be capable of providing correct, concurrent access to the KB by many users at once, KBMSs must possess the distinguishing quality of transaction management, the ability to manage simultaneously large number of transactions. In the research project Multi-User KBMSs we investigate all aspects related to providing transaction facilities to KBMSs. In this scope, we have designed a general architecture for multi-user KBMSs in client/server environments, where general transaction services are then considered. Further on, we have detailed each component of this architecture. A transaction manager implements a nested transaction model, and supports upward as well as controlled downward inheritance of locks. A lock manager implements the LARS (Locks using the Abstraction Relationships' Semantics) protocol, which provides multiple granules of locking based on the semantics of the abstraction relationships. The deadlock management policy represents detection arcs in the waits-for graph, which enormously facilitate a deadlock manager's work of detecting the occurrence of a deadlock. The recovery strategy, WALORS (WAL-based and Object-oriented Recovery Strategy), employs a log sequence number per object, and by such a means it can very precisely track the state of each particular object with respect to logged actions to it, a distinguishing feature as long as the page sizes are being enlarged, and which enables it to do selective undo as well as selective redo passes during system restart. A cache manager avoids buffer invalidations by means of client locks, and implements a dynamic owner policy, enabling the workstations to exchange objects among themselves, and alleviating thus the communication with the server. A KB graph manager represents the KB objects as nodes in a directed acyclic graph, and the abstraction relationships as edges between the nodes, therefore giving support to the other components. Finally, a communication manager provides synchronous as well as asynchronous communication facilities to the other components, ensuring a safe, reliable information exchange.