H04L49/9052

METHODS AND APPARATUS FOR DYNAMIC PACKET POOL CONFIGURATION IN NETWORKING STACK INFRASTRUCTURES

Methods and apparatus for dynamic packet pool configuration in networking stack architectures. Unlike prior art monolithic memory allocations, embodiments of the present disclosure enable packet pools associated with non-kernel space applications to dynamically allocate additional memory allocations to a given non-kernel space application, or conversely, de-allocate memory allocations to a given non-kernel space application. Variants also disclose the splitting up of a memory allocation into device accessible portions and kernel accessible portions. Other variants disclose sizing certain segment allocations so as to be a multiple of a physical address page size. Such a variant enables a single input/output (I/O) bus address lookup for the given segment so as to minimize look up costs associated with an I/O lookup for the given segment.

METHODS AND APPARATUS FOR SHARING AND ARBITRATION OF HOST STACK INFORMATION WITH USER SPACE COMMUNICATION STACKS

Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional socket based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).

METHODS AND APPARATUS FOR REGULATING NETWORKING TRAFFIC IN BURSTY SYSTEM CONDITIONS

Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional socket based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).

METHODS AND APPARATUS FOR VIRTUALIZED HARDWARE OPTIMIZATIONS FOR USER SPACE NETWORKING
20190306282 · 2019-10-03 ·

Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional socket based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).

Hierarchical packet buffer system

A switching device includes a primary memory and an traffic manager. The primary memory buffers packets for temporary storage. The traffic manager monitors consumed resources in the device related to the buffering of packets in the primary memory. The traffic manager migrates packets buffered in the primary memory to a secondary memory when the consumed resources exceed a certain threshold. The traffic manager also controls dequeuing of the packets from the primary memory and the secondary memory.

QUALITY OF SERVICE TRAFFIC MANAGEMENT IN HIGH-SPEED PACKET PROCESSING SYSTEMS

At a network interface, received packets are classified according to priority level or traffic class. Based on an assigned priority level, a received packet can be allocated to use a descriptor queue associated with the assigned priority level. The descriptor queue can have an associated buffer region in which portions of received packets are stored. The length of the descriptor queue can be dependent on the priority level such that a highest priority descriptor queue can be longer than a lowest priority descriptor queue. The size of the buffer can be dependent on the priority level such that a highest priority level can be assigned a separate buffer space of different size than that assigned to a lower priority level. A polling rate for a descriptor queue can be configured based on a priority level such that a highest priority level descriptor queue can be polled more frequently than a polling of a lower priority level descriptor queue.

BUFFER MANAGEMENT FOR MULTIPLE RADIO ACCESS TECHNOLOGIES

Certain aspects of the present disclosure relate to methods and apparatus for buffer management for a user equipment (UE) for multiple radio access technologies (RATs). Certain aspects provide transmitting data using a first RAT and second RAT to the UE based on an assumed size of a first portion of a buffer at the UE assumed allocated for storing data received by the UE using the first RAT and an assumed size of a second portion of the buffer assumed allocated for storing data received by the UE using the second RAT. The size of the first portion is based on a first number of resources the UE is capable of using for communicating and a second number of resources the UE is configured or allocated to use. The size of the second portion is based on an overall size of the buffer and the size of the first portion.

TECHNOLOGIES FOR BUFFERING RECEIVED NETWORK PACKET DATA

Technologies for buffering received network packet data include a compute device with a network interface controller (NIC) configured to determine a packet size of a network packet received by the NIC and identify a preferred buffer size between a small buffer and a large buffer. The NIC is further configured to select, from the descriptor, a buffer pointer based on the preferred buffer size, wherein the buffer pointer comprises one of a small buffer pointer corresponding to a first physical address in memory allocated to the small buffer or a large buffer pointer corresponding to a second physical address in memory allocated to the large buffer. Additionally, the NIC is configured to store at least a portion of the network packet in the memory based on the selected buffer pointer. Other embodiments are described herein.

Low Latency Data Synchronization
20190044891 · 2019-02-07 · ·

In some examples, a computing device for processing data streams includes storage to store instructions and a processor to execute the instructions. The processor is to execute the instructions to receive respective data streams provided from a plurality of data producer sensors. The processor is also to execute the instructions to stagger a time of triggering of a first of the plurality of data producer sensors relative to a time of triggering of a second of the plurality of data producer sensors to minimize a concurrency of data frames of the data stream received from the first data producer sensor and data frames of the data stream received from the second of the plurality of data producer sensors. The processor is also to execute the instructions to process the data streams from the plurality of data producer sensors in a time-shared manner. The processor is also to execute the instructions to provide the processed data streams to one or more consumer of the processed data streams.

TECHNOLOGIES FOR JITTER-ADAPTIVE LOW-LATENCY, LOW POWER DATA STREAMING BETWEEN DEVICE COMPONENTS
20180295039 · 2018-10-11 ·

Technologies for low-latency data streaming include a computing device having a processor that includes a producer and a consumer. The producer generates a data item, and in a local buffer producer mode adds the data item to a local buffer, and in a remote buffer producer mode adds the data item to a remote buffer. When the local buffer is full, the producer switches to the remote buffer producer mode, and when the remote buffer is below a predetermined low threshold, the producer switches to the local buffer producer mode. The consumer reads the data item from the local buffer while operating in a local buffer consumer mode and reads the data item from the remote buffer while operating in a remote buffer consumer mode. When the local buffer is above a predetermined high threshold, the consumer may switch to a catch-up operating mode. Other embodiments are described and claimed.