Browse Prior Art Database

Locking Protocol: Method to Ensure Concurrency in a File Access Processor

IP.com Disclosure Number: IPCOM000036583D
Original Publication Date: 1989-Oct-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 6 page(s) / 165K

Publishing Venue

IBM

Related People

Barnes, CC: AUTHOR [+2]

Abstract

The basic purpose of a file access processor is to manage a set of objects (files within directories) for a set of users. These objects may be shared, requiring a high degree of concurrency for a file access processor. Because the environment allows sharing, a mechanism must be established that will ensure concurrency during sharing. This concurrency is based on a compatibility scheme devised for System R and Structured Query Language/Data System (SQL/DS) with the following extension: For each file define a logical object identifier. Hold locks on catalog (relational) rows only while obtaining the lock on the logical object and during commit.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 57% of the total text.

Page 1 of 6

Locking Protocol: Method to Ensure Concurrency in a File Access Processor

The basic purpose of a file access processor is to manage a set of objects (files within directories) for a set of users.

These objects may be shared, requiring a high degree of concurrency for a file access processor. Because the environment allows sharing, a mechanism must be established that will ensure concurrency during sharing. This concurrency is based on a compatibility scheme devised for System R and Structured Query Language/Data System (SQL/DS) with the following extension: For each file define a logical object identifier. Hold

locks on catalog (relational) rows only while obtaining

the lock on the logical object and during commit.

The legend of the lock matrices is as follows:

Modes:IS = Intent Share

IX = Intent Exclusive

S = Share

X = Exclusive

CS = Checkout Share

CU = Checkout Update

CX = Checkout Exclusive

The length of time (duration) that a lock can be held is one of the following possibilities:

(Image Omitted)

INSTANT - The lock is acquired and then immediately freed. SHORT The lock is held for the duration of the storage access control (SAC) operation, e.g., SAC FETCH, SAC NEXT. MEDIUM: The lock is held over multiple SAC operations, but may be freed before the end of a logical unit of work (LUW). LONG: The lock is held until the end of the LUW.

The locking protocol defined in this document and the interaction with Checkout Locking is based on the compatibility matrix [*, p. 393] shown in Fig. 1. Note that all long locks are kept until end-of-LUW (commit or rollback). All medium locks are released during op, at close (for read) or end-of-LUW.

In Fig. 1, if holder and requester are the same, then the request is granted except in the case of conflicting explicit (checkout) locks.

A set of rules were established that determined how the different File Processor requests were to interact, and how the processor was to be perceived externally. The rules are:

(Image Omitted)

1

Page 2 of 6

1. Readers never wait. Whenever possible, let a reader's request be handled immediately. A writer may have to wait occasionally if the request conflicts with another request already in progress.

2. The object ID associated with each object in the File Processor must be unique. In order to maximize concurrency without interfering unnecessarily with other requests, each object operated on must be uniquely identified from other objects in the system.

(Image Omitted)

3. Hold relational locks until all logical locks are obtained. Minimize the length of time relational locks are held as much as possible. In order to get the current information about the object referred to in the current request, we must 'read' a catalog row. The process of reading the row will get a relational lock. This lock prevents updates from occurring until it is released. More information is provided on page 5 where a method t...