Browse Prior Art Database

TOKEN RING-BASED DISTRIBUTED LOCK MANAGER

IP.com Disclosure Number: IPCOM000040685D
Original Publication Date: 1987-Dec-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 4 page(s) / 55K

Publishing Venue

IBM

Related People

Dias, DM: AUTHOR [+2]

Abstract

In a multi-system environment global locks are usually used to preserve data integrity. Small overheads for global locking and quick resolution of lock requests are required to minimize the impact of global locking on overall performance. This invention describes a token ring network-based scheme to provide distributed global locking that aims to provide for small average overhead per lock on the processors and quick resolution of locks. Each system in the complex is connected by special hardware to the token ring interface and then to the token ring network. Lock hash classes are used to reduce communications. Only a system owning a hash class has the right to grant locks to items belonging to that hash class.

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 32% of the total text.

Page 1 of 4

TOKEN RING-BASED DISTRIBUTED LOCK MANAGER

In a multi-system environment global locks are usually used to preserve data integrity. Small overheads for global locking and quick resolution of lock requests are required to minimize the impact of global locking on overall performance. This invention describes a token ring network-based scheme to provide distributed global locking that aims to provide for small average overhead per lock on the processors and quick resolution of locks. Each system in the complex is connected by special hardware to the token ring interface and then to the token ring network. Lock hash classes are used to reduce communications. Only a system owning a hash class has the right to grant locks to items belonging to that hash class. As observed in IMS, a transaction tends to bunch its lock requests into a small number of hash classes, and such a scheme allows many of the requests to be granted locally. An efficient scheme is required to grant hash class lock requests globally. Since hash class request processing is trivial, the processing can be done by special hardware at each processor if the hash class requests are broadcast to each processor. Special hardware can be built to efficiently process hash class lock and unlock requests at all processors. The token ring is used as the broadcast medium. Since hardware in each system is processing the requests in parallel, it is necessary to enforce that the lock states known to each processor are consistent. By ensuring that hash class requests at each processor site are processed in the same serial order, the above consistency may be assured. The token ring mechanism is used to provide the serialization. The hash class requests are processed in the order in which the processors that generated the requests acquired the free token. The Scheme Each system in the complex is connected to a separate Lock Interface Processor (LIP), as shown in the figure. The LIP handles global lock requests and returns an ACK when the lock can be granted, or a NAK, when there is a conflict. Each LIP is connected locally to a Hash Class Memory (HCM), to a Ring Interface Module (RIM), and to a Hash class Request Handler (HRH). The lock space is divided into hash classes, and the hash class state (as seen by the local LIP) is stored in the HCM (except during handling error conditions when the HCM is read only to the LIP). The hash class state indicates whether the hash class is free (i.e., no locks granted in this hash class) or whether a lock has been granted in this hash class, and if so the identity of the system that is known to be the current owner of this hash class. We will denote these states as (1) 00 - no system owns this hash class, (2) 10 - this system is the owner of the hash class (and will get all requests for locks in this hash class until it relinquishes ownership), and (3) 01 - some other system is owner of the hash class. Only exclusive ownership is allowed for the hash ...