(57)【要約】  管理装置（ｍ１）のオーバーレイネットワーク構築部（ｍ１１）は、管理対象のネットワークに対してオーバーレイネットワークを構築する。予兆監視部（ｍ１４）は、管理対象装置のハードウェア、例えばファン、メモリ、ＣＰＵ、電源などの動作状態を監視し、故障の予兆を検知する。ゲスト移動部（ｍ１５）は、予兆監視部（ｍ１４）が障害の予兆を検知した場合に、管理対象装置が実行している処理をオーバーレイネットワーク上の他のノードに移動させる。ゲスト呼び戻し部（ｍ１６）は、管理対象装置から他のノードに移動した処理があるかを管理対象装置の起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから移動した処理を呼び戻す。
2012004872.tif 000002
【特許請求の範囲】
【請求項１】
管理対象のネットワークのノードである管理対象装置の動作状態を監視する監視部と、
前記監視部による監視の結果、障害の予兆を検知した場合に、前記管理対象装置が実行している処理をネットワーク上の他のノードに移動させる移動部と、
前記管理対象装置から他のノードに移動した処理があるかを前記管理対象装置の起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから前記移動した処理を移動する呼び戻し部と、
を備えたことを特徴とする管理装置。
【請求項２】
前記管理対象装置が実行している処理の情報を前記管理対象装置とは異なる記録装置に記録する管理情報作成部を更に有し、前記呼び戻し部は、前記記録装置を参照して前記管理対象装置から他のノードに移動した処理があるかを判定することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記移動部は、前記管理対象装置と同一の管理範囲に属するノードを移動先として選択することを特徴とする請求項１または２に記載の管理装置。
【請求項４】
管理対象のネットワークのノードであるコンピュータ上で動作する管理プログラムであって、
前記コンピュータから他のノードに移動した処理があるかを起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから前記移動した処理を呼び戻す呼び戻し手順と、
前記コンピュータの動作状態を監視する監視手順と、
前記監視の結果、障害の予兆を検知した場合に、前記コンピュータが実行している処理をネットワーク上の他のノードに移動させる移動手順と、
をコンピュータに実行させることを特徴とする管理プログラム。
【請求項５】
前記呼び戻し手順は、自プログラムが動作するコンピュータ上で動作する他のノードを前記移動および呼び戻しの対象とすることを特徴とする請求項４に記載の管理プログラム。
【請求項６】
管理対象のネットワークのノードであるコンピュータの動作状態を監視して障害の予兆を検知する予兆監視手順と、
前記コンピュータ上で動作する処理毎にキーを算出し、前記コンピュータ上で動作する処理についてセルフノードテーブルを生成する手順と、
前記キーに応じて所定のルールにて定められた前記ネットワーク上のノードにキーと対応する処理の情報の組み合わせを有するハッシュテーブルを生成する手順と、
前記予兆監視手順による監視の結果、前記コンピュータの故障の予兆を検知した場合に、前記コンピュータ上で動作する処理を前記ネットワーク上の他のノードに移動させて前記ハッシュテーブルを更新する予兆検知時移動手順と、
前記コンピュータの起動時に、前記セルフノードテーブルのキーから該キーのハッシュテーブルを持つノードを特定し、該ハッシュテーブルから移動先ノードを抽出する手順と、
前記移動先ノードに移動した処理を前記コンピュータに移動させる呼び戻し手順と、
をコンピュータに実行させることを特徴とする管理プログラム。
【請求項７】
管理対象のネットワークを管理する管理方法であって、
前記ネットワークのノードから他のノードに移動した処理があるかを前記ノードの起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから前記移動した処理を呼び戻す呼び戻しステップと、
前記ノードの動作状態を監視する監視ステップと、
前記監視の結果、障害の予兆を検知した場合に、前記ノードが実行している処理を前記ネットワーク上の他のノードに移動させる移動ステップと、
を含んだことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの管理装置、管理プログラムおよび管理方法に関する。
【背景技術】
【０００２】
従来、大規模データセンタ等の分散コンピュータシステムのような大規模システムでは、処理を担当するハーウェアを交代させる、すなわち処理を異なるハードウェアに移動させることで、システムの可用性を高めていた。一例として、ハードウェア上でＶＭ（Virtual  Machines）ホストを動作させ、このＶＭホスト上でＶＭゲストを動作させる技術が知られている。【０００３】
ＶＭホストは、他のコンピュータシステムの動作環境を仮想的に実現するプログラムである。ＶＭゲストは、ＶＭホストによって提供された環境で仮想マシンとして動作し、ユーザに提供される処理を担う。ＶＭゲストは異なるＶＭホストに移動しても処理を継続することができる。【０００４】
そこで、従来、ＶＭホストが動作するコンピュータの障害の発生やその予兆を検知する技術、また仮想マシンのゲストを異なるホストに移動させる技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２０１４３３号公報
【特許文献２】特開２００７−２３３６８７号公報
【特許文献３】特表２００７−５３６６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、ＶＭホストが動作するコンピュータに障害が発生し、ＶＭゲストが他のＶＭホストに移動することを繰り返すと、ＶＭゲストが本来動作していたＶＭホストがどれであったか認識をするのが困難であった。そして、ＶＭゲストが本来動作していたＶＭホストが認識できなくなると、元のＶＭホストに呼び戻すことができないという問題点があった。【０００７】
移動したVMゲストを本来のホストに戻すことができないと、ＶＭホストとＶＭゲストとの関係はシステムの稼働に伴って無作為に変化することとなり、ハードウェアを意図したとおりに使用することができない。【０００８】
開示の技術は、上記に鑑みてなされたものであって、移動したＶＭゲストを本来動作していたＶＭホストに戻すことを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する管理装置、管理プログラムおよび管理方法は、管理対象のネットワークのノードである管理対象装置の動作状態を監視し、障害の予兆を検知した場合に、管理対象装置が実行している処理をネットワーク上の他のノードに移動させる。また、開示の装置、方法、プログラムは、管理対象装置から他のノードに移動した処理があるかを管理対象装置の起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから前記移動した処理を呼び戻す。
【発明の効果】
【００１０】
本願の開示する管理装置、管理プログラムおよび管理方法によれば、移動したVMゲストを本来動作していたVMホストに戻すことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係るネットワークの説明図である。
【図２】図２は、本実施例にかかる管理装置の構成図である。
【図３】図３は、管理プログラムによる実施についての説明図である。
【図４】図４は、サーバのハードウェアと管理プログラムの関係についての説明図である。
【図５】図５は、オーバーレイネットワークの説明図である。
【図６】図６は、ハッシュテーブルの定義の具体例についての説明図である。
【図７】図７は、図1に示したセルフノードテーブルｔ２の具体例を示す図である。
【図８】図８は、図1に示したドメインテーブルｔ3の具体例を示す図である
【図９】図９は、図１に示したノード管理テーブルｔ４の具体例を示す図である。
【図１０】図１０は、図１に示したルーティングテーブルｔ５の具体例を示す図である。
【図１１】図１１は、ＶＭゲストの移動について説明するフローチャートである。
【図１２】図１２は、ＶＭホスト立ち上げ時の処理動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるネットワークの管理装置、管理プログラムおよび管理方法の実施例を図面に基づいて詳細に説明する。なお、本実施例は開示の技術を限定するものではない。
【実施例】
【００１３】
図１は、本実施例に係るネットワークの説明図であり、図２は、本実施例にかかる管理装置の構成図である。図１に示したように、管理対象装置ｎ１〜４は、ネットワークを介して接続されている。このネットワークが監視対象のネットワークとなる。【００１４】
管理対象装置ｎ１には、監視装置ｍ１が接続され、管理対象装置ｎ２には、監視装置ｍ２が接続され、管理対象装置ｎ３には、監視装置ｍ３が接続されている。監視装置ｍ１〜４は、監視対象装置ｎ１〜４のネットワークインタフェースを利用して、監視対象装置ｎ１〜４が属するネットワークに対してオーバーレイネットワークを構築する。監視装置ｍ１〜４は、このオーバーレイネットワークのノードとして機能し、互いに通信可能である。【００１５】
管理装置ｍ１〜４は、同一の構成を有するので、以降の説明では管理装置ｍ１を例に説明を行なう。管理装置ｍ１は、予兆監視部ｍ１４、ゲスト移動部ｍ１５、ゲスト呼び戻し部ｍ１６を有する。予兆監視部ｍ１４は、管理対象装置ｎ１の故障の予兆を監視する。ゲスト移動部ｍ１５は、管理対象装置ｎ１の故障の予兆が検知された場合に、管理対象装置ｎ１で動作している処理を他の管理対象装置に移動させる。ゲスト呼び戻し部ｍ１６は、管理対象装置ｎ１から他の管理対象装置に移動した処理を必要に応じて呼び戻す処理を行なう。【００１６】
図２に示したように、管理装置ｍ１は、予兆監視部ｍ１４、ゲスト移動部ｍ１５、ゲスト呼び戻し部ｍ１６に加え、オーバーレイネットワーク構築部ｍ１１、管理対象検索部ｍ１２、管理情報作成部ｍ１３を有する。また、管理装置ｍ１は、ＳＡＮ（Storage  Area  Network）と接続し、ＳＡＮに後述する各種情報を保持させる。【００１７】
オーバーレイネットワーク構築部ｍ１１は、管理対象のネットワークに対してオーバーレイネットワークを構築する処理部であり、通信処理部ｍ２１、ハッシュ処理部ｍ２２、情報取得部ｍ２３、通知部ｍ２４を有する。【００１８】
通信処理部ｍ２１は、管理対象装置ｎ１がノードとして参加するネットワーク上の他のノードと通信する処理を行なう。ハッシュ処理部ｍ２２は、通信処理部ｍ２１が他のノードから取得した情報や管理対象装置の情報からハッシュ値を求め、得られたハッシュ値をオーバーレイネットワークのキーとする。情報取得部ｍ２２は、通信処理部ｍ２１を介してオーバーレイネットワークの他のノードから情報を取得する処理部である。通知部ｍ２４は、通信処理部ｍ２１を介してオーバーレイネットワークの他のノードに対して情報を通知する処理部である。【００１９】
管理対象検索部ｍ１２は、オーバーレイネットワーク構築部ｍ１１が構築したオーバーレイネットワークから、管理装置ｍ１が直接接続された管理対象装置ｍ１を自ノードとし、自ノードと同一の管理範囲（ドメイン）に属するノードを検索する処理を行なう。【００２０】
管理情報作成部ｍ１３は、管理対象検索部ｍ１２による検索によって得られたノードを管理対象ノードとする管理情報を作成する。【００２１】
予兆監視部ｍ１４は、管理対象装置ｎ１のハードウェア、例えばファン、メモリ、ＣＰＵ（Central  Processing  Unit）、電源などの動作状態を監視し、故障の予兆を検知する。【００２２】
ゲスト移動部ｍ１５は、予兆監視部ｍ１４が障害の予兆を検知した場合に、管理対象装置ｎ１が実行している処理をオーバーレイネットワーク上の他のノードに移動させる。【００２３】
ゲスト呼び戻し部ｍ１６は、管理対象装置ｎ１から他のノードに移動した処理があるかを管理対象装置ｎ１の起動時に判定し、他のノードに移動した処理がある場合には移動先のノードから移動した処理を呼び戻す。【００２４】
管理装置ｍ１は、管理対象装置ｎ１であるコンピュータ上で動作する管理プログラムとして実施することが好適である。図３に示した例では、ドメインＡとドメインＢにそれぞれ３つのサーバが含まれており、ドメインＡとドメインＢとの間は通信可能である。【００２５】
ドメインＡのサーバのうち１つでは、他のコンピュータシステムの動作環境を仮想的に実現するＶＭ（Virtual  Machines）ホストプログラムが動作している。そして、ＶＭホストプログラム上に４つのＶＭゲストプログラムが動作している。このサーバでは、ＶＭホストプログラム上で運用管理プログラムがさらに動作している。ＶＭホストプログラム上で動作する運用管理プログラムは、サーバを管理装置として機能させる。この運用管理プログラムの管理対象装置は、サーバ自体とサーバ上で動作するＶＭホストプログラム、ＶＭゲストプログラムである。【００２６】
また、ドメインＡのサーバのうち１つでは、ＯＳ（Operating  System）が動作し、ＯＳ上で運用管理プログラムが動作している。そして、このサーバにはスイッチとルータが接続されている。このサーバのＯＳ上で動作する運用管理プログラムは、サーバを管理装置として機能させる。この運用管理プログラムの管理対象装置は、サーバ自体とサーバに接続されたスイッチおよびルータである。【００２７】
また、ドメインＡのサーバのうち１つでは、ＯＳ（Operating  System）が動作し、ＯＳ上で運用管理プログラムが動作している。そして、このサーバにはストレージが接続されている。このサーバのＯＳ上で動作する運用管理プログラムは、サーバを管理装置として機能させる。この運用管理プログラムの管理対象装置は、サーバ自体とサーバに接続されたストレージである。【００２８】
ドメインＡと同様にドメインＢに含まれる３つのサーバについても、サーバ上のＶＭホストプログラムやＯＳ上でそれぞれ運用管理プログラムが動作し、各サーバを管理装置として機能させる。このため、各サーバ、各サーバ上で動作する各種プログラム、各サーバに接続されたハードウェアは、対応するサーバ上で動作する運用管理プログラムによって管理される。【００２９】
各サーバ上の運用管理プログラムは、互いに通信し、オーバーレイネットワークを構築する。加えて、運用管理プログラムは、自らが属するドメイン内の他のノードについて情報を収集し、管理情報を作成することができる。なお、運用管理プログラムは、ドメインＡとドメインＢの双方からアクセス可能な端末から取得することができる。【００３０】
図４は、サーバのハードウェアと管理プログラムの関係についての説明図である。管理プログラムＰｇ１０は、サーバ内部のＨＤＤ（Hard  disk  drive）Ｐ１３に格納される。管理プログラムＰｇ１０は、オーバーレイネットワーク構築部としての動作を記述されたオーバーレイネットワーク構築プロセスＰｇ１１、管理対象検索部としての動作を記述された管理対象検索プロセスＰｇ１２、管理情報作成部としての動作を記述された管理情報作成プロセスＰｇ１３、予兆監視部としての動作を記述された予兆監視プロセスＰｇ１４、ゲスト移動部としての動作を記述されたゲスト移動プロセスＰｇ１５、ゲスト呼び戻し部としての動作を記述されたゲスト呼び戻しプロセスＰｇ１６を含む。【００３１】
サーバが起動すると、管理プログラムＰｇ１０はＨＤＤｐ１３から読み出され、メモリｐ１２に展開される。そして、ＣＰＵ（Central  Processing  Unit）ｐ１１がメモリに展開されたプログラムを順次実行することで、サーバを管理装置として機能させる。この時、管理装置におけるオーバーレイネットワークのインタフェースとしては、サーバの通信インタフェースｐ１４を使用する。【００３２】
図５は、オーバーレイネットワークの説明図である。管理装置もしくは管理プログラムは、起動するとオーバーレイネットワークを形成する。オーバーレイネットワーク構築部ｍ１１が、例えば、DHT（分散ハッシュテーブル）アルゴリズムのChordを用いた場合、図５に示したような環状のオーバーレイネットワークが形成される。【００３３】
DHTでは、キー（Key）とバリュー（Value）のペアが、オーバーレイネットワークに参加する各ノードで分散して保持される。Chordの場合は、SHA（Secure  Hash  Algorithm）-1でハッシュした値をキーに用いる。各キーは自分のキーより大きい値のキーを持ち、管理プログラムが動作している最初のノードに格納される。【００３４】
図５の例では、ｖｍｈｏｓｔ２のキーが１、ｄｏｍａｉｎ１のキーが５、ｓｅｒｖｅｒ１のキーが１５、ｓｅｒｖｅｒ２のキーが２０、ｇｒｏｕｐ１のキーが３２、ｕｓｅｒ１のキーが４０、ｖｍｇｕｅｓｔ１１のキーが５５である。同様に、ｓｅｒｖｅｒ３のキーが６６、ｖｍｇｕｅｓｔ１２のキーが７０、ｖｍｈｏｓｔ３のキーが７５、ｖｍｇｕｅｓｔ１３のキーが８５、ｖｍｇｕｅｓｔ１４のキーが９０である。そして、ｖｍｈｏｓｔ１のキーが１００、ｓｗｉｔｃｈ１のキーが１１０、ｓｔｏｒａｇｅ１のキーが１１５、ｖｍｇｕｅｓｔ２１のキーが１２０である。【００３５】
ここで、ｖｍｈｏｓｔ１〜３、ｓｅｒｖｅｒ１〜３は、ｄｏｍａｉｎ１に属し、管理プログラムが実行されたノードであり、図５において黒い円形記号で示している。また、ｄｏｍａｉｎ１に属するｖｍｇｕｅｔ、ｓｔｏｒａｇｅ、ｓｗｉｃｈなどについては、図５において二重円形記号で示している。加えて、図５では、ｄｏｍａｉｎ２に属するノード（キーが４，３３，３６のノード）については、網掛けの円形記号で示している。【００３６】
既に述べたように、キーとValueのペアは自分のキーより大きい値のキーを持ち、管理プログラムが動作している最初のノードに格納されるので、Key  40,  55  は、Key  =  66  のノードに格納される。【００３７】
また、Chordの場合、各ノードは、直前のノードと、直後のノード及び(自ノードkey+2^(x-1))  mod  (2^k)  (xは1からkの自然数、kはkeyのビット数)  のノードの情報をルーティング情報として保持している。具体的には、1,2,4,8,16,32,64,128…というように離散したノードの情報を持つ。【００３８】
これによって、Chord  DHTでは、各ノードがKeyに対するValueを、Keyより大きい最初のKeyを持つノードに保持させ、更にKeyに対応するValueを、Keyより大きい最初のKeyを持つノードから取得することが可能になる。【００３９】
図６は、DHT（分散ハッシュテーブル）の定義の具体例についての説明図である。このDHTは、図１のSANにおけるハッシュテーブルｔ１に相当する。【００４０】
図６ではハッシュするキーとしてノード名を用い、キーに対応するValueを示している。【００４１】
サーバについては、サーバ名をSHA-1でハッシュしてKeyとする。そして、サーバであることを示すタグ「server」、サーバ名、サーバ名から求めたkey、サーバが有するＩＰアドレスの一覧（ＩＰリスト）、サーバが有するWWNの一覧（ＷＷＮリスト）、管理ノードとして機能しているかを示すmanager-flag、サーバの属するドメインとドメインのキーのリスト、をValue  として有する。【００４２】
ＶＭホストについては、VMホスト名をSHA-1でハッシュしてKeyとする。そして、ＶＭホストであることを示すタグ「vmhost」、VMホスト名、ＶＭホスト名から求めたkey、ＶＭホストのＩＰリスト、ＶＭホストの属するドメインとドメインのキーのリスト、ＶＭホスト上で動作するVMゲストのリスト、をValue  として有する。【００４３】
ＶＭゲストについては、VMゲスト名をSHA-1でハッシュしてKeyとする。そして、ＶＭホストであることを示すタグ「vmguest」、ＶＭゲスト名、ＶＭゲスト名から求めたkey、ＶＭゲストのＩＰリスト、ＶＭゲストが動作しているＶＭホストの名前とｋｅｙ、をValue  として有する。【００４４】
スイッチについては、スイッチ名をSHA-1でハッシュしてKeyとする。そして、スイッチであることを示すタグ「switch」、スイッチ名、スイッチ名から求めたkey、スイッチのＩＰリスト、スイッチの属するドメインとドメインのキーのリスト、をValue  として有する。【００４５】
ストレージについては、ストレージ名をSHA-1でハッシュしてKeyとする。そして、ストレージであることを示すタグ「storage」、ストレージ名、ストレージ名から求めたkey、ストレージのＩＰリスト、ストレージのWWNリスト、ストレージの属するドメインとドメインのキーのリスト、をValue  として有する。【００４６】
ユーザについては、ユーザ名をSHA-1でハッシュしてKeyとする。そして、ユーザであることを示すタグ「user」、ユーザ名、ユーザ名から求めたkey、ユーザの属するグループ名とグループのkeyのリスト、をValue  として有する。【００４７】
グループについては、グループ名をSHA-1でハッシュしてKeyとする。そして、グループであることを示すタグ「group」、グループ名、グループ名から求めたkey、グループに属するユーザ名とkeyのリスト、をValue  として有する。【００４８】
ドメインについては、ドメイン名をSHA-1でハッシュしてKeyとする。そして、ドメインであることを示すタグ「domain」、ドメイン名、ドメイン名から求めたkey、ドメインの管理装置のキーのリスト、をValue  として有する。【００４９】
図７は、図1に示したセルフノードテーブルｔ２の具体例である。セルフノードテーブルは、管理プログラムが動作するサーバ上のノード、すなわちサーバ自体、サーバ上で動作するＶＭホスト、ＶＭゲストなどの情報を登録したテーブルである。図７は、ｖｍｇｕｅｓｔ１１〜１４とともに、ｖｍｈｏｓｔ１上で動作する管理プログラムが作成したセルフノードテーブルを示している。セルフノードテーブルには、種別、ノード名、key、IP、WWNの項目を有する。【００５０】
図７の例では、種別がvmhost、ノード名がvmhost1.domain1.company.com、keyが100、IPが10.20.30.40、WWNが10:00:00:60:69:00:23:74のエントリが登録されている。また、種別がvmguest、ノード名がvmguest11.domain1.company.com、keyが55、IPが10.20.30.41、WWNがnullのエントリが登録されている。【００５１】
同様に、種別がvmguest、ノード名がvmguest12.domain1.company.com、keyが70、IPが10.20.30.42、WWNがnullのエントリが登録されている。そして、種別がvmguest、ノード名がvmguest13.domain1.company.com、keyが85、IPが10.20.30.43、WWNがnullのエントリと、種別がvmguest、ノード名がvmguest14.domain1.company.com、keyが90、IPが10.20.30.44、WWNがnullのエントリが登録されている。【００５２】
図8は、図1に示したドメインテーブルｔ3の具体例である。各管理装置や管理プログラムは、自ノードが属するドメインのドメイン名をＳＨＡ−１でハッシュしてkeyを求め、ドメインテーブルｔ３に登録する。また、ドメインテーブルｔ3には、ドメイン名とドメインのkeyの他、ドメインの管理を行なうマネージャのkeyを登録する。管理プログラムが動作するノードであれば、任意ノードがマネージャとしてノードの管理を行なうことができ、ドメイン内に複数のマネージャが存在してもよい。【００５３】
図９は、図１に示したノード管理テーブルｔ４の具体例である。ノード管理テーブルｔ４は、ドメイン内のノードを管理するマネージャとして動作する管理装置や管理プログラムが作成する管理情報であり、自ノードと同一ドメインに属する全てのノードの情報である。【００５４】
図９のノード管理テーブルｔ４は、図５に示したオーバーレイネットワークのうちｄｏｍａｉｎ１を管理するマネージャが作成し、保持するテーブルを示している。【００５５】
図９に示したノード管理テーブルｔ４は、種別、ノード名、key、Domain  key、Manager  Flag、Managed  Flagの項目を有する。Manager  Flagは、そのノードがマネージャである場合にtrue、マネージャではない場合にfalseの値をとる。Managed  Flagは、そのノードが管理されている場合にtrue、管理されていない場合にfalseの値をとる。【００５６】
具体的には、図９に示したノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost2.domain1.company.com、Keyが1、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrueのエントリを有する。【００５７】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver1.domain1.company.com、Keyが15、Domain  Keyが5、Manager  Flagがtrue、Managed  Flagがtrueのエントリを有する。【００５８】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver2.domain1.company.com、Keyが20、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrueのエントリを有する。【００５９】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest11.domain1.company.com、Keyが55、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６０】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver3.domain1.company.com、Keyが66、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６１】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest12.domain1.company.com、Keyが70、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６２】
また、ノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost3.domain1.company.com、Keyが75、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６３】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest13.domain1.company.com、Keyが85、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６４】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest14.domain1.company.com、Keyが90、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６５】
また、ノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost1.domain1.company.com、Keyが100、Domain  Keyが5、Manager  Flagがtrue、Managed  Flagがtrue、のエントリを有する。【００６６】
また、ノード管理テーブルｔ４は、種別がswitch、ノード名がswitch1.domain1.company.com、Keyが110、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６７】
また、ノード管理テーブルｔ４は、種別がstorage、ノード名がstorage1.domain1.company.com、Keyが115、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６８】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest21.domain1.company.com、Keyが120、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、のエントリを有する。【００６９】
このように、ノード管理テーブルｔ４は、ドメイン１に属するノードを管理するテーブルであるので、ドメイン２に属するノードについては登録されていない。【００７０】
図１０は、図１に示したルーティングテーブルｔ５の具体例である。ルーティングテーブルｔ５は、各管理装置や管理プログラムがオーバーレイネットワークにおけるルーティングに用いるテーブルである。【００７１】
図１０に示した例では、ルーティングテーブルｔ５は、最終的な宛先である目的地のキーを示すdistance、目的地のノード名、目的地と通信する場合のルーティング先を示す宛先のキーであるDestination  Key、ルーティング先のＩＰアドレスであるDestination  IPの項目を有する。【００７２】
図１０は、キー１００のノードが用いるルーティングテーブルの具体例である。図１０のルーティングテーブルｔ５は、distanceが1、ノード名がvmhost1.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1、distanceが2、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1の項目を有する。【００７３】
また、ルーティングテーブルｔ５は、distanceが3、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００７４】
また、ルーティングテーブルｔ５は、distanceが5、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００７５】
また、ルーティングテーブルｔ５は、distanceが9、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００７６】
また、ルーティングテーブルｔ５は、distanceが17、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００７７】
また、ルーティングテーブルｔ５は、distanceが33、ノード名がnode1.domain2.company.com、Destination  Keyが4、Destination  IPがa4.b4.c4.d4の項目を有する。【００７８】
また、ルーティングテーブルｔ５は、distanceが65、ノード名がnode3.domain2.company.com、Destination  Keyが36、Destination  IPがa36.b36.c36.d36の項目を有する。【００７９】
このように、ルーティングテーブルｔ５は、ドメイン１に属するノード(key:1,2,3,5,9,17)が目的地である場合にはKey1（IP:a1.b1.c1.d1）にルーティングすることを規定している。また、ルーティングテーブルｔ５は、ドメイン１に属するノードkey:33が目的地である場合にはKey4（IP:a4.b4.c4.d4）にルーティングし、ドメイン２に属するノードkey:65が目的地である場合にはKey36（IP:a36.b36.c36.d36）にルーティングすることを規定している。【００８０】
図１１は、ＶＭゲストの移動について説明するフローチャートである。ＶＭホストの動作中、ＶＭホスト上で動作する管理プログラムは、予兆監視プロセスpg１４によってハードウェアの状態を監視する（Ｓ１０１）。【００８１】
予兆監視プロセスpg１４がファン、メモリ、ＣＰＵ、電源などのハードウェアの動作状態について故障の前兆である警告情報を検知した場合（Ｓ１０２，Ｙｅｓ）、ゲスト移動プロセスpg１５は、ハッシュテーブルｔ１から他のＶＭホストを検索する（Ｓ１０３）。このとき、検索するＶＭホストは、同一ドメイン、すなわち同一の管理範囲に属するＶＭホストであることが望ましい。【００８２】
他のＶＭホストが見つかった場合（Ｓ１０４，Ｙｅｓ）、ゲスト移動プロセスpg１５は、そのＶＭホストと通信し、自ホストのＶＭゲストを移動させることができるキャパシティを持つＶＭホストかどうか確認する（Ｓ１０５）。他のＶＭホストが見つからない場合（Ｓ１０４，Ｎｏ）、また他のＶＭゲストホストが見つかっても十分なキャパシティを持たない場合（Ｓ１０５，Ｎｏ）には、そのまま処理を終了する。【００８３】
図１２は、サーバ起動におけるＶＭホスト立ち上げ時の処理動作を説明するフローチャートである。警告の原因を取り除いて立ち上げられたＶＭホストは、管理プログラムを起動する（Ｓ２０１）。管理プログラムのゲスト呼び戻しプロセスpg１６は、ＳＡＮのセルフノードテーブルｔ２を参照し、このＶＭホストで作成されたＶＭゲスト情報を読む（Ｓ２０２）。セルフノードテーブル以外については、立ち上げ時に情報を収集し、新しくテーブルを生成する。【００８４】
セルフノードテーブルｔ２にＶＭゲスト情報がない場合（Ｓ２０３，Ｎｏ）、ゲスト呼び戻しプロセスpg１６は、そのまま処理を終了する。一方、セルフノードテーブルｔ２にＶＭゲスト情報がある場合（Ｓ２０３，Ｙｅｓ）、ゲスト呼び戻しプロセスpg１６は、ハッシュテーブルｔ１からそのＶＭゲストの情報を検索し（Ｓ２０４）、現在どのＶＭホストで動作しているか特定する（Ｓ２０５）。この特定は、セルフノードテーブルｔ２のVMゲストのKeyからハッシュテーブルを持つノードを算出し、ＶＭゲストのハッシュテーブルのvalueからVMホストを特定すればよい。【００８５】
ゲスト呼び戻しプロセスpg１６は、現在ＶＭゲストが動作している移動先のＶＭホスト上の運用管理プログラムと通信し、ＶＭゲストを移動可能か問い合わせる（Ｓ２０６）。【００８６】
問い合わせの結果、移動可能であれば（Ｓ２０７，Ｙｅｓ）、ゲスト呼び戻しプロセスpg１６はＶＭゲストを元のＶＭホストへ移動させ、（Ｓ２０８）、ハッシュテーブルを変更して処理を終了する。【００８７】
また、問い合わせの結果、移動ができなければ（Ｓ２０７，Ｎｏ）、ゲスト呼び戻しプロセスpg１６はステップＳ２０６に戻り、呼び戻し先ＶＭホストに定期的に問い合わせる。なお、呼び戻し先ＶＭホストが呼び戻し可能な状態になった場合に、呼び戻し元ＶＭホストへ通知するようにしてもよい。【００８８】
このように、ＶＭゲストの移動が発生した場合には、ハッシュテーブルｔ１が書き換えられるため、ＶＭゲストがどのＶＭホストで動作しているかを知ることができる。一方でセルフノードテーブルｔ２は、ＶＭゲストの移動によっては書き換えられず、そのＶＭホストで動作していた本来のＶＭゲストを示す。加えて、セルフノードテーブルｔ２は、ＳＡＮに保持されることから、ＶＭホストに発生した障害やＶＭホストの再起動などによって情報が失われることがない。【００８９】
したがって、ＶＭゲストの移動先のＶＭホストでさらに異常が発生し、ＶＭゲストの移動が繰り返された場合であっても、ＶＭゲストの移動の軌跡を追うことなく、ＶＭゲストの呼び戻しを速やかに且つ確実に行なうことができる。【００９０】
上述したように、本実施例にかかる管理装置、管理プログラムおよび管理方法は、管理対象のネットワークのノードである管理対象装置の動作状態を監視し、障害の予兆を検知した場合に、管理対象装置が実行している処理を他のノードに移動させる。そして、管理対象装置の起動時に他のノードに移動した処理があるかを判定し、移動した処理を呼び戻す。このため、移動した処理を確実に呼び戻すことができる。
【符号の説明】
【００９１】
ｍ１  管理装置
ｍ１１  オーバーレイネットワーク構築部
ｍ１２  管理対象検索部
ｍ１３  管理情報作成部
ｍ１４  予兆監視部
ｍ１５  ゲスト移動部
ｍ１６  ゲスト呼び戻し部
ｍ２１  通信処理部
ｍ２２  ハッシュ処理部
ｍ２３  情報取得部
ｍ２４  通知部
ｔ１  ハッシュテーブル
ｔ２  セルフノードテーブル
ｔ３  ドメインテーブル
ｔ４  ノード管理テーブル
ｔ５  ルーティングテーブル
ｐ１１  ＣＰＵ
ｐ１２  メモリ
ｐ１３  ＨＤＤ
ｐ１４  通信インタフェース
ｐｇ１０  管理プログラム
ｐｇ１１  オーバーレイネットワーク構築プロセス
ｐｇ１２  管理対象検索プロセス
ｐｇ１３  管理情報作成プロセス
ｐｇ１４  予兆監視プロセス
ｐｇ１５  ゲスト移動プロセス
ｐｇ１６  ゲスト呼び戻しプロセス
【図１】
2012004872.tif 000003
【図２】
2012004872.tif 000004
【図３】
2012004872.tif 000005
【図４】
2012004872.tif 000006
【図５】
2012004872.tif 000007
【図６】
2012004872.tif 000008
【図７】
2012004872.tif 000009
【図８】
2012004872.tif 000010
【図９】
2012004872.tif 000011
【図１０】
2012004872.tif 000012
【図１１】
2012004872.tif 000013
【図１２】
2012004872.tif 000014
【国際調査報告】
2012004872.tif 000015
2012004872.tif 000016
2012004872.tif 000017
2012004872.tif 000018