H04L49/9084

Bufferbloat recovery and avoidance systems and methods

Systems and methods for bufferbloat recovery and avoidance are provided herein. A portion of the buffer can be compressed based on one or more thresholds without changing an order of packet transmission and without dropping packets. The method includes storing, by a device, a plurality of packets received by the device to a buffer. The buffer can be configured with a minimum threshold and a maximum threshold. The method includes detecting that a size of the buffer has reached at least the maximum threshold and compressing one or more packets of the plurality of packets stored between the minimum threshold and the maximum threshold while transmitting, during compression, at least a portion of one or more packets of the plurality of packets stored in the buffer below the minimum threshold.

Method and system for storing packets for a bonded communication links

Method and system for storing packets received from a bonded communication links according to latency of the communication link that has the largest latency among all communication links of the bonded communication links. Embodiments of present inventions can be applied to bonded communication links, including wireless connection, Ethernet connection, Internet Protocol connection, asynchronous transfer mode, virtual private network, WiFi, high-speed downlink packet access, GPRS, LTE, and X.25. The present invention presents methods comprising the steps of estimating storage size of a queue, wherein the queue is for storage the one or more packets received from the bonded communication links. The storage size is based on one or more factors, including largest latency, bandwidth of each of the plurality of communication links, and allowed time duration of packet storage.

Data Transmission Method and Communications Device
20200274831 · 2020-08-27 ·

A data transmission method includes obtaining dequeue information that indicates a queue which requests to output data in a communications device and a target data volume that is output from each queue at a time, and the communications device manages the target data volume based on a burst value, reading, based on the queue, a sub-packet descriptor (PD) that is obtained by segmenting the first PD. the sub-PD includes target description information indicating a target data packet, the first PD includes first description information indicating a first data packet set including the target data packet, the first data packet set and the sub-PD are stored in a packet cache including a dynamic random access memory (DRAM), the first PD is stored in a control cache including a static random access memory (SRAM), and determining, the target data packet based on the sub-PD, and sending the target data packet.

DATA PROCESSING METHOD AND APPARATUS
20200259880 · 2020-08-13 ·

A data processing method includes receiving a first data stream from a data source, where the first data stream is obtained by encoding original data according to a first encoding parameter; decoding the first data stream to obtain the original data; determining, at a data-processing apparatus remote from the data source, a second encoding parameter according to one or more factors that are associated with the data-processing apparatus; and encoding the original data to obtain a second data stream according to the second encoding parameter.

Traffic manager resource sharing

A traffic manager is shared amongst two or more egress blocks of a network device, thereby allowing traffic management resources to be shared between the egress blocks. Among other aspects, this may reduce power demands and allow a larger amount of buffer memory to be available to a given egress block that may be experiencing high traffic loads. Optionally, the shared traffic manager may be leveraged to reduce the resources required to handle data units on ingress. Rather than buffer the entire unit in the ingress buffers, an arbiter may be configured to buffer only the control portion of the data unit. The payload of the data unit, by contrast, is forwarded directly to the shared traffic manager, where it is placed in the egress buffers. Because the payload is not being buffered in the ingress buffers, the ingress buffer memory may be greatly reduced.

Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree
10733172 · 2020-08-04 · ·

Methods for modifying a B-tree are disclosed. According to an implementation, a computing device receives requests for updates to a B-tree, groups two or more of the requests into a batch that are destined for a particular node on the B-tree, but refrains from modifying the node until a buffer of a node above it is full (or will be full with this batch of requests). Once the buffer is full, the computing device provides the requests to that particular node. The techniques described herein may result in the computing device carrying out fewer of reads from and writes to storage than existing B-tree maintenance techniques, thereby saving time and bandwidth. Reducing the number of reads and writes also saves money, particularly when the storage is controlled by a third party SaaS provider that charges according to the number of transactions.

STORE AND FORWARD LOGGING IN A CONTENT DELIVERY NETWORK
20200244602 · 2020-07-30 · ·

A computer-implemented method on a device in a content delivery (CD) network. The device has hardware including storage with at least one first class of storage and at least one second class of storage, the first class of storage being faster than the second class of storage. A first portion of the first class of storage is allocated for log data, and a second portion of the second class of storage is allocated for log data. The method includes obtaining log event data from at least one component or service on the device that is to be delivered to a component or service on a distinct device. Each log event data item has a priority. If a connection to an external location is lost, at least some of the log event data items are selectively stored in the storage, wherein the storing is based on priority of the log event data items. Otherwise, if the connection is not lost, at least some of the log event data items are sent to the at least one external location.

Application and network aware adaptive compression for better QoE of latency sensitive applications

This disclosure is directed to embodiments of systems and methods for performing compression of data in a queue. A device intermediary between a client and a server may determine that a length of time to move existing data maintained in a queue from the queue exceeds a predefined threshold. The device may identify, responsive to the determination, a first quantity of the existing data to undergo compression, and a second quantity of the existing data according to a compression ratio of the compression. The device may reserve, according to the second quantity, a first portion of the queue that maintained the first quantity of the existing data, to place compressed data obtained from applying the compression on the first quantity of the existing. The device may place incoming data into the queue beyond the reserved first portion of the queue.

Traffic management in a network switching system with remote physical ports
10708200 · 2020-07-07 · ·

A switching system includes a port extender device coupled to a central switching device. Packets processed by the central switching device are forwarded to the port extender device and enqueued in ones of a plurality of egress queues in the port extender device for transmission of the packets via the front ports of the port extender device. Respective egress queues in the port extender device have a queue depth that is less than a queue depth of corresponding respective egress queues in the central switching device. A flow control message indicative of congestion in a particular egress queue of the port extender device is generated and transmitted to the central switch device to control transmission of packets from the central switching device to the particular egress queue of the port extender device.

Priority-based flow control
10708189 · 2020-07-07 · ·

Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.