IP Library Granted Patent US 9,270,600
Granted Patent B2
US 9,270,600 · App. 14/656,575 · Granted Feb 23, 2016

Low-latency lossless switch fabric for use in a data center

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,270,600
App. No.
14/656,575
Granted
Feb 23, 2016
Kind
B2
Abstract

In one embodiment, a switch includes a processor and logic integrated with and/or executable by the processor, the logic being configured to cause the processor to receive a packet at an ingress port of the switch, forward the packet to a buffered switch when at least one congestion condition is met, where the buffered switch is configured to evaluate congestion conditions of a fabric network, and forward the packet to a low-latency switch when the at least one congestion condition is not met, where the low-latency switch includes an additional policy table provided with forwarding decisions based on the congestion conditions of the fabric network. Other switches, systems, methods, and computer program products for providing low latency packet forwarding with guaranteed delivery are described according to more embodiments.

Claims (52)

1. A switch comprising a processor and logic integrated with and/or executable by the processor, the logic being configured to cause the processor to:

receive a packet at an ingress port of the switch;

forward the packet to a buffered switch when at least one congestion condition is met, wherein the buffered switch is configured to evaluate congestion conditions of a fabric network; and

forward the packet to a low-latency switch when the at least one congestion condition is not met, wherein the low-latency switch comprises an additional policy table provided with forwarding decisions based on the congestion conditions of the fabric network.

2. The switch as recited in claim 1 , wherein the logic is further configured to cause the processor to:

receive congestion information;

determine that at least one congestion condition is met based on at least the congestion information; and

apply a packet forwarding policy to the packet when the at least one congestion condition is met to determine where to forward the packet.

3. The switch as recited in claim 2 , wherein the logic is further configured to cause the processor to:

determine whether the packet forwarding policy indicates to drop the packet; and

drop the packet when the packet forwarding policy indicates to drop the packet.

4. The switch as recited in claim 2 , wherein the at least one congestion condition comprises receipt of back pressure from one or more low-latency switches downstream of the switch.

5. The switch as recited in claim 4 , wherein the logic is further configured to cause the processor to:

divert traffic from any low-latency switch indicating congestion until the low-latency switch is able to process the traffic already forwarded to the low-latency switch.

6. The switch as recited in claim 2 , wherein the logic is further configured to cause the processor to:

process the packet to determine at least one property of the packet; and

use the at least one property of the packet to determine whether the packet satisfies the packet forwarding policy.

7. The switch as recited in claim 2 , wherein the at least one property of the packet comprises one or more of: a packet priority, a destination application identifier, a source address, a destination address, a packet size, a virtual local area network (VLAN) identifier, and an acceptable latency for the packet.

8. The switch as recited in claim 7 , wherein the packet forwarding policy is a multi-stage policy which takes into account the at least one property of the packet.

9. A computer program product for providing low latency packet forwarding with guaranteed delivery, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to receive a packet at an ingress port of a switch;

computer readable program code configured to forward the packet to a buffered switch downstream of the switch when at least one congestion condition is met, wherein the buffered switch is configured to evaluate congestion conditions of a fabric network; and

computer readable program code configured to forward the packet to a low-latency switch downstream of the switch when the at least one congestion condition is not met, wherein the low-latency switch comprises an additional policy table provided with forwarding decisions based on the congestion conditions of the fabric network.

10. The computer program product as recited in claim 9 , wherein the computer readable program code further comprises:

computer readable program code configured to receive congestion information at the switch;

computer readable program code configured to determine that at least one congestion condition is met based on at least the congestion information; and

computer readable program code configured to apply a packet forwarding policy to the packet using the switch, when the at least one congestion condition is met, to determine where to forward the packet.

11. The computer program product as recited in claim 10 , wherein the computer readable program code further comprises:

computer readable program code configured to determine whether the packet forwarding policy indicates to drop the packet; and

computer readable program code configured to drop the packet, using the switch, when the packet forwarding policy indicates to drop the packet.

12. The computer program product as recited in claim 10 , wherein the at least one congestion condition comprises receipt of back pressure, at the switch, from one or more low-latency switches downstream of the switch.

13. The computer program product as recited in claim 12 , wherein the computer readable program code further comprises:

computer readable program code configured to divert traffic from any low-latency switch indicating congestion until the low-latency switch is able to process the traffic already forwarded to the low-latency switch.

14. The computer program product as recited in claim 10 , wherein the computer readable program code further comprises:

computer readable program code configured to process the packet to determine at least one property of the packet; and

computer readable program code configured to use the at least one property of the packet to determine whether the packet satisfies the packet forwarding policy.

15. The computer program product as recited in claim 14 , wherein the at least one property of the packet comprises one or more of: a packet priority, a destination application identifier, a source address, a destination address, a packet size, a virtual local area network (VLAN) identifier, and an acceptable latency for the packet.

16. The computer program product as recited in claim 10 , wherein the packet forwarding policy is a multi-stage policy which takes into account the at least one property of the packet.

17. A switch, comprising a processor and logic integrated with and/or executable by the processor, the logic being configured to cause the processor to:

receive a packet at an ingress port of the switch;

receive congestion information;

determine that at least one congestion condition is met based on at least the congestion information;

apply a packet forwarding policy to the packet when the at least one congestion condition is met to determine where to forward the packet;

determine whether the packet forwarding policy indicates to drop the packet and drop the packet when the packet forwarding policy indicates to drop the packet;

forward the packet to a buffered switch downstream of the switch according to the packet forwarding policy when the at least one congestion condition is met, wherein the buffered switch is configured to evaluate congestion conditions of a fabric network; and

forward the packet to a low-latency switch according to the packet forwarding policy when the at least one congestion condition is not met, wherein the low-latency switch comprises an additional policy table provided with forwarding decisions based on the congestion conditions of the fabric network.

18. The switch as recited in claim 17 , wherein the at least one congestion condition comprises receipt of back pressure from one or more low-latency switches downstream of the switch, and wherein the logic is further configured to cause the processor to:

divert traffic from any low-latency switch indicating congestion until the low-latency switch is able to process the traffic already forwarded to the low-latency switch.

19. The switch as recited in claim 17 , wherein the logic is further configured to cause the processor to:

process the packet to determine at least one property of the packet; and

use the at least one property of the packet to determine whether the packet satisfies the packet forwarding policy.

20. The switch as recited in claim 17 , wherein the congestion information is received by the switch according to at least one of: 802.1Qbb—Priority Based Flow Control (PFC), 802.1az—Enhanced Transmission Selection (ETS), Quantized Congestion Notification (QCN), and regular flow control according to IEEE 802.3X.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050301/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 038483/0940 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: CAMPBELL, ALEXANDER P.; KAMBLE, KESHAV G.; PANDEY, VIJOY A.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 036884/0377 →