JP6511438B2 - 連続データストリームにおけるリレーションに対する値ベースのウィンドウ - Google Patents

連続データストリームにおけるリレーションに対する値ベースのウィンドウ Download PDF

Info

Publication number
JP6511438B2
JP6511438B2 JP2016516778A JP2016516778A JP6511438B2 JP 6511438 B2 JP6511438 B2 JP 6511438B2 JP 2016516778 A JP2016516778 A JP 2016516778A JP 2016516778 A JP2016516778 A JP 2016516778A JP 6511438 B2 JP6511438 B2 JP 6511438B2
Authority
JP
Japan
Prior art keywords
relation
input
event
data
output
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.)
Active
Application number
JP2016516778A
Other languages
English (en)
Other versions
JP2016524756A5 (ja
JP2016524756A (ja
Inventor
ビシュノイ,サンディープ
スリニバサン,アナンド
デシュムク,ウンメシュ・アニル
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2016524756A publication Critical patent/JP2016524756A/ja
Publication of JP2016524756A5 publication Critical patent/JP2016524756A5/ja
Application granted granted Critical
Publication of JP6511438B2 publication Critical patent/JP6511438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

背景
従来のデータベースシステムにおいて、データは、通常はテーブルの形態である1つ以上のデータベースに記憶される。そして、記憶されるデータは、構造化照会言語(SQL)などのデータ管理言語を使用して照会および操作される。たとえば、SQLクエリは、データベースに記憶されるデータから関連するデータを識別するために定義および実行され得る。したがって、SQLクエリは、データベースに記憶されるデータの有限集合に対して実行される。さらに、SQLクエリが実行される時、それはひとたび有限データ集合に対して実行され、有限の静的結果(finite static result)を作成する。したがって、データベースは、有限の記憶されるデータ集合に対してクエリを実行するように最良に実装される。
しかしながら、いくつかの最新のアプリケーションおよびシステムは、有限のデータ集合の代わりに、連続的なデータもしくはイベントのストリームの形態のデータを生成する。このようなアプリケーションの例としては、限定されるものではないが、センサーデータアプリケーション、株式相場表示装置、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車トラフィック監視などが含まれる。このようなアプリケーションは、データストリームを処理することができる新しい種類のアプリケーションの必要を生じさせた。たとえば、温度センサーは、温度測定値を発信するように構成され得る。
これらのタイプのイベントストリームベースのアプリケーションについてのデータの管理および処理では、厳密な時間によるフォーカスを使用してデータ管理およびクエリ機能が作成される。連続的なデータの非有界集合に対する長期実行クエリ(long-running queries)を含む、異なる種類の照会メカニズムが必要である。現在、一部のベンダーはイベントストリーム処理を目的とした製品スーツを提供しているが、提供されるこれらの製品は、今日のイベント処理の需要に対処するために必要な処理の柔軟性に依然として欠けている。
簡単な概要
一部の例において、リレーションに対する値ベースのウィンドウを管理するための方法が提供される。方法は、入力リレーションを識別する連続クエリを受信することを含み得る。1つの例において、入力リレーションは、アプリケーションに関連するデータレコードの有界集合である。そして、方法は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子(configurable window operator)を識別することを含み得る。加えて、方法は、出力リレーションを生成するために少なくとも部分的にコンフィギュラブルウィンドウ演算子に基づいて連続クエリを実行することを含み得る。一部の局面において、方法は、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供することも含み得る。
一部の例において、入力リレーションは、アプリケーションに関連する受信中の連続入力データストリームに少なくとも部分的に基づいて生成される外部データソースであり得る。加えて、一部の例において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースでもあり得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、方法は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用することを含み得る。他の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在時間値ウィンドウ演算子であり得て、方法は、出力リレーションを生成するために入力リレーションにおける属性に対して現在時間値ウィンドウ演算子を適用することを含み得る。加えて、一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在期間値ウィンドウ演算子であり得て、方法は、出力リレーションを生成するために入力リレーションにおける属性に対して現在期間値ウィンドウ演算子を適用することを含み得る。
一部の局面において、方法は、出力リレーションを表示することも含み得る。一部の例において、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含み得る。
一部の例において、非一時的コンピューター読取可能媒体が提供され得る。媒体は、1つ以上のプロセッサーによって実行可能な複数の命令を含み得る。命令は、一部の例において、入力リレーションを生成することと、入力リレーションを処理するように構成されるクエリを識別することとを含み得る。加えて、命令は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別することと、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行することとを含み得る。一部の局面において、命令は、出力リレーションを表示することによって連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供することも含み得る。一部の例において、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含み得る。
一部の例において、システムが提供され得る。システムは、メモリーと、メモリーにアクセスし、入力リレーションを生成する命令を実行するように構成される1つ以上のプロセッサーとを含み得る。命令は、入力リレーションを処理するように構成されるクエリを識別し、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別するために実行され得る。加えて、命令は、出力リレーションを生成するためにコンフィギュラブルなウィンドウ演算子に少なくとも部分的に基づいてクエリを実行するために実行され得る。
一部の例において、コンピューター実行装置が提供され得て、装置は、入力リレーションを生成する手段を含み、入力リレーションは、アプリケーションに関連するデータレコードの有界集合であり、装置はさらに、入力リレーションを識別する連続クエリを受信する手段と、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別する手段と、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいて連続クエリを実行する手段と、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供する手段とを含む。
一部の例において、入力リレーションは、アプリケーションに関連する受信中の連続的な入力データストリームに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、連続クエリを実行する手段は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用する手段を含む。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在時間値ウィンドウ演算子であり得て、連続クエリを実行する手段は、出力リレーションを生成するために入力リレーションにおける属性に対して現在時間値ウィンドウ演算子を適用する手段を含む。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在期間値ウィンドウ演算子であり得て、連続クエリを実行する手段は、出力リレーションを生成するために入力リレーションにおける属性に対して現在期間値ウィンドウ演算子を適用する手段を含む。
一部の例において、データレコードを提供する手段は、出力リレーションを表示する手段を含み、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
一部の例において、サービスプロバイダーデバイス(1101)が提供され得て、サービスプロバイダーデバイス(1101)は、入力リレーションを識別する連続クエリを受信するように構成される入力リレーションユニット(1102)を含み、入力リレーションは、アプリケーションに関連するデータレコードの有界集合であり、サービスプロバイダーデバイス(1101)はさらに、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別するように構成されるコンフィギュラブルウィンドウ演算子ユニット(1103)と、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいて連続クエリを実行するように構成される出力リレーションユニット(1105)と、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供するように構成される提供ユニット(1107)とを含む。
一部の例において、入力リレーションは、アプリケーションに関連する受信中の連続的な入力データストリームに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、出力リレーションユニット(1105)は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用するようにさらに構成され得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在時間値ウィンドウ演算子であり得て、出力リレーションユニット(1105)は、出力リレーションを生成するために入力リレーションにおける属性に対して現在時間値ウィンドウを適用するようにさらに構成され得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在期間値ウィンドウ演算子であり得て、出力リレーションユニット(1105)は、出力リレーションを生成するために入力リレーションにおける属性に対して現在期間値ウィンドウ演算子を適用するようにさらに構成され得る。
一部の例において、提供ユニット(1107)は、出力リレーションを表示するようにさらに構成され得て、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
一部の例において、コンピューター実行装置が提供され得て、装置は、入力リレーションを生成する手段と、入力リレーションを処理するためにクエリを識別する手段と、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別する手段と、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行する手段とを備える。
一部の例において、入力リレーションは、アプリケーションに関連する受信中の連続的な入力データストリームに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、連続クエリを実行する手段は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用するための手段を含む。
一部の例において、装置は、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供するための手段をさらに含み得る。
一部の例において、装置は、出力リレーションを表示するための手段をさらに含み得て、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
一部の例において、サービスプロバイダーデバイス(1201)が提供され得て、サービスプロバイダーデバイス(1201)は、入力リレーションを処理するように構成されるクエリを受信および識別するように構成される入力リレーションユニット(1202)と、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別するように構成されるコンフィギュラブルウィンドウ演算子ユニット(1203)と、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行するように構成される出力リレーションユニット(1205)とを含む。
一部の例において、入力リレーションは、アプリケーションに関連する受信中の連続入力データに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一部の例において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、出力リレーションユニット(1205)は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用するようにさらに構成され得る。
一部の例において、サービスプロバイダーデバイス(1201)は、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供するように構成される提供ユニット(1207)をさらに含み得る。
一実施形態において、提供ユニット(1207)は、出力リレーションを表示するようにさらに構成され得て、出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
上記のものは、他の特徴および実施形態と合わせて、以下の明細書、請求項、および添付の図面を参照することによってより明らかとなる。
詳細な説明が、添付の図面を参照して述べられる。図面において、参照番号の最も左の数字は、参照番号が最初に表われる図面を識別する。異なる図面において同じ参照番号が使用される場合、それは同様もしくは同一の要素を示す。
リレーションに対する値ベースのウィンドウを管理するための技術が実施され得る、簡易化された例示的なシステムもしくは構成を示す図である。 リレーションに対する値ベースのウィンドウの管理のための特徴を説明するために用いられ得る簡易化されたブロック図である。 本開示の一実施形態に従う、入力リレーションに記憶される例示的な情報、およびコンフィギュラブルウィンドウ演算子を使用して入力リレーションが処理される場合における出力リレーションの生成を示す図である。 本開示の他の実施形態に従う、入力リレーションに記憶される例示的な情報、およびコンフィギュラブルウィンドウ演算子を使用して入力リレーションが処理される場合における出力リレーションの生成を示す図である。 本開示の他の実施形態に従う、入力リレーションに記憶される例示的な情報、およびコンフィギュラブルウィンドウ演算子を使用して入力リレーションが処理される場合における出力リレーションの生成を示す図である。 少なくとも1つの例に従う、本願明細書に記載されるリレーションに対する値ベースのウィンドウの管理の少なくとも一部の特徴を示す簡易化された処理フローを示す図である。 少なくとも1つの例に従う、本願明細書において記載されるリレーションに対する値ベースのウィンドウの管理の少なくとも一部の特徴を示す他の簡易化された処理フローを示す図である。 少なくとも1つの例に従う、本願明細書において記載されるリレーションに対する値ベースのウィンドウの管理の実施形態に従って使用され得るシステム環境の構成部分を示す簡易化されたブロック図である。 少なくとも1つの例に従う、本願明細書において記載されるリレーションに対する値ベースのウィンドウの管理の実施形態に従って使用され得るコンピューターシステムを示す簡易化されたブロック図である。 本発明の他の実施形態に従う、本願明細書において記載されるリレーションに対する値ベースのウィンドウの管理を実施するための処理を示す例示的なフロー図である。 本発明の特定の実施形態に従って使用され得るサービスプロバイダーデバイスを示す簡易化されたブロック図である。 本発明の特定の実施形態に従って使用され得るサービスプロバイダーデバイスを示す簡易化されたブロック図である。
詳細な説明
以下の説明において、様々な実施形態が記載される。説明を目的として、実施形態についての完全な理解を提供するために、具体的な構成および詳細が述べられる。しかしながら、具体的な詳細がなくとも実施形態が実施され得ることは当業者にとって明らかである。さらにまた、周知の特徴は、記載される実施形態を不明瞭にしないために、省略もしくは簡易化され得る。
一部のアプリケーションにおいて、データは、記憶される有限のデータセットではなく、連続的な非有界データストリームの形態を取り得る。このようなデータストリームの例には、金融アプリケーションにおける株式相場表示、ネットワーク監視およびトラフィック管理における性能測定、ウェブトラッキングおよびパーソナル化におけるログ記録もしくはクリックストリーム、センサーアプリケーションからのデータフィード、ファイヤーウォールベースのセキュリティにおけるネットワークパケットおよびメッセージ、ならびに電話通信におけるコール詳細記録などが含まれ得る。それらの連続的な特性により、これらのデータストリームは、典型的に、従来のワンタイムSQLクエリではなく連続クエリを使用して照会され得る。
一般に、連続データストリーム(イベントストリームともいわれる)は、明示的な終点のない連続もしくは非有界の特性を有し得るデータもしくはイベントのストリームを含み得る。論理的に、イベントもしくはデータストリームは、データ要素(イベントともいわれる)のシーケンスであり得て、各データ要素は、関連付けられたタイムスタンプを有する。連続イベントストリームは、要素のバッグもしくはセット(s,T)として論理的に表わされ得て、ここで「s」はデータ部分を表わし、「T」は時間ドメインに属する。「s」部分は、概してタプルもしくはイベントといわれる。したがって、イベントストリームは、タイムスタンプを持つタプルもしくはイベントのシーケンスであり得る。
一部の局面において、ストリームにおけるイベントに関連付けられるタイムスタンプは、クロックタイムと同等とされ得る。しかしながら、他の例において、イベントストリームにおけるイベントに関連付けられる時間は、アプリケーションドメインによって定義され得て、クロックタイムに対応しない場合があるが、たとえば、代わりにシーケンス番号によって表わされ得る。このため、イベントストリームにおけるイベントに関連付けられる時間情報は、数字、タイムスタンプ、または時間の概念を表わす他の情報によって表され得る。入力イベントストリームを受信するシステムについては、イベントは、タイムスタンプの増加順でシステムに到達する。同じタイムスタンプを有する2つ以上のイベントがあり得る。
一部の例において、イベントストリームにおけるイベントは、いくぶん世俗的なイベント(たとえば、温度センサーが値を新しい値に変更した場合や、株式表示記号の価格が変化した場合など)の発生を表わし得て、イベントに関連付けられる時間情報は、データストリームイベントによって表わされる世俗的なイベントが発生した場合を示し得る。
イベントストリームを介して受信したイベントについては、イベントストリームにおけるイベントが確実にタイムスタンプ値の増加順で到達するように、イベントに関連付けられる時間情報が使用され得る。これにより、イベントストリームにおいて受信されたイベントを、それらに関連付けられる時間情報に基づいて順序付けることができる。この順序付けを可能にするために、後に生成されるイベントが前に生成されるイベントよりも後のタイムスタンプを有するように、タイムスタンプがイベントストリームにおけるイベントに対して非減少の態様で関連付けられ得る。他の例として、シーケンス番号が時間情報として使用されている場合、後に生成されるイベントに関連付けられるシーケンス番号は、前に生成されるイベントに関連付けられるシーケンス番号よりも大きくなり得る。一部の例において、たとえばデータストリームイベントによって表される世俗的なイベントが同時に発生した場合に、複数のイベントが、同じタイムスタンプもしくは同じシーケンス番号に関連付けられ得る。同じイベントストリームに属するイベントは、概して、関連付けられる時間情報によってイベントに対して加えられる順序で処理され得て、前のイベントは後のイベントの前に処理される。
イベントストリームにおけるイベントに関連付けられる時間情報(たとえば、タイムスタンプ)は、ストリームのソースによって設定され得る、または代替的にストリームを受信するシステムによって設定され得る。たとえば、特定の実施形態において、イベントストリームを受信するシステムに対してハートビートが維持され得て、イベントに関連付けられる時間は、ハートビートによって測定されるようにシステムへのイベントの到達の時間に基づき得る。イベントストリームにおける2つのイベントが同じ時間情報を有することは可能である。なお、タイムスタンプ順序付け要件は1つのイベントストリームに対して特定のものであるが、異なるストリームのイベントが適宜インターリーブされ得る。
イベントストリームは、関連付けられるスキーマ「S」を有し、スキーマは、時間情報と、1つ以上の指定される名前付き属性の集合とを含む。特定のイベントストリームに属するすべてのイベントは、その特定のイベントストリームに関連付けられるスキーマに準拠する。このため、イベントストリーム(s,T)については、イベントストリームは、スキーマ「S」を(<time_stamp>,<attribute(s)>)として有し得て、ここで<attributes>は、スキーマのデータ部分を表わし、1つ以上の属性を含み得る。たとえば、株式相場表示装置イベントストリームについてのスキーマは、<stock symbol>および<stock price>の属性を含み得る。このようなストリームを介して受信される各イベントは、タイムスタンプと2つの属性とを有する。たとえば、株式相場表示装置イベントストリームは、以下のイベントおよび関連付けられるタイムスタンプを受け取り得る。
(<timestamp_N>,<NVDA,4>)
(<timestamp_N+1>,<ORCL,62>)
(<timestamp_N+2>,<PCAR,38>)
(<timestamp_N+3>,<SPOT,53>)
(<timestamp_N+4>,<PDCO,44>)
(<timestamp_N+5>,<PTEN,50>)
上記のストリームにおいて、ストリーム要素(<timestamp_N+1>,<ORCL,62>)については、イベントは、「stock_symbol」および「stock_value」を伴う<ORCL,62>である。ストリーム要素に関連付けられるタイムスタンプは、「timestamp_N+1」である。したがって、連続イベントストリームはイベントのフローであり、各イベントは同じ一連の属性を有する。
記載したように、ストリームはCQLクエリが作用し得るデータの主要なソースであり得る。ストリームSは、要素(s,T)のバッグ(「マルチセットともいわれる)であり得て、ここで「s」はSのスキーマに属し、「T」は時間ドメインに属する。加えて、ストリーム要素は、タプルとタイムスタンプのペアであり得て、タイムスタンプを持つタプル挿入のシーケンスとして表わされ得る。言い換えると、ストリームは、タイムスタンプを持つタプルのシーケンスであり得る。一部の場合において、同じタイムスタンプを有する2つ以上のタプルがあり得る。また、入力ストリームのタプルは、タイムスタンプの増加順でシステムに到達する必要があり得る。代替的に、リレーション(「時間で変化するリレーション」ともいわれ、リレーショナルデータベースからのデータを含み得る「リレーショナルデータ」と混同されない)は、時間ドメインからスキーマRのタプルの非有界バッグへのマッピングであり得る。一部の例において、リレーションは、順序付けされていない、時間で変化するタプルのバッグ(すなわち、瞬間的なリレーション)であり得る。一部の場合において、時間の各瞬間では、リレーションは有界集合であり得る。これは、挿入、消去、および/または更新を含んでリレーションの変化する状態を表わし得る、タイムスタンプを持つタプルのシーケンスとしても表わされ得る。ストリームと同様に、リレーションは、リレーションの各タプルが準拠し得る固定スキーマを有し得る。さらに、本願明細書で使用される連続クエリは、概してストリームおよび/またはリレーションのデータを処理する(すなわち、照会する)ことが可能であり得る。加えて、リレーションは、ストリームのデータを参照し得る。
一部の例において、ビジネスインテリジェンス(BI)は、特定の間隔で(たとえば、一部の場合においては毎日)事業実施の運営および最適化を補助し得る。このタイプのBIは、通常、オペレーショナルビジネスインテリジェンス、リアルタイムビジネスインテリジェンス、またはオペレーショナルインテリジェンス(OI)と呼ばれる。オペレーショナルインテリジェンスは、一部の例において、BIと事業活動の監視(BAM)との線引きを不明瞭にする。たとえば、BIは、過去データの周期的なクエリにフォーカスし得る。このようなことから、BIは、後向きフォーカスを有し得る。しかしながら、BIは、実施用途にも利用され得て、このため、単なる戦略的分析ツールから事業実施における前線へ拡大し得る。このようなことから、BIシステムは、イベントストリームを分析し、リアルタイムで集合を演算するようにも構成され得る。
一部の例において、連続クエリ言語サービス(CQサービス)は、連続クエリを取り扱うとともにリアルタイムの警告を可能にするように、BI分析サーバーを拡張するように構成され得る。CQサービスは、一部の局面において、BI分析サーバーおよびCQLエンジンとの統合を提供し得る。例示のみであるが、BI分析サーバーは、連続クエリをCQサービスに転付し得て、CQサービスは、CQLエンジンのための論理データベース(DB)ゲートウェイとしても作用し得る。この方法により、CQLエンジンは、その分析能力およびセマンティックモデリングのために、BI分析サーバーを活用することが可能となり得る。
一部の例において、CQサービスは、とりわけ、以下の機能を提供し得る。
・CQLエンジンゲートウェイとしてBI分析サーバーのためのリモーティングサービス
・イベントソース/シンクアダプター
・論理SQLにCQL拡張を加えたものからのデータ定義言語(DDL)の生成
・すべてのタイプの連続クエリおよび実施選択のための統一モデルの提供
・メタデータおよびサポート再開可能性の維持
・高い利用可能性およびスケーラビリティのサポート
加えて、一部の例において、OIは、事業実施に対して可視性および見識をもたらすリアルタイムの動的事業分析の形態である。大量の情報から理解可能とすることを助けるという点において、OIは、BIもしくはリアルタイムBIに対してリンクもしくは比較されることが多い。しかしながら、いくつかの基本的な違いがある。OIは、主に活動中心的であり得て、BIは主にデータ中心的であり得る。加えて、OIは、進展する状況(たとえば、傾向およびパターン)を検知する、およびこれに対応するのにより適し得て、これに対してBIは、事後ベースおよび報告ベースの手法として従来より使用され得る。
一部の例において、事業イベント分析および監視(BEAM)システムは、インフライトデータを処理および/または受信するためにCQLエンジンを含み得る。たとえば、CQLエンジンは、受信中のリアルタイムの情報を照会もしくはそれ以外に処理するように構成されるインメモリーリアルタイムイベント処理エンジンであり得る(たとえば、BIまたはOI)。CQLエンジンは、一時セマンティクスを利用または理解し得るとともに、データのウィンドウの定義を処理することを可能にするように構成され得る。CQLエンジンを利用することは、一部の場合において、受信中のデータに対して常にクエリを実行することを伴う。
一部の局面において、CQLエンジンは、完全に発達したクエリ言語を含み得る。このようなことから、ユーザーは、クエリに関して演算を特定し得る。加えて、CQLエンジンは、メモリーの最適化、クエリ言語特性の利用、演算子の共有、リッチパターンマッチング、リッチ言語構成などのために設計され得る。加えて、一部の例において、CQLエンジンは、過去データおよびストリーミングデータの両方を処理し得る。たとえば、ユーザーは、カリフォルニアの販売が特定のターゲットを超えた時に警告を送るようにクエリを設定し得る。したがって、一部の例において、警告は、過去の販売データおよび受信中のライブ(すなわち、リアルタイム)販売データに少なくとも部分的に基づき得る。
一部の例において、CQLエンジンまたは以下に記載されるコンセプトの他の特徴は、リアルタイムで過去のコンテキスト(すなわち、ウェアハウスデータ)と受信中のデータとを結合するように構成され得る。したがって、一部の場合において、本開示は、データベースに記憶される情報とインフライト情報との間の境界を記載し得る。データベースに記憶される情報およびインフライト情報の両方は、BIデータを含み得る。このようなことから、データベースは、一部の例において、BIサーバーであり得る、または任意のタイプのデータベースであり得る。さらに、一部の例において、本開示の特徴は、ユーザーがどのようにプログラムするのか、またはそれ以外にどのようにコードを書くのかを知らなくとも上記の特徴の実施を可能とし得る。言い換えると、特徴は、多機能ユーザーインターフェイス(UI)において提供され得る、または過去データとリアルタイムのデータとの結合を非開発者が実施することを可能とする態様で提供され得る。
一部の例において、上記のコンセプトは、複合イベント処理に関連付けられるリッチリアルタイム連続イベント処理能力を活用するために利用され得る。限定されないが、アーカイブされたリレーションなどのいくつかの特徴がサポートされ得る。このようなことから、このような特徴(たとえば、リッチリアルタイム連続イベント処理)を活用するために、システムは、リレーショナルデータのスタートアップ状態およびランタイム状態に透明に対処するように構成され得る。言い換えると、システムは、作成の瞬間おいては空でないクエリ(すなわち、アーカイブされたリレーション)を管理するように構成され得る。
一部の例において、アーカイブされたリレーションが利用され得る。このようなことから、アーカイブされたリレーションに基づくことを示すクエリをCQLエンジンが確認した場合、そのアーカイブされたリレーションは、たとえば、過去のコンテキストについてクエリを呼び出すことができる特定のエンティティがあることを示し得る。一部の例において、データ定義言語(DDL)は、照会をどのように行なうか、テーブル内の重要なカラムは何か、および/または残りのデータをどこへ送信するかなど、アーカイブされたリレーションについての注釈を示し得るが、これらに限定されない。一部の例において、ひとたびクエリがCQLエンジンにおいて構築されると(たとえば、グラフとして)、システムはクエリグラフを分析し得る。加えて、一部の局面において、「distinct」、「group aggr」、「pattern」、および/または「group by」のような、ステートフルな特定の演算子がある。しかしながら、ステートレスな演算子は、入力を取り、それをたとえば下流の演算子などの親に送るのみであり得る。このため、1つの手法は、このテーブル全体をここに記憶することである。しかしながら、アーカイブされたリレーションを利用することにより、システムは、クエリグラフを分析し、アーカイブを照会するために使用することができる最低のステートフル演算子がどれかを決定し得る。一部の例において、システム(または1つ以上のコンピューター実行方法)は、グラフを横断しながら到達した最低のステートフル演算子において状態を検索する。たとえば、クエリグラフは、ソースからのトポロジー順序において分析され得る。この第1のステートフル演算子に少なくとも部分的に基づき、CQLエンジンは、アーカイブされたリレーションに対して定義されるクエリについての演算子の状態を初期化するために、取得されるデータの最適量を判定し得る。
少なくとも1つの非限定的な例において、リレーションおよび/またはソースのようなソース演算子は、トポロジー横断線において最初に置かれ得て、クエリ出力および/またはルートは最後に置かれ得る。たとえば、CQLクエリが、select sum(c1) from R1 where c2>c25のような場合、このクエリについてのプランは、RelationSource→SELECT→GroupAggrのようになり得る。したがって、トポロジー順序に従うとともに、RelationSourceおよびSELECTが両方ともステートレスであることから、最低のステートフル演算子はGroupAggrであり得る。この方法により、クエリのステートフル演算子(この例では、GroupAggr)は、クエリエンジンがストリーミングデータを受信する前にデータストアから過去データをクエリエンジンに集合させることを可能にし得る。これは、アーカイブされたリレーションをクエリが分析しており、そのアーカイブされたリレーションがそのように示しているという事実に少なくとも部分的に基づいて可能となり得る。
一部の例において、所与のアーカイブリレーションのウィンドウサイズは、ユーザーによって指定され得る。一部の局面において、ウィンドウは、アーカイブされたリレーションに関連して、受信中のアクティブデータを分析もしくはそれ以外に評価するクエリグラフにおけるノードを含み得る。言い換えると、ウィンドウは、クエリエンジンによって分析および/または処理され得るアクティブデータの量、および/またはアーカイブされたリレーションに含まれる過去データの量を定義し得る。
高いレベルにおいて、ひとたびウィンドウがStreamに対して適用されると、それはRelationとなり、リレーショナルデータベースと同様に、通常のリレーショナルロジックが適用され得る。タプルが到着してウィンドウを離れると、考慮中のRelationは、それに対してコンパイルされるクエリによって変化し、同時に結果を発する。CQLは、RANGE(ナノ秒粒度に至る)、ROWS、PARTITION BY、および拡張可能ウィンドウをサポートし得る。これらのウィンドウは、ストリームからリレーションへの演算子(stream-to-relation operators)の例である。他方、ISTREAM(すなわち、挿入ストリーム)、DSTREAM(すなわち、削除ストリーム)、およびRSTREAM(すなわち、リレーションストリームは、リレーションからストリームへの演算子(relation-to-stream operators)である。一部の例において、ユーザー、開発者、および/または管理者は、クエリエンジンまたはクエリエンジンを操作もしくはホスティングする1つ以上のコンピューティングシステムによって提供されるウィンドウサイズを(たとえば、UIを介して)設定し得る。一部の例において、ストリーム上のウィンドウは、時間ベースの範囲ウィンドウであり得る。たとえば、アーカイブされたリレーション上のコンフィギュラブル値ウィンドウは、ウィンドウサイズおよびウィンドウが計算される属性を使用して特定され得る。アーカイブされたリレーションの上部に特定されるコンフィギュラブル値ウィンドウがある場合、スナップショットクエリが演算され得て、ウィンドウ限界内のスナップショットタプルが出力され得る。加えて、状態の初期化後、値ウィンドウは、受信中のアクティブデータに対して適用され得る。一部の例において、ウィンドウ属性の値がウィンドウサイズよりも小さい現在イベント時間とは異なるウィンドウには受信中のアクティブデータのみが挿入される。
上述のように、一部の例において、連続クエリを使用した連続データストリームの処理には、ストリームに対してウィンドウを適用し、全ストリーム履歴の代わりに最近のストリームタプルの固定数が考慮されるように特定すること、または全ストリーム履歴の代わりに特定の時間内に到着したストリームタプルのみが考慮されるように特定することを伴い得る。上でさらに記載されるように、一部の例において、連続クエリ処理には、受信中の連続ストリームをリレーションに変換するよう処理する様々な演算子、または入力リレーションを出力ストリームデータに変換する演算子を使用することを伴い得る。
しかしながら、特定の状況においては、ユーザーは、アプリケーションに関連する受信中のリアルタイムデータをリレーション(たとえば、外部データソース)に記憶されるアプリケーションに関連するデータを用いて処理することが必要であり得るクエリを設定し得る。リレーションのサイズが非常に大きい場合、このデータを照会するためにメモリーに持ち込む必要のあるデータの量もまた非常に大きくなり得る。CQLエンジンは、典型的に、受信中のリアルタイム情報を照会もしくは処理するように構成されるインメモリーリアルタイムイベント処理エンジンであり得ることから、有限のメモリーにおいてこのような高いレートの入力ストリームを大きなサイズのリレーションと結合するようにスケール可能とはなり得ない。
このため、一部の実施形態において、ウィンドウ演算子は、連続クエリ(たとえば、CQLクエリ)におけるリレーションを処理するために定義され得る。1つの例において、ウィンドウ演算子は、ユーザーコンフィギュラブルであり得る。ウィンドウ演算子は、特定の時間の範囲に対してリレーションにおけるデータレコードの部分集合の処理を可能とし得る。このため、リレーションのデータレコードの部分集合は、メモリーにおけるリレーションのデータレコードのセットの全体を処理するのではなく、有限のメモリーにおいて照会され得る。
特定の実施形態において、入力リレーションが生成され得る。1つの例において、入力リレーションは、アプリケーションに関連するデータレコードの有界集合を含む外部データソースであり得る。1つの例において、入力リレーションは、連続入力データストリームから生成され得る。代替的に、入力リレーションは、アプリケーションに関連する過去データのデータベースに基づいて生成され得る。加えて、入力リレーションは、1つ以上のアーカイブされたリレーションから最初に生成され得て、入力リレーションの残りは、受信中のストリーミングデータに基づいて生成され得る。
本開示の一実施形態に従えば、入力リレーションを識別する連続クエリ(たとえば、CQLクエリ)が受信され得る。そして、入力リレーションに対して定義されるウィンドウ演算子が識別され得る。クエリは、出力リレーションを生成するためにウィンドウ演算子に少なくとも部分的に基づいて実行され得る。一実施形態において、出力リレーションは、入力リレーションにおけるウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含み得る。
上記および下記の技術は、いくつかの方法およびいくつかの状況において実施され得る。以下においてより詳細に記載されるように、いくつかの例示的な実施および状況が以下の図面を参照して提供される。しかしながら、以下の実施および状況は多くのうちの一部である。
図1は、リレーションに対する値ベースのウィンドウを管理するための技術が実施され得る、簡易化された例示的なシステムもしくはアーキテクチャ100を示す。アーキテクチャ100において、1人以上のユーザー102(たとえば、アカウント保持者)が、コンピューティングデバイス104(1)〜104(N)(まとめて、「ユーザーデバイス104」)を利用し、1つ以上のネットワーク108を介して1つ以上のサービスプロバイダーコンピューター106にアクセスし得る。一部の局面において、サービスプロバイダーコンピューター106は、ネットワーク108を介して、1つ以上のストリーミングデータソースコンピューター110および/または1つ以上のデータベース112と通信し得る。たとえば、ユーザー102は、サービスプロバイダーコンピューター106を利用し、ストリーミングデータソースコンピューター110および/またはデータベース112のデータにアクセスし得る、またはそれ以外にデータを管理し得る(たとえば、110および112のうちのいずれかもしくは両方に対してクエリが実行され得る)。データベース112は、リレーショナルデータベースまたはSQLサーバーなどであり得て、一部の例においては、過去データ、イベントデータ、リレーション、またはアーカイブされたリレーションなどをユーザー102の代わりに管理し得る。加えて、データベース112は、ストリーミングデータソースコンピューター110によって提供されるデータを受信もしくはそれ以外に記憶し得る。一部の例において、ユーザー102は、ユーザーデバイス104を利用し、データ(たとえば、過去のイベントデータ、ストリーミングイベントデータなど)についてのクエリ(「クエリ宣言」ともいう)または他のリクエストを提供することによってサービスプロバイダーコンピューター106と対話し得る。そして、このようなクエリまたはリクエストは、サービスプロバイダーコンピューター106によって実行され、データベース112のデータおよび/またはストリーミングデータソースコンピューター110からの受信中のデータが処理され得る。さらに、一部の例において、ストリーミングデータソースコンピューター110および/またはデータベース112は、サービスプロバイダーコンピューター106に関連付けられる、統合された分散環境の一部であり得る。
一部の例において、ネットワーク108は、ケーブルネットワーク、インターネット、無線ネットワーク、携帯電話ネットワーク、イントラネットシステム、ならびに/または他の私的および/もしくは公共ネットワークなど、複数の異なるタイプのネットワークのうちの1つもしくはこれらの組み合わせを含み得る。示される例は、ユーザー102がネットワーク108を介してサービスプロバイダーコンピューター106にアクセスすることを表わしているが、記載の技術は、ユーザー102が固定電話で1つ以上のユーザーデバイス104を介して、キオスクを介して、または他の方法により1つ以上のサービスプロバイダーコンピューター106と対話する場合においても等しく適用され得る。また、記載の技術は、他のクライアント/サーバー構成(たとえば、セットトップボックスなど)および非クライアント/サーバー構成(たとえば、ローカルに記憶されるアプリケーションなど)においても適用され得る。
ユーザーデバイス104は、携帯電話、スマートフォン、パーソナルデジタルアシスタント(PDA)、ラップトップコンピューター、デスクトップコンピューター、シンクライアントデバイス、タブレットPCなどの任意のタイプのコンピューティングデバイスであり得るが、これらに限定されない。一部の例において、ユーザーデバイス104は、ネットワーク108を介して、または他のネットワーク接続を介して、サービスプロバイダーコンピューター106と通信し得る。さらに、ユーザーデバイス104は、データベース112(または他のデータストア)の処理されるデータを要求するための1つ以上のクエリもしくはクエリ宣言を提供するようにも構成され得る。
一部の局面において、サービスプロバイダーコンピューター106は、モバイル、デスクトップ、シンクライアント、および/またはサーバーのようなクラウドコンピューティングデバイスなど、任意のタイプのコンピューティングデバイスでもあり得るが、これらに限定されない。一部の例において、サービスプロバイダーコンピューター106は、ネットワーク108を介して、または他のネットワーク接続を介してユーザーデバイス104と通信し得る。サービスプロバイダーコンピューター106は、場合によってはクラスターにおいて、サーバーファームとして、または互いに関連付けられていない個別のサーバーとして構成される1つ以上のサーバーを含み得る。これらのサーバーは、本願明細書において記載されるCQLリレーションの管理、入力リレーションの生成、入力リレーションに関連付けられるコンフィギュラブルウィンドウ演算子、および出力リレーションの生成を含む、本願明細書に記載される特徴を行なう、もしくはホスティングするように構成され得る。加えて、一部の局面において、サービスプロバイダーコンピューター106は、ストリーミングデータソースコンピューター110および/またはデータベース112を含む、統合された分散コンピューティング環境の一部として構成され得る。
1つの例示的な構成において、サービスプロバイダーコンピューター106は、少なくとも1つのメモリー136と1つ以上の処理ユニット(プロセッサー)138とを含み得る。プロセッサー138は、ハードウェア、コンピューター実行可能命令、ファームウェア、またはこれらの組み合わせにおいて適切に実施され得る。プロセッサー138のコンピューター実行可能命令またはファームウェアの実施は、記載される様々な機能を行なうために任意の適したプログラミング言語で書かれたコンピューター実行可能命令もしくはマシン実行可能命令を含み得る。
メモリー136は、プロセッサー138上でローディング可能および実行可能なプログラム命令ならびにこれらのプログラムの実行時に生成されるデータを記憶し得る。サービスプロバイダーコンピューター106の構成およびタイプに応じて、メモリー136は、揮発性(ランダムアクセスメモリー(RAM)など)および/または不揮発性(読み取り専用メモリー(ROM)、フラッシュメモリーなど)であり得る。サービスプロバイダーコンピューター106またはサーバーは、追加の記憶部140も含み得て、この記憶部140は、リムーバブル記憶部および/または非リムーバブル記憶部を含み得る。追加の記憶部140は、磁気記憶部、光学ディスク、および/またはテープ記憶部を含み得るが、これらに限定されない。ディスクドライブおよびこれに関連付けられるコンピューター読取可能媒体は、コンピューター読取可能命令、データ構造、プログラムモジュール、およびコンピューティングデバイスのための他のデータの不揮発性記憶部を提供し得る。一部の実施において、メモリー136は、スタティックランダムアクセスメモリー(SRAM)、ダイナミックランダムアクセスメモリー(DRAM)、またはROMなどの複数の異なるタイプのメモリーを含み得る。
メモリー136ならびにリムーバブルおよび非リムーバブルの両方の追加の記憶部140は、すべてコンピューター読取可能記憶媒体の例である。たとえば、コンピューター読取可能記憶媒体は、コンピューター読取可能命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報の記憶のための任意の方法もしくは技術において実施される、揮発性もしくは不揮発性のリムーバブルもしくは非リムーバブル媒体を含み得る。メモリー136および追加の記憶部140は、すべてコンピューター記憶媒体の例である。
サービスプロバイダーコンピューター106は、記憶されるデータベース、他のコンピューティングデバイスもしくはサーバー、ユーザー端末、および/またはネットワーク108上の他のデバイスとサービスプロバイダーコンピューター106が通信することを可能にする通信接続142も含み得る。サービスプロバイダーコンピューター106は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ディスプレイ、1つ以上のスピーカー、プリンターなどの入力/出力(I/O)デバイス144も含み得る。
より詳細にメモリー136の内容を見ると、メモリー136は、オペレーティングシステム146と、少なくとも入力リレーションモジュール148、コンフィギュラブルウィンドウ演算子モジュール150、および出力リレーションモジュール152を含む、本願明細書に開示される特徴を実施するための1つ以上のアプリケーションプログラムもしくはサービスとを含み得る。本願明細書において使用されるモジュールは、サービスの一部であるサーバーもしくはサーバーのクラスターによって実行されるプログラミングモジュールを言い得る。この特定の文脈において、モジュールは、サービスプロバイダーコンピューター106の一部であるサーバーもしくはサーバーのクラスターによって実行され得る。
一部の例において、入力リレーションモジュール148は、1つ以上の入力リレーションを受信、識別、生成、もしくは提供するように構成され得る。一実施形態において、入力リレーション154は、アプリケーションに関連するデータレコードの有界集合(たとえば、リレーションまたはアーカイブされたリレーション)を含む外部データソースである。
1つの例において、入力リレーション154は、アプリケーションに関連する(たとえば、データソースコンピューター110からの)データもしくはイベントのストリームを含む受信中の連続入力データストリームに基づいて生成され得る外部データソースであり得て、ここで入力リレーションは、連続データストリームにおけるイベントストリームエントリーs1、s2…sNのうちの1つ以上を含むデータレコードの有界集合を含み得る。他の例において、入力リレーション154は、過去データのデータベース(たとえば、データベース112)に記憶されるアプリケーションに関連する情報に基づいて生成され得る外部データソースであり得て、入力リレーションは、Persistenceまたは過去データのデータベースから事前にローディングされる1つ以上のイベントストリームエントリー(たとえば、s1および/もしくはs2、またはそれより多いもしくは少ない)を含むデータレコードの有界集合を含み得る。
他の例において、入力リレーション154は、アプリケーションに関連する1つ以上のイベントストリームエントリーs1、s2…sNへの参照を含み得る1つ以上のアーカイブされたリレーションに基づいて生成され得る外部データソースであり得る。1つの例において、入力リレーション154は、1つ以上のアーカイブされたリレーションから最初に生成され得て、入力リレーションの残りは、受信中のストリーミングデータに基づいて生成され得る。
1つの例において、入力リレーション154におけるデータレコードは、入力リレーション154の変化する状態を表わすタイムスタンプを持つタプルもしくはデータレコードのシーケンスを含み得る。一実施形態において、入力リレーション154における各データレコードは、以下のスキーマ「S」:(<time stamp>,<attribute(s)>)によって表され得るイベントストリームエントリーを含み得て、ここで<attributes>は、スキーマのデータ部分を表わし、1つ以上の属性を含み得る。
コンフィギュラブルウィンドウ演算子モジュール150は、連続クエリにおける入力リレーションを処理するための1つ以上のコンフィギュラブルウィンドウ演算子156を定義するように構成され得る。入力リレーションについてコンフィギュラブルウィンドウ演算子が定義され得る様々な方法がある。一実施形態において、コンフィギュラブルウィンドウ演算子は、ユーザーコンフィギュラブルであり得る。特定の実施形態において、および以下に詳細に記載されるように、コンフィギュラブルウィンドウ演算子は、入力リレーションにおけるデータレコードのタイムスタンプtに対してコンフィギュラブルウィンドウ演算子によって特定される範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む出力リレーションを作り得る。
一実施形態において、第1のタイプのコンフィギュラブルウィンドウ演算子は、入力リレーションに対する「ジェネリック値」ウィンドウ演算子として定義され得る。1つの例において、「ジェネリック値」ウィンドウ演算子は、以下のように入力リレーション154に対するサブクローズとして表現され得る。
RANGE range_val ON attr.
特定の実施形態において、「ジェネリック値」ウィンドウ演算子は、入力リレーションにおける対応するデータレコードのタイムスタンプtに対する「range val」である特定の範囲内に属性「attr」値がある入力リレーションからのデータレコードの部分集合を含む出力リレーションを作り得る。CQLクエリにおける入力リレーションに対して「ジェネリック値」ウィンドウオペレーターが定義され得る方法の例示的な動作は以下に詳細に記載される。
他の実施形態において、第2のタイプのコンフィギュラブルウィンドウ演算子は、入力リレーションに対する「現在時間値」ウィンドウ演算子として定義され得る。1つの例において、「現在時間値」ウィンドウ演算子は、以下のように入力リレーションに対するサブクローズとして表現され得る。
CurrentHour on attr
一実施形態において、「現在時間値」ウィンドウ演算子は、入力リレーションにおける対応するデータレコードのタイムスタンプtに対する「CurrentHour」である現在時間に属性「attr」値がある入力リレーションからのデータレコードの部分集合を含む出力リレーションを作り得る。CQLクエリにおける入力リレーションに対して「現在時間値」ウィンドウ演算子が定義され得る方法の例示的な動作は以下に詳細に記載される。
他の実施形態において、第3のタイプのコンフィギュラブルウィンドウ演算子は、入力リレーションに対する「現在期間値」ウィンドウ演算子として定義され得る。1つの例において、「現在期間値」ウィンドウ演算子は、以下のように入力リレーションに対するサブクローズとして表現され得る。
CurrentPeriod("t1","t2") on attr
一実施形態において、「現在期間値」ウィンドウ演算子は、入力リレーションにおける対応するデータレコードのタイムスタンプtに対する「CurrentPeriod」である現在時間期間内に属性「attr」値がある入力リレーションからのデータレコードの部分集合を含む出力リレーションを作り得る。CQLクエリにおける入力リレーションに対して「CurrentPeriod」ウィンドウ演算子が定義され得る方法の例示的な動作は、以下により詳細に記載される。
上の記載は、CQLクエリにおける入力リレーションに対するコンフィギュラブルウィンドウ演算子の3つのタイプの定義づけに関連するが、少なくとも一部の実施形態においては、追加のタイプのウィンドウ演算子が、CQLクエリにおける入力リレーションに対してコンフィギュラブルウィンドウ演算子モジュール150によって定義され得ることが理解される。
出力リレーションモジュール152は、1つ以上の出力リレーション158を生成するように構成され得る。一実施形態において、出力リレーションモジュール152は、CQLエンジンおよび/またはCQサービスからのCQLクエリを受信するように構成され得る。特定の実施形態において、出力リレーションモジュール152は、CQLクエリにおける入力リレーションを識別し、入力リレーションに対して定義されるコンフィギュラブルウィンドウ演算子を識別し、コンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてCQLクエリを実行し、出力リレーションを生成し得る。代替的に、一部の例において、入力リレーションを含むクエリ(たとえば、CQLクエリ)が識別もしくは受信される場合、CQLエンジンおよび/またはCQサービスは、クエリ206をパースすることで、入力リレーションを処理して出力リレーションを生成する。一実施形態において、および以下に詳細に記載されるように、出力リレーションは、入力リレーションにおけるコンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。特定の実施形態において、CQLクエリが受信され、メモリー内の出力リレーションにおけるデータレコードの部分集合が処理される。
図2は、リレーションに対する値ベースのウィンドウの管理のための特徴を記載するのに用いられる簡易化されたブロック図を示す。示されるように、図2は、入力リレーション154を管理するためのCQLエンジンおよび/またはCQサービス200の少なくとも1つの実施について記載する。CQLエンジンおよび/またはCQサービス200は、入力ソース202からの情報を最初に受け取り得る。1つの例において、入力ソース202は、アプリケーションに関連するデータもしくはイベントのストリームを含む受信中の連続入力データを受信するデータソースコンピューター110を含み得る。1つの例において、CQLエンジンおよび/またはCQサービス200は、入力ソース202からのデータの表現であり得る入力リレーション154を識別し得る。一部の例において、および上記のように、入力ソース202は、アプリケーションに関連するデータレコードの有界集合を含み得る。特定の実施形態において、入力リレーション154を含むクエリ(たとえば、連続クエリ)が識別もしくは受信されると、CQLエンジン200はクエリをパースし、クエリにおけるコンフィギュラブルウィンドウ演算子156を識別するとともにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行し、出力リレーション158を生成する。一実施形態において、CQLエンジンおよび/またはCQサービス200は、入力リレーションにおける属性に対してコンフィギュラブルウィンドウ演算子を適用することによってクエリを実行し、出力リレーションを生成し得る。一部の例において、出力リレーションは、アプリケーションに関連するデータ(たとえば、データレコードの部分集合)の表現であり得る。そして、CQLエンジンおよび/またはCQサービス200は、たとえば図1に示されるデータベースなどの出力先204に出力リレーションを記憶し得る。
図3は、本開示の一実施形態に従う、入力リレーションに記憶される例示的な情報、ならびにコンフィギュラブルウィンドウ演算子を使用して入力リレーションが処理される場合の出力リレーションの生成を示す。例として、以下のように生成され得る入力リレーション「CallCentreRecords」について考慮する。
CREATE RELATION CallCentreRecords(callerName char(50), callTime, timestamp)
この定義により、入力リレーション「CallCentreRecords」は、第1の属性「callerName」および第2の属性「callTime」という2つの属性と、タイムスタンプとを含む。1つの例において、入力リレーション「CallCentreRecords」は、コールセンターからのコール詳細記録に関連する連続データストリームを記憶し得る。ここで使用される「コールセンター」は、典型的に、カスタマーサービスの代表者が電話を介してカスタマーにサービスを提供し得るサービスネットワークをいう。コールセンターからの連続データストリームは、典型的に、短い時間間隔で要約されるコールに関連するコールバイコール(call-by-call)情報を含み得る。このようなコールバイコール情報は、たとえば、データベースにコールが記録もしくは受信される場合のためのタイムスタンプ、呼出元名、コールが行なわれた時間などを含み得る。
図3に示される例を参照すると、一実施形態において、入力リレーション「CallCenterRecords」302は、データレコードが入力リレーション302に挿入される時の各タイムスタンプ、コールを行なった呼出元の名前を識別する「callerName」属性、およびコールが行なわれた日時を識別する「callTime」属性を識別するカラムを含む。
特定の実施形態において、以下のように「CallCenterRecords」入力リレーション302を含むCQLクエリが識別もしくは受信され得る。
SELECT * FROM CallCentreRecords [RANGE 1 HOUR ON callTime]
上に示されるCQLクエリにより、コンフィギュラブルウィンドウ演算子は、「ジェネリック値」ウィンドウ演算子303として識別される。そして、CQlクエリは、「CallCenterRecords」入力リレーション302における属性「callTime」に対して「RANGE 1 HOUR」ウィンドウ演算子を適用することによって「ジェネリック値」ウィンドウ演算子303に少なくとも部分的に基づいて実行され、出力リレーションが生成される。「RANGE 1 HOUR」ウィンドウ演算子303を適用した結果として生成される出力リレーション304も図3に示される。
一実施形態において、および図3に示されるように、出力リレーション304は、データレコードのタイムスタンプtに対して特定の範囲「1 HOUR」に属性値「callTime」がある入力リレーション302からのデータレコードの部分集合を含む。図3に示される例において、一実施形態では、「CallCenterRecords」出力リレーション304は、各データレコードについて、入力リレーション302に対して「ジェネリック値」ウィンドウ演算子303を適用した結果として入力リレーション302からの特定のデータレコードが出力リレーション304に挿入されるか、もしくは出力リレーション304から取り除かれたかを示す「SIGN」属性を識別するカラムも含む。「CallCenterRecords」出力リレーション304が生成される方法は、以下に詳細に記載される。
「CallCenterRecords」入力リレーション302における第1のデータレコードについて考慮する。「CallCenterRecords」入力リレーション302における情報により、このレコードは、21/01/2012 9:00:00 AMのタイムスタンプを有し、呼出元「Robin」によって21/01/2012 8:30:00 AMにコールが行なわれたことを示す。「RANGE 1 HOUR」ウィンドウ演算子303が「callTime」属性に対して適用される場合、「CallCenterRecords」出力リレーション304に第1のデータレコードが挿入されるかどうかが判定される。この例において、「CallCenterRecords」入力リレーション302における第1のデータレコードは、「CallCenterRecords」出力リレーション304に挿入され、これはこのコールのコール時間(8:30:00AM)が21/01/2012 9:00:00 AMの現在タイムスタンプから1時間の範囲内に行なわれたためであり、ここで現在タイムスタンプからの1時間の範囲は、このデータレコードについては(8.00AMから9.00AM)であると定義される。一実施形態において、および図3Bに示されるように、「CallCenterRecords」出力リレーション304へのこのデータレコードの挿入は、データレコードに対応するSIGNカラムにおける+エントリーによって示される。
同様に、呼出元「Michael」によって21/01/2012 8:45:00 AMにコールが行なわれたことを示す「CallCenterRecords」入力リレーション302における第2のデータレコードもまた、このコールのコール時間(8:45:00AM)が21/01/2012 9:00:00 AMの現在タイムスタンプから1時間の範囲内に行なわれたことから、「CallCenterRecords」出力リレーション304に挿入され、ここで現在のタイムスタンプからの1時間の範囲は、このデータレコードについては(8:00:00 AMから9:00:00AM)であると定義される。
「CallCenterRecords」入力リレーション302における次のデータレコードは、現在タイムスタンプが21/01/2012 10:00:00 AMに移ったことを示す。さらに、10:00:00 AMの現在タイムスタンプにおける入力リレーション302に2つのデータレコードが挿入されることがさらに観察され得る。これらのレコードは、21/01/2012 9:06:00 AMにコールを行なった呼出元「Sandeep」と、21/01/2012 9:30:00 AMにコールを行なった呼出元「Anand」を含む。これらのレコードは、21/01/2012 10:00:00 AMの現在タイムスタンプの1時間の範囲内にあり、ここで現在タイムスタンプからの1時間の範囲が(9:00:00 AMから10:00:00 AM)であると定義されることから、これらもまた、これらのデータレコードの隣のSIGNカラムにおける+演算子によって示されるように「CallCenterRecords」出力リレーション304に挿入される。しかしながら、呼出元「Robin」および「Michael」を含むデータレコードはここでは現在タイムスタンプから1時間の範囲(9:00:00 AMから10:00:00 AM)内にはないことが観察され得る。このため、これらのレコードは、10:00:00 AMの現在タイムスタンプにおける「CallCenterRecords」から取り除かれる。一実施形態において、および図3に示されるように、これらのデータレコードが「CallCenterRecords」出力リレーション304から削除されることは、データレコードに対応するSIGNカラムにおける−エントリーによって示される。
ここで、現在タイムスタンプは21/01/2012 3:00:00 PMに移った。このタイムスタンプでの「CallCenterRecords」入力リレーション302におけるデータレコードは、21/01/2012 11:00 AMにコールを行なった呼出元「Unmesh」と、21/01/2012 1:15:00 PMにコールを行なった呼出元「Alex」とを含む。しかしながら、これらのコールのコール時間は21/01/2012 3:00:00 PMの現在タイムスタンプから1時間の範囲内に行なわれず、現在タイムスタンプから1時間の範囲は(2:00:00 PMから3:00:00 PM)であると定義されることから、これらのレコードは、出力リレーション304に挿入されない。しかしながら、21/01/2012 2:30:00 PMにコールを行なった呼出元「Sundar」は、このコールが21/01/2012 3:00:00 PMの現在タイムスタンプの1時間の範囲内に行なわれたことから、「CallCenterRecords」出力リレーション304に挿入される。同様に、呼出元「Sandeep」および「Anand」を含むデータレコードがここでは21/01/2012 3:00:00 PMの現在タイムスタンプから1時間の範囲内にないことが観察され得る。このため、これらのレコードは、データレコードに対応するSIGNカラムにおける−エントリーによって示されるように、「CallCenterRecords」出力リレーション304から取り除かれる。
「CallCenterRecords」入力リレーション302および「CallCenterRecords」出力リレーション304に列挙される情報は単に例として提供されるものであって本開示の範囲を限定する意図がないことが理解される。当業者は、多くの変形、変更、および代替を認識し得る。
図4は、本開示の他の実施形態に従う、入力リレーションに記憶される例示的な情報、ならびに入力リレーションがコンフィギュラブルウィンドウ演算子を使用して処理される場合の出力リレーションの生成を示す。図4は、本開示の一実施形態に従う、「CallCenterRecords」入力リレーション402に記憶される例示的な情報を示す。図4に示される例において、一実施形態では、入力リレーション「CallCenterRecords」402は、データレコードが入力リレーションに挿入される各タイムスタンプについて、コールを行なった呼出元の名前を識別する「callerName」属性およびコールが行なわれた日時を識別する「callTime」属性を識別するカラムを含む。
特定の実施形態において、以下のように「CallCenterRecords」入力リレーション402を含むCQLクエリが識別もしくは受信され得る。
SELECT callerName, callTime FROM CallCentreRecords[CurrentHour ON callTime]
上に示されるCQLクエリにより、コンフィギュラブルウィンドウ演算子は「現在時間」ウィンドウ演算子403として識別される。そして、CQLクエリは、「CallCenterRecords」入力リレーション402における属性「callTime」に対して「CurrentHour」ウィンドウ演算子403を適用することによって「現在時間」ウィンドウ演算子に少なくとも部分的に基づいて実行され、出力リレーションが生成される。「CurrentHour」ウィンドウ演算子403を適用した結果として生成される出力リレーション404は、図4に示される。
一実施形態において、および図4に示されるように、出力リレーション404は、データレコードのタイムスタンプtに対する現在時間に属性値「callTime」がある入力リレーション402からのデータレコードの部分集合を含む。図4に示される例において、一実施形態では、「CallCenterRecords」出力リレーション404は、各データレコードについて「CurrentHour」ウィンドウ演算子403を入力リレーション402に適用した結果として入力リレーション402からの特定のデータレコードが出力リレーション404に挿入されるか、または出力リレーション404から取り除かれたかどうかを示す「SIGN」属性を識別するカラムも含む。
図5は、本開示の他の実施形態に従う、入力リレーションに記憶される例示的な情報、ならびにコンフィギュラブルウィンドウ演算子を使用して入力リレーションが処理される場合の出力リレーションの生成を示す。図5は、本開示の一実施形態に従う、「CallCenterRecords」入力リレーション402に記憶される例示的な情報を示す。図5に示される例において、一実施形態では、入力リレーション「CallCenterRecords」502は、データレコードが入力リレーションに挿入される時の各タイムスタンプについて、コールを行なった呼出元の名前を識別する「callerName」属性およびコールが行なわれた日時を識別する「callTime」属性を識別するカラムを含む。
特定の実施形態において、以下のように「CallCenterRecords」入力リレーション502を含むCQLクエリが識別もしくは受信され得る。
SELECT callerName, callTime FROM CallCentreRecords[CurrentPeriod("0900","1500" ON callTime]
上に示されるCQLクエリにより、コンフィギュラブルウィンドウ演算子は、「現在期間」ウィンドウ演算子503として識別される。そして、CQLクエリは、「CallCenterRecords」入力リレーション502における属性「callTime」に対して「CurrentPeriod」ウィンドウ演算子503を適用することによって「CurrentPeriod」ウィンドウ演算子503に少なくとも部分的に基づいて実行され、出力リレーションが生成される。「CurrentPeriod」ウィンドウ演算子503を適用した結果として生成される出力リレーション504も図5に示される。
一実施形態において、および図5に示されるように、出力リレーション504は、データレコードのタイムスタンプtに対する現在期間CurrentPeriod("0900","1500)に属性値「callTime」がある入力リレーションからのデータレコードの部分集合を含み得る。図5に示される例において、一実施形態では、「CallCenterRecords」出力リレーション504は、CurrentPeriod("0900","1500")ウィンドウ演算子503を入力リレーション502に適用した結果として入力リレーション502からの特定のデータレコードが出力リレーション504に挿入されるか、または出力リレーション504から取り除かれたかどうかを示す「SIGN」属性を各データレコードについて識別するカラムも含む。
開示の技術により、連続クエリ(たとえば、CQLクエリ)を使用して、外部データソース(たとえば、リレーション)に記憶されるアプリケーションに関連する受信中のリアルタイム情報の処理が可能となる。この受信中のリアルタイム情報は、典型的に、インメモリーリアルタイムイベント処理エンジン(たとえば、CQLエンジン)を使用して処理される。しかしながら、リアルタイムで受信されるアプリケーションに関連する情報の量が増加すると、メモリーに記憶されるリレーションのサイズも増加する。連続クエリを使用して有限のメモリーにおいてこのような大きなサイズのリレーションを処理することは、有限のメモリーにおいて大きなサイズのリレーションに対して高いレートの入力ストリームを結合させることを伴い得ることから、スケーラブルではない。
開示の技術により、連続クエリ(たとえば、CQLクエリ)におけるウィンドウ演算子を定義することによって、メモリーにおけるリレーションのデータレコードのセットの全体を処理するのではなく限られたメモリーにおいてリレーションのデータレコードの部分集合を照会することが可能となる。連続クエリ(たとえば、CQLクエリ)は、ウィンドウ演算子の継続的な期間にわたって入力リレーションに対して適用され、出力リレーションが生成される。出力リレーションに関連するデータレコードのセットは、ユーザーに対して提供される。ウィンドウ演算子は、ユーザーによってコンフィギュラブルであり、特定の時間の範囲にわたってリレーションにおけるデータレコードの部分集合を処理することを可能とする。このため、リレーションのデータレコードの部分集合は、メモリーにおけるリレーションのデータレコードのセットのすべてを処理するのではなく、限られたメモリーにおいて照会され得る。
開示の技術は、連続的な非有界データストリームの形態であり得るリアルワールドアプリケーションに関連するデータに適用され得る。このようなデータストリームの例としては、金融アプリケーションにおける株式相場表示装置、ネットワーク監視およびトラフィック管理における性能測定、ウェブトラッキングおよびパーソナル化におけるログ記録もしくはクリックストリーム、ファイヤーウォールベースのセキュリティにおけるネットワークパケットおよびメッセージ、電話通信におけるコール詳細記録などが含まれ得る。
図6および図7は、本願明細書において記載されるリレーションに対する値ベースのウィンドウの管理を実施するためのそれぞれの処理600および700を示す例示的なフロー図である。これらの処理600および700は、論理フロー図として示され、その各動作は、ハードウェア、コンピューター命令、またはそれらの組み合わせにおいて実施され得る動作のシーケンスを表わす。コンピューター命令の文脈において、動作は、1つ以上のプロセッサーによって実行される場合に記載の動作を行なう、1つ以上のコンピューター読取可能記憶媒体に記憶されるコンピューター実行可能命令を表わす。概して、コンピューター実行可能命令には、特定の機能を行なう、もしくは特定のデータタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。動作が記載される順序は、限定的に解釈されることを意図しておらず、任意の数の記載の動作が任意の順序で、および/または並列に組み合わされ得て、処理が実施され得る。
加えて、一部の、任意の、もしくはすべての処理は、実行可能命令を用いて構成される1つ以上のコンピューターシステムの制御下において行なわれ得る、および1つ以上のプロセッサー上でまとめて実行されるコード(たとえば、実行可能命令、1つ以上のコンピュータープログラム、または1つ以上のアプリケーション)として実施され得る、またはハードウェアによって実施され得る、またはこれらの組み合わせによって実施され得る。上記のように、コードは、たとえば1つ以上のプロセッサーによって実行可能な複数の命令を含むコンピュータープログラムの形態でコンピューター読取可能記憶媒体上に記憶され得る。コンピューター読取可能記憶媒体は、非一時的であり得る。
一部の例において、少なくとも図1(およびその他)に示される1つ以上のサービスプロバイダーコンピューター106(たとえば、少なくとも入力リレーションモジュール148、コンフィギュラブルウィンドウ演算子モジュール150、または出力リレーションモジュール152を利用する)は、図6の処理600を行ない得る。処理600は、入力リレーションの精製を含むことによってブロック602において開始され得る。ブロック604において、処理600は、入力リレーションを処理するクエリ(たとえば、CQLクエリ)を識別することを含み得る。ブロック606において、処理600は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別することを含み得る。さらに、一部の例において、処理600は、コンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行して出力リレーションを生成することを含むことにより、ブロック608において終了し得る。
図7は、本願明細書に記載されるリレーションに対する値ベースのウィンドウの管理を実施するための処理700を示す例示的なフロー図である。少なくとも図1(およびその他)に示される1つ以上のサービスプロバイダーコンピューター106(たとえば、少なくとも入力リレーションモジュール148、コンフィギュラブルウィンドウ演算子モジュール550、または出力リレーションモジュール152を利用する)は、図7の処理700を行ない得る。処理700は、入力リレーションの生成を含むことによってブロック702において開始され得る。一実施形態において、入力リレーションは、アプリケーションに関連するデータレコードの有界集合である。ブロック704において、処理700は、入力リレーションを識別する連続クエリ(たとえば、CQLクエリ)を受信することを含み得る。ブロック706において、処理700は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別することを含み得る。さらに、一部の例において、処理700は、ブロック708において、コンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいて連続クエリを実行して出力リレーションを生成することを含み得る。さらに、処理700は、ブロック710において、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供することを含むことによって終了し得る。
図8は、本開示の実施形態に従って使用され得るシステム環境800の構成部分を示す簡易化されたブロック図である。示されるように、システム環境800は、1つ以上のクライアントコンピューティングデバイス802,804,806,808を含み、これらは、1つ以上のネットワーク810(図1のネットワーク108と同様のネットワークなどであるが、これに限定されない)を通じて、ウェブブラウザー、専用クライアント(たとえば、Oracle Forms)などのクライアントアプリケーションを動作させるように構成される。様々な実施形態において、クライアントコンピューティングデバイス802,804,806,808は、ネットワーク810を通じてサーバー812と対話し得る。
クライアントコンピューティングデバイス802,804,806,808は、汎用パーソナルコンピューター(たとえば、Microsoft Windows(登録商標)および/またはApple Macintosh(登録商標)オペレーティングシステムの様々なバージョンを実行するパーソナルコンピューターおよび/またはラップトップコンピューターが含まれる)、携帯電話もしくはPDA(Microsoft Windows Mobile(登録商標)などのソフトウェアを実行するとともに、インターネット、電子メール、SMS、ブラックベリー、もしくは他の通信プロトコルに対応する)、および/または様々な商業的に利用可能なUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(様々なGNU/Linux(登録商標)オペレーティングシステムを含み、限定されない)のいずれかを実行するワークステーションコンピューターであり得る。代替的に、クライアントコンピューティングデバイス802,804,806,808は、ネットワーク(たとえば、以下に記載のネットワーク810)を通じて通信可能な、シンクライアントコンピューター、インターネット対応ゲーミングシステム、および/またはパーソナルメッセージングデバイスなどの任意の他の電子デバイスであり得る。4つのクライアントコンピューティングデバイスを用いて例示的なシステム環境800が示されているが、任意の数のクライアントコンピューティングデバイスが支持され得る。センサーを有するデバイスなどの他のデバイスが、サーバー812と対話し得る。
システム環境800は、ネットワーク810を含み得る。ネットワーク810は、TCP/IP、SNA、IPX、AppleTalkなどを含みこれらに限定されない様々な商業的に利用可能なプロトコルのいずれかを使用してデータ通信をサポートすることができる、当業者によく知られた任意のタイプのネットワークであり得る。単に例示であるが、ネットワーク1510は、イーサネット(登録商標)ネットワークおよび/またはトークンリングネットワークなどのローカルエリアネットワーク(LAN)、広域ネットワーク、仮想プライベートネットワーク(VPN)を含むがこれに限定されない仮想ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば、IEEE802.11プロトコルスイート、当該技術において知られるBluetooth(登録商標)プロトコル、および/または任意の他の無線プロトコルにおいて運用されるネットワーク)、ならびに/またはこれらおよび/もしくは他のネットワークの組み合わせであり得る。
また、システム環境800は、汎用コンピューター、専用サーバーコンピューター(たとえば、PCサーバー、UNIXサーバー、ミッドレンジサーバー、メインフレームコンピューター、ラックマウントサーバーなどを含む)、サーバーファーム、サーバークラスター、または任意の他の適切な構成および/または組み合わせであり得る1つ以上のサーバーコンピューター812を含む。様々な実施形態において、サーバー812は、上記の開示において記載される1つ以上のサービスもしくはソフトウェアアプリケーションを実行するように適合され得る。たとえば、サーバー812は、本開示の実施形態に係る、上記の処理を行なうためのサーバーに対応し得る。
サーバー812は、上記のいずれかを含むオペレーティングシステム、ならびに商業的に利用可能なサーバーオペレーティングシステムのいずれかを実行し得る。また、サーバー812は、HTTPサーバー、FTPサーバー、CGIサーバー、Java(登録商標)サーバー、データベースサーバーなどを含む、様々な付加的なサーバーアプリケーションおよび/またはミッドティアアプリケーションのいずれかを実行し得る。例示的なデータベースサーバーは、Oracle、Microsoft、Sybase、IBMなどから商業的に入手可能なものも含むが、これらに限定されない。
また、システム環境800は、1つ以上のデータベース814,816を含み得る。データベース814,816は、様々な場所に置かれ得る。たとえば、データベース814,816のうちの1つ以上は、サーバー812に対してローカルの(および/またはそこに置かれる)非一時的記憶媒体上に置かれ得る。代替的に、データベース814,816は、サーバー812から遠隔に設けられ得て、ネットワークベースもしくは専属接続を介してサーバー812と通信し得る。実施形態の1つのセットにおいて、データベース814,816は、当業者によく知られるストレージエリアネットワーク(SAN)内に置かれ得る。同様に、サーバー812に帰する機能を行なうために必要な任意のファイルは、適宜、サーバー812にローカルに記憶され得る、および/または遠隔的に記憶され得る。実施形態の1つの集合において、データベース814,816は、SQLフォーマットの命令に応答してデータを記憶、更新、および検索するように適合される、Oracleによって提供されるデータベースなどのリレーショナルデータベースを含み得る。
図9は、本開示の実施形態に従って使用され得るコンピューターシステム900を示す簡易化されたブロック図である。たとえば、サービスプロバイダーコンピューター106は、システム900などのシステムを使用して実施され得る。コンピューターシステム900は、バス901を介して電気的および/または通信可能に結合され得るハードウェア要素を含んで示される。ハードウェア要素は、1つ以上の中央処理ユニット(CPU)902、1つ以上の入力デバイス904(たとえば、マウス、キーボードなど)、および1つ以上の出力デバイス906(たとえば、ディスプレイデバイス、プリンターなど)を含み得る。コンピューターシステム900は、1つ以上の記憶デバイス908も含み得る。たとえば、記憶デバイス908は、ディスクドライブ、光学記憶デバイス、ならびにプログラム可能および/またはフラッシュ更新可能であるランダムアクセスメモリー(RAM)および/もしくは読み取り専用メモリー(ROM)などのソリッドステート記憶デバイスなどのデバイスを含み得る。
コンピューターシステム900は、コンピューター読取可能記憶媒体リーダー912、通信サブシステム914(たとえば、モデム、ネットワークカード(無線もしくは有線)、赤外線通信デバイスなど)、ならびに上記のようなRAMおよびROMデバイスを含み得るワーキングメモリー918を付加的に含み得る。一部の実施形態において、コンピューターシステム900は、デジタル信号プロセッサー(DSP)、専用プロセッサーなどを含み得る、処理加速ユニット916も含み得る。
コンピューター読取可能記憶媒体リーダー912は、コンピューター読取可能記憶媒体910にさらに接続され得て、これらは合わせて(および、選択的には、記憶デバイス908と組み合わせて)包括的に、遠隔、ローカル、固定、および/またはリムーバブル記憶デバイスと、コンピューター読取可能情報を一時的および/またはより永続的に記憶するための記憶媒体とを加えたものを表わす。通信システム914は、ネットワーク952、および/またはシステム環境900に関して上で記載される任意の他のコンピューターとデータが交換されることを許容し得る。
コンピューターシステム900は、ワーキングメモリー918内に位置しているものとして示され、オペレーティングシステム920および/またはアプリケーションプログラム(クライアントアプリケーション、ウェブブラウザー、ミッドティアアプリケーション、RDBMSなどであり得る)および/または他のコードソフトウェア要素も含み得る。例示的な実施形態において、ワーキングメモリー918は、上記のような信頼当事者およびオープン許可に関連する処理のための実行可能コードおよび関連付けられるデータ構造を含み得る。なお、コンピューターシステム900の代替的な実施形態は、上記のものからの様々な変更を有し得ることを理解すべきである。たとえば、カスタマイズされるハードウェアも使用され得る、および/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、またはその両方で実施され得る。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続も採用され得る。
図10は、本発明の他の実施形態に従う、本願明細書に記載されるリレーションに対する値ベースのウィンドウの管理を実施するための処理1000を示す例示的なフロー図を示す。少なくとも図1(およびその他)に示される1つ以上のサービスプロバイダーコンピューター106(たとえば、少なくとも入力リレーションモジュール148、コンフィギュラブルウィンドウ演算子モジュール150、または出力リレーションモジュール152を利用する)は、図10の処理1000を行ない得る。処理1000は、入力リレーションを処理するように構成されるクエリ(たとえば、連続クエリ)を識別することを含むことによってブロック1002において開始され得る。ブロック1004において、処理1000は、コンフィギュラブルウィンドウ演算子に基づいてクエリを開始して出力リレーションを生成することを含み得る。ブロック1006において、処理1000は、入力イベントを生成するとともにそれをCQLエンジンおよび/またはCQサービス200に送信することを含み得る。一部の例において、入力イベントは、新しいイベントがCQLエンジンおよび/またはCQサービス200において受信される時に生成され得る。たとえば、入力イベントは、上記の「CallCentreRecords」入力リレーション302における呼出元によって行なわれる新しいコールを含み得る。ブロック1008において、処理1000は、入力イベントおよび較正可能ウィンドウ演算子を受信し、出力イベントを作ることを含み得る。出力イベントは、たとえば、「CallCenterRecords」入力リレーション302における「コール時間」属性に対してコンフィギュラブルウィンドウ演算子が適用される時に「CallCenterRecords」出力リレーション304に挿入されるデータレコードを含み得る。
図11は、本発明の特定の実施形態に従って使用され得るサービスプロバイダーデバイス1101を示す簡易化されたブロック図である。サービスプロバイダーデバイス1101のブロックは、本発明の原則を実行するために、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実施され得る。当業者は、図11に記載されるブロックが組み合わされ得る、またはサブブロックに分離され得て、上記の本発明の原則が実施されることを理解する。このため、本願明細書における記載は、可能性のある組み合わせもしくは分離、または本願明細書に記載される機能ブロックのさらなる定義を支持し得る。
図11に示されるように、サービスプロバイダーデバイス1101は、入力リレーションユニット1102と、コンフィギュラブルウィンドウ演算子ユニット1103と、出力リレーションユニット1105と、提供ユニット1107とを含み得る。入力リレーションユニット1102は、入力リレーションを識別する連続クエリを受信するように構成され得て、ここで入力リレーションは、アプリケーションに関連するデータレコードの有界集合である。コンフィギュラブルウィンドウ演算子ユニット1103は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別するように構成され得る。出力リレーションユニット1105は、コンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいて連続クエリを実行して出力リレーションを生成するように構成され得る。提供ユニット1107は、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供するように構成され得る。一実施形態において、各ユニットは、コンピュータープログラム命令を読み取ることによって対応する処理を行なうプロセッサーとして実施され得る。
一実施形態において、入力リレーションは、アプリケーションに関連する受信中の連続入力データストリームに少なくとも部分的に基づいて生成される外部データソースであり得る。
一実施形態において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一実施形態において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一実施形態において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、ここで出力リレーションユニット1105は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用するようにさらに構成され得る。
一実施形態において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在時間値ウィンドウ演算子であり得て、ここで出力リレーションユニット1105は、出力リレーションを生成するために入力リレーションにおける属性に対して現在時間値ウィンドウ演算子を適用するようにさらに構成され得る。
一実施形態において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義される現在期間値ウィンドウ演算子であり得て、ここで出力リレーションユニット1105は、出力リレーションを生成するために入力リレーションにおける属性に対して現在期間値ウィンドウ演算子を適用するようにさらに構成され得る。
一実施形態において、提供ユニット1107は、出力リレーションを表示するようにさらに構成され得て、ここで出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
図12は、本発明の特定の実施形態に従って使用され得るサービスプロバイダーデバイス1201を示す簡易化されたブロック図である。サービスプロバイダーデバイス1201のブロックは、本発明の原則を実行するために、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実施され得る。当業者は、上記の本発明の原則を実行するために図12のブロックが結合され得る、またはサブブロックに分離され得ることを理解する。このため、本願明細書における記載は、可能性のある組み合わせもしくは分離、または本願明細書に記載の機能ブロックのさらなる定義を支持し得る。
図12に示されるように、サービスプロバイダーサービス1201は、入力リレーションユニット1202、コンフィギュラブルウィンドウ演算子ユニット1203、および出力リレーションユニット1205を含み得る。入力リレーションユニット1202は、入力リレーションを処理するように構成されるクエリを受信および識別するように構成され得る。コンフィギュラブルウィンドウ演算子ユニット1203は、入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別するように構成され得る。出力リレーションユニット1205は、出力リレーションを生成するためにコンフィギュラブルウィンドウ演算子に少なくとも部分的に基づいてクエリを実行するように構成され得る。一実施形態において、各ユニットは、コンピュータープログラム命令を読み取ることによって対応する処理を行なうプロセッサーとして実施され得る。
一実施形態において、入力リレーションは、アプリケーションに関連する受信中の連続入力データストリームに少なくとも部分的に基づいて背市営される外部データソースであり得る。
一実施形態において、入力リレーションは、過去データのデータベースに記憶されるアプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースであり得る。
一実施形態において、入力リレーションは、アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースであり得る。
一実施形態において、コンフィギュラブルウィンドウ演算子は、入力リレーションに対して定義されるジェネリック値ウィンドウ演算子であり得て、出力リレーションユニット1205は、出力リレーションを生成するために入力リレーションにおける属性に対してジェネリック値ウィンドウ演算子を適用するようにさらに構成され得る。
一実施形態において、サービスプロバイダーデバイス1201は、連続クエリの実行に少なくとも部分的に基づいて出力リレーションのデータレコードを提供するように構成される提供ユニット1207をさらに含み得る。
一実施形態において、提供ユニット1207は、出力リレーションを表示するようにさらに構成され得て、ここで出力リレーションは、コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある入力リレーションからのデータレコードの部分集合を含む。
コードもしくはコードの一部を記憶する記憶媒体およびコンピューター読み取り可能媒体は、当該技術において知られる、もしくは使用される任意の適切な媒体を含み、この媒体には、コンピューター読み取り可能命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報の記憶および/または伝達のための任意の方法および技術において実施される揮発性および不揮発性(非一時的)のリムーバブルおよび非リムーバブル媒体などの記憶媒体および通信媒体が含まれるが、これらに限定されず、RAM、ROM、EEPROM、フラッシュメモリー、もしくは他のメモリー技術、CD−ROM、デジタルバーサタイルディスク(DVD)、もしくは他の光学記憶部、磁気カセット、磁気テープ、磁気ディスク記憶部、もしくは他の磁気記憶デバイス、データ信号、データ伝達、もしくは所望の情報を記憶もしくは伝達することができるとともにコンピューターによってアクセスすることができる任意の他の媒体が含まれ得る。
本開示の具体的な実施形態が記載されるが、様々な変形、変更、代替的構造、および均等物もまた本開示の範囲内に含まれる。本開示の実施形態は、特定の具体的なデータ処理環境内における動作に限定されず、複数のデータ処理環境内において自由に動作する。加えて、特定の連続したトランザクションおよびステップを使用して本開示の実施形態が記載されるが、本開示の範囲が記載される連続したトランザクションおよびステップに限定されないことは当業者にとって明らかである。
さらに、本開示の実施形態は、ハードウェアおよびソフトウェアの特定の組み合わせを使用して記載されるが、ハードウェアおよびソフトウェアの他の組み合わせも本開示の範囲内にあることを認識すべきである。本開示の実施形態は、ハードウェアのみ、ソフトウェアのみ、またはこれらの組み合わせで実施され得る。
このため、明細書および図面は、限定的ではなく例示的であるものとして考慮される。しかしながら、より広い主旨および範囲から逸脱することなく追加、削減、削除、および他の変更および変化が行なわれ得ることは明らかである。本開示の特徴を提供するための例示的な方法およびシステムは、上に記載されている。これらのシステムおよび方法の一部もしくはすべては、上記の図1から図12に示されるものなどのアーキテクチャによって少なくとも部分的に実施され得るが、必要ではない。
構造的特徴および/または方法論的な動作に対して具体的な言語で実施形態が記載されるが、開示は必ずしも記載される具体的な特徴もしくは動作に限定されないことが理解される。むしろ、具体的な特徴および動作は実施形態を実施する例示的な形態として開示されている。とりわけ、「can」、「could」、「might」、または「may」などの条件的な言語は、具体的に述べられない限り、または使用される文脈において理解されない限り、特定の実施形態が特定の特徴、要素、および/またはステップを含み、他の実施形態が含み得ないものとして伝えることを概して意図している。したがって、このような条件的な言語は、1つ以上の実施形態に対して特徴、要素、および/またはステップが必要であること、またはユーザー入力もしくは命令の有無に関わらずこれらの特徴、要素、および/またはステップが含まれるかもしくは任意の特定の実施形態において行なわれるかを決定するためのロジックを1つ以上の実施形態が必ず含む必要があることを暗に示すことを概して意図していない。

Claims (7)

  1. コンピュータで実行される方法であって、
    アプリケーションに関連する連続入力データストリームを受信することと、
    前記連続入力データストリームから入力リレーションを生成することとを含み、
    前記入力リレーションは、前記連続入力データストリームのデータレコードの有界集合であり、方法はさらに、
    前記入力リレーションを識別する連続クエリを受信することと、
    前記入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別することと、
    前記入力リレーションの属性を前記コンフィギュラブルウィンドウ演算子に適用することによって前記連続クエリを実行して出力リレーションを生成することとを含み、
    前記属性は、前記入力リレーションに関連付けられたイベントの特性を含み、前記方法は、さらに、
    前記コンフィギュラブルウィンドウ演算子によって定義された、前記入力リレーションに前記イベントが挿入された時間から特定時間範囲内において前記イベントが発生したか否かを判断することと、
    前記イベントが前記特定時間範囲内に発生したか否かの判断結果に応じて、前記出力リレーションに対して前記イベントを挿入するか、または、前記出力リレーションから前記イベントを取り除くことと、
    前記出力リレーションのデータレコードを提供することとを含み、
    前記出力リレーションは、前記イベントが前記特定時間範囲内に発生したことに基づいて挿入された当該イベントを含む、コンピュータで実行される方法。
  2. 前記入力リレーションは、過去データのデータベースに記憶される前記アプリケーションに関連する情報に少なくとも部分的に基づいて生成される外部データソースである、請求項1に記載のコンピュータで実行される方法。
  3. 前記入力リレーションは、前記アプリケーションに関連する1つ以上のアーカイブされたリレーションに少なくとも部分的に基づいて生成される外部データソースである、請求項1または2に記載のコンピュータで実行される方法。
  4. 前記データレコードを提供することは、前記出力リレーションを表示することを含み、前記出力リレーションは、前記コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある前記入力リレーションからの前記データレコードの部分集合を含む、請求項1〜のいずれか1項に記載のコンピュータで実行される方法。
  5. 1つ以上のプロセッサーによって実行可能な複数の命令を含むコンピュータ読取可能プログラムであって、前記複数の命令は、
    前記1つ以上のプロセッサーに、アプリケーションに関連する連続入力データストリームを受信させる命令と、
    前記1つ以上のプロセッサーに、前記連続入力データストリームから入力リレーションを生成させる命令と、
    前記1つ以上のプロセッサーに、前記入力リレーションを識別する連続クエリを受信させる命令と、
    前記1つ以上のプロセッサーに、前記入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別させる命令と、
    前記1つ以上のプロセッサーに、前記入力リレーションの属性を前記コンフィギュラブルウィンドウ演算子に適用することによって前記連続クエリを実行して出力リレーションを生成させる命令とを含み、
    前記属性は、前記入力リレーションに関連付けられたイベントの特性を含み、前記複数の命令は、さらに、
    前記1つ以上のプロセッサーに、前記コンフィギュラブルウィンドウ演算子によって定義された、前記入力リレーションに前記イベントが挿入された時間から特定時間範囲内において前記イベントが発生したか否かを判断させる命令と、
    前記1つ以上のプロセッサーに、前記イベントが前記特定時間範囲内に発生したか否かの判断結果に応じて、前記出力リレーションに対して前記イベントを挿入するか、または、前記出力リレーションから前記イベントを取り除くかを判断させる命令と、
    前記1つ以上のプロセッサーに、前記出力リレーションのデータレコードを提供させる命令とを含み、
    前記出力リレーションは、前記イベントが前記特定時間範囲内に発生したことに基づいて挿入された当該イベントを含む、コンピュータ読取可能プログラム。
  6. システムであって、
    複数の命令を記憶するメモリーと、
    前記メモリーにアクセスするように構成される1つ以上のプロセッサーとを備え、前記1つ以上のプロセッサーは、前記複数の命令を実行するようにさらに構成され、前記複数の命令は少なくとも、
    アプリケーションに関連する連続入力データストリームを受信し、
    連続入力データストリームから入力リレーションを生成し、
    前記入力リレーションを識別する連続クエリを受信し、
    前記入力リレーションの処理に関連付けられるコンフィギュラブルウィンドウ演算子を識別し、
    前記入力リレーションの属性を前記コンフィギュラブルウィンドウ演算子に適用することによって前記連続クエリを実行して出力リレーションを生成する命令を含み、
    前記属性は、前記入力リレーションに関連付けられたイベントの特性を含み、前記複数の命令は、さらに、
    前記コンフィギュラブルウィンドウ演算子によって定義された、前記入力リレーションに前記イベントが挿入された時間から特定時間範囲内において前記イベントが発生したか否かを判断し、
    前記イベントが前記特定時間範囲内に発生したか否かの判断結果に応じて、前記出力リレーションに対して前記イベントを挿入するか、または、前記出力リレーションから前記イベントを取り除き、
    前記出力リレーションのデータレコードを提供する命令を含み、
    前記出力リレーションは、前記イベントが前記特定時間範囲内に発生したことに基づいて挿入された当該イベントを含む、システム。
  7. 前記1つ以上のプロセッサーは、前記出力リレーションを表示するようにさらに構成され、前記出力リレーションは、前記コンフィギュラブルウィンドウ演算子によって定義される特定の範囲内に属性値がある前記入力リレーションからの前記データレコードの部分集合を含む、請求項に記載のシステム。
JP2016516778A 2013-05-30 2014-05-28 連続データストリームにおけるリレーションに対する値ベースのウィンドウ Active JP6511438B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/906,162 US9418113B2 (en) 2013-05-30 2013-05-30 Value based windows on relations in continuous data streams
US13/906,162 2013-05-30
PCT/US2014/039771 WO2014193943A1 (en) 2013-05-30 2014-05-28 Value based windows on relations in continuous data streams

Publications (3)

Publication Number Publication Date
JP2016524756A JP2016524756A (ja) 2016-08-18
JP2016524756A5 JP2016524756A5 (ja) 2017-07-06
JP6511438B2 true JP6511438B2 (ja) 2019-05-15

Family

ID=51023120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016516778A Active JP6511438B2 (ja) 2013-05-30 2014-05-28 連続データストリームにおけるリレーションに対する値ベースのウィンドウ

Country Status (5)

Country Link
US (1) US9418113B2 (ja)
EP (1) EP3005164A1 (ja)
JP (1) JP6511438B2 (ja)
CN (1) CN105308592B (ja)
WO (1) WO2014193943A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200145621A (ko) * 2019-06-20 2020-12-30 쿠팡 주식회사 데이터 스트림의 실시간 처리를 위한 시스템 및 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140196B2 (en) * 2008-06-04 2018-11-27 Oracle International Corporation System and method for configuring a sliding window for testing an event processing system based on a system time
US10102091B2 (en) 2008-06-04 2018-10-16 Oracle International Corporation System and method for supporting a testing framework for an event processing system using multiple input event streams
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US9262479B2 (en) 2012-09-28 2016-02-16 Oracle International Corporation Join operations for continuous queries over archived views
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
CA2932763C (en) 2013-12-05 2022-07-12 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
US9934279B2 (en) * 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9558225B2 (en) * 2013-12-16 2017-01-31 Sybase, Inc. Event stream processor
US20150310069A1 (en) * 2014-04-28 2015-10-29 Teradata Us, Inc. Methods and system to process streaming data
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10152480B2 (en) 2015-01-31 2018-12-11 Splunk Inc. Archiving indexed data
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
WO2017135838A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Level of detail control for geostreaming
WO2017135837A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Pattern based automated test data generation
US10122788B2 (en) * 2016-03-29 2018-11-06 Amazon Technologies, Inc. Managed function execution for processing data streams in real time
US10514952B2 (en) 2016-09-15 2019-12-24 Oracle International Corporation Processing timestamps and heartbeat events for automatic time progression
US11573965B2 (en) 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
EP3513320B1 (en) * 2016-09-15 2021-12-01 Oracle International Corporation Spatial change detector in stream data
WO2018053343A1 (en) * 2016-09-15 2018-03-22 Oracle International Corporation Managing snapshots and state with micro-batching
JP6741203B2 (ja) * 2017-02-09 2020-08-19 日本電気株式会社 分析装置
US10902000B2 (en) 2017-09-29 2021-01-26 Oracle International Corporation Heartbeat propagation in a distributed stream processing system
US10877971B2 (en) 2017-09-29 2020-12-29 Oracle International Corporation Logical queries in a distributed stream processing system
WO2020164731A1 (en) * 2019-02-15 2020-08-20 Huawei Technologies Co., Ltd. A system for embedding stream processing execution in a database
CN113393296A (zh) * 2021-06-16 2021-09-14 北京沃东天骏信息技术有限公司 一种数据关系的表示方法、装置、设备及存储介质

Family Cites Families (406)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051947A (en) 1985-12-10 1991-09-24 Trw Inc. High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US4996687A (en) 1988-10-11 1991-02-26 Honeywell Inc. Fault recovery mechanism, transparent to digital system function
US5339392A (en) 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
US5761493A (en) 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5495600A (en) 1992-06-03 1996-02-27 Xerox Corporation Conversion of queries to monotonically increasing incremental form to continuously query a append only database
US5918225A (en) 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
US5664172A (en) 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
EP0702294A3 (en) 1994-09-13 1997-05-02 Sun Microsystems Inc Method and device for diagnosing lexical errors
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
US5706494A (en) 1995-02-10 1998-01-06 International Business Machines Corporation System and method for constraint checking bulk data in a database
US5829006A (en) 1995-06-06 1998-10-27 International Business Machines Corporation System and method for efficient relational query generation and tuple-to-object translation in an object-relational gateway supporting class inheritance
US6158045A (en) 1995-11-13 2000-12-05 Object Technology Licensing Corporation Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
US5913214A (en) 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US5802523A (en) 1996-06-21 1998-09-01 Oracle Corporation Method and apparatus for reducing the memory required to store bind variable descriptors in a database
US5893104A (en) 1996-07-09 1999-04-06 Oracle Corporation Method and system for processing queries in a database system using index structures that are not native to the database system
US5920716A (en) 1996-11-26 1999-07-06 Hewlett-Packard Company Compiling a predicated code with direct analysis of the predicated code
US5937401A (en) 1996-11-27 1999-08-10 Sybase, Inc. Database system with improved methods for filtering duplicates from a tuple stream
US5937195A (en) 1996-11-27 1999-08-10 Hewlett-Packard Co Global control flow treatment of predicated code
US5857182A (en) 1997-01-21 1999-01-05 International Business Machines Corporation Database management system, method and program for supporting the mutation of a composite object without read/write and write/write conflicts
US6212673B1 (en) 1997-03-31 2001-04-03 International Business Machines Corporation Component-neutral builder interface
US6108666A (en) 1997-06-12 2000-08-22 International Business Machines Corporation Method and apparatus for pattern discovery in 1-dimensional event streams
US6041344A (en) 1997-06-23 2000-03-21 Oracle Corporation Apparatus and method for passing statements to foreign databases by using a virtual package
US6081801A (en) 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US5822750A (en) 1997-06-30 1998-10-13 International Business Machines Corporation Optimization of correlated SQL queries in a relational database management system
US6112198A (en) 1997-06-30 2000-08-29 International Business Machines Corporation Optimization of data repartitioning during parallel query optimization
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
US6006220A (en) 1997-09-30 1999-12-21 International Business Machines Corporation Determining the optimal access path for a query at execution time using an actual value for each variable in a query for estimating a filter factor
US6006235A (en) 1997-11-26 1999-12-21 International Business Machines Corporation Method and apparatus for invoking a stored procedure or a user defined interpreted language function in a database management system
US6389436B1 (en) 1997-12-15 2002-05-14 International Business Machines Corporation Enhanced hypertext categorization using hyperlinks
US6092065A (en) 1998-02-13 2000-07-18 International Business Machines Corporation Method and apparatus for discovery, clustering and classification of patterns in 1-dimensional event streams
US6341281B1 (en) 1998-04-14 2002-01-22 Sybase, Inc. Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree
US6011916A (en) 1998-05-12 2000-01-04 International Business Machines Corp. Java I/O toolkit for applications and applets
GB9812635D0 (en) 1998-06-11 1998-08-12 Olivetti Telemedia Spa Location system
US6477571B1 (en) 1998-08-11 2002-11-05 Computer Associates Think, Inc. Transaction recognition and prediction using regular expressions
US6263332B1 (en) 1998-08-14 2001-07-17 Vignette Corporation System and method for query processing of structured documents
US6367034B1 (en) 1998-09-21 2002-04-02 Microsoft Corporation Using query language for event filtering and aggregation
US6988271B2 (en) 1998-10-02 2006-01-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US6546381B1 (en) 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
WO2010030978A2 (en) 2008-09-15 2010-03-18 Aman James A Session automated recording together with rules based indexing, analysis and expression of content
US6763353B2 (en) 1998-12-07 2004-07-13 Vitria Technology, Inc. Real time business process analysis method and apparatus
US6108659A (en) 1998-12-22 2000-08-22 Computer Associates Think, Inc. Method and apparatus for executing stored code objects in a database
US6370537B1 (en) 1999-01-14 2002-04-09 Altoweb, Inc. System and method for the manipulation and display of structured data
US6427123B1 (en) 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system
US6438559B1 (en) 1999-04-02 2002-08-20 Sybase, Inc. System and method for improved serialization of Java objects
US7080062B1 (en) 1999-05-18 2006-07-18 International Business Machines Corporation Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries
US6339772B1 (en) 1999-07-06 2002-01-15 Compaq Computer Corporation System and method for performing database operations on a continuous stream of tuples
US6453314B1 (en) 1999-07-30 2002-09-17 International Business Machines Corporation System and method for selective incremental deferred constraint processing after bulk loading data
JP2001060161A (ja) 1999-08-24 2001-03-06 Nec Ic Microcomput Syst Ltd デバッグ装置、方法及び記録媒体
WO2001018712A1 (en) 1999-09-10 2001-03-15 Rodgers William C Web-based system to facilitate purchase, pick-up, and delivery of, and escrow and payment for, merchandise
US7457279B1 (en) 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
US6766330B1 (en) 1999-10-19 2004-07-20 International Business Machines Corporation Universal output constructor for XML queries universal output constructor for XML queries
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US20020116371A1 (en) 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US6418448B1 (en) 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
JP3937380B2 (ja) 1999-12-14 2007-06-27 富士通株式会社 パスサーチ回路
US6615203B1 (en) 1999-12-17 2003-09-02 International Business Machines Corporation Method, computer program product, and system for pushdown analysis during query plan generation
US6507834B1 (en) 1999-12-22 2003-01-14 Ncr Corporation Method and apparatus for parallel execution of SQL from stored procedures
US6594651B2 (en) 1999-12-22 2003-07-15 Ncr Corporation Method and apparatus for parallel execution of SQL-from within user defined functions
US6353821B1 (en) 1999-12-23 2002-03-05 Bull Hn Information Systems Inc. Method and data processing system for detecting patterns in SQL to allow optimized use of multi-column indexes
US20020049788A1 (en) 2000-01-14 2002-04-25 Lipkin Daniel S. Method and apparatus for a web content platform
WO2001059602A1 (en) 2000-02-11 2001-08-16 Acta Technologies, Inc. Nested relational data model
US6996557B1 (en) 2000-02-15 2006-02-07 International Business Machines Corporation Method of optimizing SQL queries where a predicate matches nullable operands
US7072896B2 (en) 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
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
WO2001065418A1 (en) 2000-02-28 2001-09-07 Fibercycle Networks, Inc. System and method for high speed string matching
US6449620B1 (en) 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US7823066B1 (en) 2000-03-03 2010-10-26 Tibco Software Inc. Intelligent console for content-based interactivity
US6751619B1 (en) 2000-03-15 2004-06-15 Microsoft Corporation Methods and apparatus for tuple management in data processing system
US6523102B1 (en) 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US7020696B1 (en) 2000-05-20 2006-03-28 Ciena Corp. Distributed user management information in telecommunications networks
US7076647B2 (en) 2000-06-09 2006-07-11 Hewlett-Packard Development Company, L.P. Dynamic kernel tunables
US6578032B1 (en) 2000-06-28 2003-06-10 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US7139844B2 (en) 2000-08-04 2006-11-21 Goldman Sachs & Co. Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US7958025B2 (en) 2000-08-04 2011-06-07 Goldman Sachs & Co. Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7095744B2 (en) 2000-11-22 2006-08-22 Dune Networks Method and system for switching variable sized packets
US6988109B2 (en) 2000-12-06 2006-01-17 Io Informatics, Inc. System, method, software architecture, and business model for an intelligent object based information technology platform
US6925631B2 (en) 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
DE60132243T2 (de) 2000-12-15 2008-12-11 British Telecommunications P.L.C. Verfahren zum indizieren von entitäten
US7062749B2 (en) 2000-12-15 2006-06-13 Promenix, Inc. Measuring, monitoring and tracking enterprise communications and processes
US7577916B2 (en) 2001-02-21 2009-08-18 Fuji Xerox Co., Ltd. Method and apparatus for management and representation of dynamic context
US7185232B1 (en) 2001-02-28 2007-02-27 Cenzic, Inc. Fault injection methods and apparatus
WO2002071260A1 (en) 2001-03-01 2002-09-12 Aalborg Universitet Adaptable query optimization and evaluation in temporal middleware
US6542911B2 (en) 2001-03-01 2003-04-01 Sun Microsystems, Inc. Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache
GB2377038A (en) 2001-04-10 2002-12-31 I2 Ltd Method for identifying patterns in sequential event streams
US6748386B1 (en) 2001-04-24 2004-06-08 Nec Corporation System and method for automated construction of URL, cookie, and database query mapping
US6785677B1 (en) 2001-05-02 2004-08-31 Unisys Corporation Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US6850925B2 (en) 2001-05-15 2005-02-01 Microsoft Corporation Query optimization by sub-plan memoization
US7540011B2 (en) * 2001-06-11 2009-05-26 Arrowsight, Inc. Caching graphical interface for displaying video and ancillary data from a saved video
US7757225B2 (en) 2001-06-29 2010-07-13 Microsoft Corporation Linktime recognition of alternative implementations of programmed functionality
WO2003023548A2 (en) 2001-09-12 2003-03-20 Raqia Networks, Inc. High speed data stream pattern recognition
US7203927B2 (en) 2001-09-20 2007-04-10 International Business Machines Corporation SQL debugging using XML dataflows
US20030065655A1 (en) 2001-09-28 2003-04-03 International Business Machines Corporation Method and apparatus for detecting query-driven topical events using textual phrases on foils as indication of topic
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US6915290B2 (en) 2001-12-11 2005-07-05 International Business Machines Corporation Database query optimization apparatus and method that represents queries as graphs
US7475058B2 (en) 2001-12-14 2009-01-06 Microsoft Corporation Method and system for providing a distributed querying and filtering system
US7117200B2 (en) 2002-01-11 2006-10-03 International Business Machines Corporation Synthesizing information-bearing content from multiple channels
US20030135304A1 (en) 2002-01-11 2003-07-17 Brian Sroub System and method for managing transportation assets
AU2003205166A1 (en) 2002-01-14 2003-07-30 Jerzy Lewak Identifier vocabulary data access method and system
US7225188B1 (en) 2002-02-13 2007-05-29 Cisco Technology, Inc. System and method for performing regular expression matching with high parallelism
US6985904B1 (en) 2002-02-28 2006-01-10 Oracle International Corporation Systems and methods for sharing of execution plans for similar database statements
US7567953B2 (en) 2002-03-01 2009-07-28 Business Objects Americas System and method for retrieving and organizing information from disparate computer network information sources
CA2374271A1 (en) 2002-03-01 2003-09-01 Ibm Canada Limited-Ibm Canada Limitee Redundant join elimination and sub-query elimination using subsumption
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US20080010241A1 (en) 2002-04-02 2008-01-10 Mcgoveran David O Computer-implemented method for managing through symbolic abstraction of a membership expression multiple logical representations and storage structures
WO2003094051A1 (en) 2002-04-29 2003-11-13 Laboratory For Computational Analytics And Semiotics, Llc Sequence miner
EP1361526A1 (en) 2002-05-08 2003-11-12 Accenture Global Services GmbH Electronic data processing system and method of using an electronic processing system for automatically determining a risk indicator value
US7457810B2 (en) 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US20030236766A1 (en) 2002-05-14 2003-12-25 Zenon Fortuna Identifying occurrences of selected events in a system
US7093023B2 (en) 2002-05-21 2006-08-15 Washington University Methods, systems, and devices using reprogrammable hardware for high-speed processing of streaming data to find a redefinable pattern and respond thereto
US7590987B2 (en) 2002-06-05 2009-09-15 Sap Ag Apparatus and method for integrating variable subsidiary information with main office information in an enterprise system
US7224185B2 (en) 2002-08-05 2007-05-29 John Campbell System of finite state machines
US7451143B2 (en) 2002-08-28 2008-11-11 Cisco Technology, Inc. Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7120645B2 (en) 2002-09-27 2006-10-10 Oracle International Corporation Techniques for rewriting XML queries directed to relational database constructs
US7043476B2 (en) 2002-10-11 2006-05-09 International Business Machines Corporation Method and apparatus for data mining to discover associations and covariances associated with data
FR2846181B1 (fr) 2002-10-16 2005-09-02 Canon Kk Procede et dispositif de selection de donnees dans un reseau de communication
US7213040B1 (en) 2002-10-29 2007-05-01 Novell, Inc. Apparatus for policy based storage of file data and meta-data changes over time
US7653645B1 (en) 2002-10-29 2010-01-26 Novell, Inc. Multi-epoch method for saving and exporting file system events
US20040088404A1 (en) 2002-11-01 2004-05-06 Vikas Aggarwal Administering users in a fault and performance monitoring system using distributed data gathering and storage
US7134143B2 (en) 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
GB0228447D0 (en) 2002-12-06 2003-01-08 Nicholls Charles M System for detecting and interpreting transactions events or changes in computer systems
US7051034B1 (en) 2002-12-18 2006-05-23 Oracle International Corporation Dynamic optimization for processing a restartable sub-tree of a query execution plan
US20050096124A1 (en) 2003-01-21 2005-05-05 Asip Holdings, Inc. Parimutuel wagering system with opaque transactions
US7804852B1 (en) 2003-01-24 2010-09-28 Douglas Durham Systems and methods for definition and use of a common time base in multi-protocol environments
US7437675B2 (en) 2003-02-03 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for monitoring event based systems
US7634501B2 (en) 2003-02-05 2009-12-15 Next Generation Software Method and apparatus for mediated cooperation
US7305391B2 (en) 2003-02-07 2007-12-04 Safenet, Inc. System and method for determining the start of a match of a regular expression
US7062507B2 (en) 2003-02-24 2006-06-13 The Boeing Company Indexing profile for efficient and scalable XML based publish and subscribe system
US7185315B2 (en) 2003-02-25 2007-02-27 Sheet Dynamics, Ltd. Graphical feedback of disparities in target designs in graphical development environment
US7693810B2 (en) 2003-03-04 2010-04-06 Mantas, Inc. Method and system for advanced scenario based alert generation and processing
US7324108B2 (en) 2003-03-12 2008-01-29 International Business Machines Corporation Monitoring events in a computer network
US7392239B2 (en) 2003-04-14 2008-06-24 International Business Machines Corporation System and method for querying XML streams
CA2427209A1 (en) 2003-04-30 2004-10-30 Ibm Canada Limited - Ibm Canada Limitee Optimization of queries on views defined by conditional expressions having mutually exclusive conditions
US7103611B2 (en) 2003-05-01 2006-09-05 Oracle International Corporation Techniques for retaining hierarchical information in mapping between XML documents and relational data
US7386568B2 (en) 2003-05-01 2008-06-10 Oracle International Corporation Techniques for partial rewrite of XPath queries in a relational database
US6836778B2 (en) 2003-05-01 2004-12-28 Oracle International Corporation Techniques for changing XML content in a relational database
US7222123B2 (en) 2003-05-28 2007-05-22 Oracle International Corporation Technique for using a current lookup for performing multiple merge operations using source data that is modified in between the merge operations
US7546284B1 (en) 2003-06-11 2009-06-09 Blue Titan Software, Inc. Virtual message persistence service
US7519577B2 (en) 2003-06-23 2009-04-14 Microsoft Corporation Query intermediate language method and system
US7146352B2 (en) 2003-06-23 2006-12-05 Microsoft Corporation Query optimizer system and method
CA2433750A1 (en) 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US20050010896A1 (en) 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
EP1649344A4 (en) 2003-07-07 2010-02-10 Netezza Corp SQL CODE GENERATION FOR HETEROGICAL ENVIRONMENT
US20060242180A1 (en) 2003-07-23 2006-10-26 Graf James A Extracting data from semi-structured text documents
EP1654656A4 (en) 2003-07-25 2010-08-04 Arthur R Zingher DEVICE AND METHOD FOR SOFTWARE DEBUGGING
US7873645B2 (en) 2003-09-05 2011-01-18 Oracle International Corporation Method and mechanism for handling arbitrarily-sized XML in SQL operator tree
US20050108368A1 (en) 2003-10-30 2005-05-19 Aditya Mohan Method and apparatus for representing data available in a peer-to-peer network using bloom-filters
US20050097128A1 (en) 2003-10-31 2005-05-05 Ryan Joseph D. Method for scalable, fast normalization of XML documents for insertion of data into a relational database
US7167848B2 (en) 2003-11-07 2007-01-23 Microsoft Corporation Generating a hierarchical plain-text execution plan from a database query
GB0327589D0 (en) 2003-11-27 2003-12-31 Ibm Searching in a computer network
US9116929B2 (en) 2003-12-08 2015-08-25 Teradata Us, Inc. Workload priority influenced data temperature
US7508985B2 (en) 2003-12-10 2009-03-24 International Business Machines Corporation Pattern-matching system
US7308561B2 (en) 2003-12-12 2007-12-11 Alcatel Lucent Fast, scalable pattern-matching engine
US7672964B1 (en) 2003-12-31 2010-03-02 International Business Machines Corporation Method and system for dynamically initializing a view for a streaming data base system
US8775412B2 (en) 2004-01-08 2014-07-08 International Business Machines Corporation Method and system for a self-healing query access plan
US7376656B2 (en) 2004-02-10 2008-05-20 Microsoft Corporation System and method for providing user defined aggregates in a database system
US7194451B2 (en) 2004-02-26 2007-03-20 Microsoft Corporation Database monitoring system
US20050204340A1 (en) 2004-03-10 2005-09-15 Ruminer Michael D. Attribute-based automated business rule identifier and methods of implementing same
US7218325B1 (en) 2004-03-31 2007-05-15 Trading Technologies International, Inc. Graphical display with integrated recent period zoom and historical period context data
US7398265B2 (en) 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
US20050273352A1 (en) 2004-05-07 2005-12-08 Lombardi Software, Inc. Business method for continuous process improvement
US20050273450A1 (en) 2004-05-21 2005-12-08 Mcmillen Robert J Regular expression acceleration engine and processing model
US7552365B1 (en) 2004-05-26 2009-06-23 Amazon Technologies, Inc. Web site system with automated processes for detecting failure events and for selecting failure events for which to request user feedback
US7516121B2 (en) 2004-06-23 2009-04-07 Oracle International Corporation Efficient evaluation of queries using translation
US7599924B2 (en) 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7370273B2 (en) 2004-06-30 2008-05-06 International Business Machines Corporation System and method for creating dynamic folder hierarchies
US20060007308A1 (en) 2004-07-12 2006-01-12 Ide Curtis E Environmentally aware, intelligent surveillance device
US7668806B2 (en) 2004-08-05 2010-02-23 Oracle International Corporation Processing queries against one or more markup language sources
US20060047696A1 (en) 2004-08-24 2006-03-02 Microsoft Corporation Partially materialized views
GB0420097D0 (en) 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
US7668856B2 (en) 2004-09-30 2010-02-23 Alcatel-Lucent Usa Inc. Method for distinct count estimation over joins of continuous update stream
US7310638B1 (en) 2004-10-06 2007-12-18 Metra Tech Method and apparatus for efficiently processing queries in a streaming transaction processing system
US7519962B2 (en) 2004-10-07 2009-04-14 Thomson Financial Llc Command script parsing using local and extended storage for command lookup
US20080077570A1 (en) 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
EP1825395A4 (en) 2004-10-25 2010-07-07 Yuanhua Tang FULL TEXT INTERROGATION AND RESEARCH SYSTEMS AND METHODS OF USE
US7403945B2 (en) 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US7533087B2 (en) 2004-11-05 2009-05-12 International Business Machines Corporation Method, system, and program for executing a query having a union all operator and data modifying operations
US20060100969A1 (en) 2004-11-08 2006-05-11 Min Wang Learning-based method for estimating cost and statistics of complex operators in continuous queries
US7493304B2 (en) 2004-11-12 2009-02-17 International Business Machines Corporation Adjusting an amount of data logged for a query based on a change to an access plan
US7526461B2 (en) 2004-11-17 2009-04-28 Gm Global Technology Operations, Inc. System and method for temporal data mining
JP2006155404A (ja) 2004-11-30 2006-06-15 Toshiba Corp 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム
US7383253B1 (en) 2004-12-17 2008-06-03 Coral 8, Inc. Publish and subscribe capable continuous query processor for real-time data streams
US20060155719A1 (en) 2005-01-10 2006-07-13 International Business Machines Corporation Complex event discovery in event databases
EP1684192A1 (en) 2005-01-25 2006-07-26 Ontoprise GmbH Integration platform for heterogeneous information sources
US8396886B1 (en) 2005-02-03 2013-03-12 Sybase Inc. Continuous processing language for real-time data streams
NZ561149A (en) 2005-02-22 2010-07-30 Connectif Solutions Inc Distributed asset management system and method
KR100690787B1 (ko) 2005-02-25 2007-03-09 엘지전자 주식회사 무선통신 시스템에서 이벤트 통지방법
JP2008532177A (ja) 2005-03-03 2008-08-14 ワシントン ユニヴァーシティー 生物学的配列類似検索を実行するための方法および装置
US8463801B2 (en) 2005-04-04 2013-06-11 Oracle International Corporation Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system
US7428555B2 (en) 2005-04-07 2008-09-23 Google Inc. Real-time, computer-generated modifications to an online advertising program
US7685150B2 (en) 2005-04-19 2010-03-23 Oracle International Corporation Optimization of queries over XML views that are based on union all operators
US8145686B2 (en) 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
JP4687253B2 (ja) 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法
US20060294095A1 (en) 2005-06-09 2006-12-28 Mantas, Inc. Runtime thresholds for behavior detection
US9792351B2 (en) 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
US9747560B2 (en) 2005-07-13 2017-08-29 Sap Se Method and system for combination of independent demand data streams
US7818313B1 (en) 2005-07-18 2010-10-19 Sybase, Inc. Method for distributing processing of queries over a cluster of servers in a continuous processing system
JP4723301B2 (ja) 2005-07-21 2011-07-13 株式会社日立製作所 ストリームデータ処理システムおよびストリームデータ処理方法
US7962616B2 (en) 2005-08-11 2011-06-14 Micro Focus (Us), Inc. Real-time activity monitoring and reporting
WO2007022560A1 (en) 2005-08-23 2007-03-01 Position Networks Pty Ltd A stream-oriented database machine and method
US7990646B2 (en) 2005-09-30 2011-08-02 Seagate Technology Llc Data pattern detection using adaptive search windows
US7937257B2 (en) 2005-10-10 2011-05-03 Oracle International Corporation Estimating performance of application based on automatic resizing of shared memory for messaging
KR100813000B1 (ko) 2005-12-01 2008-03-13 한국전자통신연구원 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US20070136254A1 (en) 2005-12-08 2007-06-14 Hyun-Hwa Choi System and method for processing integrated queries against input data stream and data stored in database using trigger
US7730023B2 (en) 2005-12-22 2010-06-01 Business Objects Sotware Ltd. Apparatus and method for strategy map validation and visualization
US7502889B2 (en) 2005-12-30 2009-03-10 Intel Corporation Home node aware replacement policy for caches in a multiprocessor system
US7814111B2 (en) 2006-01-03 2010-10-12 Microsoft International Holdings B.V. Detection of patterns in data records
US7844829B2 (en) 2006-01-18 2010-11-30 Sybase, Inc. Secured database system with built-in antivirus protection
US20070192301A1 (en) 2006-02-15 2007-08-16 Encirq Corporation Systems and methods for indexing and searching data records based on distance metrics
US20070198479A1 (en) 2006-02-16 2007-08-23 International Business Machines Corporation Streaming XPath algorithm for XPath expressions with predicates
US7446352B2 (en) 2006-03-09 2008-11-04 Tela Innovations, Inc. Dynamic array architecture
US7689582B2 (en) 2006-03-10 2010-03-30 International Business Machines Corporation Data flow system and method for heterogeneous data integration environments
US7536396B2 (en) 2006-03-21 2009-05-19 At&T Intellectual Property Ii, L.P. Query-aware sampling of data streams
US7877381B2 (en) 2006-03-24 2011-01-25 International Business Machines Corporation Progressive refinement of a federated query plan during query execution
US20070226188A1 (en) 2006-03-27 2007-09-27 Theodore Johnson Method and apparatus for data stream sampling
US7644066B2 (en) 2006-03-31 2010-01-05 Oracle International Corporation Techniques of efficient XML meta-data query using XML table index
US8788569B2 (en) 2006-03-31 2014-07-22 British Telecommunications Public Limited Company Server computer system running versions of an application simultaneously
WO2007122347A1 (fr) 2006-04-20 2007-11-01 France Telecom Procede d'optimisation de la collecte d'evenements, procede de supervision, produits programmes d'ordinateur et dispositifs correspondants
US7636703B2 (en) 2006-05-02 2009-12-22 Exegy Incorporated Method and apparatus for approximate pattern matching
US7548937B2 (en) 2006-05-04 2009-06-16 International Business Machines Corporation System and method for scalable processing of multi-way data stream correlations
US8131696B2 (en) 2006-05-19 2012-03-06 Oracle International Corporation Sequence event processing using append-only tables
JP4804233B2 (ja) 2006-06-09 2011-11-02 株式会社日立製作所 ストリームデータ処理方法
US7613848B2 (en) 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
US20070294217A1 (en) 2006-06-14 2007-12-20 Nec Laboratories America, Inc. Safety guarantee of continuous join queries over punctuated data streams
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US20080010093A1 (en) 2006-06-30 2008-01-10 Laplante Pierre System and Method for Processing Health Information
US7499909B2 (en) 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US20080016095A1 (en) 2006-07-13 2008-01-17 Nec Laboratories America, Inc. Multi-Query Optimization of Window-Based Stream Queries
US7496683B2 (en) 2006-07-27 2009-02-24 International Business Machines Corporation Maximization of sustained throughput of distributed continuous queries
US20080034427A1 (en) 2006-08-02 2008-02-07 Nec Laboratories America, Inc. Fast and scalable process for regular expression search
US8671091B2 (en) 2006-08-02 2014-03-11 Hewlett-Packard Development Company, L.P. Optimizing snowflake schema queries
WO2008018080A2 (en) 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US8099400B2 (en) 2006-08-18 2012-01-17 National Instruments Corporation Intelligent storing and retrieving in an enterprise data system
KR100778314B1 (ko) 2006-08-21 2007-11-22 한국전자통신연구원 사용자 정의 공유 트리거를 이용한 데이터 스트림과 저장데이터에 대한 통합 연속 질의 처리 시스템 및 그 방법
US8260910B2 (en) 2006-09-19 2012-09-04 Oracle America, Inc. Method and apparatus for monitoring a data stream to detect a pattern of data elements using bloom filters
US20080082484A1 (en) 2006-09-28 2008-04-03 Ramot At Tel-Aviv University Ltd. Fast processing of an XML data stream
US20080082514A1 (en) 2006-09-29 2008-04-03 International Business Machines Corporation Method and apparatus for integrating relational and hierarchical data
US20080098359A1 (en) 2006-09-29 2008-04-24 Ventsislav Ivanov Manipulation of trace sessions based on address parameters
US8645176B2 (en) 2006-10-05 2014-02-04 Trimble Navigation Limited Utilizing historical data in an asset management environment
US7988817B2 (en) 2006-11-10 2011-08-02 Adp Engineering Co., Ltd. Lift pin driving device and a flat panel display manufacturing apparatus having same
JP4933222B2 (ja) 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
US20080120283A1 (en) 2006-11-17 2008-05-22 Oracle International Corporation Processing XML data stream(s) using continuous queries in a data stream management system
US9436779B2 (en) 2006-11-17 2016-09-06 Oracle International Corporation Techniques of efficient XML query using combination of XML table index and path/value index
US8055601B2 (en) 2006-12-08 2011-11-08 Pandya Ashish A Compiler for compiling content search rules comprising a regular expression using a programmable intelligent search memory (PRISM) and vectors
US7716210B2 (en) 2006-12-20 2010-05-11 International Business Machines Corporation Method and apparatus for XML query evaluation using early-outs and multiple passes
US7895187B2 (en) 2006-12-21 2011-02-22 Sybase, Inc. Hybrid evaluation of expressions in DBMS
US20080195577A1 (en) 2007-02-09 2008-08-14 Wei Fan Automatically and adaptively determining execution plans for queries with parameter markers
US7630982B2 (en) 2007-02-24 2009-12-08 Trend Micro Incorporated Fast identification of complex strings in a data stream
US20090327102A1 (en) 2007-03-23 2009-12-31 Jatin Maniar System and method for providing real time asset visibility
US7827146B1 (en) 2007-03-30 2010-11-02 Symantec Operating Corporation Storage system
US8065319B2 (en) 2007-04-01 2011-11-22 Nec Laboratories America, Inc. Runtime semantic query optimization for event stream processing
US8370812B2 (en) 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8098248B2 (en) 2007-04-02 2012-01-17 International Business Machines Corporation Method for semantic modeling of stream processing components to enable automatic application composition
US7818292B2 (en) 2007-04-05 2010-10-19 Anil Kumar Nori SQL change tracking layer
JP2008262046A (ja) 2007-04-12 2008-10-30 Hitachi Ltd 会議可視化システム、会議可視化方法、及び集計処理サーバ
US8156247B2 (en) 2007-04-30 2012-04-10 Lsi Corportion Systems and methods for reducing network performance degradation
US7945540B2 (en) 2007-05-04 2011-05-17 Oracle International Corporation Method to create a partition-by time/tuple-based window in an event processing service
US7912853B2 (en) 2007-05-07 2011-03-22 International Business Machines Corporation Query processing client-server database system
US7953728B2 (en) 2007-05-18 2011-05-31 Oracle International Corp. Queries with soft time constraints
US8122006B2 (en) 2007-05-29 2012-02-21 Oracle International Corporation Event processing query language including retain clause
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US7792784B2 (en) 2007-05-31 2010-09-07 International Business Machines Corporation Streaming multidimensional data by bypassing multidimensional query processor
US7984040B2 (en) * 2007-06-05 2011-07-19 Oracle International Corporation Methods and systems for querying event streams using multiple event processors
US7933894B2 (en) 2007-06-15 2011-04-26 Microsoft Corporation Parameter-sensitive plans for structural scenarios
US7689622B2 (en) 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US8832073B2 (en) 2007-06-29 2014-09-09 Alcatel Lucent Method and apparatus for efficient aggregate computation over data streams
US7676461B2 (en) 2007-07-18 2010-03-09 Microsoft Corporation Implementation of stream algebra over class instances
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8055653B2 (en) 2007-08-09 2011-11-08 International Business Machines Corporation Processing overlapping continuous queries
US7827299B2 (en) 2007-09-11 2010-11-02 International Business Machines Corporation Transitioning between historical and real time data streams in the processing of data change messages
US20090070786A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
US20090076899A1 (en) 2007-09-14 2009-03-19 Gbodimowo Gbeminiyi A Method for analyzing, searching for, and trading targeted advertisement spaces
US7979420B2 (en) 2007-10-16 2011-07-12 Oracle International Corporation Handling silent relations in a data stream management system
US7996388B2 (en) 2007-10-17 2011-08-09 Oracle International Corporation Adding new continuous queries to a data stream management system operating on existing queries
US8296316B2 (en) 2007-10-17 2012-10-23 Oracle International Corporation Dynamically sharing a subtree of operators in a data stream management system operating on existing queries
US8600977B2 (en) 2007-10-17 2013-12-03 Oracle International Corporation Automatic recognition and capture of SQL execution plans
US7739265B2 (en) 2007-10-18 2010-06-15 Oracle International Corporation Deleting a continuous query from a data stream management system continuing to operate on other queries
US8073826B2 (en) 2007-10-18 2011-12-06 Oracle International Corporation Support for user defined functions in a data stream management system
US8307343B2 (en) 2007-10-19 2012-11-06 Microsoft Corporation Application and database context correlation for database application developers
US8521867B2 (en) 2007-10-20 2013-08-27 Oracle International Corporation Support for incrementally processing user defined aggregations in a data stream management system
US7673065B2 (en) 2007-10-20 2010-03-02 Oracle International Corporation Support for sharing computation between aggregations in a data stream management system
US7991766B2 (en) 2007-10-20 2011-08-02 Oracle International Corporation Support for user defined aggregations in a data stream management system
JP5377897B2 (ja) 2007-10-29 2013-12-25 株式会社日立製作所 ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム
US8335782B2 (en) 2007-10-29 2012-12-18 Hitachi, Ltd. Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism
US8103655B2 (en) 2007-10-30 2012-01-24 Oracle International Corporation Specifying a family of logics defining windows in data stream management systems
US8019747B2 (en) 2007-10-30 2011-09-13 Oracle International Corporation Facilitating flexible windows in data stream management systems
US8315990B2 (en) 2007-11-08 2012-11-20 Microsoft Corporation Consistency sensitive streaming operators
US20090125550A1 (en) 2007-11-08 2009-05-14 Microsoft Corporation Temporal event stream model
US7870167B2 (en) 2007-11-09 2011-01-11 Oracle America, Inc. Implementing event processors
US9275353B2 (en) 2007-11-09 2016-03-01 Oracle America, Inc. Event-processing operators
US8191074B2 (en) 2007-11-15 2012-05-29 Ericsson Ab Method and apparatus for automatic debugging technique
US8156134B2 (en) 2007-11-15 2012-04-10 International Business Machines Corporation Using different groups of query graph transform modules to generate execution plans for queries for different database types
US8429601B2 (en) 2007-11-29 2013-04-23 Red Hat, Inc. Code completion for object relational mapping query language (OQL) queries
US7870124B2 (en) 2007-12-13 2011-01-11 Oracle International Corporation Rewriting node reference-based XQuery using SQL/SML
BRPI0822100A2 (pt) 2007-12-20 2015-06-30 Hsbc Technologies Inc Método e sistema para administrar automaticamente processos no desenvolvimento paralelo de um aplicativo por uma interface de usuário gráfica, sistema de desenvolvimento de aplicativo de computador, e, meio legível por computador de instruções
US7882087B2 (en) 2008-01-15 2011-02-01 At&T Intellectual Property I, L.P. Complex dependencies for efficient data warehouse updates
US20090192981A1 (en) 2008-01-29 2009-07-30 Olga Papaemmanouil Query Deployment Plan For A Distributed Shared Stream Processing System
US9489495B2 (en) 2008-02-25 2016-11-08 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US8055649B2 (en) 2008-03-06 2011-11-08 Microsoft Corporation Scaled management system
US8812487B2 (en) 2008-03-06 2014-08-19 Cisco Technology, Inc. Addition and processing of continuous SQL queries in a streaming relational database management system
US8805879B2 (en) 2008-03-11 2014-08-12 Virtualagility Inc. Techniques for integrating parameterized information request into a system for collaborative work
US8489610B2 (en) 2008-03-28 2013-07-16 Nec Corporation Method, system and program for information re-organization
US7958114B2 (en) 2008-04-04 2011-06-07 Microsoft Corporation Detecting estimation errors in dictinct page counts
US7872948B2 (en) 2008-04-14 2011-01-18 The Boeing Company Acoustic wide area air surveillance system
US8122050B2 (en) 2008-04-16 2012-02-21 International Business Machines Corporation Query processing visualization system and method of visualizing query processing
JP5198929B2 (ja) 2008-04-25 2013-05-15 株式会社日立製作所 ストリームデータ処理方法及び計算機システム
US8155880B2 (en) 2008-05-09 2012-04-10 Locomatix Inc. Location tracking optimizations
US8886637B2 (en) 2008-05-12 2014-11-11 Enpulz, L.L.C. Web browser accessible search engine which adapts based on user interaction
US8850409B2 (en) 2008-05-21 2014-09-30 Optumsoft, Inc. Notification-based constraint set translation to imperative execution
US7930322B2 (en) 2008-05-27 2011-04-19 Microsoft Corporation Text based schema discovery and information extraction
US8291006B2 (en) 2008-05-30 2012-10-16 International Business Machines Corporation Method for generating a distributed stream processing application
US8918507B2 (en) 2008-05-30 2014-12-23 Red Hat, Inc. Dynamic grouping of enterprise assets
US8112378B2 (en) 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
US20090319501A1 (en) 2008-06-24 2009-12-24 Microsoft Corporation Translation of streaming queries into sql queries
US8316012B2 (en) 2008-06-27 2012-11-20 SAP France S.A. Apparatus and method for facilitating continuous querying of multi-dimensional data streams
CN102077236A (zh) 2008-07-03 2011-05-25 松下电器产业株式会社 印象度提取装置和印象度提取方法
US8086644B2 (en) 2008-07-10 2011-12-27 International Business Machines Corporation Simplifying complex data stream problems involving feature extraction from noisy data
US8447739B2 (en) 2008-07-16 2013-05-21 SAP France S.A. Systems and methods to create continuous queries via a semantic layer
US9135583B2 (en) 2008-07-16 2015-09-15 Business Objects S.A. Systems and methods to create continuous queries associated with push-type and pull-type data
US8037040B2 (en) 2008-08-08 2011-10-11 Oracle International Corporation Generating continuous query notifications
US8185508B2 (en) 2008-08-08 2012-05-22 Oracle International Corporation Adaptive filter index for determining queries affected by a DML operation
US8335793B2 (en) 2008-08-22 2012-12-18 Disney Enterprises, Inc. System and method for optimized filtered data feeds to capture data and send to multiple destinations
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
US8032544B2 (en) 2008-09-24 2011-10-04 The Boeing Company Methods and apparatus for generating dynamic program files based on input queries that facilitate use of persistent query services
US20100094838A1 (en) 2008-10-10 2010-04-15 Ants Software Inc. Compatibility Server for Database Rehosting
JP5337447B2 (ja) 2008-10-28 2013-11-06 株式会社日立製作所 ストリームデータ処理方法、及びシステム
JP5465413B2 (ja) 2008-10-29 2014-04-09 株式会社日立製作所 ストリームデータ処理方法、及びそのシステム
US8214325B2 (en) 2008-11-20 2012-07-03 Sap Ag Federating business event data within an enterprise network
US8392402B2 (en) 2008-12-03 2013-03-05 International Business Machines Corporation Hybrid push/pull execution of continuous SQL queries
US8145621B2 (en) 2008-12-19 2012-03-27 Ianywhere Solutions, Inc. Graphical representation of query optimizer search space in a database management system
US8352517B2 (en) 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8935293B2 (en) 2009-03-02 2015-01-13 Oracle International Corporation Framework for dynamically generating tuple and page classes
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8725707B2 (en) 2009-03-26 2014-05-13 Hewlett-Packard Development Company, L.P. Data continuous SQL process
US8285709B2 (en) 2009-05-12 2012-10-09 Teradata Us, Inc. High-concurrency query operator and method
US8161035B2 (en) 2009-06-04 2012-04-17 Oracle International Corporation Query optimization by specifying path-based predicate evaluation in a path-based query operator
US8868725B2 (en) 2009-06-12 2014-10-21 Kent State University Apparatus and methods for real-time multimedia network traffic management and control in wireless networks
US8572589B2 (en) 2009-06-30 2013-10-29 Agilent Technologies, Inc. Programming language translator and enabling translation of machine-centric commands for controlling instrument
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8180801B2 (en) 2009-07-16 2012-05-15 Sap Ag Unified window support for event stream data management
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US20110032260A1 (en) * 2009-08-05 2011-02-10 International Business Machines Corporation Enhancing visualization of relationships and temporal proximity between events
CA2754159C (en) 2009-08-11 2012-05-15 Certusview Technologies, Llc Systems and methods for complex event processing of vehicle-related information
JP4925143B2 (ja) 2009-08-12 2012-04-25 株式会社日立製作所 ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム
US8204873B2 (en) 2009-08-26 2012-06-19 Hewlett-Packard Development Company, L.P. System and method for query expression optimization
US8195648B2 (en) 2009-10-21 2012-06-05 Microsoft Corporation Partitioned query execution in event processing systems
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9307038B2 (en) 2009-12-29 2016-04-05 Motorola Solutions, Inc. Method for presence notification based on a sequence of events
US8423576B2 (en) 2010-01-11 2013-04-16 International Business Machines Corporation System and method for querying data streams
EP2348416A1 (en) * 2010-01-21 2011-07-27 Software AG Analysis system and method for analyzing continuous queries for data streams
US8484243B2 (en) 2010-05-05 2013-07-09 Cisco Technology, Inc. Order-independent stream query processing
WO2011142026A1 (ja) * 2010-05-14 2011-11-17 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム
US8762297B2 (en) 2010-05-17 2014-06-24 Microsoft Corporation Dynamic pattern matching over ordered and disordered data streams
US8595234B2 (en) 2010-05-17 2013-11-26 Wal-Mart Stores, Inc. Processing data feeds
CN101866353B (zh) * 2010-06-09 2012-10-10 孟小峰 一种基于位置服务的连续查询隐私保护方法
US8442863B2 (en) 2010-06-17 2013-05-14 Microsoft Corporation Real-time-ready behavioral targeting in a large-scale advertisement system
US20110314019A1 (en) 2010-06-18 2011-12-22 Universidad Politecnica De Madrid Parallel processing of continuous queries on data streams
US8627329B2 (en) 2010-06-24 2014-01-07 International Business Machines Corporation Multithreaded physics engine with predictive load balancing
US8719207B2 (en) 2010-07-27 2014-05-06 Oracle International Corporation Method and system for providing decision making based on sense and respond
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US8260803B2 (en) 2010-09-23 2012-09-04 Hewlett-Packard Development Company, L.P. System and method for data stream processing
CN103154935B (zh) 2010-10-11 2016-08-24 惠普发展公司,有限责任合伙企业 用于查询数据流的系统和方法
WO2012050582A1 (en) 2010-10-14 2012-04-19 Hewlett-Packard Development Company, L.P. Continuous querying of a data stream
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US20120130963A1 (en) 2010-11-24 2012-05-24 Teradata Us, Inc. User defined function database processing
EP2469420B1 (en) 2010-12-22 2019-11-27 Software AG CEP engine and method for processing CEP queries
US8478743B2 (en) 2010-12-23 2013-07-02 Microsoft Corporation Asynchronous transfer of state information between continuous query plans
US8788484B2 (en) 2010-12-27 2014-07-22 Software Ag Systems and/or methods for user feedback driven dynamic query rewriting in complex event processing environments
US8799271B2 (en) 2011-01-25 2014-08-05 Hewlett-Packard Development Company, L.P. Range predicate canonization for translating a query
US9350567B2 (en) 2011-01-25 2016-05-24 International Business Machines Corporation Network resource configurations
US8655825B2 (en) 2011-03-10 2014-02-18 Sap Ag Efficient management of data quality for streaming event data
US8751639B2 (en) 2011-04-27 2014-06-10 Rackspace Us, Inc. Event queuing and distribution system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
WO2012152315A1 (en) 2011-05-10 2012-11-15 Telefonaktiebolaget L M Ericsson (Publ) Optimised data stream management system
WO2012172600A1 (ja) * 2011-06-14 2012-12-20 株式会社日立製作所 データ検索システム及びデータ検索方法
US9965520B2 (en) 2011-06-17 2018-05-08 Microsoft Corporation Efficient logical merging over physically divergent streams
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US20130031567A1 (en) 2011-07-25 2013-01-31 Microsoft Corporation Local event processing
US9286354B2 (en) 2011-08-15 2016-03-15 Software Ag Systems and/or methods for forecasting future behavior of event streams in complex event processing (CEP) environments
US8635208B2 (en) 2011-11-03 2014-01-21 Sap Ag Multi-state query migration in data stream management
US9424150B2 (en) 2011-12-06 2016-08-23 Sap Se Fault tolerance based query execution
US10055483B2 (en) 2012-03-08 2018-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Data stream management systems
US9201911B2 (en) 2012-03-29 2015-12-01 International Business Machines Corporation Managing test data in large scale performance environment
CN102665207A (zh) * 2012-05-08 2012-09-12 杭州电子科技大学 Lbs中基于移动终端的连续查询用户位置隐匿方法
US20130332240A1 (en) 2012-06-08 2013-12-12 University Of Southern California System for integrating event-driven information in the oil and gas fields
CN102892073B (zh) * 2012-09-11 2015-07-01 北京航空航天大学 一种适用于位置服务系统中面向连续查询的位置匿名方法
US20140082013A1 (en) 2012-09-20 2014-03-20 Sap Ag Query templates for queries in data stream management systems
US9262479B2 (en) 2012-09-28 2016-02-16 Oracle International Corporation Join operations for continuous queries over archived views
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9053210B2 (en) 2012-12-14 2015-06-09 Microsoft Technology Licensing, Llc Graph query processing using plurality of engines
US20140172506A1 (en) 2012-12-17 2014-06-19 Microsoft Corporation Customer segmentation
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200145621A (ko) * 2019-06-20 2020-12-30 쿠팡 주식회사 데이터 스트림의 실시간 처리를 위한 시스템 및 방법
KR20220002229A (ko) * 2019-06-20 2022-01-06 쿠팡 주식회사 데이터 스트림의 실시간 처리를 위한 시스템 및 방법

Also Published As

Publication number Publication date
US9418113B2 (en) 2016-08-16
EP3005164A1 (en) 2016-04-13
CN105308592B (zh) 2017-12-19
JP2016524756A (ja) 2016-08-18
US20140358959A1 (en) 2014-12-04
CN105308592A (zh) 2016-02-03
WO2014193943A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
JP6511438B2 (ja) 連続データストリームにおけるリレーションに対する値ベースのウィンドウ
JP6807431B2 (ja) 戦術的クエリから連続クエリへの変換
US11430196B2 (en) Precise manipulation of virtual object position in an extended reality environment
US11144608B2 (en) Triggering generation of an accelerated data model summary for a data model
US11625381B2 (en) Recreating an OLTP table and reapplying database transactions for real-time analytics
US11803548B1 (en) Automated generation of metrics from log data
JP6865219B2 (ja) 連続クエリ処理におけるイベントバッチ処理、出力シーケンス化、およびログベースの状態記憶
US11687413B1 (en) Data snapshots for configurable screen on a wearable device
US11410403B1 (en) Precise scaling of virtual objects in an extended reality environment
EP3545431A1 (en) Event driven extract, transform, load (etl) processing
US10031943B1 (en) Imputing data for temporal data store joins
US11544282B1 (en) Three-dimensional drill-down data visualization in extended reality environment
US11893296B1 (en) Notification interface on a wearable device for data alerts
US11036456B1 (en) Control of a display device included in a display grid
US11842118B1 (en) Interface for data visualizations on a wearable device
US11354012B1 (en) Automated placement and time selection for dashboard panels in an extended reality environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6511438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250