JP2005535154A - ネットワーク輻輳制御の方法および装置 - Google Patents

ネットワーク輻輳制御の方法および装置 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
English (en)
Other versions
JP4260631B2 (ja
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/ja
Application granted granted Critical
Publication of JP4260631B2 publication Critical patent/JP4260631B2/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Selective Calling Equipment (AREA)

Abstract

【課題】 ファイバチャネルネットワークのようなネットワークにおける輻輳を制御する方法および装置を提供する。輻輳したネットワークノードにおけるトラフィックフローを特性付ける手法を提供する。
【解決手段】 輻輳したネットワークノードは、輻輳したネットワークノードへのトラフィックフローを制御するための抑制メッセージのようなさまざまなインストラクションを生成しえる。抑制メッセージは、任意選択で、輻輳の特性についての情報を含みえる。インストラクションは、ネットワーク中の他のノードに分散される。他のネットワークノードは、このインストラクションおよび輻輳したノードへのトラフィックフローを解釈できる。

Description

本発明は、ネットワーク輻輳制御に関する。より具体的には本発明は、輻輳を検出し、輻輳を緩和する命令を生成し、その命令を分配し、かつ輻輳を制御する方法および装置に関する。
多くの従来のネットワークプロトコルは、ネットワークノードにおいて輻輳を緩和させるためにパケット廃棄を用いる。ある例ではIPベースのネットワークにおけるネットワークノードは、入力データを複数のソースからその出力帯域幅を超えるレートで受け取る。従来の実現例では、割り当てられた帯域幅の中で残りのパケットを伝送できるよう選択されたパケットが廃棄される。パケットはランダムに、またはさまざまな選択基準を用いて廃棄されえる。廃棄されたパケットは、TCPのようなより高いレベルのプロトコルの制御のもとで最終的には再送信される。
ファイバチャネルネットワークのようなネットワークにおいて、パケット廃棄は一般には許されない。その代わりにファイバチャネルネットワークのようなネットワークは、エンドツーエンドおよびバッファツーバッファのフロー制御メカニズムを利用する。エンドツーエンドおよびバッファツーバッファのフロー制御メカニズムは、第2ネットワークがフレームを受け取る準備ができるまで、第1ネットワークノードが第2ネットワークノードに送信することを許さない。第2ネットワークノードは典型的には、第1ネットワークノードにクレジットを認めることによってフレームを受け取る準備ができていることを示す。フレームが送信されるとき、クレジットが用いられる。クレジットが残っていないとき、第1ネットワークノードは、第2ネットワークノードにもはや送信できない。しかしエンドツーエンドおよびバッファツーバッファフロー制御メカニズムは、このメカニズムは特定のリンクに沿った全てのトラフィックをブロックするので、輻輳を制御するには非常に大まかな技術しか提供しない。このようなブロッキングは、ファイバチャネルネットワークトポロジで上流の他のリンクにすぐに伝搬しえる。これらリンクのいくつかは、もともと輻輳していたリンクを含まないパスのためのコリドーとして働きえる。したがってあるネットワークパスのうちの一つのリンクにおける輻輳が、ファイバチャネルトポロジのずっと広い部分にわたってブロッキングを生じることもときにはありえる。
エンドツーエンドクレジットメカニズムは、受信ノード中のバッファの利用可能性も考慮する。しかしそれはネットワーク環境の変化に対して反応しないので、そのネットワーク上での輻輳およびブロッキングはやはり起こりえる。さらに、エンドツーエンドクレジットメカニズムは典型的には、クラス2トラフィックを交換するエンドノード間に適用される。しかしたいていのファイバチャネルデバイスはクラス2トラフィックを交換しない。その結果、エンドツーエンドおよびバッファツーバッファクレジットメカニズムは、ネットワーク中のトラフィックフローを最適化しないし、そうしようと試みすらしない。
よって、上述のパフォーマンス制限の一部または全てについて、ファイバチャネルネットワークのようなネットワーク中のネットワークノードにおける輻輳制御を改良する方法および装置を提供することが望ましい。
ファイバチャネルネットワークのようなネットワークにおける輻輳を制御する方法および装置が提供される。輻輳したネットワークノードにおけるトラフィックフローを特性付ける手法が提供される。輻輳したネットワークノードは、輻輳したネットワークノードへのトラフィックフローを制御するための抑制メッセージのようなさまざまなインストラクションを生成しえる。抑制メッセージは、任意選択で、輻輳の特性についての情報を含みえる。インストラクションは、ネットワーク中の他のノードに分散される。他のネットワークノードは、このインストラクションおよび輻輳したノードへのトラフィックフローを解釈できる。
ある実施形態において、ネットワークスイッチにおいて輻輳を制御する方法が提供される。送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームが受信され、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信されている。前記ネットワークスイッチにおけるトラフィックフローが特性付けられる。前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションが送られることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御する。
他の実施形態においては、第1および第2中間ノードを通る第1および第2エンドノード間のトラフィックフローを制御する方法が提供される。前記第1エンドノードに対応する送信元識別子および前記第2エンドノードに対応する宛先識別子を持つ第1フレームが送信される。前記フレームは第1中間ノードにおいて、前記第1中間ノードおよび前記第2エンドノードの間の第2中間ノードに送信される。前記第2中間ノードから第2フレームが受信される。前記第2フレームは前記第2エンドノードに対応する送信元識別子および前記第1エンドノードに対応する宛先識別子を持ち、前記第2フレームは、前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを調整するインストラクションを含む。前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートは前記第2フレームの受信と共に調整される。
他の実施形態によれば、送信元ノードおよび宛先ノード間のトラフィックフローを制御するスイッチが提供される。このスイッチは、第1外部ノードに結合する第1ポート、
第2外部ノードに結合する第2ポート、前記第1外部ノードからデータを受信する前記第1ポートに関連付けられた第1キューであって、前記第1キューは、前記第1ポートを通した送信についてのデータを保持する第1部分および前記第2ポートを通した送信についてのデータを保持する第2部分を含む、第1キュー、および前記第1キューに結合されたフィルタであって、前記フィルタは前記第1キューからデータを受信し、前記データの送信が遅延されるべきかを前記第2外部ノードから受信された情報に基づいて決定するよう構成される、フィルタを含む。
さらに他の本発明の局面は、上述の方法および手法の全部またはその一部を実現するプログラムインストラクションがその上に提供される機械で読み取り可能な媒体を含むコンピュータプログラム製造物に関する。本発明の方法の任意のものの全体またはその一部は、そのような機械で読み取り可能な媒体上に提供されえるプログラムインストラクションとして表現されえる。さらに本発明は、ここで上述のように生成される、および/または使用されるデータのさまざまな組み合わせおよび構成に関する。例えば、ここで記述されたフォーマットを持ち、適切な媒体上に提供された(媒体上で送信された)抑制フレームは本発明の一部である。
本発明のこれらや他の特徴および優位性は、本発明の以下の明細書および添付図面においてより詳細に示され、これらは本発明の原理を例示により示す。
本発明は、本発明の具体的な実施形態を示す添付図面と併せ、以下の説明を参照すれば最もよく理解されよう。
本発明は、ネットワーク中の輻輳を制御することに関する。より具体的には、本発明は、輻輳したネットワークノードへのトラフィックフローを制御するために、抑制メッセージを輻輳したネットワークノードから他のネットワークノードに送信する方法および装置に関する。
本発明を実施するために発明者がベストモードであると考えるものを含む、本発明のいくつかの具体的な実施形態がこれから参照される。これら具体的な実施形態は添付の図面に示される。本発明はこれら具体的な実施形態について説明されるが、本発明はこれらの説明された実施形態に限定されないことが理解されよう。むしろ添付の特許請求の範囲によって規定されるように本発明の精神および範囲に含まれる代替物、改変、および等価物をカバーするように意図される。
例えば、本発明の技術は、ストレージエリアネットワーク内で用いられるファイバチャネルのコンテキストにおいて説明される。しかし本発明の技術は、さまざまな異なるプロトコルおよびネットワークにも応用されえることに注意されたい。さらに本発明によって可能になるソリューションは、非ファイバチャネルネットワークにも同様に応用可能である。本発明の技術はIPネットワークを含むさまざまな異なるネットワークに応用できるが、ある例ではこの技術は、一般にパケット廃棄を許さないネットワークにも応用できる。以下の記載において、本発明の完全な理解を与えるために多くの具体的な詳細が述べられる。本発明はこれら具体的な詳細の一部または全てがなくても実施されえる。あるいは既知のプロセス操作は、本発明の趣旨を不必要にぼかさないために詳細には記載されていない。
ネットワークノードにおける輻輳を緩和するための装置および方法が提供される。任意のネットワークにおける輻輳は、さまざまなタイプのデータが転送されるときの遅延につながりえる。特にファイバチャネルを用いるネットワークノードにおける輻輳は特に有害であり、これはさらに後で詳述される波及的輻輳(cascading congestion)およびヘッドオブラインブロッキングのような効果がネットワークに及ぼされえるからである。その結果、ネットワークノードにおける輻輳を検出し特徴付ける技術が提供される。輻輳したネットワークノードへのトラフィックフローを制御するための異なるタイプの命令が、そのネットワークノードにおける輻輳を特徴付ける情報と共にそれから生成され、送信される。この命令を受け取るいくつかの他のネットワークノードは、輻輳したネットワークノードに向かうトラフィックフローを選択的に制御するために命令中に提供される情報を用いる。
図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の間の通信を遅くしえる。
上述のように、従来のIPネットワークにおけるスイッチまたはルータが輻輳するとき、パケットは廃棄される。パケットはランダムに、またはある程度のインテリジェンスをもって選択的に廃棄されえる。パケットを廃棄することによって、多量の帯域幅を消費していたフローは、一般に、より少ない量の帯域幅を消費していたものよりも、より多くのパケットを廃棄することになる。輻輳したスイッチまたはルータを通るフローレートは、パケットの廃棄で低下するが、パケットはスイッチ109を通ってネットワーク151に到達する。スイッチ107または109における輻輳のせいで、スイッチ103および105における輻輳は引き起こされない。
しかしファイバチャネルは、パケットの廃棄を許さない。代わりに、ネットワーク151がより多くのフレームを受け取るのに失敗するか、またはそうする能力がないようなさまざまな理由でスイッチ109が輻輳するときは、スイッチ107からスイッチ109へのトラフィックフローを制御するためにバッファツーバッファクレジットメカニズムが用いられる。典型的な実現例では、スイッチ109は、所定の数のクレジットをスイッチ107に割り当てる。スイッチ107がフレームをスイッチ109に送信するたびにクレジットが用いられる。スイッチ109が利用可能なバッファを持つときは、それからスイッチ109は、追加のクレジットをスイッチ107に割り当てえる。ネットワーク151がより多くのフレームを受け取るのに失敗するか、またはそうする能力がないため、スイッチ109、およびその結果としてスイッチ107はネットワーク151に送信できない。ネットワーク151はある実施形態における輻輳点として記載されるが、他の実施形態においてはディスクアレイ153またはホスト115が輻輳源でありえることに注意されたい。
バッファツーバッファクレジットメカニズムは、スイッチ109へのトラフィックフローを減らす非常に大まかなやりかたである。ホスト115およびそれに関連付けられたリンクは追加フレームをスイッチ109から受け取る帯域幅を持つかもしれないが、クレジットメカニズムは、トラフィックがスイッチ107からスイッチ109へ、およびその結果、ネットワーク151へ移動することを阻止するだけでなく、トラフィックがスイッチ107からスイッチ109さらにはホスト115へ移動することも阻止する。バッファツーバッファクレジットメカニズムは、ホスト115のような非輻輳宛先へ移動するトラフィックのブロッキングにつながりえる。ある例では、ホスト111は、輻輳したネットワーク151と通信しえる。ネットワーク151における輻輳のせいで、スイッチ109は、ホスト111からの大量のフレームをキューに入れ、その結果、バッファツーバッファクレジットメカニズムを用いて、ホスト111またはホスト113からのそれ以上のフレームをスイッチ107が送信しないようにする。
一方、ホスト113は、いくつかのフレームをホスト115に送信しようと単に試みているだけかもしれない。ネットワーク輻輳は、スイッチ107およびスイッチ109間のバッファツーバッファクレジットメカニズムをスイッチ109が実現するようにするので、真の輻輳点はネットワーク151であるにもかかわらず、スイッチ107およびスイッチ109を結合するリンクを通ってホスト113からホスト115へはフレームは移動できない。フレームは、ネットワーク151またはディスクアレイ153における輻輳のせいで、もはやホスト115へ、またはネットワーク151へ送信されえない。
フレームは一般に、レイヤ3パケット構成物(layer three packet constructs)を含むレイヤ2構成物(layer two constructs)であることに注意されたい。フレームおよびパケットは一般に、ネットワーク送信を記述するためにここでは同じ意味で用いられる。ここでの輻輳点はネットワーク151であるにもかかわらず、他の想定される輻輳の点は、ホスト115、またはスイッチ109に接続されたディスクアレイ153でありえる。
スイッチ107はもはやスイッチ109に送信できないので、スイッチ107は同じバッファツーバッファクレジットメカニズムをスイッチ103および105についても実現しなければならない。スイッチ103および105がもはやスイッチ107に送信できないとき、スイッチ103および105はバッファツーバッファクレジットメカニズムをスイッチ101について実現しなければならない。輻輳は結果としてネットワーク全体に波及しえる。波及する輻輳現象は、輻輳拡散とも呼ばれえる。
図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を参照して以下に述べられる。
共用メモリの実現例において、スイッチ203は、リンク225から起こる全てのトラフィックのための共用メモリ231を持つ。この共用メモリ231は、宛先ノード217または宛先ノード219のいずれに向けられたパケットおよびフレームでも保存できる。もし宛先ノード217に向けられたパケットまたはフレームがスイッチ203に関連付けられた共用メモリを一杯にするなら、宛先ノード217または宛先ノード219のいずれかに向けられたフレームはもはやスイッチ203において受け付けられない。そうなるとスイッチ203は、バッファツーバッファクレジットメカニズムを用いて入ってくるさらなるトラフィックをブロックできる。バッファツーバッファクレジットメカニズムは、送信元211から宛先217への輻輳したパスに沿って流れるトラフィックだけでなく、送信元213から宛先219へのもともとは輻輳していなかったパスに沿ったトラフィックを遅くする。遅くされたトラフィックの結果、リンク225上の帯域幅が、ノード213およびノード219間のトラフィックを転送するのよりもより適しているにもかかわらず、ノード213はノード219へ毎秒1バイトしか送信できない。
本発明の技術は、輻輳を検出し、輻輳したパスに沿ったフローのトラフィックを減らしながら他のトラフィックフローを許しつづけることができる命令を生成するメカニズムを提供する。本発明の技術は、宛先に関係なくトラフィックを無差別にブロックする標準的なバッファツーバッファクレジットメカニズムを起動することを避けようと試みる。無差別ブロッキングは、変動するファイバチャネルの標準が存在するために、ファイバチャネルネットワークにおいては頻繁に起こりえる。ある例では、あるラインは毎秒1ギガビットを扱うように構成されえるが、一方、他のラインは毎秒2または10ギガビットを扱うように構成されえる。
図3は、バッファツーバッファクレジットメカニズムと共に本発明の技術を実現できるスイッチの概略図である。スイッチ301は、外部ノード351、353、355、および357に接続される。スイッチ301は、それぞれのスイッチポートに関連付けられた共用メモリであるバッファ303を含む。バッファ303は、外部ノード351に関連付けられる。外部ノード353、355、および357に関連付けられたバッファは、簡潔さのために示されない。バッファ303は、外部ノード353、355、357が宛先のトラフィックをホールドでき、外部ノード351へのトラフィックをループバックできる。
典型的な実現例では、さまざまな外部ノードが宛先のフレームは全て同じバッファ303に置かれる。その結果、外部ノード353のような特定のノードが宛先の大量のフレームをスイッチ301が受け取るとき、外部ノード353に関連付けられたフレームはバッファ303全体を消費しえる。バッファ303がフルのとき、外部ノード351からのさらなるトラフィックはブロックされるが、それはスイッチ301が追加のクレジットを外部ノード351に割り当てないからである。外部ノード353が宛先のトラフィックは、他の非輻輳外部ノード群のうちいずれかが宛先のトラフィックと共にブロックされる。
さまざまな実施形態によれば、バッファ303に格納されたフレームは、フレーム記述子キュー311〜347中のポインタによって参照される。それぞれのフレーム記述子は、バッファ303中のどこにフレームが格納されているかを特定するポインタまたは参照を含みえる。共用バッファへのポインタまたは参照は、ここでは記述子と呼ばれる。記述子はまた、フレーム優先度のような他の情報を特定することもできる。
ある例では、アービトレータ305は、ラウンドロビン法を用いてフレームを選択する。第1ラウンドで、外部ノード353が宛先のフレームが選択される。第2ラウンドでは外部ノード355が宛先のフレームが選択される、などのようになる。より具体的には、アービトレータ305は、外部ノード353が宛先である記述子311に関連付けられた高優先度のフレームをまず選択し、外部ノード355が宛先である記述子321に関連付けられた高優先度のフレームをそれから選択し、外部ノード357が宛先である記述子331に関連付けられた高優先度のフレームを次に選択する、などのようになる。当業者には理解されるように、フレームを選択するためのさまざまな技術が使用されえることに注意されたい。
宛先に基づいて割り当てられたバッファを持つキューイングシステムは、仮想出力キュー(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つのノード間のトラフィックを示す抽象化された概念をここではフローと呼ぶ。ある例では、フローは、送信元識別子、宛先識別子、優先度、クラス、および交換識別子によって参照される。他の特性も可能である。しかしフローは送信元および宛先識別子だけによって参照されてもよいことに注意されたい。
図4は、輻輳検出に用いられるテーブルである。図4は、輻輳を緩和するための命令が生成されるべきときを示す値を持つテーブルを示す。輻輳したネットワークノードからネットワーク中の他のノードに送信される輻輳緩和のためのメッセージおよび命令は、抑制メッセージとここでは呼ばれる。
テーブル401中のカラム403は、抑制メッセージが生成されえるスイッチのバッファレベルを示す。バッファレベルカラム403は、抑制メッセージ生成の間に受信された、受信フレームの数を示すインターバルカラム405と関連付けられる。ロウ411は、512個のパケットをホールドできるバッファ内のパケットの数が0および10の間にあるとき、抑制メッセージが生成されないことを示す。パケットの数が11および15の間のとき、260フレーム毎に一つの抑制メッセージが生成される。キュー中のパケットの数が112および127の間のとき、6つのフレームが処理された後に一つの抑制メッセージが生成される。抑制メッセージ生成の間のインターバルを決定する一つの式は次の通りである。
X=512個のパケットのバッファ容量に基づくパケットによるバッファレベル
N=抑制メッセージ生成間のインターバル
もしX/16≧8ならN=4、そうでなければN=4+2^(8−(X/16))
当業者には理解されるように、さまざまな異なる方程式が用いられえる。方程式は、バッファ容量またはサービスパラメータのネットワーク品質に基づいて変化しえる。
図4に示されるテーブルは、いつ抑制メッセージを生成すべきかを決めるための決定論的手法を提供する。さまざまな他の技術も用いられえることに注意されたい。ある例では、それぞれのバッファレベルは、抑制メッセージ生成の確率に関連付けられえる。例えばバッファレベルが80パーセントに達するとき、フレームを受信して抑制メッセージが生成されるのは70パーセントの確率である。バッファレベルが50パーセントの容量に達するとき、フレームを受信して抑制メッセージが生成されるのは10パーセントの確率である。バッファレベルが10パーセントの容量に達するとき、フレームを受信して抑制メッセージが生成されるのは0.01パーセントの確率である。
しかし決定論的手法は、非決定論的手法に比べていくつかの利点を提供する。特に決定論的手法は、抑制メッセージのバーストを発生することを防ぐ。ランダム確率関数を用いると、いくつかの抑制メッセージは、乱数発生器の特性に基づいて近接して発生されえる。抑制メッセージのバーストは、トラフィックの低減に対して大きすぎる影響を与えかねず、バースト間のラグは救済されない輻輳につながりえる。決定論的手法はよりバースティではないようになりえる。しかし非決定論的手法も、抑制メッセージバーストを最小化するために、より複雑な制御アルゴリズムを使用できることに注意されたい。
抑制メッセージの送信のための間隔および頻度を決定するために多くのテーブルおよび多くの異なる値が用いられえる。テーブルの値を設定するファクタは、ネットワークサイズ、出力ポートの数、バッファサイズ、および遅延許容範囲を含みえる。抑制メッセージは、トラフィックの性質がバースティであるときには、より頻繁に生成されえる、一方、抑制メッセージはトラフィックがより定常であるときには、より頻繁ではないように生成されえる。さまざまな実施形態によれば、抑制メッセージのための頻度および間隔は、バッファサイズそのものではなく、バッファサイズにおける変化またはバッファサイズにおける変化の微分に依存しえる。もしバッファレベルが急速に大きくなっているなら、抑制メッセージはより頻繁に生成されえる。ある例では、バッファレベルが充分に速い速度で大きくなっているなら、連続した抑制メッセージがすぐに生成されえる。
図5は、輻輳を検出する手法を示すプロセスフロー図である。501においてフレームは上流の外部ノードから受信される。503において、フレームは、特定の外部ノードに関連付けられたバッファ内の正しいキューに分類される。分類器(classifier)ロジックは、宛先ポート、優先度、および送信元および宛先アドレスのようなさまざまなパラメータを使用して、フレームを正しいキューに置きえる。505において、特定の外部ノードに関連付けられたバッファのレベルが決定される。
507において、バッファレベル決定を用いて、図4に示されるようなデータ構造が参照され、抑制メッセージが送信されるフレーム間隔が見つかる。ある例では、抑制メッセージはNフレームが受信された後に送信される。すなわち、スイッチは、その上流外部ノードへ抑制メッセージを送信する前に、その上流外部ノードからさまざまな外部ノードへNフレーム送信できる。509において、最後の抑制メッセージが生成されてからNフレーム以上が転送されたかどうか決定される。もしNフレーム間隔が経ったなら、511においてバッファレベルが低スレッショルド未満であるかどうかが決定される。もしバッファレベルが低スレッショルド未満であるなら、抑制メッセージは生成されず、フレームは513において送信スケジューリングのためにキューイングされる。そうでなければ、抑制メッセージは515で生成される。抑制メッセージは上流外部ノードに送信される。上流外部ノードから受信されたフレームは、フレーム中の宛先識別子によって示された宛先ノードへ向けた送信スケジューリングのためにキューイングされる。
抑制メッセージが生成されるときを決定するさまざまな手法が考えられることに注意されたい。例えば抑制メッセージは、周期的な時間間隔で生成されえる。すなわち、抑制メッセージは、一定の期間が経過した後に生成されえる。周期的時間間隔は、所定のものとして設定されても動的に設定されてもよい。バッファレベルも抑制メッセージが生成される時間間隔を支配するために用いられえる。バッファレベルが高いとき、抑制メッセージは、より小さい時間間隔でより頻繁に生成されえる。バッファレベルが低いとき、抑制メッセージが生成される前には、より大きい時間間隔が経過しえる。他の例では、抑制メッセージは、同じフローに関連付けられたフレームの数がバッファの特定のセットされた部分を超えるときに生成されえる。ある例では、バッファの50パーセントより多くの部分が同じ送信元および宛先のペアに関連付けられたフレームで満たされるとき、抑制メッセージが生成され、送信元ノードに送信されえる。さらに他の実施形態においては、抑制メッセージは、ある送信元ノードから多数のフレームを小さい時間間隔で受信するとランダムに生成されえる。
バッファおよびバッファ内のフレームの特性を分析することによって、抑制メッセージは必要に応じて生成され、特定のフローに向けて導かれえる。抑制メッセージは、特定のフローについてサービス品質を提供するためにも用いられえる。例えば、バッファの特定のパーセンテージは、クリチカルな外部ノードからの優先度の高いトラフィックについてのフレームを受信するために予約されえる。もしバッファレベルが確保されたレベルに近づくと、抑制メッセージが生成され、優先トラフィックに関連付けられていないさまざまなフローに送信されえるか、または抑制メッセージが生成され、非クリチカル外部ノードに送信されえる。優先トラフィックがクリチカル外部ノードから受信されるときは、バッファレベルがほとんど全部がフルになるまで抑制メッセージが生成されない。予約されたバッファ部分は、複数の外部ノードについての複数のフローに割り当てされえる。ある例では、出力バッファの25パーセントを4つの外部ノードのそれぞれに提供することがゴールでありえる。ある特定の外部ノードに関連付けられたバッファの部分が35パーセントを超えるときか、またはバッファ全体のレベルが80パーセントを超えるとき、抑制メッセージは生成されえる。それから抑制メッセージは、バッファレベルが85または90パーセントを超えるときにより頻繁に生成されえる。サービス品質を提供するためのさまざまなメカニズムは、抑制メッセージの生成を用いて実現されえる。バッファレベルの分析および特性に関する情報も抑制メッセージ中に提供されえる。
さらにより正確な輻輳制御は、異なる抑制メッセージを用いることによって、またはそれぞれの抑制メッセージ中の情報を提供することによって実現されえる。図6は、バッファまたはキューレベルに基づいて輻輳したスイッチにおけるさまざまな抑制メッセージの生成を描く図である。バッファレベルが高スレッショルド607を超えると、パス抑制(path quench)が生成されえる。パス抑制は、送信元ノードおよび輻輳したスイッチの間の全てのスイッチが、特定のフローに関連付けられた輻輳スイッチに向けられたトラフィックを送信するのをすぐに止めるよう指示する。パス抑制は、輻輳スイッチにおけるバッファレベルが容量に近く、かつクレジットおよびバッファツーバッファクレジットメカニズムの枯渇を防ぐために即時のトラフィック低減が必要なときに使用されえる。高スレッショルドは、バッファサイズとクレジットの枯渇を避ける重要性とに基づいて変わりえる。ある例では、高スレッショルドはバッファサイズの90パーセントに設定される。
もしバッファレベルが高スレッショルド607および低スレッショルド603の間にあるなら、エッジ抑制メッセージ(edge quench message)が輻輳スイッチによって生成されえる。このエッジ抑制メッセージは、送信元ノードに最も近い輻輳制御スイッチが、その輻輳したスイッチへのトラフィックフローを減らすよう指示する。トラフィックフローを減らすために他のネットワークノードからのインストラクション(instructions)を認識できるネットワークノードは、ここでは輻輳制御スイッチと呼ばれる。エッジ抑制メッセージは、特定の送信元ノードからのトラフィックフローを徐々に減らすことができる。抑制メッセージの生成を阻止するためにカットオフスレッショルド601も提供されえる。抑制メッセージを送信しないことによって、抑制メッセージが不必要なときには輻輳制御および他のトラフィックの低減が避けられる。
抑制メッセージは、バッファレベルについての情報も含みえる。ある例では、パス抑制(path quench)およびエッジ抑制(edge quench)メッセージは、バッファレベルがターゲットまたは平衡レベルを超えるかどうかについての情報を提供する指示子(indicator)を含む。ターゲットまたは平衡レベル605は、特定の輻輳制御スイッチにおける最大スループットを提供する最適なバッファレベルでありえる。もしバッファレベルがターゲットレベル605より上、または下であるなら、輻輳制御スイッチがさまざまな時刻においての送信レートをよりよく決定できるようにするため、その情報は輻輳制御スイッチに送信されえる。ある例では、もしバッファレベルがターゲットレベル605より上なら、輻輳制御スイッチはそのフローに関連付けられたその送信レートを下げ、調整のあと送信レートを徐々に上げるよう選択しえる。あるいは、もしバッファレベルがターゲットレベル605より下なら、輻輳制御スイッチはそのフローに関連付けられたその送信レートを下げ、調整のあと送信レートをより急激に上げるよう選択しえる。
現在および過去のバッファレベル情報は、輻輳制御スイッチに提供されえる。ある実施形態においては、バッファレベルにおける変化も輻輳制御スイッチに提供されえる。もしバッファレベルが増加しているなら、輻輳制御スイッチは、そのフローに関連付けられたその送信レートを減少させ、より低い送信レートを維持し、その後、ある期間が経過した後で徐々にその送信レートを上げるよう選択しえる。
図6は、パス抑制またはエッジ抑制メッセージを送るかどうかを決定する高および低スレッショルドを示すが、さまざまな個数のスレッショルド群が用いられえることに注意されたい。ある例では、パス抑制は、その輻輳したスイッチおよび送信元ノードの間の全ての輻輳制御スイッチが、特定のフローに関連付けられた送信レートを0に落とすよう指示する。エッジ抑制は、送信元ノードに最も近い輻輳制御スイッチが特定のフローに関連付けられた送信レートを以前に許されたレートの半分に落とすよう指示する。他の例では、3つの異なるスレッショルドに対するバッファレベル群の比較に基づいて、3つのタイプの抑制メッセージ群が用いられる。
パス抑制は、その輻輳したスイッチおよび送信元ノードの間の全ての輻輳制御スイッチが特定のフローに関連付けられた送信レートを0に落とすよう指示しえる。しかしこの場合のリカバリレートは急速でありえることに注意されたい。エッジ抑制は、送信元ノードに最も近い輻輳制御スイッチが、送信レートを許されたレートの半分に落とすよう指示する。ある実施形態においては、エッジ抑制およびパス抑制メッセージは、バッファ特性情報を含まなくてもよい。他の実施形態においては、抑制メッセージがバッファレベルの現在、過去、および変化についての充分な情報を含む、単一の抑制メッセージが用いられえる。ホストはパス抑制またはエッジ抑制メッセージを理解できないかもしれないので、抑制メッセージは、さまざまな実施形態によればネットワークのエッジにおいて止められるべきである。
図7は、輻輳したスイッチにおいて生成されえる抑制メッセージの概略図である。輻輳したスイッチはフレーム700を特定する。フレーム700は、ランダムに選択されるか、またはNフレーム間隔の後に選択されたフレームでありえる。フレーム700は、パケットヘッダ703およびパケットペイロード705を含む。パケットヘッダ703は、アドレスAを持つ宛先識別子711およびアドレスBを持つ送信元識別子713を含む。パケットヘッダは、タイプ715、パラメータ情報721、さらにOX_ID 717も含む。送信パスに沿ったそれぞれのスイッチは、次のホップを決定するために送信元識別子713、宛先識別子711、およびOX_ID 717を使用できる。パケットペイロード705は、宛先ノードによって抽出されるデータ723を含みえる。
典型的には輻輳制御スイッチそのものであり、輻輳したスイッチはアドレス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を何も含まなくてもよい。
図8は、抑制メッセージの生成を描くフロープロセス図である。さまざまな実施形態によれば、上述のように他の手法も用いられえるが、最後の抑制メッセージが生成されてから受信されたN番目のフレームに関連付けられたフローは抑制のために選択される。803において、フレーム送信元識別子Sおよびフレーム宛先識別子Dが抽出される。805において、どのタイプの抑制メッセージを生成すべきか決定するだけでなく、輻輳したスイッチおよび送信元ノード間の輻輳制御スイッチに情報を提供するためにも、バッファは特徴付けられえる。
805において、もしバッファレベルが高スレッショルドより上であると決定されるなら、Dに設定された送信元識別子およびSに設定された宛先識別子を持つパス抑制メッセージが821において生成される。バッファ特性付け情報(buffer characterization information)は、他のパラメータ情報と共に、825において抑制メッセージに付加されえる。抑制メッセージはそれから、827においてファイバチャネルを用いて送信スケジューリングのためにキューイングされえる。あるいは、Dに設定された送信元識別子およびSに設定された宛先識別子を持つエッジ抑制メッセージが823において生成される。バッファ特性付けおよびパラメータ情報は同様に、825においてエッジ抑制メッセージに付加されえ、抑制メッセージはファイバチャネルを用いて最終的に転送されるよう827においてキューイングされえる。
図9は、パス抑制またはエッジ抑制フレームのような抑制メッセージを受信できるネットワークノードを含むネットワークの概略図である。上述のように、輻輳制御スイッチ909は、受信されたフレームの送信元および宛先識別子を交換することによって抑制メッセージを生成できる。ある例では、受信されたフレームの送信元は、ホスト911であり、一方、受信されたフレームの宛先はネットワーク951のノードでありえる。フレームは、スイッチ909へスイッチ901、903、および907を通って移動したかもしれない。輻輳制御スイッチ909は、上述のように抑制メッセージを生成しえる。抑制メッセージは、ホスト911に設定された宛先およびネットワーク951のノードに設定された送信元を持つだろう。もしパス抑制メッセージが生成されるなら、パス抑制メッセージが転送されるそれぞれの輻輳制御スイッチは、輻輳制御メカニズムを実現しえる。この例では、輻輳制御スイッチ907、903、および901がそれぞれ輻輳制御を実現する。
パス抑制メッセージは、スイッチ903の代わりにスイッチ905に転送されえることに注意されたい。もしパス抑制が、輻輳制御スイッチ901に到達する前に、903への代わりにスイッチ905へ転送されるなら、輻輳制御スイッチ905は抑制メッセージを無視しえるが、これはそれが、ホスト911に設定された送信元およびネットワーク951に設定された宛先を持つフレームが輻輳制御スイッチ905を通って送信されなかったことを認識できるよう構成されえるからである。そうであっても輻輳制御はやはり実現されえる。
もしエッジ抑制メッセージが生成されるなら、ホスト911に最も近いスイッチは、輻輳制御メカニズムを実現する。エッジ抑制は輻輳制御スイッチ907に転送され、その後、輻輳制御スイッチ903または輻輳制御スイッチ905のいずれかに転送され、これらの全てはエッジ抑制メッセージを無視する。輻輳制御スイッチ901は、それがホスト911に結合されていることを認識できるので、その結果、エッジ抑制メッセージに関連付けられた輻輳制御メカニズムを実現するだろう。
図10は、輻輳制御スイッチが、抑制メッセージを生成するフレームを送信したホストに直接に結合されていない、パス抑制のような抑制メッセージを受信できるネットワークノードを含むネットワークの概略図である。この例において、ホスト1011は、フレームをネットワーク1051に向けて送信し、その結果、輻輳制御スイッチ1009においてエッジ抑制メッセージの生成を生じた。輻輳制御スイッチ1009は、エッジ抑制メッセージをホスト1011に向けて輻輳制御スイッチ1007を通して送信する。輻輳制御スイッチのそれぞれにおいて、宛先は、輻輳制御スイッチがホスト1011に最も近いものであるかについての決定がなされえる。
輻輳制御スイッチがそれがホスト1011に最も近いかどうかを決定できるようにするためにはさまざまなメカニズムが用いられえる。ある例では、もし輻輳制御スイッチがホスト1011と同じドメインにあるなら、特定のスイッチにおいて輻輳制御はすぐに実現されえる。ドメイン情報は、抑制メッセージ中に提供されえ、輻輳制御スイッチ中の任意のドメイン情報と一致判定されえる。他の例では、輻輳制御スイッチは、近接スイッチおよびそれらに関連付けられたドメインのリストを保持しえる。さらに他の実施形態では、トポロジ情報が、どの近接ノードが輻輳制御スイッチであるかについての特定のデータと共に記憶されえる。輻輳制御スイッチがエッジ抑制制御メカニズムを実現すべきかどうかを決定できるようにするために、ストレージエリアネットワークのトポロジマップのような全体のトポロジマップが保持されえる。
トポロジ情報は、グラフ、テーブル、および他のネットワークノードからの個々のリンク制御情報フレームを含むさまざまなフォーマットで保持されえる。トポロジマップの方法および装置は、Andrew S. Tanenbaumによる「Computer Networks」(ISBN: 0133499456)に記載されており、その全体が全ての目的のために参照によって援用される。ファイバチャネルネットワークにおいては、ファブリックコンフィギュレーションサーバ(FCS)と呼ばれるプロトコルが物理的なトポロジの発見を可能にする。
図11は、抑制メッセージを転送する手法を示すプロセスフロー図である。1101において、抑制メッセージは輻輳制御スイッチにおいて受信される。優先度、送信元識別子、宛先識別子、ポート、およびバッファレベル情報のようなフローパラメータは、輻輳制御のために抽出されえる。1105において、抑制メッセージによって示される宛先の前に他の輻輳制御スイッチが存在するか決定される。上述のように輻輳制御スイッチは、パス抑制およびエッジ抑制メッセージのような抑制メッセージを識別するスイッチでありえる。1107において、他の輻輳制御スイッチが宛先の前に存在するので、抑制メッセージは、それがパス抑制であるかまたはエッジ抑制メッセージであるかにかかわらず、ファイバチャネルを用いた送信スケジューリングのためにキューされる。1109において、抑制メッセージがエッジ抑制であるかが決定される。もし抑制メッセージがエッジ抑制であるなら、他のアクションが取られる必要はない。そうでなければ、メッセージはパス抑制であり、輻輳制御に関連するパラメータは1111において記憶される。
ある例では、抑制パラメータは、輻輳制御スイッチに関連付けられたフィルタまたはコントローラ中に1111において記憶されえる。1113において、もしそのインストラクションがエッジ抑制メッセージであるなら、特定のパラメータ情報に関連付けられたフローの送信のための現在許容されるレートが半分に低減される。さまざまな実施形態によれば、それぞれのフローは、最大許容レートを持ちえる。そうでなければ、そのパラメータ情報に関連付けられたフローについての現在許容されるレートは0に落とされる。特定のフローについての最大送信レートは、ここでは最大許容レートと呼ばれる。抑制インストラクションによって調整された送信レートは、ここでは現在の許容レートと呼ばれる。ある実施形態において送信レートは、最初は最大許容レートであり、抑制インストラクションを受け取ると現在の許容レートに低減される。現在の許容レートはそれから、それが他の抑制インストラクションを受信するか、または最大許容レートに達するかするまで、リカバリレートにおいて増大する。この例では、2つのタイプの抑制メッセージが用いられることに注意されたい。さまざまな実施形態によれば、エッジ抑制メッセージは、宛先に最も近い輻輳制御スイッチにおいて許容レートを半分に落とす。パス抑制メッセージは、宛先に向かうパスに沿った全ての輻輳制御スイッチにおいて許容レートをゼロに落とす。
図12は、輻輳制御スイッチの一例の概略図である。輻輳制御スイッチ1201は、外部ノード1251、1253、1255、および1257に結合される。しかし外部ノード1251からフレームを受信するバッファだけが簡明さのために示される。フレームがスイッチ1201において外部ノード1251から受信されるとき、分類器ロジック1299は、フレームを共用バッファプール(shared buffer pool)1203に置き、それを記述子またはポインタ1211〜1247で参照する。記述子はフレーム優先度を示す情報と関連付けられえる。
さまざまな実施形態によれば、本発明の手法は、受信された抑制メッセージに対応するフレームのためのフィルタキュー1261〜1277を提供する。フィルタ1209は、パス抑制またはエッジ抑制メッセージのような抑制メッセージから抽出された抑制パラメータを保持する。アービトレータ1205は典型的には、送信のためのフレームをラウンドロビン法を用いて選択するが、FIFOおよびランダムのような他の方法も用いられえる。フレームが、バッファ1203から外部ノードへの送信のためにアービトレータ1205によって選択されるとき、フィルタ1209は、選択されたフレームのパラメータを受信された抑制メッセージに関連付けられた抑制パラメータと比較する。ある実施形態においては、フィルタは、32セットの抑制パラメータおよび選択されたフレームのパラメータ間の32の同時比較を実行する。32セットの抑制パラメータのうちの一つと一致するフレーム記述子は、フィルタキュー1207中の32の異なるキューのうちの一つの中に置かれる。
もし送信元および宛先アドレス対、出力ポート、優先度、および/または他のパラメータが対応するなら、フレーム記述子は、フィルタキュー内への格納のために選択されえる。記述子は、共用バッファプール1203を変えることなく、入力キュー1211〜1247のうちの一つからフィルタキュー1261〜1277へ移動されえる。もしフレームのパラメータがフィルタ1209に保持されたパラメータに対応しないなら、フレーム記述子は、外部ノード1253、1255、1257、および1251のような外部ノードへ転送されえる。そうでなければ、フレームは、レートリミッタに関連付けられたフィルタキュー内に置かれえる。ある例ではフィルタフレームは、レートリミッタ1281に関連付けられたフィルタキュー1261内に置かれる。レートリミッタ1281は、フィルタキュー1261内の記述子に関連付けられたフレームが現在の許容レートに基づいて送信されえるときを決定する。
図13は、抑制メッセージの受信に基づく1つ以上のレートリミッタに関連付けられた許容レートの考えられる変化を示すグラフである。上述のようにある実施形態においては、パス抑制メッセージは、許容されたレートをゼロに低減し、一方、エッジ抑制メッセージは、その許容されたレートを半分に低減する。グラフによれば、1301において受信されたエッジ抑制は、許容されたレートを半分に低減する。1301および1303の間では、許容されたレートは、スイッチコントローラによって決定されえるリカバリレートで徐々に増加する。リカバリレートは、予め定められたレートでもよく、または抑制メッセージ中で与えられるバッファレベル特性付け情報のような情報に基づく動的に設定されるレートでもよい。
ある例では、輻輳したスイッチのバッファレベルが平衡点に対して低いことをバッファレベル特性付け情報が示すとき、リカバリレートは増加されえる。あるいは輻輳したスイッチのバッファレベルが平衡点に対して高いことをバッファレベル特性付け情報が示すとき、リカバリレートは減少されえる。1303において、レートリミッタに関連付けられた他のエッジ抑制メッセージが受信される。許容されたレートは再び1303において半分に減少される。1303および1305の間で、バッファレベル特性付け情報のようなファクタのために、減少されたリカバリレートが適用される。1305において、パス抑制メッセージが受信され、許容されたレートはゼロに低減される。増加されたレートは、1305および1307の間で適用される。許容されたレートは、1307において最大許容またはラインレートに達し、フィルタキューはこの時点で解放されえる。
図14は、抑制メッセージを受信するスイッチにおける輻輳制御の実現法を示すプロセスフロー図である。1401において、フレームが特定される。1403において、フレームパラメータはフィルタ中のパラメータと比較される。比較されるパラメータは、送信元および宛先アドレス、優先度、および出力ポートを含みえる。もしパラメータが1403において一致するなら、フレーム記述子は、レートリミッタと関連付けられたフィルタキュー内に1407において置かれる。フィルタキューは、フレームの送信を遅らせることができる。レートリミッタは、トークンバケット、リーキーバケット、および仮想時間レートリミッタを含むさまざまなメカニズムを用いて実現できる。レートリミッタによって用いられるレートは、受信された抑制メッセージのタイプおよび抑制メッセージ中のバッファレベル特性付け情報に基づいて設定されえる。1409において、レートリミッタは、許容されたレートに基づいてフレームの送信を制御しえる。送信を制御することは、フレームの送信を遅延させることも含む。1405において、フレームは、ファイバチャネルを用いた転送のためにキューされる。もし特定されたフレームのパラメータがフィルタ内のパラメータと1403において一致しないなら、フレームは、ファイバチャネルを用いた即時転送のために1405においてキューされえる。
本発明は、その特定の実施形態を参照して示され記述されてきたが、開示された実施形態の形態および詳細の変更が本発明の精神または範囲から逸脱することなくなされえることが当業者には理解されよう。例えば、本発明の実施形態は、さまざまなネットワークプロトコルおよびアーキテクチャで実現されえる。抑制メッセージのようなインストラクションは、さまざまな異なる時刻において送られえる。したがって本発明は、本発明の精神および範囲に入る全ての改変物および等価物を含むように解釈されるよう意図される。
本発明の技術を用いえるネットワークの概略図である。 ヘッドオブラインブロッキングを示す概略図である。 輻輳制御の一例を実現できるスイッチの概略図である。 バッファレベルに基づいてどのくらい頻繁に抑制メッセージが生成されえるかを示すテーブルである。 輻輳を検出するスイッチを示すプロセスフロー図である。 抑制メッセージの生成に用いられえる抑制レベルのグラフである。 生成されえるエッジ抑制またはパス抑制メッセージの概略図である。 エッジ抑制またはパス抑制メッセージの生成および送信を示すプロセスフロー図である。 輻輳制御を実現できるネットワークの概略図である。 輻輳制御を実現できる混合ネットワークの概略図である。 抑制メッセージを転送する手法を示すプロセスフロー図である。 抑制メッセージ受信と共に輻輳制御の可能な実現例を実現できるスイッチの概略図である。 受信されたエッジ抑制およびパス抑制メッセージに基づいて変化する許容されたレートのグラフである。 輻輳制御の実現を示すプロセスフロー図である。

Claims (55)

  1. ネットワークスイッチにおいて輻輳を制御する方法であって、前記方法は、
    送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信することであって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信すること、
    前記ネットワークスイッチにおけるトラフィックフローを特性付けること、および
    前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御すること
    を含む方法。
  2. 請求項1に記載の方法であって、前記第1中間スイッチは、前記送信元ノードに結合されたエッジスイッチである方法。
  3. 請求項1〜2のいずれかに記載の方法であって、第1中間スイッチに送られた前記第1インストラクションは、エッジ抑制フレームを備える方法。
  4. 請求項3に記載の方法であって、前記エッジ抑制フレームは、前記宛先ノードに対応する送信元識別子フィールドおよび前記送信元ノードに対応する宛先識別子フィールドを有する方法。
  5. 請求項4に記載の方法であって、前記エッジ抑制フレームはネットワークスイッチ輻輳情報を含む方法。
  6. 請求項4〜5のいずれかに記載の方法であって、前記エッジ抑制フレームはネットワークスイッチキューレベル情報を含む方法。
  7. 請求項4〜6のいずれかに記載の方法であって、前記エッジ抑制フレームは、前記第1中間スイッチが、前記送信元ノードおよび前記宛先ノードから送信ための前記許容されたレートを半分に制御するよう指示する方法。
  8. 請求項1〜7のいずれかに記載の方法であって、前記第1中間スイッチおよび前記ネットワークスイッチは、ファイバチャネルを用いて接続される方法。
  9. 請求項1〜7のいずれかに記載の方法であって、前記フレームは、前記第1中間スイッチおよび前記ネットワークスイッチの間の第2中間スイッチを通して送信された方法。
  10. 請求項9に記載の方法であって、
    第2インストラクションを前記ネットワークから前記第2中間スイッチへ送ることによって、前記送信元ノードから前記宛先ノードへのトラフィックを制御すること
    をさらに含む方法。
  11. 請求項10に記載の方法であって、前記第1中間スイッチに送られる前記第1インストラクションは、パス抑制フレームを備える方法。
  12. 請求項11に記載の方法であって、前記第2中間スイッチに送られた前記第2インストラクションは、前記パス抑制フレームを備える方法。
  13. 請求項11〜12のいずれかに記載の方法であって、前記パス抑制フレームは、前記宛先ノードに対応する送信元識別子フィールドおよび前記送信元ノードに対応する宛先識別子を有する方法。
  14. 請求項11〜13のいずれかに記載の方法であって、前記パス抑制フレームは、ネットワークスイッチ輻輳情報を含む方法。
  15. 請求項11〜14のいずれかに記載の方法であって、前記パス抑制フレームは、ネットワークスイッチキューレベル情報を含む方法。
  16. 請求項11〜15のいずれかに記載の方法であって、前記パス抑制フレームは、前記第1および第2中間スイッチが、前記送信元ノードおよび前記宛先ノードから送信する前記許容されたレートを0bpsに低減するよう指示する方法。
  17. 請求項1〜17のいずれかに記載の方法であって、トラフィックフローを特性付けることは、前記ネットワークスイッチキューレベルをチェックすることを含む方法。
  18. 請求項17に記載の方法であって、トラフィックフローを特性付けることは、送信パス抑制またはエッジ抑制フレームを送信するかどうかを決定することを含む方法。
  19. 請求項17〜18のいずれかに記載の方法であって、前記キューレベルが高スレッショルドを超えるとき、パス抑制フレームが送信される方法。
  20. 請求項17〜19のいずれかに記載の方法であって、前記キューレベルが高スレッショルドおよび低スレッショルドの間であるとき、エッジ抑制フレームが送信される方法。
  21. 請求項17〜20のいずれかに記載の方法であって、前記エッジ抑制およびパス抑制フレームはバッファレベル指示子を含む方法。
  22. 第1および第2中間ノードを通る第1および第2エンドノード間のトラフィックフローを制御する方法であって、
    前記第1エンドノードに対応する送信元識別子および前記第2エンドノードに対応する宛先識別子を持つ第1フレームを送信することであって、前記フレームは第1中間ノードにおいて、前記第1中間ノードおよび前記第2エンドノードの間の第2中間ノードに送信される、送信すること、
    前記第2中間ノードから第2フレームを受信することであって、前記第2フレームは前記第2エンドノードに対応する送信元識別子および前記第1エンドノードに対応する宛先識別子を持ち、前記第2フレームは、前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを調整するインストラクションを含む、受信すること、および
    前記第1エンドノードから前記第2エンドノードへの前記現在の許容されたレートを前記第2フレームの受信と共に調整すること
    を含む方法。
  23. 請求項22に記載の方法であって、前記現在の許容されたレートは最大許容レートを超えない方法。
  24. 請求項21〜22のいずれかに記載の方法であって、前記現在の許容されたレートを調整することは、
    前記第2フレームがエッジ抑制フレームであることを決定すること
    を含む方法。
  25. 請求項21〜24のいずれかに記載の方法であって、前記第1中間ノードが、前記第1エンドノードに結合されたエッジスイッチであると決定された後で、前記現在の許容されたレートが調整される方法。
  26. 請求項24に記載の方法であって、前記第1中間ノードが、輻輳制御をサポートしない近接ノードに結合すると決定された後で、前記現在の許容されたレートが調整される方法。
  27. 請求項21〜25のいずれかに記載の方法であって、前記現在の許容されたレートは初期状態では最大許容レートである方法。
  28. 請求項21〜27のいずれかに記載の方法であって、前記現在の許容されたレートは、エッジ抑制フレームの受信と共に2で除される方法。
  29. 請求項21〜28のいずれかに記載の方法であって、前記現在の許容されたレートはリカバリレートで増加する方法。
  30. 請求項29に記載の方法であって、前記リカバリレートは、前記受信されたエッジ抑制フレーム中に含まれる情報に基づいて設定される方法。
  31. 請求項29〜30のいずれかに記載の方法であって、前記リカバリレートは、前記第2中間ノードに関連付けられた入力キューに基づいて設定される方法。
  32. 請求項29〜31のいずれかに記載の方法であって、前記現在の許容されたレートを調整することは、
    前記第2フレームがパス抑制フレームであると決定すること
    を含む方法。
  33. 請求項32に記載の方法であって、前記現在の許容されたレートは初期状態では最大許容レートである方法。
  34. 請求項33に記載の方法であって、前記現在の許容されたレートは、パス抑制フレームの受信と共に0bpsに低減される方法。
  35. 請求項34に記載の方法であって、前記現在の許容されたレートはリカバリレートで増加する方法。
  36. 請求項33〜35のいずれかに記載の方法であって、前記リカバリレートは、前記受信されたパス抑制フレーム中に含まれる情報に基づいて設定される方法。
  37. 請求項36に記載の方法であって、前記リカバリレートは、前記第2中間ノードに関連付けられた入力キューに基づいて設定される方法。
  38. 送信元ノードおよび宛先ノード間のトラフィックフローを制御するスイッチであって、
    第1外部ノードに結合する第1ポート、
    第2外部ノードに結合する第2ポート、
    前記第1外部ノードからデータを受信する前記第1ポートに関連付けられた第1キューであって、前記第1キューは、前記第1ポートを通した送信についてのデータを保持する第1部分および前記第2ポートを通した送信についてのデータを保持する第2部分を含む、第1キュー、および
    前記第1キューに結合されたフィルタであって、前記フィルタは前記第1キューからデータを受信し、前記データの送信が遅延されるべきかを前記第2外部ノードから受信された情報に基づいて決定するよう構成される、フィルタ
    を備えるスイッチ。
  39. 請求項38に記載のスイッチであって、フィルタキューをさらに備え、前記フィルタキューは、遅延された送信について設定されたデータを保持するよう構成されるスイッチ。
  40. 請求項39に記載のスイッチであって、それぞれのフィルタキューはフローに関連付けられたスイッチ。
  41. 請求項38〜40のいずれかに記載のスイッチであって、前記フローは送信元ノードから宛先ノードへのトラフィックであるスイッチ。
  42. 請求項41に記載のスイッチであって、前記第1キューは仮想出力キューであるスイッチ。
  43. 請求項38〜42のいずれかに記載のスイッチであって、それぞれのフィルタキューは優先度に関連付けられたスイッチ。
  44. 請求項38〜43のいずれかに記載のスイッチであって、それぞれのフィルタキューは入力ポートおよび出力ポートに関連付けられたスイッチ。
  45. 請求項38〜44のいずれかに記載のスイッチであって、フィルタキューに結合されたレートリミッタをさらに備えるスイッチ。
  46. 請求項45に記載のスイッチであって、前記遅延の量は、前記レートリミッタによって決定されるスイッチ。
  47. 請求項46に記載のスイッチであって、前記レートリミッタはトークンバケットを用いるスイッチ。
  48. 請求項47に記載のスイッチであって、前記遅延の量は、前記第2外部ノードから受信された情報に基づいて決定されるスイッチ。
  49. 請求項48に記載のスイッチであって、フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、前記フローを特定する前記第2外部ノードからエッジ抑制フレームが受信されると共に半分にされるスイッチ。
  50. 請求項47〜49のいずれかに記載のスイッチであって、前記フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、リカバリレートで増加するスイッチ。
  51. 請求項47〜50のいずれかに記載のスイッチであって、前記リカバリレートは、第2外部ノードキューレベル情報に基づいて設定されるスイッチ。
  52. 請求項47〜51のいずれかに記載のスイッチであって、特定のフローに関連付けられたフィルタキューに割り当てられたトークンの個数は、前記特定のフローを特定する前記第2外部ノードからパス抑制フレームを受信すると共にゼロに設定されるスイッチ。
  53. 請求項52に記載のスイッチであって、前記フローに関連付けられたフィルタキューに割り当てられたトークンの個数は、リカバリレートで増加するスイッチ。
  54. 輻輳を制御する装置であって、
    送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信する手段であって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信する手段、
    前記ネットワークスイッチにおけるトラフィックフローを特性付ける手段、および
    前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御する手段
    を備える装置。
  55. 輻輳を制御するコンピュータで読み取り可能な媒体であって、
    送信元ノードに対応する送信元識別子フィールドおよび宛先ノードに対応する宛先識別子フィールドを持つフレームを受信するコンピュータコードであって、前記フレームは、前記ネットワークスイッチおよび前記送信元ノードの間の第1中間スイッチを通って前記ネットワークスイッチに送信された、受信するコンピュータコード、
    前記ネットワークスイッチにおけるトラフィックフローを特性付けるコンピュータコード、および
    前記ネットワークスイッチから前記第1中間スイッチに第1インストラクションを送ることによって前記送信元ノードから前記宛先ノードへのトラフィックを制御するコンピュータコード
    を備えるコンピュータで読み取り可能な媒体。
JP2003553792A 2001-12-18 2002-12-17 ネットワーク輻輳制御の方法および装置 Expired - Fee Related JP4260631B2 (ja)

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 (ja) 2005-11-17
JP4260631B2 JP4260631B2 (ja) 2009-04-30

Family

ID=21832622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003553792A Expired - Fee Related JP4260631B2 (ja) 2001-12-18 2002-12-17 ネットワーク輻輳制御の方法および装置

Country Status (10)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517339A (ja) * 2007-01-23 2010-05-20 ゼットティーイー コーポレーション イーサネット受動型光ネットワークの下がりフロー制御情報の伝達方法
JP2011203810A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd サーバ、計算機システム及び仮想計算機管理方法
JP2021083053A (ja) * 2019-11-22 2021-05-27 Necソリューションイノベータ株式会社 スイッチ装置

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1203644C (zh) * 2001-02-14 2005-05-25 松下电器产业株式会社 数字内容分配***及其装置
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
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic 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
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
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
US8238347B2 (en) 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
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
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
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US7912032B2 (en) * 2004-12-17 2011-03-22 Motorola, Inc. System and method for communicating within a wireless communication network
WO2006065896A2 (en) * 2004-12-17 2006-06-22 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 (zh) * 2005-12-31 2010-08-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법
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 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법
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 (zh) * 2007-10-24 2011-05-11 中兴通讯股份有限公司 一种千兆无源光网络***中下行流控信息的传递方法
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
RU2510143C2 (ru) * 2008-09-26 2014-03-20 Телефонактиеболагет Лм Эрикссон (Пабл) Способ и устройства для управления перегрузкой
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 (ja) * 2010-09-16 2015-01-21 セイコーエプソン株式会社 電子機器、電子機器の制御方法、及び、プログラム
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
US9461916B2 (en) * 2012-03-26 2016-10-04 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 (zh) * 2013-04-01 2014-10-08 株式会社日立制作所 对网络节点或服务器进行过载保护的方法和装置
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 (zh) * 2014-07-09 2018-05-08 东南大学 一种蜂窝与d2d混合网络中的拥塞控制和传输调度方法
US10757039B2 (en) * 2014-12-24 2020-08-25 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
CN109792405B (zh) * 2016-08-02 2022-05-24 瑞典爱立信有限公司 用于传输节点中共享缓冲器分配的方法和设备
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 (ja) 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
FI94815C (fi) 1993-11-30 1995-10-25 Nokia Telecommunciations Oy Menetelmä sekä järjestelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi
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
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
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
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
ATE262196T1 (de) 1996-08-02 2004-04-15 Hewlett Packard Co Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
JP3525656B2 (ja) * 1996-12-06 2004-05-10 株式会社日立製作所 パケット交換機、および輻輳通知方式
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 (ja) * 1997-01-31 2001-04-16 日本電気株式会社 ファイバチャネルファブリック
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
EP0955749A1 (en) 1998-05-08 1999-11-10 Nortel Networks Corporation Receiver based congestion control and congestion notification from router
CA2237208A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited 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
US6295575B1 (en) 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
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
ATE404001T1 (de) * 2000-09-12 2008-08-15 Ibm System und verfahren zur steuerung des mehrfachdatenverkehrs einer datenvermittlungsstelle
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 (ja) * 2007-01-23 2010-05-20 ゼットティーイー コーポレーション イーサネット受動型光ネットワークの下がりフロー制御情報の伝達方法
JP2011203810A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd サーバ、計算機システム及び仮想計算機管理方法
JP2021083053A (ja) * 2019-11-22 2021-05-27 Necソリューションイノベータ株式会社 スイッチ装置
JP7456603B2 (ja) 2019-11-22 2024-03-27 Necソリューションイノベータ株式会社 スイッチ装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4260631B2 (ja) ネットワーク輻輳制御の方法および装置
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 (ko) 다-임계값 리키 버킷을 사용하는 클래스-기초 속도 제어
US10505851B1 (en) Transmission burst control in a network device
JP5034491B2 (ja) スイッチにおける優先度帯域制御方法
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