Patent ID: 8472446

Claim:
A method for performing specific data forwarding actions for incoming data traffic, the incoming data traffic comprising data packets and each data packet comprising a header and data, which method comprises the steps of: receiving the incoming data traffic, wherein the incoming data traffic belongs to at least one class from a plurality of pre-defined classes, classifying and transmitting the incoming data traffic by determining the nature of the data traffic, provided by a process of: providing a classifier for classifying the data traffic, the classifier comprising n data routing rules that respectively represent the plurality of pre-defined classes and each of the data routing rules comprising D fields that are respectively made up of bits representing a respective value, wherein n and D are whole numbers greater than 1, and each of the D fields represents a dimension for a decision tree; inspecting values of a plurality of selected header fields of an address space of a data packet from the incoming data traffic to generate an input key, wherein each of the selected header fields has a value matching the value of one of the D fields, generating a compressed classifier by compressing the n data routing rules in the classifier into an ordered list of n compressed data routing rules such that a total number of bits associated with the compressed classifier is reduced from the classifier, and the total number of bits collectively represent the plurality of pre-defined classes and the D fields that represent the dimensions for a decision tree, building a decision tree based on the compressed classifier by cutting the compressed classifier with one cut in each dimension, the cuts forming sub-regions of the decision tree and each sub-region containing at least one of the n data routing rules, the built decision tree being a multi-dimensional representation of the pre-defined classes, and transmitting the incoming data traffic in accordance with the at least one class from the plurality of pre-defined classes to which the incoming data traffic belongs, wherein the at least one class is determined by applying the input key to the built decision tree to ascertain the sub-region of the built decision tree to which the incoming data traffic belongs.