Rule Engine Hash Table Lookup Key Generation for Packet Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Rule engines in packet-based communication networks face performance issues due to the time required to check multiple rules, memory usage, and slow memory accesses, especially when handling a large number of rules.

Innovation Solution

A method and system for a rule engine that generates lookup keys from packet fields, accesses a data structure correlating key values with records indicating further tests to determine rule matches, using hash tables, TRIE, TCAM, and Bloom filters to efficiently check packets against multiple rules without locking the memory unit, allowing for real-time packet filtering with minimal resource dependence on the number of rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a rule engine checks all rules sequentially to ensure accurate packet filtering, then the matching accuracy is improved, but the processing speed deteriorates

Engineering Contradiction:
Improverule matching accuracyVSAvoidpacket processing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the rule set into multiple groups or categories, allowing the rule engine to check packets against relevant rule groups in parallel or in a optimized sequence rather than checking all rules sequentially. This segmentation enables the system to maintain high accuracy by checking all applicable rules while significantly improving processing speed through selective and parallel evaluation of rule segments.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the rule engine increases the number of rules to handle more packet types, then the filtering capability is improved, but the memory usage and access time worsen

Engineering Contradiction:
Improvepacket filtering capabilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent introduces hierarchical organization of rules with multiple levels of specificity, adding a dimensional structure to the rule storage. Rules are arranged in tiers from general to specific, allowing the engine to quickly eliminate packets using broad category rules while storing detailed specific rules in a structured manner that optimizes memory access patterns and reduces the effective memory footprint for common packet types.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If the rule engine performs comprehensive rule checking on every packet, then the security coverage is improved, but the processing time increases

Engineering Contradiction:
Improvesecurity coverageVSAvoidpacket processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary packet classification and filtering stages that perform preliminary actions on packets before they reach the full rule engine. Quick-filter rules and common pattern matching are executed in advance, allowing the comprehensive rule checking to be applied only to packets that require detailed inspection, thereby maintaining full security coverage while reducing average processing time for the overall packet stream.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If the rule engine uses complex data structures to optimize rule lookup, then the rule checking speed is improved, but the device complexity increases

Engineering Contradiction:
Improverule checking speedVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs dynamic rule compilation and caching mechanisms that adapt the data structure based on the actual rule set and packet traffic patterns. The system dynamically generates optimized lookup structures from the configured rules, allowing the same rule engine to efficiently handle different rule sets without requiring manual reconfiguration of complex data structures. This dynamic adaptation maintains high checking speed while reducing the apparent complexity for rule deployment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9491069B2System and method of high volume rule engine
Publication Date: 2016.11.08 COGNYTE TECH ISRAEL LTD
  • US9491069B2 patent drawing
  • US9491069B2 patent drawing
  • US9491069B2 patent drawing

AI summary

A rule engine configured with at least one hash table which summarizes the rules managed by the engine. The rule engine receives rules and automatically adjusts the hash table in order to relate to added rules and/or in order to remove cancelled rules. The adjustment may be performed while the rule engine is filtering packets, without stopping. The rules may be grouped into a plurality of rule types and for each rule type the rule engine performs one or more accesses to at least one hash table to determine whether any of the rules of that type match the packet. In some embodiments, the rule engine may automatically select the rule types responsive to a set of rules provided to the rule engine and adapt its operation to the specific rules it is currently handling, while not spending resources on checking rule types not currently used.