Congestion mitigation in networks using flow-based hashing
First Claim
Patent Images
1. A non-transitory computer-readable medium comprising machine readable instructions that, when executed, cause a network device to at least:
- send a flow of packets from a source endpoint to a destination endpoint by way of a network, the flow of packets being associated with flow identification information;
obtain network congestion information from a network monitoring service;
detect that congestion is affecting the flow of packets in the network and determine, based at least in part on the network congestion information, whether the congestion experienced by the flow of packets may be caused by flow collisions; and
effect a perturbation to a port field in the flow identification information for the flow of packets in response to determining that congestion is affecting the flow of packets in the network and in response to a determination that the congestion may be caused by flow collisions, the machine readable instructions that effect the perturbation being configured to cause the network device to at least;
detect an interruption in the flow of packets; and
schedule the perturbation relative to the interruption.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for mitigating congestion in networks employing flow-based hashing to assign flows to routes. A flow of packets is sent from a source endpoint to a destination endpoint by way of a network. The flow of packets is associated with flow identification information. It is detected whether congestion is affecting the flow of packets in the network. A perturbation to the flow identification information for the flow of packets is effected in response to determining that congestion is affecting the flow of packets in the network.
-
Citations
21 Claims
-
1. A non-transitory computer-readable medium comprising machine readable instructions that, when executed, cause a network device to at least:
-
send a flow of packets from a source endpoint to a destination endpoint by way of a network, the flow of packets being associated with flow identification information; obtain network congestion information from a network monitoring service; detect that congestion is affecting the flow of packets in the network and determine, based at least in part on the network congestion information, whether the congestion experienced by the flow of packets may be caused by flow collisions; and effect a perturbation to a port field in the flow identification information for the flow of packets in response to determining that congestion is affecting the flow of packets in the network and in response to a determination that the congestion may be caused by flow collisions, the machine readable instructions that effect the perturbation being configured to cause the network device to at least; detect an interruption in the flow of packets; and schedule the perturbation relative to the interruption.
-
-
2. A system, comprising:
-
at least one device connected to a network, the at least one device comprising a processor and a memory; and machine readable instructions stored in the memory that, when executed by the processor, cause the at least one device to at least; send a flow of packets from a source endpoint to a destination endpoint by way of the network, the flow of packets being associated with flow identification information; detect whether congestion is affecting the flow of packets in the network; and effect a perturbation to the flow identification information for the flow of packets in response to determining that congestion is affecting the flow of packets in the network. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
obtaining, in at least one device coupled to a first network, a second network, or both, a plurality of first flows of packets sent via the first network, individual ones of the first flows of packets being associated with respective first flow identification information; mapping, in the at least one device, each one of the first flows of packets into a corresponding one of a plurality of second flows of packets, individual ones of the second flows of packets being associated with respective second flow identification information, the respective second flow identification information including a same second source endpoint and a same second destination endpoint; sending, in the at least one device, the second flows of packets via the second network; detecting, in the at least one device, whether at least one of the first flows of packets is experiencing congestion; and effecting, in the at least one device, a perturbation to the respective second flow identification information corresponding to the at least one of the first flows of packets in response to determining that the at least one of the first flows of packets is experiencing congestion. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification