Rule set partitioning based packet classification method for internet
First Claim
1. A method for generating a partitioned rule set for use in classifying a packet for a communications network, the method comprising executing the following steps:
- obtaining a rule set comprising a plurality of rules, the plurality of rules being used to classify a packet for the communications network;
partitioning the rule set into a plurality of horizontal subsets in accordance with a classification operation and a field associated with the rule set, a given horizontal subset comprising one or more rule layers, each of the one or more rule layers comprising one or more of the plurality of rules;
partitioning at least a first and a second of the plurality of horizontal subsets into a plurality of vertical subsets, wherein, within a given one of the plurality of horizontal subsets, a first vertical subset range interval of a given one of the plurality of vertical subsets is non-overlapping with a second vertical subset range interval of another given one of the plurality of vertical subsets;
creating a plurality of non-overlapping partitions across a range interval of the rule set, a given one of the non-overlapping partitions corresponding to values which are within each of a set of vertical subset range intervals comprising one vertical subset within at least the first and the second of the horizontal subsets; and
generating a hash table that indexes the plurality of vertical subsets in accordance with the plurality of non-overlapping partitions, wherein a given vertical subset is grouped together with a given partition in accordance with a corresponding range interval of the given vertical subset.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a rule set partitioning based packet classification method for Internet. The method comprising: performing Horizontal Cut for the rule set, determining the field for partitioning a rule layer based on a target algorithm and selecting the partition manner of the Horizontal Cut, performing Horizontal Cut according to the selected partition manner of the Horizontal Cut, thereby obtaining more than one rule layers, each rule layer being a Horizontal subset, combining the rule layers to obtain a plurality of Horizontal subsets according to the total number of the pre-designated Horizontal subsets and a predefined principle, wherein the total number of said combined plurality of Horizontal subsets equals to the total number of said pre-designated Horizontal subsets; performing Vertical Cut in each of the Horizontal subsets; then forming a Hash table that can index the Vertical subsets, so that it can be used in a lookup; and realizing rule storage in each Vertical subset respectively according to the target algorithm.
-
Citations
20 Claims
-
1. A method for generating a partitioned rule set for use in classifying a packet for a communications network, the method comprising executing the following steps:
-
obtaining a rule set comprising a plurality of rules, the plurality of rules being used to classify a packet for the communications network; partitioning the rule set into a plurality of horizontal subsets in accordance with a classification operation and a field associated with the rule set, a given horizontal subset comprising one or more rule layers, each of the one or more rule layers comprising one or more of the plurality of rules; partitioning at least a first and a second of the plurality of horizontal subsets into a plurality of vertical subsets, wherein, within a given one of the plurality of horizontal subsets, a first vertical subset range interval of a given one of the plurality of vertical subsets is non-overlapping with a second vertical subset range interval of another given one of the plurality of vertical subsets; creating a plurality of non-overlapping partitions across a range interval of the rule set, a given one of the non-overlapping partitions corresponding to values which are within each of a set of vertical subset range intervals comprising one vertical subset within at least the first and the second of the horizontal subsets; and generating a hash table that indexes the plurality of vertical subsets in accordance with the plurality of non-overlapping partitions, wherein a given vertical subset is grouped together with a given partition in accordance with a corresponding range interval of the given vertical subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for classifying a packet for a communications network, the method comprising executing the following steps:
-
obtaining a packet from the communications network; classifying the packet based on a partitioned rule set, wherein the partitioned rule set is generated by; obtaining a rule set comprising a plurality of rules, the plurality of rules being used to classify the packet for the communications network; partitioning the rule set into a plurality of horizontal subsets in accordance with a classification operation and a field associated with the rule set, a given horizontal subset comprising one or more rule layers, each of the one or more rule layers comprising one or more of the plurality of rules; partitioning at least a first and a second of the plurality of horizontal subsets into a plurality of vertical subsets, wherein, within a given one of the plurality of horizontal subsets, a first vertical subset range interval of a given one of the plurality of vertical subsets is non-overlapping with a second vertical subset range interval of another given one of the plurality of vertical subsets; creating a plurality of non-overlapping partitions across a range interval of the rule set, a given one of the non-overlapping partitions corresponding to values which are within each of a set of vertical subset range intervals comprising one vertical subset within at least the first and the second of the horizontal subsets; and generating a hash table that indexes the plurality of vertical subsets in accordance with the plurality of non-overlapping partitions, wherein a given vertical subset is grouped together with a given partition in accordance with a corresponding range interval of the given vertical subset. - View Dependent Claims (19)
-
-
20. A method for generating a partitioned rule set for use in classifying a packet for a communications network, the method comprising executing the following steps:
-
obtaining a rule set comprising a plurality of rules, the plurality of rules being used to classify a packet for the communications network; partitioning the rule set into one or more horizontal subsets in accordance with a classification operation and a field associated with the rule set, a given horizontal subset comprising one or more rule layers, each of the one or more rule layers comprising one or more of the plurality of rules; partitioning at least one of the one or more horizontal subsets into one or more vertical subsets, the one or more vertical subsets resulting in the creation of one or more partitions across a range interval of the rule set; and generating a hash table that indexes the one or more vertical subsets in accordance with the one or more partitions, wherein a given vertical subset is grouped together with a given partition in accordance with a corresponding range interval of the given vertical subset; wherein the step of partitioning at least one of the one or more horizontal subsets into the one or more vertical subsets, further comprises at least one of maximizing a total number of the one or more vertical subsets and minimizing a replication of one or more rules of the one or more vertical subsets.
-
Specification