(57)【要約】  Ｋストア（ＫＳｔｏｒｅ）についてのデータを生成する方法は、パラメータを定義するモデル化された処理を集めて定義されたモデル化された処理を提供することと、第１のシミュレータをインスタンス化することを含む。データストリームは、定義されてモデル化された処理にしたがってシミュレータによって作成され、データストリームはデータ記憶装置に送信される。第１のシミュレータによって単一のスレッドを実行することと、複数のスレッドを実行することが、説明される。パラメータを定義する単一のセットのモデル化された処理が集められる。単一のモデル化された処理のデータストリームが、パラメータを定義する単一のセットのモデル化された処理にしたがって提供される。第２のシミュレータがインスタンス化されて、単一のスレッドもしくは複数のスレッドが第２のシミュレータ上で実行されることができる。パラメータを定義する複数のセットのモデル化された処理が集められ、モデル化された処理の複数のデータストリームが、パラメータを定義する複数のセットのモデル化された処理にしたがって提供される。【特許請求の範囲】
【請求項１】
パラメータを定義するモデル化された処理を集めて少なくとも１つの定義されたモデル化された処理を提供することと、
第１のシミュレータをインスタンス化することと、
前記定義されたモデル化された処理にしたがって前記少なくとも１つのシミュレータによってデータストリームを作成することと、
前記少なくとも１つのデータストリームをレポジトリに送信することとを含む、Ｋストア（ＫＳｔｏｒｅ）についてのデータを生成する方法。
【請求項２】
前記第１のシミュレータによって単一のスレッドを実行することをさらに含む、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項３】
前記第１のシミュレータによって複数のスレッドを実行することをさらに含む、請求項２に記載のＫストアについてのデータを生成する方法。
【請求項４】
パラメータを定義する前記単一のセットのモデル化された処理を集めることと、
パラメータを定義する単一のセットのモデル化された処理にしたがって単一のモデル化された処理を提供することとをさらに含む、請求項３に記載のＫストアについてのデータを生成する方法。
【請求項５】
第２のシミュレータをインスタンス化することをさらに含む、請求項４に記載のＫストアについてのデータを生成する方法。
【請求項６】
前記第２のシミュレータ上で単一のスレッドを実行することをさらに含む、請求項５に記載のＫストアについてのデータを生成する方法。
【請求項７】
前記第２のシミュレータ上で複数のスレッドを実行することと、
パラメータを定義する複数のセットのモデル化された処理を集めることと、
パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項５に記載のＫストアについてのデータを生成する方法。
【請求項８】
前記複数のスレッドにしたがって複数のデータストリームを送信することをさらに含む、請求項３に記載のＫストアについてのデータを生成する方法。
【請求項９】
前記複数のデータストリームを単一のＫストアに送信することをさらに含む、請求項８に記載のＫストアについてのデータを生成する方法。
【請求項１０】
前記複数のデータストリームのデータストリームはリアルタイムで送信される、請求項８に記載のＫストアについてのデータを生成する方法。
【請求項１１】
前記複数のデータストリームのデータストリームは同時に送信される、請求項１０に記載のＫストアについてのデータを生成する方法。
【請求項１２】
パラメータを定義する複数のセットのモデル化された処理を集めることと、
パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項３に記載のＫストアについてのデータを生成する方法。
【請求項１３】
前記複数のスレッドにしたがって複数のデータストリームを送信することをさらに含む、請求項１２に記載のＫストアについてのデータを生成する方法。
【請求項１４】
前記複数のデータストリームを単一のＫストアに送信することをさらに含む、請求項１３に記載のＫストアについてのデータを生成する方法。
【請求項１５】
前記複数のデータストリームの中のデータストリームはリアルタイムで送信される、請求項１３に記載のＫストアについてのデータを生成する方法。
【請求項１６】
前記複数のデータストリームの中のデータストリームは同時に送信される、請求項１５に記載のＫストアについてのデータを生成する方法。
【請求項１７】
前記複数のデータストリームを複数のＫストアに送信することをさらに含む、請求項１３に記載のＫストアについてのデータを生成する方法。
【請求項１８】
前記複数のデータストリームを一時データ記憶装置に送信することをさらに含む、請求項１３に記載のＫストアについてのデータを生成する方法。
【請求項１９】
前記第１のシミュレータにしたがって複数のデータストリームを送信することをさらに含む、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項２０】
パラメータを定義する複数のセットのモデル化された処理を集めることと、
パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項１９に記載のＫストアについてのデータを生成する方法。
【請求項２１】
前記複数のデータストリームを単一のＫストアに送信することをさらに含む、請求項１９に記載のＫストアについてのデータを生成する方法。
【請求項２２】
前記複数のデータストリームの中のデータストリームはリアルタイムで送信される、請求項１９に記載のＫストアについてのデータを生成する方法。
【請求項２３】
前記複数のデータストリームの中のデータストリームは同時に送信される、請求項２２に記載のＫストアについてのデータを生成する方法。
【請求項２４】
複数のシミュレータをインスタンス化することをさらに含む、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項２５】
前記複数のシミュレータのうちの少なくとも１つのシミュレータ上で単一のスレッドを実行して単一のデータストリームを提供することをさらに含む、請求項２４に記載のＫストアについてのデータを生成する方法。
【請求項２６】
前記複数のシミュレータの前記少なくとも１つのシミュレータ上で複数のスレッドを実行して対応する複数のデータストリームを提供することをさらに含む、請求項２５に記載のＫストアについてのデータを生成する方法。
【請求項２７】
前記複数のデータストリームに対応する複数のモデル化された処理を提供することをさらに含む、請求項２６に記載のＫストアについてのデータを生成する方法。
【請求項２８】
前記複数のデータストリームをリアルタイムで同時に送信することをさらに含む、請求
項２６に記載のＫストアについてのデータを生成する方法。
【請求項２９】
前記複数のデータストリームは、異なるデータストリームフォーマットを有する少なくとも２つのデータストリームを含む、請求項２８に記載のＫストアについてのデータを生成する方法。
【請求項３０】
前記複数のスレッドの各スレッドについて学習エンジンをインスタンス化することをさらに含む、請求項２６に記載のＫストアについてのデータを生成する方法。
【請求項３１】
データを構成する構成情報を有する構成ファイルを提供することと、
構成されたデータ記録を提供するために前記構成情報にしたがってデータ記録値をデータ記録のデータ記録フィールドに配置することとをさらに含む、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項３２】
前記構成されたデータ記録を前記少なくとも１つのデータストリームに挿入することをさらに含む、請求項３１に記載のＫストアについてのデータを生成する方法。
【請求項３３】
前記構成ファイルは複数の変数名を含む、請求項３２に記載のＫストアについてのデータを生成する方法。
【請求項３４】
前記構成ファイルは、前記変数値を前記変数名に割り当てることをさらに含む複数の変数値を含む、請求項３３に記載のＫストアについてのデータを生成する方法。
【請求項３５】
前記構成ファイルは、前記確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む確率値を含む、請求項３４に記載のＫストアについてのデータを生成する方法。
【請求項３６】
前記構成ファイルは、複数の異なるユーザ提供の確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む複数の異なるユーザ提供の確率値を含む、請求項３４に記載のＫストアについてのデータを生成する方法。
【請求項３７】
所定の確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む、請求項３４に記載のＫストアについてのデータを生成する方法。
【請求項３８】
複数の構成ファイルを有するシナリオファイルを提供することと、
複数の構成されたデータ記録を提供するために、前記複数の構成ファイルにしたがってデータ記録値をデータ記録フィールドに配置することとをさらに含む、請求項３１に記載のＫストアについてのデータを生成する方法。
【請求項３９】
前記複数の構成ファイルにしたがって複数のモデル化された処理を提供することをさらに含む、請求項３８に記載のＫストアについてのデータを生成する方法。
【請求項４０】
前記シナリオファイルは、少なくとも１つのさらに他のシナリオファイルにしたがって前記データ記録値をデータ記録フィールドに配置して前記複数の構成されたデータ記録を提供することを含む少なくとも１つのさらに他のシナリオファイルを含む、請求項３８に記載のＫストアについてのデータを生成する方法。
【請求項４１】
前記Ｋストアを構築することと、
前記Ｋストアの前記構築と同時に前記Ｋストア内のコンテキストを決定することとをさらに含む、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項４２】
前記少なくとも１つのデータストリームにしたがって前記Ｋストアを構築することをさらに含む、請求項４１に記載のＫストアについてのデータを生成する方法。
【請求項４３】
パラメータを定義するモデル化された処理の１つが時間である場合、選択された時間帯の前後のシミュレータデータのマッピング集団が、前記選択された時間帯の任意の所与の数のユニットについて、シミュレートされたデータの同じ数の集団が作成される、請求項１に記載のＫストアについてのデータを生成する方法。
【請求項４４】
実行時に、請求項１に記載された方法を実行するプログラム命令を実行するように構成された、コンピュータシステム。
【請求項４５】
コンピュータシステムにおいて実行時に、請求項１に記載の方法を実行するプログラム命令を含むコンピュータ読みとり可能なメモリ内のデータファイル。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
発明の分野
本発明は、コンピューティングに関し、具体的にはデータストア内にデータを格納し、アクセスする分野に関する。
【背景技術】
【０００２】
関連技術の説明
データ構造のテストおよび実証のためにデータのストリームを提供してデータ構造を投入するシミュレータは、当該技術において既知である。通常、既知のシミュレータは複雑な行列を用いて、いくつかの処理の記述的な変数確率をモデル化するデータの単一のストリームを生成する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明において、我々はモデル化された処理もしくはモデル処理などのような処理に言及する。これらは、たとえば森の木の成長、小売店における販売取引、配送業者の船舶活動、人間の成長、がん患者の病気の進行、原油の精製、長期にわたる都市への水供給の可能性、半導体プラントでのウェーハ製造、もしくは何でもモデル化できるものなどの、任意のモデル化された処理であることができる。我々は、モデル化された処理を、文字処理の通常の使用とは切り離して認識する。なぜなら我々は、そのデータの生成を実現するステップがそれ自体処理である一方、シミュレータがモデル化された処理についてのデータとして何を作成しているかを認識する必要があるからである。
【０００４】
スレッド―実行コンテキストもしくは軽量の処理と、時として呼ばれる―は、プログラム内の制御の単一のシーケンシャルフローである。各スレッドは通常、同じプログラム内の制御のシーケンシャルフローである。この背景については、スレッドとそれらの履歴についての討論に関して、ｈｔｔｐ：／／ｗｗｗ．ｓｅｒｐｅｎｔｉｎｅ．ｃｏｍ／〜ｂｏｓ／ｏｓ―ｆａｑ／ＦＡＱ―１．ｈｔｍｌ＃Ｔｈｒｅａｄｓを参照されたい。スレッドは、軽量の処理として定義される。これらはＣＰＵスケジューリングの基本ユニットとして、および処理内のシーケンシャル実行ストリームとして、考えられてよい。処理の共通の定義は、これらが５つの基本部分であるコード、データ、スタック、ファイル入出力、符号表を有することである。これは、切り替え時に著しい経費がかかる。スレッドは基本部分を共有することで経費を削減する。共有することにより、１つのスレッドから他のスレッドへの切り替え実行は、よりしばしば、効果的に起こることができるであろう。
【０００５】
スレッドは、任意のオペレーティングシステムの不可欠の部分である。しかし、産業のリーダーのうち３者が全て、スレッドをいかに実施するかについて異なるコンセプトを有する。本出願において我々は、「スレッド」の用語を主に、シミュレータ機能の最初から最後までを扱うソフトウェア処理を示すのに用いる。
【０００６】
Ｋストア（ＫＳｔｏｒｅ）技術の発展と共に、Ｋストアデータ構造および機能をテストし、実証するデータシミュレータの必要性が出てきた。しかし、利用可能なデータベース技術はＫストアのデータストリーミング要件をサポートしなかった。たとえば、先行技術のデータシミュレータは、Ｋストアデータ構造の能力をテストし実証するのに必要とされた、マルチリアルタイムデータストリーム入力を、サポートしなかった。さらに、その結
果として、先行技術のデータシミュレータは、Ｋストアの能力をテストし実証するのに必要とされた、マルチフォーマットでの入力ストリームを、サポートしなかった。
【０００７】
ここで引用される全ての引用文献は、参照によりその全体が本書に援用される。
【課題を解決するための手段】
【０００８】
発明の簡単な概要
Ｋストアについてのデータを生成する方法は、パラメータを定義するモデル化された処理を集めて少なくとも１つの定義されたモデル化された処理を提供することと、第１のシミュレータをインスタンス化することとを含む。データストリームは、少なくとも１つのシミュレータによって、定義されたモデル化された処理にしたがって作成され、少なくとも１つのデータストリームはデータ記憶装置に送信される。第１のシミュレータによって単一のスレッドを実行することと、第１のシミュレータによって複数のスレッドを実行することとが説明される。パラメータを定義する単一のセットのモデル化された処理が集められ、パラメータを定義する単一のセットのモデル化された処理にしたがって単一のモデル化された処理が提供される。
【０００９】
第２のシミュレータは、インスタンス化されることができ、第２のシミュレータ上で単一のスレッドが実行されることができる。さらに、複数のスレッドが第２のシミュレータ上で実行されることができる。パラメータを定義する複数のセットのモデル化された処理が集められ、パラメータを定義する複数のセットのモデル化された処理にしたがって複数のモデル化された処理が提供される。複数のデータストリームが複数のスレッドにしたがって送信され、複数のデータストリームが単一のＫストアに送信される。複数のデータストリームのデータストリームは、リアルタイムで送信されることができる。さらに、複数のデータストリームのデータストリームは、同時に送信されることができる。
【００１０】
パラメータを定義する複数のセットのモデル化された処理が集められ、複数のモデル化された処理がパラメータを定義する複数のセットのモデル化された処理にしたがって提供される。複数のデータストリームは、複数のスレッドにしたがって送信される。複数のデータストリームは、単一のＫストアに送信されることができる。さらに、複数のデータストリームはリアルタイムで送信されることができる。さらに、複数のデータストリームは同時に送信されることができる。さらに、複数のデータストリームは複数のＫストアもしくは一時データ記憶装置に送信されることができる。複数のデータストリームは第１のシミュレータにしたがって送信されることができる。本発明の方法は、パラメータを定義する複数のセットのモデル化された処理を集めることと、パラメータを定義する複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む。
【００１１】
本発明のシミュレータは、リアルタイムデータストリーム入力、マルチデータストリーム、マルチデータフォーマットおよびデータのセットのランダム生成を提供することで、Ｋストアデータ構造を構築し、テストし、実証する要件を満たす。これは、Ｋストアデータ構造についてのデータ記録値の全ての可能な組み合わせの１つのインスタンスを提供することができ、ユーザがそれらを提供しない場合、変数にデフォルトの確率を割り当てることができる。
【００１２】
したがって、本発明のシミュレータは、マルチデータフォーマットのマルチデータストリームをリアルタムで提供し、それらをＫストアもしくはその他のレポジトリに送信することにより、シンプルな、複雑な、コンテキストのあるモデル化された処理をシミュレートすることに適する。一実施形態において、シミュレータは、シミュレータ生成のソースおよび非シミュレータ生成の実体データを含む、ユーザが与えた構成データ、外部記憶装
置もしくはその他のソースからのデータに基づき、データシーケンスのインスタンスをランダムに生成することができる。これはランダムに生成されたデータのセットを、これが全ての可能な組み合わせの１つのインスタンスを提供するまで提供し続けることができ、もしくは無制限に、重複データを含むデータのセットを生成し続けることができる。さらに、本発明のシミュレータは、変数にデフォルトの確率値を割り当てることができ、もしくはユーザもしくはその他のソースからの確率値を受け入れることができる。
【００１３】
グラフィカルユーザインターフェイス（ＧＵＩ）、アプリケーション、もしくはバックグラウンドジョブは、定義パラメータの本発明のシステムへの入力を許可する。入力は、レコード毎のフィールドの数およびフィールド毎の変数の数を含むことができる。特定の値が変数のフィールドについて特定されない場合、デフォルトの値が作成される。新しく作成された記録は、Ｋストアの学習エンジンへ、もしくはそれらが学習エンジンによって後ほどアクセスされる（プッシュもしくはプル）何らかのその他のファイルへ、直接送信されるであろう。さらに、シミュレータは、１または複数のスレッドを生成して、Ｋストアが確立される間にプロセッサの使用をテストするように指示され得る。
【発明を実施するための最良の形態】
【００１４】
本発明は、同等の参照番号が同等の要素を示す、以下の図面と併せて説明される。
発明の詳細な説明
ここで図１を参照すると、本発明のＫストアデータセットシミュレーションシステム１０のブロック図表示が示される。Ｋストアデータセットシミュレーションシステム１０は、記憶するため、もしくはＫストア１２を構築し、テストするなどの操作のため、Ｋエンジン１４もしくはその他の記憶装置への送信のために、ユーザによって定義されたデータセットを作成するのに用いられることができる。クエリアプリケーション３４から、アプリケーションプログラムインターフェイス／ユーティリティ２８を経由して、Ｋエンジン１４によって受け取られたクエリへのレスポンスは、Ｋストアデータセットシミュレーションシステム１０によって作成されたデータセットにしたがってＫエンジン１４によって決定され、グラフィックディスプレイ装置に表示されることができる。さらに、クエリはＫエンジン１４によって受け取られることができ、データセットがシミュレーションシステム１０によって作成され、Ｋエンジン１４に送られる間に、またＫストア１２が構築されて、シミュレーションシステム１０によって作成されたデータセットを用いてテストされる間に、レスポンスはＫストア１２から決定されることができる。
【００１５】
Ｋストアデータセットシミュレータシステム１０内で、Ｋストアデータシミュレータ３０は、Ｋストア１２を構築すべく、ユーザ、もしくはアプリケーション、もしくは任意のその他のデータのソースからパラメータを定義するデータ記録を、グラフィカルユーザインターフェイス（ＧＵＩ）３８を手段として集め、一方でユーザは、データによって表示されたモデル化された処理にしたがって、データのフォーマットを定義する。Ｋストア１２を構築する間、Ｋストアデータシミュレータ３０は、ユーザによって定義されたデータを作成して、Ｋストア１２内に少なくとも１つのモデル化された処理を表す。Ｋストアデータシミュレータ３０は、以下により詳細に説明されるように処理および手順にしたがってデータセットを作成することができる。Ｋストアデータシミュレータ３０によって作成されるデータセットはそこで、Ｋストアデータシミュレータ３０から、学習エンジン２６とＫエンジン１４を経由して、Ｋストア１２へ直接送られることができる。Ｋストアデータセットシミュレータシステム１０は、説明のため、単一の学習エンジン２６を有して示される。実際は、任意の数の学習エンジン２６が存在することができる。
【００１６】
本発明の他の好適な実施形態において、Ｋストアデータシミュレータ３０によって作成されたデータセットは、データセットレポジトリ１６に格納されることができる。データセットレポジトリ１６は、シミュレーション直後のＫストア１２によるバッファリングと
使用のための、Ｋストアデータセットファイル２０、Ｋストアデータセットメッセージ待ち行列２４、外部記憶装置、名前付きパイプなどの動的記憶装置、もしくは、その他のＫストア１２を含む、データセットを格納する、任意のその他のデータベース、データ構造もしくは媒体であってよい。本発明の好適な一実施形態において、レポジトリの用語は、Ｋストア１２そのものを含む、Ｋストアデータシミュレータ３０によって作成されたデータセットを受信し、格納し、送信することのできる任意の場所を含むものと理解されてよい。
【００１７】
ここで図２を参照すると、連動ツリーデータストア５０が示される。連動ツリーデータストア５０は、Ｋストアデータセットシミュレーションシステム１０内に備えられるＫストア１２の図表示である。連動ツリーデータストア５０の構造および機能は、実質的に、同時係属出願の米国特許出願第（番号は提供されるであろう）に教示されるとおりである。貴殿はＴＮ１８８、１８８Ａおよび３３６？その他？（カラム、レポジトリ．．．）を含みたいのではないかと私は推察する＜＜＜＞＞＞。
【００１８】
出願番号を有するものは全て含んでも良いと、私は考える。
以下の表１に示されるようなデータ記録は、連動ツリーデータストア５０もしくはその他のレポジトリにインポートされ、ユーザによる同時の、もしくは後からのアクセスのために格納されることができる。表１に示されるようなデータ記録からＫストア１２のようなＫストアを構築する方法はまた、前述の特許出願に教示される。このようなデータ記録を作成し、Ｋストアデータシミュレータ３０によってデータ記録をＫストア１２に送信する方法は、以下により詳細に説明される。
【００１９】
【表１】
2008524669.tif 000002
【００２０】
したがって、表１の１５のデータ記録は、データストア５０に示されるように格納されることができる、合計１５の取引についての情報を説明する。したがって、データストア５０内の全てのデータは、同じデータフォーマットを有し、単一のモデルとされた処理を表すであろう。したがって、データストア５０はこうして単一のデータソースコンテキスト、取引コンテキストを有する。したがって、データストア５０は単一のデータソースコンテキストデータストアと称されるであろう。データストア５０内の１５のデータ記録の存在は、データストア５０内の全ての最終結果ノードのカウントの和である思考終了ノード９４のカウントによって示される。当然のことながら、「取引」の用語がここでは、表１のデータ記録に示される試用と完全な販売の両方を含む。
【００２１】
連動ツリーデータストア５０内の表１の１５の取引を表すパスは、「ビル」を含むパス５２と、「トム」を含むパス５４とを含む。「ビル」のパス５２は、ビルサブコンポーネントノード７２から伸びる全てのパスを含むと理解される。「トム」のパス５４は、ＢＯＴノードから、トムサブコンポーネントノード８８を通じて伸びる全てのパスを含むと理解される。「ビル」のパス５２および「トム」のパス５４は集合的に、連動ツリーデータストア５０のモデル化された取引処理パス５６と称される。モデル化された取引処理パス５６を形成するパスはしたがって、家具小売店についての販売取引などの単一のモデル化された処理の表示を構成するであろう。
【００２２】
より複雑なモデル化された処理において、単一のモデル化された処理のデータは、マルチフォーマットであり、および／もしくは、単一のモデル化された処理は、マルチのモデル化された処理を含むであろう。Ｋストアシミュレーションシステムは、複雑なモデル化された（もしくはモデル化できる）処理を説明するデータセットを生成することができる。
【００２３】
連動ツリーデータベース５０を用いて、たとえば、ビルのパス５２内のケースパス７０を参照することにより、ビルが火曜日にペンシルバニアで６つ販売したことを決定することができる。さらに、パス７８を参照することにより、彼が月曜日にニュージャージーで１つを販売したことを決定することが可能である。加えて、連動ツリーデータストア５０内で「販売」が用いられた回数を決定することにより、ビルもしくはトムのいずれかによって販売されたアイテムの全体数を決定することが可能である。この情報は、販売された要素のルートノード９２のカウントを得ることにより、決定されることができる。販売された要素のルートノード９２のカウントは９である。
【００２４】
しかし、より重要なことには、ここで留意すべきは、「販売」の９つのインスタンスのうちの７つがビルのパス５２で生じることと、残りの２つのインスタンスがトムのパス５４で生じることである。実際、販売された要素のルートノード９２などの要素のルートノードが、多様なパス間の論理的関係に関わらず、もしくは論理的関係が欠如していても、データストア５０の多様な異なるパスにおいて用いられることができることは、連動ツリーデータストア５０の重要な特徴である。データストア５０のこの特徴は、以下でより詳細に説明されるであろう。
【００２５】
ここで図３を参照すると、連動ツリーデータストア１００が示される。連動ツリーデータストア１００は、連動ツリーデータストア５０の代替実施形態である。連動ツリーデータストア１００において、ビルサブコンポーネントノード７２から伸びるビルのパス５２と、トムサブコンポーネント８８から伸びるトムのパス５４は、連動ツリーデータストア５０を参照して先に説明されたと同じ方法で、連動ツリーデータストア１００に含まれる。ビルのパス５２とトムのパスは、またデータストア５０を参照して先に説明されたように、取引処理パス５６を形成する。
【００２６】
加えて、連動ツリーデータストア１００は、パス５８を含む。パス５８は、取引処理データに加えて取引処理パス５６によって表される、モデル化された処理の記録を形成する。したがって、パス５８は、在庫処理パス５８と称される。したがって、連動ツリーデータストア１００として表されるＫストア１２は、モデル化された取引処理パス５６における取引情報と、モデル化された在庫処理パス５８における在庫情報の両方を含む。
【００２７】
したがって、連動ツリーデータストア１００内に格納されたデータは、２つの異なるモデル化された処理を表し、２つの異なるデータフォーマットを有する。したがって、第２のデータソースコンテキストである、モデル化された在庫処理コンテキストが、データス
トア１００を形成するために、データストア５０に加えられた。したがって、データストア１００は、２つのデータソースコンテキストデータストア、マルチデータソースコンテキストデータストア、もしくは２つのモデル化されたサブ処理を含む複雑なモデル化された処理データストアと称されるであろう。連動ツリーデータストア１００に表される在庫データ記録は、以下の表２において説明される。
【００２８】
【表２】
2008524669.tif 000003
【００２９】
表２に示される２つの記録を連動ツリーデータストア１００に追加することは、思考終了ノードのカウントをして、連動ツリーデータストア５０の思考終了ノード９４について１５から、思考終了ノード１１２について１７へ、上げる。連動ツリーデータストア１００の１７の記録のうちの１５は、モデル化された取引処理からであり、２つはモデル化された在庫処理からである。本発明の好適な実施形態の１つにおいて、表１、２のデータ記録は、連動ツリーデータストア１００を作成するため、取引と在庫とを表す２つの有効な変数を有するフィールドを備えられたであろう。
【００３０】
連動ツリーデータストア１００内で、１００の要素のルートノード９８が、数「１００」を表す。１００の要素のルートノード９８は、「１００」がデータストア１００において全部で１２回生じることを示す、１２のカウントを有する。１２の発現のうちの１１は、モデル化された取引処理パス５６にある：９つはビルのパス５２にあり（サブコンポーネントノード６４、８０を参照のこと）、２つはトムのパス５４にある（サブコンポーネントノード８８を参照のこと）。１００の要素のルートノード９８によって表される数「１００」の残りの１つの発現は、モデル化された在庫処理パス５８にある（サブコンポーネント９６を参照のこと）。したがって、数「１００」は、両方の処理からのデータにおいて用いられる。さらに、これは２つのモデル化された処理を表す異なる方法で用いられる。モデル化された在庫処理データにおいて、数「１００」は、取引の値、たとえば１００．００ドルを示すことができる。モデル化された在庫処理において、商品番号を、したがって在庫の商品の識別を示すことができる。したがって、当然のことながら、本発明のシステムおよび方法における要素のルートノード（もしくは、Ｋのビューのレベル視点に応じて、ルートノード）によって表されるパーティクルもしくはシーケンスが、複数の異なるモデル化された処理を表すデータにおいて用いられることができ、全く異なるタイプの変数を表す。
【００３１】
ここで図４を参照すると、連動ツリーデータストア１５０が示される。連動ツリーデータストア１５０は、連動ツリーデータストア１００の代替実施形態である。２つのノードが連動ツリーデータストア１００に加えられて、連動ツリーデータストア１５０を作り出した。さらに他のノードのうちの１つは取引符号ノード１０２である。取引符号ノード１０２はＢＯＴノード１０４とビルサブコンポーネントノード７２との間に配置される。取引符号ノード１０２はまた、ＢＯＴノード１０４とトムサブコンポーネントノード８８との間に配置される。したがって、モデル化された取引処理パス５６が従属する取引符号ノード１０２は、連動ツリーデータストア１５０内の取引コンテキストを示すことができる。
【００３２】
取引符号ノード１０２のカウントは、取引処理における取引の全数、すなわち１５である。取引符号ノードカウントの値は、ビルサブコンポーネントノード７２とトムサブコン
ポーネントノード８８のカウントを合計することによって得ることができる。あるいは、取引符号ノードの値は、取引処理パス５６内の全ての最終結果ノードのカウントを合計することによって得ることができる。
【００３３】
連動ツリーデータストア１００に加えられ、連動ツリーデータストア１５０を提供するその他のノードは、在庫符号ノード１０６である。在庫符号ノード１０６は、ＢＯＴノード１０４と在庫処理パス５８との間に配置される。したがって、在庫符号ノード１０６は、連動ツリーデータストア１５０の在庫コンテキストを示すことができる。当然のことながら、本発明の一実施形態において、符号ノード１０２、１０６が、その図面には示されていないが、連動ツリーデータストア１００に存在すると理解されるであろう。
【００３４】
在庫符号ノード１０６のカウントは、モデル化された在庫処理を表すデータ記録の数である。在庫符号ノード１０６のカウントは、在庫符号ノード１０６から始まり、そこからそれぞれの最終結果ノード１０８、１１０へ伸びる各パスを横断することにより、得ることができる。この方法で配置される最終結果ノード１０８、１１０のカウントは、そこで合計される。あるいは、在庫符号ノード１０６のカウントは、在庫処理パス５８の全ての最終結果ノード１０８、１１０のカウントを決定し、合計することによって得られる。最終結果ノード１０８、１１０のカウントは、ＲｃｄＥＯＴノード１１２のａｓＲｅｓｕｌｔリストおよび、モデル化された在庫処理パス５８のコンテキストフィルタにしたがって、決定されることができる。
【００３５】
ここで図５を参照すると、連動ツリーデータストア２００が示される。連動ツリーデータストア２００は、連動ツリーデータストア１００の代替実施形態であり、表１に示される１５の取引、すなわちモデル化された取引処理パス５６は、それらがレジ１もしくはレジ２に記録されたかどうかにしたがって組織化される。連動ツリーデータストア２００に表されるデータ記録は、表３に示される。表３は、どのレジで各取引が記録されたかを示すカラムを加えた、表１と同じ情報を含むということが理解されるであろう。
【００３６】
【表３】
2008524669.tif 000004
【００３７】
１５のデータ記録が、取引符号ノード２０２のカウントによって示されるように、連動ツリーデータストア２００内に表される。これはまた、連動ツリーデータストア２００の思考終了ノード２５０のカウントによって示される。連動ツリーデータストア２００を取引符号ノード２０２から横断することで、たとえば、データストア２００の１５の取引の
うちの１１がレジ２で記録されたことが決定できる。この決定を行うために、連動ツリーデータストア２００は、ＣＲ２符号ノード２０４から、それに従属する全ての最終結果ノード（すなわち、最終結果ノード２４０、２４４、２４６）まで横断されることができる。この方法で配置される各最終結果ノード２４０、２４４、２４６のカウントはそこで、相互に加えられてＣＲ２符号ノード２０４のカウントを決定することができる。
【００３８】
したがって、前述の横断はまず、ＣＲ２符号ノード２０４からビルサブコンポーネントノード２０８へ横断することで、レジ２で記録された全てのビルの取引を決定できるかもしれない。データストア２００の横断は、パス２３０、２３４に沿って、最終結果ノード２４０、２４４まで続くことができるかもしれない。最終結果ノード２４０、２４４は、それぞれ６および３のカウントを有する。次に、連動ツリーデータストア２００の横断は、ＣＲ２符号ノード２０４からトムサブコンポーネントノード２１４へ横断することで、トムの取引のうちのいくつがレジ２で記録されたかを決定できるかもしれない。横断は、パス２３６に沿って、２のカウントを有する最終結果ノード２４６まで続くことができるかもしれない。
【００３９】
したがって、レジ２で記録された取引の全数は１１である。同じ方法で、レジ１で記録された取引の数は、連動ツリーデータストア２００をＣＲ１符号ノード２１６から横断することによって決定されることができる。横断は、ＣＲ１符号ノード２１６から、（ビルの取引について）パス２３２を通じて、また（トムの取引について）パス２３８を通じて、最終結果ノード２４２、２４８まで進み、最終結果ノード２４２、２４８のカウントを合計するであろう。
【００４０】
表４に示される構成ファイルである構成ファイル１は、Ｋストアデータシミュレータ３０の入力として提供され、表１のデータ記録、したがって連動ツリーデータストア５０を作成することができる。構成ファイル１は、Ｋストアデータシミュレータ３０に、たとえばＧＵＩ３８を手段として送信されることができる。構成ファイル１内で、第１の行は、表１のデータ記録内のフィールドの数を定義する。この方法で、表１に示されるように構成ファイル１にしたがってシミュレートされたデータ記録の５つのフィールドが定義されることができる。５つの定義されたフィールドの名前は、フィールドの数の定義の下に構成ファイル１に示される。それらは、販売員、曜日、商品番号、取引および州である。
【００４１】
次に、各フィールド内の可能な値もしくは変数を説明することができる。たとえば，
販売員はビルの値もしくはトムの値を有することができる。曜日は月曜日の値もしくは火曜日の値などを有することができる。特定の値が変数のフィールドについて特定されない場合、デフォルトの値が作成される。たとえば、フィールドが特定の値名を持たないｉの値を有すると定義される場合、Ｋストアデータシミュレータ３０はｖ１、ｖ２、．．．ｖｉの値を作成することができる。この方法で、表４の構成ファイル１は、連動ツリーデータストア５０に示されるように、モデル化された取引処理を表すデータを構築するのに用いられることができる。
【００４２】
【表４】
2008524669.tif 000005
【００４３】
構成ファイル１内の次の定義のセットは、確率である。構成ファイル１の確率定義を用いることで、ユーザはそこに定義される各値に確率を割り当てることができる。たとえば、ユーザはＫストアデータシミュレータ３０に、ビルを６６  ２／３％の回数だけ選択し、トムを３３  １／３％の回数だけ選択するように指示することができる。本発明の好適な実施形態において、ユーザは、このような確率が所望される場合以外、任意の確率をこの方法で定義づけることを要求されない。ユーザが任意の確率を定義しないことを選択する場合、Ｋストアデータシミュレータ３０は、フィールドにおける全ての値が同じ確率で選択されるデフォルトの状態を、自動的に実施することができる。
【００４４】
あるいは、ユーザは、いくつかの値について確率を定義し、Ｋストアデータシミュレータ３０が残りの確率をユーザ定義の確率を有さない値にわたって均等に配分することを許可することができる。定義されない確率は、デフォルトの均等な確率になることができる。当然のことながら、ユーザは任意の数の値をフィールドについてリストアップし、Ｋストアデータシミュレータ３０による、値の選択されたサブセットへの値の使用を、選択されない値に０である確率を割り当てることにより、限定することができる。
【００４５】
構成ファイル１において選択された確率が、対応する値が表４に出現する頻度と比較される場合、ここで留意すべきは、頻度は構成ファイル１に定義されたとおり常に正確ではないということである。これは、Ｋストアデータシミュレータ３０によって作成されたデータ記録の数が相対的に大きくなるにつれ、頻度が割り当てられた確率に近づかなければ
ならないという事実による。実際には、表１、４の例は例示の目的で単純化された。実際には、構成ファイルに割り当てられた確率および、構成ファイル１の出力データ記録に値が出現する頻度は、示された実施例におけるよりもゆっくりと集束すると見込まれることができる。さらに、多数のデータ記録がＫストアデータシミュレータ３０によって作成されるまで、観測された確率は変動すると見込まれることができる。
【００４６】
本発明の好適な一実施形態において、記録およびフィールドのカウントが、Ｋストアデータセットシミュレーションシステム１０によるシミュレーションの間、たとえばグラフィカルユーザインターフェイス３８上に示され、定義された値の任意のものについて発現の相対頻度をユーザが監視することを許可することができる。加えて、定義された値の累積頻度およびユーザによって要求される任意のその他の情報が、グラフィカルユーザインターフェイス３８上に表示されることができる。表示されるカウントおよび確率は、ユーザによって選択可能な間隔で、Ｋストアデータセットシミュレーションシステム１０によって更新されるであろう。たとえば、ユーザは毎秒、５秒毎、などの更新を選択することができる。
【００４７】
ここで図６を参照すると、Ｋストアデータセットシミュレータシステム１０内のグラフィカルユーザインターフェイス３８を代表するスクリーンショット２７５が示される。スクリーンショット２７５などの異なるスクリーンショットが、表１、２、３に示されるデータ記録などのデータ記録をＫストアデータシミュレータ３０に入力するのに用いられ、Ｋストアによる記憶もしくは使用について１以上のモデル化された処理を表すデータを作成することができる。スクリーンショット２７５は、フィールド値を入力するフィールドエントリスペース２７８と、入力したフィールド値をフィールド値ディスプレイ２８０に表示される値のリストに追加する追加ボタン２８４とを含む。確率入力スペース２８８は、確率表示スペース２９０に表示される確率のリストに加えられる確率を、追加ボタン２９２を押すことによって入力するために提供される。
【００４８】
したがって、モデル化された処理を表すデータを定義するパラメータセットは、スクリーンショット２７５によって図解されるフォーマットを用いて、グラフィカルユーザインターフェイス３８を手段として、入力されることができる。したがって、Ｋストアデータシミュレータ３０は、シミュレートデータボタン２９４を押すことにより、ユーザ定義のデータのシミュレーションを始めるよう指示されることができる。当然のことながら、スクリーンショット２７５などのここで説明されるスクリーンショットは、例示の目的のみで提供される。グラフィカルユーザインターフェイスの任意の好適なタイプと、当業者にとって既知のグラフィカルユーザインターフェイスを表すディスプレイの任意のタイプは、本発明にしたがったＫストアデータセットシミュレータシステム１０と連動するために用いられることができる。
【００４９】
ここで図７を参照すると、データ記録作成処理もしくは手順３００が示される。構成ファイル１と共同してデータ記録作成手順３００を用いて、Ｋストアデータシミュレータ３０は、表１におけるデータ記録などのデータ記録のストリームを作成することができる。Ｋストアデータシミュレータ３０の実行が開始されると、これはブロック３０４に示されるようにデータ記録のフィールドを作成する。現在の実施例において、データ記録作成処理３００はまず、構成ファイル１内の販売員フィールドについての２つの値のうちの一方、ビルもしくはトムを選択することができる。
【００５０】
構成ファイル１などの構成ファイルにしたがって、データ記録作成手順３００の決定３１２において、販売員フィールドについて利用可能な値に確率が割り当てられたかどうかの決定がなされる。構成ファイル１において割り当てられた確率を用いて、ブロック３１６に示されるように、ビルは、トムが選択されるよりも２倍頻繁に選択される。値に確率
が何も割り当てられなかった場合、ビルとトムの値は同じ頻度で選択されるであろう。表１の第１のデータ記録において、Ｋストアデータシミュレータ３０内で動作するデータ記録作成処理３００のブロック３１６は、ビルの値を選択した。
【００５１】
データ記録作成処理もしくは手順３００はそこで、決定３２０に示されるように、任意のさらに他のフィールドが、現在のデータ記録内で定義されるかどうかの決定を行う。さらに他のフィールドが、作成されるデータ記録内で定義されるため、データ記録作成処理３００の実行は、次のフィールド、曜日フィールドについて月曜日の値もしくは火曜日の値が選択されることができるブロック３０４に、戻ることができる。これらの操作は、構成ファイル１に定義されるようにデータ記録内の各フィールドについて値が選択され、決定３２０で否定的な決定が得られるまで繰り返される。前述のデータ記録作成処理は、繰り返されて、所望されるだけのデータ記録が作成されることができる。この方法で充分なデータ記録が作成されると、否定的な決定が決定３２０内で得られる。
【００５２】
データ記録作成手順３００の好適な一実施形態において、各完成したデータ記録はそこで、ブロック３２４に示されるように、Ｋストア１２へ、もしくはデータセットレポジトリ１６へ、個々に送信されることができる。本発明の他の好適な実施形態において、複数のデータ記録は、データ記録作成処理３００によって累積されることができる。累積したデータ記録はそこで、グループとしてＫストア１２へ、もしくはデータセットレポジトリ１６へ、送信されることができる。
【００５３】
さらに、当業者にとって既知であるように、データ記録がＫストア１２へ送信される間、Ｋストア１２は、ノード基礎によりノード上の各新しいノードを表す新しいポインタを作成する処理を用いて構築される。新しいノードの構築が完成するまでの間、これはＫストア１２のクエリについて利用可能ではない。したがって、構築中のノードは、本質的に、Ｋストア１２のクエリについてロックアウトされている。しかし、このような構築中の単一のノードが、いずれかの時点での構築中のＫストア１２における唯一のポイントであるため、Ｋストア１２はその残りのノードの任意のものが構築中にロックアウトされることを必要としない。
【００５４】
［最後の文は真実か？他のノードは、そのａｓＣａｓｅリストもしくはａｓＲｅｓｕｌｔリストが新しいノードを含むよう更新される時、ロックアウトされる必要がないか？］
したがって、Ｋストア１２が、データ記録のデータ記録作成手順２００からＫストア１２への送信と、それが受信するデータ記録にしたがったＫストア１２の構築と同時にクエリされることができることは、本発明のシステムおよび方法の重要な利点である。どれだけ多くのスレッドがデータシミュレータ３０によって実行されるか、どれだけ多くのデータシミュレータ３０がインスタンス化されるか、そしてどれだけ多くの異なるモデル化された処理がＫストア１２内に表されるかに（以下により詳細に説明されるように）は関係なく、これは真実である。何故ならこれらの異なる状況の全てにおいて、構築中のノードのみが利用不可能であるからである。
【００５５】
ここで図８を参照すると、Ｋストアデータシミュレータ３０のいくつかの可能な構成を説明するブロック図表示３５０が示される。Ｋストアデータシミュレータ３０の異なる構成は、データ記録作成処理３００の１以上のインスタス３５５を実行する異なるモードに対応する。インスタンス３５５の実行の異なるモードは、同時に作動することができ、本発明の方法にしたがったＫストア１２もしくはデータセットレポジトリ１６への送信のための１以上のデータストリームを作成することができる。ブロック図表示３５０に示される可能な構成にしたがって作成されるデータ記録のストリームは、１以上のフォーマットを有することができ、Ｋストア１２内に１以上のモデル化された処理を表すデータを構築することができる。さらに、同時に作成されるデータ記録の複数のストリームのデータ記
録の任意の数の個々のストリームは、残りのストリームから独立して、終了され、開始されることができる。
【００５６】
記録作成処理もしくは処理３００の単一のインスタンス３５５は、実行されて、Ｋストア１２もしくはレポジトリ１６への送信のために、単一のスレッドを用いて、データ記録の単一のストリームを作成することができ、ブロック図表示３５０のブロック３６０に示されるようにＫストア１２をテストし、もしくは実証することができる。さらに、ブロック３６０に示されるような任意の数の単一のスレッドのインスタンスが、同時にインスタンス化されることができる。このような単一のスレッドの操作に加えて、当業者によって、記録作成処理３００のマルチスレッドの実行がインスタンス３５５によって行われてよいことが理解されるであろう。マルチスレッドの実行の間、ブロック３７０、３８０に示されるように、２以上のデータ記録のストリームが作成されて、リアルタイムで同時に送信されることができる。Ｋストアデータシミュレータ３０内を走る各スレッドは、Ｋストアデータセットシミュレーションシステム１０内にそれ自体の学習エンジン２６をインスタンス化するであろう。
【００５７】
さらに、本発明にしたがったインスタンス３５５のマルチスレッド操作は、当業者によってよく理解されるマルチスレッドコンピュータ環境を用いて実施されることができる。このようなマルチスレッドコンピュータ環境において、インスタンス３５５の各スレッドは、起動フレームの自体のスタックを割り当てられることができ、起動フレームは、たとえばコンピュータ環境内の多様なオブジェクトへのコールおよびオブジェクトからのリターンにしたがって作成され、破棄される。この方法で、マルチスレッドインスタンス３５５の任意の数のスレッドがリアルタイムで同時にシミュレートされることができる。さらに、マルチスレッドインスタンス３５５の異なるスレッドが、異なるモデル化された処理を表し、異なるデータフォーマットを有するデータを提供することができるため、任意の数の異なるデータフォーマットを有するデータのストリームが、Ｋストアデータセットシミュレータシステム１０内で単一のインスタンス３５５によりリアルタイムで同時に提供されることができる。
【００５８】
ブロック３６０、３７０、３８０にしたがって作成されたデータストリームは、マルチデータセットを形成することができ、もしくは単一のデータセットに統合されることができる。ブロック３７０、３８０にしたがって実行されるマルチスレッドは、同じ構成ファイルもしくは異なる構成ファイルを用いることができる。本発明の一実施形態において、単一のインスタンス化３５５での記録作成処理３００のマルチスレッド操作は、スレッドの作成を交互配置することで実現され得る。交互スレッド実施形態において、記録作成処理３００は、１つのスレッドについて所定の数のデータ記録を作成し、そして他のスレッドについて所定の数のデータ記録を作成することができる。この処理は、連続的に交互に繰り返され、マルチスレッドを提供することができる。
【００５９】
他の好適な実施形態において、シミュレーションはリアルタイムにマップされることができる。時間マッピング実施形態において、当業者にとって既知のタイマが、たとえばリアルタイムの１秒を、シミュレートされるモデル化された処理操作の１日もしくは１ヶ月にマップするのに、用いられることができる。リアルタイムの１秒が１日にマップされる実施例において、ユーザは、たとえばモデル化された取引処理の現在進行中のシミュレーションの間に生じる１週間の販売のシミュレーションを作成することができるかもしれない。取引が１日に１秒の率でシミュレートされる間、タイマが用いられて、時間における１ポイントにおけるモデル化された販売処理に対応するスレッドを開始し、７秒後に終了するかもしれない。このことは、ユーザが、モデル化処理パラメータの任意のモデル化された処理もしくは変更を、任意の所定の時間にわたってテストすることを許可する。リアルタイムのような、その他のゲーティングもしくはアンフォールディング／反復するパラ
メータが、同様の方法でモデル化されることができる。
【００６０】
したがって、好適な一実施形態において、記録作成手順３００のインスタンスが１度以上同時に作成される時、記録作成処理３００の全てのインスタンス３５５は、ブロック３６０に示されるように単一のスレッドのインスタンス化として実行されることができる。本実施形態において、各単一のスレッドのインスタンス３５５は、それ自体のストリームもしくはデータ記録の複数のストリームを作成することができる。加えて、複数の単一のスレッドのインスタンス化の各単一のスレッドのインスタンス化３５５は、同じもしくは異なる構成ファイルを入力のために用いることができる。さらに、複合的な単一のインスタンス化３５５は、同じもしくは異なるフォーマットを有するデータ記録のストリームを作成することができる。ブロック３６０にしたがって複数の単一スレッドインスタンス化３５５によって作成されたデータストリームは、インスタンス３５５からリアルタイムで同時に送信されることができる。これらはマルチデータセットを形成することができ、もしくは単一のデータセットに統合されることができる。
【００６１】
好適な一実施形態において、単一のインスタンス３５５内のマルチスレッドは、ブロック３７０に示されるようにパラメータを定義する、モデル化された処理の同じセットを有する、１以上の構成ファイルを実行することができる。この方法で動作するマルチスレッドは、表１および連動ツリーデータストア５０のデータ記録によって表される単一の処理などの単一のモデル化処理を表すＫストア１２もしくはマルチＫストア１２を、構築することができる。ブロック３７０にしたがったマルチインスタンス３５５は、構成ファイルがパラメータを定義する同じモデル化処理を有するならば、同じ構成ファイルもしくは異なる構成ファイルのいずれかを用いることができる。さらに、任意の数のスレッドが、ブロック３７０にしたがって記録作成処理３００の単一のインスタンス３５５の同じパラメータを用いて実行することができる。
【００６２】
加えて、インスタンス３５５内のマルチスレッドは、ブロック３８０に示されるようなパラメータを定義する異なる処理を有する構成ファイル上で実行することができる。たとえば、単一のインスタンス３５５上でパラメータを定義する異なる処理を有して動作するマルチスレッドは、表１、２に示されるようなデータ記録を作成することができ、モデル化された取引処理パス５６および、連動ツリーデータストア１００のモデル化された在庫処理パス５８を作成することができる。ブロック３８０にしたがったインスタンス３５５の出力データストリームは、リアルタイムで同時に送信されることができる。加えて、データリソーススレッド３９０は、外部記憶装置、メッセージ待ち行列、パイプもしくは、図１のデータセットレポジトリ１６を参照して先に説明したように他のＫストア１２を含む任意のその他のデータのソースから、データを読み込むことができる。さらに、非シミュレータ生成のメッセージ待ち行列、監視装置およびさらにはセンサ（熱、光、触覚、科学的など）がこのような入力に用いられることができる。
【００６３】
したがって、ブロック図表示３５０に示されるインスタンス化にしたがったＫストア１２もしくはレポジトリ１６への送信のため、複数のデータストリームを得るために、Ｋストアデータシミュレータ３０内の複数の構成ファイルを同時に用いることが、時として必要である。これを実現する１つの方法は、表５に示されるシナリオ構成などのシナリオ構成を用いることである。シナリオは、パラメータを定義するモデル化された処理の個々のセットおよびデータを、記録作成処理３００の単一のインスタンスもしくはマルチインスタンス３５５に提供する、表４に示される構成などの構成のリストを含む。
【００６４】
表５に示されるシナリオ構成は、３つの構成を含む：家具デモ１、家具デモ２、家具デモ３である。表５に示される各構成は、それが特定するインスタンス３５５上で走るスレッドの数を特定する。表５の実施例における全ての構成は単一スレッドを特定するが、先
に説明されたように、シナリオ内の構成において任意の数のスレッドが特定されてよい。加えて、表５のシナリオ構成は、３つの追加のシナリオを含み、そのそれぞれは、同じ方法で１以上の構成、家具販売データシナリオ１、２、３を含むように定義される。したがって、本発明の方法において、シナリオは、任意の異なる数のスレッドを特定するさらに他のシナリオを含むことができる。
【００６５】
【表５】
2008524669.tif 000006
【００６６】
ここで図９Ａ、Ｂを参照すると、表５で説明されるシナリオなどのシナリオをＫストアデータシミュレータ３０に特定するのに用いられることのできる、Ｋストアデータセットシミュレータシステム１０内のグラフィカルユーザインターフェイス３８のスクリーンショット４００、４２０が示される。スクリーンショット４００に示されるように、グラフィカルユーザインターフェイス３８は、データセットシミュレータシステム１０のユーザによって定義される任意の数のシナリオをリストアップするドロップダウンシナリオメニュー４０８を備えることができる。ユーザは、ドロップダウンシナリオメニュー４０８をスクロールして、選択されたシナリオをスクリーンショット４００のシナリオ表示フィールド４０４に移動させることでシナリオを選択する。選択されたシナリオがこの方法でシナリオ表示フィールド４０４に表示される時、Ｋストアデータシミュレータ３０のユーザは、シナリオ開始ボタン４１０を押して、選択されたシナリオによって特定された構成にしたがってデータ記録のシミュレーションおよび作成を始めることができる。
【００６７】
本発明は詳細に、特定の実施例を参照して説明されたが、当業者にとって、多様な変更および修正が本発明の精神および範囲から逸脱することなくなされることが明白であろう。
【００６８】
さらに、ここに説明される方法およびシステムは、プログラムコード（たとえば命令）の形で実施されるであろう。プログラムコードは任意のコンピュータ読みとり可能な媒体に格納されてよい。たとえば、プログラムコードは、フロッピー（登録商標）ディスク、ＣＤ―ＲＯＭ、ＤＶＤ―ＲＯＭ、ＤＶＤ―ＲＡＭ、ハードディスクドライブ、メモリスティック、メインメモリ、もしくは、既知または現在未知である任意のその他のマシン読みとり可能な記憶媒体などの媒体に格納されてよく、それ自体が電子、光学もしくはその他の形状の組織化されたデータ信号のセットであるところのプログラムコードが、コンピュータなどのマシンにロードされ、それによって実行される時、マシンは本発明を実施する装置になることができる。本発明はまた、送信媒体にわたって送信されるプログラムコードの形で実施されることができる。たとえば、プログラムコードは、電子ワイヤもしくはケーブルを通って、光ファイバ送信装置を通じて、インターネットやイントラネットなどを含むネットワークを越えて、もしくは任意のその他の形状の送信を介して、送信されることができ、マシンは、プログラムコードが受信され、コンピュータなどのマシンにロードされ、それによって実行される時に、本発明を実施する装置になる。多目的のプロセッサ上で実施される時、プログラムコードはプロセッサと協同して、特定の論理回路と同じように動作する装置を提供する。プログラムコードは、たとえば、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）などのハイレベルのプログラミング言語を用いて実施されるであろう。あるいは、プログラムコードはアセンブリもしくはマシン言語で実施されるであろう。いずれの場合も、言語はコンパイラ型、もしくはインタープリタ型の言語である。
【００６９】
ここで留意すべきは、先の記述は説明の目的のためにのみ提供され、本発明を限定すると解釈されることは決してないということである。たとえば、連動ツリーデータストアは、オブジェクト指向の技術、手順の技術、それらのハイブリッドもしくは任意のその他の適切な方法を用いて実施されることができる。さらに、提示された実施例は、メモリ内に格納されたデータセット要素を示すが、この機能性は多くの異なる方法で実施されることを、当業者は理解するであろう。たとえば、本発明は、離れて配置された複数のマシン上に格納された多くの異なる領域のデータセット要素の多くの異なるセットの使用を意図する。
【００７０】
本発明についての無数の使用が見られ、本発明の形状および操作の方法における重要な多様性が説明され、当業者により考えられるであろうが、本発明は以下の請求の範囲に説明される以外に範囲を限定されない。
【図面の簡単な説明】
【００７１】
【図１】本発明のＫストアデータセットシミュレーションシステムの実施形態のブロック図表示を示す。
【図２】単一のデータソースコンテキストを有するデータ記録が、図１のＫストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、連動ツリーデータストアのグラフィック表示を示す。
【図３】マルチデータソースコンテキストを有するデータ記録が、図１のＫストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、連動ツリーデータストアのグラフィック表示を示す。
【図４】マルチデータソースコンテキストを示す符号ノードを含む図３の単一のデータソースコンテキスト連動ツリーデータストアの代替実施形態のグラフィック表示を示す。
【図５】単一のデータソースコンテキストを有するデータ記録が、図１のＫストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、さらに他の連動ツリーデータストアのグラフィック表示を示す。
【図６】Ｋストアデータセットシミュレーションシステムにパラメータを入力してＫストアに表示される処理の数を定義する本発明のＫストアデータセットシミュレーションシステムと用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。
【図７】図１のＫストアデータセットシミュレーションシステムにしたがったデータ記録を作成する処理のフローチャート表示を示す。
【図８】図１のＫストアデータセットシミュレーションシステムにしたがったデータシミュレータの可能な構成のブロック図表示を示す。
【図９Ａ】シミュレータもしくはシナリオをインスタンス化する本発明のＫストアデータセットシミュレーションシステムと共に用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。
【図９Ｂ】シミュレータもしくはシナリオをインスタンス化する本発明のＫストアデータセットシミュレーションシステムと共に用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。
【図１】
2008524669.tif 000007
【図２】
2008524669.tif 000008
【図３】
2008524669.tif 000009
【図４】
2008524669.tif 000010
【図５】
2008524669.tif 000011
【図６】
2008524669.tif 000012
【図７】
2008524669.tif 000013
【図８】
2008524669.tif 000014
【図９Ａ】
2008524669.tif 000015
【図９Ｂ】
2008524669.tif 000016