(57)【要約】  光ネットワーク中で経路に沿って光データを送信する際に用いられる波長を選択する方法を開示する。すでに周知の波長選択方法は、波長選択の決定が、この波長の選択対象となる経路と１つ以上のリンクを共有している経路に沿って将来接続しようとするのに対してどのような影響を及ぼすかを考慮していない。その結果、セットアップされる予定の経路全体に沿ってエンドツーエンドで利用可能な波長が何もないため、将来の接続の試みが阻止される。ここで提案する方法では、経路に沿ってエンドツーエンドで使用するのに利用可能な波長が発見され、経路上の各々のノードに取り付けられている各々のリンク上で利用可能な波長が発見され、エンドツーエンドで利用可能であり、また、他の波長よりも経路上のノードに取り付けられているリンク上でより利用可能な波長が選択される。
2008507225.tif 000002
【特許請求の範囲】
【請求項１】
光ネットワーク内で経路に沿って光データを送信する際に使用される波長を選択する方法であって、前記光ネットワークは光ファイバリンクによって相互接続される複数のノードを備え、
前記経路に沿ってエンドツーエンドで使用にあたり利用可能な波長を発見することと、
前記経路上で各々のノードに取り付けられる各々のリンク上で利用可能な波長を発見することと、
エンドツーエンドで利用可能であり、また、前記経路上のノードに取り付けられたリンク上で他の波長よりも利用しやすい波長を選択することと、
を備える方法。
【請求項２】
最短経路第１アルゴリズムを用いて前記経路を選択する先行ステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記アルゴリズムで用いられる測定基準が、リンク上での波長の使用に関連する、請求項２に記載の方法。
【請求項４】
前記経路を選択することは、前記経路を一時にリンク１つだけ拡張することを備える、請求項２又は請求項３に記載の方法。
【請求項５】
提案されたリンクを含む経路に対して、経路を前記提案されたリンクで拡張する以前に、エンドツーエンド実現可能性チェックを実行することをさらに備える、請求項４に記載の方法。
【請求項６】
前記実現可能性チェックは、前記経路の光学的特長に基づく、請求項５に記載の方法。
【請求項７】
前記実現可能性チェックは、提案されたリンクを含む経路のエンドツーエンド光損失が容認可能であるかどうかを判断する、請求項６に記載の方法。
【請求項８】
請求項１乃至請求項７のいずれか一項に記載の方法ステップを実行する装置を処理することによって実行可能な命令のプログラムを搬送する、デジタルデータキャリア。
【請求項９】
光ネットワークで用いられるノードであり、前記光ネットワークは光ファイバリンクによって相互接続される複数のノードを備え、
前記光ネットワーク中の経路に沿ってエンドツーエンドで光データを送信する際に用いる目的で利用可能な波長を発見し、且つ前記経路上で各々のノードに取り付けられる各々の光ファイバリンク上で利用可能な波長を発見する、発見手段と、
エンドツーエンドで利用可能であり、また、前記経路上のノードに取り付けられたリンク上で他の波長よりも利用可能な波長を選択する、選択手段と、
を備える、ノード。
【請求項１０】
光ネットワークで用いられるノードであり、前記光ネットワークは光ファイバリンクによって相互接続される複数のノードを備え、
前記光ネットワーク中の経路に沿って光データを送信する際に用いる波長を選択するように処理可能なプロセッサ読み取り可能コードを記録している記憶媒体であって、前記コードは、前記経路に沿ってエンドツーエンドの使用に利用可能な波長を発見し、前記経路上の各々のノードに取り付けられた各々のリンク上で利用可能な波長を発見するように処理可能な波長発見コードと、
エンドツーエンドで利用可能であり、また、前記経路上のノードに取り付けられたリンク上で他の波長よりも利用可能な波長を選択するように処理可能な波長選択コードと、
を備える、前記記憶媒体を備える、ノード。
【請求項１１】
前記ノードは前記経路上のノードを備える、請求項９又は請求項１０に記載のノード。
【請求項１２】
前記ノードは前記経路の進入ノードを備える、請求項１１に記載のノード。
【請求項１３】
光ファイバリンクによって相互接続される複数のノードを備える光ネットワークであって、前記ノードの内の１つ以上が、請求項９乃至請求項１２のいずれか一項に記載のノードを備える、光ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ネットワーク内の経路に沿って光データを送信する際に用いられる波長を選択する方法に関する。
【背景技術】
【０００２】
光ネットワーク内では、データは、（一般にルータ又はスイッチと呼ばれる）ネットワークノードを相互接続する光ファイバを介して送信される。データは、ネットワークを横断する際、１以上のネットワークノードを横切る。ネットワークノードの各々では、データは入力ポート上で受信され、光信号から電気信号に変換され、電気的ドメインで処理され、電気信号から光信号に変換され、関連の出力ポート上で送信される。このように光信号から電気信号に変換され、また、その逆に再度変換される処理は、光／電気／光（ＯＥＯ）変換と呼ばれる。
【０００３】
あらゆるノードでＯＥＯ変換すると、２つの主要な結果がもたらされる。第１に、ＯＥＯ変換ではすべてのノードで光信号が再形成され、タイミングを再設定され、再送信されるが、これは、エンドツーエンド経路内の各々のリンクが隔離されているものとみなすことが可能であり、したがって、１つのリンクに障害や欠陥があっても、後続のリンクにドミノ効果を及ぼすことはないことを意味する。第２に、ＯＥＯ変換によって、ノードは所与の波長で光信号を受信してこれを異なる波長で再送信することが可能である、すなわち、このノードは波長変換を実行することが可能である。しかしながら、ＯＥＯ変換は実施しようとすると高価であり、また、ネットワークでのボトルネックとなるが、この理由はデータを入力ポートから出力ポートにスイッチングすることが可能な最大速度が、各々のネットワークノードでの基礎を成す電子系の動作可能速度に左右されるためである。
【０００４】
全光ネットワークでは、データはまた、ネットワークノードを相互接続する光ファイバ上で送信される。しかしながら、各々のネットワークノードでは、何らＯＥＯ変換することなく、データは入力ポートで受信され、光ドメインでスイッチングされ、関連する出力ポートで送信される。全光ネットワークノード（より一般的には、光交差接続部（ＯＸＣ）と呼ばれる）ではＯＥＯ変換がないため、その結果、ノードをネットワーキングするコストが減少する。全光ネットワーク内では、通常は、波長分割多重方式（ＷＤＭ）を利用することによって、異なったいくつかの波長が各々の光ファイバ上で同時に用いられる。
【０００５】
全光ノードでＯＥＯ変換が実行されないということは、ノードはもはや波長変換が不可能であり、このため、エンドツーエンド経路全体にわたって同じ波長を用いる必要があることを意味する。これは、波長連続性の制約として知られており、この結果、エンドツーエンド経路が使用不可能という状況となるが、これは、ネットワークのキャパシティに余裕がある（すなわち、データ送信に使用されていない波長がある）にもかかわらず、エンドツーエンド経路上のすべてのリンクで利用することが可能な波長は１つもないためである。
【０００６】
データ送信に用いられる波長を選択する現行の方法では、経路を実際に構成する各々のリンク上で用いるのに利用可能なすべての波長を考えに入れて、エンドツーエンドで使用可能な１つを選択する。１つのこのような方法では、リンク上の波長のすべてに連続的に番号を付けて、エンドツーエンドで使用可能な最も低い番号を持つ波長を選ぶ。これらの方法に伴う欠点は、波長選択の判定が、波長を選んでいる対象である経路と１つ以上のリンクを共有している経路に沿って将来接続しようとする際にどのような影響があるかということを、考慮していないことである。この結果、セットアップしようとする経路全長に沿ってエンドツーエンドで利用可能な波長が１つもないため、将来接続しようとしても阻止される可能性がある。
【０００７】
波長を選択する最適な（しかし扱いにくい）方法は、波長選択の判定に際して、どの波長がネットワーク全体で使用可能であるか考慮する。このような方法では、波長選択の判定が、将来ネットワーク内でいずれかのリンクを用いて接続しようとする際にどのような影響を及ぼすかを、考慮に入れることが可能である。
【発明の開示】
【０００８】
本発明の第１の態様によれば、光ネットワーク上で経路に沿って光データを送信する際に使用される波長を選択する方法が提供され、前記光ネットワークは光ファイバリンクによって相互接続されている複数のノードを備えており、前記方法は、  
前記経路に沿ってエンドツーエンドで使用するのに利用可能な波長を発見することと、  
前記経路上の各々のノードに取り付けられている各々のリンク上で利用可能な波長を発見することと、  
エンドツーエンドで利用可能であり、また、前記経路上のノードに取り付けられているリンクで他の波長よりも利用可能な波長を選択することと、を備える。
【０００９】
選択された経路に沿ってエンドツーエンドで使用するのに利用可能な波長を発見することによって、この選択された経路上で各々のノードに取り付けられている各々のリンク上での使用に利用可能な波長を発見することによって、エンドツーエンドで利用可能であり、また、この選択された経路上のノードに取り付けられているリンク上で他の波長よりも利用可能な波長を選択することによって、どの波長を使用するのに選択するかに関してより良い判断がなされ、また、経路のセットアップをしようとする際の成功する確率が改善される。
【００１０】
本発明は、波長選択の判定が、波長が選択されている経路と１つ以上のリンクを共有している経路に沿って将来経路をセットアップしようとする際にどのような影響を及ぼすかを考慮に入れることが可能な方法を提供する。したがって、経路をセットアップしようとしてもこれが阻止される上述した状況の発生が遅れ、同じように経路をセットアップしようとした場合に成功する回数が増えるであろう。波長が選択されている経路上のノードに取り付けられているリンクで広く利用可能な波長を選択すると、あまり広く利用可能ではない波長を選択した場合より、後で経路をセットアップしようとした際にこれが阻止される確率が低くなる。この結果、所与の数の展開波長とファイバに対して、より多くのエンドツーエンド経路をセットアップすることが可能であり、これによって、利用可能なネットワークの利用可能なキャパシティの利用度が増す。
【００１１】
本発明の他の態様は、特許請求の範囲に記載されている。
【００１２】
本発明の実施形態を、類似の参照符号が類似の部分を表している次の添付図面を参照して、単に例示として以下に説明する。
【発明を実施するための最良の形態】
【００１３】
図１に、よりしばしば光交差接続部又はＯＸＣと呼ばれている６つの光ネットワークノード（Ａ、Ｂ、Ｃ、Ｄ、Ｅ及びＦ）備えている全光ネットワークを示す。現在入手可能な適切なＯＸＣとして、アメリカ、バージニア州、レストンのλＯｐｔｉｃａｌＳｙｓｔｅｍｓ社から市販されているλＮＯＤＥがある。データは、このＯＸＣを相互接続する光ファイバリンク上で特定の波長で送信される。この光ファイバリンクの各々の方向は、互いに別個の一方向リンクであると考えられる。各々のＯＸＣでは、光／電気／光変換が起こることなく、データは入力ポート上で受信され、光ドメインでスイッチングされ、関連する出力ポート上で送信される。異なったいくつかの波長を、波長分割多重方式（ＷＤＭ）を利用することによって各々の光ファイバリンク上で同時に用いることができる。１つの光ファイバリンク当たりサポート可能な波長の数は、展開されているネットワークの実際の性質に依存し、また、ネットワークを企画する段階で決定される（たとえば、ネットワークの展開者がいくら支払うつもりか、どれほどの波長帯が必要であるか、など）。光ファイバリンク１つ当たり１６０波長までをサポート可能な光ネットワークが、当業者には周知であるが、図１のネットワークでは、各々の光ファイバリンクが、各々の方向で、最大で５つの波長をサポート可能である。重要な注意事項であるが、すべての光ファイバリンクが、また、１つの光ファイバリンクのすべての方向で、同じ数の波長をサポートしなければならないというわけではなく、図２の表に、図１のネットワークの各々の光ファイバリンク上で利用可能な波長の数を示す。たとえば、ＯＸＣＡをＯＸＣＢに接続している光ファイバリンクＡＢ上で利用可能な波長は５つであり、ＯＸＣＣをＯＸＣＥに接続している光ファイバリンクＣＥ上で利用可能な波長は３つであり、ＯＸＣＢをＯＸＣＥに接続している光ファイバリンクＢＥ上で利用可能な波長はない。最大で５つ未満の波長しか利用可能ではないのは、技術上の制約（すなわち、特定のリンクは、たとえば、３つの波長しかサポートできない）又は使用法（すなわち、特定のリンクは５つの波長までをサポート可能であるが、これらの内の３つはすでに使用中であり、したがって、２つの波長しか利用可能ではない）のためである。加えて、図２はまた、各々の光ファイバリンクに対する波長ベクトル（ＷＡＶＥＬＥＮＧＴＨＳ）を含んでいるが、ここで、１は波長が利用可能であることを示し、０は波長が利用不可能であることを示している。波長には０から４までラベルが付けられているが、波長０はベクトル中の第１の波長（ベクトル中の左側のビット）であり、波長４はベクトル中の最後の波長（ベクトル中の右側ビット）である。これらの番号は、実際の波長の値に対する直接的なマッピングとなっている（たとえば、波長０は１５１０ｎｍという波長に対するマッピングとなっている）。前に引用した例では、波長０から４はリンクＡＢ上で利用可能であり（ベクトル｛１１１１１｝で示している）、波長０、３及び４はリンクＣＥ上で利用可能であり（ベクトル｛１００１１｝で示している）、リンクＢＥ上で利用可能な波長はない（ベクトル｛０００００｝で示している）。
【００１４】
図１のネットワークはまた、通常は、ネットワーク管理システム（Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（ＮＭＳ））又は運用支援システム（Ｏｐｅｒａｔｉｏｎａｌ  Ｓｕｐｐｏｒｔ  Ｓｙｓｔｅｍ（ＯＳＳ））を含んでいる。このＮＭＳ／ＯＳＳは様々なタスクを実行するために用いられるが、これらのタスクには、一般に、しかし限られるわけではないが、ネットワークとシステムの構成を監視し、場合によってはデバイスを必要に応じて再構成するための構成管理と、ネットワークの問題及び／又は故障を検出し、記録し、ユーザにこれらを通知し、場合によっては修理するための故障管理と、同意されているサービスレベルの取り決めに対してネットワークの性能を測定し、帯域幅／使用量の割り当てを調節して会計情報を生成するための性能管理及び決算と、が含まれる。
【００１５】
図１の光ネットワークに取り付けられているＮＭＳ／ＯＳＳを図３と４に示す。ＮＭＳ／ＯＳＳは通常は、帯域外（ＯＯＢ）ネットワークを介して取り付けられるが、このネットワークでは、図３に示すように、ＮＭＳ／ＯＳＳを個別にネットワーク中の各々のＯＸＣに接続している管理／制御リンクを備えている追加の物理的ネットワークを含むことができる。代替例では、図４に示すように、ＯＸＣを相互接続しているファイバリンクの各々のところで、トラフィックの管理／制御目的で波長が留保される。この場合、ＮＭＳ／ＯＳＳは、まだネットワークに接続する必要があり、これは、専用リンク（たとえば、ＮＭＳ／ＯＳＳからＯＸＣＦへのリンク）を介して、又は、ファイバリンク（たとえば、ＮＭＳ／ＯＳＳからＯＸＣＤへのリンク）上で専用波長を介して、実行することが可能である。通常は、ＮＭＳ／ＯＳＳは、弾力性をもたせるため、２ポイント以上のところでネットワークに接続される。
【００１６】
光ネットワーク内で２つのＯＸＣ間の接続をセットアップするためには、このネットワークを通した経路を選択しなければならず、また、波長をこの経路に対して割り当てなければならない。たとえば、図１のネットワークでは、ＯＸＣＡとＯＸＣＦ間の接続をセットアップするに際して、１０個の経路（ＡＢＣＦ、ＡＢＥＦ、ＡＢＥＣＦ、ＡＢＣＥＦ、ＡＤＥＦ、ＡＤＥＣＦ、ＡＤＥＢＣＦ、ＡＥＦ、ＡＥＣＦ、ＡＥＢＣＦ）と５個の波長が考えられる。これらの経路から１つとこれらの波長から１つを選択しなければならない。経路選択は経路選択アルゴリズムで遂行され、波長選択は波長選択アルゴリズムで遂行される。本実施形態で用いられるこれら経路選択アルゴリズムと波長選択アルゴリズムの正確な詳細は、後で述べる。
【００１７】
図３と４の例では、経路上の第１のノード（この接続の進入ノード）が経路選択アルゴリズムと波長選択アルゴリズムを実行して、用いられる経路（と波長）を計算し、続いて、適切な信号通知プロトコルを用いてこの情報を経路に沿って通信する。たとえば、ＯＸＣＡとＯＸＣＦ間での接続が要求されると、ＯＸＣＡがこれらのアルゴリズムを実行して（したがって、経路と波長を選択して）、続いて、この情報を経路にそって通信する。ここで用いられる実際の信号通知プロトコルは、ネットワーキング技術、個人の好みなどの要因に依存する。当業者には、適切な信号通知プロトコルを提供して実施するのに何ら困難はないであろう。接続は、潜在的には、ネットワーク上のどのノードから開始することも可能である（すなわち、どのノードでも進入ノードとなりえる）ため、ネットワーク上のすべてのＯＸＣが、経路を計算する機能性を有しており、したがって、これらのアルゴリズムはネットワーク上のどのＯＸＣにおいても実行することが可能である。ＯＸＣ内にすでに存在するものに対して何らハードウエアを追加する必要はない。ＯＸＣは、各々のファイバリンク上でどの波長が使用されているかを知っているだけでよく、この情報は誘導可能であるが、これは、システムがどれほど多くの波長がスタートアップ時に構成されたか、また、スタートアップ以来どの波長が割り当てられたかを知っているためである。
【００１８】
代替実施形態では、これらアルゴリズム（したがって、経路と波長の選択も）は、経路計算サーバ（ＰＣＳ）上で実行可能である。図５と６を参照すると、ＯＸＣＡとＯＸＣＦ間での接続が要求されると、ＯＸＣＡがＰＣＳから経路（及び波長）を要求し、すると、ＰＣＳが好ましい経路と波長をノードＡに返し、ノードＡが、前に説明したように適切な信号通知プロトコルを用いてこの接続を信号通知してセットアップする。ＰＣＳは、（図６に示すように）経路計算しか実行しない、ネットワークに取り付けられた専用サーバであってよく、又は、代わりに、（図５のＯＸＣＡとＯＸＣＦに示すように）経路計算機能性をネットワーク内の既存のＯＸＣに追加したりしてもよい。所与のネットワークは、弾性や拡張性などの理由で２つ以上のＰＣＳを有してよい。
【００１９】
他の実施形態では、これらアルゴリズム（したがって、経路と波長の選択も）は、既述したようにＰＣＳ上で実行可能であるが、ＰＣＳは、（図７に示すように）ＮＭＳ／ＯＳＳに接続したり、又は、（図８に示すように）これをＮＭＳ／ＯＳＳに組み込んだりしたりすることが可能である。どちらの場合も、ＮＭＳ／ＯＳＳはＰＣＳから経路／接続を要求し、ＰＣＳはＮＭＳ／ＯＳＳに対してこれらを返す。次に、ＮＭＳ／ＯＳＳは、選択された経路上のＯＸＣを直接的に構成する。所与のネットワークは、弾性や拡張性などの理由で２つ以上のＰＣＳを有してよい。
【００２０】
上述したように、所与の通信に対して、データが、ＯＸＣを相互接続している光ファイバリンク上で特定の波長で図１の光ネットワークを介して送信される。各々のＯＸＣでは、データは入力ポート上で受信され、光ドメインでスイッチングされ、関連の出力ポート上で送信される。これは、各々のＯＸＣにわたり発生する光損失であり、この損失は、ＯＸＣの内部での所与の波長の切り替え光線と関連している。ＯＸＣ内部では光／電気／光変換はまったく発生しないため、エンドツーエンド経路の全体にわたって同じ波長を用いる必要がある。経路の全長にわたる劣化はこの経路上での１つのＯＸＣにおける又は任意の１つのリンク上での故障／障害の結果の蓄積であるため、経路全体にわたるエンドツーエンドの光損失を検査することによって、経路が使用可能であるかどうかの判定が可能となる。
【００２１】
経路全体のエンドツーエンドの光損失が容認可能であるかどうか、したがって、経路が使用可能であるかどうかを判断するために、エンドツーエンドの実現可能性チェックを実行すれことができる。この実現可能性チェックでは、エンドツーエンド経路の物理的特長が用いられるが、より具体的には、経路を構成するＯＸＣとファイバリンクそれぞれの物理的特徴が組み合わされる。
【００２２】
（以下に説明するように経路選択アルゴリズムを用いて、又は、いずれかの代替の経路選択アルゴリズムを用いて）選択された経路が構築されている間、経路ＰプラスリンクＬに等しい経路Ｑ（すなわち、Ｐ＝ＸＹＺであれば、Ｑ＝ＸＹＺＬである）がこの経路の物理的（光学的）特徴に基づいたエンドツーエンド実現可能性テストに合格すると、リンクＬは経路Ｐに含む（したがって、リンクＬを含むようにエンドツーエンド経路を拡張する）ことしかできない。Ｑがエンドツーエンド実現可能性チェックに合格すると、経路Ｑは光学的に実現可能であり、リンクＬは経路Ｐを拡張するために使用することが可能である。本実施形態で用いられるエンドツーエンドの実現可能性の指標は次式のとおりである。
【数１】
2008507225.tif 000003
【００２３】
ここで、ＦｉｂｒｅＡｔｔｅｎｕａｔｉｏｎ＝ネットワークで用いられているファイバリンクに伴う減衰（ｄＢ／ｋｍ）。（実際には、これは、ファイバリンクによって変わるが、本実施形態では、リンクによって変わらないものと仮定されることに留意されたい）。好ましい実施形態では、個々のファイバの減衰が合計される。
【００２４】
ＭａｘＰａｔｈＬｅｎｇｔｈ＝ネットワーク中の光学装置がサポート可能な経路の最大長（ｋｍ）。これは、通常は、光学装置の製造者によって設定される限界であるが、本実施形態では、ネットワーク中のすべての装置は同じ販売者から得たものである、又は同じ最大長さ限界を有するものと仮定される。
【００２５】
ＰａｔｈＬｅｎｇｔｈ＝経路の全長であり、  
【数２】
2008507225.tif 000004
【００２６】
に等しいが、ここでＬｉｎｋＬｅｎｇｔｈｉは経路に沿ったリンクｉの長さ（ｋｍ）である。
【００２７】
ＴｏｔａｌＯＸＣＬｏｓｓ＝経路に沿った光交差接続部による総光損失であり、  
【数３】
2008507225.tif 000005
【００２８】
に等しいが、ここでＯＸＣＬｏｓｓｋは経路に沿ったＯＸＣｋにわたる光損失（ｄＢ）である。（値は、ネットワークの測定／監視によって得ることが可能である。）
ＴｏｔａｌＰＭＤ＝エンドツーエンド経路全体にわたる分極モード分散（ＰＭＤ）の総量（ｐｓ）、すなわち  
【数４】
2008507225.tif 000006
【００２９】
であるが、ここでＰＭＤｎは経路上のｎ番目のリンクにわたるＰＭＤである。（ＰＭＤは、分極によって区別される伝播の２つのモードをサポートしている光ファイバで発生する電磁伝播現象である。ファイバ中で光が複屈折するため、これら２つのモードは異なる速度で移動し、ファイバの全長に渡ってこの複屈折がランダムに変化するため、その結果、これらモード間でのランダムカップリングを生じる。結果としてＰＭＤが発生するため、パルスが歪み、またシステムに欠陥が出て、ファイバの送信キャパシティを制限する。値は、ネットワークの測定／監視によって得ることが可能である。）
Ｍ＞０であれば、経路（Ｑ又は等価的にはＰ＋Ｌ）はエンドツーエンド実現性テストに合格しており、光学的に実現可能であって、光跡をサポート可能であると考えられる。
【００３０】
Ｍ≦０であれば、経路（Ｑ又は等価的にはＰ＋Ｌ）はこのテストに不合格であり、光学的に実現不可能であって、光跡をサポートすることは不可能である。
【００３１】
所与のネットワークに対するエンドツーエンド実現可能性チェックの正確な詳細（すなわち、用いられる正確な公式）は、（これに限られないが）ネットワーク中でどのような光学装置を展開するか、及び、ネットワークオペレータがどれくらいの誤差マージン以内で操作することを受け入れるか、を含む多数の要因によって異なることに留意されたい。たとえば、ネットワークオペレータは、確実に実現可能な経路しか容認しないと決定する可能性がある。代わりに、ネットワークオペレータは、業務に対するこれらの境界接続の一部を得ることが可能であることによる追加的利益の方が、失敗する境界線接続を取り扱うことによる余分なコストより大事であると感じて、「境界線」である経路をすんなり受け入れようとする可能性がある。
【００３２】
このエンドツーエンド実現可能性チェックは次のように実施することが可能である。
【００３３】
現在の好ましい経路（これは実現可能である）を記憶しているＰを可変とする、  
経路Ｐに対するＴｏｔａｌＰＭＤを記憶しているＰ．ＴｏｔａｌＰＭＤを可変とする（ここで、  
【数５】
2008507225.tif 000007
【００３４】
）
（ＴｏｔａｌＰＭＤに対するこの公式は、以前与えられた公式とは平方根がない点でわずかに異なることが明らかである。この平方根は、経路中の各々のリンク上でのＰＭＤの平方の和が計算されるまでは計算不可能である。この和は（新たなリンクが経路に追加されるため）常に変化するので、平方根は、実現可能性の指標が計算される直前まで計算することは不可能である。したがって、後述する実現可能性の指標Ｍの中のＴｏｔａｌＰＭＤを含む項に差が生じる。）
経路Ｐの全長（ｋｍ）（すなわち、上記のＰａｔｈＬｅｎｇｔｈ）を記憶しているＰ．ＴｏｔａｌＬｅｎｇｔｈを可変であるとする、
経路に沿った光交差接続部による全光損失（すなわち、上記のＴｏｔａｌＯＸＣＬｏｓｓ）を記憶しているＰ．ＴｏｔａｌＯＸＣＬｏｓｓを可変とする、
一時的経路を記憶しているＱを可変とする（Ｑも、また上記のＰについて類似の定義を持つ変数Ｑ．ＴｏｔａｌＰＭＤ、Ｑ．ＴｏｔａｌＬｅｎｇｔｈ及びＱ．ＴｏｔａｌＯＸＣＬｏｓｓを含んでいる）、
より良好な経路候補が見つからないならば、経路選択アルゴリズムが用いる選ばれた経路中の次のリンクとして、現行の好ましいリンクを記憶しているＬを可変とする、
リンクＬにわたりＰＭＤを記憶しているＬ．ＰＭＤを可変とする、
Ｌ．ＬｅｎｇｔｈをリンクＬの長さ（ｋｍ）であるとする（より具体的には、リンクＬを形成するために用いられるファイバのｋｍ単位の長さ）、
Ｌ．ＯＸＣＬｏｓｓをリンクＬと関連しているＯＸＣでの光損失とする（本実施形態では、下流側のＯＸＣでの光損失を所与のリンクと関連付けているが、たとえば、リンクＬがノードＡとＢ間に存在すると、Ｌと関連するＯＸＣＬｏｓｓは、ＯＸＣＢでの損失である）。
【００３５】
ネットワーク中の光学装置がサポート可能な経路の最大長（ｋｍ）を保持しているＭａｘＰａｔｈＬｅｎｇｔｈを一定である（すなわち、上記のＭａｘＰａｔｈＬｅｎｇｔｈ）とし、
ネットワーク中で用いられているファイバに伴う減衰を保持しているＦｉｂｒｅＡｔｔｅｎｕａｔｉｏｎを一定である（すなわち、上記のＦｉｂｒｅＡｔｔｅｎｕａｔｉｏｎ）とする。
【００３６】
経路選択アルゴリズムを最初に実行すると、すべての変数はゼロという値から開始され（Ｐはエンプティ／ブランク経路として開始され）、定数ＭａｘＰａｔｈＬｅｎｇｔｈとＦｉｂｒｅＡｔｔｅｎｕａｔｉｏｎは自身のそれぞれの構成された値を記憶する。経路選択アルゴリズムは、これが経路Ｐ中で第１のリンクとして用いることを好むリンクＬを選択する。エンドツーエンド実現可能性チェックは次のように実行されて計算（そして記憶）される。
【００３７】
Ｑ．ＴｏｔａｌＰＭＤ＝Ｐ．ＴｏｔａｌＰＭＤ＋（Ｌ．ＰＭＤ＊Ｌ．ＰＭＤ）
Ｑ．ＴｏｔａｌＬｅｎｇｔｈ＝Ｐ．ＴｏｔａｌＬｅｎｇｔｈ＋Ｌ．Ｌｅｎｇｔｈ
Ｑ．ＴｏｔａｌＯＸＣＬｏｓｓ＝Ｐ．ＴｏｔａｌＯＸＣＬｏｓｓ＋Ｌ．ＯＸＣＬｏｓｓ
【数６】
2008507225.tif 000008
【００３８】
（Ｍ＞０）であれば、Ｐ＝Ｑとする（すなわち、経路ＰをリンクＬで拡張する）。次に、経路選択アルゴリズムは、経路中の次のリンク（より具体的には、経路選択アルゴリズムで選ばれた好ましいリンク）を選択するように進み、経路Ｐ＋Ｌに対して上記のエンドツーエンド実現可能性チェックを繰り返す。
【００３９】
（Ｍ≦０）であれば、Ｐ＝Ｐとする（すなわち、経路ＰをリンクＬで拡張せず、代わりに、リンクの経路選択アルゴリズムの２番目の選択／好みで実現可能性チェックを繰り返すが、どのリンクも有効性チェックに合格しなければ、光学的に実現可能である利用可能なエンドツーエンド経路は存在しない（したがって接続試行は失敗する））。
【００４０】
エンドツーエンド実現可能性チェックを実行することによって、選択された経路が使用可能であるか判定することが可能であり、これで使用不可能と判定されれば、使用可能な異なる経路を選択する。これは、すべての経路が使用可能であると仮定して、次に、ある経路が選択された後で、選ばれた経路が使用可能ではないことを発見することは好ましいが、これは、ネットワーク操作コストを増大し、また、自動提供プロセスで手動操作が伴う。
【００４１】
経路選択アルゴリズムをここで詳述する。以下にリストアップした変数は、この経路選択アルゴリズムの説明と、図９から図１０の関連するフローチャートで用いられる。
【００４２】
ＮＯＤＥＩＤ［Ｉ］：ネットワーク中のＩ番目のノードのＮＯＤＥＩＤを保持する。ネットワーク中ですべてのノードに対する繰り返しをし易くするために、ネットワーク中のノードのすべてに対して、連続番号が任意に割り当てられているものと仮定する。ＮＯＤＥＩＤ［Ｉ］は、ノードの任意の数とこれの実際のＮＯＤＥＩＤとの間をマッピングする。
【００４３】
ＰＡＴＨＳＴＡＲＴ：経路上の第１のノード、すなわち、接続の進入ノードのＮＯＤＥＩＤに設定される。
【００４４】
ＰＡＴＨＥＮＤ：経路上の最後のノード、すなわち、接続の退出ノードのＮＯＤＥＩＤに設定される。
【００４５】
Ｓ：アルゴリズムによってすでに検査されたノードのＮＯＤＥＩＤを保持している集合。
【００４６】
ＴＯＴＡＬＮＵＭＮＯＤＥＳ：ネットワーク中のノードの総数を保持する。
【００４７】
Ｃ［ＮＯＤＥＩＤ］：ノードＰＡＴＨＳＴＡＲＴとノードＮＯＤＥＩＤ間の経路のコストを保持する。
【００４８】
ＰＡＴＨ［ＮＯＤＥＩＤ］：ノードＰＡＴＨＳＴＡＲＴとノードＮＯＤＥＩＤ間の最短経路を保持する。この最短経路とは最もコストの安い経路である。
【００４９】
ＩＮＴＥＲＦＡＣＥＳ［ＮＯＤＥＩＤ］：ノードＮＯＤＥＩＤに取り付けられているリンクの数を保持する。
【００５０】
ＲＥＭＯＴＥＮＯＤＥＩＤ［ＮＯＤＥＩＤ］［ＩＮＴＦＡＣＥ］：ノードＮＯＤＥＩＤに取り付けられているリンクＩＮＴＦＡＣＥの他端でのノードのＮＯＤＥＩＤを保持する。
【００５１】
ＲＥＭＯＴＥＮＯＤＥ：アルゴリズムによって現在検査中のノードＮＯＤＥＩＤに取り付けられているリンクＩＮＴＦＡＣＥの他端のノードのＮＯＤＥＩＤを保持する。
【００５２】
ＬＩＮＫＣＯＳＴ［ＮＯＤＥＩＤ］［ＩＮＴＦＡＣＥ］：ノードＮＯＤＥＩＤに取り付けられているリンクＩＮＴＦＡＣＥのコストを保持する。
【００５３】
この経路選択アルゴリズムは、リンクの物理的特長に基づいてリンク各々のコストを計算するように修正されている、公知のＤｉｊｋｓｔｒａ最短経路アルゴリズム（Ｄｉｊｋｓｔｒａ，Ｅ．Ｗ．，１９５９年，Ｎｕｍｅｒｉｓｃｈｅ  Ｍａｔｈｅｍａｔｉｋ，第１巻，２６９から２７１ページ，「グラフに伴う２つの問題に関する注記」）に基づいている。好ましい実施形態では、リンクｉのコストであるＬｉｎｋＣｏｓｔｉ＝ＷａｖｅｌｅｎｇｔｈｓＡｖａｉｌａｂｌｅｉ−１であるが、ここでＷａｖｅｌｅｎｇｔｈｓＡｖａｉｌａｂｌｅｉはリンクｉ上での使用に対して利用可能な波長の数である。
【００５４】
図９を参照すると、ステップ９０１で、集合Ｓが空集合（すなわち、｛｝）に初期化され、アレイＣ［ＮＯＤＥＩＤ］が初期化され、その結果、すべてのノードにいたる経路のコストが∞になる。このアルゴリズムは経路中の第１のノード（すなわち、ＰＡＴＨＳＴＡＲＴ）から開始して、自身が変数ＣＵＲＮＯＤＥＩＤで検査中のノードの経過を追う。このアルゴリズムは、ＰＡＴＨ［ＣＵＲＮＯＤＥＩＤ］を｛ＰＡＴＨＳＴＡＲＴ｝に設定し、Ｃ［ＣＵＲＮＯＤＥＩＤ］を０に設定する（ステップ９０１）。
【００５５】
このアルゴリズムは自身が変数ＣＵＲＩＮＴＦＡＣＥで検査中のリンクの経過を追う。ＣＵＲＮＯＤＥＩＤに取り付けられている第１のリンクを検査するために、このアルゴリズムは次にＣＵＲＩＮＴＦＡＣＥを１に設定し、ＣＵＲＮＯＤＥＩＤを集合Ｓに追加する（ステップ９０３）。現在検査中のリンクＣＵＲＩＮＴＦＡＣＥの他端にあるノードのＮＯＤＥＩＤを次に計算する（ステップ９０５）。
【００５６】
好ましい実施形態では、上記の実現可能性チェックをここで実行する（ステップ９０６）。しかしながら、ここで、経路選択アルゴリズムは、実現可能性チェックを実施することなく実行可能であるが、この場合、ステップ９０６はスキップされて、このアルゴリズムはステップ９０７に進むが、これは以下で説明する。現在検査中のリンクを含む経路が実現不可能であれば（すなわち、実現可能性チェックで不合格であれば）、このアルゴリズムは進行して、ＣＵＲＩＮＴＦＡＣＥを１だけインクリメントし（ステップ９１１）、ＣＵＲＮＯＤＥＩＤに取り付けられているすべてのリンクが検査されたかどうかチェック（ステップ９１３）して、まだ検査されていないリンクがもっとあれば、ステップ９０５と９０６を繰り返す。一方、現在検査中のリンクを含む経路が実現可能であれば（すなわち、実現可能性チェックで合格であれば）、このアルゴリズムはステップ９０７に進行する。
【００５７】
ステップ９０７でテストを実行して、現在検査中のノード（Ｃ［ＣＵＲＮＯＤＥＩＤ］）のコストと現在検査中のリンク（ＬＩＮＫＣＯＳＴ［ＣＵＲＮＯＤＥＩＤ］［ＣＵＲＩＮＴＦＡＣＥ］）のコストの和が、リンクの他端に取り付けられている遠隔ノード（Ｃ［ＲＥＭＯＴＥＮＯＤＥＩＤ］）に対する現在のコスト未満であるかチェックする。このテストの結果が肯定的であれば、ステップ９０９でこのアルゴリズムは遠隔ノードに対するコストを、現行ノードに対するコストプラス現行のリンクのコストの和に設定（すなわち、Ｃ［ＲＥＭＯＴＥＮＯＤＥ］＝Ｃ［ＣＵＲＮＯＤＥＩＤ］＋ＬＩＮＫＣＯＳＴ［ＣＵＲＮＯＤＥＩＤ］［ＣＵＲＩＮＴＦＡＣＥ］）して、遠隔ノードへの最短経路を現行ノードへの経路プラス遠隔ノードに設定する（すなわち、ＰＡＴＨ［ＲＥＭＯＴＥＮＯＤＥ］＝ＰＡＴＨ［ＣＵＲＮＯＤＥＩＤ］＋［ＲＥＭＯＴＥＮＯＤＥ］）。次に、このアルゴリズムは進行して、ＣＵＲＩＮＴＦＡＣＥを１だけインクリメントし（ステップ９１１）、ＣＵＲＮＯＤＥＩＤに取り付けられているすべてのリンクが検査されたかどうかチェック（ステップ９１３）して、まだ検査されていないリンクがあれば、ステップ９０５から９１１を繰り返す。ステップ９０７のテストの結果が否定的であれば、変数Ｃ［ＲＥＭＯＴＥＮＯＤＥ］とＰＡＴＨ［ＲＥＭＯＴＥＮＯＤＥ］を更新する必要はないが、この理由は、これらがすでに、検査中の遠隔ノードへの最低のコストと最短経路を保持しているからである。この場合、このアルゴリズムはステップ９１１にジャンプして、上記のように進行する。
【００５８】
現行のノードに取り付けられているすべてのリンクが検査されたら、すなわち、ステップ９１３のテストの結果が否定的であれば、このアルゴリズムはネットワーク中の他のすべてのノードを順に探索して、どのノードを次に検査すべきであるか判定する。このアルゴリズムが次に検査するノードとは、まだ検査されていないノードの内でコストが最低であるようなノード、すなわち、集合Ｓにまだ含まれていないＣ［］の値が最低であるノードのことである。このプロセスを、図１０を参照して以下に説明する。
【００５９】
他のすべてのネットワークノードをこのように繰り返し探索する際に次の３つの一時的変数、ＣＵＲＮＯＤＥ（現在調査中のノードを追跡する）と、ＣＨＥＡＰＥＳＴＮＯＤＥ（コストが一番低いと現在考えられるノードを追跡する）と、ＣＯＳＴＯＦＣＨＥＡＰＮＯＤＥ（ＣＨＥＡＰＥＳＴＮＯＤＥに対するコストを追跡する）が用いられる。ステップ９１５で、これら３つの変数は初期化される。
【００６０】
ステップ９１７でテストを実行して、（１）現行のノードがまだ検査されていないか、すなわち、ノードＣＵＲＮＯＤＥが集合Ｓのメンバーであるかないかと、（２）現行のノードのコストが最も低いかどうか、すなわち、ＣＵＲＮＯＤＥに対するコストはＣＯＳＴＯＦＣＨＥＡＰＮＯＤＥ未満であるかどうかをチェックする。これら双方の条件が満足されれば、現在検査中のノードは、コストが最も低いノードとなる、すなわち、ＣＨＥＡＰＥＳＴＮＯＤＥがＣＵＲＮＯＤＥに設定され、ＣＯＳＴＯＦＣＨＥＡＰＮＯＤＥがＣ［ＮＯＤＥＩＤ［ＣＵＲＮＯＤＥ］］に設定される（ステップ９１９）。次に、このアルゴリズムは進行して、ＣＵＲＮＯＤＥを１だけインクリメントし（ステップ９２１）、すべてのノードが調査されたかどうかチェック（ステップ９２３）して、まだ調査すべきノードがあれば、ステップ９１７から９２１を繰り返す。テストでこれらの条件の一方でも満足されなければ、すなわち、現行ノードがすでに検査済み（集合Ｓのメンバーである）であれば、又は関連するコストがＣＯＳＴＯＦＣＨＥＡＰＮＯＤＥより低くなければ、変数ＣＨＥＡＰＥＳＴＮＯＤＥとＣＯＳＴＯＦＣＨＥＡＰＮＯＤＥを更新する必要はない。この場合、このアルゴリズムはステップ９２１にジャンプして、上記のように進行する。
【００６１】
ネットワーク中のノードがすべて調査されて、次にどのノードを検査するかが決定されたら、すなわち、ステップ９２３のテストの結果が否定的であれば、このアルゴリズムは変数ＣＨＥＡＰＥＳＴＮＯＤＥの値をチェックする（ステップ９２５）。変数ＣＨＥＡＰＥＳＴＮＯＤＥの値が∞でないなら、繰り返し探索した結果、次に検査すべきノードとなる。変数ＣＵＲＮＯＤＥＩＤが最も安いノードに設定され（ステップ９２７）（すなわち、ＣＵＲＮＯＤＥＩＤ＝ＮＯＤＥＩＤ［ＣＨＥＡＰＥＳＴＮＯＤＥ］）、ステップ９０３から９２５が繰り返される。
【００６２】
しかしながら、この値が∞であれば、このアルゴリズムは、ステップ９１７でのテストの条件を満足するネットワーク中のノードを発見しなかった、すなわち、ネットワーク中のすべてのノードが検査されたことになる。この場合、経路選択アルゴリズムは、ネットワーク中でノードＰＡＴＨＳＴＡＲＴから他のすべてのノードにいたる最短経路を計算したことになるので終了する。経路選択アルゴリズムの終わりで、選択された経路はＰＡＴＨ［ＰＡＴＨＥＮＤ］に保持され、この選択された経路のコストはＣ［ＰＡＴＨＥＮＤ］に保持される。
【００６３】
経路選択アルゴリズムを図１のネットワーク中で実行して、選択される経路はノードＡ’からスタートしてノードＦで終わる（すなわち、ＰＡＴＨＳＴＡＲＴ＝Ａ及び、ＰＡＴＨＥＮＤ＝Ｆ）ものと仮定すると、Ｃ［］テーブルとＰＡＴＨ［］テーブルは次のように構築される。
【００６４】
初期状態：  
【表１】
2008507225.tif 000009
【００６５】
終了
したがって、経路選択アルゴリズムの終了時では、次のようになる。
【００６６】
選択経路＝ＰＡＴＨ［ＰＡＴＨＥＮＤ］＝ＰＡＴＨ［Ｆ］＝｛Ａ、Ｅ、Ｆ｝
選択経路のコスト＝Ｃ［ＰＡＴＨＥＮＤ］＝Ｃ［Ｆ］＝０．８３３３
上記の経路選択アルゴリズムを用いる利点は、リンク上で波長が用いられるたびに、このリンクのコスト／測定基準が変化する、すなわち「動的」であるということである。これは、コスト／測定基準自身は所与のリンク上で利用可能な波長の数の関数であるからである。したがって、同じ対のエンドポイント間で何回か接続しようとしても、必ずしもネットワーク中で同じ経路を取るとは限らない。「静的な」コスト／測定基準（すなわち、波長が割り当てられるたびに変化することはないようなもの、たとえば、リンク上で利用可能な帯域幅の一部の関数）を用いると、多くの周知の最短経路第１（ＳＰＦ）アルゴリズムの場合のように、１対のエンドポイント間にあるすべての接続に対して同じ経路が、この経路に沿ったリンクの内の１つのキャパシティが使い尽くされるまで用いられる過負荷が発生しかねない。リンクを使用することに基づいたコスト／測定基準を用いると、同じ量のファイバ／波長に対してより多くの接続を設定することが可能となり、また、あるリンクが故障した場合に利点がある。これは、リンクの使用に基づくコスト／測定基準を用いると、「静的な」コスト／測定基準の場合よりも、ネットワーク上での波長の使用がより均一に分散する傾向にあるからである。したがって、万が一あるリンクが故障するようなことがあれば、このリンクが担うことになる接続が他より少なくなりやすいが、この理由は、このアルゴリズムがネットワーク上でより均一に接続を分散しており、したがって、この故障に応じて再ルーティングを要求されている接続が少ないからである。
【００６７】
この波長選択アルゴリズムをここでより詳細に説明する。以下にリストアップした変数は、この波長選択アルゴリズムと図１１から図１３の関連するフローチャートの説明で用いられる。
【００６８】
Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ：選択された経路に沿ってエンドツーエンドで用いるのに利用可能な波長を記述するビットベクトルを保持する。
【００６９】
ＰＡＴＨＮＯＤＥＩＤ［Ｉ］：選択された経路上のＩ番目のノードのＮＯＤＥＩＤを保持する。
【００７０】
ＰＡＴＨＩＮＴ［Ｉ］：選択された経路上のＩ番目のリンクのリンク番号を保持する。
【００７１】
ＷＡＶＥＬＥＮＧＴＨＳ［ＮＯＤＥＩＤ］［ＩＮＴＦＡＣＥ］：ノードＮＯＤＥＩＤ上のリンクＩＮＴＦＡＣＥ上で用いるのに利用可能な波長を記述するビットベクトルを保持する。
【００７２】
ＰＡＴＨＬＥＮＧＴＨ：選択された経路上のノードの数を保持する。
【００７３】
ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＷＡＶＥＬＥＮＧＴＨ］：波長ＷＡＶＥＬＥＮＧＴＨが選択された経路に「接触する」回数を保持する。
【００７４】
ＩＮＴＥＲＦＡＣＥＳ［ＮＯＤＥＩＤ］：ノードＮＯＤＥＩＤに取り付けられているリンクの数を保持する。
【００７５】
ＷＡＶＥＬＥＮＧＴＨＳＯＮＬＩＮＫ：選択されたリンク上で使用するのに利用可能な波長を記述するビットベクトルを保持する。
【００７６】
ＷＡＶＥＬＥＮＧＴＨＳＯＮＬＩＮＫ［ＷＡＶＥＬＥＮＧＴＨ］：波長ＷＡＶＥＬＥＮＧＴＨが選択されたリンク上で使用するのに利用可能であれば値１を、波長ＷＡＶＥＬＥＮＧＴＨが使用するのに利用不可能であれば値０を保持する。
【００７７】
Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ［ＷＡＶＥＬＥＮＧＴＨ］：波長ＷＡＶＥＬＥＮＧＴＨが選択された経路に沿ってエンドツーエンドで使用するために利用可能であれば（すなわち、波長ＷＡＶＥＬＥＮＧＴＨがビットベクトルＥ２ＥＷＡＶＥＬＥＮＧＴＨＳに含まれていれば）値１を、波長ＷＡＶＥＬＥＮＧＴＨがエンドツーエンドで使用するのに利用不可能であれば値０を保持する。
【００７８】
ＴＯＴＡＬＷＡＶＥＬＥＮＧＴＨＳＳＵＰＰＯＲＴＥＤ：単一のリンク上で許容される波長の最大数を保持する。
【００７９】
ＭＯＳＴＵＳＥＤＩＮＤＥＸ：波長選択アルゴリズムの最後のところで、ＭＯＳＴＵＳＥＤＩＮＤＥＸが、選択された経路に最もしばしば「接触する」波長、すなわち、このアルゴリズムが選択した経路に沿ってエンドツーエンドで使用するために選択した波長を保持する。
【００８０】
経路が（上述したように経路選択アルゴリズムを用いて、又は、代替の経路選択アルゴリズムを用いて）選択された後、波長選択アルゴリズムは、どの波長が選択された経路に沿ってエンドツーエンドで利用可能であるか（すなわち、どの波長が波長連続性制約を満足するか）を計算して、結果をＥ２ＥＷＡＶＥＬＥＮＧＴＨＳビットベクトルに記憶する。
【００８１】
この目的のため、図１１のステップ１１０１を参照すると、このアルゴリズムは最初に、すべての波長がエンドツーエンドで利用可能である（すなわち、Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ＝｛１１１．．．１１｝）と仮定する。このアルゴリズムはまた、カウンタＣＵＲＮＯＤＥを、これを１に設定することによって初期化する。このカウンタＣＵＲＮＯＤＥは、現在アルゴリズムによって検査中のノードとリンクを追跡する。
【００８２】
したがって、このアルゴリズムは、選択された経路上での最初のノードとリンクから始めて、Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳビットベクトルを更新し（ステップ１１０３）、これが、選択された経路の現行のリンク上で、及びこの選択された経路に沿ってエンドツーエンドで利用可能な波長だけを記述する、すなわち、Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ＝Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ  ＢＩＴＷＩＳＥＡＮＤ  ＷＡＶＥＬＥＮＧＴＨＳ［ＣＵＲＮＯＤＥＩＤ］［ＣＵＲＩＮＴＦＡＣＥ］。
【００８３】
次に、ステップ１１０５で、このアルゴリズムはカウンタＣＵＲＮＯＤＥを１だけインクリメントし、ステップ１１０７で、テストが実行されて、選択された経路に沿ったノードがすべて検査されたかどうかチェックする。そうでなければ、ステップ１１０３から１１０７が繰り返される。選択された経路に沿ってすべてのノードが検査されたら、このアルゴリズムは進行して、すべてのＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＷＡＶＥＬＥＮＧＴＨ］テーブルを初期化して、カウンタＣＵＲＮＯＤＥを１にリセットする（ステップ１１０９）。
【００８４】
この波長選択アルゴリズムは次に進行して、選択された経路に沿った各々のノードに取り付けられているすべてのリンクを検査する。このプロセスを、図１２を参照して説明する。
【００８５】
ステップ１１１１では、このアルゴリズムは、現行のノードに取り付けられているリンクの数を発見して、この値を変数ＮＵＭＩＮＴＦＡＣＥＳとして記憶して、カウンタＣＵＲＩＮＴＦＡＣＥを初期化するが、このカウンタは、このアルゴリズムによって現在検査されているリンクを追跡するために用いられる。
【００８６】
ステップ１１１３では、このアルゴリズムは、どの波長が現行のリンク上で使用するのに利用可能であるか計算し、結果を変数ＷＡＶＥＬＥＮＧＴＨＳＯＮＬＩＮＫとして記憶して、カウンタＣＵＲＷＡＶＥＬＥＮＧＴＨを初期化するが、このカウンタは、このアルゴリズムによって現在検査されている波長を追跡するために用いられる。
【００８７】
次に、テストを実行して（ステップ１１１５）、現行の波長が現行のリンク上で利用可能であるか、及び、選択された経路に沿ってエンドツーエンドで利用可能であるかをチェックする。このテストの結果が肯定的であれば、現行の波長に対するＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＷＡＶＥＬＥＮＧＴＨ］テーブルが１だけインクリメントされ（ステップ１１１７）、ＣＵＲＷＡＶＥＬＥＮＧＴＨカウンタが１だけインクリメントされる（ステップ１１１９）。このテストの結果が否定的であれば（すなわち、このテストの条件の内の１つも満足されなければ）、このアルゴリズムは前方にジャンプして、ＣＵＲＷＡＶＥＬＥＮＧＴＨカウンタだけをインクリメントする（ステップ１１１９）。
【００８８】
次に、さらなるテストを実行して（ステップ１１２１）、現行のリンク上の波長がすべて検査されたかどうかチェックする。このテストの結果が、検査すべき波長がまだあることを示していれば、各々の波長に対してステップ１１１５から１１２１を繰り返す。このテストの結果が、現行のリンク上に検査すべき波長が何もないことを示していれば、ＣＵＲＩＮＴＦＡＣＥカウンタが１だけインクリメントされる（ステップ１１２３）。
【００８９】
次に、別のテストを実行して（ステップ１１２５）、現行のノードに取り付けられているすべてのリンクが検査されたかどうかチェックする。このテストの結果が、検査すべきリンクがまだあることを示していれば、各々のリンクに対してステップ１１１３から１１２５を繰り返す。このテストの結果が、現行のノードに取り付けられているリンクがないことを示していれば、ＣＵＲＮＯＤＥカウンタが１だけインクリメントされる（ステップ１１２７）。
【００９０】
次に、別のテストを実行して（ステップ１１２９）、選択された経路上のすべてのノードが検査されたかどうかチェックする。このテストの結果が、検査すべきノードがまだあることを示していれば、各々のノードに対してステップ１１１１から１１２９を繰り返す。このテストの結果が、検査すべきノードが残っていないことを示していれば、ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＷＡＶＥＬＥＮＧＴＨ］テーブルをすっかり反復して、選択された経路に取り付けられているほとんどのリンク上で利用可能なエンドツーエンド波長を、用いられるエンドツーエンド波長として選ぶ。この反復プロセスをここで、図１３を参照して説明する。
【００９１】
ステップ１１３１で、ＭＯＳＴＵＳＥＤＩＮＤＥＸ変数が初期化されて１に設定され、一方、ＣＵＲＷＡＶＥＬＥＮＧＴＨカウンタは１にリセットされる。次に、テストを実行して（ステップ１１３３）、現行の波長が、ＭＯＳＴＵＳＥＤＩＮＤＥＸ変数によって現在記憶されている波長よりも多くのリンク上で発生するかどうかをチェックする。このテストの結果が肯定的であれば（すなわち、ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＣＵＲＷＡＶＥＬＥＮＧＴＨ］＞ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［ＭＯＳＴＵＳＥＤＩＮＤＥＸ］）、ＭＯＳＴＵＳＥＤＩＮＤＥＸが更新され、その結果、これが現行の波長を記憶し（ステップ１１３５）、また、ＣＵＲＷＡＶＥＬＥＮＧＴＨカウンタが次に１だけインクリメントされる（ステップ１１３７）。テストの結果が否定的であれば、このアルゴリズムはステップ１１３７にスキップして、ＣＵＲＷＡＶＥＬＥＮＧＴＨカウンタが１だけインクリメントされる。
【００９２】
次に、さらなるテストを実行して（ステップ１１３９）、波長がすべて検査されたかどうかチェックする。このテストの結果が、検査すべき波長がまだあることを示していれば、各々の波長に対してステップ１１３３から１１３９を繰り返す。このテストの結果が、検査すべき波長が何もないことを示していれば、波長選択アルゴリズムは終了する。
【００９３】
波長選択アルゴリズムを図１のネットワーク上で実行し、また、経路Ａ−Ｅ−Ｆが経路選択アルゴリズムによってすでに選択されているものと仮定すると、ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［］テーブルは次のように構築される。
【００９４】
Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ＝｛１１１１１｝［初期段階では、波長はすべて利用可能であると仮定されている］
【数７】
2008507225.tif 000010
【００９５】
Ｅ２ＥＷＡＶＥＬＥＮＧＴＨＳ＝｛００１０１｝［すなわち、波長番号１、２及び４はエンドツーエンドでは利用不可能］
ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［１］＝０  
ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［２］＝０  
など。
【００９６】
初期のＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲテーブル：  
【表２】
2008507225.tif 000011
【００９７】
ノードＡ（経路中での最初のノード）に取り付けられているリンクを処理
【表３】
2008507225.tif 000012
【００９８】
ノードＥ（経路中での２番目のノード）に取り付けられているリンクを処理
【表４】
2008507225.tif 000013
【００９９】
ノードＦ（経路中での３番目／最後のノード）に取り付けられているリンクを処理
【表５】
2008507225.tif 000014
【０１００】
経路中の最後のノードに取り付けられているリンクが処理されると、ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲテーブルをすっかり反復して、もっとも頻繁に発生する波長が選択される。したがって、この例では、波長番号５（ＷＡＶＥＬＥＮＧＴＨＣＯＵＮＴＥＲ［５］）が選択されて用いられる。
【０１０１】
もっとも頻繁に発生する波長を選択することは、本発明の利点を達成するために不可欠というわけではないことに留意されたい。たとえば、光ファイバリンク１つあたり１６０までの波長をサポート可能なネットワーク中では、２番目もしくは３番目に頻繁に発生する波長、又は経路上のノードに取り付けられているほとんどのリンク上で利用可能な波長を選択すると、効果的である。実際、他の波長よりももっと利用可能な波長であればどれでも役に立つ。
【０１０２】
いくつかの波長が同じ利用可能性を有している（すなわち、これらが同じ数のリンク上で利用可能である）場合、（等しい利用可能性を持つ波長の内の）第１の波長が選択されるが、ここで、この最初の波長は最も番号の低い波長である、すなわち、波長３と５が等しく利用可能であれば、波長３が選択される。
【０１０３】
すでに述べたように、上記の方法を用いることによる利点は、どの波長を選択するかに関する判定を、波長の選択の決定が、この波長が選択されている経路に沿った１つ以上のリンクを用いる経路に沿って将来接続しようとする際にどのような影響を及ぼすかを考慮することによって、より良好に下すことが可能となることである。図１の例示のネットワークでは、波長は経路ＡＥＦに沿って光データを送信する際に用いるために必要とされたので、また利用可能な最初の波長が選択されたので、波長３が選択される。ここで、経路ＤＥＦに沿った接続が必要であるような状況を考える。前もって波長が選択されている（波長３が選択されている）ため、ノードＤとＦ間には経路が提供されない（経路ＤＥＦ全体に沿ってエンドツーエンドで利用可能な波長は波長３だけであり、これはすでにリンクＥＦに沿って使用中であるからである）。したがって、この接続の試みは阻止される。本発明にしたがって波長選択アルゴリズムを用いると、その結果、波長５が選択されるが、これは、この波長が、ノードＡ、Ｅ及びＦに取り付けられているリンク上で広く利用可能であるからである。この状況では、波長３が選択可能であるため、経路ＤＥＦに沿った接続の試みは阻止されない。
【０１０４】
エンドツーエンド実現可能性チェック、経路選択アルゴリズム及び波長選択アルゴリズムは、組み合わせて用いることも可能であるし、別々に用いることも可能であることに留意されたい。実際、各々を独立に用いることが可能である。たとえば、上述したように、いずれかの周知の経路選択アルゴリズム（たとえば、いずれかの周知の最短経路第１（ＳＰＦ）アルゴリズム又は制約最短経路第１アルゴリズム）及び／又は、エンドツーエンド実現可能性チェックを有するいずれかの周知の波長選択アルゴリズムを用いることが可能である。代わりに、上述したような経路選択アルゴリズムと波長選択アルゴリズムを、エンドツーエンド実現可能性チェック付き又は抜きで、一緒に又は独立して用いてもよい。他の組み合わせも当業者には明らかであろう。
【０１０５】
本発明から逸脱することなく、上述の実施形態に対して多くの修正や変更が可能であることが上の説明から明らかであろう。
【図面の簡単な説明】
【０１０６】
【図１】光ネットワークを示す図である。
【図２】図１の光ネットワークを備えているノードとリンクとの様々な特徴を詳述している表である。
【図３】図１の光ネットワークの様々な構成を示す図である。
【図４】図１の光ネットワークの様々な構成を示す図である。
【図５】図１の光ネットワークの様々な構成を示す図である。
【図６】図１の光ネットワークの様々な構成を示す図である。
【図７】図１の光ネットワークの様々な構成を示す図である。
【図８】図１の光ネットワークの様々な構成を示す図である。
【図９】経路選択アルゴリズムのステップを説明するフローチャートである。
【図１０】経路選択アルゴリズムのステップを説明するフローチャートである。
【図１１】波長選択アルゴリズムのステップを説明するフローチャートである。
【図１２】波長選択アルゴリズムのステップを説明するフローチャートである。
【図１３】波長選択アルゴリズムのステップを説明するフローチャートである。
【図１】
2008507225.tif 000015
【図２】
2008507225.tif 000016
【図３】
2008507225.tif 000017
【図４】
2008507225.tif 000018
【図５】
2008507225.tif 000019
【図６】
2008507225.tif 000020
【図７】
2008507225.tif 000021
【図８】
2008507225.tif 000022
【図９】
2008507225.tif 000023
【図１０】
2008507225.tif 000024
【図１１】
2008507225.tif 000025
【図１２】
2008507225.tif 000026
【図１３】
2008507225.tif 000027
【国際調査報告】
2008507225.tif 000028
2008507225.tif 000029