Scope in decision trees
First Claim
1. A method comprising:
- compiling a decision tree data structure including a plurality of nodes using a classifier table having a plurality of rules representing a search space for packet classification, the plurality of rules having at least one field, the plurality of nodes each covering a portion of the search space by representing successively smaller subsets of the plurality of rules with increasing depth in the decision tree data structure;
for each node of the decision tree data structure, (a) computing a node scope value indicating a node portion of the search space covered by the node;
(b) for each rule intersecting the node, computing a rule scope value indicating a rule portion of the node portion covered by the rule;
(c) comparing the node portion of the search space covered by the node to an amount of the node portion covered by rules intersecting the node by computing a scope factor for the node based on the node scope value computed and the rule scope value computed for each rule; and
using the scope factor computed for at least one node of the plurality of nodes as an input parameter to a decision for performing a compiler operation at the at least one node.
6 Assignments
0 Petitions
Accused Products
Abstract
A root node of a decision tree data structure may cover all values of a search space used for packet classification. The search space may include a plurality of rules, the plurality of rules having at least one field. The decision tree data structure may include a plurality of nodes, the plurality of nodes including a subset of the plurality of rules. Scope in the decision tree data structure may be based on comparing a portion of the search space covered by a node to a portion of the search space covered by the node'"'"'s rules. Scope in the decision tree data structure may be used to identify whether or not a compilation operation may be unproductive. By identifying an unproductive compilation operation it may be avoided, thereby improving compiler efficiency as the unproductive compilation operation may be time-consuming.
106 Citations
50 Claims
-
1. A method comprising:
-
compiling a decision tree data structure including a plurality of nodes using a classifier table having a plurality of rules representing a search space for packet classification, the plurality of rules having at least one field, the plurality of nodes each covering a portion of the search space by representing successively smaller subsets of the plurality of rules with increasing depth in the decision tree data structure; for each node of the decision tree data structure, (a) computing a node scope value indicating a node portion of the search space covered by the node;
(b) for each rule intersecting the node, computing a rule scope value indicating a rule portion of the node portion covered by the rule;
(c) comparing the node portion of the search space covered by the node to an amount of the node portion covered by rules intersecting the node by computing a scope factor for the node based on the node scope value computed and the rule scope value computed for each rule; andusing the scope factor computed for at least one node of the plurality of nodes as an input parameter to a decision for performing a compiler operation at the at least one node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a memory; a processor coupled to the memory, the processor configured to; compile a decision tree data structure including a plurality of nodes using a classifier table having a plurality of rules representing a search space for packet classification, the plurality of rules having at least one field, the plurality of nodes each covering a portion of the search space by representing successively smaller subsets of the plurality of rules with increasing depth in the decision tree data structure; for each node of the decision tree data structure, (a) compute a node scope value indicating a node portion of the search space covered by the node;
(b) for each rule intersecting the node, compute a rule scope value indicating a rule portion of the node portion covered by the rule;
(c) compare the node portion of the search space covered by the node to an amount of the node portion covered by rules intersecting the node by computing a scope factor for the node based on the node scope value computed and the rule scope value computed for each rule; anduse the scope factor computed for at least one node of the plurality of nodes as an input parameter to a decision for performing a compiler operation at the at least one node. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A non-transitory computer-readable medium having encoded thereon a sequence of instructions which, when loaded and executed by a processor, causes the processor to:
-
compile a decision tree data structure including a plurality of nodes using a classifier table having a plurality of rules representing a search space for packet classification, the plurality of rules having at least one field, the plurality of nodes each covering a portion of the search space by representing successively smaller subsets of the plurality of rules with increasing depth in the decision tree data structure; for each node of the decision tree data structure, (a) compute a node scope value indicating a node portion of the search space covered by the node;
(b) for each rule intersecting the node, compute a rule scope value indicating a rule portion of the node portion covered by the rule;
(c) compare the node portion of the search space covered by the node to an amount of the node portion covered by rules intersecting the node by computing a scope factor for the node based on the node scope value computed and the rule scope value computed for each rule; anduse the scope factor computed for at least one node of the plurality of nodes as an input parameter to a decision for performing a compiler operation at the at least one node. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
Specification