JP2005522147A - Method and apparatus for fiber channel frame delivery - Google Patents

Method and apparatus for fiber channel frame delivery Download PDF

Info

Publication number
JP2005522147A
JP2005522147A JP2003582973A JP2003582973A JP2005522147A JP 2005522147 A JP2005522147 A JP 2005522147A JP 2003582973 A JP2003582973 A JP 2003582973A JP 2003582973 A JP2003582973 A JP 2003582973A JP 2005522147 A JP2005522147 A JP 2005522147A
Authority
JP
Japan
Prior art keywords
fiber channel
updated
frame
frames
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003582973A
Other languages
Japanese (ja)
Other versions
JP4873834B2 (en
Inventor
モーリリオ コメット
スコット エス リー
Original Assignee
シスコ テクノロジー インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シスコ テクノロジー インコーポレイテッド filed Critical シスコ テクノロジー インコーポレイテッド
Publication of JP2005522147A publication Critical patent/JP2005522147A/en
Application granted granted Critical
Publication of JP4873834B2 publication Critical patent/JP4873834B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Abstract

Methods and apparatus are provided for improving fibre channel frame delivery. Techniques are provided for the in order delivery of frames by intelligently delaying or dropping selected fibre channel frames. Other techniques are provided for in order delivery by using label switching and frame labels. The various techniques can be applied during circumstances such as a link state or channel change.

Description

本発明は、ファイバーチャンネルネットワークに係る。より詳細には、本発明は、リンク状態が変化したりチャンネル状態が変化したりする環境の間にファイバーチャンネルネットワークにおいてファイバーチャンネルフレームの順序正しい配送を与える方法及び装置に係る。
本出願は、全ての目的で参考として全体をここに援用するスコットS.リー及びディニッシュG.ダットによる「Label Switching In Fibre Channel Networks」と題する同時に出願された米国特許出願第10/114,394号(代理人ドケット番号第ANDIP009号)に係る。
The present invention relates to a fiber channel network. More particularly, the present invention relates to a method and apparatus for providing in-order delivery of fiber channel frames in a fiber channel network during an environment where link conditions change or channel conditions change.
This application is based on Scott S., incorporated herein by reference in its entirety for all purposes. Lee and Danish G. US patent application Ser. No. 10 / 114,394 (Attorney Docket No. ANDIP009) filed at the same time entitled “Label Switching In Fiber Channel Networks”

多数の従来のネットワークプロトコルは、パケットシーケンスの順序ずれした配送を許す。TCP/IPベースのネットワークにおけるネットワークノードは、パケットの順序ずれしたセットを受信し、そして受信時にパケットを再順序付けする。パケットは、異なる経路に沿って進行して宛先へ到達する場合にしばしば順序ずれして到着する。   Many conventional network protocols allow out-of-order delivery of packet sequences. A network node in a TCP / IP based network receives an out-of-order set of packets and reorders the packets upon receipt. Packets often arrive out of order as they travel along different paths and reach their destination.

しかしながら、ディスクやディスクアレーや他の記憶メカニズムのような幾つかのファイバーチャンネル装置は、順序ずれしたフレームを取り扱うことができない。リンク及びチャンネル状態の変化は、ファイバーチャンネルファブリックにおいてフレームの順序ずれした配送を生じさせ得る環境の幾つかである。2つのファイバーチャンネルエンティティ間の単一リンクとして見える多数のリンクを、ここでは、チャンネルと称する。既存のネットワークにおける幾つかのメカニズムは、リンク状態が変化したときにネットワークにおいて全てのフレームをフラッシュすることを必要とする。全てのフレームをフラッシュすると、ネットワークにおいて経路及びルートが変化したときに順序ずれした配送を防止することができる。関連宛先に対するフレームの経路が変化しない場合でも全てのフレームがフラッシュされる。しかしながら、全てのフレームを明確に又は暗示的にフラッシュすることは、必要以上に多くのフレームがドロップされそしてネットワークのオペレーションが少なくとも一時的に停止されるので、ネットワークオペレーションを著しき阻害することになる。   However, some Fiber Channel devices, such as disks, disk arrays, and other storage mechanisms cannot handle out-of-order frames. Link and channel state changes are some of the environments that can cause out-of-order delivery of frames in a fiber channel fabric. Multiple links that appear as a single link between two Fiber Channel entities are referred to herein as channels. Some mechanisms in existing networks require flushing all frames in the network when link conditions change. Flushing all frames can prevent out-of-order delivery when routes and routes change in the network. All frames are flushed even if the frame path to the associated destination does not change. However, clearing or implicitly flushing all frames will significantly hinder network operations because more frames are dropped than necessary and network operations are at least temporarily suspended. .

それ故、ファイバーチャンネルのフレーム配送を改善し、特にリンク状態及びチャンネルの変化中に正しい順序での配送を与える方法及び装置を提供することが望まれる。   Therefore, it would be desirable to provide a method and apparatus that improves fiber channel frame delivery, and in particular provides delivery in the correct order during link conditions and channel changes.

ファイバーチャンネルのフレーム配送を改善するための方法及び装置が提供される。選択されたファイバーチャンネルフレームをインテリジェントに遅延又はドロップすることによりフレームを順序正しく配送するための技術が提供される。ラベルスイッチング及びフレームラベルを使用することにより順序正しく配送するための他の技術も提供される。リンク又はチャンネル状態の変化のような環境中に種々の技術を適用することができる。   Methods and apparatus are provided for improving fiber channel frame delivery. Techniques are provided for delivering frames in order by intelligently delaying or dropping selected Fiber Channel frames. Other techniques for in-order delivery by using label switching and frame labels are also provided. Various techniques can be applied in environments such as link or channel state changes.

種々の実施形態に基づき、ファイバーチャンネルファブリックにおいてファイバーチャンネルフレームを選択的に配送するための方法が提供される。ファイバーチャンネルエンティティにおいて次のホップのセットが識別される。次のホップのセットは、宛先識別子に基づいてフレームを転送するのに使用される。ファイバーチャンネルファブリックのリンクの変化が検出される。次のホップの更新されたセットが識別される。次のホップの更新されたセットは、ファイバーチャンネルファブリックのリンクの変化を考慮しながら、宛先識別子に基づきファイバーチャンネルエンティティで受信されたフレームを転送するのに使用される。次のホップのセットは、次のホップの更新されたセットと比較される。次のホップの更新されたセットに向うフレームの転送は、次のホップのセットが次のホップの更新されたセットとは異なることが決定された場合に、所定の時間中防止される。   In accordance with various embodiments, a method is provided for selectively delivering fiber channel frames in a fiber channel fabric. The next set of hops is identified in the Fiber Channel entity. The next hop set is used to forward the frame based on the destination identifier. A change in the fiber channel fabric link is detected. An updated set of next hops is identified. The updated set of next hops is used to forward frames received at the Fiber Channel entity based on the destination identifier, taking into account changes in the Fiber Channel fabric link. The next hop set is compared to the updated set of next hops. Forwarding frames towards the updated set of next hops is prevented for a predetermined time if it is determined that the next set of hops is different from the updated set of next hops.

別の実施形態に基づき、ファイバーチャンネルファブリックにおいてフレームを選択的に配送するための方法が提供される。第1のファイバーチャンネルエンティティから第2のファイバーチャンネルエンティティへフレームを転送するためのチャンネルが識別される。このチャンネルは、第1のファイバーチャンネルエンティティを第2のファイバーチャンネルエンティティに接続する複数のリンクを含む。チャンネルの変化は、第1のファイバーチャンネルエンティティにおいて検出される。第1のファイバーチャンネルエンティティから第2のファイバーチャンネルエンティティへフレームを転送するための更新されたチャンネルが識別される。更新されたチャンネルは、前記チャンネルとは異なる。更新されたチャンネルを経て転送するために受信されたフレームであって、更新されたチャンネルに関連した出力待ち行列へまだ入れられていないフレームは、阻止される。   In accordance with another embodiment, a method is provided for selectively delivering frames in a fiber channel fabric. A channel for transferring frames from the first fiber channel entity to the second fiber channel entity is identified. The channel includes a plurality of links connecting a first fiber channel entity to a second fiber channel entity. Channel changes are detected at the first fiber channel entity. An updated channel for transferring a frame from the first fiber channel entity to the second fiber channel entity is identified. The updated channel is different from the channel. Frames received for transfer over an updated channel that have not yet been placed in the output queue associated with the updated channel are blocked.

更に別の実施形態では、ファイバーチャンネルファブリックにおいてフレームを選択的に配送するための方法が提供される。ファイバーチャンネルスイッチにおいてファイバーチャンネルファブリックのリンクの変化が検出される。トポロジーバージョン番号に関連した更新されたルーティングテーブルが発生される。更新されたルーティングテーブルの発生は、更新されたルーティングテーブルの各エントリーに対応する次のホップ、受信ラベル及び宛先を決定することを含む。ファイバーチャンネルスイッチにおいてフレームが受信される。フレームは、更新されたルーティングテーブルの第1エントリーに対応する第1宛先及び第1ラベルを含む。ファイバーチャンネルスイッチが、更新されたルーティングテーブルの第1エントリーに対応する第1の送信ラベルを受信したかどうか決定され、受信された第1の送信ラベルは、更新されたルーティングテーブルと同じトポロジーバージョン番号を有する。ファイバーチャンネルスイッチが第1の送信ラベルを受信しなかったと決定された場合にフレームがドロップされる。   In yet another embodiment, a method is provided for selectively delivering frames in a fiber channel fabric. A change in the fiber channel fabric link is detected in the fiber channel switch. An updated routing table associated with the topology version number is generated. Generating an updated routing table includes determining the next hop, received label, and destination corresponding to each entry in the updated routing table. A frame is received at the fiber channel switch. The frame includes a first destination and a first label corresponding to the first entry in the updated routing table. It is determined whether the Fiber Channel switch has received a first transmission label corresponding to the first entry in the updated routing table, and the received first transmission label is the same topology version number as the updated routing table. Have If it is determined that the Fiber Channel switch has not received the first transmission label, the frame is dropped.

本発明のこれら及び他の特徴及び効果は、本発明の原理を一例として示す添付図面を参照して以下に詳細に説明する。
本発明は、その特定の実施形態を例示した添付図面に関連した以下の説明から最も良く理解されよう。
These and other features and advantages of the present invention will be described in detail below with reference to the accompanying drawings which illustrate, by way of example, the principles of the invention.
The invention will be best understood from the following description taken in conjunction with the accompanying drawings, which illustrate certain embodiments thereof.

本発明を実施するために本発明者により意図された最良の態様を含む本発明の幾つかの特定の実施形態を以下に説明する。これら特定の実施形態は、添付図面に示されている。本発明は、これら特定の実施形態を参照して説明するが、ここに示す実施形態に本発明を限定するものではないことを理解されたい。一方、特許請求の範囲に規定された本発明の精神及び範囲内に包含される代替物、変更及び等効物を網羅することが意図される。   Several specific embodiments of the invention are described below, including the best mode contemplated by the inventors for carrying out the invention. These particular embodiments are illustrated in the accompanying drawings. While the invention will be described with reference to these specific embodiments, it will be understood that it is not intended to limit the invention to the embodiments shown. On the other hand, it is intended to cover alternatives, modifications and equivalents that fall within the spirit and scope of the invention as defined by the claims.

本発明の方法及び装置は、ファイバーチャンネルフレームの順序正しい配送を与える。種々の実施形態に基づき、多数のネットワーク条件は、ファイバーチャンネル装置へフレームを順序ずれして配送する事態を招くことがある。本発明の技術は、フレームをファイバーチャンネル装置へ正しい順序で配送するために、あるファイバーチャンネルフレームを遅延、ブロッキング、ドロッピング及び/又はラベル付けするものである。一実施形態において、古い経路に沿って進行するフレームが最初に宛先に到達するのを許すか又はネットワークからドロップするのを許すために、新たな経路を横断するフレームはブロックされる。   The method and apparatus of the present invention provides in-order delivery of fiber channel frames. Based on various embodiments, a number of network conditions can lead to out-of-order delivery of frames to Fiber Channel devices. The technique of the present invention delays, blocks, drops and / or labels certain Fiber Channel frames in order to deliver the frames to the Fiber Channel device in the correct order. In one embodiment, frames that traverse the new path are blocked to allow frames traveling along the old path to reach the destination first or drop from the network.

図1は、本発明の技術を使用することのできるネットワークの一例を示す図である。図1は、ファイバーチャンネルを使用して実施されるストレージエリアネットワークを示す。スイッチ101は、スイッチ103及び105に接続されると共に、ホスト111及び記憶装置121に接続される。一実施形態では、ホスト111は、サーバー又はクライアントシステムであり、一方、記憶装置121は、単一ディスクや、独立ディスクの冗長アレー(RAID)のような記憶サブシステムである。スイッチ105は、スイッチ107に接続される。スイッチ107は、ホスト113に接続され、そしてスイッチ103は、記憶装置123に接続される。スイッチ109は、ホスト115、スイッチ107、ホスト153、及びファイバーチャンネルを使用してもしなくてもよい外部ネットワーク151に接続される。ホスト111がネットワーク151にアクセスするために、スイッチ105を通る経路を使用することができる。プロセッサ、メモリ、及びファイバーチャンネルファブリックへの接続を含む装置は、ファイバーチャンネルスイッチであることに注意されたい。   FIG. 1 is a diagram illustrating an example of a network in which the technology of the present invention can be used. FIG. 1 shows a storage area network implemented using Fiber Channel. The switch 101 is connected to the switches 103 and 105 and to the host 111 and the storage device 121. In one embodiment, the host 111 is a server or client system, while the storage device 121 is a storage subsystem such as a single disk or a redundant array of independent disks (RAID). The switch 105 is connected to the switch 107. The switch 107 is connected to the host 113, and the switch 103 is connected to the storage device 123. The switch 109 is connected to the host 115, the switch 107, the host 153, and the external network 151 that may or may not use the fiber channel. A path through the switch 105 can be used for the host 111 to access the network 151. Note that the device that includes the processor, memory, and connections to the Fiber Channel fabric is a Fiber Channel switch.

ファイバーチャンネルネットワークにおいてスイッチを互いに接続するのに使用されるポートを、ここでは、非Fポートと称し、一方、スイッチをホストに接続するのに使用されるポートを、ここでは、Fポートと称する。一例において、非Fポートは、スイッチ105をスイッチ107に接続するのに使用され、一方、Fポートは、スイッチ107をホスト113に接続するのに使用される。同様に、FLポートは、スイッチ103を記憶装置123に接続するのに使用される。Fポート及びFLポートのようなポートを、ここでは、エッジポート称する。他のポートは、非エッジポートと称する。   The ports used to connect switches to each other in a Fiber Channel network are referred to herein as non-F ports, while the ports used to connect the switches to hosts are referred to herein as F ports. In one example, the non-F port is used to connect switch 105 to switch 107, while the F port is used to connect switch 107 to host 113. Similarly, the FL port is used to connect the switch 103 to the storage device 123. Ports such as F port and FL port are referred to herein as edge ports. Other ports are referred to as non-edge ports.

種々の実施形態に基づき、ホスト111からネットワーク151又は記憶装置153へ送信されるフレームは、交換識別子、シーケンス及びシーケンス番号のようなパラメータを含む。交換識別子は、フレームが何の交換に属しているかの情報を与えることができる。シーケンスは、交換のどの部分にフレームが属しているかの情報を与えることができ、一方、シーケンス番号は、フレームをいかに順序付けするかの情報を与えることができる。シーケンス番号は、ファイバーチャンネルフレームの順序正しい配送を許すのに使用できる。   According to various embodiments, a frame transmitted from the host 111 to the network 151 or the storage device 153 includes parameters such as an exchange identifier, a sequence, and a sequence number. The exchange identifier can give information on what exchange the frame belongs to. The sequence can give information on which part of the exchange the frame belongs to, while the sequence number can give information on how to order the frames. The sequence number can be used to allow in-order delivery of Fiber Channel frames.

ある記憶ディスク及びディスクアレーのようなあるファイバーチャンネル装置は、フレームを、それらが送信された順に受信することを要求する。TCP/IPネットワークのような従来のネットワークは、TCP/IPネットワークが一般にパケットを受信時に再順序付けするメカニズムを有するので、このような要求をもたない。191、192及び193のシーケンス番号をもつフレームがファイバーチャンネルネットワークにおいて順序正しく送信された場合には、それらフレームを受信するファイバーチャンネル装置は、フレームが送信と同じ順序であることを期待する。ファイバーチャンネル装置は、順序連れしたフレームの受信を取り扱うことができなくてもよい。   Certain Fiber Channel devices, such as certain storage disks and disk arrays, require that frames be received in the order in which they were transmitted. Conventional networks, such as TCP / IP networks, do not have such a requirement because TCP / IP networks generally have a mechanism to reorder packets as they are received. If frames with sequence numbers 191, 192 and 193 are transmitted in order in the Fiber Channel network, the Fiber Channel device receiving those frames expects the frames to be in the same order as transmitted. The Fiber Channel device may not be able to handle the reception of ordered frames.

静的なファイバーチャンネルネットワークでは、フレームは、通常、それらが送信された順序で受信される。しかしながら、多数の出来事によりファイバーチャンネルフレームの順序ずれした配送を招くことがある。特に、リンク状態が変化すると、順序ずれした配送を招くことがある。   In static Fiber Channel networks, frames are usually received in the order in which they were transmitted. However, numerous events can result in out-of-order delivery of fiber channel frames. In particular, when the link state changes, out-of-order delivery may occur.

図2は、ファイバーチャンネルファブリックのリンクの変化を受けるファイバーチャンネルファブリックを示す図である。図2は、ファイバーチャンネルフレームの順序ずれした配送を招くことのあるリンクの変化の一例を示す。非エッジポートを使用する新たなリンクがスイッチ103とスイッチ107との間に導入される。スイッチ103とスイッチ107との間に新たなリンクが導入されると、ルーティングテーブルの新たなバージョンを発生することができる。ファイバーチャンネルショーテストパスファースト(FSPF)のような種々のルーティングテーブル発生アルゴリズムを使用することができる。ホスト111からスイッチ101、105及び107を経てスイッチ109へ至るトラフィックは、今度は、スイッチ101、103及び107を経てスイッチ109へ進むことができる。スイッチ111から記憶装置153フレームを送信するのに使用できる次のホップのセットは、新たなリンクの導入前は、スイッチ105である。   FIG. 2 is a diagram illustrating a fiber channel fabric subjected to a change in the link of the fiber channel fabric. FIG. 2 shows an example of link changes that can result in out-of-order delivery of Fiber Channel frames. A new link using a non-edge port is introduced between the switch 103 and the switch 107. When a new link is introduced between the switch 103 and the switch 107, a new version of the routing table can be generated. Various routing table generation algorithms such as Fiber Channel Shortest Path First (FSPF) can be used. Traffic from the host 111 to the switch 109 via the switches 101, 105 and 107 can now proceed to the switch 109 via the switches 101, 103 and 107. The next set of hops that can be used to transmit the storage device 153 frame from the switch 111 is the switch 105 before the introduction of a new link.

あるファイバーチャンネルエンティティから別のファイバーチャンネルエンティティへフレームを送信するのに使用できる隣接ファイバーチャンネルエンティティのセットを、ここでは、次のホップのセットと称する。リンクが変化した後に、次のホップのセットをスイッチにおいて更新することができる。一例において、スイッチ101からネットワーク151へフレームを送信するための次のホップのセットは、リンク状態が変化した後に、単にスイッチ105から両スイッチ103及びスイッチ105へ変化する。リンクが変化するか、又は更新されたルーティングテーブルが発生された後に、ソースから更新された宛先へフレームを送信するのに使用できる隣接エンティティのセットを、ここでは、次のホップの更新されたセットと称する。次のホップのセットは、1つ以上の隣接ノードを含み得ることに注意されたい。一例において、次のホップのセットは、単一隣接エンティティである。別の例において、次のホップのセットは、多数の隣接エンティティを含む。   A set of adjacent Fiber Channel entities that can be used to transmit a frame from one Fiber Channel entity to another is referred to herein as the next set of hops. After the link changes, the next set of hops can be updated at the switch. In one example, the next set of hops for sending frames from switch 101 to network 151 will simply change from switch 105 to both switches 103 and 105 after the link state changes. The set of neighboring entities that can be used to send frames from the source to the updated destination after the link changes or the updated routing table is generated, here the updated set of next hops Called. Note that the next hop set may include one or more neighboring nodes. In one example, the next hop set is a single neighboring entity. In another example, the next set of hops includes a number of neighboring entities.

次のホップの更新されたセットは、ファイバーチャンネルフレームの順序ずれした配送を招くことがある。一例において、あるシーケンスでスイッチ101において送信された最初のフレームは、スイッチ105を経て進行し、一方、同じシーケンスのその後のフレームは、スイッチ103を経て進行する。種々のネットワーク条件により、スイッチ103を経て進行するその後のフレームがスイッチ109に到着した後に、スイッチ105を経て進行する最初のフレームがスイッチ109に到着することがある。一例において、最初のフレームは、スイッチ105における混雑のためにスイッチ105において低速化され、一方、その後のフレームは、スイッチ103とスイッチ107との間に新たな高帯域巾リンクがあるためにスイッチ103を経て迅速に進行する。ホスト111から最初に送信されたフレームを受信する前に、その後に送信されたフレームを受信する記憶装置153は、順序ずれしたフレームを取り扱えないことがある。   The updated set of next hops can result in out-of-order delivery of Fiber Channel frames. In one example, the first frame transmitted in switch 101 in a sequence proceeds through switch 105, while subsequent frames in the same sequence proceed through switch 103. Due to various network conditions, the first frame traveling through switch 105 may arrive at switch 109 after a subsequent frame traveling through switch 103 arrives at switch 109. In one example, the first frame is slowed down at switch 105 due to congestion at switch 105, while subsequent frames are at switch 103 because there is a new high bandwidth link between switch 103 and switch 107. To proceed quickly. Before receiving the first frame transmitted from the host 111, the storage device 153 that receives a frame transmitted thereafter may not be able to handle out-of-order frames.

図3A及び3Bは、スイッチ101における次のホップのセット及び次のホップの更新されたセットに関連した情報を示すルーティングテーブルを示している。図3Aは、スイッチ101において受信されたフレームに対する次のホップのセットと、スイッチ103とスイッチ107との間にリンクがまだ確立されていないネットワークとを示す。スイッチ101にフレームが受信されると、フレームの宛先を示す識別子を使用して、ルーティングテーブルのエントリーをリファレンスすることができる。一例において、フレームの宛先は、スイッチ107であり、そしてエントリー309をリファレンスして、次のホップのセットがスイッチ105であると決定することができる。受信したフレームの宛先がスイッチ101であると決定された場合には、ルーティングテーブルを使用して、スイッチ101に関連したプロセッサへフレームを通過させることができる。又、ルーティングテーブルを使用してフレームをドロップすることもできる。一例において、ナル値のような値を、次のホップのセットに入れて、ナル値に関連した宛先を有するフレームを、ルーティングテーブルをリファレンスしたときにドロップすることができる。特定の宛先をもつフレームをドロップするように指令するエントリーを、隣接(adjacency)ドロップと称する。   FIGS. 3A and 3B show a routing table that shows information related to the next set of hops and the updated set of next hops in the switch 101. FIG. 3A shows the next set of hops for the frame received at switch 101 and the network where the link between switch 103 and switch 107 has not yet been established. When a frame is received by the switch 101, an entry indicating the destination of the frame can be used to reference an entry in the routing table. In one example, the destination of the frame is switch 107 and the entry 309 can be referenced to determine that the next set of hops is switch 105. If it is determined that the destination of the received frame is the switch 101, the frame can be passed to the processor associated with the switch 101 using the routing table. It is also possible to drop frames using a routing table. In one example, a value, such as a null value, can be placed in the next set of hops and a frame with a destination associated with the null value can be dropped when referencing the routing table. An entry that instructs to drop a frame with a specific destination is referred to as an adjacency drop.

一実施形態では、スイッチがその一部分であるところの各仮想ストレージエリアネットワーク(VSAN)に対してルーティングテーブルが設けられる。ファイバーチャンネルスイッチは、多数の異なるVSANの一部分でよく、そしてスイッチに関連した各VSANに対してルーティングテーブルを設けられることに注意されたい。   In one embodiment, a routing table is provided for each virtual storage area network (VSAN) of which the switch is a part. Note that a Fiber Channel switch can be part of many different VSANs and a routing table is provided for each VSAN associated with the switch.

リンクが追加されてスイッチ103をスイッチ107に接続した後に、ルーティングテーブルが更新される。図3Bは、次のホップの更新されたセットを示すルーティングテーブルである。種々の実施形態に基づき、スイッチ107としてセットされた宛先を有するフレームを、エントリー329に基づきスイッチ103又はスイッチ105のいずれかに沿って転送することができる。安定したトポロジーでは、特定のフロー又は交換における全てのフレームが同じ経路をたどる。   After the link is added and the switch 103 is connected to the switch 107, the routing table is updated. FIG. 3B is a routing table showing the updated set of next hops. According to various embodiments, a frame having a destination set as switch 107 can be forwarded along either switch 103 or switch 105 based on entry 329. In a stable topology, all frames in a particular flow or exchange follow the same path.

ルーティングテーブルは、両方の経路を許してもよいし又は最良の経路を選択してもよいことに注意されたい。選択された最良の経路がスイッチ105の次のホップを有する場合には、次のホップの更新されたセットが、図3Aに示すように、リンクの変化の前の次のホップのセットと同じである。選択された経路が、スイッチ107の宛先をもつフレームに対するスイッチ103である場合には、次のホップの更新されたセットが、リンクの変化の前のルーティングテーブルにおける次のホップのセットとは異なる。次のホップの更新されたセットが次のホップの最初のセットと異なるかどうかを決定することは、特定のフレームをブロックすべきかドロップすべきか判断する上で有用である。一例において、特定シーケンスのフレームに対する経路が、ファイバーチャンネルファブロックにおけるリンクの変化の後も不変のままであれば、フレームはブロックもドロップもされない。フレームのシーケンスに対する経路が同じに保たれる場合には、フレームが宛先へ順序正しく配送される。フレームのシーケンスに対する経路が変化した場合には、フレームが順序ずれして配送されるおそれが生じる。   Note that the routing table may allow both routes or select the best route. If the selected best path has the next hop of switch 105, the updated set of next hops is the same as the next hop set prior to the link change, as shown in FIG. 3A. is there. If the selected route is switch 103 for a frame with the destination of switch 107, the updated set of next hops is different from the next hop set in the routing table prior to the link change. Determining whether the updated set of next hops is different from the first set of next hops is useful in determining whether a particular frame should be blocked or dropped. In one example, if the path for a particular sequence of frames remains unchanged after a link change in the Fiber Channel fablock, the frame is not blocked or dropped. If the path for the sequence of frames is kept the same, the frames are delivered in order to the destination. If the path to the sequence of frames changes, the frames may be delivered out of order.

ファイバーチャンネルフレームが配送される順序に影響し得るメカニズムの1つは、ファイバーチャンネルスイッチ内の待ち行列である。ホストから最初に送信されたフレームは、スイッチ105に関連した待ち行列に保持することができ、一方、ホストから後で送信されたフレームは、スイッチ103を経て迅速に配送することができる。図4は、種々の実施形態に基づき、ファイバーチャンネルスイッチに関連付けることのできる待ち行列を示す図である。1つの特定形式の待ち行列について説明するが、種々の入力及び出力ポートに関連した種々の異なる入力及び出力待ち行列を使用して、本発明の技術を実施できることに注意されたい。   One mechanism that can affect the order in which Fiber Channel frames are delivered is a queue within the Fiber Channel switch. Frames initially transmitted from the host can be held in a queue associated with the switch 105, while frames transmitted later from the host can be quickly delivered via the switch 103. FIG. 4 is a diagram illustrating a queue that can be associated with a Fiber Channel switch in accordance with various embodiments. Although one particular type of queue is described, it should be noted that the techniques of the present invention can be implemented using a variety of different input and output queues associated with different input and output ports.

スイッチ401は、外部ノード451、453、455及び457に接続される。スイッチ401は、各スイッチポートに関連した共有メモリのバッファ403を含む。バッファ403には、外部ノード451が関連される。外部ノード453、455及び457に関連したバッファは、明瞭化のために図示されていない。バッファ403は、外部ノード453、455及び457を宛先とするトラフィックと、外部ノード451へのループバックトラフィックとを保持することができる。   The switch 401 is connected to the external nodes 451, 453, 455, and 457. The switch 401 includes a shared memory buffer 403 associated with each switch port. An external node 451 is associated with the buffer 403. The buffers associated with external nodes 453, 455, and 457 are not shown for clarity. The buffer 403 can hold traffic destined for the external nodes 453, 455, and 457 and loopback traffic to the external node 451.

典型的な実施形態では、種々の外部ノードを宛先とするフレームは、全て、同じバッファ403に入れられる。その結果、スイッチ401が、外部ノード453のような特定ノードを宛先とする多量のフレームを受信するときには、外部ノード453に関連したフレームが全バッファ403を使用することができる。種々の実施形態に基づき、バッファ403に記憶されるフレームは、フレーム記述子待ち行列411−447のポインタによりリファレンスされる。各フレーム記述子は、フレームがバッファ403のどこに記憶されるか識別するポインタ又はリファレンスを含むことができる。共有バッファへのポインタ又はリファレンスを、ここでは、記述子と称する。又、記述子は、フレームプライオリティのような他の情報も識別できる。   In the exemplary embodiment, all frames destined for various foreign nodes are placed in the same buffer 403. As a result, when the switch 401 receives a large number of frames destined for a specific node such as the external node 453, the frame related to the external node 453 can use the entire buffer 403. According to various embodiments, frames stored in buffer 403 are referenced by pointers in frame descriptor queues 411-447. Each frame descriptor may include a pointer or reference that identifies where in the buffer 403 the frame is stored. A pointer or reference to a shared buffer is referred to herein as a descriptor. The descriptor can also identify other information such as frame priority.

一例において、アービトレーター405は、ラウンドロビン方法を使用してフレームを選択する。第1ラウンドにおいては、外部ノード453を宛先とするフレームが選択される。第2ラウンドにおいては、外部ノード455を宛先とするフレームが選択され、等々となる。より詳細には、アービトレーター405は、最初、外部ノード453を宛先とする記述子411に関連した高プライオリティフレームを選択し、次いで、外部ノード455を宛先とする記述子421に関連した高プライオリティフレームを選択し、次いで、外部ノード457を宛先とする記述子431に関連した高プライオリティフレームを選択し、等々とすることができる。当業者に明らかなように、フレームを選択するための種々の技術を使用できることに注意されたい。   In one example, the arbitrator 405 selects a frame using a round robin method. In the first round, a frame destined for the external node 453 is selected. In the second round, frames destined for external node 455 are selected, and so on. More specifically, the arbitrator 405 first selects the high priority frame associated with the descriptor 411 destined for the external node 453 and then the high priority frame associated with the descriptor 421 destined for the external node 455. And then the high priority frame associated with descriptor 431 destined for external node 457, and so on. It should be noted that various techniques for selecting frames can be used, as will be apparent to those skilled in the art.

宛先に基づいて配分されるバッファを有する待ち行列システムを、ここでは、仮想出力待ち行列(VOQ)と称する。VOQは、全ての目的で全体を参考としてここに援用する1988年6月のProc.Of 15th Ann.Symp.on Comp.Archの第343−354ページに掲載されたタミルY、フラジアG著の「High Performance multi-queue buffers for VLSI communications switches」に詳細に説明されている。2つのノード間の特定の特性をもつトラフィックを識別する抽象的なものを、ここで、フローと称する。一例において、フローは、ソース識別子、宛先識別子、プライオリティ、クラス、及び交換識別子によってリファレンスされる。他の特性も可能である。しかしながら、フローは、ソース及び宛先識別子のみでリファレンスされてもよいことに注意されたい。   A queuing system having buffers that are allocated based on destination is referred to herein as a virtual output queue (VOQ). VOQ is a Proc. Of June 1988, incorporated herein by reference in its entirety for all purposes. Of 15th Ann. Symp. on Comp. It is described in detail in “High Performance multi-queue buffers for VLSI communications switches” by Tamil Y and Fragia G, published on pages 343-354 of Arch. An abstraction that identifies traffic with certain characteristics between two nodes is referred to herein as a flow. In one example, a flow is referenced by a source identifier, a destination identifier, a priority, a class, and an exchange identifier. Other characteristics are possible. Note, however, that flows may be referenced only with source and destination identifiers.

種々の実施形態に基づき、特定フローのフレームは、バッファ403がいっぱいであるためにブロックされることがある。同じシーケンスのフレームに対して別のルートが設けられる場合には、混雑したスイッチに留まっているフレームよりも、後のフレームの方がファイバーチャンネルファブリックを迅速に横断できることがある。一実施形態では、先のフレームを宛先に最初に到達させるために、別のルートに沿った後のフレームをブロックすることができる。最初に送信されるフレームを、ここでは、先のフレームと称し、一方、ソースにより後から送信されるフレームを、ここでは、後のフレームと称する。多数のメカニズムを使用して、後のフレームをブロックすることができる。一実施形態では、アービトレーター405は、外部ノードへ送信するためのシーケンスのフレームを単に選択しなくてもよい。別の実施形態では、後のフレームは、ある時間周期が経過するまで、送信スケジューリングのために待ち行列に全く入れられなくてもよい。   According to various embodiments, frames of a particular flow may be blocked because buffer 403 is full. If another route is provided for the same sequence of frames, later frames may be able to traverse the Fiber Channel fabric more quickly than frames that remain in a congested switch. In one embodiment, a later frame along another route can be blocked to make the earlier frame reach the destination first. The frame transmitted first is referred to herein as the previous frame, while the frame transmitted later by the source is referred to herein as the subsequent frame. A number of mechanisms can be used to block later frames. In one embodiment, the arbitrator 405 may not simply select a sequence of frames for transmission to an external node. In another embodiment, later frames may not be queued at all for transmission scheduling until a certain period of time has elapsed.

時間周期は、多数のやり方で決定することができる。種々の実施形態に基づき、ファイバーチャンネルスイッチは、フレームがドロップされるまで、ファイバーチャンネルスイッチのレイテンシー以下でフレームをバッファするように構成される。しかしながら、あるスイッチは、ファイバーチャンネルスイッチのレイテンシーが経過した後にフレームをドロップしなくてもよいことに注意されたい。一実施形態では、フレームがスイッチ内のバッファにレイテンシー周期より長く保持される場合に、フレームは、仮想出力待ち行列から出されてドロップされる。ファイバーチャンネルスイッチのレイテンシーは、スイッチングの速度及びネットワークの混雑に依存する。フレームがドロップされるまでにファイバーチャンネルスイッチにおいて費やし得る時間の量を、ここでは、ファイバーチャンネルスイッチレイテンシーと称する。   The time period can be determined in a number of ways. According to various embodiments, the Fiber Channel switch is configured to buffer the frame at or below the Fiber Channel switch latency until the frame is dropped. Note, however, that some switches may not drop frames after the fiber channel switch latency has elapsed. In one embodiment, a frame is removed from the virtual output queue and dropped if the frame is held in a buffer in the switch for longer than the latency period. Fiber Channel switch latency depends on switching speed and network congestion. The amount of time that can be spent in the Fiber Channel switch before the frame is dropped is referred to herein as Fiber Channel switch latency.

フレームがドロップされるまでにファイバーチャンネルネットワークにおいて費やし得る時間の量を、ここでは、ファイバーチャンネルファブリックドレインレイテンシー又はネットワークドレインレイテンシーと称する。種々の実施形態に基づき、ファイバーチャンネルファブリックドレインレイテンシー又はネットワークドレインレイテンシーは、ファイバーチャンネルスイッチレイテンシーに、フレームがファイバーチャンネルファブリックを横断するのに要する最大ホップ数を乗算することにより、計算される。ファイバーチャンネルスイッチレイテンシー及びファイバーチャンネルファブリックドレインレイテンシーを決定するための種々様々な技術が意図される。   The amount of time that can be spent in the Fiber Channel network before a frame is dropped is referred to herein as the Fiber Channel fabric drain latency or network drain latency. According to various embodiments, the fiber channel fabric drain latency or network drain latency is calculated by multiplying the fiber channel switch latency by the maximum number of hops required for the frame to traverse the fiber channel fabric. A wide variety of techniques for determining Fiber Channel switch latency and Fiber Channel fabric drain latency are contemplated.

図5は、接続されたホスト又はディスクから到着するフレームの転送を示すプロセスフローチャートである。501において、ファイバーチャンネルファブリックのリンクの変化が検出される。上述したように、ファイバーチャンネルファブロックのリンクの変化は、ファイバーチャンネル装置へのフレームシーケンスの順序ずれした配送を招くことになる。種々の実施形態によれば、ファイバーチャンネルファブリックのリンクの変化は、リンク更新メッセージの受信又はリンク更新メッセージの送信に基づいて検出することができる。503において、新たなリンク状態情報に基づいて宛先ごとに次のホップの更新されたセットが発生される。次のホップの更新されたセットは、ファイバーチャンネルショーテストパスファースト(FSPF)のようなアルゴリズムを使用して発生することができる。ネットワークトポロジーに関する新たな情報により、スイッチは、特定の宛先へフレームを送信するのに何が最良の経路であるか決定できるのがよい。505において、次のホップのセットが次のホップの更新されたセットに等しいかどうか宛先ごとに決定される。507において、次のホップの全てのセットがそれに対応する次のホップの更新されたセットに等しいことが決定されると、何のアクションも行なわれない。   FIG. 5 is a process flowchart illustrating the transfer of frames arriving from a connected host or disk. At 501, a change in the fiber channel fabric link is detected. As described above, a change in the link of the fiber channel fablock results in an out-of-order delivery of the frame sequence to the fiber channel device. According to various embodiments, a change in the fiber channel fabric link may be detected based on receipt of a link update message or transmission of a link update message. At 503, an updated set of next hops is generated for each destination based on the new link state information. The updated set of next hops can be generated using an algorithm such as Fiber Channel Shortest Path First (FSPF). With new information about the network topology, the switch should be able to determine what is the best route to send a frame to a particular destination. At 505, it is determined for each destination whether the next hop set is equal to the updated set of next hops. If it is determined at 507 that all sets of next hops are equal to the updated set of corresponding next hops, no action is taken.

例えば、フレームを宛先へ送信するための元の経路がスイッチ103及び107を通る一方、フレームを宛先へ送信するための新たな経路もスイッチ103及び107を通る場合には、何のアクションも必要ない。しかしながら、フレームを宛先へ送信するための更新された経路が105及び107である場合には、次のホップの更新されたセットが、次のホップの元のセットに等しくない。ブロッキング及びドロッピングメカニズムを適用することができる。509において、次のホップのセットがそれに対応する次のホップの更新されたセットとは異なる各行き先に対し、その宛先を有するフレームを送信するための待ち行列又は仮想出力待ち行列がブロックされる。種々の実施形態によれば、仮想出力待ち行列をブロックすることは、フレームを次のホップへ送信することを伴わない。511において、次のホップの更新されたセットを使用してルーティングテーブルが更新される。次のホップのセットに変化を伴う待ち行列は、513において、ファブリックドレインレイテンシー又はファブリックドレイン周期の間にブロックすることができる。   For example, if the original route for sending a frame to the destination passes through the switches 103 and 107, but no new route for sending the frame to the destination also passes through the switches 103 and 107, no action is required. . However, if the updated paths for sending the frame to the destination are 105 and 107, the updated set of next hops is not equal to the original set of next hops. Blocking and dropping mechanisms can be applied. At 509, for each destination whose next hop set is different from its corresponding updated set of next hops, the queue or virtual output queue for sending frames with that destination is blocked. According to various embodiments, blocking the virtual output queue does not involve sending the frame to the next hop. At 511, the routing table is updated using the updated set of next hops. Queues with changes to the next set of hops can be blocked at 513 during a fabric drain latency or fabric drain period.

ファブリックドレインレイテンシーは、混雑したネットワークスイッチにまだ留まっている先のパケットが配送されるか又はネットワークからドロップされる時間を許す。各仮想出力待ち行列に異なるファブリックドレイン周期が関連してもよいし、或いは単一のファブリックドレイン周期が全ての仮想出力待ち行列に適用されてもよい。ファブリックドレイン周期が経過した後に、ブロックされた待ち行列は、515においてブロック解除される。ブロックされた待ち行列における後のフレームは、先のフレームがドロップされるか又は宛先へ配送されているので、今や送信することができる。後のフレームは、先に送信されたフレームが依然ネットワークにあって順序ずれした状態で宛先へ到着するのを待機しているという危険性を伴わずに、宛先へ送信することができる。   Fabric drain latency allows time for earlier packets that still remain in a congested network switch to be delivered or dropped from the network. A different fabric drain period may be associated with each virtual output queue, or a single fabric drain period may be applied to all virtual output queues. After the fabric drain period has elapsed, the blocked queue is unblocked at 515. Later frames in the blocked queue can now be sent because the previous frame has been dropped or delivered to the destination. Later frames can be transmitted to the destination without the risk of waiting for the previously transmitted frame to arrive at the destination in an out-of-order state in the network.

図5に示した技術は、宛先ベースで、VSANごとに、ファイバーチャンネルファブリックのいかなるポートに適用することもできる。しかしながら、種々の実施形態に基づき、図5に示す技術は、スイッチをホスト又はディスクに接続するエッジポートに適用される。エッジポートに対する技術は、潜在的にドロップされることになるトラフィックの注入を回避するためにトラフィックをブロックすることに集中される。   The technique shown in FIG. 5 can be applied to any port of the Fiber Channel fabric on a destination basis, per VSAN. However, based on various embodiments, the technique shown in FIG. 5 is applied to an edge port that connects the switch to a host or disk. Techniques for edge ports focus on blocking traffic to avoid injecting traffic that would potentially be dropped.

図6は、ファイバーチャンネルスイッチ間のフレームの転送を示すプロセスフローチャートである。601において、ファイバーチャンネルファブリックのリンクの変化が検出される。603において、次のホップの更新されたセットが宛先ごとに計算される。605において、次のホップのセットが次のホップの更新されたセットに等しいかどうか宛先ごとに決定される。607において、次のホップの全てのセットがそれに対応する次のホップの更新されたセットに等しい場合には、何のアクションも行なわれない。次のホップのセットがそれに対応する次のホップの更新された全てのセットに等しくない場合には、次のホップの変化したセットに関連した宛先を有するフレームが609においてドロップされる。   FIG. 6 is a process flowchart illustrating the transfer of frames between fiber channel switches. At 601, a change in the fiber channel fabric link is detected. At 603, an updated set of next hops is calculated for each destination. At 605, it is determined for each destination whether the next set of hops is equal to the updated set of next hops. At 607, if all sets of next hops are equal to the updated set of corresponding next hops, no action is taken. If the next set of hops is not equal to the corresponding updated set of next hops, the frame with the destination associated with the changed set of next hops is dropped at 609.

ルーティングテーブルは、611において更新することができ、そしてファイバーチャンネルスイッチは、613において、仮想出力待ち行列に関連した対応するファブリックドレイン周期を待機する。ファブリックドレイン周期が特定の待ち行列に対して経過した後に、そのファブリックドレイン周期に関連した待ち行列に入れられるフレームが、ドロップされるのではなく、ここで転送される。   The routing table can be updated at 611 and the Fiber Channel switch waits at 613 for the corresponding fabric drain period associated with the virtual output queue. After the fabric drain period has elapsed for a particular queue, the frames that are placed in the queue associated with that fabric drain period are now forwarded rather than dropped.

上述したように、本発明の技術は、ファイバーチャンネルファブリックにおいてリンクの変化を検出した際にファイバーチャンネルフレームを順序正しく配送するのに適用することができる。通常、新たなノード又は新たなリンクが追加されるか、或いは古いノード又は古いリンクがファイバーチャンネルトポロジーから除去されるときには、ファイバーチャンネルフレームが順序ずれして配送されるおそれが生じる。   As described above, the technique of the present invention can be applied to orderly deliver Fiber Channel frames when link changes are detected in the Fiber Channel fabric. Typically, when new nodes or new links are added or old nodes or old links are removed from the Fiber Channel topology, there is a risk that Fiber Channel frames will be delivered out of order.

しかしながら、ネットワークトポロジーの変化は、順序ずれした配送を引き起こす唯一の事象ではない。2つのスイッチ間のチャンネルの変化も、順序ずれしたフレーム配送を引き起こすことになる。   However, a change in network topology is not the only event that causes out-of-order delivery. Channel changes between the two switches can also cause out-of-order frame delivery.

図7は、順序ずれした配送を引き起こし得るチャンネル変化を示す図である。スイッチ107及び109は、最初は、チャンネル709を形成する冗長リンク701、703及び705を経て相互接続されてもよい。スイッチ107と109との間に進行するトラフィックは、公平さ及び負荷バランス等のファクタに基づいてチャンネル709内の異なるリンクにわたって分散することができる。別の例では、送信及び受信スイッチにおいて同一のハッシュ関数を使用して、どんなリンクに次にアクセスすべきか決定することができる。同一のハッシュ関数を使用すると、順序正しい配送を与えることができる。   FIG. 7 illustrates channel changes that can cause out-of-order delivery. Switches 107 and 109 may initially be interconnected via redundant links 701, 703 and 705 that form channel 709. Traffic traveling between switches 107 and 109 can be distributed across different links in channel 709 based on factors such as fairness and load balance. In another example, the same hash function can be used at the transmit and receive switches to determine what link to access next. Using the same hash function can provide in-order delivery.

新たなリンク707を追加して、更新されたチャンネル711が形成されると、より多くのリンクをスイッチ107とスイッチ109との間の送信に使用できるようになる。しかしながら、ネットワークトポロジーの変化が生じないことに注意されたい。スイッチ107及び109は、ファイバーチャンネルファブリックに依然接続されている。種々の実施形態によれば、チャンネルが変化したときにルーティングテーブルへの変化又は更新は必要とされない。ルーティングテーブルは、スイッチ107からスイッチ109へフレームを転送することを単に指令するだけである。スイッチ107からスイッチ109への転送は、更新されたチャンネル711を形成するように元のチャンネル709に新たなチャンネル707を追加することにより影響されない。   As new links 707 are added to form the updated channel 711, more links can be used for transmission between the switch 107 and the switch 109. Note, however, that no change in network topology occurs. Switches 107 and 109 are still connected to the fiber channel fabric. According to various embodiments, no changes or updates to the routing table are required when the channel changes. The routing table simply commands the transfer of frames from switch 107 to switch 109. Transfer from switch 107 to switch 109 is not affected by adding a new channel 707 to the original channel 709 to form an updated channel 711.

しかしながら、チャンネルにリンクを追加すると、ファイバーチャンネルフレームの順序ずれした配送を引き起こすことがある。シーケンス番号1−6をもつフレームがリンク701、703又は705を経て送信される前記例を使用すると、シーケンス番号7及び8をもつフレームがリンク707に沿って送信される。リンク707は、混雑していないか、又はフレーム1−6の到着前にシーケンス番号7及び8をもつフレームがスイッチ109を去るのを許す高帯域巾リンクでよい。本発明の技術は、スイッチ109の下流のスイッチ及びノードへ順序正しい配送を許すためにファイバーチャンネルフレームのブロッキング及びドロッピングを行なう。ブロッキングは、ここでは、遅延とも称する。   However, adding a link to a channel may cause out-of-order delivery of fiber channel frames. Using the example in which frames with sequence numbers 1-6 are transmitted over links 701, 703 or 705, frames with sequence numbers 7 and 8 are transmitted along link 707. Link 707 may be a high-bandwidth link that is not congested or that allows frames with sequence numbers 7 and 8 to leave switch 109 before the arrival of frames 1-6. The technique of the present invention performs fiber channel frame blocking and dropping to allow in-order delivery to switches and nodes downstream of switch 109. Blocking is also referred to herein as delay.

上述したように、チャンネルが変化しても、スイッチ107とスイッチ109との間にはリンクが依然存在するので、ルーティングテーブルは、必ずしも変化しない。フレームを送信するためのチャンネルにどんなリンクが使用できるか決定するためのロジック及びメカニズムを、ここでは、転送チャンネルテーブルと称する。転送チャンネルテーブルは変化し得ることに注意されたい。図8Aは、スイッチ107に対する転送チャンネルテーブルを示す。次のホップ109に対して、エントリー803は、リンク701、703及び705を使用して、スイッチ107から次のホップ109へフレームを送信できることを示す。   As described above, even if the channel changes, the link still exists between the switch 107 and the switch 109, so the routing table does not necessarily change. The logic and mechanism for determining what links are available for the channel for transmitting frames is referred to herein as the forwarding channel table. Note that the forwarding channel table can vary. FIG. 8A shows a transfer channel table for the switch 107. For the next hop 109, the entry 803 indicates that the link 701, 703, and 705 can be used to transmit a frame from the switch 107 to the next hop 109.

図8Bは、チャンネルが変化した後のスイッチ107に対する転送チャンネルテーブルを示す。チャンネルの変化が生じた後に、エントリー813は、リンク701、703、705及び707を使用して、スイッチ107から次のホップ109へフレームを送信できるという情報を与える。   FIG. 8B shows the transfer channel table for switch 107 after the channel has changed. After a channel change occurs, entry 813 provides information that links 701, 703, 705, and 707 can be used to send frames from switch 107 to the next hop 109.

図9は、種々の実施形態に基づくチャンネル変化の間のフレームの転送を示すプロセスフローチャートである。901において、スイッチは、チャンネルの変化を検出する。1つ以上のリンクを追加又は除去すると、チャンネルに変化が生じる。903において、ルーティングテーブルの次のホップに基づいてチャンネルに向けられたトラフィックがドロップされる。一実施形態では、チャンネルを経て送信するように向けられたがまだ待ち行列に入れられていないトラフィックがドロップされ、チャンネルの変化を受け入れるように転送チャンネルテーブルを変更することが許される。しかしながら、既に待ち行列に入れられたトラフィックは保持される。上述したように、既に待ち行列に入れられたトラフィックは、特定のフローに関連した仮想出力待ち行列に存在してもよい。905において、チャンネル内のリンクに沿って送信するための待ち行列がマークされそしてブロックされる。一例において、待ち行列をマークしそしてブロックすることは、スイッチドレインレイテンシー時間周期中に新たなフレームをブロッキングしながら、待ち行列に既に入れられた全てのフレームの送信を許すことを含む。   FIG. 9 is a process flowchart illustrating the transfer of frames during channel changes in accordance with various embodiments. At 901, the switch detects a channel change. Adding or removing one or more links causes a change in the channel. At 903, traffic destined for the channel based on the next hop in the routing table is dropped. In one embodiment, traffic that has been directed to transmit over a channel but has not yet been queued is dropped, allowing the forwarding channel table to be modified to accept the channel change. However, traffic that has already been queued is retained. As described above, traffic that has already been queued may reside in a virtual output queue associated with a particular flow. At 905, the queue for transmission along the link in the channel is marked and blocked. In one example, marking and blocking the queue includes allowing transmission of all frames already queued while blocking new frames during the switch drain latency time period.

次いで、907において、チャンネルにリンクを追加及び/又は除去するように転送チャンネルテーブルを更新することができる。909において、903で既にドロップされたチャンネルに向けられるトラフィックは、ここで、待ち行列に入ることが許される。次いで、スイッチは、911において、変更されたファイバーチャンネルスイッチドレインレイテンシー中、待機することができる。種々の実施形態に基づき、変更されたファイバーチャンネルスイッチドレインレイテンシーは、標準的なファイバーチャンネルスイッチドレインレイテンシーより長く、待ち行列に既に入れられた全てのフレームを、ドロップするのではなく、転送できるようにする。913では、チャンネル内のリンクに関連した待ち行列が解除され、そして待ち行列の全てのフレームが送信されるか、或いはフレームが古過ぎる場合はドロップされて、新たなフレームシーケンスをここで順序正しく配送することができる。   The forwarding channel table can then be updated at 907 to add and / or remove links to the channel. At 909, traffic destined for the channel that was already dropped at 903 is now allowed to queue. The switch can then wait at 911 during the changed Fiber Channel switch drain latency. According to various embodiments, the modified Fiber Channel switch drain latency is longer than the standard Fiber Channel switch drain latency, so that all frames already queued can be forwarded rather than dropped. To do. At 913, the queue associated with the link in the channel is released and all frames in the queue are transmitted, or dropped if the frame is too old, and the new frame sequence is now delivered in order. can do.

フレームを遅延するようなメカニズムを種々の実施形態に基づき使用できるが、本発明の技術は、ラベルを使用してファイバーチャンネルフレームの順序正しい配送を与えることも意図している。ラベルを使用する多数の理由の1つは、ルーティングテーブルのエントリーにアクセスするための高速メカニズムをラベルが果たすことである。宛先のアドレスを見るのではなく、宛先識別子は、「入力ラベル」であり、即ちルーティングテーブルのエントリーを迅速にリファレンスするために使用できる受信ラベルである。ラベルは、種々の他の理由でも使用できる。ファイバーチャンネルネットワークにラベルを使用することは、全ての目的で参考として全体をここに援用する発明者スコットS.リー及びディネッシュGダットによる「Label Switching in Fibre Channel Networks」と題する同時に出願された米国特許出願第10/114,394号(代理人ドケット番号第ANDIP009号)に説明されている。ラベルスイッチングを実施するためのアーキテクチャーの一例は、全ての目的で参考として全体をここに援用するRFC3031に説明されたマルチプルプロトコルラベルスイッチング(MPLS)である。   While mechanisms such as delaying frames can be used in accordance with various embodiments, the techniques of the present invention are also intended to provide in-order delivery of fiber channel frames using labels. One of the many reasons for using labels is that they provide a fast mechanism for accessing routing table entries. Rather than looking at the address of the destination, the destination identifier is an “input label”, ie, a received label that can be used to quickly reference entries in the routing table. Labels can also be used for various other reasons. The use of labels in a Fiber Channel network is based on the inventor Scott S., who is hereby incorporated by reference in its entirety for all purposes. No. 10 / 114,394 (Attorney Docket No. ANDIP009), filed concurrently with Lee and Dinesh G. Dat, entitled “Label Switching in Fiber Channel Networks”. An example of an architecture for implementing label switching is Multiple Protocol Label Switching (MPLS) described in RFC 3031, which is hereby incorporated by reference in its entirety for all purposes.

図10は、フレームに関連したラベルに基づきパケットを転送することのできるラベルスイッチングルーターを含むファイバーチャンネルネットワークを示す図である。宛先アドレスを含むのに加えて、フレームは、スイッチがルーティングテーブルのエントリーに迅速にアクセスできるようにする受信ラベルとも称される入力ラベルを宛先識別子として含む。例えば、ラベルスイッチングルーター1004は、2の宛先及び420の入力ラベルをもつフレームを受信することができる。図10−12において、1−5の宛先又は次のホップは、スイッチ1001−1005を指すことに注意されたい。ラベルスイッチングルーター1004は、そのルーティングテーブル1014にアクセスして、次のホップがラベルスイッチングルーター1002であり且つ「出力ラベル」が220でなければならないことを確認する。出力ラベルは、送信ラベルとも称される。種々の実施形態によれば、ラベルスイッチングルーター1004は、ルーティングテーブルの入力ラベルに対応する420のフレームラベル値を、ルーティングテーブル1014の出力ラベルに対応する220のフレームラベルに置き換える。   FIG. 10 is a diagram illustrating a fiber channel network including a label switching router that can forward a packet based on a label associated with a frame. In addition to including the destination address, the frame includes an input label, also called a received label, that allows the switch to quickly access the routing table entries as a destination identifier. For example, the label switching router 1004 may receive a frame with 2 destinations and 420 input labels. Note that in FIGS. 10-12, 1-5 destination or next hop refers to switches 1001-1005. The label switching router 1004 accesses its routing table 1014 and confirms that the next hop must be the label switching router 1002 and the “output label” should be 220. The output label is also referred to as a transmission label. According to various embodiments, the label switching router 1004 replaces the 420 frame label value corresponding to the input label of the routing table with the 220 frame label corresponding to the output label of the routing table 1014.

ラベル値を置き換えることにより、ラベルスイッチングルーター1004は、次のホップのルーター1002へラベル情報を与えて、ラベルスイッチングルーター1002がルーティングテーブルエントリーに同様に迅速にアクセスするのを許す。ルーティングテーブルのエントリーに迅速にアクセスするためにラベルスイッチングを与えることができるが、ラベルスイッチングは、種々の理由で使用できることに注意されたい。本発明の技術は、ラベルを使用することによりフレームを順序正しく配送できるようにする。   By replacing the label value, the label switching router 1004 provides label information to the next hop router 1002 to allow the label switching router 1002 to quickly access the routing table entry as well. It should be noted that although label switching can be provided for quick access to routing table entries, label switching can be used for a variety of reasons. The technique of the present invention allows frames to be delivered in order by using labels.

ラベルスイッチングルーター1002がラベルスイッチングルーター1004からフレームを受信すると、ラベルスイッチングルーターは、ラベル220を使用して、ルーティングテーブル1012のエントリーにアクセスする。入力ラベル220を使用して、ラベルスイッチングルーター1002は、フレームが最終的なホップスイッチに到着し、もはや別のスイッチへ転送する必要がないことを確認する。次いで、フレームは、ホスト又はディスクである最終的な宛先へ転送することができる。   When the label switching router 1002 receives a frame from the label switching router 1004, the label switching router uses the label 220 to access an entry in the routing table 1012. Using the input label 220, the label switching router 1002 confirms that the frame has arrived at the final hop switch and no longer needs to be forwarded to another switch. The frame can then be transferred to the final destination, which is the host or disk.

種々の技術を使用して、ラベルをもつルーティングテーブルを発生することができる。一実施形態では、ルーティングテーブルは、FSPFプロトコルのもとでリンク状態更新パケットを受信した際に発生される。ルーティングテーブルは、周期的に発生することもできるし、又はリンク状態の変化を識別したときに発生することもできる。種々の実施形態に基づき、新たに発生されたルーティングテーブルは、インカーネーション番号に関連付けされる。ファイバーチャンネルファブリックにおける全てのインカーネーション番号の組合せを、ここでは、トポロジーバージョン番号と称する。一実施形態において、新たなルーティングテーブルがスイッチにおいて発生されるたびに、インカーネーション番号は1だけ増加される。種々の実施形態に基づき、ファイバーチャンネルネットワークにおける各ラベルスイッチングルーターは、各宛先に向かい新たな転送ルーターを発生するだけでなく、各ラベルスイッチングルーターは、入力ラベルの以前のセットとは異なる新たな入力ラベルも発生する。   Various techniques can be used to generate a routing table with a label. In one embodiment, the routing table is generated when a link state update packet is received under the FSPF protocol. The routing table can be generated periodically or when a link state change is identified. According to various embodiments, the newly generated routing table is associated with an incarnation number. All incarnation number combinations in the Fiber Channel fabric are referred to herein as topology version numbers. In one embodiment, the incarnation number is incremented by 1 each time a new routing table is generated at the switch. In accordance with various embodiments, each label switching router in the Fiber Channel network not only generates a new forwarding router towards each destination, but each label switching router also has a new input that is different from the previous set of input labels. Labels are also generated.

図11は、リンク状態の変化中のラベルスイッチングルーターを示す図である。ここでは、ラベルスイッチングルーター1004とラベルスイッチングルーター1001との間のリンクがもはや使用できない。リンク状態更新パケット又はリンク状態記録は、ファイバーチャンネルファブリック全体にわたって伝播される。ラベルスイッチングルーター1004からラベルスイッチングルーター1001へ送信するために、ラベルスイッチングルーター1004は、ラベルスイッチングルーター1001へもはや直接転送することができない。むしろ、ラベルスイッチングルーター1004は、ラベルスイッチングルーター1002又はラベルスイッチングルーター1003のいずれかに向ってフレームを送信する。新たなルーターは、ルーティングテーブル1114において反映される。ラベルスイッチングルーター1004は、次のホップの新たなセットをもつ新たなルーティングテーブル1114を発生し、そして古い入力ラベル410に置き換わる新たな入力ラベル411を発生する。   FIG. 11 is a diagram illustrating the label switching router during the change of the link state. Here, the link between the label switching router 1004 and the label switching router 1001 can no longer be used. Link state update packets or link state records are propagated throughout the fiber channel fabric. The label switching router 1004 can no longer directly transfer to the label switching router 1001 for transmission from the label switching router 1004 to the label switching router 1001. Rather, the label switching router 1004 transmits the frame toward either the label switching router 1002 or the label switching router 1003. The new router is reflected in the routing table 1114. The label switching router 1004 generates a new routing table 1114 with a new set of next hops, and generates a new input label 411 that replaces the old input label 410.

種々の実施形態に基づき、ラベルスイッチングルーター1004は、ファイバーチャンネルファブリックにおける他のラベルスイッチングルーターへラベルスイッチングコントロールメッセージを送信し、古い410入力ラベルを除去する。ファイバーチャンネルファブリックにおける他のラベルスイッチングルーターへ送信されたラベルスイッチングコントロールメッセージは、トポロジーバージョン番号を含む。一実施形態において、他のラベルスイッチングルーターは、ラベルスイッチングコントロールメッセージのトポロジーバージョン番号がルーティングテーブルのトポロジーバージョン番号に一致することを照合する。ラベルスイッチングコントロールメッセージのトポロジーバージョン番号が特定のラベルスイッチングルーターにおけるルーティングテーブルのトポロジーバージョン番号に一致しないか、又はコントロールメッセージが古いバージョン番号を含む場合には、そのラベルスイッチングコントロールメッセージが破棄される。   According to various embodiments, the label switching router 1004 sends a label switching control message to other label switching routers in the fiber channel fabric to remove the old 410 input label. The label switching control message sent to other label switching routers in the fiber channel fabric includes the topology version number. In one embodiment, the other label switching router verifies that the topology version number of the label switching control message matches the topology version number of the routing table. If the topology version number of the label switching control message does not match the topology version number of the routing table at a particular label switching router, or if the control message contains an old version number, the label switching control message is discarded.

ラベルスイッチングコントロールメッセージのトポロジーバージョン番号が特定のラベルスイッチングルーターにおけるルーティングテーブルのトポロジーバージョン番号より新しい場合には、ラベルスイッチングコントロールメッセージを記憶し、そしてルーティングテーブルの新たなバージョンが使用できるときに後で使用することができる。   If the topology version number of the label switching control message is newer than the topology version number of the routing table at a particular label switching router, store the label switching control message and use it later when a new version of the routing table is available can do.

トポロジーバージョン番号が一致する場合には、ラベルスイッチングコントロールメッセージを受信するラベルスイッチングルーターが古いラベルを除去することができる。例えば、ラベルスイッチングルーター1004が、古い入力ラベル410に置き換わる新たな入力ラベル411を発生し、そして古いラベルを回収するためのラベルスイッチングコントロールメッセージをラベルスイッチングルーター1002へ送信する場合に、ラベルスイッチングルーター1002は、1の宛先ID及び4の次のホップに関連した出力ラベル410を除去する。種々の実施形態に基づき、古いラベルを除去するためのラベルスイッチングコントロールメッセージを、ここでは、ラベル回収メッセージと称する。   If the topology version numbers match, the label switching router that receives the label switching control message can remove the old label. For example, if the label switching router 1004 generates a new input label 411 that replaces the old input label 410 and sends a label switching control message to the label switching router 1002 to retrieve the old label, the label switching router 1002 Removes the output label 410 associated with 1 destination ID and 4 next hops. According to various embodiments, a label switching control message for removing old labels is referred to herein as a label retrieval message.

出力ラベルは分析されないが、ファイバーチャンネルフレームは、ファイバーチャンネルフレームの順序ずれした配送を防止するためにドロップされる。図11及び12において、「?」は、ラベルが分析されないことを指示するのに使用される。例えば、ラベルスイッチングルーター1005がフレーム1及び2をラベルスイッチングルーター101に送信し、最終的にラベルスイッチングルーター1004へ到達させると仮定する。ラベルスイッチングルーター1001とラベルスイッチングルーター1004との間のリンクがフェイルした後に、ラベルスイッチングルーター1005がフレーム3及び4をラベルスイッチングルーター1002へ送信して、最終的にラベルスイッチングルーター1004に到達させる。フレーム1及び2がドロップしない場合には、それらは、フレーム3及び4の後にラベルスイッチングルーター1004に到達することができる。しかしながら、宛先ラベルスイッチングルーター1004に対するラベルスイッチングルーター1001の出力ラベルは、リンクがフェイルした後に分析されないので、フレーム1及び2がドロップされ、そしてフレーム3及び4は、ラベルスイッチングルーター1004に順序正しく到着することができる。換言すれば、ルーティングテーブル1111における宛先4に関連した出力ラベル440は、もはや正確ではないので、フレーム1及び2をドロップすることができる。   Output labels are not analyzed, but Fiber Channel frames are dropped to prevent out-of-order delivery of Fiber Channel frames. In FIGS. 11 and 12, “?” Is used to indicate that the label is not analyzed. For example, assume that the label switching router 1005 sends frames 1 and 2 to the label switching router 101 and finally reaches the label switching router 1004. After the link between the label switching router 1001 and the label switching router 1004 fails, the label switching router 1005 transmits frames 3 and 4 to the label switching router 1002 and finally reaches the label switching router 1004. If frames 1 and 2 do not drop, they can reach label switching router 1004 after frames 3 and 4. However, since the output label of the label switching router 1001 for the destination label switching router 1004 is not analyzed after the link fails, frames 1 and 2 are dropped, and frames 3 and 4 arrive at the label switching router 1004 in order. be able to. In other words, the output label 440 associated with destination 4 in the routing table 1111 is no longer accurate, so frames 1 and 2 can be dropped.

出力ラベルを分析するために、ラベルスイッチングルーター1004は、入力ラベル411を含む新たな入力ラベルを、ラベルスイッチングルーター1002のような他のラベルスイッチングルーターへアドバータイズする。新たなラベルを追加するためのラベルスイッチングコントロールメッセージは、ラベルマッピングメッセージと称する。一例において、ラベルスイッチングルーター1004は、ラベルを有するラベルマッピングメッセージをラベルスイッチングルーター1002へ送信する。ラベルスイッチングルーター1002に受信されたラベルマッピングメッセージは、4の次のホップ及び1の宛先に関連した新たな出力ラベルとして新たな入力ラベル411を使用するようにラベルスイッチングルーター1002に命令することができる。   To analyze the output label, the label switching router 1004 advertises the new input label including the input label 411 to another label switching router such as the label switching router 1002. A label switching control message for adding a new label is referred to as a label mapping message. In one example, the label switching router 1004 sends a label mapping message with a label to the label switching router 1002. The label mapping message received by the label switching router 1002 can instruct the label switching router 1002 to use the new input label 411 as the new output label associated with the 4 next hops and 1 destination. .

図12は、出力ラベルがまだ完全に分析されないファイバーチャンネルファブリックにおけるラベルスイッチングルーターを示す図である。ラベルスイッチングルーター1004は、入力ラベル410、420、430、440及び450の古いセットを、入力ラベル411、421、431、441及び451の更新されたスタックに各々置き換えたルーティングテーブル1214を発生している。又、ラベルスイッチングルーター1004は、その出力ラベルを分析しており、そして出力ラベル110、110、220、330、250及び350を、新たな出力ラベル211、311、221、331、251及び351に置き換えている。種々の実施形態に基づき、ラベルスイッチングルーター1004が、他の全てのルーターから、ルーティングテーブル1214に対応するトポロジーバージョン番号をもつラベルマッピングメッセージを受信した後に、ラベルスイッチングルーター1004において出力ラベルが分析される。   FIG. 12 shows a label switching router in a fiber channel fabric where the output labels have not yet been fully analyzed. The label switching router 1004 generates a routing table 1214 that replaces the old set of input labels 410, 420, 430, 440 and 450 with updated stacks of input labels 411, 421, 431, 441 and 451, respectively. . Also, the label switching router 1004 is analyzing its output labels and replacing the output labels 110, 110, 220, 330, 250 and 350 with new output labels 211, 311, 221, 331, 251 and 351. ing. In accordance with various embodiments, the output label is analyzed at the label switching router 1004 after the label switching router 1004 receives a label mapping message with a topology version number corresponding to the routing table 1214 from all other routers. .

しかしながら、ラベルスイッチングルーター1002は、ルーティングテーブル1212に出力ラベルを完全に生じていない。ルーティングテーブル1212は、入力ラベルの新たなセットを含むが、出力ラベルのセットは部分的に分析されるだけである。特に、ラベルスイッチングルーター1002は、次のホップ4に対応する新たな出力ラベルを有するが、次のホップ5に対応する新たな出力ラベルはもたない。これは、ラベルスイッチングルーター1004からラベルマッピングメッセージを受信するが、ラベルスイッチングルーター1005からラベルマッピングメッセージを受信しないことにより生じる。ラベルスイッチングルーター1002が、次のホップ5へ送信するためのフレームを受信する場合に、次のホップ5に関連した出力ラベルが分析されないためにフレームがドロップされる。   However, the label switching router 1002 does not completely generate the output label in the routing table 1212. The routing table 1212 includes a new set of input labels, but the set of output labels is only partially analyzed. In particular, the label switching router 1002 has a new output label corresponding to the next hop 4, but does not have a new output label corresponding to the next hop 5. This is caused by receiving a label mapping message from the label switching router 1004 but not receiving a label mapping message from the label switching router 1005. When the label switching router 1002 receives a frame for transmission to the next hop 5, the frame is dropped because the output label associated with the next hop 5 is not analyzed.

リンク状態更新メッセージ及びラベルスイッチコントロールメッセージがファイバーチャンネルファブリック全体に通過されるので、各スイッチは、最終的に、ラベルスイッチングルーター1004及びラベルスイッチングルーター1001が図12において出力ラベルを分析したのと同様に、出力ラベルを分析することができる。   Since link state update messages and label switch control messages are passed through the entire fiber channel fabric, each switch eventually becomes the same as label switching router 1004 and label switching router 1001 analyze the output labels in FIG. The output label can be analyzed.

図13は、ラベルを使用したフレームの転送を示すフロープロセス図である。1301において、ファイバーチャンネルファブリックのリンクの変化が検出される。1303において、各宛先に対する次のホップの更新されたセットが、リンク状態情報に基づいて計算される。種々の実施形態に基づき、1305においてトポロジーバージョン番号が識別される。トポロジーバージョン番号は、ファイバーチャンネルファブリックにおける全てのスイッチのインカーネーション番号の組み合わせである。一実施形態において、トポロジーバージョン番号は、全てのインカーネーション番号が一緒に添付されたものを含む。別の実施形態では、トポロジーバージョン番号は、種々のインカーネーション番号のチェック和である。更に別の実施形態において、トポロジーバージョン番号は、ネットワーク内のスイッチに対して意味のある独特の番号である。1307において、スイッチは、以前にアドバータイズされたラベルを回収するためにラベルスイッチングコントロールメッセージを送信することができる。1309において、各ラベルスイッチングルーターは、新たな入力即ち受信ラベルを発生し、そしてその新たな入力即ち受信ラベルをファブリックの他のスイッチへアドバータイズすることができる。   FIG. 13 is a flow process diagram illustrating frame forwarding using labels. At 1301, a change in the fiber channel fabric link is detected. At 1303, an updated set of next hops for each destination is calculated based on the link state information. Based on various embodiments, a topology version number is identified at 1305. The topology version number is a combination of the incarnation numbers of all switches in the fiber channel fabric. In one embodiment, the topology version number includes all incarnation numbers attached together. In another embodiment, the topology version number is a checksum of various incarnation numbers. In yet another embodiment, the topology version number is a unique number that is meaningful to the switches in the network. At 1307, the switch can send a label switching control message to retrieve the previously advertised label. At 1309, each label switching router can generate a new input or received label and advertise that new input or received label to other switches in the fabric.

本発明の技術は、必ずしも特定の順序で実行する必要がないことに注意されたい。例えば、一実施形態では、ラベルスイッチングルーターは、他のラベルスイッチングルーターにおいて出力ラベルが回収されるのと同時に入力ラベルを発生しそしてアドバータイズすることができる。   Note that the techniques of the present invention need not be performed in any particular order. For example, in one embodiment, a label switching router can generate and advertise input labels at the same time that output labels are collected at other label switching routers.

1311において、古いラベルをもつフレームがドロップされる。又、フレームはドロップされるが、出力ラベルは分析されない。例えば、次のホップ6に関連した出力ラベルが分析されない場合には、次のホップ6へ送信するように構成されたフレームがドロップされる。1313において、ラベルマッピングメッセージからの情報、又は他のラベルスイッチングルーターからのアドバータイズメントからの情報を使用することにより出力ラベルが分析される。1315において出力ラベルが分析されるので、フレームはもはやドロップされない。   At 1311, the frame with the old label is dropped. Also, the frame is dropped, but the output label is not analyzed. For example, if the output label associated with the next hop 6 is not analyzed, the frame configured to transmit to the next hop 6 is dropped. At 1313, the output label is analyzed by using information from the label mapping message or from advertisements from other label switching routers. Since the output label is analyzed at 1315, the frame is no longer dropped.

本発明は、特定の実施形態を図示して説明したが、本発明の精神及び範囲から逸脱せずに、ここに開示した実施形態の形態及び細部を変更できることが当業者に理解されよう。例えば、本発明の実施形態は、種々のネットワークプロトコル及びアーキテクチャーと共に使用することができる。排除メッセージのような命令は、種々の異なる時間に送信することができる。それ故、本発明は、その真の精神及び範囲内に入る全ての変形及び等効物を包含すると解釈される。   While the invention has been illustrated and described with specific embodiments, those skilled in the art will recognize that changes may be made in the form and details of the embodiments disclosed herein without departing from the spirit and scope of the invention. For example, embodiments of the present invention can be used with various network protocols and architectures. Instructions such as a reject message can be sent at various different times. Accordingly, this invention is to be construed as including all modifications and equivalents that fall within the true spirit and scope of the invention.

本発明の技術を使用することのできるネットワークを示す図である。FIG. 1 shows a network that can use the techniques of the present invention. ファイバーチャンネルファブリックのリンクの変化を受けるファイバーチャンネルファブリックを示す図である。It is a figure which shows the fiber channel fabric which receives the change of the link of a fiber channel fabric. 次のホップのセットを示すルーティングテーブルを示す図である。It is a figure which shows the routing table which shows the set of the next hop. 次のホップの更新されたセットを示すルーティングテーブルを示す図である。FIG. 6 shows a routing table showing an updated set of next hops. 仮想出力待ち行列を示す図である。FIG. 4 is a diagram illustrating a virtual output queue. ファイバーチャンネルフレームのブロッキングを示すプロセスフローチャートである。2 is a process flowchart illustrating blocking of a Fiber Channel frame. ファイバーチャンネルフレームのドロッピングを示すプロセスフローチャートである。6 is a process flowchart illustrating fiber channel frame dropping. チャンネルにおける考えられる再順序付けを示す図である。FIG. 6 illustrates possible reordering in a channel. 転送チャンネルテーブルを示す図である。It is a figure which shows the transfer channel table. 更新された転送チャンネルテーブルを示す図である。It is a figure which shows the transfer channel table updated. チャンネルが変化したときのファイバーチャンネルフレームの転送を示すプロセスフローチャートである。FIG. 6 is a process flow diagram illustrating fiber channel frame transfer when a channel changes. ラベルスイッチングルーターを示す図である。It is a figure which shows a label switching router. リンクの変化中のラベルスイッチングルーターを示す図である。It is a figure which shows the label switching router during the change of a link. 出力ラベルが部分的に分析される間のラベルスイッチングルーターを示す図である。FIG. 6 illustrates a label switching router while output labels are partially analyzed. 入力及び出力ラベルを使用して順序正しく配送するための技術を示すプロセスフローチャートである。FIG. 6 is a process flow diagram illustrating a technique for orderly delivery using input and output labels.

Claims (34)

ファイバーチャンネルファブリックにおいてファイバーチャンネルフレームを選択的に配送するための方法であって、
ファイバーチャンネルエンティティにおいて次のホップのセットを識別するステップであって、前記次のホップのセットは、宛先識別子に基づいてフレームを転送するのに使用されるものであるようなステップと、
前記ファイバーチャンネルファブリックのリンクの変化を検出するステップと、
次のホップの更新されたセットを識別するステップであって、該次のホップの更新されたセットは、前記ファイバーチャンネルファブリックのリンクの変化を考慮しながら、宛先識別子に基づき前記ファイバーチャンネルエンティティで受信されたフレームを転送するのに使用されるようなステップと、
前記次のホップのセットを前記次のホップの更新されたセットと比較するステップと、
前記次のホップの更新されたセットに向うフレームの転送を、前記次のホップのセットが前記次のホップの更新されたセットとは異なることが決定された場合に所定の時間周期中、防止するステップと、
を備えた方法。
A method for selectively delivering Fiber Channel frames in a Fiber Channel fabric, comprising:
Identifying a next set of hops at the Fiber Channel entity, wherein the next set of hops is used to forward a frame based on a destination identifier;
Detecting a change in a link of the Fiber Channel fabric;
Identifying an updated set of next hops, the updated set of next hops being received at the Fiber Channel entity based on a destination identifier, taking into account changes in the link of the Fiber Channel fabric. Steps such as those used to forward the frame
Comparing the set of next hops with the updated set of next hops;
Prevent forwarding of frames towards the updated set of next hops during a predetermined period of time if it is determined that the set of next hops is different from the updated set of next hops Steps,
With a method.
前記所定の時間周期は、ファイバーチャンネルファブリックのドレイン周期である請求項1に記載の方法。   The method of claim 1, wherein the predetermined time period is a fiber channel fabric drain period. 前記次のホップの更新されたセットに向うフレームの転送を防止する前記ステップは、
前記次のホップの更新されたセットへ転送するようにスケジュールされたフレームをブロッキングすることを含む請求項1又は2に記載の方法。
Said step of preventing forwarding of frames towards said updated set of next hops;
3. A method according to claim 1 or 2, comprising blocking frames scheduled to be forwarded to the updated set of next hops.
前記フレームは、前記次のホップの更新されたセットに関連した仮想出力待ち行列においてブロックされる請求項3に記載の方法。   4. The method of claim 3, wherein the frame is blocked in a virtual output queue associated with the updated set of next hops. 前記次のホップの更新されたセットへフレームを転送するようにルーティングテーブルを更新するステップを更に備えた請求項3に記載の方法。   The method of claim 3, further comprising updating a routing table to forward frames to the updated set of next hops. 前記ファイバーチャンネルエンティティは、複数のルーティングテーブルを含むファイバーチャンネルスイッチであり、各ルーティングテーブルには、特定の仮想ストレージエリアネットワークが関連される請求項5に記載の方法。   The method of claim 5, wherein the Fiber Channel entity is a Fiber Channel switch including a plurality of routing tables, each routing table being associated with a particular virtual storage area network. 前記所定の時間周期が経過しそして前記次のホップの更新されたセットへ転送するためのフレームをスケジュールするように前記ルーティングテーブルが更新された後に、前記次のホップの更新されたセットへのフレームの転送を許すステップを更に備えた請求項5に記載の方法。   After the predetermined time period has elapsed and the routing table is updated to schedule a frame for forwarding to the updated set of next hops, a frame to the updated set of next hops The method of claim 5, further comprising the step of allowing transfer of: ファイバーチャンネルスイッチドレイン周期より長く前記スイッチに保持されたフレームをドロップするステップを更に備えた請求項7に記載の方法。   The method of claim 7, further comprising dropping a frame held in the switch for longer than a fiber channel switch drain period. 前記次のホップの更新されたセットへのフレームの転送を防止する前に前記ファイバーチャンネルスイッチが非エッジポートに関連することを決定するステップを更に備えた請求項8に記載の方法。   9. The method of claim 8, further comprising determining that the Fiber Channel switch is associated with a non-edge port before preventing forwarding of a frame to the updated set of next hops. 前記次のホップの更新されたセットに向うフレームの転送を防止する前記ステップは、
前記次のホップの更新されたセットへ転送するようにスケジュールされたフレームをドロップすることを含む請求項1から9のいずれかに記載の方法。
Said step of preventing forwarding of frames towards said updated set of next hops;
10. A method as claimed in any preceding claim, comprising dropping a frame scheduled to be forwarded to the updated set of next hops.
前記次のホップの更新されたセットへフレームを転送するようにルーティングテーブルを更新するステップを更に備えた請求項10に記載の方法。   The method of claim 10, further comprising updating a routing table to forward frames to the updated set of next hops. 前記ファイバーチャンネルエンティティは、複数のルーティングテーブルを含むファイバーチャンネルホストであり、各ルーティングテーブルには、特定の仮想ストレージエリアネットワークが関連される請求項11に記載の方法。   12. The method of claim 11, wherein the Fiber Channel entity is a Fiber Channel host that includes a plurality of routing tables, each routing table associated with a particular virtual storage area network. 前記所定の時間周期が経過しそして前記次のホップの更新されたセットへ転送するためのフレームをスケジュールするように前記ルーティングテーブルが更新された後に、前記次のホップの更新されたセットへのフレームの転送を許すステップを更に備えた請求項11に記載の方法。   After the predetermined time period has elapsed and the routing table has been updated to schedule a frame for forwarding to the updated set of next hops, the frame to the updated set of next hops The method of claim 11, further comprising the step of allowing transfer of: 前記次のホップの更新されたセットへのフレームの転送を防止する前にファイバーチャンネルホストがエッジポートに関連されたことを決定するステップを更に備えた請求項13に記載の方法。   The method of claim 13, further comprising determining that a Fiber Channel host is associated with an edge port before preventing forwarding of frames to the updated set of next hops. ファイバーチャンネルファブリックにおいてフレームを選択的に配送するための方法であって、
第1のファイバーチャンネルエンティティから第2のファイバーチャンネルエンティティへフレームを転送するためのチャンネルを識別するステップであって、このチャンネルは、前記第1のファイバーチャンネルエンティティを前記第2のファイバーチャンネルエンティティに接続する複数のリンクを含むものであるステップと、
チャンネルの変化を前記第1のファイバーチャンネルエンティティにおいて検出するステップと、
前記第1のファイバーチャンネルエンティティから前記第2のファイバーチャンネルエンティティへフレームを転送するための更新されたチャンネルを識別するステップであって、前記更新されたチャンネルは、前記チャンネルとは異なるものであるようなステップと、
前記更新されたチャンネルを経て転送するために受信されたフレームであって、前記更新されたチャンネルに関連した出力待ち行列へまだ入れられていないフレームをドロップするステップと、
を備えた方法。
A method for selectively delivering frames in a fiber channel fabric, comprising:
Identifying a channel for transferring a frame from a first fiber channel entity to a second fiber channel entity, the channel connecting the first fiber channel entity to the second fiber channel entity A step that includes a plurality of links to:
Detecting a channel change at the first fiber channel entity;
Identifying an updated channel for transferring a frame from the first fiber channel entity to the second fiber channel entity, wherein the updated channel is different from the channel; And the steps
Dropping frames received for transfer over the updated channel that have not yet been placed in the output queue associated with the updated channel;
With a method.
前記出力待ち行列に既にあるフレームが配送された後に全てのフレームをブロックするように前記更新されたチャンネルのリンクに関連した前記出力待ち行列をマークするステップを更に備えた請求項15に記載の方法。   16. The method of claim 15, further comprising marking the output queue associated with the updated channel link to block all frames after frames already in the output queue have been delivered. . フレームをドロップする前記ステップは、フレームをドロップ隣接部へ転送するように転送チャンネルテーブルを更新することを含む請求項16に記載の方法。   The method of claim 16, wherein the step of dropping a frame comprises updating a forwarding channel table to forward the frame to a drop neighbor. 前記出力待ち行列は、仮想出力待ち行列である請求項16に記載の方法。   The method of claim 16, wherein the output queue is a virtual output queue. 前記更新されたチャンネルを経てフレームを転送するように転送チャンネルテーブルを更新するステップを更に備えた請求項16に記載の方法。   The method of claim 16, further comprising updating a transfer channel table to transfer a frame over the updated channel. ファイバーチャンネルスイッチレイテンシーを使用して導出された時間周期中待機するステップを更に備えた請求項19に記載の方法。   20. The method of claim 19, further comprising waiting for a time period derived using fiber channel switch latency. 前記ファイバーチャンネルスイッチレイテンシーより長い時間周期中待機するステップを更に備えた請求項19に記載の方法。   The method of claim 19, further comprising waiting for a period of time longer than the Fiber Channel switch latency. 前記時間周期が経過しそして前記更新されたチャンネルを経てフレームを転送するように前記転送チャンネルテーブルが更新された後に、前記更新されたチャンネルを経てフレームを転送するのを許すように前記出力待ち行列を解放するステップを更に備えた請求項20に記載の方法。   The output queue to allow forwarding frames over the updated channel after the time period has elapsed and the forwarding channel table has been updated to forward frames over the updated channel. 21. The method of claim 20, further comprising the step of releasing. 前記転送チャンネルテーブルは、ハッシュモジュロを使用して更新される請求項22に記載の方法。   The method of claim 22, wherein the transport channel table is updated using a hash modulo. ファイバーチャンネルファブリックにおいてフレームを選択的に配送するための方法であって、
ファイバーチャンネルスイッチにおいてファイバーチャンネルファブリックのリンクの変化を検出するステップと、
トポロジーバージョン番号に関連した更新されたルーティングテーブルを発生するステップであって、前記更新されたルーティングテーブルの発生は、更新されたルーティングテーブルの各エントリーに対応する次のホップ、受信ラベル及び宛先を決定することを含むものであるステップと、
前記ファイバーチャンネルスイッチにおいてフレームを受信するステップであって、前記フレームは、前記更新されたルーティングテーブルの第1エントリーに対応する第1宛先及び第1ラベルを含むものであるステップと、
前記ファイバーチャンネルスイッチが、前記更新されたルーティングテーブルの第1エントリーに対応する第1の送信ラベルを受信したかどうか決定するステップであって、前記受信された第1の送信ラベルは、前記更新されたルーティングテーブルと同じトポロジーバージョン番号を有するものであるステップと、
前記ファイバーチャンネルスイッチが前記第1の送信ラベルを受信しなかったと決定された場合にフレームをドロップするステップと、
を備えた方法。
A method for selectively delivering frames in a fiber channel fabric, comprising:
Detecting a change in the fiber channel fabric link at the fiber channel switch;
Generating an updated routing table associated with the topology version number, wherein the generation of the updated routing table determines a next hop, receiving label and destination corresponding to each entry in the updated routing table A step that includes:
Receiving a frame at the Fiber Channel switch, wherein the frame includes a first destination and a first label corresponding to a first entry of the updated routing table;
Determining whether the Fiber Channel switch has received a first transmission label corresponding to a first entry of the updated routing table, wherein the received first transmission label is updated; A step having the same topology version number as the routing table
Dropping a frame when it is determined that the Fiber Channel switch has not received the first transmission label;
With a method.
前記第1ラベルは、前記第1エントリーに関連した第1の受信ラベルと等価である請求項24に記載の方法。   25. The method of claim 24, wherein the first label is equivalent to a first received label associated with the first entry. 前記ファイバーチャンネルスイッチが前記第1の送信ラベルを受信したと決定された場合に前記次のホップへフレームを転送するステップを更に備えた請求項24又は25に記載の方法。   26. The method according to claim 24 or 25, further comprising the step of forwarding a frame to the next hop if it is determined that the Fiber Channel switch has received the first transmission label. 前記ルーティングテーブルには、特定の仮想ストレージエリアネットワークが関連される請求項26に記載の方法。   27. The method of claim 26, wherein the routing table is associated with a specific virtual storage area network. 前記トポロジーバージョン番号は、前記仮想ストレージエリアネットワークにおける各スイッチと共にインカーネーション番号を使用して導出される請求項27に記載の方法。   28. The method of claim 27, wherein the topology version number is derived using an incarnation number with each switch in the virtual storage area network. 前記受信及び送信ラベルは、MPLSラベルである請求項28に記載の方法。   29. The method of claim 28, wherein the reception and transmission labels are MPLS labels. 前記第1ラベルは、前記ファイバーチャンネルフレームに関連したEISLヘッダに含まれる請求項29に記載の方法。   30. The method of claim 29, wherein the first label is included in an EISL header associated with the fiber channel frame. 前記フレームの第1ラベルは、前記ファイバーチャンネルフレームヘッダに含まれる請求項30に記載の方法。   The method of claim 30, wherein the first label of the frame is included in the Fiber Channel frame header. 前記第1の送信ラベルと、前記ルーティングテーブルの前記トポロジーバージョン番号に対応するトポロジーバージョン番号とを有する第1リンク状態制御メッセージを受信するステップを更に備えた請求項25から31のいずれかに記載の方法。   32. The method of claim 25, further comprising receiving a first link state control message having the first transmission label and a topology version number corresponding to the topology version number of the routing table. Method. 前記第1の受信ラベルを前記ファイバーチャンネルファブリックの他のスイッチへアドバータイズするステップを更に備えた請求項32に記載の方法。   36. The method of claim 32, further comprising advertising the first received label to other switches in the Fiber Channel fabric. ファイバーチャンネルファブリックにおいてファイバーチャンネルフレームを選択的に配送するためのファイバーチャンネルエンティティであって、
ファイバーチャンネルエンティティにおいて次のホップのセットを識別する手段であって、前記次のホップのセットは、宛先識別子に基づいてフレームを転送するのに使用されるものであるような手段と、
前記ファイバーチャンネルファブリックのリンクの変化を検出する手段と、
次のホップの更新されたセットを識別する手段であって、該次のホップの更新されたセットは、前記ファイバーチャンネルファブリックのリンクの変化を考慮しながら、宛先識別子に基づき前記ファイバーチャンネルエンティティで受信されたフレームを転送するのに使用されるような手段と、
前記次のホップのセットを、前記次のホップの更新されたセットと比較する手段と、
前記次のホップの更新されたセットに向うフレームの転送を、前記次のホップのセットが前記次のホップの更新されたセットとは異なることが決定された場合に、所定の時間周期中、防止する手段と、
を備えたファイバーチャンネルエンティティ。
A Fiber Channel entity for selectively delivering Fiber Channel frames in a Fiber Channel fabric,
Means for identifying a next set of hops at the Fiber Channel entity, wherein the next hop set is used to forward a frame based on a destination identifier;
Means for detecting a change in the fiber channel fabric link;
Means for identifying an updated set of next hops, the updated set of next hops being received at the Fiber Channel entity based on a destination identifier, taking into account changes in the Fiber Channel fabric link Means such as those used to forward the generated frames;
Means for comparing the set of next hops with the updated set of next hops;
Prevent forwarding of frames towards the updated set of next hops for a predetermined period of time if it is determined that the set of next hops is different from the updated set of next hops. Means to
Fiber Channel entity with
JP2003582973A 2002-04-01 2003-03-25 Method and apparatus for fiber channel frame delivery Expired - Fee Related JP4873834B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/114,568 US7406034B1 (en) 2002-04-01 2002-04-01 Methods and apparatus for fibre channel frame delivery
US10/114,568 2002-04-01
PCT/US2003/009328 WO2003085910A2 (en) 2002-04-01 2003-03-25 Methods and apparatus for in-order delivery of fibre channel frames

Publications (2)

Publication Number Publication Date
JP2005522147A true JP2005522147A (en) 2005-07-21
JP4873834B2 JP4873834B2 (en) 2012-02-08

Family

ID=28789800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003582973A Expired - Fee Related JP4873834B2 (en) 2002-04-01 2003-03-25 Method and apparatus for fiber channel frame delivery

Country Status (9)

Country Link
US (1) US7406034B1 (en)
EP (1) EP1495598B1 (en)
JP (1) JP4873834B2 (en)
KR (1) KR100965645B1 (en)
CN (1) CN1663194B (en)
AT (1) ATE527784T1 (en)
AU (1) AU2003226022B2 (en)
CA (1) CA2480461C (en)
WO (1) WO2003085910A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522146A (en) * 2002-04-01 2005-07-21 シスコ テクノロジー インコーポレイテッド Label switching in Fiber Channel networks

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499410B2 (en) 2001-12-26 2009-03-03 Cisco Technology, Inc. Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs
US7206288B2 (en) * 2002-06-12 2007-04-17 Cisco Technology, Inc. Methods and apparatus for characterizing a route in fibre channel fabric
US7523482B2 (en) 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7433326B2 (en) 2002-11-27 2008-10-07 Cisco Technology, Inc. Methods and devices for exchanging peer parameters between network devices
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7447224B2 (en) * 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7477655B2 (en) 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7406092B2 (en) 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7606927B2 (en) * 2003-08-27 2009-10-20 Bbn Technologies Corp Systems and methods for forwarding data units in a communications network
US7444419B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7562375B2 (en) 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
US7443791B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Priority mechanism for distributed sending of media data
US7545812B2 (en) 2003-10-10 2009-06-09 Microsoft Corporation Scheduling scheme for distributed sending of media data
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7340167B2 (en) * 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7640352B2 (en) 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US20060087964A1 (en) * 2004-10-21 2006-04-27 International Business Machines Corporation Method and apparatus for switching among different network paths while suppressing ghost packets
US7916628B2 (en) 2004-11-01 2011-03-29 Cisco Technology, Inc. Trunking for fabric ports in fibre channel switches and attached devices
US7477653B2 (en) 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US7327744B2 (en) * 2005-01-12 2008-02-05 Cisco Technology, Inc. Fibre channel forwarding information base
US8135040B2 (en) 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US7817580B2 (en) * 2005-12-07 2010-10-19 Cisco Technology, Inc. Preventing transient loops in broadcast/multicast trees during distribution of link state information
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
US9755899B2 (en) * 2009-05-14 2017-09-05 Avaya Inc. Generation and usage of mobility VLAN ID version value
US8154990B2 (en) * 2009-06-08 2012-04-10 Cisco Technology Inc. Less loss in-order delivery protocol for fibre connection architecture
JP5526802B2 (en) * 2010-01-20 2014-06-18 富士通株式会社 Storage device, switch, and storage device control method
US9185018B2 (en) * 2010-10-22 2015-11-10 Brocade Communications Systems, Inc. Path diagnosis in communication networks
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9774527B2 (en) * 2012-08-31 2017-09-26 Nasdaq Technology Ab Resilient peer-to-peer application message routing
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
JP6235140B2 (en) 2013-08-09 2017-11-22 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP Switch assembly

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818603A (en) 1996-03-29 1998-10-06 Ricoh Company, Ltd. Method and system for controlling and communicating with machines using multiple communication formats
US5428471A (en) 1992-07-30 1995-06-27 Alcatel Network Systems, Inc. Fail-safe automatic shut-down apparatus and method for high output power optical communications system
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5617421A (en) 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5675741A (en) 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US5506838A (en) 1994-12-29 1996-04-09 Emc Corporation Packet propagation and dynamic route discovery apparatus and techniques
US5682479A (en) 1995-05-05 1997-10-28 Silicon Graphics, Inc. System and method for network exploration and access
US5862125A (en) * 1995-06-07 1999-01-19 Mci Communication Corporation Automated restoration of unrestored link and nodal failures
US5872822A (en) 1995-10-26 1999-02-16 Mcdata Corporation Method and apparatus for memory sequencing
US5809285A (en) 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
US6035105A (en) 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5764636A (en) 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
GB2318030B (en) 1996-10-04 2001-03-14 Ibm Communication system with exchange of capability information
US5740159A (en) 1996-05-23 1998-04-14 Northern Telecom Limited Loopback mechanism for frame relay OAM
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5999930A (en) 1996-08-02 1999-12-07 Hewlett-Packard Company Method and apparatus for distributed control of a shared storage volume
US6202135B1 (en) 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US6185203B1 (en) * 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US5964841A (en) * 1997-03-03 1999-10-12 Cisco Technology, Inc. Technique for handling forwarding transients with link state routing protocol
US5959972A (en) 1997-05-27 1999-09-28 3Com Corporation Method of port/link redundancy in an ATM switch
US6209059B1 (en) 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6188694B1 (en) 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6032194A (en) 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6208649B1 (en) 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6330614B1 (en) 1998-03-20 2001-12-11 Nexabit Networks Llc Internet and related networks, a method of and system for substitute use of checksum field space in information processing datagram headers for obviating processing speed and addressing space limitations and providing other features
US6208623B1 (en) 1998-04-13 2001-03-27 3Com Corporation Method of combining PNNI and E-IISP in an asynchronous transfer mode network
US7027406B1 (en) 1998-04-16 2006-04-11 Avaya Communication Israel Ltd. Distributed port-blocking method
US6188668B1 (en) 1998-05-01 2001-02-13 Emulex Corporation Automatic isolation in loops
US7430164B2 (en) 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
US6295575B1 (en) 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6262977B1 (en) 1998-08-28 2001-07-17 3Com Corporation High availability spanning tree with rapid reconfiguration
US6295296B1 (en) 1998-09-08 2001-09-25 Cisco Technology, Inc. Use of a single data structure for label forwarding and imposition
US6438612B1 (en) 1998-09-11 2002-08-20 Ssh Communications Security, Ltd. Method and arrangement for secure tunneling of data between virtual routers
US6426952B1 (en) 1998-09-18 2002-07-30 The United States Of America As Represented By The Secretary Of The Navy Multi-interface point-to-point switching system (MIPPSS) having an internal universal signal format
US6266705B1 (en) 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6408001B1 (en) 1998-10-21 2002-06-18 Lucent Technologies Inc. Method for determining label assignments for a router
US6765919B1 (en) 1998-10-23 2004-07-20 Brocade Communications Systems, Inc. Method and system for creating and implementing zones within a fibre channel system
US6205488B1 (en) 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
US6493349B1 (en) 1998-11-13 2002-12-10 Nortel Networks Limited Extended internet protocol virtual private network architectures
SE514430C2 (en) 1998-11-24 2001-02-26 Net Insight Ab Method and system for determining network topology
US6898189B1 (en) 2000-08-23 2005-05-24 Cisco Technology, Inc. Restartable spanning tree for high availability network systems
US6226771B1 (en) 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6529963B1 (en) 1998-12-29 2003-03-04 Lsi Logic Corporation Methods and apparatus for interconnecting independent fibre channel fabrics
US6337861B1 (en) 1999-02-02 2002-01-08 Cisco Technology, Inc. Method and apparatus to properly route ICMP messages in a tag-switching network
US6473421B1 (en) 1999-03-29 2002-10-29 Cisco Technology, Inc. Hierarchical label switching across multiple OSPF areas
US6931440B1 (en) 1999-04-21 2005-08-16 Emc Corporation Method and apparatus for dynamically determining whether access to a resource connected to a computer has changed and determining how to access the resource with a new identifier
CA2371026C (en) * 1999-05-11 2007-11-06 British Telecommunications Public Limited Company A node and method for processing high priority transit packets in an optical communications network
US6661773B1 (en) * 1999-06-07 2003-12-09 Intel Corporation Method for detection of stale cells following route changes in a data communication
JP4846948B2 (en) 1999-09-08 2011-12-28 クゥアルコム・インコーポレイテッド System and method for automatically determining when to answer an incoming packet data call in a wireless communication network
US6804776B1 (en) 1999-09-21 2004-10-12 Cisco Technology, Inc. Method for universal transport encapsulation for Internet Protocol network communications
US6674760B1 (en) 1999-09-28 2004-01-06 Extreme Networks, Inc. Method and system for implementing end-to-end QoS in packet-switched networks
US6859435B1 (en) * 1999-10-13 2005-02-22 Lucent Technologies Inc. Prevention of deadlocks and livelocks in lossless, backpressured packet networks
US6848007B1 (en) 1999-11-12 2005-01-25 Crossroads Systems, Inc. System for mapping addresses of SCSI devices between plurality of SANs that can dynamically map SCSI device addresses across a SAN extender
US7006525B1 (en) 2000-02-23 2006-02-28 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US7082140B1 (en) 2000-03-17 2006-07-25 Nortel Networks Ltd System, device and method for supporting a label switched path across a non-MPLS compliant segment
DE60136926D1 (en) 2000-05-02 2009-01-22 Theravance Inc COMPOSITION CONTAINING A CYCLODEXTRIN AND A GLYCOPEPTIDE ANTIBIOTIC
CA2411361A1 (en) 2000-06-02 2001-12-13 Inrange Technologies Corporation Fibre channel address adaptor having data buffer extension and address mapping in a fibre channel switch
JP4168574B2 (en) 2000-06-02 2008-10-22 株式会社日立製作所 Packet transfer apparatus, packet transfer control method, and packet transfer apparatus setting method
US6920133B1 (en) 2000-06-07 2005-07-19 At&T Corp. Techniques for introducing in-band network management packets in multi-protocol label switching networks
EP1162862A2 (en) * 2000-06-08 2001-12-12 Alcatel Optical IP switching router architecture
EP1162788B1 (en) 2000-06-09 2012-11-21 Broadcom Corporation Trunking and mirroring across stacked gigabit switches
US7046669B1 (en) 2000-06-28 2006-05-16 Nortel Networks Limited Communications network
US6775230B1 (en) * 2000-07-18 2004-08-10 Hitachi, Ltd. Apparatus and method for transmitting frames via a switch in a storage area network
US6847647B1 (en) 2000-09-26 2005-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for distributing traffic over multiple switched fiber channel routes
US6879560B1 (en) * 2000-12-08 2005-04-12 At&T Corp. System and method for limiting congestion over a switch network
US6975589B2 (en) 2000-12-30 2005-12-13 Redback Networks Inc. Method and apparatus for a hybrid variable rate pipe
US20020101868A1 (en) 2001-01-30 2002-08-01 David Clear Vlan tunneling protocol
DE60212599D1 (en) 2001-03-01 2006-08-03 Storeage Networking Technologi SECURITY FOR A SAN (STORAGE AREA NETWORK)
US7050392B2 (en) 2001-03-30 2006-05-23 Brocade Communications Systems, Inc. In-order delivery of frames during topology change
US6604407B2 (en) 2001-04-03 2003-08-12 Denso Corporation Leak check apparatus for fuel vapor purge system
US6947379B1 (en) * 2001-04-03 2005-09-20 Cisco Technology, Inc. Packet routing to reduce susceptibility to disturbances
US7366194B2 (en) 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US20020156924A1 (en) 2001-04-23 2002-10-24 Moshe Czeiger Method for communicating between fibre channel systems
US20020156918A1 (en) 2001-04-23 2002-10-24 Brocade Communications Systems, Inc. Dynamic path selection with in-order delivery within sequence in a communication network
US20020159468A1 (en) 2001-04-27 2002-10-31 Foster Michael S. Method and system for administrative ports in a routing device
US6728220B2 (en) 2001-05-24 2004-04-27 Riverstone Networks, Inc. Method and system for preventing transmission loops in a label switching domain
US6728848B2 (en) 2001-06-11 2004-04-27 Hitachi, Ltd. Method and system for backing up storage system data
US7072298B2 (en) 2001-06-13 2006-07-04 Computer Network Technology Corporation Method and apparatus for rendering a cell-based switch useful for frame based protocols
US6985490B2 (en) 2001-07-11 2006-01-10 Sancastle Technologies, Ltd. Extension of fibre channel addressing
US7330892B2 (en) 2001-09-07 2008-02-12 Network Appliance, Inc. High-speed data transfer in a storage virtualization controller
US6779050B2 (en) 2001-09-24 2004-08-17 Broadcom Corporation System and method for hardware based reassembly of a fragmented packet
US6532212B1 (en) * 2001-09-25 2003-03-11 Mcdata Corporation Trunking inter-switch links
US7366784B2 (en) 2001-11-27 2008-04-29 Hitachi, Ltd. System and method for providing and using a VLAN-aware storage device
US6920154B1 (en) 2001-12-17 2005-07-19 Supergate Technology Usa, Inc. Architectures for a modularized data optimization engine and methods therefor
US7499410B2 (en) 2001-12-26 2009-03-03 Cisco Technology, Inc. Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7085846B2 (en) 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7155494B2 (en) 2002-01-09 2006-12-26 Sancastle Technologies Ltd. Mapping between virtual local area networks and fibre channel zones
US7349992B2 (en) 2002-01-24 2008-03-25 Emulex Design & Manufacturing Corporation System for communication with a storage area network
US7873984B2 (en) 2002-01-31 2011-01-18 Brocade Communications Systems, Inc. Network security through configuration servers in the fabric environment
US20030189929A1 (en) 2002-04-04 2003-10-09 Fujitsu Limited Electronic apparatus for assisting realization of storage area network system
US7206288B2 (en) 2002-06-12 2007-04-17 Cisco Technology, Inc. Methods and apparatus for characterizing a route in fibre channel fabric
US7433326B2 (en) 2002-11-27 2008-10-07 Cisco Technology, Inc. Methods and devices for exchanging peer parameters between network devices
US8081642B2 (en) 2003-01-31 2011-12-20 Brocade Communications Systems, Inc. Method and apparatus for routing between fibre channel fabrics
US7447224B2 (en) 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US20050108444A1 (en) 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
US8018936B2 (en) 2004-07-19 2011-09-13 Brocade Communications Systems, Inc. Inter-fabric routing
US7593324B2 (en) 2004-10-25 2009-09-22 Cisco Technology, Inc. Graceful port shutdown protocol for fibre channel interfaces
US7916628B2 (en) 2004-11-01 2011-03-29 Cisco Technology, Inc. Trunking for fabric ports in fibre channel switches and attached devices
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522146A (en) * 2002-04-01 2005-07-21 シスコ テクノロジー インコーポレイテッド Label switching in Fiber Channel networks

Also Published As

Publication number Publication date
CN1663194B (en) 2010-06-23
US7406034B1 (en) 2008-07-29
ATE527784T1 (en) 2011-10-15
EP1495598A2 (en) 2005-01-12
WO2003085910A3 (en) 2004-02-05
CA2480461A1 (en) 2003-10-16
AU2003226022A1 (en) 2003-10-20
KR20040093492A (en) 2004-11-05
CA2480461C (en) 2010-07-20
EP1495598B1 (en) 2011-10-05
CN1663194A (en) 2005-08-31
WO2003085910A2 (en) 2003-10-16
JP4873834B2 (en) 2012-02-08
KR100965645B1 (en) 2010-06-23
AU2003226022B2 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4873834B2 (en) Method and apparatus for fiber channel frame delivery
US9270595B2 (en) Method and system for controlling a delay of packet processing using loop paths
US7616637B1 (en) Label switching in fibre channel networks
US7859994B2 (en) Method and apparatus to switch data flows using parallel switch fabrics
US20090300209A1 (en) Method and system for path based network congestion management
US20100271964A1 (en) Flow redirection employing state information
JP2002300193A (en) Router
JP2006217597A (en) Routing method and apparatus for reducing loss of packet
EP1832052A2 (en) In-order fibre channel packet delivery
JP3394504B2 (en) Method and apparatus for maintaining packet order integrity in a parallel switching engine
JP2008005458A (en) First-arrival learning method, repeater, and computer product
JP2016501474A (en) Distributed switchless interconnection
US8170028B1 (en) Systems and methods for re-ordering data in distributed data forwarding
US8213421B2 (en) Methods and systems for efficient multicast across a mesh backplane
US20230261973A1 (en) Method for distributing multipath flows in a direct interconnect network
JP2000138684A (en) Atm repeater
JP2002033749A (en) Buffer unit and switching unit
US10491545B2 (en) Virtual channel routing
Das et al. Addressing Out-of-order Issue of Congestion-aware Adaptive Routing in Subnet based NoC
KR100429907B1 (en) Router and routing method for combined unicast and multicast traffic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090323

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4873834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees