Patent US6047283A successfully refreshed from Google Patents.
US6047283A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Fast string searching and indexing using a search tree having a plurality of linked nodes
Assignee: SAP SE
•
Filing: 1998-02-26
•
Granted: 2000-04-04
•
Expires: 2018-02-26
Abstract
Abstract A fast string indexing method efficiently stores, searches, and removes alphanumeric or binary strings utilizing a compacted search tree. The number of levels in the search tree is minimized by having a node represent more than one character when possible. Each inner node of the tree contains a hash table array for successive hashing, which also minimizes the time required to traverse a given node. Searches may be performed for partial matches, such as wild cards at the character level. Multiple indices may be opened independently and concurrently on the same table of string entries.
Inventors
- 👤 Bernhard Braun
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 10:12
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/30; G06F16/31; G06F16/316; G06F16/322; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99936; Y10S707/99938
Claims Analysis
Total Claims: 57
Claim 1
Independent Claim
206 words
A search tree for indexing a plurality of string entries, wherein each one of said plurality of string entries is a string of characters, comprising: a plurality of linked nodes consisting of a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets.
Claim 2
Dependent Claim
206 words
A search tree for indexing a plurality of string entries, wherein each one of said plurality of string entries is a string of characters, comprising: a plurality of linked nodes consisting of a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets.
Claim 3
Dependent Claim
29 words
The search tree for indexing a plurality of strings of claim 1, wherein the number of characters in each one of said plurality of string entries is the same.
Claim 4
Dependent Claim
56 words
The search tree for indexing a plurality of strings of claim 1, wherein at least one of said plurality of inner nodes has a reference to a parent node having a character comparison position that is at least two less than the character comparison position of said at least one of said plurality of inner nodes.
Claim 5
Dependent Claim
47 words
The search tree for indexing a plurality of strings of claim 1, wherein each one of said plurality of inner nodes is associated with a level and further comprises a reference link to at least one of said plurality of linked nodes also associated with said level.
Claim 6
Dependent Claim
37 words
The search tree for indexing a plurality of strings of claim 1, wherein said string of characters is a string of alphanumeric characters and at least one of said plurality of string entries contains a wildcard character.
Claim 7
Dependent Claim
40 words
The search tree for indexing a plurality of strings of claim 1, wherein a search of said search tree utilizes a LIFO memory manager for managing a stack having links to at least some of said plurality of linked nodes.
Claim 8
Dependent Claim
17 words
The search tree for indexing a plurality of strings of claim 6, wherein said search utilizes backtracking.
Claim 9
Dependent Claim
20 words
The search tree for indexing a plurality of strings of claim 6, wherein said search utilizes pruning of said stack.
Claim 10
Dependent Claim
24 words
The search tree for indexing a plurality of strings of claim 4, wherein at least some of said reference links form a doubly-linked list.
Claim 11
Independent Claim
267 words
A method for searching for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating on an R/3 system a search tree having a plurality of linked nodes consisting of a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of strings, wherein said each one of said plurality of inner nodes comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; forming on an R/3 system a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 12
Independent Claim
267 words
A method for searching for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating on an R/3 system a search tree having a plurality of linked nodes consisting of a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of strings, wherein said each one of said plurality of inner nodes comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; forming on an R/3 system a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 13
Independent Claim
233 words
A method for indexing a plurality of string entries, wherein each one of said plurality of string entries is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and applying said search tree to said indexing of said plurality of string entries.
Claim 14
Independent Claim
233 words
A method for indexing a plurality of string entries, wherein each one of said plurality of string entries is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and applying said search tree to said indexing of said plurality of string entries.
Claim 15
Dependent Claim
28 words
The method for indexing a plurality of strings of claim 11, wherein the number of characters in each one of said plurality of string entries is the same.
Claim 16
Dependent Claim
55 words
The method for indexing a plurality of strings of claim 11, wherein at least one of said plurality of inner nodes has a reference to a parent node having a character comparison position that is at least two less than the character comparison position of said at least one of said plurality of inner nodes.
Claim 17
Dependent Claim
46 words
The method for indexing a plurality of strings of claim 11, wherein each one of said plurality of inner nodes is associated with a level and further comprises a reference link to at least one of said plurality of linked nodes also associated with said level.
Claim 18
Dependent Claim
23 words
The method for indexing a plurality of strings of claim 11, wherein at least some of said reference links form a doubly-linked list.
Claim 19
Dependent Claim
36 words
The method for indexing a plurality of strings of claim 11, wherein said string of characters is a string of alphanumeric characters and at least one of said plurality of string entries contains a wildcard character.
Claim 20
Dependent Claim
40 words
The method for indexing a plurality of strings of claim 11, wherein a search of said search tree utilizes a last-in first-out memory manager for managing a stack having links to at least some of said plurality of linked nodes.
Claim 21
Dependent Claim
16 words
The method for indexing a plurality of strings of claim 17, wherein said search utilizes backtracking.
Claim 22
Dependent Claim
19 words
The method for indexing a plurality of strings of claim 17, wherein said search utilizes pruning of said stack.
Claim 23
Independent Claim
271 words
A method for searching for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; wherein said plurality of strings forms a plurality of string entries; forming a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 24
Independent Claim
271 words
A method for searching for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; wherein said plurality of strings forms a plurality of string entries; forming a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 25
Dependent Claim
27 words
The method for searching for a certain string of claim 20, wherein said certain string consists of a plurality of alphanumeric characters and at least one wildcard.
Claim 26
Dependent Claim
36 words
The method for searching for a certain string of claim 20, wherein said traversal utilizes a last-in first-out memory manager for managing a stack having links to at least some of said plurality of linked nodes.
Claim 27
Dependent Claim
16 words
The method for searching for a certain string of claim 22, wherein said traversal utilizes backtracking.
Claim 28
Dependent Claim
19 words
The method for searching for a certain string of claim 22, wherein said traversal utilizes pruning of said stack.
Claim 29
Dependent Claim
52 words
The method for searching for a certain string of claim 20, wherein the steps of creating a search tree and forming a query associated with said certain string are performed on a human resources management, financials, logistics, business workflow, personnel management, organizational management, payroll accounting, time management, personnel development or network system.
Claim 30
Independent Claim
290 words
A method for collision detection or collision management of requests of several users accessing a database including a first plurality of string entries, comprising maintenance of a dynamic lock table including the requests of the users, comprising the steps of: indexing said requests as a second plurality of string entries, wherein each one of said second plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said second plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and performing a query to the lock table associated with a request of a user to the database before passing the request of the user to the database.
Claim 31
Independent Claim
290 words
A method for collision detection or collision management of requests of several users accessing a database including a first plurality of string entries, comprising maintenance of a dynamic lock table including the requests of the users, comprising the steps of: indexing said requests as a second plurality of string entries, wherein each one of said second plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said second plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and performing a query to the lock table associated with a request of a user to the database before passing the request of the user to the database.
Claim 32
Dependent Claim
242 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, cause said processor to index a plurality of string entries wherein each one of said plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets.
Claim 33
Dependent Claim
242 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, cause said processor to index a plurality of string entries wherein each one of said plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets.
Claim 34
Dependent Claim
23 words
The computer-readable medium of claim 27, wherein the number of characters in each one of said plurality of string entries is the same.
Claim 35
Dependent Claim
50 words
The computer-readable medium of claim 27, wherein at least one of said plurality of inner nodes has a reference to a parent node having a character comparison position that is at least two less than the character comparison position of said at least one of said plurality of inner nodes.
Claim 36
Dependent Claim
41 words
The computer-readable medium of claim 27, wherein each one of said plurality of inner nodes is associated with a level and further comprises a reference link to at least one of said plurality of linked nodes also associated with said level.
Claim 37
Dependent Claim
18 words
The computer-readable medium of claim 27, wherein at least some of said reference links form a doubly-linked list.
Claim 38
Dependent Claim
31 words
The computer-readable medium of claim 27, wherein said string of characters is a string of alphanumeric characters and at least one of said plurality of string entries contains a wildcard character.
Claim 39
Dependent Claim
35 words
The computer-readable medium of claim 27, wherein a search of said search tree utilizes a last-in first-out memory manager for managing a stack having links to at least some of said plurality of linked nodes.
Claim 40
Dependent Claim
11 words
The computer-readable medium of claim 33, wherein said search utilizes backtracking.
Claim 41
Dependent Claim
14 words
The computer-readable medium of claim 33, wherein said search utilizes pruning of said stack.
Claim 42
Dependent Claim
294 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, causes said processor to search for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; wherein said plurality of strings forms a plurality of string entries; forming a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 43
Dependent Claim
294 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, causes said processor to search for a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising the steps of: creating a search tree comprising a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; wherein said plurality of strings forms a plurality of string entries; forming a query associated with said certain string; and traversing said search tree utilizing said query and providing an index to any of said plurality of strings that matches said certain string.
Claim 44
Dependent Claim
22 words
The computer-readable medium of claim 36, wherein said certain string consists of a plurality of alphanumeric characters and at least one wildcard.
Claim 45
Dependent Claim
31 words
The computer-readable medium of claim 36, wherein said traversal utilizes a last-in first-out memory manager for managing a stack having links to at least some of said plurality of linked nodes.
Claim 46
Dependent Claim
11 words
The computer-readable medium of claim 36, wherein said traversal utilizes backtracking.
Claim 47
Dependent Claim
14 words
The computer-readable medium of claim 36, wherein said traversal utilizes pruning of said stack.
Claim 48
Dependent Claim
47 words
The computer-readable medium of claim 36, wherein the steps of creating a search tree and forming a query associated with said certain string are performed on a human resources management, financials, logistics, business workflow, personnel management, organizational management, payroll accounting, time management, personnel development or network system.
Claim 49
Dependent Claim
307 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, cause said processor to detect or manage a collision of requests of several users accessing a database including a first plurality of string entries, by: maintaining a dynamic lock table including requests of the users; indexing said requests as a second plurality of string entries, wherein each one of said second plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said second plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and performing a query to the lock table associated with a request of a user to the database before passing the request of the user to the database.
Claim 50
Dependent Claim
307 words
A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions including instructions which, when executed by a processor, cause said processor to detect or manage a collision of requests of several users accessing a database including a first plurality of string entries, by: maintaining a dynamic lock table including requests of the users; indexing said requests as a second plurality of string entries, wherein each one of said second plurality of string entries is a string of characters, by using a search tree, said search tree comprising: a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said second plurality of string entries, wherein said each one of said plurality of inner nodes further comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; and performing a query to the lock table associated with a request of a user to the database before passing the request of the user to the database.
Claim 51
Independent Claim
254 words
A system for searching a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising: means for creating a search tree having a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of strings, wherein said each one of said plurality of inner nodes comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; means for submitting a query associated with said certain string; and tree traversal means for providing an index to any of said plurality of strings that matches said certain string.
Claim 52
Independent Claim
254 words
A system for searching a certain string, consisting of a plurality of characters, among a plurality of strings, wherein each one of said plurality of strings is a string of characters, comprising: means for creating a search tree having a plurality of linked nodes comprising a root node, a plurality of inner nodes wherein each one of said plurality of inner nodes is associated with a character or substring of characters, and a plurality of leaf nodes associated with said plurality of strings, wherein said each one of said plurality of inner nodes comprises: (a) a reference to a parent node, wherein said parent node is either said root node or another of said plurality of inner nodes; (b) a first data field containing a character comparison position indicating the number of characters in said character or substring of characters associated with said one of said plurality of inner nodes; (c) a second data field containing a comparison character, said comparison character used to determine whether said character or substring of characters associated with said one of said plurality of inner nodes is contained in a string entry at a character position of said string entry associated with said character comparison position; (d) a reference to at least two successor nodes; and (e) a hash table array containing a predetermined number of hash buckets; means for submitting a query associated with said certain string; and tree traversal means for providing an index to any of said plurality of strings that matches said certain string.
Claim 53
Dependent Claim
21 words
The system of claim 43, wherein the number of characters in each one of said plurality of strings is the same.
Claim 54
Dependent Claim
49 words
The system of claim 43, wherein at least one of said plurality of inner nodes has a reference to a parent node having a character comparison position that is at least two less than the character comparison position of said at least one of said plurality of inner nodes.
Claim 55
Dependent Claim
40 words
The system of claim 43, wherein each one of said plurality of inner nodes is associated with a level and further comprises a reference link to at least one of said plurality of linked nodes also associated with said level.
Claim 56
Dependent Claim
21 words
The system of claim 43, wherein said certain string consists of a plurality of alphanumeric characters and at least one wildcard.
Claim 57
Dependent Claim
18 words
The system of claim 43, comprising collision detection or collision management by use of a dynamic lock table.
References Cited (Backward Citations)
EP0419889A2
Cited
US5745902A
Cited
WO1996000945A1
Cited
US5613110A
Cited
US5845274A
Cited
US5778361A
Cited
US5893086A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-04-04 | 2003-10-04 | 2004-04-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-04-04 | 2007-10-04 | 2008-04-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-04-04 | 2011-10-04 | 2012-04-04 | $7700.00 | Window Closed / Lapsed |