(57)【特許請求の範囲】
【請求項１】
分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法であって、
−  前記データマイニング・タスクが基づいて行われるデータ・セット、または、前記データマイニング・タスクを実行するための計算リソースを推定することに関連する前記データ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信することと、
−  前記データマイニング・タスクに対する１つまたは複数の制御値を受信することと、
−  前記データ・セットに対して行われることになる前記データマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信することと、
−  前記受信されたデータ・セットまたは前記受信されたデータ記述子、前記１つまたは複数の制御値、および前記１つまたは複数のタスク・パラメータに基づいて、前記分散コンピューティング・システム上で前記データマイニング・タスクを行うための前記計算リソースを推定することと
を含み、
前記タスク・パラメータは、前記データマイニング・タスクを回帰タスク、分類タスク、またはクラスタリング・タスクとして分類する、アルゴリズム分類子を含み、前記アルゴリズム分類子は、前記データに対して行われることになるデータマイニング・タスクのタイプを定義することと、
前記受信することが、前記回データマイニング・タスクが帰タスクまたは分類タスクの場合に、損失関数タイプを受信することを含む、コンピュータ実装方法。
【請求項２】
−  前記データマイニング・タスクを行うために必要とされる前記推定された計算リソースに基づいて、前記データマイニング・タスクのコストを推定すること
をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記方法は、コスト記述子を導出することによって前記コストを推定し、前記コスト記述子は、前記データマイニング・タスクを計算するために必要とされる反復の数に関する情報と、各反復当たりの動作の複雑さに関する情報とを少なくとも含む、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記方法は、
− １つまたは複数の制御変数の値の範囲に基づいてコスト・データのセットを提供することをさらに含み、前記コスト・データのセットは、前記１つまたは複数の制御変数の特定の値に関連付けられている複数のコスト値を含む、請求項２または３に記載のコンピュータ実装方法。
【請求項５】
前記１つまたは複数の制御値は、計算リソースを推定する所望の精度、または前記計算リソースを推定する計算するための持続期間、あるいはその両方である、請求項１ないし４のいずれか一項に記載のコンピュータ実装方法。
【請求項６】
前記受信することが、正則化関数を受信することをさらに含む、請求項１ないし５のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記方法は、前記タスク・パラメータがクラスタリング・タスクの場合、クラスタリングまたは類似関数を受信することをさらに含み、前記クラスタリングまたは類似関数は、前記データ・セットに含まれているデータの複数のデータ・クラスタへの分割を評価する、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記方法は、前記データ・セットに含まれているデータに関連付けられた１つまたは複数のデータ・プロパティを受信することをさらに含み、前記データ・プロパティは、前記データマイニング・タスクを実行する計算量に影響する前記データの特性を定義する、請求項１ないし７のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
前記データ・セットに対してデータ記述子抽出アルゴリズムを適用することによって、前記データ・セットから１つまたは複数のデータ記述子を抽出することをさらに提供する、請求項１ないし８のいずれか一項に記載のコンピュータ実装方法。
【請求項１０】
前記データマイニング・タスクの計算基準を評価することによって、前記受信されたデータ・セットもしくは前記受信されたデータ記述子またはその両方、前記１つまたは複数の制御値、ならびに前記１つまたは複数のタスク・パラメータに基づいて、前記データマイニング・タスクの計算量を推定するための複数のアルゴリズムのうちからアルゴリズムを選択することをさらに提供する、請求項１ないし９のいずれか一項に記載のコンピュータ実装方法。
【請求項１１】
−  前記データマイニング・タスクを行うために必要とされる前記計算リソースに関する情報、および１つまたは複数の制御値を、展開スケジューラに提供することであって、前記展開スケジューラは、データマイニング・タスクを行うように適合されている複数の分散コンピューティング・システムに関する情報を含む、前記提供することと、
−  前記計算リソース情報および前記１つまたは複数の制御値に基づいて、１つまたは複数の分散コンピューティング・システムを選択することと、
−  特定の分散コンピューティング・システム上で前記データマイニング・タスクを展開するコストに関する情報を返すことと
をさらに含む、請求項１ないし１０のいずれか一項に記載のコンピュータ実装方法。
【請求項１２】
特定の分散コンピューティング・システム上で前記データマイニング・タスクを処理するための展開戦略に関する情報を返すことをさらに含む、請求項１１に記載のコンピュータ実装方法。
【請求項１３】
（ｉ）データマイニング・タスクについての以前に行われたコスト推定に関する情報と、前記データマイニング・タスクを展開しているときに発生した実際のコストとを含むフィードバック情報を受信することと、（ｉｉ）前記フィードバック情報を使用することによって、現在のデータマイニング・タスクのコスト推定を精緻化することと
をさらに含む、請求項２ないし１２のいずれか一項に記載のコンピュータ実装方法。
【請求項１４】
−  前記データマイニング・タスクを処理するための複数のプロセス・フローを算出することと、
−  各プロセス・フローについて、前記データマイニング・タスクを処理するための計算量を推定することと、
−  各プロセス・フローについて、分散コンピューティング・システム上で前記データマイニング・タスクを処理するためのコストを推定することと、
−  前記複数のプロセス・フローのコストをユーザに提示すること、または、前記データマイニング・タスクを処理するためのコストが最も低いプロセス・フローを選ぶことと
をさらに含む、請求項１ないし１３のいずれか一項に記載のコンピュータ実装方法。
【請求項１５】
−  行われることになる前記データマイニング・タスクの高水準タスク記述を受信することと、
−  タスク定義アプリケーションを使用することによって、前記高水準タスク記述に基づいて前記データマイニング・タスクのパラメータを導出することと、
−  前記タスク定義アプリケーションにより提供された前記パラメータに基づいて、前記データマイニング・タスクを行うための前記計算リソースを推定することと
をさらに含む、請求項１ないし１４のいずれか一項に記載のコンピュータ実装方法。
【請求項１６】
前記タスク定義アプリケーションは、１つもしくは複数の適切なデータマイニング・アルゴリズム、１つもしくは複数のデータ記述子、または１つもしくは複数のコスト記述子、あるいはそれらの組合せを示すパラメータを導出する、請求項１５に記載のコンピュータ実装方法。
【請求項１７】
請求項１〜１６の何れか１項に記載の方法の各ステップを、分散コンピューティング・システム上で実行させる、コンピュータ・プログラム
【請求項１８】
請求項１７に記載の前記コンピュータ・プログラムを、コンピュータ可読記録媒体に記録した、コンピュータ可読記録媒体。
【請求項１９】
請求項１〜１６の何れか１項に記載の方法の各ステップを、分散コンピューティング・システムのハードウェア手段として構成した、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データマイニング・タスクを実行するための計算リソースを推定するための方法に関し、より詳細には、分散コンピューティング・システム（クラウド環境）上でのデータマイニング・タスクのコストを推定するための方法に関する。
【背景技術】
【０００２】
複雑な動作の予想コストに関する情報は、特に、顧客が実際のリソース消費に基づいて動的に課金される場合、サービス提供としてのソフトウェアにおいて極めて重要である。これは、一般に大量のＣＰＵ、ディスク／ＩＯおよびメイン・メモリを消費するデータマイニング／ビッグ・データ分析などのタスクに特に当てはまる。大きなデータ・ベースに対する（単純な）ＳＱＬクエリのために必要とされるリソースを実行プランを用いて推定することに関しては既に多くの研究があるが、自明でない統計的タスクに関する同様の研究は、以下の３つの理由により依然として存在しない。
−  ほとんどの統計的タスクは、非自明的な反復アルゴリズムを使用する。
−  アルゴリズムのリソース消費は、データの統計的特性およびそれらの次元に依存する。
−  タスクの結果は、通常固定されないが、リソース消費に影響する様々なレベルの品質または精度で達成され得る。
【０００３】
特にクラウド・コンピューティングにおいて、データマイニング・タスクの価格設定が強く望まれている。クラウド・サービス・プロバイダは、コストの観点（たとえば、ＣＰＵ使用量、メモリ使用量、ディスク使用量、Ｉ／Ｏまたはネットワーク使用量の観点）から、行われる計算タスクを価格設定したい一方、クラウド・サービスのユーザは、データマイニング結果の観点、典型的には精度の観点で価格を得ることを望み、提供されたアルゴリズムを活用することを望む。これは、「サービスとしてのデータマイニング（Data Mining as a Service）」として見ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、独立請求項に規定されているように、データマイニング・タスクを実行するための計算リソースを推定するための改善されたコンピュータ実装方法、コンピュータ・プログラム、コンピュータ・プログラム製品、および対応するシステムを提供することである。本発明の実施形態は、従属請求項に与えられる。本発明の実施形態は、相互に排他的でない場合は互いに自由に組み合わされてよい。
【課題を解決するための手段】
【０００５】
一態様では、分散コンピューティング・システム、たとえば、クラウド・コンピューティング環境においてデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法が提供される。この方法は、
−  データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信することと、
−  上記データマイニング・タスクに対する１つまたは複数の制御値を受信することと、
−  上記データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信することと、
−  受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することと
を含む。
【０００６】
実際のワークフローが上記の一連のステップに従う必要はないことは言及するに値する。実際のワークフローでは、最初にタスク・パラメータ（たとえば、損失関数、正則化）が入力され、次にデータ・セットまたはデータ記述子（たとえば、特徴当たりの観測の数、特徴の数、観測−特徴行列のスペクトル）が入力され、最後に制御値（たとえば、所望の精度および完了の最大壁時計時間）が入力され、その後に、必要な計算リソースおよびそれらの価格を推定することを必要とすることがある。
【０００７】
有利には、データマイニング・タスクの複雑さは、データの上記統計パラメータ、および上記１つまたは複数の制御値によって定義され得る特定の品質レベルにより束縛され得る。これにより、顧客にとって、データマイニング・タスクが非常に長く実行され、非常に高いコストが発生し、場合によってはプロセスで得られる利益を相殺するというリスクが取り除かれる。サービスとしてのデータマイニングのプロバイダにとっては、それにより、上記から実行時間が束縛されるのでタスクをスケジュールすることが容易になり、提供されるアルゴリズムが失敗に対して耐性があり得るので信頼性を向上することが容易になる。さらに、タスクは、壁時計時間の観点でのそれらの完了の限界が指定されると、タスクの実行中に休止することが容易になり得る（「展性（malleable）」）。言い換えれば、提示される方法は、特定のデータ・セットに対して行われる所与のデータマイニング・タスクと、クラウド環境でそのタスクを行うために必要とされる計算量との間のギャップを橋渡しする。それにより、クラウド環境内でサービスとしてのデータマイニング・タスクを提供するための基盤が与えられる。
【０００８】
実施形態によれば、方法は、データマイニング・タスクを行うために必要とされる推定された計算リソースに基づいて、データマイニング・タスクのコストを推定することをさらに含む。データマイニング・タスクを行うためのコストは、実行される計算タスクの観点、またはデータマイニング・タスクの実行の（スケジュールされた）時間における計算リソースの使用可能性の観点、あるいはその両方で定義され得る。したがって、行われることになる計算タスクに関する情報を導出した後、各計算タスクに価格を関連付け、複数の価格を合計することによって、コスト、すなわちデータマイニング・タスクを実行するための価格を推定することができる。
【０００９】
実施形態によれば、コスト記述子を導出することによってコストが推定され、コスト記述子は、データマイニング・タスクを計算するために必要とされる反復の数に関する情報と、各反復当たりの動作の複雑さに関する情報とを少なくとも含む。反復の数は、すべての座標にわたるデータ・パス（data pass）の数であり得る。反復の数は、データマイニング・タスクを実行するために利用されるコンピューティング・エンティティの数、および所望の精度に強く依存し得る。各反復当たりの動作の複雑さに関する情報は、単一データ・パス中に行われる算術演算の数であってもよく、これも、利用されるコンピューティング・エンティティの数の関数であり得る。加えて、コスト記述子は、データ・パス当たりの行われるブロードキャスト動作の数、および各ブロードキャスト動作で送信されるバイト／ビットの数に関する情報を含んでもよい。最後に、コスト記述子は、単一データ・パス中に行われるポイントツーポイント通信動作の数、および各通信動作で送信されるバイト／ビットの数に関する情報を含んでもよい。特定のデータマイニング・タスクを複数のブロック（ＣＰＵコスト、メモリ・コスト、Ｉ／Ｏコスト、ネットワーク・コストなど）に区分化することによって、計算の複雑さを精密に決定することができ、それにより、計算量の推定、またはデータマイニング・タスクのコストの推定が改善される。
【００１０】
実施形態によれば、１つまたは複数の制御値は、計算リソース推定を計算するための所望の精度または持続期間あるいはその両方である。制御値は、データマイニング・タスクの計算量に強く影響し得る。たとえば、推定精度は、その精度を得るためにデータ・セットに対して行われる反復の数とリンクされ得る。計算持続期間は、利用されるコンピューティング・エンティティの数に影響し得る。制御値の別の例は、データマイニング・タスクが開始または完了されるべき時点であり得る。データ・センタの近くで夜間においてデータ・センタの負荷は日中よりも低くなることがあるため、開始または完了時間は、タスク・コストに対して重大な影響を有する可能性がある。したがって、特定の制御値を考慮することが、推定結果に対して重大な影響を有する可能性がある。
【００１１】
実施形態によれば、タスク・パラメータは、アルゴリズム分類子を含み、アルゴリズム分類子は、データに対して行われることになるデータマイニング・タスクのタイプを定義する。言い換えれば、アルゴリズム分類子は、データの要素としてデータマイニング・タスクの分類を記憶することを可能にする。たとえば、分類は、データマイニング・タスクを回帰タスク、分類タスク、またはクラスタリング・タスクとするステートメントからなる場合がある。
【００１２】
実施形態によれば、データマイニング・タスクが回帰タスクまたは分類タスクとして分類される場合に損失関数タイプ（loss function type）が受信される。その損失関数は、与えられたデータ・セットの予測データに対する類似度の尺度とされ得る。データマイニング・プロセス中の目標は、推定誤差を低減するために、または推定精度を改善するために、損失関数を最小化することであり得る。たとえば、損失関数タイプは、損失関数が、二乗損失関数、対数損失関数、または二乗ヒンジ損失関数であることを示すことができる。
【００１３】
実施形態によれば、正則化関数が受信され得る。正則化関数は、不良設定問題を解決し、過剰適合を防止し、またはドメイン知識を組み込むために、推定プロセスのための追加の情報を提供することができる。たとえば、スパース・データ・セットを解釈するためにＬ０ノルムまたはＬ１ノルムが使用され得る。それにより、推定精度は、正則化関数を用いて特定のデータ値にペナルティを課すことによってさらに向上される。
【００１４】
実施形態によれば、クラスタリング・タスクの場合、クラスタリングまたは類似関数が受信され、クラスタリング関数は、複数のデータ・クラスタへのデータの分割のコストを提供する、または、指定された要素のサブセットのリスト内の要素のサブセットごとに、同じクラスタ内に要素のサブセットを含むコストを提供する。たとえば、クラスタリングまたは類似関数は、ｋ平均法関数または正規化カット関数であってよい。クラスタリングまたは類似関数に基づいて、データ値のセットをグループ化して、（クラスタと呼ばれる）同じグループ内のデータ値が、他のグループ（クラスタ）内のデータ値よりも互いに類似するようにできる。
【００１５】
実施形態によれば、データ・セットに関連付けられた１つまたは複数のデータ記述子が受信され、データ・プロパティは、データマイニング・タスクを実行する計算量に影響するデータの特性を定義する。データ記述子は、たとえば、
−  データ・セットの特徴の数または次元、
−  データ・セットにおける記述されたアイテムの数、
−  （ブロック構造がある場合に）ブロックの数、
−  損失関数の部分的分離可能性の程度（たとえば、対応するハイパーグラフにおけるｋカット）、
−  最大固有値の二乗、すなわちＬ＝σ２ｍａｘ（Ａ）、
−  （行われることになる反復の数において重要な）条件数σｍａｘ（Ａ）／σｍｉｎ（Ａ）、
−  アイテム−特徴行列のスペクトルに関する様々な他のプロパティ、
−  行列の任意の列またはブロックにおける非ゼロ値の最大数
を含み得る。
【００１６】
実施形態によれば、１つまたは複数のデータ記述子は、データ・セットに対してデータ記述子抽出アルゴリズムを適用することによって、データ・セットから１つまたは複数のデータ記述子が抽出され得る。データ記述子抽出アルゴリズムは、データ・セットに対するデータ記述子を推定するためのルーチンを含んでよい。代替的に、データ記述子は、データマイニング・タスクの計算量を推定するためのデータ・セット全体の代わりに提供されてもよい。データ記述子に基づいて、計算量情報を決定するための費用を低減することが可能であり、または、少なくとも限界が提供され、それに基づいて計算量推定の複雑さが低減されることがある。
【００１７】
実施形態によれば、データマイニング・タスクの計算基準を評価することによって、受信されたデータ・セットもしくは受信されたデータ記述子またはその両方、１つまたは複数の制御値、ならびに１つまたは複数のタスク・パラメータに基づいて、データマイニング・タスクの計算量を推定するための複数のアルゴリズムのうちからアルゴリズムが選択される。言い換えれば、与えられた入力パラメータに基づいて、現在のデータマイニング・タスクについて、複数のアルゴリズムのうちから適切なアルゴリズムが選択され得る。選択を行うために、与えられた入力パラメータに基づいて、特定のデータマイニング・タスクを解決するための最も適切なアルゴリズムを選ぶように適合されたロジックが提供され得る。それにより、提示された方法のユーザ・フレンドリ性を向上する自動アルゴリズム選択が得られる。
【００１８】
実施形態によれば、この方法は、
−  データマイニング・タスクを行うために必要とされる計算リソースに関する情報、および１つまたは複数の制御値を、展開スケジューラに提供することであって、展開スケジューラは、データマイニング・タスクを行うように適合されている複数の分散コンピューティング・システムに関する情報を含む、提供することと、
−  計算リソース情報および１つまたは複数の制御値に基づいて、１つまたは複数の分散コンピューティング・システムを選択することと、
−  特定の分散コンピューティング・システム上でデータマイニング・タスクを展開するコストに関する情報を返すことと
をさらに含む。
【００１９】
言い換えれば、展開スケジューラは、（入力パラメータ、制御値などによって定義された）所与のデータマイニング・タスクを行うための適切な展開戦略を自動的に調査する。たとえば、最も低いコストでのデータマイニング・タスクの処理を確保する特定の分散コンピューティング・システム（クラウド環境とも呼ばれる）が選ばれてよい。他の実施形態によれば、データマイニング・タスクの最も速い処理を確保する分散コンピューティング・システムが選ばれてよい。さらに別の実施形態によれば、特定のセキュリティ・レベルでのデータマイニング・タスクの処理を確保する分散コンピューティング・システムが選ばれてよい。選ばれた展開戦略（データマイニング・タスクを行うために選ばれた分散コンピューティング・システム）に関して各ユーザに通知するために、たとえばグラフィカル・ユーザ・インターフェース上に、各情報が出力され得る。
【００２０】
実施形態によれば、この方法は、
−  行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、
−  タスク定義アプリケーションを使用することによって、高水準タスク記述に基づいてデータマイニング・タスクのパラメータを導出することと、
−  タスク定義アプリケーションにより提供されたパラメータに基づいて、データマイニング・タスクを行うための計算リソースを推定することと
をさらに含む。
【００２１】
この方法のユーザビリティを改善するために、ユーザ・フレンドリな構文で、たとえばユーザの専門知識のドメインの言葉でデータマイニング・タスクの高水準記述を受信するように適合されたインターフェースが提供され得る。高水準記述に基づいて、データマイニング・タスクを精緻化することができ、たとえば、データ記述子またはコスト記述子あるいはその両方を導出するために、データ・セットが前処理される、または潜在的データマイニング・アルゴリズムが選択される、あるいはその両方が行われる。この精緻化プロセスの情報は、計算リソース／計算コストを推定するための入力として使用される。これらの特徴は、ユーザが、データマイニング・プロセスの詳細について何ら気にする必要なく、行われることになるデータマイニング・タスクに関する基本的情報を提供するだけでよいという有益な効果を有し、それにより、ユーザ・フレンドリ性が大きく向上する。
【００２２】
さらなる態様によれば、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、具現化されたプログラム命令を有するコンピュータ可読記憶媒体を含み、プログラム命令は、方法をプロセッサに実行させるためにプロセッサによって実行可能であり、この方法は、
−  データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信することと、
−  データマイニング・タスクに対する１つまたは複数の制御値を受信することと、
−  データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信することと、
−  受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することと
を含む。
【００２３】
さらなる態様によれば、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法が提供され、この方法は、
−  行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、
−  データマイニング・タスクに対する１つまたは複数の制御値を受信することと、
−  タスク定義アプリケーションを実行することであって、タスク定義アプリケーションは、行われることになるデータマイニング・タスクの高水準タスク記述に基づいて、データマイニング・タスクに対するパラメータを提供する、実行することと、
−  パラメータおよび１つまたは複数の制御値に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することと
を含む。
【００２４】
実施形態によれば、この方法は、データマイニング・タスクを行うために必要とされる推定された計算リソースに基づいて、データマイニング・タスクのコストを推定することをさらに含む。
【００２５】
実施形態によれば、この方法は、コスト記述子を導出することによってコストを推定し、コスト記述子は、データマイニング・タスクを計算するために必要とされる反復の数に関する情報と、各反復当たりの動作の複雑さに関する情報とを少なくとも含む。
【００２６】
さらなる態様によれば、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は具現化されたプログラム命令を有するコンピュータ可読記憶媒体を含み、プログラム命令は、方法をプロセッサに実行させるためにプロセッサによって実行可能であり、この方法は、
−  行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、
−  データマイニング・タスクに対する１つまたは複数の制御値を受信することと、
−  タスク定義アプリケーションを実行することであって、タスク定義アプリケーションは、行われることになるデータマイニング・タスクの高水準タスク記述に基づいて、データマイニング・タスクに対するパラメータを提供する、実行することと、
−  パラメータおよび１つまたは複数の制御値に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することと
を含む。
【００２７】
さらなる態様によれば、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのシステムが提供される。システムは、
−  データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信するためのインターフェースと、
−  データマイニング・タスクに対する１つまたは複数の制御値を受信するためのインターフェースと、
−  データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信するためのインターフェースと、
−  受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定するように適合されたデータ処理モジュールと
を備える。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態によるクラウド・コンピューティング・ノードを示す図。
【図２】本発明の実施形態によるクラウド・コンピューティング環境を示す図。
【図３】本発明の実施形態による抽象化モデル層を示す図。
【図４】少なくとも部分的に第１の実施形態のシステムによって行われる第１の実施形態の方法を示すフローチャート。
【図５】第１の実施形態のシステムの機械論理（たとえばソフトウェア）部分のブロック図。
【図６】本発明の第２の実施形態によるデータマイニング環境を示す図。
【図７】本発明の第３の実施形態によるデータマイニング環境を示す図。
【図８】本発明の第４の実施形態によるデータマイニング環境を示す図。
【図９】本発明の第５の実施形態によるデータマイニング環境を示す図。
【発明を実施するための形態】
【００２９】
データマイニングのコストが推定される。ここでは、データマイニング・サービスが分散コンピューティング・システム環境を介して提供される、データマイニングのコストが推定される。指定されたプロパティを有する入力データ・セットに対する特定のデータマイニング・タスクについて、システム要件が推定される。システム要件を推定することは、部分的学習ツールを、入力データ・セットからのサンプル・データに対して作用するように適用することを含む。
【００３０】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実施させるためのコンピュータ可読プログラム命令を有する（１つまたは複数の）コンピュータ可読記憶媒体を含むことができる。
【００３１】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、以下に限定されないが、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の適切な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピ・ディスク、命令が記録されたパンチ・カードもしくは溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を伝播する電磁波（たとえば、光ファイバ・ケーブルを通過する光パルス）、または配線を伝送される電気信号などの一時的信号自体であると解釈されるべきではない。
【００３２】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされる、またはネットワーク、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはそれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされることが可能である。そのネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを含み得る。各コンピュータ／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受け取り、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶されるように転送する。
【００３３】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存の命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、ＳｍａｌｌｔａｌｋもしくはＣ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似したプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、全部がユーザのコンピュータ上で実行されること、一部がユーザのコンピュータ上で実行されること、スタンドアロンのソフトウェア・パッケージとして実行されること、一部がユーザのコンピュータ上で実行され一部が遠隔コンピュータ上で実行されること、または全部が遠隔コンピュータもしくはサーバ上で実行されることが可能である。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、あるいは接続は（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行われてもよい。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００３４】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照して説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図あるいはその両方のブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることは理解されよう。
【００３５】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実装するための手段をもたらすように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはそれらの組合せに特定の様態で機能するように指示することができるコンピュータ可読記憶媒体に記憶されるものであってもよい。
【００３６】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック図において指定される機能／動作を実装するように、コンピュータ実装プロセスを作り出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００３７】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、ならびにコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替実装形態では、ブロックに記載される機能は、図に記載される順序を外れて生じてもよい。たとえば、連続して示される２つのブロックが、実際には実質的に並列に実行されてもよく、またはブロックは、関与する機能に応じて逆の順序で実行されることがあってもよい。また、ブロック図またはフローチャートあるいはその両方の各ブロック、ならびにブロック図またはフローチャートあるいはその両方におけるブロックの組合せは、指定された機能もしくは指定された動作を実施する、または専用ハードウェア命令とコンピュータ命令の組合せを実施する専用のハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【００３８】
本開示はクラウド・コンピューティングの詳細な説明を含むが、本明細書に記載される教示の実施はクラウド・コンピューティング環境に限定されないことは予め理解されよう。むしろ、本発明の実施形態は、現在知られるまたは後で開発される他の任意のタイプのコンピューティング環境と共に実装されることが可能である。
【００３９】
クラウド・コンピューティングは、最小限の管理作業またはサービスのプロバイダとの最小限の対話のみで迅速にプロビジョニングされリリースされることが可能である、構成可能なコンピューティング・リソース（たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有プールに対する、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも５つの特性、少なくとも３つのサービス・モデル、および少なくとも４つの展開モデルを含むことができる。
【００４０】
特性は以下のとおりである。
【００４１】
オンデマンドのセルフサービス：クラウド消費者が、サービスのプロバイダとの人間同士の対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
【００４２】
広範なネットワーク・アクセス：機能は、ネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム（たとえば、モバイル電話、ラップトップ、およびＰＤＡ）による使用を促進する標準的機構を介してアクセスされる。
【００４３】
リソース・プーリング：プロバイダのコンピューティング・リソースが、マルチテナント・モデルを使用して複数の消費者にサービスするようにプールされ、異なる物理リソースおよび仮想リソースの割当ておよび再割当てが要求に応じて動的に行われる。消費者が、提供されるリソースの厳密な位置について一般に制御または知識を有しないが、抽象性のより高いレベル（たとえば、国、州、またはデータセンタ）で位置を指定することが可能であり得るという点で位置独立といえる。
【００４４】
迅速な弾力性：機能は、急速にスケール・アウトし、また迅速にリリースされて急速にスケール・インするように、迅速かつ弾力的に、事例によっては自動的に、プロビジョニングされることが可能である。消費者にとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
【００４５】
測定されるサービス：クラウド・システムが、サービスのタイプ（たとえば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント）に適切な抽象化レベルでの計量能力を活用することによってリソース使用を自動的に制御および最適化する。リソース使用は、監視、制御、および報告されるので、利用されるサービスのプロバイダと消費者の両方に透明性をもたらすことができる。
【００４６】
サービス・モデルは、以下のとおりである。
【００４７】
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されているプロバイダのアプリケーションを使用することである。それらのアプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース（たとえば、ウェブ・ベースの電子メール）を介して、様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ特有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力も含めて、基礎をなすクラウド・インフラストラクチャを管理または制御しない。
【００４８】
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびプログラミング・ツールを使用して作成された、消費者が作成または取得したアプリケーションを、クラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーション、および場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
【００４９】
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：消費者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、そこで、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開して実行することができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によっては選択されたネットワーキング構成要素（たとえば、ホスト・ファイアウォール）に対する限定された制御を有する。
【００５０】
展開モデルは、以下のとおりである。
【００５１】
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運用される。このクラウド・インフラストラクチャは、その組織によって管理されても第三者によって管理されてもよく、構内または構外に存在してもよい。
【００５２】
コミュニティ・クラウド：クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される関心（たとえば、任務、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織によって管理されても第三者によって管理されてもよく、構内または構外に存在してもよい。
【００５３】
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆または大きな業界グループに利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【００５４】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化されたまたは独自の技術（たとえば、クラウド間で負荷分散するためのクラウド・バースティング）によって一緒に結び付けられた、２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の混成である。
【００５５】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合、モジュール性、およびセマンティック相互運用性に焦点を合わせている。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【００５６】
次に図１を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示される。クラウド・コンピューティング・ノード１０は、好適なクラウド・コンピューティング・ノードの単なる一例であり、本明細書で説明される本発明の実施形態の使用または機能の範囲に対するいかなる制限も示唆することを意図していない。いずれにせよ、クラウド・コンピューティング・ノード１０は、本明細書で上述された機能のいずれかの実装または実施あるいはその両方をすることができる。
【００５７】
クラウド・コンピューティング・ノード１０には、他の多数の汎用または専用コンピューティング・システム環境または構成で動作できるコンピュータ・システム／サーバ１２が存在する。コンピュータ・システム／サーバ１２と共に使用するのに適し得る周知のコンピューティング・システム、環境、または構成、あるいはそれらの組合せの例としては、以下に限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが含まれる。
【００５８】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを行うまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、およびデータ構造などを含み得る。コンピュータ・システム／サーバ１２は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが行われる分散クラウド・コンピューティング環境で実施され得る。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよび遠隔の両方のコンピュータ・システム・ストレージ媒体に配置され得る。
【００５９】
図１に示されるように、クラウド・コンピューティング・ノード１０におけるコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム／サーバ１２のコンポーネントは、以下に限定されないが、処理ユニット１６、システム・メモリ２８、および、システム・メモリ２８を含む様々なシステム・コンポーネントを処理ユニット１６に結合するバス１８を含み得る。
【００６０】
バス１８は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のうちの任意の１つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格協会（ＶＥＳＡ）ローカル・バス、および周辺コンポーネント相互接続（ＰＣＩ）バスを含む。
【００６１】
コンピュータ・システム／サーバ１２は、典型的には、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２によりアクセス可能な任意の利用可能媒体であってよく、それには、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体の両方が含まれる。
【００６２】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取外し可能／取外し不能、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単なる例として、取外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハード・ドライブ」と呼ばれる）に対する読取りおよび書込みのために、ストレージ・システム３４を設けることができる。図示されていないが、取外し可能な不揮発性磁気ディスク（たとえば、「フロッピ・ディスク」）に対する読取りおよび書込みのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたは他の光媒体などの取外し可能な不揮発性光ディスクに対する読取りおよび書込みのための光ディスク・ドライブとを設けることができる。そのような例においては、それぞれを、１つまたは複数のデータ媒体インターフェースによってバス１８に接続することができる。以下でさらに示され説明されるように、システム・メモリ２８は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット（たとえば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【００６３】
限定ではなく例として、プログラム・モジュール４２のセットを有するプログラム／ユーティリティ４０、ならびにオペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、システム・メモリ２８に記憶され得る。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの何らかの組合せの各々は、ネットワーキング環境の実装形態を含むことができる。プログラム・モジュール４２のセットは、一般に、本明細書で説明される本発明の実施形態の機能または方法あるいはその両方を実行する。
【００６４】
コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４などのような１つまたは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２と対話することを可能にする１つまたは複数のデバイス、またはコンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（たとえば、ネットワーク・カード、モデムなど）、あるいはそれらの組合せと通信することもできる。そのような通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらにまた、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（たとえば、インターネット）、あるいはそれらの組合せなどの１つまたは複数のネットワークと通信することができる。図示されるように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示されないが、コンピュータ・システム／サーバ１２と共に他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が使用されてもよいことを理解されたい。例としては、以下に限定されないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれる。
【００６５】
次に図２を参照すると、例示的なクラウド・コンピューティング環境５０が示されている。図示されるように、クラウド・コンピューティング環境５０は、クラウド消費者により使用されるローカル・コンピューティング・デバイスと通信することができる１つまたは複数のクラウド・コンピューティング・ノード（たとえば、クラウド・コンピューティング・ノード１０）を含み、そのようなローカル・コンピューティング・デバイスは、たとえば、携帯情報端末（ＰＤＡ）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎ、あるいはそれらの組合せなどである。クラウド・コンピューティング・ノードは互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはこれらの組合せなどの１つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る（図示せず）。これにより、クラウド・コンピューティング環境５０は、クラウド消費者がローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはそれらの組合せを提供することが可能になる。図２に示されるコンピューティング・デバイス５４Ａ−Ｎのタイプは単に例示を意図しており、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０が、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続あるいはその両方を介して（たとえば、ウェブ・ブラウザを使用して）任意のタイプのコンピュータ化されたデバイスと通信できることは理解されよう。
【００６６】
次に図３を参照すると、クラウド・コンピューティング環境５０（図２）によって提供される機能抽象化層のセットが示されている。図３に示されるコンポーネント、層、および機能は単に例示を意図しており、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層および対応する機能が提供される。
【００６７】
ハードウェアおよびソフトウェア層６０は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム、ＲＩＳＣ（縮小命令セット・コンピュータ）アーキテクチャ・ベースのサーバ、ストレージ・デバイス、ならびにネットワークおよびネットワーク・コンポーネントが含まれる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。
【００６８】
仮想化層６２は抽象化層を提供し、この層から、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントが提供され得る。
【００６９】
一例では、管理層６４は、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを行うために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量および価格設定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクに対する識別情報の検証、ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータルは、消費者およびシステム管理者のためにクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当ておよび管理を提供する。サービス・レベル・アグリーメント（ＳＬＡ）の計画および履行は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置および調達を提供する。
【００７０】
ワークロード層６６は、クラウド・コンピューティング環境が利用され得る機能の例を与える。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理が含まれ、さらに、この詳細な説明のセクションの以下のサブセクションで詳細に後述される本発明による機能（ブロック６６ａ参照）が含まれる。
【００７１】
本発明のいくつかの実施形態は、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法であって、この方法は、（ｉ）データマイニング・タスクが基づいて行われるデータ・セットを受信すること、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子のセットを受信すること、あるいはその両方と、（ｉｉ）データマイニング・タスクに対する制御値のセットを受信することと、（ｉｉｉ）データ・セットに対して行われることになるデータマイニング・タスクを定義するタスク・パラメータのセットを受信することと、（ｉｖ）受信されたデータ・セットまたは受信されたデータ記述子、制御値のセット、およびタスク・パラメータのセットに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースのセットを推定することとを含む。
【００７２】
本発明のいくつかの実施形態は、制御変数のセットの値の範囲に基づいてコスト・データのセットを提供することを含む。本発明のいくつかの実施形態では、コスト・データのセットは、制御変数のセットに関連付けられた複数のコスト値を含む。本発明のいくつかの実施形態では、コスト・データのセットは、時間期間または精度範囲に関して導出される。本発明のいくつかの実施形態では、コスト・データのセットは、グラフィカル・ユーザ・インターフェースを介してユーザに提供される。本発明のいくつかの実施形態では、コスト・データのセットは、制御変数のセットの関数として表示される。本発明のいくつかの実施形態では、コスト・データのセットは、グラフとしてユーザに提供される。本発明のいくつかの実施形態では、コスト・データのセットは、制御値のセットに依存して表示される。
【００７３】
本発明のいくつかの実施形態では、フィードバック情報のセットが受信される。本発明のいくつかの実施形態では、フィードバック情報のセットは、先行のデータマイニング・タスク・コスト推定のセットに関する情報を含む。本発明のいくつかの実施形態では、フィードバック情報のセットは、先行のデータマイニング・タスク・コスト推定のセットに対する実際のコストのセットを含む。本発明のいくつかの実施形態では、コスト推定値は、先行のデータマイニング・タスク・コスト推定値のセットに対する実際のコストのセットと、先行のデータマイニング・タスク・コスト推定値のセットとに少なくとも部分的に基づいて、算出される。本発明のいくつかの実施形態では、コスト推定値の算出は、適応機械学習アルゴリズムを含む。本発明のいくつかの実施形態では、適応機械学習アルゴリズムは、コスト推定を改善する。本発明のいくつかの実施形態では、適応機械学習アルゴリズムは、コスト推定値のセットと実際のコストのセットとの間の差を減らすようにコスト推定値のセットを改善する。
【００７４】
本発明のいくつかの実施形態は、以下の特徴、すなわち、（ｉ）データマイニング・タスクを処理するためのプロセス・フローのセットを算出すること、（ｉｉ）プロセス・フローのセットにおける各プロセス・フローについてのデータマイニング・タスクを処理するために必要とされる計算量を推定すること、（ｉｉｉ）プロセス・フローのセットにおける各プロセス・フローについての分散コンピューティング・システム上でのデータマイニング・タスクを処理するためのコストを推定すること、または（ｉｖ）データマイニング・タスクを処理するための最も低いコストを有するプロセス・フローのセットにおけるプロセス・フローを選ぶこと、あるいはそれらの組合せのうちの１つまたは複数を含む。本発明のいくつかの実施形態では、プロセス・フローのセットにおけるプロセス・フローは、他の制約のセットに従いながら最も低いコストに応じて選択される。本発明のいくつかの実施形態では、コストに基づいてプロセス・フローのセットからプロセス・フローを選択することにより、将来のコスト推定値のセットが改善される。
【００７５】
図４は、本発明による、ブロック図に基づいてデータマイニング・タスクを実行するために必要な計算リソースを含むデータマイニング・タスクの計算量を推定するための方法を図示する、フローチャート４５０を示す。図５は、フローチャート４５０の方法ステップの少なくとも一部を実施するプログラム５００を示す。次に、この方法および関連するソフトウェアについて、図４（方法ステップ・ブロック）および図５（ソフトウェア・ブロック）を広範に参照して、以下のいくつかの段落にわたって論じる。この例では、コンピュータ・システム／サーバ１２が、データマイニング・タスクを完了するために必要とされるリソースを決定する、
【００７６】
ステップＳ４５５から処理が開始し、このステップでは、データ・セット受信モジュール（「ｍｏｄ」）５０５が、データマイニング・タスクが行われることになるデータ・セットを受信する。本発明のいくつかの実施形態では、データ・セットはデータ記述子のセットである。本発明のいくつかの実施形態では、データは、ｍ列およびＮ行を有する行列Ａであり、以下の式（１）で表される。
Ａ∈Ｒｍ×ｎ    （１）
【００７７】
本発明のいくつかの実施形態では、データ・セット受信ｍｏｄ５０５は、データ・セット、およびデータ記述子のセットを受信する。本発明のいくつかの実施形態では、データ記述子のセットは、データ・セットにおけるデータの特性のセットを記述する。本発明のいくつかの実施形態では、データ記述子のセットは、データ・セットが特定のデータ・プロパティを有しているかどうかを示す。本発明のいくつかの実施形態では、データ記述子のセットは、データマイニング・タスクを実行するために必要とされる計算リソースを推定することに関連するデータ・セットの特徴のセットを、記述するまたは境界付ける、あるいはその両方をする。本発明のいくつかの実施形態では、データ記述子のセットは、ブロック図に基づいてデータマイニング・タスクを実行するために必要な計算リソースを記述する。
【００７８】
本発明のいくつかの実施形態では、データ記述子のセットは、データ・セットの重要な特徴のセットを記述する。本発明のいくつかの実施形態では、データ記述子のセットは、データ・セットの重要な特徴のセットを境界付ける。本発明のいくつかの実施形態では、データ・セットの重要な特徴のセットは、データマイニング・タスクに必要とされる計算リソースを推定することに関連する。本発明のいくつかの実施形態では、データ・セットからのデータ記述子のセットの分離が複雑である。いくつかの実施形態では、データ記述子のセットは、データ・セットに対する計算のセットの結果から得られる。
【００７９】
処理がステップＳ４６０に進み、このステップでは、制御値受信ｍｏｄ５１０が、データマイニング・タスクに関連付けられた制御値のセットを受信する。本発明のいくつかの実施形態では、制御値のセットは、データマイニング・タスクを処理するために必要とされる計算リソースの量に影響を及ぼす。本発明のいくつかの実施形態では、制御値ｍｏｄ５１０は、推定の精度、および推定が完了されなければならない時点に影響される。本発明のいくつかの実施形態では、制御値受信ｍｏｄ５１０は、ユーザまたはアプリケーションから制御値のセットを受信する。本発明のいくつかの実施形態では、制御値受信ｍｏｄ５１０は、推定システムから制御値のセットを受信する。
【００８０】
処理がステップＳ４６５に進み、このステップでは、タスク・パラメータ受信ｍｏｄ５１５が、タスク・パラメータのセットを受信する。本発明のいくつかの実施形態では、タスク・パラメータのセットは、データ・セットに対して行われることになるデータマイニング・タスクの特性のセットを定義する。本発明のいくつかの実施形態では、タスク・パラメータのセットは、アルゴリズム分類子を含む。本発明のいくつかの実施形態では、アルゴリズム分類子は、データマイニング・タスクを行うために使用されるアルゴリズムを指定する。本発明のいくつかの実施形態では、アルゴリズム分類子は、使用されるアルゴリズムを直接示す。本発明のいくつかの実施形態では、アルゴリズム分類子は、メタデータのセットを含む。本発明のいくつかの実施形態では、アルゴリズム分類子に含まれるメタデータのセットが、特定のデータマイニング・アルゴリズムを示す。本発明のいくつかの実施形態では、アルゴリズム分類子は、データマイニング・タスクが回帰タスクであることを示す。本発明のいくつかの実施形態では、アルゴリズム分類子は、データマイニング・タスクが分類タスクであることを示す。本発明のいくつかの実施形態では、アルゴリズム分類子は、データマイニング・タスクがクラスタリング・タスクであることを示す。
【００８１】
本発明のいくつかの実施形態では、回帰タスク（または回帰モデル）は、データ・セットに含まれた情報のセットに基づいて連続値を予測するためのデータマイニング関数を伴う。本発明のいくつかの実施形態では、回帰モデルは、家に関するファクタ（たとえば、位置、大きさ、近隣のプロパティ値）を示すデータ・セットに基づいて家の値を予測するために使用される。本発明のいくつかの実施形態では、分類タスク（または分類モデル）は、クラスのセットまたはカテゴリのセットに、アイテムのセットを割り当てるためのデータマイニング関数を含む。本発明のいくつかの実施形態では、分類モデルは、データ・セットにおける各データについてのターゲット・クラスを予測するために使用される。本発明のいくつかの実施形態では、分類モデルは、電子メールのセットを「スパム」または「非スパム」に分類するために使用される。本発明のいくつかの実施形態では、クラスタリング・タスク（またはクラスタリング・モデル）は、特性のセットに基づいて同様のデータのセットを識別するためのデータマイニング関数を含む。本発明のいくつかの実施形態では、クラスタリング・モデルは、クラスタ間の類似度が低くなるように高品質のクラスタを識別するために使用される。本発明のいくつかの実施形態では、クラスタリング・モデルは、クラスタ内の類似度が高くなるように高品質のクラスタを識別するために使用される。本発明のいくつかの実施形態では、回帰モデル、分類モデル、およびクラスタリング・モデルが様々なデータマイニング・タスクに対して利用される。
【００８２】
本発明のいくつかの実施形態では、データマイニング関数は、教師ありデータマイニング・プロセスである。本発明のいくつかの実施形態では、データマイニング関数は、教師なしデータマイニング・プロセスである。本発明のいくつかの実施形態では、教師なしデータマイニング・プロセスは、機械学習を含む。本発明のいくつかの実施形態では、回帰モデルは、教師ありデータマイニング・プロセスである。本発明のいくつかの実施形態では、分類モデルは、教師ありデータマイニング・プロセスである。本発明のいくつかの実施形態では、クラスタリング・モデルは、教師なしデータマイニング・プロセスである。本発明のいくつかの実施形態では、教師ありデータマイニングは、訓練データのセットを含む。本発明のいくつかの実施形態では、コンピュータ・システム／サーバ１２は、訓練データのセットと同様にデータ・セットを「類似度」に関連付けなければならない。本発明のいくつかの実施形態では、回帰モデルが連続区間を作る。本発明のいくつかの実施形態では、分類モデルが離散区間のセットを作る。本発明のいくつかの実施形態では、訓練データのセットが、行列Ａ（上記の式（１）参照）によって表される。本発明のいくつかの実施形態では、下記のように、行列Ａの行がベクトルｙの要素に対応する。
ｙ∈Ｒｍ    （２）
【００８３】
本発明のいくつかの実施形態では、行列Ａにおける列が「特徴（feature）」と呼ばれる。本発明のいくつかの実施形態では、行列Ａにおける行が「観測（observation）」と呼ばれる。本発明のいくつかの実施形態では、「類似度」が損失関数によって表される。本発明のいくつかの実施形態では、損失関数は、アイテムがどれほど類似しているかを測定する。本発明のいくつかの実施形態では、損失関数は、以下のうちの１つとすることができる。
【数１】
0006649405.tif 000002
【数２】
0006649405.tif 000003
【数３】
0006649405.tif 000004
【００８４】
本発明のいくつかの実施形態では、式（３）は「二乗損失」を表す。本発明のいくつかの実施形態では、式（４）は「対数損失」を表す。本発明のいくつかの実施形態では、式（５）は「二乗ヒンジ損失」を表す。本発明のいくつかの実施形態では、Ａｊ：は、行列Ａのｊ番目の行を表す。
【００８５】
本発明のいくつかの実施形態では、正則化関数が、同様のアイテム間のプリファレンスのセットを捕捉する。たとえば、人間は、説明が簡単なものに対してプリファレンスを有し、それが、必要とされる係数の数によって捕捉され得る。本発明のいくつかの実施形態では、下記のように、行列Ａの列が、ベクトルｘの要素に対応する。
ｘ∈ＲＮ    （６）
【００８６】
本発明のいくつかの実施形態では、下記のように、合成関数がベクトルｘを求めるために使用される。
【数４】
0006649405.tif 000005
【００８７】
本発明のいくつかの実施形態では、Ｌ（ｘ，Ａｊ：，ｙ（ｊ））が、損失の式（２）、（３）または（４）のいずれかを表す。本発明のいくつかの実施形態では、｜｜ｘ｜｜１は、ベクトルｘの非ゼロ要素の数を表す。本発明のいくつかの実施形態では、係数γ∈Ｒを有する凸結合が利用される。
【００８８】
本発明のいくつかの実施形態では、ステップＳ４５５で受信されるデータ記述子のセットが、コンピュータ・システム／サーバ１２により利用されるデータマイニング関数のタイプによって変わる。本発明のいくつかの実施形態では、教師ありデータマイニング関数のためのデータ記述子のセットは、以下に限定されないが、（ｉ）データ・セットにおける特徴の数ｎ（データ・セットの次元）、（ｉｉ）データ・セットにおける記述されたアイテムの数ｍ、（ｉｉｉ）ブロック構造データ・セットについてのデータ・セットにおけるブロックの数、（ｉｖ）式（７）の滑らかな凸項Ｌの部分的分離可能性の程度（たとえば、対応するハイパーグラフにおけるｋカット）、（ｖ）最大固有値のべき乗
【数５】
0006649405.tif 000006
、（ｖｉ）条件数σｍａｘ（Ａ）／σｍｉｎ（Ａ）、または（ｖｉｉ）行列Ａの列もしくはブロックｉにおける非ゼロ値の数｜｜Ａ：ｉ｜｜０、あるいはそれらの組合せを含む。本発明のいくつかの実施形態では、条件数は、行列Ａの固有値のセットに基づく。本発明のいくつかの実施形態では、σｍａｘ（Ａ）が行列Ａの最大固有値である。本発明のいくつかの実施形態では、σｍｉｎ（Ａ）が行列Ａの最小固有値である。本発明のいくつかの実施形態では、条件数は、行われる反復の数に関係する。本発明のいくつかの実施形態では、｜｜Ａ：ｉ｜｜０が正則化関数の滑らかさに対する限界を与える。本発明のいくつかの実施形態では、｜｜Ａ：ｉ｜｜０が正則化関数の部分的分離可能性に対する限界を与える。本発明のいくつかの実施形態では、｜｜Ａ：ｉ｜｜０は、より多くのコンピューティング・リソースを要するデータ記述子のセットと置き換えられる。
【００８９】
本発明のいくつかの実施形態では、教師なしデータマイニング（または教師なし機械学習）が、クラスタリングによって要素のセットを分割する。本発明のいくつかの実施形態では、クラスタリング・アルゴリズムが、式（１）で表される行列Ａに作用する。本発明のいくつかの実施形態では、行列Ａの行が、インスタンスのセット（または観測のセット）に対応する。本発明のいくつかの実施形態では、インスタンスのセットは、Ｎ個の特徴のセットを含む。本発明のいくつかの実施形態では、クラスタリング・アルゴリズムのセットが、重み付けされたグラフＧ＝Ａ（Ｖ，Ｗ）に作用する。本発明のいくつかの実施形態では、行列Ｗ（または行列Ｗ（ｉ，ｊ））は、頂点ｉとｊを連結する重みのセットを表す。本発明のいくつかの実施形態では、行列Ｗは、ｍ×ｍ行列である。本発明のいくつかの実施形態では、行列Ｗは、対応するグラフ・ラプラシアン行列Ｌによって表される。本発明のいくつかの実施形態では、クラスタリング・アルゴリズムは、データ・インスタンス間の類似度の概念を必要とする。本発明のいくつかの実施形態では、クラスタリング・アルゴリズムは、最適なデータ分割の構造を決定する目的関数を必要とする。本発明のいくつかの実施形態では、クラスタリング・アルゴリズムは、以下の群から選択される。
【数６】
0006649405.tif 000007
【数７】
0006649405.tif 000008
【００９０】
本発明のいくつかの実施形態では、式（８）は、ｋ平均クラスタリング・アルゴリズムである。本発明のいくつかの実施形態では、式（９）は、正規化カット・クラスタリング・アルゴリズムである。
【００９１】
本発明のいくつかの実施形態では、式（８）は、ｘｊのインスタンス（行列Ａの行）とそれぞれのクラスタ重心μｋとの間のセットのユークリッド距離が最小化されるように、最適なｋ個のクラスタＣ１からＣｋを識別する。本発明のいくつかの実施形態では、式（９）は、グラフ入力と共に作用して、クラスタ・サイズを正規化しながら「カット」されるエッジ重みを最小化するようにグラフの頂点のクラスタリングを識別する。
【００９２】
本発明のいくつかの実施形態では、クラスタリング・アルゴリズムは、データ記述子のセットを使用して、データ・セットの重要な特徴を記述するまたは境界付ける。本発明のいくつかの実施形態では、データ・セットの重要な特徴は、データマイニング・タスクに必要とされる計算リソースを推定することに関連する。本発明のいくつかの実施形態では、データ記述子のセットは、限定されないが以下を含む。（ｉ）訓練セットの特徴の数ｎ（次元）、（ｉｉ）訓練セットにおける記述されたアイテムの数ｍ、（ｉｉｉ）ブロック構造におけるブロックの数、（ｉｖ）ｋ固有値条件数、ここで、行われる反復の数を決定するために（σｋ（Ａ））／（σｋ＋１（Ａ））が使用される、（ｖ）行列Ａの任意の列またはブロックｉの非ゼロ値の数、ここで、行列Ａのスペクトル分解の計算コストを決定するために｜｜Ａ：ｉ｜｜０が使用される。
【００９３】
処理はステップＳ４７０で終了し、このステップでは、推定ｍｏｄ５２０が、ステップＳ４５５で受信されたデータ・セット、ステップＳ４６０で受信された制御値のセット、およびステップＳ４６５で受信されたタスク・パラメータのセットに基づいて、データマイニング・タスクに必要とされる計算量を推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、その推定を、受信されたデータ・セットに基づくものとする。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、受信されたデータ・セットとデータ記述子のセットとを別個に識別する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、その推定を制御値のセットに基づくものとする。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、その推定をタスク・パラメータのセットに基づくものとする。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、分散コンピューティング・システム上でデータマイニング・タスクを行うために必要とされる計算量を推定する。本発明のいくつかの実施形態では、分散コンピューティング・システムは、クラウド・コンピューティング環境におけるノードである。本発明のいくつかの実施形態では、分散コンピューティング・システムは、クラウド・コンピューティング環境における複数のノードを含む。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データマイニング・タスクに必要とされる処理能力を推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データマイニング・タスクに必要とされるメモリを推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データマイニング・タスクに必要とされるＩ／Ｏタスクを推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データマイニング・タスクに必要とされるネットワーク・タスクを推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データマイニング・タスクを完了するために必要とされるデータ・セットを通した反復の数を考慮する。本発明のいくつかの実施形態では、データ・セットを通した反復の数は、推定の所望の精度レベルの関数である。本発明のいくつかの実施形態では、データ・セットを通した反復（データ・パス）の数は、推定アルゴリズムを処理するために使用されるコンピューティング・エンティティの数の関数である。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、データ・パスにおいて必要とされる算術演算の数を考慮することによって推定を行う。本発明のいくつかの実施形態では、算術演算は、ブロードキャスト動作を含む。本発明のいくつかの実施形態では、ブロードキャスト動作は、バイトのセットを送信する。本発明のいくつかの実施形態では、ブロードキャスト動作は、ポイントツーポイント通信でバイトのセットを送信する。本発明のいくつかの実施形態では、ブロードキャスト動作は、ポイントツーポイント通信を含む。
【００９４】
本発明のいくつかの実施形態では、推定ｍｏｄ５２０によって生成される推定値は、タスク・パラメータが回帰タスク、分類タスク、またはクラスタリング・タスクを示すかに依存する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０によって生成される推定値は、損失関数に依存する。本発明のいくつかの実施形態では、損失関数は、タスク・パラメータと相互に関連付けられる。
【００９５】
本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、ジョブ・デファイナ（ｊｏｂ  ｄｅｆｉｎｅｒ）を使用してデータマイニング・タスクを定義する。本発明のいくつかの実施形態では、ジョブ・デファイナは、データマイニング・タスクを処理するためのジョブを構成する。本発明のいくつかの実施形態では、ジョブ・デファイナは、データ・セット、制御値のセット、およびタスク・パラメータのセットに少なくとも部分的に基づいて、データマイニング・タスクを処理するために適切な方法を選択するためのロジックのセットを含む。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、ジョブ定義に少なくとも部分的に基づいてデータマイニング・タスクの計算の複雑さを推定する。本発明のいくつかの実施形態では、データマイニング・タスクの計算複雑さは、コスト記述子のセットに部分的に基づく。本発明のいくつかの実施形態では、コスト記述子のセットは、データマイニング・タスクの構成部分のセットに関連付けられたコストに関する情報を含む。
【００９６】
本発明のいくつかの実施形態では、コスト記述子のセットは、以下に限定されないが、（ｉ）利用されるマシンの数の関数としての反復の数、（ｉｉ）利用されるマシンの数の関数としての座標のセットにわたるデータ・パスの数、（ｉｉｉ）推定の許容誤差確率、（ｉｖ）利用されるマシンの数の関数としてのデータ・パスに対する算術演算の数、（ｖ）データ・パス当たりのブロードキャスト動作の数、（ｖｉ）ブロードキャスト動作当たりの送信されるバイトの数、（ｖｉｉ）データ・パス当たりのポイントツーポイント通信動作の数、または（ｖｉｉｉ）ポイントツーポイント通信当たりの送信されるバイトの数、あるいはそれらの組合せを含む。
【００９７】
本発明のいくつかの実施形態は、教師ありデータマイニング・タスクのセットのコスト記述子を提供する。本発明のいくつかの実施形態では、教師ありデータマイニング・タスクは、回帰タスクまたは分類タスク、あるいはその両方を含む。本発明のいくつかの実施形態では、行われる算術演算当たりのコストが、反復の数、および反復のセットの複雑さに少なくとも部分的に基づく。本発明のいくつかの実施形態では、行われる通信当たりのコストが、反復の数、および反復のセットの複雑さに少なくとも部分的に基づく。本発明のいくつかの実施形態では、反復の数が、データ・パスの数、および座標の数に少なくとも部分的に基づく。本発明のいくつかの実施形態では、ブロック構造が使用され、座標のブロックの数が、座標の数の代わりに使用される。
【００９８】
本発明のいくつかの実施形態では、反復の数に対する確率的上界が決定される。本発明のいくつかの実施形態では、反復カウンタが算出される。本発明のいくつかの実施形態では、ｋが反復カウンタである。本発明のいくつかの実施形態では、ｘ０が初期点である。本発明のいくつかの実施形態では、０＜ρ＜１がターゲットの信頼である。本発明のいくつかの実施形態では、
【数８】
0006649405.tif 000009
である。本発明のいくつかの実施形態では、ε＞０である。本発明のいくつかの実施形態では、Ｆ＊＝ｍａｘｘＦ（ｘ）である。本発明のいくつかの実施形態では、定数のセットは、α、β、σ、ｓ、
【数９】
0006649405.tif 000010
、またはＬ、あるいはそれらの組合せを含むが、これらに限定されない。
【００９９】
本発明のいくつかの実施形態では、反復カウンタが、
【数１０】
0006649405.tif 000011
として決定される。
【０１００】
本発明のいくつかの実施形態では、ε＜Ｆ（ｘ０）−Ｆ＊である。代替的に、反復カウンタは、
【数１１】
0006649405.tif 000012
として決定される。
【０１０１】
本発明のいくつかの実施形態では、
【数１２】
0006649405.tif 000013
である。
【０１０２】
本発明のいくつかの実施形態では、点ｘｋについて、非増加チェックが凸関数Ｆに適用されるように確率変数が存在する。本発明のいくつかの実施形態では、パラメータε、ρ、およびＬのセットが、反復の数を決定するために重要である。本発明のいくつかの実施形態では、確率関数は、
Ｐｒｏｂ（Ｆ（ｘｋ）−Ｆ＊≦ε）≧１−ρ    （１２）
として表される。
【０１０３】
本発明のいくつかの実施形態では、単一の反復が必要とされる。本発明のいくつかの実施形態では、単一の反復は、データマイニング・タスクのコストを決定するために動作のセットＯ（｜｜Ａ：ｉ｜｜０）を必要とする。本発明のいくつかの実施形態では、｜｜Ａ：ｉ｜｜０が、行列Ａの列（またはブロック）ｉの非ゼロ値の数である。本発明のいくつかの実施形態では、データマイニング・タスクのための動作の数Ｏは、行列Ａの固有値に少なくとも部分的に基づいて減らされる。本発明のいくつかの実施形態では、動作の数は、以下に限定されないが、（ｉ）Ｃ−１個のポイントツーポイント・メッセージのセットを含む単一ブロードキャスト、（ｉｉ）２Ｅ１＋Ｅ２個のメッセージのセットを含む単一ブロードキャスト、または（ｉｉｉ）Ｃ−１個のポイントツーポイント・メッセージのセットを含むゼロ・ブロードキャスト、あるいはそれらの組合せを含む方法から選択される。本発明のいくつかの実施形態では、Ｃ−１個のポイントツーポイント・メッセージのセットは、Ｏ（Ｃｍ）個を含む。本発明のいくつかの実施形態では、データマイニング・タスクは、ｃ１の待ち時間を含む。本発明のいくつかの実施形態では、データマイニング・タスクは、ｃ２の帯域幅を含む。本発明のいくつかの実施形態では、訓練セットは、ｍ個の例を含む。本発明のいくつかの実施形態では、ブロードキャスト動作は、持続期間ｌｏｇＣ（ｃ１＋ｃ２ｍ）を有する。本発明のいくつかの実施形態では、ブロードキャスト動作は、持続期間
【数１３】
0006649405.tif 000014
有する。本発明のいくつかの実施形態では、ｙ（ｈ，Ｖ）は、ｈが交差するＶの部分の数をカウントする関数である。本発明のいくつかの実施形態では、Ｅ１がＯ（ｍ）である。本発明のいくつかの実施形態では、Ｅ２がＯ（Ｃ２）である。本発明のいくつかの実施形態では、
Ｅ１：＝Σｈ∈Ｈ｛１：ｙ（ｈ，Ｖ）≧ｃ１｝    （１３）である。
【０１０４】
本発明のいくつかの実施形態では、
Ｅ２：＝Σ≦ｃ＜ｄ≦Ｃ｛１：∃ｈ∈Ｈ，ｙ（ｈ，｛Ｖｃ，Ｖｄ｝）＝２∧ｙ（ｈ，Ｖ）＜ｃ１｝    （１４）
である。
【０１０５】
本発明のいくつかの実施形態では、ゼロ・ブロードキャストを使用することにより、反復の数の増加が起きる。本発明のいくつかの実施形態では、動作の数の決定は、計算を並列化するかどうかに依存する。本発明のいくつかの実施形態では、使用可能なメモリに基づいて計算の並列化が必要である。本発明のいくつかの実施形態では、入力を分散するコストに基づいて計算の並列化が必要である。本発明のいくつかの実施形態では、ネットワークの種々のプロパティのコストのセットに基づいて計算の並列化が必要である。本発明のいくつかの実施形態では、コストのセットが基づいて決定されるネットワークの種々のプロパティのセットは、以下に限定されないが、（ｉ）ネットワーク待ち時間、（ｉｉ）ポイントツーポイント接続のセットの帯域幅、または（ｉｉｉ）ブロードキャストの価格、あるいはそれらの組合せを含む。本発明のいくつかの実施形態では、データマイニング・タスク・スケジューラによってアルゴリズムの選択が行われる。
【０１０６】
本発明のいくつかの実施形態は、ラプラシアン行列の特異値分解（ＳＶＤ）を実装する。本発明のいくつかの実施形態では、ラプラシアン行列がクラスタリング・アルゴリズムで実装される。本発明のいくつかの実施形態では、ラプラシアン行列のＳＶＤがクラスタリング・アルゴリズムで実装される。本発明のいくつかの実施形態では、ラプラシアン行列のＳＶＤは、データ記述子のセットおよびコスト記述子のセットを伴う。本発明のいくつかの実施形態では、ラプラシアン行列のＳＶＤは、教師なしデータマイニング・タスクのために実装される。本発明のいくつかの実施形態では、ラプラシアン行列のＳＶＤは、クラスタ・アルゴリズム・データマイニング・タスクのために実装される。本発明のいくつかの実施形態では、正規化グラフ・ラプラシアン行列は、
Ｌ＝Ｄ−１／２ＷＤ−１／２    （１５）として表される。
【０１０７】
本発明のいくつかの実施形態では、行列Ｗ（または行列Ｗ（ｉ，ｊ））は、頂点ｉとｊとを連結する重みのセットを表す。本発明のいくつかの実施形態では、行列Ｄは、対角行列である。本発明のいくつかの実施形態では、行列Ｄは、グラフ・ノードの次数のセットＤ（ｉ，ｊ）＝ΣｊＷ（ｉ，ｊ）を含む。
【０１０８】
本発明のいくつかの実施形態では、正規化ラプラシアン行列のＳＶＤは階数ｋである。本発明のいくつかの実施形態では、正規化ラプラシアン行列のＳＶＤが、グラフ・クラスタリング目的関数のセットに関連付けられる。本発明のいくつかの実施形態では、グラフ・クラスタリング目的関数のセットは、ランダム・ウォーク・モデルに基づく関数のサブセットを含む。本発明のいくつかの実施形態では、正規化ラプラシアン行列のスペクトルが、Ｐ＝Ｄ−１Ｗのスペクトルに関係付けられる。本発明のいくつかの実施形態では、Ｐは、右確率行列（right stochastic matrix）である。本発明のいくつかの実施形態では、Ｐは、行列Ｗについての確率遷移行列である。本発明のいくつかの実施形態では、Ｐは、ノードｉからノードｊへ横断する確率である。本発明のいくつかの実施形態では、ノードｉからノードｊへ横断する確率は、Ｗ（ｉ，ｊ）／Ｄ（ｉ，ｉ）によって表される。
【０１０９】
本発明のいくつかの実施形態では、正規化ラプラシアン行列のＳＶＤは、クラスタリングの目的を近似する。本発明のいくつかの実施形態では、正規化ラプラシアン行列のＳＶＤは、クラスタリングの目的を近似して、２つのクラスタ間の横断の確率を最小化する。本発明のいくつかの実施形態では、クラスタリングの目的は、
Ｏｂｊ＝Ｐ［Ａ→Ｂ｜Ａ］＋Ｐ［Ｂ→Ａ｜Ｂ］    （１６）
として表される。
【０１１０】
本発明のいくつかの実施形態では、Ｐｉｊは、確率遷移行列Ｐの要素を表す。本発明のいくつかの実施形態では、確率遷移行列は、
【数１４】
0006649405.tif 000015
として表される。
【０１１１】
本発明のいくつかの実施形態では、
【数１５】
0006649405.tif 000016
は、ノードｉの定常分布を表す。本発明のいくつかの実施形態では、
【数１６】
0006649405.tif 000017
は、確率遷移行列Ｐに少なくとも部分的に基づく。本発明のいくつかの実施形態では、π∞（Ａ）は、クラスタＡにおけるノードのセットの定常分布のセットの合計を表す。本発明のいくつかの実施形態では、クラスタリングの目的は、正規化カット・クラスタリングと等価である。本発明のいくつかの実施形態では、クラスタリングの目的は、トレース最適化と等価な形態として記述される。本発明のいくつかの実施形態では、ランダム・ウォーク・モデルが、正規化ラプラシアン行列のＳＶＤの修正バージョンに関連付けられる。
【０１１２】
本発明のいくつかの実施形態では、データ記述子のセットが、ラプラシアン行列の固有値分布から導出される。本発明のいくつかの実施形態では、ラプラシアン行列の固有値分布は、コスト記述子に関係付けられる。本発明のいくつかの実施形態では、コスト記述子は、必要とされるメモリに相互に関連付けられ、データマイニング・タスクに必要とされるデータ・パスの数を決定する。本発明のいくつかの実施形態では、データ・パスのセットは、入力データのセットのサイズにより必要とされる。本発明のいくつかの実施形態では、入力データのセットがメモリに収まらない。本発明のいくつかの実施形態では、入力行列を伴う計算が、ディスクからデータのセットを読み込む。本発明のいくつかの実施形態では、入力行列の圧縮されたバージョンがメモリに収まる。本発明のいくつかの実施形態では、入力行列の圧縮されたバージョンは、必要とされるメモリ・コストに関連付けられる。本発明のいくつかの実施形態では、固有値計算のセットが適切に調整される。本発明のいくつかの実施形態では、固有ベクトル計算のセットが、行列の固有値分布に依存する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０が、固有値分布を推定する。本発明のいくつかの実施形態では、推定ｍｏｄ５２０は、行列のＳＶＤを計算するためにコスト記述子を推定する。本発明のいくつかの実施形態では、固有値分布は、データ記述子抽出器によって導出される。本発明のいくつかの実施形態では、データ記述子抽出器が、データ・セットについてのデータ記述子のセットを推定するための方法を提供する。
【０１１３】
本発明のいくつかの実施形態では、データマイニング・タスクのクラスタリングのためのコスト記述子は、必要とされるメモリである。本発明のいくつかの実施形態では、固有値分布と必要とされるメモリのサイズを示すコスト記述子との間の関連付けが作成される。本発明のいくつかの実施形態では、行列のＳＶＤを計算するための必要とされるメモリは、ランダム・ガウス行列ＲＧのサイズによって決定される。本発明のいくつかの実施形態では、固有値分布とコスト記述子との間の関連付けは、
【数１７】
0006649405.tif 000018
として表される。
【０１１４】
本発明のいくつかの実施形態では、ランダム・ガウシアン行列ＲＧは、次元ｎ×（ｋ＋ｐ）を有する。本発明のいくつかの実施形態では、Ｌは、ラプラシアン行列を表す。本発明のいくつかの実施形態では、
【数１８】
0006649405.tif 000019
は、ラプラシアン行列の階数ｋ近似を表す。本発明のいくつかの実施形態では、期待値の限界のセットが、誤差の平均近似を提供する。本発明のいくつかの実施形態では、裾の限界のセットが含まれる。本発明のいくつかの実施形態では、誤差のセットは大きな分散を有しない。本発明のいくつかの実施形態では、限界のセットは、クラスタリング・アルゴリズムの挙動を表す。本発明のいくつかの実施形態では、セット限界は、２つのデータ・パスを用いて決定される。本発明のいくつかの実施形態では、限界のセットがメモリ使用量をＳＶＤ近似の品質限界と関連付ける。
【０１１５】
本発明のいくつかの実施形態では、データ・パスの数が、近似限界のセットを決定するために使用される。本発明のいくつかの実施形態では、近似限界のセットが、固有値分布とデータ・パスの数との間の関係を決定するために使用される。本発明のいくつかの実施形態では、固有値分布はデータ記述子である。本発明のいくつかの実施形態では、データ・パスの数はコスト記述子である。本発明のいくつかの実施形態では、データ・パスの数が、近似の品質に逆相関する。本発明のいくつかの実施形態では、データ・パスの数と近似の品質との間にトレードオフが存在する。本発明のいくつかの実施形態では、近似限界は、
【数１９】
0006649405.tif 000020
として表される。
【０１１６】
本発明のいくつかの実施形態では、ｋ＋ｐは、ランダム・ガウシアン行列ＲＧのサイズを表す。本発明のいくつかの実施形態では、ｋ＋ｐは、メモリ使用要件のセットである。本発明のいくつかの実施形態では、２ｑ＋１は、データ・パスの数を表す。本発明のいくつかの実施形態では、エンド・ユーザは、データ・セットの固有値分布に気付かない。本発明のいくつかの実施形態では、エンド・ユーザは、データ・セットの固有値分布の推定値を有しない。本発明のいくつかの実施形態では、推定ｍｏｄ５２０が、データ・セットの固有値分布を近似する。
【０１１７】
図６は、データマイニング環境６００を示す。データマイニング環境６００は、データ・セット６０５、制御値のセット６１０、タスク・パラメータのセット６１５、完了ターゲット６２０、ジョブ・デファイナ６３０、ＣＰＵコスト６４０、メモリ・コスト６４５、Ｉ／Ｏコスト６５０、ネットワーク・コスト６５５、他のコスト６６０、クラウド・インターフェース６６５、コスト推定値６７０、部分学習６８０、およびデータ記述子抽出器６９０を含む。本発明のいくつかの実施形態では、データマイニング環境内の１つまたは複数のオブジェクトが実装されない。たとえば、本発明のいくつかの実施形態では、データ・セット６０５がデータ記述子のセットを含まないため、データ記述子抽出器６９０が実装されない。本発明のいくつかの実施形態では、データマイニング環境６００内に示される１つまたは複数のオブジェクトが省略されている。たとえば、本発明のいくつかの実施形態では、教師ありデータマイニング・タスクが実装され、部分学習６８０は不要であり省略される。
【０１１８】
本発明のいくつかの実施形態では、データ・セット６０５、制御値のセット６１０、タスク・パラメータのセット６１５、または完了ターゲット６２０、あるいはそれらの組合せが、入力のセットとしてジョブ・デファイナ６３０に提供される。本発明のいくつかの実施形態では、データ・セット６０５は、データ記述子のセットを含む。本発明のいくつかの実施形態では、制御値のセット６１０は、所望の精度を含む。本発明のいくつかの実施形態では、タスク・パラメータのセット６１５は、アルゴリズム分類子を含む。本発明のいくつかの実施形態では、完了ターゲット６２０は、データマイニング・タスクを完了する時間期間を含む。本発明のいくつかの実施形態では、データマイニング環境６００内の入力のセットが、単一オブジェクトとして表される。本発明のいくつかの実施形態では、ジョブ・デファイナ６３０は、行われることになるデータマイニング・タスクを決定する。本発明のいくつかの実施形態では、ジョブ・デファイナ６３０は、データマイニング・タスクを指定するためのロジックのセットを含む。本発明のいくつかの実施形態では、データマイニング・タスクは、ジョブ・デファイナ６３０により受信される入力のセットに少なくとも部分的に基づく。本発明のいくつかの実施形態では、ジョブ・デファイナ６３０は、データマイニング・タスクを完了するためのアルゴリズムを選択する。本発明のいくつかの実施形態では、ジョブ・デファイナ６３０は、収束動作に基づいてアルゴリズムを選択するように適合される。本発明のいくつかの実施形態では、データマイニング・タスクのためのアルゴリズムのセットは、異なるレートで収束する。本発明のいくつかの実施形態では、アルゴリズムの選択は、データマイニング環境６００内の別個のオブジェクトである。
【０１１９】
本発明のいくつかの実施形態では、部分学習６８０は、コスト推定値を改善するためのアルゴリズムである。本発明のいくつかの実施形態では、部分学習６８０は、ジョブ・デファイナ６３０から情報を受信する。本発明のいくつかの実施形態では、部分学習６８０は、先行のデータマイニング・タスクについての先行のコスト推定値のセットを分析する。本発明のいくつかの実施形態では、部分学習６８０は、先行のデータマイニング・タスクの実際のコストのセットを分析する。本発明のいくつかの実施形態では、部分学習６８０は、先行のデータマイニング・タスクのセットに基づいて、過大推定のセットおよび過小推定のセットを決定する。本発明のいくつかの実施形態では、部分学習６８０は、異なるコスト内訳のセットに関する不一致のセットを決定する。本発明のいくつかの実施形態では、部分学習６８０は、異なるコスト内訳のセットに関するスケーリング・ファクタのセットを提供する。本発明のいくつかの実施形態では、部分学習６８０により提供されたスケーリング・ファクタのセットは、ジョブ・デファイナ６３０によって将来のコスト推定値のセットに取り込まれる。本発明のいくつかの実施形態では、部分学習６８０は、先行のデータマイニング・タスクについての先行のコスト推定値に基づいて、現在のコスト推定値を改善する。本発明のいくつかの実施形態では、部分学習６８０は、先行のコスト推定値に少なくとも部分的に基づいて推定パラメータのセットを精緻化する。
【０１２０】
本発明のいくつかの実施形態では、データ記述子抽出器６９０が、データ・セットからデータ記述子のセットを抽出する。本発明のいくつかの実施形態では、追加の計算コストは、データ記述子抽出器６９０により発生する。本発明のいくつかの実施形態では、データ記述子抽出器６９０により発生する追加の計算コストの推定が必要とされる。本発明のいくつかの実施形態では、データ記述子抽出器６９０は、データ・セットにおけるデータ記述子のセットを推定するためのアルゴリズムを含む。本発明のいくつかの実施形態では、データ・セットは、データ記述子のセットのみを含む。本発明のいくつかの実施形態では、データ記述子のセットは、データ記述子のセットの複雑さに少なくとも部分的に基づいて計算コストを推定するために使用される。
【０１２１】
本発明のいくつかの実施形態では、コストのセットが、選択されたアルゴリズムに少なくとも部分的に基づいて推定される。本発明のいくつかの実施形態では、コスト推定値オブジェクトのセットが、データマイニング環境６００内の単一オブジェクトとして表される。本発明のいくつかの実施形態では、コストのセットが使用領域に基づいて分割される。本発明のいくつかの実施形態では、コストは、以下のカテゴリ、すなわち、（ｉ）ＣＰＵコスト６４０、（ｉｉ）メモリ・コスト６４５、（ｉｉｉ）Ｉ／Ｏコスト６５０、（ｉｖ）ネットワーク・コスト６５５、または（ｖ）他のコスト６６０、あるいはそれらの組合せのうちのいずれかに分けられる。本発明のいくつかの実施形態では、１つまたは複数のコストが単一オブジェクトに組み合わされる。本発明のいくつかの実施形態では、コスト推定値は、ジョブ・デファイナ６３０から受信されたアルゴリズムに少なくとも部分的に基づいて推定される。本発明のいくつかの実施形態では、コスト・オブジェクトの推定は、データ・セット６０５からのデータ記述子のセットに基づく。
【０１２２】
本発明のいくつかの実施形態では、クラウド・インターフェース６６５が、クラウド・サービス・プロバイダのセットと対話する。本発明のいくつかの実施形態では、クラウド・インターフェース６６５は、クラウド・サーバ用のアプリケーション・プログラミング・インターフェース（ＡＰＩ）と対話する。本発明のいくつかの実施形態では、クラウド・インターフェース６６５が、クラウド・サーバ用のＡＰＩである。本発明のいくつかの実施形態では、クラウド・サービス・プロバイダが、データマイニング・タスクのクラウド・コストを推定する。本発明のいくつかの実施形態では、クラウド・インターフェース６６５が、データマイニング・タスクのクラウド・コストを推定する。本発明のいくつかの実施形態では、クラウド・インターフェース６６５は、（ｉ）データ・セット６０５、（ｉｉ）制御値のセット６１０、（ｉｉｉ）タスク・パラメータのセット６１５、または（ｉｖ）完了ターゲット６２０、あるいはそれらの組合せのうちの１つまたは複数に少なくとも部分的に基づいて推定する。
【０１２３】
本発明のいくつかの実施形態では、コスト推定値６７０は、データマイニング環境６００からのコストのセットをまとめる。本発明のいくつかの実施形態では、コスト推定値６７０は、データマイニング・タスクの最終コストを決定する。
【０１２４】
図７は、データマイニング環境７００を示す。本発明のいくつかの実施形態では、データマイニング環境７００は、データマイニング環境６００により実装される任意選択のオブジェクトを含む。データマイニング環境７００は、データ・セット６０５、制御値のセット６１０、タスク・パラメータのセット６１５、完了ターゲット６２０、意味論的問題記述７１０、およびルール・エンジン７２０を含む。
【０１２５】
本発明のいくつかの実施形態では、データマイニング環境７００が、データマイニング環境６００に対する追加の入力を提供する。本発明のいくつかの実施形態では、意味論的問題記述７１０が入力として受信される。本発明のいくつかの実施形態では、意味論的問題記述７１０は、データマイニング・タスクの平易な言葉の記述である。本発明のいくつかの実施形態では、意味論的問題記述７１０は、ユーザによって提供される。本発明のいくつかの実施形態では、意味論的問題記述７１０は、データマイニング・タスクの高水準記述である。
【０１２６】
本発明のいくつかの実施形態では、ルール・エンジン７２０は、データマイニング・タスクの要件のセットを指定する。本発明のいくつかの実施形態では、ルール・エンジン７２０は、他の入力の要件のセットを指定する。本発明のいくつかの実施形態では、ルール・エンジン７２０は、意味論的問題記述７１０を、データマイニング環境６００により理解可能なフォーマットに変換する。本発明のいくつかの実施形態では、ルール・エンジン７２０は、頻繁なパラメータのセットを含む。本発明のいくつかの実施形態では、データマイニング環境７００は、データマイニング環境６００とのユーザ対話をより容易にする。
【０１２７】
図８は、データマイニング環境８００を示す。本発明のいくつかの実施形態では、データマイニング環境８００は、データマイニング環境６００により実装される任意選択のオブジェクトを含む。データマイニング環境８００は、ＣＰＵコスト６４０、メモリ・コスト６４５、Ｉ／Ｏコスト６５０、ネットワーク・コスト６５５、他のコスト６６０、クラウド・スケジューラ８１０、最小コスト推定値８２０、および最適展開戦略８３０を含む。
【０１２８】
本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、ＣＰＵコスト６４０、メモリ・コスト６４５、Ｉ／Ｏコスト６５０、ネットワーク・コスト６５５、または他のコスト６６０、あるいはそれらの組合せのうちの１つまたは複数から、情報のセットを受信する。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、データマイニング・タスクのための処理パッケージのセットを提供する。本発明のいくつかの実施形態では、処理パッケージのセットは、データマイニング・タスクの要件のセットに少なくとも部分的に基づく。本発明のいくつかの実施形態では、データマイニング・タスクの要件のセットは、以下に限定されないが、（ｉ）ＣＰＵパワー要件、（ｉｉ）Ｉ／Ｏデバイス負荷、または（ｉｉｉ）ネットワーク負荷、あるいはそれらの組合せを含む。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、実行可能でない処理パッケージのサブセットを提供する。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、実行可能な処理パッケージのサブセットを提供する。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、実行可能な処理パッケージのサブセットから処理パッケージを選択する。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、制御変数のセットに少なくとも部分的に基づいて処理パッケージを選択する。本発明のいくつかの実施形態では、クラウド・スケジューラ８１０は、処理パッケージを入力して受信する。
【０１２９】
図９は、ジョブ・デファイナ２３０の構成オブジェクトのセットへの例示的分割を示す。ジョブ・デファイナ２３０は、データ統計推定器９３１、フロー構成アルゴリズム９３２、フローのセット９３４、およびフローベースのコスト推定器９３５を含む。
【０１３０】
本発明のいくつかの実施形態では、データ統計推定器９３１は、データマイニング環境６００内の他のオブジェクトと対話する。本発明のいくつかの実施形態では、データ統計推定器９３１は、データ・セット６０５、制御値のセット６１０、タスク・パラメータのセット６１５、または完了ターゲット６２０、あるいはそれらの組合せのうちの１つまたは複数から、情報のセットを受信する。本発明のいくつかの実施形態では、データ統計推定器９３１は、部分学習６８０またはデータ記述子抽出器６９０、あるいはその両方から情報を受信する。本発明のいくつかの実施形態では、データ統計推定器９３１は、部分学習６８０またはデータ記述子抽出器６９０、あるいはその両方へ情報を送信する。本発明のいくつかの実施形態では、データ統計推定器９３１は、データ・セットに関連付けられたプロパティのセットを推定する。本発明のいくつかの実施形態では、データ・セットに関連付けられたプロパティのセットは、以下に限定されないが、（ｉ）データ値のスパース性、（ｉｉ）データの独立性、（ｉｉｉ）固有ベクトルのセット、または（ｉｖ）非ゼロ・データ値の数、あるいはそれらの組合せを含む。本発明のいくつかの実施形態では、データ・セットに関連付けられたプロパティのセットは、データマイニング・タスクに必要とされる計算量と相互に関連付けられる。本発明のいくつかの実施形態では、データ統計推定器９３１は、コスト推定を改善する。
【０１３１】
本発明のいくつかの実施形態では、フロー構成アルゴリズム９３２が、データ統計推定器９３１から情報を受信する。本発明のいくつかの実施形態では、データマイニング・プロセスを行うためのフローのセットを開発する。本発明のいくつかの実施形態では、異なるデータマイニング・タスクが、異なる数のフローを必要とする。本発明のいくつかの実施形態では、異なるフローが異なるアルゴリズムを使用して、コストのセットを推定する。本発明のいくつかの実施形態では、異なるフローが異なるデータ記述子を使用して、コストのセットを推定する。
【０１３２】
本発明のいくつかの実施形態では、フローのセット９３４は、データマイニング・タスクの態様を決定するための１つまたは複数のフローを含む。本発明のいくつかの実施形態では、フローのセット９３４に含まれるフローの数は、フロー構成アルゴリズム９３２によって決定される。本発明のいくつかの実施形態では、フローのセット９３４における異なるフローが、データマイニング・タスクの異なる態様を決定する。本発明のいくつかの実施形態では、フローのセット９３４に含まれる複数のフローが、単一のアルゴリズムを使用して、データマイニング・タスクの単一の態様を決定する。本発明のいくつかの実施形態では、フローのセット９３４は、コスト推定値のセットを推定する。本発明のいくつかの実施形態では、フローのセット９３４は、コスト推定値のセットを構成する成分値のセットを決定する。本発明のいくつかの実施形態では、フローのセット９３４における異なるフローが、データマイニング・タスクを完了する異なる方法のためのアルゴリズムを分析する。本発明のいくつかの実施形態では、フローのセット９３４における異なるフローが、データマイニング・タスクの異なる部分に関連付けられたアルゴリズムを分析する。本発明のいくつかの実施形態では、フローのセット９３４は、制御変数のセットを有するデータ・セットを分析する。本発明のいくつかの実施形態では、フローのセット９３４は、異なる値の制御変数のセットを分析する。本発明のいくつかの実施形態では、フローのセット９３４は、処理速度または精度あるいはその両方を変化させる。
【０１３３】
本発明のいくつかの実施形態では、フローベースのコスト推定器９３５が、フローのセット９３４から値のセットを受信する。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、データマイニング・タスクに関連付けられたコストを推定する。本発明のいくつかの実施形態では。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、フローのセット９３４により提供される値に少なくとも部分的に基づいて、アルゴリズムを選択する。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、アルゴリズムのセットに基づいてデータマイニング・タスクのコストのセットを決定する。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、最も低いコストに基づいてアルゴリズムを選択する。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、フローのセット９３４から受信された値のセットのグラフィック表示を提供する。本発明のいくつかの実施形態では、フローベースのコスト推定器９３５は、クラウド・インターフェース６６５に情報を提供する。本発明のいくつかの実施形態では、ＣＰＵコスト６４０、メモリ・コスト６４５、Ｉ／Ｏコスト６５０、ネットワーク・コスト６５５、または他のコスト６６０、あるいはそれらの組合せが、ジョブ・デファイナ６３０に含まれる。本発明のいくつかの実施形態では、ＣＰＵコスト６４０、メモリ・コスト６４５、Ｉ／Ｏコスト６５０、ネットワーク・コスト６５５、または他のコスト６６０、あるいはそれらの組合せが除外される。
【０１３４】
本発明のいくつかの実施形態は、クラウド・インフラストラクチャ上で実行されるデータマイニング・アルゴリズムに関連付けられたコストのセットを推定する。本発明のいくつかの実施形態は、以下の特徴、特性、または利点、あるいはそれらの組合せ、すなわち、（ｉ）結果ターゲットを有するデータ・セットに対してデータマイニング・タスクを実行するためのシステム要件を推定するアルゴリズム的ジョブ・デファイナ、（ｉｉ）ターゲットされる入力データ・セットのプロパティをさらに指定するために、ユーザと対話するために使用できるデータ記述子ツール、（ｉｉｉ）ターゲット・データのサブサンプルに対する実行にわたるシステム要件を推定するために使用できる部分学習ツール、または（ｉｖ）エンド・ユーザにコスト評価の結果を提示する、もしくはアプリケーションに問い合わせるコスト・フィードバックＵＩ、あるいはそれらの組合せのうちの１つまたは複数を含み得る。
【０１３５】
本発明のいくつかの実施形態は、以下の特徴、特性、または利点、あるいはそれらの組合せ、すなわち、（ｉ）ターゲット・データ・セットに対してデータマイニング・タスクを行うためのシステム要件を抽出し、クラウド・インフラストラクチャ上でそのようなデータマイニング・タスクを展開するコストを価格設定すること、（ｉｉ）部分学習もしくはデータ記述子を使用してデータマイニング・タスクを行うコストを推定すること、または（ｉｉｉ）システム要件に応じて、異なるレベルの品質もしくは精度で推定値のセットを作成すること、あるいはそれらの組合せのうちの１つまたは複数を含み得る。
【０１３６】
本発明のいくつかの実施形態は、「サービスとしてのデータマイニング」のプロビジョニングを含む。本発明のいくつかの実施形態では、「サービスとしてのデータマイニング」は、クラウドベースのサービスである。本発明のいくつかの実施形態は、データマイニング・タスクと、データマイニング・タスクを行うために必要とされる計算量との間のギャップを橋渡しする。本発明のいくつかの実施形態では、データマイニング・タスクのコスト推定値は、データマイニング・タスクを行うために必要とされる計算リソースのセットの推定に少なくとも部分的に基づいて提供される。本発明のいくつかの実施形態では、データマイニング・タスクのコスト推定値は、計算タスクのセットの観点から定義される。本発明のいくつかの実施形態では、データマイニング・タスクのコスト推定値は、使用されるセットの計算リソースの観点から定義される。
【０１３７】
本発明のいくつかの実施形態では、コスト記述子のセットを導出することによって、コストのセットが推定される。本発明のいくつかの実施形態では、コスト記述子のセットは、データマイニング・タスクを計算するための反復の数に関する情報のセットを含むが、これに限定されない。本発明のいくつかの実施形態では、コスト記述子のセットは、反復当たりに行われる動作のセットの複雑さに関する情報のセットを含む。本発明のいくつかの実施形態では、反復の数は、すべての座標にわたるデータ・パスの数である。本発明のいくつかの実施形態では、反復の数は、データマイニング・タスクを実行するコンピューティング・エンティティの数に依存する。本発明のいくつかの実施形態では、反復の数は、所望の精度に依存する。本発明のいくつかの実施形態では、反復当たりの動作のセットの複雑さに関する情報のセットは、データ・パス中に行われる算術演算の数である。本発明のいくつかの実施形態では、データ・パス中に行われる算術演算の数は、データマイニング・タスクを実行するコンピューティング・エンティティの数の関数である。本発明のいくつかの実施形態では、コスト記述子のセットは、データ・パス当たりに行われるブロードキャスト動作の数に関する情報のセットを含む。本発明のいくつかの実施形態では、コスト記述子のセットは、ブロードキャスト動作で送信されるバイトの数に関する情報のセットを含む。本発明のいくつかの実施形態では、コスト記述子のセットは、データ・パス中に行われるポイントツーポイント通信動作の数に関する情報のセットを含む。本発明のいくつかの実施形態では、コスト記述子のセットは、通信動作で送信されるバイトの数に関する情報のセットを含む。本発明のいくつかの実施形態は、データマイニング・タスクの複数のブロック（たとえば、ＣＰＵコスト、メモリ・コスト、Ｉ／Ｏコスト、ネットワーク・コスト）への区分化を利用する。本発明のいくつかの実施形態では、データマイニング・タスクの複数のブロックへの区分化は、データマイニング・タスクの計算の複雑さを決定するのに役立つ。本発明のいくつかの実施形態では、データマイニング・タスクの計算の複雑さを決定することは、計算量の推定を改善する。本発明のいくつかの実施形態では、計算量の推定を改善することは、データマイニング・タスクのコストの推定を改善する。
【０１３８】
本発明のいくつかの実施形態では、制御値のセットが、所望の精度を含む。本発明のいくつかの実施形態では、制御値のセットは、計算リソース推定を計算するための所望の持続期間を含む。本発明のいくつかの実施形態では、制御値のセットは、データマイニング・タスクの計算量に影響を及ぼす。本発明のいくつかの実施形態では、推定精度は、所望の精度を得るためにデータ・セットに対して行われる反復の数とリンクされる。本発明のいくつかの実施形態では、コンピューティング持続期間は、利用されるコンピューティング・エンティティの数に影響を及ぼす。本発明のいくつかの実施形態では、制御値のセットは、データマイニング・タスクの開始時間または終了時間あるいはその両方を含む。本発明のいくつかの実施形態では、データマイニング・タスクの開始時間または終了時間あるいはその両方は、タスク・コストに影響を及ぼす。本発明のいくつかの実施形態では、データ・センタ負荷が時刻によって変化する。本発明のいくつかの実施形態では、データ・センタ負荷が低減された時間中に、コンピューティング・エンティティに対するコストが低減される。本発明のいくつかの実施形態では、制御値のセットのサブセットが推定結果に影響を与える。
【０１３９】
本発明のいくつかの実施形態では、タスク・パラメータがアルゴリズム分類子を含む。本発明のいくつかの実施形態では、アルゴリズム分類子は、行われることになるデータマイニング・タスクのタイプを定義する。本発明のいくつかの実施形態では、アルゴリズム分類子は、データマイニング・タスクの分類をデータの要素として記憶する。本発明のいくつかの実施形態では、分類は、データマイニング・タスクが、回帰タスク、分類タスク、またはクラスタリング・タスクのいずれかであることを示す。
【０１４０】
本発明のいくつかの実施形態では、データマイニング・タスクが回帰タスクとして分類された場合に、損失関数タイプが受信される。本発明のいくつかの実施形態では、データマイニング・タスクが分類タスクとして分類された場合に、損失関数タイプが受信される。本発明のいくつかの実施形態では、損失関数は、与えられたデータ・セットの予測データに対する類似度を測定する。本発明のいくつかの実施形態では、データマイニング・プロセスの目標は、損失関数を最小化することである。本発明のいくつかの実施形態では、損失関数を最小化することにより推定誤差を減らす。本発明のいくつかの実施形態では、損失関数を最小化することにより推定精度を改善する。本発明のいくつかの実施形態では、損失関数タイプは、二乗損失関数、対数損失関数、または二乗ヒンジ損失関数のいずれかとして損失関数を示す。
【０１４１】
本発明のいくつかの実施形態では、正則化関数が受信される。本発明のいくつかの実施形態では、正則化関数は、推定プロセスのための追加の情報のセットを提供する。本発明のいくつかの実施形態では、追加の情報のセットは、不良設定問題を解決する能力を改善する。本発明のいくつかの実施形態では、追加の情報のセットは、過剰適合を防止する能力を改善する。本発明のいくつかの実施形態では、追加の情報のセットは、ドメイン知識を組み込む能力を改善する。本発明のいくつかの実施形態では、スパース・データ・セットを解釈するためにＬ０ノルムが使用される。本発明のいくつかの実施形態では、スパース・データ・セットを解釈するためにＬ１ノルムが使用される。本発明のいくつかの実施形態では、推定精度は、データ値のサブセットにペナルティを課すことによって向上される。本発明のいくつかの実施形態では、データ値のサブセットは、正則化関数によってペナルティを課せられる。
【０１４２】
本発明のいくつかの実施形態では、クラスタリング関数（類似関数）が、データマイニング・タスクのクラスタリングのために受信される。本発明のいくつかの実施形態では、クラスタリング関数は、複数のデータ・クラスタへデータのセットを分割するコストを提供する。本発明のいくつかの実施形態では、クラスタリング関数は、要素のサブセットをクラスタに含めるコストを提供する。本発明のいくつかの実施形態では、クラスタリング関数は、要素の指定されたサブセットのリスト内の要素のサブセットをクラスタリングするコストを提供する。本発明のいくつかの実施形態では、クラスタリング関数（類似関数）は、ｋ平均法関数である。本発明のいくつかの実施形態では、クラスタリング関数（類似関数）は、正規化カット関数である。本発明のいくつかの実施形態では、データのセットは、グループ内（クラスタ内）類似度がグループ間（クラスタ間）類似度よりも大きいように、データのセットがグループ化（クラスタリング）される。
【０１４３】
本発明のいくつかの実施形態では、データ・セットに関連付けられたデータ記述子のセットが受信される。本発明のいくつかの実施形態では、データ記述子のセットは、データ・セットの特性を定義するプロパティのセットを含む。本発明のいくつかの実施形態では、データ・セットの特性を定義するプロパティのセットは、データマイニング・タスクの計算量に影響を与える。本発明のいくつかの実施形態では、データ記述子のセットは、以下に限定されないが、（ｉ）データ・セットの特徴の数（次元）、（ｉｉ）データ・セットにおける記述されたアイテムの数、（ｉｉｉ）ブロック構造を有するデータ・セットについてのデータ・セットにおけるブロックの数、（ｉｖ）損失関数の部分的分離可能性の程度（たとえば、ハイパーグラフにおけるｋカット関数）、（ｖ）最大固有値のべき乗
【数２０】
0006649405.tif 000021
、（ｖｉ）条件数σｍａｘ（Ａ）／σｍｉｎ（Ａ）、（ｖｉｉ）アイテム−特徴行列のスペクトルに関する他のプロパティのセット、または（ｖｉｉｉ）行列の列もしくはブロックにおける非ゼロ値の最大数を含む。本発明のいくつかの実施形態では、行われることになる反復の数を決定するために条件数が使用される。
【０１４４】
本発明のいくつかの実施形態では、データマイニング・タスクの計算量を推定するためのアルゴリズムのセットから、アルゴリズムが選択される。本発明のいくつかの実施形態では、アルゴリズムの選択は、データ・セットに基づく。本発明のいくつかの実施形態では、アルゴリズムの選択は、データ記述子のセットに基づく。本発明のいくつかの実施形態では、アルゴリズムの選択は、制御値のセットに基づく。本発明のいくつかの実施形態では、アルゴリズムの選択は、タスク・パラメータのセットに基づく。本発明のいくつかの実施形態では、アルゴリズムの選択は、データマイニング・タスクの計算基準のセットの評価に基づく。本発明のいくつかの実施形態では、アルゴリズムは、入力パラメータのセットに少なくとも部分的に基づいて選択される。本発明のいくつかの実施形態では、ロジックのセットが、アルゴリズムを選択するために提供される。本発明のいくつかの実施形態では、ロジックのセットは、データマイニング・タスクを解決するために最も適切なアルゴリズムを選ぶように適合される。本発明のいくつかの実施形態では、アルゴリズム選択は自動化される。本発明のいくつかの実施形態では、アルゴリズム選択を自動化することが、データマイニング・タスクのユーザ・フレンドリ性を向上させる。
【０１４５】
本発明のいくつかの実施形態は、以下の特徴、すなわち、（ｉ）データマイニング・タスクを行うために必要とされる計算リソースのセットに関する情報を提供すること、（ｉｉ）制御値のセットに関する情報を展開スケジューラに提供すること、（ｉｉｉ）複数の分散コンピューティング・システムに関する情報のセットを含む上記展開スケジューラを利用すること、（ｉｖ）計算リソース情報のセットに基づいて分散コンピューティング・システムのセットを選択すること、（ｖ）制御値のセットに基づいて分散コンピューティング・システムのセットを選択すること、または（ｖｉ）分散コンピューティング・システム上でデータマイニング・タスクを展開するためのコストに関する情報のセットを返すこと、あるいはそれらの組合せのうちの１つまたは複数を含む。
【０１４６】
本発明のいくつかの実施形態では、展開スケジューラが、データマイニング・タスクを行うための適切な展開戦略を調査する。本発明のいくつかの実施形態では、分散コンピューティング・システム（クラウド環境）が、最も低いコストでのデータマイニング・タスクの処理を確保するように選択される。本発明のいくつかの実施形態では、分散コンピューティング・システムは、データマイニング・タスクの最も速い処理を確保するように選択される。本発明のいくつかの実施形態では、分散コンピューティング・システムは、データマイニング・タスクを処理するための所望のセキュリティを確保するように選択される。本発明のいくつかの実施形態では、分散コンピューティング・システムの選択に関する情報は、グラフィカル・ユーザ・インターフェース上に表示される。
【０１４７】
本発明のいくつかの実施形態は、以下の特徴、すなわち、（ｉ）データマイニング・タスクの高水準タスク記述を受信すること、（ｉｉ）タスク定義アプリケーションを使用して、高水準タスク記述に基づいてデータマイニング・タスクのパラメータのセットを導出すること、または（ｉｉｉ）パラメータのセットに少なくとも部分的に基づいて、データマイニング・タスクを行うために必要とされる計算リソースのセットを推定すること、あるいはそれらの組合せのうちの１つまたは複数を含む。
【０１４８】
本発明のいくつかの実施形態では、データマイニング・タスクのユーザビリティを向上するためにインターフェースが提供される。本発明のいくつかの実施形態では、インターフェースは、ユーザ・フレンドリな構文でデータマイニング・タスクの高水準記述を受信するように適合される。本発明のいくつかの実施形態では、データマイニング・タスクの高水準記述に基づいてデータマイニング・タスクが精緻化される。本発明のいくつかの実施形態では、データマイニング・タスクを精緻化することは、（ｉ）データマイニング・アルゴリズムを選択すること、（ｉｉ）データ・セットを前処理すること、（ｉｉｉ）データ記述子のセットを導出すること、または（ｉｖ）コスト記述子のセットを導出すること、あるいはそれらの組合せのうちの１つまたは複数を含む。本発明のいくつかの実施形態では、精緻化プロセスの結果は、データマイニング・タスクに必要とされる計算リソースの推定に対する入力である。本発明のいくつかの実施形態では、精緻化プロセスの結果は、データマイニング・タスクに必要とされる計算コストの推定に対する入力である。本発明のいくつかの実施形態では、精緻化プロセスを自動化することが、データマイニング・タスクのユーザ・フレンドリ性を向上させる。
【０１４９】
本発明のいくつかの実施形態は、データマイニング・タスクを実行するための計算リソースの推定値を提供する。本発明のいくつかの実施形態は、それらが相互に排他的でない場合、互いに自由に組み合わされる。
【０１５０】
本発明のいくつかの実施形態は、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースの推定値を提供する。本発明のいくつかの実施形態は、クラウド・コンピューティング環境上でデータマイニング・タスクを実行するための計算リソースの推定値を提供する。本発明のいくつかの実施形態は、以下に限定されないが、（ｉ）データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信すること、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信すること、（ｉｉｉ）データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信すること、あるいは（ｉｖ）受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定すること、あるいはそれらの組合せを含む１つまたは複数のステップを含む。
【０１５１】
本発明の実施形態の実際のワークフローは、上記または本明細書に列挙されたステップの順序に従う必要はない。本発明のいくつかの実施形態では、タスク・パラメータのセットが第１の入力であり、データ・セットが第２の入力であり、制御値のセットが第３の入力であり、そして推定値が生成される。
【０１５２】
本発明のいくつかの実施形態は、現在の技術水準の改善のために、以下の事実、潜在的問題、または潜在的領域、あるいはそれらの組合せ、すなわち、（ｉ）データマイニング・タスクが非自明的な反復アルゴリズムを利用すること、または（ｉｉ）コスト推定のためのリソース消費が追加的な変数であること、あるいはその両方を認識する。
【０１５３】
本発明のいくつかの実施形態は、分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法に関係した以下の特徴、すなわち、（ｉ）データマイニング・タスクに対する制御変数（精度、完了までの時間、他）であってデータマイニング・タスクに必要とされる計算リソースの量に影響する制御変数のセットを提供すること、（ｉｉ）行われることになるデータマイニング・タスクの記述であって、データ・セット、そのデータセットに行われるタスク、およびユーザからのあり得る追加の変数を示す記述を受信すること、（ｉｉｉ）データ・セットについてのデータ記述子であって、データマイニング・タスクのための計算リソースを推定することに関連するデータセットの重要な特徴を記述するもしくは境界付けるデータ記述子を受信すること、（ｉｖ）データマイニング・タスクを行うジョブを定義し、データ記述子および制御変数の関数として、データマイニング・タスク、および分散コンピューティング・システムの次元ならびに使用可能性に基づいて、分散コンピューティング・システム上でそのタスクを行うための計算リソースを推定すること、または（ｖ）制御変数に応じて、推定された計算リソースをユーザに提示すること、あるいはそれらの組合せのうちの１つまたは複数を含む。
【０１５４】
本発明のいくつかの実施形態は、クラウドにおけるデータマイニング・タスクの価格設定に関する。本発明のいくつかの実施形態は、クラウド・プロバイダにとってのインフラストラクチャ・コストと、顧客にとっての精度結果との間のギャップを橋渡しする。本発明のいくつかの実施形態は、以下の特徴、すなわち、（ｉ）クラウド・インフラストラクチャ上でのデータマイニング・タスクのセットの実行のための自動化された価格設定を可能にすること、（ｉｉ）ターゲットの精度、完了までの時間、または他のデータマイニングに関係する要件と共に、データマイニング・ジョブ・スイートを実行するために必要とされる、システム・リソースおよびハードウェア・リソースのセットを推定すること、（ｉｉｉ）データマイニング・ジョブ・スイートの実行に関連付けられたコストの推定値の推定または改善あるいはその両方をすること、あるいは（ｉｖ）見込み顧客に対して推定価格を設定および公開すること、あるいはそれらの組合せのうちの１つまたは複数を含む。
【０１５５】
本発明のいくつかの実施形態は、以下の特徴、すなわち、（ｉ）データマイニング・タスクの記述をユーザに求めること、（ｉｉ）データマイニング・タスクを行うための実行プランのセットと、各実行プランについての推定されたコスト行列のセットとを作成すること、（ｉｉｉ）データ・セットまたはターゲット・タスクの明確化をユーザに求めること、（ｉｖ）コスト記述子のセットに影響する（ターゲットとするデータ・セットの主要な特徴を説明する）データ記述子をさらに抽出すること、（ｖ）データマイニング・パラメータのセットの関数としてコストのセットをユーザに提示すること、（ｖｉ）ターゲット・アプリケーションを記述する高水準タグのセットを受信すること、（ｖｉｉ）データマイニング・タスクに対する要件のセットを示唆すること、（ｖｉｉｉ）ターゲット・アプリケーションのシステムおよび使用可能性要件に応じて、パッケージのセットを提供すること、（ｉｘ）ターゲットとするデータマイニング・タスクを展開するためのパッケージおよび展開戦略を選択すること、（ｘ）コストのセットおよび展開戦略をユーザに提示すること、のうちの１つまたは複数を含む。
【０１５６】
上述の特徴の可能な組合せは、以下の項目であり得る。
【０１５７】
１．  分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法であって、（ｉ）データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信することと、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信することと、（ｉｉｉ）データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信することと、（ｉｖ）受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することとを含むコンピュータ実装方法。
【０１５８】
２．  データマイニング・タスクを行うために必要とされる推定された計算リソースに基づいて、データマイニング・タスクのコストを推定することをさらに含む、項目１に記載のコンピュータ実装方法。
【０１５９】
３．  方法は、コスト記述子を導出することによってコストを推定し、コスト記述子は、データマイニング・タスクを計算するために必要とされる反復の数に関する情報と、各反復当たりの動作の複雑さに関する情報とを少なくとも含む、項目２に記載のコンピュータ実装方法。
【０１６０】
４．  方法は、１つまたは複数の制御変数の値の範囲に基づいてコスト・データのセットを提供することをさらに含み、コスト・データのセットは、１つまたは複数の制御変数の特定の値に関連付けられている複数のコスト値を含む、項目２または３に記載のコンピュータ実装方法。
【０１６１】
５．  １つまたは複数の制御値は、計算リソースを推定する所望の精度、または計算リソース推定を計算するための持続期間、あるいはその両方である、項目１ないし４のいずれか一項に記載のコンピュータ実装方法。
【０１６２】
６．  タスク・パラメータは、アルゴリズム分類子を含み、アルゴリズム分類子は、データに対して行われることになるデータマイニング・タスクのタイプを定義する、項目１ないし５のいずれか一項に記載のコンピュータ実装方法。
【０１６３】
７．  アルゴリズム分類子は、データマイニング・タスクを、回帰タスク、分類タスク、またはクラスタリング・タスクとして分類する、項目６に記載のコンピュータ実装方法。
【０１６４】
８．  回帰タスクまたは分類タスクの場合に、損失関数タイプを受信することをさらに含む、項目７に記載のコンピュータ実装方法。
【０１６５】
９．  正則化関数を受信することをさらに含む、項目８に記載のコンピュータ実装方法。
【０１６６】
１０．  方法は、クラスタリング・タスクの場合、クラスタリングまたは類似関数を受信することをさらに含み、クラスタリングまたは類似関数は、データ・セットに含まれているデータの複数のデータ・クラスタへの分割を評価する、項目７に記載のコンピュータ実装方法。
【０１６７】
１１．  方法は、データ・セットに含まれているデータに関連付けられた１つまたは複数のデータ・プロパティを受信することをさらに含み、データ・プロパティは、データマイニング・タスクを実行する計算量に影響するデータの特性を定義する、項目１ないし１０のいずれか一項に記載のコンピュータ実装方法。
【０１６８】
１２．  データ・セットに対してデータ記述子抽出アルゴリズムを適用することによって、データ・セットから１つまたは複数のデータ記述子を抽出することをさらに提供する、項目１ないし１１のいずれか一項に記載のコンピュータ実装方法。
【０１６９】
１３．  データマイニング・タスクの計算基準を評価することによって、受信されたデータ・セットもしくは受信されたデータ記述子またはその両方、１つまたは複数の制御値、ならびに１つまたは複数のタスク・パラメータに基づいて、データマイニング・タスクの計算量を推定するための複数のアルゴリズムのうちからアルゴリズムを選択することをさらに提供する、項目１ないし１２のいずれか一項に記載のコンピュータ実装方法。
【０１７０】
１４．  （ｉ）データマイニング・タスクを行うために必要とされる計算リソースに関する情報、および１つまたは複数の制御値を、展開スケジューラに提供することであって、展開スケジューラは、データマイニング・タスクを行うように適合されている複数の分散コンピューティング・システムに関する情報を含む、提供することと、（ｉｉ）計算リソース情報および１つまたは複数の制御値に基づいて、１つまたは複数の分散コンピューティング・システムを選択することと、（ｉｉｉ）特定の分散コンピューティング・システム上でデータマイニング・タスクを展開するコストに関する情報を返すこととをさらに含む、項目１ないし１３のいずれか一項に記載のコンピュータ実装方法。
【０１７１】
１５．  特定の分散コンピューティング・システム上でデータマイニング・タスクを処理するための展開戦略に関する情報を返すことをさらに含む、項目１４に記載のコンピュータ実装方法。
【０１７２】
１６．  （ｉ）データマイニング・タスクについての以前に行われたコスト推定に関する情報と、データマイニング・タスクを展開しているときに発生した実際のコストとを含むフィードバック情報を受信することと、（ｉｉ）フィードバック情報を使用することによって、現在のデータマイニング・タスクのコスト推定を精緻化することとをさらに含む、項目２ないし１５のいずれか一項に記載のコンピュータ実装方法。
【０１７３】
１７．  （ｉ）データマイニング・タスクを処理するための複数のプロセス・フローを算出することと、（ｉｉ）各プロセス・フローについて、データマイニング・タスクを処理するための計算量を推定することと、（ｉｉｉ）各プロセス・フローについて、分散コンピューティング・システム上でデータマイニング・タスクを処理するためのコストを推定することと、（ｉｖ）複数のプロセス・フローのコストをユーザに提示すること、または、データマイニング・タスクを処理するためのコストが最も低いプロセス・フローを選ぶこととをさらに含む、項目１ないし１６のいずれか一項に記載のコンピュータ実装方法。
【０１７４】
１８．  （ｉ）行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、（ｉｉ）タスク定義アプリケーションを使用することによって、高水準タスク記述に基づいてデータマイニング・タスクのパラメータを導出することと、（ｉｉｉ）タスク定義アプリケーションにより提供されたパラメータに基づいて、データマイニング・タスクを行うための計算リソースを推定することとをさらに含む、項目１ないし１７のいずれか一項に記載のコンピュータ実装方法。
【０１７５】
１９．  タスク定義アプリケーションは、１つもしくは複数の適切なデータマイニング・アルゴリズム、１つもしくは複数のデータ記述子、または１つもしくは複数のコスト記述子、あるいはそれらの組合せを示すパラメータを導出する、項目１８に記載のコンピュータ実装方法。
【０１７６】
２０．  分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ・プログラム製品であって、具現化されたプログラム命令を有するコンピュータ可読記憶媒体を含み、プログラム命令は、方法をプロセッサに実行させるためにプロセッサによって実行可能であり、方法は、（ｉ）データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信することと、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信することと、（ｉｉｉ）データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信することと、（ｉｖ）受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することとを含む、コンピュータ・プログラム製品。
【０１７７】
２１．  分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ実装方法であって、（ｉ）行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信することと、（ｉｉｉ）タスク定義アプリケーションを実行することであって、タスク定義アプリケーションは、行われることになるデータマイニング・タスクの高水準タスク記述に基づいて、データマイニング・タスクに対するパラメータを提供する、実行することと、（ｉｖ）パラメータおよび１つまたは複数の制御値に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することとを含むコンピュータ実装方法。
【０１７８】
２２．  データマイニング・タスクを行うために必要とされる推定された計算リソースに基づいて、データマイニング・タスクのコストを推定することをさらに含む、項目２１に記載のコンピュータ実装方法。
【０１７９】
２３．  方法は、コスト記述子を導出することによってコストを推定し、コスト記述子は、データマイニング・タスクを計算するために必要とされる反復の数に関する情報と、各反復当たりの動作の複雑さに関する情報とを少なくとも含む、項目２２に記載のコンピュータ実装方法。
【０１８０】
２４．  分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのコンピュータ・プログラム製品であって、具現化されたプログラム命令を有するコンピュータ可読記憶媒体を含み、プログラム命令は、方法をプロセッサに実行させるためにプロセッサによって実行可能であり、方法は、（ｉ）行われることになるデータマイニング・タスクの高水準タスク記述を受信することと、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信することと、（ｉｉｉ）タスク定義アプリケーションを実行することであって、タスク定義アプリケーションは、行われることになるデータマイニング・タスクの高水準タスク記述に基づいて、データマイニング・タスクに対するパラメータを提供する、実行することと、（ｉｖ）パラメータおよび１つまたは複数の制御値に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定することとを含む、コンピュータ・プログラム製品。
【０１８１】
２５．  分散コンピューティング・システム上でデータマイニング・タスクを実行するための計算リソースを推定するためのシステムであって、（ｉ）データマイニング・タスクが基づいて行われるデータ・セット、または、データマイニング・タスクを実行するための計算リソースを推定することに関連するデータ・セットの特徴を記述するもしくは境界付けるデータ記述子、あるいはその両方を受信するためのインターフェースと、（ｉｉ）データマイニング・タスクに対する１つまたは複数の制御値を受信するためのインターフェースと、（ｉｉｉ）データセットに対して行われることになるデータマイニング・タスクを定義する１つまたは複数のタスク・パラメータを受信するためのインターフェースと、（ｉｖ）受信されたデータ・セットまたは受信されたデータ記述子、１つまたは複数の制御値、および１つまたは複数のタスク・パラメータに基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うための計算リソースを推定するように適合されたデータ処理モジュールとを備えるシステム。
【０１８２】
２６．  （ｉ）ターゲット・データとデータマイニング・タスクとを定義するタスク・パラメータのセットを受信することと、（ｉｉ）データマイニング・タスクを記述する制御値のセットを受信することと、（ｉｉｉ）ターゲット・データ・セットを記述するデータ記述子のセットを受信することと、（ｉｖ）タスク・パラメータのセット、制御値のセット、データ記述子のセット、および分散コンピューティング・システムの使用可能性に少なくとも部分的に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うために必要とされる計算リソースのセットを推定することとを含み、少なくとも推定するステップは、コンピュータ・ハードウェア上で実行されているコンピュータ・ソフトウェアによって行われる、方法。
【０１８３】
２７．  （ｉ）コスト記述子のセットを導出することによって、データマイニング・タスクを行うために必要とされる推定されたコストを生成することをさらに含み、コスト記述子のセットは、データマイニング・タスクを行うために必要とされる計算反復の数と、各計算反復の複雑さのレベルとを含む、項目２６に記載の方法。
【０１８４】
２８．  データマイニング・タスクを行うために必要とされる推定されたコストを報告することをさらに含む、項目２７に記載の方法。
【０１８５】
２９．  データマイニング・タスクのタイプを定義することをさらに含み、タイプは、回帰タスク、分類タスク、およびクラスタリング・タスクのうちの１つである、項目２６に記載の方法。
【０１８６】
３０．  クラスタリング・タスク・タイプに関して、ターゲット・データ・セットに含まれているデータの複数のデータ・クラスタへの分割を評価するためのクラスタリング関数を受信することをさらに含む、項目２９に記載の方法。
【０１８７】
３１．  （ｉ）データマイニング・タスクの高水準タスク記述を受信することと、（ｉｉ）タスク定義アプリケーションを使用して、高水準タスク記述に基づいてデータマイニング・タスクの導出されたパラメータのセットを導出することと、（ｉｉｉ）導出されたパラメータのセットに基づいて、データマイニング・タスクを行うための計算リソースを推定することとをさらに含む、項目２６に記載の方法。
【０１８８】
３２．  コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、コンピュータ可読記憶媒体は、（ｉ）デバイスによって実行可能な第１の命令であって、デバイスに、ターゲット・データ・セットとデータマイニング・タスクとを定義するタスク・パラメータのセットを受信するようにさせる第１の命令と、（ｉｉ）デバイスによって実行可能な第２の命令であって、デバイスに、データマイニング・タスクを記述する制御値のセットを受信するようにさせる第２の命令と、（ｉｉｉ）デバイスによって実行可能な第３の命令であって、デバイスに、ターゲット・データ・セットを記述するデータ記述子のセットを受信するようにさせる第３の命令と、（ｉｖ）デバイスによって実行可能な第４の命令であって、デバイスに、タスク・パラメータのセット、制御値のセット、データ記述子のセット、および分散コンピューティング・システムの使用可能性に少なくとも部分的に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うために必要とされる計算リソースのセットを推定するようにさせる第４の命令とを記憶する、コンピュータ・プログラム製品。
【０１８９】
３３．  デバイスによって実行可能な第５の命令であって、デバイスに、コスト記述子のセットを導出することによって、データマイニング・タスクを行うために必要とされる推定されたコストを生成するようにさせる第５の命令をさらに含み、コスト記述子のセットは、データマイニング・タスクを行うために必要とされる計算反復の数と、各計算反復の複雑さのレベルとを含む、項目３２に記載のコンピュータ・プログラム製品。
【０１９０】
３４．  デバイスによって実行可能な第６の命令であって、デバイスに、データマイニング・タスクを行うために必要とされる推定されたコストを報告するようにさせる第６の命令をさらに含む、項目３３に記載のコンピュータ・プログラム製品。
【０１９１】
３５．  デバイスによって実行可能な第５の命令であって、デバイスに、データマイニング・タスクのタイプを定義するようにさせる第５の命令をさらに含み、タイプは、回帰タスク、分類タスク、およびクラスタリング・タスクのうちの１つである、項目３２に記載のコンピュータ・プログラム製品。
【０１９２】
３６．  デバイスによって実行可能な第６の命令であって、デバイスに、クラスタリング・タスク・タイプに関して、ターゲット・データ・セットに含まれているデータの複数のデータ・クラスタへの分割を評価するためのクラスタリング関数を受信するようにさせる第６の命令をさらに含む、項目３５に記載のコンピュータ・プログラム製品。
【０１９３】
３７．  （ｉ）デバイスによって実行可能な第５の命令であって、デバイスに、データマイニング・タスクの高水準タスク記述を受信するようにさせる第５の命令と、（ｉｉ）デバイスによって実行可能な第６の命令であって、デバイスに、タスク定義アプリケーションを使用して、高水準タスク記述に基づいてデータマイニング・タスクの導出されたパラメータのセットを導出するようにさせる第６の命令と、（ｉｉｉ）デバイスによって実行可能な第７の命令であって、デバイスに、導出されたパラメータのセットに基づいて、データマイニング・タスクを行うための計算リソースを推定するようにさせる第７の命令とをさらに含む、項目３２に記載のコンピュータ・プログラム製品。
【０１９４】
３８．  プロセッサ・セットと、コンピュータ可読記憶媒体とを備えるコンピュータ・システムであって、プロセッサ・セットは、コンピュータ可読記憶媒体に記憶された命令を実行するように、構成、配置、接続、またはプログラム、あるいはそれらの組合せがなされており、命令は、（ｉ）デバイスによって実行可能な第１の命令であって、デバイスに、ターゲット・データ・セットとデータマイニング・タスクとを定義するタスク・パラメータのセットを受信するようにさせる第１の命令と、（ｉｉ）デバイスによって実行可能な第２の命令であって、デバイスに、データマイニング・タスクを記述する制御値のセットを受信するようにさせる第２の命令と、（ｉｉｉ）デバイスによって実行可能な第３の命令であって、デバイスに、ターゲット・データ・セットを記述するデータ記述子のセットを受信するようにさせる第３の命令と、（ｉｖ）デバイスによって実行可能な第４の命令であって、デバイスに、タスク・パラメータのセット、制御値のセット、データ記述子のセット、および分散コンピューティング・システムの使用可能性に少なくとも部分的に基づいて、分散コンピューティング・システム上でデータマイニング・タスクを行うために必要とされる計算リソースのセットを推定するようにさせる第４の命令とを含む、コンピュータ・システム。
【０１９５】
３９．  デバイスによって実行可能な第５の命令であって、デバイスに、コスト記述子のセットを導出することによって、データマイニング・タスクを行うために必要とされる推定されたコストを生成するようにさせる第５の命令をさらに含み、コスト記述子のセットは、データマイニング・タスクを行うために必要とされる計算反復の数と、各計算反復の複雑さのレベルとを含む、項目３８に記載のコンピュータ・システム。
【０１９６】
４０．  デバイスによって実行可能な第６の命令であって、デバイスに、データマイニング・タスクを行うために必要とされる推定されたコストを報告するようにさせる第６の命令をさらに含む、項目３９に記載のコンピュータ・システム。
【０１９７】
４１．  デバイスによって実行可能な第５の命令であって、デバイスに、データマイニング・タスクのタイプを定義するようにさせる第５の命令をさらに含み、タイプは、回帰タスク、分類タスク、およびクラスタリング・タスクのうちの１つである、項目３８に記載のコンピュータ・システム。
【０１９８】
４２．  デバイスによって実行可能な第６の命令であって、デバイスに、クラスタリング・タスク・タイプに関して、ターゲット・データ・セットに含まれているデータの複数のデータ・クラスタへの分割を評価するためのクラスタリング関数を受信するようにさせる第６の命令をさらに含む、項目４１に記載のコンピュータ・システム。
【０１９９】
４３．  （ｉ）デバイスによって実行可能な第５の命令であって、デバイスに、データマイニング・タスクの高水準タスク記述を受信するようにさせる第５の命令と、（ｉｉ）デバイスによって実行可能な第６の命令であって、デバイスに、タスク定義アプリケーションを使用して、高水準タスク記述に基づいてデータマイニング・タスクの導出されたパラメータのセットを導出するようにさせる第６の命令と、（ｉｉｉ）デバイスによって実行可能な第７の命令であって、デバイスに、導出されたパラメータのセットに基づいて、データマイニング・タスクを行うための計算リソースを推定するようにさせる第７の命令とをさらに含む、項目３８に記載のコンピュータ・システム。
【０２００】
４４．  （ｉ）データ・セットを受信することと、（ｉｉ）制御値のセットを受信することと、（ｉｉｉ）データマイニング・タスク・パラメータのセットを受信することと、（ｉｖ）データマイニング・タスクを行うために必要とされる計算リソースのセットを推定することとを含み、制御値のセットは、データマイニング・タスクを記述し、データマイニング・タスク・パラメータのセットは、データ・セットおよびデータマイニング・タスクを定義し、計算リソースのセットは、データ・セット、制御値のセット、およびデータマイニング・タスク・パラメータのセットに少なくとも部分的に基づき、少なくとも推定するステップは、コンピュータ・ハードウェア上で実行されているコンピュータ・ソフトウェアによって行われる、方法。
【０２０１】
４５．  制御値のセットは、精度および時間的持続期間を含み、精度は、計算リソースのセットの推定であり、時間的持続期間は、データマイニング・タスクを行う時間期間である、項目４４に記載の方法。
【０２０２】
４６．  計算リソースのセットを推定することは、（ｉ）先行の計算リソース推定値のセットを呼び出すことと、（ｉｉ）先行の計算リソース・コストのセットを受信することとを含み、先行の計算リソース・コストのセットは、先行の計算リソース推定値のセットに対応する、項目４４に記載の方法。
【０２０３】
４７．  計算リソースのセットを推定することは、（ｉ）データマイニング・タスクのためのプロセス・フローのセットを推定することと、（ｉｉ）プロセス・フローのセットにおける各プロセス・フローについて必要とされる計算リソースのセットを推定することとを含み、プロセス・フローのセットにおける異なるフローは、データマイニング・タスクを完了する異なる様式を表す、項目４４に記載の方法。
【０２０４】
４８．  プロセッサ・セットと、コンピュータ可読記憶媒体とを備えるコンピュータ・システムであって、プロセッサ・セットは、コンピュータ可読記憶媒体に記憶された命令を実行するように、構成、配置、接続、またはプログラム、あるいはそれらの組合せがなされており、命令は、（ｉ）デバイスによって実行可能な第１の命令であって、デバイスに、データ・セットを受信するようにさせる第１の命令と、（ｉｉ）デバイスによって実行可能な第２の命令であって、デバイスに、制御値のセットを受信するようにさせる第２の命令と、（ｉｉｉ）デバイスによって実行可能な第３の命令であって、デバイスに、データマイニング・タスク・パラメータのセットを受信するようにさせる第３の命令と、（ｉｖ）デバイスによって実行可能な第４の命令であって、デバイスに、データマイニング・タスクを行うために必要とされる計算リソースのセットを推定するようにさせる第４の命令とを含み、制御値のセットは、データマイニング・タスクを記述し、データマイニング・タスク・パラメータのセットは、データ・セットおよびデータマイニング・タスクを定義し、計算リソースのセットは、データ・セット、制御値のセット、およびデータマイニング・タスク・パラメータのセットに少なくとも部分的に基づく、コンピュータ・システム。
【０２０５】
４９．  計算リソースのセットを推定するための第４の命令は、（ｉ）デバイスによって実行可能な第５の命令であって、デバイスに、先行の計算リソース推定値のセットを呼び出すようにさせる第５の命令と、（ｉｉ）デバイスによって実行可能な第６の命令であって、デバイスに、先行の計算リソース・コストのセットを受信するようにさせる第６の命令と、を含み、先行の計算リソース・コストのセットは、先行の計算リソース推定値のセットに対応する、項目４８に記載のコンピュータ・システム。
【０２０６】
５０．  計算リソースのセットを推定するための第４の命令は、（ｉ）デバイスによって実行可能な第５の命令であって、デバイスに、データマイニング・タスクのためのプロセス・フローのセットを推定するようにさせる第５の命令と、（ｉｉ）デバイスによって実行可能な第６の命令であって、デバイスに、プロセス・フローのセットにおける各プロセス・フローについて必要とされる計算リソースのセットを推定するようにさせる第６の命令とを含み、プロセス・フローのセットにおける異なるフローは、データマイニング・タスクを完了する異なる様式を表す、項目４９に記載のコンピュータ・システム。
【図１】
0006649405.tif 000022
【図２】
0006649405.tif 000023
【図３】
0006649405.tif 000024
【図４】
0006649405.tif 000025
【図５】
0006649405.tif 000026
【図６】
0006649405.tif 000027
【図７】
0006649405.tif 000028
【図８】
0006649405.tif 000029
【図９】
0006649405.tif 000030