Abstract
Abraham Silberschatz Department of Computer Sciences University of Texas at Austin Austin, TX 78712 A locking protocol is a set of rules governing the manner in which the database entities may be accessed. Such a protocol usually employs several kinds of locks. Most of the previous work in this area has assumed that once a transaction acquires a particular kind of lock on a data item it is not allowed to convert this lock to another kind. In this paper we perform a systematic study of the consequences of allowing lock conversions in non-two-phase locking protocols, and show how this leads to increased concurrency and affects deadlock-freedom. The non-two-phase protocols that we study are the very general guard protocols defined for databases in which a directed acyclic graph structure can be superimposed on the data items. We present very natural generalizations of these protocols, including correctness proofs, and develop deadlock removal methods.
Original language | English (US) |
---|---|
Pages (from-to) | 15-22 |
Number of pages | 8 |
Journal | IEEE Transactions on Software Engineering |
Volume | SE-11 |
Issue number | 1 |
DOIs | |
State | Published - Jan 1985 |
Keywords
- Concurrency
- consistency
- database systems
- deadlocks
- locking protocols
- rollbacks
- serializability
- transactions
ASJC Scopus subject areas
- Software