Fast Update Filter for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network firewall systems face inefficiencies in updating filter rules, requiring recompilation of the entire filter for incremental changes, which affects performance and efficiency.

Innovation Solution

Implementing a method that allows incremental updates to firewall filters through normalization of rule modifications and establishment of backtracking links, enabling changes without recompiling the entire filter, using a longest prefix match and priority ordering system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire filter is recompiled for every rule modification, then the filter maintains consistency and correctness, but the update time and processing overhead increase significantly

Engineering Contradiction:
Improvefilter consistencyVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The filter compilation process is segmented into individual rule processing units. Instead of recompiling the entire filter blob for every modification, the system compiles and loads only the specific rule that was modified, while maintaining the existing filter structure in memory. This segmentation allows incremental updates without full recompilation overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The filter definition is pre-compiled into an intermediate representation that can be selectively updated. The system performs preliminary compilation of individual rules into a format that can be quickly loaded and integrated into the existing filter without requiring full recompilation, thus preparing update units in advance for fast deployment.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the entire filter blob is replaced with a newly compiled version, then all rule changes are incorporated, but the memory usage and processing overhead increase

Engineering Contradiction:
Improverule modification capabilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The filter is segmented into individual rule entries that can be independently managed in memory. When a rule is modified, only that specific rule segment is updated and reloaded, while the rest of the filter structure remains in memory unchanged. This avoids the memory overhead of loading and processing an entirely new filter blob.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system discards only the specific rule blob that needs updating while recovering and retaining the majority of the existing filter structure in memory. This selective discarding and recovery approach minimizes memory allocation and deallocation overhead compared to replacing the entire filter blob.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If conflict checking is performed on the entire filter for every rule modification, then rule consistency is ensured, but the processing time increases

Engineering Contradiction:
Improverule conflict detectionVSAvoidupdate efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Conflict checking is applied locally to only the modified rule and its immediate interactions with existing rules, rather than performing global conflict analysis on the entire filter. This localized approach maintains conflict detection reliability for the specific modification while significantly reducing processing time by avoiding unnecessary full-filter analysis.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9363234B2Fast update filter
Publication Date: 2016.06.07 JUNIPER NETWORKS INC
  • US9363234B2 patent drawing
  • US9363234B2 patent drawing
  • US9363234B2 patent drawing

AI summary

A method may include defining a filter for a network device, the filter including a rule and a particular number of prioritized fields, where at least one of the prioritized fields is formatted to accept input as a range of values. The method may also include receiving a rule modification for the filter, the rule modification including at least one input as a range of values, and performing a check for conflicts of the rule modification with the rule in the filter. The method may further include expanding the input range of values to form multiple rules equivalent to the rule modification with the input range of values, establishing backtracking links to integrate the multiple rules with the existing rule, and adding the multiple rules to the filter.