← Back to Patent Explorer
US5430869A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for restructuring a B-Tree

Assignee: HP Inc
•
Filing: 1991-05-29
•
Granted: 1995-07-04
•
Expires: 2011-05-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A database management system and method which permit a B-Tree to be concurrently traversed for the purpose of reading while the B-Tree is actually in the process of restructuring. The present system and method support node splitting for expansion of the B-Tree. The present system and method also support node deletion. A set of update transactions are required to carry out the node-splitting/expansion process. A separate set of steps are required to carry out the node deletion process. The B-Tree can be accessed by readers while either node splitting or deletion occurs, because of the ordering of the process steps. The ordering of the node-splitting and node deletion processes modifies the B-Tree and permit concurrent data readout in an efficient manner. Hence, readers are not required to hold a tree latch or poll for potential in-progress restructuring.

Inventors

  • 👤 Ragaa Ishak
  • 👤 Yihjye J. Hwang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 01:33
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F16/00; G06F16/90; G06F16/901; G06F16/9027; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 333 words
A method for B-Tree restructuring on a computer system for managing data during a node deletion operation, said system permitting concurrent reading of the B-Tree during the deletion operation, wherein the B-Tree comprises at least first and second nodes of a subtree having a parent node which includes first and second links pointing to the first and second nodes, respectively, the first node includes a first set of lower value keys and the second node includes a second set of higher value keys, where each key corresponds to one of a data record and a child node, said B-Tree further including a highest node and a highest key, wherein the highest node corresponds to the highest key, the method comprising the steps of: when the second node is to be deleted and is also the highest node in the B-Tree: (1) updating the parent node; the second link to point to the first node; (2) deleting the first link from the parent; and steps (1) and (2) are performed in the order presented; when the second node is to be deleted and it is not the highest node in the B-Tree: (1) deleting the second link from the parent; (3) updating, when the second node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the first node, and from the first node to said at least one neighbor leaf node; and (4) marking the second node as invalid; and when the first node is to be deleted: (1) deleting the first link from the parent node; (2) updating, when the first node is a leaf node and includes at least one neighbor leaf node, at least one neighbor link from said at least one neighbor leaf node to point to the second node and from the second node to said at least one further neighbor leaf node; and (3) marking the first node as invalid.
Claim 2
Independent Claim 333 words
A method for B-Tree restructuring on a computer system for managing data during a node deletion operation, said system permitting concurrent reading of the B-Tree during the deletion operation, wherein the B-Tree comprises at least first and second nodes of a subtree having a parent node which includes first and second links pointing to the first and second nodes, respectively, the first node includes a first set of lower value keys and the second node includes a second set of higher value keys, where each key corresponds to one of a data record and a child node, said B-Tree further including a highest node and a highest key, wherein the highest node corresponds to the highest key, the method comprising the steps of: when the second node is to be deleted and is also the highest node in the B-Tree: (1) updating the parent node; the second link to point to the first node; (2) deleting the first link from the parent; and steps (1) and (2) are performed in the order presented; when the second node is to be deleted and it is not the highest node in the B-Tree: (1) deleting the second link from the parent; (3) updating, when the second node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the first node, and from the first node to said at least one neighbor leaf node; and (4) marking the second node as invalid; and when the first node is to be deleted: (1) deleting the first link from the parent node; (2) updating, when the first node is a leaf node and includes at least one neighbor leaf node, at least one neighbor link from said at least one neighbor leaf node to point to the second node and from the second node to said at least one further neighbor leaf node; and (3) marking the first node as invalid.
Claim 3
Dependent Claim 83 words
A method according to claim 1, further comprising the step of: permitting nested B-Tree restructuring for managing data during at least one of a node splitting operation and a further node deletion operation, wherein said node splitting operation and said further node deletion operation occur during the node deletion operation, said system permitting concurrent reading of the B-Tree during said nested restructuring, wherein said node splitting of operation and said node deletion operation cannot occur on the same node at the same time,
Claim 4
Dependent Claim 350 words
A computer system for managing data and B-Tree restructuring during a node deletion operation, said system permitting concurrent reading of the B-Tree during the deletion operations, wherein the B-Tree comprises at least first and second nodes of a subtree having a parent node which includes first and second links pointing to the first and second nodes, respectively, the first node includes a first set of lower value keys and the second node includes a second set of higher value keys, where each key corresponds to one of a data record and a child node, said B-Tree further including a highest node and a highest key, wherein the highest node corresponds to the highest key, the system comprising: when the second node is to be deleted and is also the highest node in the B-Tree: (1) means for updating in the parent node, the second link to point to the first node; (2) means for deleting the first link from the parent; and the operation of the means for updating occurring prior to the operation of the means for deleting; when the second node is a leaf node and it is not the highest node in the B-Tree: (1) means for deleting the second link from the parent; 3) means for updating, when the second node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the first node, and from the first node to said at least one neighbor leaf node; and (4) means for marking the second node as invalid, and when the first node is to be deleted: (1) means for deleting the first link from the parent node; (2) means for updating, when the first node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the second node and from the second node to said at least one further neighbor leaf node; and (3) means for marking the first node as invalid.
Claim 5
Dependent Claim 350 words
A computer system for managing data and B-Tree restructuring during a node deletion operation, said system permitting concurrent reading of the B-Tree during the deletion operations, wherein the B-Tree comprises at least first and second nodes of a subtree having a parent node which includes first and second links pointing to the first and second nodes, respectively, the first node includes a first set of lower value keys and the second node includes a second set of higher value keys, where each key corresponds to one of a data record and a child node, said B-Tree further including a highest node and a highest key, wherein the highest node corresponds to the highest key, the system comprising: when the second node is to be deleted and is also the highest node in the B-Tree: (1) means for updating in the parent node, the second link to point to the first node; (2) means for deleting the first link from the parent; and the operation of the means for updating occurring prior to the operation of the means for deleting; when the second node is a leaf node and it is not the highest node in the B-Tree: (1) means for deleting the second link from the parent; 3) means for updating, when the second node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the first node, and from the first node to said at least one neighbor leaf node; and (4) means for marking the second node as invalid, and when the first node is to be deleted: (1) means for deleting the first link from the parent node; (2) means for updating, when the first node is a leaf node and includes at least one neighbor node, at least one neighbor link from said at least one neighbor leaf node to point to the second node and from the second node to said at least one further neighbor leaf node; and (3) means for marking the first node as invalid.
Claim 6
Dependent Claim 16 words
A system according to claim 3, wherein the B-Tree restructuring is performed by a database manager.
Claim 7
Dependent Claim 16 words
A system according to claim 3, wherein the B-Tree restructuring is performed by an operating system.
Claim 8
Dependent Claim 81 words
A system according to claim 3, further comprising: means for permitting nested B-Tree restructuring for managing data during at least one of a node splitting operation and a further node deletion operation, wherein said node splitting operation and said further node deletion operation occur during the node deletion operation, said system permitting concurrent reading of the B-Tree during said nested restructuring, wherein said node splitting operation and said node deletion operation cannot occur on the same node at the same time.

References Cited (Backward Citations)

US4606002A Cited
US5119490A Cited
US5089952A Cited
US5163148A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-07-03 1999-01-02 1999-07-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-07-03 2003-01-02 2003-07-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-07-03 2007-01-02 2007-07-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag