Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
First Claim
1. In a data processing system a method executed by a data processor for fetching a selected key record in a group of record keys by utilizing a portion of a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to said key record data in an ordered sequence of key records, said method comprising the steps performed within said data processing system of:
- traversing across said nodes within said data processing system from said root node by using key record reference until an appropriate bottom node is reached;
identifying said selected key record in said bottom node;
requesting a conditional access restriction on said selected key record;
fetching said selected key record if said conditional access restriction is granted;
requesting an unconditional access restriction of said selected key record if said conditional access restriction is not granted;
examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or note said appropriate bottom node has been substantially altered;
fetching said selected key record is said appropriate bottom node has not been substantially altered; and
traversing across said nodes from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for concurrent modifications of an index tree in a transaction processing system. The index tree includes at least one root node having a key record reference to one or more nodes in a next lower ordered level and at least one bottom node providing access to key records. Transactions including a structure modification operation are performed by traversing the index tree to the selected node and then setting an indication of the pendency of a structure modification operation. Concurrent key record inserts or deletes are permitted throughout the index tree where no indication of a pending structure modification operation is present and are delayed where a pending structure modification operation is indicated. Similarly, transactions which include a key record delete may require a structure modification operation in the event the transaction does not reach new point of consistency and must be undone. Therefore, an indication of each key record delete which has not yet reached a new point of consistency is set and concurrent key record inserts or deletes are also delayed until the possibility of a structure modification operation is completed.
112 Citations
18 Claims
-
1. In a data processing system a method executed by a data processor for fetching a selected key record in a group of record keys by utilizing a portion of a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to said key record data in an ordered sequence of key records, said method comprising the steps performed within said data processing system of:
-
traversing across said nodes within said data processing system from said root node by using key record reference until an appropriate bottom node is reached; identifying said selected key record in said bottom node; requesting a conditional access restriction on said selected key record; fetching said selected key record if said conditional access restriction is granted; requesting an unconditional access restriction of said selected key record if said conditional access restriction is not granted; examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or note said appropriate bottom node has been substantially altered; fetching said selected key record is said appropriate bottom node has not been substantially altered; and traversing across said nodes from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (2, 3, 4)
-
-
5. In a data processing system a method executed by a data processor for inserting a single key record in a group of record keys according to a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to an ordered sequence of key records, said method comprising the steps performed within said data processing system of:
-
traversing across said nodes within said data processing system from said root node by using said key record reference until an appropriate bottom node is reached; identifying a next higher key record than the single key record to be inserted; requesting a conditional access restriction on said next higher key record; inserting said single key record into said appropriate bottom node if said conditional access restriction is granted; requesting an unconditional access restriction on said next higher key record if said conditional access restriction is not granted; examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or not said appropriate bottom node has been substantially altered; inserting said single key record into said appropriate bottom node if said appropriate bottom node has not been substantially altered; and traversing across said node from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (6, 7)
-
-
8. In a data processing system a method executed by a data processor for deleting a single key record in a group of record keys according to a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to an ordered sequence of record keys, said method comprising the steps performed within said data processing system of:
-
traversing said nodes within said data processing system from said root node by using said key record reference until an appropriate bottom node is reached; requesting a conditional access restriction on a next higher key record than the single key record to be deleted; deleting said single key record from said appropriate bottom node if said conditional access restriction is granted; requesting an unconditional access restriction on said next higher key record if said conditional access restriction is not granted; examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or not said appropriate bottom node has been substantially altered; deleting said single key record from said appropriate bottom node if said appropriate bottom node has not been substantially altered; and traversing across said nodes from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (9)
-
-
10. A data processing system for fetching a selected key record in a group of record keys by utilizing a portion of a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to said key record data in an ordered sequence of key records, said data processing system comprising:
-
means for traversing across said nodes within said data processing system from said root node by using said key record reference until an appropriate bottom node is reached; means for identifying said selected key record in said bottom node; means for requesting a conditional access restriction on said selected key record; means for fetching said selected key record if said conditional access restriction is granted; means for requesting an unconditional access restriction of said selected key record if said conditional access restriction is not granted; means for examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or not said appropriate bottom node has been substantially altered; means for fetching said selected key record if said appropriate bottom node has not been substantially altered; and means for traversing across said nodes from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (11, 12, 13)
-
-
14. A data processing system for inserting a single key record in a group of record keys according to a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lowered ordered level and having bottom nodes that provide access to an ordered sequence of key records, said data processing system comprising:
-
means for traversing across said nodes within said data processing system from said root node by using said key record reference until an appropriate bottom node is reached; means for identifying a next higher key record than the single key record to be inserted; means for requesting a conditional access restriction on said next higher key record; means for inserting said single key record into said appropriate bottom node if said conditional access restriction is granted; means for requesting an unconditional access restriction on said next higher key record if said conditional access restriction is not granted; means for examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or not said appropriate bottom node has been substantially altered; means for inserting said single key record into said appropriate bottom node if said appropriate bottom node has not been substantially altered; and means for traversing across said node from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (15, 16)
-
-
17. A data processing system for deleting a single key record in a group of record keys according to a key record through an index tree having a modifiable structure during a transaction in said data processing system wherein other transactions may concurrently modify the structure of said index tree, said index tree having at least a root node, each root node having a key record reference to one or more nodes in a next lower ordered level and having bottom nodes that provide access to an ordered sequence of record keys, said data processing system comprising:
-
means for traversing said nodes within said data processing system from said root node by using said key record reference until an appropriate bottom node is reached; means for requesting a conditional access restriction on a next higher key record than the single key record to be deleted; means for deleting said single key record from said appropriate bottom node if said conditional access restriction is granted; means for requesting an unconditional access restriction on said next higher key record if said conditional access restriction is not granted; means for examining said appropriate bottom node after said unconditional access restriction is granted to determine whether or not said appropriate bottom node has been substantially altered; means for deleting said single key record from said appropriate bottom node if said appropriate bottom node has not been substantially altered; and means for traversing across said nodes from said root node by using said key record reference until a second appropriate bottom node is reached if said appropriate bottom node has been substantially altered. - View Dependent Claims (18)
-
Specification