IP Library Granted Patent US 9,634,940
Granted Patent B2
US 9,634,940 · App. 14/662,259 · Granted Apr 25, 2017

Adaptive routing using inter-switch notifications

Inventors: Zachy Haramaty (Hemed, IL); Eitan Zahavi (Zichron Yaakov, IL); Freddy Gabbay (Givataim, IL); Diego Crupnicoff (Buenos Aires, AR); Amiad Marelli (Tel Aviv, IL); Gil Bloch (Zichron Yaakov, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
H04L47/122H04L45/28
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 9,634,940
App. No.
14/662,259
Granted
Apr 25, 2017
Kind
B2
Abstract

A method includes receiving in a network switch of a communication network communication traffic that originates from a source node and arrives over a route through the communication network traversing one or more preceding network switches, for forwarding to a destination node. In response to detecting in the network switch a compromised ability to forward the communication traffic to the destination node, a notification is sent to the preceding network switches. The notification is to be consumed by the preceding network switches and requests the preceding network switches to modify the route so as not to traverse the network switch.

Claims (49)

1. A method, comprising:

in a network switch of a communication network, receiving communication traffic that originates from a source node and arrives over a route through the communication network traversing one or more preceding network switches, for forwarding to a destination node;

in response to detecting in the network switch a compromised ability to forward the communication traffic to the destination node, sending to the preceding network switches a notification, which is to be consumed by the preceding network switches and requests the preceding network switches to modify the route so as not to traverse the network switch,

receiving the notification in a preceding network switch, evaluating in the preceding network switch a rule which checks whether the preceding network switch is in a position to modify the route, modifying the route between the preceding network switch and the destination node in response to the notification if the rule is met and when the rule is not met, forwarding the notification to another of the preceding switches,

wherein detecting the compromised ability comprises identifying the compromised ability with respect to an originating packet, and

wherein forwarding the notification comprises extracting from the notification a flow identifier of the originating packet, caching the extracted flow identifier of the originating packet, forwarding the notification in response to receiving a subsequent packet that is destined to the cached flow identifier of the originating packet, and removing the cached flow identifier after forwarding the notification in response to N subsequent packets arriving over N different ports, N≧1.

2. The method according to claim 1 , wherein detecting the compromised ability comprises detecting one of a congestion on a network link leaving the network switch en-route to the destination node, a failure in the network link, and a head-of-line time-out at an input to the network link.

3. The method according to claim 1 , wherein sending the notification comprises forwarding the notification in accordance with a forwarding rule that depends on a topology of the communication network.

4. The method according to claim 1 , wherein detecting the compromised ability comprises identifying the compromised ability with respect to an originating packet, and wherein sending the notification comprises specifying a flow identifier of the originating packet in the notification.

5. The method according to claim 4 , wherein sending the notification comprises generating a signature that depends on the originating packet and indicates which of the preceding switches is to consume the notification, and sending the signature in the notification.

6. The method according to claim 4 , wherein specifying the flow identifier of the originating packet comprises one of:

reporting the flow identifier of the originating packet in a payload field of the notification; and

substituting a destination address of the originating packet to serve as a source address of the notification.

7. The method according to claim 1 , wherein sending the notification comprises indicating a cause of the compromised ability in the notification.

8. The method according to claim 1 , wherein evaluating the rule ensures that, per packet flow, only one of the preceding network switches modifies the route.

9. The method according to claim 8 , wherein evaluating the rule comprises assessing the rule with respect to a signature that is provided in the notification.

10. The method according to claim 8 , wherein the rule depends on a topology of the communication network.

11. The method according to claim 8 , wherein the communication network has a Fat-Tree (FT) topology, and wherein evaluating the rule comprises comparing a level of the preceding network switch in the FT topology to the level of the network switch that sent the notification.

12. The method according to claim 1 , wherein forwarding the notification comprises sending the notification using multicast.

13. The method according to claim 1 , wherein receiving the notification comprises extracting from the notification a flow identifier of an originating packet that caused the notification, and wherein modifying the route comprises re-routing all the packets addressed to the extracted flow identifier regardless of whether they are configured for adaptive routing.

14. The method according to claim 1 , wherein sending the notification comprises routing the notification over an alternative route that differs from the route traversed by the communication traffic that caused the notification.

15. The method according to claim 1 , wherein sending the notification comprises including in the notification a signature for checking by the preceding switches.

16. The method according to claim 1 , wherein sending the notification comprises preempting processing of another packet in order to give precedence to the notification.

17. The method according to claim 1 , and comprising, as the communication traffic traverses the preceding network switches, inserting into the communication traffic one or more identities of one or more of the preceding switches that are capable of modifying the route.

18. The method according to claim 17 , wherein sending the notification comprises addressing the notification to one or more of the preceding network switches whose identities are inserted into the communication traffic.

19. A network switch, comprising:

multiple ports, which are configured to communicate with a communication network; and

switching circuitry, which is configured to receive communication traffic that originates from a source node and arrives over a route through the communication network, to forward the traffic to a destination node via a downstream network switch, to receive from the downstream network switch a notification that indicates a compromised ability of the downstream network switch to forward the communication traffic to the destination node, and, in response to the notification, to evaluate a rule, which checks whether the network switch is in a position to modify the route, and to modify the route when the rule is met, so as not to traverse the downstream network switch, and to forward the notification to another of the preceding switches when the rule is not met,

wherein the switching circuitry is configured to extract from the notification a flow identifier of an originating packet that caused the notification, to cache the extracted flow identifier of the originating packet, and to forward the notification in response to receiving a subsequent packet that is destined to the cached flow identifier of the originating packet,

wherein the switching circuitry is configured to remove the cached flow identifier after forwarding the notification in response to N subsequent packets arriving over N different ports, N≧1.

20. The switch according to claim 19 , wherein the compromised ability is caused by one of a congestion on a network link leaving the downstream network switch en-route to the destination node, a failure in the network link, and a head-of-line time-out at an input to the network link.

21. The switch according to claim 19 , wherein the rule ensures that only one of multiple preceding network switches between the source node and the downstream network switch will modify the route.

22. The switch according to claim 21 , wherein the switching circuitry is configured to evaluate the rule with respect to a signature that is provided in the notification.

23. The switch according to claim 21 , wherein the rule depends on a topology of the communication network.

24. The switch according to claim 21 , wherein the communication network has a Fat-Tree (FT) topology, and wherein the switching circuitry is configured to evaluate the rule by comparing a level of the preceding network switch in the FT topology to the level of the network switch that sent the notification.

25. The switch according to claim 19 , wherein the switching circuitry is configured to forward the notification in accordance with a forwarding rule that depends on a topology of the communication network.

26. The switch according to claim 19 , wherein the switching circuitry is configured to forward the notification using multicast.

27. The switch according to claim 19 , wherein the switching circuitry is configured to extract from the notification a flow identifier of an originating packet that caused the notification, and to re-route all the packets addressed to the extracted flow identifier regardless of whether they are configured for adaptive routing.

28. The switch according to claim 19 , wherein the switching circuitry is configured to insert into the communication traffic an identity of the switch, in response to determining that the switch is capable of modifying the route.

29. The network switch according to claim 19 , wherein the

switching circuitry is further configured to receive communication traffic that originates from the source node and arrives over a route through the communication network traversing one or more preceding network switches, for forwarding to a destination node, and, in response to detecting a compromised ability to forward the communication traffic to the destination node, sending to the preceding network switches a notification, which is to be consumed by the preceding network switches and requests the preceding network switches to modify the route so as not to traverse the network switch.

30. The switch according to claim 29 , wherein the switching circuitry is configured to detect the compromised ability by detecting one of a congestion on a network link leaving the network switch en-route to the destination node, a failure in the network link, and a head-of-line time-out at an input to the network link.

31. The switch according to claim 29 , wherein the switching circuitry is configured to detect the compromised ability with respect to an originating packet, and to specify a flow identifier of the originating packet in the notification.

32. The switch according to claim 31 , wherein the switching circuitry is configured to generate a signature that depends on the originating packet and indicates which of the preceding switches is to consume the notification, and to send the signature in the notification.

33. The switch according to claim 29 , wherein the switching circuitry is configured to indicate a cause of the compromised ability in the notification.

34. The switch according to claim 29 , wherein the switching circuitry is configured to send the notification over an alternative route that differs from the route traversed by the communication traffic that caused the notification.

35. The switch according to claim 29 , wherein the switching circuitry is configured to include in the notification a signature for checking by the preceding switches.

36. The switch according to claim 29 , wherein the switching circuitry is configured to preempt processing of another packet in order to give precedence to the notification.

37. The switch according to claim 29 , wherein the switching circuitry is configured to receive in the communication traffic one or more identities of one or more of the preceding switches that are capable of modifying the route, and to address the notification to one or more of the preceding network switches whose identities are received in the communication traffic.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37900/0720 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 046542/0792 →
PATENT SECURITY AGREEMENT Recorded Feb 24, 2016
From: MELLANOX TECHNOLOGIES, LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037900/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2015
From: HARAMATY, ZACHY; ZAHAVI, EITAN; GABBAY, FREDDY; CRUPNICOFF, DIEGO; MARELLI, AMIAD; BLOCH, GIL
To: MELLANOX TECHNOLOGIES LTD.
Reel/Frame 035198/0707 →
Continuity (2)
Continuation In Part 13754921 · Jan 31, 2013
Related Publication 20150195204A1 · Jul 9, 2015