(57)【特許請求の範囲】
【請求項１】
定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続されたサービス実行装置であって、
前記仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の前記仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、
複数の前記プログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、当該情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、
前記情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスに基づいて起動された複数の前記仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部と、
前記情報サービス識別情報が含まれる起動要求を受信する起動要求受信部と、
前記起動要求に含まれる前記情報サービス識別情報に対応付けられた前記複数の仮想アプライアンスに基づく複数の仮想マシンを、前記仮想化装置に起動させる仮想マシン起動部と、
前記仮想マシン起動部によって前記仮想化装置に起動された前記複数の仮想マシンと通信を行い、当該仮想マシンの負荷状況が含まれる状態情報を取得し、取得した当該状態情報を前記状態情報記憶部に記憶させる仮想マシン状態監視部と、
送信される状態情報の読出要求に応じて、前記状態情報記憶部に記憶された前記状態情報を読み出して出力する状態情報出力部と、
を備えることを特徴とするサービス実行装置。
【請求項２】
前記仮想マシン状態監視部は、前記複数の仮想マシンの負荷状況を示すジョブ長、ＣＰＵ使用率、ＭＥＭ使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、前記状態情報記憶部に記憶させる
ことを特徴とする請求項１に記載のサービス実行装置。
【請求項３】
前記仮想マシン起動部によって前記仮想化装置に起動された前記仮想マシンに対応する前記負荷状況が予め定められた第１の閾値を超える場合、前記複数の仮想化装置のうち、コンピュータリソースに空きのある前記仮想化装置に、前記仮想マシンに対応する前記仮想アプライアンスに基づく仮想マシンを起動させて前記情報サービスを提供させ、前記仮想マシン起動部によって前記仮想化装置に起動された前記仮想マシンに対応する前記負荷状況が予め定められた第２の閾値未満である場合、前記複数の仮想マシンのうちいずれかの仮想マシンを停止させる仮想マシン制御部
を備えることを特徴とする請求項１または請求項２に記載のサービス実行装置。
【請求項４】
前記状態情報記憶部には、複数の前記仮想化装置のうち、前記仮想マシン起動部によって前記仮想マシンが起動された前記仮想化装置を識別する仮想化装置識別情報が記憶され、
前記複数の仮想化装置のうち移動対象の仮想化装置を識別する仮想化装置識別情報を受信し、受信した仮想化装置識別情報によって識別される前記仮想化装置に起動された前記仮想マシンを、他の仮想化装置に移動させる仮想マシン配置制御部
をさらに備えることを特徴とする請求項１から請求項３のいずれか１項に記載のサービス実行装置。
【請求項５】
前記状態情報出力部はＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに接続され、前記状態情報が変化した場合に、当該状態情報を前記Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに対して出力する
ことを特徴とする請求項１から請求項４までのいずれか１項に記載のサービス実行装置。
【請求項６】
定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続され、前記仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の前記仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数の前記プログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、当該情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、前記情報サービスを提供する前記複数のプログラムが含まれる前記複数の仮想アプライアンスに基づいて起動された複数の前記仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部とを備えたサービス実行装置のサービス実行方法であって、
前記情報サービス識別情報が含まれる起動要求を受信するステップと、
前記起動要求に含まれる前記情報サービス識別情報に対応付けられた前記複数の仮想アプライアンスに基づく複数の仮想マシンを、前記仮想化装置に起動させるステップと、  前記仮想化装置に起動させた前記複数の仮想マシンと通信を行い、当該仮想マシンの負荷状況が含まれる状態情報を取得し、取得した当該状態情報を前記状態情報記憶部に記憶させるステップと、
送信される状態情報の読出要求に応じて、前記状態情報記憶部に記憶された前記状態情報を読み出して出力するステップと、
を備えることを特徴とするサービス実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化されたコンピュータリソースを用いて情報サービスを提供するサービス実行装置、サービス実行方法に関する。
【背景技術】
【０００２】
近年、複数台の仮想化装置がそれぞれに仮想化した自身のコンピュータリソースを、ネットワークを介してユーザ端末に提供する情報サービスシステムが普及してきている。クラウドコンピューティングなどとも呼ばれるこのような情報サービスシステムでは、仮想化装置に起動させるコンピュータプログラムが含まれる複数種類の仮想アプライアンスが情報サーバに予め記憶される。このような複数種類の仮想アプライアンスのうち、ユーザ端末によって選択された任意の仮想アプライアンスに基づいて、仮想化装置によって提供されるコンピュータリソース上に仮想マシンが起動される。例えば、ユーザ端末は、起動された仮想マシン上にウェブサービスのような情報サービスを提供するコンピュータプログラムを動作させることによって、インターネット上に情報サービスを公開することが可能である。
例えば、特許文献１または特許文献２には、コンピュータリソースの仮想化技術を用いた情報処理システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７５８７７号公報
【特許文献２】特開２００９−８０７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような情報サービスシステムを用いて、例えばウェブサーバ、アプリケーションサーバ、データベースサーバなどの異なる環境の複数のサーバプログラムが協調して動作する情報サービスを提供する場合、それぞれの環境に応じた複数の仮想マシンを起動させることが必要になる。この場合、上述のような情報サービスシステムを用いて情報サービスの提供を行なうユーザは、複数の仮想マシンのそれぞれの稼働状態の監視やメンテナンスを行なうことが必要となる。ここで、このような複数の仮想マシンをより簡易に監視し、ユーザにとっての情報サービスの運用負荷を低減させることが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、仮想化されたコンピュータリソースを用いて複数の仮想マシンによる情報サービスを提供する情報サービスシステムにおいて、複数の仮想マシンをより簡易に監視し、ユーザにとっての情報サービスの運用負荷を低減させるサービス実行装置を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続されたサービス実行装置であって、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数のプログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部と、情報サービス識別情報が含まれる起動要求を受信する起動要求受信部と、起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを、仮想化装置に起動させる仮想マシン起動部と、仮想マシン起動部によって仮想化装置に起動された複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部に記憶させる仮想マシン状態監視部と、送信される状態情報の読出要求に応じて、状態情報記憶部に記憶された状態情報を読み出して出力する状態情報出力部と、を備えることを特徴とする。
【０００７】
また、本発明は、上述の仮想マシン状態監視部が、複数の仮想マシンの負荷状況を示すジョブ長、ＣＰＵ使用率、ＭＥＭ使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、状態情報記憶部に記憶させることを特徴とする。
【０００８】
また、本発明は、上述のサービス実行装置が、仮想マシン起動部によって仮想化装置に起動された仮想マシンに対応する負荷状況が予め定められた第１の閾値を超える場合、複数の仮想化装置のうち、コンピュータリソースに空きのある仮想化装置に、仮想マシンに対応する仮想アプライアンスに基づく仮想マシンを起動させて情報サービスを提供させ、仮想マシン起動部によって仮想化装置に起動された仮想マシンに対応する負荷状況が予め定められた第２の閾値未満である場合、複数の仮想マシンのうちいずれかの仮想マシンを停止させる仮想マシン制御部を備えることを特徴とする。
【０００９】
また、本発明は、上述の状態情報記憶部には、複数の仮想化装置のうち、仮想マシン起動部によって仮想マシンが起動された仮想化装置を識別する仮想化装置識別情報が記憶され、複数の仮想化装置のうち移動対象の仮想化装置を識別する仮想化装置識別情報を受信し、受信した仮想化装置識別情報によって識別される仮想化装置に起動された仮想マシンを、他の仮想化装置に移動させる仮想マシン配置制御部をさらに備えることを特徴とする。
【００１０】
また、本発明は、上述の状態情報出力部はＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに接続され、状態情報が変化した場合に、状態情報をＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに対して出力することを特徴とする。
【００１１】
また、本発明は、定められたプログラムが含まれる仮想アプライアンスに基づいて仮想マシンを起動する仮想化装置に接続され、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される仮想アプライアンス記憶部と、複数のプログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される構成情報記憶部と、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報が記憶される状態情報記憶部とを備えたサービス実行装置のサービス実行方法であって、情報サービス識別情報が含まれる起動要求を受信するステップと、起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを、仮想化装置に起動させるステップと、仮想化装置に起動させた複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部に記憶させるステップと、送信される状態情報の読出要求に応じて、状態情報記憶部に記憶された状態情報を読み出して出力するステップと、を備えることを特徴とする。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、仮想化装置に接続されたサービス実行装置が、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスを予め記憶し、複数のプログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、情報サービスを提供する複数の仮想アプライアンスを識別する仮想アプライアンス識別情報を対応付けて予め記憶し、情報サービスを提供する複数の仮想アプライアンスに基づいて起動された複数の仮想マシンの負荷状況が含まれる状態情報を取得して記憶し、状態情報の読出要求に応じて、記憶した状態情報を読み出して出力するようにしたので、サービス実行装置に対して状態情報の読出要求を行うことで、情報サービスを提供するために起動された複数の仮想マシンの状態情報を取得することができる。これにより、複数の仮想マシンを用いて情報サービスを提供するユーザ端末は、複数の仮想マシンのそれぞれから状態情報を取得しなくとも、サービス実行装置に集約された状態情報を読み出すことによって簡易に情報サービスの運用状態を監視することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態による情報サービスシステムの構成例を示すブロック図である。
【図２】本発明の一実施形態による構成情報の動作例を示す図である。
【図３】本発明の一実施形態によるポリシー情報の動作例を示す図である。
【図４】本発明の一実施形態による状態情報の動作例を示す図である。
【図５】本発明の一実施形態による情報サービスシステムの動作例を示すシーケンス図である。
【図６】本発明の一実施形態による情報サービスシステムの動作例を示すシーケンス図である。
【図７】本発明の一実施形態にオーバレイネットワークを適用した例を示す図である。
【図８】本発明の一実施形態にオーバレイネットワークを適用した場合の動作例を示すシーケンス図である。
【図９】本発明の一実施形態によるサービス管理端末を複数台設ける例を示す図である。
【図１０】本発明の一実施形態によるサービス管理端末を複数台設けた場合の動作例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による情報サービスシステムの構成を示すブロック図である。
情報サービスシステム１は、複数の仮想化装置１００（仮想化装置１００−１、仮想化装置１００−２、・・・仮想化装置１００−Ｎ）と、サービス実行装置２００と、ユーザ端末３００と、サービス管理端末４００と、物理マシン管理端末５００とを備えている。ここで、複数の仮想化装置１００は同様の構成であるので、個別に説明をする必要がない場合には複数の仮想化装置１００のそれぞれを仮想化装置１００と示して説明する。
【００１５】
仮想化装置１００は、自身のコンピュータリソースを仮想化する機能を備えたコンピュータ装置である。仮想化装置１００は、自身のコンピュータリソースを仮想的に分割し、定められたプログラムが含まれる仮想マシンのイメージファイルである仮想アプライアンスに基づいて、分割したコンピュータリソース上に仮想マシンを起動させる。このような仮想マシンを提供するソフトウェアとしては、例えばＶＭＷａｒｅ（登録商標）やＸｅｎ（登録商標）などが適用できる。
【００１６】
サービス実行装置２００は、ユーザ端末３００、サービス管理端末４００、物理マシン管理端末５００、複数の仮想化装置１００とネットワークを介して接続されたコンピュータ装置である。サービス実行装置２００は、仮想アプライアンス記憶部２０１と、構成情報記憶部２０２と、ポリシー情報記憶部２０３と、起動要求受信部２０４と、仮想マシン起動部２０５と、仮想マシン状態監視部２０６と、状態情報記憶部２０７と、状態情報出力部２０８と、仮想マシン制御部２０９と、仮想マシン配置制御部２１０とを備えている。
【００１７】
仮想アプライアンス記憶部２０１には、仮想アプライアンスを識別する仮想アプライアンス識別情報毎に、複数種類の仮想アプライアンスが予め記憶される。仮想アプライアンスは、定められたプログラムが含まれる仮想マシンのイメージファイルであり、ＯＳ（Operating System）、そのＯＳ上で動作するミドルウェアやサーバプログラム、アプリケーションプログラムなどの情報が含まれる。例えば、仮想アプライアンス記憶部２０１には、互いに協調して動作し、まとまった情報サービスを提供するロードバランサー、ウェブサーバ、アプリケーションサーバ、データベースサーバなどのプログラムが、それぞれに適したＯＳ等とともに含まれる複数の仮想アプライアンスが記憶される。
【００１８】
構成情報記憶部２０２には、複数のプログラムが協調して提供する情報サービスを識別する情報サービス識別情報毎に、情報サービスを提供する複数のプログラムが含まれる複数の仮想アプライアンスを識別する仮想アプライアンス識別情報が対応付けられて予め記憶される。図２は、構成情報記憶部２０２に記憶される構成情報の例を示す図である。ここでは、ロードバランサーである「ＬＢ（Ａ）」に、「Ｗｅｂ  Ｓｅｒｖｅｒ（Ｂ）」と、「Ｗｅｂ  Ｓｅｒｖｅｒ（Ｃ）」と、「Ｗｅｂ  Ｓｅｒｖｅｒ（Ｄ）」とのウェブサーバが接続され、これらのウェブサーバに、「Ａｐｐ  Ｓｅｒｖｅｒ（Ｅ）」と、「Ａｐｐ  Ｓｅｒｖｅｒ（Ｆ）」と、「Ａｐｐ  Ｓｅｒｖｅｒ（Ｇ）」とのアプリケーションサーバが接続され、これらのアプリケーションサーバが、データベースサーバである「ＤＢ  Ｓｅｒｖｅｒ（Ｈ）」に接続された構成となることが示されている。
【００１９】
ポリシー情報記憶部２０３には、仮想マシンの状態情報に応じて定められた条件と、この条件を満たす場合に行う仮想マシンの制御処理とが含まれるポリシー情報が記憶される。図３は、ポリシー情報記憶部２０３に記憶されたポリシー情報の例を示す図である。ここでは、アプリケーションサーバ（Ａｐｐ  Ｓｅｒｖｅｒ）の負荷平均の値が６０％を超えることを条件として、アプリケーションサーバを１台増加させる制御処理を行うポリシー情報が示されている。ポリシー情報には、この他にも、例えば複数のアプリケーションサーバ（Ａｐｐ  Ｓｅｒｖｅｒ）の負荷平均の値が定められた閾値を下回ることを条件として、負荷平均が閾値を下回る複数のアプリケーションサーバのうちいずれかを停止させる制御処理を行うことを示す情報などが含まれるようにして良い。
【００２０】
図１に戻り、起動要求受信部２０４は、ユーザ端末３００から、情報サービス識別情報が含まれる起動要求を受信する。
仮想マシン起動部２０５は、起動要求受信部２０４が受信した起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスに基づく複数の仮想マシンを仮想化装置１００に起動させる。ここで、仮想マシン起動部２０５には、複数の仮想化装置１００毎に、その仮想化装置１００の負荷状態や、その仮想化装置１００に起動された仮想マシンの数などを示す情報が収集されている。仮想マシン起動部２０５は、複数の仮想化装置１００のそれぞれの負荷状況等に基づいて、起動要求に応じて仮想マシンを起動させる仮想化装置１００を判定し、判定した仮想化装置１００に仮想マシンを起動させる。
【００２１】
仮想マシン状態監視部２０６は、仮想マシン起動部２０５によって仮想化装置１００に起動された複数の仮想マシンと通信を行い、仮想マシンの負荷状況が含まれる状態情報を取得し、取得した状態情報を状態情報記憶部２０７に記憶させる状態監視の処理を行う。ここで、仮想マシン状態監視部２０６は、複数の仮想マシンの負荷状況を示すジョブ長、ＣＰＵ使用率、ＭＥＭ使用率のうちいずれか又は複数の項目の統計情報であって、ユーザによって選択された統計情報を算出して、状態情報記憶部２０７に記憶させるようにしても良い。例えば、仮想マシン状態監視部２０６が取得する状態情報には、仮想マシンのジョブ長、ＣＰＵ使用率、メモリ（ＭＥＭ）使用率などの項目に応じた情報が含まれる。ここでは、仮想化装置１００に起動された仮想マシンは、ＳＮＭＰ（Simple Network Management Protocol）に基づくエージェントの機能を備えており、状態情報が記憶される記憶領域であるＭＩＢ（Management Information Base）を有する。これに対し、仮想マシン状態監視部２０６は、仮想マシンが備えるエージェントに対応するマネージャの機能を備えている。仮想マシン状態監視部２０６は、仮想マシンが備えるエージェントに対して情報読出要求（リクエスト）を送信し、送信した情報読出要求に対する応答（レスポンス）を受信する。また、仮想マシン状態監視部２０６は、仮想マシンの状態が変化したとき等にエージェントから送信される通知（トラップ）を受信する。ここで、仮想マシン状態監視部２０６は、まとまった情報サービスを適用する複数の仮想マシンから取得した状態情報に含まれる項目毎に、平均値、最大値、最小値、分散などの統計情報を算出して状態情報記憶部２０７に記憶させる。これらの項目のうち、いずれの項目の統計情報を算出するかは、ユーザによって選択された項目を算出するようにして良い。この場合、２０６は、ユーザからの項目の選択の入力を受付け、選択された項目を自身の記憶領域に記憶させ、記憶させた項目についての統計情報の算出を行なう。このように、本実施形態では、状態情報としていずれの項目を監視、制御するかを定めたＭＩＢ定義について、動的に変更することが可能である。
【００２２】
状態情報記憶部２０７には、仮想マシン状態監視部２０６によって取得された状態情報が記憶される。すなわち、状態情報記憶部２０７には、互いに協調してまとまった情報サービスを提供する複数の仮想アプライアンスに基づいて起動された、複数の仮想マシンの負荷状況が含まれる状態情報が記憶される。図４は、状態情報記憶部２０７に記憶される状態情報のデータ例を示す図である。状態情報には、ジョブ長（Ｃｕｒｒｅｎｔ）、ジョブ長（１分平均）、ジョブ長（５分平均）、平均ＣＰＵ使用率、最大ＣＰＵ使用率、最小ＣＰＵ使用率、ＣＰＵ使用率分散、平均ＭＥＭ使用率、最大ＭＥＭ使用率、最小ＭＥＭ使用率、ＭＥＭ使用率分散などの情報が含まれる。ここで、例えば平均ＣＰＵ使用率は、まとまった情報サービスを提供する複数の仮想マシン全体の平均ＣＰＵ使用率である。ここで、状態情報記憶部２０７に記憶される状態情報の項目は、必要に応じて関し、制御するためのＭＩＢ定義を変更できるようにして良い。また、状態情報記憶部２０７には、仮想マシン起動部２０５によって仮想マシンが起動された仮想化装置１００を識別する仮想化装置識別情報が記憶される。
【００２３】
状態情報出力部２０８は、送信される状態情報の読出要求に応じて、状態情報記憶部２０７に記憶された状態情報を読み出して出力する。ここでは、状態情報出力部２０８は、サービス管理端末４００をマネージャとするＳＮＭＰエージェントとして機能し、ＳＮＭＰに基づくサービス管理端末４００からの情報読出要求に応じて、状態情報記憶部２０７に記憶された状態情報を読み出して送信する。
【００２４】
仮想マシン制御部２０９は、仮想マシン状態監視部２０６によって取得された状態情報に基づいて、仮想化装置１００に起動された仮想マシンを制御する。例えば、仮想マシン制御部２０９は、ポリシー情報記憶部２０３に記憶されたポリシー情報に基づいて、仮想マシン起動部２０５によって仮想化装置１００に起動された仮想マシンに対応する負荷状況が予め定められた第１の閾値を超える場合、複数の仮想化装置１００のうち、コンピュータリソースに空きのある仮想化装置１００に、負荷状況が予め定められた閾値を超えている仮想マシンに対応する仮想アプライアンスに基づく仮想マシンを起動させて、情報サービスを提供させる。ここで、仮想マシン制御部２０９は、状態情報記憶部２０７に記憶された状態情報を読み出し、読み出した状態情報と、ポリシー情報記憶部２０３に記憶されたポリシー情報とを比較する。例えば、ポリシー情報が図３に示した情報である場合、仮想マシン制御部２０９は、情報サービスを提供する仮想マシンのうちアプリケーションサーバが起動された仮想マシンの負荷が閾値を超えると、アプリケーションサーバに対応する仮想アプライアンスに基づいて新たな仮想マシンを起動させる。同様に、仮想マシン制御部２０９は、仮想マシン起動部２０５によって仮想化装置１００に起動された仮想マシンに対応する負荷状況が予め定められた第２の閾値未満である場合、起動されている複数の仮想マシンのうちいずれかの仮想マシンを停止させる。例えば、アプリケーションサーバが起動された仮想マシンの負荷状況が第２の閾値未満である場合には、１台のアプリケーションサーバの仮想マシンを停止させるようにしても良い。
【００２５】
仮想マシン配置制御部２１０は、複数の仮想化装置１００のうち移動対象の仮想化装置１００を識別する仮想化装置識別情報が含まれる仮想マシン移動要求を受信し、受信した仮想化装置識別情報によって識別される仮想化装置１００に起動された仮想マシンを、他の仮想化装置１００に移動させる。例えば、物理マシンの管理者が仮想化装置１００のハードウェアメンテナンスを行なう際、メンテナンス対象である仮想化装置１００を識別する仮想化装置識別情報を、物理マシン管理端末５００から受信する。仮想マシン配置制御部２１０は、仮想化装置識別情報によって識別されるメンテナンス対象の仮想化装置１００上で仮想マシンが動作している場合には、その仮想マシンを他の仮想化装置１００に移動させる。ここでは、例えば仮想化技術におけるライブマイグレーションの機能により、仮想化装置１００上で動作している仮想マシンを他の仮想マシンに移動させる。ライブマイグレーションは、ある仮想化装置１００で動作中の仮想マシンを他の仮想化装置１００に無停止で移動させる技術であり、ネットワークの接続も維持される。ここでは、ＣＰＵの状態、メモリの状態、Ｉ／Ｏの状態、ストレージの状態、ネットワークの状態などの仮想マシンを構成する情報が他の仮想化装置１００に移動され、移動先の仮想化装置１００において、仮想マシンはそのまま動作する。このようにすれば、メンテナンス対象である仮想化装置１００のコンピュータリソース上で動作している仮想マシンを、他の仮想化装置１００に移動させることで、仮想マシンがいずれの仮想化装置１００に存在しているかをサービス運用者に意識させることなく、例えば物理マシンのメンテナンス作業を行うことができる。これにより、情報サービスの運用管理稼働を大幅に削減できるとともに、仮想マシンと仮想化装置１００との対応付けをユーザ端末３００に対して不可視にして、サービスの可用性を向上させることが可能である。
【００２６】
ユーザ端末３００は、サービス実行装置２００に対して情報サービスの起動要求を送信するコンピュータ装置である。例えば、ユーザ端末３００は、インターネットブラウザの機能を備えており、ネットワークを介してサービス実行装置２００が提供するウェブサイトにアクセスする。ユーザ端末３００は、サービス実行装置２００に記憶された仮想アプライアンスによって提供される複数の情報サービスのうち、ユーザが実行を要求する情報サービスの選択入力を受付け、選択された情報サービスを識別する情報サービス識別情報が含まれる起動要求をサービス実行装置２００に送信する。
【００２７】
サービス管理端末４００は、サービス実行装置２００の状態情報出力部２０８から出力される状態情報を受信する。サービス管理端末４００は、サービス実行装置２００におけるＳＮＭＰエージェントである状態情報出力部２０８に対応するＳＮＭＰマネージャであり、状態情報出力部２０８との間でＳＮＭＰ通信を行なって状態情報出力部２０８から送信される情報サービスの状態情報を受信する。サービス管理端末４００は、自身が供えるＬＣＤ（Liquid Crystal Display）などの表示部に、受信した状態情報を表示させる。ユーザは、サービス管理端末４００に表示される状態情報を視認することで、複数の仮想マシンによって提供される情報サービスが正常に動作しているか否か等の状態情報を容易に確認することができる。ここでは、サービス管理端末４００は、標準化されたＳＮＭＰ通信の手順により情報サービスの状態情報を取得するものであるため、ＳＮＭＰマネージャの機能を持つ市販の管理ソフトをコンピュータ装置にインストールすることにより、サービス管理端末４００を構成することができる。
【００２８】
物理マシン管理端末５００は、仮想化装置１００の物理マシンの管理を行う管理者の端末である。物理マシン管理端末５００は、物理マシンの管理者から、複数の仮想化装置１００のうちハードウェアメンテナンスを行なう移動対象の仮想化装置１００を識別する仮想化装置識別情報の入力を受け付ける。物理マシン管理端末５００は、入力された仮想化装置識別情報が含まれる仮想マシン移動要求を、サービス実行装置２００に送信する。
【００２９】
次に、本実施形態による情報サービスシステム１の動作例を説明する。図５は、情報サービスシステム１によって、仮想化装置１００に起動された仮想マシンを情報サービス単位で監視する動作例を示すシーケンス図である。
ユーザ端末３００は、サービス実行装置２００に記憶された仮想アプライアンスによって提供される複数の情報サービスのうち、起動を要求する情報サービスを識別する情報サービス識別情報の入力を受け付ける。ユーザ端末３００は、入力された情報サービス識別情報が含まれるサービス起動要求を、サービス実行装置２００に送信する（ステップＳ１）。
【００３０】
サービス実行装置２００の起動要求受信部２０４が、ユーザ端末３００から送信されたサービス起動要求を受信すると、仮想マシン起動部２０５は、サービス起動要求に含まれる情報サービス識別情報に対応付けられた複数の仮想アプライアンスを仮想アプライアンス記憶部２０１から読み出し（ステップＳ２）、読み出した仮想アプライアンスに基づいた仮想マシンの起動要求を仮想化装置１００に送信する。ここでは、情報サービス識別情報には仮想アプライアンスＡと仮想アプライアンスＢとが対応付けられており、仮想アプライアンスＡに基づく仮想マシンＡを仮想化装置１００−１に起動させ、仮想アプライアンスＢに基づく仮想マシンＢを仮想化装置１００−２に起動させる例を説明する。サービス実行装置２００は、仮想アプライアンスＡに基づく仮想マシンＡの起動要求を、仮想化装置１００−１に送信する（ステップＳ３）。仮想化装置１００−１は、サービス実行装置２００から送信された仮想マシンＡの起動要求に基づいて、仮想マシンＡを起動する（ステップＳ４）。同様に、サービス実行装置２００は、仮想アプライアンスＢに基づく仮想マシンＢの起動要求を、仮想化装置１００−２に送信する（ステップＳ５）。仮想化装置１００−２は、サービス実行装置２００から送信された仮想マシンＢの起動要求に基づいて、仮想マシンＢを起動する（ステップＳ６）。
【００３１】
サービス実行装置２００の仮想マシン状態監視部２０６は、ステップＳ１において受信したサービス起動要求に対応する仮想マシンＡおよび仮想マシンＢが仮想化装置１００に起動されると、起動された仮想マシンの状態監視を開始する（ステップＳ７）。サービス実行装置２００の仮想マシン状態監視部２０６は、仮想化装置１００−１に起動された仮想マシンＡと、仮想化装置１００−２に起動された仮想マシンＢとの双方とＳＮＭＰ通信を行なって状態情報を取得し、取得した状態情報に含まれる各項目の値の平均値等を算出して、状態情報記憶部２０７に記憶させる。サービス管理端末４００は、サービス実行装置２００に対する情報サービスの監視を開始する（ステップＳ８）。サービス管理端末４００は、サービス実行装置２００の状態情報出力部２０８から送信される状態情報を受信し、自身の表示部に表示させる。
【００３２】
図６は、サービス実行装置２００が、仮想化装置１００に起動された仮想マシンの管理を行う動作例を示すシーケンス図である。仮想マシン制御部２０９は、一定時間毎に、状態情報記憶部２０７に記憶された状態情報を読み出し、読み出した状態情報と、ポリシー情報記憶部２０３に記憶されたポリシー情報とを比較する。仮想マシン制御部２０９は、状態情報記憶部２０７から読み出した状態情報が、ポリシー情報に含まれる条件に一致しないと判定すると、仮想マシンの増加処理を行わない。一方、仮想マシン制御部２０９は、状態情報記憶部２０７から読み出した状態情報が、ポリシー情報記憶部２０３から読み出したポリシー情報に含まれる条件に一致すると判定すると、状態情報に含まれる仮想マシンの負荷情報が予め定められた閾値を超えており過負荷状態にあることを検知する（ステップＳ１０）。サービス実行装置２００は、過負荷状態にあることを検知した仮想マシンと同一の仮想アプライアンスに基づく仮想マシンＡ´の起動要求を仮想化装置１００−２に送信する（ステップＳ１１）。仮想化装置１００−２は、サービス実行装置２００から送信された起動要求に応じて、自身のコンピュータリソース上に仮想マシンＡ´を起動させる（ステップＳ１２）。
【００３３】
仮想化装置１００の物理マシンの管理者が、仮想化装置１００−１のハードウェアメンテナンスを行なうために、仮想化装置１００−１のコンピュータリソース上で稼働している仮想マシンを停止させたい場合には、物理マシン管理端末５００に、仮想化装置１００−１を識別する仮想化装置識別情報を入力する。物理マシン管理端末５００は、ユーザから入力された仮想化装置識別情報を受け付けると、入力された仮想化装置識別情報が含まれる仮想マシンの移動要求を生成し、サービス実行装置２００に送信する（ステップＳ１３）。
【００３４】
サービス実行装置２００の仮想マシン配置制御部２１０は、物理マシン管理端末５００から送信された仮想マシン移動要求を受信すると、状態情報記憶部２０７に記憶された状態情報を読み出し、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動しているか否かを判定する（ステップＳ１４）。ここで、仮想マシン配置制御部２１０が、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動していないと判定すると、仮想マシンの移動処理を行わない。一方、仮想マシン配置制御部２１０が、仮想マシン移動要求に含まれる仮想化装置識別情報に対応する仮想化装置に、仮想マシンが起動していると判定すると、仮想マシンの移動処理を行う。サービス実行装置２００は、仮想化装置１００−１において起動している仮想マシンＡを仮想化装置１００−２に移動させる移動要求を、仮想化装置１００−１に送信する（ステップＳ１５）。仮想化装置１００−１は、仮想マシンＡの移動要求を受信すると、ライブマイグレーションの機能により、自身のコンピュータリソース上で動作する仮想マシンＡを、仮想化装置１００−２に移動させる（ステップＳ１６）。
【００３５】
なお、本実施形態において、サービス管理端末４００がサービス実行装置２００の監視を行なう際、サービス管理端末４００が２００定期的に対してポーリングを行なうことによって情報サービスを提供する仮想マシンの環境変化を検知するようにしても良いが、この場合は定期的なポーリングによりネットワーク負荷またはポーリングを受けるサービス実行装置２００の処理負荷を増加させる場合があると考えられる。特に、複数のサービス実行装置２００によって複数の異なる情報サービスを実行させる場合には、これらの負荷が増大する場合があると考えられる。これに対し、ポーリング間隔を長くする方策が考えられるが、これでは、仮想化装置１００における環境変化の発生からサービス管理端末４００による検知までの時間に遅延が発生する場合があると考えられる。そこで、このような負荷を軽減するために、サービス実行装置２００の状態情報出力部２０８は、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ（出版／購読）ネットワークに接続され、状態情報が変化した場合に、状態情報をＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに対して出力するようにしても良い。
【００３６】
ここでは、サービス実行装置２００とサービス管理端末４００とを、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークに接続し、このＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅネットワークを流れるイベントの中で、サービス管理端末４００は、サービス実行装置２００からＰｕｂｌｉｓｈされる情報をＳｕｂｓｃｒｉｂｅする。サービス実行装置２００の状態情報出力部２０８は、状態情報記憶部２０７に記憶された情報に変化があったことを検知すると、その状態変化を表す状態情報をＰｕｂｌｉｓｈ／ＳｕｂｓｃｒｉｂｅネットワークにＰｕｂｌｉｓｈする。このようにすれば、サービス管理端末４００が複数のサービス実行装置２００を監視対象とする場合にも、ネットワーク負荷は実質的な状態変化に伴うＳｕｂｓｃｒｉｂｅ数だけであるし、仮想化装置１００における状態変化をサービス管理端末４００が検知するまでの時間の遅延を防ぐことができる。これにより、サービス実行装置２００の可用性やレスポンス性能等を向上させることが可能である。
【００３７】
また、本実施形態において、複数の情報サービスを提供する仮想マシン群のそれぞれを複数のサービス実行装置２００により監視し、サービス管理端末４００が複数のサービス実行装置２００を監視する際、サービス管理端末４００は、ＤＮＳ（Domain Name System）におけるドメインネームによってサービス実行装置２００を識別するようにしても良いが、この場合、サービス実行装置２００のＩＰアドレスが変更されると、そのドメインネームとＩＰアドレスとの対応関係の変更がネットワーク全体に反映されるまでに遅延が発生する場合があると考えられる。そこで、サービス管理端末４００とサービス実行装置２００との間のネットワークは、オーバレイネットワークにより構成するようにしても良い。
【００３８】
図７は、このようなオーバレイネットワークを適用した情報サービスシステム１の例を示す図である。ここでは、サービス実行装置２００と同様の構成である複数のサービス実行装置１２００（サービス実行装置１２００−１、サービス実行装置１２００−２、サービス実行装置１２００−３）が、それぞれ複数の仮想化装置群に接続されている。サービス管理端末４００は、オーバレイネットワークを介してサービス実行装置１２００に接続されている。ここで、サービス管理端末４００と、複数の実行装置１２００とは、それぞれオーバレイネットワークにおけるアドレスが付与され、ＩＰアドレスに対応付けられている。このようなオーバレイネットワークにおけるアドレスとＩＰアドレスとのマッピングを変更することで、オーバレイネットワーク内でのサービス実行装置のアドレスと、実際に動作するサービス実行装置１２００のＩＰアドレスとの対応を変更させることができる。また、オーバレイネットワークには、サービス実行装置のアドレスを仮想化するサービス実行装置仮想化装置１６００が備えられる。
【００３９】
図８は、オーバレイネットワークを適用した情報サービスシステム１の動作例を示すシーケンス図である。ここでは、サービス実行装置１２００−１のバックアップ情報が定期的に取得され、サービス実行装置１２００−２はサービス実行装置１２００−１のバックアップ情報に基づいて起動することができるものとする。まず、サービス実行装置仮想化装置１６００は、サービス実行装置１２００−１に対して、サービスの閉塞依頼を送信する（ステップＳ２０）。サービス実行装置１２００−１は、情報サービスの閉塞処理を行うと、閉塞処理完了通知をサービス実行装置仮想化装置１６００に送信する（ステップＳ２１）。次に、サービス実行装置仮想化装置１６００は、サービス実行装置１２００−２に対して、サービスの移動依頼を送信する（ステップＳ２２）。サービス実行装置１２００−２は、情報サービスの起動処理を行うと、起動処理完了通知をサービス実行装置仮想化装置１６００に送信する（ステップＳ２３）。サービス実行装置仮想化装置１６００は、オーバレイネットワークにおけるサービス実行装置のアドレスに対応するＩＰアドレスの変更依頼を、サービス運用者側のオーバレイネットワーク接続部に送信する（ステップＳ２４）。サービス運用者側のオーバレイネットワーク接続部は、オーバレイネットワークにおけるサービス実行装置のアドレスに対応するＩＰアドレスを、サービス実行装置１２００−１のＩＰアドレスからサービス実行装置１２００−２のＩＰアドレスに変更する（ステップＳ２５）。
【００４０】
このように、オーバレイネットワークを適用することにより、サービス管理端末４００からサービス実行装置１２００への接続をロケーションフリーにみせることが可能になるとともに、複数個存在するサービス実行装置１２００のクローン間での情報の整合性を確保することが可能となる。すなわち、サービス管理端末４００からは、単一にみえるサービス実行装置１２００でありながら、実体としては複数ロケーションにサービス実行装置１２００のコピーが配置される。これにより、サービス実行装置１２００の動作時には、動作するサービス実行装置１２００のＩＰアドレスがオーバレイネットワークにおけるサービス実行装置のアドレスとしてバインディングされ、必要に応じて動作するサービス実行装置１２００を他のサービス実行装置１２００に動的にスイッチすることが可能となる。また、複数のロケーションに配置されているサービス実行装置１２００を組み合わせて動作させることにより、災害時などにも動作する可用性の高いサービス実行装置１２００を提供することができ、サービスレベルの向上を図ることができる。
【００４１】
また、本実施形態において、複数のサービス管理端末４００を設けて、ディペンダブルな運用管理システムを実現するようにしても良い。図９は、複数のサービス管理端末４００（サービス管理端末４００−１、サービス管理端末４００−２）が相互に状態を監視する情報サービスシステム１の例を示す図である。ここでは、複数のサービス実行装置１２００を監視するサービス管理端末４００−１に異常が発生した場合には、監視処理をサービス管理端末４００−２に切り替える。ここで、サービス管理端末４００−１は、サービス管理端末４００−２が自身（サービス管理端末４００−１）を正確に監視できているか否かを判定することにより、サービス管理端末４００−２の状態を監視する。一方、サービス管理端末４００−２は、サービス管理端末４００−１が自身（サービス管理端末４００−２）を正確に監視できているか否かを判定することにより、サービス管理端末４００−１の状態を監視する。
【００４２】
図１０は、サービス管理端末４００−２が、サービス管理端末４００−１において発生した異常を検知する場合の例を示す図である。まず、サービス管理端末４００−１は、サービス管理端末４００−２に対して状態問合せを送信する（ステップＳ３１）。サービス管理端末４００−２は、サービス管理端末４００−１に対して状態を通知する（ステップＳ３２）。ここでは、サービス管理端末４００−２の状態は「ＸＸＸＸＸ」であるとする。サービス管理端末４００−１は、サービス管理端末４００−２から送信された状態を受信すると、状態（ＸＸＸＸＸ）を示す情報を記憶する。
【００４３】
サービス管理端末４００−２は、自身の状態の問合せをサービス管理端末４００−１に送信する（ステップＳ３３）。サービス管理端末４００−１は、ステップＳ３２において受信したサービス管理端末４００−２の状態を示す情報を、サービス管理端末４００−２に送信する（ステップＳ３４）。サービス管理端末４００−２は、自身の状態と、ステップＳ３４においてサービス管理端末４００−１から送信された状態を示す情報とを比較し、一致すればサービス管理端末４００−１は正常であると判定し、一致しなければサービス管理端末４００−２は異常であると判定する。ここでは、サービス管理端末４００−１が、サービス管理端末４００−２の状態を示す情報として「ＸＸＸＸＸ」を通知しているので、サービス管理端末４００−２は、サービス管理端末４００−１は正常であると判定する。
【００４４】
この後、サービス管理端末４００−２の状態が、「ＸＸＸＸＸ」から「ＹＹＹＹＹ」に変化した場合の例を説明する。ここで、サービス管理端末４００−１が、過負荷などの原因により、サービス管理端末４００−２への状態問合せが出来ず、サービス管理端末４００−１において記憶したサービス管理端末４００−２の状態を示す情報を、「ＸＸＸＸＸ」から「ＹＹＹＹＹ」に更新できなかったとする。この場合、サービス管理端末４００−２は、サービス管理端末４００−１に対して自身の状態の問合せを行い（ステップＳ３５）、サービス管理端末４００−１から、状態を示す情報「ＸＸＸＸＸ」が応答される（ステップＳ３６）。サービス管理端末４００は、サービス管理端末４００−１から応答された状態を示す情報は、自身の状態と一致しないと判定して、サービス管理端末４００−１は異常であると判定する。この場合、サービス管理端末４００−２は、管理対象であるサービス実行装置１２００への監視処理を、サービス管理端末４００−１からサービス管理端末４００−２に切り替える。これにより、可用性の高い運用管理システムを実現することが可能である。
【００４５】
また、本実施形態では、仮想アプライアンス記憶部２０１、構成情報記憶部２０２、ポリシー情報記憶部２０３には、起動される情報サービスに対応する情報が予め記憶されている例を説明したが、これらの情報はユーザ端末３００からサービス実行装置２００に送信され、サービス実行装置２００に記憶されるようにしても良い。ここで、これらの情報は、ユーザ端末３００から予め送信され記憶されているようにしても良いし、ユーザ端末３００が、ユーザから入力された構成情報やポリシー情報が含まれる起動要求を生成し、サービス実行装置２００に送信するようにしても良い。
【００４６】
また、本実施形態では、情報サービスを提供する複数の仮想マシンが、複数の仮想化装置１００に分散して起動される例を説明したが、一台の仮想化装置１００に、情報サービスを提供する複数の仮想マシンが起動されていても良い。
以上説明したように、本実施形態によれば、仮想化装置１００に起動した複数の仮想マシンを、複数の仮想マシンが協調して提供する情報サービス単位で監視することが可能となり、ユーザにとっての情報サービスの運用負荷を低減させることが可能となる。
【００４７】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより情報サービスの監視、実行を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４８】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４９】
１  情報サービスシステム
１００  仮想化装置
２００  サービス実行装置
２０１  仮想アプライアンス記憶部
２０２  構成情報記憶部
２０３  ポリシー情報記憶部
２０４  起動要求受信部
２０５  仮想マシン起動部
２０６  仮想マシン状態監視部
２０７  状態情報記憶部
２０８  状態情報出力部
２０９  仮想マシン制御部
２１０  仮想マシン配置制御部
３００  ユーザ端末
４００  サービス管理端末
５００  物理マシン管理端末
【図１】
0005427504.tif 000002
【図２】
0005427504.tif 000003
【図３】
0005427504.tif 000004
【図４】
0005427504.tif 000005
【図５】
0005427504.tif 000006
【図６】
0005427504.tif 000007
【図７】
0005427504.tif 000008
【図８】
0005427504.tif 000009
【図９】
0005427504.tif 000010
【図１０】
0005427504.tif 000011