PDU Stream Interface Descriptor for Noncontiguous Buffer Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing network stack architecture incurs performance overhead due to the need to copy protocol data units (PDUs) from noncontiguous memory locations, leading to inefficiencies in data processing and potential delays in deep packet inspection and security analysis, especially when dealing with non-contiguous PDUs stored in buffer pools.
Innovation Solution
A PDU stream interface is designed to create descriptor data structures that link related PDUs in the correct order, allowing applications to access PDUs without copying them into contiguous memory locations, thereby bypassing the operating system and reducing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If protocol data units are stored in noncontiguous buffers in the buffer pool, then memory utilization is improved and data can be processed in received order, but data copying overhead increases and processing efficiency decreases
Solution Approach 1:
The patent segments the protocol data unit access mechanism into two parts: the actual data storage in noncontiguous buffers and the descriptor structure that provides logical continuity. The descriptor is divided into a header portion (containing metadata like buffer addresses and lengths) and a data portion, allowing the system to maintain both segmented physical storage and contiguous logical access.
Solution Approach 2:
The descriptor data structure acts as an intermediary between the application and the noncontiguous buffer pool. Instead of applications directly accessing scattered buffers, they access the descriptor which contains all necessary information (buffer addresses, lengths, offsets) to reconstruct the complete protocol data unit view without requiring physical data copying.
2Ease of operation
If protocol data units are copied into contiguous memory locations, then data access simplicity is improved, but processing time and power consumption increase
Solution Approach 1:
The patent uses a logical copy mechanism through the descriptor structure rather than a physical data copy. The descriptor header contains references to the actual data buffers, creating a virtual copy that provides contiguous access semantics without the performance penalty of physical data movement. This allows applications to access protocol data units as if they were contiguous while avoiding actual copying overhead.
3Productivity
If the operating system is bypassed for PDU access, then processing overhead is reduced and performance improves, but system complexity increases
Solution Approach 1:
The descriptor data structure serves multiple functions simultaneously: it acts as a data structure defining the protocol data unit, a pointer mechanism referencing buffer pool locations, a metadata container holding buffer addresses and lengths, and an access interface for applications. This multi-functionality reduces the need for separate OS-mediated operations while maintaining systematic control.
Data Source
AI summary
An interface can be designed that efficiently constructs descriptors for streams of protocol data units (PDUs) and provides coherent views of the PDUs and the PDU stream for a requesting application regardless of location within a buffer pool for PDUs. The interface creates a descriptor for each PDU written into the buffer pool and links the descriptors in accordance with the appropriate order of the corresponding PDUs. The interface can create PDU descriptors hierarchically. For instance, a PDU descriptor for a PDU of a layer N protocol can refer to one or more PDU descriptors of a layer N−1 protocol.


