Patent ID: 7308466

Claim:
A program stored on a machine readable medium for reclaiming memory space allocated to a data structure of data objects linked by identifying pointers, in which the memory allocated to data objects is reclaimed using two processes, the programming comprising: a software portion of a first process under control of a processor, for traversing a selected part of the data structure by following the pointers, allocating a first identifier which indicates that a data object has been traversed so that the data objects referenced by the pointers of that data object have been identified, allocating a second identifier which indicates that a given data object is referenced by a pointer, but the given data object has not yet been traversed, and reclaiming the memory space allocated to any data objects having a third identifier; and a software portion of a second process under control of a processor, for reading the identifier for individual data objects; deleting the data object thereby reclaiming the associated memory space if the first identifier is present; allocating the third identifier if the second identifier is present.