説明

サービス実行装置、サービス実行方法

【課題】複数の仮想マシンをより簡易に監視し、ユーザにとっての情報サービスの運用負荷を低減させる。
【解決手段】仮想化装置に接続されたサービス実行装置が、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスを予め記憶し、複数のプログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、情報サービスを提供する複数の仮想アプライアンスを識別する仮想アプライアンス識別情報を対応付けて予め記憶し、情報サービスを提供する複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報を取得して記憶し、状態情報の読出要求に応じて、記憶した状態情報を読み出して出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想化されたコンピュータリソースを用いて情報サービスを提供するサービス実行装置、サービス実行方法に関する。
【背景技術】
【0002】
近年、複数台の仮想化装置がそれぞれに仮想化した自身のコンピュータリソースを、ネットワークを介してユーザ端末に提供する情報サービスシステムが普及してきている。クラウドコンピューティングなどとも呼ばれるこのような情報サービスシステムでは、仮想化装置に起動させるコンピュータプログラムが含まれる複数種類の仮想アプライアンスが情報サーバに予め記憶される。このような複数種類の仮想アプライアンスのうち、ユーザ端末によって選択された任意の仮想アプライアンスに基づいて、仮想化装置によって提供されるコンピュータリソース上に仮想マシンが起動される。例えば、ユーザ端末は、起動された仮想マシン上にウェブサービスのような情報サービスを提供するコンピュータプログラムを動作させることによって、インターネット上に情報サービスを公開することが可能である。
例えば、特許文献1または特許文献2には、コンピュータリソースの仮想化技術を用いた情報処理システムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−75877号公報
【特許文献2】特開2009−80704号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような情報サービスシステムを用いて、例えばウェブサーバ、アプリケーションサーバ、データベースサーバなどの異なる環境の複数のサーバプログラムが協調して動作する情報サービスを提供する場合、それぞれの環境に応じた複数の仮想マシンを起動させることが必要になる。この場合、上述のような情報サービスシステムを用いて情報サービスの提供を行なうユーザは、複数の仮想マシンのそれぞれの稼働状態の監視やメンテナンスを行なうことが必要となる。ここで、このような複数の仮想マシンをより簡易に監視し、ユーザにとっての情報サービスの運用負荷を低減させることが望ましい。
【0005】
本発明は、このような状況に鑑みてなされたもので、仮想化されたコンピュータリソースを用いて複数の仮想マシンによる情報サービスを提供する情報サービスシステムにおいて、複数の仮想マシンをより簡易に監視し、ユーザにとっての情報サービスの運用負荷を低減させるサービス実行装置を提供する。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続されたサービス実行装置であって、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数のプログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部と、情報サービス識別情報が含まれる起動要求を受信する起動要求受信部と、起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを、仮想化装置に起動させる仮想マシン起動部と、仮想マシン起動部によって仮想化装置に起動された複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部に記憶させる仮想マシン状態監視部と、送信される状態情報の読出要求に応じて、状態情報記憶部に記憶された状態情報を読み出して出力する状態情報出力部と、を備えることを特徴とする。
【0007】
また、本発明は、上述の仮想マシン状態監視部が、複数の仮想マシンの負荷状況を示すジョブ長、CPU使用率、MEM使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、状態情報記憶部に記憶させることを特徴とする。
【0008】
また、本発明は、上述のサービス実行装置が、仮想マシン起動部によって仮想化装置に起動された仮想マシンに対応する負荷状況が予め定められた第1の閾値を超える場合、複数の仮想化装置のうち、コンピュータリソースに空きのある仮想化装置に、仮想マシンに対応する仮想アプライアンスに基づく仮想マシンを起動させて情報サービスを提供させ、仮想マシン起動部によって仮想化装置に起動された仮想マシンに対応する負荷状況が予め定められた第2の閾値未満である場合、複数の仮想マシンのうちいずれかの仮想マシンを停止させる仮想マシン制御部を備えることを特徴とする。
【0009】
また、本発明は、上述の状態情報記憶部には、複数の仮想化装置のうち、仮想マシン起動部によって仮想マシンが起動された仮想化装置を識別する仮想化装置識別情報が記憶され、複数の仮想化装置のうち移動対象の仮想化装置を識別する仮想化装置識別情報を受信し、受信した仮想化装置識別情報によって識別される仮想化装置に起動された仮想マシンを、他の仮想化装置に移動させる仮想マシン配置制御部をさらに備えることを特徴とする。
【0010】
また、本発明は、上述の状態情報出力部はPublish/Subscribeネットワークに接続され、状態情報が変化した場合に、状態情報をPublish/Subscribeネットワークに対して出力することを特徴とする。
【0011】
また、本発明は、定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続され、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数のプログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部とを備えたサービス実行装置のサービス実行方法であって、情報サービス識別情報が含まれる起動要求を受信するステップと、起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを、仮想化装置に起動させるステップと、仮想化装置に起動させた複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部に記憶させるステップと、送信される状態情報の読出要求に応じて、状態情報記憶部に記憶された状態情報を読み出して出力するステップと、を備えることを特徴とする。
【発明の効果】
【0012】
以上説明したように、本発明によれば、仮想化装置に接続されたサービス実行装置が、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスを予め記憶し、複数のプログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、情報サービスを提供する複数の仮想アプライアンスを識別する仮想アプライアンス識別情報を対応付けて予め記憶し、情報サービスを提供する複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報を取得して記憶し、状態情報の読出要求に応じて、記憶した状態情報を読み出して出力するようにしたので、サービス実行装置に対して状態情報の読出要求を行うことで、情報サービスを提供するために起動された複数の仮想マシンの状態情報を取得することができる。これにより、複数の仮想マシンを用いて情報サービスを提供するユーザ端末は、複数の仮想マシンのそれぞれから状態情報を取得しなくとも、サービス実行装置に集約された状態情報を読み出すことによって簡易に情報サービスの運用状態を監視することが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態による情報サービスシステムの構成例を示すブロック図である。
【図2】本発明の一実施形態による構成情報の動作例を示す図である。
【図3】本発明の一実施形態によるポリシー情報の動作例を示す図である。
【図4】本発明の一実施形態による状態情報の動作例を示す図である。
【図5】本発明の一実施形態による情報サービスシステムの動作例を示すシーケンス図である。
【図6】本発明の一実施形態による情報サービスシステムの動作例を示すシーケンス図である。
【図7】本発明の一実施形態にオーバレイネットワークを適用した例を示す図である。
【図8】本発明の一実施形態にオーバレイネットワークを適用した場合の動作例を示すシーケンス図である。
【図9】本発明の一実施形態によるサービス管理端末を複数台設ける例を示す図である。
【図10】本発明の一実施形態によるサービス管理端末を複数台設けた場合の動作例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による情報サービスシステムの構成を示すブロック図である。
情報サービスシステム1は、複数の仮想化装置100(仮想化装置100−1、仮想化装置100−2、・・・仮想化装置100−N)と、サービス実行装置200と、ユーザ端末300と、サービス管理端末400と、物理マシン管理端末500とを備えている。ここで、複数の仮想化装置100は同様の構成であるので、個別に説明をする必要がない場合には複数の仮想化装置100のそれぞれを仮想化装置100と示して説明する。
【0015】
仮想化装置100は、自身のコンピュータリソースを仮想化する機能を備えたコンピュータ装置である。仮想化装置100は、自身のコンピュータリソースを仮想的に分割し、定められたプログラムが含まれる仮想マシンのイメージファイルである仮想アプライアンスに基づいて、分割したコンピュータリソース上に仮想マシンを起動させる。このような仮想マシンを提供するソフトウェアとしては、例えばVMWare(登録商標)やXen(登録商標)などが適用できる。
【0016】
サービス実行装置200は、ユーザ端末300、サービス管理端末400、物理マシン管理端末500、複数の仮想化装置100とネットワークを介して接続されたコンピュータ装置である。サービス実行装置200は、仮想アプライアンス記憶部201と、構成情報記憶部202と、ポリシー情報記憶部203と、起動要求受信部204と、仮想マシン起動部205と、仮想マシン状態監視部206と、状態情報記憶部207と、状態情報出力部208と、仮想マシン制御部209と、仮想マシン配置制御部210とを備えている。
【0017】
仮想アプライアンス記憶部201には、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される。仮想アプライアンスは、定められたプログラムが含まれる仮想マシンのイメージファイルであり、OS(Operating System)、そのOS上で動作するミドルウェアやサーバプログラム、アプリケーションプログラムなどの情報が含まれる。例えば、仮想アプライアンス記憶部201には、互いに協調して動作し、まとまった情報サービスを提供するロードバランサー、ウェブサーバ、アプリケーションサーバ、データベースサーバなどのプログラムが、それぞれに適したOS等とともに含まれる複数の仮想アプライアンスが記憶される。
【0018】
構成情報記憶部202には、複数のプログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される。図2は、構成情報記憶部202に記憶される構成情報の例を示す図である。ここでは、ロードバランサーである「LB(A)」に、「Web Server(B)」と、「Web Server(C)」と、「Web Server(D)」とのウェブサーバが接続され、これらのウェブサーバに、「App Server(E)」と、「App Server(F)」と、「App Server(G)」とのアプリケーションサーバが接続され、これらのアプリケーションサーバが、データベースサーバである「DB Server(H)」に接続された構成となることが示されている。
【0019】
ポリシー情報記憶部203には、仮想マシンの状態情報に応じて定められた条件と、この条件を満たす場合に行う仮想マシンの制御処理とが含まれるポリシー情報が記憶される。図3は、ポリシー情報記憶部203に記憶されたポリシー情報の例を示す図である。ここでは、アプリケーションサーバ(App Server)の負荷平均の値が60%を超えることを条件として、アプリケーションサーバを1台増加させる制御処理を行うポリシー情報が示されている。ポリシー情報には、この他にも、例えば複数のアプリケーションサーバ(App Server)の負荷平均の値が定められた閾値を下回ることを条件として、負荷平均が閾値を下回る複数のアプリケーションサーバのうちいずれかを停止させる制御処理を行うことを示す情報などが含まれるようにして良い。
【0020】
図1に戻り、起動要求受信部204は、ユーザ端末300から、情報サービス識別情報が含まれる起動要求を受信する。
仮想マシン起動部205は、起動要求受信部204が受信した起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを仮想化装置100に起動させる。ここで、仮想マシン起動部205には、複数の仮想化装置100毎に、その仮想化装置100の負荷状態や、その仮想化装置100に起動された仮想マシンの数などを示す情報が収集されている。仮想マシン起動部205は、複数の仮想化装置100のそれぞれの負荷状況等に基づいて、起動要求に応じて仮想マシンを起動させる仮想化装置100を判定し、判定した仮想化装置100に仮想マシンを起動させる。
【0021】
仮想マシン状態監視部206は、仮想マシン起動部205によって仮想化装置100に起動された複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部207に記憶させる状態監視の処理を行う。ここで、仮想マシン状態監視部206は、複数の仮想マシンの負荷状況を示すジョブ長、CPU使用率、MEM使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、状態情報記憶部207に記憶させるようにしても良い。例えば、仮想マシン状態監視部206が取得する状態情報には、仮想マシンのジョブ長、CPU使用率、メモリ(MEM)使用率などの項目に応じた情報が含まれる。ここでは、仮想化装置100に起動された仮想マシンは、SNMP(Simple Network Management Protocol)に基づくエージェントの機能を備えており、状態情報が記憶される記憶領域であるMIB(Management Information Base)を有する。これに対し、仮想マシン状態監視部206は、仮想マシンが備えるエージェントに対応するマネージャの機能を備えている。仮想マシン状態監視部206は、仮想マシンが備えるエージェントに対して情報読出要求(リクエスト)を送信し、送信した情報読出要求に対する応答(レスポンス)を受信する。また、仮想マシン状態監視部206は、仮想マシンの状態が変化したとき等にエージェントから送信される通知(トラップ)を受信する。ここで、仮想マシン状態監視部206は、まとまった情報サービスを適用する複数の仮想マシンから取得した状態情報に含まれる項目毎に、平均値、最大値、最小値、分散などの統計情報を算出して状態情報記憶部207に記憶させる。これらの項目のうち、いずれの項目の統計情報を算出するかは、ユーザによって選択された項目を算出するようにして良い。この場合、206は、ユーザからの項目の選択の入力を受付け、選択された項目を自身の記憶領域に記憶させ、記憶させた項目についての統計情報の算出を行なう。このように、本実施形態では、状態情報としていずれの項目を監視、制御するかを定めたMIB定義について、動的に変更することが可能である。
【0022】
状態情報記憶部207には、仮想マシン状態監視部206によって取得された状態情報が記憶される。すなわち、状態情報記憶部207には、互いに協調してまとまった情報サービスを提供する複数の仮想アプライアンスに基づいて起動された、複数の仮想マシンの負荷状況が含まれる状態情報が記憶される。図4は、状態情報記憶部207に記憶される状態情報のデータ例を示す図である。状態情報には、ジョブ長(Current)、ジョブ長(1分平均)、ジョブ長(5分平均)、平均CPU使用率、最大CPU使用率、最小CPU使用率、CPU使用率分散、平均MEM使用率、最大MEM使用率、最小MEM使用率、MEM使用率分散などの情報が含まれる。ここで、例えば平均CPU使用率は、まとまった情報サービスを提供する複数の仮想マシン全体の平均CPU使用率である。ここで、状態情報記憶部207に記憶される状態情報の項目は、必要に応じて関し、制御するためのMIB定義を変更できるようにして良い。また、状態情報記憶部207には、仮想マシン起動部205によって仮想マシンが起動された仮想化装置100を識別する仮想化装置識別情報が記憶される。
【0023】
状態情報出力部208は、送信される状態情報の読出要求に応じて、状態情報記憶部207に記憶された状態情報を読み出して出力する。ここでは、状態情報出力部208は、サービス管理端末400をマネージャとするSNMPエージェントとして機能し、SNMPに基づくサービス管理端末400からの情報読出要求に応じて、状態情報記憶部207に記憶された状態情報を読み出して送信する。
【0024】
仮想マシン制御部209は、仮想マシン状態監視部206によって取得された状態情報に基づいて、仮想化装置100に起動された仮想マシンを制御する。例えば、仮想マシン制御部209は、ポリシー情報記憶部203に記憶されたポリシー情報に基づいて、仮想マシン起動部205によって仮想化装置100に起動された仮想マシンに対応する負荷状況が予め定められた第1の閾値を超える場合、複数の仮想化装置100のうち、コンピュータリソースに空きのある仮想化装置100に、負荷状況が予め定められた閾値を超えている仮想マシンに対応する仮想アプライアンスに基づく仮想マシンを起動させて、情報サービスを提供させる。ここで、仮想マシン制御部209は、状態情報記憶部207に記憶された状態情報を読み出し、読み出した状態情報と、ポリシー情報記憶部203に記憶されたポリシー情報とを比較する。例えば、ポリシー情報が図3に示した情報である場合、仮想マシン制御部209は、情報サービスを提供する仮想マシンのうちアプリケーションサーバが起動された仮想マシンの負荷が閾値を超えると、アプリケーションサーバに対応する仮想アプライアンスに基づいて新たな仮想マシンを起動させる。同様に、仮想マシン制御部209は、仮想マシン起動部205によって仮想化装置100に起動された仮想マシンに対応する負荷状況が予め定められた第2の閾値未満である場合、起動されている複数の仮想マシンのうちいずれかの仮想マシンを停止させる。例えば、アプリケーションサーバが起動された仮想マシンの負荷状況が第2の閾値未満である場合には、1台のアプリケーションサーバの仮想マシンを停止させるようにしても良い。
【0025】
仮想マシン配置制御部210は、複数の仮想化装置100のうち移動対象の仮想化装置100を識別する仮想化装置識別情報が含まれる仮想マシン移動要求を受信し、受信した仮想化装置識別情報によって識別される仮想化装置100に起動された仮想マシンを、他の仮想化装置100に移動させる。例えば、物理マシンの管理者が仮想化装置100のハードウェアメンテナンスを行なう際、メンテナンス対象である仮想化装置100を識別する仮想化装置識別情報を、物理マシン管理端末500から受信する。仮想マシン配置制御部210は、仮想化装置識別情報によって識別されるメンテナンス対象の仮想化装置100上で仮想マシンが動作している場合には、その仮想マシンを他の仮想化装置100に移動させる。ここでは、例えば仮想化技術におけるライブマイグレーションの機能により、仮想化装置100上で動作している仮想マシンを他の仮想マシンに移動させる。ライブマイグレーションは、ある仮想化装置100で動作中の仮想マシンを他の仮想化装置100に無停止で移動させる技術であり、ネットワークの接続も維持される。ここでは、CPUの状態、メモリの状態、I/Oの状態、ストレージの状態、ネットワークの状態などの仮想マシンを構成する情報が他の仮想化装置100に移動され、移動先の仮想化装置100において、仮想マシンはそのまま動作する。このようにすれば、メンテナンス対象である仮想化装置100のコンピュータリソース上で動作している仮想マシンを、他の仮想化装置100に移動させることで、仮想マシンがいずれの仮想化装置100に存在しているかをサービス運用者に意識させることなく、例えば物理マシンのメンテナンス作業を行うことができる。これにより、情報サービスの運用管理稼働を大幅に削減できるとともに、仮想マシンと仮想化装置100との対応付けをユーザ端末300に対して不可視にして、サービスの可用性を向上させることが可能である。
【0026】
ユーザ端末300は、サービス実行装置200に対して情報サービスの起動要求を送信するコンピュータ装置である。例えば、ユーザ端末300は、インターネットブラウザの機能を備えており、ネットワークを介してサービス実行装置200が提供するウェブサイトにアクセスする。ユーザ端末300は、サービス実行装置200に記憶された仮想アプライアンスによって提供される複数の情報サービスのうち、ユーザが実行を要求する情報サービスの選択入力を受付け、選択された情報サービスを識別する情報サービス識別情報が含まれる起動要求をサービス実行装置200に送信する。
【0027】
サービス管理端末400は、サービス実行装置200の状態情報出力部208から出力される状態情報を受信する。サービス管理端末400は、サービス実行装置200におけるSNMPエージェントである状態情報出力部208に対応するSNMPマネージャであり、状態情報出力部208との間でSNMP通信を行なって状態情報出力部208から送信される情報サービスの状態情報を受信する。サービス管理端末400は、自身が供えるLCD(Liquid Crystal Display)などの表示部に、受信した状態情報を表示させる。ユーザは、サービス管理端末400に表示される状態情報を視認することで、複数の仮想マシンによって提供される情報サービスが正常に動作しているか否か等の状態情報を容易に確認することができる。ここでは、サービス管理端末400は、標準化されたSNMP通信の手順により情報サービスの状態情報を取得するものであるため、SNMPマネージャの機能を持つ市販の管理ソフトをコンピュータ装置にインストールすることにより、サービス管理端末400を構成することができる。
【0028】
物理マシン管理端末500は、仮想化装置100の物理マシンの管理を行う管理者の端末である。物理マシン管理端末500は、物理マシンの管理者から、複数の仮想化装置100のうちハードウェアメンテナンスを行なう移動対象の仮想化装置100を識別する仮想化装置識別情報の入力を受け付ける。物理マシン管理端末500は、入力された仮想化装置識別情報が含まれる仮想マシン移動要求を、サービス実行装置200に送信する。
【0029】
次に、本実施形態による情報サービスシステム1の動作例を説明する。図5は、情報サービスシステム1によって、仮想化装置100に起動された仮想マシンを情報サービス単位で監視する動作例を示すシーケンス図である。
ユーザ端末300は、サービス実行装置200に記憶された仮想アプライアンスによって提供される複数の情報サービスのうち、起動を要求する情報サービスを識別する情報サービス識別情報の入力を受け付ける。ユーザ端末300は、入力された情報サービス識別情報が含まれるサービス起動要求を、サービス実行装置200に送信する(ステップS1)。
【0030】
サービス実行装置200の起動要求受信部204が、ユーザ端末300から送信されたサービス起動要求を受信すると、仮想マシン起動部205は、サービス起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスを仮想アプライアンス記憶部201から読み出し(ステップS2)、読み出した仮想アプライアンスに基づいた仮想マシンの起動要求を仮想化装置100に送信する。ここでは、情報サービス識別情報には仮想アプライアンスAと仮想アプライアンスBとが対応付けられており、仮想アプライアンスAに基づく仮想マシンAを仮想化装置100−1に起動させ、仮想アプライアンスBに基づく仮想マシンBを仮想化装置100−2に起動させる例を説明する。サービス実行装置200は、仮想アプライアンスAに基づく仮想マシンAの起動要求を、仮想化装置100−1に送信する(ステップS3)。仮想化装置100−1は、サービス実行装置200から送信された仮想マシンAの起動要求に基づいて、仮想マシンAを起動する(ステップS4)。同様に、サービス実行装置200は、仮想アプライアンスBに基づく仮想マシンBの起動要求を、仮想化装置100−2に送信する(ステップS5)。仮想化装置100−2は、サービス実行装置200から送信された仮想マシンBの起動要求に基づいて、仮想マシンBを起動する(ステップS6)。
【0031】
サービス実行装置200の仮想マシン状態監視部206は、ステップS1において受信したサービス起動要求に対応する仮想マシンAおよび仮想マシンBが仮想化装置100に起動されると、起動された仮想マシンの状態監視を開始する(ステップS7)。サービス実行装置200の仮想マシン状態監視部206は、仮想化装置100−1に起動された仮想マシンAと、仮想化装置100−2に起動された仮想マシンBとの双方とSNMP通信を行なって状態情報を取得し、取得した状態情報に含まれる各項目の値の平均値等を算出して、状態情報記憶部207に記憶させる。サービス管理端末400は、サービス実行装置200に対する情報サービスの監視を開始する(ステップS8)。サービス管理端末400は、サービス実行装置200の状態情報出力部208から送信される状態情報を受信し、自身の表示部に表示させる。
【0032】
図6は、サービス実行装置200が、仮想化装置100に起動された仮想マシンの管理を行う動作例を示すシーケンス図である。仮想マシン制御部209は、一定時間毎に、状態情報記憶部207に記憶された状態情報を読み出し、読み出した状態情報と、ポリシー情報記憶部203に記憶されたポリシー情報とを比較する。仮想マシン制御部209は、状態情報記憶部207から読み出した状態情報が、ポリシー情報に含まれる条件に一致しないと判定すると、仮想マシンの増加処理を行わない。一方、仮想マシン制御部209は、状態情報記憶部207から読み出した状態情報が、ポリシー情報記憶部203から読み出したポリシー情報に含まれる条件に一致すると判定すると、状態情報に含まれる仮想マシンの負荷情報が予め定められた閾値を超えており過負荷状態にあることを検知する(ステップS10)。サービス実行装置200は、過負荷状態にあることを検知した仮想マシンと同一の仮想アプライアンスに基づく仮想マシンA´の起動要求を仮想化装置100−2に送信する(ステップS11)。仮想化装置100−2は、サービス実行装置200から送信された起動要求に応じて、自身のコンピュータリソース上に仮想マシンA´を起動させる(ステップS12)。
【0033】
仮想化装置100の物理マシンの管理者が、仮想化装置100−1のハードウェアメンテナンスを行なうために、仮想化装置100−1のコンピュータリソース上で稼働している仮想マシンを停止させたい場合には、物理マシン管理端末500に、仮想化装置100−1を識別する仮想化装置識別情報を入力する。物理マシン管理端末500は、ユーザから入力された仮想化装置識別情報を受け付けると、入力された仮想化装置識別情報が含まれる仮想マシンの移動要求を生成し、サービス実行装置200に送信する(ステップS13)。
【0034】
サービス実行装置200の仮想マシン配置制御部210は、物理マシン管理端末500から送信された仮想マシン移動要求を受信すると、状態情報記憶部207に記憶された状態情報を読み出し、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動しているか否かを判定する(ステップS14)。ここで、仮想マシン配置制御部210が、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動していないと判定すると、仮想マシンの移動処理を行わない。一方、仮想マシン配置制御部210が、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動していると判定すると、仮想マシンの移動処理を行う。サービス実行装置200は、仮想化装置100−1において起動している仮想マシンAを仮想化装置100−2に移動させる移動要求を、仮想化装置100−1に送信する(ステップS15)。仮想化装置100−1は、仮想マシンAの移動要求を受信すると、ライブマイグレーションの機能により、自身のコンピュータリソース上で動作する仮想マシンAを、仮想化装置100−2に移動させる(ステップS16)。
【0035】
なお、本実施形態において、サービス管理端末400がサービス実行装置200の監視を行なう際、サービス管理端末400が200定期的に対してポーリングを行なうことによって情報サービスを提供する仮想マシンの環境変化を検知するようにしても良いが、この場合は定期的なポーリングによりネットワーク負荷またはポーリングを受けるサービス実行装置200の処理負荷を増加させる場合があると考えられる。特に、複数のサービス実行装置200によって複数の異なる情報サービスを実行させる場合には、これらの負荷が増大する場合があると考えられる。これに対し、ポーリング間隔を長くする方策が考えられるが、これでは、仮想化装置100における環境変化の発生からサービス管理端末400による検知までの時間に遅延が発生する場合があると考えられる。そこで、このような負荷を軽減するために、サービス実行装置200の状態情報出力部208は、Publish/Subscribe(出版/購読)ネットワークに接続され、状態情報が変化した場合に、状態情報をPublish/Subscribeネットワークに対して出力するようにしても良い。
【0036】
ここでは、サービス実行装置200とサービス管理端末400とを、Publish/Subscribeネットワークに接続し、このPublish/Subscribeネットワークを流れるイベントの中で、サービス管理端末400は、サービス実行装置200からPublishされる情報をSubscribeする。サービス実行装置200の状態情報出力部208は、状態情報記憶部207に記憶された情報に変化があったことを検知すると、その状態変化を表す状態情報をPublish/SubscribeネットワークにPublishする。このようにすれば、サービス管理端末400が複数のサービス実行装置200を監視対象とする場合にも、ネットワーク負荷は実質的な状態変化に伴うSubscribe数だけであるし、仮想化装置100における状態変化をサービス管理端末400が検知するまでの時間の遅延を防ぐことができる。これにより、サービス実行装置200の可用性やレスポンス性能等を向上させることが可能である。
【0037】
また、本実施形態において、複数の情報サービスを提供する仮想マシン群のそれぞれを複数のサービス実行装置200により監視し、サービス管理端末400が複数のサービス実行装置200を監視する際、サービス管理端末400は、DNS(Domain Name System)におけるドメインネームによってサービス実行装置200を識別するようにしても良いが、この場合、サービス実行装置200のIPアドレスが変更されると、そのドメインネームとIPアドレスとの対応関係の変更がネットワーク全体に反映されるまでに遅延が発生する場合があると考えられる。そこで、サービス管理端末400とサービス実行装置200との間のネットワークは、オーバレイネットワークにより構成するようにしても良い。
【0038】
図7は、このようなオーバレイネットワークを適用した情報サービスシステム1の例を示す図である。ここでは、サービス実行装置200と同様の構成である複数のサービス実行装置1200(サービス実行装置1200−1、サービス実行装置1200−2、サービス実行装置1200−3)が、それぞれ複数の仮想化装置群に接続されている。サービス管理端末400は、オーバレイネットワークを介してサービス実行装置1200に接続されている。ここで、サービス管理端末400と、複数の実行装置1200とは、それぞれオーバレイネットワークにおけるアドレスが付与され、IPアドレスに対応付けられている。このようなオーバレイネットワークにおけるアドレスとIPアドレスとのマッピングを変更することで、オーバレイネットワーク内でのサービス実行装置のアドレスと、実際に動作するサービス実行装置1200のIPアドレスとの対応を変更させることができる。また、オーバレイネットワークには、サービス実行装置のアドレスを仮想化するサービス実行装置仮想化装置1600が備えられる。
【0039】
図8は、オーバレイネットワークを適用した情報サービスシステム1の動作例を示すシーケンス図である。ここでは、サービス実行装置1200−1のバックアップ情報が定期的に取得され、サービス実行装置1200−2はサービス実行装置1200−1のバックアップ情報に基づいて起動することができるものとする。まず、サービス実行装置仮想化装置1600は、サービス実行装置1200−1に対して、サービスの閉塞依頼を送信する(ステップS20)。サービス実行装置1200−1は、情報サービスの閉塞処理を行うと、閉塞処理完了通知をサービス実行装置仮想化装置1600に送信する(ステップS21)。次に、サービス実行装置仮想化装置1600は、サービス実行装置1200−2に対して、サービスの移動依頼を送信する(ステップS22)。サービス実行装置1200−2は、情報サービスの起動処理を行うと、起動処理完了通知をサービス実行装置仮想化装置1600に送信する(ステップS23)。サービス実行装置仮想化装置1600は、オーバレイネットワークにおけるサービス実行装置のアドレスに対応するIPアドレスの変更依頼を、サービス運用者側のオーバレイネットワーク接続部に送信する(ステップS24)。サービス運用者側のオーバレイネットワーク接続部は、オーバレイネットワークにおけるサービス実行装置のアドレスに対応するIPアドレスを、サービス実行装置1200−1のIPアドレスからサービス実行装置1200−2のIPアドレスに変更する(ステップS25)。
【0040】
このように、オーバレイネットワークを適用することにより、サービス管理端末400からサービス実行装置1200への接続をロケーションフリーにみせることが可能になるとともに、複数個存在するサービス実行装置1200のクローン間での情報の整合性を確保することが可能となる。すなわち、サービス管理端末400からは、単一にみえるサービス実行装置1200でありながら、実体としては複数ロケーションにサービス実行装置1200のコピーが配置される。これにより、サービス実行装置1200の動作時には、動作するサービス実行装置1200のIPアドレスがオーバレイネットワークにおけるサービス実行装置のアドレスとしてバインディングされ、必要に応じて動作するサービス実行装置1200を他のサービス実行装置1200に動的にスイッチすることが可能となる。また、複数のロケーションに配置されているサービス実行装置1200を組み合わせて動作させることにより、災害時などにも動作する可用性の高いサービス実行装置1200を提供することができ、サービスレベルの向上を図ることができる。
【0041】
また、本実施形態において、複数のサービス管理端末400を設けて、ディペンダブルな運用管理システムを実現するようにしても良い。図9は、複数のサービス管理端末400(サービス管理端末400−1、サービス管理端末400−2)が相互に状態を監視する情報サービスシステム1の例を示す図である。ここでは、複数のサービス実行装置1200を監視するサービス管理端末400−1に異常が発生した場合には、監視処理をサービス管理端末400−2に切り替える。ここで、サービス管理端末400−1は、サービス管理端末400−2が自身(サービス管理端末400−1)を正確に監視できているか否かを判定することにより、サービス管理端末400−2の状態を監視する。一方、サービス管理端末400−2は、サービス管理端末400−1が自身(サービス管理端末400−2)を正確に監視できているか否かを判定することにより、サービス管理端末400−1の状態を監視する。
【0042】
図10は、サービス管理端末400−2が、サービス管理端末400−1において発生した異常を検知する場合の例を示す図である。まず、サービス管理端末400−1は、サービス管理端末400−2に対して状態問合せを送信する(ステップS31)。サービス管理端末400−2は、サービス管理端末400−1に対して状態を通知する(ステップS32)。ここでは、サービス管理端末400−2の状態は「XXXXX」であるとする。サービス管理端末400−1は、サービス管理端末400−2から送信された状態を受信すると、状態(XXXXX)を示す情報を記憶する。
【0043】
サービス管理端末400−2は、自身の状態の問合せをサービス管理端末400−1に送信する(ステップS33)。サービス管理端末400−1は、ステップS32において受信したサービス管理端末400−2の状態を示す情報を、サービス管理端末400−2に送信する(ステップS34)。サービス管理端末400−2は、自身の状態と、ステップS34においてサービス管理端末400−1から送信された状態を示す情報とを比較し、一致すればサービス管理端末400−1は正常であると判定し、一致しなければサービス管理端末400−2は異常であると判定する。ここでは、サービス管理端末400−1が、サービス管理端末400−2の状態を示す情報として「XXXXX」を通知しているので、サービス管理端末400−2は、サービス管理端末400−1は正常であると判定する。
【0044】
この後、サービス管理端末400−2の状態が、「XXXXX」から「YYYYY」に変化した場合の例を説明する。ここで、サービス管理端末400−1が、過負荷などの原因により、サービス管理端末400−2への状態問合せが出来ず、サービス管理端末400−1において記憶したサービス管理端末400−2の状態を示す情報を、「XXXXX」から「YYYYY」に更新できなかったとする。この場合、サービス管理端末400−2は、サービス管理端末400−1に対して自身の状態の問合せを行い(ステップS35)、サービス管理端末400−1から、状態を示す情報「XXXXX」が応答される(ステップS36)。サービス管理端末400は、サービス管理端末400−1から応答された状態を示す情報は、自身の状態と一致しないと判定して、サービス管理端末400−1は異常であると判定する。この場合、サービス管理端末400−2は、管理対象であるサービス実行装置1200への監視処理を、サービス管理端末400−1からサービス管理端末400−2に切り替える。これにより、可用性の高い運用管理システムを実現することが可能である。
【0045】
また、本実施形態では、仮想アプライアンス記憶部201、構成情報記憶部202、ポリシー情報記憶部203には、起動される情報サービスに対応する情報が予め記憶されている例を説明したが、これらの情報はユーザ端末300からサービス実行装置200に送信され、サービス実行装置200に記憶されるようにしても良い。ここで、これらの情報は、ユーザ端末300から予め送信され記憶されているようにしても良いし、ユーザ端末300が、ユーザから入力された構成情報やポリシー情報が含まれる起動要求を生成し、サービス実行装置200に送信するようにしても良い。
【0046】
また、本実施形態では、情報サービスを提供する複数の仮想マシンが、複数の仮想化装置100に分散して起動される例を説明したが、一台の仮想化装置100に、情報サービスを提供する複数の仮想マシンが起動されていても良い。
以上説明したように、本実施形態によれば、仮想化装置100に起動した複数の仮想マシンを、複数の仮想マシンが協調して提供する情報サービス単位で監視することが可能となり、ユーザにとっての情報サービスの運用負荷を低減させることが可能となる。
【0047】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより情報サービスの監視、実行を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0048】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0049】
1 情報サービスシステム
100 仮想化装置
200 サービス実行装置
201 仮想アプライアンス記憶部
202 構成情報記憶部
203 ポリシー情報記憶部
204 起動要求受信部
205 仮想マシン起動部
206 仮想マシン状態監視部
207 状態情報記憶部
208 状態情報出力部
209 仮想マシン制御部
210 仮想マシン配置制御部
300 ユーザ端末
400 サービス管理端末
500 物理マシン管理端末

【特許請求の範囲】
【請求項1】
定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続されたサービス実行装置であって、
前記仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の前記仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、
複数の前記プログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、当該情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、
前記情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスに基づいて起動された複数の前記仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部と、
前記情報サービス識別情報が含まれる起動要求を受信する起動要求受信部と、
前記起動要求に含まれる前記情報サービス識別情報に対応付けられた前記複数の仮想アプライアンスに基づく複数の仮想マシンを、前記仮想化装置に起動させる仮想マシン起動部と、
前記仮想マシン起動部によって前記仮想化装置に起動された前記複数の仮想マシンと通信を行い、当該仮想マシンの負荷状況が含まれる状態情報を取得し、取得した当該状態情報を前記状態情報記憶部に記憶させる仮想マシン状態監視部と、
送信される状態情報の読出要求に応じて、前記状態情報記憶部に記憶された前記状態情報を読み出して出力する状態情報出力部と、
を備えることを特徴とするサービス実行装置。
【請求項2】
前記仮想マシン状態監視部は、前記複数の仮想マシンの負荷状況を示すジョブ長、CPU使用率、MEM使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、前記状態情報記憶部に記憶させる
ことを特徴とする請求項1に記載のサービス実行装置。
【請求項3】
前記仮想マシン起動部によって前記仮想化装置に起動された前記仮想マシンに対応する前記負荷状況が予め定められた第1の閾値を超える場合、前記複数の仮想化装置のうち、コンピュータリソースに空きのある前記仮想化装置に、前記仮想マシンに対応する前記仮想アプライアンスに基づく仮想マシンを起動させて前記情報サービスを提供させ、前記仮想マシン起動部によって前記仮想化装置に起動された前記仮想マシンに対応する前記負荷状況が予め定められた第2の閾値未満である場合、前記複数の仮想マシンのうちいずれかの仮想マシンを停止させる仮想マシン制御部
を備えることを特徴とする請求項1または請求項2に記載のサービス実行装置。
【請求項4】
前記状態情報記憶部には、複数の前記仮想化装置のうち、前記仮想マシン起動部によって前記仮想マシンが起動された前記仮想化装置を識別する仮想化装置識別情報が記憶され、
前記複数の仮想化装置のうち移動対象の仮想化装置を識別する仮想化装置識別情報を受信し、受信した仮想化装置識別情報によって識別される前記仮想化装置に起動された前記仮想マシンを、他の仮想化装置に移動させる仮想マシン配置制御部
をさらに備えることを特徴とする請求項1から請求項3のいずれか1項に記載のサービス実行装置。
【請求項5】
前記状態情報出力部はPublish/Subscribeネットワークに接続され、前記状態情報が変化した場合に、当該状態情報を前記Publish/Subscribeネットワークに対して出力する
ことを特徴とする請求項1から請求項4までのいずれか1項に記載のサービス実行装置。
【請求項6】
定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続され、前記仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の前記仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数の前記プログラムが協調して提供する情報サービスを識別するサービス識別情報毎に、当該情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、前記情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスに基づいて起動された複数の前記仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部とを備えたサービス実行装置のサービス実行方法であって、
前記情報サービス識別情報が含まれる起動要求を受信するステップと、
前記起動要求に含まれる前記情報サービス識別情報に対応付けられた前記複数の仮想アプライアンスに基づく複数の仮想マシンを、前記仮想化装置に起動させるステップと、
前記仮想化装置に起動させた前記複数の仮想マシンと通信を行い、当該仮想マシンの負荷状況が含まれる状態情報を取得し、取得した当該状態情報を前記状態情報記憶部に記憶させるステップと、
送信される状態情報の読出要求に応じて、前記状態情報記憶部に記憶された前記状態情報を読み出して出力するステップと、
を備えることを特徴とするサービス実行方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−34403(P2011−34403A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−180788(P2009−180788)
【出願日】平成21年8月3日(2009.8.3)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)