Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions
First Claim
1. For use in a computer system which allows a plurality of processing elements to access a memory concurrently during a normal operating mode, a method of maintaining a nodal tree arrangement which is a data structure for finding data records based on key values stored with the records, comprising the steps of:
- establishing a multitude of data records, each of said data records having an associated node and said nodes being linked in the nodal tree arrangement to other of the nodes by at least one of the following types of linking relationships;
parental, child and sibling;
during the normal operating mode, using a plurality of atomic actions to reconfigure the nodal tree arrangement so as to replace, delete or add a data record;
each atomic action including executing a set of steps having an end marker indicating that the set of steps has been completed, said set of steps executed without apparent interruption, such that before and after executing said set of steps the nodal tree arrangement is configured for finding any data record stored therein;
providing a signal to indicate whether or not each of the atomic actions in the plurality has been performed; and
in response to an undesired and abnormal system interruption during the step of using the plurality of atomic actions to reconfigure the nodal tree network, resuming the normal operating mode and completing the plurality of atomic actions during the normal operating mode so that the nodal tree arrangement reconfiguration permits concurrent access of the memory by the plurality of processing elements.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes an approach to index tree structure changes which provides high concurrency while being usable with many recovery schemes and with many varieties of index trees. The present invention permits multiple concurrent structure changes. In addition, all update activity and structure change activity above the data level executes in short independent atomic actions which do not impede normal database activity. Only data node splitting executes in the context of a database transaction. This feature makes the approach usable with diverse recovery mechanisms, while only impacting concurrency in a modest way. Even this impact can be avoided by re-packaging the atomic actions, at the cost of requiring more from the recovery system.
-
Citations
12 Claims
-
1. For use in a computer system which allows a plurality of processing elements to access a memory concurrently during a normal operating mode, a method of maintaining a nodal tree arrangement which is a data structure for finding data records based on key values stored with the records, comprising the steps of:
-
establishing a multitude of data records, each of said data records having an associated node and said nodes being linked in the nodal tree arrangement to other of the nodes by at least one of the following types of linking relationships;
parental, child and sibling;during the normal operating mode, using a plurality of atomic actions to reconfigure the nodal tree arrangement so as to replace, delete or add a data record; each atomic action including executing a set of steps having an end marker indicating that the set of steps has been completed, said set of steps executed without apparent interruption, such that before and after executing said set of steps the nodal tree arrangement is configured for finding any data record stored therein; providing a signal to indicate whether or not each of the atomic actions in the plurality has been performed; and in response to an undesired and abnormal system interruption during the step of using the plurality of atomic actions to reconfigure the nodal tree network, resuming the normal operating mode and completing the plurality of atomic actions during the normal operating mode so that the nodal tree arrangement reconfiguration permits concurrent access of the memory by the plurality of processing elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. For use in a computer system which allows a plurality of processing elements to access a memory concurrently during a normal operating mode, a method of maintaining a nodal tree arrangement which is a data structure, comprising the steps of:
-
establishing a multitude of data records, each of said data records having an associated node and said nodes being linked in the nodal tree arrangement to other of the nodes by a set of predetermined relationships, and wherein each node maintains a key space by performing at least one of the following steps;
containing data records containing index terms for the data records, or delegating responsibility for at least a part of the key space to a sibling node;during the normal operating mode, using a sequence of atomic actions to reconfigure the nodal tree arrangement so as to replace, delete or add a data record; each atomic action including executing a set of steps having an end marker indicating that the set of steps has been completed, said set of steps executed without apparent interruption, such that before and after executing said set of steps the nodal tree arrangement is configured for finding any data record stored therein; providing a signal to indicate whether or not each of the atomic actions in the sequence has been performed; and in response to an undesired and abnormal system interruption during the step of using the sequence of atomic actions to reconfigure the nodal tree network, resuming the normal operating mode and completing the sequence of atomic actions during the normal operating mode so that the nodal tree arrangement permits concurrent access of the memory by the plurality of processing elements. - View Dependent Claims (10, 11, 12)
-
Specification