IP Library Granted Patent US 7,724,654
Granted Patent B2
US 7,724,654 · App. 11/210,025 · Granted May 25, 2010

Method for synchronized trunk failover and failback in a FC-AL switching environment

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,724,654
App. No.
11/210,025
Granted
May 25, 2010
Kind
B2
Abstract

The synchronization of trunk failover between two FC-AL switches when a primary trunk failure occurs is disclosed. If primary trunk T 1 should fail, S 1 bypasses the cascade port and sends a MaRK (MRK) ordered set out over duplicate trunk T 2 to switch S 2 . In response, S 2 sends an acknowledgement MRK ordered set over T 2 back to S 1 . S 1 then reconfigures the switch to establish T 2 as the primary trunk, and acts as a masters in the failover process and initiates LIP ordered sets which are communicated to all devices in the system to initialize them. Note that when S 2 receives the MRK ordered set and acknowledges it by sending an acknowledgement MRK back to S 1 , it acts as a slave in the failover process and does not attempt to initiate LIPs, thereby eliminating the possibility of multiple Loop Initialization cycles and reducing the time in which data cannot be transmitted.

Claims (157)

1. In a first Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a second FC-AL switch via a primary and a duplicate trunk, a method for synchronizing trunk failover, comprising:

detecting a primary trunk failure and entering a failover mode; and

while in the failover mode,

if no MaRK (MRK) ordered set has been received from the second FC-AL switch over the duplicate trunk, sending a MRK ordered set to the second FC-AL switch over the duplicate trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches while precluding the second FC-AL switch from attempting to initiate a separate Loop Initialization cycle.

2. The method as recited in claim 1 , further comprising while in the failover mode:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle by sending a LIP primitive in an attempt to initialize devices connected to the first and second FC-AL switches.

3. The method as recited in claim 1 , further comprising while in the failover mode:

if, after sending the MRK ordered set to the second FC-AL switch over the duplicate trunk, a MRK ordered set is received from the second FC-AL switch over the duplicate trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the duplicate trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the duplicate trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

4. The method as recited in claim 3 , further comprising while in the failover mode:

if a MRK ordered set is received from the second FC-AL switch over the duplicate trunk by the end of the random time period,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the duplicate trunk.

5. The method as recited in claim 1 , further comprising synchronizing trunk failback by:

detecting a primary trunk up event and entering a failback mode; and

while in the failback mode,

if no MRK ordered set has been received from the second FC-AL switch over the temporary primary trunk, sending a MRK ordered set to the second FC-AL switch over the temporary primary trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

6. The method as recited in claim 5 , further comprising while in the failback mode:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle in an attempt to initialize devices connected to the first and second FC-AL switches.

7. The method as recited in claim 5 , further comprising while in the failback mode:

if, after sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk, a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

8. The method as recited in claim 7 , further comprising while in the failback mode:

if a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk by the end of the random time period,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the temporary primary trunk.

9. In a second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk, a method for assisting in synchronizing trunk failover, comprising:

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk without initiating, by the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the duplicate trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

10. In a second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk, wherein the primary trunk has failed and the duplicate trunk has been reconfigured as a temporary primary trunk, a method for assisting in synchronizing trunk failback, comprising:

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, without initiating, by the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the temporary primary trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

11. A first Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a second FC-AL switch via a primary and a duplicate trunk for synchronizing trunk failover, comprising:

hardware for detecting a primary trunk failure; and

one or more processors programmed for performing the steps of

receiving a notification from the hardware of the primary trunk failure and entering a failover mode, and

while in the failover mode,

if no MaRK (MRK) ordered set has been received from the second FC-AL switch over the duplicate trunk, sending a MRK ordered set to the second FC-AL switch over the duplicate trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches while precluding the second FC-AL switch from attempting to initiate a separate Loop Initialization cycle.

12. The first FC-AL switch as recited in claim 11 , the one or more processors further programmed for performing, while in the failover mode, the steps of:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle in an attempt to initialize devices connected to the first and second FC-AL switches.

13. The first FC-AL switch as recited in claim 11 , the one or more processors further programmed for performing, while in the failover mode, the steps of:

if, after sending the MRK ordered set to the second FC-AL switch over the duplicate trunk, a MRK ordered set is received from the second FC-AL switch over the duplicate trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the duplicate trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the duplicate trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

14. The first FC-AL switch as recited in claim 13 , the one or more processors further programmed for performing, while in the failover mode, the steps of:

if a MRK ordered set is received from the second FC-AL switch over the duplicate trunk by the end of the random time period,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the duplicate trunk.

15. The first FC-AL switch as recited in claim 11 , the first FC-AL switch further for synchronizing trunk failback and comprising:

hardware for detecting a primary trunk up event; and

one or more processors further programmed for performing the steps of

receiving a notification from the hardware of the primary trunk up event and entering a failback mode, and

while in the failback mode,

if no MRK ordered set has been received from the second FC-AL switch over the temporary primary trunk, sending a MRK ordered set to the second FC-AL switch over the temporary primary trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

16. The first FC-AL switch as recited in claim 15 , the one or more processors further programmed for performing, while in the failback mode, the steps of:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle in an attempt to initialize devices connected to the first and second FC-AL switches.

17. The first FC-AL switch as recited in claim 15 , the one or more processors further programmed for performing, while in the failback mode, the steps of:

if, after sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk, a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

18. The first FC-AL switch as recited in claim 17 , the one or more processors further programmed for performing, while in the failback mode, the steps of:

if a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk by the end of the random time period,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the temporary primary trunk.

19. A second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk for assisting in synchronizing trunk failover, comprising:

one or more processors programmed for performing the steps of

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk without initiating, the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the duplicate trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

20. A second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk for assisting in synchronizing trunk failback when the primary trunk has failed and the duplicate trunk has been reconfigured as a temporary primary trunk, comprising:

one or more processors programmed for performing the steps of

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, without initiating, by the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the temporary primary trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

21. A Storage Area Network (SAN) comprising the first FC-AL switch of claim 11 .

22. One or more storage media including a computer program which, when executed by one or more processors in a first Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a second FC-AL switch via a primary and a duplicate trunk, synchronizes trunk failover by causing the one or more processors to perform the steps of:

receiving a notification of a primary trunk failure and entering a failover mode; and

while in the failover mode,

if no MaRK (MRK) ordered set has been received from the second FC-AL switch over the duplicate trunk, sending a MRK ordered set to the second FC-AL switch over the duplicate trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches while precluding the second FC-AL switch from attempting to initiate a separate Loop Initialization cycle.

23. The one or more storage media as recited in claim 22 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failover mode to perform the steps of:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle in an attempt to initialize devices connected to the first and second FC-AL switches.

24. The one or more storage media as recited in claim 22 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failover mode to perform the steps of:

if, after sending the MRK ordered set to the second FC-AL switch over the duplicate trunk, a MRK ordered set is received from the second FC-AL switch over the duplicate trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the duplicate trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the duplicate trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

25. The one or more storage media as recited in claim 24 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failover mode to perform the steps of:

if a MRK ordered set is received from the second FC-AL switch over the duplicate trunk by the end of the random time period,

reconfiguring the duplicate trunk to be a temporary primary trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the duplicate trunk.

26. The one or more storage media as recited in claim 22 , wherein the computer program, when executed by the one or more processors, synchronizes trunk failback by causing the one or more processors to perform the steps of:

receiving a notification of a primary trunk up event and entering a failback mode; and

while in the failback mode,

if no MRK ordered set has been received from the second FC-AL switch over the temporary primary trunk, sending a MRK ordered set to the second FC-AL switch over the temporary primary trunk, and

if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

27. The one or more storage media as recited in claim 26 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failback mode to perform the steps of:

if the acknowledgement MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle in an attempt to initialize devices connected to the first and second FC-AL switches.

28. The one or more storage media as recited in claim 26 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failback mode to perform the steps of:

if, after sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk, a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk instead of an acknowledgement MRK ordered set,

waiting a random time period, and

if a MRK ordered set is not received from the second FC-AL switch over the temporary primary trunk by the end of the random time period, re-sending the MRK ordered set to the second FC-AL switch over the temporary primary trunk; and if an acknowledgement MRK ordered set is thereafter received from the second FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

initiating a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

29. The one or more storage media as recited in claim 28 , wherein the computer program, when executed by the one or more processors, further causes the one or more processors while in the failback mode to perform the steps of:

if a MRK ordered set is received from the second FC-AL switch over the temporary primary trunk by the end of the random time period,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, and

sending an acknowledgement MRK ordered set to the second FC-AL switch over the temporary primary trunk.

30. One or more storage media including a computer program which, when executed by one or more processors in a second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk, assists in synchronizing trunk failover by causing the one or more processors to perform the steps of:

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the duplicate trunk,

reconfiguring the duplicate trunk to be a temporary primary trunk without initiating, by the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the duplicate trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

31. One or more storage media including a computer program which, when executed by one or more processors in a second Fibre Channel Arbitrated Loop (FC-AL) switch connectable to a first FC-AL switch via a primary and a duplicate trunk, assists in synchronizing trunk failback when the primary trunk has failed and the duplicate trunk has been reconfigured as a temporary primary trunk by causing the one or more processors to perform the steps of:

if a MaRK (MRK) ordered set is received from the first FC-AL switch over the temporary primary trunk,

reconfiguring the previously failed primary trunk to once again be the primary trunk, and reconfiguring the temporary primary trunk to once again be the duplicate trunk, without initiating, by the second FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches, and

sending an acknowledgement MRK ordered set to the first FC-AL switch over the temporary primary trunk to initiate, by the first FC-AL switch, a Loop Initialization cycle to initialize devices connected to the first and second FC-AL switches.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →