(57)【要約】  クラウドサービスの選択を最適化するために、価格、パフォーマンス、及び、クラウドサービスに関連する他の情報に基づく購入ストラテジを生成し使用するシステム及び方法が提供されるカスタマが最新の、リアルタイムの情報を用いてクラウドサービスを購入し得るように、購入ストラテジは、リアルタイムに様々なクラウドサービスを包括的に表し得る。購入ストラテジは、例えば、クラウドサービスの価格、パフォーマンス、可用性、他の属性の少なくともいずれかを表し得る。購入エージェントは、購入ストラテジ、１つ以上の購入ルール及び他の情報の少なくともいずれかを用いて、購入されるべき１つ以上のクラウドサービスインスタンスを特定する購入仕様を生成し得る。購入エージェントは、スポットインスタンスの特有の性質を活用して、好ましい購入の決定をなし得る。例えば、システムは、特定のスポットインスタンスを得るためになされるべき入札価格を決定し得る。
2017521765.tif 000002
【特許請求の範囲】
【請求項１】
クラウドサービスインスタンスの購入を最適化する、コンピュータで実施される方法であって、
前記方法は、１つ以上の物理的なプロセッサを有するコンピュータシステムに実装され、前記１つ以上の物理的なプロセッサは、前記１つ以上の物理的なプロセッサによって実行されたときに、前記コンピュータシステムに前記方法を実行させるコンピュータプログラムの命令を用いてプログラムされており、前記方法は、
前記コンピュータシステムによって、計算インスタンスに関連付けられた１つ以上の要件を取得することと、
前記コンピュータシステムによって、１つ以上のクラウドサービスインスタンスと関連付けられた１つ以上のクラウド属性を含む購入ストラテジを取得することと、
前記コンピュータシステムによって、前記購入ストラテジと前記１つ以上の要件とに基づいて、前記計算インスタンスを実行するためのクラウドサービスインスタンスを識別することと、
前記コンピュータシステムによって、前記クラウドサービスインスタンスを表す１つ以上の購入パラメータを含む購入仕様を生成することと、を含む方法。
【請求項２】
前記１つ以上のクラウド属性は、前記１つ以上のクラウドサービスインスタンスのリアルタイムな価格を含むリアルタイム価格情報を含む、請求項１に記載の方法。
【請求項３】
前記１つ以上の要件は、前記１つ以上のクラウドサービスインスタンスのために支払われる、最大価格又は価格の範囲を特定する、請求項２に記載の方法。
【請求項４】
前記１つ以上のクラウド属性は、前記１つ以上のクラウドサービスインスタンスのリアルタイムなパフォーマンスを示すリアルタイムパフォーマンス情報を含む、請求項１に記載の方法。
【請求項５】
前記１つ以上の要件は、前記１つ以上のクラウドサービスインスタンスの要求されるパフォーマンスに関連する、請求項４に記載の方法。
【請求項６】
前記クラウドサービスインスタンスは、スポットインスタンス又は標準インスタンスを含み、前記方法は更に、
前記スポットインスタンス又は前記標準インスタンスを購入するかを、前記１つ以上の要件に基づいて決定することを含み、
前記クラウドサービスインスタンスが前記決定に基づいて識別される、請求項１に記載の方法。
【請求項７】
前記計算インスタンスを実行するためのクラウドサービスインスタンスを識別することは、
前記計算インスタンスを実行するための複数のクラウドサービスインスタンスを識別することであって、前記購入仕様が、前記計算インスタンスを実行するために購入すべき前記複数のクラウドサービスインスタンスを特定する、複数のクラウドサービスインスタンスを識別すること、を含む請求項１に記載の方法。
【請求項８】
前記方法は、更に、
前記複数のクラウドサービスインスタンスが、（ｉ）より少ない数のクラウドサービスインスタンスの使用と比較して、より低い総価格、及び、（ｉｉ）より少ない数のクラウドサービスインスタンスの使用と比較して、より高いパフォーマンス、の少なくともいずれかと関連付けられることを決定する、ことを含む請求項７に記載の方法。
【請求項９】
前記複数のクラウドサービスインスタンスの第１のクラウドサービスインスタンスが第１のクラウドサービスプロバイダから購入され、前記複数のクラウドサービスインスタンスの第２のクラウドサービスインスタンスが、前記第１のクラウドサービスプロバイダとは異なる第２のクラウドサービスプロバイダから購入される、請求項７に記載の方法。
【請求項１０】
前記１つ以上の要件は、早期解約の目的に関連し、前記クラウドサービスインスタンスがスポットインスタンスを含み、前記１つ以上のクラウド属性は過去のスポット価格に関連し、前記方法は更に、
第１の時間における第１のスポット価格と、第２の時間における、前記第１のスポット価格より高い第２のスポット価格とを、前記過去のスポット価格に基づいて識別することと、
前記第１のスポット価格と前記第２のスポット価格との間である入札価格を決定することと、
前記第１の時間と前記第２の時間との間の時間であって、前記スポットインスタンスが前記第２の時間を過ぎて実行され且つ早期解約がなされることが期待されるように、前記入札価格が成立すべき前記時間を決定することと、を含む請求項１に記載の方法。
【請求項１１】
前記１つ以上の要件は、終了の目的に関連し、前記クラウドサービスインスタンスがスポットインスタンスを含み、前記１つ以上のクラウド属性は過去のスポット価格に関連し、前記方法は更に、
前記過去のスポット価格に基づいて価格安定の期間を特定することであって、前記価格安定の期間における複数の価格がスポット価格の下限とスポット価格の上限との間である、価格安定の期間を特定することと、
前記スポット価格の上限以上である入札価格を決定することと、
前記価格安定の期間において前記スポットインスタンスの実行が終了することが期待されるように、前記入札価格が成立すべき時間を決定することと、を含む請求項１に記載の方法。
【請求項１２】
前記方法は、更に、
リモートコンピュータシステムから１つ以上の購入ストラテジを受信するために予約購入を得ることであって、前記購入ストラテジは前記予約購入に基づいて前記リモートコンピュータシステムから得られる、予約購入を得ること、を含む請求項１に記載の方法。
【請求項１３】
前記購入ストラテジは、リモートコンピュータシステムから受信され、前記方法は、更に、前記購入ストラテジを変更することを更に含む、請求項１に記載の方法。
【請求項１４】
前記方法は、更に、
１つ以上のソースから前記１つ以上のクラウド属性を取得することと、
前記取得された１つ以上のクラウド属性に基づいて、１つ以上の購入ストラテジを生成することと、
前記１つ以上の購入ストラテジを、データリポジトリに格納することと、を含む請求項１に記載の方法。
【請求項１５】
クラウドサービスインスタンスの購入を最適化するシステムであって、
前記システムは、コンピュータプログラム命令を用いてプログラムされる１つ以上のプロセッサを有するコンピュータシステムを含み、前記コンピュータプログラム命令は、前記１つ以上の物理的なプロセッサによって実行されたときに、前記コンピュータシステムが、
計算インスタンスに関連付けられた１つ以上の要件を取得し、
１つ以上のクラウドサービスインスタンスと関連付けられた１つ以上のクラウド属性を含む購入ストラテジを取得し、
前記購入ストラテジと前記１つ以上の要件とに基づいて、前記計算インスタンスを実行するためのクラウドサービスインスタンスを識別し、
前記クラウドサービスインスタンスを表す１つ以上の購入パラメータを含む購入仕様を生成する、
ようにプログラムされる、システム。
【請求項１６】
前記１つ以上のクラウド属性は、前記１つ以上のクラウドサービスインスタンスのリアルタイムな価格を含むリアルタイム価格情報を含む、請求項１５に記載のシステム。
【請求項１７】
前記１つ以上の要件は、前記１つ以上のクラウドサービスインスタンスのために支払われる、最大価格又は価格の範囲を特定する、請求項１６に記載のシステム。
【請求項１８】
前記１つ以上のクラウド属性は、前記１つ以上のクラウドサービスインスタンスのリアルタイムなパフォーマンスを示すリアルタイムパフォーマンス情報を含む、請求項１５に記載のシステム。
【請求項１９】
前記１つ以上の要件は、前記１つ以上のクラウドサービスインスタンスの要求されるパフォーマンスに関連する、請求項１８に記載のシステム。
【請求項２０】
前記クラウドサービスインスタンスは、スポットインスタンス又は標準インスタンスを含み、前記コンピュータシステムは更に、
前記スポットインスタンス又は前記標準インスタンスを購入するかを、前記１つ以上の要件に基づいて決定し、
前記クラウドサービスインスタンスが前記決定に基づいて識別される、ようにプログラムされる請求項１５に記載のシステム。
【請求項２１】
前記計算インスタンスを実行するためのクラウドサービスインスタンスを識別することは、前記コンピュータシステムが更に、
前記計算インスタンスを実行するための複数のクラウドサービスインスタンスを識別し、前記購入仕様が、前記計算インスタンスを実行するために購入すべき前記複数のクラウドサービスインスタンスを特定する、ようにプログラムされる請求項１５に記載のシステム。
【請求項２２】
前記コンピュータシステムは更に、
前記複数のクラウドサービスインスタンスが、（ｉ）より少ない数のクラウドサービスインスタンスの使用と比較して、より低い総価格、及び、（ｉｉ）より少ない数のクラウドサービスインスタンスの使用と比較して、より高いパフォーマンス、の少なくともいずれかと関連付けられることを決定する、ようにプログラムされる請求項２１に記載のシステム。
【請求項２３】
前記複数のクラウドサービスインスタンスの第１のクラウドサービスインスタンスが第１のクラウドサービスプロバイダから購入され、前記複数のクラウドサービスインスタンスの第２のクラウドサービスインスタンスが、前記第１のクラウドサービスプロバイダとは異なる第２のクラウドサービスプロバイダから購入される、請求項２１に記載のシステム。
【請求項２４】
前記１つ以上の要件は、早期解約の目的に関連し、前記クラウドサービスインスタンスがスポットインスタンスを含み、前記１つ以上のクラウド属性は過去のスポット価格に関連し、前記コンピュータシステムは更に、
第１の時間における第１のスポット価格と、第２の時間における、前記第１のスポット価格より高い第２のスポット価格とを、前記過去のスポット価格に基づいて識別し、
前記第１のスポット価格と前記第２のスポット価格との間である入札価格を決定し、
前記第１の時間と前記第２の時間との間の時間であって、前記スポットインスタンスが前記第２の時間を過ぎて実行され且つ早期解約がなされることが期待されるように、前記入札価格が成立すべき前記時間を決定する、ようにプログラムされる、請求項１５に記載のシステム。
【請求項２５】
前記１つ以上の要件は、終了の目的に関連し、前記クラウドサービスインスタンスがスポットインスタンスを含み、前記１つ以上のクラウド属性は過去のスポット価格に関連し、
前記コンピュータシステムは更に、
前記過去のスポット価格に基づいて価格安定の期間を特定することであって、前記価格安定の期間における複数の価格がスポット価格の下限とスポット価格の上限との間である、価格安定の期間を特定し、
前記スポット価格の上限以上である入札価格を決定し、
前記価格安定の期間において前記スポットインスタンスの実行が終了することが期待されるように、前記入札価格が成立すべき時間を決定する、ようにプログラムされる請求項１５に記載のシステム。
【請求項２６】
前記コンピュータシステムは更に、
リモートコンピュータシステムから１つ以上の購入ストラテジを受信するために予約購入を得ることであって、前記購入ストラテジは前記予約購入に基づいて前記リモートコンピュータシステムから得られる、予約購入を得る、ようにプログラムされる、請求項１５に記載のシステム。
【請求項２７】
前記購入ストラテジは、リモートコンピュータシステムから受信され、前記コンピュータシステムは、更に、前記購入ストラテジを変更するようにプログラムされる、請求項１５に記載のシステム。
【請求項２８】
前記コンピュータシステムは更に、
１つ以上のソースから前記１つ以上のクラウド属性を取得し、
前記取得された１つ以上のクラウド属性に基づいて、１つ以上の購入ストラテジを生成し、
前記１つ以上の購入ストラテジを、データリポジトリに格納する、ようにプログラムされる、請求項１５に記載のシステム。
【請求項２９】
購入ストラテジを生成する、コンピュータで実施される方法であって、
前記方法は、１つ以上の物理的なプロセッサを有するコンピュータシステムに実装され、前記１つ以上の物理的なプロセッサは、前記１つ以上の物理的なプロセッサによって実行されたときに、前記コンピュータシステムに前記方法を実行させるコンピュータプログラムの命令を用いてプログラムされており、前記方法は、
前記コンピュータシステムによって、１つ以上のクラウドサービスインスタンスと関連付けられた１つ以上のクラウドサービスを表す１つ以上のクラウド属性を、１つ以上のソースから取得することと、
前記コンピュータシステムによって、前記取得された１つ以上のクラウド属性に基づいて、１つ以上の購入ストラテジを生成することと、
前記コンピュータシステムによって、前記１つ以上の購入ストラテジを受信するため申し込まれた１以上の加入者を識別することと、
前記コンピュータシステムによって、前記１つ以上の購入ストラテジを前記１以上の加入者に提供することと、を含む方法。
【請求項３０】
購入ストラテジを生成するシステムであって、前記システムは、
コンピュータプログラム命令を用いてプログラムされる１つ以上のプロセッサを有するコンピュータシステムを含み、前記コンピュータプログラム命令は、前記１つ以上の物理的なプロセッサによって実行されたときに、前記コンピュータシステムが、
１つ以上のクラウドサービスインスタンスと関連付けられた１つ以上のクラウドサービスを表す１つ以上のクラウド属性を、１つ以上のソースから取得し、
前記取得された１つ以上のクラウド属性に基づいて、１つ以上の購入ストラテジを生成し、
前記コンピュータシステムによって、前記１つ以上の購入ストラテジを受信するため申し込まれた１以上の加入者を識別し、
前記１つ以上の購入ストラテジを前記１以上の加入者に提供する、
ようにプログラムされる、システム。
【発明の詳細な説明】
【関連出願へのクロスリファレンス】
【０００１】
本願は、２０１４年１０月１１日に出願された米国特許出願第１４／３０２，２２０号の利益を主張する。この出願は、参照によりその全体が本明細書に組み入れられる。
【技術分野】
【０００２】
この発明は、クラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、使用するシステム及び方法に関する。
【背景技術】
【０００３】
多くのクラウドサービスのプロバイダが、カスタマの代わりに計算インスタンスを実行するための様々なクラウドサービスを販売する。例えば、アマゾン社はそのアマゾン・ウェブ・サービス（AMAZON WEB SERVICES、ＡＷＳ）なるサービスを販売し、グーグル社はそのグーグルアップエンジン（GOOGLE APP ENGINE）なるサービスを販売し、更に他社は同様のサービスを販売する。料金の代わりに、アマゾン社、グーグル社及び他のクラウドサービスプロバイダは、これらのサービスと他のインフラストラクチャの使用を、クラウドサービスインスタンスの形式で限定的な時間分を顧客に提供する。料金は、クラウドサービスインスタンスが実行される時間／日付、クラウドサービスインスタンスのパフォーマンス（例えばスループット、レイテンシ等）、提供されるクラウドサービスインスタンスがスポットインスタンスであるか標準インスタンスであるか、及び／又は他の属性に応じて変わり得る。
【０００４】
標準インスタンスは、料金が支払われた場合に、完了するまでに実行されることが保証されるクラウドサービスインスタンスである。スポットインスタンスは、顧客の入札した価格が、時間にわたって変化する現在のスポット価格を超える限り実行されるクラウドサービスインスタンスである。スポットインスタンスは、現在のスポット価格が入札価格を超えて高騰した場合には、スポットインスタンスがまだ実行されている間でも解約され得る。スポットインスタンスのプロバイダは、早期の解約が生じた場合に、典型的には入札価格の全て又は一部を返金するが、スポットインスタンスの使用は、中断されるべきでない及び供給停止を経験させるべきでない計算インスタンスにはリスクを伴い得る。従って、スポットインスタンスに対する価格は、典型的には標準インスタンスに対するものより低い。
【０００５】
それぞれが異なる価格、パフォーマンス、及び／又は他の属性を有し、様々なクラウドサービスが利用可能であるため、顧客が、顧客の独自の要求に基づいて購入の決定をなすことが困難になり得る。更に、クラウドサービスインスタンスの価格、パフォーマンス、他の属性の少なくともいずれかが時間にわたって変化することもあるため、リアルタイムに購入の決定をなすことは困難であり得る。内在するリスクと料金構造を含む、スポットインスタンスの特有の性質を活用することもまた、困難であり得る。これらの及び他の障害が存在する。
【発明の概要】
【０００６】
これら及び他の障害に対処するこの発明は、クラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、使用するシステム及び方法に関する。システムは、カスタマが最新、リアルタイムの情報を用いてクラウドサービスを購入し得るように、リアルタイムに様々なクラウドサービスを包括的に表す購入ストラテジを生成するために用いられ得る。購入ストラテジは、例えば、クラウドサービスの価格、パフォーマンス、可用性、他の属性の少なくともいずれかを表し得る。
【０００７】
本発明の側面に従って、システムは、過去に用いた価格、パフォーマンス、及び他の情報の少なくともいずれかを含む、価格とパフォーマンスのデータベースを含み得る。価格とパフォーマンスのデータベースは、価格、パフォーマンス及び他の情報の少なくともいずれかを自動的に検索する処理を用いて、自動的に追加され得る。また、データアナリストは、価格とパフォーマンスのデータベースに追加されてきた、価格、パフォーマンス及び他の情報の少なくともいずれかを手動で取得し得る。このような情報は、ニュースソース、データアナリストによってなされたマーケット分析、及び他のソースの少なくともいずれかから取得され得る。
【０００８】
様々なクラウドサービスプロバイダが提供する、リソースの種別、価格、パフォーマンス、可用性、及び時間にわたる他の情報の少なくともいずれかを含む、様々なクラウドサービスプロバイダからの情報も取得され、価格とパフォーマンスのデータベースに格納され得る。システムは、クラウドサービスプロバイダ内及び１つ以上のクラウドサービスプロバイダにわたって購入するための新たな選択肢と可能性とを見出すために、価格とパフォーマンスのデータベースからの情報を分析し得る。例えば、システムは、新たな分析をトリガし得る、新たに追加される又は更新される情報に対して、価格とパフォーマンスのデータベースを監視し得る。
【０００９】
ある実装では、システムは様々なクラウドサービスのためのパフォーマンスのデータをアクティブに収集し得る。システムはまた、所定のカスタマのニーズと計算環境との少なくともいずれかに合う購入ストラテジにカスタマイズするために、カスタマ環境と関連付けられたメタデータを収集し得る。システムは、これによって現在及び過去に用いたクラウドマーケットの状況を説明するために、（過去に用いた情報だけでなく）価格とパフォーマンスのデータベース内の、リアルタイム且つ更新された情報に基づく１つ以上の購入ストラテジを生成し得る。
【００１０】
カスタマは、購入ストラテジを予約購入して受信し得、これはリアルタイムで適用されて購入決定を促進し得る。購入ストラテジは、強力なセキュリティ用の暗号化と署名が適用される非同期通信を介して提供され得る。カスタマ（例えばカスタマの代わりとなるアナリスト）は、カスタマが利用可能な情報を用いて購入ストラテジを変更し、自身の購入ストラテジを生成し、計算インスタンスに対する要件を特定し、及び／又は購入決定に関する他のアクションをとる、１つ以上の購入ルールを提供し得る。
【００１１】
カスタマコンピュータシステムは、購入エージェントと共に提供され得る。購入エージェントは、１つ以上の購入ストラテジ（例えば、変更されていない購入ストラテジ、変更された購入ストラテジ、カスタマの生成した購入ストラテジ等）、１つ以上の購入ルール、及び、他の情報の少なくともいずれかを用いて、１つ以上の購入パラメータを用いて購入されるべき１つ以上のクラウドサービスインスタンスを特定する購入仕様を生成する。購入パラメータは、これらには限定されない、スポットインスタンス又は標準インスタンスが購入されるべきであるか、クラウドサービスインスタンスの種別、時間、価格、パフォーマンス、クラウドサービスインスタンスの数、及び購入されるべき1つ以上のクラウドサービスインスタンスに関連する他の情報、の少なくともいずれかを含み得る。購入パラメータはカスタマによって特定されたルール（例えば、最高価格、最低価格、臨海−すなわち実行されるべき計算インスタンスが中断／早期解約されるか、等）に基づいて決定され得る。
【００１２】
購入エージェントは、スポットインスタンスの特有の性質を活用して、好ましい購入の決定をなし得る。例えば、システムは、少なくとも計算インスタンスの一部を無料で実行するために、期待される入札価格を予測して、結果として早期解約をなし得る。
【００１３】
カスタマコンピュータシステムは、クラウドサービスを用いて実行される計算インスタンスを生成する、クラウドコントローラを含み得る。クラウドコントローラは、クラウドコントローラ及び購入エージェントの少なくともいずれかによってなされる各購入の決定が最適化された価格ストラテジを含むように、購入エージェントと定期的に相互作用し得る。
【００１４】
これら及び他のオブジェクト、機能及びシステムの特徴、及び以下に開示される方法の少なくともいずれか、及び、当該方法の動作、及び、部分の組み合わせ、及び、構成の関連要素の機能、及び、製造の経済性については、全てが本明細書の部分を形成し、様々な図において参照番号が対応する部分を指定する添付図面を参照して以下の説明及び付加された請求項を考慮すればより明らかとなるであろう。しかしながら、図面は図示及び説明のみを目的とするものであって発明の限度の定義として意図されたものではないことは明確に理解されるべきである。明細書及び請求項において用いられるように、「ａ」、「ａｎ」及び「ｔｈｅ」の単数形はコンテキストが明示的に述べない限り複数の参照を含む。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施に従う、クラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、使用するシステムを示す。
【図２】図２は、本発明の実施に従う、クラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、使用するデータフロー図を示す。
【図３】図３は、本発明の実施に従う、購入ストラテジ及び他の情報の少なくともいずれかに基づいて購入の決定を判定する処理を示す。
【図４】図４は、本発明の実施に従う、スポットインスタンスに対するスポット価格の変動を識別し、活用する処理を示す。
【図５】図５は、本発明の実施に従う、時間にわたってプロットされた、スポットインスタンスに対するスポット価格の、２次元のグラフ表現を示す。
【発明を実施するための形態】
【００１６】
この発明は、クラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し使用するシステム及び方法に対するものである。
【００１７】
図１は、本発明の実施に従う、コンピューティングの要件を満たすためのクラウドサービスのようなサービスの選択を最適化するために、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、使用するシステム１００を示す。
【００１８】
システムは、カスタマが最新の、リアルタイムの情報を用いてクラウドサービスを購入し得るように、リアルタイムに様々なクラウドサービスを包括的に表す購入ストラテジを生成するために用いられ得る。購入ストラテジは、例えば、クラウドサービスの価格、パフォーマンス、可用性、他の属性の少なくともいずれかを表し得る。
【００１９】
カスタマは、購入の決定をなすために購入ストラテジを予約購入して受信し得る。カスタマ（例えばカスタマの代わりとなるアナリスト）は、カスタマが利用可能な情報を用いて購入ストラテジを変更し、自身の購入ストラテジを生成し、計算インスタンスに対する要件を特定し、及び／又は購入決定に関する他のアクションをとる、１つ以上の購入ルールを提供し得る。
【００２０】
システムは、購入ストラテジ（例えば、変更されていない購入ストラテジ、変更された購入ストラテジ、カスタマの生成した購入ストラテジ等）、１つ以上の購入ルール、及び、他の情報、の少なくともいずれかを用いて、購入されるべき１つ以上のクラウドサービスインスタンスを特定する購入仕様を生成し得る。購入仕様は、時間、価格、パフォーマンス、及び購入されるべき1つ以上のクラウドサービスインスタンスに関連する他の属性、の少なくともいずれかを特定する購入パラメータを含み得る。購入パラメータはカスタマによって特定されたルール（例えば、最高価格、最低価格、臨界−すなわち実行されるべき計算インスタンスが中断／早期解約されるか、等）に基づいて決定され得る。
【００２１】
システムは、スポットインスタンスの特有の性質を活用して、好ましい購入の決定をなし得る。例えば、システムは、少なくとも計算インスタンスの一部を無料で実行するために、期待される入札価格を予測して、結果として早期解約をなし得る。
【００２２】
システム１００の他の使用は以下に説明され、更なるものは当業者にとって明らかである。いくつかのシステムの機能における高レベルの概要を説明したので、以下では、これら及び他の機能を促進する様々なシステム構成要素に注意を向ける。
【００２３】
例示的なシステムアーキテクチャ
システム１００は、コンピュータシステム１１０、カスタマコンピュータシステム１３０、１つ以上のクラウドサービスプロバイダ１５０、及び他の構成要素の少なくともいずれかを含み得る。
【００２４】
コンピュータシステム１１０
コンピュータシステム１１０は、１つ以上のプロセッサ１１２（以下では、適宜、複数のプロセッサ１１２、１つ又は複数のプロセッサ１１２、又は１つのプロセッサ１１２としても置き換え可能に参照される）、１つ以上のストレージデバイス１１４（適宜、価格とパフォーマンスのアナライザアプリケーション１１６、以下「ＰＰＡ１１６」、を格納し得る）、１つ以上の価格とパフォーマンスのデータベース１１８、及び他の構成要素、の少なくともいずれかを含み得る。プロセッサ１１２は、１つ以上のコンピュータプログラム命令によってプログラムされ得る。例えば、プロセッサ１１２は、ＰＰＡ１１６及び他の命令の少なくともいずれかによってプログラムされ得る。
【００２５】
カスタマコンピュータシステム１３０
カスタマコンピュータシステム１３０は、１つ以上のプロセッサ１３２（以下では、適宜、複数のプロセッサ１３２、１つ又は複数のプロセッサ１３２、又は１つのプロセッサ１３２としても置き換え可能に参照される）、１つ以上のストレージデバイス１３４（適宜、クラウドコントローラ１３６、情報マネージャー１３７、購入エージェント１３８、及び他の命令、の少なくともいずれかを格納し得る）、カスタマデータリポジトリ１４０、及び他の構成要素、の少なくともいずれかを含み得る。プロセッサ１３２は、１つ以上のコンピュータプログラム命令によってプログラムされ得る。例えば、プロセッサ１３２は、クラウドコントローラ１３６、情報マネージャー１３７、購エージェント１３８、及び他の命令、の少なくともいずれかによってプログラムされ得る。
【００２６】
クラウドサービスプロバイダ１５０
クラウドサービスプロバイダ１５０は、カスタマの代わりに計算インスタンスを実行するための様々なクラウドサービスを販売するエンティティを含み得る。例えば、アマゾン社は、当社のアマゾンウェブサービス（AMAZON WEB SERVICES、AWS）サービスを用いるクラウドサービスインスタンスを販売し、グーグル社は、当社のグーグルアップエンジン（GOOGLE APP ENGINE）サービスを用いるクラウドサービスインスタンスを販売する。
【００２７】
また、クラウドサービスプロバイダ１５０は、クラウドサービスのための市場又は取引所を提供するエンティティを含み得る。例えば、クラウドサービスプロバイダ１５０は、自身のインフラストラクチャを用いてクラウドサービスインスタンスを実際に提供する他の者に代わって、クラウドサービスインスタンスを販売する市場を含みうる。このように、システム１００は、異なるエンティティから様々なクラウドサービスインスタンスを販売し得る取引所を活用し得る。
【００２８】
図１では、１つの構成要素として図示するが、コンピュータシステム１１０とカスタマコンピュータシステム１３０とは、それぞれが複数の個々の構成要素（例えばコンピュータデバイス）であって、それぞれが以下に説明される機能の少なくともいくつかがプログラムされている個々の要素を含み得る。このように、コンピュータシステム１１０及びカスタマコンピュータシステム１３０の少なくともいずれかのいくつかの構成要素は、理解されるように、他の構成要素が他の機能を実行し得る間にいくつかの機能を実行し得る。１つ以上のプロセッサ１１２、１３２のそれぞれは、コンピュータプログラム命令によってプログラムされる１つ以上の物理的なプロセッサを含み得る。以下に説明される様々な命令は単なる例示である。プロセッサ１１２、１３２が以下に説明される機能を実行するようにプログラムされるうちは、他の構成及び複数の命令が使用され得る。
【００２９】
更に、図１では様々な命令が１つのプロセッサユニット内に共に配置されるものとして図示されるが、プロセッサ１１２、１３２が複数のプロセッサユニットを含む実施では、１つ以上の命令が他の命令からリモートで実行され得ることが理解されるべきである。加えて、プロセッサ１１２に関して以下で説明される少なくともいくつかの機能は、プロセッサ１３２によって実行され得、またその逆もあり得る。例えば、プロセッサ１１２は、購入エージェント１３８及びクラウドコントローラ１３６の少なくともいずれかによってプログラムされ得る。上述の例では、カスタマコンピュータシステム１３０はコンピュータシステム１１０から購入の決定を取得し得る。
【００３０】
以下で説明される異なる命令によって提供される機能の記載は説明を目的とするものであり、限定されることを意図したものではなく、任意の命令は記載よりも多かれ少なかれ機能を提供し得る。例えば、１つ以上の命令は除去され得、そのいくつか又は全ての機能は他の命令によって提供され得る。他の例では、プロセッサ１１２は、以下では命令の１つに属する機能のいくつか又は全てを実行し得る、１つ以上の追加的な命令によってプログラムされ得る。
【００３１】
以下で説明される様々な命令は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、及び他のメモリの少なくともいずれかを含むストレージデバイス１１４に格納され得る。ストレージデバイスは、プロセッサ１１２によって操作され得るデータと同様、プロセッサ１１２によって実行されるコンピュータプログラムの命令（例えば上述した命令）を格納し得る。ストレージデバイスは、フロッピディスク、ハードディスク、光学ディスク、テープ、又は、コンピュータで実行可能な命令及び／又はデータを格納する他のストレージメディアを含み得る。
【００３２】
図１に図示される様々な構成要素は、ネットワーク１０２を介して少なくとも１つの他の構成要素と接続され得る。これらは、任意の１つ以上の、例えば、インターネット、イントラネット、ＰＡＮ（Personal Area Network）、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、ＳＡＮ（Storage Area Network）、ＭＡＮ（Metropolitan Area Network）、無線ネットワーク、移動体通信ネットワーク、公衆交換電話網、及び他のネットワークの少なくともいずれかを含み得る。図１及び他の図では、図示されるものとは異なる数のエンティティが用いられ得る。更に、様々な実施によれば、以下で説明される構成要素は、ハードウェア及びハードウェアを構成するソフトウェアの少なくともいずれかで実施され得る。
【００３３】
以下で説明される様々なデータベース１６０は、例えば、オラクル社によって商業的に販売されるオラクル（トレードマーク）リレーショナルデータベースを含み、或いはインタフェースで接続し得る。例えば、インフォミックス（トレードマーク）、ＤＢ２（Database 2）又は、ＯＬＡＰ（On Line Analytical Processing）、ＳＱＬ（Structured Query Language）、ＳＡＮ（storage area network）、マイクロソフトアクセス（トレードマーク）又は他の、ファイルベース又はクエリフォーマット、プラットフォーム又はリソースを含む、他のデータストレージも用いられ、組み込まれ、又はアクセスされ得る。データベースは、１つ以上の物理的なデバイス内及び１つ以上の物理的な場所に存在する１つ以上のそのようなデータベースを含み得る。データベースは、複数の種別のデータ及び／又はファイル及び関連付けられたデータ又はファイル記述、管理情報、又は他の任意のデータを格納し得る。
【００３４】
購入ストラテジの生成
ある実施では、ＰＰＡ１１６は、価格、パフォーマンス及び様々なクラウドサービスの他の特徴に基づいて、１つ以上の購入ストラテジを生成するためにプロセッサ１１２を（そしてコンピュータシステム１１０を）プログラムし得る。以下で簡便のために用いられるように、実際には動作を実行するために様々な命令がプロセッサ１１２をプログラムしたときに、様々な命令が動作を実行するものとして説明される。所定の購入ストラテジは、ＪＡＶＡＳＣＲＩＰＴオブジェクトノーテーション（ＪＳＯＮ）、エクステンシブルマークアップランゲージ（ＸＭＬ）、及び／又は、交換可能な他のフォーマットを用いてフォーマットされ得る。
【００３５】
一般に、購入ストラテジは、１つ以上のクラウドサービス及び１つ以上のクラウドサービスプロバイダ１５０の少なくともいずれかを表す、過去の及び／又はリアルタイムのクラウド属性の統合されたセットを含み得る。カスタマは、購入ストラテジを用いて、計算インスタンスを実行するために購入すべき１つ以上のクラウドサービスと、クラウドサービスを購入するための１つ以上のクラウドサービスプロバイダ１５０との少なくともいずれかを識別し得る。購入ストラテジが様々なクラウドサービス及びクラウドサービスプロバイダ１５０の少なくともいずれかのクラウド属性を表し得るため、カスタマは、異なるサービスとプロバイダ（及びその関連するクラウド属性）の範囲を考慮に入れた、情報に基づく購入の決定をなし得る。
【００３６】
クラウド属性の例には、これらに限るものではないが、外部属性１２０、スポット市場価格１２２、クラウドパフォーマンス１２４、クラウド価格１２６、及び、所定のクラウドサービズと所定のクラウドサービスプロバイダ１５０との少なくともいずれかを表す他の特徴、の少なくともいずれかを含み得る。
【００３７】
ある実施では、外部属性１２０は、ニュースイベント、又は、クラウドサービスとクラウドサービスプロバイダ１５０の少なくともいずれかの第三者評価を表す情報を含み得る。例えば、これに限るものではないが、外部属性１２０は、ニュースイベント、レビュー／レイティング、及び、クラウドサービスとクラウドサービスプロバイダ１５０の少なくともいずれかを表す他の情報、の少なくともいずれかを含み得る。ニュースアイテムは、一般にはクラウドサービス又はプロバイダ（例えば、競争によってクラウドサービスの価格が一般的に下落したことを示すニュースアイテム）に関し、又は、具体的に、特定のクラウドサービスまたはサービスプロバイダ１５０（例えば、特定のクラウドサービスプロバイダ１５０がより多くのクラウドサービスのリクエストに対処するために新たなコンピュータファームを追加したこと）に関し得る。レビュー及びレイティングは、クラウドサービスを使用したカスタマからのもの、コンピュータシステム１１０を動作させるエンティティのために働くアナリストからのもの、及び他のレビューアからのものの少なくともいずれかであり得る。ＰＰＡ１１６は、そのようなレビュー及びレイティングを購入ストラテジに含め得る。
【００３８】
ある実施では、スポット市場価格属性１２２は、１つ以上のクラウドサービスプロバイダ１５０から利用可能なスポットインスタンスを表し得る。スポット市場価格属性１２２は、これに限るものではないが、スポット価格、カスタマによって価格付けされた入札、及び他の情報の少なくともいずれかを含み得る。スポット市場価格属性１２２は、日付／時間に関連付けられた、リアルタイム及び過去の少なくともいずれかの情報を含み得る。
【００３９】
ある実施では、クラウドパフォーマンス属性１２４は、１つ以上のクラウドサービスのパフォーマンスを表し得る。例えば、これに限るものではないが、クラウドパフォーマンス属性１２４は、スループット／キャパシティ、レイテンシ、可用性、最大パケットロス、及び他のパフォーマンスのメトリクスの少なくともいずれかを含み得る。
【００４０】
クラウドパフォーマンス属性１２４は、クラウドサービスプロバイダ１５０（又は他のエンティティ）から取得され得るか、ＰＰＡ１１６によって測定され得るかの少なくともいずれかである。ある実施では、ＰＰＡ１１６は、パフォーマンスの見本をとるために様々なクラウドサービスプロバイダ１５０（及びそれらのそれぞれのサービス）のパフォーマンスを測定し得る。例えば、ＰＰＡ１１６は、様々なクラウドサービスにピング(ping)し、さもなければリクエストを送信して、スループット、応答時間、レイテンシ、及び他のパフォーマンスメトリクスの少なくともいずれかを計測するパフォーマンスのテスト設備を用い得る。ＰＰＡ１１６は、１日の異なる時間、週の異なる日等にわたるような異なる時間において周期的にパフォーマンスを計測し得る。このように、ＰＰＡ１１６は、パフォーマンス属性が購入ストラテジを生成するために用いられ得るように、様々なクラウドサービス及びクラウドサービスプロバイダ１５０の少なくともいずれかのパフォーマンス属性を直接的に測定し得る。直接的に測定されたパフォーマンス属性は、他のソースから得られるパフォーマンス属性の代わりに或いは追加して用いられ得る。
【００４１】
ある実施では、クラウド価格属性１２６は、スポットインスタンスとは異なる、クラウドサービスインスタンスの標準価格を含み得る。スポット価格とは異なり、（支払われた場合の）標準価格は、予め特定された計算時間が経過するまで計算インスタンスが実行されることを保証する。
【００４２】
ＰＰＡ１１６は、購入ストラテジがリアルタイム情報（例えば、ストリーム及び周期的の少なくともいずれかで得られるリアルタイムの価格とパフォーマンス情報）を反映するように、リアルタイムクラウド属性を取得し、格納し得る。代替的にまたは追加的に、ＰＰＡ１１６は、購入ストラテジが傾向、パターン、及び過去に用いたクラウド属性に関連付けられた他の情報の少なくともいずれかを織り込むように、過去に用いたクラウド属性を取得し、格納し得る。
【００４３】
ＰＰＡ１１６は、クラウド属性を価格とパフォーマンスのデータベース１１８に格納し得る。ＰＰＡ１１６は、データベースを用いて生成される購入ストラテジが現在の情報を織り込むように、周期的に（及びリアルタイムの少なくともいずれかで）価格及びパフォーマンスのデータベース１１８を更新し得る。このように、価格とパフォーマンスのデータベース１１８は、購入ストラテジを生成するために用いられる情報に対する、リアルタイム及び過去のリポジトリとしての役割を果たす。
【００４４】
ある実施では、ＰＰＡ１１６は、購入に適し得る、個別のクラウドサービス及びクラウドサービスの組み合わせの少なくともいずれかを識別するために、価格とパフォーマンスのデータベース１１８を継続的に利用し得る。例えば、ＰＰＡ１１６は、所定のレベルのパフォーマンス（例えばスループット）を得るために、そのようなクラウドサービスの価格を最小化する、そうでなければ特定の価格で又は特定の価格を下回るものにするように、クラウドサービスの特定の組み合わせを用いる。ＰＰＡ１１６はまた、他の種別のパフォーマンスに対して上述の分析を同様に繰り返し得る。このように、購入ストラテジはクラウド属性の分析を含み得る。
【００４５】
購入ストラテジの提供
ＰＰＡ１１６は、コンピューティングの要件を満たすようにサービスの選択を最適化するため、クラウドサービスを購入して消費するカスタマに、１つ以上の購入ストラテジを提供し得る。ＰＰＡ１１６は、１つ以上の購入ストラテジを、一度に或いは定期購入で提供し得る。例えば、カスタマは、購入ストラテジを提供するためのリクエスト（例えば、ウェブサイト又は他のインタフェースを介して）をＰＰＡ１１６に行うことによって、１つ以上の購入ストラテジを一度に取得し得、購入ストラテジは、リクエストに応答してオンデマンドに生成され、又はメモリから検索され得る。他の例では、カスタマは１つ以上の購入ストラテジを予約購入して受け取り得、購入ストラテジは、周期的なインターバル、更新された情報が利用可能であるとき、及び他の時期の少なくともいずれかで、カスタマに自動的に提供され得る。
【００４６】
ある実施では、コンピュータシステム１１０は、１つ以上の購入ストラテジに対するアクセス料金を課金し得る。例えば、コンピュータシステム１１０は、一度用料金、定期購入料金、及び、他の種別のアクセス料金の少なくともいずれかで課金し得る。更に、所定の購入ストラテジに含まれるクラウド属性に応じて、異なるアクセス料金が課金され得る。例えば、全ての過去の価格情報を含む購入ストラテジは、過去の価格情報のいくつか（例えば最近の２週間）のみを含む購入ストラテジより高い料金であり得る。ある実施では、クラウド属性情報のそれぞれの種別は、それ自身の料金と関連付けられ得る。例えば、別々の料金は測定されたパフォーマンスメトリクスに対して評価され得る。評価料金は、同様に、購入ストラテジに含まれるクラウド属性の他のレベルに基づき得る。このように、カスタマは、注目する特定の情報と、あるリクエスト又は定期購入との関係でどれだけの情報が提供されるべきかと、の少なくともいずれかを選択し得る。
【００４７】
計算インスタンスのパラメータの特定
クラウドコントローラ１３６は、１つ以上の計算インスタンスを生成し得、この計算インスタンスは、ローカルで、及び、１つ以上のクラウドサービスプロバイダ１５０によって提供される１つ以上のクラウドサービスを用いて、の少なくともいずれかで実行され得る。例えば、所定の計算インスタンスのセキュリティを保証するために他の計算インスタンスと計算インスタンスを継続的に置き換えるシステムでは、クラウドコントローラ１３６は複数の計算インスタンスを生成し、クラウドサービス上で実行する１つ以上の計算インスタンスをスケジュールし得る。ソフトウェアの構成要素を置き換えるシステムは、「ソフトウェア構成要素を含むか潜在的に不正アクセスを受けるかに関わらず、ソフトウェア構成要素を、対応する既知のシステムの構成要素に置き換えるシステム及び方法」と題して２０１３年８月１６日に出願された、共に所有される米国特許出願第１３／９６９，１８１号において説明されており、参照によってその全体がここに取り込まれる。
【００４８】
所定の計算インスタンスは、計算インスタンスの実行に何が要求され、及び／又は、望ましいかを表す、１つ以上のコンピュテーショナルパラメータと関連付けられ得る。コンピュテーショナルパラメータの例は、これに限らないが、計算期間（例えば、計算インスタンスが実行されるべき又は実行されることが望ましい時間の長さ）、計算インスタンスが実行されるべき時間及び／又は日付、計算インスタンスが中断されるべきか（例えば計算インスタンスがミッションクリティカルであるかオプションであるか等）の指示、計算インスタンスを実行するクラウドサービスの必要な又は望ましいパフォーマンスのレベル（帯域、レイテンシ等）、クラウドサービスに関連付けられた価格、及び、計算インスタンスを実行するために何が必要又は望ましいかを表すその他、の少なくともいずれかを含む。
【００４９】
ある実施では、コンピュテーショナルパラメータは、満たさなければならないハード・コンピュテーショナルパラメータとして、或いは、望ましいが満たす必要のないソフト・コンピュテーショナルパラメータとして分類され得る。ハード・コンピュテーショナルパラメータは、満たさなければならない閾値を特定し得る。例えば、これに限らないが、ハード・コンピュテーショナルパラメータは、対応する計算インスタンスを実行するために必要な最低の帯域、又は最大のレイテンシを特定し得る。一方、ソフト・コンピュテーショナルパラメータは、望ましいが必要ではない、ある帯域を特定し得る。コンピュテーショナルパラメータがハード・パラメータとして或いはソフト・パラメータとして分類されるかについて、コンピュテーショナルパラメータは値の範囲（例えば許容可能な価格の範囲）を特定し得る。
【００５０】
１以上のユーザ（例えばカスタマの代わりであるアナリスト）、及び、（例えばユーザの介入なしに自動的になす）クラウドコントローラ１３６、の少なくともいずれかが、コンピュテーショナルパラメータを決定し得る。ある実施では、コンピュテーショナルパラメータは、特定の計算インスタンス（又は計算インスタンスの所定の種別）のために具体的に決定され得る。例えば、ＨＴＴＰリクエストを扱うサーバインスタンスは１つ以上のコンピュテーショナルパラメータの第１のセットに関連付けられ、一方、ファイル転送リクエストを提供するアプリケーションインスタンスは１つ以上のコンピュテーショナルパラメータの第２の組と関連付けられ得る。このように、異なる計算インスタンスは、１つ以上のコンピュテーショナルパラメータのそれ自身のセットと関連付けられ得る。ある実施では、コンピュテーショナルパラメータは、カスタマの全ての計算インスタンスのためにおおまかに決定され得る。
【００５１】
購入決定を行うために用いられる管理情報
情報マネージャ１３７は、カスタマデータリポジトリ１４０及び他のストレージの少なくともいずれかに格納され、検索され得る購入決定情報を管理し得る。購入決定情報は、カスタマが購入決定をなすために用いられ、購入決定情報は、これに限らないが、１つ以上の購入ストラテジ、（例えばコンピュテーショナルパラメータを特定する）１つ以上の購入ルール、及び、購入決定をなすために用いられる他の情報、の少なくともいずれかを含み得る。
【００５２】
ある実施では、情報マネージャ１３７は、コンピュータシステム１１０から１つ以上の購入ストラテジを予約購入して取得し得る。予約購入は、強力なセキュリティ用の暗号化と署名が適用される非同期通信であり得る。購入ストラテジは、カスタマデータリポジトリ１４０及び他のストレージの少なくともいずれかに格納され得る。カスタマ（例えば、カスタマコンピュータシステム１３０を動作させるエンティティの代わりであるアナリスト）は、コンピュータシステム１１０からの購入ストラテジを変更し、削除し、又は、完全な状態のままにし得る。例えば、カスタマは、所定のクラウドサービス、特定のクラウドサービス又はクラウドサービスプロバイダ１５０のブラックリスト（又はホワイトリスト）を用いるカスタマの経験に基づいて、クラウド属性の１つ以上を変更し得、そうでなければ、コンピュータシステム１１０からの所定の購入ストラテジを変更し得る。
【００５３】
このように、カスタマは、カスタマが拡張し得ると信じる情報に従って購入ストラテジをカスタマイズし、そうでなければ、コンピュータシステム１１０から受信した購入ストラテジを変更し得る。ある実施では、情報マネージャ１３７は、パフォーマンス属性、価格属性、及び、他の情報の少なくともいずれかのようなリアルタイム情報を取得して、コンピュータシステム１１０から受信した購入ストラテジを拡張し、そうでなければ更新し得る。
【００５４】
ある実施では、情報マネージャ１３７は、カスタマからカスタマ購入ストラテジを受信して格納し得る。カスタマ購入ストラテジは、コンピュータシステム１１０によって提供される購入ストラテジに提供される、クラウド属性のいくつか又は全てを含み得る。このように、カスタマ購入ストラテジは、カスタマがカスタマ購入ストラテジを生成することのみにおいて、コンピュータシステム１１０によって提供される購入ストラテジと異なる。カスタマ購入ストラテジは、コンピュータシステム１１０によって提供される購入ストラテジの代わりに、或いは加えて用いられ得る。
【００５５】
ある実施では、情報マネージャ１３７は、１つ以上のコンピュテーショナルパラメータを特定する１つ以上の購入ルールを格納し得る。異なる購入ルールは、１つ以上のコンピュテーショナルパラメータの異なる組を特定し得る。例えば、第１の購入ルールは、あるホストされたアプリケーションのために、コストに関わらず、最小の帯域及び最大のレイテンシが購入されるべき（例えば帯域及びレイテンシが最適化されるべき）であることを特定し得る。第２の購入ルールは、あるバックグラウンド処理のために、価格が最大価格を超えるべきでない（例えば価格が最適化されるべき）ことを特定し得る。コンピュテーショナルパラメータの異なる組を含む購入ルールの他の例は、カスタマの特定のニーズに応じて同様に用いられ得る。
【００５６】
情報マネージャ１３７は、所定のクラウド属性に対する重みを受信し得る。例えば、カスタマは、購入決定をなす際に、他のクラウド属性よりも重み付けされるべきであるクラウド属性を特定し得る。所定の重みは、対応するクラウド属性と関連付けられて、１つ以上の購入ルール１４２にエンコードされ得る。
【００５７】
クラウドサービスの購入決定
購入エージェント１３８は、所定の購入ストラテジ（コンピュータシステム１１０からの無修正の購入ストラテジ、コンピュータシステム１１０からの購入ストラテジであってカスタマによって変更されたもの、カスタマ購入ストラテジ等）、１つ以上の購入ルール、及び他の情報の少なくともいずれかに記載される、１つ以上のクラウド属性に基づいて購入仕様を生成し得る。購入ストラテジは、カスタマによって望まれる１つ以上の計算インスタンスを実行する１つ以上のクラウドサービスの購入を特定する、１つ以上の購入パラメータを含み得る。購入パラメータは、これに限らないが、計算インスタンスが実行されるべき時間、用いられるべきクラウドサービスの種別（例えばスポット市場のリソース、非スポット市場のリソース等）、支払われるべき価格、なされるべき入札、用いられるべきクラウドサービスプロバイダ１５０の識別、購入されるべき計算時間の増加、購入されるべき計算インスタンスの数、及び、他の購入パラメータ、の少なくともいずれかを含み得る。
【００５８】
購入パラメータは、購入仕様を生成する際に、リアルタイム価格、パフォーマンス、及び、他の条件の少なくともいずれかが考慮され得るように、リアルタイム情報に基づいて決定され得る。
【００５９】
ある実施では、購入エージェント１３８は、１つ以上のクラウド属性の最適化に基づいて、１つ以上の購入パラメータを決定し得る。説明の目的であってこれに限らないが、価格及びパフォーマンスの少なくともいずれかが以降の説明の中で用いられる。但し、他のクラウド属性が同様に最適化され得る。
【００６０】
購入エージェント１３８は、（例えばカスタマデータリポジトリ１４０内の購入ストラテジに記載されるように）利用可能なクラウドサービスを見直すことによって、１つ以上のクラウド属性を最適化し、購入のために考慮される１つ以上のクラウドサービスのセットを生成し得る。購入エージェント１３８は、クラウドサービスの組のそれぞれを評価して、クラウドサービスの最適な組を識別し得る。１つ以上のクラウドサービスの各セットは、１つ以上のクラウドサービスプロバイダ１５０によって提供されるクラウドサービスを含み得る。ある例では、例えば、１つ以上のクラウドサービスのある組は、第１のクラウドサービスプロバイダ１５０からのクラウドサービスと、第２のクラウドサービスプロバイダ１５０からのクラウドサービスとを含み得る。
【００６１】
ある実施では、購入エージェント１３８は、考慮するクラウドサービスの所定のセットにクラウドサービスが含まれるべきかを、１つ以上の購入ルールに基づいて判定し得る。例えば、購入ルールは、特定の計算インスタンスがクリティカルであり、従って早期解約にさらされるべきでないことを特定し得る。上述したルールに基づき、購入エージェント１３８は、（早期解約にさらされる）スポットインスタンスを考慮し得ず、従って、この特定の計算インスタンスに対する任意の購入仕様ではスポットインスタンスは用いられない。一方、このような購入ルールがなければ、購入エージェント１３８は、（他の計算インスタンスとともに）スポットインスタンスを考慮して、計算インスタンスを実行するためのクラウドサービスの混合を潜在的に決定する。
【００６２】
以前に説明したように、各クラウドサービスは様々なクラウド属性と関連付けられている。例えば、所定のクラウドサービスは、価格、パフォーマンス、提供されるクラウドサービスが実行される時間、及び、他のクラウド属性、の少なくともいずれかと関連付けられ得る。購入エージェント１３８は、クラウドサービスのそれぞれのクラウド属性に基づいて、１つ以上のクラウドサービスのセットを他のセットに対してランク付けし得る。ある実施では、購入エージェント１３８は、選択のために、最もランクの高いセット（或いはＮ番目までの最もランクの高いセット）をカスタマに提供する。代わりに、購入エージェント１３８は、購入されるべきクラウドサービスの基礎として提供するために、最もランクの高いセットを自動的に選択し得る。
【００６３】
他のセットに対して１つ以上のクラウドサービスのセットをランク付けするために、購入エージェント１３８は、１つのクラウド属性を用いる単一対象の最適化、及び、複数のクラウド属性を用いる複数対象の最適化、の少なくともいずれかを実行し得る。
【００６４】
単一対象の最適化では、１つのクラウド属性が最適化され得る。例えば、購入エージェント１３８は、パフォーマンスによってクラウドサービスのセットをランク付けし得る。すなわち、クラウドサービスの各セットの想定されるパフォーマンスは、クラウドサービスの他のセットに対して決定されてランク付けされ得る。１より多いクラウドサービスを含むクラウドサービスのセットについては、セットのパフォーマンスはそれぞれのパフォーマンスを平均化することによって決定され得る。
【００６５】
複数対象の最適化では、１より多いクラウド属性が最適化され得る。例えば、購入エージェント１３８は、パフォーマンスと価格とによってクラウドサービスのセットをランク付けし得る。購入エージェント１３８は、カスタマがクラウド属性に対する任意の重みを特定したかを判定し得る。例えば、カスタマは、パフォーマンスが価格よりも１．２倍だけ重み付けされるべきであることを特定し得る（例えば、カスタマは価格よりもパフォーマンスに価値を与える）。重みの他の表現が同様に用いられ得る。カスタマが任意のクラウド属性に重みを付けた場合、購入エージェント１３８は、クラウドサービスのセットをランク付けする際にその重みを考慮し得る。
【００６６】
ある実施では、購入エージェント１３８は、従来の複数対象の最適化アルゴリズムを用いて、最適なクラウド属性の組を決定し得る。このような最適化の結果は、複数のクラウド属性の最適な組み合わせの範囲を含み得る。例えば、価格とパフォーマンスの最適な組み合わせと対応するクラウドサービスとが識別され得る。購入エージェント１３８は、最適な組み合わせの範囲を示して、カスタマが購入するクラウドサービスの最適なセットを選択できるようにし得る。代わりに、購入エージェント１３８は、最適になるように決定される所定の組み合わせを自動的に選択し得る。
【００６７】
ある実施では、購入エージェント１３８は、１つ以上の購入ストラテジを分析して、様々なクラウド属性のパターンを決定し得る。例えば、購入エージェント１３８は、一日のある時間、週のうちの特定の日等の間に、クラウドサービスの特定の種別に対して価格が下落する傾向があることを決定し得る。同様に、購入エージェント１３８は、一日のある時間、一週のうちの特定の日等の間に、クラウドサービスの特定の種別に対してパフォーマンスが増加する（又は下落する又は安定したままである）傾向があることを決定し得る。パターンの他の種別が同様に決定され得る。パターンを用いて、購入エージェント１３８は、クラウドサービスが注文されるべき適切な時間を決定し得る。例えば、価格が夜の遅い時間に下落する傾向がある場合、その場合には、夜の遅い時間に関連付けられたクラウドサービスインスタンスが計算インスタンス（任意の時間に実行できる計算インスタンス）を実行するために購入され得る。
【００６８】
スポット市場の安定と変動の識別と活用
特定の実施では、購入エージェント１３８は、スポット市場の価格を分析し、スポット価格の安定又は変動のような、スポット価格のパターンを判定し得る。購入エージェント１３８は、スポット価格の安定と変動との少なくともいずれかを、カスタマからの（例えば購入ルールを介した）そうするための指示、計算インスタンスのコンピューティングの要件に基づいて自動的に、及び、他の情報、の少なくともいずれかに基づいて、活用し得る。
【００６９】
スポット価格の安定は、下限のスポット価格と上限のスポット価格とによって境界の示されるスポット価格の範囲によって、定義され得る。反対に、スポット価格の変動は、予め定められた量（例えば、スポット価格の範囲を超える量、及び／又は、閾値や、価格変動の特定のパーセンテージ等を含み得る他の量）だけスポット価格が変動する期間によって定義され得る。スポット価格の安定とスポット価格の変動との少なくともいずれかの定義が調整され得るように、範囲が予め定められ、及び／又は、動的に構成され得る。
【００７０】
スポット価格の安定は、スポットインスタンスに対する供給と需要とが比較的安定し、落札価格に関連付けられた計算インスタンスが解約されないことを示し得る。すなわち、スポット価格は、スポット価格の安定する期間の間になされた落札価格を超えて上昇することが期待されない（計算インスタンスは、スポット価格の安定する期間が終了する前に、実行が終了することが想定される）。
【００７１】
一方、スポット価格の変動は、スポットインスタンスに対する供給と需要とが安定せず、落札価格に関連付けられた計算インスタンスが、スポット価格の安定する間に開始された計算インスタンスよりも、解約される高いリスクにさらされることを示し得る。すなわち、スポット価格は、潜在的に、スポット価格の変動する期間の間になされた落札価格を超えて上昇することが期待され、従って、落札価格に関連付けらた計算インスタンスは、解約のリスクにさらされる。
【００７２】
購入エージェント１３８は、購入決定を生成する際に、スポット価格の安定とスポット価格の変動との少なくともいずれかの決定されたパターンを用い得る。例えば、購入エージェント１３８は、早期解約のリスクによって不安定であると考えられない場合にスポットインスタンスを用い得る。購入エージェント１３８は、対応するスポットインスタンスが早期に解約される可能性が減少することによって、スポット価格が安定する期間の間の上限のスポット価格である或いはそれ以上である入札価格を決定し得る。このようにして、購入エージェント１３８は、スポットインスタンスの安定する時間の間に実行が終了するレベル信頼性を維持する間は、スポットインスタンスのために潜在的に低いスポット価格（反対に、標準インスタンスのためには高い価格）を活用し得る。従って、潜在的によりクリティカルな計算インスタンスであっても、そうでなければ利用するにはリスクが高すぎるスポットインスタンスを利用することができるようになり得る。
【００７３】
上述した例の拡張として、購入エージェント１３８は、支配的なスポット価格より上を維持することが期待される最も低いスポット価格を識別し得る。例えば、購入エージェント１３８は、最も低いスポット価格の上限を有する、価格安定の期間を得うる。このような期間は、終了するスポットインスタンスが動作している間に獲得することができる、最も低いスポット価格を表し得る。
【００７４】
他の例では、購入エージェント１３８は、スポット価格の変動に基づいて、スポット価格が増加することが期待される期間を決定し得る。購入エージェント１３８は、第１の時間における第１のスポット価格より高いが、第２の時間における第２のスポット価格より低いことが期待される入札価格を決定し得る。この場合、入札価格に関連付けられた計算インスタンスは、スポットインスタンスとして第１の時間（スポットインスタンスの購入を完了して初期化するための、より短い処理時間）から開始して第２の時間まで実行され得る。ここで、第２の時間は、入札価格がもはや現在のスポット価格を超えないためにスポットインスタンスが永続的に中断される時点である。
【００７５】
スポットインスタンスがクラウドサービスプロバイダ１５０によって早期に解約されたため、計算インスタンスは、本質的にクラウドサービスプロバイダ１５０からの料金なしに動作したことになろう。解約の場合、あるいはその反対に（クラウドサービスプロバイダのサービスの任意の適切な期間又は他の提供期間の前の）早期の解約前に「無料の」計算サイクルを取得した場合に、他の計算インスタンスで容易に置き換えることができる計算インスタンスを動作させることによって、カスタマは、このような早期の解約を活用することができる。
【００７６】
早期の解約の場合（例えば、購入エージェント１３８及びクラウドコントローラ１３６の少なくともいずれかによって監視されたとき）、購入エージェント１３８は、計算インスタンスの処理を終了するために必要な任意の残りの計算時間を満たすように、他のクラウドサービスインスタンスを使用する。例えば、購入エージェント１３８は、もし早期の解約が発生するときには、使用する代わりのクラウドサービスインスタンスを識別し得る。代わりのクラウドサービスインスタンスは、そのような早期の解約の前又は早期の解約の後の少なくともいずれかに、識別され得る。
【００７７】
クラウドサービスインスタンスの種別及び組み合わせ
ある実施では、１つ以上の最適化、パターン、傾向、価格の安定、及び以下で説明する他の情報の少なくともいずれかを用いて、購入エージェント１３８は、計算インスタンスがクラウドサービスインスタンスの組み合わせを用いて実行されるべきかを判定し得る。購入エージェント１３８は、１つ以上のクラウド属性が、１より多いクラウドサービスインスタンスを用いることによって最適化され得ることを決定し得る。例えば、購入エージェント１３８は、あるレベルのスループット又は他のパフォーマンスメトリクスを得るための最も低い価格が、スループットの要求されるレベルをともに満たす、複数のクラウドサービスインスタンスを用いることによって得られ得ることを判定し得る。言い換えれば、購入エージェント１３８は、スループットの要求されるレベルを単独で扱うことができる１つのクラウドサービスインスタンスがより高額であることを判定し得る。一方、購入エージェント１３８は、（例えば購入ストラテジから得られる）価格情報に応じて、１つのクラウドサービスインスタンスが代わりに用いられるべきであることを決定し得る。
【００７８】
ある実施では、１つ以上の最適化、パターン、傾向、価格の安定、及び以下で説明する他の情報の少なくともいずれかを用いて、購入エージェント１３８は、クラウドサービスインスタンスの特定の種別が用いられるべきかを判定し得る。例えば、購入エージェント１３８は、潜在的に計算インスタンスが永続的に中断され得る（例えば、ミッションクリティカルでない）かを判定し得る。もしそうでなければ、購入エージェント１３８は、スポットインスタンスが考慮されるべきであることを決定し得る。他には、購入エージェント１３８は、購入仕様を生成する際にスポットインスタンスを考慮し得る。
【００７９】
ある実施では、購入エージェント１３８は、使用されるべきクラウドサービスインスタンスの種別を制限し得る。例えば、購入ルールを介して、カスタマは、スポットインスタンスのみが使用されるべきであること、標準インスタンスのみが使用されるべきであること、他のクラウドサービスインスタンスが使用されるべきであること、又は、異なる種別のクラウドサービスインスタンスの組み合わせが使用されるべきであること、を特定し得る。このようにして、購入エージェント１３８は、クラウドサービスインスタンスの特定の種別のみを使用し得る。同様に、クラウドサービスプロバイダ１５０は、ブラックリストに記載され、及びホワイトリストに記載されることの少なくともいずれかであり得る。
【００８０】
購入エージェント１３８は、クラウドサービスの購入を促進するために、１つ以上の購入命令を生成し得る。購入仕様が、（１より多いクラウドサービスプロバイダ１５０によって提供され得る）１より多いクラウドサービスインスタンスにおける計算インスタンスの実行に関連する購入パラメータを含み得るため、購入エージェント１３８は、購入仕様に基づいて、複数の購入命令を生成し得る。
【００８１】
購入エージェント１３８及びクラウドコントローラ１３６の少なくともいずれかは、カスタマが命令を作成するように、購入命令をカスタマに提供し得る。代替的に又は追加的に、購入エージェント１３８及びクラウドコントローラ１３６の少なくともいずれかは、クラウドサービスを調達し監視するために、クラウドサービスプロバイダ１５０と自動的にインタフェースで接続し得る。
【００８２】
購入エージェント１３８に関して説明される最適化及び購入決定が、ＰＰＡ１１６に適用され得ることは理解されるべきである。例えば、ＰＰＡ１１６は、カスタマが購入ストラテジから購入決定を単純に選択し得るように、１つ以上の最適化されたクラウド属性を既に含んだ購入ストラテジを提供し得る。
【００８３】
図２は、本発明の実施に従う、様々なクラウドサービスの価格とパフォーマンスとの少なくともいずれかに応じて購入ストラテジを生成し、提供する処理２００を示す。図２に図示される様々な処理の動作及び／又はデータフローは、以下により詳細に説明される。説明される動作は、上で詳細に説明したシステムの構成要素のいくつか又は全てを用いて達成され得、ある実施では、様々な動作が異なるシーケンスで実行され得、かつ、様々な動作が省略され得る。追加的な動作は、図示されたフローチャートに示される動作のいくつか又は全てと共に実行され得る。１つ以上の動作は、同時に実行され得る。従って、図示される（かつ以下でより詳細に説明される）動作は、そもそも例示であり、それ自体は限定するものとして見られるべきではない。
【００８４】
動作２０２では、クラウドサービスに関連する新たな情報が監視され得る。クラウドサービスに関連する情報は、これらに限らないが、外部属性、スポット市場価格、クラウドパフォーマンス、クラウド価格、及び、クラウドサービズの他の特徴、の少なくともいずれかを含み得る。クラウドサービスに関連する情報は、情報を提供する様々なソースによって利用可能になるにつれて、リアルタイムに更新され得る。そのようなソースは、特に限定されないが、アナリスト、サードパーティエンティティ（ニュース又はランク付けサービス）、クラウドサービスプロバイダ、及びその他、の少なくともいずれかを含み得る。
【００８５】
動作２０４では、新たな情報が利用可能であるかの決定をなし得る。新たな情報が得られない場合、処理２００は動作２０２に戻り得る。
【００８６】
一方、新たな情報が得られる場合、動作２０６において、その新たな情報を分析し得る。この分析は、これに限らないが、価格、パフォーマンス、及び情報に含まれる他のクラウド属性の少なくともいずれかのようなクラウド属性をランク付けする。このようにして、異なるクラウドサービスとその関連付けられた属性が互いに比較されて、適切なクラウドサービスの選択を促進し得る。
【００８７】
動作２０８では、１つ以上の購入ストラテジが、クラウドサービスに関連する情報及び他の分析の少なくともいずれかに基づいて、生成され得る。購入ストラテジの異なる種別が生成され得る。例えば、購入ストラテジは、クラウド属性を含む未加工の情報を含み得る。このように、購入ストラテジはクラウドサービスとその属性のリストを含み得る。購入ストラテジは異なるクラウドサービスのランク付けを含み得る。ランク付けは、こちらに限らないが、ユニットのパフォーマンスごとの価格、パフォーマンスに関わらない価格、価格に関わらないパフォーマンス、及び、他のランク付け基準の少なくともいずれかに基づき得る。このようにして、購入ストラテジは、カスタマにとって最も重要な属性に基づいてクラウドサービスを購入するように、カスタマが適切なクラウドサービスを選択できるようにする情報を用いて拡張され得る。購入ストラテジは、特定のクラウド属性の最適化を含み得る。例えば、購入ストラテジは、価格、パフォーマンス、及び、他のクラウド属性の少なくともいずれかによって最適化されたクラウドサービスのセットを含み得る。購入ストラテジは、特定の情報のみを含み得る。例えば、購入ストラテジは、スポットインスタンスのみの情報、標準インスタンスのみの情報、特定のクラウドサービスプロバイダのためのみの情報、及び、他のフィルタの基準の情報、の少なくともいずれかを含み得る。
【００８８】
動作２１０では、加入者のリストを識別し得る。予約購入の異なるレベルが、購入ストラテジに提供される情報の異なるレベルと関連付けられ得る。例えば、基本的な予約購入は、未加工の情報のみを含む購入ストラテジを提供し得る。例えば、拡張された予約購入は、ランク付けされた情報、及び最適化された情報の少なくともいずれかを含む購入ストラテジを提供し得る。購入ストラテジに対する一度のリクエストを含む、他のプロビジョニングモデルが同様に用いられ得る。動作２１２では、購入ストラテジは加入者に（例えば、非同期、暗号で署名された通信を介して）提供され得る。
【００８９】
図３は、本発明の実施に従う、購入ストラテジ及び他の情報の少なくともいずれかに基づいて購入の決定を判定する処理３００を示す。図３に図示される様々な処理の動作及び／又はデータフローは、以下により詳細に説明される。説明される動作は、上で詳細に説明されたシステムの構成要素のいくつか又は全てを用いて達成され得、ある実施では、様々な動作が異なるシーケンスで実行され得、かつ、様々な動作が省略され得る。追加的な動作は、図示されたフローチャートに示される動作のいくつか又は全てと共に実行され得る。１つ以上の動作は、同時に実行され得る。従って、図示される（かつ以下でより詳細に説明される）動作は、そもそも例示であり、それ自体は限定するものとして見られるべきではない。
【００９０】
動作３０２では、１つ以上の購入ストラテジが、定期購入されて取得され得る。
【００９１】
動作３０４では、１つ以上の購入ストラテジが（図１に図示されるカスタマデータリポジトリ１４０のような）カスタマデータリポジトリに格納され得る。
【００９２】
動作３０６では、カスタマの提供する情報が取得され得る。カスタマの提供する情報は、これに限らないが、１つ以上の購入ストラテジに対してしたカスタマイズ又は変更、（カスタマによって生成された）カスタマ購入ストラテジ、クラウドサービスの購入決定をなす際に満たすべき要件を特定するために用いられる１つ以上の購入ルール、及び、カスタマによって提供される他の情報、の少なくともいずれかを含み得る。
【００９３】
動作３０８では、カスタマの提供する情報がカスタマデータリポジトリに格納され得る。
【００９４】
動作３１０では、クラウドサービスインスタンスを購入する指示が取得され得る。例えば、クラウドコントローラは、実行する新たな計算インスタンスを生成し得、及び／又は、カスタマは、そうでなければ、実行する計算インスタンスを実行する１つ以上のクラウドサービスインスタンスを購入するように要望し得る。
【００９５】
動作３１２では、カスタマデータリポジトリからの情報が取得され得る。例えば、購入ストラテジ、カスタマが変更した購入ストラテジ、カスタマ購入ストラテジ、購入ルール、及び、他の情報の少なくともいずれかが、カスタマデータリポジトリから取得され得る。プロセス３００によって取得され又は決定された、リアルタイムの価格又はパフォーマンス情報などの他の情報が同様に取得され得る。
【００９６】
動作３１４では、購入仕様が、カスタマサポートからの情報、及びプロセス３００によって取得又は決定された他の情報、の少なくともいずれかに基づいて生成され得る。購入仕様は、購入されるべきクラウドサービスインスタンスを表す１つ以上の購入パラメータを含み得る。
【００９７】
図４は、本発明の実施に従う、スポットインスタンスに対するスポット価格の変動を識別し、活用する処理４００を示す。図４に図示される様々な処理の動作及び／又はデータフローは、以下により詳細に説明される。説明される動作は、上で詳細に説明したシステムの構成要素のいくつか又は全てを用いて達成され得、ある実施では、様々な動作が異なるシーケンスで実行され得、かつ、様々な動作が省略され得る。追加的な動作は、図示されたフローチャートに示される動作のいくつか又は全てと共に実行され得る。１つ以上の動作は、同時に実行され得る。従って、図示される（かつ以下でより詳細に説明される）動作は、そもそも例示であり、それ自体は限定するものとして見られるべきではない。
【００９８】
動作４０２では、スポット価格の履歴が取得され得る。スポット価格の履歴は、スポットインスタンスのプロバイダによって提供されたスポット価格のリスト、なされた入札、スポット価格に関する他の情報、の少なくともいずれかを含み得る。
【００９９】
動作４０４では、スポット価格のパターンが、１つ以上のスポット価格が繰り返されるべき傾向にあるかに基づいて識別され得る。例えば、パターンは、第１のスポット価格が第１の時間において提供され、第１のスポット価格と実質的に同じ第２のスポット価格が第１の時間の後の第２の時間において提供された場合に、識別され得る。第１のスポット価格と第２のスポット価格との差が特定の量を超えない場合に、第２のスポット価格は、第１のスポット価格と実質的に同じであり得る。通常の時間帯において発生する傾向のある価格の増加又は減少（例えば、一日の特定の時間における価格の下降、一日の他の時間帯における価格増加）のような他のパターンも同様に決定され得る。
【０１００】
動作４０６では、スポット価格の安定のパターンはスポット価格のパターンに基づいて識別され得る。すなわち、スポット価格の安定は、一日の、例えば特定の時間帯に繰り返される傾向にある。スポット価格の安定は、スポット価格がスポット価格の下限より下に下落せず、且つスポット価格がスポット価格の上限より上に上昇しない、時間の期間を参照する。例えば、図５を参照すると、スポット価格の安定は、時間（Ｔ１）と（Ｔ２）との間で識別され得る。これは、スポット価格は、スポット価格の下限（Ｐ１）とスポット価格の上限（Ｐ２）との間に広がるためである。このようなスポット価格の安定のパターンは、他の時間の期間に繰り返されたときに識別され得る。例えば、スポット価格の安定のパターンは、毎夜の特定の時間に発生し得る。
【０１０１】
図４に戻って参照すると、動作４０８では、スポット価格の安定の後に価格増加があるか（スポット価格の上限を超えるか）の判定がなされる。スポット価格の安定の後に価格増加がある場合、スポット価格の安定と価格増加とは、動作４１０におけるスポットインスタンスの早期解約の可能性としてフラグが立てられ得る。一方、スポット価格の安定の後に価格増加がない場合（従って、後にスポット価格の下限を下回る価格の減少があるはずである）、スポット価格の安定と価格減少とは、動作４１２におけるスポットインスタンスの終了の可能性としてフラグが立てられ得る。
【０１０２】
動作４１４では、更なるスポット価格が分析のために利用可能であるかを決定する。スポット価格が分析のために利用可能である場合、処理４００は動作４０６に戻り得、価格安定の期間が識別され得る。
【０１０３】
そうでなければ、フラグが立てられた可能性は動作４１６において分析され得る。購入決定の目的に応じて、適切な可能性が選択される。例えば、目的が無料の計算サイクルを得るために早期解約を活用することである場合、価格の安定の後の価格増加は分析のために選択され得る。価格安定の期間の後に価格が増加した場合、価格安定の期間の間に行われ、受け入れられた入札の結果であるスポットインスタンスは、入札価格を超えて価格が増加した場合に早期に解約される可能性がある（スポットインスタンスは価格の増加の後に動作が終了するようにスケジュールされていることが想定されている）。時間と入札の量とは、期待されるランタイム（例えば、スポットインスタンスが実行される期間）、価格の安定、及び価格の増加とに基づいて決定され得る。
【０１０４】
一方、目的が、標準価格より低くなり得るスポット価格を使用するためにスポットインスタンスの終了を活用することである場合、価格の安定の後の価格減少は分析のために選択され得る。価格安定の期間の後に価格が減少した場合、価格安定の期間の間に行われ、受け入れられた入札の結果であるスポットインスタンスは、入札価格を下回って価格が減少した場合であっても終了するように動作する可能性がある（スポットインスタンスの動作が終了する前にスポット価格が入札価格を超えて増加しないことが想定される）。時間と入札の量とは、期待されるランタイム（例えば、スポットインスタンスが実行される期間）、価格の安定、及び価格の減少とに基づいて決定され得る。
【０１０５】
図５は、本発明の実施に従う、時間にわたってプロットされた、スポットインスタンスに対するスポット価格の、２次元のグラフ表現の例示を示す。２次元のグラフ表現５００は、価格カーブ（Ｐ）に基づく、１つ以上の購入パラメータを決定する分析フレームワークを図示する目的のために提供される。クラウド属性の他の種別（標準価格、パフォーマンス等）は、同様の方法で分析され、１つ以上の購入パラメータが決定され得る。
【０１０６】
スポット価格（Ｐ）が（Ｐ１）と（Ｐ２）によって境界される範囲内で下降するため、価格安定の期間はｔ１とｔ２の間で発生する。時間ｔ３において、価格Ｐ３まで増加した価格は、価格安定の期間の後に観測される。ｔ１からｔ２までの価格の安定とｔ３における価格の増加はパターンを形成し（例えば、時間の他のセットにおいて繰り返され、ここでＰ１，Ｐ２，及びＰ３は、時間の他のセットにおいて、価格から特定の量を極端に超えない）、その後、このパターンは、早期解約の目的、終了の目的、及びスポットインスタンスに関する他の目的、の少なくともいずれかを満たすように活用され得る。
【０１０７】
早期解約の目的
早期契約の目的は、スポットインスタンスが実行される間に優勢なスポット価格が入札価格を超えて増加したことにより、スポットインスタンスのプロバイダによって早期に解約されるように期待されるスポットインスタンスに対して入札するために競争するものであり得る。従って、スポットインスタンスが初期化された時間からスポットインスタンスが早期に解約された時間までの間には、無料の（又は低減された料金、これはプロバイダに依存する）計算時間を取得し得る。
【０１０８】
例えば、開始時間（ｔｉ）と、スポットインスタンスを購入する価格（Ｐｉ）は、早期解約の目的の一部として識別され得、ｔｉは、スポットインスタンスを用いて実行される計算インスタンスの期待されるランタイムに基づいて決定され得る。（スポットインスタンスがｔｉから開始されて、ｔ３において早期解約されることが期待されるので）期待される無料の計算時間は、ｔ３とｔｉの間の差として計算され得る。より長い、期待される無料の計算時間（例えばｔｉより早い）は、終了するように動作し、より短い期待される無料の計算時間より早期に解約されない可能性が高くなる。これは、より長い期待される無料の計算時間は、ｔ３における予想した価格の増加の不発生に、より影響を受けるためである。従って、早期解約の目的を含む任意の購入仕様は、より長い期待される無料の計算時間の利益と、そうすることのリスクとをバランスし得る。Ｐｉは、Ｐ２とＰ３とに基づいて決定され得る。例えば、Ｐｉは、Ｐ２と同じかより大きくなり得、Ｐ３よりも短くなり得る。
【０１０９】
終了の目的
終了の目的は、終了するように動作することを期待されるスポットインスタンスに入札するために競争するものであり得る。従って、一般により低い料金であるが、クリティカルな計算インスタンスにとってよりリスクの高いスポットインスタンスは、早期解約に対して影響を受けやすい計算インスタンスに対して使用され得る。
【０１１０】
例えば、開始時間（ｔｉ）とスポットインスタンスを購入する価格（Ｐｉ）は、終了の目的の一部として識別され得、ｔｉは、スポットインスタンスとｔ３を用いて実行される計算インスタンスの期待されるランタイムに基づいて決定され得る。ｔｉはｔ３からランタイムを引いたものよりも小さくなる。すなわち、スポットインスタンスがｔ３より前に終了することが期待されるように、スポットインスタンスは購入され初期化されるべきである。このように、スポットインスタンスは、終了するように動作することが期待される。図５には図示されていないが、価格の減少はｔ３において発生し得、この場合、Ｐｉを超える次の期待される価格の増加に応じて、ｔｉはより後になることが期待され得る。
【０１１１】
更に、価格の安定及び変動に関して説明したが、任意のパターンの価格が、早期の解約又は終了の目的を満たすために識別され得る。例えば、観測される、価格が上昇する任意のパターンは、早期の解約の目的を満たすために用いられる。
【０１１２】
他の実施では、発明の使用と利益は、明細書の考慮及びここに開示される発明の実施から当業者にとって明白である。明細書は例示のみであることが考慮されるべきであり、従って本発明の範囲は以下の請求項によってのみ制限されることが意図される。
【図１】
2017521765.tif 000003
【図２】
2017521765.tif 000004
【図３】
2017521765.tif 000005
【図４】
2017521765.tif 000006
【図５】
2017521765.tif 000007
【国際調査報告】
2017521765.tif 000008