Packet classification
First Claim
Patent Images
1. A method comprising:
- in a processor, building a decision tree structure including a plurality of nodes, each node representing a subset of a plurality of rules having at least one field;
for at least one node of the decision tree structure, determining a number of cuts that may be made on each at least one field creating child nodes equal to the number of cuts and selecting a field on which to cut the at least one node based on a comparison of an average of a difference between an average number of rules per child node created and an actual number of rules per child node created per each at least one field;
cutting the at least one node into a number of child nodes on the selected field; and
storing the decision tree structure in a memory, wherein selecting the field on which to cut the at least one node based on the comparison enables the processor to build a wider, shallower decision tree structure relative to selecting the field on which to cut not based on the comparison, reducing a search time of a search performed using the decision tree structure stored in the memory.
6 Assignments
0 Petitions
Accused Products
Abstract
A packet classification system, methods, and corresponding apparatus are provided for enabling packet classification. A processor of a security appliance coupled to a network uses a classifier table having a plurality of rules, the plurality of rules having at least one field, to build a decision tree structure including a plurality of nodes, the plurality of nodes including a subset of the plurality of rules. The methods may produce wider, shallower trees that result in shorter search times and reduced memory requirements for storing the trees.
-
Citations
17 Claims
-
1. A method comprising:
-
in a processor, building a decision tree structure including a plurality of nodes, each node representing a subset of a plurality of rules having at least one field; for at least one node of the decision tree structure, determining a number of cuts that may be made on each at least one field creating child nodes equal to the number of cuts and selecting a field on which to cut the at least one node based on a comparison of an average of a difference between an average number of rules per child node created and an actual number of rules per child node created per each at least one field; cutting the at least one node into a number of child nodes on the selected field; and storing the decision tree structure in a memory, wherein selecting the field on which to cut the at least one node based on the comparison enables the processor to build a wider, shallower decision tree structure relative to selecting the field on which to cut not based on the comparison, reducing a search time of a search performed using the decision tree structure stored in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a memory; a processor coupled to the memory, the processor configured to build a decision tree structure including a plurality of nodes, each node representing a subset of a plurality of rules having at least one field; and the processor further configured to determine, for at least one node of the decision tree structure, a number of cuts that may be made on each at least one field creating child nodes equal to the number of cuts and to select a field on which to cut the at least one node based on a comparison of an average of a difference between an average number of rules per child node created and an actual number of rules per child node created per each at least one field, wherein the processor is further configured to cut the at least one node into a number of child nodes on the selected field and to store the decision tree structure in the memory, wherein selecting the field on which to cut the at least one node based on the comparison enables the processor to build a wider, shallower decision tree structure relative to selecting the field on which to cut not based on the comparison, reducing a search time of a search performed using the decision tree structure stored in the memory. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium having encoded thereon a sequence of instructions which, when executed by a processor, causes the processor to:
-
build a decision tree structure including a plurality of nodes, each node representing a subset of a plurality of rules having at least one field; determine, for at least one node of the decision tree structure, a number of cuts that may be made on each at least one field creating child nodes equal to the number of cuts; select a field on which to cut the at least one node based on a comparison of an average of a difference between an average number of rules per child node created and an actual number of rules per child node created per each at least one field; cut the at least one node into a number of child nodes on the selected at least one field; and store the decision tree structure in a memory, wherein selecting the field on which to cut the at least one node based on the comparison enables the processor to build a wider, shallower decision tree structure relative to selecting the field on which to cut not based on the comparison, reducing a search time of a search performed using the decision tree structure stored in the memory.
-
Specification