Method and system for attaching information to words of a trie
First Claim
1. A computer-readable medium having stored thereon a data structure, comprising:
- a plurality of nodes;
a tag information field having information therein indicative of how the data structure is to be interpreted with respect to node tagging, including whether the nodes may or may not each include a tag mask field;
when the tag information field indicates that the nodes may each include a tag mask field, each node having a flag with a value that indicates whether that node has a tag mask field, at least one node of the plurality of nodes having the tag mask field and at least one other node not having the tag mask field; and
when the tag information field is interpreted to determine that the nodes may each have a tag mask field, the flag in each node is interpreted to determine whether that node has a tag mask field, and for each node having a tag mask field, data in the tag mask field is interpreted to determine whether to place the node into at least one subset of nodes of the plurality of nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and improved data structure for attaching information to words in a trie of nodes. Each node of a trie includes a single tag bit which is interpreted according to information specified in a header of the trie. The information may specify that a node may be tagged with multiple tags, whereby if the tag bit is set in a given node, the node further includes a bitmask indicating which one or ones of the tags apply to that node. A value mask may be provided in the header indicating which of the tags (if any) have values associated therewith, whereby information representative of the value such as the value itself or a pointer thereto is stored in each node tagged with at least one tag having an associated value. Partial enumeration of tagged nodes may be provided by storing a count of the number of tagged words under a node, wherein if a trie has multiple tags, each tag may be selectively and separately enumerated as specified in header information. Partial enumeration may be combined with global enumeration of each word, with multiple tags, and/or with tags that have associated values.
272 Citations
38 Claims
-
1. A computer-readable medium having stored thereon a data structure, comprising:
-
a plurality of nodes;
a tag information field having information therein indicative of how the data structure is to be interpreted with respect to node tagging, including whether the nodes may or may not each include a tag mask field;
when the tag information field indicates that the nodes may each include a tag mask field, each node having a flag with a value that indicates whether that node has a tag mask field, at least one node of the plurality of nodes having the tag mask field and at least one other node not having the tag mask field; and
when the tag information field is interpreted to determine that the nodes may each have a tag mask field, the flag in each node is interpreted to determine whether that node has a tag mask field, and for each node having a tag mask field, data in the tag mask field is interpreted to determine whether to place the node into at least one subset of nodes of the plurality of nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable medium having stored thereon a data structure, comprising:
-
a plurality of nodes, each node having a flag therein with a value indicative of whether that node has a tag mask field or does not, at least one node of the plurality of nodes having a tag mask field and at least one other node not having a tag mask field;
a tag information field indicative of whether each of the nodes may be tagged with at least one tag of a plurality of tags, the tags represented by values in the tag mask field; and
when the tag information field is interpreted to determine that the nodes may each be tagged with a plurality of tags, the flag in each node is interpreted to determine whether that node is tagged, and for each node that is tagged, the tag mask field is interpreted to determine with which of the plurality of tags the node is tagged. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of attaching information to words in a trie of nodes, comprising the steps of:
-
providing a tag flag with each node in the trie;
setting the tag flag on selected nodes in the trie, at least some of the nodes being non-selected nodes that do not have the tag flag set; and
for each selected node after setting the tag flag, providing a tag mask therein indicative of further information associated with data represented by the node, and for each non-selected node, not providing the tag mask, wherein at least one node in a state above one of the selected nodes has a partial enumeration count therein, the partial enumeration count including a count of the one selected node, the partial enumeration count being different from a global enumeration count of the trie. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A computer-readable medium having stored thereon a data structure, comprising:
-
a trie of nodes, each node including a tag flag;
a first set of the nodes having the tag flag set to a value indicating that each node in the first set is tagged;
a second set of the nodes having the tag flag set to a value indicating that each node in the second set is not tagged;
at least one partial enumeration count in at least one node that is based on a number of nodes thereunder that are tagged, the partial enumeration count being different from a global enumeration count of the trie of nodes; and
when the trie is interpreted, the partial enumeration count is interpreted to locate a set of nodes under a node, and the tag flag for at least one node is interpreted to determine which tagged node in the set corresponds to the partial enumeration count. - View Dependent Claims (36, 37, 38)
-
Specification