Firewall Search Tree Node Segmentation for Rule Lookup Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current firewall systems face inefficiencies in rule lookup processes due to the use of linear lists and inadequate tree data structures, leading to increased memory requirements and slow performance when handling large sets of rules across multiple packet fields.

Innovation Solution

A search tree is generated by dividing parent nodes into child nodes based on the intersection of rules and field bounds, reducing storage needs and improving lookup efficiency by minimizing rule duplication across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a linear list is used to implement the set of rules, then the implementation is simple, but the rule lookup time increases significantly (O(n) worst case)

Engineering Contradiction:
Improveimplementation complexityVSAvoidrule lookup time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the rule set into a tree data structure where rules are divided and distributed across multiple nodes. The root node contains a subset of rules, and child nodes contain further subdivisions. This segmentation allows the lookup process to eliminate large portions of the rule set at each level, reducing time complexity from O(n) to O(log n) while maintaining manageable implementation complexity through systematic node creation and rule assignment.

Inventive Principle:
Principle #1Segmentation

2Speed

If conventional tree data structures are used with heuristics to divide rules, then lookup speed improves, but memory or storage requirements increase

Engineering Contradiction:
Improverule lookup speedVSAvoidmemory storage requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by creating specialized node types with specific properties suited to their function. Leaf nodes store rule subsets optimized for final matching, while internal nodes contain only the necessary routing information to guide lookups. This localized optimization ensures that each node contains only the minimal required data structure elements, reducing overall memory consumption while maintaining fast lookup performance through appropriate data organization at each level.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the number of rules in the set of rules increases to handle various packet fields, then the firewall coverage improves, but the rule lookup efficiency decreases

Engineering Contradiction:
Improvefirewall rule coverageVSAvoidrule lookup efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent transitions from a one-dimensional linear rule list to a multi-dimensional tree structure. Rules are organized across multiple dimensions corresponding to different packet fields (source IP, destination IP, source port, destination port, protocol). Each level of the tree can filter on different fields, creating a multi-dimensional filtering space. This dimensional expansion allows comprehensive rule coverage for complex packet inspection while maintaining efficient lookup through hierarchical navigation that eliminates large portions of the rule set at each dimension.

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

Data Source

PatentUS8171539B2Methods and apparatus for implementing a search tree
Publication Date: 2012.05.01 EXTREME NETWORKS INC
  • US8171539B2 patent drawing
  • US8171539B2 patent drawing
  • US8171539B2 patent drawing

AI summary

Apparatus and methods are provided for implementing a firewall in a network infrastructure component. A method comprises generating a search tree for a plurality of rules. The search tree comprises a first node having a first field bounds and a first set of rules of the plurality of rules, and a plurality of child nodes for the first node. Each child node has child field bounds based on an intersection of the first field bounds and the first set of rules, and each child node is assigned a respective subset of the first set of rules based on the respective child field bounds. The method further comprises receiving a first packet, identifying a first child node of the plurality of child nodes based on values for one or more fields of the first packet, and applying the respective subset of rules assigned to the first child node to the first packet.