(57)【要約】【課題】  自由な拡張性を有する安価で遊休資源の有効活用が可能な大容量スイッチ装置を実現する。【解決手段】  スイッチ装置１は、複数の入出力ポートを有する複数の入出力段スイッチ１−１０を有する入出力段スイッチ群１−１と、複数の入出力ポートを有する複数の中間段スイッチ１−２０を有する中間段スイッチ群１−２と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの再送制御を行う再送制御部１−１２と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行うレート制御部１−１３と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う順序保障制御部１−１４とを含む。【選択図】  図２
2010124205.tif 000002
【特許請求の範囲】
【請求項１】
複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、
複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群と、
前記複数の入出力段スイッチ間で前記複数の中間段スイッチの状況に従いフレームの再送制御を行う手段と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う手段と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う手段と
を備えることを特徴とするスイッチ装置。
【請求項２】
前記中間段スイッチ群の前記複数の中間段スイッチのトポロジー構造は任意であり、かつその個数も任意であることを特徴とする請求項１に記載のスイッチ装置。
【請求項３】
前記中間段スイッチ群の前記複数の中間段スイッチが、性能の異なる複数のスイッチ装置で構成されていることを特徴とする請求項１又は請求項２に記載のスイッチ装置。
【請求項４】
前記入出力段スイッチの入出力容量の増減に伴い、前記中間段スイッチの個数を増減することによりスイッチ容量を変化させることを特徴とする請求項１から請求項３の何れかに記載のスイッチ装置。
【請求項５】
前記中間段スイッチ間の耐性能差と、要求性能に応じて使用するポートを選択する性能差制御手段を有することを特徴とする請求項１から請求項４の何れかに記載のスイッチ装置。
【請求項６】
前記性能差制御手段が、
他入出力段スイッチの順序保障で使用するバッファ量と自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートから前記中間段スイッチ間の耐性能差を計算する耐性能差計算手段と、
あるフローの送信ポート間のＲＴＴから取得した複数のＲＴＴ統計値と前記耐性能差を用いて要求性能に応じた性能差の許容範囲を計算する許容範囲計算手段と、
前記許容範囲と前記ＲＴＴを比較し、比較結果を基に該当フローのポート使用可否を指示する判定手段と
を有することを特徴とする請求項５に記載のスイッチ装置。
【請求項７】
前記性能差制御手段が、
自入出力段スイッチ群の順序保障で使用するバッファ量を通知する手段と、
他入出力段スイッチ群の順序保障で使用するバッファ量を取得する手段と、
自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートを取得する手段と、
あるフローの送信ポート間のＲＴＴの測定結果から複数の前記ＲＴＴ統計値を算出する手段と
を有することを特徴とする請求項６に記載のスイッチ装置。
【請求項８】
前記耐性能差計算手段は、前記順序保障バッファ量を前記リンク速度又は前記送信レートで除算することで、前記耐性能差を算出することを特徴とする請求項７又は請求項８に記載のスイッチ装置。
【請求項９】
前記ＲＴＴ統計値が、ＲＴＴ平均値と、ＲＴＴ最大値と、ＲＴＴ最小値を含み、
前記許容範囲計算手段は、
前記性能要求が平均性能である場合、前記ＲＴＴ平均値と前記耐性能差を用いて第１の許容範囲を、前記性能要求が高性能である場合、前記ＲＴＴ最大値と前記耐性能差を用いて第２の許容範囲を、前記性能要求が低性能である場合、前記ＲＴＴ最小値と前記耐性能差を用いて第３の許容範囲を算出することを特徴とする請求項８に記載のスイッチ装置。
【請求項１０】
前記許容範囲計算手段は、
前記性能要求が平均性能である場合、第１の許容範囲を｛ＲＴＴ平均値−（耐性能差）／２｝から｛ＲＴＴ平均値＋（耐性能差）／２｝までの範囲、前記性能要求が高性能である場合、第２の許容範囲をＲＴＴ最小値から｛ＲＴＴ平最小値＋耐性能差｝までの範囲、前記性能要求が低性能である場合、第３の許容範囲をＲＴＴ最大値から｛ＲＴＴ平最大値−耐性能差｝までの範囲として算出し、
前記判定手段は、
前記性能要求に応じて、前記第１の許容範囲、前記第２の許容範囲又は前記第３の許容範囲の何れかと前記ＲＴＴと比較し、比較結果を基に該当フローのポート使用可否を指示することを特徴とする請求項９に記載のスイッチ装置。
【請求項１１】
使用不可となっている該当フローのポートに対し性能差計測用フレームを定期的に送信し、性能差を計測する手段を有することを特徴とする請求項１から請求項１０の何れかに記載のスイッチ装置。
【請求項１２】
複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群を備えるスイッチ装置の制御方法であって、
前記複数の入出力段スイッチ間で前記複数の中間段スイッチの状況に従いフレームの再送制御を行うステップと、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行うステップと、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行うステップと
を含むことを特徴とするスイッチ装置の制御方法。
【請求項１３】
前記入出力段スイッチの入出力容量の増減に伴い、前記中間段スイッチの個数を増減することによりスイッチ容量を変化させることを特徴とする請求項１２に記載のスイッチ装置の制御方法。
【請求項１４】
前記中間段スイッチ間の耐性能差と、要求性能に応じて使用するポートを選択する性能差制御ステップを有することを特徴とする請求項１２又は請求項１３に記載のスイッチ装置の制御方法。
【請求項１５】
前記性能差制御ステップが、
他入出力段スイッチの順序保障で使用するバッファ量と自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートから前記中間段スイッチ間の耐性能差を計算する耐性能差計算ステップと、
あるフローの送信ポート間のＲＴＴから取得した複数のＲＴＴ統計値と前記耐性能差を用いて要求性能に応じた性能差の許容範囲を計算する許容範囲計算ステップと、
前記許容範囲と前記ＲＴＴを比較し、比較結果を基に該当フローのポート使用可否を指示する判定ステップと
を含むことを特徴とする請求項１４に記載のスイッチ装置の制御方法。
【請求項１６】
前記性能差制御ステップが、
自入出力段スイッチ群の順序保障で使用するバッファ量を通知するステップと、
他入出力段スイッチ群の順序保障で使用するバッファ量を取得するステップと、
自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートを取得するステップと、
あるフローの送信ポート間のＲＴＴの測定結果から複数の前記ＲＴＴ統計値を算出するステップと
を有することを特徴とする請求項１５に記載のスイッチ装置の制御方法。
【請求項１７】
前記耐性能差計算ステップで、前記順序保障バッファ量を前記リンク速度又は前記送信レートで除算することで、前記耐性能差を算出することを特徴とする請求項１５又は請求項１６に記載のスイッチ装置の制御方法。
【請求項１８】
前記ＲＴＴ統計値が、ＲＴＴ平均値と、ＲＴＴ最大値と、ＲＴＴ最小値を含み、
前記許容範囲計算ステップで、
前記性能要求が平均性能である場合、前記ＲＴＴ平均値と前記耐性能差を用いて第１の許容範囲を、前記性能要求が高性能である場合、前記ＲＴＴ最大値と前記耐性能差を用いて第２の許容範囲を、前記性能要求が低性能である場合、前記ＲＴＴ最小値と前記耐性能差を用いて第３の許容範囲を算出することを特徴とする請求項１７に記載のスイッチ装置の制御方法。
【請求項１９】
前記許容範囲計算ステップで、
前記性能要求が平均性能である場合、第１の許容範囲を｛ＲＴＴ平均値−（耐性能差）／２｝から｛ＲＴＴ平均値＋（耐性能差）／２｝までの範囲、前記性能要求が高性能である場合、第２の許容範囲をＲＴＴ最小値から｛ＲＴＴ平最小値＋耐性能差｝までの範囲、前記性能要求が低性能である場合、第３の許容範囲をＲＴＴ最大値から｛ＲＴＴ平最大値−耐性能差｝までの範囲として算出し、
前記判定ステップで、
前記性能要求に応じて、前記第１の許容範囲、前記第２の許容範囲又は前記第３の許容範囲の何れかと前記ＲＴＴと比較し、比較結果を基に該当フローのポート使用可否を指示することを特徴とする請求項１８に記載のスイッチ装置の制御方法。
【請求項２０】
使用不可となっている該当フローのポートに対し性能差計測用フレームを定期的に送信し、性能差を計測することを特徴とする請求項１２から請求項１９の何れかに記載のスイッチ装置の制御方法。
【請求項２１】
複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群を備えるスイッチ装置を構成するコンピュータ装置上で実行されるプログラムであって、
前記コンピュータ装置に、
前記複数の入出力段スイッチ間で前記複数の中間段スイッチの状況に従いフレームの再送制御を行う処理と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う処理と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う処理と、を実行させることを特徴とするプログラム。
【請求項２２】
前記入出力段スイッチの入出力容量の増減に伴い、前記中間段スイッチの個数を増減することによりスイッチ容量を変化させる処理を、前記コンピュータ装置に実行させることを特徴とする請求項２１に記載のプログラム。
【請求項２３】
前記中間段スイッチ間の耐性能差と、要求性能に応じて使用するポートを選択する性能差制御処理を、前記コンピュータ装置に実行させることを特徴とする請求項２１又は請求項２２に記載のプログラム。
【請求項２４】
前記性能差制御処理において、
他入出力段スイッチの順序保障で使用するバッファ量と自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートから前記中間段スイッチ間の耐性能差を計算する耐性能差計算処理と、
あるフローの送信ポート間のＲＴＴから取得した複数のＲＴＴ統計値と前記耐性能差を用いて要求性能に応じた性能差の許容範囲を計算する許容範囲計算処理と、
前記許容範囲と前記ＲＴＴを比較し、比較結果を基に該当フローのポート使用可否を指示する判定処理を、前記コンピュータ装置に実行させることを特徴とする請求項２３に記載のプログラム。
【請求項２５】
前記性能差制御処理において、
自入出力段スイッチ群の順序保障で使用するバッファ量を通知する処理と、
他入出力段スイッチ群の順序保障で使用するバッファ量を取得する処理と、
自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートを取得する処理と、
あるフローの送信ポート間のＲＴＴの測定結果から複数の前記ＲＴＴ統計値を算出する処理を、前記コンピュータ装置に実行させることを特徴とする請求項２４に記載のプログラム。
【請求項２６】
前記耐性能差計算処理で、前記順序保障バッファ量を前記リンク速度又は前記送信レートで除算することで、前記耐性能差を算出することを特徴とする請求項２４又は請求項２５に記載のプログラム。
【請求項２７】
前記ＲＴＴ統計値が、ＲＴＴ平均値と、ＲＴＴ最大値と、ＲＴＴ最小値を含み、
前記許容範囲計算処理で、
前記性能要求が平均性能である場合、前記ＲＴＴ平均値と前記耐性能差を用いて第１の許容範囲を、前記性能要求が高性能である場合、前記ＲＴＴ最大値と前記耐性能差を用いて第２の許容範囲を、前記性能要求が低性能である場合、前記ＲＴＴ最小値と前記耐性能差を用いて第３の許容範囲を算出することを特徴とする請求項２６に記載のプログラム。
【請求項２８】
前記許容範囲計算処理で、
前記性能要求が平均性能である場合、第１の許容範囲を｛ＲＴＴ平均値−（耐性能差）／２｝から｛ＲＴＴ平均値＋（耐性能差）／２｝までの範囲、前記性能要求が高性能である場合、第２の許容範囲をＲＴＴ最小値から｛ＲＴＴ平最小値＋耐性能差｝までの範囲、前記性能要求が低性能である場合、第３の許容範囲をＲＴＴ最大値から｛ＲＴＴ平最大値−耐性能差｝までの範囲として算出し、
前記判定処理で、
前記性能要求に応じて、前記第１の許容範囲、前記第２の許容範囲又は前記第３の許容範囲の何れかと前記ＲＴＴと比較し、比較結果を基に該当フローのポート使用可否を指示することを特徴とする請求項２７に記載のプログラム。
【請求項２９】
使用不可となっている該当フローのポートに対し性能差計測用フレームを定期的に送信し、性能差を計測する処理を、前記コンピュータ装置に実行させることを特徴とする請求項２１から請求項２８の何れかに記載のプログラム。
【請求項３０】
複数の入出力ポートを有する複数の入出力段スイッチを含む入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを含む中間段スイッチを有するスイッチ装置の入出力段スイッチを構成するスイッチであって、
前記複数の入出力段スイッチ間で前記複数の中間段スイッチの状況に従いフレームの再送制御を行う手段と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う手段と、
前記複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う手段と
を備えることを特徴とするスイッチ。
【請求項３１】
前記中間段スイッチ間の耐性能差と、要求性能に応じて使用するポートを選択する性能差制御手段を有することを特徴とする請求項３０に記載のスイッチ。
【請求項３２】
前記性能差制御手段が、
他入出力段スイッチの順序保障で使用するバッファ量と自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートから前記中間段スイッチ間の耐性能差を計算する耐性能差計算手段と、
あるフローの送信ポート間のＲＴＴから取得した複数のＲＴＴ統計値と前記耐性能差を用いて要求性能に応じた性能差の許容範囲を計算する許容範囲計算手段と、
前記許容範囲と前記ＲＴＴを比較し、比較結果を基に該当フローのポート使用可否を指示する判定手段と
を有することを特徴とする請求項３１に記載のスイッチ。
【請求項３３】
前記性能差制御手段が、
自入出力段スイッチ群の順序保障で使用するバッファ量を通知する手段と、
他入出力段スイッチ群の順序保障で使用するバッファ量を取得する手段と、
自入出力段スイッチと中間段スイッチ間のリンク速度又は送信レートを取得する手段と、
あるフローの送信ポート間のＲＴＴの測定結果から複数の前記ＲＴＴ統計値を算出する手段と
を有することを特徴とする請求項３２に記載のスイッチ。
【請求項３４】
前記耐性能差計算手段は、前記順序保障バッファ量を前記リンク速度又は前記送信レートで除算することで、前記耐性能差を算出することを特徴とする請求項３２又は請求項３３に記載のスイッチ。
【請求項３５】
前記ＲＴＴ統計値が、ＲＴＴ平均値と、ＲＴＴ最大値と、ＲＴＴ最小値を含み、
前記許容範囲計算手段は、
前記性能要求が平均性能である場合、前記ＲＴＴ平均値と前記耐性能差を用いて第１の許容範囲を、前記性能要求が高性能である場合、前記ＲＴＴ最大値と前記耐性能差を用いて第２の許容範囲を、前記性能要求が低性能である場合、前記ＲＴＴ最小値と前記耐性能差を用いて第３の許容範囲を算出することを特徴とする請求項３４に記載のスイッチ。
【請求項３６】
前記許容範囲計算手段は、
前記性能要求が平均性能である場合、第１の許容範囲を｛ＲＴＴ平均値−（耐性能差）／２｝から｛ＲＴＴ平均値＋（耐性能差）／２｝までの範囲、前記性能要求が高性能である場合、第２の許容範囲をＲＴＴ最小値から｛ＲＴＴ平最小値＋耐性能差｝までの範囲、前記性能要求が低性能である場合、第３の許容範囲をＲＴＴ最大値から｛ＲＴＴ平最大値−耐性能差｝までの範囲として算出し、
前記判定手段は、
前記性能要求に応じて、前記第１の許容範囲、前記第２の許容範囲又は前記第３の許容範囲の何れかと前記ＲＴＴと比較し、比較結果を基に該当フローのポート使用可否を指示することを特徴とする請求項３５に記載のスイッチ。
【請求項３７】
使用不可となっている該当フローのポートに対し性能差計測用フレームを定期的に送信し、性能差を計測する手段を有することを特徴とする請求項３０から請求項３６の何れかに記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置に関し、特に自由な拡張性を有する安価で遊休資源の有効活用が可能な大容量のスイッチ装置に関する。
【背景技術】
【０００２】
近年、インターネット等のネットワーク上を行き交うトラフィック量はますます増大する一方である。光伝送技術の進化により、ネットワーク上のボトルネックは伝送路そのものからスイッチ装置やルータ装置へと変移しており、大容量なスイッチ装置が求められている。
【０００３】
これまではトラフィック量の最大量を予測し、その最大量に合わせたスイッチ装置を導入するという手法がとられている。また、予想を上回るトラフィック量に成長した場合には、スイッチ装置自体をさらに大容量に対応可能なスイッチ装置と置き換えるということが行われており、それまで利用していたスイッチ装置が生かされていないのが一般的である。また経済的な観点から考えると、トラフィックの少ない段階から大容量スイッチ装置を導入するのは無駄な投資となってしまう。
【０００４】
すなわち、ビジネスの初期段階でトラフィック量の少ない場合ではスイッチ容量は小容量で十分である。よってスイッチ容量について、最初は小容量で、利用者の増加に伴いスイッチ容量を増加させることができ、最終的に大容量スイッチを構築可能な自由な拡張性が求められている。
【０００５】
スイッチ容量の拡張を行う手法としてはスタック構成や多段スイッチ構成がある。スタック構成とは同一のスイッチ装置を複数台接続して、この複数装置間を接続することで、スタックした数だけのポートを有する大きな装置として動作させる。このような構成をとることにより、単位装置の整数倍の拡張を行うことが可能である。このスタック構成の関連技術が特許文献１に記載されている。しかし、スタック構成でも容量を拡張することが可能であるが多段スイッチ構成のほうがより大容量を達成できる。
【０００６】
多段スイッチ構成の関連技術が特許文献２に記載されている。特許文献２に記載された多段スイッチは、図１７に示すように、複数の単位スイッチから構成されている。
【０００７】
例えば、３段ＣＬＯＳ（ＣＬＯＳは発明者の名前）スイッチの場合、入力段１６−１、中間段１６−２、出力段１６−３の３段の単位スイッチ群で構成される。入力段はそれぞれが入力ライン数ｍ本と出力ラインｎ本を備えるｍ×ｎの単位スイッチをｋ個並列に配列して単位スイッチ１６−１１−１〜１６−１１−ｋが構成される。中間段はｋ×ｈの単位スイッチをｎ個並列に配列して単位スイッチ１６−２１−１〜１６−２１−ｎが構成される。出力段はｎ×ｊの単位スイッチをｈ個並列に配列して単位スイッチ１６−３１−１〜１６−３１−ｈが構成される。
【０００８】
入力段と中間段の単位スイッチ群間はライン１６−１３−１〜１６−１３−ｋで接続され、中間段と出力段の単位スイッチ群間はライン１６−３２−１〜１６−３２−ｎで接続することにより、ｍｋ×ｊｈの大容量のスイッチ装置が構成される。
【０００９】
このように多段スイッチ構成では、小容量の単位スイッチを用い、各段の単位スイッチ数とそれに対応するリンク数に応じた規模のスイッチを構成することが可能である。また、中間段のスイッチングを制御するスケジューラが配置される。
【００１０】
このスケジューラの配備方法について分類すると、スケジューリング機能を分散して配備する方法と、スケジューリング機能を集中して配備する方法とに大別することができる。図１５（特許文献３）および図１６（特許文献４）は関連技術におけるスケジューリング機能の配備状態を示す図であり、図１５はスケジューリング機能を分散して配備した構成を示し、図１６はスケジューリング機能を集中に配備した構成を示している。
【特許文献１】特開２００２−２１７９３５号公報
【特許文献２】特開２００２−３２５０８７号公報
【特許文献３】特開２００２−１５２２６７号公報
【特許文献４】特開平６−７０３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献３や特許文献４等に記載の関連技術で示されるようなスケジューラを用いた構成においては、集中スケジューラの場合では、回路規模が大きくなり実装が困難であり、実装後は収容できる入力数が固定であるため、拡張性にかけるという問題があり、分散型スケジューラの場合にも、スケジューラ数の増加に伴い相互接続線も増加や相互に情報を交換することによる遅延よる実装時の制約により拡張性が制限されるという問題がある。
【００１２】
さらに分散的かつ経済的に大容量スイッチを構成する場合、中間段スイッチを異なる性能のスイッチで構成することが考えられるが、この場合中間段スイッチ間の性能差を吸収しなければならないという課題もある。
【００１３】
（発明の目的）
本発明の目的は、上記の課題を解決し、分散的かつ経済的に大容量スイッチを構成可能なスイッチ装置、スイッチ装置のスイッチ、スイッチ装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明によるスイッチ装置は、複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの再送制御を行う手段と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う手段と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う手段とを含む。
【００１５】
本発明によるスイッチ装置の制御方法は、複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群を備えるスイッチ装置の制御方法であって、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの再送制御を行うステップと、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行うステップと、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行うステップとを含む。
【００１６】
本発明によるプログラムは、複数の入出力ポートを有する複数の入出力段スイッチを有する入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを有する中間段スイッチ群を備えるスイッチ装置を構成するコンピュータ装置上で実行されるプログラムであって、コンピュータ装置に、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの再送制御を行う処理と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う処理と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う処理と、を実行させる。
【００１７】
本発明によるスイッチは、複数の入出力ポートを有する複数の入出力段スイッチを含む入出力段スイッチ群と、複数の入出力ポートを有する複数の中間段スイッチを含む中間段スイッチを有するスイッチ装置の入出力段スイッチを構成するスイッチであって、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの再送制御を行う手段と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの送信レートの制御を行う手段と、複数の入出力段スイッチ間で複数の中間段スイッチの状況に従いフレームの順序保障制御を行う手段とを含む。
【発明の効果】
【００１８】
本発明によれば、分散的かつ経済的に大容量スイッチを構成可能なスイッチ装置を提供できる。
【００１９】
その理由は、各入出力段スイッチが各入出力段間で独立に再送制御・レート制御・順序保障制御を行うため、スイッチ全体を制御するスケジューラを配置する必要がなく、スケジューラによる拡張性の制限を回避できるためである。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２１】
（第１の実施の形態の構成）
図１は、本発明の第１の実施の形態によるスイッチ装置の構成を示すブロック図である。スイッチ装置１は、複数の入出力段スイッチ群１−１、中間段スイッチ群１−２に分かれており、それぞれの段は複数のスイッチ部から構成される。
【００２２】
入出力段スイッチ群１−１は、ｋ（２以上の整数）個の入出力段スイッチ部１−１０から構成されており、中間段スイッチ群１−２は、ｎ（２以上の整数）個の中間段スイッチ部１−２０から構成されている。入力段スイッチ群１−１と中間段スイッチ群１−２間はｋ×ｎ本のリンクで相互接続されている。
【００２３】
中間段スイッチ群１−２を構成する中間段スイッチ部１−２０は、Ｅｔｈｅｒｎｅｔ（イーサネット）フレームを転送できるスイッチであればよく、そのトポロジー構造及び個数については限定されず任意である。また、中間段スイッチ部間の性能差についても特に問題としない。例えば、遊休設備のＥｔｈｅｒｎｅｔスイッチや既に使用中のネットワーク上のスイッチを用いても構わない。
【００２４】
図２に、第１の実施の形態によるスイッチ装置１の入出力段スイッチ部１−１０の構成例を示す。
【００２５】
入出力段スイッチ部１−１０は、中間段スイッチ群１−２への入力部１００と出力部２００と制御部３００に分かれて構成されている。入力部１００は、スイッチ外部から入力フレームを中間段スイッチ群１−２へと転送するブロックである。出力部２００は、中間段スイッチ群１−２からスイッチ外部へとフレームを出力するブロックである。制御部３００は、入出力段スイッチ部１−１０を制御するブロックである。
【００２６】
入力部１００は、入力側集約スイッチ１−１０−１、入力側フレーム解析部１−１０−２、再送バッファ１−２０−３、入力側フレーム変換部１−１０−４及び入力側振分スイッチ１−１０−５を備える。
【００２７】
入力側集約スイッチ１−１０−１は、スイッチ外部の複数の入力ポートと入力側フレーム解析部１−１０−２に接続されており、入力側フレーム解析部１−１０−２は、さらに再送バッファ１−１０−３に接続され、再送バッファ１−１０−３は、さらに入力側フレーム変換部１−１０−４と接続されている。また、入力側フレーム変換部１−１０−４は、入力側振分スイッチ１−１０−５に接続され、入力側振分スイッチ１−１０−５は、複数のリンクにて中間段スイッチ群１−２に接続されている。また、入力側フレーム解析部１−１０−２、再送バッファ１−１０−３、入力側フレーム変換部１−１０−４、入力側振分スイッチ１−１０−５は、それぞれ制御部３００の各部と接続されるが、その説明については後述する。
【００２８】
出力部２００は、出力側集約スイッチ１−１０−６、出力側フレーム解析部１−１０−７、順序保障バッファ１−２０−８、出力側フレーム変換部１−１０−９及び出力側スイッチ１−１０−１０を備える。
【００２９】
出力側集約スイッチ１−１０−６は、中間段スイッチ群１−２と複数のリンクで接続されており、出力側フレーム解析部１−１０−７は、出力側集約スイッチ１−１０−６と順序保障バッファ１−１０−８に接続されている。さらに、順序保障バッファ１−１０−８は、さらに出力側フレーム変換部１−１０−９と接続され、さらに出力側フレーム変換部１−１０−９は、出力側スイッチ１−１０−１０に接続され、出力側スイッチ１−１０−１０は、複数のスイッチ外部の出力ポートに接続されている。また、これらの構成要素は、制御部３００の各部と接続されるが、その説明については後述する。
【００３０】
制御部３００は、再送制御部１−１２、レート制御部１−１３、順序保障制御部１−１４、性能差制御部１−１５を備える。
【００３１】
再送制御部１−１２は、入力側フレーム解析部１−１０−２、再送バッファ１−１０−３、入力側フレーム変換部１−１０−４、出力側フレーム解析部１−１０−７、レート制御部１−１３、制御部テーブル１−１６と接続されている。レート制御部１−１３は、再送バッファ１−１０−３、入力側振分スイッチ１−１０−５、出力側フレーム解析部１−１０−７、再送制御部１−１２、制御部テーブル１−１６と接続される。順序保障制御部１−１４は、入力側振分スイッチ１−１０−５、出力側フレーム解析部１−１０−７、順序保障バッファ１−１０−８、出力側スイッチ１−１０−１０、制御部テーブル１−１６と接続されている。また、性能差制御部１−１５は、入力側振分スイッチ１−１０−５、出力側フレーム解析部１−１０−７、順序保障バッファ１−１０−８、制御部テーブル１−１６と接続されている。
【００３２】
ここでは、制御部テーブル１−１６を１つのブロックとして示しているが、制御部テーブル１−１６を制御部の構成要素内に分散して配置し、構成要素間で相互に参照するようにした形態でも構わない。
【００３３】
図３は、本実施の形態における再送制御部１−１２の構成例を示すブロック図である。図３に示すように、再送制御部１−１２は、フロー管理部１−１２−１、再送バッファ制御部１−１２−２、バッファ開放部１−１２−３、再送制御部１−１２−４を備えている。
【００３４】
フロー管理部１−１２−１は、入力側フレーム解析部１−１０−２、制御テーブル１−１６、再送バッファ制御部１−１２−２と接続される。再送バッファ制御部１−１２−２は、再送バッファ１−１０−３、制御テーブル１−１６、フロー管理部１−１２−１、バッファ開放部１−１２−３、再送制御部１−１２−４と接続される。バッファ開放部１−１２−３は、再送バッファ制御部１−１２−２、出力側フレーム解析部１−１０−７と接続される。再送制御部１−１２−４は、出力側フレーム解析部１−１０−７、レート制御部１−１３、制御テーブル１−１６と接続される。
【００３５】
再送制御部１−１２が使用する制御テーブル１−１６の項目は、各入出力段にグローバルに振られるＩＤ（宛先情報を示す。本明細書ではフローＩＤと称する）と、シーケンス番号と、再送タイマ値と、再送バッファの格納位置情報である。
【００３６】
再送制御部１−１２は、スイッチ装置１の外部からのフレームをフローＩＤごとに再送バッファ１−１０−３に格納し、シーケンス番号を付与して管理する。また、再送制御部１−１２は、受信側から確認応答（ＡＣＫ）を受信すると、そのＡＣＫに記載されている該当フローのシーケンス番号までフレームを再送バッファ１−１０−３から開放する。さらに、再送制御部１−１２は、再送要求（受信側からの異常受信応答（ＮＡＣＫや２重ＡＣＫ）の受信や一定時間内に受信側から何も応答が無い（再送タイマの発動））があった際に、後述のレート制御部１−１３の再送バッファ１−１０−３からの読出し位置を巻き戻し、再送を行う。
【００３７】
図４は、本実施の形態におけるレート制御部１−１３の構成を示すブロック図である。
【００３８】
レート制御部１−１３は、再送バッファ制御部１−１３−１、レート計測部１−１３−２、レート計算部１−１３−３、振分スイッチ設定部１−１３−４、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）計算部１−１３−５を備えている。
【００３９】
再送バッファ制御部１−１３−１は、再送バッファ１−１０−３、入力側フレーム変換部１−１０−４、再送制御部１−１２、制御テーブル１−１６、レート計測部１−１３−２、レート計算部１−１３−３、振分スイッチ設定部１−１３−４に接続されている。レート計測部１−１３−２は、制御テーブル１−１６、再送バッファ制御部１−１３−１と接続されている。レート計算部１−１３−３は、制御テーブル１−１６、再送バッファ制御部１−１３−１、ＲＴＴ計算部１−１３−５と接続されている。振分スイッチ設定部１−１３−４は、入力側振分スイッチ１−１０−５、再送バッファ制御部１−１３−１と接続されている。ＲＴＴ計算部１−１３−５は、出力側フレーム解析部１−１０−７、制御テーブル１−１６、レート計算部１−１３−３と接続されている。
【００４０】
レート制御部１−１３が使用する制御テーブル１−１６の項目は、フローＩＤと、再送バッファの読出し位置と、前回の中間段スイッチへの送信ポートと、各ポート番号と、計測ＲＴＴと、最小ＲＴＴと、計算したレートと、各ポートの使用可否情報である。
【００４１】
レート制御部１−１３は、各フローのＲＴＴの計測値と計測したＲＴＴの変動値からレートを計算する。そして、レート制御部１−１３は、計算したレートに基づいて再送バッファ１−１０−３からフレームを読出し、入力側フレーム変換部１−１０−４への指示と入力側振分スイッチ１−１０−５の設定を行い、フレームを目的の中間段スイッチに転送する。
【００４２】
図５は、本実施の形態における順序保障制御部１−１４の構成を示すブロック図である。
【００４３】
順序保障制御部１−１４は、順序保障バッファ制御部１−１４−１、ＡＣＫ送信部１−１４−２、フレーム変換設定部１−１４−３、スイッチ設定部１−１４−４を備えている。
【００４４】
順序保障バッファ制御部１−１４−１は、出力側集約スイッチ１−１０−６、出力側フレーム解析部１−１０−７、順序保障バッファ１−１０−８、制御テーブル１−１６、ＡＣＫ送信部１−１４−２、フレーム変換設定部１−１４−３、スイッチ設定部１−１４−４と接続されている。ＡＣＫ送信部１−１４−２は、入力側振分スイッチ１−１０−５、制御テーブル１−１６、順序保障バッファ制御部１−１４−１と接続されている。フレーム変換設定部１−１４−３は、出力側フレーム変換部１−１０−９、順序保障バッファ制御部１−１４−１と接続されている。スイッチ設定部１−１４−４は、出力側スイッチ１−１０−１０、順序保障バッファ制御部１−１４−１と接続されている。
【００４５】
順序保障制御部１−１４が使用する制御テーブル１−１６の項目は、フローＩＤと、次に出力するシーケンス番号と、受信したポート番号と、各フロー・ポートの順序保障バッファ１−１０−８の先頭に格納されているシーケンス番号およびタイムスタンプである。
【００４６】
順序保障制御部１−１４は、中間段スイッチ群１−２から到着したフレームをシーケンス番号順にスイッチ装置１から出力する。フローごとに順序保障バッファ１−１０−８に格納し、所望のシーケンス番号のフレームならば出力し、それ以外であれば所望のシーケンス番号のフレームが到着するまで順序保障バッファに退避させておく。
【００４７】
また、順序保障制御部１−１４は、所望のシーケンス番号のフレームを出力する際に、出力側フレーム変換部１−１０−９にフレーム変換指示と出力側スイッチ１−１０−１０に目的ポートへのスイッチング指示を出すと共に、所望のフレームを出力した場合、送信元の再送バッファ１−１０−３を開放させるため、送信元に確認応答（ＡＣＫ）を送信する。
【００４８】
また、順序保障制御部１−１４は、シーケンス番号とび等中間段スイッチ群１−２にてフレーム損失が発生した場合、異常受信通知（ＮＡＣＫあるいは２重ＡＣＫあるいはＳｅｌｅｃｔｉｖｅ  ＡＣＫ）を送信する。ＡＣＫには受信フレームに搭載されているタイムスタンプが搭載され、送信元はそのタイムスタンプを基にＲＴＴを計算する。
【００４９】
図６は、本実施の形態における性能差制御部１−１５の構成を示すブロック図である。
【００５０】
性能差制御部１−１５は、耐性能差計算部１−１５−１、ＲＴＴ計算部１−１５−２、要求性能設定部１−１５−３、判定部１−１５−４、ＲＴＴ計測部（ダミー計測部）１−１５−５、順序保障バッファ量通知部１−１５−６を備えている。
【００５１】
耐性能差計算部１−１５−１は、入力側振分スイッチ１−１０−５、出力側フレーム解析部１−１０−７、制御テーブル１−１６と接続されている。ＲＴＴ計算部１−１５−２は、制御テーブル１−１６と接続されている。要求性能設定部１−１５−３は、制御テーブル１−１６、判定部１−１５−４と接続されている。判定部１−１５−４は、制御テーブル１−１６、要求性能設定部１−１５−３と接続されている。ＲＴＴ計測部（ダミー計測部）１−１５−５は、入力側振分スイッチ１−１０−５、出力側フレーム解析部１−１０−７、制御テーブル１−１６と接続されている。順序保証バッファ量通知部１−１５−６は入力側振分スイッチ１−１０−５、出力側順序保証バッファ１−１０−８と接続されている。
【００５２】
性能差制御部１−１５が使用する制御テーブル１−１６の項目は、フローＩＤ、耐性能差、ＲＴＴ平均値・最大値・最小値、要求性能、許容範囲、ポート番号、ポート使用可否である。
【００５３】
性能差制御部１−１５は、性能の異なるスイッチを用いて中間段スイッチ群１−２を構成した場合にも、要求性能設定に応じて耐性能差内の中間段スイッチを選択し、分散大容量スイッチとして動作可能にする。
【００５４】
性能差制御部１−１５は、中間段スイッチ群１−２とのリンク速度（または送信レート）と受信側の順序保障バッファ量から耐性能差を計算すると共に、ＲＴＴ計測結果からフローごとのＲＴＴ平均値・最大値・最小値を計算する。
【００５５】
また、性能差制御部１−１５は、計算した耐性能差値とＲＴＴ平均値・最大値・最小値を用いて要求性能に応じた許容範囲を計算し、そして許容範囲と各ポートのＲＴＴを比較し、範囲外のＲＴＴを持つポートを使用不可とする。使用不可ポートはＲＴＴが許容範囲内に収まれば使用可能となる。また、使用不可ポートにはフレームが流れないためＲＴＴが計測ができないので、定期的にＲＴＴ計測用フレームを使用不可ポートに送信し、ＲＴＴ情報を更新する。
【００５６】
（第１の実施の形態の動作）
次いで、上記のように構成される本実施の形態によるスイッチ装置の動作について説明する。
【００５７】
（フレーム転送の通常動作）
まず、スイッチ装置１にフレームが入力し、目的の出力ポートに出力する際の通常動作について説明する。
【００５８】
最初に、図７のフローチャートを参照して、入力側にフレームが到着した場合の動作について説明する。
【００５９】
入力ポートに到着したフレームは、入出力段スイッチ部１−１０の入力側集約スイッチ１−１０−１によって入力側フレーム解析部１−１０−２に転送される。入力側フレーム解析部１−１０−２は、到着したフレームに搭載されている宛先（フロー）情報を読取り、読み取ったフロー情報を再送制御部１−１２のフロー管理部１−１２−１に通知する（ステップＳ１０１）。
【００６０】
フロー管理部１−１２−１は、制御テーブル１−１６に通知を受けた該当フロー情報が登録されているかどうかを判定し（ステップＳ１０２）、登録されていない場合は、制御テーブル１−１６にシーケンス番号、再送タイマ、格納位置情報をセットし登録する（ステップＳ１０３）。既に登録がある場合は、新規登録は行わない。
【００６１】
フロー管理部１−１２−１は、フレーム到着とフロー情報を再送バッファ制御部１−１２−２に通知する。再送バッファ制御部１−１２−２は、制御テーブル１−１６の該当フローの格納位置情報とシーケンス番号を参照し（ステップＳ１０４）、フレームにシーケンス番号を挿入する（ステップＳ１０５）。さらに、再送バッファ制御部１−１２−２は、当該フレームを再送バッファ１−１０−３に格納し（ステップＳ１０６）、格納位置情報を更新する（ステップＳ１０７）。
【００６２】
次に、図８のフローチャートを参照して、再送バッファ１−１０−３からフレーム読出しを行う場合の動作について説明する。
【００６３】
再送バッファ１−１０―３に格納されたフレームは、レート制御部１−１３で設定されたレートに従って再送バッファ１−１０−３から読み出される。レート計測部１−１３−２は、送信レートを計測しており、再送バッファ制御部１−１３−１には読み出しフローＩＤと送信ポート番号が通知される。
【００６４】
再送バッファ１−１０−３からフレームを読み出す際、レート制御部１−１３の再送バッファ制御部１−１３−１は、制御テーブル１−１６から該当フローの読出し位置情報を参照し（ステップＳ２０１）、再送バッファ１−１０−３から読み出しを行う（ステップＳ２０２）と共に、振分スイッチ設定部１−１３−４に送信ポート番号を通知する（ステップＳ２０３）。
【００６５】
そして、入力側フレーム変換部１−１０−４にてタイムスタンプを挿入し（ステップＳ２０４）、入力側振分スイッチ１−１０−５を通じて目的送信ポートから中間段スイッチ群１−２へ転送される（ステップＳ２０５）。
【００６６】
中間段スイッチ群１−２では、フレームは通常のＥｔｈｅｒｎｅｔフレームとして所望の入出力段スイッチ１−１０へ転送される。
【００６７】
図９のフローチャートを参照して、出力側にフレームが到着した場合の動作について説明する。
【００６８】
中間段スイッチ群１−２から入出力段スイッチ部１−１０へフレームが到着すると、出力側集約スイッチ１−１０−６を通して出力側フレーム解析部１−１０−７へ転送される。
【００６９】
順序保障バッファ制御部１−１４−１は、出力側集約スイッチ１−１０−６から受信したポート番号を、出力側フレーム解析部１−１０−７からフローＩＤ、シーケンス番号、タイムスタンプを通知してもらい、制御テーブル１−１６に記録する（ステップＳ３０１）。
【００７０】
そして、順序保障バッファ制御部１−１４−１は、制御テーブル１−１６から次シーケンス番号を読取り（ステップＳ３０２）、到着したフレームのシーケンス番号と比較し（ステップＳ３０３）、所望のシーケンス番号の場合、順序保障バッファ１−１０−８へは格納せず出力側フレーム変換部１−１０−９に転送する（ステップＳ３０４）。所望のシーケンス番号でない場合、順序保障バッファ１−１０−８の該当フロー、該当ポートへフレームを格納する（ステップＳ３１０）。
【００７１】
所望のシーケンス番号のフレームを転送した場合、次シーケンス番号を更新する（ステップＳ３０７）。そして、順序保障バッファ１−１０−８が空であるかどうかを判定し（ステップＳ３０８）、空でなければ該当フローの各ポートの先頭シーケンス番号と比較する（ステップＳ３０８）。所望のシーケンス番号がある場合、順序保障バッファ１−１０−８から出力側フレーム変換部１−１０−９へ出力し（ステップＳ３０４）、上記動作を、順序保障バッファ１−１０−８が空になるまで又は次シーケンス番号と一致しなくなるまで繰り返す。
【００７２】
順序保障バッファ１−１０−８から出力されたフレームは、出力側フレーム変換部１−１０−９にて出力フレームに変換され（ステップＳ３０５）、スイッチ設定部１−１４−４にて該当出力ポートにスイッチングされるよう設定された出力側スイッチ１−１０−１０を通してスイッチ装置１の出力ポートから出力される（ステップＳ３０６）。
【００７３】
また、図１０のフローチャートに示すように、順序保障バッファ１−１０−８からフレームが出力された場合、ＡＣＫ送信の機会を待って（ステップＳ４０１）、送信元に確認応答（ＡＣＫ）を送信する（ステップＳ４０２）。このＡＣＫ送信の機会は、１フレーム出力毎、Ｎフレーム出力毎、一定時間間隔等の機会がある。ＡＣＫ送信機会に、順序保障制御部１−１４のＡＣＫ送信部１−１４−２にて、ＡＣＫ対象フレームのシーケンス番号、タイムスタンプを付与した確認応答（ＡＣＫ）を、フレーム送信元に対し、入力側振分スイッチ１−１０−５を通して送信する。
【００７４】
図１１のフローチャートを参照して、送信元にＡＣＫが到着した場合の動作について説明する。
【００７５】
送信されたＡＣＫが中間段スイッチ群１−２を通して送信元に到着した場合、ポート番号が読み取られ（ステップＳ５０１）、再送制御部１−１２による再送バッファ１−１０−３の開放と、レート制御部１−１３によるＲＴＴ計算、レート計算が行われる。
【００７６】
前者は出力側フレーム解析部１−１０−７からＡＣＫに搭載されているフローＩＤとシーケンス番号がバッファ開放部１−１２−３に通知され（ステップＳ５０２）、バッファ開放部１−１２−３は再送バッファ制御部１−１２−２にバッファ開放指示を通知し、再送バッファ制御部１−１２−２は該当フロー該当シーケンス番号までのフレームを再送バッファ１−１０−３から開放する（ステップＳ５０３）。
【００７７】
後者は出力側フレーム解析部１−１０−７からＡＣＫに搭載されているフローＩＤとタイムスタンプがＲＴＴ計算部１−１３−５に通知され（ステップＳ５０４）、ＲＴＴ計算部１−１３−５はＲＴＴ＝（ＡＣＫ受信時の時間−該当タイムスタンプ値）にてＲＴＴを計算する（ステップＳ５０５）。レート計算部１−１３−３は、計算されたＲＴＴと最小ＲＴＴを用いてＲＴＴの変動値を求め、その変動値を基に送信レートを計算して設定する（ステップＳ５０６、Ｓ５０７）。
【００７８】
（フレーム再送動作）
図１２のフローチャートを参照して、フレーム再送時の動作について説明する。
【００７９】
中間段スイッチ群１−２にてフレーム損失や回復不能なビットエラーが発生した場合、再送制御にてフレームを再送信する必要がある。前記の場合、受信側ではシーケンス番号とびが発生する。
【００８０】
シーケンス番号のとびが発生した場合、受信側は順序保障制御部１−１４のＡＣＫ送信部１−１４−２にてＮＡＣＫ（あるいは２重ＡＣＫあるいはＳｅｌｅｃｔｉｖｅ  ＡＣＫ）を送信元に対して入力側振分スイッチ１−１０−５を通して中間段スイッチ群１−２に送信する（ステップＳ６０１）。中間段スイッチ群１−２を通って送信元にＮＡＣＫ（あるいは２重ＡＣＫあるいはＳｅｌｅｃｔｉｖｅ  ＡＣＫ）が到着すると（ステップＳ６０２）、出力側フレーム解析部１−１０−７にてフローＩＤとシーケンス番号を読取り、再送制御部１−１２の再送制御部１−１２−４にそれらを通知する（ステップＳ６０３）。
【００８１】
再送制御部１−１２−４は、レート制御部１−１３の再送バッファ制御部１−１３−１に通知し、制御テーブル１−１６の読出し位置情報を該当シーケンス番号の格納位置まで巻き戻す（ステップＳ６０４）。読出し位置を巻き戻された再送バッファ制御部１−１３−１は、巻き戻された位置のフレームを送信することにより再送信が行われる。送信手順は正常送信時の再送バッファ読出し以降と同様となる。
【００８２】
（性能差制御部１−１５の動作）
図１３のフローチャートを参照して、性能差制御部１−１５の動作について説明する。
【００８３】
性能差制御部１−１５による使用ポート選択動作について説明する。まず、自入出力段スイッチ部１−１０の順序保障バッファ量を他入出力段スイッチ部１−１０に通知するため、順序保障バッファ量通知部１−１５−６は、順序保障バッファ量を取得し、入力側振分スイッチ１−１０−５を通してブロードキャストフレームにその順序保障バッファ量を搭載して送信する。あるいは、順序保障バッファ量管理部を設け、そこにすべての順序保障バッファ量情報を集約し、順序保障バッファ量管理部が配信してもかまわない。
【００８４】
順序保障バッファ量通知フレームを受信し（ステップＳ７０１）、出力側フレーム解析部１−１０−７にて自入出力段スイッチ部１−１０以外の順序保障バッファ量を取得した場合、耐性能差計算部１−１５−１は入力側振分スイッチ１−１０−５にリンク速度（あるいは制御テーブル１−１６の送信レート）を取得し（ステップＳ７０２）、耐性能差＝順序保障バッファ量÷リンク速度（あるいはレート）の式を用いて耐性能差を計算し（ステップＳ７０３）、制御テーブル１−１６に記録する。
【００８５】
また、ＲＴＴ計算部１−１５−２は、制御テーブル１−１６からＲＴＴ計測結果を読取り、フローごとにＲＴＴ平均値、最大値、最小値を計算し（ステップＳ７０４）、制御テーブル１−１６に記録する。
【００８６】
要求性能設定部１−１５−３では、要求性能に応じて耐性能差とＲＴＴ平均値、最大値、最小値を用いて許容範囲を計算する（ステップＳ７０５）。例えば、要求性能が“平均”の場合、許容範囲はＲＴＴ平均値−耐性能差／２からＲＴＴ平均値＋耐性能差／２まで、要求性能が“高性能”の場合、許容範囲はＲＴＴ最小値からＲＴＴ最小値＋耐性能差まで、要求性能が“低性能”の場合、許容範囲はＲＴＴ最大値−耐性能差からＲＴＴ最大値までとなる。
【００８７】
そして、判定部１−１５−４にて各ＲＴＴと許容範囲を比較し（ステップＳ７０６）、許容範囲外のＲＴＴのポートは使用不可と判定し、制御テーブル１−１６のポート使用可否項目を使用不可に設定する（ステップＳ７０７）。使用不可になったポートからはフレームが送信されないため、ＲＴＴ計測部１−１５−５（ダミー計測部）にて定期的にタイムスタンプを搭載したＲＴＴ計測用フレームを送信する（ステップＳ７０８）。ＲＴＴ計測用フレームを受信した受信側は即座にＡＣＫを返送し、ＡＣＫを受信した送信元はレート計算部１−１３のＲＴＴ計算１−１３−５にてＲＴＴ計算を行い、ＲＴＴを更新する。
【００８８】
許容範囲外のＲＴＴのポートは使用可と判定し、制御テーブル１−１６のポート使用可否項目を使用可に設定し（ステップＳ７０９）、ＲＴＴ計測用フレーム送信を停止する（ステップＳ７１０）。
【００８９】
図１４は、スイッチ装置を構成する入出力段スイッチ部１−１０のハードウェア構成例を示すブロック図である。
【００９０】
図２４を参照すると、入出力段スイッチ部１−１０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなり、データの作業領域やデータの一時退避領域に用いられる記憶部４０２、外部の装置と接続してデータの送受信を行う入出力インタフェース部４０３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部４０５、上記各構成要素を相互に接続するシステムバス４０４、入力側集約スイッチ１−１０−１と入力側振分スイッチ１−１０−５を含む入力側スイッチ４０６及び出力側集約スイッチ１−１０−６と出力側スイッチ１−１０−１０を含む出力側スイッチ４０７を備えている。ここで、入出力段スイッチ部１−１０の再送バッファ１−１０−３と順序保障バッファ１−１０−８は、記憶部４０２上に実装され、制御テーブル１−１６は、補助記憶部４０５上に実装される。
【００９１】
本実施の形態による入出力段スイッチ部１−１０は、制御部３００の再送制御部１−１２、レート制御部１−１３、順序保障制御部１−１４、性能差制御部１−１５等の処理を実行する制御プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、上記再送制御部１−１２、レート制御部１−１３、順序保障制御部１−１４、性能差制御部１−１５の各機能を提供する制御プログラムを、補助記憶部４０５に格納し、そのプログラムを記憶部４０２にロードしてＣＰＵ４０１で実行することにより、ソフトウェア的に実現することも可能である。
【００９２】
（本実施の形態の効果）
次に、本実施の形態の効果について説明する。
【００９３】
本実施の形態では、多段スイッチ構成において大容量スイッチを構成する際、スケジューラを用いず各入出力段スイッチ間で再送・レート・順序保障制御を行うことで大容量を達成できる。すなわち、分散的かつ経済的に大容量スイッチを構成可能なスイッチ装置を実現することができる。各入出力段スイッチが各入出力段間で独立に再送制御・レート制御・順序保障制御を行うため、スイッチ全体を制御するスケジューラを配置する必要がなく、スケジューラによる拡張性の制限を回避できるためである。
【００９４】
また、中間段スイッチ群１−２が性能の異なるスイッチを用いて大容量スイッチ構成した場合にも、要求性能に応じて中間段スイッチを効率よく使用できる。性能差計測・比較から要求性能に応じて中間段スイッチを選択するため、中間段スイッチに性能差の異なるスイッチを分散的に配置できるためである。特に遊休設備や既存設備を用いることが可能となるため経済的に大容量スイッチを構成できる。
【００９５】
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１の実施の形態によるスイッチ装置の全体構成を示すブロック図である。
【図２】第１の実施の形態によるスイッチ装置における入出力段スイッチ部の構成例を示すブロック図である。
【図３】第１の実施の形態によるスイッチ装置における入出力段スイッチ部の再送制御部の構成例を示すブロック図である。
【図４】第１の実施の形態によるスイッチ装置における入出力段スイッチ部のレート制御部の構成例を示すブロック図である。
【図５】第１の実施の形態によるスイッチ装置における入出力段スイッチ部の順序保障制御部の構成例を示すブロック図である。
【図６】第１の実施の形態によるスイッチ装置における入出力段スイッチ部の性能差制御部の構成例を示すブロック図である。
【図７】第１の実施の形態によるスイッチ装置における入力側にフレームが到着した時の動作を説明するフローチャートである。
【図８】第１の実施の形態によるスイッチ装置における再送バッファからのフレーム読出し時の動作を説明するフローチャートである。
【図９】第１の実施の形態によるスイッチ装置における出力側にフレームが到着した時の動作を説明するフローチャートである。
【図１０】第１の実施の形態によるスイッチ装置におけるその他のＡＣＫ送信時の動作を説明するフローチャートである。
【図１１】第１の実施の形態によるスイッチ装置における送信元にＡＣＫが到着した時の動作を説明するフローチャートである。
【図１２】第１の実施の形態によるスイッチ装置におけるフレーム再送時の動作を説明するフローチャートである。
【図１３】第１の実施の形態によるスイッチ装置における性能差制御部の動作を説明するフローチャートである。
【図１４】本発明のスイッチ装置を構成する入出力段スイッチ部１−１０のハードウェア構成例を示すブロック図である。
【図１５】関連技術としてのスケジューリング機能を分散して配備するスイッチ装置の構成例を示すブロック図である。
【図１６】関連技術としてのスケジューリング機能を集中して配備するスイッチ装置の構成例を示すブロック図である。
【図１７】関連技術としての多段スイッチの構成例を示すブロック図である。
【符号の説明】
【００９７】
１：スイッチ装置
１−１：入出力段スイッチ群
１−２：中間段スイッチ群
１−１０：入出力段スイッチ部
１−２０：中間段スイッチ部
１−１０−１：入力側集約スイッチ
１−１０−２：入力側フレーム解析部
１−１０−３：再送バッファ
１−１０−４：入力側フレーム変換部
１−１０−５：入力側振分スイッチ
１−１０−６：出力側集約スイッチ
１−１０−７：出力側フレーム解析部
１−１０−８：順序保障バッファ
１−１０−９：出力側フレーム変換部
１−１０−１０：出力側スイッチ
１−１２：再送制御部
１−１２−１：フロー管理部
１−１２−２：再送バッファ制御部
１−１２−３：バッファ開放部
１−１２−４：再送制御部
１−１３：レート制御部
１−１３−１：再送バッファ制御部
１−１３−２：レート計測部
１−１３−３：レート計算部
１−１３−４：振分スイッチ設定部
１−１３−５：ＲＴＴ計算部
１−１４：順序保障制御部
１−１４−１：順序保障バッファ制御部
１−１４−２：ＡＣＫ送信部
１−１４−３：フレーム変換設定部
１−１４−４：スイッチ設定部
１−１５：性能差制御部
１−１５−１：耐性能差計算部
１−１５−２：ＲＴＴ計算部
１−１５−３：要求性能設定部
１−１５−４：判定部
１−１５−５：ＲＴＴ計測部（ダミー計測部）
１−１５−６：順序保障バッファ量通知部
１−１６：制御テーブル
【図１】
2010124205.tif 000003
【図２】
2010124205.tif 000004
【図３】
2010124205.tif 000005
【図４】
2010124205.tif 000006
【図５】
2010124205.tif 000007
【図６】
2010124205.tif 000008
【図７】
2010124205.tif 000009
【図８】
2010124205.tif 000010
【図９】
2010124205.tif 000011
【図１０】
2010124205.tif 000012
【図１１】
2010124205.tif 000013
【図１２】
2010124205.tif 000014
【図１３】
2010124205.tif 000015
【図１４】
2010124205.tif 000016
【図１５】
2010124205.tif 000017
【図１６】
2010124205.tif 000018
【図１７】
2010124205.tif 000019