JP2020140717A - イベント処理のための動的に型付けされたビッグデータによるイベントの充実化 - Google Patents

イベント処理のための動的に型付けされたビッグデータによるイベントの充実化 Download PDF

Info

Publication number
JP2020140717A
JP2020140717A JP2020037911A JP2020037911A JP2020140717A JP 2020140717 A JP2020140717 A JP 2020140717A JP 2020037911 A JP2020037911 A JP 2020037911A JP 2020037911 A JP2020037911 A JP 2020037911A JP 2020140717 A JP2020140717 A JP 2020140717A
Authority
JP
Japan
Prior art keywords
event
data
computer
processor
processing network
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
JP2020037911A
Other languages
English (en)
Other versions
JP6887544B2 (ja
Inventor
デ・カストロ・アルベス,アレクサンダー
De Castro Alves Alexandre
デシュムク,ウンメシュ・アニル
Anil Deshmukh Unmesh
ベデカー,ヨゲシュ
Bedekar Yogesh
ツッカラム,プラブ
Thukkaram Prabhu
マヘンドル,アシシュ
Mahendru Ashish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of JP2020140717A publication Critical patent/JP2020140717A/ja
Application granted granted Critical
Publication of JP6887544B2 publication Critical patent/JP6887544B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

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

Abstract

【課題】イベント処理のための動的に型付けされたビッグデータによるイベントを処理する方法、コンピュータ読取可能媒体及びシステムを提供する。【解決手段】連続イベントプロセッサは、イベントの連続的なストリームを受信し、各イベントを、そのイベントにCEPクエリを適用することによって処理する。CQLプロセッサを使用してデータストアに含まれる文脈データでソースイベントを充実化する方法は、イベント処理ネットワークにおいてデータストアを表わすために、CQLイベント属性からデータストアにおけるデータに関連付けられた情報へのマッピングを特定するためのマッピングコンポーネントを有するイベント処理ネットワークテーブルコンポーネントを作成する。テーブルコンポーネントは、データストアからのイベントに対応するデータの選択、及びデータによるイベントの充実化を含む動作を行なうように、外部関係ソースとして使用される。【選択図】なし

Description

関連出願との相互参照
本願は、2015年6月30日に出願された米国特許出願第14/755,088号(代理人整理番号88325−937627(153500))の優先権および利益を主張し、当該出願は、2014年9月24日に出願された米国仮出願第62/054,732号(代理人整理番号88325−908381(153501US))の優先権利益を主張する。各々の開示全体は、あらゆる目的のためにここに引用により全面的に援用される。
背景
データベースは伝統的に、データの格納と格納されたデータに対する問合せ能力とを必要とするアプリケーションで使用されてきた。既存のデータベースはこのため、格納された有限のデータセットに対してクエリを実行するように最良に備えられている。しかしながら、伝統的なデータベースモデルは、制限されたデータセットとしてではなくデータイベントのストリームとしてデータが受信される、ますます増加する現代のアプリケーションには、あまり適していない。イベントストリームとも呼ばれるデータストリームは、リアルタイムの、場合によっては連続的な、一連のイベントによって特徴付けられる。データまたはイベントストリームはこのため、制限のないデータのセットを表わす。データストリームを生成するソースの例としては、一連のセンサ測定値を送信するように構成されたセンサおよびプローブ(たとえば、無線周波数識別子(radio frequency identifier:RFID)センサ、温度センサ等など)、金融ティッカー、ネットワークステータス更新を送信するネットワーク監視およびトラフィック管理アプリケーション、クリックストリーム分析ツールなどが含まれる。
連続イベント処理(Continuous event processing:CEP)は、イベントストリーム
におけるデータを処理するために有用な技術である。CEPは高度にステートフルである。CEPは、イベントを連続的に受信し、それらのイベント中に何らかのパターンを見つけることを伴う。したがって、CEPにはかなりの量の状態維持が関与している。CEPはこのように多くの状態の維持を伴うため、CEPクエリをイベントストリーム内のデータに適用するプロセスは、常にシングルスレッド化されてきた。コンピュータプログラミングでは、シングルスレッディングとは、一度に1つのコマンドの処理である。
CEPクエリ処理は一般に、イベントストリーム内で特定されたイベントに対するクエリの連続的な実行を伴う。たとえば、CEPクエリ処理は、直近の1時間の平均株価を連続的に観察するために使用されるかもしれない。そのような状況下では、CEPクエリ処理は、さまざまな時点での現在株価を各々示したイベントを含んだイベントストリームに対して行なわれ得る。クエリは、最近の1時間の株価を集約し、次にそれらの株価の平均を計算することができる。クエリは、計算された各平均を出力できる。価格の1時間の長さのウィンドウが動くにつれて、クエリを連続的に実行することができ、クエリは、さまざまな異なる平均株価を出力できる。
連続イベントプロセッサは、イベントの連続的なストリームを受信し、そこに含まれる各イベントを、そのイベントにCEPクエリを適用することによって処理することができる。そのようなCEPクエリは、構造化クエリ言語(structured query language:SQ
L)を拡張したものである連続クエリ言語(continuous query language:CQL)など
のCEPクエリ言語の構文に適合するようにフォーマットされてもよい。SQLクエリは、リレーショナルデータベースのテーブルにすでに格納されたデータに(ユーザ要求ごとに)1回適用されることが多く、一方、CQLクエリは、入来イベントストリームにおけるイベントが連続イベントプロセッサによって受信される際に、それらのイベントに繰り返し適用される。このため、CEPが効果的に行なわれることを可能にするシステムへの要望が明らかに存在する。
簡単な概要
ここに記載される実施形態は、データベースおよび連続イベント処理に関する。いくつかの実施形態によれば、CQLクエリの処理は、異なる処理ノード間にわたって分散され得る。イベント処理メカニズムが、複数の別個の仮想マシン間にわたって分散され得る。記載される実施形態は、リアルタイムの連続データクエリのためのCEPを効果的に可能にするシステムを提供する。
いくつかの実施形態によれば、HBaseデータベースストアが、連続クエリ言語プロセッサ(CQLプロセッサ)のためのデータソースとして使用される。この使用は、RDBMSテーブルに存在するデータによるイベントの充実化方法と同様に、このストアに存在するデータによってイベントが充実化されることを可能にする。いくつかの実施形態によれば、HBaseデータベースストアは、テーブルシンク機能と同様のデータシンクとして使用される。
以下の明細書、請求項、および添付図面を参照すれば、前述の事項は、他の特徴および実施形態とともに、より明らかになるであろう。
いくつかの実施形態に従った、HBaseデータストアにおけるテーブルの一例を示す図である。 いくつかの実施形態に従った、単純なイベント処理ネットワークの一例を示すブロック図である。 いくつかの実施形態に従った、ブロードキャストイベント処理ネットワークの一例を示すブロック図である。 いくつかの実施形態に従った、ロードバランシングイベント処理ネットワークの一例を示すブロック図である。 いくつかの実施形態に従った、ロードバランシングイベント処理ネットワークの次の状態の一例を示すブロック図である。 いくつかの実施形態に従った、1つのチャネルが2つのコンシューマを有するブロードキャストイベント処理ネットワークの一例を示すブロック図である。 この発明の一実施形態に従った、複数のリソースサーバからサービスを要求するために使用可能な単一トークンを生成するための手法の一例を示すフロー図である。 いくつかの実施形態に従った、パーティショニングされたイベント処理ネットワークの一例を示すブロック図である。 いくつかの実施形態に従った、パーティショニングされたイベント処理ネットワークの別の例を示すブロック図である。 いくつかの実施形態に従った、ファン・イン(fan-in)イベント処理ネットワークの一例を示すブロック図である。 いくつかの実施形態に従った、線グラフの一例を示す図である。 いくつかの実施形態に従った、散布図の一例を示す図である。 いくつかの実施形態に従った、平滑化された曲線適合線が引かれた散布図の一例を示す図である。 いくつかの実施形態に従った、点のサイズが異なっている散布図の一例を示す図である。 いくつかの実施形態に従った、レーダー図の一例を示す図である。 実施形態のうちの1つを実現するための分散型システムの簡略図である。 この開示の一実施形態に従った、実施形態システムのコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境のコンポーネントの簡略ブロック図である。 この発明のさまざまな実施形態が実現され得るコンピュータシステムの一例を示す図である。 いくつかの実施形態に従った、散布図上に重ね合わされたクラスタ表現形状の一例を示す図である。
詳細な説明
以下の記載では、説明の目的のため、特定の詳細が、この発明の実施形態の完全な理解を提供するために述べられる。しかしながら、これらの特定の詳細がなくてもこの発明は実践され得るということは、明らかであろう。
イベント処理アプリケーションのための処理は分散され得る。オラクル・イベント・プロセッシング(Oracle Event Processing)製品は、イベントプロセッサ(連続クエリ言
語プロセッサ)の一例である。いくつかの実施形態によれば、CQLクエリの処理は、異なる処理ノード間にわたって分散され得る。そのような処理ノードは各々、たとえば、別個のマシンまたはコンピューティング装置であってもよい。CQLクエリの処理を異なる処理ノード間にわたって分散させる場合、イベントを順序付けるセマンティクス(semantics)が、何らかの態様で定義される。
イベントを順序付けるためのある初歩的なアプローチは、イベントストリームにおけるイベント間で先入先出(first in, first out:FIFO)順序付けを維持しようとする
ものである。しかしながら、イベントストリーミングシステムの中には、複数のイベントパブリッシャと複数のイベントコンシューマとを伴い得るものもある。システムにおける各マシンは、それ自体のクロックを有し得る。そのような状況下では、任意の単一のマシンによって生成されたイベントタイムスタンプは、システム全体にわたって決定的ではないかもしれない。
複数のイベントコンシューマを伴うシステム内では、各コンシューマは、別個の一組の要件を有するかもしれない。各コンシューマは、CQLクエリを連続的に実行するイベントプロセッサであり得る。そのようなCQLクエリは各々、イベント順序付けに関して別個の要件を有し得る。
いくつかの実施形態によれば、分散フローが定義される。各分散フローは、イベントプロデューサとイベントコンシューマとの間でイベントを分散させる特定の方法である。ある種類の分散フローは、一組のイベントコンシューマ間でイベントをロードバランス化することができる。たとえば、イベントプロデューサが第1のイベントを生成すると、ロードバランシング分散フローは、その第1のイベントが第1のイベントコンシューマにルーティングされるようにすることができる。次に、イベントプロデューサが第2のイベントを生成すると、ロードバランシング分散フローは、その第2のイベントが第2のイベントコンシューマにルーティングされるようにすることができる。
他の種類の分散フローは、パーティション分散フロー、ファン・イン分散フロー、ブロ
ードキャストフローなどを含む。使用されている分散フローのタイプに依存して、および、イベントを受信しているイベントコンシューマの要件にも依存して、異なるイベント順序付け手法が、イベントコンシューマが受信するイベントを順序付けるために使用されてもよい。
マップ−リデュース概要
ここで、多数のコンピューティングマシン(ノード)を使用して莫大なデータセットに関する並列化可能な問題を処理するためのフレームワークである、マップ−リデュース(Map-Reduce)について言及する。ノードは、すべてのノードが同じローカルネットワーク上にあり、同様のハードウェアを使用する場合、クラスタと総称される。これに代えて、ノードは、ノードが地理的にかつ管理的に分散されたシステム間にわたって共有され、より異機種のハードウェアを使用する場合、グリッドと総称される。ファイルシステムで見つかり得るような非構造化データ、またはデータベースで見つかり得るような構造化データに対して、演算処理を行なうことができる。マップ−リデュースはデータの局所性を利用することができ、データが送信される距離を減少させるためにストレージ資産上またはその近くでデータを処理する。
「マップ」ステップでは、マスターノードがタスクを入力として受信し、入力をより小さい部分問題(sub-problem)に分割し、部分問題をワーカーノードに分散させる。所与
のワーカーノードがこの分割および分散を繰り返すことができ、マルチレベルのツリー構造をもたらす。各ワーカーノードは、それに割当てられた部分問題を処理し、処理の結果をそのマスターノードに戻す。
「リデュース」ステップでは、マスターノードは、すべての部分問題の処理の結果を収集する。マスターノードは、何らかの方法で結果を組合せて最終出力を形成する。最終出力は、マスターノードが行なうために元々与えられたタスクの成果である。
マップ−リデュースは、マッピングオペレーションおよびリデュースオペレーションの分散処理を可能にする。各マッピングオペレーションが他のマッピングオペレーションから独立しているならば、すべてのマッピングオペレーションは並列で行なわれ得る。同様に、同じキーを共有するマッピングオペレーションのすべての出力が同じリデューサに同時に提示される場合、または、リデュース関数が結合的である場合、一組のリデューシングノードがリデュースフェイズを行なうことができる。最終結果を生成するために必要な総時間を減少させることに加えて、並列処理は、動作中のサーバまたはストレージの部分故障から回復する何らかの可能性も提供する。1つのマッピングノードまたはリデューシングノードが故障した場合、入力データが依然として利用可能であれば、作業のスケジュールを変更することができる。
マップ−リデュースは、5ステップの並列で分散された演算として概念化され得る。第1のステップでは、マップ入力が準備される。マップ−リデュースシステムは、マッププロセッサを指定し、各マッププロセッサが作業できる第1の入力キー値を割当て、その第1の入力キー値に関連付けられた入力データのすべてを各マッププロセッサに提供する。
第2のステップでは、マッピングノードが、ユーザから提供されたマップコードを実行する。マッピングノードは、第1のキー値の各々ごとに1回、マップコードを実行する。マップコードの実行は、第2のキー値によって編成された出力を生成する。
第3のステップでは、第2のステップからの出力がリデューシングノードにシャッフルされる。マップ−リデュースシステムは、リデューシングプロセッサを指定する。マップ−リデュースシステムは、各リデューシングプロセッサに、そのプロセッサが作業すべき
第2のキー値を割当てる。マップ−リデュースシステムは、各リデューシングプロセッサに、そのリデューシングプロセッサの割当てられた第2のキー値にも関連付けられた、第2のステップ中に生成されたデータのすべてを提供する。
第4のステップで、リデューシングノードは、ユーザから提供されたリデュースコードを実行する。リデューシングノードは、第2のステップ中に生成された第2のキー値の各々ごとに1回、リデューシングコードを実行する。
第5のステップで、最終出力が生成される。マップ−リデュースシステムは、第4のステップによって生成された出力データをすべて収集し、そのデータをそれらの第2のキー値によってソートして、最終出力を生成する。
上述のステップは順に実行されると想像され得るが、実際には、ステップは、最終出力がインターリーブによって影響されない限り、インターリーブされ得る。
分散から恩恵を受けるイベント処理シナリオ
現代では分析されるべきデータの量が非常に増大したため、スケーラブルなイベント処理メカニズムが非常に有用である。この文脈でのスケーラビリティは、イベント処理の実行に関与するスレッドを処理する量だけでなく、イベントを並列で処理できるコンピューティングマシンの量の増加も意味し得る。ここに開示されるのは、JAVA(登録商標)仮想マシン(JAVA virtual machine:JVM)といった複数の仮想マシン間にわたってイベント処理アプリケーションを分散させるための手法である。
多くの異なるイベント処理シナリオが、分散実行によく向いている。これらのシナリオは、ある特性を有する傾向がある。第1に、これらのシナリオは、待ち時間に非常に束縛されるものではなく、たとえばマイクロ秒範囲の待ち時間を伴ってもよい。第2に、これらのシナリオは、顧客または領域などによって論理的にパーティショニング(partition
)されることができる。第3に、これらのシナリオは、全体の順序付け制約がないように、並列で実行され得る別々の個々のコンポーネントまたはタスクに論理的に分割されることができる。
分散される態様で有用に実行され得るイベント処理シナリオの一例は、単語カウントシナリオである。このシナリオでは、システムは、入来した文を意味のある用語にマッピングし、次に、これらの用語を(用語ごとに)カウントにリデュースする。単語カウントシナリオにおいて行なわれる作業は、マップ−リデュースバッチ処理を使用して行なわれ得るが、ストリーム処理を使用しても行なわれ得る。これは、ストリーム処理を使用して、ツイッター(登録商標)または別のソーシャルメディアフィードから来るものなどの単語のリアルタイムフローがカウントされ得るためである。ソーシャルメディアフィードに対してストリーム処理を使用することは、他の処理アプローチを使用して可能であり得るものよりも迅速な反応を可能にする。
ストリーム処理が、ソーシャルメディアフィードを扱うために、たとえばそれらのフィードにおける単語をカウントするために使用される場合、ストリーム処理メカニズムは、入来する非常に大量の単語にさらされるかもしれない。大量の情報を扱うために、情報の処理を分散させることができる。別々のコンピューティングマシンが、ツイッターストリームなどの異なるソーシャルメディアストリームをサブスクライブする(subscribe)こ
とができる。これらのマシンは、ストリーム内の単語をカウントしてストリームを並列に処理し、次に、結果として生じるカウントを結合して、完全な結果を生成することができる。
分散される態様で有用に実行され得るイベント処理シナリオの別の例は、行列乗算シナリオである。インターネットサーチエンジンによって使用されるページランキングアルゴリズムが、ウェブページの重要性を単一の数字として要約することができる。そのようなアルゴリズムは、一連のカスケード状の大きい行列乗算オペレーションとして実現され得る。
行列乗算は高度に並列化され得るため、マップ−リデュースは、行列乗算に関するオペレーションを行なうのに有益となり得る。行列乗算オペレーションは、自然結合として概念化可能であり、グループ化および集約が後に続く。
分散される態様で有用に実行され得るイベント処理シナリオの別の例は、用語頻度−逆文書頻度(term frequency-inverted document frequency:TF−IDF)シナリオである。TF−IDFは、用語の重要性を判断するためにサーチエンジンによってしばしば採用されるアルゴリズムである。用語は、それが他の文書で頻繁に見られる場合、期待に反してそれほど重要ではなく、よって、アルゴリズムの「逆文書頻度」局面である。
上述の単語カウントシナリオと同様に、ストリーム処理を使用してTF−IDF処理をリアルタイムで行なうことができる値がある。単語カウントシナリオとは異なり、TF−IDF値の計算は、「逆文書頻度」計算のために履歴文書にアクセスすることを伴う。履歴文書の関与は、TF−IDFシナリオを、Hadoop、および/またはHBaseのような何らかの索引付け層で使用するためにふさわしい候補にする。HadoopおよびHBase、ならびにイベントストリーム処理におけるそれらの使用も、ここに説明される。
分散される態様で有用に実行され得るイベント処理シナリオの別の例は、スマートメータエネルギー消費シナリオである。今日の家庭にとって、それらの敷地に位置するスマートメータの使用を通してそれらのエネルギー消費を収集することは、一般的である。典型的には、これらのスマートメータは、イベントの形をしたエネルギー消費センサデータを一日中周期的に(たとえば、毎分)出力する。このセンサデータは、地域の処理センターにおける下流管理システムによって取り込まれる。センターは、取り込んだデータを使用して、家または近所の平均エネルギー消費といった有用な記述的統計を計算する。これらの統計は、平均エネルギー消費が地域の履歴データにどのように関係するかを明らかにすることができる。これらの実行される集約は、パーティショニングされるのによく適している。したがって、このシナリオには、分散型パーティションフローが有益に適用可能である。
そのような情報に対してイベント処理を行なって、エネルギー消費の典型的な範囲よりも上または下にある家庭、といった外れ値を識別することができる。そのような情報に対してイベント処理を行なって、今後の消費を予測しようとすることができる。識別された外れ値および予測された今後の消費は、エネルギープロバイダにより、差別化された価格設定のために、販売促進のために、および、それらのパートナーとのエネルギーの売買プロセスをより効果的に制御するために、使用され得る。
上に具体的に列挙されていないさまざまな他のシナリオが、分散された態様での処理のために適合され得る。たとえば、デリバティブの価格が変わるにつれて金融ポートフォリオの公開のリアルタイム計算を伴うリスク分析が、分散型イベントストリーム処理を使用して行なわれてもよい。
フローを作成するためにイベントストリームを分散させる方法
並列イベント処理を容易にするために複数のイベント処理ノード間にわたってイベント
ストリーム(たとえば、ある特定のデータソースから生じるストリーム)を分散させるためのいくつかの異なる手法を、ここに開示する。各手法は、異なる種類のフローを作成する。これらの手法のうちのいくつかを、以下に要約する。
パーティションフローは、ストリームにおけるイベントの1つ以上の特性をパーティショニング基準として使用して、処理スレッドまたは仮想マシン(たとえばJVM)といったいくつかの別々のコンピューティングリソース間にわたってイベントストリームをパーティショニングすることを伴う。パーティションフローのクラスタ化バージョンが、ここに開示される。また、単一ノード構成であるイベント処理ネットワークのスレッド間にわたってストリームされたイベントをパーティショニングすることも、ここに開示される。
ファン・イン・フローは、以前に分散された複数のイベントフローを集めて、単一のコンピューティングリソースに戻すことを伴う。ファン・イン・フローは、たとえば、グローバルな集約が関わる状況下といった、何らかの状態が同一場所に設置されるべき場合に使用されてもよい。
ロードバランスフローは、全体的な負荷が一組の消費リスナにわたってバランスのとれた態様で共有されるように、ストリームのイベントをこの一組に分散させることを伴う。処理のための新しいイベントを受信するために、現在作業負荷がより多いイベント処理ノードよりも、現在作業負荷がより少ないイベント処理ノードが選択され得る。これは、あるイベント処理ノードが過負荷をかけられ、一方、他のイベント処理ノードが十分に利用されないままとなることを防止する。
ブロードキャストフローは、ストリームのすべてのイベントをすべての消費リスナにブロードキャストすることを伴う。この場合、イベント処理ノードといったすべてのリスナは、すべてのイベントのコピーを受信する。
クラスタ化ドメイン生成
上述のさまざまな種類のフローに対応する分散型イベント処理ネットワークをサポートするために、いくつかの実施形態は、クラスタ化ドメインの生成を伴う。いくつかの実施形態では、構成ウィザードまたは他のツールが、分散されたフローのサポートするために構成されたドメインの生成を通して、ユーザを誘導する。
リソース拡張性(elasticity)
クラウドコンピューティング環境では、コンピューティングリソースは、需要が増加または減少するにつれて、動的に増大または縮小し得る。いくつかの実施形態によれば、クラウドコンピューティング環境にデプロイメントされた分散型イベント処理システムは、既存のインフラストラクチャにプラグ接続可能である。このシステムは、分散されたフローを現在実行するコンピューティングリソースの量を動的に増大および縮小させることができる。たとえば、負荷がますます大きくなる場合、ロードバランスフローは、負荷をさらに共有するように、新しいコンピューティングリソースを自動的に生成する。
イベント処理ネットワークとして定義される分散されたフロー
フローに対応するイベント処理ネットワークは、有向非巡回グラフとして表わされ得る。このグラフは、形式上、pair(N,C)として定義可能であり、ここで、Nは一組のノード(頂点)、Cは、ソースノードから宛先ノードへのコネクション(弧)を表わす、Nに対する二項関係である。
たとえば、イベント処理ネットワークは、イベント処理ネットワーク1=({アダプタ1,チャネル1,プロセッサ,チャネル2,アダプタ2},{(アダプタ1,チャネル1
),(チャネル1,プロセッサ),(プロセッサ,チャネル2),(チャネル2,アダプタ2)})として定義可能である。イベントは、プロパティ名およびプロパティ値を表わす任意のpair(PN,PV)の関係Pとして定義される。
別の例について、株式ティッカーを表わすイベントストリームを仮定すると、e1={(価格,10),(量,200),(記号,‘ORCL’)};e2={(p1,v1),(p2,v2),(p3,v3)}という定義が使用できる。イベント処理ネットワークノードは2つ以上のイベントを含み得るため、(他のいくつかの場合とは異なり)、集合Eが、順序付けられた一連のイベントとして定義可能である。
別の例について、{プロセッサ}={e1,e2}という定義が使用できる。イベント処理ネットワークのランタイム状態S=(N,E)は、NからEへの二項関係として提示され得る。関係Sは単射ではない。つまり、同じイベントが2つ以上のノードに存在してもよい。しかしながら、関係Sは全射である。なぜなら、イベント処理ネットワークにおけるイベントの全体集合のうちのすべてのイベントが、少なくとも1つのノードにあるためである。
別の例について、state={(プロセッサ,{e1,e2}),(アダプタ2,{e3
})}という定義が使用できる。これは、イベントフローの論理モデルを提供する。このモデルは、物理コンポーネントで増大され得る。この増大は、イベント処理ネットワークのノードをホストするコンピューティングリソースRを割当てることによって達成され得る。新しいモデルは次に、三項関係S=(N,R,E)になる。ここで、Rは、クラスタのすべてのコンピューティングリソースの集合である。
別の例について、state={(プロセッサ,マシン1,{e1,e2}),(アダプタ
2,マシン1,{e3})}という定義が使用できる。
分散されたフローはしたがって、関数として定義可能である。これらの関数は、入力として、イベント処理ネットワークの静的構造、ランタイムの現在の状態、および、対象としての特定のコンピューティングリソースの特定のノードを取ることができる。関数は、イベントのフローを考慮するランタイム状態の新しい構成を対象からそのコネクションに返すことができる。形式上、これは、次のように定義可能である:
いくつかの関数は、ファン・イン、ロードバランス、パーティションおよびブロードキャストフロー用のパターンをサポートするために定義され、後者の2つは、単一の仮想マシンの場合用に1つ、クラスタ化された仮想マシンの場合用に別の1つ、という2つのバージョンを有する。分散フロー関数は、次の通りである:
これは、以下のように読める。すべてのソースnについて、CおよびS双方で提示する(すなわち、コネクションを有し、イベントを有する)。次に、Cでの各宛先dについて、新しいタプル状態(d,r,e)を生成する。現在の状態Sマイナス古いタプル(n,
r,e)プラス新しいタプル(d,r,e)を戻す。最後のステップにおける除去および追加は、ソースノードから宛先ノードへのイベントの移動を表わす。
この場合、新しい状態S’は、宛先dおよびリソースtのすべての有効な順列のためのタプルからなる。すなわち、すべてのコンピューティングリソースは、構成された各宛先のためのイベントを受信するであろう。
この定義ではスレッディングはモデル化されていないため、ローカルパーティションとローカルブロードキャストとの間に違いはない。しかしながら、実際には、これはあてはまらない。なぜなら、スレッディングはパーティションごとに特徴付けられる(colored
)ためである。
これら最後の3つは構造が同様であり、以下の説明からわかるように、それらのスケジューリング関数に関してのみ異なっている。実際、ファン・インは、単一のキーを有するパーティションの特殊なケースと見なすことができる。
スケジューリング関数
いくつかの実施形態によれば、スケジューリング関数lb-sched、p-sched、およびfi-schedが定義される。これらの関数の実装は、分散の構造を変えない。これらの関数は、リ
ソースのスケジューリングを判断する。これらの関数のデフォルト実装は、以下の通りである:
lb-schedは、従来のラウンドロビンアルゴリズムを利用する。この場合、何らかのクラスタ化状態を維持することができる。
いくつかの実施形態によれば、min-jobsスケジューリングが使用され、min-jobsは、これまで実行されるようスケジューリングされた最小数のジョブを有するリソースを選択する。
いくつかの実施形態によれば、ターゲットサーバがランダムに選択される。大数の法則を考慮すると、この実施形態は、集中型の状態が必要ではないという点を除き、ラウンドロビンと同様である:
いくつかの実施形態では、イベントのこの集合を処理するために必要とされるリソースを有する単一のサーバへの結合が行なわれる。たとえば、イベントがイベントデータネットワーク/JAVAメッセージングサービスに出力されるべき場合、そのようなサーバは、イベントデータネットワーク/JAVAメッセージングサービスサーバおよび宛先構成についての情報を維持することができる。
いくつかの実施形態では、ファン・イン・ターゲットの仕様は、デフォルトで、構成されるべきメンバーの第1のサーバを示すであろう最も低いメンバーIDを有するクラスタメンバーとなるように選択される。
例示的なイベント処理ネットワーク
図2は、いくつかの実施形態に従った、単純なイベント処理ネットワーク200の一例を示すブロック図である。図2では、イベント処理ネットワーク200は、ローカルブロードキャスト(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e1})})={(プロセッサ,マシン1,{e1})}という構文を使用して定義可能である。
以下に説明されるのは、R={マシン1,マシン2,マシン3}である、何らかのクラスタ化された場合である。図3は、いくつかの実施形態に従った、ブロードキャストイベント処理ネットワーク300の一例を示すブロック図である。図3では、イベント処理ネットワーク300は、クラスタ化ブロードキャスト(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e1})})={(プロセッサ,マシン1,{e1}),(プロセッサ,マシン2,{e1}),(プロセッサ,マシン3,{e1})}という構文を使用して定義可能である。この場合、同じイベントe1が、コンピューティングリソースであるマシン1、マシン2、およびマシン3のすべてに分散される。
図4は、いくつかの実施形態に従った、ロードバランシングイベント処理ネットワーク400の一例を示すブロック図である。図4では、イベント処理ネットワーク400は、ロードバランス(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e1})})={(プロセッサ,マシン2,{e1})}という構文を使用して定義可能である。ロードバランシングの場合、{e1}でジョブを実行すると、マシン2の状態が変更される。
図5は、いくつかの実施形態に従った、ロードバランシングイベント処理ネットワーク500の次の状態の一例を示すブロック図である。図5は、マシン2へのe1の送信に続
く図4のロードバランシングイベント処理ネットワークの状態を示す。図5では、イベント処理ネットワーク500は、ロードバランス(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e2,e3})})={(プロセッサ,マシン3,{e2,e3})}という構文を使用して定義可能である。この場合、e2およびe3双方が同じマシンに送信される。これは、それらが双方ともソースノードに同時に存在するためであり、したがって、それらを一緒に保つことは理にかなっている。
いくつかのイベント処理ネットワークでは、イベント処理ネットワーク2=({アダプタ1,チャネル1,プロセッサ1,プロセッサ2,チャネル2,チャネル3,アダプタ2,アダプタ3},{(アダプタ1,チャネル1),(チャネル1,プロセッサ1),(プロセッサ1,チャネル2),(チャネル2,アダプタ2),(チャネル1,プロセッサ2),(プロセッサ2,チャネル3),(チャネル3,アダプタ3)})のように、単一のチャネルが2つのコンシューマを有し得る。そのような状況下でのクラスタ化ブロードキャストの場合、すべてのマシンにおけるすべてのプロセッサがイベントを受信する。
図6は、いくつかの実施形態に従った、1つのチャネルが2つのコンシューマを有するブロードキャストイベント処理ネットワーク600の一例を示すブロック図である。図6では、イベント処理ネットワーク600は、クラスタ化ブロードキャスト(チャネル1,マシン1,イベント処理ネットワーク2,{(チャネル1,マシン1,{e1})})={(プロセッサ1,マシン1,{e1}),(プロセッサ2,マシン1,{e1}),(プロセッサ1,マシン2,{e1}),(プロセッサ2,マシン1,{e1}),(プロセッサ1,マシン3,{e1}),(プロセッサ2,マシン3,{e1})}という構文を使用して定義可能である。マシン(たとえば、マシン1)内では、イベント(たとえば、e1)の、その消費リスナ(たとえば、プロセッサ1、プロセッサ2)への送出は、順序付け要件に依存して、同期的に(すなわち、同じスレッド)または非同期的に(すなわち、異なるスレッド)起こり得る。
図7は、いくつかの実施形態に従った、1つのチャネルが2つのコンシューマを有するロードバランシングイベント処理ネットワーク700の一例を示すブロック図である。この場合、複数のリスナがある。図7では、イベント処理ネットワーク700は、ロードバランス(チャネル1,マシン1,イベント処理ネットワーク2,{(チャネル1,マシン1,{e1})})={(プロセッサ1,マシン1,{e1}),(プロセッサ2,マシン1,{e1})}という構文を使用して定義可能である。この場合、イベントは、単一のメンバーのすべてのリスナに送信される。言い換えれば、到着する次のイベントのみが、異なるサーバまたはマシンにロードバランス化されるであろう。
パーティションシナリオおよびファン・イン・シナリオは、単純なイベント処理ネットワークを再度使用して考慮され得る。図8は、いくつかの実施形態に従った、パーティショニングされたイベント処理ネットワーク800の一例を示すブロック図である。図8では、イベント処理ネットワーク800は、パーティション(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e1(p1,1)})}):−{(プロセッサ,マシン1,{e1(p1,1)})}という構文を使用して定義可能である。次に、イベントe2は、イベントe1と同じパーティション上で考慮され得るが、イベントe3は、異なるパーティション上で考慮され得る。これは、パーティション(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e2(p1,1)})}):−{(プロセッサ,マシン1,{e2(p1,1)})};パーティション(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e3(p1,2)})}):−{(プロセッサ,マシン2,{e3(p1,2)})}という構文を使用して定義可能である。
いくつかの実施形態によれば、パーティショニングされたイベント処理ネットワークでは、イベントは、いくつかのマシンにだけではなく、すべてのマシンに到着する。図9は、いくつかの実施形態に従った、パーティショニングされたイベント処理ネットワーク900の一例を示すブロック図である。いくつかの実施形態では、プロセッサは、それにフィードする複数の上流チャネルを有していてもよい。この状況は、複数のイベントを扱うことと同様である。
図10は、いくつかの実施形態に従った、ファン・イン・イベント処理ネットワーク1000の一例を示すブロック図である。図10では、イベント処理ネットワーク1000は、ファン・イン(チャネル1,マシン1,イベント処理ネットワーク1,{(チャネル1,マシン1,{e1})}):−{(プロセッサ,マシン1,{e1})};ファン・イン(チャネル1,マシン2,イベント処理ネットワーク1,{(チャネル1,マシン2,{e2})}):−{(プロセッサ,マシン1,{e2})}という構文を使用して定義可能である。ファン・インの場合、イベントは、一緒に集められてマシン1に戻る。
順序付けおよびクエリ処理セマンティクス
いくつかの実施形態では、イベントは、あるノードから他のすべての宛先ノードへと瞬間的に現われない。そのような実施形態では、全順序はいつでも維持されるわけではない。順序付け要件は、あるシナリオにおいて、分散モデルおよびクエリ処理モデルのセマンティクスを破ることなく、安全に緩和され得る。
考慮すべき次元は2つあり、1つは単一のイベント用のマシン宛先の順序付け、もう1つは宛先に発信される際のイベント自体の順序付けである。各々は、別々に考慮可能である。
宛先順序付けについては、ロードバランシング、パーティションおよびファン・イン・ネットワークでは、単一の宛先(すなわち、∃!t)があるため、宛先順序付けは適用できない。クラスタ化ブロードキャストネットワークでは、一般にブロードキャストの性質により、順序付け保証を仮定する必要はない。
イベント順序付けについては、ロードバランシングネットワークでは、初めにイベントが同じリソースに送信されるという保証がないため、イベントの順序付けを保証する利点はなく、よって、下流クエリ処理は、いくつかの実施形態では、アプリケーション時間順序付けを使用しようとしない。また、いくつかの実施形態では、下流クエリ処理は、すべてのイベントを受信することに依存しておらず、したがってステートレスである。この基準に該当するクエリのタイプは、フィルタリングおよびストリーム結合(1−n個のストリーム関連結合)である。
クラスタ化ブロードキャストネットワークでは、すべてのサーバは、イベントの完全集合、ひいては処理の完全状態を有しており、そのためそのようなネットワークでは、順序は、各サーバ(すなわち宛先)のコンテキストで保たれる。
パーティションネットワークでは、順序付けはパーティション内で、特定の宛先へと保証される。これは、下流クエリ処理がパーティション順序付け制約を同様に利用することを可能にする。いくつかの実施形態では、この順序付けは、図9に関連して上述した場合のうちの1つと同様に、パーティショニングされるべきイベントをフィードしている複数の上流ノードの存在下でも保証される。
ファン・イン・ネットワークでは、初めにイベントがどのように分岐されたかについて、以下のように判断がなされる。イベントがロードバランス化された場合、順序付け保証
はなく、ファン・イン関数も何ら順序を課さない。下記は、イベントがパーティショニングされる場合、一実施形態において起こることの一例である:
入力:{{t4,b},{t3,a},{t2,b},{t1,a}}
パーティションa:{{t3,a},{t1,a}}
パーティションb:{{t4,b},{t2,b}}
スケジュール1:{{t4,b},{t3,a},{t1,a},{t2,b}}
スケジュール2:{{t4,b},{t1,a},{t2,b},{t3,a}}
スケジュール3:{{t4,b},{t3,a},{t2,b},{t1,a}}
上流パーティショニングの場合、ファン・インは、元の入力とは異なる順序でイベントを並べ替えることに終わるかもしれない。これを避けるために、ファン・イン・ネットワークはイベントを、それらが異なるソースから受信されているにもかかわらず順序付ける。
これらの異なるシナリオに対処するために、異なるセマンティクスが異なるシナリオで使用される。順序付け無しのシナリオの場合、イベント間では、それらのタイムスタンプに従った順序付け保証は必要とはされない。
部分パーティション順序付けのシナリオの場合、いくつかの実施形態によれば、ソースおよび宛先ノードペアのコンテキストにおいて、ならびにパーティションのコンテキストにおいて、イベントは、それらのタイムスタンプに従って順序付けられるよう保証される(すなわちa≦b)。言い換えれば、異なる上流のサーバから来るイベントは、順序付けられるよう保証されず、異なるパーティション向けのイベントも同様に、順序付けられるよう保証されない。
全パーティション順序付けシナリオの場合、すべてのソースおよび宛先ノードペアにわたって、ならびにパーティションのコンテキストにおいて、イベントは、それらのタイムスタンプに従って順序付けられるよう保証される(すなわちa≦b)。このモードをサポートできるようにするために、タイムスタンプの単一のビューを、クラスタ中に課すことができる。この場合については、アプリケーションタイムスタンプを使用することができる。
部分順序付けシナリオの場合、いくつかの実施形態では、ソースおよび宛先ノードペアのコンテキストにおいて、イベントは、それらのタイムスタンプに従って順序付けられるよう保証される(すなわちa≦b)。
全順序付けの場合、いくつかの実施形態では、すべてのソースおよび宛先ノードペアにわたって、イベントは、それらのタイムスタンプに従って順序付けられるよう保証される(すなわちa≦b)。
これらの制約は、最小制約から最大制約について提示された。これらの異なる制約をサポートするために、いくつかの実施形態では、以下の追加構成が使用される。アプリケーションタイムスタンププロパティは、全順序基準に使用されるべきイベントプロパティである。タイムアウトプロパティは、進む前に上流イベントを待つための時間を示す。ばらばらの順序のポリシーは、イベントがばらばらの順序で到着した場合、それらのイベントを廃棄すべきか、故障として発生させるべきか、または配信不能キューに送信すべきかを示す。
いくつかの実施形態では、各分散フローは、異なる一組の順序付け制約を用いて使用可能である。ロードバランス化されたネットワークでは、制約は順序付けられなくてもよい。ブロードキャストネットワークでは、入力ストリームのすべてのイベントは、それらが
ブロードキャストチャネル上で受信されたのと同じ順序で、ネットワークのすべてのノードに伝搬され得る。各ノードは完全状態を維持することができ、したがって、ブロードキャストチャネルをリスニングしているあらゆるノードは、任意のタイムスタンプでの状態と全く同じ状態を有する。このため、これらのノードの各々の下流側のリスナは、出力イベントを全順序で受信でき、制約は、ローカルブロードキャストで全順序付けられ得る。クラスタ化ブロードキャストについては、ネットワークを介したイベント配信は、イベントの順序付け無しを引き起こすかもしれないが、定義により、配信は、順序付けられた配信の要件をネットワークが満たせるように、全順序付けられるべきである。パーティショニングされたネットワークでは、各ノードは、部分的な状態を維持し、イベントの部分集合を受信することができる。サブストリームの受信されたイベントは、入力ストリームにおいて観察されたのと同じ順序である。このため、パーティション間にわたって(各ノード上に1つのパーティション)、入力ストリームは順序付けられ、制約は、パーティショニングされたネットワークでパーティション順序付けがなされ得る。クラスタ化パーティションでは、ネットワークを介したイベント配信は、イベントの順序付け無しを引き起こすかもしれないが、ここでも定義により、配信は、順序付けられた配信の要件をネットワークが満たせるように、全順序付けられるべきである。ファン・イン・ネットワークでは、制約は、順序付けられないかもしれず、部分順序付けられるかもしれず、または全順序付けられるかもしれない。
また、宛先ノードがCQLプロセッサであり、そのクエリが知られている場合、分散順序付け制約は、それらのクエリから推論され得る。たとえば、すべてのクエリがパーティション順序付けとして構成される場合、分散フローも、少なくとも、部分パーティション順序付けに設定され得る。
デプロイメント計画
いくつかの実施形態では、コンピューティングリソースは、ノード間にわたって共有される。リソースのよりよい共有を可能にするために、ノードが、「メモリ>1M」または「スレッド>3」といった一組の制約要件で注釈付けされてもよく、逆に、コンピューティングリソースが、「メモリ=10M」または「スレッドプール=10」といった一組の能力で注釈付けされてもよい。
たとえば、要件は、{プロセッサ1}={スレッド>3}という要件として示され得る。能力は、{マシン1}={最大スレッドプール=10,cpu=8}という能力として示され得る。
ノードへのリソースのスケジューリング中、システムは、要件を能力と一致させるよう試み、そうすることにより、能力がノードに割り当てられている際に能力の現在値を動的に増減させる。たとえば、スケジュールは、スケジュール−1:{プロセッサ1}={スレッド>3,コンピューティングリソース=マシン1};スケジュール−1:{マシン1}={最大スレッドプール=10,現在のスレッドプール=7}として示され得る。
加えて、たとえば、アプリケーションの負荷の増加に対処するために新しいコンピューティングリソースをクラスタに追加することによって、クラスタ自体の総能力が変化し得る。これは、コンピューティング拡張性として知られている。たとえば、t=0では{クラスタ}={マシン1,マシン2}であるが、t=1では{クラスタ}={マシン1,マシン2,マシン3}である。システムは、リソースのこれらの動的変化に対処する。
システムのオペレータが特定のコンピューティングリソースへのノードの手動割当てを行ないたい場合があり得る。これは、「コンピューティングリソース」を要件自体と考えることによってサポート可能である。たとえば、要件:{プロセッサ1}={スレッド>
3,コンピューティングリソース=マシン1}である。デプロイメント要件のこの仕様はデプロイメント計画として知られており、アプリケーションメタデータ内に含まれ得る。
クラスタメンバー構成およびドメイン構成
Hadoopでは、マップ−リデュースシステムの初めのマッピング関数は、分散されたタスクに複製され、並列に実行され、各々別個の入力データを読出し、または最も一般的には、各々入力データのチャンクを読出す。ストリーム処理は同様である。上流ノード(すなわち、インバウンドアダプタ)は各々、異なるストリームに、またはストリームの異なるパーティションにサブスクライブする。これは、分散型イベント処理ネットワークが、いくつかの実施形態では、インバウンドアダプタが並列で作動することを可能にする、ということを意味する。二次ノードに存在するインバウンドアダプタを中断状態に保つ必要はない。
いくつかの実施形態では、各インバウンドアダプタは、異なるストリームに、またはストリームの異なるパーティションにサブスクライブすることができる。これは、イベント処理でクラスタ化メンバー機能を使用することによって行なうことができ、その場合、メンバーは、それが一次メンバーであるか否かを見出すことができ、クラスタにおける一意的なIDに関連付けられて、したがってこのIDをストリームまたはストリームパーティション構成へのキーとして使用することができる。
二次メンバーは、どのイベントにもサブスクライブしないことも選択してもよく、その場合、システムの入力局面は並列に実行されない。
コスト複雑性およびバッチ処理
分散型システムにおける通信コストは、データ自体を処理するコストをたやすく上回り得る。実際、リデューサが多すぎて通信コストが増加する場合と、リデューサが少なすぎて、キーに関連付けられる要素が多すぎ、ひいてはリデューサごとのメモリが十分でない場合との間に、最良のトレードオフを見つけようとすることは、Hadoopにおける共通問題である。
このコストおよびそれに対処するためのメカニズムについての理解を容易にするために、以下が提供される。待ち時間メトリックが、イベントの、その通信待ち時間による総待ち時間の比率として計算される。これは、イベントの何らかのサンプリングされたレートについて行なわれ、ランタイムに動的にオンオフされ得る。いくつかの実施形態では、バッチ処理APIを使用して一緒に送信されたイベントは実際に、全体分散を通して一緒にバッチ処理される、という保証がある。
挙動的視点
いくつかの実施形態では、キャッシュコヒーレンスは、メッセージングおよびパーティショニング双方に使用され得る。協働するセマンティクスはフローごとに変わり、特定のキャッシュスキーム、キャッシュキー、およびフィルタリングの組合せで実現され得る。送信側(ソース)はキャッシュにイベントを挿入し(すなわちput())、受信側(ターゲ
ット)はキャッシュからイベントを除去する(すなわち、get/delete)。正しい受信側
が正しい一組のイベントを得ることを保証するために、フィルタリングされたイベントを有するMapListener APIを使用することができる。しかしながら、イベントが別々のアク
ションとして受信され、次に削除されるべきだった場合、それは2つの別々のネットワーク動作を引き起こしたであろう。したがって、いくつかの実施形態では、イベントは、それ自体のメリットによって失効するよう許可される。このように、キャッシュコヒーレンスは、イベントの削除をバッチ処理し、それを適切な時間に行なう。
いくつかの実施形態では、フローのタイプごとに、同じキャッシュサービスが、すべてのアプリケーションのために共有される。たとえば、すべての複製されたフローのための単一のキャッシュサービス、パーティションフローのための別の単一のキャッシュサービス、などがあってもよい。エントリごとにロッキングが行なわれ得るため、あるアプリケーションにおけるあるチャネルによるあるイベントの取り扱いは他のアプリケーションに影響を与えず、これは、単一のサーバにおけるキャッシュの急増を回避する。
ブロードキャストフローの場合、すべてのイベントがすべてのメンバーによって受信されるべきであるため、複製されたキャッシュスキームを使用することができる。キャッシュキーは、メンバーID、アプリケーション名、イベント処理ネットワークステージ名(たとえばチャネル名)、およびイベントタイムスタンプ(アプリケーションベースであれ、システムベースであれ)のハッシュである:
キャッシュ値は、アプリケーションID、イベント処理ネットワークステージID、およびターゲットIDが追加された、元のイベントのラッパーであり、すべてのメンバーを表わすために−1に設定されている。アプリケーションIDおよびステージIDは、元のアプリケーション名およびステージ名のハッシュであり、ユーザ設定文字列(string)である。ラッパーは、イベントタイムスタンプ(アプリケーションプロパティベースではない場合)と、イベント種類(すなわち、挿入、削除、更新、ハートビート)とを含み得る:
いくつかの実施形態では、すべてのクラスタ化されたメンバーは、問題となっているブロードキャストチャネルのためのアプリケーションIDおよびイベント処理ネットワークステージIDに設定されたフィルタに、MapListenerを登録する。これは、送信側の役割
で作用するメンバーがブロードキャストキャッシュにイベントを入れると、受信側の役割で作用するすべてのメンバーがMapListener.entryInserted(MapEvent)上に呼び戻され得
る、ということを意味する。
フローが順序付け無しに設定される場合、MapListenerは非同期的であり、下流処理の
ためにコヒーレンススレッドを使用することができる。フローが順序付けに設定される場合、SynchronousMapListenerが登録可能であり、イベントは、下流処理のために単集合チャネルスレッドに直ちに手渡され得る。ある実施形態では、これは、マップ全体が同期可能であるために行なわれ、よって、各チャネルについての作業がキューに入れられ、スレッドが直ちに返され、他のチャネルがそれらのイベントを受信するようになる。送信側の元のメンバーノードが、MapListenerを通してイベントを受信することができる。
ロードバランス化されたフローの場合、ターゲットコンピューティングリソースは、クラスタにおけるメンバーの総数を見出し、[0,総数]間で乱数を生成することによって選択され得る。言い換えれば、ロードバランシングを達成するために、最近使用されたメンバーを有する何らかのクラスタ化状態を保つのではなく、ランダム化を使用することができる。キーおよび値は、ブロードキャストの場合と同様であり得る。しかしながら、MapListenerは、アプリケーションID、ステージID、およびターゲットIDに設定され
たフィルタに登録可能であり、ターゲットIDの値は、ランダムに選択されたメンバーIDである。言い換えれば、いくつかの実施形態では、ランダムに選択されたターゲットのみがイベントを受信するものとする。いくつかの実施形態によれば、ロードバランス化されたフローは、順序付け無しの場合のみをサポートし、そのため、非同期リスナのみが使用される。
ファン・イン・フローの場合、ターゲットコンピューティングリソースは、何らかの構成メカニズムごとに、ユーザによって直接特定され得る。このユーザ定義のターゲットIDはキャッシュ値ラッパーで設定可能であるが、他の点では、セマンティクスはロードバランスの場合と同様である。ファン・イン・フローは、全順序をサポートする。この場合、同期マップリスナの使用に加えて、チャネルはアプリケーションタイムスタンプを使用するように構成可能であり、受信側では、イベントは、何らかのユーザ構成可能なタイムアウト値まで並べ替え可能である。タイムアウト値は、たとえば数秒の範囲にあってもよく、より少ない待ち時間と順序がばらばらのイベントのより多い可能性との間のトレードオフバランスに基づいていてもよい。
いくつかの実施形態では、最適化は、キャッシュキーが順序付けられたまま保たれることを保証するハッシュを使用する。受信側はその場合、最近から過去のある時点に及ぶある特定のチャネルのためのすべてのエントリを検索するフィルタを使用することができる。この場合、連続クエリマップを使用することができる。このマップは、同じタイムアウト構成を使用して周期的にチェックされ得る。
ファン・イン・フローの場合、パーティショニングキャッシュスキームの固有のパーティショニングサポートを活用することができる。キャッシュデータアフィニティは、アプリケーションID、ステージID、および構成されたパーティションイベントプロパティ(値)、たとえば「記号」というイベントプロパティについての「ORCL」という値、からなる(パーティション)キーに関連するようにセットアップされ得る。これは、KeyAssociationクラスの使用を通して行なわれ得る。キャッシュキーは、(たとえば、タイムスタンプを用いて)同じままであってもよい。しかしながら、いくつかの実施形態では、すべてのキーが、前述したばかりのパーティションキーへの関連を有し、パーティションが同一場所に設置されたままであることを保証する。
最適場所にデータを置くためにキャッシュコヒーレンスが使用される場合、ターゲットメンバーは選択されず、したがって、MapListenerを使用する代わりに、EntryProcessor
が、アプリケーションID、ステージID、およびパーティションイベントプロパティ値に設定されたフィルタを用いて使用される。この場合、ソースノードはEntryProcessorを呼び出し、EntryProcessor実装は、データが存在するメンバーにおいて実行されることを保証され、したがって、ターゲットメンバーへのデータのコピーが、以前に明示的に選択されたものであることを回避する。キャッシュコヒーレンスは、その判断を使用して最適化することができ、クラスタメンバーおよびデータサイズごとにパーティションの正しい数を判断するために、その内部を十分に使用する。
呼び出し可能タスクは、それが扱っているエントリのためのロックを暗黙的に取得する。このこと、およびデータが同一場所に設置されるという事実は、エントリが、(エントリを失効させる代わりに)別のネットワーク動作を引き起こすことなく処理の終わりで削除可能である、ということを意味する。フローが順序付けられないように構成される場合、タスクは、チャネルのマルチスレッドのエグゼキュータにできるだけ早く手渡され得る。フローが順序付けられる場合も、同様にタスクはチャネルに手渡され得るが、単集合チャネルスレッドに手渡され得る。フローがパーティション順序付けである場合、手渡しはパーティションごとに起こり得る。パーティションは、キー関連から判断可能であり、次
に、実行のための正しいスレッドに索引を付けるために使用可能である。言い換えれば、スレッドは、パーティションごとに特徴付けられ得る。
耐故障性に関し、送信側がイベントを発行する際にメンバーがダウンしている場合、および受信側がMapListenerを使用している場合、イベントは、メンバーが再度立ち上がっ
た際に受信されない。これを解決するための1つのアプローチは、MapListenerと連続ク
エリマップとの組合せを使用することである。この場合、イベントは、だらだらするのではなく、それが完全に処理されるやいなや、削除され得る。メンバーがイベントを受信し、そのイベントの処理を終了する前にダウンした場合、イベントは再処理される。つまり、イベントは、それが完全に処理されるまで、キャッシュから削除されない。
パーティショニングされたデータが異なるサーバに移動する場合、パーティションが移動されたかどうかという通知のために、ライブイベントがリスニングされ得る。いくつかの実施形態では、この状況は、新しいウィンドウが経過するまで状態が失われることをユーザに知らせるために、故障として発生する。たとえば、10分のウィンドウの最中では、次のウィンドウでのみ状態は有効であろう。
構造的視点
いくつかの実施形態では、分散フローを通過するすべてのイベントは、シリアル化され得る。構成の点で、チャネルコンポーネントに以下を追加することができる。フロータイプ:ローカルまたはクラスタ化パーティション、ローカルまたはクラスタ化ブロードキャスト、ロードバランス、ファン・イン;順序付け:順序付け無し、部分パーティション順序付け、全パーティション順序付け、部分順序付け、全順序付け;パーティションプロパティ:文字列;アプリケーションタイムスタンプ:long型;全順序タイムアウト:long型。
デプロイメント視点
コヒーレンスキャッシュ構成は、サーバデプロイメント/構成の一部として含まれ得る。これは、異なる分散フローの各々ごとに、異なるキャッシュスキーマのための構成を含み得る。
設計−時間の考慮事項
いくつかの実施形態では、統合開発環境(integrated development environment:IDE)内で、開発者は、パレットから、通常チャネル、ブロードキャストチャネル、パーティションチャネル、またはファン・イン・チャネルという異なる種類のチャネルを選択することができる。パレットにおける異なるチャネル種類は、ユーザへの視覚的合図である。それらは、ユーザが、IDEにおいてアプリケーションを作成する必要なく、ランタイム分散フローを変更することを可能にするように、構成として実装可能である。パーティションチャネルの場合、IDEは、順序付けられた一組のイベントプロパティがパーティション基準として使用されるようにユーザを促すことによって、フォローアップすることができる。この順序付けられた一組のイベントプロパティは、チャネルのイベントタイプで定義されたように存在し得る。同様に、任意の他のチャネル特有構成が、それに応じて構成可能になり得る。
管理、動作、およびセキュリティ
分散されたチャネル種類、およびそれに関連付けられた任意の構成が、イベント処理ネットワーク図におけるチャネルおよびチャネル構成の一部として、管理コンソールにおいて提示されてもよい。管理/監視コンソールはまた、クラスタのコンピューティングリソースの完全なネットワークを視覚化するためのメカニズムを提供することができる。これは、クラスタのデプロイメント図である。
また、1つの局面は、あるコンピューティングリソースにおけるソースノードと別のコンピューティングリソースにおける宛先ノードとの間のランタイムインタラクションまたはマッピングを理解できることを伴う。これは、クラスタの接続図を構成する。この場合、ランタイム接続だけでなく、接続を通過したイベントの数も示される。
別の有用な監視ツールは、特定のイベントのために防護する能力を提供する。たとえば、ユーザは、イベントe1={(p1,1),(p2,2)}がマシン3のプロセッサ2を通過したことを保証できる。いくつかの実施形態では、イベントを待ち構えるためのメカニズムが提供される。
イベントデータに基づくグラフのプロット
いくつかの実施形態は、ストリーミングデータにおける、脅威および機会といった状況のリアルタイム識別を可能にする。そのような状況は、視覚化されたグラフを通して識別され得る。データを視覚化するために使用され得るさまざまなグラフおよびプロットを、以下に説明する。いくつかのそのようなグラフは、監視グラフではなく、むしろ調査グラフである。調査グラフは、異なる状況の試行観察ピンポイント化(try-and-see pin-pointing)を可能にするように構成可能であり得る。
いくつかの実施形態によれば、グラフ化メカニズムは、時系列データを入力として受信する。時系列データとは、時間とともに変わるデータである。時系列データは、線グラフ、散布図、およびレーダーチャートといったタイプのチャートによって表わされ得る。棒グラフおよび円グラフは、カテゴリーデータを表わすために使用可能である。
線グラフは、時系列データを視覚化する1つの方法である。X軸は、時間の動きを表わすために使用可能であり、このため、時間が進む際のデータの自然なスクロールを可能にする。Y軸は、時間が進む際の従属変数、すなわち対象変数の変化を見るために使用可能である。図11は、いくつかの実施形態に従った、線グラフ1100の一例を示す図である。
従属変数は、出力イベントのプロパティのいずれかであり得る。たとえば、従属変数は、株というイベントの「価格」というプロパティ、または、ソースへの概要および条件の適用から生じる「合計(価格)>10」というプロパティであり得る。線グラフは、連続変数にとって好適である。いくつかの実施形態では、線グラフのために、数値であるイベントプロパティの選択が許可される。いくつかの実施形態では、インターバル、DateTime、ブーリアン、文字列、XMLなどのタイプのプロパティは、Y軸で選択されるよう許可されていない。出力イベントの第1の数値プロパティは、最初にY軸として選択され得る。ユーザは、これを任意の他の数値プロパティに変更するよう許可される。
上述のように、X軸は時系列を特定できる。この軸は、HH:MM:SS:ミリ秒フォーマットに変換された出力イベントの到着のシステムタイムスタンプを使用することができ、クエリを評価してライブストリームの表形式の出力テーブルを更新するために公知の摺動基準を使用して摺動することができる。これはおそらく1/10秒〜1/2秒の範囲にあるであろう。いくつかの実施形態では、オプションで、CQLによって指示されるような出力イベントの実際のタイムスタンプまたは要素時間が使用可能である。アプリケーションタイムスタンプされたクエリの場合、タイムスタンプはアプリケーション時間を表わし、それはシステム時間とは著しく異なり得る。たとえば、アプリケーション時間は、実際の1時間ごとに1目盛り動いてもよい。
ストリーミングデータを分析する別の局面は、その変数間の相関を理解することである
。相関は、ペアの変数の共分散(covariance)を示し、−1(強い逆相関)から、0(無相関)、1(強い正相関)に及ぶ。たとえば、自動車の重量は、そのマイル/ガロン(miles per gallon:MPG)に正相関する。しかしながら、自動車の重量とその色との間には相関がない。この相関をサポートするために、いくつかの実施形態は、(異なる色の)第2の線が線グラフにプロットされることを可能にする。この第2の線は第2の変数を表わし、それは、ユーザによって選択された第2のイベントプロパティであり得る。
xとyとのペアの組から構成された各線は、データ系列として知られている。プロットされた2本の線を有することにより、ユーザは、変数が直接線形性を有するか、または間接線形性を有するかを視覚化することができる。加えて、グラフにおいて、変数の相関係数を計算し提示することができる。相関係数は、correlate() CQL関数を使用して計算可
能である。相関係数は色目盛りを使用して提示可能であり、緑は正相関、赤は逆相関であり、灰色は無相関を意味する。
いくつかの実施形態では、(たとえば5〜10の)何らかの便利な最大値までの線(系列)として線グラフにプロットされるべき追加の変数(すなわちイベントプロパティ)を選択するためのメカニズムが、ユーザに提供される。ユーザが出力イベントのプロパティを選択している際、ユーザは、カテゴリープロパティのカウントの結果といった、計算された変数を選択できる。しかしながら、相関はペア状に行なわれ、また重い負担をかける場合があるため、いくつかの実施形態は、一度に2つの変数のみが相関されることを許可する。チャートが3つ以上の変数を有する場合、ユーザは、相関係数を計算するためにどの2つを使用すべきかを通知してもよい。
いくつかの実施形態では、オプションで、相関係数の計算と並んで、結果の確実性を計算することができる。これは、ランダムサンプルが同じ結果をもたらす可能性がどれくらいあるかをユーザに知らせる。
相関は、分散(variance)および共分散に結び付けられる。いくつかの実施形態では、オプションで、グラフの目に見える特徴が、グラフ内に表わされた分布が正規分布であるか否かを示す。
いくつかの実施形態では、上位N個の相関ペア状変数が自動的に判断可能である。
時間次元がそれほど重要ではない場合、データは、散布図における表現を通してより良好に理解され得る。図12は、いくつかの実施形態に従った、散布図1200の一例を示す図である。この場合、ユーザは、異なるイベントプロパティをX軸およびY軸双方に割り当てることができる。しかしながら、いくつかの実施形態では、双方とも数値変数であるように制約される。いくつかの実施形態では、デフォルトで、出力イベント(タイプ)から、数値である最初の2つのプロパティを選択することができる。X軸は説明変数を表わし、Y軸は応答変数を表わす。よって、totalX、またはsumOfY、またはoutcomeZといった、応答または計算されたフィールドを示すプロパティは、Y軸への自動割当てにとってふさわしい候補であり得る。
時系列の場合、新しい値がグラフの右側で入り、古い値が左側で出る。しかしながら、この挙動は散布図に変換されない。なぜなら、新しい点はどこにでも現われ得るためである。よって、いくつかの実施形態では、新しい点は、何らかの視覚的合図を与えられる。たとえば、他の既存の点とは異なり、新しい点は最初に赤または青で描かれ、新しい点が到着するにつれて徐々に消えていくようになっていてもよい。
グラフの最も古い点が自動的に除去され始める前に、一度にさまざまな数の点をグラフに維持することができる。この除去を行なう方法はいくつかある。1つの手法は、点が視
覚化を劣化させない(またはごちゃごちゃさせない)限り、できるだけ多くの点を保つ。別の手法は、データを理解するために必要とされる最小の組のイベントを保つ。
いくつかの実施形態では、何らかの形で点を制限する、または形作る線を、散布図に引くことができる。1つの手法は、Y軸のすべての値より上に最大値を表わす線を引き、Y軸のすべての値より下に最小値を表わす別の線を引く。別の手法は、すべての点を包含する多角形を描く。これは、値がどこに位置するかについての制限された図をユーザに与える。
別の手法は、平滑化された曲線適合線(すなわち部分的に重付けされた回帰(lowess))を引く。図13は、いくつかの実施形態に従った、平滑化された曲線適合線が引かれた散布図1300の一例を示す図である。この手法は、予測オンライン処理のために活用され得る。線グラフの場合と同様に、問題となっている2つの変数の相関係数を提供することができる。平滑化された線および回帰適合は、線形性も示すことができる。
散布図は、点のサイズとして表わされる第3の次元の視覚化のサポートによく向いている。図14は、いくつかの実施形態に従った、点のサイズが異なっている散布図1400の一例を示す図である。この場合、ユーザは、「サイズ」という次元に第3のイベントプロパティを割り当てることができる。メカニズムは、グラフをごちゃごちゃにしない態様でサイズをスケーリングすることができる。
レーダーチャートは、X軸が、24時間周期といった時間周期を表わす円として描かれ、それをレーダーのように見せる点を除き、線グラフと同様である。図15は、いくつかの実施形態に従った、レーダー図1500の一例を示す図である。レーダーチャートは、ある特定の状況が周期的であるかどうかを見つけるのに有用であり、よって、時系列を扱うための有用なツールである。たとえば、そのようなチャートは、株価が典型的に営業日の最初または最後で高いかどうか、もしくは、金曜日に販売された航空券の数が他の曜日より多いかどうかを判断するために使用可能である。
レーダーチャートのための応答変数も、数値であり得る。X軸のための正しい目盛りを見つけることは、レーダーチャートのための考慮事項である。ウィンドウ範囲が定義されている場合、それはレーダーチャートのためのデフォルト周期として使用可能である。他の場合、周期は、ミリ秒から時間単位に変更可能である。線グラフと同様に、追加の線は、チャートにおける異なる応答変数を表わすことができる。
数値変数は、グラフで視覚化され得る唯一の変数ではない。カテゴリー変数も、それらが名目的(たとえば、男性、女性)であれ、順序的(たとえば、高い、中間、低い)であれ、グラフで視覚化され得る。カテゴリー変数は一般に、たとえば、不正行為の数(要因は「不正行為」、「不正行為なし」)、上客と普通の顧客との比率、先週観られた上位5本の映画などといった頻度として分析される。そのような変数は通常、棒グラフおよび円グラフで視覚化される。場合によっては、上位n個のように、頻度の計算に関与する多いCPU/メモリ消費があり得る。このため、いくつかの実施形態では、そのような計算はバックグラウンドで行なわれない。いくつかの実施形態では、以下の動作が行なわれる:
1.棒グラフ(または円グラフ)を選択する
2.文字列タイプのイベントプロパティをX軸に割当てる
3.カウント結果(または任意の他の数値プロパティ)をY軸に割当てる。
カウント結果は、ユーザによって定義された通りに、たとえばウィンドウ範囲を使用して更新可能であり、よって、棒グラフから値を明示的にパージする必要はない。円グラフも選択可能である。カテゴリー間にわたる総量が100%になることを確かめることが、
ユーザに委ねられ得る。
線グラフは、時系列における一般的傾向を探すことを伴うシナリオにとって、および数値変数にとって好適である。散布図は、相関を探すことを伴うシナリオにとって、および数値変数にとって好適である。レーダーチャートは、周期を探すことを伴うシナリオにとって、および数値変数にとって好適である。棒グラフは、頻度をカウントすることを伴うシナリオにとって、およびカテゴリー変数にとって好適である。
あるタイプのグラフはある特定のタイプのデータ(たとえば、カテゴリーデータまたは数値データ)および分析により良好に適し得るため、それらは同様に、異なるようにサイズ決めされ更新され得る。時系列に焦点を合わせた線グラフは、最近のt回のイベントを含んでおり、システム(CPU)の時間の動きとともに動く(更新する)ことができる。言い換えれば、イベントが到着しなくても、グラフは依然として更新し、以前にプロットされたイベントを右から左に動かすであろう。デフォルトで、線グラフは、最近の300秒のイベントを含むように構成可能である。しかしながら、ユーザは、パラメータt(たとえば300)を変更するだけでなく、時間粗さをミリ秒から分単位に変更することもできる。時間ウィンドウが定義されている場合、時間ウィンドウのサイズは、線グラフのためのX軸のデフォルトサイズ(目盛り)として使用され得る。
レーダーチャートは線グラフと同様であり、周期間隔も構成することが追加されている。たとえば、構成は、各60秒の周期(期間)で300秒を示すことを表示できる。散布図および棒グラフは時間を対象としていないため、いくつかの実施形態では、イベントが到着したときのみ更新され、時間が進むにつれて必ずしも更新されない。X軸のサイズは、以下のようにパワー分析を使用して判断され得る。散布図は相関を見つけるために使用されていること、および、典型的には、変数間に80%の共分散がある場合、相関は強いと考えられることを考慮すると、信頼度95%(すなわち、有意のパターンを表わすランダムな点が5%ある可能性がある)を使用した場合、以下のようになる:
すなわち、散布図は、少なくとも265個の点を含むべきである。これが、10%の許容誤差を有する75%の相関に緩和された場合、以下のようになる:
双方のオプションが可能である。いくつかの実施形態では、ユーザは、サイズを任意の数にカスタマイズすることができる。
棒グラフは散布図と同様に機能し、いくつかの実施形態では、新しいイベントが到着したときのみ更新される。カテゴリーの数は、プロセスを使用して決定され得る。10〜20の範囲におけるデフォルトが仮定され得る。ユーザは、必要に応じてさらにカスタマイズすることができる。いくつかの実施形態では、上位n個のカテゴリーが選択され得る。いくつかの実施形態では、これはクエリにコード化され得る。
表形式の出力も、散布図と同様の言い方でサイズ決めされ得る。複数の変数を有する点をプロットする場合に生じる1つの問題は、目盛りの問題である。特にこれは、複数の系
列を有する線グラフを使用する場合、非常に明らかである。これは、2つのステップで行なわれ得る:
1.データが平均値により近くなるように、データを中央に置く。これは、外れ値をもたらす;
2.データをその標準偏差で割ることによって比率を正規化する。
式は、以下の通りである:
x’=(x−平均)/標準偏差
平均および標準偏差は、そのストリーミングする性質のため、いくつかの実施形態では連続的に更新される。
教師無し学習のクラスタ化
クラスタ化は、その変数(特徴)がともにより近いイベントをグループ化する。このグループ化により、ユーザは、何らかの未知の関係によって一緒に動くイベントを識別できるようになる。たとえば、株式市場では、デリバティブのクラスタが一緒に上下することは一般的である。たとえば、IBMからの肯定的な収益報告書がある場合、オラクル、マイクロソフト、およびSAPからも肯定的な結果が続く可能性がある。
クラスタ化の1つの魅力は、それが教師無しということである。すなわち、ユーザは、応答変数を識別したり訓練データを提供したりする必要はない。このフレームワークは、ストリーミングデータによく合う。いくつかの実施形態では、以下のアルゴリズムが使用される。
各イベントiがj個の変数(たとえば、価格、体積)を含む場合(xijとして特定される)、および、イベントをk個のクラスタにクラスタ化して、各kクラスタが、クラスタの一部であるすべてのイベントについてのj個の変数の平均のベクトルであるその重心ckjによって定義されるようにすることが目的である場合、処理ウィンドウに挿入される各イベントについて、そのkクラスタを判断することができる:
1.それが第1のイベントである場合、それを最小のkクラスタ(たとえばクラスタ0)に割当てる
2.すべての(新しい)入力イベントiについて、以下のように、k個のクラスタの重心までのその(二乗)距離を計算する
2b.イベントiを、最も小さいdistikを有するクラスタkに割当てる
3.選択されたクラスタkのための重心を再計算する
ストリーミングデータについては、処理ウィンドウを出るイベントを扱う追加の複雑性がある:
1.パージされるクラスタkからのすべての(古い)イベントiについて、そのクラスタの重心を再計算する
重心が変わるにつれて(それは(新しい、および古い)すべてのイベントについて起こる)、既存のイベント(点)が新しいクラスタに再配置される可能性があり、その場合、距離は最小となっている。よって、いくつかの実施形態におけるプロセスは、再割当てがもう起こらなくなるまで、すべての割当てられた点について距離を再計算する。しかしながら、これは困難なステップであり得る。処理ウィンドウが小さく、ペースが速い場合、新しい点の除去および追加は同じ効果を有し、達成可能な最良の局所最適点にゆっくり収束するであろう。この収束は保証されていないため、イベントが到着すると再計算を有効/無効にするオプションが提供され得る。
別の問題は、スケーリングの問題である。距離は、特徴間のユークリッド距離として計算されるので、いくつかの実施形態では、特徴は等しくスケーリングされる。他の場合では、距離計算中、単一の特徴が他の特徴を圧倒するかもしれない。
クラスタ化アルゴリズムは、以下の形のCQL集約関数として表現され得る:
パラメータ最大クラスタは、クラスタの総数(すなわちk)を定義し、クエリが一旦始まると変更されない。後者のシグネチャは、クラスタ割当ての再計算を有効にし、イベントキーのリストをクラスタ割当てに返す。
視覚化に関して、クラスタ化データは、以前に定義された、サポートされたグラフのうちのいずれかの上に重ね合わされ得る。言い換えれば、ユーザが散布図を選択した場合、各点の一部として、その点をk個のクラスタのうちの1つに関連付ける色および/または形状が含まれ得る。図19は、いくつかの実施形態に従った、散布図1900上に重ね合わされたクラスタ表現形状の一例を示す図である。形状は、形状が表わすクラスタに属する点を含む。
HBase
上述のように、TF−IDF値の計算は、「逆文書頻度」計算のために履歴文書にアクセスすることを伴い、TF−IDFストリーム処理シナリオを、HBaseのような索引付け層で使用するためにふさわしい候補にする。HBaseは、リレーショナルデータベース管理システム(relational database management system:RDBMS)の機能性が
要求されない「ビッグデータ」格納にとって好適である。HBaseは、一種の「NOSQL」データベースである。HBaseは、構造化クエリ言語(SQL)を、データにアクセスするための主要手段としてサポートしない。代わりに、HBaseは、データを検索するために、JAVAアプリケーションプログラミングインターフェイス(application programming interface:API)を提供する。
HBaseデータストアにおけるすべての行は、キーを有する。HBaseデータストアにおけるすべての列は、特定の列ファミリーに属する。各列ファミリーは、1つ以上の修飾子からなる。このため、HBaseデータストアからそのデータを検索するために、
行キー、列ファミリー、および列修飾子の組合せが使用される。HBaseデータストアでは、すべてのテーブルは、リレーショナルデータベースにおけるすべてのテーブルが行キーを有する方法と同様に、行キーを有する。
図1は、いくつかの実施形態に従った、HBaseデータストアにおけるテーブル100の一例を示す図である。テーブル100は列102〜110を含む。列102は行キーを格納する。列104は名前を格納する。列106は性別を格納する。列108はデータベースクラスについての等級を格納する。列110はアルゴリズムクラスについての等級を格納する。テーブル100についての列修飾子は、名前、性別、データベース、およびアルゴリズムという列102〜110の名称を表わす。
テーブル100は、2つの列ファミリー112および114を伴う。列ファミリー112は、列104および106を含む。この例では、列ファミリー112は「基本情報」と名付けられる。列ファミリー114は、列108および110を含む。この例では、列ファミリー114は「クラス等級」と名付けられる。
HBase列修飾子の概念は、NoSqlDBにおけるマイナーキーの概念と同様である。たとえば、NoSqlDBでは、記録のためのメジャーキーは、人の名前であってもよい。マイナーキーは、その人のために格納されるであろう異なる情報であってもよい。たとえば、メジャーキーが「/Bob/Smith」の場合、対応するマイナーキーは「birth date」、「city」、および「state」を含んでいてもよい。別の例として、メジャーキーが「/John/Snow」の場合、対応するマイナーキーは同様に「birth date」、「city」、および
「state」を含んでいてもよい。
HBaseデータストアに含まれる情報は、どのクエリ言語も使用しても検索されない。HBaseの背後の目的は、複雑なデータ検索動作を何ら行なうことなく、大量のデータを効率的に格納することである。上述のように、HBaseでは、データはJAVA APIを使用して検索される。以下のコード断片は、データをどのようにHBaseに格納し、検索することができるかという考えを与える:
HBaseは、さまざまなアプリケーションのためのメタデータ情報を格納するために使用されてもよい。たとえば、会社は、さまざまなセールスに関連付けられた顧客情報をHBaseデータベースに格納してもよい。その場合、HBaseデータベースは、HBaseを外部データソースとして使用してCQLクエリの書込みを有効にしたHBaseカートリッジを使用してもよい。
いくつかの実施形態によれば、CQLプロセッサを使用して、ソースイベントは、HBaseデータストアに含まれる文脈データで充実化される。HBaseデータストアは、抽象形態を通して参照される。
いくつかの実施形態によれば、HBaseデータストアを表わすために、イベント処理ネットワーク(イベント処理ネットワーク)コンポーネントが作成される。HBaseデータストアイベント処理ネットワークコンポーネントは、イベント処理ネットワーク<table>コンポーネントに似ており、CQLプロセッサにおいて外部リレーショナルソース
として使用される。HBaseデータストアイベント処理ネットワークコンポーネントは、イベントタイプを使用して型付けされる。HBaseデータベースは、それ自体のメカニズムを通して開始され、アクセス可能である。HBaseデータベースは、オラクル・イベント・プロセッサ(Oracle Event Processor:OEP)などのイベントプロセッサによって直接管理される必要はない。
いくつかの実施形態によれば、HBaseデータストアイベント処理ネットワークコンポーネントは、データカートリッジとして提供される。HBaseデータカートリッジは、イベント処理ネットワークコンポーネントのid、store-location(ドメインの形をした場所:HBaseデータベースサーバのポート)、event-type(CQLプロセッサによって見られるようなストアのためのスキーマ)、table-name(HBaseテーブルの名称)というプロパティを、<store>イベント処理ネットワークコンポーネントに提供する
いくつかの実施形態によれば、このイベント処理ネットワークコンポーネントは、CQLイベント属性からHBase列ファミリー/修飾子へのマッピングを特定するために、関連する<column-mappings>コンポーネントを有する。このコンポーネントは、JAV
Aデータベース接続性(JAVA Database Connectivity:JDBC)カートリッジ構成と同様のHBaseカートリッジ構成ファイルで宣言される。このコンポーネントは、name(マッピングが宣言されている<store>イベント処理ネットワークコンポーネントのid
)、rowkey(HBaseテーブルの行キー)、cql-attribute(CQLクエリで使用され
るCQL列名)、hbase-family(HBase列ファミリー)、およびhbase-qualifer(HBase列修飾子)というプロパティを有する。いくつかの実施形態によれば、CQL列がjava.util.mapである場合、ユーザは「hbase-family」のみを特定する。いくつかの実
施形態によれば、CQL列が基本データ型である場合、ユーザは「hbase-family」および「hbase-qualifier」の双方を特定する。
いくつかの実施形態によれば、<hbase:store>コンポーネントは、以下の例でのよう
に、「table-source」要素を使用してCQLプロセッサにリンクされる:
いくつかの実施形態によれば、この<hbase:store>コンポーネントのための列マッピ
ングは、以下の例でのように、イベントプロセッサ(たとえばOEP)のHBase構成
ファイルで特定される:
いくつかの実施形態によれば、UserEventクラスは、以下のフィールドを有する:
上述の例では、CQL列「address」は、列ファミリー「address」からのすべての列修飾子を保持するため、マップである。CQL列「firstname」、「lastname」、「email」、および「role」は、基本データ型を保持する。これらは、「data」列ファミリーからの特定の列修飾子である。イベントタイプからの「userName」フィールドは行キーであり、よって、それは、HBase列ファミリーまたは修飾子へのマッピングを何ら有していない。
いくつかの実施形態によれば、HBaseスキーマは動的な性質であってもよく、追加の列ファミリーおよび/または列修飾子が、HBaseテーブルが作成された後の任意の時点で追加されてもよい。よって、イベントプロセッサ(たとえばOEP)は、ユーザが、動的に追加された列修飾子をすべて含むマップとしてイベントフィールドを検索することを可能にする。この場合、ユーザは、JAVAイベントタイプにおけるイベントフィー
ルドのうちの1つとしてjava.util.Mapを宣言する。よって、上述の「UserEvent」イベントタイプは、名称「address」を有するjava.util.Mapフィールドを有する。動的に追加された列ファミリーをカートリッジがサポートしない場合、イベント処理アプリケーションが新しく追加された列ファミリーを使用する必要があれば、イベントタイプは修正され得る。
いくつかの実施形態によれば、HBaseデータベースはクラスタとして実行される。そのようなシナリオでは、マスターノードのホスト名は上述の構成で提供される。
いくつかの実施形態によれば、HBaseソースの構成中、イベントタイプリポジトリに存在するイベントタイプの名称が、ユーザから受信される。「column-mappings」がユ
ーザから受信されている場合、ユーザインターフェイスは、その特定のイベントタイプにおける列(フィールド)名をcql-columnとして提供することができる。このため、間違った入力は、ユーザインターフェイスレベルで排除され得る。利用可能なHBase列ファミリーおよびそれらの内部の列修飾子の詳細が、ユーザがそれらから選択するために提供され得る。構文解析ツールの確認が、カートリッジにおいて行なわれる。
顧客セールス例
以下の例は、大口セールスおよび関連付けられた顧客を識別する。セールスデータは入来ストリームにおいて取得され、顧客情報はHBaseデータベースから取得される:
以下の列マッピングが、HBaseカートリッジ構成ファイルで特定される:
上述の例における「User」HBaseテーブルは、以下のスキーマを有する:
行キー:username
列ファミリー:data,address
「data」列ファミリーについての列修飾子:firstname,lastname,email,role
「address」列ファミリーについての列修飾子:country,state,city,street
プロセッサは、入力ストリームをこのテーブルと結合する以下のCQLクエリを実行する:
ここで、「address」列ファミリーは、「com.bea.wlevs.example.UserEvent」クラスにおける「java.util.Map」フィールドとして宣言された。よって、この列ファミリーから
特定の列修飾子の値を検索するために、「user.address.get('<column-qualifer-name>')」が使用される。
OpenTSBD監視システムのためのHase基本
いくつかの実施形態は、行キー、列ファミリー、列修飾子、および複数のバージョンというマップのマップを伴い得る。行は、複数の列ファミリーを含んでいてもよい。しかしながら、各ファミリーは、一緒に扱われる(たとえば、圧縮/解凍される)。列ファミリーは、複数の列修飾子を含んでいてもよい。列修飾子は、動的に追加または除去され得る。各セルは複数のバージョンを有し、デフォルトで、直近のバージョンが検索される。列ファミリーに関連付けられたポリシーが、バージョンがいくつ保たれるか、およびそれらがいつパージされるかを判断する。
いくつかの実施形態は、スキーマレスおよびタイプレスである。APIは、get、put、delete、scan、およびincrementを含み得る。非キーについて問合せることは、リッチフ
ィルタリング言語をサポートする、フィルタリングされたスキャンを使用して行なわれる。
OpenTSBD監視システムのためのスキーマ
いくつかの実施形態は、以下のようなUIDテーブルを伴い得る:
いくつかの実施形態は、以下のようなメトリクステーブルを伴い得る:
OpenTSBD監視システムのためのクエリ
いくつかの実施形態によれば、CQLの観点から、外部関係がHBaseテーブルソー
スにマッピングする。HBaseテーブルソースを構成する際、外部関係のどの属性がHBaseにおけるどの列ファミリーまたは列ファミリー.列修飾子にマッピングするかについての詳細を、ユーザから受信することができる。
いくつかの実施形態によれば、メトリック名からUIDを見つけることができる。CQLクエリは以下のように見え得る:
ここで、「metrics」は、UID_TABLEという名称のHBaseテーブルの「name」列ファミリーにおける「metrics」列修飾子にマッピングする、UID_TABLEという名称の外部関係の属性である。加えて、「rowkey」は、HBaseテーブルの行キーにマッピングする外部関係の別の属性である。
いくつかの実施形態によれば、cpuで始まるメトリック名はすべて、以下のようなクエ
リを使用して見つけることができる:
ここで、整合させるべき正規表現を表わす文字列が特定される。この文字列は、ストリームSの属性であってもよいが、ストリームSの属性でなくてもよい。そのような正規表現ベースの問合せは、HBase APIを使用してサポートされ得る。HBaseでは、行は、包括的開始および排他的終了を特定することによってスキャンされる。
いくつかの実施形態によれば、以下のような同様の手法が使用される:
いくつかの実施形態は、http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/RegexStringComparator.htmlを利用する。
いくつかの実施形態によれば、外部関係のために、述語サポート能力が特定される。所与の述語がサポートされた述語能力リストに該当する場合、それは外部関係に対して実行される。他の場合、データのすべてがメモリに入れられ、次に、CQLエンジンがその述語を適用する。
いくつかの実施形態によれば、ホストによってフィルタリングされるサービス待ち時間メトリックのための措置を見つけることができる。この場合、CQLは以下の通りである:
上述の例では、「rowkey」、「host」、および「measures」は、HBaseテーブルソースにマッピングする外部関係の列であり、key-encodingは、ユーザ定義関数である。
いくつかの実施形態によれば、サービス待ち時間が1000(ミリ秒)を超えるホストの領域を見つけることができる。列修飾子を既存の行に動的に追加することができる。たとえば、ホストがデプロイメントされている領域を含む、新しい列修飾子「region」を追加することができる。属性「host」を確認するためのメタデータが利用できない場合、以下のアプローチを使用することができる。hbase:column-mappingsにおいて、ユーザは以
下を特定することができる:
ここで、「cf1」は列ファミリー名、c1はタイプjava.util.Mapである。ユーザは、c1.get("qualifier-name")として「cf1」における修飾子にアクセスすることができる。し
たがって、CQLクエリは以下のように見え得る:
ここで、「info」は、「region」修飾子が動的に追加される列ファミリーにマッピングする外部関係の属性の名称である。
措置は、複数のバージョンを有していてもよい。いくつかの実施形態によれば、何らかのアプリケーションタイムスタンプが直近のバージョンよりも古い場合、以前のバージョンが取得される。いくつかの実施形態によれば、直近のバージョンが使用される。以下のような、トランザクション指向の使用事例が存在するかもしれない:
言い換えれば、価格は変化したかもしれないが、トランザクションが発信された際に見られたような価格は依然として、そのアプリケーションタイムスタンプを考慮して受取られるであろう。
ハードウェア概要
図16は、実施形態のうちの1つを実現するための分散型システム1600の簡略図を示す。図示された実施形態では、分散型システム1600は1つ以上のクライアントコンピューティング装置1602、1604、1606、および1608を含み、それらは、1つ以上のネットワーク1610を通して、ウェブブラウザ、専用クライアント(たとえば、オラクル・フォームズ(Oracle Forms))などのクライアントアプリケーションを実行し、動作させるように構成される。サーバ1612は、ネットワーク1610を介して、リモートクライアントコンピューティング装置1602、1604、1606、および1608と通信可能に結合されてもよい。
さまざまな実施形態では、サーバ1612は、システムのコンポーネントのうちの1つ以上によって提供される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。いくつかの実施形態では、これらのサービスは、ウェブベースのサービスまたはクラウドサービスとして、もしくはソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)モデルの下で、クライアントコンピューティ
ング装置1602、1604、1606、および/または1608のユーザに提供されてもよい。クライアントコンピューティング装置1602、1604、1606、および/または1608を動作させるユーザは次に、これらのコンポーネントによって提供されるサービスを利用するためにサーバ1612とやりとりするために、1つ以上のクライアントアプリケーションを利用してもよい。
図に示す構成では、システム1600のソフトウェアコンポーネント1618、1620および1622は、サーバ1612上で実現されるとして図示されている。他の実施形態では、システム1600のコンポーネントおよび/またはこれらのコンポーネントによって提供されるサービスのうちの1つ以上も、クライアントコンピューティング装置1602、1604、1606、および/または1608のうちの1つ以上によって実現されてもよい。クライアントコンピューティング装置を動作させるユーザは次に、これらのコンポーネントによって提供されるサービスを使用するために、1つ以上のクライアントアプリケーションを利用してもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実現されてもよい。分散型システム1600とは異なり得るさまざまな異なるシステム構成が可能であることが理解されるべきである。図に示す実施形態はこのため、実施形態システムを実現するための分散型システムの一例であり、限定的であるよう意図されてはいない。
クライアントコンピューティング装置1602、1604、1606、および/または1608は、携帯型ハンドヘルド装置(たとえば、iPhone(登録商標)、携帯電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(PDA))、またはウェアラブル装置(たとえば、グーグル・グラス(Google Glass)(登録商標)頭部装着型ディスプレイ)であってもよく、マイクロソフト・ウィンドウズ・モバイル(Microsoft Windows Mobile)(登録商標)などのソフトウェア、および/または、iOS、ウィンドウズ(登録商標)フォン、アンドロイド(登録商標)、ブラックベリー(登録商標)17、パームOSなどのさまざまなモバイルオペレーティングシステムを実行し、インターネット、電子メール、ショートメッセージサービス(short message service:S
MS)、ブラックベリー(登録商標)、または他の通信プロトコルに対応している。クライアントコンピューティング装置は、マイクロソフト・ウィンドウズ(登録商標)、アップル・マッキントッシュ(登録商標)、および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを例として含む、汎用パーソナルコンピュータであり得る。クライアントコンピューティング装置は、たとえばグーグル・クロームOSなどのさまざまなGNU/Linuxオペレーティングシステムを何ら限定されることなく含む、商業的に入手可能なさまざまなUNIX(登録商標)またはUNIX様オペレーティングシ
ステムのうちのいずれかを実行するワークステーションコンピュータであり得る。それに代えて、またはそれに加えて、クライアントコンピューティング装置1602、1604、1606、および1608は、ネットワーク1610を通して通信可能である、シンクライアントコンピュータ、インターネット対応ゲーミングシステム(たとえば、Kinect(登録商標)ジェスチャー入力装置を有する、または有さない、マイクロソフトXboxゲーミングコンソール)、および/またはパーソナルメッセージング装置といった、任意の他の電子装置であってもよい。
例示的な分散型システム1600は4つのクライアントコンピューティング装置を有して図示されているが、任意の数のクライアントコンピューティング装置がサポートされてもよい。センサを有する装置などの他の装置が、サーバ1612とやりとりしてもよい。
分散型システム1600におけるネットワーク1610は、TCP/IP(transmission control protocol/Internet protocol:伝送制御プロトコル/インターネットプロト
コル)、SNA(systems network architecture:システムネットワークアーキテクチャ)、IPX(Internet packet exchange:インターネットパケット交換)、アップル・トーク(Apple Talk)などを何ら限定されることなく含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。単なる例として、ネットワーク1610は、イーサネット(登録商標)、トークンリング(Token-Ring)などに基づくものといった、ローカルエリアネットワーク(local area network:LAN)であり得る。ネットワーク1610は、ワイドエリアネットワークおよびインターネットであり得る。それは、仮想プライベートネットワーク(virtual private network:VPN)を何ら限定さ
れることなく含む仮想ネットワーク、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネッ
トワーク(たとえば、電気電子技術者協会(the Institute of Electrical and Electronics:IEEE)1602.11プロトコルスイート、Bluetooth(登録商標)、および/または任意の他の無線プロトコルのうちのいずれかの下で動作するネットワーク)、ならびに/もしくは、これらのおよび/または他のネットワークの任意の組合せを含み得る。
サーバ1612は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバなどを例として含む)、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および/または組合せで構成されてもよい。さまざまな実施形態では、サーバ1612は、前述の開示で説明された1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。たとえば、サーバ1612は、この開示の一実施形態に従った上述の処理を行なうためのサーバに対応していてもよい。
サーバ1612は、上述のもののうちのいずれかを含むオペレーティングシステム、および商業的に入手可能な任意のサーバオペレーティングシステムを実行してもよい。サーバ1612はまた、さまざまな追加のサーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかを実行してもよく、HTTP(hypertext transport protocol:ハイパーテキスト伝送プロトコル)サーバ、FTP(file transfer protocol:ファイル転送プロトコル)サーバ、CGI(common gateway interface:コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含む。例示的なデータベースサーバは、オラクル、マイクロソフト、サイベース(Sybase)、IBM(International Business Machines:インターナショナル・ビジネス・マシ
ーンズ)などから商業的に入手可能なものを何ら限定されることなく含む。
いくつかの実現化例では、サーバ1612は、クライアントコンピューティング装置1602、1604、1606、および1608のユーザから受信されたデータフィードおよび/またはイベント更新を分析して統合するための1つ以上のアプリケーションを含んでいてもよい。一例として、データフィードおよび/またはイベント更新は、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などに関連するリアルタイムイベントを含み得る、1つ以上の第三者情報源および連続データストリームから受信されたツイッター(登録商標)フィード、フェースブック(登録商標)更新またはリアルタイム更新を含んでいてもよいが、それらに限定されない。サーバ1612はまた、クライアントコンピューティング装置1602、1604、1606、および1608の1つ以上の表示装置を介してデータフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含んでいてもよい。
分散型システム1600はまた、1つ以上のデータベース1614および1616を含んでいてもよい。データベース1614および1616は、さまざまな位置に存在していてもよい。例として、データベース1614および1616のうちの1つ以上は、サーバ1612に対してローカルな(および/または、サーバ1612内にある)非一時的記憶媒体上に存在していてもよい。それに代えて、データベース1614および1616は、サーバ1612からリモートであってもよく、ネットワークベースの接続または専用接続を介してサーバ1612と通信してもよい。一組の実施形態では、データベース1614および1616は、ストレージエリアネットワーク(storage-area network:SAN)に存在していてもよい。同様に、サーバ1612に帰する機能を行なうための任意の必要なファイルが適宜、サーバ1612上にローカルに格納されてもよく、および/またはリモートに格納されてもよい。一組の実施形態では、データベース1614および1616は、SQLフォーマットのコマンドに応答してデータを格納し、更新し、検索するように適合された、オラクルによって提供されるデータベースなどのリレーショナルデータベースを含んでいてもよい。
図17は、この開示の一実施形態に従った、実施形態システムの1つ以上のコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境1700の1つ以上のコンポーネントの簡略ブロック図である。図示された実施形態では、システム環境1700は、クラウドサービスを提供するクラウドインフラストラクチャシステム1702とやりとりするためにユーザによって使用され得る1つ以上のクライアントコンピューティング装置1704、1706、および1708を含む。クライアントコンピューティング装置は、クラウドインフラストラクチャシステム1702によって提供されるサービスを使用するためにクラウドインフラストラクチャシステム1702とやりとりするためにクライアントコンピューティング装置のユーザによって使用され得る、ウェブブラウザ、専用クライアントアプリケーション(たとえば、オラクル・フォームズ)、または何らかの他のアプリケーションといったクライアントアプリケーションを動作させるように構成されてもよい。
図に示すクラウドインフラストラクチャシステム1702は、図示されたもの以外のコンポーネントを有していてもよい、ということが理解されるべきである。また、図に示す実施形態は、この発明の一実施形態を取入れ得るクラウドインフラストラクチャシステムの単なる一例である。いくつかの他の実施形態では、クラウドインフラストラクチャシステム1702は、図に示すものよりも多い、または少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組合せてもよく、もしくは、異なる構成または配置のコンポーネントを有していてもよい。
クライアントコンピューティング装置1704、1706、および1708は、1602、1604、1606、および1608について上述したものと同様の装置であってもよい。
例示的なシステム環境1700は3つのクライアントコンピューティング装置を有して図示されているが、任意の数のクライアントコンピューティング装置がサポートされてもよい。センサを有する装置などの他の装置が、クラウドインフラストラクチャシステム1702とやりとりしてもよい。
ネットワーク1710は、クライアント1704、1706、および1708とクラウドインフラストラクチャシステム1702との間のデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク1610について上述したものを含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。
クラウドインフラストラクチャシステム1702は、サーバ1612について上述したものを含み得る1つ以上のコンピュータおよび/またはサーバを含んでいてもよい。
ある実施形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスといった、クラウドインフラストラクチャシステムのユーザにとってオンデマンドで利用可能にされる多数のサービスを含んでいてもよい。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザの必要性を満たすために動的にスケール変更され得る。クラウドインフラストラクチャシステムによって提供されるサービスの特定のインスタンス化は、ここに「サービスインスタンス」と呼ばれる。一般に、クラウドサービスプロバイダのシステムから、インターネットなどの通信ネットワークを介してユーザに利用可能とされる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを作り上げるサーバおよびシステムは、顧客自身の業務用サーバおよびシステムとは異なっている。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドでアプリケーションをオーダーし、使用してもよい。
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダーによってユーザに提供されるかまたは当該技術分野において他の態様で公知であるようなストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーション、もしくは他のサービスへの、保護されたコンピュータネットワークアクセスを含んでいてもよい。たとえば、サービスは、インターネットを通した、クラウド上のリモートストレージへの、パスワードで保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク化された開発者による私的使用のための、ウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含み得る。別の例として、サービスは、クラウドベンダーのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含み得る。
ある実施形態では、クラウドインフラストラクチャシステム1702は、セルフサービスで、サブスクリプションベースで、弾力的にスケーラブルで、信頼でき、高可用性で、かつ安全な態様で顧客に配信される、アプリケーション、ミドルウェアおよびデータベー
スサービス提供物一式を含んでいてもよい。そのようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクル・パブリック・クラウド(Oracle
Public Cloud)である。
さまざまな実施形態では、クラウドインフラストラクチャシステム1702は、クラウドインフラストラクチャシステム1702によって提供されるサービスに顧客のサブスクリプションを自動的にプロビジョニングし、管理し、追跡するように適合されてもよい。クラウドインフラストラクチャシステム1702は、異なるデプロイメントモデルを介してクラウドサービスを提供してもよい。たとえば、サービスは、クラウドインフラストラクチャシステム1702がクラウドサービスを販売する組織によって所有され(たとえば、オラクルによって所有され)、サービスが一般大衆または異なる産業企業にとって利用可能とされる、パブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム1702が単一の組織のためにのみ動作され、その組織内の1つ以上のエンティティのためのサービスを提供し得る、プライベートクラウドモデルの下で提供されてもよい。クラウドサービスはまた、クラウドインフラストラクチャシステム1702、およびクラウドインフラストラクチャシステム1702によって提供されるサービスが、関連するコミュニティにおけるいくつかの組織によって共有される、コミュニティクラウドモデルの下で提供されてもよい。クラウドサービスはまた、2つ以上の異なるモデルの組合せであるハイブリッドクラウドモデルの下で提供されてもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム1702によって提供されるサービスは、ソフトウェア・アズ・ア・サービス(SaaS)カテゴリー、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)カテゴリー、
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS
)カテゴリー、または、ハイブリッドサービスを含むサービスの他のカテゴリーの下で提供される、1つ以上のサービスを含んでいてもよい。顧客は、クラウドインフラストラクチャシステム1702によって提供される1つ以上のサービスを、サブスクリプションオーダーを介してオーダーしてもよい。クラウドインフラストラクチャシステム1702は次に、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を行なう。
いくつかの実施形態では、クラウドインフラストラクチャシステム1702によって提供されるサービスは、アプリケーションサービス、プラットフォームサービス、およびインフラストラクチャサービスを、何ら限定されることなく含んでいてもよい。いくつかの例では、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合された開発およびデプロイメントプラットフォーム上にオンデマンドアプリケーション一式を構築し、配信するための能力を提供してもよい。SaaSプラットフォームは、SaaSサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。SaaSプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステム上で実行されるアプリケーションを利用できる。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得できる。さまざまな異なるSaaSサービスが提供されてもよい。例は、大型組織のための販売実績管理、企業統合、およびビジネス柔軟性についてのソリューションを提供するサービスを、何ら限定されることなく含む。
いくつかの実施形態では、プラットフォームサービスは、PaaSプラットフォームを
介して、クラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例は、(オラクルなどの)組織が共有の共通アーキテクチャ上で既存のアプリケーションを統合できるようにするサービスと、プラットフォームによって提供される共有のサービスを活用する新しいアプリケーションを構築するための能力とを、何ら限定されることなく含んでいてもよい。PaaSプラットフォームは、PaaSサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを取得できる。プラットフォームサービスの例は、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクル・データベース・クラウド・サービス(Database Cloud Service:DBCS)などを、何ら限定されることなく含む。
PaaSプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを採用するとともに、デプロイメントされたサービスを制御することができる。いくつかの実施形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえば、オラクル・フュージョン・ミドルウェア(Oracle Fusion Middleware)サービス)、およびJavaクラウドサービスを含んでいてもよい。一実施形態では、データベースクラウドサービスは、組織がデータベースリソースをプールし、データベースクラウドの形をしたデータベース・アズ・ア・サービスを顧客に提供することを可能にする共有のサービスデプロイメントモデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客がさまざまなビジネスアプリケーションを開発してデプロイメントするためのプラットフォームを提供してもよく、Javaクラウドサービスは、顧客がクラウドインフラストラクチャシステムにおいてJavaアプリケーションをデプロイメントするためのプラットフォームを提供してもよい。
クラウドインフラストラクチャシステムにおいて、さまざまな異なるインフラストラクチャサービスが、IaaSプラットフォームによって提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のための、ストレージ、ネットワーク、ならびに他の基礎的コンピューティングリソースなどの基本コンピューティングリソースの管理および制御を容易にする。
ある実施形態では、クラウドインフラストラクチャシステム1702はまた、クラウドインフラストラクチャシステムの顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1730を含んでいてもよい。一実施形態では、インフラストラクチャリソース1730は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージ、およびネットワーキングリソースなどのハードウェアの予め統合され最適化された組合せを含んでいてもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム1702におけるリソースは、複数のユーザによって共有され、要望ごとに動的に再割当てされてもよい。加えて、リソースは、異なる時間帯におけるユーザに割当てられてもよい。たとえば、クラウドインフラストラクチャシステム1730は、第1の時間帯における第1の一組のユーザが、特定数の時間、クラウドインフラストラクチャシステムのリソースを利用することを可能にし、次に、異なる時間帯に位置する別の一組のユーザへの同じリソースの再割当てを可能にして、それによりリソースの利用を最大化してもよい。
ある実施形態では、クラウドインフラストラクチャシステム1702の異なるコンポーネントまたはモジュールによって、およびクラウドインフラストラクチャシステム1702によって提供されるサービスによって共有される、多くの内部共有サービス1732が提供されてもよい。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、企業リポジトリサービス、企業マネージャサービス、ウィルススキャニングおよびホワイトリストサービス、高可用性、バックアップおよび復元サービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを、何ら限定されることなく含んでいてもよい。
ある実施形態では、クラウドインフラストラクチャシステム1702は、クラウドインフラストラクチャシステムにおけるクラウドサービス(たとえば、SaaS、PaaS、およびIaaSサービス)の包括的管理を提供してもよい。一実施形態では、クラウド管理機能性は、クラウドインフラストラクチャシステム1702によって受信された顧客のサブスクリプションをプロビジョニングし、管理し、追跡するための能力などを含んでいてもよい。
一実施形態では、図に示すように、クラウド管理機能性は、オーダー管理モジュール1720、オーダーオーケストレーションモジュール1722、オーダープロビジョニングモジュール1724、オーダー管理および監視モジュール1726、ならびにアイデンティティ管理モジュール1728などの1つ以上のモジュールによって提供されてもよい。これらのモジュールは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および/または組合せであり得る、1つ以上のコンピュータおよび/またはサーバを含んでいてもよく、もしくはそれらを使用して提供されてもよい。
例示的な動作1734では、クライアント装置1704、1706または1708などのクライアント装置を使用する顧客は、クラウドインフラストラクチャシステム1702によって提供される1つ以上のサービスを要求し、クラウドインフラストラクチャシステム1702によって提供される1つ以上のサービスについてサブスクリプションオーダーを出すことにより、クラウドインフラストラクチャシステム1702とやりとりしてもよい。ある実施形態では、顧客は、クラウドユーザインターフェイス(User Interface:UI)であるクラウドUI1712、クラウドUI1714および/またはクラウドUI1716にアクセスし、これらのUIを介してサブスクリプションオーダーを出してもよい。顧客がオーダーを出したことに応答してクラウドインフラストラクチャシステム1702が受信したオーダー情報は、顧客と、顧客が申し込むつもりである、クラウドインフラストラクチャシステム1702によって提供される1つ以上のサービスとを識別する情報を含んでいてもよい。
顧客によってオーダーが出された後で、オーダー情報がクラウドUI1712、1714および/または1716を介して受信される。
動作1736で、オーダーがオーダーデータベース1718に格納される。オーダーデータベース1718は、クラウドインフラストラクチャシステム1702によって動作され、他のシステム要素とともに動作される、いくつかのデータベースのうちの1つであり得る。
動作1738で、オーダー情報はオーダー管理モジュール1720に発送される。場合によっては、オーダー管理モジュール1720は、オーダーを検証し、検証後にオーダーを予約するといった、オーダーに関連する請求および課金機能を行なうように構成されて
もよい。
動作1740で、オーダーに関する情報がオーダーオーケストレーションモジュール1722に通信される。オーダーオーケストレーションモジュール1722は、顧客によって出されたオーダーのためのサービスおよびリソースのプロビジョニングをオーケストレーションするために、オーダー情報を利用してもよい。場合によっては、オーダーオーケストレーションモジュール1722は、オーダープロビジョニングモジュール1724のサービスを使用して、申し込まれたサービスをサポートするようにリソースのプロビジョニングをオーケストレーションしてもよい。
ある実施形態では、オーダーオーケストレーションモジュール1722は、各オーダーに関連付けられたビジネスプロセスの管理を可能にし、オーダーがプロビジョニングに進むべきか否かを判断するためにビジネス論理を適用する。動作1742で、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール1722は、リソースを割当ててサブスクリプションオーダーを遂行するために必要とされるリソースを構成するようにという要求を、オーダープロビジョニングモジュール1724に送信する。オーダープロビジョニングモジュール1724は、顧客によってオーダーされたサービスのためのリソースの割当てを可能にする。オーダープロビジョニングモジュール1724は、クラウドインフラストラクチャシステム1702によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。オーダーオーケストレーションモジュール1722はこのため、サービスおよびリソースが実際にオンザフライでプロビジョニングされるか否か、または予めプロビジョニングされて要求時にのみ割当てられるか否かといった実装詳細から切り離されてもよい。
動作1744で、サービスおよびリソースが一旦プロビジョニングされると、提供されるサービスの通知が、クラウドインフラストラクチャシステム1702のオーダープロビジョニングモジュール1724によって、クライアント装置1704、1706および/または1708上の顧客に送信されてもよい。
動作1746で、顧客のサブスクリプションオーダーが、オーダー管理および監視モジュール1726によって管理され、追跡されてもよい。場合によっては、オーダー管理および監視モジュール1726は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップタイムおよびシステムダウンタイムの量といった、サブスクリプションオーダーにおけるサービスについての使用統計を収集するように構成されてもよい。
ある実施形態では、クラウドインフラストラクチャシステム1702は、アイデンティティ管理モジュール1728を含んでいてもよい。アイデンティティ管理モジュール1728は、クラウドインフラストラクチャシステム1702においてアクセス管理および認証サービスなどのアイデンティティサービスを提供するように構成されてもよい。いくつかの実施形態では、アイデンティティ管理モジュール1728は、クラウドインフラストラクチャシステム1702によって提供されるサービスを利用したい顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報と、さまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してそれらの顧客がどのアクションを行なうことが認可されているかを記述する情報とを含み得る。アイデンティティ管理モジュール1728はまた、各顧客についての記述的情報と、その記述的情報が誰によってどのようにアクセスされ、修正され得るかについての記述的情報との管理を含んでいてもよい。
図18は、この発明のさまざまな実施形態が実現され得る例示的なコンピュータシステム1800を示す。システム1800は、上述のコンピュータシステムのうちのいずれかを実現するために使用されてもよい。図に示すように、コンピュータシステム1800は、バスサブシステム1802を介して多くの周辺サブシステムと通信する処理部1804を含む。これらの周辺サブシステムは、処理加速部1806と、I/Oサブシステム1808と、記憶サブシステム1818と、通信サブシステム1824とを含んでいてもよい。記憶サブシステム1818は、有形のコンピュータ読取可能記憶媒体1822と、システムメモリ1810とを含む。
バスサブシステム1802は、コンピュータシステム1800のさまざまなコンポーネントおよびサブシステムを意図されるように互いに通信させるためのメカニズムを提供する。バスサブシステム1802は単一のバスとして概略的に図示されているが、バスサブシステムの代替的な実施形態は複数のバスを利用してもよい。バスサブシステム1802は、さまざまなバスアーキテクチャのうちのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、そのようなアーキテクチャは、IEEE P1386.1規格で製造されるメザニンバスとして実現可能な、産業標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、強化ISA(EISA)バス、ビデオエレクトロニクス標準組織(Video Electronics Standards Association:VESA)ローカル
バス、および周辺コンポーネント相互接続(Peripheral Component Interconnect:PC
I)バスを含んでいてもよい。
1つ以上の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラ)として実現され得る処理部1804は、コンピュータシステム1800の動作を制御する。処理部1804には、1つ以上のプロセッサが含まれていてもよい。これらのプロセッサは、シングルコアまたはマルチコアプロセッサを含んでいてもよい。ある実施形態では、処理部1804は、各処理部にシングルまたはマルチコアプロセッサが含まれた、1つ以上の独立した処理部1832および/または1834として実現されてもよい。他の実施形態では、処理部1804はまた、2つのデュアルコアプロセッサをシングルチップへと集積することによって形成されるクアッドコア処理部として実現されてもよい。
さまざまな実施形態では、処理部1804は、プログラムコードに応答してさまざまなプログラムを実行でき、同時に実行される複数のプログラムまたはプロセスを維持できる。任意の所与の時間において、実行されるべきプログラムコードのうちのいくつかまたはすべては、プロセッサ1804に、および/または記憶サブシステム1818にあり得る。好適なプログラミングを通して、プロセッサ1804は、上述のさまざまな機能性を提供できる。コンピュータシステム1800は加えて処理加速部1806を含んでいてもよく、それは、デジタル信号プロセッサ(digital signal processor:DSP)、専用プロセッサなどを含み得る。
I/Oサブシステム1808は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含んでいてもよい。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システム付き音声入力装置、マイクロホン、および他のタイプの入力装置を含んでいてもよい。ユーザインターフェイス入力装置は、たとえば、ジェスチャーおよび口頭コマンドを使用したナチュラルユーザインターフェイスを通して、マイクロソフトXbox(登録商標)360ゲームコントローラ
などの入力装置をユーザが制御し、それとやりとりすることを可能にする、マイクロソフトKinect(登録商標)運動センサなどの運動感知および/またはジェスチャー認識装置を含んでいてもよい。ユーザインターフェイス入力装置はまた、ユーザから目の活動(たとえば、写真撮影中および/またはメニュー選択中の「まばたき」)を検出し、アイジェスチャーを入力装置(たとえば、グーグル・グラス(登録商標))への入力として変換する、グーグル・グラス(登録商標)まばたき検出器などのアイジェスチャー認識装置を含んでいてもよい。加えて、ユーザインターフェイス入力装置は、ユーザが音声コマンドを通して音声認識システム(たとえば、Siri(登録商標)ナビゲータ)とやりとりできるようにする音声認識感知装置を含んでいてもよい。
ユーザインターフェイス入力装置はまた、3次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカ、デジタルカメラ、デジタルビデオカメラ、携帯型メディアプレイヤー、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザー測距器、および視線追跡装置などの音声/視覚装置を、何ら限定されることなく含んでいてもよい。加えて、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴撮像装置、ポジトロン放出断層撮影装置、医療用超音波検査装置などの医療用撮像入力装置を含んでいてもよい。ユーザインターフェイス入力装置はまた、たとえば、MIDIキーボード、デジタル楽器などの音声入力装置を含んでいてもよい。
ユーザインターフェイス出力装置は、表示サブシステム、表示灯、または、音声出力装置などの非視覚的ディスプレイを含んでいてもよい。表示サブシステムは、陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)またはプラズマディスプレイを使用するものなどのフラットパネル装置、投影装置、タッチスクリーンなどであってもよい。一般に、「出力装置」という用語の使用は、コンピュータシステム1800からユーザまたは他のコンピュータに情報を出力するためのあらゆる可能なタイプの装置およびメカニズムを含むよう意図されている。たとえば、ユーザインターフェイス出力装置は、モニタ、プリンタ、スピーカ、ヘッドホン、自動車ナビゲーションシステム、プロッタ、音声出力装置、およびモデムといった、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまな表示装置を、何ら限定されることなく含んでいてもよい。
コンピュータシステム1800は、現在システムメモリ1810内に位置するとして図示されたソフトウェア要素を含む記憶サブシステム1818を含んでいてもよい。システムメモリ1810は、処理部1804上でロード可能および実行可能なプログラム命令と、これらのプログラムの実行中に生成されたデータとを格納してもよい。
コンピュータシステム1800の構成およびタイプに依存して、システムメモリ1810は揮発性(ランダムアクセスメモリ(random access memory:RAM)など)であってもよく、および/または不揮発性(読出専用メモリ(read-only memory:ROM)、フラッシュメモリなど)であってもよい。RAMは典型的には、処理部1804に直ちにアクセス可能であり、および/または処理部1804によって現在動作および実行中のデータおよび/またはプログラムモジュールを含む。いくつかの実現化例では、システムメモリ1810は、スタティックランダムアクセスメモリ(static random access memory:S
RAM)またはダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なるタイプのメモリを含んでいてもよい。いくつかの実現化例では、起動中などにコンピュータシステム1800内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS
)が、典型的にはROMに格納されていてもよい。限定のためではなく例として、システ
ムメモリ1810はまた、クライアントアプリケーション、ウェブブラウザ、中央層アプリケーション、リレーショナルデータベース管理システム(relational database management system:RDBMS)などを含み得るアプリケーションプログラム1812と、プ
ログラムデータ1814と、オペレーティングシステム1816とを示す。例として、オペレーティングシステム1816は、マイクロソフト・ウィンドウズ(登録商標)、アップル・マッキントッシュ(登録商標)、および/またはLinuxオペレーティングシステムのさまざまなバージョン、商業的に入手可能なさまざまなUNIX(登録商標)またはUNIX様オペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、グーグル・クローム(登録商標)OSなどを何ら限定されることなく含む)、および/または、iOS、ウィンドウズ(登録商標)フォン、アンドロイド(登録商標)OS、ブラックベリー(登録商標)18OS、パーム(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含んでいてもよい。
記憶サブシステム1818はまた、いくつかの実施形態の機能性を提供する基本プログラミングおよびデータ構造を格納するための有形のコンピュータ読取可能記憶媒体を提供してもよい。プロセッサによって実行されると上述の機能性を提供するソフトウェア(プログラム、コードモジュール、命令)が、記憶サブシステム1818に格納されてもよい。これらのソフトウェアモジュールまたは命令は、処理部1804によって実行されてもよい。記憶サブシステム1818はまた、この発明に従って使用されるデータを格納するためのリポジトリを提供してもよい。
記憶サブシステム1800はまた、コンピュータ読取可能記憶媒体1822にさらに接続され得るコンピュータ読取可能記憶媒体リーダ1820を含んでいてもよい。システムメモリ1810とともに、およびオプションでシステムメモリ1810と組合わされて、コンピュータ読取可能記憶媒体1822は、リモート、ローカル、固定および/またはリムーバブルの記憶装置に加えて、コンピュータ読取可能情報を一時的におよび/またはより永続的に含み、格納し、送信し、検索するための記憶媒体を包括的に表わしてもよい。
コードまたはコードの一部を含むコンピュータ読取可能記憶媒体1822はまた、情報の格納および/または送信のためのあらゆる方法または技術で実現される揮発性および不揮発性でリムーバブルおよび非リムーバブルの媒体を含むがそれらに限定されない記憶媒体および通信媒体を含む、当該技術分野において公知であるかまたは使用されるあらゆる適切な媒体を含み得る。これは、RAM、ROM、電子的消去可能プログラマブルROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(digital versatile disk:DVD)または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、もしくは他の有形のコンピュータ読取可能媒体といった、有形のコンピュータ読取可能記憶媒体を含み得る。これは、所望の情報を送信するために使用可能であり、コンピューティングシステム1800によってアクセスされ得るデータ信号、データ送信、または任意の他の媒体といった、非有形のコンピュータ読取可能媒体も含み得る。
例として、コンピュータ読取可能記憶媒体1822は、非リムーバブルで不揮発性の磁気媒体から読出し、またはそれに書込むハードディスクドライブ、リムーバブルで不揮発性の磁気ディスクから読出し、またはそれに書込む磁気ディスクドライブ、ならびに、CD ROM、DVD、およびBlu−Ray(登録商標)ディスク、または他の光学媒体といった、リムーバブルで不揮発性の光ディスクから読出し、またはそれに書込む光ディスクドライブを含んでいてもよい。コンピュータ読取可能記憶媒体1822は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digitalSD)カ
ード、DVDディスク、デジタルビデオテープなどを含んでいてもよいが、それらに限定されない。コンピュータ読取可能記憶媒体1822はまた、フラッシュメモリベースのソリッドステートドライブ(solid-state drive:SSD)、企業フラッシュドライブ、ソ
リッドステートROMといった、不揮発性メモリに基づいたSSD、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSDといった、揮発性メモリに基づいたSSD、および、DRAMベースのSSDとフラッシュメモリベースのSSDとの組合せを使用するハイブリッドSSDを含んでいてもよい。ディスクドライブおよびそれらの関連付けられたコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性ストレージをコンピュータシステム1800に提供してもよい。
通信サブシステム1824は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム1824は、コンピュータシステム1800とは別のシステムからデータを受信し、別のシステムにデータを送信するためのインターフェイスとして機能する。たとえば、通信サブシステム1824は、コンピュータシステム1800がインターネットを介して1つ以上の装置に接続できるようにしてもよい。いくつかの実施形態では、通信サブシステム1824は、(たとえば、3G、4G、またはEDGE(enhanced data rates for global evolution:エンハンスト・データレート・フォー・グローバル・エボリューション)、WiFi(IEEE1602.11ファミリー規格)、または他の移動通信技術、またはそれらの任意の組合せといった携帯電話技術、高度なデータネットワーク技術を使用した)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバコンポーネ
ント、全地球測位システム(global positioning system:GPS)受信機コンポーネン
ト、および/または他のコンポーネントを含み得る。いくつかの実施形態では、通信サブシステム1824は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続(たとえば、イーサネット)を提供できる。
いくつかの実施形態では、通信サブシステム1824はまた、コンピュータシステム1800を使用し得る1人以上のユーザのために、構造化および/または非構造化データフィード1826、イベントストリーム1828、イベント更新1830などの形をした入力通信を受信してもよい。
例として、通信サブシステム1824は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリー(Rich Site Summary:RSS)フ
ィードなどのウェブフィード、および/または1つ以上の第三者情報源からのリアルタイム更新といった、ソーシャルネットワークおよび/または他の通信サービスのユーザからのデータフィード1826をリアルタイムで受信するように構成されてもよい。
加えて、通信サブシステム1824はまた、リアルタイムイベントのイベントストリーム1828および/またはイベント更新1830を含み得る、明確な終わりがなく本質的に連続的または無限であり得る連続データストリームの形をしたデータを受信するように構成されてもよい。連続データを生成するアプリケーションの例は、たとえば、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などを含んでいてもよい。通信サブシステム1824はまた、構造化および/または非構造化データフィード1826、イベントストリーム1828、イベント更新1830などを、コンピュータシステム1800に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成されてもよい。
コンピュータシステム1800は、ハンドヘルド携帯装置(たとえば、iPhone(登録商標)携帯電話、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブル装置(たとえば、グーグル・グラス(登録商標)頭部装着型ディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含む、さまざまなタイプのうちの1つであり得る。
この実施形態のコンピュータシステム1800およびそのコンポーネントは、前述の実施形態で説明されたようなこの発明の原則に基づいた適切な動作のうちのいずれかを行なうように構成可能である。たとえば、そのようなコンピュータシステムに含まれる通信サブシステムは、イベントストリームを受信してもよい。コンピュータシステムに含まれるプロセッサまたは処理部は、データストアのデータストアイベントを表わすテーブルコンポーネントを作成し、データストアからイベントストリームの特定のイベントに対応する特定のデータを選択してその特定のデータをその特定のイベントに追加するように、テーブルコンポーネントを外部関係ソースとして使用してイベント処理ネットワークのエンジンを実装してもよい。
好ましくは、イベント処理ネットワークのエンジンは、マップに少なくとも部分的に基づいて特定のデータを識別するように構成される。好ましくは、マップは、テーブルコンポーネントの作成後に更新されるように構成されてもよい。マップは、列ファミリーとしてテーブルコンポーネントに含まれてもよい。データストアは、データ格納場所のクラスタを含んでいてもよい。データストアは非リレーショナルデータベースを含む、または、エンジンは連続クエリ言語エンジンを含む、のうちの少なくとも1つであってもよい。
上述の部位の特定の動作プロセスについては、同じ概念を共有する関連する方法/システム実施形態における対応するステップ/コンポーネントが参照されてもよく、その参照も関連部位の開示と見なされる、ということは、当業者にとって自明である。したがって、記載の簡潔性のために、処理された特定の動作のうちのいくつかは、繰り返しまたは詳細には説明されない。
コンピュータおよびネットワークの絶えず変化する性質により、図に示すコンピュータシステム1800の説明は、単に特定の一例として意図される。図に示すシステムよりも多い、または少ないコンポーネントを有する多くの他の構成が可能である。たとえば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素が、FPGA、ASICなどを含むハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、または組合せで実現されてもよい。また、ネットワーク入力/出力装置などの他のコンピューティング装置への接続が採用されてもよい。ここに提供される開示および教示に基づいて、当業者であれば、さまざまな実施形態を実現するための他のやり方および/または方法を理解するであろう。
前述の明細書では、この発明の局面をその特定の実施形態を参照して説明したが、当業者であれば、この発明がそれに限定されないことを認識するであろう。上術の発明のさまざまな特徴および局面は、個々にまたは共同で使用されてもよい。また、実施形態は、明細書のより広範な精神および範囲から逸脱することなく、ここに記載されたものを超える任意の数の環境および用途において利用され得る。したがって、明細書および図面は、限定的でなく例示的であると見なされるべきである。

Claims (20)

  1. データストアを表わすためにイベント処理ネットワークを作成するステップと、
    前記イベント処理ネットワークにおいて、前記データストアのデータストアイベントを表わすテーブルコンポーネントを作成するステップと、
    イベントストリームにおけるイベントのために、
    前記データストアから前記イベントに対応するデータを選択すること、および、
    前記データを前記イベントに追加すること、
    を含む動作を行なうように、前記テーブルコンポーネントを外部関係ソースとして使用して前記イベント処理ネットワークのプロセッサを実行するステップとを含む、方法。
  2. 前記データは、アプリケーションプログラミングインターフェイスメソッドコールを利用して、前記データストアから検索される、請求項1に記載の方法。
  3. 前記アプリケーションプログラミングインターフェイスメソッドコールは、Javaメソッドコールを含む、請求項2に記載の方法。
  4. 前記データストアは、非リレーショナルデータベースを含む、請求項1〜3のいずれか1項に記載の方法。
  5. 前記非リレーショナルデータベースは、HBaseデータベースを含む、請求項4に記載の方法。
  6. 前記プロセッサは、連続クエリ言語プロセッサを含む、請求項1〜5のいずれか1項に記載の方法。
  7. 1つ以上のプロセッサによって実行されると少なくとも以下の命令を行なうように1つ以上のコンピュータシステムを構成するコンピュータ実行可能命令を格納する、コンピュータ読取可能媒体であって、前記以下の命令は、
    前記1つ以上のプロセッサに、データストアのデータストアイベントを表わすテーブルコンポーネントを作成させる命令と、
    前記1つ以上のプロセッサに、
    前記1つ以上のプロセッサに、前記データストアからイベントストリームのイベントに対応するデータを選択させる命令、および、
    前記1つ以上のプロセッサに、前記データを前記イベントに追加させる命令、
    を行なうように、前記テーブルコンポーネントを外部関係ソースとして使用してイベント処理ネットワークのエンジンを実装させる命令とを含む、コンピュータ読取可能媒体。
  8. 前記1つ以上のコンピュータシステムはさらに、前記1つ以上のプロセッサにマッピングコンポーネントを作成させる命令を行なうように構成される、請求項7に記載のコンピュータ読取可能媒体。
  9. 前記マッピングコンポーネントは、前記イベントの属性と前記データに関連付けられた情報とのマッピングを特定するように構成される、請求項8に記載のコンピュータ読取可能媒体。
  10. 前記データに関連付けられた情報は、前記データに関連付けられたファミリーまたは修飾子のうちの少なくとも1つを含む、請求項9に記載のコンピュータ読取可能媒体。
  11. 前記1つ以上のコンピュータシステムはさらに、前記1つ以上のプロセッサに、前記テ
    ーブルコンポーネントの作成後、前記データに関連付けられた情報のスキーマを更新させる命令を行なうように構成される、請求項9または10に記載のコンピュータ読取可能媒体。
  12. 前記スキーマは、前記イベント処理ネットワークの前記エンジンを実装する間に動的に更新される、請求項11に記載のコンピュータ読取可能媒体。
  13. 前記スキーマは、前記データに関連付けられたファミリータイプまたは修飾子タイプのうちの少なくとも1つを定義する、請求項11または12に記載のコンピュータ読取可能媒体。
  14. 前記エンジンは、連続クエリ言語エンジンを含む、請求項7〜13のいずれか1項に記載のコンピュータ読取可能媒体。
  15. 複数の命令を格納するメモリと、
    前記メモリにアクセスするように構成されたプロセッサとを含む、システムであって、
    前記プロセッサはさらに、少なくとも、
    データストアのデータストアイベントを表わすテーブルコンポーネントを作成し、
    前記データストアからイベントストリームのイベントに対応するデータを選択して当該データを前記イベントに追加するように、前記テーブルコンポーネントを外部関係ソースとして使用してイベント処理ネットワークのエンジンを実装する、
    ために、前記複数の命令を実行するように構成される、システム。
  16. 前記イベント処理ネットワークの前記エンジンは、マップに少なくとも部分的に基づいて前記データを識別するように構成される、請求項15に記載のシステム。
  17. 前記マップは、前記テーブルコンポーネントの作成後に更新されるように構成される、請求項16に記載のシステム。
  18. 前記マップは、列ファミリーとして前記テーブルコンポーネントに含まれる、請求項16または17に記載のシステム。
  19. 前記データストアは、データ格納場所のクラスタを含む、請求項15〜18のいずれか1項に記載のシステム。
  20. 前記データストアは非リレーショナルデータベースを含む、または、前記エンジンは連続クエリ言語エンジンを含む、のうちの少なくとも1つである、請求項15〜19のいずれか1項に記載のシステム。
JP2020037911A 2014-09-24 2020-03-05 イベント処理のための動的に型付けされたビッグデータによるイベントの充実化 Active JP6887544B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462054732P 2014-09-24 2014-09-24
US62/054,732 2014-09-24
US14/755,088 2015-06-30
US14/755,088 US9886486B2 (en) 2014-09-24 2015-06-30 Enriching events with dynamically typed big data for event processing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017515885A Division JP6850722B2 (ja) 2014-09-24 2015-09-21 イベント処理のための動的に型付けされたビッグデータによるイベントの充実化

Publications (2)

Publication Number Publication Date
JP2020140717A true JP2020140717A (ja) 2020-09-03
JP6887544B2 JP6887544B2 (ja) 2021-06-16

Family

ID=55525932

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017515885A Active JP6850722B2 (ja) 2014-09-24 2015-09-21 イベント処理のための動的に型付けされたビッグデータによるイベントの充実化
JP2020037911A Active JP6887544B2 (ja) 2014-09-24 2020-03-05 イベント処理のための動的に型付けされたビッグデータによるイベントの充実化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017515885A Active JP6850722B2 (ja) 2014-09-24 2015-09-21 イベント処理のための動的に型付けされたビッグデータによるイベントの充実化

Country Status (5)

Country Link
US (1) US9886486B2 (ja)
EP (1) EP3198479A1 (ja)
JP (2) JP6850722B2 (ja)
CN (2) CN113792096A (ja)
WO (1) WO2016048912A1 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US11487771B2 (en) * 2014-06-25 2022-11-01 Microsoft Technology Licensing, Llc Per-node custom code engine for distributed query processing
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
US10469396B2 (en) * 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
WO2016134182A1 (en) * 2015-02-18 2016-08-25 Unravel Data Systems, Inc. System and method for analyzing big data activities
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
IL247245B (en) 2016-08-11 2019-01-31 Technion Res & Dev Foundation Systems and methods for printing 3D models
US10275278B2 (en) 2016-09-14 2019-04-30 Salesforce.Com, Inc. Stream processing task deployment using precompiled libraries
US10514952B2 (en) * 2016-09-15 2019-12-24 Oracle International Corporation Processing timestamps and heartbeat events for automatic time progression
US11573965B2 (en) * 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
US11615088B2 (en) 2016-09-15 2023-03-28 Oracle International Corporation Complex event processing for micro-batch streaming
US10614092B2 (en) 2017-01-24 2020-04-07 International Business Machines Corporation Optimizing data retrieval operation in big-data processing systems
US10565199B2 (en) * 2017-04-10 2020-02-18 Sap Se Massively parallel processing database middleware connector
WO2018191879A1 (en) 2017-04-19 2018-10-25 Ebay Inc. Consistency mitigation techniques for real-time streams
CN107392220B (zh) 2017-05-31 2020-05-05 创新先进技术有限公司 数据流的聚类方法和装置
US10599654B2 (en) * 2017-06-12 2020-03-24 Salesforce.Com, Inc. Method and system for determining unique events from a stream of events
US10691485B2 (en) 2018-02-13 2020-06-23 Ebay Inc. Availability oriented durability technique for distributed server systems
US11475422B2 (en) 2018-03-28 2022-10-18 Bank Of America Corporation Blockchain-based property management
US10498808B2 (en) 2018-03-28 2019-12-03 Bank Of America Corporation Blockchain-based property management
US11295402B2 (en) 2018-03-28 2022-04-05 Bank Of America Corporation Blockchain-based property repair
US10826984B2 (en) * 2018-04-24 2020-11-03 Futurewei Technologies, Inc. Event stream processing
CN109034567B (zh) * 2018-07-11 2021-10-01 西北工业大学 一种基于科技文献的制造技术进化方向的预测方法
WO2020023441A1 (en) * 2018-07-24 2020-01-30 Trucki Llc Systems for supply chain event management
CN109086605A (zh) * 2018-07-26 2018-12-25 佛山市甜慕链客科技有限公司 一种分布式数据处理方法
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11061942B2 (en) 2018-09-07 2021-07-13 Graywell, Inc. Unstructured data fusion by content-aware concurrent data processing pipeline
US11573927B1 (en) 2018-10-31 2023-02-07 Anaplan, Inc. Method and system for implementing hidden subscriptions in a distributed computation system
US11475003B1 (en) * 2018-10-31 2022-10-18 Anaplan, Inc. Method and system for servicing query requests using dataspaces
US11354324B1 (en) 2018-10-31 2022-06-07 Anaplan, Inc. Method and system for servicing query requests using revisions maps
US11580105B2 (en) 2018-10-31 2023-02-14 Anaplan, Inc. Method and system for implementing subscription barriers in a distributed computation system
US11481378B1 (en) * 2018-10-31 2022-10-25 Anaplan, Inc. Method and system for servicing query requests using document-based metadata
US11281683B1 (en) 2018-10-31 2022-03-22 Anaplan, Inc. Distributed computation system for servicing queries using revisions maps
CN109348410B (zh) * 2018-11-16 2020-07-10 电子科技大学 基于全局和局部联合约束迁移学习的室内定位方法
CN111384964B (zh) * 2018-12-28 2022-05-31 上海寒武纪信息科技有限公司 数据压缩解压装置和数据压缩方法
US11727021B2 (en) * 2018-12-14 2023-08-15 Tibco Software Inc. Process control tool for processing big and wide data
CN110059140A (zh) * 2019-03-29 2019-07-26 国网福建省电力有限公司 一种基于Oracle数据和Hbase数据进行数据存储的方法
US10891174B1 (en) * 2019-09-19 2021-01-12 International Business Machines Corporation Performing hierarchical provenance collection
CN111143158B (zh) * 2019-12-04 2023-05-16 武汉光谷信息技术股份有限公司 一种监控数据实时存储方法、系统、电子设备及存储介质
CN110888929B (zh) * 2019-12-06 2022-03-29 秒针信息技术有限公司 数据处理方法、装置、数据节点及存储介质
US20210200912A1 (en) 2019-12-31 2021-07-01 Johnson Controls Technology Company Building data platform with graph based policies
CN111259019B (zh) * 2020-01-09 2023-05-12 腾讯科技(深圳)有限公司 资源配置方法、装置、设备和存储介质
BR102020003282B1 (pt) * 2020-02-17 2022-05-24 Semantix Tecnologia em Sistema de Informação S.A Sistema para gerenciamento de processos de engenharia de dados (data engineering) e ciência de dados (data science)
CN111625543B (zh) * 2020-05-27 2023-08-25 贵州易鲸捷信息技术有限公司 一种基于HBase表实现全局单调递增的序列的方法
US11715046B2 (en) * 2020-07-14 2023-08-01 Micro Focus Llc Enhancing data-analytic visualizations with machine learning
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
CN112199206B (zh) * 2020-08-28 2023-12-26 杭州数云信息技术有限公司 基于事件机制模板对实时流事件配置化处理方法及系统
CN112817571B (zh) * 2021-02-24 2023-06-30 复旦大学 一种基于场景故事板的人机物融合应用建模方法
CN113453171B (zh) * 2021-05-31 2022-09-09 成都健康医联信息产业有限公司 大规模应急检测通信方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510598A (ja) * 2005-09-27 2009-03-12 サーカー ピーティーイー リミテッド コミュニケーション及びコラボレーションのためのシステム
WO2010055663A1 (ja) * 2008-11-12 2010-05-20 株式会社サイエンスクラフト 文書解析装置および方法
US20120025955A1 (en) * 2009-02-23 2012-02-02 Colin Henry Balfour Event processing apparatus and methods
JP2013077194A (ja) * 2011-09-30 2013-04-25 Hiroshi Sugimura 知識を活用する情報システム装置
US20130262287A1 (en) * 2012-03-27 2013-10-03 Exegy Incorporated Offload Processing of Data Packets Containing Financial Market Data

Family Cites Families (456)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051947A (en) 1985-12-10 1991-09-24 Trw Inc. High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US4996687A (en) 1988-10-11 1991-02-26 Honeywell Inc. Fault recovery mechanism, transparent to digital system function
US5339392A (en) 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
US5761493A (en) 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5495600A (en) 1992-06-03 1996-02-27 Xerox Corporation Conversion of queries to monotonically increasing incremental form to continuously query a append only database
US5918225A (en) 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
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 デバッグ装置、方法及び記録媒体
AU7123300A (en) 1999-09-10 2001-04-10 William C. Rodgers 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
US20020049788A1 (en) 2000-01-14 2002-04-25 Lipkin Daniel S. Method and apparatus for a web content platform
US20010047372A1 (en) 2000-02-11 2001-11-29 Alexander Gorelik 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
US6523102B1 (en) 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US7020696B1 (en) 2000-05-20 2006-03-28 Ciena Corp. Distributed user management information in telecommunications networks
US7076647B2 (en) 2000-06-09 2006-07-11 Hewlett-Packard Development Company, L.P. Dynamic kernel tunables
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
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application 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
US7062749B2 (en) 2000-12-15 2006-06-13 Promenix, Inc. Measuring, monitoring and tracking enterprise communications and processes
US7904486B2 (en) 2000-12-15 2011-03-08 British Telecommunications Public Limited Company Method of indexing entities
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
WO2002071260A1 (en) 2001-03-01 2002-09-12 Aalborg Universitet Adaptable query optimization and evaluation in temporal middleware
US6542911B2 (en) 2001-03-01 2003-04-01 Sun Microsystems, Inc. Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache
GB2377038A (en) 2001-04-10 2002-12-31 I2 Ltd Method for identifying patterns in sequential event streams
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
AU2002220130A1 (en) 2001-09-12 2003-03-24 Raqia Networks, Inc. High speed data stream pattern recognition
US7203927B2 (en) 2001-09-20 2007-04-10 International Business Machines Corporation SQL debugging using XML dataflows
US20030065655A1 (en) 2001-09-28 2003-04-03 International Business Machines Corporation Method and apparatus for detecting query-driven topical events using textual phrases on foils as indication of topic
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US6915290B2 (en) 2001-12-11 2005-07-05 International Business Machines Corporation Database query optimization apparatus and method that represents queries as graphs
US7475058B2 (en) 2001-12-14 2009-01-06 Microsoft Corporation Method and system for providing a distributed querying and filtering system
US20030135304A1 (en) 2002-01-11 2003-07-17 Brian Sroub System and method for managing transportation assets
US7117200B2 (en) 2002-01-11 2006-10-03 International Business Machines Corporation Synthesizing information-bearing content from multiple channels
WO2003060771A1 (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
US7590987B2 (en) 2002-06-05 2009-09-15 Sap Ag Apparatus and method for integrating variable subsidiary information with main office information in an enterprise system
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
US7213040B1 (en) 2002-10-29 2007-05-01 Novell, Inc. Apparatus for policy based storage of file data and meta-data changes over time
US7653645B1 (en) 2002-10-29 2010-01-26 Novell, Inc. Multi-epoch method for saving and exporting file system events
US20040088404A1 (en) 2002-11-01 2004-05-06 Vikas Aggarwal Administering users in a fault and performance monitoring system using distributed data gathering and storage
US7134143B2 (en) 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
GB0228447D0 (en) 2002-12-06 2003-01-08 Nicholls Charles M System for detecting and interpreting transactions events or changes in computer systems
US7051034B1 (en) 2002-12-18 2006-05-23 Oracle International Corporation Dynamic optimization for processing a restartable sub-tree of a query execution plan
US20050096124A1 (en) 2003-01-21 2005-05-05 Asip Holdings, Inc. Parimutuel wagering system with opaque transactions
US7804852B1 (en) 2003-01-24 2010-09-28 Douglas Durham Systems and methods for definition and use of a common time base in multi-protocol environments
US7437675B2 (en) 2003-02-03 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for monitoring event based systems
US7634501B2 (en) 2003-02-05 2009-12-15 Next Generation Software Method and apparatus for mediated cooperation
WO2004072797A2 (en) 2003-02-07 2004-08-26 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
CA2427209A1 (en) 2003-04-30 2004-10-30 Ibm Canada Limited - Ibm Canada Limitee Optimization of queries on views defined by conditional expressions having mutually exclusive conditions
US7103611B2 (en) 2003-05-01 2006-09-05 Oracle International Corporation Techniques for retaining hierarchical information in mapping between XML documents and relational data
US7386568B2 (en) 2003-05-01 2008-06-10 Oracle International Corporation Techniques for partial rewrite of XPath queries in a relational database
US6836778B2 (en) 2003-05-01 2004-12-28 Oracle International Corporation Techniques for changing XML content in a relational database
US7222123B2 (en) 2003-05-28 2007-05-22 Oracle International Corporation Technique for using a current lookup for performing multiple merge operations using source data that is modified in between the merge operations
US7546284B1 (en) 2003-06-11 2009-06-09 Blue Titan Software, Inc. Virtual message persistence service
US7146352B2 (en) 2003-06-23 2006-12-05 Microsoft Corporation Query optimizer system and method
US7519577B2 (en) 2003-06-23 2009-04-14 Microsoft Corporation Query intermediate language method and system
CA2433750A1 (en) 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US20050010896A1 (en) 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
WO2005008529A2 (en) 2003-07-07 2005-01-27 Netezza Corporation Optimized sql code generation
US20060242180A1 (en) 2003-07-23 2006-10-26 Graf James A Extracting data from semi-structured text documents
US20080077780A1 (en) 2003-07-25 2008-03-27 Zingher Arthur R System and Method for Software Debugging
US7873645B2 (en) 2003-09-05 2011-01-18 Oracle International Corporation Method and mechanism for handling arbitrarily-sized XML in SQL operator tree
US20050108368A1 (en) 2003-10-30 2005-05-19 Aditya Mohan Method and apparatus for representing data available in a peer-to-peer network using bloom-filters
US20050097128A1 (en) 2003-10-31 2005-05-05 Ryan Joseph D. Method for scalable, fast normalization of XML documents for insertion of data into a relational database
US7167848B2 (en) 2003-11-07 2007-01-23 Microsoft Corporation Generating a hierarchical plain-text execution plan from a database query
GB0327589D0 (en) 2003-11-27 2003-12-31 Ibm Searching in a computer network
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
US7516121B2 (en) 2004-06-23 2009-04-07 Oracle International Corporation Efficient evaluation of queries using translation
US7599924B2 (en) 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7370273B2 (en) 2004-06-30 2008-05-06 International Business Machines Corporation System and method for creating dynamic folder hierarchies
US20060007308A1 (en) 2004-07-12 2006-01-12 Ide Curtis E Environmentally aware, intelligent surveillance device
US7668806B2 (en) 2004-08-05 2010-02-23 Oracle International Corporation Processing queries against one or more markup language sources
US20060047696A1 (en) 2004-08-24 2006-03-02 Microsoft Corporation Partially materialized views
GB0420097D0 (en) 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
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
EP1825395A4 (en) 2004-10-25 2010-07-07 Yuanhua Tang FULL TEXT INTERROGATION AND RESEARCH SYSTEMS AND METHODS OF USE
US20080077570A1 (en) 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US7403945B2 (en) 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US7533087B2 (en) 2004-11-05 2009-05-12 International Business Machines Corporation Method, system, and program for executing a query having a union all operator and data modifying operations
US20060100969A1 (en) 2004-11-08 2006-05-11 Min Wang Learning-based method for estimating cost and statistics of complex operators in continuous queries
US7493304B2 (en) 2004-11-12 2009-02-17 International Business Machines Corporation Adjusting an amount of data logged for a query based on a change to an access plan
US7526461B2 (en) 2004-11-17 2009-04-28 Gm Global Technology Operations, Inc. System and method for temporal data mining
JP2006155404A (ja) 2004-11-30 2006-06-15 Toshiba Corp 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム
US7383253B1 (en) 2004-12-17 2008-06-03 Coral 8, Inc. Publish and subscribe capable continuous query processor for real-time data streams
US20060155719A1 (en) 2005-01-10 2006-07-13 International Business Machines Corporation Complex event discovery in event databases
EP1684192A1 (en) 2005-01-25 2006-07-26 Ontoprise GmbH Integration platform for heterogeneous information sources
US20060166704A1 (en) 2005-01-26 2006-07-27 Benco David S Method for alerting a subscriber of an emergency call request
WO2006081474A2 (en) 2005-01-27 2006-08-03 Intel Corp. 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
AU2006217563B2 (en) 2005-02-22 2012-05-17 Connectif Solutions Inc. Distributed asset management system and method
KR100690787B1 (ko) 2005-02-25 2007-03-09 엘지전자 주식회사 무선통신 시스템에서 이벤트 통지방법
WO2006096324A2 (en) 2005-03-03 2006-09-14 Washington University Method and apparatus for performing biosequence similarity searching
US8463801B2 (en) 2005-04-04 2013-06-11 Oracle International Corporation Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system
US7428555B2 (en) 2005-04-07 2008-09-23 Google Inc. Real-time, computer-generated modifications to an online advertising program
US7685150B2 (en) 2005-04-19 2010-03-23 Oracle International Corporation Optimization of queries over XML views that are based on union all operators
US8145686B2 (en) 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
JP4687253B2 (ja) 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法
US20060294095A1 (en) 2005-06-09 2006-12-28 Mantas, Inc. Runtime thresholds for behavior detection
US9792351B2 (en) 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
US9747560B2 (en) 2005-07-13 2017-08-29 Sap Se Method and system for combination of independent demand data streams
US7818313B1 (en) 2005-07-18 2010-10-19 Sybase, Inc. Method for distributing processing of queries over a cluster of servers in a continuous processing system
JP4723301B2 (ja) 2005-07-21 2011-07-13 株式会社日立製作所 ストリームデータ処理システムおよびストリームデータ処理方法
US7962616B2 (en) 2005-08-11 2011-06-14 Micro Focus (Us), Inc. Real-time activity monitoring and reporting
WO2007022560A1 (en) 2005-08-23 2007-03-01 Position Networks Pty Ltd A stream-oriented database machine and method
US7990646B2 (en) 2005-09-30 2011-08-02 Seagate Technology Llc Data pattern detection using adaptive search windows
US7937257B2 (en) 2005-10-10 2011-05-03 Oracle International Corporation Estimating performance of application based on automatic resizing of shared memory for messaging
KR100813000B1 (ko) 2005-12-01 2008-03-13 한국전자통신연구원 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US20070136254A1 (en) 2005-12-08 2007-06-14 Hyun-Hwa Choi System and method for processing integrated queries against input data stream and data stored in database using trigger
US7730023B2 (en) 2005-12-22 2010-06-01 Business Objects Sotware Ltd. Apparatus and method for strategy map validation and visualization
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
WO2007095619A2 (en) 2006-02-15 2007-08-23 Encirq Corporation Systems and methods for indexing and searching data records based on distance metrics
US20070198479A1 (en) 2006-02-16 2007-08-23 International Business Machines Corporation Streaming XPath algorithm for XPath expressions with predicates
US7446352B2 (en) 2006-03-09 2008-11-04 Tela Innovations, Inc. Dynamic array architecture
US7689582B2 (en) 2006-03-10 2010-03-30 International Business Machines Corporation Data flow system and method for heterogeneous data integration environments
US7536396B2 (en) 2006-03-21 2009-05-19 At&T Intellectual Property Ii, L.P. Query-aware sampling of data streams
US7877381B2 (en) 2006-03-24 2011-01-25 International Business Machines Corporation Progressive refinement of a federated query plan during query execution
US20070226188A1 (en) 2006-03-27 2007-09-27 Theodore Johnson Method and apparatus for data stream sampling
US7644066B2 (en) 2006-03-31 2010-01-05 Oracle International Corporation Techniques of efficient XML meta-data query using XML table index
WO2007113533A1 (en) 2006-03-31 2007-10-11 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
JP4804233B2 (ja) 2006-06-09 2011-11-02 株式会社日立製作所 ストリームデータ処理方法
US7613848B2 (en) 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
US20070294217A1 (en) 2006-06-14 2007-12-20 Nec Laboratories America, Inc. Safety guarantee of continuous join queries over punctuated data streams
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US20080010093A1 (en) 2006-06-30 2008-01-10 Laplante Pierre System and Method for Processing Health Information
US7499909B2 (en) 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US20080016095A1 (en) 2006-07-13 2008-01-17 Nec Laboratories America, Inc. Multi-Query Optimization of Window-Based Stream Queries
US7496683B2 (en) 2006-07-27 2009-02-24 International Business Machines Corporation Maximization of sustained throughput of distributed continuous queries
US20080034427A1 (en) 2006-08-02 2008-02-07 Nec Laboratories America, Inc. Fast and scalable process for regular expression search
US8671091B2 (en) 2006-08-02 2014-03-11 Hewlett-Packard Development Company, L.P. Optimizing snowflake schema queries
WO2008018080A2 (en) 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US8099400B2 (en) 2006-08-18 2012-01-17 National Instruments Corporation Intelligent storing and retrieving in an enterprise data system
KR100778314B1 (ko) 2006-08-21 2007-11-22 한국전자통신연구원 사용자 정의 공유 트리거를 이용한 데이터 스트림과 저장데이터에 대한 통합 연속 질의 처리 시스템 및 그 방법
US8260910B2 (en) 2006-09-19 2012-09-04 Oracle America, Inc. Method and apparatus for monitoring a data stream to detect a pattern of data elements using bloom filters
US20080082484A1 (en) 2006-09-28 2008-04-03 Ramot At Tel-Aviv University Ltd. Fast processing of an XML data stream
US20080098359A1 (en) 2006-09-29 2008-04-24 Ventsislav Ivanov Manipulation of trace sessions based on address parameters
US20080082514A1 (en) 2006-09-29 2008-04-03 International Business Machines Corporation Method and apparatus for integrating relational and hierarchical data
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
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
US7831606B2 (en) 2006-12-08 2010-11-09 Pandya Ashish A Signature search 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
US20080195577A1 (en) 2007-02-09 2008-08-14 Wei Fan Automatically and adaptively determining execution plans for queries with parameter markers
US7630982B2 (en) 2007-02-24 2009-12-08 Trend Micro Incorporated Fast identification of complex strings in a data stream
US20090327102A1 (en) 2007-03-23 2009-12-31 Jatin Maniar System and method for providing real time asset visibility
US7827146B1 (en) 2007-03-30 2010-11-02 Symantec Operating Corporation Storage system
US8065319B2 (en) 2007-04-01 2011-11-22 Nec Laboratories America, Inc. Runtime semantic query optimization for event stream processing
US8370812B2 (en) 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8098248B2 (en) 2007-04-02 2012-01-17 International Business Machines Corporation Method for semantic modeling of stream processing components to enable automatic application composition
US7818292B2 (en) 2007-04-05 2010-10-19 Anil Kumar Nori SQL change tracking layer
JP2008262046A (ja) 2007-04-12 2008-10-30 Hitachi Ltd 会議可視化システム、会議可視化方法、及び集計処理サーバ
US8156247B2 (en) 2007-04-30 2012-04-10 Lsi Corportion Systems and methods for reducing network performance degradation
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
US20080301125A1 (en) 2007-05-29 2008-12-04 Bea Systems, Inc. Event processing query language including an output clause
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US7792784B2 (en) 2007-05-31 2010-09-07 International Business Machines Corporation Streaming multidimensional data by bypassing multidimensional query processor
US7984040B2 (en) 2007-06-05 2011-07-19 Oracle International Corporation Methods and systems for querying event streams using multiple event processors
US7933894B2 (en) 2007-06-15 2011-04-26 Microsoft Corporation Parameter-sensitive plans for structural scenarios
US7689622B2 (en) 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US8832073B2 (en) 2007-06-29 2014-09-09 Alcatel Lucent Method and apparatus for efficient aggregate computation over data streams
US7676461B2 (en) 2007-07-18 2010-03-09 Microsoft Corporation Implementation of stream algebra over class instances
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8055653B2 (en) 2007-08-09 2011-11-08 International Business Machines Corporation Processing overlapping continuous queries
US7827299B2 (en) 2007-09-11 2010-11-02 International Business Machines Corporation Transitioning between historical and real time data streams in the processing of data change messages
US20090070765A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based configuration for event processing networks
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
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
US9189522B2 (en) 2007-10-17 2015-11-17 Oracle International Corporation SQL execution plan baselines
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
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
US8019747B2 (en) 2007-10-30 2011-09-13 Oracle International Corporation Facilitating flexible windows in data stream management systems
US8103655B2 (en) 2007-10-30 2012-01-24 Oracle International Corporation Specifying a family of logics defining 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
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
CA2710346A1 (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
CN101520861A (zh) * 2008-02-29 2009-09-02 国际商业机器公司 数据事件发送方法和装置以及事件处理系统
US8055649B2 (en) 2008-03-06 2011-11-08 Microsoft Corporation Scaled management system
US8903802B2 (en) 2008-03-06 2014-12-02 Cisco Technology, Inc. Systems and methods for managing queries
US8805879B2 (en) 2008-03-11 2014-08-12 Virtualagility Inc. Techniques for integrating parameterized information request into a system for collaborative work
WO2009119811A1 (ja) 2008-03-28 2009-10-01 日本電気株式会社 情報再構成システム、情報再構成方法及び情報再構成用プログラム
US7958114B2 (en) 2008-04-04 2011-06-07 Microsoft Corporation Detecting estimation errors in dictinct page counts
US7872948B2 (en) 2008-04-14 2011-01-18 The Boeing Company Acoustic wide area air surveillance system
US8122050B2 (en) 2008-04-16 2012-02-21 International Business Machines Corporation Query processing visualization system and method of visualizing query processing
JP5198929B2 (ja) 2008-04-25 2013-05-15 株式会社日立製作所 ストリームデータ処理方法及び計算機システム
US8155880B2 (en) 2008-05-09 2012-04-10 Locomatix Inc. Location tracking optimizations
US8886637B2 (en) 2008-05-12 2014-11-11 Enpulz, L.L.C. Web browser accessible search engine which adapts based on user interaction
US8850409B2 (en) 2008-05-21 2014-09-30 Optumsoft, Inc. Notification-based constraint set translation to imperative execution
US7930322B2 (en) 2008-05-27 2011-04-19 Microsoft Corporation Text based schema discovery and information extraction
US8291006B2 (en) 2008-05-30 2012-10-16 International Business Machines Corporation Method for generating a distributed stream processing application
US8918507B2 (en) 2008-05-30 2014-12-23 Red Hat, Inc. Dynamic grouping of enterprise assets
US8112378B2 (en) 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
US20090319501A1 (en) 2008-06-24 2009-12-24 Microsoft Corporation Translation of streaming queries into sql queries
US8316012B2 (en) 2008-06-27 2012-11-20 SAP France S.A. Apparatus and method for facilitating continuous querying of multi-dimensional data streams
CN102077236A (zh) 2008-07-03 2011-05-25 松下电器产业株式会社 印象度提取装置和印象度提取方法
US8086644B2 (en) 2008-07-10 2011-12-27 International Business Machines Corporation Simplifying complex data stream problems involving feature extraction from noisy data
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
US20110173235A1 (en) 2008-09-15 2011-07-14 Aman James A 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 トピー工業株式会社 自動車用ホイールディスク
US20100128638A1 (en) 2008-11-20 2010-05-27 Sap Ag Hierarchical shortest path first network routing protocol
US7945565B2 (en) 2008-11-20 2011-05-17 Yahoo! Inc. Method and system for generating a hyperlink-click graph
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
US8352517B2 (en) 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8725707B2 (en) 2009-03-26 2014-05-13 Hewlett-Packard Development Company, L.P. Data continuous SQL process
US8713038B2 (en) 2009-04-02 2014-04-29 Pivotal Software, Inc. Integrating map-reduce into a distributed relational database
JP5439014B2 (ja) * 2009-04-10 2014-03-12 株式会社日立製作所 データ処理システム、その処理方法、及び計算機
US8285709B2 (en) 2009-05-12 2012-10-09 Teradata Us, Inc. High-concurrency query operator and method
US8286191B2 (en) * 2009-05-14 2012-10-09 International Business Machines Corporation Dynamically composing data stream processing applications
US8161035B2 (en) 2009-06-04 2012-04-17 Oracle International Corporation Query optimization by specifying path-based predicate evaluation in a path-based query operator
US8868725B2 (en) 2009-06-12 2014-10-21 Kent State University Apparatus and methods for real-time multimedia network traffic management and control in wireless networks
US8572589B2 (en) 2009-06-30 2013-10-29 Agilent Technologies, Inc. Programming language translator and enabling translation of machine-centric commands for controlling instrument
US8612439B2 (en) 2009-06-30 2013-12-17 Commvault Systems, Inc. Performing data storage operations in a cloud storage environment, including searching, encryption and indexing
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
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8572016B2 (en) 2009-07-31 2013-10-29 International Business Machines Corporation Match engine for detection of multi-pattern rules
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US20110035253A1 (en) 2009-08-07 2011-02-10 onFucus Healthcare Systems and Methods for Optimizing Enterprise Performance Relationships to Other Applications
CA2754159C (en) 2009-08-11 2012-05-15 Certusview Technologies, Llc Systems and methods for complex event processing of vehicle-related information
JP4925143B2 (ja) 2009-08-12 2012-04-25 株式会社日立製作所 ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム
US8204873B2 (en) 2009-08-26 2012-06-19 Hewlett-Packard Development Company, L.P. System and method for query expression optimization
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
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
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
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
JP5408442B2 (ja) * 2010-01-21 2014-02-05 株式会社日立製作所 並列分散処理方法、及び、計算機システム
US9805101B2 (en) 2010-02-26 2017-10-31 Ebay Inc. Parallel data stream processing system
US8484243B2 (en) 2010-05-05 2013-07-09 Cisco Technology, Inc. Order-independent stream query processing
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
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
EP2628093A1 (en) 2010-10-11 2013-08-21 Hewlett-Packard Development Company, L.P. System and method for querying a data stream
EP2628094A4 (en) 2010-10-14 2015-01-28 Hewlett Packard Development Co CONTINUOUS INQUIRY OF A DATA STREAM
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US20120130963A1 (en) 2010-11-24 2012-05-24 Teradata Us, Inc. User defined function database processing
EP2469420B1 (en) 2010-12-22 2019-11-27 Software AG CEP engine and method for processing CEP queries
US8478743B2 (en) 2010-12-23 2013-07-02 Microsoft Corporation Asynchronous transfer of state information between continuous query plans
US8788484B2 (en) 2010-12-27 2014-07-22 Software Ag Systems and/or methods for user feedback driven dynamic query rewriting in complex event processing environments
US9350567B2 (en) 2011-01-25 2016-05-24 International Business Machines Corporation Network resource configurations
US8799271B2 (en) 2011-01-25 2014-08-05 Hewlett-Packard Development Company, L.P. Range predicate canonization for translating a query
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
US9965520B2 (en) 2011-06-17 2018-05-08 Microsoft Corporation Efficient logical merging over physically divergent streams
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US20130031567A1 (en) 2011-07-25 2013-01-31 Microsoft Corporation Local event processing
US9286354B2 (en) 2011-08-15 2016-03-15 Software Ag Systems and/or methods for forecasting future behavior of event streams in complex event processing (CEP) environments
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
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中基于移动终端的连续查询用户位置隐匿方法
WO2013182915A2 (en) * 2012-06-04 2013-12-12 Intelligent Software Solutions, Inc. Temporal predictive analytics
US20130332240A1 (en) 2012-06-08 2013-12-12 University Of Southern California System for integrating event-driven information in the oil and gas fields
WO2014000819A1 (en) 2012-06-29 2014-01-03 Telefonaktiebolaget Lm Ericsson (Publ) A 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
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
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9053210B2 (en) 2012-12-14 2015-06-09 Microsoft Technology Licensing, Llc Graph query processing using plurality of engines
US20140172506A1 (en) 2012-12-17 2014-06-19 Microsoft Corporation Customer segmentation
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US20140237487A1 (en) 2013-02-15 2014-08-21 University Of Southern California Complex event processing for dynamic data
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
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
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510598A (ja) * 2005-09-27 2009-03-12 サーカー ピーティーイー リミテッド コミュニケーション及びコラボレーションのためのシステム
WO2010055663A1 (ja) * 2008-11-12 2010-05-20 株式会社サイエンスクラフト 文書解析装置および方法
US20120025955A1 (en) * 2009-02-23 2012-02-02 Colin Henry Balfour Event processing apparatus and methods
JP2013077194A (ja) * 2011-09-30 2013-04-25 Hiroshi Sugimura 知識を活用する情報システム装置
US20130262287A1 (en) * 2012-03-27 2013-10-03 Exegy Incorporated Offload Processing of Data Packets Containing Financial Market Data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杉村 博: "アノテーション付き時系列データからの知識発見システムの開発", 電気学会論文誌C 電子・情報・システム部門誌, vol. 第132巻 第4号, JPN6021013836, 1 April 2012 (2012-04-01), pages 592 - 597, ISSN: 0004488046 *

Also Published As

Publication number Publication date
CN107077476A (zh) 2017-08-18
US9886486B2 (en) 2018-02-06
WO2016048912A1 (en) 2016-03-31
CN107077476B (zh) 2021-09-28
EP3198479A1 (en) 2017-08-02
CN113792096A (zh) 2021-12-14
JP2017530469A (ja) 2017-10-12
JP6850722B2 (ja) 2021-03-31
US20160085809A1 (en) 2016-03-24
JP6887544B2 (ja) 2021-06-16

Similar Documents

Publication Publication Date Title
JP6887544B2 (ja) イベント処理のための動的に型付けされたビッグデータによるイベントの充実化
US10217256B2 (en) Visually exploring and analyzing event streams
US10120907B2 (en) Scaling event processing using distributed flows and map-reduce operations
US11907228B2 (en) Techniques for in-memory stitching
JP7333424B2 (ja) 分散イベント処理システムのためのグラフ生成
JP7316341B2 (ja) ストリームデータにおける空間変化検出器
US11394769B2 (en) Framework for the deployment of event-based applications
JP7005600B2 (ja) マイクロバッチストリーミングのための複合イベント処理
US9934279B2 (en) Pattern matching across multiple input data streams
JP6832347B2 (ja) 分散型システムにおける多段階処理のためのイベント順序の保証
US9712645B2 (en) Embedded event processing
US20150363464A1 (en) Custom partitioning of a data stream
US11507585B2 (en) Heartbeat propagation in a distributed stream processing system
JP7013450B2 (ja) 自動時間進行についての処理タイムスタンプおよびハートビートイベント

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210518

R150 Certificate of patent or registration of utility model

Ref document number: 6887544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250