Patent classifications
H04L49/9026
TECHNOLOGIES FOR SCALABLE NETWORK PACKET PROCESSING WITH LOCK-FREE RINGS
Technologies for network packet processing include a computing device that receives incoming network packets. The computing device adds the incoming network packets to an input lockless shared ring, and then classifies the network packets. After classification, the computing device adds the network packets to multiple lockless shared traffic class rings, with each ring associated with a traffic class and output port. The computing device may allocate bandwidth between network packets active during a scheduling quantum in the traffic class rings associated with an output port, schedule the network packets in the traffic class rings for transmission, and then transmit the network packets in response to scheduling. The computing device may perform traffic class separation in parallel with bandwidth allocation and traffic scheduling. In some embodiments, the computing device may perform bandwidth allocation and/or traffic scheduling on each traffic class ring in parallel. Other embodiments are described and claimed.
Setting SDN flow entries
A method for setting software defined network (SDN) flow entries. A packet transmitted from a host is received, and a local flow table of the SDN switch for a flow entry that matches address information of the packet is searched. In response to determining that the packet matches a default flow entry in the local flow table, the packet is transmitted to a SDN controller according to the default flow entry. A first flow entry in the local flow table is set according to a source address, a destination address and an input port of the packet. A priority of the first flow entry is higher than a priority of the default flow entry. An action of the first flow entry is a non-forwarding action.
ADJUSTING BUFFER SIZE FOR NETWORK INTERFACE CONTROLLER
Systems and methods for adjusting the receive buffer size for network interface controllers. An example method may comprise: maintaining, by a computer system, a moving window referencing a pre-defined number of incoming data packets; responsive to receiving a new data packet, shifting the moving window to include the new data packet while excluding a least recently received data packet; calculating a weighted average value of sizes the incoming data packets referenced by the moving window, wherein a most recently received data packet is associated with a first weight that is higher that a second weight associated with a least recently received data packet; and adjusting, using the weighted average value, a size of a buffer allocated for incoming data packets.
SYSTEMS AND METHODS FOR PROPAGATING METADATA OF IN-FLIGHT PACKETS WITHIN KERNEL SPACE
The disclosed computer-implemented method may include (1) identifying, in kernel space on a network device, a packet that is destined for a remote device, (2) passing, along with the packet, metadata for the packet to a packet buffer in kernel space on the network device, (3) framing, by the kernel module in kernel space, the packet such that the packet egresses via a tunnel interface driver on the network device, (4) encapsulating, by the tunnel interface driver, the packet with the metadata, and then (5) forwarding, by the tunnel interface driver, the packet to the remote device based at least in part on the metadata with which the packet was encapsulated. Various other methods, systems, and computer-readable media are also disclosed.
DEVICE AND METHOD FOR BUFFERING RECORDS
A device that is configured to generate reports to send to a server comprises at least one processor configured to generate the reports. Upon loss of connection, generated reports are stored in a buffer in memory of the device, capable of storing k reports. The first generated report is stored in a first part of the buffer, a most recently generated report is stored in a second part of the buffer, while the remaining reports are stored in a third part of the buffer. When the third part is full, a sampling algorithm is used to select the k2 reports to store in the third part.
Adjusting buffer size for network interface controller
Systems and methods for adjusting the receive buffer size for network interface controllers. An example method may comprise: selecting a packet size value having a certain ordinal number in an ordered sequence of sizes of a plurality of data packets received by a network interface controller; and adjusting, in view of the selected packet size value, a size of a buffer associated with the network interface controller.
AUDIO DATA PROCESSING
An apparatus and method are provided. A first buffer is configured to store a first packet stream, the first buffer comprising a first read pointer pointing to a first position in the first packet stream. A second buffer is configured to store a second packet stream. The second packet stream corresponds to the first packet stream and the second buffer comprises a second read pointer. A controller is configured to determine a second position in the second packet stream that corresponds to the first position in the first packet stream and adjust the second read pointer to point to the second position.
Adaptive audio video (AV) stream processing
A system for adaptive audio video (AV) stream processing may include at least one processor and a switch device. The switch device may be configured to route AV traffic to the processor, and to receive AV traffic from the processor and provide the AV traffic to a client device via one or more channels. The processor may monitor a transcoder buffer depth and depths of buffers associated with channels over which the AV traffic is being transmitted. The processor may adaptively modify one or more attributes associated with the AV traffic based at least on the monitored buffer depths. For example, the processor may adaptively adjust a bit rate associated with transcoding the AV traffic based at least on the transcoder buffer depth. The processor may utilize the depths of the buffers associated with the channels to adaptively adjust the amount of AV traffic provided for transmission over the channels.
Setting SDN Flow Entries
A method for setting software defined network (SDN) flow entries. A packet transmitted from a host is received, and a local flow table of the SDN switch for a flow entry that matches address information of the packet is searched. In response to determining that the packet matches a default flow entry in the local flow table, the packet is transmitted to a SDN controller according to the default flow entry. A first flow entry in the local flow table is set according to a source address, a destination address and an input port of the packet. A priority of the first flow entry is higher than a priority of the default flow entry. An action of the first flow entry is a non-forwarding action.
NETWORK SWITCH WITH HYBRID ARCHITECTURE
A network switch has a packet pulling architecture, and also supports packet pushing. In an example implementation, a device includes: an output buffer; a data crossbar connected to the output buffer; an input buffer connected to the data crossbar; an input queue; a request crossbar connected to the input queue; and an output queue. The input queue is configured to transfer a packet from the input buffer to the output buffer over the data crossbar in response to the packet being eligible for packet pushing, and to send a push request in parallel with transferring the packet to the output buffer. The output queue is configured to receive the push request from the input queue over the request crossbar, and to control reading of the packet from the output buffer in response to granting the push request