(57)【要約】【課題】仮想ネットワークをシームレスに再構成することである。【解決手段】ＡＣＣＮルータ１０は、再構成要否判定部１１と、ＡＣＣＮルータ決定部１２と、ＶＣＣＮ再構成部１３とを有する。再構成要否判定部１１は、ＶＣＣＮの再構成の要否を判定する。ＡＣＣＮルータ決定部１２は、再構成要否判定部１１により上記ＶＣＣＮの再構成が必要と判定された場合、ＡＣＣＮルータ１０以外のＡＣＣＮルータの中から、上記ＶＣＣＮにおいて制御の対象となるＶＣＣＮルータを動作させるＡＣＣＮルータを決定する。ＶＣＣＮ再構成部１３は、ＡＣＣＮルータ決定部１２により決定されたＡＣＣＮルータに対し、ＶＣＣＮルータの制御を要求する。【選択図】図２
2014039097.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と、第２の通信装置とを有するネットワーク構成システムであって、
前記第１の通信装置は、
仮想ネットワークの再構成の要否を判定する判定部と、
前記判定部により前記仮想ネットワークの再構成が必要と判定された場合、前記第１の通信装置以外の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる第２の通信装置を決定する決定部と、
前記決定部により決定された第２の通信装置に対し、前記仮想通信装置の制御を要求する要求部とを有し、
前記第２の通信装置は、
前記第１の通信装置の要求部からの要求に応じて、前記仮想通信装置を制御する制御部を有することを特徴とするネットワーク構成システム。
【請求項２】
前記判定部は、前記第１の通信装置のリソース状態に基づき、仮想ネットワークの再構成の要否を判定し、
前記決定部は、前記第１の通信装置以外の各通信装置のリソース状態を用いて、前記第１の通信装置以外の通信装置の中から、前記第２の通信装置を選択することを特徴とする請求項１に記載のネットワーク構成システム。
【請求項３】
前記第２の通信装置の制御部は、前記第１の通信装置の要求部からの要求に応じて、前記仮想通信装置の生成、削除、移動、分割、統合の内、少なくとも１つの制御を行うことを特徴とする請求項１に記載のネットワーク構成システム。
【請求項４】
前記第２の通信装置の制御部は、前記第１の通信装置の要求部からの要求に応じて、前記仮想通信装置に接続する仮想リンクを制御することを特徴とする請求項１に記載のネットワーク構成システム。
【請求項５】
前記第２の通信装置の制御部は、前記仮想通信装置を削除する際、該削除により仮想リンク接続が切断される複数の仮想通信装置間に仮想リンクを生成した後、前記仮想通信装置を前記第２の通信装置から削除する制御を行うことを特徴とする請求項３に記載のネットワーク構成システム。
【請求項６】
仮想ネットワーク上で仮想通信装置を動作させるネットワーク構成装置であって、
前記仮想ネットワークの再構成の要否を判定する判定部と、
前記判定部により前記仮想ネットワークの再構成が必要と判定された場合、複数の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる通信装置を決定する決定部と、
前記決定部により決定された通信装置に対し、前記仮想通信装置の制御を要求する要求部と
を有することを特徴とするネットワーク構成装置。
【請求項７】
第１の通信装置と、第２の通信装置とを有するネットワーク構成システムで実行されるネットワーク構成方法であって、
前記第１の通信装置が、仮想ネットワークの再構成の要否を判定する判定行程と、
前記判定行程にて、前記仮想ネットワークの再構成が必要と判定された場合、前記第１の通信装置が、前記第１の通信装置以外の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる第２の通信装置を決定する決定行程と、
前記第１の通信装置が、前記決定行程にて決定された第２の通信装置に対し、前記仮想通信装置の制御を要求する要求行程と、
前記第２の通信装置が、前記第１の通信装置からの要求に応じて、前記仮想通信装置を制御する制御行程と
を含むことを特徴とするネットワーク構成方法。
【請求項８】
仮想ネットワーク上で仮想通信装置を動作させるコンピュータに実行させるためのネットワーク構成プログラムであって、
前記仮想ネットワークの再構成の要否を判定する判定ステップと、
前記判定ステップにて、前記仮想ネットワークの再構成が必要と判定された場合、複数の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる通信装置を決定する決定ステップと、
前記決定ステップにて決定された通信装置に対し、前記仮想通信装置の制御を要求する要求ステップと
を前記コンピュータに実行させるためのネットワーク構成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク構成システム、ネットワーク構成装置、ネットワーク構成方法、及びネットワーク構成プログラムに関する。
【背景技術】
【０００２】
近年、データを送受信するサーバ等のホストコンピュータを主体とする従来のネットワークに代わり、送受信されるデータを主体とするコンテンツ指向のネットワークが注目されている。この様なコンテンツ指向のネットワークアーキテクチャの１つとして、ＣＣＮ（Content  Centric  Networking）がある。ＣＣＮは、要求応答型のプロトコルを採用しており、ＣＣＮ上の全てのコンテンツには、各コンテンツに固有の識別子（以下、「コンテンツ識別子」と記す。）が割り当てられている。ユーザからの要求パケット（Interestパケット）は、例えば、コンテンツ識別子の最長一致検索によって、ＣＣＮ上のルータ（以下、「ＣＣＮルータ」と記す。）間をルーティングされた後、ユーザの所望するコンテンツの探索に使用される。探索の結果発見されたコンテンツは、応答パケット（Dataパケット）として、上記要求パケットの送信経路とは逆の経路を辿って、ユーザに到達する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jaeyoung  Choi他、“A  Survey  on  Content-Oriented  Networking  for  Efficient  Content  Delivery,”in  Communications  Magazine,  IEEE,  vol.  49,  pp.  121-127,  Mar.  2011.
【非特許文献２】Van  Jacobson他、“Networking  Named  Content,”in  Proceedings  of  the  fifth  International  Conference  on  emerging  Networking  EXperiments  and  Technologies  (CoNEXT  '09),  pp.  1-12,  Dec.  2009.
【非特許文献３】大谷雅人他、“コンテンツセントリックネットワークにおいてグループ単位の閉域性を実現するルータ仮想化手法,”、電子情報通信学会技術研究報告(IN2011-59),  pp.1-6,  Jul.2011.
【非特許文献４】Yi  Wang他、“Virtual  Routers  on  the  Move:  Live  Router  Migration  as  a  Network-Management  Primitive,”in  Proceedings  of  ACM  SIGCOMM  2008,  pp.  231-242,  Aug.  2008.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンテンツ中心のＣＣＮは、位置依存型のＩＰ（Internet  Protocol）の代替技術としても期待されていることから、既存のＩＰネットワークと同様、仮想化に関する技術も研究されつつある。仮想化されたＣＣＮは、ＶＣＣＮ（Virtual  Content  Centric  Networking）と呼ばれる。実社会におけるＶＣＣＮの運用を想定すると、ＶＣＣＮの再構成技術の提案が望まれるが、従来、ＶＣＣＮの閉域性に関する提案はあるものの、再構成技術に関する定義は為されていない。また、ＶＣＣＮには、未だ未定義な部分が多い上、ＶＣＣＮは、上述した様に、従来のネットワークとは主体やルーティング方式、プロトコルが異なるため、既存のＩＰネットワークに適用される仮想化技術をそのまま用いることはできない。このため、ＶＣＣＮの再構成を行うことは困難であった。このことが、ネットワークにおける負荷分散等を阻害する要因となっていた。
【０００５】
開示の実施形態は、上記に鑑みてなされたものであって、仮想ネットワークをシームレスに再構成することができるネットワーク構成システム、ネットワーク構成装置、ネットワーク構成方法、及びネットワーク構成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本願の開示するネットワーク構成システムは、一つの態様において、第１の通信装置と、第２の通信装置とを有する。前記第１の通信装置は、判定部と、決定部と、要求部とを有する。前記判定部は、仮想ネットワークの再構成の要否を判定する。前記決定部は、前記判定部により前記仮想ネットワークの再構成が必要と判定された場合、前記第１の通信装置以外の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる第２の通信装置を決定する。前記要求部は、前記決定部により決定された第２の通信装置に対し、前記仮想通信装置の制御を要求する。前記第２の通信装置は、制御部を有する。前記制御部は、前記第１の通信装置の要求部からの要求に応じて、前記仮想通信装置を制御する。
【０００７】
また、本願の開示するネットワーク構成装置は、一つの態様において、仮想ネットワーク上で仮想通信装置を動作させる。前記ネットワーク構成装置は、判定部と決定部と要求部とを有する。前記判定部は、前記仮想ネットワークの再構成の要否を判定する。前記決定部は、前記判定部により前記仮想ネットワークの再構成が必要と判定された場合、複数の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる通信装置を決定する。前記要求部は、前記決定部により決定された通信装置に対し、前記仮想通信装置の制御を要求する。
【０００８】
更に、本願の開示するネットワーク構成方法は、一つの態様において、第１の通信装置と、第２の通信装置とを有するネットワーク構成システムで実行される。前記ネットワーク構成方法は、判定行程と決定行程と要求行程と制御行程とを含む。前記判定行程では、前記第１の通信装置が、仮想ネットワークの再構成の要否を判定する。前記決定行程では、前記判定行程にて、前記仮想ネットワークの再構成が必要と判定された場合、前記第１の通信装置が、前記第１の通信装置以外の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる第２の通信装置を決定する。前記要求行程では、前記第１の通信装置が、前記決定行程にて決定された第２の通信装置に対し、前記仮想通信装置の制御を要求する。前記制御行程では、前記第２の通信装置が、前記第１の通信装置からの要求に応じて、前記仮想通信装置を制御する。
【０００９】
また、本願の開示するネットワーク構成プログラムは、一つの態様において、コンピュータを上記ネットワーク構成装置として機能させる。すなわち、前記ネットワーク構成プログラムは、仮想ネットワーク上で仮想通信装置を動作させるコンピュータにより実行される。前記ネットワーク構成プログラムは、判定ステップと決定ステップと要求ステップとをコンピュータに実行させる。前記判定ステップでは、前記コンピュータは、仮想ネットワークの再構成の要否を判定する。前記決定ステップでは、前記コンピュータは、前記判定ステップにて、前記仮想ネットワークの再構成が必要と判定された場合、複数の通信装置の中から、前記仮想ネットワークにおいて制御の対象となる仮想通信装置を動作させる通信装置を決定する。前記要求ステップでは、前記コンピュータは、前記決定ステップにて決定された通信装置に対し、前記仮想通信装置の制御を要求する。
【発明の効果】
【００１０】
本願の開示するネットワーク構成システム、ネットワーク構成装置、ネットワーク構成方法、及びネットワーク構成プログラムは、仮想ネットワークをシームレスに再構成することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、ＣＣＮ上に構築された再構成前のＶＣＣＮの一例を示す図である。
【図２】図２は、ＡＣＣＮルータの機能構成を示すブロック図である。
【図３】図３は、ＶＣＣＮ再構成システムがＶＣＣＮルータを生成する処理を説明するためのシーケンス図である。
【図４】図４は、ＶＣＣＮルータ生成後のＶＣＣＮの一例を示す図である。
【図５】図５は、ＶＣＣＮ再構成システムがＶＣＣＮルータを削除する処理を説明するためのシーケンス図である。
【図６】図６は、ＶＣＣＮルータが削除される過程におけるＶＣＣＮの一例を示す図である。
【図７】図７は、ＶＣＣＮルータ削除後のＶＣＣＮの一例を示す図である。
【図８】図８は、ＶＣＣＮ再構成システムがＶＣＣＮルータを移動する処理を説明するためのシーケンス図である。
【図９】図９は、ＶＣＣＮルータ移動後のＶＣＣＮの一例を示す図である。
【図１０】図１０は、ネットワーク構成プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するネットワーク構成システム、ネットワーク構成装置、ネットワーク構成方法、及びネットワーク構成プログラムの実施形態を、図面を参照しながら詳細に説明する。なお、以下の実施形態により本願の開示するネットワーク構成システム、ネットワーク構成装置、ネットワーク構成方法、及びネットワーク構成プログラムが限定されるものではない。
【００１３】
まず、構成を説明する。図１は、ＣＣＮ１上に構築された再構成前のＶＣＣＮ１ａの一例を示す図である。図１に示す様に、ＣＮＮ１は、４つのＡＣＣＮ（Advanced  Content  Centric  Networking）ルータ（実ルータ）１０、２０、３０、４０から構成され、各ＡＣＣＮルータ１０、２０、３０、４０間は、それぞれＣＣＮリンクＬ１により接続されている。これにより、各ＡＣＣＮルータ１０、２０、３０、４０は、ＣＣＮレイヤレベルで、隣接するＡＣＣＮルータと１ホップの直接通信が可能な状態となっている。また、各ＡＣＣＮルータ１０、２０、３０上には、仮想のＣＣＮルータであるＶＣＣＮルータ１０ａ、２０ａ、３０ａが生成されている。これらのＶＣＣＮルータ１０ａ、２０ａ、３０ａが、それぞれ論理的なＣＣＮリンクであるＶＣＣＮリンクＬ１ａにより接続されることで、仮想のＣＣＮであるＶＣＣＮ１ａが形成されている。各ＶＣＣＮルータ１０ａ、２０ａ、３０ａについても、ＡＣＣＮルータ１０、２０、３０、４０と同様、ＶＣＣＮレイヤレベルで、隣接するＶＣＣＮルータと１ホップの直接通信が可能な状態となっている。すなわち、ＶＣＣＮ再構成システム１００は、ＶＣＣＮルータを内部で制御可能なＡＣＣＮルータ１０、２０、３０、４０を有して構成される。
【００１４】
各ＡＣＣＮルータ１０、２０、３０、４０には、ルータを識別するための識別子として、ＡＣＣＮルータ識別子が付されている。また、ＣＮＮ１には、“/vccnx/CCNrouter-ID”の識別子を有するコンテンツが登録されている。このため、ＣＣＮ１において、該“/vccnx/CCNrouter-ID”がプレフィックスとして付されたＣＣＮ要求パケットが受信されると、上記ＡＣＣＮルータ識別子を有するＡＣＣＮルータ宛に、上記ＣＣＮ要求パケットが転送される。なお、この場合、各ＡＣＣＮルータ１０、２０、３０、４０間の経路に、ＶＣＣＮ再構成の機能をもたない通常のＣＣＮルータが含まれていてもよい。
【００１５】
図２は、ＡＣＣＮルータ１０の機能構成を示すブロック図である。図２に示す様に、ＡＣＣＮルータ１０は、再構成要否判定部１１とＡＣＣＮルータ決定部１２とＶＣＣＮ再構成部１３とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００１６】
再構成要否判定部１１は、自ルータ１０のリソース使用状況、及び自ルータ１０上で動作するＶＣＣＮルータ１０ａの接続するＶＣＣＮリンクＬ１ａの状態を定期的に監視する。再構成要否判定部１１は、該監視の結果、ペンディング要求テーブルの平均使用率が、ネットワーク管理者により事前に設定された閾値以上となった場合、ＶＣＣＮ１ａ内にＶＣＣＮルータの生成（追加）が必要であると判定する。なお、ＶＣＣＮ１ａの再構成の要否判定に用いられるパラメータは、上記平均使用率に限らず、例えば、ＡＣＣＮルータ１０のプロセッサの使用率、あるいは、メモリやハードディスクの使用容量であってもよい。
【００１７】
ＡＣＣＮルータ決定部１２は、隣接する各ＡＣＣＮルータ２０、３０、４０に対して、ＣＣＮの要求パケットを送信することで、ＶＣＣＮルータの生成の要求先となるＡＣＣＮルータを決定するための情報を要求する。当該情報には、例えば、上記要求パケットを受信したＡＣＣＮルータ２０、３０、４０が動作させているＶＣＣＮルータ２０ａ、３０ａ、４０ａの属するＶＣＣＮの識別子（ＶＣＣＮ識別子）と、各ＡＣＣＮルータ２０、３０、４０の有するリソースの状態を示す情報とが含まれている。リソースの状態を示す情報は、例えば、各ＡＣＣＮルータ２０、３０、４０のペンディング要求テーブルの使用容量や、プロセッサ、メモリの使用率であり、ＡＣＣＮルータ決定部１２による上記情報の収集には、コンテンツ識別子として、例えば、“/vccnx/CCN-routers/resources”が使用される。
【００１８】
上記要求パケット内には、生存時間（ライフタイム）が設定されている。該生存時間が経過するまでの間、上記要求パケットは、ＡＣＣＮルータ２０、３０、４０から、隣接する他のＡＣＣＮルータに順次転送される。なお、上記要求パケットに対する応答パケットのキャッシュは、オフに設定されている。これにより、キャッシュをオンに設定した場合に懸念される、同一のコンテンツ識別子（例えば、“/vccnx/CCN-routers/resources”）を有する別の応答パケットが同一のコンテンツとして扱われてしまう、といった問題は確実に回避される。但し、各ＡＣＣＮルータ２０、３０、４０が、応答パケットのコンテンツ識別子の末尾に自ルータの識別子を埋め込む場合には、上記キャッシュをオンに設定しても上述の問題は生じない。すなわち、ＡＣＣＮルータ決定部１２は、ＣＣＮ１におけるコンテンツのキャッシュ機能を用いることで、探索用パケットの応答を再利用し、余分な探索用パケットのＣＣＮ１上への流出を抑制する。その結果、ネットワーク負荷が低減される。
【００１９】
ＡＣＣＮルータ決定部１２は、上記応答パケットの示す情報（例えば、ＶＣＣＮ識別子、リソース使用状況）に基づき、ＡＣＣＮルータ２０、３０、４０の中から、ＶＣＣＮルータを新たに生成させるべきＡＣＣＮルータを決定する。例えば、ＡＣＣＮルータ決定部１２は、隣接するＡＣＣＮルータ２０、３０、４０の内、ＶＣＣＮ１ａ上でＶＣＣＮルータを動作させておらず、かつ、ペンディング要求テーブルの容量に余裕のあるＡＣＣＮルータ（例えば、ＡＣＣＮルータ２０）を選択する。
【００２０】
なお、ＡＣＣＮルータ２０、３０、４０の中に条件を満たすＡＣＣＮルータが存在しない場合には、ＡＣＣＮルータ決定部１２は、expanding  ring  searchにより、徐々に遠方のＡＣＣＮルータまで上記要求パケットを送信する。要求パケットには、拡散範囲を示す情報（例えば、ホップ数）が埋め込まれており、ＡＣＣＮルータ決定部１２は、この拡散範囲を大きくとることで、より遠方のＡＣＣＮルータまで、要求パケットを段階的に到達させる、といった調整が可能となる。同様に、要求パケットには、生存時間を示す情報が埋め込まれており、ＡＣＣＮルータ決定部１２は、この生存時間を長くすることで、より遠方のＡＣＣＮルータまで要求パケットを到達させる、といった調整が可能となる。併せて、ＡＣＣＮルータ決定部１２が、新しいＶＣＣＮルータの生成先や移動先となるＡＣＣＮルータを決定する際、ＡＣＣＮルータ１０の周辺のＡＣＣＮルータへの探索用パケットの転送が抑制される。その結果、探索用パケットのＣＣＮ１上への不要な流出が未然に防止される。
【００２１】
ＶＣＣＮ再構成部１３は、ＡＣＣＮルータ決定部１２により決定されたＡＣＣＮルータに対して、自ルータ上におけるＶＣＣＮルータの制御を要求する。制御は、例えば、ＶＣＣＮルータの生成、削除、移動、分割、統合等であるが、これらに限らない。また、ＶＣＣＮ再構成部１３は、他のＡＣＣＮルータからの要求に応じて、更に別のＡＣＣＮルータとの間で、上記制御に必要な情報（例えば、ＶＣＣＮ識別子、ＡＣＣＮルータの識別子）の交換を行う。そして、ＶＣＣＮ再構成部１３は、ＡＣＣＮルータ１０におけるＶＣＣＮルータ１０ａ、あるいは他のＡＣＣＮルータ２０、３０、４０との間のＶＣＣＮリンクＬ１ａを、動的に制御する。
【００２２】
以上、ＡＣＣＮルータ１０の構成を代表的に説明したが、他のＡＣＣＮルータ２０、３０、４０の構成は、上述したＡＣＣＮルータ１０の構成と同様である。したがって、共通する構成要素には、末尾が同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。
【００２３】
次に、動作を説明する。
【００２４】
（ＶＣＣＮルータ生成処理）
まず、ＶＣＣＮ再構成システム１００が、ＶＣＣＮ１ａ上にＶＣＣＮルータ２０ａを生成する際の動作を説明する。図３は、ＶＣＣＮ再構成システム１００がＶＣＣＮルータ２０ａを生成する処理を説明するためのシーケンス図である。Ｓ１では、ＶＣＣＮ再構成部１３は、ＡＣＣＮルータ決定部１２により選定されたＡＣＣＮルータ２０に対し、新たなＶＣＣＮルータの生成を要求するパケットを送信する。該パケットには、（ａ）問題を解決するＡＣＣＮルータの識別子と、（ｂ）新たなＶＣＣＮルータの生成されるＶＣＣＮの識別子と、（ｃ）新たなＶＣＣＮルータの接続先となるＶＣＣＮルータの動作するＡＣＣＮルータの識別子との各情報が少なくとも含まれる。本実施形態では、（ａ）の識別子として“ＡＣＣＮルータ２０”が、（ｂ）の識別子として“ＶＣＣＮ１ａ”が、（ｃ）の識別子として“ＡＣＣＮルータ３０、４０”がそれぞれ含まれる。
【００２５】
ここで、ＣＣＮの要求パケットのコンテンツ識別子には、バイナリエンコーディングされた情報を埋め込むことができる。このため、ＡＣＣＮルータ１０は、上記（ａ）〜（ｃ）の各情報をコンテンツ識別子に埋め込むことで、ＶＣＣＮルータの生成に必要な情報を、ＣＣＮレイヤレベルで送信することができる。このとき使用されるコンテンツ識別子は、例えば、“/vccnx/CCNrouter-D/generate/VCCN-X/NFBLOB”である。なお、“NFBLOB”は、新たに生成されたＶＣＣＮルータの接続するＶＣＣＮルータの動作するＡＣＣＮルータの識別子が、コンテンツとしてバイナリエンコーディングされた応答パケットである。
【００２６】
Ｓ２では、ＡＣＣＮルータ２０は、ＶＣＣＮ再構成部２３により、ＡＣＣＮルータ１０から上記要求パケットを受信すると、該要求パケットから、上記（ａ）〜（ｃ）の各情報を読み込み、（ｂ）のＶＣＣＮ識別子である“ＶＣＣＮ１ａ”を基に、空のＶＣＣＮルータのインスタンスを生成する。また、ＡＣＣＮルータ２０は、ＶＣＣＮ１ａのための転送情報ベース・コンテンツストア・ペンディング要求テーブル用のメモリ領域を確保すると共に、ＶＣＣＮ１ａ宛のＶＣＣＮパケットが、上記テーブルを参照する様な設定を行う。
【００２７】
Ｓ３では、ＡＣＣＮルータ２０は、ＶＣＣＮ再構成部２３により、上記（ｃ）の識別子の示す“ＡＣＣＮルータ３０、４０”に向けて、ＡＣＣＮルータ２０へのリンク接続を要求するパケット（ＡＣＣＮリンクの生成要求パケット）を、ＶＣＣＮレイヤレベルで送信する。該パケットのコンテンツ識別子には、（ｄ）新たに生成されたＶＣＣＮルータの接続するＡＣＣＮルータの識別子と、（ｅ）新たなＶＣＣＮルータの生成されるＶＣＣＮの識別子と、（ｆ）新たなＶＣＣＮルータの動作するＡＣＣＮルータと通信可能となるフェースの情報との各情報が少なくとも含まれる。本実施形態では、（ｄ）の識別子として“ＡＣＣＮルータ３０、４０”が、（ｅ）の識別子として“ＶＣＣＮ１ａ”が、（ｆ）の情報として“ＡＣＣＮルータ２０のフェースインスタンス情報”がそれぞれ含まれる。
【００２８】
Ｓ４では、ＡＣＣＮルータ３０は、上記ＡＣＣＮリンクの生成要求パケットをＡＣＣＮルータ２０から受信すると、ＶＣＣＮ再構成部３３により、ＡＣＣＮルータ２０宛のフェースを新たに生成する。また、ＡＣＣＮルータ４０においても同様に、ＶＣＣＮ再構成部４３により、ＡＣＣＮルータ２０宛のフェースを新たに生成する。
【００２９】
Ｓ５では、上記Ｓ３とは逆方向に、各ＡＣＣＮルータ３０、４０が、ＶＣＣＮレイヤレベルで、ＡＣＣＮルータ２０に対して、ＡＣＣＮリンクの生成要求パケットを送信することで、ＡＣＣＮルータ２０とのリンク接続を要求する。該パケットのコンテンツ識別子には、（ｇ）新たに生成されたＶＣＣＮルータの動作するＡＣＣＮルータの識別子と、（ｈ）新たなＶＣＣＮルータの生成されるＶＣＣＮの識別子と、（ｉ）新たなＶＣＣＮルータの接続するＡＣＣＮルータと通信可能となるフェースの情報との各情報が少なくとも含まれる。本実施形態では、（ｇ）の識別子として“ＡＣＣＮルータ２０”が、（ｈ）の識別子として“ＶＣＣＮ１ａ”が、（ｉ）の情報として“ＡＣＣＮルータ３０、４０のフェースインスタンス情報”がそれぞれ含まれる。
【００３０】
Ｓ６では、ＡＣＣＮルータ２０は、上記ＡＣＣＮリンクの生成要求パケットを各ＡＣＣＮルータ３０、４０から受信すると、ＶＣＣＮルータ生成部１３１により、ＡＣＣＮルータ３０、４０宛のフェースを新たに生成する。また、ＡＣＣＮルータ２０は、ＶＣＣＮレイヤレベルで、リンク接続のためのパケットとリンクステートパケットとを、各ＡＣＣＮルータ３０、４０上で動作するＶＣＣＮルータ３０ａ、４０ａ宛に送信する。その結果、新たに生成されたＶＣＣＮルータ２０ａと、既存のＶＣＣＮルータ３０ａ、４０ａとの間に、新たなＶＣＣＮリンクＬ１ａが生成される。
【００３１】
なお、ＶＣＣＮルータ間が如何なる形態で接続されるかは、新たなＶＣＣＮルータ（本実施形態では、ＶＣＣＮルータ２０ａ）が生成される要因に基づいて決定される。例えば、本実施形態では、ＶＣＣＮ再構成システム１００は、ＡＣＣＮルータ１０に掛かる負荷の分散を図るため、ＶＣＣＮルータ２０ａとＶＣＣＮルータ３０ａ、４０ａとの間にＶＣＣＮリンクＬ１ａを１回線ずつ（計２回線）生成するものとした。しかしながら、迂回路や待機系の形成が必要になった場合等、負荷分散とは別の要因がある場合には、ＶＣＣＮ再構成システム１００は、何れか一方の回線のＶＣＣＮリンクＬ１ａのみを生成するものとしてもよい。
【００３２】
図４は、ＶＣＣＮルータ２０ａ生成後のＶＣＣＮ１ｂの一例を示す図である。図４に示す様に、ＶＣＣＮ再構成システム１００がＶＣＣＮ再構成処理を実行した結果、ＶＣＣＮ１ｂ上には、ＶＣＣＮルータ２０ａが、ＣＣＮレイヤレベルでシームレスに（間断無く）生成される。ＶＣＣＮルータ２０ａは、ＶＣＣＮリンクＬ１ｂを介してＶＣＣＮルータ３０ａ、４０ａと接続されていることから、再構成前まではＶＣＣＮルータ１０ａに集中していた、ＶＣＣＮルータ３０ａ、４０ａからのトラフィックは、ＶＣＣＮルータ２０ａに分散される。これにより、ＶＣＣＮルータ１０ａが受信していたＶＣＣＮパケットの一部は、ＶＣＣＮ１ａの再構成後、ＶＣＣＮルータ２０ａが受信することとなり、その結果、ＶＣＣＮルータ１０ａのペンディング要求テーブルの平均使用率は低下する。
【００３３】
（ＶＣＣＮルータ削除処理）
続いて、ＶＣＣＮ再構成システム１００が、ＶＣＣＮ１ａ上に存在するＶＣＣＮルータ１０ａを削除する際の動作を説明する。かかる動作は、ＶＣＣＮルータ１０ａの削除後においても、ＶＣＣＮルータ３０ａ、４０ａ間の接続が維持されるケースと、該接続が終了するケースとに分けられるが、本実施形態では特に、通信継続性の高い前者のケースについて説明する。なお、事前処理である、ＶＣＣＮ再構成の要否判定処理及び制御対象ＡＣＣＮルータの決定処理については、上述したＶＣＣＮルータ生成処理の事前処理と同様であるため、説明を省略する。
【００３４】
図５は、ＶＣＣＮ再構成システム１００がＶＣＣＮルータ１０ａを削除する処理を説明するためのシーケンス図である。Ｓ１１では、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを介して、ＶＣＣＮルータ３０ａ宛に、ＶＣＣＮルータ３０ａがＶＣＣＮレイヤレベルでＶＣＣＮルータ４０ａとリンク接続することを要求するパケット（ＣＣＮリンク生成要求パケット）を送信する。同様に、ＶＣＣＮ再構成部１３は、ＶＣＣＮルータ４０ａに対しても、ＶＣＣＮルータ４０ａがＶＣＣＮルータ３０ａとリンク接続することを要求するパケットを送信する。
【００３５】
該パケットのコンテンツ識別子には、（ｊ）ＶＣＣＮルータの接続するＡＣＣＮルータの識別子と、（ｋ）ＶＣＣＮルータの削除されるＶＣＣＮの識別子と、（ｌ）削除されるＶＣＣＮルータの動作しているＡＣＣＮルータと通信可能となるフェースの情報との各情報が少なくとも含まれる。本実施形態では、（ｊ）の識別子として“ＡＣＣＮルータ３０、４０”が、（ｋ）の識別子として“ＶＣＣＮ１ａ”が、（ｌ）の情報として“ＡＣＣＮルータ１０のフェースインスタンス情報”がそれぞれ含まれる。
【００３６】
併せて、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを介して、ＶＣＣＮルータ３０ａ宛に、リンクステートパケットを送信する。該リンクステートパケットは、転送情報ベース内の宛先情報として“ＶＣＣＮルータ１０ａ”を含むエントリに、新たな宛先情報として“ＶＣＣＮルータ４０ａ”を追加することをＶＣＣＮルータ３０ａに指示するパケットである。同様に、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを介して、ＶＣＣＮルータ４０ａ宛にも、リンクステートパケットを送信する。該リンクステートパケットは、転送情報ベース内の宛先情報として“ＶＣＣＮルータ１０ａ”を含むエントリに、新たな宛先情報として“ＶＣＣＮルータ３０ａ”を追加することをＶＣＣＮルータ４０ａに指示するパケットである。これにより、ＶＣＣＮルータ３０ａ、４０ａ間に、新たなＶＣＣＮリンクＬ１ｃが生成される（Ｓ１２）。図６は、ＶＣＣＮルータ１０ａが削除される過程におけるＶＣＣＮ１ｃの一例を示す図である。図６に示す様に、現時点で、ＶＣＣＮルータ３０ａ、４０ａ間は、２本のＶＣＣＮリンクＬ１ｃ、Ｌ１ｄにより並列に接続されることで、冗長化される。
【００３７】
Ｓ１３では、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを介して、ＶＣＣＮルータ３０ａ宛に、転送情報ベースの設定変更要求パケットを送信する。該パケットは、転送情報ベース内の宛先情報として“ＶＣＣＮルータ１０ａ”を含むエントリから、“ＶＣＣＮルータ１０ａ”を削除することをＶＣＣＮルータ３０ａに指示するパケットである。同様に、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを介して、ＶＣＣＮルータ４０ａ宛にも、上記設定変更要求パケットを送信する。該パケットは、転送情報ベース内の宛先情報として“ＶＣＣＮルータ１０ａ”を含むエントリから、“ＶＣＣＮルータ１０ａ”を削除することをＶＣＣＮルータ４０ａに指示するパケットである。
【００３８】
Ｓ１４では、ＡＣＣＮルータ３０、４０のＶＣＣＮ再構成部３３、４３は、上記設定変更要求パケットによる指示に従い、転送情報ベースを、ＶＣＣＮルータ１０ａが削除された状態に更新する。Ｓ１５では、ＡＣＣＮルータ１０のＶＣＣＮルータ削除部１３２は、ＶＣＣＮルータ１０ａのインスタンスを自ルータから削除する。また、ＶＣＣＮルータ削除部１３２は、ＶＣＣＮ１ｃのための転送情報ベース・コンテンツストア・ペンディング要求テーブルのメモリ領域を開放すると共に、ＶＣＣＮ１ｃに向けたＶＣＣＮパケットが上記テーブルを参照する設定を解除する。
【００３９】
図７は、ＶＣＣＮルータ１０ａ削除後のＶＣＣＮ１ｅの一例を示す図である。図７に示す様に、ＶＣＣＮ再構成システム１００がＶＣＣＮ再構成処理を実行した結果、ＶＣＣＮ１ａから、ＶＣＣＮルータ２０ａがシームレスに削除される。上述した様に、ＶＣＣＮルータ３０ａ、４０ａ間には、事前にＶＣＣＮリンクＬ１ｅが生成されていることから、ＶＣＣＮルータ１０ａの削除後においても、ＶＣＣＮルータ３０ａとＶＣＣＮルータ４０ａとは、直接の通信が可能である。また、ＶＣＣＮルータ１０ａの削除に伴う、ＶＣＣＮルータ３０ａ、４０ａ間における通信の断絶は確実に防止される。
【００４０】
（ＶＣＣＮルータ移動処理）
続いて、ＶＣＣＮ再構成システム１００が、ＶＣＣＮ１ａ上に存在するＶＣＣＮルータ１０ａを移動（マイグレーション）する際の動作を説明する。本動作説明では、ＡＣＣＮルータ１０上のＶＣＣＮルータ１０ａ（図１参照）がＡＣＣＮルータ２０に移動する場合を想定する。なお、事前処理である、ＶＣＣＮ再構成の要否判定処理及び制御対象ＡＣＣＮルータの決定処理については、上述したＶＣＣＮルータ生成処理の事前処理と同様であるため、説明を省略する。
【００４１】
前提として、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａの移動先をＡＣＣＮルータ２０に決定すると、ＡＣＣＮルータ２０に対して、新たなＶＣＣＮルータの生成を要求するパケットを送信する。ＡＣＣＮルータ２０は、該要求に応じて、ＶＣＣＮルータ２０ａを生成することとなるが、生成した時点で、ＶＣＣＮルータ２０ａ、３０ａ間、及びＶＣＣＮルータ２０ａ、４０ａ間のリンク接続を、図４に示した様に冗長化する。これにより、ＶＣＣＮルータの移動に伴う通信の瞬断が未然に回避される。
【００４２】
図８は、ＶＣＣＮ再構成システム１００がＶＣＣＮルータ１０ａを移動する処理を説明するためのシーケンス図である。Ｓ２１では、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＡＣＣＮルータ２０に対し、ＶＣＣＮルータ１０ａの保持するデータテーブルをＡＣＣＮルータ２０がコピーすることを要求するパケット（テーブルコピー要求パケット）を送信する。該パケットには、（ｍ）問題を解決するＡＣＣＮルータの識別子と、（ｎ）ＶＣＣＮルータの移動するＶＣＣＮの識別子と、（ｏ）問題の発生したＡＣＣＮルータの識別子と、（ｐ）コピー対象のデータテーブルの種類との各情報が少なくとも含まれる。本実施形態では、（ｍ）の識別子として“ＡＣＣＮルータ２０”が、（ｎ）の識別子として“ＶＣＣＮ１ａ”が、（ｏ）の識別子として“ＡＣＣＮルータ１０”が、（ｐ）の種類として“ＦＩＢ（Forwarding  Information  Base）”が、それぞれ含まれる。
【００４３】
なお、コピー対象のデータテーブルの種類としては、転送情報ベース（ＦＩＢ）の他、コンテンツストア（ＣＳ）、ペンディング要求テーブル（ＰＩＴ：Pending  Interest  Table）が指定されるものとしてもよい。あるいは、これらを組み合わせた情報が指定されるものとしてもよい。例えば、テーブルコピー要求パケットのコンテンツ識別子は、“/vccnx/CCNrouter-D/copy/VCCN-X/[コピー対象のデータテーブルの種類]/from/CCNrouter-B/”の様に指定される。
【００４４】
ＡＣＣＮルータ２０のＶＣＣＮ再構成部２３は、Ｓ２１でＡＣＣＮルータ１０から送信された上記テーブルコピー要求パケットを受信すると、該パケットから、上記（ｍ）〜（ｐ）の各情報を読み込む。その後、ＶＣＣＮ再構成部２３は、該パケットにて指定されているコピー対象のデータテーブル（上記（ｐ））を要求するパケットを、テーブル要求パケットとして、ＶＣＣＮ１ａ（上記（ｎ））上のＶＣＣＮルータ１０ａに対して送信する（Ｓ２２）。例えば、テーブル要求パケットのコンテンツ識別子は、“/vccnx/CCNrouter-B/VCCN-X/[コピー対象のデータテーブルの種類]”の様に指定される。
【００４５】
データテーブルの要求を受けたＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、オンデマンドで、上記テーブル要求パケットにて指定されているデータテーブルの各エントリを、ＡＣＣＮルータ２０に返信する（Ｓ２３）。すなわち、ＶＣＣＮ再構成部１３は、コンテンツ識別子にタイムスタンプを埋め込んだ状態で、転送情報ベースをエントリ単位で返送する。なお、ＶＣＣＮ再構成部１３は、全てのエントリを返送せず、ネットワーク管理者が予め設定した割合のエントリのみを返送するものとしてもよい。このとき、ＡＣＣＮルータ１０は、返送したエントリをメモリに記録しておく。
【００４６】
Ｓ２４では、ＡＣＣＮルータ２０のＶＣＣＮルータ移動部２３３は、受信されたＶＣＣＮルータ１０ａのデータテーブルの内容を、ＶＣＣＮルータ２０ａのデータテーブルに反映させる。ここで、ＶＣＣＮルータ２０ａにはリンク接続が冗長化されているため、ＶＣＣＮルータ２０ａは、既にリンクステートパケット等を受信済みであり、転送情報ベース内に、重複するエントリが複数存在することとなる可能性がある。この場合には、ＶＣＣＮ再構成部２３は、上記コンテンツ識別子に記述されているタイムスタンプと、ＶＣＣＮルータ２０ａにて重複するエントリの生成時刻とを比較し、最新のエントリを基に、データテーブルの更新を行う。
【００４７】
ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、全てのエントリの送信が完了すると、上述したＶＣＣＮルータ削除処理と同様の手順により、ＶＣＣＮルータ１０ａを削除する（Ｓ２５）。なお、Ｓ２３において、ＡＣＣＮルータ１０が、一部のエントリのみを送信した場合には、ＶＣＣＮ再構成部１３は、該エントリのみを削除する。これにより、ＶＣＣＮルータ１０ａは、擬似的に、ＶＣＣＮルータ１０ａとＶＣＣＮルータ２０ａとに分割された状態となる。
【００４８】
図９は、ＶＣＣＮルータ１０ａ移動後のＶＣＣＮ１ｆの一例を示す図である。図９に示す様に、ＶＣＣＮ再構成システム１００がＶＣＣＮ再構成処理を実行した結果、ＡＣＣＮルータ１０上で動作していたＶＣＣＮルータは、ＡＣＣＮルータ２０へシームレスに移動し、以降、ＡＣＣＮルータ２０上のＶＣＣＮ１ｆで動作する。上述した様に、ＶＣＣＮルータ２０ａとＶＣＣＮルータ３０ａ、４０ａとの間には、事前にＶＣＣＮリンクＬ１ｆが生成されている。したがって、ＶＣＣＮルータの移動後においても、移動先のＶＣＣＮルータ２０ａ（図９参照）は、移動元のＶＣＣＮルータ１０ａ（図１参照）と同様に、他のＶＣＣＮルータ３０ａ、４０ａとの通信を容易に維持することができる。
【００４９】
実社会におけるＶＣＣＮの運用を想定すると、ＶＣＣＮルータの生成、削除、移動等を含めたＶＣＣＮの再構成技術が望まれるが、ＣＣＮは、ＣＣＮレイヤ以下のプロトコルに依存しない仕様となっている。したがって、ＣＣＮの利便性を維持しつつＶＣＣＮを再構成するためには、ＶＣＣＮの再構成技術は、上記ＣＣＮレイヤ以上の仕組みによって実現されるのが望ましい。また、ＶＣＣＮの再構成技術には、シームレスな再構成が望まれることから、ＶＣＣＮのサービスを極力停止させない運用が好ましい。更に、ＣＣＮ上には、複数のＶＣＣＮが構築されるため、ネットワーク管理者が、何れのＶＣＣＮに対して如何なる量のリソースを割り当て、ＶＣＣＮルータを制御するかを逐次適確に判断することは、極めて困難である。したがって、ＶＣＣＮの再構成は、ＣＣＮ上の各ＡＣＣＮルータによって自律的に実行されることが望ましい。
【００５０】
そこで、以上説明した様に、ＶＣＣＮ再構成システム１００は、ＡＣＣＮルータ１０と、ＡＣＣＮルータ２０とを有する。ＡＣＣＮルータ１０は、再構成要否判定部１１と、ＡＣＣＮルータ決定部１２と、ＶＣＣＮ再構成部１３とを有する。再構成要否判定部１１は、ＶＣＣＮ１ａの再構成の要否を判定する。ＡＣＣＮルータ決定部１２は、再構成要否判定部１１によりＶＣＣＮ１ａの再構成が必要と判定された場合、ＡＣＣＮルータ１０以外のＡＣＣＮルータ２０、３０、４０の中から、ＶＣＣＮ１ａにおいて制御（生成、削除、移動、分割、統合等）の対象となるＶＣＣＮルータ２０ａを動作させるＡＣＣＮルータ２０を決定する。ＶＣＣＮ再構成部１３は、ＡＣＣＮルータ決定部１２により決定されたＡＣＣＮルータ２０に対し、ＶＣＣＮルータ２０ａの制御を要求する。また、ＡＣＣＮルータ２０は、ＶＣＣＮ再構成部２３を有する。ＶＣＣＮ再構成部２３は、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３からの要求に応じて、ＶＣＣＮルータ２０ａを制御する。
【００５１】
ＶＣＣＮ再構成システム１００において、再構成要否判定部１１は、ＡＣＣＮルータ１０のリソース状態に基づき、ＶＣＣＮ１ａの再構成の要否を判定するものとしてもよい。また、ＡＣＣＮルータ決定部１２は、ＡＣＣＮルータ１０以外の各ＡＣＣＮルータ２０、３０、４０のリソース状態を用いて、ＡＣＣＮルータ１０以外の各ＡＣＣＮルータ２０、３０、４０の中から、ＡＣＣＮルータ２０を選択するものとしてもよい。
【００５２】
また、ＶＣＣＮ再構成システム１００において、ＡＣＣＮルータ２０のＶＣＣＮ再構成部２３は、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３からの要求に応じて、ＶＣＣＮルータ２０ａの生成、削除、移動、分割、統合の内、少なくとも１つの制御を行うものとしてもよい。
【００５３】
更に、ＶＣＣＮ再構成システム１００において、ＡＣＣＮルータ２０のＶＣＣＮ再構成部２３は、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３からの要求に応じて、ＶＣＣＮルータ２０ａに接続する仮想リンク（例えば、図４のＶＣＣＮリンクＬ１ｂ）を制御するものとしてもよい。
【００５４】
また、ＶＣＣＮ再構成システム１００において、ＡＣＣＮルータ１０のＶＣＣＮ再構成部１３は、ＶＣＣＮルータ１０ａを削除する際、該削除により仮想リンク接続が切断される複数のＶＣＣＮルータ（例えば、図６のＶＣＣＮルータ３０ａ、４０ａ）間に仮想リンク（例えば、図６のＶＣＣＮリンクＬ１ｃ）を生成した後、ＶＣＣＮルータ１０ａをＡＣＣＮルータ１０から削除する制御を行うものとしてもよい。
【００５５】
本実施形態に係るＶＣＣＮ再構成システム１００によれば、ＣＣＮレイヤ以下のプロトコルによる制限を受けないＶＣＣＮを、シームレスかつ自律分散的に再構成することができる。
【００５６】
具体的には、再構成要否判定部１１は、ＡＣＣＮルータ１０のリソース状態を定期的に監視する。再構成要否判定部１１は、監視の結果、ネットワーク状況の変化を検知すると、リソース状態を表す値が所定の閾値に達したことを契機として、ＶＣＣＮ１ａの再構成が必要であると判断する。リソース状態を表す値は、例えば、ペンディング要求テーブルの使用容量、プロセッサの使用率、メモリやディスクの使用割合であるが、これらの値の所定時間における増加率であってもよい。更に、プロセッサの平均温度またはその上昇率、あるいは、メモリの平均スワッピング回数を用いてもよい。また、閾値は、ネットワーク管理者が事前に設定するが、ＡＣＣＮルータ１０における大量のパケットロスの発生を回避可能な範囲内で、適宜変更可能である。
【００５７】
更に、再構成要否判定部１１は、ＶＣＣＮ１ａの再構成の要否を判定する指標として、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のコンテンツストアの平均ヒット率を採用してもよい。すなわち、ＡＣＣＮルータ１０のコンテンツストアの平均ヒット率の値が小さい場合、キャッシュされたコンテンツの再利用のレベルが低いとの推測が可能である。したがって、かかる態様では、再構成要否判定部１１は、ＡＣＣＮルータ１０のコンテンツストアの平均ヒット率が所定の閾値以下となった場合、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの生成及び移動）が必要であると判定する。
【００５８】
同様に、再構成要否判定部１１は、ＶＣＣＮ１ａの再構成の要否を判定する指標として、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のコンテンツストアの空き容量を採用してもよい。すなわち、ＡＣＣＮルータ１０のコンテンツストアの空き容量の値が小さい場合にも、キャッシュされたコンテンツの再利用のレベルが低いとの推測が可能である。したがって、かかる態様では、再構成要否判定部１１は、ＡＣＣＮルータ１０のコンテンツストアの空き容量が所定の閾値以下となった場合、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの生成及び移動）が必要であると判定する。
【００５９】
また、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のフェース数が所定の閾値以上となった場合、ＡＣＣＮルータ１０の負荷が高いことから、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの生成及び移動）が必要であると判定するものとしてもよい。更に、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０の転送情報ベース（ＦＩＢ）に登録されているエントリの数が所定の閾値以上となった場合、ＦＩＢのルックアップ時間が大きいことから、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの分割）が必要であると判定するものとしてもよい。
【００６０】
また、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のペンディング要求テーブル（ＰＩＴ）の平均変化率を、ＶＣＣＮ１ａの再構成の要否を判定する指標として、使用することもできる。ＰＩＴの平均変化率は、単位時間当たりにおける、ＰＩＴのエントリの変化量を表す数値である。すなわち、かかる態様では、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のＰＩＴの平均変化率が所定の閾値以上となった場合、ＡＣＣＮルータ１０がＤＤｏＳ（Distributed  Denial  of  Service）攻撃を受けている可能性が高いことから、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの移動）が必要であると判定するものとしてもよい。
【００６１】
また、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０のＰＩＴの平均使用率が所定の閾値以下となった場合、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの削除及び統合）が必要であると判定するものとしてもよい。これにより、ネットワークリソースの節約が可能となる。更に、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０及び隣接するＡＣＣＮルータ２０、３０、４０の転送情報ベース（ＦＩＢ）に登録されているエントリの数が何れも所定の閾値以下となった場合にも、ネットワークリソースの節約のため、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの削除）が必要であると判定することができる。
【００６２】
また、例えば、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０が送出する要求パケットに対し、応答パケットが返信され、到達するまでの平均ＲＴＴ（Round  Trip  Time）を計測する。そして、再構成要否判定部１１は、該平均ＲＴＴが所定の閾値以上となった場合、仮想的なコンテンツセントリックネットワークの性能改善のため、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの移動）が必要であると判定するものとしてもよい。同様に、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０が送出する要求パケットの呼損率が所定の閾値以上となった場合にも、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの移動）が必要であると判定するものとしてもよい。これにより、ＶＣＣＮ１ａの性能が改善される。更に、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０と接続するリンクの利用率が所定の閾値以上となった場合に、仮想的なコンテンツセントリックネットワークの性能改善のため、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの移動）が必要であると判定することもできる。
【００６３】
また、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０及び隣接するＡＣＣＮルータ２０、３０、４０の各ＣＰＵ（Central  Processing  Unit）の平均使用率が何れも所定の閾値以下となった場合、ネットワークリソースの節約のため、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの削除）が必要であると判定するものとしてもよい。上記各ＣＰＵの平均使用率は、各ＣＰＵの平均温度であってもよく、この場合にも同様の効果が得られる。更に、再構成要否判定部１１は、ＶＣＣＮルータ１０ａを動作させるＡＣＣＮルータ１０及び隣接するＡＣＣＮルータ２０、３０、４０の各メモリの空き容量が何れも所定の閾値以上となった場合、ＶＣＣＮ１ａの再構成（特に、ＶＣＣＮルータの削除）が必要であると判定するものとしてもよい。かかる態様によっても、ネットワークリソースの節約が可能となる。
【００６４】
更に、再構成要否判定部１１は、上述した複数の条件を択一的に用いるのではなく、上述した複数の条件の内、２つ以上を組み合わせ、複数の条件が満たされた場合に初めて、ＶＣＣＮ１ａの再構成が必要であるとの決定をするものとしてもよい。これにより、ＶＣＣＮ１ａの再構成が必要となった要因が複数存在する場合にも対応可能となる。すなわち、ＡＣＣＮルータ決定部１２は、これら複数の要因の双方を解決することのできるＡＣＣＮルータを、新しいＶＣＣＮルータの生成先及び移動先のＡＣＣＮルータに選定する。これにより、ＡＣＣＮルータ１０に問題が複数存在する場合にも、ネットワークの適切な再構築が可能となる。
【００６５】
次に、ＡＣＣＮルータ決定部１２に関し、再構成が必要な場合、ＡＣＣＮルータ決定部１２は、リソース状態を示す情報を提供したＡＣＣＮルータ２０、３０、４０の内、例えば、リソース状態を表す値が最も低いＡＣＣＮルータを、制御を行うＡＣＣＮルータとして選択する。リソース状態を表す値は、例えば、ペンディング要求テーブルの使用容量、プロセッサやメモリ、ディスクの使用率であるが、所定時間における使用容量や使用率の増加率であってもよい。この場合、使用容量や使用率の減少率が最も高いＡＣＣＮルータが、制御主体として選択されることとなる。また、ＡＣＣＮルータ決定部１２は、使用容量や使用率の大小に拘らず、ＡＣＣＮルータ２０、３０、４０の内、プロセッサの処理速度が最も高いＡＣＣＮルータを選択してもよい。あるいは、ＡＣＣＮルータ決定部１２は、空き容量に拘らず、ペンディング要求テーブルやメモリ、ディスクの収容容量が最も大きいＡＣＣＮルータを選択するものとしてもよい。
【００６６】
ＡＣＣＮルータ決定部１２は、制御（問題解決）を行うＡＣＣＮルータの決定に際し、例えば、制御要求を行うＡＣＣＮルータ１０の有する問題を解決するＡＣＣＮルータを選択するが、ＶＣＣＮ１ａの性能を最大化する観点から最も好適なＡＣＣＮルータを選択する様にしてもよい。これにより、ＶＣＣＮ再構成システム１００は、ＶＣＣＮ１ａの再構成が必要となった要因を除去することができると共に、ＶＣＣＮ１ａのパフォーマンスを考慮に入れたネットワークの再構成が可能となる。なお、該パフォーマンスは、エンドユーザ視点でのパフォーマンスであってもよいし、ネットワーク管理者視点でのパフォーマンスであってもよい。また、ＡＣＣＮルータ決定部１２は、問題を解決するＡＣＣＮルータを決定する際、事前に管理者によって設定されたＲＴＴ（Round  Trip  Time）を超過して応答パケットを返信したＡＣＣＮルータを、問題解決ルータの選択候補から除外するものとしてもよい。換言すれば、ＶＣＣＮ再構成システム１００は、探索用パケットへの応答が遅いＡＣＣＮルータを、再構成が必要となった要因を除外するのに適さないＡＣＣＮルータと見做すことで、ＶＣＣＮ１ａ全体のパフォーマンスを勘案した再構成を実現する。併せて、ＡＣＣＮルータの決定に伴う、ＡＣＣＮルータ１０の処理負荷が軽減され、処理時間が短縮される。その結果、より効率的なＶＣＣＮの再構成が実現される。
【００６７】
（ネットワーク構成プログラム）
図１０は、ネットワーク構成プログラムによる情報処理がコンピュータ２００を用いて具体的に実現されることを示す図である。図１０に例示する様に、コンピュータ２００は、例えば、メモリ２０１と、ＣＰＵ２０２と、ハードディスクドライブインタフェース２０３と、ディスクドライブインタフェース２０４と、シリアルポートインタフェース２０５と、ビデオアダプタ２０６と、ネットワークインタフェース２０７とを有し、これらの各部はバスＢによって接続される。
【００６８】
メモリ２０１は、図１０に例示する様に、ＲＯＭ（Read  Only  Memory）２０１ａ及びＲＡＭ（Random  Access  Memory）２０１ｂを含む。ＲＯＭ２０１ａは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース２０３は、図１０に例示する様に、ハードディスクドライブ２０８に接続される。ディスクドライブインタフェース２０４は、図１０に例示する様に、ディスクドライブ２０９に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ２０９に挿入される。シリアルポートインタフェース２０５は、図１０に例示する様に、例えばマウス２１０、キーボード２１１に接続される。ビデオアダプタ２０６は、図１０に例示する様に、例えばディスプレイ２１２に接続される。
【００６９】
ここで、図１０に例示する様に、ハードディスクドライブ２０８は、例えば、ＯＳ（Operating  System）２０８ａ、アプリケーションプログラム２０８ｂ、プログラムモジュール２０８ｃ、プログラムデータ２０８ｄを記憶する。すなわち、開示の実施形態に係るネットワーク構成プログラムは、コンピュータ２００によって実行される指令が記述されたプログラムモジュール２０８ｃとして、例えばハードディスクドライブ２０８に記憶される。具体的には、上記実施形態で説明した再構成要否判定部１１、２１、３１、４１と、ＡＣＣＮルータ決定部１２、２２、３２、４２と、ＶＣＣＮ再構成部１３、２３、３３、４３との各々と同様の情報処理を実行する各種手順が記述されたプログラムモジュール２０８ｃが、ハードディスクドライブ２０８に記憶される。また、ネットワーク構成プログラムによる情報処理に用いられるデータは、プログラムデータ２０８ｄとして、例えばハードディスクドライブ２０８に記憶される。そして、ＣＰＵ２０２が、ハードディスクドライブ２０８に記憶されたプログラムモジュール２０８ｃやプログラムデータ２０８ｄを必要に応じてＲＡＭ２０１ｂに読み出し、上記各種手順を実行する。
【００７０】
なお、ネットワーク構成プログラムに係るプログラムモジュール２０８ｃやプログラムデータ２０８ｄは、ハードディスクドライブ２０８に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ２０９等を介してＣＰＵ２０２によって読み出されてもよい。あるいは、ネットワーク構成プログラムに係るプログラムモジュール２０８ｃやプログラムデータ２０８ｄは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース２０７を介してＣＰＵ２０２によって読み出されてもよい。
【００７１】
なお、上記実施形態では、ＶＣＣＮを再構成するための制御として、ＶＣＣＮルータ及びＶＣＣＮリンクの生成、削除、移動を例示したが、制御の種類は、これらに限らず、ＶＣＣＮルータの分割や統合、あるいは、複製、名称変更等であってもよい。例えば、図４に示したＶＣＣＮルータ１０ａとＶＣＣＮルータ２０ａとを、ＡＣＣＮルータ２０上に統合する場合について説明する。ＡＣＣＮルータ１０のＡＣＣＮルータ決定部１２は、隣接するＡＣＣＮルータ２０、３０、４０から、ＶＣＣＮ識別子及び各ＡＣＣＮルータのリソース状態を検知すると、ＶＣＣＮルータを動作させており、かつ、リソースに余裕のあるＡＣＣＮルータを、統合の主体として選択する。リソースの状態は、例えば、ペンディング要求テーブルの使用容量、プロセッサ使用率、あるいは、メモリ、ハードディスク等の使用容量である。
【００７２】
例えば、ＡＣＣＮルータ２０が統合を実行するルータに選定された場合、ＡＣＣＮルータ１０は、上述のＶＣＣＮルータ移動処理（図８参照）と同様に、ＡＣＣＮルータ２０に、ＶＣＣＮルータ１０ａのデータテーブルをコピーさせる。データテーブルのコピーが完了すると、ＡＣＣＮルータ１０は、上述したＶＣＣＮルータ削除処理（図５参照）と同様の手順で、ＶＣＣＮルータ１０ａをＡＣＣＮルータ１０から削除する。このとき、ＶＣＣＮルータ１０ａを削除する手法として、ＶＣＣＮルータ３０ａとＶＣＣＮルータ４０ａとをリンク接続しない手法を採る。これにより、ＶＣＣＮ１ｆ上で、ＶＣＣＮルータ１０ａとＶＣＣＮルータ２０ａとがシームレスに統合される。その結果、ＶＣＣＮ再構成システム１００は、図９に示した状態となる。すなわち、処理量の少ない複数台のＶＣＣＮルータ１０ａ、２０ａの処理が、１台のＶＣＣＮルータ２０ａに集約される。その結果、ネットワーク資源が節約される。
【００７３】
また、上記実施形態では、各ＡＣＣＮルータ１０、２０、３０、４０間をパケットが送受信されることで、ＶＣＣＮ１ａが構成及び変更される態様を例示した。しかしながら、各ＡＣＣＮルータ１０、２０、３０、４０は、制御の要求を、フレームやセグメント等、パケット以外のＰＤＵ（Protocol  Data  Unit）を用いて、実行してもよい。更に、上記実施形態では、制御を指示または実行する通信装置として、ルータを例示したが、通信装置は、これに限らず、例えば、リピータ、ハブ、ブリッジ、ゲートウェイ、スイッチ等であってもよい。また、ルータの種類に関しても、上記実施形態に係るネットワーク構成技術は、コアルータ、センタルータ、エッジルータ、リモートルータ、ブロードバンドルータ等、任意のルータに適用可能である。
【００７４】
また、ＡＣＣＮルータ１０、２０、３０、４０の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、再構成要否判定部１１とＡＣＣＮルータ決定部１２、あるいは、ＶＣＣＮルータ生成部１３１とＶＣＣＮルータ削除部１３２とＶＣＣＮルータ移動部１３３とをそれぞれ１つの構成要素として統合してもよい。反対に、ＡＣＣＮルータ決定部１２に関し、他のＡＣＣＮルータ２０、３０、４０からリソース使用状況を示す情報を収集する部分と、収集された情報を基に、制御主体となるＡＣＣＮルータを決定する部分とに分散してもよい。また、ＶＣＣＮ再構成部２３に関し、ＣＣＮの要求・応答パケットにより、ＶＣＣＮの再構成に必要な情報を他のＡＣＣＮルータ１０、３０、４０との間で交換する部分と、実際にＶＣＣＮルータ２０ａの制御を行う部分とに分けてもよい。更に、ハードディスクドライブ２０８を、各ＡＣＣＮルータ１０、２０、３０、４０の外部装置としてネットワークやケーブル経由で接続する様にしてもよい。
【符号の説明】
【００７５】
１  ＣＣＮ
１ａ、１ｂ、１ｃ、１ｅ、１ｆ  ＶＣＣＮ
１０、２０、３０、４０  ＡＣＣＮルータ
１０ａ、２０ａ、３０ａ、４０ａ  ＶＣＣＮルータ
１１、２１、３１、４１  再構成要否判定部
１２、２２、３２、４２  ＡＣＣＮルータ決定部
１３、２３、３３、４３  ＶＣＣＮ再構成部
１００  ＶＣＣＮ再構成システム
１３１、２３１、３３１、４３１  ＶＣＣＮルータ生成部
１３２、２３２、３３２、４３２  ＶＣＣＮルータ削除部
１３３、２３３、３３３、４３３  ＶＣＣＮルータ移動部
２００  コンピュータ
２０１  メモリ
２０１ａ  ＲＯＭ
２０１ｂ  ＲＡＭ
２０２  ＣＰＵ
２０３  ハードディスクドライブインタフェース
２０４  ディスクドライブインタフェース
２０５  シリアルポートインタフェース
２０６  ビデオアダプタ
２０７  ネットワークインタフェース
２０８  ハードディスクドライブ
２０８ａ  ＯＳ
２０８ｂ  アプリケーションプログラム
２０８ｃ  プログラムモジュール
２０８ｄ  プログラムデータ
２０９  ディスクドライブ
２１０  マウス
２１１  キーボード
２１２  ディスプレイ
Ｂ  バス
Ｌ１  ＣＣＮリンク
Ｌ１ａ、Ｌ１ｂ、Ｌ１ｃ、Ｌ１ｄ、Ｌ１ｅ、Ｌ１ｆ  ＶＣＣＮリンク
【図１】
2014039097.tif 000003
【図２】
2014039097.tif 000004
【図３】
2014039097.tif 000005
【図４】
2014039097.tif 000006
【図５】
2014039097.tif 000007
【図６】
2014039097.tif 000008
【図７】
2014039097.tif 000009
【図８】
2014039097.tif 000010
【図９】
2014039097.tif 000011
【図１０】
2014039097.tif 000012