Multi-rule approach to encoding a group of rules
First Claim
1. A method for encoding a plurality of key matching rules grouped in a chunk, each of the key matching rules beginning with a header and having at least one dimension, the method comprising:
- in a rule encoding engine, communicatively coupled to memory and provided with a chunk of key matching rules, building a multi-rule corresponding to the chunk comprising;
storing in the memory a multi-rule header of the multi-rule, the multi-rule header representing, collectively, a plurality of headers stored one after the other, the multi-rule header being decoded by a rule matching engine in a single decode operation to extract the plurality of headers of the key matching rules, wherein the plurality of headers include values which control the rule matching engine processing of the key matching rules, including dimensions, the rule matching engine formats the key matching rules based on a key and matches the key matching rules against the key to find a match based on the values stored in the plurality of headers.
6 Assignments
0 Petitions
Accused Products
Abstract
A multi-rule approach for encoding rules grouped in a rule chunk is provided. The approach includes a multi-rule with a multi-rule header representing headers of the rules and, in some cases, dimensional data representing dimensional data of the rules. The approach further includes disabling dimension matching of always matching dimensions, responding to an always match rule with a match response without matching, interleaving minimum/maximum values in a range field, interleaving value/mask values in a mask field, and for a given rule of rule chunk, encoding a priority field at the end of dimension data stored for the rule in the multi-rule. Advantageously, this approach provides efficient storage of rules and enables the efficient comparison of rules to keys.
-
Citations
15 Claims
-
1. A method for encoding a plurality of key matching rules grouped in a chunk, each of the key matching rules beginning with a header and having at least one dimension, the method comprising:
-
in a rule encoding engine, communicatively coupled to memory and provided with a chunk of key matching rules, building a multi-rule corresponding to the chunk comprising; storing in the memory a multi-rule header of the multi-rule, the multi-rule header representing, collectively, a plurality of headers stored one after the other, the multi-rule header being decoded by a rule matching engine in a single decode operation to extract the plurality of headers of the key matching rules, wherein the plurality of headers include values which control the rule matching engine processing of the key matching rules, including dimensions, the rule matching engine formats the key matching rules based on a key and matches the key matching rules against the key to find a match based on the values stored in the plurality of headers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for encoding one or more a plurality of key matching rules grouped in a chunk, each of the key matching rules including beginning with a header and having at least one dimension, the system comprising:
-
a memory; at least one interface for receiving a chunk of key matching rules; a rule encoding engine communicatively coupled to the memory and the at least one interface, the rule encoding engine configured to build a multi-rule corresponding to the chunk by; storing in the memory a multi-rule header of the multi-rule, the multi-rule header representing, collectively, a plurality of headers stored one after the other, the multi-rule header being decoded by a rule matching engine in a single decode operation to extract the plurality of headers of the key matching rules, wherein the plurality of headers include values which control the rule matching engine processing of the key matching rules, including dimensions, the rule matching engine formats the key matching rules based on a key and matches the key matching rules against the key to find a match based on the values stored in the plurality of headers.
-
-
15. A tangible non-transitory computer-readable storage medium having computer readable instructions stored therein for encoding a plurality of key matching rules grouped in a chunk, each of the key matching rules beginning with a header, which when executed by a rule encoding engine, provided with a chunk in which each key matching rule of the chunk has at least one dimension, cause the rule encoding engine to build a multi-rule corresponding to the chunk by:
storing in memory, communicatively coupled to the rule encoding engine, a multi-rule header of the multi-rule, the multi-rule header representing, collectively, a plurality of headers stored one after the other, the multi-rule header being decoded by a rule matching engine in a single decode operation to extract the plurality of headers of the key matching rules, wherein the plurality of headers include values which control the rule matching engine processing of the key matching rules, including dimensions, the rule matching engine formats the key matching rules based on a key and matches the key matching rules against the key to find a match based on the values stored in the plurality of headers.
Specification