IP Library › Granted Patent US 10,389,636
Granted Patent B2
US 10,389,636 · App. 15/200,449 · Granted Aug 20, 2019

Technologies for adaptive routing using network traffic characterization

Inventors: Mario Flajslik (Hudson, MA); Eric R. Borch (Fort Collins, CO); Michael A. Parker (Santa Clara, CA)
Assignee: Intel Corporation
H04L47/12H04L43/062H04L43/08H04L43/16H04L49/25H04L49/3027H04L49/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,389,636
App. No.
15/200,449
Granted
Aug 20, 2019
Kind
B2
Abstract

Technologies for adaptive routing based on network traffic pattern characterization include a network switch configured to receive a network packet via one of a plurality of input ports and identify a set of the plurality of output ports associated with a path usable to forward the received network packet to a destination computing device along. The network switch is further configured to adjust a total congestion value for each of the set of output ports based on a type of the path to which each of the set of output ports corresponds and a value of a minimal path counter to which each of the set of output ports corresponds and enqueue the received network packet into an output buffer queue of one of the set of output ports based on the total congestion value. Other embodiments are described herein.

Claims (54)

1. A network switch for adaptive routing based on network traffic pattern characterization, the network switch comprising:

a plurality of input ports communicatively coupled to a plurality of output ports; and

a pipeline logic circuitry to:

receive a network packet via one of the plurality of input ports of the network switch;

identify a set of the plurality of output ports, wherein each of the set of output ports correspond to a path usable to forward the received network packet to a destination computing device;

adjust a total congestion value for each of the set of output ports based on a type of the path to which each of the set of output ports corresponds and a value of a minimal path counter to which each of the set of output ports corresponds, wherein the type of the path comprises one of a minimal path or a non-minimal path; and

enqueue the received network packet into an output buffer queue of one of the set of output ports based on the total congestion value.

2. The network switch of claim 1 , wherein the pipeline logic circuitry is further to:

identify a subset of the set of output ports, wherein each of the subset of output ports corresponds to a minimal path; and

increment the minimal path counter associated with each of the subset of output port.

3. The network switch of claim 1 , wherein pipeline logic circuitry is further to:

determine whether an end of a network traffic path monitoring window has been reached;

capture, upon a determination that the end of the network traffic path monitoring window has been reached, a present value of the minimal path counter associated with each output port; and

reset each minimal path counter to zero.

4. The network switch of claim 3 , wherein to adjust the total congestion value for each of the set of output ports comprises to adjust the total congestion value as a function of the captured present value of the minimal path counter corresponding to each of the set of output ports.

5. The network switch of claim 3 , wherein to determine whether the end of the network traffic path monitoring window has been reached comprises to determine one of a duration of time has elapsed, a maximum number of cycles of one of the one or more processors has been reached, or a maximum number of network packets have been dequeued from one of the plurality of input ports.

6. The network switch of claim 1 , wherein to adjust the total congestion value for each of the set of output ports comprises to (i) determine a network traffic pattern for each of the set of output ports, (ii) characterize each network traffic pattern as a uniform random network traffic pattern type or a static permutation network traffic pattern type, and (iii) adjust the total congestion value for each of the set of output ports based on the type of network traffic pattern.

7. The network switch of claim 6 , wherein the network traffic pattern comprises the uniform random network traffic pattern type for a non-minimal path output port or the static permutation network traffic pattern type for a minimal path output port.

8. The network switch of claim 6 , wherein to determine whether the network traffic pattern is characterized as the uniform random network traffic pattern type for one of the set of output ports comprises to (i) determine whether the minimal path counter corresponding to the one of the set of output ports is greater than a predetermined threshold and (ii) determine whether a present congestion value corresponding to the one of the set of output ports is greater than or equal to half of a maximum congestion threshold.

9. The network switch of claim 6 , wherein to determine whether the network traffic pattern is characterized as the static permutation network traffic pattern type for one of the set of output ports comprises to (i) determine whether the minimal path counter corresponding to the one of the set of output ports is greater than a predetermined threshold and (ii) determine whether a present congestion value corresponding to the one of the set of output ports is equal to a maximum congestion threshold.

10. The network switch of claim 6 , wherein to adjust the total congestion value for one of the set of output ports based on the type of network traffic pattern comprises to set the total congestion value for the one of the set of output ports to a value sufficient to exceed a default minimum path bias upon a determination that the output port corresponds to a minimal path and the network traffic pattern is characterized as the static permutation network traffic pattern type.

11. The network switch of claim 6 , wherein to adjust the total congestion value for one of the set of output ports based on the type of network traffic pattern comprises to set the total congestion value for the one of the set of output ports to a value equal to a default minimum path bias upon a determination that the output port corresponds to a non-minimal path and the network traffic pattern is characterized as the uniform random network traffic pattern type.

12. One or more non-transitory, computer-readable storage media comprising a plurality of instructions stored thereon that in response to being executed cause a network switch to:

receive a network packet via one of a plurality of input ports of the network switch communicatively coupled to a plurality of output ports of the network switch;

identify a set of the plurality of output ports, wherein each of the set of output ports correspond to a path usable to forward the received network packet to a destination computing device;

adjust a total congestion value for each of the set of output ports based on a type of the path to which each of the set of output ports corresponds and a value of a minimal path counter to which each of the set of output ports corresponds, wherein the type of the path comprises one of a minimal path or a non-minimal path; and

enqueue the received network packet into an output buffer queue of one of the set of output ports based on the total congestion value.

13. The one or more non-transitory, computer-readable storage media of claim 12 , wherein the plurality of instructions further cause the network switch to:

identify a subset of the set of output ports, wherein each of the subset of output ports corresponds to a minimal path; and

increment the minimal path counter associated with each of the subset of output port.

14. The one or more non-transitory, computer-readable storage media of claim 12 , wherein the plurality of instructions further cause the network switch to:

determine whether an end of a network traffic path monitoring window has been reached;

capture, upon a determination that the end of the network traffic path monitoring window has been reached, a present value of the minimal path counter associated with each output port; and

reset each minimal path counter to zero.

15. The one or more non-transitory, computer-readable storage media of claim 14 , wherein to adjust the total congestion value for each of the set of output ports comprises to adjust the total congestion value as a function of the captured present value of the minimal path counter corresponding to each of the set of output ports.

16. The one or more non-transitory, computer-readable storage media of claim 14 , wherein to determine whether the end of the network traffic path monitoring window has been reached comprises to determine one of a duration of time has elapsed, a maximum number of cycles of one of the one or more processors has been reached, or a maximum number of network packets have been dequeued from one of the plurality of input ports.

17. The one or more non-transitory, computer-readable storage media of claim 12 , wherein to adjust the total congestion value for each of the set of output ports comprises to (i) determine a network traffic pattern for each of the set of output ports, (ii) characterize each network traffic pattern as a uniform random network traffic pattern type or a static permutation network traffic pattern type, and (iii) adjust the total congestion value for each of the set of output ports based on the type of network traffic pattern.

18. The one or more non-transitory, computer-readable storage media of claim 17 , wherein the network traffic pattern comprises the uniform random network traffic pattern type for a non-minimal path output port or the static permutation network traffic pattern type for a minimal path output port.

19. The one or more non-transitory, computer-readable storage media of claim 17 , wherein to determine whether the network traffic pattern is characterized as the uniform random network traffic pattern type for one of the set of output ports comprises to (i) determine whether the minimal path counter corresponding to the one of the set of output ports is greater than a predetermined threshold and (ii) determine whether a present congestion value corresponding to the one of the set of output ports is greater than or equal to half of a maximum congestion threshold.

20. The one or more non-transitory, computer-readable storage media of claim 17 , wherein to determine whether the network traffic pattern is characterized as the static permutation network traffic pattern type for one of the set of output ports comprises to (i) determine whether the minimal path counter corresponding to the one of the set of output ports is greater than a predetermined threshold and (ii) determine whether a present congestion value corresponding to the one of the set of output ports is equal to a maximum congestion threshold.

21. The one or more non-transitory, computer-readable storage media of claim 17 , wherein to adjust the total congestion value for one of the set of output ports based on the type of network traffic pattern comprises to set the total congestion value for the one of the set of output ports to a value sufficient to exceed a default minimum path bias upon a determination that the output port corresponds to a minimal path and the network traffic pattern is characterized as the static permutation network traffic pattern type.

22. The one or more non-transitory, computer-readable storage media of claim 17 , wherein to adjust the total congestion value for one of the set of output ports based on the type of network traffic pattern comprises to set the total congestion value for the one of the set of output ports to a value equal to a default minimum path bias upon a determination that the output port corresponds to a non-minimal path and the network traffic pattern is characterized as the uniform random network traffic pattern type.

23. A network switch for adaptive routing based on network traffic pattern characterization, the network switch comprising:

a buffer queue management circuit to receive a network packet via one of a plurality of input ports of the network switch communicatively coupled to a plurality of output ports of the network switch;

circuitry for identifying a set of the plurality of output ports, wherein each of the set of output ports correspond to a path usable to forward the received network packet to a destination computing device; and

circuitry for adjusting a total congestion value for each of the set of output ports based on a type of the path to which each of the set of output ports corresponds and a value of a minimal path counter to which each of the set of output ports corresponds, wherein the type of the path comprises one of a minimal path or a non-minimal path,

wherein the buffer queue management circuit is further to enqueue the received network packet into an output buffer queue of one of the set of output ports based on the total congestion value.

24. The network switch of claim 23 , further comprising:

circuitry for identifying a subset of the set of output ports, wherein each of the subset of output ports corresponds to a minimal path; and

circuitry for incrementing the minimal path counter associated with each of the subset of output port.

25. The network switch of claim 23 , further comprising:

circuitry for determining whether an end of a network traffic path monitoring window has been reached;

circuitry for capturing, upon a determination that the end of the network traffic path monitoring window has been reached, a present value of the minimal path counter associated with each output port; and

circuitry for resetting each minimal path counter to zero.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2016
From: FLAJSLIK, MARIO; BORCH, ERIC R.; PARKER, MICHAEL A.
To: INTEL CORPORATION
Reel/Frame 040781/0001 →
Continuity (1)
Related Publication 20180006946A1 · Jan 4, 2018