H04L49/9047

WEIGHTING ROUTING
20240348538 · 2024-10-17 ·

Systems and methods of routing a data communication across a network having a plurality switches are provided by monitoring the operation of the plurality of global links to determine which of the plurality of global links provide working paths. A routing table indicative of a status for the plurality of links is maintained, where the routing table provides weighting for each of the working paths. When routing, a link using a weighted pseudo-random selection from the choices available in the routing table is selected. Routing along one of the working paths commensurate with the selected link is performed, and the weighting is updated based upon the operation of the plurality of links.

WEIGHTING ROUTING
20240348538 · 2024-10-17 ·

Systems and methods of routing a data communication across a network having a plurality switches are provided by monitoring the operation of the plurality of global links to determine which of the plurality of global links provide working paths. A routing table indicative of a status for the plurality of links is maintained, where the routing table provides weighting for each of the working paths. When routing, a link using a weighted pseudo-random selection from the choices available in the routing table is selected. Routing along one of the working paths commensurate with the selected link is performed, and the weighting is updated based upon the operation of the plurality of links.

METHOD AND SYSTEM FOR PROVIDING NETWORK INGRESS FAIRNESS BETWEEN APPLICATIONS
20240348539 · 2024-10-17 ·

Methods and systems are provided to facilitate network ingress fairness between applications. At an ingress port of a network, the applications providing data communications are reviewed so that and arbitration process can be used to fairly allocate bandwidth at that ingress port. In a typical process, the bandwidth is allocated based upon the number of flow channels, irrespective of the source and characteristics of those flow channels. At the ingress port, an examination of the application providing the data communication will allow for a more appropriate allocation of input bandwidth.

METHOD AND SYSTEM FOR PROVIDING NETWORK INGRESS FAIRNESS BETWEEN APPLICATIONS
20240348539 · 2024-10-17 ·

Methods and systems are provided to facilitate network ingress fairness between applications. At an ingress port of a network, the applications providing data communications are reviewed so that and arbitration process can be used to fairly allocate bandwidth at that ingress port. In a typical process, the bandwidth is allocated based upon the number of flow channels, irrespective of the source and characteristics of those flow channels. At the ingress port, an examination of the application providing the data communication will allow for a more appropriate allocation of input bandwidth.

System and method for facilitating efficient load balancing in a network interface controller (NIC)

A network interface controller (NIC) capable of efficient load balancing among the hardware engines is provided. The NIC can be equipped with a plurality of ordering control units (OCUs), a queue, a selection logic block, and an allocation logic block. The selection logic block can determine, from the plurality of OCUs, an OCU for a command from the queue, which can store one or more commands. The allocation logic block can then determine a selection setting for the OCU, select an egress queue for the command based on the selection setting, and send the command to the egress queue.

System and method for facilitating efficient load balancing in a network interface controller (NIC)

A network interface controller (NIC) capable of efficient load balancing among the hardware engines is provided. The NIC can be equipped with a plurality of ordering control units (OCUs), a queue, a selection logic block, and an allocation logic block. The selection logic block can determine, from the plurality of OCUs, an OCU for a command from the queue, which can store one or more commands. The allocation logic block can then determine a selection setting for the OCU, select an egress queue for the command based on the selection setting, and send the command to the egress queue.

System and method for facilitating efficient host memory access from a network interface controller (NIC)

A network interface controller (NIC) capable of efficient memory access is provided. The NIC can be equipped with an operation logic block, a signaling logic block, and a tracking logic block. The operation logic block can maintain an operation group associated with packets requesting an operation on a memory segment of a host device of the NIC. The signaling logic block can determine whether a packet associated with the operation group has arrived at or departed from the NIC. Furthermore, the tracking logic block can determine that a request for releasing the memory segment has been issued. The tracking logic block can then determine whether at least one packet associated with the operation group is under processing in the NIC. If no packet associated with the operation group is under processing in the NIC, tracking logic block can notify the host device that the memory segment can be released.

System and method for facilitating efficient host memory access from a network interface controller (NIC)

A network interface controller (NIC) capable of efficient memory access is provided. The NIC can be equipped with an operation logic block, a signaling logic block, and a tracking logic block. The operation logic block can maintain an operation group associated with packets requesting an operation on a memory segment of a host device of the NIC. The signaling logic block can determine whether a packet associated with the operation group has arrived at or departed from the NIC. Furthermore, the tracking logic block can determine that a request for releasing the memory segment has been issued. The tracking logic block can then determine whether at least one packet associated with the operation group is under processing in the NIC. If no packet associated with the operation group is under processing in the NIC, tracking logic block can notify the host device that the memory segment can be released.

Queuing methods and apparatus in a network device

A plurality of physical queues, in a memory of a network device, are logically coupled to define a logical queue. Packets are received by the network device, and respective data units associated with the packets are distributed to the plurality of physical queues for storage according to a predetermined scheme i) to alternate among the plurality of physical queues, and ii) to maintain an order of data units stored in the logical queue. The data units are retrieved from the plurality of physical queues according to the predetermined scheme i) to alternate among the plurality of physical queues, and ii) to maintain the order of the data units.

Dynamic buffer allocation
10015116 · 2018-07-03 · ·

The present disclosure relates to a switch for a network, and specifically the dynamic allocation of buffer memory within the switch. A communication channel is established between the switch and a network device. The switch configures and allocates a portion of memory to a receive socket buffer for the established channel. Upon receipt of a signal from the network device, the switch allocates a second portion of memory to the receive socket buffer.