Browse Prior Art Database

Method for Reserving Space Needed for "Rollback" Actions

IP.com Disclosure Number: IPCOM000062461D
Original Publication Date: 1986-Nov-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Lindsay, BG: AUTHOR [+3]

Abstract

In a transaction processing system it is necessary to support "rollback" or undo of part or all of the actions executed as part of a recoverable transaction. When an action which may need to be undone has released some storage space, that space cannot be consumed by actions of other transactions without compromising the ability to undo the action which released the space. The need to conserve released space until the releasing transaction completes occurs whenever executing actions manipulate the recoverable data structures directly.

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

Page 1 of 2

Method for Reserving Space Needed for "Rollback" Actions

In a transaction processing system it is necessary to support "rollback" or undo of part or all of the actions executed as part of a recoverable transaction. When an action which may need to be undone has released some storage space, that space cannot be consumed by actions of other transactions without compromising the ability to undo the action which released the space. The need to conserve released space until the releasing transaction completes occurs whenever executing actions manipulate the recoverable data structures directly. The method disclosed maintains, on each unit of storage space, or page, a free space counter (FREE) and a reserved space descriptor consisting of (1) a reserved space count (RSVD), (2) an id of the youngest (most recent) transaction contributing to the reserved space (TRANS), and (3) the amount of reserved space contributed by the youngest transaction to reserve space (TRSVD). FREE is the "actual" amount of free space on the page. The immediately usable free space is FREE - RSVD. TRANS is the transaction id of the youngest transaction to reserve space on the page. Transaction ids are assigned when transactions start and they increase monotonically. If the youngest transaction having reserved space on the page, and its predecessors, are complete, then all the reserved space on the page can be made available because all transactions that have reserved space are complete. When a transaction frees space on a page which may be needed to undo the action freeing the space, it will reserve sufficient space to undo the action. Space is reserved by incrementing the reserved space count (RSVD) and by setting the transaction id (TRANS) to the maximum of its current value and the transaction id of the transaction reserving the space. When attempting t...