Browse Prior Art Database

Block Level Serialization

IP.com Disclosure Number: IPCOM000192761D
Original Publication Date: 2010-Feb-01
Included in the Prior Art Database: 2010-Feb-01
Document File: 1 page(s) / 22K

Publishing Venue

IBM

Abstract

Most serialization mechanisms today serialize on the entire file or data set. The generally allow multiple readers or one writer. For example for a sequential file on z/OS, an update to the file requires an exclusive ENQ which locks out other users. This can cause contention. If applications are going to update different portions of the file, then the serialization mechanism should allow this type of update activity.

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

Page 1 of 1

Block Level Serialization

This invention would be implemented to serialize at either the track or block level. The logic would be similar for both, but since the block level is more granular, the description will focus on the block level type serialization. Our invention would expand the current ENQ logic to allow for a specific block or range of blocks to be specified during serialization. If a user was going to be updating the entire data set, or during initial load of a new data set, the traditional exclusive ENQ would be specified with a bit indicating the range is the full data set. If the full range bit is on, then requests for partial ranges will have to wait until the full range request completes.

For the partial serialization requests, the user will issue an ENQ request. An additional ENQ parameter is passed with a specific blocks or range of blocks. The block number is the relative block number from the beginning of the data set. The calling application would need to know what part of the data set it will be updating. The relative block number can then be computed by the relative position of the blocks to be changed. We will provide a system macro where the user can pass us a relative byte number, and we will compute the relative block number by obtaining the blocksize from the VTOC and then dividing the relative byte number by the blocksize to compute the relative block number. The user can also pass a range of...