(57)【要約】【課題】動的なリソース割り当てを高速に行うことができ、大規模化が可能なＴＤＭネットワークシステムを提供する。【解決手段】スケジューラ２０内に、今回の所要タイムスロットマトリクスと前回の所要タイムスロットマトリクスとを比較して変動差分情報とするトラヒック変動差分算出部１７と、変動差分情報に基づき、トラヒックが減少した対地についてリンクスケジュールテーブル２５から割り当て済みのタイムスロットを削除する減少分剥ぎ取り計算部３３と、変動差分情報に基づき、トラヒック量が増加した対地に対し、リンクスケジュールテーブル２５において空きとなっている位置でタイムスロットを追加割り当てする増加分貼り付け計算部３５とを設ける。【選択図】図１７
2014160920.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと前記ノード間を接続するリンクとを備えるＴＤＭネットワークシステムにおいて、
通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるスケジューラを有し、
前記スケジューラは、
リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルと、
対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段と、
前記対地ごとに当該対地のトラヒック量が減少したことに応じて、前記リンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う剥ぎ取り計算手段と、
前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う貼り付け計算手段と、
を有することを特徴とする、ＴＤＭネットワークシステム。
【請求項２】
前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、今回の所要タイムスロットマトリクスと前回の所要タイムスロットマトリクスとを比較して変動差分情報として変動差分テーブルに格納するトラヒック変動差分算出部と、を有し、
前記剥ぎ取り計算手段及び前記貼り付け計算手段は、それぞれ、前記変動差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行い、
前記貼り付け処理よりも前記剥ぎ取り処理が優先して実行される、請求項１に記載のＴＤＭネットワークシステム。
【請求項３】
前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、対地ごとに現在割り当てられているタイムスロット数を示す割当タイムスロットマトリックスと今回の所要タイムスロットマトリクスとを比較して割当差分情報として割当差分テーブルに格納する割当差分算出部と、を有し、
前記剥ぎ取り計算手段及び前記貼り付け計算手段は、それぞれ、前記割当差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行い、
前記剥ぎ取り処理よりも前記貼り付け処理を優先して実行して前記貼り付け処理の完了が不可能なときに前記剥ぎ取り処理を実行する、請求項１に記載のＴＤＭネットワークシステム。
【請求項４】
前記スケジューラは、トラヒックが増加した対地の数とトラヒックが減少した対地の数の大小関係を判別するコンパレータをさらに備え、
前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、今回の所要タイムスロットマトリクスと前回の所要タイムスロットマトリクスとを比較して変動差分情報として変動差分テーブルに格納するトラヒック変動差分算出部と、対地ごとに現在割り当てられているタイムスロット数を示す割当タイムスロットマトリックスと前記今回の所要タイムスロットマトリクスとを比較して割当差分情報として割当差分テーブルに格納する割当差分算出部と、を有し、
前記コンパレータは、前記大小関係に応じ、前記剥ぎ取り計算手段及び前記貼り付け計算手段に対し、前記変動差分テーブル及び前記割当差分テーブルのいずれかを選択して前記剥ぎ取り処理及び前記貼り付け処理を行わせ、
前記変動差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行っているときは前記貼り付け処理よりも前記剥ぎ取り処理が優先して実行され、
前記割当差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行っているときは、前記剥ぎ取り処理よりも前記貼り付け処理が優先し、前記貼り付け処理の完了が不可能なときに前記剥ぎ取り処理が実行される、請求項１に記載のＴＤＭネットワークシステム。
【請求項５】
前記スケジューラは、前記剥ぎ取り処理の実行回数と前記貼り付け処理の実行回数を計数して管理する帯域変更カウンタをさらに備え、
前記剥ぎ取り処理の実行回数が第１の上限値に達したときに前記剥ぎ取り処理の実行が打ち切られ、前記貼り付け処理の実行回数が第２の上限値に達したときに前記貼り付け処理の実行が打ち切られる、請求項１乃至４のいずれか１項に記載のＴＤＭネットワークシステム。
【請求項６】
複数のノードと前記ノード間を接続するリンクとを備え、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てられるＴＤＭネットワークシステムにおけるスケジューリング方法において、
対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する段階と、
前記対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う段階と、
前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う段階と、
を有することを特徴とするスケジューリング方法。
【請求項７】
複数のノードと前記ノード間を接続するリンクとを備えるＴＤＭネットワークシステムに設けられ、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるコンピュータを、
対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段、
前記対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を実行する剥ぎ取り計算手段、及び
前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を実行する貼り付け計算手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＤＭ（時分割多重：time division multiplexing）技術に基づくネットワークシステムに関し、特に、動的にリソース割り当てを行うシステムと、動的にリソースを割り当てる方法すなわちスケジューリング方法とに関する。
【背景技術】
【０００２】
ＴＤＭネットワークでは、複数のノードが伝送路を共有した上で、各ノードが伝送路をに対してデータを送信するタイミングを定め、各ノードは、自ノードに割り当てられた周期的なタイミングでデータを伝送路上に送出する。通常は、送信用のタイミングとして一定の時間長の期間を１タイムスロット（ＴＳ：timeslot）と定め、送信元ノードと宛先ノードとの組み合わせごとに送信に用いるタイムスロットを決定する。送信元ノードと宛先ノードとの組み合わせのことを一般に対地と呼ぶ。対地ごとにデータ送信用のタイムスロットを割り当てることをスケジューリングと呼んでいる。このとき、対地ごとに他の対地と重ならないようタイムスロットを割り当て、要求帯域の大きな対地に対しては、より多くのタイムスロットを割り当てるようにする。
【０００３】
図１は、ＴＤＭネットワークの一例として、リング状伝送路からなるネットワークを示している。このネットワークでは、図示Ａ〜Ｅで現れる５個のノード１１がリング状の伝送路上に設けられている。ここでは、伝送路は一方向に信号を伝送する光伝送路であるとする。伝送路において、隣接する２つのノード１１に挟まれた区間のことをリンク１０と呼ぶ。例えばノードＡとノードＢを両端とするリンク１０は図においてａで表され、以下、順番にｂ〜ｅのリンクが存在する。図示したネットワークでは、ノードＡに、ネットワーク全体でのタイムスロットのスケジューリングを行うスケジューラ２０が設けられている。
【０００４】
効率的な、すなわち伝送路の帯域を無駄にしないデータ伝送を行うためには、タイムスロットを隙間なく割り当てる必要がある。ネットワーク内の各リンクに規定されたタイムスロットの空塞状況を表すテーブルをリンクスケジュールテーブルと呼ぶ。したがって、スケジューリングは、リンクスケジューリングテーブル上に示された各タイムスロットに対して通信を割り当てていく操作であるとも言える。
【０００５】
図２は、ＴＤＭネットワークでの従来のスケジューリング方法の一例として、非特許文献１に示されるものを示している。
【０００６】
まず、ステップ８０１において、対地ごとのトラヒックを集計し、次に、ステップ８０２において、対地間に必要なタイムスロット数（所要タイムスロット数）に換算する。このとき、対地間のトラヒックを整数比に変換してタイムスロット数を求めるが、各リンクごとに割り当てられるトラヒックがリンク容量を上回ってはならない、という制約条件が存在する。この制約条件から、直ちに、各ノードについて、そのノードが送信元ノードとして機能するときに送信トラヒックの総和がリンク容量を上回ってはならない、という制約と、そのノードが宛先ノードとして機能するときに受信トラヒックの総和がリンク容量を上回ってはならない、という制約も導かれる。なお、送信元ノード及び宛先ノードの一方を行とし他方を列として、対地ごとのタイムスロット数を要素とするマトリクスのことをＴＳ（タイムスロット）マトリクスと呼ぶ。
【０００７】
次に、ステップ８０３において、ＴＤＭ制御の繰り返し周期を算出し、空きタイムスロットに対して、各対地をその所要タイムスロット数分だけ割り当てることにより、リンクスケジュールテーブルを作成する。例えば、非特許文献１に記載されたものでは、全てのタイムスロットを収容しうるスーパーフレーム長を算出する。この処理では、対地間の経由リンクに収容されることとなるタイムスロットをリンクごとに積算し、リンクごとの積算値のうち、全リンクを通して最大となる積算値を求め、これに基づいてスーパーフレーム長を定める。その後、スーパーフレーム長分の空きタイムスロットに対して、各対地をその所要タイムスロット数分だけ割り当てることにより、リンクスケジュールテーブルを作成する。ここではＴＤＭ制御の繰り返し周期を算出するとしたが、繰り返し周期を事前に定めておいて、その定められた周期に基づいて空きタイムスロットに対する割り当てを行うことも可能である。
【０００８】
空きタイムスロットに対する割り当てを行うとき、様々な割り当てポリシーが存在する。例えば、空きを見つけたら直ちに割り当てるというFirst Fit割当や、要求するタイムスロット数が連続して確保できれば直ちに割り当てるという連続ＴＳ優先割当などがある。
【０００９】
次に、ステップ８０４において、リンクスケジュールテーブルから、各ノードでの実際の処理に用いられるノードスケジュールテーブルを作成する。ノードスケジュールテーブルは、ノードごとに、当該ノードでの方路切替及びデータ送信のタイミングを指示する情報を示すものであって、リンクスケジュールテーブルからの換算によって生成することができる。
【００１０】
最後に、ステップ８０５に示すように、各ノードに対してリンクスケジュールテーブルに基いてそのノードの処理スケジュールを送信することにより、スケジューリングの処理が終了する。
【００１１】
ここで、ノード数をＮとすれば、フルメッシュ通信を仮定すれば、パス数Ｐ、すなわち想定しうる対地数の総数は、Ｐ＝Ｎ（Ｎ−１）となる。例えば、ノード数が５であればＰ＝２０となる。一方向リング伝送路であるとすると、リンク数もＮとなり、各リンクごとにＰ／２本のパスが通過することになる。
【００１２】
以上説明したスケジューリング処理は、いずれかのノード１１に設けられているスケジューラ２０によって行われる。図３は、従来のスケジューラの構成の一例を示すブロック図である。
【００１３】
スケジューラ２０は、各ノード１１から交流トラヒック量を収集し、リンクスケジュールテーブルを各ノード１１に配布することで、ネットワーク全体の動的制御を実現するものである。スケジューラ２０は、交流トラヒック量集計部２１とパスセレクタ２３とテーブル書込部２４とテーブル変換部２６とテーブル送信部２８とタイマ２９とを備え、また、テーブル類として未割当パステーブル２２、リンクスケジュールテーブル２５及びノードスケジュールテーブル２７を保持する。
【００１４】
交流トラヒック集計部２１は、ネットワーク内の各ノード１１から定期的に報告されるトラヒック情報（例えば、各ノードの宛先ごとのバッファ蓄積量）を得て、このトラヒック情報から、ネットワーク内の全対地間の要求タイムスロット数を算出し、これを未割当パステーブル２２に書き込む。未割当パステーブル２２は、タイムスロットの割り当てを行うべきパスとその割り当てられるべきタイムスロット数を保持するものであるから、パスセレクタ２３は、未割当パステーブル２２に格納された所要タイムスロット数に基づいて、所定の割り当てポリシーに基づきパスを選択し、テーブル書込部２４は、パスセレクタ２４で選択されたパスをタイムスロットの割り当てとしてリンクスケジュールテーブル２５に書き込むことにより、パスに対するタイムスロットの割り当てを行う。テーブル変換部２６はリンクスケジュールテーブル２５をノード１１ごとのノードスケジュールテーブル２７に変換し、テーブル送信部２８は、ノードスケジュールテーブル２７に基づいて各ノード１１に対して当該ノードの処理スケジュールを送信する。タイマ２９は、各ノード１１との同期をとり、時間管理を行うためのものである。スケジューラ２０では、パスセレクタ２３及びテーブル書込部２４によって、タイムスロットの割り当てを行うパスを選択してテーブル書込みを行う、という処理がシーケンシャルに実行される。
【００１５】
このようなタイムスロットのスケジューリングが適用されるＴＤＭネットワークの例として、図４に示すように、ノード１１ごとにそれぞれホストコンピュータ１２が設けられているものがある。このＴＤＭネットワークにおいて、ホストコンピュータ１２が他ノードに接続されたホストコンピュータ（他ホスト）あてにデータを送信する場合を考える。その場合、図５に示すように、まずステップ８５１において、ホストコンピュータ１２が他ホスト宛のデータ送信を行うと、ホスト間データ信号（ステップ８５２）によって、そのデータがそのホストコンピュータ１２が接続しているノード１１に送られる。ノード１１は、ステップ８５３において、データを受信し、データのバッファリングとトラヒックのモニタリングを行う。その結果、ホスト間のトラヒック情報がノード１１からスケジューラ２０に送られ（ステップ８５４）、スケジューラ２０は、ステップ８５５において、上述したようにスケジューリングを行い、スケジューリング結果の通知を行う。スケジューリング結果は処理スケジュールとして各ノード１１に送られ（ステップ８５６）、各ノード１１は、ステップ８５７において、スケジュールにしたがってデータ転送を行う。その結果、ノード１１にバッファリングされていた他ホスト宛データが、ホスト間データ信号として、宛先のホストコンピュータ１２に送られる（ステップ８５８）。
【００１６】
リング状伝送路からなるＴＤＭネットワークにおけるスケジューリング方法としては、上述した後久らによる非特許文献１に記載の方法の他に、さらに、Ｚｈａｎｇらの方法（非特許文献２）がある。これらは、与えられたトラヒックは全て収容し得るものとし、ある判断基準でソーティングや条件判定を行い、１パスずつシーケンシャルに割り当てを行うものである。ここでは、経由リンク上で連なっている（リンクスケジュールテーブルにおいて同一時刻のタイムスロットがリンクをまたがって連続している）空きスロット位置を探索して確保することを意味している。Ｗｅｎらも一般網における光ＴＤＭネットワークのリソース割り当てについて検討している（非特許文献３）。
【００１７】
図６は、ノード数が５（ノードＡ〜Ｅ）であって一方向リングネットワークであるときの非特許文献１に記載された方法によるスケジューリングの例を示している。この方法は、上述した割当てポリシーによる方法のうち、First Fitと呼ばれる方法である。Ｓ１〜Ｓ９は、タイムスロット番号を表している。この方法では、図示左側の所要ＴＳマトリクスに示すようにパスごと（対地ごと）の所要タイムスロット数が与えられたとして、１パスずつ、パス長の降順で、タイムスロット番号の昇順に、空いているタイムスロットを探索して割り当てを行う。ノード数が５であるのでパス長の最長は４であり、そのため、パス長が４であるＡ→ＥのパスやＢ→Ａのパスから順に、スロットが割り当てられている。
【００１８】
ところで、上述したような従来のスケジューリング方法では、トラヒック変動に追従するために動的な帯域再割当やリンクスケジューリングテーブルの書き換えを行う場合、上述したように、ノード数をＮとすると、対地数がノード数Ｎの２乗のオーダで増加するので、それに伴って計算量も増加する。このようにネットワーク規模が大きくなるとともに必要な計算量が急激に増加し、その結果、ネットワークの大規模化に対応できなくなる。
【００１９】
例えば、図７に示すように、論理ネットワークで考えてノードＡ，Ｂあてのトラヒックが存在する場合、ネットワークが小規模であれば、要求トラヒック量の変動に対応して割当帯域を変動させることが可能であるが、ネットワークが大規模化し、計算対象となるパス数やリンク数が増大すると、トラヒックの変動周期に対して計算時間が追い付かなくなり、トラヒック変動に追従することが不可能になる。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】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
【非特許文献２】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
【非特許文献３】B. Wen, R. Shenai, and K. Sivalingam, "Routing, Wavelength and Time-Slot-Assignment Algorithms for Wavelength-Routed Optical WDM/TDM Networks," J. Lightwave Technol., vol. 23, no. 9, pp. 2598-2609, Sept. 2005
【発明の概要】
【発明が解決しようとする課題】
【００２１】
ＴＤＭネットワークにおいて、トラヒック変動に追従するために動的な帯域再割当やリンクスケジュールテーブルの書き換えを行う場合、従来は、ネットワーク全体のノードに関して帯域再割当や書き換えを行っているので、ネットワークの規模が大きくなってノード数が増えるほど加速度的に再割当のための計算時間が長くなって、トラヒック変動に追従し難くなる、という問題点がある。
【００２２】
本発明の目的は、動的な帯域再割当やリンクスケジュールテーブルの書き換えなどの動的なリソース割り当てを高速に行うことができ、ノード数を増加させて大規模ネットワークとすることができるＴＤＭネットワークシステムを提供することになる。
【００２３】
本発明の別の目的は、ＴＤＭネットワークにおけるスケジューリング方法であって、動的な帯域再割当やリンクスケジュールテーブルの書き換えなどの動的なリソース割り当てを高速に行うことができ、ノード数を増加させた大規模ネットワークにも対応できるスケジューリング方法を提供することにある。
【課題を解決するための手段】
【００２４】
本発明のＴＤＭネットワークシステムは、複数のノードとノード間を接続するリンクとを備えるＴＤＭネットワークシステムにおいて、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるスケジューラを有し、スケジューラは、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルと、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段と、対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う剥ぎ取り計算手段と、対地ごとに当該対地のトラヒック量が増加したことに応じて、リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う貼り付け計算手段と、を有することを特徴とする。
【００２５】
本発明のスケジューリング方法は、複数のノードとノード間を接続するリンクとを備え、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てられるＴＤＭネットワークシステムにおけるスケジューリング方法において、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する段階と、対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う段階と、対地ごとに当該対地のトラヒック量が増加したことに応じて、リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う段階と、を有することを特徴とする。
【発明の効果】
【００２６】
本発明では、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分すなわちトラヒックの変動量を検出し、トラヒック変動が生じた対地のみを対象としてタイムスロット割り当ての再計算を行っている。その結果、全対地に対して再計算を行う場合に比べて計算時間が大幅に減少し、高速で動的なリソース割り当てを行うことが可能になる。したがって本発明によれば、大規模なＴＤＭネットワークでの動的なリソース割り当てが可能になる。
【図面の簡単な説明】
【００２７】
【図１】ＴＤＭ（時分割多重）ネットワークの一例を示す図である。
【図２】ＴＤＭネットワークにおける従来のスケジューリング方法を説明するフローチャートである。
【図３】ＴＤＭネットワークシステムにおける従来のスケジューラの構成を示すブロック図である。
【図４】ノードごとにホストコンピュータを備えるＴＤＭネットワークの一例を示すブロック図である。
【図５】図４に示したＴＤＭネットワークにおけるスケジューリングの処理を説明するシーケンス図である。
【図６】First Fitと呼ばれる方法によるスケジューリングを説明する図である。
【図７】ネットワークの大規模化による計算時間の増加を説明する図である。
【図８】本発明の一実施形態のスケジューリング方法の概念を示す図である。
【図９】本発明の一実施形態のスケジューリング方法の概念を示す図である。
【図１０】リンクスケジュールテーブルの部分書換えの一例を示す図である。
【図１１】剥ぎ取り処理を行う順序の決定方法を説明する図である。
【図１２】剥ぎ取り処理を行うスロット位置の決定方法を説明する図である。
【図１３】貼り付け処理を行う順序の決定方法を説明する図である。
【図１４】貼り付け処理を行うスロット位置の決定方法を説明する図である。
【図１５】新規パス収容の処理を説明する図である。
【図１６】ノードの構成例を示すブロック図である。
【図１７】方法１を実行するスケジューラの構成を示すブロック図である。
【図１８】方法１の処理を説明するシーケンス図である。
【図１９】方法１の処理を説明するシーケンス図である。
【図２０】交流トラヒック集計部の動作を説明する図である。
【図２１】トラヒック変動差分算出部の動作を説明する図である。
【図２２】減少分剥ぎ取り計算部の処理を説明する図である。
【図２３】減少分剥ぎ取り計算部の処理を説明する図である。
【図２４】減少分剥ぎ取り計算部の処理を説明する図である。
【図２５】増加分貼り付け計算部の処理を説明する図である。
【図２６】増加分貼り付け計算部の処理を説明する図である。
【図２７】増加分貼り付け計算部の処理を説明する図である。
【図２８】剥ぎ取り処理を行う位置の決定方法の種々の例を説明する図である。
【図２９】貼り付け処理を行う位置を決定方法の種々の例を説明する図である。
【図３０】方法２を実行するスケジューラの構成を示すブロック図である。
【図３１】方法２の処理を説明するシーケンス図である。
【図３２】方法２の処理を説明するシーケンス図である。
【図３３】方法３を実行するスケジューラの構成を示すブロック図である。
【図３４】方法３の処理を説明するシーケンス図である。
【図３５】方法３の処理を説明するシーケンス図である。
【図３６】方法１において剥ぎ取り処理及び貼り付け処理の回数制限を実行するスケジューラの構成を示すブロック図である。
【図３７】方法１において剥ぎ取り処理及び貼り付け処理の回数制限を実行する際の処理を説明するシーケンス図である。
【図３８】制御反映までの時間短縮を実現するスケジューラの構成を示すブロック図である。
【図３９】スケジューリング最適解からの乖離の抑制を実現するスケジューラの構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００２９】
まず、本発明の一実施形態のスケジューリング方法の概念について説明する。このスケジューリング方法は本発明に基づくものであって、このスケジューリング方法では、ＴＤＭネットワークにおいて動的なリソース割り当てを行う際に、トラヒック変動周期などの再計算周期ごとに全てのリソース割り当てについての再計算を行うのではなく、この間のトラヒック変動分のみを考慮した再計算を行うことで、計算量を減らし、かつ、タイムスロット割り当ての最適解に高速に漸近するようにしている。この方法では、所要ＴＳマトリクスの計算を行った上で、前回計算された所要ＴＳマトリクスとの比較の上で変化があった部分についてのみ、リンクスケジュールテーブルにおけるタイムスロット割り当ての変更を行う。タイムスロット割り当ての変更は、例えば、トラヒック量が減少して所要タイムスロット数が減少した対地（パス）について、割り当てられているタイムスロット数を減少させ（これをタイムスロットの剥ぎ取り(Rip-up)処理と呼ぶ）、トラヒック量が増加した対地について、追加のタイムスロットを割り当てる（これをタイムスロットの貼り付け(Re-allocation)処理と呼ぶ）ことによって行われる。
【００３０】
図８は、リンクスケジュールテーブルにおける変化を示すことによって、本実施形態のスケジューリング方法の概念を示している。図１に示すものと同様の５個のノードＡ〜Ｅを有する一方向リングネットワークにおいて、ある時点でのリンクスケジュールテーブルの内容が図８の左側に示すもののようであったとする。ここで、トラヒック変動があり、Ｃ→Ａ、Ａ→Ｄ及びＤ→Ａの各対地のトラヒック量が減少し、Ａ→Ｂ及びＢ→Ｅの各対地のトラヒックが増加したとすると、本発明に基づくスケジューリング方法では、図８の右側に示すように、Ｃ→Ａ、Ａ→Ｄ及びＤ→Ａの各対地について割当タイムスロットを剥ぎ取り、剥ぎ取った分をＡ→Ｂ及びＢ→Ｅの各対地に貼り付ける。これにより複数パス間で帯域を融通し合う。このとき、所要トラヒック量に変化があった対地についてのみ計算を行うことにより、計算量を大幅に減少させて計算速度を向上させ、トラヒック変動に追従し動的に帯域（すなわちタイムスロット）を再割当可能なネットワークシステムの大規模化を実現させる。
【００３１】
図９は、本実施形態のスケジューリング方法をより模式的に示した図である。本実施形態では、前回と今回との間で要求トラヒック量の変動が大きい対地（パス）に注目し、大きく要求量が減少した対地で使われていた帯域を、要求量が大きく増加した対地に割り当てる。例えば、図９の（ａ）に示すように、ネットワーク上のノードＡ，Ｂのうち、ノードＡ向けのトラヒック量が多く、ノードＡ向けにより大きな帯域が割り当てられているものとする。この状態で、図９の（ｂ）に示すように、ノードＡ向けのトラヒック量がノードＢ向けのトラヒック量が増加した場合には、Ａ向けの帯域が余り、Ｂ向けの帯域が不足することになる。そこで本実施形態の方法では、余っている方のＡ向けの帯域を削って（すなわち剥ぎ取り処理）、不足している方のＢ向けの帯域に割り当てる（すなわち貼り付け処理）という操作を、全対地を対象として実行する。図９の（ｃ）に示すように、剥ぎ取り及び貼り付けの実行回数（対象とするパスの本数）にしたがって、剥ぎ取りあるいは貼り付けのための計算時間は増加するが、タイムスロット割り当てにおける非効率さは改善され、ネットワークにおける実際の帯域利用率を向上させることができる。したがって、少ない回数の剥ぎ取り及び貼り付け処理によって非効率さが大幅に改善されればよく、そのために、後述するように、どの順番で剥ぎ取り処理や貼り付け処理を行うパスを決定し、リンクスケジュールテーブル上のどの位置から剥ぎ取り処理や貼り付け処理を行うかのアルゴリズムが重要となる。
【００３２】
以下、本実施形態のスケジューリング方法についてさらに詳しく説明する。以下の説明では、図１に示したような５個のノードＡ〜Ｅを有する一方向リングネットワークを考え、リンク当たりで同一タイムスロットに同時に接続可能なチャネルは１つである（すなわちファイバ多重や波長多重を行わない）ものとする。例えばこのようなネットワークは、単一の波長を用いる光ネットワークであって、タイムスロット長を１００μｓ、フレーム長を５ｍｓとするものである。しかしながら、本発明は、双方向リングをはじめとした任意のトポロジーのネットワークに対して適用可能であり、また、波長多重を行うネットワークにも適用可能である。波長多重を行った場合には、各ファイバの各波長上でリンクスケジュールテーブルが作成される。
【００３３】
図１０は、本実施形態におけるリンクスケジュールテーブルの部分的な書き換えの一例を示している。
【００３４】
ある時点でのリンクスケジュールテーブル２５の内容が、図１０の（ａ）に示したものであったとする。ここで、次のスケジュール契機までにトラヒック変動が生じ、そのとき、対地Ｃ→Ａについて要求タイムスロット（ＴＳ）数が１減少し、Ｂ→Ｅについて２減少し、Ａ→Ｄについて１減少し、Ｃ→Ｄについて１増加し、Ｅ→Ａについて１増加し、Ｃ→Ｅについて１増加し、Ａ→Ｅについて１増加したものとする。まず、図１０の（ｂ）に示すように剥ぎ取り処理を行い、その結果、図示破線で示されるタイムスロットが減少することになる。次に、図１０の（ｃ）に示すように、減少させた分の帯域を増加分に割り当てる貼り付け処理を行う。貼り付け処理によって増加した（貼り付けられた）タイムスロットは、図においてハッチングが付されている。ここでは、貼り付け処理に先行して剥ぎ取り処理を行うものとしたが、後述するように、剥ぎ取り処理と貼り付け処理の順番を逆にすることも可能である。
【００３５】
次に、剥ぎ取り処理について説明する。剥ぎ取り処理では、トラヒック変動により所要タイムスロットが減少したパスについてタイムスロットを削除するが、このとき、リンクスケジュールテーブル上で連続した空き領域をできるだけ大きく作り出すことを目的とする。連続した空き領域を大きく作り出すことによって、以後の貼り付け処理において、長いパス（より多くのリンクを経由するパス）、太いパス（複数のタイムスロットを束ねて帯域を大きくしたパス）を設定しやすくなる。
【００３６】
連続した空き領域をできるだけ大きく作り出すためには、どのパスから優先して剥ぎ取るかの剥ぎ取りの順序や、あるパスについてどのタイムスロット位置から優先して剥ぎ取るかの剥ぎ取り位置の決定が重要である。図１１は、剥ぎ取りを行う順序の決定について説明している。図においてハッチングが付されたタイムスロットは、トラヒック量に変化がないパスに割り当てられているタイムスロットであり、剥ぎ取り処理の対象とはならないものである。図示上側に示すように、パスＢ→Ｄに５タイムスロットが割り当てられている状態で３タイムスロット（ＴＳ）を減少させることが可能であり、Ａ→Ｅに２タイムスロットが割り当てられている状態で１タイムスロットが減少可能であり、パスＤ→Ｅに２タイムスロットが割り当てられている状態で１タイムスロットが減少可能であるとする。このとき、リンクスケジュールテーブル上で大きく面積を占有しているパスは邪魔であるので、長いパス及び変動タイムスロット数が大きいパスから優先して剥ぎ取ることとする。その結果、図１１の下側で［１］〜［３］の数字で示すように、Ａ→Ｄ、Ｂ→Ｄ、Ｄ→Ｅの順でパスに割り当てられているスロットを減少させればよいことになる。
【００３７】
図１２は、複数のタイムスロットが同一パスに割り当てられているときに、そのパスに割り当てられているタイムスロットのうちどの位置から優先して剥ぎ取るかを決定することについて説明している。ここでは、４タイムスロットが割り当てられたパスＢ→Ｄからどの順序でタイムスロットを剥ぎ取るのか、２タイムスロットが割り当てられたパスＣ→Ｅからとの順序でタイムスロットを剥ぎ取るのかを示している。リンクスケジュールテーブル上で大きな空き領域を作り出したいので、周囲（リンクスケジュールテーブル上で隣接したタイムスロット、すなわち、隣接するリンクにおける同じタイムスロット位置および同一リンクにおける前後のタイムスロット位置）に空きタイムスロットが多いタイムスロットから優先して剥ぎ取ることとする。その結果、図１２の下側において［１］〜［４］の数字で示されるように、例えばパスＢ→Ｄについては、タイムスロット位置Ｓ３、Ｓ２、Ｓ４、Ｓ１の順でタイムスロットを削除すればよいことになる。
【００３８】
次に、貼り付け処理について説明する。貼り付け処理では、トラヒック変動により所要タイムスロットが増加したパスについてタイムスロットを追加するが、このとき、リンクスケジュールテーブル上での連続した空き領域をできるだけ小さくせず、隙間を埋めることを目的とする。連続した空き領域をできるだけ小さくしないようにすることによって、次回以降の貼り付け処理において、長いパス、太いパスを設定しやすくなる。
【００３９】
連続した空き領域をできるだけ小さくしないようにするためには、どのパスから優先して貼り付けるかの貼り付けの順序や、あるパスについてどのタイムスロット位置から優先して貼り付けるかの貼り付け位置の決定が重要である。図１３は、貼り付けを行う順序の決定について説明している。図においてハッチングが付されたタイムスロットは、既に割り当て済みのタイムスロットを示している。ここでパスＡ→Ｂに１タイムスロット、Ａ→Ｅに１タイムスロット、Ｂ→Ｄに２タイムスロットを貼り付ける場合を考える。このとき、大幅なトラヒック増加はバッファあふれやロスなどを招く恐れがあり、また、長いパスは設定しにくいことを考慮すると、所要タイムスロット数の変動が大きいパスや長いパスから優先して貼り付けを行うようにする。その結果、図１３の下側で［１］〜［３］の数字で示すように、Ｂ→Ｄ、Ａ→Ｅ、Ａ→Ｂの順でパスの貼り付けを行えばよいことになる。
【００４０】
図１４は、同一パスにつき複数のタイムスロットを貼り付けるときに、どのスロット位置から優先して貼り付けを行えばよいかを説明している。ここでは既にパスＢ→Ｄに関し、分割された２タイムスロットが既に割り当て済みであり、パスＢ→Ｄにさらにタイムスロットを割り当てるものとする。リンクスケジュールテーブル上でできるだけ隙間を埋めたいので、周囲（リンクスケジュールテーブル上で隣接したタイムスロット、すなわち、隣接するリンクにおける同じタイムスロット位置および同一リンクにおける前後のタイムスロット位置）に空きタイムスロットが少ないタイムスロットから優先して貼り付けを行うこととする。その結果、図において［１］〜［４］の数字で示されるように、タイムスロット位置Ｓ４、Ｓ６、Ｓ２、Ｓ８、Ｓ１の順で優先してタイムスロットを加えればよいことになる。
【００４１】
本実施形態では、リンクスケジュールテーブルにおける空き情報を特に管理することによって、トラヒックが増加したパス、新規登録されたパスの収容に要する処理を簡易化している。この管理は、後述するように、スケジューラ２０内のテーブル空管理部３４によって行われる。図１５は、空き情報を管理することによる新規パス収容の処理を示している。
【００４２】
図１５の左側において破線の枠で示すタイムスロットは、剥ぎ取りによって減少した割り当てが解除され、空きとなったタイムスロットである。実線の枠で示すタイムスロットは、現に使用されているタイムスロットである。本実施形態では、リンクスケジュールテーブルでの空き情報を管理し、また、増加すべきパスの情報を増加パスリストの形で保持しておいて、空き情報に基づいて、リンクスケジュールテーブルにおいて未割り当てとなっている空きタイムスロットに、増加分のパスを割り当てていく。
【００４３】
上述した本実施形態でのスケジューリング方法は、図１あるいは図４に示すＴＤＭネットワークシステムにおいて、いずれかのノード１１に設けられたスケジューラ２０によって実行される。このときスケジューラ２０では、以下に説明するように、前回と今回との間でのトラヒック情報の差分を検出する機能、剥ぎ取り処理を行う機能、及び貼り付け処理を行う機能が重要である。スケジューラ２０は、専用ハードウェアとして構成することもできるが、マイクロプロセッサやメモリ、通信インタフェースなどを備える汎用のコンピュータを利用し、スケジューラ２０の機能を実行するコンピュータプログラムをこのコンピュータ上で実行させることによっても実現できる。コンピュータ上でプログラムを実行することによってスケジューラ２０を実現する場合、リンクスケジュールテーブルは、そのコンピュータを構成するメモリ内に記憶され格納される。
【００４４】
ノード１１に接続されるホストコンピュータ１２としては公知の構成のものを使用できる。ノード１１としては、公知の構成のものに、パスのトラヒック量を動的に収集してスケジューラ２０に通知する機能を追加した構成のものであることが必要である。
【００４５】
図１６は、光ＴＤＭネットワークに用いられるノードの一般的な構成例を示している。ノードは、リンクを転送されてくるデータのタイムスロット単位での方路切替を行うスイッチ９１と、ホストコンピュータ１２との間でデータをやり取りするためのインタフェース（Ｉ／Ｏ）９２と、ホストコンピュータ１２側から送信されてきたデータを一時的に貯えるバッファ９３と、バッファ９３から送信データを受け取ってリンクに送り出される光信号を生成しスイッチ９１に送出する送信部（Ｔｘ）９４と、スイッチ９１から光信号を受信し受信データとしてＩ／Ｏ９２を介してホストコンピュータ１２に送る受信部（Ｒｘ）９５と、ノード１１全体を制御するコントローラ９６とを備えている。特にコントローラ９６は、スケジューラ２０から送信されたノードスケジュールテーブル（処理スケジュール）に基づいて、スイッチ９１と送信部９４を制御する。パスのトラヒック量を動的に収集してスケジューラ２０に通知する機能は、ノード１１を構成する各ブロックのうち、例えば、スイッチ９１、インタフェース９２、バッファ９３、送信部９４及び受信部９５のいずれかに設けることができる。
【００４６】
本実施形態のスケジューリング方法では、剥ぎ取り処理及び貼り付け処理を行う順序によって、種々の実施方法が存在する。それらのうちの代表的なものを方法１〜方法３とする。
【００４７】
方法１では、トラヒックが減少したパスについて剥ぎ取り処理を行い、その後、トラヒックが増えたパスの貼り付け処理を行う。方法１は、トラヒック流量にしたがって帯域割り当てを行うものである。
【００４８】
方法２では、貼り付け処理を優先して行い、必要に応じて（割り当てる空き容量がない場合に）剥ぎ取り処理を行う。この方法では、余っている帯域も有効に活用することができる。
【００４９】
方法３は、上記の方法１と方法２とを組み合わせたものであり、ネットワーク内でトラヒックが減少したパスが多いか、増えたパスが多いかに応じて、方法１と方法２とを使い分ける。
【００５０】
さらに、上記の方法１〜方法３に共通した変更の例として、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うものがある。この変更例は、タイムスロット割り当てについての最適解に速く収束するようにして途中で計算を打ち切ることで、決められた時間内で良好な解を得ようとするものである。
【００５１】
以下、方法１〜方法３やそれらに変更を加えたものなどを実施するための構成について説明する。
【００５２】
まず、方法１について説明する。図１７は、方法１に基づいてスケジューリングを行うＴＤＭネットワークシステムにおいて用いられるスケジューラ２０の構成を示している。
【００５３】
スケジューラ２０は、周期的に交流トラヒック量を集計し、各対地間のトラヒック変動差分を検出し、リンクスケジュールテーブル２５の部分変更を行う処理を実行する。また、リンクスケジュールテーブル２５における空き領域を管理することにより、リンクスケジュールテーブル全体に対する探索を不要として、計算コストの低減を図っている。このような方法１に基づくスケジューラ２０は、交流トラヒック量集計部２１、トラヒック変動差分算出部３１、変動差分テーブル３２、減少分剥ぎ取り計算部３３、テーブル空管理部３４、増加分貼り付け計算部３５、割当履歴管理部３６、リンクスケジュールテーブル２５、テーブル変換部２６、ノードスケジュールテーブル２７、テーブル送信部２８、及びタイマ２９を備えている。このうち交流トラヒック量集計部２１、リンクスケジュールテーブル２５、テーブル変換部２６、ノードスケジュールテーブル２７、テーブル送信部２８、及びタイマ２９は、図３に示した従来のスケジューラ２０に設けられるものと同様のものである。
【００５４】
交流トラヒック量集計部２１は、ネットワーク内の各ノード１１から定期的に報告されるトラヒック情報を得てネットワーク内の全対地間の要求タイムスロット数を算出し、これをトラヒック変動差分算出部３１に渡す。トラヒック変動差分算出部３１は、交流トラヒック量集計部２１から得た要求タイムスロット数と、１つ前の制御タイミングで得ていた要求タイムスロット数を比較することで、該当タイミングまでのトラヒック変動の差分を算出し、変動差分情報として変動差分テーブル３２に格納するものである。変動差分テーブル３２に書き込まれた変動差分情報は、後述するように、変動量に基づいた分類やソーティングの対象となり、必要に応じて、減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５に渡される。
【００５５】
減少分剥ぎ取り計算部３３は、変動差分テーブル３２に格納された変動差分情報とテーブル空管理部３４から得られたテーブルの空き情報と割当履歴管理部３６から得られた過去の割当履歴とに基づいて剥ぎ取り処理を実行し、その結果に応じてテーブル空管理部３４内のテーブル空き情報とリンクスケジュールテーブル２５とを書き換え、また、今回の剥ぎ取り処理による割当帯域を割当履歴管理部３６に通知する。同様に増加分貼り付け計算部３５は、変動差分テーブル３２に格納された変動差分情報とテーブル空管理部３４から得られたテーブルの空き情報と割当履歴管理部３６から得られた過去の割当履歴とに基づいて貼り付け処理を実行し、その結果に応じてテーブル空管理部３４内のテーブル空き情報とリンクスケジュールテーブル２５とを書き換え、また、今回の貼り付け処理による割当帯域を割当履歴管理部３６に通知する。
【００５６】
テーブル空管理部３４は、リンクスケジュールテーブル２５における空きスロットの情報を保持し管理するものであって、減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５から書き換え通知を受けるとともに、リンクスケジュールテーブル２５からテーブルにおける空き情報を通知され、剥ぎ取り処理や貼り付け処理の実行に先立って、空き情報を減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５に提供する。割当履歴管理部３６は、割当履歴を保持し管理するものであって、減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５から割当帯域の通知を受けて割当履歴に追加し、減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５に対して割当履歴情報を提供する。
【００５７】
リンクスケジュールテーブル２５は、ネットワーク内の各リンクに規定されたタイムスロットの空塞状況を表すテーブルであって、減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５による剥ぎ取り処理及び貼り付け処理によって書き換えられる。リンクスケジュールテーブル２５は、その空き情報をテーブル空管理部３４に提供するように構成されている。
【００５８】
テーブル変換部２６はリンクスケジュールテーブル２５をノード１１ごとのノードスケジュールテーブル２７に変換するものであり、テーブル送信部２８は、ノードスケジュールテーブル２７に基づいて各ノード１１に対して当該ノードの処理スケジュールを定期的に送信する。処理スケジュールの代わりにノードスケジュールテーブル２７をそのものを各ノード１１に送信してもよい。タイマ２９は、各ノード１１との同期をとり、時間管理を行うためのものであるが、特に、変動差分テーブル３２や割当履歴管理部３６に対してトリガを出力することにより、定期的に、変動差分テーブル３２や割当履歴管理部３６の初期化（クリア動作）を実行することもできる。
【００５９】
次に、このスケジューラ２０の動作について、図１８及び図１９に示すシーケンス図を用いて説明する。
【００６０】
まず図１８に示すように、各ノードからトラヒック量に関する情報が交流トラヒック量集計部２１に送られ（ステップ１０１）、ステップ１０２において交流トラヒック量集計部２１は各ノード間すなわち各対地の所要タイムスロット（ＴＳ）数を算出し、ＴＳマトリクスとしてトラヒック変動算出部３１に送る（ステップ１０３）。トラヒック変動差分算出部３１は、ステップ１０４において、交流トラヒック量集計部２１から送られてきたＴＳマトリクスと前回取得したＴＳマトリクスとを比較し、要求タイムスロット数の差分（変動差分情報）を変動差分テーブル３２に送り（ステップ１０５）、ステップ１０６において変動差分情報が変動差分テーブル３２に書き込まれる。変動差分テーブル３２から、所要タイムスロット数が減少したパスとその減少量とに関する情報が減少分剥ぎ取り計算部３３に送られ（ステップ１０７）、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部３５に送られる（ステップ１０８）。また、割当履歴管理部３６から、各パスの帯域割当履歴が減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５に送られる（ステップ１０９，１１０）。
【００６１】
ステップ１１１において減少分剥ぎ取り計算部３３は剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部３４に送り（ステップ１１２）、リンクスケジュールテーブル２５の更新のためにテーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ１１３）。これらにより、テーブル空管理部３４では、ステップ１１４において、テーブルの空き情報の更新が行われ、ステップ１１５においてリンクスケジュールテーブル２５の更新が行われる。
【００６２】
次に、変動差分テーブル３２から、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部３５に送られ（ステップ１１６）、割当履歴管理部３６から各パスの帯域割当履歴が増加分貼り付け計算部３５に送られる（ステップ１１７）。これらを受けて増加分貼り付け計算部３５は、ステップ１１８において貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部３４に送り（ステップ１１９）、リンクスケジュールテーブル２５の更新のためにテーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ１２０）。これらにより、テーブル空管理部３４では、ステップ１２１において、テーブルの空き情報の更新が行われ、ステップ１２２においてリンクスケジュールテーブル２５の更新が行われる。
【００６３】
その後、図１９に示すように、リンクスケジュールテーブル２５におけるテーブル更新がステップ１３１において完了すると、リンクスケジュールテーブル２５の内容がテーブル変換部２６に送られ（ステップ１３２）、テーブル変換部２６は、ステップ１３３において、各ノードごとの処理スケジュールが導出されて導出結果がノードスケジュールテーブル２７に送られ（ステップ１３４）、ステップ１３５において、ノードスケジュールテーブルとしてそれらの導出結果が格納される。その後、ノードスケジュールテーブル２７の内容はテーブル送信部２８に送られ（ステップ１３６）、テーブル送信部２８は、ステップ１３７において、各ノード１１に対する配信処理を実行する。これによって、ノードごとの処理スケジュールあるいはノードスケジュールテーブルが、それぞれのノードに送られる（ステップ１３８）。
【００６４】
以上によって、方法１によるスケジューリングが完了したことになる。なお、上記の処理のうち、ステップ１０１，１０２の処理と、ステップ１３１以降の処理（図１９に示される処理）は、図３に示した従来のスケジューラにおけるものと同じである。
【００６５】
次に、具体例を挙げて、方法１を実行するためのスケジューラ２０についてさらに詳しく説明する。
【００６６】
交流トラヒック量集計部２１は、各ノードから定期的に全対地間のトラヒック情報を収集して必要タイムスロット数をマトリクスの形態で管理するものであるが、ノードＡからノードＢ〜Ｅの各々に対するトラヒック帯域が図２０の（ａ）に示すものであったとする。すると交流トラヒック量集計部２１は、これらのトラヒック帯域を例えば１０Ｍｂｐｓ当たり１タイムスロットの割合で換算し（図２０の（ｂ）を参照）、図２０の（ｃ）に示すように、その結果を所要ＴＳマトリクスとしてメモリに格納する。この所要ＴＳマトリクスはトラヒック変動差分算出部３１に送られる。
【００６７】
トラヒック変動差分算出部３１は、そのメモリ内に交流トラヒック量集計部２１から前回送られてきた所要ＴＳマトリクスを保持しており、図２１に示すように、今回送られてきた所要ＴＳマトリクスから前回送られてきた所要ＴＳマトリクスをマトリクス要素ごとに比較し減算する演算を行って、変動した差分を表す２次元配列を算出し、この２次元配列を変動差分テーブル３２に格納する。変動差分テーブル３２は例えばスケジューラ２０のメモリ内で管理される。
【００６８】
次に、方法１における剥ぎ取り(Rip-up)処理及び貼り付け(Re-allocation)処理について説明する。方法１では、トラヒック量が減少した対地に関して剥ぎ取り処理を行った後に、トラヒック量が増加した対地に関して貼り付け処理を行う。それぞれの処理は、上述したように、変動差分テーブル３２、テーブル空管理部３４及び割当履歴管理部３６からタイムスロット割当に必要な情報を取得した上で、リンクスケジュールテーブル２５及びテーブル空管理部３４の状態を変更する処理である。したがって、スケジューラ２０を構成する各機能ブロックのうち、変動差分テーブル３２、減少分剥ぎ取り計算部３３、テーブル空管理部３４、割当履歴管理部３６及びリンクスケジュールテーブル２５が剥ぎ取り処理に直接関連し、変動差分テーブル３２、増加分貼り付け計算部３５、テーブル空管理部３４、割当履歴管理部３６及びリンクスケジュールテーブル２５が貼り付け処理に直接関連することになる。
【００６９】
まず、方法１での剥ぎ取り処理について詳しく説明する。剥ぎ取り処理において減少分剥ぎ取り計算部３３は、変動差分テーブル３２においてトラヒック量が減少したことが示されている対地に関して、リンクスケジュールテーブル２５における空き情報をテーブル空管理部３４を参照して取得し、割当履歴管理部３６から過去の帯域割当情報を取得して、既に割り当てられているタイムスロットを減らすことによるリンクスケジュールテーブルを部分変更する処理を行う。この処理は、タイムスロットを減らす対地の選択順序を決定する段階と、タイムスロットの減少数を決定する段階と、タイムスロットを削減する位置を決定する段階と、によって構成される。
【００７０】
タイムスロットを減らす対地の選択順序を決定する段階では、減少分剥ぎ取り計算部３３は、変動差分テーブル３２及び割当履歴管理部３６からの情報に基づいて、剥ぎ取りを行う対地の選択順序を決定する。剥ぎ取り処理を行う時には、リンクスケジュールテーブル２５上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、長いパス、変動量が大きいパスが優先して削減されるようにする。図２２に示した例では、タイムスロット数の変動差分から対地ごとのコスト値を計算し、コスト値の降順でソートを行うことにより、剥ぎ取りの実行順序を定めている。図２２において変動量ａは、タイムスロット数の変動差分の絶対値であり、パス長ｂはパスが経由するリンク数を示し、乱数ｃは１から９９の間でランダムに発生させた整数であり、コスト値として、
コスト値＝１００００×ａ＋１００×ｂ＋ｃ
を用いている。
【００７１】
タイムスロットの減少数を決定する段階では、減少量剥ぎ取り計算部３３は、各対地から剥ぎ取るタイムスロットの数を決定する。例えば、単純に変動量分に応じたタイムスロット数を剥ぎ取ることとする。その後、タイムスロットを削減する位置を決定する段階において減少量剥ぎ取り計算部３３は、テーブル空管理部３４からの情報に基づいて、剥ぎ取りを行う対地ごとに、剥ぎ取りを行うタイムスロット位置を決定する。図２３は、剥ぎ取りを行うタイムスロット位置の決定の仕方を示すものであり、図示左側のリンクスケジュールテーブル部分において、ハッチングが付されているタイムスロットが使用中のタイムスロットである。剥ぎ取りを行うタイムスロット位置の決定に際しては、リンクスケジュールテーブル２５での空き状況からコスト値を算出し、コスト値の降順に位置を選択する。剥ぎ取り処理を行う時には、リンクスケジュールテーブル２５上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、同一タイムスロット位置で隣接するリンクが空きとなっているものや、同一リンクで隣接するタイムスロットが空きとなっているものが優先してタイムスロット削減の対象となるようにする。図示したものでは、同一ＴＳ隣接空αは、同一タイムスロット位置で隣接するリンクのうち空きとなっているリンクの数を示し、同一リンク隣接空βは、同一リンク内で隣接するタイムスロットのうち空きとなっているタイムスロットの数を示している。タイムスロット位置γには、１から付与されたタイムスロット番号をそのまま用いている。ここでは、コスト値として、
コスト値＝１００００×α＋１００×β＋γ
を用いている。
【００７２】
図２３に示した例では、対地Ｂ→Ｃに割り当てられた３つのタイムスロット（Ｓ３、Ｓ４及びＳ５）からタイムスロットを１つ減少させる場合に、連続した空き領域ができるだけ大きくなるように、Ｓ５で示されるタイムスロットが削減される。
【００７３】
以上のようにして、削減すべきタイムスロットが決定されると、次に、減少分剥ぎ取り計算部３３は、削減すべきものとして決定されたタイムスロットをリンクスケジュールテーブル２５から削減し、テーブル空管理部３４内に保持されている空き情報を更新し、割当帯域を割当履歴管理部３６に通知して割当履歴管理部３６を更新する。図２４の上側は、リンクスケジュールテーブル２５におけるタイムスロットの削除を示しており、削除されたタイムスロットは空きとしてテーブル空管理部３４にも登録される。なお、タイムスロットが削減されたことにより、周囲のタイムスロットのコスト値、具体的には上記の同一ＴＳ隣接空α及び同一リンク隣接空βも変動する。図２４の下側は、割当履歴管理部３６に保持される割当履歴情報の例を示している。割当履歴情報は、各対地（パス）について、スケジューリングを行うたびに、どれだけのタイムスロット数が要求され実際にどれだけの数のタイムスロットを割り当てたかを記録したものであり、過去の複数回分の情報をメモリに格納したものである。
【００７４】
タイムスロットを減らす対地の選択順序を決定する段階で決定された順序にしたがって、タイムスロットの削除数や削除位置の決定と、リンクスケジュールテーブル２５の変更と、テーブル空管理部３４及び割当履歴管理部２６の更新とを繰り返すことにより、剥ぎ取り処理が完了する。
【００７５】
次に、方法１での貼り付け処理について詳しく説明する。貼り付け処理において増加分貼り付け計算部３５は、変動差分テーブル３２においてトラヒック量が増加したことが示されている対地に関して、リンクスケジュールテーブル２５における空き情報をテーブル空管理部３４を参照して取得し、割当履歴管理部３６から過去の帯域割当情報を取得して、割り当てられるタイムスロットを増やすことによるリンクスケジュールテーブルを部分変更する処理を行う。この処理は、タイムスロットを増やす対地の選択順序を決定する段階と、タイムスロットの増加数を決定する段階と、タイムスロットを貼り付ける位置を決定する段階と、によって構成される。
【００７６】
タイムスロットを増やす対地の選択順序を決定する段階では、増加分貼り付け計算部３５は、変動差分テーブル３２及び割当履歴管理部３６からの情報に基づいて、貼り付けを行う対地の選択順序を決定する。貼り付け処理を行う時には、上述したように、長いパス、変動量が大きいパスに対応したタイムスロットが優先して貼り付けられるようにする。図２５に示した例では、タイムスロット数の変動差分から対地ごとのコスト値を計算し、コスト値の降順でソートを行うことにより、剥ぎ取りの実行順序を定めている。変動量ａ、パス長ｂ及び乱数ｃは図２２に示した場合と同様のものである。コスト値として、
コスト値＝１００００×ａ＋１００×ｂ＋ｃ
を用いている。
【００７７】
タイムスロットの増加数を決定する段階では、増加量貼り付け計算部３５は、各対地に貼り付けるタイムスロットの数を決定する。例えば、単純に変動量分に応じたタイムスロット数を貼り付けることとする。その後、タイムスロットを貼り付ける位置を決定する段階において増加量貼り付け計算部３５は、テーブル空管理部３４からの情報に基づいて、貼り付けを行う対地ごとに、貼り付けを行うタイムスロット位置を決定する。図２６は、貼り付けを行うタイムスロット位置の決定の仕方を示すものであり、図示左側のリンクスケジュールテーブル部分において、ハッチングが付されているタイムスロットが使用中のタイムスロットである。貼り付けを行うタイムスロット位置の決定に際しては、リンクスケジュールテーブル２５での空き状況からコスト値を算出し、コスト値の昇順に位置を選択する。貼り付け処理を行う時には、リンクスケジュールテーブル２５上でできるだけ隙間を埋めるようにすることが好ましいから、同一タイムスロット位置で隣接するリンクが使用中となっているものや、同一リンクで隣接するタイムスロットが使用中となっているものが優先してタイムスロット追加の対象となるようにする。図２６において、同一ＴＳ隣接空α、同一リンク隣接空β及びタイムスロット位置γは、図２３におけるものと同様である。ここでは、コスト値として、
コスト値＝１００００×（α＋β）＋γ
を用いている。
【００７８】
図２６に示した例では、対地Ｄ→Ｅに対してさらに１このタイムスロットを追加するときに、追加する位置の候補として、Ｓ１、Ｓ２、Ｓ１６、Ｓ１８，Ｓ１９及びＳ２０などがあるとして、コスト値が最小であるＳ１６が選択され、この位置にタイムスロットが割り当てられる。
【００７９】
以上のようにして、どごにタイムスロットを割り当てるかが決定されると、次に、増加分貼り付け計算部３５は、貼り付けが決定されたタイムスロットをリンクスケジュールテーブル２５において割り当て追加し、テーブル空管理部３４内に保持されている空き情報を更新し、割当帯域を割当履歴管理部３６に通知して割当履歴管理部３６を更新する。図２７の上側は、リンクスケジュールテーブル２５におけるタイムスロットの割り当て追加を示しており、追加されたタイムスロットは空きでなくなったものとしてテーブル空管理部３４から削除される。なお、タイムスロットが追加されたことにより、周囲のタイムスロットのコスト値、具体的には上記の同一ＴＳ隣接空α及び同一リンク隣接空βも変動する。図２７の下側は、図２４に示すものと同様に、割当履歴管理部３６に保持される割当履歴情報の例を示している。
【００８０】
タイムスロットを増やす対地の選択順序を決定する段階で決定された順序にしたがって、タイムスロットの追加数や追加位置の決定と、リンクスケジュールテーブル２５の変更と、テーブル空管理部３４及び割当履歴管理部２６の更新とを繰り返すことにより、貼り付け処理が完了する。
【００８１】
剥ぎ取り処理及び貼り付け処理の一例について、式によって説明する。
【００８２】
ノード数をＮとし、１フレーム内のタイムスロット数をＣａｐとする。タイムスロットの繰り返し周期ｔが５ｍｓ、タイムスロット長ＴＳが１００μｓであれば、ｃａｐ＝５０となる。送信元ノードｉと宛先ノードｊのペア（すなわち対地）を（ｉ，ｊ）で表す。もちろん、ｉ≠ｊである。
【００８３】
（ｉ，ｊ）を結ぶパスにおけるホップ数をＨｏｐ（ｉ，ｊ）と表す。ノード数がＮのリング状ネットワークの場合、最小のホップ数は１であり、最大のホップ数はＮ−１であり、平均のホップ数はＮ／２である。（ｉ，ｊ）間を結ぶパスがｈホップ目に通過するリンクをＬi,j（ｈ）で表し、（ｉ，ｊ）間を結ぶパスがｋ番目に通過するノードをｎi,j（ｋ）とする、
スケジューリング契機Ｔにおける対地（ｉ，ｊ）の要求タイムスロット数をＲｅｑi,j（Ｔ）とおき、Ｔにおいて対地（ｉ，ｊ）に割り当てるタイムスロット数をＡｓi,j（Ｔ）とおく。半固定スケジューリングを行う場合には、スケジューラは、契機Ｔで得られている情報（Ｒｅｑi,j（Ｔ）など）を用いて、次のスケジューリング契機（Ｔ＋１）における割り当てを決定してもよい。
【００８４】
過去Ｍ回分にわたる割当履歴での要求タイムスロット数と割り当てタイムスロット数との差をＨｉｓｔi,j（Ｔ）とする。
【００８５】
【数１】
2014160920.tif 000003
【００８６】
である。以下に示すように、公平帯域Ｃfair（Ｔ）との差分を用いる方法もある。
【００８７】
【数２】
2014160920.tif 000004
【００８８】
契機Ｔにおけるリンクスケジュールテーブルの内容をτ（Ｔ，Ｌi,j（ｈ），ｗ，ｓ）  （ｈ＝１，…，Ｈｏｐ(i,j)）
タイムスロット番号をｓとし、契機ＴにおいてリンクスケジュールテーブルでリンクＬ、タイムスロット位置ｓでタイムスロットが空いていることをＶ（Ｔ，Ｌ，ｓ）＝１で表すこととする。
【００８９】
剥ぎ取りを行うかどうかの判定条件の一例では、
［１］  Ｒｅｑi,j（Ｔ）＜Ｒｅｑi,j（Ｔ−１）を満たす（ｉ，ｊ）から、Ｒｅｑi,j（Ｔ−１）−Ｒｅｑi,j（Ｔ）だけタイムスロットを剥ぎ取る、あるいは、
［２］  Ｒｅｑi,j（Ｔ）≦Ａｓi,j（Ｔ−１）＜Ｒｅｑi,j（Ｔ−１）を満たす（ｉ，ｊ）から、Ａｓi,j（Ｔ−１）−Ｒｅｑi,j（Ｔ）だけタイムスロットを剥ぎ取る。
【００９０】
剥ぎ取りを行う順序を決定する方法の一例では、コスト関数Rip-up-priorityを
Rip-up-priority＝μ｛Ａｓi,j（Ｔ−１）−Ｒｅｑi,j（Ｔ）｝＋ν／Ｈｏｐ（ｉ，ｊ）
で定め、Rip-up-priorityの値の降順に剥ぎ取りを行う。このときμ＞νの場合には、トラヒック変動が大きなパスが優先されて選択され、μ＜νの場合には、長いパスの優先度が大きくなる。
【００９１】
剥ぎ取りを行うタイムスロット位置の決定方法の一例では、対地（ｉ，ｊ）から剥ぎ取りを行うとして、周囲に空きが多いタイムスロットを優先するためのコスト関数Rip-up-gainを
【００９２】
【数３】
2014160920.tif 000005
【００９３】
と定める。これは、Rip-up-gainを
Rig-up-gain＝α×［同一ＴＳ隣接空］＋β×［同一スロット隣接空］
と定めていることと等価である。そして、Rip-up-gainが最大となるタイムスロット位置ｓを選択する。複数のタイムスロット位置が同一値を取った場合には、その中から老番のタイムスロット位置を選択する。ここで、α＞βであれば、長いパスを設定しやすくする効果が強くなり、α＜βであれば、太いパスを設定しやすくする効果が強くなる。
【００９４】
貼り付けを行うかどうかの判定条件の一例では、
［１］  Ｒｅｑi,j（Ｔ）＞Ｒｅｑi,j（Ｔ−１）を満たす（ｉ，ｊ）に、Ｒｅｑi,j（Ｔ）−Ｒｅｑi,j（Ｔ−１）だけタイムスロットを貼り付ける、あるいは、
［２］  Ｒｅｑi,j（Ｔ）＞Ａｓi,j（Ｔ−１）を満たす（ｉ，ｊ）に、Ｒｅｑi,j（Ｔ）−Ａｓi,j（Ｔ−１）だけタイムスロットを貼り付ける。
【００９５】
貼り付けを行う順序を決定する方法の一例では、コスト関数Alloc-priorityを
Alloc-priority＝δ｛Ｒｅｑi,j（Ｔ）−Ｒｅｑi,j（Ｔ−１）｝＋ε・Ｈｏｐ（ｉ，ｊ）
で定め、Alloc-priorityの値の降順に貼り付けを行う。このときδ＞εの場合には、トラヒック変動が大きなパスが優先されて選択され、δ＜εの場合には、長いパスの優先度が大きくなる。
【００９６】
貼り付けを行うタイムスロット位置の決定方法の一例では、対地（ｉ，ｊ）にタイムスロットを貼り付けるとして、まず、貼り付けを行うことができる帯域が存在するか否かを判定する。これはｈ＝１，…，Ｈｏｐ（ｉ，ｊ）として、全てのｈに対し、
Ｖ（Ｔ，Ｌi,j（ｈ），ｓ）＝１
が満たされるかどうかで判定する。次に、なるべく隙間を埋めるようにするためのコスト関数Alloc-costを
【００９７】
【数４】
2014160920.tif 000006
【００９８】
と定める。そして、Alloc-costが最小となるタイムスロット位置ｓを選択する。複数のタイムスロット位置が同一値を取った場合には、その中から若番のタイムスロット位置を選択する。ここで、γ＞ωであれば、長いパスを設定しやすくする効果が強くなり、γ＜ωであれば、太いパスを設定しやすくする効果が強くなる。
【００９９】
ところで、本発明に基づくスケジューリング方法では、剥ぎ取り処理を行うためのアルゴリズム、貼り付け処理を行うためのアルゴリズムとして様々なバリエーションが存在し、しかも、どのようにコスト関数を設定するかによって、異なる効果が得られる。以下、これらのバリエーションを説明する。
【０１００】
剥ぎ取りを行うパスの選択順序を決定するアルゴリズムのバリエーションとしては、表１に示すようなものがある。
【０１０１】
【表１】
2014160920.tif 000007
【０１０２】
上記のうちアルゴリズム［２］〜［４］は、これらを組み合わせて前述した例で用いている。アルゴリズム［１］〜［９］を組み合わせて使用することも可能である。また、ソーティングを行うものについては、ソーティングの代わりに閾値による分類を用いてもよい。閾値による分類では、１つの閾値を用いる場合（例としてパス長がその平均値より長いか短いかを用いる場合）には、パス長が閾値を超える場合には例えばRandam Fitアルゴリズムを使用し、そうでなければ例えばFirst Fitアルゴリズムを用いることが考えられる。複数の閾値を用い、閾値で分類された各クラスごとにそれぞれ異なるアルゴリズムを用いるようにしてもよい。閾値を用いる方法は、計算時間を短くしつつソーティングによるものと同等の効果を得ようとするものである。
【０１０３】
剥ぎ取りを行うタイムスロット位置を決定する方法のバリエーションとしては、表２に示すようなものがある。
【０１０４】
【表２】
2014160920.tif 000008
【０１０５】
アルゴリズム［３］（周囲の空き状況を考慮して決定する）は前述した例でも用いているものであるが、周囲の空き状況を考慮するためにコスト関数を使用する。コスト関数をどのように構築するかの考え方として、長いパスを設定しやすくするために「長い空きを作り出す」、太いパスを設定しやすくするために「太い空きを作り出す」、及び、長く太いパスを設定しやすくするために「長く太いパスを作り出す」がある。これらの考え方を組み合わせることもできる。以下に説明するものでは、カウント値（周囲の空きタイムス
ロットの数）が大きいほどタイムスロットが剥ぎ取られやすくなるように、カウント値をコスト関数に反映させる。
【０１０６】
「長い空きを作り出す」ためには、同一タイムスロット位置での周囲の空きの数をカウントすればよい。図２８に示すリンクスケジュールテーブルにおいて、対地Ｂ→Ｄに割り当てられている３つのタイムスロットに対して剥ぎ取りを行う場合を考えると、Ｂ→Ｄのパスに隣接する箇所における空きの箇所（図において同一タイムスロット位置であって◎で示す箇所）をカウントすればよい。このとき、Ｂ→Ｄのパスのタイムスロット位置Ｓ２〜Ｓ４のうち、Ｓ２に対するカウント値は１となり、Ｓ３に対するカウント値は２となり、Ｓ４に対するカウント値は１となる。さらに、より長い空きが生じるように、図示◎で示す箇所にさらに連続する空きの箇所（図示○で示す箇所）も含めてカウントを行ってもよい。そうすると、Ｂ→Ｄのパスのタイムスロットのうち、Ｓ２のカウント値が２となり、Ｓ３のカウント値が３となる。
【０１０７】
「太い空きを作り出す」ためには、同一リンクでの周囲の空きタイムスロットの数をカウントする。図２８に示す例において、対地Ｃ→Ｅに割り当てられている２つのタイムスロットから剥ぎ取りを行う場合を考えると、タイムスロット位置Ｓ７では同一リンク内での空き位置が存在しないのに対し、タイムスロット位置Ｓ８では、図示◎で示すように隣接するタイムスロット位置Ｓ９がＣからＥまでの２リンクで空きとなっており、カウント値が２となる。さらに、上述する場合と同様に、より太い空きが生じるように、タイムスロット位置Ｓ９に隣接する箇所における空きの箇所（図示〇で示すタイムスロット位置Ｓ１０）を含めてカウントを行ってもよい。その場合は、タイムスロット位置Ｓ８のカウント値は４となる。
【０１０８】
「長く太い空きを作り出す」ためには、周囲の連続した空きをカウントする。同一タイムスロット位置や同一リンクで隣接する空きの箇所（図２８での図示◎の箇所）だけでなく、これらの◎の箇所の２つに隣接する箇所（図示△の箇所）もカウントする。図２８で示す例では、パスＣ→Ｅに関し、タイムスロット位置Ｓ８に対するカウント値が４となる。
【０１０９】
貼り付けを行うパスの選択順序を決定するアルゴリズムのバリエーションとしては、表３に示すようなものがある。
【０１１０】
【表３】
2014160920.tif 000009
【０１１１】
上記のうちアルゴリズム［２］〜［４］は、これらを組み合わせて前述した例で用いている。アルゴリズム［１］〜［９］を組み合わせて使用することも可能である。また、剥ぎ取り処理の場合と同様に、ソーティングを用いる代わりに閾値による分類を用いてもよい。
【０１１２】
貼り付けを行うタイムスロット位置を決定する方法のバリエーションとしては、表４に示すようなものがある。
【０１１３】
【表４】
2014160920.tif 000010
【０１１４】
アルゴリズム［３］（周囲の空き状況を考慮して決定する）は前述した例でも用いているものであるが、周囲の空き状況を考慮するためにコスト関数を使用する。コスト関数をどのように構築するかの考え方として、長いパスを設定しやすくするために「短い空きを埋める」、太いパスを設定しやすくするために「細い空きを埋める」、及び、長く太いパスを設定しやすくするために「短く細いパスを埋める」がある。これらの考え方を組み合わせることもできる。以下に説明するものでは、カウント値が大きいほどタイムスロットが貼り付けられやすくなるように、カウント値をコスト関数に反映させる。
【０１１５】
「短い空きを埋める」ためには、同一タイムスロット位置での割り当て済みタイムスロットの数をカウントすればよい。図２９に示すリンクスケジュールテーブルにおいて、ハッチングが付されている部分は既に割り当て済みのタイムスロットを示している。ここで対地Ｂ→Ｄのタイムスロットを新たに割り当てることを考えると、候補となるタイムスロット位置は、例えば、Ｓ２、Ｓ３及びＳ４である。この場合は、Ｂ→Ｄのパスに隣接する箇所における割り当て済みの箇所（図において同一タイムスロット位置であって◎で示す箇所）をカウントすればよい。このとき、Ｂ→Ｄのパスのタイムスロット位置Ｓ２〜Ｓ４のうち、Ｓ２に対するカウント値は１となり、Ｓ３に対するカウント値は０となり、Ｓ４に対するカウント値は１となる。さらに、同一タイムスロット位置で隣接するリンクに対して連続している割り当て済みの箇所（図示○で示す箇所）も含めてカウントを行ってもよい。そうすると、Ｂ→Ｄのパスのタイムスロットのうち、Ｓ４のカウント値が２となる。
【０１１６】
「細い空きを埋める」ためには、同一リンクでの周囲の割り当て済みタイムスロットの数をカウントする。図２９に示されるパスＢ→Ｄに貼り付け処理を行う例において、タイムスロット位置Ｓ３では同一リンク内で隣接する割り当て済みのタイムスロット位置が存在しないのに対し、タイムスロット位置Ｓ２では、図示◎で示すように隣接するタイムスロット位置Ｓ１がＢからＤまでの２リンクで割り当て済みとなっており、カウント値が２となる。同様に、タイムスロット位置Ｓ４のカウント値は１となる。さらに、上述した場合と同様に、同一リンク内で隣接する位置にさらに連続している割り当て済みの箇所（図示○で示すタイムスロット位置Ｓ６の箇所）を含めてカウントを行ってもよい。その場合は、タイムスロット位置Ｓ４のカウント値は２となる。
【０１１７】
「短く細い空きを埋める」ためには、周囲の割り当て済みタイムスロットをカウントする。同一タイムスロット位置や同一リンクで隣接する割り当て済みの箇所（図２９での図示◎の箇所）だけでなく、これらの◎の箇所の２つに隣接する箇所（図示△の箇所）もカウントする。図２９で示す例では、パスＢ→Ｄに関し、タイムスロット位置Ｓ２に対するカウント値が４、タイムスロット位置Ｓ４に対するカウント値が３となる。
【０１１８】
次に、方法２について説明する。方法２では、前回と今回の所要ＴＳマトリクスを比較してトラヒック量の変動差分を求めるのではなく、前回実際に帯域割当を行った状態と今回の所要ＴＳマトリクスからの乖離を「割当差分」と定義し、剥ぎ取り処理と貼り付け処理との計算に用いている。また、乖離（割当差分）における不足分に基づく貼り付け処理を優先して行い、必要なときにのみ、割当差分における超過分に基づいて剥ぎ取り処理を行うようにする。図３０は、方法２に基づいてスケジューリングを行うＴＤＭネットワークシステムにおいて用いられるスケジューラ２０の構成を示している。
【０１１９】
方法２で用いられ図３０に示されるスケジューラ２０は、図１７に示した方法１用のスケジューラ２０と同様のものであるが、トラヒック変動差分算出部、変動差分テーブル、減少分剥ぎ取り計算部及び増加分貼り付け計算部が設けられておらず、その代わりに割当差分算出部４１、割当差分テーブル４２、超過分剥ぎ取り計算部４３及び不足分貼り付け計算部４４が設けられている点で、図１７に示したものと異なっている。以下、この相違点を中心にして方法２について説明する。
【０１２０】
割当差分算出部４１は、１つ前の制御タイミング（すなわち前回）で実際に割り当てたタイムスロット数と交流トラヒック量集計部２１から得た要求タイムスロット数とを比較することで割当差分を算出し、割当差分情報として割当差分テーブル４２に格納するものである。前回実際に割り当てたライムスロット数の情報は、割当履歴管理部３６から供給される。割当差分テーブル４２に書き込まれた割当差分情報は、前述と同様に分類やソーティングの対象となり、必要に応じて、超過分剥ぎ取り計算部４３及び不足分貼り付け計算部４４に渡される。
【０１２１】
超過分剥ぎ取り計算部４３は、減少分剥ぎ取り計算部と等価なものであって、割当差分テーブル４２に格納された割当差分情報とテーブル空管理部３４から得られたテーブルの空き情報と割当履歴管理部３６から得られた過去の割当履歴とに基づいて剥ぎ取り処理を実行し、その結果に応じてテーブル空管理部３４内のテーブル空き情報とリンクスケジュールテーブル２５とを書き換え、また、今回の剥ぎ取り処理による割当帯域を割当履歴管理部３６に通知する。同様に不足分貼り付け計算部４６は、増加分貼り付け計算部と等価なものであって、割当差分テーブル４２に格納された割当差分情報とテーブル空管理部３４から得られたテーブルの空き情報と割当履歴管理部３６から得られた過去の割当履歴とに基づいて貼り付け処理を実行し、その結果に応じてテーブル空管理部３４内のテーブル空き情報とリンクスケジュールテーブル２５とを書き換え、また、今回の貼り付け処理による割当帯域を割当履歴管理部３６に通知する。
【０１２２】
割当履歴管理部３６は、割当履歴を保持し管理するものであって、超過分剥ぎ取り計算部４３及び不足分貼り付け計算部４４から割当帯域の通知を受けて割当履歴に追加し、超過分剥ぎ取り計算部４３、不足分貼り付け計算部４４及び割当差分算出部４１に対して割当履歴情報を提供する。
【０１２３】
次に、このスケジューラ２０の動作について、図３１及び図３２に示すシーケンス図を用いて説明する。
【０１２４】
まず、各ノードからトラヒック量に関する情報が交流トラヒック量集計部２１に送られ（ステップ２０１）、ステップ２０２において交流トラヒック量集計部２１は各ノード間すなわち各対地の所要タイムスロット（ＴＳ）数を算出し、ＴＳマトリクスとして割当差分算出部４１に送る（ステップ２０４）。これに先立って、割当履歴管理部３６は、前回割り当てたＴＳマトリクスの情報を割当差分算出部４１に送る（ステップ２０３）。
【０１２５】
割当差分算出部４１は、ステップ２０５において、交流トラヒック量集計部２１から送られてきたＴＳマトリクスと前回割り当てのＴＳマトリクスとを比較し、それらの差分（割当差分情報）を割当差分テーブル４２に送り（ステップ２０６）、ステップ２０７において割当差分情報が割当差分テーブル４２に書き込まれる。割当差分テーブル４２から、割り当て済みのタイムスロット数が所要タイムスロット数を超過しているパスとその超過量とに関する情報が超過分剥ぎ取り計算部４３に送られ（ステップ２０８）、割り当て済みのタイムスロット数が所要タイムスロット数に比べて不足しているパスとその不足量とに関する情報が不足分貼り付け計算部４４に送られる（ステップ２０９）。また、割当履歴管理部３６から、各パスの帯域割当履歴が超過分剥ぎ取り計算部４３及び不足分貼り付け計算部４４に送られる（ステップ２１０，２１１）。
【０１２６】
ステップ２１２において、不足部貼り付け計算部４４は、貼り付け処理の計算を行い、次にステップ２１７において、ステップ２１２における計算において貼り付けが不可能であったかを判断し、貼り付けが不可能であった場合には剥ぎ取り命令を超過分剥ぎ取り計算部４３に送る（ステップ２１８）。超過分剥ぎ取り計算部４３は、ステップ２１９において、剥ぎ取り命令を受け取り済みかどうかを判断する。受け取り済みであれば、超過分剥ぎ取り計算部４３は、ステップ２２０において剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部３４に送り（ステップ２２１）、リンクスケジュールテーブル２５の更新のためにテーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ２２２）。これらにより、テーブル空管理部３４では、ステップ２２３において、テーブルの空き情報の更新が行われ、ステップ２２４においてリンクスケジュールテーブル２５の更新が行われる。さらに超過分剥ぎ取り計算部４３は、剥ぎ取り完了通知を不足分貼り付け計算部４４に送る（ステップ２２５）。
【０１２７】
不足分貼り付け計算部４４は、ステップ２２６において、剥ぎ取り完了通知を受け取ったかどうかを判断し、受け取った場合には、ステップ２２７において、貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部３４に送り（ステップ２２８）、リンクスケジュールテーブル２５の更新のためにテーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ２２９）。これらにより、テーブル空管理部３４では、ステップ２３０において、テーブルの空き情報の更新が行われ、ステップ２３１においてリンクスケジュールテーブル２５の更新が行われる。
【０１２８】
これ以降は、方法１でのステップ１３１からの処理（図１９参照）が実行される。
【０１２９】
次に、方法３について説明する。方法３では、方法１と方法２とを組み合わせ、トラヒックが増加した対地が少ない場合には方法２を適用して貼り付け処理を優先させ、トラヒックが増加した対地が多い場合には、方法１を適用して剥ぎ取り処理を優先させるものである。図３３は、方法３に基づいてスケジューリングを行うＴＤＭネットワークシステムにおいて用いられるスケジューラ２０の構成を示している。
【０１３０】
方法３で用いられ図３３に示されるスケジューラ２０は、図１７に示した方法１用のスケジューラ２０に、さらに、方法２の実施のために割当差分算出部４１及び割当差分テーブル４２を設け、方法１と方法２のどちらの処理を優先させるかを判断するためのコンパレータ５１を設けたものである。また、減少分剥ぎ取り計算部の代わりに、減少分剥ぎ取り計算部と方法２での超過分剥ぎ取り計算部との機能を合わせ備える剥ぎ取り計算部５２が設けられ、増加分貼り付け計算部の代わりに、増加分貼り付け計算部と方法２での不足分貼り付け計算部との機能を合わせ備える貼り付け計算部５３が設けられている。コンパレータ５１は、変動差分テーブル３１から変動差分情報を供給され、トラヒックが増加した対地数とトラヒックが減少した対地数とを比較し、いずれが多いかに応じて、剥ぎ取り計算部５２及び貼り付け計算部５３に対し、方法１と方法２のいずれによって剥ぎ取り処理及び貼り付け処理を行うべきかを指示する。
【０１３１】
次に、このスケジューラ２０の動作について、図３４及び図３５に示すシーケンス図を用いて説明する。
【０１３２】
まず、各ノードからトラヒック量に関する情報が交流トラヒック量集計部２１に送られ（ステップ３０１）、ステップ３０２において交流トラヒック量集計部２１は各ノード間すなわち各対地の所要タイムスロット（ＴＳ）数を算出し、ＴＳマトリクスとしてトラヒック変動差分算出部３１及び割当差分算出部４１に送る（ステップ３０４，３０５）。これらに先立って、割当履歴管理部３６は、前回割り当てたＴＳマトリクスの情報を割当差分算出部４１に送る（ステップ３０３）。
【０１３３】
トラヒック変動差分算出部３１は、ステップ３０６において、前回と今回との間での所要ＴＳマトリクスを比較し、変動差分情報を変動差分テーブル３２に送り（ステップ３０８）、ステップ３１０において変動差分情報が変動差分テーブル３２に書き込まれる。これと並行して、割当差分算出部４１は、ステップ３０７において、今回の所要ＴＳマトリクスと前回割り当てのＴＳマトリクスとを比較し、それらの差分（割当差分情報）を割当差分テーブル４２に送り（ステップ３０９）、ステップ３１１において割当差分情報が割当差分テーブル４２に書き込まれる。割当履歴管理部３６から、各パスの帯域割当履歴が剥ぎ取り計算部５２及び貼り付け計算部５３に送られる（ステップ３１２，３１３）。
【０１３４】
次に、変動差分テーブル３２から、所要タイムスロット数が減少したパスとその減少量とに関する情報が剥ぎ取り計算部５２に送られ（ステップ３１４）、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部５３に送られる（ステップ３１５）。割当差分テーブル４２からは、割り当て済みのタイムスロット数が所要タイムスロット数を超過しているパスとその超過量とに関する情報が超過分剥ぎ取り計算部４３に送られ（ステップ３１６）、割り当て済みのタイムスロット数が所要タイムスロット数に比べて不足しているパスとその不足量とに関する情報が不足分貼り付け計算部４４に送られる（ステップ３１７）。さらに変動差分テーブル３２から、トラヒックが減少した対地数とトラヒックが増加した対地数に関する情報が、コンパレータ５１に送られる（ステップ３１８）。
【０１３５】
コンパレータ５１は、ステップ３１９において、トラヒックが減少した対地数とトラヒックが増加した対地数とを比較し、ステップ３２０において、どちらの対地数が多いかを判断する。ここで、増加した対地数≧減少した対地数であれば、コンパレータ５１は、剥ぎ取り計算部５２及び貼り付け計算部５３に対して方法１の実行を指示し（ステップ３２１，３２２）、増加した対地数＜減少した対地数であれば、剥ぎ取り計算部５２及び貼り付け計算部５３に対して方法２の実行を指示する（ステップ３２３，３２４）。これを受けて、剥ぎ取り計算部５２及び貼り付け計算部５３は、ステップ３２５において、指示された方法（方法１または方法２）によってスケジューリングの計算を行い、それらの計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部３４に送り（ステップ３２６，３２７）、リンクスケジュールテーブル２５の更新のためにテーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ３２８，３２９）。これらにより、テーブル空管理部３４では、ステップ３３０において、テーブルの空き情報の更新が行われ、ステップ３３１においてリンクスケジュールテーブル２５の更新が行われる。
【０１３６】
これ以降は、方法１でのステップ１３１からの処理（図１９参照）が実行される。
【０１３７】
次に、方法１〜方法３にさらなる変更を加えた例を説明する。
【０１３８】
上述したように、スケジューリングに際し、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うことができる。ここでは、方法１の実施の際に剥ぎ取り処理及び貼り付け処理の実行回数の制限を行う場合を説明するが、方法２、方法３においても同様に実行回数の制限を行うことができる。
【０１３９】
図３６は、方法１によるスケジューラであって、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うことができるようにしたスケジューラの構成を示している。図３６に示されるスケジューラ２０は、図１７に示した方法１用のスケジューラに、さらに、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うために、帯域変更を行った回数を管理する帯域変更カウンタ３７を設けたものである。帯域変更カウンタ３６には、剥ぎ取り処理を行った回数を数えるカウンタと、貼り付け処理を行った回数を数えるカウンタとが設けられ、剥ぎ取り処理の実行回数の上限値Ｒｕと、貼り付け処理の実行回数の上限値Ｒａとが設定される。上限値Ｒｕ，Ｒａは、それぞれ事前に独立して定めることができる。
【０１４０】
図３７は、図３６に示すスケジューラ２０を用いたスケジューリングの処理を示すシーケンス図である。ここでは、トラヒック変動差分算出部３１から要求タイムスロット数の差分が変動差分テーブル３２に送られる処理以降の処理について説明する。これより前の処理は、方法１に関して図１８に示したものと同一である。
【０１４１】
トラヒック変動差分算出部３１が要求タイムスロット数の差分（変動差分情報）を変動差分テーブル３２に送ると（ステップ１０５）、ステップ１０６において変動差分情報が変動差分テーブル３２に書き込まれる。変動差分テーブル３２から、所要タイムスロット数が減少したパスとその減少量とに関する情報が減少分剥ぎ取り計算部３３に送られ（ステップ１０７）、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部３５に送られる（ステップ１０８）。割当履歴管理部３６から、各パスの帯域割当履歴が減少分剥ぎ取り計算部３３及び増加分貼り付け計算部３５に送られる（ステップ１０８，１０９）。
【０１４２】
すると、ステップ１５１において、減少分剥ぎ取り計算部３３は、１つのパス（対地）について剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、空の更新トリガをテーブル空管理部３４に送り（ステップ１５２）、剥ぎ取り処理を実施したことの通知（剥ぎ取り処理通知）を帯域変更カウンタ３７に送り（ステップ１５３）、テーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ１５４）。これらにより、テーブル空管理部３４では、ステップ１５５において、テーブルの空き情報の更新が行われ、ステップ１５６においてリンクスケジュールテーブル２５の更新が行われる。帯域変更カウンタ３７では、ステップ１５７において、剥ぎ取り回数カウンタがインクリメントされ、ステップ１５８において、このカウンタ値が上限値Ｒｕに達したかどうかが判定される。帯域変更カウンタ３７は、上限値Ｒｕに達していなければ、次の剥ぎ取り処理通知を待ち受ける状態に戻り、上限値Ｒｕに達していれば、打切り指示を減少分剥ぎ取り計算部３３に送る（ステップ１５９）。減少分剥ぎ取り計算部３３は、ステップ１６０において、打切り指示があったかどうかを判断し、打切り指示がない場合にはステップ１５１に戻って、次の１つパスの剥ぎ取り処理のための計算を実行する。
【０１４３】
一方、増加分貼り付け計算部３５は、ステップ１６１において、１つのパスについて貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部３６に送るとともに、空の更新トリガをテーブル空管理部３４に送り（ステップ１６２）、貼り付け処理を実施したことの通知（貼り付け処理通知）を帯域変更カウンタ３７に送り（ステップ１６３）、テーブルの更新トリガをリンクスケジュールテーブル２５に送る（ステップ１６４）。これらにより、テーブル空管理部３４では、ステップ１６５において、テーブルの空き情報の更新が行われ、ステップ１６６においてリンクスケジュールテーブル２５の更新が行われる。帯域変更カウンタ３７では、ステップ１６７において、貼り付け回数カウンタがインクリメントされ、ステップ１６８において、このカウンタ値が上限値Ｒａに達したかどうかが判定される。帯域変更カウンタ３７は、上限値Ｒａに達していなければ、次の貼り付け処理通知を待ち受ける状態に戻り、上限値Ｒａに達していれば、打切り指示を増加分貼り付け計算部３５に送る（ステップ１６９）。増加分貼り付け計算部３５は、ステップ１７０において、打切り指示があったかどうかを判断し、打切り指示がない場合にはステップ１６１に戻り、次の１つパスの貼り付け処理のための計算を実行する。
【０１４４】
これらの処理の後は、図１９に示されるステップ１３１の処理が実行され、スケジューリングの処理が完了することになる。
【０１４５】
次に、制御反映までの時間を短縮するための構成について説明する。
【０１４６】
光ＴＤＭネットワークでは、その正常な動作のために、各ノードがデータ送信スケジュールやスイッチの方路切替スケジュールなどの処理スケジュールを認識している必要があり、そのために、ノードスケジュールテーブル（あるいは処理スケジュール）を各ノードに事前に配布する必要がある。方法１〜方法３で説明したスケジューラでは、リンクスケジュールテーブル２５自体は部分的にしか変更されないものの、リンクスケジュールテーブル２５の全体が完成してからテーブル全体を最初からノードスケジュールテーブル２７に変換しているので、スケジュールが確定してからそれがノードスケジュールテーブル２７に反映され、各ノードに反映されるまでの所要時間が長くなる、という潜在的な課題がある。そこで、ノードスケジュールテーブル２７の導出を低負荷で実施し、スケジュールの確定からそれが各ノードでの実際の制御に反映するまでの時間を短縮することが考えられる。
【０１４７】
図３８に示すスケジューラは、図１７に示した方法１用のスケジューラと同様の構成のものであるが、テーブル変換部の代わりにテーブル書換部３８を設け、リンクスケジュールテーブル２５において減少分剥ぎ取り処理部３３あるいは増加分貼り付け処理部３５による部分変更があるたびに、その部分変更をテーブル書換部３８によって直ちにノードスケジュールテーブル２７にも反映させるようにしたものである。テーブル書換部３８は、減少分剥ぎ取り処理部３３及び増加分貼り付け処理部３５からそれぞれ剥ぎ取り処理及び貼り付け処理の結果を受け取り、それらの結果に基づいて、剥ぎ取り処理あるいは貼り付け処理によって変更されることとなる箇所についてノードスケジュールテーブル２７を部分変更する。このようなテーブル書換部３８を設けることにより、リンクスケジュールテーブル２５の完成後に最初から変換を行ってノードスケジュールテーブル２７を生成する必要がなくなって、スケジュール確定からそれが各ノードでの制御に反映するまでの時間を短縮することができる。
【０１４８】
ここでは、方法１に用いられるスケジューラについて制御反映までの時間を短縮することを説明したが、方法２あるいは方法３に用いられるスケジューラについても、テーブル変換部の代わりに上述したテーブル書換部を設けることによって、制御反映までの時間を短縮することができる。
【０１４９】
上述した各スケジューリング方法は、前回と今回との間でのトラヒック量の差分に基づいてスケジューリングを行う方法であるが、差分だけを考慮したスケジューリングを続けていると、スケジューリングの最適解から乖離していく事象が発生する可能性がある。特に、所要タイムスロット数の差分だけに依拠する方法１では、最適解からの乖離が起こりやすいと考えられる。そこで、最適解からの乖離に対処するために、定期的に、最適解への補正を行うことが考えられる。
【０１５０】
図３９は、スケジューリング最適解からの乖離を抑制するようにしたスケジューラの構成を示している。図示されるスケジューラ６０は、２種類のスケジューラ６２，６３をセレクタ６４で切り替えるようにしたものであり、セレクタ６４によって選択されたスケジューラでの処理結果によって、リンクスケジュールテーブル２５の変更がなされるようになっている。スケジューラ６０には、上述した方法１〜方法３のスケジューラと同様に、交流トラヒック量集計部２１、テーブル変換部２６、ノードスケジュールテーブル２７、テーブル送信部２８、タイマ２９及び割当履歴管理部３６を備えており、さらに、トラヒック傾向算出部６１及び補正トリガ部６５も備えている。
【０１５１】
トラヒック傾向算出部６１は、交流トラヒック量集計部２１から所要タイムスロット数の情報を取得し、過去の所要タイムスロット数情報と比較することにより、対地（パス）ごとのトラヒックの増減やそれらの変化量の傾向を算出する。
【０１５２】
スケジューラ６２は、トラヒック傾向算出部６２からトラヒックの増減やそれらの変化量の傾向についての算出結果を受け取り、割当履歴管理部３６から過去の割当履歴情報を受け取って、従来から公知の一般的なスケジューリングアルゴリズムにしたがって、スケジューリング最適解の導出を行うものである。このスケジューラ６２は、最適解を導出した時点でその旨を通知するトリガ信号を補正トリガ部６５に出力する。
【０１５３】
一方、スケジューラ６３は、本発明にしたがって差分に基づく剥ぎ取り処理及び貼り付け処理を行うスケジューラである。具体的にはスケジューラ６３は、例えば、図１７に示した方法１用のスケジューラにおけるトラヒック変動算出部３１、変動差分テーブル３２、減少分剥ぎ取り計算部３３、テーブル空管理部３４及び増加分貼り付け計算部３５からなる部分、あるいは、図３０に示した方法２用のスケジューラにおける割当差分算出部４１、割当差分テーブル４２、超過分剥ぎ取り計算部４３、テーブル空管理部３４及び不足分貼り付け計算部４４からなる部分によって構成される。さらに、スケジューラ６３は、方法３に基づいて動作するものであってもよい。
【０１５４】
補正トリガ部６５は、スケジューラ６２からトリガ信号が出されたときのみ、スケジューラ６２から出力されるスケジューリング最適解によってリンクスケジュールテーブル２５の全体が更新され、それ以外のときはスケジューラ６３で実行される剥ぎ取り処理及び貼り付け処理によってリンクスケジュールテーブル２５が部分変更されるように、セレクタ５４を切り替える。
【０１５５】
スケジューリング最適解導出のための計算の所要時間は、差分に基づく剥ぎ取り処理及び貼り付け処理を行うための計算の所要時間よりもかなり長い。そこで図３９に示したスケジューラ６０では、スケジューリング最適解導出を行うスケジューラ６２は、剥ぎ取り処理及び貼り付け処理によるスケジューリングの周期よりも長い周期でスケジューリング計算を行い、剥ぎ取り処理及び貼り付け処理によるスケジューリングに対する補正を行っている。このスケジューラ６０を用いることにより、差分に基づく剥ぎ取り処理及び貼り付け処理によるスケジューリングを行うことでスケジューリングの所要時間を短縮してリソース割り当てを高速で実行できるようになるとともに、スケジューリング最適解からの乖離を最小限に抑えることができる。
【符号の説明】
【０１５６】
１０    リンク
１１    ノード
１２    ホストコンピュータ
２０，６０，６１，６２    スケジューラ
２１    交流トラヒック量集計部
２２    未割当パステーブル
２３    パスセレクタ
２４    テーブル書込部
２５    リンクスケジュールテーブル
２６    テーブル変換部
２７    ノードスケジュールテーブル
２８    テーブル送信部
２９    タイマ
３１    トラヒック変動差分算出部
３２    変動差分テーブル
３３    減少分剥ぎ取り計算部
３４    テーブル空管理部
３５    増加分貼り付け計算部
３６    割当履歴管理部
３７    帯域変更カウンタ
３８    テーブル書換部
４１    割当差分算出部
４２    割当差分テーブル
４３    超過分剥ぎ取り計算部
４４    不足分貼り付け計算部
５１    コンパレータ
５２    剥ぎ取り計算部
５３    貼り付け計算部
【図１】
2014160920.tif 000011
【図２】
2014160920.tif 000012
【図３】
2014160920.tif 000013
【図４】
2014160920.tif 000014
【図５】
2014160920.tif 000015
【図６】
2014160920.tif 000016
【図７】
2014160920.tif 000017
【図８】
2014160920.tif 000018
【図９】
2014160920.tif 000019
【図１０】
2014160920.tif 000020
【図１１】
2014160920.tif 000021
【図１２】
2014160920.tif 000022
【図１３】
2014160920.tif 000023
【図１４】
2014160920.tif 000024
【図１５】
2014160920.tif 000025
【図１６】
2014160920.tif 000026
【図１７】
2014160920.tif 000027
【図１８】
2014160920.tif 000028
【図１９】
2014160920.tif 000029
【図２０】
2014160920.tif 000030
【図２１】
2014160920.tif 000031
【図２２】
2014160920.tif 000032
【図２３】
2014160920.tif 000033
【図２４】
2014160920.tif 000034
【図２５】
2014160920.tif 000035
【図２６】
2014160920.tif 000036
【図２７】
2014160920.tif 000037
【図２８】
2014160920.tif 000038
【図２９】
2014160920.tif 000039
【図３０】
2014160920.tif 000040
【図３１】
2014160920.tif 000041
【図３２】
2014160920.tif 000042
【図３３】
2014160920.tif 000043
【図３４】
2014160920.tif 000044
【図３５】
2014160920.tif 000045
【図３６】
2014160920.tif 000046
【図３７】
2014160920.tif 000047
【図３８】
2014160920.tif 000048
【図３９】
2014160920.tif 000049