(57)【要約】【課題】仮想マシン上で動作するソフトウェアの動作状況を把握できる監視装置等を提供する。【解決手段】監視装置は、監視部と、発行部と、取得部とを有する。監視部は、仮想マシンの仮想プロセッサの負荷情報をモニタする。発行部は、仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行する。取得部は、監視部でモニタされた特定の仮想プロセッサの負荷情報に基づき、当該仮想マシン上の特定のソフトウェアの稼働状況を取得する。【選択図】図１
2017174349.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンの仮想プロセッサの負荷情報をモニタする監視部と、
前記仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行する発行部と、
前記監視部でモニタされた前記特定の仮想プロセッサの負荷情報に基づき、当該仮想マシン上の前記特定のソフトウェアの稼働状況を取得する取得部と
を有することを特徴とする監視装置。
【請求項２】
前記発行部は、
前記仮想マシン上の前記特定のソフトウェアの動作に応じて当該ソフトウェアを識別し、識別された前記ソフトウェア毎に異なる信号パターンを含む前記負荷情報を出力させるべく、前記特定の仮想プロセッサに前記処理リクエストを発行し、
前記取得部は、
前記監視部でモニタされた前記特定の仮想プロセッサからの負荷情報を前記信号パターンに分解し、分解された前記信号パターンに対応する前記特定のソフトウェアを特定し、特定された前記特定のソフトウェアの稼働状況を取得する
ことを特徴とする請求項１に監視装置。
【請求項３】
前記発行部は、
前記特定のソフトウェアの起動を検出した場合に前記特定のソフトウェアの動作を検出することを特徴とする請求項１又は２に記載の監視装置。
【請求項４】
前記発行部は、
前記特定のソフトウェアに使用する所定コマンドを検出した場合に前記特定のソフトウェアの動作を検出することを特徴とする請求項１又は２に記載の監視装置。
【請求項５】
前記発行部は、
前記特定のソフトウェアに使用するプロセスの動作を検出した場合に前記特定のソフトウェアの動作を検出することを特徴とする請求項１又は２に記載の監視装置。
【請求項６】
前記発行部は、
前記特定のソフトウェアに使用するファイルを検出した場合に前記特定のソフトウェアの動作を検出することを特徴とする請求項１又は２に記載の監視装置。
【請求項７】
仮想マシンの仮想プロセッサの負荷情報をモニタし、
前記仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行し、
前記特定の仮想プロセッサの負荷情報がモニタされた場合に、当該負荷情報に基づき、当該仮想マシン上の前記特定のソフトウェアの稼働状況を取得する
処理を実行することを特徴とする監視方法。
【請求項８】
コンピュータに、
仮想マシンの仮想プロセッサの負荷情報をモニタし、
前記仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行し、
前記特定の仮想プロセッサの負荷情報がモニタされた場合に、当該負荷情報に基づき、当該仮想マシン上の前記特定のソフトウェアの稼働状況を取得する
処理を実行させることを特徴とする監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、監視方法及び監視プログラムに関する。
【背景技術】
【０００２】
近年、クラウドサービス分野では、業務用コンピュータシステムの構築に必要なハードウェア等の基盤一式をインターネット経由でクラウド利用者に提供するＩａａＳ（Infrastructure  as  a  Service）が知られている。ＩａａＳでは、例えば、サーバ、ストレージやネットワーク環境等を、その業務に必要な規模に応じてサービス料を支払うことで、利用者に提供するサービスである。
【０００３】
クラウドサービスを提供するデータセンタでは、仮想マシン（ＶＭ:Virtual Machine）やＯＳ（Operating System）をクラウド利用者に提供する。データセンタでは、クラウド利用者にＶＭ及びＯＳを提供し、ハイパーバイザを使用してＶＭ及びＯＳで使用する仮想ＣＰＵ（Central  Processing  Unit）、仮想メモリや仮想ディスクの使用量を監視する。そして、データセンタは、ハイパーバイザによる監視結果に基づき、ＶＭ及びＯＳの従量料金を算出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３１７７６号公報
【特許文献２】特開２００６−３９６４４号公報
【特許文献３】特開２０１０−２３７７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ハイパーバイザでは、ＶＭの仮想ＣＰＵ、仮想メモリや仮想ディスクの使用量等を参照できるものの、ＶＭ上で動作中のソフトウェア等のＶＭ上の情報については一切参照できない仕組みになっている。その結果、ハイパーバイザでは、ＶＭ上で動作するソフトウェアの稼働状況が把握できていないのが実情である。
【０００６】
一つの側面では、ＶＭ（仮想マシン）上で動作するソフトウェアの稼働状況を把握できる監視装置、監視方法及び監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、監視装置が、監視部と、発行部と、取得部とを有する。監視部は、仮想マシンの仮想プロセッサの負荷情報をモニタする。発行部は、仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行する。取得部は、監視部でモニタされた特定の仮想プロセッサの負荷情報に基づき、当該仮想マシン上の特定のソフトウェアの稼働状況を取得する。
【発明の効果】
【０００８】
一つの側面として、仮想マシン上で動作するソフトウェアの動作状況を把握できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例のデータセンタシステムの一例を示す説明図である。
【図２】図２は、通知用ＣＰＵの信号パターンの一例を示す説明図である。
【図３】図３は、課金テーブルのレコード構成の一例を示す説明図である。
【図４】図４は、ＶＭプロビショニング準備段階の一例を示す説明図である。
【図５】図５は、リクエスト発行処理に関わるエージェントの処理動作の一例を示すフローチャートである。
【図６】図６は、課金処理に関わる課金装置の処理動作の一例を示すフローチャートである。
【図７】図７は、監視プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示する監視装置、監視方法及び監視プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例】
【００１１】
図１は、本実施例のデータセンタシステム１の一例を示す説明図である。図１に示すデータセンタシステム１は、複数の端末装置２と、データセンタ３と、通信網４とを有する。端末装置２は、通信網４経由でデータセンタ３からクラウドサービスの提供を受けるクラウド利用者側の端末装置である。通信網４は、例えば、インターネット等の通信網である。
【００１２】
データセンタ３は、端末装置２に対して通信網４経由でクラウドサービスを提供するサーバを有するクラウド事業者である。データセンタ３には、複数のＶＭ１１と、ハイパーバイザ１２と、課金装置１３と、管理ネットワーク１４とを有する。
【００１３】
ＶＭ１１は、クラウド利用者側の端末装置２で使用する仮想マシンである。尚、ＶＭ１１は、クラウド利用者の要求に応じて事前に用意された仮想イメージに基づき生成されるものである。また、ＶＭ１１には、例えば、ＯＳやミドルウェア（ＭＷ：Middleware）がインストールされた状態である。クラウド利用者は、ＶＭ１１、ＯＳ及びＭＷの使用状況に応じて利用料金をクラウド事業者に支払うものとする。
【００１４】
クラウド利用者の端末装置２に提供するＶＭ１１は、仮想ＣＰＵ２１と、仮想メモリ２２と、仮想ディスク２３とを有する。仮想ＣＰＵ２１は、ＶＭ１１の稼働に使用するための仮想的なＣＰＵである。尚、仮想ＣＰＵ２１は、例えば、仮想プロセッサである。仮想メモリ２２は、ＶＭ１１の稼働に使用するための仮想的なメモリである。仮想ディスク２３は、ＶＭ１１の稼働に使用するための仮想的なディスクである。ＶＭ１１は、ＭＷ２４やエージェント２５を有する。ＭＷ２４は、ＶＭ１１内のＯＳ上で動作する特定のソフトウェアである。
【００１５】
エージェント２５は、ＶＭ１１上のＭＷ２４の動作を監視するプログラムである。エージェント２５は、事前にＶＭ１１に導入され、ＯＳ稼働中は常時稼働し、ＶＭ１１内のＭＷ２４の動作、すなわち稼働中を監視する。エージェント２５は、ＭＷ２４の起動を検出した場合にＭＷ２４の動作検出と判断する。
【００１６】
仮想ＣＰＵ２１には、ＶＭ１１の稼働に使用するＣＰＵ２１Ａの他に、エージェント２５からの処理リクエストに応じて信号パターン等の出力信号の負荷情報等を出力する通知用ＣＰＵ２１Ｂを有する。エージェント２５は、ＭＷ２４の動作に応じて稼働中のＭＷ２４を特定し、特定されたＭＷ２４に対応する信号パターンを通知用ＣＰＵ２１Ｂから出力させるべく、通知用ＣＰＵ２１Ｂに処理リクエストを発行する。エージェント２５は、ＶＭ１１上のＭＷ２４の動作に応じて当該ＶＭ１１の通知用ＣＰＵ２１Ｂに処理リクエストを発行する発行部である。
【００１７】
図２は、通知用ＣＰＵ２１Ｂの信号パターンの一例を示す説明図である。通知用ＣＰＵ２１Ｂは、エージェント２５からの処理リクエストに応じて信号パターンを出力する。図２に示す信号パターンα１は、例えば、ＭＷ１の稼働中を示す信号パターン（ｓｉｎ  ωｔ）である。信号パターンα２は、例えば、ＭＷ２の稼働中を示す信号パターン（ｓｉｎ  ２ωｔ）である。信号パターンα３は、例えば、ＭＷ３の稼働中を示す信号パターン（ｓｉｎ  ３ωｔ）である。信号パターンα４は、例えば、ＭＷ１の稼働中を示す信号パターンα１、ＭＷ２の稼働中を示す信号パターンα２及びＭＷ３の稼働中を示す信号パターンα３を合成した信号パターンである。つまり、信号パターンα４は、ＭＷ１、ＭＷ２及びＭＷ３が稼働中の場合に通知用ＣＰＵ２１Ｂが出力する信号パターンである。
【００１８】
ハイパーバイザ１２は、データセンタ３内の物理リソースを仮想化してクラウド利用者にＶＭ１１を提供すると共に、ＶＭ１１で使用する仮想ＣＰＵ２１の使用量、仮想メモリ２２の使用量及び仮想ディスク２３の使用量を収集する。
【００１９】
ハイパーバイザ１２は、例えば、仮想ＣＰＵ２１内の全てのＣＰＵ２１Ａ及び２１Ｂの負荷情報等の出力信号を監視し、その監視結果に基づき、各ＣＰＵ２１Ａ及び２１Ｂの使用量を収集する、例えば、監視部である。ハイパーバイザ１２は、仮想ＣＰＵ２１内のＣＰＵを０、１、２…の昇順のＣＰＵ番号で管理し、ＣＰＵ番号の内、最大ＣＰＵ番号に通知用ＣＰＵ２１Ｂを割り当てる。ハイパーバイザ１２は、最大ＣＰＵ番号で通知用ＣＰＵ２１Ｂからの出力信号を特定できる。
【００２０】
課金装置１３は、ＯＳ及びＶＭ１１等の使用状況は勿論のこと、ＭＷ２４の使用状況に応じて使用料金を算出する。課金装置１３は、解析部３１と、計算部３２と、課金テーブル３３とを有する。
【００２１】
図３は、課金テーブル３３のレコード構成の一例を示す説明図である。図３に示す課金テーブル３３は、ＭＷ情報３３Ａと、信号パターンの周波数３３Ｂと、時間単価３３Ｃとを対応付けて管理する。ＭＷ情報３３Ａは、ＶＭ１１内に導入されたＭＷ２４を識別する情報である。信号パターンの周波数３３Ｂは、ＭＷ２４の稼働中を示す信号パターンを識別するための情報である。時間単価３３Ｃは、稼働中のＭＷ２４の１時間当たりの単価料金を示す情報である。
【００２２】
ハイパーバイザ１２は、ＶＭ１１内の仮想ＣＰＵ２１内の各ＣＰＵの出力信号を収集し、出力信号の内、通知用ＣＰＵ２１Ｂからの出力信号のみを課金装置１３に通知する。つまり、ハイパーバイザ１２は、ＶＭ１１の仮想ＣＰＵ２１の負荷情報をモニタする監視部である。
【００２３】
課金装置１３内の解析部３１は、通知用ＣＰＵ２１Ｂからの出力信号を周波数分析し、周波数毎の信号パターンに分解する。解析部３１は、周波数分析結果に基づき、課金テーブル３３を参照し、周波数（ｓｉｎ  ωｔ）の信号パターンを検出した場合、ＭＷ１の稼働中と判定する。また、解析部３１は、周波数（ｓｉｎ  ２ωｔ）の信号パターンを検出した場合、ＭＷ２の稼働中と判定する。解析部３１は、周波数（ｓｉｎ  ３ωｔ）の信号パターンを検出した場合、ＭＷ３の稼働中と判定する。更に、解析部３１は、課金テーブル３３を参照し、各周波数の信号パターンの時間変化からＭＷ２４の稼働時間を特定する。解析部３１は、ハイパーバイザ１２でモニタされた通知用ＣＰＵ２１Ｂの負荷情報に基づき、当該ＶＭ１１上のＭＷ２４の稼働状況を取得する取得部である。そして、課金装置１３内の計算部３２は、ＭＷ２４毎の稼働時間及びＭＷ２４毎の時間単価に基づき、ＭＷ２４毎の課金料金を算出する。
【００２４】
管理ネットワーク１４は、データセンタ３内の管理系で使用するネットワークであって、ハイパーバイザ１２と課金装置１３との間を接続している。尚、管理ネットワーク１４は、通信網４との間を隔絶した状態にあるため、クラウド利用者の端末装置２は勿論のこと、クラウド利用者の端末装置２に提供するＶＭ１１からも接続できない状態にある。
【００２５】
次に本実施例のデータセンタシステム１の動作について説明する。図４は、ＶＭプロビショニング準備段階の一例を示す説明図である。先ず、図４の（Ａ）の状態では、ＶＭ１１上のＯＳに複数のＭＷ２４及びエージェント２５をインストールする。図４の（Ｂ）の状態では、図４の（Ａ）の状態をイメージ化した仮想イメージを作成する。尚、仮想イメージは、ＶＭ１１をプロビショニングする際の元になるイメージファイルである。図４の（Ｃ）の状態では、仮想イメージに基づき、クラウド利用者に提供するＶＭ１１を配備する。尚、クラウド利用者は、ＶＭ１１に使用する仮想ディスク２３及び仮想メモリ２２の他に、ＶＭ１１に使用する仮想ＣＰＵ２１のＣＰＵ数を指定する。図４の（Ｄ）の状態では、ＶＭ１１に使用する仮想ＣＰＵ２１のＣＰＵ数に加えて、通知用ＣＰＵ２１Ｂを追加する。その結果、ハイパーバイザ１２は、図４の（Ａ）〜（Ｄ）の処理を経て、クラウド利用者の端末装置２に対してＶＭ１１を提供できる。
【００２６】
図５は、リクエスト発行処理に関わるエージェント２５の処理動作の一例を示すフローチャートである。図５に示すエージェント２５は、ＶＭ１１内に稼働中のＭＷ２４があるか否かを判定する（ステップＳ１１）。エージェント２５は、ＶＭ１１内に稼働中のＭＷ２４がある場合（ステップＳ１１肯定）、稼働中のＭＷ２４を特定する（ステップＳ１２）。例えば、ＶＭ１１上で２個の「ＭＷ１」及び「ＭＷ２」が稼働中の場合、エージェント２５は、稼働中のＭＷ１を特定する。
【００２７】
エージェント２５は、特定された稼働中のＭＷ２４を示す信号パターンを特定し（ステップＳ１３）、特定された信号パターンの出力信号を通知用ＣＰＵ２１Ｂから出力させるべく、通知用ＣＰＵ２１Ｂに処理リクエストを発行する（ステップＳ１４）。その結果、通知用ＣＰＵ２１Ｂは、処理リクエストに応じて稼働中のＭＷ２４を示す信号パターンの出力信号を出力する。
【００２８】
エージェント２５は、処理リクエストを発行した後、ＶＭ１１内の全ＭＷ２４の内、全ての稼働中のＭＷ２４の特定が完了したか否かを判定する（ステップＳ１５）。エージェント２５は、全ての稼働中のＭＷ２４の特定が完了していない場合（ステップＳ１５否定）、未特定の稼働中のＭＷ２４を特定すべく、ステップＳ１２に移行する。尚、エージェント２５は、例えば、稼働中の「ＭＷ１」を特定した場合、未特定の稼働中のＭＷ２４として「ＭＷ２」を特定する。また、エージェント２５は、全ての稼働中のＭＷ２４の特定が完了した場合（ステップＳ１５肯定）、図５に示す処理動作を終了する。エージェント２５は、ＶＭ１１内に稼働中のＭＷ２４がない場合（ステップＳ１１否定）、図５に示す処理動作を終了する。
【００２９】
ハイパーバイザ１２は、ＶＭ１１内の仮想ＣＰＵ２１内の通知用ＣＰＵ２１Ｂは勿論のこと、全てのＣＰＵ２１Ａの出力信号で各ＣＰＵ２１Ａ及び通知用ＣＰＵ２１Ｂの負荷情報を監視している。そして、ハイパーバイザ１２は、ＶＭ１１内の仮想ＣＰＵ２１の出力信号の内、通知用ＣＰＵ２１Ｂの出力信号として負荷情報を課金装置１３に通知する。その結果、ハイパーバイザ１２は、通知用ＣＰＵ２１Ｂの負荷情報としてＶＭ１１上のＭＷ２４の稼働状況を収集できる。
【００３０】
図６は、課金処理に関わる課金装置１３の処理動作の一例を示すフローチャートである。図６において課金装置１３内の解析部３１は、ハイパーバイザ１２から通知用ＣＰＵ２１Ｂの出力信号を受信したか否かを判定する（ステップＳ２１）。解析部３１は、通知用ＣＰＵ２１Ｂの出力信号を受信した場合（ステップＳ２１肯定）、出力信号を周波数解析する（ステップＳ２２）。
【００３１】
更に、解析部３１は、周波数解析結果に基づき、出力信号から周波数毎の信号パターンに分解する（ステップＳ２３）。解析部３１は、課金テーブル３３を参照し、周波数毎の信号パターン及び、その時間変化に基づき、各ＭＷ２４の稼働時間を特定する（ステップＳ２４）。課金装置１３内の計算部３２は、課金テーブル３３を参照し、ＭＷ２４に対応する時間単価及び、ＭＷ２４の稼働時間に基づき、ＭＷ２４毎の従量料金を算出し（ステップＳ２５）、図６に示す処理動作を終了する。
【００３２】
解析部３１は、通知用ＣＰＵ２１Ｂの出力信号を受信しなかった場合（ステップＳ２１否定）、図６に示す処理動作を終了する。尚、課金処理は、例えば、１時間や１日の所定時間毎に１回実行するものである。
【００３３】
課金装置１３は、ハイパーバイザ１２からの通知用ＣＰＵ２１Ｂの出力信号を受信した場合、出力信号を周波数分析して信号パターンに分解する。更に、課金装置１３は、分解された信号パターン毎にＭＷ２４の稼働時間を特定し、特定されたＭＷ２４毎の稼働時間に基づきＭＷ２４の従量料金を算出する。その結果、課金装置１３では、ＶＭ１１上で稼働中のＭＷ２４の稼働状況に応じた従量料金を正確に算出できる。
【００３４】
エージェント２５では、ＶＭ１１内で稼働中のＭＷ２４を特定し、稼働中のＭＷ２４を示す信号パターンを出力するように通知用ＣＰＵ２１Ｂに処理リクエストを発行する。ハイパーバイザ１２は、仮想ＣＰＵ２１内の通知用ＣＰＵ２１Ｂからの出力信号を収集し、収集した出力信号を課金装置１３に通知する。課金装置１３は、通知用ＣＰＵ２１Ｂの出力信号を周波数解析して信号パターンに分解し、信号パターン毎にＭＷ２４の稼働時間を取得する。その結果、課金装置１３は、ＶＭ１１内の稼働中のＭＷ２４毎の稼働時間を取得し、その稼働時間に基づき、ＭＷ２４毎の従量料金を算出できる。
【００３５】
例えば、ＶＭ１１上でのＭＷ２４の障害やパッチ適用等の原因で利用者の意図に反してＭＷ２４を停止した場合でも、ＭＷ２４の稼働時間を正確に把握できる。更に、課金装置１３は、ハイパーバイザ１２を使用し、通知用ＣＰＵ２１Ｂの出力信号（負荷情報）としてＶＭ１１内のＭＷ２４の稼働状況を取得する。その結果、ＶＭ１１と管理ネットワーク１４との間のセキュリティ性を確保しながら、管理ネットワーク１４側の課金装置１３でＶＭ１１内のＭＷ２４の稼働状況を認識できる。
【００３６】
エージェント２５は、ＶＭ１１内に複数のＭＷ２４が稼働中の場合、ＭＷ２４毎に異なる信号パターンを出力すべく、通知用ＣＰＵ２１Ｂに処理リクエストを発行した。課金装置１３は、ハイパーバイザ１２で収集した通知用ＣＰＵ２１Ｂの出力信号を周波数解析して信号パターンに分解し、信号パターンに基づき、各ＭＷ２４の稼働状況を取得する。更に、課金装置１３は、信号パターンの時間変化に基づき、各ＭＷ２４の稼働時間を取得する。その結果、課金装置１３は、ＶＭ１１内の稼働中のＭＷ２４毎の稼働時間に基づき、ＭＷ２４毎の課金料金を算出できる。
【００３７】
ＭＷ２４の稼働時間を測定するための特別な回線が不要である。しかも、複数のＭＷ２４を導入した仮想イメージを提供するため、バリエーション毎の仮想イメージの準備が不要になることで管理リソースのコストを低減できる。
【００３８】
ＭＷ２４の稼働状況の監視に使用する仮想ＣＰＵ２１が１個の通知用ＣＰＵ２１Ｂで済むため、データセンタ３側のリソースの消費を低減できる。
【００３９】
尚、エージェント２５は、ＶＭ１１内のＭＷ２４の稼働中、すなわちＭＷ２４の動作と判定する方法としてＭＷ２４の起動を検出した場合を例示したが、この方法に限定されるものではなく、ＭＷ２４の種別に応じて適宜変更可能である。
【００４０】
エージェント２５が、例えば、ＭＷ２４やＯＳが提供する状態確認コマンドを使用してＶＭ１１内のＭＷ２４の稼働中を判定しても良い。また、エージェント２５が、ＭＷ２４が使用する特定名称のプロセスが動作中であるか否かを判定し、特定名称のプロセスが動作中の場合にＭＷ２４の稼働中と判定しても良い。また、エージェント２５が、ＭＷ２４特有の特定ファイルが存在するか否かを判定し、特定ファイルが存在する場合にＭＷ２４の稼働中と判定しても良い。また、エージェント２５が、ＭＷ２４が出力するログファイルを解析し、その解析結果に基づき、ＭＷ２４の稼働中と判定しても良い。例えば、ｓｔａｒｔのレコードが存在し、ｓｔｏｐのレコードが存在しない場合はＭＷ２４の稼働中と判定し、例えば、ｓｔａｒｔ及びｓｔｏｐのレコードも存在しない場合はＭＷ２４の停止中と判定しても良い。
【００４１】
解析部３１及び計算部３２は、課金装置１３内部に内蔵したが、例えば、ハイパーバイザ１２内に組み込んでも良く、この場合、課金装置１３が不要になる。
【００４２】
データセンタシステム１では、インターネット等の通信網４経由で端末装置２及びデータセンタ３等の装置同士を通信接続可能にした。しかしながら、通信網４の代わりに、例えば、ＬＡＮ（Local  Area  Network）等を使用しても良く、適宜変更可能である。
【００４３】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００４４】
更に、データセンタ３で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００４５】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図７は、監視プログラムを実行するコンピュータ１００の一例を示す説明図である。
【００４６】
図７において監視プログラムを実行するコンピュータ１００では、通信部１１０と、ＲＯＭ１２０、ＲＡＭ１３０、ＣＰＵ１４０、バス１５０とを有する。
【００４７】
そして、ＲＯＭ１２０には、上記実施例と同様の機能を発揮する監視プログラムが予め記憶されている。尚、ＲＯＭ１２０ではなく、図示せぬドライブで読取可能な記録媒体に処理プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ、ＳＤカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。処理プログラムとしては、監視プログラム１２０Ａ、発行プログラム１２０Ｂ及び取得プログラム１２０Ｃである。尚、監視プログラム１２０Ａ、発行プログラム１２０Ｂ及び取得プログラム１２０Ｃについては、適宜統合又は分散しても良い。コンピュータ１００が、これらの可搬用の物理媒体から監視プログラムを取得して実行するようにしても良い。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ等を介してコンピュータ１００に接続される他のコンピュータ等に監視プログラムを記憶させておき、コンピュータ１００がこれらから監視プログラムを取得して実行するようにしても良い。
【００４８】
そして、ＣＰＵ１４０は、これらの監視プログラム１２０Ａ、発行プログラム１２０Ｂ及び取得プログラム１２０ＣをＲＯＭ１２０から読み出し、これらの読み出された各プログラムをＲＡＭ１３０上に展開する。ＣＰＵ１４０は、監視プログラム１２０Ａ、発行プログラム１２０Ｂ及び取得プログラム１２０ＣをＲＡＭ１３０上で監視プロセス１３０Ａ、発行プロセス１３０Ｂ及び取得プロセス１３０Ｃとして機能させる。尚、ＣＰＵ１４０では、必ずしも本実施例で示した全ての処理部が動作しなくてもよく、実行対象とする処理に対応する処理部が仮想的に実現されれば良い。
【００４９】
ＣＰＵ１４０は、仮想マシンの仮想プロセッサの負荷情報をモニタする。ＣＰＵ１４０は、仮想マシン上の特定のソフトウェアの動作に応じて当該仮想マシンの特定の仮想プロセッサに処理リクエストを発行する。更に、ＣＰＵ１４０は、特定の仮想プロセッサの負荷情報がモニタされた場合に、当該負荷情報に基づき、当該仮想マシン上の特定のソフトウェアの稼働状況を取得する。その結果、仮想マシン上の特定ソフトウェアの稼働状況を認識できる。
【符号の説明】
【００５０】
１  データセンタシステム
１１  仮想マシン（ＶＭ）
１２  ハイパーバイザ
１３  課金装置
２１  仮想ＣＰＵ
２１Ｂ  通知用ＣＰＵ
２４  ミドルウェア（ＭＷ）
２５  エージェント
３１  解析部
【図１】
2017174349.tif 000003
【図２】
2017174349.tif 000004
【図３】
2017174349.tif 000005
【図４】
2017174349.tif 000006
【図５】
2017174349.tif 000007
【図６】
2017174349.tif 000008
【図７】
2017174349.tif 000009