(57)【要約】  複数の計算機を備える計算機システムであって、複数の計算機は、ＶＭを管理するハイパバイザが稼働する複数の業務計算機、及びアプリケーションを実行する仮想計算機の配置を管理する配置管理計算機を含み、配置管理計算機は、業務計算機上で実行されるプロセスのプロセス優先度に基づいて、ＳＬＡの対象のアプリケーションを実行するＶＭが配置されたハイパバイザから当該ＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量の予測値である割当リソース量を算出するリソース量算出部と、割当リソース量に基づいて、ＳＬＡの対象のアプリケーションを実行するＶＭの配置先となるハイパバイザを選択し、選択されたハイパバイザにＳＬＡの対象のアプリケーションを実行するＶＭの配置を指示する配置命令実行部とを有する。
2017216891.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機を備える計算機システムであって、
前記複数の計算機は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるインタフェースを有し、
前記複数の計算機は、仮想計算機を管理する仮想化制御部が稼働する複数の業務計算機、アプリケーションを実行する前記仮想計算機の配置を管理する配置管理計算機、及び前記仮想化制御部を制御する仮想化制御部管理計算機を含み、
前記配置管理計算機は、
前記業務計算機上で実行されるプロセスのプロセス優先度に基づいて、サービス品質保証の対象のアプリケーションを実行する前記仮想計算機が配置された前記仮想化制御部から当該サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量の予測値である割当リソース量を算出するリソース量算出部と、
前記割当リソース量に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置先となる前記仮想化制御部を選択し、前記選択された仮想化制御部に前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置を指示する配置命令実行部と、を有し、
前記仮想化制御部管理計算機は、前記配置命令実行部からの指示に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の設定を前記選択された仮想化制御部に指示する制御部を有することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報、及び前記仮想化制御部が管理する前記仮想計算機のプロセス優先度を管理するための第２プロセス優先度情報を管理し、
前記リソース量算出部は、
移動対象の仮想計算機の識別情報、前記移動対象の仮想計算機上で実行される前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択し、
前記第２プロセス優先度情報を参照して、前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する前記仮想計算機のプロセス優先度を取得し、
前記第１プロセス優先度情報を参照して、前記移動対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得し、
前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する仮想計算機のプロセス優先度に基づいて、前記対象の仮想化制御部から前記移動対象の仮想計算機に割り当てられる計算機リソース量である第１リソース量を算出し、
前記移動対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記移動対象の仮想計算機から前記サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量である第２リソース量を算出し、
前記第１リソース量及び前記第２リソース量に基づいて、前記割当リソース量を算出し、
前記配置命令実行部は、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報を管理し、
前記リソース量算出部は、
移動対象であり、かつ、前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択し、
前記対象の仮想化制御部が管理する少なくとも一つの前記仮想計算機の中から対象の仮想計算機を選択し、
前記第１プロセス優先度情報を参照して、前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得し、
前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記割当リソース量を算出し、
前記配置命令実行部は、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択することを特徴とする計算機システム。
【請求項４】
請求項２又は請求項３に記載の計算機システムであって、
前記配置命令実行部は、前記割当リソース量が前記サービス品質保証の値以上であり、かつ、前記サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量が最も多くなる前記仮想化制御部を選択することを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記仮想化制御部は、前記仮想計算機のプロセス優先度を取得する第１プロセス優先度取得部を有し、
前記仮想化制御部及び前記仮想計算機の少なくともいずれか一方は、前記アプリケーションのプロセス優先度を取得する第２プロセス優先度取得部を有することを特徴とする計算機システム。
【請求項６】
請求項４に記載の計算機システムであって、
前記配置管理計算機は、前記複数の業務計算機が有する計算機リソースの性能値を管理する構成情報、及び前記計算機リソースの使用量を管理するリソース使用量情報を管理し、
前記リソース量算出部は、
前記構成情報を参照して、前記対象の仮想化制御部が稼動する前記業務計算機が有する前記計算機リソースの性能値を取得し、
前記リソース使用量情報を参照して、前記対象の仮想化制御部が稼動する前記業務計算機における前記計算機リソースの使用量を取得し、
前記対象の仮想化制御部が稼動する前記業務計算機が有する前記計算機リソースの性能値、及び前記対象の仮想化制御部が稼動する前記業務計算機における前記計算機リソース量の使用量に基づいて、前記割当リソース量を補正し、
前記配置命令実行部は、前記補正された割当リソース量に基づいて、前記仮想化制御部を選択することを特徴とする計算機システム。
【請求項７】
複数の計算機を備える計算機システムの制御方法であって、
前記複数の計算機は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるインタフェースを有し、
前記複数の計算機は、仮想計算機を管理する仮想化制御部が稼働する複数の業務計算機、アプリケーションを実行する前記仮想計算機の配置を管理する配置管理計算機、及び前記仮想化制御部を制御する仮想化制御部管理計算機を含み、
前記計算機システムの制御方法は、
前記配置管理計算機が、前記業務計算機上で実行されるプロセスのプロセス優先度に基づいて、サービス品質保証の対象のアプリケーションを実行する前記仮想計算機が配置された前記仮想化制御部から当該サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量の予測値である割当リソース量を算出する第１のステップと、
前記配置管理計算機が、前記割当リソース量に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置先となる前記仮想化制御部を選択する第２のステップと、
前記配置管理計算機が、前記選択された仮想化制御部に前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置を指示する第３のステップと、
前記仮想化制御部管理計算機が、前記配置管理計算機からの指示に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の設定を前記選択された仮想化制御部に指示する第４のステップと、を含むことを特徴とする計算機システムの制御方法。
【請求項８】
請求項７に記載の計算機システムの制御方法であって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報、及び前記仮想化制御部が管理する前記仮想計算機のプロセス優先度を管理するための第２プロセス優先度情報を管理し、
前記第１のステップは、
前記配置管理計算機が、移動対象の仮想計算機の識別情報、前記移動対象の仮想計算機上で実行される前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択するステップと、
前記配置管理計算機が、前記第２プロセス優先度情報を参照して、前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する仮想計算機のプロセス優先度を取得するステップと、
前記配置管理計算機が、前記第１プロセス優先度情報を参照して、前記移動対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得するステップと、
前記配置管理計算機が、前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する仮想計算機のプロセス優先度に基づいて、前記対象の仮想化制御部から前記移動対象の仮想計算機に割り当てられる計算機リソース量である第１リソース量を算出するステップと、
前記配置管理計算機が、前記移動対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記移動対象の仮想計算機から前記サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量である第２リソース量を算出するステップと、
前記配置管理計算機が、前記第１リソース量及び前記第２リソース量に基づいて、前記割当リソース量を算出するステップと、を含み、
前記第２のステップでは、前記配置管理計算機が、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択することを特徴とする計算機システムの制御方法。
【請求項９】
請求項７に記載の計算機システムの制御方法であって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報を管理し、
前記第１のステップは、
前記配置管理計算機が、移動対象であり、かつ、前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択するステップと、
前記配置管理計算機が、前記対象の仮想化制御部が管理する少なくとも一つの前記仮想計算機の中から対象の仮想計算機を選択するステップと、
前記配置管理計算機が、前記第１プロセス優先度情報を参照して、前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得するステップと、
前記配置管理計算機が、前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記割当リソース量を算出するステップと、を含み、
前記第２のステップでは、前記配置管理計算機が、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択することを特徴とする計算機システムの制御方法。
【請求項１０】
請求項８又は請求項９に記載の計算機システムの制御方法であって、
前記第２のステップでは、前記配置管理計算機が、前記割当リソース量が前記サービス品質保証の値以上であり、かつ、前記サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量が最も多くなる前記仮想化制御部を選択することを特徴とする計算機システムの制御方法。
【請求項１１】
請求項１０に記載の計算機システムの制御方法であって、
前記計算機システムの制御方法は、
前記仮想化制御部が、前記仮想計算機のプロセス優先度を取得するステップと、
前記仮想化制御部及び前記仮想計算機の少なくともいずれか一方が、前記アプリケーションのプロセス優先度を取得するステップと、を含むことを特徴とする計算機システムの制御方法。
【請求項１２】
請求項１０に記載の計算機システムの制御方法であって、
前記配置管理計算機は、前記複数の業務計算機が有する計算機リソースの性能値を管理する構成情報、及び前記計算機リソースの使用量を管理するリソース使用量情報を管理し、
前記第１のステップは、
前記配置管理計算機が、前記構成情報を参照して、前記対象の仮想化制御部が稼動する前記業務計算機が有する前記計算機リソースの性能値を取得するステップと、
前記配置管理計算機が、前記リソース使用量情報を参照して、前記対象の仮想化制御部が稼動する前記業務計算機における前記計算機リソースの使用量を取得するステップと、
前記配置管理計算機が、前記対象の仮想化制御部が稼動する前記業務計算機が有する前記計算機リソースの性能値、及び前記対象の仮想化制御部が稼動する前記業務計算機における前記計算機リソース量の使用量に基づいて、前記割当リソース量を補正するステップと、を含み、
前記第２のステップでは、前記配置管理計算機が、前記補正された割当リソース量に基づいて、前記仮想化制御部を選択することを特徴とする計算機システムの制御方法。
【請求項１３】
仮想計算機を管理する仮想化制御部が稼働する複数の計算機と接続する配置管理計算機が実行するプログラムであって、
前記配置管理計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有し、
前記プログラムは、
前記業務計算機上で実行されるプロセスのプロセス優先度に基づいて、サービス品質保証の対象のアプリケーションを実行する前記仮想計算機が配置された前記仮想化制御部から当該サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量の予測値である割当リソース量を算出する第１の手順と、
前記割当リソース量に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置先となる前記仮想化制御部を選択する第２の手順と、
前記選択された仮想化制御部に前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置を指示する第３の手順と、
前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置の指示に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の設定を前記選択された仮想化制御部に指示する第４の手順と、を前記配置管理計算機に実行させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報、及び前記仮想化制御部が管理する前記仮想計算機のプロセス優先度を管理するための第２プロセス優先度情報を管理し、
前記第１の手順は、
移動対象の仮想計算機の識別情報、前記移動対象の仮想計算機上で実行される前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択する手順と、
前記第２プロセス優先度情報を参照して、前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する前記仮想計算機のプロセス優先度を取得する手順と、
前記第１プロセス優先度情報を参照して、前記移動対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得する手順と、
前記移動対象の仮想計算機のプロセス優先度、及び前記対象の仮想化制御部が管理する仮想計算機のプロセス優先度に基づいて、前記対象の仮想化制御部から前記移動対象の仮想計算機に割り当てられる計算機リソース量である第１リソース量を算出する手順と、
前記移動対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記移動対象の仮想計算機から前記サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量である第２リソース量を算出する手順と、
前記第１リソース量及び前記第２リソース量に基づいて、前記割当リソース量を算出する手順と、を含み、
前記第２の手順は、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択する手順を含むことを特徴とするプログラム。
【請求項１５】
請求項１３に記載のプログラムであって、
前記配置管理計算機は、前記仮想計算機上における前記アプリケーションのプロセス優先度を管理するための第１プロセス優先度情報を管理し、
前記第１の手順は、
移動対象であり、かつ、前記サービス品質保証の対象のアプリケーションの識別情報、及び前記サービス品質保証の値を含むインスタンスの移動要求を受け付けた場合、複数の前記仮想化制御部の中から対象の仮想化制御部を選択する手順と、
前記対象の仮想化制御部が管理する少なくとも一つの前記仮想計算機の中から対象の仮想計算機を選択する手順と、
前記第１プロセス優先度情報を参照して、前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行する前記アプリケーションのプロセス優先度を取得する手順と、
前記サービス品質保証の対象のアプリケーションのプロセス優先度、及び前記対象の仮想計算機が実行するアプリケーションのプロセス優先度に基づいて、前記割当リソース量を算出する手順と、を含み、
前記第２の手順は、前記割当リソース量及び前記サービス品質保証の値に基づいて、前記仮想化制御部を選択する手順を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを実行する仮想計算機の制御方法に関する。
【背景技術】
【０００２】
ハイパバイザのコモディティ化に伴い、アプリケーションを実行するＶＭの配置先として様々なハイパバイザを選択できるようになった。現在、ＶＭの配置を変更する方法が様々提供されている。例えば、ハイパバイザが管理する計算機リソース量を考慮して、ＶＭを配置する技術が知られている（例えば、特許文献１参照）。【０００３】
特許文献１には、「ＶＭが動作するサーバと接続された管理マネージャの配置制御部が、サーバの夫々で動作する各ＶＭが使用している物理資源量を示す情報を収集する。また、各ＶＭが使用している物理資源量に基づき、各ＶＭの動作にさらに必要となると見込まれる物理資源量である予約量を算出する。さらに、いずれかのＶＭを移動対象として選択するとともに、サーバのうち、移動対象となるＶＭが使用している物理資源の使用量及び当該ＶＭの予約量に対応する物理資源量の空きを有し、かつ、移動対象となるＶＭの予約量とサーバで動作するＶＭの予約量とが近いサーバを移動先サーバとして選択する。そして、ＶＭ制御部１２が移動対象のＶＭを移動先サーバに移動させる。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９８３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているような従来のＶＭの配置方法では、計算機リソース量の空きに基づいてＶＭの配置先となるハイパバイザが選択される。ＶＭには、ハイパバイザが管理する計算機リソース量以上の計算機リソース量を割り当てることができる。【０００６】
しかし、ＶＭに割り当てられる計算機リソース量はハイパバイザが管理する計算機リソース量に依存するため、アプリケーションに実際に割り当てられる計算機リソース量は、ＶＭに設定された計算機リソース量より小さい場合がある。この場合、ＶＭ上で実行されるアプリケーションの性能が低下するため、ＳＬＡ（サービス品質保証）を満たせない。【０００７】
したがって、計算機リソース量のみだけではなく、ＳＬＡも考慮して、アプリケーションを実行するＶＭの配置を制御する必要がある。本発明は、ＳＬＡを考慮してアプリケーションを実行するＶＭの配置を制御するシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を備える計算機システムであって、前記複数の計算機は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるインタフェースを有し、前記複数の計算機は、仮想計算機を管理する仮想化制御部が稼働する複数の業務計算機、アプリケーションを実行する前記仮想計算機の配置を管理する配置管理計算機、及び前記仮想化制御部を制御する仮想化制御部管理計算機を含み、前記配置管理計算機は、前記業務計算機上で実行されるプロセスのプロセス優先度に基づいて、サービス品質保証の対象のアプリケーションを実行する前記仮想計算機が配置された前記仮想化制御部から当該サービス品質保証の対象のアプリケーションに割り当てられる計算機リソース量の予測値である割当リソース量を算出するリソース量算出部と、前記割当リソース量に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置先となる前記仮想化制御部を選択し、前記選択された仮想化制御部に前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の配置を指示する配置命令実行部と、を有し、前記仮想化制御部管理計算機は、前記配置命令実行部からの指示に基づいて、前記サービス品質保証の対象のアプリケーションを実行する仮想計算機の設定を前記選択された仮想化制御部に指示する仮想化制御部を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、配置管理計算機は、ＳＬＡを考慮して、アプリケーションを実行する仮想計算機（ＶＭ）の配置を制御することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１の計算機システムの構成例を示す図である。
【図２】実施例１の計算機システムに含まれる計算機のハードウェア構成の一例を示す図である。
【図３】実施例１のサーバ構成情報の一例を示す図である。
【図４】実施例１のＶＭプロセス優先度情報の一例を示す図である。
【図５】実施例１のＡＰプロセス優先度情報の一例を示す図である。
【図６】実施例１の計算機システムにおけるインスタンスの配置処理の流れを説明するシーケンス図である。
【図７】実施例１の入力画面の一例を示す図である。
【図８】実施例１の配置管理装置が実行する配置先決定処理の一例を説明するフローチャートである。
【図９】実施例１の配置管理装置が実行する配置先選択処理の一例を説明するフローチャートである。
【図１０Ａ】実施例１の配置管理装置が実行するリソース量算出処理の一例を説明するフローチャートである。
【図１０Ｂ】実施例１の配置管理装置が実行するリソース量算出処理の一例を説明するフローチャートである。
【図１１】実施例１のＶＭ用プロセス優先度取得部が実行するプロセス優先度取得処理の一例を説明するフローチャートである。
【図１２】実施例３の計算機システムの構成例を示す図である。
【図１３】実施例３のリソース使用量情報の一例を示す図である。
【図１４Ａ】実施例３の配置管理装置が実行するリソース量算出処理の一例を説明するフローチャートである。
【図１４Ｂ】実施例３の配置管理装置が実行するリソース量算出処理の一例を説明するフローチャートである。
【図１５】実施例４の計算機システムの構成例を示す図である。
【図１６】実施例４のＡＰ用プロセス優先度取得部が実行するプロセス優先度取得処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１１】
図１は、実施例１の計算機システムの構成例を示す図である。図２は、実施例１の計算機システムに含まれる計算機のハードウェア構成の一例を示す図である。【００１２】
計算機システムは、配置管理装置１００、ハイパバイザ管理装置１０１、ストレージ装置１０２、及び複数のサーバ装置１０３を含む。配置管理装置１００、ハイパバイザ管理装置１０１、ストレージ装置１０２、及び複数のサーバ装置１０３は、ネットワークを介して互いに接続する。【００１３】
ネットワークは、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等が考えられる。なお、本発明は、ネットワークの種別に限定されない。また、各装置を接続するネットワークの種別が異なってもよい。例えば、配置管理装置１００及びハイパバイザ管理装置１０１と、複数のサーバ装置１０３とは管理用ネットワークを介して接続し、複数のサーバ装置１０３は業務用ネットワークを介して接続し、配置管理装置１００、ハイパバイザ管理装置１０１、及び複数のサーバ装置１０３と、ストレージ装置１０２とは、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して接続する。【００１４】
図２を用いて、計算機システムに含まれる計算機のハードウェア構成について説明する。図２では、配置管理装置１００を例に計算機のハードウェア構成について説明する。【００１５】
配置管理装置１００は、ＣＰＵ２００、メモリ２０１、及びＮＩＣ２０２を有する。ＣＰＵ２００、メモリ２０１、及びＮＩＣ２０２は、内部バス等を介して互いに接続される。【００１６】
ＣＰＵ２００は、メモリ２０１に格納されるプログラムを実行する。ＣＰＵ２００がプログラムを実行することによって、配置管理装置１００が有する機能を実現できる。メモリ２０１は、ＣＰＵ２００によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、メモリ２０１は、プログラムが使用するワークエリアを含む。ＮＩＣ２０２は、ネットワークを介して他の装置と接続するためのインタフェースである。【００１７】
以上が計算機システムに含まれる計算機のハードウェア構成の説明である。なお、配置管理装置１００、ハイパバイザ管理装置１０１、及びサーバ装置１０３は、前述したハードウェア以外のハードウェアを有してもよい。図１の説明に戻る。【００１８】
サーバ装置１０３は、ＯＳ及びアプリケーションを実行するＶＭ１７０が稼働する計算機である。サーバ装置１０３のメモリ２０１は、ハイパバイザ１５０を実現するプログラムを格納し、また、ＶＭ１７０の実体であるデータ群を格納する。本実施例は、ハイパバイザ１５０に限定されない。ＶＭ１７０を管理する一般的な仮想化制御部を実現できるプログラムであればよい。【００１９】
ハイパバイザ１５０は、ＶＭ１７０を管理する。具体的には、ハイパバイザ１５０は、ＶＭ１７０の生成、ＶＭ１７０の移動、及びＶＭ１７０の削除等を行う。また、ハイパバイザ１５０は、ＶＭ１７０上のアプリケーション等の設定も管理する。例えば、ハイパバイザ１５０は、サーバ装置１０３の計算機リソースが論理的に分割された計算機リソースをＶＭ１７０に割り当てることによって、ＶＭ１７０を生成する。ハイパバイザ１５０は、一つのＶＭ１７０を一つのプロセスとして管理する。【００２０】
本実施例のハイパバイザ１５０は、プログラムモジュールとしてＶＭ用プロセス優先度取得部１６０を含む。ＶＭ用プロセス優先度取得部１６０は、プロセス優先度を取得するためのコマンドを実行することによって、プロセスとして管理されるＶＭ１７０のプロセス優先度を取得する。また、ＶＭ用プロセス優先度取得部１６０は、ＶＭ１７０のプロセス優先度が数値でない場合、ＶＭ１７０のプロセス優先度を数値に変換する。【００２１】
ＶＭ用プロセス優先度取得部１６０によって取得されたＶＭ１７０のプロセス優先度は、ＶＭプロセス優先度情報１３２に登録される。【００２２】
ＶＭ１７０は、仮想的な計算機である。ＶＭ１７０は、図示しないＯＳ及びアプリケーションを含む。ＯＳは、一つのアプリケーションを一つのプロセスとして管理する。【００２３】
実施例１のＶＭ１７０は、プログラムモジュールとしてＡＰ用プロセス優先度取得部１８０を含む。ＡＰ用プロセス優先度取得部１８０は、プロセス優先度を取得するためのコマンドを実行することによって、ＯＳが管理するアプリケーションのプロセス優先度を取得する。また、ＡＰ用プロセス優先度取得部１８０は、アプリケーションのプロセス優先度が数値でない場合、アプリケーションのプロセス優先度を数値に変換する。【００２４】
ＡＰ用プロセス優先度取得部１８０によって取得されたアプリケーションの優先度は、ＡＰプロセス優先度情報１３３に登録される。【００２５】
ハイパバイザ管理装置１０１は、各サーバ装置１０３のハイパバイザ１５０を制御する。ハイパバイザ管理装置１０１のメモリ２０１は、ユーザ要求受付部１２１及びハイパバイザ制御部１２２を実現するプログラムを格納する。【００２６】
ユーザ要求受付部１２１は、インスタンスの移動要求等のユーザ要求を受け付ける。ハイパバイザ制御部１２２は、ハイパバイザ１５０に対して各種制御を行う。【００２７】
配置管理装置１００は、アプリケーション及びＶＭ１７０等のインスタンスの配置を制御する。配置管理装置１００のメモリ２０１は、配置命令実行部１１０、配置先選択部１１１、及びリソース量算出部１１２を実現するプログラムを格納する。【００２８】
配置命令実行部１１０は、インスタンスの配置に関する命令をハイパバイザ制御部１２２に出力する。配置先選択部１１１は、インスタンスの配置先を選択する。具体的には、配置先選択部１１１は、アプリケーションを配置するＶＭ１７０、又は、ＶＭ１７０を配置するハイパバイザ１５０を選択する。リソース量算出部１１２は、各サーバ装置１０３上で実行されるプロセスのプロセス優先度に基づいて、アプリケーションに割り当てられる計算機リソース量を算出する。【００２９】
ストレージ装置１０２は、各種情報を格納する。ストレージ装置１０２は、図示しないコントローラ、ネットワークインタフェース、及び複数の記憶媒体を有する。記憶媒体は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が考えられる。ストレージ装置１０２は、サーバ構成情報１３１、ＶＭプロセス優先度情報１３２、及びＡＰプロセス優先度情報１３３を格納する。【００３０】
サーバ構成情報１３１は、サーバ装置１０３の構成を管理する情報である。サーバ構成情報１３１の詳細は、図３を用いて説明する。ＶＭプロセス優先度情報１３２は、ＶＭ１７０のプロセス優先度を管理する情報である。ＶＭプロセス優先度情報１３２の詳細は、図４を用いて説明する。ＡＰプロセス優先度情報１３３は、アプリケーションのプロセス優先度を管理する情報である。ＡＰプロセス優先度情報１３３の詳細は、図５を用いて説明する。【００３１】
図３は、実施例１のサーバ構成情報１３１の一例を示す図である。【００３２】
サーバ構成情報１３１は、サーバ装置１０３の構成を示すエントリを複数含む。本実施例のサーバ構成情報１３１には、サーバ装置１０３の数だけエントリが存在する。サーバ構成情報１３１に含まれるエントリは、サーバ装置名３０１、ハイパバイザ名３０２、ＣＰＵ種別３０３、及び重み３０４を含む。【００３３】
サーバ装置名３０１は、サーバ装置１０３の名称であり、サーバ装置１０３を一意に識別するための識別情報である。ハイパバイザ名３０２は、ハイパバイザ１５０の名称であり、ハイパバイザ１５０を一意に識別するための識別情報である。ＣＰＵ種別３０３は、サーバ装置１０３が有するＣＰＵ２００の種別である。重み３０４は、ＣＰＵ種別３０３に対応した計算機リソース量の補正値である。なお、重み３０４を用いた処理については、実施例３で説明する。【００３４】
図４は、実施例１のＶＭプロセス優先度情報１３２の一例を示す図である。【００３５】
ＶＭプロセス優先度情報１３２は、各ハイパバイザ１５０が管理するＶＭ１７０のプロセス優先度を管理するエントリを複数含む。本実施例のＶＭプロセス優先度情報１３２には、ハイパバイザ１５０及びＶＭ１７０の組合せの数だけエントリが存在する。ＶＭプロセス優先度情報１３２に含まれるエントリは、タイムスタンプ４０１、ハイパバイザ名４０２、ＶＭ名４０３、及び優先度４０４を含む。【００３６】
タイムスタンプ４０１は、ＶＭ１７０のプロセス優先度が取得された時刻である。ハイパバイザ名４０２は、ハイパバイザ名３０２と同一のものである。ＶＭ名４０３は、ＶＭ１７０の名称であり、ハイパバイザ１５０が管理するＶＭ１７０を一意に識別するための識別情報である。優先度４０４は、ＶＭ名４０３に対応するＶＭ１７０のプロセス優先度である。【００３７】
図５は、実施例１のＡＰプロセス優先度情報１３３の一例を示す図である。【００３８】
ＡＰプロセス優先度情報１３３は、各ＶＭ１７０で実行されるアプリケーションのプロセス優先度を管理するエントリを複数含む。本実施例のＡＰプロセス優先度情報１３３には、ハイパバイザ１５０、ＶＭ１７０、及びアプリケーションの組合せの数だけエントリが存在する。ＡＰプロセス優先度情報１３３に含まれるエントリは、タイムスタンプ５０１、ハイパバイザ名５０２、ＶＭ名５０３、ＡＰ名５０４、及び優先度５０５を含む。【００３９】
タイムスタンプ５０１は、アプリケーションのプロセス優先度が取得された時刻である。ハイパバイザ名５０２及びＶＭ名５０３は、ハイパバイザ名３０２及びＶＭ名４０３と同一のものである。ＡＰ名５０４は、アプリケーションの名称であり、ＶＭ１７０上で実行されるアプリケーションを一意に識別するための識別情報である。優先度５０５は、ＡＰ名５０４に対応するアプリケーションのプロセス優先度である。【００４０】
図６は、実施例１の計算機システムにおけるインスタンスの配置処理の流れを説明するシーケンス図である。図７は、実施例１の入力画面の一例を示す図である。【００４１】
ハイパバイザ管理装置１０１は、ユーザからの入力を受け付ける（ステップＳ１０１）。【００４２】
具体的には、ユーザ要求受付部１２１が、図７に示すような入力画面７００を表示し、ユーザからの入力を受け付ける。ユーザ要求受付部１２１は、入力画面７００に入力された値を含む入力情報として出力する。実施例１の入力情報では、配置を変更するインスタンスの名称、ＳＬＡの対象のアプリケーションのＳＬＡ、及びインスタンスの移動自動化の指示が含まれる。【００４３】
ここで、入力画面７００について説明する。入力画面７００は、ユーザ要求受付部１２１によって表示される。入力画面７００は、入力欄７０１、７０３、７０４、チェック欄７０２、ＯＫボタン７０５、及びキャンセルボタン７０６を含む。【００４４】
入力欄７０１は、配置を変更するインスタンスの名称を入力する欄である。本実施例では、入力欄７０１には、ＶＭ１７０の名称又はアプリケーションの名称が入力される。アプリケーションの名称が入力欄７０１に入力された場合、アプリケーションを実行するＶＭ１７０の変更を意味する。【００４５】
チェック欄７０２は、ハイパバイザ１５０間のインスタンスの移動の自動化を許可する欄である。実施例１では、チェック欄７０２が操作されているものとする。【００４６】
入力欄７０３は、ＳＬＡの対象のアプリケーションの名称を入力する欄である。入力欄７０３は、プルダウンリストで選択可能な値が表示される。なお、入力欄７０１にアプリケーションの名称が入力される場合、当該アプリケーションがＳＬＡの対象となるアプリケーションであるため、入力欄７０３は空欄でもよい。【００４７】
入力欄７０４は、満たすべきＳＬＡを入力する欄である。本実施例では、サーバ装置１０３からアプリケーションに割り当てられる計算機リソース量が満たすべきＳＬＡとして入力される。入力欄７０４は、プルダウンリストで選択可能な値が表示される。【００４８】
ＯＫボタン７０５は、入力画面７００に入力した値を確定し、ハイパバイザ管理装置１０１に登録するための操作ボタンである。キャンセルボタン７０６は、入力画面７００に入力した値の確定を取り消すための操作ボタンである。【００４９】
以上が入力画面７００の説明である。図６の説明に戻る。【００５０】
ハイパバイザ管理装置１０１は、入力情報を含むインスタンスの移動要求を配置管理装置１００に送信する（ステップＳ１０２）。【００５１】
配置管理装置１００は、インスタンスの移動要求を受信した場合、配置先決定処理を実行する（ステップＳ１０３）。配置先決定処理の詳細は、図８を用いて説明する。【００５２】
配置管理装置１００は、配置先決定処理の処理結果を含む応答をハイパバイザ管理装置１０１に送信する（ステップＳ１０４）。【００５３】
ハイパバイザ管理装置１０１は、応答を受信した場合、配置処理を実行する（ステップＳ１０５）。【００５４】
具体的には、移動させるインスタンスの情報が応答に含まれる場合、ハイパバイザ制御部１２２が、当該インスタンスの情報を含むインスタンスの配置命令を発行する。エラーを示す情報が応答に含まれる場合、ハイパバイザ制御部１２２は、ユーザに対してエラーを通知する。【００５５】
図８は、実施例１の配置管理装置１００が実行する配置先決定処理の一例を説明するフローチャートである。【００５６】
配置管理装置１００は、インスタンスの移動要求を受信した場合、配置命令実行部１１０を呼び出し、配置先決定処理を開始する。【００５７】
配置命令実行部１１０は、配置先選択部１１１を呼び出し、配置先選択処理の実行を指示する（ステップＳ２０１）。配置先選択処理の詳細は、図９を用いて説明する。【００５８】
配置命令実行部１１０は、配置先選択部１１１から処理結果が入力されるまで待ち状態となる。配置先選択部１１１から処理結果が入力された場合、配置命令実行部１１０は、インスタンスの配置先となるハイパバイザ１５０が選択されたか否かを判定する（ステップＳ２０２）。【００５９】
具体的には、配置命令実行部１１０は、処理結果にハイパバイザ１５０の識別情報（名称）が含まれるか否かを判定する。処理結果にハイパバイザ１５０の識別情報が含まれる場合、配置命令実行部１１０は、インスタンスの配置先となるハイパバイザ１５０が選択されたと判定する。【００６０】
インスタンスの配置先となるハイパバイザ１５０が選択されていると判定された場合、配置命令実行部１１０は、配置先決定処理の処理結果を含む応答をハイパバイザ管理装置１０１に送信する（ステップＳ２０３）。【００６１】
配置先決定処理の処理結果には、配置先のハイパバイザ１５０の識別情報、及び配置を変更するインスタンスの識別情報等が含まれる。例えば、配置を変更するインスタンスがＶＭ１７０である場合、処理結果には、配置先のハイパバイザ１５０の名称、及びＶＭ１７０の名称が含まれる。配置を変更するインスタンスがアプリケーションである場合、処理結果には、配置先のＶＭの名称、当該ＶＭを管理するハイパバイザ１５０の名称、及びアプリケーションの名称が含まれる。【００６２】
インスタンスの配置先となるハイパバイザ１５０が選択されていないと判定された場合、配置命令実行部１１０は、エラーを示す情報を含む応答をハイパバイザ管理装置１０１に送信する（ステップＳ２０４）。【００６３】
図９は、実施例１の配置管理装置１００が実行する配置先選択処理の一例を説明するフローチャートである。【００６４】
配置先選択部１１１は、配置命令実行部１１０から配置先選択処理の実行を指示された場合、配置先選択処理を開始する。このとき、配置命令実行部１１０は、インスタンスの移動要求に含まれる入力情報を配置先選択部１１１に入力する。【００６５】
配置先選択部１１１は、リソース量算出部１１２を呼び出し、リソース量算出処理の実行を指示する（ステップＳ３０１）。配置先選択部１１１は、リソース量算出部１１２から処理結果が入力されるまで待ち状態となる。リソース量算出処理の詳細は、図１０を用いて説明する。【００６６】
処理結果は、ハイパバイザ１５０の名称及びハイパバイザ１５０が稼働するサーバ装置１０３からＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量を含むエントリのリストを含む。以下の説明では、ハイパバイザ１５０が稼働するサーバ装置１０３からＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量を割当リソース量とも記載する。割当リソース量は、ＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量の予測値を表す。【００６７】
本実施例では、計算機リソース量の割当率が割当リソース量として算出される。後述するように、本実施例では、アプリケーションの優先度及びＶＭ１７０の優先度に基づいて割当リソース量が算出されている点に特徴がある。【００６８】
リソース量算出部１１２から処理結果が入力された場合、配置先選択部１１１は、ＳＬＡ値及び処理結果に基づいて、ＳＬＡを満たすハイパバイザ１５０が存在するか否かを判定する（ステップＳ３０２）。【００６９】
具体的には、配置先選択部１１１は、割当リソース量がＳＬＡ値より大きいエントリがリストに含まれるか否かを判定する。例えば、図８に示すＳＬＡ値が入力された場合、配置先選択部１１１は、ＣＰＵリソース量の割当率が「０．０５」以上であるエントリがリストに含まれるか否かを判定する。【００７０】
ＳＡＬを満たすハイパバイザ１５０が存在すると判定された場合、配置先選択部１１１は、インスタンスを配置するハイパバイザ１５０を一つ選択する（ステップＳ３０３）。【００７１】
例えば、配置先選択部１１１は、ＳＬＡを満たすハイパバイザ１５０の中から、計算機リソース量の割当率が最も大きいハイパバイザ１５０を選択する。【００７２】
配置先選択部１１１は、選択されたハイパバイザ１５０の名称を含む処理結果を配置命令実行部１１０に出力する（ステップＳ３０４）。【００７３】
ステップＳ３０２において、ＳＬＡを満たすハイパバイザ１５０が存在しないと判定された場合、配置先選択部１１１は、エラーを含む処理結果を配置命令実行部１１０に出力する（ステップＳ３０５）。【００７４】
図１０Ａ及び図１０Ｂは、実施例１の配置管理装置１００が実行するリソース量算出処理の一例を説明するフローチャートである。【００７５】
リソース量算出部１１２は、配置先選択部１１１からリソース量算出処理の実行を指示された場合、リソース量算出処理を開始する。このとき、配置先選択部１１１は、配置を変更するインスタンスの名称をリソース量算出部１１２に入力する。【００７６】
リソース量算出部１１２は、配置を変更するインスタンスがＶＭ１７０であるか否かを判定する（ステップＳ４０１）。【００７７】
具体的には、配置を変更するインスタンスの名称がＶＭ１７０の名称であるか否かを判定する。配置を変更するインスタンスの名称がアプリケーションの名称である場合、リソース量算出部１１２は、配置を変更するインスタンスがＶＭ１７０ではないと判定する。以下の説明では、配置を変更するＶＭ１７０をターゲットＶＭ１７０とも記載する。また、以下の説明では、配置を変更するアプリケーションをターゲットアプリケーションとも記載する。【００７８】
配置を変更するインスタンスがＶＭ１７０であると判定された場合、リソース量算出部１１２は、ＶＭプロセス優先度情報１３２から全てのＶＭ１７０の優先度を取得し、また、ＡＰプロセス優先度情報１３３から全てのアプリケーションの優先度を取得する（ステップＳ４０２）。【００７９】
具体的には、リソース量算出部１１２は、ＶＭプロセス優先度情報１３２を参照して、各ＶＭ１７０の最新の優先度を取得する。また、リソース量算出部１１２は、ＡＰプロセス優先度情報１３３を参照して、各アプリケーションの最新の優先度を取得する。【００８０】
なお、リソース量算出部１１２は、ＶＭプロセス優先度情報１３２を参照して、各ＶＭ１７０の優先度の最大値を取得し、ＡＰプロセス優先度情報１３３を参照して、各アプリケーションの優先度の最大値を取得してもよい。【００８１】
次に、リソース量算出部１１２は、複数のハイパバイザ１５０の中から対象のハイパバイザ１５０を選択する（ステップＳ４０３）。なお、ステップＳ４０３の処理が実行された後に、ステップＳ４０２の処理が実行されてもよい。これによって、取得するデータ量を削減できる。【００８２】
次に、リソース量算出部１１２は、対象のハイパバイザ１５０にターゲットＶＭ１７０を移動させた場合に、対象のハイパバイザ１５０からターゲットＶＭ１７０に割り当てられる計算機リソース量を算出する（ステップＳ４０４）。【００８３】
具体的には、リソース量算出部１１２は、ターゲットＶＭ１７０のプロセス優先度、及び対象のハイパバイザ１５０が管理する全てのＶＭ１７０のプロセス優先度を下式（１）に代入する。以下の説明では、ステップＳ４０４において算出された値を第１リソース量とも記載する。【００８４】
【数１】
2017216891.tif 000003
【００８５】
次に、リソース量算出部１１２は、ＡＰプロセス優先度情報１３３から取得された情報に基づいて、ターゲットＶＭ１７０からＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量を算出する（ステップＳ４０５）。【００８６】
具体的には、リソース量算出部１１２は、ＳＬＡの対象のアプリケーションのプロセス優先度、及びＳＬＡの対象のアプリケーションを含むターゲットＶＭ１７０上の全てのアプリケーションのプロセス優先度を下式（２）に代入する。以下の説明では、ステップＳ４０５において算出された値を第２リソース量とも記載する。【００８７】
【数２】
2017216891.tif 000004
【００８８】
次に、リソース量算出部１１２は、第１リソース量及び第２リソース量を乗算することによって、対象のハイパバイザ１５０が稼働するサーバ装置１０３からＳＬＡの対象のアプリケーションに割り当てられる計算機リソース量（割当リソース量）を算出する（ステップＳ４０６）。【００８９】
ステップＳ４０６では、リソース量算出部１１２は、対象のハイパバイザ１５０の名称及び割当リソース量を含むエントリのリストをメモリ２０１に格納する。【００９０】
次に、リソース量算出部１１２は、全てのハイパバイザ１５０について処理が完了したか否かを判定する（ステップＳ４０７）。【００９１】
全てのハイパバイザ１５０について処理が完了していないと判定された場合、リソース量算出部１１２は、ステップＳ４０３に戻り、同様の処理を実行する。【００９２】
全てのハイパバイザ１５０について処理が完了したと判定された場合、リソース量算出部１１２は、リストを処理結果として配置先選択部１１１に出力する（ステップＳ４０８）。【００９３】
ステップＳ４０１において、配置を変更するインスタンスがアプリケーションであると判定された場合、リソース量算出部１１２は、ＡＰプロセス優先度情報１３３から全てのアプリケーションの優先度を取得する（ステップＳ４１１）。【００９４】
次に、リソース量算出部１１２は、複数のハイパバイザ１５０の中から対象のハイパバイザ１５０を選択し（ステップＳ４１２）、対象のハイパバイザ１５０が管理するＶＭ１７０の中から対象のＶＭ１７０を選択する（ステップＳ４１３）。なお、ステップＳ４１３の処理が実行された後に、ステップＳ４１１の処理が実行されてもよい。これによって、取得するデータ量を削減できる。【００９５】
次に、リソース量算出部１１２は、対象のＶＭ１７０からターゲットアプリケーションに割り当てられるリソース量を算出する（ステップＳ４１４）。【００９６】
具体的には、リソース量算出部１１２は、ＳＬＡの対象のアプリケーションのプロセス優先度、及び対象のＶＭ１７０上で実行されるアプリケーションのプロセス優先度を下式（３）に代入する。ＳＬＡの対象のアプリケーションのプロセス優先度は、ＳＬＡの対象のアプリケーションを実行するＶＭ１７０上のプロセス優先度である。以下の説明では、ステップＳ４１４において算出された値を第３リソース量とも記載する。【００９７】
【数３】
2017216891.tif 000005
【００９８】
次に、リソース量算出部１１２は、第３リソース量を割当リソース量として算出する（ステップＳ４１５）。ステップＳ４１５では、リソース量算出部１１２は、対象のハイパバイザ１５０の名称及び割当リソース量を含むエントリのリストをメモリ２０１に格納する。次に、リソース量算出部１１２は、対象のハイパバイザ１５０が管理する全てのＶＭ１７０について処理が完了したか否かを判定する（ステップＳ４１６）。【００９９】
対象のハイパバイザ１５０が管理する全てのＶＭ１７０について処理が完了していないと判定された場合、リソース量算出部１１２は、ステップＳ４１３に戻り、同様の処理を実行する。【０１００】
対象のハイパバイザ１５０が管理する全てのＶＭ１７０について処理が完了したと判定された場合、リソース量算出部１１２は、全てのハイパバイザ１５０について処理が完了したか否かを判定する（ステップＳ４１６）。ステップＳ４１６の処理は、ステップＳ４０７の処理と同一である。【０１０１】
全てのハイパバイザ１５０について処理が完了していないと判定された場合、リソース量算出部１１２は、ステップＳ４１２に戻り、同様の処理を実行する。【０１０２】
全てのハイパバイザ１５０について処理が完了したと判定された場合、リソース量算出部１１２は、リストを処理結果として配置先選択部１１１に出力する（ステップＳ４０８）。【０１０３】
図１０Ａ及び図１０Ｂで説明したように、リソース量算出処理では、アプリケーションのプロセス優先度及びＶＭ１７０のプロセス優先度に基づいて、割当リソース量が算出される。これによって、配置管理装置１００は、割当リソース量に基づいて、インスタンスの配置先となるハイパバイザ１５０を検索することができる。【０１０４】
図１１は、実施例１のＶＭ用プロセス優先度取得部１６０が実行するプロセス優先度取得処理の一例を説明するフローチャートである。【０１０５】
ＶＭ用プロセス優先度取得部１６０は、周期的に、又は、インスタンスの移行要求を受け付けた時に、プロセス優先度取得処理を実行する。【０１０６】
ＶＭ用プロセス優先度取得部１６０は、プロセス優先度を取得するためのコマンドを実行する（ステップＳ５０１）。プロセス優先度を取得するためのコマンドは、公知のものであるため説明を省略する。【０１０７】
なお、取得されたプロセス優先度が数値以外の値である場合、ＶＭ用プロセス優先度取得部１６０は、取得された値を数値に変換する。【０１０８】
次に、ＶＭ用プロセス優先度取得部１６０は、取得されたプロセス優先度の相対値を算出する（ステップＳ５０２）。【０１０９】
具体的には、ＶＭ用プロセス優先度取得部１６０は、下式（４）又は下式（５）を用いて各ＶＭ１７０のプロセス優先度の相対値を算出する。【０１１０】
【数４】
2017216891.tif 000006
【０１１１】
【数５】
2017216891.tif 000007
【０１１２】
次に、ＶＭ用プロセス優先度取得部１６０は、登録用の情報を生成する（ステップＳ５０３）。【０１１３】
具体的には、ＶＭ用プロセス優先度取得部１６０は、各ＶＭ１７０に対して、タイムスタンプ、ハイパバイザ１５０の名称、ＶＭ１７０の名称、及びＶＭ１７０のプロセス優先度の相対値を含むエントリを一つ生成する。さらに、ＶＭ用プロセス優先度取得部１６０は、複数のエントリ及び登録指示を含む登録用の情報を生成する。【０１１４】
次に、ＶＭ用プロセス優先度取得部１６０は、ストレージ装置１０２に登録用の情報を送信する（ステップＳ５０４）。その後、ＶＭ用プロセス優先度取得部１６０は、一定時間待ち状態となる（ステップＳ５０５）。【０１１５】
次に、ＶＭ用プロセス優先度取得部１６０は、終了命令を受信したか否かを判定する（ステップＳ５０６）。【０１１６】
終了命令を受信していないと判定された場合、ＶＭ用プロセス優先度取得部１６０は、ステップＳ５０１に戻り、同様の処理を実行する。【０１１７】
終了命令を受信したと判定された場合、ＶＭ用プロセス優先度取得部１６０は、プロセス優先度取得処理を終了する。【０１１８】
ＡＰ用プロセス優先度取得部１８０が実行するプロセス優先度取得処理の流れは、図１１に示すプロセス優先度取得処理と同一である。ただし、処理内容が異なる。以下、具体的な処理内容について説明する。【０１１９】
ステップＳ５０１において、ＡＰ用プロセス優先度取得部１８０は、プロセス優先度を取得するためのコマンドを実行する。取得されたプロセス優先度が数値以外の値である場合、ＡＰ用プロセス優先度取得部１８０は、取得された値を数値に変換する。【０１２０】
ステップＳ５０２において、ＡＰ用プロセス優先度取得部１８０は、下式（６）又は下式（７）を用いて各アプリケーションのプロセス優先度の相対値を算出する。【０１２１】
【数６】
2017216891.tif 000008
【０１２２】
【数７】
2017216891.tif 000009
【０１２３】
ステップＳ５０３では、ＡＰ用プロセス優先度取得部１８０は、タイムスタンプ、ハイパバイザ１５０の名称、ＶＭ１７０の名称、アプリケーションの名称、及びアプリケーションのプロセス優先度の相対値を含むエントリを一つ生成する。さらに、ＡＰ用プロセス優先度取得部１８０は、複数のエントリ及び登録指示を含む登録用の情報を生成する。【０１２４】
ステップＳ５０４では、ＡＰ用プロセス優先度取得部１８０は、ストレージ装置１０２に登録用の情報を送信する。【０１２５】
ステップＳ５０５及びステップＳ５０６は、同一の処理であるため説明を省略する。【０１２６】
実施例１では、プロセス優先度に基づいて割当リソース量が算出されるが、これに限定されない。例えば、プロセスの待ち行列の長さ等に基づいて割当リソース量を算出する方法も考えられる。【０１２７】
実施例１によれば、サーバ装置１０３上のインスタンスを他のサーバ装置１０３に移行させる場合、配置管理装置１００は、アプリケーションに実際に割り当てられる計算機リソース量、すなわち、ＳＬＡを考慮して、配置先のハイパバイザ１５０（サーバ装置１０３）を選択する。これによって、配置先においてもアプリケーションのＳＬＡを満たすことが可能となる。
【実施例２】
【０１２８】
実施例２では、プロセス優先度の統計値を用いる点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。【０１２９】
実施例２の計算機システムの構成は、実施例１と同一である。実施例２の各装置のハードウェア構成及びソフトウェア構成は、実施例１と同一である。また、実施例２の各種情報は、実施例１と同一である。実施例２のインスタンスの配置処理の流れは、実施例１と同一である。実施例２の配置先決定処理及び配置先選択処理は、実施例１と同一である。【０１３０】
実施例２のリソース量算出処理は、実施例１のリソース量算出処理と一部の処理内容が異なる。【０１３１】
ステップＳ４０１の処理は、実施例１と同一の処理である。【０１３２】
ステップＳ４０２において、リソース量算出部１１２は、各ＶＭ１７０のプロセス優先度の履歴を取得する。すなわち、リソース量算出部１１２は、一つのＶＭ１７０について、タイムスタンプが異なるエントリを複数取得する。リソース量算出部１１２は、各ＶＭ１７０の履歴を用いて、各ＶＭ１７０のプロセス優先度の平均値を算出する。【０１３３】
また、ステップＳ４０２において、リソース量算出部１１２は、各アプリケーションのプロセス優先度の履歴を取得する。すなわち、リソース量算出部１１２は、一つのアプリケーションについて、タイムスタンプが異なるエントリを複数取得する。リソース量算出部１１２は、各アプリケーションのプロセス優先度の平均値を算出する。【０１３４】
ステップＳ４０３の処理は、実施例１と同一の処理である。【０１３５】
ステップＳ４０４では、リソース量算出部１１２は、ＶＭ１７０のプロセス優先度の平均値を用いて第１リソース量を算出する。また、ステップＳ４０５では、リソース量算出部１１２は、アプリケーションのプロセス優先度の平均値を用いて、第２リソース量を算出する。【０１３６】
ステップＳ４０５からステップＳ４０８までの処理は、実施例１と同一の処理である。【０１３７】
ステップＳ４１１において、リソース量算出部１１２は、各アプリケーションのプロセス優先度の履歴を取得する。リソース量算出部１１２は、各アプリケーションのプロセス優先度の平均値を算出する。【０１３８】
ステップＳ４１２及びステップＳ４１３の処理は、実施例１と同一の処理である。【０１３９】
ステップＳ４１４において、リソース量算出部１１２は、アプリケーションのプロセス優先度の平均値を用いて、第３リソース量を算出する。【０１４０】
ステップＳ４１５からステップＳ４１７までの処理は、実施例１と同一の処理である。【０１４１】
実施例２によれば、履歴を用いることによって、より正確にアプリケーションのＳＬＡを満たすインスタンスの配置先のハイパバイザ１５０を選択することができる。
【実施例３】
【０１４２】
実施例３では、サーバ装置１０３の計算機リソースの使用量も考慮する点が実施例１と異なる。以下、実施例１との差異を中心に実施例３について説明する。【０１４３】
図１２は、実施例３の計算機システムの構成例を示す図である。【０１４４】
実施例３の各装置のハードウェア構成は、実施例１と同一である。実施例３の配置管理装置１００及びハイパバイザ管理装置１０１のソフトウェア構成は、実施例１と同一である。【０１４５】
実施例３のサーバ装置１０３は、実施例１のサーバ装置１０３とはソフトウェア構成が異なる。具体的には、ハイパバイザ１５０が計算機リソース使用量測定部１２００をモジュールとして含む。また、実施例３のストレージ装置１０２は、リソース使用量情報１２１１を含む。【０１４６】
計算機リソース使用量測定部１２００は、サーバ装置１０３が有する計算機リソースの使用量を測定する。計算機リソース使用量測定部１２００によって測定された計算機リソースの使用量は、リソース使用量情報１２１１に登録される。【０１４７】
リソース使用量情報１２１１は、サーバ装置１０３が有する計算機リソースの使用量を管理する情報である。図１３は、実施例３のリソース使用量情報１２１１の一例を示す図である。【０１４８】
リソース使用量情報１２１１は、各サーバ装置１０３が有するＣＰＵ２００の使用率を管理するエントリを複数含む。各エントリは、タイムスタンプ１３０１、サーバ装置名１３０２、及びＣＰＵ使用率１３０３を含む。【０１４９】
タイムスタンプ１３０１は、ＣＰＵ使用率が取得された時刻である。サーバ装置名１３０２は、サーバ装置名３０１と同一のものである。ＣＰＵ使用率１３０３は、サーバ装置１０３が有するＣＰＵ２００の使用率である。【０１５０】
なお、リソース使用量情報１２１１には、メモリ２０１の使用量、Ｉ／Ｏの使用量、及び帯域の使用量等が含まれてもよい。【０１５１】
実施例３のインスタンスの配置処理の流れは、実施例１と同一である。実施例３の配置先決定処理及び配置先選択処理は、実施例１と同一である。【０１５２】
実施例３のリソース量算出処理は、実施例１のリソース量算出処理と一部の処理内容が異なる。【０１５３】
図１４Ａ及び図１４Ｂは、実施例３の配置管理装置１００が実行するリソース量算出処理の一例を説明するフローチャートである。【０１５４】
ステップＳ４０１及びステップＳ４０２の処理は、実施例１の処理と同一である。【０１５５】
ステップＳ４０２の処理が実行された後、リソース量算出部１１２は、サーバ構成情報１３１から全てのサーバ装置１０３の重みを取得し、また、リソース使用量情報１２１１から全てのサーバ装置１０３の計算機リソースの使用量を取得する（ステップＳ４５１）。【０１５６】
ステップＳ４０３からステップＳ４０５までの処理は、実施例１の処理と同一である。【０１５７】
ステップＳ４０５の処理が実行された後、リソース量算出部１１２は、第１リソース量、第２リソース量、対象のハイパバイザ１５０が稼働するサーバ装置１０３の計算機リソースの使用量、及び当該サーバ装置１０３の重み３０４を乗算することによって、割当リソース量を算出する（ステップＳ４５２）。すなわち、サーバ装置１０３の計算機リソースの使用量、及び当該サーバ装置１０３の重み３０４に基づいて、割当リソース量が補正される。【０１５８】
ステップＳ４０７及びステップＳ４０８の処理は、実施例１の処理と同一である。また、ステップＳ４１１の処理は、実施例１の処理と同一である。【０１５９】
ステップＳ４１１の処理が実行された後、リソース量算出部１１２は、サーバ構成情報１３１から全てのサーバ装置１０３の重みを取得し、また、リソース使用量情報１２１１から全てのサーバ装置１０３の計算機リソースの使用量を取得する（ステップＳ４５３）。ステップＳ４５３の処理は、ステップＳ４５１の処理と同一である。【０１６０】
ステップＳ４１２からステップＳ４１４までの処理は、実施例１の処理と同一である。【０１６１】
ステップＳ４１４の処理が実行された後、リソース量算出部１１２は、第３リソース量、対象のハイパバイザ１５０が稼働するサーバ装置１０３の計算機リソースの使用量、及び当該サーバ装置１０３の重み３０４を乗算することによって、割当リソース量を算出する（ステップＳ４５４）。すなわち、サーバ装置１０３の計算機リソースの使用量、及び当該サーバ装置１０３の重み３０４に基づいて、割当リソース量が補正される。【０１６２】
ステップＳ４１６及びステップＳ４１７の処理は、実施例１の処理と同一である。【０１６３】
実施例３によれば、配置管理装置１００は、アプリケーション及びＶＭ１７０の優先度だけではなく、サーバ装置１０３の計算機リソースの性能及び使用量をも考慮して、配置先のサーバ装置１０３を選択することができる。これによって、より正確にアプリケーションのＳＬＡを満たすインスタンスの配置先のハイパバイザ１５０を選択することができる。
【実施例４】
【０１６４】
実施例４では、ハイパバイザ１５０がアプリケーションのプロセス優先度を取得する点が実施例１と異なる。以下、実施例１との差異を中心に実施例４について説明する。【０１６５】
図１５は、実施例４の計算機システムの構成例を示す図である。【０１６６】
実施例４の各装置のハードウェア構成は、実施例１と同一である。実施例４の配置管理装置１００及びハイパバイザ管理装置１０１のソフトウェア構成は、実施例１と同一である。また、実施例４の各種情報は、実施例１と同一である。【０１６７】
実施例４のサーバ装置１０３は、実施例１のサーバ装置１０３とはソフトウェア構成が異なる。具体的には、ハイパバイザ１５０がＡＰ用プロセス優先度取得部１５００をモジュールとして含む。【０１６８】
実施例４のインスタンスの配置処理の流れは、実施例１と同一である。実施例４の配置先決定処理、配置先選択処理、及びリソース量算出処理は、実施例１と同一である。【０１６９】
実施例４では、ＡＰ用プロセス優先度取得部１５００が実行するプロセス優先度取得処理が一部異なる。図１６は、実施例４のＡＰ用プロセス優先度取得部１５００が実行するプロセス優先度取得処理の一例を説明するフローチャートである。【０１７０】
ＡＰ用プロセス優先度取得部１５００は、コマンドを実行する代わりに、各ＶＭ１７０に割り当てられたメモリ２０１の記憶領域を参照することによって、アプリケーションのプロセス優先度を取得する（ステップＳ５５１）。【０１７１】
ステップＳ５０２からステップＳ５０６までの処理は実施例１の処理と同一である。【０１７２】
実施例４では、ＶＭ１７０がアプリケーションのプロセス優先度を取得しないため、処理負荷を低減することができる。また、実施例４では、実施例１と同様の効果を有する。【０１７３】
なお、本明細書において示した数式は一例であってこれに限定されない。【０１７４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。【０１７５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。【０１７６】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ等の広範囲のプログラム又はスクリプト言語で実装できる。【０１７７】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。【０１７８】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【図１】
2017216891.tif 000010
【図２】
2017216891.tif 000011
【図３】
2017216891.tif 000012
【図４】
2017216891.tif 000013
【図５】
2017216891.tif 000014
【図６】
2017216891.tif 000015
【図７】
2017216891.tif 000016
【図８】
2017216891.tif 000017
【図９】
2017216891.tif 000018
【図１０Ａ】
2017216891.tif 000019
【図１０Ｂ】
2017216891.tif 000020
【図１１】
2017216891.tif 000021
【図１２】
2017216891.tif 000022
【図１３】
2017216891.tif 000023
【図１４Ａ】
2017216891.tif 000024
【図１４Ｂ】
2017216891.tif 000025
【図１５】
2017216891.tif 000026
【図１６】
2017216891.tif 000027
【国際調査報告】
2017216891.tif 000028
2017216891.tif 000029