(57)【要約】【課題】経路上で異常が発生した場合でもリンク状態を収集可能とするデータ転送制御装置、データ転送制御方法、及び、プログラムを提供する。【解決手段】経路計算部１３Ａは、トポロジとリンクの遅延とに基づいて、収容先ＧＷ装置を出口とする主信号経路と迂回用経路を特定する。そして、ラベル値割当部１３Ｂは、主信号経路に対して、同一のラベル値を割り当てると共に、迂回用経路に対して、主信号経路のラベル値とは異なる別々のラベル値をそれぞれ割り当る。そして、ルール生成部１３Ｄは、迂回用ラベル値管理テーブル用ルールを生成し、配布対象のＧＷ装置に送信する。【選択図】図２
2015192386.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延を管理している管理情報を格納する記憶手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定する第１の経路特定手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定する第２の経路特定手段と、
前記第１の転送経路に対して、同一の経路識別情報を割り当てる第１の割当手段と、
前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当てる第２の割当手段と、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てられた前記経路識別情報を含む第１のルールを生成し、生成した前記第１のルールを対応する前記転送元の前記中継装置に送信する第１のルール生成手段と、
を備える、
ことを特徴とするデータ転送制御装置。
【請求項２】
前記第２の割当手段は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る前記第２の転送経路における経路部分が同一の経路に対して、同一の前記経路識別情報を割り当てる、
ことを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記第１の転送経路と前記第２の転送経路とに基づいて、前記中継装置毎に、当該中継装置の前記第１の転送経路と前記第２の転送経路におけるそれぞれの転送先となる前記中継装置の前記装置識別情報と、対応する前記第１の転送経路と前記第２の転送経路にそれぞれ割り当てられた前記経路識別情報と、を対応付けた情報を含む第２のルールを生成し、生成した前記第２のルールを対応する前記中継装置に送信する第２のルール生成手段と、
前記中継装置が生成した前記リンク状態を示す前記情報に、前記第１の転送経路に対して割り当てられた前記経路識別情報を付与させるための第３のルールを生成し、生成した前記第３のルールを各中継装置に送信する第３のルール生成手段と、
を、更に、備える、
ことを特徴とする請求項１又は２に記載のデータ転送制御装置。
【請求項４】
前記第２の転送経路は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る経路部分が、各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする請求項１乃至３のいずれか一に記載のデータ転送制御装置。
【請求項５】
前記第１の転送経路は、主信号の転送経路としても利用される、
ことを特徴とする請求項１乃至４のいずれか一に記載のデータ転送制御装置。
【請求項６】
前記第１の転送経路は、前記入口から前記出口に至る各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする請求項１乃至５のいずれか一に記載のデータ転送制御装置。
【請求項７】
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のデータ転送制御方法であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定し、
特定した前記第１の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
ことを特徴とするデータ転送制御方法。
【請求項８】
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のコンピュータに、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定し、
特定した前記第１の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
処理を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、データ転送制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、オーバレイネットワークが急速に普及している。これは、オーバレイネットワークにより、セキュリティの強化、サービス品質の向上、信頼性の向上などを図ることが可能となるからである。
【０００３】
また、オーバレイネットワークの経路として、最適経路を維持するための技術の研究が進められている（例えば、特許文献１を参照）。以降では、オーバレイネットワークとして、ゲートウェイ装置がコネクションを終端し、メッセージヘッダやボディ（つまりデータ）に応じて転送経路を決める、アプリケーションレイヤのオーバレイネットワークを想定する。
【０００４】
このオーバレイネットワークの最適経路を維持するためには、経路制御を行うデータ転送制御装置が、オーバレイネットワークを構成するゲートウェイ装置間のリンク状態を、各ゲートウェイ装置から、定期的に収集する必要がある。ここで言うリンク状態とは、ゲートウェイ装置間のＴＣＰコネクションの遅延や残帯域である。
【０００５】
データ転送制御装置が、オーバレイネットワークを構成する全てのゲートウェイ装置からリンク状態を直接収集すると、データ転送制御装置の負荷が非常に高くなってしまう。つまり、コネクション数が非常に多いことが問題となる。例えば、ゲートウェイ装置の数が１０００台の場合には、１０００コネクションが、データ転送制御装置に定期的に来ることとなる。一般的にコネクション数が数千〜万規模になると装置パフォーマンスが著しく劣化することから、これはスケールの観点で問題となる。
【０００６】
コネクション数を削減する為に、データ転送制御装置がリンク状態を収集する際にも、上記オーバレイネットワーク上の経路に沿って、ゲートウェイ装置経由でリンク状態を転送することが考えられる。この方法によれば、データ転送制御装置は、どのゲートウェイからリンク状態を受信する際も、経路上の最終ホップとなるゲートウェイ装置との間に最低1本のコネクションを張れば良い為、コネクション数の問題は解消できる。
【０００７】
しかしながら、オーバレイネットワーク上の経路に沿って、ゲートウェイ装置経由でリンク状態を転送する途中で、遅延やＧＷ故障などの異常が発生した場合に、データ転送制御装置にリンク状態が到達しない。そのため、データ転送制御装置は、ゲートウェイ装置間の異常発生を検知できず、最適経路を維持し続けられないという問題がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１０４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一つの側面では、本発明は、経路上で異常が発生した場合でもリンク状態を収集可能とするデータ転送制御装置、データ転送制御方法、及び、プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
一態様に係るデータ転送制御装置は、ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置であって、前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延を管理している管理情報を格納する記憶手段と、前記トポロジと前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定する第１の経路特定手段と、前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定する第２の経路特定手段と、前記第１の転送経路に対して、同一の経路識別情報を割り当てる第１の割当手段と、前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当てる第２の割当手段と、転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てられた前記経路識別情報を含む第１のルールを生成し、生成した前記第１のルールを対応する前記転送元の前記中継装置に送信する第１のルール生成手段と、を備える。
【発明の効果】
【００１１】
経路上で異常が発生した場合でもリンク状態を収集可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態におけるネットワークシステムの構成例を示す図である。
【図２】実施形態におけるネットワークシステムを構成するＧＷコントローラの構成例を示す機能ブロック図である。
【図３】実施形態におけるトポロジ／リンク状態管理テーブルの例を示す図である。
【図４】実施形態におけるＧＷアドレス管理テーブルの例を示す図である。
【図５】実施形態における入口・出口管理テーブルの例を示す図である。
【図６】実施形態における購読管理テーブルの例を示す図である。
【図７】実施形態におけるアプリ収容先ＧＷ管理テーブルの例を示す図である。
【図８】実施形態における主信号ラベルパス情報テーブルの例を示す図である。
【図９】実施形態における迂回用ラベルパス情報テーブルの例を示す図である。
【図１０】実施形態における空きラベル値管理テーブルの例を示す図である。
【図１１】実施形態におけるネットワークシステムを構成するゲートウェイ装置の構成例を示す機能ブロック図である。
【図１２】実施形態における主信号転送テーブルの例を示す図である。
【図１３】実施形態における主信号用アドレス解決テーブルの例を示す図である。
【図１４】実施形態におけるログ転送テーブルの例を示す図である。
【図１５】実施形態におけるログ用アドレス解決テーブルの例を示す図である。
【図１６】実施形態における迂回用ラベル値管理テーブルの例を示す図である。
【図１７】実施形態における峻別テーブルの例を示す図である。
【図１８】実施形態におけるアプリ振分テーブルの例を示す図である。
【図１９】実施形態における主信号ラベルパス生成処理のフローを説明するためのフローチャートの例である。
【図２０】実施形態における迂回用ラベルパス生成処理のフローを説明するためのフローチャートの例の第一部である。
【図２１】実施形態における迂回用ラベルパス生成処理のフローを説明するためのフローチャートの例の第二部である。
【図２２】実施形態における迂回用ラベルパス生成処理のフローを説明するためのフローチャートの例の第三部である。
【図２３】実施形態における峻別ルール等送信処理のフローを説明するためのフローチャートの例である。
【図２４】実施形態におけるログ転送処理のフローを説明するためのフローチャートの例の一部である。
【図２５】実施形態におけるログ転送処理のフローを説明するためのフローチャートの例の他の一部である。
【図２６】実施形態におけるネットワークシステムでの正常時のログ転送の流れを示す具体例である。
【図２７】実施形態におけるネットワークシステムでの障害発生時のログ転送の流れを示す具体例である。
【図２８】実施形態における迂回用ラベルパス情報テーブルの他の例を示す図である。
【図２９】実施形態におけるログ転送処理のフローを説明するためのフローチャートの他の例の一部である。
【図３０】実施形態におけるＧＷコントローラとゲートウェイ装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１３】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
まず、図１を参照して、本実施形態におけるネットワークシステム１００について説明する。図１は、本実施形態におけるネットワークシステム１００の構成例を示す図である。
【００１４】
ネットワークシステム１００は、本システムを構成するゲートウェイ装置（以下、ＧＷ装置という）２０間の遅延等のリンク状態に応じて、最適経路を維持するオーバレイネットワークシステムの一例である。ネットワークシステム１００は、図１に示すように、データ転送制御装置（以下、ＧＷコントローラという）１０と、複数のＧＷ装置２０と、複数の機器３０と、複数のアプリケーションサービス提供サーバ（以下、ＳＡサーバという）４０、を含んで構成されている。なお、以下において、特定のＧＷ装置２０を表わす場合には、ＧＷ装置２０を一意に識別可能な識別子（例えば、装置ＩＤ（IDentification））ＧＷｋ（ｋ＝１，２，・・・）を付して、ＧＷ装置ＧＷ１などと称することとする。
【００１５】
ネットワークシステム１００を構成する装置間には、リンクが存在しており、図１では、リンクを実線で表している。
【００１６】
ここで、リンクは、ＴＣＰコネクションまたはＵＤＰの疑似的なコネクションなどの、論理的なリンクのことである。リンクは、無線回線や有線回線などの1ホップの物理回線上に作られていても良いし、1以上のルータを経由していても良い。
【００１７】
例えば、図１を参照して、ＧＷ装置ＧＷ１とＧＷ装置ＧＷ２とが、他のＧＷ装置２０による中継を経ることなく、直接、通信可能な場合に、「ＧＷ装置ＧＷ１とＧＷ装置ＧＷ２との間にリンクが存在する」という。ＧＷ装置ＧＷ１とＧＷ装置ＧＷ２は、このリンク経由でデータ通信を行う。リンクの負荷や状態は、動的に変化する。例えば、ＧＷ装置２０などの装置が可動式であれば、装置間の距離の変動によって、ＧＷ装置２０間のＩＰの経路を構成する経路が変化した結果、リンク経由の通信の遅延時間が変わることもある。また、例えば、震災に伴うケーブルの切断等の障害が起きた結果、特定リンクを通じた通信ができなくなることもある。また、例えば、インターネット上であるユーザが動画視聴を行った結果、特定のルータ間の帯域が枯渇し、そのルータを通るコネクション経由のデータ転送の遅延時間（ＧＷ装置やルータによる送信待ち時間）が著しく増大することもある。
【００１８】
機器３０は、フィールドＦＬＤに設置され、例えば、電力メータ等のセンサ類から情報を収集し、収集した情報を送信する装置である。ＳＡサーバ４０は、データセンタＤＣ内に設置され、機器３０から収集した情報の解析、解析結果の提供などを行う装置である。
【００１９】
図２は、本実施形態におけるネットワークシステム１００を構成するＧＷコントローラ１０の構成例を示す機能ブロック図である。
【００２０】
ＧＷコントローラ１０は、ネットワークシステム１００を構成するＧＷ装置２０のデータ転送を制御するデータ転送制御装置であり、図２に示すように、通信部１１と、記憶部１２と、制御部１３と、を備えて構成されている。
【００２１】
通信部１１は、通信モジュールなどで構成され、各ＧＷ装置２０との間で通信を行う。例えば、通信部１１は、各ＧＷ装置２０に対して、データの転送先ＧＷ装置２０を指定する転送ルール（詳しくは後述）などを送信する。
【００２２】
記憶部１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリなどで構成されている。記憶部１２は、制御部１３を構成する、例えば、ＭＰＵ（Micro-Processing Unit）のワークエリア、ＧＷコントローラ１０全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述のトポロジ／リンク状態管理テーブルＴ１などのテーブルなど、各種データを格納するデータエリアとして機能する。
【００２３】
ここで、図３乃至図１０を参照して、記憶部１２のデータエリアに格納されているトポロジ／リンク状態管理テーブルＴ１などのテーブルについて説明する。
【００２４】
図３は、本実施形態におけるトポロジ／リンク状態管理テーブルＴ１の例を示す図であり、初期状態を表わしている。
【００２５】
トポロジ／リンク状態管理テーブルＴ１は、更新部１３Ｅ（詳しくは後述）などにより管理され、ネットワークシステム１００を構成するＧＷ装置２０がどのような位置関係で接続されているかを表すトポロジとＧＷ装置２０間に存在する各リンクの遅延（以下、リンク遅延という）を管理しているテーブルである。本実施形態におけるトポロジ／リンク状態管理テーブルＴ１は、図３に示すように、各ＧＷ装置２０間に存在するリンク毎に、リンク遅延（単位：ｍｓ）が対応付けられているテーブルである。ここで、リンク遅延は、例えば、リンクを構成するＧＷ装置２０間の往復遅延の計測結果であり、この往復遅延は、例えば、ＰＩＮＧコマンドを用いて、各ＧＷ装置２０により計測される。各ＧＷ装置２０は、リンク遅延などのリンク状態を収集し、収集したリンク状態をログとして指定されている転送先ＧＷ装置２０に送信することで、ＧＷコントローラ１０に届ける。
【００２６】
なお、トポロジ／リンク状態管理テーブルＴ１の初期設定は、例えば、ネットワークシステム１００の管理者が行ってもよいし、ネットワークシステム１００の運用開始時のみの限定で、各ＧＷ装置２０が計測したリンク遅延などを含むログをＧＷコントローラ１０に直接送信させ、ＧＷコントローラ１０の更新部１３Ｅが、収集したリンク遅延に基づいて、トポロジ／リンク状態管理テーブルＴ１を初期設定するように構成してもよい。
【００２７】
図４は、本実施形態におけるＧＷアドレス管理テーブルＴ２の例を示す図である。ＧＷアドレス管理テーブルＴ２は、ネットワークシステム１００を構成する各ＧＷ装置２０のアドレスを管理しているテーブルであり、図４に示すように、ＧＷ装置２０の識別子ＧＷｋと、当該ＧＷ装置２０のＩＰ（Internet Protocol）アドレスと、が対応付けられているテーブルである。
【００２８】
図５は、本実施形態における入口・出口管理テーブルＴ３の例を示す図である。入口・出口管理テーブルＴ３は、入口ＧＷ装置２０と出口ＧＷ装置２０を管理しているテーブルであり、図５に示すように、ＧＷ装置２０の識別子ＧＷｋと、入口ＧＷ装置２０か否かを示す入口フラグと、出口ＧＷ装置２０か否かを示す出口フラグと、が対応付けられているテーブルである。なお、本実施形態においては、入口フラグのフラグ値が“１”の場合に、入口ＧＷ装置２０であることを示し、同様に、出口フラグのフラグ値が“１”の場合に、出口ＧＷ装置２０であることを示すものとする。つまり、図５の例では、図１に示すネットワークシステム１００を構成する全ＧＷ装置２０が、入口ＧＷ装置２０であり、且つ、出口ＧＷ装置２０であることを示している。
【００２９】
ここで、入口ＧＷ装置２０は、例えば、機器３０から最初にデータを受け取るＧＷ装置２０である。また、例えば、ログの生成元のＧＷ装置２０である。すなわち、本実施形態においては、全ＧＷ装置２０が、入口ＧＷ装置２０として機能するものと想定している。出口ＧＷ装置２０は、例えば、機器３０、又は、ＳＡサーバ４０の直前に設置されているＧＷ装置２０である。
【００３０】
図６は、本実施形態における購読管理テーブルＴ４の例を示す図である。購読管理テーブルＴ４は、ＧＷコントローラ１０とＳＡサーバ４０のそれぞれが収集対象とするデータの種別（以下、データ種別）と、そのデータ種別に属するデータの送信先アドレスを管理しているテーブルであり、管理者により予め設定される。
【００３１】
購読管理テーブルＴ４は、図６に示すように、アプリＩＤと、データ種別と、アドレスと、が対応付けられているテーブルである。アプリＩＤは、データを収集するＧＷコントローラ１０（又は、各ＳＡサーバ４０）を一意に識別可能な識別子であり、例えば、装置ＩＤである。アドレスは、ＧＷコントローラ１０（又は、各ＳＡサーバ４０）が収集対象とするデータの送信先ＵＲＬ（Uniform Resource Locator）である。
【００３２】
なお、図６中の「ｇｗ＿ｃｔｌ」、「ｔｙｐｅ＝ｌｏｇ」、「http://gw_ctl/log」は、それぞれ、ＧＷコントローラ１０の装置ＩＤ、ＧＷコントローラ１０が収集対象とするデータがログであること、ログの送信先ＵＲＬ、を示している。
【００３３】
図７は、本実施形態におけるアプリ収容先ＧＷ管理テーブルＴ５の例を示す図である。アプリ収容先ＧＷ管理テーブルＴ５は、ＧＷコントローラ１０とＳＡサーバ４０の直前に設置されているＧＷ装置２０である収納先ＧＷ装置２０を管理しているテーブルであり、図７に示すように、アプリＩＤと、収納先ＧＷ装置２０の識別子ＧＷｋと、が対応付けられているテーブルである。図７の例では、ＧＷコントローラ１０の収納先ＧＷ装置２０は、ＧＷ装置ＧＷ１であることを示している。
【００３４】
図８は、本実施形態における主信号ラベルパス情報テーブルＴ６の例を示す図である。主信号ラベルパス情報テーブルＴ６は、経路計算部１３Ａ（詳しくは後述）とラベル値割当部１３Ｂ（詳しくは後述）により管理され、入口ＧＷ装置２０と出口ＧＷ装置２０とのペア（以下、入口／出口ペアという）毎に、主信号用の最適経路を管理しているテーブルである。
【００３５】
主信号ラベルパス情報テーブルＴ６は、図８に示すように、入口／出口ペア毎に、主信号経路Ｐ１と、主信号ラベル値と、が対応付けられているテーブルである。
【００３６】
主信号は、アプリケーションサービスを提供する際に発生する、機器３０又はＳＡサーバ４０により送信されるデータ（信号）であり、例えば、機器３０がセンサ類から取得した情報のデータである。
【００３７】
主信号経路Ｐ１は、リンク遅延、揺らぎ、帯域などのパラメータに基づいて、経路計算部１３Ａにより計算された主信号用の最適経路であると共に、詳しくは後述するが、正常時におけるログ用の経路としても利用される。
【００３８】
例えば、図８を参照して、入口ＧＷ装置ＧＷ４と出口ＧＷ装置ＧＷ１との入口／出口ペアにおける最適経路（主信号経路Ｐ１）は、ＧＷ装置ＧＷ４、ＧＷ装置ＧＷ３、ＧＷ装置ＧＷ２、ＧＷ装置ＧＷ１の順にＧＷ装置２０を経由する経路であることを示している。なお、以下において、経路を表わす場合には、経路{ＧＷ４，ＧＷ３，ＧＷ２，ＧＷ１}の様に表すこととする。経路{ＧＷ４，ＧＷ３，ＧＷ２，ＧＷ１}は、ＧＷ装置ＧＷ４、ＧＷ装置ＧＷ３、ＧＷ装置ＧＷ２、ＧＷ装置ＧＷ１の順にＧＷ装置２０を経由する経路である。
【００３９】
主信号ラベル値は、ラベル値割当部１３Ｂにより割り当てられた主信号経路Ｐ１のラベル値である。本実施形態では、図８に示すように、出口ＧＷ装置２０毎にラベル値が割り当てられるものとする。このように構成することで、メモリ資源を削減し、ＧＷ装置２０の低コスト化を図っている。なお、以下において、ラベル値が割り当てられている経路を、ラベルパスと称することもある。
【００４０】
図９は、本実施形態における迂回用ラベルパス情報テーブルＴ７の例を示す図である。迂回用ラベルパス情報テーブルＴ７は、経路計算部１３Ａとラベル値割当部１３Ｂにより管理され、ＧＷコントローラ１０の収容先ＧＷ装置２０以外のＧＷ装置２０の中から、障害などの異常によりデータ転送ができないＧＷ装置２０を一つ仮定し、この場合におけるログ用の迂回路として最適な経路（以下、迂回用経路という）Ｐ２を管理しているテーブルである。なお、以下において、異常によりデータ転送ができないＧＷ装置２０を、異常ＧＷ装置２０と称し、異常ＧＷ装置２０と仮定するＧＷ装置２０を、異常仮定ＧＷ装置２０と称することとする。
【００４１】
迂回用ラベルパス情報テーブルＴ７は、図９に示すように、入口／出口ペア毎に、主信号ラベル値と、異常仮定ＧＷ装置２０の識別子ＧＷｋと、その場合の迂回用経路Ｐ２と、迂回用ラベル値と、が対応つけられているテーブルである。
【００４２】
主信号ラベル値は、図９に示すように、迂回用ラベルパス情報テーブルＴ７で管理されている入口／出口ペアの出口ＧＷ装置２０がＧＷ装置ＧＷ１のみであることから、全て同じ値となる。これは、上述したように、ログを収集するＧＷコントローラ１０の収納先ＧＷ装置２０がＧＷ装置ＧＷ１であることから、迂回用ラベルパス情報テーブルＴ７では、出口ＧＷ装置２０としてＧＷ装置ＧＷ１のみを考慮すればよいからである。
【００４３】
異常仮定ＧＷ装置２０は、上述したように、異常の発生を仮定したＧＷ装置２０であり、本実施形態においては、入口ＧＷ装置２０と出口ＧＷ装置２０以外のＧＷ装置２０を異常仮定ＧＷ装置２０とする。これは、ＧＷコントローラ１０の収納先ＧＷ装置２０であるＧＷ装置ＧＷ１は、図１に示すように、データセンタＤＣ内に設置されており、通常冗長化されていることから、ＧＷ装置ＧＷ１（ＧＷコントローラ１０の収納先ＧＷ装置２０）の異常を考慮する必要はないからである。
【００４４】
なお、迂回用ラベルパス情報テーブルＴ７で管理されている入口／出口ペアの各主信号経路Ｐ1における中継ＧＷ装置２０のみを異常仮定ＧＷ装置２０とするように構成してもよい。このように構成することで、異常仮定ＧＷ装置２０に、実際、異常が発生した際に影響を受けない主信号経路Ｐ1を除外し、エントリ数を削減することが可能となり、メモリ資源を有効活用することが可能となる。
【００４５】
中継ＧＷ装置２０は、ここでは、入口ＧＷ装置２０と出口ＧＷ装置２０以外の経路上のＧＷ装置２０であり、例えば、図８を参照して、入口ＧＷ装置ＧＷ４と出口ＧＷ装置ＧＷ１との入口／出口ペアに対応する主信号経路Ｐ１の中継ＧＷ装置２０は、ＧＷ装置ＧＷ３とＧＷ装置ＧＷ２である。
【００４６】
迂回用経路Ｐ２は、異常仮定ＧＷ装置２０に、実際、異常が発生した際のログ用の迂回経路であり、異常仮定ＧＷ装置２０に異常が発生したものとして、リンク遅延のみに基づいて、経路計算部１３Ａにより計算される。例えば、異常仮定ＧＷ装置２０をＧＷ装置ＧＷ２とした場合の、入口ＧＷ装置ＧＷ３と出口ＧＷ装置ＧＷ１との入口／出口ペアにおける迂回用経路Ｐ２は、経路｛ＧＷ３,ＧＷ４,ＧＷ６,ＧＷ１｝となる。なお、迂回用経路Ｐ２の特定方法については、詳しく後述する。
【００４７】
迂回用ラベル値は、ラベル値割当部１３Ｂにより各迂回用経路Ｐ２に対して割り当てられるラベル値であり、正常時に利用する主信号経路Ｐ１の中継ＧＷ装置２０が異常仮定ＧＷ装置２０である場合には、主信号ラベル値とは異なるラベル値が、迂回用ラベル値として割り当てられる。
【００４８】
例えば、図９を参照して、異常仮定ＧＷ装置２０をＧＷ装置ＧＷ２とした場合、入口ＧＷ装置ＧＷ３と出口ＧＷ装置ＧＷ１との入口／出口ペアにおける迂回用経路Ｐ２の迂回用ラベル値として、主信号ラベル値Ｌ１とは異なるラベル値Ｌ７が割り当てられる。また、例えば、同じく異常仮定ＧＷ装置２０をＧＷ装置ＧＷ２とした場合、入口ＧＷ装置ＧＷ５と出口ＧＷ装置ＧＷ１との入口／出口ペアにおける迂回用経路Ｐ２の迂回用ラベル値として、主信号ラベル値と同じラベル値Ｌ１が割り当てられる。これは、異常仮定ＧＷ装置ＧＷ２に、実際、異常が発生したとしても、ＧＷ装置ＧＷ２は主信号経路Ｐ１の経路上にないことから、ログ転送には影響がないからである。
【００４９】
図１０は、本実施形態における空きラベル値管理テーブルＴ８の例を示す図である。空きラベル値管理テーブルＴ８は、ラベル値割当部１３Ｂにより管理され、割り当てられていないラベル値（以下、空きラベル値という）を管理しているテーブルであり、図１０に示すように、ラベル値毎に使用中フラグが対応付けられているテーブルである。
【００５０】
使用中フラグは、対応するラベル値が空きラベル値か否かを示すフラグであり、本実施形態においては、フラグ値“１”は、使用中のラベル値であることを示し、フラグ値“０”は、空きラベル値であることを示すものとする。
【００５１】
図２に戻り、制御部１３は、例えば、ＭＰＵなどで構成され、記憶部１２のプログラムエリアに格納されている動作プログラムを実行して、図２に示すように、経路計算部１３Ａと、ラベル値割当部１３Ｂと、データ・ラベルＭＡＰ処理部１３Ｃと、ルール生成部１３Ｄと、更新部１３Ｅとしての機能を実現すると共に、ＧＷコントローラ１０全体を制御する制御処理や詳しくは後述の主信号ラベルパス生成処理などの処理を実行する。
【００５２】
経路計算部１３Ａは、主信号経路Ｐ１を特定する。より具体的には、経路計算部１３Ａは、所定のタイミングが到来すると、トポロジ／リンク状態管理テーブルＴ１を参照して、ネットワークシステム１００を構成するＧＷ装置２０のトポロジとリンクが存在する各ＧＷ装置２０間のリンク遅延の情報（以下、トポロジ／リンク情報という）を取得する。この際、経路計算部１３Ａは、必要に応じて、揺らぎや帯域などの他のパラメータを取得する。
【００５３】
そして、経路計算部１３Ａは、入口・出口管理テーブルＴ３を参照して、全入口／出口ペアを特定し、少なくともトポロジ／リンク情報に基づいて、特定した全入口／出口ペアに対し、主信号経路Ｐ１を計算する。そして、経路計算部１３Ａは、入口／出口ペア毎に特定した主信号経路Ｐ１を対応付けて主信号ラベルパス情報テーブルＴ６に格納する。
【００５４】
ここで、所定のタイミングとしては、ネットワークシステム１００の運用開始時、管理者によるＧＷ装置２０の追加や削除などのトポロジ変更時、ＧＷコントローラ１０によるＧＷ装置２０の異常検知時、ＧＷコントローラ１０によるリンク遅延の変化検知時などが想定される。
【００５５】
また、経路計算部１３Ａは、迂回用経路Ｐ２を特定する。より具体的には、経路計算部１３Ａは、所定のタイミングが到来すると、トポロジ／リンク状態管理テーブルＴ１を参照して、トポロジ／リンク情報を取得する。そして、経路計算部１３Ａは、アプリ収容先ＧＷ管理テーブルＴ５を参照して、自ＧＷコントローラ１０の収容先ＧＷ装置２０を特定し、特定した収容先ＧＷ装置２０を除くＧＷ装置２０の中から、未選択のＧＷ装置２０を一つ異常仮定ＧＷ装置２０として選択する。
【００５６】
そして、経路計算部１３Ａは、入口・出口管理テーブルＴ３を参照して、選択した異常仮定ＧＷ装置２０がトポロジに存在しない場合の、特定した収容先ＧＷ装置２０を出口ＧＷ装置２０とする全入口／出口ペアを特定する。そして、経路計算部１３Ａは、特定した全入口／出口ペアに対応する主信号経路Ｐ１の内で、選択した異常仮定ＧＷ装置２０に異常が発生しても影響を受けない主信号経路Ｐ１については、その主信号経路Ｐ１を迂回用経路Ｐ２として特定する。一方、影響を受ける主信号経路Ｐ１、すなわち、その経路上に選択した異常仮定ＧＷ装置２０が存在する主信号経路Ｐ１については、取得したトポロジ／リンク情報に基づいて、選択した異常仮定ＧＷ装置２０の直前のＧＷ装置２０から出口ＧＷ装置２０（特定した収容先ＧＷ装置２０）までの最適経路（最小リンク遅延経路）を計算して、迂回用経路Ｐ２を特定する。そして、経路計算部１３Ａは、入口／出口ペア毎に特定した迂回用経路Ｐ２を対応付けて迂回用ラベルパス情報テーブルＴ７に格納する。
【００５７】
例えば、図３と図８と図９を参照して、異常仮定ＧＷ装置２０がＧＷ装置ＧＷ２の場合において、入口ＧＷ装置ＧＷ４と出口ＧＷ装置ＧＷ１との入口／出口ペアに対応する主信号経路Ｐ１は、経路｛ＧＷ４,ＧＷ３,ＧＷ２,ＧＷ１｝であり、異常仮定ＧＷ装置ＧＷ２が経路上に存在している。したがって、経路計算部１３Ａは、異常仮定ＧＷ装置ＧＷ２の直前のＧＷ装置ＧＷ３から出口ＧＷ装置ＧＷ１までの最適経路（最小リンク遅延経路）を計算し、経路｛ＧＷ３,ＧＷ４,ＧＷ６,ＧＷ１｝を求め、経路｛ＧＷ４,ＧＷ３,ＧＷ４,ＧＷ６,ＧＷ１｝を迂回用経路Ｐ２として特定する。
【００５８】
ここで、トポロジ／リンク情報（リンク遅延）のみに基づいて迂回用経路Ｐ２を計算するのは、迂回用経路Ｐ２はログ用の経路であり、ログは所定の遅延時間内にＧＷコントローラ１０に届けばよいからである。迂回用経路Ｐ２を計算する所定のタイミングは、主信号経路Ｐ１における所定のタイミングと基本的には同じである。但し、迂回用経路Ｐ２を計算する前に、主信号経路Ｐ１が計算され、ＧＷコントローラ１０によるＧＷ装置２０の異常検知時、及び、リンク遅延の変化検知時においては、迂回用経路Ｐ２の計算頻度は、主信号経路Ｐ１の計算頻度より少なくてもよい。つまり、ＧＷコントローラ１０によるＧＷ装置２０の異常検知時、及び、リンク遅延の変化検知時においては、毎回、迂回用経路Ｐ２を計算しなくてもよい。これは、ログについては迂回用経路Ｐ２を予め用意しているからである。
【００５９】
ラベル値割当部１３Ｂは、経路計算部１３Ａにより特定された主信号経路Ｐ１に対して、ラベル値を割り当てる。より具体的には、ラベル値割当部１３Ｂは、主信号ラベルパス情報テーブルＴ６を参照して、未選択の入口／出口ペアを一つ選択し、出口ＧＷ装置２０の識別子ＧＷｋをキーとして主信号ラベルパス情報テーブルＴ６を検索して、選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に有る否かを判定する。
【００６０】
選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に有る場合には、ラベル値割当部１３Ｂは、更に、主信号ラベル値をキーとして主信号ラベルパス情報テーブルＴ６を検索して、選択した入口／出口ペアと出口ＧＷ装置２０が同じ他の入口／出口ペアの中に、対応する主信号経路Ｐ１に対してラベル値が既に割り当てられている入口／出口ペアが有るか否かを判定する。
【００６１】
そして、ラベル値が既に割り当てられている入口／出口ペアが有る場合には、ラベル値割当部１３Ｂは、その入口／出口ペアと同じラベル値を、主信号ラベル値として、選択した入口／出口ペアの主信号経路Ｐ１に割り当てる。
【００６２】
一方、選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に無い場合、あるいは、選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に有るが、その中に、ラベル値が既に割り当てられている入口／出口ペアが無い場合には、ラベル値割当部１３Ｂは、空きラベル値管理テーブルＴ８を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“１”に設定する。そして、ラベル値割当部１３Ｂは、選択したラベル値を、主信号ラベル値として、選択した入口／出口ペアの主信号経路Ｐ１に割り当てる。
【００６３】
そして、ラベル値割当部１３Ｂは、割り当てた主信号ラベル値を選択した入口／出口ペアの主信号経路Ｐ１に対応付けて、主信号ラベルパス情報テーブルＴ６に格納する。
【００６４】
また、ラベル値割当部１３Ｂは、経路計算部１３Ａにより特定された迂回用経路Ｐ２に対して、ラベル値を割り当てる。より具体的には、ラベル値割当部１３Ｂは、迂回用ラベルパス情報テーブルＴ７を参照して、異常仮定ＧＷ装置２０を一つ選択し、選択した異常仮定ＧＷ装置２０に対応する入口ＧＷ装置２０の中から一つ選択する。すなわち、ラベル値割当部１３Ｂは、自ＧＷコントローラ１０の収納先ＧＷ装置２０と選択した異常仮定ＧＷ装置２０を除く入口ＧＷ装置２０の中から一つ選択する。
【００６５】
そして、ラベル値割当部１３Ｂは、迂回用ラベルパス情報テーブルＴ７を参照して、対応する迂回用経路Ｐ２を特定すると共に、対応する主信号ラベル値を取得する。そして、ラベル値割当部１３Ｂは、主信号ラベルパス情報テーブルＴ６と迂回用ラベルパス情報テーブルＴ７を参照して、特定した迂回用経路Ｐ２は、対応する主信号経路Ｐ１と同一経路か否かを判定する。
【００６６】
特定した迂回用経路Ｐ２と対応する主信号経路Ｐ１とが同一経路の場合には、ラベル値割当部１３Ｂは、取得した主信号ラベル値と同じラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる。
【００６７】
一方、特定した迂回用経路Ｐ２と対応する主信号経路Ｐ１とが同一経路では無い場合には、ラベル値割当部１３Ｂは、更に、迂回用ラベルパス情報テーブルＴ７を参照して、選択した異常仮定ＧＷ装置２０に対応する選択した入口ＧＷ装置２０以外の入口ＧＷ装置２０の中に、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０が有るか否かを判定する。
【００６８】
そして、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０が有る場合には、ラベル値割当部１３Ｂは、主信号ラベル値とは異なるそのラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる。
【００６９】
一方、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０が無い場合には、ラベル値割当部１３Ｂは、空きラベル値管理テーブルＴ８を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“１”に設定する。そして、ラベル値割当部１３Ｂは、選択したラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる。
【００７０】
そして、ラベル値割当部１３Ｂは、割り当てた迂回用ラベル値を特定した迂回用経路Ｐ２に対応付けて、迂回用ラベルパス情報テーブルＴ７に格納する。
【００７１】
データ・ラベルＭＡＰ処理部１３Ｃは、自ＧＷコントローラ１０とＳＡサーバ４０が収集対象とするデータ種別毎に、データとラベル値とを対応付ける処理などを行う。より具体的には、データ・ラベルＭＡＰ処理部１３Ｃは、購読管理テーブルＴ４を参照して、登録されている情報（以下、購読条件情報という）を取得すると共に、アプリ収容先ＧＷ管理テーブルＴ５を参照して、登録されている情報（以下、収容先ＧＷ情報という）を取得する。
【００７２】
そして、データ・ラベルＭＡＰ処理部１３Ｃは、取得した購読条件情報と収容先ＧＷ情報とに基づいて、データ種別毎に対応する収容先ＧＷ装置２０をそれぞれ特定し、特定した収容先ＧＷ装置２０それぞれに対し、主信号ラベルパス情報テーブルＴ６を参照して、収容先ＧＷ装置２０を出口ＧＷ装置２０として、対応する主信号ラベル値を特定する。データ・ラベルＭＡＰ処理部１３Ｃは、このようにして、データ種別毎にデータと主信号ラベル値とを対応付ける。
【００７３】
例えば、図６と図７を参照して、データ種別がログの場合には、データ・ラベルＭＡＰ処理部１３Ｃは、ログに対応する収容先ＧＷ装置２０としてＧＷ装置ＧＷ１を特定する。そして、図８を参照して、ＧＷ装置ＧＷ１が出口ＧＷ装置２０の場合の主信号ラベル値はＬ１であることから、データ・ラベルＭＡＰ処理部１３Ｃは、ログに対応する主信号ラベル値としてＬ１を特定する。
【００７４】
ルール生成部１３Ｄは、ＧＷ装置２０に配布する各種のルールを生成し、生成したルールを配布対象のＧＷ装置２０宛に送信する。
【００７５】
例えば、ルール生成部１３Ｄは、主信号ラベルパス情報テーブルＴ６を参照して、主信号転送テーブル用ルールをＧＷ装置２０毎に生成し、生成した主信号転送テーブル用ルールを対応するＧＷ装置２０宛に送信する。主信号転送テーブル用ルールは、主信号を受信したＧＷ装置２０に対し、付与されているラベル値に応じた転送先ＧＷ装置２０を指定するルールであり、主信号経路Ｐ１に割り当てられたラベル値毎に、転送先ＧＷ装置２０の識別子ＧＷｋを対応付けた情報を含んでいる。
【００７６】
例えば、図８を参照して、主信号ラベル値Ｌ１については、ＧＷ装置ＧＷ１が出口ＧＷ装置２０である。したがって、ＧＷ装置ＧＷ１宛の主信号転送テーブル用ルールでは、ルール生成部１３Ｄは、ラベル値Ｌ１に対して転送先ＧＷ装置２０が無いことを示す、例えば、“ＮＵＬＬ”を対応付ける。また、例えば、ＧＷ装置ＧＷ３宛の主信号転送テーブル用ルールでは、主信号ラベル値Ｌ１に対応する主信号経路Ｐ１における、ＧＷ装置ＧＷ３の転送先ＧＷ装置２０はＧＷ装置ＧＷ２である。したがって、ルール生成部１３Ｄは、ラベル値Ｌ１に対して識別子ＧＷ２を対応付ける。
【００７７】
また、例えば、ルール生成部１３Ｄは、ＧＷアドレス管理テーブルＴ２を参照して、転送先ＧＷ装置２０のアドレスを示す主信号用アドレス解決テーブル用ルールをＧＷ装置２０毎に生成し、生成した主信号用アドレス解決テーブル用ルールを対応するＧＷ装置２０宛に送信する。より具体的には、ルール生成部１３Ｄは、ＧＷアドレス管理テーブルＴ２を参照して、ＧＷ装置２０毎に生成した主信号転送テーブル用ルールに含まれる識別子ＧＷｋのＧＷ装置２０のアドレスを特定し、特定したアドレスと識別子ＧＷｋとを対応付けた情報を含んでいる主信号用アドレス解決テーブル用ルールを生成する。
【００７８】
また、例えば、ルール生成部１３Ｄは、迂回用ラベルパス情報テーブルＴ７を参照して、ログ転送テーブル用ルールをＧＷ装置２０毎に生成し、生成したログ転送テーブル用ルールを対応するＧＷ装置２０宛に送信する。ログ転送テーブル用ルールは、ログを受信したＧＷ装置２０に対し、付与されているラベル値に応じた転送先ＧＷ装置２０を指定するルールであり、受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値毎に、転送先ＧＷ装置２０の識別子ＧＷｋを対応付けた情報を含んでいる。
【００７９】
例えば、図９を参照して、ログについては、ＧＷ装置ＧＷ１が収容先ＧＷ装置２０（出口ＧＷ装置２０）であり、ＧＷ装置ＧＷ１が受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値は、Ｌ１、Ｌ７〜Ｌ９である。したがって、ＧＷ装置ＧＷ１宛のログ転送テーブル用ルールでは、ルール生成部１３Ｄは、ラベル値Ｌ１、Ｌ７〜Ｌ９それぞれに対して転送先ＧＷ装置２０が無いことを示す、例えば、“ＮＵＬＬ”を対応付ける。また、例えば、ＧＷ装置ＧＷ４宛のログ転送テーブル用ルールでは、ＧＷ装置ＧＷ４が受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値はＬ１、Ｌ７、Ｌ８であり、ラベル値Ｌ１、Ｌ７、Ｌ８にそれぞれ対応する転送先ＧＷ装置２０の識別子ＧＷｋは、ＧＷ３、ＧＷ６、ＧＷ２である。したがって、ＧＷ装置ＧＷ４宛のログ転送テーブル用ルールでは、ルール生成部１３Ｄは、ラベル値Ｌ１、Ｌ７、Ｌ８に対して、それぞれ、識別子ＧＷ３、ＧＷ６、ＧＷ２を対応付ける。
【００８０】
また、例えば、ルール生成部１３Ｄは、ＧＷアドレス管理テーブルＴ２を参照して、転送先ＧＷ装置２０のアドレスを示すログ用アドレス解決テーブル用ルールをＧＷ装置２０毎に生成し、生成したログ用アドレス解決テーブル用ルールを対応するＧＷ装置２０宛に送信する。より具体的には、ルール生成部１３Ｄは、ＧＷアドレス管理テーブルＴ２を参照して、ＧＷ装置２０毎に生成したログ転送テーブル用ルールに含まれる識別子ＧＷｋのＧＷ装置２０のアドレスを特定し、特定したアドレスと識別子ＧＷｋとを対応付けた情報を含んでいるログ用アドレス解決テーブル用ルールを生成する。
【００８１】
また、例えば、ルール生成部１３Ｄは、ログの転送先ＧＷ装置２０に異常が発生した際にログを転送する迂回用ＧＷ装置２０に対応するラベル値を示す迂回用ラベル値管理テーブル用ルールを、異常が発生する可能性があるＧＷ装置２０を転送先とする転送元のＧＷ装置２０毎に生成し、生成した迂回用ラベル値管理テーブル用ルールを対応する転送元のＧＷ装置２０宛に送信する。
【００８２】
より具体的には、ルール生成部１３Ｄは、迂回用ラベルパス情報テーブルＴ７を参照して、主信号ラベル値とは異なるラベル値を迂回用ラベル値として割り当てられた迂回用経路Ｐ２を特定すると共に、主信号ラベルパス情報テーブルＴ６を参照して、特定した迂回用経路Ｐ２に対応する主信号経路Ｐ１を特定する。そして、ルール生成部１３Ｄは、特定した迂回用経路Ｐ２に対応する異常仮定ＧＷ装置２０の直前の主信号経路Ｐ１上のＧＷ装置２０を特定する。そして、ルール生成部１３Ｄは、主信号ラベル値と異常仮定ＧＷ装置２０の識別子ＧＷｋと迂回用ラベル値とを対応付けた情報を含む迂回用ラベル値管理テーブル用ルールを生成し、生成した迂回用ラベル値管理テーブル用ルールを特定した直前のＧＷ装置２０宛に送信する。
【００８３】
例えば、図８と図９を参照して、異常仮定ＧＷ装置２０がＧＷ装置ＧＷ２である場合の入口ＧＷ装置ＧＷ３と出口ＧＷ装置ＧＷ１との入口／出口ペアに対応する迂回用経路Ｐ２に割り当てられた迂回用ラベル値は、Ｌ７で、主信号ラベル値Ｌ１とは異なっている。したがって、ルール生成部１３Ｄは、主信号ラベルパス情報テーブルＴ６を参照して、対応する主信号経路Ｐ１（経路｛ＧＷ３,ＧＷ２,ＧＷ１｝）を特定し、異常仮定ＧＷ装置ＧＷ２の直前のＧＷ装置２０として、ＧＷ装置ＧＷ３を特定する。そして、ルール生成部１３Ｄは、主信号ラベル値Ｌ１と異常仮定ＧＷ装置２０の識別子ＧＷ２と迂回用ラベル値Ｌ７とを対応付けた情報を含む迂回用ラベル値管理テーブル用ルールを生成し、生成した迂回用ラベル値管理テーブル用ルールをＧＷ装置ＧＷ３（直前のＧＷ装置２０）宛に送信する。
【００８４】
また、例えば、ルール生成部１３Ｄは、ＧＷコントローラ１０又はＳＡ装置４０の収容先ＧＷ装置２０毎に、収容先ＧＷ装置２０として振分けるべきデータ種別と当該データ種別のデータを受信した場合の振分先アドレスを示すアプリ振分ルールを生成し、生成したアプリ振分ルールをそれぞれ対応する収容先ＧＷ装置２０宛に送信する。
【００８５】
より具体的には、ルール生成部１３Ｄは、アプリ収容先ＧＷ管理テーブルＴ５を参照して、収容先ＧＷ装置２０毎に、対応するアプリＩＤを抽出し、購読管理テーブルＴ４を参照して、アプリＩＤに対応するデータ種別を特定することで、収容先ＧＷ装置２０毎に、当該収容先ＧＷ装置２０が振分けるべきデータ種別を抽出する。そして、ルール生成部１３Ｄは、抽出したデータ種別と当該データ種別のデータを受信した場合の振分先アドレスとを対応付けた情報を含むアプリ振分ルールを収容先ＧＷ装置２０毎に生成する。
【００８６】
また、例えば、ルール生成部１３Ｄは、送信対象のデータに付与すべきラベル値をデータ種別毎に示す峻別ルールを生成し、生成した峻別ルールを入口ＧＷ装置２０宛に送信する。より具体的には、ルール生成部１３Ｄは、データ・ラベルＭＡＰ処理部１３Ｃにより紐付けされたデータ種別と主信号ラベル値との対応関係を示す情報を含む峻別ルールを生成する。
【００８７】
更新部１３Ｅは、収集したログに基づいて、トポロジ／リンク状態管理テーブルＴ１の更新を行う。
【００８８】
次に、図１１を参照して、本実施形態におけるＧＷ装置２０について説明する。図１１は、本実施形態におけるネットワークシステム１００を構成するＧＷ装置２０の構成例を示す機能ブロック図である。
【００８９】
ＧＷ装置２０は、データの中継を行うデータ中継装置であり、図１１に示すように、通信部２１と、記憶部２２と、制御部２３と、を備えて構成されている。
【００９０】
通信部２１は、通信モジュールなどで構成され、ネットワークシステム１００を構成する他の装置との間で通信を行う。例えば、通信部２１は、ＧＷコントローラ１０より送信される各種のルールを受信する。また、例えば、通信部２１は、データ（主信号）又はログを受信すると、受信したデータ（主信号）又はログをラベル値特定部２３Ｃ（詳しくは後述）に出力する。
【００９１】
記憶部２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどで構成されている。記憶部２２は、制御部２３を構成する、例えば、ＭＰＵのワークエリア、ＧＷ装置２０全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述の主信号転送テーブルＴ９などのテーブルなど、各種データを格納するデータエリアとして機能する。
【００９２】
ここで、図１２乃至図１８を参照して、記憶部２２のデータエリアに格納されている主信号転送テーブルＴ９などのテーブルについて説明する。
【００９３】
図１２は、本実施形態における主信号転送テーブルＴ９の例を示す図であり、（Ａ）はＧＷ装置ＧＷ１の、（Ｂ）はＧＷ装置ＧＷ２の、（Ｃ）はＧＷ装置ＧＷ３の、（Ｄ）はＧＷ装置ＧＷ４の、（Ｅ）はＧＷ装置ＧＷ５の、（Ｆ）はＧＷ装置ＧＷ６の、主信号転送テーブルＴ９の例である。図１２の例は、図８の例の主信号ラベルパス情報テーブルＴ６に対応するものである。
【００９４】
主信号転送テーブルＴ９は、テーブル設定部２３Ｂ（詳しくは後述）により管理され、受信したデータ（主信号）の転送先を管理しているテーブルであり、図１２に示すように、ラベル値毎に転送先ＧＷ装置２０の識別子ＧＷｋが対応付けられているテーブルである。
【００９５】
例えば、図１２（Ｂ）と（Ｃ）を参照して、ラベル値Ｌ１が付与されているデータを受信した場合には、ＧＷ装置ＧＷ３は、主信号転送テーブルＴ９を参照して、受信したデータをＧＷ装置ＧＷ２に転送し、ＧＷ装置ＧＷ２は、ＧＷ装置ＧＷ１に転送する。
【００９６】
図１３は、本実施形態における主信号用アドレス解決テーブルＴ１０の例を示す図であり、（Ａ）はＧＷ装置ＧＷ１の、（Ｂ）はＧＷ装置ＧＷ２の、（Ｃ）はＧＷ装置ＧＷ３の、（Ｄ）はＧＷ装置ＧＷ４の、（Ｅ）はＧＷ装置ＧＷ５の、（Ｆ）はＧＷ装置ＧＷ６の、主信号用アドレス解決テーブルＴ１０の例である。図１３の例は、図４の例のＧＷアドレス管理テーブルＴ２と図８の例の主信号ラベルパス情報テーブルＴ６に対応するものである。
【００９７】
主信号用アドレス解決テーブルＴ１０は、テーブル設定部２３Ｂにより管理され、受信したデータ（主信号）の転送先のアドレスを管理しているテーブルであり、図１３に示すように、転送先ＧＷ装置２０の識別子ＧＷｋ毎にアドレスが対応付けられているテーブルである。
【００９８】
ＧＷ装置２０は、データ（主信号）を受信すると、主信号転送テーブルＴ９を参照して、受信したデータ（主信号）に付与されているラベル値に基づいて、転送先ＧＷ装置２０の識別子ＧＷｋを特定し、更に、主信号用アドレス解決テーブルＴ１０を参照して、特定した識別子ＧＷｋに基づいて、転送先のアドレスを特定する。このようにして、ラベル値に応じてデータ（主信号）を最終宛先に届けることが可能となる。なお、受信したデータ（主信号）にラベル値が付与されていない場合は、後述するように、ＧＷ装置２０は、峻別テーブル１４を参照して、受信したデータ（主信号）にラベル値を付与し、その付与したラベル値に基づいて、転送先ＧＷ装置２０の識別子ＧＷｋを特定する。
【００９９】
図１４は、本実施形態におけるログ転送テーブルＴ１１の例を示す図であり、（Ａ）はＧＷ装置ＧＷ１の、（Ｂ）はＧＷ装置ＧＷ２の、（Ｃ）はＧＷ装置ＧＷ３の、（Ｄ）はＧＷ装置ＧＷ４の、（Ｅ）はＧＷ装置ＧＷ５の、（Ｆ）はＧＷ装置ＧＷ６の、ログ転送テーブルＴ１１の例である。図１４の例は、図９の例の迂回用ラベルパス情報テーブルＴ７に対応するものである。
【０１００】
ログ転送テーブルＴ１１は、テーブル設定部２３Ｂにより管理され、受信、又は、生成したログの転送先を管理しているテーブルであり、図１４に示すように、ラベル値毎に転送先ＧＷ装置２０の識別子ＧＷｋが対応付けられているテーブルである。
【０１０１】
例えば、図１４（Ｃ）と（Ｄ）と（Ｆ）を参照して、ラベル値Ｌ７が付与されているログを受信した場合には、ＧＷ装置ＧＷ３は、ログ転送テーブルＴ１１を参照して、受信したログをＧＷ装置ＧＷ４に転送し、ＧＷ装置ＧＷ４は、ＧＷ装置ＧＷ６に転送し、ＧＷ装置ＧＷ６は、ＧＷ装置ＧＷ１に転送する。
【０１０２】
図１５は、本実施形態におけるログ用アドレス解決テーブルＴ１２の例を示す図であり、（Ａ）はＧＷ装置ＧＷ１の、（Ｂ）はＧＷ装置ＧＷ２の、（Ｃ）はＧＷ装置ＧＷ３の、（Ｄ）はＧＷ装置ＧＷ４の、（Ｅ）はＧＷ装置ＧＷ５の、（Ｆ）はＧＷ装置ＧＷ６の、ログ用アドレス解決テーブルＴ１２の例である。図１５の例は、図４の例のＧＷアドレス管理テーブルＴ２と図９の例の迂回用ラベルパス情報テーブルＴ７に対応するものである。
【０１０３】
ログ用アドレス解決テーブルＴ１２は、テーブル設定部２３Ｂにより管理され、受信、又は、生成したログの転送先のアドレスを管理しているテーブルであり、図１５に示すように、転送先ＧＷ装置２０の識別子ＧＷｋ毎にアドレスが対応付けられているテーブルである。
【０１０４】
ＧＷ装置２０は、ログを受信（又は、生成）すると、ログ転送テーブルＴ１１を参照して、ログに付与されているラベル値に基づいて、転送先ＧＷ装置２０の識別子ＧＷｋを特定し、更に、ログ用アドレス解決テーブルＴ１２を参照して、特定した識別子ＧＷｋに基づいて、転送先のアドレスを特定する。このようにして、ラベル値に応じてログを最終宛先に届けることが可能となる。なお、ログを生成した場合は、後述するように、ＧＷ装置２０は、峻別テーブル１４を参照して、生成したログにラベル値を付与し、その付与したラベル値に基づいて、転送先ＧＷ装置２０の識別子ＧＷｋを特定する。
【０１０５】
図１６は、本実施形態における迂回用ラベル値管理テーブルＴ１３の例を示す図であり、（Ａ）はＧＷ装置ＧＷ３の、（Ｂ）はＧＷ装置ＧＷ４の、（Ｃ）はＧＷ装置ＧＷ５の、迂回用ラベル値管理テーブルＴ１３の例である。図１６の例は、図８の例の主信号ラベルパス情報テーブルＴ７と図９の例の迂回用ラベルパス情報テーブルＴ７に対応するものである。
【０１０６】
迂回用ラベル値管理テーブルＴ１３は、テーブル設定部２３Ｂにより管理され、ログの転送先ＧＷ装置２０に異常が発生した際にログに付与する迂回用ラベル値を管理しているテーブルであり、図１６に示すように、正常時ラベル値と異常ＧＷ装置２０の識別子ＧＷｋと迂回用ラベル値とが対応付けられているテーブルである。したがって、本実施形態においては、本迂回用ラベル値管理テーブルＴ１３は、ログの転送先ＧＷ装置２０に異常が発生する可能性がある転送元ＧＷ装置２０のみが備える。
【０１０７】
正常時ラベル値は、異常が発生していない時、つまり、正常時にログに付与されているラベル値であり、本実施形態においてはＧＷコントローラ１０の収容先ＧＷ装置２０に対応する主信号ラベル値である。
【０１０８】
図１７は、本実施形態における峻別テーブルＴ１４の例を示す図であり、（Ａ）はＧＷ装置ＧＷ１の、（Ｂ）はＧＷ装置ＧＷ２の、（Ｃ）はＧＷ装置ＧＷ３の、（Ｄ）はＧＷ装置ＧＷ４の、（Ｅ）はＧＷ装置ＧＷ５の、（Ｆ）はＧＷ装置ＧＷ６の、峻別テーブルＴ１４の例である。図１７の例は、図６の例の購読管理テーブルＴ４と図７の例のアプリ収容先ＧＷ管理テーブルＴ５と図８の例の主信号ラベルパス情報テーブルＴ６に対応するものである。
【０１０９】
峻別テーブルＴ１４は、テーブル設定部２３Ｂにより管理され、データにラベル値が付与されていない場合にデータに付与するラベル値を管理しているテーブルであり、図１７に示すように、データ種別毎にラベル値が対応付けられているテーブルである。ＧＷ装置２０は、データにラベル値が付与されていない場合に、本峻別テーブルＴ１４を参照して、処理対象のデータのデータ種別に基づいて、ラベル値を特定し、特定したラベル値をデータに付与する。
【０１１０】
図１８は、本実施形態におけるアプリ振分テーブルＴ１５の例を示す図であり、図１８の例はＧＷ装置ＧＷ１のアプリ振分テーブルＴ１５の例である。図１８の例は、図６の例の購読管理テーブルＴ４に対応するものである。
【０１１１】
アプリ振分テーブルＴ１５は、テーブル設定部２３Ｂにより管理され、収納先ＧＷ装置２０として受信したデータをＳＡサーバ４０（又は、ＧＷコントローラ１０）に振分けるために送信先のアドレスを管理しているテーブルであり、図１８に示すように、データ種別毎に送信先のアドレスが対応付けられているテーブルである。
【０１１２】
例えば、ＧＷ装置ＧＷ１は、ログを受信すると、図１８に例示するアプリ振分テーブルＴ１５を参照して、ログの送信先アドレス（ＧＷコントローラ１０のアドレス）を特定する。このようにして、ＧＷコントローラ１０の収納先ＧＷ装置２０であるＧＷ装置ＧＷ１は、受信したログをＧＷコントローラ１０に送信することが可能となる。
【０１１３】
図１１に戻り、制御部２３は、例えば、ＭＰＵなどで構成され、記憶部２２のプログラムエリアに格納されている動作プログラムを実行して、図１１に示すように、リンク状態計測部２３Ａと、テーブル設定部２３Ｂと、ラベル値特定部２３Ｃと、ＡＣＫ処理部２３Ｄと、転送処理部２３Ｅと、タイマ２３Ｆと、迂回路特定部２３Ｇと、アプリ振分部２３Ｈとしての機能を実現すると共に、ＧＷ装置２０全体を制御する制御処理や詳しくは後述のログ転送処理などの処理を実行する。
【０１１４】
リンク状態計測部２３Ａは、リンクが存在する隣接ＧＷ装置２０との間のリンク状態（リンク遅延、揺らぎなど）を、例えば、定期的に計測して、計測結果を含むログを生成し、生成したログをラベル値特定部２３Ｃに出力する。
【０１１５】
テーブル設定部２３Ｂは、ＧＷコントローラ１０より送信される各種のルールを受信すると、受信したルールに基づいて、主信号転送テーブルＴ９などの各種のテーブルを設定する。
【０１１６】
例えば、主信号転送テーブル用ルールを受信すると、テーブル設定部２３Ｂは、図１２に例示する主信号転送テーブルＴ９を設定する。また、例えば、ログ転送テーブル用ルールを受信すると、テーブル設定部２３Ｂは、図１４に例示するログ転送テーブルＴ１１を設定する。この際、“ＮＵＬＬ”がラベル値に対応付けられている場合には、テーブル設定部２３Ｂは、そのラベル値と識別子ＧＷｋとしてローカル（Ｌｏｃａｌ）を対応付けて主信号転送テーブルＴ９（又は、ログ転送テーブルＴ１１）を設定する。
【０１１７】
また、例えば、主信号用アドレス解決テーブル用ルールを受信すると、テーブル設定部２３Ｂは、図１３に例示する主信号用アドレス解決テーブルＴ１０を設定する。また、例えば、ログ用アドレス解決テーブル用ルールを受信すると、テーブル設定部２３Ｂは、図１５に例示するログ用アドレス解決テーブルＴ１２を設定する。また、例えば、迂回用ラベル値管理テーブル用ルールを受信すると、テーブル設定部２３Ｂは、図１６に例示する迂回用ラベル値管理テーブルＴ１３を設定する。また、例えば、峻別ルールを受信すると、テーブル設定部２３Ｂは、図１７に例示する峻別テーブルＴ１４を設定する。また、例えば、アプリ振分ルールを受信すると、テーブル設定部２３Ｂは、図１８に例示するアプリ振分テーブルＴ１５を設定する。
【０１１８】
ラベル値特定部２３Ｃは、処理対象のデータ（主信号）又はログにラベル値が付与されていない場合に、付与するラベル値を特定する。より具体的には、通信部２１より受信されたデータ（主信号）又はログ、あるいは、リンク状態計測部２３Ａより生成されたログが入力されると、ラベル値特定部２３Ｃは、入力されたデータ（又はログ）にラベル値が付与されているか否かを判定する。そして、ラベル値が付与されていない場合には、ラベル値特定部２３Ｃは、峻別テーブルＴ１４を参照して、処理対象のデータ（又はログ）のデータ種別に基づいて、ラベル値を特定し、特定したラベル値を処理対象のデータ（又はログ）に付与する。
【０１１９】
ＡＣＫ処理部２３Ｄは、受信したデータ（主信号）又はログにラベル値が付与されている場合に、受信した旨を示すＡＣＫ（ＡＣＫnowledgment）を転送元のＧＷ装置２０に送信する。
【０１２０】
転送処理部２３Ｅは、処理対象のデータ（主信号）又はログの転送処理を行う。ログを例により具体的には、転送処理部２３Ｅは、ログ転送テーブルＴ１１を参照して、付与されているラベル値に基づいて、転送先を特定する。そして、他のＧＷ装置２０に転送する場合には、転送処理部２３Ｅは、処理対象のログを一時的に記憶部２２のデータエリアに格納すると共に、ログ用アドレス解決テーブルＴ１２を参照して、特定した転送先の識別子ＧＷｋに基づいて、転送先のアドレスを特定し、処理対象のログを送信する。
【０１２１】
そして、転送処理部２３Ｅは、タイマ２３Ｆをスタートさせ、所定時間内に転送先ＧＷ装置２０からＡＣＫの返信があった場合には、データエリアに格納したログを削除する。一方、ＡＣＫを受信する前にタイマ２３Ｆがタイムアウトした場合には、転送処理部２３Ｅは、迂回用ラベル値管理テーブルＴ１３を参照して、処理対象のログに付与されているラベル値が正常時ラベル値と一致するか否かを判定する。
【０１２２】
正常時ラベル値と一致しない場合には、転送処理部２３Ｅは、データエリアに格納したログを削除する。一方、正常時ラベル値と一致する場合には、転送処理部２３Ｅは、ＡＣＫの返信がない転送先ＧＷ装置２０の識別子ＧＷｋをログに付与する。
【０１２３】
タイマ２３Ｆは、データ（主信号）又はログを転送した際に、転送先ＧＷ装置２０より送信されるＡＣＫが所定時間内に受信できたかを管理するためのタイマ、すなわち、転送先ＧＷ装置２０に異常が発生したか否かの判定を行うためのタイマであり、転送処理部２３Ｅにより制御されている。
【０１２４】
迂回路特定部２３Ｇは、転送処理部２３ＥによりＡＣＫの返信がない転送先ＧＷ装置２０の識別子ＧＷｋがログに付与されると、迂回用ラベル値管理テーブルＴ１３を参照して、ログに付与されている識別子ＧＷｋとラベル値とに基づいて、迂回用ラベル値を特定し、特定した迂回用ラベル値でログに付与されているラベル値を更新する。つまり、迂回路特定部２３Ｇは、ログに付与されているラベル値を削除し、特定した迂回用ラベル値をログに付与しなおす。その後、再び、転送処理部２３Ｅによる転送処理が実行され、迂回用経路Ｐ２を介して、ログがＧＷコントローラ１０に届けられることとなる。
【０１２５】
アプリ振分部２３Ｈは、転送処理部２３Ｅにより特定された処理対象のデータ（主信号）又はログの転送先がローカルの場合に、アプリ振分テーブルＴ１５を参照して、データ種別に基づいて、アドレス（ＵＲＬ）を特定し、処理対象のデータ（主信号）又はログに付与されているラベル値を削除した上で、特定したアドレス（ＵＲＬ）に処理対象のデータ（主信号）又はログを送信する。アプリ振分部２３Ｈは、このようにして、ＧＷコントローラ１０又はＳＡサーバ４０が収集対象とするデータを振り分けて送信する。
【０１２６】
次に、図１９を参照して、本実施形態における主信号ラベルパス生成処理の流れについて説明する。図１９は、本実施形態における主信号ラベルパス生成処理のフローを説明するためのフローチャートの例である。本主信号ラベルパス生成処理は、ＧＷコントローラ１０で実行され、所定のタイミングの到来をトリガとして開始される。
【０１２７】
経路計算部１３Ａは、所定のタイミングが到来したか否かを判定する（ステップＳ００１）。経路計算部１３Ａにより、所定のタイミングがまだ到来していないと判定された場合には（ステップＳ００１；ＮＯ）、処理はステップＳ００１の処理を繰り返して、所定のタイミングの到来を待つ。
【０１２８】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ００１；ＹＥＳ）、経路計算部１３Ａは、トポロジ／リンク状態管理テーブルＴ１を参照して、トポロジ／リンク情報を取得する（ステップＳ００２）。この際、経路計算部１３Ａは、必要に応じて、揺らぎや帯域などのリンク状態に関する他のパラメータも取得する。
【０１２９】
そして、経路計算部１３Ａは、入口・出口管理テーブルＴ３を参照して、全入口／出口ペアを特定し、少なくともトポロジ／リンク情報に基づいて、特定した全入口／出口ペアに対し、主信号経路Ｐ１を計算し、入口／出口ペア毎に特定した主信号経路Ｐ１を対応付けて主信号ラベルパス情報テーブルＴ６に格納する（ステップＳ００３）。
【０１３０】
そして、ラベル値割当部１３Ｂは、主信号ラベルパス情報テーブルＴ６を参照して、未選択の入口／出口ペアを一つ選択し（ステップＳ００４）、選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に有る否かを判定する（ステップＳ００５）。
【０１３１】
選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアが他に有ると判定した場合には（ステップＳ００５；ＹＥＳ）、ラベル値割当部１３Ｂは、更に、主信号ラベルパス情報テーブルＴ６を参照して、選択した入口／出口ペアと出口ＧＷ装置２０が同じ他の入口／出口ペアの中に、対応する主信号経路Ｐ１に対してラベル値が既に割り当てられている入口／出口ペアが有るか否かを判定する（ステップＳ００６）。
【０１３２】
そして、ラベル値が既に割り当てされている入口／出口ペアが有ると判定した場合には（ステップＳ００６；ＹＥＳ）、ラベル値割当部１３Ｂは、その入口／出口ペアと同じラベル値を、主信号ラベル値として、選択した入口／出口ペアの主信号経路Ｐ１に割り当てる（ステップＳ００７）。そして、処理は後述のステップステップＳ０１０の処理へと進む。
【０１３３】
一方、選択した入口／出口ペアと出口ＧＷ装置２０が同じ入口／出口ペアは他に無いと判定した場合（ステップＳ００５；ＮＯ）、あるいは、ラベル値が既に割り当てされている入口／出口ペアは無いと判定した場合には（ステップＳ００６；ＮＯ）、ラベル値割当部１３Ｂは、空きラベル値管理テーブルＴ８を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“１”に設定する（ステップＳ００８）。
【０１３４】
そして、ラベル値割当部１３Ｂは、選択したラベル値を、主信号ラベル値として、選択した入口／出口ペアの主信号経路Ｐ１に割り当て（ステップＳ００９）、割り当てた主信号ラベル値を選択した入口／出口ペアの主信号経路Ｐ１に対応付けて、主信号ラベルパス情報テーブルＴ６に格納する（ステップＳ０１０）。
【０１３５】
そして、ラベル値割当部１３Ｂは、全入口／出口ペアに対して主信号ラベル値を割り当てたか否かを判定し（ステップＳ０１１）、ラベル値割当部１３Ｂにより、主信号ラベル値を割り当てていない入口／出口ペアがまだ有ると判定された場合には（ステップＳ０１１；ＮＯ）、処理はステップＳ００４の処理へと戻り、前述の処理を繰り返す。
【０１３６】
一方、ラベル値割当部１３Ｂにより、全入口／出口ペアに対して主信号ラベル値を割り当てたと判定された場合には（ステップＳ０１１；ＹＥＳ）、ルール生成部１３Ｄは、主信号転送テーブル用ルールと主信号用アドレス解決テーブル用ルールを生成し、生成したルールを配布対象のＧＷ装置２０に送信する（ステップＳ０１２）。そして、本処理を終了する。
【０１３７】
次に、図２０乃至図２２を参照して、本実施形態における迂回用ラベルパス生成処理の流れについて説明する。図２０乃至図２２は、それぞれ、本実施形態における迂回用ラベルパス生成処理のフローを説明するためのフローチャートの例の第一部、第二部、第三部である。本迂回用ラベルパス生成処理は、ＧＷコントローラ１０で実行され、所定のタイミングの到来をトリガとして開始される。
【０１３８】
経路計算部１３Ａは、所定のタイミングが到来したか否かを判定する（ステップＳ１０１）。経路計算部１３Ａにより、所定のタイミングがまだ到来していないと判定された場合には（ステップＳ１０１；ＮＯ）、処理はステップＳ１０１の処理を繰り返して、所定のタイミングの到来を待つ。
【０１３９】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ１０１；ＹＥＳ）、経路計算部１３Ａは、トポロジ／リンク状態管理テーブルＴ１を参照して、トポロジ／リンク情報を取得する（ステップＳ１０２）。そして、経路計算部１３Ａは、アプリ収容先ＧＷ管理テーブルＴ５を参照して、自ＧＷコントローラ１０の収容先ＧＷ装置２０を特定し（ステップＳ１０３）、特定した収容先ＧＷ装置２０を除くＧＷ装置２０の中から、未選択のＧＷ装置２０を一つ異常仮定ＧＷ装置２０として選択する（ステップＳ１０４）。
【０１４０】
そして、経路計算部１３Ａは、入口・出口管理テーブルＴ３を参照して、選択した異常仮定ＧＷ装置２０がトポロジに存在しない場合の、特定した収容先ＧＷ装置２０を出口ＧＷ装置２０とする全入口／出口ペアを特定し、特定した全入口／出口ペアに対して迂回用経路Ｐ２を特定する（ステップＳ１０５）。この際、経路計算部１３Ａは、入口／出口ペア毎に特定した迂回用経路Ｐ２を対応付けて迂回用ラベルパス情報テーブルＴ７に格納する。
【０１４１】
そして、経路計算部１３Ａは、ステップＳ１０３の処理で特定した収容先ＧＷ装置２０を除く全ＧＷ装置２０を異常仮定ＧＷ装置２０として選択したか否かを判定する（ステップＳ１０６）。経路計算部１３Ａにより、異常仮定ＧＷ装置２０として選択していないＧＷ装置２０が有ると判定された場合には（ステップＳ１０６；ＮＯ）、処理はステップＳ１０４の処理へと戻り、前述の処理を繰り返す。
【０１４２】
一方、経路計算部１３Ａにより、収容先ＧＷ装置２０を除く全ＧＷ装置２０を異常仮定ＧＷ装置２０として選択したと判定された場合には（ステップＳ１０６；ＹＥＳ）、ラベル値割当部１３Ｂは、迂回用ラベルパス情報テーブルＴ７を参照して、異常仮定ＧＷ装置２０を一つ選択し（ステップＳ１０７）、選択した異常仮定ＧＷ装置２０に対応する入口ＧＷ装置２０の中から一つ選択する（ステップＳ１０８）。すなわち、ラベル値割当部１３Ｂは、特定された収納先ＧＷ装置２０と選択した異常仮定ＧＷ装置２０を除く入口ＧＷ装置２０の中から一つ選択する。
【０１４３】
そして、ラベル値割当部１３Ｂは、迂回用ラベルパス情報テーブルＴ７を参照して、対応する迂回用経路Ｐ２を特定すると共に（ステップＳ１０９）、対応する主信号ラベル値を取得する（ステップＳ１１０）。そして、ラベル値割当部１３Ｂは、主信号ラベルパス情報テーブルＴ６と迂回用ラベルパス情報テーブルＴ７を参照して、特定した迂回用経路Ｐ２は、対応する主信号経路Ｐ１と同一経路か否かを判定する（ステップＳ１１１）。
【０１４４】
特定した迂回用経路Ｐ２と対応する主信号経路Ｐ１とが同一経路であると判定した場合には（ステップＳ１１１；ＹＥＳ）、ラベル値割当部１３Ｂは、取得した主信号ラベル値と同じラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる（ステップＳ１１２）。そして、処理は後述のステップＳ１１７の処理へと進む。
【０１４５】
一方、特定した迂回用経路Ｐ２と対応する主信号経路Ｐ１とが同一経路では無いと判定した場合には（ステップＳ１１１；ＮＯ）、ラベル値割当部１３Ｂは、更に、迂回用ラベルパス情報テーブルＴ７を参照して、選択した異常仮定ＧＷ装置２０に対応する選択した入口ＧＷ装置２０以外の入口ＧＷ装置２０の中に、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０が有るか否かを判定する（ステップＳ１１３）。
【０１４６】
そして、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０が有ると判定した場合には（ステップＳ１１３；ＹＥＳ）、ラベル値割当部１３Ｂは、主信号ラベル値とは異なるそのラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる（ステップＳ１１４）。そして、処理は後述のステップＳ１１７の処理へと進む。
【０１４７】
一方、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口ＧＷ装置２０は無いと判定した場合には（ステップＳ１１３；ＮＯ）、ラベル値割当部１３Ｂは、空きラベル値管理テーブルＴ８を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“１”に設定する（ステップＳ１１５）。そして、ラベル値割当部１３Ｂは、選択したラベル値を、迂回用ラベル値として、特定した迂回用経路Ｐ２に割り当てる（ステップＳ１１６）。
【０１４８】
そして、ラベル値割当部１３Ｂは、割り当てた迂回用ラベル値を特定した迂回用経路Ｐ２に対応付けて、迂回用ラベルパス情報テーブルＴ７に格納し（ステップＳ１１７）、ラベル値割当部１３Ｂは、特定された収納先ＧＷ装置２０と選択した異常仮定ＧＷ装置２０を除く全入口ＧＷ装置２０を選択したか否かを判定する（ステップＳ１１８）。ラベル値割当部１３Ｂにより、選択していない入口ＧＷ装置２０がまだ有ると判定された場合には（ステップＳ１１８；ＮＯ）、処理はステップＳ１０８の処理へと戻り、前述の処理を繰り返す。
【０１４９】
一方、全入口ＧＷ装置２０を選択したと判定した場合には（ステップＳ１１８；ＹＥＳ）、ラベル値割当部１３Ｂは、更に、特定された収納先ＧＷ装置２０を除く全ＧＷ装置２０を異常仮定ＧＷ装置２０として選択したか否かを判定する（ステップＳ１１９）。ラベル値割当部１３Ｂにより、異常仮定ＧＷ装置２０として選択していないＧＷ装置２０がまだ有ると判定された場合には（ステップＳ１１９；ＮＯ）、処理はステップＳ１０７の処理へと戻り、前述の処理を繰り返す。
【０１５０】
一方、ラベル値割当部１３Ｂにより、異常仮定ＧＷ装置２０として全ＧＷ装置２０を選択したと判定された場合には（ステップＳ１１９；ＹＥＳ）、ルール生成部１３Ｄは、ログ転送テーブル用ルールとログ用アドレス解決テーブル用ルールと迂回用ラベル値管理テーブル用ルールを生成し、生成したルールを配布対象のＧＷ装置２０に送信する（ステップＳ１２０）。そして、本処理を終了する。
【０１５１】
次に、図２３を参照して、本実施形態における峻別ルール等送信処理の流れについて説明する。図２３は、本実施形態における峻別ルール等送信処理のフローを説明するためのフローチャートの例である。本峻別ルール等送信処理は、ＧＷコントローラ１０で実行され、購読管理テーブルＴ４、アプリ収容先管理テーブルＴ５が更新された場合などをトリガとして開始される。
【０１５２】
データ・ラベルＭＡＰ処理部１３Ｃは、購読管理テーブルＴ４を参照して、購読条件情報を取得すると共に（ステップＳ２０１）、アプリ収容先ＧＷ管理テーブルＴ５を参照して、収容先ＧＷ情報を取得する（ステップＳ２０２）。
【０１５３】
そして、データ・ラベルＭＡＰ処理部１３Ｃは、取得した購読条件情報と収容先ＧＷ情報とに基づいて、データ種別毎に対応する収容先ＧＷ装置２０をそれぞれ特定し（ステップＳ２０３）、特定した収容先ＧＷ装置２０それぞれに対し、主信号ラベルパス情報テーブルＴ６を参照して、対応する主信号ラベル値を特定する（ステップＳ２０４）。
【０１５４】
そして、ルール生成部１３Ｄは、アプリ振分ルールを収容先ＧＷ装置２０毎に生成し、生成したアプリ振分ルールをそれぞれ配布対象の収容先ＧＷ装置２０に送信する（ステップＳ２０５）。また、ルール生成部１３Ｄは、峻別ルールを生成し、生成した峻別ルールを配布対象の入口ＧＷ装置２０に送信する（ステップＳ２０６）。そして、本処理を終了する。
【０１５５】
次に、図２４と図２５を参照して、本実施形態におけるログ転送処理の流れについて説明する。図２４と図２５は、それぞれ、本実施形態におけるログ転送処理のフローを説明するためのフローチャートの例の一部と他の一部である。本ログ転送処理は、各ＧＷ装置２０で実行され、ラベル値特定部２３Ｃへのログの入力をトリガとして開始される。
【０１５６】
ラベル値特定部２３Ｃは、ログが入力されたか否かを判定する（ステップＳ３０１）。ラベル値特定部２３Ｃにより、ログの入力はまだ無いと判定された場合には（ステップＳ３０１；ＮＯ）、処理はステップＳ３０１の処理を繰り返し、ログの入力を待つ。
【０１５７】
一方、ログが入力されたと判定した場合には（ステップＳ３０１；ＹＥＳ）、ラベル値特定部２３Ｃは、更に、処理対象のログにラベル値が付与されているか否かを判定する（ステップＳ３０２）。ラベル値特定部２３Ｃにより、処理対象のログにラベル値が付与されていると判定された場合には（ステップＳ３０２；ＹＥＳ）、ＡＣＫ処理部２３Ｄは、ＡＣＫを転送元のＧＷ装置２０に送信する（ステップＳ３０３）。そして、処理は後述のステップＳ３０６の処理へと進む。
【０１５８】
一方、処理対象のログにラベル値が付与されていないと判定した場合には（ステップＳ３０２；ＮＯ）、ラベル値特定部２３Ｃは、峻別テーブルＴ１４を参照して、ログに対応するラベル値を特定し（ステップＳ３０４）、特定したラベル値を処理対象のログに付与する（ステップＳ３０５）。
【０１５９】
そして、転送処理部２３Ｅは、ログ転送テーブルＴ１１を参照して、付与されているラベル値に基づいて、転送先を特定し（ステップＳ３０６）、特定した転送先がローカルか否かを判定する（ステップＳ３０７）。
【０１６０】
転送処理部２３Ｅにより、特定した転送先がローカルであると判定された場合には（ステップＳ３０７；ＹＥＳ）、アプリ振分部２３Ｈは、アプリ振分テーブルＴ１５を参照して、ログの送信先アドレス（ＵＲＬ）を特定する（ステップＳ３０８）。そして、アプリ振分部２３Ｈは、処理対象のログに付与されているラベル値を削除し（ステップＳ３０９）、その後、特定したアドレス（ＵＲＬ）に処理対象のログを送信する（ステップＳ３１０）。
【０１６１】
一方、特定した転送先が他のＧＷ装置２０であると判定した場合には（ステップＳ３０７；ＮＯ）、転送処理部２３Ｅは、処理対象のログを一時的に記憶部２２のデータエリアに格納すると共に（ステップＳ３１１）、ログ用アドレス解決テーブルＴ１２を参照して、特定した転送先の識別子ＧＷｋに基づいて、転送先のアドレスを特定し、処理対象のログを送信する（ステップＳ３１２）。
【０１６２】
そして、転送処理部２３Ｅは、タイマ２３Ｆをスタートさせ（ステップＳ３１３）、転送先ＧＷ装置２０より送信されるＡＣＫを受信したか否かを判定する（ステップＳ３１４）。ＡＣＫを受信したと判定した場合には（ステップＳ３１４；ＹＥＳ）、転送処理部２３Ｅは、正常にログの転送ができたと判定して、データエリアに格納したログを削除する（ステップＳ３１５）。そして、本処理は終了する。
【０１６３】
一方、ＡＣＫをまだ受信していないと判定した場合には（ステップＳ３１４；ＮＯ）、転送処理部２３Ｅは、更に、タイマ２３Ｆがタイムアウトしたか否かを判定する（ステップＳ３１６）。転送処理部２３Ｅにより、まだタイムアウトしていないと判定された場合には（ステップＳ３１６；ＮＯ）、処理はステップＳ３１４の処理へと戻り、前述の処理を繰り返す。
【０１６４】
一方、タイムアウトしたと判定した場合には（ステップＳ３１６；ＹＥＳ）、転送処理部２３Ｅは、更に、迂回用ラベル値管理テーブルＴ１３を参照して、処理対象のログに付与されているラベル値が正常時ラベル値と一致するか否かを判定する（ステップＳ３１７）。
【０１６５】
正常時ラベル値と一致しないと判定した場合には（ステップＳ３１７；ＮＯ）、転送処理部２３Ｅは、データエリアに格納したログを削除する（ステップＳ３１８）。一方、正常時ラベル値と一致すると判定した場合には（ステップＳ３１７；ＹＥＳ）、転送処理部２３Ｅは、ＡＣＫの返信がない転送先ＧＷ装置２０の識別子ＧＷｋをログに付与する（ステップＳ３１９）。
【０１６６】
そして、迂回路特定部２３Ｇは、迂回用ラベル値管理テーブルＴ１３を参照して、処理対象のログに付与されている識別子ＧＷｋとラベル値とに基づいて、迂回用ラベル値を特定し（ステップＳ３２０）、特定した迂回用ラベル値でログに付与されているラベル値を更新する（ステップＳ３２１）。そして、処理はステップＳ３０６の処理へと戻り、前述の処理を繰り返す。
【０１６７】
次に、図２６を参照して、具体例にしたがって、本実施形態における正常時のログ転送について説明する。図２６は、本実施形態におけるネットワークシステム１００での正常時のログ転送の流れを示す具体例である。
【０１６８】
なお、本具体例では、ＧＷ装置ＧＷ４のリンク状態計測部２３Ａにより生成されたログがＧＷコントローラ１０に送信されるまでの流れを説明するものとする。また、各ＧＷ装置２０のログ転送テーブルＴ１１は、図１４に例示するものであるとし、ＧＷ装置ＧＷ４の峻別テーブルＴ１４とＧＷ装置ＧＷ１のアプリ振分テーブルＴ１５は、それぞれ、図１７（Ｄ）、図１８に例示するものであるとする。
【０１６９】
ＧＷ装置ＧＷ４は、峻別テーブルＴ１４を参照して、ラベル値としてＬ１を特定し、特定したラベル値Ｌ１を生成したログに付与する。そして、ＧＷ装置ＧＷ４は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてＧＷ装置ＧＷ３を特定し、ラベル値Ｌ１が付与されているログを特定したＧＷ装置ＧＷ３に転送する。
【０１７０】
ＧＷ装置ＧＷ３は、ラベル値Ｌ１が付与されているログを受信すると、転送元のＧＷ装置ＧＷ４にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ４に受信されたものとする。
【０１７１】
そして、ＧＷ装置ＧＷ３は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてＧＷ装置ＧＷ２を特定し、ラベル値Ｌ１が付与されているログを特定したＧＷ装置ＧＷ２に転送する。
【０１７２】
ＧＷ装置ＧＷ２は、ラベル値Ｌ１が付与されているログを受信すると、転送元のＧＷ装置ＧＷ３にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ３に受信されたものとする。
【０１７３】
そして、ＧＷ装置ＧＷ２は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてＧＷ装置ＧＷ１を特定し、ラベル値Ｌ１が付与されているログを特定したＧＷ装置ＧＷ１に転送する。
【０１７４】
ＧＷ装置ＧＷ１は、ラベル値Ｌ１が付与されているログを受信すると、転送元のＧＷ装置ＧＷ２にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ２に受信されたものとする。
【０１７５】
そして、ＧＷ装置ＧＷ１は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてローカルを特定し、アプリ振分テーブルＴ１５を参照して、ログの送信先アドレス（ＧＷコントローラ１０のアドレス）を特定する。そして、ＧＷ装置ＧＷ１は、ログに付与されているラベル値Ｌ１を削除して、ログをＧＷコントローラ１０に送信する。
【０１７６】
次に、図２７を参照して、具体例にしたがって、本実施形態における異常発生時のログ転送について説明する。図２７は、本実施形態におけるネットワークシステム１００での異常発生時のログ転送の流れを示す具体例である。
【０１７７】
なお、本具体例では、ＧＷ装置ＧＷ４のリンク状態計測部２３Ａにより生成されたログがＧＷコントローラ１０に送信されるまでの流れを説明するものとする。また、各ＧＷ装置２０のログ転送テーブルＴ１１は、図１４に例示するものであるとし、ＧＷ装置ＧＷ４の峻別テーブルＴ１４とＧＷ装置ＧＷ１のアプリ振分テーブルＴ１５は、それぞれ、図１７（Ｄ）、図１８に例示するものであるとする。また、ＧＷ装置ＧＷ３の迂回用ラベル値管理テーブルＴ１３は、図１６（Ａ）に例示するものであるとする。
【０１７８】
ＧＷ装置ＧＷ４は、峻別テーブルＴ１４を参照して、ラベル値としてＬ１を特定し、特定したラベル値Ｌ１を生成したログに付与する。そして、ＧＷ装置ＧＷ４は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてＧＷ装置ＧＷ３を特定し、ラベル値Ｌ１が付与されているログを特定したＧＷ装置ＧＷ３に転送する。
【０１７９】
ＧＷ装置ＧＷ３は、ラベル値Ｌ１が付与されているログを受信すると、転送元のＧＷ装置ＧＷ４にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ４に受信されたものとする。
【０１８０】
そして、ＧＷ装置ＧＷ３は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ１に対応する転送先としてＧＷ装置ＧＷ２を特定し、ラベル値Ｌ１が付与されているログを特定したＧＷ装置ＧＷ２に転送する。本具体例では、ＧＷ装置ＧＷ２に障害が発生しているものとする。
【０１８１】
ＧＷ装置ＧＷ３は、転送先のＧＷ装置ＧＷ２からのＡＣＫを所定時間内に受信できないので、ログに転送先の識別子ＧＷ２を付与し、迂回用ラベル値管理テーブルＴ１３を参照して、迂回用ラベル値としてＬ７を特定し、特定したラベル値Ｌ７でログに付与されているラベル値を更新する。そして、ＧＷ装置ＧＷ３は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ７に対応する転送先としてＧＷ装置ＧＷ４を特定し、ラベル値Ｌ７が付与されているログを特定したＧＷ装置ＧＷ４に転送する。
【０１８２】
ＧＷ装置ＧＷ４は、ラベル値Ｌ７が付与されているログを受信すると、転送元のＧＷ装置ＧＷ３にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ３に受信されたものとする。
【０１８３】
そして、ＧＷ装置ＧＷ４は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ７に対応する転送先としてＧＷ装置ＧＷ６を特定し、ラベル値Ｌ７が付与されているログを特定したＧＷ装置ＧＷ６に転送する。
【０１８４】
ＧＷ装置ＧＷ６は、ラベル値Ｌ７が付与されているログを受信すると、転送元のＧＷ装置ＧＷ４にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ４に受信されたものとする。
【０１８５】
そして、ＧＷ装置ＧＷ６は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ７に対応する転送先としてＧＷ装置ＧＷ１を特定し、ラベル値Ｌ７が付与されているログを特定したＧＷ装置ＧＷ１に転送する。
【０１８６】
ＧＷ装置ＧＷ１は、ラベル値Ｌ７が付与されているログを受信すると、転送元のＧＷ装置ＧＷ６にＡＣＫを送信する。本具体例では、ＡＣＫはタイムアウトする前にＧＷ装置ＧＷ６に受信されたものとする。
【０１８７】
そして、ＧＷ装置ＧＷ１は、ログ転送テーブルＴ１１を参照して、ラベル値Ｌ７に対応する転送先としてローカルを特定し、アプリ振分テーブルＴ１５を参照して、ログの送信先アドレス（ＧＷコントローラ１０のアドレス）を特定する。そして、ＧＷ装置ＧＷ１は、ログに付与されているラベル値Ｌ７を削除して、ログをＧＷコントローラ１０に送信する。
【０１８８】
このように、本実施形態では、ログの転送経路上のＧＷ装置２０に障害などの異常が発生したとしても、予め設定した迂回用経路Ｐ２を利用してＧＷコントローラ１０にログを届けることが可能となり、ネットワークシステム１００の最適経路を維持することが可能となる。
【０１８９】
上記実施形態によれば、ＧＷコントローラ１０の収容先ＧＷ装置２０を出口とするログの経路に対して一つのラベル値を割り振り、ラベルパスを形成する。このように構成することで、ログ収集時のコネクション数を一つに集約することが可能となり、ＧＷコントローラ１０の負荷を軽減することが可能となる。また、ログの経路に割り振られるラベル値は一つなので、各ＧＷ装置２０のテーブルサイズや管理情報量を削減でき、メモリ資源の有効活用が可能となる。
【０１９０】
また、上記実施形態によれば、ＧＷコントローラ１０の収容先ＧＷ装置２０を出口とする主信号経路（ラベルパス）Ｐ１を利用してログを収集する。このように構成することで、ログ用の経路の計算時間を削減することが可能となる。
【０１９１】
また、上記実施形態によれば、迂回用経路Ｐ２を予め設定し、主信号経路Ｐ１上のＧＷ装置２０に異常が発生した場合には、迂回用経路Ｐ２を利用してログをＧＷコントローラ１０に届ける。このように構成することで、主信号経路Ｐ１上のＧＷ装置２０に異常が発生したとしても、ＧＷコントローラ１０はログを収集することが可能となり、ネットワークシステム１００の最適経路を維持することができる。
【０１９２】
また、上記実施形態によれば、ログ転送先のＧＷ装置２０に異常が発生した場合には、転送先ＧＷ装置２０の識別子ＧＷｋをログに付与し、この状態でＧＷコントローラ１０に届ける。このように構成することで、ＧＷコントローラ１０はログの内容を解析することなく、ログの経路上のＧＷ装置２０の異常をすぐに検知することが可能となる。
【０１９３】
なお、上記実施形態において、正常時のログ経路は、主信号経路Ｐ１とすると説明したが、これに限定されるものではなく、主信号経路Ｐ１が、リンク遅延以外のパラメータも考慮して特定されたものである場合には、最小リンク遅延経路を正常時のログ経路とし、別のラベル値を付与するように構成してもよい。このように構成しても、使用されるラベル値の増加は一つだけである。
【０１９４】
また、上記実施形態において、同時に発生する異常ＧＷ装置２０は一台と仮定して迂回用ラベルパス情報テーブルＴ７を構成したが、これに限定されるものではなく、同時に複数台のＧＷ装置２０に異常が発生することを想定して迂回用ラベルパス情報テーブルＴ７を構成してもよい。例えば、同時に２台のＧＷ装置２０に異常が発生することを想定した場合、迂回用ラベルパス情報テーブルＴ７は、図２８の例のように、構成すればよい。図２８は、本実施形態における迂回用ラベルパス情報テーブルＴ７の他の例を示す図である。
【０１９５】
また、上記実施形態のログ転送処理において、正常時ラベル値と一致しないと判定した場合には（ステップＳ３１７；ＮＯ）、転送処理部２３Ｅは、データエリアに格納したログを削除する（ステップＳ３１８）ように構成したが、これに限定されるものではなく、例えば、この場合には、ログを直接ＧＷコントローラ１０に送信するように構成してもよい。
【０１９６】
この場合、図２９を例示するように処理を構成すればよい。つまり、図２９を参照して、正常時ラベル値と一致しないと判定した場合には（ステップＳ３１７；ＮＯ）、転送処理部２３Ｅは、転送先のＧＷ装置２０の識別子ＧＷｋをログに追加付与して（ステップＳ３１７Ａ）、ログをＧＷコントローラ１０に直接送信する（ステップＳ３１７Ｂ）。そして、転送処理部２３Ｅは、データエリアに格納したログを削除する（ステップＳ３１８）。ここで、図２９は、本実施形態におけるログ転送処理のフローを説明するためのフローチャートの他の例の一部である。
【０１９７】
図３０は、本実施形態におけるＧＷコントローラ１０とＧＷ装置２０のハードウェア構成の例を示す図である。図２に示すＧＷコントローラ１０と、図１１に示すＧＷ装置２０は、例えば、図３０に示す各種ハードウェアにより実現されてもよい。図３０の例では、ＧＷコントローラ１０（又は、ＧＷ装置２０）は、ＭＰＵ２０１、ＰＨＹ（PHYsical layer）チップ２０２、およびタイマＩＣ（Integrated Circuit）２０３を備える。また、ＧＷコントローラ１０（又は、ＧＷ装置２０）は、ＤＲＡＭ（Dynamic Random Access Memory）２０４、フラッシュメモリ２０５、無線通信モジュール２０６、および読取装置２０７を備える。
【０１９８】
ＭＰＵ２０１とＰＨＹチップ２０２の間を接続する通信インタフェースは、ＭＩＩ／ＭＤＩＯ（Media Independent Interface or Management Data Input/Output）２０９である。ＭＩＩとＭＤＩＯはいずれも、物理層とＭＡＣ（Media Access Control sublayer）副層との間のインタフェースである。また、ＭＰＵ２０１とタイマＩＣ２０３は、Ｉ２Ｃ／ＰＩＯ（Inter-Integrated Circuit or Parallel Input/Output）バス２１０を介して、接続されている。そして、ＤＲＡＭ２０４とフラッシュメモリ２０５と無線通信モジュール２０６と読取装置２０７は、ＰＣＩ（Peripheral Component Interconnect）バス２１１を介して、ＭＰＵ２０１に接続されている。
【０１９９】
ＭＰＵ２０１は、不揮発性記憶装置の一種であるフラッシュメモリ２０５に格納された動作プログラムをＤＲＡＭ２０４にロードし、ＤＲＡＭ２０４をワーキングメモリとして使いながら各種処理を実行する。ＭＰＵ２０１は、動作プログラムを実行することで、図２に示す制御部１３（又は、図１１に示す制御部２３）の各機能部を実現することができる。
【０２００】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magnet Optical disk）などのコンピュータで読み取り可能な記録媒体２０８に記憶して配布し、これをＧＷコントローラ１０（又は、ＧＷ装置２０）の読取装置２０７で読み取ってコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、ＰＨＹチップ２０２もしくは無線通信モジュール２０６を介して、ＧＷコントローラ１０（又は、ＧＷ装置２０）のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
【０２０１】
なお、実施形態に応じて、ＤＲＡＭ２０４やフラッシュメモリ２０５以外の他の種類の記憶装置が利用されてもよい。例えば、ＧＷコントローラ１０（又は、ＧＷ装置２０）は、ＣＡＭ（Content Addressable Memory）、ＳＲＡＭ（Static Random Access Memory）、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などの記憶装置を有してもよい。
【０２０２】
図３に示すトポロジ／リンク状態管理テーブルＴ１などのテーブルは、ＤＲＡＭ２０４、フラッシュメモリ２０５、あるいは不図示のその他の記憶装置により実現される。
【０２０３】
ＰＨＹチップ２０２は、有線接続における物理層の処理を行う回路である。タイマＩＣ２０３は、設定された時間が経過するまでカウントアップ動作を行い、設定された時間が経過すると割り込み信号を出力する回路である。
【０２０４】
無線通信モジュール２０６は、無線接続における物理層の処理を行うハードウェアである。無線通信モジュール２０６は、例えば、アンテナ、ＡＤＣ（Analog-to-Digital Converter）、ＤＡＣ（Digital-to-Analog Converter）、変調器、復調器、符号化器、復号器などを含む。
【０２０５】
なお、実施形態に応じて、ＧＷコントローラ１０（又は、ＧＷ装置２０）のハードウェア構成は図３０とは異なっていてもよく、図３０に例示した規格・種類以外のその他のハードウェアをＧＷコントローラ１０（又は、ＧＷ装置２０）に適用することもできる。
【０２０６】
例えば、図２に示す制御部１３（又は、図１１に示す制御部２３）の各機能部は、ハードウェア回路により実現されてもよい。具体的には、ＭＰＵ２０１の代わりに、ＦＰＧＡ（Field Programmable Gate Array）などのリコンフィギュラブル回路や、ＡＳＩＣ（Application Specific Integrated Circuit）などにより、これら図２に示す制御部１３（又は、図１１に示す制御部２３）の各機能部が実現されてもよい。もちろん、ＭＰＵ２０１とハードウェア回路の双方により、これらの機能部が実現されてもよい。
【０２０７】
以上において、いくつかの実施形態について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【０２０８】
以上の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延を管理している管理情報を格納する記憶手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定する第１の経路特定手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定する第２の経路特定手段と、
前記第１の転送経路に対して、同一の経路識別情報を割り当てる第１の割当手段と、
前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当てる第２の割当手段と、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てられた前記経路識別情報を含む第１のルールを生成し、生成した前記第１のルールを対応する前記転送元の前記中継装置に送信する第１のルール生成手段と、
を備える、
ことを特徴とするデータ転送制御装置。
（付記２）
前記第２の割当手段は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る前記第２の転送経路における経路部分が同一の経路に対して、同一の前記経路識別情報を割り当てる、
ことを特徴とする付記１に記載のデータ転送制御装置。
（付記３）
前記第１の転送経路と前記第２の転送経路とに基づいて、前記中継装置毎に、当該中継装置の前記第１の転送経路と前記第２の転送経路におけるそれぞれの転送先となる前記中継装置の前記装置識別情報と、対応する前記第１の転送経路と前記第２の転送経路にそれぞれ割り当てられた前記経路識別情報と、を対応付けた情報を含む第２のルールを生成し、生成した前記第２のルールを対応する前記中継装置に送信する第２のルール生成手段と、
前記中継装置が生成した前記リンク状態を示す前記情報に、前記第１の転送経路に対して割り当てられた前記経路識別情報を付与させるための第３のルールを生成し、生成した前記第３のルールを各中継装置に送信する第３のルール生成手段と、
を、更に、備える、
ことを特徴とする付記１又は２に記載のデータ転送制御装置。
（付記４）
前記第２の転送経路は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る経路部分が、各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする付記１乃至３のいずれか一に記載のデータ転送制御装置。
（付記５）
前記第１の転送経路は、主信号の転送経路としても利用される、
ことを特徴とする付記１乃至４のいずれか一に記載のデータ転送制御装置。
（付記６）
前記第１の転送経路は、前記入口から前記出口に至る各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする付記１乃至５のいずれか一に記載のデータ転送制御装置。
（付記７）
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のデータ転送制御方法であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定し、
特定した前記第１の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
ことを特徴とするデータ転送制御方法。
（付記８）
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のコンピュータに、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定し、
特定した前記第１の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
処理を実行させる、
ことを特徴とするプログラム。
（付記９）
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のコンピュータに、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第１の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第１の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第２の転送経路をそれぞれ特定し、
特定した前記第１の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第２の転送経路に対して、対応する前記第１の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第１の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第２の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
処理を実行させるプログラムを記憶した記録媒体。
【符号の説明】
【０２０９】
１００    ネットワークシステム
ＦＬＤ    フィールド
ＤＣ      データセンタ
１０      ＧＷコントローラ
１１      通信部
１２      記憶部
Ｔ１      トポロジ／リンク状態管理テーブル
Ｔ２      ＧＷアドレス管理テーブル
Ｔ３      入口・出口管理テーブル
Ｔ４      購読管理テーブル
Ｔ５      アプリ収容先ＧＷ管理テーブル
Ｔ６      主信号ラベルパス情報テーブル
Ｔ７      迂回用ラベルパス情報テーブル
Ｔ８      空きラベル値管理テーブル
１３      制御部
１３Ａ    経路計算部
１３Ｂ    ラベル値割当部
１３Ｃ    データ・ラベルＭＡＰ処理部
１３Ｄ    ルール生成部
１３Ｅ    更新部
２０      ゲートウェイ装置
ＧＷｋ    ゲートウェイ装置の識別子
２１      通信部
２２      記憶部
Ｔ９      主信号転送テーブル
Ｔ１０    主信号用アドレス解決テーブル
Ｔ１１    ログ転送テーブル
Ｔ１２    ログ用アドレス解決テーブル
Ｔ１３    迂回用ラベル値管理テーブル
Ｔ１４    峻別テーブル
Ｔ１５    アプリ振分テーブル
２３      制御部
２３Ａ    リンク状態計測部
２３Ｂ    テーブル設定部
２３Ｃ    ラベル値特定部
２３Ｄ    ＡＣＫ処理部
２３Ｅ    転送処理部
２３Ｆ    タイマ
２３Ｇ    迂回路特定部
２３Ｈ    アプリ振分部
３０      機器
４０      アプリケーションサービス提供サーバ
２０１    ＭＰＵ
２０２    ＰＨＹチップ
２０３    タイマＩＣ
２０４    ＤＲＡＭ
２０５    フラッシュメモリ
２０６    無線通信モジュール
２０７    読取装置
２０８    記録媒体
２０９    ＭＩＩ／ＭＤＩＯ
２１０    Ｉ２Ｃ／ＰＩＯバス
２１１    ＰＣＩバス
【図１】
2015192386.tif 000003
【図２】
2015192386.tif 000004
【図３】
2015192386.tif 000005
【図４】
2015192386.tif 000006
【図５】
2015192386.tif 000007
【図６】
2015192386.tif 000008
【図７】
2015192386.tif 000009
【図８】
2015192386.tif 000010
【図９】
2015192386.tif 000011
【図１０】
2015192386.tif 000012
【図１１】
2015192386.tif 000013
【図１２】
2015192386.tif 000014
【図１３】
2015192386.tif 000015
【図１４】
2015192386.tif 000016
【図１５】
2015192386.tif 000017
【図１６】
2015192386.tif 000018
【図１７】
2015192386.tif 000019
【図１８】
2015192386.tif 000020
【図１９】
2015192386.tif 000021
【図２０】
2015192386.tif 000022
【図２１】
2015192386.tif 000023
【図２２】
2015192386.tif 000024
【図２３】
2015192386.tif 000025
【図２４】
2015192386.tif 000026
【図２５】
2015192386.tif 000027
【図２６】
2015192386.tif 000028
【図２７】
2015192386.tif 000029
【図２８】
2015192386.tif 000030
【図２９】
2015192386.tif 000031
【図３０】
2015192386.tif 000032