Multicast Packet Reception via NIC Kernel Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network systems experience significant overhead due to excessive context switching during network transmit and receive operations, particularly in environments with short data packets, and existing user-level protocol processing stacks face challenges in achieving robust, high-performance implementations for multicast data packet reception.

Innovation Solution

Implementing a mechanism where the Network Interface Card (NIC) delivers incoming multicast data packets directly to user-level endpoints without kernel intervention, allowing for hardware filtering and reducing context switches by establishing filters in the NIC or kernel tables based on capacity and request characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the kernel processes all incoming multicast data packets through standard protocol stacks, then reliability and security are maintained through kernel mode execution, but excessive context switching occurs causing significant overhead and reduced productivity

Engineering Contradiction:
Improvekernel security and protocol processing reliabilityVSAvoidnetwork processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the network packet processing path into two distinct segments: (1) kernel-mode filtering and routing decisions for multicast packets, and (2) user-mode protocol processing for selected packets. This segmentation allows the kernel to handle only essential filtering tasks while delegating protocol processing to user-mode stacks, thereby reducing context switching overhead while maintaining security and reliability through kernel-enforced filtering rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts protocol processing functionality from the kernel mode and places it in user-mode protocol stacks. The kernel retains only the essential function of filtering and routing decisions, while user-mode stacks handle the actual protocol processing. This extraction eliminates unnecessary context switching between kernel and user mode for protocol processing operations, improving network processing throughput while the kernel maintains security and reliability through its filtering role.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If user-level protocol processing stacks are implemented to reduce context switching, then productivity and performance are improved, but achieving robust and reliable implementations becomes challenging

Engineering Contradiction:
Improvenetwork processing throughputVSAvoidimplementation robustness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces the kernel as an intermediary between network packets and user-mode protocol stacks. The kernel implements filtering rules and routing decisions that mediate which packets reach which user-mode stacks. This intermediary role ensures that user-mode stacks receive only authorized packets according to kernel-enforced policies, providing the reliability and security controls that would otherwise be difficult to implement in user-mode processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If hardware filtering is implemented in the NIC to reduce kernel intervention, then context switching is minimized and performance improves, but device complexity increases

Engineering Contradiction:
Improvenetwork processing efficiencyVSAvoidNIC hardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements multi-functionality in the kernel filtering layer, where a single kernel-mode filtering mechanism handles multiple protocols and packet types. Rather than requiring dedicated hardware filtering for each protocol, the kernel provides universal filtering capabilities that work across different protocol stacks, reducing the need for complex NIC hardware while maintaining high processing efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8116312B2Method and apparatus for multicast packet reception
Publication Date: 2012.02.14 XILINX INC
  • US8116312B2 patent drawing
  • US8116312B2 patent drawing
  • US8116312B2 patent drawing

AI summary

Roughly described, incoming data packets are delivered by the NIC directly to at least two user level endpoints. In an aspect, only filters that cannot be ambiguous are created in the NIC. In another aspect, the NIC maintains a filter table supporting direct delivery of incoming unicast and multicast data packets to one user level endpoint. Additional requests to join the same multicast group cause replacement of the NIC filter with one in the kernel. In another aspect, a NIC has limited capacity to maintain multicast group memberships. In response to a new multicast filter request, the kernel establishes it in the NIC only if the NIC still has sufficient capacity; otherwise it is established in the kernel.