(57)【要約】      （修正有）【課題】コンピュータリソースサービスの性能をリアルタイムで監視する。【解決手段】リソース監視ツール１００は、コンピュータリソースサービス１０２のコンピュータシステム１０４、１０６、１０８上で試験仮想マシン１１０を始動し、プロセッサ性能、メモリ性能、入力／出力（Ｉ／Ｏ）性能、及びネットワーク性能などの、試験仮想マシンの性能を経時的に示した種々のメトリックを監視する。リソース監視ツールは、監視されるメトリックを記憶し、選択したメトリックをユーザに提供し、メトリックを使用してコンピュータリソースサービスを管理する。性能を正確に測定するために、リソース監視ツールは、コンピュータリソースサービス及びコンピュータリソースサービスのコンピュータリソースを代表して表すコンピュータシステムを試験のために選択する。【選択図】図１
2018022520.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータリソースサービスの性能を決定するためのコンピュータ実装方法であって、
前記コンピュータリソースサービスの前記性能を試験する基になるコンピュータシステムのセットを決定することであって、前記コンピュータシステムの前記セット内の各コンピュータシステムは、前記コンピュータシステムの場所分布及び前記コンピュータシステムの前記コンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
前記コンピュータシステムの前記セット内の各コンピュータシステム上で、少なくとも１つの仮想マシンを始動することと、
プロセッサによって、コンピュータシステムの前記セット内の各コンピュータシステム上で実行している前記少なくとも１つの仮想マシンの性能メトリックを監視することと、
コンピュータ可読記憶媒体に前記性能メトリックを記憶することと、を含む、前記方法。
【請求項２】
前記コンピュータシステムの前記セット内の各コンピュータシステム上の前記少なくとも１つの仮想マシン上に、監視エージェントをインストールすることであって、前記監視エージェントは、前記性能メトリックの一部を収集し、
前記性能メトリックを監視することは、前記監視エージェントから性能メトリックの前記一部を受信することを含み、
前記性能メトリックは、プロセッサ性能、メモリ性能、入力／出力性能、及びネットワーク通信性能のうちの少なくとも１つを含む、インストールすることと、
前記コンピュータリソースサービス内で仮想マシンを始動する要求を受信することと、
前記性能メトリックに少なくとも部分的に基づいて、前記仮想マシンを始動する基になる少なくとも１つのコンピュータシステムを前記コンピュータシステムから決定することと、をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記性能メトリックに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する前記コンピュータシステムのうちの１つを決定することと、
既存の仮想マシンを前記コンピュータシステムのうちの前記１つに移行することと、
前記性能メトリックに少なくとも部分的に基づいて、アップグレードを必要とする前記コンピュータシステムのうちの１つを決定することと、
前記必要とされるアップグレードの通知を提供することと、をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
ウェブサービスプロトコルを介して、前記性能メトリックのセットを提供する要求を受信することと、
前記要求に少なくとも部分的に基づいて、前記コンピュータ可読記憶媒体に記憶された前記性能メトリックから前記性能メトリックの前記セットを取り出すことと、
性能メトリックの前記セットを前記要求の発信元に提供することと、をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記コンピュータシステムの第１の部分は、第１の地理的場所に位置し、前記コンピュータシステムの第２の部分は、第２の地理的場所に位置し、
前記コンピュータシステムの前記セットは、第１の部分からの少なくとも１つのコンピュータシステムと前記第２の部分からの少なくとも１つのコンピュータシステムとを含み、
前記コンピュータシステムの前記セット内の各コンピュータシステム上で、少なくとも１つの追加の仮想マシンを始動し、前記少なくとも１つの追加の仮想マシンは、前記少なくとも１つの仮想マシンとは異なる構成を有し、
前記プロセッサによって、コンピュータシステムの前記セット内の各コンピュータシステム上で実行している前記少なくとも１つの追加の仮想マシンの追加の性能メトリックを監視し、
コンピュータ可読記憶媒体上に、前記追加の性能メトリックを記憶する、請求項１に記載のコンピュータ実装方法。
【請求項６】
コンピュータリソースサービスの性能を決定するためのシステムであって、
命令を含む少なくとも１つのメモリデバイスと、
前記コンピュータリソースサービスと通信するように構成されるネットワークインターフェースであって、前記コンピュータリソースサービスはコンピュータシステムを備える、ネットワークインターフェースと、
少なくとも１つのメモリデバイス及びネットワークインターフェースに連結され、
前記コンピュータリソースサービスの前記性能を試験する基になるコンピュータシステムのセットを決定することであって、前記コンピュータシステムの前記セット内の各コンピュータシステムは、前記コンピュータシステムの場所分布及び前記コンピュータシステムのコンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
前記コンピュータシステムの前記セット内の各コンピュータシステム上で、少なくとも１つの仮想マシンを始動することと、
前記ネットワークインターフェースを介して、コンピュータシステムの前記セット内の各コンピュータシステム上で実行している前記少なくとも１つの仮想マシンの性能メトリックを監視することと、
コンピュータ可読記憶媒体に前記性能メトリックを記憶することと、を含む方法を実施する命令を実行するように構成される、少なくとも１つのプロセッサと、を備える、前記システム。
【請求項７】
前記少なくとも１つのプロセッサは、
前記コンピュータシステムの前記セット内の各コンピュータシステム上の前記少なくとも１つの仮想マシン上に、監視エージェントをインストールすることと、
前記ネットワークインターフェースを介して、前記監視エージェントから前記性能メトリックの一部を受信することと、をさらに含む前記方法を実施する前記命令を実行するようにさらに構成され、
前記監視エージェントは、前記少なくとも１つの仮想マシン上で実行して、プロセッサ性能、メモリ性能、入力／出力性能、及びネットワーク通信性能のうちの少なくとも１つを含む前記性能メトリックを収集する命令を含む、請求項６に記載のシステム。
【請求項８】
前記少なくとも１つのプロセッサは、
前記性能メトリックに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する前記コンピュータシステムのうちの１つを決定することと、
既存の仮想マシンを前記コンピュータシステムのうちの前記１つに移行することと、をさらに含む前記方法を実施する前記命令を実行するようにさらに構成される、請求項６に記載のシステム。
【請求項９】
前記少なくとも１つのプロセッサは、
前記性能メトリックに少なくとも部分的に基づいて、アップグレードを必要とする前記コンピュータシステムのうちの１つを決定することと、
前記必要とされる更新の通知を提供することと、
前記コンピュータリソースサービス内の仮想マシンを始動する要求を受信することと、
前記性能メトリックに少なくとも部分的に基づいて、前記仮想マシンを始動する基になる少なくとも１つのコンピュータシステムを前記コンピュータシステムから決定することと、をさらに含む前記方法を実施する前記命令を実行するようにさらに構成される、請求項６に記載のシステム。
【請求項１０】
前記コンピュータシステムの第１の部分は、第１の地理的場所に位置し、前記コンピュータシステムの第２の部分は、第２の地理的場所に位置し、
前記コンピュータシステムの前記セットは、第１の部分からの少なくとも１つのコンピュータシステムと、前記第２の部分からの少なくとも１つのコンピュータシステムとを含む、請求項６に記載のシステム。
【請求項１１】
前記少なくとも１つのプロセッサは、
前記コンピュータシステムの前記セット内の各コンピュータシステム上で、少なくとも１つの追加の仮想マシンを始動することであって、前記少なくとも１つの追加の仮想マシンは、前記少なくとも１つの仮想マシンとは異なる構成を有する、始動することと、
コンピュータシステムの前記セット内の各コンピュータシステム上で実行している前記少なくとも１つの追加の仮想マシンの追加の性能メトリックを監視することと、
前記追加の性能メトリックの記録を記憶することと、をさらに含む前記方法を実施する前記命令を実行するようにさらに構成される、請求項６に記載のシステム。
【請求項１２】
コンピュータリソースサービスの性能を評価するためのコンピュータ実装方法であって、
ネットワークインターフェースを介して、前記コンピュータリソースサービスの性能に関する要求を受信することであって、前記要求は、前記要求に応答して提供するための性能メトリックを決定するために使用される１つ以上のパラメータを含む、受信することと、
前記１つ以上のパラメータに少なくとも部分的に基づいて、前記性能メトリックのセットを決定することであって、前記性能メトリックの前記セットは、前記コンピュータリソースサービス内のコンピュータシステムの場所分布及び前記コンピュータシステムの前記コンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
前記ネットワークインターフェースを介して、前記性能メトリックの前記セットを含む応答を送信することと、を含む、前記コンピュータ実装方法。
【請求項１３】
前記コンピュータリソースサービスの前記コンピュータシステム上で実行している試験仮想マシンから前記性能メトリックを決定することと、
前記応答の送信に応答して、性能メトリックの前記セットに関連付けられる少なくとも１つのコンピュータシステム上で少なくとも１つの仮想マシンを始動する要求を受信することと、をさらに含み、
前記１つ以上のパラメータは、前記コンピュータリソースサービスの前記コンピュータシステムの場所、前記コンピュータリソースサービスの前記コンピュータシステムの構成、前記試験仮想マシンの前記構成、前記試験仮想マシンによって実施されるベンチマーク試験、性能メトリックの種類、日付、時間、前記性能メトリックに関連付けられる統計値のうちの少なくとも１つを含む、請求項１２に記載のコンピュータ実装方法。
【請求項１４】
コンピュータリソースサービスの性能を評価するためのシステムであって、
命令を含む少なくとも１つのメモリデバイスと、
表示デバイスと、
少なくとも１つのメモリデバイス及び前記表示デバイスに連結され、
前記コンピュータリソースサービスの性能に関する要求を送信することであって、前記要求は、前記要求に応答して性能メトリックのうちのどれを提供すべきかを決定するために使用される１つ以上のパラメータを含む、送信することと、
前記１つ以上のパラメータによって決定される前記性能メトリックのセットを含む応答を受信することと、
前記表示デバイスを介して、性能メトリックの前記セットの一部を出力することと、を含む方法を実施する前記命令を実行するように構成される、少なくとも１つのプロセッサと、を備える、前記システム。
【請求項１５】
前記性能メトリックを監視しているシステムと通信するように構成されるネットワークデバイスであって、前記要求は、ウェブサービスプロトコルを介して前記システムに送信される、ネットワークデバイスと、
前記コンピュータリソースサービスのコンピュータシステムと通信するように構成されるネットワークデバイスと、をさらに備え、前記少なくとも１つのプロセッサは、監視エージェントと通信し、前記ネットワークデバイスを介して、前記性能メトリックの一部を前記監視エージェントから収集するように構成され、
前記試験仮想マシンの第１の構成及び前記試験仮想マシンの第２の構成を決定することと、
性能メトリックの前記セットに少なくとも部分的に基づいて、前記第１の構成が所望の性能で動作していることを決定することと、
前記第１の構成に従って、前記コンピュータシステム上で少なくとも１つの仮想マシンを始動することと、をさらに含む、請求項１４に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、２０１３年５月２１日に出願された、Ｓｉｍｏｎ  Ｊｅｒｅｍｙ  Ｅｌｉｓｈａへの「ＲＥＰＯＲＴＩＮＧ  ＰＥＲＦＯＲＭＡＮＣＥ  ＣＡＰＡＢＩＬＩＴＩＥＳ  ＯＦ  Ａ  ＣＯＭＰＵＴＥＲ  ＲＥＳＯＵＲＣＥ  ＳＥＲＶＩＣＥ」と題する米国特許出願第１３／８９９，４４９号に関連し、その開示はその全体が参照により本明細書に援用される。
【背景技術】
【０００２】
現在、クラウドコンピューティングサービスまたはリモートコンピューティングサービスとときに称される、ネットワークによりアクセス可能なコンピューティングサービスは、コンピューティングにおける選択において柔軟に顧客に提示する。顧客がコンピュータリソースサービス内に新規の仮想マシンインスタンスを作成するか、またはインスタンスをコンピュータリソースサービスに移行するとき、顧客は、コンピュータリソースサービスにおいて実行しているインスタンスのリソース特徴を評定する場合がある。これには、他の可能性の中でもとりわけ、プロセッサの種類及び性能、メモリのサイズ及び性能、入力／出力能力、一時的な記憶装置サイズ、ならびにネットワーク能力が含まれ得る。
【０００３】
各インスタンスの種類は、様々な性能プロフィールを有することができ、顧客にある程度の選択を提供する。しかしながら、種々の一貫性の欠如のため、所与の時間及び場所（例えば、特定のデータセンタ）における性能に関する様々なインスタンスの種類間での選択は困難なことがある。例えば、インスタンスは、様々な基礎となる物理的ハードウェア上でホストされる場合があり、それは、インスタンスの実際の性能を変更する場合がある（例えば、より古いハードウェアは、より新しいハードウェアとは様々な性能を示す場合がある）。また、コンピュータリソースサービス内の「混雑した」場所（例えば、ノイジーネイバー）に実装されているインスタンスは、利用者の少ない領域よりも低減した性能を提供する場合がある。したがって、コンピュータリソースサービスのインスタンス内の性能プロフィールの理解は、困難なことがある。
【０００４】
実装形態の種々の特徴は、添付の図面と併せて考慮すれば、以下の実装形態の詳細な説明への参照と共により完全に認識され、またよりよく理解され得る。
【図面の簡単な説明】
【０００５】
【図１】種々の実装形態による、リソース監視ツールがコンピュータリソースサービスを監視することができる環境の例を例示する。
【図２】種々の実装形態による、コンピュータリソースサービスの性能を監視するためのプロセスの例を例示する。
【図３Ａ】種々の実装形態による、リソース監視ツールがコンピュータリソースサービスを監視することができる環境の別の例を例示する。
【図３Ｂ】種々の実装形態による、リソース監視ツールがコンピュータリソースサービスを監視することができる環境の別の例を例示する。
【図４】種々の実装形態による、コンピュータリソースサービスの性能を監視するためのプロセスの別の例を例示する。
【図５】種々の実装形態による、コンピュータリソースサービスの性能メトリックを記憶するためのデータ構造の例を例示する。
【図６】種々の実装形態による、コンピュータデバイスのハードウェア構成の例を例示する。
【発明を実施するための形態】
【０００６】
本開示の実装形態は、コンピュータリソースサービスの性能を決定及び監視するためのシステム及び方法に関する。コンピュータリソースサービスの性能をリアルタイムで決定する及び監視するために、リソース監視ツールが、コンピュータリソースサービスのコンピュータシステム上で試験仮想マシンを始動することができる。リソース監視ツールは次に、プロセッサ性能、メモリ性能、入力／出力（Ｉ／Ｏ）性能、及びネットワーク性能などの、試験仮想マシンの性能を経時的に示す種々のメトリックを監視することができる。リソース監視ツールは、監視される性能メトリックを記憶し、選択される性能メトリックをユーザに提供し、該性能メトリックを使用してコンピュータリソースサービスを管理することができる。
【０００７】
実装形態によると、性能を正確に測定するために、リソース監視ツールは、コンピュータリソースサービス及びコンピュータリソースサービスのコンピュータリソースを代表して表すコンピュータシステムを試験のために選択することができる。例えば、コンピュータシステムが種々の場所に分散されている場合、リソース監視ツールは、各場所における性能を監視及び比較することができるように種々の場所のコンピュータシステムを選択することができる。同様に、例えば、コンピュータシステムが様々なコンピューティングリソース（様々な種類及び世代のプロセッサ、メモリ、記憶装置など）を含む場合、リソース監視ツールは、様々なコンピューティングリソースを代表して表すコンピュータシステムを選択することができる。したがって、リソース監視ツールは、異なって位置され、構成されるコンピュータシステムの性能を決定及び比較することができる。
【０００８】
実装形態では、性能メトリックは、コンピュータリソースサービスのリソースを管理するためにコンピュータリソースサービスによって利用することができる。例えば、コンピューティングリソースをインスタンスに割り当てるとき、コンピュータリソースサービスは、リアルタイムで、性能メトリックを利用して、ユーザの需要に最適なコンピューティングリソースを選択し、コンピューティングリソースの現在の利用を均衡させ、現在利用可能であるか、または十分に利用されていないリソースを選択することができる。同様に、コンピュータリソースサービスは、性能メトリックを利用して、いつコンピュータシステムがサービスに追加されるべきか、またはいつ既存のコンピュータシステムが更新されるべきかを決定することができる。したがって、リソース監視ツールによって提供される性能メトリックは、コンピュータリソースサービスが提供されるコンピュータリソースを効率的及び効果的に管理することを可能にすることができる。同様に、性能メトリックは、ユーザが、いつコンピュータリソースサービス内のコンピューティングリソース及びインスタンスの構成を選択するかの正確な決定を行うことを可能にするために、ユーザに提供され得る。
【０００９】
図１は、種々の実装形態による、性能コンピュータリソースサービス１０２を決定及び監視することができるリソース監視ツール１００の例を例示する。図１は、リソース監視ツール１００内に含まれる種々の構成要素を例示するが、図１は、監視ツールの一例を例示するものであり、追加の構成要素が追加され得、既存の構成要素が除去され得る。同様に、図１は、コンピュータリソースサービス１０２内に含まれる種々の構成要素を例示するが、図１は、コンピュータリソースサービスの一例を例示するものであり、追加の構成要素が追加され得、既存の構成要素が除去され得る。
【００１０】
実装形態では、リソース監視ツール１００は、コンピュータリソースサービス１０２の性能を決定及び監視するように構成することができる。コンピュータリソースサービス１０２は、コンピューティングリソースを１つ以上のネットワーク上でサービスとしてユーザに送達するように構成することができる。例えば、ユーザは、使用回数によって、例えば、１時間単位で、コンピューティングリソースをセットアップすることが可能であり得る。図１に例示される通り、コンピュータリソースサービス１０２は、いくつかのコンピュータシステム、例えば、コンピュータシステムのセット１０４、コンピュータシステムのセット１０６、及びコンピュータシステムのセット１０８を含むことができる。コンピュータリソースをサービスとして提供するために、コンピュータリソースサービス１０２は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８のいずれかにおいて１つ以上のマシンインスタンス（ＭＩ）を実行するように構成され得る。
【００１１】
ＭＩは、コンピュータシステム１０４、コンピュータシステム１０６、またはコンピュータシステム１０８のうちの１つ以上に対応することができる。同様に、ＭＩは、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８のうちの１つ以上によってホストされる仮想マシン（ＶＭ）に対応することができる。ＶＭは、仮想化コンピュータシステム、またはコンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８のいずれかの上に層化されるコンピュータシステムのソフトウェア実装であり得る。基礎となるコンピュータシステムへのＶＭのアクセスは、ハイパーバイザまたは仮想マシンモニタを通じて制御することができる。ＶＭは、単一のコンピュータシステム上で同時に起動するための複数の及び／または様々なオペレーティングシステム環境を提供することができる。
【００１２】
コンピュータリソースサービス１０２では、各ＭＩは、様々なユーザによって制御することができ、彼らは、自身のＭＩにのみ管理者アクセスを有することができ、他のユーザのインスタンスにはアクセスを有することができない。複数のＭＩを、並列プロセッサを含むコンピュータシステム上で同時に実行することができるが、ただし、複数のインスタンスは、インスタンスよりも少ないプロセッサを有するマルチスレッドコンピュータシステム上で同時に実行するように見える。場合により、コンピュータシステム上で実行する様々なＭＩは、２人以上の様々なユーザによって制御され、他の場合では、ＭＩのすべてが単一のユーザによって制御される。
【００１３】
コンピュータリソースサービス１０２は、１つ以上の管理システム１１１を含むこともできる。１つ以上の管理システム１１１は、コンピュータリソースサービス１０２の動作及び構成を制御するように構成することができる。１つ以上の管理システム１１１は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８上でＭＩの実行を始動し、コンピュータリソースサービス１０２内にＭＩを構成し、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８上で実行しているＭＩを終了し、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８間で既存のＭＩを移行するように構成することができる。１つ以上の管理システム１１１はまた、コンピュータリソースサービス１０２からコンピュータサービスを要求しているユーザにインターフェースを提供するように構成することができる。１つ以上の管理システム１１１は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８のうちの１つ以上などの物理的コンピュータシステムとして実装することができる。同様に、１つ以上の管理システム１１１は、コンピュータリソースサービス１０２内で実行している１つ以上のＭＩとして実装することができる。
【００１４】
実装形態では、リソース監視ツール１００は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の動作を試験することによって、コンピュータリソースサービス１０２によって提供されるコンピュータリソースの性能を決定及び監視するように構成することができる。動作中、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の性能は、コンピュータシステム上で実行しているＭＩの数、コンピュータシステム上で実行しているＭＩの利用量、コンピュータシステムを支持する物理的ハードウェア及びソフトウェア、ならびに他の類似の要因によって影響を受け得る。コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の動作を試験するために、リソース監視ツール１００は、１つ以上の試験ＶＭ１１０を利用するように構成することができる。リソース監視ツール１００は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８上で試験ＶＭ１１０を始動し、試験ＶＭ１１０の性能を試験するように構成することができる。
【００１５】
コンピュータリソースサービス１０２を正確に代表して表すために、リソース監視ツール１００は、コンピュータリソースサービス１０２の構成に基づいて、試験ＶＭ１１０の数及び配置を選択するように構成することができる。コンピュータリソースサービス１０２において、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８は、様々な場所に配置することができる。コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の場所は、任意の粒度の分離をコンピュータリソースサービス１０２内に含むことができる。例えば、場所としては、データセンタ内の特定のコンピュータシステム、サーバラック内の様々なサーバ、様々なデータセンタ、様々な地理的場所または地域などを挙げることができる。したがって、様々な場所を試験するために、リソース監視ツール１００は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の各場所からいくつかのコンピュータシステムを選択して試験するように構成することができる。
【００１６】
同様に、様々な場所にあるコンピュータシステムは、様々なコンピュータリソースを提示することができる。例えば、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８は、ハードウェアリソース及び／またはソフトウェアリソースの様々な構成を含むことができる。また、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８は、様々な世代のハードウェアリソース及び／またはソフトウェアリソースを含むことができる。例えば、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８のうちの１つ以上は、より古いコンピュータシステムを含むことができ、それは典型的には、より古いハードウェアリソース及びソフトウェアリソースを使用し、低減されたコンピューティングリソースを提供する。したがって、リソース監視ツール１００は、様々な構成及び世代を代表して表す多数のコンピュータシステムを各場所から選択するように構成することができる。
【００１７】
コンピュータシステムの数を選択するとき、リソース監視ツール１００は、コンピュータシステムを代表して正確に表すために、様々な場所、様々な構成、様々な世代などの各々から十分な数のコンピュータシステムを選択することができる。すなわち、リソース監視ツール１００は、様々な場所、様々な構成、様々な世代などの各々から、統計的に有意ないかつかのコンピュータシステムを選択するように構成することができる。例えば、特定の場所、構成、または世代に関して、リソース監視ツール１００は、その特定の場所、構成、または世代のすべてのコンピュータシステムを統計的に代表して表すいくつかのコンピュータシステムを選択することができる。このコンピュータシステムの数は、特定の場所、構成、または世代のコンピュータシステムの総数のパーセンテージ（例えば、１０％、５％、１％など）であることができる。特定の場所、構成、または世代からコンピュータシステムを選択するとき、リソース監視ツール１００は、その特定の場所、構成、または世代からコンピュータシステムを無作為に選択することができる。
【００１８】
実装形態では、コンピュータリソースを試験するとき、リソース監視ツール１００は、試験ＶＭ１１０の様々な構成を利用するように構成することができる。具体的には、リソース監視ツール１００は、コンピュータリソースサービス１０２によって提供される様々な量のコンピュータリソースを利用する試験ＶＭ１１０を選択することができる。リソース監視ツール１００は、コンピュータリソースサービス１０２によって提示される、予め構成された試験ＶＭ１１０を選択するように構成することができる。同様に、リソース監視ツール１００は、様々なレベルのコンピュータリソースを表す試験ＶＭ１１０の種々の構成を決定するように構成することができる。
【００１９】
実装形態では、リソース監視ツール１００は、コンピュータリソースサービス１０２の一部として、またはコンピュータリソースサービス１０２の外部に、コンピュータシステム上に記憶されるか、またはコンピュータシステムによって実行されることができるソフトウェアプログラムとして構成することができる。同様に、リソース監視ツール１００は、他のアプリケーションプログラムの一部であるソフトウェアモジュールとして構成することができる。いずれかの例においても、リソース監視ツール１００は、ＪＡＶＡ、Ｃ＋＋、Ｐｙｔｈｏｎコード、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＨＴＭＬ、ＸＭＬなど、多様なオペレーティングシステム、コンピュータシステムアーキテクチャなどに対応するように多様なプログラム言語で記述することができる。図１に例示される通り、リソース監視ツール１００は、監視モジュール１１２、性能データ記憶１１４、及びインターフェース１１６を含むことができる。単一のアプリケーションプログラムの一部として例示されているが、リソース監視ツール１００の構成要素のいずれも、分離したソフトウェアプログラムまたはモジュールとして実装することができる。
【００２０】
実装形態では、監視モジュール１１２は、試験ＶＭ１１０の性能を試験し、試験ＶＭ１１０の性能メトリックを監視するように構成することができる。試験ＶＭ１１０がコンピュータリソースサービス１０２内で実行する際、監視モジュール１１２は、試験ＶＭ１１０の性能を試験するように構成することができる。具体的には、監視モジュール１１２は、試験ＶＭ１１０の性能を測定する１つ以上のベンチマーク試験を実施するように構成することができる。ベンチマーク試験としては、プロセッサ性能（例えば、ソフトウェアの実行、命令の実行に基づくスコアなど）、メモリ性能（例えば、待ち時間、読み取り速度、書き込み速度など）、入力／出力（Ｉ／Ｏ）性能（例えば、１秒当りのＩ／Ｏ、Ｉ／Ｏ帯域幅など）、ネットワーク性能（例えば、ネットワーク帯域幅、１秒当りのネットワークパケットなど）などを測定する、任意の種類の従来の試験を挙げることができる。
【００２１】
ベンチマーク試験から、監視モジュール１１２は、性能メトリックを収集するように構成することができる。性能メトリックは、ベンチマーク試験の結果を含む。収集後、リソース監視ツール１００は、性能メトリックを性能データ記憶１１４に記憶するように構成することができる。性能データ記憶１１４は、性能メトリックを記憶することができる１つ以上のデータ構造として実装することができる。性能データ記憶１１４はまた、コンピュータリソースサービス１０２の詳細、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の詳細、試験ＶＭ１１０の詳細、性能試験の詳細などを記憶することもできる。
【００２２】
性能データ記憶１１４は、性能メトリック及び他のデータを、関連する情報を結び付けて関連させる様式で記憶するように構成することができる。例えば、特定の性能メトリックのセットに関して、性能データ記憶１１４は、特定の性能メトリックのセットを生成した特定の試験ＶＭ１１０の詳細、特定の試験ＶＭ１１０が実行した特定のコンピュータシステムの詳細、特定のコンピュータシステムの場所、特定の試験ＶＭ１１０上で実施された性能試験の詳細などを関連付けることができる。
【００２３】
実装形態では、リソース監視ツール１００は、監視エージェントを利用して、試験ＶＭ１１０の試験及び監視を補助するように構成することができる。監視エージェントは、試験ＶＭ１１０上で実行し、性能試験のうちの１つ以上を実施するように構成されるソフトウェアプログラムとして実装することができる。性能メトリックを収集するために、監視エージェントは、性能をリソース監視ツール１００に送るように構成することができる。監視エージェントは、性能メトリックをリアルタイムで、定期的に、要求に応じて、及びそれらの組み合わせで送ることができる。同様に、リソース監視ツール１００は、例えば、監視モジュール１１２を介して、監視エージェントと通信し、監視エージェントから性能メトリックを取り出すように構成することができる。リソース監視ツール１００は、性能メトリックをリアルタイムで、定期的に、要求に応じて、及びそれらの組み合わせで取り出すことができる。
【００２４】
性能メトリックの収集に加えて、リソース監視ツール１００は、性能メトリック上で統計分析を実施するように構成することができる。リソース監視ツール１００は、コンピュータシステムの性能、試験ＶＭの様々な構成の性能、及びそれらの組み合わせを分析及び比較するために、統計分析を実施することができる。統計分析は、例えば、中央値、平均値、標準偏差、関係性に基づく統計的順位付け、統計的モデル化などの、コンピュータシステムの性能、試験ＶＭの様々な構成の性能、及びそれらの組み合わせの分析及び比較に役立つ統計値を生成する、任意の種類の手順であり得る。決定後、リソース監視ツール１００は、統計値を性能データ記憶１１４に記憶することができる。
【００２５】
例えば、リソース監視ツール１００は、コンピュータシステム上で動作している試験ＶＭの特定の構成の性能メトリックを経時的に比較することができる。例えば、リソース監視ツール１００は、経時的に収集された性能メトリックの中央値、平均値、及び標準偏差を決定して、経時的性能を評定することができる。加えて、例えば、リソース監視ツール１００は、性能メトリックが、他の時間における性能メトリックに対して特定のパーセンテージの範囲に含まれる、特定の時間を決定することができる。
【００２６】
同様に、例えば、リソース監視ツール１００は、同一の場所にあるか、様々な場所にあるか、またはその両方にあるかにかかわらず、試験ＶＭの特定の構成をホストする様々なコンピューティングシステムの性能メトリックに関する統計値を決定することができる。この例では、リソース監視ツール１００は、統計値を比較して、コンピューティングシステムの性能を互いに関連して決定することができる。加えて、リソース監視ツール１００は、同一のコンピュータシステム上で、様々なコンピュータシステム上で、またはその両方で実行しているかにかかわらず、試験仮想マシンの様々な構成の性能メトリックに関する統計値を決定することができる。リソース監視ツール１００は、統計値を比較して、試験仮想マシンの様々な構成の性能を互いに関連して決定することができる。
【００２７】
リソース監視ツール１００はまた、ユーザデバイス１２０が１つ以上のネットワーク１１８を介してリソース監視ツール１００と通信し、性能メトリックにアクセスすることを可能にする、インターフェース１１６を含むこともできる。ユーザデバイス１２０としては、デスクトップ、ラップトップ、サーバなどのコンピュータデバイス、またはスマートフォン、タブレットコンピュータ、携帯電話、携帯情報端末などの携帯デバイスなどを挙げることができる。ユーザデバイス１２０としては、従来のコンピュータデバイス内に見出されるハードウェアリソース（例えば、プロセッサ、メモリ、記憶装置、ネットワークインターフェース、Ｉ／Ｏデバイスなど）及びソフトウェアリソース（例えば、オペレーティングシステム、アプリケーションプログラム、モバイルアプリなど）を挙げることができる。
【００２８】
実装形態では、インターフェース１１６は、ユーザがリソース監視ツール１００とローカルに、及び遠隔で通信することを可能にする、任意の種類のインターフェースであり得る。例えば、インターフェース１１６は、ユーザが、リソース監視ツール１００が実行しているコンピュータシステムを介してリソース監視ツールと相互作用することを可能にする、グラフィカルユーザインターフェース（「ＧＵＩ」）またはコマンドラインインターフェースを含むことができる。また、例えば、インターフェース１１６は、ユーザデバイス１２０が、ウェブブラウザなどのウェブベースのアプリケーションを使用してリソース監視ツール１００と遠隔で通信することを可能にする、ウェブベースのインターフェースを含むことができる。同様に、例えば、インターフェース１１６は、ユーザデバイス１２０上のアプリケーションがリソース監視ツール１００と通信することを可能にするアプリケーションプログラミングインターフェース（「ＡＰＩ」）を含むことができる。いくつかの実装形態では、インターフェースは、ウェブサービスＡＰＩであり得る。
【００２９】
実装形態では、ユーザデバイス１２０のユーザは、コンピュータリソースサービス１０２の性能を評定することを望むことができる。例えば、ユーザは、コンピュータリソースサービス内で始動するための最良の場所、コンピュータシステム、及びＭＩの構成を決定することを望むことができる。これを達成するために、ユーザデバイス１２０は、リソース監視ツール１００に、性能メトリックのセットを提供する要求を送信することができる。それに応答して、リソース監視ツール１００は、性能データ記憶１１４を検索し、ユーザデバイス１２０の要求に合致する性能メトリックのセットを取り出すように構成することができる。リソース監視ツール１００は、性能メトリックのセットをユーザデバイス１２０に送信するように構成することができる。
【００３０】
ユーザデバイス１２０に有意義な情報を提供するために、リソース監視ツール１００は、性能メトリックのセットを決定してユーザデバイス１２０のために取り出すときに、フィルタを利用するように構成することができる。具体的には、リソース監視ツール１００は、フィルタを利用して、特定の性能メトリックを決定して、ユーザデバイスのために取り出すことができる。フィルタは、どの性能メトリックがユーザデバイス１２０によって所望されているかを指定する１つ以上のパラメータを含むことができる。
【００３１】
例えば、フィルタは、コンピュータリソースサービス１０２内のコンピュータシステムに関する１つ以上のパラメータを含むことができる。これらは、コンピュータシステムが位置する特定の場所または地域の識別、コンピュータシステムの特定の構成の識別などを含むことができる。加えて、例えば、フィルタは、試験ＶＭ１１０または試験ＶＭ１１０上で実施される試験に関する１つ以上のパラメータを含むことができる。これらのパラメータは、試験ＶＭ１１０の特定の種類または構成の識別、試験ＶＭ１１０が始動した場所または地域の識別、ベンチマーク試験の識別、試験が実施された日付または時間の範囲などを含むことができる。また、例えば、フィルタは、性能メトリック自体の周りに１つ以上のパラメータを含むことができる。これらのパラメータとしては、特定の種類の性能メトリック（例えば、プロセッサ性能、メモリ性能、Ｉ／Ｏ性能、ネットワーク性能など）、性能メトリックに関する特定の値、性能メトリックの特定の統計（例えば、平均値、中央値、ある特定のパーセンタイルなど）などを挙げることができる。
【００３２】
インターフェース１１６及びインターフェース１１６に関連するプロセスの完全な説明は、２０１３年５月２１日に出願された、Ｓｉｍｏｎ  Ｊｅｒｅｍｙ  Ｅｌｉｓｈａへの「ＲＥＰＯＲＴＩＮＧ  ＰＥＲＦＯＲＭＡＮＣＥ  ＣＡＰＡＢＩＬＩＴＩＥＳ  ＯＦ  Ａ  ＣＯＭＰＵＴＥＲ  ＲＥＳＯＵＲＣＥ  ＳＥＲＶＩＣＥ」と題する米国特許出願第１３／８９９，４４９号に見出すことができ、その開示はその全体が参照により本明細書に援用される。
【００３３】
図２は、種々の実装形態による、コンピュータリソースサービスの性能を決定及び監視するためのプロセス２００を例示する。プロセス２００において、例示される段階は例であり、例示される段階のいずれも除去することができ、追加の段階を追加することができ、また例示される段階の順序を変更することができる。加えて、プロセス２００はリソース監視ツール１００によって実施されるように説明されているが、プロセス２００の段階のうちの１つ以上を、任意のハードウェアまたはソフトウェア構成要素によって実施することができる。
【００３４】
２０４において、リソース監視ツール１００は、コンピュータリソースサービス１０２内のコンピュータシステムを任意に決定することができる。リソース監視ツール１００は、コンピュータシステムの場所、コンピュータシステムの名称、コンピュータシステムのネットワークアドレス、コンピュータシステムに関するアクセス情報などの、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８に関する識別情報を決定することができる。加えて、リソース監視ツール１００は、コンピュータシステムのハードウェア及びソフトウェア構成要素などの、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８の詳細を決定することができる。この情報を決定するために、リソース監視ツール１００は、コンピュータシステム１０４、コンピュータシステム１０６、及びコンピュータシステム１０８をスキャンすることができる。同様に、リソース監視ツール１００は、コンピュータリソースサービス１０２の１つ以上の管理システム１１１と通信して、情報を取得することができる。加えて、コンピュータシステムの場所及び構成は、リソース監視ツール１００内に予めプログラムすることもできる。
【００３５】
２０６では、リソース監視ツール１００は、コンピュータシステムの場所分布及びコンピュータシステムのコンピューティングリソースを代表して表すコンピュータシステムのセットを決定することができる。すなわち、リソース監視ツール１００は、コンピュータシステムの様々な場所及びコンピュータシステムの様々なコンピュータリソース構成を代表して表すコンピュータシステムを選択することができる。選択されるコンピュータシステムの数は、性能の正確な測定を決定し得るために統計的に有意であり得る。
【００３６】
例えば、コンピュータシステム１０４が第１の場所に位置し、コンピュータシステム１０６が第２の場所に位置する場合、リソース監視ツール１００は、各場所を代表して表すいくつかのコンピュータシステム１０４及びいくつかのコンピュータシステム１０６を選択して、信頼性のある性能メトリックを付与することができ、例えば、コンピュータシステム１０４の５％及びコンピュータシステム１０６の５％などである。同様に、この例では、コンピュータシステム１０４は、２つのコンピュータリソース構成を有することができ、例えば、コンピュータシステム１０４の第１の群は、同一のプロセッサ、メモリ、及びネットワーク帯域幅を有し、コンピュータシステム１０４の第２の群は、同一のプロセッサ、メモリ、及びネットワーク帯域幅ではあるが第１の群とは様々なものを有する。コンピュータシステム１０４からコンピュータシステムを選択するとき、リソース監視ツール１００は、第１の群及び第２の群の両方から統計的に有意な数を選択することができる。
【００３７】
２０８では、リソース監視ツール１００は、コンピュータシステムのセット上で試験ＶＭを始動することができる。リソース監視ツール１００は、コンピュータシステム間で性能を比較し、関連させることができるように、試験ＶＭの各々に対して同一の構成を選択することができる。例えば、リソース監視ツール１００は、特定のコンピュータリソース（例えば、処理能力、メモリ、Ｉ／Ｏリソース、ネットワーク帯域など）を提示するように構成される試験ＶＭ１００を選択することができる。リソース監視ツール１００は、試験ＶＭ１１０を構成することができる。同様に、リソース監視ツール１００は、予め構成された仮想マシンを選択して、コンピュータシステムで始動することができる。
【００３８】
２１０では、リソース監視ツール１００は、コンピュータシステムのセット上の試験ＶＭの性能メトリックを監視することができる。リソース監視ツール１００は、ネットワーク接続を介して性能メトリックを遠隔で監視することができる。同様に、リソース監視ツール１００は、試験仮想マシンのうちの１つ以上に性能監視エージェントをインストールし、監視エージェントから性能メトリックを受信するかまたは取り出すことができる。リソース監視ツール１００は、種々の時間における性能メトリックを決定するために、性能メトリックを経時的に監視することができる。
【００３９】
リソース監視ツール１００及び／または監視エージェントは、種々のベンチマーク試験を試験ＶＭ１１０上で実行することができる。ベンチマーク試験としては、プロセッサ性能（例えば、ソフトウェアの実行、命令の実行に基づくスコアなど）、メモリ性能（例えば、待ち時間、読み取り速度、書き込み速度など）、入力／出力（Ｉ／Ｏ）性能（例えば、１秒当りのＩ／Ｏ、Ｉ／Ｏ帯域幅など）、ネットワーク性能（例えば、ネットワーク帯域幅、１秒当りのネットワークパケットなど）などを測定する、任意の種類の従来の試験を挙げることができる。
【００４０】
２１２では、リソース監視ツール１００は、試験ＶＭに関して監視される性能メトリックを記憶することができる。リソース監視ツール１００は、性能メトリックを、性能データ記憶１１４などの１つ以上のデータ構造内に記憶することができる。リソース監視ツール１００は、性能メトリック及び他の情報を記憶することができる。他の情報としては、例えば、２０４において収集された情報を挙げることができる。
【００４１】
２１４では、リソース監視ツール１００は、試験ＶＭの様々な構成に関してプロセスを繰り返することができる。コンピュータリソースサービス１０２のコンピュータリソースの全体像を取得するために、リソース監視ツール１００は、例えば、特定のコンピュータリソース（例えば、処理能力、メモリ、Ｉ／Ｏリソース、ネットワーク帯域など）の様々な提供などの、試験ＶＭ１１０の様々な構成に関する性能メトリックの試験及び監視を実施することができる。
【００４２】
２１６では、リソース監視ツール１００は、性能メトリックに基づいて、リソースの管理及び監視を実施することができる。リソース監視ツール１００は、性能メトリックを利用して、コンピュータリソースサービス１０２のコンピュータリソースの性能の決定を必要とする任意のプロセスを補助することができる。リソースの管理及び監視は、リソース監視ツール１００によって実施することができる。同様に、リソース監視ツール１００は、リソースの管理を補助するために、１つ以上のリソース管理システム１１１などの別のシステムに性能メトリックを提供することができる。
【００４３】
例えば、性能メトリックは、新規のＭＩを始動する基になる特定のマシンを決定するために利用することができる。例えば、特定のコンピュータシステムが試験ＶＭに関して良好な性能メトリックを示す場合、その特定のコンピュータシステムを、新規のＭＩをホストするために選択する（または、より高い優先順位を付与する）ことができる。同様に、特定のコンピュータシステムが試験ＶＭに関して不良な性能メトリックを示す場合、その特定のコンピュータシステムは、新規のＭＩのホストのために一時停止する（または、より低い優先順位を付与する）ことができる。
【００４４】
加えて、例えば、性能メトリックは、コンピュータリソースサービス１０２内で現在ホストされているＭＩを均衡させるために利用することができる。例えば、特定のコンピュータシステムが試験ＶＭに関して不良な性能メトリックを示す場合、その特定のコンピュータシステムによってホストされる１つ以上のＭＩを、より良好な性能メトリックを示す様々なコンピュータシステムに移行することができる。
【００４５】
また、例えば、性能メトリックは、コンピュータリソースサービス１０２によるコンピュータリソースの提供の価格設定に利用することができる。例えば、特定のコンピュータシステムが試験ＶＭに関して不良な性能メトリックを示し、その特定のシステムのより古いハードウェアに関連付けられる場合、その特定のコンピュータシステムによって提供されるコンピュータリソースにより低い価格が設定され得る。同様に、例えば、特定のコンピュータシステムが試験ＶＭに関して良好な性能メトリックを示し、その特定のシステムのより新しいハードウェアに関連付けられる場合、その特定のコンピュータシステムによって提供されるコンピュータリソースにより高い価格が設定され得る。
【００４６】
さらに、例えば、性能メトリックは、コンピュータシステムのうちの１つ以上をアップグレードするかどうかの決定に利用することができる。例えば、特定のコンピュータシステムが試験ＶＭに関して不良な性能メトリックを示し、その特定のシステムのより古いハードウェアに関連付けられる場合、その特定のコンピュータシステムのハードウェアを更新するという決定を行うことができる。
【００４７】
２１８では、リソース監視ツール１００は、要求するユーザに性能メトリックを提供することができる。リソース監視ツール１００は、ユーザデバイス１２０などのユーザから、性能メトリックのセットに関して要求を受信することができる。例えば、リソース監視ツール１００は、インターフェース１１６を介して要求を受信することができる。要求は、ユーザによって要求される特定の性能メトリックのセットを指定する１つ以上のフィルタを含むことができる。それに応答して、リソース監視ツール１００は、フィルタに基づいて性能データ記憶１１４を検索し、性能メトリックのセットを取り出すことができる。リソース監視ツール１００は、インターフェース１１６を介してユーザに性能メトリックのセットを提供することができる。
【００４８】
受信後、ユーザは、性能メトリックのセットを利用して種々の動作を実施することができる。例えば、ユーザデバイス１２０は、コンピュータリソースサービスに関連付けられる動作を実施することができる。ユーザデバイス１２０は、性能メトリックを利用して、コンピュータリソースサービス１０２のコンピュータリソースの性能の決定を必要とする任意のプロセスを補助することができる。
【００４９】
例えば、性能メトリックを利用して、新規のＭＩを始動する基になる特定のコンピュータシステムまたはコンピュータシステムの場所を決定することができる。例えば、特定のコンピュータシステム、またはコンピュータシステムの特定の場所が、試験ＶＭに関して良好な性能メトリックを示す場合、ユーザデバイス１２０は、特定のコンピュータシステム上または特定の場所で新規のＭＩを始動する（またはその始動を要求する）ことができる。同様に、例えば、ユーザデバイスが、試験ＶＭの様々な構成に関する性能メトリックのセットを受信する場合、ユーザデバイス１２０は、コンピュータリソースサービス内で始動するためのＭＩの構成の選択にその性能メトリックのセットを利用することができる。加えて、例えば、性能メトリックは、コンピュータリソースサービス１０２内で現在ホストされているＭＩを均衡させるために利用することができる。例えば、特定のコンピュータシステムが試験ＶＭに関して不良な性能メトリックを示す場合、その特定のコンピュータシステムによってホストされる１つ以上のＭＩは、より良好な性能メトリックを示す様々なコンピュータシステムに移行することができる。
【００５０】
２１８の後、プロセスは、終了するか、反復するか、または任意の点に戻ることができる。
【００５１】
図３Ａ及び３Ｂは、種々の実装形態による、性能コンピュータリソースサービス３０２を決定及び監視することができるリソース監視ツール１００の別の例を例示する。図３Ａ及び３Ｂは、リソース監視ツール１００内に含まれる種々の構成要素を例示するが、図３Ａ及び３Ｂは、監視ツールの一例を例示するものであり、追加の構成要素が追加され得、既存の構成要素が除去され得る。同様に、図３Ａ及び３Ｂは、コンピュータリソースサービス３０２内に含まれる種々の構成要素を例示するが、図３Ａ及び３Ｂは、コンピュータリソースサービスの一例を例示するものであり、追加の構成要素が追加され得、既存の構成要素が除去され得る。
【００５２】
実装形態では、コンピュータリソースサービス３０２は、地域的及び地理的に別個の場所に位置するユーザに、コンピューティングリソースをサービスとして提供することができる。地域的及び地理的に別個の場所へのサービスの提供において、コンピュータリソースサービス３０２のコンピュータシステムは、種々の地理的場所及び地域的場所の間に分散することができる。図３Ａに例示される通り、コンピュータリソースサービス３０２は、例えば、地理的場所１、３０４及び地理的場所２、３０６などのいくつかの地理的場所または地域に分割することができる。すなわち、コンピュータリソースサービス３０２を支持する種々のコンピュータシステムは、様々な地理的場所に提示されるコンピュータリソースを支持するために、様々な地理的場所に位置することができる。
【００５３】
例えば、コンピュータリソースサービス３０２は、例えば、データセンタＡ３０８、データセンタＢ３１０、データセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６などの、いくつかのデータセンタを含むことができる。図３Ａに例示される通り、データセンタＡ３０８及びデータセンタＢ３１０は、地理的場所１、３０４に位置することができる。データセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６は、地理的場所２、３０６に位置することができる。特定の地理的場所内のデータセンタは、その特定の地理的場所の小地域内に分散することもできる。
【００５４】
図３Ｂに例示される通り、データセンタＡは、コンピュータシステム３１８、コンピュータシステム３２０、及びコンピュータシステム３２２などのいくつかのコンピュータシステムを含むことができる。同様に、データセンタＢ３１０、データセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６は、いくつかのコンピュータシステムを含むことができる。データの性能を決定及び監視するために、リソース監視ツール１００は、コンピュータシステム３１８、コンピュータシステム３２０、及びコンピュータシステム３２２上で、それぞれ、試験ＶＭ３２４、３２６、及び３２８を始動するように構成することができる。下に説明される通り、リソース監視ツール１００は、コンピュータリソースサービス３０２のデータセンタＡ３０８のコンピュータリソースを正確に代表して表すために、コンピュータシステムを選択するように構成することができる。
【００５５】
コンピュータリソースサービス３０２内においてどこでＭＩをホストするかを決定するとき、コンピュータリソースサービス３０２は、すべての地理的及び地域的場所にわたってコンピュータシステムの性能を決定することを望み得る。同様に、コンピュータリソースサービス３０２を利用するとき、ユーザは、ユーザの需要に最適なコンピューティングリソースを提供するであろうコンピュータシステムを決定することを望み得る。例えば、ユーザは、彼らの地理的場所内のコンピュータシステムの性能、及び他の地理的場所内のコンピュータシステムを決定することを望み得る。したがって、リソース監視ツール１００は、コンピュータシステムの場所及びコンピュータシステムの構成を代表して表す性能メトリックを監視及び決定することができる。
【００５６】
図４は、種々の実装形態による、コンピュータリソースサービス３０２などのコンピュータリソースサービスの性能を監視するためのプロセス４００を例示する。プロセス４００において、例示される段階は例であり、例示される段階のいずれかは除去することができ、追加の段階を追加することができ、また例示される段階の順序は変更することができる。加えて、プロセス４００はリソース監視ツール１００によって実施されるように説明されているが、プロセス４００の段階のうちの１つ以上は、任意のハードウェアまたはソフトウェア構成要素によって実施することができる。
【００５７】
４０４では、リソース監視ツール１００は、コンピュータリソースサービス内のデータセンタの地理的場所を任意に決定することができる。リソース監視ツール１００は、コンピュータリソースサービスをスキャンし、コンピュータリソースサービス内のデータセンタの地理的場所を決定することができる。同様に、リソース監視ツール１００は、コンピュータリソースサービスの１つ以上の管理システム１１１と通信し、コンピュータリソースサービス内のデータセンタの地理的場所を決定することができる。データセンタの地理的場所は、リソース監視ツール１００内に予めプログラムすることもできる。
【００５８】
例えば、図３Ａを参照すると、リソース監視ツール１００は、コンピュータリソースサービス３０２が、データセンタＡ３０８及びデータセンタＢ３１０を有する地理的場所１、３０４と、データセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６を有する地理的場所２、３０６とを含むことを決定することができる。
【００５９】
４０６では、リソース監視ツール１００は、試験するために地理的場所内のデータセンタを選択することができる。例えば、リソース監視ツール１００は、データセンタＡ３０８、データセンタＢ３１０、データセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６のいずれか１つを選択することができる。リソース監視ツール１００は、無作為に特定のデータセンタを選択してもよく、または所定の順序に基づいて特定のデータセンタを選択してもよい。
【００６０】
４０８では、リソース監視ツール１００は、データセンタ内のコンピュータシステムを任意に決定することができる。リソース監視ツール１００は、現在試験されているデータセンタ内のコンピュータシステムの識別情報及び詳細を決定することができる。識別情報としては、コンピュータシステムの名称、コンピュータシステムのネットワークアドレス、コンピュータシステムに関するアクセス情報などを挙げることができる。コンピュータシステムの詳細としては、コンピュータシステムのハードウェア及びソフトウェア構成要素を挙げることができる。
【００６１】
例えば、データセンタＡ３０８に関して、リソース監視ツール１００は、コンピュータシステム３１８、コンピュータシステム３２０、及びコンピュータシステム３２２に関する識別情報、例えば、コンピュータシステムの名称、コンピュータシステムのネットワークアドレス、コンピュータシステムに関するアクセス情報などを決定することができる。加えて、リソース監視ツール１００は、コンピュータシステム３１８、コンピュータシステム３２０、及びコンピュータシステム３２２の詳細、例えば、コンピュータシステムのハードウェア及びソフトウェア構成要素などを決定することができる。この情報を決定するために、リソース監視ツール１００は、コンピュータシステム３１８、コンピュータシステム３２０、及びコンピュータシステム３２２をスキャンすることができる。同様に、リソース監視ツール１００は、コンピュータリソースサービス３０２の１つ以上の管理システム１１１と通信して、情報を取得することができる。
【００６２】
４１０では、リソース監視ツール１００は、コンピュータシステムの様々な構成を代表して表すデータセンタ内のコンピュータシステムのセットを決定することができる。コンピュータシステムの様々な構成の各々に関して、リソース監視ツール１００は、各構成に関して、統計的に有意であるいくつかのコンピュータシステム、すなわち、統計的に意味のある性能メトリックを提供するのに十分に大きいコンピュータシステムの標本を選択することができる。
【００６３】
例えば、コンピュータシステム３１８及びコンピュータシステム３２０は、様々な構成（例えば、様々な世代または種類のハードウェアリソース）を有するコンピュータシステムを含むことができる。リソース監視ツール１００は、例えば、コンピュータシステム３１８の５％及びコンピュータシステム３２０の５％などの、各場所を表し、信頼性のある性能メトリックを付与する多数のコンピュータシステム３１８及び多数のコンピュータシステム３２０を選択することができる。
【００６４】
４１２では、リソース監視ツール１００は、コンピュータシステムのセット上で試験ＶＭを始動することができる。リソース監視ツール１００は、コンピュータシステム間で性能を比較し、関連させることができるように、試験ＶＭの各々に対して同一の構成を選択することができる。例えば、データセンタＡ３０８に関して、リソース監視ツール１００は、特定のコンピュータリソース（例えば、処理能力、メモリ、Ｉ／Ｏリソース、ネットワーク帯域幅など）を提示するように構成される試験ＶＭ３２４、３２６、及び３２８に関する構成を選択することができる。リソース監視ツール１００は、試験ＶＭ３２４、３２６、及び３２８を構成することができる。同様に、リソース監視ツール１００は、試験ＶＭ３２４、３２６、及び３２８のために予め構成された試験ＶＭを選択して、コンピュータシステム上で始動することができる。
【００６５】
４１４では、リソース監視ツール１００は、試験仮想マシンの性能を監視することができる。リソース監視ツール１００は、ネットワーク接続を介して性能メトリックを遠隔で監視することができる。同様に、リソース監視ツール１００は、試験仮想マシンのうちの１つ以上に性能監視エージェントをインストールし、監視エージェントから性能メトリックを受信するかまたは取り出すことができる。リソース監視ツール１００は、種々の時間における性能メトリックを決定するために、性能メトリックを経時的に監視することができる。
【００６６】
リソース監視ツール１００及び／または監視エージェントは、試験ＶＭ３２４、３２６、及び３２８上で種々のベンチマーク試験を起動することができる。ベンチマーク試験としては、プロセッサ性能（例えば、ソフトウェアの実行、命令の実行に基づくスコアなど）、メモリ性能（例えば、待ち時間、読み取り速度、書き込み速度など）、入力／出力（Ｉ／Ｏ）性能（例えば、１秒当りのＩ／Ｏ、Ｉ／Ｏ帯域幅など）、ネットワーク性能（例えば、ネットワーク帯域幅、１秒当りのネットワークパケットなど）などを測定する、任意の種類の従来の試験を挙げることができる。
【００６７】
４１６では、リソース監視ツール１００は、試験仮想マシン内で監視された性能メトリックを記憶することができる。リソース監視ツール１００は、性能メトリックを、性能データ記憶１１４などの１つ以上のデータ構造内に記憶することができる。リソース監視ツール１００は、性能メトリック及び他の情報を記憶することができる。他の情報としては、例えば、２０４において収集された情報を挙げることができる。
【００６８】
例えば、図５は、試験ＶＭから監視された性能メトリックを記憶することができるデータ構造の例を例示する。図５は、データ構造の例を例示するが、例示される構造は一例であり、任意の種類のデータ構造が、性能メトリックを記憶するために利用することができる。同様に、図５は、記憶され得る性能メトリックの例を例示するが、例示される性能メトリックは一例であり、任意の種類の性能メトリックまたは他の情報を、リソース監視ツール１００によって監視及び記憶することができる。
【００６９】
例示される通り、リソース監視ツール１００は、性能メトリックを表５００に記憶することができる。表５００は、いくつかの行及び列を含むことができる。各行は、特定の試験ＶＭに関する性能メトリック及びその他のデータを記憶することができる。各列は、試験ＶＭに関する特定の種類の情報を記憶することができる。表５００は、各試験ＶＭの識別子を記憶する列５０２を含むことができる。識別子は、試験ＶＭを一意的に識別する任意の値であり得る。例えば、識別子は、「００００１」などの数値であり得る。
【００７０】
表５００はまた試験ＶＭに割り当てられるコンピューティングリソースを説明する構成情報を記憶する、列５０４を含むこともできる。構成情報としては、試験ＶＭに割り当てられるメモリ、試験ＶＭに割り当てられる処理能力、試験ＶＭに割り当てられる記憶装置、試験ＶＭに割り当てられるネットワークリソース、試験ＶＭのデータ処理アーキテクチャなどの、試験ＶＭに割り当てられるコンピューティングリソースを説明する任意の情報を挙げることができる。例えば、例示される通り、列５０４は、以下の情報を含むことができる：「割り当てられるメモリ（バイト数）；処理能力（計算ユニット）；記憶装置（バイト数）；アーキテクチャ（ビット数）」。例えば、試験ＶＭ「００００１」に関して、列５０４は、「１．７ＧＢ」の割り当てられるメモリ、「５ＣＵ」の処理能力、「３２０ＧＢ」の記憶装置、及び「３２ビット」のアーキテクチャを含むことができる。
【００７１】
表５００はまた、試験ＶＭをホストするコンピュータシステムの場所情報を記憶する列５０６及び５０８を含むこともできる。列５０６は、地域的または地理的識別及び説明などの試験ＶＭの地域的または地理的情報を含むことができる。例えば、試験ＶＭ「００００１」に関して、列５０６は、（図３Ａで参照される通り）「地理的場所１」の場所を含むことができる。列５０８は、試験ＶＭをホストするコンピュータシステムを含む小地域またはデータセンタなどの特定の場所に関する追加の場所情報を含むことができる。例えば、試験ＶＭ「００００１」に関して、列５０８は、試験ＶＭ「００００１」をホストするコンピュータシステムを示す、「データセンタＡ」を含むことができる。
【００７２】
表５００はまた、試験ＶＭをホストしているコンピュータシステムの識別子を記憶する列５１０を含むこともできる。識別子は、コンピューティングシステムを一意的に識別する任意の値であり得る。例えば、識別子は、コンピュータシステムの媒体アクセス制御（ＭＡＣ）アドレスであり得る。例えば、試験ＶＭ「００００１」に関して、列５１０は、１６進数のＭＡＣアドレス、値「００：Ａ０：Ｃ９：１４：Ｃ８：２９」を含むことができる。
【００７３】
表５００はまた、試験ＶＭによって実施された試験の時間及び日付情報を記憶する列５１２を含むこともできる。時間及び日付情報は、いつ試験が実施されたか、いつ性能メトリックが収集されたかなどを識別する任意の情報を含むことができる。例えば、例示される通り、列５１２は、日付を「日月年」として、また時間を「時間：分：秒」として含むことができる。例えば、試験ＶＭ「００００１」に関して、列５１２は「２０１３年５月１日」の日付及び「１２：１５：０６」の時間を含むことができる。
【００７４】
表５００はまた、試験ＶＭによって収集される性能メトリックを記憶する列５１４、５１６、５１８、及び５２０を含むことができる。列５１４は、プロセッサ性能に関連付けられる性能メトリックを記憶することができる。プロセッサ性能は、特定のベンチマーク試験によって生成される任意の値であり得る。例えば、試験ＶＭ「００００１」に関して、列５１４は、値「１０２５」を含むことができ、それは、特定のベンチマーク試験のスコアに対応する。列５１６は、メモリ性能試験に関連付けられる性能メトリックを記憶することができる。例えば、例示される通り、列５１６は、性能メトリック：「ページ更新速度（秒）；待ち時間（秒）」を含むことができる。例えば、試験ＶＭ「００００１」に関して、列５１６は、「５」秒のページ更新速度及び「３」秒の待ち時間を含むことができる。
【００７５】
列５１８は、Ｉ／Ｏ性能試験に関連付けられる性能メトリックを記憶することができる。例えば、例示される通り、列５１８は、性能メトリック：「１秒当りの入力／出力：待ち時間（秒）」を含むことができる。例えば、試験ＶＭ「００００１」に関して、列５１８は、「１００，０００」のＩＯＰＳ及び「１０」秒の待ち時間を含むことができる。列５２０は、ネットワーク性能試験に関連付けられる性能メトリックを記憶することができる。例えば、例示される通り、列５２０は、性能メトリック：「ネットワーク帯域幅（１秒当りのＭビット数）；破棄パケットの数；待ち時間（秒）」を含むことができる。例えば、試験ＶＭ「００００１」に関して、列５２０は、「９．８」Ｍビット／秒のネットワーク帯域幅、「１０」の数の破棄パケット、及び「３」秒の待ち時間を含むことができる。
【００７６】
表５００はまた、任意の追加の情報を記憶することができる列５２２を含むことができる。例えば、該列は、試験の間隔、実施されるベンチマーク試験の識別、リソース監視ツール１００を実行するシステムの識別などの情報を含むことができる。
【００７７】
４１８では、リソース監視ツール１００は、追加の仮想マシン構成を試験するかどうかを決定することができる。コンピュータリソースサービス３０２のコンピュータリソースの全体像を取得するために、リソース監視ツール１００は、例えば、特定のコンピュータリソース（例えば、処理能力、メモリ、Ｉ／Ｏリソース、ネットワーク帯域幅など）の様々な提供などの試験ＶＭ３２４、３２６、及び３２８の様々な構成に関する性能メトリックの試験及び監視を実施することができる。
【００７８】
４２０では、リソース監視ツール１００は、その地理的場所内に追加のデータセンタが存在するかどうかを決定することができる。例えば、リソース監視ツール１００は、データセンタＢ、３１０も試験される必要があることを決定することができる。リソース監視ツール１００は、上記のプロセスをデータセンタＢ、３１０に関して繰り返すことができる。したがって、リソース監視ツール１００は、地理的場所１、３０４内のすべてのデータセンタに関する性能メトリックを決定及び監視することができる。
【００７９】
４２２では、リソース監視ツール１００は、追加の地理的場所が存在するかどうかを決定することができる。例えば、リソース監視ツール１００は、地理的場所２、３０６が試験される必要があることを決定することができる。リソース監視ツール１００は、上記のプロセスを地理的場所３０６のデータセンタＣ３１２、データセンタＤ３１４、及びデータセンタＥ３１６に関して繰り返すことができる。したがって、リソース監視ツール１００は、地理的場所１、３０４及び地理的場所２、３０６の両方のすべてのデータセンタに関する性能メトリックを決定及び監視することができる。
【００８０】
リソース監視ツール１００は、性能メトリックを経時的に監視し続けることができる。したがって、リソース監視ツール１００は、性能メトリックを経時的に決定し、性能メトリックが経時的にどのように変化するかを決定することができる。
【００８１】
４２２の後、プロセスは、終了するか、繰り返すか、または任意の点に戻ることができる。
【００８２】
上記に説明される実装形態では、リソース監視ツール１００によって収集される性能メトリックは、コンピュータリソースサービスに関連付けられる多様なプロセスに利用することができる。実装形態では、上に説明される通り、性能メトリックは、コンピュータリソースサービス３０２内のどのコンピュータシステムがＭＩを支持するべきかの決定、コンピュータリソースサービス３０２のコンピュータリソースの価格設定、コンピュータリソースサービス３０２のコンピュータシステムの更新に関する決定などに利用することができる。
【００８３】
上記に説明される実装形態では、リソース監視ツール１００は、性能メトリックを経時的に監視し続けることができる。したがって、リソース監視ツール１００は、性能メトリックを経時的に決定し、性能メトリックが経時的にどのように変化するかを決定することができる。加えて、一定の期間後、リソース監視ツール１００は、試験ＶＭを終了して、コンピューティングリソースがコンピュータリソースサービスのユーザによって利用されることを可能にすることができる。
【００８４】
図６は、上記に説明されるプロセスのうちの１つ以上を実施するために使用することができる、リソース監視ツール１００を実装するコンピューティングデバイス６００のためのハードウェア構成の例を例示する。図６はコンピューティングデバイス６００に含まれる種々の構成要素を例示するが、図６は、コンピューティングデバイスの一例を例示するものであり、追加の構成要素が追加され得、既存の構成要素が除去され得る。
【００８５】
図６に例示される通り、コンピューティングデバイス６００は、種々のコア構成及びクロック周波数の１つ以上のプロセッサ６０２を含むことができる。コンピューティングデバイス６００はまた、コンピューティングデバイス６００の動作中にメインメモリとして機能する１つ以上のメモリデバイス６０４も含むことができる。例えば、動作中、リソース監視ツール１００のコピーを、１つ以上のメモリデバイス６０４に記憶することができる。コンピューティングデバイス６００はまた、コンピューティングデバイス６００との人の対話及びその操作を可能にするための、キーボード、マウス、タッチパッド、コンピュータスクリーン、タッチスクリーンなどの、１つ以上の周辺インターフェース６０６も含むことができる。
【００８６】
コンピューティングデバイス６００はまた、プロトコルを使用して有線または無線媒体と通信するための、Ｅｔｈｅｒｎｅｔアダプタ、無線トランシーバ、またはシリアルネットワーク構成要素などの、１つ以上のネットワークを介して通信するための１つ以上のネットワークインターフェース６０８も含むことができる。コンピューティングデバイス６００はまた、画像、ファイル、及び１つ以上のプロセッサ６０２による実行のためのプログラム命令などのデータを記憶するための、フラッシュドライブ、ハードドライブ、ランダムアクセスメモリなどの、種々の物理的寸法及び記憶装置容量の１つ以上の記憶デバイス６１０を含むこともできる。
【００８７】
加えて、コンピューティングデバイス６００は、リソース監視ツール１００などの１つ以上のソフトウェアプログラム６１２を含むことができる。１つ以上のソフトウェアプログラム６１２は、１つ以上のプロセッサ６０２に本明細書に説明されるプロセスを実施させる命令を含むことができる。１つ以上のソフトウェアプログラム６１２のコピーを、１つ以上のメモリデバイス６０４及び／または１つ以上の記憶デバイス６１０に記憶することができる。同様に、例えば、性能データ記憶１１４などの１つ以上のソフトウェアプログラム６１２によって利用されるデータを、１つ以上のメモリデバイス６０４及び／または１つ以上の記憶デバイス６１０に記憶することができる。
【００８８】
実装形態では、コンピューティングデバイス６００は、ネットワーク６１６を介して１つ以上の遠隔ユーザデバイス６１４及びコンピュータリソースサービス６１８と通信することができる。１つ以上の遠隔ユーザデバイス６１４は、任意の種類の従来のコンピューティングデバイスであり得る。例えば、１つ以上のユーザデバイス６１４は、デスクトップ、ラップトップ、サーバなど、またはスマートフォン、タブレットコンピュータ、携帯電話、携帯情報端末などの携帯デバイスであり得る。ネットワーク６１６は、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせなどの、任意の種類のネットワークであり得る。ネットワーク６１６は、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、及びＡｐｐｌｅＴａｌｋなどの多様な市販のプロトコルのいずれかを使用して、通信を支持することができる。ネットワーク６１６は、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせであり得る。
【００８９】
実装形態では、コンピューティングデバイス６００は、１つ以上のユーザデバイス６１４及びコンピュータリソースサービス６１８とネットワーク６１６上でデータを交換することができる。例えば、コンピューティングデバイス６００は、性能メトリックのうちの１つ以上に関する要求を１つ以上のユーザデバイス６１４から受信することができる。
【００９０】
コンピューティングデバイス６００及びリソース監視ツール１００は、少なくとも１つのサービスまたはウェブサービスの一部として実装することができ、例えば、サービス指向アーキテクチャの一部であってもよい。上に説明される通り、リソース監視ツール１００は、インターフェース、例えば、ウェブサービスＡＰＩを実装することができる。コンピューティングデバイス６００は、少なくとも１つのサービスまたはウェブサービスの動作中に、ウェブサービスＡＰＩを介して１つ以上のユーザデバイス６１４とデータを交換することができる。ウェブサービスなどのサービスは、任意の適切な種類のメッセージングを使用して、例えば、エクステンシブルマークアップ言語（ＸＭＬ）フォーマットのメッセージを使用して通信することができ、またＳＯＡＰ（「簡易オブジェクトアクセスプロトコル」から抽出）などの適切なプロトコルを使用して交換することができる。かかるサービスによって提供または実行されるプロセスは、ウェブサービス記述言語（ＷＳＤＬ）などの任意の適切な言語で記述することができる。ＷＳＤＬなどの言語の使用は、種々のＳＯＡＰフレームワークにおけるクライアント側コードの自動生成などの機能性を可能にする。
【００９１】
実装形態では、コンピューティングデバイス６００は、ウェブサーバアーキテクチャの一部として利用することができる。ウェブサーバアーキテクチャでは、コンピューティングデバイス６００は、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａサーバ、及びビジネスアプリケーションサーバを含む、多様なサーバまたはミッドティアアプリケーションのいずれかを起動することができる。コンピューティングデバイス６００はまた、１つ以上の遠隔ユーザデバイス６１４からの要求に応答して、例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋、または任意のスクリプト言語、例えば、Ｐｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬなど、及びそれらの組み合わせなどの任意のプログラム言語で記述される１つ以上のスクリプトまたはプログラムとして実装され得る１つ以上のウェブアプリケーションを実行することによって、プログラムまたはスクリプトを実行することも可能である。コンピューティングデバイス６００はまた、データベースサーバも含むことができ、限定するものではないが、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から市販されているものが挙げられる。
【００９２】
コンピューティングデバイス６００は、上述の多様なデータ記憶ならびに他のメモリ及び記憶媒体を含むことができる。これらは、多様な場所、例えば、コンピュータのうちの１つ以上にローカルな（及び／もしくはその中に存在する）記憶媒体上に、またはネットワーク上のコンピュータのいずれかもしくはすべてから遠隔に存在することができる。いくつかの実装形態では、情報は、当業者に周知であるストレージエリアネットワーク（「ＳＡＮ」）内に存在することができる。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実施するための任意の必要なファイルが、必要に応じてローカルに及び／または遠隔に記憶されてもよい。
【００９３】
実装形態では、上に説明されるコンピューティングデバイス６００の構成要素は、単一の筐体内に封入される必要はなく、または互いに接近して位置する必要さえない。当業者は、コンピューティングデバイス６００は、開示される実装形態を実施するための任意の必要な付随ファームウェアまたはソフトウェアを含む、任意の種類のハードウェア構成部品を含むことができるので、上記に説明される構成部品は例に過ぎないことを理解するであろう。コンピューティングデバイス６００はまた、特定用途向け集積（ＡＳＩＣ）またはフィールドプログラム可能ゲートアレイ（ＦＰＧＡ）など、電子回路素子またはプロセッサによって部分的にまたは全体的に実装することもできる。
【００９４】
本開示の実施形態は、以下の条項を考慮して説明することができる。
１．１つ以上のプロセッサにコンピュータリソースサービスの性能を決定するための方法を実施させるための命令を記憶する非一時的コンピュータ可読記憶媒体であって、該方法は、
該コンピュータリソースサービスの該性能を試験する基になるコンピュータシステムのセットを決定することであって、コンピュータシステムの該セットは、第１のコンピュータシステムのうちの少なくとも１つ及び第２のコンピュータシステムのうちの少なくとも１つを含み、該第１のコンピュータシステムは、第１の場所に位置し、該第２のコンピュータシステムは、第２の場所に位置する、決定することと、
コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの仮想マシンを始動することであって、各コンピュータシステム上の該少なくとも１つの仮想マシンは、第１の構成に従って構成される、始動することと、
コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの仮想マシンの性能メトリックを決定することと、
該少なくとも１つの仮想マシンに関して、性能メトリック、該少なくとも１つの仮想マシンの第１の構成、及び該少なくとも１つの仮想マシン上で実行している各コンピュータシステムの場所情報を含む記録を記憶することと、を含む、非一時的コンピュータ可読記憶媒体。
２．コンピュータシステムの該セットを決定することは、
該第１のコンピュータシステムが、第１のハードウェア構成を有する少なくとも１つのコンピュータシステム及び第２のハードウェア構成を有する少なくとも１つのコンピュータシステムを備えることを決定することと、
コンピュータシステムの該セット内に含まれるために、該第１のハードウェア構成を有する該少なくとも１つのコンピュータシステム及び該第２のハードウェア構成を有する該少なくとも１つのコンピュータシステムを選択することと、を含む、条項１の非一時的コンピュータ可読記憶媒体。
３．該方法は、
コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの追加の仮想マシンを始動することであって、該少なくとも１つの追加の仮想マシンは、該第１の構成とは異なる構成を有する、始動することと、
コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの追加の仮想マシンの追加の性能メトリックを監視することと
該追加の性能メトリックを記憶することと、をさらに含む、条項１の非一時的コンピュータ可読記憶媒体。
４．該方法は、
コンピュータシステムの該セット内の各コンピュータシステム上の該少なくとも１つの仮想マシン上に、監視エージェントをインストールすることであって、該監視エージェントは、該性能メトリックの一部を収集する、インストールすることをさらに含む、条項１の非一時的コンピュータ可読記憶媒体。
５．コンピュータリソースサービスの性能を決定するためのコンピュータ実装方法であって、
該コンピュータリソースサービスの該性能を試験する基になるコンピュータシステムのセットを決定することであって、該コンピュータシステムの該セット内の各コンピュータシステムは、該コンピュータシステムの場所分布及び該コンピュータシステムの該コンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
該コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの仮想マシンを始動することと、
プロセッサによって、コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの仮想マシンの性能メトリックを監視することと、
コンピュータ可読記憶媒体に該性能メトリックを記憶することと、を含む、コンピュータ実装方法。
６．該コンピュータシステムの該セット内の各コンピュータシステム上の該少なくとも１つの仮想マシン上に、監視エージェントをインストールすることであって、該監視エージェントは、該性能メトリックの一部を収集する、インストールすることをさらに含む、条項５のコンピュータ実装方法。
７．該性能メトリックを監視することは、
該監視エージェントから性能メトリックの該一部を受信することを含む、条項６のコンピュータ実装方法。
８．該性能メトリックは、プロセッサ性能、メモリ性能、入力／出力性能、及びネットワーク通信性能のうちの少なくとも１つを含む、条項５のコンピュータ実装方法。
９．該性能メトリックに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する該コンピュータシステムのうちの１つを決定することと、
既存の仮想マシンを該コンピュータシステムのうちの該１つに移行することと、をさらに含む、条項５のコンピュータ実装方法。
１０．該性能メトリックに少なくとも部分的に基づいて、アップグレードを必要とする該コンピュータシステムのうちの１つを決定することと、
該必要とされるアップグレードの通知を提供することと、をさらに含む、条項５のコンピュータ実装方法。
１１．ウェブサービスプロトコルを介して、該性能メトリックのセットを提供する要求を受信することと、
該要求に少なくとも部分的に基づいて、該コンピュータ可読記憶媒体に記憶された該性能メトリックから該性能メトリックの該セットを取り出すことと、
性能メトリックの該セットを該要求の発信元に提供することと、をさらに含む、条項５のコンピュータ実装方法。
１２．該コンピュータリソースサービス内に仮想マシンを始動する要求を受信することと、
該性能メトリックに少なくとも部分的に基づいて、該仮想マシンを始動する基になる少なくとも１つのコンピュータシステムを該コンピュータシステムから決定することと、をさらに含む、条項５のコンピュータ実装方法。
１３．該コンピュータシステムの第１の部分は、第１の地理的場所に位置し、該コンピュータシステムの第２の部分は、第２の地理的場所に位置し、
該コンピュータシステムの該セットは、第１の部分からの少なくとも１つのコンピュータシステムと、該第２の部分からの少なくとも１つのコンピュータシステムとを含む、条項５のコンピュータ実装方法。
１４．該コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの追加の仮想マシンを始動することであって、該少なくとも１つの追加の仮想マシンは、該少なくとも１つの仮想マシンとは異なる構成を有する、始動することと、
該プロセッサによって、コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの追加の仮想マシンの追加の性能メトリックを監視し、
該コンピュータ可読記憶媒体に、該追加の性能メトリック記憶することと、をさらに含む、条項５のコンピュータ実装方法。
１５．コンピュータリソースサービスの性能を決定するためのシステムであって、
命令を含む少なくとも１つのメモリデバイスと、
該コンピュータリソースサービスと通信するように構成されるネットワークインターフェースであって、該コンピュータリソースサービスはコンピュータシステムを備える、ネットワークインターフェースと、
少なくとも１つのメモリデバイス及びネットワークインターフェースに連結され、
該コンピュータリソースサービスの該性能を試験する基になるコンピュータシステムのセットを決定することであって、該コンピュータシステムの該セット内の各コンピュータシステムは、該コンピュータシステムの場所分布及び該コンピュータシステムのコンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
該コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの仮想マシンを始動することと、
該ネットワークインターフェースを介して、コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの仮想マシンの性能メトリックを監視することと、
コンピュータ可読記憶媒体に該性能メトリックを記憶することと、を含む方法を実施する命令を実行するように構成される、少なくとも１つのプロセッサと、を備える、システム。
１６．該少なくとも１つのプロセッサは、
該コンピュータシステムの該セット内の各コンピュータシステム上の該少なくとも１つの仮想マシン上に、監視エージェントをインストールすることと、
該ネットワークインターフェースを介して、該監視エージェントから該性能メトリックの一部を受信することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
１７．該監視エージェントは、該少なくとも１つの仮想マシン上で実行して、プロセッサ性能、メモリ性能、入力／出力性能、及びネットワーク通信性能のうちの少なくとも１つを含む該性能メトリックを収集する命令を含む、条項１６のシステム。
１８．該少なくとも１つのプロセッサは、
該性能メトリックに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する該コンピュータシステムのうちの１つを決定することと、
既存の仮想マシンを該コンピュータシステムのうちの該１つに移行することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
１９．該少なくとも１つのプロセッサは、
該性能メトリックに少なくとも部分的に基づいて、アップグレードを必要とする該コンピュータシステムのうちの１つを決定することと、
該必要とされるアップグレードの通知を提供することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
２０．該少なくとも１つのプロセッサは、
該ネットワークインターフェースを介して、該性能メトリックのセットを提供する要求を受信することと、
該要求に少なくとも部分的に基づいて、該コンピュータ可読記憶媒体に記憶された該性能メトリックから該性能メトリックの該セットを取り出すことと、
該ネットワークインターフェースを介して、性能メトリックの該セットを該要求の発信元に提供することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
２１．該少なくとも１つのプロセッサは、
該コンピュータリソースサービス内で仮想マシンを始動する要求を受信することと、
該性能メトリックに少なくとも部分的に基づいて、該仮想マシンを始動する基になる少なくとも１つのコンピュータシステムを該コンピュータシステムから決定することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
２２．該コンピュータシステムの第１の部分は、第１の地理的場所に位置し、該コンピュータシステムの第２の部分は、第２の地理的場所に位置し、
該コンピュータシステムの該セットは、第１の部分からの少なくとも１つのコンピュータシステムと、該第２の部分からの少なくとも１つのコンピュータシステムとを含む、条項１５のシステム。
２３．該少なくとも１つのプロセッサは、
該コンピュータシステムの該セット内の各コンピュータシステム上で、少なくとも１つの追加の仮想マシンを始動することであって、該少なくとも１つの追加の仮想マシンは、該少なくとも１つの仮想マシンとは異なる構成を有する、始動することと、
コンピュータシステムの該セット内の各コンピュータシステム上で実行している該少なくとも１つの追加の仮想マシンの追加の性能メトリックを監視することと、
該追加の性能メトリックの記録を記憶することと、をさらに含む該方法を実施する該命令を実行するようにさらに構成される、条項１５のシステム。
本開示の実施形態はまた、以下の条項を考慮して説明することもできる。
１．１つ以上のプロセッサにコンピュータリソースサービスの性能を評価させるための方法を実施させるための命令を記憶する非一時的コンピュータ可読記憶媒体であって、該方法は、
該コンピュータリソースサービスに関連付けられる性能メトリックに関する要求に含まれるための１つ以上のフィルタを受信することであって、該１つ以上のフィルタは、該要求に応答して性能メトリックのうちのどれを提供すべきかを決定するために使用される１つ以上のパラメータを含む、受信することと
ネットワークを介して、該コンピュータリソースサービスのコンピュータシステム上で実行している試験仮想マシンの該性能メトリックを監視しているシステムに、該要求を送信することと、
該ネットワークを介して、該１つ以上のフィルタによって決定される該性能メトリックのセットを含む応答を受信することであって、性能メトリックの該セットは、該試験仮想マシンの構成に関連付けられる性能メトリックを含む、受信することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該試験仮想マシンの該構成から構成を決定することと、
該構成に従って、該コンピュータリソースサービス内で仮想マシンを始動することと、を含む、非一時的コンピュータ可読記憶媒体。
２．該１つ以上のパラメータは、該コンピュータリソースサービスの該コンピュータシステムの場所、該コンピュータリソースサービスの該コンピュータシステムの構成、該試験仮想マシンの該構成、該試験仮想マシンによって実施されるベンチマーク試験、性能メトリックの種類、日付、時間、該性能メトリックに関連付けられる統計値のうちの少なくとも１つを含む、条項１の非一時的コンピュータ可読記憶媒体。
３．該試験仮想マシンの該構成から該構成を決定することは、
該仮想マシンの所望の性能を決定することと、
該所望の性能を、性能メトリックの該セットと比較することと、
該比較に少なくとも部分的に基づいて、該試験仮想マシンの該構成を決定することと、を含む、条項１の非一時的コンピュータ可読記憶媒体。
４．該方法は、
性能メトリックの該セットに少なくとも部分的に基づいて、該仮想マシンを始動する基になる少なくとも１つのコンピュータシステムを該コンピュータシステムから決定することをさらに含む、条項１の非一時的コンピュータ可読記憶媒体。
５．該方法は、
性能メトリックの該セットに少なくとも部分的に基づいて、該仮想マシンを始動するための該コンピュータシステムの少なくとも１つの場所を決定することをさらに含む、条項１の非一時的コンピュータ可読記憶媒体。
６．コンピュータリソースサービスの性能評価するためのコンピュータ実装方法であって、
ネットワークインターフェースを介して、該コンピュータリソースサービスの性能に関する要求を受信することであって、該要求は、該要求に応答して提供するための性能メトリックを決定するために使用される１つ以上のパラメータを含む、受信することと、
該１つ以上のパラメータに少なくとも部分的に基づいて、該性能メトリックのセットを決定することであって、該性能メトリックの該セットは、該コンピュータリソースサービス内のコンピュータシステムの場所分布及び該コンピュータシステムの該コンピュータリソースの差異のうちの少なくとも１つを代表して表す、決定することと、
該ネットワークインターフェースを介して、該性能メトリックの該セットを含む応答を送信することと、を含む、コンピュータ実装方法。
７．該コンピュータリソースサービスの該コンピュータシステム上で実行している試験仮想マシンから該性能メトリックを決定することをさらに含む、条項６のコンピュータ実装方法。
８．該応答の送信に応答して、性能メトリックの該セットに関連付けられる少なくとも１つのコンピュータシステム上で少なくとも１つの仮想マシンを始動する要求を受信することをさらに含む、条項６のコンピュータ実装方法。
９．該ネットワークインターフェースは、ウェブサービスインターフェースである、条項６のコンピュータ実装方法。
１０．該１つ以上のパラメータは、該コンピュータリソースサービスの該コンピュータシステムの場所、該コンピュータリソースサービスの該コンピュータシステムの構成、該試験仮想マシンの該構成、該試験仮想マシンによって実施されるベンチマーク試験、性能メトリックの種類、日付、時間、該性能メトリックに関連付けられる統計値のうちの少なくとも１つを含む、条項６のコンピュータ実装方法。
１１．コンピュータリソースサービスの性能を評価するためのコンピュータ実装方法であって、
ネットワークインターフェースを介して、該コンピュータリソースサービスの性能に関する要求を提供することであって、該要求は、該要求に応答して提供するための性能メトリックを決定するために使用される１つ以上のパラメータを含む、受信することと、
該性能メトリックのセットを受信することであって、該性能メトリックの該セットは、該コンピュータリソースサービス内のコンピュータシステムの場所分布及び該コンピュータシステムの該コンピュータリソースの差異のうちの少なくとも１つを代表して表す、受信することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該コンピュータリソースサービスに関連付けられる動作を実施することと、を含む、コンピュータ実装方法。
１２．該動作を実施することは、
該コンピュータリソースサービスの該コンピュータシステムから第１のコンピュータシステム及び第２のコンピュータシステムを決定することであって、該第１のコンピュータシステムは、第１の場所に位置し、該第２のコンピュータシステムは、第２の場所に位置する、決定することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該第１のコンピュータシステムが所望の性能で動作していることを決定することと、
該第１のコンピュータシステムのうちの少なくとも１つ上で少なくとも１つの仮想マシンを始動することと、を含む、条項１１のコンピュータ実装方法。
１３．該動作を実施することは、
該コンピュータリソースサービスの該コンピュータシステムから第１のコンピュータシステム及び第２のコンピュータシステムを決定することであって、該第１のコンピュータシステムは、第１の構成を含み、該第２のコンピュータシステムは、第２の構成を含む、決定することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該第１のコンピュータシステムが所望の性能で動作していることを決定することと、
該第１のコンピュータシステムのうちの少なくとも１つ上で少なくとも１つの仮想マシンを始動することと、を含む、条項１１のコンピュータ実装方法。
１４．該動作を実施することは、
該試験仮想マシンの第１の構成及び該試験仮想マシンの第２の構成を決定することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該第１の構成が所望の性能で動作していることを決定することと、
該第１の構成に従って、該コンピュータシステム上で少なくとも１つの仮想マシンを始動することと、を含む、条項１１のコンピュータ実装方法。
１５．該動作を実施することは、
該性能メトリックの該セットに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する該コンピュータシステムのうちの１つを決定することと、
既存の仮想マシンを該コンピュータシステムのうちの該１つに移行することと、を含む、条項１１のコンピュータ実装方法。
１６．コンピュータリソースサービスの性能を評価するためのシステムであって、
命令を含む少なくとも１つのメモリデバイスと、
表示デバイスと、
少なくとも１つのメモリデバイス及び該表示デバイスに連結され、
該コンピュータリソースサービスの性能に関する要求を送信することであって、該要求は、該要求に応答して性能メトリックのうちのどれを提供すべきかを決定するために使用される１つ以上のパラメータを含む、送信することと、
該１つ以上のパラメータによって決定される該性能メトリックのセットを含む応答を受信することと、
該表示デバイスを介して、性能メトリックの該セットの一部を出力することと、を含む方法を実施する該命令を実行するように構成される、少なくとも１つのプロセッサと、を備える、該システム。
１７．該少なくとも１つのプロセッサに連結される入力デバイスをさらに備え、該入力デバイスは、該１つ以上のパラメータを受信する、条項１６のシステム。
１８．該性能メトリックを監視しているシステムと通信するように構成されるネットワークデバイスをさらに備え、該要求は、ウェブサービスプロトコルを介して、該システムに送信される、条項１６のシステム。
１９．該コンピュータリソースサービスのコンピュータシステムと通信するように構成されるネットワークデバイスをさらに備え、該少なくとも１つのプロセッサは、該性能メトリックを監視するように構成される、条項１６のシステム。
２０．該コンピュータリソースサービスのコンピュータシステムと通信するように構成されるネットワークデバイスをさらに備え、該少なくとも１つのプロセッサは、監視エージェントと通信し、該ネットワークデバイスを介して、該監視エージェントから該性能メトリックの一部を収集するように構成される、条項１６のシステム。
２１．該少なくとも１つのプロセッサは、
該試験仮想マシンの第１の構成及び該試験仮想マシンの第２の構成を決定することと、
性能メトリックの該セットに少なくとも部分的に基づいて、該第１の構成が所望の性能で動作していることを決定することと、
該第１の構成に従って、該コンピュータシステム上で少なくとも１つの仮想マシンを始動することと、をさらに含む該方法を実施する命令を実行するように構成される、条項１６のシステム。
【００９５】
上に説明される特定の実装形態は、コンピュータアプリケーションまたはプログラムとして実施することができる。コンピュータプログラムは、アクティブ及び非アクティブの両方の種々の形式で存在することができる。例えば、コンピュータプログラムは、ソースコード、オブジェクトコード、実行可能なコードもしくは他のフォーマットのプログラム命令から成り得る、１つ以上のソフトウェアプログラム、ソフトウェアモジュール、もしくはその両方、ファームウェアプログラム（単数または複数）、またはハードウェア記述言語（ＨＤＬ）ファイルとして存在することができる。上記のいずれも、コンピュータ可読記憶デバイス及び媒体を含むコンピュータ可読媒体ならびに信号上に、圧縮または非圧縮形式で具現化することができる。コンピュータ可読記憶デバイス及び媒体の例としては、従来のコンピュータシステムＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（読み取り専用メモリ）、ＥＰＲＯＭ（消去可能なプログラム可能ＲＯＭ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラム可能ＲＯＭ）、及び磁気または光ディスクまたはテープが挙げられる。コンピュータ可読信号の例は、キャリアを使用して変調されているかいないかにかかわらず、本教示をホストまたは起動しているコンピュータシステムが、アクセスするように構成され得る信号であり、インターネットまたは他のネットワークを通じてダウンロードされる信号を含む。前述のものの具体的な例としては、ＣＤ−ＲＯＭ上での、またはインターネットでのダウンロードを介した、コンピュータプログラムの実行可能なソフトウェアプログラム（単数または複数）の配布が挙げられる。ある意味では、インターネットはそれ自体、抽象的実体としてコンピュータ可読媒体である。コンピュータネットワークに関しても、概して同じことが言える。
【００９６】
本教示を、それらの実装形態の実施例を参照して説明してきたが、当業者は、その真の趣旨及び範囲から逸脱することなく、説明される実装形態に種々の修正を行うことができるであろう。本明細書で使用される用語及び説明は、単に例示のために記載され、限定を意味するものではない。具体的には、本方法は実施例によって説明されているが、本方法のステップは、例示される順序とは異なる順序で、または同時に実施することができる。さらに、「含む」、「含む」、「有する」、「有する」、「を伴う」という用語、またはそれらの変形語が、発明を実施するための形態か特許請求の範囲かのいずれかで使用される範囲において、かかる用語は、「備える」という用語と同様の様式で、包含的であることを意図される。本明細書で使用されるとき、例えば、Ａ及びＢなどの項目の列挙に関して、「のうちの１つ以上」及び「のうちの少なくとも１つ」という用語は、Ａ単独、Ｂ単独、またはＡ及びＢを意味する。さらに、別段に指定のない限り、「セット」という用語は、「１つ以上」として解釈されるべきである。また、「連結する（ｃｏｕｐｌｅ）」または「連結する（ｃｏｕｐｌｅｓ）」という用語は、間接的接続かまたは直接的接続かのいずれかを意味することが意図される。したがって、第１のデバイスが第２のデバイスに連結する場合、その接続は、直接的接続を通じてもよく、または他のデバイス、構成要素、及び接続を介した間接的接続を通じてもよい。
【００９７】
単純化及び例示の目的のために、本教示の原理は、主にその種々の実装形態の実施例を参照することによって上記に説明される。しかしながら、当業者は、同一の原理が多数の異なる種類の情報及びシステムに等しく適用可能であり、また多数の異なる種類の情報及びシステムに実装され得ること、及び任意のかかる変形は本教示の真の趣旨及び範囲から逸脱しないことを容易に認識するであろう。さらに、前述の発明を実施するための形態では、添付の図面への参照がなされており、それは、種々の実装形態の特定の実施例を例示する。電気的、機械的、論理的、及び構造的変更を、本教示の趣旨及び範囲から逸脱することなく、種々の実装形態の実施例に行うことができる。したがって、前述の発明を実施するための形態は限定的な意味で解釈されるべきではなく、本教示の範囲は、添付の特許請求の範囲及びそれらの均等物によって定義される。
【図１】
2018022520.tif 000003
【図２】
2018022520.tif 000004
【図３Ａ】
2018022520.tif 000005
【図３Ｂ】
2018022520.tif 000006
【図４】
2018022520.tif 000007
【図５】
2018022520.tif 000008
【図６】
2018022520.tif 000009
【手続補正書】
【提出日】平成29年10月16日(2017.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一つ以上のプロセッサに、コンピュータリソースサービスの性能を評価する方法を実行させる命令を格納する持続性コンピュータ可読記憶媒体であって、前記方法は、
ネットワークを介して、前記コンピュータリソースサービスの性能を監視するシステムに、前記コンピュータリソースサービスの複数のコンピュータシステムの構成の中からの特定のコンピュータシステムの構成の性能メトリックに対する要求を送信することとであって、前記性能を監視するシステムが、前記コンピュータシステムのうちの異なるものでの試験仮想マシンを利用して、前記複数の構成の性能メトリックを収集することと、
この場合、前記要求は、前記コンピュータシステムの特定の構成を識別する一つ以上のパラメータを含むフィルタを指定する、
前記ネットワークを介して、前記性能を監視するシステムから、前記要求における前記一つ以上のフィルタによって指定された前記性能メトリックのセットを含む応答を受信することであって、前記性能メトリックのセットは、前記コンピュータシステムの前記構成の異なるものの性能メトリックを含むことと、
前記受信した性能メトリックのセットに少なくとも部分的に基づいて、前記コンピュータリソースサービスの前記コンピュータシステムの構成の中から一つの構成を選択することと、
前記選択された構成に従って、前記コンピュータリソースサービス内で、新たな仮想マシンを始動させる要求を送信することと、
を含む、持続性コンピュータ可読記憶媒体。
【請求項２】
前記一つ以上のパラメータは、前記コンピュータリソースサービスの前記コンピュータシステムの場所、前記コンピュータリソースサービスの前記コンピュータシステムの構成、前記試験仮想マシンの構成、前記試験仮想マシンによって実行されたベンチマーク試験、性能メトリックの種類、日付、時間または前記性能メトリックに関連する統計値のうちの少なくとも一つを含む、請求項１に記載の持続性コンピュータ可読記憶媒体。
【請求項３】
前記試験仮想マシンの構成から前記構成を選択することは、
前記仮想マシンの所望の性能を決定することと、
前記所望の性能を、前記性能メトリックのセットと比較することと、
前記比較に少なくとも部分的に基づいて、前記試験仮想マシンの構成を決定することと、
を含む、請求項１に記載の持続性コンピュータ可読記憶媒体。
【請求項４】
前記方法は、
前記性能メトリックのセットに少なくとも部分的に基づいて、その上で前記仮想マシンを始動させるための前記コンピュータシステムから少なくとも一つのコンピュータシステムを決定することをさらに含む、請求項１に記載の持続性コンピュータ可読記憶媒体。
【請求項５】
前記方法は、
前記性能メトリックのセットに少なくとも部分的に基づいて、前記仮想マシンを始動させるための前記コンピュータシステムの少なくとも一つの場所を決定することをさらに含む、請求項１に記載の持続性コンピュータ可読記憶媒体。
【請求項６】
コンピュータリソースサービスの性能を評価するコンピュータ実装方法であって、
前記コンピュータリソースサービスによって、コンピュータシステムの複数の異なる構成を提供することと、
ネットワークインタフェースを介して、前記コンピュータシステムの前記複数の異なる構成のうちの特定の一つの性能メトリックの要求を受信することであって、前記要求は、前記構成のうちの前記特定の一つを識別する一つ以上のパラメータを指定することと、
前記要求で指定された前記一つ以上のパラメータに少なくとも部分的に基づいて、前記コンピュータシステムのうちの特定の一つの前記性能メトリックのセットを決定することであって、前記性能メトリックのセットは、前記コンピュータリソースサービスにおけるコンピュータシステムの場所分布と、前記コンピュータシステムの前記コンピュータリソースの差異のうちの少なくとも一方を表し、前記性能メトリックのセットは、前記コンピュータリソースサービスの前記性能を評価して、該コンピュータシステム上で少なくとも一つの新たな仮想マシンを始動させるように要求するための少なくとも一つのコンピュータシステムを選択するシステムによる利用のために構成されることと、
前記ネットワークインタフェースを介して、前記決定された前記性能メトリックのセットを含む応答を送信することと、
を含む、コンピュータ実装方法。
【請求項７】
前記方法は、
前記コンピュータリソースサービスの前記コンピュータシステム上で実行する試験仮想マシンから前記性能メトリックを決定することをさらに含む、請求項６に記載のコンピュータ実装方法。
【請求項８】
前記方法は、
前記応答を送信することに応答して、前記性能メトリックのセットに関連する少なくとも一つのコンピュータシステム上で、少なくとも一つの仮想マシンを始動させる要求を受信することをさらに含む、請求項６に記載のコンピュータ実装方法。
【請求項９】
前記一つ以上のパラメータは、前記コンピュータリソースサービスの前記コンピュータシステムの場所、前記コンピュータリソースサービスの前記コンピュータシステムの構成、前記試験仮想マシンの構成、前記試験仮想マシンによって実行されたベンチマーク試験、性能メトリックの種類、日付、時間または前記性能メトリックに関連する統計値のうちの少なくとも一つを含む、請求項６に記載のコンピュータ実装方法。
【請求項１０】
コンピュータリソースサービスの性能を評価するコンピュータ実装方法であって、
ネットワークインタフェースを介して、前記コンピュータリソースサービスの性能を監視するシステムに、前記コンピュータリソースサービスの前記コンピュータシステムの複数の構成の中からコンピュータシステムの特定の構成の性能メトリックの要求を送信することであって、前記性能を監視するシステムは、前記コンピュータシステムのうちの異なるもので試験仮想マシンを利用して、前記複数の構成の性能メトリックを収集し、前記要求は、前記コンピュータシステムの前記特定の構成を識別する一つ以上のパラメータを指定することと、
前記性能を監視するシステムから、前記要求における前記一つ以上のパラメータによって指定された前記性能メトリックのセットを受信することであって、前記性能メトリックのセットは、前記コンピュータリソースサービスにおけるコンピュータシステムの場所分布と、前記コンピュータシステムの前記コンピュータリソースの差異のうちの少なくとも一方を表し、前記性能メトリックのセットは、前記コンピュータリソースサービスの前記性能を評価して、該コンピュータシステム上で少なくとも一つの新たな仮想マシンを始動させるように要求するための少なくとも一つのコンピュータシステムを選択するシステムによる利用のために構成されることと、
前記性能メトリックのセットに少なくとも部分的に基づいて、前記コンピュータリソースサービスに関連する動作を実行することと、
を含む、コンピュータ実装方法。
【請求項１１】
前記動作を実行することは、
前記コンピュータリソースサービスの前記コンピュータシステムの中から第１のコンピュータシステムおよび第２のコンピュータシステムを決定することであって、前記第１のコンピュータシステムは第１の場所に配置され、前記第２のコンピュータシステムは第２の場所に配置されることと、
前記性能メトリックのセットに少なくとも部分的に基づいて、前記第１のコンピュータシステムが所望の性能で作動していることを判断することと、
前記第１のコンピュータシステムのうちの少なくとも一つで、少なくとも一つの仮想マシンを始動させることと、
を含む、請求項１０に記載のコンピュータ実装方法。
【請求項１２】
前記動作を実行することは、
前記コンピュータリソースサービスの前記コンピュータシステムの中から第１のコンピュータシステムおよび第２のコンピュータシステムを決定することであって、前記第１のコンピュータシステムが第１の構成を含み、前記第２のコンピュータシステムが第２の構成を含むことと、
前記性能メトリックのセットに少なくとも部分的に基づいて、前記第１のコンピュータシステムが、所望の性能で作動していることを判断することと、
前記第１のコンピュータシステムのうちの少なくとも一つで、少なくとも一つの仮想マシンを始動させることと、
を含む、請求項１０に記載のコンピュータ実装方法。
【請求項１３】
前記動作を実行することは、
前記試験仮想マシンの第１の構成と、前記試験仮想マシンの第２の構成を決定することと、
前記性能メトリックのセットに少なくとも部分的に基づいて、前記第１の構成が所望の性能で作動していることを判断することと、
前記第１の構成に従って、前記コンピュータシステム上で少なくとも一つの仮想マシンを始動させることと、
を含む、請求項１０に記載のコンピュータ実装方法。
【請求項１４】
前記動作を実行することは、
前記性能メトリックのセットに少なくとも部分的に基づいて、利用可能なコンピュータリソースを有する前記コンピュータシステムのうちの一つを決定することと、
既存の仮想マシンを、前記コンピュータシステムのうちの一つに移行させることと、
を含む、請求項１０に記載のコンピュータ実装方法。
【請求項１５】
コンピュータリソースサービスの性能を評価するシステムであって、
命令を含む少なくとも一つの記憶装置と、
表示装置と、
少なくとも一つの記憶装置および前記表示装置に結合され、および
ネットワークインタフェースを介して、前記コンピュータリソースサービスの性能を監視するシステムに、前記コンピュータリソースサービスの複数のコンピュータシステムの構成の中からの特定のコンピュータシステムの構成の性能メトリックに対する要求を送信することとであって、前記性能を監視するシステムが、前記コンピュータシステムのうちの異なるものでの試験仮想マシンを利用して、前記複数の構成の性能メトリックを収集し、前記要求は、前記コンピュータシステムの前記特定の構成を識別する一つ以上のパラメータを指定することと、
前記性能を監視するシステムから、前記要求における前記一つ以上のパラメータによって指定された前記性能メトリックのセットを含む応答を受信することであって、前記性能メトリックのセットは、該コンピュータリソースサービス上で、少なくとも一つの新たな仮想マシンを始動させるように要求するための前記コンピュータリソースサービスの前記コンピュータシステムの中から少なくとも一つのコンピュータシステムを選択するための前記システムによる利用のために構成されることと、
前記表示装置を介して、前記性能メトリックのセットの一部を出力することと、
を含む方法を遂行させる前記命令を実行させるように構成された少なくとも一つのプロセッサと、
を備える、コンピュータリソースサービスの性能を評価するシステム。
【外国語明細書】
2018022520000001.pdf