Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
128 words
A computer implemented method for adding an entry to a balanced binary tree organizational system for storing numeric and alphanumeric data within a memory of a computing machine, comprising computer implemented steps of: (a) determining whether said entry includes one of an alphanumeric key or a numeric key; (b) retrieving pointers from the memory of the computing machine to find an insertion location along a search path in a balanced binary tree at which to add the entry and recording a potential rebalancing point in a manner that is dependent upon whether said entry is determined to include an alphanumeric key or a numeric key; and (c) replacing at least one of said pointers within the memory of the computing machine with a new pointer to the entry.
Claim 2
Dependent Claim
128 words
A computer implemented method for adding an entry to a balanced binary tree organizational system for storing numeric and alphanumeric data within a memory of a computing machine, comprising computer implemented steps of: (a) determining whether said entry includes one of an alphanumeric key or a numeric key; (b) retrieving pointers from the memory of the computing machine to find an insertion location along a search path in a balanced binary tree at which to add the entry and recording a potential rebalancing point in a manner that is dependent upon whether said entry is determined to include an alphanumeric key or a numeric key; and (c) replacing at least one of said pointers within the memory of the computing machine with a new pointer to the entry.
Claim 3
Dependent Claim
34 words
The method of claim 1 further comprising steps of: (a) determining whether the tree has become unbalanced as a result of said replacing step; and (b) balancing the tree about said potential rebalancing point.
Claim 4
Dependent Claim
91 words
The method of claim 1 wherein said determining step includes determining that said key is a numeric key, and wherein said retrieving and recording step comprises the steps of: (a) storing a first value for indicating a location of a biased entry of the tree nearest said insertion location in said path; (b) storing a second value indicative of the location of an entry having a link pointer to said biased entry; and (c) updating said first and second values when a subsequent biased entry is encountered along the search path.
Claim 5
Dependent Claim
36 words
The method of claim 1 wherein said retrieving and recording step comprises the step of constructing a map of the search path followed during said retrieving and recording step when the entry includes an alphanumeric key.
Claim 6
Dependent Claim
19 words
The method of claim 4 wherein said constructing step includes pushing items representative of said path onto a stack.
Claim 7
Dependent Claim
57 words
The method of claim 5 wherein said pushing step comprises storing within the stack: (i) a pointer to each memory location along the search path from which a pointer was retrieved during said retrieving and recording step and (ii) a value representing a direction of the search path within the tree relative to said each memory location.
Claim 8
Dependent Claim
43 words
The method of claim 6 wherein said retrieving and recording step comprises the step of maintaining a pointer to an item stored in said stack for indicating a most recently visited balance-biased entry in said stack whereby said potential rebalancing point is recorded.
Claim 9
Dependent Claim
58 words
The method of claim 1 wherein said determining step comprises determining that said entry includes an encoded alphanumeric key and wherein said retrieving and recording step comprises obtaining a stack pointer to a stack from a header associated with the tree and using the stack indicated by said stack pointer for constructing a map of the search path.
Claim 10
Dependent Claim
62 words
The method of claim 1 wherein said retrieving and recording step comprises: storing within the memory of the computing machine, a map of the search path when the entry includes an encoded alphanumeric key; and storing a potential rebalancing value for indicating a location of a biased entry in said path nearest said insertion location when the entry includes a numeric key.
Claim 11
Dependent Claim
36 words
The method of claim 1 comprising the step of storing a pointer type identifier in association with said new pointer for identifying whether said new pointer is one of a link pointer or a thread pointer.
Claim 12
Dependent Claim
291 words
A computer memory for storing key-indexed data in a data processing system, said key-indexed data having a key selected from a group consisting of alphanumeric keys and numeric keys, and the data processing system being connected with the memory and having means for determining whether said key is alphanumeric or numeric, the memory comprising: a hierarchical data structure for providing access to the key-indexed data by the data processing system including: (a) a plurality of entries, each entry having: (i) a key field for storing an ordinal value unique to said each entry within the data structure; (ii) at least two pointer fields for pointing to at least two respective neighboring entries, each of said two pointer fields including type means for indicating the type of ordinal relation between contents of the key field of said each entry and contents of the key field of said respective neighboring entry, said pointer fields forming a plurality of search paths within said hierarchy; and (iii) balance means for indicating the relative predominance of ordinal successors and ordinal predecessors subordinate to said each entry in said hierarchical data structure; and (b) header means for storing information related to managing said access to said hierarchical data structure by the data processing system comprising: (i) a pointer field for allowing the data processing system to locate said plurality of entries; (ii) lock means for providing an indication that said access is in progress whereby said access may be rendered exclusive; and (iii) buffer means for selectively providing a buffer for the data processing system to record a selected one of said search paths during access to said data structure in response to a determination whether said key field contains an alphanumeric key or a numeric key.
Claim 13
Dependent Claim
291 words
A computer memory for storing key-indexed data in a data processing system, said key-indexed data having a key selected from a group consisting of alphanumeric keys and numeric keys, and the data processing system being connected with the memory and having means for determining whether said key is alphanumeric or numeric, the memory comprising: a hierarchical data structure for providing access to the key-indexed data by the data processing system including: (a) a plurality of entries, each entry having: (i) a key field for storing an ordinal value unique to said each entry within the data structure; (ii) at least two pointer fields for pointing to at least two respective neighboring entries, each of said two pointer fields including type means for indicating the type of ordinal relation between contents of the key field of said each entry and contents of the key field of said respective neighboring entry, said pointer fields forming a plurality of search paths within said hierarchy; and (iii) balance means for indicating the relative predominance of ordinal successors and ordinal predecessors subordinate to said each entry in said hierarchical data structure; and (b) header means for storing information related to managing said access to said hierarchical data structure by the data processing system comprising: (i) a pointer field for allowing the data processing system to locate said plurality of entries; (ii) lock means for providing an indication that said access is in progress whereby said access may be rendered exclusive; and (iii) buffer means for selectively providing a buffer for the data processing system to record a selected one of said search paths during access to said data structure in response to a determination whether said key field contains an alphanumeric key or a numeric key.
Claim 14
Dependent Claim
33 words
The computer memory of claim 11 wherein said type means comprises a bit for indicating whether said respective neighboring entry is superior or inferior to said each entry within said hierarchical data structure.
Claim 15
Dependent Claim
19 words
The computer memory of claim 11 wherein said balance means comprises a bit within each of said pointer fields.
Claim 16
Dependent Claim
14 words
The computer memory of claim 11 wherein said buffer means comprises a stack pointer.
Claim 17
Dependent Claim
213 words
A data storage system, comprising: a computer having a memory; a balanced binary tree data structure stored within the memory, said data structure comprising a plurality of node entries occupying locations within said memory, the node entries having link pointers and thread pointers; and the computer having insertion means for inserting a new node entry into the data structure, said insertion means comprising: determining means for determining whether said new entry includes one of a numeric key or an alphanumeric key; finding means for finding a location along a search path within said data structure at which to insert said new entry; recording means cooperative with said finding means for recording a potential rebalancing location in said data structure at which to perform rebalancing of the tree, the recording means comprising storage means responsive to said determining means for selectively storing (i) a pointer to said potential rebalancing location when said key is determined to be a numeric key, and (ii) a map of said search path and a pointer indicating said potential rebalancing location in the map when said key is determined to be an alphanumeric key; and balancing means responsive to said recording means for retrieving said potential rebalancing location and for balancing the tree after insertion of the new entry.
Claim 18
Dependent Claim
213 words
A data storage system, comprising: a computer having a memory; a balanced binary tree data structure stored within the memory, said data structure comprising a plurality of node entries occupying locations within said memory, the node entries having link pointers and thread pointers; and the computer having insertion means for inserting a new node entry into the data structure, said insertion means comprising: determining means for determining whether said new entry includes one of a numeric key or an alphanumeric key; finding means for finding a location along a search path within said data structure at which to insert said new entry; recording means cooperative with said finding means for recording a potential rebalancing location in said data structure at which to perform rebalancing of the tree, the recording means comprising storage means responsive to said determining means for selectively storing (i) a pointer to said potential rebalancing location when said key is determined to be a numeric key, and (ii) a map of said search path and a pointer indicating said potential rebalancing location in the map when said key is determined to be an alphanumeric key; and balancing means responsive to said recording means for retrieving said potential rebalancing location and for balancing the tree after insertion of the new entry.