US11622028B2ActiveUtilityA1

Explicit notification of operative conditions along a network path

50
Assignee: MELLANOX TECHNOLOGIES LTDPriority: May 3, 2020Filed: Mar 11, 2021Granted: Apr 4, 2023
Est. expiryMay 3, 2040(~13.8 yrs left)· nominal 20-yr term from priority
H04L 47/12H04L 69/22H04L 47/33H04L 47/35H04L 47/263H04L 1/0002
50
PatentIndex Score
0
Cited by
21
References
26
Claims

Abstract

A network element includes circuitry and multiple ports. The multiple ports are configured to connect to a communication network. The circuitry is configured to receive via one of the ports a packet that originated from a source node and is destined to a destination node, the packet including a mark that is indicative of a cumulative state derived from at least bandwidth utilization conditions of output ports that were traversed by the packet along a path, from the source node up to the network element, to select a port for forwarding the packet toward the destination node, to update the mark of the packet based at least on a value of the mark in the received packet and on a local bandwidth utilization condition of the selected port, and to transmit the packet having the updated mark to the destination node via the selected port.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A network element, comprising:
 multiple ports configured to connect to a communication network; and 
 circuitry configured to:
 receive via one of the ports a packet that originated from a source node and is destined to a destination node, the packet comprising a mark that is indicative of a cumulative state derived both from bandwidth utilization conditions and from congestion conditions of output ports that were traversed by the packet along a path from the source node up to the network element, wherein a local congestion condition and a local bandwidth utilization condition of at least a given output port along the path indicate that the given output port is in a state selected from a group of states comprising at least one of (i) a fully utilized but non-congested state, and (ii) a congested but underutilized state; 
 select a port for forwarding the packet toward the destination node; 
 update the mark of the packet based on a value of the mark in the received packet and on both (i) the local bandwidth utilization condition of the selected port and (ii) the local congestion condition of the selected port; and 
 transmit the packet having the updated mark to the destination node via the selected port. 
 
 
     
     
       2. The network element according to  claim 1 , wherein the mark is indicative of whether the path from the source node up to the network element is in a cumulative state selected from a list of cumulative states comprising at least: (i) a cumulative congestion state, in which one or more preceding ports along the path are congested, (ii) a cumulative normal state, in which all preceding ports along the path are uncongested and at least one of the preceding ports along the path is not underutilized, and (iii) a cumulative underutilization state, in which all preceding ports along the path are underutilized. 
     
     
       3. The network element according to  claim 2 , wherein the mark in the received packet is indicative of the cumulative congestion state, and wherein the circuitry is configured to retain the mark in the received packet in the cumulative congestion state, independently of the local congestion condition and of the local bandwidth utilization condition of the selected port. 
     
     
       4. The network element according to  claim 2 , wherein the circuitry is configured to, in response to detecting an imminent local congestion condition of the selected port, set the mark in the packet to the cumulative congestion state, independently of the local bandwidth utilization condition of the selected port. 
     
     
       5. The network element according to  claim 2 , wherein the mark in the received packet is indicative of the cumulative normal state, and wherein the circuitry is configured to, in response to detecting that the selected port is uncongested, retain the mark in the received packet in the cumulative normal state. 
     
     
       6. The network element according to  claim 2 , wherein the mark in the received packet is indicative of the cumulative underutilization state, and wherein the circuitry is configured to, in response to detecting that the selected port is uncongested, set the mark in the received packet based on the local bandwidth utilization condition of the selected port. 
     
     
       7. The network element according to  claim 6 , wherein the circuitry is configured to retain the mark in the received packet in the cumulative underutilization state, in response to detecting that the selected port is underutilized. 
     
     
       8. The network element according to  claim 1 , wherein the circuitry is configured to measure a bandwidth of data transmitted by the selected port, and to determine the local bandwidth utilization condition of the selected port, by applying a probabilistic function to the measured bandwidth. 
     
     
       9. The network element according to  claim 1 , wherein the mark reuses a field in a header of the packet that is used by a given protocol only for congestion notification. 
     
     
       10. A method, comprising:
 in a network element comprising multiple ports that connect to a communication network, receiving via one of the ports a packet that originated from a source node and is destined to a destination node, the packet comprising a mark that is indicative of a cumulative state derived both from bandwidth utilization conditions from congestion conditions of output ports that were traversed by the packet along a path from the source node up to the network element, wherein a local congestion condition and a local bandwidth utilization condition of at least a given output port along the path indicate that the given output port is in a state selected from a group of states comprising at least one of (i) a fully utilized but non-congested state, and (ii) a congested but underutilized state; 
 selecting a port for forwarding the packet toward the destination node; 
 updating the mark of the packet based on a value of the mark in the received packet and on both (i) the local bandwidth utilization condition of the selected port and (ii) the local congestion condition of the selected port; and 
 transmitting the packet having the updated mark to the destination node via the selected port. 
 
     
     
       11. The method according to  claim 10 , wherein the mark is indicative of whether the path from the source node up to the network element is in a cumulative state selected from a list of cumulative states comprising at least: (i) a cumulative congestion state, in which one or more preceding ports along the path are congested, (ii) a cumulative normal state, in which all preceding ports along the path are uncongested and at least one of the preceding ports along the path is not underutilized, and (iii) a cumulative underutilization state, in which all preceding ports along the path are underutilized. 
     
     
       12. The method according to  claim 11 , wherein the mark in the received packet is indicative of the cumulative congestion state, and wherein updating the mark comprises retaining the mark in the received packet in the cumulative congestion state, independently of the local congestion condition and of the local bandwidth utilization condition of the selected port. 
     
     
       13. The method according to  claim 11 , wherein updating the mark comprises, in response to detecting an imminent local congestion condition of the selected port, setting the mark in the packet to the cumulative congestion state, independently of the local bandwidth utilization condition of the selected port. 
     
     
       14. The method according to  claim 11 , wherein the mark in the received packet is indicative of the cumulative normal state, and wherein updating the mark comprises, in response to detecting that the selected port is uncongested, retaining the mark in the received packet in the cumulative normal state. 
     
     
       15. The method according to  claim 11 , wherein the mark in the received packet is indicative of the cumulative underutilization state, and wherein updating the mark comprises, in response to detecting that the selected port is uncongested, setting the mark in the received packet based on the local bandwidth utilization condition of the selected port. 
     
     
       16. The method according to  claim 15 , wherein updating the mark comprises retaining the mark in the received packet in the cumulative underutilization state, in response to detecting that the selected port is underutilized. 
     
     
       17. The method according to  claim 10 , and comprising measuring a bandwidth of data transmitted by the selected port, and determining the local bandwidth utilization condition of the selected port, by applying a probabilistic function to the measured bandwidth. 
     
     
       18. The method according to  claim 10 , wherein the mark reuses a field in a header of the packet that is used by a given protocol only for congestion notification. 
     
     
       19. A network node, comprising:
 a network adapter coupled to a communication network; and 
 a host processor coupled to the network adapter, the host processor configured to: 
 receive from a remote node that is coupled to the communication network, via the network adapter, a packet comprising a mark that is indicative of a cumulative state derived both from bandwidth utilization conditions and from congestion conditions of output ports that were traversed by the packet along a path, from the network node to the remote node, wherein a local congestion condition and a local bandwidth utilization condition of at least a given output port along the path indicate that the given output port is in a state selected from a group of states comprising at least one of (i) a fully utilized but non-congested state, and (ii) a congested but underutilized state; and 
 adjust a rate of data transmission by the host processor into the communication network based on the mark in the received packet. 
 
     
     
       20. The network node according to  claim 19 , wherein the mark is indicative of whether the path from the network node to the remote node is in a cumulative state selected from a list of cumulative states comprising at least: (i) a cumulative congestion state, in which one or more ports along the path are congested, (ii) a cumulative normal state, in which all the ports along the path are uncongested and at least one of the ports along the path is not underutilized, and (iii) a cumulative underutilization state, in which all the ports along the path are underutilized. 
     
     
       21. The network node according to  claim 20 , wherein the host processor is configured to, responsively to the mark being indicative of the cumulative underutilization state, increase the rate of data transmission into the communication network. 
     
     
       22. The network node according to  claim 20 , wherein the host processor is configured to, responsively to the mark being indicative of the cumulative normal state, increase the rate of data transmission into the communication network at a first pace, and responsively to the mark being indicative of the cumulative underutilization state, increase the rate of data transmission to the communication network at a second pace that is faster than the first pace. 
     
     
       23. A method comprising:
 in a network node, receiving by a host processor, a packet sent from a remote node over a communication network, the packet comprising a mark that is indicative of a cumulative state derived both from bandwidth utilization conditions and from congestion conditions of output ports that were traversed by the packet along a path from the network node to the remote node, wherein a local congestion condition and a local bandwidth utilization condition of at least a given output port along the path indicate that the given output port is in a state selected from a group of states comprising at least one of (i) a fully utilized but non-congested state, and (ii) a congested but underutilized state; and 
 adjusting, by the host processor, a rate of data transmission into the communication network based on the mark in the received packet. 
 
     
     
       24. The method according to  claim 23 , wherein the mark is indicative of whether the path from the network node to the remote node is in a cumulative state selected from a list of cumulative states comprising at least: (i) a cumulative congestion state, in which one or more ports along the path are congested, (ii) a cumulative normal state, in which all the ports along the path are uncongested and at least one of the ports along the path is not underutilized, and (iii) a cumulative underutilization state, in which all the ports along the path are underutilized. 
     
     
       25. The method according to  claim 24 , wherein adjusting the rate of data transmission comprises, responsively to the mark being indicative of the cumulative underutilization state, increasing the rate of data transmission into the communication network. 
     
     
       26. The method according to  claim 24 , wherein adjusting the rate of data transmission comprises, responsively to the mark being indicative of the cumulative normal state, increasing the rate of data transmission into the communication network at a first pace, and responsively to the mark being indicative of the cumulative underutilization state, increasing the rate of data transmission to the communication network at a second pace that is faster than the first pace.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.