(57)【要約】【課題】高速なネットワークに接続された状況であっても出力バッファのバッファサイズを増やすことなく、高品質な通信を実現することができるネットワークスイッチおよびバックプレッシャ制御方法を提供すること。【解決手段】出力バッファ部２２３０ａは、出力バッファの使用状況に応じて２段階のバックプレッシャを送信する。出力バッファの使用量が通常の閾値を超過した場合は、従来同様に入側スイッチブレード２１００ａ〜２１００ｎに対してバックプレッシャを送信する。これに加えて、出力バッファの使用量が緊急の閾値を超過した場合は、メインスイッチ部２２００内の入力制御部２２１０ａ〜２２１０ｎに対してバックプレッシャを送信する。入力制御部２２１０ａ〜２２１０ｎは、出力バッファ部２２３０ａとの距離が近く、バックプレッシャの遅延時間が短いため、出力バッファ部２２３０ａは少ないバッファサイズでバッファ溢れを回避することができる。【選択図】        図９
2006324864.tif 000002
【特許請求の範囲】
【請求項１】
バックプレッシャによって出力バッファの輻輳制御をおこなう出力バッファ型のネットワークスイッチであって、
輻輳状況に応じて作用先が異なる複数の段階のバックプレッシャを送信するバックプレッシャ出力バッファ
を備えたことを特徴とするネットワークスイッチ。
【請求項２】
自装置の入力側に優先制御クラスを縮退した全出力先共通の縮退クラスバッファをさらに備え、特定の優先制御クラスの送信停止を要求するバックプレッシャが受信された場合に、該優先制御クラスに対応する縮退クラスバッファのみを送信停止状態とすることを特徴とする請求項１に記載のネットワークスイッチ。
【請求項３】
入力トラフィック量を監視する監視手段をさらに備え、前記監視手段がトラフィック量が所定の閾値よりも低いと判断した場合は、バックプレッシャによる送信停止要求を無視することを特徴とする請求項１または２に記載のネットワークスイッチ。
【請求項４】
出力バッファから出力された細分化されたセルを組み立て直す組立バッファを優先制御クラスごとにさらに備え、前記組立バッファは、使用量が所定の閾値を超過した場合に当該の優先制御クラスの送信停止を要求するバックプレッシャを入力部に送信することを特徴とする請求項１〜３のいずれか一つに記載のネットワークスイッチ。
【請求項５】
出力バッファ型のネットワークスイッチにおけるバックプレッシャ制御方法であって、
出力バッファの輻輳状況に応じて複数の段階のバックプレッシャを送信する工程と、
バックプレッシャの段階に応じてバックプレッシャの作用先を変更する工程と
を含んだことを特徴とするバックプレッシャ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、バックプレッシャによって出力バッファの輻輳制御をおこなう出力バッファ型のネットワークスイッチおよびこのネットワークスイッチにおけるバックプレッシャ制御方法に関し、特に、高速なネットワークに接続された状況であっても出力バッファのバッファサイズを増やすことなく、高品質な通信を実現することができるネットワークスイッチおよびバックプレッシャ制御方法に関するものである。
【背景技術】
【０００２】
ネットワーク化の進展にともない、レイヤ２やレイヤ３においてパケット（フレーム）の中継をおこなうネットワークスイッチの品質が重要視されるようになっている。ネットワークスイッチの品質は、たとえば、スループットの安定性、パケットロスの少なさ、優先制御の信頼性等により表される。
【０００３】
ネットワークスイッチには、入力バッファ型、共有バッファ型、出力バッファ型等のアーキテクチャが存在するが、このうち、出力バッファ型は、出力側に優先制御用のバッファを備える方式であり、比較的簡易な構成で実現することができ、出力インターフェースと出力バッファとの距離が近いことからメモリの実装量が比較的少なくて済むという利点がある。
【０００４】
その反面、出力バッファ型には、特定の出力先にパケットが集中した場合にパケットロスが発生しやすいという欠点が存在する。この欠点を解消するため、特許文献１においては、トラフィック量に応じて優先制御の内容を変更することにより、出力バッファの溢れによるパケットロスの発生を回避する技術が開示されている。
【０００５】
【特許文献１】特開平７−２９７８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年のネットワークの高速化、および、映像や音声といった大容量データのネットワーク配信の一般化により、特定の出力先にパケットが集中した場合の影響は以前にも増して大きくなっている。特許文献１の技術は、出力バッファの容量を有効活用するものであるが、この技術をもちいたとしても、負荷集中時の品質を維持するには、出力バッファの容量を大規模化することが必要になる。
【０００７】
出力バッファの容量を大きくした場合、ネットワークスイッチのコストが上昇するのに加え、メモリの実装量が少なくて済むという出力バッファ方式の利点がなくなり、他の方式に対する優位性が失われてしまう。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、高速なネットワークに接続された状況であっても出力バッファのバッファサイズを増やすことなく、高品質な通信を実現することができるネットワークスイッチおよびバックプレッシャ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明は、バックプレッシャによって出力バッファの輻輳制御をおこなう出力バッファ型のネットワークスイッチであって、輻輳状況に応じて作用先が異なる複数の段階のバックプレッシャを送信するバックプレッシャ出力バッファを備えたことを特徴とする。
【００１０】
また、本発明は、出力バッファ型のネットワークスイッチにおけるバックプレッシャ制御方法であって、出力バッファの輻輳状況に応じて複数の段階のバックプレッシャを送信する工程と、バックプレッシャの段階に応じてバックプレッシャの作用先を変更する工程とを含んだことを特徴とする。
【００１１】
この発明によれば、出力バッファの輻輳状況に応じて作用先の異なるバックプレッシャを送信することができるように構成したので、出力バッファの輻輳状況が逼迫している場合に、出力バッファに近い位置に送信停止要求をおこなうことによって出力バッファのバッファサイズを小さくすることができる。
【００１２】
また、本発明は、上記の発明において、自装置の入力側に優先制御クラスを縮退した全出力先共通の縮退クラスバッファをさらに備え、特定の優先制御クラスの送信停止を要求するバックプレッシャが受信された場合に、該優先制御クラスに対応する縮退クラスバッファのみを送信停止状態とすることを特徴とする。
【００１３】
この発明によれば、優先制御クラスを縮退した全出力先共通の縮退クラスバッファに処理過程のパケット（フレーム）を保持するように構成したので、少量のメモリの追加によって出力バッファのバッファ溢れによるパケットロスを回避することができる。
【００１４】
また、本発明は、上記の発明において、入力トラフィック量を監視する監視手段をさらに備え、前記監視手段がトラフィック量が所定の閾値よりも低いと判断した場合は、バックプレッシャによる送信停止要求を無視することを特徴とする。
【００１５】
この発明によれば、入力トラフィックが低い場合には、バックプレッシャによる送信停止要求を無視するように構成したので、判断を誤ったバックプレッシャによるスループットの低下を回避することができる。
【００１６】
また、本発明は、上記の発明において、出力バッファから出力された細分化されたセルを組み立て直す組立バッファを優先制御クラスごとにさらに備え、前記組立バッファは、使用量が所定の閾値を超過した場合に当該の優先制御クラスの送信停止を要求するバックプレッシャを入力部に送信することを特徴とする。
【００１７】
この発明によれば、出力部の組立バッファにおいて優先制御クラスごとに輻輳制御をおこなうように構成したので、小刻みな輻輳制御が実現され、もって、出力バッファのバッファサイズが小さい場合でも出力バッファのバッファ溢れによるパケットロスが発生する可能性を低減することができる。
【発明の効果】
【００１８】
本発明によれば、出力バッファの輻輳状況に応じて作用先の異なるバックプレッシャを送信することができるように構成したので、出力バッファの輻輳状況が逼迫している場合に、出力バッファに近い位置に送信停止要求をおこなうことによって出力バッファのバッファサイズを小さくすることができるという効果を奏する。
【００１９】
また、本発明によれば、優先制御クラスを縮退した全出力先共通の縮退クラスバッファに処理過程のパケット（フレーム）を保持するように構成したので、少量のメモリの追加によって出力バッファのバッファ溢れによるパケットロスを回避することができるという効果を奏する。
【００２０】
また、本発明によれば、入力トラフィックが低い場合には、バックプレッシャによる送信停止要求を無視するように構成したので、判断を誤ったバックプレッシャによるスループットの低下を回避することができるという効果を奏する。
【００２１】
また、本発明によれば、出力部の組立バッファにおいて優先制御クラスごとに輻輳制御をおこなうように構成したので、小刻みな輻輳制御が実現され、もって、出力バッファのバッファサイズが小さい場合でも出力バッファのバッファ溢れによるパケットロスが発生する可能性を低減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、本発明に係るネットワークスイッチおよびバックプレッシャ制御方法の好適な実施の形態を詳細に説明する。以下の実施例では、まず、従来の出力バッファ型のネットワークスイッチについて説明し、その後、本発明に係るネットワークスイッチおよびバックプレッシャ制御方法について説明することとする。
【００２３】
なお、ここでいうネットワークスイッチとは、特定の通信方式やネットワークレイヤに限定されたものでなく、たとえば、レイヤ２スイッチ、レイヤ３スイッチ、ルータ装置、ＡＴＭスイッチ等がこれに相当する。
【実施例】
【００２４】
まず、従来の出力バッファ型のネットワークスイッチについて説明する。図１２は、従来のネットワークスイッチ１０００の構成を示す機能ブロック図である。ここでは、ｎ個の入力ポートと、同じくｎ個の出力ポートとを有するネットワークスイッチの例を示している。
【００２５】
同図に示すように、ネットワークスイッチ１０００は、入側スイッチブレード１１００ａ〜１１００ｎと、メインスイッチ部１２００と、出側スイッチブレード１３００ａ〜１３００ｎとを有する。
【００２６】
入側スイッチブレード１１００ａ〜１１００ｎは、入力ポートごとに存在する装置である。これらは、同様の構成を有するので、入側スイッチブレード１１００ａを例にして構成の詳細を説明する。
【００２７】
入側スイッチブレード１１００ａは、インターフェース１１１０ａと、ネットワークプロセッサ１１２０ａと、トラフィックマネージャ１１３０ａとを有する。インターフェース１１１０ａは、ネットワーク回線と接続するためのインターフェースである。
【００２８】
ネットワークプロセッサ１１２０ａは、インターフェース１１１０ａを通じて入力されたパケットのヘッダ部等を解析し、優先制御のためのＱｏＳ（Quality of Service）クラスと出力先のポートとを決定する処理部である。本実施例では、１〜ｘのＱｏＳクラスが存在するものとする。
【００２９】
トラフィックマネージャ１１３０ａは、メインスイッチ部１２００での処理を簡便にするために、ＱｏＳクラスが決定されたパケットを固定長のセルに分割する処理部である。セルに分割されたパケットは、輻輳制御のために、ＱｏＳクラス別かつ出側スイッチブレード別に設けられたトラフィックマネージャ１１３０ａ内のバッファに一時的に格納される。
【００３０】
メインスイッチ部１２００は、セルの振り分けと優先制御とをおこなう処理部であり、ＦＩＦＯ（First In First Out）１２１０ａ〜１２１０ｎと、スイッチ１２２０と、出力バッファ部１２３０ａ〜１２３０ｎと、スケジューラ１２４０とを有する。ＦＩＦＯ１２１０ａ〜１２１０ｎは、入側スイッチブレード１１００ａ〜１１００ｎに対応して一つずつ存在し、対応する入側スイッチブレードから出力されたセルを一時保持し、先入れ先出し方式でスイッチ１２２０へ出力する。
【００３１】
スイッチ１２２０は、ＦＩＦＯ１２１０ａ〜１２１０ｎが出力したセルをネットワークプロセッサ１１２０ａ〜１１２０ｎが出力先と決定したポートへ向けて振り分ける処理部である。
【００３２】
出力バッファ部１２３０ａ〜１２３０ｎは、出側スイッチブレード１３００ａ〜１３００ｎに対応して一つずつ存在し、ＱｏＳクラスの優先度に従ってセルを対応する出側スイッチブレードへ出力する処理部である。各出力バッファ部は、ＱｏＳクラスごとのバッファを備え、ここに格納したセルをスケジューラ１２４０が決定したスケジュールに従って対応する出側スイッチブレードへ出力する。
【００３３】
特定の出力ポートへの負荷集中にともなうバッファ溢れによるパケットロスを回避するため、出力バッファ部１２３０ａ〜１２３０ｎが備えるバッファは容量が比較的大きくなっている。
【００３４】
スケジューラ１２４０は、パケットの優先制御をおこなう処理部であり、出力バッファ部１２３０ａ〜１２３０ｎ内のバッファに格納されたセルを出側スイッチブレード１３００ａ〜１３００ｎに出力するスケジュールを所定のルールに基づいて決定する。
【００３５】
出側スイッチブレード１３００ａ〜１３００ｎは、出力ポートごとに存在する装置である。これらは、同様の構成を有するので、出側スイッチブレード１３００ａを例にして構成の詳細を説明する。
【００３６】
出側スイッチブレード１３００ａは、トラフィックマネージャ１３１０ａと、ネットワークプロセッサ１３２０ａと、インターフェース１３３０ａとを有する。トラフィックマネージャ１３１０ａは、セルを組み立ててパケットを再現する処理部である。
【００３７】
ネットワークプロセッサ１３２０ａは、再現されたパケットが転送先に到達するようにヘッダ部の書き換え等をおこなう処理部であり、書き換え等をおこなったパケットをインターフェース１３３０ａを通じて送出する。インターフェース１３３０ａは、ネットワーク回線と接続するためのインターフェースである。
【００３８】
次に、従来のバックプレッシャ方式について説明する。バックプレッシャとは、バッファ溢れによるパケットロスが生じないように、バッファに格納されているセルの数が所定の閾値を超過した場合に、その旨を前工程に伝えて、転送処理を一時的に停止させるものである。
【００３９】
図１３は、従来のバックプレッシャ方式を説明するための説明図である。同図に示すように、従来のバックプレッシャ方式では、３種類のバックプレッシャが存在する。
【００４０】
バックプレッシャ１１は、メインスイッチ部１２００のＦＩＦＯ１２１０ａ〜１２１０ｎにおいて格納されているセルの数が所定の閾値を超過した場合に、その旨を対応する入側スイッチブレードに伝達するものである。
【００４１】
入側スイッチブレード１１００ａ〜１１００ｎのトラフィックマネージャ１１３０ａ〜１１３０ｎは、既に説明した通り、ＱｏＳクラス別かつ出側スイッチブレード別にバッファ１１３１ａ〜１１３２ｘを有している。そして、これらのバッファに格納されたセルは、所定の優先順位に従って優先順位制御部１１３３によって読み出され、ＦＩＦＯ１１３４に一時的に格納された後、メインスイッチ部１２００に向けて送出される。
【００４２】
バックプレッシャ１１は、対応する入側スイッチブレードからのセルの送出を全面的に停止させる効果を有する。
【００４３】
バックプレッシャ１２は、出側スイッチブレード１３００ａ〜１３００ｎにおいてパケット組み立て用のバッファに格納されているセルの数が所定の閾値を超過した場合に、その旨を対応する出力バッファ部に伝達するものである。
【００４４】
出力バッファ部１２３０ａ〜１２３０ｎは、既に説明した通り、ＱｏＳクラス別にバッファ１２３１ａ〜１２３２ｘを有している。そして、これらのバッファに格納されたセルは、所定の優先順位に従って優先順位制御部１２３２によって読み出され、ＦＩＦＯ１２３３に一時的に格納された後、対応する出側スイッチブレードに向けて送出される。
【００４５】
出側スイッチブレード１３００ａ〜１３００ｎのトラフィックマネージャ１３１０ａ〜１３１０ｎは、セルに分割されたパケットを組み立て直すため、ＱｏＳクラス別かつ入側スイッチブレード別にバッファ１３１１ａ〜１３１２ｘを有している。これらのバッファに格納されたセルは、再組み立てが可能なセルが揃った段階でフレーム組立部１３１３によってパケットに組み立てられて次工程へ送られる。
【００４６】
バックプレッシャ１２は、対応する出力バッファ部からのセルの送出を全面的に停止させる効果を有する。
【００４７】
バックプレッシャ１３は、出力バッファ部１２３０ａ〜１２３０ｎにおいて優先制御用のバッファ１２３１ａ〜１２３２ｘに格納されているセルの数が所定の閾値を超過した場合に、その旨を入側スイッチブレード１１００ａ〜１１００ｎに伝達するものである。
【００４８】
バックプレッシャ１３は、バッファ１２３１ａ〜１２３２ｘのいずれが閾値を超過したのかが区別可能な形で送信され、入側スイッチブレード１１００ａ〜１１００ｎの対応するバッファからのセルの送出のみを停止させる効果を有する。
【００４９】
たとえば、出側スイッチブレード１３００ａに対応する出力バッファ部１２３０ａにおいて、ＱｏＳクラスｘに対応するバッファ１２３１ｘに格納されたセルの数が所定の閾値を超過した場合、各入側スイッチブレードにおいて、出側スイッチブレード１３００ａとＱｏＳクラスｘに対応するバッファ１１３１ｘからのセルの送出が停止される。
【００５０】
次に、出力バッファ部１２３０ａ〜１２３０ｎに必要とされるバッファサイズについて説明する。ここでは、出力バッファ部１２３０ａを例として説明する。図１４は、従来のネットワークスイッチにおいて出力バッファ部１２３０ａに必要とされるバッファサイズを説明するための説明図である。
【００５１】
出力バッファ部１２３０ａは、セルの送信停止を要求した後、実際にセルの送信が停止するまでに到達するセルを格納できるだけのサイズのバッファを各ＱｏＳクラスごとに確保していないとパケットロスが発生してしまう。
【００５２】
出力バッファ部１２３０ａからのセルの送信停止要求は、バックプレッシャ１３によっておこなわれるが、このバックプレッシャ１３が出力バッファ部１２３０ａから入側スイッチブレード１１００ａ〜１１００ｎに到達するまでの遅延時間をＴ１、バックプレッシャ１３の到達の直前に送出されたセルが出力バッファ部１２３０ａに到達するまでの遅延時間をＴ２、セルの最大入力速度をＳとすると、出力バッファ部１２３０ａは、少なくとも
Ｓ×（Ｔ１＋Ｔ２）×ｎ
のバッファサイズを備えていなければならないことになる。
【００５３】
次に、本実施例に係るネットワークスイッチについて説明する。図１は、本実施例に係るネットワークスイッチ２０００の構成を示す機能ブロック図である。同図に示すように、ネットワークスイッチ２０００は、入側スイッチブレード２１００ａ〜２１００ｎと、メインスイッチ部２２００と、出側スイッチブレード２３００ａ〜２３００ｎとを有する。
【００５４】
入側スイッチブレード２１００ａ〜２１００ｎは、入力ポートごとに存在し、従来のネットワークスイッチ１０００と同様の構成を有する。たとえば、入側スイッチブレード２１００ａは、インターフェース２１１０ａと、ネットワークプロセッサ２１２０ａと、トラフィックマネージャ２１３０ａとを有し、これらは、それぞれ、インターフェース１１１０ａと、ネットワークプロセッサ１１２０ａと、トラフィックマネージャ１１３０ａに対応する。
【００５５】
メインスイッチ部２２００は、セルの振り分けと優先制御とをおこなう処理部であり、入力制御部２２１０ａ〜２２１０ｎと、スイッチ２２２０と、出力バッファ部２２３０ａ〜２２３０ｎと、スケジューラ２２４０とを有する。スイッチ２２２０とスケジューラ２２４０は、従来のネットワークスイッチ１０００におけるスイッチ１２２０とスケジューラ１２４０と同様の処理部である。
【００５６】
入力制御部２２１０ａ〜２２１０ｎは、ＦＩＦＯ１２１０ａ〜１２１０ｎに替わって設けられた処理部であり、出力バッファ部２２３０ａ〜２２３０ｎのバッファ溢れを回避するためのメモリと、バックプレッシャの伝達を制御するフィルタリング手段とを有する。入力制御部２２１０ａ〜２２１０ｎの詳細な動作については後述する。
【００５７】
出力バッファ部２２３０ａ〜２２３０ｎは、出側スイッチブレード２３００ａ〜２３００ｎに対応して一つずつ存在し、ＱｏＳクラスの優先度に従ってセルを対応する出側スイッチブレードへ出力する処理部である。出力バッファ部２２３０ａ〜２２３０ｎは、従来のバックプレッシャ１３に相当するバックプレッシャ２４に加えて、緊急度がさらに高いバックプレッシャ２５の送信をおこなう。
【００５８】
出側スイッチブレード２３００ａ〜２３００ｎは、出力ポートごとに存在し、従来のネットワークスイッチ１０００とほぼ同様の構成を有する。たとえば、出側スイッチブレード２３００ａは、トラフィックマネージャ２３１０ａと、ネットワークプロセッサ２３２０ａと、インターフェース２３３０ａとを有し、これらは、それぞれ、トラフィックマネージャ１３１０ａと、ネットワークプロセッサ１３２０ａと、インターフェース１３３０ａに対応する。
【００５９】
ただし、トラフィックマネージャ２３１０ａは、従来のバックプレッシャ１２に相当するバックプレッシャ２３に加えて、ＱｏＳクラス単位のバックプレッシャであるバックプレッシャ２６の送信をおこなう点において従来と異なる。
【００６０】
次に、本実施例に係るバックプレッシャ方式について説明する。図２は、本実施例に係るバックプレッシャ方式を説明するための説明図である。同図に示すように、本実施例バックプレッシャ方式では、８種類のバックプレッシャが存在する。
【００６１】
８種類のバックプレッシャのうち、従来のバックプレッシャ１２に相当するバックプレッシャ２３以外のバックプレッシャは、入力制御部２２１０ａのバックプレッシャフィルタ部２２１４に対して送信されるか、ここから送信される。
【００６２】
図３は、図２に示したバックプレッシャフィルタ部２２１４の構成を示す機能ブロック図である。同図に示すように、バックプレッシャフィルタ部２２１４は、輻輳バックプレッシャ受信部２２１４ａと、緊急バックプレッシャ受信部２２１４ｂと、ＤＳＷＢバックプレッシャ受信部２２１４ｃと、入力セルカウント部２２１４ｄと、入力量閾値越え判定部２２１４ｅと、バックプレッシャ制御部２２１４ｆと、縮退クラスバッファバックプレッシャ送信部２２１４ｇと、縮退クラスバッファ対応記憶部２２１４ｈと、縮退クラスバッファバックプレッシャ受信部２２１４ｉと、ＳＳＷＢバックプレッシャ送信部２２１４ｊとを有する。
【００６３】
輻輳バックプレッシャ受信部２２１４ａは、従来のバックプレッシャ１３に相当するバックプレッシャ２４を出力バッファ部２２３０ａ〜２２３０ｎから受信し、これをバックプレッシャ制御部２２１４ｆへ入力する処理部である。
【００６４】
バックプレッシャ２４のデータ構成を図４に示す。同図に示すように、バックプレッシャ２４は、出側のポート数をｎ、ＱｏＳクラス数をｘとした場合、ｎとｘを乗じた数のビットから構成され、各ビットは、出力バッファ部２２３０ａ〜２２３０ｎが有するＱｏＳクラスごとのバッファと１対１で対応する。そして、ビットの値が０場合は、対応するバッファに格納されているセルの数が所定の閾値以下であることを意味し、ビットの値が１場合は、対応するバッファに格納されているセルの数が所定の閾値を超過していることを意味する。
【００６５】
緊急バックプレッシャ受信部２２１４ｂは、バックプレッシャ２５を出力バッファ部２２３０ａ〜２２３０ｎから受信し、これをバックプレッシャ制御部２２１４ｆへ入力する処理部である。バックプレッシャ２５のデータ構成は、バックプレッシャ２４と同様であり、図４に示した通りである。
【００６６】
バックプレッシャ２５は、バックプレッシャ２４と同様に、出力バッファ部２２３０ａ〜２２３０ｎが有するＱｏＳクラスごとのバッファのいずれかにおいて格納されているセルの数が所定の閾値を超過した場合に対応するビットが１に設定される。バックプレッシャ２５とバックプレッシャ２４の相違は、バックプレッシャ２５の方がビットが１に設定される閾値が高く設定されていることと、作用する先が入側スイッチブレード２１００ａ〜２１００ｎではなく、入力制御部２２１０ａ〜２２１０ｎに設けられたバッファとなることの２点である。
【００６７】
バックプレッシャ２５は、閾値が高く設定されているため、セルの送信を停止させる効果がバックプレッシャ２４よりも遅れて作用する。このことは、出力バッファ部２２３０ａ〜２２３０ｎのバッファサイズがバックプレッシャ２４の遅延時間ではなく、バックプレッシャ２５の遅延時間に依存することを意味する。
【００６８】
バックプレッシャ２５が作用する先は、入力制御部２２１０ａ〜２２１０ｎに設けられたバッファであり、出力バッファ部２２３０ａ〜２２３０ｎからの距離が入側スイッチブレード２１００ａ〜２１００ｎよりも短い。このため、バックプレッシャ２５の遅延時間はバックプレッシャ２４よりも短くなり、本実施例に係るネットワーク装置では、出力バッファ部２２３０ａ〜２２３０ｎのバッファサイズをその分だけ少なくすることができる。
【００６９】
ＤＳＷＢバックプレッシャ受信部２２１４ｃは、バックプレッシャ２６を出側スイッチブレード２３００ａ〜２３００ｎから受信し、これをバックプレッシャ制御部２２１４ｆへ入力する処理部である。
【００７０】
バックプレッシャ２６のデータ構成を図５に示す。同図に示すように、バックプレッシャ２６は、入側のポート数をｎ、出側のポート数をｎ、ＱｏＳクラス数をｘとした場合、ｎの２乗とｘを乗じた数のビットから構成され、各ビットは、出側スイッチブレード２３００ａ〜２３００ｎが有するパケット組み立て用のバッファと１対１で対応する。そして、ビットの値が０場合は、対応するバッファに格納されているセルの数が所定の閾値以下であることを意味し、ビットの値が１場合は、対応するバッファに格納されているセルの数が所定の閾値を超過していることを意味する。
【００７１】
パケット組み立て用のバッファは、各出側スイッチブレード中にＱｏＳクラス別かつ入側スイッチブレード別に存在するため、ＤＳＷＢバックプレッシャ受信部２２１４ｃが受信するバックプレッシャ２６には、当該の入力制御部と対応する入側スイッチブレード以外のビットも含まれている。
【００７２】
このため、ＤＳＷＢバックプレッシャ受信部２２１４ｃは、受信するバックプレッシャ２６から対応する入側スイッチブレード以外のビットを削除し、その後、バックプレッシャ制御部２２１４ｆへ入力する。その結果、ＤＳＷＢバックプレッシャ受信部２２１４ｃからバックプレッシャ制御部２２１４ｆへ入力される信号は、図４と同様な構成となる。
【００７３】
パケット組み立て用のバッファは、出力バッファ部のバッファよりもサイズが小さいため、バックプレッシャ２６は、バックプレッシャ２４よりもビットの閾値の超過が早期かつ頻繁に発生するものと考えられる。これにより、出力ポートへの負荷集中状況に応じたセルの送信停止／送信再開の制御が早期かつ小刻みにおこなわれるようになり、出力バッファ部２２３０ａ〜２２３０ｎのバッファのサイズを小さくしてもバッファが溢れる危険性が小さくなる。
【００７４】
入力セルカウント部２２１４ｄは、入力制御部２２１０ａ〜２２１０ｎに対するセル送信停止要求を意味するバックプレッシャ２４のいずれかのビットの値が１となった場合に、そのビットに対応する出側スイッチブレードとＱｏＳクラスの入力セル数をカウントする処理部である。
【００７５】
入力量閾値越え判定部２２１４ｅは、バックプレッシャ２５のいずれかのビットの値が１となった場合に、入力セルカウント部２２１４ｄがカウントしている入力セル数が所定の閾値よりも大きくなるまでの間、当該のバックプレッシャ２５を無視するように指示する取消信号をバックプレッシャ制御部２２１４ｆへ送信する処理部である。この所定の閾値は、たとえば、出力バッファ部のバッファに格納可能なセル数を入力ポート数で割った値をもちいる。
【００７６】
このように、バックプレッシャによるセル送信停止要求後にセルの入力量を監視し、これが所定の閾値より小さい場合はセル送信停止要求を無視することにより、誤った判断に基づいたバックプレッシャを原因とするスループットの低下を回避することができる。
【００７７】
バックプレッシャ制御部２２１４ｆは、輻輳バックプレッシャ受信部２２１４ａ、緊急バックプレッシャ受信部２２１４ｂ、ＤＳＷＢバックプレッシャ受信部２２１４ｃおよび入力量閾値越え判定部２２１４ｅから信号の入力を受け、それらの信号の状況に応じた信号を縮退クラスバッファバックプレッシャ送信部２２１４ｇおよびＳＳＷＢバックプレッシャ送信部２２１４ｊへ送信する処理部である。バックプレッシャ制御部２２１４ｆが送信する信号は、図４と同様な構成となる。
【００７８】
バックプレッシャ制御部２２１４ｆが縮退クラスバッファバックプレッシャ送信部２２１４ｇへ送信する信号は、入力制御部の内部のバッファに対するバックプレッシャであるバックプレッシャ２８の基となる。また、バックプレッシャ制御部２２１４ｆがＳＳＷＢバックプレッシャ送信部２２１４ｊへ送信する信号は、対応する入側スイッチブレードのＱｏＳクラス別バッファへのバックプレッシャであるバックプレッシャ２７の基となる。
【００７９】
バックプレッシャ制御部２２１４ｆの処理ロジックを図６に示す。バックプレッシャ制御部２２１４ｆは、入力された各信号の対応するビットをこのロジックに当てはめて出力する信号のビットの値を決定する。
【００８０】
図６に示すように、ＳＳＷＢバックプレッシャ送信部２２１４ｊへ送信されるビットは、輻輳バックプレッシャ受信部２２１４ａとＤＳＷＢバックプレッシャ受信部２２１４ｃから入力される信号のビットがいずれか一方でもＯＮであればＯＮとなる。また、縮退クラスバッファバックプレッシャ送信部２２１４ｇへ送信されるビットは、緊急バックプレッシャ受信部２２１４ｂから入力される信号のビットがＯＮであり、かつ、入力量閾値越え判定部２２１４ｅから入力される取消信号のビットがＯＦＦの場合にＯＮとなる。
【００８１】
縮退クラスバッファバックプレッシャ送信部２２１４ｇは、バックプレッシャ制御部２２１４ｆから送信された信号に基づいて、入力制御部の内部のバッファに対するバックプレッシャであるバックプレッシャ２８を送信する処理部である。
【００８２】
図２に示すように、入力制御部２２１０ａ〜２２１０ｎの内部にはバッファが設けられており、バックプレッシャによってセルの送信停止する旨の要求がなされた場合に、セルを保持しておくことができるようになっている。本来であれば、ＱｏＳクラスごとにバッファを設けることが好ましいが、それでは、大量のメモリが必要になる。
【００８３】
そこで、本実施例に係るバックプレッシャ方式では、ＱｏＳクラスを縮退したクラスごとにバッファを設けることとしている。本実施例の場合は、ＨｉｇｈとＬｏｗという２つの縮退クラスを設定し、Ｈｉｇｈクラスに対応するバッファ２２１１ａとＬｏｗクラスに対応するバッファ２２１１ｂとを設けている。
【００８４】
バックプレッシャ２８のデータ構成を図７に示す。同図に示すように、バックプレッシャ２８は、２つのビットから構成され、各ビットは、Ｈｉｇｈクラスのバッファであるバッファ２２１１ａとＬｏｗクラスのバッファであるバッファ２２１１ｂとに１対１で対応する。そして、ビットの値が１場合は、対応するバッファからのセルの送信を停止すべきことを意味し、ビットの値が０場合は、対応するバッファからのセルの送信が可能であることを意味する。
【００８５】
このように、縮退クラスバッファバックプレッシャ送信部２２１４ｇは、図４のようなＱｏＳクラスクラス別かつ出側スイッチブレード別の信号を入力され、これを図７のような信号へ変換する。この変換は、縮退クラスバッファ対応記憶部２２１４ｈに記憶された縮退クラスバッファ対応データに基づいておこなわれる。
【００８６】
縮退クラスバッファバックプレッシャ受信部２２１４ｉは、入力制御部の内部に設けられたバッファからのバックプレッシャであるバックプレッシャ２１を受信し、これをＳＳＷＢバックプレッシャ送信部２２１４ｊへ入力する処理部である。本実施例の場合、入力制御部の内部にはＨｉｇｈとＬｏｗという２つのバッファが存在するが、縮退クラスバッファバックプレッシャ受信部２２１４ｉは、この２つのバッファからのバックプレッシャの論理積をとった結果をＳＳＷＢバックプレッシャ送信部２２１４ｊへ入力する。
【００８７】
ＳＳＷＢバックプレッシャ送信部２２１４ｊは、バックプレッシャ制御部２２１４ｆおよび縮退クラスバッファバックプレッシャ受信部２２１４ｉから送信された信号に基づいて、対応する入側スイッチブレードへのバックプレッシャを送信する処理部である。
【００８８】
ＳＳＷＢバックプレッシャ送信部２２１４ｊが送信するバックプレッシャは、２種類存在する。ひとつは、縮退クラスバッファバックプレッシャ受信部２２１４ｉから送信された信号に基づいて送信されるバックプレッシャ２２である。バックプレッシャ２２は、図８のように１ビットで構成され、ビットの値が１場合は、対応する入側スイッチブレードからのセルの送信を全面的に停止すべきことを意味する。
【００８９】
もうひとつのバックプレッシャは、バックプレッシャ制御部２２１４ｆから送信された信号に基づいて送信されるバックプレッシャ２７である。バックプレッシャ２７は、図４のようにＱｏＳクラス別かつ出側スイッチブレード別にビットを備える。これらのビットの値が１の場合、対応するバッファからのセルの送信を停止すべきことを意味する。
【００９０】
次に、出力バッファ部２２３０ａ〜２２３０ｎに必要とされるバッファサイズについて説明する。ここでは、出力バッファ部２２３０ａを例として説明する。図９は、本実施例に係るネットワークスイッチにおいて出力バッファ部２２３０ａに必要とされるバッファサイズを説明するための説明図である。
【００９１】
出力バッファ部２２３０ａは、セルの送信停止を要求した後、実際にセルの送信が停止するまでに到達するセルを格納できるだけのサイズのバッファを各ＱｏＳクラスごとに確保していないとパケットロスが発生してしまう。
【００９２】
出力バッファ部２２３０ａからのセルの送信停止要求は、バックプレッシャ２５によっておこなわれるが、このバックプレッシャ２５が出力バッファ部２２３０ａから入力制御部２２１０ａ〜２２１０ｎに到達するまでの遅延時間をＴ３、バックプレッシャ２５の到達の直前に送出されたセルが出力バッファ部２２３０ａに到達するまでの遅延時間をＴ４、セルの最大入力速度をＳとすると、出力バッファ部２２３０ａは、少なくとも
Ｓ×（Ｔ３＋Ｔ４）×ｎ
のバッファサイズを備えていなければならないことになる。
【００９３】
Ｔ３およびＴ４は、Ｔ１およびＴ２よりも短いので、出力バッファ部２２３０ａ〜２２３０ｎに必要とされるバッファサイズも従来よりその分だけ小さくなっている。
【００９４】
次に、縮退クラスバッファバックプレッシャ送信部２２１４ｇの処理内容について説明する。図１０は、縮退クラスバッファバックプレッシャ送信部２２１４ｇの処理内容を説明するための説明図である。同図に示すように、縮退クラスバッファバックプレッシャ送信部２２１４ｇは、バックプレッシャ制御部２２１４ｆから送信されたバックプレッシャ信号と縮退クラスバッファ対応記憶部２２１４ｈから取得した縮退クラスバッファ対応データとの論理和演算をおこなった結果をバックプレッシャ２８として送信する。
【００９５】
取得した縮退クラスバッファ対応データには、ＱｏＳクラス別かつ出側スイッチブレード別にセルが入力制御部内のどのバッファに格納されるのかが設定されている。本実施例では、入力制御部内のバッファはＨｉｇｈとＬｏｗの２種類であるが、縮退クラスバッファ対応データは、ＱｏＳクラス別かつ出側スイッチブレード別にＨｉｇｈとＬｏｗに対応したビットを有し、セルが格納されるバッファに対応するビットが１に、セルが格納されないバッファに対応するビットが０にされる。
【００９６】
図１０の例では、ＱｏＳクラス１については、全てＨｉｇｈに対応するビットが１となり、Ｌｏｗに対応するビットが０となっている。ＱｏＳクラス１以外については、全てＨｉｇｈに対応するビットが０となり、Ｌｏｗに対応するビットが１となっている。
【００９７】
縮退クラスバッファバックプレッシャ送信部２２１４ｇは、バックプレッシャ信号のビットと取得した縮退クラスバッファ対応データのビットの論理和を入力制御部内のバッファのクラスごとに演算し、その結果をそのクラスのバックプレッシャの値とする。
【００９８】
次に、入力量閾値越え判定部２２１４ｅの処理内容について説明する。図１１は、入力量閾値越え判定部２２１４ｅの処理内容を説明するための説明図である。同図に示すように、入力セルカウント部２２１４ｄは、バックプレッシャ２４がＯＮに変化するのを契機として、当該のＱｏＳクラスに属し、かつ、当該の出側スイッチブレードが出力先となっているセルの件数のカウントを開始する。カウンタの値は、バックプレッシャ２４がＯＦＦに変化すると０にリセットされる。
【００９９】
入力量閾値越え判定部２２１４ｅは、このカウンタの値を監視し、バックプレッシャ２５がＯＮになった場合に、カウンタの値が所定の閾値よりも小さければ、取消信号をＯＮにし、閾値を超過していれば取消信号をＯＦＦにする。
【０１００】
上述してきたように、本実施例では、出力バッファの輻輳状況に応じて作用先の異なるバックプレッシャを送信させ、出力バッファの輻輳状況が逼迫している場合に、出力バッファに近い位置に送信停止要求をおこなうように構成したので、バックプレッシャの遅延時間が小さくなり、出力バッファのバッファサイズを小さくすることができる。
【０１０１】
（付記１）バックプレッシャによって出力バッファの輻輳制御をおこなう出力バッファ型のネットワークスイッチであって、
輻輳状況に応じて作用先が異なる複数の段階のバックプレッシャを送信するバックプレッシャ出力バッファ
を備えたことを特徴とするネットワークスイッチ。
【０１０２】
（付記２）自装置の入力側に優先制御クラスを縮退した全出力先共通の縮退クラスバッファをさらに備え、特定の優先制御クラスの送信停止を要求するバックプレッシャが受信された場合に、該優先制御クラスに対応する縮退クラスバッファのみを送信停止状態とすることを特徴とする付記１に記載のネットワークスイッチ。
【０１０３】
（付記３）入力トラフィック量を監視する監視手段をさらに備え、前記監視手段がトラフィック量が所定の閾値よりも低いと判断した場合は、バックプレッシャによる送信停止要求を無視することを特徴とする付記１または２に記載のネットワークスイッチ。
【０１０４】
（付記４）出力バッファから出力された細分化されたセルを組み立て直す組立バッファを優先制御クラスごとにさらに備え、前記組立バッファは、使用量が所定の閾値を超過した場合に当該の優先制御クラスの送信停止を要求するバックプレッシャを入力部に送信することを特徴とする付記１〜３のいずれか一つに記載のネットワークスイッチ。
【０１０５】
（付記５）出力バッファ型のネットワークスイッチにおけるバックプレッシャ制御方法であって、
出力バッファの輻輳状況に応じて複数の段階のバックプレッシャを送信する工程と、
バックプレッシャの段階に応じてバックプレッシャの作用先を変更する工程と
を含んだことを特徴とするバックプレッシャ制御方法。
【０１０６】
（付記６）入力トラフィック量を監視する監視工程をさらに含み、前記監視工程がトラフィック量が所定の閾値よりも低いと判断した場合は、バックプレッシャによる送信停止要求を無視することを特徴とする付記５に記載のバックプレッシャ制御方法。
【産業上の利用可能性】
【０１０７】
以上のように、本発明に係るネットワークスイッチおよびバックプレッシャ制御方法は、高品質な通信の実現に有用であり、特に、高速なネットワークに接続された状況であっても出力バッファのバッファサイズを増やすことなく、高品質な通信を実現することが必要な場合に適している。
【図面の簡単な説明】
【０１０８】
【図１】本実施例に係るネットワークスイッチの構成を示す機能ブロック図である。
【図２】本実施例に係るバックプレッシャ方式を説明するための説明図である。
【図３】図２に示したバックプレッシャフィルタ部の構成を示す機能ブロック図である。
【図４】出力バッファ部からのバックプレッシャのデータ構成を示す構成図である。
【図５】出側スイッチブレードのクラス別バッファからのバックプレッシャのデータ構成を示す構成図である。
【図６】バックプレッシャ制御部におけるフィルタリングロジックを説明するための説明図である。
【図７】メインスイッチ部の縮退クラスバッファへのバックプレッシャのデータ構成を示す構成図である。
【図８】メインスイッチ部の縮退クラスバッファからのバックプレッシャのデータ構成を示す構成図である。
【図９】本実施例に係るネットワークスイッチにおいて出力バッファ部に必要とされるバッファサイズを説明するための説明図である。
【図１０】縮退クラスバッファバックプレッシャ送信部の処理内容を説明するための説明図である。
【図１１】入力量閾値越え判定部の処理内容を説明するための説明図である。
【図１２】従来のネットワークスイッチの構成を示す機能ブロック図である。
【図１３】従来のバックプレッシャ方式を説明するための説明図である。
【図１４】従来のネットワークスイッチにおいて出力バッファ部に必要とされるバッファサイズを説明するための説明図である。
【符号の説明】
【０１０９】
１１、１２、１３  バックプレッシャ
２１、２２、２３、２４、２５、２６、２７、２８  バックプレッシャ
１０００    ネットワークスイッチ
１１００ａ〜１１００ｎ  入側スイッチブレード
１１１０ａ〜１１１０ｎ  インターフェース
１１２０ａ〜１１２０ｎ  ネットワークプロセッサ
１１３０ａ〜１１３０ｎ  トラフィックマネージャ
１１３１ａ〜１１３２ｘ  バッファ
１１３３    優先順位制御部
１１３４    ＦＩＦＯ
１２００    メインスイッチ部
１２１０ａ〜１２１０ｎ  ＦＩＦＯ
１２２０    スイッチ
１２３０ａ〜１２３０ｎ  出力バッファ部
１２３１ａ〜１２３１ｘ  バッファ
１２３２    優先順位制御部
１２３３    ＦＩＦＯ
１２４０    スケジューラ
１３００ａ〜１３００ｎ  出側スイッチブレード
１３１０ａ〜１３１０ｎ  トラフィックマネージャ
１３１１ａ〜１３１２ｘ  バッファ
１３１３    フレーム組立部
１３２０ａ〜１３２０ｎ  ネットワークプロセッサ
１３３０ａ〜１３３０ｎ  インターフェース
２０００    ネットワークスイッチ
２１００ａ〜２１００ｎ  入側スイッチブレード
２１１０ａ〜２１１０ｎ  インターフェース
２１２０ａ〜２１２０ｎ  ネットワークプロセッサ
２１３０ａ〜２１３０ｎ  トラフィックマネージャ
２１３１ａ〜１１３２ｘ  バッファ
２１３３    優先順位制御部
２１３４    ＦＩＦＯ
２２００    メインスイッチ部
２２１０ａ〜２２１０ｎ  入力制御部
２２１１ａ、２２１１ｂ  バッファ
２２１２    優先順位制御部
２２１３    ＦＩＦＯ
２２１４    バックプレッシャフィルタ部
２２１４ａ  輻輳バックプレッシャ受信部
２２１４ｂ  緊急バックプレッシャ受信部
２２１４ｃ  ＤＳＷＢバックプレッシャ受信部
２２１４ｄ  入力セルカウント部
２２１４ｅ  入力量閾値越え判定部
２２１４ｆ  バックプレッシャ制御部
２２１４ｇ  縮退クラスバッファバックプレッシャ送信部
２２１４ｈ  縮退クラスバッファ対応記憶部
２２１４ｉ  縮退クラスバッファバックプレッシャ受信部
２２１４ｊ  ＳＳＷＢバックプレッシャ送信部
２２２０    スイッチ
２２３０ａ〜２２３０ｎ  出力バッファ部
２２３１ａ〜２２３１ｘ  バッファ
２２３２    優先順位制御部
２２３３    ＦＩＦＯ
２２４０    スケジューラ
２３００ａ〜２３００ｎ  出側スイッチブレード
２３１０ａ〜３２１０ｎ  トラフィックマネージャ
２３１１ａ〜２３１２ｘ  バッファ
２３１３    フレーム組立部
２３２０ａ〜２３２０ｎ  ネットワークプロセッサ
２３３０ａ〜２３３０ｎ  インターフェース
【図１】
2006324864.tif 000003
【図２】
2006324864.tif 000004
【図３】
2006324864.tif 000005
【図４】
2006324864.tif 000006
【図５】
2006324864.tif 000007
【図６】
2006324864.tif 000008
【図７】
2006324864.tif 000009
【図８】
2006324864.tif 000010
【図９】
2006324864.tif 000011
【図１０】
2006324864.tif 000012
【図１１】
2006324864.tif 000013
【図１２】
2006324864.tif 000014
【図１３】
2006324864.tif 000015
【図１４】
2006324864.tif 000016