Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Recycling Data Areas in a Variable Length Data Space

IP.com Disclosure Number: IPCOM000107279D
Original Publication Date: 1992-Feb-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 4 page(s) / 119K

Publishing Venue

IBM

Related People

Johnson, PJ: AUTHOR [+3]

Abstract

This invention manages space in a fashion that requires no user intervention, is done asynchronous to the actual database transaction, requires no logging (and thus no user log management manipulation) and is easily adapted to a commit environment (even allowing activity not under commitment control against a file which is under commitment control).

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

Recycling Data Areas in a Variable Length Data Space

       This invention manages space in a fashion that requires
no user intervention, is done asynchronous to the actual database
transaction, requires no logging (and thus no user log management
manipulation) and is easily adapted to a commit environment (even
allowing activity not under commitment control against a file which
is under commitment control).

      In this system, once a piece of space is allocated it never
changes size.  For example, the next user of this space may only
occupy 75% of the space.  If the remaining 25% were to be split off
it is obvious the pieces would become smaller as the database aged,
probably to the point where the pieces were so small they could not
possibly hold any data.  If that was the case, separate jobs would be
required to search and coalesce these pieces.  By never splitting a
piece of space after it is allocated, this invention allows the
user's data to determine the size of the pieces in the free space
pool and does not end up managing very small pieces of space which
cannot contain data (i.e.,  no free space fragmentation and garbage
collection problems).

      There are two essential components of the free space recycling
manager described here.  One is a method by which the size and
location of the free space is tracked or recorded.  The other is a
method by which a future operation may use the freed space.

      When a piece of storage is vacated, its size and location is
recorded in an unordered list whose elements are known as Free Space
Identifiers.

      A Recycle Index per heap is maintained which contains a key for
each area of storage within the Free Space Identifier List.  Its key
is the size of the variable length storage and also contains the
actual location of the variable length storage and the location of
the Free Space Identifier associated with the variable length
storage.

      When a record is deleted, information about the variable length
(VL) portion of the record (location of fixed length anchor, size and
location of variable length piece) is passed to the free space
manager.  The manager sends a message to the background task.
Control is then returned immediately to the transaction which is
doing the deletion.

      The asynchronous task will insure that the control information
in the record has been cleared and no longer can lay claim to that VL
piece.  The asynchronous task will then add the freed VL piece to the
recycle index fo...