(57)【特許請求の範囲】
【請求項１】
コンピュータに、
定期的または不定期に、監視対象となる仮想マシンがサーバ間で移行可能であるサーバ群に含まれる各々のサーバ上で動作している仮想マシンの識別情報を取得し、
前記サーバ群のうちのサーバ間の接続関係を表す接続情報を参照して、前記サーバ群に含まれるいずれかのサーバと接続関係を有する他のサーバを検出し、
取得した前記仮想マシンの識別情報の中に、前記いずれかのサーバから前回取得した仮想マシンの識別情報が含まれていない場合、前記いずれかのサーバ上で動作していた当該仮想マシンの状態が異常であることを示す状態情報を、当該仮想マシンの識別情報、前記いずれかのサーバの識別情報、および、前記いずれかのサーバと接続関係を有する他のサーバの識別情報と関連付けて出力する、
処理を実行させることを特徴とする監視プログラム。
【請求項２】
前記コンピュータに、
前記監視対象となる仮想マシンの識別情報と前記監視対象となる仮想マシンの種別とを対応付けて記憶する記憶部を参照して、前記各々のサーバから取得した前記仮想マシンの識別情報に対応する前記仮想マシンの種別を特定し、
前記出力する処理は、
さらに、前記いずれかのサーバ上で動作していた前記仮想マシンの種別を関連付けて出力することを特徴とする請求項１に記載の監視プログラム。
【請求項３】
前記出力する処理は、
前記いずれかのサーバ上で動作していた前記仮想マシンの種別がネットワーク機器を表す種別の場合に、さらに、前記いずれかのサーバと接続関係を有する他のサーバの識別情報を関連付けて出力することを特徴とする請求項２に記載の監視プログラム。
【請求項４】
前記コンピュータに、
取得した前記仮想マシンの識別情報の中に、前記いずれかのサーバから前回取得した仮想マシンの識別情報が含まれていない場合、前記いずれかのサーバ上で動作していた前記仮想マシンの状態が異常であることを示す状態情報と、当該仮想マシンの識別情報と、前記いずれかのサーバの識別情報と、前記いずれかのサーバと接続関係を有する他のサーバの識別情報とを対応付けて前記記憶部に記憶する処理を実行させ、
前記出力する処理は、
前記いずれかのサーバ上で動作していた前記仮想マシンに関する情報の出力要求を受け付けた場合に、前記記憶部に対応付けて記憶されている当該仮想マシンの状態が異常であることを示す状態情報と、当該仮想マシンの識別情報と、前記いずれかのサーバの識別情報と、前記いずれかのサーバと接続関係を有する他のサーバの識別情報とを出力することを特徴とする請求項３に記載の監視プログラム。
【請求項５】
コンピュータが、
定期的または不定期に、監視対象となる仮想マシンがサーバ間で移行可能であるサーバ群に含まれる各々のサーバ上で動作している仮想マシンの識別情報を取得し、
前記サーバ群のうちのサーバ間の接続関係を表す接続情報を参照して、前記サーバ群に含まれるいずれかのサーバと接続関係を有する他のサーバを検出し、
取得した前記仮想マシンの識別情報の中に、前記いずれかのサーバから前回取得した仮想マシンの識別情報が含まれていない場合、前記いずれかのサーバ上で動作していた当該仮想マシンの状態が異常であることを示す状態情報を、当該仮想マシンの識別情報、前記いずれかのサーバの識別情報、および、前記いずれかのサーバと接続関係を有する他のサーバの識別情報と関連付けて出力する、
処理を実行することを特徴とする監視方法。
【請求項６】
定期的または不定期に、監視対象となる仮想マシンがサーバ間で移行可能であるサーバ群に含まれる各々のサーバ上で動作している仮想マシンの識別情報を取得し、
前記サーバ群のうちのサーバ間の接続関係を表す接続情報を参照して、前記サーバ群に含まれるいずれかのサーバと接続関係を有する他のサーバを検出し、
取得した前記仮想マシンの識別情報の中に、前記いずれかのサーバから前回取得した仮想マシンの識別情報が含まれていない場合、前記いずれかのサーバ上で動作していた当該仮想マシンの状態が異常であることを示す状態情報を、当該仮想マシンの識別情報、前記いずれかのサーバの識別情報、および、前記いずれかのサーバと接続関係を有する他のサーバの識別情報と関連付けて出力する、
制御部を備えることを特徴とする監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視プログラム、監視方法および監視装置に関する。
【背景技術】
【０００２】
従来、ＩＴシステム（Ｉｎｆｏｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  ｓｙｓｔｅｍ）において、仮想ファイアウォール、仮想ルータ、仮想ロードバランサなどの仮想ネットワーク機器は、物理的なネットワーク機器として認識されて管理されている。【０００３】
関連する先行技術としては、例えば、仮想化コンピュータからの障害イベント発生の通知を受け、この障害イベント内容に応じて障害が影響する可能性がある仮想マシンを特定するシステムがある。また、１個の送信機からの送信信号を複数の受信機に伝送するマルチキャスト型のネットワークの管理を行う技術がある。また、仮想環境内のデバイスドライバが、レガシハードウェアと通信できるようにする技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９４１１号公報
【特許文献２】特開２０００−３１９６９号公報
【特許文献３】特開２００５−３２２２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、システム内のどの物理サーバ上で仮想ネットワーク機器が動作しているのかを把握することが難しいという問題がある。例えば、マイグレーションにより、物理サーバ間で仮想ネットワーク機器が移動する場合があり、仮想ネットワーク機器がどの物理サーバ上で動作しているのかを把握することが難しくなる。【０００６】
一側面では、本発明は、物理サーバ上で動作している仮想マシンの種別を特定することを目的とする。
【課題を解決するための手段】
【０００７】
発明の一側面によれば、監視対象となる仮想マシンの移行先候補となるサーバ群に含まれるサーバから、前記サーバ上で動作している仮想マシンの識別情報を取得し、前記監視対象となる仮想マシンの識別情報と前記監視対象となる仮想マシンの種別とを対応付けて記憶する記憶部を参照して、取得した前記仮想マシンの識別情報に対応する前記仮想マシンの種別を特定し、特定した前記仮想マシンの種別と前記仮想マシンの識別情報と前記サーバの識別情報とを関連付けて出力する監視プログラム、監視方法および監視装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、物理サーバ上で動作している仮想マシンの種別を特定することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１にかかる監視方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、サーバブレード上で動作する仮想マシンの動作例を示す説明図である。
【図４】図４は、監視装置１００のハードウェア構成例を示すブロック図である。
【図５】図５は、機器定義表５００の具体例を示す説明図である。
【図６】図６は、接続関係定義表６００の具体例を示す説明図である。
【図７】図７は、機器情報ＤＢ７００の記憶内容の一例を示す説明図である。
【図８】図８は、接続情報ＤＢ８００の記憶内容の一例を示す説明図である。
【図９】図９は、監視装置１００の機能的構成例を示すブロック図である。
【図１０】図１０は、ディスプレイ４０７の画面例を示す説明図（その１）である。
【図１１】図１１は、ディスプレイ４０７の画面例を示す説明図（その２）である。
【図１２】図１２は、ディスプレイ４０７の画面例を示す説明図（その３）である。
【図１３】図１３は、監視装置１００の登録処理手順の一例を示すフローチャートである。
【図１４】図１４は、監視装置１００の監視処理手順の一例を示すフローチャートである。
【図１５】図１５は、更新処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる監視プログラム、監視方法および監視装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
図１は、実施の形態１にかかる監視方法の一実施例を示す説明図である。図１において、監視装置１００は、監視対象となる仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、ＶＭ）の移行先候補となる物理サーバ群（例えば、物理サーバＭ１〜Ｍ３）にアクセス可能なコンピュータである。また、監視装置１００は、物理サーバ上で動作している仮想マシンの種別を特定する機能を有する。
【００１２】
物理サーバは、自サーバのハードウェア資源を仮想化して、複数の異なるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行可能なコンピュータである。物理サーバのハードウェア資源とは、例えば、物理サーバのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）などである。
【００１３】
具体的には、例えば、物理サーバは、自サーバのハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってＯＳを稼働させる。また、物理サーバは、自サーバ上で動作している仮想マシンを他の物理サーバに移行する機能、いわゆる、マイグレーションの機能を有する。
【００１４】
ここで、仮想マシンとは、物理サーバのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。仮想マシンの実体は、例えば、プログラムやＯＳなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。
【００１５】
また、仮想マシンの種別とは、仮想マシンがどのようなコンピュータとして動作しているかを表すものであり、例えば、仮想マシンにより実現される機能を区別するものである。仮想マシンの種別としては、例えば、仮想ネットワーク機器、仮想サーバなどがある。仮想ネットワーク機器は、例えば、仮想ファイアウォール、仮想ルータ、仮想ロードバランサなどである。
【００１６】
仮想ネットワーク機器を含むネットワークにおいて、仮想ネットワーク機器は、マイグレーションによりネットワーク内の物理サーバ間を移動する場合がある。また、仮想ネットワーク機器に障害が発生した場合、例えば、ネットワークの末端に存在する物理サーバに影響が生じる場合がある。このため、ネットワーク管理者は、仮想ネットワーク機器に障害が発生した場合に、仮想ネットワーク機器がどの物理サーバ上で動作しているのかを把握して、ネットワーク全体のどの部分に障害の影響がでるのかを判断することが重要となる。
【００１７】
実施の形態１では、監視装置１００は、物理サーバから得られる物理サーバ上で動作している仮想マシンの識別情報を手掛かりに、監視対象となる仮想マシンの識別情報と種別とを対応付けて記憶する記憶部１１０を参照して、仮想マシンの種別を特定する。これにより、ネットワーク内のどの物理サーバでどの種別の仮想マシンが動作しているのかを把握可能にする。
【００１８】
以下、監視装置１００の監視処理手順の一例について説明する。
【００１９】
（１）監視装置１００は、監視対象となる仮想マシンの移行先候補となる物理サーバ群に含まれる物理サーバから、物理サーバ上で動作している仮想マシンの識別情報を取得する。ここで、仮想マシンの識別情報は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク内の仮想マシンを識別するＩＰアドレスである。
【００２０】
図１の例では、監視装置１００により、物理サーバＭ３上で動作している仮想マシンの識別情報１２０が物理サーバＭ３から取得されている。ここでは、仮想マシンの識別情報１２０には、仮想マシンのＩＰアドレス「ＶＭ１」が含まれている。
【００２１】
（２）監視装置１００は、記憶部１１０を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定する。ここで、記憶部１１０は、監視対象となる仮想マシンの識別情報と監視対象となる仮想マシンの種別とを対応付けて記憶する記憶装置である。
【００２２】
仮想マシンの種別は、例えば、仮想マシンの識別情報に対応付けて予め定義されていてもよく、また、例えば、仮想マシンのＩＰアドレスを用いて、監視装置１００が仮想マシンに問い合わせることにより特定されることにしてもよい。図１の例では、仮想マシンの識別情報１２０に含まれる仮想マシンのＩＰアドレス「ＶＭ１」に対応する仮想マシンの種別「ネットワーク機器」が特定される。
【００２３】
（３）監視装置１００は、特定した仮想マシンの種別と仮想マシンの識別情報と物理サーバの識別情報とを関連付けて出力する。物理サーバの識別情報は、例えば、物理サーバの名前、機種名、ＩＰアドレスなどである。図１の例では、物理サーバＭ３上で動作している仮想マシンの識別情報「ＶＭ１」と仮想マシンの種別「ネットワーク機器」と物理サーバＭ３の識別情報「Ｍ３」とを関連付けて表す装置情報１３０が出力される。
【００２４】
なお、監視装置１００は、例えば、装置情報１３０を記憶部１１０に記憶することにしてもよい。この場合、監視装置１００は、仮想マシンに関する装置情報１３０の出力要求を受け付けた場合に、記憶部１１０に記憶されている装置情報１３０を出力することにしてもよい。
【００２５】
このように、実施の形態１にかかる監視装置１００によれば、物理サーバ上で動作している仮想マシンの種別を特定することができる。これにより、ネットワーク内のどの物理サーバで何の種別の仮想マシンが動作しているのかを把握可能にすることができる。
【００２６】
例えば、装置情報１３０によれば、ネットワーク管理者は、ネットワーク内の物理サーバＭ３上で種別「ネットワーク機器」の仮想マシンＶＭ１が動作していることを把握することができる。この結果、ネットワーク管理者は、例えば、仮想マシンＶＭ１に障害が発生した場合に、ネットワーク内の物理サーバ間の接続関係などを参照して、仮想マシンＭ１の障害が影響を及ぼす範囲を特定することができる。
【００２７】
（実施の形態２）
つぎに、実施の形態２にかかるシステム２００について説明する。なお、実施の形態１で説明した箇所と同様の箇所については説明を省略する。
【００２８】
図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、監視装置１００と、複数のサーバＳ（例えば、サーバＳ１〜Ｓ７）と、複数のスイッチＳＷ（例えば、スイッチＳＷ１〜ＳＷ４）と、複数のブレードサーバＢＳ（例えば、ブレードサーバＢＳ１）と、を含む。
【００２９】
システム２００において、監視装置１００、サーバＳ、スイッチＳＷおよびブレードサーバＢＳは、有線または無線のネットワーク２１０を介して通信可能に接続されている。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３０】
ここで、サーバＳは、クライアント端末（不図示）からの要求に応じてサービスを提供する物理サーバであり、例えば、ＷＥＢ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバ、ＡＰ（Ａｐｐｌｉｃａｔｉｏｎ）サーバ、ＤＢ（Ｄａｔａｂａｓｅ）サーバなどである。スイッチＳＷは、パケットのスイッチング機能を有する物理ネットワーク機器であり、例えば、Ｌ（ｌａｙｅｒ）２スイッチである。
【００３１】
ブレードサーバＢＳは、複数のサーバブレードＳＢ（例えば、サーバブレードＳＢ１〜ＳＢ３）と、複数のスイッチブレードＳＷＢ（例えば、スイッチブレードＳＷＢ１，ＳＷＢ２）と、を含む。サーバブレードＳＢは、サーバの機能を１枚の基板に集約した物理サーバである。
【００３２】
（仮想マシンの動作例）
ここで、物理サーバ上で動作する仮想マシンについて説明する。図３は、サーバブレード上で動作する仮想マシンの動作例を示す説明図である。図３において、サーバＳ１〜Ｓ３と、スイッチＳＷ１と、ブレードサーバＢＳ１と、が示されている。
【００３３】
ここで、ブレードサーバＢＳ１内のサーバブレードＳＢ１，ＳＢ２は、ハイパバイザＨ１，Ｈ２を備えている。ハイパバイザＨ１，Ｈ２は、サーバブレードＳＢ１，ＳＢ２のハードウェア資源を仮想化して、複数の異なるＯＳを実行できるように制御するソフトウェアである。具体的には、例えば、ハイパバイザＨ１，Ｈ２は、サーバブレードＳＢ１，ＳＢ２のハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってＯＳを稼働させる。
【００３４】
図３の例では、サーバブレードＳＢ１のハードウェア資源を分割して構築された実行環境で、仮想ネットワーク機器ｆｗ１１，ｆｗ１２が動作している。仮想ネットワーク機器ｆｗ１１，ｆｗ１２は仮想ファイアウォールである。また、サーバブレードＳＢ２のハードウェア資源を分割して構築された実行環境で、仮想ネットワーク機器ｖｓｗ１，ｖｓｗ２が動作している。仮想ネットワーク機器ｖｓｗ１，ｖｓｗ２は仮想スイッチである。
【００３５】
（監視装置１００のハードウェア構成例）
図４は、監視装置１００のハードウェア構成例を示すブロック図である。図４において、監視装置１００は、ＣＰＵ４０１と、メモリ４０２と、磁気ディスクドライブ４０３と、磁気ディスク４０４と、光ディスクドライブ４０５と、光ディスク４０６と、ディスプレイ４０７と、Ｉ／Ｆ４０８と、キーボード４０９と、マウス４１０と、スキャナ４１１と、プリンタ４１２と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００３６】
ここで、ＣＰＵ４０１は、監視装置１００の全体の制御を司る。メモリ４０２は、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを含む。ＲＯＭおよびフラッシュＲＯＭは、例えば、ブートプログラムなどの各種プログラムを記憶する。ＲＡＭは、ＣＰＵ４０１のワークエリアとして使用される。
【００３７】
磁気ディスクドライブ４０３は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０４に対するデータのリード／ライトを制御する。磁気ディスク４０４は、磁気ディスクドライブ４０３の制御で書き込まれたデータを記憶する。光ディスクドライブ４０５は、ＣＰＵ４０１の制御にしたがって光ディスク４０６に対するデータのリード／ライトを制御する。光ディスク４０６は、光ディスクドライブ４０５の制御で書き込まれたデータを記憶したり、光ディスク４０６に記憶されたデータをコンピュータに読み取らせたりする。
【００３８】
ディスプレイ４０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０７は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３９】
Ｉ／Ｆ４０８は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ４０８は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０８には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４０】
キーボード４０９は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１０は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４１】
スキャナ４１１は、画像を光学的に読み取り、監視装置１００内に画像データを取り込む。なお、スキャナ４１１は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ４１２は、画像データや文書データを印刷する。プリンタ４１２には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、監視装置１００は、上述した構成部のうち、例えば、光ディスクドライブ４０５、光ディスク４０６、マウス４１０、スキャナ４１１およびプリンタ４１２などを有さないことにしてもよい。
【００４２】
また、図２に示したサーバＳ、スイッチＳＷ、スイッチブレードＳＷＢおよびサーバブレードＳＢは、上述した監視装置１００と同様のハードウェア構成により実現することができる。ただし、サーバＳ、スイッチＳＷ、スイッチブレードＳＷＢおよびサーバブレードＳＢは、上述した構成部のうち、例えば、光ディスクドライブ４０５、光ディスク４０６、ディスプレイ４０７、キーボード４０９、マウス４１０、スキャナ４１１およびプリンタ４１２を有さないことにしてもよい。
【００４３】
（機器定義表５００の具体例）
つぎに、図２に示したシステム２００内の監視対象装置が定義された機器定義表５００について説明する。システム２００において、監視対象装置は、例えば、サーバＳ、スイッチＳＷ、スイッチブレードＳＷＢ、サーバブレードＳＢおよび各物理サーバ上で動作する仮想マシンである。
【００４４】
図５は、機器定義表５００の具体例を示す説明図である。図５において、機器定義表５００は、システム２００内の監視対象装置ごとの機器定義情報（例えば、機器定義情報５００−１〜５００−１４）を含んでいる。
【００４５】
各機器定義情報のトップタグは、監視対象装置の種別を表している。具体的には、「ＶｉｒｔｕａｌＮｅｗｏｒｋＤｅｖｉｃｅ」は、仮想ネットワーク機器を表している。また、「ＶｉｒｔｕａｌＳｅｒｖｅｒ」は、仮想サーバを表している。また、「ＰｈｙｓｉｃａｌＮｅｗｏｒｋＤｅｖｉｃｅ」は、物理ネットワーク機器を表している。また、「ＰｈｙｓｉｃａｌＳｅｒｖｅｒ」は、物理サーバを表している。
【００４６】
すなわち、機器定義情報５００−１〜５００−４は、システム２００内の仮想ネットワーク機器を表す情報である。例えば、機器定義情報５００−１には、仮想ネットワーク機器のＩＰアドレス「１９２．１６８．１．１０１」および名前「ｆｗ１１」が定義されている。また、機器定義情報５００−１には、仮想ネットワーク機器ｆｗ１１が動作する物理サーバの名前「ＳＢ１」および仮想ネットワーク機器ｆｗ１１の移行先候補となる物理サーバの名前「ＳＢ２，ＳＢ３」が定義されている。
【００４７】
また、機器定義情報５００−５，５００−６は、システム２００内の仮想サーバを表す情報である。例えば、機器定義情報５００−５には、仮想サーバのＩＰアドレス「１９２．１６８．１．２２１」および名前「ｖｓｅｒｖ１」が定義されている。
【００４８】
また、機器定義情報５００−７〜５００−１２は、システム２００内の物理サーバを表す情報である。例えば、機器定義情報５００−７には、物理サーバのＩＰアドレス「１９２．１６８．１．１１」、名前「ＳＢ１」およびポート名「ｐ１」が定義されている。
【００４９】
また、機器定義情報５００−１３，５００−１４は、監視対象装置が有するポートを表す情報である。例えば、機器定義情報５００−１３には、監視対象装置のＩＰアドレス「１９２．１６８．１．２１」、名前「ＳＷＢ１」およびポート名「ｐ１，ｐ２，ｐ３」が定義されている。
【００５０】
なお、図示は省略するが、各機器定義情報には、例えば、各監視対象装置の機種名が定義されていてもよい。また、機器定義表５００には、スイッチＳＷやスイッチブレードＳＷＢなどの物理ネットワーク機器が定義されている。
【００５１】
（接続関係定義表６００の具体例）
つぎに、システム２００内のサーバＳ、スイッチＳＷ、スイッチブレードＳＷＢおよびサーバブレードＳＢといった監視対象装置間の接続関係が定義された接続関係定義表６００について説明する。
【００５２】
図６は、接続関係定義表６００の具体例を示す説明図である。図６において、接続関係定義表６００は、接続関係定義情報（例えば、接続関係定義情報６００−１〜６００−６）を含んでいる。接続関係定義情報は、監視対象装置間の接続関係を表す情報である。ここでは、監視対象装置のＩＰアドレスおよびポート名によって、監視対象装置間の接続関係が表現されている。
【００５３】
例えば、接続関係定義情報６００−１には、ＩＰアドレス「１９２．１６８．１．１１」およびポート名「ｐ１」と、ＩＰアドレス「１９２．１６８．１．２１」およびポート名「ｐ１」との接続関係が定義されている。すなわち、接続関係定義情報６００−１は、ＩＰアドレス「１９２．１６８．１．１１」の監視対象装置のポートｐ１と、ＩＰアドレス「１９２．１６８．１．２１」の監視対象装置のポートｐ１とが接続されることを示している。
【００５４】
（機器情報ＤＢ７００の記憶内容）
つぎに、監視装置１００が用いる機器情報ＤＢ（データベース）７００の記憶内容について説明する。機器情報ＤＢ７００は、例えば、図４に示したメモリ４０２、磁気ディスク４０４、光ディスク４０６などの記憶装置により実現される。
【００５５】
図７は、機器情報ＤＢ７００の記憶内容の一例を示す説明図である。図７において、機器情報ＤＢ７００は、ＩＰアドレス、名前、機種名、種別、状態、識別ＩＤ、ホスト名および移動先サーバのフィールドを有する。各フィールドに情報を設定することにより、監視対象装置ごとの機器情報（例えば、機器情報７００−１〜７００−９）がレコードとして記憶されている。
【００５６】
ここで、ＩＰアドレスは、監視対象装置のＩＰアドレスである。名前は、監視対象装置の名前である。機種名は、監視対象装置の機種名である。種別は、監視対象装置の種別である。監視対象装置の種別としては、例えば、仮想ネットワーク機器（ｖｎｅｔ）、物理ネットワーク機器（ｐｎｅｔ）、物理サーバ（ｐｓｅｒｖ）がある。状態は、監視対象装置の状態である。監視対象装置の状態としては、例えば、正常（ｎｏｒｍａｌ）または異常（ｆａｉｌｕｒｅ）がある。
【００５７】
識別ＩＤは、監視対象となる仮想マシンを一意に識別する識別子である。仮想マシンの識別ＩＤとしては、例えば、仮想マシンに割り振られるＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）がある。ホスト名は、仮想マシンが動作している物理サーバの名前である。移動先サーバは、マイグレーションにより仮想マシンが移動する可能性がある物理サーバの名前である。
【００５８】
一例として、機器情報７００−１を例に挙げると、監視対象となる仮想マシンのＩＰアドレス「１９２．１６８．１．１０１」、名前「ｆｗ１１」、機種名「ＩＰＣＯＭ」、種別「ｖｎｅｔ」、状態「ｎｏｒｍａｌ」、識別ＩＤ「ａａａａａａ」、ホスト名「ＳＢ１」および移動先サーバ「ＳＢ２，ＳＢ３」が示されている。また、機器情報７００−５を例に挙げると、監視対象となる物理サーバのＩＰアドレス「１９２．１６８．１．１１」、名前「ＳＢ１」、機種名「ＢＸ６００」、種別「ｐｓｅｒｖ」、状態「ｎｏｒｍａｌ」が示されている。
【００５９】
（接続情報ＤＢ８００の記憶内容）
つぎに、監視装置１００が用いる接続情報ＤＢ８００の記憶内容について説明する。接続情報ＤＢ８００は、例えば、図４に示したメモリ４０２、磁気ディスク４０４、光ディスク４０６などの記憶装置により実現される。
【００６０】
図８は、接続情報ＤＢ８００の記憶内容の一例を示す説明図である。図８において、接続情報ＤＢ８００は、接続元ＩＰ、接続元ポート名、接続先ＩＰおよび接続先ポート名のフィールドを有する。各フィールドに情報を設定することにより、監視対象装置間の接続情報（例えば、接続情報８００−１〜８００−６）がレコードとして記憶されている。
【００６１】
ここで、接続元ＩＰは、接続関係を有する２つの監視対象装置のうちの一方の監視対象装置のＩＰアドレスである。接続元ポート名は、接続関係を有する２つの監視対象装置のうちの一方の監視対象装置のポート名である。接続先ＩＰは、接続関係を有する２つの監視対象装置のうちの他方の監視対象装置のＩＰアドレスである。接続先ポート名は、接続関係を有する２つの監視対象装置のうちの他方の監視対象装置のポート名である。
【００６２】
一例として、接続情報８００−１を例に挙げると、ＩＰアドレス「１９２．１６８．１．１１」の監視対象装置のポートｐ１と、ＩＰアドレス「１９２．１６８．１．２１」の監視対象装置のポートｐ１とが接続されていることを示している。
【００６３】
（監視装置１００の機能的構成例）
図９は、監視装置１００の機能的構成例を示すブロック図である。図９において、監視装置１００は、受付部９０１と、取得部９０２と、特定部９０３と、検出部９０４と、判定部９０５と、出力部９０６と、を含む構成である。受付部９０１〜出力部９０６は制御部となる機能であり、具体的には、例えば、図４に示したメモリ４０２、磁気ディスク４０４、光ディスク４０６などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０８により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２、磁気ディスク４０４、光ディスク４０６などの記憶装置に記憶される。
【００６４】
受付部９０１は、監視対象装置に関する定義情報の入力を受け付ける。ここで、監視対象装置とは、例えば、監視対象となる物理サーバ、物理ネットワーク機器、仮想マシンである。仮想マシンとしては、例えば、仮想サーバおよび仮想ネットワーク機器がある。定義情報とは、例えば、監視対象装置のＩＰアドレス、名前、機種名および種別などが定義された情報である。
【００６５】
また、監視対象装置が物理サーバおよび物理ネットワーク機器の場合、定義情報には、例えば、監視対象装置が有するポートのポート名が定義されていてもよい。また、監視対象装置が仮想マシンの場合、仮想マシンが最初に動作する物理サーバの名前や仮想マシンが移動する可能性のある物理サーバの名前などが定義されていてもよい。
【００６６】
具体的には、例えば、受付部９０１は、図４に示したキーボード４０９やマウス４１０を用いたユーザの操作入力により、図５に示した機器定義表５００を受け付けることにしてもよい。また、受付部９０１は、例えば、ライブラリからの抽出により、または、外部のコンピュータから監視対象装置に関する定義情報を取得することにしてもよい。
【００６７】
受け付けられた定義情報は、例えば、図７に示した機器情報ＤＢ７００に記憶される。一例として、機器定義表５００に含まれる機器定義情報５００−１を例に挙げると、機器情報ＤＢ７００のＩＰアドレスフィールドに「１９２．１６８．１．１０１」が設定され、名前フィールドに「ｆｗ１１」が設定される。また、種別フィールドに「ｖｎｅｔ」が設定され、状態フィールドに「ｎｏｒｍａｌ」が設定され、ホスト名フィールドに「ＳＢ１」が設定され、移動先サーバフィールドに「ＳＢ２，ＳＢ３」が設定される。また、機器定義情報５００−１に機種名「ＩＰＣＯＭ」が定義されている場合は、機種名フィールドに「ＩＰＣＯＭ」が設定される。
【００６８】
この結果、機器情報ＤＢ７００に機器情報７００−１がレコードとして記憶される。この時点では、機器情報７００−１の識別ＩＤフィールドは空白となる。なお、機器情報ＤＢ７００に機器情報を登録する登録処理についての詳細な説明は、後述する図１３のフローチャートを用いて説明する。
【００６９】
また、受付部９０１は、監視対象装置間の接続関係を表す接続情報の入力を受け付ける。ここで、接続情報とは、例えば、直接接続された２つの監視対象装置の接続関係を表す情報である。接続情報は、具体的には、例えば、物理サーバと物理サーバとの接続関係、物理サーバと物理ネットワーク機器との接続関係および物理ネットワーク機器と物理ネットワーク機器との接続関係のいずれかを表す情報である。
【００７０】
具体的には、例えば、受付部９０１は、ユーザの操作入力により、図６に示した接続関係定義表６００を受け付けることにしてもよい。また、受付部９０１は、例えば、ライブラリからの抽出により、または、外部のコンピュータから監視対象装置間の接続関係を表す接続情報を取得することにしてもよい。さらに、監視装置１００は、ネットワーク２１０を介して、ネットワーク機器のトポロジ探索を行うことにより、機器情報と接続情報を取得することにしてもよい。
【００７１】
受け付けられた接続情報は、例えば、図８に示す接続情報ＤＢ８００に記憶される。一例として、接続関係定義表６００に含まれる接続関係定義情報６００−１を例に挙げると、接続情報ＤＢ８００の接続元ＩＰフィールドに「１９２．１６８．１．１１」が設定され、接続元ポート名フィールドに「ｐ１」が設定される。また、接続先ＩＰフィールドに「１９２．１６８．１．２１」が設定され、接続先ポート名フィールドに「ｐ１」が設定される。この結果、接続情報ＤＢ８００に接続情報８００−１がレコードとして記憶される。
【００７２】
取得部９０２は、監視対象となる仮想マシンの移行先候補となる物理サーバから、物理サーバ上で動作している仮想マシンの識別情報を取得する。ここで、仮想マシンの識別情報とは、例えば、仮想マシンのＩＰアドレスやＵＵＩＤなどである。
【００７３】
具体的には、例えば、まず、取得部９０２は、機器情報ＤＢ７００の中から、物理サーバの機器情報、すなわち、種別が「ｐｓｅｒｖ」の機器情報を選択する。つぎに、取得部９０２は、選択した機器情報に設定されているＩＰアドレスを宛先として、物理サーバ上で動作している仮想マシンの識別情報をハイパバイザに問い合わせる。
【００７４】
ここで、物理サーバ上で仮想マシンが動作している場合、取得部９０２は、物理サーバ上で動作している仮想マシンの識別情報をハイパバイザから取得する。一方、物理サーバ上で仮想マシンが動作していない場合は、取得部９０２は、物理サーバ上で動作している仮想マシンが存在しないことを示す情報をハイパバイザから取得することにしてもよい。
【００７５】
また、取得部９０２は、定期的または不定期に、物理サーバ上で動作している仮想マシンの識別情報を物理サーバから取得することにしてもよい。これにより、監視対象となる物理サーバから該物理サーバ上で動作している仮想マシンの識別情報を繰り返し取得することができる。
【００７６】
特定部９０３は、監視対象となる仮想マシンの識別情報と該仮想マシンの種別とを対応付けて表す情報を参照して、取得された仮想マシンの識別情報に対応する仮想マシンの種別を特定する。具体的には、例えば、特定部９０３は、機器情報ＤＢ７００を参照して、取得された仮想マシンのＩＰアドレスに対応する仮想マシンの種別を特定する。
【００７７】
ここで、取得された仮想マシンのＩＰアドレスを「１９２．１６８．１．１０１」とする。この場合、特定部９０３は、機器情報ＤＢ７００を参照して、仮想マシンのＩＰアドレス「１９２．１６８．１．１０１」に対応する仮想マシンの種別「ｖｎｅｔ（仮想ネットワーク機器）」を特定する。
【００７８】
また、特定部９０３は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を用いて、取得された仮想マシンのＩＰアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。この場合、特定部９０３は、仮想マシンから得られるＳＮＭＰのＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）の値を参照して、仮想マシンの種別を特定する。
【００７９】
さらに、特定部９０３は、機器情報ＤＢ７００を参照して、取得された仮想マシンのＩＰアドレスに対応する仮想マシンの名前、機種名、状態および移行先候補となる物理サーバを特定することにしてもよい。例えば、仮想マシンのＩＰアドレスが「１９２．１６８．１．１０１」の場合、特定部９０３は、仮想マシンの名前「ｆｗ１１」、機種名「ＩＰＣＯＭ」、状態「ｎｏｒｍａｌ」および移行先候補となる物理サーバの名前「ＳＢ２，ＳＢ３」を特定する。
【００８０】
検出部９０４は、仮想マシンの種別が特定された場合、監視対象装置間の接続関係を表す接続情報を参照して、仮想マシンが動作している物理サーバと接続関係を有する監視対象装置を検出する。具体的には、例えば、検出部９０４は、接続情報ＤＢ８００を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出する。
【００８１】
ここで、仮想マシンが動作している物理サーバのＩＰアドレスを「１９２．１６８．１．１１」とする。この場合、検出部９０４は、接続情報ＤＢ８００を参照して、ＩＰアドレス「１９２．１６８．１．１１」を接続元ＩＰとする接続先ＩＰ「１９２．１６８．１．２１」を検出する。
【００８２】
これにより、仮想マシンが動作している物理サーバと接続関係を有する他の監視対象装置のＩＰアドレス「１９２．１６８．１．２１」を特定することができる。また、検出部９０４は、機器情報ＤＢ７００を参照して、他の監視対象装置のＩＰアドレス「１９２．１６８．１．２１」に対応する名前「ＳＷＢ１」と特定することができる。
【００８３】
さらに、検出部９０４は、接続情報ＤＢ８００を参照して、他の監視対象装置のＩＰアドレス「１９２．１６８．１．２１」を接続元ＩＰとする接続先ＩＰ「１９２．１６８．１．３１」を検出することにしてもよい。これにより、仮想マシンが動作している物理サーバと間接的に接続関係を有する他の監視対象装置のＩＰアドレス「１９２．１６８．１．３１」を特定することができる。
【００８４】
このように、検出部９０４は、接続情報ＤＢ８００を参照して接続関係を有する監視対象装置間のＩＰアドレスを追跡することにより、仮想マシンが動作している物理サーバと直接または間接的に接続関係を有する他の監視対象装置を検出することができる。なお、検出された検出結果は、例えば、仮想マシンが動作している物理サーバの識別情報（例えば、ＩＰアドレス、名前、機種名など）と関連付けてメモリ４０２に記憶される。
【００８５】
判定部９０５は、物理サーバ上で動作していた仮想マシンの状態を判定する。ここで、物理サーバ群のうちのある物理サーバＳ上で動作している仮想マシンの状態を判定する場合について説明する。ここでは、取得部９０２により、定期的または不定期に、各々の物理サーバ上で動作している仮想マシンの識別情報を各々の物理サーバに問い合わせることにより、各々の物理サーバ上で動作している仮想マシンの識別情報が取得される場合を想定する。
【００８６】
具体的には、例えば、判定部９０５は、各々の物理サーバに問い合わせた結果取得された仮想マシンの識別情報の集合の中から、物理サーバＳから前回取得された仮想マシンの識別情報を検索する。そして、物理サーバＳから前回取得された仮想マシンの識別情報が検索された場合、判定部９０５は、物理サーバＳ上で動作していた仮想マシンの状態が正常であると判定する。
【００８７】
一方、物理サーバＳから前回取得された仮想マシンの識別情報が検索されなかった場合、判定部９０５は、物理サーバＳ上で動作していた仮想マシンの状態が異常であると判定する。これにより、何らかの障害が発生して状態が異常となった仮想マシンを検出することができる。
【００８８】
出力部９０６は、特定された仮想マシンの種別と、該仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて出力する。この際、出力部９０６は、さらに、検出された該物理サーバと接続関係を有する他の監視対象装置の識別情報を関連付けて出力することにしてもよい。
【００８９】
出力部９０６の出力形式としては、例えば、ディスプレイ４０７への表示、プリンタ４１２への印刷出力、Ｉ／Ｆ４０８による外部のコンピュータへの送信がある。また、メモリ４０２、磁気ディスク４０４、光ディスク４０６などの記憶装置に記憶することとしてもよい。
【００９０】
具体的には、例えば、出力部９０６は、特定された仮想マシンの種別と、該仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて表す機器情報を機器情報ＤＢ７００に登録することにしてもよい。この場合、出力部９０６は、例えば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、機器情報ＤＢ７００に記憶されている該仮想マシンの機器情報を出力することにしてもよい。
【００９１】
より具体的には、例えば、まず、受付部９０１は、ユーザの操作入力により、仮想マシンに関する機器情報の表示要求を受け付ける。そして、出力部９０６は、機器情報ＤＢ７００を参照して、表示要求を受け付けた仮想マシンの機器情報をディスプレイ４０７に表示することにしてもよい。出力対象となる機器情報は、例えば、表示要求を受け付けた仮想マシンの種別、該仮想マシンが動作している物理サーバの識別情報および該物理サーバと接続関係を有する他の監視対象装置の識別情報のうちの少なくともいずれかの情報である。
【００９２】
一例として、受付部９０１が、名前「ｆｗ１１」の仮想マシンに関する機器情報の表示要求を受け付けた場合を例に挙げて説明する。この場合、出力部９０６は、機器情報ＤＢ７００の中から、機器情報の表示要求を受け付けた仮想マシンの名前「ｆｗ１１」に対応する機器情報７００−１を抽出する。そして、出力部９０６は、抽出した仮想マシンの名前「ｆｗ１１」に対応する機器情報７００−１をディスプレイ４０７に表示する。この際、出力部９０６は、名前「ｆｗ１１」の機器情報７００−１とともに、名前「ｆｗ１１」の仮想マシンが動作している物理サーバと直接または間接的に接続関係を有する他の監視対象装置の識別情報（例えば、名前、機種名）をディスプレイ４０７に表示することにしてもよい。
【００９３】
また、出力部９０６は、判定された判定結果を出力することにしてもよい。具体的には、例えば、出力部９０６は、物理サーバＳ上で動作していた仮想マシンの状態が異常であると判定された場合、機器情報ＤＢ７００内の該仮想マシンの機器情報の状態を「ｆａｉｌｕｒｅ（異常）」に変更することにしてもよい。
【００９４】
（ディスプレイ４０７の画面例）
つぎに、図１０〜図１３を用いて、ディスプレイ４０７に表示される出力結果の画面例について説明する。以下に説明する各種画面例は、例えば、監視装置１００により、機器情報ＤＢ７００の記憶内容および接続情報ＤＢ８００の記憶内容に基づいて作成される。
【００９５】
図１０は、ディスプレイ４０７の画面例を示す説明図（その１）である。図１０において、システム２００（図２参照）に構築されているＷｅｂ３階層モデル１０００のシステム一覧画面１０１０がディスプレイ４０７に表示されている。システム一覧画面１０１０は、Ｗｅｂ３階層モデル１０００のエンドポイントとなる仮想ネットワーク機器ｆｗ１１，ｆｗ１２およびサーバＳ１〜Ｓ３を表示する画面例である。
【００９６】
ここで、仮想ネットワーク機器ｆｗ１１，ｆｗ１２は、システム２００内のいずれかの物理サーバ上で動作している仮想ファイアウォールである。また、サーバＳ１は、ＷＥＢサーバである。また、サーバＳ２は、ＡＰサーバである。また、サーバＳ３は、ＤＢサーバである。
【００９７】
システム一覧画面１０１０において、例えば、キーボード４０９やマウス４１０を用いたユーザの操作入力により、カーソルＣを移動させて、仮想ネットワーク機器ｆｗ１１をクリックすると、仮想ネットワーク機器ｆｗ１１に関する機器情報の表示要求が入力される。この結果、システム詳細画面１０２０がディスプレイ４０７に表示される。
【００９８】
システム詳細画面１０２０は、仮想ネットワーク機器ｆｗ１１が動作しているサーバブレードＳＢ１を表示する画面例である。また、システム詳細画面１０２０には、サーバブレードＳＢ１上で仮想ネットワーク機器ｆｗ１１とともに動作している仮想ネットワーク機器ｆｗ１２が表示されている。
【００９９】
システム詳細画面１０２０によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１がサーバブレードＳＢ１上で動作している仮想マシンであることを把握することができる。また、サーバブレードＳＢ１上には、別の仮想マシンである仮想ネットワーク機器ｆｗ１２が動作していることを把握することができる。
【０１００】
システム詳細画面１０２０において、ユーザの操作入力により、カーソルＣを移動させて、仮想ネットワーク機器ｆｗ１１をクリックすると、仮想ネットワーク機器ｆｗ１１に関する機器情報の表示要求が入力される。この結果、システム詳細画面１０３０がディスプレイ４０７に表示される。
【０１０１】
システム詳細画面１０３０は、仮想ネットワーク機器ｆｗ１１に関する機器情報を表示する画面例である。システム詳細画面１０３０には、ネットワークデバイス名、システム名、ＩＰアドレス、装置状態、サーバ名、移動先サーバおよび接続先サーバが表示されている。
【０１０２】
ネットワークデバイス名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１の名前を把握することができる。システム名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１の機種名を把握することができる。ＩＰアドレスによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１のＩＰアドレスを把握することができる。
【０１０３】
装置状態によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１の状態を把握することができる。サーバ名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１が動作している物理サーバの名前を把握することができる。移動先サーバによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１が移動する可能性がある物理サーバの名前を把握することができる。
【０１０４】
接続先サーバによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１が動作している物理サーバと接続関係を有する監視対象装置の名前を把握することができる。ここでは、仮想ネットワーク機器ｆｗ１１が動作している物理サーバと接続関係を有する監視対象装置のうち物理サーバのみが表示されている。
【０１０５】
なお、上述したシステム詳細画面１０２０，１０３０は、例えば、機器情報ＤＢ７００や接続情報ＤＢ８００を参照して作成される。具体的には、例えば、監視装置１００は、機器情報ＤＢ７００内の機器情報７００−１，７００−２に基づいて、システム詳細画面１０２０を作成することができる。また、監視装置１００は、機器情報ＤＢ７００内の機器情報７００−１および接続情報ＤＢ８００内の接続情報８００−１，８００−３〜８００−６に基づいて、システム詳細画面１０３０を作成することができる。
【０１０６】
図１１は、ディスプレイ４０７の画面例を示す説明図（その２）である。図１１において、ネットワーク機器一覧画面１１１０がディスプレイ４０７に表示されている。ネットワーク機器一覧画面１１１０は、システム２００内のネットワーク機器の一覧を表す画面例である。
【０１０７】
ネットワーク機器一覧画面１１１０において、例えば、ユーザの操作入力により、カーソルＣを移動させて、仮想ネットワーク機器ｆｗ１１をクリックすると、仮想ネットワーク機器ｆｗ１１に関する機器情報の表示要求が入力される。この結果、詳細画面１１２０がディスプレイ４０７に表示される。
【０１０８】
詳細画面１１２０は、仮想ネットワーク機器ｆｗ１１に関する機器情報を表示する画面例である。詳細画面１１２０には、基本情報１１２１およびサーバ情報１１２２が表示されている。具体的には、基本情報１１２１には、ネットワークデバイス名、システム名、ＩＰアドレス、装置状態が表示されている。サーバ情報１１２２には、サーバ名、移動先サーバおよび接続先サーバが表示されている。
【０１０９】
なお、上述したネットワーク機器一覧画面１１１０は、例えば、機器情報ＤＢ７００の記憶内容に基づいて作成される。また、詳細画面１１２０は、例えば、機器情報ＤＢ７００の記憶内容および接続情報ＤＢ８００の記憶内容に基づいて作成される。
【０１１０】
図１２は、ディスプレイ４０７の画面例を示す説明図（その３）である。図１２において、Ｗｅｂ３階層モデル１０００のシステム一覧画面１２１０がディスプレイ４０７に表示されている。また、システム一覧画面１２１０には、仮想ネットワーク機器ｆｗ１１の状態が異常であることを示すマークＭが表示されている。マークＭによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１の状態が異常であることを把握することができる。
【０１１１】
システム一覧画面１２１０において、ユーザの操作入力により、カーソルＣを移動させて、仮想ネットワーク機器ｆｗ１１をクリックすると、仮想ネットワーク機器ｆｗ１１に関する機器情報の表示要求が入力される。この結果、システム詳細画面１２２０がディスプレイ４０７に表示される。
【０１１２】
システム詳細画面１２２０によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器ｆｗ１１のみにマークＭが表示されているため、何らかの理由により仮想ネットワーク機器ｆｗ１１のみに障害が発生していることを把握することができる。
【０１１３】
システム詳細画面１２２０において、ユーザの操作入力により、カーソルＣを移動させて、仮想ネットワーク機器ｆｗ１１をクリックすると、仮想ネットワーク機器ｆｗ１１に関する機器情報の表示要求が入力される。この結果、システム詳細画面１２３０がディスプレイ４０７に表示される。
【０１１４】
システム詳細画面１２３０の接続先サーバによれば、何らかの理由により仮想ネットワーク機器ｆｗ１１で発生している障害が、サーバＳ１（ＷＥＢサーバ）、サーバＳ２（ＡＰサーバ）およびサーバＳ３（ＤＢサーバ）に影響を及ぼす可能性があることを把握することができる。
【０１１５】
（監視装置１００の各種処理手順）
つぎに、監視装置１００の各種処理手順について説明する。ここでは、まず、監視対象機器の機器情報を機器情報ＤＢ７００に登録する登録処理手順について説明する。登録処理は、例えば、監視対象機器の初期登録時に実行される。また、登録処理は、監視対象装置の追加あるいは削除時に実行されることにしてもよい。
【０１１６】
図１３は、監視装置１００の登録処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、監視装置１００は、機器定義表５００および接続関係定義表６００の入力を受け付けたか否かを判断する（ステップＳ１３０１）。ここで、監視装置１００は、機器定義表５００および接続関係定義表６００の入力を待つ（ステップＳ１３０１：Ｎｏ）。
【０１１７】
そして、監視装置１００は、機器定義表５００および接続関係定義表６００の入力を受け付けた場合（ステップＳ１３０１：Ｙｅｓ）、機器定義表５００の中から監視対象装置の機器定義情報を選択する（ステップＳ１３０２）。つぎに、監視装置１００は、選択した機器定義情報を参照して、監視対象装置の種別が物理サーバか否かを判断する（ステップＳ１３０３）。
【０１１８】
ここで、物理サーバの場合（ステップＳ１３０３：Ｙｅｓ）、監視装置１００は、選択した機器定義情報を参照して、監視対象装置の機器情報を機器情報ＤＢ７００に登録する（ステップＳ１３０４）。つぎに、監視装置１００は、監視対象装置のハイパバイザに監視対象装置上で動作している仮想マシンの識別情報を問い合わせる（ステップＳ１３０５）。
【０１１９】
そして、監視装置１００は、監視対象装置のハイパバイザから仮想マシンの識別情報を取得したか否かを判断する（ステップＳ１３０６）。ここで、仮想マシンの識別情報が取得されなかった場合（ステップＳ１３０６：Ｎｏ）、監視装置１００はステップＳ１３１２に移行する。
【０１２０】
一方、仮想マシンの識別情報が取得された場合（ステップＳ１３０６：Ｙｅｓ）、監視装置１００は、機器定義表５００を参照して、仮想マシンの識別情報に対応する仮想マシンの種別を特定する（ステップＳ１３０７）。そして、監視装置１００は、特定した仮想マシンの種別が仮想ネットワーク機器か否かを判断する（ステップＳ１３０８）。
【０１２１】
ここで、仮想ネットワーク機器ではない場合（ステップＳ１３０８：Ｎｏ）、監視装置１００は、ステップＳ１３０５に戻る。一方、仮想ネットワーク機器の場合（ステップＳ１３０８：Ｙｅｓ）、監視装置１００は、機器定義表５００を参照して、仮想マシンの識別情報に対応する仮想マシンの機器情報を特定する（ステップＳ１３０９）。そして、監視装置１００は、特定した仮想マシンの機器情報を機器情報ＤＢ７００に登録して（ステップＳ１３１０）、ステップＳ１３０５に戻る。
【０１２２】
また、ステップＳ１３０３において、物理サーバではない場合（ステップＳ１３０３：Ｎｏ）、監視装置１００は、選択した機器定義情報を参照して、監視対象装置の機器情報を機器情報ＤＢ７００に登録する（ステップＳ１３１１）。そして、監視装置１００は、機器定義表５００の中から選択していない未選択の監視対象装置の機器定義情報があるか否かを判断する（ステップＳ１３１２）。
【０１２３】
ここで、未選択の監視対象装置の機器定義情報がある場合（ステップＳ１３１２：Ｙｅｓ）、監視装置１００は、ステップＳ１３０２に戻る。一方、未選択の監視対象装置の機器定義情報がない場合（ステップＳ１３１２：Ｎｏ）、監視装置１００は、接続関係定義表６００を参照して、接続情報ＤＢ８００に監視対象装置間の接続情報を登録して（ステップＳ１３１３）、本フローチャートによる一連の処理を終了する。
【０１２４】
これにより、監視対象となる物理サーバ、物理ネットワーク機器、仮想サーバ、仮想ネットワーク機器の機器情報を機器情報ＤＢ７００に登録することができる。
【０１２５】
なお、上述した説明では、ステップＳ１３０５において、監視装置１００が監視対象装置のハイパバイザに問い合わせることにより、仮想マシンの識別情報を取得する場合について説明したが、これに限らない。具体的には、例えば、監視装置１００は、機器定義表５００を参照して、監視対象装置上で動作する仮想マシンの識別情報、種別および移動先サーバ等を特定することにしてもよい。
【０１２６】
また、上述した説明では、ステップＳ１３０７において、監視装置１００が機器定義表５００を参照して、仮想マシンの識別情報に対応する仮想マシンの種別を特定する場合について説明したが、これに限らない。具体的には、例えば、監視装置１００は、ＳＮＭＰを用いて、仮想マシンのＩＰアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。
【０１２７】
つぎに、監視対象装置を監視する監視処理手順について説明する。監視処理は、例えば、５分、３０分、１時間などの一定期間ごとに定期的に実行される。また、監視処理は、例えば、ユーザの操作入力により、任意のタイミングで不定期に実行されることにしてもよい。
【０１２８】
図１４は、監視装置１００の監視処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、監視装置１００は、機器情報ＤＢ７００の中から監視対象装置の機器情報を選択する（ステップＳ１４０１）。つぎに、監視装置１００は、選択した機器情報を参照して、監視対象装置の種別が物理サーバか否かを判断する（ステップＳ１４０２）。
【０１２９】
ここで、物理サーバではない場合（ステップＳ１４０２：Ｎｏ）、監視装置１００は、ステップＳ１４１１に移行する。一方、物理サーバの場合（ステップＳ１４０２：Ｙｅｓ）、監視装置１００は、監視対象装置のハイパバイザに監視対象装置上で動作している仮想マシンの識別情報を問い合わせる（ステップＳ１４０３）。
【０１３０】
そして、監視装置１００は、監視対象装置と通信不能となったか否かを判断する（ステップＳ１４０４）。ここで、監視対象装置と通信可能な場合（ステップＳ１４０４：Ｎｏ）、監視装置１００は、監視対象装置のハイパバイザから仮想マシンの識別情報を取得したか否かを判断する（ステップＳ１４０５）。
【０１３１】
ここで、仮想マシンの識別情報が取得されなかった場合（ステップＳ１４０５：Ｎｏ）、監視装置１００はステップＳ１４１１に移行する。一方、仮想マシンの識別情報が取得された場合（ステップＳ１４０５：Ｙｅｓ）、監視装置１００は、機器情報ＤＢ７００を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定する（ステップＳ１４０６）。
【０１３２】
そして、監視装置１００は、特定した仮想マシンの種別が仮想ネットワーク機器か否かを判断する（ステップＳ１４０７）。ここで、仮想ネットワーク機器ではない場合（ステップＳ１４０７：Ｎｏ）、監視装置１００はステップＳ１４０３に戻る。一方、仮想ネットワーク機器の場合（ステップＳ１４０７：Ｙｅｓ）、監視装置１００は、接続情報ＤＢ８００を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出する（ステップＳ１４０８）。そして、監視装置１００は、取得した仮想マシンの識別情報をメモリ４０２に記憶して（ステップＳ１４０９）、ステップＳ１４０３に戻る。
【０１３３】
また、ステップＳ１４０４において、監視対象装置と通信不能となった場合（ステップＳ１４０４：Ｙｅｓ）、監視装置１００は、通信不能となった監視対象装置の機器情報をメモリ４０２に記憶する（ステップＳ１４１０）。つぎに、監視装置１００は、機器情報ＤＢ７００の中から選択されていない未選択の機器情報があるか否かを判断する（ステップＳ１４１１）。
【０１３４】
ここで、未選択の機器情報がある場合（ステップＳ１４１１：Ｙｅｓ）、監視装置１００はステップＳ１４０１に戻る。一方、未選択の機器情報がない場合（ステップＳ１４１１：Ｎｏ）、監視装置１００は、機器情報ＤＢ７００の更新処理を実行して（ステップＳ１４１２）、本フローチャートによる一連の処理を終了する。
【０１３５】
これにより、定期的または不定期に、監視対象となる物理サーバおよび仮想ネットワーク機器の状態を監視することができる。なお、ステップＳ１４０８において検出された検出結果は、例えば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、仮想マシンの機器情報とともに出力される。
【０１３６】
つぎに、図１４に示したステップＳ１４１２の更新処理の具体的な処理手順について説明する。
【０１３７】
図１５は、更新処理の具体的処理手順の一例を示すフローチャートである。図１５において、監視装置１００は、通信不能となった監視対象装置の機器情報がメモリ４０２に記憶されているか否かを判断する（ステップＳ１５０１）。ここで、通信不能となった監視対象装置の機器情報がメモリ４０２に記憶されていない場合（ステップＳ１５０１：Ｎｏ）、監視装置１００はステップＳ１５０６に移行する。
【０１３８】
一方、通信不能となった監視対象装置の機器情報がメモリ４０２に記憶されている場合（ステップＳ１５０１：Ｙｅｓ）、監視装置１００は、機器情報ＤＢ７００の中から、通信不能となった監視対象装置の機器情報を特定する（ステップＳ１５０２）。
【０１３９】
そして、監視装置１００は、特定した機器情報の監視対象装置の状態を「異常」に変更する（ステップＳ１５０３）。具体的には、例えば、監視装置１００が、機器情報ＤＢ７００内の特定した機器情報の状態フィールドに「ｆａｉｌｕｒｅ」を設定する。これにより、通信不能となった監視対象装置の状態を「異常」に変更することができる。
【０１４０】
つぎに、監視装置１００は、機器情報ＤＢ７００の中から、通信不能となった監視対象装置の名前がホスト名フィールドに設定されている機器情報を特定する（ステップＳ１５０４）。これにより、通信不能となった監視対象装置上で動作している仮想マシンの機器情報を特定することができる。
【０１４１】
そして、監視装置１００は、特定した機器情報の仮想マシンの状態を「異常」に変更する（ステップＳ１５０５）。これにより、通信不能となった監視対象装置上で動作している仮想マシンの状態を「異常」に変更することができる。
【０１４２】
つぎに、監視装置１００は、機器情報ＤＢ７００の中から監視対象装置の機器情報を選択する（ステップＳ１５０６）。つぎに、監視装置１００は、選択した機器情報を参照して、監視対象装置の種別が仮想ネットワーク機器か否かを判断する（ステップＳ１５０７）。ここで、仮想ネットワーク機器ではない場合（ステップＳ１５０７：Ｎｏ）、監視装置１００はステップＳ１５１２に移行する。
【０１４３】
一方、仮想ネットワーク機器の場合（ステップＳ１５０７：Ｙｅｓ）、監視装置１００は、メモリ４０２の中から、選択した機器情報に対応する仮想マシンの機器情報を検索する（ステップＳ１５０８）。なお、選択した機器情報に対応する仮想マシンの機器情報とは、選択した機器情報と同一のＩＰアドレスあるいは識別ＩＤが設定されている機器情報である。
【０１４４】
つぎに、監視装置１００は、仮想マシンの機器情報が検索されたか否かを判断する（ステップＳ１５０９）。ここで、仮想マシンの機器情報が検索された場合（ステップＳ１５０９：Ｙｅｓ）、監視装置１００は、選択した機器情報のホスト名フィールドに設定されている情報が検索した機器情報と異なるか否かを判断する（ステップＳ１５１０）。
【０１４５】
ここで、ホスト名フィールドに設定されている情報が同じ場合（ステップＳ１５１０：Ｎｏ）、監視装置１００はステップＳ１５１２に移行する。すなわち、仮想マシンの障害が発生しておらず、また、マイグレーションによる物理サーバ間の移動が行われていないため、機器情報ＤＢ７００内の仮想マシンの機器情報の変更は行われない。
【０１４６】
一方、ホスト名フィールドに設定されている情報が異なる場合（ステップＳ１５１０：Ｙｅｓ）、監視装置１００は、仮想マシンのホスト名を変更する（ステップＳ１５１１）。具体的には、例えば、監視装置１００が、選択した機器情報のホスト名フィールドに設定されている情報を、検索した機器情報のホスト名フィールドに設定されている情報に変更する。これにより、仮想マシンのホスト名をマイグレーション先の物理サーバの名前に変更することができる。
【０１４７】
そして、監視装置１００は、機器情報ＤＢ７００の中から選択されていない未選択の機器情報があるか否かを判断する（ステップＳ１５１２）。ここで、未選択の機器情報がある場合（ステップＳ１５１２：Ｙｅｓ）、監視装置１００はステップＳ１５０６に戻る。一方、未選択の機器情報がない場合（ステップＳ１５１２：Ｎｏ）、監視装置１００は、本フローチャートによる一連の処理を終了する。
【０１４８】
また、ステップＳ１５０９において、仮想マシンの機器情報が検索されなかった場合（ステップＳ１５０９：Ｎｏ）、監視装置１００は、選択した機器情報の仮想マシンの状態を「異常」に変更して（ステップＳ１５１３）、ステップＳ１５１２に移行する。これにより、障害が発生した仮想マシンの状態を「異常」に変更することができる。
【０１４９】
これにより、定期的または不定期に、機器情報ＤＢ７００内の監視対象となる物理サーバおよび仮想ネットワーク機器の機器情報を更新することができる。
【０１５０】
なお、物理サーバが備えるハイパバイザが、物理サーバ上で動作している仮想マシンの状態を監視していない場合、図１４に示したステップＳ１４０５において、監視装置１００は、何らかの障害が発生して既に動作していない仮想マシンの識別情報をハイパバイザから取得してしまう場合がある。そこで、ステップＳ１４０６において、監視装置１００は、例えば、ＳＮＭＰを用いて、仮想マシンのＩＰアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。これにより、ハイパバイザが仮想マシンの状態を監視していない場合であっても、監視装置１００は、障害が発生した仮想マシンを検出することができる。
【０１５１】
また、上述した説明では、監視対象装置の状態を「異常」に変更する場合についてのみ説明したが、これに限らない。例えば、監視装置１００は、状態が異常となった監視対象装置の修復が行われたことを検出した場合に、監視対象装置の状態を「異常」から「正常」に変更することにしてもよい。
【０１５２】
より具体的には、例えば、監視装置１００は、ユーザの操作入力により、状態が異常となった監視対象装置の修復が行われたことを示す修復完了通知を受け付けた場合に、該監視対象装置の機器情報の状態を「異常」から「正常」に変更することにしてもよい。また、例えば、図１４に示したステップＳ１４０１において選択された機器情報の監視対象装置の状態が「異常」となっているとする。この場合、監視装置１００は、例えば、ステップＳ１４０４において監視対象装置と通信可能な場合に（ステップＳ１４０４：Ｎｏ）、選択された機器情報の監視対象装置の状態を「異常」から「正常」に変更することにしてもよい。また、例えば、図１５に示したステップＳ１５０６において選択された機器情報の監視対象装置の状態が「異常」となっているとする。この場合、監視装置１００は、例えば、ステップＳ１５０９において機器情報が検索された場合（ステップＳ１５０９：Ｙｅｓ）に、選択された機器情報の仮想マシンの状態を「異常」から「正常」に変更することにしてもよい。
【０１５３】
また、機器定義表５００に定義されている複数の仮想マシンのうちの特定の仮想マシンを監視対象とする場合、ステップＳ１４０３において、監視装置１００は、特定の仮想マシンの機器定義情報に定義されている移行先候補の物理サーバに仮想マシンの識別情報を問い合わせることにしてもよい。これにより、特定の仮想マシンの監視処理にかかる監視装置１００の処理負荷および通信量を低減させることができる。
【０１５４】
以上説明したように、実施の形態２にかかる監視装置１００によれば、物理サーバ上で動作している仮想マシンの識別情報を該物理サーバから取得し、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。そして、監視装置１００によれば、仮想マシンの種別と、仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて出力することができる。
【０１５５】
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別および仮想マシンが動作している物理サーバのホスト名（名前）を把握することができる。
【０１５６】
また、監視装置１００によれば、機器情報ＤＢ７００を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。これにより、仮想マシンに直接問い合わせることなく、仮想マシンの種別を特定することができ、仮想マシンの種別の特定にかかる通信量を削減することができる。
【０１５７】
また、監視装置１００によれば、接続情報ＤＢ８００を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出することができる。そして、監視装置１００によれば、仮想マシンの種別が仮想ネットワーク機器の場合、さらに、該仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバの識別情報を関連付けて出力することができる。
【０１５８】
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別および仮想マシンが動作している物理サーバのホスト名を把握することができるとともに、仮想ネットワーク機器に障害が発生した場合の影響範囲を特定しやすくなる。
【０１５９】
また、監視装置１００によれば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、機器情報ＤＢ７００に記憶されている仮想マシンの機器情報を出力することができる。これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別、該仮想マシンが動作している物理サーバ、および該物理サーバと接続関係を有する他の物理サーバを任意のタイミングで確認することができる。
【０１６０】
また、監視装置１００によれば、定期的または不定期に、監視対象となる各々の物理サーバに問い合わせることにより、各々の物理サーバ上で動作している仮想マシンの状態を判定することができる。また、監視装置１００によれば、物理サーバ上で動作していた仮想マシンの状態が異常となった場合、該仮想マシンの状態が異常であることを示す状態情報を、該仮想マシンの種別、識別情報および該仮想マシンが動作していた物理サーバの識別情報と関連付けて出力することができる。
【０１６１】
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別、状態および仮想マシンが動作している物理サーバのホスト名を把握することができる。
【０１６２】
また、監視装置１００によれば、ＳＮＭＰを用いて、取得した仮想マシンのＩＰアドレス宛に仮想マシンの種別を問い合わせることにより、仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。すなわち、取得した仮想マシンの識別情報に該仮想マシンのＩＰアドレスが含まれる場合は、監視装置１００は、取得した仮想マシンのＩＰアドレスを宛先として、その都度、該仮想マシンに問い合わせることにより、仮想マシンの種別を特定することにしてもよい。これにより、ハイパバイザが仮想マシンの状態を監視していない場合であっても、障害が発生した仮想マシンを検出することができる。
【０１６３】
なお、本実施の形態で説明した監視方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本監視プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本監視プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１６４】
１００  監視装置
２００  システム
９０１  受付部
９０２  取得部
９０３  特定部
９０４  検出部
９０５  判定部
９０６  出力部
【図１】
0005949782.tif 000002
【図２】
0005949782.tif 000003
【図３】
0005949782.tif 000004
【図４】
0005949782.tif 000005
【図５】
0005949782.tif 000006
【図６】
0005949782.tif 000007
【図７】
0005949782.tif 000008
【図８】
0005949782.tif 000009
【図９】
0005949782.tif 000010
【図１０】
0005949782.tif 000011
【図１１】
0005949782.tif 000012
【図１２】
0005949782.tif 000013
【図１３】
0005949782.tif 000014
【図１４】
0005949782.tif 000015
【図１５】
0005949782.tif 000016