【手続補正書】
【提出日】平成25年4月5日(2013.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションについての改善されたハードウェアプロファイルを自動的に学習するコンピュータ実行方法であって、
前記方法は、
動作環境の１つまたは複数の処理デバイスのうちの第１の処理デバイスによって、複数のハードウェア構成で実行している前記アプリケーションのパフォーマンス統計を収集するステップと、
前記動作環境の前記１つまたは複数の処理デバイスのうちの前記第１の処理デバイスまたは第２の処理デバイスによって、前記アプリケーションに関する改善されたハードウェアプロファイルを導出するために、前記収集されたパフォーマンス統計に基づいて前記アプリケーションを自動的にプロファイリングするステップと、
前記動作環境の前記１つまたは複数の処理デバイスのうちの前記１の処理デバイス、前記第２の処理デバイスまたは第３の処理デバイスによって、複数の他の処理デバイスのうちの第１の他の処理デバイス上での仮想マシンの展開をスケジュールするステップであって、前記仮想マシンが前記導出された改善されたハードウェアプロファイルに一致する仮想ハードウェア構成を有する、ステップと、
前記第１の他の処理デバイス上で、前記アプリケーションを実行するための前記仮想マシンを展開するステップと、
前記動作環境の前記１つまたは複数の処理デバイスのうちの前記第１の処理デバイス、前記第２の処理デバイス、前記第３の処理デバイスまたは第４の処理デバイスによって、前記第１の他の処理デバイス上で実行している前記アプリケーションのパフォーマンス統計を監視するステップと、
前記動作環境の前記１つまたは複数の処理デバイスのうちの前記第１の処理デバイス、前記第２の処理デバイス、前記第３の処理デバイス、前記第４の処理デバイスまたは第５の処理デバイスによって、前記展開された仮想マシン上で実行している前記アプリケーションに関して、プロセッサ利用率と、割り当てられたメモリの量と、媒体に関する固定の時間単位当たりの入出力数と、前記媒体に関して使用されるまたは利用可能なストレージスペースと、ネットワーク利用率とを計算するステップと、
前記動作環境の前記１つまたは複数の処理デバイスのうちの前記第１の処理デバイス、前記第２の処理デバイス、前記第３の処理デバイス、前記第４の処理デバイス、前記第５の処理デバイスまたは第６の処理デバイスによって、前記監視するステップに基づいて、更新され改善されたハードウェアプロファイルを導出するステップであって、前記更新され改善されたハードウェアプロファイルを導出するステップは、前記プロセッサ利用率と、割り当てられたメモリの前記量と、媒体に関する固定の時間単位当たりの前記入出力数と、前記媒体に関して使用されるまたは利用可能な前記ストレージスペースと、ネットワーク利用率とに少なくとも部分的に基づく、ステップと
を備えることを特徴とする方法。
【請求項２】
前記アプリケーションを自動的にプロファイリングするステップは、
前記収集されたパフォーマンス統計に基づいて前記アプリケーションに関連付けられたロールを導出するステップと、
前記ロールを前記ハードウェアプロファイルに関連付けるステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記１つまたは複数の処理デバイスのうちの任意の処理デバイスによって、前記仮想マシンの再展開のスケジューリングを行うステップであって、前記仮想マシンの仮想ハードウェア構成は、前記導出された更新され改善されたハードウェアプロファイルに一致する、ステップと、
前記複数の他の処理デバイスのうちの前記第１の他の処理デバイスまたは第２の他の処理デバイス上で前記仮想マシンを再展開するステップと
をさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記ロールを前記更新され改善されたハードウェアプロファイルに関連付けるステップをさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記仮想マシンの展開をスケジュールするステップは、
前記改善されたハードウェアプロファイルを前記複数の他の処理デバイス上の利用可能な仮想マシンリソースと比較するステップと、
前記複数の他の処理デバイスのうちの１つを、前記改善されたハードウェアプロファイルに一致する少なくとも利用可能なマシンリソースを有すると判断するステップと、
前記複数の他の処理デバイスのうちの前記判断された１つの上での前記仮想マシンの展開をスケジュールするステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
１つまたは複数のロードバランサーによって、異なる仮想ハードウェア構成をもつ複数の仮想マシンで実行している前記アプリケーションの複数のコピーについての負荷を分散させるステップであって、前記負荷の分散は、前記アプリケーションの前記複数のコピーのそれぞれの応答時間に基づく、ステップをさらに備え、
前記パフォーマンス統計を収集するステップは、
前記１つまたは複数のロードバランサーによって報告されるアプリケーション応答時間データを収集するステップをさらに備える
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記アプリケーションを実行しており、複数のハードウェアプロファイルの各々に一致する仮想ハードウェア構成を有する複数の仮想マシンによって達成される効率に関して複数のハードウェアプロファイルを分析するステップをさらに備え、
前記導出された改善されたハードウェアプロファイルは、前記分析するステップの結果に少なくとも部分的に基づく
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記アプリケーションが前記展開された仮想マシン上で実行している間、前記展開された仮想マシンに関して、パフォーマンス統計およびキャパシティ統計、関連付けられるハードウェアプロファイル情報およびアプリケーション応答時間情報を定期的に受信するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したかどうかを判定するために、前記定期的に受信されたパフォーマンス統計およびキャパシティ統計、前記関連付けられるハードウェアプロファイル情報およびアプリケーション応答時間情報を分析するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したと判定される場合に更新されたハードウェアプロファイルを導出するステップであって、前記複数の閾値条件は、少なくとも第１の所与の時間期間持続するプロセッサ利用率の第１の所定の変化と、少なくとも第２の所与の時間期間持続するメモリ割り当ての第２の所定の変化と、少なくとも第３の所与の時間期間持続する媒体に関する入出力アクティビティの量の第３の所定の変化と、少なくとも第４の所与の時間期間持続するネットワーク入出力の量の第４の所定の変化と、少なくとも第５の所与の時間期間持続するアプリケーション応答時間の第５の所定の変化を含む、ステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
アプリケーションを改善された効率で実行するために仮想マシンについてのハードウェアプロファイルを自動的に学習するためのシステムであって、
前記システムは、少なくとも１つの処理デバイスを備え、
前記少なくとも１つの処理デバイスのそれぞれは、
少なくとも１つのプロセッサと、
ネットワークを介して通信するための通信インターフェースと、
メモリであって、前記通信インターフェースと前記メモリは、前記少なくとも１つのプロセッサに結合される、メモリと
を備え、
前記少なくとも１つの処理デバイスの前記メモリは、コンピュータ実行可能命令を備え、前記コンピュータ実行可能命令は、前記プロセッサによって実行されると、前記プロセッサに、
複数のハードウェア構成で実行しているアプリケーションに関するパフォーマンス統計およびキャパシティ統計を収集するステップと、
前記収集されたパフォーマンス統計およびキャパシティ統計にアクセスし、前記アプリケーションを自動的にプロファイリングし、ハードウェアプロファイルと前記アプリケーションのロールを導出するステップであって、前記アプリケーションの前記ロールは、前記ハードウェアプロファイルに関連付けられ、前記導出されたハードウェアプロファイルに一致する仮想ハードウェア構成を有する仮想マシンは、改善された効率で前記アプリケーションを実行するための構成である、ステップと、
前記ハードウェアプロファイルを、前記導出されたハードウェアプロファイルに一致する前記仮想ハードウェア構成を有する前記仮想マシンのために少なくとも十分に利用可能なリソースを有する物理的処理デバイスと一致させるステップと、
前記物理的処理デバイス上で前記仮想マシンを展開するステップと、
前記展開された仮想マシン上で実行している前記アプリケーションのパフォーマンス統計を監視するステップと、
前記展開された仮想マシン上で実行している前記アプリケーションに関して、プロセッサ利用率と、割り当てられたメモリの量と、媒体に関する固定の時間単位当たりの入出力数と、前記媒体に関して使用されるまたは利用可能なストレージスペースと、ネットワーク利用率とを計算するステップと、
前記監視するステップに基づいて、更新され改善されたハードウェアプロファイルを導出するステップであって、前記更新され改善されたハードウェアプロファイルを導出するステップは、前記プロセッサ利用率と、割り当てられたメモリの前記量と、媒体に関する固定の時間単位当たりの前記入出力数と、前記媒体に関して使用されるまたは利用可能な前記ストレージスペースと、ネットワーク利用率とに少なくとも部分的に基づく、ステップと
を実行させることを特徴とするシステム。
【請求項１０】
複数の仮想ハードウェア構成をもつ複数の仮想マシンで実行している前記アプリケーションの複数のコピーについての負荷を分散させる少なくとも１つのロードバランサーであって、前記少なくとも１つのロードバランサーは、前記アプリケーションの実行しているコピーのアプリケーション応答時間に基づいて前記負荷を分散させる、少なくとも１つのロードバランサー
をさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つのロードバランサーは、前記複数の仮想マシンで実行している前記アプリケーションの前記コピーのアプリケーション応答時間統計を維持し、
前記方法は、前記少なくとも１つのロードバランサーから前記アプリケーション応答時間統計を収集するステップをさらに備える
ことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記方法は、
前記監視するステップの結果として、前記実行しているアプリケーションに関して、閾値レベルを超えるパフォーマンス変化を検出するステップと、
更新されたハードウェアプロファイルを自動的に導出するステップと
をさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１３】
前記ハードウェアプロファイルは、前記アプリケーションを実行しており、および複数のハードウェアプロファイルのそれぞれに一致する仮想ハードウェア構成を有するそれぞれの仮想マシンによって達成される効率に関して複数のハードウェアプロファイルを分析することに、少なくとも部分的に基づいて導出されることを特徴とする請求項９に記載のシステム。
【請求項１４】
前記方法は、
前記アプリケーションが前記展開された仮想マシン上で実行している間、前記展開された仮想マシンに関して、パフォーマンス統計およびキャパシティ統計、関連するハードウェアプロファイル情報およびアプリケーション応答時間情報を定期的に受信するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したかどうかを判定するために、前記定期的に受信されたパフォーマンス統計およびキャパシティ統計、前記関連するハードウェアプロファイル情報およびアプリケーション応答時間情報を分析するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したと判定される場合に更新されたハードウェアプロファイルを導出するステップであって、前記複数の閾値条件は、少なくとも第１の所与の時間期間持続するプロセッサ利用率の第１の所定の変化と、少なくとも第２の所与の時間期間持続するメモリ割り当ての第２の所定の変化と、少なくとも第３の所与の時間期間持続する媒体に関する入出力アクティビティの量の第３の所定の変化と、少なくとも第４の所与の時間期間持続するネットワーク入出力の量の第４の所定の変化と、少なくとも第５の所与の時間期間持続するアプリケーション応答時間の第５の所定の変化を含む、ステップと
をさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１５】
処理デバイスであって、
少なくとも１つのプロセッサと、
ネットワークを介して通信するための通信インターフェースと、
メモリであって、前記通信インターフェース、前記少なくとも１つのプロセッサおよび前記メモリは相互に結合され、前記メモリはコンピュータ実行可能命令を備える、メモリと
を備え、
前記コンピュータ実行可能命令は、前記プロセッサによって実行されると、前記プロセッサに、
仮想マシン上で実行しているアプリケーションに関して収集されたパフォーマンスおよびキャパシティ統計並びに関連するハードウェアプロファイル情報にアクセスするステップと、
前記収集されたパフォーマンスおよびキャパシティ統計並びに前記関連するハードウェアプロファイル情報を分析し、改善された効率で前記アプリケーションを実行する仮想マシンについての仮想ハードウェア構成に対応するハードウェアプロファイルを導出するステップと、
前記道出されたハードウェアプロファイルに関する情報を、前記ハードウェアプロファイルに一致する仮想ハードウェア構成をもつ仮想マシンを展開するステップと、
前記アプリケーションが前記展開された仮想マシン上で実行している間、展開された仮想マシンに関して、パフォーマンスおよびキャパシティ統計、関連するハードウェアプロファイル情報およびアプリケーション応答時間情報を定期的に受信するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したかどうかを判定するために、前記定期的に受信されたパフォーマンスおよびキャパシティ統計、前記関連するハードウェアプロファイル情報およびアプリケーション応答時間情報を分析するステップと、
複数の閾値条件のうちの少なくとも１つのパフォーマンスの閾値条件が発生したと判定される場合に更新されたハードウェアプロファイルを導出するステップであって、前記複数の閾値条件は、少なくとも第１の所与の時間期間持続するプロセッサ利用率の第１の所定の変化と、少なくとも第２の所与の時間期間持続するメモリ割り当ての第２の所定の変化と、少なくとも第３の所与の時間期間持続する媒体に関する入出力アクティビティの量の第３の所定の変化と、少なくとも第４の所与の時間期間持続するネットワーク入出力の量の第４の所定の変化と、少なくとも第５の所与の時間期間持続するアプリケーション応答時間の第５の所定の変化を含む、ステップと
を実行させることを特徴とする処理デバイス。
【請求項１６】
前記収集されたパフォーマンスおよびキャパシティ統計並びに前記関連するハードウェアプロファイル情報を分析し、改善された効率で前記アプリケーションを実行する仮想マシンについての仮想ハードウェア構成に対応するハードウェアプロファイルを導出するステップは、
前記アプリケーションを実行しており、複数のハードウェアプロファイルの各々に一致する仮想ハードウェア構成を有する複数の仮想マシンによって達成される効率に関して複数のハードウェアプロファイルを分析するステップをさらに備えることを特徴とする請求項１５に記載の処理デバイス。
【請求項１７】
前記仮想マシン上で実行しているアプリケーションに関して収集されたパフォーマンスおよびキャパシティ統計並びに関連するハードウェアプロファイル情報にアクセスするステップは、
前記仮想マシン上で実行しているアプリケーションに関するアプリケーション応答時間情報にアクセスするステップをさらに備え、
前記収集されたパフォーマンスおよびキャパシティ統計並びに前記関連するハードウェアプロファイル情報を分析し、改善された効率で前記アプリケーションを実行する仮想マシンについての仮想ハードウェア構成に対応するハードウェアプロファイルを導出するステップは、
前記仮想マシン上で実行しているアプリケーションに関するアプリケーション応答時間情報を分析するステップをさらに備える
ことを特徴とする請求項１５に記載の処理デバイス。
【請求項１８】
前記方法は、
データレポジトリからの、複数の仮想ハードウェア構成を有する複数の仮想マシン上で実行しているアプリケーションに関するパフォーマンスおよびキャパシティ統計並びに関連するハードウェアプロファイル情報にアクセスするステップをさらに備えることを特徴とする請求項１５に記載の処理デバイス。
【請求項１９】
前記方法は、
前記収集されたパフォーマンスおよびキャパシティ統計並びに前記関連するハードウェアプロファイル情報に基づいて、展開された仮想マシン上で実行しているアプリケーションに関して、プロセッサ利用率、メモリ割り当ての量、媒体に関する固定の時間単位当たりの入出力数と、前記媒体に関して使用されるまたは利用可能なストレージスペースと、ネットワーク利用率を計算するステップをさらに備えることを特徴とする請求項１５に記載の処理デバイス。
【請求項２０】
前記方法は、
前記プロセッサ利用率と、割り当てられたメモリの前記量と、媒体に関する固定の時間単位当たりの前記入出力数と、前記媒体に関して使用されるまたは利用可能な前記ストレージスペースと、ネットワーク利用率とに少なくとも部分的に基づいて、更新され改善されたハードウェアプロファイルを導出するステップをさらに備えることを特徴とする請求項１９に記載の処理デバイス。