JP2005535154A - Method and apparatus for network congestion control - Google Patents

Method and apparatus for network congestion control Download PDF

Info

Publication number
JP2005535154A
JP2005535154A JP2003553792A JP2003553792A JP2005535154A JP 2005535154 A JP2005535154 A JP 2005535154A JP 2003553792 A JP2003553792 A JP 2003553792A JP 2003553792 A JP2003553792 A JP 2003553792A JP 2005535154 A JP2005535154 A JP 2005535154A
Authority
JP
Japan
Prior art keywords
switch
node
frame
suppression
queue
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
JP2003553792A
Other languages
Japanese (ja)
Other versions
JP4260631B2 (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 JP2005535154A publication Critical patent/JP2005535154A/en
Application granted granted Critical
Publication of JP4260631B2 publication Critical patent/JP4260631B2/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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/38Flow control; Congestion control by adapting coding or compression rate
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Methods and apparatus are provided for controlling congestion in a network such as a fibre channel network. Techniques are provided for characterizing traffic flow at a congested network node. The congested network node can generate various instructions such as quench messages to control traffic flow towards the congested network node. The quench messages can optionally include information about the characteristics of the congestion. The instructions are distributed to other nodes in the network. The other network nodes can interpret the instructions and control traffic flow towards the congested node.

Description

本発明は、ネットワーク輻輳制御に関する。より具体的には本発明は、輻輳を検出し、輻輳を緩和する命令を生成し、その命令を分配し、かつ輻輳を制御する方法および装置に関する。   The present invention relates to network congestion control. More specifically, the present invention relates to a method and apparatus for detecting congestion, generating instructions for mitigating congestion, distributing the instructions, and controlling congestion.

多くの従来のネットワークプロトコルは、ネットワークノードにおいて輻輳を緩和させるためにパケット廃棄を用いる。ある例ではIPベースのネットワークにおけるネットワークノードは、入力データを複数のソースからその出力帯域幅を超えるレートで受け取る。従来の実現例では、割り当てられた帯域幅の中で残りのパケットを伝送できるよう選択されたパケットが廃棄される。パケットはランダムに、またはさまざまな選択基準を用いて廃棄されえる。廃棄されたパケットは、TCPのようなより高いレベルのプロトコルの制御のもとで最終的には再送信される。   Many conventional network protocols use packet discard to alleviate congestion at network nodes. In one example, a network node in an IP-based network receives input data from multiple sources at a rate that exceeds its output bandwidth. In conventional implementations, packets selected to transmit the remaining packets within the allocated bandwidth are discarded. Packets can be discarded randomly or using various selection criteria. The discarded packet is eventually retransmitted under the control of a higher level protocol such as TCP.

ファイバチャネルネットワークのようなネットワークにおいて、パケット廃棄は一般には許されない。その代わりにファイバチャネルネットワークのようなネットワークは、エンドツーエンドおよびバッファツーバッファのフロー制御メカニズムを利用する。エンドツーエンドおよびバッファツーバッファのフロー制御メカニズムは、第2ネットワークがフレームを受け取る準備ができるまで、第1ネットワークノードが第2ネットワークノードに送信することを許さない。第2ネットワークノードは典型的には、第1ネットワークノードにクレジットを認めることによってフレームを受け取る準備ができていることを示す。フレームが送信されるとき、クレジットが用いられる。クレジットが残っていないとき、第1ネットワークノードは、第2ネットワークノードにもはや送信できない。しかしエンドツーエンドおよびバッファツーバッファフロー制御メカニズムは、このメカニズムは特定のリンクに沿った全てのトラフィックをブロックするので、輻輳を制御するには非常に大まかな技術しか提供しない。このようなブロッキングは、ファイバチャネルネットワークトポロジで上流の他のリンクにすぐに伝搬しえる。これらリンクのいくつかは、もともと輻輳していたリンクを含まないパスのためのコリドーとして働きえる。したがってあるネットワークパスのうちの一つのリンクにおける輻輳が、ファイバチャネルトポロジのずっと広い部分にわたってブロッキングを生じることもときにはありえる。   In a network such as a fiber channel network, packet discard is generally not allowed. Instead, networks such as Fiber Channel networks utilize end-to-end and buffer-to-buffer flow control mechanisms. End-to-end and buffer-to-buffer flow control mechanisms do not allow the first network node to transmit to the second network node until the second network is ready to receive the frame. The second network node typically indicates that it is ready to receive the frame by granting credit to the first network node. Credits are used when frames are transmitted. When no credit remains, the first network node can no longer transmit to the second network node. However, end-to-end and buffer-to-buffer flow control mechanisms provide only a very rough technique for controlling congestion because this mechanism blocks all traffic along a particular link. Such blocking can quickly propagate to other links upstream in the Fiber Channel network topology. Some of these links can serve as corridors for paths that do not include the originally congested links. Thus, congestion on one link in a network path can sometimes cause blocking over a much wider part of the Fiber Channel topology.

エンドツーエンドクレジットメカニズムは、受信ノード中のバッファの利用可能性も考慮する。しかしそれはネットワーク環境の変化に対して反応しないので、そのネットワーク上での輻輳およびブロッキングはやはり起こりえる。さらに、エンドツーエンドクレジットメカニズムは典型的には、クラス2トラフィックを交換するエンドノード間に適用される。しかしたいていのファイバチャネルデバイスはクラス2トラフィックを交換しない。その結果、エンドツーエンドおよびバッファツーバッファクレジットメカニズムは、ネットワーク中のトラフィックフローを最適化しないし、そうしようと試みすらしない。   The end-to-end credit mechanism also considers the availability of buffers in the receiving node. However, since it does not react to changes in the network environment, congestion and blocking on that network can still occur. Furthermore, end-to-end credit mechanisms are typically applied between end nodes exchanging class 2 traffic. However, most Fiber Channel devices do not exchange class 2 traffic. As a result, end-to-end and buffer-to-buffer credit mechanisms do not optimize or even attempt to do so for traffic flow in the network.

よって、上述のパフォーマンス制限の一部または全てについて、ファイバチャネルネットワークのようなネットワーク中のネットワークノードにおける輻輳制御を改良する方法および装置を提供することが望ましい。   Accordingly, it would be desirable to provide a method and apparatus that improves congestion control at network nodes in a network, such as a fiber channel network, for some or all of the performance limitations described above.

ファイバチャネルネットワークのようなネットワークにおける輻輳を制御する方法および装置が提供される。輻輳したネットワークノードにおけるトラフィックフローを特性付ける手法が提供される。輻輳したネットワークノードは、輻輳したネットワークノードへのトラフィックフローを制御するための抑制メッセージのようなさまざまなインストラクションを生成しえる。抑制メッセージは、任意選択で、輻輳の特性についての情報を含みえる。インストラクションは、ネットワーク中の他のノードに分散される。他のネットワークノードは、このインストラクションおよび輻輳したノードへのトラフィックフローを解釈できる。   A method and apparatus for controlling congestion in a network such as a fiber channel network is provided. A technique is provided for characterizing traffic flows in congested network nodes. A congested network node may generate various instructions such as suppression messages for controlling traffic flow to the congested network node. The suppression message may optionally include information about congestion characteristics. Instructions are distributed to other nodes in the network. Other network nodes can interpret this instruction and the traffic flow to the congested node.

ある実施形態において、ネットワークスイッチにおいて輻輳を制御する方法が提供される。送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームが受信され、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信されている。前記ネットワークスイッチにおけるトラフィックフローが特性付けられる。前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションが送られることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御する。   In an embodiment, a method for controlling congestion at a network switch is provided. A frame having a source identifier field corresponding to a source node and a destination identifier field corresponding to a destination node is received, and the frame passes through a first intermediate switch between the network switch and the source node. Sent to the switch. The traffic flow in the network switch is characterized. A first instruction is sent from the network switch to the first intermediate switch to control traffic from the source node to the destination node.

他の実施形態においては、第1および第2中間ノードを通る第1および第2エンドノード間のトラフィックフローを制御する方法が提供される。前記第1エンドノードに対応する送信元識別子および前記第2エンドノードに対応する宛先識別子を持つ第1フレームが送信される。前記フレームは第1中間ノードにおいて、前記第1中間ノードおよび前記第2エンドノードの間の第2中間ノードに送信される。前記第2中間ノードから第2フレームが受信される。前記第2フレームは前記第2エンドノードに対応する送信元識別子および前記第1エンドノードに対応する宛先識別子を持ち、前記第2フレームは、前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを調整するインストラクションを含む。前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートは前記第2フレームの受信と共に調整される。   In another embodiment, a method is provided for controlling traffic flow between first and second end nodes through first and second intermediate nodes. A first frame having a transmission source identifier corresponding to the first end node and a destination identifier corresponding to the second end node is transmitted. The frame is transmitted at a first intermediate node to a second intermediate node between the first intermediate node and the second end node. A second frame is received from the second intermediate node. The second frame has a transmission source identifier corresponding to the second end node and a destination identifier corresponding to the first end node, and the second frame is transmitted from the first end node to the second end node. Includes instructions to adjust the current allowed rate. The current allowed rate from the first end node to the second end node is adjusted upon receipt of the second frame.

他の実施形態によれば、送信元ノードおよび宛先ノード間のトラフィックフローを制御するスイッチが提供される。このスイッチは、第1外部ノードに結合する第1ポート、
第2外部ノードに結合する第2ポート、前記第1外部ノードからデータを受信する前記第1ポートに関連付けられた第1キューであって、前記第1キューは、前記第1ポートを通した送信についてのデータを保持する第1部分および前記第2ポートを通した送信についてのデータを保持する第2部分を含む、第1キュー、および前記第1キューに結合されたフィルタであって、前記フィルタは前記第1キューからデータを受信し、前記データの送信が遅延されるべきかを前記第2外部ノードから受信された情報に基づいて決定するよう構成される、フィルタを含む。
According to another embodiment, a switch for controlling traffic flow between a source node and a destination node is provided. A first port coupled to the first external node;
A second port coupled to a second foreign node, a first queue associated with the first port receiving data from the first foreign node, wherein the first queue is transmitted through the first port A filter coupled to the first queue and the first queue, the filter comprising: a first portion that holds data about the first queue; and a second portion that holds data about transmission through the second port; Includes a filter configured to receive data from the first queue and to determine whether transmission of the data is to be delayed based on information received from the second external node.

さらに他の本発明の局面は、上述の方法および手法の全部またはその一部を実現するプログラムインストラクションがその上に提供される機械で読み取り可能な媒体を含むコンピュータプログラム製造物に関する。本発明の方法の任意のものの全体またはその一部は、そのような機械で読み取り可能な媒体上に提供されえるプログラムインストラクションとして表現されえる。さらに本発明は、ここで上述のように生成される、および/または使用されるデータのさまざまな組み合わせおよび構成に関する。例えば、ここで記述されたフォーマットを持ち、適切な媒体上に提供された(媒体上で送信された)抑制フレームは本発明の一部である。   Yet another aspect of the invention relates to a computer program product comprising a machine readable medium on which program instructions that implement all or part of the methods and techniques described above are provided. Any or all of the methods of the present invention may be expressed as program instructions that may be provided on such machine-readable media. The present invention further relates to various combinations and arrangements of data generated and / or used as described herein above. For example, a suppression frame having the format described herein and provided on a suitable medium (transmitted on the medium) is part of the present invention.

本発明のこれらや他の特徴および優位性は、本発明の以下の明細書および添付図面においてより詳細に示され、これらは本発明の原理を例示により示す。   These and other features and advantages of the present invention will be illustrated in more detail in the following specification and accompanying drawings of the present invention, which illustrate the principles of the invention by way of example.

本発明は、本発明の具体的な実施形態を示す添付図面と併せ、以下の説明を参照すれば最もよく理解されよう。   The invention will be best understood by reference to the following description, taken in conjunction with the accompanying drawings, which illustrate specific embodiments of the invention.

本発明は、ネットワーク中の輻輳を制御することに関する。より具体的には、本発明は、輻輳したネットワークノードへのトラフィックフローを制御するために、抑制メッセージを輻輳したネットワークノードから他のネットワークノードに送信する方法および装置に関する。   The present invention relates to controlling congestion in a network. More specifically, the present invention relates to a method and apparatus for sending a suppression message from a congested network node to another network node to control traffic flow to the congested network node.

本発明を実施するために発明者がベストモードであると考えるものを含む、本発明のいくつかの具体的な実施形態がこれから参照される。これら具体的な実施形態は添付の図面に示される。本発明はこれら具体的な実施形態について説明されるが、本発明はこれらの説明された実施形態に限定されないことが理解されよう。むしろ添付の特許請求の範囲によって規定されるように本発明の精神および範囲に含まれる代替物、改変、および等価物をカバーするように意図される。   Reference will now be made to several specific embodiments of the invention, including what the inventors consider the best mode for practicing the invention. These specific embodiments are illustrated in the accompanying drawings. While the invention will be described in conjunction with these specific embodiments, it will be understood that the invention is not limited to these described embodiments. Rather, it is intended to cover alternatives, modifications and equivalents that fall within the spirit and scope of the invention as defined by the appended claims.

例えば、本発明の技術は、ストレージエリアネットワーク内で用いられるファイバチャネルのコンテキストにおいて説明される。しかし本発明の技術は、さまざまな異なるプロトコルおよびネットワークにも応用されえることに注意されたい。さらに本発明によって可能になるソリューションは、非ファイバチャネルネットワークにも同様に応用可能である。本発明の技術はIPネットワークを含むさまざまな異なるネットワークに応用できるが、ある例ではこの技術は、一般にパケット廃棄を許さないネットワークにも応用できる。以下の記載において、本発明の完全な理解を与えるために多くの具体的な詳細が述べられる。本発明はこれら具体的な詳細の一部または全てがなくても実施されえる。あるいは既知のプロセス操作は、本発明の趣旨を不必要にぼかさないために詳細には記載されていない。   For example, the techniques of the present invention are described in the context of Fiber Channel used within a storage area network. However, it should be noted that the techniques of the present invention can be applied to a variety of different protocols and networks. Furthermore, the solutions made possible by the present invention are equally applicable to non-Fibre Channel networks. Although the technique of the present invention can be applied to a variety of different networks, including IP networks, in one example, the technique can also be applied to networks that generally do not allow packet discard. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the spirit of the invention.

ネットワークノードにおける輻輳を緩和するための装置および方法が提供される。任意のネットワークにおける輻輳は、さまざまなタイプのデータが転送されるときの遅延につながりえる。特にファイバチャネルを用いるネットワークノードにおける輻輳は特に有害であり、これはさらに後で詳述される波及的輻輳(cascading congestion)およびヘッドオブラインブロッキングのような効果がネットワークに及ぼされえるからである。その結果、ネットワークノードにおける輻輳を検出し特徴付ける技術が提供される。輻輳したネットワークノードへのトラフィックフローを制御するための異なるタイプの命令が、そのネットワークノードにおける輻輳を特徴付ける情報と共にそれから生成され、送信される。この命令を受け取るいくつかの他のネットワークノードは、輻輳したネットワークノードに向かうトラフィックフローを選択的に制御するために命令中に提供される情報を用いる。   An apparatus and method for mitigating congestion at a network node is provided. Congestion in any network can lead to delays when various types of data are transferred. In particular, congestion in network nodes using Fiber Channel is particularly detrimental because effects such as cascading congestion and head-of-line blocking, which are further detailed below, can be effected on the network. As a result, a technique for detecting and characterizing congestion in network nodes is provided. Different types of instructions for controlling traffic flow to a congested network node are then generated and transmitted along with information characterizing the congestion at that network node. Some other network nodes that receive this command use the information provided in the command to selectively control the traffic flow towards the congested network node.

図1は、本発明の技術を用いえるネットワークの概略図である。本発明の技術は、ストレージエリアネットワーク中のファイバチャネルのコンテキストにおいて説明されるが、上述のように本発明の技術は、さまざまなローカルおよびワイドエリアネットワークを含むさまざまなコンテキストに応用されえる。さまざまな技術が、単一のネットワークノードが複数のフローまたはパスについての輻輳点として働く任意のネットワークにおいて応用されえる。図1は、ファイバチャネルを用いて実現されたストレージエリアネットワークを示す。スイッチ101は、ホスト111および記憶装置121に結合されると共にスイッチ103および105にも結合される。ある実施形態においては、ホスト111は、サーバまたはクライアントシステムでありえ、一方、記憶装置121は単一のディスクまたは冗長ディスクアレイ(RAID)でありえる。相互接続されたスイッチ103および105は、共にスイッチ107に結合される。スイッチ107はホスト113に結合され、スイッチ103は記憶装置123に結合される。スイッチ109は、ホスト115、スイッチ107、およびファイバチャネルを使用するかまたは使用しないかのいずれでもよい外部ネットワーク151に接続される。ホスト111がネットワーク151にアクセスするためには、いくつかのパスが使用されえる。あるパスはスイッチ103を通って到達し、一方、他のパスはスイッチ105を通って到達する。しかしスイッチ109における輻輳は、ホスト111およびネットワーク151の間の通信を遅くしえる。   FIG. 1 is a schematic diagram of a network that can use the techniques of the present invention. Although the techniques of the present invention are described in the context of Fiber Channel in a storage area network, as described above, the techniques of the present invention can be applied to a variety of contexts, including a variety of local and wide area networks. Various techniques may be applied in any network where a single network node serves as a congestion point for multiple flows or paths. FIG. 1 shows a storage area network implemented using Fiber Channel. Switch 101 is coupled to host 111 and storage device 121 and is also coupled to switches 103 and 105. In some embodiments, the host 111 can be a server or client system, while the storage device 121 can be a single disk or a redundant disk array (RAID). Interconnected switches 103 and 105 are both coupled to switch 107. The switch 107 is coupled to the host 113 and the switch 103 is coupled to the storage device 123. Switch 109 is connected to host 115, switch 107, and external network 151, which may or may not use Fiber Channel. Several paths can be used for the host 111 to access the network 151. Some paths reach through switch 103 while other paths reach through switch 105. However, congestion at the switch 109 can slow down communication between the host 111 and the network 151.

上述のように、従来のIPネットワークにおけるスイッチまたはルータが輻輳するとき、パケットは廃棄される。パケットはランダムに、またはある程度のインテリジェンスをもって選択的に廃棄されえる。パケットを廃棄することによって、多量の帯域幅を消費していたフローは、一般に、より少ない量の帯域幅を消費していたものよりも、より多くのパケットを廃棄することになる。輻輳したスイッチまたはルータを通るフローレートは、パケットの廃棄で低下するが、パケットはスイッチ109を通ってネットワーク151に到達する。スイッチ107または109における輻輳のせいで、スイッチ103および105における輻輳は引き起こされない。   As mentioned above, when a switch or router in a conventional IP network is congested, the packet is discarded. Packets can be selectively discarded randomly or with some intelligence. By discarding packets, a flow that was consuming a large amount of bandwidth will generally discard more packets than one that was consuming a smaller amount of bandwidth. Although the flow rate through the congested switch or router decreases with packet discard, the packet reaches the network 151 through the switch 109. Due to congestion in switch 107 or 109, congestion in switches 103 and 105 is not caused.

しかしファイバチャネルは、パケットの廃棄を許さない。代わりに、ネットワーク151がより多くのフレームを受け取るのに失敗するか、またはそうする能力がないようなさまざまな理由でスイッチ109が輻輳するときは、スイッチ107からスイッチ109へのトラフィックフローを制御するためにバッファツーバッファクレジットメカニズムが用いられる。典型的な実現例では、スイッチ109は、所定の数のクレジットをスイッチ107に割り当てる。スイッチ107がフレームをスイッチ109に送信するたびにクレジットが用いられる。スイッチ109が利用可能なバッファを持つときは、それからスイッチ109は、追加のクレジットをスイッチ107に割り当てえる。ネットワーク151がより多くのフレームを受け取るのに失敗するか、またはそうする能力がないため、スイッチ109、およびその結果としてスイッチ107はネットワーク151に送信できない。ネットワーク151はある実施形態における輻輳点として記載されるが、他の実施形態においてはディスクアレイ153またはホスト115が輻輳源でありえることに注意されたい。   However, Fiber Channel does not allow packet discard. Instead, control traffic flow from switch 107 to switch 109 when switch 109 is congested for various reasons such that network 151 fails to receive more frames or is not capable of doing so. A buffer-to-buffer credit mechanism is used for this purpose. In a typical implementation, switch 109 assigns a predetermined number of credits to switch 107. Credits are used each time the switch 107 transmits a frame to the switch 109. When switch 109 has an available buffer, switch 109 can then allocate additional credit to switch 107. Switch 109, and consequently switch 107, cannot transmit to network 151 because network 151 fails to receive more frames or is not capable of doing so. Note that the network 151 is described as a congestion point in some embodiments, but in other embodiments the disk array 153 or host 115 can be a source of congestion.

バッファツーバッファクレジットメカニズムは、スイッチ109へのトラフィックフローを減らす非常に大まかなやりかたである。ホスト115およびそれに関連付けられたリンクは追加フレームをスイッチ109から受け取る帯域幅を持つかもしれないが、クレジットメカニズムは、トラフィックがスイッチ107からスイッチ109へ、およびその結果、ネットワーク151へ移動することを阻止するだけでなく、トラフィックがスイッチ107からスイッチ109さらにはホスト115へ移動することも阻止する。バッファツーバッファクレジットメカニズムは、ホスト115のような非輻輳宛先へ移動するトラフィックのブロッキングにつながりえる。ある例では、ホスト111は、輻輳したネットワーク151と通信しえる。ネットワーク151における輻輳のせいで、スイッチ109は、ホスト111からの大量のフレームをキューに入れ、その結果、バッファツーバッファクレジットメカニズムを用いて、ホスト111またはホスト113からのそれ以上のフレームをスイッチ107が送信しないようにする。   The buffer-to-buffer credit mechanism is a very rough way to reduce the traffic flow to the switch 109. Although the host 115 and associated links may have bandwidth to receive additional frames from the switch 109, the credit mechanism prevents traffic from moving from the switch 107 to the switch 109 and consequently to the network 151. In addition, traffic is prevented from moving from the switch 107 to the switch 109 or even the host 115. A buffer-to-buffer credit mechanism can lead to blocking traffic traveling to a non-congested destination such as host 115. In one example, the host 111 can communicate with a congested network 151. Due to congestion in the network 151, the switch 109 queues a large number of frames from the host 111 and consequently uses the buffer-to-buffer credit mechanism to send more frames from the host 111 or host 113 to the switch 107. Do not send.

一方、ホスト113は、いくつかのフレームをホスト115に送信しようと単に試みているだけかもしれない。ネットワーク輻輳は、スイッチ107およびスイッチ109間のバッファツーバッファクレジットメカニズムをスイッチ109が実現するようにするので、真の輻輳点はネットワーク151であるにもかかわらず、スイッチ107およびスイッチ109を結合するリンクを通ってホスト113からホスト115へはフレームは移動できない。フレームは、ネットワーク151またはディスクアレイ153における輻輳のせいで、もはやホスト115へ、またはネットワーク151へ送信されえない。   On the other hand, host 113 may simply be trying to send some frames to host 115. Since network congestion allows switch 109 to implement a buffer-to-buffer credit mechanism between switch 107 and switch 109, the link that couples switch 107 and switch 109 even though the true congestion point is network 151 The frame cannot move from the host 113 to the host 115 through the path. The frame can no longer be sent to the host 115 or to the network 151 due to congestion in the network 151 or disk array 153.

フレームは一般に、レイヤ3パケット構成物(layer three packet constructs)を含むレイヤ2構成物(layer two constructs)であることに注意されたい。フレームおよびパケットは一般に、ネットワーク送信を記述するためにここでは同じ意味で用いられる。ここでの輻輳点はネットワーク151であるにもかかわらず、他の想定される輻輳の点は、ホスト115、またはスイッチ109に接続されたディスクアレイ153でありえる。   Note that frames are generally layer two constructs, including layer three packet constructs. Frame and packet are generally used interchangeably herein to describe network transmission. Although the congestion point here is the network 151, another possible congestion point can be the host 115 or the disk array 153 connected to the switch 109.

スイッチ107はもはやスイッチ109に送信できないので、スイッチ107は同じバッファツーバッファクレジットメカニズムをスイッチ103および105についても実現しなければならない。スイッチ103および105がもはやスイッチ107に送信できないとき、スイッチ103および105はバッファツーバッファクレジットメカニズムをスイッチ101について実現しなければならない。輻輳は結果としてネットワーク全体に波及しえる。波及する輻輳現象は、輻輳拡散とも呼ばれえる。   Since switch 107 can no longer transmit to switch 109, switch 107 must implement the same buffer-to-buffer credit mechanism for switches 103 and 105 as well. When switches 103 and 105 can no longer transmit to switch 107, switches 103 and 105 must implement a buffer-to-buffer credit mechanism for switch 101. Congestion can result in the entire network. The spreading congestion phenomenon can also be referred to as congestion spreading.

図2は、ヘッドオブラインブロッキングを描く簡略化されたネットワークの概略図である。図2において、送信元ノード211は、宛先ノード217へスイッチ201および203を通してデータを送信している。送信元ノード213は、宛先ノード219へスイッチ201および203を通してデータを送信している。宛先ノード217および219と共に送信元ノード211および213は、スイッチ、ホスト、外部ネットワーク、またはディスクのようなエンティティでありえる。ある例ではリンク221、223、および229はそれぞれ、毎秒10バイトの送信が可能である。リンク225は、毎秒100バイトの送信が可能である。しかしリンク227は毎秒1バイトの送信しか可能ではない。もし宛先ノード211および送信元ノード213の両方がそれぞれの宛先217および219に毎秒10バイトで送信しているなら、リンク227は毎秒1バイトでしか送信できないので輻輳がスイッチ203で生じる。送信元ノード211からのパケットまたはフレームは、スイッチ203が宛先ノード217に対して充分なレートで送信できないために、スイッチ203において累積する。スイッチ203は、リンク225と関連付けられた共用メモリ231を持つ。スイッチ201は、リンク221および223と関連付けられた共用メモリ233および共用メモリ235をそれぞれ持つ。共用メモリおよびそれぞれのスイッチの輻輳特性のさらなる詳細は、図3を参照して以下に述べられる。   FIG. 2 is a schematic diagram of a simplified network depicting head of line blocking. In FIG. 2, the transmission source node 211 transmits data to the destination node 217 through the switches 201 and 203. The transmission source node 213 transmits data to the destination node 219 through the switches 201 and 203. Source nodes 211 and 213 along with destination nodes 217 and 219 can be entities such as switches, hosts, external networks, or disks. In one example, links 221, 223, and 229 can each transmit 10 bytes per second. The link 225 can transmit 100 bytes per second. However, the link 227 can only transmit 1 byte per second. If both destination node 211 and source node 213 are transmitting to their destinations 217 and 219 at 10 bytes per second, congestion occurs at switch 203 because link 227 can only transmit at 1 byte per second. Packets or frames from the source node 211 are accumulated in the switch 203 because the switch 203 cannot transmit to the destination node 217 at a sufficient rate. The switch 203 has a shared memory 231 associated with the link 225. The switch 201 has a shared memory 233 and a shared memory 235 associated with the links 221 and 223, respectively. Further details of the shared memory and the congestion characteristics of each switch are described below with reference to FIG.

共用メモリの実現例において、スイッチ203は、リンク225から起こる全てのトラフィックのための共用メモリ231を持つ。この共用メモリ231は、宛先ノード217または宛先ノード219のいずれに向けられたパケットおよびフレームでも保存できる。もし宛先ノード217に向けられたパケットまたはフレームがスイッチ203に関連付けられた共用メモリを一杯にするなら、宛先ノード217または宛先ノード219のいずれかに向けられたフレームはもはやスイッチ203において受け付けられない。そうなるとスイッチ203は、バッファツーバッファクレジットメカニズムを用いて入ってくるさらなるトラフィックをブロックできる。バッファツーバッファクレジットメカニズムは、送信元211から宛先217への輻輳したパスに沿って流れるトラフィックだけでなく、送信元213から宛先219へのもともとは輻輳していなかったパスに沿ったトラフィックを遅くする。遅くされたトラフィックの結果、リンク225上の帯域幅が、ノード213およびノード219間のトラフィックを転送するのよりもより適しているにもかかわらず、ノード213はノード219へ毎秒1バイトしか送信できない。   In the shared memory implementation, switch 203 has a shared memory 231 for all traffic originating from link 225. This shared memory 231 can store packets and frames destined for either the destination node 217 or the destination node 219. If a packet or frame destined for destination node 217 fills the shared memory associated with switch 203, a frame destined for either destination node 217 or destination node 219 is no longer accepted at switch 203. The switch 203 can then block further incoming traffic using a buffer-to-buffer credit mechanism. The buffer-to-buffer credit mechanism slows not only traffic that flows along the congested path from source 211 to destination 217, but also traffic along the originally uncongested path from source 213 to destination 219. . As a result of the delayed traffic, node 213 can only send 1 byte per second to node 219, even though the bandwidth on link 225 is better suited to transfer traffic between node 213 and node 219 .

本発明の技術は、輻輳を検出し、輻輳したパスに沿ったフローのトラフィックを減らしながら他のトラフィックフローを許しつづけることができる命令を生成するメカニズムを提供する。本発明の技術は、宛先に関係なくトラフィックを無差別にブロックする標準的なバッファツーバッファクレジットメカニズムを起動することを避けようと試みる。無差別ブロッキングは、変動するファイバチャネルの標準が存在するために、ファイバチャネルネットワークにおいては頻繁に起こりえる。ある例では、あるラインは毎秒1ギガビットを扱うように構成されえるが、一方、他のラインは毎秒2または10ギガビットを扱うように構成されえる。   The technique of the present invention provides a mechanism to detect congestion and generate instructions that can continue to allow other traffic flows while reducing the traffic of the flows along the congested path. The technique of the present invention attempts to avoid invoking a standard buffer-to-buffer credit mechanism that blocks traffic indiscriminately regardless of destination. Promiscuous blocking can occur frequently in Fiber Channel networks due to the presence of changing Fiber Channel standards. In one example, some lines may be configured to handle 1 gigabit per second while other lines may be configured to handle 2 or 10 gigabits per second.

図3は、バッファツーバッファクレジットメカニズムと共に本発明の技術を実現できるスイッチの概略図である。スイッチ301は、外部ノード351、353、355、および357に接続される。スイッチ301は、それぞれのスイッチポートに関連付けられた共用メモリであるバッファ303を含む。バッファ303は、外部ノード351に関連付けられる。外部ノード353、355、および357に関連付けられたバッファは、簡潔さのために示されない。バッファ303は、外部ノード353、355、357が宛先のトラフィックをホールドでき、外部ノード351へのトラフィックをループバックできる。   FIG. 3 is a schematic diagram of a switch that can implement the techniques of the present invention with a buffer-to-buffer credit mechanism. The switch 301 is connected to external nodes 351, 353, 355, and 357. The switch 301 includes a buffer 303 that is a shared memory associated with each switch port. The buffer 303 is associated with the external node 351. Buffers associated with foreign nodes 353, 355, and 357 are not shown for brevity. The buffer 303 can hold traffic destined for the external nodes 353, 355, and 357, and can loop back traffic to the external node 351.

典型的な実現例では、さまざまな外部ノードが宛先のフレームは全て同じバッファ303に置かれる。その結果、外部ノード353のような特定のノードが宛先の大量のフレームをスイッチ301が受け取るとき、外部ノード353に関連付けられたフレームはバッファ303全体を消費しえる。バッファ303がフルのとき、外部ノード351からのさらなるトラフィックはブロックされるが、それはスイッチ301が追加のクレジットを外部ノード351に割り当てないからである。外部ノード353が宛先のトラフィックは、他の非輻輳外部ノード群のうちいずれかが宛先のトラフィックと共にブロックされる。   In a typical implementation, frames destined for various foreign nodes are all placed in the same buffer 303. As a result, when the switch 301 receives a large number of frames destined for a particular node, such as an external node 353, the frames associated with the external node 353 can consume the entire buffer 303. When buffer 303 is full, further traffic from external node 351 is blocked because switch 301 does not allocate additional credit to external node 351. The traffic destined for the external node 353 is blocked together with the traffic destined for any of the other non-congested external nodes.

さまざまな実施形態によれば、バッファ303に格納されたフレームは、フレーム記述子キュー311〜347中のポインタによって参照される。それぞれのフレーム記述子は、バッファ303中のどこにフレームが格納されているかを特定するポインタまたは参照を含みえる。共用バッファへのポインタまたは参照は、ここでは記述子と呼ばれる。記述子はまた、フレーム優先度のような他の情報を特定することもできる。   According to various embodiments, frames stored in buffer 303 are referenced by pointers in frame descriptor queues 311 to 347. Each frame descriptor may include a pointer or reference that identifies where in the buffer 303 the frame is stored. A pointer or reference to a shared buffer is referred to herein as a descriptor. The descriptor can also specify other information such as frame priority.

ある例では、アービトレータ305は、ラウンドロビン法を用いてフレームを選択する。第1ラウンドで、外部ノード353が宛先のフレームが選択される。第2ラウンドでは外部ノード355が宛先のフレームが選択される、などのようになる。より具体的には、アービトレータ305は、外部ノード353が宛先である記述子311に関連付けられた高優先度のフレームをまず選択し、外部ノード355が宛先である記述子321に関連付けられた高優先度のフレームをそれから選択し、外部ノード357が宛先である記述子331に関連付けられた高優先度のフレームを次に選択する、などのようになる。当業者には理解されるように、フレームを選択するためのさまざまな技術が使用されえることに注意されたい。   In one example, the arbitrator 305 selects a frame using a round robin method. In the first round, a frame destined for the external node 353 is selected. In the second round, the external node 355 selects a destination frame, and so on. More specifically, the arbitrator 305 first selects the high priority frame associated with the descriptor 311 destined for the external node 353, and the high priority associated with the descriptor 321 whose external node 355 is the destination. Then select the high-priority frame associated with the descriptor 331 to which the external node 357 is the destination, and so on. Note that various techniques for selecting a frame may be used, as will be appreciated by those skilled in the art.

宛先に基づいて割り当てられたバッファを持つキューイングシステムは、仮想出力キュー(VOQ)と呼ばれる。VOQは、Tamir Y., Frazier G.らの「High Performance multi-queue buffers for VLSI communications switches」、Proc. Of 15th Ann.Symp.On Comp. Arch.,pp.343-354, June 1988にさらに記載され、その全体が全ての目的のためにここで参照によって援用される。上述のように、特定の外部ノードに関連付けられた共用バッファ空間が、特定の宛先に宛てられたトラフィックのためにフルになるとき、その特定の外部ノードから任意の宛先に宛てられた全てのトラフィックはブロックされる。これは、トラフィックが以前には非輻輳である宛先へと流れることさえ阻止しえ、輻輳が波及することを引き起こしえる。その結果、ターゲットフロー上の輻輳を検出し特に緩和するための技術を提供することが望まれる。特定の特性を持つ2つのノード間のトラフィックを示す抽象化された概念をここではフローと呼ぶ。ある例では、フローは、送信元識別子、宛先識別子、優先度、クラス、および交換識別子によって参照される。他の特性も可能である。しかしフローは送信元および宛先識別子だけによって参照されてもよいことに注意されたい。 A queuing system with buffers allocated based on destination is called a virtual output queue (VOQ). VOQ is further added to Tamil Y., Frazier G. et al. “High Performance multi-queue buffers for VLSI communications switches”, Proc. Of 15 th Ann. Symp. On Comp. Arch., Pp. 343-354, June 1988 Described and incorporated herein by reference in its entirety for all purposes. As described above, when the shared buffer space associated with a particular foreign node becomes full for traffic destined for a particular destination, all traffic destined for that destination from that particular foreign node Is blocked. This can even prevent traffic from flowing to destinations that were previously non-congested, causing congestion to spill over. As a result, it is desirable to provide a technique for detecting and particularly mitigating congestion on the target flow. The abstract concept that represents traffic between two nodes with specific characteristics is referred to herein as a flow. In one example, a flow is referenced by a source identifier, destination identifier, priority, class, and exchange identifier. Other characteristics are possible. Note, however, that a flow may be referenced only by source and destination identifiers.

図4は、輻輳検出に用いられるテーブルである。図4は、輻輳を緩和するための命令が生成されるべきときを示す値を持つテーブルを示す。輻輳したネットワークノードからネットワーク中の他のノードに送信される輻輳緩和のためのメッセージおよび命令は、抑制メッセージとここでは呼ばれる。   FIG. 4 is a table used for congestion detection. FIG. 4 shows a table with values indicating when an instruction to relieve congestion should be generated. Congestion mitigation messages and instructions sent from a congested network node to other nodes in the network are referred to herein as suppression messages.

テーブル401中のカラム403は、抑制メッセージが生成されえるスイッチのバッファレベルを示す。バッファレベルカラム403は、抑制メッセージ生成の間に受信された、受信フレームの数を示すインターバルカラム405と関連付けられる。ロウ411は、512個のパケットをホールドできるバッファ内のパケットの数が0および10の間にあるとき、抑制メッセージが生成されないことを示す。パケットの数が11および15の間のとき、260フレーム毎に一つの抑制メッセージが生成される。キュー中のパケットの数が112および127の間のとき、6つのフレームが処理された後に一つの抑制メッセージが生成される。抑制メッセージ生成の間のインターバルを決定する一つの式は次の通りである。   A column 403 in the table 401 indicates the buffer level of the switch for which a suppression message can be generated. The buffer level column 403 is associated with an interval column 405 indicating the number of received frames received during suppression message generation. Row 411 indicates that no suppression message is generated when the number of packets in the buffer that can hold 512 packets is between 0 and 10. When the number of packets is between 11 and 15, one suppression message is generated every 260 frames. When the number of packets in the queue is between 112 and 127, one suppression message is generated after 6 frames have been processed. One equation that determines the interval between suppression message generation is:

X=512個のパケットのバッファ容量に基づくパケットによるバッファレベル
N=抑制メッセージ生成間のインターバル
もしX/16≧8ならN=4、そうでなければN=4+2^(8−(X/16))
X = buffer level by packet based on buffer capacity of 512 packets N = interval between generation of suppression messages N = 4 if X / 16 ≧ 8, N = 4 + 2 ^ (8− (X / 16) otherwise )

当業者には理解されるように、さまざまな異なる方程式が用いられえる。方程式は、バッファ容量またはサービスパラメータのネットワーク品質に基づいて変化しえる。   As will be appreciated by those skilled in the art, a variety of different equations can be used. The equation can vary based on buffer capacity or network quality of service parameters.

図4に示されるテーブルは、いつ抑制メッセージを生成すべきかを決めるための決定論的手法を提供する。さまざまな他の技術も用いられえることに注意されたい。ある例では、それぞれのバッファレベルは、抑制メッセージ生成の確率に関連付けられえる。例えばバッファレベルが80パーセントに達するとき、フレームを受信して抑制メッセージが生成されるのは70パーセントの確率である。バッファレベルが50パーセントの容量に達するとき、フレームを受信して抑制メッセージが生成されるのは10パーセントの確率である。バッファレベルが10パーセントの容量に達するとき、フレームを受信して抑制メッセージが生成されるのは0.01パーセントの確率である。   The table shown in FIG. 4 provides a deterministic approach for determining when to suppress messages. Note that various other techniques can also be used. In one example, each buffer level can be associated with a probability of suppression message generation. For example, when the buffer level reaches 80 percent, there is a 70 percent probability that a suppression message is generated upon receipt of a frame. When the buffer level reaches 50 percent capacity, it is a 10 percent probability that a suppression message is generated upon receipt of a frame. When the buffer level reaches 10 percent capacity, there is a 0.01 percent probability of receiving a frame and generating a suppression message.

しかし決定論的手法は、非決定論的手法に比べていくつかの利点を提供する。特に決定論的手法は、抑制メッセージのバーストを発生することを防ぐ。ランダム確率関数を用いると、いくつかの抑制メッセージは、乱数発生器の特性に基づいて近接して発生されえる。抑制メッセージのバーストは、トラフィックの低減に対して大きすぎる影響を与えかねず、バースト間のラグは救済されない輻輳につながりえる。決定論的手法はよりバースティではないようになりえる。しかし非決定論的手法も、抑制メッセージバーストを最小化するために、より複雑な制御アルゴリズムを使用できることに注意されたい。   However, the deterministic approach offers several advantages over the non-deterministic approach. In particular, deterministic techniques prevent the occurrence of bursts of suppression messages. With a random probability function, several suppression messages can be generated in close proximity based on the characteristics of the random number generator. Bursts of suppression messages can have too much impact on traffic reduction, and lag between bursts can lead to unrelieved congestion. Deterministic approaches can be less bursty. Note, however, that non-deterministic approaches can also use more complex control algorithms to minimize suppressed message bursts.

抑制メッセージの送信のための間隔および頻度を決定するために多くのテーブルおよび多くの異なる値が用いられえる。テーブルの値を設定するファクタは、ネットワークサイズ、出力ポートの数、バッファサイズ、および遅延許容範囲を含みえる。抑制メッセージは、トラフィックの性質がバースティであるときには、より頻繁に生成されえる、一方、抑制メッセージはトラフィックがより定常であるときには、より頻繁ではないように生成されえる。さまざまな実施形態によれば、抑制メッセージのための頻度および間隔は、バッファサイズそのものではなく、バッファサイズにおける変化またはバッファサイズにおける変化の微分に依存しえる。もしバッファレベルが急速に大きくなっているなら、抑制メッセージはより頻繁に生成されえる。ある例では、バッファレベルが充分に速い速度で大きくなっているなら、連続した抑制メッセージがすぐに生成されえる。   Many tables and many different values can be used to determine the interval and frequency for sending suppression messages. Factors that set the values in the table can include network size, number of output ports, buffer size, and delay tolerance. Suppression messages can be generated more frequently when the nature of the traffic is bursty, while suppression messages can be generated less frequently when the traffic is more stationary. According to various embodiments, the frequency and interval for suppression messages may depend on the change in buffer size or the derivative of the change in buffer size, not the buffer size itself. If the buffer level is growing rapidly, suppression messages can be generated more frequently. In one example, if the buffer level is growing fast enough, successive suppression messages can be generated immediately.

図5は、輻輳を検出する手法を示すプロセスフロー図である。501においてフレームは上流の外部ノードから受信される。503において、フレームは、特定の外部ノードに関連付けられたバッファ内の正しいキューに分類される。分類器(classifier)ロジックは、宛先ポート、優先度、および送信元および宛先アドレスのようなさまざまなパラメータを使用して、フレームを正しいキューに置きえる。505において、特定の外部ノードに関連付けられたバッファのレベルが決定される。   FIG. 5 is a process flow diagram illustrating a technique for detecting congestion. At 501, the frame is received from an upstream external node. At 503, the frame is classified into the correct queue in the buffer associated with a particular foreign node. Classifier logic can use various parameters such as destination port, priority, and source and destination addresses to place frames in the correct queue. At 505, the level of a buffer associated with a particular external node is determined.

507において、バッファレベル決定を用いて、図4に示されるようなデータ構造が参照され、抑制メッセージが送信されるフレーム間隔が見つかる。ある例では、抑制メッセージはNフレームが受信された後に送信される。すなわち、スイッチは、その上流外部ノードへ抑制メッセージを送信する前に、その上流外部ノードからさまざまな外部ノードへNフレーム送信できる。509において、最後の抑制メッセージが生成されてからNフレーム以上が転送されたかどうか決定される。もしNフレーム間隔が経ったなら、511においてバッファレベルが低スレッショルド未満であるかどうかが決定される。もしバッファレベルが低スレッショルド未満であるなら、抑制メッセージは生成されず、フレームは513において送信スケジューリングのためにキューイングされる。そうでなければ、抑制メッセージは515で生成される。抑制メッセージは上流外部ノードに送信される。上流外部ノードから受信されたフレームは、フレーム中の宛先識別子によって示された宛先ノードへ向けた送信スケジューリングのためにキューイングされる。   At 507, the buffer level decision is used to look up the data structure as shown in FIG. In one example, the suppression message is sent after N frames are received. That is, the switch can send N frames from its upstream external node to various external nodes before sending a suppression message to its upstream external node. At 509, it is determined whether more than N frames have been transferred since the last suppression message was generated. If N frame intervals have passed, it is determined at 511 whether the buffer level is below the low threshold. If the buffer level is below the low threshold, no suppression message is generated and the frame is queued for transmission scheduling at 513. Otherwise, a suppression message is generated at 515. The suppression message is sent to the upstream external node. Frames received from upstream external nodes are queued for transmission scheduling toward the destination node indicated by the destination identifier in the frame.

抑制メッセージが生成されるときを決定するさまざまな手法が考えられることに注意されたい。例えば抑制メッセージは、周期的な時間間隔で生成されえる。すなわち、抑制メッセージは、一定の期間が経過した後に生成されえる。周期的時間間隔は、所定のものとして設定されても動的に設定されてもよい。バッファレベルも抑制メッセージが生成される時間間隔を支配するために用いられえる。バッファレベルが高いとき、抑制メッセージは、より小さい時間間隔でより頻繁に生成されえる。バッファレベルが低いとき、抑制メッセージが生成される前には、より大きい時間間隔が経過しえる。他の例では、抑制メッセージは、同じフローに関連付けられたフレームの数がバッファの特定のセットされた部分を超えるときに生成されえる。ある例では、バッファの50パーセントより多くの部分が同じ送信元および宛先のペアに関連付けられたフレームで満たされるとき、抑制メッセージが生成され、送信元ノードに送信されえる。さらに他の実施形態においては、抑制メッセージは、ある送信元ノードから多数のフレームを小さい時間間隔で受信するとランダムに生成されえる。   Note that various approaches are possible to determine when the suppression message is generated. For example, suppression messages can be generated at periodic time intervals. That is, the suppression message can be generated after a certain period of time has elapsed. The periodic time interval may be set as a predetermined one or may be set dynamically. The buffer level can also be used to govern the time interval over which the suppression message is generated. When the buffer level is high, suppression messages can be generated more frequently in smaller time intervals. When the buffer level is low, a larger time interval may elapse before the suppression message is generated. In other examples, a suppression message may be generated when the number of frames associated with the same flow exceeds a particular set portion of the buffer. In one example, when more than 50 percent of the buffer is filled with frames associated with the same source and destination pair, a suppression message may be generated and sent to the source node. In still other embodiments, the suppression message may be randomly generated when multiple frames are received from a source node at small time intervals.

バッファおよびバッファ内のフレームの特性を分析することによって、抑制メッセージは必要に応じて生成され、特定のフローに向けて導かれえる。抑制メッセージは、特定のフローについてサービス品質を提供するためにも用いられえる。例えば、バッファの特定のパーセンテージは、クリチカルな外部ノードからの優先度の高いトラフィックについてのフレームを受信するために予約されえる。もしバッファレベルが確保されたレベルに近づくと、抑制メッセージが生成され、優先トラフィックに関連付けられていないさまざまなフローに送信されえるか、または抑制メッセージが生成され、非クリチカル外部ノードに送信されえる。優先トラフィックがクリチカル外部ノードから受信されるときは、バッファレベルがほとんど全部がフルになるまで抑制メッセージが生成されない。予約されたバッファ部分は、複数の外部ノードについての複数のフローに割り当てされえる。ある例では、出力バッファの25パーセントを4つの外部ノードのそれぞれに提供することがゴールでありえる。ある特定の外部ノードに関連付けられたバッファの部分が35パーセントを超えるときか、またはバッファ全体のレベルが80パーセントを超えるとき、抑制メッセージは生成されえる。それから抑制メッセージは、バッファレベルが85または90パーセントを超えるときにより頻繁に生成されえる。サービス品質を提供するためのさまざまなメカニズムは、抑制メッセージの生成を用いて実現されえる。バッファレベルの分析および特性に関する情報も抑制メッセージ中に提供されえる。   By analyzing the characteristics of the buffer and the frames in the buffer, suppression messages can be generated as needed and directed to a specific flow. Suppression messages can also be used to provide quality of service for specific flows. For example, a certain percentage of the buffer may be reserved to receive frames for high priority traffic from critical external nodes. If the buffer level approaches the reserved level, a suppression message can be generated and sent to various flows that are not associated with priority traffic, or a suppression message can be generated and sent to a non-critical external node. When priority traffic is received from a critical foreign node, no suppression message is generated until the buffer level is almost full. The reserved buffer portion can be allocated to multiple flows for multiple external nodes. In one example, the goal may be to provide 25 percent of the output buffer to each of the four external nodes. A suppression message may be generated when the portion of the buffer associated with a particular foreign node exceeds 35 percent, or when the overall buffer level exceeds 80 percent. Suppression messages can then be generated more frequently when the buffer level exceeds 85 or 90 percent. Various mechanisms for providing quality of service can be realized using generation of suppression messages. Information regarding buffer level analysis and characteristics may also be provided in the suppression message.

さらにより正確な輻輳制御は、異なる抑制メッセージを用いることによって、またはそれぞれの抑制メッセージ中の情報を提供することによって実現されえる。図6は、バッファまたはキューレベルに基づいて輻輳したスイッチにおけるさまざまな抑制メッセージの生成を描く図である。バッファレベルが高スレッショルド607を超えると、パス抑制(path quench)が生成されえる。パス抑制は、送信元ノードおよび輻輳したスイッチの間の全てのスイッチが、特定のフローに関連付けられた輻輳スイッチに向けられたトラフィックを送信するのをすぐに止めるよう指示する。パス抑制は、輻輳スイッチにおけるバッファレベルが容量に近く、かつクレジットおよびバッファツーバッファクレジットメカニズムの枯渇を防ぐために即時のトラフィック低減が必要なときに使用されえる。高スレッショルドは、バッファサイズとクレジットの枯渇を避ける重要性とに基づいて変わりえる。ある例では、高スレッショルドはバッファサイズの90パーセントに設定される。   Even more accurate congestion control can be achieved by using different suppression messages or by providing information in each suppression message. FIG. 6 depicts the generation of various suppression messages in a congested switch based on buffer or queue level. When the buffer level exceeds the high threshold 607, path quench can be generated. Path suppression instructs all switches between the source node and the congested switch to immediately stop sending traffic destined for the congested switch associated with the particular flow. Path suppression can be used when the buffer level at the congestion switch is close to capacity and immediate traffic reduction is needed to prevent depletion of credit and buffer-to-buffer credit mechanisms. The high threshold can vary based on the buffer size and the importance of avoiding credit depletion. In one example, the high threshold is set to 90 percent of the buffer size.

もしバッファレベルが高スレッショルド607および低スレッショルド603の間にあるなら、エッジ抑制メッセージ(edge quench message)が輻輳スイッチによって生成されえる。このエッジ抑制メッセージは、送信元ノードに最も近い輻輳制御スイッチが、その輻輳したスイッチへのトラフィックフローを減らすよう指示する。トラフィックフローを減らすために他のネットワークノードからのインストラクション(instructions)を認識できるネットワークノードは、ここでは輻輳制御スイッチと呼ばれる。エッジ抑制メッセージは、特定の送信元ノードからのトラフィックフローを徐々に減らすことができる。抑制メッセージの生成を阻止するためにカットオフスレッショルド601も提供されえる。抑制メッセージを送信しないことによって、抑制メッセージが不必要なときには輻輳制御および他のトラフィックの低減が避けられる。   If the buffer level is between the high threshold 607 and the low threshold 603, an edge quench message can be generated by the congestion switch. This edge suppression message instructs the congestion control switch closest to the source node to reduce the traffic flow to the congested switch. A network node that can recognize instructions from other network nodes to reduce traffic flow is referred to herein as a congestion control switch. Edge suppression messages can gradually reduce the traffic flow from a particular source node. A cut-off threshold 601 may also be provided to prevent the generation of suppression messages. By not sending the suppression message, congestion control and other traffic reductions are avoided when the suppression message is unnecessary.

抑制メッセージは、バッファレベルについての情報も含みえる。ある例では、パス抑制(path quench)およびエッジ抑制(edge quench)メッセージは、バッファレベルがターゲットまたは平衡レベルを超えるかどうかについての情報を提供する指示子(indicator)を含む。ターゲットまたは平衡レベル605は、特定の輻輳制御スイッチにおける最大スループットを提供する最適なバッファレベルでありえる。もしバッファレベルがターゲットレベル605より上、または下であるなら、輻輳制御スイッチがさまざまな時刻においての送信レートをよりよく決定できるようにするため、その情報は輻輳制御スイッチに送信されえる。ある例では、もしバッファレベルがターゲットレベル605より上なら、輻輳制御スイッチはそのフローに関連付けられたその送信レートを下げ、調整のあと送信レートを徐々に上げるよう選択しえる。あるいは、もしバッファレベルがターゲットレベル605より下なら、輻輳制御スイッチはそのフローに関連付けられたその送信レートを下げ、調整のあと送信レートをより急激に上げるよう選択しえる。   The suppression message may also include information about the buffer level. In one example, the path quench and edge quench messages include an indicator that provides information about whether the buffer level exceeds the target or equilibrium level. The target or balance level 605 can be the optimal buffer level that provides maximum throughput at a particular congestion control switch. If the buffer level is above or below the target level 605, that information can be sent to the congestion control switch to allow the congestion control switch to better determine the transmission rate at various times. In one example, if the buffer level is above the target level 605, the congestion control switch may choose to lower its transmission rate associated with that flow and gradually increase its transmission rate after adjustment. Alternatively, if the buffer level is below the target level 605, the congestion control switch may choose to lower its transmission rate associated with that flow and increase its transmission rate more rapidly after adjustment.

現在および過去のバッファレベル情報は、輻輳制御スイッチに提供されえる。ある実施形態においては、バッファレベルにおける変化も輻輳制御スイッチに提供されえる。もしバッファレベルが増加しているなら、輻輳制御スイッチは、そのフローに関連付けられたその送信レートを減少させ、より低い送信レートを維持し、その後、ある期間が経過した後で徐々にその送信レートを上げるよう選択しえる。   Current and past buffer level information may be provided to the congestion control switch. In some embodiments, changes in the buffer level can also be provided to the congestion control switch. If the buffer level has increased, the congestion control switch will decrease its transmission rate associated with that flow, maintain a lower transmission rate, and then gradually increase its transmission rate after a period of time has elapsed. You can choose to raise.

図6は、パス抑制またはエッジ抑制メッセージを送るかどうかを決定する高および低スレッショルドを示すが、さまざまな個数のスレッショルド群が用いられえることに注意されたい。ある例では、パス抑制は、その輻輳したスイッチおよび送信元ノードの間の全ての輻輳制御スイッチが、特定のフローに関連付けられた送信レートを0に落とすよう指示する。エッジ抑制は、送信元ノードに最も近い輻輳制御スイッチが特定のフローに関連付けられた送信レートを以前に許されたレートの半分に落とすよう指示する。他の例では、3つの異なるスレッショルドに対するバッファレベル群の比較に基づいて、3つのタイプの抑制メッセージ群が用いられる。   Note that although FIG. 6 shows the high and low thresholds that determine whether to send path suppression or edge suppression messages, various numbers of threshold groups can be used. In one example, path suppression instructs all congestion control switches between the congested switch and the source node to drop the transmission rate associated with a particular flow to zero. Edge suppression instructs the congestion control switch closest to the source node to drop the transmission rate associated with a particular flow to half of the previously allowed rate. In another example, three types of suppression message groups are used based on a comparison of buffer level groups for three different thresholds.

パス抑制は、その輻輳したスイッチおよび送信元ノードの間の全ての輻輳制御スイッチが特定のフローに関連付けられた送信レートを0に落とすよう指示しえる。しかしこの場合のリカバリレートは急速でありえることに注意されたい。エッジ抑制は、送信元ノードに最も近い輻輳制御スイッチが、送信レートを許されたレートの半分に落とすよう指示する。ある実施形態においては、エッジ抑制およびパス抑制メッセージは、バッファ特性情報を含まなくてもよい。他の実施形態においては、抑制メッセージがバッファレベルの現在、過去、および変化についての充分な情報を含む、単一の抑制メッセージが用いられえる。ホストはパス抑制またはエッジ抑制メッセージを理解できないかもしれないので、抑制メッセージは、さまざまな実施形態によればネットワークのエッジにおいて止められるべきである。   Path suppression may instruct all congestion control switches between the congested switch and the source node to drop the transmission rate associated with a particular flow to zero. Note, however, that the recovery rate in this case can be rapid. Edge suppression instructs the congestion control switch closest to the source node to drop the transmission rate to half of the allowed rate. In some embodiments, edge suppression and path suppression messages may not include buffer characteristic information. In other embodiments, a single suppression message may be used, where the suppression message contains sufficient information about the current, past, and changes in the buffer level. Since hosts may not understand path suppression or edge suppression messages, the suppression messages should be stopped at the edge of the network according to various embodiments.

図7は、輻輳したスイッチにおいて生成されえる抑制メッセージの概略図である。輻輳したスイッチはフレーム700を特定する。フレーム700は、ランダムに選択されるか、またはNフレーム間隔の後に選択されたフレームでありえる。フレーム700は、パケットヘッダ703およびパケットペイロード705を含む。パケットヘッダ703は、アドレスAを持つ宛先識別子711およびアドレスBを持つ送信元識別子713を含む。パケットヘッダは、タイプ715、パラメータ情報721、さらにOX_ID 717も含む。送信パスに沿ったそれぞれのスイッチは、次のホップを決定するために送信元識別子713、宛先識別子711、およびOX_ID 717を使用できる。パケットペイロード705は、宛先ノードによって抽出されるデータ723を含みえる。   FIG. 7 is a schematic diagram of a suppression message that can be generated in a congested switch. The congested switch identifies the frame 700. Frame 700 may be randomly selected or may be selected after N frame intervals. The frame 700 includes a packet header 703 and a packet payload 705. The packet header 703 includes a destination identifier 711 having an address A and a transmission source identifier 713 having an address B. The packet header includes type 715, parameter information 721, and OX_ID 717. Each switch along the transmission path can use the source identifier 713, the destination identifier 711, and the OX_ID 717 to determine the next hop. Packet payload 705 may include data 723 extracted by the destination node.

典型的には輻輳制御スイッチそのものであり、輻輳したスイッチはアドレスAを持つ宛先識別子およびアドレスBを持つ送信元識別子を取り、2つの値を交換することによって、抑制メッセージ750がアドレスBに設定された宛先識別子771およびアドレスAに設定された送信元識別子773を含むようにする。抑制メッセージパケットヘッダ753は、フレームがパス抑制またはエッジ抑制のような抑制メッセージであることを示すタイプ775を含む。フレームがパスまたはエッジ抑制メッセージであることを示すのに用いられる値は、タイプフィールド775についてのベンダーに特有の値のセットでありえる。さまざまな実施形態によれば、抑制メッセージパケットは、バッファ特性情報を含むOX_ID 717およびパラメータ情報781とは異なるOX_ID 777も含みえる。異なるOX_ID 777を持つことによって、送信元識別子773、送信元識別子771、およびOX_IDを用いたパス選択は、異なるパスを生成する。異なるOX_IDはランダムに選択されえる。パケットペイロード755を参照して、抑制メッセージはデータ783を何も含まなくてもよい。   Typically, the congestion control switch itself, the congested switch takes a destination identifier with address A and a source identifier with address B, and by exchanging two values, a suppression message 750 is set at address B. The destination identifier 771 and the transmission source identifier 773 set in the address A are included. The suppression message packet header 753 includes a type 775 indicating that the frame is a suppression message such as path suppression or edge suppression. The value used to indicate that the frame is a path or edge suppression message can be a set of vendor specific values for the type field 775. According to various embodiments, the suppression message packet may also include an OX_ID 777 that includes buffer characteristic information and an OX_ID 777 that is different from the parameter information 781. By having different OX_IDs 777, path selection using source identifier 773, source identifier 771, and OX_ID generates different paths. Different OX_IDs may be selected randomly. Referring to the packet payload 755, the suppression message may not include any data 783.

図8は、抑制メッセージの生成を描くフロープロセス図である。さまざまな実施形態によれば、上述のように他の手法も用いられえるが、最後の抑制メッセージが生成されてから受信されたN番目のフレームに関連付けられたフローは抑制のために選択される。803において、フレーム送信元識別子Sおよびフレーム宛先識別子Dが抽出される。805において、どのタイプの抑制メッセージを生成すべきか決定するだけでなく、輻輳したスイッチおよび送信元ノード間の輻輳制御スイッチに情報を提供するためにも、バッファは特徴付けられえる。   FIG. 8 is a flow process diagram depicting the generation of a suppression message. According to various embodiments, other approaches may be used as described above, but the flow associated with the Nth frame received since the last suppression message was generated is selected for suppression. . In 803, the frame transmission source identifier S and the frame destination identifier D are extracted. At 805, the buffer can be characterized not only to determine what type of suppression message should be generated, but also to provide information to the congestion control switch and the congestion control switch between the source nodes.

805において、もしバッファレベルが高スレッショルドより上であると決定されるなら、Dに設定された送信元識別子およびSに設定された宛先識別子を持つパス抑制メッセージが821において生成される。バッファ特性付け情報(buffer characterization information)は、他のパラメータ情報と共に、825において抑制メッセージに付加されえる。抑制メッセージはそれから、827においてファイバチャネルを用いて送信スケジューリングのためにキューイングされえる。あるいは、Dに設定された送信元識別子およびSに設定された宛先識別子を持つエッジ抑制メッセージが823において生成される。バッファ特性付けおよびパラメータ情報は同様に、825においてエッジ抑制メッセージに付加されえ、抑制メッセージはファイバチャネルを用いて最終的に転送されるよう827においてキューイングされえる。   At 805, if it is determined that the buffer level is above the high threshold, a path suppression message is generated at 821 with the source identifier set to D and the destination identifier set to S. Buffer characterization information may be added to the suppression message at 825 along with other parameter information. The suppression message can then be queued for transmission scheduling at 827 using Fiber Channel. Alternatively, an edge suppression message with a source identifier set to D and a destination identifier set to S is generated at 823. Buffer characterization and parameter information can also be added to the edge suppression message at 825, and the suppression message can be queued at 827 to be finally transmitted using Fiber Channel.

図9は、パス抑制またはエッジ抑制フレームのような抑制メッセージを受信できるネットワークノードを含むネットワークの概略図である。上述のように、輻輳制御スイッチ909は、受信されたフレームの送信元および宛先識別子を交換することによって抑制メッセージを生成できる。ある例では、受信されたフレームの送信元は、ホスト911であり、一方、受信されたフレームの宛先はネットワーク951のノードでありえる。フレームは、スイッチ909へスイッチ901、903、および907を通って移動したかもしれない。輻輳制御スイッチ909は、上述のように抑制メッセージを生成しえる。抑制メッセージは、ホスト911に設定された宛先およびネットワーク951のノードに設定された送信元を持つだろう。もしパス抑制メッセージが生成されるなら、パス抑制メッセージが転送されるそれぞれの輻輳制御スイッチは、輻輳制御メカニズムを実現しえる。この例では、輻輳制御スイッチ907、903、および901がそれぞれ輻輳制御を実現する。   FIG. 9 is a schematic diagram of a network including network nodes that can receive suppression messages such as path suppression or edge suppression frames. As described above, the congestion control switch 909 can generate a suppression message by exchanging the source and destination identifiers of received frames. In one example, the source of the received frame can be the host 911, while the destination of the received frame can be a node of the network 951. The frame may have moved through switches 901, 903, and 907 to switch 909. The congestion control switch 909 can generate a suppression message as described above. The suppression message will have a destination set on the host 911 and a source set on a node in the network 951. If a path suppression message is generated, each congestion control switch to which the path suppression message is forwarded can implement a congestion control mechanism. In this example, the congestion control switches 907, 903, and 901 each implement congestion control.

パス抑制メッセージは、スイッチ903の代わりにスイッチ905に転送されえることに注意されたい。もしパス抑制が、輻輳制御スイッチ901に到達する前に、903への代わりにスイッチ905へ転送されるなら、輻輳制御スイッチ905は抑制メッセージを無視しえるが、これはそれが、ホスト911に設定された送信元およびネットワーク951に設定された宛先を持つフレームが輻輳制御スイッチ905を通って送信されなかったことを認識できるよう構成されえるからである。そうであっても輻輳制御はやはり実現されえる。   Note that the path suppression message can be forwarded to switch 905 instead of switch 903. If path suppression is forwarded to switch 905 instead of 903 before reaching congestion control switch 901, congestion control switch 905 can ignore the suppression message, which is set on host 911. This is because it can be configured to recognize that a frame having a set transmission source and a destination set in the network 951 has not been transmitted through the congestion control switch 905. Even so, congestion control can still be realized.

もしエッジ抑制メッセージが生成されるなら、ホスト911に最も近いスイッチは、輻輳制御メカニズムを実現する。エッジ抑制は輻輳制御スイッチ907に転送され、その後、輻輳制御スイッチ903または輻輳制御スイッチ905のいずれかに転送され、これらの全てはエッジ抑制メッセージを無視する。輻輳制御スイッチ901は、それがホスト911に結合されていることを認識できるので、その結果、エッジ抑制メッセージに関連付けられた輻輳制御メカニズムを実現するだろう。   If an edge suppression message is generated, the switch closest to host 911 implements a congestion control mechanism. Edge suppression is forwarded to the congestion control switch 907 and then to either the congestion control switch 903 or the congestion control switch 905, all of which ignore the edge suppression message. The congestion control switch 901 can recognize that it is coupled to the host 911 and, as a result, will implement a congestion control mechanism associated with the edge suppression message.

図10は、輻輳制御スイッチが、抑制メッセージを生成するフレームを送信したホストに直接に結合されていない、パス抑制のような抑制メッセージを受信できるネットワークノードを含むネットワークの概略図である。この例において、ホスト1011は、フレームをネットワーク1051に向けて送信し、その結果、輻輳制御スイッチ1009においてエッジ抑制メッセージの生成を生じた。輻輳制御スイッチ1009は、エッジ抑制メッセージをホスト1011に向けて輻輳制御スイッチ1007を通して送信する。輻輳制御スイッチのそれぞれにおいて、宛先は、輻輳制御スイッチがホスト1011に最も近いものであるかについての決定がなされえる。   FIG. 10 is a schematic diagram of a network including a network node in which a congestion control switch can receive a suppression message such as path suppression that is not directly coupled to the host that sent the frame that generates the suppression message. In this example, the host 1011 transmits the frame toward the network 1051, and as a result, the congestion control switch 1009 generates an edge suppression message. The congestion control switch 1009 transmits an edge suppression message to the host 1011 through the congestion control switch 1007. In each congestion control switch, a destination can be determined as to whether the congestion control switch is closest to the host 1011.

輻輳制御スイッチがそれがホスト1011に最も近いかどうかを決定できるようにするためにはさまざまなメカニズムが用いられえる。ある例では、もし輻輳制御スイッチがホスト1011と同じドメインにあるなら、特定のスイッチにおいて輻輳制御はすぐに実現されえる。ドメイン情報は、抑制メッセージ中に提供されえ、輻輳制御スイッチ中の任意のドメイン情報と一致判定されえる。他の例では、輻輳制御スイッチは、近接スイッチおよびそれらに関連付けられたドメインのリストを保持しえる。さらに他の実施形態では、トポロジ情報が、どの近接ノードが輻輳制御スイッチであるかについての特定のデータと共に記憶されえる。輻輳制御スイッチがエッジ抑制制御メカニズムを実現すべきかどうかを決定できるようにするために、ストレージエリアネットワークのトポロジマップのような全体のトポロジマップが保持されえる。   Various mechanisms can be used to allow the congestion control switch to determine if it is closest to the host 1011. In one example, if the congestion control switch is in the same domain as the host 1011, congestion control can be readily implemented at a particular switch. Domain information can be provided in the suppression message and can be determined to match any domain information in the congestion control switch. In other examples, the congestion control switch may maintain a list of neighboring switches and their associated domains. In yet other embodiments, topology information may be stored with specific data about which neighboring nodes are congestion control switches. An overall topology map, such as a storage area network topology map, may be maintained to allow the congestion control switch to determine whether an edge suppression control mechanism should be implemented.

トポロジ情報は、グラフ、テーブル、および他のネットワークノードからの個々のリンク制御情報フレームを含むさまざまなフォーマットで保持されえる。トポロジマップの方法および装置は、Andrew S. Tanenbaumによる「Computer Networks」(ISBN: 0133499456)に記載されており、その全体が全ての目的のために参照によって援用される。ファイバチャネルネットワークにおいては、ファブリックコンフィギュレーションサーバ(FCS)と呼ばれるプロトコルが物理的なトポロジの発見を可能にする。   Topology information may be maintained in a variety of formats including graphs, tables, and individual link control information frames from other network nodes. A topology map method and apparatus is described in “Computer Networks” by Andrew S. Tanenbaum (ISBN: 0133499456), which is incorporated by reference in its entirety for all purposes. In a fiber channel network, a protocol called a fabric configuration server (FCS) enables physical topology discovery.

図11は、抑制メッセージを転送する手法を示すプロセスフロー図である。1101において、抑制メッセージは輻輳制御スイッチにおいて受信される。優先度、送信元識別子、宛先識別子、ポート、およびバッファレベル情報のようなフローパラメータは、輻輳制御のために抽出されえる。1105において、抑制メッセージによって示される宛先の前に他の輻輳制御スイッチが存在するか決定される。上述のように輻輳制御スイッチは、パス抑制およびエッジ抑制メッセージのような抑制メッセージを識別するスイッチでありえる。1107において、他の輻輳制御スイッチが宛先の前に存在するので、抑制メッセージは、それがパス抑制であるかまたはエッジ抑制メッセージであるかにかかわらず、ファイバチャネルを用いた送信スケジューリングのためにキューされる。1109において、抑制メッセージがエッジ抑制であるかが決定される。もし抑制メッセージがエッジ抑制であるなら、他のアクションが取られる必要はない。そうでなければ、メッセージはパス抑制であり、輻輳制御に関連するパラメータは1111において記憶される。   FIG. 11 is a process flow diagram illustrating a technique for transferring suppression messages. At 1101, the suppression message is received at the congestion control switch. Flow parameters such as priority, source identifier, destination identifier, port, and buffer level information can be extracted for congestion control. At 1105, it is determined whether there is another congestion control switch before the destination indicated by the suppression message. As described above, the congestion control switch can be a switch that identifies suppression messages such as path suppression and edge suppression messages. At 1107, since another congestion control switch exists before the destination, the suppression message is queued for transmission scheduling using Fiber Channel regardless of whether it is a path suppression or an edge suppression message. Is done. At 1109, it is determined whether the suppression message is edge suppression. If the suppression message is edge suppression, no other action needs to be taken. Otherwise, the message is path suppression and parameters related to congestion control are stored at 1111.

ある例では、抑制パラメータは、輻輳制御スイッチに関連付けられたフィルタまたはコントローラ中に1111において記憶されえる。1113において、もしそのインストラクションがエッジ抑制メッセージであるなら、特定のパラメータ情報に関連付けられたフローの送信のための現在許容されるレートが半分に低減される。さまざまな実施形態によれば、それぞれのフローは、最大許容レートを持ちえる。そうでなければ、そのパラメータ情報に関連付けられたフローについての現在許容されるレートは0に落とされる。特定のフローについての最大送信レートは、ここでは最大許容レートと呼ばれる。抑制インストラクションによって調整された送信レートは、ここでは現在の許容レートと呼ばれる。ある実施形態において送信レートは、最初は最大許容レートであり、抑制インストラクションを受け取ると現在の許容レートに低減される。現在の許容レートはそれから、それが他の抑制インストラクションを受信するか、または最大許容レートに達するかするまで、リカバリレートにおいて増大する。この例では、2つのタイプの抑制メッセージが用いられることに注意されたい。さまざまな実施形態によれば、エッジ抑制メッセージは、宛先に最も近い輻輳制御スイッチにおいて許容レートを半分に落とす。パス抑制メッセージは、宛先に向かうパスに沿った全ての輻輳制御スイッチにおいて許容レートをゼロに落とす。   In an example, the suppression parameter may be stored at 1111 in a filter or controller associated with the congestion control switch. At 1113, if the instruction is an edge suppression message, the currently allowed rate for transmission of the flow associated with the particular parameter information is reduced by half. According to various embodiments, each flow may have a maximum allowable rate. Otherwise, the currently allowed rate for the flow associated with the parameter information is dropped to zero. The maximum transmission rate for a particular flow is referred to herein as the maximum allowable rate. The transmission rate adjusted by the suppression instruction is referred to herein as the current allowable rate. In some embodiments, the transmission rate is initially the maximum allowable rate and is reduced to the current allowable rate upon receipt of the suppression instruction. The current allowable rate then increases at the recovery rate until it receives another suppression instruction or reaches the maximum allowable rate. Note that in this example, two types of suppression messages are used. According to various embodiments, edge suppression messages drop the allowed rate in half at the congestion control switch closest to the destination. The path suppression message drops the allowed rate to zero at all congestion control switches along the path toward the destination.

図12は、輻輳制御スイッチの一例の概略図である。輻輳制御スイッチ1201は、外部ノード1251、1253、1255、および1257に結合される。しかし外部ノード1251からフレームを受信するバッファだけが簡明さのために示される。フレームがスイッチ1201において外部ノード1251から受信されるとき、分類器ロジック1299は、フレームを共用バッファプール(shared buffer pool)1203に置き、それを記述子またはポインタ1211〜1247で参照する。記述子はフレーム優先度を示す情報と関連付けられえる。   FIG. 12 is a schematic diagram of an example of the congestion control switch. The congestion control switch 1201 is coupled to external nodes 1251, 1253, 1255, and 1257. However, only buffers that receive frames from external node 1251 are shown for the sake of clarity. When a frame is received from external node 1251 at switch 1201, classifier logic 1299 places the frame in a shared buffer pool 1203 and references it with descriptors or pointers 1211-1247. The descriptor can be associated with information indicating the frame priority.

さまざまな実施形態によれば、本発明の手法は、受信された抑制メッセージに対応するフレームのためのフィルタキュー1261〜1277を提供する。フィルタ1209は、パス抑制またはエッジ抑制メッセージのような抑制メッセージから抽出された抑制パラメータを保持する。アービトレータ1205は典型的には、送信のためのフレームをラウンドロビン法を用いて選択するが、FIFOおよびランダムのような他の方法も用いられえる。フレームが、バッファ1203から外部ノードへの送信のためにアービトレータ1205によって選択されるとき、フィルタ1209は、選択されたフレームのパラメータを受信された抑制メッセージに関連付けられた抑制パラメータと比較する。ある実施形態においては、フィルタは、32セットの抑制パラメータおよび選択されたフレームのパラメータ間の32の同時比較を実行する。32セットの抑制パラメータのうちの一つと一致するフレーム記述子は、フィルタキュー1207中の32の異なるキューのうちの一つの中に置かれる。   According to various embodiments, the inventive technique provides filter queues 1261-1277 for frames corresponding to received suppression messages. Filter 1209 holds suppression parameters extracted from suppression messages such as path suppression or edge suppression messages. Arbitrator 1205 typically selects a frame for transmission using a round robin method, although other methods such as FIFO and random may be used. When a frame is selected by the arbitrator 1205 for transmission from the buffer 1203 to the external node, the filter 1209 compares the parameters of the selected frame with the suppression parameters associated with the received suppression message. In one embodiment, the filter performs 32 simultaneous comparisons between the 32 sets of suppression parameters and the parameters of the selected frame. Frame descriptors that match one of the 32 sets of suppression parameters are placed in one of 32 different queues in the filter queue 1207.

もし送信元および宛先アドレス対、出力ポート、優先度、および/または他のパラメータが対応するなら、フレーム記述子は、フィルタキュー内への格納のために選択されえる。記述子は、共用バッファプール1203を変えることなく、入力キュー1211〜1247のうちの一つからフィルタキュー1261〜1277へ移動されえる。もしフレームのパラメータがフィルタ1209に保持されたパラメータに対応しないなら、フレーム記述子は、外部ノード1253、1255、1257、および1251のような外部ノードへ転送されえる。そうでなければ、フレームは、レートリミッタに関連付けられたフィルタキュー内に置かれえる。ある例ではフィルタフレームは、レートリミッタ1281に関連付けられたフィルタキュー1261内に置かれる。レートリミッタ1281は、フィルタキュー1261内の記述子に関連付けられたフレームが現在の許容レートに基づいて送信されえるときを決定する。   If the source and destination address pair, output port, priority, and / or other parameters correspond, the frame descriptor can be selected for storage in the filter queue. Descriptors can be moved from one of the input queues 1211-1247 to the filter queues 1261-1277 without changing the shared buffer pool 1203. If the frame parameters do not correspond to the parameters held in the filter 1209, the frame descriptor may be forwarded to an external node such as external nodes 1253, 1255, 1257, and 1251. Otherwise, the frame can be placed in a filter queue associated with the rate limiter. In one example, the filter frame is placed in a filter queue 1261 associated with the rate limiter 1281. The rate limiter 1281 determines when a frame associated with the descriptor in the filter queue 1261 can be transmitted based on the current allowable rate.

図13は、抑制メッセージの受信に基づく1つ以上のレートリミッタに関連付けられた許容レートの考えられる変化を示すグラフである。上述のようにある実施形態においては、パス抑制メッセージは、許容されたレートをゼロに低減し、一方、エッジ抑制メッセージは、その許容されたレートを半分に低減する。グラフによれば、1301において受信されたエッジ抑制は、許容されたレートを半分に低減する。1301および1303の間では、許容されたレートは、スイッチコントローラによって決定されえるリカバリレートで徐々に増加する。リカバリレートは、予め定められたレートでもよく、または抑制メッセージ中で与えられるバッファレベル特性付け情報のような情報に基づく動的に設定されるレートでもよい。   FIG. 13 is a graph illustrating possible changes in the allowed rate associated with one or more rate limiters based on receipt of a suppression message. As described above, in some embodiments, the path suppression message reduces the allowed rate to zero, while the edge suppression message reduces the allowed rate by half. According to the graph, edge suppression received at 1301 reduces the allowed rate by half. Between 1301 and 1303, the allowed rate gradually increases with a recovery rate that can be determined by the switch controller. The recovery rate may be a predetermined rate or a dynamically set rate based on information such as buffer level characterization information provided in the suppression message.

ある例では、輻輳したスイッチのバッファレベルが平衡点に対して低いことをバッファレベル特性付け情報が示すとき、リカバリレートは増加されえる。あるいは輻輳したスイッチのバッファレベルが平衡点に対して高いことをバッファレベル特性付け情報が示すとき、リカバリレートは減少されえる。1303において、レートリミッタに関連付けられた他のエッジ抑制メッセージが受信される。許容されたレートは再び1303において半分に減少される。1303および1305の間で、バッファレベル特性付け情報のようなファクタのために、減少されたリカバリレートが適用される。1305において、パス抑制メッセージが受信され、許容されたレートはゼロに低減される。増加されたレートは、1305および1307の間で適用される。許容されたレートは、1307において最大許容またはラインレートに達し、フィルタキューはこの時点で解放されえる。   In one example, the recovery rate can be increased when the buffer level characterization information indicates that the buffer level of the congested switch is low relative to the equilibrium point. Alternatively, the recovery rate can be reduced when the buffer level characterization information indicates that the buffer level of the congested switch is high relative to the equilibrium point. At 1303, another edge suppression message associated with the rate limiter is received. The allowed rate is again reduced by half at 1303. Between 1303 and 1305, a reduced recovery rate is applied due to factors such as buffer level characterization information. At 1305, a path suppression message is received and the allowed rate is reduced to zero. The increased rate is applied between 1305 and 1307. The allowed rate reaches the maximum allowed or line rate at 1307 and the filter queue may be released at this point.

図14は、抑制メッセージを受信するスイッチにおける輻輳制御の実現法を示すプロセスフロー図である。1401において、フレームが特定される。1403において、フレームパラメータはフィルタ中のパラメータと比較される。比較されるパラメータは、送信元および宛先アドレス、優先度、および出力ポートを含みえる。もしパラメータが1403において一致するなら、フレーム記述子は、レートリミッタと関連付けられたフィルタキュー内に1407において置かれる。フィルタキューは、フレームの送信を遅らせることができる。レートリミッタは、トークンバケット、リーキーバケット、および仮想時間レートリミッタを含むさまざまなメカニズムを用いて実現できる。レートリミッタによって用いられるレートは、受信された抑制メッセージのタイプおよび抑制メッセージ中のバッファレベル特性付け情報に基づいて設定されえる。1409において、レートリミッタは、許容されたレートに基づいてフレームの送信を制御しえる。送信を制御することは、フレームの送信を遅延させることも含む。1405において、フレームは、ファイバチャネルを用いた転送のためにキューされる。もし特定されたフレームのパラメータがフィルタ内のパラメータと1403において一致しないなら、フレームは、ファイバチャネルを用いた即時転送のために1405においてキューされえる。   FIG. 14 is a process flow diagram illustrating a method for implementing congestion control in a switch that receives a suppression message. At 1401, a frame is identified. At 1403, the frame parameter is compared to the parameter in the filter. Parameters to be compared can include source and destination addresses, priority, and output port. If the parameters match at 1403, the frame descriptor is placed at 1407 in the filter queue associated with the rate limiter. The filter queue can delay the transmission of frames. The rate limiter can be implemented using various mechanisms including token buckets, leaky buckets, and virtual time rate limiters. The rate used by the rate limiter may be set based on the type of suppression message received and the buffer level characterization information in the suppression message. At 1409, the rate limiter may control transmission of frames based on the allowed rate. Controlling transmission also includes delaying transmission of frames. At 1405, the frame is queued for transfer using Fiber Channel. If the parameters of the identified frame do not match the parameters in the filter at 1403, the frame can be queued at 1405 for immediate transfer using Fiber Channel.

本発明は、その特定の実施形態を参照して示され記述されてきたが、開示された実施形態の形態および詳細の変更が本発明の精神または範囲から逸脱することなくなされえることが当業者には理解されよう。例えば、本発明の実施形態は、さまざまなネットワークプロトコルおよびアーキテクチャで実現されえる。抑制メッセージのようなインストラクションは、さまざまな異なる時刻において送られえる。したがって本発明は、本発明の精神および範囲に入る全ての改変物および等価物を含むように解釈されるよう意図される。   While the invention has been shown and described with reference to specific embodiments thereof, those skilled in the art will recognize that changes in form and detail of the disclosed embodiments can be made without departing from the spirit or scope of the invention. Will be understood. For example, embodiments of the present invention may be implemented with various network protocols and architectures. Instructions such as suppression messages can be sent at a variety of different times. Accordingly, the present invention is intended to be construed to include all modifications and equivalents falling within the spirit and scope of the invention.

本発明の技術を用いえるネットワークの概略図である。1 is a schematic diagram of a network that can use the techniques of the present invention. FIG. ヘッドオブラインブロッキングを示す概略図である。It is the schematic which shows head of line blocking. 輻輳制御の一例を実現できるスイッチの概略図である。It is the schematic of the switch which can implement | achieve an example of congestion control. バッファレベルに基づいてどのくらい頻繁に抑制メッセージが生成されえるかを示すテーブルである。It is a table showing how often a suppression message can be generated based on the buffer level. 輻輳を検出するスイッチを示すプロセスフロー図である。It is a process flow figure showing a switch which detects congestion. 抑制メッセージの生成に用いられえる抑制レベルのグラフである。4 is a graph of suppression levels that can be used to generate suppression messages. 生成されえるエッジ抑制またはパス抑制メッセージの概略図である。FIG. 6 is a schematic diagram of an edge suppression or path suppression message that may be generated. エッジ抑制またはパス抑制メッセージの生成および送信を示すプロセスフロー図である。FIG. 5 is a process flow diagram illustrating generation and transmission of edge suppression or path suppression messages. 輻輳制御を実現できるネットワークの概略図である。It is the schematic of the network which can implement | achieve congestion control. 輻輳制御を実現できる混合ネットワークの概略図である。It is the schematic of the mixed network which can implement | achieve congestion control. 抑制メッセージを転送する手法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating a technique for transferring a suppression message. 抑制メッセージ受信と共に輻輳制御の可能な実現例を実現できるスイッチの概略図である。It is the schematic of the switch which can implement | achieve the realizable example of congestion control with suppression message reception. 受信されたエッジ抑制およびパス抑制メッセージに基づいて変化する許容されたレートのグラフである。FIG. 6 is a graph of allowed rates that vary based on received edge suppression and path suppression messages. 輻輳制御の実現を示すプロセスフロー図である。It is a process flow figure showing realization of congestion control.

Claims (55)

ネットワークスイッチにおいて輻輳を制御する方法であって、前記方法は、
送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信することであって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信すること、
前記ネットワークスイッチにおけるトラフィックフローを特性付けること、および
前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御すること
を含む方法。
A method for controlling congestion in a network switch, the method comprising:
Receiving a frame having a source identifier field corresponding to a source node and a destination identifier field corresponding to a destination node, the frame passing through a first intermediate switch between the network switch and the source node Receiving, sent to the network switch through,
Characterization traffic flow in the network switch; and controlling traffic from the source node to the destination node by sending a first instruction from the network switch to the first intermediate switch.
請求項1に記載の方法であって、前記第1中間スイッチは、前記送信元ノードに結合されたエッジスイッチである方法。   The method of claim 1, wherein the first intermediate switch is an edge switch coupled to the source node. 請求項1〜2のいずれかに記載の方法であって、第1中間スイッチに送られた前記第1インストラクションは、エッジ抑制フレームを備える方法。   The method according to claim 1, wherein the first instruction sent to the first intermediate switch comprises an edge suppression frame. 請求項3に記載の方法であって、前記エッジ抑制フレームは、前記宛先ノードに対応する送信元識別子フィールドおよび前記送信元ノードに対応する宛先識別子フィールドを有する方法。   4. The method of claim 3, wherein the edge suppression frame has a source identifier field corresponding to the destination node and a destination identifier field corresponding to the source node. 請求項4に記載の方法であって、前記エッジ抑制フレームはネットワークスイッチ輻輳情報を含む方法。   5. The method of claim 4, wherein the edge suppression frame includes network switch congestion information. 請求項4〜5のいずれかに記載の方法であって、前記エッジ抑制フレームはネットワークスイッチキューレベル情報を含む方法。   6. A method according to any of claims 4-5, wherein the edge suppression frame includes network switch queue level information. 請求項4〜6のいずれかに記載の方法であって、前記エッジ抑制フレームは、前記第1中間スイッチが、前記送信元ノードおよび前記宛先ノードから送信ための前記許容されたレートを半分に制御するよう指示する方法。   The method according to any one of claims 4 to 6, wherein in the edge suppression frame, the first intermediate switch controls the allowed rate for transmission from the source node and the destination node in half. How to instruct to do. 請求項1〜7のいずれかに記載の方法であって、前記第1中間スイッチおよび前記ネットワークスイッチは、ファイバチャネルを用いて接続される方法。   The method according to claim 1, wherein the first intermediate switch and the network switch are connected using a fiber channel. 請求項1〜7のいずれかに記載の方法であって、前記フレームは、前記第1中間スイッチおよび前記ネットワークスイッチの間の第2中間スイッチを通して送信された方法。   8. A method as claimed in any preceding claim, wherein the frame is transmitted through a second intermediate switch between the first intermediate switch and the network switch. 請求項9に記載の方法であって、
第2インストラクションを前記ネットワークから前記第2中間スイッチへ送ることによって、前記送信元ノードから前記宛先ノードへのトラフィックを制御すること
をさらに含む方法。
The method of claim 9, comprising:
The method further comprising controlling traffic from the source node to the destination node by sending a second instruction from the network to the second intermediate switch.
請求項10に記載の方法であって、前記第1中間スイッチに送られる前記第1インストラクションは、パス抑制フレームを備える方法。   11. The method of claim 10, wherein the first instruction sent to the first intermediate switch comprises a path suppression frame. 請求項11に記載の方法であって、前記第2中間スイッチに送られた前記第2インストラクションは、前記パス抑制フレームを備える方法。   The method according to claim 11, wherein the second instruction sent to the second intermediate switch comprises the path suppression frame. 請求項11〜12のいずれかに記載の方法であって、前記パス抑制フレームは、前記宛先ノードに対応する送信元識別子フィールドおよび前記送信元ノードに対応する宛先識別子を有する方法。   13. The method according to claim 11, wherein the path suppression frame has a source identifier field corresponding to the destination node and a destination identifier corresponding to the source node. 請求項11〜13のいずれかに記載の方法であって、前記パス抑制フレームは、ネットワークスイッチ輻輳情報を含む方法。   The method according to claim 11, wherein the path suppression frame includes network switch congestion information. 請求項11〜14のいずれかに記載の方法であって、前記パス抑制フレームは、ネットワークスイッチキューレベル情報を含む方法。   The method according to any one of claims 11 to 14, wherein the path suppression frame includes network switch queue level information. 請求項11〜15のいずれかに記載の方法であって、前記パス抑制フレームは、前記第1および第2中間スイッチが、前記送信元ノードおよび前記宛先ノードから送信する前記許容されたレートを0bpsに低減するよう指示する方法。   16. The method according to any one of claims 11 to 15, wherein the path suppression frame includes a rate of 0 bps at which the first and second intermediate switches transmit from the source node and the destination node. How to tell to reduce. 請求項1〜17のいずれかに記載の方法であって、トラフィックフローを特性付けることは、前記ネットワークスイッチキューレベルをチェックすることを含む方法。   18. A method as claimed in any preceding claim, wherein characterizing traffic flow comprises checking the network switch queue level. 請求項17に記載の方法であって、トラフィックフローを特性付けることは、送信パス抑制またはエッジ抑制フレームを送信するかどうかを決定することを含む方法。   The method of claim 17, wherein characterizing the traffic flow includes determining whether to transmit a transmission path suppression or edge suppression frame. 請求項17〜18のいずれかに記載の方法であって、前記キューレベルが高スレッショルドを超えるとき、パス抑制フレームが送信される方法。   The method according to any one of claims 17 to 18, wherein a path suppression frame is transmitted when the queue level exceeds a high threshold. 請求項17〜19のいずれかに記載の方法であって、前記キューレベルが高スレッショルドおよび低スレッショルドの間であるとき、エッジ抑制フレームが送信される方法。   20. A method as claimed in any of claims 17 to 19, wherein an edge suppression frame is transmitted when the queue level is between a high threshold and a low threshold. 請求項17〜20のいずれかに記載の方法であって、前記エッジ抑制およびパス抑制フレームはバッファレベル指示子を含む方法。   21. A method as claimed in any of claims 17 to 20, wherein the edge suppression and path suppression frame includes a buffer level indicator. 第1および第2中間ノードを通る第1および第2エンドノード間のトラフィックフローを制御する方法であって、
前記第1エンドノードに対応する送信元識別子および前記第2エンドノードに対応する宛先識別子を持つ第1フレームを送信することであって、前記フレームは第1中間ノードにおいて、前記第1中間ノードおよび前記第2エンドノードの間の第2中間ノードに送信される、送信すること、
前記第2中間ノードから第2フレームを受信することであって、前記第2フレームは前記第2エンドノードに対応する送信元識別子および前記第1エンドノードに対応する宛先識別子を持ち、前記第2フレームは、前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを調整するインストラクションを含む、受信すること、および
前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを前記第2フレームの受信と共に調整すること
を含む方法。
A method for controlling traffic flow between first and second end nodes through first and second intermediate nodes, comprising:
Transmitting a first frame having a source identifier corresponding to the first end node and a destination identifier corresponding to the second end node, the frame at the first intermediate node, Transmitting to a second intermediate node between the second end nodes,
Receiving a second frame from the second intermediate node, the second frame having a source identifier corresponding to the second end node and a destination identifier corresponding to the first end node; Receiving a frame comprising instructions for adjusting the current allowed rate from the first end node to the second end node; and the current from the first end node to the second end node. Adjusting the allowed rate of the second frame upon receipt of the second frame.
請求項22に記載の方法であって、前記現在の許容されたレートは最大許容レートを超えない方法。   23. The method of claim 22, wherein the current allowed rate does not exceed a maximum allowed rate. 請求項21〜22のいずれかに記載の方法であって、前記現在の許容されたレートを調整することは、
前記第2フレームがエッジ抑制フレームであることを決定すること
を含む方法。
23. A method as claimed in any of claims 21 to 22, wherein adjusting the current allowed rate is:
Determining that the second frame is an edge suppression frame.
請求項21〜24のいずれかに記載の方法であって、前記第1中間ノードが、前記第1エンドノードに結合されたエッジスイッチであると決定された後で、前記現在の許容されたレートが調整される方法。   25. A method as claimed in any of claims 21 to 24, wherein after the first intermediate node is determined to be an edge switch coupled to the first end node, the current allowed rate. How is adjusted. 請求項24に記載の方法であって、前記第1中間ノードが、輻輳制御をサポートしない近接ノードに結合すると決定された後で、前記現在の許容されたレートが調整される方法。   25. The method of claim 24, wherein the current allowed rate is adjusted after it is determined that the first intermediate node joins a neighboring node that does not support congestion control. 請求項21〜25のいずれかに記載の方法であって、前記現在の許容されたレートは初期状態では最大許容レートである方法。   26. A method as claimed in any of claims 21 to 25, wherein the current allowed rate is a maximum allowed rate in the initial state. 請求項21〜27のいずれかに記載の方法であって、前記現在の許容されたレートは、エッジ抑制フレームの受信と共に2で除される方法。   28. A method as claimed in any of claims 21 to 27, wherein the current allowed rate is divided by 2 upon receipt of an edge suppression frame. 請求項21〜28のいずれかに記載の方法であって、前記現在の許容されたレートはリカバリレートで増加する方法。   29. A method according to any of claims 21 to 28, wherein the current allowed rate is increased at a recovery rate. 請求項29に記載の方法であって、前記リカバリレートは、前記受信されたエッジ抑制フレーム中に含まれる情報に基づいて設定される方法。   30. The method of claim 29, wherein the recovery rate is set based on information included in the received edge suppression frame. 請求項29〜30のいずれかに記載の方法であって、前記リカバリレートは、前記第2中間ノードに関連付けられた入力キューに基づいて設定される方法。   31. The method according to any of claims 29 to 30, wherein the recovery rate is set based on an input queue associated with the second intermediate node. 請求項29〜31のいずれかに記載の方法であって、前記現在の許容されたレートを調整することは、
前記第2フレームがパス抑制フレームであると決定すること
を含む方法。
32. The method of any of claims 29-31, wherein adjusting the current allowed rate comprises
Determining that the second frame is a path suppression frame.
請求項32に記載の方法であって、前記現在の許容されたレートは初期状態では最大許容レートである方法。   33. The method of claim 32, wherein the current allowed rate is a maximum allowed rate in an initial state. 請求項33に記載の方法であって、前記現在の許容されたレートは、パス抑制フレームの受信と共に0bpsに低減される方法。   34. The method of claim 33, wherein the current allowed rate is reduced to 0 bps upon receipt of a path suppression frame. 請求項34に記載の方法であって、前記現在の許容されたレートはリカバリレートで増加する方法。   35. The method of claim 34, wherein the current allowed rate increases with a recovery rate. 請求項33〜35のいずれかに記載の方法であって、前記リカバリレートは、前記受信されたパス抑制フレーム中に含まれる情報に基づいて設定される方法。   36. The method according to any one of claims 33 to 35, wherein the recovery rate is set based on information included in the received path suppression frame. 請求項36に記載の方法であって、前記リカバリレートは、前記第2中間ノードに関連付けられた入力キューに基づいて設定される方法。   37. The method of claim 36, wherein the recovery rate is set based on an input queue associated with the second intermediate node. 送信元ノードおよび宛先ノード間のトラフィックフローを制御するスイッチであって、
第1外部ノードに結合する第1ポート、
第2外部ノードに結合する第2ポート、
前記第1外部ノードからデータを受信する前記第1ポートに関連付けられた第1キューであって、前記第1キューは、前記第1ポートを通した送信についてのデータを保持する第1部分および前記第2ポートを通した送信についてのデータを保持する第2部分を含む、第1キュー、および
前記第1キューに結合されたフィルタであって、前記フィルタは前記第1キューからデータを受信し、前記データの送信が遅延されるべきかを前記第2外部ノードから受信された情報に基づいて決定するよう構成される、フィルタ
を備えるスイッチ。
A switch that controls traffic flow between a source node and a destination node,
A first port coupled to a first external node;
A second port coupled to a second external node;
A first queue associated with the first port for receiving data from the first external node, the first queue holding a first portion for holding data for transmission through the first port; and A first queue including a second portion that holds data for transmission through a second port, and a filter coupled to the first queue, the filter receiving data from the first queue; A switch comprising a filter configured to determine whether transmission of the data should be delayed based on information received from the second external node.
請求項38に記載のスイッチであって、フィルタキューをさらに備え、前記フィルタキューは、遅延された送信について設定されたデータを保持するよう構成されるスイッチ。   40. The switch of claim 38, further comprising a filter queue, wherein the filter queue is configured to hold data set for delayed transmissions. 請求項39に記載のスイッチであって、それぞれのフィルタキューはフローに関連付けられたスイッチ。   40. The switch of claim 39, wherein each filter queue is associated with a flow. 請求項38〜40のいずれかに記載のスイッチであって、前記フローは送信元ノードから宛先ノードへのトラフィックであるスイッチ。   41. The switch according to any one of claims 38 to 40, wherein the flow is traffic from a source node to a destination node. 請求項41に記載のスイッチであって、前記第1キューは仮想出力キューであるスイッチ。   42. The switch of claim 41, wherein the first queue is a virtual output queue. 請求項38〜42のいずれかに記載のスイッチであって、それぞれのフィルタキューは優先度に関連付けられたスイッチ。   43. A switch according to any one of claims 38 to 42, wherein each filter queue is associated with a priority. 請求項38〜43のいずれかに記載のスイッチであって、それぞれのフィルタキューは入力ポートおよび出力ポートに関連付けられたスイッチ。   44. A switch according to any one of claims 38 to 43, wherein each filter queue is associated with an input port and an output port. 請求項38〜44のいずれかに記載のスイッチであって、フィルタキューに結合されたレートリミッタをさらに備えるスイッチ。   45. The switch of any of claims 38-44, further comprising a rate limiter coupled to the filter queue. 請求項45に記載のスイッチであって、前記遅延の量は、前記レートリミッタによって決定されるスイッチ。   46. The switch of claim 45, wherein the amount of delay is determined by the rate limiter. 請求項46に記載のスイッチであって、前記レートリミッタはトークンバケットを用いるスイッチ。   47. The switch of claim 46, wherein the rate limiter uses a token bucket. 請求項47に記載のスイッチであって、前記遅延の量は、前記第2外部ノードから受信された情報に基づいて決定されるスイッチ。   48. The switch of claim 47, wherein the amount of delay is determined based on information received from the second external node. 請求項48に記載のスイッチであって、フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、前記フローを特定する前記第2外部ノードからエッジ抑制フレームが受信されると共に半分にされるスイッチ。   49. The switch of claim 48, wherein the number of tokens assigned to a filter queue associated with a flow is halved as an edge suppression frame is received from the second external node identifying the flow. switch. 請求項47〜49のいずれかに記載のスイッチであって、前記フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、リカバリレートで増加するスイッチ。   50. The switch according to claim 47, wherein the number of tokens assigned to the filter queue associated with the flow increases at a recovery rate. 請求項47〜50のいずれかに記載のスイッチであって、前記リカバリレートは、第2外部ノードキューレベル情報に基づいて設定されるスイッチ。   51. The switch according to claim 47, wherein the recovery rate is set based on second external node queue level information. 請求項47〜51のいずれかに記載のスイッチであって、特定のフローに関連付けられたフィルタキューに割り当てられたトークンの個数は、前記特定のフローを特定する前記第2外部ノードからパス抑制フレームを受信すると共にゼロに設定されるスイッチ。   52. The switch according to any one of claims 47 to 51, wherein the number of tokens assigned to a filter queue associated with a specific flow is a path suppression frame from the second external node that specifies the specific flow. A switch that is set to zero as soon as it is received. 請求項52に記載のスイッチであって、前記フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、リカバリレートで増加するスイッチ。   53. The switch of claim 52, wherein the number of tokens assigned to the filter queue associated with the flow increases at a recovery rate. 輻輳を制御する装置であって、
送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信する手段であって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信する手段、
前記ネットワークスイッチにおけるトラフィックフローを特性付ける手段、および
前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御する手段
を備える装置。
A device for controlling congestion,
Means for receiving a frame having a source identifier field corresponding to a source node and a destination identifier field corresponding to a destination node, the frame comprising a first intermediate switch between the network switch and the source node; Means for receiving, sent to said network switch,
An apparatus comprising: means for characterizing traffic flow in the network switch; and means for controlling traffic from the source node to the destination node by sending a first instruction from the network switch to the first intermediate switch.
輻輳を制御するコンピュータで読み取り可能な媒体であって、
送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信するコンピュータコードであって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信するコンピュータコード、
前記ネットワークスイッチにおけるトラフィックフローを特性付けるコンピュータコード、および
前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御するコンピュータコード
を備えるコンピュータで読み取り可能な媒体。
A computer readable medium for controlling congestion,
Computer code for receiving a frame having a source identifier field corresponding to a source node and a destination identifier field corresponding to a destination node, the frame being a first intermediate switch between the network switch and the source node A receiving computer code sent to the network switch through
A computer code comprising a computer code for characterizing a traffic flow in the network switch and a computer code for controlling traffic from the source node to the destination node by sending a first instruction from the network switch to the first intermediate switch. A readable medium.
JP2003553792A 2001-12-18 2002-12-17 Method and apparatus for network congestion control Expired - Fee Related JP4260631B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/026,583 US7596627B2 (en) 2001-12-18 2001-12-18 Methods and apparatus for network congestion control
PCT/US2002/040513 WO2003053016A1 (en) 2001-12-18 2002-12-17 Methods and apparatus for network congestion control

Publications (2)

Publication Number Publication Date
JP2005535154A true JP2005535154A (en) 2005-11-17
JP4260631B2 JP4260631B2 (en) 2009-04-30

Family

ID=21832622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003553792A Expired - Fee Related JP4260631B2 (en) 2001-12-18 2002-12-17 Method and apparatus for network congestion control

Country Status (10)

Country Link
US (1) US7596627B2 (en)
EP (1) EP1457008B1 (en)
JP (1) JP4260631B2 (en)
KR (1) KR100977651B1 (en)
CN (1) CN1689278B (en)
AT (1) ATE483295T1 (en)
AU (1) AU2002359740B2 (en)
CA (1) CA2469803C (en)
DE (1) DE60237845D1 (en)
WO (1) WO2003053016A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517339A (en) * 2007-01-23 2010-05-20 ゼットティーイー コーポレーション Downstream flow control information transmission method for Ethernet passive optical network
JP2011203810A (en) * 2010-03-24 2011-10-13 Hitachi Ltd Server, computer system, and virtual computer management method
JP2021083053A (en) * 2019-11-22 2021-05-27 Necソリューションイノベータ株式会社 Switch device

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002065710A1 (en) * 2001-02-14 2002-08-22 Matsushita Electric Industrial Co., Ltd. Digital content distribution system and its apparatus
US7734808B1 (en) * 2001-12-18 2010-06-08 Cisco Technology, Inc. End-to-end congestion control in a Fibre Channel network
US7139692B2 (en) * 2001-12-21 2006-11-21 Opnet Technologies, Inc. Flow propagation analysis using iterative signaling
US20030210703A1 (en) * 2002-05-13 2003-11-13 Accton Technology Corporation Method of managing frame and switch and network structure thereof
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7689708B1 (en) * 2002-10-28 2010-03-30 Netapp, Inc. Apparatus to flow control frames in a networked storage virtualization using multiple streaming protocols
US7603475B2 (en) * 2003-03-31 2009-10-13 Alcatel-Lucent Usa Inc. Method for flow control in a communication system
US7397764B2 (en) * 2003-04-30 2008-07-08 Lucent Technologies Inc. Flow control between fiber channel and wide area networks
US7324441B1 (en) * 2003-07-14 2008-01-29 Cisco Technology, Inc. Methods and apparatus for alleviating deadlock in a fibre channel network
US7525910B2 (en) * 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in 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
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
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
US7277960B2 (en) * 2003-07-25 2007-10-02 Hewlett-Packard Development Company, L.P. Incorporating constraints and preferences for determining placement of distributed application onto distributed resource infrastructure
US20050114498A1 (en) * 2003-11-06 2005-05-26 International Business Machines Corporation Method and apparatus for managing data transfer in a data processing system
US7809007B2 (en) * 2004-03-05 2010-10-05 David Mayhew Low cost implementation for a device utilizing look ahead congestion management
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7672243B2 (en) * 2004-06-04 2010-03-02 David Mayhew System and method to identify and communicate congested flows in a network fabric
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US7830793B2 (en) * 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
US8238347B2 (en) 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7969971B2 (en) 2004-10-22 2011-06-28 Cisco Technology, Inc. Ethernet extension for the data center
US7564869B2 (en) 2004-10-22 2009-07-21 Cisco Technology, Inc. Fibre channel over ethernet
US7912032B2 (en) * 2004-12-17 2011-03-22 Motorola, Inc. System and method for communicating within a wireless communication network
US7693051B2 (en) * 2004-12-17 2010-04-06 Meshnetworks, Inc. System and method for controlling congestion in multihopping wireless networks
US7961621B2 (en) 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US7602724B2 (en) * 2005-11-14 2009-10-13 Cisco Technology, Inc. Method and apparatus for transmitting circuitry that transmit data at different rates
CN1996933B (en) * 2005-12-31 2010-08-11 华为技术有限公司 Method for congestion control in the real time multicast service
KR100757872B1 (en) * 2006-02-06 2007-09-11 삼성전자주식회사 Apparatus and method of backward congestion notification on network
US9621375B2 (en) 2006-09-12 2017-04-11 Ciena Corporation Smart Ethernet edge networking system
US8831024B2 (en) * 2006-12-29 2014-09-09 Broadcom Corporation Dynamic header creation and flow control for a programmable communications processor, and applications thereof
US8259720B2 (en) 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US20090077229A1 (en) * 2007-03-09 2009-03-19 Kenneth Ebbs Procedures and models for data collection and event reporting on remote devices and the configuration thereof
KR100748187B1 (en) * 2007-06-01 2007-08-10 인하대학교 산학협력단 Node availability prediction-based grid network congestion control device and method therefor
US8149710B2 (en) * 2007-07-05 2012-04-03 Cisco Technology, Inc. Flexible and hierarchical dynamic buffer allocation
US8121038B2 (en) 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
CN101141410B (en) * 2007-10-24 2011-05-11 中兴通讯股份有限公司 Downlink flow control information transferring method in kilomega passive optical network system
US8407364B2 (en) * 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
US8385207B2 (en) * 2008-05-27 2013-02-26 International Business Machines Corporation Method and apparatus for end-to-end network congestion management
US8180823B2 (en) * 2008-08-27 2012-05-15 International Business Machines Corporation Method of routing messages to multiple consumers
US8774005B2 (en) * 2008-09-26 2014-07-08 Telefonaktiebolaget L M Ericsson (Publ) Congestion control method and devices
US20110239226A1 (en) * 2010-03-23 2011-09-29 Cesare Placanica Controlling congestion in message-oriented middleware
US9602439B2 (en) * 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8593965B2 (en) * 2010-07-19 2013-11-26 Cisco Technology, Inc. Mitigating the effects of congested interfaces on a fabric
JP5655453B2 (en) * 2010-09-16 2015-01-21 セイコーエプソン株式会社 Electronic device, control method of electronic device, and program
US8705544B2 (en) * 2011-03-07 2014-04-22 Broadcom Corporation Method and apparatus for routing in a single tier switched network
US8811183B1 (en) * 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
WO2013147654A1 (en) * 2012-03-26 2013-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Smart delivery of li data in emergency conditions
US8730806B2 (en) * 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US9013995B2 (en) * 2012-05-04 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in packet data networking
US8989010B2 (en) * 2012-07-10 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Delayed based traffic rate control in networks with central controllers
CN104092623A (en) * 2013-04-01 2014-10-08 株式会社日立制作所 Method and device used for carrying out overload protection on network node or server
US9338103B2 (en) 2013-09-10 2016-05-10 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US9246816B2 (en) 2013-09-10 2016-01-26 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US10027590B2 (en) * 2014-02-24 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. End to end flow control
CN104066122B (en) * 2014-07-09 2018-05-08 东南大学 A kind of honeycomb and the congestion control and transmission dispatching method in D2D hybrid networks
WO2016105419A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Apparatus and method for routing data in a switch
US9979662B2 (en) 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US10218625B2 (en) * 2016-03-30 2019-02-26 New York University Methods and apparatus for alleviating congestion at a switch, such as a shallow buffered switch
US11012378B2 (en) * 2016-08-02 2021-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for shared buffer allocation in a transport node
US11082347B2 (en) * 2018-03-26 2021-08-03 Nvidia Corporation Techniques for reducing congestion in a computer network
US11818046B2 (en) 2021-01-26 2023-11-14 Samsung Electronics Co., Ltd. Coordinated congestion control in network-attached devices

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
JP3187230B2 (en) 1993-09-06 2001-07-11 株式会社東芝 Congestion control method and congestion control device
FI94815C (en) 1993-11-30 1995-10-25 Nokia Telecommunciations Oy Method and apparatus for handling congestion situations in a frame switching network
US5617421A (en) 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
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
US5764636A (en) 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
JP2000515657A (en) 1996-08-02 2000-11-21 トランソフト コーポレイション Method and apparatus for enabling distributed control of shared resources
JP3525656B2 (en) * 1996-12-06 2004-05-10 株式会社日立製作所 Packet switch and congestion notification method
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
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
JP3156623B2 (en) * 1997-01-31 2001-04-16 日本電気株式会社 Fiber channel fabric
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
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
US6208649B1 (en) 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
CA2237208A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Congestion notification from router
EP0955749A1 (en) 1998-05-08 1999-11-10 Nortel Networks Corporation Receiver based congestion control and congestion notification from router
US6070200A (en) * 1998-06-02 2000-05-30 Adaptec, Inc. Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus
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
US6295575B1 (en) 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
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
US6266705B1 (en) 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6970424B2 (en) 1998-11-10 2005-11-29 Extreme Networks Method and apparatus to minimize congestion in a packet switched network
US6226771B1 (en) 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6675220B1 (en) 1999-08-11 2004-01-06 Cisco Technology, Inc. Techniques for the hardware implementation of random early detection mechanisms
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
CA2422221A1 (en) * 2000-09-12 2002-03-21 International Business Machines Corporation System and method for controlling the multicast traffic of a data packet switch
US7042842B2 (en) * 2001-06-13 2006-05-09 Computer Network Technology Corporation Fiber channel switch

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517339A (en) * 2007-01-23 2010-05-20 ゼットティーイー コーポレーション Downstream flow control information transmission method for Ethernet passive optical network
JP2011203810A (en) * 2010-03-24 2011-10-13 Hitachi Ltd Server, computer system, and virtual computer management method
JP2021083053A (en) * 2019-11-22 2021-05-27 Necソリューションイノベータ株式会社 Switch device
JP7456603B2 (en) 2019-11-22 2024-03-27 Necソリューションイノベータ株式会社 switch device

Also Published As

Publication number Publication date
KR100977651B1 (en) 2010-08-24
WO2003053016A1 (en) 2003-06-26
EP1457008B1 (en) 2010-09-29
CN1689278B (en) 2012-02-01
US20030115355A1 (en) 2003-06-19
CA2469803A1 (en) 2003-06-26
US7596627B2 (en) 2009-09-29
DE60237845D1 (en) 2010-11-11
EP1457008A1 (en) 2004-09-15
CN1689278A (en) 2005-10-26
KR20040071220A (en) 2004-08-11
JP4260631B2 (en) 2009-04-30
ATE483295T1 (en) 2010-10-15
AU2002359740B2 (en) 2007-11-22
AU2002359740A1 (en) 2003-06-30
CA2469803C (en) 2014-04-22

Similar Documents

Publication Publication Date Title
JP4260631B2 (en) Method and apparatus for network congestion control
US9112786B2 (en) Systems and methods for selectively performing explicit congestion notification
US8665892B2 (en) Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
US7675857B1 (en) Method and apparatus to avoid network congestion
US8125904B2 (en) Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
EP3763094B1 (en) Flow management in networks
US9614755B2 (en) Combined hardware/software forwarding mechanism and method
US7327680B1 (en) Methods and apparatus for network congestion control
US8467342B2 (en) Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US8274974B1 (en) Method and apparatus for providing quality of service across a switched backplane for multicast packets
KR20040052198A (en) Class-Based Rate Control Using a Multi-Threshold Leaky Bucket
US10505851B1 (en) Transmission burst control in a network device
JP5034491B2 (en) Priority bandwidth control method in switch
US7408876B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US7734808B1 (en) End-to-end congestion control in a Fibre Channel network
US7599292B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress and ingress queue managers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090105

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: 20090204

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4260631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

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

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