Classification Tree for Single-Pass Data Packet Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data packet classification methods in network communications face performance issues due to limited CPU processing power and complex classification rules, often requiring multiple tree searches or multiple passes through hash tables, which are inefficient and may not guarantee a successful match.
Innovation Solution
A method and system for building a classification tree structure that enables single-pass classification using a plurality of classification rules, where each rule is associated with fields of different priority levels, allowing for efficient logical decision paths and matching node identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If classification rules are made complex and customizable to support various applications, then classification capability and versatility are improved, but processing performance deteriorates due to limited CPU power and expanded application complexity
Solution Approach 1:
The patent segments the classification rules into multiple priority levels (first priority level, second priority level, etc.), where each level handles specific rules. This segmentation allows the system to process rules in a structured manner, improving processing performance while maintaining the ability to handle complex classification requirements through multi-level rule organization.
2Productivity
If constraints are enforced on rule complexity to improve processing speed, then processing performance is improved, but classification versatility deteriorates as rules are limited to sets that can be organized into binary search trees
Solution Approach 1:
The patent adds a priority level dimension to the rule organization structure. Instead of being constrained to a single binary search tree dimension, rules are organized across multiple priority levels, each potentially using different data structures (binary search trees, hash tables, etc.). This dimensional extension allows the system to maintain processing efficiency while supporting more complex and versatile classification rules.
3Adaptability or versatility
If multiple binary search trees are used to accommodate complex rules, then classification capability is improved, but processing speed deteriorates significantly compared to a single tree
Solution Approach 1:
The patent performs preliminary organization of rules into priority levels before the actual classification process. By pre-structuring rules with assigned priority levels and selecting appropriate data structures for each level, the system avoids the need to search multiple binary search trees during packet classification. This preliminary action significantly improves processing speed while maintaining the capability to handle complex rules through the multi-level structure.
4Ease of manufacture
If hash tables are used for classification, then implementation ease is improved, but processing efficiency deteriorates due to requiring multiple passes across different tables
Solution Approach 1:
The patent segments the hash table-based classification into multiple priority levels, where each level contains relevant rules organized in hash tables. This segmentation allows the system to search through prioritized levels sequentially, improving classification efficiency by avoiding multiple passes across entire hash tables while maintaining the implementation ease of hash table structures.
Data Source
AI summary
Embodiments of the invention provide a method for building a classification tree based on a plurality of rules. Each rule includes multiple fields having different priority levels. The classification tree is built to provide for single pass classification of a received packet according to the multiple rules. The classification tree is built level-by-level, where each level represents one of the priority levels. Building a single level of the classification tree includes: creating, for each of the logical decision paths received from a next higher priority level, a respective sub-tree. The sub-tree includes only nodes and related logical decision paths that are necessary to satisfy rules associated with a respective next higher priority level node. Building of the single level further includes: creating, for each non-lowest priority level, logical decision paths from nodes within the current priority level to a next lower priority level.


