JP2016500168A - アーカイブされたリレーションを有する連続クエリの管理 - Google Patents

アーカイブされたリレーションを有する連続クエリの管理 Download PDF

Info

Publication number
JP2016500168A
JP2016500168A JP2015534680A JP2015534680A JP2016500168A JP 2016500168 A JP2016500168 A JP 2016500168A JP 2015534680 A JP2015534680 A JP 2015534680A JP 2015534680 A JP2015534680 A JP 2015534680A JP 2016500168 A JP2016500168 A JP 2016500168A
Authority
JP
Japan
Prior art keywords
query
data
stream
event
continuous
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.)
Granted
Application number
JP2015534680A
Other languages
English (en)
Other versions
JP2016500168A5 (ja
JP6266630B2 (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 JP2016500168A publication Critical patent/JP2016500168A/ja
Publication of JP2016500168A5 publication Critical patent/JP2016500168A5/ja
Application granted granted Critical
Publication of JP6266630B2 publication Critical patent/JP6266630B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29DPRODUCING PARTICULAR ARTICLES FROM PLASTICS OR FROM SUBSTANCES IN A PLASTIC STATE
    • B29D30/00Producing pneumatic or solid tyres or parts thereof
    • B29D30/06Pneumatic tyres or parts thereof (e.g. produced by casting, moulding, compression moulding, injection moulding, centrifugal casting)
    • B29D30/0681Parts of pneumatic tyres; accessories, auxiliary operations
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60CVEHICLE TYRES; TYRE INFLATION; TYRE CHANGING; CONNECTING VALVES TO INFLATABLE ELASTIC BODIES IN GENERAL; DEVICES OR ARRANGEMENTS RELATED TO TYRES
    • B60C1/00Tyres characterised by the chemical composition or the physical arrangement or mixture of the composition
    • B60C1/0008Compositions of the inner liner
    • 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/242Query formulation
    • 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
    • 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/2453Query optimisation
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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
    • 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/24553Query execution of query operations
    • 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/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • 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/248Presentation of query results
    • 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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29DPRODUCING PARTICULAR ARTICLES FROM PLASTICS OR FROM SUBSTANCES IN A PLASTIC STATE
    • B29D30/00Producing pneumatic or solid tyres or parts thereof
    • B29D30/06Pneumatic tyres or parts thereof (e.g. produced by casting, moulding, compression moulding, injection moulding, centrifugal casting)
    • B29D30/0681Parts of pneumatic tyres; accessories, auxiliary operations
    • B29D2030/0682Inner liners
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/06Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material
    • B32B27/08Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material of synthetic resin
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/34Layered products comprising a layer of synthetic resin comprising polyamides
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60CVEHICLE TYRES; TYRE INFLATION; TYRE CHANGING; CONNECTING VALVES TO INFLATABLE ELASTIC BODIES IN GENERAL; DEVICES OR ARRANGEMENTS RELATED TO TYRES
    • B60C5/00Inflatable pneumatic tyres or inner tubes
    • B60C5/12Inflatable pneumatic tyres or inner tubes without separate inflatable inserts, e.g. tubeless tyres with transverse section open to the rim
    • B60C5/14Inflatable pneumatic tyres or inner tubes without separate inflatable inserts, e.g. tubeless tyres with transverse section open to the rim with impervious liner or coating on the inner wall of the tyre

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

アーカイブされたリレーションを有する連続クエリを管理する技術が提供される。いくつかの例において、少なくともデータストリームを含むクエリを識別し得る。加えて、履歴データの少なくとも一部を用いてクエリを初期化し得る。さらに、いくつかの例において、データストリームおよび履歴データの少なくとも一部に少なくとも一部基づいてクエリを評価し得る。

Description

関連出願の相互参照
本願は、2013年3月14日に出願され「Managing Continuous Queries with Archived Relations(アーカイブされたリレーションを有する連続クエリの管理)」と題された米国特許出願第13/829,958号(代理人整理番号88325−859813(128010US))、2013年3月14日に出願され「Configurable Data Windows for Archived Relations(アーカイブされたリレーションのための構成可能なデータウィンドウ)」と題された米国特許出願第13/830,129号(代理人整理番号88325−859814(128020US))、および、2012年9月28日に出願され「Real Time Business Event Analysis and Monitoring(リアルタイムビジネスイベント分析およびモニタリング)」と題された米国仮出願第61/707,641号に基づく優先権と利益を主張し、すべての目的のために各出願の内容全体を本明細書に引用により援用する。
背景
従来のデータベースシステムにおいて、データは、通常はテーブルの形態で1つ以上のデータベースに格納される。格納されたデータはその後、構造化照会言語(SQL)等のデータ管理言語を用いてクエリされ操作される。たとえば、SQLクエリは、データベースに格納されているデータのうちの関連データを識別するために定義し実行することができる。したがって、SQLクエリは、データベースに格納されている有限集合のデータに対して実行される。さらに、SQLクエリが実行されるとき、SQLは有限のデータ集合に対して一度実行されて有限の静的結果をもたらす。このように、データベースは、格納されている有限のデータ集合に対してクエリが実行されるよう最適に作成されている。
しかしながら、数多くの現代のアプリケーションおよびシステムは、データを、有限のデータ集合ではなく連続データまたはイベントストリームの形態で生成する。このようなアプリケーションの例は、センサーデータアプリケーション、財務表示機、ネットワークパフォーマンス測定ツール(たとえば、ネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリング等を含むが、これらに限定されない。このようなアプリケーションによって、データストリームを処理することが可能な新たな種類のアプリケーションの必要性が生じた。たとえば、温度センサを、温度測定値を発信するように構成することができる。
イベントストリームに基づくこれらの種類のアプリケーションの場合のデータの管理および処理は、時間を強く重視してデータ管理およびクエリ機能を構築することを含む。連続する無限のデータ集合に対する長時間のクエリ実行を含む、異なる種類のクエリ機構が必要である。現在イベントストリーム処理に適した製品一式を提供している販売業者はあるが、これら製品が提供するものは依然として、現代のイベント処理のニーズに対処するのに必要な処理の柔軟性に欠けている。
概要
いくつかの例において、連続クエリの中のアーカイブされたリレーションを管理するためのシステムが提供される。このシステムは、メモリと、このメモリにアクセスし命令を実行することにより、少なくともデータストリームを識別するクエリを識別するように構成された1つ以上のプロセッサとを含み得る。上記命令を実行することにより、履歴データの少なくとも一部を用いて上記クエリを初期化してもよい。加えて、上記命令を実行することにより、上記データストリームおよび上記履歴データの一部に少なくとも一部基づいて上記クエリを評価してもよい。場合によっては、上記クエリは、到来する上記データストリームのリアルタイムデータまたは上記データストリームのアーカイブされたリレーションを処理するように構成された連続クエリを含み得る。上記リアルタイムデータは、少なくともビジネスイベントデータを含み得る。加えて、いくつかの例において、上記データストリームは、ウィンドウを用いて構成されたリレーションを含み得る。ウィンドウは、このウィンドウの中のデータストリームの一部を参照するためのものである。上記ウィンドウは、時間の経過とともにデータストリームに沿って移動するように構成してもよい。いくつかの局面において、上記履歴データは、上記クエリの初期化後のある時点におけるデータストリームに含まれなくてもよい。上記クエリはさらに上記履歴データを識別してもよい。加えて、上記履歴データは、上記クエリの初期化前のある時点におけるデータストリームからのビジネスイベントデータを含み得る。いくつかの局面において、上記クエリを評価することは、クエリの演算子を表わすノードを用いてクエリグラフを少なくとも形成することを含み得る。加えて、上記1つ以上のプロセッサはさらに、上記複数の命令を実行することにより、上記クエリグラフをトポロジーの順序で少なくともトラバースするように構成されてもよい。加えて、上記1つ以上のプロセッサはさらに、上記複数の命令を実行することにより、上記クエリグラフにおいて識別された最下位のステートフル(stateful)演算子における少なくとも履歴データを用いて上記クエリを少なくとも初期化するように構成されてもよい。
加えて、いくつかの例において、コンピュータ読取可能な媒体が提供されてもよい。この媒体は、1つ以上のプロセッサにより実行可能な複数の命令を格納し得る。この命令は、いくつかの例において、データストリームを処理するように構成された連続クエリを受けることを含み得る。この連続クエリは、上記データストリームの識別子および履歴データの識別子のうちの少なくとも一方を含み得る。上記命令はまた、上記連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み得る。いくつかの局面において、上記命令はまた、履歴データの少なくとも一部を用いて上記連続クエリを初期化すること、および/または、上記データストリームに関して上記履歴データに少なくとも一部基づいて上記連続クエリを評価することを含み得る。いくつかの例において、上記データストリームおよび上記履歴データのうちの少なくとも一方を、上記連続クエリのデータ定義言語アノテーション(DDL annotation)によって識別してもよい。加えて、上記データ定義言語アノテーションは、上記履歴データの場所、上記データストリームのソース、上記データストリームに関連するデータオブジェクト、上記連続クエリの処理に関連する動作情報、上記履歴データに対応するデータベースの関連する1つ以上の列、上記連続クエリの出力に対応するデータオブジェクト、および、上記連続クエリの出力を提供するための場所のうちの少なくとも1つを識別してもよい。さらに、上記クエリグラフは、上記連続クエリの演算子を表わす少なくともノードを含んでいてもよく、および/または、上記連続クエリを、上記クエリグラフをトポロジーの順序でトラバースする間に、上記クエリグラフのステートフル演算子における上記履歴データの少なくとも一部を用いて初期化してもよい。これに代えて、上記命令を実施するコンピュータ読取可能なプログラムが提供されてもよい。
さらに、いくつかの例において、方法が提供されてもよい。この方法は、ビジネスイベントデータのストリームを処理するように構成された連続クエリを受けるように構成されてもよく、この連続クエリは、上記ストリームの識別子と上記ストリームに関連する履歴データの識別子とを含み得る。いくつかの局面において、上記方法はまた、上記連続クエリに少なくとも一部基づいてクエリグラフを生成するように構成されてもよい。このクエリグラフは、上記連続クエリの演算子を表わす少なくともノードを含み得る。加えて、上記方法はまた、上記クエリグラフをトラバースして最下位のステートフル演算子を識別するように構成されてもよい。上記方法はまた、上記識別された最下位のステートフル演算子における履歴データの少なくとも一部を用いて上記連続クエリを初期化するように、および/または上記ストリームに関して上記履歴データに少なくとも一部基づいて上記連続クエリを評価するように構成されてもよい。加えて、いくつかの例において、上記履歴データは、上記ストリームの前の時点からのビジネスイベントデータを含み得る。この方法はまた、上記連続クエリの演算子に少なくとも一部基づいて上記連続クエリを初期化するために用いる上記履歴データの最適量を決定するように構成されてもよい。さらに、上記ステートフル演算子は、上記連続クエリの少なくとも1つのノードの評価に少なくとも一部基づいて識別してもよい。
構成可能なデータウィンドウを有するアーカイブされたリレーションがある場合の連続クエリが提供されてもよい。いくつかの例において、システムが提供されてもよく、このシステムは、命令を格納するメモリ、および/または、このメモリにアクセスし命令を実行することにより少なくともデータストリームを識別するクエリを少なくとも識別するように構成されたプロセッサを、含み得る。このシステムはまた、上記命令を実行することにより、構成可能なウィンドウサイズを識別してもよい。加えて、いくつかの例において、このシステムは、上記命令を実行することにより、履歴データの少なくとも一部を用い上記ウィンドウサイズに少なくとも一部基づいて上記クエリを初期化してもよい。さらに、このシステムはまた、上記命令を実行することにより、上記データストリームおよび上記履歴データの一部に少なくとも一部基づいて上記クエリを評価するように構成されてもよい。いくつかの局面において、上記クエリは、到来する上記データストリームのリアルタイムビジネスイベントデータを処理するように構成された連続クエリを含み得る。上記クエリの評価は、上記クエリを、上記データストリームに対して、上記構成可能なウィンドウサイズに少なくとも一部基づいて適用することを含み得る。加えて、いくつかの例において、上記データストリームは、第2のウィンドウの中の上記データストリームの一部を参照するための第2の構成可能なウィンドウサイズを用いて構成されたリレーションを含み得る。上記第2のウィンドウのサイズは、第2の構成可能なウィンドウサイズに少なくとも一部基づく。
加えて、いくつかの例において、上記第2のウィンドウは、時間の経過とともに上記データストリームに沿って移動するように構成してもよい。上記履歴データは、上記クエリの初期化後のある時点においてデータストリームに含まれなくてもよい。また、上記履歴データは、上記クエリの初期化前のある時点におけるデータストリームからのビジネスイベントデータを含み得る。いくつかの例において、上記システムはまた、上記命令を実行することにより、上記クエリを、上記クエリの演算子を表わすノードを用いてクエリグラフを少なくとも形成することにより、少なくとも評価するように構成されてもよい。加えて、上記ノードのうちの少なくとも1つがウィンドウサイズを識別してもよい。さらに、いくつかの局面において、このシステムは、上記命令を実行することにより、上記クエリグラフをソースからトポロジーに従って少なくともトラバースするように構成されてもよい。上記1つ以上のプロセッサはまた、上記命令を実行することにより、上記クエリグラフにおいて識別された最下位のステートフル演算子における少なくとも履歴データを用いて、上記クエリを少なくとも初期化するように構成されてもよい。
加えて、いくつかの例において、コンピュータ読取可能なメモリが提供されてもよい。このメモリは、アーカイブされたリレーションを処理するように構成された連続クエリを受けることを1つ以上のプロセッサに行なわせる命令を格納するように構成されてもよい。この連続クエリは、データストリームの識別子および履歴データの識別子のうちの少なくとも一方を含む。また、上記命令により、上記連続クエリに少なくとも一部基づいてクエリグラフを生成することを上記プロセッサに行なわせてもよい。加えて、いくつかの例において、上記命令により、上記アーカイブされたリレーションに関連するエンティティからウィンドウサイズを受けることを上記プロセッサに行なわせてもよい。いくつかの局面において、上記命令により、履歴データの少なくとも一部を用いて上記連続クエリを初期化することを上記プロセッサに行なわせてもよい。さらに、いくつかの例において、上記命令により、上記連続クエリを、上記アーカイブされたリレーションおよびウィンドウサイズに関して、クエリグラフに少なくとも一部基づいて評価することを、上記1つ以上のプロセッサに行なわせてもよい。上記アーカイブされたリレーションは、上記履歴データに少なくとも一部基づいていてもよい。いくつかの局面において、上記アーカイブされたリレーションおよび上記履歴データのうちの少なくとも一方を、上記連続クエリのデータ定義言語アノテーションによって識別してもよい。このデータ定義言語アノテーションは、上記履歴データの場所、上記アーカイブされたリレーションのソース、上記アーカイブされたリレーションに関連するデータオブジェクト、上記連続クエリの処理に関連する動作情報、上記履歴データに対応するデータベースの関連する1つ以上の列、上記連続クエリの出力に対応するデータオブジェクト、および、上記連続クエリの出力を与える場所のうちの少なくとも1つを識別してもよい。加えて、いくつかの例において、上記複数の命令はさらに、ウィンドウサイズに少なくとも一部基づいて上記連続クエリを初期化するために用いる履歴データの量を決定することを、上記1つ以上のプロセッサに行なわせる命令を含み得る。さらに、上記連続クエリを、上記クエリグラフを上記クエリグラフのソースからトポロジーに従ってトラバースする間に上記クエリグラフのステートフル演算子における上記履歴データの少なくとも一部を用いて初期化してもよい。
さらに、いくつかの例において、コンピュータにより実装可能な方法が提供されてもよい。この方法は、ビジネスイベントデータに関連するアーカイブされたリレーションを処理するように構成された連続クエリを受けるように構成されてもよく、この連続クエリは、上記アーカイブされたリレーションの識別子と上記ストリームに関連する履歴データの識別子とを含む。加えて、この方法は、処理するアーカイブされたリレーションの有界範囲を識別するように構成されたウィンドウサイズを受けるように構成されてもよい。この方法はまた、上記連続クエリに少なくとも一部基づいてクエリグラフを生成するように構成されてもよく、このクエリグラフは、上記連続クエリの演算子を表わす少なくともノードを含む。加えて、いくつかの局面において、この方法は、上記クエリグラフをこのクエリグラフのソースノードからトポロジーに従ってトラバースすることにより、ステートフル演算子を識別するように構成されてもよい。この方法はまた、上記連続クエリを、上記識別されたステートフル演算子における履歴データの少なくとも一部を用いて初期化するように、および/または、上記連続クエリを、上記アーカイブされたリレーションに関して、ウィンドウサイズに少なくとも一部基づいて評価するように構成されてもよい。いくつかの局面において、上記履歴データは、上記連続クエリの初期化よりも前の、上記アーカイブされたリレーションのある時点からのビジネスイベントデータを含み得る。加えて、いくつかの局面において、この方法はまた、上記連続クエリの演算子に少なくとも一部基づいて上記連続クエリを初期化するために用いる上記履歴データの最適量を決定するように構成されてもよい。さらに、この方法はまた、ウィンドウサイズに少なくとも一部基づいて上記連続クエリを初期化するために用いる上記履歴データの最適量を決定するように構成されてもよい。
少なくとも1つの例に従うと、システムは、少なくともデータストリームを識別するクエリを識別するための手段と、履歴データの少なくとも一部を用いて上記クエリを初期化するための手段と、データストリームおよび上記履歴データの一部に少なくとも一部基づいて上記クエリを評価するための手段とを含み得る。
ここまで述べてきたことは、以下の明細書、請求項、および添付の図面を参照すると、他の特徴および実施形態とともに、より明らかになるであろう。
添付の図面を参照しながら詳細な説明を行なう。図面において、参照番号の左端の桁は、その参照番号が最初に示されている図面の番号である。異なる図面で使用される同一の参照番号は、同様または同一のアイテムを示す。
少なくとも1つの例に従うアーカイブされたリレーションを有する連続クエリを管理するためのアーキテクチャの一例を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの他の特徴を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの他の特徴を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの他の特徴を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリを管理する実施形態に従って使用され得るシステム環境の構成要素を示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリを管理する実施形態に従って使用され得るコンピュータシステムを示す簡略ブロック図である。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。 少なくとも1つの例に従う本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理の少なくともいくつかの特徴を示す別の簡略プロセスフローである。
詳細な説明
以下の説明では、さまざまな実施形態が説明される。これら実施形態が十分に理解されるよう、特定の構成および詳細事項が説明のために記載される。しかしながら、これらの具体的な詳細事項がなくとも実施形態を実行し得ることも当業者には明らかであろう。さらに、記載されている実施形態が不明瞭にならぬよう、周知の特徴は省略または簡略化される場合がある。
いくつかの例において、1つ以上のアーカイブされたリレーションを有する連続クエリ言語(continuous query language)(CQL)クエリ(「クエリステートメント」とも呼ばれる)をサポートする機構を提供し得る。上記アーカイブされたリレーションは、たとえばCQLリレーションを含むがこれに限定されない。これは、作成された時点において空でなくてもよい。たとえば、シナリオによっては、CQLリレーションを、ストリーム上にウィンドウを適用することによって定義してもよい。言い換えると、リレーションは有界のデータ集合であってもよい。たとえば、あるイベントストリームに対して、リレーションを先ずウィンドウによって定義してもよく、このウィンドウは(たとえばこのウィンドウの中の)ストリームの特定の数の要素またはストリームの特定の集合の要素を含む。しかしながら、リレーションを場合によっては空の状態で作成してもよい。すなわち、ウィンドウを定義してもよいが、リレーションにイベントが含まれていない場合がある。一方、アーカイブされたリレーションは、作成時にイベントデータを含み得る。いくつかの例において、アーカイバ(archiver)または他のデータオブジェクトは、アーカイブされたリレーションの作成において利用されるリアルタイムデータの管理を担当してもよく、および/またはこのデータをアーカイブされたリレーションを生成するかそうでなければ管理するように構成されたエンジンに与えてもよい。
加えて、いくつかの例において、アーカイブされたリレーションを有するCQLクエリをサポートするための機構はまた、アーカイブされたリレーションの特定のデータウィンドウの構成を可能にし得る。これらデータウィンドウは、ユーザによって、管理者によって、またはアーカイブされたリレーションおよび/またはユーザのイベントデータ(たとえばビジネスイベントデータ)に関連するその他のエンティティによって、構成、生成、管理、更新、および/または操作されてもよい。さらに、いくつかの例において、連続クエリの中のアーカイブされたリレーションは、変更通知の見落としおよび/または二重カウントを回避するように実装してもよい。たとえば、クエリを実行するときは、クエリを最初にデータオブジェクト補助記憶装置に対して実行してクエリの現在の状態を確立し、その後、このデータオブジェクトからの変更通知をリッスンし(listen for)処理してもよい。しかしながら、クエリを実装する複合イベント処理(CEP)が最初のクエリを実行している間、変更通知が見落とされる場合がある。加えて、変更通知は、変更が最初のクエリに既にある場合は二重カウントされる場合もある。しかし、いくつかの例において、変更通知の見落としおよび/または二重カウントは、最初のクエリの前にリスナー(listener)を確立し、および/またはトランザクション識別子(TID)、コンテキスト識別子(CID)、もしくは変更イベントを管理するための他の機構を利用することによって、回避し得る。
一般的に、連続データストリーム(イベントストリームとも呼ばれる)は、明確な終わりがない連続するまたは本質的に無限であるデータまたはイベントのストリームを含み得る。論理的に、イベントまたはデータストリームは、一連のデータ要素(イベントとも呼ばれる)であってもよく、各データ要素は関連するタイムスタンプを有する。連続イベントストリームは、論理的には要素(s,T)のバッグ(bag)またはセットで表わすことができ、「s」はデータ部分を表わし「T」は時間ドメインにある。「s」部分は一般的にタプルまたはイベントと呼ばれる。イベントストリームはしたがってタイムスタンプされた一連のタプルまたはイベントであってもよい。
いくつかの局面において、あるストリーム内のイベントに関連するタイムスタンプは、クロック時間と同等であり得る。しかしながら、他の例において、あるイベントストリーム内のイベントに関連する時間は、アプリケーションドメインによって定義してもよく、クロック時間に対応しなくてもよいが、たとえばその代わりに連続番号によって表わしてもよい。したがって、あるイベントストリーム内のイベントに関連する時間情報は、数字、タイムスタンプ、または時間の概念を表わす他の情報によって表わすことができる。入力イベントストリームを受けるシステムでは、イベントは、タイムスタンプが増す順序でシステムに到着する。同一のタイムスタンプを有する2つ以上のイベントがあってもよい。
いくつかの例において、あるイベントストリーム内のイベントは、世の中の何らかのイベントの発生(たとえば、温度センサの値が新たな値に変化したとき、株式銘柄の価格が変化したとき)を表わしてもよく、このイベントに関連する時間情報が、データストリームイベントによって表わされる上記世の中のイベントが発生した時間を示してもよい。
イベントストリームを介して受けるイベントについては、イベントに関連する時間情報を用いて、イベントストリーム内のイベントが、タイムスタンプの値が増す順序で到着することを保証してもよい。これにより、受けるイベントストリーム内のイベントを、それぞれのイベントに関連する時間情報に基づいて並べることができる。このように並べることを可能にするためには、後で生成されたイベントが、先に生成されたイベントよりも後のタイムスタンプを有するように、タイムスタンプを、イベントストリーム内のイベントと、タイムスタンプが減少しないやり方で関連付ければよい。別の例として、連続番号を時間情報として用いるのであれば、後に生成されたイベントに関連する連続番号を、先に生成されたイベントに関連する連続番号よりも大きくすればよい。いくつかの例において、たとえば、データストリームイベントで表わされる世の中のイベントが同時に発生するときには、複数のイベントを、同一のタイムスタンプまたは連続番号と関連付けてもよい。同一のイベントストリームに属するイベントは通常、関連する時間情報によってイベントに課される順序で処理すればよく、先のイベントは後のイベントよりも前に処理される。
イベントストリーム内のイベントに関連する時間情報(たとえばタイムスタンプ)は、ストリームのソースによって設定されてもよく、その代わりに、このストリームを受けるシステムによって設定されてもよい。たとえば、いくつかの実施形態において、イベントストリームを受けるシステム上でハートビート(heartbeat)を管理してもよく、イベントに関連する時間が、ハートビートによって測定される、システムへのイベントの到着時間に基づいていてもよい。あるイベントストリーム内の2つのイベントが同一の時間情報を有することが起こり得る。なお、タイムスタンプの順序条件は、1つのイベントストリームに特有のものであるが、異なるストリームのそれぞれのイベントは、任意で交互配置してもよい。
イベントストリームには、関連するスキーマ「S」があり、スキーマは、時間情報と、名前付きの1つ以上の属性からなる一組の属性とを含む。特定のイベントストリームに属するすべてのイベントは、この特定のイベントストリームに関連するスキーマに従う。したがって、イベントストリーム(s,T)の場合、このイベントストリームは、スキーマ「S]を、(<time_stamp>,<attribute(s)>)として有し得る。<attributes>は、スキーマのデータ部分を表わし1つ以上の属性を含み得る。たとえば、株式相場表示機のイベントストリームについてのスキーマは、<株式銘柄>および<株価>という属性を含み得る。このようなストリームを介して受ける各イベントは、1つのタイムスタンプと上記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システムは、イベントストリームを分析し総計をリアルタイムで計算するように構成してもよい。
いくつかの例において、連続クエリ言語サービス(CQサービス)は、BI分析サーバを拡張することにより、連続クエリを扱うとともにリアルタイムの警告を可能にするよう、構成し得る。CQサービスは、いくつかの局面において、BI分析サーバおよびCQLエンジンとの統合をもたらし得る。一例にすぎないが、BI分析サーバは、連続クエリをCQサービスに委託してもよく、CQサービスは、CQLエンジンに対する論理データベース(DB)ゲートウェイとして機能してもよい。このようにして、CQLエンジンは、BI分析サーバを、その分析機能およびセマンティックモデリングについて強化することができるであろう。
いくつかの例において、CQサービスは、とりわけ以下の機能を提供し得る。
・BI分析サーバに対するサービスをCQLエンジンゲートウェイとしてリモート処理する。
・イベントソース/シンクアダプタ。
・論理的SQLに加えてCQL拡張からデータ定義言語(DDL)を生成する。
・すべての種類の連続クエリおよび実装選択に対して統一されたモデルを提供する。
・メタデータを維持し再始動能力をサポートする。
・高アベイラビリティおよびスケーラビリティのサポート。
加えて、いくつかの例において、OIは、可視性およびビジネスオペレーションに対する洞察を与えることができる、リアルタイムの動的なビジネス分析論の一形態である。OIは、BIまたはリアルタイムBIに、どちらも大量の情報の意味を解明するのを支援するという点において、関連付けられるかまたはこれと比較されることが多い。しかしながら、根本的な相違があり、OIは主としてアクティビティ中心であり得るのに対し、BIは主としてデータ中心であり得る。加えて、パターンを識別するための、事後のかつ報告に基づく手法として従来使用されているBIと異なり、OIは、発展途上の状況(たとえば傾向およびパターン)を検出しこれに対応するのにより適している。
いくつかの例において、ビジネスイベント分析およびモニタリング(BEAM)システムは、インフライト(in-flight)データを処理しおよび/または受ける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)により、クエリエンジンは、ストリーミングデータを受ける前に、データ記憶装置からの履歴データをクエリエンジンに投入することができるであろう。これは、クエリがアーカイブされたリレーションを分析しておりアーカイブされたリレーションがそのようなものとして示されていることに少なくとも一部基づいて、可能になるであろう。
いくつかの例において、所与のアーカイブリレーションについてのウィンドウサイズは、ユーザが指定してもよい。いくつかの局面において、アーカイブされたリレーションに関するウィンドウは、入ってくるストリーミングされた内容を分析するかそうでなければ評価するクエリグラフにおけるノードを含み得る。言い換えると、ウィンドウは、クエリエンジンによって分析されるおよび/または処理されるストリーミングされた内容の量、および/またはアーカイブされたリレーションに含まれる履歴データの量を定めることができる。
高いレベルでは、ウィンドウがストリームに適用されると、これはリレーションになり、次に、リレーショナルデータベースと同様に、通常のリレーショナルロジックを適用すればよい。タプルがウィンドウに届いてウィンドウから出るとき、想定しているリレーションは、これに対してコンパイルされたクエリとともに変化し、同時に結果を出力する。CQLは、RANGE(ナノ秒の細分性まで)、ROWS、PARTITION BYおよび拡張可能なウィンドウをサポートし得る。これらウィンドウは、ストリーム−リレーション演算子の例である。一方、ISTREAM(すなわち挿入ストリーム)、DSTREAM(すなわち削除ストリーム)およびRSTREAM(すなわちリレーションストリーム)は、リレーション−ストリーム演算子である。いくつかの例において、ユーザ、開発者、および/または管理者は、クエリエンジンによってまたはクエリエンジンを機能させるもしくはホストする1つ以上の計算システムによって(たとえばUIを介して)与えられるウィンドウサイズを設定してもよい。いくつかの例において、ストリーム上のウィンドウは、時間に基づく範囲ウィンドウであってもよい。たとえば、アーカイブされたリレーションに対する構成可能な値のウィンドウは、ウィンドウサイズおよびウィンドウの計算の元になる属性を用いて指定してもよい。アーカイブされたリレーションの上に指定された構成可能な値のウィンドウがある場合、スナップショットクエリを計算してもよく、ウィンドウの境界内にあるスナップショットタプルを出力してもよい。加えて、状態の初期化後、値のウィンドウを、入ってくるアクティブデータに適用してもよい。いくつかの例では、入ってくるアクティブデータのみが、そのウィンドウ属性の値が現在のイベント時間と異なるウィンドウに、ウィンドウサイズよりも短い間、挿入されるであろう。
加えて、いくつかの例において、本開示の特徴は、CQLエンジンおよび/またはCEPエンジンの連続クエリ処理機能を強化してリアルタイムデータ分析をサポートしてもよい。いくつかの局面において、CQLエンジンおよび/またはCEPエンジンは、従来はストリーム指向分析エンジンであったであろうが、永続的記憶装置によって支援されるストリーム指向データ(たとえば上記アーカイブされたリレーション)をサポートするように拡張してもよい。たとえば、本開示は、永続的記憶装置(データベースおよび/またはテーブル)であるデータオブジェクト(DO)の概念を裏付けることができる特徴を説明している。DOに対して修正がなされると、変更通知が、対象のリスナーにブロードキャストされて、事実上データストリームが作成されるであろう。このデータストリームは、実行しているクエリをサポートするCQLエンジンおよび/またはCEPエンジンによって消費されるであろう。しかしながら、CQLエンジンおよび/またはCEPエンジンは、DO補助記憶装置における既存のデータを考慮するように設計されてはいないかもしれない。たとえば、CQLエンジンおよび/またはCEPエンジンは、CQLエンジンおよび/またはCEPエンジンにおいて実行しているクエリの初期状態が、現在DO補助記憶装置にあるすべてのデータを含むDOの現在の状態を反映することを、要求するかもしれない。このクエリがそのように初期化されると、CQLエンジンおよび/またはCEPエンジンは、従来のストリーム指向方式におけるこの点からのDO変更通知のストリームを扱うだけでよい。
いくつかの局面において、CQLエンジンおよび/またはCEPエンジンは、従来はストリームまたはアーカイブされていないリレーションを処理するものであろうため、初期状態はないかもしれない。たとえば、クエリがロードされる場合、これは、実行および変化をリッスンすること等を開始するであろう。場合によっては、棒グラフによる州ごとの売上をユーザが要求しその後誰かによる新たな売上があったとすると、テーブルは更新され、ユーザは、出されたグラフに変化がみられることを予想するであろう。しかしながら、彼らがダッシュボードを閉じて一週間後に戻り売上を報告した場合、ユーザは、合計された売上データのテーブルに示された売上の合計が得られることを予想するであろう。言い換えると、クエリは、アーカイブの状態に引上げられてからアクティブな変更をリッスンする必要があるであろう。
たとえば、いくつかの局面において、CQLエンジンは、アーカイブされたデータを用いて予め初期化されてもよい。初期化されると、CQLエンジンは、(たとえば挿入、削除等についてのAPIコール、アーカイブからのデータに少なくとも一部基づく)変更通知があるか否か知るためにJava(登録商標)メッセージングサービス(JMS)またはその他のメッセンジャーをリッスンするであろう。したがって、サービスはリッスンすることができ、JMSが、リスニングサービスがリッスンしているのと同じトピックに関する発行を行なうと、データを受けることができる。サービスは、誰が発行しているのかまたは発行しているか否か知る必要はない。リスニングサービスはリッスンするだけでよく、何かが生じた場合にリスニングサービスはそれを聞けばよい。いくつかの例では、このようにして永続性がたとえばそのコンシューマから切離される。加えて、いくつかの例において、警告エンジンが、聞いたものに基づいて警告を発してもよく、場合によってはさらに、SQLエンジンが、リスナーに関連するプロセスクエリをリッスンしてもよい。
いくつかの例において、クエリは、CQL、SQL、および/またはCEPエンジンにおいて開始されてもよく、命令は、アーカイブデータを(たとえばポンプ(pump)するために)取得した後にこれらJMSメッセージをリッスンし始めるように構成されてもよい。しかしながら、多数の挿入、削除等があるので、これは大量の情報を含み得る。加えて、リスナーがメッセージを聞く前に時間のずれがある可能性があり、いくつかの例において、リッスンすることは、割込み、アーカイブにクエリし、戻り、リッスンを開始することであろう。このため、イベントの見落としおよび/または二重カウントの可能性がある。
加えて、エンジンがクエリを実行するだけであれば、エンジンがクエリを実行している間に、事実がJMSに入りエンジンがリッスンしていなかったところで発行されることがある。そこで、エンジンを、先ずリスナーをセットアップしアーカイブクエリを実行した後に戻って実際にキュー(queue)から出始めるように構成すれば、何の見落としもないであろう。このように、JMSは、事実をキューにしてもよく、エンジンがクエリを実行している間事実のバックアップがあればそれでよい。なぜなら、後で追い付くことが可能であり同期しているか否か心配する必要がないからである。もしここになければ、リッスン中、見落としはなく、リスナーが確立されている限り、エンジンが戻るまでキューにするだけでよい。
加えて、いくつかの例において、システム列をユーザのデータに追加してもよい。このシステム列は、二重カウントおよび/または見落としという動作上の問題に対処する試みにおいて、トランザクションIDを示すためのものであってもよい。しかしながら、他の例において、システムは、トランザクションコンテキストテーブルを提供するかそうでなければ生成してもよい。加えて、2つの追加列としてTRANSACTION_CIDおよびTRANSACTION_TIDがあってもよい。コンテキストテーブルは、最後にコミットされたトランザクションIDのスレッド(コンテキスト)性を知るために、永続性サービスによって常に維持されていてもよい。トランザクションIDは、スレッド(コンテキスト)に対して昇順でコミットされることが保証されてもよい。たとえば、サーバは、立上ったときに、永続性サービスを実行してもよい。各々は、予め初期化された情報のデータがJMSを通過したデータすべてを含むか否か判断するために、コンテキストIDとトランザクションIDのセットを割当ててもよい。加えて、場合によっては、(JTAに準拠するおよび/または高アベイラビリティ(HA)を実現する)複数の出力サーバを利用してもよく、各サーバは、その他のサーバによって管理されるその他のテーブルと全く別の一組のコンテキスト/トランザクションテーブルを管理してもよい。
上記および下記技術は、多数のやり方でおよび多数の文脈において実装し得る。以下において詳細に説明する、実装および文脈のいくつかの例を下記図面を参照しながら示す。しかしながら、以下の実装および文脈は、数あるうちのほんの一部にすぎない。
図1は、アーカイブされたリレーションを有する連続クエリを管理するための技術を実装し得るシステムまたはアーキテクチャ100の簡略化された例を示す。アーキテクチャ100において、1人以上のユーザ102(たとえば口座所有者)は、ユーザの計算装置104(1)〜104(N)(まとめて「ユーザ装置104」とする)を利用して、1つ以上のサービスプロバイダコンピュータ106に、1つ以上のネットワーク108を介してアクセスし得る。いくつかの局面において、サービスプロバイダコンピュータ106も、1つ以上のストリーミングデータソースコンピュータ110および/または1つ以上のデータベース112とネットワーク108を介して通信し得る。たとえば、ユーザ102は、サービスプロバイダコンピュータ106を利用して、ストリーミングデータソースコンピュータ110および/またはデータベース112のデータにアクセスし得る、そうでなければこのデータを管理し得る(たとえば、クエリは、110、112のうちいずれかまたは双方に対して実行し得る)。データベース112は、リレーショナルデータベース、SQLサーバ等であってもよく、いくつかの例では、履歴データ、イベントデータ、リレーション、アーカイブされたリレーション等を、ユーザ102に代わって管理し得る。加えて、データベース112は、ストリーミングデータソースコンピュータ110から提供されるデータを受けることができ、そうでなければ格納することができる。いくつかの例において、ユーザ102は、ユーザ装置104を利用して、サービスプロバイダコンピュータ106と、クエリ(「クエリステートメント」とも呼ばれる)を与えることによりまたはデータ(たとえば履歴イベントデータ、ストリーミングイベントデータ等)に対する他の要求を与えることにより、対話し得る。このようなクエリまたは要求は次に、データベース112のデータおよび/またはストリーミングデータソースコンピュータ110から入ってくるデータを処理するサービスプロバイダコンピュータ106によって実行し得る。さらに、いくつかの例において、ストリーミングデータソースコンピュータ110および/またはデータベース112は、サービスプロバイダコンピュータ106に関連付けられた、一体化された分散環境の一部であってもよい。
いくつかの例において、ネットワーク108は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、イントラネットシステム、および/またはその他の私的および/または公的ネットワーク等の、複数の異なる種類のネットワークのうちの1つまたはこれらを組合わせたものを含み得る。示されている例はユーザ102がネットワーク108を通してサービスプロバイダコンピュータ106にアクセスすることを示しているが、記載されている技術は、ユーザ102が、1つ以上のサービスプロバイダコンピュータ106と、1つ以上のユーザ装置104を介し固定電話を通して、またはキオスクを介して、または他のやり方で、対話する場合に、等しく適用し得る。また、記載されている技術は、他のクライアント/サーバ構成(たとえばセットトップボックス等)においても、および、非クライアント/サーバ構成(たとえばローカル格納アプリケーション等)においても、適用し得ることが注目される。
ユーザ装置104は、携帯電話、スマートフォン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、シンクライアント(thin-client)装置、タブレットPC等の、任意の種類の計算装置であればよいが、これらに限定されない。いくつかの例において、ユーザ装置104は、サービスプロバイダコンピュータ106と、ネットワーク108を介してまたはその他のネットワーク接続を介して通信し得る。さらに、ユーザ装置104はまた、処理するデータベース112(またはその他のデータ記憶装置)のデータを要求するための、1つ以上のクエリまたはクエリステートメントを与えるように構成し得る。
いくつかの局面において、サービスプロバイダコンピュータ106はまた、モバイル、デスクトップ、シンクライアント、および/またはサーバ等のクラウド計算装置といった、任意の種類の計算装置であればよいが、これらに限定されない。いくつかの例において、サービスプロバイダコンピュータ106は、ユーザ装置104と、ネットワーク108を介してまたはその他のネットワーク接続を介して通信し得る。サービスプロバイダコンピュータ106は、おそらくは、クラスタに、サーバファームとして、または、互いに関連がない個々のサーバとして配置された、1つ以上のサーバを含み得る。これらサーバは、本明細書に記載の特徴を実行するように、そうでなければホストするように、構成し得る。上記特徴は、本明細書に記載の、アーカイブされたリレーションの管理、アーカイブされたリレーションに関連する構成可能なデータウィンドウ、および/またはアーカイブされたリレーションの管理に関連する変更イベントの正確なカウントを含むが、これらに限定されない。加えて、いくつかの局面において、サービスプロバイダコンピュータ106は、ストリーミングデータソースコンピュータ110および/またはデータベース112を含む、一体化された分散計算環境の一部として構成し得る。
例示としてのある構成において、サービスプロバイダコンピュータ106は、少なくとも1つのメモリ136と、1つ以上の処理部(またはプロセッサ)138とを含み得る。プロセッサ138は適宜、ハードウェア、コンピュータにより実行可能な命令、ファームウェア、またはこれらの組合わせにおいて実装し得る。コンピュータにより実行可能な命令またはファームウェアによる、プロセッサ138の実装は、記載されているさまざまな機能を実行するために、何らかの適切なプログラミング言語で書かれた、コンピュータにより実行可能なまたはマシンにより実行可能な命令を含み得る。
メモリ136は、プロセッサ138にロード可能でかつプロセッサ138において実行可能なプログラム命令と、これらプログラムの実行中に生成されるデータとを格納し得る。サービスプロバイダコンピュータ106の構成および種類に応じて、メモリ136は、揮発性(ランダムアクセスメモリ(RAM)等)であってもよくおよび/または不揮発性(読出専用メモリ(ROM)、フラッシュメモリ他等)であってもよい。サービスプロバイダコンピュータ106またはサーバはまた、着脱可能な記憶装置および/または着脱不能な記憶装置を含み得る、その他の記憶装置140を含み得る。その他の記憶装置140は、磁気記憶装置、光ディスク、および/またはテープ記憶装置を含み得るがこれらに限定されない。ディスクドライブおよびこれらディスクドライブに関連するコンピュータ読取可能な媒体は、計算装置のための、コンピュータ読取可能な命令、データ構造、プログラムモジュール、およびその他のデータの、不揮発性記憶装置を提供し得る。実装によっては、メモリ136は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、またはROM等の、複数の異なる種類のメモリを含み得る。
着脱可能および着脱不能な、メモリ136およびその他の記憶装置140はすべて、コンピュータ読取可能な記録媒体の例である。たとえば、コンピュータ読取可能な記録媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の、情報の格納のための何等かの方法または技術において実装される、揮発性または不揮発性で着脱可能または着脱不能な媒体を含み得る。メモリ136およびその他の記憶装置140はすべて、コンピュータ記録媒体の例である。
サービスプロバイダコンピュータ106はまた、アイデンティティインターフェイスコンピュータ120が、格納されているデータベース、別の計算装置もしくはサーバ、ユーザ端末、および/またはネットワーク108上のその他の装置と通信できるようにする、通信接続142を含み得る。サービスプロバイダコンピュータ106はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、ディスプレイ、1つ以上のスピーカ、プリンタ他等の、入出力(I/O)装置144を含み得る。
次にメモリ136の内容の詳細について述べる。メモリ136は、オペレーティングシステム146と、アーカイブリレーションモジュール148、構成可能ウィンドウモジュール150、および/またはイベントカウントモジュール152を少なくとも含む、本明細書に開示される特徴を実装するための、1つ以上のアプリケーションプログラムまたはサービスとを含み得る。本明細書で使用されるモジュールは、サービスの一部であるサーバまたはサーバのクラスタによって実行されるプログラミングモジュールであってもよい。この特定の文脈において、モジュールを、サービスプロバイダコンピュータ106の一部であるサーバまたはサーバのクラスタによって実行してもよい。いくつかの例において、アーカイブリレーションモジュール148は、1つ以上のイベントストリームエントリs1、s2、…sNへの参照を含み得る1つ以上のアーカイブされたリレーション154を、受ける、識別する、生成する、そうでなければ提供するように構成し得る。たとえば、アーカイブされたリレーションは、これらエントリ(すなわちs1〜sN)を含むストリームにウィンドウを適用することによって定義してもよい。このため、アーカイブされたリレーションは、これらエントリを含む有界のデータ集合であってもよい。しかしながら、これらエントリは生成時に空でない場合がある。これには、限定ではないが、永続性または履歴データのその他のデータベースから予めロードされたリレーションのエントリのうちの1つ以上(たとえばs1および/またはs2、これよりも多いまたは少ないエントリ)を有することが含まれる。このため、これら予めロードされたエントリは履歴データを含み得る。リレーションの残りは入ってくるストリーミングデータを含み得る。いくつかの例において、アーカイブされたリレーション154は、最初に{s3,s4}として識別されるかもしれない。しかしながら、ウィンドウがw1からw2に移動すると、アーカイブされたリレーション154は、{s4,s5}として識別されs3の削除および/またはs5の挿入によって変更されているかもしれない。
先に述べたように、アーカイブされたリレーション154は、その作成の「瞬間」において(おそらくは)空でないCQLリレーションであってもよい。これは、作成された「瞬間」において内容が空である「通常の」CQLリレーションと対照的である。いくつかの例において、アーカイブされたリレーション154の内容がその作成の瞬間において「時間の始まり」から存在していたと仮定する(Long.MIN_VALUE)。BEAMコンテキストにおいては、CQLエンジン156のオブジェクト(いくつかの例ではすべてのオブジェクト)をサーバの起動の度に作成し得る点に注目するのが有用である。いくつかの点で、アーカイブされたリレーション154は、「通常の」CQL内部リレーションに似ていることがある。特に、演算(JOIN、GROUP AGGR、ORDER BY TOP Nのようなリレーション−リレーション演算、および、I/D/RSTREAMのようなリレーション−ストリーム演算)は、「通常の」CQL内部リレーションに対して有するのと同一のセマンティクスを保持し得る。加えて、いくつかの例において、「アーカイバ」は、CQLエンジン156との特定のコントラクトを実装するJava(登録商標)クラスであってもよい。これは、アーカイバを可能にする機能を有するIArchiverインターフェイスまたはその他のインターフェイスを実装し得る。この「アーカイバ」は、アーカイブされたリレーション154に対応する「アーカイバ」によって管理される論理エンティティの識別子(たとえばデータオブジェクトの名称)とともに、アーカイブされたリレーション154を作成するのに使用されるDDLステートメントの一部として指定されてもよい。
いくつかの局面において、アーカイバは、CQLエンジン156とのコントラクトに少なくとも一部基づいて実装されることにより、アーカイブされたリレーション154の内容をその作成時に少なくとも提供してもよい。加えて、アーカイバは、自身の(たとえばCQLエンジン156の外部の)アーカイブされたリレーション154の「経時変化する」内容を維持すると予想できる。しかしながら、いくつかの例において、アーカイバはステートレスであってもよい。この例において、アーカイバは、アーカイブされたリレーションのフレームワークによって渡されたクエリを実行する方法(たとえば「execute()」)を実装し得る。アーカイバは次に、この方法が実行されると内容をアーカイブされたリレーションのフレームワークに返してもよい。アーカイバはまた、アーカイブされたリレーション154に対するクエリ機能(たとえばSQL−99クエリとして表現される)を提供するように構成されてもよい。加えて、いくつかの例において、「アーカイバ」に提示されるクエリにおけるFROM句のアイテムは、「アーカイバ」エンティティの名称および/またはデータオブジェクトの名称(たとえば永続的記憶装置上で維持される)であってもよい。FROM句のアイテムがデータオブジェクトの名称の場合、これらは、作成DDLにおけるアーカイブされたリレーションにマッピングしてもよい。これに加えてまたはこれに代えて、アーカイバの名称を用いてアーカイバインスタンス(2つ以上のアーカイバがある可能性がある)をルックアップしてから、このアーカイバインスタンスに対する実行(クエリ)をコールしてもよい。クエリにおいて使用される属性名は、希望に応じて、CREATE ARCHIVED RELATION DDLまたはその他適切なDDLにおいて指定される列の名称であってもよい。クエリを実行する間、「アーカイバ」は、txn T_nの時点でコミットされた変更を含むデータオブジェクトのスナップショット上でクエリを実行してもよい。上記T_nは、データオブジェクトに対するイベントがストリーミング入力として提示された最新のトランザクションよりも前である。特に、「後の」トランザクションに対応する入力として与えられたストリーミングデータオブジェクトイベントはないであろう。
さらに、「アーカイバ」は、このクエリが実行されたトランザクションのIDを返してもよい。このIDは、後のトランザクションのIDが前のトランザクションのIDよりも大きくなるように単調に増加する数字(必ずしも連続しない)であってもよい。更新イベントの場合、「アーカイバ」は、ストリーミングイベントの一部として、OLD値とNEW値を与えてもよい。これに加えてまたはこれに代えて、いくつかの例では、永続性サービスが、OLD値およびNEW値双方についての変更通知をCQサービスに送ってもよい。このようにして、CQサービスは、適切な動作をアーカイブされたリレーションに対して行なうことができるであろう。削除イベントの場合、「アーカイバ」は、削除イベントを、妥当性検査にパスした場合に(いくつかの例では「場合にのみ」)、ストリーミングイベントとして与えてもよい。いくつかの例において、アーカイバの機能は、クエリが処理しないデータオブジェクトイベントはないというシナリオを可能にし得る。CQLエンジン156も、すべてのデータオブジェクトイベントの処理をスキップすることによりイベントは重複して処理されないというシナリオを可能にし得る。この場合、トランザクション識別子<=「スナップショット」クエリの実行の一部として「アーカイバ」によって返されるトランザクション識別子である。いくつかの例において、アーカイバは永続性サービスと同等であり得る。これに代えてまたはこれに加えて、クエリの瞬間におけるスナップショット情報を、トランザクションコンテキストテーブルから得てもよい。このスナップショット情報は、CQLエンジンにおいて維持されてもよく、スナップショットID(増大する識別子)はこれと関連付けられてもよい。同じものを、このクエリのプランにおける選択されたいくつかの演算子の入力キューに設定してもよい。これらは、「コネクタ」演算子と呼ばれ、ローカルクエリプランがグローバル(全体)クエリプランに結合し得る場所を表わしてもよい。イベントがCQLエンジンに達すると、このイベントに対し、スナップショットIDを、その中のコンテキストIDおよびトランザクションIDの値を用いて計算してもよい。スナップショットIDは、CQLエンジンにおいて維持されているスナップショット情報を用いて計算してもよい。イベントのスナップショットIDは次に、入力キューのスナップショットIDと比較してもよい。イベントのID>キューのIDであれば、これを処理をしてもよく、そうでなければ、以前既に考慮されている可能性がありしたがって二重カウントを避けるために無視してもよい。
固有のCQLコンセプトとしてアーカイブされたリレーション154を導入することによって、CQLエンジン156は、アーカイブされたリレーション154に対して定義されたクエリの演算子の状態を初期化するためにフェッチする必要があるデータの最適量を決定することができる。いくつかの例において、クエリのコンパイルの最終ステップとして、クエリプラン生成(および/またはグローバルプランとのマージ)に従い、状態初期化フェイズを導入して、「アーカイバ」に対して実行する必要があるクエリの最適セットを決定してもよい(たとえば演算子の状態の初期化のために)。場合によっては、クエリのセット(たとえば最適セット)を決定するために使用される状態初期化アルゴリズムは、ステートフル演算子に遭遇するまで、一連の演算子の状態化の実現を遅らせるかもしれない(これはデータを集計ししたがってメモリ内のすべての詳細/事実の実現と比較すると取出すデータは少ないかもしれない)。クエリ実行の第1ステップは、状態初期化クエリが実行される前であっても、スナップショットクエリの実行および/またはクライアントへの結果の送達であろう。いくつかの例において、スナップショットクエリ(「アーカイバクエリ」とも呼ばれる)は、演算子を結果の内容によって初期化し得る状態初期化の一部であってもよい。次に、これら結果を下流の演算子(たとえば下流の演算子すべて)に伝搬することによって、結果を出力してもよい。次に、状態初期化アルゴリズムによって決定されたクエリを実行してもよい。この第1ステップの終了時に、すべての演算子それぞれの状態は適切に初期化されクエリはストリーミングイベントを処理できる状態になっているであろう。
CQLクエリが、システム再起動中に、アーカイブされたリレーション154を参照するとき、CQLエンジン156は、クエリ内の実行演算子の状態がシャットダウン前に持っていた値に初期化されるというシナリオを可能にするように構成されてもよい。これに代えてまたはこれに加えて、クエリが(再)起動される度に、それがシャットダウンの一部であろうと自発的なものであろうと、クエリは、フレッシュなすなわち新たなアーカイバクエリを発行することによって状態を再び初期化してもよい。いくつかの例において、これは、t0+デルタの時点ではt0の時点と異なり得る。場合によっては、状態初期化アルゴリズムを、この機能を扱うように構成してもよい。いくつかの例において、各々(またはすべて)のアーカイブされたリレーション154は、リレーションを構成するイベントを追跡するアーカイバオブジェクトにマッピングしてもよく、自身に対して発行されたSQLクエリ(データベーステーブルと同様)に答えてもよい。加えて、CQLクエリにおける実行演算子の状態の初期化は、CQLクエリが依存するアーカイブされたリレーション154にマッピングするアーカイバに対して適切なSQLクエリを発行することと、戻された結果を使用して演算子の状態を初期化することとを少なくとも含む、2段階のプロセスであってもよい。(アーカイバから得た)イベントの実現を遅らせると、結果としてメモリおよび/または処理時間消費が削減されるかもしれない。これに加えてまたはこれに代えて、メモリの削減は、メモリを最小にする適切な演算子が発見されたためであるかもしれない。たとえば、集計された/要約されたデータをメモリに入れると、大幅なメモリの削減につながり得る。
いくつかの例において、状態初期化プロセス(これは、全体のプロセスの中の1ステップであってもよく、CQLクエリの起動時に実装されてもよく、アーカイブされたリレーション(複数可)を参照する)は、メタデータオブジェクトを用いてクエリの論理プランを取得することと、論理プランから物理プランを構築することと、ローカル物理プランをオプティマイザを用いて最適化することと、オペレーションを共有してグローバル物理プランを得ることと、補助構造(たとえばシノプシス、記憶、キュー等)を追加することと、クエリをインスタンス化すること(実行演算子を構築しおよび/または実行構造をサポートする)とを、含み得る。加えて、状態初期化アルゴリズムをコールする適切な場所は、ローカル物理プラン最適化の直後であってもよい。いくつかの例において、状態初期化アルゴリズムは、クエリがアーカイブされた1以上のリレーション154に依存するときにコールされるだけであってもよい。
いくつかの例において、バイナリ演算子の場合、子演算子をクエリ演算子としてマークしてもよい。また、クエリプラン全体のトラバース後にクエリ演算子が識別されない場合、ルートをクエリ演算子としてマークしてもよい。演算子がクエリ演算子として識別された後、インスタンス化フェイズの間にイズクエリ演算子(isQueryOperator)フラグがセットされた場合、構築されたアーカイバクエリを実行する方法が演算子ファクトリコードからコールされるであろう。次に、戻された結果セットをタプルのセットに変換すればよく、リストを実行演算子インスタンスにセットすればよい。このようにして、インスタンス化されると、状態を必要とする実行演算子は、その状態を初期化するのに十分であろうタプルのリストを有し得る。インスタンス化されると、これらタプルを用いて状態を初期化しこれを下流に伝搬する方法をコールするトポロジー順でクエリプランに対してもう1つのパスを行なえばよい。この方法は演算子固有であってもよく、および/または、初期化処理は、シノプシスの投入、内部データ構造の維持等と同様であってもよい。
いくつかの例において、「売上高」のアーカイブされたリレーション154の上の下記CQLクエリを実装してもよい。
Figure 2016500168
いくつかの例において、CQLエンジン156においてコンパイルされたときのクエリプランは、次のように説明することができる。
Figure 2016500168
いくつかの例において、CQLエンジン156は、上記クエリをコンパイルするとき、このクエリは、その起動時の状態は外部から利用することができ潜在的に大きい可能性があるリレーション(たとえばアーカイブされたリレーション154)に対して表現されると、判断し得る。CQLには、ステートフルな演算子(たとえばGROUP BY、PATTERN)のセットがある一方で、ステートフルでない演算子(たとえばFILTER、PROJECT、OUTPUT)があるであろう。状態初期化アルゴリズムは、考慮するシナリオに対して次のように機能し得る。すなわち、REL_SOURCE演算子は、アーカイブされたリレーションに対してステートレスなので、アーカイバのコールをスキップし得る。次のFILTERも、ステートレスなので、状態に対するアーカイバのコールをスキップし得る。次に、GROUP BY演算子に遭遇する可能性があり、これは、アーカイバを呼出し、下記SQLクエリ(希望に応じてアーカイバクエリはサブクエリに基づく手法を用いて形成されたクエリであってもよく下記のものよりも複雑であってもよい)を用いて、その状態を満たしてもよい。
Figure 2016500168
なお、ユーザのクエリはCOUNT集計を含まないかもしれないが、GROUP BYはCOUNT集計を有するSQLクエリを発行し得る。その理由は次の通りである。この情報を、(その状態の一部としての)GROUP BY演算子によって要求して、グループ(この例では「productid」に対応する)が空になりグループに関連して使用し得る何等かのリソースを(メモリのように)解放するか否か、判断することができる。
次に、−veタプルが到着した状況について考える。上記シナリオにおいて、REL_SOURCEは、状態を維持しないかもしれず、その場合、一連の演算子の中の次の演算子に判断させるであろう(「通常の」CQLリレーションのように例外をスローするのではなく)。FILTER演算子も、状態を維持しないかもしれず、その場合、同じようにするであろう。次に、GROUP BY演算子はタプルを見ることになるであろう。その状態は初期化されているので、対応するグループの位置を正しく確認し残りの処理を実行することができるであろう。たとえば、これが、region=「APAC」でproductid=「携帯電話」のタプルであれば、SUM集計関数は、タプルに存在する額だけ、「携帯電話」のその時点までの合計を減じるであろう。
いくつかの例において、「売上高」のアーカイブされたリレーション154の上の下記CQLクエリを、上記例における合計ではなく中央値を求めるために実装してもよい。
Figure 2016500168
いくつかの例において、CQLエンジン156においてコンパイルされたときのクエリプランは、次のように説明することができる。
Figure 2016500168
いくつかの例において、状態初期化アルゴリズムは、考慮するシナリオに対して次のように機能する。REL_SOURCE演算子は、アーカイブされたリレーションに対してステートレスなので、アーカイバのコールをスキップし得る。次のFILTERも、ステートレスなので、状態に対するアーカイバのコールをスキップし得る。次に、GROUP BY演算子に遭遇する可能性がある。この演算子はステートフルなので状態の初期化を要求し得る。ここで、クエリは、少なくとも1つの包括的な(holistic)関数(MEDIAN)を必要とするので、集計された/要約状態をデータベースから得るだけでは十分でないかもしれない。MEDIANを計算する対象である値のセット全体を、GROUP BY状態に対して要求してもよい。
したがって、この段階では、最下位のステートフル演算子を識別しており、かつ、より詳細な事項を要求してその状態を構成すると判断しているので、演算子プランを逆方向(すなわち「下に」)トラバースすればよい。すなわち、このプランをこの段階からは上から下にトラバースすればよい。いくつかの例において、状態を構築する責任は、ツリーにおいて下方向に次の演算子にある。この演算子はこの場合FILTERであり、これは、要求された値のセットをメモリに入れることができる以下のSQLクエリを(「アーカイバ」に)発行し得る。
Figure 2016500168
いくつかの例において、これらタプルが取出されると、FILTERは、これら値を上流に伝搬してもよく、GROUP BYは、その状態を、ツリーまたはグラフ(たとえば、限定されないが増強された赤黒ツリー等)を構成することによって構築してもよい。このデータ構造によって、次の(O(log n)時間)増分MEDIAN計算を非常に高速で行なうことができる。いくつかの例において、上記クエリにFILTERがない場合、状態を構築する責任はREL_SOURCE演算子にあり、リレーションの全内容(最適化のように、クエリによってアクセスされる関連フィールドのみが、行全体ではなく各行に対して取出される。当然ながら、すべてのフィールドがアクセスされる場合は行全体がフェッチされる)がメモリに取込まれているであろう。
いくつかの局面において、アーカイブされたリレーション154に基づいてクエリに到達するマイナスイベントを処理するためには、他のサポートが有用であろう。結合のような射影、バイナリ演算子等のCQLエンジン156演算子の中には、系統(lineage)シノプシスを維持するものがある。この系統シノプシスにおけるルックアップは、タプルIDに基づく。プラスタプルが届くと、これをシノプシスに挿入すればよい。この演算子にマイナスタプルが届くと、タプルIDに生じる系統シノプシスをルックアップする。アーカイブされたリレーション154のコンテキストに生じ得る問題は次の通りである。
1.クエリが起動したとき、系統シノプシスを維持する演算子はクエリ演算子として識別される場合があり、これは、アーカイバにクエリし返された結果をタプルに変換し系統シノプシスに入れる場合がある。
2.加えて、クエリが実行を開始したとき、これが受ける最初のタプルは、アーカイブされたプラスタプルのうちの1つに対応するマイナスタプルの場合がある。ここで、プラスおよびマイナスタプルのIDは一致しない場合があり、このことは、ルックアップの失敗および間違った結果につながる。
3.通常のリレーションの場合、リレーションソースは、プラスおよびマイナスタプルが同一のIDを確実に有するようにするのに役立つであろう。なぜならこれはシノプシスを維持し得るからである。しかしながら、アーカイブされる場合は、これが可能でないことがある。
このため、BEAM永続性レイヤはイベントIDを各イベントに割当てればよく、イベントの挿入(プラス)、削除(マイナス)、および更新通知はすべてこのIDの同一の値を有するであろう。この機能を利用することによって、上記問題を回避すればよい。したがって、もう一つの句をアーカイブされたリレーション154のDDLに追加することにより、EVENT IDENTIFIER句を指定すればよい。これは、CQL bigint型の列であってもよく、この列は、イベントのプラス、マイナス、および更新タプルについて同じ値を有するであろう。
場合によっては、CQLエンジン156内で、EVENT IDENTIFIER句において指定された列を利用してもよい。たとえば、アーカイバがクエリされるとき、このフィールドは、選択リストに存在するように強制されてもよく、このフィールドの値を使用することにより、記録をタプルに変換する一方でタプルIDを設定してもよい。また、通常の入力イベントが来たとき(たとえばクエリが実行しているとき)、このフィールドにおける値には、タプルの値をリレーションソースコードのITupleに変換する一方で、タプルIDが割当てられてもよい。こうすることにより、イベントのプラスおよびマイナスが確実に同じタプルIDを有するようにするための構成が可能になるであろう。
いくつかの例において、以下の構文をアーカイブされたリレーションのDDLに利用してもよい。
Figure 2016500168
アーカイブされたリレーションを作成するためのこのDDLは、エンドユーザおよび他の構成要素からは見えない場合がある。たとえば、アーカイブされたリレーションの作成は、EPNがCQLプロセッサノードに接続されたデータオブジェクトノードを含むときに、CQLプロセッサコードにより、「隠れて」処理することができる。たとえば以下のEPNについて考える。
Figure 2016500168
このEPNコードは、CQLエンジン156において作成するアーカイブされたリレーションの列名としてデータオブジェクトのフィールド名を使用してもよい。そうすることにより、フィールドの名称とフィールドの順序が確実に一致する。
加えて、いくつかの例において、アーカイブされたストリームを、CQLエンジン156および/またはその他のエンジンを介して可能にしてもよい。概念上、アーカイブされたストリームは、アーカイブされたリレーションの特徴によく似ているかもしれない。しかしながら、ストリームとリレーションの間には意味の相違があるので、アーカイブされたリレーションの特徴との比較で、何らかの変更を、アーカイブされたストリームの設計および構文に行なえばよい。たとえば、リレーションの内容には、加算、更新、または削除が発生したときに、変化が生じ得る。このため、この内容は、時間の経過とともに、サイズが大きくまたは小さくなる可能性がある。しかしながら、ストリームの場合、定義により、更新および削除は不可能である。よって、ストリームのサイズは大きくなり続けるしかない。したがって、ストリームの過去の内容のサイズは非常に大きく、ほとんどの場合、ユーザは、アーカイバによって維持される直近の過去のサブセットにしか興味がない。
このため、以下の構文をアーカイブされたストリームのDDLに利用してもよい。
Figure 2016500168
ここで、ARCHIVERおよびENTITY句は、アーカイブされたリレーション154と同じ意味を有し得る。しかしながら、EVENT IDENTIFIER句は必要でないかもしれない。なぜなら、これは一般的に、ストリームに対して入力として到来することができないマイナスイベントを扱うだけだからである。加えて、REPLAY LAST句によって、ユーザは、興味ある直近の過去の部分を指定することができる。ユーザはこれを、時間範囲として、または行の数によって指定することができる。よって、たとえば、REPLAY句は、REPLAY LAST 30MINUTES(この場合過去30分において到達した記録をアーカイバからフェッチすればよい)、または、REPLAY LAST 50ROWS(この場合、到着時間で並べられた最新の50記録をアーカイバからフェッチすればよい)であってもよい。
TIMESTAMP COLUMN句は、アーカイバにクエリしている間に返されるであろう記録の識別に利用してもよい。これは、アーカイバクエリの結果セットの一部である記録を決定するアーカイバクエリのWHERE句において使用してもよい。この列の値は、タイムスタンプをCQLエンジン156内部のタプル(アーカイバにクエリすることによって得られる)に割当てる間に利用してもよい。この列の名称は、BEAM永続性によって割当てられた作成タイムスタンプを有するDO内の列の名称である可能性がある。
加えて、いくつかの例において、構成ウィンドウモジュール150は、CQLエンジン156の1つ以上のアーカイブされたリレーション154を構成するためのウィンドウサイズ158を、生成する、受ける、および/または決定するように構成されてもよい。しかしながら、いくつかの例において、アーカイブされたリレーションに対して異なるウィンドウサイズを定めても、アーカイブされたリレーションの別々のインスタンスは作成されないかもしれない。むしろ、ウィンドウが適用されたとき、アーカイブされたリレーションのインスタンスは1つしかないかもしれず、ウィンドウは、特定のクエリにとって「興味」があるアーカイブされたリレーションにおけるデータを求めればよい。上記のように、ウィンドウサイズ158は、アーカイブされたリレーション154のウィンドウw1、w2、および/またはwNのサイズを構成し得る。このようにして、ユーザは、ウィンドウサイズを制御することができ、希望に応じて、ビジネスイベントデータおよび/または個人的関心、ビジネスの目標、および/またはその他の要素に関連する情報に少なくとも基づいて、ウィンドウのサイズを指定すればよい。
さらに、いくつかの例において、イベントカウントモジュール152は、CQLエンジン156内で、または、ストリームもしくはアーカイブされたリレーション154の中の変更イベントを正しくカウントできるように構成されたその他のエンジン内で、1つ以上のリスニングサービス160を実装するように構成されてもよい。簡単に述べたように、連続クエリ162が、CQLエンジン156によって管理されるストリームおよび/またはアーカイブされたリレーション164に対する従属性を示すとき、CQLエンジン156はリスニングサービス160を実装してもよい。少なくともいくつかの例において、リスニングサービスを実装するタイミングにより、ストリーム/リレーション164の中の変更イベントが正しくカウントされるか否かを判断することができる。加えて、上記のように、いくつかの例において、連続クエリ162は、履歴および/またはウェアハウスデータのデータ記憶装置166に対してクエリすることによって、アーカイブされたリレーション164のデータを初期化するように、構成されてもよい。
いくつかの例において、クエリがCQLエンジン156内で実行されるとき、これは、最初にクエリをデータオブジェクト補助記憶装置に対して実行することによってデータオブジェクトの現在の状態を確立してからデータオブジェクトからの変更通知をリッスンし処理する場合がある。そうすると2つの問題が生じる。すなわち、CQLエンジン156が最初のクエリを実行している間に変更通知が見落とされるかもしれないことであり、もう1つは、最初のクエリに変更が既にあった場合変更通知が二重カウントされるかもしれないことである。
変更通知の見落としは、最初のクエリが起動される前に変更通知リスナーを確立するが、アーカイバクエリ実行が完了するまでおよび/または状態初期化がなされるまでこれらを処理しないことによって、解消することができる。これら変更通知は、CQLエンジン156がこれらを処理する準備ができるまで、メッセージングサービス(JMS)にバッファすればよい。場合によっては、変更通知の二重カウントの解消を、追加情報を永続性サービスに提供することで、どの変更通知が最初のクエリ結果に含まれどの変更通知がこれに含まれていないかCQLエンジン156に判断させることにより、実行してもよい。
いくつかの例において、最後のトランザクションのトランザクションIDを含む各データオブジェクトに、その他の列を追加する(たとえばDATAOBJECT_ID)ことにより、このデータオブジェクトのインスタンス(行)に影響を及ぼしてもよい。しかしながら、他の例では、その他の列は追加せず、その代わりにトランザクションのコンテキストを利用してもよい。このトランザクションIDは、JTAのような他のトランザクション機構と混同されない内部BEAMアーティファクトであってもよい。このトランザクションIDは、いくつかの例において、単調に増加する整数であってもよい。同一のJTAトランザクションによって修正されるいくつか(またはすべて)のデータオブジェクトインスタンス(たとえば行)を、同一のトランザクションIDでタグ付けしてもよい。加えて、トランザクションIDを昇順でコミットしてもよい。この同じ列は、データオブジェクト変更通知に含まれていてもよい。上述のことから、クエリがMAX(DATAOBJECT_TID)を含む場合、クエリ結果において最大のトランザクションIDはわかっているであろう。このため、変更通知におけるトランザクションIDの値を、最大値と比較すればよい。なぜなら、それよりも小さいかまたはそれに等しい値は無視すればよく(すなわち既にカウントされているであろうから)、それよりも大きな値を処理すればよい(まだカウントされていないであろうから)。
しかしながら、場合によっては、トランザクションIDを昇順でコミットするために、データオブジェクトトランザクションを順番に並べてもよい。しかしながら、これは同時性に不利益な影響を与え得る。それでも、同時性は、コンテキストIDの概念を導入することによって高めることができる。いくつかの例において、各コンテキストIDはそれ自身のトランザクションIDを維持してもよい。BEAMデータオブジェクトに対して演算を実行するJTAトランザクションが、BEAMコンテキストへの包括的アクセスを得てもよい。次に、同じBEAMコンテキストを、上記JTAトランザクションによって実行される演算(たとえばすべての演算)に使用してもよく、最終的には、JTAトランザクションのコミットまたはロールバック時に解放すればよい。こうすれば、BEAMコンテキストにおいて処理を並列に進めることができる。よって、同時性のレベルは、BEAMコンテキストの割当てに釣合ったものになるであろう。その他の列(DATAOBJECT_CID)を、各データオブジェクトに追加することにより、最後のコンテキストのIDを保持して、そのデータオブジェクトのインスタンス(行)を修正することができる。しかしながら、他の例では、その他の列は追加されず、その代わりにトランザクションコンテキストを利用してもよい。コンテキストIDは、トランザクションIDのように、データオブジェクトの変更通知に含まれてもよい。しかしながら、これにより、二重カウントを解消するためにコンテキストIDに対してMAX(DATAOBJECT_TID)を取得することを必要とし得るという点において、クエリ側に対する要求が変化し得る。
いくつかの例において、同じレベルの同時性は、トランザクションコンテキストエンティティの概念が導入されるのであれば、データオブジェクトに他の列を追加することなく、得ることができる。次に、新たなJavaクラスおよび関連するJPAエンティティを作成してデータベースにおけるコンテキストIDの状態を維持してもよい。トランザクションコンテキストエンティティは、コンテキストIDと、関連する(最大、最後に使用された)トランザクションIDとを含み得る。コンテキストIDはシーケンスとして生成してもよく、エンティティに対する主キーであってもよい。
永続性サービスは、初期化されると、構成された数のトランザクションコンテキストインスタンスを作成してもよい。これらトランザクションコンテキストインスタンスは、この永続性サービスが単独使用するためのものであってもよい。別の永続性サービスが別のサーバ上で初期化される場合、これも、構成された数のトランザクションコンテキストインスタンスを作成してもよい。このやり方で、各永続性サービスがコンテキストの固有のセットを有することを保証してもよい。永続性サービスは、トランザクションコンテキストのインスタンスを作成してもよく、これらをJPAを介して存続させてもよい。これはシーケンス状に並べられたエンティティでありこのシーケンスはコンテキストIDであるので、作成されたトランザクションコンテキストインスタンスは自動的に固有のものである。作成された各トランザクションコンテキストは次の連続番号を得るであろう。永続性サービスは、シャットダウンされるとき、作成したトランザクションコンテキストインスタンスを削除してもよい。場合によっては、これによってインスタンスがデータベースから削除されてもよい。
いくつかの例において、データオブジェクト演算(たとえばすべてのまたはいくつかのデータオブジェクト演算)は、最終的にはEJB法(たとえばプロセスデータオブジェクト演算と呼ばれる)によって行なってもよい。この方法は、挿入、更新、アップサート(upsert)、および/または削除に対する派生があるデータオブジェクト演算の集合体を利用してもよい。各データオブジェクト演算は、対象とするデータオブジェクトを、名称、特定の演算、およびこの演算に必要なデータによって、指定してもよい。データオブジェクト演算は、データオブジェクト演算の対象および/または任意の数のデータオブジェクトの組合わせを含み得る。データオブジェクト演算は、演算がデータオブジェクト演算に追加された順序で実行してもよい。プロセスデータオブジェクト演算法は、TransactionAttributeType.REQUIREDとして定義してもよく、これは、JTAトランザクション内でコールされた場合このトランザクションに参加し得ることを意味する。しかしながらJTAトランザクション外でコールされた場合、アプリケーションサーバは、JTAトランザクションを、この方法のコールの期間中に起動してもよい。いくつかの例において、このことは、プロセスデータオブジェクト演算が常にJTAトランザクション内で機能しているであろうことを意味する。加えて、データオブジェクトに対するすべてのまたはいくつかの演算は、JTAトランザクション内で発生し得る。
いくつかの例において、変更イベントの二重カウントの解消は、以下の動作によって可能になるであろう(これは希望に応じて任意の適切な順序で実行すればよい)。たとえば、プロセスデータオブジェクト演算がコールされたときに以下の動作を行なう(以下の動作には番号が付けられているが、これらの番号は、説明を助けるためのものに過ぎず、この一組の動作を特定の順序または必要な何らかの動作に限定するものではない)。
1.関連するJTAトランザクションからトランザクションコンテキストをフェッチすることを試みてもよい。関連するトランザクションコンテキストがある場合はそれを使用すればよい。しかしながら、関連するトランザクションコンテキストがない場合は次のようにする。
a)起動時に永続性サービスによって作成された利用可能なトランザクションコンテキストインスタンスのセット(プール)からのトランザクションコンテキストインスタンスに対する排他ロックを取得してもよい。トランザクションコンテキストが利用可能でなければ、トランザクションコンテキストが利用可能になるまでコールをブロックしてもよい。このロックはJavaおよび/またはデータベースにおいて行なってもよい。
b)このトランザクションコンテキストにおけるトランザクションIDを、関連するJTAトランザクションのトランザクションIDとなり得る、一連の数のうちの次の数に増分してもよい。
c)トランザクションコンテキストインスタンスを、JTAトランザクションに、アプリケーションリソースとして「添付」してもよい。そうすることによって、この1つのJTAトランザクションの中で複数のコールがなされた場合は、永続性サービスが、トランザクションコンテキストを、その関連するJTAトランザクション(たとえば上記1の動作のもの)を取得することができるであろう。これによって、JTAトランザクションがBEAMサーバの中から開始されようとBEAMサーバなしで開始されようと、同じJTAトランザクションの中で実行される動作に対して同じトランザクションコンテキストを使用できることを保証し得る。
d)トランザクションコンテキストインスタンスを、トランザクション同期リスナーとして、関連するJTAトランザクションに追加してもよい。これによって、永続性サービスに、JTAトランザクションがいつ完了したか知らせて、適切な動作を行なえるようにすることができる。
e)増分されたトランザクションIDを有するトランザクションコンテキストエンティティをマージしてもよい。いくつかの例において、このデータベース更新は、関連するJTAトランザクション内でも発生し得る。
2.指定されたデータオブジェクト動作を実行してもよい。トリガされた変更通知を、トランザクションコンテキストからのコンテキストIDおよびトランザクションIDでタグ付けしてもよい。
3.プロセスデータオブジェクト演算法のコールが終了し得る。
4.同じJTAトランザクション内で他のコールがなされた場合、上記動作1は、添付された」トランザクションコンテキストをピックアップして動作2に進めばよい。
5.場合によって、JTAトランザクションがコミットするならば、
a)実行されたデータオブジェクト動作をデータベースにコミットしてもよい。
b)データオブジェクトの変更通知を送ってもよい(JMS)。
c)トランザクションコンテキストのマージをコミットしてもよい。
d)トランザクションが完了しトランザクションコンテキストを次のトランザクションによる使用のために解放してプールに戻し得ることを、永続性に通知してもよい。いくつかの局面において、これはコミット後のある時点で起こり得る。
6.場合によって、JTAトランザクションがロールバックするならば、
a)実行されたデータオブジェクト動作をロールバックしてもよい。
b)データオブジェクトの変更通知を破棄してもよい(JMS)。
c)BEAMトランザクションコンテキストのマージをロールバックしてもよい。
d)トランザクションが完了したのでトランザクションコンテキストを次のトランザクションによる使用のために解放してプールに戻し得ることを、永続性に通知してもよい。いくつかの局面において、これはロールバック後に起こり得る。
ある例において、クエリを実行して初期状態をデータオブジェクト補助記憶装置から取得するとき、クエリを不可分的に実行することにより、UNIONもトランザクションコンテキストテーブルに含めてもよい。このようにして、クエリ結果に加えて、クエリ結果におけるすべてのデータに対する各BEAMコンテキストの最大のコミットされたトランザクションIDを受けることができる。トランザクションコンテキスト情報は、データオブジェクトの変更通知を検査し変更通知におけるIDをトランザクションコンテキストテーブルにおけるIDと突合せて検査することによって二重カウントを解消することを、可能にする。これに代えてまたはこれに加えて、クエリの瞬間におけるスナップショット情報を、トランザクションコンテキストテーブルから得てもよい。このスナップショット情報は、CQLエンジンにおいて維持されてもよく、スナップショットID(増大する識別子)はこれと関連付けられてもよい。同じものを、このクエリのプランにおける選択されたいくつかの演算子の入力キューに設定してもよい。これらは、「コネクタ」演算子と呼ばれ、ローカルクエリプランがグローバル(全体)クエリプランに結合し得る場所を表わしてもよい。イベントがCQLエンジンに達すると、このイベントに対し、スナップショットIDを、その中のコンテキストIDおよびトランザクションIDの値を用いて計算してもよい。スナップショットIDは、CQLエンジンにおいて維持されているスナップショット情報を用いて計算してもよい。イベントのスナップショットIDは次に、入力キューのスナップショットIDと比較してもよい。イベントのID>キューのIDであれば、これを処理をしてもよく、そうでなければ、以前既に考慮されている可能性がありしたがって二重カウントを回避するために無視してもよい。
いくつかの例において、永続性レイヤはコンテキストID(ワーカー(worker)識別子)およびトランザクションID(トランザクション識別子)に各変更イベント通知を与えてもよく、および/または、永続性レイヤはトランザクションコンテキストテーブルを維持してもよい。加えて、クエリ起動時に、CQLエンジンは、トランザクションコンテキストテーブルからの「スナップショット」情報(ワーカー識別子、トランザクション識別子対)にクエリし、増大するスナップショットIDをこれに関連付けてもよい。また、CQLエンジンは、起動時に「コネクタ」演算子の入力キューにスナップショットIDを設定してもよい。加えて、クエリ実行時に、CQLエンジンは、入力イベントにおけるワーカー識別子および/またはトランザクション識別子フィールドと、維持されている「スナップショット」情報を用いて、各入力イベントのスナップショットIDを計算してもよい。クエリ実行時に、CQLエンジンはまた、入力イベントのスナップショットIDを、(クエリ起動時の)入力キューにおいて設定されたものと比較することにより、イベントを処理するべきか無視すべきか判断してもよい。以下は、ワーカーおよびトランザクションID句のDDLの一般的な形態の一例である。
Figure 2016500168
いくつかの例において、アーカイバ(Archiver)はCQサービスによって維持されてもよく、エンティティ(Entity)は引用されたストリングとしてのデータオブジェクトの名称であってもよく、イベントID(Event ID)はこのリレーションに対して固有イベントID列として機能し得るロングタイプの列であってもよく、ワーカーID(Worker ID)は永続性の生成された変更通知におけるコンテキストID列にマッピングし得るロングタイプの列であってもよく、トランザクションID(Transaction ID)は、永続性の生成された変更通知におけるトランザクションID列にマッピングし得るロングタイプの列であってもよい。以下は実装例である。
Figure 2016500168
同様に、いくつかの例において、これら2つの句を、アーカイブされたストリームのREPLAY句の後に追加してもよい。
先に述べたように、各データオブジェクトインスタンスを、これを修正した最新のコンテキストおよびトランザクションIDで実際にタグ付けする必要はないであろう。いくつかの例において、この情報は、代わりにトランザクションコンテキストエンティティから受けることができる。そうするための1つのやり方は、先に述べたように、データオブジェクトからの所望のデータおよびトランザクションコンテキストエンティティの内容双方に対して不可分的にクエリすることである。不可分性実現のために、これを1つのクエリのみを用いて実行してもよい。たとえば、UNION句を用いることにより、2つの異種のクエリからの結果セットを1つのクエリに追加することができる。いくつかの例において、上記データオブジェクトおよび/または永続性サービスは、図1のデータ記憶装置166によって実現してもよい。
サービスプロバイダコンピュータ106および/またはユーザ装置104に存在し得るその他の種類のコンピュータ記録媒体(これも非一時的であってもよい)は、プログラマブルランダムアクセスメモリ(PRAM)、SRAM、DRAM、RAM、ROM、電気的に消去可能なプログラマブル読出専用メモリ(EEPROM)、フラッシュメモリもしくはその他のメモリ技術、コンパクトディスク読出専用メモリ(CD−ROM)、デジタル汎用ディスク(DVD)もしくはその他の記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、所望の情報を格納するのに使用することができサービスプロバイダコンピュータ106および/またはユーザ装置104からアクセス可能なその他の媒体を含み得るがこれらに限定されない。上記のうちのいずれかを組合わせたものも、コンピュータ読取可能な媒体の範囲に含まれるはずである。
これに代えて、コンピュータ読取可能な通信媒体が、コンピュータ読取可能な命令、プログラムモジュール、または、搬送波等のデータ信号内で伝送されるその他のデータ、またはその他の伝送を含む場合がある。しかしながら、本明細書で使用されるコンピュータ読取可能な記録媒体は、コンピュータ読取可能な通信媒体を含まない。
図2は簡略ブロック図200を示し、これを用いて、アーカイブされたリレーションを有する連続クエリの管理の特徴を説明することができる。上記の、いくつかの例における、アーカイブされたリレーション、構成可能なアーカイブされたリレーションのウィンドウ、および/または変更イベントのカウントについて、本明細書で説明することができる。示されるように、図2は、(たとえば射影203に関連する)アーカイブされたリレーションを管理するための、CQLエンジン156および/またはCQサービス202の、少なくとも1つの実装例を示す。いくつかの例において、アーカイブされリレーションを含むクエリ(たとえば連続クエリ)162が識別されたとき(たとえば、射影203に関連するグループ化(Group By)演算子204および/または売上情報(Sales Info)演算子206が、ストリームまたは履歴データではなくアーカイブされたリレーションを参照する場合)、CQLエンジン156は、このクエリ162をパース(parse)してCQサービス202のアーカイバ208に送ってもよい。加えて、いくつかの例において、CQLエンジン156は、この場合クエリ演算子としてのGroupAggr(またはグループ化204)演算子を識別してもよく、この演算子のためのアーカイバクエリを構成してもよい。このアーカイバクエリは次にアーカイバ208に送ってもよい。場合によっては、この時点で、CQサービス202は外に出てスナップショットを得てもよい(たとえば永続的データ記憶装置166からおよび/またはBIサーバから)。また、永続性レイヤ(BI/DBを含む)210は多数のエントリを有し得るが、(たとえばグループ化演算子204があるので)CQサービス202は積の合計を取出すだけでよい。このため、CQLエンジン156は、変更イベント212と履歴データ166双方を受けることができる。そこで、出力214は、データ記憶装置166からの元の履歴データに加えて取出した変更イベント212を反映し得る。いくつかの例において、−12,75という変更イベントを受けると、+12,125は、出力214における更新された合計値を反映し得る。CQLサービス202を変更イベント212につなぐ、点線で示した矢印は、CQLサービス202が、変更イベントを、永続性レイヤ210から受けた後にCQLエンジン156に送ることができることを示している。クエリ162における上向きの矢印は、クエリ162に関連するクエリプランにおけるイベントの流れを示すことを意図している。
図3は、本開示の実施形態を取入れることができるイベント処理システム300の簡略化された高レベルの図を示す。イベント処理システム300は、1つ以上のイベントソース(304,306,308)と、イベントストリームを処理するための環境を提供するように構成されたイベント処理サーバ(EPS)302と、1つ以上のイベントシンク(310,312)とを含み得る。イベントソースは、EPS302が受けるイベントストリームを生成する。EPS302は、1つ以上のイベントストリームを1つ以上のイベントソースから受けることができる。たとえば、図3に示されるように、EPS302は、入力イベントストリーム314をイベントソース304から受け、第2の入力イベントストリーム316をイベントソース306から受け、第3のイベントストリーム318をイベントソース308から受ける。1つ以上のイベント処理アプリケーション(320,322,324)をEPS302上で展開しEPS302によって実行することができる。EPS302によって実行されるイベント処理アプリケーションは、1つ以上の入力イベントストリームをリッスンし、顕著なイベントとして入力イベントストリームから1つ以上のイベントを選択する処理ロジックに基づいて1つ以上のイベントストリームを介して受けたイベントを処理するように、構成されてもよい。顕著なイベントは次に、1つ以上の出力イベントストリームの形態の1つ以上のイベントシンク(310,312)に送ってもよい。たとえば、図3において、EPS302は、出力イベントストリーム326をイベントシンク310に出力し、第2の出力イベントストリーム328をイベントシンク312に出力する。ある実施形態において、イベントソース、イベント処理アプリケーション、およびイベントシンクは、他の構成要素の変更を引起すことなくこれら構成要素のうちのいずれかを追加または削除することができるように、相互に切離される。
ある実施形態において、EPS302は、共有サービスを有する、Equinox OSGiに基づくもののような、軽量Javaアプリケーションコンテナを含むJavaサーバとして実装してもよい。いくつかの実施形態において、EPS302は、たとえば、イベントの処理における極めて高いスループットおよびマイクロ秒のレイテンシを、JRockkit Real Timeを使用することによってサポートし得る。EPS302はまた、イベント処理アプリケーションを開発するためのツール(たとえばOracle CEP VisualizerおよびOracle CEP IDE)を含む開発プラットフォーム(たとえば完全リアルタイムエンドツーエンドJavaイベント駆動アーキテクチャ(EDA)開発プラットフォーム)を提供し得る。
イベント処理アプリケーションは、1つ以上の入力イベントストリームをリッスンし、1つ以上の入力イベントストリームから1つ以上の顕著なイベントを選択するためのロジック(たとえばクエリ)を実行し、選択された顕著なイベントを1つ以上のイベントソースに1つ以上の出力イベントストリームを介して出力するように、構成される。図3はこのようなイベント処理アプリケーション320に対するドリルダウンを提供する。図3に示されるように、イベント処理アプリケーション320は、入力イベントストリーム318をリッスンし、入力イベントストリーム318から1つ以上の顕著なイベントを選択するためのロジックを含むクエリ330を実行し、選択された顕著なイベントを出力イベントストリーム328を介してイベントシンク312に出力するように、構成されている。イベントソースの例は、限定されないが、アダプタ(たとえばJMS、HTTP、およびファイル)、チャネル、プロセッサ、テーブル、キャッシュ等を含む。イベントシンクの例は、限定されないが、アダプタ(たとえばJMS、HTTP、およびファイル)、チャネル、プロセッサ、キャッシュ等を含む。
図3のイベント処理アプリケーション320は、1つの入力ストリームをリッスンし選択されたイベントを1つの出力ストリームを介して出力するものとして示されているが、これは限定を意図したものではない。これに代わる実施形態において、イベント処理アプリケーションは、1つ以上のイベントソースから受けた複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択し、選択されたイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントシンクに出力するように、構成されてもよい。同一のクエリを2つ以上のイベントシンクにおよび異なる種類のイベントシンクに関連付けることができる。
制約がないという性質があるので、イベントストリームを介して受けるデータの量は、一般的に非常に多い。結果として、クエリのためにすべてのデータを格納またはアーカイブすることは、一般的に実用的ではなく望ましくない。イベントストリームの処理では、イベントをEPS302が受けるときに、受けたイベントのデータすべてを格納しなくても、イベントをリアルタイムで処理することが、必要である。したがって、EPS302は、イベントをEPS302が受けるときに受けたイベントすべてを格納しなくても、イベントを処理できるようにする特別なクエリ機構を提供する。
イベント駆動型アプリケーションはルール駆動型であり、これらルールは、入力ストリームを処理するのに使用される連続クエリの形態で表わすことができる。連続クエリは、受けたイベントに対して実行すべき処理を識別する命令(たとえばビジネスロジック)を含み得る。これは、クエリ処理の結果としてどのようなイベントを顕著なイベントとして選択し出力すべきかを含む。連続クエリは、データ格納装置に存続させ、イベントの入力ストリームを処理しイベントの出力ストリームを生成するために使用することができる。連続クエリは、典型的にはフィルタリングおよび集計関数を実行することにより、入力イベントストリームから顕著なイベントストリームを発見して抽出する。結果として、出力イベントストリームにおける外部へのイベントの数は一般的に、イベントを選択する元になった入力イベントストリームのイベントの数よりも遥かに少ない。
有限のデータ集合に対して一度実行されるSQLクエリと異なり、特定のイベントストリームに対する、EPS302にアプリケーションによって登録されている連続クエリは、このイベントストリームにおいてイベントを受ける度に実行し得る。連続クエリの実行の一部として、EPS302は、受けたイベントを、連続クエリによって指定された命令に基づいて評価することにより、連続クエリ実行の結果として、1つ以上のイベントを顕著なイベントとして選択して出力するか否か判断する。
連続クエリは、異なる言語を用いてプログラムしてもよい。ある実施形態において、連続クエリは、Oracle社が提供するCQLを用いて構成してもよく、Oracle社のComplex Events Procesing(CEP)という製品によって使用してもよい。Oracle社のCQLは、イベントストリームに対して実行できるクエリ(CQLクエリと呼ぶ)をプログラムするのに使用することができる宣言型言語である。ある実施形態において、CQLは、ストリーミングイベントデータの処理をサポートする構造が追加されたSQLに基づく。
一実施形態において、イベント処理アプリケーションは、以下の構成要素タイプからなるものであってもよい。
(1)入力および出力ストリームならびにリレーションソースおよびシンクに対して直接インターフェイスする1つ以上のアダプタ。アダプタは、入力および出力ストリームプロトコルを理解するように構成され、イベントデータを、アプリケーションプロセッサによってクエリできる正規化された形態に変換する役割を果たす。アダプタは、正規化されたイベントデータを、チャネルまたは出力ストリームおよびリレーションシンクに送ってもよい。イベントアダプタは、さまざまなデータソースおよびシンクに対して定めることができる。
(2)イベント処理の終点として機能する1つ以上のチャネル。特に、チャネルは、イベントデータを、イベント処理エージェントがそれに対して働くことが可能になる時点まで、キューに入れておく役割を果たす。
(3)1つ以上のアプリケーションプロセッサ(またはイベント処理エージェント)が、チャネルからの正規化されたイベントデータを消費し、クエリを用いてこれを処理することで顕著なイベントを選択し、選択された顕著なイベントを出力チャネルに送る(またはコピーする)ように、構成される。
(4)1つ以上のビーン(bean)が、出力チャネルをリッスンするように構成され、出力チャネルへの新たなイベントの挿入によってトリガされる。いくつかの実施形態において、このユーザコードは、plain-old-Java-object(POJO)である。ユーザアプリケーションは、一組の、JMS、ウェブサービス、およびファイルライタ(writer)といった外部サービスを利用することによって、生成されたイベントを外部イベントシンクに送ることができる。
(5)イベントビーンは、出力チャネルをリッスンするために登録されてもよく、出力チャネルへの新たなイベントの挿入によってトリガされる。いくつかの実施形態において、このユーザコードは、Oracle CEPイベントビーンAPIを用い、このビーンをOracle CEPによって管理できるようにしてもよい。
一実施形態において、イベントアダプタは、イベントデータを入力チャネルに与える。入力チャネルは、入力チャネルによって与えられたイベントに対して機能する1つ以上のCQLクエリに関連するCQLプロセッサに接続される。CQLプロセッサは、クエリ結果が書込まれる出力チャネルに接続される。
いくつかの実施形態において、イベント処理アプリケーションに対して、このイベント処理アプリケーションのさまざまな構成要素、これら構成要素が如何にして相互に接続されるか、およびこのアプリケーションによって処理されるイベントタイプを記載した、アセンブリファイルを、与えてもよい。イベントを選択するための連続クエリまたはビジネスロジックを指定するために、別々のファイルを与えてもよい。
図3に示されるシステム300は、図3に示されている構成要素以外の構成要素を有し得ることが理解されるはずである。さらに、図3に示される実施形態は、本開示の実施形態を取入れることができるシステムの一例に過ぎない。他のいくつかの実施形態では、システム300の構成要素は図3に示されるものよりも多くても少なくてもよく、2つ以上の構成要素が組合わされてもよく、または構成要素の構成または配置が異なっていてもよい。システム300は、パーソナルコンピュータ、ポータブルデバイス(たとえば携帯電話または装置)、ワークステーション、ネットワークコンピュータ、メインフレーム、キオスク、サーバ、またはそれ以外のデータ処理システムを含むさまざまな種類のものとすることができる。他のいくつかの実施形態では、システム300を、システム300の1つ以上の構成要素がクラウド内の1つ以上のネットワークに分散している分散システムとして構成してもよい。
図3に示される構成要素のうちの1つ以上を、ソフトウェア、ハードウェア、またはその組合わせにおいて実装してもよい。いくつかの実施形態において、ソフトウェアは、メモリ(たとえば非一時的なコンピュータ読取可能な媒体)、メモリデバイス、またはその他の物理メモリに格納されてもよく、1つ以上の処理ユニット(たとえば1つ以上のプロセッサ、1つ以上のプロセッサコア、1つ以上のGPU等)によって実行されてもよい。
図4は簡略ブロック図400を示し、これを用いてアーカイブされたリレーションの管理の特徴を説明することができる。図4に示されるように、アーカイブされたリレーションは、クエリグラフ402として表わすことができる。いくつかの例において、クエリグラフ402は、クエリの演算子を表わすノードおよびクエリグラフ402の演算子間の経路を表わす頂点を含み得る。限定されない1つの例において、図4のクエリグラフ402は、射影演算子404と、グループ化演算子406と、リレーショナルソース演算子408とを含む。さらに、いくつかの例において、射影演算子404およびリレーショナルソース408はステートレスでもよく、グループ化演算子406はステートフルでもよい。場合によっては、ステートレス演算子は、状態を、追跡、管理、または要求しないが、ステートフル演算子は、状態を、追跡、管理、または要求する。上記のように、いくつかの例において、クエリグラフ402を、上から下へというやり方で分析または評価し410、ステートフル演算子(いくつかの例では第1のまたは最下位のステートフル演算子)における履歴データをインポートしてもよい。クエリグラフ402を分析する410間に、クエリグラフ402における第1のステートフル演算子を決定するように、サービスおよび/またはエンジン(たとえば図1〜図3を参照しながら説明したCQサービス202および/またはCQLエンジン156)を構成してもよい。図4の例において、第1のステートフル演算子はグループ化406である。このため、412で、サービスが射影演算子404(この例ではステートレス)に達したとき、テーブルデータ(すなわち履歴データ)はインポートしなくてよい。しかしながら、414で、グループ化演算子406に達したとき、履歴、ウェアハウス、および/またはテーブルデータをインポートして、アーカイブされたリレーションを初期化すればよい。
これに代えてまたはこれに加えて、いくつかの例において、クエリグラフ402(プランとも呼ばれる)を、ソース(ここではリレーショナルソース演算子408)から初めてトポロジーの順にトラバースしてもよい。このため、この例において、トラバースは下から上へというやり方でもよい。このトラバースにおいて、第1のステートフル演算子に達したとき、これをクエリ演算子としてマークしてもよく、よって、グラフ402をこの分岐においてさらにトラバースする必要はない。なお、aggregate distinctのようないくつかのCQLクエリの場合、クエリプランは2つ以上の分岐を有し得る。この例において、リレーショナルソース408はステートレスでもよく、そうすると、トラバースは上方向でありグループ化406を見ることになるであろう。グループ化406はステートフルなので、これは、クエリ演算子としてマークしてもよい。よって、トラバースは完了することができ、射影演算子404まで上る必要はないであろう。なぜなら、グループ化406はアーカイバにクエリし、その状態を埋め、また、スナップショット出力を射影404に伝搬しさらに下流の演算子があればそこに伝搬する。
図5は、(上記)TRANSACTION_CIDおよび/またはTRANSACTION_TID等であるがこれらに限定されない1つ以上のテーブルIDを利用して、アーカイブされたリレーションに関連する変更イベントをカウントするための、限定されない少なくとも1つの例500を示す。図5に示されるように、最初のトランザクションコンテキストテーブル502および挿入後のトランザクションコンテキストテーブル504が示されている。いくつかの例において、トランザクションIDを管理するように構成されたサーバを、初期化するかそうでなければ起動すればよい。永続性サービスは、このサーバによって起動されると、1組のトランザクションインスタンスを作成し得る。このため、トランザクションコンテキストテーブル502は、自身が使用するために10のコンテキストインスタンスを作成した1つの永続性サービスの起動後の内容を示す。TRANSACTION_CID列はコンテキストIDを含み、TRANSACTION_TID列はこのコンテキストIDによってコミットされる最大トランザクションIDを含む。
限定されない1つの例において、この時点で、これも自身が使用するために10のコンテキストインスタンスを作成した第2の永続性サービスが起動した場合、テーブル02は、11〜20というTRANSACTION_CIDの値を有する10の新たなエントリを示し得る。この時点で、永続性サービスは実行しているので、データオブジェクト列データタイプ各々を1つずつ含む「アルファ」という名称のデータオブジェクトが作成されるであろう。いくつかの例において、データオブジェクトが作成される度に、永続性サービスはこのデータオブジェクトに対する永続性記憶装置を表わす、対応するデータベースビューを作成してもよい。ある例において、データオブジェクトが生成されると、挿入コマンドがこれに対して実行されてもよい。コンテキストおよびトランザクションIDの処理を最も適切に示すために、合計24の挿入に対して12のスレッドを用いる1スレッド当たり2つの挿入動作が行なわれてもよい。各スレッドは、JTAトランザクションを開始し、1つの挿入動作を実行し、第2の挿入動作を実行し、次にトランザクションをコミットしてもよい。複数のスレッドを用いる理由は、そうすれば、並列に実行する複数のJTAトランザクションを作成し得るからであり、このことは、如何にしてコンテキストIDが機能するようになるかをより適切に示すであろう。これはまた、複数の(この例では1スレッド当たり2つ)データオブジェクト動作方法コールが同じJTAトランザクションにおいてなされかつこのJTAトランザクションが永続性の外で開始されコミットされたというシナリオを実証する。
この例の場合、12のスレッドがコードを同時に実行しているであろう。各スレッドは、サーバの外側でトランザクションを開始し、2つの挿入コールを永続性に対して行ない、その後このトランザクションをコミットし得る。永続性は10のコンテキストIDを割当てているので、これらスレッドのうち、10個はコンテキストを取得するが、2個は最初にブロックされるであろう。2つのJTAトランザクションを、別のJTAトランザクションが完了しコンテキストを解放するまでブロックしてもよい。ブロックされたJTAトランザクションは次に、解放されたコンテキストを捕捉し永続性APIコールを処理すればよい。いくつかの例において、挿入動作の完了後、テーブル504(挿入後)の検査はまさにこの結果を示す。トランザクションコンテキスト1および2は、トランザクションID2を「最後にコミットされた」トランザクションIDとして示し、他のすべてのトランザクションコンテキストはトランザクションID1をこれらの最後にコミットされたトランザクションとして示す。
いくつかの例において、データオブジェクト変更通知は、この例において実行された挿入動作の結果としてJMSを介してブロードキャストしてもよい。1つのJTAトランザクション当たり2つの挿入が実行され、合計24の挿入動作に対して12のトランザクションが実行されたことを想起されたい。トランザクションコンテキスト1および2は、2つのトランザクション各々に対して使用されたので、2つの挿入についてのトランザクションID1およびその他2つの挿入についてのトランザクションID2を有するコンテキスト1および2からの4つの変更通知を見ることになるはずである。他のすべてのコンテキストは、トランザクション1つのみに対して使用されたので、いずれもトランザクションID1を有する2つの挿入を生成しているはずである。
図6〜図8は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス600、700、および800をそれぞれ示すフロー図の例を示す。これらプロセス600、700、800は、論理フロー図として示され、その各動作は、ハードウェア、コンピュータ命令、またはこれらの組合わせにおいて実装することができる一連の動作を表わす。コンピュータ命令という文脈において、動作は、1つ以上のプロセッサによって実行されるときに、記載されている動作を実行する1つ以上のコンピュータ読取可能な記録媒体に格納されているコンピュータにより実行可能な命令を表わす。一般的に、コンピュータにより実行可能な命令は、特定の機能を果たすまたは特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。動作を説明する順序は限定として解釈されることを意図しておらず、記載されている動作のいくつかを任意の順序でおよび/または並列に組合わせてプロセスを実装することができる。
加えて、プロセスのうちのいくつか、いずれか、またはすべてを、実行可能な命令とともに構成された1つ以上のコンピュータシステムの制御下で実行してもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはこれらの組合わせによって一括で実行するコード(たとえば実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装してもよい。上記のように、コードは、たとえば1つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ読取可能な記録媒体に格納してもよい。コンピュータ読取可能な記録媒体は非一時的なものであってもよい。
いくつかの例において、少なくとも図1(およびその他の図面)に示される(たとえば少なくともアーカイブリレーションモジュール148を利用する)1つ以上のサービスプロバイダコンピュータ106は、図6のプロセス600を実行し得る。プロセス600は、602で、アーカイブされたストリームまたはアーカイブされたリレーションをデータソースとして識別するクエリを識別するおよび/または受けることを含むことから始まり得る。いくつかの例において、プロセス600は、604で、履歴データを用いてクエリを初期化することを含み得る。プロセス600は、606で、アーカイブされたストリームまたはアーカイブされたリレーションおよび履歴データに少なくとも一部基づいてクエリを評価することを含み得る。プロセス600はまた、608で、クエリの演算子を表わすクエリグラフを形成することを含み得る。プロセス600は、610で、クエリグラフをグラフの上から下にトラバースすることを含み得る。さらに、いくつかの例において、プロセス600は、612で、クエリグラフにおいて識別された第1のステートフル演算子における履歴データを用いてクエリを初期化することを含むことで、終了し得る。
図7は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス700を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくともアーカイブリレーションモジュール148を利用する)1つ以上のサービスプロバイダコンピュータ106は、図7のプロセス700を実行し得る。プロセス700は、702で、連続クエリを受けて、データストリームまたは履歴データのIDを含むデータストリームまたはアーカイブされたリレーションを処理することを含むことから始まり得る。プロセス700は、704で、受けた連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み得る。加えて、いくつかの例において、プロセス700は、履歴データの一部を用いて連続クエリを初期化することを含み得る。さらに、プロセス700は、708で、データストリームまたはアーカイブされたリレーションに関して履歴データに少なくとも一部基づいて連続クエリを評価することを含むことで、終了し得る。
図8は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス800を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくともアーカイブリレーションモジュール148を利用する)1つ以上のサービスプロバイダコンピュータ106は、図8のプロセス800を実行し得る。プロセス800は、802で、連続クエリを受けて、ビジネスイベントデータに関連するストリームまたはアーカイブされたリレーションを処理することを含むことから始まり得る。プロセス800は、804で、連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み得る。プロセス800は、806で、クエリグラフを、ソースからトポロジーに従ってトラバースして、最下位のステートフル演算子(たとえば最下位のステートフル演算子はトラバース中に識別される最後のステートフル演算子であってもよく、および/または、これは分岐の演算子であってもよい)。いくつかの例において、プロセス800は、808で、クエリの演算子に少なくとも一部基づいて初期化のための履歴データの最適量を決定することを含み得る。プロセス800は、810で、識別された最下位のステートフル演算子における履歴データを用いて連続クエリを初期化することを含み得る。さらに、いくつかの例において、プロセス800は、812で、データストリームまたはアーカイブされたリレーションに関して履歴データに少なくとも一部基づいて連続クエリを評価することを含むことで、終了し得る。
図9〜図11は、本明細書に記載の構成可能なデータウィンドウを有するアーカイブされたリレーションを実装するためのプロセス900、1000、および1100をそれぞれ示すフロー図の例を示す。これらプロセス900、1000、1100は、論理フロー図として示され、その各動作は、ハードウェア、コンピュータ命令、またはこれらの組合わせにおいて実装することができる一連の動作を表わす。コンピュータ命令という文脈において、動作は、1つ以上のプロセッサによって実行されるときに、記載されている動作を実行する1つ以上のコンピュータ読取可能な記録媒体に格納されているコンピュータにより実行可能な命令を表わす。一般的に、コンピュータにより実行可能な命令は、特定の機能を果たすまたは特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。動作を説明する順序は限定として解釈されることを意図しておらず、記載されている動作のいくつかを任意の順序でおよび/または並列に組合わせてプロセスを実装することができる。
加えて、プロセスのうちのいくつか、いずれか、またはすべてを、実行可能な命令とともに構成された1つ以上のコンピュータシステムの制御下で実行してもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはこれらの組合わせによって一括で実行するコード(たとえば実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装してもよい。上記のように、コードは、たとえば1つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ読取可能な記録媒体に格納してもよい。コンピュータ読取可能な記録媒体は非一時的なものであってもよい。
いくつかの例において、少なくとも図1に示される(たとえば少なくとも構成可能ウィンドウモジュール150を利用する)1つ以上のサービスプロバイダコンピュータ106は、図9のプロセス900を実行し得る。プロセス900は、902で、データストリームまたはアーカイブされたリレーションを識別するクエリを識別するかそうでなければ受けることを含むことから始まり得る。プロセス900は、904で、ユーザにより構成されたウィンドウサイズを識別することを含み得る。プロセス900は、906で、履歴データを用いウィンドウサイズに少なくとも一部基づいてクエリを初期化することを含み得る。さらに、プロセス900は、908で、履歴データおよびアーカイブされたストリームまたはアーカイブされたリレーションに少なくとも一部基づいてクエリを評価することを含むことで、終了し得る。
図10は、本明細書に記載の構成可能なデータウィンドウを有するアーカイブされたリレーションを実装するためのプロセス1000を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくとも構成可能ウィンドウモジュール150を利用する)1つ以上のサービスプロバイダコンピュータ106は、図10のプロセス1000を実行し得る。プロセス1000は、1002で、データストリームまたはアーカイブされたリレーションを処理するように構成された連続クエリを受けることを含むことから始まり得る。プロセス1000は、1004で、連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み得る。プロセス1000は、1006で、データストリームまたはアーカイブされたリレーションを処理するように構成された連続クエリからウィンドウサイズを計算することを含み得る。いくつかの例において、プロセス1000は、1008で、ウィンドウサイズに少なくとも一部基づいて初期化のための履歴データの量を決定することを含み得る。プロセス1000は、1010で、決定した履歴データを用いて連続クエリを初期化することを含み得る。さらに、プロセス1000は、1012で、アーカイブされたストリームまたはアーカイブされたリレーション、およびウィンドウサイズに関して連続クエリを評価することを含み得る。
図11は、本明細書に記載の構成可能なデータウィンドウを有するアーカイブされたリレーションを実装するためのプロセス1100を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくとも構成可能ウィンドウモジュール150を利用する)1つ以上のサービスプロバイダコンピュータ106は、図11のプロセス1100を実行し得る。プロセス1100は、1102で、アーカイブされたストリームまたはアーカイブされたリレーションを処理するように構成された連続クエリを受けることを含むことから始まり得る。1104で、連続クエリからウィンドウサイズを計算して、処理するストリームまたはアーカイブされたリレーションの有界範囲を識別することを含み得る。プロセス1100は、1106で、連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み得る。加えて、いくつかの局面において、プロセス1100は、ステートフル演算子を識別するためにクエリグラフを下向きに(たとえば上から下へという手法)トラバースすることを含み得る。プロセス1100は、1110で、初期化のための履歴データの最適量を決定することを含み得る。プロセス1100は、1112で、識別されたステートフル演算子における履歴データを用いて連続クエリを初期化することを含み得る。さらに、いくつかの例において、プロセス1100は、ストリームまたはアーカイブされたリレーションに関してウィンドウサイズに少なくとも一部基づいて連続クエリを評価することを含み得る。
図12〜図14は、本明細書に記載のアーカイブされたリレーションに関連するイベントカウントという特徴を実装するためのプロセス1200、1300、および1400をそれぞれ示すフロー図の例を示す。これらプロセス1200、1300、1400は、論理フロー図として示され、その各動作は、ハードウェア、コンピュータ命令、またはこれらの組合わせにおいて実装することができる一連の動作を表わす。コンピュータ命令という文脈において、動作は、1つ以上のプロセッサによって実行されるときに、記載されている動作を実行する1つ以上のコンピュータ読取可能な記録媒体に格納されているコンピュータにより実行可能な命令を表わす。一般的に、コンピュータにより実行可能な命令は、特定の機能を果たすまたは特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。動作を説明する順序は限定として解釈されることを意図しておらず、記載されている動作のいくつかを任意の順序でおよび/または並列に組合わせてプロセスを実装することができる。
加えて、プロセスのうちのいくつか、いずれか、またはすべてを、実行可能な命令とともに構成された1つ以上のコンピュータシステムの制御下で実行してもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはこれらの組合わせによって一括で実行するコード(たとえば実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装してもよい。上記のように、コードは、たとえば1つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ読取可能な記録媒体に格納してもよい。コンピュータ読取可能な記録媒体は非一時的なものであってもよい。
いくつかの例において、少なくとも図1に示される(たとえば少なくともイベントカウントモジュール152を利用する)1つ以上のサービスプロバイダコンピュータ106は、図12のプロセス1200を実行し得る。プロセス1200は、1202で、データオブジェクトを識別するクエリを識別することを含むことから始まり得る。プロセス1200は、1204で、データオブジェクトに関連する履歴データに対してクエリを評価することを含み得る。プロセス1200は、1206で、データオブジェクトにリスニングサービスを登録することを含み得る。プロセス1200はまた、1208で、リスニングサービスによって識別された変更のトランザクションIDを受けることを含み得る。いくつかの例において、プロセス1200は、1210で、トランザクションIDを履歴データの最大トランザクションIDと比較することを含み得る。プロセス1200は、1212で、受けたトランザクションIDが最大トランザクションIDよりも大きい場合のみ変更を処理することを含み得る。プロセス1200は、1214で、データオブジェクトおよび履歴データに少なくとも一部基づいてクエリを評価することを含むことで、終了し得る。
図13は、本明細書に記載の構成可能なデータウィンドウを有するアーカイブされたリレーションを実装するためのプロセス1300を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくともイベントカウントモジュール152を利用する)1つ以上のサービスプロバイダコンピュータ106は、図13のプロセス1300を実行し得る。プロセス1300は、1302で、データオブジェクトを識別するかそうでなければ受ける連続クエリを受けることを含むことから始まり得る。プロセス1300は、1304で、データオブジェクトに関連するリスニングサービスを登録することを含み得る。加えて、いくつかの例において、プロセス1300は、1306で、リスニングサービスの登録後に連続クエリを履歴データに対して評価することを含み得る。プロセス1300は、1308で、履歴データに対する評価後にリスニングサービスによって識別された変更を処理することを含み得る。プロセス1300は、1310で、データオブジェクトに対して連続クエリを評価することを含むことで、終了し得る。
図14は、本明細書に記載の構成可能なデータウィンドウを有するアーカイブされたリレーションを実装するためのプロセス1400を示すフロー図の例を示す。少なくとも図1に示される(たとえば少なくともイベントカウントモジュール152を利用する)1つ以上のサービスプロバイダコンピュータ106は、図14のプロセス1400を実行し得る。プロセス1400は、1402で、データオブジェクトを処理するように構成された連続クエリを受けることを含むことから始まり得る。プロセス1400は、1404で、データオブジェクトにリスニングサービスを登録することを含み得る。プロセス1400は、1406で、データオブジェクトに関連する履歴データに対して連続クエリを評価することを含み得る。いくつかの例において、プロセス1400はまた、1408で、リスニングサービスによって識別された変更のトランザクションIDを受けることを含み得る。加えて、プロセス1400は、1410で、受けたトランザクションIDを現在履歴データに関連する最大トランザクションIDと比較することを含み得る。プロセス1400は、1412で、受けたIDが履歴データに関連する最大IDよりも大きい場合に変更を処理することを含み得る。プロセス1400は、1414で、データオブジェクトに関して連続クエリを評価することを含むことで、終了し得る。
連続クエリおよびスケジュールされたクエリの混成の実行を実装するための、例示としての方法およびシステムについては上記の通りである。これらシステムおよび方法のうちのいくつかまたはすべては、少なくとも上記図1〜図14に示されるもののようなアーキテクチャおよびプロセスによって少なくとも部分的に実装し得るが、そうすることが必要な訳ではない。
図15は、本開示の実施形態に従い使用し得るシステム環境1500の構成要素を示す簡略ブロック図である。図に示されるように、システム環境1500は、1つ以上のクライアントコンピューティング装置1502、1504、1506、1508を含み、これら装置は、ウェブブラウザまたは専用のクライアント(たとえばOracle Forms)等のクライアントアプリケーションを、(図1および図3のネットワーク108と同様のネットワーク等であるがこれに限定されない)1つ以上のネットワーク1510を通して操作するように構成されている。さまざまな実施形態において、クライアントコンピューティング装置1502、1504、1506、および1508は、ネットワーク1510を通してサーバ1512と情報をやり取りし得る。
クライアントコンピューティング装置1502、1504、1506、1508は、汎用のパーソナルコンピュータ(例として、さまざまなバージョンのMicrosoft Windows(登録商標)および/またはApple Macintoshオペレーティングシステムを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)、携帯電話もしくはPDA(Microsoft Windows Mobile等のソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリー(Blackberry)、またはその他の通信プロトコルを使用可能)、および/またはさまざまな市販のUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(さまざまなGNU/Linux(登録商標)オペレーティングシステムを含むがこれに限定されない)のいずれかを実行するワークステーションコンピュータであってもよい。これに代えて、クライアントコンピューティング装置1502、1504、1506、および1508は、ネットワーク(たとえば以下で説明するネットワーク1510)を通して通信可能なシンクライアントコンピュータ、インターネットを使用可能なゲーム機、および/またはパーソナルメッセージングデバイス等のその他の電子デバイスであってもよい。典型的なシステム環境1500が4つのクライアントコンピューティング装置とともに示されているが、クライアントコンピューティング装置の数はいくつであってもそれらをサポートし得る。センサ等を有する装置等の他の装置がサーバ1512と情報をやり取りしてもよい。
システム環境1500はネットワーク1510を含み得る。ネットワーク1510は、TCP/IP、SNA、IPX、AppleTalk等を含むがこれらに限定されないさまざまな市販のプロトコルのいずれかを用いたデータ通信をサポートできる、当業者によく知られているネットワークであれば、どのような種類のネットワークであってもよい。単なる例として、ネットワーク1510は、イーサネット(登録商標)ネットワーク、トークンリングネットワーク等のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク、バーチャルプライベートネットワーク(VPN)を含むがこれに限定されないバーチャルネットワーク、インターネット、イントラネット、エクストラネット、公衆電話交換回線網(PSTN)、赤外線ネットワーク、ワイヤレスネットワーク(たとえば、IEEE 802.11プロトコル群のいずれかの下で動作するネットワーク、当該技術分野において公知のブルートゥース(登録商標)プロトコル、および/またはその他のワイヤレスプロトコル)、および/または、これらおよび/または他のネットワークの任意の組合わせであってもよい。
システム環境1500はまた、1つ以上のサーバコンピュータ1512を含み、このサーバコンピュータは、汎用コンピュータ、専用サーバコンピュータ(例として、PCサーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式(rack-mounted)のサーバ等を含む)、サーバファーム、サーバクラスタ、またはその他の適切な配置および/または組合わせであってもよい。さまざまな実施形態において、サーバ1512は、本願のこれまでの開示において説明された1つ以上のサービスまたはソフトウェアアプリケーションを実行するようにされていてもよい。たとえば、サーバ1512は、本開示の一実施形態に従う上記処理を実行するためのサーバに相当するものであってもよい。
サーバ1512は、上述したオペレーティングシステムのうちのいずれかおよび任意の市販のサーバオペレーティングシステムを含むオペレーティングシステムを実行してもよい。また、サーバ1512は、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、データベースサーバ等を含むさまざまなその他のサーバアプリケーションおよび/またはミッドティア(mid-tier)アプリケーションのうちのいずれかを実行してもよい。典型的なデータベースサーバは、Oracle、Microsoft、Sybase、IBM等から市販されているものを含むが、これらに限定されない。
また、システム環境1500は1つ以上のデータベース1514、1516を含み得る。データベース1514、1516は、さまざまな場所に存在し得る。例として、データベース1514、1516のうちの1つ以上は、サーバ1512に対してローカルな(および/またはサーバ1512内に常駐している)非一時的な記録媒体に存在していてもよい。これに代えて、データベース1514、1516は、サーバ1512から離れていてネットワークベースまたは専用回線を介してサーバ1512と通信してもよい。一連の実施形態では、データベース1514、1516は、当業者によく知られているストレージエリアネットワーク(SAN)に存在していてもよい。同様に、サーバ1512による機能を実行するために必要なファイルは、必要に応じて、サーバ1512に対してローカルにおよび/または遠隔で格納されてもよい。一組の実施形態において、データベース1514、1516は、SQLフォーマットのコマンドに応答してデータを格納し、更新し、取出すようにされている、Oracleから提供されているデータベース等のリレーショナルデータベースを含み得る。
図16は、本開示の実施形態に従い使用し得るコンピュータシステム1600の簡略ブロック図である。たとえば、サービスプロバイダコンピュータ106を、システム1600のようなシステムを用いて実装してもよい。バス1601を介して電気的におよび/または通信可能に結合し得るハードウェア構成要素を含むコンピュータシステム1600が示されている。このハードウェア構成要素は、1つ以上の中央処理装置(CPU)1602と、1つ以上の入力装置1604(たとえばマウス、キーボード等)と、1つ以上の出力装置1606(たとえばディスプレイ装置、プリンタ等)とを含み得る。また、コンピュータシステム1600は、1つ以上の記憶装置1608を含み得る。例として、記憶装置1608は、ディスクドライブ、光学式記憶装置等の装置、ならびに、プログラム可能で、一瞬で更新可能で(flash-updateable)、および/またはそれと同じようなことが可能であるランダムアクセスメモリ(RAM)および/または読出専用メモリ(ROM)等のソリッドステート記憶装置を含み得る。
コンピュータシステム1600は、さらに、コンピュータ読取可能記録媒体リーダ1612と、通信サブシステム1614(たとえばモデム、ネットワークカード(無線または有線)、赤外線通信装置等)と、ワーキングメモリ1618とを含み得る。ワーキングメモリ1618は、上記RAMおよびROM装置を含み得る。いくつかの実施形態において、コンピュータシステム1600は、デジタル信号プロセッサ(DSP)、専用プロセッサ、および/またはそれと同様のものを含み得る処理加速部1616を含んでいてもよい。
コンピュータ読取可能記録媒体リーダ1612は、さらに、コンピュータ読取可能な記録媒体1610に接続し得る。コンピュータ読取可能記録媒体1610は、(任意に、記憶装置1608と組合わせて)リモート式、ローカル式、固定式および/または着脱交換式の記憶装置、および、一時的および/またはより永続的にコンピュータ読取可能な情報を収容するための記録媒体を総合的に意味している。通信システム1614によって、ネットワーク1612および/またはシステム環境1600に関連する上述のその他のコンピュータと、データをやり取りすることが可能であってもよい。
また、コンピュータシステム1600は、ワーキングメモリ1618内に現在位置しているものとして示されているソフトウェア構成要素を含み得る。このソフトウェア構成要素は、オペレーティングシステム1620、および/または、アプリケーションプログラム(クライアントアプリケーション、ウェブブラウザ、ミッドティアアプリケーション、RDBMS等であってもよい)等のその他のコード1622を含む。典型的な実施形態において、ワーキングメモリ1618は、実行可能なコードと、上述のように証明書利用者およびオープン認可関連の処理に使用される関連のデータ構造とを含んでいてもよい。コンピュータシステム1600の代替の実施形態には、上述のものの多くの変形例があり得ることが理解されるはずである。たとえば、カスタマイズされたハードウェアが用いられてもよく、および/または特定の構成要素がハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)またはそれら両方において実装されてもよい。さらに、ネットワーク入出力装置等の他のコンピューティング装置への接続を用いてもよい。
図17は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス1700を示すフロー図の別の例を示す。少なくとも図1に示される(たとえば少なくともアーカイブリレーションモジュール148を利用する)1つ以上のサービスプロバイダコンピュータ106は、図17のプロセス1700を実行し得る。プロセス1700は、1702で、アーカイブされたリレーションに少なくとも一部基づいてクエリを識別することを含むことから始まり得る。プロセス1700は、1704で、クエリの演算子を利用してクエリ演算子グラフを生成することを含み得る。加えて、いくつかの例において、プロセス1700は、1706で、演算子グラフを(たとえばトポロジーに従って)ソートすることを含み得る。プロセス1700は、1708で、グラフを分析しアーカイバにクエリし得る演算子を決定して状態(たとえばステートフル演算子)を初期化することを含み得る。プロセス1700は、1710で、アーカイバに与える適切なクエリ(たとえばアーカイバクエリ)を構成することを含み得る。いくつかの例において、プロセス1700は、1712で、オペレータシェアリングについて判断することを含み得る。プロセス1700は、1714で、(たとえば上記のように)アーカイバクエリをCQサービスに対して発行することにより、決定された演算子の状態を初期化することを含み得る。プロセス1700は、1716で、履歴結果を(たとえばCQサービスまたは永続性から)受けてもよい。さらに、プロセス1700は、1718で、まだカウントされていない場合到来したイベントを履歴結果にクエリすることの一部として処理することを含むことで、終了し得る。
図18は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス1800を示すフロー図の別の例を示す。少なくとも図1に示される(たとえば少なくとも構成可能ウィンドウモジュール150を利用する)1つ以上のサービスプロバイダコンピュータ106は、図18のプロセス1800を実行し得る。プロセス1800は、1802で、アーカイバソースに対するアーカイバクエリを評価し1つ以上のスナップショット出力を取得することを含むことから始まり得る。プロセス1800は、1804で、リレーションに対するウィンドウを、構成可能な2つのパラメータのうちの少なくとも1つを利用して、指定することを含み得る。構成可能なパラメータは、ウィンドウサイズおよび/またはリレーション属性を含む。加えて、いくつかの例において、プロセス1800は、1806で、各スナップショットタプルについて、指定された属性の値を現在のイベント時間と比較することにより、タプルがウィンドウの中にあるか否かテストすることを含み得る。プロセス1800は、1808で、スナップショットタプルがテストにパスしたか否か判断することを含み得る。いくつかの例において、テストにパスした場合、プロセス1800は、1810で、タプルをウィンドウに挿入することを含み得る。しかしながら、いくつかの例において、テストにパスしなかった場合、プロセス1800は、1812で、その代わりにタプルを無視することを含み得る。プロセス1800は次に1802に戻り終了するかまたは、次のアーカイバクエリを評価することを含み得る。
図19は、本明細書に記載のアーカイブされたリレーションを有する連続クエリの管理を実装するためのプロセス1900を示すフロー図の別の例を示す。少なくとも図1に示される(たとえば少なくともイベントカウントモジュール152を利用する)1つ以上のサービスプロバイダコンピュータ106は、図19のプロセス1900を実行し得る。プロセス1900は、1902で、状態演算子についてデータオブジェクトにクエリすることを含むことから始まり得る。プロセス1900は、1904で、トランザクションコンテキストテーブルからスナップショット情報を得ることを含み得る。プロセス1900は、1906で、スナップショット情報をCQLエンジンにおいて維持し関連するスナップショットIDを増加させることを含み得る。プロセス1900は、1908で、スナップショットIDをクエリプランの「コネクタ」演算子に設定することを含み得る。「コネクタ」演算子は、ローカルプランをグローバルプランに結合し得る。プロセス1900は、1910で、到着するイベントのスナップショットIDを、イベントにおけるコンテキストID(CID)およびトランザクションID(TID)を用いて計算することを含み得る。プロセス1900は、1912で、イベントのスナップショットIDを入力キューのスナップショットIDと比較することを含み得る。プロセス1900は、1914で、イベントのIDが入力キューのIDよりも大きいか否か判断することを含み得る。いくつかの例において、1914でイベントIDがキューIDよりも大きい場合、プロセス1900は、イベントを処理することを含み得る。しかしながら、いくつかの例において、1914でイベントIDがキューIDよりも大きくない場合、プロセスは1918でその代わりにイベントを無視することを含み得る。プロセス1900は次に1902に戻って終了するかまたは再び開始する。
これに代えてまたはこれに加えて、クエリの瞬間におけるスナップショット情報を、トランザクションコンテキストテーブルから得てもよい。このスナップショット情報は、CQLエンジンにおいて維持されてもよく、スナップショットID(増大する識別子)はこれと関連付けられてもよい。同じものを、このクエリのプランにおける選択されたいくつかの演算子の入力キューに設定してもよい。これらは、「コネクタ」演算子と呼ばれ、ローカルクエリプランがグローバル(全体)クエリプランに結合し得る場所を表わしてもよい。イベントがCQLエンジンに達すると、このイベントに対し、スナップショットIDを、その中のコンテキストIDおよびトランザクションIDの値を用いて計算してもよい。スナップショットIDは、CQLエンジンにおいて維持されているスナップショット情報を用いて計算してもよい。イベントのスナップショットIDは次に、入力キューのスナップショットIDと比較してもよい。イベントのID>キューのIDであれば、これを処理をしてもよく、そうでなければ、以前既に考慮されている可能性がありしたがって二重カウントを避けるために無視してもよい。コードまたはコードの一部を収容するための記録媒体およびコンピュータ読取可能な媒体は、当該技術において公知のまたは使用されているあらゆる適切な媒体を含み得る。上記適切な媒体は記録媒体および通信媒体を含み、これら記録媒体および通信媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくはその他のメモリ技術、CD−ROM、デジタル汎用ディスク(DVD)もしくはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、データ信号、データ伝送、または、所望の情報を格納もしくは伝送するために使用することができコンピュータによってアクセス可能なその他の媒体を含む、コンピュータ読取可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の情報の、格納および/または伝送のための何等かの方法または技術において実装される、揮発性および不揮発性(非一時的)の着脱可能および着脱不能な媒体等であるが、これらに限定されない。
本開示の特定の実施形態について説明してきたが、さまざまな修正、変更、代替構成、および均等物も、本開示の範囲に包含される。上記さまざまな修正、変更、代替構成、および均等物は、開示されている特徴の妥当な組合わせを含む。本開示の実施形態は、ある特定のデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で機能することが可能である。加えて、本開示の実施形態について、特定の一連のトランザクションおよびステップを用いて説明してきたが、本開示の範囲が、記載されている一連のトランザクションおよびステップに限定されないことは、当業者には明らかなはずである。
さらに、本開示の実施形態について、ハードウェアとソフトウェアの特定の組合わせを用いて説明してきたが、ハードウェアとソフトウェアの他の組合わせも本開示の範囲内であることが認識されるはずである。本開示の実施形態は、ハードウェアのみで実装されてもよく、ソフトウェアのみで実装されてもよく、これらの組合わせを用いて実装されてもよい。
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考慮されねばならない。しかしながら、これに対し、追加、控除、削除、およびその他の修正および変更を、より広い精神および範囲から逸脱することなく行ない得ることは明らかであろう。本開示の特徴を示すための例示的な方法およびシステムは上述の通りである。これらのシステムおよび方法のうちのいくつかまたはすべては、上記図1〜図12に示されるもののようなアーキテクチャによって、少なくとも部分的に実装し得るが、そうすることが必要な訳ではない。
実施形態について、構造的特徴および/または方法論的行為に特有の表現で説明してきたが、本開示は記載されている具体的な特徴または行為に必ずしも限定されないことが理解されるはずである。むしろ、この具体的な特徴および行為は、実施形態を実装する例示的な形態として開示されている。条件表現、特に「できる」または「してもよい」(「can」、「could」、「might」、または「may」)等は、特に明記されない限りまたは使用されている文脈の中で他の解釈がなされない限り、何らかの特徴、要素、および/またはステップを、ある実施形態は含み得るがそれ以外の実施形態は含まないことを示唆することを、概ね意図している。よって、このような条件表現は、特徴、要素、および/またはステップが、1つ以上の実施形態に多少なりとも必要であることを、または、これら特徴、要素、および/またはステップがいずれか特定の実施形態に含まれるのかまたはいずれか特定の実施形態において実施されるのかをユーザの入力または刺激の有無に関わらず判断するための論理を1つ以上の実施形態が必然的に含むことを、示唆することは、概ね意図していない。

Claims (26)

  1. システムであって、
    少なくともデータストリームを識別するクエリを識別するための手段と、
    履歴データの少なくとも一部を用いて前記クエリを初期化するための手段と、
    前記データストリームおよび前記履歴データの一部に少なくとも一部基づいて前記クエリを評価するための手段とを備える、システム。
  2. 前記クエリは、到来する前記データストリームのリアルタイムデータまたは前記データストリームのアーカイブされたリレーションを処理するように構成された連続クエリを含む、請求項1に記載のシステム。
  3. 前記リアルタイムデータは、少なくともビジネスイベントデータを含む、請求項2に記載のシステム。
  4. 前記データストリームは、ウィンドウを用いて構成されたリレーションを含み、前記ウィンドウは、前記ウィンドウの中の前記データストリームの一部を参照するためのものである、請求項1または3のいずれかに記載のシステム。
  5. 前記ウィンドウは、時間の経過とともに前記データストリームに沿って移動するように構成される、請求項4に記載のシステム。
  6. 前記履歴データは、前記クエリの初期化後のある時点における前記データストリームに含まれない、請求項1〜5のいずれか一項に記載のシステム。
  7. 前記クエリはさらに前記履歴データを識別する、請求項1〜6のいずれか一項に記載のシステム。
  8. 前記履歴データは、前記クエリの初期化前のある時点における前記データストリームからのビジネスイベントデータを含む、請求項1〜7のいずれか一項に記載のシステム。
  9. 前記クエリを評価することは、前記クエリの演算子を表わすノードを用いてクエリグラフを少なくとも形成することを含む、請求項1〜8のいずれか一項に記載のシステム。
  10. 前記ノードのうちの少なくとも1つはウィンドウサイズを識別する、請求項9に記載のシステム。
  11. 複数の命令を実行することにより、前記クエリグラフをトポロジーの順序で少なくともトラバースするための手段をさらに備える、請求項9または10に記載のシステム。
  12. 前記クエリグラフにおいて識別された最下位のステートフル演算子における少なくとも前記履歴データを用いて前記クエリを初期化するための手段をさらに備える、請求項11に記載のシステム。
  13. 構成可能なウィンドウサイズを識別するための手段をさらに備える、請求項11に記載のシステム。
  14. 前記クエリは、前記構成可能なウィンドウサイズに少なくとも一部基づいて初期化される、請求項13に記載のシステム。
  15. 前記クエリを評価することは、構成可能なウィンドウサイズに少なくとも一部基づいて前記データストリームに対して前記クエリを少なくとも適用することを含む、請求項1に記載のシステム。
  16. 前記データストリームは、第2のウィンドウの中の前記データストリームの一部を参照するための第2の構成可能なウィンドウサイズを用いて構成されたリレーションを含み、前記第2のウィンドウのサイズは、第2の構成可能なウィンドウサイズに少なくとも一部基づく、請求項1〜15のいずれか一項に記載のシステム。
  17. 第2のウィンドウは、時間の経過とともに前記データストリームに沿って移動するように構成される、請求項1に記載のシステム。
  18. 1つ以上のプロセッサにより実行可能な複数の命令を格納するコンピュータ読取可能なプログラムであって、前記複数の命令は、
    データストリームを処理するように構成された連続クエリを受けることを、前記1つ以上のプロセッサに行なわせる命令を含み、前記連続クエリは、前記データストリームの識別子および履歴データの識別子のうちの少なくとも1つを含み、
    前記連続クエリに少なくとも一部基づいてクエリグラフを生成することを、前記1つ以上のプロセッサに行なわせる命令と、
    履歴データの少なくとも一部を用いて前記連続クエリを初期化することを、前記1つ以上のプロセッサに行なわせる命令と、
    前記データストリームに関して前記履歴データに少なくとも一部基づいて前記連続クエリを評価することを、前記1つ以上のプロセッサに行なわせる命令とを含む、コンピュータ読取可能なプログラム。
  19. 前記データストリームおよび前記履歴データのうちの少なくとも一方は、前記連続クエリのデータ定義言語アノテーションによって識別される、請求項18に記載のコンピュータ読取可能なプログラム。
  20. 前記データ定義言語アノテーションは、前記履歴データの場所、前記データストリームのソース、前記データストリームに関連するデータオブジェクト、前記連続クエリの処理に関連する動作情報、前記履歴データに対応するデータベースの関連する1つ以上の列、前記連続クエリの出力に対応するデータオブジェクト、および、前記連続クエリの出力を提供するための場所のうちの少なくとも1つを識別する、請求項19に記載のコンピュータ読取可能なプログラム。
  21. 前記クエリグラフは、前記連続クエリの演算子を表わす少なくともノードを含む、請求項18に記載のコンピュータ読取可能なプログラム。
  22. 前記連続クエリは、前記クエリグラフをトポロジーの順でトラバースする間に、前記クエリグラフのステートフル演算子における前記履歴データの少なくとも一部を用いて初期化される、請求項18に記載のコンピュータ読取可能なプログラム。
  23. 方法であって、
    ビジネスイベントデータのストリームを処理するように構成された連続クエリを受けることを含み、前記連続クエリは、前記ストリームの識別子と前記ストリームに関連する履歴データの識別子とを含み、
    前記連続クエリに少なくとも一部基づいてクエリグラフを生成することを含み、前記クエリグラフは、前記連続クエリの演算子を表わす少なくともノードを含み、
    前記クエリグラフをトラバースして最下位のステートフル演算子を識別することと、
    前記識別された最下位のステートフル演算子における履歴データの少なくとも一部を用いて前記連続クエリを初期化することと、
    前記ストリームに関して前記履歴データに少なくとも一部基づいて前記連続クエリを評価することとを含む、方法。
  24. 前記履歴データは、前記ストリームの前の時点からのビジネスイベントデータを含む、請求項23に記載の方法。
  25. 前記連続クエリの演算子に少なくとも一部基づいて前記連続クエリを初期化するために用いる前記履歴データの最適量を決定することをさらに含む、請求項23に記載の方法。
  26. 前記ステートフル演算子は、前記連続クエリの少なくとも1つのノードの評価に少なくとも一部基づいて識別される、請求項23に記載の方法。
JP2015534680A 2012-09-28 2013-09-26 アーカイブされたリレーションを有する連続クエリの管理 Active JP6266630B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261707641P 2012-09-28 2012-09-28
US61/707,641 2012-09-28
US13/830,129 2013-03-14
US13/830,129 US9256646B2 (en) 2012-09-28 2013-03-14 Configurable data windows for archived relations
US13/829,958 2013-03-14
US13/829,958 US10102250B2 (en) 2012-09-28 2013-03-14 Managing continuous queries with archived relations
PCT/US2013/062052 WO2014052679A2 (en) 2012-09-28 2013-09-26 Managing continuous queries with archived relations

Publications (3)

Publication Number Publication Date
JP2016500168A true JP2016500168A (ja) 2016-01-07
JP2016500168A5 JP2016500168A5 (ja) 2016-11-04
JP6266630B2 JP6266630B2 (ja) 2018-01-24

Family

ID=50386187

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2015534676A Active JP6826811B2 (ja) 2012-09-28 2013-09-26 戦術的クエリから連続クエリへの変換
JP2015534678A Active JP6404820B2 (ja) 2012-09-28 2013-09-26 連続クエリをチェーン接続するための機構
JP2015534680A Active JP6266630B2 (ja) 2012-09-28 2013-09-26 アーカイブされたリレーションを有する連続クエリの管理
JP2019104584A Active JP6807431B2 (ja) 2012-09-28 2019-06-04 戦術的クエリから連続クエリへの変換

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015534676A Active JP6826811B2 (ja) 2012-09-28 2013-09-26 戦術的クエリから連続クエリへの変換
JP2015534678A Active JP6404820B2 (ja) 2012-09-28 2013-09-26 連続クエリをチェーン接続するための機構

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019104584A Active JP6807431B2 (ja) 2012-09-28 2019-06-04 戦術的クエリから連続クエリへの変換

Country Status (5)

Country Link
US (20) US9563663B2 (ja)
EP (3) EP2901321A2 (ja)
JP (4) JP6826811B2 (ja)
CN (3) CN104885077B (ja)
WO (3) WO2014052677A2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535761B2 (en) 2011-05-13 2017-01-03 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9703836B2 (en) 2012-09-28 2017-07-11 Oracle International Corporation Tactical query to continuous query conversion
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US9972103B2 (en) 2015-07-24 2018-05-15 Oracle International Corporation Visually exploring and analyzing event streams
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
JP2019535056A (ja) * 2016-09-15 2019-12-05 オラクル・インターナショナル・コーポレイション マイクロバッチストリーミングのための複合イベント処理
JP2019535065A (ja) * 2016-09-15 2019-12-05 オラクル・インターナショナル・コーポレイション 分散イベント処理システムにおけるデータシリアライズ
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US11394769B2 (en) 2017-03-17 2022-07-19 Oracle International Corporation Framework for the deployment of event-based applications
US11503107B2 (en) 2017-03-17 2022-11-15 Oracle International Corporation Integrating logic in micro batch based event processing systems

Families Citing this family (281)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) * 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US8589436B2 (en) 2008-08-29 2013-11-19 Oracle International Corporation Techniques for performing regular expression-based pattern matching in data streams
US8935293B2 (en) 2009-03-02 2015-01-13 Oracle International Corporation Framework for dynamically generating tuple and page classes
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
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US8356027B2 (en) * 2010-10-07 2013-01-15 Sap Ag Hybrid query execution plan generation and cost model evaluation
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US9456053B2 (en) 2011-12-14 2016-09-27 Level 3 Communications, Llc Content delivery network
US9607045B2 (en) 2012-07-12 2017-03-28 Microsoft Technology Licensing, Llc Progressive query computation using streaming architectures
US9143498B2 (en) 2012-08-30 2015-09-22 Aerohive Networks, Inc. Internetwork authentication
US9836509B2 (en) * 2012-09-20 2017-12-05 Sap Se Generic query templates for complex event processing and data stream systems
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US9628343B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework with dynamic service network topologies
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US10754877B2 (en) * 2013-01-15 2020-08-25 Datorama Technologies, Ltd. System and method for providing big data analytics on dynamically-changing data models
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
US10866952B2 (en) * 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US9762679B2 (en) * 2013-03-15 2017-09-12 Aerohive Networks, Inc. Providing stateless network services
US10268724B2 (en) * 2013-03-15 2019-04-23 Teradata Us, Inc. Techniques for improving the performance of complex queries
US9769056B2 (en) 2013-03-15 2017-09-19 Aerohive Networks, Inc. Gateway using multicast to unicast conversion
US9031933B2 (en) * 2013-04-03 2015-05-12 International Business Machines Corporation Method and apparatus for optimizing the evaluation of semantic web queries
US9460407B2 (en) * 2013-05-03 2016-10-04 Sap Se Generating graphical representations of data
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9514214B2 (en) 2013-06-12 2016-12-06 Microsoft Technology Licensing, Llc Deterministic progressive big data analytics
JP6114473B2 (ja) * 2013-06-21 2017-04-12 株式会社日立製作所 時間調整を使用したストリームデータ処理方法
US9734221B2 (en) * 2013-09-12 2017-08-15 Sap Se In memory database warehouse
US9734230B2 (en) 2013-09-12 2017-08-15 Sap Se Cross system analytics for in memory data warehouse
US10380518B2 (en) 2013-09-30 2019-08-13 Maximus Process tracking and defect detection
WO2015059605A1 (en) * 2013-10-22 2015-04-30 Tata Consultancy Services Limited Window management for stream processing and stream reasoning
WO2015094312A1 (en) * 2013-12-20 2015-06-25 Hewlett-Packard Development Company, L.P. Identifying a path in a workload that may be associated with a deviation
US10489266B2 (en) 2013-12-20 2019-11-26 Micro Focus Llc Generating a visualization of a metric at one or multiple levels of execution of a database workload
US10496517B2 (en) * 2014-02-04 2019-12-03 ZeroTurnaround AS System and method for providing runtime diagnostics of executing applications
US9804846B2 (en) 2014-03-27 2017-10-31 International Business Machines Corporation Thread context preservation in a multithreading computer system
US10102004B2 (en) 2014-03-27 2018-10-16 International Business Machines Corporation Hardware counters to track utilization in a multithreading computer system
US9594660B2 (en) * 2014-03-27 2017-03-14 International Business Machines Corporation Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores
US9417876B2 (en) 2014-03-27 2016-08-16 International Business Machines Corporation Thread context restoration in a multithreading computer system
US9921848B2 (en) 2014-03-27 2018-03-20 International Business Machines Corporation Address expansion and contraction in a multithreading computer system
US9354883B2 (en) 2014-03-27 2016-05-31 International Business Machines Corporation Dynamic enablement of multithreading
US9639583B2 (en) * 2014-04-14 2017-05-02 Business Objects Software Ltd. Caching predefined data for mobile dashboard
US10445433B2 (en) * 2014-04-28 2019-10-15 Venkatachary Srinivasan Methods and systems of query engines and secondary indexes implemented in a distributed database
US9996592B2 (en) * 2014-04-29 2018-06-12 Sap Se Query relationship management
US9633087B2 (en) * 2014-06-06 2017-04-25 Software Ag Systems and/or methods for capability-aware dynamic distributed event processing
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
WO2016004594A2 (en) * 2014-07-09 2016-01-14 Splunk Inc. Managing datasets produced by alert-triggering search queries
US20160034191A1 (en) * 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
US11093562B2 (en) * 2014-08-04 2021-08-17 Ent. Services Development Corporation Lp Event stream processing
US9992619B2 (en) 2014-08-12 2018-06-05 Aerohive Networks, Inc. Network device based proximity beacon locating
US9870410B2 (en) 2014-09-15 2018-01-16 Microsoft Technology Licensing, Llc Constructed data stream for enhanced event processing
US20160080173A1 (en) * 2014-09-15 2016-03-17 Ebay Inc. Complex event processing as digital signals
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
WO2016053322A1 (en) * 2014-09-30 2016-04-07 Hewlett Packard Enterprise Development Lp Database and data stream query
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
EP3204848B1 (en) * 2014-10-08 2022-12-21 Splunk Inc. Real-time reporting based on instrumentation of software
US9846632B2 (en) * 2014-10-08 2017-12-19 Signalfx, Inc. Real-time reporting based on instrumentation of software
WO2016057211A1 (en) 2014-10-08 2016-04-14 Signalfx, Inc. Real-time reporting based on instrumentation of software
US9158811B1 (en) * 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface
US10305758B1 (en) * 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode
US9959545B2 (en) * 2014-11-12 2018-05-01 Sap Se Monitoring of events and key figures
US9846724B2 (en) * 2014-11-13 2017-12-19 Sap Se Integration of calculation models into SQL layer
JP6029119B2 (ja) * 2014-11-28 2016-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 重要業績評価指標のカテゴリ分割の条件を求める方法、並びに、その為のコンピュータ及びコンピュータ・プログラム
US9881036B2 (en) 2014-12-01 2018-01-30 International Business Machines Corporation Avoid double counting of mapped database data
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US10223542B2 (en) * 2014-12-10 2019-03-05 International Business Machines Corporation Intelligent database with secure tables
US10007491B2 (en) * 2014-12-18 2018-06-26 Software Ag Usa, Inc. Systems and/or methods for cloud-based event-driven integration
US9846574B2 (en) * 2014-12-19 2017-12-19 Signalfx, Inc. Representing result data streams based on execution of data stream language programs
US9613087B2 (en) 2014-12-22 2017-04-04 International Business Machines Corporation Optimizing continuous query operations in an in memory data grid (IMDG)
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US10394692B2 (en) 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US10423468B2 (en) 2015-02-10 2019-09-24 Red Hat, Inc. Complex event processing using pseudo-clock
US9891966B2 (en) 2015-02-10 2018-02-13 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9940360B2 (en) * 2015-05-19 2018-04-10 Sybase, Inc. Streaming optimized data processing
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9917753B2 (en) * 2015-06-12 2018-03-13 Level 3 Communications, Llc Network operational flaw detection using metrics
US9690800B2 (en) 2015-06-12 2017-06-27 International Business Machines Corporation Tracking tuples to reduce redundancy in a graph
US11068827B1 (en) * 2015-06-22 2021-07-20 Wells Fargo Bank, N.A. Master performance indicator
US10599662B2 (en) * 2015-06-26 2020-03-24 Mcafee, Llc Query engine for remote endpoint information retrieval
US10037389B2 (en) 2015-07-21 2018-07-31 International Business Machines Corporation Dynamic window adjustments in a streaming environment
CN106549772B (zh) * 2015-09-16 2019-11-19 华为技术有限公司 资源预测方法、***和容量管理装置
US9672082B2 (en) 2015-10-21 2017-06-06 Oracle International Corporation Guaranteeing the event order for multi-stage processing in distributed systems
US10685024B2 (en) 2015-10-21 2020-06-16 Oracle International Corporation Tuple extraction using dynamically generated extractor classes
US10303695B2 (en) * 2015-10-21 2019-05-28 Oracle International Corporation Query decomposition for scalability of continuous query processing
US10261827B2 (en) 2015-10-29 2019-04-16 International Business Machines Corporation Interprocessor memory status communication
US9563467B1 (en) 2015-10-29 2017-02-07 International Business Machines Corporation Interprocessor memory status communication
US9916179B2 (en) 2015-10-29 2018-03-13 International Business Machines Corporation Interprocessor memory status communication
US9760397B2 (en) 2015-10-29 2017-09-12 International Business Machines Corporation Interprocessor memory status communication
US9971831B2 (en) 2015-11-25 2018-05-15 International Business Machines Corporation Managing complex queries with predicates
US20170154080A1 (en) * 2015-12-01 2017-06-01 Microsoft Technology Licensing, Llc Phasing of multi-output query operators
US10339470B1 (en) * 2015-12-11 2019-07-02 Amazon Technologies, Inc. Techniques for generating machine learning training data
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10235780B2 (en) * 2015-12-18 2019-03-19 Dropbox, Inc. Integrated data exploration, modeling and visualization
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
WO2017111644A1 (en) 2015-12-23 2017-06-29 Oracle International Corporation Flexible event ingestion framework in an event processing system
US20170212650A1 (en) * 2016-01-22 2017-07-27 Microsoft Technology Licensing, Llc Dynamically optimizing user engagement
US10796229B1 (en) * 2016-02-01 2020-10-06 InsideView Technologies, Inc. Building an interactive knowledge list for business ontologies
WO2017135837A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Pattern based automated test data generation
WO2017135838A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Level of detail control for geostreaming
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) * 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10642844B2 (en) 2016-04-01 2020-05-05 Arista Networks, Inc. Non-materialized tables with standing queries
US10860568B2 (en) 2016-04-01 2020-12-08 Arista Networks, Inc. External data source linking to queries in memory
US10783147B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Query result flow control in a network switch
US10783144B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Use of null rows to indicate the end of a one-shot query in network switch
US10284673B2 (en) 2016-04-01 2019-05-07 Arista Networks, Inc. Interface for a client of a network device
US10817512B2 (en) 2016-04-01 2020-10-27 Arista Networks, Inc. Standing queries in memory
US9591047B1 (en) 2016-04-11 2017-03-07 Level 3 Communications, Llc Invalidation in a content delivery network (CDN)
KR101695278B1 (ko) * 2016-04-26 2017-01-23 (주)시큐레이어 실시간성 이벤트를 탐지하는 방법 및 이를 이용한 서버
US11144556B2 (en) * 2016-04-29 2021-10-12 Cisco Technology, Inc. Dynamic streaming of query responses
US10747763B2 (en) * 2016-05-11 2020-08-18 International Business Machines Corporation Efficient multiple aggregation distinct processing
EP3458953A4 (en) 2016-05-15 2020-01-22 Synopsys, Inc. SYSTEMS AND METHODS FOR MODEL-BASED ANALYSIS OF A SOFTWARE
CN107515864B (zh) * 2016-06-15 2021-06-22 阿里巴巴集团控股有限公司 监控工作流的方法及设备
US10740328B2 (en) 2016-06-24 2020-08-11 Microsoft Technology Licensing, Llc Aggregate-query database system and processing
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10776846B2 (en) * 2016-07-27 2020-09-15 Nike, Inc. Assortment optimization
US10360216B2 (en) * 2016-07-31 2019-07-23 Cisco Technology, Inc. Dynamic streaming of results of multi-leveled queries
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
CN106294865A (zh) * 2016-08-23 2017-01-04 复旦大学无锡研究院 多元数据感知计算引擎及其中间件数据处理方法
US10885027B2 (en) * 2016-08-24 2021-01-05 Nec Corporation Progressive processing for querying system behavior
US10572276B2 (en) * 2016-09-12 2020-02-25 International Business Machines Corporation Window management based on a set of computing resources in a stream computing environment
US10536387B2 (en) 2016-09-12 2020-01-14 International Business Machines Corporation Window management based on an indication of congestion in a stream computing environment
US10514952B2 (en) * 2016-09-15 2019-12-24 Oracle International Corporation Processing timestamps and heartbeat events for automatic time progression
JP6972119B2 (ja) * 2016-09-15 2021-11-24 オラクル・インターナショナル・コーポレイション ストリームデータにおける空間変化検出器
US10542060B2 (en) * 2016-09-19 2020-01-21 Ebay Inc. Interactive real-time visualization system for large-scale streaming data
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
WO2018065942A1 (en) * 2016-10-07 2018-04-12 KPMG Australia IP Holdings Pty Ltd Method and system for collecting, visualising and analysing risk data
US11086694B2 (en) * 2016-10-18 2021-08-10 IQLECT Software Solutions Pvt Ltd. Method and system for scalable complex event processing of event streams
US10127283B2 (en) 2016-10-31 2018-11-13 International Business Machines Corporation Projecting effect of in-flight streamed data on a relational database
US10025826B2 (en) * 2016-10-31 2018-07-17 International Business Machines Corporation Querying in-flight streamed data from a relational database
US9836467B1 (en) 2016-10-31 2017-12-05 International Business Machines Company Altering in-flight streamed data from a relational database
US20180129372A1 (en) * 2016-11-08 2018-05-10 Microsoft Technology Licensing, Llc Dynamic insight objects for user application data
US9946522B1 (en) * 2016-12-16 2018-04-17 International Business Machines Corporation Generating code for real-time stream processing
JP6875631B2 (ja) * 2016-12-20 2021-05-26 富士通株式会社 データ更新プログラム、データ更新方法及びデータ更新装置
CN108287983A (zh) * 2017-01-09 2018-07-17 朱瑞星 一种用于对基因组进行压缩和解压缩的方法和装置
US10417239B2 (en) 2017-01-13 2019-09-17 International Business Machines Corporation Reducing flow delays in a data streaming application caused by lookup operations
US10565220B2 (en) * 2017-01-31 2020-02-18 Splunk Inc. Generating visualizations for search results data containing multiple data dimensions
WO2018146761A1 (ja) * 2017-02-09 2018-08-16 日本電気株式会社 分析装置
US11030697B2 (en) 2017-02-10 2021-06-08 Maximus, Inc. Secure document exchange portal system with efficient user access
US10552435B2 (en) 2017-03-08 2020-02-04 Microsoft Technology Licensing, Llc Fast approximate results and slow precise results
CN108664503B (zh) * 2017-03-30 2021-01-26 北京京东尚科信息技术有限公司 一种数据归档方法及装置
EP3446242B1 (en) * 2017-04-25 2024-04-17 Murex S.A.S Query plan generation and execution in a relational database management system with a temporal-relational database
US11294901B1 (en) * 2017-05-04 2022-04-05 Amazon Technologies, Inc. Isolating the performance of functions included in queries
US10057373B1 (en) * 2017-05-15 2018-08-21 Palantir Technologies Inc. Adaptive computation and faster computer operation
US10656964B2 (en) 2017-05-16 2020-05-19 Oracle International Corporation Dynamic parallelization of a calculation process
US10719372B2 (en) 2017-05-22 2020-07-21 Oracle International Corporation Dynamic parallelization of data loading
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
EP3425602B1 (en) * 2017-07-06 2020-09-02 Wincor Nixdorf International GmbH Method and system of performing an authorization mechanism between a service terminal system and a helpdesk system
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
KR101935249B1 (ko) * 2017-08-17 2019-01-04 주식회사 티맥스데이터 스토어드 프로시져를 이용하여 플로우 기반의 프로세싱을 수행하기 위한 방법, 시스템, 및 장치
CN108255913A (zh) * 2017-08-31 2018-07-06 新华三大数据技术有限公司 一种实时流数据处理方法及装置
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
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
US11080110B2 (en) * 2017-10-06 2021-08-03 Experian Health, Inc. In-memory storage of aggregated data for real-time event tracking
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10691489B2 (en) 2018-01-29 2020-06-23 International Business Machines Corporation Managing the processing of streamed data in a data streaming application using query information from a relational database
US10726079B2 (en) 2018-01-30 2020-07-28 Splunk Inc. Metric forecasting interface with alert prediction
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10909116B2 (en) * 2018-02-20 2021-02-02 International Business Machines Corporation Optimizing query processing and routing in a hybrid workload optimized database system
US11423031B2 (en) * 2018-02-22 2022-08-23 Microsoft Technology Licensing, Llc Standing query creation using store query
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US11232106B1 (en) * 2018-03-23 2022-01-25 Amazon Technologies, Inc. Windowed query with event-based open time for analytics of streaming data
US11138230B2 (en) * 2018-03-26 2021-10-05 Mcafee, Llc Methods, apparatus, and systems to aggregate partitioned computer database data
CN108846066B (zh) * 2018-06-06 2020-01-24 上海计算机软件技术开发中心 一种可视化的数据分析方法及***
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US20200027046A1 (en) * 2018-07-17 2020-01-23 International Business Machines Corporation Smart monitoring
CN108965431B (zh) * 2018-07-17 2020-11-10 中国建设银行股份有限公司 Ibm主机实现事件驱动架构的方法及装置
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11086818B2 (en) * 2018-09-13 2021-08-10 International Business Machines Corporation Establishing object atomicity in snapshot based disaster recovery environments
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
CN109299159A (zh) * 2018-10-18 2019-02-01 新疆工程学院 一种基于窗口的数据流多连续查询方法
US11423020B2 (en) * 2018-10-19 2022-08-23 Oracle International Corporation Efficient extraction of large data sets from a database
US11204926B2 (en) 2018-10-31 2021-12-21 International Business Machines Corporation Storing partial tuples from a streaming application in a database system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
CN109739872A (zh) * 2018-12-27 2019-05-10 苏州思必驰信息科技有限公司 一种sql语句处理的实现方法、***及操作方法
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
WO2020162943A1 (en) * 2019-02-07 2020-08-13 Thogamalai Krishnakumar Arumugham Holistic intelligence and autonomous information system and method thereof
JP2022520763A (ja) * 2019-02-08 2022-04-01 アイ・ティー スピークス エル・エル・シー インテリジェント産業アシスタントのためのダイアログテンプレートを開発するための方法、システム、および、コンピュータプログラム製品
US11205343B2 (en) * 2019-02-20 2021-12-21 GM Global Technology Operations LLC Methods and systems for interpretating traffic signals and negotiating signalized intersections
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11579940B2 (en) * 2019-04-11 2023-02-14 Salesforce.Com, Inc. Techniques and architectures for managing global installations and configurations
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
CN114521257A (zh) * 2019-08-01 2022-05-20 天域分析公司 辅助查询构建和数据检索
US11645344B2 (en) 2019-08-26 2023-05-09 Experian Health, Inc. Entity mapping based on incongruent entity data
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US20210110328A1 (en) * 2019-10-14 2021-04-15 Oracle International Corporation Techniques for configuring workflow event processing and identifier federation
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
CN113076330B (zh) * 2020-01-06 2024-05-17 阿里巴巴集团控股有限公司 查询处理方法、装置、数据库***、电子设备及存储介质
CN111259205B (zh) * 2020-01-15 2023-10-20 北京百度网讯科技有限公司 一种图数据库遍历方法、装置、设备及存储介质
US11501062B1 (en) * 2020-02-13 2022-11-15 The Mathworks, Inc. Systems and methods for displaying data including hierarchical headers
CN113254480B (zh) * 2020-02-13 2024-04-19 ***通信集团广东有限公司 一种数据查询方法及装置
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN111709647A (zh) * 2020-06-18 2020-09-25 辽宁振兴银行股份有限公司 一种基于策略引擎控制的数据源动态管理方法
US10970419B1 (en) * 2020-07-31 2021-04-06 Snowflake Inc. Data clean room
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11880364B2 (en) * 2021-01-25 2024-01-23 Snowflake Inc. Predictive resource allocation for distributed query execution
CN112559813B (zh) * 2021-01-29 2022-04-29 广州技象科技有限公司 基于指令关联推送的物联网网关数据处理方法及装置
CN112948391A (zh) * 2021-03-12 2021-06-11 深圳市百佳华网络科技有限公司 一种绩效考核方法、***、终端及可读存储介质
US20220374398A1 (en) * 2021-05-24 2022-11-24 Red Hat, Inc. Object Creation from Schema for Event Streaming Platform
US11829291B2 (en) 2021-06-01 2023-11-28 Alibaba Singapore Holding Private Limited Garbage collection of tree structure with page mappings
US11755427B2 (en) 2021-06-01 2023-09-12 Alibaba Singapore Holding Private Limited Fast recovery and replication of key-value stores
US11741073B2 (en) 2021-06-01 2023-08-29 Alibaba Singapore Holding Private Limited Granularly timestamped concurrency control for key-value store
US11880584B2 (en) * 2021-06-15 2024-01-23 Vmware, Inc. Reverse range lookup on a unified logical map data structure of snapshots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US20230033887A1 (en) * 2021-07-23 2023-02-02 Vmware, Inc. Database-platform-agnostic processing of natural language queries
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US11789948B2 (en) * 2021-12-10 2023-10-17 Sap Se Computational dependency directory
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
CN114860770B (zh) * 2022-04-15 2022-12-16 北京科杰科技有限公司 基于数据服务的优化方法、***、计算机设备及介质
US20240202198A1 (en) * 2022-12-16 2024-06-20 Microsoft Technology Licensing, Llc Continuous query using anchored paths
CN117875299B (zh) * 2024-03-13 2024-05-24 南京智握信息技术有限公司 一种电子档案集成处理方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338432A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd ストリームデータ処理システムのクエリ処理方法
US20070294217A1 (en) * 2006-06-14 2007-12-20 Nec Laboratories America, Inc. Safety guarantee of continuous join queries over punctuated data streams
JP2007328716A (ja) * 2006-06-09 2007-12-20 Hitachi Ltd ストリームデータ処理方法

Family Cites Families (486)

* 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
JPH04219859A (ja) 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
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
US5470313A (en) 1994-02-24 1995-11-28 Cardiovascular Dynamics, Inc. Variable diameter balloon dilatation catheter
DE69432746T2 (de) 1994-06-10 2004-03-25 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems
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
US5937195A (en) * 1996-11-27 1999-08-10 Hewlett-Packard Co Global control flow treatment of predicated code
US5937401A (en) 1996-11-27 1999-08-10 Sybase, Inc. Database system with improved methods for filtering duplicates from a tuple stream
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
US6112198A (en) * 1997-06-30 2000-08-29 International Business Machines Corporation Optimization of data repartitioning during parallel query optimization
US5822750A (en) 1997-06-30 1998-10-13 International Business Machines Corporation Optimization of correlated SQL queries in a relational database management system
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
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
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
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
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
WO2001052090A2 (en) 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a web content platform
US7047033B2 (en) 2000-02-01 2006-05-16 Infogin Ltd Methods and apparatus for analyzing, processing and formatting network information such as web-pages
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
AU2001239998A1 (en) 2000-02-28 2001-09-12 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
US6633867B1 (en) 2000-04-05 2003-10-14 International Business Machines Corporation System and method for providing a session query within the context of a dynamic search result set
US20020038217A1 (en) 2000-04-07 2002-03-28 Alan Young System and method for integrated data analysis and management
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
US7606782B2 (en) * 2000-05-24 2009-10-20 Oracle International Corporation System for automation of business knowledge in natural language using rete algorithm
US7076647B2 (en) 2000-06-09 2006-07-11 Hewlett-Packard Development Company, L.P. Dynamic kernel tunables
CA2311884A1 (en) 2000-06-16 2001-12-16 Cognos Incorporated Method of managing slowly changing dimensions
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
US20020156792A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs
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
JP4219165B2 (ja) 2000-12-15 2009-02-04 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー エンティテイにインデックス付けする方法
US7062749B2 (en) 2000-12-15 2006-06-13 Promenix, Inc. Measuring, monitoring and tracking enterprise communications and processes
US6954791B2 (en) 2001-01-23 2005-10-11 Intel Corporation Time-based network connections
US7139977B1 (en) 2001-01-24 2006-11-21 Oracle International Corporation System and method for producing a virtual online book
US8307197B2 (en) * 2001-02-14 2012-11-06 University Of North Carolina At Charlotte Short-circuit evaluation of Boolean expression by rolling up sub-expression result in registers storing default value
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
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
WO2002071260A1 (en) 2001-03-01 2002-09-12 Aalborg Universitet Adaptable query optimization and evaluation in temporal middleware
GB2377038A (en) 2001-04-10 2002-12-31 I2 Ltd Method for identifying patterns in sequential event streams
US6904019B2 (en) 2001-04-13 2005-06-07 Agilent Technologies, Inc. Identifying a pattern in a data stream
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
US8332502B1 (en) 2001-08-15 2012-12-11 Metavante Corporation Business to business network management event detection and response system and method
EP1436936A4 (en) 2001-09-12 2006-08-02 Safenet Inc RECOGNITION OF FORMS OF HIGH-SPEED DATA FLOW
US7203927B2 (en) 2001-09-20 2007-04-10 International Business Machines Corporation SQL debugging using XML dataflows
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
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
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
CA2473446A1 (en) 2002-01-14 2003-07-24 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
CA2374271A1 (en) * 2002-03-01 2003-09-01 Ibm Canada Limited-Ibm Canada Limitee Redundant join elimination and sub-query elimination using subsumption
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
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
DE10392750T5 (de) 2002-06-05 2005-11-03 Sap Aktiengesellschaft Vorrichtung und Verfahren zum Abstimmen von variablen Hilfsinformationen auf Hauptbüroinformationen in einem Firmensystem
WO2004014065A2 (en) 2002-08-05 2004-02-12 John Campbell System of finite state machines
US7840550B2 (en) 2002-08-13 2010-11-23 International Business Machines Corporation System and method for monitoring database queries
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
US7653645B1 (en) 2002-10-29 2010-01-26 Novell, Inc. Multi-epoch method for saving and exporting file system events
US7213040B1 (en) 2002-10-29 2007-05-01 Novell, Inc. Apparatus for policy based storage of file data and meta-data changes over time
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
JP2004280283A (ja) 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
US7392239B2 (en) * 2003-04-14 2008-06-24 International Business Machines Corporation System and method for querying XML streams
US6986019B1 (en) 2003-04-21 2006-01-10 Maxtor Corporation Method and apparatus for detection and management of data streams
US20040220896A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation System and method for optimizing 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
US6836778B2 (en) 2003-05-01 2004-12-28 Oracle International Corporation Techniques for changing XML content in a relational database
US7386568B2 (en) 2003-05-01 2008-06-10 Oracle International Corporation Techniques for partial rewrite of XPath queries 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
US7430549B2 (en) 2003-07-07 2008-09-30 Netezza Corporaton Optimized SQL code generation
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
WO2005010727A2 (en) 2003-07-23 2005-02-03 Praedea Solutions, Inc. Extracting data from semi-structured text documents
JP2007500401A (ja) 2003-07-25 2007-01-11 ジンガー,アーサー,アール. ソフトウェアデバッギング用装置とその方法
US7873645B2 (en) 2003-09-05 2011-01-18 Oracle International Corporation Method and mechanism for handling arbitrarily-sized XML in SQL operator tree
US7313554B2 (en) * 2003-09-29 2007-12-25 International Business Machines Corporation System and method for indexing queries, rules and subscriptions
US20050071217A1 (en) * 2003-09-30 2005-03-31 General Electric Company Method, system and computer product for analyzing business risk using event information extracted from natural language sources
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
US7702676B2 (en) 2006-12-29 2010-04-20 Teradata Us, Inc. Parallel virtual optimization
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
US7440461B2 (en) 2003-12-23 2008-10-21 Intel Corporation Methods and apparatus for detecting patterns in a data stream
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
US7526804B2 (en) 2004-02-02 2009-04-28 Microsoft Corporation Hardware assist for pattern matches
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
JP4219859B2 (ja) 2004-06-10 2009-02-04 日立建機株式会社 把持力制御装置および解体作業機
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
US7263464B1 (en) 2004-08-27 2007-08-28 Tonic Software, Inc. System and method for monitoring events in a computing environment
GB0420097D0 (en) 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
US20060064438A1 (en) 2004-09-17 2006-03-23 International Business Machines Corporation Methods and apparartus for monitoring abnormalities in data stream
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
US20060212441A1 (en) 2004-10-25 2006-09-21 Yuanhua Tang Full text query and search 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
US7881440B2 (en) 2004-12-22 2011-02-01 At&T Intellectual Property Ii, L.P. Method for automatic graphical profiling of a system
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
US20060166704A1 (en) 2005-01-26 2006-07-27 Benco David S Method for alerting a subscriber of an emergency call request
US20060167869A1 (en) 2005-01-27 2006-07-27 Kevin Jones Multi-path simultaneous Xpath evaluation over data streams
US8396886B1 (en) 2005-02-03 2013-03-12 Sybase Inc. Continuous processing language for real-time data streams
JP5188817B2 (ja) 2005-02-22 2013-04-24 コネクティフ ソリューションズ インク. 分散型資産管理システム及び方法
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
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
US20090172014A1 (en) 2005-08-23 2009-07-02 Raymond John Huetter 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
US20070168154A1 (en) 2005-12-23 2007-07-19 Ericson Richard E User interface for statistical data analysis
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
JP4997495B2 (ja) 2006-03-06 2012-08-08 国立大学法人東京工業大学 神経等価回路、シナプス等価回路及び神経細胞体等価回路
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
EP2002334A1 (en) 2006-03-31 2008-12-17 British Telecommunications Public Limited Company Xml-based transfer and a local storage of java objects
GB0606776D0 (en) 2006-04-03 2006-05-10 Novartis Pharma Ag Predictive biomarkers for chronic allograft nephropathy
US7974984B2 (en) 2006-04-19 2011-07-05 Mobile Content Networks, Inc. Method and system for managing single and multiple taxonomies
CN100449435C (zh) 2006-04-20 2009-01-07 重庆杰信模具有限公司 基于kbe及web技术的锻模设计与制造***
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
US7613848B2 (en) 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
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
US8671091B2 (en) * 2006-08-02 2014-03-11 Hewlett-Packard Development Company, L.P. Optimizing snowflake schema queries
US20080034427A1 (en) 2006-08-02 2008-02-07 Nec Laboratories America, Inc. Fast and scalable process for regular expression search
US20080140173A1 (en) 2006-08-07 2008-06-12 Sherif Eskaros Non-shortening wrapped balloon
US7580946B2 (en) 2006-08-11 2009-08-25 Bizweel 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
US7921416B2 (en) 2006-10-20 2011-04-05 Yahoo! Inc. Formal language and translator for parallel processing of data
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
US20080115103A1 (en) * 2006-11-13 2008-05-15 Microsoft Corporation Key performance indicators using collaboration lists
JP4933222B2 (ja) 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
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
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
US7831607B2 (en) 2006-12-08 2010-11-09 Pandya Ashish A Interval symbol architecture for programmable intelligent search memory
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
US20080294996A1 (en) 2007-01-31 2008-11-27 Herbert Dennis Hunt Customized retailer portal within an analytic platform
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
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
US8370812B2 (en) 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
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 会議可視化システム、会議可視化方法、及び集計処理サーバ
US7788206B2 (en) 2007-04-30 2010-08-31 Lsi Corporation State machine compression using multi-character state transition instructions
US7899904B2 (en) 2007-04-30 2011-03-01 Lsi Corporation Hardware processing of regular expressions
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
WO2009030568A1 (en) * 2007-09-06 2009-03-12 International Business Machines Corporation Method for providing a navigation element in an application
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
US8700608B2 (en) 2007-10-17 2014-04-15 Oracle International Corporation SQL execution plan verification
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
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
US8073826B2 (en) 2007-10-18 2011-12-06 Oracle International Corporation Support for user defined functions in a data stream management system
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
US8307343B2 (en) 2007-10-19 2012-11-06 Microsoft Corporation Application and database context correlation for database application developers
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
US8521867B2 (en) 2007-10-20 2013-08-27 Oracle International Corporation Support for incrementally processing user defined aggregations in a data stream management system
US20090112809A1 (en) * 2007-10-24 2009-04-30 Caterpillar Inc. Systems and methods for monitoring health of computing systems
US7827127B2 (en) 2007-10-26 2010-11-02 Microsoft Corporation Data scoping and data flow in a continuation based runtime
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
KR100894910B1 (ko) 2007-11-09 2009-04-30 한국전자통신연구원 이기종 센서 네트워크 환경에서 다중 질의 처리 장치 및방법
US9275353B2 (en) 2007-11-09 2016-03-01 Oracle America, Inc. Event-processing operators
US7870167B2 (en) 2007-11-09 2011-01-11 Oracle America, Inc. Implementing event processors
WO2009114615A1 (en) 2008-03-11 2009-09-17 Virtual Agility, Inc. Techniques for integrating parameterized information request into a system for collaborative work
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
US8191074B2 (en) 2007-11-15 2012-05-29 Ericsson Ab Method and apparatus for automatic debugging technique
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
WO2009082653A1 (en) 2007-12-20 2009-07-02 Hsbc Technologies Inc. Automated methods and systems for developing and deploying projects in parallel
US7882087B2 (en) 2008-01-15 2011-02-01 At&T Intellectual Property I, L.P. Complex dependencies for efficient data warehouse updates
JP2009171193A (ja) 2008-01-16 2009-07-30 Kyocera Mita Corp 通信装置、通信方法及び通信制御プログラム
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
US8903802B2 (en) 2008-03-06 2014-12-02 Cisco Technology, Inc. Systems and methods for managing queries
US8055649B2 (en) 2008-03-06 2011-11-08 Microsoft Corporation Scaled management system
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
US8918507B2 (en) 2008-05-30 2014-12-23 Red Hat, Inc. Dynamic grouping of enterprise assets
US8291006B2 (en) 2008-05-30 2012-10-16 International Business Machines Corporation Method for generating a distributed stream processing application
US8112378B2 (en) 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
WO2009154483A1 (en) * 2008-06-20 2009-12-23 Business Intelligence Solutions Safe B.V. Methods, apparatus and systems for data visualization and related applications
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
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
US8447739B2 (en) 2008-07-16 2013-05-21 SAP France S.A. Systems and methods to create continuous queries via a semantic layer
US8185508B2 (en) 2008-08-08 2012-05-22 Oracle International Corporation Adaptive filter index for determining queries affected by a DML operation
US8037040B2 (en) 2008-08-08 2011-10-11 Oracle International Corporation Generating continuous query notifications
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
US8589436B2 (en) 2008-08-29 2013-11-19 Oracle International Corporation Techniques for performing regular expression-based pattern matching in data streams
CA2736750A1 (en) 2008-09-15 2010-03-18 James A. Aman Session automated recording together with rules based indexing, analysis and expression of content
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 株式会社日立製作所 ストリームデータ処理方法、及びそのシステム
JP5394197B2 (ja) 2008-10-31 2014-01-22 トピー工業株式会社 自動車用ホイールディスク
AU2009316786A1 (en) 2008-11-19 2010-05-27 Merck Sharp & Dohme Corp. Inhibitors of diacylglycerol acyltransferase
US7945565B2 (en) 2008-11-20 2011-05-17 Yahoo! Inc. Method and system for generating a hyperlink-click graph
US8538981B2 (en) 2008-11-20 2013-09-17 Sap Ag Stream sharing for 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
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
US8352517B2 (en) 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8725707B2 (en) 2009-03-26 2014-05-13 Hewlett-Packard Development Company, L.P. Data continuous SQL process
US8713038B2 (en) 2009-04-02 2014-04-29 Pivotal Software, Inc. Integrating map-reduce into a distributed relational database
US8438296B2 (en) * 2009-05-08 2013-05-07 Raytheon Company Playback communications using a unified communications protocol
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
US8996556B2 (en) 2009-06-05 2015-03-31 Microsoft Technology Licensing, Llc Parallel processing of an ordered data stream
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
US8407190B2 (en) 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US8572589B2 (en) 2009-06-30 2013-10-29 Agilent Technologies, Inc. Programming language translator and enabling translation of machine-centric commands for controlling instrument
US8423561B2 (en) * 2009-07-02 2013-04-16 Catavolt, Inc. Method and system for simplifying object mapping for a user interface
US8180801B2 (en) 2009-07-16 2012-05-15 Sap Ag Unified window support for event stream data management
US8880524B2 (en) 2009-07-17 2014-11-04 Apple Inc. Scalable real time event stream processing
US8387076B2 (en) * 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8572016B2 (en) 2009-07-31 2013-10-29 International Business Machines Corporation Match engine for detection of multi-pattern rules
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
JP2011038818A (ja) 2009-08-07 2011-02-24 Tokyo Electric Power Co Inc:The 原子炉制御支援システムおよび原子炉制御支援方法
US20110035253A1 (en) 2009-08-07 2011-02-10 onFucus Healthcare Systems and Methods for Optimizing Enterprise Performance Relationships to Other Applications
CA2712576C (en) 2009-08-11 2012-04-10 Certusview Technologies, Llc Systems and methods for complex event processing of vehicle-related information
JP4925143B2 (ja) 2009-08-12 2012-04-25 株式会社日立製作所 ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム
JP5395565B2 (ja) 2009-08-12 2014-01-22 株式会社日立製作所 ストリームデータ処理方法及び装置
US8204873B2 (en) * 2009-08-26 2012-06-19 Hewlett-Packard Development Company, L.P. System and method for query expression optimization
US20110084967A1 (en) 2009-10-09 2011-04-14 International Business Machines Corporation Visualization of Datasets
US8195648B2 (en) 2009-10-21 2012-06-05 Microsoft Corporation Partitioned query execution in event processing systems
US20110131588A1 (en) 2009-12-01 2011-06-02 International Business Machines Corporation Software architecture that can sense and respond to contextual and state information
US9430494B2 (en) * 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US9305057B2 (en) * 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US8959106B2 (en) * 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java 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
US8260768B2 (en) * 2010-01-29 2012-09-04 Hewlett-Packard Development Company, L.P. Transformation of directed acyclic graph query plans to linear query plans
US9805101B2 (en) 2010-02-26 2017-10-31 Ebay Inc. Parallel data stream processing system
JP5423553B2 (ja) * 2010-04-09 2014-02-19 株式会社日立製作所 データベース管理方法、計算機、センサネットワークシステム及びデータベース検索プログラム
US8484243B2 (en) 2010-05-05 2013-07-09 Cisco Technology, Inc. Order-independent stream query processing
JP5503737B2 (ja) 2010-05-14 2014-05-28 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム
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
US10380186B2 (en) 2010-05-26 2019-08-13 Entit Software Llc Virtual topological queries
US8595840B1 (en) 2010-06-01 2013-11-26 Trend Micro Incorporated Detection of computer network data streams from a malware and its variants
US20120116982A1 (en) 2010-06-02 2012-05-10 Salesforce. com. Inc. Method and system for escalating content of discussions to particular memory locations
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
US8321443B2 (en) * 2010-09-07 2012-11-27 International Business Machines Corporation Proxying open database connectivity (ODBC) calls
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 惠普发展公司,有限责任合伙企业 用于查询数据流的***和方法
CN103250147B (zh) 2010-10-14 2016-04-20 惠普发展公司,有限责任合伙企业 数据流的连续查询
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
US8818989B2 (en) * 2010-11-30 2014-08-26 International Business Machines Corporation Memory usage query governor
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
JP2012168725A (ja) 2011-02-14 2012-09-06 Toyota Motor Corp マルチスレッド・プロセッサ
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
US8738572B2 (en) 2011-05-24 2014-05-27 Red Lambda, Inc. System and method for storing data streams in a distributed environment
US20120323941A1 (en) 2011-06-17 2012-12-20 Microsoft Corporation Processing Queries for Event Data in a Foreign Representation
US9965520B2 (en) 2011-06-17 2018-05-08 Microsoft Corporation Efficient logical merging over physically divergent streams
US9449030B2 (en) 2011-06-30 2016-09-20 International Business Machines Corporation Method for native program to inherit same transaction content when invoked by primary program running in separate environment
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
US9298773B2 (en) 2011-09-12 2016-03-29 Hewlett Packard Enterprise Development Lp Nested complex sequence pattern queries over event streams
US8880493B2 (en) 2011-09-28 2014-11-04 Hewlett-Packard Development Company, L.P. Multi-streams analytics
US8635208B2 (en) 2011-11-03 2014-01-21 Sap Ag Multi-state query migration in data stream management
US20130132108A1 (en) * 2011-11-23 2013-05-23 Nikita Victorovich Solilov Real-time contextual kpi-based autonomous alerting agent
US9424150B2 (en) 2011-12-06 2016-08-23 Sap Se Fault tolerance based query execution
EP2823412A1 (en) 2012-03-08 2015-01-14 Telefonaktiebolaget L M 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
US9239864B2 (en) 2012-04-17 2016-01-19 Cisco Technology, Inc. Distributing and processing streams over one or more networks
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
US9825841B2 (en) 2012-06-29 2017-11-21 Telefonaktiebolaget Lm Ericsson (Publ) Method of and network server for detecting data patterns in an input data stream
US20140019194A1 (en) * 2012-07-12 2014-01-16 Bank Of America Predictive Key Risk Indicator Identification Process Using Quantitative Methods
US9009213B2 (en) 2012-08-27 2015-04-14 Sap Se Distributing pre-rendering processing tasks
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
US9805095B2 (en) 2012-09-28 2017-10-31 Oracle International Corporation State initialization for continuous queries over archived views
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US8892484B2 (en) 2012-09-28 2014-11-18 Sphere Of Influence, Inc. System and method for predicting events
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
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US20140237487A1 (en) 2013-02-15 2014-08-21 University Of Southern California Complex event processing for dynamic data
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
US20140324530A1 (en) 2013-04-30 2014-10-30 Liveops, Inc. Method and system for detecting patters in data streams
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
CN104252469B (zh) 2013-06-27 2017-10-20 国际商业机器公司 用于模式匹配的方法、设备和电路
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9838512B2 (en) 2014-10-30 2017-12-05 Splunk Inc. Protocol-based capture of network data using remote capture agents
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
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9553918B1 (en) * 2014-11-26 2017-01-24 Ensighten, Inc. Stateful and stateless cookie operations servers
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338432A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd ストリームデータ処理システムのクエリ処理方法
JP2007328716A (ja) * 2006-06-09 2007-12-20 Hitachi Ltd ストリームデータ処理方法
US20070294217A1 (en) * 2006-06-14 2007-12-20 Nec Laboratories America, Inc. Safety guarantee of continuous join queries over punctuated data streams

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535761B2 (en) 2011-05-13 2017-01-03 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9703836B2 (en) 2012-09-28 2017-07-11 Oracle International Corporation Tactical query to continuous query conversion
US9715529B2 (en) 2012-09-28 2017-07-25 Oracle International Corporation Hybrid execution of continuous and scheduled queries
US11093505B2 (en) 2012-09-28 2021-08-17 Oracle International Corporation Real-time business event analysis and monitoring
US9946756B2 (en) 2012-09-28 2018-04-17 Oracle International Corporation Mechanism to chain continuous queries
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US9990401B2 (en) 2012-09-28 2018-06-05 Oracle International Corporation Processing events for continuous queries on archived relations
US10025825B2 (en) 2012-09-28 2018-07-17 Oracle International Corporation Configurable data windows for archived relations
US10042890B2 (en) 2012-09-28 2018-08-07 Oracle International Corporation Parameterized continuous query templates
US10102250B2 (en) 2012-09-28 2018-10-16 Oracle International Corporation Managing continuous queries with archived relations
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
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
US9972103B2 (en) 2015-07-24 2018-05-15 Oracle International Corporation Visually exploring and analyzing event streams
JP2019535056A (ja) * 2016-09-15 2019-12-05 オラクル・インターナショナル・コーポレイション マイクロバッチストリーミングのための複合イベント処理
JP2019535065A (ja) * 2016-09-15 2019-12-05 オラクル・インターナショナル・コーポレイション 分散イベント処理システムにおけるデータシリアライズ
JP7005600B2 (ja) 2016-09-15 2022-01-21 オラクル・インターナショナル・コーポレイション マイクロバッチストリーミングのための複合イベント処理
JP7009455B2 (ja) 2016-09-15 2022-01-25 オラクル・インターナショナル・コーポレイション 分散イベント処理システムにおけるデータシリアライズ
US11573965B2 (en) 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
US11615088B2 (en) 2016-09-15 2023-03-28 Oracle International Corporation Complex event processing for micro-batch streaming
US11657056B2 (en) 2016-09-15 2023-05-23 Oracle International Corporation Data serialization in a distributed event processing system
US11977549B2 (en) 2016-09-15 2024-05-07 Oracle International Corporation Clustering event processing engines
US11394769B2 (en) 2017-03-17 2022-07-19 Oracle International Corporation Framework for the deployment of event-based applications
US11503107B2 (en) 2017-03-17 2022-11-15 Oracle International Corporation Integrating logic in micro batch based event processing systems

Also Published As

Publication number Publication date
US10657138B2 (en) 2020-05-19
JP6807431B2 (ja) 2021-01-06
JP6826811B2 (ja) 2021-02-10
WO2014052679A2 (en) 2014-04-03
US9990401B2 (en) 2018-06-05
US9256646B2 (en) 2016-02-09
CN104756111B (zh) 2019-05-17
JP2015536001A (ja) 2015-12-17
US10025825B2 (en) 2018-07-17
WO2014052675A2 (en) 2014-04-03
WO2014052677A2 (en) 2014-04-03
CN104756112B (zh) 2020-11-10
US20140095543A1 (en) 2014-04-03
US10042890B2 (en) 2018-08-07
US20180246935A1 (en) 2018-08-30
US11182388B2 (en) 2021-11-23
US20200276864A9 (en) 2020-09-03
US20180297402A1 (en) 2018-10-18
WO2014052679A3 (en) 2014-08-21
CN104756112A (zh) 2015-07-01
US20140095483A1 (en) 2014-04-03
JP6266630B2 (ja) 2018-01-24
US20160140180A1 (en) 2016-05-19
US10489406B2 (en) 2019-11-26
US20180246936A1 (en) 2018-08-30
JP2016500167A (ja) 2016-01-07
US11093505B2 (en) 2021-08-17
US9946756B2 (en) 2018-04-17
US20140095540A1 (en) 2014-04-03
US9852186B2 (en) 2017-12-26
JP2019194868A (ja) 2019-11-07
WO2014052677A3 (en) 2014-08-21
US20140095541A1 (en) 2014-04-03
WO2014052675A3 (en) 2014-09-04
EP2901320A2 (en) 2015-08-05
US10102250B2 (en) 2018-10-16
CN104885077B (zh) 2018-03-02
US20140095533A1 (en) 2014-04-03
US9703836B2 (en) 2017-07-11
US20210311951A1 (en) 2021-10-07
JP6404820B2 (ja) 2018-10-17
EP2901319A2 (en) 2015-08-05
EP2901321A2 (en) 2015-08-05
CN104885077A (zh) 2015-09-02
US20140095537A1 (en) 2014-04-03
US20140095535A1 (en) 2014-04-03
US20160103882A1 (en) 2016-04-14
US10891293B2 (en) 2021-01-12
US11423032B2 (en) 2022-08-23
US9563663B2 (en) 2017-02-07
US9286352B2 (en) 2016-03-15
CN104756111A (zh) 2015-07-01
US20140095473A1 (en) 2014-04-03
US9990402B2 (en) 2018-06-05
US20180186183A1 (en) 2018-07-05
US9715529B2 (en) 2017-07-25
US20140095525A1 (en) 2014-04-03
US20160154855A1 (en) 2016-06-02
US20140095529A1 (en) 2014-04-03
US20140095462A1 (en) 2014-04-03
US9292574B2 (en) 2016-03-22
US20220350808A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
JP6266630B2 (ja) アーカイブされたリレーションを有する連続クエリの管理
US11971894B2 (en) Operator sharing for continuous queries over archived relations
US10740196B2 (en) Event batching, output sequencing, and log based state storage in continuous query processing
US20210263906A1 (en) Recreating an oltp table and reapplying database transactions for real-time analytics
US20140358959A1 (en) Value based windows on relations in continuous data streams

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171107

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: 20171128

R150 Certificate of patent or registration of utility model

Ref document number: 6266630

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250