Wildcards in radix- search tree structures
First Claim
Patent Images
1. A system for storing and retrieving data using a radix-search tree having a plurality of sub-trees containing nodes and leaves, the system comprising:
- (a) a data storage module designed and configured for storing the plurality of sub-trees, wherein at least one leaf of the leaves contains at least two entries, at least one entry of which has at least one wildcard, and (b) a processor that is operative to perform operations including;
(i) building the radix-search tree in said data storage module, wherein at least two of said entries contain a different number of bits with respect to one another.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for storing and retrieving data using a radix-search tree having a plurality of sub-trees containing nodes and leaves, the system including: (a) a data storage module designed and configured for storing the plurality of sub-trees, wherein at least one of the leaves contains at least one entry having at least one wildcard in a primary position, and (b) a processor that is operative to perform operations including: (i) building the radix-search tree in the data storage module, and (ii) retrieving data from the radix-search tree in the data storage module.
125 Citations
31 Claims
-
1. A system for storing and retrieving data using a radix-search tree having a plurality of sub-trees containing nodes and leaves, the system comprising:
-
(a) a data storage module designed and configured for storing the plurality of sub-trees, wherein at least one leaf of the leaves contains at least two entries, at least one entry of which has at least one wildcard, and (b) a processor that is operative to perform operations including;
(i) building the radix-search tree in said data storage module, wherein at least two of said entries contain a different number of bits with respect to one another. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19)
(ii) retrieving data from the radix-search tree in said data storage module.
-
-
6. The system of claim 1, wherein said at least one wildcard is followed by a bit forming a pseudo-node.
-
7. The system of claim 1, wherein said at least one wildcard is followed by a split bit.
-
8. The system of claim 1, wherein said at least one wildcard is in a middle position.
-
9. The system of claim 1, wherein said at least one wildcard is in a suffix position.
-
10. The system of claim 1, wherein said at least one entry having at least one wildcard in a primary position has a split bit preceding said at least one wildcard and a split bit following said at least one wildcard.
-
11. The system of claim 1, wherein at least one bit is checked out of order of appearance.
-
12. The system of claim 1, wherein said building of the radix-search tree in said data storage module includes ordering the nodes of at least one of the sub-trees, said ordering the nodes being performed by examining a bit having a minimum number of wildcards.
-
13. The system of claim 1, wherein said building the radix-search tree in said data storage module includes ordering the nodes of at least one of the sub-trees, said ordering the nodes being performed by examining a bit providing a best-balanced split of single keys in the sub-tree.
-
14. The system of claim 13, wherein said bit is selected according to a combination of selection criteria including:
-
(a) a minimum number of wildcards in the sub-tree, and (b) a best-balanced split of single keys in the sub-tree.
-
-
15. The system of claim 12, wherein if at least two bits have said minimum number of wildcards, the nodes are ordered at least according to a bit providing a best-balanced split of single keys in said sub-tree.
-
16. The system of claim 1, wherein at least one of said entries disposed in said leaf is a sub-set of another one of said entries.
-
17. The system of claim 1, wherein said leaf contains at least three of said entries.
-
19. The method of claim 11, wherein said at least one wildcard is locatable at any location within said entry.
-
18. A method of storing and retrieving data using a radix-search tree having a plurality of sub-trees containing nodes and leaves, the method comprising the steps of:
-
(a) providing a system including;
(i) a data storage module for storing the plurality of sub-trees, wherein at least one leaf of the leaves contains at least two entries, at least one entry of which has at least one wildcard, and (ii) a processor, operatively connected to data storage module, and (b) building the radix-search tree in said data storage module, wherein at least two of said entries contain a different number of bits with respect to one another. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
(c) retrieving data from the radix-search tree in said data storage module.
-
-
23. The method of claim 18, wherein said at least one wildcard is followed by a bit forming a pseudo-node.
-
24. The method of claim 18, wherein said at least one entry having at least one wildcard in a primary position has a split bit preceding said at least one wildcard and a split bit following said at least one wildcard.
-
25. The method of claim 18, further comprising the step of:
(c) checking at least one bit out of order of appearance.
-
26. The method of claim 18, wherein said building of the radix-search tree in said data storage module includes ordering the nodes of at least one of the sub-trees, said ordering the nodes being performed by examining a bit having a minimum number of wildcards.
-
27. The method of claim 18, wherein said building the radix-search tree in said data storage module includes ordering the nodes of at least one of the sub-trees, said ordering the nodes being performed by examining a bit providing a best-balanced split of single keys in the sub-tree.
-
28. The method of claim 27, wherein said bit is selected according to a combination of selection criteria including:
-
(a) a minimum number of wildcards in the sub-tree, and (b) a best-balanced split of single keys in the sub-tree.
-
-
29. The method of claim 26, wherein if at least two bits have said minimum number of wildcards, the nodes are ordered at least according to a bit providing a best-balanced split of single keys in said sub-tree.
-
30. The method of claim 18, wherein at least one of said entries disposed in said leaf is a sub-set of another one of said entries.
-
31. The method of claim 18, wherein said leaf contains at least three of said entries.
Specification