(57)【特許請求の範囲】
【請求項１】
ネットワーク入力ポートとネットワーク入力ポートとの間での電気から光への変換又は光から電気への変換を必要としない純粋なフォトニック要素に基づき、
ａ）前記フォトニックネットワーク内の複数のネットワーク要素間の関係を表す関係情報と、
ｂ）前記複数のネットワーク要素の各々の最新の状態を表す構成情報と、
を格納するための、フォトニックネットワークモデルを管理する段階と、
入力ポートを表す第１のポート識別子と第１の出力ポートを表す第２のポート識別子とを含む経路生成要求を受信する段階と、
前記入力ポートで開始し少なくとも前記第１の出力ポートで終端する経路候補を、前記関係情報及び構成情報に少なくとも部分的に基づいて生成する段階と、
前記経路候補のための利用可能なルートを決定する段階と、
を含む方法であって、該方法は、１つ又はそれ以上のコンピューティングデバイスによって実行され、
前記関係情報及び構成情報は、以下のステップａ）−ｆ）により、前記利用可能なルートを決定するために用いられる、方法。
ａ）入力スイッチを決定するために、入力ポートを、ネットワークモデルデータ内の既知のネットワークトポロジー情報内のデバイスと照合するステップ、
ｂ）全ての出力スイッチを決定するために、ネットワークモデルデータに格納されたネットワークトポロジー情報を使用して、出力ポートを１つ又はそれ以上のスイッチと照合するステップ、
ｃ）各出力スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチは利用可能なルートの１つである、ステップ、
ｄ）出力スイッチと入力スイッチが異なる場合には、出力スイッチに対して上流側の関係を有するスイッチを調査し、まだ調査されていない上流側スイッチの各々に関しては、この上流側スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチ及び下流側スイッチは利用可能なルートの１つを構成する、ステップ、
ｅ）上記ｃ）、ｄ）を繰り返して、連続する上流側スイッチを再帰的に調査して、それらが入力スイッチと一致するかどうかを判断するステップ、
ｆ）上記ｃ）が全ての連続する上流スイッチと出力スイッチについて完了した際に、経路選択プロセスで使用するために、そのようにして得られた利用可能なルートのリストをメモリに格納するステップ。
【請求項２】
前記経路生成要求はさらに、第２の出力ポートを表す第３のポート識別子を含み、前記経路候補は、前記入力ポートで開始し、少なくとも前記第１の及び第２の出力ポートに送り込まれる、請求項１に記載の方法。
【請求項３】
前記経路候補の順位付リストを、前記第１の出力ポートに関連する出力要求条件に少なくとも部分的に基づいて生成する段階をさらに含む、請求項１に記載の方法。
【請求項４】
前記経路候補の順位付リストを、各経路候補のリソース使用量に少なくとも部分的に基づいて生成する段階をさらに含む、請求項１に記載の方法。
【請求項５】
前記経路候補の順位付リストを、経路候補内の１つ又はそれ以上の増幅器の位置に少なくとも部分的に基づいて生成する段階をさらに含む、請求項１に記載の方法。
【請求項６】
前記経路候補の順位付リストを、経路候補内の前記入力ポートから前記出力ポートまでのホップ数に少なくとも部分的に基づいて生成する段階をさらに含む、請求項１に記載の方法。
【請求項７】
前記利用可能なルートから前記経路候補を生成する段階は、
各々が、前記ネットワークを経由する純粋なフォトニック経路に対応することができる１つ又はそれ以上のフォトニックスイッチを特定する、１つ又はそれ以上の可能性のあるフォトニックネットワークルートを決定する段階と、
前記ネットワークモデルに格納されている最新の構成情報に少なくとも部分的に基づいて、前記１つ又はそれ以上のフォトニックネットワークルートから経路候補を決定する段階と、
を含む、請求項１に記載の方法。
【請求項８】
前記経路候補の少なくとも１つは、光ループバックリンクを含む、請求項６に記載の方法。
【請求項９】
前記経路候補の順位付リストを生成する段階と、
前記経路候補の順位付リストに少なくとも部分的に基づいて構築用の経路候補を選択する段階と、
前記選択された経路の要求条件により複数の光スイッチを自動的に構築する段階と、
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記経路候補の順位付リストを生成する段階と、
前記経路候補の順位付リストをクライアントコンピューティングシステムのユーザインタフェースで表示する段階と、
をさらに含む、請求項１に記載の方法。
【請求項１１】
可能性のある経路候補での予測光信号雑音比に少なくとも部分的に基づいて前記経路候補を生成する段階をさらに含む、請求項１に記載の方法。
【請求項１２】
可能性のある経路候補に関連する１つ又はそれ以上の遅延属性情報に少なくとも部分的に基づいて前記経路候補を生成する段階をさらに含む、請求項１に記載の方法。
【請求項１３】
前記ネットワークの検出された属性情報と前記光ネットワークモデルに格納された前記ネットワーク属性情報との間の不一致の検出に応答して、検出された変更情報を反映させるために前記光ネットワークモデルを更新する段階と、
前記変更情報を使用して前記経路候補を生成する段階と、
をさらに含む、請求項１に記載の方法。
【請求項１４】
１つ又はそれ以上のプロセッサによって実行される場合に、
ネットワーク入力ポートとネットワーク入力ポートとの間での電気から光への変換又は光から電気への変換を必要としない純粋なフォトニック要素に基づき、
ａ）フォトニックネットワーク内の複数のネットワーク要素間の関係を表す関係情報と、
ｂ）複数のネットワーク要素の各々の最新の状態を表す構成情報と、
を格納するための、フォトニックネットワークモデルを管理する段階と、
入力ポートを表す第１のポート識別子と第１の出力ポートを表す第２のポート識別子とを含む経路生成要求を受信する段階と、
前記入力ポートで開始し少なくとも前記第１の出力ポートで終端する経路候補を、前記関係情報及び構成情報に少なくとも部分的に基づいて生成する段階と、
前記経路候補のための利用可能なルートを決定する段階と、
を実行させるように構成された、命令を格納する非一時的コンピュータ可読記憶媒体であって、前記方法は、１つ又はそれ以上のコンピューティングデバイスによって実行され、
前記関係情報及び構成情報は、以下のステップａ）−ｆ）により、前記利用可能なルートを決定するために用いられる、非一時的コンピュータ可読記憶媒体。
ａ）入力スイッチを決定するために、入力ポートを、ネットワークモデルデータ内の既知のネットワークトポロジー情報内のデバイスと照合するステップ、
ｂ）全ての出力スイッチを決定するために、ネットワークモデルデータに格納されたネットワークトポロジー情報を使用して、出力ポートを１つ又はそれ以上のスイッチと照合するステップ、
ｃ）各出力スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチは利用可能なルートの１つである、ステップ、
ｄ）出力スイッチと入力スイッチが異なる場合には、出力スイッチに対して上流側の関係を有するスイッチを調査し、まだ調査されていない上流側スイッチの各々に関しては、この上流側スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチ及び下流側スイッチは利用可能なルートの１つを構成する、ステップ、
ｅ）上記ｃ）、ｄ）を繰り返して、連続する上流側スイッチを再帰的に調査して、それらが入力スイッチと一致するかどうかを判断するステップ、
ｆ）上記ｃ）が全ての連続する上流スイッチと出力スイッチについて完了した際に、経路選択プロセスで使用するために、そのようにして得られた利用可能なルートのリストをメモリに格納するステップ。
【請求項１５】
前記経路生成要求はさらに、第２の出力ポートを表す第３のポート識別子を含み、前記経路候補は、前記入力ポートで開始し、少なくとも前記第１の及び第２の出力ポートに送り込まれ、
前記命令はさらに、
前記第１の出力ポートに関連する出力要求条件、
各経路候補のリソース使用量、
経路候補内の１つ又はそれ以上の光増幅器の位置、及び
経路候補内の前記入力ポートから前記出力ポートまでのホップ数に少なくとも部分的に基づく経路候補の順位付リストと、
可能性のある経路候補での予測光信号雑音比に少なくとも部分的に基づく前記経路候補と、
可能性のある経路候補に関連する１つ又はそれ以上の遅延属性情報に少なくとも部分的に基づく前記経路候補、
のうちの１つ又はそれ以上を生成する段階、
各々が、前記ネットワークを経由する純粋なフォトニック経路に対応することができる１つ又はそれ以上のフォトニックスイッチを特定する、可能性のあるフォトニックネットワークルートを決定する段階、及び
前記ネットワークモデルに格納されている最新の構成情報に少なくとも部分的に基づいて前記フォトニックネットワークルートから経路候補を決定する段階、
前記経路候補の順位付リストに少なくとも部分的に基づいて構築用の経路候補のうちの１つを選択する段階、
前記選択された経路の要求条件により複数の光スイッチを自動的に構築する段階、
前記経路候補の順位付リストをクライアントコンピューティングシステムのユーザインタフェースで表示する段階、
前記ネットワークの検出された属性情報と前記光ネットワークモデルに格納された前記ネットワーク属性情報との間の不一致の検出に応答して、検出された変更情報を反映させるために前記光ネットワークモデルを更新する段階、及び
前記変更情報を使用して前記経路候補を生成する段階のための命令を含み、
前記経路候補の少なくとも１つは、光ループバックリンクを含む、請求項１４に記載の非一時的コンピュータ可読記憶媒体。
【請求項１６】
命令を格納するための少なくとも１つのデジタルコンピューティングデバイスを含むシステムであって、該命令は、１つ又はそれ以上のプロセッサによって実行される場合に、
ネットワーク入力ポートとネットワーク入力ポートとの間での電気から光への変換又は光から電気への変換を必要としない純粋なフォトニック要素に基づき、
ａ）フォトニックネットワーク内の複数のネットワーク要素間の関係を表す関係情報と、
ｂ）複数のネットワーク要素の各々の最新の状態を表す構成情報と、
を格納するための、フォトニックネットワークモデルを管理する段階と、
入力ポートを表す第１のポート識別子と第１の出力ポートを表す第２のポート識別子とを含む経路生成要求を受信する段階と、
前記入力ポートで開始し少なくとも前記第１の出力ポートで終端する経路候補を、前記関係情報及び構成情報に少なくとも部分的に基づいて生成する段階と、
前記経路候補のための利用可能なルートを決定する段階と、
を実行させるように構成された、システムであって、
前記関係情報及び構成情報は、以下のステップａ）−ｆ）により、前記利用可能なルートを決定するために用いられる、システム。
ａ）入力スイッチを決定するために、入力ポートを、ネットワークモデルデータ内の既知のネットワークトポロジー情報内のデバイスと照合するステップ、
ｂ）全ての出力スイッチを決定するために、ネットワークモデルデータに格納されたネットワークトポロジー情報を使用して、出力ポートを１つ又はそれ以上のスイッチと照合するステップ、
ｃ）各出力スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチは利用可能なルートの１つである、ステップ、
ｄ）出力スイッチと入力スイッチが異なる場合には、出力スイッチに対して上流側の関係を有するスイッチを調査し、まだ調査されていない上流側スイッチの各々に関しては、この上流側スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認し、同じスイッチである場合には、このスイッチ及び下流側スイッチは利用可能なルートの１つを構成する、ステップ、
ｅ）上記ｃ）、ｄ）を繰り返して、連続する上流側スイッチを再帰的に調査して、それらが入力スイッチと一致するかどうかを判断するステップ、
ｆ）上記ｃ）が全ての連続する上流スイッチと出力スイッチについて完了した際に、経路選択プロセスで使用するために、そのようにして得られた利用可能なルートのリストをメモリに格納するステップ。
【発明の詳細な説明】
【背景技術】
【０００１】
現在のネットワーク世界では、ほとんど全てのネットワークトラフィックは、光ファイバーベースネットワーク上である場所から別の場所に流れる。トラフィック量は、相互接続するデバイスが増加し、用いられるアプリケーションが増加しているという事実により、非常に急速に増加し続けている。大量のトラフィックが常時生じているだけでなく、その流れが、光ネットワークを横切る経路に関して頻繁に変化している。このことにより、サイバーセキュリティーに関してネットワークを監視するアナリストには、過度の課題と、切迫した脅威に対して迅速に措置を講じる能力とが提起される。これらの脅威は、ますます複雑になっている。これらの脅威には、信号をリアルタイムに並行して調査するための様々な処理及び解析ツールが必要とされる。ＤＷＤＭを含む、帯域幅拡張、プロトコル改良、及び複数の信号フォーマットにおける現在の動向により、ＣＡＰＥＸ及びＯＰＥＸが有意に増加することなく事象を追跡及び対応することが困難になっている。種々の地理的エリアからの通信を監視し選択的に傍受し、収集した光信号を１つ又は複数の送信先に配信し、遠隔地からの処理を要求に応じて集中管理するためには、柔軟なネットワークプラットフォームが必要とされる。
【０００２】
この監視ネットワークの境界部では、センサ、信号プローブ、データストレージ、及び他のクライアントデバイスなどのインテリジェント光デバイスが、常時接続されている。光信号は、その入力部においてデバイスによって選択され収集され、ネットワークの出力部においてクライアントデバイスによって処理、解析、監視、及び格納される。入力デバイスによって収集される光信号は、歪みが生じることなく元のアナログ形式で、信号の最終的な送信先又はクライアントに正確に配信される必要がある。この必要性により、従来の光ファイバーデジタル通信ネットワークで用いられている光電気光（Ｏ−Ｅ−Ｏ）再生技術は利用されない。ネットワークのエンドポイント間で「透過的な」経路を形成するための解決方法として、純粋に光学的な、フォトニクス信号管理技術を活用する必要がある。このことは、ネットワークプラットフォームが、光波長、データ形式、又はデータレートと無関係であることを意味する。例えば、ハードウェア更新、又はさらにソフトウェア更新を必要とせずに、光ＲＦアナログ信号、並びに１０Ｇ又は１００Ｇなどのデジタル信号を管理することができる。
【０００３】
この全光配信ネットワークで利用される基本構成要素は、光スプリッタ、光増幅器、波長分割多重通信（ＷＤＭ）、透過型光クロスコネクト（ＯＸＣ）、又はフォトニックスイッチ、及びこれらの構成要素をエッジデバイスで相互接続する光ファイバーを含む。光スプリッタは、入力信号によって搬送された光出力を複数の光ファイバー出力に特定の出力比で分割するように構成された受動デバイス（電力を必要としない）である。光増幅器は、最初に光信号を電気信号に変換することを必要とせずに、光信号を直接増幅するデバイスである。さらに、波長分割多重通信は、光波長を分離又は統合する受動デバイスである。透過型光クロスコネクトは、光信号のデータレート又はプロトコルを考慮せずに光信号を受信し、ネットワーク内の光信号経路を再構成するために使用されるデバイスである。これらの光学的構成要素で構成される再構成可能な光ファイバーネットワークは、信号収集、監視、及び解析のためにネットワークの境界部に接続される全てのインテリジェント端末装置と一緒に、効率的な統合及び拡張可能ネットワークプラットフォームを提供する。このプラットフォームは、将来的な光容量拡大に備えて、信号収集、配信、遠隔監視、並びにデータ記憶を管理するための、リソース共有、柔軟性、及び拡張性を可能にする。さらに、この全光配信ネットワークによる解決方法は、エレクトロニクスによる解決方法と比べて電力消費を非常に効果的に削減する。
【０００４】
光経路を構成するフォトニックスイッチは、管理対象の基本要素である。フォトニックスイッチの例として光ＭＥＭＳ（マイクロ・エレクトロメカニカル・システム）スイッチがあり、その２つのマイクロミラーが、光信号ビームを方向付ける角度で物理的に操作及び配置され、このスイッチ内で光クロスコネクトが形成され、信号が所定のポートを経由してスイッチから送出されることが保証される。フォトニックスイッチベース光信号配信ネットワーク（ＯＳＤＮ）は、電気信号ベースネットワークデバイスとは異なり、電気信号ベーススイッチの動作方法と同様の方法で配信信号用の経路を決定するように配信信号を読み取る又は処理するものではない。ネットワーク内でのフォトニックスイッチの制御は、アウトオブバンド又はインバンド管理方法によって実現される。アウトオブバンド管理方法は、別のネットワーク又は接続を経由してアクセスされるインテリジェント光スイッチ上の管理インタフェースを必要とし、スイッチは、この管理インタフェースから制御命令を受信し処理して、受信信号が出力側ポートに向けられる。インバンド管理方法では、制御命令は、光データチャネル内に組み込まれ、処理される前にスイッチで受信される際に光データから分離している必要がある。
【０００５】
増加する光ネットワーク上で流れるネットワークトラヒック量、及び常に変化するトラヒックフローパターンは、このようなトラヒックを解析して、多数のインテリジェント光スイッチで構成されるアドホック光ネットワークを構築するためのエンティティを引き起こす。これらのスイッチは、相互接続し、様々な光信号入力を有する。この種類のアドホック光ネットワークは、エッジデバイス間でのネットワークの一時的な接続によって特徴付けられる。ネットワーク運用者が具体的な入力信号に対してデータ解析を実行することを望む場合には、この入力信号が、データ解析システムに接続された出力ポートを有するネットワークエッジデバイス、又は信号を読み取り解析することができるプローブに向けられる。
【０００６】
しかしながら、このアドホック光ネットワークは増加し続けているので、このネットワークを経由する経路を手動で生成し構成することは、非常に困難で時間を費やすようになっている。さらに、既存のネットワーク管理システムは、電気的なスイッチの特定の属性に準拠しているので、フォトニックスイッチに関する経路生成に対応していない。従って、柔軟な、拡張可能な、及び透過的な光信号配信ネットワークを構築して、増加する光信号を、常に拡張する信号処理設備に接続することが新たに必要とされている。このセクションで説明した方法は、実施可能な方法であるが、必ずしも、従来、着想又は実施された方法とは限らない。従って、別の方法で示さない限り、この項で説明したあらゆる方法は、それらがただ単にこの項に包まれるという理由により、従来技術として限定されるとみなされるものではない。
【０００７】
本発明は、同様の符号を用いて同様の構成要素を示す添付図面において、限定的ではなく例示的に示される。
【図面の簡単な説明】
【０００８】
【図１】一実施形態を実装できる環境を示すブロック図である。
【図２】一実施形態の光スイッチを示すブロック図である。
【図３】一実施形態の経路マネージャを示すブロック図である。
【図４】一実施形態の経路マネージャで管理できるアドホックフォトニックネットワークを示すブロック図である。
【図５】一実施形態を実装できる例示的なコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下の説明では、本発明を完全に理解できるように、具体的な多くの詳細を説明の目的で記載する。しかしながら、本発明は、これらの具体的な詳細がなくとも実施できることが明らかである。或いは、既知の構成及びデバイスは、本発明を不必要に曖昧にしないようにブロック図の形式で示される。
【００１０】
全体的概要
フォトニックネットワークは、部分的に、ミラー又は他の物理的な機構を使用して光信号の方向を変えることによりフォトニック媒体上で搬送される信号経路を指示することによって動作する。大規模なアドホックフォトニックネットワークでは、ネットワーク運用者が、ネットワークへの入力信号がどのポートを使用しているか、及びどのポートが所望の出力ポートを表すかを認識している場合でさえ、所与の信号に関してネットワークを経由する適切な経路を決定することが困難である。
【００１１】
一実施形態では、フォトニックネットワークに関するネットワークモデルが管理される。このネットワークモデルは、データベース、テキストファイル又はフラットファイル、メモリ、或いは他の任意のコンピュータ可読記憶媒体内に格納することができる。このモデルは、フォトニックネットワークアーキテクチャに関連する任意又は全ての情報を含み、この情報は、信号増幅器の位置、リソースが使用されているかどうか（スイッチのポートなど）、及びスプリッタの位置を含む。このモデルはさらに、クロスコネクトスイッチ、光リンク、増幅器、スプリッタ、ポート、ＷＤＭ、入力信号源などのフォトニックネットワーク要素間の関係を表す関係情報と、例えば出力ポートに接続されたデバイスに関して必要な信号強度などの、データ解析システム又はプローブの特性情報を表すことができる出力情報とを含む。さらに、ネットワーク内の構成要素の順番は、ネットワークモデルで表すことができる。さらに、構成情報がネットワークモデルに格納される。構成情報は、一実施形態の各ネットワーク要素の最新の状態を表す。さらに、履歴及び「テスト」構成情報をネットワークモデルに格納することができる。
【００１２】
一実施形態では、経路マネージャを使用して、所望の入力ポート及び１つ又はそれ以上の出力ポートに基づく経路が生成される。例えば、経路マネージャは、既知の入力ポートからの信号を１つ又はそれ以上の出力ポートで解析する必要があるネットワーク運用者による経路生成要求を受信することができる。一実施形態では、経路マネージャは、ネットワークモデルに格納された関係情報を使用して、要件を満たすのに利用可能な１つ又はそれ以上の経路を生成する。経路マネージャが、経路候補から経路を選択する、又は経路候補をユーザインタフェース経由でネットワーク運用者に提示することによって、ネットワーク運用者は、経路候補の一覧から経路を選択することができる。一実施形態では、選択された経路は、その後、管理インタフェースを用いて、フォトニックスイッチなどの経路要素に指示を出すことによって自動的に構築される。
【００１３】
経路マネージャ環境
図１は、フォトニックネットワーク用の経路マネージャを実行できる場合の一実施形態による論理的な環境のブロック図を示す。図１を参照すると、この環境は、全体が、経路マネージャ１００と、クライアント１１０と、光スイッチ１２０から１３０とを含む。
【００１４】
図１に示す実施形態では、経路マネージャ１００は、クライアント１１０及び光スイッチ１２０から１３０と通信可能に接続される。経路マネージャ１００は、ローカルネットワーク接続又はインターネットなどのネットワーク接続を経由して光スイッチ１２０から１３０に接続される。さらに、クライアント１１０は、ネットワーク接続を経由して経路マネージャ１００に接続される。
【００１５】
一実施形態では、経路マネージャ１００を光スイッチ１２０から１３０に接続させるために使用されるネットワーク接続は、光スイッチ１２０から１３０によって制御されるネットワークに、通信可能に接続されるものではない。例えば、光スイッチ１２０から１３０は、相互接続して、図４に示すネットワークのような光ネットワークを形成することができる。しかしながら、経路マネージャ１００は、別のネットワーク経由で光スイッチ１２０から１３０に接続されるにもかかわらず、光ネットワーク上で構築命令を送出することができない。
【００１６】
経路マネージャ１００と光スイッチ１２０から１３０との間の接続は、一実施形態では、経路マネージャ１００が光スイッチ１２０から１３０に対する構築動作を実行できるようにするために使用される。例えば、経路マネージャ１００は、ＳＮＭＰなどのネットワーク管理プロトコルを用いて光スイッチ１２０から１３０に構築命令を送出することができる。
【００１７】
一実施形態では、クライアント１１０は、ウェブブラウザを使用して経路マネージャ１００と通信する。別の実施形態では、クライアント１１０は、経路マネージャ１００のリソースを制御するための命令を有して構成されるソフトウェアを含む。別の実施形態では、経路マネージャは、クライアント１１０を含む。
【００１８】
インテリジェント光スイッチ
図２は、例示的なインテリジェント光スイッチに関するブロック図である。インテリジェント光スイッチ２００は、赤外線信号などの光信号を、１つの回路から別の回路に選択的に切り替えるように構成できるスイッチである。インテリジェント光スイッチは、「フォトニックスイッチ」と呼称される種類のスイッチを含み、この用語は、最初に電子信号に変換することなく光信号を切り替える能力に由来する。フォトニックスイッチは、ミラーの傾斜又は光材料の屈折率を物理的に操作して光ビームの方向を変更するための機構に基づく場合が多い。
【００１９】
図２を参照すると、信号２２０は、インテリジェント光スイッチ２００のポート２２０に入力される。信号２２０は、ミラー２３０によって方向が変えられ、さらにまたミラー２４０によって方向が変えられる。次に、信号２２０は、ポート２４０を経由してインテリジェント光スイッチ２００から送出される。ポートＡとポートＢとの間の内部経路は、光クロスコネクトと呼称される。ミラー２３０及び２４０、並びにインテリジェント光スイッチ２００内の他のミラー（図示せず）を物理的に操作することにより、インテリジェント光スイッチ２００は、インテリジェント光スイッチ２００内で別々に構成された光クロスコネクトを用いて信号２２０の方向を変えて、異なるポートを経由して送出するように構成することができる。
【００２０】
インテリジェント光スイッチ（ＩＯＳ）コントローラ２１０は、インテリジェント光スイッチ２００内の光クロスコネクトを変更する要求を受信するためのロジックを含む。このロジックは、インテリジェント光スイッチ２００の機械的な機能と関連し、従って、インテリジェント光スイッチ２００内で光信号の方向を変えるのに必要な物理的操作を行わせることができる。ＩＯＳコントローラ２１０は、ネットワークインタフェース又は命令を受信できる他のインタフェースと、命令を実行するためのプロセッサとを含み、これらにより、信号２２０の物理的操作が行われる。
【００２１】
一実施形態では、任意の数の、インテリジェント光スイッチ２００などのインテリジェント光スイッチは、相互接続することができる。各インテリジェント光スイッチは、ポートの数が１００を超えることができ、１つより多いポートを使用して２つのスイッチを互いに接続することができる。光スイッチはさらに、それ自体に接続すること、及びこのような接続のためのスプリッタを使用することができる。
【００２２】
インテリジェント光スイッチに加えて、フォトニックスイッチベース光信号配信ネットワークは、ネットワークの一つの側面から同じネットワークの反対側の１つ又は複数のポイントに光信号を透過的に配信するように設計されている。光信号配信ネットワークは、フォトニックスイッチ、光スプリッタ、光増幅器、光ファイバー、及び信号を処理する他の受動部品又は能動部品から構成される。これらの構成要素を使用して、信号源の地理的な位置、処理装置、及び他の因子に応じて様々な組み合わせで光信号配信ネットワークを構築することができる。このことにより、アドホックネットワークトポロジーがもたらされる。
【００２３】
経路マネージャ
図３は、図１の経路マネージャ１００をより詳細に示す、一実施形態によるブロック図である。図３を参照すると、経路マネージャ１００は、入力／出力（ＩＯ）インタフェース３１０で入力３１２を受信する。ＩＯインタフェース３１０は、イーサネット（登録商標）ベースインタフェース又は無線ネットワークインタフェースなどのネットワークインタフェースとすることができる。
【００２４】
入力３１２は、ユーザインタフェースロジック３６０に関連するウェブサーバに向けられた要求を含むことができ、ユーザインタフェースロジック３６０は、提示ロジック３５０を用いて応答を生成する。この要求は、クライアント１１０のユーザ、例えばネットワークエンジニアが、入力／出力ポートの所与のセットに関する経路選択又は推奨経路を要求するために使用することができるように構成されたウェブベースインタフェースに関するものである。別の実施形態では、入力３１２は、経路選択又は推奨経路に関する直接的な要求を含む。
【００２５】
出力３１４は、ＩＯＳスイッチ１２０から１３０などのＩＯＳスイッチに関する命令を含むことができる。この命令は、経路管理エンジン３３０によって生成された自動経路選択決定の結果とすることができる。この命令は、各ＩＯＳスイッチに関する命令を含み、構成変更を行って所望の経路の形成を完成させるのに必要とされる。別の実施形態では、出力３１４は、動的に生成される出力を含み、１つ又はそれ以上のＩＯＳスイッチ、或いは他の光ネットワーキングデバイスに関してユーザに通知する。一実施形態では、この出力は、ウェブページの形態であり、ユーザインタフェースロジック３５０に関連するウェブサーバによって生成される。この情報は、現在の経路、ネットワーク状態情報、統計情報、又は推奨経路に関する情報を含むことができる。例えば、ユーザがそこから選択するための１つ又はそれ以上の経路を含む推奨経路は、経路選択又は推奨経路を要求するユーザからの入力３１２に応答して、出力３１４として送信することができる。
【００２６】
ＩＯロジック３１０は、ＩＯインタフェース３１０に接続される。ＩＯロジックは、一実施形態により、入力データを構文解析して配信し、出力３１４を準備してＩＯインタフェース３１０経由で送信するように構成される。ＩＯロジック３２０は、１つ又はそれ以上の通信プロトコルを実装することができる。一実施形態では、ＩＯロジック３２０は、経路管理エンジン３３０、提示ロジック３５０、及びユーザインタフェースロジック３６０に接続される。一実施形態では、ＩＯロジック３２０はさらに、データベース３７０に接続される。
【００２７】
一実施形態では、経路管理エンジン３３０、提示ロジック３５０、及びユーザインタフェースロジック３６０は全て、データベース３７０に接続される。データベース３７０は、ネットワークモデルデータ３７２を含むことができる。ネットワークモデルデータ３７２は、ネットワーク要素間の関係、並びに現在、過去、及びデフォルトのネットワーク構成データを格納するように構成されたデータベーステーブル又は他のストレージを表す。例えば、ネットワーク内で構成される経路、利用可能なポート、利用可能な増幅器及びスプリッタ、並びにネットワークの現在の状態を表す他のネットワーク情報の全てを規定するデータは、データベース３７０に格納することができる。一実施形態では、別の関係情報が、ネットワークの特定の部分に関する構成要素の順番を含むことができる。
【００２８】
一実施形態では、データベース３７０はさらに、ユーザ認証情報（図示せず）などの他のデータを含むことができる。一実施形態では、例えば、ユーザは、経路マネージャ１００内のユーザインタフェースロジック３６０経由でのユーザインタフェースへのアクセスを、クライアント１１０経由で要求することができる。ユーザインタフェースロジック３６０は、入力３１２として、ユーザ名とパスワードとの組み合わせ、又は他の認証情報を受信する。ユーザインタフェースロジック３６０は、ユーザ名とパスワードとの組み合わせをデータベース３７０に格納されている情報と照合させることによってユーザを認証するようにしてデータベース３７０への要求を行う。認証が成功すると、ユーザインタフェースロジック３６０は、ユーザインタフェースを形成して提示ロジック３５０によってユーザに提示する。
【００２９】
経路管理エンジン３３０、提示ロジック３５０、ユーザインタフェースロジック３６０、及びデータベース３７０は全て、経路マネージャ１００のこれらの構成要素によって提供される命令を実行するためのプロセッサ３８０に接続される。
【００３０】
例示的なネットワーク
図４を参照すると、矩形のボックスが、光クロスコネクト機能に対応するフォトニックスイッチを表す。このフォトニックスイッチは、同じスイッチ上で任意の入力信号を任意の出力ポートに動的に切り替えることができる。フォトニックスイッチは、動的な信号ルート又は経路を、別の方法で静的に接続されたネットワークを介して構築する機能を提供するための主要な構成要素である。
【００３１】
フォトニックスイッチを相互接続するための光ファイバーが使用される。光信号が情報を失うことなくネットワークの全体又は一部分を経由して通過できることを保証するために、増幅器が使用される。光学的なレベルで信号をマルチキャストするために、スプリッタが使用される。
【００３２】
これらの要素は、一緒に、柔軟、透過的、及び拡張可能な基礎構造を形成して、大量の光信号の同時配信及びマルチキャストに対応する。図４のネットワーク図では、分かりやすいようにするために、同様の特性の多数の光ファイバーリンクを図示している。例えば、ＤＬＧ１＿３は、１：４スプリッタ及び６ｄＢ利得の増幅器である。
【００３３】
ネットワークモデル
所与の任意の入力／出力要求条件に関してネットワークを経由する可能性のある経路を決定するためのネットワークモデルを作成することが有用である。以下の概念及び定義は、説明を容易にするためにモデルに対する背景を提供することを意図している。
【００３４】
フォトニックスイッチ：光信号自体を全く変換及び解析せずにフォトニックレベルで光信号を切り替えるように設計されたシステム。入力信号は、光ＭＥＭＳ（マイクロ・エレクトロメカニカル・システム）によって制御されるマイクロミラーなどの高度なデバイス及び技術を使用して、所与の出力ポートに方向が変えられる。
【００３５】
光リンク：２つ又はそれより多いスイッチ間の物理的な接続。光リンクは、２つのフォトニックスイッチ間の直線状の光ファイバーのような単純なものとすることができる。光リンクは、信号を増幅するための増幅器及び信号を能動的にマルチキャストするためのスプリッタを用いて、１つのスイッチを多数のスイッチに接続させるような複雑なものとすることができる。図４に示す実施形態では、例えば、ＤＬＧ１３＿１は、直線状の光リンクを示し、ＤＬＧ６＿１は、４ｄＢの増幅器と、信号をフォトニックスイッチＰＳ３及びＰＳ４に配信するための１：２スプリッタとを有する光リンクである。
【００３６】
光クロスコネクト：スイッチに入力された信号を、指定された入力ポートから指定された出力ポートに切り替えるために、フォトニックスイッチ内で一対の入力ポート及び出力ポートに適用される論理的な構成。
【００３７】
光経路：光信号を指定された入力ポートから一組の出力ポートに伝達する経路を提供するために設定された、光クロスコネクトと光リンクとの特定の組み合わせ。光経路の最も単純な形態は、光信号をフォトニックスイッチの入力ポートから同じスイッチの出力ポートに伝達する光クロスコネクトである。複雑な光経路は、複数の光リンクで相互接続された複数の種々のフォトニックスイッチにおける多数の光クロスコネクトから構成される。
【００３８】
フォトニックルート：光信号を必要な出力ポートに配信するための光経路に対応することができ相互接続されたフォトニックスイッチの組み合わせ。
【００３９】
図４を参照すると、フォトニックスイッチ、光クロスコネクト、及び光リンクの概念が示される。線は、フォトニックスイッチＰＳ２の入力ポート１２からＰＳ５の出力ポート２０、２１、及びＰＳ６の出力ポート３８、３９への光経路を示す。この光経路は、以下の光リンクを通過する。
ＤＬＧ６＿１：ＰＳ２の出力ポート１０からＰＳ３の入力ポート４３及びＰＳ４の入力ポート２向け
ＤＬＧ９＿２：ＰＳ３の出力ポート１７からＰＳ５の入力ポート２１、２２向け
ＤＬＧ１７＿１：ＰＳ４の出力ポート１７からＰＳ６の入力ポート２３、２４向け
【００４０】
さらに、光経路は、入力信号を指定した出力ポートに対応させるために動的に生成される以下の光クロスコネクトを通過する。
ＯＸＣ１２１０：入力ポート１２からＰＳ２の出力１０に向け
ＯＸＣ４３１７：入力ポート４３からＰＳ３の出力１７に向け
ＯＸＣ２１６：入力ポート２からＰＳ４の出力１６に向け
ＯＸＣ２１２０：入力ポート２１からＰＳ５の出力２０に向け
ＯＸＣ２２２１：入力ポート２２からＰＳ５の出力２１に向け
ＯＸＣ２３３８：入力ポート２３からＰＳ６の出力３８に向け
ＯＸＣ２４３９：入力ポート２４からＰＳ６の出力３９に向け
【００４１】
この光経路に対応しているフォトニックルートは、ＰＳ２、ＰＳ３、ＰＳ４、ＰＳ５、及びＰＳ６である。代替的なルートは存在しない。
【００４２】
ネットワークトポロジー
フォトニックネットワークを経由する信号のための可能性のある経路を決定するためには、使用されるネットワークトポロジーを認知する必要がある。ネットワークトポロジーは、２つの異なる方法、すなわち、ａ）手動：ネットワーク運用者が、グラフィックツール又は明確に定義された形式のテキストファイルを用いてネットワークトポロジーを手動で入力、ｂ）自動：ネットワーク運用者によって提供される最低限の情報でネットワークトポロジーを自動的に見つけ出すための専用ツール、で得ることができる。
【００４３】
ネットワークトポロジーが得られると、オブジェクト表現情報が生成され、ネットワークモデルデータ３７２のデータベーステーブルに格納することができる。ネットワークトポロジー情報は、モデル内のオブジェクト間の関係に基づいている。このオブジェクトは、ＸＭＬ形式で、関係データベース内に、又はオブジェクト間の関係の履歴を管理できる別の形式で格納することができる。
【００４４】
一実施形態では、ネットワークの論理的な表現情報を生成ために複数の種類の関係情報、すなわち、Ａ）フォトニックスイッチとそのポートとの関係：直接的な包含関係、Ｂ）上流側フォトニックスイッチ：該当のフォトニックスイッチの上流側に位置するフォトニックスイッチ、Ｃ）下流側フォトニックスイッチ：該当のフォトニックスイッチの下流側に位置するフォトニックスイッチ、Ｄ）入力側光リンク：フォトニックスイッチの入力側に接続された光リンク、Ｅ）出力側光リンク：フォトニックスイッチの出力側に接続された光リンク、Ｆ）ループバック光リンク：フォトニックスイッチの出力側が同じフォトニックスイッチの入力側に接続された光リンク、が設定される。これらの関係情報は、次のルート及び経路発見に関する基準を構成する。ネットワーク内のネットワーク要素の順番などの別の関係情報を格納することができる。
【００４５】
一実施形態では、ネットワークモデルデータ３７２は、動的であり、静的ではない。経路マネージャ１００は、ネットワーク監視ロックを含み、ＩＯＳ２００などの光スイッチに接続され、ＩＯＳコントローラ２１０がスイッチの状態を監視する点においてＩＯＳコントローラ２１０からのネットワークに関する情報を学習するように構成される。例えば、ＩＯＳコントローラ２１０からの、ビット誤り率、信号雑音比、出力レベル、遅延、利得、及びスイッチ２００に関連する別の属性情報を学習することができる。ネットワーク要素の状態を学習するための経路マネージャ１００による別の機構を利用することができる。ネットワークモデルデータ３７２に格納された情報間の矛盾が検出されると、ネットワーク監視ロックは、データベース３７０内のデータを更新することができる。その後、経路を生成するための新しいデータを使用することができる。
【００４６】
光経路
光ネットワークの文脈における経路は、信号が、入力から１つ又はそれ以上の出力にネットワークを経由して流れるための通路である。一実施形態では、経路は、入力ポート、出力ポートの配列、及び経路要素の配列を含む。経路要素は、ツリー構造経路を線形配列要素で表現するために使用される構成要素である。経路要素は、経路に対応させるために使用される、「アンカー」フォトニックスイッチ及びその全ての出力側光リンクによって規定される。「共有光リンク」は、スプリッタを使用することによって、１つのフォトニックスイッチを１つより多いフォトニックスイッチに接続させるための光リンクである。
【００４７】
光ネットワーク経路は、信号を分割することができるので、必然的に分岐を含む場合があることに留意することが重要である。例えば、図４は、フォトニックスイッチ２（ＰＳ２）、ポート１２の入力信号で開始する経路を示す。信号は、クロスコネクトＯＸＣ１２１０を通じて流れ、ポート１０を経由してＰＳ２から送出される。信号は次に、＋４ｄＢ信号増幅器を通過した後に、光リンクＤＬＧ６＿１を経由する。光リンクＤＬＧ６＿１は、信号を、ＰＳ３のポートＰＳ４３とＰＳ４のポートＰＳ２の両方に入力するためのスプリッタである。ＰＳ３を通過する経路の一部分は、ＯＸＣ４３１７と、ポート１７と、＋４ｄＢ信号増幅器と、この分岐を、ポート２１及びポート２２それぞれを使用してＰＳ５を通過する２つの信号に分割するためのスプリッタとを含む。ポート２１経由でＰＳ５に入力される信号の一部分は、クロスコネクトＯＸＣ２１２０を通過し出側ポート２０経由で出力される。ポート２２経由でＰＳ５に入力される信号の一部分は、クロスコネクトＯＸＣ２２２１を通過し出側ポート２１経由で出力される。ＰＳ４に入力させる第１のスプリッタにより分割される信号の一部分は、最終的に２つの信号に分割され、ＰＳ６の出力ポート３８及び３９経由で出力される。この信号に関する別の経路要素は説明していないが、図４から分かるであろう。しかしながら、図４は、信号経路が１つの入力（ＰＳ２のポート１２）で開始し、４つの出力（ＰＳ５のポート２０及び２１、並びにＰＳ６のポート３８及び３９）で終端することを示している。
【００４８】
光ネットワーク内の経路は、要求された経路の要件を満たすために、光ループバックリンクの利用を必要とする場合がある。例えば、経路は、スイッチ間のスプリッタがない２つのスイッチのみを含むことができる。しかしながら、光ループバックは、第１の入力ポートの信号を、同じスイッチの２つの別の入力ポートへの入力である信号に分割するように構成されたスプリッタを含むことができる。各分割信号は、所望の出力ポートにクロスコネクトし、第２のスイッチに向けることができる。
【００４９】
大規模なアドホック光ネットワークでは、入力信号ポートから１つ又はそれ以上の出力ポートに出力可能な経路が多数である。図４に示す例示的なネットワークは、現在稼働中の多数の光ネットワークよりも小規模であるが、光ネットワーク内の経路を決定することに関連する複雑性を容易に示すものである。数百の光スイッチが、その各々の多くが１００よりポートを有し、アドホックモードで互いに接続される場合には、複雑性が増す。光経路の性質（すなわち、１つより多い出力を有すること）を考慮する場合、経路決定はさらに複雑なものとなる。
【００５０】
ルート決定
一実施形態では、経路決定プロセスが開始する前に、ネットワークモデルデータ３７２に格納された関係情報は、経路マネージャ１００で受信した入力ポート及び出力ポート情報と整合可能なルートがどのルートであるかを判断するために解析される。ルート発見は、後続の経路発見に関するコンテキスト及び範囲を設定する。ルート発見は、入力ポートから、ユーザにより指定された全出力ポートまで幅広く通じることができる一連の相互接続フォトニックスイッチを発見することを含む。換言すると、ルートは、要求された経路の要件を満たすために信号が通過できるスイッチによって定められる。
【００５１】
ルート決定における第１のステップは、入力スイッチを発見することである。この入力スイッチは、入力ポートが見つけ出されたフォトニックスイッチである。入力ポートは、経路提示又は経路選択要求の一部分として提供される。入力ポートを、ネットワークモデルデータ３７２内の既知のネットワークトポロジー情報内のデバイスと照合することによって、入力スイッチが決定される。次に、ネットワークモデルデータ３７２に格納されたネットワークトポロジー情報を使用して、出力ポート（最初の要求の一部分として提供）を１つ又はそれ以上のスイッチと照合することによって、全ての出力スイッチが決定される。各出力スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認する。同じスイッチである場合には、このスイッチは利用可能なルートの１つである。
【００５２】
さらに、出力スイッチと入力スイッチが異なる場合には、出力スイッチに対して上流側の関係を有するスイッチを調査する。まだ調査されていない上流側スイッチの各々に関しては、この上流側スイッチを入力スイッチと比較して、それらが同じスイッチかどうかを確認する。同じスイッチである場合には、このスイッチ及び下流側スイッチは利用可能なルートの１つを構成する。次に、同様な方法で上流側スイッチを再帰的に調査して、それらが入力スイッチと一致するかどうかを判断する。このプロセスが全ての出力スイッチに関して完了した際に、経路選択プロセスで使用するために、ルートのリストがメモリ内に格納される。利用可能なルートが決定されると、これらのルートは、可能性のある経路を決定するために使用される。
【００５３】
例示的なルート決定疑似コード
前述した利用可能なルートを発見するための例示的な経路決定疑似コードリストを以下に示す。
【００５４】
メソッド：ｆｉｎｄＲｏｕｔｅｓ（入力ポート、出力ポートの配列）：ルートの配列を返却
１．  入力ポート及び以前に得られたネットワークトポロジーを使用して入力スイッチｐｓ（ａ）を発見する。
２．  全出力及びネットワークトポロジーに関してｐｓ（ｚ）の配列を発見する。
３．  発見ルートを保持するための配列を生成する。
４．  各出力スイッチｐｓ（ｚ）に関して：
４．１  空のルート構造体を生成して、発見された現在のルートを格納する：現在ルート
４．２  さらにこのスイッチが入力スイッチであるかどうかをチェックする。
４．３  入力スイッチである場合
４．３．１  ｐｓ（ｚ）を現在ルートに追加する。
４．３．２  現在ルートを発見ルートの配列に追加する。
４．４  入力スイッチでない場合
４．４．１  ｐｓ（ｚ）を現在ルートに追加する。
４．４．２  ｆｉｎｄＲｏｕｔｅｓメソッド（ｐｓ（ａ）、現在ルート、発見ルートの配列）をコールする。
４．４．３  この繰り返しで発見されたルートの配列を全発見ルートの配列に追加する。
５  全発見ルートの配列が空でない場合
５．１  ルートの配列をマージして、各ルートが入力スイッチｐｓ（ａ）を全出力スイッチｐｓ（ｚ）に接続させる一意的なルートであるルートの新規配列を生成する。
【００５５】
メソッド：ｆｉｎｄＲｏｕｔｅｓ（ｐｓ（ａ）、現在ルート、発見ルートの配列）：所与のｐｓ（ｚ）に関する全ルートを発見。結果は発見ルートの配列内にある。
／／注意：最新ルートはさらに、このメソッドが既に訪れたスイッチを含む。
１．  現在ルートから最後に訪れたスイッチ：ｐｓ（最後の訪問先）を取得する。
２．  ｐｓ（最後の訪問先）の上流側フォトニックスイッチのリストを取得して上流側ｐｓに設定する。
３．  上流側ｐｓ内の各スイッチｕｐｓ（ｉ）に関して：
３．１  既に訪れている場合、スキップする。
３．２  ｕｐｓ（ｉ）＝ｐｓ（ａ）である場合
３．２．１  ｕｐｓ（ｉ）を現在ルートに追加する。
３．２．２  現在ルートを発見ルートの配列に追加する。
３．２．３  現在ルートから最後に訪れたスイッチを削除する。
４．  上流側ｐｓ内の各スイッチｕｐｓ（ｉ）に関して：
４．１  既に訪れている、又はｕｐｓ（ｉ）＝ｐｓ（ａ）である場合、スキップする。
４．２  ｕｐｓ（ｉ）を現在ルートに最後の訪問先位置で追加する。
４．３  ｆｉｎｄＲｏｕｔｅｓ（ｐｓ（ａ）、現在ルート、発見ルートの配列）メソッドをコールする。
４．４  最後に訪れたスイッチを削除する。
【００５６】
経路決定
一実施形態では、経路発見プロセスの目的は、光信号を、各出力ポートで必要とされる程度の光信号出力を有する指定出力ポートに配信するための１つ又はそれ以上の経路を発見すること、リソース使用量、すなわち概して光リンク、詳細には増幅器を最小限にすること、及び信号雑音比を最小限にすることである。これらの目的を達成し、経路発見プロセスを支援するために、以下の発見的方法、すなわち、信号が複数の出力ポートに配信される場合に、極力出力ポートに近いポートに信号を分割すること、経路が生成され運用に入る際に、実際の測定結果を使用して、経路が通過するリンクの信号出力損失の履歴を徐々にかつ正確に管理すること、が様々な実施形態に関して展開されている。
【００５７】
一実施形態では、経路決定プロセスは、前述したルート決定プロセスで収集し格納されたルート情報にアクセスすることによって開始する。この情報及びネットワークモデルデータ３７２に格納された情報を使用して、一組の経路候補が決定される。以下の例示的な疑似コードは、一実施形態においてどのようにして経路候補を決定するかに関する詳細を規定する。
【００５８】
経路候補は、経路をソートするためにも使用可能な複数の基準に基づいて生成される。各因子には、その重要度に基づいて重み因子を割り当て、経路候補は、経路候補に関して使用される経路要素に割り当てられ組み合わされた因子により順位付けることができる。最小限のリソースを使用する経路要素は、経路候補を生成することに関して望ましい。
【００５９】
各出力ポートの推定信号出力レベルが計算される。一実施形態では、信号出力レベルが要求条件を満たす場合には、経路候補が、最終的な経路候補の配列に追加される。信号出力レベルが要求条件を満たさない場合には、入力ポートに最も近い別のリンク（増幅器を有する）を使用する別の経路候補を生成することができる。信号出力レベルが要求条件を満たす場合には、この経路候補が、発見された経路候補の最終的な配列に追加される。信号出力レベルが要求条件を満たさない場合には、別の経路候補を生成するプロセスを継続する。さらに、経路を生成するときに、別の情報を考慮することができる。例えば、光リンクの距離、時刻、又はリンク評価情報が、経路又は経路選択の順位付けに影響を与えることができる。
【００６０】
経路は、選択されると、ネットワーク上で実装することができる。一実施形態では、選択された経路は、仮想的又は模擬的なネットワーク上で実装することができる。模擬的なネットワーク環境は、ネットワーク又は個別のネットワーク要素に対する特定の経路実施例が有することができる効果に関する追加的で高度な詳細を規定する。一実施形態では、次に、この情報を使用して、ネットワークモデルデータ３７２を更新することができる。
【００６１】
例示的な経路決定疑似コード
前述した利用可能な経路を発見するための例示的な経路決定疑似コードリストを以下に示す。
【００６２】
以下のメソッドは、事前に発見された各ルートを使用して経路を発見する。
メソッド：ｆｉｎｄＰａｔｈｓ（入力ポート、入力信号出力、出力ポートの配列、ルートの配列）：経路候補の配列を返却
各ルートに関して：
１．  メソッドｆｉｎｄＰａｔｈｓＳｉｎｇｌｅＲｏｕｔｅ（入力ポート、出力ポートの配列、ルート）をコールする。
２．  発見経路候補を発見経路の最終的な配列に追加する。
３．  発見経路候補の各々に関して：
３．１  あらゆる経路候補要素で最小限のリソースを有する別個の経路候補を生成する。
３．２  各出力ポートで推定信号出力レベルを計算する。
３．３  出力レベルが要求条件を満たす場合、この経路候補を発見経路候補の最終的な配列に追加する。
３．４  出力レベルが要求条件を満たさない場合、入力ポートに最も近い別のリンク（増幅器を有する）を有する別の経路候補を生成する。
３．５  出力レベルが要求条件を満たす場合、この経路候補を発見経路候補の最終的な配列に追加する。
３．６  出力レベルが要求条件を満たさない場合、可能であれば、この、別の経路候補を生成するプロセスを継続する。
４．  少なくともリソース使用量基準に基づいて経路をソートする。
【００６３】
以下のメソッドは、事前に発見された特定のルートを経由する経路を発見する。
メソッド：ｆｉｎｄＰａｔｈｓＳｉｎｇｌｅＲｏｕｔｅ（入力ポート、入力ポートの配列、ルート）：経路候補の配列を返却
１．  入力ポートから出力ポートへのホップ数に基づいてルートを構成する。
２．  ルートから経路候補要素の配列を生成する。
３．  各経路候補要素に、それと対応する「アンカー」スイッチを入力する。
４．  出力ポートの配列を使用して、各経路候補要素に関する初期出力ポートカウントを決定する。
４．１  経路候補要素の「アンカー」スイッチに位置付けられる出力ポートがない場合、初期出力ポートカウントを０とする。
４．２  上記の出力ポートがある場合、初期出力ポートカウントは、その経路候補要素の対応する「アンカー」スイッチに位置付けられる出力ポートの数に設定される。
５．  構成されたルートを使用して経路候補要素の配列の末尾から先頭までループする。各経路候補要素に関して：
５．１  ｆｉｎｄＳｈａｒｅｄＬｉｎｋｓＦｏｒＣａｎｄｉｄａｔｅＰａｔｈＥｌｅｍｅｎｔ（入力ポート、ルート、経路候補要素）メソッドをコールする。
６．  各経路候補要素に関して：
６．１  メソッドｆｉｎｄＮｏｎＳｈａｒｅｄＬｉｎｋｓＦｏｒＣａｎｄｉｄａｔｅＰａｔｈＥｌｅｍｅｎｔ（入力ポート、ルート、経路候補要素）をコールする。
【００６４】
メソッド：ｆｉｎｄＳｈａｒｅｄＬｉｎｋｓＦｏｒＣａｎｄｉｄａｔｅＰａｔｈＥｌｅｍｅｎｔ（入力ポート、ルート、経路候補要素）
１．  最初に、ルート上で２つ又はそれより多いスイッチに接続する共有リンクを発見する。
２．  発見共有リンクの各々に関して：
２．１  発見共有リンクを、リンクの開始ポートによって特定された対応する経路候補要素に設定する。
２．２  このリンクと接続するスイッチの出力ポートカウントを更新する。
２．２．１  リンクの開始ポートが位置付けられるスイッチに関して、出力ポートを１だけ増加させる。
２．２．２  終端ポートが位置付けられるスイッチに関して、出力ポートカウントを、このスイッチと繋がっているリンクの終端ポートの数だけ減少させる。
【００６５】
メソッド：ｆｉｎｄＮｏｎＳｈａｒｅｄＬｉｎｋｓＦｏｒＣａｎｄｉｄａｔｅＰａｔｈＥｌｅｍｅｎｔ（入力ポート、ルート、経路候補要素）
１．  残余出力ポートカウントを初期出力ポートカウントの値で初期化する。
２．  （残余出力ポートカウント＞０  かつ  繰り返し最終発見リンク＝真）である間繰り返す。
２．１  残余出力ポートカウントの値を超えない終端ポート最大数を有する利用可能なリンクを発見する。この基準を満たすリンクが１つより多い場合、増幅器がないリンクが存在する場合にその１つを選択する。
２．２  リンクが発見された場合：
２．２．１  繰り返し最終発見リンク＝真とする。
２．２．１  残余出力ポートカウントを、発見リンクの終端ポートの数だけ減少させる。
２．２．４  増幅器を有する同じ構成の別のリンクが利用可能な場合に、それを発見する。
２．２．５  このリンクを経路候補要素に同様に追加する。
２．３  リンクが発見されない場合：異常終了する。
【００６６】
ハードウェア概要
一実施形態により、本明細書で説明する技術は、１つ又はそれ以上の特殊目的コンピューティングデバイスによって実装される。専用コンピューティングデバイスは、本技術を実行するためのハードワイヤードとすること、本技術を実行するように永続的にプログラミングされた１つ又はそれ以上の特定用途集積回路（ＡＳＩＣ）又はフィールドプログラム可能ゲートアレイ（ＦＰＧＡ）を含むこと、或いはファームウェア、メモリ、他のストレージ、又はそれらの組み合わせでのプログラム命令に従って本技術を実行するようにプログラミングされた１つ又はそれ以上の汎用ハードウェアプロセッサを含むことができる。このような専用コンピューティングデバイスはさらに、本技術を実現するようにカスタムプログラミングされた、カスタムハードワイヤードロジック、ＡＳＩＣ、又はＦＰＧＡを組み合わせることができる。専用コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイス、又は本技術を実装するためのハードワイヤード及び／又はプログラムロジックが組み込まれた他の任意のデバイスとすることができる。
【００６７】
例えば、図５は、本発明の一実施形態を実装できるコンピュータシステム５００を示すブロック図である。コンピュータシステム５００は、バス５０２又は情報を伝達するための他の機構と、情報を処理するためにバス５０２に連結されたハードウェアプロセッサ５０４とを含む。ハードウェアプロセッサ５０４は、例えば汎用コンピュータとすることができる。
【００６８】
コンピュータシステム５００はさらに、ランダムアクセスメモリ（ＲＡＭ）などのメインメモリ５０６、又はバス５０２に連結され、情報、及びプロセッサ５０４によって実行される命令を格納するための他の動的記憶デバイスを含む。メインメモリ５０６はさらに、プロセッサ５０４によって実行される命令の実行中に一時的な変数又は他の中間情報を格納するために使用することができる。このような命令は、プロセッサ５０４にアクセス可能な記憶媒体に格納される場合、コンピュータシステム５００を、命令で特定された動作を実行するためにカスタマイズされた専用装置にする。
【００６９】
コンピュータシステム５００はさらに、読み取り専用メモリ（ＲＯＭ）５０８、又はバス５０２に連結され、プロセッサに関する情報及び命令を格納するための他の静的記憶デバイスを含む。磁気ディスク又は光ディスクなどの記憶デバイス５１０が、提供され、バス５０２に連結され、情報及び命令を格納する。
【００７０】
コンピュータシステム５００は、バス５０２経由で陰極線管（ＣＲＴ）などのディスプレイ５１２に連結され、コンピュータユーザに情報を示すことができる。入力デバイス５１４は、英数字及び他のキーを含み、バス５０２に連結され、情報及びコマンド選択をプロセッサ５０４に伝達することができる。別の種類のユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ５０４に伝達してディスプレイ５１２上のカーソル移動を制御するための、マウス、トラックボール、又はカーソル方向キーなどのカーソル制御５１６である。この入力デバイスは、典型的に、デバイスがその平面内の位置を特定することができる２つの軸、すなわち第１の軸（例えば、ｘ）及び第２の軸（例えば、ｙ）内の２つの自由度を有する。
【００７１】
コンピュータシステム５００は、コンピュータシステムと組み合わせてコンピュータシステム５００を専用装置にする又はプログラミングするための、カスタマイズされたハードワイヤードロジック、１つ又はそれ以上のＡＳＩＣ又はＦＰＧＡ、ファームウェア及び／又はプログラムロジックを使用して、本明細書で説明する技術を実装することができる。一実施形態により、本明細書の技術は、メインメモリ５０６に含まれる１つ又はそれ以上の命令の１つ又はそれ以上のシーケンスを実行するプロセッサ５０４に応答してコンピュータシステム５００によって実行される。このような命令は、記憶デバイス５１０などの別の記憶媒体からメインメモリ５０６に読み取ることができる。メインメモリ５０６に含まれる命令のシーケンスを実行することにより、プロセッサ５０４が本明細書で説明するプロセスステップを実行する。別の実施形態では、ハードワイヤード回路は、ソフトウェア命令の代わりに、又はそれと組み合わせて使用することができる。
【００７２】
本明細書で用いられる「記憶媒体」という用語は、データ、及び／又は装置に特定の方法で実行させる命令を格納するための任意の媒体に言及する。このような記憶媒体は、不揮発性媒体及び／又は揮発性媒体を含むことができる。不揮発性媒体は、例えば記憶デバイス５１０などの光ディスク又は磁気ディスクを含む。揮発性媒体は、メインメモリ５０６などの動的なメモリを含む。記憶媒体の一般的な形態は、例えばフロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ又は他の任意の磁気データ記憶媒体、ＣＤ−ＲＯＭ、他の任意の光データ記憶媒体、ホールパターンを有する任意の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、及び他の任意のメモリチップ又はカートリッジを含むことができる。
【００７３】
記憶媒体は、伝送媒体とは異なるが、それと組み合わせて使用することができる。伝送媒体は、記憶媒体間での情報伝達に関与する。例えば、伝送媒体は、同軸ケーブル、銅線、及び光ファイバーを含み、バス５０２を構成するワイヤを含む。伝送媒体はさらに、電波及び赤外線データ通信中に生成されるような音波又は光波の形態とすることができる。
【００７４】
媒体の様々な形態は、１つ又はそれ以上の命令の１つ又はそれ以上のシーケンスを実行用プロセッサ５０４に伝達することを含むことができる。例えば、命令は最初にリモートコンピュータの磁気ディスク又はソリッドステートドライブに伝達することができる。リモートコンピュータは、その動的なメモリに命令をロードし、モデムを使用して電話回線経由で命令を送信する。コンピュータシステム５００の近くにあるモデムは、電話回線上のデータを受信し、赤外線送信器を使用してデータを赤外線信号に変換する。赤外線検出器が赤外線信号で伝達されるデータを受信し、適切な回路がそのデータをバス５０２に与えることができる。バス５０２は、データをメインメモリ５０６に伝達し、プロセッサ５０４は、このメモリから命令を取り出して実行する。メインメモリ５０６で受け取る命令は、プロセッサ５０４による実行の前又は後に、記憶デバイス５１０に選択的に格納することができる。
【００７５】
さらに、コンピュータシステム５００は、バス５０２に連結された通信インタフェース５１８を含む。通信インタフェース５１８は、ローカルネットワーク５２２に接続されるネットワークリンク５２０に接続される双方向データ通信を提供する。例えば、通信インタフェース５１８は、サービス総合ディジタル網（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、又は対応するタイプの電話回線とのデータ通信接続を可能にするモデムとすることができる。別の実施例として、通信インタフェース５１８は、互換性のあるＬＡＮとのデータ通信接続を可能にするローカルエリアネットワーク（ＬＡＮ）カードとすることができる。さらに、無線リンクを実装することができる。このような任意の実施例において、通信インタフェース５１８は、電気的、電磁的、又は光学的な信号を送信及び受信し、様々なタイプの情報を表すデジタルデータストリームを伝達する。
【００７６】
ネットワークリンク５２０は、典型的に、別のデータデバイスへの、１つ又はそれ以上のネットワーク経由でのデータ通信を提供する。例えば、ネットワークリンク５２０は、ホストコンピュータ５２４、又はインターネットサービスプロバイダ（ＩＳＰ）５２６によって運用されるデータ装置への、ローカルネットワーク５２２経由での接続を提供することができる。ＩＳＰ５２６は次に、「インターネット」５２８と現在一般的に呼ばれているワールドワイドパケットデータ通信ネットワーク経由でデータ通信サービスを提供する。ローカルネットワーク５２２とインターネット５２８との両方は、電気的、電磁的、又は光学的な信号を使用して、デジタルデータストリームを伝達する。様々なネットワーク経由の信号、並びにネットワークリンク５２０上及び通信インタフェース５１８経由の信号は、コンピュータシステム５００への及びそれからのデジタルデータを伝達し、伝達媒体の例示的な形態である。
【００７７】
コンピュータシステム５００は、ネットワーク、ネットワークリンク５２０、及び通信インタフェース５１８経由で、メッセージを送信し、プログラムコードを含むデータを受信する。例示的なインターネットにおいて、サーバ５３０は、インターネット５２８、ＩＳＰ５２６、ローカルネットワーク５２２、及び通信インタフェース５１８経由で、アプリケーションプログラムに関する要求されるコードを送信することができる。
【００７８】
受信したコードは、受信され、及び／又は将来的な実行のために記憶デバイス５１０又は他の不揮発性ストレージに格納されるので、プロセッサ５０４によって実行することができる。
【００７９】
前述の明細書において、実施例によって異なる場合がある多くの具体的な詳細を用いて本発明の実施形態を説明した。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味があることに留意されたい。本発明の範囲を限定的及び排他的に示し、本出願人が本発明の範囲であると意図するものは、後続の任意の補正を含み特許請求の範囲内にある特定の形態での、本出願により提示される一連の特許請求の範囲の文字通りの及び等価な範囲である。
【符号の説明】
【００８０】
１００  経路マネージャ
３１２  入力
３１４  出力
３１０  Ｉ／Ｏインタフェース
３２０  Ｉ／Ｏロジック
３３０  経路管理エンジン
３５０  提示ロジック
３６０  ユーザインタフェースロジック
３７０  データベース
３７２  ネットワークモデルデータ
３８０  プロセッサ
【図１】
0005918376.tif 000002
【図２】
0005918376.tif 000003
【図３】
0005918376.tif 000004
【図４】
0005918376.tif 000005
【図５】
0005918376.tif 000006