(57)【要約】【課題】始点ノードから終点ノードまでドメインをまたがる経路計算をする場合に、通信回数を減少する。【解決手段】終点ノードの属するドメインの経路計算制御装置が、終点ノードから自ドメイン内の境界ノードまでの第一パスと第二パスの組み合わせをパス候補として計算し、パス毎のメトリック和である経路のメトリック値と共に上流ドメインの経路計算制御装置へ送信する。パス候補とパス毎の経路のメトリック値を受信した経路計算制御装置は、自ドメイン内で計算したパス候補と受信したパス候補を繋ぎ、経路のメトリック値も加算する。経路計算制御装置は、繋いだパス候補と経路のメトリック値を、上流ドメインの経路計算制御装置へさかのぼって送信していき、始点ノードから終点ノードまでのパス候補が作成できたら、経路のメトリック値に基づいて、パス候補の中から目的関数に合う第一パスと第二パスを選択して、出力する。【選択図】図４
2008206095.tif 000002
【特許請求の範囲】
【請求項１】
各種データの入出力を司る入出力部と、各種データの送受信を司る通信部と、自ドメインに属するノードのトポロジ情報、前記ノードを接続するリンクのメトリック情報、経路計算条件である目的関数、およびドメイン毎にそのドメインにおける経路計算制御装置のアドレス情報を記憶するドメイン情報を記憶する記憶部と、前記トポロジ情報を参照して経路計算を行う処理部とを備える経路計算制御装置が、
前記入出力部又は前記通信部経由で、前記ネットワーク内の始点ノードおよび終点ノードの識別情報を含む経路計算要求を受け付け、前記始点ノードおよび終点ノードが自ドメインに存在するか否かを前記トポロジ情報に基づいて判別するノード判別ステップと、
前記ノード判別ステップにおいて、前記始点ノードは自ドメインに含まず、前記終点ノードは自ドメインに含むと判別した場合に、
前記トポロジ情報を参照して、前記終点ノードと他ドメインとの境界ノードとの間で利用可能なリンクからなる第一パス、および前記第一パスと対をなした予備のリンクからなる第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、
前記パス候補および前記経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップとを実行し、
前記ノード判別ステップにおいて、前記始点ノードおよび終点ノードのどちらも自ドメインに含まないと判別した場合に、
前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信するステップと、
前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、
前記受信したパス候補と、前記経路計算ステップで計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算ステップで計算した経路のメトリック値とを加算する経路接続ステップと、
前記経路接続ステップで作成した、前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップとを実行し、
前記ノード判別ステップにおいて、前記始点ノードは自ドメインに含み、前記終点ノードは自ドメインに含まないと判別した場合に、
前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信するステップと、
前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、
前記受信したパス候補と、前記経路計算ステップで計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算ステップで計算した経路のメトリック値とを加算する経路接続ステップと、
前記経路接続ステップで作成したパス候補の中から、前記パス毎の経路のメトリック値と前記目的関数とに基づいて、前記始点ノードおよび前記終点ノード間の第一パスおよび第二パスを選択し出力する経路選択ステップとを実行する
ことを特徴とする経路計算制御方法。
【請求項２】
前記経路計算ステップで用いられる目的関数は、
まず、前記メトリック和が最小となる前記第一パスを計算し、
続いて、前記計算した第一パスで使用した経路を除くトポロジーで、前記メトリック和が最小となる第二パスを計算する関数である
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項３】
前記経路計算ステップで用いられる目的関数は、
前記第一パスのメトリック和と前記第二パスのメトリック和の合計値が最小となる、第一パスおよび第二パスの組み合わせを計算する関数である
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項４】
前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップにおいて、
前記パス候補として、全ての第一パスとそれに対応する全ての第二パスを、他ドメインの経路計算制御装置へ送信する
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項５】
前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップにおいて、
前記パス候補として、所定の経路のメトリック値の範囲値を満たす第一パスおよび第二パスを、他ドメインの経路計算制御装置へ送信する
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項６】
前記経路選択ステップで用いられる目的関数は、
まず、前記パス候補のうち、当該パスの経路のメトリック値が最小となる第一パスを選択し、
前記選択した第一パスに対応する第二パスの中から、当該パスの経路のメトリック値が最小となる第二パスを選択する関数である
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項７】
前記経路選択ステップで用いられる目的関数は、
前記パス候補のうち、第一パスの経路のメトリック値と第二パスの経路のメトリック値の和が最小となる第一パスおよび第二パスを選択する関数である
ことを特徴とする請求項１に記載の経路計算制御方法。
【請求項８】
請求項１ないし請求項７のいずれか１項に記載の経路計算制御方法を、コンピュータである経路計算制御装置に実行させることを特徴とする経路計算制御プログラム。
【請求項９】
各種データの入出力を司る入出力部と、各種データの送受信を司る通信部と、自ドメインに属するノードのトポロジ情報、前記ノードを接続するリンクのメトリック情報、経路計算条件である目的関数、およびドメイン毎にそのドメインにおける経路計算制御装置のアドレス情報を記憶するドメイン情報を記憶する記憶部と、前記トポロジ情報を参照して経路計算を行う処理部とを備え、
前記入出力部又は前記通信部経由で、前記ネットワーク内の始点ノードおよび終点ノードの識別情報を含む経路計算要求を受け付け、前記始点ノードおよび終点ノードが自ドメインに存在するか否かを前記トポロジ情報に基づいて判別するノード判別部と、
前記ノード判別部において、前記始点ノードは自ドメインに含まず、前記終点ノードは自ドメインに含むと判別した場合に、
前記トポロジ情報を参照して、前記終点ノードと他ドメインとの境界ノードとの間で利用可能なリンクからなる第一パス、および前記第一パスと対をなした予備のリンクからなる第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部を備え、
前記通信部が、前記パス候補および前記メトリック和を示す経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信し、
前記ノード判別部において、前記始点ノードおよび終点ノードのどちらも自ドメインに含まないと判別した場合に、
前記通信部が、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信し、
前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部と、
前記受信したパス候補と、前記経路計算部で計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算部で計算したメトリック和とを加算して経路のメトリック値を計算する経路接続部とを備え、
前記通信部が、前記経路接続部で作成した、前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信し、
前記ノード判別部において、前記始点ノードは自ドメインに含み、前記終点ノードは自ドメインに含まないと判別した場合に、
前記通信部が、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信し、
前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部と、
前記受信したパス候補と、前記経路計算部で計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算部で計算したメトリック和とを加算して経路のメトリック値を計算する経路接続部と、
前記経路接続部で作成したパス候補の中から、前記パス毎の経路のメトリック値と前記目的関数とに基づいて、前記始点ノードおよび前記終点ノード間の第一パスおよび第二パスを選択し出力する経路選択部とを備える
ことを特徴とする経路計算制御装置。
【請求項１０】
前記経路計算制御装置は、
前記ネットワーク内の各ノードに実装されて前記ノードを管理制御する
ことを特徴とする請求項９に記載の経路計算制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドメインをまたがる経路の経路計算技術に関する。
【背景技術】
【０００２】
近年、ネットワークの高速大容量化に伴い、音声・映像のストリーミングサービスが普及し、様々な種類のトラヒックが転送されている。これらのサービスを提供するアプリケーションには、遅延やパケットロスによる品質劣化を防ぐために、ＱｏＳ（Quality of Service）制約と充分な帯域が与えられる必要がある。
【０００３】
ここで、限りある帯域を効率よく利用し、かつ、要求されるＱｏＳに対応できるような経路を設定するため、ネットワーク内の経路計算制御装置等に具現されるサーバまたはルータには、ＣＳＰＦ(Constrained Shortest Path First)機能が備えられている。このＣＳＰＦ機能とは、シグナリング情報をやりとりするモジュール等、外部からの要求に基づいて、制約を満たすパスの経路を計算し、外部に対して経路を回答する機能、つまり制約付きの最短経路（メトリックが最小になる経路）の計算を行う機能である。なお、メトリックとは、ネットワーク内のリンク毎に与えられる値であり、例えば、リンク毎のコスト（リンクコスト）やリンク毎の遅延等を示す。このメトリックの総和（経路のメトリック値）が最小となるような経路を探索（計算）するのが、ＣＳＰＦの基本である。
【０００４】
ネットワーク内で転送されるトラヒックは、ドメイン内にとどまらず、ドメインをまたがる（inter-domain）場合がある。ここでのドメインとは、ａｒｅａやＡＳ（Autonomous System）等の単位で区切られた自律ネットワークを示す。各ドメインのトポロジ情報やリンクコスト等の内部情報は機密性があり、他のドメインを管理する別組織からは秘匿される必要がある。このように機密性を保持しながらドメインをまたがって経路計算を行う方法として、各ドメインの経路計算制御装置が協調する方法があり、現在その標準化活動が進められている（例えば、非特許文献１，２参照）。
【０００５】
従来、ドメインをまたがる冗長パス（primary pathとsecondary path）を計算するための経路計算を行う場合、以下の方法が採られている。始点ノード（sourceノード）および終点ノード（destinationノード）が指定されたら、終点ノードの属するドメインから始点ノードの属するドメインまで、各ドメインでprimary pathの経路計算を行い、最後に各ドメインのprimary pathを足し合わせることでend-to-endのprimary pathを得る。続いて、このprimary pathの予備としてsecondary pathを検索するために、同様の経路計算を再度行う。それにより、end-to-endのsecondary pathを得ることができる。
【０００６】
非特許文献１では、各ドメインの経路情報を、Virtual shortest path tree(VSPT)に置換え、destination（終点ノード）が属するドメインの経路計算制御装置から順にさかのぼりながらVPSTを作成し、source（始点ノード）が属するドメインの経路計算制御装置が、各ドメインの経路情報集約されたVSPTを元に経路計算を行う。
【０００７】
非特許文献２では、各経路に“path key ID”を割り振ることでパスを識別し、ドメイン内の機密性を保持している。この方法では、primary pathで使用した経路に、対応するpath key IDを伝えることで、その経路を通過しないようなsecondary pathを計算することが可能となる。
【非特許文献１】“A backward recursive PCE-based Computation (BRPC) procedure to compute shortest inter-domain Traffic Engineering Label Switched Paths,”draft-vasseur-pce-brpc-02、[online]、[2007年2月1日検索]、インターネット、<URL：http://tools.ietf.org/wg/pce/draft-vasseur-pce-brpc-02.txt>
【非特許文献２】“Preserving Topology Confidentiality in Inter-Domain Path Computation using a key based mechanism,”draft-bradford-pce-path-key-01、[online]、[2007年2月1日検索]、インターネット、<URL：http://tools.ietf.org/id/draft-bradford-pce-path-key-01.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ドメインをまたがる経路計算を行う場合には、以下のような課題がある。
【０００９】
従来、経路計算の際には、経路計算制御装置の送信する経路計算要求が、各ドメインの経路計算制御装置間を一往復することでprimary pathが計算され、その後、secondary pathの計算の為に、再度、経路計算要求が各ドメインの経路計算制御装置間を一往復している。そのため、経路計算の際の経路計算制御装置間通信は、最低二回行われる。さらに、secondary pathの計算時に、secondary pathが計算できない状態（block状態）になった場合には、改めてprimary pathから再計算しなくてはならず、通信回数はそれに応じて増加する。その結果、経路計算に時間がかかり、かつ、経路計算制御装置にも負荷がかかることとなる。
【００１０】
このblock状態について、図１４を用いて具体的に説明する。図１４（ａ）は、ドメインＡ，Ｂ，Ｃを備えるネットワークにおける、各ドメインの通信装置であるノード（２ａ〜２ｐ，２ｓ）の接続構成を示す図である。各ノードを接続するリンクに記載された数字は、リンク毎に与えられるコスト（リンクコスト）を示している。このネットワークでは、各ドメインに経路計算制御装置（図示せず）が備えられており、各ドメインで選択された経路を経路計算制御装置同士で互いに送受信して、primary pathやsecondary pathを決定する。
【００１１】
このネットワークで、ドメインＡに属するノード２ｓ（sourceノード）を始点に、ドメインＣに属するノード２ｄ（destinationノード）を終点とする経路（primary pathとsecondary path）を探索する場合を例に説明する。なお、primary pathとsecondary pathとで、ノードやリンクを共有することはないものとする。
【００１２】
まず、各ドメインに属する経路計算制御装置が、それぞれのドメイン内のprimary pathをリンクコストの情報に基づいて選択する。ここでは、ドメインＡに属する経路計算制御装置が、物理的に複数存在するリンクの中から、リンクコスト「１」のノード２ｓ−ノード２ｋをprimary pathとして選択し、ドメインＢに属する経路計算制御装置が同様に、リンクコスト和「３」のノード２ｈ−（ノード２ｐ−ノード２ｏ）−ノード２ｅをprimary pathとして選択し、ドメインＣに属する経路計算制御装置が同様に、リンクコスト和「２」のノード２ａ−（ノード２ｎ）−ノード２ｄをprimary pathとして選択する。これにより、図１４（ｂ）に示すように、ノード２ｓ−ノード２ｄ間を接続するprimary pathが、ノード２ｓ−ノード２ｋ−ノード２ｈ−（ノード２ｐ−ノード２ｏ）−ノード２ｅ−ノード２ａ−（ノード２ｎ）−ノード２ｄとして選択される。
【００１３】
続いて、各ドメインに属する経路計算制御装置が、それぞれのprimary pathに対応するsecondary pathを選択する。前記したように、primary pathとsecondary pathとでノードやリンクを共有することはない。そのため、ドメインＣに属する経路計算制御装置はノード２ｃ−ノード２ｄのsecondary pathを選択し、ドメインＡに属する経路計算制御装置はノード２ｓ−ノード２ｍのsecondary pathを選択する。しかしながら、ドメインＢに属する経路計算制御装置は、primary pathで使用したノードおよびリンク以外の経路を選択することができない。つまり、最初に選択したprimary pathの経路では、secondary pathを計算することができず（block状態）、再度primary pathを計算しなければならない。
【００１４】
そこで、本発明は、前記した問題を解決し、始点ノードから終点ノードまでドメインをまたがる経路計算をする場合に、通信回数を減少する経路計算手段を提供することを目的とする。
【課題を解決するための手段】
【００１５】
前記した課題を解決するため、請求項１に記載の発明は、各種データの入出力を司る入出力部と、各種データの送受信を司る通信部と、自ドメインに属するノードのトポロジ情報、前記ノードを接続するリンクのメトリック情報、経路計算条件である目的関数、およびドメイン毎にそのドメインにおける経路計算制御装置のアドレス情報を記憶するドメイン情報を記憶する記憶部と、前記トポロジ情報を参照して経路計算を行う処理部とを備える経路計算制御装置が、前記入出力部又は前記通信部経由で、前記ネットワーク内の始点ノードおよび終点ノードの識別情報を含む経路計算要求を受け付け、前記始点ノードおよび終点ノードが自ドメインに存在するか否かを前記トポロジ情報に基づいて判別するノード判別ステップと、前記ノード判別ステップにおいて、前記始点ノードは自ドメインに含まず、前記終点ノードは自ドメインに含むと判別した場合に、前記トポロジ情報を参照して、前記終点ノードと他ドメインとの境界ノードとの間で利用可能なリンクからなる第一パス（primary path）、および前記第一パスと対をなした予備のリンクからなる第二パス（secondary path）の組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、前記パス候補および前記経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップとを実行し、前記ノード判別ステップにおいて、前記始点ノードおよび終点ノードのどちらも自ドメインに含まないと判別した場合に、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信するステップと、前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、前記受信したパス候補と、前記経路計算ステップで計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算ステップで計算した経路のメトリック値とを加算する経路接続ステップと、前記経路接続ステップで作成した、前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップとを実行し、前記ノード判別ステップにおいて、前記始点ノードは自ドメインに含み、前記終点ノードは自ドメインに含まないと判別した場合に、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信するステップと、前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和である経路のメトリック値とを前記目的関数に基づいて計算する経路計算ステップと、前記受信したパス���補と、前記経路計算ステップで計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算ステップで計算した経路のメトリック値とを加算する経路接続ステップと、前記経路接続ステップで作成したパス候補の中から、前記パス毎の経路のメトリック値と前記目的関数とに基づいて、前記始点ノードおよび前記終点ノード間の第一パスおよび第二パスを選択し出力する経路選択ステップとを実行することを特徴とする経路計算制御方法とした。
【００１６】
この経路計算制御方法によれば、ドメインをまたがる経路計算を行う場合に、経路計算制御装置間の通信回数を減少することができる。また、この経路計算制御方法によれば、block状態や経路重複は発生せず、様々な目的関数（経路計算条件）に応じた経路（パス）を選択できる。
【００１７】
請求項２に記載の発明は、請求項１に記載の前記経路計算ステップで用いられる目的関数が、まず、前記メトリック和が最小となる前記第一パスを計算し、続いて、前記計算した第一パスで使用した経路を除くトポロジーで、前記メトリック和が最小となる第二パスを計算する関数である経路計算制御方法とした。
【００１８】
この経路計算制御方法によれば、経路計算制御装置は、少ない計算量で簡易にパス候補を計算することができる。
【００１９】
請求項３に記載の発明は、請求項１に記載の前記経路計算ステップで用いられる目的関数が、前記第一パスのメトリック和と前記第二パスのメトリック和の合計値が最小となる、第一パスおよび第二パスの組み合わせを計算する関数である経路計算制御方法とした。
【００２０】
この経路計算制御方法によれば、経路計算制御装置は、第一パス（primary path）と第二パス（secondary path）のペアで、それぞれのメトリック和の合計値が最小となるパス候補を計算することができる。したがって、障害等により、使用する経路が第一パス（primary path）から第二パス（secondary path）に切り替わった場合でも、目的関数に合った第二パス（secondary path）を利用することができる。
【００２１】
請求項４に記載の発明は、請求項１に記載の前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップにおいて、前記パス候補として、全ての第一パスとそれに対応する全ての第二パスを、他ドメインの経路計算制御装置へ送信する経路計算制御方法とした。
【００２２】
この経路計算制御方法によれば、経路計算制御装置間の通信回数を減少させることが可能となる。
【００２３】
請求項５に記載の発明は、請求項１に記載の前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信するステップにおいて、前記パス候補として、所定の経路のメトリック値の範囲値を満たす第一パスおよび第二パスを、他ドメインの経路計算制御装置へ送信する経路計算制御方法とした。
【００２４】
この経路計算制御方法によれば、経路計算制御装置間の通信負荷を減少させることが可能となる。
【００２５】
請求項６に記載の発明は、請求項１に記載の前記経路選択ステップで用いられる目的関数が、まず、前記パス候補のうち、当該パスの経路のメトリック値が最小となる第一パスを選択し、前記選択した第一パスに対応する第二パスの中から、当該パスの経路のメトリック値が最小となる第二パスを選択する関数である経路計算制御方法とした。
【００２６】
この経路計算制御方法によれば、経路計算制御装置は、少ない計算量で簡易に始点ノードから終点ノードまでの第一パス（primary path）と第二パス（secondary path）を選択することができる。
【００２７】
請求項７に記載の発明は、請求項１に記載の前記経路選択ステップで用いられる目的関数が、前記パス候補のうち、第一パスの経路のメトリック値と第二パスの経路のメトリック値の和が最小となる第一パスおよび第二パスを選択する関数である経路計算制御方法とした。
【００２８】
この経路計算制御方法によれば、経路計算制御装置は、第一パス（primary path）と第二パス（secondary path）のペアで経路のメトリック値の和が最小となる経路を選択することができる。したがって、障害等により、使用する経路が第一パス（primary path）から第二パス（secondary path）に切り替わった場合でも、目的関数に合った第二パス（secondary path）を利用することができる。
【００２９】
請求項８に記載の発明は、請求項１ないし請求項７のいずれか一項に記載の経路計算制御方法を、コンピュータである経路計算制御装置に実行させる経路計算制御プログラムとした。
【００３０】
この経路計算制御プログラムによれば、コンピュータを経路計算制御装置として機能させることができる。
【００３１】
請求項９に記載の発明は、各種データの入出力を司る入出力部と、各種データの送受信を司る通信部と、自ドメインに属するノードのトポロジ情報、前記ノードを接続するリンクのメトリック情報、経路計算条件である目的関数、およびドメイン毎にそのドメインにおける経路計算制御装置のアドレス情報を記憶するドメイン情報を記憶する記憶部と、前記トポロジ情報を参照して経路計算を行う処理部とを備え、前記入出力部又は前記通信部経由で、前記ネットワーク内の始点ノードおよび終点ノードの識別情報を含む経路計算要求を受け付け、前記始点ノードおよび終点ノードが自ドメインに存在するか否かを前記トポロジ情報に基づいて判別するノード判別部と、前記ノード判別部において、前記始点ノードは自ドメインに含まず、前記終点ノードは自ドメインに含むと判別した場合に、前記トポロジ情報を参照して、前記終点ノードと他ドメインとの境界ノードとの間で利用可能なリンクからなる第一パス、および前記第一パスと対をなした予備のリンクからなる第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部を備え、前記通信部が、前記パス候補および前記メトリック和を示す経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信し、前記ノード判別部において、前記始点ノードおよび終点ノードのどちらも自ドメインに含まないと判別した場合に、前記通信部が、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信し、前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部と、前記受信したパス候補と、前記経路計算部で計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算部で計算したメトリック和とを加算して経路のメトリック値を計算する経路接続部とを備え、前記通信部が、前記経路接続部で作成した、前記パス候補および経路のメトリック値を、前記経路計算要求を送信してきた他ドメインの経路計算制御装置へ送信し、前記ノード判別部において、前記始点ノードは自ドメインに含み、前記終点ノードは自ドメインに含まないと判別した場合に、前記通信部が、前記ドメイン情報を参照して、他ドメインの経路計算制御装置へ前記始点ノードおよび終点ノードの識別情報を含む経路計算要求を送信し、前記他ドメインの経路計算制御装置から前記パス候補および経路のメトリック値を受信したとき、前記トポロジ情報に基づいて、自ドメイン内の第一パスおよび第二パスの組み合わせであるパス候補と、前記パス候補のパス毎のメトリック和とを前記目的関数に基づいて計算する経路計算部と、前記受信したパス候補と、前記経路計算部で計算したパス候補とをそれぞれ繋ぎ合わせたパス候補を作成し、前記受信した経路のメトリック値と、前記経路計算部で計算したメトリック和とを加算して経路のメトリック値を計算する経路接続部と、前記経路接続部で作成したパス候補の中から、前記パス毎の経路のメトリック値と前記目的関数とに基づいて、前記始点ノードおよび前記終点ノード間の第一パスおよび第二パスを選択し出力する経路選択部とを備えることを特徴とする経路計算制御装置とした。
【００３２】
この経路計算制御装置によれば、ドメインをまたがる経路計算を行う場合に、経路計算制御装置間の通信回数を減少することができる。また、この経路計算制御装置によれば、block状態や経路重複は発生せず、様々な目的関数（経路計算条件）に応じた経路（パス）を選択できる。
【００３３】
請求項１０に記載の発明は、請求項９に記載の経路計算制御装置が、前記ネットワーク内の各ノードに実装されて前記ノードを管理制御する構成とした。
【００３４】
この経路計算制御装置によれば、処理が分散されるため、各経路計算制御装置の負荷が減少する。また、障害が起きた場合にも、対応が容易となる。
【発明の効果】
【００３５】
本発明によれば、始点ノードから終点ノードまでドメインをまたがる経路計算をする場合に、通信回数を減少することができる。従って、ネットワークの管理者等は所望の経路を設定しやすくなる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明を実施するための最良の形態（以下、実施形態という）を説明する。
【００３７】
まず、本実施形態の経路計算制御装置を説明する。この経路計算制御装置は、限られたネットワーク資源の有効活用や、ＱｏＳ制御、または事業者の運用上の都合のため、経路設定時に指定された始点ノードおよび終点ノード間における経路の組み合わせ（primary pathとsecondary path）を探索する。なお、本実施形態では、最短経路を探索する際のメトリックの一例としてリンクコストを用いるが、これに限らず、例えばリンク遅延値等に基づいて、最短経路を探索してもよい。
【００３８】
図１は、本発明の実施の形態における経路計算制御装置１を含むネットワークの構成例である。図１に示すように、ネットワークは、複数のドメイン（Ａ〜Ｃ）から構成される。そして、各ドメインは、ノード２と、このノード２間に設定するパスの経路計算を行う経路計算制御装置１（１Ａ，１Ｂ，１Ｃ）とを含んで構成される。
【００３９】
ノード２と経路計算制御装置１とは、通信可能に接続されている。また、ノード２同士は、そのノード２が存在するネットワークレイヤよりも相対的に下位に位置する下位レイヤのパスを設定することで提供される、論理パスで接続される。
【００４０】
経路計算制御装置１は、その経路計算制御装置１が属するドメイン内のノード２に加え、他のドメイン（以下、「他ドメイン」と適宜記載）を管理する経路計算制御装置１とも送受信可能に接続されている。
【００４１】
このネットワークは、ＴＤＭ（Time Division Multiplexing）やＷＤＭ（Wavelength Division Multiplexing）等の回線交換ネットワーク、または、ＩＰ（Internet Protocol）やイーサネット（登録商標）、ＭＰＬＳ（Multi-Protocol Label Switching）により実現される。ノード２は、ＭＰＬＳ網のＭＰＬＳルータ、パケット網のルータ、光網の光クロスコネクト等により実現され、経路計算制御装置１からの経路設定命令に基づき、経路（パス）を設定する機能を備える。このノード２のうち、各ドメインの境界に位置し、隣接する他ドメインのノード２と直接通信を行うノード２を特に境界ノードとよぶ。
【００４２】
なお、本実施形態によるネットワーク構成は、前記回線交換ネットワークなどに限定されず、回線交換ネットワークにパケットネットワークが収容されている階層型ネットワークでも適用可能である。
【００４３】
＜経路計算制御装置の構成＞
次に、図２を用いて、経路計算制御装置１の構成を詳細に説明する。図２は、図１の経路計算制御装置１の構成を示したブロック図である。
【００４４】
図２に示すように、経路計算制御装置１は、入出力部１１と、処理部１２と、記憶部１３と、通信部１４とを備える。
【００４５】
入出力部１１は、この経路計算制御装置１に接続されるキーボードやマウス等の入力装置（図示せず）、液晶モニタ等の出力装置（図示せず）等のインタフェースである。この入出力部１１は、入力装置から入力された情報を処理部１２に出力したり、処理部１２により処理された情報を出力装置へ出力したりする。
【００４６】
処理部１２は、この経路計算制御装置１全体の制御を司り、入出力部１１、通信部１４および記憶部１３の制御と、入力された情報の処理とを行う。
【００４７】
この処理部１２は、ノード２のリンクコストやトポロジ情報等のルーティング情報を取得するルーティング情報取得部１２１と、始点ノードおよび終点ノードの識別情報（例えば、ＩＰアドレス）を用いて当該ノードが自身の属するドメイン（以下、「自ドメイン」と適宜記載）に含まれているか否かを判別するノード判別部１２２と、自ドメイン内の経路の計算を行う経路計算部１２３と、他ドメインの経路計算制御装置１から受信したパス候補を前記経路計算部１２３から取得した経路と繋ぐ経路接続部１２４と、パス候補の中からprimary path（第一パス）と、そのprimary pathと対をなした予備であるリンクからなるsecondary path（第二パス）を選択する経路選択部１２５と、経路設定命令を自ドメインのノード２等へ出力するパス制御部１２６とを備える。
【００４８】
ルーティング情報取得部１２１は、通信部１４経由で、自ドメイン内のノード２を接続するリンク情報とトポロジ情報を取得し、ルーティング情報記憶部１３１に格納する。
【００４９】
ノード判別部１２２は、入出力部１１あるいは通信部１４経由で、経路計算要求としてノード２（始点ノードおよび終点ノード）の識別情報を受信すると、当該ノード２が自ドメイン内に含まれているか否かを判別する。このときの判別は、後記するルーティング情報記憶部１３１に格納されるルーティング情報を参照して行われる。判別の結果、終点ノードが自ドメインに属していない場合には、後記するドメイン情報記憶部１３２に格納される他ドメインの経路計算制御装置情報を参照して、他ドメインの経路計算制御装置１に、ノード２（始点ノードおよび終点ノード）の識別情報を送信する。
【００５０】
経路計算部１２３は、後記するルーティング情報記憶部１３１に格納されるルーティング情報を参照して、自ドメイン内の経路を計算する。また、計算した経路（パス）をパス情報記憶部１３４に記憶する。
【００５１】
経路接続部１２４は、他ドメインの経路計算制御装置１から通信部１４経由で受信したパス候補と、自ドメイン内で計算した経路とを繋ぐ。また、受信したパス候補の経路コスト（リンクコスト和）を、自ドメイン内の経路のリンクコスト和に加算する。
【００５２】
経路選択部１２５は、経路接続部１２４が作成したパス候補の中から、始点ノードと終点ノードとの間を接続するprimary pathとsecondary pathを選択する。
【００５３】
パス制御部１２６は、入出力部１１又は通信部１４から経路設定命令を受け付けると、通信部１４経由で、自ドメイン内の各ノード２や他ドメインの経路計算制御装置１へ出力する。この経路設定命令は、例えば、経路設定のためのシグナリングプロトコルにより行われる。
【００５４】
なお、この処理部１２の機能は、ＣＰＵ（Central Processing Unit）等が記憶部１３に記憶された所定のプログラムを実行することで実現される。
【００５５】
記憶部１３は、この経路計算制御装置１の機能を実現するプログラムのほかに、処理部１２が経路計算等を行うときに参照する各種データを記憶する。この記憶部１３は、自ドメイン内のルーティング情報（リンク情報およびトポロジ情報）を記憶するルーティング情報記憶部１３１と、他ドメインに属するノード２に対応する、隣接ドメインの経路計算制御装置１の情報を記憶するドメイン情報記憶部１３２と、経路計算を行う条件となる目的関数を記憶したポリシー記憶部１３３と、自ドメイン内のノード２同士の経路を記憶するパス情報記憶部１３４とを備える。なお、この記憶部１３は、ＲＡＭ（Random Access Memory）、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）等の記憶装置により実現される。
【００５６】
ルーティング情報記憶部１３１は、自ドメイン内に存在する各ノード２を接続するリンク情報と、自ドメイン内のトポロジ情報とをルーティング情報として予め記憶する。リンク情報は、以下の表１に例示するように、リンクＩＤ毎に、そのリンクのリンクコスト、Ａ端ノードＩＤ、Ａ端ノードＩＦ（interface）  ＩＤ、Ｚ端ノードＩＤ、Ｚ端ノードＩＦ  ＩＤ等を示した情報である。なお、このリンクコストの値は、例えば、リンクの残余帯域から求めた値を用いる。ノードＩＤおよびＩＦ  ＩＤは、識別するための情報であり、例えば、ＩＰアドレス等により記述される。
【００５７】
【表１】
2008206095.tif 000003
【００５８】
また、トポロジ情報は、自ドメイン内に存在するノード２のノードＩＤと、そのノード同士がどのように接続されているかを示した情報である。このトポロジ情報は、ここでは図示を省略する。なお、ここでは、トポロジ情報と、リンク情報とは別個のものとしているが、トポロジ情報に前記したリンク情報を含めるようにしてもよい。
【００５９】
ドメイン情報記憶部１３２は、ドメイン毎にそのドメインにおける経路計算制御装置のアドレス情報を予め記憶する。他ドメインの経路計算制御装置情報は、以下の表２に例示するように、（他ドメインに属する）ノード２のノードＩＤ、前記ノード２に情報を送信する際の、自ドメインと隣接する他ドメインを示す隣接ドメインＩＤ、前記隣接ドメインＩＤに属する経路計算制御装置ＩＤ（例えば、ＩＰアドレス）の情報等を示した情報である。
【００６０】
【表２】
2008206095.tif 000004
【００６１】
ポリシー記憶部１３３は、経路計算を行う場合の条件となる目的関数を予め記憶する。目的関数の例としては、「リンクコスト（又は、経路コスト）最小の経路を探索する関数」としてのdijkstra法、「２つの経路をペアとしてリンクコスト（又は、経路コスト）最小の経路を探索する関数」としてのsuurballe法、「以降のリンクがＮＧになる確率を、帯域を考慮して最小化する経路を探索する関数」としてのMinimum routing interference法等が考えられる。
【００６２】
パス情報記憶部１３４は、経路計算部１２３が計算した自ドメイン内の経路（パス）情報を記憶する。パス情報は、以下の表３に例示するように、パスＩＤ毎に、そのパスの始点ノードＩＤ、始点ノードＩＦ  ＩＤ、終点ノードＩＤ、終点ノードＩＦ  ＩＤ、経由するリンクＩＤのリスト、経由するリンクのリンクコスト和を示す経路コスト等を示した情報である。
【００６３】
【表３】
2008206095.tif 000005
【００６４】
通信部１４は、自ドメインの各ノード２および他ドメインの経路計算制御装置１との通信インタフェースを司る。処理部１２は、この通信部１４経由で、各ノード２のルーティング情報を取得したり、経路計算要求やパス候補、経路コスト等を他ドメインの経路計算制御装置１と送受信したりする。この通信部１４は、経路計算要求送受信部１４１を備える。経路計算要求送受信部１４１は、経路計算要求として始点ノードおよび終点ノードの識別情報の入力を受け付ける。なお、経路計算要求に含まれる始点ノードおよび終点ノードの識別情報の入力は、入力部１１の入力装置により行われることとしてもよい。
【００６５】
＜経路計算制御装置の動作＞
次に、図３および図４を用いて、図２を参照しながら経路計算制御装置１の動作を説明する。図３は、ドメインをまたがるprimary path（第一パス）およびsecondary path（第二パス）の経路を決定するための処理を概念的に示す図である。ここでは、ドメインＡに属する始点ノード２ｓから、ドメインＢを経由してドメインＣに属する終点ノード２ｄまでの経路探索を行う場合について説明する。図４は、経路計算制御装置１の動作を示したフローチャートである。
【００６６】
図３において、ドメインＡには経路計算制御装置１Ａが存在し、ドメインＢには経路計算制御装置１Ｂが存在し、ドメインＣには経路計算制御装置１Ｃが存在する。各ノード（２ａ〜２ｐ，２ｓ）は、同様の機能を備えた通信装置である。各ノード２を接続する各リンクに記載される数字は、リンク毎に与えられるコスト（リンクコスト）を示している。
【００６７】
なお、経路計算制御装置１は、予めルーティング情報取得部１２１によって、自ドメイン内のルーティング情報を取得し、ルーティング情報記憶部１３１に記憶しておくものとする。
【００６８】
図４において、経路計算制御装置１は、自身に接続されたクライアント（図３では、始点ノード２ｓ）から、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を受信する（Ｓ２０１）。この経路計算要求には、始点ノード２ｓおよび終点ノード２ｄの識別情報が含まれる。なお、クライアントからの要求は、担当者によるＣＬＩ（Command Line Interface）や、専用のプロトコル（例えば、PCEP（Path Computation Element communication Protocol））によって入力される。また、担当者が、経路計算制御装置１Ａの入出力部１１を操作して入力してもよい。
【００６９】
経路計算制御装置１は、経路計算要求を受信すると、ノード判別部１２２によって、ルーティング情報記憶部１３１に格納されるルーティング情報を参照して、始点ノード２ｓおよび終点ノード２ｄが自ドメイン内に存在するか否かを判別する（Ｓ２０２）。
【００７０】
ステップＳ２０２において、ノード判別部１２２が、始点ノードは自ドメイン内に存在し、終点ノードは自ドメイン内に存在しないことを判別すると（ステップＳ２０２で「始点ノード“有”、終点ノード“無”」）、経路計算制御装置１はドメイン情報記憶部１３２を参照し、自身と隣接する他のドメインに属する経路計算制御装置１へ、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を送信する（Ｓ２１１）。
【００７１】
経路計算制御装置１は、他ドメインの経路計算制御装置１から、primary pathとそのprimary pathに対応するsecondary pathの組み合わせであるパス候補と、前記パス候補のパス毎の経路コストを、通信部１４を介して受信する（Ｓ２１２）。それをトリガとして、経路計算部１２３は、自ドメイン内の経路計算を行う（Ｓ２１３）。このとき、経路計算部１２３は、計算した自ドメイン内のパス候補（primary pathとsecondary pathの組み合わせ）について、そのパス毎のリンクコスト和（経路コスト）も計算する。そして、経路計算部１２３は、計算した自ドメイン内のパス候補と、そのパス毎の経路コストをパス情報記憶部１３４に記憶しておく。なお、ここでの経路計算の詳細な説明は、後記する。
【００７２】
続いて、経路接続部１２４は、ステップＳ２１２で受信したパス候補と、ステップＳ２１３で計算した自ドメイン内のパス候補とを繋ぎ（Ｓ２１４）、パス候補を作成する。このとき、経路接続部１２４は、ステップＳ２１２で受信した経路コストに、ステップＳ２１２で計算した経路コスト（リンクコスト和）を加算することで、繋いだパス候補の経路コストも計算する。これにより、始点ノード２ｓから終点ノード２ｄまでのパス候補（primary pathとsecondary pathの組み合わせ）とパス毎の経路コストが計算されたこととなる。
【００７３】
経路選択部１２５は、ステップＳ２１４で作成したパス候補（primary pathとsecondary pathの組み合わせ）の中から、ポリシー記憶部１３３内に格納される目的関数に合うprimary pathとsecondary pathを選択する（Ｓ２１５）。ここでの選択方法の詳細な説明は、後記する。
【００７４】
ステップＳ２１５でprimary pathとsecondary pathを選択したら、経路計算制御装置１は、ステップＳ２０１で経路計算要求を送信してきたクライアント（図３では、始点ノード２ｓ）に結果を出力する（Ｓ２１６）。
【００７５】
一方、ステップＳ２０２において、ノード判別部１２２が、始点ノードおよび終点ノードはどちらも自ドメイン内に存在しないことを判別すると（ステップＳ２０２で「始点ノード“無”、終点ノード“無”」）、経路計算制御装置１はドメイン情報記憶部１３２を参照し、自身と隣接する他のドメインに属する経路計算制御装置１へ、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を送信する（Ｓ２２１）。
【００７６】
経路計算制御装置１は、他ドメインの経路計算制御装置１から、パス候補と経路コストを、通信部１４を介して受信する（Ｓ２２２）。それをトリガとして、経路計算部１２３は、自ドメイン内の経路計算を行う（Ｓ２２３）。このとき、経路計算部１２３は、計算した自ドメイン内のパス候補（primary pathとsecondary pathの組み合わせ）について、そのパス毎のリンクコスト和（経路コスト）も計算する。そして、経路計算部１２３は、計算した自ドメイン内のパス候補およびパス毎の経路コストをパス情報記憶部１３４に記憶しておく。
【００７７】
続いて、経路接続部１２４は、ステップＳ２２２で受信したパス候補と、ステップＳ２２３で計算した自ドメイン内のパス候補とを繋ぎ（Ｓ２２４）、パス候補を作成する。このとき、経路接続部１２４は、ステップＳ２２２で受信した経路コストに、ステップＳ２２３で計算した経路コスト（リンクコスト和）を加算して、経路コストも計算する。なお、ステップＳ２２１〜Ｓ２２４の処理は、前記したステップＳ２１１〜Ｓ２１４と同様の処理である。
【００７８】
続いて、処理部１２は、作成したパス候補と計算した経路コストを、他のドメインに属する経路計算制御装置１へ送信する（Ｓ２２５）。ここでの送信先は、単純にステップＳ２２１で経路計算要求を送信してきた経路計算制御装置１としてもよいし、あるいは、ステップＳ２２１で受信した経路計算要求に含まれる始点ノード２ｓに基づき、ドメイン情報記憶部１３２を参照して、自身と隣接する他のドメインに属する経路計算制御装置１を抽出してもよい。
【００７９】
一方、ステップＳ２０２において、ノード判別部１２２が、始点ノードは自ドメイン内に存在せず、終点ノードは自ドメイン内に存在することを判別すると（ステップＳ２０２で「始点ノード“無”、終点ノード“有”」）、経路計算制御装置１は経路計算部１２３によって自ドメイン内の経路計算を行い（Ｓ２３１）、primary pathとそのprimary pathに対応するsecondary pathの組み合わせであるパス候補を計算する。このとき、経路計算部１２３は、計算した自ドメイン内のパス候補について、そのパス毎のリンクコスト和（経路コスト）も計算する。そして、経路計算部１２３は、計算した自ドメイン内のパス候補およびパス毎の経路コストをパス情報記憶部１３４に記憶しておく。
【００８０】
経路計算部１２３は、計算した自ドメイン内のパス候補と、パス毎の経路コストを、他のドメインに属する経路計算制御装置１へ送信する（Ｓ２３２）。なお、ステップＳ２３１はステップＳ２１３，Ｓ２２３と同様の処理であり、ステップＳ２３２はステップＳ２２５と同様の処理である。
【００８１】
一方、ステップＳ２０２において、ノード判別部１２２が、始点ノードおよび終点ノードはどちらも自ドメイン内に存在することを判別すると（ステップＳ２０２で「始点ノード“有”、終点ノード“有”」）、経路計算制御装置１は、経路計算部１２３によって経路計算を行い（Ｓ２４１）、前記したステップＳ２１５以降の処理を行う。つまり、この場合は、ドメインをまたがらずに経路計算を行うということである。
【００８２】
＜経路計算の処理の流れ＞
図５は、図３の経路計算制御装置１（１Ａ，１Ｂ，１Ｃ）の処理を示したシーケンス図である。図３を参照しながら、図５における経路計算制御装置１Ａ，１Ｂ，１Ｃの動作を説明する。
【００８３】
前記したように、各ドメインの経路計算制御装置１Ａ〜１Ｃは、予めルーティング情報取得部１２１によって、自ドメイン内のルーティング情報を取得し、ルーティング情報記憶部１３１に記憶しておくものとする。
【００８４】
まず、経路計算制御装置１Ａは、自身に接続されたクライアント（ノード２ｓ）から、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を受信する（Ｓ３０１）。この経路計算要求には、始点ノード２ｓおよび終点ノード２ｄの識別情報が含まれる。
【００８５】
経路計算制御装置１Ａは、経路計算要求を受信すると、ノード判別部１２２によって、ルーティング情報記憶部１３１に格納されるルーティング情報を参照して、始点ノード２ｓおよび終点ノード２ｄがドメインＡ内に存在するか否かを判別する（Ｓ３０２）。ここで、経路計算制御装置１Ａは、ノード判別部１２２によって、始点ノードは自ドメイン内に存在し、終点ノードは自ドメイン内に存在しないことを判別すると、ドメイン情報記憶部１３２を参照し、自身と隣接するドメインＢの経路計算制御装置１Ｂへ、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を送信する（Ｓ３０３）。
【００８６】
経路計算制御装置１Ｂは、通信部１４の経路計算要求送受信部１４１を介して経路計算要求を受信する（Ｓ３０４）と、ノード判別部１２２によって、ルーティング情報記憶部１３１に格納されるルーティング情報を参照して、始点ノード２ｓおよび終点ノード２ｄがドメインＢ内に存在するか否かを判別する（Ｓ３０５）。ここで、経路計算制御装置１Ｂは、ノード判別部１２２によって、始点ノード２ｓおよび終点ノード２ｄはどちらも自ドメイン内に存在しないことを判別すると、ドメイン情報記憶部１３２を参照し、自身と隣接するドメインＣの経路計算制御装置１Ｃへ、通信部１４の経路計算要求送受信部１４１経由で経路計算要求を送信する（Ｓ３０６）。
【００８７】
経路計算制御装置１Ｃは、通信部１４の経路計算要求送受信部１４１を介して経路計算要求を受信する（Ｓ３０７）と、ノード判別部１２２によって、ルーティング情報記憶部１３１に格納されるルーティング情報を参照して、始点ノード２ｓおよび終点ノード２ｄがドメインＣ内に存在するか否かを判別する（Ｓ３０８）。
【００８８】
ここで、経路計算制御装置１Ｃは、ノード判別部１２２によって、始点ノード２ｓは自ドメイン内に存在せず、終点ノード２ｄは自ドメイン内に存在することを判別すると、終点ノード２ｄから境界ノード（図３における境界ノード（ノード２ａ，２ｂ，２ｃ））までの経路計算を行う（Ｓ３０９）。なお、経路計算部１２３は、計算したパス候補について、そのパス毎の経路コスト（リンクコスト和）も計算する。
【００８９】
経路計算は、primary pathとそれに重複しないsecondary pathを計算する。この方法の例として、以下の（１）や（２）が考えられる。
【００９０】
（１）まず、ポリシー記憶部１３３に格納される目的関数（例えば、リンクコストが最小）を満足するprimary pathを計算し、そのprimary pathで使用した経路（パス）を除くトポロジーで、前記目的関数を満足する、当該primary pathに対応するsecondary pathを計算する。この方法の例として、dijkstra法がある。この方法によれば、計算を簡素化することができる。
【００９１】
（２）primary pathとそのprimary pathに重複しないsecondary pathのペアとして、ポリシー記憶部１３３に格納される目的関数を満足するもの（例えば、primary pathとsecondary pathとのリンクコスト和が最小）を同時に計算する。この方法の例として、suurballe法がある。この方法によれば、primary pathとsecondary pathのペアで考えた時に、目的関数に合う経路を計算することができる。
【００９２】
経路計算部１２３は、ステップＳ３０９で計算したパス候補と経路コストを、パス情報記憶部１３４に記憶しておく。
【００９３】
図６に、経路計算制御装置１Ｃが計算したドメインＣのパス候補を例示する。この図６に示すように、経路計算制御装置１Ｃは、ドメインＣにおけるprimary pathの経路と、それに対応するsecondary pathの経路とを組み合わせたパス候補を計算する。
【００９４】
続いて、経路計算制御装置１Ｃは、ステップＳ３０９で計算したパス候補と、各パスの経路コストを、通信部１４を介して、ドメインＢの経路計算制御装置１Ｂへ送信する（Ｓ３１０）。図７に、ドメインＣの経路計算制御装置１ＣからドメインＢの経路計算制御装置１Ｂへ送信するパス候補を例示する。図７に示すように、経路計算制御装置１Ｃから経路計算制御装置１Ｂへ送信する経路を、ＶＳＰＴ（Virtual Shortest Path Tree）の形式で送信してもよい。
【００９５】
経路計算制御装置１Ｂは、通信部１４を介して、下流（ドメインＣ）側のパス候補と経路コストを受信する（Ｓ３１１）。それをトリガとして、経路計算制御装置１Ｂの経路計算部１２３は、ステップＳ３０９と同様にドメインＢ内の経路計算を行う（Ｓ３１２）。ここでは、ドメインＣとの境界ノード（図３における境界ノード（ノード２ｅ，２ｆ，２ｇ））と、ドメインＡとの境界ノード（図３における境界ノード（ノード２ｈ，２ｉ，２ｊ））との間の経路を計算する。経路計算部１２３は、計算したパス候補について、そのパス毎の経路コスト（リンクコスト和）も計算し、パス情報記憶部１３４に記憶しておく。図８に経路計算制御装置１Ｂが計算したドメインＢのパス候補を例示する。
【００９６】
続いて、経路接続部１２４は、ステップＳ３１１で受信したパス候補と、ステップＳ３１２で計算した自ドメイン内のパス候補とを繋ぎ（Ｓ３１３）、primary pathとそのprimary pathに対応するsecondary pathの組み合わせであるパス候補を作成する。なお、経路接続部１２４は、ステップＳ３１１で受信した経路コストにステップＳ３１２で計算した経路コスト（リンクコスト和）を加算した、各パスの経路コストも計算する。図９に、ドメインＢの経路計算制御装置１Ｂが作成したパス候補（経路計算制御装置１Ｂから経路計算制御装置１Ａに伝えるパス候補）を例示する。
【００９７】
経路計算制御装置１Ｂの処理部１２は、作成したドメインＣのノード２ｄからドメインＢの境界ノード（ノード２ｈ，２ｉ，２ｊ）までのパス候補と、パス毎の経路コストを、通信部１４を介して、ドメインＡの経路計算制御装置１Ａへ送信する（Ｓ３１４）。ここで送信するパス候補は、前記した図９に示すとおりである。
【００９８】
経路計算制御装置１Ａは、通信部１４を介して、下流（ドメインＣおよびドメインＢ）側のパス候補と経路コストを受信する（Ｓ３１５）。それをトリガとして、経路計算制御装置１Ａの経路計算部１２３は、ステップＳ３０９やＳ３１２と同様に、ドメインＢとの境界ノード（ノード２ｋ，２ｌ，２ｍ）と始点ノード２ｓとの間の経路計算を行う（Ｓ３１６）。そして、経路計算部１２３は、計算したパス候補と、各パスの経路コストをパス情報記憶部１３４に記憶しておく。図１０に、経路計算制御装置１Ａが計算したドメインＡのパス候補を例示する。
【００９９】
続いて、経路接続部１２４は、ステップＳ３１３と同様に、ステップＳ３１５で受信したパス候補と、ステップＳ３１６で計算したパス候補とを繋ぎ（Ｓ３１７）、始点ノード２ｓから終点ノード２ｄまでのパス候補を作成する。なお、ステップＳ３１５で受信した経路コストに、ステップＳ３１６で計算した経路コスト（リンクコスト和）を加算した経路コストも計算する。図１１に示す情報は、始点ノード２ｓから終点ノード２ｄまでのパス候補の例である。図１１で、各経路（パス）に記載された数字は、パス毎の経路コストを示している。
【０１００】
図１１によれば、始点ノード２ｓから終点ノード２ｄまでのprimary pathの候補としてパス＃１，パス＃２，パス＃３が作成され、primary pathのパス＃１に対するsecondary pathとしては、パス＃４，パス＃５が作成されたことが示されている。
【０１０１】
続いて、経路選択部１２５は、ステップＳ３１７で計算したパス候補（primary pathとsecondary path）の中から、目的関数に合うprimary pathとsecondary pathを選択する（Ｓ３１８）。この方法として、例えば（１），（２）の方法が考えられる。
【０１０２】
（１）まず、目的関数（例えば、経路コストが最小）を満足するようなprimary pathを選択し、そのprimary pathに対応するsecondary pathの経路（パス）の中から目的関数（例えば、経路コストが最小）を満足するものを選択する。この方法によれば、簡易に経路を計算することができる。
【０１０３】
（２）primary pathとsecondary pathのペアとして、目的関数（例えば、経路コストが最小）を満足するものを計算する。つまり、primary pathとsecondary pathの経路コストの和が最小となるようなprimary pathとsecondary pathのペアを選択する。
この方法は、primary pathとsecondary pathのペアで目的関数を満足する経路（パス）を選択したい場合に有効である。
【０１０４】
経路選択に（１）の方法を用いた場合、最初に計算するprimary pathについては、目的関数を満足する経路を選択することができるが、そのprimary pathとsecondary pathのペアでは、必ずしも目的関数を最も満足するものになるとは限らない。
【０１０５】
以下、この理由を具体的に説明する。図１２は、説明のため、ノード２ｓとノード２ｄとを接続するprimary pathとsecondary pathのペアとしてのリンクコストの和を例示する図である。図１２に例示するネットワークにおいて、リンクに記載された数字は、リンク毎に与えられるコスト（リンクコスト）を示している。
【０１０６】
ノード２ｓからノード２ｄへの経路を計算した場合に、primary pathとして２つのパス候補（パス＃６，パス＃７）が計算されたとする。ここで、（１）の方法によれば、リンクコストの低い方であるパス＃６（リンクコスト「１」）がprimary pathとして選択され、それに応じてパス＃８（リンクコスト「１００」）がsecondary pathとして選択される。この場合、パス＃６とパス＃８のペアで考えた時のリンクコストの和は「１０１」である。
【０１０７】
一方、パス＃７（リンクコスト「５」）とパス＃９（リンクコスト「６」）のペアで考えた時のリンクコストの和は「１１」である。つまり、primary pathとsecondary pathのペアで考えた場合には、パス＃７およびパス＃９のペアの方が、目的関数（経路コストが最小）をより満足する経路ということになる。したがって、例えば障害発生等により、使用していたprimary pathからsecondary pathに切り替えた場合でも、より経路コストの小さいsecondary pathを利用することができる。
【０１０８】
図１３は、目的関数（経路コスト最小）に基づき、パス候補の中から経路コストの情報を用いて、primary pathとsecondary pathが選択された例を示す図である。図１３では、図１１に示すprimary pathとして作成されたパス＃１，パス＃２，パス＃３の中から、リンクコスト「８」のパス＃１が選択されている。また、パス＃１に対するsecondary pathとして作成されたパス＃４，パス＃５の中から、リンクコスト「１０」のパス＃５が選択されている。
【０１０９】
図５の説明に戻る。ステップＳ３１８で、目的関数に合うprimary pathとsecondary pathを選択したら、経路計算制御装置１Ａは、ステップＳ３０１で経路計算要求を送信してきたクライアント（ノード２ｓ）に結果を出力する（Ｓ３１９）。
【０１１０】
クライアント（ノード２ｓ）は、受信したprimary pathとsecondary pathの経路に基づいてprimary pathおよびsecondary pathの経路を決定する。そして、決定した経路を経路設定命令として、経路計算制御装置１Ａへ送信する。
【０１１１】
経路設定命令を受信した経路計算制御装置１Ａは、パス制御部１２６によって他の経路計算制御装置１へ経路設定命令を出力する。
【０１１２】
各経路計算制御装置１（１Ａ，１Ｂ，１Ｃ）のパス制御部１２６は、パス情報記憶部１３４を参照して、自ドメイン内の各ノード２へ経路設定命令を出力する。なお、この経路設定命令は、例えば、経路設定のためのシグナリングプロトコルにより行われる。
【０１１３】
なお、いずれかの経路計算制御装置１の経路計算部１２３における経路計算処理において、経路を発見できなかったときは計算を強制終了する。このとき、経路計算要求を送信してきたクライアントに、経路を発見できなかったことを通知するメッセージを出力し、始点ノードおよび終点ノードの再指定を促す画面を表示するようにしてもよい。
【０１１４】
本実施形態によれば、ドメインをまたぐ経路を計算する場合に、各ドメインの経路計算制御装置１が、自ドメイン内のprimary pathとsecondary pathの組み合わせであるパス候補とパス毎のメトリック和（例えば、リンクコスト和）を計算して送受信することで、始点ノードから終点ノードまでのprimary pathとsecondary pathの組み合わせのパス候補と経路のメトリック値を作成する。始点ノードから終点ノードまでのパス候補が作成できたら、経路計算制御装置１は、経路のメトリック値に基づいて、目的関数に合う始点ノードから終点ノードまでのprimary pathとsecondary pathを選択して、出力する。
【０１１５】
これによれば、従来、secondary pathが計算できない状態（block状態）で、再度primary pathから計算し直していたのに比べ、block状態の発生を無くし、経路計算制御装置同士の通信回数を減少することができる。また、始点ノードから終点ノードの経路の選択方法には、様々な目的関数を用いることができる。
【０１１６】
なお、本実施形態では、始点ノードがドメインＡに所属する場合を例として説明したが、例えば、ドメインＢに属する経路計算制御装置１Ｂに対して、ドメインＡのノード２ｓからドメインＣのノード２ｄ間の経路計算要求が入力されることも考えられる。その場合には、ドメインＢの経路計算制御装置１Ｂが、経路計算制御装置１Ｃおよび経路計算制御装置１Ａから受信したパス候補と経路のメトリック値に基づいて、始点ノード２ｓから終点ノード２ｄ間のprimary pathとsecondary pathを選択することで実現可能である。
【０１１７】
また、本実施形態では、ドメインＡ、ドメインＢ、ドメインＣの３つのドメインを備えるネットワークにおいて、１つのドメインを中継する経路を計算する場合を例に説明したが、中継するドメイン（中継ドメイン）の数は制限されない。ここでの中継ドメインとは、始点ノード２ｓおよび終点ノード２ｄを含まないドメインである。中継ドメインの経路計算制御装置１は、前記したドメインＢの経路計算制御装置１Ｂの処理（図４のステップＳ２２１〜Ｓ２２５）を行う。
【０１１８】
さらに、経路計算制御装置１の記憶部１３内に、経路のメトリック値における所定の範囲を予め指定しておき、経路計算制御装置１は、ステップＳ３１０，Ｓ３１４等の送信処理のときに、指定したメトリック値の範囲内のパス候補を他ドメインの経路計算制御装置１に送信することとしてもよい。これによれば、ネットワークの負荷と、経路計算制御装置１の処理の負荷を軽減させることができる。
【０１１９】
前記した実施の形態において、経路計算制御装置１は、各ドメイン内のノード２を一括して集中的に管理制御する目的で専用に使用するものとして説明したが、これに限らず、経路計算制御装置１をドメイン内の各ノード２に実装させることで、ノード２を管理制御するようにしてもよい。これによれば、処理が分散されるので、各経路計算制御装置の負荷が小さくなる。また、障害が起きた場合にも、対応が容易となる。
【０１２０】
また、経路計算が、できるだけメトリック値の大きい経路を探索することを目的としたものであれば、ポリシー記憶部１３３に格納する目的関数に設定することで、経路計算部１２３（図２参照）や経路選択部１２５（図２参照）は、パス毎のメトリック和や経路のメトリック値が最大となる経路を選択する。このようにすることで、経路計算制御装置１は、経路重複がなく、かつ、できるだけメトリック値の大きい経路を選択することができる。
【０１２１】
本実施の形態に係る経路計算制御装置１は、前記したような処理を実行させる経路計算制御プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の形態における経路計算制御装置を含むネットワークの構成例である。
【図２】図１の経路計算制御装置の構成を示したブロック図である。
【図３】ドメインをまたがるprimary pathおよびsecondary pathの経路を決定するための処理を概念的に示す図である。
【図４】経路計算制御装置１の動作を示したフローチャートである。
【図５】図３に示す経路計算制御装置１（１Ａ，１Ｂ，１Ｃ）の処理を示したシーケンス図である。
【図６】図３に示す経路計算制御装置１Ｃが計算したドメインＣのパス候補を例示する図である。
【図７】図３に示すドメインＣの経路計算制御装置１ＣからドメインＢの経路計算制御装置１Ｂへ送信するパス候補を例示する図である。
【図８】図３に示すドメインＢの経路計算制御装置１Ｂが計算したパス候補を例示する図である。
【図９】図３に示すドメインＢの経路計算制御装置１Ｂが作成したパス候補を例示する図である。
【図１０】図３に示すドメインＡの経路計算制御装置１Ａが計算したパス候補を例示する図である。
【図１１】図３に示す始点ノード２ｓから終点ノード２ｄ間のパス候補の例を示す図である。
【図１２】図３に示すノード２ｓとノード２ｄとを接続するprimary pathとsecondary pathのペアとしてのリンクコストの和を例示する図である。
【図１３】primary pathとsecondary pathを選択した例を示す図である。
【図１４】本発明の課題を説明するために引用した図である。
【符号の説明】
【０１２３】
１（１Ａ，１Ｂ，１Ｃ）  経路計算制御装置
２      ノード
１１    入出力部
１２    処理部
１２１  ルーティング情報取得部
１２２  ノード判別部
１２３  経路計算部
１２４  経路接続部
１２５  経路選択部
１２６  パス制御部
１３    記憶部
１３１  ルーティング情報記憶部
１３２  ドメイン情報記憶部
１３３  ポリシー記憶部
１３４  パス情報記憶部
１４    通信部
１４１  経路計算要求送受信部
【図１】
2008206095.tif 000006
【図２】
2008206095.tif 000007
【図３】
2008206095.tif 000008
【図４】
2008206095.tif 000009
【図５】
2008206095.tif 000010
【図６】
2008206095.tif 000011
【図７】
2008206095.tif 000012
【図８】
2008206095.tif 000013
【図９】
2008206095.tif 000014
【図１０】
2008206095.tif 000015
【図１１】
2008206095.tif 000016
【図１２】
2008206095.tif 000017
【図１３】
2008206095.tif 000018
【図１４】
2008206095.tif 000019