(57)【特許請求の範囲】
【請求項１】
クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、前記クラウドコンピューティング環境における、サービスレベル契約（ＳＬＡ）に規定されるコンピュータリソースの上限を記憶することと、
前記ＳＬＡに基づいて期間当たりの固定費用を課金することと、を含み、
前記上限は、コンピュータリソースの需要が相対的に低いと予想されるときの相対的に高い値と、コンピュータリソースの需要が相対的に高いと予想されるときの相対的に低い値との間で時間によって変化する、方法であって、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量を測定することと、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量が前記上限を超えると判定することと、
前記判定に応答して、前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすことと、をさらに含み、
前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすことが、前記クラウドコンピューティング環境において前記少なくとも１つのアプリケーションを実行する仮想マシンの優先度レベルを下げることを含む、方法。
【請求項２】
前記ＳＬＡを満足させるためのコンピュータリソースの量を推定することと、
コンピュータリソースの利用可能な合計量と比べて、コンピュータリソースの前記推定された量に従って前記固定費用を判定することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記コンピュータリソースが少なくとも１つの処理リソースおよび少なくとも１つのストレージリソースを含む、請求項１に記載の方法。
【請求項４】
単位時間当たりの前記測定された消費量が、単位時間当たりの中央処理装置（ＣＰＵ）サイクルおよび単位時間当たりの入力／出力（Ｉ／Ｏ）データ量のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項５】
前記上限が、第１の時間帯における第１の値と第２の時間帯における第２の値との間で変化し、前記第１の値が前記第２の値よりも低い、請求項１に記載の方法。
【請求項６】
前記第１の時間帯が昼間のコアビジネスタイムに含まれ、前記第２の時間帯が夜間のエコノミータイムに含まれる、請求項５に記載の方法。
【請求項７】
企業会計期間に対応する１年の第１の期間の間の前記上限が、１年の第２の期間の間よりも相対的により低い、請求項１に記載の方法。
【請求項８】
前記ＳＬＡが第１のＳＬＡを含み、前記上限が第１の上限を含み、前記固定費用が第１の固定費用を含み、前記方法が、
単位時間当たりに前記少なくとも１つのアプリケーションによって消費することができるコンピュータリソースを増やすという要求を受け取ることと、
前記クラウドコンピューティング環境において前記ユーザのために前記少なくとも１つのアプリケーションが実行されている間に、前記第１のＳＬＡを、前記第１の上限よりも高い第２の上限を有する第２のＳＬＡに移動することと、
前記第２のＳＬＡに基づいて、前記第１の固定費用よりも高い、期間当たりの第２の固定費用を課金することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
単位時間当たりに前記少なくとも１つのアプリケーションによって消費することができるコンピュータリソースを増やすという要求を受け取ることと、
前記少なくとも１つのアプリケーションの実行のために前記上限を超えたコンピュータリソースを割り当てることと、
前記上限を超えるコンピュータリソースの消費量に対する使用量ベースの料金を課金することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
動作を実行するための、コンピューティングデバイスによって実行可能であるコンピュータプログラムであって、前記動作が、
クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、前記クラウドコンピューティング環境における、サービスレベル契約（ＳＬＡ）に規定されるコンピュータリソースの上限を記憶することと、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量を測定することと、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量が前記上限を超えるかどうかを判定することと、
前記少なくとも１つのアプリケーションによる消費量が前記上限を超えると判定したことに応答して、前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすことと、を含み、
前記上限は、コンピュータリソースの需要が相対的に低いと予想されるときの相対的に高い値と、コンピュータリソースの需要が相対的に高いと予想されるときの相対的に低い値との間で時間によって変化し、
前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすことが、前記クラウドコンピューティング環境において前記少なくとも１つのアプリケーションを実行する仮想マシンの優先度レベルを下げることを含む、コンピュータプログラム。
【請求項１１】
前記上限が、第１の時間帯における第１の値と第２の時間帯における第２の値との間で変化し、前記第１の値が前記第２の値よりも低い、請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記第１の時間帯が昼間のコアビジネスタイムに含まれ、前記第２の時間帯が夜間のエコノミータイムに含まれる、請求項１１に記載のコンピュータプログラム。
【請求項１３】
企業会計期間に対応する１年の第１の期間の間の前記上限が、１年の第２の期間の間よりも相対的により低い、請求項１０に記載のコンピュータプログラム。
【請求項１４】
前記コンピュータリソースが、少なくとも１つの中央処理装置（ＣＰＵ）および少なくとも１つの記憶装置を含む、請求項１０に記載のコンピュータプログラム。
【請求項１５】
単位時間当たりの前記測定された消費量が、単位時間当たりの中央処理装置（ＣＰＵ）サイクルおよび単位時間当たりの入力／出力（Ｉ／Ｏ）データ量のうちの少なくとも１つを含む、請求項１４に記載のコンピュータプログラム。
【請求項１６】
クラウドコンピューティング環境のバックエンドシステムであって、
前記クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、サービスレベル契約（ＳＬＡ）に規定されるコンピュータリソースの上限を少なくとも１つのストレージリソースに記憶するための、少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含むサービスレベル契約情報モジュールと、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量を測定するための、前記少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含むリソースカウンタモジュールと、
前記少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含む優先度コントローラモジュールであって、
単位時間当たりの前記少なくとも１つのアプリケーションによる前記コンピュータリソースの消費量が前記上限を超えるかどうかを判定し、
前記少なくとも１つのアプリケーションによる消費量が前記上限を超えると判定したことに応答して、前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすための、
コンピュータ実行可能命令を含む優先度コントローラモジュールと、を含み、
前記上限は、コンピュータリソースの需要が相対的に低いと予想されるときの相対的に高い値と、コンピュータリソースの需要が相対的に高いと予想されるときの相対的に低い値との間で時間によって変化し、
前記コンピュータリソースから割り当てられた仮想化リソースを使用して、前記少なくとも１つのアプリケーションを実行するように構成された仮想マシンをさらに含み、
前記仮想マシンの優先度レベルが、前記少なくとも１つのアプリケーションの実行のための前記仮想マシンへのリソースの割当ての頻度を決定し、
前記優先度コントローラモジュールが、前記仮想マシンの前記優先度レベルを下げることによって、前記少なくとも１つのアプリケーションに対する前記コンピュータリソースの割当てを減らすように構成される、バックエンドシステム。
【請求項１７】
前記少なくとも１つの処理リソースおよび前記少なくとも１つのストレージリソースを含む前記コンピュータリソースをさらに含む請求項１６に記載のバックエンドシステム。
【請求項１８】
前記仮想マシンがＶＭｗａｒｅ  ＥＳＸ、ＶＭｗａｒｅ  ＧＳＸ、ＸＥＮ  ３．０、またはＫＶＭを含む、請求項１６に記載のバックエンドシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書に別段の指示がない限り、本明細書に記載される材料は、本出願における特許請求の範囲に対する従来技術ではなく、この項に含めることによって従来技術であるとは認められない。
【０００２】
いくつかのクラウドコンピューティング環境は、ＣＰＵ実行時間に基づいて使用量ベースの課金を実施する。例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）  ＡＺＵＲＥクラウドサービスでは、価格設定は、エクストラスモールコンピュートインスタンスの場合１時間当たり＄０．０５、スモールコンピュートインスタンスの場合１時間当たり＄０．１２、ミディアムコンピュートインスタンスの場合１時間当たり＄０．２４、ラージコンピュートインスタンスの場合１時間当たり＄０．４８、エクストララージコンピュートインスタンスの場合１時間当たり＄０．９６とすることができ、これらはそれぞれ、単一の１ＧＨｚ  ＣＰＵ、単一の１．６ＧＨｚ  ＣＰＵ、２つの１．６ＧＨｚ  ＣＰＵ、４つの１．６ＧＨｚ  ＣＰＵ、または８つの１．６ＧＨｚ  ＣＰＵによって構成され得る。
【０００３】
データ指向アプリケーションの場合、必要なＣＰＵ実行時間は、データの量および性質に応じて増えるまたは減ることがあり、その結果として、開発者が事前にＣＰＵ実行時間、およびしたがって費用を予測することが困難である可能性がある。顧客情報データベースから得意先顧客を抽出するためのデータマイニングプログラムの場合、例えば、顧客情報データベースにおける関連データの量が事前に知られていないことがあり、その結果として、すべての関連データをマイニングするのに必要なＣＰＵ実行時間、およびしたがって関連データをマイニングするための費用を事前に予測することができない。したがって、クラウドコンピューティング環境を使用するレートを事前に知ることができる一方で、クラウドコンピューティング環境の使用量が不確定であるおよび／または不明であるのと同じ程度に、費用も不確定であるおよび／または不明である。
【発明の概要】
【０００４】
本明細書に記載される技法は、一般に、クラウドコンピューティング環境のためのサービスレベル契約（ＳＬＡ）ベースの定額料金価格設定モデルに関する。
【０００５】
いくつかの例では、コンピューティングデバイスによって、ユーザとのＳＬＡから、クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、クラウドコンピューティング環境におけるコンピュータリソースの上限を判定することを含み得る方法が記載される。方法は、ＳＬＡに基づいて期間当たりの固定費用を課金することも含み得る。
【０００６】
いくつかの例では、動作を実行するための、コンピューティングデバイスによって実行可能であるコンピュータ実行可能命令を記憶したコンピュータ記憶媒体が記載される。動作は、クラウドコンピュータ環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、クラウドコンピューティング環境におけるコンピュータリソースの上限を記憶することを含み得る。動作は、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量を測定することも含み得る。動作は、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量が上限を超えるかどうかを判定することも含み得る。動作は、少なくとも１つのアプリケーションによる消費量が上限を超えると判定したことに応答して、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てを減らすことも含み得る。
【０００７】
いくつかの例では、クラウドコンピューティング環境のバックエンドシステムが記載される。バックエンドシステムは、クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができるコンピュータリソースの上限を少なくとも１つのストレージリソースに記憶するための、少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含むＳＬＡ情報モジュールを含み得る。バックエンドシステムは、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量を測定するための、少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含むリソースカウンタモジュールも含み得る。バックエンドシステムは、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量が上限を超えるかどうかを判定し、少なくとも１つのアプリケーションによる消費量が上限を超えると判定したことに応答して、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てを減らすための、少なくとも１つの処理リソースによって実行可能であるコンピュータ実行可能命令を含む優先度コントローラモジュールも含み得る。
【０００８】
上記の概要は例示的なものにすぎず、いかなる形でも限定を意図するものではない。上記に記載された例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照することによって明らかとなろう。
【図面の簡単な説明】
【０００９】
【図１】本明細書に記載される少なくともいくつかの実施形態に従って構成された、例示的なクラウドコンピューティング環境のブロック図である。
【図２Ａ】本明細書に記載される少なくともいくつかの実施形態に従って構成された、いくつかの例示的なサービスレベル契約（ＳＬＡ）ベースの定額料金価格設定モデルを示すグラフである。
【図２Ｂ】本明細書に記載される少なくともいくつかの実施形態に従って構成された、いくつかの例示的なサービスレベル契約（ＳＬＡ）ベースの定額料金価格設定モデルを示すグラフである。
【図３】本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境のバックエンドシステムの例示的な実施形態のブロック図である。
【図４】本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境において実施することができる方法の例示的な流れ図である。
【図５】本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境において実施することができる別の方法の例示的な流れ図である。
【図６】本明細書に記載される少なくともいくつかの実施形態に従って構成された、ピーク性能を意識した（peak-performance-aware）課金向けに構成された例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【００１０】
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面では、そうではないことを文脈が示さない限り、通常、類似の記号は類似の構成要素を特定する。詳細な説明、図面、および特許請求の範囲において記載される例示的な実施形態は、限定を意図するものではない。本明細書に提示される主題の精神または範囲を逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本明細書におおまかに記載され、図に示された本開示の態様を、多種多様な異なる構成において構成し、置き換え、組み合わせ、分離し、設計することができ、これらの態様のすべてが本明細書で明確に企図されていることが容易に理解されよう。
【００１１】
本明細書に記載されるいくつかの実施形態は、一般に、クラウドコンピューティング環境のためのＳＬＡベースの定額料金価格設定モデルに関する。一般に、例えば、ユーザは、クラウドサービスプロバイダなどのプロバイダとのＳＬＡを締結することができる。ＳＬＡは、クラウドコンピューティング環境においてユーザのために実行される１つのアプリケーションまたは複数のアプリケーションによって単位時間当たりに消費され得る、クラウドコンピューティング環境におけるコンピュータリソースの上限を特定することができる。ＳＬＡは、ＳＬＡに基づいて課金される期間当たりの固定費用を特定することもできる。ＳＬＡの上限は、コンピュータリソースの需要が相対的により低いと予想されるときの相対的により高い値と、コンピュータリソースの需要が相対的により高いと予想されるときの相対的により低い値との間で、時間によって異なり得る。
【００１２】
アプリケーションがクラウドコンピューティング環境においてユーザのために実行されるとき、そのアプリケーションによるコンピュータリソースの消費量が測定され、ＳＬＡに基づく上限と比較され得る。ピーク消費量が上限を超える場合、ピーク消費量を上限未満に維持するために、そのアプリケーションに対するコンピュータリソースの割当てが低減され得る。したがって、いくつかの実施形態によれば、アプリケーションによるピーク消費量を監視することによって、上限未満のコンピュータリソースの任意の消費量に対する定期的な固定費用がユーザに課金され得る。
【００１３】
図１は、本明細書に記載される少なくともいくつかの実施形態に従って構成された、例示的なクラウドコンピューティング環境１００のブロック図である。必要ではないが、クラウドコンピューティング環境１００は、ＡＭＡＺＯＮ（登録商標）  ＥＣ２タイプのクラウドコンピューティング環境を含み得る。示された実施形態では、クラウドコンピューティング環境１００は、ネットワーク１０２、フロントエンドシステム１０４およびバックエンドシステム１０６を含む。
【００１４】
一般に、ネットワーク１０２は、フロントエンドシステム１０４およびバックエンドシステム１０６が互いに通信することを可能にする１つまたは複数のワイドエリアネットワーク（ＷＡＮ）および／またはローカルエリアネットワーク（ＬＡＮ）を含み得る。いくつかの実施形態では、ネットワーク１０２は、複数のＷＡＮおよび／またはＬＡＮ間の論理接続および物理接続によって形成されたグローバルインターネットワークを含むインターネットを含む。あるいはまたはそれに加えて、ネットワーク１０２は、１つまたは複数のセルラＲＦネットワークならびに／または、８０２．ｘｘネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）アクセスポイント、無線アクセスポイント、ＩＰベースのネットワークなどの、ただしこれらに限定されない、１つまたは複数の有線および／もしくは無線ネットワークを含み得る。ネットワーク１０２は、あるタイプのネットワークが別のタイプのネットワークとインターフェースをとることを可能にするサーバも含み得る。
【００１５】
クラウドコンピューティング環境１００のフロントエンドシステム１０４は、１つまたは複数のクライアントデバイス１０８および対応するユーザ１１０を含み得る。クライアントデバイス１０８はそれぞれ、ネットワーク１０２を介してバックエンドシステム１０６と通信するように構成されたアプリケーション（図示せず）を実行することができる。バックエンドシステム１０６と通信するためにそれぞれのクライアントデバイス１０８上で実行されるアプリケーションは、インターネットブラウザ、または他の適切なアプリケーションを含み得る。クライアントデバイス１０８はそれぞれ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、スマートフォン、携帯情報端末（ＰＤＡ）、または他の適切なクライアントデバイスを含み得るが、これらに限定されない。
【００１６】
クラウドコンピューティング環境１００のバックエンドシステム１０６は、コンピュータリソース１１２、ユーザ１１０にアクセス可能な１つまたは複数のアプリケーション１１４、および使用アプリケーション１１６を含み得る。例として、限定することなく、コンピュータリソース１１２は、１つまたは複数の中央処理装置（ＣＰＵ）などの処理リソース、１つまたは複数の記憶装置などのストレージリソース、ネットワークインターフェースコントローラ（ＮＩＣ）もしくは他の通信インターフェースデバイスなどの他のリソース、および／または他の適切なコンピュータリソースを含み得る。
【００１７】
アプリケーション１１４は、データ処理アプリケーション、ビデオゲーム、および／またはクラウドベースのアクセスがユーザ１１０によって所望され得る事実上あらゆる他のアプリケーションを含み得る。いくつかの実施形態では、それぞれのアプリケーション１１４をコンピュータリソース１１２に含まれる１つまたは複数のＣＰＵを含む専用サーバによって実行することができ、他の実施形態では、それぞれのアプリケーション１１４を仮想サーバ上で実行することができる。
【００１８】
ユーザ１１０は、個人ユーザおよび／または１人もしくは複数のユーザを含む組織を広く含み得る。一般に、ユーザ１１０は、クライアントデバイス１０８を操作して、バックエンドシステム１０６に含まれるコンピュータリソース１１２およびアプリケーション１１４にアクセスすることができる。
【００１９】
以下でより詳細に記載されるように、使用アプリケーション１１６は、とりわけ、ユーザ１１０のために実行されるアプリケーション１１４によるコンピュータリソース１１２の使用量を監視するように構成され得る。
【００２０】
いくつかの実施形態では、ユーザ１１０はそれぞれ、例えばバックエンドシステム１０６のプロバイダおよび／または別の企業実体（ｅｎｔｉｔｙ）とのサービスレベル契約（ＳＬＡ）を締結することができる。それぞれのＳＬＡは、クラウドコンピューティング環境１００において対応するユーザ１１０のために実行される少なくとも１つのアプリケーション１１４によって単位時間当たりに消費することができるコンピュータリソース１１２の上限を特定することができる。それぞれのＳＬＡは、対応する上限におけるまたはそれ未満のコンピュータリソース１１２の消費量に対する、対応するユーザ１１０に課金する期間当たりの固定費用を特定することもできる。
【００２１】
所与のＳＬＡの上限は、コンピュータリソース１１２の使用を促進する時間およびユーザ１１０がコンピュータリソース１１２を使いすぎるのを防ぐ時間によって異なり得る。この点に関して、図２Ａ〜図２Ｂを検討する。図２Ａ〜図２Ｂは、本明細書に記載される少なくともいくつかの実施形態に従って構成された、いくつかの例示的なＳＬＡベースの定額料金価格設定モデルを示すグラフである。
【００２２】
図２Ａの例では、第１、第２、または第３のＳＬＡにそれぞれ対応し、時間によって異なる複数の上限２０２、２０４、２０６が示されている。具体的には、上限２０２、２０４、２０６はそれぞれ、昼頃、例えば毎日の午後１２時に生じる相対的により低い値と、真夜中頃、例えば毎日午前の１２時に生じる相対的により高い値との間で変化する。上限２０２、２０４、２０６のそれぞれの相対的により低い値は、コンピュータリソース１１２の需要が相対的により高いと予想され得る、午前８時頃から午後５時頃までの典型的な営業時間の間などの、「コアビジネスタイム」の間に生じ得る。上限２０２、２０４、２０６のそれぞれの相対的により高い値は、コンピュータリソース１１２の需要が相対的により低いと予想され得る、午後５時頃から午前８時頃までの典型的な非営業時間の間などの、「エコノミータイム」の間に生じ得る。
【００２３】
図１の使用アプリケーション１１６は、ユーザ１１０のために実行されるアプリケーション１１４によるコンピュータリソース１１２の単位時間当たりの消費量を監視して、コンピュータリソース１１２の消費量が、ユーザ１１０との対応するＳＬＡに含まれる対応する上限２０２、２０４もしくは２０６にまたはそれ未満にとどまっているかどうかを判定することができる。消費量が上限２０２、２０４または２０６を超える場合、使用アプリケーション１１６は、ユーザ１１０のために実行されるアプリケーション１１４に割り当てられるコンピュータリソース１１２を減らして、コンピュータリソース１１２の消費量が対応する上限２０２、２０４もしくは２０６にまたはそれ未満にとどまることを保証するように構成され得る。
【００２４】
ユーザ１１０のために実行されるアプリケーション１１４が単位時間当たりに消費することができるコンピュータリソース１１２に上限２０２、２０４、２０６を課すことによって、ユーザ１１０が他のユーザ１１０に損害を与えるほどコンピュータリソース１１２を使いすぎることを防ぐことができる。上限２０２、２０４、２０６がコアビジネスタイムの間は相対的により低くなり、エコノミータイムの間は相対的により高くなる、時間によって異なる上限２０２、２０４、２０６を課すことによって、ユーザ１１０に、コンピュータリソース１１２の需要が相対的により低いと予想され得る典型的な非営業時間にコンピュータリソース１１２の消費を移動する動機を与えることができる。
【００２５】
上限２０２、２０４、２０６はそれぞれ、ＣＰＵピーク性能を指すことができる。すなわち、上限２０２、２０４、２０６はそれぞれ、第１、第２または第３のＳＬＡに基づいて許可される、１秒当たりのピークＣＰＵサイクルなどの、単位時間当たりのピークＣＰＵサイクルを特定することができる。
【００２６】
あるいはまたはそれに加えて、上限２０２、２０４、２０６と同じまたは同様の曲率および周期性を有する、時間によって変化する類似の上限を、Ｉ／Ｏピーク性能を指す第１、第２または第３のＳＬＡにおいて特定することができる。これらおよび他の例では、Ｉ／Ｏピーク性能を指す類似の上限はそれぞれ、第１、第２または第３のＳＬＡに基づいてそれぞれ許可される、１秒当たりのピークＩ／Ｏデータ量などの、単位時間当たりのピークＩ／Ｏデータ量を特定することができる。
【００２７】
上限２０２、２０４、２０６を特定することに加えて、第１、第２および第３のＳＬＡは、対応する上限２０２、２０４、２０６までのコンピュータリソース１１２の消費量に対して支払われ得る日毎、週毎、または月毎の固定費用などの、期間当たりのそれぞれの固定費用を特定することもできる。例のみとして、限定することなく、上限２０２に対応する第１のＳＬＡにおいて特定される費用は、毎月約＄２０などの第１の値とすることができる一方、上限２０４に対応する第２のＳＬＡにおいて特定される費用は、毎月約＄３０などの、第１の値よりも高い第２の値とすることができ、上限２０６に対応する第３のＳＬＡにおいて特定される費用は、毎月約＄４０などの、第２の値よりも高い第３の値とすることができる。より一般的には、上限２０２などの第１の上限を有するＳＬＡに基づく定期的な固定費用は、上限２０４または２０６などの第１の上限よりも高い第２の上限を有するＳＬＡに基づく定期的な固定費用よりも低くすることができる。ユーザ１１０は使用量の増加に伴う料金の増加について心配することがないので、ＳＬＡに基づいてコンピュータリソース１１２の使用量に対して定期的な固定費用を課金することは、コンピュータリソース１１２の使用を促進することができる。
【００２８】
図２Ａと同様に、図２Ｂも複数の上限２０８、２１０、２１２を示している。上限２０８、２１０、２１２はそれぞれ、それぞれのＳＬＡに対応することができ、ＣＰＵピーク性能を指すことができる。あるいはまたはそれに加えて、上限２０８、２１０、２１２と同じまたは同様の曲率および周期性を有する、時間によって変化する類似の上限を、Ｉ／Ｏピーク性能を指すそれぞれのＳＬＡにおいて特定することができる。
【００２９】
２４時間の期間を有する図２Ａの上限２０２、２０４、２０６とは対照的に、図２Ｂの上限２０８、２１０、２１２は１年の期間を有する。さらに、図２Ｂの上限２０８、２１０、２１２はそれぞれ、企業会計期間に対応する１年の第１の期間の間は相対的により低く、１年の第１の期間とは異なる１年の第２の期間の間は相対的により高い。
【００３０】
例えば、米国では、連邦所得税は通常、毎年４月１５日が期限である。したがって、毎年４月１５日に至るまでの期間において、コンピュータリソース１１２の需要は４月１５日まで増加すると予想され得るが、その期間の後、需要は最低限まで急速に減少すると予想され得る。したがって、対応する会計期間の間にコンピュータリソース１１２が使用されすぎる可能性を防ぐまたは減らすために、需要が相対的により高いと予想される会計期間−例えば、図２Ｂの例における１月１日頃から４月３０日頃まで−の間の上限２０８、２１０、２１２は、会計期間の間、コンピュータリソース１１２の需要が相対的により低いと予想される１年の残りの部分−例えば、５月１日頃から１２月３１日頃まで−の間よりも相対的により低くすることができる。
【００３１】
上限２０８、２１０、２１２のそれぞれを特定するそれぞれのＳＬＡは、対応する上限２０８、２１０、２１２までのコンピュータリソース１１２の消費量に対してユーザ１１０によってまたはユーザ１１０の代理で支払われ得る、期間当たりの対応する固定費用を特定することもできる。上限２０８に関連付けられたＳＬＡにおいて特定される期間当たりの固定費用は、上限２１０に関連付けられたＳＬＡにおいて特定される期間当たりの固定費用よりも相対的により低くすることができ、上限２１０に関連付けられたＳＬＡにおいて特定される期間当たりの固定費用は、上限２１２に関連付けられたＳＬＡにおいて特定される期間当たりの固定費用よりも相対的により低くすることができる。
【００３２】
図２Ａは、それぞれが２４時間の期間を有する上限２０２、２０４、２０６を示し、図２Ｂは、それぞれが１年の期間を有する上限２０８、２１０、２１２を示しているが、他の実施形態では、ＳＬＡにおいて特定される上限は、日毎、週毎、月毎、半月毎、２カ月毎、４カ月毎、半年毎、１年毎、２年毎、または他の期間などの、ただしこれらに限定されない、異なる期間を有してもよい。あるいはまたはそれに加えて、異なる期間を有する２つ以上の上限を組み合わせる対応するＳＬＡにおいて、より複雑な上限を特定することができる。例えば、図２Ａの上限２０２、２０４、２０６のうちの１つを図２Ｂの上限２０８、２１０、２１２のうちの１つに追加するか、そうでなければ、図２Ｂの上限２０８、２１０、２１２のうちの１つと組み合わせて、図２Ａに示すように一般的に日ベースで変化し、図２Ｂに示すように年ベースで変化する日毎の平均（または日毎の最小値もしくは日毎の最大値など）も有する上限を得ることができる。
【００３３】
図３は、本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境１００のバックエンドシステム１０６の例示的な実施形態のブロック図である。図３に示すように、バックエンドシステム１０６のコンピュータリソース１１２は、記憶装置３０２、３０４、ネットワークおよび／もしくはネットワークデバイス３０６、３０８、ならびに物理サーバ３１０、３１２、３１４または他のコンピューティングデバイスを含み得る。記憶装置３０２、３０４をコンピュータリソース１１２内のプライマリストレージとして実施することができ、これは、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスク−ＲＯＭ（ＣＤ−ＲＯＭ）もしくは他の光学ディスクストレージ、磁気ディスクストレージ、ソリッドステートストレージまたは他の記憶装置などの、デジタルデータ用のほとんどすべてのタイプの記憶装置を含み得る。ネットワークおよび／またはネットワークデバイス３０６、３０８は、１つまたは複数のスイッチ、ルータ、通信インターフェースおよび／またはコンピュータリソース１１２内のデバイス間の通信を容易にするための他のデバイスを含み得る。物理サーバ３１０、３１２、３１４はそれぞれ、１つまたは複数のＣＰＵおよび／またはローカル記憶装置を含み得る。したがって、コンピュータリソース１１２の処理リソースは、例えば、物理サーバ３１０、３１２、３１４のＣＰＵを含むことができ、コンピュータリソース１１２のストレージリソースは、記憶装置３０２、３０４および／または物理サーバ３１０、３１２、３１４のローカル記憶装置を含むことができる。
【００３４】
コンピュータリソース１１２へのアクセスを管理するまたはコンピュータリソース１１２を「仮想化する」ために、コンピュータリソース１１２に仮想化インフラ３１６が提供され得る。この点に関して、仮想化インフラ３１６は、仮想化リソース３１８を仮想ストレージ３１８Ａおよび仮想ＣＰＵ３１８Ｂを含む仮想マシン３２０に割り当てるように構成され得る。仮想マシン３２０は、仮想化リソース３１８を使用してアプリケーション１１４を実行するように構成され得る。バックエンドシステム１０６は、一般的に仮想マシン３２０と同じように構成される１つまたは複数の追加の仮想マシン３２２、３２４を含み得る。示されていないが、それぞれの仮想マシン３２０、３２２、３２４は、アプリケーション１１４を動作させるオペレーティングシステム（ＯＳ）を追加して含み得る。
【００３５】
仮想化インフラ３１６および仮想マシン３２０、３２２、３２４は、本明細書に開示される実施形態を実施するために、いくつかの形態のうちのいずれか１つをとり得る。例えば、仮想化インフラ３１６および仮想マシン３２０、３２２、３２４は、ＶＭｗａｒｅ（登録商標）  ＥＳＸ、ＶＭｗａｒｅ  ＧＳＸ、Ｘｅｎ  ３．０（もしくは別のバージョン）、またはＫＶＭを含み得るが、これらに限定されない。
【００３６】
仮想マシン３２０内のアプリケーション１１４は、仮想化リソース３１８を使用して、例えば、データをストレージからメモリに読み込む、データをメモリからストレージに書き込むおよび／またはデータに対して操作を実行することができる。ストレージに書き込まれたデータおよびストレージから読み込まれたデータを含むデータは、図３においてＩ／Ｏデータ３２６として特定されている。
【００３７】
仮想化リソース３１８は、例えば、仮想ストレージ３１８Ａをコンピュータリソース１１２内の１つまたは複数のディスク記憶装置のすべてまたは一部の論理表現としてアプリケーション１１４に提示することによっておよび／またはコンピュータリソース１１２内の１つまたは複数のＣＰＵのＣＰＵサイクルのいくつかまたはすべてを仮想ＣＰＵ３１８Ｂとしてアプリケーション１１４に割り当てることによって、アプリケーション１１４を実際のコンピュータリソース１１２から保護することができる。仮想化リソース３１８上で動作する単一のアプリケーション１１４を有する仮想マシン３２０が図３に示されているが、他の実施形態では、仮想マシン３２０は仮想化リソース３１８上で動作する複数のアプリケーション１１４を含み得る。
【００３８】
図１および図３を組み合わせて参照すると、使用アプリケーション１１６は、以降でモジュール３２８、３３０、３３２と総称される、ＳＬＡ情報モジュール３２８、リソースカウンタモジュール３３０および優先度コントローラモジュール３３２を含み得る。モジュール３２８、３３０、３３２はそれぞれ、本明細書に記載される動作を実行するための、コンピュータリソース１１２内のコンピューティングデバイスまたは処理リソースによって実行可能であるコンピュータ実行可能命令を含み得る。
【００３９】
例えば、ＳＬＡ情報モジュール３２８は、コンピュータリソース１１２の少なくとも１つのストレージリソースに、ユーザ１１０のために実行される少なくとも１つのアプリケーション１１４によって単位時間当たりに消費することができるコンピュータリソース１１２の上限を記憶するように構成され得る。いくつかの実施形態では、ＳＬＡ情報モジュール３２８は、複数のユーザ１１０とのＳＬＡにおいて特定される複数の上限を記憶する。上限は、例えば、図２Ａ〜図２Ｂの上限２０２、２０４、２０６、２０８、２１０、２１２のうちの１つまたは複数を含み得る。
【００４０】
リソースカウンタモジュール３３０は、仮想化リソース３１８によって表される、単位時間当たりの少なくとも１つのアプリケーション１１４によるコンピュータリソース１１２の消費量を測定するように構成され得る。いくつかの実施形態では、リソースカウンタモジュール３３０は、少なくとも１つのアプリケーション１１４と、仮想ストレージ３１８Ａおよび仮想ＣＰＵ３１８Ｂを含む仮想化リソース３１８との間の通信を傍受することによって、消費量を測定する。したがって、リソースカウンタモジュール３３０は、アプリケーション１１４と仮想ストレージ３１８Ａとの間の単位時間当たりのＩ／Ｏデータ３２６を測定するように構成されたデータカウンタ３３０Ａと、仮想ＣＰＵ３１８Ｂの単位時間当たりのＣＰＵサイクルを測定するように構成されたサイクルカウンタ３３０Ｂの両方を含み得る。
【００４１】
優先度コントローラモジュール３３２は、リソースカウンタモジュール３３０およびＳＬＡ情報モジュール３２８に通信可能に結合され得る。したがって、優先度コントローラモジュール３３２は、例えば、上限が時間によって変化する現在の時間を考慮しながら、リソースカウンタモジュール３３０からのユーザ１１０について測定された消費量をＳＬＡ情報モジュール３２８からのユーザ１１０についての上限と比較することによって、単位時間当たりの少なくとも１つのアプリケーション１１４によるコンピュータリソース１１２の消費量が上限を超えるかどうかを判定するように構成され得る。
【００４２】
加えて、優先度コントローラモジュール３３２は、少なくとも１つのアプリケーション１１４による消費量が上限を超えると判定したことに応答して、少なくとも１つのアプリケーション１１４に対するコンピュータリソース１１２の割当てを減らすように構成され得る。あるいはまたはそれに加えて、優先度コントローラモジュール３３２は、少なくとも１つのアプリケーション１１４による消費量が上限未満であると判定したことに応答して、少なくとも１つのアプリケーション１１４に対するコンピュータリソース１１２の割当てを増やすように構成され得る。
【００４３】
優先度コントローラモジュール３３２は、いくつかの実施形態では、仮想マシン３２０の優先度レベルを下げるまたは上げることによって、コンピュータリソース１１２の割当てを減らすまたは増やすことができる。これらおよび他の実施形態では、仮想マシン３２０の優先度レベルは、仮想マシン３２０に対するコンピュータリソース１１２の割当ての頻度に関連付けられ得る。したがって、仮想マシン３２０の優先度レベルを下げるまたは上げることによって、コンピュータリソース１１２は、少なくとも１つのアプリケーション１１４によるコンピュータリソース１１２の単位時間当たりの消費量を上限未満に低減するか、依然として上限未満に維持しながら増加させることができるように、より低いまたはより高い頻度で仮想マシン３２０に割り当てられ得る。
【００４４】
仮想マシン３２０、３２２、３２４の優先度レベルを管理して、コンピュータリソース１１２の割当てを減らすまたは増やすことによって、物理的に異なるタイプのマシンを導入することなく、ユーザ１１０のために実行されるアプリケーション１１４に上限を課すことができる。したがって、図１のクラウドコンピューティング環境１００などのクラウドコンピューティング環境において、相対的により高い上限を有するＳＬＡに対して相対的により高い料金を支払うユーザ１１０には、相対的により低い上限を有するＳＬＡに対して相対的により低い料金を支払うユーザ１１０よりも相対的により高いコンピュータリソース１１２の割当てが提供される価格設定方式を実施することができる。
【００４５】
本明細書に開示されるいくつかの実施形態は、コンピュータリソースの需要が低いことがある夜間または典型的な非営業期間などの期間へのコンピュータリソース１１２の消費の自主的な移動を促進することができる。例えば、図２Ａ〜図２Ｂに関して記載されているように、図２Ａの上限２０２、２０４、２０６の値は、夕方および夜間の間、相対的により高いことがあり、夕方および夜間の間は、ユーザ１１０に、それに応じて、コンピュータリソース１１２の消費をコアビジネスタイムまたは通常の営業時間から夕方および夜間を含むエコノミータイムに移動することを計画する動機を与えることができる。同様に、図２Ｂの上限２０８、２１０、２１２の値は、５月頃から１２月までの１年のうちのあまり忙しくない営業期間の間、相対的により高く、この期間は、ユーザ１１０に、それに応じて、他の場合であれば企業会計期間の間に生じ得るコンピュータリソース１１２の消費を１月〜４月から１年のうちのあまり忙しくない営業期間に移動することを計画する動機を与えることができる。
【００４６】
あるいはまたはそれに加えて、本明細書に開示される実施形態のいくつかは、他の場合であれば移行することに気が進まないまたは移行することを嫌がることがあるユーザ１１０によるクラウドコンピューティングへの移行を促進することができる。例えば、クラウドコンピューティングのいくつかの価格設定方式は使用量ベースであるが、そのような価格設定方式では、数人のユーザ１１０が、クラウドコンピューティングサービスの任意の所与の期間の間に発生する料金の額を予測し、予算を計上することが困難または不可能であることがあり、このことは、ユーザ１１０にクラウドコンピューティングに移行することを思いとどまらせることがある。しかし、本開示によれば、ユーザ１１０にクラウドコンピューティングに対する定期的な固定費用を課金することができ、したがって、それに応じて高い確度で予算を計上することができる。
【００４７】
開示される実施形態のいくつかは、高い消費率を有するユーザ１１０および低い消費率を有するユーザ１１０に対して公平な価格設定モデルを提供し得る。特に、ユーザ１１０は、より高い消費率に対応するためにより高い料金を支払うまたはより低い消費率に対応するためにより低い料金を支払う可能性がある。
【００４８】
モジュール３２８、３３０、３３２を含む使用アプリケーション１１６を有するクラウドコンピューティング環境を提供することによって、開示される実施形態のいくつかを既存のクラウドコンピューティング環境で実施することができる。したがって、クラウドコンピューティング環境内の任意の既存のソフトウェアまたはハードウェアを置き換えることなく、開示される実施形態のいくつかを既存のクラウドコンピューティング環境で実施することができる。
【００４９】
図４は、本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境１００において実施することができる方法４００の例示的な流れ図を示す。方法４００は、例えば、図１または図３のバックエンドシステム１０６内のコンピュータリソース１１２によって、全体的にまたは部分的に実行され得る。方法４００は、ブロック４０２および／または４０４のうちの１つまたは複数によって示されるように、様々な動作、機能または行為を含む。方法４００はブロック４０２で開始することができる。
【００５０】
ブロック４０２では、コンピューティングデバイスは、ユーザとのＳＬＡから、クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、クラウドコンピューティング環境におけるコンピュータリソースの上限を判定する。コンピューティングデバイスは、図３のコンピュータリソース１１２内に、図３の物理サーバ３１０、３１２、３１４のうちの１つのＣＰＵなどのＣＰＵを含み得る。ユーザとのＳＬＡから上限を判定することは、図３の優先度コントローラモジュール３３２が、図３のＳＬＡ情報モジュール３２８で上限を探すことによって、実行され得る。図２Ａ〜図２Ｂに関して上記に記載したように、上限は時間によって異なり得る。ブロック４０２の後にブロック４０４が続き得る。
【００５１】
ブロック４０４では、ＳＬＡに基づいて期間当たりの固定費用が課金される。固定費用は、例えば、月毎の固定費用であってもよく、図１のユーザ１１０のうちの１人などのユーザに課金され得る。
【００５２】
本明細書に開示されるいくつかの実施形態は、図４のブロック４０２および／もしくは４０４によって示される動作などの図４の方法４００に含まれる動作ならびに／またはその変形を実行するための、コンピューティングデバイスによって実行可能であるコンピュータ実行可能命令を記憶したコンピュータ記憶媒体を含む。コンピュータ記憶媒体は、図３の記憶装置３０２、３０４のうちの１つまたは複数および／または図３の物理サーバ３１０、３１２、３１４の１つまたは複数のローカル記憶装置に含まれ得る。
【００５３】
当業者であれば、本明細書に開示されるこのおよび他の過程および方法について、過程および方法において実行される機能が異なる順序で実施され得ることが理解されよう。さらに、概説した工程および操作は例として提供されたものにすぎず、工程および操作のいくつかは任意選択であってもよく、開示される実施形態の本質を損なうことなく、より少ない工程および操作に組み合わされるか、追加の工程および操作に拡大されてもよい。
【００５４】
例えば、方法４００は、ＳＬＡを満足させるためのコンピュータリソースの量を推定することと、コンピュータリソースの利用可能な合計量と比べて、コンピュータリソースの推定された量に従って固定費用を判定することとをさらに含み得る。これらおよび他の実施形態では、コンピュータリソースの予測された量が相対的に多い場合および／またはコンピュータリソースの利用可能な合計量が予測された量と比べて相対的に少ない場合、固定費用は相対的に高いことがある。
【００５５】
あるいはまたはそれに加えて、方法４００は、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量を測定することと、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量が上限を超えると判定することと、判定に応答して、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てを減らすこととをさらに含み得る。必要ではないが、上記の工程のうちの１つまたは複数は、図３のＳＬＡ情報モジュール３２８、リソースカウンタモジュール３３０および／または優先度コントローラモジュール３３２のうちの１つまたは複数を含む、図１の使用アプリケーション１１６によって実行され得る。
【００５６】
これらおよび他の実施形態では、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てを減らすことは、クラウドコンピューティング環境において少なくとも１つのアプリケーションを実行する仮想マシンの優先度レベルを下げることを含み得る。例えば、図３の優先度コントローラモジュール３３２は、アプリケーション１１４を実行する仮想マシン３２０の優先度レベルを下げることによって、アプリケーション１１４に対するコンピュータリソース１１２の割当てを減らすことができる。
【００５７】
あるいはまたはそれに加えて、単位時間当たりの測定された消費量は、単位時間当たりのＣＰＵサイクルまたは単位時間当たりのＩ／Ｏデータ量の少なくとも１つを含み得る。
【００５８】
いくつかの実施形態では、特定のユーザのＳＬＡにおいて指定された上限は、ユーザの要望に対して不十分であることがある。例えば、ユーザは、まれにまたは１回限りのこととして、アプリケーションをより迅速に実行することおよび／または他の場合であればユーザのＳＬＡにおいて指定された上限において可能であるよりも多くのコンピュータリソースを必要とするアプリケーションを実行することを望むことがある。これらおよび他の実施形態では、ユーザは、例えばユーザインターフェース（ＵＩ）を介して、ユーザが上限を超えることを望んでいると示すことができる。
【００５９】
したがって、方法４００は、上限を超えるために、単位時間当たりに少なくとも１つのアプリケーションによって消費することができるコンピュータリソースを増やすという要求を受け取ることをさらに含み得る。クラウドコンピューティング環境においてユーザのために少なくとも１つのアプリケーションが実行されている間に、ＳＬＡを異なる相対的により高い上限を有する異なるＳＬＡに移動することができる。加えて、ＳＬＡを異なるＳＬＡに移動した後、異なるＳＬＡに基づいて期間当たりの異なる相対的により高い固定費用を課金することができる。
【００６０】
あるいはまたはそれに加えて、方法４００は、単位時間当たりに少なくとも１つのアプリケーションによって消費することができるコンピュータリソースを増やすという要求を受け取ることをさらに含み得る。上限を超えたコンピュータリソースは、少なくとも１つのアプリケーションの実行のために割り当てられ得る。上限を超えるコンピュータリソースの消費量に対する使用量ベースの料金を、例えばユーザに課金することができる。
【００６１】
図５は、本明細書に記載される少なくともいくつかの実施形態に従って構成された、図１のクラウドコンピューティング環境において実施することができる別の方法５００の例示的な流れ図を示す。方法５００は、例えば、図１または図３のバックエンドシステム１０６内のコンピュータリソース１１２によって、全体的にまたは部分的に実行され得る。例えば、方法５００は、コンピュータリソース１１２の一部において図３のモジュール３２８、３３０、３３２を含む図１の使用アプリケーション１１６を実行することによって、全体的にまたは部分的に実行され得る。方法５００は、ブロック５０２、５０４、５０６および／または５０８のうちの１つまたは複数によって示されるように、様々な操作、機能または行為を含む。方法５００はブロック５０２で開始することができる。
【００６２】
ブロック５０２では、クラウドコンピューティング環境においてユーザのために実行される少なくとも１つのアプリケーションによって単位時間当たりに消費することができる、クラウドコンピューティング環境におけるコンピュータリソースの上限が記憶される。上限は、例えば、ＳＬＡを有する図３のＳＬＡ情報モジュール３２８によって記憶され得るおよび／または図３の記憶装置３０２、３０４のうちの１つもしくは物理サーバ３１０、３１２、３１４のうちの１つに含まれるローカル記憶装置に記憶され得る。ブロック５０２の後にブロック５０４が続き得る。
【００６３】
ブロック５０４では、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量が測定される。コンピュータリソースの消費量は、例えば、図３のリソースカウンタモジュール３３０によって測定され得る。ブロック５０４の後にブロック５０６が続き得る。
【００６４】
ブロック５０６では、単位時間当たりの少なくとも１つのアプリケーションによるコンピュータリソースの消費量が上限を超えるかどうかが判定される。消費量が上限を超えるかどうかは、例えば、図３の優先度コントローラモジュール３３２によって判定され得る。判定は、例えば図３のリソースカウンタモジュール３３０からの測定された消費量を、例えばＳＬＡ情報モジュール３２８からの上限と比較することを含み得る。ブロック５０６の後にブロック５０８が続き得る。
【００６５】
ブロック５０８では、少なくとも１つのアプリケーションによる消費量が上限を超えると判定したことに応答して、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てが減らされる。コンピュータリソースの割当ては、例えば、図３の優先度コントローラモジュール３３２によって減らされ得る。
【００６６】
あるいはまたはそれに加えて、少なくとも１つのアプリケーションに対するコンピュータリソースの割当てを減らすことは、クラウドコンピューティング環境において少なくとも１つのアプリケーションを実行する仮想マシンの優先度レベルを下げることを含み得る。例えば、図３の優先度コントローラモジュール３３２は、アプリケーション１１４を実行する図３の仮想マシン３２０の優先度レベルを下げて、アプリケーション１１４に対するコンピュータリソース１１２の割当てを減らすことができる。
【００６７】
図６は、本明細書に記載される少なくともいくつかの実施形態に従って構成された、ピーク性能を意識した課金向けに構成された例示的なコンピューティングデバイス６００を示すブロック図である。コンピューティングデバイス６００は、例えば、図１および図３のコンピュータリソース１１２に含まれ得る。非常に基本的な構成６０２では、コンピューティングデバイス６００は通常、１つまたは複数のプロセッサ６０４およびシステムメモリ６０６を含む。メモリバス６０８は、プロセッサ６０４とシステムメモリ６０６との間の通信に使用され得る。
【００６８】
所望の構成に応じて、プロセッサ６０４は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはこれらの任意の組合せを含むが、これらに限定されない、任意のタイプのものとすることができる。プロセッサ６０４は、レベル１キャッシュ６１０およびレベル２キャッシュ６１２などの１つまたは複数のレベルのキャッシュ、プロセッサコア６１４、およびレジスタ６１６を含み得る。例示的なプロセッサコア６１４は、演算論理ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組合せを含み得る。例示的なメモリコントローラ６１８をプロセッサ６０４とともに使用することもでき、またはいくつかの実装形態では、メモリコントローラ６１８はプロセッサ６０４の内部部分であってもよい。
【００６９】
所望の構成に応じて、システムメモリ６０６は、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）またはこれらの任意の組合せを含むが、これらに限定されない、任意のタイプのものとすることができる。システムメモリ６０６は、ＯＳ６２０、１つまたは複数のアプリケーション６２２、およびプログラムデータ６２４を含み得る。アプリケーション６２２は、図４および図５の方法４００および５００に関して記載されたものを含む、本明細書に記載される機能を実行するために構成された課金アルゴリズム６２６を含み得る。アプリケーション６２２は、例えば、図１の使用アプリケーション１１６に対応し得る。プログラムデータ６２４は、本明細書に記載されるような課金アルゴリズム６２６を構成するのに有用であり得る課金データ６２８を含み得る。例えば、課金データ６２８は、図３のＳＬＡ情報モジュール３２８から取り出された（１つまたは複数の）上限および／または図３のリソースカウンタモジュール３３０から受け取られた測定された消費量を含み得る。いくつかの実施形態では、アプリケーション６２２は、図４および図５の方法４００および５００などの課金方法の実装形態が本明細書に記載されるように提供され得るように、ＯＳ６２０上のプログラムデータ６２４を用いて動作するように構成され得る。この記載された基本構成６０２は、内側の破線内のこれらの構成要素によって図６に示されている。
【００７０】
コンピューティングデバイス６００は、追加の特徴または機能、および基本構成６０２と任意の必要なデバイスおよびインターフェースとの間の通信を容易にする追加のインターフェースを有し得る。例えば、バス／インターフェースコントローラ６３０は、ストレージインターフェースバス６３４を介して、基本構成６０２と１つまたは複数のデータ記憶装置６３２と間の通信を容易にするために使用され得る。データ記憶装置６３２は、取外し式記憶装置６３６、非取外し式記憶装置６３８、またはこれらの組合せとすることができる。取外し式記憶装置および非取外し式記憶装置の例は、いくつか挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光学ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するために任意の方法または技術で実施される揮発性および不揮発性、取外し式および非取外し式媒体を含み得る。
【００７１】
システムメモリ６０６、取外し式記憶装置６３６および非取外し式記憶装置６３８はコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリテクノロジ、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイス６００によってアクセスすることができる任意の他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ記憶媒体は、コンピューティングデバイス６００の一部であってもよい。
【００７２】
コンピューティングデバイス６００は、バス／インターフェースコントローラ６３０を介して、様々なインターフェースデバイス（例えば、出力装置６４２、周辺インターフェース６４４、および通信デバイス６４６）から基本構成６０２への通信を容易にするためのインターフェースバス６４０も含み得る。例示的な出力装置６４２は、グラフィック処理ユニット６４８およびオーディオ処理ユニット６５０を含み、これらのユニットは、１つまたは複数のＡ／Ｖポート６５２を介して、ディスプレイまたはスピーカなどの様々な外部デバイスに通信するように構成され得る。例示的な周辺インターフェース６４４は、シリアルインターフェースコントローラ６５４またはパラレルインターフェースコントローラ６５６を含み、これらのインターフェースコントローラは、１つまたは複数のＩ／Ｏポート６５８を介して、入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）または他の周辺デバイス（例えば、プリンタ、スキャナなど）などの外部デバイスと通信するように構成され得る。例示的な通信デバイス６４６は、ネットワークコントローラ６６０を含み、ネットワークコントローラは、１つまたは複数の通信ポート６６４を介して、ネットワーク通信リンクを介した１つまたは複数の他のコンピューティングデバイス６６２との通信を容易にするように構成され得る。
【００７３】
ネットワーク通信リンクは、通信媒体の一例であり得る。通常、通信媒体をコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝達機構などの変調データ信号内の他のデータによって具体化することができ、通信媒体は任意の情報配信媒体を含み得る。「変調データ信号」は、信号内の情報を符号化するようにその特性の１つまたは複数を設定したまたは変更した信号であってもよい。例として、限定することなく、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響、高周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）および他の無線媒体などの無線媒体を含み得る。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含み得る。
【００７４】
コンピューティングデバイス６００は、携帯電話、携帯情報端末（ＰＤＡ）、パーソナルメディアプレーヤーデバイス、無線ウェブウォッチデバイス、パーソナルヘッドセットデバイス、アプリケーション固有デバイス、または上記の機能のいずれかを含むハイブリッドデバイスなどのスモールフォームファクタポータブル（またはモバイル）電子デバイスの一部として実施され得る。コンピューティングデバイス６００は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとしても実施され得る。
【００７５】
本開示は、様々な態様の例示として意図されている本明細書に記載される特定の実施形態に関して限定されるものではない。当業者には明らかになるように、本開示の精神および範囲から逸脱することなく、多くの修正および変形を行うことができる。本明細書で列挙したものに加えて、本開示の範囲内にある機能的に等価な方法および装置は、上記の説明から当業者に明らかとなろう。そのような修正形態および変形形態は、添付の特許請求の範囲の範囲内にあるものとする。本開示は、添付の特許請求の範囲と等価と認められるものの全範囲とともに、そのような特許請求の範囲の条項によってのみ限定されるべきである。本開示は、当然異なり得る特定の方法、試薬、化合物、組成物または生物学的システムに限定されるものではないことを理解されたい。本明細書で使用される用語は単に特定の実施形態を説明するためのものであり、限定を意図するものではないことも理解されたい。
【００７６】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００７７】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、そ���に限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００７８】
さらに、本開示の特徴または態様がマーカッシュグループに関して記載される場合、当業者であれば、それによって本開示が、マーカッシュグループの任意の個々のメンバーまたはメンバーのサブグループに関しても記載されることを認識されよう。
【００７９】
当業者には理解されるように、書面による説明を提供するという点など、任意のおよびすべての目的のために、本明細書に開示されるすべての範囲は、任意のおよびすべての可能な部分的範囲ならびにその部分的範囲の組合せも包含する。列挙されるいかなる範囲も、少なくとも二等分、三等分、四等分、五等分、十等分などに分解されている同じ範囲を十分に説明し、それらを可能にするものとして容易に認識することができる。非限定的な例として、本明細書で論じたそれぞれの範囲は、下位三分の一、中位三分の一、および上位三分の一などに容易に分解することができる。やはり当業者には理解されるように、「〜まで（ｕｐ  ｔｏ）」、「少なくとも（ａｔ  ｌｅａｓｔ）」などのすべての言葉は記載した数を含み、後で上述のような部分的範囲に分解することができる範囲を指す。最後に、当業者には理解されるように、範囲はそれぞれ個別の要素を含む。したがって、例えば、１つ〜３つのセルを有するグループは、１つ、２つまたは３つのセルを有するグループを指す。同様に、１つ〜５つのセルを有するグループは、１つ、２つ、３つ、４つまたは５つのセルを有するグループを指すなど、以下同様である。
【００８０】
上記から、本開示の様々な実施形態は例示の目的で本明細書に記載されてきたこと、また、本開示の範囲および精神から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、本明細書に開示される様々な実施形態は限定を意図するものではなく、真の範囲および精神は以下の特許請求の範囲によって示される。
【図１】
0005925293.tif 000002
【図２Ａ】
0005925293.tif 000003
【図２Ｂ】
0005925293.tif 000004
【図３】
0005925293.tif 000005
【図４】
0005925293.tif 000006
【図５】
0005925293.tif 000007
【図６】
0005925293.tif 000008