説明

フレーム中継装置、ネットワークシステム及びフレーム中継方法

【課題】フレームの輻輳が発生したとしても、ネットワーク全体としてフレームの破棄が防止される、フレーム中継装置、ネットワークシステム及びフレーム中継方法を提供する。
【解決手段】フレーム中継装置(16b)は、フレームを出力ポート(18)に向けて送信する送信部(26)と、他の装置から受信した送信停止命令に基づいて、出力ポート(18)へのフレームの送信を一時的に停止させるフロー制御部(44)及び送信停止部(46)と、送信停止命令に基づく一時的な停止が終了し、出力ポートへのフレームの送信が再開した後、フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制御部(50)、帯域制限部(56)、送信レート上限値決定部(52)及び送信量計測部(58)とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フレーム中継装置、ネットワークシステム及びフレーム中継方法に関する。
【背景技術】
【0002】
IEEE802.3xには、フレームが輻輳したときのフロー制御の方法が規定されている。このフロー制御の方法によれば、受信側のフレーム中継装置において、バッファ容量不足によりフレームが廃棄されることが防止される。
具体的に、このフロー制御の方法では、バッファ容量が不足しそうな受信側のフレーム中継装置が、送信側のフレーム中継装置にポーズフレームを送信する。送信側のフレーム中継装置は、ポーズフレームを受信すると、ポーズフレームを送信したフレーム中継装置に向けたフレームの送信を一時的に停止する。
【0003】
IEEE802.3xに規定されたフロー制御の方法によれば、フレームの輻輳が発生したときに、輻輳を解消することはできるが、フレームの輻輳を予防することはできない。そこで、例えば、特許文献1が開示する通信装置は、直近の検出周期においてポーズフレームを受信していた場合に、直近の送信データレートよりも低くなるように新たな送信データレートを決定する。特許文献1には、この通信装置によれば、輻輳を回避しつつ未使用の通信帯域が有効に利用されると記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−33713号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1が開示する通信装置は、ポーズフレームを受信したときに、フレームの送信を停止しない。このため、送信の停止を要求すべくポーズフレームを送信した通信装置において、受信データ量がバッファ容量を超えてしまい、データが破棄されてしまう虞がある。
【0006】
一方、IEEE802.3xに規定されたフロー制御の方法によれば、ポーズフレームによってフレームの送信が停止させられるので、ポーズフレームを送信したフレーム中継装置における、バッファ容量超過によるデータの破棄は防止される。
【0007】
しかしながら、送信元と宛先の間において、複数のフレーム中継装置が直列に繋がっている場合、宛先側(下流側)のフレーム中継装置において、ポーズフレームによって送信が繰り返し停止させられると、この送信停止が送信元側(上流側)にも影響を及ぼし、送信元側のフレーム中継装置において、送信が長期に渡って停止させられてしまう。この現象は、先頭の徐行が、後尾で渋滞を引き起こす交通状態に似ている。
【0008】
そしてこのような場合、送信元からの送信を止めるか、若しくは、上流側のフレーム中継装置のバッファ容量を予め増大しておかない限り、上流側のフレーム中継装置においてバッファ容量が不足してフレームが破棄されるという問題が生じる。つまり、下流側のフレーム中継装置でフレームの流れが悪くなることで、上流側のフレーム中継装置でもフレームの流れが悪くなり、フレームが破棄されてしまうという問題が生じる。
【0009】
本発明は上述した事情に基づいてなされ、その目的とするところは、フレームの輻輳が発生したとしても、ネットワーク全体としてフレームの破棄が防止される、フレーム中継装置、ネットワークシステム、及び、フレーム中継方法を提供することにある。
【課題を解決するための手段】
【0010】
上記の目的を達成するため、本発明の一態様によれば、フレームを出力ポートに向けて送信する送信手段と、他の装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限手段と、前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限手段と、を備えるフレーム中継装置が提供される。
【0011】
また、本発明の一態様によれば、複数のフレーム中継装置を備え、前記フレーム中継装置のうち少なくとも1つは、フレームを出力ポートに向けて送信する送信手段と、他のフレーム中継装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限手段と、前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限手段と、を有する、ネットワークシステムが提供される。
【0012】
更に、本発明の一態様によれば、フレームを出力ポートに向けて送信する送信工程と、他の装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限工程と、前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限工程と、を備えるフレーム中継方法が提供される。
【発明の効果】
【0013】
本発明は、フレームの輻輳が発生したとしても、ネットワーク全体としてフレームの破棄が防止される、フレーム中継装置、ネットワークシステム、及び、フレーム中継方法を提供する。
【図面の簡単な説明】
【0014】
【図1】第1実施形態及び第2実施形態のネットワークシステムの構成を概略的に示す図である。
【図2】図1中のフレーム中継装置の構成を概略的に示すブロック図である。
【図3】第1実施形態に係る図2のフレーム中継装置が準拠しているIEEE802.3xで用いられるポーズフレームのフォーマットを概略的に示す図である。
【図4】図2のフレーム中継装置が実行する帯域制限方法を説明するためのフローチャートの一部である。
【図5】図2のフレーム中継装置が実行する帯域制限方法を説明するためのフローチャートの残部である。
【図6】図2のフレーム中継装置が実行する帯域制限方法を説明するためのタイムチャートである。
【図7】第2実施形態に係る図2のフレーム中継装置が実行する帯域制限方法を説明するためのフローチャートの一部である。
【図8】第2実施形態に係る図2のフレーム中継装置が実行する帯域制限方法を説明するためのフローチャートの残部である。
【図9】第2実施形態に係る図2のフレーム中継装置の帯域制限を説明するためのタイムチャートである。
【図10】第3実施形態、第4実施形態及び第5実施形態のネットワークシステムの構成を概略的に示す図である。
【図11】第3実施形態に係る図10中のフレーム中継装置の構成を概略的に示すブロック図である。
【図12】図11のフレーム中継装置によって転送されるフレームのフォーマットを概略的に示す図である。
【図13】図11のフレーム中継装置で用いられる、IEEE802.1Qbbで規定されたPFCフレームのフォーマットを概略的に示す図である。
【図14】図11のフレーム中継装置における、優先度別に論理的に分割された、送信停止部、帯域制限部及び送信量計測部の構成を概略的に示すブロック図である。
【図15】第4実施形態に係る図10中のフレーム中継装置の構成を概略的に示すブロック図である。
【図16】図15のフレーム中継装置の優先群割当DBの構成を概略的に示す図である。
【図17】図15のフレーム中継装置における、優先群別のフロー制御の有効化及び無効化の設定を説明するための表である。
【図18】第5実施形態に係る図10中のフレーム中継装置の構成を概略的に示すブロック図である。
【図19】図18のフレーム中継装置で用いられる、PGFCフレームのフォーマットを概略的に示す図である。
【図20】図18のフレーム中継装置における、優先群別に論理的に分割された、送信停止部、帯域制限部及び送信量計測部の構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本発明の第1実施形態について図面を参照しながら説明する。
図1は、第1実施形態のネットワークシステム10の構成を概略的に示す図である。ネットワークシステム10は、例えば、事業所内に設置され、PC(パーソナルコンピュータ)からなる第1端末12a及び第2端末12b、並びに、第1サーバ14a及び第2サーバ14bを含む。
本実施形態では、一例として、ネットワークシステム10が、第1端末12a及び第2端末12bの2つの端末、並びに、第1サーバ14a及び第2サーバ14bの2つのサーバを含んでいるが、端末及びサーバの数はこの例に限定されることはない。
【0016】
また、ネットワークシステム10は、第1フレーム中継装置(MACブリッジング装置/スイッチングハブ)16a、第2フレーム中継装置16b、及び、第3フレーム中継装置16cを有する。本実施形態では、一例として、ネットワークシステム10が、第1フレーム中継装置16a、第2フレーム中継装置16b及び第3フレーム中継装置16cの3つのフレーム中継装置を有するが、フレーム中継装置の数はこの例に限定されることはなく、複数であればよい。
なお以下では、第1フレーム中継装置16a、第2フレーム中継装置16b及び第3フレーム中継装置16cを単にフレーム中継装置16ともいう。
【0017】
第1フレーム中継装置16a、及び、第3フレーム中継装置16cは、伝送媒体を介して第2フレーム中継装置16bにそれぞれ接続されている。そして、第1フレーム中継装置16aに、第1端末12a及び第2端末12bが伝送媒体を介して接続され、第3フレーム中継装置16cに、第1サーバ14a及び第2サーバ14bが伝送媒体を介して接続されている。
【0018】
従って、ネットワークシステム10は、第2フレーム中継装置16bを中心とするスター型のトポロジを構成している。そして、この構成では、第1端末12a及び第2端末12bと第1サーバ14a及び第2サーバ14bとの間において、第1フレーム中継装置16a、第2フレーム中継装置16b及び第3フレーム中継装置16cは、伝送媒体を介して直列に接続されている。
【0019】
ネットワークシステム10では、第1フレーム中継装置16a、第2フレーム中継装置16b、及び、第3フレーム中継装置16cによって、第1端末12aと第2端末12bの間や、第1端末12a及び第2端末12bと第1サーバ14a及び第2サーバ14bとの間が、OSI(Open Systems Interconnection)参照モデルにてレイヤ2レベルで接続されている。つまり、第1フレーム中継装置16a、第2フレーム中継装置16b、及び、第3フレーム中継装置16cは、フレーム又はパケットを要求に応じて中継する。
【0020】
〔フレーム中継装置〕
図2は、第2フレーム中継装置16bの概略的な構成を示すブロック図である。なお、第1フレーム中継装置16a及び第3フレーム中継装置16cの構成については、第2フレーム中継装置16bと同じであることから説明を省略する。
第2フレーム中継装置16bは、第1ポート18a及び第2ポート18bを有する。本実施形態では、一例として、第2フレーム中継装置16bが第1ポート18a及び第2ポート18bの2つのポートを有するが、ポートの数はこの例に限定されることはなく、2つ以上であればよい。
なお以下では、第1ポート18a及び第2ポート18bを単にポート18ともいう。
【0021】
第1ポート18aは、伝送媒体を介して第1フレーム中継装置16aに接続され、第2ポート18bは、伝送媒体を介して第3フレーム中継装置16cに接続されている。
ポート18は、PHY用LSI(大規模集積回路)20に接続されている。ポート18は、PHY用LSI20と協働して、OSI参照レベルにてPHY(物理)層の機能を担当する。
【0022】
PHY用LSI20は、中継用LSI22に接続されている。中継用LSI22は、例えばASIC(特定用途向け集積回路)やFPGA(Field Programmable Gate Array)等の集積回路によって構成され、OSI参照レベルにてMAC(媒体アクセス制御)層の機能、及び、必要に応じてMAC層よりも上位層の機能を担当する。
【0023】
より詳しくは、PHY用LSI20は、ポート18毎に受信部24及び送信部26を有する。受信部24は、対応するポート18から受信した送信符号を復号化して送信データに変換し、送信データを中継用LSI22に向けて送信する。
送信部26は、中継用LSI22から受信した送信データを符号化して送信符号に変換し、送信符号を対応するポート18に向けて送信する。送信符号は、ポート18及び伝送媒体を伝搬し、第1フレーム中継装置16a又は第3フレーム中継装置16cに到達する。
なお、本発明においては、送信符号及び送信データのことを区別せずに、いずれもフレームともいう。
【0024】
中継用LSI22は、経路制御部28、FDB(フォワーディングデータベース)30及びバッファ(記憶部)32を有する。経路制御部28は、FDB30を参照しながら、受信した送信データ、即ち、フレームに含まれる宛先アドレスに基づいて、送信データの出力用のポート18を決定する。そして、経路制御部28は、出力用のポート18に接続された送信部26が順次読み出し可能なように、送信データをバッファ32に格納する。
つまり、経路制御部28は、各フレームの出力用のポート18を決定する経路制御手段を構成し、送信部26は、バッファ32から出力用のポート18に向けてフレームを送信する送信手段を構成している。
【0025】
また、中継用LSI22は、フロー制御ユニット34を含んでいる。フロー制御ユニット34は、空き容量計測部36、及び、ポーズフレーム送信部38を有する。空き容量計測部36、及び、ポーズフレーム送信部38は、IEEE802.3xの規格に準拠して動作する。
【0026】
具体的には、空き容量計測部36は、バッファ32の空き容量を測定し、ポーズフレーム送信部38は、空き容量計測部36の測定結果を監視する。そして、ポーズフレーム送信部38は、バッファ32の空き容量が不足しそうになると、図3に示すフォーマットを有するポーズフレーム40を生成して送信部26に向けて送信する。
【0027】
例えば、ポーズフレーム40の宛先アドレス領域40a、タイプ/長さ領域40b、及び、操作コード領域40cには、「01:80:C2:00:00:01」、「0x8808」、及び、「0x0001」が格納される。また、中断時間領域40dには、0〜65,535の適当な数字が格納される。
なお、ポーズフレーム40の送信は、ユーザフレームの送信に優先して行われる。
【0028】
また、再び図2を参照すると、フロー制御ユニット34は、ポーズフレーム受信部42、及び、フロー制御部44を有し、PHY用LSI20は、送信部26と中継用LSI22の間を延びる伝送路に設けられた送信停止部46を有する。ポーズフレーム受信部42、フロー制御部44、及び、送信停止部46は、IEEE802.3xの規格に準拠して動作する。
【0029】
具体的には、経路制御部28は、ポーズフレーム40を受信すると、ポーズフレーム40を受信したポート18の番号及びポーズフレーム40を受信した時刻の情報とともに、ポーズフレーム40をポーズフレーム受信部42に送信する。ポーズフレーム受信部42は、ポーズフレーム40を受信すると、ポート18の番号、受信時刻、及び、ポーズフレーム40の中断時間領域40dに含まれる数字を、フロー制御部44に通知する。
【0030】
フロー制御部44は、ポーズフレーム受信部42からの通知に基づき、送信停止部46を動作させる。具体的には、フロー制御部44は、ポーズフレーム40の受信時刻から起算して中断時間が経過するまで、中継用LSI22から、ポーズフレーム40を受信したポート18に繋がる送信部26への送信データの送信を、送信停止部46によって停止させる。
【0031】
従って、第1フレーム中継装置16a又は第3フレーム中継装置16cがポーズフレーム40を送信し、第2フレーム中継装置16bがポーズフレーム40を受信すると、第2フレーム中継装置16bは、指定された中断時間の間、第1フレーム中継装置16a又は第3フレーム中継装置16cに向けた送信符号の送信を停止する。
【0032】
なお、中断時間は、ポーズフレーム40の中断時間領域40dに含まれる数字に、例えば512ビット時間を掛けて得られる時間である。ポーズフレーム40の中断時間領域40dに含まれる数字は、送信を停止すべき時間に対応するものであり、中断時間が0よりも大であれば、ポーズフレーム40は、送信停止命令(停止命令)であるということができる。一方、中断時間が0である場合は、ポーズフレーム40は、送信停止命令であるというより、むしろ、送信開始命令(送信命令)であるということができる。
そして、フロー制御部44、及び、送信停止部46は、送信停止命令に基づいて、バッファ32から出力用のポート18へのフレームの送信を一時的に停止させる送信停止手段を構成している。
【0033】
更に、フロー制御ユニット34は、帯域制御部50、及び、送信レート上限値決定部52を有し、PHY用LSI20は、帯域制限部56、及び、送信量計測部58を有する。
帯域制限部56は、送信部26と中継用LSI22の間を延びる伝送路に設けられ、中継用LSI22から送信部26への送信データの送信を制限可能である。帯域制御部50は、ポート18から送信される送信符号の送信レートが、送信レート上限値決定部52によって決定された送信レート上限値Ru以下になるように、帯域制限部56に送信の制限を実行させる。
【0034】
つまり、帯域制御部50、送信レート上限値決定部52、帯域制限部56、及び、送信量計測部58は、帯域制限手段を構成しており、帯域制限手段は、送信停止命令に基づく一時的な停止が終了し、バッファ32から出力用のポート18へのフレームの送信が再開した後、フレームの送信レートを、再開前の平均送信レートに基づいて制限する。
【0035】
送信レート上限値決定部52が送信レート上限値Ruを決定出来るようにするため、ポーズフレーム受信部42は、ポーズフレーム40を受信すると、送信レート上限値決定部52に、ポーズフレーム40を受信したポート18の番号、受信時刻、及び、中断時間を通知する。
そして、送信量計測部58は、送信部26とポート18の間の伝送路に設けられ、送信レート上限値決定部52によって指定された開始時刻から終了時刻までの間における、ポート18から送信される送信符号の送信量を計測可能である。本実施形態では、送信レート上限値決定部52は、送信再開時刻から次の送信再開時刻までの間における送信量を送信量計測部58に計測させる。送信レート上限値決定部52は、送信量計測部58によって計測された送信量を読み込むことができる。
【0036】
送信レート上限値決定部52は、ポーズフレーム受信部42からの通知、及び、送信量計測部58によって計測された送信量に基づいて平均送信レートRaを演算し、平均送信レートRaに基づいて送信レート上限値Ruを決定する。そして、送信レート上限値決定部52は、決定した送信レート上限値Ruを帯域制御部50に通知する。
【0037】
好ましくは、送信量計測部58は、単位時間当たりの送信量、則ち送信レートも計測可能であり、計測された送信レートは、帯域制御部50に刻々と通知される。そして、帯域制御部50は、通知された送信レートが、送信レート上限値決定部52によって決定された送信レート上限値Ru以下になるように、帯域制限部56に送信の制限を実行させる。つまり、送信レートがフィードバック制御される。
【0038】
〔帯域制限方法〕
以下、図4、図5及び図6を参照して、送信レート上限値Ruの計算方法を含む、送信レート上限値Ruに基づく帯域制限方法について説明する。図4及び図5は、フレーム中継装置16における、帯域制限方法の手順を示すフローチャートである。図6は、帯域制限方法によるフレーム中継装置16の動作を示すタイムチャートである。
【0039】
帯域制限方法では、帯域制限を実行する前提条件として、停止命令が受信されたか否か、即ち、中断時間が0よりも大きいポーズフレーム40が受信されたか否かが判定される(ステップS10)。
ステップS10の判定の結果、フレーム中継装置16が、他のフレーム中継装置16からの停止命令を受信していた場合(Yesの場合、図6(c)参照)、フロー制御部44が、送信停止部46を動作させ、中継用LSI22から送信部26への送信データの送信を停止させる。これにより、フロー制御がオン状態になり(図6(e)参照)、停止命令を送信した他のフレーム中継装置16に向けた、ポート18からの送信符号の送信が停止される(ステップS12)。
【0040】
それから、送信命令が受信されたか否かが判定される(ステップS14)。送信命令とは、中断時間が0に設定されたポーズフレーム40である。
ステップS14の判定の結果、送信命令が受信されていない場合(Noの場合)、停止命令の受信から、中断時間が経過したか否かが判定される(ステップS16)。ステップS16の判定の結果、中断時間が経過していない場合(Noの場合)、再度ステップS14が実行される。
【0041】
一方、ステップS14の判定の結果、送信命令が受信されていた場合(Yesの場合、図6(d)参照)、あるいは、ステップS16の判定の結果、中断時間が経過していた場合(Yesの場合)、帯域制御部50は、タイマで帯域制限解除時間Trの計測を開始する(ステップS18)。例えば、タイマは、予め設定された帯域制限解除時間Trからのカウントダウン方式で計測を実行する(図6(b)参照)。
【0042】
そして、ステップS14又はステップS16の判定の結果がYesの場合、送信量計測部58は、送信命令の受信時刻又は中断時間が経過した時刻から、送信量の計測を開始する(ステップS20)。
また、ステップS14又はステップS16の判定の結果がYesの場合、フロー制御部44は、送信停止部46の動作を停止させ、中継用LSI22から送信部26への送信データの送信を許可する。これにより、フロー制御がオフ状態になり、停止命令を送信した他のフレーム中継装置16に向けた、ポート18からの送信符号の送信が再開される(ステップS22)。
【0043】
ステップS22の後、帯域制御部50は、タイマの計測時間Tが帯域制限解除時間Trを経過したか否かを判定する(ステップS24)。
ステップS24の判定の結果、計測時間Tが帯域制限解除時間Trを経過していなかった場合(Noの場合)、停止命令が再度受信されたか否かが判定される(ステップS26)。ステップS26の判定の結果、停止命令が再度受信されていない場合(Noの場合)、ステップS24が実行される。
【0044】
一方、ステップS26の判定の結果、停止命令が再度受信されていた場合(Yesの場合)、帯域制御部50は、タイマの計測時間Tをリセットし、帯域制限解除時間Trの再計測を開始する(ステップS28)。
また、ステップS26の判定の結果がYesの場合、フロー制御部44が、送信停止部46を動作させ、中継用LSI22から送信部26への送信データの送信を停止させる。これにより、フロー制御がオン状態になり、停止命令を送信した他のフレーム中継装置16に向けた、ポート18からの送信符号の送信が停止される(ステップS30)。
【0045】
それから、送信命令が再度受信されたか否かが判定される(ステップS32)。ステップS32の判定の結果、送信命令が受信されていない場合(Noの場合)、停止命令の受信から、中断時間が経過したか否かが判定される(ステップS34)。ステップS34の判定の結果、中断時間が経過していない場合(Noの場合)、再度ステップS32が実行される。
【0046】
一方、ステップS32の判定の結果、送信命令が受信されていた場合(Yesの場合)、あるいは、ステップS34の判定の結果、中断時間が経過していた場合(Yesの場合)、帯域制御部50は、タイマに帯域制限解除時間Trの再計測を開始させる(ステップS36)。
また、ステップS32又はステップ34の判定の結果がYesの場合、送信量計測部58は、送信命令の受信時刻又は中断時間の経過時刻にて送信量の計測を終了し、送信レート上限値決定部52は、計測された送信量を読み込む。そして、送信量計測部58は、計測の終了と同時に、則ち、送信命令の受信時刻又は中断時間の経過時刻から、送信量の計測を再開する。(ステップS38)。
【0047】
それから、送信レート上限値決定部52は、送信レート上限値Ruを決定する(ステップS40)。そのために、まず、送信レート上限値決定部52は、平均送信レートRaを演算する。平均送信レートRaは、次式:
Ra=V/Ta・・・(1)
によって演算される。なお、Vは、送信量計測部58によって計測された送信量(単位:ビット)であり、Taは、平均送信レート算出時間である。平均送信レート算出時間Taは、前回の送信開始から今回の送信開始までの時間であり、より具体的には、前回の送信命令の受信時刻又は中断時間の経過時刻から、今回の送信命令の受信時刻又は中断時間の経過時刻までの時間である。従って、平均送信レート算出時間Taは、送信符号を送信した送信時間Tsと送信符号が送信されなかった中断時間Tiの合計である。
【0048】
そして、送信レート上限値決定部52は、送信レート上限値Ruを、次式:
Ru=Ra+α・・・(2)
によって設定する。なお、αは定数であり、0であってもよい。送信レート上限値決定部52は、決定された送信レート上限値Ruを帯域制御部50に通知する。
【0049】
なお、式(2)を用いるのに代えて、平均送信レートRaと送信レート上限値Ruの関係を規定するテーブルデータを予め用意しておき、テーブルデータを参照して、平均送信レートRaに基づいて送信レート上限値Ruを決定してもよい。
【0050】
帯域制御部50は、送信部26から送信される送信符号の送信レートが送信レート上限値Ruを超えないように、帯域制限部56を動作させる。これにより、帯域制限が開始される(ステップS42、図6(f),図6(g)参照)。
【0051】
本実施形態では、好ましい態様として、帯域制御部50に、送信量計測部58によって計測された送信レートが刻々と通知される。そして、帯域制御部50は、通知された送信レートが送信レート上限値Ruを超えないように、帯域制限部56を操作する。つまり、送信レートは、送信レート上限値Ruを超えないようにフィードバック制御される。
【0052】
なお、図6(a)において、ハッチングされた領域は、実際に送信された送信量を示し、四角で囲まれた空白の領域A1,A2,A3は、帯域制限により送信されなかった未送信量を示す。
【0053】
ステップS42の帯域制限の開始と同時に、ステップS22が実行される。即ち、フロー制御部44は、送信停止部46を用いたフロー制御をオフにし、ポート18からの送信符号の送信が再開される。
【0054】
一方、ステップS24の判定の結果、タイマの計測時間Tが帯域制限解除時間Trを経過した場合(Yesの場合)、帯域制限がオフ状態に設定され、終了させられる(ステップS44)。帯域制限が終了すると送信レートは制限されず、最大になる。この後、帯域制限方法のフローは、ステップS10に戻り、次の帯域制限の実施に備える。
【0055】
上述した第1実施形態のネットワークシステム10によれば、フレームの輻輳が発生しても、フレーム中継装置16が頻繁に停止命令を送受信することが防止され、フレーム中継装置16間で円滑に送信符号(フレーム)の送受信が行われる。このため、一部のフレーム中継装置16においてバッファ32の空き容量が不足することが防止され、ネットワークシステム10全体としてフレームの破棄が防止される。
【0056】
例えば、第1サーバ14aが多量の送信符号を第1端末12aに向けて送信している間に、第1フレーム中継装置16aが、第2フレーム中継装置16bに向けて停止命令を送信した場合を考える。この場合、第2フレーム中継装置16bは、第1フレーム中継装置16aに向けた送信を停止し、第1フレーム中継装置16aからの送信命令の受信後、あるいは、停止命令によって指定された中断時間の経過後に、第1フレーム中継装置16aに向けた送信を再開する。
【0057】
この送信再開後、第2フレーム中継装置16bにおいて、送信レートが送信レート上限値Ruを超えないように帯域制限が実行されることで、第1フレーム中継装置16aに向けて送られる送信符号の送信量が低減される。これにより、第1フレーム中継装置16aが、次の停止命令を発信する可能性若しくは必要性が低減される。
【0058】
その上、第2フレーム中継装置16bが帯域制限の実行中に、第1フレーム中継装置16aから再度停止命令を受信すると、平均送信レートRaの低下に伴い送信レート上限値Ruが下方に再設定され、第1フレーム中継装置16aに向けて送られる送信符号の送信量が更に低減される。つまり、送信レートが、停止命令を受信しなくなる程度にまで段階的に抑制される。
【0059】
このため、帯域制限を実行している第2フレーム中継装置16bについては、第1フレーム中継装置16aから停止命令を頻繁に受信することが防止され、送信停止状態に頻繁になることが防止される。従って、第2フレーム中継装置16bのバッファ32の空き容量が不足することが防止される。
【0060】
そして、フレームの送信方向でみて、第2フレーム中継装置16bよりも更に上流側の第3フレーム中継装置16cについても、第2フレーム中継装置16bから停止命令を頻繁に受信することが防止され、送信停止状態に頻繁になることが防止される。従って、第3フレーム中継装置16cにおいてバッファ32の空き容量が不足することが防止される。
【0061】
かくして、本実施形態では、第2フレーム中継装置16bが帯域制限を実行することで、第2フレーム中継装置16b、及び、より上流の第3フレーム中継装置16cにおいても送信停止が防止され、バッファ32の空き容量が不足することが防止される。
すなわち、従来技術のままであれば、下流側の第2フレーム中継装置16bにおける送信停止の影響を受けてバッファ32の空き容量が不足し易かったであろう上流側の第3フレーム中継装置16cにおいても、バッファ32の空き容量不足が防止される。
この結果として、ネットワークシステム10を構成する第1、第2及び第3フレーム中継装置16a,16b,16cの各々において、フレームの破棄が防止される。
【0062】
そして、上述した第1実施形態のネットワークシステム10では、フレーム中継装置16が、送信再開直前の平均送信レートRaに基づいて、送信レート上限値Ruを的確に決定する。このため、帯域制限の実行によって、下流のフレーム中継装置16への送信量が、過小になることなく適当に減少させられる。
【0063】
また、上述した第1実施形態のネットワークシステム10では、フレーム中継装置16が、帯域制限解除時間Trの経過によって、帯域制限を解除する。このため、帯域制限が必要なときにのみ的確に実施され、不必要に送信量が制限されることがない。
なお、本実施形態では、図6(a)に示したように、帯域制限が一度で完全に解除されたが、時間の経過に連れて段階的又は連続的に送信レートが増大するように、解除されてもよい。
【0064】
〔第2実施形態〕
以下、本発明の第2実施形態のネットワークシステム100について説明する。なお、以下の実施形態の説明では、先行する実施形態と同一又は類似の構成及び手順については、同一の名称又は符号を付して詳細な説明を省略する。
【0065】
図1は、第2実施形態のネットワークシステム100の概略的な構成も示している。ネットワークシステム100は、第1フレーム中継装置102a、第2フレーム中継装置102b及び第3フレーム中継装置102cを有する。なお、以下では、第1フレーム中継装置102a、第2フレーム中継装置102b及び第3フレーム中継装置102cを、単にフレーム中継装置102ともいう。
【0066】
図2は、第2フレーム中継装置102bの概略的な構成も示している。なお、第1フレーム中継装置102a及び第3フレーム中継装置102cの構成は、第2フレーム中継装置102bと同一である。
第2フレーム中継装置102bは、第1実施形態とは異なる方法で送信レート上限値Ruを決定する送信レート上限値決定部104を有する。
【0067】
〔帯域制限方法〕
以下、図7、図8及び図9を参照して、送信レート上限値Ruの計算方法を含む、送信レート上限値Ruに基づく帯域制限方法について説明する。図7及び図8は、フレーム中継装置102における、帯域制限方法の手順を示すフローチャートである。図9は、帯域制限方法によるフレーム中継装置102の動作を示すタイムチャートである。
【0068】
フレーム中継装置102では、初期設定として、フラグFが0に設定される(ステップS100)。そして、帯域制限を実行する前提条件として、停止命令が受信されたか否か、即ち、中断時間が0よりも大きいポーズフレーム40が受信されたか否かが判定される(ステップS102)。
【0069】
ステップS102の判定の結果、フレーム中継装置102が、他のフレーム中継装置102からの停止命令を受信していた場合(Yesの場合、図9(c)参照)、フロー制御部44が、送信停止部46を動作させ、中継用LSI22から送信部26への送信データの送信を停止させる。これにより、フロー制御がオン状態になり(図9(e)参照)、停止命令を送信した他のフレーム中継装置102に向けた、ポート18からの送信符号の送信が停止される(ステップS104)。
【0070】
それから、送信命令が受信されたか否かが判定される(ステップS106)。送信命令とは、中断時間が0に設定されたポーズフレーム40である。
ステップS106の判定の結果、送信命令が受信されていない場合(Noの場合)、停止命令の受信から、中断時間が経過したか否かが判定される(ステップS108)。ステップS108の判定の結果、中断時間が経過していない場合(Noの場合)、再度ステップS106が実行される。
【0071】
一方、ステップS106の判定の結果、送信命令が受信されていた場合(Yesの場合、図9(d)参照)、あるいは、ステップS108の判定の結果、中断時間が経過していた場合(Yesの場合)、帯域制御部50は、第1タイマで帯域制限解除時間Trの計測を開始する(ステップS110)。例えば、第1タイマは、予め設定された帯域制限解除時間Trからのカウントダウン方式で計測を行う(図9(b)参照)。
そして、ステップS106又はステップS108の判定の結果がYesの場合、送信レート上限値決定部104は、第2タイマで平均送信レート算出時間Taの計測を開始する(ステップS112)。また、ステップS106又はステップS108の判定の結果がYesの場合、送信量計測部58は、送信命令の受信時刻又は中断時間が経過した時刻から、送信量の計測を開始する(ステップS114)。
【0072】
更に、ステップS106又はステップS108の判定の結果がYesの場合、フロー制御部44は、送信停止部46の動作を停止させ、中継用LSI22から送信部26への送信データの送信を許可する。これにより、フロー制御がオフ状態になり、ポーズフレーム40を送信した他のフレーム中継装置102に向けた、ポート18からの送信符号の送信が再開される(ステップS116)。
ステップS116の後、帯域制御部50は、第1タイマの計測時間T1が、帯域制限解除時間Trを経過したか否かを判定する(ステップS118)。
【0073】
ステップS118の判定の結果、計測時間T1が帯域制限解除時間Trを経過していなかった場合(Noの場合)、送信レート上限値決定部104は、第2タイマの計測時間T2が、平均送信レート算出時間Taを経過したか否かを判定する(ステップS120)。
ステップS120の判定の結果、計測時間T2が平均送信レート算出時間Taを経過していない場合(Noの場合)、フラグFが0であるか1であるかが判定される(ステップS122)。即ち、フロー制御がオンであるかオフであるかが判定される。
【0074】
ステップS122の判定の結果、フラグFが0である場合、即ち、フロー制御がオフであり、送信符号の送信中である場合、停止命令が受信されたか否かが判定される(ステップS124)。ステップS124の判定の結果、停止命令が受信されていた場合(Yesの場合)、帯域制御部50は、第1タイマで帯域制限解除時間Trの再計測を開始する(ステップS126)。
【0075】
また、ステップS124の判定結果がYesの場合、フロー制御部44によって送信が停止されるとともに(ステップS128)、フラグFが1に設定される(ステップS130)。そして、ステップS130の後、あるいは、ステップS124の判定結果がNoの場合、処理の流れは、ステップS118に戻る。
【0076】
一方、ステップS122の判定結果において、フラグFが1である場合、送信命令が受信されたか否かが判定される(ステップS132)。ステップS132の判定の結果、送信命令が受信されていない場合(Noの場合)、停止命令の受信から、中断時間が経過したか否かが判定される(ステップS134)。ステップS134の判定の結果、中断時間が経過していない場合(Noの場合)、再度ステップS118が実行される。
【0077】
一方、ステップS132の判定の結果、送信命令が受信されていた場合(Yesの場合)参照)、あるいは、ステップS134の判定の結果、中断時間が経過していた場合(Yesの場合)、帯域制御部50は、第1タイマで帯域制限解除時間Trの再計測を開始する(ステップS136)。
そして、ステップS132又はステップS134の判定の結果がYesの場合、フロー制御部44が送信停止部46の動作を停止させ、フロー制御がオフになり送信が再開されるとともに(ステップS138)、フラグFが0に設定される(ステップS140)。ステップS140の後、又は、ステップS134の判定結果がNoの場合、処理の流れは、ステップS118に戻る。
【0078】
一方、ステップS120の判定結果がYesである場合、即ち、平均送信レート算出時間Taが経過していた場合、送信量計測部58は送信量の計測を終了し、送信レート上限値決定部104は、計測された送信量を読み込む。そして送信量計測部58は、計測の終了と同時に、則ち、送信量の計測を再開する(ステップS142)。
つまり、送信量計測部58は、平均送信レート算出時間Taの経過時刻に送信量の計測を終了し、再開する。
【0079】
それから、送信レート上限値決定部104は、送信レート上限値Ruを決定する(ステップS144)。そのために、まず、送信レート上限値決定部144は、平均送信レートRaを演算する。平均送信レートRaは、次式:
Ra=V/Ta・・・(3)
によって演算される。
【0080】
なお、Vは、送信量計測部58によって計測された送信量であり、Taは、平均送信レート算出時間である。平均送信レート算出時間Taは、予め設定された一定長さの時間であり、平均送信レート算出時間Taの間に、送信符号を送信した送信時間Ts及び送信符号が送信されなかった中断時間Tiが複数回含まれることがある。
【0081】
そして、送信レート上限値決定部104は、送信レート上限値Ruを、次式:
Ru=Ra+α・・・(4)
によって設定する。なお、αは定数であり、0であってもよい。送信レート上限値決定部104は、決定された送信レート上限値Ruを帯域制御部50に通知する。
【0082】
なお、式(4)を用いるのに代えて、平均送信レートRaと送信レート上限値Ruの関係を規定するテーブルデータを予め用意しておき、テーブルデータを参照して、平均送信レートRaに基づいて送信レート上限値Ruを決定してもよい。
【0083】
帯域制御部50は、送信部26から送信される送信符号の送信レートが送信レート上限値Ruを超えないように、帯域制限部56を動作させる。これにより、帯域制限が開始される(ステップS146、図9(f),図9(g)参照)。
【0084】
本実施形態では、好ましい態様として、帯域制御部50に、送信量計測部58によって計測された送信レートが刻々と通知される。そして、帯域制御部50は、通知された送信レートが送信レート上限値Ruを超えないように、帯域制限部56を操作する。つまり、送信レートは、送信レート上限値Ruを超えないようにフィードバック制御される。
【0085】
なお、図9(a)において、ハッチングされた領域は、実際に送信された送信量を示し、四角で囲まれた空白の領域B1,B2は、帯域制限により送信されなかった未送信量を示す。
【0086】
また、ステップS120の判定の結果、第2タイマの計測時間T2を経過している場合、平均送信レート算出時間Taの再計測が開始される(ステップS148)。そして、ステップS148の後、ステップS122が実行される。
一方、ステップS118の判定の結果、第1タイマの計測時間T1が帯域制限解除時間Trを経過した場合(Yesの場合)、帯域制限がオフ状態に設定され、終了させられる(ステップS150)。帯域制限が終了すると送信レートは制限されず、最大になる。この後、帯域制限方法のフローは、ステップS100に戻り、次の帯域制限の実施に備える。
【0087】
上述した第2実施形態のネットワークシステム100は、第1実施形態のネットワークシステム10と同様の効果を奏し、ネットワークシステム100全体としてフレームの破棄が防止される。
【0088】
そして、上述した第2実施形態のネットワークシステム100では、フレーム中継装置102が、帯域制限開始直前における、予め設定された平均送信レート算出時間Taでの平均送信レートRaに基づいて、送信レート上限値Ruを的確に決定する。このため、帯域制限の実行によって、下流のフレーム中継装置102への送信量が、過小になることなく適当に減少させられる。
【0089】
また、上述した第2実施形態のネットワークシステム100では、フレーム中継装置102は、帯域制限解除時間Trの経過によって、帯域制限を解除する。このため、帯域制限が必要なときにのみ的確に実施され、不必要に送信量が制限されることがない。
なお、本実施形態では、図9(a)に示したように、帯域制限が一度で完全に解除されたが、時間の経過に連れて段階的又は連続的に送信レートが増大するように、解除されてもよい。
〔第3実施形態〕
以下、本発明の第3実施形態について説明する。
図10は、第3実施形態のネットワークシステム200の構成を示す概略的なブロック図である。
ネットワークシステム200は、例えば、事業所に設けられたLAN(ローカルエリアネットワーク)202と、データセンターに設けられた統合ネットワーク204と、LAN202と統合ネットワーク204を相互に接続するインターネット205によって構成されている。なお、インターネット205は、通信事業者によって設置される広域網等であってもよい。
【0090】
LAN202は、例えば、PCからなる複数の端末206と、端末206に接続されたフレーム中継装置208と、フレーム中継装置208とインターネット205とを接続するルータ210によって構成されている。
【0091】
一方、統合ネットワーク204は、複数のサーバ212、及び、複数の外部記憶装置214を有する。例えば、複数のサーバ212は、伝送媒体を介して第1フレーム中継装置216aに接続され、第1フレーム中継装置216aは、伝送媒体を介して第2フレーム中継装置216bに接続されている。また、複数の外部記憶装置214は、伝送媒体を介して第3フレーム中継装置216cに接続され、第3フレーム中継装置216cは、伝送媒体を介して第2フレーム中継装置216bに接続されている。
【0092】
更に、第2フレーム中継装置216bには、伝送媒体を介して第4フレーム中継装置216dが接続され、第4フレーム中継装置216dは、伝送媒体を介してルータ218に接続されている。そして、ルータ218は、伝送媒体を介してインターネット205に接続されている。従って、統合ネットワーク204dは、第2フレーム中継装置216bを中心とするスター型のトポロジを構成している。
以下では、第1フレーム中継装置216a、第2フレーム中継装置216b、第3フレーム中継装置216c、及び、第4フレーム中継装置216dを単にフレーム中継装置216ともいう。
【0093】
ネットワークシステム200においては、端末206からの要求に基づいて、サーバ212が情報処理を行う。この際、サーバ212は、必要に応じて、外部記憶装置214にアクセスし、外部記憶装置214に記憶されているデータの読み出し、又は、外部記憶装置214へのデータの書き込みを行う。
【0094】
〔フレーム中継装置〕
図11は、第2フレーム中継装置216bの概略的な構成を示すブロック図である。なお、第1フレーム中継装置216a、第3フレーム中継装置216c及び第4フレーム中継装置216dの構成については、第2フレーム中継装置216bと同じであることから説明を省略する。なお、スペースの関係から、図11では、第4フレーム中継装置216dとの接続に供されるポート等は省略されている。
【0095】
第2フレーム中継装置216bは、データセンター用のスイッチングハブであり、IEEE802.1Qbb PFC(Priority−based Flow Control)、及び、IEEE802.1Qaz ETS(Enhanced Transmission Selection)の規格に準拠している。IEEE802.1Qbbの規格に基づいて、第2フレーム中継装置216bのPHY用LSI220及び中継用LSI221は、送信データに含まれる優先度に基づいてフロー制御を実行する。
ここで、図12は、IEEE802.1Qに規定されたタグフレーム222のフォーマットを示している。優先度は、タグフレーム222の優先度領域222aに格納される。
【0096】
再び図11を参照すると、中継用LSI221のバッファ223には、優先度毎に容量が割り当てられている。
具体的には、IEEE802.1Qbbの規定では、第0優先度、第1優先度、第2優先度、第3優先度、第4優先度、第5優先度、第6優先度、及び、第7優先度の合計8つの優先度が設けられている。そこで、本実施形態では、中継用LSI221のバッファ223において、第0優先度領域224a、第1優先度領域224b、第2優先度領域224c、第3優先度領域224d、第4優先度領域224e、第5優先度領域224f、第6優先度領域224g、及び、第7優先度領域224hの8つの領域に所定の容量がそれぞれ割り当てられる。
なお以下の説明では、第0優先度領域224a、第1優先度領域224b、第2優先度領域224c、第3優先度領域224d、第4優先度領域224e、第5優先度領域224f、第6優先度領域224g、及び、第7優先度領域224hを単に優先度領域224ともいう。
【0097】
中継用LSI221の優先度別フロー制御ユニット225は空き容量計測部226を有し、空き容量計測部226は、バッファ223における空き容量、及び、優先度別のバッファ223の使用量を検出し、検出結果に基づいて、優先度領域224の各々の空き容量を検出する。
【0098】
また、優先度別フロー制御ユニット225は、PFCフレーム送信部228を有し、PFCフレーム送信部228は、第0優先度領域224a、第1優先度領域224b、第2優先度領域224c、第3優先度領域224d、第4優先度領域224e、第5優先度領域224f、第6優先度領域224g、及び、第7優先度領域224hのうち何れかの空き容量が不足しそうになると、図13に示すフォーマットを有するPFCフレーム229を生成して送信部26に向けて送信する。
なお、図13のフォーマットは、IEEE802.1Qbbに規定されたPFCフレームのフォーマットと同じである。
【0099】
例えば、PFCフレーム229の宛先アドレス領域229a、タイプ/長さ領域229b、及び、操作コード領域229cには、「01:80:C2:00:00:01」、「0x8808」、及び、「0x0101」がそれぞれ格納される。
中断時間領域229eには、第0乃至第7優先度の各々について、0〜65,535の適当な数字が個別に格納される。そして、有効化ベクトル領域229dには、中断時間領域229eに格納された中断時間を有効とするか否かを示す値が、第0乃至第7優先度の各々について個別に格納される。
なお、PFCフレーム229の送信は、ユーザフレームの送信に優先して行われる。
【0100】
一方、PFCフレーム受信部230、フロー制御部232及び送信停止部234は、互いに協働して、優先度別にフロー制御を実行する。PFCフレーム受信部230、帯域制御部236、送信レート上限値決定部238、帯域制限部240、及び、送信量計測部242は、互いに協働して、優先度別に帯域制限を実行する。
【0101】
より詳しくは、図14に示したように、送信停止部234では、送信データの伝送経路が、優先度の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第0優先度送信停止部234a、第1優先度送信停止部234b、第2優先度送信停止部234c、第3優先度送信停止部234d、第4優先度送信停止部234e、第5優先度送信停止部234f、第6優先度送信停止部234g及び第7優先度送信停止部234hが設けられる。フロー制御部232は、第0優先度送信停止部234a、第1優先度送信停止部234b、第2優先度送信停止部234c、第3優先度送信停止部234d、第4優先度送信停止部234e、第5優先度送信停止部234f、第6優先度送信停止部234g及び第7優先度送信停止部234hをそれぞれ個別に動作させて、優先度別にフロー制御を実行する。
【0102】
同様に、帯域制限部240においても、送信データの伝送経路が、優先度の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第0優先度帯域制限部240a、第1優先度帯域制限部240b、第2優先度帯域制限部240c、第3優先度帯域制限部240d、第4優先度帯域制限部240e、第5優先度帯域制限部240f、第6優先度帯域制限部240g及び第7優先度帯域制限部240hが設けられる。
また同様に、送信量計測部242においても、送信符号の伝送経路が、優先度の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第0優先度送信量計測部242a、第1優先度送信量計測部242b、第2優先度送信量計測部242c、第3優先度送信量計測部242d、第4優先度送信量計測部242e、第5優先度送信量計測部242f、第6優先度送信量計測部242g及び第7優先度送信量計測部242hが設けられる。
【0103】
これらの論理的に分割された第0優先度送信停止部234a、第0優先度帯域制限部240a、及び、第0優先度送信量計測部242aは、フロー制御部232、帯域制御部236及び送信レート上限値決定部238と協働して、第0優先度の送信データに関して、図4及び図5に示した第1実施形態の帯域制限方法又は図7及び図8に示した第2実施形態の帯域制限方法を実行する。
【0104】
この場合、当然のことながら、帯域制限方法で用いられる送信レート、平均送信レートRa及び送信レート上限値Ruは、第0優先度の送信データについての値であり、送信命令及び停止命令は、第0優先度の送信データについての命令である。つまり、停止命令とは、第0優先度に対応する中断時間が0よりも大きく且つ第0優先度に対応する有効化ベクトルが有効に設定されているPFCフレーム229であり、送信命令とは、第0優先度に対応する中断時間が0であり且つ第0優先度に対応する有効化ベクトルが有効に設定されているPFCフレーム229である。
【0105】
同様に、第1優先度送信停止部234b、第1優先度帯域制限部240b、及び、第1優先度送信量計測部242bは、フロー制御部232、帯域制御部236及び送信レート上限値決定部238と協働して、第1優先度の送信データに関して、第1実施形態又は第2実施形態の帯域制限方法を実行する。
以下、第2乃至第7優先度の送信データについても同様である。
【0106】
上述した第3実施形態のネットワークシステム200のデータセンターでは、フレームの輻輳が発生しても、フレーム中継装置216が、優先度別にフロー制御を行うので、優先度の高いフレームが円滑に送受信され、サーバ212や外部記憶装置214が安定に動作する。
その上で、フレーム中継装置216では、優先度別に帯域制限が行われるので、優先度の低いフレームも円滑に流れる。このため、フレーム中継装置216におけるフレームの破棄が防止される。
【0107】
〔第4実施形態〕
以下、本発明の第4実施形態について説明する。
図10は、第4実施形態のネットワークシステム300の構成も示している。
ネットワークシステム300は、データセンターの第1フレーム中継装置302a、第2フレーム中継装置302b、第3フレーム中継装置302c及び第4フレーム中継装置302dが、優先度を複数のグループ(優先群)に分け、優先群別にフロー制御の有効化及び無効化を行う点において、第3実施形態と異なっている。なお、有効化されている優先群に属する優先度の送信データについては、第3実施形態の場合と同様に優先度別にフロー制御が行われる。
以下では、第1フレーム中継装置302a、第2フレーム中継装置302b、第3フレーム中継装置302c及び第4フレーム中継装置302dを単にフレーム中継装置302ともいう。
【0108】
〔フレーム中継装置〕
図15は、第2フレーム中継装置302bの概略的な構成を示すブロック図である。なお、第1フレーム中継装置302a、第3フレーム中継装置302c及び第4フレーム中継装置302dの構成については、第2フレーム中継装置302bと同じであることから説明を省略する。なお、スペースの関係から、図15では、第4フレーム中継装置302dとの接続に供されるポート等が省略されている。
【0109】
第2フレーム中継装置302bにおいて、中継用LSI304の優先度別フロー制御ユニット306は、優先群別にフロー制御を有効化及び無効化するために、優先群割当DB308を有する。優先群割当DB308は、フレームに含まれる優先度と優先群の関係を規定するデータベースである。
【0110】
ここで図16は、優先群割当DB308の内容を概略的に示しており、例えば、第0〜第7の優先度があるとすると、第0乃至第2優先度が第1優先群に割り当てられ、第3及び第4優先度が第2優先群に割り当てられ、第5乃至第7優先度が第3優先群に割り当てられる。特に好ましい形態では、優先群割当DB308における優先度に対する優先群の割り当ては、IEEE802.1Qazの規格に従って行われる。
【0111】
第2フレーム中継装置302bでは、例えば、図17に示したように、予め優先群別にフロー制御の有効化及び無効化を設定しておくことができる。そして、有効化されている優先群に属する優先度の送信データについては、優先度別にフロー制御を行うことができる。
なお、各優先群の有効化及び無効化は、適当な指標に基づいて可変に設定されてもよい。
【0112】
上述した第4実施形態のネットワークシステム300のデータセンターでは、フレームの輻輳が発生しても、フレーム中継装置302が、優先群別にフロー制御の有効化及び無効化を行うので、優先度の高いフレームが円滑に送受信され、サーバ212や外部記憶装置214が安定に動作する。
その上で、フレーム中継装置302では、優先度別に帯域制限が行われるので、優先度の低いフレームも円滑に流れる。このため、フレーム中継装置302におけるフレームの破棄が防止される。
〔第5実施形態〕
以下、本発明の第5実施形態について説明する。
図10は、第5実施形態のネットワークシステム400の構成も示している。
ネットワークシステム400は、データセンターの第1フレーム中継装置402a、第2フレーム中継装置402b、第3フレーム中継装置402c及び第4フレーム中継装置402dが、優先度を複数のグループ(優先群)に分け、優先群別にフロー制御を行う点において、第3実施形態と異なっている。
なお以下では、第1フレーム中継装置402a、第2フレーム中継装置402b、第3フレーム中継装置402c及び第4フレーム中継装置402dを単にフレーム中継装置402ともいう。
【0113】
〔フレーム中継装置〕
図18は、第2フレーム中継装置402bの概略的な構成を示すブロック図である。なお、第1フレーム中継装置402a、第3フレーム中継装置402c及び第4フレーム中継装置402dの構成については、第2フレーム中継装置402bと同じであることから説明を省略する。なお、スペースの関係から、図18では、第4フレーム中継装置402dとの接続に供されるポート等が省略されている。
【0114】
第2フレーム中継装置402bは、優先群に基づいてフロー制御を行うPHY用LSI403及び中継用LSI404を有する。そして、中継用LSI404は、優先群別フロー制御ユニット406を有し、優先群別フロー制御ユニット406は、優先群割当DB308を有する。
【0115】
バッファ409には、優先群毎に容量が割り当てられており、本実施形態では、例えば、第1優先群領域410a、第2優先群領域410b及び第3優先群領域410cの3つの領域に容量が割り当てられる。第1優先群領域410a、第2優先群領域410b及び第3優先群領域410cの各々の容量は、例えば、第3実施形態の場合と同様に可変に設定される。
なお、本実施形態では、優先群の数が3つであるが、優先群の数は3つより多くてもよい。
【0116】
バッファ409の空き容量計測部412は、優先群別に空き容量を検出する。すなわち、第1優先群領域410a、第2優先群領域410b及び第3優先群領域410cの各々の空き容量を測定する。PGFCフレーム送信部414は、優先群別に、空き容量が不足しそうになると、当該優先群に属する優先度の送信データの送信を停止させるためのPGFC(Priority Group−based Flow Control)フレームを生成し、送信する。
【0117】
ここで、図19は、PGFCフレーム生成部414によって生成されるPGFCフレーム415のフォーマットを示している。PGFCフレーム415は、有効化ベクトル領域415d及び中断時間415eが優先群別に設定され、これに応じて、長さ/タイプ領域415bが変更される以外は、PFCフレーム229と同じ構成を有する。
なお、長さ/タイプ領域415bには、0x0101以外の値として、例えば0x0102を設定することができる。
【0118】
一方、PGFCフレーム受信部416、フロー制御部418及び送信停止部420は、互いに協働して、優先群別にフロー制御を実行し、PGFCフレーム受信部416、帯域制御部422、送信レート上限値決定部424、帯域制限部426、及び、送信量計測部428は、互いに協働して、優先群別に帯域制限を実行する。
【0119】
より詳しくは、図20に示したように、送信停止部420は、送信データの伝送経路が、優先群の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第1優先群送信停止部420a、第2優先群送信停止部420b、及び、第3優先群送信停止部420cが設けられる。フロー制御部418は、第1優先群送信停止部420a、第2優先群送信停止部420b、及び、第3優先群送信停止部420cをそれぞれ動作させて、優先群別にフロー制御を実行する。
【0120】
同様に、帯域制限部426においても、送信データの伝送経路が、優先群の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第1優先群帯域制限部426a、第2優先群帯域制限部426b、及び、第3優先群帯域制限部426cが設けられる。
また同様に、送信量計測部428においても、送信符号の伝送経路が、優先群の数に応じて論理的な伝送経路に分割される。そして、論理的な伝送経路に、第1優先群送信量計測部428a、第2優先群送信量計測部428b、及び、第3優先群送信量計測部428cが設けられる。
【0121】
これらの論理的に分割された第1優先群送信停止部420a、第1優先群帯域制限部426a、及び、第1優先群送信量計測部428aは、フロー制御部418、帯域制御部422及び送信レート上限値決定部424と協働して、第1優先群に属する優先度の送信データに関して、第1実施形態又は第2実施形態の帯域制限方法を実行する。
【0122】
この場合、当然のことながら、帯域制限方法で用いられる送信レート、平均送信レートRa及び送信レート上限値Ruは、第1優先群の送信データについての値であり、送信命令及び停止命令は、第1優先群の送信データについての命令である。つまり、停止命令とは、第1優先群に対応する中断時間が0よりも大きく且つ第1優先群に対応する有効化ベクトルが有効に設定されているPGFCフレーム415であり、送信命令とは、第1優先群に対応する中断時間が0であり且つ第1優先群に対応する有効化ベクトルが有効に設定されているPGFCフレーム415である。
【0123】
同様に、第2優先群送信停止部420b、第2優先群帯域制限部426b、及び、第2優先群送信量計測部428bは、フロー制御部418、帯域制御部422及び送信レート上限値決定部424と協働して、第2優先群に属する優先度の送信データに関して、第1実施形態又は第2実施形態の帯域制限方法を実行する。
【0124】
また同様に、第3優先群送信停止部420c、第3優先群帯域制限部426c、及び、第3優先群送信量計測部428cは、フロー制御部418、帯域制御部422及び送信レート上限値決定部424と協働して、第3優先群に属する優先度の送信データに関して、第1実施形態又は第2実施形態の帯域制限方法を実行する。
【0125】
上述した第5実施形態のネットワークシステム400のデータセンターでは、フレームの輻輳が発生しても、フレーム中継装置402が、優先群別にフロー制御を行うので、優先度の高いフレームが円滑に送受信され、サーバ212や外部記憶装置214が安定に動作する。
その上で、フレーム中継装置402では、優先群別に帯域制限が行われるので、優先度の低いフレームも円滑に流れる。このため、フレーム中継装置402におけるフレームの破棄が防止される。
【0126】
本発明は、上述した第1乃至第5実施形態に限定されることなく、第1乃至第5実施形態に適宜変更を加えた形態や、これらの形態を組み合わせた形態も含む。
例えば、第3乃至第5実施形態では、バッファ223,409において、優先度別又は優先群別に領域が設けられ、各領域に可変の容量が割り当てられていたが、各領域に優先度に応じて固定の容量が割り当てられていても良い。
【0127】
最後に、上述した第1乃至第5実施形態で用いられている装置の具体的な構成や処理手順はいずれも好ましいものであって、これらに限定されることはないのは勿論である。
【符号の説明】
【0128】
10 ネットワークシステム
12a,12b 端末
14a,14b サーバ
16a,16b,16c フレーム中継装置
18 ポート
20 PHY用LSI
22 中継用LSI
26 送信部(送信手段)
28 経路制御部(経路制御手段)
30 FDB
32 バッファ
44 フロー制御部(送信停止手段)
46 送信停止部(送信停止手段)
50 帯域制御部(帯域制限手段)
52 送信レート上限値決定部(帯域制御手段)
56 帯域制限部(帯域制限手段)
58 送信量計測部(帯域制限手段)

【特許請求の範囲】
【請求項1】
フレームを出力ポートに向けて送信する送信手段と、
他の装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限手段と、
前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限手段と、
を備えるフレーム中継装置。
【請求項2】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記フレームの送信再開直前の前記フレームの送信時間及び停止時間からなる、
請求項1に記載のフレーム中継装置。
【請求項3】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記帯域制限手段が制限を開始する直前の予め設定された一定時間からなる、
請求項1に記載のフレーム中継装置。
【請求項4】
前記帯域制限手段は、前記送信停止命令の受信から一定時間、送信停止命令又は送信開始命令を受信しないときに、帯域制限を解除する、
請求項1乃至3の何れか一項に記載のフレーム中継装置。
【請求項5】
前記フレームの送信レートは、前記平均送信レートに基づいて決定された送信レート上限値を超えないようにフィードバック制御される、
請求項1乃至4の何れか一項に記載のフレーム中継装置。
【請求項6】
前記送信制限手段は、IEEE802.1Qbbの規定に従って、前記フレームの優先度別に、前記フレームの送信を制限し、
前記帯域制限手段は、前記優先度別に前記フレームの送信レートを制限する、
請求項1乃至5の何れか一項に記載のフレーム中継装置。
【請求項7】
前記フレームの優先度の各々に対して優先群が割り当てられ、
前記送信制限手段は、前記優先群別に、前記フレームの送信制限の有効化及び無効化を行い、
前記帯域制限手段は、前記送信制限手段による送信制限が有効な優先群に属する優先度が割り当てられているフレームについて、前記優先度別に送信レートを制限する、
請求項6に記載のフレーム中継装置。
【請求項8】
前記フレームの優先度の各々に対して優先群が割り当てられ、
前記送信制限手段は、前記優先群別に、前記フレームの送信を制限し、
前記帯域制限手段は、前記優先群別に前記フレームの送信レートを制限する、
請求項1乃至5の何れか一項に記載のフレーム中継装置。
【請求項9】
IEEE802.1Qazの規定に従って、前記フレームの優先度の各々に対して前記優先群が割り当てられる、
請求項7又は8に記載のフレーム中継装置。
【請求項10】
前記送信制限手段は、IEEE802.3xの規定に従って、前記フレームの送信を制限する請求項1乃至5の何れか一項に記載のフレーム中継装置。
【請求項11】
複数のフレーム中継装置を備え、
前記フレーム中継装置のうち少なくとも1つは、
フレームを出力ポートに向けて送信する送信手段と、
他のフレーム中継装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限手段と、
前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限手段と、
を有する、
ネットワークシステム。
【請求項12】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記フレームの送信再開直前の前記フレームの送信時間及び停止時間からなる、
請求項11に記載のネットワークシステム。
【請求項13】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記帯域制限手段が制限を開始する直前の予め設定された一定時間からなる、
請求項11に記載のネットワークシステム。
【請求項14】
フレームを出力ポートに向けて送信する送信工程と、
他の装置から受信した送信停止命令に基づいて、前記出力ポートへの前記フレームの送信を一時的に停止させる送信制限工程と、
前記送信停止命令に基づく一時的な停止が終了し、前記出力ポートへの前記フレームの送信が再開した後、前記フレームの送信レートを、再開前の平均送信レートに基づいて制限する、帯域制限工程と、
を備えるフレーム中継方法。
【請求項15】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記フレームの送信再開直前の前記フレームの送信時間及び停止時間からなる、
請求項14に記載のフレーム中継方法。
【請求項16】
前記平均送信レートは、平均送信レート算出時間における前記フレームの送信量を前記平均送信レート算出時間で除して得られ、
前記平均送信レート算出時間は、前記帯域制限手段が制限を開始する直前の予め設定された一定時間からなる、
請求項14に記載のフレーム中継方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate