(57)【特許請求の範囲】
【請求項１】
各々が１以上のスイッチノードを含む複数のグループによって構成されるネットワークにおいて前記グループごとに設けられ、当該グループに属する前記スイッチノードに関するスケジューリングを行うスレイブスケジューラであって、
メモリと、
当該スレイブスケジューラが属するグループを自グループとして該自グループの各スイッチノードから要求帯域情報を受け取って前記メモリに格納する受取手段と、
前記複数のグループに共通に設けられてグループを単位とするスケジュールであるグループ単位スケジュールを作成するマスタスケジューラに対し、前記メモリに格納された要求帯域情報に基づいて要求帯域量を報告する報告手段と、
前記メモリの内容を参照して、前記自グループの各スイッチノードを送信ノードとするスケジュールを生成する第１のローカルスケジュール演算を行うとともに、前記マスタスケジューラから受け取った前記グループ単位スケジュールを前記自グループの各スイッチノードを送信ノードとするスケジュールに展開する第２のローカルスケジュール演算を行い、前記第１及び第２のローカルスケジュール演算による前記スケジュールを前記メモリに格納する内部状態非依存スケジュール決定手段と、
前記マスタスケジューラから、前記ネットワーク内の全ての前記スイッチノードが要求する帯域を示す全ノード要求帯域表と前記グループ単位スケジュールとを受け取り、前記メモリの内容を参照して、前記自グループ以外のグループから送信されて前記自グループ内の前記スイッチノードを受信ノードとするスケジュールを計算して前記メモリに格納する他グループスケジュール演算手段と、
前記メモリを参照して前記自グループ内の前記スイッチノードごとのスケジュールを当該スイッチノードに通知する通知手段と、
を有するスレイブスケジューラ。
【請求項２】
各々が１以上のスイッチノードを含む複数のグループによって構成されたネットワークに設けられ、前記グループごとに設けられたスレイブスケジューラから当該グループについてのグループ集約化された要求帯域量を受け取ってグループを単位とするスケジュールであるグループ単位スケジュールを作成するマスタスケジューラであって、
前記グループ集約化された要求帯域量に基づいて前記グループ単位スケジュールを生成する手段と、
前記グループ集約化された要求帯域量に基づいて前記ネットワーク内の全ての前記スイッチノードが要求する帯域を示す全ノード要求帯域表を生成する手段と、
を備え、
前記グループ単位スケジュールと前記全ノード要求帯域表とを前記スレイブスケジューラに送信するマスタスケジューラ。
【請求項３】
各々が１以上のスイッチノードを含む複数のグループによって構成されるネットワークにおいて前記グループごとに設けられ、メモリを備えて当該グループに属する前記スイッチノードに関するスケジューリングを行うコンピュータを、
当該スレイブスケジューラが属するグループを自グループとして該自グループの各スイッチノードから要求帯域情報を受け取ってメモリに格納する受取手段、
前記複数のグループに共通に設けられてグループを単位とするスケジュールであるグループ単位スケジュールを作成するマスタスケジューラに対し、前記メモリに格納された要求帯域情報に基づいて要求帯域量を報告する報告手段、
前記メモリの内容を参照して、前記自グループの各スイッチノードを送信ノードとするスケジュールを生成する第１のローカルスケジュール演算を行うとともに、前記マスタスケジューラから受け取った前記グループ単位スケジュールを前記自グループの各スイッチノードを送信ノードとするスケジュールに展開する第２のローカルスケジュール演算を行い、前記第１及び第２のローカルスケジュール演算による前記スケジュールを前記メモリに格納する内部状態非依存スケジュール決定手段、
前記マスタスケジューラから、前記ネットワーク内の全ての前記スイッチノードが要求する帯域を示す全ノード要求帯域表と前記グループ単位スケジュールとを受け取り、前記メモリの内容を参照して、前記自グループ以外のグループから送信されて前記自グループ内の前記スイッチノードを受信ノードとするスケジュールを計算して前記メモリに格納する他グループスケジュール演算手段、
前記メモリを参照して前記自グループ内の前記スイッチノードごとのスケジュールを当該スイッチノードに通知する通知手段、
として機能させるプログラム。
【請求項４】
各々が１以上のスイッチノードを含む複数のグループによって構成されたネットワークに設けられ、前記グループごとに設けられたスレイブスケジューラから当該グループについてのグループ集約化された要求帯域量を受け取ってグループを単位とするスケジュールであるグループ単位スケジュールを作成するコンピュータを、
前記グループ集約化された要求帯域量に基づいて前記グループ単位スケジュールを生成する手段、
前記グループ集約化された要求帯域量に基づいて前記ネットワーク内の全ての前記スイッチノードが要求する帯域を示す全ノード要求帯域表を生成する手段、
前記グループ単位スケジュールと前記全ノード要求帯域表とを前記スレイブスケジューラに送信する手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファレス伝送を行う時分割多重（ＴＤＭ：Time-division Multiplex）ネットワークなどのネットワークにおける動的帯域割当（ＤＢＡ：Dynamic Bandwidth Allocation）に関し、特に、ＤＢＡの周期を短くする技術に関する。
【背景技術】
【０００２】
データを通信するネットワークとして、データをパケットに分割して転送するパケット通信ネットワークがある。パケット通信ネットワークの中継ノードでは、任意の時刻に受信ポートからデータをパケットの形態で受け取ってバッファリングし、送信ポートが空き次第、そのパケットを送出する。パケット通信ネットワークでは、送信時刻が指定されていないためバースト的なデータ到着が発生するので、それを吸収するために中継ノードには大容量のバッファメモリが必要となる。中継ノードにはルーチング機構も必要となる。
【０００３】
このようにパケット通信ネットワークは、広域で大量のデータを送受信するためには必ずしも適さないので、広域ネットワーク（ＷＡＮ：Wide Area Network）などではＴＤＭネットワークが広く用いられている。ＴＤＭネットワークでは、タイムスロットの形で送信時刻が予約されているため、中継ノードにおけるデータ入力周期と送出周期とが予測可能（例えば、一定周期）であり、そのためバースト的なデータ到着は発生しない。ＴＤＭネットワークの中継ノードにはルーチング機能が必要であるが、搭載されるバッファメモリの容量は必要最小限のものでよい。
【０００４】
ところで、中継ノードに設けられるバッファメモリは、高速動作が可能なものである必要があるので、多くの電力を消費する。また、ルーチングを行う際にもルーチングテーブルが必要となるが、ルーチングテーブルも高速かつ大容量のメモリを使用するから、これもまた多くの電力を消費する。ルーチング演算にも電力を消費する。ＴＤＭネットワークにおいてもその規模が大きくなるにつれ、中継ノード数も増大し、バッファリングやルーチングに費やされる電力が増大する。
【０００５】
ところで、非特許文献１には、ネットワーク全体で同期された転送スケジュールを用いることで、データの衝突を回避しつつ、目的の宛先へのルーチングを可能とする伝送方式が提案されている。非特許文献１に記載の技術によれば、中継ノードにおいて、バッファメモリと、ヘッダ情報に基づいたルーチング機能とを設ける必要がなくなるので、ネットワーク全体の省コスト化を実現することができる。
【０００６】
またＴＤＭネットワークであって、ネットワーク全体で同期されたＴＤＭ転送スケジュールを用いることによって、中継ノードにおけるバッファリングやルーチング機能を不必要にしたバッファレスＴＤＭネットワークが提案されている。バッファレスＴＤＭネットワークの中継ノードは、ネットワークにおける方路切り替えの機能（すなわちスイッチ機能）を有するＴＤＭスイッチノードであって、事前設定された方路切り替えスケジュールにしたがってスイッチ動作を行い、受信ポートから受け取ったデータを、方路切り替えスケジュールによって決定された送信ポートからそのまま出力する。。この方路切り替えスケジュールのことをＴＤＭ転送スケジュールと呼ぶ。バッファレスＴＤＭネットワークにおける衝突回避は、全ての中継ノードにおける衝突回避可能な送信時間帯を計算してそれをＴＤＭ転送スケジュールに反映させた上で、送信ノードがデータを出力することによって達成される。
【０００７】
図１（ａ）は、バッファレスＴＤＭネットワークの構成の一例を示している。ここでは、ＴＤＭスイッチノード９１としてノード１〜ノード５が設けられている。この例では、ノード１からノード３へのデータ伝送のために、時刻ｔ１が割り当てられており、このデータ伝送では、パケットは、ノード１→ノード２→ノード４→ノード３と送られる。同様に、ノード５からノード１へのデータ伝送のために、時刻ｔ４が割り当てられており、パケットは、ノード５→ノード４→ノード３→ノード２→ノード１と送られる。各時刻ごとに設定された送信許容時間の長さが、対応するノードに割り当てられた帯域幅に対応する。バッファレスＴＤＭネットワークでは、ネットワーク全体で同一のＴＤＭスケジュールを共有する必要があり、例えば、図１（ａ）の例に対応したＴＤＭスケジュールは、図１（ｂ）に示したものとなる。図１（ｂ）は、例として、送信ノードと受信ノードとの組み合わせごとに送信許可時刻が示されている。送信許可時刻は、どの時刻において送信が許可されるかを示すものである。
【０００８】
ノード間のトラヒック量は随時変動し得るものであるから、特許文献１に示されるように、ＴＤＭスケジュールを周期的に再計算してその結果を適用するというＤＢＡを実施することによって、時々刻々と変動するトラヒックをより少ないネットワーク資源で収容することができる。
【０００９】
ＤＢＡを実施するためには、ネットワークに対し、各ＴＤＭスイッチノードからの要求帯域情報を集約してＤＢＡを実行するＴＤＭスケジューラ（帯域制御装置）を設置する。図２に示した例では、ＴＤＭスイッチノード９１間がユーザデータ伝送用にデータプレーン９３により接続している場合に、要求帯域情報の集約用に、制御信号の通路となる制御信号プレーン９４を別途設けている。ＴＤＭスケジューラ９２は、制御信号プレーン９４を介し、必要な情報を収集し、決定したＴＤＭスケジュールを各ＴＤＭスイッチノード９１に配布する。データプレーン９３のことをユーザ情報プレーンとも呼ぶ。
【００１０】
ＤＢＡは、例えば、各送信ノードの要求帯域情報をＴＤＭスケジューラに集約する帯域情報集約（すなわちトラヒック情報収集）と、ＴＤＭスケジューラにおいてＴＤＭスケジュールを計算するスケジュール演算と、演算されたスケジュールを全ノードに通知してスケジュールを更新する新スケジュール配布とを逐次的に実行することによって実施される。図３は、ＤＢＡにおける各動作手順の流れを示している。トラヒック変動が発生したとして、トラヒック情報収集とスケジュール演算と新スケジュール配布とをこの順で実行することにより、ＤＢＡが完了する。ここで、トラヒック変動が発生してからそのトラヒック変動に対応したＴＤＭスケジュールが生成されて各ノードに設定されるまでの時間（トラヒック変動反応時間すなわち最短ＤＢＡ周期）は、最短でも、トラヒック情報収集とスケジュール演算と新スケジュール配布の各段階に要する時間の和となる。
【００１１】
図４は、ある１つの通信パス（送信ノードから受信ノードへのデータ流路）に対してＤＢＡを適用する場合の入力帯域幅（実際に送信ノードに流れ込むデータの帯域幅）、割当帯域幅及び出力帯域幅（送信ノードから受信ノードに実際に転送されるデータの帯域幅）の時間変化を示している。図において、ハッチングが施された部分が未使用帯域（その通信パスに割当てられているが、実際には使用されない帯域）となる。割当帯域幅は、ＤＢＡ周期ごとにしか変化しないので、ＤＢＡ周期が短いほど、ハッチング部分の面積すなわち、各時刻ごとの未使用帯域×時間で表される面積を小さくすることができ、帯域利用効率（＝実行スループット／割当帯域幅）が向上する。したがって、ＤＢＡ周期が短いほど、同量のトラヒックを収容する際に、総割当帯域幅（ネットワーク資源量）を削減できることになる。言い換えれば、ＤＢＡ周期が短いほど、帯域幅設定が頻繁に行えるため、柔軟な帯域割り当てスケジューリングが可能となり、少ない設備帯域量を有効活用できるようになる。
【００１２】
バッファレスＴＤＭネットワークにおいてＤＢＡを実現するためには、上述したように、ネットワークにＴＤＭスケジューラを配備する必要がある。このＴＤＭスケジューラの配備形態の一つとしては、ネットワーク内にただ１つのＴＤＭスケジューラを配備してＤＢＡを行うスケジューラ集中配備方式がある。図５はスケジューラ集中配備方式を模式的に示す図である。
【００１３】
ネットワーク内の複数のＴＤＭスイッチノード９１に対して、単一のＴＤＭスケジューラ９２が設けられており、ＴＤＭスケジューラ９２内には、各ノードごとのＴＤＭスケジュールを演算して決定するノード単位スケジュール決定部９６が設けられる。また、各ＴＤＭスイッチノード９１は、当該ＴＤＭスイッチノード９１でのスイッチ動作を制御するスイッチコントローラ９７を備えている。
【００１４】
スケジューラ集中配備方式では、まず、ＴＤＭスケジューラ９２が、各ＴＤＭスイッチノード９１からの帯域情報を集約し、次に、ノード単位スケジュール決定部９６においてスケジュール演算を行う。その後、ＴＤＭスケジューラ９２は、演算されたスケジュールを各ＴＤＭスイッチノード９１内のスイッチコントローラ９７に配布する。
【００１５】
このようなスケジューラ集中配備方式では、大規模なネットワーク（例えば、ノード数が１０００、地理的広がりが数百ｋｍ四方）を構成した場合、ノード数増加に伴ってスケジュール演算時間が爆発的に増大し、ＤＢＡ周期が長くなる、という課題が生ずる。そこで非特許文献２には、スケジューリングアルゴリズムを改良することによって演算コストを削減し、スケジュール演算時間を最小で１０ｍｓ前後にまで削減する方法が提案されている。しかしながらスケジューラ集中配備方式では、スケジュール演算時間を短縮しても、ネットワークの大規模化に伴って、ＴＤＭスイッチノード９１とＴＤＭスケジューラ９２の間の通信遅延が増大するという課題が残っている。通信遅延は、例えば、長さ２００ｋｍあたり１ｍｓであり、これは通信に用いる物理媒体の物理的性質に依拠するものであるから削減することは不可能である。通信遅延は、帯域情報集約とスケジュール配布の双方に要する時間を増大させるため、ＤＢＡ周期をこれらの和以下に短くすることはできない。
【００１６】
そこで、ノード群をいくつかのグループに分けてグループごとにスケジューラを設け各グループ内でのスケジューリングを行うとともに、複数のグループの相互間でのスケジューリングも行うことが提案されている。この方式は、複数のスケジューラで制御してＤＢＡを行うことから、スケジューラ分散配備方式と呼ばれる。図６（ａ）は、スケジューラ分散配備方式を説明する図である。
【００１７】
スケジューラ分散配備方式では、複数のＴＤＭスイッチノード９１を複数（図６に示した例では３個）のグループ９５にグループ分けする。グループ９５ごとにスレイブスケジューラ２０が設けられている。そして、これらのグループ９５を仮想的なノードとみなし、グループ間でのＴＤＭスケジュールを決定するマスタスケジューラ１０が設けられている。マスタスケジューラ１０は、グループ間を接続する仮想的なパスに対するＴＤＭスケジュール（グループ単位スケジュール）を決定するグループ単位スケジュール決定部１１を備えている。スレイブスケジューラ２０は、そのスレイブスケジューラ２０が設けられているグループ内のパスのスケジューリングを行うものであって、ノード単位でスケジュールを作成するノード単位スケジュール決定部２１を備えている。
【００１８】
マスタスケジューラ１０のグループ単位スケジュール決定部１１で決定されたグループ単位スケジュールは、スレイブスケジューラ２０に送られ、スレイブスケジューラ２０のノード単位スケジュール決定部２１は、受け取ったグループ単位スケジュールを当該グループに属するノード単位にそのスケジュールを分解してノード単位スケジュールとし、このノード単位スケジュールをそれぞれのＴＤＭスイッチングノード９１に通知する。
【００１９】
このような、グループ単位スケジュールを決定し、それに基づいてノード単位スケジュールを決定する処理をグローバルスケジューリングと呼ぶ。
【００２０】
また、スケジューラ分散配備方式においては、グループ単位スケジュールの変更に依存せずに、各グループのスレイブスケジューラ２０のノード単位スケジュール決定部２１のみを動作させ、当該グループに関連するノード単位スケジュールのみの更新を行うこともできる。このようなノード単位スケジュールのみの更新を伴うスケジューリングをローカルスケジューリングと呼ぶ。
【００２１】
図６（ｂ）に示すように、ノードグループの地理的近傍に、そのノードグループに対応するスレイブスケジューラ２０を配備することで、スレイブスケジューラ２０と各ＴＤＭスイッチノード９１との間の通信遅延を小さくすることができて、ノード単位スケジュール更新時の帯域情報集約及びスケジュール配布時間を削減することができる。これにより、ローカルスケジューリングの実行周期をグローバルスケジューリングに比べてさらに高頻度とすることができる。ローカルスケジューリングのみの高頻度化によっても、総ネットワーク資源削減の効果は生ずる。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００３−８７２８３号公報
【非特許文献】
【００２３】
【非特許文献１】栗田敏彦ら、“ネットワークの省電力化を実現するパケット伝送スケジューリング”、信学技報、NS2009-259、第109巻第448号、第543〜548頁、（２０１０年３月）
【非特許文献２】中川雅彦ら、“光Ｌ２スイッチネットワークにおける階層化スケジューリング方式の提案”、信学技報、NS2012-77、第112巻第208号、第141〜146頁（２０１２年９月）
【発明の概要】
【発明が解決しようとする課題】
【００２４】
しかしながら、スケジューラ分散配備方式においてグローバルスケジューリングを実行する際には、その時点までに各グループごとに計算したノード単位スケジュールについて、グループ間で整合を取る必要がある。これは、グループをまたいで行われる通信に関してグループ間でスケジュールに矛盾が生じないようにするためである。
【００２５】
また、ノード単位スケジュールの整合は、図６（ｂ）に示すように、グループ間で計算結果を共有するためのメモリ（スケジュール共有メモリ１２）を例えばマスタスケジューラ１０内に設けることによって実現できる。しかしながらマスタスケジューラ１０内にスケジュール共有メモリ１２を設けた場合、グローバルスケジューリング中にスレイブスケジューラ２０からのスケジュール共有メモリ１２へのアクセスが複数回発生する。ローカルスケジューリングの周期を短くするためにスレイブスケジューラ２０を対応するグループの地理的近傍に設けた場合、マスタスケジューラ１０とスレイブスケジューラ２０との距離が長くなりがちであるので、スケジュール共有メモリ１２に対するアクセスが遅延しがちであり、アクセスが複数回発生することもあって、グローバルスケジューリングの速度が低下する。
【００２６】
結局、スケジューラ分散配備方式では、ローカルスケジューリングの高頻度化を達成することはできるが、グローバルスケジューリングを低頻度でしか行うことができない、という課題がある。
【００２７】
本発明の目的は、スケジューラ分散配備方式によりネットワークにおける動的帯域割当を行う際に、グローバルスケジューリングの頻度をスケジューラ集中配備方式における一括スケジューリングと同等のものとすることとローカルスケジューリングの高速化とを両立させることができるスレイブスケジューラ及びマスタスケジューラを提供することにある。
【課題を解決するための手段】
【００２８】
本発明のスレイブスケジューラは、各々が１以上のスイッチノードを含む複数のグループによって構成されるネットワークにおいてグループごとに設けられ、そのグループに属するスイッチノードに関するスケジューリングを行うスレイブスケジューラであって、メモリと、そのスレイブスケジューラが属するグループを自グループとして自グループの各スイッチノードから要求帯域情報を受け取ってメモリに格納する受取手段と、複数のグループに共通に設けられてグループを単位とするスケジュールであるグループ単位スケジュールを作成するマスタスケジューラに対し、メモリに格納された要求帯域情報に基づいて要求帯域量を報告する報告手段と、メモリの内容を参照して、自グループの各スイッチノードを送信ノードとするスケジュールを生成する第１のローカルスケジュール演算を行うとともに、マスタスケジューラから受け取ったグループ単位スケジュールを自グループの各スイッチノードを送信ノードとするスケジュールに展開する第２のローカルスケジュール演算を行い、第１及び第２のローカルスケジュール演算によるスケジュールをメモリに格納する内部状態非依存スケジュール決定手段と、マスタスケジューラから、ネットワーク内の全てのスイッチノードが要求する帯域を示す全ノード要求帯域表とグループ単位スケジュールとを受け取り、メモリの内容を参照して、自グループ以外のグループから送信されて自グループ内のスイッチノードを受信ノードとするスケジュールを計算してメモリに格納する他グループスケジュール演算手段と、メモリを参照して自グループ内のスイッチノードごとのスケジュールをそのスイッチノードに通知する通知手段と、を有する。
【００２９】
本発明のマスタスケジューラは、各々が１以上のスイッチノードを含む複数のグループによって構成されたネットワークに設けられ、グループごとに設けられたスレイブスケジューラからそのグループについてのグループ集約化された要求帯域量を受け取ってグループを単位とするスケジュールであるグループ単位スケジュールを作成するマスタスケジューラであって、グループ集約化された要求帯域量に基づいてグループ単位スケジュールを生成する手段と、グループ集約化された要求帯域量に基づいてネットワーク内の全てのスイッチノードが要求する帯域を示す全ノード要求帯域表を生成する手段と、を備え、グループ単位スケジュールと全ノード要求帯域表とをスレイブスケジューラに送信する。
【００３０】
本発明では、従来のスケジューラ分散配備方式においてはマスタスケジューラに設けられていたスケジュール共有メモリの代わりに、各グループに設けられるスレイブスケジューラのメモリをスケジュール共有メモリとして使用する。各スレイブスケジューラのメモリに格納されたスケジュールがグループ間で整合するように、マスタスケジューラからは、グループ単位スケジュールのほかに全ノード要求帯域表をスレイブスケジューラに送信する。またこの整合のために、スレイブスケジューラには、自グループ内の各スイッチノードを送信ノードとするローカルスケジュールの演算を行う内部状態非依存スケジュール決定手段のほかに、全ノード要求帯域表とグループ単位スケジュールとに基づいて、他グループから送信されて自グループ内のスイッチノードを受信ノードとするスケジュールを計算する他グループスケジュール演算手段と、を設ける。スケジュールをグループ間で整合させるために、各グループのスレイブスケジューラに設けられる内部状態非依存スケジュール決定手段は、例えば、計算結果が内部状態に依存しないアルゴリズムであってグループ間で共通のアルゴリズムによって第１及び第２のローカルスケジュール演算を実行し、他グループスケジュール演算手段は、例えば、内部状態非依存スケジュール決定手段におけるものと同じアルゴリズムで演算を行う。
【発明の効果】
【００３１】
本発明では、各グループのスレイブスケジューラにおいて、当該グループでのスケジュールだけでなく他グループに関するスケジュールも演算してそのスレイブスケジューラのメモリに格納するので、グローバルスケジューリングごとのマスタスケジューラとスレイブスケジューラの間のアクセス回数を１回とすることができてグローバルスケジューリングに要する時間を短縮できる。したがって、ローカルスケジューリングを高頻度に実行しつつ、グローバルスケジューリングの高速化も達成できて、最小ＤＢＡ周期を小さくでき、帯域利用効率を向上させることができる。
【図面の簡単な説明】
【００３２】
【図１】（ａ）はバッファレスＴＤＭネットワークの構成の一例を示す模式図であり、（ｂ）は網全体で共有されるＴＤＭスケジュールの一例を示す図である。
【図２】データプレーンと制御信号プレーンとを分けたＴＤＭネットワークの構成の一例を示す図である。
【図３】ＤＢＡ（動的帯域割当）における各動作手順の流れを示す図である。
【図４】ＤＢＡを行ったときの入力帯域幅、割当帯域幅及び出力帯域幅と未使用帯域との関係を説明する図である。
【図５】スケジューラ集中配備方式を説明する図である。
【図６】（ａ）はスケジューラ分散配備方式を説明する図であり、（ｂ）はスケジューラ分散配備方式における遅延を説明する図である。
【図７】本発明の実施の一形態のバッファレスＴＤＭネットワークにおけるマスタスケジューラとスレイブスケジューラとの関係を示す図である。
【図８】（ａ）はリング２段ネットワークの構成の一例を示す図であり、（ｂ）は（ａ）に示したネットワークの論理構造を示す図である。
【図９】（ａ）はマスタスケジューラ、スレイブスケジューラ及びノード間の階層構成を示す図であり、（ｂ）は下位リングの構成の一例を示す図である。
【図１０】マスタスケジューラの構成の一例を示すブロック図である。
【図１１】スレイブスケジューラの構成の一例を示すブロック図である。
【図１２】（ａ）はローカルスケジューリングにおけるタイムアウトの発生時の動作を説明するシーケンス図であり、（ｂ）はローカルスケジューリングにおけるグループ内スケジュール保持メモリへのデータ書込みを説明する図である。
【図１３】（ａ）はローカルスケジューリングを説明するシーケンス図であり、（ｂ）はローカルスケジューリングにおけるネットワーク内の制御情報の流れを説明する図である。
【図１４】マスタスケジューラ及びスレイブスケジューラ内の動作を経時的に説明するための図である。
【図１５】グローバルスケジューリングにおけるネットワーク内の制御情報の流れを説明する図である。
【図１６】グローバルスケジューリングを説明するシーケンス図である。
【図１７】他グループスケジュール演算部の処理を説明する図である。
【発明を実施するための形態】
【００３３】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００３４】
本発明の実施の一形態のバッファレスＴＤＭネットワークは、スケジューラ分散配備方式によってＤＢＡ（動的帯域割当）を実行する。したがって図６に示したものと同様に、ネットワーク内の複数のＴＤＭスイッチノードが複数のグループに分けられているとともに、グループごとにスレイブスケジューラが設けられ、さらに、全グループを束ねるものとして１つのマスタスケジューラが設けられている。
【００３５】
スケジューラ分散配備方式では、各グループごとに計算したノード単位スケジュールをグループ間で整合し計算結果を共有してグローバルスケジューリングを行うためにスケジュール共有メモリが設けられるが、本実施形態では、図７に示すように、各スレイブスケジューラ２０ごとにスケジュール共有メモリ２２を設ける。図７は本実施形態のバッファレスＴＤＭネットワークにおけるマスタスケジューラ１０とスレイブスケジューラ２０との関係を示している。スレイブスケジューラ２０ごとすなわちグループごとのスケジュール共有メモリ２２は、好ましくは同一の容量を有する。
【００３６】
スレイブスケジューラ２０ごとにスケジュール共有メモリ２２を設ける場合、グループ間でスケジューリング結果を共有するというその目的から、各スケジュール共有メモリ２２に格納されているスケジュールが整合している必要がある。そこで本実施形態では、各グループのスレイブスケジューラ２０において、当該グループにおけるノードごとのスケジュール（すなわちローカルスケジュール）を演算するものとして、計算結果が内部状態に依存しないアルゴリズムを用いる内部状態非依存スケジュール決定部５５を設けている。また、グループ間での整合を図るために、各グループのスレイブスケジューラ２０は、そのスレイブスケジューラのグループ（これを着目グループと呼ぶ）以外のグループに設けられたスレイブスケジューラの内部状態非依存スケジュール決定部が演算するであろうスケジュールのうち、着目グループのスケジュール決定に必要なデータを算出する他グループスケジュール演算部５６も備えている。内部状態非依存スケジュール決定部５５で計算されたローカルスケジュールは、そのグループのＴＤＭスイッチノード９１内のスイッチコントローラ９７に送られる。
【００３７】
ここで計算結果が内部状態に依存しないとは、スレイブスケジューラ２０の内部状態に依存することなく、一意に結果が得られることを意味する。計算結果が内部状態に依存しないスケジュール演算アルゴリズムの例としては、例えば、ノードＩＤ順に、空いているタイムスロットから順にパスを割り当てるという、Ｆｉｒｓｔ  Ｆｉｔ法がある。また、ランダム成分に演算に際して同一のシードを用いる擬似乱数を用いる方法の多くも、計算結果が内部状態に依存しないスケジュール演算アルゴリズムとして用いることができる。
【００３８】
本実施形態では、計算状態が内部状態に依存しないスケジュール演算アルゴリズムを用いてローカルスケジュールを演算することにより、グループ間でのスケジュール演算結果の整合が保証され、スケジュール共有メモリ２２をスレイブスケジューラ２０に配置することが可能になる。
【００３９】
図７に示した構成において、スレイブスケジューラ２０とＴＤＭスイッチノード９１との間の通信遅延は、グループの地理的近傍にスレイブスケジューラ２０を配置できるので、スケジューラ集中配備方式におけるスケジューラとＴＤＭスイッチノードとの間の通信遅延よりも小さくなり、ローカルスケジューリングの周期をスケジューラ集中配備方式でのＤＢＡ周期よりも十分に小さくできる。また、グローバルスケジューリングの際のマスタスケジューラ１０とスレイブスケジューラ２０との間の通信回数は、たかだか１回に抑えることができ、本実施形態におけるグローバルスケジューリングの速度は、スケジューラ集中配備方式での一括スケジューリング速度と同等のものとすることができる。したがって、本実施形態では、ローカルスケジューリングの高速化及び高頻度化と、スケジューラ集中配備方式と同等のグローバルスケジューリング速度とすることとを同時に達成でき、従来のスケジューラ分散配備方式に比べて最小ＤＢＡ周期を短くすることができる。
【００４０】
以下、本実施形態でのマスタスケジューラ１０及びスレイブスケジューラ２０について、さらに詳しく説明する。ここでは、バッファレスＴＤＭネットワークが図８（ａ）に示すようにリング２段ネットワークとして構成されているものとする。図８（ａ）に示すネットワークでは、いずれもＴＤＭスイッチノードである複数の端点ノード３０が設けられており、これらの端点ノード３０は、Ａ−１〜Ａ−４と記されて下位リングＡに接続する端点ノード３０からなる下位リングＡノードグループ、Ｂ−１〜Ｂ−４と記されて下位リングＢに接続する端点ノード３０からなる下位リングＢノードグループ、及び、Ｃ−１〜Ｃ−４と記されて下位リングＣに接続する端点ノード３０からなる下位リングＣノードグループにグループ分けされている。各ノードグループにはスレイブスケジューラ２０が設けられている。また、下位リングＡ〜Ｃを収容する上位リングが設けられている。下位リングと上位リングの間は、バッファを廃したＴＤＭスイッチノード（ここではＡ−１、Ｂ−１、Ｃ−１）によって接続されているものとする。下位リングＡノードグループには、上位リングに対応してグループ間のスケジューリングを行うマスタスケジューラ１０も設けられている。下位リングＡ〜Ｃ及び上位リングの各々はユーザ情報プレーンと制御信号プレーンを備えている。ネットワークの各ノード間では、周波数同期、時刻同期が確立しているものとする。図８（ａ）に示される各端点ノード３０は、論理的には、図８（ｂ）に示されるように、フルメッシュネットワーク３４に対してスター状に接続しており、ノード間は論理的には全ノードへの到達性を有するものとする。
【００４１】
ここでは、説明の簡単化のために、２段のリングネットワークを想定し、同一のリングに属するノードをグループとしているが、本発明は、任意のトポロジのネットワークにおいて、２階層以上の多階層的なノードのグルーピングを行った場合にも適用できる。ｎ階層（ｎは２以上の整数）でノードのグルーピングを行う場合には、マスタスケジューラ⇒第１階層のスレイブスケジューラ⇒第２階層のスレイブスケジューラ⇒…⇒第ｎ階層のスレイブスケジューラ⇒ノードと接続する。この場合、スレイブスケジューラの内部構成は変更する必要はないが、中間階層のスレイブスケジューラ（第１から第（ｎ−１）階層のスレイブスケジューラ）では、下位階層でのグループをノードとみなすようにしてスケジュール演算を実行する。例えば、マスタスケジューラは第０階層のスケジューラであると考えると、第（ｋ−１）階層のスケジューラは、ｋ階層目のグループをノードと見なして計算した第ｋ階層グループ間スケジュールを生成して第ｋ階層のスレイブスケジューラに渡し、第ｋ階層のスレイブスケジューラは、受け取った第ｋ階層グループ間スケジュールに基づいて、第（ｋ＋１）階層のグループ分けをノードと見なしてスケジュールを計算し、第（ｋ＋１）階層スケジューラに渡す。ｋ＝ｎのときはノードに渡す。
【００４２】
また本発明は、ＴＤＭ以外の多重化技術（例えば、光通信システムにおける波長分割多重（ＷＤＭ：Wavelength-Division Multiplex）技術など）を同時に用いる場合であっても適用することができる。
【００４３】
図９（ａ）は、ここで示した例におけるマスタスケジューラ、スレイブスケジューラ及び端点ノード間の階層構成を示している。単一のマスタスケジューラ１０の配下に複数のスレイブスケジューラ２０が設けられ、各スレイブスケジューラ２０には、それぞれ複数の端点ノード３０が収容されている。また図９（ｂ）は、下位ノードの構成の一例を示している。ここでは下位リングＡノードグループの構成が示されているが、他の下位リングノードグループの構成も同様のものである。ラベルＡ−１〜Ａ−４によってそれぞれ示される各端点ノード３０には、ユーザデータを送受信するホストコンピュータ３３が接続している。ノードグループ近傍にはそのノードグループに対するスレイブスケジューラ２０が設けられており、このスレイブスケジューラ２０に対して各端点ノード３０は制御信号プレーンによってアクセス可能である。下位リングＡノードグループは、マスタスケジューラ１０を備えるノードグループであるので、図９（ａ）にはマスタスケジューラ１０も描かれている。マスタスケジューラ１０と各ノードグループのスレイブスケジューラ２０とは、制御信号プレーンを介してアクセス可能である。
【００４４】
各端点ノード３０は、ＴＤＭ送受信部３１とトラヒック情報報告部３２とを備えた通信ノードに自走クロックとクロック同期機能とを備えたＴＤＭスイッチノードである。ＴＤＭ送受信部３１は、それぞれホストコンピュータ３３が接続されており、ユーザ情報プレーンを介して他ノードとの間で時分割多重方式によってユーザデータのやりとりを行う。一方、トラヒック情報報告部３２は、制御信号プレーンを介し、帯域要求情報などをスレイブスケジューラ２０に送り、スレイブスケジューラ２０から当該ノードのスケジュールを受け取ってこのスケジュールに応じたスイッチ制御をＴＤＭ送受信部３１に実行させる。
【００４５】
次に、マスタスケジューラ１０の詳細について説明する。マスタスケジューラ１０は、グループ集約化された要求帯域量を各スレイブスケジューラ２０から受け取ってグループ単位スケジュールを計算し、グループ単位スケジュールを出力して各スレイブスケジューラ２０に送信するものである。ここでグループ集約化された要求帯域量とは、グループを仮想的なノードとみなした要求帯域情報のことである。また、グループ単位スケジュールは、グループを仮想的なノードとみなしたスケジュール情報である。また、各スレイブスケジューラ２０内の他グループスケジュール演算部を動作させるため、マスタスケジューラ１０は、全ノードの要求帯域表を同時に各スレイブスケジューラ２０に通知する機能も備える。
【００４６】
このような機能を備えるマスタスケジューラ１０は、図１０に示すように、報告フレーム数カウンタ４１とグループ単位スケジュール保持メモリ４２とネットワークトポロジ情報データベース（ＤＢ）４３とグループ単位スケジュール演算部４４と全ノード要求単位表通知フレーム作成部４５とグループ単位スケジュール通知フレーム作成部とを備えている。なお、図７では、これらの機能ブロックをまとめてグループ単位スケジュール決定部１１として表示している。
【００４７】
報告フレーム数カウンタ４１は、スレイブスケジューラ２０から報告されてくるグループ化された要求帯域量のフレームの数をカウントし、所定値に達したら、スケジューリングの演算処理を開始するために、スケジューリング開始トリガを発生する。
【００４８】
グループ単位スケジュール保持メモリ４２は、グループ単位スケジュール作成のための作業メモリとなるものであり、送信グループと受信グループ（ここでは下位リングとグループとを一致させているので、送信リングと受信リング）との組み合わせごとに、要求された帯域量（要求帯域）、スケジューリングの結果割り当てた帯域量（割当帯域）、ＷＤＭ技術が使用されているとしてスケジューリングの結果割り当てた波長（送信波長）、スケジューリングの結果割り当てたタイムスロットの開始時刻（送信時刻）、スケジューリングの結果割り当てたタイムスロットの長さ（継続時間）を格納するようになっている。特に、グループ単位スケジュール保持メモリ４２の「要求帯域」には、グループ集約化された要求帯域量を受け取るごとに、対応する値が書き込まれる。
【００４９】
ネットワークトポロジ情報データベース４３は、ネットワークのトポロジに関する情報が予め格納されたデータベースである。
【００５０】
グループ単位スケジュール演算部４４は、スケジューリング開始トリガを受け取ると、グループ単位スケジュール保持メモリ４２の内容とネットワークトポロジ情報データベース４３とを参照して、グループ単位スケジューリングの演算を開始し、得られたグループ単位スケジュール（すなわち「割当帯域」、「送信波長」、「送信時刻」及び「継続時間」の組）をグループ単位スケジュール保持メモリ４２に書き込む。スケジューリングが終了すれば、グループ単位スケジュール演算部４４は、スケジューリング完了トリガを出力する。
【００５１】
全ノード要求帯域表通知フレーム作成部４５は、スケジューリング完了トリガが発生したときに、グループ単位スケジュール保持メモリ４２にアクセスして、全ノードの要求帯域表を示す全ノード要求帯域表通知フレームを作成し、このフレームをスレイブスケジューラ２０に送信する。同様に、グループ単位スケジュール通知フレーム作成部４６は、スケジューリング完了トリガが発生したときに、グループ単位スケジュール保持メモリ４２にアクセスしてグループ単位スケジュールを読み出し、グループ単位スケジュールを示す通知フレームを作成し、このフレームをスレイブスケジューラ２０に送信する。なお、以下の説明において、グループ単位スケジュールと全ノード要求帯域表とを合わせてグローバルスケジュールと呼ぶ。また、マスタスケジューラ１０からスレイブスケジューラ２０には、グローバルスケジュールとともに、スレイブスケジューラ用のスケジューリング開始トリガが送られるようになっている。
【００５２】
図１１は、スレイブスケジューラ２０の構成を示している。スレイブスケジューラ２０は、トラヒック情報収集とスケジューリング配布との２つの動作ステートで動作するものであって、トラヒック情報収集（図示左側の上向き矢印のルート）では、各端点ノード３０から入力された要求帯域情報をグループごとに集約してマスタスケジューラ１０に出力し、一方、スケジューリング配布（図示右側の下向き矢印のルート）では、マスタスケジューラ１０から入力したグループ単位スケジュールをノード単位スケジュールに詳細化して端点ノード３０に出力する。このようなスレイブスケジューラ２０は、詳細には、図７を用いて説明した内部状態非依存スケジュール決定部５５及び他グループスケジュール演算部５６の他に、要求帯域情報受取部５１とグループ単位要求帯域集約・報告フレーム作成部５２とグループ内スケジュール保持メモリ５３とネットワークトポロジ情報データベース（ＤＢ）５４とノード単位スケジュール通知フレーム作成部５７とを備えている。ここでグループ内スケジュール保持メモリ５３は、上述したスケジュール共有メモリ２２に相当するものであるとともに、ノード単位スケジュール作成のための作業メモリとなるものである。
【００５３】
図においてグループ内スケジュール保持メモリ５３内に記された［１］、［２］などの番号は、ノードの番号を示している。グループ内スケジュール保持メモリ５３は、ネットワークを構成する全ノードを対象として、送信ノードと受信ノードの組み合わせごとに、グループ単位スケジュール保持メモリ４２の場合と同様に、「要求帯域」、「割当帯域」、「送信波長」、「送信時刻」及び「継続時間」を保持する。
【００５４】
要求帯域情報受取部５１は、端点ノード３０から要求帯域量を表す情報（要求帯域情報）を受け取り、これに基づいてグループ内スケジュール保持メモリ５３内の「要求帯域」に値を格納する。また要求帯域情報受取部５１は、配下の端点ノード３０から帯域要求情報が出揃ったときに、集約報告作成トリガを発生する。
【００５５】
グループ単位要求帯域集約・報告フレーム作成部５２は、集約報告作成トリガに応じてグループ内スケジュール保持メモリ５３にアクセスしてグループ単位に集約した要求帯域量を算出し、これをグループ集約化された要求帯域量としてこの集約化された要求帯域量を報告するフレームを作成し、マスタスケジューラ１０に送信する。
【００５６】
ネットワークトポロジ情報データベース５４は、ネットワークのトポロジに関する情報が予め格納されたデータベースである。
【００５７】
内部状態非依存スケジュール決定部５５は、マスタスケジューラ１０からグローバルスケジュールとスケジューリング開始トリガとが入力すると、グループ内スケジュール保持メモリ５３の内容とネットワークトポロジ情報データベース５４とを参照して、グローバルスケジュールのうちのグループ単位スケジュールをノード単位スケジュールに展開し、結果をグループ内スケジュール保持メモリ５３に書き込む。また内部状態非依存スケジュール決定部５５は、マスタスケジューラ１０からのグループ単位スケジュールの入力がないときであっても、ネットワークトポロジ情報データベース５４とグループ内スケジュール保持メモリ５３を参照してローカルスケジューリングを実行し、結果をグループ内スケジュール保持メモリ５３に書き込む。
【００５８】
他グループスケジュール演算部５６は、マスタスケジューラ１０からグローバルスケジュールとスケジューリング開始トリガとが入力すると、ネットワークトポロジ情報データベース５４を参照して、他グループから自グループへの送信のスケジュールを計算し、その結果をグループ内スケジュール保持メモリ５３に書き込む。
【００５９】
ノード単位スケジュール通知フレーム５７は、グループ内スケジュール保持メモリ５３にアクセスして、配下のノードごとのスケジュールを作成してそれを通知するフレームを作成し、各端点ノード３０に送信する。
【００６０】
上述したように、スレイブスケジューラ２０は、マスタスケジューラ１０からのグループ単位スケジュールの入力がなくても、単独でローカルスケジューリングを行う機能を有する。この機能自体は、従来のスケジューラ分散配備方式におけるスレイブスケジューラに備えられるものであるが、ここで、障害があった場合であってもローカルスケジューリングを行えることを説明する。
【００６１】
図１２（ａ）に示すタイムシーケンスにおいて、スレイブスケジューラ２０は、配下の端点ノード３０からの帯域要求量に関する報告を待ち、全ての報告が揃ったことをトリガとしてローカルスケジュールの演算を開始する。しかしながら、障害によって一部のノードからの報告がスレイブスケジューラ２０に不着となることがある。そのような場合に備えてタイムアウト時間が設定されており、現行のスケジュールからタイムアウト時間が経過すると（図示、スケジューラ側タイムアウト時刻）、報告が揃わなくてもスレイブスケジューラ２０は演算を開始する。これにより、ノードの故障やパケット損失があってもスケジュール更新を継続することができる。また、端点ノード３０側において次のスケジュール通知を受信できなかった場合（不着の場合）にも、現行のスケジュールの適用開始から一定の時間でタイムアウトしてその時点（図示、端末ノード側タイムアウト時刻）からは空スケジュールを適用することで、正常に更新された次スケジュールの通信に対する干渉を防ぐことができる。ここでいう空スケジュールとは、当該ノードからの送受信を行わない、とするスケジュールのことである。
【００６２】
このようなローカルスケジューリングにおいては、図１２（ｂ）に示すように、内部状態非依存スケジュール決定部５５のみが、グループ内スケジュール保持メモリ５３に対するスケジュールの書込みを実行する。
【００６３】
次に、本実施形態の動作について説明する。
【００６４】
まずローカルスケジューリングを説明する。図１３（ａ）はローカルスケジューリングを説明するシーケンス図であり、図１３（ｂ）はローカルスケジューリングにおけるネットワーク内の制御情報の流れを示している。図において“ＳＮ”は「スケジュール番号」の略記である。また図１４は、端点ノード３０、スレイブスケジューラ２０及びマスタスケジューラ１０の構成をまとめて示したブロック図であるが、この図において、＜１＞とか＜２＞の表示は、スケジューリングにおける処理フェーズを示している。すなわち、図１４に示す各機能ブロック内に記載された＜１＞や＜２＞の表示は、当該機能ブロックが処理フェーズ＜１＞や＜２＞の動作に関与することを示している。また機能ブロック間を接続する線に付記された＜１＞や＜２＞の表示は、処理フェーズ＜１＞や＜２＞に際して当該機能ブロック間でデータが送受信されることを示している。
【００６５】
本実施形態においては、マスタスケジューラ１０及びスレイブスケジューラ２０のいずれのものから通知されるスケジュールには、そのスケジュールが適用されるべき開始時刻と終了時刻とが設定されている。なお、初回のスケジュール通知は、一般にマスタスケジューラ１０を起点にして行われ、その開始時刻はＴ（０，０）であり終了時刻はＴ（０，１）である。
【００６６】
現在のスケジュールの適用開始時刻（図示した例では時刻Ｔ（０，０））になると同時に、各端点ノード３０からの要求帯域情報報告が開始される。これが処理フェーズ＜１＞であり、図１４に示すように、端点ノード３０のトラヒック情報報告部３２から要求帯域量がスレイブスケジューラ２０に送られ、要求帯域受取部５１で受け付けられてその要求帯域量がグループ内スケジュール保持メモリ５３に書き込まれる。
【００６７】
スレイブスケジューラ２０は、この報告を受けてノード単位スケジュールのみを更新し、結果を端点ノード３０に通知する。これが処理フェーズ＜２＞である。処理フェーズ＜２＞では、内部状態非依存スケジュール決定部５５が、ネットワークトポロジ情報データベース５４を参照し、グループ内スケジュール保持メモリ５３にアクセスしてローカルスケジューリング演算を行い、結果をグループ内スケジュール保持メモリ５３に書き込む。ローカルスケジューリング演算では、計算結果が内部状態に依存しないアルゴリズムを用いて、図１２（ｂ）に示すように、自グループ内の端点ノード３０相互間のパスに関するスケジュールと、自グループ内の端点ノード３０から送信されて他グループ内の端点ノード３０に受信されるパスに関するスケジュールとを演算する。また複数のスレイブスケジューラ２０のそれぞれに設けられる内部状態非依存スケジュール決定部５５で用いるスケジュール演算アルゴリズムは、同一のものであるとする。その後、ノード単位スケジュール通知フレーム作成部５７が、グループ内スケジュール保持メモリ５３にアクセスしてノード単位スケジュールを作成して端点ノード３０に通知し、ＴＤＭ送受信部３１にノード単位スケジュールが設定される。ノード単位スケジュールの通知と設定が、図１３（ｂ）でのローカルスケジュール割当に対応する。
【００６８】
各端点ノード３０は、現行スケジュールの通用期間終了（図示した例では時刻Ｔ（０，１））を待って、その後は更新されたスケジュールでの通信を開始する。同様の処理が以下繰り返される。
【００６９】
次に、グローバルスケジュールの更新について説明する。
【００７０】
図１５は、グローバルスケジュールの更新での大まかな情報の流れを示している。まず、各下位リングすなわちグループにおいて、端点ノード３０からの要求帯域情報がスレイブスケジューラ２０に集められ、各グループのスレイブスケジューラ２０から、グループごとに集約化された要求帯域がマスタスケジューラ１０に送られる。マスタスケジューラ１０は、グループ単位スケジュールを演算して各スレイブスケジューラ２０に通知し、これを受け取ったスレイブスケジューラ２０は、配下の端点ノード３０に対してローカルスケジュールを通知する。
【００７１】
図１６は、このようなグローバルスケジュールの更新をシーケンス図として示したものである。初回スケジュールの通知についてはローカルスケジューリングの場合と同じである。上述したローカルスケジューリングと並行して、端点ノード３０からある要求帯域情報報告は、いったんスレイブスケジューラ２０においてグループごとに集約化され、配下の全ノード分の報告の到着をトリガとして、メインスケジューラ１０に報告される。これが処理フェーズ＜３＞である。処理フェーズ＜３＞では、処理フェーズ＜１＞での動作に加え、要求帯域情報受取部５１が集約報告作成トリガを出力し、このトリガを受けてグループ単位要求帯域集約・報告フレーム作成部５２がグループ内スケジュール保持メモリ５３にアクセスしてグループ集約化された要求帯域量を示す報告フレームを作成し、この報告フレームをマスタスケジューラ１０に送信する。マスタスケジューラ１０では、報告フレーム数カウンタ４１がグループ集約化された要求帯域量の報告フレーム数をカウントし、また、グループごとの要求帯域量がグループ単位スケジュール保持メモリ４２に格納される。
【００７２】
次に、グループ集約化された要求帯域量が全てのスレイブスケジューラ２０から到着したことをトリガとして、グループ単位スケジュール演算が実行されてグループ単位スケジュールが計算され、スレイブスケジューラ２０に通知される。これが処理フェーズ＜４＞である。処理フェーズ＜４＞では、グループ集約化された要求帯域量が全てのスレイブスケジューラ２０から到着したことを報告フレーム数カウンタ４１が検出すると報告フレーム数カウンタ４１がスケジューリング開始トリガを出力し、このスケジューリング開始トリガを受けてグループ単位スケジュール演算部４４がネットワークトポロジ情報データベース４３を参照してグループ単位スケジュール保持メモリ４２にアクセスして、グループ単位スケジュール演算を実行し、その計算結果をグループ単位スケジュール保持メモリ４２に書き込む。また、グループ単位スケジュール演算が完了すると、グループ単位スケジュール演算部４４は、スケジューリング完了トリガを出力する。スケジューリング完了トリガを受けて、全ノード要求帯域表通知フレーム作成部４５及びグループ単位スケジュール通知フレーム作成部４６は、それぞれ、グループ単位スケジュール保持メモリ４２にアクセスして、全ノードの要求帯域表を示す全ノード要求帯域表通知フレームとグループ単位スケジュールを示す通知フレームを作成し、グローバルスケジュールとしてこれらの通知フレームをスレイブスケジューラ２０に送信する。このときスケジューリング開始トリガもスレイブスケジューラ２０に送信される。グローバルスケジュールの通知フレームとスケジューリング開始トリガとはスレイブスケジューラ内の内部状態非依存スケジュール決定部５５と他グループスケジュール演算部５６に受け付けられる。特に内部状態非依存スケジュール決定部５５は、グローバルスケジュールのうちグループ単位スケジュールを受け付ける。
【００７３】
次に、各スレイブスケジューラ２０が、演算されたグループ単位スケジュールに基づいて、配下の端点ノード３０向けにローカルスケジューリングを行う。これが処理フェーズ＜５＞である。処理フェーズ＜５＞では、スケジュール開始トリガに応じて内部状態非依存スケジュール決定部５５が、ネットワークトポロジ情報データベース５４を参照するとともにグループ内スケジュール保持メモリ５３にアクセスし、グループ単位スケジュールをグループ内でのスケジュールに展開する形でローカルスケジューリング演算を行い、結果をグループ内スケジュール保持メモリ５３に書き込む。ここでのローカルスケジューリング演算は、処理フェーズ＜２＞でのアルゴリズムと同じアルゴリズムを用いて、自グループ内の端点ノード３０相互間のパスに関するスケジュールと、自グループ内の端点ノード３０から送信されて他グループ内の端点ノード３０に受信されるパスに関するスケジュールとを演算する。また他グループスケジュール演算部５６が、スケジュール開始トリガに応じ、ネットワークトポロジ情報データベース５４を参照するとともにグループ内スケジュール保持メモリ５３にアクセスし、グローバルスケジュールすなわちグループ単位スケジュールと全ノード要求帯域表とに基づいて、他グループの端点ノード３０から送信されて自グループの端点ノード３０に受信されるパスに関するスケジュールを演算し、その結果をグループ内スケジュール保持メモリ５３に書き込む。他グループスケジュール演算部５６がスケジュール演算に使用するアルゴリズムは、内部状態非依存スケジュール決定部５５で用いるものと同じである。全てのスレイブスケジューラ２０の内部状態非依存スケジュール決定部５５と他グループスケジュール演算部５６とにおいて同一のスケジュール演算アルゴリズムを用いることにより、異なるグループに属する端点ノード３０間での送受信のスケジュールに関して、全てのスレイブスケジューラ２０のグループ内スケジュール保持メモリ５３に格納された内容が相互に整合がとれたものとなる。その後、ノード単位スケジュール通知フレーム作成部５７が、グループ内スケジュール保持メモリ５３にアクセスしてノード単位スケジュールを作成して端点ノード３０に通知し、ＴＤＭ送受信部３１にノード単位スケジュールが設定される。
【００７４】
各端点ノード３０は、処理フェーズ＜１＞，＜２＞として説明したローカルスケジューリングの場合と同様に、現行スケジュールの通用期間終了（図示した例では時刻Ｔ（０，１））を待って、その後は更新されたスケジュールでの通信を開始する。同様の処理が以下繰り返される。
【００７５】
ここで図１７を参照して、本実施形態において、内部状態非依存スケジュール決定部５５と他グループスケジュール演算部５６とを設けることにより、全てのスレイブスケジューラ２０間でローカルスケジューリングの計算結果の相互参照を行うことなく、グローバルスケジューリングを行えることを説明する。
【００７６】
ここでは２つのグループ（グループＡとグループＢ）が設けられてグループごとにスレイブスケジューラが設けられているものとする。図中、［１］，［２］は、各グループに設けられるノードを示している。マスタスケジューラ１０によって計算されたグループ単位スケジュール（例えば、送信開始時刻と送信継続時間の組）と、マスタスケジューラ１０が収集した各ノードごとの要求帯域（これは全ノード要求帯域表として表される）とが、図に示したもののようであった場合、グループＡのスレイブスケジューラ２０の内部状態非依存スケジュール決定部５５は、グループＡ内のノード間のスケジュール（図示、ａとｄ）とグループＡ内のノードを送信ノードとしてグループＢ内のノードを受信ノードとするスケジュール（図示、ｂとｃとｅとｆ）とを決定し、グループ内スケジュール保持メモリ５３に書き込む。図では全ノード要求帯域表が内部状態非依存スケジュール決定部５５にも与えられるように示されているが、グループＡ内のノードの送信ノードとする要求帯域量は、そもそもグループＡのスレイブスケジューラ２０がマスタスケジューラ１０に送ったものであるので、内部状態非依存スケジュール決定部５５は、マスタスケジューラ１０から全ノード要求帯域表を受け取ることなく、図示するａ〜ｃ，ｄ〜ｆのスケジュールを決定できる。
【００７７】
一方、グループＡの他グループスケジュール演算部５６は、グループＢのスレイブスケジューラ内に設けられた内部状態非依存スケジュール決定部５５が決定するグルーブＢ内のノードを送信ノードとしグループＡ内のノードを受信ノードとするスケジュール（図示、ｇとｈとｊとｋ）とを代理で計算する。ここでは、全てのスレイブスケジューラ２０にわたって、計算結果が内部状態に依存しない同一のアルゴリズムを用いて内部状態非依存スケジュール決定部５５と他グループスケジュール演算部５６とがスケジュールを演算するので、同一のグループ単位スケジュールが通知されていれば、グループＢ内のノードを送信ノードとしグループＡ内のノードを受信ノードとするスケジュールに関し、グループＡの他グループスケジュール演算部５６が計算した受信スケジュールと、グループＢの内部状態非依存スケジュール決定部５５が計算する送信スケジュールとは完全に一致するはずである。同様に、グループＡ内のノードを送信ノードとしグループＢ内のノードを受信ノードとする場合に、グループＢの他グループスケジュール演算部５６が計算する受信スケジュールとグループＡの内部状態非依存スケジュール決定部５５が計算する送信スケジュールも完全に一致する。
【００７８】
したがって、本実施形態では、スケジューラ分散配備方式を取りつつも、全てのスレイブスケジューラ２０での計算結果を相互に参照することなく、グループ間で整合性の取れたグローバルスケジューリングを達成できる。なお、グループＡの他グループスケジュール演算部５６は、グループＢ内のノード間のスケジュール（図示、ｉとｌに対応するもの）を決定することができ、これはグル―プＢの内部状態非依存スケジュール決定部５５が決定するスケジュールと一致するが、グループＡのスレイブスケジューラ２０としてはグループＢ内で完結する送受信のスケジュールに関与する必要はないので、図示「不要」と記載するように、グループＡの他グループスケジュール演算部５６はグループＢ内のノード間のスケジュールを計算しないでもよい。
【００７９】
以上説明した実施形態において、マスタスケジューラ１０及びスレイブスケジューラ２０は、いずれも、専用ハードウェアとして構成することもできるが、マイクロプロセッサやメモリ、通信インタフェースなどを備える汎用のコンピュータを利用し、マスタスケジューラ１０あるいはスレイブスケジューラ２０の機能を実行するコンピュータプログラムをこのコンピュータ上で実行させることによっても実現できる。コンピュータ上でプログラムを実行することによってマスタスケジューラ１０を実現する場合、グループ単位スケジュール保持メモリ４２及びネットワークトポロジ情報データベース４３は、そのコンピュータを構成するメモリ内に記憶され格納される。同様に、コンピュータ上でプログラムを実行することによってスレイブスケジューラ２０を実現する場合、グループ内スケジュール保持メモリ５３及びネットワークトポロジ情報データベース５４は、そのコンピュータを構成するメモリ内に記憶され格納される。
【００８０】
次に、本実施形態による伝送遅延削減の効果を見積もった結果を説明する。
【００８１】
バッファレスＴＤＭネットワークとして、図８（ａ）に示したようなリング２段ネットワークとして構成されているものを考える。上位リングの数は１個、下位リングの数は３０個であるものとする。したがって上位リングでのノード（すなわち下位リングと接続するノード）の数は３０個となる。各下位リングにはそれぞれ４０個のノードが設けられているものとする。上位リングの１周距離は４００ｋｍであり、その伝搬遅延（信号がリングを１周するのに要する時間）は２ｍｓであるものとする。一方、各下位リングの１周距離は４０ｋｍであり、その遅延時間は０．２ｍｓであるものとする。
【００８２】
メインスケジューラ１０でのスケジュール演算時間は５ｍｓであり、各スレイブスケジューラ２０でのスケジュール演算時間も５ｍｓであるとする。この数値は、上述した規模のネットワークにおいて一般的に想定し得る値である。
【００８３】
ところで、下位リングのスケジュール更新に要する時間は、そのスケジュール演算の全体に要する時間と、スケジューラまでの往復伝搬遅延との和で表される。リングネットワークにおいては往復伝搬遅延の代わりに１周の遅延時間が用いられる。
【００８４】
本実施形態に基づく場合では、下位リングのスケジュールの更新演算の全体に要する時間は、メインスケジューラでの演算時間と当該下位リングにおけるスレイブスケジューラでの演算時間の和である１０ｍｓである。また、往復伝搬遅延は、下位リング内のみのものを考えればよいから、０．２ｍｓである。したがって達成できる最短ＤＢＡ周期は１０ｍｓと０．２ｍｓとの和である１０．２ｍｓとなる。
【００８５】
一方、階層化演算を行うスケジューラ集中配備方式を採用した場合、階層化演算自体は本実施形態でのマスタスケジューラでの処理とスレイブスケジューラでの処理を１台のスケジューラで実行していることと変わらないから、下位リングのスケジュールの更新演算の全体に要する時間は、本実施形態に基づく場合のマスタスケジューラの演算時間とスレイブスケジューラの演算時間との和である１０ｍｓとなる。また、往復遅延時間については、上位リングにおけるものと下位リングにおけるものとを考慮しなければならないから、それらの和である２．２ｍｓとなる。したがってスケジューラ集中配備方式では、最短ＤＢＡ周期は、１０ｍｓと２．２ｍｓとの和である１２．２ｍｓとなる。
【００８６】
結局、本実施形態に基づく場合には、階層化演算を行うスケジューラ集中配備方式を用いる場合に比べ、最短ＤＢＡ周期を１６．４％削減できることになる。
【００８７】
本実施形態に基づく場合、グローバルスケジュールの更新には、上位リングでの往復遅延時間も考えなければならないので１２．２ｍｓが必要である。これに対して図６（ｂ）に示すようにスケジュール共有メモリをマスタスケジューラ内に設けた場合には、上位リンクを経由する複数回のアクセスが発生し、このアクセス１回あたりに２ｍｓを要するから、本実施形態に基づく場合に比べてグローバルスケジューリングに要する時間が大幅に長くなってしまう。また、グループが異なるノード間のパスに対するスケジューリングを行うことを考えると、スケジュール共有メモリをマスタスケジューラ内に設けた場合には、グローバルスケジューリングの頻度をある程度以上に小さくすることができず、その分、全体的に見たＤＢＡ周期が長くなる。
【符号の説明】
【００８８】
１０    マスタスケジューラ
１１    グループ単位スケジュール決定部
１２，２２    スケジュール共有メモリ
２０    スレイブスケジューラ
２１，９６    ノード単位スケジュール決定部
３０    端点ノード
３１    ＴＤＭ送受信部
３２    トラヒック情報報告部
３３    ホストコンピュータ
３４    フルメッシュネットワーク
４１    報告フレーム数カウンタ
４２    グループ単位スケジュール保持メモリ
４３，５４    ネットワークトポロジ情報データベース（ＤＢ）
４４    グループ単位スケジュール演算部
４５    全ノード要求単位表通知フレーム作成部
４６    グループ単位スケジュール通知フレーム作成部
５１    要求帯域情報受取部
５２    グループ単位要求帯域集約・報告フレーム作成部
５３    グループ内スケジュール保持メモリ
５５    内部状態非依存スケジュール決定部
５６    他グループスケジュール演算部
５７    ノード単位スケジュール通知フレーム作成部
９１    ＴＤＭネットワークノード
９２    ＴＤＭコントローラ
９３    データプレーン
９４    制御信号プレーン
９５    グループ
９７    スイッチコントローラ
【図１】
0006039592.tif 000002
【図２】
0006039592.tif 000003
【図３】
0006039592.tif 000004
【図４】
0006039592.tif 000005
【図５】
0006039592.tif 000006
【図６】
0006039592.tif 000007
【図７】
0006039592.tif 000008
【図８】
0006039592.tif 000009
【図９】
0006039592.tif 000010
【図１０】
0006039592.tif 000011
【図１１】
0006039592.tif 000012
【図１２】
0006039592.tif 000013
【図１３】
0006039592.tif 000014
【図１４】
0006039592.tif 000015
【図１５】
0006039592.tif 000016
【図１６】
0006039592.tif 000017
【図１７】
0006039592.tif 000018