以下、図を参照して、この発明の実施の形態について説明するが、構成および配置関係についてはこの発明が理解できる程度に概略的に示したものに過ぎない。また、以下、この発明の好適な構成例につき説明するが、各構成要素の数値的条件などは、単なる好適例にすぎず、この発明は以下の実施の形態に限定されない。
(第1実施形態の構成)
図1は、この発明の経路配置の移行を行う内部ネットワークを説明するための概略構成図である。内部ネットワークは、格子状に配置された複数のノード(以下、Nで表すこともある。)と、隣接するノード間を接続して波長多重光信号を伝送する光ファイバと、複数のノードの各々に接続されている管理装置とを備える格子型波長多重光ネットワークである。
ここでは、内部ネットワークは、9個のノードが3×3の格子状に配置されているものとして説明するが、何ら9個に限定されるものではない。これらのノードには、それぞれ固有のノードIDが割り当てられていて、ここではノードIDを1から9までの自然数とする。例えば、N1はノードIDが1であるノードを示す。
各ノード(N1〜N9)の構成の詳細については後述するが、各ノードは外部ネットワークと接続されるルータ、及び光信号の伝送経路を定める光路切換部を備えている。
隣接するノード間は、光ファイバにより物理的に接続されている。これらの光ファイバには、それぞれ固有のファイバIDが割り当てられていて、ここではファイバIDを1から12までの自然数とする。また、光ファイバをFで表し、例えばF1はファイバIDが1である光ファイバを表す。光ファイバF1〜F12は、隣接するノード間で双方向に通信可能であり、かつ、波長多重により波長の異なる複数の光信号を多重した波長多重光信号を伝送可能であるものとする。なお、ノード間を接続する光ファイバは1本ずつとして、双方向波長多重通信を行う構成としても良いし、2本の光ファイバを備えて、一方向の波長多重通信を行う構成としても良い。光ファイバは、使用する波長など設定に応じて、任意好適な構成とすることができる。
図2は、図1を参照して説明した内部ネットワークの経路(パス)配置の制御を行うための制御ネットワークの説明に供する概略構成図である。
制御ネットワークは、ノード(N1〜N9)と、管理装置270、及び管理装置270と各ノード(N1〜N9)との間で制御信号の送受信を行う制御回線250を備えて構成されている。制御回線250は、設定回線251及び測定回線253を備えている。管理装置270で生成された設定信号は、設定回線251を経てN1〜N9へ送られる。また、N1〜N9でのトラフィックの測定結果は、測定回線253を経て、管理装置270へ送られる。
図3は、ノード(N)の構成を説明するための概略構成図である。
ノードは、第1〜4の入力光ファイバ301a〜301d、第1〜4の分波器321a〜321d、光路切換部330、第1〜4の合波器326a〜326d、第1〜4の出力光ファイバ306a〜306d、ルータ350、第1〜4の変換装置353a〜353d、及び制御装置335を備えている。光路切換部330は、終端部331及び光スイッチ部333を備えている。
ノードには、入力光ファイバ301a〜301dを経て、他のノードから波長多重された光信号が入力される。ここでは、光信号は4種類の波長を多重した波長多重光信号として説明するが、何ら4種類に限定されるものではない。これらの4種類の波長には、それぞれ固有の波長IDが割り当てられていて、ここでは波長IDを1から4までの自然数とする。また、以下の説明では、波長をλで表し、例えばλ1は、波長IDが1である波長を示す。
入力光ファイバ301a〜301dを経て入力された波長多重光信号は、第1〜4の分波器321a〜321dで波長がλ1〜λ4である4つの分波信号に分波される。各分波信号は、終端部331を経て、光スイッチ部333に送信される。終端部331は、分波器321a〜321dから分波信号を取り出してルータ350に送る機能と、ルータ350から送られた光信号を光スイッチ部333へ送る機能を備えていて、例えば、任意好適な周知のOADM(Optical Add Drop Multiplexing)装置で実現できる。ここで、ノードは4つの入力光ファイバ301a〜301dを備えていて、それぞれが4つの分波信号に分波されるので、終端部331に入力される分波信号は16系統になる。終端部331は、この16系統の分波信号が通る光路のそれぞれにOADM装置を備えて構成することができる。各OADM装置は、制御装置335からの終端制御信号に応答して、通過(カットスルー)状態と、終端状態との間で切換えを行う。ここで、カットスルー状態は、分波器321a〜321dから入力された分波信号を、ルータ350を通過せずに、直接光スイッチ部333に送っている状態である。また、終端状態は、分波器321a〜321dから終端部331に入力された分波信号をルータ350に送り、かつルータ350から受信した光信号を終端部331から光スイッチ部333へ送っている状態、すなわち、各波長の光信号をルータ350で中継する状態である。
光スイッチ部333に入力された分波信号は、第1〜4の合波器326a〜326dのいずれか1つに出力される。この分波信号の光路の切換えは、16系統の分波信号のそれぞれに対して行われるため、光スイッチ部333は16個の1×4光スイッチ装置を備えて構成することができる。ここで1×4光スイッチ装置は、1つの入力を4つのチャネルから1つを選択して出力するものであり、任意好適な周知のものを用いることができる。各1×4光スイッチ装置は、制御装置335からの切換制御信号に応答して、終端部331から送られた光信号を、第1〜4の合波器326a〜326dのいずれか1つに出力する。
第1〜4の合波器326a〜326dは、入力された光信号を合波、すなわち、波長多重する。第1〜4の合波器326a〜326dには、第1〜4の出力光ファイバ306a〜306dが1対1に対応していて、波長多重された光信号が出力光ファイバから出力される。
ノードが外部ネットワーク360から受信したパケットは、トラフィック計測装置357を経てルータ350に送られる。トラフィック計測装置357は、パケットから、IPアドレスなどの送信元及び送信先情報と、パケットの伝送量とを、トラフィックとして取得する機能を備え、トラフィックの計測結果を、測定回線253を経て管理装置270に送信する。トラフィック計測装置357は任意好適な周知のものを用いることができる。
ルータ350は、第1〜4の内部インタフェース351a〜351dを備え、受信したパケットをルータ350が備える経路情報に従って、内部インタフェース351a〜351dのいずれかを経て出力させる。ルータ350は任意好適な周知のものを用いることができる。
ルータ350から出力されたパケットは、変換装置353a〜353dで波長変換された光信号として終端部331へ送られる。ここで、変換装置353a〜353dは、第1〜4の内部インタフェース351a〜351dに1対1に対応して設けられている。第1の内部インタフェース351aから出力されたパケットは、第1の変換装置353aで波長λ1の光信号に変換される。第2の内部インタフェース351bから出力されたパケットは、第2の変換装置353bで波長λ2の光信号に変換される。第3の内部インタフェース351cから出力されたパケットは、第3の変換装置353cで波長λ3の光信号に変換される。第4の内部インタフェース351dから出力されたパケットは、第4の変換装置353dで波長λ4の光信号に変換される。変換された光信号は、終端部331のOADM装置を経て光スイッチ部333に送られ、所定の出力光ファイバから出力される。
また、終端部331からルータ350へ送られるパケットは、波長λ1、λ2、λ3及びλ4のいずれかの光信号であるので、これらの光信号をルータ350で処理できる信号に変換する。例えば、ルータ350で処理される信号が、波長λの光信号の場合は、第1〜4の変換装置353a〜353dは任意好適な波長変換装置とすることができる。また、ルータ350で処理できる信号が電気信号の場合は、第1〜4の変換装置353a〜353dが、電気―光変換器及び光―電気変換器を備える構成とすればよい。
管理装置270から各ノードに送られる設定信号は、ルータ350が備える経路情報を書き換える経路書換信号、終端部331に対する終端制御信号、及び光スイッチ部333に対する切換制御信号を含んでいる。設定信号は、管理装置270から設定回線251を経て制御装置335に送られる。制御装置335は、設定信号の受信に応答してルータ350、終端部331及び光スイッチ部333に、それぞれ、経路書換信号、終端制御信号及び切換制御信号を送信する。
図4は、管理装置270を説明するための概略構成図である。管理装置270は、MPU(Microprocessing Unit)280、記憶部275、送信部271、受信部273、及び入出力部277を備えて構成される、周知のコンピュータ等を用いることができる。入出力部277は、コンピュータに通常用いられるキーボード及びマウス等の公知の入力装置、及びディスプレイ等の表示装置を備えている。記憶部275には、ハードディスク等の任意好適な周知の記憶装置が用いられる。MPU280は、周知の構成とすることができ、ここでは、中央処理装置(CPU:Central Processing Unit)290と、メモリとしてのRAM(Random Access Memory)283及びROM(Read Only Memory)281を備える構成としている。
CPU290が備える制御手段291は、ROM281等に読み出し自在に記録されているプログラムを読み出して、当該プログラムを実行することにより、CPU290の機能手段として、トラフィック監視手段293、経路設定手段295、及び経路配置移行手段297を実現する。経路設定手段295は、さらに、経路変更判定手段295a、中継トラフィック計算手段295b、最適経路計算手段295cを備える。また、経路配置移行手段297は、パケット到達性判定手段297a、不要経路解除手段297b、及び必要経路設定手段297cを備えている。なお、各機能手段での処理の詳細は後述する。
受信部273は、任意好適な周知の入力インタフェースとすることができる。管理装置270に送られたノード(N1〜N9)でのトラフィックの測定結果は、受信部273を経てトラフィック監視手段293に送られる。
トラフィック監視手段293は、受信したトラフィックの測定結果に基づいて、トラフィック情報として、ノード間の送受信トラフィックのテーブル(以下、単にトラフィックテーブルと称する。)を作成する。図5にトラフィックテーブルの例を示す。このトラフィックテーブルでは、送信元の各ノードに対して、宛先の各ノードへのトラフィックがマトリックス状に示されている。従って、送信元の各ノードと、宛先の各ノードからそれぞれ1つずつノードを選択すると、送信元のノードから、宛先のノードへのトラフィックを得ることができる。このトラフィックテーブルはRAM283又は記憶部275に読み出し自在に記憶される。
経路配置移行手段297は、現用経路配置から最適経路配置への移行処理を行う。移行処理の詳細は、後述するが、経路配置移行手段297は、ノードの設定を変更するための設定信号を生成し、送信部271及び設定回線251を経てノード(N1〜N9)へ送る。また、経路配置移行手段297は、パスの設定状態を示すパステーブルを作成し、RAM283又は記憶部275に読み出し及び書換え自在に記憶する。パステーブルについては後述する。
(第1実施形態の動作)
図1から図6を参照して、第1実施形態の動作について説明する。図6は管理装置での処理フローを示す図である。
ステップ(以下、ステップをSで表す。)10では、トラフィック監視手段293は、内部ネットワークの各ノードでトラフィックを監視している。トラフィック監視手段293は、各ノード(N1〜N9)から受信したトラフィックの測定結果に基づいて、トラフィックテーブルを作成して、このトラフィックテーブルをRAM283又は記憶部275に読み出し自在に記憶する。
S15では、経路変更判定手段295aは、各ノードでのトラフィックと、予め記憶装置に記録されている閾値との比較を行う。閾値は、例えば、各ノードについて、ノードが備えるルータにおいて処理可能なトラフィックの最大量として定められる。トラフィックが、ノードでの閾値を超えている場合、当該ルータを備えるノードにおいて、輻輳が生じるおそれがある。この場合には、S20の最適なパスの配置(以下、最適パス配置と称する。)の計算を行う。
各ノードでのトラフィックと、予め記憶部275やRAM283などの記憶装置に記録されている閾値と比較するにあたり、先ず、中継トラフィック計算手段295bが、RAM283又は記憶部275に記録されているトラフィックテーブル及びパステーブルを読み出して、これらのテーブルに基づいて各ノードでの中継トラフィックを計算する。例えば、パステーブルにN1とN2を直接結ぶパスが存在しない場合、N1からN2へパケットを伝送するには、パステーブルに存在するパスを組み合わせて用いることで伝送を行う。ここでは、先ず1つのパスを用いてN1からN4へ当該パケットを伝送し、その後、別のパスを用いてN4からN2へパケット伝送するものとする。図5に示すトラフィックテーブルによれば、送信元のノードIDが1、すなわちN1から、宛先のノードIDが2、すなわちN2に送信されるトラフィックは44となる。このトラフィックの44が、ノード4で中継するトラフィックになる。同様に送信先ノードと宛先ノードの全ての組合せについて、ノード毎に中継するトラフィックを足し合わせ、さらに外部ネットワークとルータの間のトラフィックを足し合わせることによって、中継トラフィックが得られる。中継トラフィックの計算結果は、例えばRAM283に読み出し自在に記録される。
パステーブルは経路配置移行手段297で生成され、RAM283又は記憶部275等に読み出し及び書換え自在に記録されている。現在設定されているパスの配置(以下、現用パス配置と称する。)に対応する現用パステーブルの例を表1に示す。
パス欄には、パス毎に定められるパスIDが示されている。ここでは9本のパスを用いており、パスIDを1から9までの自然数とする。以下の説明ではパスをPで示し、例えば、P1はパスIDが1のパスを示す。波長欄には、パス毎に割り当てられた波長の波長IDが示されている。
終端ノード1欄及び終端ノード2欄には、パスが終端されているノードのノードIDを示している。この終端ノード1及び終端ノード2において、パスはこれらのノードが備えるルータ350と接続される終端状態となっている。なお、終端ノード1と終端ノード2との間に区別は無く、ここでは簡単のため、ノードIDの小さいほうを終端ノード1とし、ノードIDの大きいほうを終端ノード2としている。また、以下の説明では、終端ノード1及び終端ノード2を合せて終端ノードと称することもある。
各ノードが、2つのパスに対する終端ノードとして用いられるように現用パスは設定されているので、各ノードでルータ350が中継する光信号の波長は2種類である。ルータは4つの内部インタフェース351a〜351dを備える構成、すなわち、4種類の波長が使用可能な波長として割り当てられている。従って、各ノードでは、割り当てられた4種類の波長のうち2種類の波長を現用パスとして使用し、残りの2種類の波長を予備としている。
通過ノード欄には、パスが通過するノードのノードIDが示されている。ここで、通過ノードに入力された光信号は、ルータ350を介さずに隣接するノードに出力される。すなわち、通過ノードでは、光信号はカットスルーされる。なお、パスが備える終端ノード1及び終端ノード2が隣接するノードである場合は、通過ノードは無いので、この場合、通過ノード欄は、0とする。
通過ファイバ欄には、パスが通過する光ファイバのファイバIDが示されている。
状態フラグ欄には、パスの設定状態のフラグが示され、現用パス配置で使用しているパスのフラグは1としている。
経路変更判定手段295aは、RAM283に記録されている中継トラフィックの計算結果を読み出してきてこの計算結果を、記憶部275、RAM283又はROM281から読み出してきた閾値と比較する。閾値は、例えばROM281に予め書き込んでおいても良いし、入出力手段277を介してオペレータ等により入力された閾値を、RAM283又は記憶部275に書き込んでも良い。経路変更判定手段295aは、中継トラフィックの計算結果と閾値との比較をすることにより、現用パス配置から最適パス配置への変更を行うか判定する。この判定は、例えば、最適パス配置での中継トラフィックが、閾値以下の場合は変更を行い、閾値を超えている場合は変更を行わない、という基準で行うことができる。また、現用パス配置での中継トラフィックを入出力部277の表示装置において表示して、オペレータが入出力部277に備えられるキーボード等の入力装置により、入力を行うことで変更する構成とすることもできる。各ノードでの中継トラフィックが閾値を超えている場合には、S20の最適パス配置の計算を行う。
S20では、最適経路計算手段295cは、最適パス配置を計算する。ここで、最適パス配置とは、中継トラフィックが最小になる配置である。この最適パス配置を得る方法は、任意好適な公知の最適化アルゴリズム、例えば遺伝的アルゴリズムを用いることができ、この最適化アルゴリズムにより得られた解を最適パス配置とすることができる。ここで得られた最適パス配置は、表1と同様のパステーブルとしてRAM283又は記憶部275等の記憶装置に読み出し及び書換え自在に保存される。最適パス配置に対応する最適パステーブルの例を表2に示す。
ここで、最適パス配置で使用する波長、通過ノード及び通過ファイバは未設定なので全て0とする。また、最適パス配置のパスの設定状態を示すフラグは0とする。
S30では、現用パス配置から最適パス配置への変更を行うか判定する。この判定は、経路変更判定手段295aが、最適パス配置に対して行った中継トラフィックの計算結果を、記憶部275、RAM283又はROM281から読み出した閾値と比較することで行われる。経路変更判定手段295aは、中継トラフィックの計算結果と閾値とを比較することにより、現用パス配置から最適パス配置への変更を行うか判定する。この判定は、例えば、最適パス配置での中継トラフィックが、閾値以下の場合は変更を行い、閾値を超えている場合は変更を行わない、という基準で行うことができる。また、最適パス配置での中継トラフィックが、閾値以下という条件を満たさない場合でも、現用パス配置での中継トラフィック以下ならば、最適パス配置への変更を行うという基準で、判定を行っても良い。また、現用パス配置での中継トラフィック及び最適パス配置での中継トラフィックを入出力部277の表示装置において表示し、オペレータが入出力部277に備えられる入力装置に対してする入力に応答して変更する構成とすることもできる。
S40からS70の過程により、経路配置移行手段297は、現用パス配置から最適パス配置への移行処理を行う。
図7は、現用パス配置及び最適パス配置の構成例を示す図である。図7(A)の構成例は、表1に示す現用パステーブルに対応する現用パス配置を示していて、P1〜P9のパスが設定されている。図7(B)の構成例は、表2に示す最適パステーブルに対応する最適パス配置を示していて、P10〜P18のパスの設定を行う。なお、最適パス配置においては、通過ノードの設定はこれらの構成例に何ら限定されない。例えば、P11は、終端ノード1がN1であり、終端ノード2がN5である。このN1とN5を接続する経路について、最短パスを選択すれば良く、ここでは、通過ノードとしてN4を用いて表示しているが、通過ノードとしてN2を用いることありうる。移行処理の詳細は、後述するが、経路配置移行手段297は、ノードの設定を変更するための設定信号を生成し、送信部271及び設定回線251を経てN1〜N9へ送ることで、図7(A)に示す現用パス配置から図7(B)に示す最適パス配置へと移行する。
図8〜10は、移行過程におけるパスの設定状態を説明するための図である。ここで、直線の軸を持つ矢印は波長IDが1のパスを示し、点線の軸を持つ矢印は波長IDが2のパスを示し、一点破線の軸を持つ矢印は波長IDが3のパスを示し、及び、破線の軸を持つ矢印は波長IDが4のパスを示している。
S40では、現用パス配置と、最適パス配置との比較を行う。先ず、経路設定手段295は、RAM283又は記憶部275から表1に示す現用パステーブルと、表2に示す最適パステーブルとを読み出す。次に、現用パステーブルと最適パステーブルとを合成して新たにパステーブルを作成して、RAM283等に読み出し及び書換え自在に記録する。図8(A)は、表1に示す現用パステーブルに対応する現用パス配置を示したものである。次に、状態フラグが1である現用パスの終端ノードと、状態フラグが0である最適パスの終端ノードとを比較する。終端ノードが一致している場合は、パスの変更が無いので状態フラグが1のパスを残し、状態フラグが0のパスを削除する。この例では、P9とP18は、何れも終端ノード1がN8であり、終端ノード2がN9である。従って、P18のパスをデータテーブルから削除する。現用パステーブルに記録されているパスの中で、同じ終端ノードを持つパスが最適パス配置で使用されないものを不要パスとして、その状態フラグを2とする。以上の規則に従って生成されたパステーブルを表3に示す。
S50では、経路配置移行手段297に備えられる必要経路設定手段297cは、設定可能な必要パスの配置を行う。ここで、必要パスとは、状態フラグが0のパスであり、設定可能とは、必要パスの終端ノードと、終端ノード間を結ぶパスに位置する光ファイバの全てにおいて、使用波長とは異なる波長が存在することをいう。
例えば、必要パスとしてP11を設定する場合について説明する。P11の終端ノード1は、N1であり、N1ではP1及びP2によってλ1及びλ2を使用している。P11の終端ノード2は、N5であり、N5では、P7及びP8によってλ1及びλ2を使用している。また、N1とN5とを結ぶパスには、F1−N2−F4を通るパスと、F3−N4−F6を通るパスとが考えられる。F1−N2−F4を通るパスで通過するF1及びF4では、P2、P3及びP4によってλ1、λ2及びλ4を使用している。また、F3−N4−F6を通るパスのF3及びF6では、P1、P3及びP4によってλ2及びλ4を使用している。従って、F1−N2−F4を通るパスではλ3の波長が使用可能であり、一方、F3−N4−F6を通るパスでは、λ1及びλ3の波長が使用可能である。
終端ノードと、終端ノードを結ぶ経路に位置する光ファイバの全てにおいて、使用している波長とは異なる波長として、λ3が見つかるので、P11は設定可能である。ここで、P11として、F1−N2−F4を通るパスと、F3−N4−F6を通るパスの何れも可能であるので、無作為にいずれか一方を選択しても良いし、又は、ファイバID又はノードIDの小さい順に選択しても良い。ここでは、無作為にF3−N4−F6を通るパスを選択し、かつ設定信号を各ノードに送信して終端部331及び光スイッチ部333を切り換えることで、必要パス(この例ではP11)を設定する。設定信号の送信に同期して、パステーブルのP11の状態フラグを1としてパステーブルを書き換える(表4)。なお、以下の説明では、必要パスの設定と同時にパステーブルの状態フラグを1としてパステーブルを書き換えるものとして、パステーブルの書換えについての説明を省略することがある。
次に、P10を選択する。P10の終端ノード1はN1であり、終端ノード2はN2である。ここで、N1で使用している波長は、λ1、λ2及びλ3であり、N2で使用している波長は、λ2及びλ4である。従って、N1及びN2の両方で使用可能波長が無いので、ここでは、P10の設定は行わない。その後、P11と同様に、設定可能なP13、P15及びP16の設定を行う(表5及び図8(B))。
次に、S60の過程により、ノード毎にパスの設定又は解除を行う。ここでは、ノードIDの小さいノードから順にパスの設定を行う場合の例につき説明する。各ノードでのパスの設定又は解除は以下のS101からS115の過程により行われる。このS101からS115までの過程を未設定である必要パス(以下、単に未設定パスと称することもある。)がなくなるまで行う。
S101では、N1について、未設定パスの有無を判定する。具体的には、必要経路設定手段297cが、表5に示したパステーブルにおいて、状態フラグが0であり、かつ、終端ノード1及び終端ノード2のどちらかがN1であるパスを検索する。その結果、P10が見つかる。
S103において、必要経路設定手段297cは、未設定パスの設定が可能か判定する。この判定では、未設定パス(ここでは、P10)の終端ノード1(ここでは、N1)及び終端ノード2(ここでは、N2)と、終端ノード1及び終端ノード2を結ぶ経路に位置する光ファイバの全て(ここでは、F1)において、使用している波長とは異なる波長が存在するか調べる。N1では、波長IDが1、2及び3の3つの波長を使用しており、また、N2では、λ2及びλ4の2つの波長を使用しているので、使用波長とは異なる波長が無くP10の設定ができない。
S113では、必要経路設定手段297cは、パステーブルから、終端ノードがN1であって、状態フラグが2である不要パスを検索する。不要パスが見つかった場合は、不要パスを解除した結果、未設定パス(ここでは、P10)が設定可能になるか否かを判定する。ここでは、不要パスを解除したときに、終端ノード及び終端ノードを結ぶ経路に位置する光ファイバ全てでの使用波長と異なる波長、すなわち使用可能波長が存在するか判定する。使用可能波長が存在する場合、未設定パス(ここでは、P10)は設定可能と判定される。また、使用可能波長が存在しない場合は、未設定パス(ここでは、P10)は設定不能と判定される。
ノード1については、P2が不要パスとして見つかる。次に、パケット到達性判定手段297aが、P2を解除した場合のパケットの到達性を調べる。ここでは、P8、P9及びP11の経路によって、N1からN8までパケットの到達性が保たれる。次に、P2を解除した場合に、P10が設定可能か否か判定する。P2を解除すると、N1での使用波長がλ2及びλ3となる。従って、N1及びN2ではλ1が使用可能波長である。また、N1及びN2は隣接するノードであるので、N1及びN2間のパスはF1を通るもののみである。ここで、P2を解除することにより、F1で使用している波長が、λ4のみとなるので、P10としてλ1の波長を用いて設定することができる。
S115で、不要経路解除手段297bは、N1及びN8間を伝送されているパケットを、別のパスに退避する。不要経路解除手段297bは、例えば、P8、P9及びP11の経路を伝送するように、各ルータの経路情報を変更する設定信号を生成して、当該設定信号を各ノードに送った後、P2を解除する設定信号を各ノードに送る。この設定信号の受信に応答して各ノードが光路切換部330を切り換えてP2を解除する。その後、P10を設定する設定信号を各ノードに送ることにより、各ノードが光路切換部330を切り換えてP10を設定する。
P10を設定した後、S101において、他の未設定パスの有無を調べる。N1には、未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。
S107ではパステーブルから終端ノードがN1であり、状態フラグが2である不要パスを探す。不要パスが見つかった場合は、S109で、解除可能パスの有無を調べる。また不要パスが見つからなかった場合は、N1での処理を終了して、S70の未設定ノードの有無を調べる。ここでは、N1について、P1が不要パスとしてみつかるので、S109の処理を行う。
S109では、パケット到達性判定手段297aは、P1を解除した場合の光信号の到達性を調べる。ここでは、P3及びP10によって、P1の終端ノードであるN1からN4までパケットの到達性が保たれる。
そこで、S111において、不要経路解除手段297bは、N1及びN4間を伝送されているパケットを、別のパスに退避した後、P1を解除する。このパスの解除に同期して、パステーブルからP1を削除する。なお、以下の説明では、不要パスの解除に同期して、パステーブルから不要パスを削除するものとして、パステーブルでのパスの削除についての説明を省略することがある。
P1を解除した後、S107において、必要経路設定手段297cは、他の不要パスの有無を調べる。N1には、不要パスが存在しないので、N1での処理を終了する(表6及び図9(A))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N2〜N9のノードが未設定であるので、次にN2について処理を行う。
S101では、N2について、未設定パスの有無を判定する。具体的には、表6に示したパステーブルにおいて、状態フラグが0であり、かつ、終端ノードがN2であるパスを検索する。その結果、P12が見つかる。
S103では、未設定パス(ここでは、P12)の設定が可能か判定する。この判定では、終端ノード1(ここでは、N2)及び終端ノード2(ここでは、N3)と、終端ノード1及び終端ノード2を結ぶ経路に位置する光ファイバの全て(ここでは、F2)において、使用している波長とは異なる波長が存在するか調べる。
N2では、λ1、λ2及びλ4の3つの波長を使用している。また、N3では、λ1、λ3及びλ4の3つの波長を使用している。従って、P12の設定ができない。
S113では、必要経路設定手段297cは、状態フラグが2である不要パスを解除することにより、P12が設定可能か否か判定する。その結果、λ2であるP4が解除可能な不要パスとして検出される。P4を解除することで、N2及びN3の両方でλ2を使用することができる。
次に、パケット到達性判定手段297aが、P4を解除した場合のパケットの到達性を調べる。ここでは、P3及びP15によって、N2からN7までパケットの到達性が保たれる。次に、必要経路設定手段297cは、P4を解除した場合に、P12が設定可能か否か判定する。N2及びN3は隣接するノードであるので、N2及びN3間の経路はF2を通るもののみである。ここで、P4を解除することにより、F2で使用している波長が、λ3のみとなるので、P12を、λ2を用いて設定することができる。
従って、N2及びN7間を伝送されているパケットを、別のパスに退避した後、P4を解除し、さらにP12を設定する。P12を設定した後、S101において、他の未設定パスの有無を調べる。N2には、未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。
N2については、P3が不要パスである。次にパケット到達性判定手段297aは、P3を解除した場合のパケットの到達性を調べる。ここでは、P6、P12及びP15の経路によって、N2からN4までパケットの到達性が保たれる。そこで、N2及びN4間を伝送されているパケットを、別の経路に退避した後、P3を解除する。
P3を解除した後、S107において、他の不要パスの有無を調べる。N2には、不要パスが存在しないので、N2での処理を終了する(表7及び図9(B))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N3〜N9のノードが未設定であるので、次にN3について処理を行う。
S101では、N3について、未設定パスの有無を判定する。ここでは、N3には未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。
N3については、P5が不要パスである。次にP5を解除した場合のパケットの到達性を調べる。ここでは、P8、P10、P11及びP12によって、N3からN6までパケットの到達性が保たれるので、N3及びN6間を伝送されているパケットを、別の経路に退避した後、P5を解除する。
P5を解除した後、S107において、他の不要パスの有無を調べる。N3については、P6が不要パスである。次にP6を解除した場合のパケットの到達性を調べる。ここでは、P15及びP16によって、N3からN7までパケットの到達性が保たれる。そこで、N3及びN7間を伝送されているパケットを、別の経路に退避した後、P6を解除する。
P6を解除した後、S107において、他の不要パスの有無を調べる。N3には、不要パスが存在しないので、N3での処理を終了する(表8及び図9(C))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N4〜N9のノードが未設定であるので、次にN4について処理を行う。
S101では、N4について、未設定パスの有無を判定し、その結果、P14が見つかる。
S103では、未設定パスの設定が可能か判定する。この判定では、λ4が使用可能波長として判定されるのでP14にλ4の波長を設定する。P14を設定した後、S101において、他の未設定パスの有無を調べる。N4には、未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。N4には、不要パスが存在しないので、N4での処理を終了する(表9及び図10(A))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N5〜N9のノードが未設定であるので、次にN5について処理を行う。
S101では、N5について、未設定パスの有無を判定する。ここでは、N5には未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。
N5については、P7が不要パスである。次にP7を解除した場合のパケットの到達性を調べる。ここでは、P14、P15、及びP16によって、N5からN6までパケットの到達性が保たれる。そこで、N5及びN6間を伝送されているパケットを、別のパスに退避した後、P7を解除する。
P7を解除した後、他の不要パスの有無を調べる。N5については、P8が不要パスである。次にP8を解除した場合のパケットの到達性を調べる。ここでは、P9、P10、P11、P12及びP13によって、N5からN9までパケットの到達性が保たれる。そこで、N5とN9の間を伝送されているパケットを、別のパスに退避した後、P8を解除する。P8を解除した後、他の不要パスの有無を調べる。N5には、不要パスが存在しないので、N5での処理を終了する(表10及び図10(B))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N6〜N9のノードが未設定であるので、次にN6について処理を行う。
S101では、N6について、未設定パスの有無を判定する。その結果、P17が見つかる。
S103では、未設定パスの設定が可能か判定する。この判定では、λ1が使用可能波長として判定されるのでP17を、λ1を用いて設定する。P17を設定した後、他の未設定パスの有無を調べる。N6には、未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。N6には、不要パスが存在しないので、N6での処理を終了する(表11及び図10(C))。
次に、S70において、未設定ノードの有無を判定する。ここでは、N7〜N9のノードが未設定であるので、次にN7について処理を行う。
S101では、N7について、未設定パスの有無を判定する。ここでは、N7には未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。N7には、不要パスが存在しないので、N7での処理を終了する。
次に、S70において、未設定ノードの有無を判定する。ここでは、N8及びN9のノードが未設定であるので、次にN8について処理を行う。
S101では、N8について、未設定パスの有無を判定する。ここでは、N8には未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。N8には、不要パスが存在しないので、N8での処理を終了する。
次に、S70において、未設定ノードの有無を判定する。ここでは、N9のノードが未設定であるので、次にN9について処理を行う。
S101では、N9について、未設定パスの有無を判定する。ここでは、N9には未設定パスが存在しないので、次に、S107において、不要パスの有無を調べる。N9には、不要パスが存在しないので、N9での処理を終了する。
以上の処理により、不要パスが全て解除され、必要パスが設定され、現用パス配置から最適パス配置への移行が完了する(表11及び図10(C))。
第1実施形態の格子型波長多重光ネットワークの経路配置移行方法によれば、経路設定手段により、現用パス配置において、使用している波長とは異なる波長を用いて最適パス配置での必要経路を設定している。また、パケット到達性判定手段により、不要パスを解除した場合にパケットの到達性が保たれる場合のみ、不要パスを解除する。従って、現用パス配置から最適パス配置への移行の際に、パケットの到達性を確保しながら、ネットワーク全体について現用パス配置から最適パス配置へと移行することができる。
(第2実施形態の動作)
第2実施形態の構成は図1〜図4を参照して説明した第1実施形態と同様なので、ここでは説明を省略する。図1〜図4及び図11〜図13を参照して第2実施形態の動作について説明する。図11は管理装置での処理フローを示す図である。図12及び図13は、移行過程におけるパスの設定状態を説明するための図である。
S10からS40までの過程で、現用パステーブルと最適パステーブルとをマージする(表12及び図12(A))までの過程は、第1実施形態と同様なので重複する説明を省略する。また、各過程において、第1実施形態と重複する動作についての詳細な説明は省略する。
ここで、パステーブルが終端ノード1及び終端ノード2の間のトラフィックも合せて保持する点が表3と異なっている。なお、トラフィックは、パスの双方向に流れるIPパケット量の和である。
S81では、未設定パスの有無を判定する。ここでは、P10〜P17が未設定パスである。
S83では、未設定パスの中で、トラフィックの最も大きいものを選択する。ここでは、P11が選ばれる。
S85では、未設定パス(ここでは、P11)が設定可能であるか否か判定する。P11の終端ノードは、N1及びN5であり、N1及びN5では、ともにλ1及びλ2を使用している。また、N1と、N5とでは、F1−N2−F4を通るパスと、F3−N4−F6を通るパスとが考えられる。F1−N2−F4を通るパスのファイバF1及びF4では、λ1、λ2及びλ4を使用している。また、F3−N4−F6を通るパスのF3及びF6では、λ2及びλ4を使用している。従って、F1−N2−F4を通るパスではλ3の波長が使用可能であり、一方、F3−N4−F6を通るパスでは、λ3の波長が使用可能である。
終端ノード1及び終端ノード2と、終端ノード1及び終端ノード2を結ぶパスに位置する光ファイバの全てにおいて、使用している波長とは異なる波長として、λ3の波長が見つかるので、P11は設定可能である。ここで、P11として、F1−N2−F4を通るパスと、F3−N4−F6を通るパスの何れも可能であるので、乱数によっていずれか一方を選択しても良いし、ファイバID又はノードIDの小さい順に選択しても良い。ここでは、乱数により、F3−N4−F6を通るパスをP11として選択する。
次に、S87で、各ノードの設定を変更して、パステーブルにおけるP11の状態フラグを1とする。
次に、S81及びS83の過程により、未設定パスの中で、トラフィックの最も大きいものを選択する。ここでは、P17が選ばれる。
S85において、未設定パス(ここではP17)の設定が可能か否か判定する。P17の終端ノードと、終端ノードの間を結ぶ経路に位置する光ファイバの全てにおいて、使用している波長とは異なる波長として、λ3が見つかるので、P17は設定可能である。P17にλ3を割り当てて、パステーブルにおけるP17の状態フラグを1とする。
次に、S81及びS83の過程により、状態フラグが0のパスの中で、トラフィックの最も大きいものを選択する。ここでは、P10が選ばれる。P10の終端ノード1はN1であり、P10の終端ノード2はN2である。ここで、N1で使用している波長は、λ1、λ2及びλ3であり、N2で使用している波長は、λ2及びλ4である。従って、N1及びN2の両方で使用できる波長が無いので、ここでは、P10の設定は行わない。
以下、同様に状態フラグが0のパスの中で、トラフィックの大きい順にパスの設定を行っていく。その結果、P12及びP15が設定される(表13及び図12(B))。
次に、不要パスの解除を行う。
先ず、S88において、不要パスの有無を判定し、不要パスが無い場合は処理を終了し、また、不要パスがある場合は、不要パスの中で、トラフィックのもっとも小さいものを選択し、ここでは、P3が選ばれる。
次に、S91において不要パスの解除が可能か否か判定する。ここではP3を削除した場合にN2とN4は、P4及びP15によりIPパケットの到達性が保たれる。
次に、S93において、P3を解除した場合の、設定可能パスを判定する。P3を解除することで、N2及びN4、並びに、F1及びF3でλ4が新たに使用可能となる。終端ノード1及び終端ノード2でN2又はN4を使用しているパスを見ると、P10とP14が選択される。ここで、トラフィックの多いP10を選択すると、λ4が設定可能である。また、P10を設定した後、P14でもλ4が設定可能である。
そこで、S95において,P3のIPパケットを退避した後、P3を解除し、さらに、P10及びP14を設定する(表14及び図12(C))。その後、S88の不要パスの有無の判定を行う。
S88で検出された不要パスの中で、トラフィックのもっとも小さいものとしてP8が選ばれる。P8を削除した場合にN5とN9は、P7及びP17によりIPパケットの到達性が保たれる。
次に、P8を解除した場合の、設定可能パスを判定する。P8を解除することで、N5及びN9、並びに、F7及びF10で波長1が新たに使用可能となる。終端ノード1及び終端ノード2でN5又はN9を使用しているパスが無いので、ここではP8の解除を行わない。
次に、不要パスの中で、トラフィックのもっとも小さいものとしてP5が選ばれる。P5を削除した場合にN3とN6は、P3、P10、P11及びP7によりIPパケットの到達性が保たれる。
次に、P5を解除した場合の、設定可能パスを判定する。P5を解除することで、N3及びN6、並びに、F5で波長1が新たに使用可能となる。終端ノード1としてN3を用いているP13は、終端ノード2がN8であり、N8では、P2によりλ1を用いているので、P13は設定できない。
また、終端ノード1としてN6を用いているP16は、終端ノード2がN7であり、N7では、P15によりλ1を用いているのでP16は設定できない。
次に、不要パスの中で、トラフィックのもっとも小さいものとしてP6が選ばれる。P6を削除した場合に、N3とN7は、P12及びP4によりIPパケットの到達性が保たれる。
次に、P6を解除した場合の、設定可能パスを判定する。P6を解除することで、N3及びN7並びに、F5、F10、F11及びF12でλ4が使用可能となる。終端ノード1及び終端ノード2でN3又はN7を使用しているパスを見ると、P13とP16が選択される。ここで、トラフィックの多いP16について考えると、λ4が設定可能である。また、P16を設定した後、P13でもλ4が設定可能である。そこで、P6のパケットを退避した後、P6を解除し、さらに、P13及びP16を設定する(表15及び図13(A))。
不要パスが無くなるまで、上述の過程を繰り返して、不要パスの解除及び未設定パスの設定を行う(表16及び図13(B))。
第2実施形態の格子型波長多重光ネットワークの経路配置移行方法によれば、経路設定手段により、現用パス配置において、使用している波長とは異なる波長を用いて最適パス配置での必要経路を設定している。また、パケット到達性判定手段により、不要パスを解除した場合にパケットの到達性が保たれる場合のみ、不要パスを解除する。従って、現用パス配置から最適パス配置への移行の際に、パケットの到達性を確保しながら、ネットワーク全体について現用パス配置から最適パス配置へと移行することができる。
また、トラフィックの多い必要パスを優先して設定し、トラフィックの少ない不要パスの解除を先に行うので、パス配置の移行の際にパケットの損失を引き起こす可能性をさらに低減できる。
(遺伝的アルゴリズム)
最適パス配置を求める最適化アルゴリズムとして、遺伝的アルゴリズムを採用することができる。遺伝的アルゴリズムは、遺伝子コードと呼ばれる複数の数列を、交叉、突然変異を用いて進化させていくことで、最適解又は最適解に近い解を検索するアルゴリズムである。遺伝的アルゴリズムを用いた最適解又は最適解に近い解の検索は、最適経路計算手段295bにおいてなされる。
ここで、各ノードでの内部インタフェースを2つ使用するので、ノードの数が9つのネットワークでは、パスを9本用いることになる。9つのノードの全ての間でIPパケットの到達性を確保するための構成として、論理グラフ上において、パスが1つの環状に構成できる。
図7(A)の現用パス配置の論理トポロジーを図14(A)及び図14(B)に示す。図14(A)に示した論理トポロジーは、図14(B)に示すものと等価であり、環状の接続形態である。このように構成されるパス配置の最適解を遺伝的アルゴリズムにより求める方法について図15及び図16を用いて説明する。図15は、遺伝的アルゴリズムの処理フローを示す図である。図16は、遺伝的アルゴリズムを説明するための図であって遺伝子コードの例を示している。
S201では、初期遺伝子コードとして、複数個の遺伝子コード(以下の説明では、個体ともいう。)を生成する。ここで生成される遺伝子コードは要素数が9つであり、1〜9までの数字を1つずつ用いている。生成される遺伝子コードの数は、設定に応じて変更可能であるが、ここでは20組とする。各遺伝子コードはROM281等に読み出し自在に記録されている乱数表を読み出すことによって生成される。なお、以下の説明では、乱数表を読み出すことを、単に、乱数を発生するということもある。
S203では、20個の各遺伝子コードについて、適合度を計算する。適合度は、例えば、各ノードでの中継トラフィックの総和である(図16(A))。
S205では、優秀遺伝子コードを選択する。ここで、優秀遺伝子コードとは、20個の遺伝子コードの中で中継トラフィック、すなわち、適合度の値が一番小さいものである。優秀遺伝子コードは、別にRAM283等に保存される。ここではG2が優秀遺伝子コードとして選択される。
S207では、終了条件を満たしているか否かの判定を行う。遺伝的アルゴリズムは、優秀遺伝子コードの適合度が閾値以下である場合、遺伝的アルゴリズムの処理時間が予め設定された処理時間を超えた場合、又は遺伝子コードが予め設定された世代分行われた場合のいずれかの条件を満たした場合に終了する。
次に、優秀遺伝子コードを除いた19個の初期遺伝子コードから、優劣に基づく確率で遺伝子コードを20個選択する。ここでは、適合度の値の小さいものほど選択される確率が大きく、適合度の値の大きいものほど選択される確率が小さくなっている。この場合、同じ遺伝子コードが重複されて選択される場合もあり得るし、選択されない遺伝子コードが存在する場合もある(図16(B))。
次に、各遺伝子コードに対して、交叉及び突然変異を起こす。図17及び図18を参照して、遺伝子コードの交叉について説明する。図17及び図18は遺伝子コードの交叉を説明するための図である。
各遺伝子コードを順序リストCにより、予備コードに変換する。ここで、順序リストCは、1〜9までの自然数を順に並べた構成である。遺伝子コードの各要素が、順序リストの何番目に相当するかを定めたものが、予備コードである。
遺伝子コードG1={1、6、3、7、4、8、9、2、5}の1番目の要素は1であり、1は順序リストC(0)で1番目の要素であるので予備コードL1の1番目の要素は1となる(図17(A))。
次に、順序リストC(0)から1を除いて、次の処理を行う。遺伝子コードG1の2番目の要素は6であり、6は、1を除いた順序リストC(1)で5番目の要素であるので、予備コードL1の2番目の要素は5となる(図17(B))。
次に、順序リストC(1)から6を除いて、次の処理を行う。遺伝子コードG1の3番目の要素は3であり、3は、順序リストC(1)から6を除いた順序リストC(2)で2番目の要素であるので予備コードL1の2番目の要素は2となる(図17(C))。
以下、この操作を繰り返すと最終的に予備コードL1={1、5、2、4、2、3、3、1、1}を得る(図17(D))。
また、遺伝子コードG2={3、5、1、8、6、7、4、2、9}についても同様の処理を行って予備コードL2={3、4、1、5、3、3、2、1、1}を得る(図17(E))。
次に、選択された予備コード同士を交叉させる。20個の遺伝子コードを2個ずつ10組に分ける。ここでは、L1とL2の予備コードの組を考える(図17(F))。
次に、交配位置を決定する。交配位置の決定は乱数によって1〜9の自然数から1つを選択することによって行う。例えば3が得られた場合には、予備コードL1とL2の3番目の要素まで残し、4番目以降を交換する。その結果、交配予備コードL1'={1、5、2、5、3、3、2、1、1}及びL2'={3、4、1、4、2、3、3、1、1}が得られる(図17(G))。
次に、交配予備コードL1'及びL2'から、遺伝子コードを復元する。交配予備コードL1'が1なので、順序コードC(0)の1番目の要素の1を交配遺伝子コードG1'の1番目の要素とする(図18(A))。
次に、順序リストC(0)から1を除いて、次の処理を行う。交配予備コードL1'の2番目の要素は5であり、1を除いた順序リストC(1)で5番目の要素である6を、交配遺伝子コードG1'の2番目の要素とする(図18(B))。
次に、順序リストC(1)から6を除いた順序リストC(2)を用いて次の処理を行う。交配予備コードL1'の3番目の要素は2であり、順序リストC(2)で2番目の要素である3を、交配遺伝子コードG1'の3番目の要素とする(図18(C))。
以下、この操作を繰り返すと最終的に交配予備コードL1'から交配遺伝子コードG1'が得られる(図18(D))。
同様に、交配予備コードL2'から交配遺伝子コードG2'が得られる(図18(E))。
この操作を各組に対して行い、20個の交配遺伝子コードを得る(図16(C))。
次に、交配遺伝子コードに対して、突然変異を起こす。先ず、突然変異を起こす確率を予め設定しておく。例えば変位確率を0.03とする。このとき、0から1までの実数の範囲で乱数を発生させる。この乱数は、交配遺伝子コードの数だけ発生させ、1つの交配遺伝子コードに1つの乱数を対応させる。ここで、遺伝子コードに対応した乱数が変異確率である0.03以下の場合に突然変異を起こす。
突然変異は、2つの乱数によって行う。例えば、1以上9以下の異なる2つの整数の組を乱数によって発生する。ここで、乱数として、h、kが選ばれた場合、s(h−1)、s(h)、s(h+1)、…、s(k−1)、s(k)、s(k+1)は、h番目の要素からk番目の要素までの順番を逆にして、s(h−1)、s(k)、s(k−1)、…、s(h+1)、s(h)、s(k+1)となる。交配遺伝子コードG2'が、突然変異を受けた場合を図16(D)に示す。
次に、これらの遺伝子コード群から、突然変異を行わなかった遺伝子コードをランダムに1つ選択し、RAM等から読み出した優秀遺伝子コードと取り替える。ここでは、交配遺伝子コードG1'と優秀遺伝子コードとを取り替えるものとする(図16(E))。
次に、この20個の遺伝子コードを初期コードとして上述の処理を繰り返し行うことで、優秀な遺伝子コードが後の世代に残され、最適解若しくは最適解に近い解を得ることができる。