IP Library Granted Patent US 7,324,441
Granted Patent B1
US 7,324,441 · App. 10/620,301 · Granted Jan 29, 2008

Methods and apparatus for alleviating deadlock in a fibre channel network

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 7,324,441
App. No.
10/620,301
Granted
Jan 29, 2008
Kind
B1
Abstract

Methods and apparatus are provided for alleviating deadlock and controlling congestion in a network such as a fibre channel network. Techniques are provided for detecting stalled frames at a fibre channel switch. Reserve credits are released when stalled frames are detected. In some instances, reserve credits are released after a predetermined period of time. Reserve credits allow transmission to effectively reduce deadlock and congestion. Reserve credits are particularly effective in reducing deadlock resulting from transient loops in a fibre channel network.

Claims (54)

1. A method for controlling congestion in a fibre channel network, the method comprising:

determining that a plurality of frames buffered at a first switch in a fibre channel network are stalled, wherein the first switch is configured to buffer the plurality of frames until a second switch provides a second switch transmission credit to the first switch; and

providing a reserve credit to the first switch, the reserve credit allowing transmission of one of the plurality of frames to the second switch, wherein transmission of one of the plurality of frames allows the first switch to release a transmission credit to the second switch.

2. The method of claim 1 , wherein the transmission credit is provided to the second switch, allowing the second switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

3. The method of claim 2 , wherein loop lock-out results from a temporary routing loop in the fibre channel network.

4. The method of claim 3 , wherein loop tock-out results from a topology change triggering a temporary routing loop in the fibre channel network.

5. The method of claim 1 , wherein the first switch transmission credit is provided to a third switch, allowing the third switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

6. The method of claim 1 , further comprising:

providing a reserve credit to the second switch, the reserve credit allowing transmission transmission from the second switch to the first switch.

7. The method of claim 1 , further comprising:

prior to detecting that the first plurality of frames are stalled, reducing that rate of traffic flow to the first switch.

8. The method of claim 7 , further comprising:

wherein the rate of traffic flow to the first switch is reduced using edge quench and path quench packets.

9. The method of claim 1 , wherein polling of a first switch link is used to determine that the plurality of frames are stalled.

10. The method of claim 9 , wherein polling of a first switch link is performed after at routing tables have converged.

11. The method of claim 9 , wherein polling is performed using reserve credit intervals.

12. The method of claim 11 , further comprising determining that the frame buffered remains stalled despite the release of the reserve credit.

13. The method of claim 12 , further comprising releasing an additional reserve credit at the first switch.

14. The method of claim 12 , further comprising dropping the plurality of frames buffered at the first switch.

15. The method of claim 11 , wherein polling of the first switch link is performed to determine that the plurality of frames remain stalled.

16. The method of claim 15 , wherein polling to determine that the plurality of frames remain stalled is performed using frame drop intervals.

17. The method of claim 1 , Her comprising placing a credit back into reserve at the first fibre channel switch when it is determined that the plurality of frames are no longer stalled.

18. A fibre channel switch in a fibre channel network, the switch comprising:

a buffer at a first fibre channel switch in a fibre channel network, the buffer configured to hold a first plurality of frames until transmission credits are available to send the first plurality of frames;

a processor configured to obtain a reserve credit, the reserve credit allowing transmission of one of the plurality of frames to a second switch, wherein transmission of one of the plurality of frames allows the first fibre channel switch to release a transmission credit to the second switch.

19. The fibre channel switch of claim 18 , wherein the transmission credit is provided to the second switch, allowing the second switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

20. The fibre channel switch of claim 19 , wherein loop lock-out results from a temporary routing loop in the fibre channel network.

21. The fibre channel switch of claim 20 , wherein loop lock-out results from a topology change triggering a temporary routing loop in the fibre channel network.

22. The fibre channel switch of claim 18 , wherein the first switch transmission credit is provided to a third switch, allowing the third switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

23. The fibre channel switch of claim 18 , further comprising:

providing a reserve credit to the second switch, the reserve credit allowing transmission transmission from the second switch to the first switch.

24. The fibre channel switch of claim 18 ,

wherein the rate of traffic flow to the first switch is reduced prior to detecting that the first plurality of frames are stalled.

25. The fibre channel switch of claim 24 , further comprising:

wherein the rate of traffic flow to the first switch is reduced using edge quench and path quench packets.

26. A fibre channel switch, comprising:

means for determining that a plurality of frames buffered at a first switch in a fibre channel network are stalled, wherein the first switch is configured to buffer the plurality of frames until a second switch provides a second switch transmission credit to the first switch; and

means for obtaining a reserve credit at the first switch, the reserve credit allowing transmission of one of the plurality of frames to the second switch, wherein transmission of one of the plurality of frames allows the first switch to release a transmission credit to the second switch.

27. The fibre channel switch of claim 26 , wherein the transmission credit is provided to the second switch, allowing the second switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

28. The fibre channel switch of claim 27 , wherein loop lock-out results from a temporary routing loop in the fibre channel network.

29. The fibre channel switch of claim 28 , wherein loop lockout results from a topology change triggering a temporary routing loop in the fibre channel network.

30. The fibre channel switch of claim 26 , wherein the first switch transmission credit is provided to a third switch, allowing the third switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

31. The fibre channel switch of claim 26 , further comprising:

means for providing a reserve credit to the second switch, the reserve credit allowing transmission from the second switch to the first switch.

32. The fibre channel switch of claim 26 , further comprising:

means for reducing that rate of traffic flow to the first switch prior to detecting that the first plurality of frames are stalled.

33. The fibre channel switch of claim 32 , further comprising:

wherein the rate of traffic flow to the first switch is reduced using edge quench and path quench packets.

34. The fibre channel switch of claim 26 , wherein polling of a first switch link is used to determine that the plurality of frames are stalled.

35. The fibre channel switch of claim 34 , wherein polling of a first switch link is performed after at routing tables have converged.

36. A computer readable storage medium having computer code embodied therein, the computer readable storage medium comprising:

computer code for determining that a plurality of frames buffered at a first switch in a fibre channel network are stalled, wherein the first switch is configured to buffer the plurality of frames until a second switch provides a second switch transmission credit to the first switch; and

computer code for obtaining a reserve credit at the first switch, the reserve credit obtained from an interface included in the first switch, the reserve credit allowing transmission of one of the plurality of frames to the second switch, wherein transmission of one of the plurality of frames allows the first switch to release a transmission credit to the second switch.

37. The computer readable storage medium of claim 36 , wherein the transmission credit is provided to the second switch, allowing the second switch to transmit a frame to the first switch, thereby releasing a loop lock-out.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2005
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 016741/0616 →
MERGER Recorded Jul 6, 2004
From: ANDIAMO SYSTEMS, INC.
To: CISCO SYSTEMS, INC.
Reel/Frame 014849/0935 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2004
From: KLOTH, RAYMOND J.; COMETTO, MAURILIO
To: ANDIAMO SYSTEMS, INC.
Reel/Frame 014883/0032 →