JP5844759B2 - Tdmネットワークシステム及びそのスケジューリング方法 - Google Patents

Tdmネットワークシステム及びそのスケジューリング方法 Download PDF

Info

Publication number
JP5844759B2
JP5844759B2 JP2013030168A JP2013030168A JP5844759B2 JP 5844759 B2 JP5844759 B2 JP 5844759B2 JP 2013030168 A JP2013030168 A JP 2013030168A JP 2013030168 A JP2013030168 A JP 2013030168A JP 5844759 B2 JP5844759 B2 JP 5844759B2
Authority
JP
Japan
Prior art keywords
ground
time slot
stripping
traffic
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013030168A
Other languages
English (en)
Other versions
JP2014160920A (ja
Inventor
雅弘 中川
雅弘 中川
恭太 服部
恭太 服部
直樹 君島
直樹 君島
片山 勝
勝 片山
三澤 明
明 三澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013030168A priority Critical patent/JP5844759B2/ja
Publication of JP2014160920A publication Critical patent/JP2014160920A/ja
Application granted granted Critical
Publication of JP5844759B2 publication Critical patent/JP5844759B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、TDM(時分割多重:time division multiplexing)技術に基づくネットワークシステムに関し、特に、動的にリソース割り当てを行うシステムと、動的にリソースを割り当てる方法すなわちスケジューリング方法とに関する。
TDMネットワークでは、複数のノードが伝送路を共有した上で、各ノードが伝送路をに対してデータを送信するタイミングを定め、各ノードは、自ノードに割り当てられた周期的なタイミングでデータを伝送路上に送出する。通常は、送信用のタイミングとして一定の時間長の期間を1タイムスロット(TS:timeslot)と定め、送信元ノードと宛先ノードとの組み合わせごとに送信に用いるタイムスロットを決定する。送信元ノードと宛先ノードとの組み合わせのことを一般に対地と呼ぶ。対地ごとにデータ送信用のタイムスロットを割り当てることをスケジューリングと呼んでいる。このとき、対地ごとに他の対地と重ならないようタイムスロットを割り当て、要求帯域の大きな対地に対しては、より多くのタイムスロットを割り当てるようにする。
図1は、TDMネットワークの一例として、リング状伝送路からなるネットワークを示している。このネットワークでは、図示A〜Eで現れる5個のノード11がリング状の伝送路上に設けられている。ここでは、伝送路は一方向に信号を伝送する光伝送路であるとする。伝送路において、隣接する2つのノード11に挟まれた区間のことをリンク10と呼ぶ。例えばノードAとノードBを両端とするリンク10は図においてaで表され、以下、順番にb〜eのリンクが存在する。図示したネットワークでは、ノードAに、ネットワーク全体でのタイムスロットのスケジューリングを行うスケジューラ20が設けられている。
効率的な、すなわち伝送路の帯域を無駄にしないデータ伝送を行うためには、タイムスロットを隙間なく割り当てる必要がある。ネットワーク内の各リンクに規定されたタイムスロットの空塞状況を表すテーブルをリンクスケジュールテーブルと呼ぶ。したがって、スケジューリングは、リンクスケジューリングテーブル上に示された各タイムスロットに対して通信を割り当てていく操作であるとも言える。
図2は、TDMネットワークでの従来のスケジューリング方法の一例として、非特許文献1に示されるものを示している。
まず、ステップ801において、対地ごとのトラヒックを集計し、次に、ステップ802において、対地間に必要なタイムスロット数(所要タイムスロット数)に換算する。このとき、対地間のトラヒックを整数比に変換してタイムスロット数を求めるが、各リンクごとに割り当てられるトラヒックがリンク容量を上回ってはならない、という制約条件が存在する。この制約条件から、直ちに、各ノードについて、そのノードが送信元ノードとして機能するときに送信トラヒックの総和がリンク容量を上回ってはならない、という制約と、そのノードが宛先ノードとして機能するときに受信トラヒックの総和がリンク容量を上回ってはならない、という制約も導かれる。なお、送信元ノード及び宛先ノードの一方を行とし他方を列として、対地ごとのタイムスロット数を要素とするマトリクスのことをTS(タイムスロット)マトリクスと呼ぶ。
次に、ステップ803において、TDM制御の繰り返し周期を算出し、空きタイムスロットに対して、各対地をその所要タイムスロット数分だけ割り当てることにより、リンクスケジュールテーブルを作成する。例えば、非特許文献1に記載されたものでは、全てのタイムスロットを収容しうるスーパーフレーム長を算出する。この処理では、対地間の経由リンクに収容されることとなるタイムスロットをリンクごとに積算し、リンクごとの積算値のうち、全リンクを通して最大となる積算値を求め、これに基づいてスーパーフレーム長を定める。その後、スーパーフレーム長分の空きタイムスロットに対して、各対地をその所要タイムスロット数分だけ割り当てることにより、リンクスケジュールテーブルを作成する。ここではTDM制御の繰り返し周期を算出するとしたが、繰り返し周期を事前に定めておいて、その定められた周期に基づいて空きタイムスロットに対する割り当てを行うことも可能である。
空きタイムスロットに対する割り当てを行うとき、様々な割り当てポリシーが存在する。例えば、空きを見つけたら直ちに割り当てるというFirst Fit割当や、要求するタイムスロット数が連続して確保できれば直ちに割り当てるという連続TS優先割当などがある。
次に、ステップ804において、リンクスケジュールテーブルから、各ノードでの実際の処理に用いられるノードスケジュールテーブルを作成する。ノードスケジュールテーブルは、ノードごとに、当該ノードでの方路切替及びデータ送信のタイミングを指示する情報を示すものであって、リンクスケジュールテーブルからの換算によって生成することができる。
最後に、ステップ805に示すように、各ノードに対してリンクスケジュールテーブルに基いてそのノードの処理スケジュールを送信することにより、スケジューリングの処理が終了する。
ここで、ノード数をNとすれば、フルメッシュ通信を仮定すれば、パス数P、すなわち想定しうる対地数の総数は、P=N(N−1)となる。例えば、ノード数が5であればP=20となる。一方向リング伝送路であるとすると、リンク数もNとなり、各リンクごとにP/2本のパスが通過することになる。
以上説明したスケジューリング処理は、いずれかのノード11に設けられているスケジューラ20によって行われる。図3は、従来のスケジューラの構成の一例を示すブロック図である。
スケジューラ20は、各ノード11から交流トラヒック量を収集し、リンクスケジュールテーブルを各ノード11に配布することで、ネットワーク全体の動的制御を実現するものである。スケジューラ20は、交流トラヒック量集計部21とパスセレクタ23とテーブル書込部24とテーブル変換部26とテーブル送信部28とタイマ29とを備え、また、テーブル類として未割当パステーブル22、リンクスケジュールテーブル25及びノードスケジュールテーブル27を保持する。
交流トラヒック集計部21は、ネットワーク内の各ノード11から定期的に報告されるトラヒック情報(例えば、各ノードの宛先ごとのバッファ蓄積量)を得て、このトラヒック情報から、ネットワーク内の全対地間の要求タイムスロット数を算出し、これを未割当パステーブル22に書き込む。未割当パステーブル22は、タイムスロットの割り当てを行うべきパスとその割り当てられるべきタイムスロット数を保持するものであるから、パスセレクタ23は、未割当パステーブル22に格納された所要タイムスロット数に基づいて、所定の割り当てポリシーに基づきパスを選択し、テーブル書込部24は、パスセレクタ24で選択されたパスをタイムスロットの割り当てとしてリンクスケジュールテーブル25に書き込むことにより、パスに対するタイムスロットの割り当てを行う。テーブル変換部26はリンクスケジュールテーブル25をノード11ごとのノードスケジュールテーブル27に変換し、テーブル送信部28は、ノードスケジュールテーブル27に基づいて各ノード11に対して当該ノードの処理スケジュールを送信する。タイマ29は、各ノード11との同期をとり、時間管理を行うためのものである。スケジューラ20では、パスセレクタ23及びテーブル書込部24によって、タイムスロットの割り当てを行うパスを選択してテーブル書込みを行う、という処理がシーケンシャルに実行される。
このようなタイムスロットのスケジューリングが適用されるTDMネットワークの例として、図4に示すように、ノード11ごとにそれぞれホストコンピュータ12が設けられているものがある。このTDMネットワークにおいて、ホストコンピュータ12が他ノードに接続されたホストコンピュータ(他ホスト)あてにデータを送信する場合を考える。その場合、図5に示すように、まずステップ851において、ホストコンピュータ12が他ホスト宛のデータ送信を行うと、ホスト間データ信号(ステップ852)によって、そのデータがそのホストコンピュータ12が接続しているノード11に送られる。ノード11は、ステップ853において、データを受信し、データのバッファリングとトラヒックのモニタリングを行う。その結果、ホスト間のトラヒック情報がノード11からスケジューラ20に送られ(ステップ854)、スケジューラ20は、ステップ855において、上述したようにスケジューリングを行い、スケジューリング結果の通知を行う。スケジューリング結果は処理スケジュールとして各ノード11に送られ(ステップ856)、各ノード11は、ステップ857において、スケジュールにしたがってデータ転送を行う。その結果、ノード11にバッファリングされていた他ホスト宛データが、ホスト間データ信号として、宛先のホストコンピュータ12に送られる(ステップ858)。
リング状伝送路からなるTDMネットワークにおけるスケジューリング方法としては、上述した後久らによる非特許文献1に記載の方法の他に、さらに、Zhangらの方法(非特許文献2)がある。これらは、与えられたトラヒックは全て収容し得るものとし、ある判断基準でソーティングや条件判定を行い、1パスずつシーケンシャルに割り当てを行うものである。ここでは、経由リンク上で連なっている(リンクスケジュールテーブルにおいて同一時刻のタイムスロットがリンクをまたがって連続している)空きスロット位置を探索して確保することを意味している。Wenらも一般網における光TDMネットワークのリソース割り当てについて検討している(非特許文献3)。
図6は、ノード数が5(ノードA〜E)であって一方向リングネットワークであるときの非特許文献1に記載された方法によるスケジューリングの例を示している。この方法は、上述した割当てポリシーによる方法のうち、First Fitと呼ばれる方法である。S1〜S9は、タイムスロット番号を表している。この方法では、図示左側の所要TSマトリクスに示すようにパスごと(対地ごと)の所要タイムスロット数が与えられたとして、1パスずつ、パス長の降順で、タイムスロット番号の昇順に、空いているタイムスロットを探索して割り当てを行う。ノード数が5であるのでパス長の最長は4であり、そのため、パス長が4であるA→EのパスやB→Aのパスから順に、スロットが割り当てられている。
ところで、上述したような従来のスケジューリング方法では、トラヒック変動に追従するために動的な帯域再割当やリンクスケジューリングテーブルの書き換えを行う場合、上述したように、ノード数をNとすると、対地数がノード数Nの2乗のオーダで増加するので、それに伴って計算量も増加する。このようにネットワーク規模が大きくなるとともに必要な計算量が急激に増加し、その結果、ネットワークの大規模化に対応できなくなる。
例えば、図7に示すように、論理ネットワークで考えてノードA,Bあてのトラヒックが存在する場合、ネットワークが小規模であれば、要求トラヒック量の変動に対応して割当帯域を変動させることが可能であるが、ネットワークが大規模化し、計算対象となるパス数やリンク数が増大すると、トラヒックの変動周期に対して計算時間が追い付かなくなり、トラヒック変動に追従することが不可能になる。
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
TDMネットワークにおいて、トラヒック変動に追従するために動的な帯域再割当やリンクスケジュールテーブルの書き換えを行う場合、従来は、ネットワーク全体のノードに関して帯域再割当や書き換えを行っているので、ネットワークの規模が大きくなってノード数が増えるほど加速度的に再割当のための計算時間が長くなって、トラヒック変動に追従し難くなる、という問題点がある。
本発明の目的は、動的な帯域再割当やリンクスケジュールテーブルの書き換えなどの動的なリソース割り当てを高速に行うことができ、ノード数を増加させて大規模ネットワークとすることができるTDMネットワークシステムを提供することになる。
本発明の別の目的は、TDMネットワークにおけるスケジューリング方法であって、動的な帯域再割当やリンクスケジュールテーブルの書き換えなどの動的なリソース割り当てを高速に行うことができ、ノード数を増加させた大規模ネットワークにも対応できるスケジューリング方法を提供することにある。
本発明のTDMネットワークシステムは、複数のノードとノード間を接続するリンクとを備えるTDMネットワークシステムにおいて、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるスケジューラを有し、スケジューラは、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルと、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段と、対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う剥ぎ取り計算手段と、対地ごとに当該対地のトラヒック量が増加したことに応じて、リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う貼り付け計算手段と、を有することを特徴とする。
本発明のスケジューリング方法は、複数のノードとノード間を接続するリンクとを備え、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てられるTDMネットワークシステムにおけるスケジューリング方法において、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する段階と、対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う段階と、対地ごとに当該対地のトラヒック量が増加したことに応じて、リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う段階と、を有することを特徴とする。
本発明では、対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分すなわちトラヒックの変動量を検出し、トラヒック変動が生じた対地のみを対象としてタイムスロット割り当ての再計算を行っている。その結果、全対地に対して再計算を行う場合に比べて計算時間が大幅に減少し、高速で動的なリソース割り当てを行うことが可能になる。したがって本発明によれば、大規模なTDMネットワークでの動的なリソース割り当てが可能になる。
TDM(時分割多重)ネットワークの一例を示す図である。 TDMネットワークにおける従来のスケジューリング方法を説明するフローチャートである。 TDMネットワークシステムにおける従来のスケジューラの構成を示すブロック図である。 ノードごとにホストコンピュータを備えるTDMネットワークの一例を示すブロック図である。 図4に示したTDMネットワークにおけるスケジューリングの処理を説明するシーケンス図である。 First Fitと呼ばれる方法によるスケジューリングを説明する図である。 ネットワークの大規模化による計算時間の増加を説明する図である。 本発明の一実施形態のスケジューリング方法の概念を示す図である。 本発明の一実施形態のスケジューリング方法の概念を示す図である。 リンクスケジュールテーブルの部分書換えの一例を示す図である。 剥ぎ取り処理を行う順序の決定方法を説明する図である。 剥ぎ取り処理を行うスロット位置の決定方法を説明する図である。 貼り付け処理を行う順序の決定方法を説明する図である。 貼り付け処理を行うスロット位置の決定方法を説明する図である。 新規パス収容の処理を説明する図である。 ノードの構成例を示すブロック図である。 方法1を実行するスケジューラの構成を示すブロック図である。 方法1の処理を説明するシーケンス図である。 方法1の処理を説明するシーケンス図である。 交流トラヒック集計部の動作を説明する図である。 トラヒック変動差分算出部の動作を説明する図である。 減少分剥ぎ取り計算部の処理を説明する図である。 減少分剥ぎ取り計算部の処理を説明する図である。 減少分剥ぎ取り計算部の処理を説明する図である。 増加分貼り付け計算部の処理を説明する図である。 増加分貼り付け計算部の処理を説明する図である。 増加分貼り付け計算部の処理を説明する図である。 剥ぎ取り処理を行う位置の決定方法の種々の例を説明する図である。 貼り付け処理を行う位置を決定方法の種々の例を説明する図である。 方法2を実行するスケジューラの構成を示すブロック図である。 方法2の処理を説明するシーケンス図である。 方法2の処理を説明するシーケンス図である。 方法3を実行するスケジューラの構成を示すブロック図である。 方法3の処理を説明するシーケンス図である。 方法3の処理を説明するシーケンス図である。 方法1において剥ぎ取り処理及び貼り付け処理の回数制限を実行するスケジューラの構成を示すブロック図である。 方法1において剥ぎ取り処理及び貼り付け処理の回数制限を実行する際の処理を説明するシーケンス図である。 制御反映までの時間短縮を実現するスケジューラの構成を示すブロック図である。 スケジューリング最適解からの乖離の抑制を実現するスケジューラの構成を示すブロック図である。
次に、本発明の好ましい実施形態について、図面を参照して説明する。
まず、本発明の一実施形態のスケジューリング方法の概念について説明する。このスケジューリング方法は本発明に基づくものであって、このスケジューリング方法では、TDMネットワークにおいて動的なリソース割り当てを行う際に、トラヒック変動周期などの再計算周期ごとに全てのリソース割り当てについての再計算を行うのではなく、この間のトラヒック変動分のみを考慮した再計算を行うことで、計算量を減らし、かつ、タイムスロット割り当ての最適解に高速に漸近するようにしている。この方法では、所要TSマトリクスの計算を行った上で、前回計算された所要TSマトリクスとの比較の上で変化があった部分についてのみ、リンクスケジュールテーブルにおけるタイムスロット割り当ての変更を行う。タイムスロット割り当ての変更は、例えば、トラヒック量が減少して所要タイムスロット数が減少した対地(パス)について、割り当てられているタイムスロット数を減少させ(これをタイムスロットの剥ぎ取り(Rip-up)処理と呼ぶ)、トラヒック量が増加した対地について、追加のタイムスロットを割り当てる(これをタイムスロットの貼り付け(Re-allocation)処理と呼ぶ)ことによって行われる。
図8は、リンクスケジュールテーブルにおける変化を示すことによって、本実施形態のスケジューリング方法の概念を示している。図1に示すものと同様の5個のノードA〜Eを有する一方向リングネットワークにおいて、ある時点でのリンクスケジュールテーブルの内容が図8の左側に示すもののようであったとする。ここで、トラヒック変動があり、C→A、A→D及びD→Aの各対地のトラヒック量が減少し、A→B及びB→Eの各対地のトラヒックが増加したとすると、本発明に基づくスケジューリング方法では、図8の右側に示すように、C→A、A→D及びD→Aの各対地について割当タイムスロットを剥ぎ取り、剥ぎ取った分をA→B及びB→Eの各対地に貼り付ける。これにより複数パス間で帯域を融通し合う。このとき、所要トラヒック量に変化があった対地についてのみ計算を行うことにより、計算量を大幅に減少させて計算速度を向上させ、トラヒック変動に追従し動的に帯域(すなわちタイムスロット)を再割当可能なネットワークシステムの大規模化を実現させる。
図9は、本実施形態のスケジューリング方法をより模式的に示した図である。本実施形態では、前回と今回との間で要求トラヒック量の変動が大きい対地(パス)に注目し、大きく要求量が減少した対地で使われていた帯域を、要求量が大きく増加した対地に割り当てる。例えば、図9の(a)に示すように、ネットワーク上のノードA,Bのうち、ノードA向けのトラヒック量が多く、ノードA向けにより大きな帯域が割り当てられているものとする。この状態で、図9の(b)に示すように、ノードA向けのトラヒック量がノードB向けのトラヒック量が増加した場合には、A向けの帯域が余り、B向けの帯域が不足することになる。そこで本実施形態の方法では、余っている方のA向けの帯域を削って(すなわち剥ぎ取り処理)、不足している方のB向けの帯域に割り当てる(すなわち貼り付け処理)という操作を、全対地を対象として実行する。図9の(c)に示すように、剥ぎ取り及び貼り付けの実行回数(対象とするパスの本数)にしたがって、剥ぎ取りあるいは貼り付けのための計算時間は増加するが、タイムスロット割り当てにおける非効率さは改善され、ネットワークにおける実際の帯域利用率を向上させることができる。したがって、少ない回数の剥ぎ取り及び貼り付け処理によって非効率さが大幅に改善されればよく、そのために、後述するように、どの順番で剥ぎ取り処理や貼り付け処理を行うパスを決定し、リンクスケジュールテーブル上のどの位置から剥ぎ取り処理や貼り付け処理を行うかのアルゴリズムが重要となる。
以下、本実施形態のスケジューリング方法についてさらに詳しく説明する。以下の説明では、図1に示したような5個のノードA〜Eを有する一方向リングネットワークを考え、リンク当たりで同一タイムスロットに同時に接続可能なチャネルは1つである(すなわちファイバ多重や波長多重を行わない)ものとする。例えばこのようなネットワークは、単一の波長を用いる光ネットワークであって、タイムスロット長を100μs、フレーム長を5msとするものである。しかしながら、本発明は、双方向リングをはじめとした任意のトポロジーのネットワークに対して適用可能であり、また、波長多重を行うネットワークにも適用可能である。波長多重を行った場合には、各ファイバの各波長上でリンクスケジュールテーブルが作成される。
図10は、本実施形態におけるリンクスケジュールテーブルの部分的な書き換えの一例を示している。
ある時点でのリンクスケジュールテーブル25の内容が、図10の(a)に示したものであったとする。ここで、次のスケジュール契機までにトラヒック変動が生じ、そのとき、対地C→Aについて要求タイムスロット(TS)数が1減少し、B→Eについて2減少し、A→Dについて1減少し、C→Dについて1増加し、E→Aについて1増加し、C→Eについて1増加し、A→Eについて1増加したものとする。まず、図10の(b)に示すように剥ぎ取り処理を行い、その結果、図示破線で示されるタイムスロットが減少することになる。次に、図10の(c)に示すように、減少させた分の帯域を増加分に割り当てる貼り付け処理を行う。貼り付け処理によって増加した(貼り付けられた)タイムスロットは、図においてハッチングが付されている。ここでは、貼り付け処理に先行して剥ぎ取り処理を行うものとしたが、後述するように、剥ぎ取り処理と貼り付け処理の順番を逆にすることも可能である。
次に、剥ぎ取り処理について説明する。剥ぎ取り処理では、トラヒック変動により所要タイムスロットが減少したパスについてタイムスロットを削除するが、このとき、リンクスケジュールテーブル上で連続した空き領域をできるだけ大きく作り出すことを目的とする。連続した空き領域を大きく作り出すことによって、以後の貼り付け処理において、長いパス(より多くのリンクを経由するパス)、太いパス(複数のタイムスロットを束ねて帯域を大きくしたパス)を設定しやすくなる。
連続した空き領域をできるだけ大きく作り出すためには、どのパスから優先して剥ぎ取るかの剥ぎ取りの順序や、あるパスについてどのタイムスロット位置から優先して剥ぎ取るかの剥ぎ取り位置の決定が重要である。図11は、剥ぎ取りを行う順序の決定について説明している。図においてハッチングが付されたタイムスロットは、トラヒック量に変化がないパスに割り当てられているタイムスロットであり、剥ぎ取り処理の対象とはならないものである。図示上側に示すように、パスB→Dに5タイムスロットが割り当てられている状態で3タイムスロット(TS)を減少させることが可能であり、A→Eに2タイムスロットが割り当てられている状態で1タイムスロットが減少可能であり、パスD→Eに2タイムスロットが割り当てられている状態で1タイムスロットが減少可能であるとする。このとき、リンクスケジュールテーブル上で大きく面積を占有しているパスは邪魔であるので、長いパス及び変動タイムスロット数が大きいパスから優先して剥ぎ取ることとする。その結果、図11の下側で[1]〜[3]の数字で示すように、A→D、B→D、D→Eの順でパスに割り当てられているスロットを減少させればよいことになる。
図12は、複数のタイムスロットが同一パスに割り当てられているときに、そのパスに割り当てられているタイムスロットのうちどの位置から優先して剥ぎ取るかを決定することについて説明している。ここでは、4タイムスロットが割り当てられたパスB→Dからどの順序でタイムスロットを剥ぎ取るのか、2タイムスロットが割り当てられたパスC→Eからとの順序でタイムスロットを剥ぎ取るのかを示している。リンクスケジュールテーブル上で大きな空き領域を作り出したいので、周囲(リンクスケジュールテーブル上で隣接したタイムスロット、すなわち、隣接するリンクにおける同じタイムスロット位置および同一リンクにおける前後のタイムスロット位置)に空きタイムスロットが多いタイムスロットから優先して剥ぎ取ることとする。その結果、図12の下側において[1]〜[4]の数字で示されるように、例えばパスB→Dについては、タイムスロット位置S3、S2、S4、S1の順でタイムスロットを削除すればよいことになる。
次に、貼り付け処理について説明する。貼り付け処理では、トラヒック変動により所要タイムスロットが増加したパスについてタイムスロットを追加するが、このとき、リンクスケジュールテーブル上での連続した空き領域をできるだけ小さくせず、隙間を埋めることを目的とする。連続した空き領域をできるだけ小さくしないようにすることによって、次回以降の貼り付け処理において、長いパス、太いパスを設定しやすくなる。
連続した空き領域をできるだけ小さくしないようにするためには、どのパスから優先して貼り付けるかの貼り付けの順序や、あるパスについてどのタイムスロット位置から優先して貼り付けるかの貼り付け位置の決定が重要である。図13は、貼り付けを行う順序の決定について説明している。図においてハッチングが付されたタイムスロットは、既に割り当て済みのタイムスロットを示している。ここでパスA→Bに1タイムスロット、A→Eに1タイムスロット、B→Dに2タイムスロットを貼り付ける場合を考える。このとき、大幅なトラヒック増加はバッファあふれやロスなどを招く恐れがあり、また、長いパスは設定しにくいことを考慮すると、所要タイムスロット数の変動が大きいパスや長いパスから優先して貼り付けを行うようにする。その結果、図13の下側で[1]〜[3]の数字で示すように、B→D、A→E、A→Bの順でパスの貼り付けを行えばよいことになる。
図14は、同一パスにつき複数のタイムスロットを貼り付けるときに、どのスロット位置から優先して貼り付けを行えばよいかを説明している。ここでは既にパスB→Dに関し、分割された2タイムスロットが既に割り当て済みであり、パスB→Dにさらにタイムスロットを割り当てるものとする。リンクスケジュールテーブル上でできるだけ隙間を埋めたいので、周囲(リンクスケジュールテーブル上で隣接したタイムスロット、すなわち、隣接するリンクにおける同じタイムスロット位置および同一リンクにおける前後のタイムスロット位置)に空きタイムスロットが少ないタイムスロットから優先して貼り付けを行うこととする。その結果、図において[1]〜[4]の数字で示されるように、タイムスロット位置S4、S6、S2、S8、S1の順で優先してタイムスロットを加えればよいことになる。
本実施形態では、リンクスケジュールテーブルにおける空き情報を特に管理することによって、トラヒックが増加したパス、新規登録されたパスの収容に要する処理を簡易化している。この管理は、後述するように、スケジューラ20内のテーブル空管理部34によって行われる。図15は、空き情報を管理することによる新規パス収容の処理を示している。
図15の左側において破線の枠で示すタイムスロットは、剥ぎ取りによって減少した割り当てが解除され、空きとなったタイムスロットである。実線の枠で示すタイムスロットは、現に使用されているタイムスロットである。本実施形態では、リンクスケジュールテーブルでの空き情報を管理し、また、増加すべきパスの情報を増加パスリストの形で保持しておいて、空き情報に基づいて、リンクスケジュールテーブルにおいて未割り当てとなっている空きタイムスロットに、増加分のパスを割り当てていく。
上述した本実施形態でのスケジューリング方法は、図1あるいは図4に示すTDMネットワークシステムにおいて、いずれかのノード11に設けられたスケジューラ20によって実行される。このときスケジューラ20では、以下に説明するように、前回と今回との間でのトラヒック情報の差分を検出する機能、剥ぎ取り処理を行う機能、及び貼り付け処理を行う機能が重要である。スケジューラ20は、専用ハードウェアとして構成することもできるが、マイクロプロセッサやメモリ、通信インタフェースなどを備える汎用のコンピュータを利用し、スケジューラ20の機能を実行するコンピュータプログラムをこのコンピュータ上で実行させることによっても実現できる。コンピュータ上でプログラムを実行することによってスケジューラ20を実現する場合、リンクスケジュールテーブルは、そのコンピュータを構成するメモリ内に記憶され格納される。
ノード11に接続されるホストコンピュータ12としては公知の構成のものを使用できる。ノード11としては、公知の構成のものに、パスのトラヒック量を動的に収集してスケジューラ20に通知する機能を追加した構成のものであることが必要である。
図16は、光TDMネットワークに用いられるノードの一般的な構成例を示している。ノードは、リンクを転送されてくるデータのタイムスロット単位での方路切替を行うスイッチ91と、ホストコンピュータ12との間でデータをやり取りするためのインタフェース(I/O)92と、ホストコンピュータ12側から送信されてきたデータを一時的に貯えるバッファ93と、バッファ93から送信データを受け取ってリンクに送り出される光信号を生成しスイッチ91に送出する送信部(Tx)94と、スイッチ91から光信号を受信し受信データとしてI/O92を介してホストコンピュータ12に送る受信部(Rx)95と、ノード11全体を制御するコントローラ96とを備えている。特にコントローラ96は、スケジューラ20から送信されたノードスケジュールテーブル(処理スケジュール)に基づいて、スイッチ91と送信部94を制御する。パスのトラヒック量を動的に収集してスケジューラ20に通知する機能は、ノード11を構成する各ブロックのうち、例えば、スイッチ91、インタフェース92、バッファ93、送信部94及び受信部95のいずれかに設けることができる。
本実施形態のスケジューリング方法では、剥ぎ取り処理及び貼り付け処理を行う順序によって、種々の実施方法が存在する。それらのうちの代表的なものを方法1〜方法3とする。
方法1では、トラヒックが減少したパスについて剥ぎ取り処理を行い、その後、トラヒックが増えたパスの貼り付け処理を行う。方法1は、トラヒック流量にしたがって帯域割り当てを行うものである。
方法2では、貼り付け処理を優先して行い、必要に応じて(割り当てる空き容量がない場合に)剥ぎ取り処理を行う。この方法では、余っている帯域も有効に活用することができる。
方法3は、上記の方法1と方法2とを組み合わせたものであり、ネットワーク内でトラヒックが減少したパスが多いか、増えたパスが多いかに応じて、方法1と方法2とを使い分ける。
さらに、上記の方法1〜方法3に共通した変更の例として、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うものがある。この変更例は、タイムスロット割り当てについての最適解に速く収束するようにして途中で計算を打ち切ることで、決められた時間内で良好な解を得ようとするものである。
以下、方法1〜方法3やそれらに変更を加えたものなどを実施するための構成について説明する。
まず、方法1について説明する。図17は、方法1に基づいてスケジューリングを行うTDMネットワークシステムにおいて用いられるスケジューラ20の構成を示している。
スケジューラ20は、周期的に交流トラヒック量を集計し、各対地間のトラヒック変動差分を検出し、リンクスケジュールテーブル25の部分変更を行う処理を実行する。また、リンクスケジュールテーブル25における空き領域を管理することにより、リンクスケジュールテーブル全体に対する探索を不要として、計算コストの低減を図っている。このような方法1に基づくスケジューラ20は、交流トラヒック量集計部21、トラヒック変動差分算出部31、変動差分テーブル32、減少分剥ぎ取り計算部33、テーブル空管理部34、増加分貼り付け計算部35、割当履歴管理部36、リンクスケジュールテーブル25、テーブル変換部26、ノードスケジュールテーブル27、テーブル送信部28、及びタイマ29を備えている。このうち交流トラヒック量集計部21、リンクスケジュールテーブル25、テーブル変換部26、ノードスケジュールテーブル27、テーブル送信部28、及びタイマ29は、図3に示した従来のスケジューラ20に設けられるものと同様のものである。
交流トラヒック量集計部21は、ネットワーク内の各ノード11から定期的に報告されるトラヒック情報を得てネットワーク内の全対地間の要求タイムスロット数を算出し、これをトラヒック変動差分算出部31に渡す。トラヒック変動差分算出部31は、交流トラヒック量集計部21から得た要求タイムスロット数と、1つ前の制御タイミングで得ていた要求タイムスロット数を比較することで、該当タイミングまでのトラヒック変動の差分を算出し、変動差分情報として変動差分テーブル32に格納するものである。変動差分テーブル32に書き込まれた変動差分情報は、後述するように、変動量に基づいた分類やソーティングの対象となり、必要に応じて、減少分剥ぎ取り計算部33及び増加分貼り付け計算部35に渡される。
減少分剥ぎ取り計算部33は、変動差分テーブル32に格納された変動差分情報とテーブル空管理部34から得られたテーブルの空き情報と割当履歴管理部36から得られた過去の割当履歴とに基づいて剥ぎ取り処理を実行し、その結果に応じてテーブル空管理部34内のテーブル空き情報とリンクスケジュールテーブル25とを書き換え、また、今回の剥ぎ取り処理による割当帯域を割当履歴管理部36に通知する。同様に増加分貼り付け計算部35は、変動差分テーブル32に格納された変動差分情報とテーブル空管理部34から得られたテーブルの空き情報と割当履歴管理部36から得られた過去の割当履歴とに基づいて貼り付け処理を実行し、その結果に応じてテーブル空管理部34内のテーブル空き情報とリンクスケジュールテーブル25とを書き換え、また、今回の貼り付け処理による割当帯域を割当履歴管理部36に通知する。
テーブル空管理部34は、リンクスケジュールテーブル25における空きスロットの情報を保持し管理するものであって、減少分剥ぎ取り計算部33及び増加分貼り付け計算部35から書き換え通知を受けるとともに、リンクスケジュールテーブル25からテーブルにおける空き情報を通知され、剥ぎ取り処理や貼り付け処理の実行に先立って、空き情報を減少分剥ぎ取り計算部33及び増加分貼り付け計算部35に提供する。割当履歴管理部36は、割当履歴を保持し管理するものであって、減少分剥ぎ取り計算部33及び増加分貼り付け計算部35から割当帯域の通知を受けて割当履歴に追加し、減少分剥ぎ取り計算部33及び増加分貼り付け計算部35に対して割当履歴情報を提供する。
リンクスケジュールテーブル25は、ネットワーク内の各リンクに規定されたタイムスロットの空塞状況を表すテーブルであって、減少分剥ぎ取り計算部33及び増加分貼り付け計算部35による剥ぎ取り処理及び貼り付け処理によって書き換えられる。リンクスケジュールテーブル25は、その空き情報をテーブル空管理部34に提供するように構成されている。
テーブル変換部26はリンクスケジュールテーブル25をノード11ごとのノードスケジュールテーブル27に変換するものであり、テーブル送信部28は、ノードスケジュールテーブル27に基づいて各ノード11に対して当該ノードの処理スケジュールを定期的に送信する。処理スケジュールの代わりにノードスケジュールテーブル27をそのものを各ノード11に送信してもよい。タイマ29は、各ノード11との同期をとり、時間管理を行うためのものであるが、特に、変動差分テーブル32や割当履歴管理部36に対してトリガを出力することにより、定期的に、変動差分テーブル32や割当履歴管理部36の初期化(クリア動作)を実行することもできる。
次に、このスケジューラ20の動作について、図18及び図19に示すシーケンス図を用いて説明する。
まず図18に示すように、各ノードからトラヒック量に関する情報が交流トラヒック量集計部21に送られ(ステップ101)、ステップ102において交流トラヒック量集計部21は各ノード間すなわち各対地の所要タイムスロット(TS)数を算出し、TSマトリクスとしてトラヒック変動算出部31に送る(ステップ103)。トラヒック変動差分算出部31は、ステップ104において、交流トラヒック量集計部21から送られてきたTSマトリクスと前回取得したTSマトリクスとを比較し、要求タイムスロット数の差分(変動差分情報)を変動差分テーブル32に送り(ステップ105)、ステップ106において変動差分情報が変動差分テーブル32に書き込まれる。変動差分テーブル32から、所要タイムスロット数が減少したパスとその減少量とに関する情報が減少分剥ぎ取り計算部33に送られ(ステップ107)、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部35に送られる(ステップ108)。また、割当履歴管理部36から、各パスの帯域割当履歴が減少分剥ぎ取り計算部33及び増加分貼り付け計算部35に送られる(ステップ109,110)。
ステップ111において減少分剥ぎ取り計算部33は剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部34に送り(ステップ112)、リンクスケジュールテーブル25の更新のためにテーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ113)。これらにより、テーブル空管理部34では、ステップ114において、テーブルの空き情報の更新が行われ、ステップ115においてリンクスケジュールテーブル25の更新が行われる。
次に、変動差分テーブル32から、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部35に送られ(ステップ116)、割当履歴管理部36から各パスの帯域割当履歴が増加分貼り付け計算部35に送られる(ステップ117)。これらを受けて増加分貼り付け計算部35は、ステップ118において貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部34に送り(ステップ119)、リンクスケジュールテーブル25の更新のためにテーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ120)。これらにより、テーブル空管理部34では、ステップ121において、テーブルの空き情報の更新が行われ、ステップ122においてリンクスケジュールテーブル25の更新が行われる。
その後、図19に示すように、リンクスケジュールテーブル25におけるテーブル更新がステップ131において完了すると、リンクスケジュールテーブル25の内容がテーブル変換部26に送られ(ステップ132)、テーブル変換部26は、ステップ133において、各ノードごとの処理スケジュールが導出されて導出結果がノードスケジュールテーブル27に送られ(ステップ134)、ステップ135において、ノードスケジュールテーブルとしてそれらの導出結果が格納される。その後、ノードスケジュールテーブル27の内容はテーブル送信部28に送られ(ステップ136)、テーブル送信部28は、ステップ137において、各ノード11に対する配信処理を実行する。これによって、ノードごとの処理スケジュールあるいはノードスケジュールテーブルが、それぞれのノードに送られる(ステップ138)。
以上によって、方法1によるスケジューリングが完了したことになる。なお、上記の処理のうち、ステップ101,102の処理と、ステップ131以降の処理(図19に示される処理)は、図3に示した従来のスケジューラにおけるものと同じである。
次に、具体例を挙げて、方法1を実行するためのスケジューラ20についてさらに詳しく説明する。
交流トラヒック量集計部21は、各ノードから定期的に全対地間のトラヒック情報を収集して必要タイムスロット数をマトリクスの形態で管理するものであるが、ノードAからノードB〜Eの各々に対するトラヒック帯域が図20の(a)に示すものであったとする。すると交流トラヒック量集計部21は、これらのトラヒック帯域を例えば10Mbps当たり1タイムスロットの割合で換算し(図20の(b)を参照)、図20の(c)に示すように、その結果を所要TSマトリクスとしてメモリに格納する。この所要TSマトリクスはトラヒック変動差分算出部31に送られる。
トラヒック変動差分算出部31は、そのメモリ内に交流トラヒック量集計部21から前回送られてきた所要TSマトリクスを保持しており、図21に示すように、今回送られてきた所要TSマトリクスから前回送られてきた所要TSマトリクスをマトリクス要素ごとに比較し減算する演算を行って、変動した差分を表す2次元配列を算出し、この2次元配列を変動差分テーブル32に格納する。変動差分テーブル32は例えばスケジューラ20のメモリ内で管理される。
次に、方法1における剥ぎ取り(Rip-up)処理及び貼り付け(Re-allocation)処理について説明する。方法1では、トラヒック量が減少した対地に関して剥ぎ取り処理を行った後に、トラヒック量が増加した対地に関して貼り付け処理を行う。それぞれの処理は、上述したように、変動差分テーブル32、テーブル空管理部34及び割当履歴管理部36からタイムスロット割当に必要な情報を取得した上で、リンクスケジュールテーブル25及びテーブル空管理部34の状態を変更する処理である。したがって、スケジューラ20を構成する各機能ブロックのうち、変動差分テーブル32、減少分剥ぎ取り計算部33、テーブル空管理部34、割当履歴管理部36及びリンクスケジュールテーブル25が剥ぎ取り処理に直接関連し、変動差分テーブル32、増加分貼り付け計算部35、テーブル空管理部34、割当履歴管理部36及びリンクスケジュールテーブル25が貼り付け処理に直接関連することになる。
まず、方法1での剥ぎ取り処理について詳しく説明する。剥ぎ取り処理において減少分剥ぎ取り計算部33は、変動差分テーブル32においてトラヒック量が減少したことが示されている対地に関して、リンクスケジュールテーブル25における空き情報をテーブル空管理部34を参照して取得し、割当履歴管理部36から過去の帯域割当情報を取得して、既に割り当てられているタイムスロットを減らすことによるリンクスケジュールテーブルを部分変更する処理を行う。この処理は、タイムスロットを減らす対地の選択順序を決定する段階と、タイムスロットの減少数を決定する段階と、タイムスロットを削減する位置を決定する段階と、によって構成される。
タイムスロットを減らす対地の選択順序を決定する段階では、減少分剥ぎ取り計算部33は、変動差分テーブル32及び割当履歴管理部36からの情報に基づいて、剥ぎ取りを行う対地の選択順序を決定する。剥ぎ取り処理を行う時には、リンクスケジュールテーブル25上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、長いパス、変動量が大きいパスが優先して削減されるようにする。図22に示した例では、タイムスロット数の変動差分から対地ごとのコスト値を計算し、コスト値の降順でソートを行うことにより、剥ぎ取りの実行順序を定めている。図22において変動量aは、タイムスロット数の変動差分の絶対値であり、パス長bはパスが経由するリンク数を示し、乱数cは1から99の間でランダムに発生させた整数であり、コスト値として、
コスト値=10000×a+100×b+c
を用いている。
タイムスロットの減少数を決定する段階では、減少量剥ぎ取り計算部33は、各対地から剥ぎ取るタイムスロットの数を決定する。例えば、単純に変動量分に応じたタイムスロット数を剥ぎ取ることとする。その後、タイムスロットを削減する位置を決定する段階において減少量剥ぎ取り計算部33は、テーブル空管理部34からの情報に基づいて、剥ぎ取りを行う対地ごとに、剥ぎ取りを行うタイムスロット位置を決定する。図23は、剥ぎ取りを行うタイムスロット位置の決定の仕方を示すものであり、図示左側のリンクスケジュールテーブル部分において、ハッチングが付されているタイムスロットが使用中のタイムスロットである。剥ぎ取りを行うタイムスロット位置の決定に際しては、リンクスケジュールテーブル25での空き状況からコスト値を算出し、コスト値の降順に位置を選択する。剥ぎ取り処理を行う時には、リンクスケジュールテーブル25上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、同一タイムスロット位置で隣接するリンクが空きとなっているものや、同一リンクで隣接するタイムスロットが空きとなっているものが優先してタイムスロット削減の対象となるようにする。図示したものでは、同一TS隣接空αは、同一タイムスロット位置で隣接するリンクのうち空きとなっているリンクの数を示し、同一リンク隣接空βは、同一リンク内で隣接するタイムスロットのうち空きとなっているタイムスロットの数を示している。タイムスロット位置γには、1から付与されたタイムスロット番号をそのまま用いている。ここでは、コスト値として、
コスト値=10000×α+100×β+γ
を用いている。
図23に示した例では、対地B→Cに割り当てられた3つのタイムスロット(S3、S4及びS5)からタイムスロットを1つ減少させる場合に、連続した空き領域ができるだけ大きくなるように、S5で示されるタイムスロットが削減される。
以上のようにして、削減すべきタイムスロットが決定されると、次に、減少分剥ぎ取り計算部33は、削減すべきものとして決定されたタイムスロットをリンクスケジュールテーブル25から削減し、テーブル空管理部34内に保持されている空き情報を更新し、割当帯域を割当履歴管理部36に通知して割当履歴管理部36を更新する。図24の上側は、リンクスケジュールテーブル25におけるタイムスロットの削除を示しており、削除されたタイムスロットは空きとしてテーブル空管理部34にも登録される。なお、タイムスロットが削減されたことにより、周囲のタイムスロットのコスト値、具体的には上記の同一TS隣接空α及び同一リンク隣接空βも変動する。図24の下側は、割当履歴管理部36に保持される割当履歴情報の例を示している。割当履歴情報は、各対地(パス)について、スケジューリングを行うたびに、どれだけのタイムスロット数が要求され実際にどれだけの数のタイムスロットを割り当てたかを記録したものであり、過去の複数回分の情報をメモリに格納したものである。
タイムスロットを減らす対地の選択順序を決定する段階で決定された順序にしたがって、タイムスロットの削除数や削除位置の決定と、リンクスケジュールテーブル25の変更と、テーブル空管理部34及び割当履歴管理部26の更新とを繰り返すことにより、剥ぎ取り処理が完了する。
次に、方法1での貼り付け処理について詳しく説明する。貼り付け処理において増加分貼り付け計算部35は、変動差分テーブル32においてトラヒック量が増加したことが示されている対地に関して、リンクスケジュールテーブル25における空き情報をテーブル空管理部34を参照して取得し、割当履歴管理部36から過去の帯域割当情報を取得して、割り当てられるタイムスロットを増やすことによるリンクスケジュールテーブルを部分変更する処理を行う。この処理は、タイムスロットを増やす対地の選択順序を決定する段階と、タイムスロットの増加数を決定する段階と、タイムスロットを貼り付ける位置を決定する段階と、によって構成される。
タイムスロットを増やす対地の選択順序を決定する段階では、増加分貼り付け計算部35は、変動差分テーブル32及び割当履歴管理部36からの情報に基づいて、貼り付けを行う対地の選択順序を決定する。貼り付け処理を行う時には、上述したように、長いパス、変動量が大きいパスに対応したタイムスロットが優先して貼り付けられるようにする。図25に示した例では、タイムスロット数の変動差分から対地ごとのコスト値を計算し、コスト値の降順でソートを行うことにより、剥ぎ取りの実行順序を定めている。変動量a、パス長b及び乱数cは図22に示した場合と同様のものである。コスト値として、
コスト値=10000×a+100×b+c
を用いている。
タイムスロットの増加数を決定する段階では、増加量貼り付け計算部35は、各対地に貼り付けるタイムスロットの数を決定する。例えば、単純に変動量分に応じたタイムスロット数を貼り付けることとする。その後、タイムスロットを貼り付ける位置を決定する段階において増加量貼り付け計算部35は、テーブル空管理部34からの情報に基づいて、貼り付けを行う対地ごとに、貼り付けを行うタイムスロット位置を決定する。図26は、貼り付けを行うタイムスロット位置の決定の仕方を示すものであり、図示左側のリンクスケジュールテーブル部分において、ハッチングが付されているタイムスロットが使用中のタイムスロットである。貼り付けを行うタイムスロット位置の決定に際しては、リンクスケジュールテーブル25での空き状況からコスト値を算出し、コスト値の昇順に位置を選択する。貼り付け処理を行う時には、リンクスケジュールテーブル25上でできるだけ隙間を埋めるようにすることが好ましいから、同一タイムスロット位置で隣接するリンクが使用中となっているものや、同一リンクで隣接するタイムスロットが使用中となっているものが優先してタイムスロット追加の対象となるようにする。図26において、同一TS隣接空α、同一リンク隣接空β及びタイムスロット位置γは、図23におけるものと同様である。ここでは、コスト値として、
コスト値=10000×(α+β)+γ
を用いている。
図26に示した例では、対地D→Eに対してさらに1このタイムスロットを追加するときに、追加する位置の候補として、S1、S2、S16、S18,S19及びS20などがあるとして、コスト値が最小であるS16が選択され、この位置にタイムスロットが割り当てられる。
以上のようにして、どごにタイムスロットを割り当てるかが決定されると、次に、増加分貼り付け計算部35は、貼り付けが決定されたタイムスロットをリンクスケジュールテーブル25において割り当て追加し、テーブル空管理部34内に保持されている空き情報を更新し、割当帯域を割当履歴管理部36に通知して割当履歴管理部36を更新する。図27の上側は、リンクスケジュールテーブル25におけるタイムスロットの割り当て追加を示しており、追加されたタイムスロットは空きでなくなったものとしてテーブル空管理部34から削除される。なお、タイムスロットが追加されたことにより、周囲のタイムスロットのコスト値、具体的には上記の同一TS隣接空α及び同一リンク隣接空βも変動する。図27の下側は、図24に示すものと同様に、割当履歴管理部36に保持される割当履歴情報の例を示している。
タイムスロットを増やす対地の選択順序を決定する段階で決定された順序にしたがって、タイムスロットの追加数や追加位置の決定と、リンクスケジュールテーブル25の変更と、テーブル空管理部34及び割当履歴管理部26の更新とを繰り返すことにより、貼り付け処理が完了する。
剥ぎ取り処理及び貼り付け処理の一例について、式によって説明する。
ノード数をNとし、1フレーム内のタイムスロット数をCapとする。タイムスロットの繰り返し周期tが5ms、タイムスロット長TSが100μsであれば、cap=50となる。送信元ノードiと宛先ノードjのペア(すなわち対地)を(i,j)で表す。もちろん、i≠jである。
(i,j)を結ぶパスにおけるホップ数をHop(i,j)と表す。ノード数がNのリング状ネットワークの場合、最小のホップ数は1であり、最大のホップ数はN−1であり、平均のホップ数はN/2である。(i,j)間を結ぶパスがhホップ目に通過するリンクをLi,j(h)で表し、(i,j)間を結ぶパスがk番目に通過するノードをni,j(k)とする、
スケジューリング契機Tにおける対地(i,j)の要求タイムスロット数をReqi,j(T)とおき、Tにおいて対地(i,j)に割り当てるタイムスロット数をAsi,j(T)とおく。半固定スケジューリングを行う場合には、スケジューラは、契機Tで得られている情報(Reqi,j(T)など)を用いて、次のスケジューリング契機(T+1)における割り当てを決定してもよい。
過去M回分にわたる割当履歴での要求タイムスロット数と割り当てタイムスロット数との差をHisti,j(T)とする。
Figure 0005844759
である。以下に示すように、公平帯域Cfair(T)との差分を用いる方法もある。
Figure 0005844759
契機Tにおけるリンクスケジュールテーブルの内容をτ(T,Li,j(h),w,s) (h=1,…,Hop(i,j))
タイムスロット番号をsとし、契機TにおいてリンクスケジュールテーブルでリンクL、タイムスロット位置sでタイムスロットが空いていることをV(T,L,s)=1で表すこととする。
剥ぎ取りを行うかどうかの判定条件の一例では、
[1] Reqi,j(T)<Reqi,j(T−1)を満たす(i,j)から、Reqi,j(T−1)−Reqi,j(T)だけタイムスロットを剥ぎ取る、あるいは、
[2] Reqi,j(T)≦Asi,j(T−1)<Reqi,j(T−1)を満たす(i,j)から、Asi,j(T−1)−Reqi,j(T)だけタイムスロットを剥ぎ取る。
剥ぎ取りを行う順序を決定する方法の一例では、コスト関数Rip-up-priorityを
Rip-up-priority=μ{Asi,j(T−1)−Reqi,j(T)}+ν/Hop(i,j)
で定め、Rip-up-priorityの値の降順に剥ぎ取りを行う。このときμ>νの場合には、トラヒック変動が大きなパスが優先されて選択され、μ<νの場合には、長いパスの優先度が大きくなる。
剥ぎ取りを行うタイムスロット位置の決定方法の一例では、対地(i,j)から剥ぎ取りを行うとして、周囲に空きが多いタイムスロットを優先するためのコスト関数Rip-up-gainを
Figure 0005844759
と定める。これは、Rip-up-gainを
Rig-up-gain=α×[同一TS隣接空]+β×[同一スロット隣接空]
と定めていることと等価である。そして、Rip-up-gainが最大となるタイムスロット位置sを選択する。複数のタイムスロット位置が同一値を取った場合には、その中から老番のタイムスロット位置を選択する。ここで、α>βであれば、長いパスを設定しやすくする効果が強くなり、α<βであれば、太いパスを設定しやすくする効果が強くなる。
貼り付けを行うかどうかの判定条件の一例では、
[1] Reqi,j(T)>Reqi,j(T−1)を満たす(i,j)に、Reqi,j(T)−Reqi,j(T−1)だけタイムスロットを貼り付ける、あるいは、
[2] Reqi,j(T)>Asi,j(T−1)を満たす(i,j)に、Reqi,j(T)−Asi,j(T−1)だけタイムスロットを貼り付ける。
貼り付けを行う順序を決定する方法の一例では、コスト関数Alloc-priorityを
Alloc-priority=δ{Reqi,j(T)−Reqi,j(T−1)}+ε・Hop(i,j)
で定め、Alloc-priorityの値の降順に貼り付けを行う。このときδ>εの場合には、トラヒック変動が大きなパスが優先されて選択され、δ<εの場合には、長いパスの優先度が大きくなる。
貼り付けを行うタイムスロット位置の決定方法の一例では、対地(i,j)にタイムスロットを貼り付けるとして、まず、貼り付けを行うことができる帯域が存在するか否かを判定する。これはh=1,…,Hop(i,j)として、全てのhに対し、
V(T,Li,j(h),s)=1
が満たされるかどうかで判定する。次に、なるべく隙間を埋めるようにするためのコスト関数Alloc-costを
Figure 0005844759
と定める。そして、Alloc-costが最小となるタイムスロット位置sを選択する。複数のタイムスロット位置が同一値を取った場合には、その中から若番のタイムスロット位置を選択する。ここで、γ>ωであれば、長いパスを設定しやすくする効果が強くなり、γ<ωであれば、太いパスを設定しやすくする効果が強くなる。
ところで、本発明に基づくスケジューリング方法では、剥ぎ取り処理を行うためのアルゴリズム、貼り付け処理を行うためのアルゴリズムとして様々なバリエーションが存在し、しかも、どのようにコスト関数を設定するかによって、異なる効果が得られる。以下、これらのバリエーションを説明する。
剥ぎ取りを行うパスの選択順序を決定するアルゴリズムのバリエーションとしては、表1に示すようなものがある。
Figure 0005844759
上記のうちアルゴリズム[2]〜[4]は、これらを組み合わせて前述した例で用いている。アルゴリズム[1]〜[9]を組み合わせて使用することも可能である。また、ソーティングを行うものについては、ソーティングの代わりに閾値による分類を用いてもよい。閾値による分類では、1つの閾値を用いる場合(例としてパス長がその平均値より長いか短いかを用いる場合)には、パス長が閾値を超える場合には例えばRandam Fitアルゴリズムを使用し、そうでなければ例えばFirst Fitアルゴリズムを用いることが考えられる。複数の閾値を用い、閾値で分類された各クラスごとにそれぞれ異なるアルゴリズムを用いるようにしてもよい。閾値を用いる方法は、計算時間を短くしつつソーティングによるものと同等の効果を得ようとするものである。
剥ぎ取りを行うタイムスロット位置を決定する方法のバリエーションとしては、表2に示すようなものがある。
Figure 0005844759
アルゴリズム[3](周囲の空き状況を考慮して決定する)は前述した例でも用いているものであるが、周囲の空き状況を考慮するためにコスト関数を使用する。コスト関数をどのように構築するかの考え方として、長いパスを設定しやすくするために「長い空きを作り出す」、太いパスを設定しやすくするために「太い空きを作り出す」、及び、長く太いパスを設定しやすくするために「長く太いパスを作り出す」がある。これらの考え方を組み合わせることもできる。以下に説明するものでは、カウント値(周囲の空きタイムス
ロットの数)が大きいほどタイムスロットが剥ぎ取られやすくなるように、カウント値をコスト関数に反映させる。
「長い空きを作り出す」ためには、同一タイムスロット位置での周囲の空きの数をカウントすればよい。図28に示すリンクスケジュールテーブルにおいて、対地B→Dに割り当てられている3つのタイムスロットに対して剥ぎ取りを行う場合を考えると、B→Dのパスに隣接する箇所における空きの箇所(図において同一タイムスロット位置であって◎で示す箇所)をカウントすればよい。このとき、B→Dのパスのタイムスロット位置S2〜S4のうち、S2に対するカウント値は1となり、S3に対するカウント値は2となり、S4に対するカウント値は1となる。さらに、より長い空きが生じるように、図示◎で示す箇所にさらに連続する空きの箇所(図示○で示す箇所)も含めてカウントを行ってもよい。そうすると、B→Dのパスのタイムスロットのうち、S2のカウント値が2となり、S3のカウント値が3となる。
「太い空きを作り出す」ためには、同一リンクでの周囲の空きタイムスロットの数をカウントする。図28に示す例において、対地C→Eに割り当てられている2つのタイムスロットから剥ぎ取りを行う場合を考えると、タイムスロット位置S7では同一リンク内での空き位置が存在しないのに対し、タイムスロット位置S8では、図示◎で示すように隣接するタイムスロット位置S9がCからEまでの2リンクで空きとなっており、カウント値が2となる。さらに、上述する場合と同様に、より太い空きが生じるように、タイムスロット位置S9に隣接する箇所における空きの箇所(図示〇で示すタイムスロット位置S10)を含めてカウントを行ってもよい。その場合は、タイムスロット位置S8のカウント値は4となる。
「長く太い空きを作り出す」ためには、周囲の連続した空きをカウントする。同一タイムスロット位置や同一リンクで隣接する空きの箇所(図28での図示◎の箇所)だけでなく、これらの◎の箇所の2つに隣接する箇所(図示△の箇所)もカウントする。図28で示す例では、パスC→Eに関し、タイムスロット位置S8に対するカウント値が4となる。
貼り付けを行うパスの選択順序を決定するアルゴリズムのバリエーションとしては、表3に示すようなものがある。
Figure 0005844759
上記のうちアルゴリズム[2]〜[4]は、これらを組み合わせて前述した例で用いている。アルゴリズム[1]〜[9]を組み合わせて使用することも可能である。また、剥ぎ取り処理の場合と同様に、ソーティングを用いる代わりに閾値による分類を用いてもよい。
貼り付けを行うタイムスロット位置を決定する方法のバリエーションとしては、表4に示すようなものがある。
Figure 0005844759
アルゴリズム[3](周囲の空き状況を考慮して決定する)は前述した例でも用いているものであるが、周囲の空き状況を考慮するためにコスト関数を使用する。コスト関数をどのように構築するかの考え方として、長いパスを設定しやすくするために「短い空きを埋める」、太いパスを設定しやすくするために「細い空きを埋める」、及び、長く太いパスを設定しやすくするために「短く細いパスを埋める」がある。これらの考え方を組み合わせることもできる。以下に説明するものでは、カウント値が大きいほどタイムスロットが貼り付けられやすくなるように、カウント値をコスト関数に反映させる。
「短い空きを埋める」ためには、同一タイムスロット位置での割り当て済みタイムスロットの数をカウントすればよい。図29に示すリンクスケジュールテーブルにおいて、ハッチングが付されている部分は既に割り当て済みのタイムスロットを示している。ここで対地B→Dのタイムスロットを新たに割り当てることを考えると、候補となるタイムスロット位置は、例えば、S2、S3及びS4である。この場合は、B→Dのパスに隣接する箇所における割り当て済みの箇所(図において同一タイムスロット位置であって◎で示す箇所)をカウントすればよい。このとき、B→Dのパスのタイムスロット位置S2〜S4のうち、S2に対するカウント値は1となり、S3に対するカウント値は0となり、S4に対するカウント値は1となる。さらに、同一タイムスロット位置で隣接するリンクに対して連続している割り当て済みの箇所(図示○で示す箇所)も含めてカウントを行ってもよい。そうすると、B→Dのパスのタイムスロットのうち、S4のカウント値が2となる。
「細い空きを埋める」ためには、同一リンクでの周囲の割り当て済みタイムスロットの数をカウントする。図29に示されるパスB→Dに貼り付け処理を行う例において、タイムスロット位置S3では同一リンク内で隣接する割り当て済みのタイムスロット位置が存在しないのに対し、タイムスロット位置S2では、図示◎で示すように隣接するタイムスロット位置S1がBからDまでの2リンクで割り当て済みとなっており、カウント値が2となる。同様に、タイムスロット位置S4のカウント値は1となる。さらに、上述した場合と同様に、同一リンク内で隣接する位置にさらに連続している割り当て済みの箇所(図示○で示すタイムスロット位置S6の箇所)を含めてカウントを行ってもよい。その場合は、タイムスロット位置S4のカウント値は2となる。
「短く細い空きを埋める」ためには、周囲の割り当て済みタイムスロットをカウントする。同一タイムスロット位置や同一リンクで隣接する割り当て済みの箇所(図29での図示◎の箇所)だけでなく、これらの◎の箇所の2つに隣接する箇所(図示△の箇所)もカウントする。図29で示す例では、パスB→Dに関し、タイムスロット位置S2に対するカウント値が4、タイムスロット位置S4に対するカウント値が3となる。
次に、方法2について説明する。方法2では、前回と今回の所要TSマトリクスを比較してトラヒック量の変動差分を求めるのではなく、前回実際に帯域割当を行った状態と今回の所要TSマトリクスからの乖離を「割当差分」と定義し、剥ぎ取り処理と貼り付け処理との計算に用いている。また、乖離(割当差分)における不足分に基づく貼り付け処理を優先して行い、必要なときにのみ、割当差分における超過分に基づいて剥ぎ取り処理を行うようにする。図30は、方法2に基づいてスケジューリングを行うTDMネットワークシステムにおいて用いられるスケジューラ20の構成を示している。
方法2で用いられ図30に示されるスケジューラ20は、図17に示した方法1用のスケジューラ20と同様のものであるが、トラヒック変動差分算出部、変動差分テーブル、減少分剥ぎ取り計算部及び増加分貼り付け計算部が設けられておらず、その代わりに割当差分算出部41、割当差分テーブル42、超過分剥ぎ取り計算部43及び不足分貼り付け計算部44が設けられている点で、図17に示したものと異なっている。以下、この相違点を中心にして方法2について説明する。
割当差分算出部41は、1つ前の制御タイミング(すなわち前回)で実際に割り当てたタイムスロット数と交流トラヒック量集計部21から得た要求タイムスロット数とを比較することで割当差分を算出し、割当差分情報として割当差分テーブル42に格納するものである。前回実際に割り当てたライムスロット数の情報は、割当履歴管理部36から供給される。割当差分テーブル42に書き込まれた割当差分情報は、前述と同様に分類やソーティングの対象となり、必要に応じて、超過分剥ぎ取り計算部43及び不足分貼り付け計算部44に渡される。
超過分剥ぎ取り計算部43は、減少分剥ぎ取り計算部と等価なものであって、割当差分テーブル42に格納された割当差分情報とテーブル空管理部34から得られたテーブルの空き情報と割当履歴管理部36から得られた過去の割当履歴とに基づいて剥ぎ取り処理を実行し、その結果に応じてテーブル空管理部34内のテーブル空き情報とリンクスケジュールテーブル25とを書き換え、また、今回の剥ぎ取り処理による割当帯域を割当履歴管理部36に通知する。同様に不足分貼り付け計算部46は、増加分貼り付け計算部と等価なものであって、割当差分テーブル42に格納された割当差分情報とテーブル空管理部34から得られたテーブルの空き情報と割当履歴管理部36から得られた過去の割当履歴とに基づいて貼り付け処理を実行し、その結果に応じてテーブル空管理部34内のテーブル空き情報とリンクスケジュールテーブル25とを書き換え、また、今回の貼り付け処理による割当帯域を割当履歴管理部36に通知する。
割当履歴管理部36は、割当履歴を保持し管理するものであって、超過分剥ぎ取り計算部43及び不足分貼り付け計算部44から割当帯域の通知を受けて割当履歴に追加し、超過分剥ぎ取り計算部43、不足分貼り付け計算部44及び割当差分算出部41に対して割当履歴情報を提供する。
次に、このスケジューラ20の動作について、図31及び図32に示すシーケンス図を用いて説明する。
まず、各ノードからトラヒック量に関する情報が交流トラヒック量集計部21に送られ(ステップ201)、ステップ202において交流トラヒック量集計部21は各ノード間すなわち各対地の所要タイムスロット(TS)数を算出し、TSマトリクスとして割当差分算出部41に送る(ステップ204)。これに先立って、割当履歴管理部36は、前回割り当てたTSマトリクスの情報を割当差分算出部41に送る(ステップ203)。
割当差分算出部41は、ステップ205において、交流トラヒック量集計部21から送られてきたTSマトリクスと前回割り当てのTSマトリクスとを比較し、それらの差分(割当差分情報)を割当差分テーブル42に送り(ステップ206)、ステップ207において割当差分情報が割当差分テーブル42に書き込まれる。割当差分テーブル42から、割り当て済みのタイムスロット数が所要タイムスロット数を超過しているパスとその超過量とに関する情報が超過分剥ぎ取り計算部43に送られ(ステップ208)、割り当て済みのタイムスロット数が所要タイムスロット数に比べて不足しているパスとその不足量とに関する情報が不足分貼り付け計算部44に送られる(ステップ209)。また、割当履歴管理部36から、各パスの帯域割当履歴が超過分剥ぎ取り計算部43及び不足分貼り付け計算部44に送られる(ステップ210,211)。
ステップ212において、不足部貼り付け計算部44は、貼り付け処理の計算を行い、次にステップ217において、ステップ212における計算において貼り付けが不可能であったかを判断し、貼り付けが不可能であった場合には剥ぎ取り命令を超過分剥ぎ取り計算部43に送る(ステップ218)。超過分剥ぎ取り計算部43は、ステップ219において、剥ぎ取り命令を受け取り済みかどうかを判断する。受け取り済みであれば、超過分剥ぎ取り計算部43は、ステップ220において剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部34に送り(ステップ221)、リンクスケジュールテーブル25の更新のためにテーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ222)。これらにより、テーブル空管理部34では、ステップ223において、テーブルの空き情報の更新が行われ、ステップ224においてリンクスケジュールテーブル25の更新が行われる。さらに超過分剥ぎ取り計算部43は、剥ぎ取り完了通知を不足分貼り付け計算部44に送る(ステップ225)。
不足分貼り付け計算部44は、ステップ226において、剥ぎ取り完了通知を受け取ったかどうかを判断し、受け取った場合には、ステップ227において、貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部34に送り(ステップ228)、リンクスケジュールテーブル25の更新のためにテーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ229)。これらにより、テーブル空管理部34では、ステップ230において、テーブルの空き情報の更新が行われ、ステップ231においてリンクスケジュールテーブル25の更新が行われる。
これ以降は、方法1でのステップ131からの処理(図19参照)が実行される。
次に、方法3について説明する。方法3では、方法1と方法2とを組み合わせ、トラヒックが増加した対地が少ない場合には方法2を適用して貼り付け処理を優先させ、トラヒックが増加した対地が多い場合には、方法1を適用して剥ぎ取り処理を優先させるものである。図33は、方法3に基づいてスケジューリングを行うTDMネットワークシステムにおいて用いられるスケジューラ20の構成を示している。
方法3で用いられ図33に示されるスケジューラ20は、図17に示した方法1用のスケジューラ20に、さらに、方法2の実施のために割当差分算出部41及び割当差分テーブル42を設け、方法1と方法2のどちらの処理を優先させるかを判断するためのコンパレータ51を設けたものである。また、減少分剥ぎ取り計算部の代わりに、減少分剥ぎ取り計算部と方法2での超過分剥ぎ取り計算部との機能を合わせ備える剥ぎ取り計算部52が設けられ、増加分貼り付け計算部の代わりに、増加分貼り付け計算部と方法2での不足分貼り付け計算部との機能を合わせ備える貼り付け計算部53が設けられている。コンパレータ51は、変動差分テーブル31から変動差分情報を供給され、トラヒックが増加した対地数とトラヒックが減少した対地数とを比較し、いずれが多いかに応じて、剥ぎ取り計算部52及び貼り付け計算部53に対し、方法1と方法2のいずれによって剥ぎ取り処理及び貼り付け処理を行うべきかを指示する。
次に、このスケジューラ20の動作について、図34及び図35に示すシーケンス図を用いて説明する。
まず、各ノードからトラヒック量に関する情報が交流トラヒック量集計部21に送られ(ステップ301)、ステップ302において交流トラヒック量集計部21は各ノード間すなわち各対地の所要タイムスロット(TS)数を算出し、TSマトリクスとしてトラヒック変動差分算出部31及び割当差分算出部41に送る(ステップ304,305)。これらに先立って、割当履歴管理部36は、前回割り当てたTSマトリクスの情報を割当差分算出部41に送る(ステップ303)。
トラヒック変動差分算出部31は、ステップ306において、前回と今回との間での所要TSマトリクスを比較し、変動差分情報を変動差分テーブル32に送り(ステップ308)、ステップ310において変動差分情報が変動差分テーブル32に書き込まれる。これと並行して、割当差分算出部41は、ステップ307において、今回の所要TSマトリクスと前回割り当てのTSマトリクスとを比較し、それらの差分(割当差分情報)を割当差分テーブル42に送り(ステップ309)、ステップ311において割当差分情報が割当差分テーブル42に書き込まれる。割当履歴管理部36から、各パスの帯域割当履歴が剥ぎ取り計算部52及び貼り付け計算部53に送られる(ステップ312,313)。
次に、変動差分テーブル32から、所要タイムスロット数が減少したパスとその減少量とに関する情報が剥ぎ取り計算部52に送られ(ステップ314)、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部53に送られる(ステップ315)。割当差分テーブル42からは、割り当て済みのタイムスロット数が所要タイムスロット数を超過しているパスとその超過量とに関する情報が超過分剥ぎ取り計算部43に送られ(ステップ316)、割り当て済みのタイムスロット数が所要タイムスロット数に比べて不足しているパスとその不足量とに関する情報が不足分貼り付け計算部44に送られる(ステップ317)。さらに変動差分テーブル32から、トラヒックが減少した対地数とトラヒックが増加した対地数に関する情報が、コンパレータ51に送られる(ステップ318)。
コンパレータ51は、ステップ319において、トラヒックが減少した対地数とトラヒックが増加した対地数とを比較し、ステップ320において、どちらの対地数が多いかを判断する。ここで、増加した対地数≧減少した対地数であれば、コンパレータ51は、剥ぎ取り計算部52及び貼り付け計算部53に対して方法1の実行を指示し(ステップ321,322)、増加した対地数<減少した対地数であれば、剥ぎ取り計算部52及び貼り付け計算部53に対して方法2の実行を指示する(ステップ323,324)。これを受けて、剥ぎ取り計算部52及び貼り付け計算部53は、ステップ325において、指示された方法(方法1または方法2)によってスケジューリングの計算を行い、それらの計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部34に送り(ステップ326,327)、リンクスケジュールテーブル25の更新のためにテーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ328,329)。これらにより、テーブル空管理部34では、ステップ330において、テーブルの空き情報の更新が行われ、ステップ331においてリンクスケジュールテーブル25の更新が行われる。
これ以降は、方法1でのステップ131からの処理(図19参照)が実行される。
次に、方法1〜方法3にさらなる変更を加えた例を説明する。
上述したように、スケジューリングに際し、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うことができる。ここでは、方法1の実施の際に剥ぎ取り処理及び貼り付け処理の実行回数の制限を行う場合を説明するが、方法2、方法3においても同様に実行回数の制限を行うことができる。
図36は、方法1によるスケジューラであって、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うことができるようにしたスケジューラの構成を示している。図36に示されるスケジューラ20は、図17に示した方法1用のスケジューラに、さらに、剥ぎ取り処理及び貼り付け処理の実行回数の制限を行うために、帯域変更を行った回数を管理する帯域変更カウンタ37を設けたものである。帯域変更カウンタ36には、剥ぎ取り処理を行った回数を数えるカウンタと、貼り付け処理を行った回数を数えるカウンタとが設けられ、剥ぎ取り処理の実行回数の上限値Ruと、貼り付け処理の実行回数の上限値Raとが設定される。上限値Ru,Raは、それぞれ事前に独立して定めることができる。
図37は、図36に示すスケジューラ20を用いたスケジューリングの処理を示すシーケンス図である。ここでは、トラヒック変動差分算出部31から要求タイムスロット数の差分が変動差分テーブル32に送られる処理以降の処理について説明する。これより前の処理は、方法1に関して図18に示したものと同一である。
トラヒック変動差分算出部31が要求タイムスロット数の差分(変動差分情報)を変動差分テーブル32に送ると(ステップ105)、ステップ106において変動差分情報が変動差分テーブル32に書き込まれる。変動差分テーブル32から、所要タイムスロット数が減少したパスとその減少量とに関する情報が減少分剥ぎ取り計算部33に送られ(ステップ107)、所要タイムスロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部35に送られる(ステップ108)。割当履歴管理部36から、各パスの帯域割当履歴が減少分剥ぎ取り計算部33及び増加分貼り付け計算部35に送られる(ステップ108,109)。
すると、ステップ151において、減少分剥ぎ取り計算部33は、1つのパス(対地)について剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、空の更新トリガをテーブル空管理部34に送り(ステップ152)、剥ぎ取り処理を実施したことの通知(剥ぎ取り処理通知)を帯域変更カウンタ37に送り(ステップ153)、テーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ154)。これらにより、テーブル空管理部34では、ステップ155において、テーブルの空き情報の更新が行われ、ステップ156においてリンクスケジュールテーブル25の更新が行われる。帯域変更カウンタ37では、ステップ157において、剥ぎ取り回数カウンタがインクリメントされ、ステップ158において、このカウンタ値が上限値Ruに達したかどうかが判定される。帯域変更カウンタ37は、上限値Ruに達していなければ、次の剥ぎ取り処理通知を待ち受ける状態に戻り、上限値Ruに達していれば、打切り指示を減少分剥ぎ取り計算部33に送る(ステップ159)。減少分剥ぎ取り計算部33は、ステップ160において、打切り指示があったかどうかを判断し、打切り指示がない場合にはステップ151に戻って、次の1つパスの剥ぎ取り処理のための計算を実行する。
一方、増加分貼り付け計算部35は、ステップ161において、1つのパスについて貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部36に送るとともに、空の更新トリガをテーブル空管理部34に送り(ステップ162)、貼り付け処理を実施したことの通知(貼り付け処理通知)を帯域変更カウンタ37に送り(ステップ163)、テーブルの更新トリガをリンクスケジュールテーブル25に送る(ステップ164)。これらにより、テーブル空管理部34では、ステップ165において、テーブルの空き情報の更新が行われ、ステップ166においてリンクスケジュールテーブル25の更新が行われる。帯域変更カウンタ37では、ステップ167において、貼り付け回数カウンタがインクリメントされ、ステップ168において、このカウンタ値が上限値Raに達したかどうかが判定される。帯域変更カウンタ37は、上限値Raに達していなければ、次の貼り付け処理通知を待ち受ける状態に戻り、上限値Raに達していれば、打切り指示を増加分貼り付け計算部35に送る(ステップ169)。増加分貼り付け計算部35は、ステップ170において、打切り指示があったかどうかを判断し、打切り指示がない場合にはステップ161に戻り、次の1つパスの貼り付け処理のための計算を実行する。
これらの処理の後は、図19に示されるステップ131の処理が実行され、スケジューリングの処理が完了することになる。
次に、制御反映までの時間を短縮するための構成について説明する。
光TDMネットワークでは、その正常な動作のために、各ノードがデータ送信スケジュールやスイッチの方路切替スケジュールなどの処理スケジュールを認識している必要があり、そのために、ノードスケジュールテーブル(あるいは処理スケジュール)を各ノードに事前に配布する必要がある。方法1〜方法3で説明したスケジューラでは、リンクスケジュールテーブル25自体は部分的にしか変更されないものの、リンクスケジュールテーブル25の全体が完成してからテーブル全体を最初からノードスケジュールテーブル27に変換しているので、スケジュールが確定してからそれがノードスケジュールテーブル27に反映され、各ノードに反映されるまでの所要時間が長くなる、という潜在的な課題がある。そこで、ノードスケジュールテーブル27の導出を低負荷で実施し、スケジュールの確定からそれが各ノードでの実際の制御に反映するまでの時間を短縮することが考えられる。
図38に示すスケジューラは、図17に示した方法1用のスケジューラと同様の構成のものであるが、テーブル変換部の代わりにテーブル書換部38を設け、リンクスケジュールテーブル25において減少分剥ぎ取り処理部33あるいは増加分貼り付け処理部35による部分変更があるたびに、その部分変更をテーブル書換部38によって直ちにノードスケジュールテーブル27にも反映させるようにしたものである。テーブル書換部38は、減少分剥ぎ取り処理部33及び増加分貼り付け処理部35からそれぞれ剥ぎ取り処理及び貼り付け処理の結果を受け取り、それらの結果に基づいて、剥ぎ取り処理あるいは貼り付け処理によって変更されることとなる箇所についてノードスケジュールテーブル27を部分変更する。このようなテーブル書換部38を設けることにより、リンクスケジュールテーブル25の完成後に最初から変換を行ってノードスケジュールテーブル27を生成する必要がなくなって、スケジュール確定からそれが各ノードでの制御に反映するまでの時間を短縮することができる。
ここでは、方法1に用いられるスケジューラについて制御反映までの時間を短縮することを説明したが、方法2あるいは方法3に用いられるスケジューラについても、テーブル変換部の代わりに上述したテーブル書換部を設けることによって、制御反映までの時間を短縮することができる。
上述した各スケジューリング方法は、前回と今回との間でのトラヒック量の差分に基づいてスケジューリングを行う方法であるが、差分だけを考慮したスケジューリングを続けていると、スケジューリングの最適解から乖離していく事象が発生する可能性がある。特に、所要タイムスロット数の差分だけに依拠する方法1では、最適解からの乖離が起こりやすいと考えられる。そこで、最適解からの乖離に対処するために、定期的に、最適解への補正を行うことが考えられる。
図39は、スケジューリング最適解からの乖離を抑制するようにしたスケジューラの構成を示している。図示されるスケジューラ60は、2種類のスケジューラ62,63をセレクタ64で切り替えるようにしたものであり、セレクタ64によって選択されたスケジューラでの処理結果によって、リンクスケジュールテーブル25の変更がなされるようになっている。スケジューラ60には、上述した方法1〜方法3のスケジューラと同様に、交流トラヒック量集計部21、テーブル変換部26、ノードスケジュールテーブル27、テーブル送信部28、タイマ29及び割当履歴管理部36を備えており、さらに、トラヒック傾向算出部61及び補正トリガ部65も備えている。
トラヒック傾向算出部61は、交流トラヒック量集計部21から所要タイムスロット数の情報を取得し、過去の所要タイムスロット数情報と比較することにより、対地(パス)ごとのトラヒックの増減やそれらの変化量の傾向を算出する。
スケジューラ62は、トラヒック傾向算出部62からトラヒックの増減やそれらの変化量の傾向についての算出結果を受け取り、割当履歴管理部36から過去の割当履歴情報を受け取って、従来から公知の一般的なスケジューリングアルゴリズムにしたがって、スケジューリング最適解の導出を行うものである。このスケジューラ62は、最適解を導出した時点でその旨を通知するトリガ信号を補正トリガ部65に出力する。
一方、スケジューラ63は、本発明にしたがって差分に基づく剥ぎ取り処理及び貼り付け処理を行うスケジューラである。具体的にはスケジューラ63は、例えば、図17に示した方法1用のスケジューラにおけるトラヒック変動算出部31、変動差分テーブル32、減少分剥ぎ取り計算部33、テーブル空管理部34及び増加分貼り付け計算部35からなる部分、あるいは、図30に示した方法2用のスケジューラにおける割当差分算出部41、割当差分テーブル42、超過分剥ぎ取り計算部43、テーブル空管理部34及び不足分貼り付け計算部44からなる部分によって構成される。さらに、スケジューラ63は、方法3に基づいて動作するものであってもよい。
補正トリガ部65は、スケジューラ62からトリガ信号が出されたときのみ、スケジューラ62から出力されるスケジューリング最適解によってリンクスケジュールテーブル25の全体が更新され、それ以外のときはスケジューラ63で実行される剥ぎ取り処理及び貼り付け処理によってリンクスケジュールテーブル25が部分変更されるように、セレクタ54を切り替える。
スケジューリング最適解導出のための計算の所要時間は、差分に基づく剥ぎ取り処理及び貼り付け処理を行うための計算の所要時間よりもかなり長い。そこで図39に示したスケジューラ60では、スケジューリング最適解導出を行うスケジューラ62は、剥ぎ取り処理及び貼り付け処理によるスケジューリングの周期よりも長い周期でスケジューリング計算を行い、剥ぎ取り処理及び貼り付け処理によるスケジューリングに対する補正を行っている。このスケジューラ60を用いることにより、差分に基づく剥ぎ取り処理及び貼り付け処理によるスケジューリングを行うことでスケジューリングの所要時間を短縮してリソース割り当てを高速で実行できるようになるとともに、スケジューリング最適解からの乖離を最小限に抑えることができる。
10 リンク
11 ノード
12 ホストコンピュータ
20,60,61,62 スケジューラ
21 交流トラヒック量集計部
22 未割当パステーブル
23 パスセレクタ
24 テーブル書込部
25 リンクスケジュールテーブル
26 テーブル変換部
27 ノードスケジュールテーブル
28 テーブル送信部
29 タイマ
31 トラヒック変動差分算出部
32 変動差分テーブル
33 減少分剥ぎ取り計算部
34 テーブル空管理部
35 増加分貼り付け計算部
36 割当履歴管理部
37 帯域変更カウンタ
38 テーブル書換部
41 割当差分算出部
42 割当差分テーブル
43 超過分剥ぎ取り計算部
44 不足分貼り付け計算部
51 コンパレータ
52 剥ぎ取り計算部
53 貼り付け計算部

Claims (7)

  1. 複数のノードと前記ノード間を接続するリンクとを備えるTDMネットワークシステムにおいて、
    通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるスケジューラを有し、
    前記スケジューラは、
    リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルと、
    対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段と、
    前記対地ごとに当該対地のトラヒック量が減少したことに応じて、前記リンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う剥ぎ取り計算手段と、
    前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う貼り付け計算手段と、
    を有することを特徴とする、TDMネットワークシステム。
  2. 前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、今回の所要タイムスロットマトリクスと前回の所要タイムスロットマトリクスとを比較して変動差分情報として変動差分テーブルに格納するトラヒック変動差分算出部と、を有し、
    前記剥ぎ取り計算手段及び前記貼り付け計算手段は、それぞれ、前記変動差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行い、
    前記貼り付け処理よりも前記剥ぎ取り処理が優先して実行される、請求項1に記載のTDMネットワークシステム。
  3. 前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、対地ごとに現在割り当てられているタイムスロット数を示す割当タイムスロットマトリックスと今回の所要タイムスロットマトリクスとを比較して割当差分情報として割当差分テーブルに格納する割当差分算出部と、を有し、
    前記剥ぎ取り計算手段及び前記貼り付け計算手段は、それぞれ、前記割当差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行い、
    前記剥ぎ取り処理よりも前記貼り付け処理を優先して実行して前記貼り付け処理の完了が不可能なときに前記剥ぎ取り処理を実行する、請求項1に記載のTDMネットワークシステム。
  4. 前記スケジューラは、トラヒックが増加した対地の数とトラヒックが減少した対地の数の大小関係を判別するコンパレータをさらに備え、
    前記差分検出手段は、各対地の要求トラヒック量をタイムスロット数に換算して所要タイムスロットマトリクスを生成する交流トラヒック量集計部と、今回の所要タイムスロットマトリクスと前回の所要タイムスロットマトリクスとを比較して変動差分情報として変動差分テーブルに格納するトラヒック変動差分算出部と、対地ごとに現在割り当てられているタイムスロット数を示す割当タイムスロットマトリックスと前記今回の所要タイムスロットマトリクスとを比較して割当差分情報として割当差分テーブルに格納する割当差分算出部と、を有し、
    前記コンパレータは、前記大小関係に応じ、前記剥ぎ取り計算手段及び前記貼り付け計算手段に対し、前記変動差分テーブル及び前記割当差分テーブルのいずれかを選択して前記剥ぎ取り処理及び前記貼り付け処理を行わせ、
    前記変動差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行っているときは前記貼り付け処理よりも前記剥ぎ取り処理が優先して実行され、
    前記割当差分テーブルを参照して前記剥ぎ取り処理及び前記貼り付け処理を行っているときは、前記剥ぎ取り処理よりも前記貼り付け処理が優先し、前記貼り付け処理の完了が不可能なときに前記剥ぎ取り処理が実行される、請求項1に記載のTDMネットワークシステム。
  5. 前記スケジューラは、前記剥ぎ取り処理の実行回数と前記貼り付け処理の実行回数を計数して管理する帯域変更カウンタをさらに備え、
    前記剥ぎ取り処理の実行回数が第1の上限値に達したときに前記剥ぎ取り処理の実行が打ち切られ、前記貼り付け処理の実行回数が第2の上限値に達したときに前記貼り付け処理の実行が打ち切られる、請求項1乃至4のいずれか1項に記載のTDMネットワークシステム。
  6. 複数のノードと前記ノード間を接続するリンクとを備え、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てられるTDMネットワークシステムにおけるスケジューリング方法において、
    対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する段階と、
    前記対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を行う段階と、
    前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を行う段階と、
    を有することを特徴とするスケジューリング方法。
  7. 複数のノードと前記ノード間を接続するリンクとを備えるTDMネットワークシステムに設けられ、通信元ノードと宛先ノードとの組み合わせである対地ごとに、当該対地におけるトラヒック量に応じて当該対地にタイムスロットを割り当てるコンピュータを、
    対地ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を検出する差分検出手段、
    前記対地ごとに当該対地のトラヒック量が減少したことに応じて、リンクごとかつタイムスロット位置ごとにタイムスロットの割当状況を示すリンクスケジュールテーブルから当該対地に割り当てられているタイムスロットを削除する剥ぎ取り処理を実行する剥ぎ取り計算手段、及び
    前記対地ごとに当該対地のトラヒック量が増加したことに応じて、前記リンクスケジュールテーブルにおいて空きとなっている位置で当該対地のためのタイムスロットを追加する貼り付け処理を実行する貼り付け計算手段、
    として機能させるプログラム。
JP2013030168A 2013-02-19 2013-02-19 Tdmネットワークシステム及びそのスケジューリング方法 Expired - Fee Related JP5844759B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013030168A JP5844759B2 (ja) 2013-02-19 2013-02-19 Tdmネットワークシステム及びそのスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013030168A JP5844759B2 (ja) 2013-02-19 2013-02-19 Tdmネットワークシステム及びそのスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2014160920A JP2014160920A (ja) 2014-09-04
JP5844759B2 true JP5844759B2 (ja) 2016-01-20

Family

ID=51612336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013030168A Expired - Fee Related JP5844759B2 (ja) 2013-02-19 2013-02-19 Tdmネットワークシステム及びそのスケジューリング方法

Country Status (1)

Country Link
JP (1) JP5844759B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6234916B2 (ja) * 2014-11-19 2017-11-22 日本電信電話株式会社 ネットワークシステムおよびその制御方法
JP6234915B2 (ja) * 2014-11-19 2017-11-22 日本電信電話株式会社 ネットワークシステムおよびその制御方法
JP6279460B2 (ja) * 2014-12-19 2018-02-14 日本電信電話株式会社 ネットワークシステムおよびその制御方法
GB2564300B (en) * 2016-03-25 2021-11-17 Nec Corp Communication control device, communication control method and recording medium
JP7334859B2 (ja) * 2020-05-18 2023-08-29 日本電信電話株式会社 通信装置、通信方法、通信システムおよび通信プログラム

Also Published As

Publication number Publication date
JP2014160920A (ja) 2014-09-04

Similar Documents

Publication Publication Date Title
JP5844759B2 (ja) Tdmネットワークシステム及びそのスケジューリング方法
JP4806466B2 (ja) パス管理制御方法、パス管理制御プログラム、パス管理制御装置およびパス管理制御システム
AU2021104939A4 (en) Method and device for allocating resources
JP6395260B2 (ja) 仮想ネットワーク割当方法および装置
EP3152659B1 (en) Scheduling access to resources for efficient utilisation of network capacity and infrastructure
JP6804695B1 (ja) 光通信装置およびリソース管理方法
Lu et al. Optimizing deadline-driven bulk-data transfer to revitalize spectrum fragments in EONs
US8902920B2 (en) Dynamic advance reservation with delayed allocation
Shen et al. A two-phase approach for dynamic lightpath scheduling in WDM optical networks
US8644703B2 (en) Resource utilization method and system
Feng et al. Joint provisioning of lightpaths and storage in store-and-transfer wavelength-division multiplexing networks
JP6279981B2 (ja) エラスティック光パスネットワークシステム、スペクトル割り当て方法及びプログラム
JP6475648B2 (ja) 通信システム及び通信装置の動作方法並びにプログラム
Bórquez-Paredes et al. Does fragmentation avoidance improve the performance of dynamic spectrum allocation in elastic optical networks?
Mahala et al. Resource allocation with advance reservation using artificial neural network in elastic optical networks
EP3485618A1 (en) Device and method for managing end-to-end connections
Singh et al. Defragmentation based load balancing routing & spectrum assignment (DLBRSA) strategy for elastic optical networks
JP2017212707A (ja) 通信装置、設定方法及び通信プログラム
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
Wang et al. Scheduling large data flows in elastic optical inter-datacenter networks
JP5937042B2 (ja) Tdmネットワークシステム及びそのスケジューリング方法
Liu et al. Joint jobs scheduling and routing for metro-scaled micro datacenters over elastic optical networks
CN113630671A (zh) 基于串扰感知的专用保护频谱分配方法及系统
Feng et al. Dimensioning of store-and-transfer WDM network with limited storage
Figueiredo et al. Optimal algorithms for the batch scheduling problem in OBS networks

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20141027

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151119

R150 Certificate of patent or registration of utility model

Ref document number: 5844759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees