(57)【特許請求の範囲】
【請求項１】
向上したイベント処理のためのコンピューターが実施する方法であって、
向上したイベント処理のリクエストを受けるステップであって、前記向上したイベント処理のリクエストは、データベースデータのソースからの入力データの指示を含む、ステップと、
構築されたデータストリームのソースを使用して、入力データの前記指示における前記入力データにアクセスするステップであって、前記構築されたデータストリームのソースは、前記データベースデータのソースのデータベースデータの経時的なスナップショットのコレクションへのアクセスを提供し、前記入力データは、前記データベースデータのソースに対するデータストリームのシミュレーションプロキシとして機能する前記構築されたデータストリームのソースを使用してアクセスされ、前記構築されたデータストリームは、スナップショットの前記コレクションから、前記構築されたデータストリームが、該構築されたデータストリームのイベントに対応する時間を指示する時間要素を含むように構築される、ステップと、
前記構築されたデータストリームを使用してアクセスされた前記入力データに基づき、前記向上したイベント処理のリクエストに対する出力を生成するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記データベースデータのソースからの前記入力データは、前記入力データに対する時間要素と、前記データベースデータのソースがデータベースデータをリレーショナルデータベースのテーブルにおいて維持するという点で関連しない、方法。
【請求項３】
請求項１に記載の方法であって、前記向上したイベント処理のリクエストにおける前記入力データは、前記構築されたデータストリームを介してアクセスされる、スナップショットの前記コレクションにおける選択されたスナップショットにおける選択された値及び選択された時間に対応する、方法。
【請求項４】
請求項１に記載の方法であって、前記構築されたデータストリームの前記時間要素は、前記構築されたデータストリームのイベントが起きる時間から求められ、前記イベントのスナップショットの一部として前記データベースデータにおいて記憶される、方法。
【請求項５】
請求項１に記載の方法であって、前記構築されたデータストリームは、経時変化する前記データベースデータを使用して反復可能な計算を提供し、前記構築されたデータストリームは、選択された値及び選択された時間の関数としてアクセスされる、方法。
【請求項６】
請求項１に記載の方法であって、前記向上したイベント処理のリクエストは、別のデータストリームからの入力データの第２の指示を更に含む、方法。
【請求項７】
請求項６に記載の方法であって、
前記構築されたデータストリームの第１の時間要素を前記別のデータストリームの第２の時間要素と相関させるステップと、
前記向上したイベント処理のリクエストに対する出力を、前記構築されたデータストリームの前記入力データ及び前記別のデータストリームの前記入力データに基づき生成するステップと
を更に含む方法。
【請求項８】
請求項１に記載の方法であって、前記出力は、妥当性時間要素と関連し、前記妥当性時間要素は、前記構築されたデータストリームに基づく前記出力が前記データベースデータにおけるデータを正確に反映した時間を指示する、方法。
【請求項９】
１つまたは複数のプロセッサーに、向上したイベント処理のための方法を実施させるコンピュータープログラムであって、前記方法は、
データベースデータのソースを識別するステップと、
前記データベースデータのソースのデータベースデータの少なくとも一部を、前記データベースデータの１つまたは複数のスナップショットを生成するためにサンプリングするステップと、
構築されたデータストリームを、前記データベースデータの前記１つまたは複数のスナップショットに基づき生成するステップであって、前記構築されたデータストリームは時間要素に関連する、ステップと、
前記構築されたデータストリームへの、向上したイベント処理のリクエストに基づくアクセスを提供するステップであって、前記向上したイベント処理のリクエストは、前記構築されたデータストリームを使用してアクセス可能な、前記データベースデータのソースのデータベースにおける入力データの指示に関連する、ステップと
を含む、コンピュータープログラム。
【請求項１０】
請求項９に記載のコンピュータープログラムであって、前記データベースデータをサンプリングするステップは定期的なサンプリングメカニズムに基づき、前記定期的なサンプリングメカニズムは、１つまたは複数のスナップショットを、所定の時間間隔に基づき生成する、コンピュータープログラム。
【請求項１１】
請求項９に記載のコンピュータープログラムであって、前記データベースデータをサンプリングするステップは差分サンプリングメカニズムに基づき、前記差分サンプリングメカニズムは、前記データベースデータに対する変更のみ含む１つまたは複数のスナップショットを生成する、コンピュータープログラム。
【請求項１２】
請求項９に記載のコンピュータープログラムであって、前記データベースデータをサンプリングするステップは通知メカニズムに基づき、前記通知メカニズムは、前記データベースデータに対する変更の指示のときにスナップショットが生成されるように、前記データベースデータに対する変更が生じたときを指示する、コンピュータープログラム。
【請求項１３】
請求項１２に記載のコンピュータープログラムであって、前記通知メカニズムは計量機構を更に含み、前記計量機構は、サンプリングを実行するための通知をトリガする前の、変更の所定数を決定するかまたは所定期間を決定する、コンピュータープログラム。
【請求項１４】
請求項１２に記載のコンピュータープログラムであって、前記通知メカニズムは管理時間要素に基づき、前記管理時間要素は、前記データベースデータの操作ベースの機能性に関連し、前記管理時間要素は、前記データベースに記録されない、コンピュータープログラム。
【請求項１５】
請求項１４に記載のコンピュータープログラムであって、前記管理時間要素は、スナップショットに関連する時間を指示し、前記スナップショットは、前記構築されたデータストリームを、前記管理時間要素を用いて生成するために使用される、コンピュータープログラム。
【請求項１６】
向上したイベント処理を実施するためのコンピューターシステムであって、
データベースデータへのアクセスを提供するように構成されたデータベースデータのソースの構成要素と、
構築されたデータストリームのソースの構成要素であって、
データベースデータのソースを識別し、
前記データベースデータのソースのデータベースデータの少なくとも一部を、前記データベースデータの１つまたは複数のスナップショットを生成するためにサンプリングすし、
構築されたデータストリームを、前記データベースデータの前記１つまたは複数のスナップショットに基づき生成し、前記構築されたデータストリームは、時間要素に関連し、
前記構築されたデータストリームへの、向上したイベント処理のリクエストに基づくアクセスを提供し、前記向上したイベント処理のリクエストは、前記構築されたデータストリームを使用してアクセス可能な、前記データベースデータのソースのデータベースにおける入力データの少なくとも指示に関連する
ように構成された構築されたデータストリームのソースの構成要素と、
別のデータストリームへのアクセスを提供する別のデータストリームのソースの構成要素と、
向上したイベント処理のサーバーであって、
前記向上したイベント処理のリクエストを受け、前記向上したイベント処理のリクエストは、前記データベースデータのソースからの入力データの第１の指示と、前記別のデータストリームのソースからの入力データの第２の指示とを含み、
入力データの前記第１の指示における前記入力データに、前記構築されたデータストリームのソースを使用してアクセスし、前記構築されたデータストリームのソースは、前記データベースデータのソースのデータベースデータの、経時的なスナップショットのコレクションへのアクセスを提供し、前記入力データは、第１の時間要素を含む前記構築されたデータストリームを使用してアクセスされ、
入力データの前記第２の指示における入力データに、前記別のデータストリームのソースを使用してアクセスし、
前記構築されたデータストリームの前記第１の時間要素を、前記別のデータストリームの第２の時間要素と相関させ、
前記向上したイベント処理のリクエストに対する出力を、前記構築されたデータストリームの前記入力データと、前記別のデータストリームの前記入力データとに基づき生成する
ように構成された向上したイベント処理のサーバーと
を含むコンピューターシステム。
【請求項１７】
請求項１６に記載のコンピューターシステムであって、前記向上したイベント処理のサーバーはロジックモジュールを含み、前記ロジックモジュールは、
出力を前記向上したイベント処理のリクエストに基づき生成するためのロジックを識別し、前記ロジックは、
最新のスナップショットロジックと、
補間ロジックと
のうちの少なくとも１つから選択され、
前記ロジックを、前記出力が前記ロジックに基づき生成されるように提供し、前記ロジックは、前記構築されたデータストリームと下位互換である
ように構成された、コンピューターシステム。
【請求項１８】
請求項１６に記載のコンピューターシステムであって、前記向上したイベント処理のサーバーは操作モジュールを含み、前記操作モジュールは、
前記向上したイベント処理のリクエストを、データベースにおける入力データの指示と共に受け、前記入力データは、時間要素に関連せず、
前記入力データに、構築されたデータストリームを使用してアクセスし、前記構築されたデータストリームは、時間要素と関連した前記入力データを含む
ように構成された、コンピューターシステム。
【請求項１９】
請求項１６に記載のコンピューターシステムであって、前記向上したイベント処理のサーバーは妥当性時間モジュールを含み、前記妥当性時間モジュールは、
妥当性時間要素を提供し、前記妥当性時間要素は、前記構築されたデータストリームに基づく前記出力が前記データベースデータにおけるデータを正確に反映した時間を指示する
ように構成された、コンピューターシステム。
【請求項２０】
請求項１９に記載のコンピューターシステムであって、前記妥当性時間要素は、向上したイベント処理のリクエストの処理を進めるように加速される、コンピューターシステム。
【請求項２１】
請求項９から１５のうちの何れか一項に記載のコンピュータープログラムを記憶した１つまたは複数のコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]イベント処理は、情報のストリームを追跡して分析し、その情報から結論を導き出すことを言う。
【背景技術】
【０００２】
情報のストリームは、具体的にイベントについてのものである場合もある。また、イベント処理は、複数のデータソースからのデータを互いに組み合わせて、より複雑な状況を示唆するイベントまたはパターンを推論するイベント処理を含む。そのように、イベント処理によって、有意味なイベントを識別し、できるだけ迅速にそれらイベントに応じることを促進することができる。
【発明の概要】
【０００３】
[0002]この要約は、以下において詳細な記述でさらに述べる概念の選択を簡単化された形態で紹介するために設けられている。この要約は、主張する主題のキー特徴または基本的な特徴を識別するように意図されず、また主張する主題の範囲を決定する助けとして分離して使用されることも意図されない。
【０００４】
本明細書に述べる実施形態は、向上したイベント処理のための方法、システムおよびコンピューター記憶媒体を対象とする。向上したイベント処理のリクエストを受け取り得、向上した処理のリクエストは、出力データを導き出すために使用されるデータベースデータのソースからの入力データの指標を含む。向上したイベント処理のリクエストに示された入力データは、データベースデータのソースではなく、構築されたデータストリームのソースを使用してアクセスされる。構築されたデータストリームデータのソースは、データベースデータのソースのデータベースデータの経時的なスナップショットのコレクションへのアクセスを提供する。構築されたデータストリームのソースからのデータは、選択された値および選択された時間の関数としてアクセスし得る。構築されたデータストリームデータは、時間要素を含む。構築されたデータストリームデータは、時間要素を含み、それは、データベースデータで利用できず、時間要素によって、構築されたデータストリームデータを使用して、データベースデータのための向上したイベント処理の実施が促進される。向上したイベント処理のリクエストに対する出力が、構築されたデータストリームデータを使用してアクセスされる入力データに基づき生成される。
【０００５】
向上したイベント処理は、データストリームのソースと構築されたデータストリームのソースを組み合わせるステップをさらに含んでもよく、構築されたデータストリームのソースは、データベースデータのソースのためのプロキシとして働く。向上したイベント処理のリクエストは、データベースデータのソースからの入力データの第１の指標とデータストリームのソースからの入力の第２の指標との両方を含むことができる。この点で、入力データの第１の指標で示された入力データが、構築されたデータストリームのソースを介してアクセスすることができ、第２の指標で示された入力データが、データストリームのソースを介してアクセスすることができる。入力データは、構築されたデータストリームの第１の時間要素およびデータストリームの第２の時間要素を使用して互いに組み合わせて相関させ、向上したイベント処理のリクエストに対して導き出される出力を生成する。実施形態では、妥当性時間メカニズムが、向上したイベント処理のリクエストに対する矛盾しない出力を示すためのルーチンおよびプロシージャーを提供する。具体的には、妥当性時間要素は、１つまたは複数のデータソースに基づく出力が、その時間におけるデータソース中のそのデータを正確に反映している時間を示す。
【０００６】
[0003]以下で本発明について添付図面を参照して詳細に述べる。
【図面の簡単な説明】
【０００７】
【図１】[0004]本明細書に述べる実施形態を実施する上で使用するのに適切な例示的な計算環境のブロック図である。
【図２】[0005]本明細書に述べる実施形態が用いられることが可能な例示的な動作環境のブロック図である。
【図３】[0006]本明細書に述べる実施形態による、向上したイベント処理を実施するための例示的な方法を示すフロー図である。
【図４】[0007]本明細書に述べる実施形態による、向上したイベント処理を実施するための例示的な方法を示すフロー図である。
【図５】[0008]本明細書に述べる実施形態による、向上したイベント処理を実施するための例示的な方法を示すフロー図である。
【発明を実施するための形態】
【０００８】
[0009]本発明の実施形態の主題は、法定要件を満たすように、本明細書で具体的に述べる。しかし、記述自体は、本特許の範囲を限定する意図はない。むしろ、発明者等は、主張する主題が、他の現在または将来の技術と連動して、異なるステップ、または本文書に述べるステップと同様のステップの組み合わせを含む他の方法でも具現化できる可能性があるはずであると予期している。さらにまた、用いる方法の異なる要素を含意するために、本明細書では用語「ステップ」および／または「ブロック」を使用することがあるが、用語は、本明細書に述べる個々のステップの順序が明白に述べられていない限り、および明白に述べられているときを除き、様々なステップの間でいずれかの特定の順序を暗示するものとして解釈すべきでない。
【０００９】
[0010]本開示のために、言葉「含む（ｉｎｃｌｕｄｉｎｇ）」は、言葉「含む（ｃｏｍｐｒｉｓｉｎｇ）」と同じ広い意味を持つ。さらに、「１つ（ａ）」および「１つ（ａｎ）」などの言葉は、それと反対に規定されていない限り、複数形、さらにまた単数形を含む。それゆえ、たとえば、１つまたは複数の特徴が存在するところでは、「１つの特徴」の要求が満たされている。また、用語「または（ｏｒ）」は、接続、分離およびその両方を含む（それゆえ、ａまたはｂは、ａまたはｂのどちらか、ａおよびｂ、の両方を含む）。
【００１０】
[0011]以下の詳細な議論のために、実施形態は、データセンター中にインラックハードウェアのインベントリーをセットアップすること、および例として、ブートストラッピングの前にハードウェアのインベントリーをセットアップすることを参照して述べる。しかし、セットアップするワークフローは、様々な異なるタイプのハードウェアサービスのために、新しいインラックハードウェアのインベントリーをセットアップするために使用されることがあり、データセンターのブートストラッピングは、単なる例示的なものである。述べる技法は、他の実装形態の文脈に拡張できる可能性があると考えられる。
【００１１】
[0012]イベント処理は、情報のストリームを追跡して分析し、それらの情報から結論を導き出すことを言う。情報のストリームは、具体的にイベントについてのものである場合もある。また、イベント処理は、複数のデータソースからのデータを互いに組み合わせて、より複雑な状況を示唆するイベントまたはパターンを推論するというイベント処理を含む。そのように、イベント処理によって、有意味なイベント（たとえば好機や脅威）を識別し、できるだけ迅速にそれらイベントに応じることを容易にすることができる。イベントは、一般に、セールスリード、注文または顧客のサービス依頼の電話、新しいアイテム、テキストのメッセージ、ソーシャルメディアの投稿、株式市場フィード、トラフィックレポート、天気予報、モノのインターネットのデータ、または他の種類のデータを含み得る。
【００１２】
[0013]イベント処理データソースは、データストリームおよびデータベース中のデジタル化データを含むことができる。例示的なシナリオでは、データストリームの処理は、識別された基準に基づき、イベントをフィルタで除去する、または集約するステップを含むことができる。他のタイプの処理を、異なるイベントに基づき実施することができる。また、イベント処理は、異なるデータストリームのソースからの複数の受信データのセットを分析するステップに基づくこともできる。
【００１３】
[0014]また、イベント処理データソースは、データベースとしてもよい。データベースは、データの系統的なコレクションである。データは、通常、処理要求をサポートするような形で現実の諸状況をモデル化するように系統化される。たとえば、誰が顧客であり、顧客がどこに住んでいるのか（たとえば顧客名、顧客住所）を知るのをサポートするように顧客トランザクションがモデル化される。データベース管理システムは、ユーザーと情報をやり取りするソフトウェアアプリケーションと、データをファイルに保存し、分析するための他のアプリケーションとの中にデータベーステーブル（たとえば、リレーショナルデータベーステーブル）を維持する。
【００１４】
[0015]データベースデータは、具体的に、関連した、または分類されたグローバルデータのセットを含む基準データを含んでもよい。基準データは、データベーステーブル中に格納されるイベントと関連付けられるデータとしてもよい。基準データは、信頼できるパブリックドメインにおいて、またはプレミア商用コンテンツプロバイダーから入手することができる。また、基準データは、他のデータフィールドによって使用される許容値のセットを含むことができる。
【００１５】
[0016]データベーステーブルとの情報のやり取りは、データベーステーブルと本質的に関連するロジックを利用する宣言型フレームワークを使用して実施することができる。宣言型フレームワークは、制御フロー（すなわち個々のステートメント、命令または関数の呼び出しが実行される順番）の記述を最小にできる可能性がある。この点で、データベーステーブルとの情報のやり取りは、単にどのデータがデータベーステーブルから必要であるのかを示し、テーブルからのデータの獲得にどのように取り掛かるのかは示さないことによって容易にすることができる可能性がある。例として、リレーショナルデータベース中に保持されたデータを管理するために、ＳＱＬ（構造化クエリー言語（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ））を使用してもよい。
【００１６】
[0017]基準データを含むデータベースデータは、ストリームイベントをモデル化しない。たとえば、データベースデータは、時間データ（たとえば、時間などの時間要素）として構成されず、それゆえデータストリームのイベントの時間要素に依存するデータストリーム操作は、データベースデータに基づいては実施することができない。そのように、データベースデータ、またはデータベースデータとデータストリームデータの組み合わせに基づくイベント処理操作は、データベースデータのソースのみと関連する、またはデータストリームのソースと組み合わせた、向上したイベント処理のリクエストのための異なるフレームワークを有利に利用することができる。データベースデータ、データストリームおよびその組み合わせの向上したイベント処理を定義するフレームワークがないと、データストリームに基づき実施することができる操作は、データベースデータに基づき実施することができない、それゆえ、これら２つのデータソースからイベントおよびパターンを推論するための能力が限定される。
【００１７】
[0018]代替の解決策は、データベース中へのデータ入力に関するタイムスタンプを積極的に追跡するステップを含んでもよい。たとえば、データベース中への各データ入力に関する開始時間および終了時間である。しかし、そのような実装形態は、通常、格納することが必要な追加されるデータ量のために非常に高費用になり、ひいてはリレーショナルデータベースの効率を低下させる。さらに、代替解決策は、簡単なターンキー方式の解決策でなく、下位互換性を欠いている。というのは、データがデータベーステーブル中に取り込まれた状態では、データベースデータを使用するイベント処理のためのロジックが、データベースデータとともに働くようには構成されないからである。時々、データベーステーブルは、データベースデータを用いてイベント処理を実施するために、完全に移植する必要がある場合がある。
【００１８】
[0019]したがって、本発明の実施形態は、構築されたデータストリームのソースに基づく、向上したイベント処理のための簡単で効率の良い方法およびシステムを提供する。向上したイベント処理のリクエストは、出力データを導き出すために、生成して伝達できる可能性がある。向上したイベント処理のリクエストは、データベースデータのソースからアクセスされるべき入力データを示す。向上したイベント処理は、構築されたデータストリームのソースを使用して入力データへのアクセスを提供する。構築されたデータストリームのソースは、構築されたデータストリームのソースからのデータに選択された値および選択された時間の関数としてアクセスすることができるように、経時的に取られるデータベースデータのスナップショットのコレクションへのアクセスを提供する。
【００１９】
[0020]入力データは、時間要素を有する構築されたデータストリームとしてアクセスされる。構築されたデータストリームデータは、時間要素を含み、時間要素は、データベースデータのソースでは入手できず、時間要素によって、構築されたデータストリームを使用したデータベースデータに対する向上したイベント処理の実施が促進される。そのように、データベースデータを使用して実施することができないはずであるデータストリーム操作が、その代わりに構築されたデータストリームデータを使用すると実施することができる。向上したイベント処理のリクエストに対する出力が、構築されたデータストリームデータに基づき生成される。構築されたデータストリームは、選択された値および選択された時間に基づきルックアップリクエストを実施するために使用することができる。この点で、構築されたデータストリームは、クエリーに基づきデータベースデータを取り出すために使用することができる。
【００２０】
[0021]向上したイベント処理は、少なくとも１つのデータストリームのソースと少なくとも１つの構築されたデータストリームのソースを組み合わせるステップをさらに含んでもよく、少なくとも１つの構築されたデータストリームのソースは、データベースデータのソースのためのプロキシとして働く。この点で、向上したイベント処理のリクエストは、データベースデータのソースからの入力データ（たとえば基準データ）の第１の指標とデータストリームのソースからの入力データ（たとえばイベントデータ）の第２の指標の両方を含むことができる。入力データの第１の指標で示された入力データは、構築されたデータストリームのソースを介してアクセスすることができ、第２の指標で示された入力データは、データストリームのソースを介してアクセスすることができる。入力データは、構築されたデータストリームデータの第１の時間要素およびデータストリームデータの第２の時間要素を使用して互いに組み合わせられて相関付けられ、それによって向上したイベント処理のリクエストに対する、導き出された出力が生成される。データストリームと構築されたデータストリームは、イベント処理操作を実施する上でより容易に相関させることができる。
【００２１】
[0022]構築されたデータストリームを用いるイベント処理は、再現性を保証するように構成される。再現性または繰り返し可能な計算は、同じデータソースを用いて、その後でイベント処理分析を再実行し、同じ結果が生成されることを言う。たとえば、第１の時間に生のデータストリームに基づき実行されたクエリーが、第１の時間の後の第２の時間に実行されたとき、全く同じ結果が生成される。構築されたデータストリームおよびデータストリームを用いると、たとえ構築されたデータストリームがそれから生成されるデータベースデータが変更されたとしても、両方のストリームからの入力データを組み合わせるクエリーが、同じ結果を生成する。動作時には、時間要素（たとえばアプリケーション時間）が、データベースデータと一致するように識別されて、構築されたデータストリームが生成される。構築されたデータストリームは、時間要素を有する構築されたデータストリームが、入力されたクエリーを実行するために、アクセスすることができるように、データベースデータのサンプリングされたスナップショットを含む。再現性があると、イベント処理は、同じ入力データに対して実行されるクエリーの間で比較するステップを含むことができる。クエリーは、クエリーの性質を評価して最適化し、向上したクエリーを生成するためにクエリーの代替バージョンを構築し、クエリーの変形の間で結果を比較し、またはより多くの情報を得るためにクエリーの代替バージョンをランさせるために、互いに比較してもよい。
【００２２】
[0023]向上したイベント処理のフレームワーク（「向上したフレームワーク」）が、構築されたデータストリーム、追加のモジュール／構成要素およびメカニズム（たとえばルーチンおよびプロシージャー）をさらに含み、それらは、構築されたデータストリームとしてのデータストリームおよびデータベースデータに基づきイベント処理を実施するためのサポートシステムを形成する。実施形態では、妥当性時間メカニズムが、向上したイベント処理のリクエストに対して矛盾しない出力を示すためのルーチンおよびプロシージャーをもたらす。具体的には、妥当性時間要素は、１つまたは複数のデータソースに基づく出力がその時間におけるデータソース中のそのデータを正確に反映している時間を示す。この点で、本明細書に述べる実施形態は、時間状態クエリーの妥当性および性能を維持しながら、履歴クエリーを有利に可能にすることができる。
【００２３】
[0024]様々な用語が本記述全体を通じて使用される。様々な用語に関するより多くの詳細が本記述全体を通じて提示されているが、いくつかの用語の一般的な定義は、本明細書に開示するアイデアのより明確な理解をもたらすために以下に含まれている。
【００２４】
[0025]向上したイベント処理のリクエストは、時間要素と関連付けられていないが、その代わりに時間要素を有する構築されたデータストリームを使用してアクセスされる、少なくともデータベースデータを含む１つまたは複数の入力を有するリクエストを言う。また、向上したイベント処理は、出力を生成するために互いに組み合わせられるデータベースデータとデータストリームの両方に対する入力を含んでもよい。
【００２５】
[0026]データベースデータは、データの系統的なコレクションを言う。データベースデータは、具体的に、関連付けられた、または分類されたグローバルデータのセットを含む基準データを含んでもよい。データベースデータは、データベース中のデータと関連する時間要素を有さないことがある。時間要素は、本明細書で使用するとき、データベーステーブル中への入力と関連するイベントが生じたときの特定の時間を言うことがある。
【００２６】
[0027]データストリームは、データストリーム中のデジタル化データを言う。イベント処理は、異なるデータストリームのソースからの複数の受信データのセットを分析することに基づくことができる。そのように、イベント処理によって、有意味なイベント（たとえば好機や脅威）を識別し、できるだけ迅速にそれらイベントに応じることを促進することができる。イベントは、一般に、セールスリード、注文または顧客のサービス依頼の電話、新しいアイテム、テキストのメッセージ、ソーシャルメディアの投稿、株式市場のフィード、トラフィックレポート、天気予報、モノのインターネットのデータ、または他の種類のデータを含み得る。
【００２７】
[0028]構築されたデータストリームは、経時的なスナップショットのコレクションとしてデータベースデータから生成されるデータを言う。構築されたデータストリームは、構築されたデータストリームのソースが選択された値および選択された時間の関数としてアクセスされ得るように、時間要素と関連付けられる。構築されたデータストリームは、時間要素を備えるデータストリームとしてアクセスすることができ、また、クエリーに基づき、構築されたデータストリームからデータを取り出すルックアップメカニズムを使用してアクセスすることができる。
【００２８】
[0029]時間要素は、イベントが生じたときの特定の時間を指す。時間要素は、時間要素が保存されないデータベースに入力されたイベントと関連付けてもよい。時間要素は、データストリームイベントと関連付けてもよい。また、時間要素は、イベントが生じてデータベースデータのスナップショットの一部として保存されたとき、それから導き出される構築されたデータストリームイベントと関連付けてもよい。また、構築されたデータストリームは、構築されたデータストリームが、以下でより詳細に述べるように、双方向時間的結合をサポートするように、複数の時間要素と関連付けてもよい。
【００２９】
[0030]したがって、本明細書に述べる第１の実施形態では、向上したイベント処理のためのコンピューターによる実施方法が提示される。この方法は、向上したイベント処理のリクエストを受け取るステップを含む。向上したイベント処理のリクエストは、データベースデータのソースからの入力データの指標を含む。方法は、構築されたデータストリームのソースを使用して入力データの指標で示された入力データをアクセスするステップをさらに含み、構築されたデータストリームのソースは、経時的なスナップショットのコレクションへのアクセスを提供する。入力データは、時間要素を含む構築されたデータストリームのソースを使用してアクセスされる。また、方法は、構築されたデータストリームを使用してアクセスされる入力データに基づき、向上したイベント処理のリクエストに対する出力を生成するステップを含む。
【００３０】
[0031]本明細書に述べる第２の実施形態では、１つまたは複数のコンピューティングデバイスによって使用されたとき、その１つまたは複数のコンピューティングデバイスに向上したイベント処理プロセスのための方法を実施させるコンピューター使用可能命令を格納する、１つまたは複数のコンピューター記憶媒体が提供される。その方法は、データベースデータのソースを識別するステップを含む。方法は、データベースデータのソースのデータベースデータの少なくとも一部をサンプリングして、データベースデータの１つまたは複数のスナップショットを生成するステップをさらに含む。また、方法は、データベースデータの１つまたは複数のスナップショットに基づき、構築されたデータストリームを生成するステップを含む。構築されたデータストリームは、時間要素と関連付けられる。方法は、向上したイベント処理のリクエストに基づき、構築されたデータストリームへのアクセスを提供するステップをさらに含み、向上したイベント処理のリクエストは、構築されたデータストリームを使用してアクセス可能なデータベースデータのソースのデータベース中の入力データの指標と関連付けられる。
【００３１】
[0032]本明細書に述べる第３の実施形態では、向上したイベント処理を実施するためのコンピューターシステムが提供される。このシステムは、データベースデータへのアクセスを提供するように構成されたデータベースデータのソース構成要素を含む。システムは、データベースデータのソースを識別し、データベースデータのソースのデータベースデータの少なくとも一部をサンプリングして、データベースデータの１つまたは複数のスナップショットを生成し、データベースデータの１つまたは複数のスナップショットに基づき、構築されたデータストリームを生成し、構築されたデータストリームは時間要素と関連付けられ、かつ向上したイベント処理のリクエストに基づき、構築されたデータストリームへのアクセスを提供するように構成される構築されたデータストリームのソース構成要素を含む。向上したイベント処理のリクエストは、構築されたデータストリームを使用してアクセス可能なデータベースデータのソースのデータベース中の入力データの少なくとも指標と関連付けられる。また、システムは、データストリームへのアクセスを提供するように構成されたデータストリームのソースを含む。
【００３２】
[0033]システムはイベント処理サーバーを含み、このイベント処理サーバーは、向上したイベント処理のリクエストを受け取ることであって、向上したイベント処理のリクエストは、データベースデータのソースからの入力データの指標およびデータストリームからの入力データの第２の指標を含む、こと、構築されたデータストリームのソースを使用して入力データの指標で入力データにアクセスすることであって、構築されたデータストリームのソースは、データベースデータのソースのデータベースデータの経時的なスナップショットのコレクションへのアクセスを提供し、入力データは、第１の時間要素を含む構築されたデータストリームを使用してアクセスされる、こと、データストリームのソースを使用して入力データの第２の指標で入力データにアクセスし、構築されたデータストリームの第１の時間要素をデータストリームの第２の時間要素と相関させること、および、構築されたデータストリームの入力データおよびデータストリームの入力データに基づき、向上したイベント処理のリクエストに対する出力を生成することのために構成される。
【００３３】
[0034]本発明の実施形態の要旨を簡単に述べてきたが、本発明の様々な態様に関する全体的な状況を提示するために、本発明の実施形態が実施されることが可能な例示的な動作環境を以下に述べる。具体的に図１を最初に参照すると、本発明の実施形態を実施するための例示的な動作環境が示されており、全体がコンピューティングデバイス１００として示されている。コンピューティングデバイス１００は、適切な計算環境の一例に過ぎず、本発明の使用または機能性の範囲について、いかなる限定も示唆する意図はない。コンピューティングデバイス１００は、例示された構成要素のいずれか１つ、またはその組み合わせに関して何らかの依存性または必要性も有していると解釈すべきでない。
【００３４】
[0035]本発明は、プログラムモジュールなどのコンピューター実行可能命令を含み、パーソナルデータアシスタントまたは他の携帯端末などのコンピューターまたは他のマシンによって実行されるコンピューターコードまたはマシン使用可能命令の全体的な文脈で述べる。全体的に、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含むプログラムモジュールは、特定のタスクを実施する、または特定の抽象データ型を実装するコードを言う。本発明は、携帯端末、家庭用電化製品、汎用コンピューター、より専門的なコンピューティングデバイスなどを含む様々なシステム構成で実施される可能性がある。また、本発明は、タスクが通信ネットワークを通じてリンクされる遠隔処理装置によって実施される分散型の計算環境中で実施される可能性がある。
【００３５】
[0036]図１を参照すると、コンピューティングデバイス１００は、次の装置を直接または間接的に結合するバス１１０を含み、その装置は、メモリー１１２、１つまたは複数のプロセッサー１１４、１つまたは複数のプレゼンテーション構成要素１１６、入力／出力ポート１１８、入力／出力構成要素１２０、および例示の電源１２２である。バス１１０は、１つまたは複数のバス（アドレスバス、データバスまたはその組み合わせなど）である可能性のものを表す。図１の様々なブロックは、明確にするために、線を用いて示されているが、実際には、様々な構成要素の境界を示すことはそれほど明瞭ではなく、比喩的に言えば、線は、より正確にはグレーであいまいなものになるはずである。たとえば、表示装置などのプレゼンテーション構成要素は、Ｉ／Ｏ構成要素であると考えられることがある。また、プロセッサーは、メモリーを有する。そのようなことは、この技術の性質であると認識され、図１の略図は、本発明の１つまたは複数の実施形態と関係して使用することができる例示的なコンピューティングデバイスを単に例示すると繰り返される。「ワークステーション」、「サーバー」、「ラップトップ」、「携帯端末」などのようなカテゴリーは区別されない。というのは、すべてが図１の範囲内に在り、「コンピューティングデバイス」を言うと考えられるからである。
【００３６】
[0037]コンピューティングデバイス１００は、通常、様々なコンピューター可読媒体を含む。コンピューター可読媒体は、コンピューティングデバイス１００がアクセスすることができる、いずれもの利用できる媒体とすることができ、揮発性および不揮発性の媒体と、取り外し可能なおよび取り外しできない媒体の両方を含む。例としてだけで、限定することなく、コンピューター可読媒体は、コンピューター記憶媒体および通信媒体を含んでもよい。
【００３７】
[0038]コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するためのいずれかの方法または技術で実現される揮発性および不揮発性、取り外し可能なおよび取り外しできない媒体を含む。コンピューター記憶媒体は、ただしこれらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を格納するために使用することができ、コンピューティングデバイス１００がアクセスすることができる他のいずれかの媒体を含む。コンピューター記憶媒体は、本質的に信号を考慮しない。
【００３８】
[0039]通信媒体は、通常、搬送波または他の移送メカニズムなどの変調されたデータ信号の形で、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータを具現化し、いずれかの情報配信媒体を含む。用語「変調されたデータ信号」は、信号中に情報をコード化するように設定された、または変化させた信号の特性の１つまたは複数を有する信号を言う。例としてだけで、限定せずに、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、および音響、ＲＦ、赤外線などの無線媒体、および他の無線媒体を含む。また、上記事項のいずれかの組み合わせは、コンピューター可読媒体の範囲内に含めるべきである。
【００３９】
[0040]メモリー１１２は、揮発性および／または不揮発性メモリーの形態でコンピューター記憶媒体を含む。メモリーは、取り外し可能、取り外しできない、またはその組み合わせであってもよい、例示的なハードウェア装置は、半導体メモリー、ハードドライブ、光ディスクドライブなどを含む。コンピューティングデバイス１００は、メモリー１１２またはＩ／Ｏ構成要素１２０などの様々な実在物からデータを読む、１つまたは複数のプロセッサーを含む。プレゼンテーション構成要素（複数可）１１６は、データ表示をユーザーまたは他の装置に与える。例示的なプレゼンテーション構成要素は、表示装置、スピーカー、印刷構成要素、振動構成要素などを含む。
【００４０】
[0041]Ｉ／Ｏポート１１８によって、コンピューティングデバイス１００が、Ｉ／Ｏ構成要素１２０を含む他の装置に論理的に結合されることが可能になり、それら装置のいくつかは、組み込んでもよい。例示の構成要素は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナー、プリンター、無線装置などを含む。
【００４１】
[0042]ここで図２を見ると、本明細書に述べる実施形態を実施する上で使用するのに適切な例示的な向上したイベント処理システム２００を描くブロック図が示されている。全体的に、システム２００は、とりわけ向上したイベント処理を実施するために使用できる可能性がある動作環境を例示する。向上したイベント処理は、少なくともデータベースデータのソースからの入力データを示すイベント処理のリクエストと関連付けてもよい。
【００４２】
[0043]図示しない構成要素のなかでも、システム２００は、一般的に、データベースデータのソース構成要素２２０、構築されたデータストリームのソース構成要素２３０、データストリームのソース構成要素２４０、コンピューティングデバイス２５０および向上したイベント処理サーバー２６０を含んでもよく、すべてがネットワーク２７０を介して互いに通信状態にある。ネットワーク２１０は、限定せずに、１つまたは複数のローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）を含んでもよい。そのようなネットワーク化された環境は、オフィス、企業規模のコンピューターネットワーク、イントラネットおよびインターネットでごく一般的である。
【００４３】
[0044]いくつかの実施形態では、例示された構成要素および／またはモジュールの１つまたは複数は、独立型のアプリケーションとして実装してもよい。さらなる実施形態では、例示された構成要素および／またはモジュールの１つまたは複数は、コンピューティングデバイスを介して、インターネットベースのサービスとして、および／または向上したイベント処理サーバー２６０内のモジュールとして実装してもよい。当業者は、図２に例示された構成要素およびモジュールが、性質および数で例示的なものであり、限定するものと解釈すべきでないことを理解されるはずである。本明細書に述べる機能性を達成するために、いずれもの数の構成要素および／またはモジュールを用いてもよい。たとえば、任意の数のコンピューティングデバイス、データベースデータのソース構成要素、構築されたデータストリームのソース構成要素、データストリームのソース構成要素、コンピューティングデバイス、向上したイベント処理サーバーおよびネットワークは、この実施形態の範囲内でシステム２００中に採用してもよい。それぞれは、単一の装置／インターフェースまたは動作環境中で互いに協力する複数の装置／インターフェースを含んでもよい。たとえば、分散型環境中に配置された複数の装置および／またはモジュールは、本明細書に述べる向上したイベント処理サーバー２６０の機能性を共同でもたらしてもよい。語句「アプリケーション」または「サービス」は、本明細書で使用するとき、コンピューティングデバイスおよび／またはデータセンター中の複数のコンピューティングデバイスなどの複数のコンピューティングデバイス上でランする、またはその内の記憶場所にアクセスする、いずれかのソフトウェア、またはソフトウェアの部分を広く言うことがある。
【００４４】
[0045]本明細書に述べるこのおよび他の構成は、単に例として説明されていることを理解すべきである。他の構成および要素（たとえば、マシン、インターフェース、機能、順序、および／または機能のグループ分け）は、示されるものに加えて、またはその代わりに使用することができ、いくつかの要素を同時に省いてもよい。さらに、本明細書に述べる要素の多くは、別個の、または分散された構成要素として、または他の構成要素と関係して、およびいずれかの適切な組み合わせおよび記憶場所で実装してもよい機能的な実在物である。１つまたは複数の実在物によって果たされるような本明細書に述べる様々な機能は、ハードウェア、ファームウェアおよび／またはソフトウェアによって実施してもよい。たとえば、システム２００を参照して以下で述べる機能を含む様々な機能は、メモリーに格納された命令を実行するプロセッサーによって実施してもよい。
【００４５】
[0046]ここでシステム２００中に含まれ得る様々な構成要素を見ると、データベースデータのソース構成要素２２０は、データベースデータを格納し、データベースデータへのアクセスを提供することに関与する。データベースデータのソース構成要素は、リレーショナルデータベーステーブルを有するデータベース中にデータを格納することができる。データベースデータは、データベース中のデータと関連する時間要素を有さないことがある。時間要素は、本明細書で使用するとき、データベーステーブル中への入力に関連するイベントが生じたときの特定の時間を言うことがある。たとえば、顧客について、第１のトランザクションが、顧客の第１の住所をファイルに保存することである場合がある。顧客は、第２の時間に第２のトランザクションを実施することがあり、次いで第１の住所を顧客の新しい第２の住所に更新する場合がある。そのように、データベースは、時間要素に関係なく顧客住所を更新する。データベーステーブルは、前の入力または新しい入力と関連する時間に関係なく記録される、新しい情報に基づき経時的に変化するレコードを含む。この点で、データベースデータ構成要素に対するデータリクエスト（たとえば、クエリー）は、データが経時的に変化するので、繰り返し可能でない。繰り返し可能な計算とは、その後で同じデータのソースを用いてイベント処理分析を再実行し、同じ結果を生じることを言う。
【００４６】
[0047]さらに、データベースデータ構成要素は、時間要素を含まない操作をサポートすることができる。顧客住所情報を求めるクエリーは、クエリーが実行されたときの顧客の顧客住所情報をもたらす。特に第１のトランザクション時における、または第２のトランザクションの間の顧客住所情報を見出すための操作は、サポートされない。というのは、データベーステーブルは、トランザクションと関連する最新顧客住所情報を記録するだけであるからである。
【００４７】
[0048]例示の実施形態では、データベースデータのソース構成要素２２０は、管理時間要素をサポートするデータベースへのアクセスを提供することができる。管理時間要素は、データベースデータの操作ベースの機能性（たとえば監査、保守およびプロビジョニング）のために使用される時間要素（たとえば時間）を言う。管理時間要素を有するデータベースでは、管理時間要素は、データベーステーブル中に記録されるように意図されていない。しかし、管理時間要素は、１つまたは複数の外部構成要素にデータベースデータの変更を知らせる通知メカニズムの一部として使用してもよい。通知メカニズムは、計量機構が、データベースデータのサンプリングを実施するように通知を発するまでの変更の所定数を決定する、または所定期間を決定することができる計量機構をさらに実装してもよい。そのように、管理時間要素の意図する性質は、管理時間要素がつかの間のものであって記録されないことである可能性があるが、時間要素は、構築されたデータストリームを生成する上で使用することができる。構築されたデータストリームのソース構成要素は、データベースデータの変更の通知を受け取り、以下でより詳細に議論するように、差分スナップショットを生成するサンプリングを使用して構築されたデータストリームを生成するためのサブスクリプションメカニズムを有してもよいことが企図される。
【００４８】
[0049]データベースデータのソース構成要素２２０は、向上したイベント処理ロジックを識別する前に、イベント処理を単独で使用するか、またはデータストリームのソースと統合して使用して、データベースデータ構成要素中のデータを処理するように開発されている場合があることがさらに企図される。この点で、データベースデータのソース構成要素２２０は、向上したイベント処理のために選択されたロジックと特に関連するいずれもの特徴も有さない可能性がある。言い換えると、本明細書に述べる実施形態での向上したイベント処理ロジックは、以下でより詳細に議論するように、旧来のシステムとともに機能するように、または向上したイベント処理ロジックと無関係に開発されるデータベースと下位互換性があるように構成される。
【００４９】
[0050]構築されたデータストリームのソース構成要素２３０は、構築されたデータストリームを管理し、それへのアクセスを提供することに関与する。構築されたデータストリームは、データベースデータと関連する値および時間に基づきアクセスすることができるように生成される。この点で、構築されたデータストリームは、値および時間要素の関数である。構築されたデータストリームは、データの値および時間要素に基づき、データベースデータと関連付けられる。キーアトリビュートまたはアトリビュートのセットは、入力が、データストリーム中に構築されるデータベースデータに対して存在することを保証するために使用してもよいことが企図される。
【００５０】
[0051]構築されたデータストリームは、再現性を可能にするために、所与の期間、スナップショットを保存する。データストリームをデータベースデータと結合したとき、構築されたデータストリームのスナップショットは、データストリーム（たとえば生のデータストリーム）の時間要素（たとえばアプリケーション時間のタイムスタンプ）によって定義することができる。データベースデータは、リレーショナルテーブルを時間の概念によっては管理しないが、スナップショットを生成するためにサンプリングされるデータベースデータと関連する時間として管理時間要素（たとえば、データベースシステムのコミット時間）を用いて管理する。この点で、データベースデータのソースは、同期時間としてコミット時間を用いてスナップショッティングをサポートし、データベースデータは、イベント処理システム中のストリーム配信データソースとしてアクセスすることができる。
【００５１】
[0052]実施形態では、データベースデータのソースは、スナップショットの変更が存在しない場合でも、向上したイベント処理システム側で自動的に時間を進める時間増加方式を用いて実装してもよい。また、この方式は、さらに、データベースデータのソースからの取り出しベースの更新を推進するために使用することができる。データベースデータのソースは、初期化モード（ランダウンと同様）を可能にし得て、そのとき任意選択のタイムスタンプを設定することができる。タイムスタンプは、このモードではいずれかの特定の順序である必要がないことがある。この操作は、データベースデータがこれまで使用される前に一度だけ実施することができる。
【００５２】
[0053]構築されたデータストリームは、基準データまたはｒｅｆＤａｔａとして以下のコードで示され、構築されたデータストリームを使用する操作の実施を可能にするアプリケーションプログラミングインターフェース（ＡＰＩ）をサポートしてもよい。ＡＰＩは、ユーザーが操作を実施することができるＣＲＵＤ（作成、読み出し、更新および削除（ｃｒｅａｔｅ，  ｒｅａｄ，  ｕｐｄａｔｅ  ａｎｄ  ｄｅｌｅｔｅ））インターフェースとしてもよい。以下のコードでの例示的なシナリオが関連する可能性があり、アプリケーションサービスは、準リアルタイム分析を実施するために、様々な装置からログエラー情報を集めるように構成することができる。各装置は、装置識別子（たとえばＭａｃｈｉｎｅ＿ＩＤ）によって識別してもよい。装置識別子は、対応する装置名および詳細（たとえば、ＭａｃｈｉｎｅＮａｍｅおよびＭａｃｈｉｎｅＤｅｔａｉｌｓ）にマッピングしてもよいことが企図される。装置識別子から対応する装置名へのマッピングは、複数の装置識別子の装置名へのマッピングのデータベーステーブル中にメタデータとして格納することができる。ＡＰＩは、具体的には、キー値をテーブルに格納する、時間要素（たとえば、システム時間としてのトランザクション時間）を実装するスキーマをサポートしてもよい。以下の比較として、構築されたデータストリームの初期化には明確な時間を持つＡＰＩが使用されてよい。
【００５３】
【表１】
0006577588.tif 000002
【００５４】
[0054]時間情報は、どの特定の順序でも読み出されず、データベースデータのソースに対する時間関連情報のコールは、時間を現在のシステム時間に設定することになる通常のＡＰＩコールと混ぜることができる。
【００５５】
[0055]構築されたデータストリームのＡＰＩは、ｔ１とｔ２の間で変化が存在しないとき、時間ｔ２における値がｔ１における値になる階段関数を実装してもよい。ＡＰＩは、所与の時間の特定のキーの値を読むために使用することができる。
【００５６】
【表２】
0006577588.tif 000003
【００５７】
[0056]構築されたデータストリーム中の最後のアプリケーション時間の後で構築されたデータストリームの読み出しは禁止できることが企図される。というのは、そうすると再現不可能な結果に繋がるためである。アプリケーション時間の場合、時間の進行を強制して、アプリケーション時間を前進させるために、または初期化フェーズを閉じてシステム時間に切り替えるために、パンクチュエイションメカニズム（ｐｕｎｃｔｕａｔｉｏｎ  ｍｅｃｈａｎｉｓｍ）を使用してもよい。システム時間の場合、本明細書の実施形態は、以下でより詳細に議論するように、現在時間以後の読み出しを禁止することができる。
【００５８】
[0057]また、ＡＰＩは、所与の時間におけるすべての値を読むために使用することができる。
【００５９】
【表３】
0006577588.tif 000004
【００６０】
[0058]その結果は、ローカルに知られているすべての値である。分割／パーティション分割（ｓｈａｒｄｉｎｇ／ｐａｒｔｉｔｉｏｎｉｎｇ）に依存して、これは、構築されたデータストリーム中で基準データのサブセットとしてもよい。
【００６１】
[0059]ストリーミングメカニズムは、構築されたデータストリームをストリーム配信するために実装することができる。ＡＰＩの基本読み出し機能（たとえば、ＲｅａｄＡＴ）は、構築されたデータストリームの時間要素を正確にはサポートしない恐れがある。というのは、いつ変化が生じたのかを知る必要があるからである。ストリーミングメカニズムは、対応するエッジおよび期間のイベントを生成するために、構築されたデータストリームを利用する。ストリーミングメカニズムは、変化毎にエッジイベントを生成する能力を含み、各変化は、前の値を有するエッジ終了イベントおよび新しい値を有するエッジ開始イベントをもたらすことになる。また、ストリーミングメカニズムは、構築されたデータストリームが、特定の時間から、すなわち時間の始めからでなく、ストリーム配信される必要があるときの初期状態を知る能力を含む。
例として、
【００６２】
【表４】
0006577588.tif 000005
【００６３】
[0060]９から１４までのこの構築済のストリームデータに対応する変化のストリーム配信は、
１）時間９における初期「状態」
・タイムスタンプ：５．２，キー：４，値：Ｂ
・タイムスタンプ：６．１，キー：２，値：Ｂ
・タイムスタンプ：７．５，キー：１，値：Ｂ
・タイムスタンプ：７．９，キー：３，値：Ｂ
２）９と１４の間の変化
・タイムスタンプ：９．２，キー：４，値：Ａ
・タイムスタンプ：９．３，キー：３，値：Ｃ
・タイムスタンプ：１０．１，キー：２，値：Ａ
・タイムスタンプ：１１．８，キー：１，値：Ａ
・タイムスタンプ：１３．５，キー：４，値：Ｃ
をもたらすことになるはずである。
【００６４】
[0061]しかし、この変化のストリームからエッジ／期間イベントのストリームの生成は、前の値に対応するエッジ終了イベントを生成するために、各キー（最後のタイムスタンプおよび最後の値）の追跡を継続することが必要になるはずである。値のペア（旧および新）として変化の格納およびストリーム配信は、それをより容易にすることになるはずである。
【００６５】
１）時間９における初期「状態」
（変化イベント当たり１つのエッジ開始イベントを生成するために使用することができる）
・タイムスタンプ：５．２，キー：４，値：Ｂ，旧：ゼロ
・タイムスタンプ：６．１，キー：２，値：Ｂ，旧：ゼロ
・タイムスタンプ：７．５，キー：１，値：Ｂ，旧：ゼロ
・タイムスタンプ：７．９，キー：３，値：Ｂ，旧：ゼロ
２）９と１４の間の変化
（変化イベント当たり１つのエッジ終了イベントおよび１つのエッジ開始イベントを生成するために使用することができる）
・タイムスタンプ：９．２，キー：４，値：Ａ，旧：［値：Ｂ，から：５．２］
・タイムスタンプ：９．３，キー：３，値：Ｃ，旧：［値：Ｂ，ｓｉｎｃｅ：７．９］
・タイムスタンプ：１０．１，キー：２，値：Ａ，旧：［値：Ｂ，ｓｉｎｃｅ：６．１］
・タイムスタンプ：１１．８，キー：１，値：Ａ，旧：［値：Ｂ，ｓｉｎｃｅ：７．５］
・タイムスタンプ：１３．５，キー：４，値：Ｃ，旧：［値：Ａ，ｓｉｎｃｅ：９．２］
[0062]このストリームは、構築されたデータストリームに対応するエッジイベントを生成するのに十分である。これは、向上したイベント処理システムが使用することができるソースとして構築されたデータストリームを顕在化させるために、内部的に使用されることになる。
【００６６】
【表５】
0006577588.tif 000006
【００６７】
[0063]ｔ１からｔ２、次いでｔ２からｔ３までの基準データおよびをストリーム配信するとき、ｔ２における初期状態は、無視することができることが企図される。それを要求しない方法があるか、またはその結果生じるエッジ開始イベントが重複しないようにする必要がある。
【００６８】
[0064]構築されたストリームデータは、さらに、オペレーターが構築されたデータストリームをポイントイベントのストリーム（たとえばデータストリーム）と結合するのをサポートする可能性がある。例としてだけで、以下にコードを示す。
【００６９】
【表６】
0006577588.tif 000007
【００７０】
[0065]結合のパラメーターは、１）ストリーム、２）結合述部、３）結果セレクター（すなわちプロジェクション）である。結合述部は、ストリームおよび基準データが、ｍａｃｈｉｎｅ＿ｉｄによって再編成済のとき、無視する、または“（ｒｅｆ、ｓｔｒ）⇒ｔｒｕｅ”に置き換えてもよい。
【００７１】
[0066]双方向時間的結合は、構築されたデータストリームを使用して実施することができることが企図される。たとえば、データベース中の基準データが、ストリーミングメカニズムを使用して構築されたデータストリームとして使い果たされたとき、イベントの時間要素（たとえばタイムスタンプ）は、時間的結合に使用することができ、データベース中の基準データが、ルックアップメカニズムを使用して構築されたデータストリームとして使い果たされたとき、異なるタイムライン（たとえば、イベントのペイロード中の別の時間）が、結合条件として使用することができるはずである。
【００７２】
[0067]構築されたデータストリーム構成要素２３０が、向上したイベント処理において利用されるデータベースデータを有する識別されたデータベースデータのソースを使用して、構築されたデータストリームを生成するように構成される。待たされていた向上したイベント処理のリクエストは、何のデータベースデータが構築されたデータストリームを生成する上で使用されるのかを事前に決定し、示すことができる可能性があることがさらに企図される。構築されたデータストリームを構築する際に使用されるデータベースデータは、データベースデータに対して出される、待たされていた向上したイベント処理のリクエストの要因であり得る。
【００７３】
[0068]向上したイベント処理のリクエストは、構築されたデータストリームのソース構成要素２３０の構築されたデータストリームを使用して実際にアクセスされる、データベースデータ構成要素２２０中のデータを求めるリクエストを含む。構築されたデータストリームは、データストリーム特徴および機能性をシミュレーションしながら、データベースデータ構成要素に対するプロキシとして働くことができる。構築されたデータストリームは、向上したイベント処理システム中でデータ型として定義してもよいことが企図される。データ型は、構築されたデータストリームがどのように系統化されているのかを決定するスキーマとして定義してもよい。
【００７４】
[0069]操作では、構築されたデータストリームは、データベースデータの個別の実例をサンプリングして、データベースデータのスナップショットを生成することをサポートするサンプリングメカニズムに基づき、生成してもよい。サンプリングは、全データベースについて、またはデータベースデータの識別される部分についてだけ実施してもよい。また、サンプリングは、向上したイベント処理のリクエストと関連する値がデータベースのスナップショット中に保存されるように、期待される向上したイベント処理のリクエストに特に基づき、実施してもよい。
【００７５】
[0070]一実施形態では、構築されたデータストリームのソース構成要素２３０は、定期的なサンプリングメカニズムを実装してもよい。定期的なサンプリングメカニズムは、所定の、または指定された時間間隔でサンプリングの実施をサポートする。例として、データベースデータは、５分ごとにサンプリングしてもよい。別の例示の実施形態では、構築されたデータストリームは、データベースデータの差分スナップショットを生成するためにサンプリングをサポートする差分サンプリングメカニズムに基づき、生成してもよい。差分スナップショットは、データベースデータの変化を示し、データベースデータの全スナップショットではない。異なるスナップショットを生成するための差分サンプリングは、データベースデータの全スナップショットを格納するコストを減少させるために実装できる可能性があることが企図される。例として、ゆっくりと変化するデータのセットは、差分スナップショットを生成するための差分サンプリングには理想的である可能性がある。というのは、変化はめったに起こらないからであり、そのように、差分スナップショットは、その後に生じることがあるいずれもの変化をファイルに保存する。構築されたデータストリームのスナップショットは、スナップショットを有する構築されたデータストリームに対するクエリーが同じ答えをもたらすという点で再現性をサポートするが、一方データベースデータに対するクエリーは、データベース中のデータが経時的に変化したとき、異なる答えをもたらす可能性がある。
【００７６】
[0071]構築されたデータストリームのソース構成要素２３０は、データベースデータの変化の通知を受け取るサブスクリプションメカニズムを実装してもよい。変化の通知は、データベースデータの変化を変化の時間と関連付けるために管理時間要素を使用する、データベースデータのソース構成要素２２０に実装された通知メカニズムに基づかせてもよい。通知が受け取られたとき、構築されたデータストリームデータ構成要素は、データベースデータをサンプリングし、サンプリングされたデータベースデータを管理時間要素中の時間と関連付けることができる。サンプリングは、上記で議論したように、全サンプリングまたは差分サンプリングとしてもよい。この点で、サンプリングは、定期的なメカニズムに基づかないが、しかしむしろデータベースデータの変化の通知に基づく。さらに、向上したイベント処理のリクエストからの出力の正確さは、向上する、つまり構築されたデータストリームデータは、定期的なサンプリングメカニズムとは異なり、データベースデータの変化を正確に反映するからである。
【００７７】
[0072]構築されたデータストリームは、それが、構築されたデータストリームと関連する、異なるタイプの向上したイベント処理ロジックをサポートすることができ、かつ下位互換でサポートすることができる点で有利に柔軟である。構築されたデータストリームは、データベースデータのスナップショットを生成するために、サンプリングを利用してもよい。サンプリングは、定期的なサンプリングメカニズム、差分サンプリングメカニズムに基づいてもよい。構築されたデータストリームは、データベースデータまたは構築されたデータストリームの履歴情報または構造を変える必要がなく、向上したイベント処理に再現性を与える。向上したイベント処理のリクエストに対する出力を生成するためのロジックは、本明細書に述べるように、異なるサンプリング方法を用いて、サンプリング方法を変化させてさえ、維持することができる。構築されたデータストリームに対するリクエストは、どちらにしてもデータベースデータのスナップショットの構築データストリームを用いて有利に機能する。
【００７８】
[0073]引き続き図２を参照すると、データストリームのソース２４０は、データストリームを管理し、それへのアクセスを提供することに関与する。データストリームまたは情報のストリームは、具体的にイベントについてのものとしてもよい。データストリームデータは、データと関連するイベントが生じたときを示す時間要素と関連付けられる。データストリームは、リスナーアプリケーションを介して積極的にリッスンしてもよい。また、データストリームは、短期間（たとえば５分間）一時的に、または長期間（たとえば一年から数年）にわたって格納し、データが活発にストリーム配信されているかのように再生してもよい。例として、イベント処理のリクエストは、新しいストリーム配信データを１年前のストリーム配信データと比較し、その比較から結論を導き出すために、使用してもよい。この点で、データストリームは、追跡し分析して、出力を導き出すために、互いに組み合わせてもよい。さらに、データストリームは、データベースデータを用いる向上したイベント処理のリクエスト中に含めてもよいので、データストリームは、向上したイベント処理のリクエストに対する出力を生成するために、構築されたデータストリームと結合される。
【００７９】
[0074]コンピューティングデバイス２５０は、たとえば、図１を参照して上記に述べた、いずれかのタイプのコンピューティングデバイス１００を含んでもよい。コンピューティングデバイス２５０は、本明細書に述べる種々の構成要素へのアクセスを提供することができる。具体的に、コンピューティングデバイス２５０は、さらに本明細書で述べるように、向上したイベント処理サーバーによって促進される１つまたは複数の操作を実施するために、向上したイベント処理サーバー２６０にアクセスしてもよい。
【００８０】
[0075]向上したイベント処理サーバー２６０は、本明細書に述べるように、向上したイベント処理の管理に関与する。向上したイベント処理サーバー２６０は、選択された値および時間の関数として、スナップショットのコレクションとしての構築されたデータストリームにアクセスする。向上したイベント処理サーバー２６０は、向上したイベント処理のリクエストを受け取り得る。向上したイベント処理のリクエストは、コンピューティングデバイス２５０を介して、または体系的なイベント処理を求めるリクエストを生成するようにプログラムされたリクエストサービスを使用して受け取ることができることが企図される。向上したイベント処理のリクエストは、向上したイベント処理のリクエストが１つまたは複数のデータベースデータのソースと関連付けられている、またはデータベースデータのソースおよびデータストリームのソースと関連付けられているのかどうかに基づき、処理することができる。この点で、向上したイベント処理サーバー２６０は、特定のロジックを使用してデータストリームとデータベースデータを相関させることができ、それによってデータに対して出力が導き出される。向上したイベント処理のリクエストは、データを分析して推論の結果を生成するために、追跡したデータの入力に基づき、出力をリクエストしてもよい。出力は、データストリームおよび構築されたストリームデータ中の両方のデータから導き出された結論である可能性がある。
【００８１】
[0076]引き続き図２を参照すると、向上したイベント処理サーバー２６０は、タイミングモジュール２６２、操作モジュール２６４、ロジックモジュール２６６および妥当性時間モジュール２６８を含む数個のモジュールを含んでもよい。タイミングモジュールは、イベントを処理するためのタイミングメカニズムを実装することができる。具体的に、タイミングメカニズムは、イベントと関連する時間要素および終結要素を特に識別し、時間要素は、イベントが生じた時間を示し、終結要素は、イベントが利用できなくなったときを示す。この点で、タイミングメカニズムを使用するタイミングモジュール２６２は、受け取られた入力と関連するタイミングに基づき迅速に出力を生成するために、どれぐらい早くイベントが到着したのかどうかに基づきイベント処理をサポートしてもよい。
【００８２】
[0077]操作モジュール２６４は、データストリーム、データベースデータ、構築されたデータストリームおよびそのいずれかの組み合わせに対して実行される可能性がある操作の管理に関与する。具体的に、イベント処理のリクエストは、データベースデータからの入力データの指標を含んでもよく、またはデータベースデータおよびデータストリームに対する入力データの指標を含む組み合わせリクエストを含んでもよい。構築されたデータストリームは、データベースデータのプロキシとして動作できる可能性があり、それで、異なるタイプの操作が、構築されたデータストリームおよびデータベースデータと関連するイベントを使用して実施される可能性がある。
【００８３】
[0078]向上したイベント処理のリクエストは、データベースデータへの直接アクセスを介しては可能にならない時間要素を含むことができる。この点で、操作モジュール２６４は、向上したイベントデータ処理リクエストを発行するように宣言するクエリーメカニズムをサポートすることができる。宣言型クエリーメカニズムは、操作が機能すべきやり方を最小限にするかまたはなくし、操作が達成すべきものよりももっと多くをサポートする。たとえば、ユーザーは、構築されたデータストリームを使用してデータストリームをデータベーステーブルからの基準データと結合するために、２つの従来のデータベーステーブルを結合するのと同じように、簡単な結合操作を入力してもよい。
【００８４】
[0079]例として、異なる器具によって実施される化学分析に対応するイベントのストリームを仮定すると、
【００８５】
【表７】
0006577588.tif 000008
【００８６】
[0080]所与のタイプのテスト（たとえばＨ１ＡＣ）がいくつ実施されたのかを知るためには、イベントに名前（ｍａｐｐｉｎｇ  ｉｄ−ｎａｍｅが基準データ中にある）を注釈することが必要である。したがって、次のスナップショットが、８：００ａｍから９ａｍまで有効であると仮定する。
【００８７】
【表８】
0006577588.tif 000009
【００８８】
[0081]ｃｈｅｍ＿ｉｄを名前と置き換えるために、クエリーは、
1 SELECT System.Timestamp AS Assay_time.stream, Chem_id.map, Name AS Chem_name,
2    stream.Instrument_id
3 FROM Timestamp(VseCase1_stream. Assay_time) stream
4 JOIN UseCase1_mapping map
5   ON stream.Chem_id=map.Chem_id
とすることができるはずである。
【００８９】
[0082]その結果得られた名前を有するストリームは、
【００９０】
【表９】
0006577588.tif 000010
【００９１】
になるはずである。
[0083]有利にも、向上したイベント処理のリクエストの生成は、既存の宣言型クエリーメカニズムと一致し、識別された入力から出力を生成するために、直観的方法が維持される。そのように、向上したイベント処理の特徴は、操作構成要素にクエリーを提出する、または操作するユーザーに対して透過である。また、操作モジュール２６４は、以下でより詳細に議論するような妥当性時間メカニズムに少なくとも部分的に基づき、向上したイベント処理のリクエストを実行し得る。
【００９２】
[0084]ロジックモジュール２６６は、構築されたデータストリームの構造に基づき、向上したイベント処理の特定の方法を管理するのに関与する。上記で議論したように、構築されたデータストリームは、定期的なサンプリングまたは差分サンプリングのどちらかを使用してデータベースデータのスナップショットを生成するデータのサンプリングに基づいてもよい。サンプリング方法は、入力に基づき出力を生成するために、ロジックにロジックモジュール２６６を知らせる。また、特定のタイプのデータは、出力を生成する上で使用される可能性があるロジックに影響を与える。
【００９３】
[0085]一実施形態では、ロジックモジュール２６６は、選択されたロジックを実装してもよく、それによって操作モジュール２６４を介して受け取られる操作が、選択されたロジックを使用して実行される。最新のスナップショットロジックは、向上したイベント処理のリクエストと関連する操作を実施するために、最新スナップショットを含むスナップショットのコレクションを利用する。この点で、データベースデータは、構築されたデータストリーム中の所与のスナップショットにまで使用できる状態であり、操作は、最新スナップショットまでのスナップショットのコレクションを使用して実施される。
【００９４】
[0086]別の例示の実施形態では、ロジックモジュール２６６は、構築されたデータストリームの２つのスナップショットからの構築されたデータストリームの所与の値の値近似をサポートする補間ロジックを実装してもよい。補間ロジックは、特定のタイプの変数データ型のために中間値を生成することができるが、他のタイプにはできない（たとえば温度。しかし顧客住所にはできない）。操作では、サンプリングメカニズム（たとえば、定期的な、または差分）は、第１の時間（たとえば５：００ｐｍ）における第１の値（たとえば７０°Ｆ）および第２の時間（たとえば５：０５ｐｍ）における第２の値（たとえば７３°Ｆ）を含むことがある。補間ロジックは、向上したイベント処理のリクエストが中間の時間（たとえば５：０３ｐｍ）における温度を求めてクエリーした場合、起こり得る実際の値として中間値（たとえば７０°Ｆと７３°Ｆ）を近似するように構成される。補間メカニズムは、その結果得られる出力が補間に基づいたものであり、構築されたデータストリームからの実際の入力データでないことを明確に示し得ることが企図される。
【００９５】
[0087]有利にも、ロジックモジュール２６６は、構築されたデータストリームが、ロジックのいずれかの変更をサポートするように下位互換である状態で、ロジック選択を変更するステップ（たとえば、最新スナップショットから補間ロジックに、またはその逆も同様）を実装してもよい。言い換えると、構築されたデータストリームの性質は、構築されたデータストリーム自体を再構築せずに、構築されたデータストリームから出力データを生成するロジックの変更をサポートする。例として、データストリームとして、またはルックアップメカニズムを使用してどちらかでアクセスされる基準データを有するデータベースデータは、明確に定義された時点における異なるロジックに基づきアクセスし得る。具体的には、基準データは、毎分取られる温度の当該の分における読みとすることができる。構築されたストリームデータは、取られた最後の温度の読み値の関数である（たとえば最新スナップショットロジック）。それに応じて、階段関数が生成される。異なる時点において（たとえば指定されたロジック変更時間）、ロジックが線形補間ロジックに変更されるイベントでは、構築されたデータストリームのクエリーは、指定されたロジック変更時間までの最新データスナップショットロジックと関連付けることができ、次いで指定されたロジック変更時間の後の値を求めるために、線形補間ロジックを使用することができる。そのようなステートメントは、これまで蓄積された基準データに影響しない、それゆえいずれもの再計算も必要でなく、それに応じて構築されたデータストリームは、下位互換である。
【００９６】
[0088]引き続き図２を参照すると、妥当性時間モジュール２６８は、向上したイベント処理のリクエストに対する矛盾しない出力を示すことに関与する。具体的に、妥当性時間モジュール２６８は、構築されたデータストリームと関連する出力のための妥当性時間要素を示す妥当性時間メカニズムを実装する。妥当性時間メカニズムは、向上したイベント処理のリクエストに対する矛盾しない出力を示すためのルーチンおよびプロシージャーをもたらす。具体的に、妥当性時間要素は、１つまたは複数のデータソースに基づく出力が、実行された時間におけるデータソース中のデータを正確に反映している時間を示す。構築されたデータストリームの性質は、本明細書に議論する１つまたは複数のメカニズムが、構築されたデータストリームを更新するために使用される前のある一定時間にまでだけ、データベースデータを正確に反映している可能性があるというようなことである。データベース中の最新データを反映するという構築されたデータストリームの能力は、サンプリング、特に利用されるサンプリングメカニズムの機能である。そのように、リクエストは、構築されたデータストリームデータの最後のスナップショットの時間（たとえば有効時間要素）にまでだけ有効である。他の制約（たとえば待ち時間）によって、データストリームデータについてさえ、遅延が最新情報にまで及ぶ恐れがある。
【００９７】
[0089]妥当性時間モジュール２６８は、操作モジュールが、リクエストの妥当性を認可する前に、すべてのイベントデータ（実際のデータストリームまたは構築されたデータストリーム）が到達するのを待つことができるように、操作のための妥当性時間を操作モジュールに伝達し得ると考えられる。妥当性モジュール２６８を使用して所与の妥当性時間が示されると、操作モジュール２６４は、その出力が妥当性時間要素と関連付けられないことになるはずである時間をリクエスト中に有するリクエストを、実行しないように防止し得ることがさらに企図される。実施形態では、操作モジュール２６４は、リクエストを実行し、出力をもたらすことができるが、リクエストが妥当性時間要素の時間にまでだけ有効であることが知られているので、出力をもっとも新しい妥当性時間要素と関連付けることができる。
【００９８】
[0090]実施形態では、妥当性時間は、妥当性時間モジュール２６８を使用して加速し得る。イベント処理システムを取り巻く状況（たとえばシステム故障または待ち時間）が、構築されたデータストリームを更新するためのデータベースデータへのアクセスを遅延させる恐れがある。イベント処理を継続するために、妥当性時間モジュールは、データベースデータのスナップショットを生成するためのサンプリングが、妥当性時間要素をサポートするために実施されていないときでさえ、構築されたデータストリームイベントと関連する新しい妥当性時間要素を示し得る。そのように、妥当性時間モジュール２６８は、向上したイベント処理のリクエストを前に進めるために、構築されたデータストリームの正確さを犠牲にすることがある。
【００９９】
[0091]ここで図３を参照すると、向上したイベント処理を実施するための例示的な方法３００を例示するフロー図が示されている。用語「ステップ」および／または「ブロック」が、用いられる方法の異なる要素を含意するために、本明細書で使用されることがあるが、用語は、個別のステップの順序が明確に述べられていない限り、およびそのように述べられているときを除き、本明細書に開示する様々なステップの間のいずれもの特定の順序を暗示するものとして解釈すべきでない。
【０１００】
[0092]ブロック３１０で、向上したイベント処理のリクエストが受け取られる。向上したイベント処理のリクエストは、データベースデータのソースからの入力データの指標を含む。データベースデータのソースからの入力データは、入力データに関する時間要素と関連付けられていない。ブロック３２０で、入力データが、構築されたデータストリームのソースを使用して入力データの指標でアクセスされる。構築されたデータストリームのソースは、経時的なスナップショットのコレクションへのアクセスを提供する。スナップショットは、データベースデータのソースのデータベースデータについてのものである。入力データは、時間要素を有する構築されたデータストリームを使用してアクセスされる。時間要素は、入力データと関連するイベントが生じたときの時間を示す。構築されたデータストリームの時間要素は、構築されたデータストリームのイベントが生じ、データベースデータ中にイベントのスナップショットの一部として格納された時間から決定される。ブロック３３０で、向上したイベント処理のリクエストに対する出力が、構築されたデータストリームを使用してアクセスされる入力データに基づき生成される。出力は、構築されたデータストリームに基づく出力が、データベースデータ中のデータを正確に反映している時間を示す妥当性時間要素と関連付けられる。
【０１０１】
[0093]ここで図４を見ると、向上したイベント処理を実施するための例示的な方法４００を例示するフロー図が示されている。ブロック４１０で、向上したイベント処理のリクエストが受け取られる。向上したイベント処理のリクエストは、データベースデータのソースからの入力データの指標およびデータストリームのソースからの入力データの第２の指標を含む。ブロック４２０で、入力データが、構築されたデータストリームのソースを使用して入力データの指標でアクセスされる。構築されたデータストリームのソースは、データベースデータのソースのデータベースデータの経時的なスナップショットのコレクションへのアクセスを提供する。入力データは、第１の時間要素を含む構築されたデータストリームを使用してアクセスされる。
【０１０２】
[0094]ブロック４３０で、入力データは、データストリームのソースを使用して入力データの第２の指標でアクセスされる。ブロック４４０で、構築されたデータストリームの第１の時間要素が、データストリームの第２の時間要素と相関される。ブロック４５０で、構築されたデータストリームの入力データおよびデータストリームの入力データに基づく向上したイベント処理のリクエストに対する出力が生成される。
【０１０３】
[0095]ここで図５を見ると、向上したイベント処理を実施するための例示的な方法５００を例示するフロー図が示されている。ブロック５１０で、データベースデータのソースが識別される。データベースデータのソースは、データベースデータと関連付けられる。データベースデータは、基準データを含む。ブロック５２０で、データベースデータのソースのデータベースデータの少なくとも一部が、データベースデータの１つまたは複数のスナップショットを生成するためにサンプリングされる。データベースデータのサンプリングは、所定の時間間隔に基づき１つまたは複数のスナップショットを生成する定期的なサンプリングメカニズムに、またはデータベースデータへの変更だけを含む１つまたは複数のスナップショットを生成する差分サンプリングメカニズムに基づく。
【０１０４】
[0096]サンプリングは、さらに、スナップショットがデータベースデータへの変更の指標に基づき生成されるように、データベースデータへの変更が生じたときを示す通知メカニズムに基づいてもよい。通知メカニズムは、計量機構を含むことができ、計量機構は、サンプリングを実施するように通知を発するまでの変更の所定数を決定する、または所定の期間を決定する。通知システムは、データベースデータの操作ベースの機能性と関連付けられる管理時間要素に基づかせることができ、管理時間要素は、データベース中に記録されない。管理時間要素は、時間要素を備える構築されたデータストリームを生成するために使用される、スナップショットと関連付けられる時間を示す。
【０１０５】
[0097]ブロック５３０で、構築されたデータストリームは、データベースデータの１つまたは複数のスナップショットに基づき、構築されたデータストリームは、時間要素と関連付けられる。ブロック５４０で、構築されたデータストリームへのアクセスが、向上したイベント処理のリクエストに基づき提供され、向上したイベント処理リクエストは、構築されたデータストリームを使用してアクセス可能なデータベースデータのソースのデータベース中の入力データの指標と関連付けられる。
【０１０６】
[0098]本明細書に提示された実施形態を特定の実施形態に関して述べてきたが、それら実施形態は、あらゆる点で、制限するよりむしろ例示するものと意図される。代替実施形態が、本発明が関連する当業者に、本発明の範囲から逸脱せずに明らかになる。
【０１０７】
[0099]前述から、すべての目標および目的を達成するようになされた１つの源泉中の本発明が、他の利点とともに上記に述べられており、それら利点は、明らかであって、その構造に固有であることが分かるはずである。
【０１０８】
[00100]いくつかの特徴および下位の組み合わせが役に立ち、それらは、他の特徴または下位の組み合わせに関係なく採用できる可能性があることを理解されたい。これは、特許請求の範囲によって予期され、その範囲内にある。
【図１】
0006577588.tif 000011
【図２】
0006577588.tif 000012
【図３】
0006577588.tif 000013
【図４】
0006577588.tif 000014
【図５】
0006577588.tif 000015