(57)【要約】【課題】障害時に生じる処理負荷を物理ノード内の複数リソースに分散する。【解決手段】オーバーレイネットワーク管理部１が、新たにオーバーレイネットワークを構築する要求を受け付けると、リソース使用量算出部１４が、新たに構築するオーバーレイネットワークが利用する物理ネットワーク上の構成要素に障害が発生した場合に、各ＣＰＵが使用するリソース量の期待値を算出し、リソース使用量比較部１５が、リソース使用量算出部１４が算出した各ＣＰＵのリソース使用量の期待値を比較し、値が最小となるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択する。【選択図】図３
2011061598.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理装置であって、
新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、
前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、
を具備することを特徴とするオーバーレイネットワーク管理装置。
【請求項２】
物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、
障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、
各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、
新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、
既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、
をさらに具備し、
前記リソース使用量算出部は、
新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、
ことを特徴とする請求項１に記載のオーバーレイネットワーク管理装置。
【請求項３】
前記アンダーレイリンク検索部が決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出部をさらに具備し、
前記リスク要因データベースは、前記リスク要因抽出部が抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項２に記載のオーバーレイネットワーク管理装置。
【請求項４】
既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索部が決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタ部をさらに具備し、
前記リスク要因データベースは、前記通信モニタ部が取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項２に記載のオーバーレイネットワーク管理装置。
【請求項５】
各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタ部をさらに具備し、
前記リスク要因データベースは、前記スイッチ制御モニタ部が取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項２に記載のオーバーレイネットワーク管理装置。
【請求項６】
複数のＣＰＵを有し、オーバーレイネットワークの仮想ノードを構築する物理ノード装置であって、
新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、
前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、
を具備することを特徴とする物理ノード装置。
【請求項７】
物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、
障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、
各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、
新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、
既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、
をさらに具備し、
前記リソース使用量算出部は、
新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、
ことを特徴とする請求項６に記載の物理ノード装置。
【請求項８】
前記アンダーレイリンク検索部が決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出部をさらに具備し、
前記リスク要因データベースは、前記リスク要因抽出部が抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項７に記載の物理ノード装置。
【請求項９】
既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索部が決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノード装置および物理リンクを示す情報を取得する通信モニタ部をさらに具備し、
前記リスク要因データベースは、前記通信モニタ部が取得した各オーバーレイネットワークを実現する物理ノード装置および物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項７に記載の物理ノード装置。
【請求項１０】
複数のＣＰＵを有する物理ノードを含む物理ネットワークの構成要素を使用して構築されるオーバーレイネットワークを制御するネットワーク制御装置であって、
新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、
前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、
物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、
障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、
各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、
新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、
既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、
各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタ部と、
を具備し、
前記リソース使用量算出部は、
新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースから読み出す式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出し、
前記リスク要因データベースは、前記スイッチ制御モニタ部が取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、
ことを特徴とするネットワーク制御装置。
【請求項１１】
複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理装置のオーバーレイネットワーク管理方法であって、
前記オーバーレイネットワーク管理装置が、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出ステップと、
前記オーバーレイネットワーク管理装置が、前記リソース使用量算出ステップにて算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較ステップと、
を具備することを特徴とするオーバーレイネットワーク管理方法。
【請求項１２】
前記オーバーレイネットワーク管理装置は、
物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、
障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、
既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、
を具備し、
前記オーバーレイネットワーク管理方法は、
前記オーバーレイネットワーク管理装置が、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタステップと、
前記オーバーレイネットワーク管理装置が、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索ステップと、
をさらに具備し、
前記リソース使用量算出ステップは、
新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタステップにて当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、
ことを特徴とする請求項１１に記載のオーバーレイネットワーク管理方法。
【請求項１３】
前記オーバーレイネットワーク管理装置が、前記アンダーレイリンク検索ステップにて決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出ステップをさらに具備し、
前記リスク要因データベースは、前記リスク要因抽出ステップにて抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項１２に記載のオーバーレイネットワーク管理方法。
【請求項１４】
前記オーバーレイネットワーク管理装置が、既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索ステップにて決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタステップをさらに具備し、
前記リスク要因データベースは、前記通信モニタステップにて取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項１２に記載のオーバーレイネットワーク管理方法。
【請求項１５】
前記オーバーレイネットワーク管理装置が、各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタステップをさらに具備し、
前記リスク要因データベースは、前記スイッチ制御モニタステップにて取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、
ことを特徴とする請求項１２に記載のオーバーレイネットワーク管理方法。
【請求項１６】
複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理プログラムであって、
コンピュータに、
新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出ステップと、
前記リソース使用量算出ステップにて算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較ステップと、
を実行させるためのプログラム。
【請求項１７】
前記コンピュータは、
物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、
障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、
既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、
を具備し、
当該コンピュータに、
各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタステップと、
新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索ステップと、
をさらに実行させ、
前記リソース使用量算出ステップにおいて、
新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタステップにて当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出させるための、
請求項１６に記載のプログラム。
【請求項１８】
前記コンピュータに、
前記アンダーレイリンク検索ステップにて決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出ステップをさらに実行させ、
前記リスク要因データベースに、前記リスク要因抽出ステップにて抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶させるための、
請求項１７に記載のプログラム。
【請求項１９】
前記コンピュータに、
既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索ステップにて決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタステップをさらに実行させ、
前記リスク要因データベースに、前記通信モニタステップにて取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶させるための、
請求項１７に記載のプログラム。
【請求項２０】
前記コンピュータに、
各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタステップをさらに実行させ、
前記リスク要因データベースに、前記スイッチ制御モニタステップにて取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶させるための、
請求項１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はオーバーレイネットワーク管理装置、物理ノード装置、ネットワーク制御装置、オーバーレイネットワーク管理方法およびオーバーレイネットワーク管理プログラムに関し、特に障害時に生じる処理負荷を物理ノード内の複数リソースに分散できるオーバーレイネットワーク管理装置、オーバーレイネットワーク管理方法およびオーバーレイネットワーク管理プログラムに関する。
【背景技術】
【０００２】
インターネット（Internet）等のネットワーク（Network；ＮＷ）において、ユーザの要求の多様化にともない、それぞれのユーザの要求に応じた特性を有する多様なネットワークの構築が望まれている。このような多様なネットワークを実現する技術として、物理的なネットワークを利用して複数の論理的なネットワークを構築するオーバーレイネットワーク（Overlay Network）技術がある。オーバーレイネットワークでは、実際の物理的なノード（物理ノード、アンダーレイノード（Underlay Node））上に仮想的なノード（仮想ノード、オーバーレイノード（Overlay Node））を構築し、この仮想ノードを接続してオーバーレイネットワークを提供する。この仮想ノードではリンク（Link）の帯域制限等を実施することで所望の特性を有するネットワークを構築することができる。
【０００３】
図２８は、オーバーレイネットワークの例を示す図である。同図において、物理ネットワーク（アンダーレイネットワーク；Underlay Network）１００は、物理ノード１０１〜１０５とそれらを接続するリンクを含んで構成される。この物理ネットワーク１００を利用してオーバーレイネットワーク１１０、１２０、１３０が構築される。オーバーレイネットワーク１１０は仮想ノード１１１〜１１４とそれらを接続するリンクとを含んで構成される。オーバーレイネットワーク１２０は仮想ノード１２１〜１２４とそれらを接続するリンクとを含んで構成される。オーバーレイネットワーク１３０は仮想ノード１３１〜１３３とそれらを接続するリンクとを含んで構成される。
オーバーレイネットワークでは、物理ネットワークを構成する物理ノードから必要なノードを選択し、選択したノードを用いて仮想ルータを構築する。そして、これら仮想ルータを接続してオーバーレイネットワークを構築する。どの物理ノードを選択するかは、オーバーレイネットワーク毎に異なる。
【０００４】
図２９は、物理ノードの構成例を示す図である。物理ノード１０１ｃは、ネットワークを伝送するデータの転送先を制御するスイッチ１７１と、スイッチを制御するソフトウェアを動作させるためのＣＰＵ（Central Processing Unit；中央処理装置）１６１−１〜１６１−Ｎ（Ｎは正整数）を含んで構成される。ＣＰＵ１６１−１〜１６１−Ｎは、それぞれ仮想化ソフトウェア１８１−１〜１８１−Ｎを実行する。これらの仮想ソフトウェアの実行により、ＣＰＵ１６１−１〜１６１−Ｎ上に仮想マシンが構成される。さらに仮想マシン内では、仮想ルータが動作する。仮想ルータがオーバーレイネットワークの仮想ノードに相当する。各オーバーレイネットワークがどの物理ノードを選択するかにより、物理ノード上にどのオーバーレイネットワークの仮想ルータが存在するかは異なる。例えば、物理ノード１０４上にはオーバーレイネットワーク１１０の仮想ルータとオーバーレイネットワーク１２０の仮想ルータは存在するが、オーバーレイネットワーク１３０の仮想ルータは存在しない。
図２９のように物理ノード内に複数のＣＰＵが存在し複数の仮想マシンの作成が求められる場合、どの仮想マシンをどのＣＰＵで動作させるかを決める仕組みが必要となる。このような仮想マシンの配置問題に対してはＣＰＵ間での負荷量をなるべく均一にすることを目的として、現状のＣＰＵの負荷を監視し、負荷量が最低のＣＰＵに新たな仮想マシンを作成する技術が存在する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１１５６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、障害発生時の負荷分散については考慮されていない。したがって、障害発生時にオーバーレイネットワークの経路再計算負荷が１つのＣＰＵに集中し、経路再計算に要する時間を増大させる可能性がある。
この問題点について、図３０を参照して説明する。同図のネットワーク構成は、図２８で説明したネットワーク構成と同様である。図３０において、仮想ノード１１１と仮想ノード１１４との間の仮想リンク（オーバーレイリンク；Overlay Link）が、物理ノード１０１と物理ノード１０４との間の物理リンク（アンダーレイリンク；Underlay Link）を用いて実現されている場合、物理ネットワーク１００の物理ノード１０１と物理ノード１０４の間でリンク障害が発生すると、オーバーレイネットワーク１１０にも障害の影響が波及し、障害が発生した物理リンクを用いずに仮想リンクを実現するための経路再計算が必要となる。オーバーレイネットワーク１２０の仮想ノード１２１と仮想ノード１２４との間の仮想リンクが、物理ノード１０１と物理ノード１０４との間の物理リンクを用いて実現されている場合も同様である。
一方、オーバーレイネットワーク１３０において、各仮想リンクが、物理ノード１０１と物理ノード１０４との間の物理リンクを用いずに実現されている場合は、経路再計算処理は不要であり、通常運用時の処理を実行できる。このような状況で、物理ノード１０１において、オーバーレイネットワーク１１０の仮想ノード１１１用の仮想ルータとオーバーレイネットワーク１２０の仮想ノード１２１用の仮想ルータとが同一ＣＰＵ上で動作し、オーバーレイネットワーク１３０の仮想ノード１３１用の仮想ルータが別ＣＰＵで動作している場合は、仮想ノード１１１用の仮想ルータと仮想ノード１２１用の仮想ルータとが動作ＣＰＵでは経路再計算が発生するのに対し、仮想ノード１３１用の仮想ルータが動作するＣＰＵでは経路再計算が発生しない。このように、経路再計算が発生するＣＰＵに偏りが生じると、経路再計算時間が増大する可能性がある。
【０００７】
本発明は、このような事情を考慮してなされたものであり、その目的は、障害発生時に生じる処理負荷を物理ノード内の複数のＣＰＵに分散できるオーバーレイネットワーク管理装置を提供することにある。
【課題を解決するための手段】
【０００８】
［１］この発明は上述した課題を解決するためになされたもので、本発明の一態様によるオーバーレイネットワーク管理装置は、複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理装置であって、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、を具備することを特徴とする。
【０００９】
［２］また、本発明の一態様によるオーバーレイネットワーク管理装置は、上述のオーバーレイネットワーク管理装置であって、物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、をさらに具備し、前記リソース使用量算出部は、新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、ことを特徴とする。
【００１０】
［３］また、本発明の一態様によるオーバーレイネットワーク管理装置は、上述のオーバーレイネットワーク管理装置であって、前記アンダーレイリンク検索部が決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出部をさらに具備し、前記リスク要因データベースは、前記リスク要因抽出部が抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１１】
［４］また、本発明の一態様によるオーバーレイネットワーク管理装置は、上述のオーバーレイネットワーク管理装置であって、既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索部が決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタ部をさらに具備し、前記リスク要因データベースは、前記通信モニタ部が取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１２】
［５］また、本発明の一態様によるオーバーレイネットワーク管理装置は、上述のオーバーレイネットワーク管理装置であって、各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタ部をさらに具備し、前記リスク要因データベースは、前記スイッチ制御モニタ部が取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１３】
［６］また、本発明の一態様による物理ノード装置は、複数のＣＰＵを有し、オーバーレイネットワークの仮想ノードを構築する物理ノード装置であって、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、を具備することを特徴とする。
【００１４】
［７］また、本発明の一態様による物理ノード装置は、上述の物理ノード装置であって、物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、をさらに具備し、前記リソース使用量算出部は、新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、ことを特徴とする。
【００１５】
［８］また、本発明の一態様による物理ノード装置は、上述の物理ノード装置であって、前記アンダーレイリンク検索部が決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出部をさらに具備し、前記リスク要因データベースは、前記リスク要因抽出部が抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１６】
［９］また、本発明の一態様による物理ノード装置は、上述の物理ノード装置であって、既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索部が決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノード装置および物理リンクを示す情報を取得する通信モニタ部をさらに具備し、前記リスク要因データベースは、前記通信モニタ部が取得した各オーバーレイネットワークを実現する物理ノード装置および物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１７】
［１０］また、本発明の一態様によるネットワーク制御装置は、複数のＣＰＵを有する物理ノードを含む物理ネットワークの構成要素を使用して構築されるオーバーレイネットワークを制御するネットワーク制御装置であって、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出部と、前記リソース使用量算出部が算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較部と、物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタ部と、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索部と、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタ部と、を具備し、前記リソース使用量算出部は、新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタ部が当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースから読み出す式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出し、前記リスク要因データベースは、前記スイッチ制御モニタ部が取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００１８】
［１１］また、本発明の一態様によるオーバーレイネットワーク管理方法は、複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理装置のオーバーレイネットワーク管理方法であって、前記オーバーレイネットワーク管理装置が、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出ステップと、前記オーバーレイネットワーク管理装置が、前記リソース使用量算出ステップにて算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較ステップと、を具備することを特徴とする。
【００１９】
［１２］また、本発明の一態様によるオーバーレイネットワーク管理方法は、上述のオーバーレイネットワーク管理方法であって、前記オーバーレイネットワーク管理装置は、物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、を具備し、前記オーバーレイネットワーク管理方法は、前記オーバーレイネットワーク管理装置が、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタステップと、前記オーバーレイネットワーク管理装置が、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索ステップと、をさらに具備し、前記リソース使用量算出ステップは、新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタステップにて当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出する、ことを特徴とする。
【００２０】
［１３］また、本発明の一態様によるオーバーレイネットワーク管理方法は、上述のオーバーレイネットワーク管理方法であって、前記オーバーレイネットワーク管理装置が、前記アンダーレイリンク検索ステップにて決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出ステップをさらに具備し、前記リスク要因データベースは、前記リスク要因抽出ステップにて抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００２１】
［１４］また、本発明の一態様によるオーバーレイネットワーク管理方法は、上述のオーバーレイネットワーク管理方法であって、前記オーバーレイネットワーク管理装置が、既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索ステップにて決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタステップをさらに具備し、前記リスク要因データベースは、前記通信モニタステップにて取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００２２】
［１５］また、本発明の一態様によるオーバーレイネットワーク管理方法は、上述のオーバーレイネットワーク管理方法であって、前記オーバーレイネットワーク管理装置が、各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタステップをさらに具備し、前記リスク要因データベースは、前記スイッチ制御モニタステップにて取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶する、ことを特徴とする。
【００２３】
［１６］また、本発明の一態様によるプログラムは、複数のＣＰＵを有する物理ノードを含む物理ネットワークにおけるいずれかの物理ノード又はそれらの物理ノードをつなぐ物理リンクの構成要素を使用して構築されるオーバーレイネットワークを管理するオーバーレイネットワーク管理プログラムであって、コンピュータに、新たにオーバーレイネットワークを構築する要求が入力されると、当該新たに構築されるオーバーレイネットワークが使用する前記物理ネットワークの構成要素に障害が発生した場合に前記複数のＣＰＵの各々が使用するリソース量の期待値を算出するリソース使用量算出ステップと、前記リソース使用量算出ステップにて算出したリソース量の期待値が最小であるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択するリソース使用量比較ステップと、を実行させることを特徴とする。
【００２４】
［１７］また、本発明の一態様によるプログラムは、上述のプログラムであって、前記コンピュータは、物理ネットワーク上で障害が発生しうる構成要素と障害発生確率とを対応付けて記憶する障害発生確率データベースと、障害発生時にＣＰＵが使用するリソース量をオーバーレイネットワーク毎に算出するための式を記憶する障害時負荷量算出式データベースと、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素を、オーバーレイネットワーク毎に記憶するリスク要因データベースと、を具備し、当該コンピュータに、各オーバーレイネットワークがいずれのＣＰＵ用いて構築されているかを特定する仮想マシン状態モニタステップと、新たに構築するオーバーレイネットワークの仮想リンクを実現する物理リンク経路を決定するアンダーレイリンク検索ステップと、をさらに実行させ、前記リソース使用量算出ステップにおいて、新たに構築するオーバーレイネットワークが使用する物理ネットワークの構成要素毎、かつ、前記ＣＰＵ毎に、前記仮想マシン状態モニタステップにて当該ＣＰＵを用いて構築されていると特定したオーバーレイネットワークのうち、当該構成要素を用いて構築されるオーバーレイネットワークを前記リスク要因データベースのデータに基づいて検出し、検出した当該オーバーレイネットワークについて、当該構成要素に障害が発生した場合に当該オーバーレイネットワークのために当該ＣＰＵが使用するリソース量を、前記障害時負荷量算出式データベースに記憶されている式に基づいて算出し、算出したリソース量と、前記障害発生確率データベースから読み出す各構成要素における障害発生確率とに基づいて、前記複数のＣＰＵの各々が使用するリソース量の期待値を算出させることを特徴とする。
【００２５】
［１８］また、本発明の一態様によるプログラムは、上述のプログラムであって、前記コンピュータに、前記アンダーレイリンク検索ステップにて決定した物理リンク経路に基づいて、新たに構築するオーバーレイネットワークが用いる物理ネットワークの構成要素を抽出するリスク要因抽出ステップをさらに実行させ、前記リスク要因データベースに、前記リスク要因抽出ステップにて抽出した、オーバーレイネットワークが用いる物理ネットワークの構成要素を、既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素として、オーバーレイネットワーク毎に記憶させることを特徴とする。
【００２６】
［１９］また、本発明の一態様によるプログラムは、上述のプログラムであって、前記コンピュータに、既に構築されているオーバーレイネットワークの仮想ノードを前記ＣＰＵ上で実現する各仮想マシンの通信データをモニタして通信の宛先または送信元を示す情報を取得し、前記通信の宛先または送信元を示す情報と前記アンダーレイリンク検索ステップにて決定した物理リンク経路の情報とに基づいて、各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報を取得する通信モニタステップをさらに実行させ、前記リスク要因データベースに、前記通信モニタステップにて取得した各オーバーレイネットワークを実現する物理ノードおよび物理リンクを示す情報をオーバーレイネットワーク毎に記憶させることを特徴とする。
【００２７】
［２０］また、本発明の一態様によるプログラムは、上述のプログラムであって、前記コンピュータに、各物理ノードまたは各仮想ノードから、各仮想ノードを実現する物理ノードの情報を取得し、また、各物理ノードを通過する伝送データをモニタして、各仮想リンクを実現する物理リンクの情報を取得するスイッチ制御モニタステップをさらに実行させ、前記リスク要因データベースに、前記スイッチ制御モニタステップにて取得した各仮想ノードを実現する物理ノードの情報と仮想リンクを実現する物理リンクの情報とをオーバーレイネットワーク毎に記憶させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、障害発生時に生じる処理負荷を物理ノード内の複数のＣＰＵに分散できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施形態における物理ノードの概略構成を示す構成図である。
【図２】同実施形態における物理ノードのもう１つの概略構成を示す構成図である。
【図３】同実施形態におけるオーバーレイネットワーク管理部１の概略構成を示す構成図である。
【図４】同実施形態において、オーバーレイネットワーク管理部１がＣＰＵを選択する処理手順を示すフローチャートである。
【図５】同実施形態におけるオーバーレイネットワーク構築要求の例を示す図である。
【図６】同実施形態において、入力部１０が生成する、仮想マシン名情報の例を示す図である。
【図７】同実施形態において、アンダーレイリンク検索部２１が生成する、物理リンク経路情報の例を示す図である。
【図８】同実施形態において、リスク要因データベース２０が記憶するデータの例を示す図である。
【図９】同実施形態において、リソース競合検索部１３が生成するリスク要因使用オーバーレイネットワーク情報の例を示す図である。
【図１０】同実施形態において、仮想マシン状態モニタ部１９が出力する、仮想マシン実現ＣＰＵ情報の例を表す図である。
【図１１】同実施形態において、障害時負荷量算出式データベース１８が記憶するデータの例を示す図である。
【図１２】同実施形態において、障害発生確率データベースが記憶するデータの例を示す図である。
【図１３】本発明の第２の実施の形態におけるオーバーレイネットワーク管理部２の概略構成を示す構成図である。
【図１４】同実施形態において、リスク要因データベース３３が記憶するデータの例を示す図である。
【図１５】同実施形態において、ノード対応関係記憶部が記憶する、オーバーレイネットワーク構築要求に含まれる物理ノードと対応する仮想ノードの識別子とを示す情報の例を示す図である。
【図１６】同実施形態において、リンク対応関係記憶部が記憶する、物理リンクの経路と仮想リンクとを対応付ける情報の例を示す図である。
【図１７】同実施形態において、通信モニタ部３２が行を追加する前後のリスク要因データベース３３の例を示す図である。
【図１８】同実施形態において、通信モニタ部３２が仮想ノードの名前および物理ノードの名前を書き込む前後のリスク要因データベース３３の例を示す図である。
【図１９】同実施形態において、通信モニタ部３２が行を統合する前後のリスク要因データベース３３の例を示す図である。
【図２０】同実施形態において、通信モニタ部３２が行を統合する前後のリスク要因データベース３３の例を示す図である。
【図２１】本発明の第３の実施形態におけるネットワークの構成例を示す図である。
【図２２】同実施形態における物理ノード２０１の概略構成を示す構成図である。
【図２３】同実施形態におけるネットワーク制御部２１０の概略構成を示す構成図である。
【図２４】同実施形態におけるネットワーク制御部２１０のもう１つの概略構成を示す構成図である。
【図２５】同実施形態におけるオーバーレイネットワーク管理部３の概略構成を示す構成図である。
【図２６】同実施形態において、スイッチ制御モニタ部４１がスイッチから取得する、スイッチ制御情報の例を示す図である。
【図２７】同実施形態において、スイッチ制御モニタ部４１が転送処理部から取得する、スイッチ制御情報の例を示す図である。
【図２８】オーバーレイネットワークの例を示す図である。
【図２９】物理ノードの構成例を示す図である。
【図３０】物理ネットワーク上に障害が発生した例を示す図である。
【発明を実施するための形態】
【００３０】
＜第１の実施形態＞
以下、図面を参照して、本発明の第１の実施の形態について説明する。
図１は、本発明の第１の実施形態における物理ノード（物理ノード装置）の概略構成を示す構成図である。同図において、物理ノード１０１ａはスイッチ１７１とＣＰＵ１６１−１〜１６１−（Ｎ＋１）（Ｎは正整数）とを含んで構成される。
物理ノード１０１ａは、物理ネットワーク上の１個の物理ノードである。
スイッチ１７１は、ネットワークを伝送データの転送先を制御し、データを伝送する。
ＣＰＵ１６１−１〜１６１−Ｎは、それぞれ仮想化ソフトウェアを実行し、仮想マシンを構築する。１個のＣＰＵ上に複数の仮想マシンが構築され得る。ＣＰＵ１６１−（Ｎ＋１）は、オーバーレイネットワーク管理部１を実行する。
【００３１】
各仮想マシンは１個の転送処理部を含んで構成される。転送処理部は、オーバーレイネットワークに関する経路計算や転送テーブル（Forwarding table）作成を実行する。また、転送処理部はスイッチ１７１を制御することにより仮想マシン間のデータ転送を制御する。１個の転送処理部が１個の仮想ノードに相当する。なお、以下では、各オーバーレイネットワークは、互いに異なる物理ノード上に構築される仮想ノードと、これらの仮想ノード間のリンクとで構成されるものとする。したがって、同一の物理ノード上に構築される２個以上の仮想ノードが同一のオーバーレイネットワークに含まれることは無い。すなわち、同一の物理ノード上に構築される複数の仮想マシンは、互いに異なる何れかのオーバーレイネットワークに対応付けられる。
ＣＰＵ１６１−（Ｎ＋１）は、ソフトウェアを実行することによりオーバーレイネットワーク管理部１を実現する。後述するように、オーバーレイネットワーク管理部１は、物理ノードが具備する複数のＣＰＵの中から、新たなオーバーレイネットワークを構築するために用いるＣＰＵを選択する。本実施形態では、複数のＣＰＵを具備する物理ノードの各々がオーバーレイネットワーク管理部１を具備し、オーバーレイネットワーク管理部１は、当該オーバーレイネットワークが含まれる物理ノードが具備する複数のＣＰＵの中から１個のＣＰＵを選択する。以下では、オーバーレイネットワーク管理部を含む物理ノードを、「（当該オーバーレイネットワーク管理部の）管理対象物理ノード」ともいう。例えば、物理ノード１０１ａに含まれるオーバーレイネットワーク管理部１の管理対象物理ノードは、物理ノード１０１ａである。
【００３２】
なお、オーバーレイネットワーク管理部１を、独立したＣＰＵ上ではなく、仮想マシン上で実現するようにしてもよい。
図２は、同実施形態における物理ノードのもう１つの概略構成を示す構成図である。同図において、物理ノード１０１ｂはスイッチ１７１とＣＰＵ１６２−１〜１６２−Ｎとを含んで構成される。
スイッチ１７１は、図１のスイッチ１７１と同様である。
ＣＰＵ１６２−１〜１６２−Ｎは、図１のＣＰＵ１６１−１〜１６１−Ｎと同様、仮想化ソフトウェアを実行し、仮想マシンを構築する。さらに、ＣＰＵ１６２−Ｎは、１個の仮想マシン上でソフトウェアを実行することによりオーバーレイネットワーク管理部１を実現する。
【００３３】
なお、オーバーレイネットワーク管理部１を、物理ノードとは独立したオーバーレイネットワーク管理装置として実現してもよい。この場合、オーバーレイネットワーク管理装置を管理対象の物理ノードに接続し、オーバーレイネットワーク管理装置と管理対象の物理ノードとが通信可能な構成とする。また、このオーバーレイネットワーク管理装置は、物理ノードとは独立した管理サーバ上で、プログラムを実行することにより実現されていてもよい。
また、以下では、ネットワークに障害が生じるとネットワーク内の全ノードで経路再計算が実行されるプロトコルがオーバーレイネットワーク上で動作していることを想定する。このようなプロトコルの例としてＯＳＰＦ（Open Shortest Path First）がある。
【００３４】
図３は、オーバーレイネットワーク管理部１の概略構成を示す構成図である。同図において、オーバーレイネットワーク管理部１は、入力部１０と伝送部２４とアンダーレイリンク検索部２１とリスク要因抽出部１１とリスク要因データベース（Database；ＤＢ）２０とリソース選択部１２と出力部１６と障害発生確率データベース（ＤＢ）１７と障害時負荷量算出式データベース（ＤＢ）１８と仮想マシン状態モニタ部１９とを含んで構成される。リソース選択部１２は、リソース競合検索部１３とリソース使用量算出部１４とリソース使用量比較部１５とを含んで構成される。
入力部１０は、新たなオーバーレイネットワークを物理ノード上に構築する要求（以下では、「オーバーレイネットワーク構築要求」ともいう）を受け付ける。入力部１０は、オーバーレイネットワーク構築要求を受け付けると、新たに構築するオーバーレイネットワークの仮想ノードを識別するための仮想マシン名（仮想マシンの識別子）を生成し、仮想マシン名と当該仮想マシンを構築する物理ノードとの対応関係を示す仮想マシン名情報を生成する。ここで、仮想ノードと当該仮想ノードを実現する仮想マシンとは１対１に対応する。したがって、仮想マシン名を用いて、仮想マシンのみならず、仮想ノードをも識別することができる。入力部１０は、受け付けたオーバーレイネットワーク構築要求と生成した仮想マシン名情報とをアンダーレイリンク検索部２１と伝送部２４とに出力する。
伝送部２４は、他の物理ノード上に実現されたオーバーレイネットワーク管理部１と通信を行う。
【００３５】
アンダーレイリンク検索部２１は、新たに構築するオーバーレイネットワークに含まれる仮想リンクについて、物理リンクの経路を決定する。アンダーレイリンク検索部２１は、決定した物理リンクをリスク要因抽出部１１に出力する。
リスク要因抽出部１１は、オーバーレイネットワーク構築要求に含まれる物理ノードや、アンダーレイリンク検索部２１が決定した物理リンクを、リスク要因（障害要因）として抽出する。リスク要因抽出部１１は、抽出したリスク要因をリスク要因データベース２０に書き込む。
リスク要因データベース２０は、リスク要因抽出部１１が抽出するリスク要因を記憶する。
【００３６】
リソース選択部１２は、新たに構築するオーバーレイネットワーク用の転送処理部をどのＣＰＵで動作させるかを決定する。
リソース選択部１２において、リソース競合検索部１３は、管理対象物理ノードを用いて既に構築されているオーバーレイネットワークの中から、リスク要因抽出部１１が出力するリスク要因を使用しているオーバーレイネットワークを、リスク要因毎に検索する。管理対象物理ノードを用いて既に構築されているオーバーレイネットワークは、障害発生時に管理対象物理ノードのＣＰＵが経路再計算を行うオーバーレイネットワークである。例えば、物理ネットワークの何れかの構成要素に障害が発生した際に、物理ノード１０１ａのＣＰＵが経路再計算を行う対象となるのは、物理ノード１０１ａのＣＰＵを用いて実現された仮想ノードを含むオーバーレイネットワークのみであって、物理ノード１０１ａのＣＰＵを用いずに構築されているオーバーレイネットワークは経路再計算の対象外である。そこで、リソース競合検索部１３は管理対象物理ノードを用いて構築されているオーバーレイネットワークのみを検索対象とする。
リソース使用量算出部１４は、障害発生時に各ＣＰＵがどれだけのリソース量を使用するかの期待値を計算する。
リソース使用量比較部１５は、リソース使用量算出部１４が算出した各ＣＰＵのリソース使用量の期待値Ｅｋを比較し、値が最小となるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を実現すべきＣＰＵとして選択する。
【００３７】
出力部１６は、リソース選択部１２が選択したＣＰＵを表す情報を出力する。
障害発生確率データベース（ＤＢ）１７は、リスク要因と障害発生確率とを対応付けて記憶する。障害時負荷量算出式データベース（ＤＢ）１８は、障害発生時に必要となるＣＰＵ負荷量を算出するための式をオーバーレイネットワーク毎に記憶する。障害発生確率データベース１７と障害時負荷量算出式データベース１８とは、リソース使用量算出部１４が、障害発生時に各ＣＰＵが使用するリソース量を算出する際に参照する。
仮想マシン状態モニタ部１９は、どのオーバーレイネットワークの仮想ノードがどのＣＰＵで動作しているかをモニタする。仮想マシン状態モニタ部１９のモニタ結果は、リソース使用量算出部１４が、障害発生時に各ＣＰＵが使用するリソース量を算出する際に参照する。
【００３８】
次に、オーバーレイネットワーク管理部１の動作について説明する。
図４は、オーバーレイネットワーク管理部１が新たに構築するオーバーレイネットワークの仮想ノードを実現するＣＰＵを選択する処理手順を示すフローチャートである。
入力部１０が物理ノード外の端末装置からユーザによって入力されるオーバーレイネットワーク構築要求を受け付けるか、あるいは、伝送部２４が他の物理ノードからオーバーレイネットワーク構築要求を受け付けると、オーバーレイネットワーク管理部１は、新たに構築するオーバーレイネットワークの仮想ノードを実現するＣＰＵを選択する処理を開始する。
ここで、物理ノードは通常複数あり、いずれかの物理ノードの入力部１０が、ユーザによって入力されるオーバーレイネットワーク構築要求を受け付ける。ユーザによって入力されるオーバーレイネットワーク構築要求を受け付けた物理ノードは、他の物理ノードにオーバーレイネットワーク構築要求を送信し、他の物理ノードの伝送部２４が、送信されたオーバーレイネットワーク構築要求を受け付ける。
【００３９】
オーバーレイネットワーク構築要求には、オーバーレイネットワーク構築において使用する物理ノードと、オーバーレイネットワークとしてどのノード間に接続リンクを作成するかを示す情報とが格納されている。
図５は、オーバーレイネットワーク構築要求の例を示す図である。同図で示すようにオーバーレイネットワーク構築要求には、オーバーレイネットワーク名と構成情報とが格納される。
オーバーレイネットワーク名は、新たに構築するオーバーレイネットワークの名前であり、オーバーレイネットワークを識別するための情報である。構成情報は、仮想ノードを構築する物理ノードの情報と、仮想ノード間のリンクの情報とを示す情報である。仮想ノード間のリンクの情報は、仮想ノードを構築する２つの物理ノードの名前を対応付けることによって表現される。図５の例では、構成情報に物理ノード１、２、５、・・・のノード名が示されている。これらの物理ノードが、オーバーレイネットワーク名で示されるオーバーレイネットワーク１の仮想ノードを構築する物理ノードである。また、構成情報において、物理ノード１と物理ノード２、物理ノード１と物理ノード５、・・・が対応付けられている。これにより、オーバーレイネットワーク１は、物理ノード１を用いて実現される仮想ノードと物理ノード２を用いて実現される仮想ノードとの間、および、物理ノード１を用いて実現される仮想ノードと物理ノード５を用いて実現される仮想ノードとの間に仮想リンクを持つことが示されている。
【００４０】
ステップＳ１０１において、オーバーレイネットワーク管理部１は、オーバーレイネットワーク構築要求を受け付けたのが入力部１０か否かを判断する。入力部１０が受け付けた場合（ステップＳ１０１：ＹＥＳ）は、ステップＳ１０２に進み、それ以外の場合（ステップＳ１０１：ＮＯ）、すなわち伝送部２４が受け付けた場合は、伝送部２４がオーバーレイネットワーク構築要求と後述する仮想マシン名情報とをアンダーレイリンク検索部２１に出力し、その後ステップＳ１０３に進む。
【００４１】
ステップＳ１０２において、入力部１０２は、新たに構築するオーバーレイネットワークを実現するための仮想マシンに付す仮想マシン名を生成し、仮想マシン名情報を生成する。
図６は、入力部１０が生成する、仮想マシン名情報の例を示す図である。同図は、オーバーレイネットワーク構築要求に、物理ノード１と物理ノード２と物理ノード４と物理ノード５とが含まれている場合の例であり、入力部１０は、物理ノード１、２、４、５のそれぞれに、仮想マシン名「仮想マシン１４１」、「仮想マシン名１４２」、「仮想マシン１４４」、「仮想マシン名１４５」を対応付ける。
この仮想マシン名は、仮想ノードの識別子としても用いられ、転送処理部がデータ伝送を行う際に、送信元の仮想ノードの識別子及び宛先の仮想ノードの識別子として、データに含めて送信する。
【００４２】
入力部１０は、受け付けたオーバーレイネットワーク構築要求と仮想マシン名情報とをアンダーレイリンク検索部２１と伝送部２４とに出力する。
伝送部２４は、入力部１０から受け付けたオーバーレイネットワーク構築要求と仮想マシン名情報とを、他の物理ノード上で動作するオーバーレイネットワーク管理部１の伝送部２４に送信する。
なお、物理ノードとは別に、オーバーレイネットワーク構築要求を受け付ける入力装置を設けてもよい。この入力装置はオーバーレイネットワーク構築要求を受け付けると、仮想マシン名情報を生成し、オーバーレイネットワーク構築要求と仮想マシン名情報とを、各物理ノード上で動作するオーバーレイネットワーク管理部１の伝送部２４に出力する。この場合、各オーバーレイネットワーク管理部１は、入力部１０を具備する必要がない。
【００４３】
次に、ステップＳ１０３において、アンダーレイリンク検索部２１は、入力部１０または伝送部２４からオーバーレイネットワーク構築要求を受け付けると、そのオーバーレイネットワーク構築要求から仮想リンクを読み出し、各仮想リンクを実現する物理リンクの経路を決定する。図５に示したように、オーバーレイネットワーク構築要求において、仮想リンクはリンクの両端の仮想ノードを実現する物理ノードにより示される。アンダーレイリンク検索部２１は、これらの物理ノード間に仮想リンクを設定するための、物理リンクの経路を決定し、決定した物理リンクの経路を示す物理リンク経路情報を生成する。
【００４４】
図７は、アンダーレイリンク検索部２１が生成する、物理リンク経路情報の例を示す図である。同図の例では、物理ノード１を用いて実現される仮想ノードと物理ノード２を用いて実現される仮想ノードとの間の仮想リンクは、物理リンク１を用いて実現されることが示されている。また、物理ノード１を用いて実現される仮想ノードと物理ノード５を用いて実現される仮想ノードとの間の仮想リンクは、物理リンク４と物理リンク５とを用いて実現されることが示されている。
アンダーレイリンク検索部２１は、物理ノード間の距離が最短となる経路を物理リンクの経路として決定する。なお、アンダーレイリンク検索部２１が、物理リンクの経路を決定する方法は前記の方法に限らない。例えば、アンダーレイリンク検索部２１が、物理リンクの帯域使用率が低い経路を物理リンクの経路として決定するようにしてもよい。ただし、複数存在するオーバーレイネットワーク管理部１が、同一の物理リンク経路情報を共有する必要がある。そこで、各オーバーレイネットワーク管理部１は、互いに同一の物理リンクの経路の決定方法を用いる。なお、１つのオーバーレイネットワーク管理部１、例えばオーバーレイネットワーク構築要求を受け付けたオーバーレイネットワーク管理部１が、物理リンク経路情報を生成して各オーバーレイネットワーク管理部１に送信するようにしてもよい。これにより、各オーバーレイネットワーク管理部１は同一の物理リンク経路情報を共有できる。
アンダーレイリンク検索部２１は、仮想マシン名情報と物理リンク経路情報とオーバーレイネットワーク構築要求とを、リスク要因抽出部１１に出力する。
【００４５】
次に、ステップＳ１０４において、リスク要因抽出部１１は、アンダーレイリンク検索部２１からオーバーレイネットワーク構築要求等を受け付けると、出力されたオーバーレイネットワーク構築要求及び物理リンク経路情報から、リスク要因となる構成要素を読み出す。
リスク要因抽出部１１は、リスク要因として、新たに構築されるオーバーレイネットワークに含まれる全ての物理ノードと全ての物理リンクとを読み出す。例えば、リスク要因抽出部１１は、図５のネットワーク構築要求に含まれる物理ノード１、２、５、・・・をリスク要因として読み出す。さらに、リスク要因抽出部１１は、図５のネットワーク構築要求において物理ノード１と物理ノード２とで示される仮想リンクを実現する物理リンクとして、図７から物理リンク１を読み出してリスク要因に加える。同様に、リスク要因抽出部１１は、ネットワーク構築要求に含まれる他の仮想リンクについても、当該仮想リンクを実現する物理リンクをリスク要因に加える。
なお、更に小さい粒度として、仮想リンクに割り当てる予定のスイッチポート等をリスク要因に含めるようにしてもよい。
リスク要因抽出部１１は、読み出したリスク要因をリスク要因データベース２０に書き込む。また、リスク要因抽出部１１は、読み出したリスク要因（新たに構築するオーバーレイネットワークのリスク要因）と仮想マシン名情報と新たに構築するオーバーレイネットワークの名前（オーバーレイネットワーク構築要求に含まれるオーバーレイネットワーク名）とを、リソース競合検索部１３に出力する。
【００４６】
図８は、リスク要因データベース２０が記憶するデータの例を示す図である。同図で示すように、リスク要因データベース２０は、オーバーレイネットワーク名とリスク要因情報とを対応付けて記憶する。
オーバーレイネットワーク名は、既に構築されている、あるいは新たに構築するオーバーレイネットワークの名前であり、オーバーレイネットワークを識別する情報である。リスク要因情報は、オーバーレイネットワーク毎のリスク要因を示す情報である。図８の例では、オーバーレイネットワーク１は物理ノード１、物理ノード２、物理リンク５をリスク要因として含むことを示している。リスク要因データベース２０を用いることにより、あるリスク要因（例えば物理ノード１）で障害が発生したときに、経路再計算が発生するオーバーレイネットワークを検索することができる。
【００４７】
次に、ステップＳ１０５において、リソース競合検索部１３は、リスク要因抽出部１１からリスク要因等を受け付けると、管理対象物理ノードを用いて既に構築されているオーバーレイネットワークを検索し、検索したオーバーレイネットワークの中から、リスク要因抽出部１１から受け付けたリスク要因を使用しているオーバーレイネットワークをリスク要因毎に検索して、リスク要因使用オーバーレイネットワーク情報を生成する。
具体的には、まず、リソース競合検索部１３は、リスク要因データベース２０が記憶するオーバーレイネットワークの中から、管理対象物理ノード、すなわち、当該リソース競合検索部１３が含まれる物理ノードをリスク要因に含むオーバーレイネットワークを、管理対象物理ノードを用いて既に構築されているオーバーレイネットワークとして検索する。例えば、物理ノード１に含まれるオーバーレイネットワーク管理部１のリソース競合検索部１３は、管理対象ノードを用いて既に構築されているオーバーレイネットワークとして、物理ノード１をリスク要因に含むオーバーレイネットワークを、リスク要因データベース２０が記憶するオーバーレイネットワークの中から検索する。次に、リソース競合検索部１３は、リスク要因抽出部１１から受け付けたリスク要因毎に、当該リスク要因をリスク要因に含むオーバーレイネットワークを、管理対象物理ノードを用いて既に構築されているオーバーレイネットワークの中からさらに検索する。例えば、リスク要因抽出部１１が出力するリスク要因に物理ノード２が含まれている場合、この物理ノード２を使用しているオーバーレイネットワークを、リスク要因データベース２０が記憶するオーバーレイネットワーク、かつ、上記の検索で管理対象物理ノードを用いて既に構築されているオーバーレイネットワークの中からさらに検索する。
検索されるオーバーレイネットワークは、新しく構築されるオーバーレイネットワークの各リスク要因において障害が発生した際に、管理対象物理ノード（上の例では物理ノード１）のＣＰＵが経路再計算を行うオーバーレイネットワークである。
【００４８】
図９は、リソース競合検索部１３が生成するリスク要因使用オーバーレイネットワーク情報の例を示す図である。同図では、例えば、オーバーレイネットワーク１、２、・・・が物理ノード１を用いて実現されることが示されている。リソース競合検索部１３は、リスク要因データベース２０からオーバーレイネットワークとリスク要因との対応関係をリスク要因毎に読み出して、リスク要因使用オーバーレイネットワーク情報を生成する。
リソース競合検索部１３は、リスク要因使用オーバーレイネットワーク情報と仮想マシン名情報とを、リソース使用量算出部１４に出力する。
【００４９】
なお、リソース競合検索部１３がリスク要因データベース２０を検索する際には、リスク要因データベース２０には、既に構築されているオーバーレイネットワークのリスク要因（既に構築されているオーバーレイネットワークが用いる物理ネットワークの構成要素）に加えて、新たに構築されるオーバーレイネットワークのリスク要因も、リスク要因抽出部１１によって登録されている。そこで、リソース競合検索部１３が、リスク要因データベース２０を検索する際に、新たに構築するオーバーレイネットワークの名前（オーバーレイネットワーク構築要求に含まれるオーバーレイネットワーク名）をオーバーレイネットワーク欄に含む行を、検索対象から除外する。これにより、リソース競合部１３は、リスク要因データベース２０から、既に構築されているオーバーレイネットワークの情報を取得することができる。
あるいは、オーバーレイネットワーク構築要求に基づいてオーバーレイネットワークが構築された後に、リスク要因抽出部１１が、リスク要因データベース２０に当該オーバーレイネットワークのリスク要因を書き込むようにしてもよい。例えば、当該オーバーレイネットワークが構築された後に、当該オーバーレイネットワークが構築されたことを示す信号をオーバーレイネットワーク管理部１が受け付ける。リソース競合部１３は、オーバーレイネットワーク管理部１がこの信号を受け付けた後に、リスク要因データベース２０に、当該オーバーレイネットワークのリスク要因を書き込む。
【００５０】
次に、ステップＳ１０６において、リソース使用量算出部１４は、リソース競合検索部１３からリスク要因使用オーバーレイネットワーク情報等を受け付けると、障害発生時に各ＣＰＵがどれだけのリソース量を使用するかの期待値を算出する。
リソース使用量算出部１４は、障害発生時の各ＣＰＵのリソース使用量として、各ＣＰＵで発生する負荷量を算出する。なお、リソース量として各ＣＰＵが経路再計算に使用するメモリ量を用いるなど、ＣＰＵの負荷量以外の数量を用いるようにしてもよい。リソース使用量算出部１４は、障害発生確率データベース１７と障害時負荷量算出式データベース１８とを参照して、障害発生時に各ＣＰＵで発生する負荷量を算出する。
まず、リソース使用量算出部１４は、リソース競合検索部１３から受け付けるリスク要因使用オーバーレイネットワーク情報のリスク要因欄から、新たに構築するオーバーレイネットワークのリスク要因を読み出し、読み出したリスク要因の一つに障害が発生したときに各ＣＰＵで発生する負荷量Ｕｋ，ｉを、式（１）に基づいてリスク要因毎に算出する。
【００５１】
【数１】
2011061598.tif 000003
【００５２】
ここで、ｋはＣＰＵを識別する識別子である。また、iは障害発生を想定するリスク要因を表す。また、jは、対象物理ノードを用いて構築済みのオーバーレイネットワークのうち、対象とするリスク要因を共有するオーバーレイネットワークを表す。つまり、ｊは、対象とするリスク要因で障害が生じた際に、経路再計算を実行しなければならないオーバーレイネットワークを表す。ρjは、対象とするリスク要因で障害が生じた際に、オーバーレイネットワークｊのために必要なＣＰＵ負荷量である。リソース使用量算出部１４は、このＣＰＵ負荷量を、仮想マシン状態モニタ部１９が出力する、どの仮想マシンがどのＣＰＵで動作しているかを示す仮想マシン実現ＣＰＵ情報と、障害時負荷量算出式データベース１８が記憶する式とを用いて算出する。
【００５３】
図１０は、仮想マシン状態モニタ部１９が出力する、仮想マシン実現ＣＰＵ情報の例を表す図である。
同図の例では、仮想マシン１１１、１４１がＣＰＵ１上で動作し、仮想マシン１２１がＣＰＵ２上で動作していることが示されている。
仮想マシン状態モニタ部１９は、どのオーバーレイネットワークの仮想ノードがどのＣＰＵで動作しているかをモニタして、仮想マシン実現ＣＰＵ情報を生成する。各ＣＵＰ上の仮想化ソフトウェアが、動作中の仮想マシンの情報を管理し、この情報を取得するためのインタフェースを提供する。仮想マシン状態モニタ部１９は、どの仮想マシンがどのＣＰＵで動作しているかを示す情報を、このインタフェースを通じて仮想化ソフトウェアから取得する。仮想マシン情報モニタ部１９は、生成した仮想マシン実現ＣＰＵ情報を、リソース使用量算出部１４に出力する。
【００５４】
図１１は、害時負荷量算出式データベース（ＤＢ）１８が記憶する障害発生時負荷量算出式テーブルの例を示す図である。
障害時負荷量算出式データベース１８は、障害発生時にＣＰＵで発生する負荷量（ＣＰＵ負荷量）を算出するための式をオーバーレイネットワーク毎に記憶する。これらのデータは管理者によって障害時負荷量算出式データベース１８に予め登録される。
障害発生時に必要とする負荷量は対象のオーバーレイネットワークに含まれるノード数やリンク数に依存する。このため、障害発生時にＣＰＵで発生する負荷量を算出するための式は、同図に示すように、対象のオーバーレイネットワークに含まれるノード数やリンク数の関数であることが望ましい。これらの式としては、公知の算出式を用いることができる。例えば、ＯＳＰＦを実行するネットワークにおいては、障害発生時に必要となるＣＰＵ負荷量は、（ＮｌｏｇＮ）のオーダとなることが知られている。ここで、Ｎはネットワークに含まれるノード数を表す。
【００５５】
リソース使用量算出部１４は、リスク要因使用オーバーレイネットワーク情報の各リスク要因について、当該リスク要因を使用するオーバーレイネットワーク名を順に読み出す。例えば、リソース使用量算出部１４は、図９のリスク要因使用オーバーレイネットワーク情報から、まず、オーバーレイネットワーク１が物理ノード１を使用していることを読み出し、後述する処理を行う。次に、リソース使用量算出部１４は、オーバーレイネットワーク２が物理ノード１を使用していることを読み出し、後述する処理を行う。これを、各リスク要因を使用する各オーバーレイネットワークについて繰り返す。
リソース使用量算出部１４は、リスク要因使用オーバーレイネットワーク情報から読み出したオーバーレイネットワーク名を用いて、このオーバーレイネットワークに含まれる仮想マシンを実現するＣＰＵの識別子を、仮想マシン実現ＣＰＵ情報から読み出す。例えば、図９のリスク要因使用オーバーレイネットワーク情報から読み出したオーバーレイネットワーク１について、このオーバーレイネットワーク１に含まれる仮想マシン１１１がＣＰＵ１上で動作していることを、図１０の仮想マシン実現ＣＰＵ情報から読み出す。
ここで、仮想マシン実現ＣＰＵ情報に示される仮想マシンがどのオーバーレイネットワークに含まれるかは、例えば、仮想マシン名から判別可能とすることができる。図１０の例では、仮想マシン名に含まれる３桁の数字のうち２番目の数字が、当該仮想マシンが含まれるオーバーレイネットワークを示す。例えば、仮想マシン１１１はオーバーレイネットワーク１に含まれ、仮想マシン１２１はオーバーレイネットワーク２に含まれ、仮想マシン１４１はオーバーレイネットワーク４に含まれる。
【００５６】
また、リソース使用量算出部１４は、リスク要因使用オーバーレイネットワーク情報から読み出したオーバーレイネットワーク名を用いて、障害発生時に必要となるＣＰＵ負荷量を算出するための式を、障害時負荷量算出式データベース１８から読み出す。例えば、図９のリスク要因使用オーバーレイネットワーク情報から読み出したオーバーレイネットワーク１は、障害発生時に２．３×ｎ×ｌｏｇ（ｎ）のＣＰＵ負荷を必要とすることを、図１１の障害発生時負荷量算出式テーブルから読み出す。リソース使用量算出部１４は、オーバーレイネットワークに含まれるノード数をリスク要因データベース３３から読み出して、障害時負荷量算出式データベース１８から読み出した式に代入し、障害発生時に必要となるＣＰＵ負荷量を算出する。
リソース使用量算出部１４は、リスク要因使用オーバーレイネットワーク情報のリスク要因毎に、当該リスク要因を使用する各オーバーレイネットワークについて、障害発生時に必要となるＣＰＵ負荷量を算出し、算出したＣＰＵ負荷量をＣＰＵ毎に合計して、式（１）の負荷量Ｕｋ，１を算出する。
【００５７】
ここで、新たに構築するオーバーレイネットワークのリスク要因は通常複数ある。リソース使用量算出部１４は、それぞれのリスク要因の障害発生確率Ｐｉと、式（１）で算出したリスク要因毎の各ＣＰＵの負荷量とを用いて、障害発生時に必要な各ＣＰＵの負荷量の期待値Ｅｋを、式（２）に基づいて算出する。
【００５８】
【数２】
2011061598.tif 000004
【００５９】
ここで、iは新たに構築するオーバーレイネットワークに含まれるリスク要因を表す。また、jは上記のとおり、対象物理ノードを用いて構築済みのオーバーレイネットワークのうち、対象とするリスク要因を共有するオーバーレイネットワークを表す。
【００６０】
障害発生確率データベース（ＤＢ）１７は、リスク要因と障害発生確率とを対応付けて記憶する。これらのデータは管理者によって障害発生確率データベース１７に予め登録される。
図１２は、障害発生確率データベースが記憶する障害発生確率テーブルの例を示す図である。同図において、リソース欄のデータは、リスク要因としての物理ネットワークの構成要素を示し、障害発生確率欄のデータは、この構成要素での障害発生確率を示す。例えば、ノード１での障害発生確率は0.001である。障害発生確率としては、例えば平均故障間隔(MTBF: Mean Time Between Failures)を用いる。また、障害発生確率はリソース間での相対値であってもよい。
リソース使用量算出部１４は、算出した各ＣＰＵのリソース使用量の期待値と仮想マシン名情報とをリソース使用量比較部１５に出力する。
【００６１】
図４に戻って、ステップＳ１０７において、リソース使用量比較部１５は、リソース使用量算出部１４から各ＣＰＵのリソース使用量の期待値等を受け付けると、出力された各ＣＰＵのリソース使用量の期待値を比較し、値が最小となるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択する。
リソース使用量比較部１５は、リソース使用量算出部１４が算出した各ＣＰＵのリソース使用量の期待値Ｅｋを比較し、値が最小となるＣＰＵを、新たに構築するオーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択する。
リソース使用量比較部１５は、選択したＣＰＵを表す情報と仮想マシン名情報とを出力部１６に出力する。
出力部１６は、リソース使用量比較部１５から、選択したＣＰＵを表す情報等を受け付けると、当該出力部１６を含んで構成されるオーバーレイネットワーク管理部１が含まれる物理ノードに対応付けられた仮想マシン名を仮想マシン名情報から読み出し、読み出した仮想マシン名とリソース選択部１２が選択したＣＰＵを表す情報とを出力する。出力部１６は、例えば、リソース選択部１２が選択したＣＰＵを表す情報等を、管理用画面（不図示）に出力する。これにより、選択されたＣＰＵを管理者が確認することができる。あるいは、出力部１６が、選択されたＣＰＵ上で動作する仮想化ソフトウェアに、選択されたことを示す情報と仮想マシン名とを出力し、出力を受けた仮想化ソフトウェアが新規仮想マシンを当該仮想マシン名で構築するようにしてもよい。
【００６２】
以上、オーバーレイネットワーク構築要求を受け付けた場合のオーバーレイネットワーク管理装置１の動作について説明した。一方、オーバーレイネットワークの削除要求があった場合は、リスク要因抽出部１１は、リスク要因データベース２０から削除対象のオーバーレイネットワークのデータを削除する。これによって、オーバーレイネットワーク構築要求を受け付けた際に、オーバーレイネットワーク管理部１が、既に削除されているオーバーレイネットワークの経路再計算のためのＣＰＵ負荷量を、このオーバーレイネットワークのノードを実現していたＣＰＵの負荷量に含めるのを防止し、より正確にＣＰＵ負荷量を算出することができる。
【００６３】
次に、本実施形態の効果について説明する。本実施形態では、リソース競合検索部１３が、対象物理ノードを用いて既に構築されているオーバーレイネットワークのうち、リスク要因抽出部１１が抽出したリスク要因に該当する機能（ノード、ポート等）を使用しているオーバーレイネットワークを検索し、リソース使用量算出部１４が、障害発生時に各ＣＰＵがどれだけのリソース量を使用するかの期待値を計算し、リソース使用量比較部１５が、リソース使用量算出部１４で算出した各ＣＰＵのリソース使用量の期待値を比較し、値が最小となるＣＰＵを、要求オーバーレイネットワークの転送処理部を構成すべきＣＰＵとして選択する。これにより、障害発生時に生じる処理負荷を物理ノード内の複数のＣＰＵに分散できる。
【００６４】
＜第２の実施形態＞
図１３は、本発明の第２の実施の形態におけるオーバーレイネットワーク管理部２の概略構成を示す構成図である。同図において、オーバーレイネットワーク管理部２は、入力部３０と伝送部３４とアンダーレイリンク検索部３１とリスク要因データベース３３とリソース選択部１２と出力部１６と障害発生確率データベース１７と障害時負荷量算出式データベース１８と仮想マシン状態モニタ部１９と通信モニタ部３２とを含んで構成される。リソース選択部１２は、リソース競合検索部１３とリソース使用量算出部１４とリソース使用量比較部１５とを含んで構成される。
同図において、図３の各部に対応する部分には同一の符号（１２、１３、１４、１５、１６、１７、１８、１９）を付し、説明を省略する。
オーバーレイネットワーク管理部２は、通信モニタ部３２がリスク要因データベース３３にリスク要因を書き込む点で、第１の実施形態のオーバーレイネットワーク管理部１と異なる。
なお、リソース競合検索部１３は、第１の実施形態のリスク要因抽出部１１が抽出するリスク要因に代えて、ネットワーク構築要求に含まれる物理ノードの情報とアンダーレイリンク検索部３１が出力する物理リンクの情報とを用いて、第１の実施形態の場合と同様に、これらの物理ノードや物理リンクを使用するオーバーレイネットワークを検索する。
【００６５】
入力部３０は、図３の入力部１０と同様に、オーバーレイネットワーク構築要求を受け付けると仮想マシン名情報を生成する。入力部３０は、受け付けたオーバーレイネットワーク構築要求と生成した仮想マシン名情報とをアンダーレイリンク検索部３１と伝送部３４とに出力する。また、入力部３０は、仮想マシン名情報を通信モニタ部３２に出力する。
アンダーレイリンク検索部３１は、図３のアンダーレイリンク検索部２１と同様に、オーバーレイネットワーク構築要求に含まれる仮想リンクについて、物理リンクの経路を決定して物理リンク経路情報を生成する。アンダーレイリンク検索部３１は、生成した物理リンク経路情報をリソース競合検索部１３と通信モニタ部３２に出力する。
リスク要因データベース３３は、オーバーレイネットワークが書き込むリスク要因を記憶する。
【００６６】
通信モニタ部３２は、入力部３０から受け付ける、オーバーレイネットワーク構築要求に含まれる物理ノードと対応する仮想ノードの識別子とを対応付けて、内部のノード対応関係記憶部（不図示）に記憶する。また、通信モニタ部３２は、アンダーレイリンク検索部３１が出力する、物理リンクの経路と仮想リンクを特定する情報とを対応付けて、内部のリンク対応関係記憶部（不図示）に記憶する。
また、通信モニタ部３２は、仮想化ソフトウェアが実行する、各仮想マシンの通信データをモニタする。あるオーバーレイネットワークに属する転送処理部は、当該転送処理部が属するオーバーレイネットワーク内のノードとのみ通信を行う。したがって、転送処理部が送受信するデータの宛先の仮想ノードと送信元の仮想ノードとは、同一のオーバーレイネットワークに属する。通信モニタ部３２は、宛先の仮想ノードと送信元との仮想ノードとを、通信データから読み出す。通信モニタ部３２は、読み出した宛先の仮想ノードが構築されている物理ノードと、送信元の仮想ノードが構築されている物理ノードとを、ノード対応関係記憶部を用いて特定する。さらに、通信モニタ部３２は、特定した物理ノードを、リスク要因データベース３３に書き込む。
伝送部３４は、入力部３０から受け付けるオーバーレイネットワーク構築要求及び仮想マシン名情報に加えて、通信モニタ部から受け付ける仮想ノード間の通信に関する情報も、オーバーレイネットワーク管理部２間で通信する。
【００６７】
次にオーバーレイネットワーク管理部２の動作について説明する。
オーバーレイネットワーク管理部２が、オーバーレイネットワーク構築要求を受け付けた際に行う動作は、図４のフローチャートと同様である。ただし、ステップＳ１０４のリスク要因の抽出は通信モニタ部３２がリスク要因データベース４２にリスク要因を書き込むことで行われる。
入力部３０は、図３の入力部３０と同様に、オーバーレイネットワーク構築要求を受け付けると仮想マシン名情報を生成する。入力部３０は、受け付けたオーバーレイネットワーク構築要求と生成した仮想マシン名情報とをアンダーレイリンク検索部３１と伝送部３４とに出力する。また、入力部３０は、仮想マシン名情報を通信モニタ部３２に出力する。伝送部３４は、図３の伝送部２４と同様に、オーバーレイネットワーク構築要求と仮想マシン名情報とをオーバーレイネットワーク管理部２同士の間で送受信する。オーバーレイネットワーク構築要求と仮想マシン名情報とを受信した伝送部３４は、受信したオーバーレイネットワーク構築要求と仮想マシン名情報とをアンダーレイリンク検索部３１に出力する。また、伝送部３４は、受信した仮想マシン名情報を通信モニタ部３２に出力する。
なお、第１の実施形態の場合と同様、オーバーレイネットワーク管理部２とは別に入力装置を設け、この入力装置がオーバーレイネットワーク構築要求を受け付けるようにしてもよい。
アンダーレイリンク検索部３１は、図３のアンダーレイリンク検索部２１と同様に、新たに構築するオーバーレイネットワークに含まれる仮想リンクについて、物理リンクの経路を決定し、物理リンク経路情報を生成する。アンダーレイリンク検索部３１は、仮想マシン名情報と物理リンク経路情報とをリソース競合検索部１３に出力する。また、アンダーレイリンク検索部３１は、物理リンク経路情報を通信モニタ部３２に出力する。第１の実施形態の場合と同様、各オーバーレイネットワーク管理部２が互いに同一の物理リンクの経路の決定方法を用いる。あるいは、第１の実施形態の場合と同様、１つのオーバーレイネットワーク管理部２が物理リンク経路情報を生成して、各オーバーレイネットワーク管理部２に送信するようにしてもよい。
【００６８】
リスク要因データベース３３は、通信モニタ部３２が書き込むリスク要因を記憶する。
図１４は、リスク要因データベース３３が記憶するデータの例を示す図である。図８に示したように、第１の実施形態のリスク要因データベース２０がオーバーレイネットワーク名とリスク要因情報とを記憶するのに対し、リスク要因データベース３３は、オーバーレイネットワーク名に代えて仮想ノードの識別子（具体的には仮想マシン名）を記憶する。
【００６９】
通信モニタ部３２は、入力部３０または伝送部３４が仮想マシン名情報として出力する、オーバーレイネットワーク構築要求に含まれる物理ノードの名前と対応する仮想ノードの識別子とを示す情報を、内部のノード対応関係記憶部（不図示）にノード対応関係テーブルとして書き込む。
図１５は、ノード対応関係記憶部が記憶する、オーバーレイネットワーク構築要求に含まれる物理ノードの名前と対応する仮想ノードの識別子とを示す情報の例を示す図である。同図に示すように、ノード対応関係記憶部は、入力部３０または伝送部３４が出力する仮想マシン名情報を蓄積して記憶する。
【００７０】
また、通信モニタ部３２は、アンダーレイリンク検索部３１が物理リンク経路情報として出力する、物理リンクの経路と仮想リンクとを対応付ける情報を、仮想リンク欄の物理ノード名を仮想マシン名に書き換えて、内部のリンク対応関係記憶部（不図示）にリンク対応関係テーブルとして書き込む。
図１６は、リンク対応関係記憶部が記憶する、物理リンクの経路と仮想リンクとを対応付ける情報の例を示す図である。通信モニタ部３２は、アンダーレイリンク検索部３１から受け付ける物理リンク経路情報のうち、仮想リンク欄の物理ノード名を、仮想マシン名情報を用いて書き換える。同図に示すように、リンク対応関係記憶部は、通信モニタ部３２が仮想リンク欄を書き換えた物理リンク経路情報を蓄積して記憶する。
【００７１】
また、通信モニタ部３２は、仮想化ソフトウェアが実行する、各仮想マシンの通信データをモニタする。あるオーバーレイネットワークに属する転送処理部は、当該転送処理部が属するオーバーレイネットワーク内のノードとのみ通信を行う。したがって、転送処理部が送受信するデータの宛先の仮想ノードと送信元の仮想ノードとは、同一のオーバーレイネットワークに属する。通信モニタ部３２は、宛先の仮想ノードと送信元の仮想ノードとを、通信データから読み出す。通信モニタ部３２は、読み出した宛先の仮想ノードが構築されている物理ノードと、送信元の仮想ノードが構築されている物理ノードとを、ノード対応関係記憶部が記憶する情報を用いて特定する。さらに、通信モニタ部３２は、特定した物理ノードを、リスク要因データベース３３に書き込む。
【００７２】
この際、通信モニタ部３２は、送信元の仮想ノードと宛先の仮想ノードとが、リスク要因データベース３３の仮想ノード識別子の欄に、既に記憶されているか否かを判断し、判断結果に応じて以下の処理を行う。
１．いずれの仮想ノードも記憶されていないと判断した場合：リスク要因データベース３３に、新たな行を追加し、追加した行の仮想ノード識別子の欄に送信元の仮想ノードの識別子と宛先の仮想ノードの識別子とを書き込み、リスク要因情報の欄に、仮想ノードが構築されている物理ノードのノード名と、送信元の仮想ノードが構築されている物理ノードのノード名とを書き込む。
図１７は、通信モニタ部３２が行を追加する前後のリスク要因データベース３３の例を示す図である。
例えば、送信元の仮想ノードが「仮想マシン１１１」で表される仮想ノードであり、宛先の仮想ノードが「仮想マシン１１２」で表される仮想ノードであるとする。また、同図（ａ）は、通信モニタ部３２が行を追加する前のリスク要因データベース３３であり、送信元の仮想ノードも宛先の仮想ノードもリスク要因データベースに記憶されていない。
この場合、通信モニタ部３２は、同図（ｂ）の行Ｌ１７１のように、リスク要因データベース３３に行を追加して、仮想ノード識別子欄に、送信元の仮想ノードの識別子「仮想マシン１１１」と、宛先の仮想ノードの識別子「仮想マシン１１２」とを書き込む。また、通信モニタ部３２は、ノード対応関係記憶部が記憶する、図１５のノード対応関係テーブルから、「仮想マシン１１１」に対応する「物理ノード１」と、「仮想マシン１１２」に対応する「物理ノード２」とを読み出し、行Ｌ１７１のように、リスク要因情報欄に書き込む。
【００７３】
２．いずれか一方の仮想ノードのみが記憶されている場合：この仮想ノードが記憶されている行の、仮想ノード識別子の欄に、記憶されていない方の仮想ノード（例えば、送信元の仮想ノードが仮想ノード識別子の欄に記憶されている場合は、宛先の仮想ノード）の識別子を追加し、リスク要因情報の欄に、記憶されていないほう方の仮想ノードが構築されている物理ノード（上記の例では、宛先の仮想ノードが構築されている物理ノード）の名前をリスク要因情報の欄に追加する。
図１８は、通信モニタ部３２が仮想ノードの名前および物理ノードの名前を書き込む前後のリスク要因データベース３３の例を示す図である。
例えば、送信元の仮想ノードが「仮想マシン１１１」で表される仮想ノードであり、宛先の仮想ノードが「仮想マシン１１３」で表される仮想ノードであるとする。また、同図（ａ）は、通信モニタ部３２が仮想ノードの名前および物理ノードの名前を書き込む前のリスク要因データベース３３であり、送信元の「仮想マシン１１１」は行Ｌ１８１に記憶されているが、宛先の「仮想マシン１１３」はリスク要因データベースに記憶されていない。
この場合、通信モニタ部３２は、同図（ｂ）の行Ｌ１８２のように、「仮想マシン１１１」が記憶されている行（同図（ａ）の行Ｌ１８１）の仮想ノード識別子欄に、宛先の仮想マシンの識別子「仮想マシン１１３」を書き込む。また、通信モニタ部３２は、ノード対応関係記憶部が記憶する、図１５のノード対応関係テーブルから、「仮想マシン１１３」に対応する「物理ノード３」を読み出し、行Ｌ１８２のように、リスク要因情報欄に書き込む。
【００７４】
３．両方の仮想ノードが記憶されているが、互いに異なるネットワークのリスク要因として記憶されている場合：それぞれの行を統合する。例えば、送信元の仮想ノードが記憶されている行のデータの全部を、宛先の仮想ノードが記憶されている行に追加し、その後、送信元の仮想ノードが記憶されている行を削除する。
図１９は、通信モニタ部３２が行を統合する前後のリスク要因データベース３３の例を示す図である。
例えば、送信元の仮想ノードが「仮想マシン１１１」で表される仮想ノードであり、宛先の仮想ノードが「仮想マシン１１３」で表される仮想ノードであるとする。また、同図（ａ）は、通信モニタ部３２が行を統合する前のリスク要因データベース３３であり、送信元の「仮想マシン１１１」は行Ｌ１９１に記憶され、宛先の「仮想マシン１１３」は行Ｌ１９２に記憶されている。
この場合、通信モニタ部３２は、同図（ｂ）の行Ｌ１９３のように、「仮想マシン１１３」が記憶されている行（同図（ａ）の行Ｌ１９２）の仮想マシン名のうち、「仮想マシン１１１」が記憶されている行（同図（ａ）の行Ｌ１９１）に記憶されていないものを、「仮想マシン１１１」が記憶されている行（同図（ａ）の行Ｌ１９１）の仮想ノード識別子欄に書き込む。同様に、通信モニタ部３２は、「仮想マシン１１３」が記憶されている行（同図（ａ）の行Ｌ１９２）のリスク要因の名前のうち、「仮想マシン１１１」が記憶されている行（同図（ａ）の行Ｌ１９１）に記憶されていないものを、「仮想マシン１１１」が記憶されている行（同図（ａ）の行Ｌ１９１）のリスク要因情報欄に書き込む。
その後、通信モニタ部３２は、「仮想マシン１１３」が記憶されている行（同図（ａ）の行Ｌ１９２）を削除する。これにより、同図（ｂ）のリスク要因データベース３３が得られる。
４．両方の仮想ノードが同一ネットワークのリスク要因として記憶されている場合：既に同一のネットワークに属する仮想ノードとして記憶されているので、何もしない。
【００７５】
さらに、通信モニタ部３２は、送信元の仮想ノードと宛先の仮想ノードとの間の仮想リンクを実現する物理リンクの経路を、リンク対応関係記憶部から読み出す。そして、上記１．〜３．の場合は、リスク要因データベース３３の、上記でデータを追加した行のリスク要因情報の欄に、読み出した物理リンクを追加する。
図２０は、通信モニタ部３２が行を統合する前後のリスク要因データベース３３の例を示す図である。
例えば、送信元の仮想ノードが「仮想マシン１１１」で表される仮想ノードであり、宛先の仮想ノードが「仮想マシン１１２」で表される仮想ノードであり、通信モニタ部３２は、上記１．において、同図（ａ）の行Ｌ２０１を追加したとする。
この場合、通信モニタ部３２は、「仮想マシン１１１」で表される仮想ノードと「仮想マシン１１２」で表される仮想ノードとの間の仮想リンクを実現する物理リンク経路が、物理リンク１で構成されることを図１６のリンク対応関係テーブルから読み出す。同図（ｂ）の行Ｌ２０２のように、通信モニタ部３２は、上記１．において追加した行（同図（ａ）の行Ｌ２０１）のリスク要因情報欄に、読み出した物理リンク名「物理リンク１」を追加する。
一方、上記４．の場合は何もしない。
【００７６】
ここで、通信モニタ部３２は、管理対象物理ノード上で実行される仮想マシンが送受信するデータのみをモニタし、他の物理ノード上で実行される仮想マシンが、さらに他の物理ノード上で実行される仮想マシンとの間で送受信するデータはモニタしない。
従って、通信モニタ部３２は、例えば、管理対象物理ノード以外の物理ノード上に実現される仮想ノードと、管理対象物理ノード以外の他の物理ノード上に実現される仮想ノードとの間の仮想リンクを実現する物理リンク経路を、当該通信モニタ部３２がモニタする通信データから取得することはできない。
これに対して、前述のようにネットワークで障害が発生すると全てのノードで経路再計算を行うので、リソース使用量算出部１４は、管理対象物理ノードを用いて構築されているオーバーレイネットワークの全てのリスク要因についてＣＰＵ負荷量を計算する必要がある。
そこで、通信モニタ部３２は、モニタして得られた仮想マシンの通信データから読み出した、宛先の仮想ノードの識別子と送信元の仮想ノードの識別子と（以下、「送受信ノードの識別子」ともいう）を、伝送部３４に出力する。伝送部３４は、通信モニタ部３２から出力された、送受信ノードの識別子を、オーバーレイネットワーク管理部２同士間で送受信する。伝送部３４は、他のオーバーレイネットワーク管理部２から、送受信ノードの識別子を受信すると、受信した送受信ノードの識別子を、通信モニタ部３２に出力する。通信モニタ部３２は、仮想マシンの通信データから読み出した送受信ノードの識別子と同様に、伝送部３４から出力された送受信ノードの識別子を用いて、リスク要因データベース３３を更新する。
これにより、通信モニタ部３２は、管理対象物理ノード以外の物理ノード上に実現される仮想ノードと、管理対象物理ノード以外の他の物理ノード上に実現される仮想ノードとの間の仮想リンクを実現する物理リンク経路を含め、仮想ネットワーク全体のリスク要因を抽出することができる。
【００７７】
第２の実施形態における効果について説明する。第２の実施の形態では、第1の実施の形態におけるリスク要因抽出部１１と同様に、通信モニタ部３２がリスク要因を抽出するので、第１の実施の形態と同様に、障害時に生じる処理負荷を物理ノード内の複数のＣＰＵに分散できる。
なお、第１の実施形態と同様、第２の実施形態のオーバーレイネットワーク管理部２を、物理ノード中の１個のＣＰＵを専用して実現してもよいし、仮想マシン上に実現してもよい。あるいは、物理ノードとは独立したオーバーレイネットワーク管理装置として実現してもよい。
【００７８】
＜第３の実施形態＞
図２１は、本発明の第３の実施形態におけるネットワークの構成例を示す図である。同図において、物理ネットワーク２００は、物理ノード２０１〜２０５及びこれらの物理ノード間のリンクと、ネットワーク制御部（ネットワーク制御装置）２１０とを含んで構成される。ネットワーク制御部２１０は、複数の物理ノード２０１〜２０５を集中的に管理する。この物理ネットワーク２００上に、オーバーレイネットワークが構築される。
【００７９】
図２２は、物理ノード２０１の概略構成を示す構成図である。同図において、物理ノード２０１はスイッチを含んで構成される。経路計算や転送テーブル作成等の転送処理機能はネットワーク制御部２１０で実行される。他の物理ノードについても同様である。
【００８０】
図２３は、ネットワーク制御部２１０の概略構成を示す構成図である。同図において、ネットワーク制御部２１０は、ＣＰＵ２６１−１〜２６１−（Ｎ＋１）を含んで構成される。
ＣＰＵ２６１−１〜２６１−Ｎは、第１の実施形態のＣＰＵ１６１−１〜１６１−Ｎと同様、それぞれ仮想化ソフトウェアを実行し、仮想マシンを構築する。各仮想マシンは１個の転送処理部を含んで構成される。１個のオーバーレイネットワークに対して１個の転送処理部が構成される。転送処理部は、１個のオーバーレイネットワーク全体に関する経路計算や転送テーブル作成を実行する。なお、ＣＰＵ２６１−１〜２６１−Ｎが、複数の転送処理部を一つのＯＳ上で動作させるようにしてもよいが、転送処理部ごとのセキュリティ確保やリソース確保のために、同図に示すように仮想マシンを構築し各仮想マシン内で転送処理部を実行することが望ましい。
ネットワーク制御部２１０は、複数の物理ノードを管理するので、これら転送処理部は複数の物理ノードに対してスイッチ制御の要求を発行する。
ＣＰＵ２６１−（Ｎ＋１）は、ソフトウェアを実行することによりオーバーレイネットワーク管理部３を実現する。
【００８１】
なお、オーバーレイネットワーク管理部３を、独立したＣＰＵ上ではなく、仮想マシン上で実現するようにしてもよい。
図２４は、同実施形態におけるネットワーク制御部２１０のもう１つの概略構成を示す構成図である。同図において、ネットワーク制御部２１０は、ＣＰＵ２６２−１〜２６２−Ｎを含んで構成される。
ＣＰＵ２６２−１〜２６２−Ｎは、図２３のＣＰＵ２６１−２〜１６１−Ｎと同様、仮想化ソフトウェアを実行し、仮想マシンを構築する。さらに、ＣＰＵ２６２−Ｎは、１個の仮想マシン上でソフトウェアを実行することによりオーバーレイネットワーク管理部３を実現する。
なお、オーバーレイネットワーク管理部３を、ネットワーク制御部２１０とは独立したオーバーレイネットワーク管理装置として実現してもよい。この場合、オーバーレイネットワーク管理装置は、直接またはネットワーク制御部２１０を介して各物理ノードに接続され、各物理ノードのスイッチをモニタする。また、オーバーレイネットワーク管理装置は、ネットワーク制御部２１０に接続され、各ＣＰＵの仮想化ソフトウェアをモニタする。
【００８２】
図２５は、オーバーレイネットワーク管理部３の概略構成を示す構成図である。同図において、オーバーレイネットワーク管理部３は、入力部１０とアンダーレイリンク検索部２１とリスク要因データベース４２とリソース選択部１２と出力部１６と障害発生確率データベース１７と障害時負荷量算出式データベース１８と仮想マシン状態モニタ部１９とスイッチ制御モニタ部４１とを含んで構成される。リソース選択部１２は、リソース競合検索部１３とリソース使用量算出部１４とリソース使用量比較部１５とを含んで構成される。
同図において、図３の各部に対応する部分には同一の符号（１０、２１、１２、１３、１４、１５、１６、１７、１８、１９）を付す。これらは、複数の物理ノードにおいてＣＰＵを選択するための処理を行う点で図３の各部と異なるが、それ以外の点では図３の各部と同様であり、説明を省略する。
なお、第２の実施形態と同様、リソース競合検索部１３は、第１の実施形態のリスク要因抽出部１１が抽出するリスク要因に代えて、ネットワーク構築要求に含まれる物理ノードとアンダーレイリンク検索部３１が出力する物理リンクとを用いて、第１の実施形態の場合と同様に、これらの物理ノードや物理リンクを使用するオーバーレイネットワークを検索する。
オーバーレイネットワーク管理部３は、スイッチ制御モニタ部４１がリスク要因データベース３３にリスク要因を書き込む点で、第１の実施形態のオーバーレイネットワーク管理部１と異なる。
【００８３】
スイッチ制御モニタ部４１は、スイッチもしくは転送処理部からスイッチ制御に関する情報（以下では、「スイッチ制御情報」ともいう）をモニタする。また、スイッチ制御モニタ部４１は、物理ネットワーク上を伝送されるデータをモニタすることにより、仮想リンクに対応する物理リンク経路を検出する。
【００８４】
次に、オーバーレイネットワーク管理部３の動作について説明する。
オーバーレイネットワーク管理部３が、オーバーレイネットワーク構築要求を受け付けた際に行う動作は、図４のフローチャートと同様である。ただし、ステップＳ１０４のリスク要因の抽出はスイッチ制御モニタ部４１がリスク要因データベース４２にリスク要因を書き込むことで行われる。
スイッチ制御モニタ部４１は、スイッチもしくは転送処理部からスイッチ制御情報をモニタする。あるオーバーレイネットワークに属する転送処理部は、当該転送処理部が属するオーバーレイネットワークが使用するスイッチ（物理ノード）とのみスイッチ制御情報を交換する。したがって、転送処理部とスイッチ制御情報を交換する物理ノードは、この転送処理部が対応するオーバーレイネットワークが使用する物理ノードである。
【００８５】
図２６は、スイッチ制御モニタ部４１がスイッチ（物理ノード）から取得する、スイッチ制御情報の例を示す図である。
同図において、物理ノード名は、情報を取得する物理ノードの名前を示す。また、情報交換先転送処理部名は、物理ノード名が示す物理ノードがスイッチ制御情報を交換する転送処理部の名前を示す。同図の例では、物理ノード２０１は、転送処理部２８３−１−１や転送処理部２８３−１−３等とスイッチ制御情報を交換する。
スイッチ制御モニタ部４１は、各物理ノードからこれらの情報を取得する。そして、スイッチ制御モニタ部４１は、同一の転送処理部と情報を交換する物理ノード名をグループ化することにより、この転送処理部が経路計算や転送テーブル作成を実行するオーバーレイネットワークが用いる物理ノードを検出する。
例えば、物理ノード２０１、２０２、２０３、２０５の各々が、転送処理部２８３−１−１とスイッチ制御情報を交換し、他の物理ノードは転送処理部２８３−１−１とスイッチ制御情報を交換しない場合、スイッチ制御モニタ部４１は、この転送処理部２８３−１−１が経路計算や転送テーブル作成を実行するオーバーレイネットワークが用いる物理ノードとして、物理ノード２０１、２０２、２０３、２０５を検出する。
スイッチ制御モニタ部４１は、各転送処理部についてこのグループ化を行い、各オーバーレイネットワークが用いる物理ノードを検出して、リスク要因データベース４２に書き込む。
【００８６】
図２７は、スイッチ制御モニタ部４１が転送処理部から取得する、スイッチ制御情報の例を示す図である。
同図において、転送処理部名は、スイッチ制御モニタ部４１が情報を取得する転送処理部の名前を示す。また、情報交換先物理ノード名は、転送処理部名が示す転送処理部が物理ノードスイッチ制御に関する情報を交換する物理ノードの名前を示す。これらの物理ノードは、当該転送処理部が経路計算や転送テーブル作成を実行するオーバーレイネットワークが用いる物理ノードである。同図の例では、転送処理部２８３−１−１は、物理ノード２０１や物理ノード２０２等とスイッチ制御情報を交換する。この物理ノード２０１や物理ノード２０２等が、転送処理部２８３−１−１が経路計算や転送テーブル作成を実行するオーバーレイネットワークが用いる物理ノードである。
スイッチ制御モニタ部４１は、各転送処理部から、情報を交換する物理ノードの情報を取得することにより、図２６の場合と同様に各オーバーレイネットワークが用いる物理ノードを検出して、リスク要因データベース４２に書き込む。
【００８７】
また、スイッチ制御モニタ部４１は、物理ネットワーク上を伝送されるデータをモニタすることにより、仮想リンクを実現する物理リンク経路を検出する。
スイッチ制御モニタ部４１は、各物理ノード上を通過するデータから、送信元の仮想ノードと宛先の仮想ノードとを読み出す。これにより、スイッチ制御モニタ部４１は、仮想ノード間を伝送されるデータが、どの物理ノードをどの順序で通過するかを検出し、仮想リンクを実現する物理リンクの経路を取得する。
例えば、宛先が仮想ノード２３５であり、送信元が仮想ノード２３１であるデータが、物理ノード２０１、２０４、２０５において順に検出された場合、スイッチ制御モニタ部４１は、仮想ノード２３１から仮想ノード２３５への仮想リンクを実現する物理リンク経路として、物理ノード２０１及び２０４間の物理リンクと、物理ノード２０４及び２０５間の物理リンクとを取得する。
スイッチ制御モニタ部４１は、取得した物理リンクを、仮想ノードが属するオーバーレイネットワークのリスク要因として、リスク要因データベース４２に書き込む。
以上により、スイッチ制御モニタ部４１は、各オーバーレイネットワークのリスク要因を抽出し、リスク要因データベース４２に書き込む。以下、リソース選択部１２は、第１の実施形態のリソース選択部１２と同様のＣＰＵ選択処理を、ネットワーク構築要求に含まれる各物理ノードについて行い、出力部１６は、第１の実施形態の出力部１６と同様に、リソース選択部１２が選択したＣＰＵを示す情報と仮想マシン名とを出力する。
【００８８】
第３の実施の形態における効果について説明する。第２の実施の形態では、各物理ノードで分散的にオーバーレイネットワーク用の転送制御機能が動作しているネットワーク環境を想定していが、第３の実施の形態では複数物理ノードの転送制御機能を集中管理的に実行するネットワーク環境に対応することが可能となる。
なお、第１の実施形態と同様、オーバーレイネットワーク管理部３がスイッチ制御モニタ部４１に代えてリスク要因抽出部を具備し、このリスク要因抽出部がリスク要因を抽出してリスク要因データベース４２に書き込むようにしてもよい。この場合も、スイッチ制御モニタ部４１を備える場合と同様、１個のオーバーレイネットワーク管理部で、全ての物理ノードについてＣＰＵの選択を行うことができる。同様に、第２の実施形態のように、オーバーレイネットワーク管理部３がスイッチ制御モニタ部４１に代えて通信モニタ部を具備し、この通信モニタ部がリスク要因を検出してリスク要因データベース４２に書き込むようにしてもよい。
【００８９】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【００９０】
本発明は、オーバーレイネットワーク管理装置、物理ノード装置、ネットワーク制御装置、オーバーレイネットワーク管理方法およびオーバーレイネットワーク管理プログラムに用いて好適である。
【符号の説明】
【００９１】
１、２、３  オーバーレイネットワーク管理部
１０、３０  入力部
１１  リスク要因抽出部
１２  リソース選択部
１３  リソース競合検索部
１４  リソース使用量算出部
１５  リソース使用量比較部
１６  出力部
１７  障害発生確率データベース
１８  障害時負荷量算出式データベース
１９  仮想マシン状態モニタ部
２０、３３、４２  リスク要因データベース
２１、３１  アンダーレイリンク検索部
２４、３４  伝送部
３２  通信モニタ部
４１  スイッチ制御モニタ部
１００、２００  物理ネットワーク
１０１〜１０５、２０１〜２０５  物理ノード
１１０，１２０、１３０  オーバーレイネットワーク
１１１〜１１４、１２１〜１２４、１３１〜１３３  仮想ノード
１６１−１〜１６１−（Ｎ＋１）、１６２−１〜１６２−Ｎ、２６１−１〜２６１−（Ｎ＋１）、２６２−１〜２６２−Ｎ  ＣＰＵ
１７１、２７１  スイッチ
１８１−１〜１８１−Ｎ、２８１−１〜２８１−Ｎ  仮想化ソフトウェア
１８２−１−１〜１８２−Ｎ−（ＭＮ＋１）、２８２−１−１〜２８２−Ｎ−（ＭＮ＋１）  仮想マシン
１８３−１−１〜１８３−Ｎ−ＭＮ、２８３−１−１〜２８３−Ｎ−ＭＮ  転送処理部
２１０  ネットワーク制御部
【図１】
2011061598.tif 000005
【図２】
2011061598.tif 000006
【図３】
2011061598.tif 000007
【図４】
2011061598.tif 000008
【図５】
2011061598.tif 000009
【図６】
2011061598.tif 000010
【図７】
2011061598.tif 000011
【図８】
2011061598.tif 000012
【図９】
2011061598.tif 000013
【図１０】
2011061598.tif 000014
【図１１】
2011061598.tif 000015
【図１２】
2011061598.tif 000016
【図１３】
2011061598.tif 000017
【図１４】
2011061598.tif 000018
【図１５】
2011061598.tif 000019
【図１６】
2011061598.tif 000020
【図１７】
2011061598.tif 000021
【図１８】
2011061598.tif 000022
【図１９】
2011061598.tif 000023
【図２０】
2011061598.tif 000024
【図２１】
2011061598.tif 000025
【図２２】
2011061598.tif 000026
【図２３】
2011061598.tif 000027
【図２４】
2011061598.tif 000028
【図２５】
2011061598.tif 000029
【図２６】
2011061598.tif 000030
【図２７】
2011061598.tif 000031
【図２８】
2011061598.tif 000032
【図２９】
2011061598.tif 000033
【図３０】
2011061598.tif 000034