特許第6042284号(P6042284)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6042284TDMネットワークシステムおよびスケジューリング方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6042284
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月14日
(54)【発明の名称】TDMネットワークシステムおよびスケジューリング方法
(51)【国際特許分類】
   H04J 3/16 20060101AFI20161206BHJP
   H04L 12/28 20060101ALI20161206BHJP
   H04L 12/42 20060101ALI20161206BHJP
【FI】
   H04J3/16 Z
   H04L12/28 200B
   H04L12/42 B
【請求項の数】6
【全頁数】46
(21)【出願番号】特願2013-157589(P2013-157589)
(22)【出願日】2013年7月30日
(65)【公開番号】特開2015-29184(P2015-29184A)
(43)【公開日】2015年2月12日
【審査請求日】2015年7月1日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】中川 雅弘
(72)【発明者】
【氏名】服部 恭太
(72)【発明者】
【氏名】君島 直樹
(72)【発明者】
【氏名】片山 勝
(72)【発明者】
【氏名】三澤 明
【審査官】 森谷 哲朗
(56)【参考文献】
【文献】 国際公開第2009/025329(WO,A1)
【文献】 特開2011−199840(JP,A)
【文献】 中川雅弘,服部恭太,君島直樹,片山勝,三澤明,光L2スイッチネットワークにおける階層化スケジューリング方式の提案,電子情報通信学会 信学技報,2012年 9月,pp.141-146
【文献】 岡本佳祐,高橋達郎,位相非同期型光スイッチ網におけるタイムスロット割り当てアルゴリズムの検討,電子情報通信学会 信学技報,2012年11月,pp.41-46
(58)【調査した分野】(Int.Cl.,DB名)
H04J 3/16
H04L 12/28
H04L 12/42
(57)【特許請求の範囲】
【請求項1】
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
計算打ち切りトリガを受けるまで、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置し、
前記計算打ち切りトリガは、
(1)前記スケジュールテーブルのスケジュール長がTDMフレーム長以下になった場合、
(2)前記スケジュールテーブル上でTDMフレーム長を超えたタイムスロット位置に割り当てられたパスをリスト形式で記憶し、再配置によってTDMフレーム長の範囲内に割当位置が変更されたパスはリストから除外し、リストが空になった場合、
(3)前記複数のノードからトラヒック量の報告を行う信号を受信した数をカウントし、当該カウンタ値が閾値に達した場合、
(4)一定時間が経過する毎、
(5)一定時間内に、再配置によって、前記スケジュールテーブル上の割当済タイムスロットの詰まり状況を表す値が閾値以上となり、かつ、トラヒック量と割当済タイムスロット数を基に算出したタイムスロットの割当精度を表す値が閾値未満のパスがなくなった場合、
のいずれかのタイミングで通知されることを特徴とする、TDMネットワークシステム。
【請求項2】
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
条件を満たした場合に、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置し、
前記条件を満たした場合は、
(1)トラヒック量と割当済タイムスロット数を基に算出したタイムスロットの割当精度を表す値が閾値未満のパスがある場合、
(2)前記スケジュールテーブル上の割当済タイムスロットの詰まり状況を表す値が閾値未満である状況、または、(1)の状況、になった累積回数をカウントし、当該カウンタ値が閾値に達した場合、
(3)前記複数のノードのいずれかから、パスのキュー長が閾値を超過した旨の通知を受けた場合、
(4)前記複数のノードのいずれかから、パスのテールドロップ率が閾値を超過した旨の通知を受けた場合、
のいずれかであることを特徴とする、TDMネットワークシステム。
【請求項3】
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
タイムスロットの再配置を行う通知を受けた場合に、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置し、
前記通知は、
(1)いずれかの前記ノードによる、タイムスロット割当の精度が悪化しているパスがあることを示す最適解乖離通知、
(2)いずれかの前記ノードによる、各パスのテールドロップ率が所定の閾値を超過しているパスがあることを示す閾値超過通知、
(3)一定時間内に前記ノードから前記最適解乖離通知を受けた回数が閾値に達したことを示す通知、
(4)一定時間内に前記ノードから前記閾値超過通知を受けた回数が閾値に達したことを示す通知、
のいずれかであることを特徴とする、TDMネットワークシステム。
【請求項4】
前記演算装置は、
前記スケジュールテーブルを作成するに際し、
前記複数のノードをグループ化し、
グループ内のスケジューリングを行い、
グループ間のスケジューリングを行い、
グループ間のスケジューリング結果にグループ内のスケジューリング結果を代入することで、前記スケジュールテーブルを作成することを特徴とする、請求項1からのいずれか1項に記載のTDMネットワークシステム。
【請求項5】
前記演算装置は、
前記スケジュールテーブルを作成するに際し、
パスごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を算出し、
パスのトラヒック量が減少したことに応じて、前回のスケジューリング実行時に作成した前記スケジュールテーブルから当該パスに割り当てられている割当済タイムスロットを削除する剥ぎ取り処理を行い、
パスのトラヒック量が増加したことに応じて、前回のスケジューリング実行時に作成した前記スケジュールテーブルにおいて当該パスにタイムスロットを追加する貼り付け処理を行う、請求項1からのいずれか1項に記載のTDMネットワークシステム。
【請求項6】
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおけるスケジューリング方法において、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成し、
前記スケジュールテーブルをメモリに記憶し、
計算打ち切りトリガを受けるまで、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置し、
前記計算打ち切りトリガは、
(1)前記スケジュールテーブルのスケジュール長がTDMフレーム長以下になった場合、
(2)前記スケジュールテーブル上でTDMフレーム長を超えたタイムスロット位置に割り当てられたパスをリスト形式で記憶し、再配置によってTDMフレーム長の範囲内に割当位置が変更されたパスはリストから除外し、リストが空になった場合、
(3)前記複数のノードからトラヒック量の報告を行う信号を受信した数をカウントし、当該カウンタ値が閾値に達した場合、
(4)一定時間が経過する毎、
(5)一定時間内に、再配置によって、前記スケジュールテーブル上の割当済タイムスロットの詰まり状況を表す値が閾値以上となり、かつ、トラヒック量と割当済タイムスロット数を基に算出したタイムスロットの割当精度を表す値が閾値未満のパスがなくなった場合、
のいずれかのタイミングで通知されることを特徴とする、スケジューリング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TDM(Time Division Multiplexing、時分割多重化)技術を用いたTDMネットワークシステムにおいて、動的にタイムスロット割当を行う方法(スケジューリング方法)に関するものである。
【背景技術】
【0002】
図35に、TDM網におけるスケジューリングの例を示す。
【0003】
図35に示すように、TDM網では、各ノードはTDMフレーム長tを単位とした繰返動作を行い、各ノード間でデータ信号を送信し合うタイミング(タイムスロット(TS:Time Slot)と呼ぶ)を事前に決めて運用する。
【0004】
また、TDM網では、あるパスが経由する経由リンクには、共通のタイムスロットを割り当てる(例えば、ノードA→Cのパスが経由するリンクA〜BおよびリンクB〜Cには共通のタイムスロットS1を割り当てる)。なお、パスとは、送信元ノードと宛先ノードとの間を結ぶ通信経路を指す。
【0005】
また、TDM網では、同一リンクでは、同じタイムスロットを使うことはできない(例えば、リンクB〜Cにおいて、タイムスロットS1は、ノードB→Dのパスに使うことはできない)。
【0006】
TDM網で効率的なデータ転送を行うには、タイムスロットを可能な限り隙間なく割り当てる必要があるため、各パスに割り当てるタイムスロットを決定するスケジューリングを行う。
【0007】
以下では、TDM網内の各リンク上に規定されたタイムスロットの割当状況を表すテーブルを、スケジュールテーブルと呼ぶこととする。上述したスケジューリングは、このスケジュールテーブル上にパスを割り当てていく操作となる。
【0008】
ここで、TDMネットワークシステムにおけるスケジューリング方法の従来例としては、様々なヒューリスティック法が存在する。多くのヒューリスティック法(例えば非特許文献1)では、与えられたトポロジ、トラヒックに対し、1パスずつ順にタイムスロットの割当を行う。
【0009】
また、本発明者らは、通信トラヒックに応じて動的(例えば、秒オーダ以下)にTDM網内のタイムスロット割当を行うTDMネットワークシステムを大規模化するために、階層化方式(非特許文献2)や、Rip−up&Re−allocate方式(非特許文献3)を提案している。
【0010】
図36に、階層化方式とRip−up&Re−allocate方式の例を示す。
【0011】
図36に示すように、階層化方式は、TDMネットワークシステム内の複数のノードをグループ化し、各グループでのタイムスロット割当の計算を独立に行うことで、タイムスロット割当計算の高速化を図るものである。
【0012】
また、Rip−up&Re−allocate方式は、TDMネットワークシステム内のトラヒック変動が生じている箇所のみをタイムスロット割当の計算対象とすることで、タイムスロット割当計算の高速化を図るものである。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】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.
【非特許文献2】中川、服部、君島、片山、三澤、平松、"階層化を用いた光TDM スケジューリング方式HOTS の提案," 信学会ソサイエティ大会, B-6-25、2012年9月
【非特許文献3】中川、服部、君島、片山、三澤、"光L2 スイッチネットワークにおけるトラヒック変動差分に着目した動的帯域割当方式Rip-up & Re-allocate の提案," 信学会総合大会, B-6-3、2013年3月
【発明の概要】
【発明が解決しようとする課題】
【0014】
図37に、ヒューリスティック法(例えば非特許文献1)と階層化方式の課題を示す。
【0015】
図37に示すように、ヒューリスティック法は、例えば、ホップ数が多いパスから順に、1パスずつ選択し、若番のタイムスロット位置から順番に空きタイムスロット位置を探し、見つかった空きタイムスロット位置に、選択したパスを割り当てる。
【0016】
しかし、ヒューリスティック法は、大規模なTDMネットワークシステムでタイムスロット割当計算の高速化を図ることは不可能である。
【0017】
これに対して、階層化方式は、TDMネットワークシステム内の複数のノードをグループ化し、各グループでのタイムスロット割当計算を独立に行うため、大規模なTDMネットワークシステムでも、タイムスロット割当計算の高速化を図ることが可能である。
【0018】
しかし、階層化方式は、タイムスロット割当計算の高速化を実現する代償として、図37に示すように、各グループでのタイムスロット割当の排他性確保のために、余分にタイムスロットを確保するため、割当済タイムスロットがTDMフレーム長の範囲内に収まらないことがある。
【0019】
その結果、同一設備量のTDMネットワークシステムにおいて、要求通りにトラヒックを転送できなくなってしまう。
【0020】
そのため、階層化方式でタイムスロット割当を行うTDMネットワークシステムにおいては、同一設備量で転送されるトラヒック量を増加させることが課題となっている。
【0021】
また、この課題は、Rip−up&Re−allocate方式でタイムスロット割当を行うTDMネットワークシステムにも当てはまる。
【0022】
そこで、本発明の目的は、TDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができる技術を提供することにある。
【課題を解決するための手段】
【0023】
本発明のTDMネットワークシステムは、
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
計算打ち切りトリガを受けるまで、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置することを特徴とする。
【0024】
本発明の他のTDMネットワークシステムは、
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
条件を満たした場合に、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置することを特徴とする。
【0025】
本発明のさらに他のTDMネットワークシステムは、
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおいて、
前記スケジューラは、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成する演算装置と、
前記スケジュールテーブルを記憶するメモリと、を有し、
前記演算装置は、
タイムスロットの再配置を行う通知を受けた場合に、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置することを特徴とする。
【0026】
本発明のスケジューリング方法は、
複数のノードと、前記ノード間を接続するリンクと、送信元ノードと宛先ノードとの間を結ぶパスごとに、当該パスに対してタイムスロットを割り当てるスケジューラと、を有してなるTDMネットワークシステムにおけるスケジューリング方法において、
前記複数のノードからパスにおけるトラヒック量を集計し、パスごとに、当該パスにおけるトラヒック量を基に当該パスに必要となるタイムスロット数を算出し、算出したタイムスロット数を基に当該パスに対してタイムスロットを割り当て、各パスに対するタイムスロットの割当状況を表すスケジュールテーブルを作成し、
前記スケジュールテーブルをメモリに記憶し、
計算打ち切りトリガを受けるまで、前記スケジュールテーブル上の割当済タイムスロットを空きタイムスロット位置に再配置することを特徴とする。
【発明の効果】
【0027】
本発明によれば、スケジューラは、各パスに対してタイムスロットを割り当て、タイムスロットの割当状況を表すスケジュールテーブルを作成してメモリに記憶し、スケジュールテーブル上の割当済タイムスロットを、空きタイムスロット位置に再配置する。
【0028】
したがって、割当済タイムスロットをTDMフレーム長の範囲内に収めること等が可能になるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
【図面の簡単な説明】
【0029】
図1】本発明の第1の実施形態のTDMネットワークシステムの構成の例を示す図である。
図2】本発明の第1の実施形態の基本アイデアを示す図である。
図3】本発明の第1の実施形態のスケジューラ40の構成の例を示す図である。
図4】本発明の第1の実施形態のノード10の構成の例を示す図である。
図5】本発明の第1の実施形態のスケジューラ40の詳細構成の例を示す図である。
図6】本発明の第1の実施形態の動作の前提条件を示す図である。
図7】本発明の第1の実施形態のスケジューラ40の概略動作の例を示す図である。
図8】本発明のTDMネットワークシステム全体の動作シーケンスの例を示す図である。
図9】本発明の第1の実施形態のスケジューラ40の動作フローの例を示す図である。
図10】本発明の第1の実施形態のスケジューラ40の具体的動作の例を示す図である。
図11】本発明の第1の実施形態のスケジューラ40の具体的動作の例を示す図である。
図12】本発明の第2の実施形態のスケジューラ40の詳細構成の例を示す図である。
図13】本発明の第3の実施形態のスケジューラ40の詳細構成の例を示す図である。
図14】本発明の第4の実施形態のスケジューラ40の詳細構成の例を示す図である。
図15】本発明の第5の実施形態のスケジューラ40の詳細構成の例を示す図である。
図16】本発明の第6の実施形態のTDMネットワークシステムの構成の例を示す図である。
図17】本発明の第7の実施形態のTDMネットワークシステムの構成の例を示す図である。
図18】本発明の第8の実施形態のスケジューラ40の動作の例を示す図である。
図19】本発明の第8の実施形態のスケジューラ40の詳細構成の例を示す図である。
図20】本発明の第9の実施形態のスケジューラ40の動作の例を示す図である。
図21】Rip−up&Re−allocate方式の例を示す図である。
図22】Rip−up&Re−allocate処理とリアレンジ処理の時間フローのイメージを示す図である。
図23】Rip−up&Re−allocate処理中のリアレンジ処理の例を示す図である。
図24】歯抜け状態のイメージを示す図である。
図25】本発明の第10の実施形態のTDMネットワークシステムの構成の例を示す図である。
図26】本発明の第11と第12の実施形態のTDMネットワークシステムの構成の例を示す図である。
図27】本発明の第13と第14の実施形態のTDMネットワークシステムの構成の例を示す図である。
図28】本発明の第15と第16の実施形態のTDMネットワークシステムの構成の例を示す図である。
図29】本発明の第17と第18の実施形態のTDMネットワークシステムの構成の例を示す図である。
図30】本発明の第19の実施形態のTDMネットワークシステムの構成の例を示す図である。
図31】本発明の第20の実施形態のTDMネットワークシステムの構成の例を示す図である。
図32】本発明の第21の実施形態のTDMネットワークシステムの構成の例を示す図である。
図33】本発明の第22の実施形態のTDMネットワークシステムの構成の例を示す図である。
図34】リンク方向に隣接タイムスロットを増やす方法と時間方向に隣接タイムスロットを増やす方法の例を示す図である。
図35】TDM網におけるスケジューリングの例を示す図である。
図36】TDM網におけるスケジューリングの従来例を示す図である。
図37】TDM網におけるスケジューリングの従来例の課題を示す図である。
【発明を実施するための形態】
【0030】
以下に、本発明を実施するための形態について図面を参照して説明する。
(1)第1の実施形態
図1に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0031】
図1に示すように、本実施形態のTDMネットワークシステムは、N(Nは、2以上の自然数)台のノード10間がリンク20によって接続されたリング型のネットワークシステムである。なお、図1においては、N=5となっているが、Nの数はこれに限定されない。
【0032】
各ノード10は、それぞれホストコンピュータ30が接続されており、ホストコンピュータ30間のデータ信号を転送する。
【0033】
スケジューラ40は、TDMネットワークシステム上の各パスにタイムスロットを割り当てるスケジューリングを行う。スケジューラ40の配備場所は、図1に限定されず、別のノード10に配備されても良い。
【0034】
図2に、本実施形態の基本アイデアを示す。
【0035】
図2に示すように、スケジューラ40は、まず、非特許文献2に記載の従来の階層化方式に基づく階層化計算によって各パスに割り当てるタイムスロットを高速に計算する。
【0036】
その後、スケジューラ40は、TDMフレーム長の範囲内に収まっていないパスに既に割り当てられた割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する処理を行う。これにより、割当済タイムスロットがTDMフレーム長を超えてしまうという問題が解消される。
【0037】
このとき、スケジューラ40は、与えられたタイムスロット割当の計算時間を最大限使ってリアレンジ処理を繰り返すことで、タイムスロット割当の最適解に近づける。
【0038】
ここで、本実施形態の基本アイデアについて詳しく説明する。
【0039】
階層化方式は、既存のヒューリスティック法における大規模なTDMネットワークシステムでのタイムスロット割当の計算時間を問題としてなされたもので、タイムスロット割当の計算時間の高速化を図ることを実現した。
【0040】
しかし、タイムスロットの割当効率という指標で見ると、階層化方式は、ヒューリスティック法に比べて悪化する傾向にある。
【0041】
すなわち、タイムスロット割当の計算時間と割当効率とは、一般にトレードオフの関係にあり、階層化方式において、計算時間の短縮を優先すると、ヒューリスティック法に比べて割当効率が10%以上悪化する場合も生じる。
【0042】
そこで、スケジューリングを行う際には、TDMネットワークシステムの規模、タイムスロット割当の計算時間に加えて、タイムスロット割当の割当効率という指標も考慮した方式が効果的であると考えられる。
【0043】
以下、数値例を用いて説明する
非特許文献2によれば、256台のノードからなるリング網におけるタイムスロット割当計算を行う際、階層化方式を用いると、既存のヒューリスティック法と比べて、計算時間を1/200に低減できる一方で、タイムスロット割当の割当効率が10%悪化する。
【0044】
タイムスロット割当の割当効率が10%悪化する主な理由は、階層化のための余分なタイムスロットを確保(割当の排他性確保)するためである。
【0045】
ただし、タイムスロット割当の計算時間自体は、大幅に低減できている。
【0046】
そこで、本実施形態では、少しの計算時間増加と引き換えに、割当効率を上げる処理を追加する。この処理が、図2で説明したタイムスロットのリアレンジ処理(余分に確保した空きタイムスロット位置に割当済タイムスロットを埋めていく処理)となる。
【0047】
リアレンジ処理の対象となるのは、TDMフレーム長に収まっていないパス(最適割当を実施した際に必要なリソース量に対しては、全パスのうち約10%がTDMフレーム長に収まらないパスとなる)であり、こうしたパスに割り当てられた割当済タイムスロットを全てリアレンジしても、ヒューリスティック法で全パスへのタイムスロット割当に要する時間よりも短い時間で割当が完了する(前述の例の場合、約10%程度の時間でリアレンジが完了する)。
【0048】
その結果、ヒューリスティック法で全パスへのタイムスロット割当の計算に要する時間の最大10%程度の計算時間の増加と引き換えに、ヒューリスティック法と同等の割当効率を達成することが可能となる。
【0049】
また、タイムスロット割当の計算時間に制約がある場合(例えば、1秒以内に計算終了)、その制限時間内でリアレンジ処理を繰り返すことで、時間制約を守りながらも、高い割当効率での効率な運用が可能となる。
【0050】
また、タイムスロット割当の割当効率の制約がある場合(例えば、割当効率は95%以上で運用)、割当効率が閾値を超えるまでリアレンジ処理を繰り返すことで、転送効率を担保しながらも、計算時間の低減が狙える。
【0051】
そのため、リアレンジ処理を実行するロジックおよびリアレンジ処理を打ち切るロジックが必要となり、これらロジックを利用して、与えられた計算時間を最大限使ってリアレンジ処理を繰り返すことで、タイムスロット割当の最適解に近づける。
【0052】
図3に、本実施形態のスケジューラ40の構成の例を示す。
【0053】
図3に示すように、本実施形態のスケジューラ40は、IO部401と、演算装置402と、メモリ403と、を有している。
【0054】
表1に、図3に示した各部における、入力の内容と、その入力があった時の処理および出力の内容を示す。
【0055】
【表1】
【0056】
なお、本実施形態の演算装置402は、表1に記載の処理に加えて、タイムスロットのリアレンジ処理を追加で行うものであり、このリアレンジ処理を階層化方式と組み合わせて行う(以降の第2〜第9の実施形態において同じ)。本実施形態のスケジューラ40の詳細構成は図5で述べる。
【0057】
図4に、本実施形態のノード10の構成の例を示す。
【0058】
図4に示すように、本実施形態のノード10は、コントローラ101と、スイッチ102と、送信部(Tx)103と、受信部(Rx)104と、バッファ105と、IO部106と、を有している。
【0059】
表2に、図4に示した各部における、入力の内容と、その入力があった時の処理および出力の内容を示す。
【0060】
【表2】
【0061】
図5に、本実施形態のスケジューラ40の詳細構成の例を示す。
【0062】
図5に示すように、本実施形態のスケジューラ40は、IO部401と、トラヒック情報保持部404と、ノードグルーパ405と、グループ内スケジュール算出部406と、グループ内スケジュールテーブル保持部407と、グループ間スケジュール算出部408と、グループ間スケジュールテーブル保持部409と、仮想スケジュールテーブル算出部410と、打切タイマ411と、計算打切通知部412と、TS再配置割当算出部413と、実スケジュールテーブル算出部414と、実スケジュールテーブル保持部415と、ノード制御信号生成部416と、を有している。
【0063】
なお、図5において、ノードグルーパ405、グループ内スケジュール算出部406、グループ間スケジュール算出部408、仮想スケジュールテーブル算出部410、打切タイマ411、計算打切通知部412、TS再配置割当算出部413、実スケジュールテーブル算出部414、およびノード制御信号生成部416が、図3に示した演算装置402に相当し、トラヒック情報保持部404、グループ内スケジュールテーブル保持部407、グループ間スケジュールテーブル保持部409、および実スケジュールテーブル保持部415が、図3に示したメモリ403に相当する。
【0064】
また、図5において、仮想スケジュールテーブル算出部410、打切タイマ411、計算打切通知部412、TS再配置割当算出部413、および実スケジュールテーブル算出部414が、従来のスケジューラから追加した部分である。
【0065】
IO部401は、各ノード10から、そのノード10を送信元ノードとする各パスが要求するトラヒック量を表すトラヒック情報を受信する。
【0066】
トラヒック情報保持部404は、IO部401にて受信されたトラヒック情報を保持する。
【0067】
ノードグルーパ405は、トラヒック情報保持部404にて保持されたトラヒック情報を基に、N台のノード10をグループ化し、グループの組み合わせ状態を、グループ内スケジュール算出部406およびグループ間スケジュール算出部408に通知する。
【0068】
グループ内スケジュール算出部406は、トラヒック情報保持部404にて保持されたトラヒック情報を基に、グループ内のノード10間(同一のグループに属するノード10間、異なるグループに属するノード10間の双方を含む)のパスにタイムスロットを割り当てる、グループ内のスケジューリングを行い、そのタイムスロットの割当結果を基に、グループ内のノード10間でのタイムスロットの割当状況を表すグループ内スケジュールテーブルを算出する。
【0069】
グループ内スケジュールテーブル保持部407は、グループ内スケジュール算出部406にて算出されたグループ内スケジュールテーブルを保持する。
【0070】
グループ間スケジュール算出部408は、トラヒック情報保持部404にて保持されたトラヒック情報を基に、各グループ間(同一のグループ間、異なるグループ間の双方を含む)にタイムスロットを割り当てる、グループ間のスケジューリングを行い、そのタイムスロットの割当結果を基に、グループ間でのタイムスロットの割当状況を表すグループ間スケジュールテーブルを算出する。
【0071】
グループ間スケジュールテーブル保持部409は、グループ間スケジュール算出部408にて算出されたグループ間スケジュールテーブルを保持する。
【0072】
仮想スケジュールテーブル算出部410は、グループ内スケジュールテーブル保持部407にて保持されたグループ内スケジュールテーブル(グループ内のスケジューリング結果)を、グループ間スケジュールテーブル保持部409にて保持されたグループ間スケジュールテーブル(グループ間のスケジューリング結果)に代入することで、各リンク20上のタイムスロットの割当状況を表す仮想スケジュールテーブルを算出する。
【0073】
計算打切通知部412は、打切タイマ411がタイムアウトすると、タイムスロット割当の計算の打ち切りをTS再配置割当算出部413に通知する。
【0074】
TS再配置割当算出部413は、TS再配置割当算出部413からの計算打ち切りの通知が来るまでは、仮想スケジュールテーブル算出部410にて算出された仮想スケジュールテーブル上のパスのうちTDMフレーム長の範囲内に収まっていないパスを対象とし、そのパスに割り当てられた割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する処理を繰り返す。
【0075】
実スケジュールテーブル算出部414は、TS再配置割当算出部413にて仮想スケジュールテーブルに対してリアレンジ処理が行われた後のタイムスロットの割当結果を基に、各リンク20上のタイムスロットの割当状況を表す実スケジュールテーブルを算出する。
【0076】
実スケジュールテーブル保持部415は、実スケジュールテーブル算出部414にて算出された実スケジュールテーブルを保持する。
【0077】
ノード制御信号生成部416は、実スケジュールテーブル保持部415にて保持された実スケジュールテーブルを基に、各ノード10のノード処理(方路切替、データ信号の転送等)を換算し、各ノード10のスケジュールテーブルを表す制御信号を生成する。
【0078】
IO部401は、各ノード10に対し、ノード制御信号生成部416にて生成された制御信号を送信する。
【0079】
以下、本実施形態の動作について説明する。
【0080】
図6に、本実施形態の動作の前提条件を示す。
【0081】
図6に示すように、ここでは説明の便宜上、TDMネットワークシステムが、N=6とした片方向リングの構成であり、リンクあたりで同一スロットに同時に接続可能なチャネルは1個(ファイバ多重や波長多重を行わない)であるものとする。なお、6台のノード10をそれぞれノード10−1〜10−6とする。ただし、本発明は、これに限定されず、双方向リングをはじめ任意トポロジおよび波長多重を行った場合にも適用可能である(各ファイバの各波長についてスケジュールテーブルが作成される)。
【0082】
図7に、スケジューラ40の概略動作の例を示す。
【0083】
図7に示すように、まず、ステップiにおいて、スケジューラ40(演算装置402)は、従来の階層化方式に基づく階層化計算によって各パスにタイムスロットを割り当てる。このとき、TDMフレーム長を超える範囲にパスを仮割当しても良い。
【0084】
次に、ステップiiにおいて、スケジューラ40(演算装置402)は、TDMフレーム長の範囲内に収まっていない割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する処理を繰り返し行う。
【0085】
その後、ステップiiiにおいて、スケジューラ40(演算装置402)は、一定時間間隔T(打切タイマ411のタイムアウト時間)の周期で通知される計算打ち切りのトリガを検出すると、TDMフレーム長を超える範囲の割当済タイムスロットを切り捨て、その結果を制御信号として各ノード10に送信する。
【0086】
図8に、TDMネットワークシステム全体の動作シーケンスの例を示す。なお、図8において、ノード10−1に接続されたホストコンピュータを30−1、ノード10−2に接続されたホストコンピュータを30−2とする。
【0087】
図8に示すように、ステップS101,S102において、ノード10−1に接続されたホストコンピュータ30−1は、ノード10−2に接続されたホストコンピュータ30−2宛のデータ信号を、ノード1に送信したとする。
【0088】
すると、ステップS103において、ノード10−1は、ホストコンピュータ30−1から受信したデータ信号をバッファリングし、このデータ信号の送信のためにノード10−1→ノード10−2のパスが要求するトラヒック量をモニタリングする。
【0089】
次に、ステップS104において、ノード10−1は、ノード10−1を送信元とする各パスが要求するトラヒック量(上記でモニタリングしたトラヒック量を含む)を表すトラヒック情報をスケジューラ40に送信する。なお、トラヒック情報の送信は、データ信号の有無にかかわらず、定期的に行われる。そのため、ステップS105において、ノード10−2も、トラヒック情報をスケジューラ40に送信している。
【0090】
次に、ステップS106,S107,S108において、スケジューラ40は、トラヒック情報を基に、スケジューリングを行い、各ノード10−1,10−2に対し、そのノードのノード処理のスケジュールを表す制御信号を送信する。
【0091】
その後、ステップS109,S110,S111において、各ノード10−1,10−2は、制御信号で表されたスケジュールに従い、ホストコンピュータ30−2にデータ信号を転送する。
【0092】
TDMネットワークシステムにおいては、図8の動作シーケンスが繰り返し行われる。
【0093】
図9に、スケジューラ40の動作フローの例を示す。
【0094】
図9に示すように、ステップS201において、スケジューラ40(演算装置402)は、各パスが要求するトラヒック量を集計した後、各パスが要求するトラヒック量を基に、各パスに必要となるタイムスロット数を算出し、これを所要タイムスロット数とする。
【0095】
次に、ステップS202において、スケジューラ40(演算装置402)は、各パスの所要タイムスロット数を基に、各パスにタイムスロットを割り当て、実スケジュールテーブルを算出する。
【0096】
その後、ステップS203において、スケジューラ40(演算装置402)は、実スケジュールテーブルを基に、各ノードのノード処理を換算する。各ノード10のノード処理のスケジュールは、スケジューラ40から各ノードに通知される。
【0097】
ここで、ステップS202の動作について詳細に説明する。
【0098】
従来の階層化方式に基づく階層化計算では、まず、ステップS204において、グループ内のノード10間のパスにタイムスロットを割り当てて、グループ内スケジュールテーブルを算出し、次に、ステップS205において、各グループ間にタイムスロットを割り当てて、グループ間スケジュールテーブルを算出し、その後、ステップS206において、グループ内スケジュールテーブルをグループ間スケジュールテーブルに代入し、これにより得られたスケジュールテーブルを実スケジュールテーブルとして用いていた。
【0099】
これに対して、本実施形態では、ステップS206で得られたスケジュールテーブルを仮想スケジュールテーブルとして用い、以降、ステップS207で計算打ち切りの通知があるまで、仮想スケジュールテーブル上のパスのうちTDMフレーム長の範囲内に収まっていないパスに割り当てられた割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する処理(ステップS208)を繰り返す。そして、ステップS207で計算打ち切りの通知があると、TDMフレーム長を超える範囲の割当済タイムスロットを切り捨て、そのスケジュールテーブルを実スケジュールテーブルとして用いる。
【0100】
図10および図11に、スケジューラ40の具体的な動作の例を示す。なお、図10は、仮想スケジュールテーブル算出部410にて仮想スケジュールテーブルを算出するまでの動作を示し、図11は、それ以降の動作を示している。
【0101】
図10に示すように、まず、ノードグルーパ405は、6台のノード10−1〜10−6を論理的に束ねる。ここでは、一例として、ノード10−1〜10−6を2ノードずつの3グループ化するものとし、ノード10−1,10−2をグループAに、ノード10−3,10−4をグループBに、ノード10−5,10−6をグループCに束ねる。ノードグルーパ405は、グループの組み合わせ状態の情報を保持し、これをグループ内スケジュール算出部406およびグループ間スケジュール算出部408に通知する。
【0102】
次に、グループ内スケジュール算出部406は、グループ内のノード間(同一のグループに属するノード間、異なるグループに属するノード間の双方を含む)のパスにタイムスロットを割り当てる。ここでは、一例として、パス長の降順に選択したパスに、タイムスロット位置の昇順に選択したタイムスロットを割て当てる。具体的には、パス長が最も長いノード1→ノード6のパスには、タイムスロット位置が最若番のタイムスロットを割り当てる。このタイムスロットの割当結果は、グループ内スケジュールテーブルとしてグループ内スケジュールテーブル保持部407に保持される。
【0103】
次に、グループ間スケジュール算出部408は、各グループ間(同一のグループ間、異なるグループ間の双方を含む)にタイムスロットを割り当てる。ここでは、タイムスロットの衝突を回避することのみを考慮し、TDMフレーム長の制約があることは無視して良い。このタイムスロットの割当結果は、グループ間スケジュールテーブルとしてグループ間スケジュールテーブル保持部409に保持される。
【0104】
次に、仮想スケジュールテーブル算出部410は、グループ内スケジュールテーブルを、グループ間スケジュールテーブルに代入することで、仮想スケジュールテーブルを算出する。このとき、TDMフレーム長を超過するタイムスロット位置にパスが割り当てられていても良い。
【0105】
図11に示すように、次に、TS再配置割当算出部413は、仮想スケジュールテーブル上のパスのうちTDMフレーム長の範囲内に収まっていないパスに割り当てられたタイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する。ここでは、一例として、最老番のタイムスロット位置に割り当てられた割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置のうち最若番のタイムスロット位置に移動する。このリアレンジ処理は、計算打ち切りの通知があるまで繰り返される。
【0106】
ここで、TS再配置割当算出部413がリアレンジ処理を繰り返している中で、打切タイマ411がタイムアウト(T間隔)すると、計算打切通知部412は、タイムスロット割当の計算の打ち切りをTS再配置割当算出部413に通知し、これを受けて、TS再配置割当算出部413は、リアレンジ処理の計算を打ち切る。
【0107】
その後、実スケジュールテーブル算出部414は、TDMフレーム長を超える範囲の割当済タイムスロットを切り捨て、そのスケジュールテーブルを実スケジュールテーブルとする。図11の例では、ノード10−3→ノード10−5のパスに割り当てられた割当済タイムスロットが切り捨てられるため、ノード10−3→ノード10−5のパスへのタイムスロットの割り当ては失敗となる。
【0108】
なお、図11に示したリアレンジ処理は、一例であって、これに限定されない。
【0109】
例えば、図11の例では、仮想スケジュールテーブル上で最老番のタイムスロット位置に割り当てられているパスから、リアレンジ処理を行っているが、リアレンジ処理を行うパスの順序(どのパスからリアレンジ処理を行うか)は、例えば表3のいずれかで良い。
【0110】
【表3】
【0111】
また、図11の例では、仮想スケジュールテーブル上で割り当てられているタイムスロット位置の降順に、タイムスロットを移動させているが、タイムスロットを移動させる順序(どのタイムスロットを移動させるか)は、例えば表4のいずれかで良い。
【0112】
【表4】
【0113】
また、図11の例では、割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置のうち最若番のタイムスロット位置に移動させているが、移動先のタイムスロット位置(どのタイムスロットに移動させるか)は、例えば表5のいずれかで良い。
【0114】
【表5】
【0115】
上述したように本実施形態においては、スケジューラ40は、従来の階層化方式に基づく階層化計算を行った後、TDMフレーム長の範囲内に収まっていないパスに割り当てられた割当済タイムスロットを、TDMフレーム長の範囲内の空きタイムスロット位置に再配置(リアレンジ)する。
【0116】
したがって、割当タイムスロットをTDMフレーム長の範囲内に収めることができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
【0117】
また、本実施形態においては、スケジューラ40は、打切タイマ411によってタイムスロット割当の計算に打ち切りをかけるため、タイムスロット割当の計算時間に制約がある場合でも、時間制約を守ることができるという効果が得られる。
(2)第2の実施形態
図12に、本実施形態のスケジューラ40の詳細構成の例を示す。
【0118】
図12に示すように、本実施形態のスケジューラ40は、図5に示した第1の実施形態の構成と比較して、構成要素自体は同様である。ただし、TS再配置割当算出部413が、仮想スケジュールテーブル算出部410にて算出された仮想スケジュールテーブルだけでなく、グループ間スケジュールテーブル保持部409にて保持されたグループ間スケジュールテーブルも入力している点が異なる。
【0119】
TS再配置割当算出部413は、リアレンジ処理の計算の際に、グループ間スケジュールテーブルを用いる。
【0120】
上述したように本実施形態においては、スケジューラ40は、リアレンジ処理の計算の際に、グループ間スケジュールテーブルを用いることで、割当済タイムスロットの移動先となる空きタイムスロット位置を、より探索しやすくなるという効果が得られる。
(3)第3の実施形態
第1および第2の実施形態においては、スケジューラ40の内部にタイマ(打切タイマ411)を設けていた。
【0121】
これに対して本実施形態においては、スケジューラ40の外部に打切タイマを設ける。
【0122】
図13に、本実施形態のスケジューラ40の詳細構成の例を示す。
【0123】
図13に示すように、本実施形態のスケジューラ40は、図5に示した第1の実施形態の構成と比較して、打切タイマ411の代わりに、打切指示検知部417を設けた点が異なる。
【0124】
打切指示検知部417は、スケジューラ40の外部に設けたタイマに接続されており、そのタイマがタイムアウトすると、タイムスロット割当の計算の打ち切りの指示を検知したことを計算打切通知部412に通知する。
【0125】
上述したように本実施形態においては、スケジューラ40の外部にタイマを設けているため、タイムスロット割当の計算の打ち切りを通知する周期Tを手動で設定することができるという効果が得られる。
(4)第4の実施形態
第1〜第3の実施形態においては、スケジューラ40がタイマによってタイムスロット割当の計算の打ち切りをかけていた。
【0126】
これに対して本実施形態においては、タイマによるタイムスロット割当の計算打ち切りに加えて、仮想スケジュールテーブルの状況によっても計算打ち切りをかける。
【0127】
図14に、本実施形態のスケジューラ40の構成の例を示す。
【0128】
図14に示すように、本実施形態のスケジューラ40は、図5に示した第1の実施形態の構成と比較して、仮想スケジュールテーブル監視部418を追加で設けた点が異なる。
【0129】
仮想スケジュールテーブル監視部418は、仮想スケジュールテーブルを監視し、仮想スケジュールテーブルのスケジュール長がTDMフレーム長以下となった場合、タイムスロット割当の計算打ち切りのトリガを計算打切通知部412に通知する。
【0130】
ここで、スケジュール長とは、スケジュールテーブルに従ってTDM動作をする際に、必要となる最低のタイムスロット数のことである。
【0131】
スケジュール長がTDMフレーム長以下となった場合、TDMフレーム長の範囲内に全てのタイムスロットを収めることができ、リアレンジ処理の計算の継続は不要である。そのため、このような場合に、タイムスロット割当の計算の打ち切りをかけることで、タイムスロット割当の計算時間のさらなる短縮化を図ることができる。
【0132】
上述したように本実施形態においては、スケジューラ40は、スケジュール長がTDMフレーム長以下となった場合、タイムスロット割当の計算の打ち切りをかけるため、タイムスロット割当の計算時間のさらなる短縮化を図ることができるという効果が得られる。
(5)第5の実施形態
本実施形態においては、第4の実施形態と同様に、タイマによるタイムスロット割当の計算打ち切りに加えて、仮想スケジュールテーブルの状況によっても計算打ち切りをかける。
【0133】
図15に、本実施形態のスケジューラ40の構成の例を示す。
【0134】
図15に示すように、本実施形態のスケジューラ40は、図5に示した第1の実施形態の構成と比較して、要割当パス監視部419を追加で設けた点が異なる。
【0135】
要割当パス監視部419は、仮想スケジュールテーブルを監視し、仮想スケジュールテーブル上でTDMフレーム長を超えたタイムスロット位置に割り当てられたパスをリスト形式で記憶し、リアレンジ処理によってTDMフレーム長の範囲内に割当位置が変更されたパスはリストから除外する。
【0136】
そして、要割当パス監視部419は、リストが空になった場合、タイムスロット割当の計算打ち切りのトリガを計算打切通知部412に与える。
【0137】
リストが空になった場合は、TDMフレーム長の範囲内に全てのタイムスロットを収めることができており、このような場合、リアレンジ処理の計算の継続は不要である。そのため、このような場合に、タイムスロット割当の計算の打ち切りをかけることで、タイムスロット割当の計算時間のさらなる短縮化を図ることができる。
【0138】
上述したように本実施形態においては、スケジューラ40は、リストが空になった場合、タイムスロット割当の計算の打ち切りをかけるため、タイムスロット割当の計算時間のさらなる短縮化を図ることができるという効果が得られる。
(6)第6の実施形態
第1〜第3の実施形態においては、スケジューラ40がタイマによってタイムスロット割当の計算の打ち切りをかけていた。
【0139】
これに対して本実施形態においては、全ノード10の中の1台に配備されているコントローラ101が時間系を司り、そのコントローラ101がスケジューラ40に対して、タイムスロット割当の計算打ち切りのトリガを通知する。
【0140】
図16に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0141】
図16に示すように、本実施形態のTDMネットワークシステムにおいては、1台のノード10(ノード10−1とする)に配備されたコントローラ101(親コントローラ101−1とする)が親となり、他のノード10(ノード10−2〜10−5とする)に配備されたコントローラ101(子コントローラ101−2〜101−5とする)と親子関係を築く。
【0142】
親コントローラ101−1は、TDMネットワークシステム内の時間系を管理しており、他ノード10−2〜10−5に対して制御信号を送信して同期をとる。
【0143】
また、親コントローラ101−1は、定期的に、スケジューラ40に対して、タイムスロット割当の計算打ち切りのトリガを与える。
【0144】
スケジューラ40は、親コントローラ101−1が配備されたノード10−1に配備される。
【0145】
上述したように本実施形態においては、親コントローラ101−1が配備された1台のノード10は、定期的に、スケジューラ40に対して、タイムスロット割当の計算打ち切りのトリガを与える。
【0146】
そのため、ノード10主導でタイムスロット割当の計算打ち切りをかけることができるという効果が得られる。
【0147】
なお、本実施形態は、スケジューラ40内に設けた打切タイマ411によるタイムスロット割当の計算の打ち切りを不要とすることもでき、その場合は、打切タイマ411は削除できる。
(7)第7の実施形態
第1〜第3の実施形態においては、スケジューラ40がタイマによってタイムスロット割当の計算の打ち切りをかけていた。
【0148】
これに対して本実施形態においては、各ノード10からのトラヒック情報を規定の数だけ受信したことをトリガとして、タイムスロット割当の計算打ち切りをかける。
【0149】
図17に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0150】
図17に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図3に示した第1の実施形態の構成と比較して、制御信号カウンタ420を追加で設けた点が異なる。
【0151】
制御信号カウンタ420は、各ノード10からのトラヒック情報の報告を行う制御信号を受信した数をカウントし、カウンタ値が閾値に達したら、演算装置402に対して、タイムスロット割当の計算打ち切りのトリガを通知し、カウンタ値をクリアする。
【0152】
なお、本実施形態のバリエーションとしては、制御信号もTDMのタイムスロットで送信する場合には、タイムスロットの数をカウントするという方法も考えられる。
【0153】
また、制御信号のロスを検知するために、各ノード10が送信する制御信号にIDをつけておくことも有効である。
【0154】
なお、本実施形態は、スケジューラ40内に設けた打切タイマ411によるタイムスロット割当の計算の打ち切りを不要とすることもでき、その場合は、打切タイマ411は削除できる。
【0155】
以上、第1〜第7の実施形態において、リアレンジ処理(タイムスロット割当)の計算の打ち切りをかけるトリガを幾つか説明したが、これらのトリガは、それぞれ独立に適用しても良いし、2つ以上を組み合わせて適用しても良い。
(8)第8の実施形態
第1〜第7の実施形態においては、TDMネットワークシステムが片方向リングの構成であることを前提としていた。
【0156】
これに対して、本実施形態においては、TDMネットワークシステムが双方向リングの構成であることを前提としている。
【0157】
本発明を双方向リングの構成に適用する場合、右回り用の実スケジュールテーブルを作成する手段と、左回り用の実スケジュールテーブルを作成する手段と、が必要となるが、その詳細構成は図19で述べる。
【0158】
図18に、本実施形態のスケジューラ40の動作の例を示す。なお、図18では、N=7であり、7台のノード10をそれぞれノード10−1〜10−7とする。
【0159】
図18に示すように、まず、スケジューラ40は、7台のノード10−1〜10−7を論理的に束ねる。ここでは、一例として、ノード10−1〜10−3をグループAに、ノード10−4,10−5をグループBに、ノード10−6,10−7をグループCに束ねる。
【0160】
次に、スケジューラ40は、グループ内のノード間(同一のグループに属するノード間、異なるグループに属するノード間の双方を含む)のパスにタイムスロットを割り当てる。
【0161】
次に、スケジューラ40は、右回り用と左回り用とで別々に、各グループ間(同一のグループ間、異なるグループ間の双方を含む)にタイムスロットを割り当てる。
【0162】
この際、タイムスロット割当が遠回りで行われる場合がある。
【0163】
図18において、例えば、ノード10−6→10−3のパスを考えると、最短ホップの経路は、左回りで3ホップである。しかし、グループ間のタイムスロット割当において、グループC→Aに右回りの経路でタイムスロット割当が行われるため、ノード10−3→10−6にも右回りの経路が設定され、4ホップとなる。
【0164】
そのため、タイムスロットのリアレンジ処理の際に、右回り・左回りの経路それぞれのホップ数を知っていれば、右回り用の仮想スケジュールテーブル上でノード10−6→10−3のパスに割り当てたタイムスロットを、左回り用の仮想スケジュールテーブル上のノード10−3→10−6に割り当てたタイムスロット位置にリアレンジかつリルートすることができる。このように、ホップ数が小さい経路を用いた方が所要リソース抑制の観点でより効果的である。
【0165】
図19に、本実施形態のスケジューラ40の詳細構成の例を示す。
【0166】
図19に示すように、本実施形態のスケジューラ40は、図5に示した第1の実施形態に対して、グループトラヒック情報保持部421およびグループ経路情報保持部422を追加すると共に、グループ間スケジュール算出部408から実スケジュール415までの構成要素を右回り用と左回り用とでそれぞれ設けている。
【0167】
具体的には、右回り用に、グループ間スケジュール算出部408−1と、グループ間スケジュールテーブル保持部409−1と、仮想スケジュールテーブル算出部410−1と、TS再配置割当算出部413−1と、実スケジュールテーブル算出部414−1と、実スケジュールテーブル保持部415−1と、を設け、左回り用に、グループ間スケジュール算出部408−2と、グループ間スケジュールテーブル保持部409−2と、仮想スケジュールテーブル算出部410−2と、TS再配置割当算出部413−2と、実スケジュールテーブル算出部414−2と、実スケジュールテーブル保持部415−2と、を設けている。
【0168】
グループトラヒック情報保持部421は、各グループのトラヒック情報を保持し、グループ経路情報保持部422は、各グループの右回り・左回りのそれぞれの経路のホップ数等の経路情報を保持する。
【0169】
TS再配置割当算出部413−1,413−2は、リアレンジ処理に、グループ経路情報保持部422に保持された経路情報を用いる。
【0170】
上述したように本実施形態においては、TDMネットワークシステムが双方向リングの構成である場合にも、本発明を適用可能であるという効果が得られる。
(9)第9の実施形態
第1〜第8の実施形態においては、TDMネットワークシステムのリング段数が1段であることを前提としていた。
【0171】
これに対して、本実施形態においては、TDMネットワークシステムが多段リングの構成であることを前提としている。
【0172】
図20に、本実施形態のスケジューラ40の動作の例を示す。なお、図20では、リング段数が2段であり、上位リングに3個の下位リングA,B,Cが接続されているとする。
【0173】
図20に示すように、多段リング構成の場合、スケジューラ40は、階層化方式で、各リング間のスケジューリングと、各リング内のスケジューリングと、を行った後に、タイムスロットのリアレンジ(再配置)処理を行う。
【0174】
具体的には、スケジューラ40は、下位リングA,B,Cを、それぞれ1つのグループに束ねる。すなわち、下位リングAを構成するノードA,F,GはグループRAに、下位リングBを構成するノードB,H,I,JはグループRBに、下位リングCを構成するノードC,K,L,MはグループRCに束ねる。また、ノードE,DはグループZとする。
【0175】
次に、スケジューラ40は、各リング間のスケジューリングと、各リング内のスケジューリングと、を行う。
【0176】
多段リングの場合、スケジューラ40は、下位リング毎にスケジュールテーブルを保持する。
【0177】
そのため、スケジューラ40は、上位リング用スケジュールテーブルと下位リング用スケジュールテーブルを同時に考慮してリアレンジ処理の計算を行う。
【0178】
上述したように本実施形態においては、TDMネットワークシステムが多段リングの構成である場合にも、本発明を適用可能であるという効果が得られる。
(10)第10の実施形態
第1〜第9の実施形態においては、非特許文献2に記載の階層化方式にタイムスロットのリアレンジ処理を組み合わせていた。
【0179】
しかし、本発明は、これに限定されず、非特許文献3に記載のRip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせることも可能である。
【0180】
本実施形態とそれ以降の実施形態は、Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を適用した実施形態である。
【0181】
まず、Rip−up&Re−allocate方式について簡潔に説明する。
【0182】
図21に、Rip−up&Re−allocate方式の例を示す。
【0183】
Rip−up&Re−allocate方式は、0ベースでタイムスロット割当の再計算を行うのではなく、TDMネットワークシステム内のトラヒック変動が生じている箇所のみを再計算の対象とする。
【0184】
タイムスロット割当の再計算に際しては、前回のタイムスロット割当(スケジュールテーブル)を変更して、速く最適解に漸近させる。
【0185】
その際、まず、パス(対地)ごとに、前回のスケジューリング実行時と今回のスケジューリング実行時との間でのトラヒック量の差分を算出し、トラヒック量が大きく減少し所要タイムスロット数が減少したパスについては、そのパスに割り当てられているタイムスロット数を減少させ(この処理がスケジュールテーブルからタイムスロットを削除する剥ぎ取り(Rip−up)処理)、トラヒック量が大きく増加し所要タイムスロット数が増加したパスについては、空きタイムスロット位置にて追加のタイムスロットを割り当てる(この処理がスケジュールテーブルにおいてタイムスロットを追加する貼り付け(Re−allocate)処理)。
【0186】
図21の例では、ノードA向けのパスのトラヒック量が多い状況から、ノードB向けのパスのトラヒック量が多い状況に変化している。
【0187】
この場合、ノードA向けとノードB向けの各パスに割り当てているタイムスロット数をそのままにしておくと、ノードA向けのパスではタイムスロットが余り、ノードB向けのパスではタイムスロットが不足することになるため、タイムスロットの割当効率は非効率である。
【0188】
そこで、ノードA向けのパスの余っているタイムスロットを削除し、タイムスロットが不足しているノードB向けのパスに追加で割り当てるという操作を試みる(Rip−up&Re−allocate)。この操作は、全ノードを対象にして行う。
【0189】
Rip−up&Re−allocate方式では、実行するRip−up&Re−allocateの回数(対象とするパス本数)の増加に伴い、計算時間は増加するが、非効率さが改善されていく。
【0190】
そのため、計算時間の増加を抑えるためには、Rip−up&Re−allocateの少ない回数で非効率さが大幅に改善されれば良い。
【0191】
ところで、Rip−up&Re−allocate方式では、Rip−up&Re−allocate処理中にリアレンジ処理を行うことも可能である。
【0192】
図22に、Rip−up&Re−allocate処理とリアレンジ処理の時間フローのイメージを示す。
【0193】
図22に示すように、制御周期TでRip−up&Re−allocate処理を行い、その処理中にリアレンジ処理を行うことが可能である。
【0194】
また、Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせる場合、以下の3つの場合は、それぞれ、タイムスロット割当の最適解からの乖離を招くため、リアレンジ処理によって補正をかける。
(i)Rip−upによりスケジュールテーブルが歯抜け状態になった場合
Rip−upした結果、スケジュールテーブルが歯抜け状態(空き領域が分断された状態)になってしまうと、後々でタイムスロットの割当を追加することが困難になる。
【0195】
そこで、リアレンジ処理によってガベージコレクション(空き領域を連結して後で割当しやすい状態にする)を行う。
(ii)Re−allocateによりスケジュールテーブルが歯抜け状態になった場合
Re−allocateした結果、スケジュールテーブルが(i)と同様になった場合、(i)と同様に、リアレンジ処理によってガベージコレクションを行う。
(iii)そのままではRe−allocateできない場合
Re−allocateする空きがなく、そのままではRe−allocateできない場合、リアレンジ処理を実行してタイムスロットを追加するパスに対する空帯域を作り出す。
【0196】
図23に、(iii)の場合のリアレンジ処理の例を示す。
【0197】
図23に示すように、例えば、ノードA→ノードEのパスに連続した2つのタイムスロットを追加で割り当てたいとする。しかし、このままでは、Re−allocateする空きタイムスロット位置がない。
【0198】
そこで、リアレンジ処理を実行して、空き帯域を作り出す。これにより、ノードA→ノードEのパスに連続した2つのタイムスロットを追加で割り当てることが可能になる。
【0199】
ここで、Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせた方法のバリエーションとしては以下が考えられる。
(1)計算時間の余りを利用してリアレンジ処理を実行する
この方法は、Rip−up&Re−allocate処理後のタイムスロット割当の計算時間の余りを利用してリアレンジ処理を実行するもので、第1〜第9の実施形態のような計算打ち切りを通知するタイマ等を追加することにより実施可能である。
(2)計算の途中でリアレンジ処理による補正をかける
この方法は、Rip−up&Re−allocate処理の計算の途中でリアレンジ処理による補正をかけるもので、最適解からの乖離を検出する機能が必要になる。
【0200】
表6に、この方法における、監視主体、監視対象、検出対象、検出対象を検出した場合のアクションを示す。
【0201】
【表6】
【0202】
なお、表6において、“歯抜け状態”とは、スケジュールテーブル上で空きがまばらになっており、最適解からの乖離を招く状態のことであり、歯抜け状態であるか否かは、閾値との比較によって判断する。なお、“歯抜け状態”の詳細な定義は図24で述べる。
【0203】
また、"精度"とは、各パスの割当済タイムスロット数とトラヒック量との関係から算出される、各パスに対するタイムスロット割当の精度のことであり、閾値との比較によって判断する。
(3)トリガの通知を受けてリアレンジ処理による補正をかける(通知を受けるまでは、通常のRip−up&Re−allocate処理を実行)
この方法は、リアレンジ処理を行うトリガの通知を受けてリアレンジ処理による補正をかけるもので、リアレンジ処理を実行する条件判定を行い、動的にリアレンジ処理を行う。
【0204】
表7に、この方法における、監視主体、監視対象、検出対象、検出対象を検出した場合のアクションを示す。
【0205】
【表7】
【0206】
ここで、歯抜け状態の定義について説明する。
【0207】
歯抜け状態とは、定性的には、スケジュールテーブルにおいて、タイムスロットの割当状態が悪く、空きが多くなっている状態を言う。
【0208】
また、歯抜け状態とは、定量的には、以下の数式1で定義される、スケジュールテーブル上の割当済タイムスロットの詰まり状況を表す効率値Effが、閾値Thr(Eff)未満である状態を言う。
【0209】
【数1】
【0210】
なお、数式1において、Linkは、TDMネットワークシステム内のリンク数を表し、lは、リンク番号を表し、1〜Linkの範囲内にあり、Alloc(l)は、リンクl上に割当済のタイムスロット数を表し、Sは、スケジュール長(スケジュールテーブル上で割り当てられている最老番のタイムスロット番号)を表す。
【0211】
また、閾値Thr(Eff)の設定例は、例えば、50%,70%等である。
【0212】
スケジュールテーブル上に細かい空きが散らばっている状態だと、長いパスにタイムスロットを割り当てにくくなり、タイムスロットの割当効率が下がる。
【0213】
すなわち、スケジュールテーブルが歯抜け状態になると、転送効率が低下し、収容トラヒック量が低下してしまう。
【0214】
図24に、歯抜け状態のイメージを示す。図24では、閾値Thr(Eff)は70%に設定されているとする。
【0215】
図24に示すように、左側の例では、効率値Effが77.1%であり、閾値Thr(Eff)以上であるため、歯抜け状態ではないと判断する。
【0216】
一方、右側の例では、効率値Effが60%であり、閾値Thr(Eff)未満であるため、歯抜け状態であると判断する。
【0217】
上述の通り、Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせた方法には、幾つかのバリエーションが存在する。
【0218】
本実施形態は、上述した(1)計算時間の余りを利用してリアレンジ処理を実行する方法に相当する。
【0219】
図25に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0220】
図25に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図3に示した第1の実施形態の構成と比較して、打切タイマ423を追加で設けた点が異なる。
【0221】
なお、本実施形態の演算装置402は、表1に記載の処理に加えて、タイムスロットのリアレンジ処理を追加で行うものであり、第1〜第10の実施形態とは異なり、このリアレンジ処理を、図21を用いて説明したRip−up&Re−allocate方式と組み合わせて行う(以降の第11〜第22の実施形態において同じ)。
【0222】
打切タイマ423は、定期的に、タイムスロット割当の計算打ち切りのトリガを演算装置402に通知する。
【0223】
演算装置402は、Rip−up&Re−allocate処理後、タイムスロット割当の計算時間の余りを利用し、計算打ち切りの通知が来るまでは、タイムスロットを再配置(リアレンジ)する処理を繰り返す。
【0224】
上述したように本実施形態においては、スケジューラ40は、従来のRip−up&Re−allocate処理の計算を行った後、タイムスロットのリアレンジ処理を行う。
【0225】
したがって、スケジュールテーブルが歯抜け状態になること等を回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
【0226】
また、本実施形態においては、スケジューラ40は、打切タイマ423によってタイムスロット割当の計算に打ち切りをかけるため、タイムスロット割当の計算時間に制約がある場合でも、時間制約を守ることができるという効果が得られる。
(11)第11の実施形態
本実施形態は、第10の実施形態の中で説明した、(2)計算の途中でリアレンジ処理による補正をかける方法であり、表6に示した[1]に相当する。
【0227】
図26に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0228】
図26に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図3に示した第1の実施形態の構成と比較して、構成要素自体は同様であるが、演算装置402にテーブル監視処理を追加している点が異なる。
【0229】
演算装置402内のタイムスロット割当の計算を行っている計算CPUは、Rip−up&Re−allocate処理の計算を行っている間、Rip−up&Re−allocate処理により得られたスケジュールテーブルを監視している。
【0230】
計算CPUは、図24を用いて説明した閾値比較による方法で、スケジュールテーブルが歯抜け状態になっていることを検出する。
【0231】
計算CPUは、Rip−up&Re−allocate処理の計算の途中で、スケジュールテーブルが歯抜け状態であることを検出すると、タイムスロットのリアレンジ処理を行う。
【0232】
上述したように本実施形態においては、スケジューラ40は、Rip−up&Re−allocate処理の計算の途中で、スケジュールテーブルが歯抜け状態になると、タイムスロットのリアレンジ処理を行う。
【0233】
したがって、スケジュールテーブルが歯抜け状態になることを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(12)第12の実施形態
本実施形態は、第10の実施形態の中で説明した、(2)計算の途中でリアレンジ処理による補正をかける方法であり、表6に示した[2]に相当する。
【0234】
なお、本実施形態は、構成自体は第11の実施形態と同様であるが、演算装置402の監視対象や検出対象が異なる。
【0235】
すなわち、演算装置402内のタイムスロット割当の計算を行っている計算CPUは、Rip−up&Re−allocate処理の計算を行っている間、各パスが要求するトラヒック量と、Rip−up&Re−allocate処理により得られたスケジュールテーブル上で各パスに割り当てられた割当済タイムスロット数と、監視している。
【0236】
計算CPUは、各パスのトラヒック量と割当済タイムスロット数とを基に、閾値比較による方法で、タイムスロット割当の精度が悪化しているパスがあることを検出する。
【0237】
例えば、計算CPUは、パスごとに、トラヒック量と割当済タイムスロット数を基に、タイムスロット割当の精度を表す値を算出し、算出した値が閾値未満であれば、そのパスに対するタイムスロット割当の精度が悪化していると検出する。
【0238】
また、例えば、タイムスロット割当の精度を表す値は、パスが要求するトラヒック量を所要タイムスロット数に換算し、所要タイムスロット数を割当済タイムスロット数で除算した値等にすることが考えられるが、これに限定されない。
【0239】
計算CPUは、Rip−up&Re−allocate処理の計算の途中で、タイムスロット割当の精度が悪化しているパスがあることを検出すると、タイムスロットのリアレンジ処理を行う。
【0240】
上述したように本実施形態においては、スケジューラ40は、Rip−up&Re−allocate処理の計算の途中で、タイムスロット割当の精度が悪化したパスがあると、タイムスロットのリアレンジ処理を行う。
【0241】
したがって、各パスに対するタイムスロット割当の精度が悪化することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(13)第13の実施形態
本実施形態は、第10の実施形態の中で説明した、(2)計算の途中でリアレンジ処理による補正をかける方法であり、表6に示した[3]に相当する。
【0242】
図27に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0243】
図27に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図3に示した第1の実施形態の構成と比較して、メモリ監視装置424を追加している点が異なる。
【0244】
メモリ監視装置424は、Rip−up&Re−allocate処理の計算を行っている間、Rip−up&Re−allocate処理により得られたスケジュールテーブルを監視している。
【0245】
メモリ監視装置424は、図24を用いて説明した閾値比較による方法で、スケジュールテーブルが歯抜け状態になっていることを検出する。
【0246】
メモリ監視装置424は、Rip−up&Re−allocate処理の計算の途中で、スケジュールテーブルが歯抜け状態であることを検出すると、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0247】
上述したように本実施形態においては、スケジューラ40は、Rip−up&Re−allocate処理の計算の途中で、スケジュールテーブルが歯抜け状態になると、タイムスロットのリアレンジ処理を行う。
【0248】
したがって、スケジュールテーブルが歯抜け状態になることを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(14)第14の実施形態
本実施形態は、第10の実施形態の中で説明した、(2)計算の途中でリアレンジ処理による補正をかける方法であり、表6に示した[4]に相当する。
【0249】
なお、本実施形態は、構成自体は第13の実施形態と同様であるが、スケジューラ40の監視対象や検出対象が異なる。
【0250】
すなわち、メモリ監視装置424は、Rip−up&Re−allocate処理の計算を行っている間、各パスが要求するトラヒック量と、Rip−up&Re−allocate処理により得られたスケジュールテーブル上で各パスに割り当てられた割当済タイムスロット数と、監視している。
【0251】
メモリ監視装置424は、各パスのトラヒック量と割当済タイムスロット数とを基に、閾値比較による方法で、タイムスロット割当の精度が悪化しているパスがあることを検出する。精度悪化の検出方法は、第12の実施形態で例示したものが利用できる。
【0252】
メモリ監視装置424は、Rip−up&Re−allocate処理の計算の途中で、タイムスロット割当の精度が悪化しているパスがあることを検出すると、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0253】
上述したように本実施形態においては、スケジューラ40は、Rip−up&Re−allocate処理の計算の途中で、タイムスロット割当の精度が悪化したパスがあると、タイムスロットのリアレンジ処理を行う。
【0254】
したがって、各パスに対するタイムスロット割当の精度が悪化することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(15)第15の実施形態
本実施形態は、第10の実施形態の中で説明した、(3)トリガの通知を受けてリアレンジ処理による補正をかける方法であり、表7に示した[5]に相当する。
【0255】
図28に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0256】
図28に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図3に示した第1の実施形態の構成と比較して、メモリ監視装置424および超過カウンタ425を追加している点が異なる。
【0257】
メモリ監視装置424は、Rip−up&Re−allocate処理により得られたスケジュールテーブルを監視し、図24を用いて説明した閾値比較による方法で、スケジュールテーブルが歯抜け状態になっていることを検出する。
【0258】
メモリ監視装置424は、定期的に、スケジュールテーブルが歯抜け状態であるか否かを、超過カウンタ425に通知する。
【0259】
超過カウンタ425は、スケジュールテーブルが歯抜け状態になった累積回数をカウントし、その累積回数が閾値に達した場合、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0260】
または、超過カウンタ425は、スケジュールテーブルが歯抜け状態になっている状況が連続している場合、その連続回数をカウントし、その連続回数が閾値に達した場合、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0261】
上述したように本実施形態においては、スケジューラ40は、スケジュールテーブルが歯抜け状態になった回数に応じて、タイムスロットのリアレンジ処理を行う。
【0262】
したがって、スケジュールテーブルが歯抜け状態になることを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(16)第16の実施形態
本実施形態は、第10の実施形態の中で説明した、(3)トリガの通知を受けてリアレンジ処理による補正をかける方法であり、表7に示した[6]に相当する。
【0263】
なお、本実施形態は、構成自体は第15の実施形態と同様であるが、スケジューラ40の監視対象や検出対象が異なる。
【0264】
すなわち、メモリ監視装置424は、各パスが要求するトラヒック量と、Rip−up&Re−allocate処理により得られたスケジュールテーブル上で各パスに割り当てられた割当済タイムスロット数と、を監視し、各パスのトラヒック量と割当済タイムスロット数とを基に、閾値比較による方法で、タイムスロット割当の精度が悪化しているパスがあることを検出する。精度悪化の検出方法は、第12の実施形態で例示したものが利用できる。
【0265】
メモリ監視装置424は、定期的に、タイムスロット割当の精度が悪化しているパスがあるか否かを、超過カウンタ425に通知する。
【0266】
超過カウンタ425は、タイムスロット割当の精度が悪化したパスが存在する累積回数をカウントし、その累積回数が閾値に達した場合、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0267】
または、超過カウンタ425は、タイムスロット割当の精度が悪化したパスが存在している状況が連続している場合、その連続回数をカウントし、その連続回数が閾値に達した場合、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0268】
上述したように本実施形態においては、スケジューラ40は、パスに対するタイムスロット割当の精度が悪化した回数に応じて、タイムスロットのリアレンジ処理を行う。
【0269】
したがって、各パスに対するタイムスロット割当の精度が悪化することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(17)第17の実施形態
本実施形態は、第10の実施形態の中で説明した、(3)トリガの通知を受けてリアレンジ処理による補正をかける方法であり、表7に示した[7]に相当する。
【0270】
図29に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0271】
図29に示すように、本実施形態のTDMネットワークシステムにおいては、ノード10は、図4に示した第1の実施形態の構成と比較して、構成要素自体は同様であるが、コントローラ101に閾値超過通知処理を追加している点が異なる。
【0272】
コントローラ101は、自ノード10を送信元とする各パスのキュー長を管理している。
【0273】
コントローラ101は、定期的に、自ノード10を送信元とする各パスのキュー長を閾値と比較し、閾値を超過しているパスがある場合、閾値超過通知をスケジューラ40に送信する。
【0274】
スケジューラ40の演算装置402は、いずれかのノード10から、閾値超過通知を受信すると、タイムスロットのリアレンジ処理を行う。
【0275】
上述したように本実施形態においては、スケジューラ40は、いずれかのノード10から、閾値超過通知を受信すると、タイムスロットのリアレンジ処理を行う。
【0276】
したがって、パスのキュー長が不要に長くなり遅延が増大することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加ならびにレイテンシ(遅延)を抑制させることができるという効果が得られる。
(18)第18の実施形態
本実施形態は、第10の実施形態の中で説明した、(3)トリガの通知を受けてリアレンジ処理による補正をかける方法であり、表7に示した[8]に相当する。
【0277】
なお、本実施形態は、構成自体は第17の実施形態と同様であるが、各ノード10の監視対象や検出対象が異なる。
【0278】
すなわち、コントローラ101は、自ノード10を送信元とする各パスのテールドロップ(Tail Drop)率を管理している。テールドロップとは、キューが一杯である場合、その時に到着したパケットを破棄することであり、テールドロップ率とは、キューが一杯であるために到着したパケットを破棄した割合のことである。
【0279】
コントローラ101は、定期的に、自ノード10を送信元とする各パスのテールドロップ率を閾値と比較し、閾値を超過しているパスがある場合、閾値超過通知をスケジューラ40に送信する。
【0280】
スケジューラ40の演算装置402は、いずれかのノード10から、閾値超過通知を受信すると、タイムスロットのリアレンジ処理を行う。
【0281】
上述したように本実施形態においては、スケジューラ40は、いずれかのノード10から、閾値超過通知を受信すると、タイムスロットのリアレンジ処理を行う。
【0282】
したがって、ノード10にて破棄されるパスが増加することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(19)第19の実施形態
本実施形態は、第10の実施形態の中で説明した、(3)トリガの通知を受けてリアレンジ処理による補正をかける方法であり、表7に示した[9]に相当する。
【0283】
図30に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0284】
図30に示すように、本実施形態のTDMネットワークシステムにおいては、ノード10は、図4に示した第1の実施形態の構成と比較して、割当精度監視装置107を追加している点が異なる。
【0285】
コントローラ101は、自ノード10を送信元とする各パスが要求するトラヒック量と、スケジューラ40により各パスに割り当てられた割当済タイムスロット数と、管理している。
【0286】
割当精度監視装置107は、各パスのトラヒック量と割当済タイムスロット数とを基に、閾値比較による方法で、タイムスロット割当の精度が悪化しているパスがあることを検出する。精度悪化の検出方法は、第12の実施形態で例示したものが利用できる。
【0287】
コントローラ101は、タイムスロット割当の精度が悪化しているパスがある場合、最適解乖離通知をスケジューラ40に送信する。
【0288】
スケジューラ40の演算装置402は、いずれかのノード10から、最適解乖離通知を受けると、タイムスロットのリアレンジ処理を行う。
【0289】
上述したように本実施形態においては、スケジューラ40は、いずれかのノード10から、最適解乖離通知を受信すると、タイムスロットのリアレンジ処理を行う。
【0290】
したがって、各パスに対するタイムスロット割当の精度が悪化することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
(20)第20の実施形態
第10の実施形態においては、タイムスロット割当の計算時間の余りを利用してリアレンジ処理を行い、打切タイマ423によって、タイムスロット割当の計算の打ち切りをかけていた。
【0291】
これに対して本実施形態においては、打切タイマ423によるタイムスロット割当の計算打ち切りに加えて、打切タイマ423による計算打ち切りまでの一定時間内に、スケジュールテーブルの歯抜け状態やタイムスロット割当の精度悪化が改善されたことでも計算打ち切りをかける。
【0292】
図31に、本実施形態のTDMネットワークシステムの構成の例を示す。
【0293】
図31に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図25に示した第10の実施形態の構成と比較して、メモリ監視装置424を追加している点が異なる。
【0294】
演算装置402は、Rip−up&Re−allocate処理後、タイムスロット割当の計算時間の余りを利用し、タイムスロット処理を行う。
【0295】
打切タイマ423は、定期的に、タイムスロット割当の計算打ち切りのトリガを演算装置402に通知する。
【0296】
メモリ監視装置424は、スケジュールテーブルの歯抜け状態やタイムスロット割当の精度悪化が改善されたかを監視し、スケジュールテーブルの歯抜け状態やタイムスロット割当の精度悪化が改善された場合、タイムスロット割当の計算打ち切りのトリガを演算装置402に通知する。
【0297】
そのため、演算装置402は、Rip−up&Re−allocate処理後、タイムスロット割当の計算時間の余りを利用し、打切タイマ423またはメモリ監視装置424から計算打ち切りの通知が来るまで、タイムスロット処理を行うことになる。
【0298】
上述したように本実施形態においては、スケジューラ40は、スケジュールテーブルの歯抜け状態やタイムスロット割当の精度悪化が改善された場合も、タイムスロット割当の計算の打ち切りをかける。したがって、打切タイマ423のタイムアウト前でも、歯抜け状態や精度悪化が改善すると、計算打切りをかけることができるため、タイムスロット割当の計算時間のさらなる短縮化を図ることができるという効果が得られる。
(21)第21の実施形態
第17〜第19の実施形態においては、スケジューラ40は、いずれかのノード10から、閾値超過通知や最適解乖離通知を受けると、タイムスロットのリアレンジ処理を行っていた。
【0299】
これに対して本実施形態においては、一定時間内に閾値超過通知や最適解乖離通知を受けた回数が閾値に達した場合、タイムスロットのリアレンジ処理を行う。
【0300】
図32に、本実施形態のTDMネットワークシステムの構成の例を示す。なお、図32は、図30に示した第19の実施形態をベースとし、各ノード10は最適解乖離通知処理を行うものとする。
【0301】
図32に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40は、図30に示した第19の実施形態の構成と比較して、最適解乖離通知カウンタ426およびタイマ427を追加している点が異なる。
【0302】
最適解乖離通知カウンタ426は、一定時間内にノード10から最適解乖離通知を受信した数をカウントし、カウンタ値が閾値に達した場合、タイムスロットのリアレンジ処理を行うトリガを演算装置402に通知する。
【0303】
タイマ427は、定期的にトリガを最適解乖離通知カウンタ426に通知する。
【0304】
そのため、最適解乖離通知カウンタ426は、タイマ427から次のトリガの通知を受ける間に、最適解乖離通知を受信した数をカウントすることになる。
【0305】
上述したように本実施形態においては、スケジューラ40は、ノード10から最適解乖離通知を受けた回数が閾値に達した場合、タイムスロットのリアレンジ処理を行う。
【0306】
したがって、各パスに対するタイムスロット割当の精度が悪化することを回避することができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
【0307】
また、あるパスに対するタイムスロット割当の精度が悪化しても、一定時間内に精度が改善する場合があり、その結果、最適解乖離通知を受信した数が閾値に達しない場合のリアレンジ処理を回避することができるという効果が得られる。
【0308】
なお、本実施形態においては、図29に示した第17および第18の実施形態をベースとすることもでき、その場合、最適解乖離通知カウンタ426の代わりに、閾値超過通知を受信した数をカウントする閾値超過通知カウンタを設ければよい。
(22)第22の実施形態
第17〜第19の実施形態においては、スケジューラ40は、いずれかのノード10から、閾値超過通知や最適解乖離通知を受けると、タイムスロットのリアレンジ処理を行っていた。
【0309】
これに対して本実施形態においては、パスごとに、一定時間内に閾値超過通知や最適解乖離通知を受けた回数をカウントし、その回数が閾値に達したパスを優先して、Rip−up&Re−allocate処理においてタイムスロット割当を行う。
【0310】
図33に、本実施形態のTDMネットワークシステムの構成の例を示す。なお、図33は、図30に示した第19の実施形態をベースとし、各ノード10は最適解乖離通知処理を行うものとする。
【0311】
図33に示すように、本実施形態のTDMネットワークシステムにおいては、スケジューラ40およびノード10は、図32に示した第22の実施形態の構成と比較して、構成要素自体は同様であるが、動作が異なる。
【0312】
すなわち、ノード10のコントローラ101は、タイムスロット割当の精度が悪化しているパスがある場合、そのパスの識別子を含む最適解乖離通知をスケジューラ40に送信する。
【0313】
最適解乖離通知カウンタ426は、パスごとに、一定時間内にノード10から最適解乖離通知を受信した数をカウントし、カウンタ値が閾値に達したパスがある場合、そのパスを演算装置402に通知する。
【0314】
タイマ427は、定期的にトリガを最適解乖離通知カウンタ426に通知する。
【0315】
そのため、最適解乖離通知カウンタ426は、タイマ427から次のトリガの通知を受ける間に、最適解乖離通知を受信した数をカウントすることになる。
【0316】
演算装置402は、最適解乖離通知カウンタ426から通知されたパスを優先して、Rip−up&Re−allocate処理においてタイムスロット割当を行う。
【0317】
上述したように本実施形態においては、スケジューラ40は、ノード10から最適解乖離通知を受けた回数が閾値に達したパスがある場合、そのパスを優先して、Rip−up&Re−allocate処理においてタイムスロット割当を行う。
【0318】
したがって、タイムスロット割当の精度が悪化したパスを優先して、Rip−up&Re−allocate処理においてタイムスロット割当を行うことができるため、同一設備量のTDMネットワークシステムにおいて、同一設備量で転送されるトラヒック量を増加させることができるという効果が得られる。
【0319】
なお、本実施形態においては、図29に示した第17および第18の実施形態をベースとすることもでき、その場合、最適解乖離通知カウンタ426の代わりに、閾値超過通知を受信した数をカウントする閾値超過通知カウンタを設ければよい。
【0320】
また、本実施形態においては、リアレンジ処理を行うトリガや、リアレンジ処理(タイムスロット割当)の計算を打ち切るトリガは任意であり、上述した第10〜第21の実施形態のいずれかと組み合わせることが可能である。
【0321】
以上、第10〜第22の実施形態において、Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせる方法の例を示したが、この方法の考え方について補足する。
【0322】
Rip−up&Re−allocate方式にタイムスロットのリアレンジ処理を組み合わせる方法では、タイムスロット割当中のスケジュールテーブル上で、タイムスロット操作(切り貼り/移動)を行う。
【0323】
ただし、タイムスロット操作の際には、アプリケーションによってポリシが異なると考えられる。
【0324】
例えば、集線ネットワークでは、パス数は多く、1パスあたりの所要TSは少ない。このことから、スケジュールテーブル上でリンク方向に隣接タイムスロットを増やすことを優先することが効果的であると考えられる。
【0325】
一方、コアネットワークでは、1パス上に多数のユーザが多重されるため、パス数は少なく、1パスあたりの所要帯域は大きい。このことから、スケジュールテーブル上で時間方向に隣接タイムスロットを増やすことを優先することが効果的(隣接タイムスロット間は光オーバヘッドを削減可能)であると考えられる。
【0326】
図34に、リンク方向に隣接タイムスロットを増やす方法と時間方向に隣接タイムスロットを増やす方法の例を示す。
【0327】
図34に示すように、リンク方向に隣接タイムスロットを増やすとは、図34中の横方向になるべく連なるようタイムスロットを割り当てることである。図34の例では、ノードC→ノードAのパスに割り当てた割当済タイムスロットを移動させる場合、タイムスロット位置4へ移動させる。
【0328】
横方向に空きをなくし、タイムスロットがつまると、タイムスロットの割当効率が上がるため、同一設備に対して、より多くのユーザを収容できるようになる。
【0329】
一方、時間方向に隣接タイムスロットを増やすとは、図34中の縦方向になるべく連なるようタイムスロットを割り当てることである。図34の例では、ノードA→ノードDのパスに対して分割してタイムスロットが割り当てられている。そのため、割当済タイムスロットをタイムスロット位置5へ移動させることで、連続したタイムスロット割当が実現可能となる。
【0330】
同一パスに対して縦方向に連続してタイムスロットを割り当てると、タイムスロット間の光オーバヘッドを削除した運用も可能になる。また、大容量通信の収容に適している。
【0331】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の要旨を逸脱しない範囲で当業者が理解し得る各種の変形が可能である。
【0332】
例えば、第1〜第22の実施形態においては、本発明のスケジューラ40を電子回路を用いて構成した例を示したが、その一部または全部をコンピュータ上のソフトウェアで実現してもよい。
【0333】
また、第1〜第22の実施形態においては、リアレンジ処理を行うトリガや、リアレンジ処理(タイムスロット割当)の計算を打ち切るトリガを幾つか説明したが、これらは別の実施形態に適用しても良いし、2つ以上を組み合わせて適用しても良い。
【0334】
また、本発明のスケジューラ40にて行われる方法は、コンピュータに実行させるためのプログラムに適用しても良い。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
【符号の説明】
【0335】
10 ノード
101 コントローラ
102 スイッチ
103 送信部(Tx)
104 受信部(Rx)
105 バッファ
106 IO部
107 割当精度監視装置
20 リンク
30 ホストコンピュータ
40 スケジューラ
401 IO部
402 演算装置
403 メモリ
404 トラヒック情報保持部
405 ノードグルーパ
406 グループ内スケジュール算出部
407 グループ内スケジュールテーブル保持部
408,408−1,408−2 グループ間スケジュール算出部
409,409−1,409−2 グループ間スケジュールテーブル保持部
410,410−1,410−2 仮想スケジュールテーブル算出部
411 打切タイマ
412 計算打切通知部
413,413−1,413−2 TS再配置割当算出部
414,414−1,414−2 実スケジュールテーブル算出部
415,415−1,415−2 実スケジュールテーブル保持部
416 ノード制御信号生成部
417 打切指示検知部
418 仮想スケジュールテーブル監視部
419 要割当パス監視部
420 制御信号カウンタ
421 グループトラヒック情報保持部
422 グループ経路情報保持部
423 打切タイマ
424 メモリ監視装置
425 超過カウンタ
426 最適解乖離通知カウンタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37