Browse Prior Art Database

A SIMPLE SOLUTION TO DATABASE PARALLELISM LOCKING PROBLEMS

IP.com Disclosure Number: IPCOM000014133D
Original Publication Date: 2001-Apr-01
Included in the Prior Art Database: 2003-Jun-19
Document File: 1 page(s) / 35K

Publishing Venue

IBM

Abstract

Disclosed is a technique to enable a database management system to manage locks on behalf of parallel processes executing in support of a single transaction so that: 1. all real deadlocks can be detected 2. no false deadlocks are detected 3. lock requests submitted on behalf of the same transaction do not conflict unless the specified lock is one in which conflict is desirable.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 72% of the total text.

Page 1 of 1

A SIMPLE SOLUTION TO DATABASE PARALLELISM LOCKING PROBLEMS

Disclosed is a technique to enable a database management system to manage locks on behalf of parallel processes executing in support of a single transaction so that:

1. all real deadlocks can be detected

2. no false deadlocks are detected

3. lock requests submitted on behalf of the same transaction do not conflict unless the specified lock is one in which conflict is desirable.

The notion of a lock compatibility class is introduced. This attribute is in addition to whatever other lock compatibiltiy attributes exist in the system. Each transaction is assigned a lock compatibility class unique to that transaction and each process of a transaction is assigned a lock compatibility class unique to that process.

When a process wishes to acquire a lock that should not conflict with locks held by other processes from the same transaction, it specifies that transaction's compatibility class.

When a process wishes to acquire a lock that should conflict with locks held by other processes from the same transaction, it either does not specify a lock compatibility class, or it specifies the class unique to that process.

In both cases the process specifies itself (the process) as the lock owner and lock requestor. This maintains the bind between the lock request and the owning processes that is critical to deadlock detection.

If two locks are compatible in the absence of the lock compatiblitiy class then they are compat...