DOCSIS Filter Group Processing With Unified Tables for SIMD Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing DOCSIS filter group processing methods are inefficient due to the need to process packets in smaller batches, which limits the efficiency of parallel processing and increases processing time, especially when handling larger batch sizes.
Innovation Solution
Implementing a unified DOCSIS filter group table that includes multiple filter group IDs, allowing for larger batch sizes to be processed in parallel using SIMD instructions, and incorporating a filter group ID into the packet header or a temporary buffer to facilitate efficient processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are processed in smaller batches using traditional DOCSIS filter group methods, then processing can be completed with existing hardware, but processing efficiency is reduced and parallel processing capability is limited
Solution Approach 1:
The patent segments the batch processing into multiple parallel processing lanes, where each lane processes a subset of packets simultaneously using SIMD instructions. This segmentation enables larger batch sizes to be handled efficiently by dividing the work into parallel streams that can be processed concurrently, thereby improving overall productivity while maintaining manageable processing time.
Solution Approach 2:
The patent introduces a new dimension of parallelism by utilizing SIMD (Single Instruction, Multiple Data) instructions that operate on multiple packet headers simultaneously within a single processing lane. This dimensional expansion from sequential packet processing to vectorized parallel processing within lanes, combined with multiple lanes, dramatically increases processing throughput and efficiency.
2Productivity
If larger batch sizes are processed, then throughput increases, but the complexity of managing parallel processing and filter group applications increases
Solution Approach 1:
The patent segments the large batch into smaller sub-batches distributed across multiple processing lanes, each handling a manageable number of packets. This segmentation reduces the complexity within each lane while maintaining high overall throughput through parallel execution. Each lane independently processes its subset of packets with simplified filter group application logic.
Solution Approach 2:
The patent merges multiple processing lanes back together after parallel processing to produce the final processed batch. By combining the results from multiple simplified parallel lanes, the system achieves high throughput without requiring any single lane to handle the entire complex processing task alone, thereby managing complexity effectively.
3Productivity
If multiple filter group IDs are supported in a unified table, then parallel processing efficiency improves, but the data structure complexity increases
Solution Approach 1:
The patent creates a universal filter group table that handles multiple filter group IDs within a single data structure. This unified table serves multiple functions: it stores filter rules for different filter groups, maintains associativity between filter group IDs and rules, and supports parallel processing across multiple lanes. The multi-functional design eliminates the need for separate tables for each filter group, improving parallel processing efficiency while managing data structure complexity through a standardized format.
Data Source
AI summary
Enhanced parallelism in DOCSIS filter group and Service Flow processing. A plurality of packets that have been transmitted across a computer network are received. A responsive action to be performed against each of the plurality of packets is determined by performing DOCSIS filter group processing on the plurality of packets using a single unified Filter Group table. The single unified Filter Group table comprises a plurality of rules that each define a set of criteria and a particular responsive action to perform against any packet matching the set of criteria for that rule. The plurality of rules in the single unified Filter Group table identify, in their sets of criteria, different Filter Group identifiers (IDs). Thereafter, the responsive action is performed on each of the plurality of packets. A single unified classifier table may also be used to assign a Service Flow to packets with enhanced parallelism.


