(57)【要約】【課題】スケジューリング時間を削減する。【解決手段】本発明は、ＴＤＭ方式のネットワークシステムを構成するスケジューラ４０に適用される。本発明のスケジューラ４０は、ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計する交流トラヒック量集計部４０１と、各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成するトラヒック偏り検出部４０３と、トラヒック偏り情報を保持するトラヒック偏り情報保持部４０３と、トラヒック偏り情報を基に、ネットワークシステムを構成する複数のノードをグルーピングするノードグルーパ４０４と、を有する。【選択図】図２
2014053770.tif 000002
【特許請求の範囲】
【請求項１】
ＴＤＭ方式のネットワークシステムを構成するスケジューラであって、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計する集計手段と、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成するトラヒック偏り検出手段と、
前記トラヒック偏り情報を保持するトラヒック偏り情報保持手段と、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングするグループ化手段と、を有する、スケジューラ。
【請求項２】
各パスが要求するトラヒック量の履歴を保持するトラヒック量履歴保持手段と、
カウントダウン動作を行うタイマと、
前記タイマのタイムアウトを受けて、直近の所定数分の履歴を基に各パスが要求するトラヒック量の平均値を計算する平均値計算手段と、をさらに有し、
前記トラヒック偏り検出手段は、
各パスが要求するトラヒック量の平均値を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、前記グループ化手段に対し、再度のグルーピングを指示する、請求項１に記載のスケジューラ。
【請求項３】
前記トラヒック偏り検出手段が新たにトラヒック偏り情報を作成した場合、新たなトラヒック偏り情報と前記トラヒック偏り情報保持手段に保持されている現在のトラヒック偏り情報との差分を閾値と比較し、該比較結果を基に、前記トラヒック偏り情報保持手段に保持されているトラヒック偏り情報を更新すると共に、前記グループ化手段に対し、再度のグルーピングを指示する閾値判定手段をさらに有する、請求項１または２に記載のスケジューラ。
【請求項４】
上位ノード・下位ノード管理手段をさらに有し、
前記トラヒック偏り検出手段は、
前記ネットワークシステムを構成するノードの中に通信先が限定されるノードを検出した場合、通信先が下位ノード数分に限定されるノードを上位ノードと定義すると共に、通信先が上位ノード数分に限定されるノードを下位ノードと定義し、前記上位ノードおよび前記下位ノードの情報を前記上位ノード・下位ノード管理手段に保持させ、
前記グループ化手段は、
前記トラヒック偏り情報および前記上位ノードおよび前記下位ノードの情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングする、請求項１から３のいずれか１項に記載のスケジューラ。
【請求項５】
前記ネットワークシステムは、波長数がＷ（Ｗは２以上の自然数）で単方向リングの構成であり、
前記ネットワークシステムを構成する各リンクのスケジュールを表すリンクスケジュールテーブルはＷ面設けられており、
Ｗ面のリンクスケジュールテーブル上で、同一ノードが同一タイミングに送信元ノードになることおよび宛先ノードになることがないように調整する波長間調整手段をさらに有する、請求項１から４のいずれか１項に記載のスケジューラ。
【請求項６】
前記グループ化手段に対し、複数通りのグループ数を１つずつ通知して、グルーピングを指示し、各グループ数におけるグルーピングの結果を基に、グループ数を調整するグループ数調整手段をさらに有する、請求項１から５のいずれか１項に記載のスケジューラ。
【請求項７】
ＴＤＭ方式のネットワークシステムを構成するスケジューラによるスケジューリング方法であって、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計するステップと、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成して保持するステップと、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングするステップと、を有する、スケジューリング方法。
【請求項８】
ＴＤＭ方式のネットワークシステムを構成するスケジューラに、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計する手順と、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成して保持する手順と、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングする手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＤＭ（time division multiplexing、時分割多重）方式のネットワークシステムにおいて、ノードやリンクのスケジューリングを行うための技術に関する。
【背景技術】
【０００２】
ＴＤＭ方式のネットワークシステムでは、ＴＳ（time slot、タイムスロット）長の整数倍の時間（ｔ）を周期として繰り返し処理を行う。以下では、ｔをＴＤＭフレーム長と呼ぶ。
【０００３】
以下、ＴＤＭ方式のネットワークシステムにおいて、ノードやリンクのスケジューリングを行う従来のスケジューリング方法について説明する（例えば、非特許文献１，２参照）。ここでは、図３１に示すように、ネットワークシステムが、ノードＡ〜Ｅとリンクａ〜ｅとからなり、１波長、単方向リングの構成であるとする。また、スケジューラは、ノードＡに配置されているとする。
【０００４】
ステップＳ１００：
まず、図３１を参照すると、スケジューラは、各パスが要求する要求トラヒックのトラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。なお、パスとは、送信元ノードと宛先ノードとの間を結ぶ通信経路を指す。ここでは、トラヒック量５０Ｍｂｐｓを１ＴＳに換算する。例えば、ノードＡ→ノードＤのパスのトラヒック量は１５０Ｍｂｐｓであるため、要求ＴＳ数は３となる。
【０００５】
ステップＳ２００：
次に、図３２を参照すると、スケジューラは、ＴＳマトリクスを基に、各リンクａ〜ｅの要求ＴＳ数を算出する。例えば、リンクａの要求ＴＳ数は、リンクａを通るパスの要求ＴＳ数（角丸四角形で囲った要求ＴＳ数）を合計した１８となる。次に、リンクａ〜ｅの要求ＴＳ数の最大値に基づき、全てのＴＳを収容し得るＴＤＭフレーム長（非特許文献２では、スーパーフレーム長と称している）を求める。リンクａ，ｂの要求ＴＳ数が１８で最大値であるため、ＴＤＭフレーム長は１８となる。なお、非特許文献２では、ｔを基本フレーム長（ＴＳ長の整数倍として定義）の整数倍にするという制約を設けているため、基本フレーム長を１０ＴＳとした場合、全てのＴＳを収容し得るＴＤＭフレーム長（非特許文献２では、スーパーフレーム長と称している）は、２フレーム分の２０ＴＳとなる。なお、ここでは、全てのＴＳを収容し得るフレーム長を可変としているが、固定としても良い。
【０００６】
ステップＳ３００：
その後、図３３を参照すると、スケジューラは、ステップＳ２００で求めたフレーム長の空きＴＳに、各パスを要求ＴＳ数分割り当てる。このとき、例えば、Ｆｉｒｓｔ  Ｆｉｔ割当（空きを発見したら即割当）や、連続ＴＳ優先割当（要求するＴＳ数が連続して確保できれば即割当）等の様々な割当ポリシが存在する。この工程で、各リンクａ〜ｅの各ＴＳにおいて、どのパスのデータを流すかを表すリンクスケジュールテーブルが作成される。
【０００７】
以上のスケジューリング方法の流れを、図３４のフロー図に示す。すなわち、スケジューラは、各パスが要求するトラヒック量の集計後に上述のステップＳ１００〜Ｓ３００の処理を行い、各ノードＡ〜Ｅに対し、そのノードを終点とするリンクおよび始点とするリンクのリンクスケジュールテーブルを通知する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】X. Zhang and C. Qiao, "Pipelined transmission scheduling in all-optical TDM/WDM rings," in Proc. Int. Conf. Computer Communication and Networks, Sept. 1997, pp. 144-149.
【非特許文献２】K. Gokyu, K. Baba, and M. Murata, "Path accommodation methods for unidirectional rings with optical compression TDM," IEICE Transactions on Communications, vol. E83-B, pp. 2294-2303, Oct. 2000.
【非特許文献３】T. Tatsuta, N. Oota, N. Miki, and K. Kumozaki, "Design philosophy and performance of a GE-PON system for mass deployment," JOURNAL OF OPTICAL NETWORKING, vol. 6, no. 6, pp. 689-700, June 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、ネットワークシステムにおいては、各パスのトラヒック量は、固定ではなく、随時変動する。
【００１０】
例えば、図３５を参照すると、ノードＣ→ノードＡのパスのトラヒック量が多く、ノードＣ→ノードＢのパスのトラヒック量が少ない状態でＴＳ割当を行った場合に、その後、ノードＣ→ノードＡのパスのトラヒック量が少なくなり、ノードＣ→ノードＢのパスのトラヒック量が多くなることがある。
【００１１】
このとき、ＴＳを変更しないと、トラヒック量が少なくなったノードＣ→ノードＡのパスに多くのＴＳを割り当てたままとなり、非常に非効率な状態になる。また、トラヒック量が多くなったノードＣ→ノードＢのパスに少ないＴＳを割り当てたままとなり、ＴＳが不足する状態になる。
【００１２】
そのため、スケジューラは、再度スケジューリングを行い、リンクスケジュールテーブルを書き換えることで、トラヒック変動に追従する。
【００１３】
しかしながら、全パス数は、ノード数をＮとするとＯ（Ｎ2）と表されるため、従来法のように、１パスずつシーケンシャルにＴＳ割当を行う場合、１パスあたりの平均ＴＳ割当計算時間をαとおくと、全パスのＴＳ割当の計算時間はα×Ｏ（Ｎ2）となる。加えて、それぞれのパスが通るリンク数、すなわちＴＳ割当の際に空塞状況を確認する必要があるリンク数はＯ（Ｎ）と表されるため、α自体もＮに依存することとなる。したがって、ＴＳ割当の計算時間は、ネットワークシステムの規模と共に増大する。
【００１４】
そのため、トラヒック変動に追従するネットワークシステムの大規模化を実現するためには、ＴＳ割当の計算時間を削減することによって、スケジューリング時間を削減することが重要な課題となる。
【００１５】
そこで、本発明の目的は、ＴＤＭ方式のネットワークシステムにおいて、スケジューリング時間を削減することで、システムの大規模化を実現することができる技術を提供することにある。
【課題を解決するための手段】
【００１６】
本発明のスケジューラは、
ＴＤＭ方式のネットワークシステムを構成するスケジューラであって、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計する集計手段と、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成するトラヒック偏り検出手段と、
前記トラヒック偏り情報を保持するトラヒック偏り情報保持手段と、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングするグループ化手段と、を有する。
【００１７】
本発明のスケジューリング方法は、
ＴＤＭ方式のネットワークシステムを構成するスケジューラによるスケジューリング方法であって、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計するステップと、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成して保持するステップと、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングするステップと、を有する。
【００１８】
本発明のプログラムは、
ＴＤＭ方式のネットワークシステムを構成するスケジューラに、
前記ネットワークシステムを構成する各ノードから、当該ノードを送信元ノードとする各パスが要求するトラヒック量を定期的に集計する手順と、
各パスが要求するトラヒック量を基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成して保持する手順と、
前記トラヒック偏り情報を基に、前記ネットワークシステムを構成する複数のノードをグルーピングする手順と、を実行させる。
【発明の効果】
【００１９】
本発明によれば、ネットワークシステムを構成する複数のノードのグーピングを行う。これにより、グループ間でのＴＳ割当の後に、段階的に、グループ内のノード間のパスのＴＳ割当を実行したり、グループ内でのＴＳ割当の後に、段階的に、グループ間のノード間のパスのＴＳ割当を実行したりすることができるため、スケジューリング時間が削減され、システムの大規模化を実現することができるという効果が得られる。
【００２０】
また、本発明によれば、トラヒックの偏りを考慮して、グーピングを行うため、スケジュール長（要求トラヒックを転送するのに要する時間）の増加を抑制することができるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本発明のネットワークシステムの構成を示す図である。
【図２】本発明の第１の実施形態のスケジューラの構成を示す図である。
【図３】本発明の第１の実施形態のスケジューラの全体動作の概略を説明する図である。
【図４】従来のグルーピング方法を説明する図である。
【図５】本発明の第１の実施形態のスケジューラのグルーピング方法を説明する図である。
【図６】本発明の第１の実施形態のスケジューラの前提条件を説明する図である。
【図７】本発明の第１の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図８】本発明の第１の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図９】本発明の第１の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図１０】本発明の第１の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図１１】本発明のネットワークシステム全体の動作シーケンスを説明する図である。
【図１２】本発明の第１の実施形態のスケジューラの動作シーケンスを説明する図である。
【図１３】本発明の第１の実施形態のスケジューラの動作シーケンスを説明する図である。
【図１４】本発明の第１の実施形態のスケジューラの動作シーケンスを説明する図である。
【図１５】本発明の第１の実施形態のスケジューラの動作シーケンスを説明する図である。
【図１６】本発明の第１の実施形態のスケジューラの動作シーケンスを説明する図である。
【図１７】本発明の第２の実施形態のスケジューラの構成を示す図である。
【図１８】本発明の第２の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図１９】本発明の第２の実施形態のスケジューラの動作シーケンスを説明する図である。
【図２０】本発明の第３の実施形態のスケジューラの構成を示す図である。
【図２１】本発明の第３の実施形態のスケジューラの全体動作の詳細を説明する図である。
【図２２】本発明の第３の実施形態のスケジューラの動作シーケンスを説明する図である。
【図２３】本発明の第４の実施形態のスケジューラの構成を示す図である。
【図２４】本発明の第４の実施形態のスケジューラのグルーピング方法を説明する図である。
【図２５】本発明の第４の実施形態のスケジューラのグルーピング方法を説明する図である。
【図２６】本発明の第４の実施形態のスケジューラのグルーピング方法の効果を説明する図である。
【図２７】本発明の第４の実施形態のスケジューラのグルーピング方法の具体例を説明する図である。
【図２８】本発明の第４の実施形態のスケジューラの動作シーケンスを説明する図である。
【図２９】本発明の第５の実施形態のスケジューラの構成を示す図である。
【図３０】本発明の第６の実施形態のスケジューラの構成を示す図である。
【図３１】従来のスケジューリング方法を説明する図である。
【図３２】従来のスケジューリング方法を説明する図である。
【図３３】従来のスケジューリング方法を説明する図である。
【図３４】従来のスケジューリング方法の流れを説明するフロー図である。
【図３５】従来のスケジューリング方法の課題を説明する図である。
【発明を実施するための形態】
【００２２】
以下に、本発明を実施するための形態について図面を参照して説明する。
（１）第１の実施形態
図１に、本発明のスケジューラが適用されるネットワークシステムの構成を示す。
【００２３】
図１を参照すると、本発明のネットワークシステムは、Ｎ（Ｎは、２以上の自然数）個のノード１０間がリンク２０によって接続されたリング型のネットワークシステムである。なお、図１においては、Ｎ＝５となっているが、Ｎの数はこれに限定されない。
【００２４】
各ノード１０は、それぞれホストコンピュータ３０が接続されており、ホストコンピュータ３０間のデータ信号を転送する。このとき、ノード１０は、リング上の前段のノードから送られてきたデータ信号を処理し、次段のノードへデータ信号を送る。
【００２５】
スケジューラ４０は、ネットワークシステム全体を管理し、各リンク２０および各ノード１０のスケジューリングを行う。スケジューラ４０の配置場所は、図１に限定されず、別のノードに配置されても良い。
【００２６】
なお、本発明においては、スケジューラ４０に主な特徴があり、ノード１０は、公知の構成にパスのトラヒック量を動的に収集しスケジューラ４０に通知する機能を追加した構成であれば良く、また、ホストコンピュータ３０は公知の構成であれば良い。そのため、以下では、スケジューラ４０の構成についてのみ詳細に説明する。
【００２７】
図２に、第１の実施形態のスケジューラ４０の構成を示す。
【００２８】
図２を参照すると、第１の実施形態のスケジューラ４０は、交流トラヒック量集計部４０１と、トラヒック偏り検出部４０２と、トラヒック偏り情報保持部４０３と、ノードグルーパ４０４と、セレクタ４０５と、グループ構成テーブル４０６と、グループ間帯域割当部４０７と、リンクテーブル（グループ単位）４０８と、グループ内（ノード間）帯域割当部４０９と、テーブル変換部４１０と、リンクスケジュールテーブル４１１と、テーブル換算部４１２と、ノードグループテーブル４１３と、テーブル変換部４１４と、ノードスケジュールテーブル４１５と、テーブルトランスミッタ４１６と、タイマ４１７と、を有している。
【００２９】
交流トラヒック量集計部４０１は、各ノード１０から、そのノードを送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を定期的に集計する。
【００３０】
トラヒック偏り検出部４０２は、各パスが要求するトラヒック量を基に、ネットワーク内でのパスのトラヒックの偏りを検出し、トラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成する。なお、トラヒックの偏り情報は、どのノード１０が関わる通信がどの程度多いか／少ないか等の情報を示している。
【００３１】
トラヒック偏り情報保持部４０３は、トラヒック偏り情報を保持する。
【００３２】
ノードグルーパ４０４は、トラヒック偏り情報を基に、Ｎ個のノード１０を、論理的に、Ｇ（Ｇは、Ｎ＞Ｇの関係を満たす２以上の自然数）個のグループにグルーピング（グループ化）するグループ化手段である。このとき、ノードグルーパ４０４は、１以上のグルーピングを行い、グループ構成の候補を１つ以上作成する。
【００３３】
セレクタ４０５は、グループ構成の候補のうちの１つを選択する。
【００３４】
グループ構成テーブル４０６は、セレクタ４０５が選択したグループ構成について、グループ毎に、そのグループに属するノード１０を表すテーブルである。
【００３５】
グループ間帯域割当部４０７は、各グループ間（同一のグループ間、異なるグループ間の双方を含む）にＴＳを割り当て、そのＴＳ割当結果を基に、各リンク２０のリンクテーブル（グループ単位）４０８を作成する。すなわち、グループ間帯域割当部４０７は、グループ間のスケジューリングを行う。
【００３６】
リンクテーブル（グループ単位）４０８は、リンク数分（Ｎ個）配置されるものであり、そのリンク２０の各ＴＳにおいて、どのグループ間のデータを流すかを表すテーブルである。
【００３７】
グループ内（ノード間）帯域割当部４０９は、グループ数の２乗分（Ｇ2個）配置されるものであり、グループ内のノード１０間（同一のグループに属するノード１０間、異なるグループに属するノード１０間の双方を含む）のパスにＴＳを割り当てる。各グループ内（ノード間）帯域割当部４０９は、並列処理が可能である。すなわち、グループ内（ノード間）帯域割当部４０９は、グループ内のスケジューリングを行う。
【００３８】
なお、Ｇ2個のグループ内（ノード間）帯域割当部４０９の内訳は、同一のグループに属するノード１０間のパス（送信元ノードと宛先ノードが同一のグループに属するパス）へのＴＳ割当を行うのがＧ個、異なるグループに属するノード１０間のパス（送信元ノードと宛先ノードが異なるグループに属するパス）へのＴＳ割当を行うのがＧ（Ｇ−１）個で、合計Ｇ2個となる。
【００３９】
テーブル変換部４１０は、リンク数分（Ｎ個）配置されるものであり、そのリンク２０のリンクテーブル（グループ単位）４０８を、グループ内（ノード間）帯域割当部４０９のＴＳ割当結果を基に、リンクスケジュールテーブル４１１に変換する。各テーブル変換部４１０は、並列処理が可能である。
【００４０】
リンクスケジュールテーブル４１１は、リンク数分（Ｎ個）配置されるものであり、そのリンク２０のスケジュール（具体的には、各ＴＳにおいて、どのパスのデータを流すか）を表すテーブルである。
【００４１】
テーブル換算部４１２は、グループ数分（Ｇ個）配置されるものであり、各リンク２０のリンクテーブル（グループ単位）４０８を基に、そのグループのノードグループテーブル４１３を作成する。各テーブル換算部４１２は、並列処理が可能である。
【００４２】
ノードグループテーブル４１３は、グループ数分（Ｇ個）配置されるものであり、そのグループの各ＴＳにおけるノード処理の内容（データ送信、方路切替等）を表すテーブルである。
【００４３】
テーブル変換部４１４は、グループ数分（Ｇ個）配置されるものであり、そのグループのノードグループテーブル４１３を、各リンク２０のリンクスケジュールテーブル４１１を基に、ノードスケジュールテーブル４１５に変換する。各テーブル変換部４１４は、並列処理が可能である。
【００４４】
ノードスケジュールテーブル４１５は、ノード数分（Ｎ個）配置されるものであり、そのノード１０のスケジュール（具体的には、各ＴＳにおけるノード処理の内容（データ送信、方路切替等））を表すテーブルである。
【００４５】
テーブルトランスミッタ４１６は、各ノード１０に対し、そのノードのノードスケジュールテーブル４１５を送信する。ここで、従来法においては、各ノード１０が独自にリンクスケジュールテーブル４１１を基に各ＴＳにおけるノード処理を認識する必要があった。しかし、本発明においては、各ノード１０にノードスケジュールテーブル４１５を送信するため、各ノード１０がリンクスケジュールテーブル４１１からノード処理を認識するという機能を配備する必要がなくなる。
【００４６】
タイマ４１７は、各ノード１０が処理を行う時間を管理する。
【００４７】
なお、グループ構成テーブル４０６、リンクテーブル（グループ単位）４０８、リンクスケジュールテーブル４１１、ノードグループテーブル４１３、およびノードスケジュールテーブル４１５は、スケジューラ４０内部のメモリ（不図示）に保持されるものとする。
【００４８】
以下、第１の実施形態のスケジューラ４０の動作について説明する。
（ｉ）概略動作
まず、スケジューラ４０の概略動作について説明する。
【００４９】
図３に、第１の実施形態のスケジューラ４０の全体動作の概略を示す。
【００５０】
図３を参照すると、ここでは説明の便宜上、ネットワークシステムが、Ｎ＝６とした単方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは１個（ファイバ多重や波長多重を行わない）であるものとする。また、６個のノード１０をそれぞれノードＡ〜Ｆとし、６個のリンク２０をそれぞれリンクａ〜ｆとする。ただし、本発明は、これに限定されず、双方向リングをはじめ任意トポロジおよび波長多重を行った場合にも適用可能である（各ファイバの各波長についてリンクスケジュールテーブル４１１が作成される）。
【００５１】
また、スケジューラ４０がノードＡに設けられているとする。
【００５２】
まず、ノードグルーパ４０４は、６個のノードＡ〜Ｆを論理的に３個のグループにグルーピングして、グループ構成の候補を１以上作成し、そのうちの１つをセレクタ４０５が選択する。ここでは、ノードＡ，ＢがグループＧ１に、ノードＣ，ＤがグループＧ２に、ノードＥ，ＦがグループＧ３に、それぞれグルーピングされた候補が選択されている。
【００５３】
次に、グループ間帯域割当部４０７は、ノード単位のＴＳマトリクスを、グループ単位のＴＳマトリクスに変換する。例えば、Ｇ３→Ｇ３（送信元ノードがＧ３に属し、宛先ノードがＧ３に属するパスの集合。以下、同じ）の要求ＴＳ数は、Ｇ３に属するノードＥ，Ｆの一方を送信元ノード、他方を宛先ノードとするパスの要求ＴＳ数（角丸四角形で囲った要求ＴＳ数）に基づき、４となる。
【００５４】
次に、グループ間帯域割当部４０７は、グループ単位のＴＳマトリクスを基に、各グループ間にＴＳを割り当てる。例えば、Ｇ１→Ｇ３には、リンクａ〜ｅのＳ１〜Ｓ４のＴＳを割り当てる。なお、図３の右側中段のテーブルは、ネットワーク内の各リンク上に規定されたＴＳの空塞状況を表すもので、以下、スケジュールテーブルと称す。
【００５５】
次に、グループ間帯域割当部４０７は、各リンクのリンクテーブル（グループ単位）４０８を作成する。例えば、リンクａのリンクテーブル（グループ単位）４０８において、Ｓ１のＴＳには、Ｇ１→Ｇ３をスケジューリングする。
【００５６】
一方、各グループ内（ノード間）帯域割当部４０９は、グループ内のノード間の各パスにＴＳを割り当てる。例えば、Ｇ１→Ｇ３内のノード間のパスのＴＳ割当を行うグループ内（ノード間）帯域割当部４０９は、ノードＡ→ノードＦのパスには、リンクａ〜ｅのＳ１のＴＳを割り当てる。このとき、Ｇ１→Ｇ３内のノード間のパスに対するＴＳ割当処理とＧ１→Ｇ２内のノード間のパスに対するＴＳ割当処理とは、独立して実行可能である。
【００５７】
その後、各テーブル変換部４１０は、各リンクのリンクテーブル（グループ単位）４０８をリンクスケジュールテーブル４１１に変換する。例えば、リンクａのリンクスケジュールテーブル４１１において、Ｓ１のＴＳには、ノードＡ→ノードＦのパスをスケジューリングする。
【００５８】
本発明においては、Ｎ個のノード１０のグーピングを行う。そのため、グループ間でのＴＳ割当の後に、段階的に、グループ内のノード間のパスのＴＳ割当を実行することができるため、従来法と比較して、ＴＳ割当の計算時間を削減することができる。
【００５９】
すなわち、従来法においては、Ｏ（Ｎ2）本のパスを、Ｏ（Ｎ）本のリンク上に割り当てていた。これに対して、本発明においては、グループ単位の計算では、Ｏ（Ｇ2）本のパスを、Ｏ（Ｇ）本のリンク上に割り当て、グループ内のノード単位の計算では、１グループあたり、Ｏ｛（Ｎ／Ｇ）2｝本のパスを、Ｏ｛（Ｎ／Ｇ）｝本のリンク上に割り当てる。さらに、本発明においては、テーブル分割を行っているため、ＴＳ割当の際に、空塞状況を確認する必要があるＴＳ数は従来法に比べて小さい値となる。以上より、本発明においては、従来法と比較して、ＴＳ割当の計算時間を削減することができる。
【００６０】
また、例えば、図３のテーブル上では、Ｇ１→Ｇ３の部分と、Ｇ１→Ｇ２の部分と、は排他的に分割されている。そのため、Ｇ１→Ｇ３内のノード間のパスに対するＴＳ割当処理と、Ｇ１→Ｇ２内のノード間のパスに対するＴＳ割当処理とは、独立して実行可能である。よって、グループ内（ノード間）帯域割当部４０９によるＴＳ割当処理を、並列処理することで、ＴＳ割当の計算時間をさらに削減することができる。
【００６１】
上述のように、本発明においては、Ｎ個のノード１０をグーピングすることで、ＴＳ割当の計算時間を削減することができる。
【００６２】
ただし、グルーピング方法によっては、ネットワーク内の各パスのトラヒックの偏りに起因して、スケジュール長（要求トラヒックを転送するのに要する時間）が増加し、ＴＤＭフレーム長分の時間ｔ内に、全ての要求トラヒックを転送できないという問題が生じる可能性がある。以下、この問題について詳述する。
【００６３】
図４に、固定的に同数ずつのノードをグルーピングするグルーピング方法の例を示す。
【００６４】
図４を参照すると、ここでは説明の便宜上、ネットワークシステムが、Ｎ＝８とした単方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは１個（ファイバ多重や波長多重を行わない）であるものとする。また、８個のノード１０をそれぞれノードＡ〜Ｈとする（後述の図５も同様）。ただし、本発明は、これに限定されず、双方向リングをはじめ任意トポロジおよび波長多重を行った場合にも適用可能である（各ファイバの各波長についてリンクスケジュールテーブル４１１が作成される）。
【００６５】
ここでは、ノードグルーパ４０４が、８個のノードＡ〜Ｆを、ノード番号の若番から固定的に２個ずつ４個のグループにグルーピングし、これをセレクタ４０５が選択したとする。すなわち、ノードＡ，ＢがグループＧ１に、ノードＣ，ＤがグループＧ２に、ノードＥ，ＦがグループＧ３に、ノードＧ，ＨがグループＧ４に、それぞれグルーピングされている。
【００６６】
このとき、Ｇ１→Ｇ１において、ノードＡ→ノードＢのパスの要求ＴＳ数は５で、ノードＢ→ノードＡのパスの要求ＴＳ数は１であり、ノードＡ→ノードＢのパスのトラヒック量が特に多くなっており、両者のトラヒックには大きな偏りが生じている。そのため、スケジュールテーブル上に空領域が多くなり、ＴＳ割当が非効率になっている。
【００６７】
また、Ｇ１→Ｇ２の要求ＴＳ数は１１で、Ｇ３→Ｇ４の要求ＴＳ数は４であり、両者のトラヒックには大きな偏りが生じている。そのため、スケジュールテーブル上で空領域が多くなり、ＴＳ割当が非効率になっている。
【００６８】
ここで、スケジュールテーブル上の連続したＴＳの集合を便宜上ブロックと呼ぶこととすると、スケジュールテーブル上で、高さ（ここでは、要求ＴＳ数に相当）の異なるブロックを詰め込んでいく場合、空が生じやすくなる。
【００６９】
その結果、ＴＳ割当が非効率となり、スケジュール長が増加し、ＴＤＭフレーム長分の時間ｔ内に、全ての要求トラヒックを転送し終えることができない。
【００７０】
そこで、第１の実施形態においては、ノードグルーパ４０４は、スケジュール長の増加を抑制するために、トラヒック偏り情報を基に、トラヒックの偏りを考慮して、Ｎ個のノード１０のグルーピングを行う。
【００７１】
図５に、トラヒック分布に応じたグルーピング方法の例を示す。
【００７２】
図５を参照すると、ノードグルーパ４０４は、トラヒック偏り情報を基に、グループ内のトラヒック量が可能な限りグループ間で均一になるように（すなわち、各ブロックの高さが可能な限り等しくなるように）、グルーピングを行う。
【００７３】
例えば、図５の例では、ノードＡ→ノードＣのパスの要求ＴＳ数は５で多く、ノードＥ→ノードＧのパスの要求ＴＳ数は１で少なくなっている。
【００７４】
そのため、ノードグルーパ４０４は、例えば、ノードＡが属するグループ内のノード数が少なく、ノードＥが属するグループ内のノード数が多くなるように、ノードＡをグループＧ１に、ノードＢ，ＣをグループＧ２に、ノードＤ，Ｅ，ＦをグループＧ３に、ノードＧ，ＨをグループＧ３に、それぞれグルーピングする。
【００７５】
これにより、Ｇ１→Ｇ２とＧ３→Ｇ４の要求ＴＳ数は共に８となり、これらのブロックの高さは等しくなる。
【００７６】
このように、スケジュールテーブル上で、高さ（ここでは、要求ＴＳ数に相当）の等しいブロックを詰め込んでいく場合、空が生じにくくなる。
【００７７】
その結果、ＴＳ割当の効率が向上し、スケジュール長の増加が抑制され、ＴＤＭフレーム長分の時間ｔ内に、全ての要求トラヒックを転送することができる。
（ｉｉ）詳細動作
次に、スケジューラ４０の詳細動作について説明する。
【００７８】
図６に、スケジューラ４０の詳細動作の前提条件を示す。
【００７９】
図６を参照すると、ここでは説明の便宜上、ネットワークシステムが、Ｎ＝８とした単方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは１個（ファイバ多重や波長多重を行わない）であるものとする。なお、８個のノード１０をそれぞれノードＡ〜Ｈとする。ただし、本発明は、これに限定されず、双方向リングをはじめ任意トポロジおよび波長多重を行った場合にも適用可能である（各ファイバの各波長についてリンクスケジュールテーブル４１１が作成される）。
【００８０】
また、スケジューラ４０がノードＡに設けられているとする。
【００８１】
図７に、スケジューラ４０の全体の詳細動作のうち、トラヒック偏り情報を保持するまでの動作を示す。
【００８２】
図７を参照すると、まず、ステップＳ１において、交流トラヒック量集計部４０１は、各ノードＡ〜Ｈから、定期的に、そのノードを送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計し、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。ＴＳマトリクスは、各ノード間の各パスが要求する要求ＴＳ数を表すもので、ノード数×ノード数の要素を持つ２次元配列である。ここでは、トラヒック量１０Ｍｂｐｓを１ＴＳに換算する。例えば、ノードＡ→ノードＢのパスのトラヒック量は１００Ｍｂｐｓであるため、要求ＴＳ数は１０となる。なお、ＴＳマトリクスは、トラヒック偏り検出部４０２、グループ間帯域割当部４０７、およびグループ内（ノード間）帯域割当部４０９に出力され、これらで保持される。
【００８３】
次に、ステップＳ２において、トラヒック偏り検出部４０２は、ＴＳマトリクスを基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成する。ここでは、ノードＡを送信元ノードとするパスのトラヒック量が多く、また、ノードＤ，Ｅ，Ｆを送信元ノードとしノードＡ，Ｂ，Ｃを宛先ノードとするパスのトラヒック量が少なくなっている。
【００８４】
次に、ステップＳ３において、トラヒック偏り情報保持部４０３は、トラヒック偏り情報を保持する。トラヒック偏り情報は、各パスのトラヒックの偏り状態、すなわち、どのノードが関わる通信がどの程度多いか／少ないかを示す１次元配列となっている。
【００８５】
ここで、図７に示したステップＳ２において、トラヒックの偏りを検出する動作について詳細に説明する。
【００８６】
図８および図９に、ステップＳ２のトラヒックの偏りを検出する動作の詳細を示す。
【００８７】
図８を参照すると、トラヒック偏り検出部４０２は、ノード毎に４個のカウンタ（不図示）を具備しており、まず、ＴＳマトリクスの値を入力として、これら４個のカウンタを用いて、トラヒック分布に関する次の４個の項目を解析する。
・ｄｓｔ：該当ノードが通信する宛先ノードの数
・Ｔｘ：該当ノードが送信するＴＳ数の和
（すなわち、該当ノードが送信元ノードとなるパスのトラヒック量の和）
・ｓｒｃ：該当ノードが通信する送信元ノードの数
・Ｒｘ：該当ノードが受信するＴＳ数の和
（すなわち、該当ノードが宛先ノードとなるパスのトラヒック量の和）
このとき、各項目に対応するカウンタは、ＴＳマトリクス上を探索し、以下の演算動作を行う。
・ｄｓｔ（ｎ）：ｎ行目の０でない要素数を算出（ｎ＝１,…，Ｎ。以下、同じ）
・Ｔｘ（ｎ）：ｎ行目の要素を足しこむ
・ｓｒｃ（ｎ）：ｎ列目の０でない要素数を算出
・Ｒｘ（ｎ）：ｎ列目の要素を足しこむ
また、図９を参照すると、トラヒック偏り検出部４０２は、ノード毎に４個のカウンタ（不図示）を具備することに加えて、比較器（不図示）を具備しており、比較器を用いて、各カウンタのカウンタ値に対する各種の比較を行うことで、送信元ノード毎に、パスの偏りや限定があるか、宛先ノード毎に、パスの偏りや限定があるか、各ノードの上下比（そのノードが送信元ノードとなるパスのＴＳ数と、そのノードが宛先ノードとなるパスのＴＳ数と、の比率）などを検出する。
・宛先が限定されるノードの検出
まず、Ｎ個のノードｎの１つを選択する。
【００８８】
次に、上記で選択したノードｎのｄｓｔ（ｎ）と（Ｎ−１）の値とを比較する。
【００８９】
ここで、両者が一致すれば、ノードｎを送信元ノードとするパスには、宛先ノードの限定はないと検出する。
【００９０】
一方、両者が一致しない場合、ノードｎを送信元ノードとするパスには、宛先ノードの限定があると検出する。
【００９１】
以上をＮ個のノードｎの全てについて行う。
・送信元が限定されるノードの検出
まず、Ｎ個のノードｎの１つを選択する。
【００９２】
次に、上記で選択したノードｎのｓｒｃ（ｎ）と（Ｎ−１）の値とを比較する。
【００９３】
ここで、両者が一致すれば、ノードｎを宛先ノードとするパスには、送信元ノードの限定はないと検出する。
【００９４】
一方、両者が一致しない場合、ノードｎを宛先ノードとするパスには、送信元ノードの限定があると検出する。
【００９５】
以上をＮ個のノードｎの全てについて行う。
・送信元毎のトラヒックの偏りの検出
まず、Ｔｘ（１）,・・・，Ｔｘ（Ｎ）の平均値を求める。
【００９６】
次に、Ｎ個のノードｎの１つを選択し、選択したノードｎのＴｘ（ｎ）と平均値とを比較する。
【００９７】
ここで、両者が同程度であれば、ノードｎを送信元ノードとするパスのトラヒックに偏りはないと検出する。
【００９８】
一方、Ｔｘ（ｎ）が平均値の○倍以上または●分の１以下であれば、ノードｎを送信元ノードとするパスのトラヒックに偏りがあると検出する。
【００９９】
以上をＮ個のノードｎの全てについて行う。
・宛先毎のトラヒックの偏りの検出
まず、Ｒｘ（１）,・・・，Ｒｘ（Ｎ）の平均値を求める。
【０１００】
次に、Ｎ個のノードｎの１つを選択し、選択したノードｎのＲｘ（ｎ）と平均値とを比較する。
【０１０１】
ここで、両者が同程度であれば、ノードｎを宛先ノードとするパスのトラヒックに偏りはないと検出する。
【０１０２】
一方、Ｒｘ（ｎ）が平均値の○倍以上または●分の１以下であれば、ノードｎを宛先ノードとするパスのトラヒックに偏りがあると検出する。
【０１０３】
以上をＮ個のノードｎの全てについて行う。
・上下非対称トラヒックの検出
まず、Ｎ個のノードｎの１つを選択する。
【０１０４】
次に、上記で選択したノードｎのＴｘ（ｎ）とＲｘ（ｎ）とを比較する。
【０１０５】
ここで、両者が同程度であれば、ノードｎは上下非対称ではないと検出する。
【０１０６】
一方、Ｔｘ（ｎ）がＲｘ（ｎ）の△倍以上または▲分の１以下であれば、ノードｎは上下非対称であると検出する。
【０１０７】
以上をＮ個のノードｎの全てについて行う。なお、上記の○、●、△、▲の値は、設計条件に応じて適当な値に設定可能であるが、例えば、２以上とすることが考えられる。
【０１０８】
このとき、トラヒック偏り検出部４０２は、これら全ての情報を検出しても良く、一部の情報のみを検出しても良い。
【０１０９】
そして、トラヒック偏り検出部４０２は、宛先や送信元が限定されるノードを検出した場合や、宛先や送信元にトラヒックの偏りを検出した場合や、上下非対称トラヒックを検出した場合に、トラヒック偏り情報を作成し、トラヒック偏り情報保持部４０３に出力する。ここでは、トラヒック偏り情報は、ノードＡを送信元ノードとするパスのトラヒックに平均値の２倍程度の偏りがあり、ノードＡは上下比が１：４程度に上下非対称となっていることを示している。
【０１１０】
図１０に、スケジューラ４０の全体の詳細動作のうち、図７の動作の後に行われ、グループ構成テーブル４０６を作成するまでの動作を示す。
【０１１１】
図１０を参照すると、トラヒック偏り検出部４０２は、ステップＳ４において、トラヒック偏り情報保持部４０３からトラヒック偏り情報を読み出して、ノードグルーパ４０４に渡し、ノードグルーパ４０４は、トラヒック偏り情報を基に、Ｎ個のノード１０を、論理的に、Ｇ個のグループにグルーピングし、グループ構成の候補を１つ以上作成する。
【０１１２】
例えば、ノードグルーパ４０４は、送信元ノードのトラヒックの偏りを考慮して候補を作成する場合、あるノードを送信元ノードとするパスが平均値の○倍であれば、そのノードが属するグループ内のノード数が少なくなるようにする。また、あるノードを送信元ノードとするパスが平均値の●分の１以下であれば、そのノードが属するグループ内のノード数が多くなるようにする。
【０１１３】
また、ノードグルーパ４０４は、宛先ノードのトラヒックの偏りを考慮して候補を作成する場合、あるノードを宛先ノードとするパスが平均値の○倍であれば、そのノードが属するグループ内のノード数が少なくなるようにする。また、あるノードを宛先ノードとするパスが平均値の●分の１以下であれば、そのノードが属するグループ内のノード数が多くなるようにする。
【０１１４】
なお、通信先（送信元ノードや宛先ノード）に限定がある場合のグルーピング方法は、後述の第４の実施形態の構成で対応することになる。
【０１１５】
セレクタ４０５は、ノードグルーパ４０４が作成したグループ構成の各候補について、グループ毎に、そのグループに属するノードを送信元ノードとするパスの要求ＴＳ数の和であるＳｕｍＴＳ（Ｇ）を算出し、さらに、ＳｕｍＴＳ（Ｇ）に対して、分散値Ｖ｛ＳｕｍＴＳ（Ｇ）｝を算出する。また、セレクタ４０５は、各候補のグループ構成と各グループの要求ＴＳ数の和と分散値とを表す１次元配列のテーブルを保持する。
【０１１６】
そして、セレクタ４０５は、グループの組み合わせの候補の中から、分散値が最小となる候補を選択する。ここでは、分散値が７３で最小である２番目の候補を選択する。
【０１１７】
次に、ステップＳ５において、セレクタ４０５は、上記で選択したグループ構成について、グループ毎に、そのグループに属するノードやノード数を表す、１次元配列のグループ構成テーブル４０６を作成し、メモリ（不図示）に保持させる。
【０１１８】
以降、図示は省略するが、グループ間でのＴＳ割当が実行され、その後に、段階的に、グループ内のノード間のパスのＴＳ割当が実行されることになる。
（ｉｉｉ）動作シーケンス
次に、本発明のネットワークシステムの動作シーケンスについて説明する。
【０１１９】
図１１に、ネットワークシステム全体の動作シーケンスを示す。
【０１２０】
図１１を参照すると、ステップＡ１，Ａ２において、ノードＡに接続されたホストコンピュータＡａは、ノードＢに接続されたホストコンピュータＢｂ宛のホスト間データ信号を、ノードＡに送信したとする。
【０１２１】
すると、ステップＡ３において、ノードＡは、ホストコンピュータＡａからホスト間データ信号を受信してバッファリングし、このホスト間データ信号の送信のためにノードＡ→ノードＢのパスが要求するトラヒック量をモニタリングする。
【０１２２】
次に、ステップＡ４において、ノードＡは、ノードＡを送信元とする各パスが要求するトラヒック量（上記でモニタリングしたトラヒック量を含む）を示すホスト間トラヒック情報をスケジューラ４０に送信する。なお、ホスト間トラヒック情報の送信は、ホスト間データ信号の有無にかかわらず、定期的に行われる。そのため、ステップＡ５において、ノードＡも、ホスト間トラヒック情報をスケジューラ４０に送信している。
【０１２３】
次に、ステップＡ６，Ａ７，Ａ８において、スケジューラ４０は、ホスト間トラヒック情報を基に、スケジューリング（グループ間のスケジューリングとグループ内のスケジューリング）を行い、各ノードＡ，Ｂに対し、そのノードの各ＴＳにおけるノード処理の内容を表すノードスケジュールテーブル４１５を送信する。
【０１２４】
その後、ステップＡ９，Ａ１０，Ａ１１において、各ノードＡ，Ｂは、ノードスケジュールテーブル４１５の内容に従い、ホストコンピュータＡａからホストコンピュータＢｂ宛のホスト間データ信号を転送する。
【０１２５】
図１２および図１３に、スケジューラ４０の動作シーケンスのうち、グループ構成テーブル４０６を作成するまでの動作シーケンスを示す。
【０１２６】
図１２を参照すると、まず、ステップＢ１において、交流トラヒック量集計部４０１は、各ノード１０から、定期的に、そのノード１０を送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計する。
【０１２７】
次に、ステップＢ２において、交流トラヒック量集計部４０１は、全てのノード１０からトラヒック量を集計したか判定し、集計していれば、ステップＢ３において、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。
【０１２８】
次に、ステップＢ４において、交流トラヒック量集計部４０１は、ＴＳマトリクスを、トラヒック偏り検出部４０２、グループ間帯域割当部４０７、およびグループ内（ノード間）帯域割当部４０９に対して出力し保持させる。
【０１２９】
以上のステップＢ１〜Ｂ４は、図７のステップＳ１に相当する。
【０１３０】
次に、ステップＢ５において、トラヒック偏り検出部４０２は、ＴＳマトリクスを基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒック偏り情報を作成する。
【０１３１】
以上のステップＢ５は、図７のステップＳ２に相当する。
【０１３２】
次に、ステップＢ６において、トラヒック偏り検出部４０２は、トラヒック偏り情報をトラヒック偏り情報保持部４０３に出力し、ステップＢ７において、トラヒック偏り情報保持部４０３は、トラヒック偏り情報を保持する。
【０１３３】
以上のステップＢ６〜Ｂ７は、図７のステップＳ３に相当する。
【０１３４】
図１３を参照すると、次に、ステップＢ８において、トラヒック偏り検出部４０２は、トラヒック偏り情報保持部４０３からトラヒック偏り情報を読み出して、ノードグルーパ４０４に渡し、ノードグルーパ４０４は、ステップＢ９において、トラヒック偏り情報を基に、Ｎ個のノード１０を、論理的に、Ｇ個のグループにグルーピングして、グループ構成の候補を作成し、ステップＢ１０において、作成したグループ構成の候補をセレクタ４０５に通知する。
【０１３５】
次に、ステップＢ１１において、セレクタ４０５は、ノードグルーパ４０４から通知されたグループ構成の候補を記憶し、ステップＢ１２において、その候補のグループ毎に、そのグループに属するノード１０を送信元ノードとするパスの要求ＴＳ数の和を算出し、さらに、その和に対して、分散値を算出する。
【０１３６】
次に、ステップＢ１３において、ノードグルーパ４０４は、グループ構成の全ての候補を作成したかを判定し、作成していれば、ステップＢ１４において、グループを選択するためのトリガをセレクタ４０５に与える。
【０１３７】
次に、ステップＢ１５において、セレクタ４０５は、ノードグルーパ４０４から通知されたグループ構成の全候補の中から、分散値が最小となる候補を選択する。
【０１３８】
以上のステップＢ８〜Ｂ１５は、図１０のステップＳ４に相当する。
【０１３９】
次に、ステップＢ１６において、セレクタ４０５は、上記で選択したグループ構成について、グループ毎に、そのグループに属するノード１０等を表すグループ構成テーブル４０６を作成し、ステップＢ１７において、メモリ（不図示）に記憶させる。
【０１４０】
以上のステップＢ１６〜Ｂ１７は、図１０のステップＳ５に相当する。
【０１４１】
図１４〜図１６に、スケジューラ４０の動作シーケンスのうち、図１３の動作の後に行われる動作シーケンスを示す。
【０１４２】
図１４を参照すると、次に、ステップＢ１８において、グループ構成テーブル４０６は、メモリから読み出され、グループ間帯域割当部４０７、グループ内（ノード間）帯域割当部４０９、テーブル変換部４１０、およびテーブル変換部４１４に出力される。
【０１４３】
次に、ステップＢ１９において、グループ間帯域割当部４０７は、各グループ間にＴＳを割り当てる（グループ間スケジューリング）。
【０１４４】
次に、ステップＢ２０において、グループ内（ノード間）帯域割当部４０９は、グループ内のノード１０間のパスにＴＳを割り当てる（グループ内スケジューリング）。
【０１４５】
このとき、グループの要求ＴＳ数は、グループ内（ノード間）帯域割当部４０９が算出し、グループ間帯域割当部４０７に通知しても良い。
【０１４６】
次に、ステップＢ２１において、グループ間帯域割当部４０７は、各グループ間のＴＳ割当結果を基に、各リンク２０の各ＴＳにおいて、どのグループ間のデータを流すかを表すリンクテーブル（グループ単位）４０８を作成し、ステップＢ２２において、メモリに記憶させる。
【０１４７】
次に、ステップＢ２３において、各リンクのリンクテーブル（グループ単位）４０８は、メモリから読み出され、テーブル変換部４１０およびテーブル換算部４１２に出力される。
【０１４８】
次に、ステップＢ２４において、グループ内（ノード間）帯域割当部４０９は、グループ内のノード１０間のパスのＴＳ割当結果をテーブル変換部４１０に出力し、ステップＢ２５において、テーブル変換部４１０は、各リンク２０のリンクテーブル（グループ単位）４０８を、グループ内（ノード間）帯域割当部４０９からのＴＳ割当結果を基に、各リンク２０の各ＴＳにおいて、どのパスのデータを流すかを表すリンクスケジュールテーブル４１１に変換する。
【０１４９】
図１５を参照すると、次に、ステップＢ２６，Ｂ２７において、テーブル変換部４１０は、各リンクのリンクスケジュールテーブル４１１をメモリに記憶させる。
【０１５０】
次に、ステップＢ２８において、各リンクのリンクスケジュールテーブル４１１は、メモリから読み出され、テーブル変換部４１４に出力される。
【０１５１】
次に、ステップＢ２９において、テーブル換算部４１２は、各リンク２０のリンクテーブル（グループ単位）４０８を基に、各グループの各ＴＳにおけるノード処理の内容（データ送信、方路切替等）を表すノードグループテーブル４１３を作成し、ステップＢ３０，Ｂ３１において、各グループのノードグループテーブル４１３をメモリに記憶させる。
【０１５２】
次に、ステップＢ３２において、各グループのノードグループテーブル４１３は、メモリから読み出され、テーブル変換部４１４に出力される。
【０１５３】
次に、ステップＢ３３において、テーブル変換部４１４は、グループのノードグループテーブル４１３を、各リンク２０のリンクスケジュールテーブル４１１を基に、各ノード１０の各ＴＳにおけるノード処理の内容（データ送信、方路切替等）を表すノードスケジュールテーブル４１５に変換する。
【０１５４】
図１６を参照すると、次に、ステップＢ３４，Ｂ３５において、テーブル変換部４１４は、各ノード１０のノードスケジュールテーブル４１５をメモリに記憶させる。
【０１５５】
次に、ステップＢ３６において、各ノード１０のノードスケジュールテーブル４１５は、メモリから読み出され、テーブルトランスミッタ４１６に出力される。
【０１５６】
その後、ステップＢ３７，Ｂ３８において、テーブルトランスミッタ４１６は、各ノード１０に対し、そのノードのノードスケジュールテーブル４１５を送信する。
【０１５７】
第１の実施形態においては、Ｎ個のノード１０のグルーピングを行うため、グループ間でのＴＳ割当の後に、段階的に、グループ内のノード間のパスのＴＳ割当を実行することができ、従来法と比較して、ＴＳ割当の計算時間を削減することができる。
【０１５８】
また、第１の実施形態においては、トラヒックの偏りを考慮して、Ｎ個のノード１０のグループ化を行うため、スケジュール長（要求トラヒックを転送するのに要する時間）の増加を抑制することができる。
（２）第２の実施形態
グルーピングを行う周期としては、各ノード１０から定期的にトラヒック量を集計する制御周期毎に、グルーピングを行うことが考えられる。
【０１５９】
この場合、適宜、トラヒックの偏りに応じて対応が可能であるが、その反面、毎回グルーピングを行うことになり、グルーピングの計算時間が必要になるため、毎回のスケジュール時間が増大してしまう。
【０１６０】
そこで、第２の実施形態においては、検出タイマを設けて、上記の制御周期の複数回に１度、グルーピングを行う。
【０１６１】
図１７に、第２の実施形態のスケジューラ４０の構成を示す。なお、図１７において、図２と同一の構成要素には同一の符号を付し、説明を省略する。
【０１６２】
図１７を参照すると、第２の実施形態のスケジューラ４０は、図２に示した第１の実施形態と比較して、検出タイマ４１８と、トラヒック量履歴保持部４１９と、平均値計算部４２０と、を追加した点が異なる。
【０１６３】
検出タイマ４１８は、カウントダウン動作を行う。なお、カウントの開始から完了までの時間は、交流トラヒック量集計部４０１が各ノード１０から定期的にトラヒック量を集計する制御周期よりも長くする。
【０１６４】
トラヒック量履歴保持部４１９は、交流トラヒック量集計部４０１が集計した、各パスが要求するトラヒック量の履歴を保持する。
【０１６５】
平均値計算部４２０は、検出タイマ４１８のタイムアウトを受けて、各パスが要求するトラヒック量の平均値を検出する。
【０１６６】
トラヒック偏り検出部４０２は、各パスが要求するトラヒック量の平均値を基に、ノードグルーパ４０４に対し、再度のグルーピングを指示する。
【０１６７】
図１８に、スケジューラ４０の全体の詳細動作を示す。なお、第２の実施形態のスケジューラ４０の詳細動作は、第１の実施形態と比較して、図７のステップＳ１，Ｓ２をステップＳ１−１，Ｓ２−１に置換した点のみが異なり、その他は同様である。
【０１６８】
図１８を参照すると、まず、ステップＳ１−１において、交流トラヒック量集計部４０１は、各ノードＡ〜Ｈから、定期的に、そのノードを送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計し、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。なお、ＴＳマトリクスは、トラヒック量履歴保持部４１９、グループ間帯域割当部４０７、グループ内（ノード間）帯域割当部４０９に出力され、これらで保持される。
【０１６９】
また、平均値計算部４２０は、検出タイマ４１８のタイムアウトを受けて、直近の所定数分のＴＳマトリクスの履歴を基に、平均ＴＳマトリクスを作成する。平均ＴＳマトリクスは、各ノード間の各パスが要求する要求ＴＳ数の平均値を表すもので、ノード数×ノード数の要素を持つ２次元配列である。なお、ＴＳマトリクスの履歴の使用方法としては、ｔ１〜ｔ１０，ｔ１１〜ｔ２０，ｔ２１〜ｔ３０，・・・という使用方法（＝ジャンピングウィンドウ方式）や、ｔ１〜ｔ１０，ｔ２〜ｔ１２，ｔ３〜ｔ１３，・・・という使用方法（＝ムービングウィンドウ方式）がある。また、平均ＴＳマトリクスは、トラヒック偏り検出部４０２に出力され、保持される。
【０１７０】
次に、ステップＳ２−１において、トラヒック偏り検出部４０２は、平均ＴＳマトリクスを基に、トラヒックの偏りを検出した場合は、ネットワーク内での各パスのトラヒックの偏り状態を示すトラヒック偏り情報を作成し、ノードグルーパ４０４に対し、再度のグルーピングを指示する。ここでは、ノードＡを送信元ノードとするパスのトラヒック量が多く、また、ノードＤ，Ｅ，Ｆを送信元ノードとしノードＡ，Ｂ，Ｃを宛先ノードとするパスのトラヒック量が少なくなっており、これを検出して再度のグルーピングを指示することになる。
【０１７１】
図１９に、スケジューラ４０の動作シーケンスを示す。なお、図１９は、第１の実施形態とは異なるステップＳ１−１，Ｓ２−１に相当する動作シーケンスを示している。
【０１７２】
図１９を参照すると、まず、ステップＣ１において、交流トラヒック量集計部４０１は、各ノード１０から、定期的に、そのノード１０を送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計する。
【０１７３】
次に、交流トラヒック量集計部４０１は、全てのノード１０からトラヒック量を集計した場合、ステップＣ２において、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換し、ＴＳマトリクスを、トラヒック量履歴保持部４１９、グループ間帯域割当部４０７、およびグループ内（ノード間）帯域割当部４０９に対して出力し保持させる。
【０１７４】
次に、ステップＣ３において、トラヒック量履歴保持部４１９は、ＴＳマトリクスの履歴を更新する。
【０１７５】
その一方で、ステップＣ４において、検出タイマ４１８は、カウントダウン動作を行っており、ステップＣ５において、カウントが完了すると、ステップＣ６において、平均値計算部４２０に対し、各パスの要求ＴＳ数の平均値の計算を指示し、その後、ステップＣ７において、リセットを行う。
【０１７６】
次に、ステップＣ８において、平均値計算部４２０は、検出タイマ４１８から上記の指示を受信すると、ステップＣ９において、トラヒック量履歴保持部４１９から直近の所定数分のＴＳマトリクスの履歴を読み出し、ステップＣ１０において、各パスの要求ＴＳ数の平均値を計算し、平均ＴＳマトリクスを作成し、ステップＣ１１において、平均ＴＳマトリクスをトラヒック偏り検出部４０２に渡す。
【０１７７】
以上のステップＣ１〜Ｃ１１は、図１８のステップＳ１−１に相当する。
【０１７８】
次に、ステップＣ１２において、トラヒック偏り検出部４０２は、平均ＴＳマトリクスを基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、ステップＣ１３において、ノードグルーパ４０４に対し、再度のグルーピングを指示する。
【０１７９】
以上のステップＣ１２〜Ｃ１３は、図１８のステップＳ２−１に相当する。
【０１８０】
なお、第２の実施形態においては、トラヒック偏り検出部４０２は、平均ＴＳマトリクスを基に、トラヒック偏り情報を作成し、そのトラヒック偏り情報をトラヒック偏り情報保持部４０３に保持させると共に、そのトラヒック偏り情報をノードグルーパ４０４に渡し、グルーピングを指示することになる。
【０１８１】
上述したように第２の実施形態においては、トラヒックの偏りが平均的に大きい場合にのみ、再度のグルーピングを行う。
【０１８２】
したがって、グルーピングの回数を減らすことができるため、スケジューリング時間をさらに削減することができる。
【０１８３】
その他の効果は第１の実施形態と同様である。
（３）第３の実施形態
グルーピングを行う周期としては、各ノード１０から定期的にトラヒック量を集計する制御周期毎に、グルーピングを行うことが考えられる。
【０１８４】
この場合、適宜、トラヒックの偏りに応じて対応が可能であるが、その反面、毎回グルーピングを行うことになり、グルーピングの計算時間が必要になるため、毎回のスケジュール時間が増大してしまう。
【０１８５】
そこで、第３の実施形態においては、トラヒック偏りに大きな変化があった時のみ、グルーピングを行う。
【０１８６】
図２０に、第３の実施形態のスケジューラ４０の構成を示す。なお、図２０において、図２と同一の構成要素には同一の符号を付し、説明を省略する。
【０１８７】
図２０を参照すると、第３の実施形態のスケジューラ４０は、図２に示した第１の実施形態と比較して、閾値判定部４２１を追加した点が異なる。
【０１８８】
閾値判定部４２１は、トラヒック偏り検出部４０２が新たにトラヒック偏り情報を作成した場合、新たなトラヒック偏り情報とトラヒック偏り情報保持部４０３に保持されている現在のトラヒック偏り情報との差分を閾値と比較し、その比較結果を基に、トラヒック偏り情報保持部４０３に保持されているトラヒック偏り情報を更新すると共に、ノードグルーパ４０４に対し、再度のグルーピングを指示する。
【０１８９】
図２１に、スケジューラ４０の全体の詳細動作を示す。なお、第３の実施形態のスケジューラ４０の詳細動作は、第１の実施形態と比較して、図７のステップＳ１，Ｓ２，Ｓ３をステップＳ１−２，Ｓ２−２，Ｓ３−２に置換した点のみが異なり、その他は同様である。
【０１９０】
図２１を参照すると、まず、ステップＳ１−２において、交流トラヒック量集計部４０１は、各ノードＡ〜Ｈから、定期的に、そのノードを送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計し、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。ＴＳマトリクスは、各ノード間の各パスが要求する要求ＴＳ数を表すもので、ノード数×ノード数の要素を持つ２次元配列である。ここでは、トラヒック量１０Ｍｂｐｓを１ＴＳに換算する。なお、ＴＳマトリクスは、トラヒック偏り検出部４０２、グループ間帯域割当部４０７、およびグループ内（ノード間）帯域割当部４０９に出力され、これらで保持される。
【０１９１】
次に、ステップＳ２−２において、トラヒック偏り検出部４０２は、ＴＳマトリクスを基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、トラヒックの偏り状態を示すトラヒック偏り情報を作成する。ここでは、ノードＡを送信元ノードとするパスのトラヒック量が多く、また、ノードＤ，Ｅ，Ｆを送信元ノードとしノードＡ，Ｂ，Ｃを宛先ノードとするパスのトラヒック量が少なくなっている。
【０１９２】
次に、ステップＳ３−２において、閾値判定部４２１は、トラヒック偏り検出部４０２が新たに作成したトラヒック偏り情報とトラヒック偏り情報保持部４０３に保持されている現在のトラヒック偏り情報との差分を閾値と比較し、その比較結果を基に、トラヒックの偏りに大きな変化があったと判定した場合は、トラヒック偏り情報保持部４０３に保持されているトラヒック偏り情報を更新すると共に、ノードグルーパ４０４に対し、再度のグルーピングを指示する。
【０１９３】
なお、閾値判定部４２１において、トラヒックの偏りに大きな変化があったと判定する方法としては、以下の方法が挙げられる。
１．偏り変動に関わるノード数
例えば、全ノード中の所定の割合（例えば、２５％）以上のノード（例えば、８ノード中の２ノード）で要求ＴＳ数が変化したら、トラヒックの偏りに大きな変化があったと判定する
２．偏り変動に関わるＴＳ数
例えば、要求ＴＳ数が所定数以上（例えば、５０ＴＳ以上）変化したノードがあれば（例えば、ノードＡの要求ＴＳ数が７１ＴＳ→２０ＴＳに変化）、トラヒックの偏りに大きな変化があったと判定する
３．１と２の事象が共に生じていれば、トラヒックの偏りに大きな変化があったと判定する
図２２に、スケジューラ４０の動作シーケンスを示す。なお、図２２は、第１の実施形態とは異なるステップＳ１−２，Ｓ２−２，Ｓ３−２に相当する動作シーケンスを示している。
【０１９４】
図２２を参照すると、まず、ステップＤ１において、交流トラヒック量集計部４０１は、各ノード１０から、定期的に、そのノード１０を送信元ノードとする各パスが要求する要求トラヒックのトラヒック量を集計する。
【０１９５】
次に、ステップＤ２において、交流トラヒック量集計部４０１は、全てのノード１０からトラヒック量を集計したか判定し、集計していれば、ステップＤ３において、トラヒック量を要求ＴＳ数に換算し、トラヒックマトリクスをＴＳマトリクスに変換する。
【０１９６】
次に、ステップＤ４において、交流トラヒック量集計部４０１は、ＴＳマトリクスを、トラヒック偏り検出部４０２、グループ間帯域割当部４０７、およびグループ内（ノード間）帯域割当部４０９に対して出力し保持させる。
【０１９７】
以上のステップＤ１〜Ｄ４は、図２１のステップＳ１−２に相当する。
【０１９８】
次に、ステップＤ５において、トラヒック偏り検出部４０２は、ＴＳマトリクスを基に、ネットワーク内での各パスのトラヒックの偏りを検出した場合、ステップＤ６において、新たにトラヒック偏り情報を生成し、閾値判定部４２１に出力する。
【０１９９】
以上のステップＤ５〜Ｄ６は、図２２のステップＳ２−２に相当する。
【０２００】
次に、ステップＤ７において、閾値判定部４２１は、トラヒック偏り情報保持部４０３から現在のトラヒック偏り情報を読み出し、ステップＤ８において、現在のトラヒック偏り情報と新たなトラヒック偏り情報との差分を閾値と比較し、その比較結果を基に、トラヒックの偏りに大きな変化があったか判定する。
【０２０１】
次に、トラヒックの偏りに大きな変化があった場合、ステップＤ９において、閾値判定部４２１は、トラヒック偏り情報保持部４０３に対し、その旨を通知し、ステップＤ１１において、トラヒック偏り情報保持部４０３のトラヒック偏り情報を更新する。また、ステップＤ１０において、ノードグルーパ４０４に対し、更新後のトラヒック偏り情報を渡し、再度のグルーピングを指示する。
【０２０２】
以上のステップＤ７〜Ｄ１１は、図２２のステップＳ３−２に相当する。
【０２０３】
上述したように第３の実施形態においては、トラヒックの偏りに大きな変化があった場合にのみ、再度のグルーピングを行う。
【０２０４】
したがって、グルーピングの回数を減らすことができるため、スケジューリング時間をさらに削減することができる。
【０２０５】
その他の効果は第１の実施形態と同様である。
（４）第４の実施形態
第４の実施形態においては、通信先（送信元ノードや宛先ノード）に限定がある場合に、これを考慮してグルーピングを行う。
【０２０６】
図２３に、第４の実施形態のスケジューラ４０の構成を示す。なお、図２３において、図２と同一の構成要素には同一の符号を付し、説明を省略する。
【０２０７】
図２３を参照すると、第４の実施形態のスケジューラ４０は、図２に示した第１の実施形態と比較して、上位ノード・下位ノード管理部４２２を追加した点が異なる。
【０２０８】
図２４および図２５に、第４の実施形態のスケジューラ４０の動作を示す。
【０２０９】
図２４を参照すると、例えば、ネットワークシステムが、Ｎ＝８とした単方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは１個（ファイバ多重や波長多重を行わない）であるものとする。また、ＴＳマトリクスに示すように、角丸四角形で囲った箇所にのみパスが存在するものとする。
【０２１０】
この場合、ネットワークシステムは、物理ネットワーク構成的には単方向リングとなるが、論理的には、ノードＸ，Ｙの組と、ノードＡ，Ｂ，Ｃ，Ｄ，・・・の組と、に分けて考えることができる。
【０２１１】
そこで、上記の２つの組のうち、ノードＸ，Ｙの組、すなわち通信先の数が多い方の組を上位ノード、ノードＡ，Ｂ，Ｃ，Ｄ，・・・の組、すなわち通信先の数が少ない方の組を下位ノードと呼ぶこととし、通信先が下位ノード数分であるノードを上位ノード、通信先が上位ノード数分であるノードを下位ノードと定義し、上位ノードと下位ノードとに分けて管理を行う。
【０２１２】
トラヒック偏り検出部４０２は、上述のように、ＴＳマトリクスを入力として、Ｎ個のノードｎの各々のｄｓｔ（ｎ）およびｓｒｃ（ｎ）：ｎ列目の０でない要素数を算出することが可能である。
【０２１３】
そのため、トラヒック偏り検出部４０２は、上位ノード数をＵ、下位ノード数をＬ（Ｕ＜Ｌ）とした時、ｄｓｔ（）＝ｓｒｃ（）＝Ｌであるノードを上位ノード、ｄｓｔ（）＝ｓｒｃ（）＝Ｕであるノードを下位ノードと判断することができる。
【０２１４】
そこで、トラヒック偏り検出部４０２は、通信先に限定がある場合は、上位ノードと下位ノードの情報を、上位ノード・下位ノード管理部４２２に通知し、上位ノード・下位ノード管理部４２２は、上位ノードと下位ノードの情報を保持する。
【０２１５】
ノードグルーパ４０４は、トラヒック偏り情報を基に通信先に限定がある場合は、トラヒック偏り情報および上位ノードと下位ノードの情報を基に、以下の基準に従って、ノードのグループ化を行う。
・上位ノードと下位ノードは同一グループに含まれない
・上位ノードをまたいだ下位ノード同士は同一グループに含まれない
・上位ノード同士はなるべく別のグループにする
→同一グループに入れる場合は、物理ネットワーク上で隣接するノードを優先し、物理的に離れたノード同士を同一グループにはしない
・下位ノード同士をグループ化する際は各グループの通信量（グループに属するノードを送信元ノードとするパスの要求ＴＳ数の和）がほぼ同程度とする
図２５を参照すると、この例では、ノードグルーパ４０４は、上位ノードＡ，Ｂを別のグループにし、下位ノード同士をグループ化している。
【０２１６】
これにより、グループ間帯域割当部４０７が各グループ間にＴＳを割り当てる際に、リング１周分のブロックの割り当てを行うことが回避される（効果１）。
【０２１７】
また、グループ間帯域割当部４０７が各グループ間にＴＳを割り当てる際に、上位ノードを送信元ノードとするブロックと宛先ノードとするブロックを同一のＴＳに割り当てることが可能となる（効果２）。
【０２１８】
また、グループ間帯域割当部４０７が各グループ間にＴＳを割り当てる際に、ブロックの高さを揃えることができる（効果３）。
【０２１９】
これにより、スケジュールテーブル上の空領域を削減することができる。
【０２２０】
図２６に、第４の実施形態の効果１，２，３の例を示す。
【０２２１】
図２６を参照すると、効果１により、ノードＡ→ノードＸなどのリング１周分のブロックの割り当てを行うことが回避される。
【０２２２】
また、効果２により、上位ノードＸを送信元ノードとするブロックと宛先ノードとするブロックを同一のＴＳに割り当てることが可能となる。
【０２２３】
また、効果３により、グループＧ１→Ｇ２とグループＧ３→Ｇ４のブロックの高さを揃えることができる。
【０２２４】
図２７に、第４の実施形態のスケジューラ４０の動作の具体例を示す。
【０２２５】
図２７を参照すると、例えば、ネットワークシステムが、Ｎ＝８とした単方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは１個（ファイバ多重や波長多重を行わない）であるものとする。また、リング上でノード番号が右回りまたは左回りに（図２７では、右回り）順に割り当てられているものとする。
【０２２６】
上記の前提の場合、上位ノードのノード番号Ｘ，Ｙから、物理ネットワーク上で、上位ノード間に存在する下位ノード数が算出できる（図２７では、上位ノードＸ→Ｙ間には２ノード、上位ノードＹ→Ｘ間には４ノード）。
【０２２７】
これらをもとに、ノードグルーパ４０４は、状況に応じたグルーピングを行う（図２７では、５グループにグルーピングする）。
【０２２８】
・上位ノードのみでグループを構成（図２７では、上位ノードＸでグループ上Ｇ１を構成し、上位ノードＹでグループ上Ｇ２を構成）
・下位ノードのグルーピングは、上位ノードをまたがず、隣接したノードをまとめ、その上で各グループの要求ＴＳ数の和が可能な限り均一となるようグルーピングする（図２７では、下位ノードＢとＣを同一グループとはせず、要求ＴＳ数が均一となるよう、下位ノードＡ，Ｂでグループ下Ｇ３を構成し、下位ノードＣ，Ｄでグループ下Ｇ４を構成し、下位ノードＥ，Ｅでグループ下Ｇ５を構成）
図２８に、スケジューラ４０の動作シーケンスを示す。なお、第４の実施形態のスケジューラ４０の詳細動作は、第１の実施形態と比較して、図７のステップＳ３をステップＳ３−３（不図示）に置換した点のみが異なり、その他は同様である。図２２は、第１の実施形態とは異なるステップＳ３−２に相当する動作シーケンスを中心に示している。
【０２２９】
図２８を参照すると、まず、図１２に示したステップＢ１〜Ｂ５と同様のステップＥ１〜Ｅ５の動作を行う。
【０２３０】
以上のステップＥ１〜Ｅ４は、図７のステップＳ１に相当し、ステップＥ５は、図７のステップＳ２に相当する。
【０２３１】
次に、ステップＥ６において、トラヒック偏り検出部４０２は、通信先（送信元ノードや宛先ノード）に限定がある場合、上位ノードと下位ノードの情報を、上位ノード・下位ノード管理部４２２に通知し、ステップＥ７において、上位ノード・下位ノード管理部４２２は、上位ノードと下位ノードの情報を保持する。この情報は、ステップＥ８において、ノードグルーパ４０４に読み出され、グルーピングに使用される。なお、この読み出しは、事前に行っても良く、グルーピングの際に行っても良い。
【０２３２】
次に、ステップＥ９において、トラヒック偏り検出部４０２は、トラヒック偏り情報をトラヒック偏り情報保持部４０３に出力し、ステップＥ１０において、トラヒック偏り情報保持部４０３は、トラヒック偏り情報を保持する。
【０２３３】
以上のステップＥ６〜Ｅ１０は、上述のステップＳ３−３に相当する。
【０２３４】
上述したように第４の実施形態においては、通信先に限定がある場合、これを考慮してグルーピングを行うことができる。
【０２３５】
その他の効果は第１の実施形態と同様である。
（５）第５の実施形態
上記の第１〜第４の実施形態においては、単一リングで波長数が１個（ファイバ多重や波長多重を行わない）の構成を前提としていた。
【０２３６】
これに対して、第５の実施形態においては、単一リングで波長数がＷ（Ｗは２以上の自然数）個の構成にも適用可能とする。
【０２３７】
ＷＤＭ（Wavelength Division Multiplex：波長分割多重）を用いて、各ファイバ上にＷ波を多重した場合、各リンク上でリンクスケジュールテーブルをＷ面持つこととなる。
【０２３８】
しかし、Ｗ面のリンクスケジュールテーブル上では、同一ノードが同一タイミングに送信元ノードとなることや宛先ノードとなることは許容されない。
【０２３９】
そこで、第５の実施形態のスケジューラ４０は、Ｗ面のリンクスケジュールテーブルを管理する管理機能を備える。
【０２４０】
図２９に、第５の実施形態のスケジューラ４０の構成を示す。なお、図２９において、図２と同一の構成要素には同一の符号を付し、説明を省略する。
【０２４１】
図２９を参照すると、第５の実施形態のスケジューラ４０は、図２示した第１の実施形態と比較して、リンクテーブル（グループ単位）４０８およびリンクスケジュールテーブル４１１をＷ面有する点と、波長間調整部４２３，４２４を追加した点と、が異なる。
【０２４２】
波長間調整部４２３は、Ｗ面のリンクスケジュールテーブル４１１上で、同一ノード１０が同一タイミングに送信元ノードとなったり宛先ノードとなったりしないように調整し、その調整結果をグループ内（ノード間）帯域割当部４０９にフィードバックする。
【０２４３】
波長間調整部４２４は、Ｗ面のリンクテーブル（グループ単位）４０８上で、同一ノード１０が同一タイミングに送信元ノードとなったり宛先ノードとなったりしないように調整し、その調整結果をグループ間帯域割当部４０７にフィードバックする。
【０２４４】
テーブル変換部４１４は、ノードスケジュールテーブル４１５を作成する際には、該当ノードを始点とするリンクのＷ面分のリンクスケジュールテーブル４１１と、終点とするリンクのＷ面分のリンクスケジュールテーブル４１１と、を比較することにより、該当ノードの各ＴＳにおけるノード処理の内容（データ送信、方路切替等）を決定する。
【０２４５】
上述したように第５の実施形態においては、単一リングで波長数がＷ個のネットワークシステムにも適用可能である。
【０２４６】
その他の効果は第１の実施形態と同様である。
（６）第６の実施形態
上記の第１〜第５の実施形態においては、ノードグルーパ４０４が、複数のノード１０を、事前に設定されたグループ数Ｇに論理的にグルーピングすることを前提としていた。
【０２４７】
このとき、ノードグルーパ４０４は、トラヒックの偏りに対応するために、各グループの要求ＴＳ数が均一になるようにグルーピングを行うが、各グループの要求ＴＳ数をほぼ均一にできない場合がある。
【０２４８】
そこで、第６の実施形態においては、各グループの要求ＴＳ数をほぼ均一にするために、グループ数Ｇを調整する機能を設ける。
【０２４９】
例えば、ノード数１００に対して、グループ数Ｇの事前設定が１０であったとする。
【０２５０】
ここで、グループ数Ｇ＝１０では、各グループの要求ＴＳ数の和の分散値（図１０参照）の最小値が１５０であったとする。
【０２５１】
これに対して、グループ数Ｇ＝８，９，１１，１２では、それぞれ分散値が１４０，１７０，９０，１３０にまで最小化できるのであれば、グループ数Ｇを、分散値が最小になる１１に調整して運用を行う。
【０２５２】
これにより、スケジュール長の増加をさらに抑制することが可能となる。
【０２５３】
図３０に、第６の実施形態のスケジューラ４０の構成の一部を示す。なお、図３０において、図２と同一の構成要素には同一の符号を付し、説明を省略する。
【０２５４】
図３０を参照すると、第６の実施形態のスケジューラ４０は、図２に示した第１の実施形態と比較して、グループ数調整部４２５を追加した点が異なる。また、図３０に示した構成要素以外は図２と同様である。
【０２５５】
グループ数調整部４２５は、例えば、事前に設定されたグループ数Ｇの±３０％の範囲内で４点の調整候補を抽出し、各調整候補のグループ数における分散値の最小値を、元のグループ数Ｇにおける分散値の最小値と比較し、分散値が最小になるグループ数に調整する。
【０２５６】
そのため、グループ数調整部４２５は以下の機能を備える。
・グループ数Ｇの調整候補を抽出する機能
・ノードグルーパ４０４に対し、５通りのグループ数（元のグループ数Ｇと、４つの調整候補のグループ数）を１つずつ通知して、グルーピングを指示する機能
・各グループ数における「分散値の最小値と、その際のグループ構成」を記憶する機能
・各グループ数における分散値の最小値を比較する機能
・分散値が最小になるグループ数におけるグループ毎に、そのグループに属するノード１０を表すノード構成テーブル４０６を作成し、メモリに記憶させる機能
上述したように第６の実施形態においては、グループ数を調整する機能を備えているため、スケジュール長の増加をさらに抑制することが可能となる。
【０２５７】
その他の効果は第１の実施形態と同様である。
【０２５８】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の要旨を逸脱しない範囲で当業者が理解し得る各種の変形が可能である。
【０２５９】
例えば、第１〜第６の実施形態においては、グループ間のスケジューリング（ＴＳ割当）の後に、段階的に、グループ内のスケジューリング（ＴＳ割当）を実行する例を説明したが、本発明は、スケジューリングの順番はこれに限定されず、グループ内のスケジューリングの後に、段階的に、グループ間のスケジューリングを実行しても良い。この場合でも、ＴＳ割当の計算時間を削減することができる。
【０２６０】
また、第１〜第６の実施形態は組み合わせて適用しても良い。
【０２６１】
また、本発明のスケジューラ４０にて行われる方法は、コンピュータに実行させるためのプログラムに適用しても良い。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
【符号の説明】
【０２６２】
１０    ノード
２０    リンク
３０    ホストコンピュータ
４０    スケジューラ
４０１    交流トラヒック量集計部
４０２    トラヒック偏り検出部
４０３    トラヒック偏り情報保持部
４０４    ノードグルーパ
４０５    セレクタ
４０６    グループ構成テーブル
４０７    グループ間帯域割当部
４０８    リンクテーブル（グループ単位）
４０９    グループ内（ノード間）帯域割当部
４１０    テーブル変換部
４１１    リンクスケジュールテーブル
４１２    テーブル換算部
４１３    ノードグループテーブル
４１４    テーブル変換部
４１５    ノードスケジュールテーブル
４１６    テーブルトランスミッタ
４１７    タイマ
４１８    検出タイマ
４１９    トラヒック量履歴保持部
４２０    平均値計算部
４２１    閾値判定部
４２２    上位ノード・下位ノード管理部
４２３，４２４    波長間調整部
４２５    グループ数調整部
【図２】
2014053770.tif 000003
【図３】
2014053770.tif 000004
【図６】
2014053770.tif 000005
【図８】
2014053770.tif 000006
【図９】
2014053770.tif 000007
【図１０】
2014053770.tif 000008
【図１２】
2014053770.tif 000009
【図１３】
2014053770.tif 000010
【図１４】
2014053770.tif 000011
【図１５】
2014053770.tif 000012
【図１６】
2014053770.tif 000013
【図１７】
2014053770.tif 000014
【図１９】
2014053770.tif 000015
【図２０】
2014053770.tif 000016
【図２２】
2014053770.tif 000017
【図２３】
2014053770.tif 000018
【図２８】
2014053770.tif 000019
【図２９】
2014053770.tif 000020
【図３０】
2014053770.tif 000021
【図３１】
2014053770.tif 000022
【図３２】
2014053770.tif 000023
【図３３】
2014053770.tif 000024
【図３４】
2014053770.tif 000025
【図１】
2014053770.tif 000026
【図４】
2014053770.tif 000027
【図５】
2014053770.tif 000028
【図７】
2014053770.tif 000029
【図１１】
2014053770.tif 000030
【図１８】
2014053770.tif 000031
【図２１】
2014053770.tif 000032
【図２４】
2014053770.tif 000033
【図２５】
2014053770.tif 000034
【図２６】
2014053770.tif 000035
【図２７】
2014053770.tif 000036
【図３５】
2014053770.tif 000037