以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
まず、図1を参照して、本実施形態におけるネットワークシステム100について説明する。図1は、本実施形態におけるネットワークシステム100の構成例を示す図である。
ネットワークシステム100は、本システムを構成するゲートウェイ装置(以下、GW装置という)20間の遅延等のリンク状態に応じて、最適経路を維持するオーバレイネットワークシステムの一例である。ネットワークシステム100は、図1に示すように、データ転送制御装置(以下、GWコントローラという)10と、複数のGW装置20と、複数の機器30と、複数のアプリケーションサービス提供サーバ(以下、SAサーバという)40、を含んで構成されている。なお、以下において、特定のGW装置20を表わす場合には、GW装置20を一意に識別可能な識別子(例えば、装置ID(IDentification))GWk(k=1,2,・・・)を付して、GW装置GW1などと称することとする。
ネットワークシステム100を構成する装置間には、リンクが存在しており、図1では、リンクを実線で表している。
ここで、リンクは、TCPコネクションまたはUDPの疑似的なコネクションなどの、論理的なリンクのことである。リンクは、無線回線や有線回線などの1ホップの物理回線上に作られていても良いし、1以上のルータを経由していても良い。
例えば、図1を参照して、GW装置GW1とGW装置GW2とが、他のGW装置20による中継を経ることなく、直接、通信可能な場合に、「GW装置GW1とGW装置GW2との間にリンクが存在する」という。GW装置GW1とGW装置GW2は、このリンク経由でデータ通信を行う。リンクの負荷や状態は、動的に変化する。例えば、GW装置20などの装置が可動式であれば、装置間の距離の変動によって、GW装置20間のIPの経路を構成する経路が変化した結果、リンク経由の通信の遅延時間が変わることもある。また、例えば、震災に伴うケーブルの切断等の障害が起きた結果、特定リンクを通じた通信ができなくなることもある。また、例えば、インターネット上であるユーザが動画視聴を行った結果、特定のルータ間の帯域が枯渇し、そのルータを通るコネクション経由のデータ転送の遅延時間(GW装置やルータによる送信待ち時間)が著しく増大することもある。
機器30は、フィールドFLDに設置され、例えば、電力メータ等のセンサ類から情報を収集し、収集した情報を送信する装置である。SAサーバ40は、データセンタDC内に設置され、機器30から収集した情報の解析、解析結果の提供などを行う装置である。
図2は、本実施形態におけるネットワークシステム100を構成するGWコントローラ10の構成例を示す機能ブロック図である。
GWコントローラ10は、ネットワークシステム100を構成するGW装置20のデータ転送を制御するデータ転送制御装置であり、図2に示すように、通信部11と、記憶部12と、制御部13と、を備えて構成されている。
通信部11は、通信モジュールなどで構成され、各GW装置20との間で通信を行う。例えば、通信部11は、各GW装置20に対して、データの転送先GW装置20を指定する転送ルール(詳しくは後述)などを送信する。
記憶部12は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどで構成されている。記憶部12は、制御部13を構成する、例えば、MPU(Micro-Processing Unit)のワークエリア、GWコントローラ10全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述のトポロジ/リンク状態管理テーブルT1などのテーブルなど、各種データを格納するデータエリアとして機能する。
ここで、図3乃至図10を参照して、記憶部12のデータエリアに格納されているトポロジ/リンク状態管理テーブルT1などのテーブルについて説明する。
図3は、本実施形態におけるトポロジ/リンク状態管理テーブルT1の例を示す図であり、初期状態を表わしている。
トポロジ/リンク状態管理テーブルT1は、更新部13E(詳しくは後述)などにより管理され、ネットワークシステム100を構成するGW装置20がどのような位置関係で接続されているかを表すトポロジとGW装置20間に存在する各リンクの遅延(以下、リンク遅延という)を管理しているテーブルである。本実施形態におけるトポロジ/リンク状態管理テーブルT1は、図3に示すように、各GW装置20間に存在するリンク毎に、リンク遅延(単位:ms)が対応付けられているテーブルである。ここで、リンク遅延は、例えば、リンクを構成するGW装置20間の往復遅延の計測結果であり、この往復遅延は、例えば、PINGコマンドを用いて、各GW装置20により計測される。各GW装置20は、リンク遅延などのリンク状態を収集し、収集したリンク状態をログとして指定されている転送先GW装置20に送信することで、GWコントローラ10に届ける。
なお、トポロジ/リンク状態管理テーブルT1の初期設定は、例えば、ネットワークシステム100の管理者が行ってもよいし、ネットワークシステム100の運用開始時のみの限定で、各GW装置20が計測したリンク遅延などを含むログをGWコントローラ10に直接送信させ、GWコントローラ10の更新部13Eが、収集したリンク遅延に基づいて、トポロジ/リンク状態管理テーブルT1を初期設定するように構成してもよい。
図4は、本実施形態におけるGWアドレス管理テーブルT2の例を示す図である。GWアドレス管理テーブルT2は、ネットワークシステム100を構成する各GW装置20のアドレスを管理しているテーブルであり、図4に示すように、GW装置20の識別子GWkと、当該GW装置20のIP(Internet Protocol)アドレスと、が対応付けられているテーブルである。
図5は、本実施形態における入口・出口管理テーブルT3の例を示す図である。入口・出口管理テーブルT3は、入口GW装置20と出口GW装置20を管理しているテーブルであり、図5に示すように、GW装置20の識別子GWkと、入口GW装置20か否かを示す入口フラグと、出口GW装置20か否かを示す出口フラグと、が対応付けられているテーブルである。なお、本実施形態においては、入口フラグのフラグ値が“1”の場合に、入口GW装置20であることを示し、同様に、出口フラグのフラグ値が“1”の場合に、出口GW装置20であることを示すものとする。つまり、図5の例では、図1に示すネットワークシステム100を構成する全GW装置20が、入口GW装置20であり、且つ、出口GW装置20であることを示している。
ここで、入口GW装置20は、例えば、機器30から最初にデータを受け取るGW装置20である。また、例えば、ログの生成元のGW装置20である。すなわち、本実施形態においては、全GW装置20が、入口GW装置20として機能するものと想定している。出口GW装置20は、例えば、機器30、又は、SAサーバ40の直前に設置されているGW装置20である。
図6は、本実施形態における購読管理テーブルT4の例を示す図である。購読管理テーブルT4は、GWコントローラ10とSAサーバ40のそれぞれが収集対象とするデータの種別(以下、データ種別)と、そのデータ種別に属するデータの送信先アドレスを管理しているテーブルであり、管理者により予め設定される。
購読管理テーブルT4は、図6に示すように、アプリIDと、データ種別と、アドレスと、が対応付けられているテーブルである。アプリIDは、データを収集するGWコントローラ10(又は、各SAサーバ40)を一意に識別可能な識別子であり、例えば、装置IDである。アドレスは、GWコントローラ10(又は、各SAサーバ40)が収集対象とするデータの送信先URL(Uniform Resource Locator)である。
なお、図6中の「gw_ctl」、「type=log」、「http://gw_ctl/log」は、それぞれ、GWコントローラ10の装置ID、GWコントローラ10が収集対象とするデータがログであること、ログの送信先URL、を示している。
図7は、本実施形態におけるアプリ収容先GW管理テーブルT5の例を示す図である。アプリ収容先GW管理テーブルT5は、GWコントローラ10とSAサーバ40の直前に設置されているGW装置20である収納先GW装置20を管理しているテーブルであり、図7に示すように、アプリIDと、収納先GW装置20の識別子GWkと、が対応付けられているテーブルである。図7の例では、GWコントローラ10の収納先GW装置20は、GW装置GW1であることを示している。
図8は、本実施形態における主信号ラベルパス情報テーブルT6の例を示す図である。主信号ラベルパス情報テーブルT6は、経路計算部13A(詳しくは後述)とラベル値割当部13B(詳しくは後述)により管理され、入口GW装置20と出口GW装置20とのペア(以下、入口/出口ペアという)毎に、主信号用の最適経路を管理しているテーブルである。
主信号ラベルパス情報テーブルT6は、図8に示すように、入口/出口ペア毎に、主信号経路P1と、主信号ラベル値と、が対応付けられているテーブルである。
主信号は、アプリケーションサービスを提供する際に発生する、機器30又はSAサーバ40により送信されるデータ(信号)であり、例えば、機器30がセンサ類から取得した情報のデータである。
主信号経路P1は、リンク遅延、揺らぎ、帯域などのパラメータに基づいて、経路計算部13Aにより計算された主信号用の最適経路であると共に、詳しくは後述するが、正常時におけるログ用の経路としても利用される。
例えば、図8を参照して、入口GW装置GW4と出口GW装置GW1との入口/出口ペアにおける最適経路(主信号経路P1)は、GW装置GW4、GW装置GW3、GW装置GW2、GW装置GW1の順にGW装置20を経由する経路であることを示している。なお、以下において、経路を表わす場合には、経路{GW4,GW3,GW2,GW1}の様に表すこととする。経路{GW4,GW3,GW2,GW1}は、GW装置GW4、GW装置GW3、GW装置GW2、GW装置GW1の順にGW装置20を経由する経路である。
主信号ラベル値は、ラベル値割当部13Bにより割り当てられた主信号経路P1のラベル値である。本実施形態では、図8に示すように、出口GW装置20毎にラベル値が割り当てられるものとする。このように構成することで、メモリ資源を削減し、GW装置20の低コスト化を図っている。なお、以下において、ラベル値が割り当てられている経路を、ラベルパスと称することもある。
図9は、本実施形態における迂回用ラベルパス情報テーブルT7の例を示す図である。迂回用ラベルパス情報テーブルT7は、経路計算部13Aとラベル値割当部13Bにより管理され、GWコントローラ10の収容先GW装置20以外のGW装置20の中から、障害などの異常によりデータ転送ができないGW装置20を一つ仮定し、この場合におけるログ用の迂回路として最適な経路(以下、迂回用経路という)P2を管理しているテーブルである。なお、以下において、異常によりデータ転送ができないGW装置20を、異常GW装置20と称し、異常GW装置20と仮定するGW装置20を、異常仮定GW装置20と称することとする。
迂回用ラベルパス情報テーブルT7は、図9に示すように、入口/出口ペア毎に、主信号ラベル値と、異常仮定GW装置20の識別子GWkと、その場合の迂回用経路P2と、迂回用ラベル値と、が対応つけられているテーブルである。
主信号ラベル値は、図9に示すように、迂回用ラベルパス情報テーブルT7で管理されている入口/出口ペアの出口GW装置20がGW装置GW1のみであることから、全て同じ値となる。これは、上述したように、ログを収集するGWコントローラ10の収納先GW装置20がGW装置GW1であることから、迂回用ラベルパス情報テーブルT7では、出口GW装置20としてGW装置GW1のみを考慮すればよいからである。
異常仮定GW装置20は、上述したように、異常の発生を仮定したGW装置20であり、本実施形態においては、入口GW装置20と出口GW装置20以外のGW装置20を異常仮定GW装置20とする。これは、GWコントローラ10の収納先GW装置20であるGW装置GW1は、図1に示すように、データセンタDC内に設置されており、通常冗長化されていることから、GW装置GW1(GWコントローラ10の収納先GW装置20)の異常を考慮する必要はないからである。
なお、迂回用ラベルパス情報テーブルT7で管理されている入口/出口ペアの各主信号経路P1における中継GW装置20のみを異常仮定GW装置20とするように構成してもよい。このように構成することで、異常仮定GW装置20に、実際、異常が発生した際に影響を受けない主信号経路P1を除外し、エントリ数を削減することが可能となり、メモリ資源を有効活用することが可能となる。
中継GW装置20は、ここでは、入口GW装置20と出口GW装置20以外の経路上のGW装置20であり、例えば、図8を参照して、入口GW装置GW4と出口GW装置GW1との入口/出口ペアに対応する主信号経路P1の中継GW装置20は、GW装置GW3とGW装置GW2である。
迂回用経路P2は、異常仮定GW装置20に、実際、異常が発生した際のログ用の迂回経路であり、異常仮定GW装置20に異常が発生したものとして、リンク遅延のみに基づいて、経路計算部13Aにより計算される。例えば、異常仮定GW装置20をGW装置GW2とした場合の、入口GW装置GW3と出口GW装置GW1との入口/出口ペアにおける迂回用経路P2は、経路{GW3,GW4,GW6,GW1}となる。なお、迂回用経路P2の特定方法については、詳しく後述する。
迂回用ラベル値は、ラベル値割当部13Bにより各迂回用経路P2に対して割り当てられるラベル値であり、正常時に利用する主信号経路P1の中継GW装置20が異常仮定GW装置20である場合には、主信号ラベル値とは異なるラベル値が、迂回用ラベル値として割り当てられる。
例えば、図9を参照して、異常仮定GW装置20をGW装置GW2とした場合、入口GW装置GW3と出口GW装置GW1との入口/出口ペアにおける迂回用経路P2の迂回用ラベル値として、主信号ラベル値L1とは異なるラベル値L7が割り当てられる。また、例えば、同じく異常仮定GW装置20をGW装置GW2とした場合、入口GW装置GW5と出口GW装置GW1との入口/出口ペアにおける迂回用経路P2の迂回用ラベル値として、主信号ラベル値と同じラベル値L1が割り当てられる。これは、異常仮定GW装置GW2に、実際、異常が発生したとしても、GW装置GW2は主信号経路P1の経路上にないことから、ログ転送には影響がないからである。
図10は、本実施形態における空きラベル値管理テーブルT8の例を示す図である。空きラベル値管理テーブルT8は、ラベル値割当部13Bにより管理され、割り当てられていないラベル値(以下、空きラベル値という)を管理しているテーブルであり、図10に示すように、ラベル値毎に使用中フラグが対応付けられているテーブルである。
使用中フラグは、対応するラベル値が空きラベル値か否かを示すフラグであり、本実施形態においては、フラグ値“1”は、使用中のラベル値であることを示し、フラグ値“0”は、空きラベル値であることを示すものとする。
図2に戻り、制御部13は、例えば、MPUなどで構成され、記憶部12のプログラムエリアに格納されている動作プログラムを実行して、図2に示すように、経路計算部13Aと、ラベル値割当部13Bと、データ・ラベルMAP処理部13Cと、ルール生成部13Dと、更新部13Eとしての機能を実現すると共に、GWコントローラ10全体を制御する制御処理や詳しくは後述の主信号ラベルパス生成処理などの処理を実行する。
経路計算部13Aは、主信号経路P1を特定する。より具体的には、経路計算部13Aは、所定のタイミングが到来すると、トポロジ/リンク状態管理テーブルT1を参照して、ネットワークシステム100を構成するGW装置20のトポロジとリンクが存在する各GW装置20間のリンク遅延の情報(以下、トポロジ/リンク情報という)を取得する。この際、経路計算部13Aは、必要に応じて、揺らぎや帯域などの他のパラメータを取得する。
そして、経路計算部13Aは、入口・出口管理テーブルT3を参照して、全入口/出口ペアを特定し、少なくともトポロジ/リンク情報に基づいて、特定した全入口/出口ペアに対し、主信号経路P1を計算する。そして、経路計算部13Aは、入口/出口ペア毎に特定した主信号経路P1を対応付けて主信号ラベルパス情報テーブルT6に格納する。
ここで、所定のタイミングとしては、ネットワークシステム100の運用開始時、管理者によるGW装置20の追加や削除などのトポロジ変更時、GWコントローラ10によるGW装置20の異常検知時、GWコントローラ10によるリンク遅延の変化検知時などが想定される。
また、経路計算部13Aは、迂回用経路P2を特定する。より具体的には、経路計算部13Aは、所定のタイミングが到来すると、トポロジ/リンク状態管理テーブルT1を参照して、トポロジ/リンク情報を取得する。そして、経路計算部13Aは、アプリ収容先GW管理テーブルT5を参照して、自GWコントローラ10の収容先GW装置20を特定し、特定した収容先GW装置20を除くGW装置20の中から、未選択のGW装置20を一つ異常仮定GW装置20として選択する。
そして、経路計算部13Aは、入口・出口管理テーブルT3を参照して、選択した異常仮定GW装置20がトポロジに存在しない場合の、特定した収容先GW装置20を出口GW装置20とする全入口/出口ペアを特定する。そして、経路計算部13Aは、特定した全入口/出口ペアに対応する主信号経路P1の内で、選択した異常仮定GW装置20に異常が発生しても影響を受けない主信号経路P1については、その主信号経路P1を迂回用経路P2として特定する。一方、影響を受ける主信号経路P1、すなわち、その経路上に選択した異常仮定GW装置20が存在する主信号経路P1については、取得したトポロジ/リンク情報に基づいて、選択した異常仮定GW装置20の直前のGW装置20から出口GW装置20(特定した収容先GW装置20)までの最適経路(最小リンク遅延経路)を計算して、迂回用経路P2を特定する。そして、経路計算部13Aは、入口/出口ペア毎に特定した迂回用経路P2を対応付けて迂回用ラベルパス情報テーブルT7に格納する。
例えば、図3と図8と図9を参照して、異常仮定GW装置20がGW装置GW2の場合において、入口GW装置GW4と出口GW装置GW1との入口/出口ペアに対応する主信号経路P1は、経路{GW4,GW3,GW2,GW1}であり、異常仮定GW装置GW2が経路上に存在している。したがって、経路計算部13Aは、異常仮定GW装置GW2の直前のGW装置GW3から出口GW装置GW1までの最適経路(最小リンク遅延経路)を計算し、経路{GW3,GW4,GW6,GW1}を求め、経路{GW4,GW3,GW4,GW6,GW1}を迂回用経路P2として特定する。
ここで、トポロジ/リンク情報(リンク遅延)のみに基づいて迂回用経路P2を計算するのは、迂回用経路P2はログ用の経路であり、ログは所定の遅延時間内にGWコントローラ10に届けばよいからである。迂回用経路P2を計算する所定のタイミングは、主信号経路P1における所定のタイミングと基本的には同じである。但し、迂回用経路P2を計算する前に、主信号経路P1が計算され、GWコントローラ10によるGW装置20の異常検知時、及び、リンク遅延の変化検知時においては、迂回用経路P2の計算頻度は、主信号経路P1の計算頻度より少なくてもよい。つまり、GWコントローラ10によるGW装置20の異常検知時、及び、リンク遅延の変化検知時においては、毎回、迂回用経路P2を計算しなくてもよい。これは、ログについては迂回用経路P2を予め用意しているからである。
ラベル値割当部13Bは、経路計算部13Aにより特定された主信号経路P1に対して、ラベル値を割り当てる。より具体的には、ラベル値割当部13Bは、主信号ラベルパス情報テーブルT6を参照して、未選択の入口/出口ペアを一つ選択し、出口GW装置20の識別子GWkをキーとして主信号ラベルパス情報テーブルT6を検索して、選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に有る否かを判定する。
選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に有る場合には、ラベル値割当部13Bは、更に、主信号ラベル値をキーとして主信号ラベルパス情報テーブルT6を検索して、選択した入口/出口ペアと出口GW装置20が同じ他の入口/出口ペアの中に、対応する主信号経路P1に対してラベル値が既に割り当てられている入口/出口ペアが有るか否かを判定する。
そして、ラベル値が既に割り当てられている入口/出口ペアが有る場合には、ラベル値割当部13Bは、その入口/出口ペアと同じラベル値を、主信号ラベル値として、選択した入口/出口ペアの主信号経路P1に割り当てる。
一方、選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に無い場合、あるいは、選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に有るが、その中に、ラベル値が既に割り当てられている入口/出口ペアが無い場合には、ラベル値割当部13Bは、空きラベル値管理テーブルT8を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“1”に設定する。そして、ラベル値割当部13Bは、選択したラベル値を、主信号ラベル値として、選択した入口/出口ペアの主信号経路P1に割り当てる。
そして、ラベル値割当部13Bは、割り当てた主信号ラベル値を選択した入口/出口ペアの主信号経路P1に対応付けて、主信号ラベルパス情報テーブルT6に格納する。
また、ラベル値割当部13Bは、経路計算部13Aにより特定された迂回用経路P2に対して、ラベル値を割り当てる。より具体的には、ラベル値割当部13Bは、迂回用ラベルパス情報テーブルT7を参照して、異常仮定GW装置20を一つ選択し、選択した異常仮定GW装置20に対応する入口GW装置20の中から一つ選択する。すなわち、ラベル値割当部13Bは、自GWコントローラ10の収納先GW装置20と選択した異常仮定GW装置20を除く入口GW装置20の中から一つ選択する。
そして、ラベル値割当部13Bは、迂回用ラベルパス情報テーブルT7を参照して、対応する迂回用経路P2を特定すると共に、対応する主信号ラベル値を取得する。そして、ラベル値割当部13Bは、主信号ラベルパス情報テーブルT6と迂回用ラベルパス情報テーブルT7を参照して、特定した迂回用経路P2は、対応する主信号経路P1と同一経路か否かを判定する。
特定した迂回用経路P2と対応する主信号経路P1とが同一経路の場合には、ラベル値割当部13Bは、取得した主信号ラベル値と同じラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる。
一方、特定した迂回用経路P2と対応する主信号経路P1とが同一経路では無い場合には、ラベル値割当部13Bは、更に、迂回用ラベルパス情報テーブルT7を参照して、選択した異常仮定GW装置20に対応する選択した入口GW装置20以外の入口GW装置20の中に、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20が有るか否かを判定する。
そして、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20が有る場合には、ラベル値割当部13Bは、主信号ラベル値とは異なるそのラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる。
一方、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20が無い場合には、ラベル値割当部13Bは、空きラベル値管理テーブルT8を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“1”に設定する。そして、ラベル値割当部13Bは、選択したラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる。
そして、ラベル値割当部13Bは、割り当てた迂回用ラベル値を特定した迂回用経路P2に対応付けて、迂回用ラベルパス情報テーブルT7に格納する。
データ・ラベルMAP処理部13Cは、自GWコントローラ10とSAサーバ40が収集対象とするデータ種別毎に、データとラベル値とを対応付ける処理などを行う。より具体的には、データ・ラベルMAP処理部13Cは、購読管理テーブルT4を参照して、登録されている情報(以下、購読条件情報という)を取得すると共に、アプリ収容先GW管理テーブルT5を参照して、登録されている情報(以下、収容先GW情報という)を取得する。
そして、データ・ラベルMAP処理部13Cは、取得した購読条件情報と収容先GW情報とに基づいて、データ種別毎に対応する収容先GW装置20をそれぞれ特定し、特定した収容先GW装置20それぞれに対し、主信号ラベルパス情報テーブルT6を参照して、収容先GW装置20を出口GW装置20として、対応する主信号ラベル値を特定する。データ・ラベルMAP処理部13Cは、このようにして、データ種別毎にデータと主信号ラベル値とを対応付ける。
例えば、図6と図7を参照して、データ種別がログの場合には、データ・ラベルMAP処理部13Cは、ログに対応する収容先GW装置20としてGW装置GW1を特定する。そして、図8を参照して、GW装置GW1が出口GW装置20の場合の主信号ラベル値はL1であることから、データ・ラベルMAP処理部13Cは、ログに対応する主信号ラベル値としてL1を特定する。
ルール生成部13Dは、GW装置20に配布する各種のルールを生成し、生成したルールを配布対象のGW装置20宛に送信する。
例えば、ルール生成部13Dは、主信号ラベルパス情報テーブルT6を参照して、主信号転送テーブル用ルールをGW装置20毎に生成し、生成した主信号転送テーブル用ルールを対応するGW装置20宛に送信する。主信号転送テーブル用ルールは、主信号を受信したGW装置20に対し、付与されているラベル値に応じた転送先GW装置20を指定するルールであり、主信号経路P1に割り当てられたラベル値毎に、転送先GW装置20の識別子GWkを対応付けた情報を含んでいる。
例えば、図8を参照して、主信号ラベル値L1については、GW装置GW1が出口GW装置20である。したがって、GW装置GW1宛の主信号転送テーブル用ルールでは、ルール生成部13Dは、ラベル値L1に対して転送先GW装置20が無いことを示す、例えば、“NULL”を対応付ける。また、例えば、GW装置GW3宛の主信号転送テーブル用ルールでは、主信号ラベル値L1に対応する主信号経路P1における、GW装置GW3の転送先GW装置20はGW装置GW2である。したがって、ルール生成部13Dは、ラベル値L1に対して識別子GW2を対応付ける。
また、例えば、ルール生成部13Dは、GWアドレス管理テーブルT2を参照して、転送先GW装置20のアドレスを示す主信号用アドレス解決テーブル用ルールをGW装置20毎に生成し、生成した主信号用アドレス解決テーブル用ルールを対応するGW装置20宛に送信する。より具体的には、ルール生成部13Dは、GWアドレス管理テーブルT2を参照して、GW装置20毎に生成した主信号転送テーブル用ルールに含まれる識別子GWkのGW装置20のアドレスを特定し、特定したアドレスと識別子GWkとを対応付けた情報を含んでいる主信号用アドレス解決テーブル用ルールを生成する。
また、例えば、ルール生成部13Dは、迂回用ラベルパス情報テーブルT7を参照して、ログ転送テーブル用ルールをGW装置20毎に生成し、生成したログ転送テーブル用ルールを対応するGW装置20宛に送信する。ログ転送テーブル用ルールは、ログを受信したGW装置20に対し、付与されているラベル値に応じた転送先GW装置20を指定するルールであり、受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値毎に、転送先GW装置20の識別子GWkを対応付けた情報を含んでいる。
例えば、図9を参照して、ログについては、GW装置GW1が収容先GW装置20(出口GW装置20)であり、GW装置GW1が受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値は、L1、L7〜L9である。したがって、GW装置GW1宛のログ転送テーブル用ルールでは、ルール生成部13Dは、ラベル値L1、L7〜L9それぞれに対して転送先GW装置20が無いことを示す、例えば、“NULL”を対応付ける。また、例えば、GW装置GW4宛のログ転送テーブル用ルールでは、GW装置GW4が受信するログに付与されている、又は、送信するログに付与する可能性があるラベル値はL1、L7、L8であり、ラベル値L1、L7、L8にそれぞれ対応する転送先GW装置20の識別子GWkは、GW3、GW6、GW2である。したがって、GW装置GW4宛のログ転送テーブル用ルールでは、ルール生成部13Dは、ラベル値L1、L7、L8に対して、それぞれ、識別子GW3、GW6、GW2を対応付ける。
また、例えば、ルール生成部13Dは、GWアドレス管理テーブルT2を参照して、転送先GW装置20のアドレスを示すログ用アドレス解決テーブル用ルールをGW装置20毎に生成し、生成したログ用アドレス解決テーブル用ルールを対応するGW装置20宛に送信する。より具体的には、ルール生成部13Dは、GWアドレス管理テーブルT2を参照して、GW装置20毎に生成したログ転送テーブル用ルールに含まれる識別子GWkのGW装置20のアドレスを特定し、特定したアドレスと識別子GWkとを対応付けた情報を含んでいるログ用アドレス解決テーブル用ルールを生成する。
また、例えば、ルール生成部13Dは、ログの転送先GW装置20に異常が発生した際にログを転送する迂回用GW装置20に対応するラベル値を示す迂回用ラベル値管理テーブル用ルールを、異常が発生する可能性があるGW装置20を転送先とする転送元のGW装置20毎に生成し、生成した迂回用ラベル値管理テーブル用ルールを対応する転送元のGW装置20宛に送信する。
より具体的には、ルール生成部13Dは、迂回用ラベルパス情報テーブルT7を参照して、主信号ラベル値とは異なるラベル値を迂回用ラベル値として割り当てられた迂回用経路P2を特定すると共に、主信号ラベルパス情報テーブルT6を参照して、特定した迂回用経路P2に対応する主信号経路P1を特定する。そして、ルール生成部13Dは、特定した迂回用経路P2に対応する異常仮定GW装置20の直前の主信号経路P1上のGW装置20を特定する。そして、ルール生成部13Dは、主信号ラベル値と異常仮定GW装置20の識別子GWkと迂回用ラベル値とを対応付けた情報を含む迂回用ラベル値管理テーブル用ルールを生成し、生成した迂回用ラベル値管理テーブル用ルールを特定した直前のGW装置20宛に送信する。
例えば、図8と図9を参照して、異常仮定GW装置20がGW装置GW2である場合の入口GW装置GW3と出口GW装置GW1との入口/出口ペアに対応する迂回用経路P2に割り当てられた迂回用ラベル値は、L7で、主信号ラベル値L1とは異なっている。したがって、ルール生成部13Dは、主信号ラベルパス情報テーブルT6を参照して、対応する主信号経路P1(経路{GW3,GW2,GW1})を特定し、異常仮定GW装置GW2の直前のGW装置20として、GW装置GW3を特定する。そして、ルール生成部13Dは、主信号ラベル値L1と異常仮定GW装置20の識別子GW2と迂回用ラベル値L7とを対応付けた情報を含む迂回用ラベル値管理テーブル用ルールを生成し、生成した迂回用ラベル値管理テーブル用ルールをGW装置GW3(直前のGW装置20)宛に送信する。
また、例えば、ルール生成部13Dは、GWコントローラ10又はSA装置40の収容先GW装置20毎に、収容先GW装置20として振分けるべきデータ種別と当該データ種別のデータを受信した場合の振分先アドレスを示すアプリ振分ルールを生成し、生成したアプリ振分ルールをそれぞれ対応する収容先GW装置20宛に送信する。
より具体的には、ルール生成部13Dは、アプリ収容先GW管理テーブルT5を参照して、収容先GW装置20毎に、対応するアプリIDを抽出し、購読管理テーブルT4を参照して、アプリIDに対応するデータ種別を特定することで、収容先GW装置20毎に、当該収容先GW装置20が振分けるべきデータ種別を抽出する。そして、ルール生成部13Dは、抽出したデータ種別と当該データ種別のデータを受信した場合の振分先アドレスとを対応付けた情報を含むアプリ振分ルールを収容先GW装置20毎に生成する。
また、例えば、ルール生成部13Dは、送信対象のデータに付与すべきラベル値をデータ種別毎に示す峻別ルールを生成し、生成した峻別ルールを入口GW装置20宛に送信する。より具体的には、ルール生成部13Dは、データ・ラベルMAP処理部13Cにより紐付けされたデータ種別と主信号ラベル値との対応関係を示す情報を含む峻別ルールを生成する。
更新部13Eは、収集したログに基づいて、トポロジ/リンク状態管理テーブルT1の更新を行う。
次に、図11を参照して、本実施形態におけるGW装置20について説明する。図11は、本実施形態におけるネットワークシステム100を構成するGW装置20の構成例を示す機能ブロック図である。
GW装置20は、データの中継を行うデータ中継装置であり、図11に示すように、通信部21と、記憶部22と、制御部23と、を備えて構成されている。
通信部21は、通信モジュールなどで構成され、ネットワークシステム100を構成する他の装置との間で通信を行う。例えば、通信部21は、GWコントローラ10より送信される各種のルールを受信する。また、例えば、通信部21は、データ(主信号)又はログを受信すると、受信したデータ(主信号)又はログをラベル値特定部23C(詳しくは後述)に出力する。
記憶部22は、RAM、ROM、フラッシュメモリなどで構成されている。記憶部22は、制御部23を構成する、例えば、MPUのワークエリア、GW装置20全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述の主信号転送テーブルT9などのテーブルなど、各種データを格納するデータエリアとして機能する。
ここで、図12乃至図18を参照して、記憶部22のデータエリアに格納されている主信号転送テーブルT9などのテーブルについて説明する。
図12は、本実施形態における主信号転送テーブルT9の例を示す図であり、(A)はGW装置GW1の、(B)はGW装置GW2の、(C)はGW装置GW3の、(D)はGW装置GW4の、(E)はGW装置GW5の、(F)はGW装置GW6の、主信号転送テーブルT9の例である。図12の例は、図8の例の主信号ラベルパス情報テーブルT6に対応するものである。
主信号転送テーブルT9は、テーブル設定部23B(詳しくは後述)により管理され、受信したデータ(主信号)の転送先を管理しているテーブルであり、図12に示すように、ラベル値毎に転送先GW装置20の識別子GWkが対応付けられているテーブルである。
例えば、図12(B)と(C)を参照して、ラベル値L1が付与されているデータを受信した場合には、GW装置GW3は、主信号転送テーブルT9を参照して、受信したデータをGW装置GW2に転送し、GW装置GW2は、GW装置GW1に転送する。
図13は、本実施形態における主信号用アドレス解決テーブルT10の例を示す図であり、(A)はGW装置GW1の、(B)はGW装置GW2の、(C)はGW装置GW3の、(D)はGW装置GW4の、(E)はGW装置GW5の、(F)はGW装置GW6の、主信号用アドレス解決テーブルT10の例である。図13の例は、図4の例のGWアドレス管理テーブルT2と図8の例の主信号ラベルパス情報テーブルT6に対応するものである。
主信号用アドレス解決テーブルT10は、テーブル設定部23Bにより管理され、受信したデータ(主信号)の転送先のアドレスを管理しているテーブルであり、図13に示すように、転送先GW装置20の識別子GWk毎にアドレスが対応付けられているテーブルである。
GW装置20は、データ(主信号)を受信すると、主信号転送テーブルT9を参照して、受信したデータ(主信号)に付与されているラベル値に基づいて、転送先GW装置20の識別子GWkを特定し、更に、主信号用アドレス解決テーブルT10を参照して、特定した識別子GWkに基づいて、転送先のアドレスを特定する。このようにして、ラベル値に応じてデータ(主信号)を最終宛先に届けることが可能となる。なお、受信したデータ(主信号)にラベル値が付与されていない場合は、後述するように、GW装置20は、峻別テーブル14を参照して、受信したデータ(主信号)にラベル値を付与し、その付与したラベル値に基づいて、転送先GW装置20の識別子GWkを特定する。
図14は、本実施形態におけるログ転送テーブルT11の例を示す図であり、(A)はGW装置GW1の、(B)はGW装置GW2の、(C)はGW装置GW3の、(D)はGW装置GW4の、(E)はGW装置GW5の、(F)はGW装置GW6の、ログ転送テーブルT11の例である。図14の例は、図9の例の迂回用ラベルパス情報テーブルT7に対応するものである。
ログ転送テーブルT11は、テーブル設定部23Bにより管理され、受信、又は、生成したログの転送先を管理しているテーブルであり、図14に示すように、ラベル値毎に転送先GW装置20の識別子GWkが対応付けられているテーブルである。
例えば、図14(C)と(D)と(F)を参照して、ラベル値L7が付与されているログを受信した場合には、GW装置GW3は、ログ転送テーブルT11を参照して、受信したログをGW装置GW4に転送し、GW装置GW4は、GW装置GW6に転送し、GW装置GW6は、GW装置GW1に転送する。
図15は、本実施形態におけるログ用アドレス解決テーブルT12の例を示す図であり、(A)はGW装置GW1の、(B)はGW装置GW2の、(C)はGW装置GW3の、(D)はGW装置GW4の、(E)はGW装置GW5の、(F)はGW装置GW6の、ログ用アドレス解決テーブルT12の例である。図15の例は、図4の例のGWアドレス管理テーブルT2と図9の例の迂回用ラベルパス情報テーブルT7に対応するものである。
ログ用アドレス解決テーブルT12は、テーブル設定部23Bにより管理され、受信、又は、生成したログの転送先のアドレスを管理しているテーブルであり、図15に示すように、転送先GW装置20の識別子GWk毎にアドレスが対応付けられているテーブルである。
GW装置20は、ログを受信(又は、生成)すると、ログ転送テーブルT11を参照して、ログに付与されているラベル値に基づいて、転送先GW装置20の識別子GWkを特定し、更に、ログ用アドレス解決テーブルT12を参照して、特定した識別子GWkに基づいて、転送先のアドレスを特定する。このようにして、ラベル値に応じてログを最終宛先に届けることが可能となる。なお、ログを生成した場合は、後述するように、GW装置20は、峻別テーブル14を参照して、生成したログにラベル値を付与し、その付与したラベル値に基づいて、転送先GW装置20の識別子GWkを特定する。
図16は、本実施形態における迂回用ラベル値管理テーブルT13の例を示す図であり、(A)はGW装置GW3の、(B)はGW装置GW4の、(C)はGW装置GW5の、迂回用ラベル値管理テーブルT13の例である。図16の例は、図8の例の主信号ラベルパス情報テーブルT7と図9の例の迂回用ラベルパス情報テーブルT7に対応するものである。
迂回用ラベル値管理テーブルT13は、テーブル設定部23Bにより管理され、ログの転送先GW装置20に異常が発生した際にログに付与する迂回用ラベル値を管理しているテーブルであり、図16に示すように、正常時ラベル値と異常GW装置20の識別子GWkと迂回用ラベル値とが対応付けられているテーブルである。したがって、本実施形態においては、本迂回用ラベル値管理テーブルT13は、ログの転送先GW装置20に異常が発生する可能性がある転送元GW装置20のみが備える。
正常時ラベル値は、異常が発生していない時、つまり、正常時にログに付与されているラベル値であり、本実施形態においてはGWコントローラ10の収容先GW装置20に対応する主信号ラベル値である。
図17は、本実施形態における峻別テーブルT14の例を示す図であり、(A)はGW装置GW1の、(B)はGW装置GW2の、(C)はGW装置GW3の、(D)はGW装置GW4の、(E)はGW装置GW5の、(F)はGW装置GW6の、峻別テーブルT14の例である。図17の例は、図6の例の購読管理テーブルT4と図7の例のアプリ収容先GW管理テーブルT5と図8の例の主信号ラベルパス情報テーブルT6に対応するものである。
峻別テーブルT14は、テーブル設定部23Bにより管理され、データにラベル値が付与されていない場合にデータに付与するラベル値を管理しているテーブルであり、図17に示すように、データ種別毎にラベル値が対応付けられているテーブルである。GW装置20は、データにラベル値が付与されていない場合に、本峻別テーブルT14を参照して、処理対象のデータのデータ種別に基づいて、ラベル値を特定し、特定したラベル値をデータに付与する。
図18は、本実施形態におけるアプリ振分テーブルT15の例を示す図であり、図18の例はGW装置GW1のアプリ振分テーブルT15の例である。図18の例は、図6の例の購読管理テーブルT4に対応するものである。
アプリ振分テーブルT15は、テーブル設定部23Bにより管理され、収納先GW装置20として受信したデータをSAサーバ40(又は、GWコントローラ10)に振分けるために送信先のアドレスを管理しているテーブルであり、図18に示すように、データ種別毎に送信先のアドレスが対応付けられているテーブルである。
例えば、GW装置GW1は、ログを受信すると、図18に例示するアプリ振分テーブルT15を参照して、ログの送信先アドレス(GWコントローラ10のアドレス)を特定する。このようにして、GWコントローラ10の収納先GW装置20であるGW装置GW1は、受信したログをGWコントローラ10に送信することが可能となる。
図11に戻り、制御部23は、例えば、MPUなどで構成され、記憶部22のプログラムエリアに格納されている動作プログラムを実行して、図11に示すように、リンク状態計測部23Aと、テーブル設定部23Bと、ラベル値特定部23Cと、ACK処理部23Dと、転送処理部23Eと、タイマ23Fと、迂回路特定部23Gと、アプリ振分部23Hとしての機能を実現すると共に、GW装置20全体を制御する制御処理や詳しくは後述のログ転送処理などの処理を実行する。
リンク状態計測部23Aは、リンクが存在する隣接GW装置20との間のリンク状態(リンク遅延、揺らぎなど)を、例えば、定期的に計測して、計測結果を含むログを生成し、生成したログをラベル値特定部23Cに出力する。
テーブル設定部23Bは、GWコントローラ10より送信される各種のルールを受信すると、受信したルールに基づいて、主信号転送テーブルT9などの各種のテーブルを設定する。
例えば、主信号転送テーブル用ルールを受信すると、テーブル設定部23Bは、図12に例示する主信号転送テーブルT9を設定する。また、例えば、ログ転送テーブル用ルールを受信すると、テーブル設定部23Bは、図14に例示するログ転送テーブルT11を設定する。この際、“NULL”がラベル値に対応付けられている場合には、テーブル設定部23Bは、そのラベル値と識別子GWkとしてローカル(Local)を対応付けて主信号転送テーブルT9(又は、ログ転送テーブルT11)を設定する。
また、例えば、主信号用アドレス解決テーブル用ルールを受信すると、テーブル設定部23Bは、図13に例示する主信号用アドレス解決テーブルT10を設定する。また、例えば、ログ用アドレス解決テーブル用ルールを受信すると、テーブル設定部23Bは、図15に例示するログ用アドレス解決テーブルT12を設定する。また、例えば、迂回用ラベル値管理テーブル用ルールを受信すると、テーブル設定部23Bは、図16に例示する迂回用ラベル値管理テーブルT13を設定する。また、例えば、峻別ルールを受信すると、テーブル設定部23Bは、図17に例示する峻別テーブルT14を設定する。また、例えば、アプリ振分ルールを受信すると、テーブル設定部23Bは、図18に例示するアプリ振分テーブルT15を設定する。
ラベル値特定部23Cは、処理対象のデータ(主信号)又はログにラベル値が付与されていない場合に、付与するラベル値を特定する。より具体的には、通信部21より受信されたデータ(主信号)又はログ、あるいは、リンク状態計測部23Aより生成されたログが入力されると、ラベル値特定部23Cは、入力されたデータ(又はログ)にラベル値が付与されているか否かを判定する。そして、ラベル値が付与されていない場合には、ラベル値特定部23Cは、峻別テーブルT14を参照して、処理対象のデータ(又はログ)のデータ種別に基づいて、ラベル値を特定し、特定したラベル値を処理対象のデータ(又はログ)に付与する。
ACK処理部23Dは、受信したデータ(主信号)又はログにラベル値が付与されている場合に、受信した旨を示すACK(ACKnowledgment)を転送元のGW装置20に送信する。
転送処理部23Eは、処理対象のデータ(主信号)又はログの転送処理を行う。ログを例により具体的には、転送処理部23Eは、ログ転送テーブルT11を参照して、付与されているラベル値に基づいて、転送先を特定する。そして、他のGW装置20に転送する場合には、転送処理部23Eは、処理対象のログを一時的に記憶部22のデータエリアに格納すると共に、ログ用アドレス解決テーブルT12を参照して、特定した転送先の識別子GWkに基づいて、転送先のアドレスを特定し、処理対象のログを送信する。
そして、転送処理部23Eは、タイマ23Fをスタートさせ、所定時間内に転送先GW装置20からACKの返信があった場合には、データエリアに格納したログを削除する。一方、ACKを受信する前にタイマ23Fがタイムアウトした場合には、転送処理部23Eは、迂回用ラベル値管理テーブルT13を参照して、処理対象のログに付与されているラベル値が正常時ラベル値と一致するか否かを判定する。
正常時ラベル値と一致しない場合には、転送処理部23Eは、データエリアに格納したログを削除する。一方、正常時ラベル値と一致する場合には、転送処理部23Eは、ACKの返信がない転送先GW装置20の識別子GWkをログに付与する。
タイマ23Fは、データ(主信号)又はログを転送した際に、転送先GW装置20より送信されるACKが所定時間内に受信できたかを管理するためのタイマ、すなわち、転送先GW装置20に異常が発生したか否かの判定を行うためのタイマであり、転送処理部23Eにより制御されている。
迂回路特定部23Gは、転送処理部23EによりACKの返信がない転送先GW装置20の識別子GWkがログに付与されると、迂回用ラベル値管理テーブルT13を参照して、ログに付与されている識別子GWkとラベル値とに基づいて、迂回用ラベル値を特定し、特定した迂回用ラベル値でログに付与されているラベル値を更新する。つまり、迂回路特定部23Gは、ログに付与されているラベル値を削除し、特定した迂回用ラベル値をログに付与しなおす。その後、再び、転送処理部23Eによる転送処理が実行され、迂回用経路P2を介して、ログがGWコントローラ10に届けられることとなる。
アプリ振分部23Hは、転送処理部23Eにより特定された処理対象のデータ(主信号)又はログの転送先がローカルの場合に、アプリ振分テーブルT15を参照して、データ種別に基づいて、アドレス(URL)を特定し、処理対象のデータ(主信号)又はログに付与されているラベル値を削除した上で、特定したアドレス(URL)に処理対象のデータ(主信号)又はログを送信する。アプリ振分部23Hは、このようにして、GWコントローラ10又はSAサーバ40が収集対象とするデータを振り分けて送信する。
次に、図19を参照して、本実施形態における主信号ラベルパス生成処理の流れについて説明する。図19は、本実施形態における主信号ラベルパス生成処理のフローを説明するためのフローチャートの例である。本主信号ラベルパス生成処理は、GWコントローラ10で実行され、所定のタイミングの到来をトリガとして開始される。
経路計算部13Aは、所定のタイミングが到来したか否かを判定する(ステップS001)。経路計算部13Aにより、所定のタイミングがまだ到来していないと判定された場合には(ステップS001;NO)、処理はステップS001の処理を繰り返して、所定のタイミングの到来を待つ。
一方、所定のタイミングが到来したと判定した場合には(ステップS001;YES)、経路計算部13Aは、トポロジ/リンク状態管理テーブルT1を参照して、トポロジ/リンク情報を取得する(ステップS002)。この際、経路計算部13Aは、必要に応じて、揺らぎや帯域などのリンク状態に関する他のパラメータも取得する。
そして、経路計算部13Aは、入口・出口管理テーブルT3を参照して、全入口/出口ペアを特定し、少なくともトポロジ/リンク情報に基づいて、特定した全入口/出口ペアに対し、主信号経路P1を計算し、入口/出口ペア毎に特定した主信号経路P1を対応付けて主信号ラベルパス情報テーブルT6に格納する(ステップS003)。
そして、ラベル値割当部13Bは、主信号ラベルパス情報テーブルT6を参照して、未選択の入口/出口ペアを一つ選択し(ステップS004)、選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に有る否かを判定する(ステップS005)。
選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアが他に有ると判定した場合には(ステップS005;YES)、ラベル値割当部13Bは、更に、主信号ラベルパス情報テーブルT6を参照して、選択した入口/出口ペアと出口GW装置20が同じ他の入口/出口ペアの中に、対応する主信号経路P1に対してラベル値が既に割り当てられている入口/出口ペアが有るか否かを判定する(ステップS006)。
そして、ラベル値が既に割り当てされている入口/出口ペアが有ると判定した場合には(ステップS006;YES)、ラベル値割当部13Bは、その入口/出口ペアと同じラベル値を、主信号ラベル値として、選択した入口/出口ペアの主信号経路P1に割り当てる(ステップS007)。そして、処理は後述のステップステップS010の処理へと進む。
一方、選択した入口/出口ペアと出口GW装置20が同じ入口/出口ペアは他に無いと判定した場合(ステップS005;NO)、あるいは、ラベル値が既に割り当てされている入口/出口ペアは無いと判定した場合には(ステップS006;NO)、ラベル値割当部13Bは、空きラベル値管理テーブルT8を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“1”に設定する(ステップS008)。
そして、ラベル値割当部13Bは、選択したラベル値を、主信号ラベル値として、選択した入口/出口ペアの主信号経路P1に割り当て(ステップS009)、割り当てた主信号ラベル値を選択した入口/出口ペアの主信号経路P1に対応付けて、主信号ラベルパス情報テーブルT6に格納する(ステップS010)。
そして、ラベル値割当部13Bは、全入口/出口ペアに対して主信号ラベル値を割り当てたか否かを判定し(ステップS011)、ラベル値割当部13Bにより、主信号ラベル値を割り当てていない入口/出口ペアがまだ有ると判定された場合には(ステップS011;NO)、処理はステップS004の処理へと戻り、前述の処理を繰り返す。
一方、ラベル値割当部13Bにより、全入口/出口ペアに対して主信号ラベル値を割り当てたと判定された場合には(ステップS011;YES)、ルール生成部13Dは、主信号転送テーブル用ルールと主信号用アドレス解決テーブル用ルールを生成し、生成したルールを配布対象のGW装置20に送信する(ステップS012)。そして、本処理を終了する。
次に、図20乃至図22を参照して、本実施形態における迂回用ラベルパス生成処理の流れについて説明する。図20乃至図22は、それぞれ、本実施形態における迂回用ラベルパス生成処理のフローを説明するためのフローチャートの例の第一部、第二部、第三部である。本迂回用ラベルパス生成処理は、GWコントローラ10で実行され、所定のタイミングの到来をトリガとして開始される。
経路計算部13Aは、所定のタイミングが到来したか否かを判定する(ステップS101)。経路計算部13Aにより、所定のタイミングがまだ到来していないと判定された場合には(ステップS101;NO)、処理はステップS101の処理を繰り返して、所定のタイミングの到来を待つ。
一方、所定のタイミングが到来したと判定した場合には(ステップS101;YES)、経路計算部13Aは、トポロジ/リンク状態管理テーブルT1を参照して、トポロジ/リンク情報を取得する(ステップS102)。そして、経路計算部13Aは、アプリ収容先GW管理テーブルT5を参照して、自GWコントローラ10の収容先GW装置20を特定し(ステップS103)、特定した収容先GW装置20を除くGW装置20の中から、未選択のGW装置20を一つ異常仮定GW装置20として選択する(ステップS104)。
そして、経路計算部13Aは、入口・出口管理テーブルT3を参照して、選択した異常仮定GW装置20がトポロジに存在しない場合の、特定した収容先GW装置20を出口GW装置20とする全入口/出口ペアを特定し、特定した全入口/出口ペアに対して迂回用経路P2を特定する(ステップS105)。この際、経路計算部13Aは、入口/出口ペア毎に特定した迂回用経路P2を対応付けて迂回用ラベルパス情報テーブルT7に格納する。
そして、経路計算部13Aは、ステップS103の処理で特定した収容先GW装置20を除く全GW装置20を異常仮定GW装置20として選択したか否かを判定する(ステップS106)。経路計算部13Aにより、異常仮定GW装置20として選択していないGW装置20が有ると判定された場合には(ステップS106;NO)、処理はステップS104の処理へと戻り、前述の処理を繰り返す。
一方、経路計算部13Aにより、収容先GW装置20を除く全GW装置20を異常仮定GW装置20として選択したと判定された場合には(ステップS106;YES)、ラベル値割当部13Bは、迂回用ラベルパス情報テーブルT7を参照して、異常仮定GW装置20を一つ選択し(ステップS107)、選択した異常仮定GW装置20に対応する入口GW装置20の中から一つ選択する(ステップS108)。すなわち、ラベル値割当部13Bは、特定された収納先GW装置20と選択した異常仮定GW装置20を除く入口GW装置20の中から一つ選択する。
そして、ラベル値割当部13Bは、迂回用ラベルパス情報テーブルT7を参照して、対応する迂回用経路P2を特定すると共に(ステップS109)、対応する主信号ラベル値を取得する(ステップS110)。そして、ラベル値割当部13Bは、主信号ラベルパス情報テーブルT6と迂回用ラベルパス情報テーブルT7を参照して、特定した迂回用経路P2は、対応する主信号経路P1と同一経路か否かを判定する(ステップS111)。
特定した迂回用経路P2と対応する主信号経路P1とが同一経路であると判定した場合には(ステップS111;YES)、ラベル値割当部13Bは、取得した主信号ラベル値と同じラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる(ステップS112)。そして、処理は後述のステップS117の処理へと進む。
一方、特定した迂回用経路P2と対応する主信号経路P1とが同一経路では無いと判定した場合には(ステップS111;NO)、ラベル値割当部13Bは、更に、迂回用ラベルパス情報テーブルT7を参照して、選択した異常仮定GW装置20に対応する選択した入口GW装置20以外の入口GW装置20の中に、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20が有るか否かを判定する(ステップS113)。
そして、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20が有ると判定した場合には(ステップS113;YES)、ラベル値割当部13Bは、主信号ラベル値とは異なるそのラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる(ステップS114)。そして、処理は後述のステップS117の処理へと進む。
一方、主信号ラベル値とは異なるラベル値を、迂回用ラベル値として割り当てた入口GW装置20は無いと判定した場合には(ステップS113;NO)、ラベル値割当部13Bは、空きラベル値管理テーブルT8を参照して、未割当のラベル値を一つ選択し、選択したラベル値に対応する使用中フラグを“1”に設定する(ステップS115)。そして、ラベル値割当部13Bは、選択したラベル値を、迂回用ラベル値として、特定した迂回用経路P2に割り当てる(ステップS116)。
そして、ラベル値割当部13Bは、割り当てた迂回用ラベル値を特定した迂回用経路P2に対応付けて、迂回用ラベルパス情報テーブルT7に格納し(ステップS117)、ラベル値割当部13Bは、特定された収納先GW装置20と選択した異常仮定GW装置20を除く全入口GW装置20を選択したか否かを判定する(ステップS118)。ラベル値割当部13Bにより、選択していない入口GW装置20がまだ有ると判定された場合には(ステップS118;NO)、処理はステップS108の処理へと戻り、前述の処理を繰り返す。
一方、全入口GW装置20を選択したと判定した場合には(ステップS118;YES)、ラベル値割当部13Bは、更に、特定された収納先GW装置20を除く全GW装置20を異常仮定GW装置20として選択したか否かを判定する(ステップS119)。ラベル値割当部13Bにより、異常仮定GW装置20として選択していないGW装置20がまだ有ると判定された場合には(ステップS119;NO)、処理はステップS107の処理へと戻り、前述の処理を繰り返す。
一方、ラベル値割当部13Bにより、異常仮定GW装置20として全GW装置20を選択したと判定された場合には(ステップS119;YES)、ルール生成部13Dは、ログ転送テーブル用ルールとログ用アドレス解決テーブル用ルールと迂回用ラベル値管理テーブル用ルールを生成し、生成したルールを配布対象のGW装置20に送信する(ステップS120)。そして、本処理を終了する。
次に、図23を参照して、本実施形態における峻別ルール等送信処理の流れについて説明する。図23は、本実施形態における峻別ルール等送信処理のフローを説明するためのフローチャートの例である。本峻別ルール等送信処理は、GWコントローラ10で実行され、購読管理テーブルT4、アプリ収容先管理テーブルT5が更新された場合などをトリガとして開始される。
データ・ラベルMAP処理部13Cは、購読管理テーブルT4を参照して、購読条件情報を取得すると共に(ステップS201)、アプリ収容先GW管理テーブルT5を参照して、収容先GW情報を取得する(ステップS202)。
そして、データ・ラベルMAP処理部13Cは、取得した購読条件情報と収容先GW情報とに基づいて、データ種別毎に対応する収容先GW装置20をそれぞれ特定し(ステップS203)、特定した収容先GW装置20それぞれに対し、主信号ラベルパス情報テーブルT6を参照して、対応する主信号ラベル値を特定する(ステップS204)。
そして、ルール生成部13Dは、アプリ振分ルールを収容先GW装置20毎に生成し、生成したアプリ振分ルールをそれぞれ配布対象の収容先GW装置20に送信する(ステップS205)。また、ルール生成部13Dは、峻別ルールを生成し、生成した峻別ルールを配布対象の入口GW装置20に送信する(ステップS206)。そして、本処理を終了する。
次に、図24と図25を参照して、本実施形態におけるログ転送処理の流れについて説明する。図24と図25は、それぞれ、本実施形態におけるログ転送処理のフローを説明するためのフローチャートの例の一部と他の一部である。本ログ転送処理は、各GW装置20で実行され、ラベル値特定部23Cへのログの入力をトリガとして開始される。
ラベル値特定部23Cは、ログが入力されたか否かを判定する(ステップS301)。ラベル値特定部23Cにより、ログの入力はまだ無いと判定された場合には(ステップS301;NO)、処理はステップS301の処理を繰り返し、ログの入力を待つ。
一方、ログが入力されたと判定した場合には(ステップS301;YES)、ラベル値特定部23Cは、更に、処理対象のログにラベル値が付与されているか否かを判定する(ステップS302)。ラベル値特定部23Cにより、処理対象のログにラベル値が付与されていると判定された場合には(ステップS302;YES)、ACK処理部23Dは、ACKを転送元のGW装置20に送信する(ステップS303)。そして、処理は後述のステップS306の処理へと進む。
一方、処理対象のログにラベル値が付与されていないと判定した場合には(ステップS302;NO)、ラベル値特定部23Cは、峻別テーブルT14を参照して、ログに対応するラベル値を特定し(ステップS304)、特定したラベル値を処理対象のログに付与する(ステップS305)。
そして、転送処理部23Eは、ログ転送テーブルT11を参照して、付与されているラベル値に基づいて、転送先を特定し(ステップS306)、特定した転送先がローカルか否かを判定する(ステップS307)。
転送処理部23Eにより、特定した転送先がローカルであると判定された場合には(ステップS307;YES)、アプリ振分部23Hは、アプリ振分テーブルT15を参照して、ログの送信先アドレス(URL)を特定する(ステップS308)。そして、アプリ振分部23Hは、処理対象のログに付与されているラベル値を削除し(ステップS309)、その後、特定したアドレス(URL)に処理対象のログを送信する(ステップS310)。
一方、特定した転送先が他のGW装置20であると判定した場合には(ステップS307;NO)、転送処理部23Eは、処理対象のログを一時的に記憶部22のデータエリアに格納すると共に(ステップS311)、ログ用アドレス解決テーブルT12を参照して、特定した転送先の識別子GWkに基づいて、転送先のアドレスを特定し、処理対象のログを送信する(ステップS312)。
そして、転送処理部23Eは、タイマ23Fをスタートさせ(ステップS313)、転送先GW装置20より送信されるACKを受信したか否かを判定する(ステップS314)。ACKを受信したと判定した場合には(ステップS314;YES)、転送処理部23Eは、正常にログの転送ができたと判定して、データエリアに格納したログを削除する(ステップS315)。そして、本処理は終了する。
一方、ACKをまだ受信していないと判定した場合には(ステップS314;NO)、転送処理部23Eは、更に、タイマ23Fがタイムアウトしたか否かを判定する(ステップS316)。転送処理部23Eにより、まだタイムアウトしていないと判定された場合には(ステップS316;NO)、処理はステップS314の処理へと戻り、前述の処理を繰り返す。
一方、タイムアウトしたと判定した場合には(ステップS316;YES)、転送処理部23Eは、更に、迂回用ラベル値管理テーブルT13を参照して、処理対象のログに付与されているラベル値が正常時ラベル値と一致するか否かを判定する(ステップS317)。
正常時ラベル値と一致しないと判定した場合には(ステップS317;NO)、転送処理部23Eは、データエリアに格納したログを削除する(ステップS318)。一方、正常時ラベル値と一致すると判定した場合には(ステップS317;YES)、転送処理部23Eは、ACKの返信がない転送先GW装置20の識別子GWkをログに付与する(ステップS319)。
そして、迂回路特定部23Gは、迂回用ラベル値管理テーブルT13を参照して、処理対象のログに付与されている識別子GWkとラベル値とに基づいて、迂回用ラベル値を特定し(ステップS320)、特定した迂回用ラベル値でログに付与されているラベル値を更新する(ステップS321)。そして、処理はステップS306の処理へと戻り、前述の処理を繰り返す。
次に、図26を参照して、具体例にしたがって、本実施形態における正常時のログ転送について説明する。図26は、本実施形態におけるネットワークシステム100での正常時のログ転送の流れを示す具体例である。
なお、本具体例では、GW装置GW4のリンク状態計測部23Aにより生成されたログがGWコントローラ10に送信されるまでの流れを説明するものとする。また、各GW装置20のログ転送テーブルT11は、図14に例示するものであるとし、GW装置GW4の峻別テーブルT14とGW装置GW1のアプリ振分テーブルT15は、それぞれ、図17(D)、図18に例示するものであるとする。
GW装置GW4は、峻別テーブルT14を参照して、ラベル値としてL1を特定し、特定したラベル値L1を生成したログに付与する。そして、GW装置GW4は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてGW装置GW3を特定し、ラベル値L1が付与されているログを特定したGW装置GW3に転送する。
GW装置GW3は、ラベル値L1が付与されているログを受信すると、転送元のGW装置GW4にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW4に受信されたものとする。
そして、GW装置GW3は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてGW装置GW2を特定し、ラベル値L1が付与されているログを特定したGW装置GW2に転送する。
GW装置GW2は、ラベル値L1が付与されているログを受信すると、転送元のGW装置GW3にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW3に受信されたものとする。
そして、GW装置GW2は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてGW装置GW1を特定し、ラベル値L1が付与されているログを特定したGW装置GW1に転送する。
GW装置GW1は、ラベル値L1が付与されているログを受信すると、転送元のGW装置GW2にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW2に受信されたものとする。
そして、GW装置GW1は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてローカルを特定し、アプリ振分テーブルT15を参照して、ログの送信先アドレス(GWコントローラ10のアドレス)を特定する。そして、GW装置GW1は、ログに付与されているラベル値L1を削除して、ログをGWコントローラ10に送信する。
次に、図27を参照して、具体例にしたがって、本実施形態における異常発生時のログ転送について説明する。図27は、本実施形態におけるネットワークシステム100での異常発生時のログ転送の流れを示す具体例である。
なお、本具体例では、GW装置GW4のリンク状態計測部23Aにより生成されたログがGWコントローラ10に送信されるまでの流れを説明するものとする。また、各GW装置20のログ転送テーブルT11は、図14に例示するものであるとし、GW装置GW4の峻別テーブルT14とGW装置GW1のアプリ振分テーブルT15は、それぞれ、図17(D)、図18に例示するものであるとする。また、GW装置GW3の迂回用ラベル値管理テーブルT13は、図16(A)に例示するものであるとする。
GW装置GW4は、峻別テーブルT14を参照して、ラベル値としてL1を特定し、特定したラベル値L1を生成したログに付与する。そして、GW装置GW4は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてGW装置GW3を特定し、ラベル値L1が付与されているログを特定したGW装置GW3に転送する。
GW装置GW3は、ラベル値L1が付与されているログを受信すると、転送元のGW装置GW4にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW4に受信されたものとする。
そして、GW装置GW3は、ログ転送テーブルT11を参照して、ラベル値L1に対応する転送先としてGW装置GW2を特定し、ラベル値L1が付与されているログを特定したGW装置GW2に転送する。本具体例では、GW装置GW2に障害が発生しているものとする。
GW装置GW3は、転送先のGW装置GW2からのACKを所定時間内に受信できないので、ログに転送先の識別子GW2を付与し、迂回用ラベル値管理テーブルT13を参照して、迂回用ラベル値としてL7を特定し、特定したラベル値L7でログに付与されているラベル値を更新する。そして、GW装置GW3は、ログ転送テーブルT11を参照して、ラベル値L7に対応する転送先としてGW装置GW4を特定し、ラベル値L7が付与されているログを特定したGW装置GW4に転送する。
GW装置GW4は、ラベル値L7が付与されているログを受信すると、転送元のGW装置GW3にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW3に受信されたものとする。
そして、GW装置GW4は、ログ転送テーブルT11を参照して、ラベル値L7に対応する転送先としてGW装置GW6を特定し、ラベル値L7が付与されているログを特定したGW装置GW6に転送する。
GW装置GW6は、ラベル値L7が付与されているログを受信すると、転送元のGW装置GW4にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW4に受信されたものとする。
そして、GW装置GW6は、ログ転送テーブルT11を参照して、ラベル値L7に対応する転送先としてGW装置GW1を特定し、ラベル値L7が付与されているログを特定したGW装置GW1に転送する。
GW装置GW1は、ラベル値L7が付与されているログを受信すると、転送元のGW装置GW6にACKを送信する。本具体例では、ACKはタイムアウトする前にGW装置GW6に受信されたものとする。
そして、GW装置GW1は、ログ転送テーブルT11を参照して、ラベル値L7に対応する転送先としてローカルを特定し、アプリ振分テーブルT15を参照して、ログの送信先アドレス(GWコントローラ10のアドレス)を特定する。そして、GW装置GW1は、ログに付与されているラベル値L7を削除して、ログをGWコントローラ10に送信する。
このように、本実施形態では、ログの転送経路上のGW装置20に障害などの異常が発生したとしても、予め設定した迂回用経路P2を利用してGWコントローラ10にログを届けることが可能となり、ネットワークシステム100の最適経路を維持することが可能となる。
上記実施形態によれば、GWコントローラ10の収容先GW装置20を出口とするログの経路に対して一つのラベル値を割り振り、ラベルパスを形成する。このように構成することで、ログ収集時のコネクション数を一つに集約することが可能となり、GWコントローラ10の負荷を軽減することが可能となる。また、ログの経路に割り振られるラベル値は一つなので、各GW装置20のテーブルサイズや管理情報量を削減でき、メモリ資源の有効活用が可能となる。
また、上記実施形態によれば、GWコントローラ10の収容先GW装置20を出口とする主信号経路(ラベルパス)P1を利用してログを収集する。このように構成することで、ログ用の経路の計算時間を削減することが可能となる。
また、上記実施形態によれば、迂回用経路P2を予め設定し、主信号経路P1上のGW装置20に異常が発生した場合には、迂回用経路P2を利用してログをGWコントローラ10に届ける。このように構成することで、主信号経路P1上のGW装置20に異常が発生したとしても、GWコントローラ10はログを収集することが可能となり、ネットワークシステム100の最適経路を維持することができる。
また、上記実施形態によれば、ログ転送先のGW装置20に異常が発生した場合には、転送先GW装置20の識別子GWkをログに付与し、この状態でGWコントローラ10に届ける。このように構成することで、GWコントローラ10はログの内容を解析することなく、ログの経路上のGW装置20の異常をすぐに検知することが可能となる。
なお、上記実施形態において、正常時のログ経路は、主信号経路P1とすると説明したが、これに限定されるものではなく、主信号経路P1が、リンク遅延以外のパラメータも考慮して特定されたものである場合には、最小リンク遅延経路を正常時のログ経路とし、別のラベル値を付与するように構成してもよい。このように構成しても、使用されるラベル値の増加は一つだけである。
また、上記実施形態において、同時に発生する異常GW装置20は一台と仮定して迂回用ラベルパス情報テーブルT7を構成したが、これに限定されるものではなく、同時に複数台のGW装置20に異常が発生することを想定して迂回用ラベルパス情報テーブルT7を構成してもよい。例えば、同時に2台のGW装置20に異常が発生することを想定した場合、迂回用ラベルパス情報テーブルT7は、図28の例のように、構成すればよい。図28は、本実施形態における迂回用ラベルパス情報テーブルT7の他の例を示す図である。
また、上記実施形態のログ転送処理において、正常時ラベル値と一致しないと判定した場合には(ステップS317;NO)、転送処理部23Eは、データエリアに格納したログを削除する(ステップS318)ように構成したが、これに限定されるものではなく、例えば、この場合には、ログを直接GWコントローラ10に送信するように構成してもよい。
この場合、図29を例示するように処理を構成すればよい。つまり、図29を参照して、正常時ラベル値と一致しないと判定した場合には(ステップS317;NO)、転送処理部23Eは、転送先のGW装置20の識別子GWkをログに追加付与して(ステップS317A)、ログをGWコントローラ10に直接送信する(ステップS317B)。そして、転送処理部23Eは、データエリアに格納したログを削除する(ステップS318)。ここで、図29は、本実施形態におけるログ転送処理のフローを説明するためのフローチャートの他の例の一部である。
図30は、本実施形態におけるGWコントローラ10とGW装置20のハードウェア構成の例を示す図である。図2に示すGWコントローラ10と、図11に示すGW装置20は、例えば、図30に示す各種ハードウェアにより実現されてもよい。図30の例では、GWコントローラ10(又は、GW装置20)は、MPU201、PHY(PHYsical layer)チップ202、およびタイマIC(Integrated Circuit)203を備える。また、GWコントローラ10(又は、GW装置20)は、DRAM(Dynamic Random Access Memory)204、フラッシュメモリ205、無線通信モジュール206、および読取装置207を備える。
MPU201とPHYチップ202の間を接続する通信インタフェースは、MII/MDIO(Media Independent Interface or Management Data Input/Output)209である。MIIとMDIOはいずれも、物理層とMAC(Media Access Control sublayer)副層との間のインタフェースである。また、MPU201とタイマIC203は、I2C/PIO(Inter-Integrated Circuit or Parallel Input/Output)バス210を介して、接続されている。そして、DRAM204とフラッシュメモリ205と無線通信モジュール206と読取装置207は、PCI(Peripheral Component Interconnect)バス211を介して、MPU201に接続されている。
MPU201は、不揮発性記憶装置の一種であるフラッシュメモリ205に格納された動作プログラムをDRAM204にロードし、DRAM204をワーキングメモリとして使いながら各種処理を実行する。MPU201は、動作プログラムを実行することで、図2に示す制御部13(又は、図11に示す制御部23)の各機能部を実現することができる。
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)、MO(Magnet Optical disk)などのコンピュータで読み取り可能な記録媒体208に記憶して配布し、これをGWコントローラ10(又は、GW装置20)の読取装置207で読み取ってコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、PHYチップ202もしくは無線通信モジュール206を介して、GWコントローラ10(又は、GW装置20)のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
なお、実施形態に応じて、DRAM204やフラッシュメモリ205以外の他の種類の記憶装置が利用されてもよい。例えば、GWコントローラ10(又は、GW装置20)は、CAM(Content Addressable Memory)、SRAM(Static Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)などの記憶装置を有してもよい。
図3に示すトポロジ/リンク状態管理テーブルT1などのテーブルは、DRAM204、フラッシュメモリ205、あるいは不図示のその他の記憶装置により実現される。
PHYチップ202は、有線接続における物理層の処理を行う回路である。タイマIC203は、設定された時間が経過するまでカウントアップ動作を行い、設定された時間が経過すると割り込み信号を出力する回路である。
無線通信モジュール206は、無線接続における物理層の処理を行うハードウェアである。無線通信モジュール206は、例えば、アンテナ、ADC(Analog-to-Digital Converter)、DAC(Digital-to-Analog Converter)、変調器、復調器、符号化器、復号器などを含む。
なお、実施形態に応じて、GWコントローラ10(又は、GW装置20)のハードウェア構成は図30とは異なっていてもよく、図30に例示した規格・種類以外のその他のハードウェアをGWコントローラ10(又は、GW装置20)に適用することもできる。
例えば、図2に示す制御部13(又は、図11に示す制御部23)の各機能部は、ハードウェア回路により実現されてもよい。具体的には、MPU201の代わりに、FPGA(Field Programmable Gate Array)などのリコンフィギュラブル回路や、ASIC(Application Specific Integrated Circuit)などにより、これら図2に示す制御部13(又は、図11に示す制御部23)の各機能部が実現されてもよい。もちろん、MPU201とハードウェア回路の双方により、これらの機能部が実現されてもよい。
以上において、いくつかの実施形態について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
以上の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延を管理している管理情報を格納する記憶手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第1の転送経路をそれぞれ特定する第1の経路特定手段と、
前記トポロジと前記リンクの遅延とに基づいて、前記第1の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第2の転送経路をそれぞれ特定する第2の経路特定手段と、
前記第1の転送経路に対して、同一の経路識別情報を割り当てる第1の割当手段と、
前記第2の転送経路に対して、対応する前記第1の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当てる第2の割当手段と、
転送元の前記中継装置毎に、前記第1の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第2の転送経路に割り当てられた前記経路識別情報を含む第1のルールを生成し、生成した前記第1のルールを対応する前記転送元の前記中継装置に送信する第1のルール生成手段と、
を備える、
ことを特徴とするデータ転送制御装置。
(付記2)
前記第2の割当手段は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る前記第2の転送経路における経路部分が同一の経路に対して、同一の前記経路識別情報を割り当てる、
ことを特徴とする付記1に記載のデータ転送制御装置。
(付記3)
前記第1の転送経路と前記第2の転送経路とに基づいて、前記中継装置毎に、当該中継装置の前記第1の転送経路と前記第2の転送経路におけるそれぞれの転送先となる前記中継装置の前記装置識別情報と、対応する前記第1の転送経路と前記第2の転送経路にそれぞれ割り当てられた前記経路識別情報と、を対応付けた情報を含む第2のルールを生成し、生成した前記第2のルールを対応する前記中継装置に送信する第2のルール生成手段と、
前記中継装置が生成した前記リンク状態を示す前記情報に、前記第1の転送経路に対して割り当てられた前記経路識別情報を付与させるための第3のルールを生成し、生成した前記第3のルールを各中継装置に送信する第3のルール生成手段と、
を、更に、備える、
ことを特徴とする付記1又は2に記載のデータ転送制御装置。
(付記4)
前記第2の転送経路は、前記転送先に異常が発生したと仮定した前記転送元から前記出口に至る経路部分が、各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする付記1乃至3のいずれか一に記載のデータ転送制御装置。
(付記5)
前記第1の転送経路は、主信号の転送経路としても利用される、
ことを特徴とする付記1乃至4のいずれか一に記載のデータ転送制御装置。
(付記6)
前記第1の転送経路は、前記入口から前記出口に至る各リンクの遅延合計が最小となる最小リンク遅延経路である、
ことを特徴とする付記1乃至5のいずれか一に記載のデータ転送制御装置。
(付記7)
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のデータ転送制御方法であって、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第1の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第1の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第2の転送経路をそれぞれ特定し、
特定した前記第1の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第2の転送経路に対して、対応する前記第1の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第1の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第2の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
ことを特徴とするデータ転送制御方法。
(付記8)
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のコンピュータに、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第1の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第1の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第2の転送経路をそれぞれ特定し、
特定した前記第1の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第2の転送経路に対して、対応する前記第1の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第1の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第2の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
処理を実行させる、
ことを特徴とするプログラム。
(付記9)
ネットワークシステムを構成する中継装置に対して、データの転送経路の制御を行うデータ転送制御装置のコンピュータに、
前記中継装置のトポロジとリンクが存在する隣接する前記中継装置間毎の前記リンクの遅延とに基づいて、前記リンクの遅延を含むリンク状態を示す情報の各中継装置を入口とし、自装置の直前に配置されている前記中継装置である収容先装置を出口とする第1の転送経路をそれぞれ特定し、
前記トポロジと前記リンクの遅延とに基づいて、前記第1の転送経路に対応する転送先の前記中継装置に異常が発生したと仮定した場合に、転送元の前記中継装置が、異常の発生を仮定した前記転送先とは異なる中継装置に前記情報を転送するための、前記収納先装置を前記出口とする第2の転送経路をそれぞれ特定し、
特定した前記第1の転送経路に対して、同一の経路識別情報を割り当て、
特定した前記第2の転送経路に対して、対応する前記第1の転送経路に割り当てた前記経路識別情報とは異なる別々の経路識別情報をそれぞれ割り当て、
転送元の前記中継装置毎に、前記第1の転送経路に対応する前記転送先の前記中継装置に異常が発生した場合に前記情報に付与させる、対応する前記第2の転送経路に割り当てた前記経路識別情報を含むルールを生成し、生成した前記ルールを対応する前記転送元の前記中継装置に送信する、
処理を実行させるプログラムを記憶した記録媒体。