次に、本発明の好ましい実施形態について、図面を参照して説明する。
まず、本発明の実施の一形態のエラスティック光パスネットワークの具体的な構成を説明する前に、この実施形態でのスペクトル割り当て方法の概念について説明する。このスペクトル割り当て方法は本発明に基づくものであって、このスペクトル割り当て方法では、エラスティック光パスネットワークにおいて動的なリソース割り当てを行う際に、トラヒック変動周期などの再計算周期ごとに全てのリソース割り当てについての再計算を行うのではなく、この間のトラヒック変動分のみを考慮した再計算を行うことで、計算量を減らし、かつ、周波数スロット割り当ての最適解に高速に漸近するようにしている。この方法では、所要スロット数マトリクスの計算を行った上で、前回計算された所要スロット数マトリクスとの比較の上で変化があった部分についてのみ、RSAテーブルにおけるスロット割り当ての変更すなわちスペクトル割り当ての変更を行う。スロット割り当ての変更は、例えば、トラヒック量が減少して所要スロット数が減少した対地(パス)について、割り当てられているスロット数を減少させ(これをスロットの剥ぎ取り(Rip-up)処理と呼ぶ)、トラヒック量が増加した対地について、追加のスロットを割り当てる(これをスロットの貼り付け(Re-allocation)処理と呼ぶ)ことによって行われる。
図2は、RSAテーブルにおける変化を示すことによって、本実施形態でのスペクトル割り当て方法の概念を示している。5個のノードA〜Eを有する一方向リングネットワークにおいて、ある時点でのRSAテーブルの内容が図2の左側に示すもののようであったとする。ここで、トラヒック変動があり、C→A、A→D及びD→Aの各対地のトラヒック量が減少し、A→B及びB→Eの各対地のトラヒックが増加したとすると、本発明に基づくスペクトル割り当て方法では、図2の右側に示すように、C→A、A→D及びD→Aの各対地について割当スロットを剥ぎ取り、剥ぎ取った分をA→B及びB→Eの各対地に貼り付ける。これにより複数パス間で帯域を融通し合う。このとき、所要トラヒック量に変化があった対地についてのみ計算を行うことにより、計算量を大幅に減少させて計算速度を向上させ、トラヒック変動に追従し動的に帯域(すなわち周波数スロット)を再割当可能なネットワークシステムの大規模化を実現させる。
図3は、本実施形態でのスペクトル割り当て方法をより模式的に示した図である。本実施形態では、前回と今回との間で要求トラヒック量の変動が大きい対地(パス)に注目し、大きく要求量が減少した対地で使われていた帯域を、要求量が大きく増加した対地に割り当てる。例えば、図3の(a)に示すように、ネットワーク上のノードA,Bのうち、ノードA向けのトラヒック量が多く、ノードA向けにより大きな帯域が割り当てられているものとする。この状態で、図3の(b)に示すように、ノードA向けのトラヒック量がノードB向けのトラヒック量が増加した場合には、A向けの帯域が余り、B向けの帯域が不足することになる。そこで本実施形態の方法では、余っている方のA向けの帯域を削って(すなわち剥ぎ取り処理)、不足している方のB向けの帯域に割り当てる(すなわち貼り付け処理)という操作を、全対地を対象として実行する。図3の(c)に示すように、剥ぎ取り及び貼り付けの実行回数(対象とするパスの本数)にしたがって、剥ぎ取りあるいは貼り付けのための計算時間は増加するが、周波数スロット割り当てにおける非効率さは改善され、ネットワークにおける実際の帯域利用率を向上させることができる。したがって、少ない回数の剥ぎ取り及び貼り付け処理によって非効率さが大幅に改善されればよく、そのために、後述するように、どの順番で剥ぎ取り処理や貼り付け処理を行うパスを決定し、RSAテーブル上のどの位置から剥ぎ取り処理や貼り付け処理を行うかのアルゴリズムが重要となる。
次に、本実施形態のエラスティック光パスネットワークの構成について説明する。図4は、この光パスネットワークの基本的なネットワーク構成を示している。ここでは一方向リングネットワークによって光パスネットワークが構成されているものとする。
ノードとなる複数の光転送装置11が光ファイバケーブル(リンク)10を介してリング状に接続している。各光転送装置(ノード)11には、それぞれホストコンピュータ12が接続している。各ホストコンピュータ12は、エラスティック光パスネットワークであるリングネットワークを介して他ノードに接続されたホストコンピュータ12に対して通信を行うものとする。このホストコンピュータ12間の通信データは、光転送装置11によって転送される。ホストコンピュータ12としては公知の構成のものを使用できる。
また、ネットワーク内の1つの光転送装置11には、このネットワーク全体でのスペクトル割り当てを行うネットワークコントローラ13が設けられている。ネットワークコントローラ13は、ネットワーク内の情報を管理し、パス割り当てを行い、各光転送装置11に対する制御信号を生成する。この制御信号も光ファイバケーブル10によって対象となる光転送装置11に転送される。ここではエラスティック光ネットワークが制御対象となっているので、ネットワークコントローラ13は、対地に対してリンク上でのスペクトルすなわち周波数スロットを割り当てることで、当該対地に対するパス割り当てを実行する。
各光転送装置11の構成を説明する。本実施形態においては、光転送装置11としては、エラスティック光パスネットワークにおいて用いられる公知の構成のものに、パスのトラヒック量を動的に収集してネットワークコントローラ13に通知する機能を追加した構成のものであることが必要である。
各光転送装置(ノード)11は、リンクを介して隣接するノードの一方から送られてきた光信号を処理し、光信号として隣接する他方のノードに転送し、あるいは接続されたホストコンピュータ12に信号を転送するものである。また、ネットワークコントローラ13に送られるトラヒック情報やネットワークコントローラ13からのノード設定情報も光信号としてネットワーク上を転送されるから、光転送装置11は、こららのトラヒック情報やノード設定情報を処理し転送する機能も有しなければならない。ネットワークコントローラ13が設けられるノードの光転送装置11は、ネットワークコントローラ13との間で制御信号を送受する機能も有する。
図4に示すように各光転送装置11は、大別すると、光スイッチ20、トランスポンダ30、トランスポンダコントローラ40、及び光スイッチコントローラ50を備えている。光スイッチ20は、例えば、光の周波数ごとに方路切替が可能なものであって、隣接する一方のノードからリンクを介した入射した光信号をトランスポンダ30または隣接する他方のノードに転送し、トランスポンダ30からの光信号を隣接する他方のノードに転送する機能を有する。このような光スイッチ20としては、例えば、M. Jinno, H. Takara, Y. Sone, K. Yonenaga, and A. Hirano, “Elastic optical path network architecture: Framework for specrally-efficient and scalable future optical networks,” IEICE Trans. Commun., vol.E95-B, no. 3, pp. 706-713, Mar. 2012に記載されたものを使用することができる。以下の説明では、光スイッチ20はN×N光スイッチであるものとする。
トランスポンダ30は、ホストコンピュータ12からのデータ信号を終端して送信指示に従って光信号として光スイッチ20に送出するとともに、ネットワークを介し光スイッチ20を介して転送されてきた光信号を終端し、データ信号としてホストコンピュータ12に送信するものである。ネットワークコントローラ13を備えないノードに設けられるトランスポンダ30は、図5に示すように、ホストコンピュータ12との間でデータ信号(クライアント信号)をやり取りするクライアントインタフェース(クライアントIF)30と、光スイッチ20に送られるM個の光信号#k1〜#kMを生成する1×M送信部32と、N×Nスイッチ20から転送されてきたM個の光信号#1k〜#Mkを受信するM×1光受信部33とを備えている。ここでkは1以上の整数であって、光転送装置11(ノード)のID(識別番号)を表している。光信号#ijの表記は、IDがiであるノードからIDがjであるノードに向かう光信号であることを示している。クライアントIF31から1×M送信部32には、他ホストへ向かう信号が供給され、M×1受信部33からクライアントIF31には、他ホストから転送されてきた信号が送られる。図に示した例では、N>2Mが満たされているが、N×Nスイッチ20との間に、送信側ではN×1光カプラ、受信側では1×N光スプリッタをそれぞれ挿入することにより、信号を多重させて光スイッチの所要ポート数を抑制することも可能である。以下の説明においては、ネットワークコントローラ13が設けられたノード、すなわちコントローラ配備ノードのIDは1であるとしている。
後述するようにトランスポンダ30はトランスポンダコントローラ40によって制御されており、トランスポンダコントローラ40から1×M送信部32に対し、どのノードにネットワークコントローラが配備されているかというコントローラ配備されているかを示すコントローラ配備情報と、どの周波数の光信号を生成すべきかを示す送信設定情報とが供給される。また、トランスポンダコントローラ40からM×1送信部33に対し、コントローラ配備情報と、どの周波数の光信号を受信すべきかを示す受信設定情報とが供給される。またネットワークコントローラ13からこのノードに送られてきたノード設定情報はM×1受信部33で受信されるので、M×1受信部33からトランスポンダコントローラ40にはノード設定情報が送られる。ノード設定情報は、ノードごとに、そのノードの光スイッチにおいて各周波数の光信号をどのように方路切替を行うか、どの周波数の光信号を受信するか、どの周波数の光信号を他ノードあてに送信するか、送信の際、どのような変調を行うか、受信の際、どのような復調を行うか、などを示す情報である。
なお、ノードには複数台のホストコンピュータを接続することも可能である。A台(A>1)のホストコンピュータが接続される場合には、A個のクライアントIFを配備し、A×M光送信部とM×A光受信部との間を結線すればよい。
図6は、図5に示すトランスポンダ30に設けられるM×1光送信部32の構成を示している。M×1光送信部32は、トランスポンダコントローラ40からの送信設定情報にしたがって、ホストからのデータ信号を光信号として送信するとともに、自ノードのトラヒック情報をネットワークコントローラ13に送信する機能を有する。この場合、自ノードからコントローラ配備ノードあてのパスには、トラヒック情報を示す制御信号が多重されるものとする。
このようなM×1光送信部32は、他ホストへ向かう信号をM個の宛先ごとの信号に振り分ける振分処理部101と、振分処理部101で振り分けられた宛先ごとの信号を一時的に貯えるM個のキュー102と、M個のキュー102の状態を監視するキュー状態監視部103と、キュー状態監視部103での監視結果に基づいて、自ノード発のパスのトラヒック情報を生成するトラヒック情報生成部104と、自ノード発のパスのトラヒック情報をネットワークコントローラ13に送信するために送信先のノードを選択する1×Mスイッチ105と、M個のキュー102の出力側にそれぞれ設けられたM個の2×1スイッチ106と、を備えている。M個の2×1スイッチ106は、それぞれの前段のキュー102の出力と1×Mスイッチ105の出力とを多重する。トランスポンダコントローラ40から送られてきたコントローラ配備情報を保持するコントローラ配備情報保持部108が設けられており、この保持されたコントローラ配備情報が示すノードに対してトラヒック情報が送られるように1×Mスイッチ105を制御する1×Mスイッチ制御部107が設けられている。1×Mスイッチ制御部107から1×Mスイッチには切替情報が送られる。その結果、コントローラが配備されたノード宛のデータ信号に対して、2×1スイッチ106による多重処理が行われることになる。1×M光送信部32には、さらに、各2×1スイッチ106の出力信号に対してデジタル信号処理を行うデジタル信号処理部109と、デジタル信号処理部109の出力信号をシリアル/パラレル(S/P)変換するS/P変換部110と、S/P変換部110の出力に基づいて光信号#k1〜#kMを実際に生成するマルチフロー光トランスミッタ111と、トランスポンダコントローラ40からの送信設定情報を保持する送信設定情報保持部112とが設けられている。デジタル信号処理部109及びマルチフロー光トランスミッタ111は、送信設定情報保持部112に保持された送信設定情報に応じて制御される。なお、使用する変調方式や信号レートによっては、S/P変換部110を設けない構成とすることも可能であり、その場合には、デジタル信号処理部109の出力信号がそのままマルチフロー光トランスミッタ110に与えられる。
図7は、マルチフロー光トランスミッタ111の構成を示している。マルチフロー光トランスミッタ111は、M個の波長可変光源121と、M個の光スペクトル変調器123と、これらの波長可変光源121と光スペクトル変調器123との間に設けられたM×M光スイッチ122と、送信設定情報を波長設定情報、スイッチ設定情報及び変調設定情報に変換するトランスミッタ制御情報変換部124と、を備えている。各波長可変光源121の出力波長は波長設定情報によって制御され、M×M光スイッチ122の方路切替はスイッチ設定情報によって制御され、各光スペクトル変調器123での変調は変調設定情報によって制御される。このマルチフロー光トランスミッタ111では、波長可変光源121からM×M光スイッチ122を介して光スペクトル変調器123に入射した光が、S/P変換部110からのデータ信号によって変調され、光信号#k1〜#kMとして光スイッチ20に送られる。
図8は、図5に示すトランスポンダ30に設けられる1×M光受信部33の構成を示している。1×M光受信部33は、トランスポンダコントローラ40からの受信設定情報にしたがって、光スイッチ20からの光信号を受信して他ホストから転送された信号としてホストコンピュータ12側に送るとともに、コントローラ配備ノード発のパスに多重されたノード設定情報を受信してトランスポンダコントローラ40に送る機能を有する。
このようなM×1光受信部33は、光スイッチ20からの光信号#1k〜#Mkを受信するデジタルコヒーレント受信器141と、デジタルコヒーレント受信器141で受信した信号に対してパラレル/シリアル(P/S)変換を行うP/S変換部142と、P/S変換後の信号に対してデジタル信号処理を行うデジタル信号処理部143と、デジタル信号処理部143のM個の出力にそれぞれ設けられて通常のデータ信号とノード設定情報とを分離するM個の1×2スイッチ144と、M個の1×2スイッチ144から出力される他ホストからのデータ信号を多重してクライアントIF31に送る多重処理部145と、クライアント配備ノードからのノード設定情報を取得するためにM個の1×2スイッチ144のいずれかを選択するM×1スイッチ146と、M×1スイッチ146を制御するM×1スイッチ制御部147と、トランスポンダコントローラ40から受け取ったコントローラ配備情報を保持するコントローラ配備情報保持部148と、トランスポンダコントローラ40から受け取った受信設定情報を保持する受信設定情報保持部149と、を備えている。M×1スイッチ制御部147は、コントローラ配備情報保持部148に保持されたコントローラ配備情報に応じて切替情報をM×1スイッチ146に与えてM×1スイッチ146を制御する。デジタルコヒーレント受信器141及びデジタル信号処理部143は、受信設定情報保持部149に保持された受信設定情報によって制御される。M×1スイッチ146で得られた自ノードのノード設定情報は、トランスポンダコントローラ40に送られる。なお、使用する変調方式や信号レートによっては、P/S変換部142を設けない構成とすることも可能であり、その場合には、デジタルコヒーレント受信器141からの出力信号がそのままデジタル信号処理部143に与えられる。
次に、トランスポンダコントローラ40及び光スイッチコントローラ50について説明する。トランスポンダコントローラ40は、トランスポンダ40の状態を管理し、ネットワークコントローラ13に通知し、さらに、自ノードのノード設定情報に基づいてトランスポンダ30の送受信設定を行うものである。また光スイッチコントローラは、トランスポンダコントローラ40からの光スイッチ制御情報に基づいて、光スイッチ20における方路切替の制御を行うものである。
ネットワークコントローラ13を備えないノードに設けられるトランスポンダコントローラ40は、図9に示すように、トランスポンダ30から送られてきた自ノードのノード設定情報を受信するノード設定制御信号受信部41と、受信したノード制御信号を上述したコントローラ配備情報、送信設定情報、受信設定情報及び光スイッチ制御情報に分離し変換する制御信号分離・変換部42と、コントローラ配備情報を保持してトランスポンダ30に送るネットワークコントローラ配備情報保持部43と、送信設定情報を保持してトランスポンダ30に送るトランスポンダ送信設定情報保持部44と、受信設定情報を保持してトランスポンダ30に送るトランスポンダ受信設定情報保持部45と、光スイッチ制御情報を保持して光スイッチコントローラ50に送信する光スイッチ制御情報送信部46と、を備えている。このトランスポンダコントローラ40では、ノード設定情報からコントローラ配備情報を得るのではなく、ネットワークオペレーションシステムによってネットワークコントローラ配備情報保持部43にネットワークコントローラ配備情報やネットワーク構成情報を直接格納するようにしてもよい。
光スイッチコントローラ50は、図9に示すように、光スイッチ制御情報を受信してスイッチの方路切替設定に変換する光スイッチ制御情報受信部51と、スイッチの方路切替設定を保持するスイッチ方路切替設定保持部52と、方路切替設定に基づいて実際にN×Nスイッチ20での方路切替を行うスイッチ制御部53と、を備えている。
次に、ネットワークコントローラ13が接続される光転送装置(ノード)11について説明する。ネットワークコントローラ13が接続されるノードには、ネットワークコントローラ13に対して各ノードでのトラヒック情報を渡す機能と、ネットワークコントローラ13で行ったスペクトル割り当ての結果に基づいて各ノードに対してノード設定情報、すなわち割り当て結果を示す情報を通知する機能が必要である。このため、ネットワークコントローラ13が設けられるノードにおけるトランスポンダ30及びトランスポンダコントローラ40は、図5〜図9に示したものから多少の変更が必要である。
図10は、ネットワークコントローラ13が接続したノードに設けられるトランスポンダ30の構成を示している。図10に示したトランスポンダ30は、図5に示したものと同様のものであるが、ネットワークコントローラ13が生成した各ノードのノード設定情報がトランスポンダコントローラ40から1×M光送信部32に送られ、他ノードのトラヒック情報がM×1光受信部33からトランスポンダコントローラ40に送られ、自ノードのトラヒック情報が1×M光送信部32からトランスポンダコントローラ40に送られるようになっている点で、図5に示したものと異なっている。トラヒック情報はトランスポンダコントローラ40からネットワークコントローラ13に送られる。また、このノードにネットワークコントローラ13が接続していることを前提としてトランスポンダ30を構成するのであれば、図示点線で示すように、トランスポンダコントローラ40からトランスポンダ30に対してコントローラ配備情報を送ることは必ずしも必要ない。
図11は、図10に示すトランスポンダ30に設けられるM×1光送信部32の構成を示している。図11に示すM×1光送信部32は、図6に示すものと同様のものであるが、1×Mスイッチ制御部107及びコントローラ配備情報保持部108が設けられておらず、その代わりにノード設定情報保持部113が設けられている点で、図6に示したものと異なっている。トランスポンダコントローラ40からは、コントローラ配備情報の代わりに自ノード以外のノードについてのノード設定情報が送られてきており、この自ノード以外のノード設定情報はノード設定情報保持部113に保持される。そして、1×Mスイッチ105は、これらの各ノード設定情報が対応するノードに送られるように、ノード設定情報を各2×1スイッチ106に出力する。その結果、各2×1スイッチ106が出力するデータ信号は、自ノード以外のノードごとに、ノード設定情報の制御信号が多重されたデータ信号ということになる。トラヒック情報生成部104が生成した自ノード発のパスのトラヒック情報は、トランスポンダコントローラ4に直接送られる。
図12は、図10に示すトランスポンダ30に設けられる1×M光受信部33の構成を示している。図12に示す1×M光受信部32は、図8に示すものと同様のものであるが、M×1スイッチ制御部147及びコントローラ配備情報保持部148が設けられていない点で、図8に示したものと異なっている。自ノード以外の各ノードからの光信号には当該ノードでのトラヒック情報が多重されており、デジタル信号処理部143が出力するデータ信号には、トラヒック情報の制御信号が多重されている。その結果、各1×2スイッチ144からは、対応するノードのトラヒック情報が得られるので、M×1スイッチ146は、図8に示した場合のトラヒック情報の代わりに、自ノード以外を発ノードとするパスのトラヒック情報、すなわち自ノード以外のノードのトラヒック情報をトランスポンダコントローラ40に送る。
図13は、ネットワークコントローラ13が接続したノードに設けられるトランスポンダコントローラ40の構成を示している。図13に示したトランスポンダコントローラ40は、図9に示したものと同様のものであるが、ネットワークコントローラ配備情報保持部43が設けられず、その代わりにノード制御信号分離部47とトラヒック情報信号多重部48が設けられている点で、図9に示したものと異なっている。全てのノードについてのノード設定情報が、トランスポンダ30を介することなく、ネットワークコントローラ13からトランスポンダコントローラ40に与えられるので、ノード制御信号分離部47は、これらのノード設定情報を受け取って、自ノードのノード設定情報と自ノード以外のノードのノード設定情報とに分離する。自ノードのノード設定情報は、図9に示したものと同様にノード設定制御信号受信部41において受信される。一方、自ノード以外のノードのノード設定情報は、トランスポンダ30の1×M光送信部32に送られる。一方、トランスポンダ30からのトラヒック情報は、トラヒック情報信号多重部48で多重されてネットワークコントローラ13に送られる。
次に、ネットワークコントローラ13について、図14を用いて説明する。
ネットワークコントローラは、エラスティック光パスネットワークにおける動的なスペクトル割り当てのための制御を行うものであって、RSA(経路及びスペクトル割り当て;Routing and Spectrum Assignment)テーブル158を備えており、ネットワーク内での交流トラヒック量を周期的に集計し、各対地間のトラヒック変動差分を検出し、RSAテーブル158の部分変更を行う処理を実行する。また、ネットワークコントローラ13は、RSAテーブル158における空き領域を管理することにより、RSAテーブル全体に対する探索を不要として、計算コストの低減を図っている。このようなネットワークコントローラ13は、トラヒック情報受信部151、トラヒック変動差分算出部152、変動差分テーブル153、減少分剥ぎ取り計算部154、テーブル空管理部155、増加分貼り付け計算部156、割当履歴管理部157、RSA158、テーブル変換部159、ノード設定テーブル160、ノード設定情報送信部161、及びタイマ162を備えている。ネットワークコントローラ13では、前回と今回との間でのトラヒック情報の差分を検出する機能、剥ぎ取り処理を行う機能、及び貼り付け処理を行う機能が重要である。
トラヒック情報受信部151は、ネットワーク内の各光転送装置(ノード)11から定期的に報告されるトラヒック情報(例えば、各ノードの宛先ごとのバッファ蓄積量)を得て、このトラヒック情報からネットワーク内の全対地間の要求帯域量すなわち要求周波数スロット数を算出し、これをトラヒック変動差分算出部152に渡す。各ノードのトラヒック情報は、当該ノードのトランスポンダコントローラ40からネットワークを介して送られてくる。トラヒック変動差分算出部152は、トラヒック情報受信部151から得た要求スロット数と、1つ前の制御タイミングで得ていた要求スロット数を比較することで、該当タイミングまでのトラヒック変動の差分を算出し、変動差分情報として変動差分テーブル153に格納するものである。変動差分テーブル153に書き込まれた変動差分情報は、後述するように、変動量に基づいた分類やソーティングの対象となり、必要に応じて、減少分剥ぎ取り計算部154及び増加分貼り付け計算部156に渡される。
減少分剥ぎ取り計算部154は、変動差分テーブル153に格納された変動差分情報とテーブル空管理部155から得られたテーブルの空き情報と割当履歴管理部157から得られた過去の割当履歴とに基づいて剥ぎ取り処理を実行し、その結果に応じてテーブル空管理部155内のテーブル空き情報とRSAテーブル158とを書き換え、また、今回の剥ぎ取り処理による割当帯域を割当履歴管理部157に通知する。同様に増加分貼り付け計算部156は、変動差分テーブル153に格納された変動差分情報とテーブル空管理部155から得られたテーブルの空き情報と割当履歴管理部157から得られた過去の割当履歴とに基づいて貼り付け処理を実行し、その結果に応じてテーブル空管理部155内のテーブル空き情報とRSAテーブル158とを書き換え、また、今回の貼り付け処理による割当帯域を割当履歴管理部157に通知する。
テーブル空管理部155は、RSAテーブル158における空きスロットの情報を保持し管理するものであって、減少分剥ぎ取り計算部154及び増加分貼り付け計算部156から書き換え通知を受けるとともに、RSAテーブル158からテーブルにおける空き情報を通知され、剥ぎ取り処理や貼り付け処理の実行に先立って、空き情報を減少分剥ぎ取り計算部154及び増加分貼り付け計算部156に提供する。割当履歴管理部157は、割当履歴を保持し管理するものであって、減少分剥ぎ取り計算部154及び増加分貼り付け計算部156から割当帯域の通知を受けて割当履歴に追加し、減少分剥ぎ取り計算部154及び増加分貼り付け計算部156に対して割当履歴情報を提供する。
RSAテーブル158は、上述したように、各周波数スロットごと及び各リンクごとに、そのスロット及びリンクがどのパスのデータ通信のために割り当てられているかを示すテーブルである。言い換えればRSAテーブル158は、ネットワーク内の各リンクに規定されたスロットの空塞状況を表すテーブルである。RSAテーブル158は、減少分剥ぎ取り計算部154及び増加分貼り付け計算部156による剥ぎ取り処理及び貼り付け処理によって書き換えられ、またその空き情報をテーブル空管理部155に提供するように構成されている。RSAテーブル158に対して処理を行う場合、各パスに割り当てられるスロットは、そのパスが経由するすべてのリンクで同一であり、また、複数のスロットが必要な場合には周波数軸上でそれらのスロットが連続している、という条件を満たす必要がある。
テーブル変換部26はRSAテーブル158の内容を光転送装置(ノード)11ごとのノード設定情報に変換してノード設定テーブル160に格納するものであり、ノード設定情報送信部161は、ノード設定テーブル160に基づいて各光転送装置(ノード)11のトランスポンダコントローラ40に対して当該ノードのノード設定情報を定期的に送信する。タイマ162は、時間管理を行うためのものであるが、特に、スペクトル割り当ての処理を行う契機を与えることができる。またタイマ162は、変動差分テーブル153や割当履歴管理部157に対してトリガを出力することにより、定期的に、変動差分テーブル153や割当履歴管理部157の初期化(クリア動作)を実行することもできる。
ネットワークコントローラ13は、専用ハードウェアとして構成することもできるが、マイクロプロセッサやメモリ、通信インタフェースなどを備える汎用のコンピュータを利用し、ネットワークコントローラ13の機能を実行するコンピュータプログラムをこのコンピュータ上で実行させることによっても実現できる。コンピュータ上でプログラムを実行することによってネットワークコントローラ13を実現する場合、RSAテーブル158は、そのコンピュータを構成するメモリ内に記憶され格納される。
本実施形態におけるエラスティック光パスネットワークでは、上述したような構成を採用することにより、人手を介することなくネットワーク側での自律的な動的帯域制御が可能となる。
以上説明した本実施形態におけるエラスティック光パスネットワークでは、高信頼化の観点から、ネットワークコントローラ13を複数台準備し、地理的に異なる設けられた光転送装置(ノード)11に接続することも有効である。その場合、前述のネットワークコントローラが接続されたノードにおけるトランスポンダ30及びトランスポンダコントローラ40を構成するための機能部と、ネットワークコントローラが接続されていないノードに設けられるトランスポンダ30及びトランスポンダコントローラ40を構成するための機能部との両方を同一の光転送装置11に設け、コントローラ配備情報を全ノード間で共有することで、現用とするネットワークコントローラを動的に切り替えることが可能になって、可用性が向上する。このとき、ネットワークコントローラの動的切り替えが可能となる。
上述した構成では、トラヒック情報の差分をネットワークコントローラ13において計算しているが、各ノードにおいてトラヒック情報の差分を算出し、その結果を差分情報としてトランスポンダからトランスポンダコントローラを介してネットワークコントローラに情報集約する方法も考えられる。各ノードに差分算出機能を追加することにより、ネットワークコントローラ13の負荷を低減することが可能となる。
以下、本実施形態でのスペクトル割り当て方法についてさらに詳しく説明する。
ここでは、図15に示したような5個の光転送装置(ノード)11を有するエラスティック光パスネットワークを考える。このネットワークでは、図示A〜Eで現れる5個のノード11がリング状の伝送路上に設けられている。ここでは、伝送路は一方向に信号を伝送する光伝送路であるとする。すなわちこのネットワークは一方向リングネットワークである。伝送路において、隣接する2つのノード11に挟まれた光ファイバケーブル10による区間のことをリンクと呼ぶ。例えばノードAとノードBを両端とするリンクは図においてaで表され、以下、順番にb〜eのリンクが存在する。図示したネットワークでは、ノードAに、ネットワーク全体でのスペクトル割り当てを実行するネットワークコントローラ13が設けられている。ネットワークコントローラ13には上述したようにRSAテーブルが設けられている。リンク当たりで同一の周波数スロットに同時に接続可能なチャネルは1つである(すなわちファイバ多重や時分割多重を行わない)ものとする。しかしながら、本発明は、双方向リングをはじめとした任意のトポロジーのネットワークに対して適用可能であり、また、時分割多重を行うネットワークにも適用可能である。
また以下では、トラヒックが減少したパスについて剥ぎ取り処理を行い、その後、トラヒックが増えたパスの貼り付け処理を行うことによって、スペクトル割り当てを行う方法を説明する。この方法は、トラヒック流量にしたがって帯域割り当てを行うものである。しかしながら剥ぎ取り処理及び貼り付け処理の実行順序はこれに限られるものではなく、例えば、貼り付け処理を優先して行い、必要に応じて(割り当てる空き容量がない場合に)剥ぎ取り処理を行うことも可能である。貼り付け処理を優先させた場合には、余っている帯域も有効に活用することができる。さらに、剥ぎ取り処理を優先する方法と貼り付け処理を優先する方法とを組み合わせ、ネットワーク内でトラヒックが減少したパスが多いか、増えたパスが多いかに応じて、剥ぎ取り処理優先か貼り付け処理優先かを使い分けることも可能である。
図16は、本実施形態におけるRSAテーブル158の部分的な書き換えの一例を示している。
ある時点でのRSAテーブル158の内容が、図16の(a)に示したものであったとする。ここで、次のスペクトル割り当て契機までにトラヒック変動が生じ、そのとき、対地C→Aについて要求周波数スロット(FS)数が1減少し、B→Eについて2減少し、A→Dについて1減少し、C→Dについて1増加し、E→Aについて1増加し、C→Eについて1増加し、A→Eについて1増加したものとする。まず、図16の(b)に示すように剥ぎ取り処理を行い、その結果、図示破線で示されるスロットが減少することになる。次に、図16の(c)に示すように、減少させた分の帯域を増加分に割り当てる貼り付け処理を行う。貼り付け処理によって増加した(貼り付けられた)スロットは、図においてハッチングが付されている。
次に、剥ぎ取り処理について説明する。剥ぎ取り処理では、トラヒック変動により所要スロットが減少したパスについてスロットを削除するが、このとき、RSAテーブル上で連続した空き領域をできるだけ大きく作り出すことを目的とする。連続した空き領域を大きく作り出すことによって、以後の貼り付け処理において、長いパス(より多くのリンクを経由するパス)、太いパス(複数の周波数スロットを束ねて帯域を大きくしたパス)を設定しやすくなる。
連続した空き領域をできるだけ大きく作り出すためには、どのパスから優先して剥ぎ取るかの剥ぎ取りの順序や、あるパスについてどのスロット位置から優先して剥ぎ取るかの剥ぎ取り位置の決定が重要である。図17は、剥ぎ取りを行う順序の決定について説明している。図においてハッチングが付されたスロットは、トラヒック量に変化がないパスに割り当てられているスロットであり、剥ぎ取り処理の対象とはならないものである。図示上側に示すように、パスB→Dに5スロットが割り当てられている状態で3スロット(FS)を減少させることが可能であり、A→Eに2スロットが割り当てられている状態で1スロットが減少可能であり、パスD→Eに2スロットが割り当てられている状態で1スロットが減少可能であるとする。このとき、RSAテーブル上で大きく面積を占有しているパスは邪魔であるので、長いパス及び変動スロット数が大きいパスから優先して剥ぎ取ることとする。その結果、図17の下側で[1]〜[3]の数字で示すように、A→D、B→D、D→Eの順でパスに割り当てられているスロットを減少させればよいことになる。
図18は、複数の周波数スロットが同一パスに割り当てられているときに、そのパスに割り当てられているスロットのうちどの位置から優先して剥ぎ取るかを決定することについて説明している。ここでは、4スロットが割り当てられたパスB→Dからどの順序でスロットを剥ぎ取るのか、2スロットが割り当てられたパスC→Eからとの順序でスロットを剥ぎ取るのかを示している。RSAテーブル上で大きな空き領域を作り出したいので、周囲(RSAテーブル上で隣接したスロット、すなわち、隣接するリンクにおける同じスロット位置および同一リンクにおける周波数軸方向で前後のスロット位置)に空きスロットが多いスロットから優先して剥ぎ取ることとする。剥ぎ取りが行われた後のパスにおいてもスロットが周波数軸上で連続している必要があるから、図18の下側において[1],[2]の数字で示されるように、例えばパスB→Dについては、スロット位置S4、S1の順でスロットを削除すればよいことになる。
次に、貼り付け処理について説明する。貼り付け処理では、トラヒック変動により所要周波数スロットが増加したパスについてスロットを追加するが、このとき、RSAテーブル上での連続した空き領域をできるだけ小さくせず、隙間を埋めることを目的とする。連続した空き領域をできるだけ小さくしないようにすることによって、次回以降の貼り付け処理において、長いパス、太いパスを設定しやすくなる。
連続した空き領域をできるだけ小さくしないようにするためには、どのパスから優先して貼り付けるかの貼り付けの順序や、あるパスについてどのスロット位置から優先して貼り付けるかの貼り付け位置の決定が重要である。図19は、貼り付けを行う順序の決定について説明している。図においてハッチングが付されたスロットは、既に割り当て済みのスロットを示している。ここでパスA→Bに1スロット、A→Eに1スロット、B→Dに2スロットを貼り付ける場合を考える。このとき、大幅なトラヒック増加はバッファあふれやロスなどを招く恐れがあり、また、長いパスは設定しにくいことを考慮すると、所要スロット数の変動が大きいパスや長いパスから優先して貼り付けを行うようにする。その結果、図19の下側で[1]〜[3]の数字で示すように、B→D、A→E、A→Bの順でパスの貼り付けを行えばよいことになる。
図20は、同一パスにつき複数の周波数スロットを貼り付けるときに、どのスロット位置から優先して貼り付けを行えばよいかを説明している。ここでは既にパスB→Dに関し、2スロットが既に割り当て済みであり、パスB→Dにさらにスロットを割り当てるものとする。RSAテーブル上でできるだけ隙間を埋めたいので、同一パスについて周波数軸上で連続するスロットが割り当てられるという条件を満たしつつ、周囲(RSAテーブル上で隣接したスロット、すなわち、隣接するリンクにおける同じスロット位置および同一リンクにおける周波数軸方向に前後のスロット位置)に空きスロットが少ないスロットから優先して貼り付けを行うこととする。その結果、図において[1],[2]の数字で示されるように、スロット位置S4、S1の順で優先してスロットを加えればよいことになる。
本実施形態では、RSAテーブルにおける空き情報を特に管理することによって、トラヒックが増加したパス、新規登録されたパスの収容に要する処理を簡易化している。この管理は、ネットワークコントローラ13内のテーブル空管理部155によって行われる。図21は、空き情報を管理することによる新規パス収容の処理を示している。
図21の左側において破線の枠で示すスロットは、剥ぎ取りによって減少した割り当てが解除され、空きとなったスロットである。実線の枠で示すスロットは、現に使用されているスロットである。本実施形態では、RSAテーブルでの空き情報を管理し、また、増加すべきパスの情報を増加パスリストの形で保持しておいて、空き情報に基づいて、RSAテーブルにおいて未割り当てとなっている空きスロットに、増加分のパスを割り当てていく。
次に、本実施形態でのスペクトル割り当ての処理に関し、図22及び図23に示すシーケンス図を用いて、ネットワークコントローラ13での処理を説明する。
まず図22に示すように、各ノードからトラヒック量に関する情報がトラヒック情報受信部151に送られ(ステップ201)、ステップ202においてトラヒック情報受信部151は各ノード間すなわち各対地の所要周波数スロット数を算出し、所要スロット数マトリクスとしてトラヒック変動算出部152に送る(ステップ203)。トラヒック変動差分算出部152は、ステップ204において、トラヒック情報受信部151から送られてきた所要スロット数マトリクスと前回取得した所要スロット数マトリクスとを比較し、要求スロット数の差分(変動差分情報)を変動差分テーブル153に送り(ステップ205)、ステップ206において変動差分情報が変動差分テーブル153に書き込まれる。変動差分テーブル153から、所要スロット数が減少したパスとその減少量とに関する情報が減少分剥ぎ取り計算部154に送られ(ステップ207)、所要スロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部156に送られる(ステップ208)。また、割当履歴管理部157から、各パスの帯域割当履歴が減少分剥ぎ取り計算部154及び増加分貼り付け計算部156に送られる(ステップ209,210)。
ステップ211において減少分剥ぎ取り計算部154は剥ぎ取り処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部157に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部155に送り(ステップ212)、RSAテーブル158の更新のためにテーブルの更新トリガをRSAテーブル158に送る(ステップ213)。これらにより、テーブル空管理部155では、ステップ214において、テーブルの空き情報の更新が行われ、ステップ215においてRSAテーブル158の更新が行われる。
次に、変動差分テーブル153から、所要スロット数が増加したパスとその増加量とに関する情報が増加分貼り付け計算部156に送られ(ステップ216)、割当履歴管理部157から各パスの帯域割当履歴が増加分貼り付け計算部156に送られる(ステップ217)。これらを受けて増加分貼り付け計算部156は、ステップ218において貼り付け処理の計算を行い、その計算結果に基づき、割当履歴を割当履歴管理部157に送るとともに、テーブルの空き情報の更新のために空の更新トリガをテーブル空管理部155に送り(ステップ219)、RSAテーブル158の更新のためにテーブルの更新トリガをRSAテーブル158に送る(ステップ220)。これらにより、テーブル空管理部155では、ステップ221において、テーブルの空き情報の更新が行われ、ステップ222においてRSAテーブル158の更新が行われる。
その後、図23に示すように、RSAテーブル158におけるテーブル更新がステップ231において完了すると、RSAテーブル158の内容がテーブル変換部159に送られ(ステップ232)、テーブル変換部159は、ステップ233において、各ノードごとのノード設定情報を導出する。この導出されたノード設定情報はノード設定テーブル160に送られ(ステップ234)、ステップ235において、ノード設定テーブル160に格納される。その後、ノード設定テーブル160の内容すなわちノードごとのノード設定情報はノード設定情報送信部161に送られ(ステップ236)、ノード設定情報送信部161は、ステップ237において、各光転送装置(ノード)11に対する配信処理を実行する。これによって、ノードごとのノード設定情報が、それぞれのノードに送られる(ステップ238)。
次に、具体例を挙げて、ネットワークコントローラ13での処理をさらに詳しく説明する。
トラヒック情報受信部151は、各光転送装置(ノード)11から定期的に全対地間のトラヒック情報を収集して必要スロット数をマトリクスの形態で管理するものである。ここで、ノードAからノードB〜Eの各々に対するトラヒック帯域が図24の(a)に示すものであったとする。するとトラヒック情報収集部21は、これらのトラヒック帯域を収容し得るパス容量に対応するスロット数に換算し(図24の(b)を参照)、図24の(c)に示すように、その結果を所要スロット数マトリクスとしてメモリに格納する。この所要スロット数マトリクスはトラヒック変動差分算出部152に送られる。
トラヒック変動差分算出部152は、そのメモリ内にトラヒック情報受信部151から前回送られてきた所要スロット数マトリクスを保持しており、図25に示すように、今回送られてきた所要スロット数マトリクスから前回送られてきた所要スロット数マトリクスをマトリクス要素ごとに比較し減算する演算を行って、変動した差分を表す2次元配列を算出し、この2次元配列を変動差分テーブル153に格納する。変動差分テーブル153は例えばネットワークコントローラ13のメモリ内で管理される。
次に、本実施形態における剥ぎ取り(Rip-up)処理及び貼り付け(Re-allocation)処理について説明する。本実施形態では、トラヒック量が減少した対地に関して剥ぎ取り処理を行った後に、トラヒック量が増加した対地に関して貼り付け処理を行う。それぞれの処理は、上述したように、変動差分テーブル153、テーブル空管理部155及び割当履歴管理部157から周波数スロット割当に必要な情報を取得した上で、RSAテーブル158及びテーブル空管理部155の状態を変更する処理である。したがって、ネットワークコントローラ13を構成する各機能ブロックのうち、変動差分テーブル153、減少分剥ぎ取り計算部154、テーブル空管理部155、割当履歴管理部157及びRSAテーブル158が剥ぎ取り処理に直接関連し、変動差分テーブル153、増加分貼り付け計算部156、テーブル空管理部155、割当履歴管理部157及びRSAテーブル158が貼り付け処理に直接関連することになる。
まず、剥ぎ取り処理について詳しく説明する。剥ぎ取り処理において減少分剥ぎ取り計算部154は、変動差分テーブル153においてトラヒック量が減少したことが示されている対地に関して、RSAテーブル158における空き情報をテーブル空管理部155を参照して取得し、割当履歴管理部157から過去の帯域割当情報を取得して、既に割り当てられているスロットを減らすことによるRSAテーブル158を部分変更する処理を行う。この処理は、スロットを減らす対地の選択順序を決定する段階と、スロットの減少数を決定する段階と、スロットを削減する位置を決定する段階と、によって構成される。
スロットを減らす対地の選択順序を決定する段階では、減少分剥ぎ取り計算部154は、変動差分テーブル153及び割当履歴管理部157からの情報に基づいて、剥ぎ取りを行う対地の選択順序を決定する。剥ぎ取り処理を行う時には、RSAテーブル158上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、長いパス、変動量が大きいパスが優先して削減されるようにする。図26に示した例では、スロット数の変動差分から対地ごとのコスト値を計算し、剥ぎ取り後のパスにおいて周波数軸上でスロットが連続しているという条件の下で、コスト値の降順でソートを行うことにより、剥ぎ取りの実行順序を定めている。図26において変動量aは、スロット数の変動差分の絶対値であり、パス長bはパスが経由するリンク数を示し、乱数cは1から99の間でランダムに発生させた整数であり、コスト値として、
コスト値=10000×a+100×b+c
を用いている。
周波数スロットの減少数を決定する段階では、減少量剥ぎ取り計算部154は、各対地から剥ぎ取るスロットの数を決定する。例えば、単純に変動量分に応じたスロット数を剥ぎ取ることとする。その後、スロットを削減する位置を決定する段階において減少量剥ぎ取り計算部154は、テーブル空管理部155からの情報に基づいて、剥ぎ取りを行う対地ごとに、剥ぎ取りを行うスロット位置を決定する。図27は、剥ぎ取りを行うスロット位置の決定の仕方を示すものであり、図示左側のRSAテーブル部分において、ハッチングが付されているスロットが使用中の周波数スロットである。剥ぎ取りを行うスロット位置の決定に際しては、RSAテーブル158での空き状況からコスト値を算出し、コスト値の降順に位置を選択する。剥ぎ取り処理を行う時には、RSAテーブル158上でできるだけ大きく連続した空き領域が形成されるようにすることが好ましいから、同一スロット位置で隣接するリンクが空きとなっているものや、同一リンク上で周波数軸方向に隣接するスロットが空きとなっているものが優先してスロット削減の対象となるようにする。図示したものでは、同一FS(周波数スロット)隣接空αは、同一スロット位置で隣接するリンクのうち空きとなっているリンクの数を示し、同一リンク隣接空βは、同一リンク内で隣接するスロットのうち空きとなっているスロットの数を示している。スロット位置γには、1から付与されたスロット番号をそのまま用いている。ここでは、コスト値として、
コスト値=10000×α+100×β+γ
を用いている。
図27に示した例では、対地B→Cに割り当てられた3つの連続する周波数スロット(S3、S4及びS5)からスロットを1つ減少させる場合に、剥ぎ取り後においてスロットが周波数軸で連続するという条件を満たしつつ連続した空き領域ができるだけ大きくなるように、S5で示されるスロットが削減される。
以上のようにして、削減すべきスロットが決定されると、次に、減少分剥ぎ取り計算部154は、削減すべきものとして決定されたスロットをRSAテーブル158から削減し、テーブル空管理部155内に保持されている空き情報を更新し、割当帯域を割当履歴管理部157に通知して割当履歴管理部157を更新する。図28の上側は、RSAテーブル158におけるスロットの削除を示しており、削除されたスロットは空きとしてテーブル空管理部155にも登録される。なお、スロットが削減されたことにより、周囲の周波数スロットのコスト値、具体的には上記の同一FS隣接空α及び同一リンク隣接空βも変動する。図28の下側は、割当履歴管理部157に保持される割当履歴情報の例を示している。割当履歴情報は、各対地(パス)について、スペクトルの動的割り当てを行うたびに、どれだけのスロット数が要求され実際にどれだけの数のスロットを割り当てたかを記録したものであり、過去の複数回分の情報をメモリに格納したものである。
スロットを減らす対地の選択順序を決定する段階で決定された順序にしたがって、スロットの削除数や削除位置の決定と、RSAテーブル158の変更と、テーブル空管理部155及び割当履歴管理部157の更新とを繰り返すことにより、剥ぎ取り処理が完了する。
次に、貼り付け処理について詳しく説明する。貼り付け処理において増加分貼り付け計算部156は、変動差分テーブル153においてトラヒック量が増加したことが示されている対地に関して、RSAテーブル158における空き情報をテーブル空管理部155を参照して取得し、割当履歴管理部157から過去の帯域割当情報を取得して、割り当てられる周波数スロットを増やすことによるRSAテーブル158を部分変更する処理を行う。この処理は、スロットを増やす対地の選択順序を決定する段階と、スロットの増加数を決定する段階と、スロットを貼り付ける位置を決定する段階と、によって構成される。
スロットを増やす対地の選択順序を決定する段階では、増加分貼り付け計算部156は、変動差分テーブル153及び割当履歴管理部157からの情報に基づいて、貼り付けを行う対地の選択順序を決定する。貼り付け処理を行う時には、上述したように、長いパス、変動量が大きいパスに対応したスロットが優先して貼り付けられるようにする。図29に示した例では、スロット数の変動差分から対地ごとのコスト値を計算し、コスト値の降順でソートを行うことにより、貼り付けの実行順序を定めている。変動量a、パス長b及び乱数cは図26に示した場合と同様のものである。コスト値として、
コスト値=10000×a+100×b+c
を用いている。
スロットの増加数を決定する段階では、増加量貼り付け計算部156は、各対地に貼り付けるスロットの数を決定する。例えば、単純に変動量分に応じたスロット数を貼り付けることとする。その後、スロットを貼り付ける位置を決定する段階において増加量貼り付け計算部156は、テーブル空管理部155からの情報に基づいて、貼り付けを行う対地ごとに、貼り付けを行うスロット位置を決定する。図30は、貼り付けを行うスロット位置の決定の仕方を示すものであり、図示左側のRSAテーブル部分において、ハッチングが付されているスロットが使用中の周波数スロットである。貼り付けを行うスロット位置の決定に際しては、RSAテーブル158での空き状況からコスト値を算出し、貼り付け後のパスにおいて周波数軸上でスロットが連続しているという条件の下で、コスト値の昇順に位置を選択する。貼り付け処理を行う時には、RSAテーブル158上でできるだけ隙間を埋めるようにすることが好ましいから、同一スロット位置で隣接するリンクが使用中となっているものや、同一リンク上で周波数軸方向で隣接するスロットが使用中となっているものが優先してスロット追加の対象となるようにする。図30において、同一FS隣接空α、同一リンク隣接空β及びスロット位置γは、図27におけるものと同様である。ここでは、コスト値として、
コスト値=10000×(α+β)+γ
を用いている。
図30に示した例では、対地D→Eに対してさらに1個の周波数スロットを追加するときに、対地D→Eに関して空いているスロットとして、S1、S2、S16、S18,S19及びS20などがあるとして、貼り付け後のパスにおいて周波数軸上でスロットが連続しているという条件の下で、コスト値が最小であるS16が選択され、この位置にスロットが割り当てられる。なおこの場合、対地D→Eに関して既にスロットS15、S16が割り当てられているとすると、スロットS1、S2などは、周波数軸上でスロットが連続するという条件を満たさないものであるから、そもそも追加する位置の候補とはなり得ないものである。
以上のようにして、どごにスロットを割り当てるかが決定されると、次に、増加分貼り付け計算部156は、貼り付けが決定されたスロットをRSAテーブル158において割り当て追加し、テーブル空管理部155内に保持されている空き情報を更新し、割当帯域を割当履歴管理部157に通知して割当履歴管理部157を更新する。図31の上側は、RSAテーブル158におけるスロットの割り当て追加を示しており、追加されたスロットは空きでなくなったものとしてテーブル空管理部157から削除される。なお、スロットが追加されたことにより、周囲のスロットのコスト値、具体的には上記の同一FS隣接空α及び同一リンク隣接空βも変動する。図31の下側は、図28に示すものと同様に、割当履歴管理部157に保持される割当履歴情報の例を示している。
スロットを増やす対地の選択順序を決定する段階で決定された順序にしたがって、スロットの追加数や追加位置の決定と、RSAテーブル158の変更と、テーブル空管理部155及び割当履歴管理部26の更新とを繰り返すことにより、貼り付け処理が完了する。
剥ぎ取り処理及び貼り付け処理の一例について、式によって説明する。
ノード数をNとし、エラスティック光パスネットワークにおいて使用可能なスペクトル領域内の周波数スロット数をCapとする。送信元ノード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)とする。
である。以下に示すように、公平帯域Cfair(T)との差分を用いる方法もある。ここで、公平帯域Cfair(T)とは周波数スロット数Capをリンク当たりの通過パス数で除した値とする。
割り当て契機TにおけるRSAテーブルの内容をτ(T,Li,j(h),w,s) (h=1,…,Hop(i,j))とし、
スロット番号をsとし、契機TにおいてRSAテーブルでリンク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を
と定める。これは、Rip-up-gainを
Rig-up-gain=α×[同一FS隣接空]+β×[同一スロット隣接空]
と定めていることと等価である。そして、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を
と定める。そして、Alloc-costが最小となるスロット位置sを選択する。複数のスロット位置が同一値を取った場合には、その中から若番のスロット位置を選択する。ここで、γ>ωであれば、長いパスを設定しやすくする効果が強くなり、γ<ωであれば、太いパスを設定しやすくする効果が強くなる。