IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イェルス テクノロジーズ,インコーポレイテッドの特許一覧

特許7584552コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法
<>
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図1
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図2
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図3
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図4
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図5
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図6
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図7
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図8
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図9
  • 特許-コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】コンピュータを利用したサービスの価格とパフォーマンスを最適化するための、コンピュータに実装されたシステム及び方法
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20241108BHJP
【FI】
G06Q50/10
【請求項の数】 13
【外国語出願】
(21)【出願番号】P 2023045289
(22)【出願日】2023-03-22
(65)【公開番号】P2023138938
(43)【公開日】2023-10-03
【審査請求日】2023-07-20
(31)【優先権主張番号】17/699,316
(32)【優先日】2022-03-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】523104661
【氏名又は名称】イェルス テクノロジーズ,インコーポレイテッド
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】フェアクロス,ダニエル
【審査官】日比野 可奈子
(56)【参考文献】
【文献】特開2003-150888(JP,A)
【文献】特開2005-135033(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータに実装される方法であって、所望のソフトウェア作業を実行するためのパフォーマンス実測コンピュータ処理時間予測値に対する価格の範囲を、サービスプロバイダが提供する方法であり、
a)前記サービスプロバイダが提供する、コンピュータに実装された、前処理をする方法を使用して、ユーザーが所望のソフトウェア作業のデータを準備し、
前記データを、コンピュータシステムを介して、前記サービスプロバイダのコンピュータシステムにアップロードし、且つ、
前記所望のソフトウェア作業を実行するための、前記サービスプロバイダのサービスをリクエストするステップと、
b)リソース推定モデルを使用して、前記サービスプロバイダの前記コンピュータシステムにおいて、前記サービスプロバイダが前記データを分析し、
それにより、リソースオプションを決定し、且つ、
前記リソースオプションを、
価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するためのパフォーマンス実測時間予測値とに、変換するステップと、
c)前記サービスプロバイダが、前記サービスプロバイダの前記コンピュータシステムを介して、
前記価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するための前記パフォーマンス実測時間予測値と
が載っているリストを、
前記ユーザーのコンピュータシステムを介して前記ユーザーに提示するステップと、
d)特定の価格と、これに対応するパフォーマンス実測時間予測値とを、前記ユーザーが選択し、
前記選択された価格と前記対応する実測時間とに関連付けられたリソースオプションを使用して前記サービスプロバイダが前記所望のソフトウェア作業を実行することを、前記ユーザーがリクエストするステップと、
e)前記サービスプロバイダが、前記選択された価格と前記対応する実測時間とに関連付けられた前記リソースオプションを使用して、前記所望のソフトウェア作業を実行し、
前記所望のソフトウェア作業の実行結果を前記ユーザーに提供し、
前記所望のソフトウェア作業の前記実行結果に対して前記ユーザーに請求し、
前記ユーザーが受け取った前記実行結果に対する前記ユーザーからの支払いを受領するステップ
とを含
前記リソース推定モデルを使用することは、
a)前記所望のソフトウェア作業の実測時間に影響を与えるコンポーネントを特定するステップと、
b)潜在的なリソースを特定するステップと、
c)前記ソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間データを収集するステップと、
d)前記リソース推定モデルを最適化して、パフォーマンス実測時間を決定するステップと、
e)前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項2】
請求項1に記載の、コンピュータに実装される方法であって、
前記所望のソフトウェア作業の実行中に、前記リソース推定モデルから、パフォーマンス実測時間予測値データを収集するステップをさらに含む、
方法。
【請求項3】
請求項に記載の、コンピュータに実装される方法であって、
前記所望のソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間予測値データを収集するステップは、
a)前記所望のソフトウェア作業から特定の入力値セットをインスタンス化するステップと、
b)リソースオプションのリストから特定のリソースセットをインスタンス化するステップと、
c)前記所望のソフトウェア作業を実行するステップと、
d)パフォーマンス実測時間予測値データを抽出するステップと、
e)入力パラメータと実測時間データを保存するステップと、
f)ステップa~eを繰り返して、パフォーマンス実測時間を予測する際の前記リソース推定モデルの精度を最適化するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項4】
請求項に記載の、コンピュータに実装される方法であって、
パフォーマンス実測時間予測値を予測するために前記リソース推定モデルを最適化するステップは、
a)初期リソース推定モデルを選択するステップと、
b)前記初期リソース推定モデルの各制御パラメータを初期化するステップと、
c)前記リソース推定モデルを入力値セットで実行するステップと、
d)リソース推定モデル誤差を評価して、リソース推定モデル誤差が、最適化が完了する閾値より小さいかどうかを判定するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項5】
請求項に記載の、コンピュータに実装される方法であって、
前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップは、
a)利用可能なリソースのリストを取得するステップと、
b)初期リソースセットを選択し、ユーザー入力データを取得するステップと、
c)前記最適化されたリソース推定モデルを実行するステップと、
d)パフォーマンス実測時間予測値リストに追記し、ソートするステップと、
e)パフォーマンス実測時間予測値の価格決定を開始するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項6】
請求項1に記載の、コンピュータに実装される方法であって、
最低価格は、パフォーマンス実測時間予測値が最も低いリソースセットから決定される、
コンピュータに実装される方法。
【請求項7】
コンピュータに実装される方法であって、所望のソフトウェア作業を実行するためのパフォーマンス実測コンピュータ処理時間予測値に対する価格の範囲を、サービスプロバイダが提供する方法であり、
a)前記サービスプロバイダが提供する、コンピュータに実装された、前処理をする方法を使用して、ユーザーが所望のソフトウェア作業のデータを準備し、
前記データを、コンピュータシステムを介して、前記サービスプロバイダのコンピュータシステムにアップロードし、且つ、
前記所望のソフトウェア作業を実行するための、前記サービスプロバイダのサービスをリクエストするステップと、
b)リソース推定モデルを使用して、前記サービスプロバイダの前記コンピュータシステムにおいて、前記サービスプロバイダが前記データを分析し、
それにより、リソースオプションを決定し、且つ、
前記リソースオプションを、
価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するためのパフォーマンス実測時間予測値とに、変換するステップと、
c)前記サービスプロバイダが、前記サービスプロバイダの前記コンピュータシステムを介して、
前記価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するための前記パフォーマンス実測時間予測値と
が載っているリストとを、
前記ユーザーのコンピュータシステムを介して前記ユーザーに提示するステップと、
d)特定の価格と、これに対応するパフォーマンス実測時間予測値とを、前記ユーザーが選択し、
前記選択された価格と前記対応する実測時間とに関連付けられたリソースオプションを使用して前記サービスプロバイダが前記所望のソフトウェア作業を実行することを、前記ユーザーがリクエストするステップと、
e)前記サービスプロバイダが、前記選択された価格と前記対応する実測時間とに関連付けられた前記リソースオプションを使用して、前記所望のソフトウェア作業を実行し、
前記所望のソフトウェア作業の実行結果を前記ユーザーに提供し、
前記所望のソフトウェア作業の前記実行結果に対して前記ユーザーに請求し、
前記ユーザーが受け取った前記実行結果に対する前記ユーザーからの支払いを受領するステップと、
f)前記所望のソフトウェア作業の実行中に、前記リソース推定モデルから、パフォーマンス実測時間予測値データを収集するステップと
を含み、
前記リソース推定モデルを使用することは、
前記所望のソフトウェア作業の実測時間に影響を与えるコンポーネントを特定するステップと、
潜在的なリソースを特定するステップと、
前記ソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間データを収集するステップと、
前記リソース推定モデルを最適化して、パフォーマンス実測時間を決定するステップと、
前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップと
をさらに含み、
前記所望のソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間予測値データを収集するステップは、
リソースオプションのリストから特定のリソースセットをインスタンス化するステップと、
前記所望のソフトウェア作業を実行するステップと、
パフォーマンス実測時間予測値データを抽出するステップと、
入力パラメータと実測時間データを保存するステップと、
リソースオプションのリストから特定のリソースセットをインスタンス化する前記ステップから入力パラメータと実測時間データを保存する前記ステップを繰り返して、パフォーマンス実測時間を予測する際の前記リソース推定モデルの精度を最適化するステップと
を含む、
コンピュータに実装される方法。
【請求項8】
請求項に記載の、コンピュータに実装される方法であって、
パフォーマンス実測時間予測値を予測するために前記リソース推定モデルを最適化するステップは、
a)初期リソース推定モデルを選択するステップと、
b)前記初期リソース推定モデルの各制御パラメータを初期化するステップと、
c)前記リソース推定モデルを入力値セットで実行するステップと、
d)リソース推定モデル誤差を評価して、リソース推定モデル誤差が最適化が完了する閾値より小さいかどうかを判定するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項9】
請求項に記載の、コンピュータに実装される方法であって、
前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップは、
a)利用可能なリソースのリストを取得するステップと、
b)初期リソースセットを選択し、ユーザー入力データを取得するステップと、
c)前記最適化されたリソース推定モデルを実行するステップと、
d)パフォーマンス実測時間予測値リストに追記し、ソートするステップと、
e)パフォーマンス実測時間予測値の価格決定を開始するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項10】
請求項に記載の、コンピュータに実装される方法であって、
最低価格は、パフォーマンス実測時間予測値が最も低いリソースセットから決定される、
コンピュータに実装される方法。
【請求項11】
コンピュータに実装される方法であって、所望のソフトウェア作業を実行するためのパフォーマンス実測コンピュータ処理時間予測値に対する価格の範囲を、サービスプロバイダが提供する方法であり、
a)前記サービスプロバイダが提供する、コンピュータに実装された、前処理をする方法を使用して、ユーザーが所望のソフトウェア作業のデータを準備し、
前記データを、コンピュータシステムを介して、前記サービスプロバイダのコンピュータシステムにアップロードし、且つ、
前記所望のソフトウェア作業を実行するための、前記サービスプロバイダのサービスをリクエストするステップと、
b)リソース推定モデルを使用して、前記サービスプロバイダの前記コンピュータシステムにおいて、前記サービスプロバイダが前記データを分析し、
それにより、リソースオプションを決定し、且つ、
前記リソースオプションを、
価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するためのパフォーマンス実測時間予測値とに、変換するステップと、
c)前記サービスプロバイダが、前記サービスプロバイダの前記コンピュータシステムを介して、
前記価格範囲と、
これに対応する、前記所望のソフトウェア作業を実行するための前記パフォーマンス実測時間予測値と
が載っているリストを、
前記ユーザーのコンピュータシステムを介して前記ユーザーに提示するステップと、
d)特定の価格と、これに対応するパフォーマンス実測時間予測値とを、前記ユーザーが選択し、
前記選択された価格と前記対応する実測時間とに関連付けられたリソースオプションを使用して前記サービスプロバイダが前記所望のソフトウェア作業を実行することを、前記ユーザーがリクエストするステップと、
e)前記サービスプロバイダが、前記選択された価格と前記対応する実測時間とに関連付けられた前記リソースオプションを使用して、前記所望のソフトウェア作業を実行し、
前記所望のソフトウェア作業の実行結果を前記ユーザーに提供し、
前記所望のソフトウェア作業の前記実行結果に対して前記ユーザーに請求し、
前記ユーザーが受け取った前記実行結果に対する前記ユーザーからの支払いを受領するステップと、
f)前記所望のソフトウェア作業の実行中に、前記リソース推定モデルから、パフォーマンス実測時間予測値データを収集するステップと
を含み、
前記リソース推定モデルを使用することは、
前記所望のソフトウェア作業の実測時間に影響を与えるコンポーネントを特定するステップと、
潜在的なリソースを特定するステップと、
前記ソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間データを収集するステップと、
前記リソース推定モデルを最適化して、パフォーマンス実測時間を決定するステップと、
前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップと
をさらに含み、
前記所望のソフトウェア作業の各コンポーネントの、前記潜在的なリソース上でのパフォーマンス実測時間予測値データを収集するステップは、
リソースオプションのリストから特定のリソースセットをインスタンス化するステップと、
前記所望のソフトウェア作業を実行するステップと、
パフォーマンス実測時間予測値データを抽出するステップと、
入力パラメータと実測時間データを保存するステップと、
リソースオプションのリストから特定のリソースセットをインスタンス化する前記ステップから入力パラメータと実測時間データを保存する前記ステップを繰り返して、パフォーマンス実測時間を予測する際の前記リソース推定モデルの精度を最適化するステップと
をさらに含み、
パフォーマンス実測時間予測値を予測するために前記リソース推定モデルを最適化するステップは、
初期リソース推定モデルを選択するステップと、
前記初期リソース推定モデルの各制御パラメータを初期化するステップと、
前記リソース推定モデルを入力値セットで実行するステップと、
リソース推定モデル誤差を評価して、リソース推定モデル誤差が最適化が完了する閾値より小さいかどうかを判定するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項12】
請求項11に記載の、コンピュータに実装される方法であって、
前記リソース推定モデルを実行して、前記所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測するステップは、
a)利用可能なリソースのリストを取得するステップと、
b)初期リソースセットを選択し、ユーザー入力データを取得するステップと、
c)前記最適化されたリソース推定モデルを実行するステップと、
d)パフォーマンス実測時間予測値リストに追記し、ソートするステップと、
e)パフォーマンス実測時間予測値の価格決定を開始するステップ
とをさらに含む、
コンピュータに実装される方法。
【請求項13】
請求項12に記載の、コンピュータに実装される方法であって、
最低価格は、パフォーマンス実測時間予測値が最も低いリソースセットから決定される、
コンピュータに実装される方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
2022年3月21日に出願された米国特許出願第17/699,316号に対して優先権が主張され、その内容全体が参照により本明細書に組み込まれる。
【0002】
本開示の発明は、一般に、コンピュータに実装されたシステム及び方法であって、コンピュータを利用したサービスを提供するためのシステム及び方法に関する。本発明は、より具体的には、コンピュータを利用したサービスのパフォーマンスをカスタマイズ可能な態様で提供するために価格範囲を顧客に提供するシステム及び方法に関し、ここでは、顧客がコンピュータを利用したサービスを完了するまでの期間に基づいて価格を最適化できる。
【背景技術】
【0003】
従来、顧客は、2つの主要なライセンスモデル、すなわち永久ライセンスと期間限定型ライセンスに基づいて、ソフトウェアにアクセスする。永久ライセンスの場合は、通常、ソフトウェアの一定数のインスタンスにアクセスするために決まった料金を支払うようになっている。永久ライセンスモデルを使用している企業では、さらに、テクニカルサポートやソフトウェアの最新版へのアクセスを維持するために保守料金(通常は年単位)を支払うオプションを、顧客に提供する傾向がある。期間限定型ライセンスの場合は、一定数のインスタンスへのアクセスが定められた期間に限られており、月単位又は年単位のサブスクリプションのように顧客に請求される場合がある。
【0004】
いずれの場合も、ライセンスは、ユーザーロック方式、ノードロック方式、キーロック方式、フローティング方式にさらに細分化される。ユーザーロックライセンスは、ソフトウェアを単一のユーザーに制限することを意図しており、通常は特定のユーザー名をチェックすることによって実施される。ノードロックライセンスも同様に、ライセンスが特定のコンピュータにロックされていることを前提として機能する。キーロックライセンスは、コンピュータから別のコンピュータに移動可能なUSBキーなどのハードウェアライセンス実施デバイスに紐付けられている。最後に、フローティングライセンスでは、ユーザーは、ライセンスサーバー上にあるインスタンスで利用権のあるものの数を確認することで、ネットワーク上のどこからでもソフトウェアにアクセスできる。ユーザーロック方式、ノードロック方式、フローティング方式のライセンス型ソフトウェアの例としては、Mathworks社のMATLAB(登録商標)が挙げられる。
【0005】
これらの方法は、多かれ少なかれ、数十年にわたってソフトウェアライセンスの現状を定義してきた。最近では、Webベースのテクノロジーの普及、クラウドコンピューティングソリューションの普及、インターネットアクセスがほぼどこでも利用可能となったことにより、Software-as-a-Service(SaaS)ビジネスモデルがよく利用されている。SaaSライセンスモデルは、ユーザーが一定レベルのアクセスを一定期間利用する期間限定型ライセンスの手法と同じように機能することがもっとも多い。この一般的な例は、ユーザーごと又はユーザーのグループごとに月額料金でソフトウェア機能の追加を可能にするSaaSモデルである。同様の例では、ある期間にわたって所定のボリューム(つまり、当該ソフトウェアを同時に使用するユーザーの数又は当該ソフトウェアの同時に実行するインスタンスの数)へのアクセスが顧客に提供される。
【0006】
モデリング&シミュレーション(Modeling & Simulation、M&S)ソフトウェアは、特殊なITハードウェアとインフラが必要なため、これまで従来のライセンス方式に限定されてきた。数値流体力学(Computational Fluid Dynamics、CFD)、計算電磁気学(Computational Electromagnetics、CEM)、構造解析などの多くの種類のM&Sソフトウェアは、計算負荷が高く、個々のワークステーションやクラスタ構成用コンピュータリソースに多大な投資が必要となる場合がある。計算負荷は、メモリやランタイムの点で個々のシミュレーションの規模が大きいことから生じるか、又は、必要なシミュレーションの量(高次元のパラメトリック解析や最適化など)から生じることがある。
【0007】
このモデルでは、計算物理学(Computational Physics、CP)M&Sソフトウェアのユーザーは、シミュレーションの達成可能な全体的なスループットが限られており、これは、(1)コンピュータリソースの不足、(2)多くのリソースにわたるスケーリングに対応するライセンスの不足によるものである。Amazon Web Services、Microsoft Azure、Google Cloudなどのサービスを通じて提供されるクラウド型コンピュータリソースの計算規模は無限に見えるため、第1の問題を解決する道はある。ユーザーは、様々な処理、メモリ、グラフィックプロセッサ(Graphical Processing Unit、GPU)、ネットワーク、及びストレージ機能を備えた個々のインスタンスの中から選択し、どのようなボリュームが必要であってもほぼすべての構成をインスタンス化できる。この場合は、ユーザーにとって制限となるのは、クラウド型コンピュータリソースに対する組織的予算及びプロジェクト予算と、ライセンスの理容可能かどうかということのみである。
【0008】
しかしながら、この最後の問題は、依然として重大である。現在までに、モデリング&シミュレーションのSaaSのクラウド型ビジネスモデルは2種類ある。第1のものでは、顧客は、ソフトウェアを決まった使用量でリースできる。これは、決まった数の期間限定型フローティングライセンスを購入することと類似しており、SaaSのクラウド型コンピューティングの本来の可能性を損なうことになる。第2の手法は、より柔軟な(そして予想される)使用量ベースのモデルで、サージ形式M&Sニーズに対処するのに最適である。
【0009】
使用量ベースのライセンスモデルにより、ユーザーはSaaSのクラウド型モデリング&シミュレーションの利点を享受できる。しかしながら、ユーザーにはシミュレーションの実行コストを事前に判断する手段がなく、また、プロセッサやGPUを追加した場合に減少する利益についても見通しが立たない。さらに、ユーザーは、必要なときに適時に支払うことができない。
【0010】
現在のところ、クラウドプロバイダにサービスを要求して所定の望ましいパフォーマンスを得る一般的な方法はない。現時点でユーザーができる最善のことは、必要最小限のものよりも大きなリソースを割り当てることを選択し、より少ないリソースを選択した場合と比較してパフォーマンスが向上することを期待することである。これには、パフォーマンスとリソース数の関係についての勘所を養うために、特定のリソースのセットでの豊富な利用経験が必要である。
【0011】
現時点では、高性能なコンピューティングと問題となっているモデリング&シミュレーションソフトウェアの両方に関する専門知識がなければ、ユーザーが支払ってもよいと思う価格に基づいてパフォーマンスを調整することができない。このマルチドメインの専門知識が必要なため、上級ユーザーでも最適なジョブパフォーマンスを達成できなくなる。なぜなら、「最適」という語は実測時間(wall-clock time)と価格が特定のバランスが取れていることを意味することがあるからである。人によってはこのマルチドメインの専門知識を習得するかもしれないが、調整作業の結果は定量的にはできず不正確になる可能性がある。さらに、既存のライセンスモデルはこの種のパフォーマンスの調整には適用できないため、ユーザーがそのような調整を試みることさえできない。
【0012】
現在のソフトウェアは、オンプレミス型リソース又はクラウド型リソースを利用する際に、パフォーマンスに関する履歴データを活用していない。クラウドプロバイダ経由で利用可能なリソースオプションは多岐にわたるため、現在のソフトウェアが別のコンピュータ環境で収集されたデータを効果的に使用できる可能性は低い。必要とされているのは、見積価格に関してより適切な情報を顧客に提供する方法とシステムであり、より時宜にかなったソリューションの必要性又はコストを最小化したいという要望に基づいて顧客が価格を最適化する機会を提供することである。
【発明の概要】
【0013】
本開示の発明は、所望のソフトウェア作業を実行するためのパフォーマンス実測コンピュータ処理時間の予測範囲に対する価格の範囲を、サービスプロバイダが提供するコンピュータ実装システム及び方法である。このシステム及び方法のユーザーは、サービスプロバイダが提供する、コンピュータに実装された、前処理をする方法を使用して、所望のソフトウェア作業のデータを準備する。ユーザーは、コンピュータシステムを介して、サービスプロバイダのコンピュータシステムにデータをアップロードし、且つ、選択したパフォーマンス実測時間の予測値で所望のソフトウェア作業を実行するための、サービスプロバイダのサービスをリクエストする。
【0014】
リソース推定モデルを使用して、サービスプロバイダのコンピュータシステムにおいて、サービスプロバイダがデータを分析し、それにより、リソースオプションを決定する。リソースオプションは、価格範囲と、これに対応する、所望のソフトウェア作業を実行するためのパフォーマンス実測時間予測値とに変換される。サービスプロバイダは、サービスプロバイダのコンピュータシステムを介して、価格範囲と、これに対応する、所望のソフトウェア作業を実行するためのパフォーマンス実測時間予測値とが、載っているリストを、ユーザーに提示する。
【0015】
特定の価格と、これに対応するパフォーマンス実測時間予測値とを、ユーザーが選択し、選択された価格と対応する実測時間とを関連付けられたリソースオプションを使用して所望のソフトウェア作業をサービスプロバイダが実行することを、ユーザーがリクエストする。サービスプロバイダは、選択された価格とこれに対応する実測時間とに関連付けられたリソースオプションを使用して、所望のソフトウェア作業を実行する。サービスプロバイダは、所望のソフトウェア作業の実行結果をユーザーに提供し、その結果に対してユーザーに請求し、結果に対する支払いをユーザーから受領する。
【0016】
パフォーマンス実測時間予測値データは、所望のソフトウェア作業の実行中にリソース推定モデルから収集することができる。リソース推定モデルを使用することは、所望のソフトウェア作業の実測時間に影響を与えるコンポーネントを特定することと、潜在的なリソースを特定することを含む。パフォーマンス実測時間データは、潜在的なリソースのコンポーネントごとに収集される。リソース推定モデルを最適化して、パフォーマンス実測時間を決定し、リソース推定モデルを実行して、所望のソフトウェア作業の実行を完了するまでに必要なパフォーマンス実測時間を予測する。
【0017】
所望のソフトウェア作業の各コンポーネントの、潜在的なリソース上でのパフォーマンス実測時間予測値データを収集することは、所望のソフトウェア作業から特定の入力値セットをインスタンス化することと、リソースオプションのリストから特定のリソースセットをインスタンス化することをさらに含む。潜在的なリソース上で所望のソフトウェア作業が実行され、パフォーマンス実測時間予測値データが抽出される。入力パラメータと実測時間データが保存される。これらの手順を繰り返して、実測時間を予測する際のリソース推定モデルの精度を最適化する。
【0018】
パフォーマンス実測時間予測値を予測するためにリソース推定モデルを最適化することは、初期リソース推定モデルを選択することと、初期リソース推定モデルの各制御パラメータを初期化することとをさらに含む。リソース推定モデルが入力値セットで実行され、リソース推定モデル誤差を評価して、リソース推定モデル誤差が、最適化が完了する閾値より小さいかどうかを判定する。
【0019】
リソース推定モデルを実行して、所望のソフトウェア作業の実行を完了するまでのパフォーマンス実測時間を予測することは、利用可能なリソースのリストを取得することと、初期リソースセットを選択することと、ユーザー入力データを取得することとをさらに含む。最適化されたリソース推定モデルを実行し、パフォーマンス実測時間予測値リストに追記し、ソートして、パフォーマンス実測時間予測値の価格決定を開始する。最低価格は、予測されたパフォーマンス実測時間が最も低いリソースセットから決定される。
【図面の簡単な説明】
【0020】
図1】クラウド型で使用する場合のプロセスを示す。
図2】オンプレミス型で使用する場合のプロセスを示す。
図3】リソース推定モデル(Resource Estimation Model、REM)の開発プロセスを示す。
図4】リソース推定モデルの初期化に使用される実行時パフォーマンスデータ収集プロセスのフローチャートを示す。
図5】リソース推定モデル最適化プロセスのフローチャートを示す。
図6】リソース推定モデル実行処理のフローチャートを示す。
図7】実施例1のクラウド型リソースを使用した大規模気象パターンの予測における、都市レベルと州レベルの両方のシミュレーションについて、ユーザーに提示されるオプションを示す。
図8】実施例2の自動車の数値流体力学における、価格とパフォーマンスの結果を示す。
図9】顧客11とP4Pサービスプロバイダ15が通信してビジネスを行うことができる例示的な通信システム10を示す。
図10】開示されたシステム及び方法に従って使用可能な例示的なコンピューティングシステム20を示す。
【発明を実施するための形態】
【0021】
以下の説明は、本発明の好ましい実施形態を詳細に説明するが、本発明は、その適用が、本明細書に開示され、説明され図に示される部品の配置の詳細に限定されるものではないことを理解されたい。他の実施形態及び様々な方法で実施されることについて説明する。
【0022】
「Pay for Performance」(P4P)は、ソフトウェア機能を実行するシステム及び方法の一つであり、実行時パフォーマンス(実測時間)に対する顧客の要望によって決定される価格設定で、必要なソフトウェア作業を実行するものである。P4Pモデルは、前述のSaaS及びクラウド型のコンピューティングの利点のすべてをユーザーに提供すると同時に、見積価格と、より時宜にかなったソリューションの必要性又はコストを最小したいという要望に基づいて価格を最適化する機会とに関して、より適切な情報をユーザーに提供する。
【0023】
定義
P4Pサービスプロバイダ:P4Pライセンスソフトウェアサービスを提供する企業。
P4Pソフトウェア:P4Pライセンスモデルを使用できるソフトウェア。
クラウドサービスプロバイダ:Amazon Web ServicesやMicrosoft Azureなどのサービスとしてのインフラ(Infrastructure-as-a-Service、IaaS)を提供する企業。
顧客:P4Pライセンスソフトウェアサービスの使用を希望する個人又は企業。
ユーザー:顧客の組織内の個人又は処理担当者であって、P4Pサービスと遣り取りする者。
ジョブ:ユーザーがリクエストしたコンピュータ処理作業。
パフォーマンス:リクエストされたジョブが開始されてから実行し終わるまでに必要な総実測時間。
リソース:CPUコア(又は同等のCPU機能を持つ装置)、メモリ(RAMなど)、ストレージ(ハードドライブ容量など)、ネットワーク帯域幅、GPU、TPU、FPGA、特殊チップセット(ASICなど)が例示できる。
時間もリソースとみなされる場合がある。
価格:ジョブに対する顧客のコスト。
リソースセット:リソースの組み合わせ。
AWS:アマゾンウェブサービス。
【0024】
P4Pプロセスでは、段階に分けて行う手法を用いて、顧客のパフォーマンスと価格のトレードオフを最適化する。P4Pソフトウェア方式は、クラウド環境でもオンプレミス環境でも使用できる。クラウド型で使用する場合のプロセスを図1に示す。まず、ユーザーは、ソフトウェアが提供する特定の前処理方法を使用して、実行用のシミュレーションを準備する(ステップ100)。これには、CADの準備、メッシュ作成、シミュレーション入力構成、及び、材料特性と境界条件と必要な出力の仕様が含まれる場合がある。機械学習トレーニングなどの別のタイプのシミュレーションの場合、これには、データの準備やその他の関連する前処理アクティビティが含まれる場合がある。シミュレーションが準備されると、ユーザーがP4Pサービスプロバイダで認証され、P4Pソフトウェアを使用するためのユーザーの権限を検証する(ステップ101)。認証されると、ユーザーは、P4Pサービスプロバイダに、サービスのポータルを介して、必要なシミュレーションデータをアップロードする(ステップ102)。このポータルは、Web又はプログラムインターフェイスを通じて提供される場合がある。データを入手すると、P4Pサービスプロバイダは、リソース推定モデル(Resource Estimation Model、REM)を用いてユーザーのデータを分析し、リソースオプションを決定する(ステップ103)。リソースオプションを、パフォーマンス推定値に対して見積もられた価格の範囲に変換する(ステップ104)。リソースと価格を決定する際の組み合わせについては、次の項で説明する。対応するパフォーマンスに対する価格の範囲は、サービスのポータルを通してユーザーに提示される(ステップ105)。次いで、ユーザーは、特定のパフォーマンス対価格オプションを選択してジョブの実行をリスエストすることができる(ステップ106)。次に、P4Pサービスプロバイダはジョブをキューに入れ(ステップ107)、必要なリソースをインスタンス化する(ステップ108)。ジョブは選択されたリソースにて実行され(ステップ109)、その間、ユーザーはジョブのステータスを監視することができる。完了すると、ユーザーに通知され(ステップ110)、出力データを取得できる(ステップ111)。達成された実際のジョブパフォーマンスによって価格が更新され、それが顧客の請求書に割り当てられる(ステップ112)。所定の間隔(通常は毎月)で、顧客はプロバイダから請求書を受け取る(ステップ113)。
【0025】
P4Pモデルは、顧客の既存のリソースを使用してオンプレミス方式で使用することもできる。オンプレミス型モデルのプロセスは図2に示されており、いくつかの注目すべき例外を除いてクラウド型の手法と類似する。この場合、ユーザーはシミュレーションを準備し(ステップ200)、ソフトウェアはユーザーがP4Pライセンス種別を持っていることを確認する(ステップ201)(この点は前述のその他のライセンス種別とは対照的である)。次に、ソフトウェアは、顧客によってソフトウェアに対して公開されたリソースで利用可能なものを確認する(ステップ202)。これらのリソースに基づいて、P4Pソフトウェアはリソースオプションを決定し(ステップ203)、このリソースオプションを価格オプションに変換する(ステップ204)。このプロセスは、クラウド型の手法と同様に、ステップ205~211まで続く。顧客のソフトウェアインストール環境がP4Pサービスプロバイダへのインターネットアクセスを備えている場合、顧客の請求書は更新される。インターネット接続ができない場合は、請求情報はローカルに割り当てられ、所定の間隔212でP4Pサービスプロバイダにアップロードされなければならない。クラウド方式の方法と同様に、請求書発行が行われる。
【0026】
リソース決定モデル
時間やデータを大量に消費する複雑な計算を伴うソフトウェアでは、特定のジョブの最小リソース要件に影響し且つ追加リソースを使用して達成しうるパフォーマンスの向上に影響する1つ又は複数のアルゴリズムが必ず採用される。ほとんどのアルゴリズムでは、継続的なパフォーマンス向上はリソースを追加することによって安上がりに達成することはできない(つまり、利益は減少する)。したがって、ソフトウェアの全体的なパフォーマンスと、そのコンポーネントの各アルゴリズムのパフォーマンスとを、決定し且つ定量化することは、リソースオプションの効果的な範囲をユーザーに提供するための鍵となる。ユーザーが特定のリソースセット上でソフトウェアを一貫して使用していると、達成可能なパフォーマンスに対する直感が必然的に養われる。ただし、パフォーマンスに影響を与える可能性のある様々なデータがある場合は、この直感はせいぜい定性的なものである。さらに、様々なリソースが利用可能になると、開発されたパフォーマンス推定用ヒューリスティックの精度と有効性が低下する。この問題を解決するには、ジョブ構成パラメーターを分析することと、ジョブを(任意の長さの時間内で)正常に完了するための最小リソース構成を推定することと、多様な種類のリソースに亘って達成可能なパフォーマンスを推定してリソースの数に対応可能なスケーラビリティを有すること、これらのための定量的なスキームを開発することが重要である。リソース推定スキームは、ソフトウェアと各リソースについては汎用性があるが、その実装は、ソフトウェアと分析される様々なリソースについて固有になる。
【0027】
リソース推定モデル(REM)の開発プロセスは、5つのステップに分かれている(図3参照)。1.ソフトウェアアプリケーションのパフォーマンスに影響を与えるコンポーネントの特定(ステップ300)
パフォーマンスに影響を与えるコンポーネントは、ジョブ構成パラメータ(入力、所望の出力、ランタイムオプションなど)からなる。ユーザーによる入力と所望の出力の選択は、ジョブの実行段階に様々な影響を与える。同様に、様々なランタイムオプションの幅広さ及び適用性は、ジョブの実行段階に影響を与える。例えば、アプリケーションの第2ステージでは、複数のGPUを利用できるが、他のステージは利用できない場合がある。
【0028】
2.潜在的なリソースの特定(ステップ301)
リソース推定モデルでは、CPUクロック速度、CPUコアの数、RAMの容量、GPUの数と種類、ネットワーク帯域幅などの様々なリソースパラメーターが重要である。P4P対応ソフトウェアは各リソースに問い合わせて、これらのパラメーターをリソース推定モデルへの入力として収集する。ソフトウェアが特定のハードウェア(GPUなど)を利用できない場合、そのハードウェアはリソース推定モデルへの入力には含まれない。
【0029】
3.各コンポーネントの実行時パフォーマンスデータ収集(ステップ302)
特定のソフトウェアのリソースモデルを特定の顧客へのサービスに使用できるようにするには、その前に、様々なジョブに関する初期データを収集しなければならない(図4参照)。P4Pサービスプロバイダは、様々な入力値で且つ様々なリソース上で、ソフトウェアを実行する。実行時パフォーマンスは、初期モデルの最適化に使用するためにデータベースに収集される(ステップ303を参照)。リソース推定モデルの展開後でも、ジョブが実行されると、リソース推定モデルをさらに最適化するためにデータが収集され続ける。
【0030】
4.実行時パフォーマンス予測のためのリソース推定モデルの最適化(ステップ303)
リソース推定モデルは、ジョブパラメーターと利用可能なリソースとを、総実行時間とピークメモリ要件にマッピングする非線形関数フィッティング演算である。この段階では、最適化アルゴリズムを使用して、(リソース推定モデルの可能性のある種類(多項式、ニューラルネットワーク等)のリストに基づいて)リソース推定モデルの適切な数学的形式と、リソース推定モデルの入力で動作する制御パラメーターの最適値とが決定される(図5を参照)。最適化プロセスは、制御パラメータを繰り返し調整することで、ステップ303で収集された入力対パフォーマンスデータと最適化中のリソース推定モデルによって予測されるデータとの間の誤差を低レベルに抑えることを達成する。閾値エラーに達すると、リソース推定モデルを、ソフトウェアとともにクラウド環境又はオンプレミス環境に導入できる。
【0031】
5.パフォーマンスを予測するためのリソース推定モデルの実行(ステップ304)
特定のジョブに対するユーザーの入力は、リソース推定モデルによって収集される。クラウド型で実行する場合、リソース推定モデルは、図6に示すように、各リソースの可能な順序を繰り返して、パフォーマンス出力の範囲を特定する。必要なメモリの合計が、(例えば、個々の計算ノードで又は個々のGPUで又は全体として)利用可能なメモリを超える場合、リソースオプションは拒絶される。各リソースセットの順序が実行されると、ソートされたパフォーマンスリスト(総実測時間のリスト)が作成され、価格決定モデルに渡される。オンプレミス型で実行する場合、ユーザーのリソースが入力としてモデルに渡され、パフォーマンスの予測が取得される。
【0032】
ステップ300~303は、特定のソフトウェアアプリケーション用のリソース推定モデルを開発するために実行される。初期のリソース推定モデルが完了すると、ソフトウェアとともに、クラウドプロバイダに又はオンプレミスソフトウェアに展開される。ステップ304は、リソース推定モデルを主として実行することである。利用可能なリソースがリソース推定モデルリソース推定モデルにおけるリソースを超える場合、リソース推定モデルは外挿して必要なリソースの推定値を提供する。例えば、新しい計算リソースがクラウドプロバイダのリソースプールに追加された場合、又は、オンプレミスソリューションを使用する顧客が新しいハードウェアを追加した場合、リソース推定モデルは現在入手可能な情報に基づいて推定する。実際のパフォーマンスデータが取得されると、ステップ302~304を介してリソース推定モデルが更新される。
【0033】
図4は、リソース推定モデルの初期化に使用される実行時パフォーマンスデータ収集プロセスのフローチャートである。パフォーマンスコンポーネント(ステップ401)のリストは特定の入力値セット(ステップ402)として組み込まれ、リソースオプション(ステップ403)のリストは特定のリソースセット(ステップ404)として組み込まれる。ジョブが実行され(ステップ405)、実行時パフォーマンスデータが抽出され(ステップ406)、入力パラメータとパフォーマンスデータが保存される(ステップ407)。このプロセスは、パフォーマンスコンポーネントのリストと、リソースオプションのリストと、初期リソース推定モデルの望ましい忠実度のリストの、P4Pサービスプロバイダによる分析に基づいて繰り返される。
【0034】
図5は、リソース推定モデル最適化プロセスのフローチャートである。候補となるリソース推定モデルタイプのリストが取得され(ステップ500)、初期リソース推定モデルタイプが選択され(ステップ501)、リソース推定モデル制御パラメータが初期化され(ステップ502)、データベース内の入力パラメータ―セットでリソース推定モデルが実行され(ステップ503)、リソース推定モデル予測誤差が評価される(ステップ504)。リソース推定モデルタイプは、入力データを出力パフォーマンス推定値(多項式、ニューラルネットワーク等)にマッピングするのに適した種類ならどのようなものでもよい。誤差が閾値より小さい場合、関数の最適化は完了する(ステップ505)。誤差が閾値以上であり、プロセスが停滞していない場合には、関数制御パラメータが変更され(ステップ506)、ステップ503~504が繰り返される。誤差が閾値以上であり、プロセスが停滞している場合には、代わりに候補となるリソース推定モデルタイプが選択され(ステップ507)、プロセスはステップ500又は502から繰り返される。
【0035】
図6は、リソース推定モデル実行処理のフローチャートである。利用可能なリソースのリストが取得され(ステップ601)、初期リソースセットが選択され(ステップ602)、ユーザー入力データが取得される(ステップ603)。次に、最適化されたリソース推定モデルが実行される(ステップ604)。リソース推定モデルの出力が有効である場合、パフォーマンスリストに追記され、ソートされる(ステップ605)。パフォーマンスリストが完成したら、価格決定を開始することができる(ステップ606)。関数出力が有効でないか又はパフォーマンスリストが不完全であるか又はその両方である場合、代わりとなるリソースセットが選択され(ステップ607)、プロセスはステップ601又は604から繰り返される。
【0036】
価格決定モデル
特定のジョブの価格決定は、プラットフォーム(クラウドとオンプレミスなど)と、リソース推定モデル実行処理によって提供されるパフォーマンス予測の、ソートされたリストとに基づいている。アマゾンウェブサービス(AWS)などの特定のクラウドプラットフォームでは、様々な固定リソースセットの価格が公開されている。例えば、AWSのc5d.24xlargeインスタンスタイプの料金は1時間あたり4.608ドルであり、96個のCPUユニット、192GBのRAM、25Gbイーサネット、及び構成変更可能で且つ別途計上される追加のストレージを備えた3.6TBのディスク容量を提供する。最低価格は、パフォーマンス予測が最も低いリソースセットから決定される。パフォーマンスリストを反復処理することにより、価格が割り当てられ、ユーザーに提示される。ユーザーは、完全なリストから選択することもでき、又は、パフォーマンス対価格リストから自動的に選択される大中小のパフォーマンスオプションから素早く選択することもできる。
【0037】
クラウド環境では、リソースの可用性が変動する可能性がある。P4Pサービスプロバイダは、選択されたパフォーマンスに基づいてクラウドプロバイダに問い合わせて、必要なリソースの可用性を確認する。リソースが利用可能な場合、ユーザーはジョブをスケジュールして実行できる。リソースが利用できない場合、価格モデルはパフォーマンス価格リストを反復処理して、利用可能な最も近いリソースセットを見つけ、ユーザーにオプションを提示する。
【0038】
オンプレミス環境では、価格モデルはユーザーのリソースと推定実行時間を、P4Pサービスプロバイダの裁量で決定された価格リストと比較する。
【0039】
実施例
実施例1 クラウド型リソースを使用した大規模気象パターンの予測
Weather Simulation, Inc. (WSI)は、気象学者や気候学者などの顧客にWeatherXシミュレーションソフトウェアを提供している。WeatherXシミュレーションの計算規模は相当なものになる可能性があり、多くの場合、限られたオンプレミス型リソースを使用して顧客が所望の気象パターンの予測を実行することはできない。これを解決するために、WSIは、クラウドベースでの実行に対応したWeatherXの新たなバージョンをリリースしており、これは、GPU加速に対応した数百の計算ノードにわたって拡張可能となっている。ユーザーエクスペリエンスをさらに合理化するために、このバージョンのWeatherXでは、モデルのセットアップを簡素化するWebベースのインターフェイスが提供される。
【0040】
P4Pライセンスモデルを有効にするために、WSIはWeatherXをAWSに移植し、様々な地理的スケール(都市、州、地域、国等)で典型的な気象パターン予測の一連の初期実行を行うことで、リソース推定モデル開発プロセス(図3)を実行した。リソース推定モデル最適化プロセスでは、最適なモデル形式としてニューラルネットワークが選択され、ニューラルネットワークの制御パラメーターはWeatherXで行われた初期実行から生成されたデータに基づいて調整された。ソフトウェアとリソース推定モデルをAWSに展開することで、WSIは顧客にP4Pオプションを提供する。
【0041】
地域の気象パターンを研究しているある大学は、WeatherXの新しいP4P価格モデルを使用して、都市レベル及び州レベルの気象のパラメトリック解析に対応することを決定した。研究グループの大学院生は、Webインターフェイスを使用してWeatherXシミュレーションを準備し、価格見積りを開始する。リソース推定モデルに基づいて、大中小のパフォーマンス及びそれに関連付けらえた価格のオプションがユーザーに提示される。図7は、都市レベルと州レベルの両方のシミュレーションについて、ユーザーに提示されるオプションを示している。なお、WeatherXの料金設定では、時間料金が設定されるAWSインスタンスの料金に一律20%の上乗せがあることが想定されている。研究グループは、都市レベルの予測については毎日更新する必要があるが、州レベルの予測については月毎に更新しかしない。したがって、都市レベルについては、ジョブの価格が73.40ドルの最大のパフォーマンスオプションを選択し、州レベルのシミュレーションについては、価格が2,170ドルの最低価格オプションを選択する。
【0042】
いずれのシミュレーションでも、WeatherXのP4PライセンスモジュールはAWSリソースの可用性を問合せて、必要なリソースがすべて利用可能であることを確認する。ユーザーはジョブの実行を選択し、その後、各ジョブの完了時に通知を受け取る。ジョブの費用はWSIの研究グループの口座に割り当てられ、WSIは、月毎に大学に請求書を送る。
【0043】
実施例2- 自動車の数値流体力学
CFD Groupは、自動車業界向けに信頼性の高い数値流体力学(CFD)ソフトウェアパッケージである高速CFDを提供している。自動車業界は、燃費を向上させる効率的な形状の車両を設計するのに、正確なCFDシミュレーションに頼るところが大きい。このようなシミュレーションは計算の難易度が高く、一般的なクラスタ構成では数日から数週間かかることがよくある。設計作業を迅速に繰り返すことに対応したソフトウェアやライセンス方式へのアクセスがないことで、自動車メーカーは苦しめられている。P4Pライセンスモデル、独自のスケーラブルなクラウド型環境、GPU加速ソルバーを組み込むことで、高速CFDは、CFDグループの顧客が抱えるこれらの問題に対処するのに非常に適合する。
【0044】
そのような顧客の1つが、新興電気自動車会社であるElectraである。Electraは、最新の車両を設計するために高速CFDを使用しており、車両の形状を最適化するための一連のパラメトリック設計研究を開始している。まず、Electra設計エンジニアはCFD Groupの高速CFD用Webポータルにログインする。シミュレーションモデルは、クライアント側CADと、高速CFDのモデル前処理コンポーネントとを、使用して準備される。この前処理段階では、設計エンジニアは、最終的に100回のCFDシミュレーションで構成されるパラメトリック解析で検討するいくつかの設計パラメータを特定し、フラグを立てる。パラメトリック設定を含むシミュレーションファイルは、高速CFDクラウドポータルにアップロードされる。高速CFDは、CFD Groupによって確立されたリソース推定モデルを使用して、Electraのシミュレーションのパラメーターセットの1つを実行するために最低限必要なリソースを決定する。リソース推定モデルは、他のいくつかの候補となる構成オプションをランク付けする。高速CFDには、分散リソースの共通セットで実行されるパラメトリック研究をさらに高速化できる機能があり、このオプションでは、CFDグループのクラウド環境で可能な限り最高のパフォーマンスを提供される。リソース推定モデルはこれらの構成オプションを価格モデルに渡し、価格モデルは、図8に示す価格とパフォーマンスの結果を設計エンジニアに提示する。
【0045】
全体スケジュールが重要でありプロジェクト予算が柔軟であることから、設計エンジニアは最大のパフォーマンスオプションを選択し、シミュレーションを開始する。ジョブが完了すると、エンジニアはデータを取得して、高速CFDのクライアント側コンポーネントで分析する。Electraの請求書が更新され、請求される。
【0046】
実施例3- 人工知能モデルのトレーニング
DataMineは、MineAI人工知能(AI)及び機械学習(ML)トレーニングサービスを開発した団体である。DataMineは、データ分析と機械学習モデルの開発を必要とする大規模なデータセット(構造化の有無を問わず)を有する企業にサービスを提供する。MineAIは、データに依存しないものであり、顧客が望む成果に基づいて最適なMLモデルが自動的に選択され、トレーニングが提供される。多くの顧客のデータセットは機密性が高いため、DataMineはクラウド型とオンプレミス型の両方のバージョンでMineAIを提供しており、顧客のMLモデル開発スケジュールに対応するためにP4Pライセンスモデルを採用している。
【0047】
4Sightは、様々な種類のがんを対象とした、AIベースのがん診断モデルを開発している医療系企業である。これらのがん診断モデルでは、広範囲の画像処理やその他の診断手順に亘って検出を行える可能性がる。4Sightは、複数のパートナーから数テラバイトのデータを収集しており、オンプレミス型の大規模なクラスタ構成用コンピュータを備えている。
【0048】
新しいデータセットからMLモデルを開発するために、4Sightのデータアナリストは、ローカルのクラスタ構成で実行するMineAIソフトウェアを準備する。図2のプロセスに従って、MineAIは、P4Pトレーニングセットの実行に利用可能なリソースの種類を検証する。現在、それぞれ1つのGPUを備えた32の計算ノードが利用可能である。MineAI内のリソース推定モデルは、ニューラルネットワークベースのアルゴリズムを使用しており、様々なコンピュータリソース構成でのパフォーマンスを推定する。MineAIは、最小リソース要件は1つのノードのみであり、GPUを必要としないと判定する。トレーニング作業には120時間かかり、費用は120ドルになる。リソース推定モデルはさらに、GPUを備えた32ノードすべてを使用すると最大のパフォーマンスが達成できると判定する。この最大パフォーマンスの構成は実行に1時間しかかからず、費用は$5000である。ユーザーには、様々なパフォーマンスと価格のオプションが表示され、これは、クラスタ構成用資源全てを様々な割合で使用して達成することができるパフォーマンスを示している。これらの同じリソースをめぐって別の優先度の高いプロジェクトが競合しているため、データアナリストは低価格の構成を選択する。ジョブが実行され、4SightのアカウントがDataMineについて更新され、DataMineに請求が行われる。
【0049】
図9は、顧客11とP4Pサービスプロバイダ15が通信してビジネスを行うことができる例示的な通信システム10を示す。顧客11は、通信ネットワーク13(インターネット等)を介して通信可能なコンピューティングシステム12を有する。P4Pサービスプロバイダ15は、通信ネットワーク13を介して通信可能なコンピューティングシステム14を有する。したがって、顧客11とP4Pサービスプロバイダ15は、例えばインターネットを介して相互に通信できる。
【0050】
図10は、開示されたシステム及び方法に従って使用可能な例示的なコンピューティングシステム20を示す。例えば、コンピューティングデバイス20は、必要なすべての計算を実行して本明細書に開示されるアルゴリズムを実装するために、且つ、本発明の方法及びシステムのステップを実行するために使用することができる。コンピューティングデバイス20は、メモリ22に格納された命令を実行するプロセッサ21を少なくとも1つ備える。命令は、例えば、上で論じた1つ又は複数のコンポーネントによって実行されるものとして説明された機能を実装するための命令、又は、上述した1つ又は複数の方法を実装するための命令であってもよい。プロセッサ21は、システムバス23を介してメモリ22にアクセスすることができる。実行可能な命令を格納することに加えて、メモリ22は、演算パラメータや、必要なアルゴリズムソフトウェアなども格納することができる。
【0051】
コンピューティングデバイス20はさらに、プロセッサ21がシステムバス23を介してアクセスすることができるデータストア24を備える。データストア24は、実行可能な命令や、演算パラメータや、必要な演算パラメータなどを有することができる。コンピューティングデバイス20は、インターネットシステムなどの外部デバイスがコンピューティングデバイス20と通信できるようにする入力インターフェース25も備える。入力インターフェース25は、外部コンピュータ装置からや、ユーザーなどから、命令を受信するためにも使用可能である。コンピューティングデバイス20は、コンピューティングデバイス20をインターネットシステムなどの1つ又は複数の外部デバイスと繋ぐ出力インターフェース26も備える。コンピューティングデバイス20は、出力インターフェース26を介して、テキスト、画像などを表示することもできる。
【0052】
さらに、単一のシステムとして示されているが、コンピューティングデバイス20は分散システムであってもよいことを理解されたい。したがって、例えば、いくつかのデバイスがネットワーク接続を介して通信し、コンピューティングデバイス20によって実行されるものとして記載されたタスクをまとめて実行できる。
【0053】
前述の説明は、本開示を例示し説明したものである。さらに、本開示は、好ましい実施形態のみを示し且つ説明している。しかしながら、好ましい実施形態を、他の様々な組み合わせや、変更や、環境で構成することができる。また、本明細書に記載されているように、上記の教示及び/又は関連技術の技術又は知識に応じて、本発明の概念の範囲内で変更又は修正できることを理解されたい。本明細書において上述した実施形態は、出願人によって知られている最良の態様を説明することを意図しており、且つ、他の当業者が、そのような実施形態又は他の実施形態において、特定の用途又はその用途によって必要とされる様々な修正を加えて本開示を利用できるようにすることをさらに意図している。したがって、この説明は、本発明をここに開示された形態に限定することを意図したものではない。また、添付の特許請求の範囲は代替となる実施形態を含むように解釈されることが意図されている。さらに、本発明の本質を説明するために上で説明し図示した部品の詳細、材料、配置における様々な変更は、以下の特許請求の範囲に記載されている通りの原理及び範囲から逸脱することなく、当業者に実施され得ることが理解されるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10