Browse Prior Art Database

Reconstructable Double Threaded Chain

IP.com Disclosure Number: IPCOM000079513D
Original Publication Date: 1973-Jul-01
Included in the Prior Art Database: 2005-Feb-26
Document File: 2 page(s) / 28K

Publishing Venue

IBM

Related People

Pizza, AH: AUTHOR

Abstract

When a program that is manipulating a chain element within a double-threaded chain fails, the chain element could be lost when the chain is reconstructed by a recovery routine, if the failure occurs after the element has been removed from its current position and before the element is chained in its new position.

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

Page 1 of 2

Reconstructable Double Threaded Chain

When a program that is manipulating a chain element within a double- threaded chain fails, the chain element could be lost when the chain is reconstructed by a recovery routine, if the failure occurs after the element has been removed from its current position and before the element is chained in its new position.

To prevent the possibility of a lost element, the following is done:
1) Set an indicator (A) that the forward pointers are being

manipulated.
2) Manipulate all forward pointers, and the first element

pointer in the header, if necessary, to accomplish

dechaining and rechaining of the element.
3) Set an indicator (B) that the backward pointers are being

manipulated.
4) Reset indicator A off.
5) Manipulate all backward pointers, and the last element

pointers in the header, if necessary, to accomplish the

dechaining and rechaining of the element.
6) Reset indicator B off.

To reconstruct the chain, the following is done: If indicator B is on, then:
1) Place 0 in the backward pointer of the first element (located

from the chain header).
2) Beginning at the first element and using the forward pointers,

loop to place the address of element n into the backward

pointer field of element n+1.
3) Place the address of the last element into the chain header.
4) Set indicators A and B off. Note: If indicator A was also

on, failure occurred after the forward pointers were updated

and before the backward pointers were updated. Also,...