JP2008524669A - Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション - Google Patents

Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション Download PDF

Info

Publication number
JP2008524669A
JP2008524669A JP2007540131A JP2007540131A JP2008524669A JP 2008524669 A JP2008524669 A JP 2008524669A JP 2007540131 A JP2007540131 A JP 2007540131A JP 2007540131 A JP2007540131 A JP 2007540131A JP 2008524669 A JP2008524669 A JP 2008524669A
Authority
JP
Japan
Prior art keywords
data
kstore
store
generating data
modeled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007540131A
Other languages
English (en)
Inventor
マザガッティ,ジェーン・キャンベル
ファン,トニー・ティー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JP2008524669A publication Critical patent/JP2008524669A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Kストア(KStore)についてのデータを生成する方法は、パラメータを定義するモデル化された処理を集めて定義されたモデル化された処理を提供することと、第1のシミュレータをインスタンス化することを含む。データストリームは、定義されてモデル化された処理にしたがってシミュレータによって作成され、データストリームはデータ記憶装置に送信される。第1のシミュレータによって単一のスレッドを実行することと、複数のスレッドを実行することが、説明される。パラメータを定義する単一のセットのモデル化された処理が集められる。単一のモデル化された処理のデータストリームが、パラメータを定義する単一のセットのモデル化された処理にしたがって提供される。第2のシミュレータがインスタンス化されて、単一のスレッドもしくは複数のスレッドが第2のシミュレータ上で実行されることができる。パラメータを定義する複数のセットのモデル化された処理が集められ、モデル化された処理の複数のデータストリームが、パラメータを定義する複数のセットのモデル化された処理にしたがって提供される。

Description

発明の背景
発明の分野
本発明は、コンピューティングに関し、具体的にはデータストア内にデータを格納し、アクセスする分野に関する。
関連技術の説明
データ構造のテストおよび実証のためにデータのストリームを提供してデータ構造を投入するシミュレータは、当該技術において既知である。通常、既知のシミュレータは複雑な行列を用いて、いくつかの処理の記述的な変数確率をモデル化するデータの単一のストリームを生成する。
本発明において、我々はモデル化された処理もしくはモデル処理などのような処理に言及する。これらは、たとえば森の木の成長、小売店における販売取引、配送業者の船舶活動、人間の成長、がん患者の病気の進行、原油の精製、長期にわたる都市への水供給の可能性、半導体プラントでのウェーハ製造、もしくは何でもモデル化できるものなどの、任意のモデル化された処理であることができる。我々は、モデル化された処理を、文字処理の通常の使用とは切り離して認識する。なぜなら我々は、そのデータの生成を実現するステップがそれ自体処理である一方、シミュレータがモデル化された処理についてのデータとして何を作成しているかを認識する必要があるからである。
スレッド―実行コンテキストもしくは軽量の処理と、時として呼ばれる―は、プログラム内の制御の単一のシーケンシャルフローである。各スレッドは通常、同じプログラム内の制御のシーケンシャルフローである。この背景については、スレッドとそれらの履歴についての討論に関して、http://www.serpentine.com/〜bos/os―faq/FAQ―1.html#Threadsを参照されたい。スレッドは、軽量の処理として定義される。これらはCPUスケジューリングの基本ユニットとして、および処理内のシーケンシャル実行ストリームとして、考えられてよい。処理の共通の定義は、これらが5つの基本部分であるコード、データ、スタック、ファイル入出力、符号表を有することである。これは、切り替え時に著しい経費がかかる。スレッドは基本部分を共有することで経費を削減する。共有することにより、1つのスレッドから他のスレッドへの切り替え実行は、よりしばしば、効果的に起こることができるであろう。
スレッドは、任意のオペレーティングシステムの不可欠の部分である。しかし、産業のリーダーのうち3者が全て、スレッドをいかに実施するかについて異なるコンセプトを有する。本出願において我々は、「スレッド」の用語を主に、シミュレータ機能の最初から最後までを扱うソフトウェア処理を示すのに用いる。
Kストア(KStore)技術の発展と共に、Kストアデータ構造および機能をテストし、実証するデータシミュレータの必要性が出てきた。しかし、利用可能なデータベース技術はKストアのデータストリーミング要件をサポートしなかった。たとえば、先行技術のデータシミュレータは、Kストアデータ構造の能力をテストし実証するのに必要とされた、マルチリアルタイムデータストリーム入力を、サポートしなかった。さらに、その結
果として、先行技術のデータシミュレータは、Kストアの能力をテストし実証するのに必要とされた、マルチフォーマットでの入力ストリームを、サポートしなかった。
ここで引用される全ての引用文献は、参照によりその全体が本書に援用される。
発明の簡単な概要
Kストアについてのデータを生成する方法は、パラメータを定義するモデル化された処理を集めて少なくとも1つの定義されたモデル化された処理を提供することと、第1のシミュレータをインスタンス化することとを含む。データストリームは、少なくとも1つのシミュレータによって、定義されたモデル化された処理にしたがって作成され、少なくとも1つのデータストリームはデータ記憶装置に送信される。第1のシミュレータによって単一のスレッドを実行することと、第1のシミュレータによって複数のスレッドを実行することとが説明される。パラメータを定義する単一のセットのモデル化された処理が集められ、パラメータを定義する単一のセットのモデル化された処理にしたがって単一のモデル化された処理が提供される。
第2のシミュレータは、インスタンス化されることができ、第2のシミュレータ上で単一のスレッドが実行されることができる。さらに、複数のスレッドが第2のシミュレータ上で実行されることができる。パラメータを定義する複数のセットのモデル化された処理が集められ、パラメータを定義する複数のセットのモデル化された処理にしたがって複数のモデル化された処理が提供される。複数のデータストリームが複数のスレッドにしたがって送信され、複数のデータストリームが単一のKストアに送信される。複数のデータストリームのデータストリームは、リアルタイムで送信されることができる。さらに、複数のデータストリームのデータストリームは、同時に送信されることができる。
パラメータを定義する複数のセットのモデル化された処理が集められ、複数のモデル化された処理がパラメータを定義する複数のセットのモデル化された処理にしたがって提供される。複数のデータストリームは、複数のスレッドにしたがって送信される。複数のデータストリームは、単一のKストアに送信されることができる。さらに、複数のデータストリームはリアルタイムで送信されることができる。さらに、複数のデータストリームは同時に送信されることができる。さらに、複数のデータストリームは複数のKストアもしくは一時データ記憶装置に送信されることができる。複数のデータストリームは第1のシミュレータにしたがって送信されることができる。本発明の方法は、パラメータを定義する複数のセットのモデル化された処理を集めることと、パラメータを定義する複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む。
本発明のシミュレータは、リアルタイムデータストリーム入力、マルチデータストリーム、マルチデータフォーマットおよびデータのセットのランダム生成を提供することで、Kストアデータ構造を構築し、テストし、実証する要件を満たす。これは、Kストアデータ構造についてのデータ記録値の全ての可能な組み合わせの1つのインスタンスを提供することができ、ユーザがそれらを提供しない場合、変数にデフォルトの確率を割り当てることができる。
したがって、本発明のシミュレータは、マルチデータフォーマットのマルチデータストリームをリアルタムで提供し、それらをKストアもしくはその他のレポジトリに送信することにより、シンプルな、複雑な、コンテキストのあるモデル化された処理をシミュレートすることに適する。一実施形態において、シミュレータは、シミュレータ生成のソースおよび非シミュレータ生成の実体データを含む、ユーザが与えた構成データ、外部記憶装
置もしくはその他のソースからのデータに基づき、データシーケンスのインスタンスをランダムに生成することができる。これはランダムに生成されたデータのセットを、これが全ての可能な組み合わせの1つのインスタンスを提供するまで提供し続けることができ、もしくは無制限に、重複データを含むデータのセットを生成し続けることができる。さらに、本発明のシミュレータは、変数にデフォルトの確率値を割り当てることができ、もしくはユーザもしくはその他のソースからの確率値を受け入れることができる。
グラフィカルユーザインターフェイス(GUI)、アプリケーション、もしくはバックグラウンドジョブは、定義パラメータの本発明のシステムへの入力を許可する。入力は、レコード毎のフィールドの数およびフィールド毎の変数の数を含むことができる。特定の値が変数のフィールドについて特定されない場合、デフォルトの値が作成される。新しく作成された記録は、Kストアの学習エンジンへ、もしくはそれらが学習エンジンによって後ほどアクセスされる(プッシュもしくはプル)何らかのその他のファイルへ、直接送信されるであろう。さらに、シミュレータは、1または複数のスレッドを生成して、Kストアが確立される間にプロセッサの使用をテストするように指示され得る。
本発明は、同等の参照番号が同等の要素を示す、以下の図面と併せて説明される。
発明の詳細な説明
ここで図1を参照すると、本発明のKストアデータセットシミュレーションシステム10のブロック図表示が示される。Kストアデータセットシミュレーションシステム10は、記憶するため、もしくはKストア12を構築し、テストするなどの操作のため、Kエンジン14もしくはその他の記憶装置への送信のために、ユーザによって定義されたデータセットを作成するのに用いられることができる。クエリアプリケーション34から、アプリケーションプログラムインターフェイス/ユーティリティ28を経由して、Kエンジン14によって受け取られたクエリへのレスポンスは、Kストアデータセットシミュレーションシステム10によって作成されたデータセットにしたがってKエンジン14によって決定され、グラフィックディスプレイ装置に表示されることができる。さらに、クエリはKエンジン14によって受け取られることができ、データセットがシミュレーションシステム10によって作成され、Kエンジン14に送られる間に、またKストア12が構築されて、シミュレーションシステム10によって作成されたデータセットを用いてテストされる間に、レスポンスはKストア12から決定されることができる。
Kストアデータセットシミュレータシステム10内で、Kストアデータシミュレータ30は、Kストア12を構築すべく、ユーザ、もしくはアプリケーション、もしくは任意のその他のデータのソースからパラメータを定義するデータ記録を、グラフィカルユーザインターフェイス(GUI)38を手段として集め、一方でユーザは、データによって表示されたモデル化された処理にしたがって、データのフォーマットを定義する。Kストア12を構築する間、Kストアデータシミュレータ30は、ユーザによって定義されたデータを作成して、Kストア12内に少なくとも1つのモデル化された処理を表す。Kストアデータシミュレータ30は、以下により詳細に説明されるように処理および手順にしたがってデータセットを作成することができる。Kストアデータシミュレータ30によって作成されるデータセットはそこで、Kストアデータシミュレータ30から、学習エンジン26とKエンジン14を経由して、Kストア12へ直接送られることができる。Kストアデータセットシミュレータシステム10は、説明のため、単一の学習エンジン26を有して示される。実際は、任意の数の学習エンジン26が存在することができる。
本発明の他の好適な実施形態において、Kストアデータシミュレータ30によって作成されたデータセットは、データセットレポジトリ16に格納されることができる。データセットレポジトリ16は、シミュレーション直後のKストア12によるバッファリングと
使用のための、Kストアデータセットファイル20、Kストアデータセットメッセージ待ち行列24、外部記憶装置、名前付きパイプなどの動的記憶装置、もしくは、その他のKストア12を含む、データセットを格納する、任意のその他のデータベース、データ構造もしくは媒体であってよい。本発明の好適な一実施形態において、レポジトリの用語は、Kストア12そのものを含む、Kストアデータシミュレータ30によって作成されたデータセットを受信し、格納し、送信することのできる任意の場所を含むものと理解されてよい。
ここで図2を参照すると、連動ツリーデータストア50が示される。連動ツリーデータストア50は、Kストアデータセットシミュレーションシステム10内に備えられるKストア12の図表示である。連動ツリーデータストア50の構造および機能は、実質的に、同時係属出願の米国特許出願第(番号は提供されるであろう)に教示されるとおりである。貴殿はTN188、188Aおよび336?その他?(カラム、レポジトリ...)を含みたいのではないかと私は推察する<<<>>>。
出願番号を有するものは全て含んでも良いと、私は考える。
以下の表1に示されるようなデータ記録は、連動ツリーデータストア50もしくはその他のレポジトリにインポートされ、ユーザによる同時の、もしくは後からのアクセスのために格納されることができる。表1に示されるようなデータ記録からKストア12のようなKストアを構築する方法はまた、前述の特許出願に教示される。このようなデータ記録を作成し、Kストアデータシミュレータ30によってデータ記録をKストア12に送信する方法は、以下により詳細に説明される。
Figure 2008524669
したがって、表1の15のデータ記録は、データストア50に示されるように格納されることができる、合計15の取引についての情報を説明する。したがって、データストア50内の全てのデータは、同じデータフォーマットを有し、単一のモデルとされた処理を表すであろう。したがって、データストア50はこうして単一のデータソースコンテキスト、取引コンテキストを有する。したがって、データストア50は単一のデータソースコンテキストデータストアと称されるであろう。データストア50内の15のデータ記録の存在は、データストア50内の全ての最終結果ノードのカウントの和である思考終了ノード94のカウントによって示される。当然のことながら、「取引」の用語がここでは、表1のデータ記録に示される試用と完全な販売の両方を含む。
連動ツリーデータストア50内の表1の15の取引を表すパスは、「ビル」を含むパス52と、「トム」を含むパス54とを含む。「ビル」のパス52は、ビルサブコンポーネントノード72から伸びる全てのパスを含むと理解される。「トム」のパス54は、BOTノードから、トムサブコンポーネントノード88を通じて伸びる全てのパスを含むと理解される。「ビル」のパス52および「トム」のパス54は集合的に、連動ツリーデータストア50のモデル化された取引処理パス56と称される。モデル化された取引処理パス56を形成するパスはしたがって、家具小売店についての販売取引などの単一のモデル化された処理の表示を構成するであろう。
より複雑なモデル化された処理において、単一のモデル化された処理のデータは、マルチフォーマットであり、および/もしくは、単一のモデル化された処理は、マルチのモデル化された処理を含むであろう。Kストアシミュレーションシステムは、複雑なモデル化された(もしくはモデル化できる)処理を説明するデータセットを生成することができる。
連動ツリーデータベース50を用いて、たとえば、ビルのパス52内のケースパス70を参照することにより、ビルが火曜日にペンシルバニアで6つ販売したことを決定することができる。さらに、パス78を参照することにより、彼が月曜日にニュージャージーで1つを販売したことを決定することが可能である。加えて、連動ツリーデータストア50内で「販売」が用いられた回数を決定することにより、ビルもしくはトムのいずれかによって販売されたアイテムの全体数を決定することが可能である。この情報は、販売された要素のルートノード92のカウントを得ることにより、決定されることができる。販売された要素のルートノード92のカウントは9である。
しかし、より重要なことには、ここで留意すべきは、「販売」の9つのインスタンスのうちの7つがビルのパス52で生じることと、残りの2つのインスタンスがトムのパス54で生じることである。実際、販売された要素のルートノード92などの要素のルートノードが、多様なパス間の論理的関係に関わらず、もしくは論理的関係が欠如していても、データストア50の多様な異なるパスにおいて用いられることができることは、連動ツリーデータストア50の重要な特徴である。データストア50のこの特徴は、以下でより詳細に説明されるであろう。
ここで図3を参照すると、連動ツリーデータストア100が示される。連動ツリーデータストア100は、連動ツリーデータストア50の代替実施形態である。連動ツリーデータストア100において、ビルサブコンポーネントノード72から伸びるビルのパス52と、トムサブコンポーネント88から伸びるトムのパス54は、連動ツリーデータストア50を参照して先に説明されたと同じ方法で、連動ツリーデータストア100に含まれる。ビルのパス52とトムのパスは、またデータストア50を参照して先に説明されたように、取引処理パス56を形成する。
加えて、連動ツリーデータストア100は、パス58を含む。パス58は、取引処理データに加えて取引処理パス56によって表される、モデル化された処理の記録を形成する。したがって、パス58は、在庫処理パス58と称される。したがって、連動ツリーデータストア100として表されるKストア12は、モデル化された取引処理パス56における取引情報と、モデル化された在庫処理パス58における在庫情報の両方を含む。
したがって、連動ツリーデータストア100内に格納されたデータは、2つの異なるモデル化された処理を表し、2つの異なるデータフォーマットを有する。したがって、第2のデータソースコンテキストである、モデル化された在庫処理コンテキストが、データス
トア100を形成するために、データストア50に加えられた。したがって、データストア100は、2つのデータソースコンテキストデータストア、マルチデータソースコンテキストデータストア、もしくは2つのモデル化されたサブ処理を含む複雑なモデル化された処理データストアと称されるであろう。連動ツリーデータストア100に表される在庫データ記録は、以下の表2において説明される。
Figure 2008524669
表2に示される2つの記録を連動ツリーデータストア100に追加することは、思考終了ノードのカウントをして、連動ツリーデータストア50の思考終了ノード94について15から、思考終了ノード112について17へ、上げる。連動ツリーデータストア100の17の記録のうちの15は、モデル化された取引処理からであり、2つはモデル化された在庫処理からである。本発明の好適な実施形態の1つにおいて、表1、2のデータ記録は、連動ツリーデータストア100を作成するため、取引と在庫とを表す2つの有効な変数を有するフィールドを備えられたであろう。
連動ツリーデータストア100内で、100の要素のルートノード98が、数「100」を表す。100の要素のルートノード98は、「100」がデータストア100において全部で12回生じることを示す、12のカウントを有する。12の発現のうちの11は、モデル化された取引処理パス56にある:9つはビルのパス52にあり(サブコンポーネントノード64、80を参照のこと)、2つはトムのパス54にある(サブコンポーネントノード88を参照のこと)。100の要素のルートノード98によって表される数「100」の残りの1つの発現は、モデル化された在庫処理パス58にある(サブコンポーネント96を参照のこと)。したがって、数「100」は、両方の処理からのデータにおいて用いられる。さらに、これは2つのモデル化された処理を表す異なる方法で用いられる。モデル化された在庫処理データにおいて、数「100」は、取引の値、たとえば100.00ドルを示すことができる。モデル化された在庫処理において、商品番号を、したがって在庫の商品の識別を示すことができる。したがって、当然のことながら、本発明のシステムおよび方法における要素のルートノード(もしくは、Kのビューのレベル視点に応じて、ルートノード)によって表されるパーティクルもしくはシーケンスが、複数の異なるモデル化された処理を表すデータにおいて用いられることができ、全く異なるタイプの変数を表す。
ここで図4を参照すると、連動ツリーデータストア150が示される。連動ツリーデータストア150は、連動ツリーデータストア100の代替実施形態である。2つのノードが連動ツリーデータストア100に加えられて、連動ツリーデータストア150を作り出した。さらに他のノードのうちの1つは取引符号ノード102である。取引符号ノード102はBOTノード104とビルサブコンポーネントノード72との間に配置される。取引符号ノード102はまた、BOTノード104とトムサブコンポーネントノード88との間に配置される。したがって、モデル化された取引処理パス56が従属する取引符号ノード102は、連動ツリーデータストア150内の取引コンテキストを示すことができる。
取引符号ノード102のカウントは、取引処理における取引の全数、すなわち15である。取引符号ノードカウントの値は、ビルサブコンポーネントノード72とトムサブコン
ポーネントノード88のカウントを合計することによって得ることができる。あるいは、取引符号ノードの値は、取引処理パス56内の全ての最終結果ノードのカウントを合計することによって得ることができる。
連動ツリーデータストア100に加えられ、連動ツリーデータストア150を提供するその他のノードは、在庫符号ノード106である。在庫符号ノード106は、BOTノード104と在庫処理パス58との間に配置される。したがって、在庫符号ノード106は、連動ツリーデータストア150の在庫コンテキストを示すことができる。当然のことながら、本発明の一実施形態において、符号ノード102、106が、その図面には示されていないが、連動ツリーデータストア100に存在すると理解されるであろう。
在庫符号ノード106のカウントは、モデル化された在庫処理を表すデータ記録の数である。在庫符号ノード106のカウントは、在庫符号ノード106から始まり、そこからそれぞれの最終結果ノード108、110へ伸びる各パスを横断することにより、得ることができる。この方法で配置される最終結果ノード108、110のカウントは、そこで合計される。あるいは、在庫符号ノード106のカウントは、在庫処理パス58の全ての最終結果ノード108、110のカウントを決定し、合計することによって得られる。最終結果ノード108、110のカウントは、RcdEOTノード112のasResultリストおよび、モデル化された在庫処理パス58のコンテキストフィルタにしたがって、決定されることができる。
ここで図5を参照すると、連動ツリーデータストア200が示される。連動ツリーデータストア200は、連動ツリーデータストア100の代替実施形態であり、表1に示される15の取引、すなわちモデル化された取引処理パス56は、それらがレジ1もしくはレジ2に記録されたかどうかにしたがって組織化される。連動ツリーデータストア200に表されるデータ記録は、表3に示される。表3は、どのレジで各取引が記録されたかを示すカラムを加えた、表1と同じ情報を含むということが理解されるであろう。
Figure 2008524669
15のデータ記録が、取引符号ノード202のカウントによって示されるように、連動ツリーデータストア200内に表される。これはまた、連動ツリーデータストア200の思考終了ノード250のカウントによって示される。連動ツリーデータストア200を取引符号ノード202から横断することで、たとえば、データストア200の15の取引の
うちの11がレジ2で記録されたことが決定できる。この決定を行うために、連動ツリーデータストア200は、CR2符号ノード204から、それに従属する全ての最終結果ノード(すなわち、最終結果ノード240、244、246)まで横断されることができる。この方法で配置される各最終結果ノード240、244、246のカウントはそこで、相互に加えられてCR2符号ノード204のカウントを決定することができる。
したがって、前述の横断はまず、CR2符号ノード204からビルサブコンポーネントノード208へ横断することで、レジ2で記録された全てのビルの取引を決定できるかもしれない。データストア200の横断は、パス230、234に沿って、最終結果ノード240、244まで続くことができるかもしれない。最終結果ノード240、244は、それぞれ6および3のカウントを有する。次に、連動ツリーデータストア200の横断は、CR2符号ノード204からトムサブコンポーネントノード214へ横断することで、トムの取引のうちのいくつがレジ2で記録されたかを決定できるかもしれない。横断は、パス236に沿って、2のカウントを有する最終結果ノード246まで続くことができるかもしれない。
したがって、レジ2で記録された取引の全数は11である。同じ方法で、レジ1で記録された取引の数は、連動ツリーデータストア200をCR1符号ノード216から横断することによって決定されることができる。横断は、CR1符号ノード216から、(ビルの取引について)パス232を通じて、また(トムの取引について)パス238を通じて、最終結果ノード242、248まで進み、最終結果ノード242、248のカウントを合計するであろう。
表4に示される構成ファイルである構成ファイル1は、Kストアデータシミュレータ30の入力として提供され、表1のデータ記録、したがって連動ツリーデータストア50を作成することができる。構成ファイル1は、Kストアデータシミュレータ30に、たとえばGUI38を手段として送信されることができる。構成ファイル1内で、第1の行は、表1のデータ記録内のフィールドの数を定義する。この方法で、表1に示されるように構成ファイル1にしたがってシミュレートされたデータ記録の5つのフィールドが定義されることができる。5つの定義されたフィールドの名前は、フィールドの数の定義の下に構成ファイル1に示される。それらは、販売員、曜日、商品番号、取引および州である。
次に、各フィールド内の可能な値もしくは変数を説明することができる。たとえば,
販売員はビルの値もしくはトムの値を有することができる。曜日は月曜日の値もしくは火曜日の値などを有することができる。特定の値が変数のフィールドについて特定されない場合、デフォルトの値が作成される。たとえば、フィールドが特定の値名を持たないiの値を有すると定義される場合、Kストアデータシミュレータ30はv、v、...vの値を作成することができる。この方法で、表4の構成ファイル1は、連動ツリーデータストア50に示されるように、モデル化された取引処理を表すデータを構築するのに用いられることができる。
Figure 2008524669
構成ファイル1内の次の定義のセットは、確率である。構成ファイル1の確率定義を用いることで、ユーザはそこに定義される各値に確率を割り当てることができる。たとえば、ユーザはKストアデータシミュレータ30に、ビルを66 2/3%の回数だけ選択し、トムを33 1/3%の回数だけ選択するように指示することができる。本発明の好適な実施形態において、ユーザは、このような確率が所望される場合以外、任意の確率をこの方法で定義づけることを要求されない。ユーザが任意の確率を定義しないことを選択する場合、Kストアデータシミュレータ30は、フィールドにおける全ての値が同じ確率で選択されるデフォルトの状態を、自動的に実施することができる。
あるいは、ユーザは、いくつかの値について確率を定義し、Kストアデータシミュレータ30が残りの確率をユーザ定義の確率を有さない値にわたって均等に配分することを許可することができる。定義されない確率は、デフォルトの均等な確率になることができる。当然のことながら、ユーザは任意の数の値をフィールドについてリストアップし、Kストアデータシミュレータ30による、値の選択されたサブセットへの値の使用を、選択されない値に0である確率を割り当てることにより、限定することができる。
構成ファイル1において選択された確率が、対応する値が表4に出現する頻度と比較される場合、ここで留意すべきは、頻度は構成ファイル1に定義されたとおり常に正確ではないということである。これは、Kストアデータシミュレータ30によって作成されたデータ記録の数が相対的に大きくなるにつれ、頻度が割り当てられた確率に近づかなければ
ならないという事実による。実際には、表1、4の例は例示の目的で単純化された。実際には、構成ファイルに割り当てられた確率および、構成ファイル1の出力データ記録に値が出現する頻度は、示された実施例におけるよりもゆっくりと集束すると見込まれることができる。さらに、多数のデータ記録がKストアデータシミュレータ30によって作成されるまで、観測された確率は変動すると見込まれることができる。
本発明の好適な一実施形態において、記録およびフィールドのカウントが、Kストアデータセットシミュレーションシステム10によるシミュレーションの間、たとえばグラフィカルユーザインターフェイス38上に示され、定義された値の任意のものについて発現の相対頻度をユーザが監視することを許可することができる。加えて、定義された値の累積頻度およびユーザによって要求される任意のその他の情報が、グラフィカルユーザインターフェイス38上に表示されることができる。表示されるカウントおよび確率は、ユーザによって選択可能な間隔で、Kストアデータセットシミュレーションシステム10によって更新されるであろう。たとえば、ユーザは毎秒、5秒毎、などの更新を選択することができる。
ここで図6を参照すると、Kストアデータセットシミュレータシステム10内のグラフィカルユーザインターフェイス38を代表するスクリーンショット275が示される。スクリーンショット275などの異なるスクリーンショットが、表1、2、3に示されるデータ記録などのデータ記録をKストアデータシミュレータ30に入力するのに用いられ、Kストアによる記憶もしくは使用について1以上のモデル化された処理を表すデータを作成することができる。スクリーンショット275は、フィールド値を入力するフィールドエントリスペース278と、入力したフィールド値をフィールド値ディスプレイ280に表示される値のリストに追加する追加ボタン284とを含む。確率入力スペース288は、確率表示スペース290に表示される確率のリストに加えられる確率を、追加ボタン292を押すことによって入力するために提供される。
したがって、モデル化された処理を表すデータを定義するパラメータセットは、スクリーンショット275によって図解されるフォーマットを用いて、グラフィカルユーザインターフェイス38を手段として、入力されることができる。したがって、Kストアデータシミュレータ30は、シミュレートデータボタン294を押すことにより、ユーザ定義のデータのシミュレーションを始めるよう指示されることができる。当然のことながら、スクリーンショット275などのここで説明されるスクリーンショットは、例示の目的のみで提供される。グラフィカルユーザインターフェイスの任意の好適なタイプと、当業者にとって既知のグラフィカルユーザインターフェイスを表すディスプレイの任意のタイプは、本発明にしたがったKストアデータセットシミュレータシステム10と連動するために用いられることができる。
ここで図7を参照すると、データ記録作成処理もしくは手順300が示される。構成ファイル1と共同してデータ記録作成手順300を用いて、Kストアデータシミュレータ30は、表1におけるデータ記録などのデータ記録のストリームを作成することができる。Kストアデータシミュレータ30の実行が開始されると、これはブロック304に示されるようにデータ記録のフィールドを作成する。現在の実施例において、データ記録作成処理300はまず、構成ファイル1内の販売員フィールドについての2つの値のうちの一方、ビルもしくはトムを選択することができる。
構成ファイル1などの構成ファイルにしたがって、データ記録作成手順300の決定312において、販売員フィールドについて利用可能な値に確率が割り当てられたかどうかの決定がなされる。構成ファイル1において割り当てられた確率を用いて、ブロック316に示されるように、ビルは、トムが選択されるよりも2倍頻繁に選択される。値に確率
が何も割り当てられなかった場合、ビルとトムの値は同じ頻度で選択されるであろう。表1の第1のデータ記録において、Kストアデータシミュレータ30内で動作するデータ記録作成処理300のブロック316は、ビルの値を選択した。
データ記録作成処理もしくは手順300はそこで、決定320に示されるように、任意のさらに他のフィールドが、現在のデータ記録内で定義されるかどうかの決定を行う。さらに他のフィールドが、作成されるデータ記録内で定義されるため、データ記録作成処理300の実行は、次のフィールド、曜日フィールドについて月曜日の値もしくは火曜日の値が選択されることができるブロック304に、戻ることができる。これらの操作は、構成ファイル1に定義されるようにデータ記録内の各フィールドについて値が選択され、決定320で否定的な決定が得られるまで繰り返される。前述のデータ記録作成処理は、繰り返されて、所望されるだけのデータ記録が作成されることができる。この方法で充分なデータ記録が作成されると、否定的な決定が決定320内で得られる。
データ記録作成手順300の好適な一実施形態において、各完成したデータ記録はそこで、ブロック324に示されるように、Kストア12へ、もしくはデータセットレポジトリ16へ、個々に送信されることができる。本発明の他の好適な実施形態において、複数のデータ記録は、データ記録作成処理300によって累積されることができる。累積したデータ記録はそこで、グループとしてKストア12へ、もしくはデータセットレポジトリ16へ、送信されることができる。
さらに、当業者にとって既知であるように、データ記録がKストア12へ送信される間、Kストア12は、ノード基礎によりノード上の各新しいノードを表す新しいポインタを作成する処理を用いて構築される。新しいノードの構築が完成するまでの間、これはKストア12のクエリについて利用可能ではない。したがって、構築中のノードは、本質的に、Kストア12のクエリについてロックアウトされている。しかし、このような構築中の単一のノードが、いずれかの時点での構築中のKストア12における唯一のポイントであるため、Kストア12はその残りのノードの任意のものが構築中にロックアウトされることを必要としない。
[最後の文は真実か?他のノードは、そのasCaseリストもしくはasResultリストが新しいノードを含むよう更新される時、ロックアウトされる必要がないか?]
したがって、Kストア12が、データ記録のデータ記録作成手順200からKストア12への送信と、それが受信するデータ記録にしたがったKストア12の構築と同時にクエリされることができることは、本発明のシステムおよび方法の重要な利点である。どれだけ多くのスレッドがデータシミュレータ30によって実行されるか、どれだけ多くのデータシミュレータ30がインスタンス化されるか、そしてどれだけ多くの異なるモデル化された処理がKストア12内に表されるかに(以下により詳細に説明されるように)は関係なく、これは真実である。何故ならこれらの異なる状況の全てにおいて、構築中のノードのみが利用不可能であるからである。
ここで図8を参照すると、Kストアデータシミュレータ30のいくつかの可能な構成を説明するブロック図表示350が示される。Kストアデータシミュレータ30の異なる構成は、データ記録作成処理300の1以上のインスタス355を実行する異なるモードに対応する。インスタンス355の実行の異なるモードは、同時に作動することができ、本発明の方法にしたがったKストア12もしくはデータセットレポジトリ16への送信のための1以上のデータストリームを作成することができる。ブロック図表示350に示される可能な構成にしたがって作成されるデータ記録のストリームは、1以上のフォーマットを有することができ、Kストア12内に1以上のモデル化された処理を表すデータを構築することができる。さらに、同時に作成されるデータ記録の複数のストリームのデータ記
録の任意の数の個々のストリームは、残りのストリームから独立して、終了され、開始されることができる。
記録作成処理もしくは処理300の単一のインスタンス355は、実行されて、Kストア12もしくはレポジトリ16への送信のために、単一のスレッドを用いて、データ記録の単一のストリームを作成することができ、ブロック図表示350のブロック360に示されるようにKストア12をテストし、もしくは実証することができる。さらに、ブロック360に示されるような任意の数の単一のスレッドのインスタンスが、同時にインスタンス化されることができる。このような単一のスレッドの操作に加えて、当業者によって、記録作成処理300のマルチスレッドの実行がインスタンス355によって行われてよいことが理解されるであろう。マルチスレッドの実行の間、ブロック370、380に示されるように、2以上のデータ記録のストリームが作成されて、リアルタイムで同時に送信されることができる。Kストアデータシミュレータ30内を走る各スレッドは、Kストアデータセットシミュレーションシステム10内にそれ自体の学習エンジン26をインスタンス化するであろう。
さらに、本発明にしたがったインスタンス355のマルチスレッド操作は、当業者によってよく理解されるマルチスレッドコンピュータ環境を用いて実施されることができる。このようなマルチスレッドコンピュータ環境において、インスタンス355の各スレッドは、起動フレームの自体のスタックを割り当てられることができ、起動フレームは、たとえばコンピュータ環境内の多様なオブジェクトへのコールおよびオブジェクトからのリターンにしたがって作成され、破棄される。この方法で、マルチスレッドインスタンス355の任意の数のスレッドがリアルタイムで同時にシミュレートされることができる。さらに、マルチスレッドインスタンス355の異なるスレッドが、異なるモデル化された処理を表し、異なるデータフォーマットを有するデータを提供することができるため、任意の数の異なるデータフォーマットを有するデータのストリームが、Kストアデータセットシミュレータシステム10内で単一のインスタンス355によりリアルタイムで同時に提供されることができる。
ブロック360、370、380にしたがって作成されたデータストリームは、マルチデータセットを形成することができ、もしくは単一のデータセットに統合されることができる。ブロック370、380にしたがって実行されるマルチスレッドは、同じ構成ファイルもしくは異なる構成ファイルを用いることができる。本発明の一実施形態において、単一のインスタンス化355での記録作成処理300のマルチスレッド操作は、スレッドの作成を交互配置することで実現され得る。交互スレッド実施形態において、記録作成処理300は、1つのスレッドについて所定の数のデータ記録を作成し、そして他のスレッドについて所定の数のデータ記録を作成することができる。この処理は、連続的に交互に繰り返され、マルチスレッドを提供することができる。
他の好適な実施形態において、シミュレーションはリアルタイムにマップされることができる。時間マッピング実施形態において、当業者にとって既知のタイマが、たとえばリアルタイムの1秒を、シミュレートされるモデル化された処理操作の1日もしくは1ヶ月にマップするのに、用いられることができる。リアルタイムの1秒が1日にマップされる実施例において、ユーザは、たとえばモデル化された取引処理の現在進行中のシミュレーションの間に生じる1週間の販売のシミュレーションを作成することができるかもしれない。取引が1日に1秒の率でシミュレートされる間、タイマが用いられて、時間における1ポイントにおけるモデル化された販売処理に対応するスレッドを開始し、7秒後に終了するかもしれない。このことは、ユーザが、モデル化処理パラメータの任意のモデル化された処理もしくは変更を、任意の所定の時間にわたってテストすることを許可する。リアルタイムのような、その他のゲーティングもしくはアンフォールディング/反復するパラ
メータが、同様の方法でモデル化されることができる。
したがって、好適な一実施形態において、記録作成手順300のインスタンスが1度以上同時に作成される時、記録作成処理300の全てのインスタンス355は、ブロック360に示されるように単一のスレッドのインスタンス化として実行されることができる。本実施形態において、各単一のスレッドのインスタンス355は、それ自体のストリームもしくはデータ記録の複数のストリームを作成することができる。加えて、複数の単一のスレッドのインスタンス化の各単一のスレッドのインスタンス化355は、同じもしくは異なる構成ファイルを入力のために用いることができる。さらに、複合的な単一のインスタンス化355は、同じもしくは異なるフォーマットを有するデータ記録のストリームを作成することができる。ブロック360にしたがって複数の単一スレッドインスタンス化355によって作成されたデータストリームは、インスタンス355からリアルタイムで同時に送信されることができる。これらはマルチデータセットを形成することができ、もしくは単一のデータセットに統合されることができる。
好適な一実施形態において、単一のインスタンス355内のマルチスレッドは、ブロック370に示されるようにパラメータを定義する、モデル化された処理の同じセットを有する、1以上の構成ファイルを実行することができる。この方法で動作するマルチスレッドは、表1および連動ツリーデータストア50のデータ記録によって表される単一の処理などの単一のモデル化処理を表すKストア12もしくはマルチKストア12を、構築することができる。ブロック370にしたがったマルチインスタンス355は、構成ファイルがパラメータを定義する同じモデル化処理を有するならば、同じ構成ファイルもしくは異なる構成ファイルのいずれかを用いることができる。さらに、任意の数のスレッドが、ブロック370にしたがって記録作成処理300の単一のインスタンス355の同じパラメータを用いて実行することができる。
加えて、インスタンス355内のマルチスレッドは、ブロック380に示されるようなパラメータを定義する異なる処理を有する構成ファイル上で実行することができる。たとえば、単一のインスタンス355上でパラメータを定義する異なる処理を有して動作するマルチスレッドは、表1、2に示されるようなデータ記録を作成することができ、モデル化された取引処理パス56および、連動ツリーデータストア100のモデル化された在庫処理パス58を作成することができる。ブロック380にしたがったインスタンス355の出力データストリームは、リアルタイムで同時に送信されることができる。加えて、データリソーススレッド390は、外部記憶装置、メッセージ待ち行列、パイプもしくは、図1のデータセットレポジトリ16を参照して先に説明したように他のKストア12を含む任意のその他のデータのソースから、データを読み込むことができる。さらに、非シミュレータ生成のメッセージ待ち行列、監視装置およびさらにはセンサ(熱、光、触覚、科学的など)がこのような入力に用いられることができる。
したがって、ブロック図表示350に示されるインスタンス化にしたがったKストア12もしくはレポジトリ16への送信のため、複数のデータストリームを得るために、Kストアデータシミュレータ30内の複数の構成ファイルを同時に用いることが、時として必要である。これを実現する1つの方法は、表5に示されるシナリオ構成などのシナリオ構成を用いることである。シナリオは、パラメータを定義するモデル化された処理の個々のセットおよびデータを、記録作成処理300の単一のインスタンスもしくはマルチインスタンス355に提供する、表4に示される構成などの構成のリストを含む。
表5に示されるシナリオ構成は、3つの構成を含む:家具デモ1、家具デモ2、家具デモ3である。表5に示される各構成は、それが特定するインスタンス355上で走るスレッドの数を特定する。表5の実施例における全ての構成は単一スレッドを特定するが、先
に説明されたように、シナリオ内の構成において任意の数のスレッドが特定されてよい。加えて、表5のシナリオ構成は、3つの追加のシナリオを含み、そのそれぞれは、同じ方法で1以上の構成、家具販売データシナリオ1、2、3を含むように定義される。したがって、本発明の方法において、シナリオは、任意の異なる数のスレッドを特定するさらに他のシナリオを含むことができる。
Figure 2008524669
ここで図9A、Bを参照すると、表5で説明されるシナリオなどのシナリオをKストアデータシミュレータ30に特定するのに用いられることのできる、Kストアデータセットシミュレータシステム10内のグラフィカルユーザインターフェイス38のスクリーンショット400、420が示される。スクリーンショット400に示されるように、グラフィカルユーザインターフェイス38は、データセットシミュレータシステム10のユーザによって定義される任意の数のシナリオをリストアップするドロップダウンシナリオメニュー408を備えることができる。ユーザは、ドロップダウンシナリオメニュー408をスクロールして、選択されたシナリオをスクリーンショット400のシナリオ表示フィールド404に移動させることでシナリオを選択する。選択されたシナリオがこの方法でシナリオ表示フィールド404に表示される時、Kストアデータシミュレータ30のユーザは、シナリオ開始ボタン410を押して、選択されたシナリオによって特定された構成にしたがってデータ記録のシミュレーションおよび作成を始めることができる。
本発明は詳細に、特定の実施例を参照して説明されたが、当業者にとって、多様な変更および修正が本発明の精神および範囲から逸脱することなくなされることが明白であろう。
さらに、ここに説明される方法およびシステムは、プログラムコード(たとえば命令)の形で実施されるであろう。プログラムコードは任意のコンピュータ読みとり可能な媒体に格納されてよい。たとえば、プログラムコードは、フロッピー(登録商標)ディスク、CD―ROM、DVD―ROM、DVD―RAM、ハードディスクドライブ、メモリスティック、メインメモリ、もしくは、既知または現在未知である任意のその他のマシン読みとり可能な記憶媒体などの媒体に格納されてよく、それ自体が電子、光学もしくはその他の形状の組織化されたデータ信号のセットであるところのプログラムコードが、コンピュータなどのマシンにロードされ、それによって実行される時、マシンは本発明を実施する装置になることができる。本発明はまた、送信媒体にわたって送信されるプログラムコードの形で実施されることができる。たとえば、プログラムコードは、電子ワイヤもしくはケーブルを通って、光ファイバ送信装置を通じて、インターネットやイントラネットなどを含むネットワークを越えて、もしくは任意のその他の形状の送信を介して、送信されることができ、マシンは、プログラムコードが受信され、コンピュータなどのマシンにロードされ、それによって実行される時に、本発明を実施する装置になる。多目的のプロセッサ上で実施される時、プログラムコードはプロセッサと協同して、特定の論理回路と同じように動作する装置を提供する。プログラムコードは、たとえば、C、C++、JAVA(登録商標)などのハイレベルのプログラミング言語を用いて実施されるであろう。あるいは、プログラムコードはアセンブリもしくはマシン言語で実施されるであろう。いずれの場合も、言語はコンパイラ型、もしくはインタープリタ型の言語である。
ここで留意すべきは、先の記述は説明の目的のためにのみ提供され、本発明を限定すると解釈されることは決してないということである。たとえば、連動ツリーデータストアは、オブジェクト指向の技術、手順の技術、それらのハイブリッドもしくは任意のその他の適切な方法を用いて実施されることができる。さらに、提示された実施例は、メモリ内に格納されたデータセット要素を示すが、この機能性は多くの異なる方法で実施されることを、当業者は理解するであろう。たとえば、本発明は、離れて配置された複数のマシン上に格納された多くの異なる領域のデータセット要素の多くの異なるセットの使用を意図する。
本発明についての無数の使用が見られ、本発明の形状および操作の方法における重要な多様性が説明され、当業者により考えられるであろうが、本発明は以下の請求の範囲に説明される以外に範囲を限定されない。
本発明のKストアデータセットシミュレーションシステムの実施形態のブロック図表示を示す。 単一のデータソースコンテキストを有するデータ記録が、図1のKストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、連動ツリーデータストアのグラフィック表示を示す。 マルチデータソースコンテキストを有するデータ記録が、図1のKストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、連動ツリーデータストアのグラフィック表示を示す。 マルチデータソースコンテキストを示す符号ノードを含む図3の単一のデータソースコンテキスト連動ツリーデータストアの代替実施形態のグラフィック表示を示す。 単一のデータソースコンテキストを有するデータ記録が、図1のKストアデータセットシミュレーションシステムにしたがってシミュレーションされることができる、さらに他の連動ツリーデータストアのグラフィック表示を示す。 Kストアデータセットシミュレーションシステムにパラメータを入力してKストアに表示される処理の数を定義する本発明のKストアデータセットシミュレーションシステムと用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。 図1のKストアデータセットシミュレーションシステムにしたがったデータ記録を作成する処理のフローチャート表示を示す。 図1のKストアデータセットシミュレーションシステムにしたがったデータシミュレータの可能な構成のブロック図表示を示す。 シミュレータもしくはシナリオをインスタンス化する本発明のKストアデータセットシミュレーションシステムと共に用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。 シミュレータもしくはシナリオをインスタンス化する本発明のKストアデータセットシミュレーションシステムと共に用いるのに適したグラフィカルユーザインターフェイスのスクリーンショットを示す。

Claims (45)

  1. パラメータを定義するモデル化された処理を集めて少なくとも1つの定義されたモデル化された処理を提供することと、
    第1のシミュレータをインスタンス化することと、
    前記定義されたモデル化された処理にしたがって前記少なくとも1つのシミュレータによってデータストリームを作成することと、
    前記少なくとも1つのデータストリームをレポジトリに送信することとを含む、Kストア(KStore)についてのデータを生成する方法。
  2. 前記第1のシミュレータによって単一のスレッドを実行することをさらに含む、請求項1に記載のKストアについてのデータを生成する方法。
  3. 前記第1のシミュレータによって複数のスレッドを実行することをさらに含む、請求項2に記載のKストアについてのデータを生成する方法。
  4. パラメータを定義する前記単一のセットのモデル化された処理を集めることと、
    パラメータを定義する単一のセットのモデル化された処理にしたがって単一のモデル化された処理を提供することとをさらに含む、請求項3に記載のKストアについてのデータを生成する方法。
  5. 第2のシミュレータをインスタンス化することをさらに含む、請求項4に記載のKストアについてのデータを生成する方法。
  6. 前記第2のシミュレータ上で単一のスレッドを実行することをさらに含む、請求項5に記載のKストアについてのデータを生成する方法。
  7. 前記第2のシミュレータ上で複数のスレッドを実行することと、
    パラメータを定義する複数のセットのモデル化された処理を集めることと、
    パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項5に記載のKストアについてのデータを生成する方法。
  8. 前記複数のスレッドにしたがって複数のデータストリームを送信することをさらに含む、請求項3に記載のKストアについてのデータを生成する方法。
  9. 前記複数のデータストリームを単一のKストアに送信することをさらに含む、請求項8に記載のKストアについてのデータを生成する方法。
  10. 前記複数のデータストリームのデータストリームはリアルタイムで送信される、請求項8に記載のKストアについてのデータを生成する方法。
  11. 前記複数のデータストリームのデータストリームは同時に送信される、請求項10に記載のKストアについてのデータを生成する方法。
  12. パラメータを定義する複数のセットのモデル化された処理を集めることと、
    パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項3に記載のKストアについてのデータを生成する方法。
  13. 前記複数のスレッドにしたがって複数のデータストリームを送信することをさらに含む、請求項12に記載のKストアについてのデータを生成する方法。
  14. 前記複数のデータストリームを単一のKストアに送信することをさらに含む、請求項13に記載のKストアについてのデータを生成する方法。
  15. 前記複数のデータストリームの中のデータストリームはリアルタイムで送信される、請求項13に記載のKストアについてのデータを生成する方法。
  16. 前記複数のデータストリームの中のデータストリームは同時に送信される、請求項15に記載のKストアについてのデータを生成する方法。
  17. 前記複数のデータストリームを複数のKストアに送信することをさらに含む、請求項13に記載のKストアについてのデータを生成する方法。
  18. 前記複数のデータストリームを一時データ記憶装置に送信することをさらに含む、請求項13に記載のKストアについてのデータを生成する方法。
  19. 前記第1のシミュレータにしたがって複数のデータストリームを送信することをさらに含む、請求項1に記載のKストアについてのデータを生成する方法。
  20. パラメータを定義する複数のセットのモデル化された処理を集めることと、
    パラメータを定義する前記複数のセットのモデル化された処理にしたがって複数のモデル化された処理を提供することとをさらに含む、請求項19に記載のKストアについてのデータを生成する方法。
  21. 前記複数のデータストリームを単一のKストアに送信することをさらに含む、請求項19に記載のKストアについてのデータを生成する方法。
  22. 前記複数のデータストリームの中のデータストリームはリアルタイムで送信される、請求項19に記載のKストアについてのデータを生成する方法。
  23. 前記複数のデータストリームの中のデータストリームは同時に送信される、請求項22に記載のKストアについてのデータを生成する方法。
  24. 複数のシミュレータをインスタンス化することをさらに含む、請求項1に記載のKストアについてのデータを生成する方法。
  25. 前記複数のシミュレータのうちの少なくとも1つのシミュレータ上で単一のスレッドを実行して単一のデータストリームを提供することをさらに含む、請求項24に記載のKストアについてのデータを生成する方法。
  26. 前記複数のシミュレータの前記少なくとも1つのシミュレータ上で複数のスレッドを実行して対応する複数のデータストリームを提供することをさらに含む、請求項25に記載のKストアについてのデータを生成する方法。
  27. 前記複数のデータストリームに対応する複数のモデル化された処理を提供することをさらに含む、請求項26に記載のKストアについてのデータを生成する方法。
  28. 前記複数のデータストリームをリアルタイムで同時に送信することをさらに含む、請求
    項26に記載のKストアについてのデータを生成する方法。
  29. 前記複数のデータストリームは、異なるデータストリームフォーマットを有する少なくとも2つのデータストリームを含む、請求項28に記載のKストアについてのデータを生成する方法。
  30. 前記複数のスレッドの各スレッドについて学習エンジンをインスタンス化することをさらに含む、請求項26に記載のKストアについてのデータを生成する方法。
  31. データを構成する構成情報を有する構成ファイルを提供することと、
    構成されたデータ記録を提供するために前記構成情報にしたがってデータ記録値をデータ記録のデータ記録フィールドに配置することとをさらに含む、請求項1に記載のKストアについてのデータを生成する方法。
  32. 前記構成されたデータ記録を前記少なくとも1つのデータストリームに挿入することをさらに含む、請求項31に記載のKストアについてのデータを生成する方法。
  33. 前記構成ファイルは複数の変数名を含む、請求項32に記載のKストアについてのデータを生成する方法。
  34. 前記構成ファイルは、前記変数値を前記変数名に割り当てることをさらに含む複数の変数値を含む、請求項33に記載のKストアについてのデータを生成する方法。
  35. 前記構成ファイルは、前記確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む確率値を含む、請求項34に記載のKストアについてのデータを生成する方法。
  36. 前記構成ファイルは、複数の異なるユーザ提供の確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む複数の異なるユーザ提供の確率値を含む、請求項34に記載のKストアについてのデータを生成する方法。
  37. 所定の確率値にしたがって前記変数値を前記変数名に選択的に割り当てることをさらに含む、請求項34に記載のKストアについてのデータを生成する方法。
  38. 複数の構成ファイルを有するシナリオファイルを提供することと、
    複数の構成されたデータ記録を提供するために、前記複数の構成ファイルにしたがってデータ記録値をデータ記録フィールドに配置することとをさらに含む、請求項31に記載のKストアについてのデータを生成する方法。
  39. 前記複数の構成ファイルにしたがって複数のモデル化された処理を提供することをさらに含む、請求項38に記載のKストアについてのデータを生成する方法。
  40. 前記シナリオファイルは、少なくとも1つのさらに他のシナリオファイルにしたがって前記データ記録値をデータ記録フィールドに配置して前記複数の構成されたデータ記録を提供することを含む少なくとも1つのさらに他のシナリオファイルを含む、請求項38に記載のKストアについてのデータを生成する方法。
  41. 前記Kストアを構築することと、
    前記Kストアの前記構築と同時に前記Kストア内のコンテキストを決定することとをさらに含む、請求項1に記載のKストアについてのデータを生成する方法。
  42. 前記少なくとも1つのデータストリームにしたがって前記Kストアを構築することをさらに含む、請求項41に記載のKストアについてのデータを生成する方法。
  43. パラメータを定義するモデル化された処理の1つが時間である場合、選択された時間帯の前後のシミュレータデータのマッピング集団が、前記選択された時間帯の任意の所与の数のユニットについて、シミュレートされたデータの同じ数の集団が作成される、請求項1に記載のKストアについてのデータを生成する方法。
  44. 実行時に、請求項1に記載された方法を実行するプログラム命令を実行するように構成された、コンピュータシステム。
  45. コンピュータシステムにおいて実行時に、請求項1に記載の方法を実行するプログラム命令を含むコンピュータ読みとり可能なメモリ内のデータファイル。
JP2007540131A 2004-11-08 2005-11-07 Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション Withdrawn JP2008524669A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US62592204P 2004-11-08 2004-11-08
US11/106,253 US20060100845A1 (en) 2004-11-08 2005-04-14 Multiple stream real time data simulation adapted for a KStore data structure
PCT/US2005/040266 WO2006052879A2 (en) 2004-11-08 2005-11-07 Multiple stream real time data simulation adapted for a kstore data structure

Publications (1)

Publication Number Publication Date
JP2008524669A true JP2008524669A (ja) 2008-07-10

Family

ID=36317430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007540131A Withdrawn JP2008524669A (ja) 2004-11-08 2005-11-07 Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション

Country Status (5)

Country Link
US (1) US20060100845A1 (ja)
EP (1) EP1820098A4 (ja)
JP (1) JP2008524669A (ja)
CA (1) CA2585712A1 (ja)
WO (1) WO2006052879A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250116B2 (en) * 2008-12-31 2012-08-21 Unisys Corporation KStore data simulator directives and values processor process and files
KR101549808B1 (ko) * 2015-07-01 2015-09-02 조돈우 아랍문자 입력장치
CN108322527A (zh) * 2018-01-23 2018-07-24 平安科技(深圳)有限公司 数据传输处理方法、装置、设备及计算机可读存储介质

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634133A (en) * 1992-01-17 1997-05-27 Compaq Computer Corporation Constraint based graphics system
US5894311A (en) * 1995-08-08 1999-04-13 Jerry Jackson Associates Ltd. Computer-based visual data evaluation
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
US6144962A (en) * 1996-10-15 2000-11-07 Mercury Interactive Corporation Visualization of web sites and hierarchical data structures
US5854902A (en) * 1996-10-31 1998-12-29 Sensormatic Electronics Corporation Video data capture and formatting in intelligent video information management system
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
JPH10335193A (ja) * 1997-05-30 1998-12-18 Toshiba Corp 製造工程仕様作成運営システム、プロセスデータ作成システム及び半導体装置の製造方法
US6233575B1 (en) * 1997-06-24 2001-05-15 International Business Machines Corporation Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values
US6411974B1 (en) * 1998-02-04 2002-06-25 Novell, Inc. Method to collate and extract desired contents from heterogeneous text-data streams
US6356902B1 (en) * 1998-07-28 2002-03-12 Matsushita Electric Industrial Co., Ltd. Method and system for storage and retrieval of multimedia objects
US6163763A (en) * 1998-10-06 2000-12-19 Cadence Design Systems, Inc. Method and apparatus for recording and viewing error data generated from a computer simulation of an integrated circuit
US6635089B1 (en) * 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
US6373484B1 (en) * 1999-01-21 2002-04-16 International Business Machines Corporation Method and system for presenting data structures graphically
US6751622B1 (en) * 1999-01-21 2004-06-15 Oracle International Corp. Generic hierarchical structure with hard-pegging of nodes with dependencies implemented in a relational database
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6920608B1 (en) * 1999-05-21 2005-07-19 E Numerate Solutions, Inc. Chart view for reusable data markup language
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6571282B1 (en) * 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6640244B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US7159041B2 (en) * 2000-03-07 2007-01-02 Microsoft Corporation Method and system for defining and controlling algorithmic elements in a graphics display system
US6704729B1 (en) * 2000-05-19 2004-03-09 Microsoft Corporation Retrieval of relevant information categories
US20020059052A1 (en) * 2000-09-12 2002-05-16 Mellanox Technologies Ltd. Co-simulation of network components
US20030208488A1 (en) * 2000-09-20 2003-11-06 North Dakota State University System and method for organizing, compressing and structuring data for data mining readiness
US20020143735A1 (en) * 2001-03-30 2002-10-03 Akin Ayi User scope-based data organization system
US20030009443A1 (en) * 2001-06-15 2003-01-09 Oleg Yatviskiy Generic data aggregation
US6799184B2 (en) * 2001-06-21 2004-09-28 Sybase, Inc. Relational database system providing XML query support
US7027052B1 (en) * 2001-08-13 2006-04-11 The Hive Group Treemap display with minimum cell size
WO2003052589A2 (en) * 2001-12-14 2003-06-26 Koninklijke Philips Electronics N.V. Method for data processing in a multi-processor data processing system and a corresponding data processing system
AU2003210535A1 (en) * 2002-01-15 2003-07-30 Millennium Inorganic Chemicals, Inc. Computer-implemented system and method for measuring and improving manufacturing processes and maximizing product research and development speed and efficiency
US7290048B1 (en) * 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
US7085771B2 (en) * 2002-05-17 2006-08-01 Verity, Inc System and method for automatically discovering a hierarchy of concepts from a corpus of documents
WO2004021207A1 (en) * 2002-08-29 2004-03-11 Telegea Systems and methods for improving service delivery
AU2003270828A1 (en) * 2002-09-18 2004-04-08 Netezza Corporation Asymmetric data streaming architecture having autonomous and asynchronous job processing unit
US6768995B2 (en) * 2002-09-30 2004-07-27 Adaytum, Inc. Real-time aggregation of data within an enterprise planning environment
US20040169654A1 (en) * 2003-02-27 2004-09-02 Teracruz, Inc. System and method for tree map visualization for database performance data
US6961733B2 (en) * 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
JP2004295674A (ja) * 2003-03-27 2004-10-21 Fujitsu Ltd Xml文書解析方法、xml文書検索方法、xml文書解析プログラム、xml文書検索プログラムおよびxml文書検索装置
WO2004086760A1 (ja) * 2003-03-27 2004-10-07 Matsushita Electric Industrial Co., Ltd. データ処理装置
ES2564802T3 (es) * 2003-03-28 2016-03-29 Thomson Licensing Sistema y método para transmitir archivos basados en medios
US20050091494A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for providing an external trusted agent for one or more computer systems
US7587685B2 (en) * 2004-02-17 2009-09-08 Wallace James H Data exploration system
US7376642B2 (en) * 2004-03-30 2008-05-20 Microsoft Corporation Integrated full text search system and method
US20050251527A1 (en) * 2004-05-07 2005-11-10 Mark Phillips System and method for integrating disparate data and application sources using a web services orchestration platform with business process execution language (BPEL)
US8352423B2 (en) * 2004-05-07 2013-01-08 Inceptia Llc Apparatus and method for providing streaming data
US7565661B2 (en) * 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services

Also Published As

Publication number Publication date
US20060100845A1 (en) 2006-05-11
EP1820098A2 (en) 2007-08-22
WO2006052879A2 (en) 2006-05-18
EP1820098A4 (en) 2009-10-28
CA2585712A1 (en) 2006-05-18
WO2006052879A3 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
CN107533453B (zh) 用于生成数据可视化应用的系统和方法
US8359571B2 (en) Computer method and apparatus for activity-based version selection in a configuration management system
Buckner et al. JRipples: A tool for program comprehension during incremental change
US8930262B1 (en) Systems and methods of assisted strategy design
Plasmeijer et al. Task-oriented programming in a pure functional language
Brad et al. Enhancing SWOT analysis with TRIZ-based tools to integrate systematic innovation in early task design
Xiong et al. Evolutionary multi-objective resource allocation and scheduling in the Chinese navigation satellite system project
JP2004507838A (ja) 情報システムのモデルベースのアーキテクチャを設計する自動システムおよび方法
WO2017159638A1 (ja) 能力付与データ生成装置
CN114282752A (zh) 流程任务的生成方法、装置、电子设备及存储介质
JP2021168128A (ja) 人材需要予測方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
Vasilecas et al. Analysis of using resources in business process modeling and simulation
Marzouk et al. Assessing design process in engineering consultancy firms using lean principles
JP2008524669A (ja) Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション
Lerchner et al. An open S-BPM runtime environment based on abstract state machines
CN110222032A (zh) 一种基于软件数据分析的通用事件模型
US20210271925A1 (en) Contact Center Call Volume Prediction
EP1959382A1 (en) Organisation representational system
Gudmundsdottir et al. A demonstration of interactive analysis of performance measurements with viska
CA3119490A1 (en) Contact center call volume prediction
Saito ProcessCity: Visualizing Business Processes as City Metaphor
KR20190143595A (ko) 동시병행 일정 최적화 방법 및 시스템
JP6196265B2 (ja) プログラム、情報処理装置及び制御方法
JP2019091130A (ja) 質問提示制御プログラム、検索方法、および検索装置
KR102212586B1 (ko) 정량지표의 변환을 위한 절차 및 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090203