H04L47/6255

Data scheduling method and switching device

Embodiments of this application provide a method, includes: receiving a first data flow that includes a plurality of data units; inputting N.sub.1 data units of the plurality of data units and a first source marking unit into the first source queue; inputting M.sub.1 data units of the plurality of data units and a first target marking unit into the first target queue, wherein the N.sub.1 data units and the M.sub.1 data units are different data units; scheduling the N.sub.1 data units and the first source marking unit based on the first source marking unit and the first target marking unit; and scheduling the first target marking unit and the M.sub.1 data units, wherein the first target marking unit and the M.sub.1 data units are scheduled later than the N.sub.1 data units and the first source marking unit are scheduled.

QUEUE MANAGEMENT IN A FORWARDER
20220029926 · 2022-01-27 ·

A queue management method, system, and recording medium include Selective Acknowledgments (SACK) examining to examine SACK blocks of a forwarder to selectively drop packets in a forward flow queue based on a reverse flow queue and MultiPath Transmission Control Protocol (MPTCP) examining configured to perform a first examining to examine multipath headers to recognize MPTCP flows based on a comparison between two subflows being a part of a same superflow and a second examining to examine the reverse flow queue to determine if redundant data has been sent based on a result of the first examining, a packet in the forward flow queue from a prior transmission being dropped from the forward flow queue sent from the forwarder to a receiver if a metadata of the packet does not match a metadata of an acknowledged packet in the reverse flow queue.

System and method of traffic-based classification of IoT devices and dynamic allocation of link resources to IoT devices

Systems and method are disclosed and among these is a method for fingerprint based detection of Internet of Things (IoT) devices and classification of IoT device type, and corresponding adaptive allocation of link resources, with monitoring of traffic for flow data, detecting IoT devices and classifying the IoT device types, via machine learning classifiers, real time assigning IoT device type based quality of service (QoS) for IoT device traffic, and corresponding IoT device type based, real time allocating of resources to the link. Optionally, machine classifiers can be centrally instantiated, distributed to what can be large populations of user IoT Internet access terminals, and retrained by same, centrally merged or combined, and then redistributed.

Algorithms for use of load information from neighboring nodes in adaptive routing

Systems and methods are provided for passing data amongst a plurality of switches having a plurality of links attached between the plurality of switches. At a switch, a plurality of load signals are received from a plurality of neighboring switches. Each of the plurality of load signals are made up of a set of values indicative of a load at each of the plurality of neighboring switches providing the load signal. Each value within the set of values provides an indication for each link of the plurality of links attached thereto as to whether the link is busy or quiet. Based upon the plurality of load signals, an output link for routing a received packet is selected, and the received packet is routed via the selected output link.

System and method for facilitating hybrid message matching in a network interface controller (NIC)

A network interface controller (NIC) capable of hybrid message matching is provided. The NIC can be equipped with a host interface, a hardware endpoint, and an endpoint management logic block. The host interface can couple the NIC to a host device. The hardware endpoint can facilitate a point of communication for an application running on the host device. The endpoint management logic block can maintain a list for storing a message associated with an endpoint represented by the hardware endpoint. The endpoint management logic block can then determine whether the utilization of the list is higher than a threshold. If the utilization is higher than the threshold, the endpoint management logic block can set a state of the endpoint to indicate that the endpoint is software managed. The NIC thus can transfer the control of the endpoint from the hardware endpoint to a software process of the host device.

System and method for facilitating data-driven intelligent network

Data-driven intelligent networking systems and methods are provided. The system can accommodate dynamic traffic with fast, effective congestion control. The system can maintain state information of individual packet flows, which can be set up or released dynamically based on injected data. Each flow can be provided with a flow-specific input queue upon arriving at a switch. Packets of a respective flow can be acknowledged after reaching the egress point of the network, and the acknowledgement packets can be sent back to the ingress point of the flow along the same data path. As a result, each switch can obtain state information of each flow and perform flow control on a per-flow basis.

METHOD AND APPARATUS FOR MANAGING BUFFERING OF DATA PACKET OF NETWORK CARD, TERMINAL AND STORAGE MEDIUM
20230291696 · 2023-09-14 ·

A method and apparatus for managing buffering of data packets of a network card, a terminal and a storage medium are provided. The method includes: setting ring buffer queues, setting a length of each ring buffer queue according to a size of a total buffer space and the number of threads of an upper-layer application, then setting a buffer pool formed by two ring buffer queues, and setting the two ring buffer queues in the buffer pool as a busy queue and an idle queue, respectively; a network card driver receiving data packets from a data link, classifying the data packets, sequentially buffering the classified data packets into the busy queue by using a write pointer of the busy queue, and then sequentially mapping addresses of the buffered data packets in the busy queue into the idle queue; acquiring latest addresses of the buffered data packets in the busy queue by using a read pointer of the idle queue; and the upper-layer application successively acquiring and processing the buffered data packets by using a read pointer of the busy queue, and successively releasing the addresses of the processed buffered data packets in the busy queue by using a write pointer of the idle queue.

Method and apparatus for managing buffering of data packet of network card, terminal and storage medium

A method and apparatus for managing buffering of data packets of a network card, a terminal and a storage medium are provided. The method includes: setting ring buffer queues, setting a length of each ring buffer queue, then setting a buffer pool formed by two ring buffer queues, and setting the two ring buffer queues in the buffer pool as a busy queue and an idle queue, respectively; a network card driver receiving data packets from a data link, classifying the data packets, sequentially buffering the classified data packets into the busy queue, and then sequentially mapping addresses of the buffered data packets in the busy queue into the idle queue; acquiring latest addresses of the buffered data packets in the busy queue; and the upper-layer application successively acquiring and processing the buffered data packets, and successively releasing the addresses of the processed buffered data packets in the busy queue.

Using stateful traffic management data to perform packet processing

Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.

Method and system for providing network egress fairness between applications

Methods and systems are provided to facilitate network egress fairness between applications. At an egress port of a network, an arbitrator can provide fairness-based traffic shaping to data associated with applications. The desired fairness-based traffic shaping can be provided based on bandwidth, traffic classes, or other parameters. Consequently, the egress link's bandwidth can be allocated with fairness among the applications.