Method, system and computer program product to partition filter rules for efficient enforcement
First Claim
Patent Images
1. A method comprising the steps of:
- (a) providing a database of rules;
(b) applying an algorithm to the database to identify Almost-Exact Rules and Other Rules;
(c) partitioning the database so that the Almost-Exact Rules are grouped into one or more groups;
(d) partitioning the database so that the Other Rules are grouped in at least one separate group.
2 Assignments
0 Petitions
Accused Products
Abstract
The effectiveness of a Network Processor to process data at media speed is enhanced by partitioning a Rules Database, used to filter and/or forward frames, into at least one set of Almost-Exact Rules and Other Rules. The Almost-Exact Rules are processed by a Full Match (FM) Tree Search Algorithm and the Other Rules are processed by a Software Managed Tree (SMT) algorithm.
14 Citations
25 Claims
-
1. A method comprising the steps of:
-
(a) providing a database of rules;
(b) applying an algorithm to the database to identify Almost-Exact Rules and Other Rules;
(c) partitioning the database so that the Almost-Exact Rules are grouped into one or more groups;
(d) partitioning the database so that the Other Rules are grouped in at least one separate group. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A Network Processor comprising:
-
a first database storing filter rules or other classification rules that are exact in all fields except one;
a second database storing other filter rules or other classification rules;
a first search function receiving an IP packet and testing a portion of said packet against the first database;
a second search function receiving an IP packet and testing a portion of said packet against the second database; and
an Arbitrator function responsive to signals from the first search function or the second search function to output an action signal if a match is found. - View Dependent Claims (7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25)
-
-
13. A program product comprising:
-
media on which computer instructions are recorded, said instructions including a first code module that parses database of rules and partitions said database into n sets, wherein n represents number of fields in each rule of said database;
a second code module that interrogates the n sets and deletes from each set rules not meeting a first predetermined criteria;
a third code module that interrogates remaining rules in each set Si, i=1, 2, . . . , n, to determine said remaining rules are what fraction fi of the rules in the database;
a fourth code module that interrogates fi for each set Si;
andgrouping rules associated with fi, if said fi meets a second predetermined criteria, into one or more groups and other rules into at least one separate group.
-
-
19. A method comprising the acts of:
-
providing a database of rules;
partitioning, with an algorithm, said database of rules into n sets, where n represents number of fields in each rule;
reducing the number of rules within each set based upon characteristics of fields within each rule;
for remaining rules in each set, Si, with i−
1, 2, . . . , n, calculate a fraction fi,
setting a predetermined threshold T;
if fi meets or exceeds the predetermined threshold T, then partitioning rules into at least one group Si and all other rules into at least one separate group.
-
Specification