Issue No.01 - January (1985 vol.11)
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.
transactions, Concurrency, consistency, database systems, deadlocks, locking protocols, rollbacks, serializability
D. Fussell, Z.M. Kedem, A. Silberschatz, "Lock Conversion in Non-Two-Phase Locking Protocols", IEEE Transactions on Software Engineering, vol.11, no. 1, pp. 15-22, January 1985, doi:10.1109/TSE.1985.231533