Dynamic Packet Classification via Parallel Sub-Classifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Packet classifiers in high-speed networks face bottlenecks due to processing limitations, leading to packet drops, and increasing computing power is costly and inflexible, especially in dynamic environments like cloud and virtualized data centers.

Innovation Solution

Implementing a method to algorithmically divide and dynamically reconfigure packet classification tasks into smaller, parallel sub-classifiers that can be instantiated and allocated across multiple machines, with automated load balancing and configuration updates to adapt to changing workloads and demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the computing power of the classifier is increased to process packets faster, then the processing speed is improved, but the cost increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidcomputing power resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides a single packet classification task into multiple sub-classification tasks that can be processed in parallel by multiple classifiers. Each classifier handles a subset of packets or a specific portion of the classification problem, allowing the system to achieve higher aggregate processing throughput without requiring each individual classifier to have excessive computing power. This segmentation enables cost-effective scaling by distributing the workload across multiple moderate-power classifiers rather than concentrating it in one high-power classifier.

Inventive Principle:
Principle #1Segmentation

2Reliability

If over-provisioning is done to cope with maximum demand in cloud environments, then the reliability is improved, but the hardware utilization deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidhardware utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic configuration where classifiers can be instantiated, activated, or deactivated based on real-time workload conditions. In cloud and virtualized environments, the system can scale the number of classifiers up or down according to actual packet processing demands, rather than maintaining a fixed over-provisioned configuration. This dynamic approach ensures reliability during peak demand while improving hardware utilization during lower-demand periods by activating only the necessary number of classifiers.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If the classifier processes packets sequentially, then the device complexity is reduced, but the productivity deteriorates

Engineering Contradiction:
Improveclassifier structure simplicityVSAvoidpacket processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the packet classification workload into multiple parallel processing streams, each handled by a separate classifier. Instead of one complex sequential classifier, the system uses multiple simpler classifiers working simultaneously on different packet subsets. This segmentation maintains relative simplicity in each individual classifier while achieving high aggregate throughput through parallelism, effectively resolving the trade-off between device complexity and productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9923997B2Systems and methods for packet classification
Publication Date: 2018.03.20 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US9923997B2 patent drawing
  • US9923997B2 patent drawing
  • US9923997B2 patent drawing

AI summary

A method for packet classification. In some embodiments, the method includes instantiating a first machine; allocating a first SC to the first machine, the first SC being configured to classify a packet based on information contained in a field of a header included in the packet; instantiating a second machine; allocating a second SC to the second machine, the second SC being configured to classify a packet based on information contained in a field of a header included in the packet; monitoring the first machine to detect if the first machine is in an overload state; and in response to detecting that the first machine is in an overload state, instantiating a third machine and allocating a third SC to the third machine, the third SC being configured to classify a packet based on information contained in a field of a header included in the packet.