(57)【要約】【課題】  ストリーミング分析アプリケーションを生成するためのシステム、方法及びコンピュータ・プログラムを提供する。【解決手段】  ストリーミング分析アプリケーションを生成するための技術の例が、本明細書において説明される。例示的なコンピュータにより実施される方法は、プロセッサにより、半構造化フォーマットで主題要件を受け取ることを含む。方法は、プロセッサにより、所定の分類基準に基づいて主題要件を分類することを含む。方法は、プロセッサにより、文法に基づいて主題要件からエンティティのリストを抽出することを含む。方法は、グロッサリ及び抽出したエンティティのリストに基づいてソリューションを生成することを含む。方法は、プロセッサにより、ソリューションに基づいてストリーミング分析アプリケーションを生成することを含む。【選択図】      図１
2019510282.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
プロセッサを含み、前記プロセッサは、
半構造化フォーマットで主題要件を受け取り、
所定の分類基準に基づいて前記主題要件を分類し、
文法に基づいて前記主題要件からエンティティのリストを抽出し、
グロッサリに基づいてソリューションを生成する、
ように構成され、前記ソリューションを生成するために、前記プロセッサは、
前記分類及び抽出した前記エンティティに基づいてモデル・リポジトリ内の適切な訓練データセットを検出し、
前記訓練データセットに基づいてモデルを生成する、
ようにさらに構成され、かつ、前記プロセッサは、
前記ソリューションに基づいて、前記モデルを含むストリーミング分析アプリケーションを生成するように構成される、システム。
【請求項２】
前記ソリューションを生成するために、前記プロセッサは、抽出した前記エンティティを前記グロッサリ内の概念グラフ及び特性にマッピングすることによって、ストリーミング分析アプリケーションのコンポーネントを生成するようにさらに構成される、請求項１に記載のシステム。
【請求項３】
前記主題要件は、人間可読言語での複数の制約を含む、請求項１に記載のシステム。
【請求項４】
前記グロッサリは、組織の所定のグロッサリを含む、請求項１に記載のシステム。
【請求項５】
前記訓練データセットは、分類された訓練データを含む、請求項１に記載のシステム。
【請求項６】
前記所定の分類基準は、語を含む所定のカテゴリを含む、請求項１に記載のシステム。
【請求項７】
前記プロセッサは、前記モデル・リポジトリ内に、前記ストリーミング分析アプリケーション内に含まれるべき適切なモデルが存在するかどうかを判断し、前記適切なモデルが存在する場合、前記モデル・リポジトリから前記適切なモデルをフェッチするようにさらに構成される、請求項６に記載のシステム。
【請求項８】
コンピュータにより実施される方法であって、
プロセッサによって、半構造化フォーマットで主題要件を受け取ることと、
前記プロセッサによって、所定の分類基準に基づいて前記主題要件を分類することと、
前記プロセッサによって、文法に基づいて前記主題要件からエンティティのリストを抽出することと、
前記プロセッサによって、グロッサリ及び抽出された前記エンティティのリストに基づいてソリューションを生成することと、
前記プロセッサによって、前記ソリューションに基づいてストリーミング分析アプリケーションを生成することと、
を含む、方法。
【請求項９】
前記グロッサリ及び抽出された前記エンティティに基づいて前記ソリューションを生成することは、
前記プロセッサによって、モデル・リポジトリ内に適切なモデルが存在するかどうかを判断することと、
前記適切なモデルが検出された場合、前記プロセッサによって、前記モデル・リポジトリから前記適切なモデルをフェッチすることと、
前記モデル・リポジトリ内に適切なモデルが検出されない場合、前記プロセッサによって、前記分類及び抽出された前記エンティティに基づいて前記モデル・リポジトリ内の適切な訓練データセットを検出することと、
前記プロセッサによって、前記訓練データセットに基づいてモデルを生成することと、
前記プロセッサによって、抽出された前記エンティティを前記グロッサリ内の概念グラフ及び特性にマッピングすることによって、ストリーミング分析アプリケーションを生成することと、
をさらに含む、請求項８に記載のコンピュータにより実施される方法。
【請求項１０】
メタデータ比較に基づいてソリューションにスコア付けし、より高いスコアを有するソリューションのセットを戻すことをさらに含む、請求項８に記載のコンピュータにより実施される方法。
【請求項１１】
前記ソリューションを生成することは、前記エンティティのリストをソリューション・コンポーネントにマッピングすることを含む、請求項８に記載のコンピュータにより実施される方法。
【請求項１２】
前記適切なモデルが存在するかどうかを判断することは、前記エンティティのリストをソリューション・コンポーネントにマッピングし、前記マッピングされたソリューション・コンポーネントを前記モデル・リポジトリ内の既存のモデルのソリューション・コンポーネントと比較することを含む、請求項９に記載のコンピュータにより実施される方法。
【請求項１３】
前記適切な訓練データセットを検出することは、訓練データ・メタデータを前記抽出エンティティのリストと比較することを含む、請求項９に記載のコンピュータにより実施される方法。
【請求項１４】
主題専門家からフィードバックを受け取り、前記フィードバックに基づいて前記グロッサリ内の前記ストリーミング分析アプリケーションの概念グラフを更新することをさらに含む、請求項８に記載のコンピュータにより実施される方法。
【請求項１５】
ストリーミング分析アプリケーションを生成するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
プロセッサにより実行可能なプログラム・コードを含み、前記プロセッサにより実行可能なプログラム・コードは、前記プロセッサに、
半構造化フォーマットで主題要件を受け取らせ、
所定の分類基準に基づいて前記主題要件を分類させ、
文法に基づいて前記主題要件からエンティティのリストを抽出させ、
前記分類及び抽出した前記エンティティに基づいてモデル・リポジトリ内の適切な訓練データセットを検出させ、
前記訓練データセットに基づいてモデルを生成させ、
マイニング・コンポーネントを含むストリーミング分析アプリケーションを生成させる、コンピュータ・プログラム。
【請求項１６】
モデル・リポジトリ内の既存のモデルを検出し、
前記モデル・リポジトリ内の前記既存のモデルに基づいて前記ストリーミング分析アプリケーションを生成する、
ための、前記プロセッサにより実行可能なプログラム・コードをさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記エンティティのリストをソリューション・コンポーネントにマッピングし、前記マッピングされたソリューション・コンポーネントを前記モデル・リポジトリ内の既存のモデルのソリューション・コンポーネントと比較するための、前記プロセッサにより実行可能なプログラム・コードをさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１８】
オペレータが存在しないことを検出し、タスク生成要求をユーザ・インターフェースに送るための、前記プロセッサにより実行可能なプログラム・コードをさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１９】
主題専門家からフィードバックを受け取り、前記フィードバックに基づいて前記ストリーミング分析アプリケーションを修正するための、前記プロセッサにより実行可能なプログラム・コードをさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項２０】
前記モデル・リポジトリから前記既存のモデルをフェッチし、前記モデルに基づいてマイニング・コンポーネントを生成するための、前記プロセッサにより実行可能なプログラム・コードをさらに含む、請求項１６に記載のコンピュータ・プログラム。
【請求項２１】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されるとき、請求項８から請求項１４までのいずれかの方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ストリーミング・アプリケーションの生成に関する。より具体的には、本技術は、グロッサリを用いたストリーミング分析アプリケーションの生成に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
ストリーミング分析アプリケーションを生成するためのシステム、方法及びコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【０００３】
本明細書に説明される実施形態によると、システムは、半構造化（semi-structured）フォーマットで主題要件を受け取るためのプロセッサを含むことができる。プロセッサはまた、所定の分類基準（taxonomy）に基づいて主題要件をさらに分類することができる。プロセッサはまた、文法に基づいて主題要件からエンティティのリストを抽出することもできる。プロセッサはさらに、グロッサリに基づいてソリューションをさらに生成することもできる。プロセッサは、ソリューションを生成するために、分類（classification）及び抽出したエンティティに基づいて、モデル・リポジトリ内の適切な訓練データセットをさらに検出することができる。プロセッサはまた、訓練データセットに基づいてモデルを生成することもできる。プロセッサはまた、ソリューションに基づいて、ストリーミング分析アプリケーションをさらに生成することもできる。ストリーミング分析アプリケーションは、モデルを含むことができる。
【０００４】
本明細書に説明される実施形態によると、方法は、プロセッサによって、半構造化フォーマットで主題要件を受け取ることを含むことができる。方法は、プロセッサによって、所定の分類基準に基づいて主題要件を分類することをさらに含むことができる。方法はまた、プロセッサによって、文法に基づいて主題要件からエンティティのリストを抽出することをさらに含むことができる。方法はまた、プロセッサによって、グロッサリ及び抽出されたエンティティのリストに基づいてソリューションを生成することを含むこともできる。方法は、プロセッサによって、ソリューションに基づいてストリーミング分析アプリケーションを生成することをさらに含むことができる。
【０００５】
本明細書に説明される実施形態によると、ストリーミング分析アプリケーションを生成するためのコンピュータ・プログラム製品が、そこにプログラム・コードが具体化されたコンピュータ可読ストレージ媒体を含むことができる。コンピュータ可読ストレージ媒体は、それ自体一時的信号ではない。プログラム・コードは、プロセッサにより実行可能であり、プロセッサに、半構造化フォーマットで主題要件を受け取らせる。プロセッサ・コードはまた、プロセッサに、所定の分類基準に基づいて主題要件を分類させることもできる。プログラム・コードはまた、プロセッサに、文法に基づいて主題要件からエンティティのリストを抽出させることもできる。プログラム・コードはまた、プロセッサに、分類及び抽出したエンティティに基づいて、モデル・リポジトリ内の適切な訓練データセットを検出させることもできる。プログラム・コードはまた、プロセッサに、訓練データセットに基づいてモデルを生成させることもできる。プログラム・コードはまた、マイニング・コンポーネントを含むストリーミング分析アプリケーションをさらに生成させることもできる。
ここで本発明の実施形態を、以下の図面を参照して、単なる一例として説明する。
【図面の簡単な説明】
【０００６】
【図１】グロッサリを用いてストリーミング・アプリケーションを生成するための例示的システムのブロック図である。
【図２】ＨＴＴＰトラフィックにおける異常の検出に対して警告を発することができるストリーミング・アプリケーションのための例示的エンティティ抽出プロセスのブロック図である。
【図３】地震の震央を検出することができるストリーミング・アプリケーションのための例示的エンティティ抽出プロセスのブロック図である。
【図４】ＨＴＴＰトラフィックにおける異常の検出に対して警告を発することができるストリーミング・アプリケーションを生成するための例示的マッピングのブロック図である。
【図５】地震の震源を検出することができるストリーミング・アプリケーションを生成するための例示的マッピングのブロック図である。
【図６】グロッサリに基づいてストリーミング・アプリケーションを生成することができる例示的方法のプロセス・フロー図である。
【図７】モデルを含むソリューションを生成することができる例示的方法のプロセス・フロー図である。
【図８】グロッサリを用いてストリーミング・アプリケーションを生成することができる例示的コンピューティング・デバイスのブロック図である。
【図９】本明細書で説明される実施形態による例示的クラウド・コンピューティング環境である。
【図１０】本明細書で説明される実施形態による例示的抽象化モデル層である。
【図１１】グロッサリを用いてストリーミング・アプリケーションを生成することができる例示的な有形の非一時的コンピュータ可読媒体である。
【発明を実施するための形態】
【０００７】
ストリーム・コンピューティング・プラットフォームは、異種データ型の複雑な分析の実行に加えて、一日当たり最大でペタバイトまでの速度で膨大な量のデータを連続的に分析することができる高性能プラットフォームである。例えば、異種データ型は、他のデータ型の中でも、テキスト、イメージ、オーディオ、音声、ＶｏＩＰ、ビデオ、ウェブトラフィック、ｅメール、ＧＰＳデータ、金融取引データ、衛星データ、及びセンサ・データを含むことができる。ストリーム・コンピューティング・プラットフォームの開発プロセスは、高いプログラミング・スキル、知識、及び深いプラットフォームの理解を利用する。しかしながら、ストリーミング・アプリケーションの主なステークホルダ（利害関係者）であり得る主題専門家（subject matter expert）は、ストリーミング・アプリケーション開発スキルを有していないことがあるが、どちらかと言えば、深い主題の専門領域の知識を有し得る。従って、ストリーム・コンピューティング・プラットフォームは、プロジェクト・ライフサイクルにおいて少なくとも２つの役割を有し得る。主題専門家は、機能及び非機能アプリケーション要件を定め、複雑なテストケースのシミュレーションによるアプリケーション承認テスト（acceptance test）を担当することがある。例えば、機能アプリケーション要件は、特定の入力又は出力のセットの受信といった、システム及びそのコンポーネントの機能を定めることができる。非機能アプリケーション要件は、性能速度など、システムの動作を判定するために用い得る基準を指定することができる。ストリーミング・アプリケーション開発者は、主題の制約（subject matter constrain）を理解し、アプリケーション・ステークホルダ（利害関係者）との連続的で密な通信の間、それらをストリーミング・アプリケーションに変換するように訓練を受けることができる。さらに、２つの役割は、異なる語彙を使用することがあり、主題専門家が、ストリーミング・アプリケーション開発の詳細を認識していないことがある。さらに、ストリーミング・アプリケーションを設計及び開発するとき、大量のデータの処理は、付加的な要因を考慮に入れることを含み得る。
【０００８】
本開示の実施形態によると、システムは、グロッサリに基づいてストリーミング分析アプリケーションを生成することができる。例えば、分析モデルは、リポジトリから選択することができ、又は半構造化言語を用いて主題制約に基づいて生成することができる。例えば、システムは、半構造化言語で主題制約を受け取り、所定のグロッサリを用いてストリーミング・アプリケーションを自動的かつリアルタイムに生成することができる。さらに、技術は、ストリーミング分析アプリケーションのテスト及び調整のためのシミュレーション・ベースの方法を含む。方法は、主題専門家が、手動コーディング及び特定のストリーミング・プラットフォームの深い知識なしに、ストリーミング分析アプリケーションを迅速に生成、テスト、及び調整することを可能にする。さらに、方法は、特定のストリーミング・プラットフォームの実装に依存しない。従って、本開示の実施形態は、任意のストリーミング・プラットフォームを用いて、ストリーミング分析アプリケーションを自動的かつリアルタイムに生成することを可能にする。
【０００９】
幾つかのシナリオにおいて、本明細書で説明される技術は、クラウド・コンピューティング環境において実装することができる。少なくとも図７〜図９を参照して詳細に後述するように、ストリーミング・アプリケーションを生成するように構成されたコンピューティング・デバイスを、クラウド・コンピューティング環境において実装することができる。本開示は、クラウド・コンピューティングについての説明を含み得るが、本明細書で述べられる教示の実装は、クラウド・コンピューティング環境に限定されるものではないことを予め理解されたい。むしろ、本発明の実施形態は、現在知られている又は後に開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【００１０】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つの配備モデルを含むことができる。
【００１１】
特徴
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【００１２】
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
【００１３】
リソースのプール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置（例えば、国、州、又はデータセンタ）を特定できる場合があるという点で、位置とは独立しているといえる。
【００１４】
迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングされて素早くスケール・アウトし、迅速に解放されて素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、無制限であり、いつでもどんな量でも購入できるように見えることが多い。
【００１５】
サービスの測定：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【００１６】
サービス・モデル
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎となるクラウド・インフラストラクチャを管理又は制御しない。
【００１７】
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上に配備するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎となるクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
【００１８】
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎となるクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【００１９】
配備モデル
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オン・プレミス（on-premise）又はオフ・プレミス（off-premise）で存在することがある。
【００２０】
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オン・プレミス又はオフ・プレミスで存在することがある。
【００２１】
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
【００２２】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング）によって結び付けられる２つ又はそれより多いクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【００２３】
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００２４】
ここで図１を参照すると、例示的コンピューティング・デバイスが、ストリーミング・アプリケーションを生成することができる。コンピューティング・デバイス１００は、例えば、サーバ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又はスマートフォンとすることができる。幾つかの例において、コンピューティング・デバイス１００は、クラウド・コンピューティング・ノードとすることができる。コンピューティング・デバイス１００は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピューティング・デバイス１００は、通信ネットワークを通じてリンクされる遠隔処理デバイスによりタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【００２５】
ここで図１を参照すると、ブロック図は、グロッサリを用いたストリーミング・アプリケーションの生成のための例示的システムを示す。例示的プロセス・フローは、全体的に参照番号１００で示され、下記の図８のコンピューティング・デバイス８００を用いて実施することができる。図１は、矢印１０４で示されるように、主題専門家（ＳＭＥ）から入力を受け取るように示されるユーザ・インターフェース１０２を含む。本明細書で述べられるような主題専門家は、いずれかの適切な自動コンピュータ・アプリケーション又はユーザを含むことができる。入力は、半構造化フォーマットでストリーミング・アプリケーションの予想挙動を記述することができる。例えば、フォーマットは、Ｇｈｅｒｋｉｎフォーマットに類似し得る。予想挙動は、機能挙動、アプリケーションの実行に利用可能な予想ハードウェア及びソフトウェア・リソース、及びセキュリティ、拡張性等のような非機能側面を含むことができる。例えば、半構造化フォーマットは、次のように現れ得る。：
シナリオ１：ネットワーク・トラフィック異常ストリーミング・アプリケーション
Ｇｉｖｅｎ（前提）：タッピング・サーバから収集された、２００Ｍｂ／秒の速度を有するライブ・エンタープライズ・ネットワーク・トラフィック
Ｗｈｅｎ（条件）：ＨＴＴＰトラフィックにおいて異常が検出される
Ｔｈｅｎ（結果）：警告を発する
シナリオ２：地震早期警報ストリーミング・アプリケーション
Ｇｉｖｅｎ：１００イベント／秒の速度で取得されるべき、ｍｓｅｅｄフォーマットでの地震計からのセンサ・データ
Ｗｈｅｎ：単一ステーションからのピークが検出された
Ｔｈｅｎ：地震の震央の検出のためのアルゴリズムを適用し、震央の座標と共に警告を発する
【００２６】
図１の例において、分類モジュール１０６は、矢印１０８で示されるように、主題入力を受け取ることができる。分類モジュール１０６は、矢印１１１で示されるように、ストア１１０の所定の分類基準に基づいて主題入力を分類することができる。ストア１１０は、いずれかの好適なデータベース又は他のいずれかのデータ・ストレージ・システムとすることができる。幾つかの例において、分類は、半構造化主題要件の所定の分類基準による自動分類プロセスとすることができる。分類モジュール１０６は、ブートストラッピングのための教師あり学習を使用することができる。例えば、教師あり学習は、訓練データからの分析モデル生成プロセスを含むことができる。分析モデル生成プロセスは、オフライン性質を有することができる。例えば、分類モジュール１０６は、最初に、サイズが限定されている訓練セットに基づいてモデルを生成することができる。次に、生成されたモデルをランタイム環境に配備することができる。幾つかの例において、分類モジュール１０６は、所定の訓練データを用いて、テキスト分類のための初期ブートストラップ・モデルを作成することができる。次に、分類モジュール１０６は、フィードバックを介してリアルタイム学習によりモデルを改善することができる。さらに、分類モジュール１０６は、リアルタイム学習を用いて、性能及び品質結果を改善することができる。分類モジュール１０６はまた、高度な自然言語処理及び機械学習技術を利用することもできる。例えば、分類モジュール１０６は、上記のシナリオ１を「ネットワーク分析アプリケーション」として分類することができる。
【００２７】
さらに図１を参照すると、抽出器モジュール１１２は、矢印１１４で示されるように、分類を受け取ることができる。抽出器モジュール１１２は、分類基準１１０に基づいて分類モジュール１０６により生成された分類からエンティティのリストを抽出することができる。システム１００はまた、グロッサリ作成者により予め定められ得るグロッサリ１１３を含むこともできる。例えば、初期エンティティ抽出段階は、矢印１１５で示されるように、分類基準１１０に基づくことができる。例えば、グロッサリは、矢印１１６で示されるようにグロッサリ作成者により予め定められ得る。幾つかの例において、予め定められたグロッサリ１１３は、特定の主題を処理する際に特定の会社又は組織により使用される言語を含むことができる。抽出器モジュール１１２は、分類基準１１０を用いて、グラフ内の相関した用語及び概念を結合してエンティティを作成し、それをソリューション・コンポーネントにマッピングすることができる。幾つかの例において、分類基準１１０及び／又はグロッサリ１１３はまた、システム学習コンポーネントにより所定の主題カテゴリを調整することもできる。抽出器モジュール１１２は、付加的なエンティティの抽出のために、分類基準１１０内に定められたエンティティの関係を利用することができる。抽出器モジュール１１２の出力は、強化型（enriched）エンティティのリストを含むことができる。例えば、抽出エンティティは、詳細に後述される図２〜図３の例示的な抽出エンティティ２００及び３００に類似し得る。幾つかの例において、抽出器モジュール１１２は、分類基準１１０内に抽出の成功のために十分な情報が存在しないことを検出することができる。抽出器モジュール１１２は、矢印１１８で示されるように、欠落情報（missing information）の通知をユーザ・インターフェース１０２に送ることができる。幾つかの例において、ＳＭＥは、ユーザ・インターフェース１０２を介して欠落情報を提供することができる。
【００２８】
システム１００は、矢印１２０で示されるように、抽出器モジュール１１２からエンティティ・リストを受け取ることができるソリューション生成器モジュール１１９をさらに含む。システム１００は、矢印１２３で示されるように、１つ又は複数のソリューションを生成するために使用されるモデル及び／又は訓練データを含むモデル／訓練データ・リポジトリ１２１をさらに含む。本明細書で用いられる場合、ソリューションは、使用することができる候補アプリケーションを指す。例えば、抽出器モジュール１１２からの強化（enriched）エンティティ及び分類モジュール１０６からのカテゴリに基づいて、モデル・リポジトリ１２１から適切なモデルを抽出することができる。ソリューション生成器モジュール１１９は、矢印１２４で示されるように、知識データベース１２２を用いて、強化エンティティを繰り返しモデルにマッピングすることによって、ソリューションを生成することができる。例えば、知識データベース１２２は、それぞれのメタデータと共にあらゆる世界中の開発チームにより作成及びアップロードされたソリューション及びソリューション・コンポーネントを保持するストリーム・ライブラリ及びオープン・ソース知識ベースを含むことができる。知識データベース１２２は、動的なものとすることができる。例えば、新しいツールキット又はソリューションは、ひとたび知識データベース１２２に付加されると、ストリーミング・アプリケーションに即座に利用可能になり得る。幾つかの例において、ストリーミング・アプリケーションの生成に用いるために、発行されたツールキット又はソリューションを知識データベース１２２に自動的に付加することができる。幾つかの例において、知識データベース１２２は、オープン・ソース・リソースを含むことができる。例えば、オープン・ソース・コミュニティからのソリューションを知識データベース１２２に自動的に付加することができる。ソリューション生成器モジュール１１９は、これらの知識ベースを管理することができる。幾つかの例において、ソリューション生成器モジュール１１９は、矢印１２６で示されるように、マッピングを用いて検索範囲を繰り返し絞り、所定の要件に合致するソリューションのセットを戻すことができる。例えば、ソリューション生成器モジュール１１９は、それらが要件にどれだけ近接して合致するかに基づいて、潜在的なソリューションにスコア付けし、下記のソリューション・エクスプローラ１３０に関して述べられるように、より高いスコアを有するソリューションのセットを戻すことができる。図４〜図５の例示的マッピング４００〜５００に関してより詳細に説明されるように、ソリューション生成器モジュール１１９は、エンティティを１つ又は複数のストリーム・ソリューション・コンポーネントにマッピングすることができる。幾つかの例において、ソリューション生成器モジュール１１９は、矢印１２７で示されるように、グロッサリ１１３を使用することができる。グロッサリ１１３は、複数のアプリケーション概念グラフを含むことができる。例えば、概念グラフは、カテゴリ間（inter-component）接続及び特性を有するリアルタイムのマイニング・アプリケーション概念構造を含���ことができる。概念グラフは、ソリューション生成器モジュール１１９が有効であることを可能にする。さらに、ソリューション生成器モジュール１１９が顧客により承認されるストリーミング・アプリケーションを作成するとき、ソリューション生成器モジュール１１９は、矢印１２７で示されるように、フィードバックをグロッサリに送ることができる。フィードバックは、新しい特性及びコンポーネント間接続を含むことができる。幾つかの例において、検索が、ユーザ・フィードバックに付随して行われることがある。例えば、ユーザ・フィードバックは、マッピング結果のスコア付けを含むことができる。例えば、ユーザは、最良のソリューションに対して最高のスコアを与えることができる。幾つかの例において、ユーザ・フィードバックをしたものの特定のエンティティ・パターンをいずれの利用可能なソリューションにもマッピングできない場合、ソリューション生成器モジュール１１９は、新しい十分なオペレータを開発するためのタスク要件を作成し、ＳＭＥに通知することができる。上記のシナリオ１及び２についてのマッピングを、それぞれ下記の図４及び図５に関して説明する。
【００２９】
さらに図１を参照すると、幾つかの例において、促進モジュール１２８は、他の専門家からの入力に基づいて、ソリューション・コンポーネント選択を案内することができる。例えば、促進モジュール１２８は、最も高い重み付けのインデックスを、他の専門家が促進したいと考え得るソリューション・コンポーネントに付加することができ、従って、ソリューション生成器モジュール１１９を、より高いスコアを与えるように案内することができる。
【００３０】
システム１００は、ソリューション・エクスプローラ・モジュール１３０をさらに含む。例えば、ソリューション・エクスプローラ・モジュール１３０は、矢印１３２で示されるように、ソリューション生成器モジュール１１９から受け取ったソリューション１３４を管理するために用いることができるユーザ・インターフェースとすることができる。例えば、ソリューション１３４の各々は、分析モデルを含むことができ、この分析モデルは、該分析モデルを含むストリーミング分析アプリケーションを生成するために使用することができる。ソリューション・エクスプローラ・モジュール１３０は、矢印１３６で示されるように、ソリューション・グラフ及び関連情報を探索するために用いることができる。ソリューション・エクスプローラ・モジュール１３０は、ソリューション・シミュレータ１３８、矢印１４２で示されるようにソリューション・エディタ１４０、及び矢印１４６で示されるように、パラメータ・マネージャ１４４を呼び出すために用いることもできる。
【００３１】
ソリューション・シミュレータ１３８は、デフォルト又はユーザ定義入力値を有するソリューションを実行し、結果をテストすることができる。例えば、ソリューション・シミュレータ１３８は、矢印１４９で示されるように、テスト入力マネージャ１４８においてアップロードされた「ｇｏｌｄ」テスト結果を受け取ることができる。「ｇｏｌｄ」テスト結果は、予想されるテスト結果を含むことができる。ソリューション・シミュレータ１３８はまた、照合メトリクス（match metrics）を用いて比較統計情報を生成することもできる。照合メトリクスは、結果エクスプローラ１５０を介して、ユーザに対して表示することができる。幾つかの例において、結果が所定の要件を満たす場合、後述のように、ソリューションを生産環境に配備することができる。結果がユーザの期待に合わない場合、矢印１５１で示されるように、ソリューションを改善すること、又はユーザ・インターフェース１０２において要件を再定義することができる。幾つかの例において、パラメータ・マネージャ１４４は、矢印１４６で示されるように、パラメータを構成することによって、ストリーミング分析アプリケーションを微調整するために用いることができる。例えば、ストリーミング分析アプリケーションが特定のアルゴリズムを実行する場合、パラメータ・マネージャ１４４は、最良の性能及び結果のためにアルゴリズムを調整することを可能にする。幾つかの例において、ソリューション・エディタ１４０は、矢印１４２で示されるように、ソリューションを編集するために用いることができる。例えば、外部開発者の助けを借りて又は借りずに、ソリューションを編集することができる。従って、技術により、主題専門家が、外部開発者の助けを借りずにソリューションを編集することが可能になる。例えば、使用する代替的なソリューションのリストをＳＭＥに提示することができる。幾つかの例において、主題専門家は、矢印１５４で示されるように、タスク要件を作成して、新しいソリューション・コンポーネントを開発することができる。例えば、矢印１５４で示されるように、タスク要件をタスク生成モジュール１５２に送ることができる。次に、開発者は、後述のようにオペレータを構築することができる。
【００３２】
さらに図１を参照すると、構成ユーザ・インターフェース１５６は、ＳＭＥが、結果分析に基づいてストリーミング・アプリケーションを調整することを可能にする。例えば、結果分析は、矢印１５８で示されるように、結果エクスプローラ１５０により生成され、構成ユーザ・インターフェース１５６に送られていることがある。幾つかの例において、調整は機能的であり得る。例えば、調整は、新しいタイプのデータ・インジェクタを付加する要求を含むことができる。データ・インジェクタは、他のタイプのデータ・インジェクタの中でも、ネットワーク・カードからライブ・トラフィックをキャプチャするためのライブ・フィーダ、ファイルからデータを読み取るためのファイル・フィーダ、又はデータベースからデータを読み取るためのデータベース・フィーダを含むことができる。幾つかの例において、調整は、非機能的であり得る。例えば、調整は、より大きいデータ量及び／又は速度をサポートする要求を含むことができる。構成ユーザ・インターフェース１５６はまた、矢印１６２で示されるように、配備１６０のためにソリューションを送出するのに用いることもできる。幾つかの例において、矢印１６４で示されるように、配備されたソリューションを知識データベース１２２に送ることもできる。例えば、ソリューション・エクスプローラ１３０は、ストリーミング・アプリケーションの生成のために、ソリューション１３４のリスト内に配備されたソリューションを含むことができる。
【００３３】
上述のように、ソリューション生成器モジュール１１９が要件エンティティを知識データベース１２２内の既存のソリューションにマッピングできない場合、タスク生成器モジュール１５２は、ソリューション・エクスプローラ１３０のための新しい開発タスクを自動的に生成することができる。幾つかの例において、ソリューション・エディタ１４０はまた、タスク生成器モジュール１５２を用いて、シミュレーション・ベースのテスト中に自動生成されたソリューションを更新することもできる。例えば、ＳＭＥは、矢印１５４で示されるように、ソリューション・エディタ１４０を用いて、自動生成されたソリューションを手動で更新することができる。幾つかの例において、ソリューション生成器モジュール１１９は、矢印１６６で示されるように、タスク生成器モジュール１５２に、新しい開発タスクを生成させることができる。例えば、ソリューション生成器モジュール１１９は、１つ又は複数のオペレータが存在しないことを検出することができる。タスク生成器モジュール１５２は、オペレータ生成器１６８に、欠落オペレータの記述を生成させることができる。例えば、必要とされる欠落オペレータの入力及び出力を記述することができる。オペレータ生成器１６８は、矢印１７０で示されるように、新しいオペレータをソリューション生成器モジュール１１９に送ることにより、システムに新しいオペレータを通知することができる。次に、ソリューション生成器モジュール１１９は、矢印１７４で示されるように、生成されたオペレータを用いて、付加的な遅延ソリューション１７２を生成することができる。幾つかの例において、ソリューション１３４がシミュレートされる前に、待ち時間１７６があることがある。例えば、ソリューション・マッパーが、顧客の特定の入力フォーマットの構文解釈の使用するための適切なインジェクタ（フィーダ）を見つけることができない場合、待機時間１７６があることがある。幾つかの例において、開発者は、矢印１７８で示されるように、タスク生成器モジュール１５２により提供される欠落オペレータの記述を調べ、新しいオペレータを開発することができる。矢印１８０で示されるように、新しいオペレータを知識データベース１２２に付加することができる。
【００３４】
図１のブロック図は、システム１００が図１に示されるコンポーネントの全てを含むことを示すように意図しないことを理解されたい。むしろ、システム１００は、図１に示されていないより少ない又は付加的なコンポーネント（例えば、付加的なクライアント・デバイス、付加的なリソース・サーバ等）を含むことができる。
【００３５】
図２は、ＨＴＴＰトラフィックにおける異常の検出に対して警告を発することができるストリーミング・アプリケーションのための例示的エンティティ抽出プロセスのブロック図である。例示的プロセスは、全体的に参照番号２００で示され、図８のコンピューティング・デバイス８００を用いて実施することができる。図２は、半構造化要件定義２０２、要件分類ラベル２０４、及び抽出エンティティ２０８を含む。抽出エンティティ２０８は、ネットワーク・エンティティ２１２、トラフィック・エンティティ２１４、速度エンティティ２１６、警告エンティティ２１８、異常検出エンティティ２２０、及び外部システム・エンティティ２２２を含む。
【００３６】
例示的プロセス２００において、半構造化要件定義２０２は、「タッピング・サーバから収集した２００Ｍｂ／秒の速度を有するライブ・エンタープライズ・ネットワーク・トラフィック」の値を有する「ｇｉｖｅｎ」要件を含む。半構造化要件定義２０２は、「ＨＴＴＰトラフィックにおいて異常が検出される」の値を有する「ｗｈｅｎ」要件をさらに含む。半構造化要件定義２０２はまた、「警告を発する」の値を有する「ｔｈｅｎ」要件をさらに含む。矢印２０６で示されるように、半構造化要件定義２０２は、「ネットワーク分析アプリケーション」の値を有する要件分類ラベル２０４を生成するように、コンピューティング・デバイスにより分類することができる。例えば、コンピューティング・デバイスは、分類基準を用いて、提供された半構造化要件定義２０２に基づいて、要件分類ラベル２０４の値を求めることができる。半構造化要件定義２０２は、ＳＭＥにより提供され得る。
【００３７】
矢印２１０で示されるように、コンピューティング・デバイスは、要件分類ラベル２０４及びグロッサリ（図示せず）に基づいて、半構造化要件定義２０２から抽出エンティティ２０８を抽出することができる。各々の抽出エンティティは、属性及び値を有することができる。図２の例示的マッピング２００において、ネットワーク・エンティティ２１２は、「ライブ」の値をもつ属性を有することができる。トラフィック・エンティティ２１４は、「ＨＴＴＰ」の値をもつ属性を有する。速度エンティティ２１６は、「１００Ｍｂ／秒」の値をもつ属性を有する。警告エンティティ２１８は、「感染のみ」の値をもつ属性を有する。異常検出エンティティ２２０は、「ＨＴＴＰ」の値をもつ属性を有する。外部システム・エンティティ２２２は、「セキュリティ情報及びイベント管理（Security Information and Event Management）システムを示す「ＳＩＥＭ」の値をもつ属性を有する。次に、図４に関して詳細に後述されるように、各々の抽出エンティティを１つ又は複数のソリューション・コンポーネントにマッピングすることができる。
【００３８】
図２のブロック図は、プロセス２００が図２に示されるコンポーネントの全てを含むことを示すように意図しないことを理解されたい。むしろ、プロセス２００は、図２に示されていないより少ない又は付加的なコンポーネント（例えば、付加的な抽出エンティティ、値等）を含むことができる。
【００３９】
図３は、地震の震央を検出することができるストリーミング・アプリケーションのための例示的エンティティ抽出プロセスのブロック図である。例えば、ストリーミング・アプリケーションは、リアルタイムに震央を検出し、潜在的に危険な場所について早期警報を提供することができる。例示的プロセスは、全体的に参照番号３００で示され、図８のコンピューティング・デバイス８００を用いて実施することができる。図３は、半構造化要件定義３０２、要件分類ラベル３０４、及び抽出エンティティ３０８を含む。抽出エンティティ３０８は、センサ・データ・エンティティ３１２、ピーク・エンティティ３１４、早期警報エンティティ３１６、及び震央エンティティ３１８を含む。
【００４０】
例示的プロセス３００において、半構造化要件定義３０２は、「１００イベント／秒の速度で取得されるべきｍｓｅｅｄフォーマットでの地震計からのセンサ・データ」の値を有する「ｇｉｖｅｎ」要件を含む。半構造化要件定義３０２は、「単一ステーションからのピークが検出された」の値を有する「ｗｈｅｎ」要件をさらに含む。半構造化要件定義３０２はまた、「地震の震央の検出のためのアルゴリズムを提供し、震央の座標と共に警告を発する」の値を有する「ｔｈｅｎ」要件も含む。矢印３０６で示されるように、半構造化要件定義３０２は、「地震早期警報アプリケーション」の値を有する要件分類ラベル３０４を生成するように、コンピューティング・デバイスにより分類することができる。例えば、コンピューティング・デバイスは、分類基準を用いて、提供された半構造化要件定義３０２に基づいて、要件分類ラベル３０４の値を求めることができる。半構造化要件定義３０２は、ＳＭＥにより提供され得る。
【００４１】
矢印３１０で示されるように、コンピューティング・デバイスは、要件分類ラベル３０４及びグロッサリ（図示せず）に基づいて、半構造化要件定義３０２から抽出エンティティ３０８を抽出することができる。各々の抽出エンティティは、属性及び値を有することができる。図３の例示的マッピング３００において、センサ・データ・エンティティ３１２は、「ｍｓｅｅｄフォーマット」の値を含む。ピーク・エンティティ３１４は、「閾値」の値を含む。早期警報エンティティ３１６及び震央エンティティ３１８は、いずれの属性値も有さない。次に、図５に関して詳細に後述されるように、各々の抽出エンティティを１つ又は複数のソリューション・コンポーネントにマッピングすることができる。
【００４２】
図３のブロック図は、プロセス３００が図３に示されるコンポーネントの全てを含むことを示すように意図しないことを理解されたい。むしろ、プロセス３００は、図３に示されていない、より少ない又は付加的なコンポーネント（例えば、付加的な抽出エンティティ、値等）を含むことができる。
【００４３】
図４は、ＨＴＴＰトラフィックにおける異常の検出に対して警告を発することができるストリーミング・アプリケーションを生成するための例示的マッピングのブロック図である。例示的マッピングは、全体的に参照番号４００で示され、図８のコンピューティング・デバイス８００を用いて実施することができる。図４は、取り込み（ingestion）コンポーネント４０２、フィルタ及び強化（Filters and Enrichment）コンポーネント４０４、抽出コンポーネント４０６、マイニング・コンポーネント４０８、並びにシンク及び可視化コンポーネント４１０を含むソリューション・コンポーネントを含む。例示的マッピング４００はまた、上記の図２で抽出された抽出ネットワーク・エンティティ２１２、トラフィック・エンティティ２１４、速度エンティティ２１６、異常検出エンティティ２２０、警告エンティティ２１８、及び外部システム・エンティティ２２２も含む。エンティティは、矢印４１４〜４２８を介してコンポーネントにマッピングされた状態で示される。
【００４４】
取り込みコンポーネント４０２は、ネットワーク・カードからデータをキャプチャし、並行処理を用いてそれを有効に構文解析することができる。幾つかの例において、各ボックスは、別個のＣＰＵ上で実行することができる機能ユニットを表すことができる。従って、技術により、分散型コンピューティング・アプリケーションを生成することが可能になる。例えば、ソリューション・コンポーネント４０２〜４１０の各々におけるボックスの列は、矢印４１４で示されるように、各コンポーネントにマッピングされた１００Ｍｂ／秒の速度２１６の要件を満たすように実行される並行処理を示す。キャプチャ・ユニット４３０は、データをキャプチャし、データをソート・ユニット４３２に送ることができる。検出器ユニット４３４は、キャプチャしたデータからのＨＴＴＰトラフィックを検出することができる。例えば、複数の検出器ユニット４３４を用いて、キャプチャしたデータ処理の１００Ｍｂ／秒の速度を可能にすることができる。出力ユニット４３６は、検出器ユニット４３４からデータを収集し、検出したＨＴＴＰトラフィックをフィルタ及び強化コンポーネント４０４に出力することができる。
【００４５】
フィルタ及び強化コンポーネント４０４、抽出コンポーネント４０６、及びマイニング・コンポーネント４０８は、異常検出を実行することができる。例えば、フィルタ及び強化コンポーネント４０４は、受け取ったＨＴＴＰトラフィックをフィルタ・ユニット４４０へ送ることができる受信機ユニット４３８を含むことができる。フィルタ・ユニット４４０は、フィルタリングしたデータを強化ユニット４４２に送ることができる。強化ユニット４４２は、１００Ｍｂ／秒の速度でデータを強化することができる。出力ユニット４４４は、強化データを抽出コンポーネント４０６に送ることができる。
【００４６】
抽出コンポーネントは、受信機ユニット４４６と、１００Ｍｂ／秒の速度でデータを抽出することができる複数の抽出ユニット４４８とを含むことができる。抽出コンポーネント４０６はまた、抽出情報をマイニング・コンポーネント４０８に送ることができる出力ユニット４５０を含むこともできる。
【００４７】
マイニング・コンポーネント４０８は、受信機ユニット４５２と、１００Ｍｂ／秒の速度で情報を分類することができる複数のマイニング・ユニット４５４とを含む。マイニング・コンポーネント４０８はまた。マイニングした情報をシンク及び可視化コンポーネント４１０に送ることができる出力ユニット４５６も含む。例えば、マイニング・コンポーネントは、分析モデルに対応し得る。分析モデルは、モデル・リポジトリから取り出し得る。幾つかの例において、分析モデルは、訓練データセットに基づいて生成し得る。
【００４８】
シンク及び可視化コンポーネント４１０は、マイニングした情報を受け取ることができる一対の受信ユニット４５８を含む。受信機ユニット４６０は、マイニングした情報を、１００Ｍｂ／秒の速度で動作することができる可視化ユニット４６２に送ることができる。マイニングした情報が感染されたものとして検出された場合、シンク及び可視化コンポーネント４１０は、警告を引き起こさせることができる。
【００４９】
従って、複数の機能コンポーネント４０２〜４１０が複数の要件２１２、２１４、２１６、２１８及び２２２にマッピングされる。図４のブロック図は、例示的マッピング４００が図４に示されるコンポーネントの全てを含むことを示すように意図しないことを理解されたい。むしろ、例示的マッピング４００は、図４に示されていないより少ない又は付加的なコンポーネント（例えば、付加的な抽出エンティティ、又はソリューション・コンポーネント、ユニット等）を含むことができる。
【００５０】
図５は、地震の震央を検出することができるストリーミング・アプリケーションを生成するための例示的マッピングのブロック図である。例示的マッピングは、全体的に参照番号５００で示され、図８のコンピューティング・デバイス８００を用いて実施することができる。図５は、取り込みコンポーネント５０２、ピーク検出器コンポーネント５０４、フィルタ及び強化コンポーネント５０６、及び改良（refinement）及びフィルタリング・コンポーネント５０８を含むソリューション・コンポーネントを含む。例示的マッピング５００はまた、上記の図３で抽出したセンサ・データ・エンティティ３１２、ピーク・エンティティ３１４、早期警報エンティティ３１６、及び震央エンティティ３１８も含む。これらのエンティティは、矢印５１２、５１８、５３２、５４２を介してコンポーネントにマッピングされた状態で示される。
【００５１】
フィーダ５１０は、センサ・データをピーク検出器コンポーネント５０４に伝送することができる。ピーク検出器コンポーネントは、複数のピーク検出ユニット５１６と、検出したピーク出力５２２とを含むことができる。オートロケータ・コンポーネント５２０は、準備及びフィルタリング・コンポーネント５２６と、関連付け及び震源核形成（nucleation）モジュール５２８とを含むことができる。例えば、準備及びフィルタリング・コンポーネント５２６は、検出したピーク出力５２２を準備及びフィルタリングし、矢印５３０で示されるように、フィルタリングした出力を関連付け及び震源核形成モジュール５２８に送ることができる。次に、関連付け及び震源核形成モジュールは、潜在的な地震早期警報を発することができる。オートロケータ・コンポーネント５２０は、矢印５３６で示されるように、関連付け及び震源核形成モジュール５２８から震源（origin）情報を受け取り、震源情報に対する改良を行うための震源改良コンポーネント５３４をさらに含むことができる。オートロケータ・コンポーネント５２０はまた、矢印５４０で示されるように震源改良コンポーネント５３４から改良した震源情報を受け取ることができる震源フィルタリング・コンポーネント５３８を含み、地震の震央を判断することもできる。
【００５２】
従って、４つの提供される要件３１２、３１４、３１６、３１８を、ストリーミング・アプリケーションのための要求される機能と関連したソリューション・コンポーネントにマッピングすることができる。
【００５３】
図５のブロック図は、例示的マッピング５００が図５に示されるコンポーネントの全てを含むことを示すように意図しないことを理解されたい。むしろ、例示的マッピング５００は、図５に示されていないより少ない又は付加的なコンポーネント（例えば、付加的な抽出エンティティ、ソリューション・コンポーネント、ユニット等）を含むことができる。
【００５４】
図６は、グロッサリに基づいてストリーミング・アプリケーションを生成することができる例示的方法のプロセス・フロー図である。方法６００は、図８のコンピューティング・デバイス８００のようないずれかの適切なコンピューティング・デバイスにより実施することができ、図１のシステム１００を参照して説明される。例えば、後述の方法は、図１のシステム１００により実施することができる。
【００５５】
ブロック６０２において、システムは、半構造化フォーマットで主題要件を受け取る。例えば、主題要件は、人間可読言語での複数の主題制約を含むことができる。上述のように、制約は、動作ストリーミング・アプリケーションの主題要件を含むことができる。
【００５６】
ブロック６０４において、システムは、所定の分類基準に基づいて主題要件を分類する。例えば、分類基準は、編成されたカテゴリの構造を含むことができる。システムは、各主題要件又は分類基準内の主題要件と関連したキーワードを検出し、関連したカテゴリを戻すことによって、主題要件を分類することができる。
【００５７】
ブロック６０６において、システムは、文法に基づいてエンティティのリストを抽出することができる。例えば、エンティティはそれぞれ、上記の図２及び図３に関して説明されるように属性及び値を含むことができる。
【００５８】
ブロック６０８において、システムは、グロッサリに基づいてソリューションを生成する。例えば、ソリューションは、以下の図７に説明される技術に従って生成することができる。幾つかの例において、システムは、メタデータ比較に基づいてソリューションにスコア付けし、より高いスコアを有するソリューションのセットを戻すことができる。
【００５９】
ブロック６１０において、システムは、ソリューションに基づいてストリーミング分析アプリケーションを生成する。例えば、マイニング・コンポーネントは、ストリーミング分析アプリケーション内に含まれる複数のコンポーネントの１つとすることができる。幾つかの例において、ストリーミング分析アプリケーションは、リアルタイムで生成することができる。幾つかの例において、システムは、主題専門家からフィードバックを受け取り、フィードバックに基づいてストリーミング分析アプリケーションを更新することができる。例えば、フィードバックは、付加的な又は除去されたオペレータ、パラメータ、ソリューション・コンポーネント等を含むことができる。従って、システムは、修正することができるストリーミング分析アプリケーションのリアルタイム生成を可能にする。幾つかの例において、システムは、ストリーミング分析アプリケーションを実行することができる。ストリーミング分析アプリケーションは、ストリーミング分析情報を受け取り、リアルタイムの出力を生成することができる。例えば、出力は、他の種類の出力の中でも、地震の早期警報、震央の位置、異常の検出を示す警告とすることができる。幾つかの例において、システムは、主題専門家からフィードバックを受け取り、フィードバックに基づいて、グロッサリ内のストリーミング分析アプリケーションの概念グラフを更新することができる。これに応じて、ストリーミング分析アプリケーションを更新することもできる。
【００６０】
図６のプロセス・フロー図は、方法６００の動作がいずれかの特定の順序で実行されること、又はあらゆる場合において、方法６００の動作の全てが含まれることを示すように意図しない。
【００６１】
図７は、モデルを含むソリューションを生成することができる例示的方法のプロセス・フロー図である。方法７００は、図８のコンピューティング・デバイス８００のような、いずれかの適切なコンピューティング・デバイスにより実施することができ、図１のシステム１００を参照して説明される。例えば、後述の方法は、図１のソリューション生成器モジュール１１９により実施することができる。
【００６２】
ブロック７０２において、ソリューション生成器は、抽出エンティティを受け取る。例えば、抽出エンティティは、上記の図２及び図３に説明されるような値を有する１つ又は複数の属性を含むことができる。
【００６３】
ブロック７０４において、ソリューション生成器は、モデル・リポジトリ内に適切なモデルが存在するかどうかを判断する。例えば、適切なモデルは、モデル・リポジトリ内の各モデルと関連したメタデータを用いて検出することができる。幾つかの例において、メタデータは、他の情報の中でも、モデルをいつ適用できるか、モデルはどの使用事例をカバーできるかといった情報を含むことができる。メタデータは、モデルを１つ又は複数の抽出エンティティと照合するための主要データとして使用することができる。例えば、ソリューション生成器は、エンティティのリストをソリューション・コンポーネントにマッピングし、マッピングしたソリューション・コンポーネントをモデル・リポジトリ内の既存のモデルのソリューション・コンポーネントと比較することによって、適切なモデルが存在するかどうかを判断することができる。システムが、モデル・リポジトリ内に適切なモデルが存在することを検出した場合、方法はブロック７０６に進むことができる。システムが、モデル・リポジトリ内に適切なモデルが存在しないことを検出した場合、方法はブロック７０８に進むことができる。
【００６４】
ブロック７０６において、ソリューション生成器は、モデル・リポジトリからモデルをフェッチする。例えば、モデル・リポジトリは、方法の過去の事例から生成されたモデルを含むことができる。幾つかの例において、モデル・リポジトリは、オープン・ソース・モデルを含むことができる。
【００６５】
ブロック７０８において、ソリューション生成器は、分類及び抽出したエンティティに基づいて、モデル・リポジトリ内の適切な訓練データセットを検出する。例えば、モデル・リポジトリ内の訓練セットの各々は、モデルに類似した関連したメタデータを有することができる。メタデータは、訓練セットを１つ又は複数の抽出エンティティと照合するために用いることができる。例えば、ソリューション生成器は、訓練データのメタデータを抽出エンティティ・リストと比較することによって、適切な訓練データセットを検出することができる。
【００６６】
ブロック７１０において、ソリューション生成器は、訓練データセットに基づいてモデルを生成する。システムは、エンティティのリストを１つ又は複数のソリューション・コンポーネントにマッピングすることができる。例えば、上記の図４のマイニング・コンポーネントは、ソリューション生成器により生成された分析モデルに対応し得る。幾つかの例において、アルゴリズムを既に選択され、新しい訓練データで「リフレッシュされる」ことがある。例えば、新しい訓練データは、特定の使用事例により適したものであり得る。幾つかの例において、アルゴリズムは、決定木の形態とすることができる。幾つかの例においては、アルゴリズムを選択することができない。この場合、ソリューション生成器は、多数の教師ありアルゴリズムを訓練し、次に、訓練したアルゴリズムの性能を比較することができる。
【００６７】
ブロック７１２において、ソリューション生成器は、抽出エンティティをグロッサリ内の概念グラフ及び特性にマッピングすることによって、ストリーミング分析アプリケーション・コンポーネントを生成する。例えば、ストリーミング分析アプリケーション・コンポーネントは、他のコンポーネントの中でも、上記の図４の例におけるような、取り込み、フィルタ、抽出、マイニング、及び／又はシンク及び可視化コンポーネントを含むことができる。
【００６８】
ブロック７１４において、ソリューション生成器は、モデルを含むソリューションを生成する。例えば、ソリューションは、モデルに対応するマイニング・コンポーネントを含むことができる。幾つかの例において、ソリューションは、シミュレートし、修正することができる。例えば、ソリューション・エディタを用いて、ソリューションを改良することができる。幾つかの例において、ソリューション生成器は、エンティティのリストを１つ又は複数のソリューション・コンポーネントにマッピングすることによって、ソリューションを生成することができる。
【００６９】
図７のプロセス・フロー図は、方法７００の動作がいずれかの特定の順番で実行されること、又はどの場合においても方法７００の動作の全てが含まれることを意図しない。例えば、ブロック７０４において適切なモデルが検出された場合、ブロック７０８及び７１０を実行することはできない。さらに、方法７００は、任意の適切な数の付加的な動作を含むことができる。
【００７０】
図８は、ストリーミング分析アプリケーションを生成することができる例示的コンピューティング・デバイスのブロック図である。コンピューティング・デバイス８００は、例えば、サーバ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又はスマートフォンとすることができる。幾つかの例において、コンピューティング・デバイス８００は、クラウド・コンピューティング・ノードとすることができる。コンピューティング・デバイス８００は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピューティング・デバイス８００は、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【００７１】
コンピューティング・デバイス８００は、格納される命令、動作中にその命令の動作のための一時的メモリ空間を提供するためのメモリ・デバイス８０４を実行するプロセッサ８０２を含むことができる。プロセッサは、シングルコア・プロセッサ、マルチコア・プロセッサ、コンピューティング・クラスタ、又は任意の数の他の構成とすることができる。メモリ８０４は、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ、フラッシュ・メモリ、又は他のいずれかの適切なメモリ・システムを含むことができる。
【００７２】
プロセッサ８０２は、システム相互接続８０６（例えば、ＰＣＩ（登録商標）、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）等）を通じて、コンピューティング・デバイス８００を１つ又は複数のＩ／Ｏデバイス８１０に接続するように適合された入力／出力（Ｉ／Ｏ）デバイス・インターフェース８０８に接続することができる。Ｉ／Ｏデバイス８１０は、例えば、キーボード及びポインティング・デバイスを含むことができ、ポインティング・デバイスは、中でも、タッチパッド又はタッチスクリーンを含むことができる。Ｉ／Ｏデバイス８１０は、コンピューティング・デバイス８００の内蔵コンポーネントとしてもよく、又はコンピューティング・デバイス８００に外部接続されたデバイスとしてもよい。
【００７３】
プロセッサ８０２はまた、システム相互接続８０６を通じて、コンピューティング・デバイス８００をディスプレイ・デバイス８１４に接続するように適合されたディスプレイ・インターフェース８１２にリンクすることもできる。ディスプレイ・デバイス８１４は、コンピューティング・デバイス８００の内蔵コンポーネントであるディスプレイ画面を含むことができる。ディスプレイ・デバイス８１４はまた、コンピューティング・デバイス８００に外部接続された、中でも、コンピュータ・モニタ、テレビジョン、又はプロジェクタを含むこともできる。さらに、システム相互接続８０６を通じてコンピューティング・デバイス８００をネットワーク８１８に接続するために、ネットワーク・インターフェース・コントローラ（ＮＩＣ）８１６を適合することができる。幾つかの実施形態において、ＮＩＣ８１６は、中でも、インターネット・スモール・コンピュータ・システム・インターフェースのようないずれかの適切なインターフェース又はプロトコルを用いてデータを伝送することができる。ネットワーク８１８は、中でも、セルラー・ネットワーク、無線ネットワーク、広域ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、又はインターネットとすることができる。外部コンピューティング・デバイス８２０は、ネットワーク８１８を通じてコンピューティング・デバイス８００に接続することができる。幾つかの例において、外部コンピューティング・デバイス８２０は、外部ウェブサーバとすることができる。幾つかの例において、外部コンピューティング・デバイス８２０は、クラウド・コンピューティング・ノードとすることができる。
【００７４】
プロセッサ８０２はまた、システム相互接続８０６を通じて、ハードドライブ、光ドライブ、ＵＳＢフラッシュドライブ、ドライブのアレイ、又はそれらのいずれかの組み合わせを含むことができるストレージ・デバイス８２２にリンクすることもできる。幾つかの例において、ストレージ・デバイスは、分類器モジュール８２４、抽出器モジュール８２６、及びモデラー・モジュール８２８を含むことができる。分類器モジュール８２４は、半構造化フォーマットで主題要件を受け取ることができる。例えば、主題要件は、人間可読言語での複数の主題制約を含み得る。分類器モジュール８２４は、所定の分類基準に基づいて、主題要件を分類することができる。例えば、所定の分類基準は、１つ又は複数の語からなる１つ又は複数の所定のカテゴリを含むことができる。抽出器モジュール８２６は、文法に基づいて、エンティティのリストを抽出することができる。例えば、各エンティティは、属性及び値を含むことができる。モデラー・モジュール８２８は、エンティティのリストについての適切なモデルがモデル・リポジトリ内に存在するかどうかを判断することができる。幾つかの例において、適切なモデルが存在する場合、モデラー・モジュール８２８は、モデル・リポジトリから適切なモデルを取り出すことができる。例えば、モデラー・モジュール８２８は、適切なモデルを用いて、マイニング・コンポーネントを生成することができる。幾つかの例において、モデラー・モジュール８２８は、分類及び抽出したエンティティに基づいて、モデル・リポジトリ内の適切な訓練データセットを見つけることができる。例えば、モデラー・モジュール８２８は、モデル・リポジトリ内のいずれの適切なモデルも検出しないことに応答して、適切な訓練データセットを検索することができる。モデラー・モジュール８２８はまた、訓練データセットに基づいてモデルを生成するためのコードを含むこともできる。例えば、訓練データセットは、無害な及び疑わしいネットワーク・トラフィックを表すトラフィックを含み得る。モデラー・モジュール８２８はまた、モデルに基づいて、マイニング・コンポーネントを生成することもできる。例えば、マイニング・コンポーネントは、ストリーミング分析のために用いることができる。次に、モデラー・モジュール８２８は、マイニング・コンポーネントを含むストリーミング分析アプリケーションを生成することができる。幾つかの例において、コンピューティング・デバイスがストリーミング分析アプリケーションを実行するとき、ストリーミング分析アプリケーションは、ストリーミング分析情報を受け取り、リアルタイム出力を生成することができる。例えば、出力は、他の種類の出力の中でも、地震の早期警報、震央の位置、異常の検出を示す警告とすることができる。
【００７５】
図８のブロック図は、コンピューティング・デバイス８００が図８に示されるコンポーネントの全てを含むことを示すように意図していないことを理解されたい。むしろ、コンピューティング・デバイス８００は、図８に示されていないより少ない又は付加的なコンポーネント（例えば、付加的なメモリ・コンポーネント、組み込みコントローラ、モジュール、付加的なネットワーク・インターフェース等）を含むことができる。さらに、分類器モジュール８２４、抽出器モジュール８２６、及びモデラー・モジュール８２８の機能のいずれも、ハードウェアにおいて及び／又はプロセッサ８０２において部分的に又は完全に実装することができる。例えば、機能は、中でも、特定用途向け集積回路、組み込みコントローラ内に実装される論理、又はプロセッサ８０２内に実装される論理を用いて実装することができる。幾つかの実施形態において、分類器モジュール８２４、抽出器モジュール８２６、及びモデラー・モジュール８２８の機能は、論理を用いて実装することができ、本明細書で参照される論理は、いずれかの適切なハードウェア（例えば、中でもプロセッサ）、ソフトウェア（例えば、中でもアプリケーション）、ファームウェア、又はハードウェア、又はソフトウェア及びファームウェアのいずれかの適切な組み合わせを含むことができる。
【００７６】
ここで図９を参照すると、例示的なクラウド・コンピューティング環境９００が示される。示されるように、クラウド・コンピューティング環境９００は、例えば携帯情報端末（ＰＤＡ）又は携帯電話９０４Ａ、デスクトップ型コンピュータ９０４Ｂ、ラップトップ型コンピュータ９０４Ｃ、及び／又は自動車コンピュータ・システム９０４Ｎといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード９０２を含む。ノード９０２は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境９００が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ、ｐｌａｔｆｏｒｍ  ａｓ  ａ  ｓｅｒｖｉｃｅ、及び／又はｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅを提供することが可能になる。図９に示されるコンピューティング・デバイス９０４Ａ〜Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード９０２及びクラウド・コンピューティング環境９００は、任意のタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続によって（例えば、ウェブ・ブラウザを用いて）、任意のタイプのコンピュータ化された装置と通信できることを理解されたい。
【００７７】
ここで図１０を参照すると、クラウド・コンピューティング環境９００（図９）により提供される機能抽象化層のセットが示される。図１０に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【００７８】
ハードウェア及びソフトウェア層１０００は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、ＩＢＭ（登録商標）  ｚＳｅｒｉｅｓ（登録商標）システムを一例とするメインフレームと；ＩＢＭ  ｐＳｅｒｉｅｓ（登録商標）システムを一例とするＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバと；ＩＢＭ  ｘＳｅｒｉｅｓ（登録商標）システムと；ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒ（登録商標）システムと；ストレージ・デバイスと；ネットワーク及びネットワーキング・コンポーネントと、が含まれる。ソフトウェア・コンポーネントの例として、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（登録商標）アプリケーション・サーバ・ソフトウェアを一例とするネットワーク・アプリケーション・サーバ・ソフトウェアと、ＩＢＭ  ＤＢ２（登録商標）データベース・ソフトウェアを一例とするデータベース・ソフトウェアと、が含まれる。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、Ｗｅｂｓｐｅｒｅ及びＤＢ２は、世界中の多数の管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。）
【００７９】
仮想化層１００２は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる。一例においては、管理層１００４が、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。１つの例においては、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータルは、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【００８０】
ワークロード層１００６は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション、ソフトウェア開発及びライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、及びストリーミング・アプリケーション生成が含まれる。
【００８１】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【００８２】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【００８３】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによってコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【００８４】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００８５】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、命令がそこに格納されたコンピュータ可読ストレージ媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を含むようにすることもできる。
【００８６】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータにより実施されるプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するようにすることもできる。
【００８７】
ここで図１１を参照すると、グロッサリを用いてストリーミング・アプリケーションを生成することができる、例示的な有形の非一時的コンピュータ可読媒体１１００のブロック図が示される。有形の非一時的コンピュータ可読媒体１１００は、コンピュータ相互接続１１０４によってプロセッサ１１０２によりアクセスすることができる。さらに、有形の非一時的コンピュータ可読媒体１１００は、上記の図６の方法６００の動作を実施するよう、プロセッサ１１０２に指示するためのコードを含むことができる。
【００８８】
図１１に示されるように、本明細書で述べられる種々のソフトウェア・コンポーネントは、有形の非一時的コンピュータ可読媒体１１００上に格納することができる。例えば、分類器モジュール１１０６は、半構造化フォーマットで主題要件を受け取るためのコードを含む。分類器モジュール１１０６はまた、所定の分類基準に基づいて主題要件を分類するためのコードも含む。抽出器モジュール１１０８は、グロッサリに基づいて主題要件からエンティティのリストを抽出するためのコードを含む。モデラー・モジュール１１１０は、分類及び抽出したエンティティに基づいて、モデル・リポジトリ内の適切な訓練データセットを検出するためのコードを含む。モデラー・モジュール１１１０はまた、訓練データセットに基づいてモデルを生成するためのコードも含む。モデラー・モジュール１１１０はまた、モデルに基づいてストリーミング分析アプリケーションを生成するためのコードも含む。例えば、モデラー・モジュール１１１０は、モデル・リポジトリからモデルをフェッチし、モデルに基づいてストリーミング分析アプリケーションを生成するためのコードを含むことができる。モデラー・モジュール１１１０はまた、マイニング・コンポーネントを含むストリーミング分析アプリケーションを生成するためのコードを含むこともできる。幾つかの例において、適切なモデルがモデル・リポジトリ内に既に存在することがある。モデラー・モジュール１１１０は、モデル・リポジトリ内の既存のモデルを検出するためのコードを含むことができる。次に、モデラー・モジュール１１１０は、モデル・リポジトリ内の既存のモデルに基づいて、ストリーミング分析アプリケーションを生成することができる。
【００８９】
幾つかの例において、モデラー・モジュール１１１０は、エンティティのリストをソリューション・コンポーネントにマッピングし、マッピングされたソリューション・コンポーネントを、モデル・リポジトリ内の既存のモデルのソリューション・コンポーネントと比較するためのコードを含むことができる。幾つかの例において、モデラー・モジュール１１１０は、オペレータが存在しないことを検出し、タスク生成要求をユーザ・インターフェースに送るためのコードを含むことができる。幾つかの例において、モデラー・モジュール１１１０は、主題専門家からフィードバックを受け取り、フィードバックに基づいてストリーミング分析アプリケーションを修正することができる。特定の用途に応じて、図１１に示されない任意の数の付加的なソフトウェア・コンポーネントを、有形の非一時的コンピュータ可読媒体１１００内に含ませ得ることを理解されたい。
【００９０】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。特定の用途に応じて、図１１に示されない任意の数の付加的なソフトウェア・コンポーネントを有形の非一時的コンピュータ可読媒体１１００内に含ませ得ることを理解されたい。
【００９１】
本発明の種々の実施形態の説明が例証のために提示されたが、網羅的であること又は開示される実施形態を制限することを意図するものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの変更及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理及び実際の用途、又は市場で見出される技術に優る技術の改善を最もよく説明するために、又は、当業者が本明細書で開示される実施形態を理解することができるように、選択された。
【００９２】
本発明の実施形態の環境は、任意の所望の様式で配置された、任意の数のコンピュータ又は他の処理システム（例えば、クライアント又はエンドユーザ・システム、サーバ・システム等）及びデータベース又は他のリポジトリを含むことができ、本発明の実施形態は、任意の所望のタイプのコンピューティング環境（例えば、クラウド・コンピューティング、クライアント・サーバ、ネットワーク・コンピューティング、メインフレーム、独立型システム等）に適用することができる。本発明の実施形態により使用されるコンピュータ又は他の処理システムは、任意の数の任意のパーソナル・コンピュータ又は他のタイプのコンピュータ又は処理システム（例えば、デスクトップ、ラップトップ、ＰＤＡ、モバイル機器等）により実装することができ、任意の市販のオペレーティング・システム、及び市販及び特注のソフトウェア（例えば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、分類器モジュール、抽出器モジュール、モデラー・モジュール等）の任意の組み合わせを含むことができる。これらのシステムは、情報を入力し及び／又は表示するための任意のタイプのモニタ及び入力デバイス（例えば、キーボード、マウス、音声認識等）を含むことができる。
【００９３】
本発明の実施形態のソフトウェア（例えば、分類器モジュール、抽出器モジュール、モデラー・モジュール等）は、任意の所望のコンピュータ言語で実装することができ、本明細書内に含まれる機能的説明及び図面に示されるフローチャートに基づいて、コンピュータ技術の当業者によって開発できることを理解されたい。さらに、本明細書における種々の機能を実行するソフトウェアへのいずれの言及も、これらの機能をソフトウェア制御下で実行するコンピュータ・システム又はプロセッサを一般的に指す。本発明の実施形態のコンピュータ・システムは、代替的に、いずれかのタイプのハードウェア及び／又は他の処理回路により実装することができる。
【００９４】
コンピュータ又は他の処理システムの種々の機能は、任意の方式で任意の数のソフトウェア及び／又はハードウェア・モジュール又はユニット、処理システム又はコンピュータ・システム及び／又は回路の間に分散させることができ、コンピュータ又は処理システムは、互いにローカルに又は遠隔に配置することができ、いずれかの適切な通信媒体（例えば、ＬＡＮ、ＷＡＮ、イントラネット、インターネット、有線、モデム接続、無線等）を介して通信することができる。例えば、本発明の実施形態の機能は、任意の方式で、種々のエンドユーザ／クライアント及びサーバ・システム、及び／又は他のいずれかの中間処理デバイスの間に分散させることができる。上述され、フローチャートで示されるソフトウェア及び／又はアルゴリズムは、本明細書で説明される機能を達成する任意の方式で修正することができる。さらに、フローチャート又は説明における機能は、所望の動作を達成する任意の順序で実行することができる。
【００９５】
本発明の実施形態のソフトウェア（例えば、分類器モジュール、抽出器モジュール、モデラー・モジュール等）は、独立型システム、又はネットワーク若しくは他の通信媒体により接続されたシステムでの使用のために、固定又は携帯型プログラム製品装置又はデバイスの非一時的コンピュータ使用可能媒体（例えば、磁気又は光媒体、光磁気媒体、フロッピー・ディスケット、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・デバイス等）上で利用可能であり得る。
【００９６】
通信ネットワークは、任意の数の任意のタイプの通信ネットワーク（例えば、ＬＡＮ、ＷＡＮ、インターネット、イントラネット、ＶＰＮ等）により実装することができる。本発明の実施形態のコンピュータ又は他の処理システムは、ネットワーク上でいずれかの従来型又は他のプロトコルを介して通信するためのいずれかの従来型又は他の通信デバイスを含むことができる。コンピュータ又は他の処理システムは、ネットワークへのアクセスのために任意のタイプの接続（例えば、有線、無線等）を用いることができる。ローカル通信媒体は、いずれかの適切な通信媒体（例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、有線、無線リンク、イントラネット等）により実装することができる。
【００９７】
システムは、情報（例えば、分類基準データ、グロッサリ・データ、知識データベース・データ、モデル／訓練データ、デフォルト／ユーザ定義入力等）を格納するために、任意の数の任意の従来型又は他のデータベース、データストア又はストレージ構造（例えば、ファイル、データベース、データ構造、データ又は他のリポジトリ等）を用いることができる。データベース・システムは、情報（例えば、分類基準データ、グロッサリ・データ、知識データベース・データ、モデル／訓練データ、デフォルト／ユーザ定義入力等）を格納するための任意の数の任意の従来型又は他のデータベース、データストア又はストレージ構造（例えば、ファイル、データベース、データ構造、データ又は他のリポジトリ等）により実装することができる。データベース・システムは、サーバ及び／又はクライアント・システム内に含ませることもでき、又はこれらに結合することもできる。データベース・システム及び／又はストレージ構造は、コンピュータ又は他の処理システムから遠隔とすることもローカルとすることもでき、任意の所望のデータ（例えば、分類基準データ、グロッサリ・データ、知識データベース・データ、モデル／訓練データ、デフォルト／ユーザ定義入力等）を格納することができる。
【００９８】
本発明の実施形態は、情報（例えば、分類基準データ、グロッサリ・データ、知識データベース・データ、モデル／訓練データ、デフォルト／ユーザ定義入力等）を取得又は提供するために、任意の数の任意のタイプのユーザ・インターフェース（例えば、グラフィカル・ユーザ・インターフェース（ＧＵＩ）、コマンドライン、プロンプト等）を使用することができ、インターフェースは、任意の方式で配置された任意の情報を含むことができる。インターフェースは、いずれかの適切な入力デバイス（例えば、マウス、キーボード等）を介して情報を入力／表示するため及び所望の動作を開始し、所望のアクションを開始するための、任意の位置に配置された任意の数の任意のタイプの入力又は作動機構（例えば、ボタン、アイコン、フィールド、ボックス、リンク等）を含むことができる。インターフェース画面は、画面間をいずれかの方式でナビゲートするためのいずれかの適切なアクチュエータ（例えば、リンク、タブ等）を含むことができる。
【００９９】
本発明の実施形態は、上述した特定のタスク又はアルゴリズムに限定されるものではなく、参加者の各々の好み（preference）、制限及び能力を分析することによって、参加者間のあらゆる活動の選択肢を判断するために用いることができる。
【０１００】
本明細書で用いられる用語は、特定の実施形態を説明することのみを目的とし、本発明を限定することを意図したものではない。本明細書で用いられる場合、単数形「１つの（a）」、「１つの（an）」及び「その（the）」は、文脈が明確に他の場合を指示していない限り、複数形も含む。「含む（comprise）」、「含んでいる（comprising）」、「含む（include）」、「含んでいる（including）」、「有する（has）」、「有する（have）」、「有している（having）」、「備える（with）」などの用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、動作、要素、及び／又はコンポーネントの存在を指定するが、１つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び／又はその群の存在又は付加を除外するものではないことが、さらに理解されるであろう。
【０１０１】
以下の特許請求の範囲における全てのミーンズ又はステップ・プラス・ファンクション要素の対応する構造、材料、動作及び均等物は、具体的に特許請求される他の請求される要素と組み合わせて機能を実行するための任意の構造、材料、又は動作を含むことが意図されている。本発明の説明は、例示及び説明の目的のために提示されたものにすぎず、網羅的であること又は本発明を開示した形態に限定することを意図したものではない。当業者には、本発明の範囲及び趣旨から逸脱することなく多くの修正及び変形が明らかとなるであろう。本発明の原理及び実際の用途を最もよく説明するため、及び、当業者が、企図されている特定の用途に適するように種々の修正を伴う種々の実施形態に関して、本発明を理解することができるように、実施形態が選択され、説明された。
【０１０２】
本発明の種々の実施形態の説明が例示の目的のために提示されたが、網羅的であること、又は開示された実施形態に制限することを意図するものではない。当業者には、説明される実施形態の範囲の趣旨及び範囲から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の用途、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【０１０３】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【０１０４】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【０１０５】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【０１０６】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【０１０７】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【０１０８】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を製造するようにすることもできる。
【０１０９】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【０１１０】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【符号の説明】
【０１１１】
１００：システム
１０２：ユーザ・インターフェース
１０６：分類モジュール
１１０：分類基準、ストア
１１２、８２６、１１０８：抽出器モジュール
１１９：ソリューション生成器モジュール
１２１：モデル／訓練データ・リポジトリ
１２２：知識データベース
１２８：促進モジュール
１３０：ソリューション・エクスプローラ・モジュール
１３４：ソリューション
１３８：ソリューション・シミュレータ
１４０：ソリューション・エディタ
１４４：パラメータ・マネージャ
１４８：テスト入力マネージャ
１５０：結果エクスプローラ
１５２：タスク生成モジュール
１５６：構成ユーザ・インターフェース
１６０：配備
２００：プロセス
２０２、３０２：半構造化要件定義
２０４、３０４：要件分類ラベル
２０８、３０８：抽出エンティティ
２１２：ネットワーク・エンティティ
２１４：トラフィック・エンティティ
２１６：速度エンティティ
２１８：警告エンティティ
２２０：異常検出エンティティ
２２２：外部システム・エンティティ
３００：プロセス
３１４：ピーク・エンティティ
３１６：早期警報エンティティ
３１８：震央エンティティ
４００、５００：マッピング
４０２、５０２：取り込みコンポーネント
４０４、５０６：フィルタ及び強化コンポーネント
４０６：抽出コンポーネント
４０８：マイニング・コンポーネント
４１０：シンク及び可視化コンポーネント
４３０：キャプチャ・ユニット
４３２：ソース・ユニット
４３４：検出器ユニット
４３６、４５０：出力ユニット
４３８、４４６、４５２、４６０：受信機ユニット
４４０：フィルタ・ユニット
４４２：データ強化ユニット
４４４、４５６：出力ユニット
４５４：マイニング・ユニット
４５８：受信ユニット
５０４：ピーク検出器コンポーネント
５０８：改良及びフィルタリング・コンポーネント
５１０：フィーダ
５０４：ピーク検出器コンポーネント
５１６：ピーク検出ユニット
５２０：オートロケータ・コンポーネント
５２２：ピーク出力
５２８：関連付け及び震源核形成モジュール
５３４：震源改良コンポーネント
５３８：フィルタリング・コンポーネント
６００、７００：方法
８００：コンピューティング・デバイス
８０２、１１０２：プロセッサ
８２４、１１０６：分類器モジュール
８２８、１１１０：モデラー・モジュール
９００：クラウド・コンピューティング環境
１１００：有形の非一時的コンピュータ可読媒体
【図１】
2019510282.tif 000003
【図２】
2019510282.tif 000004
【図３】
2019510282.tif 000005
【図４】
2019510282.tif 000006
【図５】
2019510282.tif 000007
【図６】
2019510282.tif 000008
【図７】
2019510282.tif 000009
【図８】
2019510282.tif 000010
【図９】
2019510282.tif 000011
【図１０】
2019510282.tif 000012
【図１１】
2019510282.tif 000013
【国際調査報告】
2019510282.tif 000014
2019510282.tif 000015