(57)【要約】  分散型コンピューティングシステムのフレームセットパッケージストアを実装するための様々な実施形態、方法、およびシステムが提供される。初めに、フレームセットパッケージのためのクエリがフレームセットパッケージクエリインターフェースから受け取られる。フレームセットクエリインターフェースは複数のフレームセットパッケージカテゴリを含む。フレームセットパッケージプロファイルに基づいてクエリ結果フレームセットパッケージが識別される。クエリ結果フレームセットパッケージが通信される。
2021526685.tif 000002
【特許請求の範囲】
【請求項１】
分散型コンピューティングシステムのフレームセットパッケージストアを実装するためのシステムであって、
フレームセットパッケージクエリインターフェースから、フレームセットパッケージのためのクエリを受け取ることであり、前記フレームセットクエリインターフェースは複数のフレームセットパッケージカテゴリを含む、受け取ることと、
フレームセットパッケージプロファイルに基づいてクエリ結果フレームセットパッケージを識別することと、
前記クエリ結果フレームセットパッケージを通信することと
を行うように構成されたフレームセットパッケージストア
を備える、システム。
【請求項２】
前記クエリの少なくとも一部は自動的に提案されたフレームセットパッケージを起動し、前記自動的に提案されたフレームセットは前記フレームセットの合成データシーンに関連付けられ、前記合成データシーンは合成データアセットを有する、請求項１に記載のシステム。
【請求項３】
前記合成データアセットはアセット変動パラメータおよびシーン変動パラメータに関連付けられ、前記アセット変動パラメータおよびシーン変動パラメータは機械学習のためにプログラム可能である、請求項２に記載のシステム。
【請求項４】
前記フレームセットパッケージはイメージ生成デバイスに関連付けられ、前記イメージ生成デバイスは、機械学習のためにプログラム可能な既知のデバイス変動性パラメータを含む、請求項１に記載のシステム。
【請求項５】
前記クエリ結果フレームセットパッケージは値限定子が割り当てられる、請求項１に記載のシステム。
【請求項６】
前記クエリ結果フレームセットパッケージは、前記フレームセットの合成データシーンに関連付けられた対応するプレビューと共に表示するために通信される、請求項１に記載のシステム。
【請求項７】
前記クエリ結果フレームセットパッケージは、前記分散型コンピューティングシステム上で動作する内部機械学習モデルトレーニングサービス、または外部機械学習モデルトレーニングサービスに通信される、請求項１に記載のシステム。
【請求項８】
分散型コンピューティングシステムのフレームセットパッケージストアを実装するための命令を記憶する１つまたは複数のコンピュータ記憶媒体であって、前記命令は、コンピューティングデバイスの１つまたは複数のプロセッサによって実行されるとき、
フレームセットパッケージクエリインターフェースにおいて、フレームセットパッケージのためのクエリを受け取ること、
クエリ結果フレームセットパッケージを生成することであって、前記クエリ結果フレームセットパッケージはイメージ生成デバイスに関連付けられ、前記イメージ生成デバイスは機械学習のための既知のデバイス変動性パラメータを含む、生成すること、
前記クエリ結果フレームセットパッケージを取り出すための指示を受け取ること、および、
前記クエリ結果フレームセットパッケージを送信させること、
を含む動作を、前記コンピューティングデバイスに実行させる、
１つまたは複数のコンピュータ記憶媒体。
【請求項９】
前記フレームセットパッケージクエリインターフェースは、複数の分散型フレームセットクエリインターフェースからフレームセットパッケージのためのクエリを受け取る、サービスとしての合成データ（ＳＤａａＳ）と通信し、前記フレームセットクエリインターフェースは複数のフレームセットパッケージカテゴリを含む、請求項８に記載の媒体。
【請求項１０】
分散型コンピューティングシステムのフレームセットパッケージ生成器を実装するためのコンピュータ実装方法であって、
フレームセットパッケージクエリインターフェースから、フレームセットパッケージのためのクエリを受け取るステップであって、前記フレームセットクエリインターフェースは複数のフレームセットパッケージカテゴリを含む、受け取るステップと、
フレームセットパッケージプロファイルに基づいてクエリ結果フレームセットパッケージを識別するステップと、
前記クエリ結果フレームセットパッケージを通信するステップと、
を含む、コンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]ユーザは、タスクを達成するために様々なタイプの技術システムに依拠する。技術システムは、明示的にプログラミングすることなく、データを用いて特定のタスクの性能を漸進的に向上させる能力をコンピュータに与える統計的技法を使用する機械学習に基づいて改善することができる。たとえば機械学習は、データセキュリティ、個人のセキュリティ、不正検出、ヘルスケア、自然言語処理、オンライン検索および提案、金融取引、およびスマートカーに使用することができる。これらの分野または領域の各々について、機械学習モデルは、学習タスクと機械学習アプリケーションとを合致させるためのフレームワークを作成するために使用される例示のデータのセットである、トレーニングデータセットを用いてトレーニングされる。たとえば顔認識システムは、人を正確に識別するために、人の顔の固有の特徴を顔の既知の特徴のセットと比較するようにトレーニングすることができる。様々な分野での機械学習の使用の絶え間ない増加、および機械学習モデルを正確にトレーニングすることの重要性のために、機械学習トレーニングシステムのコンピューティング動作の改善によって、機械学習タスクおよびアプリケーションのより効率的な性能を提供し、機械学習トレーニングシステムのグラフィカルユーザインターフェースのユーザナビゲーションを改善することになる。
【発明の概要】
【課題を解決するための手段】
【０００２】
[0002]本発明の実施形態は、サービスとしての合成データをサポートする分散型コンピューティングシステムを提供するための、方法、システム、およびコンピュータ記憶媒体に関する。背景として、分散型コンピューティングシステムは、サービス指向アーキテクチャに基づいて動作することができ、サービスは様々なサービスモデルを使用して提供される。高レベルにおいて、サービスモデルは、対応するサービスを提供することに関連付けられた下位の動作からの抽象化を提供することができる。サービスモデルの例は、サービスとしてのインフラストラクチャ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、サービスとしてのプラットフォーム（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、サービスとしてのソフトウェア（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、およびサービスとしての機能（Ｆｕｎｃｔｉｏｎ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）を含む。これらのモデルのうちのいずれかを用いて、顧客は、サービス指向アーキテクチャを使用して抽象化される動作特徴を維持または展開させる必要なしに、サービスの態様を展開、実行、管理する。
【０００３】
[0003]機械学習およびトレーニングデータセットを見ると、機械学習は、明示的にプログラミングすることなく、データを用いて特定のタスクの性能を漸進的に向上させる能力をコンピュータに与えるために、統計的技法を使用する。トレーニングデータセットは、機械学習の分野の不可欠部分である。高品質データセットは、機械学習アルゴリズムと、機械学習ハードウェアおよびソフトウェアに関連付けられたコンピューティング動作とを改善するのを助けることができる。高品質トレーニングデータセットの作成には、かなりの量の労力を要する可能性がある。たとえば、トレーニングデータセットのためのデータのラベリングは特に冗長であり、しばしばラベリングプロセスにおける不正確さにつながる可能性がある。
【０００４】
[0004]トレーニングデータセットを見つけるための従来の方法は、トレーニングデータセットをいくつかの異なる領域にわたって平等化または普遍的に使用可能にするには、著しく不十分である。さらに、機械学習トレーニングデータセットを展開させるための理論上のソリューションは、こうしたソリューションを実施するためのインフラストラクチャが、トレーニングデータセットを展開させるための現行の技法の代替実施形態を実現することに着手するには手が届かないかまたはあまりにも費用がかかり過ぎるため、まだ十分に定義または説明されることは全くなかった。概して、機械学習トレーニングデータセットの展開にまつわる包括的機能は、従来の機械学習トレーニングサービスに限定される。
【０００５】
[0005]本開示において説明する実施形態は、サービスとしての合成データ（「ＳＤａａＳ」）を提供する分散型コンピューティングシステムを使用して、機械学習トレーニングデータセットへのアクセスを改善するための技術を対象としている。ＳＤａａＳは、ＳＤａａＳサービスを介して管理される下位の動作を抽象化しながら、機械学習トレーニングサービスを提供するためにサービス指向アーキテクチャを使用して実装される、分散型（クラウド）コンピューティングシステムサービスを指すことができる。たとえばＳＤａａＳは、顧客が、機械学習のための合成データトレーニングデータセットを構成、生成、アクセス、管理、および処理できるようにする、機械学習トレーニングシステムを提供する。特に、ＳＤａａＳは、典型的にはトレーニングデータセットの手動展開に関連付けられた複雑さなしに動作する。ＳＤａａＳは、アセットアセンブリエンジン、シーンアセンブリエンジン、フレームセットアセンブリエンジン、フレームセットパッケージ生成器、フレームセットパッケージストア、フィードバックループエンジン、およびクラウドソーシングエンジンを含む、ＳＤａａＳのエンジン、マネージャ、モジュール、または構成要素に基づいたいくつかの方法で配信することができる。分散コンピューティングシステム上のサービスとしてＳＤａａＳを実装することの注目すべき効果は、内的パラメータ変動および外的パラメータ変動に基づいてトレーニングデータセットの生成をサポートする、合成データアセットの大量生産および可用性であり、内的パラメータ変動および外的パラメータ変動は、アセットおよびシーンのプログラム可能機械学習データ表現を提供する。下記でより詳細に説明するように、ＳＤａａＳの構成要素を使用して追加の特定機能が提供される。
【０００６】
[0006]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのアセットアセンブリエンジンを提供する。アセットアセンブリエンジンは、第１の分散型のサービスとしての合成データ（ＳＤａａＳ）アップロードインターフェースから、第１のソースアセットを受け取るように構成される。エンジンは、第２の分散型ＳＤａａＳアップロードインターフェースから第２のソースアセットを受け取るようにも構成される。エンジンは、第１のソースアセットおよび第２のソースアセットを取り込むようにも構成される。ソースアセットを取り込むことは、ソースアセットのアセット変動パラメータのための値を自動的に計算することを含む。アセット変動パラメータは、機械学習のためにプログラム可能である。エンジンは、アセット変動パラメータのための第１の値セットを含む、第１の合成データアセットを生成するようにも構成される。エンジンは、アセット変動パラメータのための第２の値セットを含む、第２の合成データアセットを生成するようにも構成される。エンジンは、第１の合成データアセットおよび第２の合成データアセットを合成データアセットストアに記憶するようにも構成される。
【０００７】
[0007]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのシーンアセンブリエンジンを提供する。シーンアセンブリエンジンは、分散型のサービスとしての合成データ（ＳＤａａＳ）統合開発環境（ＩＤＥ）から、第１の合成データアセットの選択および第２の合成データアセットの選択を受け取るように構成される。合成データアセットが、アセット変動パラメータおよびシーン変動パラメータに関連付けられる。アセット変動パラメータおよびシーン変動パラメータは、機械学習のためにプログラム可能である。エンジンは、合成データシーンを生成するための値を受け取るようにも構成される。値は、アセット変動パラメータまたはシーン変動パラメータに対応する。エンジンは、値に基づいて、第１の合成データアセットおよび第２の合成データアセットを使用して合成データシーンを生成するようにも構成される。
【０００８】
[0008]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのフレームセットアセンブリエンジンを提供する。フレームセットアセンブリエンジンは、合成データシーンにアクセスするように構成される。エンジンは、シーン変動パラメータのための第１の値セットを決定するようにも構成される。第１の値セットは、合成データシーンフレームセットを生成するために自動的に決定される。エンジンは、第１の値セットに基づいて合成データシーンフレームセットを生成するようにも構成される。合成データシーンフレームセットは、シーン変動パラメータのための値に基づいて更新された合成データシーンを含むフレームセット内に、少なくとも第１のフレームを含む。エンジンは、合成データシーンフレームセットを記憶するようにも構成される。
【０００９】
[0009]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのフレームセットパッケージ生成器を提供する。フレームセットパッケージ生成器は、フレームセットパッケージ生成器プロファイルにアクセスするように構成される。フレームセットパッケージ生成器プロファイルは、第１のイメージ生成デバイスに関連付けられる。フレームセットパッケージ生成器プロファイルは、第１のイメージ生成デバイスに関連付けられた既知のデバイス変動性パラメータを含む。エンジンは、フレームセットパッケージ生成器プロファイルに基づいてフレームセットパッケージを生成するようにも構成される。フレームセットパッケージ生成器プロファイルは、既知のデバイス変動性パラメータのための値を含む。エンジンは、フレームセットパッケージを記憶するようにも構成される。
【００１０】
[0010]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのフレームセットパッケージストアを提供する。フレームセットパッケージストアは、フレームセットパッケージクエリインターフェースからフレームセットパッケージのためのクエリを受け取るように構成される。フレームセットクエリインターフェースは、複数のフレームセットパッケージカテゴリを含む。エンジンは、フレームセットパッケージプロファイルに基づいてクエリ結果フレームセットパッケージを識別するようにも構成される。エンジンは、クエリ結果フレームセットパッケージを通信するようにも構成される。
【００１１】
[0011]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのフィードバックループエンジンを提供する。フィードバックループエンジンはトレーニングデータセットレポートにアクセスするように構成される。トレーニングデータセットレポートは、アセット変動パラメータのための値を有する合成データアセットを識別する。合成データアセットはフレームセットに関連付けられる。エンジンは、トレーニングデータセットレポートに基づき、合成データアセット変動を用いて合成データアセットを更新するようにも構成される。エンジンは、更新された合成データアセットを使用してフレームセットを更新するようにも構成される。
【００１２】
[0012]したがって、本発明の例示の一実施形態は、分散型コンピューティングシステムのクラウドソーシングエンジンを提供する。クラウドソーシングエンジンは、分散型のサービスとしての合成データ（ＳＤａａＳ）のクラウドソースインターフェースから、ソースアセットを受け取るように構成される。エンジンは、分散型ＳＤａａＳのクラウドソースインターフェースを介して、ソースアセットのためのクラウドソースタグを受け取るようにも構成される。エンジンは、部分的にクラウドソースタグに基づき、ソースアセットを取り込むようにも構成される。ソースアセットを取り込むことは、ソースのアセット変動パラメータのための値を自動的に計算することを含む。アセット変動パラメータは、機械学習のためにプログラム可能である。エンジンは、アセット変動パラメータのための値を含むクラウドソースの合成データアセットを生成するようにも構成される。
【００１３】
[0013]したがって、本明細書で説明する実施形態は、分散型コンピューティングシステムを使用してサービスとしての合成データを提供することの実装に基づいて、トレーニングデータセットを生成するためのコンピューティング機能および動作を改善する。たとえば、合成データアセットを使用してトレーニングデータセットを自動的に展開し、機械学習トレーニングサービスにおける機械学習モデルを改善することになる追加の合成データアセットまたはシーンを示すトレーニングデータセットレポートに基づいてトレーニングデータセットを自動的に改良する、ＳＤａａＳ動作に基づいて、トレーニングデータセットの手動展開（たとえば、ラベリングおよびタグ付け）および改良（たとえば、検索）に必要なコンピューティング動作を不要にする。この点で、ＳＤａａＳは、機械学習トレーニングデータセットの手動展開の特定の問題に対処し、分散型コンピューティングシステムにおける機械学習モデルをトレーニングするための既存のプロセスを改善する。
【００１４】
[0014]本概要は、下記の発明を実施するための形態においてさらに説明する概念の選択を、簡略化された形で紹介するために提供される。本概要は、請求する主題の主要な特徴または不可欠な特徴を識別することも、また、請求する主題の範囲を決定する際の助けとして使用することも、意図していない。
【００１５】
[0015]本技術は、添付の図面を参照しながら下記で詳細に説明する。
【図面の簡単な説明】
【００１６】
【図１Ａ】[0016]本発明の実施形態に従った、サービスとしての合成データを提供するための例示の分散型コンピューティングを示すブロック図である。
【図１Ｂ】[0016]本発明の実施形態に従った、サービスとしての合成データを提供するための例示の分散型コンピューティングを示すブロック図である。
【図２Ａ】[0017]本発明の実施形態に従った、分散型コンピューティングシステムのサービスとしての合成データの例示の実装を示すフロー図である。
【図２Ｂ】[0017]本発明の実施形態に従った、分散型コンピューティングシステムのサービスとしての合成データの例示の実装を示すフロー図である。
【図３】[0018]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データのインターフェースを示す概略図である。
【図４】[0019]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データのワークフローを示す概略図である。
【図５】[0020]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データのインターフェースを示す概略図である。
【図６】[0021]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図７】[0022]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図８】[0023]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図９】[0024]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図１０】[0025]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図１１】[0026]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図１２】[0027]本発明の実施形態に従った、例示の分散型コンピューティングシステムのサービスとしての合成データの動作を示すフロー図である。
【図１３】[0028]本発明の実施形態を実装する際に使用するのに適した、例示の分散型コンピューティング環境を示すブロック図である。
【図１４】[0029]本発明の実施形態を実装する際に使用するのに適した、例示のコンピューティング環境を示すブロック図である。
【発明を実施するための形態】
【００１７】
[0030]分散型コンピューティングシステムは、異なるタイプのサービス指向モデルを提供するために利用することができる。背景として、サービスモデルは、対応するサービスを提供することに関連付けられた下位の動作からの抽象化を提供することができる。サービスモデルの例は、サービスとしてのインフラストラクチャ、サービスとしてのプラットフォーム、サービスとしてのソフトウェア、およびサービスとしての機能を含む。これらのモデルのうちのいずれかを用いて、顧客は、サービス指向アーキテクチャを使用して抽象化される動作特徴を維持または展開させる必要なしに、サービスの態様を展開、実行、管理する。
【００１８】
[0031]機械学習は、明示的にプログラミングすることなく、データを用いて特定のタスクの性能を漸進的に向上させる能力をコンピュータに与えるために、統計的技法を使用する。たとえば機械学習は、データセキュリティ、個人のセキュリティ、不正検出、ヘルスケア、自然言語処理、オンライン検索および提案、金融取引、およびスマートカーに使用することができる。これらの分野または領域の各々について、機械学習モデルは、学習タスクと機械学習アプリケーションとを合致させるためのフレームワークを作成するために使用される例示のデータのセットである、トレーニングデータセットを用いてトレーニングされる。トレーニングデータセットは、機械学習の分野の不可欠部分である。高品質データセットは、機械学習アルゴリズムと、機械学習ハードウェアおよびソフトウェアに関連付けられたコンピューティング動作とを改善するのを助けることができる。機械学習プラットフォームは、教師付きおよび半教師付きの機械学習アルゴリズムをサポートするトレーニングデータセットに基づいて動作するが、高品質トレーニングデータセットは、通常、データにラベリングするために多くの時間が必要であるため、生成が困難であり費用がかかる。モデルが様々なタイプの現象の予測、分類、および分析の際に信頼できる結果を提供できるようにするために、機械学習モデルは、教師付き学習のための高品質なラベル付きトレーニングデータセットに依存する。正しいタイプのトレーニングデータセットがなければ、信頼できる機械学習モデルを開発することは不可能な場合がある。トレーニングデータセットは、機械学習アルゴリズムを効果的にトレーニングするために、ラベル付き、タグ付き、および注釈付きエントリを含む。
【００１９】
[0032]トレーニングデータセットを見つけるための従来の方法は、トレーニングデータセットをいくつかの異なる領域にわたって平等化し、または普遍的に使用可能にするには、著しく不十分である。現在、こうした制限されたソリューションは、ラベリング機能のアウトソーシング、既存のトレーニングデータおよびラベルの再利用、自由ソースからの自分専用のトレーニングデータおよびラベルの収集、ラベル付きデータに関して事前トレーニングされた第三者モデルへの依拠、および、クラウドソーシングラベリングサービスの活用を含む。これらのソリューションのほとんどは、時間がかかるか、費用がかかるか、繊細なプロジェクトに不向きであるか、または、大規模な機械学習プロジェクトに取り組むには十分にロバストでない。さらに、機械学習トレーニングデータセットを展開させるための理論上のソリューションは、こうしたソリューションを実施するためのインフラストラクチャが、トレーニングデータセットを展開させるための現行の技法の代替実施形態を実現することに着手するには手が届かないかまたはあまりにも費用がかかり過ぎるため、十分に定義されることも説明されることも全くなかった。概して、機械学習トレーニングデータセットの展開にまつわる包括的機能は、従来の機械学習トレーニングサービスに限定される。
【００２０】
[0033]本明細書で説明する実施形態は、サービスとしての合成データ（「ＳＤａａＳ」）を提供する分散型コンピューティングシステムを実装するための、シンプルで効率的な方法およびシステムを提供する。ＳＤａａＳは、ＳＤａａＳサービスを介して管理される下位の動作を抽象化しながら、機械学習トレーニングサービスを提供するためにサービス指向アーキテクチャを使用して実装される、分散型（クラウド）コンピューティングシステムサービスを指すことができる。たとえばＳＤａａＳは、顧客が、機械学習のための合成データトレーニングデータセットを構成、生成、アクセス、管理、および処理できるようにする、機械学習トレーニングシステムを提供する。特に、ＳＤａａＳは、典型的にはトレーニングデータセットの手動展開に関連する複雑さなしに動作する。ＳＤａａＳは、アセットアセンブリエンジン、シーンアセンブリエンジン、フレームセットアセンブリエンジン、フレームセットパッケージ生成器、フレームセットパッケージストア、フィードバックループエンジン、およびクラウドソーシングエンジンを含む、ＳＤａａＳのエンジン、マネージャ、モジュール、または構成要素に基づいたいくつかの方法で配信することができる。分散コンピューティングシステム上のサービスとしてＳＤａａＳを実装することの注目すべき効果は、内的パラメータ変動および外的パラメータ変動に基づいてトレーニングデータセットの生成をサポートする、合成データアセットの大量生産および可用性であり、内的パラメータ変動および外的パラメータ変動は、アセットおよびシーンのプログラム可能機械学習データ表現を提供する。下記でより詳細に説明するように、ＳＤａａＳの構成要素を使用して追加の特定の機能が提供される。
【００２１】
[0034]本明細書では、ソースアセットが、当分野で知られた技法に基づいて計算上決定することができるいくつかの異なるパラメータを含むことができるものと考えられる。例を挙げると、ソースアセットは幾何データの３次元表現を指すことができる。ソースアセットは三角形で構成されるメッシュで表され、三角形が平らであるほど、およびモデルの表面がより詳細であるほど、ソースのサイズは大きくなる。この点で、ソースアセットは、多くの細部を伴う高多角形モデルから細部の少ない低多角形モデルまでのスペクトルにわたって表すことができる。細部のレベルが変動するソースアセットを表すプロセスは、デシメーションと呼ばれることがある。低多角形モデルは異なるタイプのプロセスで使用可能であり、そうでなければ、計算上、高モデルには高コストとなる。したがって、自動化デシメーションプロセスを実装して、異なるレベルの細部にソースアセットを記憶することができる。他のタイプのプログラム可能パラメータを決定し、合成アセットとして記憶されたソースアセットに関連付けることができる。
【００２２】
[0035]本発明の実施形態は、２層プログラム可能パラメータシステム上で動作し、機械学習トレーニングサービスは、自動的に、または手動介入に基づき、トレーニングデータセットを改善するために必要な、第１の層（たとえば、アセットパラメータ）および／または第２の層（たとえば、シーンまたはフレームセットパラメータ）のパラメータへのアクセスおよび決定に基づいて、また拡張モデルトレーニングによって、モデルをトレーニングすることができる。機械学習トレーニングサービスは、ディープラーニングおよびディープラーニングネットワーク、ならびに他のタイプの機械学習アルゴリズムおよびネットワークをサポートすることができる。機械学習トレーニングサービスは、教師なしタイプの機械学習として、敵対的生成ネットワークを実装することもできる。ＳＤａａＳは、これらの下位層パラメータを様々な手法で活用することができる。たとえば、フレームセットにどのように課金するか、デバイスパラメータがわかっており、トレーニングデータセットの展開においてパラメータを操作することが可能な特定のデバイスについて、異なるタイプのフレームセットをどのように展開するかである。
【００２３】
例示的動作環境および概略図
[0036]図１Ａおよび図１Ｂを参照すると、分散型コンピューティングシステム１００の構成要素は、本明細書で説明するＳＤａａＳのための機能を提供するように共に動作することができる。分散型コンピューティングシステム１００は、機械学習のためのトレーニングデータセットを生成および処理するための合成データアセットの処理をサポートする。高レベルでは、分散型コンピューティングはトレーニングデータセットの大量生産のための分散型フレームワークをサポートする。特に、分散型コンピューティングアーキテクチャの組み込み機能は、ファイル圧縮、ＧＰＵ対応大規模ハードウェア、非構造化ストレージ、分散型バックボーンネットワークを含み、複数のユーザ（たとえば、アーティストまたはデータ管理者）が合成データアセット上での動作に同時にアクセスできるように、分散様式でＳＤａａＳ機能を提供するための能力を本質的にサポートしている。
【００２４】
[0037]図１Ａは、クライアントデバイス１３０Ａおよびインターフェース１２８Ａならびにクライアントデバイス１３０Ｂおよびインターフェース１２８Ｂを含む。分散型コンピューティングシステムは、ＳＤａａＳの機能をサポートするいくつかの構成要素をさらに含み、構成要素は、アセットアセンブリエンジン１１０、シーンアセンブリエンジン１１２、フレームセットアセンブリエンジン１１４、フレームセットパッケージ発生器１１６、フレームセットパッケージストア１１８、フィードバックループエンジン１２０、クラウドソーシングエンジン１２２、機械学習トレーニングサービス１２４、およびＳＤａａＳストア１２６を含む。図１Ｂは、ＳＤａａＳストア１２６に記憶され、下記でより詳細に説明するように、アセット、シーン、およびフレームセットへの自動化アクセスのための機械学習トレーニングサービスと統合された、アセット１２６Ａおよびフレームセット１２６Ｂを示す。
【００２５】
[0038]アセットアセンブリエンジン１１０は、第１の分散型のサービスとしての合成データ（ＳＤａａＳ）アップロードインターフェースから第１のソースアセットを受け取るように構成可能であり、第２の分散型ＳＤａａＳアップロードインターフェースから第２のソースアセットを受け取ることができる。ソースアセットを取り込むことが、ソースアセットのアセット変動パラメータのための値を自動的に計算することを含む場合、第１のソースアセットおよび第２のソースアセットを取り込むことができる。たとえば図２Ａは、アセットストア（すなわち、アセット２２０）に取り込まれるソースアセット２１０を含む。アセット変動パラメータは、機械学習のためにプログラム可能である。アセットアセンブリエンジンは、アセット変動パラメータのための第１の値セットを含む第１の合成データアセットを生成することができ、アセット変動パラメータのための第２の値セットを含む第２の合成データアセットを生成することができる。第１の合成データアセットおよび第２の合成データアセットは、合成データアセットストアに記憶される。
【００２６】
[0039]分散型ＳＤａａＳアップロードインターフェース（たとえば、インターフェース１２８Ａまたは１２８Ｂ）は、ＳＤａａＳ統合開発環境（ＩＤＥ）に関連付けられる。ＳＤａａＳ  ＩＤＥは、ソースアセットのアセット変動パラメータのための追加の値を識別することをサポートする。値は、内的パラメータ変動および外的パラメータ変動に基づいてトレーニングデータセットを生成することに関連付けられ、内的パラメータ変動および外的パラメータ変動は、アセットおよびシーンのプログラム可能機械学習データ表現を提供する。ソースアセットの取り込みは、ファイル形式およびデータセットトレーニングアーキテクチャを含む機械学習合成データ標準に基づく。ファイル形式はハード標準を指す場合ができ、データセットトレーニングアーキテクチャはソフト標準、たとえば自動介入または手動の人的介入を指すことができる。
【００２７】
[0040]図２Ｂを参照すると、ソースアセット（たとえば、ソースアセット２０２）を取り込むことは、ソースアセットのシーン変動パラメータのための値を自動的に計算することをさらに含み、シーン変動パラメータは機械学習のためにプログラム可能である。合成データアセットプロファイルが生成可能であり、合成データアセットプロファイルはアセット変動パラメータの値を含む。図２Ｂは、境界ボックス２０８、サムネイル２１０、３Ｄ視覚化２１２、および最適化アセット２１４などの、追加のアーティファクトをさらに示す。
【００２８】
[0041]シーンアセンブリエンジン１１２は、分散型のサービスとしての合成データ（ＳＤａａＳ）の統合開発環境（ＩＤＥ）から、第１の合成データアセットの選択および第２の合成データアセットの選択を受け取るように構成可能である。たとえば、図４を参照すると、第１の層におけるアセットおよびパラメータ４１０は、第２の層におけるシーンおよびパラメータ４２０を生成するために使用可能であり、フレームセット４３０を定義するためにさらに使用可能である。合成データアセットは、アセット変動パラメータおよびシーン変動パラメータに関連付けられる。アセット変動パラメータおよびシーン変動パラメータは、機械学習のためにプログラム可能である。シーンアセンブリエンジンは合成データシーンを生成するための値を受け取ることが可能であり、値はアセット変動パラメータまたはシーン変動パラメータに対応する。値に基づいて、第１の合成データアセットおよび第２の合成データアセットを使用して合成データシーンを生成する。
【００２９】
[0042]シーンアセンブリエンジンクライアント（たとえば、クライアントデバイス１３０Ｂ）は、合成データアセットについてのクエリを受け取るように構成可能であり、クエリはＳＤａａＳ  ＩＤＥを介して受け取られ、クエリ結果合成データアセットを生成し、クエリ結果合成データに基づいて生成された合成データシーンを表示させる。合成データシーンを生成することは、少なくとも２つのアセンブリエンジンクライアントから受け取ったシーン生成のための値に基づくことができる。合成データシーンは、シーンプレビューおよびメタデータに関連付けられる。
【００３０】
[0043]フレームセットアセンブリエンジン１１４は、合成データシーンにアクセスするように、およびシーン変動パラメータのための第１の値セットを決定するように構成可能であり、第１の値セットは合成データシーンフレームセットを生成するために自動的に決定される。フレームセットアセンブリエンジンは、第１の値セットに基づいて合成データシーンフレームセットを生成することも可能であり、合成データシーンフレームセットは、シーン変動パラメータのための値に基づいて更新された合成データシーンを含むフレームセット内に少なくとも第１のフレームを含み、合成データシーンフレームセットを記憶することも可能である。シーン変動パラメータのための第２の値セットは、合成データシーンフレームセットを生成するために手動で選択される。第２の値セットは、ファイル形式およびデータセットトレーニングアーキテクチャを含む機械学習合成データ標準をサポートするサービスとしての合成データ（ＳＤａａＳ）の統合開発環境（ＩＤＥ）を使用して、手動で選択される。合成データシーンフレームセットを生成することは、第１の値セットに基づいて合成データシーンを更新することに基づいて、合成データシーンフレームセットのためのフレームを繰り返し生成することを含む。
【００３１】
[0044]フレームセットパッケージ生成器１１６は、フレームセットパッケージ生成器プロファイルにアクセスするように構成可能であり、フレームセットパッケージ生成器プロファイルは第１のイメージ生成デバイスに関連付けられ、フレームセットパッケージ生成器プロファイルは、第１のイメージ生成デバイスに関連付けられた既知のデバイス変動性パラメータを含む。フレームセットパッケージはフレームセットパッケージ生成器プロファイルに基づき、フレームセットパッケージ生成器プロファイルは既知のデバイス変動性パラメータのための値を含み、フレームセットパッケージを記憶する。フレームセットパッケージは、少なくとも２つの合成データシーンに基づくカテゴリを含む。フレームセットパッケージを生成することは、フレームセットパッケージを用いてトレーニングされることになる予期される機械学習アルゴリズムに基づき、予期される機械学習アルゴリズムはフレームセットパッケージ生成器プロファイル内で識別される。フレームセットパッケージは、値限定子をフレームセットパッケージに割り当てることを含む。フレームセットパッケージは、合成データアセットを含む合成データシーンに基づいて生成される。
【００３２】
[0045]フレームセットパッケージストア１１８は、フレームセットパッケージクエリインターフェースからフレームセットパッケージのためのクエリを受け取るように構成可能であり、フレームセットクエリインターフェースは複数のフレームセットパッケージカテゴリを含み、フレームセットパッケージプロファイルに基づいてクエリ結果フレームセットパッケージを識別し、クエリ結果フレームセットパッケージを通信する。クエリの少なくとも一部が自動的に提案されたフレームセットパッケージを起動し、自動的に提案されたフレームセットはフレームセットの合成データシーンに関連付けられ、合成データシーンは合成データアセットを有する。フレームセットパッケージはイメージ生成デバイスに関連付けられ、イメージ生成デバイスは機械学習のためにプログラム可能な既知のデバイス変動性パラメータを含む。クエリ結果フレームセットパッケージは、分散型コンピューティングシステムまたは外部機械学習モデルトレーニングサービス上で動作する、内部機械学習モデルトレーニングサービス（たとえば、機械学習トレーニングサービス１２４）に通信される。
【００３３】
[0046]フィードバックループエンジン１２０は、トレーニングデータセットレポートにアクセスするように構成可能であり、トレーニングデータセットレポートはアセット変動パラメータのための値を有する合成データアセットを識別し、合成データアセットはフレームセットに関連付けられる。トレーニングデータセットレポートに基づいて、合成データアセット変動を用いて合成データアセットを更新し、更新された合成データアセットを使用してフレームセットを更新する。値は、フレームセットを更新するためにトレーニングデータセットレポートにおいて手動で、または自動的に識別される。フレームセットを更新することは、値限定子（たとえば、更新を行うためのコスト）が割り当てられる。トレーニングデータセットレポートは、分散型システム上で動作する内部機械学習モデルトレーニングサービスまたは外部機械学習モデルトレーニングサービスに関連付けられる。
【００３４】
[0047]クラウドソーシングエンジン１２２は、分散型のサービスとしての合成データ（ＳＤａａＳ）のクラウドソースインターフェースからソースアセットを受け取り、分散型ＳＤａａＳのクラウドソースインターフェースを介してソースアセットのためのクラウドソースタグを受け取り、クラウドソースタグに部分的に基づいてソースアセットを取り込み、ソースアセットを取り込むことはソースアセットのアセット変動パラメータのための値を自動的に計算することを含み、アセット変動パラメータは機械学習のためにプログラム可能であり、アセット変動パラメータのための値を含むクラウドソースの合成データアセットを生成するよう構成可能である。クラウドソースの合成データアセットのための値限定子。アセット変動パラメータを含むクラウドソースの合成データアセットプロファイル。図５を参照すると、クラウドソースのインターフェース５００は、取り込みのためのソースアセットのアップロードおよびタグ付けをサポートすることができる。
【００３５】
例示的フロー図
[0048]図６から図１２を参照すると、分散型コンピューティングシステムのサービスとしての合成データを実装するための方法を示すフロー図が提供される。方法は、本明細書で説明する分散型コンピューティングシステムを使用して実行可能である。実施形態において、具体化されたコンピュータ実行可能命令を有する１つまたは複数のコンピュータ記憶媒体は、コンピュータ実行可能命令が１つまたは複数のプロセッサによって実行されたとき、分散型コンピューティングシステム１００において、１つまたは複数のプロセッサに方法を実行させることができる。
【００３６】
[0049]図６は、実施形態に従って、分散型コンピューティングシステムのアセットアセンブリエンジンを実装するためのプロセス６００を示すフロー図である。初めにブロック６１０において、第１の分散型のサービスとしての合成データ（ＳＤａａＳ）のアップロードインターフェースから、第１のソースアセットを受け取る。ブロック６２０において、第２の分散型ＳＤａａＳのアップロードインターフェースから第２のソースアセットを受け取る。ブロック６３０において、第１のソースアセットおよび第２のソースアセットを取り込む。ソースアセットを取り込むことは、ソースアセットのアセット変動パラメータのための値を自動的に計算することを含み、アセット変動パラメータは機械学習のためにプログラム可能である。ブロック６４０において、アセット変動パラメータのための第１の値セットを含む第１の合成データアセットを生成する。ブロック６５０において、アセット変動パラメータのための第２の値セットを含む第２の合成データアセットを生成する。ブロック６６０において、第１の合成データアセットおよび第２の合成データアセットを合成データアセットストアに記憶する。
【００３７】
[0050]図７は、実施形態に従った、分散型コンピューティングシステムのシーンアセンブリエンジンを実装するためのプロセス７００を示すフロー図である。初めにブロック７１０において、第１の合成データアセットの選択および第２の合成データアセットの選択を、分散型のサービスとしての合成データ（ＳＤａａＳ）の統合開発環境（ＩＤＥ）から受け取る。合成データアセットはアセット変動パラメータおよびシーン変動パラメータに関連付けられ、アセット変動パラメータおよびシーン変動パラメータは機械学習のためにプログラム可能である。ブロック７２０において、合成データシーンを生成するための値を受け取る。値はアセット変動パラメータまたはシーン変動パラメータに対応する。ブロック７３０において、値に基づいて、第１の合成データアセットおよび第２の合成データアセットを使用して合成データシーンを生成する。
【００３８】
[0051]図８は、実施形態に従った、分散型コンピューティングシステムのフレームセットアセンブリエンジンを実装するためのプロセス８００を示すフロー図である。初めにブロック８１０において、合成データシーンにアクセスする。ブロック８２０において、シーン変動パラメータのための第１の値セットを決定する。第１の値セットは、合成データシーンフレームセットを生成するために自動的に決定される。ブロック８３０において、第１の値セットに基づいて合成データシーンフレームセットを生成する。合成データシーンフレームセットは、シーン変動パラメータのための値に基づいて更新された合成データシーンを含むフレームセット内に少なくとも第１のフレームを含む。ブロック８４０において、合成データシーンフレームセットを記憶する。
【００３９】
[0052]図９は、実施形態に従った、分散型コンピューティングのフレームセットパッケージ生成器を実装するためのプロセス９００を示すフロー図である。ブロック９１０において、フレームセットパッケージ生成器プロファイルにアクセスする。フレームセットパッケージ生成器プロファイルは、第１のイメージ生成デバイスに関連付けられる。フレームセットパッケージ生成器プロファイルは、第１のイメージ生成デバイスに関連付けられた既知のデバイス変動性パラメータを含む。ブロック９２０において、フレームセットパッケージ生成器プロファイルに基づいてフレームセットパッケージを生成する。フレームセットパッケージ生成器プロファイルは、既知のデバイス変動性パラメータのための値を含む。ブロック９３０において、フレームセットパッケージを記憶する。
【００４０】
[0053]図１０は、実施形態に従った、分散型コンピューティングシステムのフレームセットパッケージストアを実装するためのプロセス１０００を示すフロー図である。ブロック１０１０において、フレームセットパッケージのためのクエリをフレームセットパッケージクエリインターフェースから受け取る。フレームセットクエリインターフェースは、複数のフレームセットパッケージカテゴリを含む。ブロック１０２０において、クエリ結果フレームセットパッケージをフレームセットパッケージプロファイルに基づいて識別する。ブロック１０３０において、クエリ結果フレームセットパッケージを通信する。
【００４１】
[0054]図１１は、実施形態に従った、分散型コンピューティングシステムのフィードバックループエンジンを実装するためのプロセス１１００を示すフロー図である。ブロック１１１０において、トレーニングデータセットレポートにアクセスする。トレーニングデータセットレポートは、アセット変動パラメータのための値を有する合成データアセットを識別する。合成データアセットはフレームセットに関連付けられる。ブロック１１２０において、トレーニングデータセットレポートに基づいて、合成データアセット変動を用いて合成データアセットを更新する。ブロック１１３０において、更新された合成データアセットを使用してフレームセットを更新する。
【００４２】
[0055]図１２は、実施形態に従った、分散型コンピューティングシステムのクラウドソーシングエンジンを実装するためのプロセス１２００を示すフロー図である。ブロック１２１０において、分散型のサービスとしての合成データ（ＳＤａａＳ）のクラウドソースインターフェースからソースアセットを受け取る。ブロック１２２０において、分散型ＳＤａａＳクラウドソースインターフェースを介してソースアセットのためのクラウドソースタグを受け取る。ブロック１２３０において、部分的にクラウドソースタグに基づいて、ソースアセットを取り込む。ソースアセットを取り込むことは、ソースアセットのアセット変動パラメータのための値を自動的に計算することを含む。アセット変動パラメータは、機械学習のためにプログラム可能である。ブロック１２４０において、アセット変動パラメータのための値を含むクラウドソースの合成データアセットを生成する。
【００４３】
[0056]有利なことに、本明細書で説明する実施形態は、分散型コンピューティングシステムを使用してサービスとしての合成データを提供する実装に基づいて、トレーニングデータセットを生成するためのコンピューティング機能および動作を改善する。特に、コンピューティング機能および動作の改善は、ＳＤａａＳ動作に基づいたトレーニングデータセットの大量生産のための分散型インフラストラクチャに関連付けられる。たとえば、合成データアセットを使用してトレーニングデータセットを自動的に展開し、機械学習トレーニングサービスにおける機械学習モデルを改善することになる追加の合成データアセットまたはシーンを示すトレーニングデータセットレポートに基づいてトレーニングデータセットを自動的に改良する、ＳＤａａＳ動作に基づいて、トレーニングデータセットの手動展開（たとえば、ラベリングおよびタグ付け）および改良（たとえば、検索）に必要なコンピューティング動作を不要にする。
【００４４】
[0057]さらに、トレーニングデータセットの記憶および取り出しは、同じ分散型コンピューティングシステム内で動作する内部機械学習トレーニングサービスを使用して改善され、したがって計算オーバーヘッドを軽減する。ＳＤａａＳ動作は、エンジンの従来的でない配置およびＳＤａａＳシステムのステップの順序付けられた組み合わせのための定義された従来的でない規則のセットに基づいて、実装される。この点で、ＳＤａａＳは、機械学習トレーニングデータセットの手動展開の特定の問題に対処し、分散型コンピューティングシステムにおける機械学習モデルをトレーニングするための既存のプロセスを改善する。概して、これらの改善は結果としてＣＰＵの計算を減少させ、メモリ要件を少なくし、機械学習トレーニングデータセットを生成および利用する際の柔軟性も向上させる。
【００４５】
例示的分散型コンピューティング環境
[0058]次に図１３を参照すると、図１３は、本開示の実装が採用可能な例示の分散型コンピューティング環境１３００を示す。特に図１３は、クラウドコンピューティングプラットフォーム１３１０における、分散型コンピューティングシステムのサービスとしての合成データの高レベルアーキテクチャを示し、システムは、ソフトウェア構成要素のシームレスな修正をサポートする。本明細書で説明するこの配置および他の配置は、単なる例として示されることを理解されたい。たとえば前述のように、本明細書で説明する要素の多くは、離散または分散構成要素として、あるいは他の構成要素と関連して、および任意の適した組み合わせおよびロケーションにおいて実装可能である。図示される配置および要素に加えて、またはそれらの代わりに、他の配置および要素（たとえば、機械、インターフェース、機能、命令、および機能のグループ化など）を使用することができる。
【００４６】
[0059]データセンターは、クラウドコンピューティングプラットフォーム１３１０、ラック１３２０、およびラック１３２０内のノード１３３０（たとえば、コンピューティングデバイス、処理ユニット、またはブレード）を含む、分散型コンピューティング環境１３００をサポートすることができる。システムは、異なるデータセンターおよび地理的領域にわたってクラウドサービスを実行する、クラウドコンピューティングプラットフォーム１３１０を用いて実装可能である。クラウドコンピューティングプラットフォーム１３１０は、クラウドサービスのリソース割り振り、展開、アップグレード、および管理を供給および管理するためのファブリックコントローラ１３４０構成要素を実装することができる。典型的には、クラウドコンピューティングプラットフォーム１３１０は、分散様式でデータを記憶するかまたはサービスアプリケーションを実行するように作用する。データセンター内のクラウドコンピューティングインフラストラクチャ１３１０は、特定のサービスアプリケーションのエンドポイントの動作をホストおよびサポートするように構成可能である。クラウドコンピューティングインフラストラクチャ１３１０は、パブリッククラウド、プライベートクラウド、または専用クラウドとすることができる。
【００４７】
[0060]ノード１３３０には、ノード１３３０上で定義されたソフトウェアスタックを実行するホスト１３５０（たとえば、オペレーティングシステムまたはランタイム環境）を供給することができる。ノード１３３０は、クラウドコンピューティングプラットフォーム１３１０内で特殊な機能を実行する（たとえば、計算ノードまたは記憶ノード）ようにも構成可能である。ノード１３３０は、テナントのサービスアプリケーションのうちの１つまたは複数の部分を実行するために割り振られる。テナントは、クラウドコンピューティングプラットフォーム１３１０のリソースを利用する顧客を指すことができる。特定のテナントをサポートするクラウドコンピューティングプラットフォーム１３１０のサービスアプリケーション構成要素は、テナントインフラストラクチャまたはテナンシーと呼ぶことができる。サービスアプリケーション、アプリケーション、またはサービスという用語は、本明細書では交換可能に使用され、広義には、データセンター上で実行されるか、またはデータセンター内のストレージにアクセスしてデバイスロケーションを計算する、任意のソフトウェアまたはソフトウェアの一部を指す。
【００４８】
[0061]複数の別々のサービスアプリケーションがノード１３３０によってサポートされているとき、ノード１３３０は仮想機械（たとえば、仮想機械１３５２および仮想機械１３５４）に区分することができる。物理機械は、別々のサービスアプリケーションを同時に実行することもできる。仮想機械または物理機械は、クラウドコンピューティングプラットフォーム１３１０内のリソース１３６０（たとえば、ハードウェアリソースおよびソフトウェアリソース）によってサポートされる、個別化されたコンピューティング環境として構成可能である。リソースは、特定のサービスアプリケーションのために構成可能であることが考えられる。さらに、各機能部分が別々の仮想機械上で実行できるように、各サービスアプリケーションを機能部分に分割することができる。クラウドコンピューティングプラットフォーム１３１０では、複数のサーバを使用してサービスアプリケーションを実行し、クラスタ内へのデータ記憶動作を実行することができる。特にサーバは、独立に、ただしクラスタと呼ばれる単一のデバイスとして見えるように、データ動作を実行することができる。クラスタ内の各サーバは、ノードとして実装可能である。
【００４９】
[0062]クライアントデバイス１３８０は、クラウドコンピューティングプラットフォーム１３１０内のサービスアプリケーションにリンクすることができる。クライアントデバイス１３８０は、たとえば図１３を参照しながら説明するコンピューティングデバイス１３００に対応することが可能な、任意のタイプのコンピューティングデバイスとすることができる。クライアントデバイス１３８０は、クラウドコンピューティングプラットフォーム１３１０にコマンドを発行するように構成可能である。実施形態において、クライアントデバイス１３８０は、仮想インターネットプロトコル（ＩＰ）およびロードバランサ、または、クラウドコンピューティングプラットフォーム１３１０内の指定されたエンドポイントに通信要求を誘導する他の手段を介して、サービスアプリケーションと通信することができる。クラウドコンピューティングプラットフォーム１３１０の構成要素は、１つまたは複数のローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）を含むことができるが限定されない、ネットワーク（図示せず）を介して、相互に通信することができる。
【００５０】
例示的コンピューティング環境
[0063]本発明の実施形態の概要を簡単に説明してきたが、本発明の様々な態様についての一般的状況を提供するために、本発明の実施形態を実装できる例示的なオペレーティング環境を下記で説明する。初めに特に図１４を参照すると、本発明の実施形態を実装するための例示的オペレーティング環境が、コンピューティングデバイス１４００として概括的に図示および指定される。コンピューティングデバイス１４００は、好適なコンピューティング環境の単なる一例であり、本発明の使用または機能の範囲に対するいかなる制限も示唆することは意図していない。さらにコンピューティングデバイス１４００は、図示した構成要素のいずれか１つまたは組み合わせに関して、いかなる依存性または要件を有するものとも解釈すべきではない。
【００５１】
[0064]本発明は、プログラムモジュールなどのコンピュータ実行可能命令を含み、コンピュータ、あるいは携帯情報端末または他のハンドヘルドデバイスなどの他の機械によって実行される、コンピュータコードまたは機械使用可能命令との一般的な関連において説明することができる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するコードを指す。本発明は、ハンドヘルドデバイス、家庭用電子機器、汎用コンピュータ、より専門的なコンピューティングデバイスなどを含む、様々なシステム構成で実施可能である。本発明は、タスクが通信ネットワークを介してリンクされたリモート処理デバイスによって実行される、分散型コンピューティング環境においても実施可能である。
【００５２】
[0065]図１４を参照すると、コンピューティングデバイス１４００はバス１４１０を含み、バス１４１０は、メモリ１４１２、１つまたは複数のプロセッサ１４１４、１つまたは複数の提示構成要素１４１６、入力／出力ポート１４１８、入力／出力構成要素１４２０、および例示の電源１４２２、というデバイスを、直接または間接的に結合する。バス１４１０は、（アドレスバス、データバス、またはそれらの組み合わせなどの）１つまたは複数のバスとすることができる。図１４の様々なブロックは、概念的に明確にするために線で示されており、説明する構成要素および／または構成要素機能の他の配置も考えられる。たとえば、ディスプレイデバイスなどの提示構成要素はＩ／Ｏ構成要素であるものとみなすことができる。また、プロセッサはメモリを有する。これは当分野の本質であるものと理解し、図１４の図は、本発明の１つまたは複数の実施形態に関連して使用可能な例示的コンピューティングデバイスの単なる例であることをあらためて述べる。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリ間には区別がなく、すべては図１４の範囲内にあり、「コンピューティングデバイス」を指すものと考えられる。
【００５３】
[0066]コンピューティングデバイス１４００は、典型的には様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングデバイス１４００がアクセス可能な任意の使用可能媒体とすることができ、揮発性および不揮発性、取り外し可能および取り外し不可の、両方の媒体を含む。例を挙げると、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができるが、限定はしない。
【００５４】
[0067]コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可の、媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは、所望の情報を記憶するために使用可能でありコンピューティングデバイス１４００によってアクセス可能な任意の他の媒体を含むが、限定されない。コンピュータ記憶媒体は、信号自体は含まない。
【００５５】
[0068]通信媒体は、典型的にはコンピュータ可読命令、データ構造、プログラムモジュール、あるいは、搬送波または他の移送機構などの変調データ信号内の他のデータを具備し、任意の情報送達媒体を含む。「変調データ信号」という用語は、信号内の情報を符号化するような方法で設定または変更されたその特徴のうちの１つまたは複数を有する信号を意味する。例を挙げると、通信媒体は、ワイヤードネットワークまたは直接ワイヤード接続などのワイヤード媒体、および音波、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含むが、限定はしない。上記のいずれの組み合わせも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００５６】
[0069]メモリ１４１２は、揮発性および／または不揮発性のメモリの形のコンピュータ記憶媒体を含む。メモリは、取り外し可能、取り外し不可、またはそれらの組み合わせとすることができる。例示的ハードウェアデバイスは、固体メモリ、ハードドライブ、光ディスクドライブなどを含む。コンピューティングデバイス１４００は、メモリ１４１２またはＩ／Ｏ構成要素１４２０などの様々なエンティティからデータを読み取る、１つまたは複数のプロセッサを含む。提示構成要素１４１６は、ユーザまたは他のデバイスにデータ指示を提示する。例示的提示構成要素は、ディスプレイデバイス、スピーカ、印刷構成要素、振動構成要素などを含む。
【００５７】
[0070]Ｉ／Ｏポート１４１８は、コンピューティングデバイス１４００を、一部は組み込み可能なＩ／Ｏ構成要素１４２０を含む他のデバイスに論理的に結合できるようにする。例示的構成要素は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用アンテナ、スキャナ、プリンタ、ワイヤレスデバイスなどを含む。
【００５８】
[0071]分散型コンピューティングシステムのサービスとしての合成データを参照すると、分散型コンピューティングシステムのサービスとしての合成データ構成要素は、サービスとしての合成データを提供するための統合構成要素を指す。統合構成要素は、システム内の機能をサポートする、ハードウェアアーキテクチャおよびソフトウェアフレームワークを指す。ハードウェアアーキテクチャは、物理構成要素およびそれらの間の関係を指し、ソフトウェアフレームワークは、デバイス上に具体化されたハードウェアを用いて実装可能な機能を提供するソフトウェアを指す。
【００５９】
[0072]エンドツーエンドのソフトウェアベースシステムは、システム機能を提供するためにコンピュータハードウェアを動作させるように、システム構成要素内で動作することができる。低レベルでは、ハードウェアプロセッサは、所与のプロセッサのための機械言語（機械コードまたはネイティブとも呼ばれる）命令セットから選択された命令を実行する。プロセッサはネイティブ命令を理解し、たとえば論理、制御、およびメモリ動作に関係する、対応する低レベル機能を実行する。機械コードで作成された低レベルソフトウェアは、より高レベルのソフトウェアにより複雑な機能を提供することができる。本明細書で使用する場合、コンピュータ実行可能命令は、機械コードで作成された低レベルソフトウェア、アプリケーションソフトウェアなどのより高レベルのソフトウェア、およびそれらの任意の組み合わせを含む、任意のソフトウェアを含む。この点で、システム構成要素は、リソースを管理し、システム機能のためのサービスを提供することができる。本発明の実施形態を用いた任意の他の変形およびそれらの組み合わせが考えられる。
【００６０】
[0073]例を挙げると、分散型コンピューティングシステムのサービスとしての合成データは、デバイスのハードウェアアーキテクチャと、分散型コンピューティングシステムのサービスとしての合成データのソフトウェアフレームワークとの間の対話をサポートすることができる、ルーチン、データ構造、オブジェクトクラス、および変数についての指定を含む、ＡＰＩライブラリを含むことが可能である。これらのＡＰＩは、本明細書で説明するように、様々な構成要素が分散型コンピューティングシステムのサービスとしての合成データ内で相互に通信できるように、分散型コンピューティングシステムのサービスとしての合成データについての構成指定を含む。
【００６１】
[0074]本明細書で利用される様々な構成要素を識別してきたが、本開示の範囲内で所望の機能を達成するために任意の数の構成要素および配置が採用可能であることを理解されたい。たとえば、図面内に示された実施形態における構成要素は、概念上明確にするために線で示されている。これらおよび他の構成要素の他の配置も実装可能である。たとえば、いくつかの構成要素は単一の構成要素として示しているが、本明細書で説明する要素の多くは、離散または分散型構成要素として、または他の構成要素に関連して、および任意の好適な組み合わせおよびロケーションにおいて、実装可能である。いくつかの要素は完全に省くことができる。さらに、本明細書では１つまたは複数のエンティティによって実行されるものとして説明する様々な機能は、下記で説明するように、ハードウェア、ファームウェア、および／またはソフトウェアによって実施可能である。たとえば様々な機能は、メモリ内に記憶されたプロセッサ実行命令によって実施可能である。したがって、他の配置および要素（たとえば、機械、インターフェース、機能、命令、および機能のグループ化など）を、図に示された配置および要素に加えて、またはそれらの代わりに使用することが可能である。
【００６２】
[0075]下記の段落で説明する実施形態は、具体的に説明する代替実施形態のうちの１つまたは複数と組み合わせることができる。特に、請求する実施形態は、代替実施形態における、複数の他の実施形態への参照を含むことができる。請求する実施形態は、請求する主題のさらなる制限を指定することができる。
【００６３】
[0076]本発明の実施形態の主題は、法定要件を満たすように本明細書において具体的に説明している。しかしながら説明自体は、本特許の範囲を限定することを意図していない。むしろ発明者らは、請求する主題が、他の現在または将来の技術に関連して、本明細書に記載するステップとは異なるステップまたは同様のステップの組み合わせを含むように、他の方法でも具体化可能であることを企図した。さらに、「ステップ」および／または「ブロック」という用語は、採用される方法の異なる要素を含意するために本明細書で使用可能であるが、これらの用語は、個々のステップの順序が明示的に記載されていない限り、および記載されている場合を除き、本明細書で開示された様々なステップ中またはステップ間の任意の特定の順序を示唆するものとして解釈するべきではない。
【００６４】
[0077]本開示において、「含む（ｉｎｃｌｕｄｉｎｇ）」という用語は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同じ広義の意味を有し、「アクセスする（ａｃｃｅｓｓｉｎｇ）」という用語は「受け取る（ｒｅｃｅｉｖｉｎｇ）」、「参照する（ｒｅｆｅｒｅｎｃｉｎｇ）」、または「取り出す（ｒｅｔｒｉｅｖｉｎｇ）」を含む。さらに「通信する（ｃｏｍｍｕｎｉｃａｔｉｎｇ）」という用語は、本明細書で説明する通信媒体を使用してソフトウェアまたはハードウェアベースのバス、受信器、または送信器によって容易になる、「受信する（ｒｅｃｅｉｖｉｎｇ）」または「送信する（ｔｒａｎｓｍｉｔｔｉｎｇ）」という用語と同じ広義の意味を有する。加えて、それとは反対に別段に示されていない限り、「ａ」および「ａｎ」などの用語は、複数形および単数形を含む。したがって、たとえば「１つの特徴（ａ  ｆｅａｔｕｒｅ）」の制約は、１つまたは複数の特徴が存在する場合に満たされる。また、「または」という用語は、接続詞、離接語、および両方を含む（したがって、ａまたはｂは、ａまたはｂならびにａおよびｂのいずれかを含む）。
【００６５】
[0078]上記の詳細な考察において、本発明の実施形態は分散型コンピューティング環境を参照しながら説明しているが、本明細書に示される分散型コンピューティング環境は単なる例示である。構成要素は実施形態の新規の態様を実行するために構成可能であり、「ために構成される（ｃｏｎｆｉｇｕｒｅｄ  ｆｏｒ）」という用語は、特定のタスクを実行する、またはコードを使用して特定の抽象データ型を実装する「ためにプログラムされる（ｐｒｏｇｒａｍｍｅｄ  ｔｏ）」ことを指すことができる。さらに、本発明の実施形態は一般に、本明細書で説明する、分散型コンピューティングシステムのサービスとしての合成データおよび概要を指すことができるが、説明する技法は他の実装状況に拡張できることを理解されよう。
【００６６】
[0079]本発明の実施形態を、すべての点において制限的ではなく例示的であることを意図する特定の実施形態に関して説明してきた。当業者であれば、本発明がその範囲を逸脱することなく関連する代替の実施形態が明らかとなろう。
【００６７】
[0080]前述の内容から、本発明は、明白であり構造に固有な他の利点と共に上記で示したすべての目標および目的を達成するために良好に適合するものであることがわかるであろう。
【００６８】
[0081]一定の特徴および下位組み合わせは実用的であり、他の特徴または下位組み合わせとは無関係に採用可能であることを理解されよう。これは、特許請求の範囲によって企図され、特許請求の範囲内である。
【図１Ａ】
2021526685.tif 000003
【図１Ｂ】
2021526685.tif 000004
【図２Ａ】
2021526685.tif 000005
【図２Ｂ】
2021526685.tif 000006
【図３】
2021526685.tif 000007
【図４】
2021526685.tif 000008
【図５】
2021526685.tif 000009
【図６】
2021526685.tif 000010
【図７】
2021526685.tif 000011
【図８】
2021526685.tif 000012
【図９】
2021526685.tif 000013
【図１０】
2021526685.tif 000014
【図１１】
2021526685.tif 000015
【図１２】
2021526685.tif 000016
【図１３】
2021526685.tif 000017
【図１４】
2021526685.tif 000018
【国際調査報告】
2021526685.tif 000019
2021526685.tif 000020