Packet Classification Using Bitmask-Organized Red-Black Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network infrastructure devices face inefficiencies in packet classification, particularly in determining the appropriate set of filters for data packets, which affects quality of service, traffic monitoring, and network usage, due to high computation times and memory requirements.

Innovation Solution

The use of a balanced tree structure, specifically a red-black tree, to organize packet filters based on bitmask values, allowing for efficient search and memory optimization by grouping filters according to bitmask combinations and using bitmask tables to point to red-black trees for non-wildcard bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional packet classification methods are used to determine appropriate filters for data packets, then packet filtering functionality is achieved, but computation time and memory requirements are excessively high

Engineering Contradiction:
Improvecomputation timeVSAvoidpacket classification efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the packet classification problem into multiple dimensions by creating separate binary decision trees for each filter element (source address, destination address, service, etc.). Each tree handles one dimension independently, allowing parallel processing and reducing the computational complexity from examining all filters to examining only relevant trees. This segmentation directly addresses the high computation time issue by dividing the monolithic classification task into manageable, independent components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the traditional single-dimension filter matching approach into a multi-dimensional classification system. By organizing filters into separate binary decision trees for each filter element dimension, the system adds dimensional structure to the classification process. This dimensional organization enables more efficient search paths and reduces the computational space that needs to be explored, directly improving packet classification efficiency while maintaining filtering functionality.

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

2Measurement precision

If comprehensive packet filters are maintained for all possible packet characteristics, then accurate packet classification is achieved, but memory requirements increase significantly

Engineering Contradiction:
Improvepacket classification accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the comprehensive filter set into multiple specialized binary decision trees, each dedicated to a specific filter element dimension. Instead of storing all filters in a single large structure that requires extensive memory, the system distributes filters across multiple smaller, dimension-specific trees. This segmentation reduces the memory burden on any single data structure while maintaining the ability to accurately classify packets by combining results from all dimension trees.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent organizes the filter database into a multi-dimensional structure where each dimension corresponds to a filter element type. This dimensional organization allows the system to maintain comprehensive filtering capability across all packet characteristics while using memory more efficiently. Each binary decision tree occupies a specific dimensional space, and the overall memory requirement is distributed across these dimensions rather than concentrated in a single large structure, thus reducing total memory requirements while preserving classification accuracy.

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

Data Source

PatentUS7535899B2Packet classification
Publication Date: 2009.05.19 TAHOE RES LTD
  • US7535899B2 patent drawing
  • US7535899B2 patent drawing
  • US7535899B2 patent drawing

AI summary

An apparatus and method includes grouping filters to form a tree according to a bitmask. The bitmask includes entries indicating whether a value is assigned to an element of a filter. The method also includes receiving a packet that includes a particular bitmask, searching the tree to determine filters associated with the particular bitmask and the associated values, and returning a set of filters that are an intersection of the filters indicated by the associated values.