(57)【要約】【課題】仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握する。【解決手段】サーバ４と、このサーバ４が備えるハイパーバイザ４１によって具現化される仮想マシン７とを含んで構成されるリソースプール３の稼働率管理方法である。これら各仮想マシン７に稼働状態を問い合わせるステップと、この仮想マシン７のライフサイクルの遷移に基づき、この仮想マシン７が異常であるか否かを判断するステップと、この仮想マシン７の稼働状態に基づいて判断した、この仮想マシン７の稼働開始日時または／および停止日時を記録するステップとを実行する。【選択図】図１
2015215857.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理方法であって、
各前記仮想マシンに稼働状態を問い合わせるステップと、
前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するステップと、
前記仮想マシンの稼働状態に基づいて判断した当該仮想マシンの稼働開始日時または／および停止日時を記録するステップと、
を実行することを特徴とする仮想システムの稼働率管理方法。
【請求項２】
異常であると判断した前記仮想マシンを強制的に停止させるステップ、
を実行することを特徴とする請求項１に記載の仮想システムの稼働率管理方法。
【請求項３】
各前記仮想マシンに稼働状態を問い合わせた際にタイムアウトしたならば、当該仮想マシンが異常であると判断するステップ、
を実行することを特徴とする請求項１または請求項２に記載の仮想システムの稼働率管理方法。
【請求項４】
各前記仮想マシンのライフサイクルは、第１の稼働状態から第２の稼働状態に遷移した後において、前記第１の稼働状態には遷移しないように構成される、
ことを特徴とする請求項１に記載の仮想システムの稼働率管理方法。
【請求項５】
前記仮想マシンを具現化した前記サーバのハードウェア情報と、前記仮想マシンを具現化したイメージ情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計するステップと、
各前記仮想マシンの稼働時間の分布を算出するステップと、
を実行することを特徴とする請求項１に記載の仮想システムの稼働率管理方法。
【請求項６】
コンピュータに、請求項１ないし請求項５のいずれか１項に記載の仮想システムの稼働率管理方法を実行させるための仮想システムの稼働率管理プログラム。
【請求項７】
サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理装置であって、
各前記仮想マシンに稼働状態を問い合わせるデプロイメント管理部と、
前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するライフサイクル管理部と、
前記ライフサイクル管理部が、前記仮想マシンの稼働状態に基づいて判断した稼働開始日時または／および停止日時を記録する管理データベースと、
を備えることを特徴とする仮想システムの稼働率管理装置。
【請求項８】
前記仮想マシンが具現化される前記サーバのハードウェア情報と、前記仮想マシンを具現化するイメージ情報との組み合わせごとに、各前記仮想マシンの稼働時間の分布を算出する集計部、
を備えることを特徴とする請求項７に記載の仮想システムの稼働率管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化基盤を適用したネットワークサーバ装置におけるシステム稼働率を管理する仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置に関する。
【背景技術】
【０００２】
通信サービスには、高い稼働率が要求される。そのため、従来の通信装置は、詳細な稼働率設計のもとで高い稼働率を実現してきた。各通信装置に要求される稼働率は、この通信装置が故障したときに影響を受ける利用者の数から算出可能である。
このような高い稼働率を実現するために、信頼性の高いハードウェアを選択する方策がとられる場合がある。各ソフトウェアを組み合わせてシステムとして高い稼働率を達成できるように、各ソフトウェアに対して充分な試験を実施する方策がとられる場合がある。また、故障に備えてシステムを冗長化する方策や、保守者が即座に駆けつけて修理可能な体制とする方策がとられる場合がある。
【０００３】
近年では、ＶｏＩＰ（Voice over Internet Protocol）のセッション制御サーバのような通信装置に、仮想化技術を適用するという動きがある。例えば、非特許文献１のあらましには、「また、キャリア網を構成する通信制御サーバの仮想化・クラウド化が行われつつある。これらを前提とすると、プール化されたリソースを活用することで、キャリアグレードサーバに求められる無停止保守運用をより簡易に実施可能となる。」と記載されている。
仮想化が適用されたシステムにおいて、個々の通信装置は、仮想マシン（仮想サーバ）として実装され、物理サーバの集合であるサーバプール上で稼働される。通信サーバを稼働させる仮想マシンは、仮想化技術によってリソースプール上のどの物理サーバでも稼働させることができる。このような仮想化技術の例として、Ｌｉｎｕｘ（登録商標）上のＫＶＭ（Kernel-based Virtual Machine）や、オープンソースのクラウド基盤として知られているＯｐｅｎＳｔａｃｋ（登録商標）などがある。
このような仮想化技術により、或る物理サーバのハードウェア故障の際には、故障していない別の物理サーバ上で仮想マシンを立ち上げ直すことで、容易に仮想システムを復旧可能となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】西村豪生、岩佐絵里子、入江道生、「リソースプールを活用してキャリアグレード保守運用を実現する通信制御サーバミドルウェア」、電子情報通信学会技術研究報告、電子情報通信学会、２０１３年７月４日、第１１３巻、第１２４号、ICM2013-20、pp.63-68
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、仮想システムであるリソースプールが、それぞれ仕様の異なるハードウェアで構成される状況を考える。このような仮想システムは、仮想マシンを稼働させるハードウェアと、仮想マシン上のソフトウェアとの組み合わせによって、システムとしての稼働率に変動が生じる可能性がある。
仮想化技術が導入されていない従来の通信システムは、ハードウェアとソフトウェアとの組み合わせが少ない。よって、従来の通信システムは、ハードウェアとソフトウェアとを組み合わせたシステムの試験を充分に行い、その後にサービスを運用することが可能である。また従来の通信システムは、通信装置の稼働率をハードウェアの想定稼働率からあらかじめ見積もることも可能である。
しかし、仮想化技術が導入された通信システム（仮想システム）では、多様なサーバで構成されるリソースプール上で様々なサービスが提供されることになり、ハードウェアとソフトウェアとの組み合わせが多数になる。そのため、仮想システムは、ハードウェアとソフトウェアの全ての組み合わせにおいて、事前に試験を行うことは困難である。よって、仮想システムは、従来の通信システムのように、通信装置の稼働率をハードウェアの想定稼働率からあらかじめ見積もることができず、サービスとしての稼働率を見積もることが困難となる虞がある。
本発明は、前記した問題を解決し、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能な仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため、請求項１に記載の発明では、サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理方法であって、各前記仮想マシンに稼働状態を問い合わせるステップと、前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するステップと、前記仮想マシンの稼働状態に基づいて判断した当該仮想マシンの稼働開始日時または／および停止日時を記録するステップと、を実行することを特徴とする仮想システムの稼働率管理方法とした。
【０００７】
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能となる。ここで仮想化システムを構成するハードウェアとは、各サーバのハードウェアのことをいう。仮想化システムを構成するソフトウェアとは、各仮想マシンを具現化するためのソフトウェアイメージや、各仮想マシン上で動作するアプリケーションプログラムのことをいう。
【０００８】
請求項２に記載の発明では、異常であると判断した前記仮想マシンを強制的に停止させるステップ、を実行することを特徴とする請求項１に記載の仮想システムの稼働率管理方法とした。
【０００９】
このようにすることで、仮想マシンの異常状態を外部から検知して、いち早く停止させることができ、無駄なリソースを消費することが無くなる。それと共に、異常が発生した仮想マシンの代替をいち早く再起動することができるので、仮想化システムの稼働率を向上させることができる。
【００１０】
請求項３に記載の発明では、各前記仮想マシンに稼働状態を問い合わせた際にタイムアウトしたならば、当該仮想マシンが異常であると判断するステップ、を実行することを特徴とする請求項１または請求項２に記載の仮想システムの稼働率管理方法とした。
【００１１】
このようにすることで、仮想マシンが正常に応答できなくなった場合でも、この仮想マシンが異常停止したことを外部から検知可能となる。
【００１２】
請求項４に記載の発明では、各前記仮想マシンのライフサイクルは、第１の稼働状態から第２の稼働状態に遷移した後において、前記第１の稼働状態には遷移しないように構成される、ことを特徴とする請求項１に記載の仮想システムの稼働率管理方法とした。
【００１３】
このようにすることで、仮想マシンの監視周期が各状態の遷移期間よりも長い場合であっても、仮想マシンの状態遷移の異常を確実に検知できる。よって、仮想マシンとの通信間隔を長くして、システムのオーバヘッドを減らすことができる。
【００１４】
請求項５に記載の発明では、前記仮想マシンを具現化した前記サーバのハードウェア情報と、前記仮想マシンを具現化したイメージ情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計するステップと、各前記仮想マシンの稼働時間の分布を算出するステップとを実行することを特徴とする請求項１に記載の仮想システムの稼働率管理方法とした。
【００１５】
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率の分布を容易に把握可能となる。
【００１６】
請求項６に記載の発明では、コンピュータに、請求項１ないし請求項５のいずれか１項に記載の仮想システムの稼働率管理方法を実行させるための仮想システムの稼働率管理プログラムとした。
【００１７】
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を、コンピュータに算出させることができる。
【００１８】
請求項７に記載の発明は、サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理装置である。稼働率管理装置は、各前記仮想マシンに稼働状態を問い合わせるデプロイメント管理部と、前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するライフサイクル管理部と、このライフサイクル管理部が前記仮想マシンの稼働状態に基づいて判断した稼働開始日時または／および停止日時を記録する管理データベースとを備えることを特徴とする。
【００１９】
このようにすることで、この稼働率管理装置に、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を管理させることができる。
【００２０】
請求項８に記載の発明では、前記仮想マシンが具現化される前記サーバのハードウェア情報と、前記仮想マシンを具現化するイメージ情報との組み合わせごとに、各前記仮想マシンの稼働時間の分布を算出する集計部、を備えることを特徴とする請求項７に記載の仮想システムの稼働率管理装置とした。
【００２１】
このようにすることで、この稼働率管理装置に、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率の分布を算出させることができる。
【発明の効果】
【００２２】
本発明によれば、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能な仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置を提供することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態におけるリソースプールの概略を示す構成図である。
【図２】本実施形態におけるサーバとリソースプール管理サーバを示す構成図である。
【図３】本実施形態における仮想マシンのライフサイクルを示すモード遷移図である。
【図４】本実施形態におけるＶＭデプロイメント管理データベースを示す図である。
【図５】本実施形態におけるサーバ管理データベースを示す図である。
【図６】本実施形態におけるサーバ状態管理データベースを示す図である。
【図７】本実施形態における仮想マシンのライフサイクルの管理処理を示すフローチャートである。
【図８】本実施形態における集計処理を示すフローチャートである。
【図９】本実施形態における仮想マシン単位での稼働時間集計グラフの一例である。
【発明を実施するための形態】
【００２４】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
図１は、本実施形態におけるリソースプール３の概略を示す構成図である。
仮想化システムであるリソースプール３は、ネットワーク２に接続され、このネットワーク２を介して１または複数のクライアント端末１と通信可能である。この図１の例では、３台のクライアント端末１がネットワーク２に接続されている。
リソースプール３は、１または複数の物理サーバであるサーバ４と、リソースプール管理サーバ５を含んで構成される。この図１の例では、３台の物理サーバであるサーバ４が配備されている。
リソースプール管理サーバ５は、サービス運用端末６を介してオペレータの操作を受付け、その指示によって各サーバ４に仮想マシンを具現化する。リソースプール管理サーバ５は、稼働率管理装置であり、このリソースプール３（仮想システム）の稼働率を管理する。
サーバ４は、具現化した仮想マシンにより、ネットワーク２を介してクライアント端末１にサービスを提供する。
【００２５】
図２は、本実施形態におけるサーバ４とリソースプール管理サーバ５とを示す構成図である。
サーバ４は、仮想マシン７の具現化手段であるハイパーバイザ４１と、状態通知部４２とを含んで構成される。状態通知部４２は、リソースプール管理サーバ５に自身の状態を通知する。これにより、仮想マシン７の状態と異常の有無とを外部から把握することができる。
ハイパーバイザ４１は、ＶＭ（Virtual Machine）イメージＡに基づき、仮想マシン７を起動して具現化する。なお、図面および明細書において、仮想マシンを「ＶＭ」と表記している場合がある。
仮想マシン７は、アプリケーション７１と、ライフサイクル通知部７２と、自身を具現化したＶＭイメージＡを格納するＶＭイメージファイル７３とを含んで構成される。
アプリケーション７１は、クライアント端末１にサービスを提供する。ライフサイクル通知部７２は、自身の状態がライフサイクルのいずれであるかを、リソースプール管理サーバ５に通知する。
【００２６】
リソースプール管理サーバ５（稼働率管理装置）は、デプロイメント管理部５１と、サーバ管理部５５と、集計部５８とを含んで構成される。リソースプール管理サーバ５は更に、ＶＭデプロイメント管理データベース５３と、ＶＭイメージリポジトリ５４と、サーバ管理データベース５６と、サーバ状態管理データベース５７とを、不図示の記憶部に格納する。
【００２７】
デプロイメント管理部５１は、ライフサイクル管理部５２を含んで構成され、各サーバ４上に具現化された各仮想マシン７の状態と異常の有無とを管理する。デプロイメント管理部５１は、サービス運用端末６から仮想マシン７の起動指示を受けると、各ＶＭイメージファイル５４１の中から、起動指示で指定されたＶＭイメージファイルをサーバ４に転送する。サーバ４のハイパーバイザ４１は、デプロイメント管理部５１に転送されたＶＭイメージファイルにより、仮想マシン７を起動して具現化する。
【００２８】
ライフサイクル管理部５２は、仮想マシン７のライフサイクル通知部７２から状態を取得し、この仮想マシン７の状態遷移が正しいか否かを管理する。これにより、仮想マシン７の異常の有無を正確に把握可能となる。デプロイメント管理部５１とライフサイクル管理部５２とは、ＶＭデプロイメント管理データベース５３を参照して処理を実行し、処理結果をＶＭデプロイメント管理データベース５３に反映させる。
仮想マシン７のライフサイクル通知部７２は、ライフサイクル管理部５２からの状態問い合わせ要求に対して、仮想マシン７の状態を通知する。ライフサイクル通知部７２は、仮想マシン７の現在の状態と直前の状態とに基づいて、状態遷移が正しいか否かを判断することにより、異常の有無を判断する。ライフサイクル管理部５２からの状態問い合わせ要求は、ＨＴＴＰ（Hypertext Transfer Protocol）やＳＮＭＰ（Simple Network Management Protocol）などの任意のプロトコルで実装すればよく、特定のプロトコルに依存しない。
また、仮想マシン７のライフサイクル通知部７２から正常な状態通知が行われなかった場合、ライフサイクル管理部５２は、この仮想マシン７が異常停止したと判断する。ライフサイクル管理部５２は、ＶＭデプロイメント管理データベース５３に、この仮想マシン７が異常停止した旨と、その停止日時とを記録する。ライフサイクル通知部７２から正常な状態通知が行われなかった場合とは、例えば、状態通知が所定時間内に返ってこないなどの場合である。
【００２９】
ＶＭイメージリポジトリ５４は、各ＶＭイメージファイル５４１を格納する。ＶＭイメージファイル５４１は、仮想マシン７を起動させるためのソフトウェアの集合としてのブートイメージであり、例えば、予めサービス運用端末６からアップロードされる。図２に示す例では、イメージＡ，Ｂ，ＣがＶＭイメージリポジトリ５４に格納される。
サーバ管理部５５は、サーバ管理データベース５６とサーバ状態管理データベース５７とに基づき、各サーバ４の状態を管理する。サーバ管理データベース５６は、サーバ４のハードウェア仕様を管理するデータベースである。サーバ状態管理データベース５７は、サーバ４の状態を管理するデータベースである。サーバ管理部５５は、サーバ管理データベース５６を参照して、各サーバ４のハードウェアの仕様情報を取得し、各サーバ４の仕様情報と状態とをサーバ状態管理データベース５７に記録する。
集計部５８は、サーバ状態管理データベース５７を参照して、ＶＭイメージファイル５４１毎にハードウェア仕様と稼働時間の分布を集計する。これにより、リソースプール３の運用者は、ハードウェア（仕様情報）とソフトウェア（ＶＭイメージ）の各組み合わせにおける各稼働率を把握し、それら特定の組み合わせにおける稼働率の低下も把握することができる。
【００３０】
図３は、本実施形態における仮想マシン７のライフサイクルを示すモード遷移図である。
イメージＡに基づき、ハイパーバイザ４１が仮想マシン７を起動して具現化すると、起動中状態Ｍ１０に遷移する。
起動中状態Ｍ１０とは、仮想マシン７がサーバ４上に構成中の中間状態である。このとき仮想マシン７は、アプリケーション７１を稼働できない。
起動中状態Ｍ１０において、仮想マシン７の構成が完了すると、この仮想マシン７は、稼働中状態Ｍ１１に遷移する。仮想マシン７の異常が検知されると、この仮想マシン７は、異常停止状態Ｍ１４に遷移する。それ以外では、この仮想マシン７は、起動中状態Ｍ１０を維持する。
【００３１】
稼働中状態Ｍ１１とは、仮想マシン７をサーバ４上に構成済の状態である。このとき仮想マシン７は、アプリケーション７１を稼働できる。
稼働中状態Ｍ１１において、仮想マシン７に停止が指示されると、この仮想マシン７は、停止中状態Ｍ１２に遷移する。仮想マシン７の異常が検知されると、この仮想マシン７は、異常停止状態Ｍ１４に遷移する。それ以外では、この仮想マシン７は、稼働中状態Ｍ１１を維持する。
停止中状態Ｍ１２とは、仮想マシン７を停止するための中間状態である。このとき仮想マシン７は、稼働していたアプリケーション７１（図２参照）を停止する。
【００３２】
停止中状態Ｍ１２において、仮想マシン７が停止すると、この仮想マシン７は正常停止状態Ｍ１３に遷移する。
正常停止状態Ｍ１３は、この仮想マシン７が正常に停止した状態である。この仮想マシン７は、正常停止状態Ｍ１３を経たのちに動作を終了する。
異常停止状態Ｍ１４は、異常が発生したことにより、この仮想マシン７が停止した状態である。予期しない状態遷移を検知した場合と、ライフサイクル通知部７２（図２参照）から正常な状態通知が行われなかった場合、この仮想マシン７は、異常停止状態Ｍ１４に遷移する。この仮想マシン７は、異常停止状態Ｍ１４を経たのちに動作を終了する。
図３に示すように、仮想マシン７は、一方向に状態遷移し、再び同一の状態に遷移する場合は無い。すなわち、仮想マシン７のライフサイクルは、第１の稼働状態から第２の稼働状態に遷移した後において、この第１の稼働状態には遷移しないように構成される。これにより、仮想マシン７の監視周期が各状態の遷移期間よりも長い場合であっても、ライフサイクル管理部５２（図２参照）は、予期しない状態遷移である状態遷移の異常を容易に検知可能となる。よって、リソースプール管理サーバ５は、仮想マシン７との通信間隔を長くして、仮想化システムの監視のオーバヘッドを減らすことができる。
【００３３】
図４は、本実施形態におけるＶＭデプロイメント管理データベース５３を示す図である。
ＶＭデプロイメント管理データベース５３（管理データベース）は、ＶＭＩＤ欄と、サービスＩＤ欄と、サーバＩＤ欄と、イメージＩＤ欄と、ＶＭ稼働状態欄と、稼働開始日時欄と、停止日時欄とを含んで構成される。
ＶＭＩＤ欄には、管理対象の各仮想マシン７の識別情報が格納される。
サービスＩＤ欄には、この仮想マシン７がクライアント端末１に提供するサービスの識別情報が格納される。
サーバＩＤ欄には、この仮想マシン７を具現化したサーバ４の識別情報が格納される。サーバ４の識別情報に基づき、サーバ管理データベース５６の仕様情報欄の情報を取得することができる。サーバ管理データベース５６の仕様情報欄の情報は、この仮想マシン７を具現化したハードウェアの情報である。
【００３４】
イメージＩＤ欄には、この仮想マシン７を具現化した際のＶＭイメージファイル５４１の識別情報が格納される。ＶＭイメージファイル５４１の識別情報とは、この仮想マシン７に係るソフトウェアの情報である。
ＶＭ稼働状態欄には、この仮想マシン７の状態が格納される。この仮想マシン７の状態とは、図３に示した各状態である。
稼働開始日時欄には、この仮想マシン７が最初に稼働中状態Ｍ１１（図３参照）に遷移したことを検知した日時の情報が格納される。
停止日時欄は、この仮想マシン７が最初に停止中状態Ｍ１２または異常停止状態Ｍ１４に遷移したことを検知した日時の情報が格納される。
【００３５】
停止日時と稼働開始日時との差分により、各仮想マシン７の故障間隔を知ることができる。更に、ハードウェアとソフトウェアとの組み合わせと、仮想マシン７の故障間隔とにより、集計部５８が仮想化システムを構成するハードウェアとソフトウェアとの各組み合わせにおける稼働率を算出である。
また、ＶＭＩＤ欄の００４，００５で例示しているように、ＶＭデプロイメント管理データベース５３により、異常終了した仮想マシン７と同一のサービスＩＤを有する仮想マシン７の再起動が検出できる。同一のサービスＩＤを有する仮想マシン７とは、異常終了した仮想マシン７の代替である。異常終了した仮想マシン７の停止日時と、これと同一のサービスＩＤを有する仮想マシン７の稼働開始日時との差を集計することで、平均的な復旧時間を知ることができる。
【００３６】
図５は、本実施形態におけるサーバ管理データベース５６を示す図である。
サーバ管理データベース５６は、サーバＩＤ欄と、仕様情報欄とを含んで構成される。
サーバＩＤ欄には、この仮想マシン７を具現化したサーバ４の識別情報が格納される。このサーバ４の識別情報は、ＶＭデプロイメント管理データベース５３（図４参照）のサーバＩＤ欄に格納される識別情報と共通している。
仕様情報欄には、このサーバ４のハードウェア仕様に係る情報が格納される。
【００３７】
図６は、本実施形態におけるサーバ状態管理データベース５７を示す図である。
サーバ管理データベース５６は、サーバＩＤ欄と、サーバ稼働状態欄と、稼働開始日時欄と、停止日時欄とを含んで構成される。
サーバＩＤ欄には、この仮想マシン７を具現化したサーバ４の識別情報が格納される。このサーバ４の識別情報は、ＶＭデプロイメント管理データベース５３（図４参照）のサーバＩＤ欄に格納される識別情報と共通している。
サーバ稼働状態欄には、このサーバ４の状態が格納される。サーバ４の状態は、図３に示す仮想マシン７の各状態と同様である。
稼働開始日時欄には、このサーバ４が最初に稼働中の状態に遷移したことを検知した日時の情報が格納される。なお、このサーバ４の稼働中の状態とは、このサーバ４がハイパーバイザ４１を具現化可能となった状態のことをいう。
停止日時欄は、このサーバ４が最初に停止中または異常停止に遷移したことを検知した日時の情報が格納される。サーバ４の停止中の状態とは、このサーバ４が正常停止するための過渡的な状態のことをいう。
サーバ状態管理データベース５７により、各サーバ４の故障間隔を知ることができる。更に、各サーバ４の故障間隔と、各仮想マシン７の故障間隔とを比較することにより、仮想マシン７の故障が上位層であるサーバ４の故障によるものであるか、または、仮想マシン７自身の故障によるものであるのかを切り分け可能となる。
【００３８】
図７は、本実施形態における仮想マシン７のライフサイクルの管理処理を示すフローチャートである。
デプロイメント管理部５１は、サーバ４に仮想マシン７を具現化するように指示すると、図７の管理処理を開始する。
ステップＳ１０において、デプロイメント管理部５１は、仮想マシン７の稼働状態を、起動中状態Ｍ１０（図３参照）に設定し、かつＶＭデプロイメント管理データベース５３に新たなレコードを作成して、この稼働状態を記録する。
ステップＳ１１において、デプロイメント管理部５１は、所定時間だけ停止する。
ステップＳ１２において、デプロイメント管理部５１は、仮想マシン７のライフサイクル通知部７２に、現在の稼働状態を問い合わせる。
ステップＳ１３において、デプロイメント管理部５１は、状態取得に係るエラーが発生したか否かを判断する。デプロイメント管理部５１は、状態取得に係るエラーが発生したならば（Ｙｅｓ）、ステップＳ２４の処理を行い、状態取得に係るエラーが発生しなかったならば（Ｎｏ）、ステップＳ１４の処理を行う。ここで状態取得に係るエラーとは、例えばタイムアウトエラーやＣＲＣ（Cyclic Redundancy Check）エラーなどである。
【００３９】
ステップＳ１４，Ｓ１５，Ｓ１６，Ｓ１９において、デプロイメント管理部５１は、
仮想マシン７のライフサイクルの遷移に基づき、この仮想マシン７が異常であるか否かを判断する。
ステップＳ１４において、デプロイメント管理部５１は、現在の稼働状態がいずれであるかを判断する。デプロイメント管理部５１は、現在の稼働状態が起動中状態Ｍ１０ならば、ステップＳ１５の処理を行い、現在の稼働状態が稼働中状態Ｍ１１ならば、ステップＳ１６の処理を行い、現在の稼働状態が停止中状態Ｍ１２ならば、ステップＳ１９の処理を行い、現在の稼働状態が正常停止状態Ｍ１３ならば、ステップＳ２２の処理を行う。
ステップＳ１５において、デプロイメント管理部５１は、前回設定した仮想マシン７の稼働状態を判断する。デプロイメント管理部５１は、稼働状態が起動中状態Ｍ１０ならば、ノードＡを介してステップＳ１１の処理に戻り、それ以外の場合にはステップＳ２４の処理を行う。
【００４０】
ステップＳ１６において、デプロイメント管理部５１は、前回設定した仮想マシン７の稼働状態を判断する。デプロイメント管理部５１は、稼働状態が起動中状態Ｍ１０ならば、ステップＳ１７の処理を行い、稼働状態が稼働中状態Ｍ１１ならば、ノードＡを介してステップＳ１１の処理に戻り、それ以外の場合には、ステップＳ２４の処理を行う。
ステップＳ１７において、デプロイメント管理部５１は、仮想マシン７の稼働状態を稼働中状態Ｍ１１に設定し、かつＶＭデプロイメント管理データベース５３にも記録する。
ステップＳ１８において、デプロイメント管理部５１は、ＶＭデプロイメント管理データベース５３に稼働開始日時を記録する。デプロイメント管理部５１は、ステップＳ１８の処理が終了すると、ノードＡを介してステップＳ１１の処理に戻る。
【００４１】
ステップＳ１９において、デプロイメント管理部５１は、前回設定した仮想マシン７の稼働状態を判断する。デプロイメント管理部５１は、稼働状態が起動中状態Ｍ１０ならば、ステップＳ２０の処理を行い、稼働状態が稼働中状態Ｍ１１ならば、ステップＳ２１の処理を行い、稼働状態が停止中状態Ｍ１２ならば、ノードＡを介してステップＳ１１の処理に戻り、それ以外の場合にはステップＳ２４の処理を行う。
ステップＳ２０において、デプロイメント管理部５１は、この仮想マシン７の稼働状態に基づいて、この仮想マシン７が稼働開始したと判断し、ＶＭデプロイメント管理データベース５３に稼働開始日時を記録する。
ステップＳ２１において、デプロイメント管理部５１は、仮想マシン７の稼働状態を停止中状態Ｍ１２に設定し、かつＶＭデプロイメント管理データベース５３に、この稼働状態を記録する。デプロイメント管理部５１は、ノードＡを介してステップＳ１１の処理に戻る。
【００４２】
ステップＳ２２において、デプロイメント管理部５１は、仮想マシン７の稼働状態を正常停止状態Ｍ１３に設定し、かつＶＭデプロイメント管理データベース５３に、この稼働状態を記録する。
ステップＳ２３において、デプロイメント管理部５１は、この仮想マシン７の稼働状態に基づいて、この仮想マシン７が稼働停止したと判断し、ＶＭデプロイメント管理データベース５３に停止日時を記録して、図７の処理を終了する。
【００４３】
ステップＳ２４において、デプロイメント管理部５１は、仮想マシン７を強制的に停止させる。仮想マシン７の停止は、ハイパーバイザ４１によって行われる。これにより、異常が発生した仮想マシン７により、無駄なリソースを消費することが無くなる。それと共に、代替の仮想マシン７をいち早く再起動することができるので、リソースプール３（仮想化システム）の稼働率を向上させることができる。
ステップＳ２５において、デプロイメント管理部５１は、仮想マシン７の稼働状態を異常停止状態Ｍ１４に設定し、かつＶＭデプロイメント管理データベース５３に、この稼働状態を記録する。
ステップＳ２６において、デプロイメント管理部５１は、この仮想マシン７の稼働状態または状態取得に係るエラーの有無に基づいて、この仮想マシン７が稼働停止したと判断する。デプロイメント管理部５１は、ＶＭデプロイメント管理データベース５３に停止日時を記録し、図７の処理を終了する。
この管理処理により、デプロイメント管理部５１は、仮想マシン７の稼働状態が不正に遷移した場合や稼働状態の問い合わせに失敗した場合などに、この仮想マシン７を異常状態と判定し、強制停止することができる。仮想マシン７の稼働状態が不正に遷移した場合とは、例えば稼働中状態Ｍ１１から起動中状態Ｍ１０に遷移した場合などである。
【００４４】
長期的に運用を続けると、ＶＭデプロイメント管理データベース５３には、仮想マシン７の稼働データが蓄積する。これを集計すると、仮想マシン７の平均的な故障間隔や復旧時間を知ることができる。例えば、ＶＭデプロイメント管理データベース５３のＶＭ稼働状態欄が異常終了となっているレコードについて、停止日時と稼働開始日時との差を集計することにより、平均的な仮想マシン７の故障間隔を知ることができる。
【００４５】
また、集計部５８が、ＶＭイメージを具現化した各ハードウェア仕様と稼働時間との分布を集計することにより、特定のハードウェア（仕様情報）とソフトウェア（ＶＭイメージ）との組み合わせによって発生する稼働率の低下を把握可能である。
サーバ４の平均異常停止回数は、全体の異常停止回数をサーバ４の台数で除算して求められる。集計部５８が、サーバＩＤとＶＭイメージＩＤとの組み合わせによる仮想マシン７の異常停止回数と、各サーバ４の平均異常停止回数とを比較することで、特定のサーバ４とＶＭイメージファイル５４１との組み合わせで発生する不具合を把握可能である。
【００４６】
図８は、本実施形態における集計処理を示すフローチャートである。
ステップＳ４０において、集計部５８は、ＶＭデプロイメント管理データベース５３を、サーバＩＤに紐付けたサーバ４の仕様情報と、ＶＭイメージＩＤとでソートする。ここで、サーバＩＤとサーバ４の仕様情報とは、サーバ管理データベース５６によって紐付けることができる。
ステップＳ４１において、集計部５８は、仕様情報とＶＭイメージＩＤとの組み合わせごとの各仮想マシン７の稼働時間を集計する。仮想マシン７の稼働時間は、停止日時と稼働開始日時との差によって算出される。
ステップＳ４２において、集計部５８は、仕様情報とＶＭイメージＩＤとの各組み合わせによる仮想マシン７の稼働時間の分布を算出する。
ステップＳ４３において、集計部５８は、仮想マシン７の稼働時間の分布をグラフに表示し、図８の処理を終了する。
【００４７】
図９は、本実施形態における仮想マシン７単位での稼働時間集計グラフの一例である。
稼働時間集計グラフの横軸は、ハードウェアとソフトウェアとの組み合わせを示している。稼働時間集計グラフの縦軸は、ＶＭ稼働時間を示している。ここでは、ハードウェアが仕様Ｐで、かつソフトウェアがイメージＡの組み合わせのときに、特に仮想マシン７の稼働時間が短くなり、よって稼働率が悪いことが判る。
【００４８】
本実施形態では、リソースプール管理サーバ５は、仮想マシン７のライフサイクル管理によって稼働状態を把握してＶＭデプロイメント管理データベース５３に記録する。また、リソースプール管理サーバ５は、ＶＭデプロイメント管理データベース５３に蓄積された情報を集計する。これにより、リソースプール３の運用者は、ハードウェアとソフトウェアの組み合わせによる不具合等を把握可能となる。よって、運用者は、得られた情報から仮想マシン７の配置改善やソフトウェアの修正などを行うことで、仮想システムの稼働率を向上可能である。運用者は、このような組み合わせを回避することによっても、通信システムの仮想化によって発生した稼働率の低下を軽減可能である。
【００４９】
上記実施形態の各処理部は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体に記憶して提供することが可能である。また、そのプログラムを、インターネットなどのネットワークを通して提供することも可能である。
【符号の説明】
【００５０】
１  クライアント端末
２  ネットワーク
３  リソースプール  （仮想化システム）
４  サーバ
４１  ハイパーバイザ
４２  状態通知部
５  リソースプール管理サーバ  （稼働率管理装置）
５１  デプロイメント管理部
５２  ライフサイクル管理部
５３  ＶＭデプロイメント管理データベース  （管理データベース）
５４  ＶＭイメージリポジトリ
５４１  ＶＭイメージファイル
５５  サーバ管理部
５６  サーバ管理データベース
５７  サーバ状態管理データベース
５８  集計部
６  サービス運用端末
７  仮想マシン
７１  アプリケーション
７２  ライフサイクル通知部
７３  ＶＭイメージファイル
【図１】
2015215857.tif 000003
【図２】
2015215857.tif 000004
【図３】
2015215857.tif 000005
【図４】
2015215857.tif 000006
【図５】
2015215857.tif 000007
【図６】
2015215857.tif 000008
【図７】
2015215857.tif 000009
【図８】
2015215857.tif 000010
【図９】
2015215857.tif 000011