JP2022062036A - 分散イベント処理システムのためのグラフ生成 - Google Patents
分散イベント処理システムのためのグラフ生成 Download PDFInfo
- Publication number
- JP2022062036A JP2022062036A JP2022002960A JP2022002960A JP2022062036A JP 2022062036 A JP2022062036 A JP 2022062036A JP 2022002960 A JP2022002960 A JP 2022002960A JP 2022002960 A JP2022002960 A JP 2022002960A JP 2022062036 A JP2022062036 A JP 2022062036A
- Authority
- JP
- Japan
- Prior art keywords
- application
- event
- event processing
- data
- processing system
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 383
- 238000000034 method Methods 0.000 claims abstract description 352
- 244000046052 Phaseolus vulgaris Species 0.000 claims description 51
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims description 51
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 284
- 238000007906 compression Methods 0.000 description 58
- 230000006835 compression Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 46
- 238000003860 storage Methods 0.000 description 36
- 238000007726 management method Methods 0.000 description 32
- 238000000638 solvent extraction Methods 0.000 description 32
- 230000009466 transformation Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 29
- 238000006243 chemical reaction Methods 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 24
- 238000013144 data compression Methods 0.000 description 22
- 230000009471 action Effects 0.000 description 15
- 230000009467 reduction Effects 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 13
- 230000002829 reductive effect Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 9
- 238000000844 transformation Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000013501 data transformation Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000009474 immediate action Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- MROJXXOCABQVEF-UHFFFAOYSA-N Actarit Chemical compound CC(=O)NC1=CC=C(CC(O)=O)C=C1 MROJXXOCABQVEF-UHFFFAOYSA-N 0.000 description 3
- 101150064138 MAP1 gene Proteins 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000035755 proliferation Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 102000014160 PTEN Phosphohydrolase Human genes 0.000 description 1
- 108010011536 PTEN Phosphohydrolase Proteins 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000006722 reduction reaction Methods 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 208000022417 sinus histiocytosis with massive lymphadenopathy Diseases 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
本願は、米国特許法第119条(e)に従い、2016年9月15日に出願され「FAST
SERIALIZATION OF TUPLE BATCHES」と題された米国仮出願第62/395,216号お
よび2017年9月11日に出願され「GRAPH GENERATION FOR A DISTRIBUTED EVENT PROCESSING SYSTEM」と題された米国非仮出願第15/700,862号に基づく利益および優先権を主張し、各々の内容全体をあらゆる目的のために本明細書に引用により援用する。
(177600US)の出願第15/700784号、2017年9月11日に出願され「CLUSTERING EVENT PROCESSING ENGINES」と題された代理人整理番号088325-1
043336(177620US)の出願第15/700914号、および2017年9月11日に出願され「DATA PARTITIONING AND PARALLELISM IN A DISTRIBUTED EVENT PROCESSING SYSTEM」と題された代理人整理番号088325-1043337(177630US)の出願第15/701019号に関連する。米国特許法第120条に基づき、各出願の内容全体を、本明細書に完全に記載されているかのごとく、本明細書に引用により援用する。
従来のデータベースシステムにおいて、データは、通常はテーブルの形態である1つ以上のデータベースに記憶される。そして、記憶されるデータは、構造化照会言語(SQL)などのデータ管理言語を使用して照会および操作される。たとえば、SQLクエリは、データベースに記憶されるデータから関連するデータを識別するために定義および実行され得る。したがって、SQLクエリは、データベースに記憶されるデータの有限集合に対して実行される。さらに、SQLクエリが実行される時、それはひとたび有限データ集合に対して実行され、有限の静的結果(finite static result)を作成する。したがって、データベースは、有限の記憶されるデータ集合に対してクエリを実行するように最良に実装される。
いる。
イベントストリームのイベントを処理するための技術(たとえば、方法、システム、1つ以上のプロセッサによって実行可能なコードまたは命令を格納する非一時的なコンピュータ可読媒体)が提供される。ある実施形態において、イベント処理システムが開示される。システムは、アプリケーションを特定する情報を受信し、アプリケーションを特定する情報に基づいてアプリケーションの共通アプリケーションランタイムモデルを生成するように構成される。システムは、アプリケーションの共通アプリケーションランタイムモデルをアプリケーションの第1のジェネリック表現に変換するように構成される。特定の例において、アプリケーションの第1のジェネリック表現は、複数のターゲットイベント処理システムのうちの第1のターゲットイベント処理システムにおいて実行されるように構成される。特定の例において、アプリケーションの第1のジェネリック表現は、アプリケーションのコンポーネントのランタイム有向非巡回グラフ(Directed Acyclic Graph)(DAG)を含む。
表現に変換することを含む。
以下の説明では、さまざまな実施形態について説明する。説明のために、具体的な構成
および詳細は、実施形態の完全な理解を提供するために記載される。しかしながら、実施形態が具体的な詳細なしに実施されてもよいことも、当業者には明らかであろう。さらに、周知の特徴は、説明される実施形態を不明瞭にしないために省略または簡略化されてもよい。
複合イベント処理(Complex Event Processing)(CEP)は、イベント駆動型アーキテクチャに基づいてアプリケーションを構築するためのモジュール式プラットフォームを提供する。CEPプラットフォームの中心には、アプリケーションが宣言型SQL状言語を使用してデータのストリームに対してパターンマッチング操作をフィルタリング、照会および実行できるようにする連続問い合わせ言語(Continuous Query Language)(CQ
L)がある。開発者はアプリケーションを書くためにCQLを軽量なJava(登録商標)プログラミングモデルと組み合わせて使用できる。他のプラットフォームモジュールには、機能豊富なIDE、管理コンソール、クラスタ化、分散キャッシュ化、イベントリポジトリ、およびモニタリングなどがある。
る時間情報は、数字、タイムスタンプ、または時間の概念を表わす他の情報によって表され得る。入力イベントストリームを受信するシステムについては、イベントは、タイムスタンプの増加順でシステムに到達する。同じタイムスタンプを有する2つ以上のイベントがあり得る。
は、スキーマのデータ部分を表わし、1つ以上の属性を含み得る。たとえば、株式相場表示装置イベントストリームについてのスキーマは、<stock symbol>および<stock price>
の属性を含み得る。このようなストリームを介して受信される各イベントは、タイムスタンプと2つの属性とを有する。たとえば、株式相場表示装置イベントストリームは、以下のイベントおよび関連付けられるタイムスタンプを受け取り得る。
(<timestamp_N>,<NVDA,4>)
(<timestamp_N+1>,<ORCL,62>)
(<timestamp_N+2>,<PCAR,38>)
(<timestamp_N+3>,<SPOT,53>)
(<timestamp_N+4>,<PDCO,44>)
(<timestamp_N+5>,<PTEN,50>)
…
上記のストリームにおいて、ストリーム要素(<timestamp_N+1>,<ORCL,62>)については
、イベントは、「stock_symbol」および「stock_value」を伴う<ORCL,62>である。ストリーム要素に関連付けられるタイムスタンプは、「timestamp_N+1」である。したがって、
連続イベントストリームはイベントのフローであり、各イベントは同じ一連の属性を有する。
トリーム要素は、タプルとタイムスタンプのペアであり得て、タイムスタンプを持つタプル挿入のシーケンスとして表わされ得る。言い換えると、ストリームは、タイムスタンプを持つタプルのシーケンスであり得る。一部の場合において、同じタイムスタンプを有する2つ以上のタプルがあり得る。加えて、入力ストリームのタプルは、タイムスタンプの増加順でシステムに到達する必要があり得る。代替的に、リレーション(「時間で変化するリレーション」ともいわれ、リレーショナルデータベースからのデータを含み得る「リレーショナルデータ」と混同されない)は、時間ドメインからスキーマRのタプルの非有界バッグへのマッピングであり得る。一部の例において、リレーションは、順序付けされていない、時間で変化するタプルのバッグ(すなわち、瞬間的なリレーション)であり得る。一部の場合において、時間の各瞬間では、リレーションは有界集合であり得る。これは、挿入、消去、および/または更新を含んでリレーションの変化する状態を捕捉し得る、タイムスタンプを持つタプルのシーケンスとしても表わされ得る。ストリームと同様に、リレーションは、リレーションの各タプルが準拠し得る固定スキーマを有し得る。さらに、本願明細書で使用される連続クエリは、概してストリームおよび/またはリレーションのデータを処理する(すなわち、照会する)ことが可能であり得る。加えて、リレーションは、ストリームのデータを参照し得る。
ローインフラストラクチャおよびビジネスイベントの両方の量ならびに速度は、IT環境で急激に増加している。それは、金融サービスのために株式データをストリーミングするのであれ、軍事用に衛星データをストリーミングするのであれ、運輸および物流ビジネスのためにリアルタイムの車両位置データをストリーミングするのであれ、複数の業界の企業が大量の複雑なデータをリアルタイムで処理しなければならない。さらに、モバイル機器の急増および高速接続の普及は、モバイルデータの急増を助長する。同時に、ビジネスプロセスの俊敏性および実行に対する需要も高まっている。これら2つの傾向は、組織に対して、組織の、実装のイベント駆動型アーキテクチャパターンをサポートする能力を高めるよう、圧力をかけている。リアルタイムのイベント処理では、インフラストラクチャおよびアプリケーション開発環境の両方がイベント処理要件を実行する必要がある。これらの要件には、おそらくは秒単位ではなくマイクロ秒単位の応答時間で測定されるレイテンシで日常のユースケースから非常に高速のデータおよびイベントのスループットへ基準化するニーズが含まれることがよくある。さらに、イベント処理アプリケーションは、これらのイベントの流れの中で複雑なパターンを検出しなければならないことがよくある。
している。以下は、いくつかのユースケースである。
妨害攻撃検出を実行する能力。
撃を解読する能力。緊急事態に対応するために最も適切なリソースに警告する能力。
ITシステム:故障したアプリケーションやサーバをリアルタイムで検出し、是正措置をトリガする能力。
接続デバイス数の増加によるデータの爆発的増加に伴い、大量の動的に変化するデータが増加しており、データは組織内だけでなく、ファイアウォールの外側にも移動する。高速データは、特に変わり易いビジネスプロセスに高い価値をもたらす。しかしながら、このデータの一部は短い時間枠でその運用上の価値を失う。ビッグデータは、有効な洞察のための処理において時間的な余裕がある。一方、ファストデータでは、非常に動的で戦略的なデータから最大値を抽出する必要がある。それははるかに速く処理することを必要とし、生成されたデータのできるだけ近くでタイムリーなアクションをとることを容易にする。Oracle Stream Analyticsプラットフォームは、即応性のあるファストデータを実現
する。Oracle Edge Analyticsは、リアルタイムで実践的な洞察を得るために、ネットワ
ークエッジに対するデータの処理、相関付け、フィルタリング、および分析をプッシュする。
ータと結合する機能を提供し、それによってコンテキストを意識したフィルタリング、相関付け、集約およびパターンマッチングを実現する。それは、一般的なイベントソースのために、軽量で、そのまま使用できるアダプタを提供する。それは、カスタムアダプタ開発用の使いやすいアダプタフレームワークも提供する。このプラットフォームで、組織は、機会と、一見無関係のイベントによって表される脅威とを識別し、予測することができる。その増分処理パラダイムは、最小量のリソースを使用してイベントを処理することができ、極端に低いレイテンシの処理を可能にする。それはまた、それが、非常にタイムリーな警報を発令し、次のような紛失イベントや遅延イベントを即座に検出することを可能にする。
ーム設計環境およびランタイム実行は、イベントストリームとデータベースや高性能データグリッドなどの永続データストアとの両方にわたる標準ベースの連続クエリ実行をサポートする。これにより、プラットフォームは、他の態様では気付かれないであろうパターンおよび傾向を識別するためにマイクロ秒単位または分単位で回答を必要とするシステムに対するインテリジェンスの中心として機能することができる。イベント処理のユースケースでは、標準データベースSQLの数学的精度および信頼性を備えたインメモリ処理の速度が必要である。このプラットフォームクエリは、着信イベントストリームをリスニングし、クエリ最適化のための高度な自動化されたアルゴリズムを利用して、登録されたクエリを各イベントについてインメモリで継続的に実行する。インメモリ実行モデルに基づいているが、このプラットフォームはクエリ開発に標準のANSI SQL構文を利用しているため、クエリ構築の正確性および拡張性が保証される。このプラットフォームは、ANSI SQL’99規格に完全に準拠しており、リアルタイムの連続クエリパターンマッチングのために標準SQLに対するANSI SQLレビュー拡張をサポートするべく業界で利用可能な最初の製品の1つである。CQLエンジンはプロセッサ内のクエリの実行を最適化し、開発者は最適化よりもビジネスロジックに集中するようになる。
を組み合わせて、堅牢なイベント処理アプリケーションを提供できる。標準の業界用語を利用してイベントソース、プロセッサ、およびイベント出力またはシンクを記述して、このプラットフォームは、アプリケーション内でイベントを定義および操作するためにメタデータ駆動型のアプローチを提供する。その開発者は、アプリケーションの設計に視覚的な有向グラフのキャンバスおよびパレットを用いて、イベントの流れおよびイベントとデータソースとの両方にわたる処理を迅速に概説する。ドラッグアンドドロップモデリングおよび設定ウィザードを介してフローを開発して、開発者は、次いで、適切なメタデータ定義を入力して設計を実装に結び付けることができる。必要または好まれる場合には、次いで、ワンクリックで、開発者は、カスタムJavaコード開発に立ち寄ること、またはSpring(登録商標)フレームワークを直接使用して高度な概念を彼らのアプリケーションにコーディングすることができる。
登録商標)バックプレーンに基づく軽量のJavaコンテナである。それは、セキュリティ、ロギング、および作業管理アルゴリズムなど、WebLogic JEEアプリケーションサーバからの成熟したコンポーネントが含むが、リアルタイムのイベント処理環境でそれらのサービスを利用する。統合されたリアルタイムカーネルは、独自のサービスを提供して、JMXフレームワークによってサポートされるスレッドおよびメモリ管理を最適化し、パフォーマンスおよび構成のためにコンテナとの対話を可能にする。Web2.0リッチインターネットアプリケーションはHTTPパブリッシュおよびサブスクライブサービスを用いてプラットフォームと通信でき、これにより、それらは、アプリケーションチャネルにサブスクライブし、イベントをクライアントにプッシュされることができる。フットプリントが小さいため、このプラットフォームは軽量のJavaベースのコンテナであり、製品化までの時間がより速くなり、総オーナーシップコストが削減される。
ロ秒の処理レイテンシで、またはOracle Exalogicおよびその他の工学システムのそのポ
ートフォリオで最適に、毎秒数百万のイベントを処理する機能がある。これは、高性能イベント処理のユースケースに設計重点を置いただけでなく、エンタープライズクラスのリアルタイム処理インフラストラクチャコンポーネントとの緊密な統合で、完全な「トップダウン」の階層化されたソリューションを通して達成される。パフォーマンス指向のサーバクラスタのプラットフォームアーキテクチャは、Oracle Coherence技術への緊密な統合で、信頼性、故障許容、および非常に高い柔軟性に重点を置き、企業はデータグリッド全体に渡ってミッションクリティカルなアプリケーションを予測可能に基準化でき、継続的なデータの可用性およびトランザクションの保全性を確保できる。
特定の状況において、企業のユーザは、企業内で生じる重要なイベントを素早く特定しそれに反応することで、このようなイベントを特定すると直ちに対応策を取ることができるようにすることを望む場合がある。たとえば、ユーザは、企業内の限界値を超えた販売注文に関連する重要なイベントを特定することを望む場合がある。このようなシナリオにおいて、ユーザは、データストア/データウェアハウスに対して1つ以上のクエリを提出し、数分または数時間ではなく数秒以内にクエリの結果を閲覧し、異常が検出された場合は直ちに対応策を取ることができるようにすることを望む場合がある。企業は、リアルタイムのデータ処理およびデータ解析を用いることにより、より多くの意思決定を行うためにリアルタイムでイベントストリームを処理し、数秒または数分で行動を起こすことが重要なときは直ちに対応策を取ることができるようにする場合がある。
ーション機能を実行することにより、入力イベントストリームから注目すべきイベントを発見して抽出することが可能である。アプリケーションは、1つ以上の入力イベントストリームをリッスンし、1つ以上の入力イベントストリームから1つ以上の注目すべきイベントを選択するためにロジック(たとえばクエリ)を実行し、1つ以上の出力イベントストリームを介して、選択した注目すべきイベントを出力するように構成することができる。
らのストリームにおいて受信したショートメッセージを含み得る。上述のように、連続クエリはCQL言語を用いて構成することが可能である。たとえば、ワードカウントストリーミングアプリケーションにおいて実行すべきワードカウントタスク/動作を指定するために、ユーザは、FROM location GROUP BY word SELECT countといった形態を取ることができるCQLクエリを書き込むことができる。このようなクエリは、指定された場所からすべてのセンテンスを集め、これらのセンテンスから得た固有のワードを異なるグループに分けてから、各グループ内のワードの量をカウントすることができる。
分散イベント処理システムを、アプリケーションの実行に関連する結果をユーザに対して素早くかつリアルタイムで提供するように構成することが可能である。分散イベント処理システムは、アプリケーションに関連するデータを別々のコンピューティングノードにパーティションするように構成することが可能であり、各コンピューティングノードは、別のコンピュータマシン上において別のファイルとして維持することができる。このような各マシンは、アプリケーション内のクエリを、その他のマシンと並列に、上記マシン上において維持されるデータに対し、実行するように構成することができる。
本開示の特定の実施形態において、アプリケーション(たとえばイベント処理アプリケーション)に関する情報を処理するためのアプリケーション処理エンジンが開示される。アプリケーション処理エンジンは、イベント処理アプリケーションを特定する情報を受信するように構成される。特定の例において、イベント処理アプリケーションは、コンポーネントのイベント処理ネットワーク(Event Processing Network)(EPN)として表現され、イベント処理アプリケーション情報を特定する情報は、イベント処理アプリケーションの各種コンポーネント(たとえば、アダプタ、プロセッサ、ストリーム、またはイベントビーン(bean))に関する情報を含む。たとえば、イベント処理アプリケーションを特定する情報は、イベントに関する、構成情報、クエリ情報、およびその他の種類の情報を含み得る。
おいてアプリケーションの1つ以上のジェネリック表現を実行させるように構成することができる。
されないさまざまな商用プロトコルのうちのいずれかを用いてデータ通信をサポートできる、当業者によく知られたいずれかのタイプのネットワークであればよい。ほんの一例として、ネットワーク108は、イーサネット(登録商標)ネットワークやトークンリングネットワークおよび/または同様のネットワーク等の、ローカルエリアネットワーク(LAN)であってもよく、ワイドエリアネットワークであってもよく、仮想プライベートネットワーク(VPN)を含むがこれに限定されない仮想ネットワークであってもよく、インターネット、イントラネット、エクストラネット、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば、IEEE802.1Xプロトコルスイート、当該技術において周知のBluetooth(登録商標)、および/またはその他任意の無線
プロトコル)、および/またはこれらおよび/またはその他のネットワークの任意の組み合わせであってもよい。
、最適化された共通アプリケーションランタイムモデルを、ターゲットイベントストリーム処理エンジン(システム)のうちの1つによって実行できるアプリケーションの1つ以上のジェネリック表現に変換するように構成し得る。アプリケーション処理エンジン110のコンポーネント112、114、および116が実行する動作は、以下において図2との関連で詳細に説明する。
ステムが管理するSpark(登録商標)フレームワーク等の第1のタイプの分散イベント処
理プラットフォームを表し得る。第3のイベントストリーミングプラットフォームは、Flink(登録商標)システムが管理するFlink(登録商標)フレームワーク等の第3のタイプの分散イベント処理プラットフォームを表し得る。
ダプタ、ストリーム、プロセッサ、ビジネスロジックプレーンオールドJavaオブジェクト(Plain Old Java Object)(POJO)、およびビーンを含み得る。EPN200
における各コンポーネントは、イベントストリームを介して受信したデータの処理において、ある役割を果たす。上述のように、イベント処理ネットワーク(EPN)200は、これらの各種コンポーネント、これらのコンポーネントがどのようにしてともに接続されるか、アプリケーションが処理するイベントタイプ、アプリケーションが使用するイベントの選択のための連続クエリまたはロジック、アプリケーションにおいて定められたビジネスルールなどを記述する、情報を、含み得る。
において、アプリケーション304における情報は、アプリケーションにおけるすべてのコンポーネントについての情報を含む単一の構成ファイルで表すことができる。一実装例において、構成ファイルは、その構造が、共通ランタイムモデルによって定められる構成スキーマに基づく標準XMLスキーマを用いて定められる、通常のXMLドキュメントとして表現することができる。
イベントの選択のための1つ以上の連続クエリまたはロジックを指定する。
rol injection)のSpring(登録商標)の反転によって接続されたSpring(登録商標)ビ
ーンのセットである。そうすると、共通アプリケーションランタイムモデルジェネレータ316は、JAXB(Java Architecture for XML Binding(XMLバインディングのた
めのJavaアーキテクチャ))等のXMLパーサを用いてEPN構成ファイル308をパースし、パースされた構成ファイルを、EPNネットワークにおける対応付けられた各ビーンにセットするように、構成される。特定の例において、パースされた各構成ブロックまたはファイルは、このブロックまたはファイルがイベントビーンを発見し構成ブロックまたはファイルをそのイベントビーンにセットすることができるよう、識別子を有するであろう。よって、ある実施形態において、アプリケーションのための「共通アプリケーションランタイムモデル」を生成することは、1つ以上の構成ブロックのセットとしてアプリケーションを表すことを含み、各構成ブロックは、メタデータが対応付けられているSpring(登録商標)イベントビーンを表す。「共通アプリケーションランタイムモデル」の表現の一例を図4に示す。特定の例において、「共通アプリケーションランタイムモデル」は、その中に何ら処理ロジックを伴うことなく、イベント処理アプリケーションのコンポーネントに関するメタデータを維持する。
ける「orders」チャネルを表し、構成ブロック406において、CQLプロセッサはEPNにおける「orderProcessor」プロセッサを表し、構成ブロック408において、チャネル2はEPNにおける「outputChannel」チャネルを表し、構成ブロック410において
、ソケットアウトバウンド410はEPNにおける「outputAdapter」アダプタを表す。
の段を組み合わせて、「select count(*) from orders group by orderId where orderStatus=''open''」という1つのCQL段にすることができる。オプティマイザは、スケー
ラビリティを最大にするために1つの段を複数の段に分割することもできる。たとえば、「select count(*) from orders」という十分にステートフルなクエリ段を、パーティシ
ョニングを用いて、「select count(*) from order group by orderId」および「select sum(*) from counts」という2つの段に分割することができる。これにより、パーティショニングを用いてイベントのグローバルカウントを部分カウントで処理することができ、その後、部分カウントを合計してグローバルカウントにすることができる。
たとえば共通ランタイムアプリケーションモデルにおけるCQLプロセッサからコピーしたもの)を用いて入力イベントを処理してもよい。
(登録商標)分散システムが管理する分散イベント処理プラットフォームである場合、ターゲットDAGジェネレータ320を、共通アプリケーションランタイムモデル(または最適化された共通アプリケーションランタイムモデル)におけるオブジェクト(構成ブロック)を、アプリケーションを表すコンポーネントのランタイムDAG322に変換するように、構成し得る。ターゲットDAGジェネレータが生成するコンポーネントのランタイムDAG322の一例を、図5に示す。次に、コンポーネントのランタイムDAG322を、ターゲットイベントストリーム処理エンジン328が、ターゲットアプリケーション(Spark(登録商標)CQLアプリケーション)に変換する。ターゲットイベントスト
リーム処理エンジン328が、オーダーイベント処理アプリケーションのためのオーダーステータスによってグループ分けされたオーダーの数を計算するために生成するターゲットアプリケーションの一例を以下に示す。
イムモデル(たとえば400)におけるオブジェクト(402、404、406、408、および410)を、アプリケーションを表すコンポーネントのランタイムDAG500に変換するように、構成することができる。
CQL510、Map-3 512、およびPrint514を含む。SocketInbout402(図4に示す)は、SocketText502、Map-1 504、およびMap506に変換される。SocketText502コンポーネントは、上記ターゲットアプリケーションの例におけるライン7を含み、これは、ソケットからストリングをロードする。Map-1 504コンポーネントは、
ターゲットアプリケーションの例におけるライン8を含み、これは、ストリングを、カンマで分離された値に変換する。Map-2 506コンポーネントは、ターゲットアプリケー
ションの例におけるライン9を含み、これは、カンマで分離された値をタプルに変換する。CQLプロセッサ406およびChannel-1 404は、PartitionBy508およびCQL510に変換される。PartitionBy508コンポーネントは、ターゲットアプリケーショ
ンの例におけるライン10を含み、これは、CQLにおけるgroup by基準に基づいてパーティショニングを生成する。CQL510コンポーネントは、ターゲットアプリケーションの例におけるライン11を含み、これは、主要なCQL処理段である。Channel-2 4
08およびStdoutOutbound410は、Map-3 512およびPrint51に変換される。Map-3 512コンポーネントは、ターゲットアプリケーションの例におけるライン12を含
み、これは、タプルを、カンマで分離されたストリングに変換し、Print514コンポー
ネントは、ターゲットアプリケーションの例におけるライン13を含み、これは、出力ストリングをstdoutコンソールにプリントする。
して実装してもよい。いくつかの実施形態において、EPS602は、たとえば、JRockit Real Timeを使用することによりイベントを処理するために超高スループットおよびマ
イクロ秒レイテンシをサポートし得る。EPS602は、イベント処理アプリケーションを開発するためのツール(たとえばOracle CEP VisualizerおよびOracle CEP IDE)を含
む開発プラットフォーム(たとえば完全なリアルタイム・エンドツーエンドJavaイベント駆動型アーキテクチャ(EDA)開発プラットフォーム)を提供することもできる。
ストリーム702を受信し、このイベントストリームを、分散イベント処理システム710におけるコンピューティングノードのクラスタ708による後続の処理のために特定期間(たとえばX秒)1つ以上のイベントのバッチ706に、離散化(discretize)(分割)するように、構成し得る。イベントの各バッチを本明細書ではDストリーム(Dstream
)と呼ぶ。いくつかの例において、各Dストリームは内部では受信機704によってレジリエント分散データセット(Resilient Distributed Dataset)(RDD)として表され
る。これは、特定期間中に(たとえばあるイベントバッチにおいて)インジェストされたデータ(イベント)の入力ストリームすべてのスナップショットである。よって、いくつかの実施形態において、入力データストリーム702は、Dストリームのシーケンスとして表され、各Dストリームは内部ではRDDとして表され、各RDDは、特定のバッチ間隔中に受信したイベント(タプル)を含む。特定の例において、各RDDは、不変のパーティションされたエレメントのコレクションを表し、これは、キャッシュメモリに格納し分散イベント処理システムにおいて並列に実行することができる。
することにより、データの連続ストリームの分散リアルタイム処理およびイベント処理アプリケーションのデプロイを実行するように、構成することができる。
。アプリケーションの第1のジェネリック表現は、複数のターゲットイベント処理システムのうちの第1のターゲットイベント処理システムにおいて実行されるように構成し得る。一例において、アプリケーションの「共通アプリケーションランタイムモデル」をアプリケーションの第1のジェネリック表現に変換することは、共通アプリケーションランタイムモデルにおける構成ブロックを、アプリケーションのコンポーネントのランタイムDAGに変換することを含み得る。アプリケーションのために生成されるコンポーネントのランタイムDAGの一例を図5に示す。
特定の実施形態において、開示する分散イベント処理システムは、連続イベントストリームを介して受信したイベントデータのシリアライズおよびデシリアライズを実行するよ
うに構成し得る。イベントデータのシリアライズおよびデシリアライズにより、メモリにおける複合データオブジェクトを、分散イベント処理システムのコンピューティングノードに転送することができるビットのシーケンスに変換することができる。イベントデータのシリアライズおよびデシリアライズにより、分散イベント処理システムによるイベントデータの処理の前に、分散イベント処理システムにおける処理ノードによってデータを効率的に格納し表現することができる。加えて、イベントデータのシリアライズおよびデシリアライズにより、分散イベント処理システムにおける処理ノード間の入力イベントおよび出力イベントのやり取りにおけるレイテンシを低減し、分散イベント処理システムの全体的な性能を改善する。
のテキストを読み取り、各テキスト内に各ワードが現れる回数をカウントする1つ以上の連続クエリを用いて構築することができる。入力テキストは、たとえば、Facebook(登録商標)またはTwitter(登録商標)等のオンラインアプリケーションからのストリームに
おいて受信したショートメッセージを含み得る。上述のように、連続クエリはCQL言語を用いて構成することが可能である。たとえば、ワードカウントストリーミングアプリケーションにおいて実行すべきワードカウントタスク/動作を指定するために、ユーザは、SELECT count FROM location GROUP BY wordといった形態を取ることができるCQLクエリを書き込むことができる。このようなクエリは、指定された場所からすべてのセンテンスを集め、これらのセンテンスから得た固有のワードを異なるグループに分けてから、各グループ内のワードの量をカウントすることができる。
ド1014は、アプリケーションコード(たとえばJARファイルによって定められる)をエグゼキュータに送信する。アプリケーションにおいて定められた変換およびアクションに基づいて、マスタコンピューティングノード1014はタスク1020をエグゼキュータに送信することができる。
ネレータ1022は、受信機から受信したRDDオブジェクトに基づいてRDDオブジェクトの有向非巡回グラフ(DAG)を規定および/または作成するように構成し得る。いくつかの例において、DAGジェネレータ1022は、特定期間中に受信したすべてのRDDのRDDリネージグラフ(lineage graph)を表していてもよい。RDDリネージグ
ラフにおける各RDDオブジェクトは、1つ以上の親に対するポインタを、その親に対してどのような種類の関係を有しているかに関するメタデータとともに、維持する。また、RDDリネージグラフは、各RDDオブジェクトに対して実行すべき変換のDAGを特定する。マスタコンピューティングノード1014がアプリケーションにおけるジョブを実行することを要求されたとき、DAGジェネレータ1022は変換のDAGを実行する。この変換は、RDDオブジェクトに対して実行すべき1つ以上の動作を特定し、RDDオブジェクトにおけるデータをある形態から別の形態に変換することができる。これらの動作は、たとえば、アプリケーションデプロイモジュール1008によってアプリケーション生成プロセスの一部として定められてもよい。RDDオブジェクトに動作が適用されると、変換後のデータとともに新たなRDDオブジェクトが得られる。RDDオブジェクトに対して実行される動作の例は、たとえば、map、filter、flatMap、reduce、union、groupByKey、distinct、join、collect、count等を含み得る。CQL言語を要する変換のD
AGを本明細書ではCQL変換と呼ぶ場合がある。
ーリングしてもよい。次に、これらの段はタスクスケジューラ1026に送られ、タスクスケジューラ1026はリソースマネージャを介してタスクを開始する。次に、タスクがエグゼキュータノード1018によって実行される。タスクスケジューラ1026は、各RDDオブジェクト(すなわち処理中のイベントの各バッチ)に対するアプリケーション(ジョブ)において定められている動作を実行するコンピューティングノードのクラスタ1012におけるノードを特定する。
)ノードにRDDオブジェクトを送信する必要がある場合は、RDDオブジェクトにおけるデータのシリアライズおよびデシリアライズを実行する。上述のように、RDDオブジェクトにおけるデータの処理は、アプリケーションにおいて定められている1つ以上の連続クエリの実行を必要とする場合がある。ある実施形態において、タスクスケジューラ1026が特定したエグゼキュータノード(たとえば1018)は、CQLエンジン(CQLプロセッサ230等)を呼び出してRDDオブジェクトにおけるデータの処理を実行し、この処理の結果をマスタコンピューティングノード1014に返す。エグゼキュータノード1018がその処理に先立ってRDDオブジェクト内のデータのシリアライズおよびデシリアライズを実行し得る手法は、以下において図11との関連で詳細に説明する。
される入力タプルのセットに対して実行すべき特定の動作を呼び出す。
できる。シリアライズされたブロックはネットワークを通して転送するのに適したバイナリフォーマットまたはワイヤフォーマットであり、CQLエンジン1116が処理できるようにするためにはJAVAオブジェクトとしてデシリアライズされる必要があるからである。CQLエンジン1116は、入力タプルのセットを処理し、この処理に基づいて出力タプルのセットを生成する。特定の例において、CQLエンジン1116は、出力タプルのセットをシリアライズするために別のバッチシリアライザプロセス1118を呼び出し、シリアライズの結果は出力タプルのシリアライズされたブロックである。DAGジェネレータがシリアライズされた出力タプルのセットを受けると、CQL変換1108は、受けた出力タプルのシリアライズされたブロックに対する別のバッチデシリアライザプロセス1120を呼び出す。バッチデシリアライザプロセス1120の結果は、デシリアライズされた出力タプルのセットである。CQL変換1108は、出力タプルのセットをCQL変換における子変換に戻し、RDDオブジェクトにおけるデータに対して次の一組の処理動作を実行する。いくつかの実施形態において、その後、出力タプルのセット1110は分散イベント処理システムのユーザに送信される。
このようなストリームを介して受信した各イベントはしたがって、タイムスタンプと3つの属性とによって特定されるであろう。特定の実施形態において、イベントの1つ以上の属性を、入力タプルのセット(イベントのバッチ)における1つ以上のカラムで表すことができる。したがって、いくつかの例において、属性は、入力タプルのセットにおけるあるタプル(イベント)のデータ値を格納するカラムを指していてもよい。
属性のデータタイプが数値データタイプであることを確認してもよい。1210において、プロセスは、属性のデータタイプが数値データタイプか否かを判断することを含む。特定された属性のデータタイプが数値データタイプである場合、特定の実施形態において、プロセスは1212に進んで属性が表すデータ値に対して第1のタイプのデータ圧縮を実行すると判断する。たとえば、1212において、プロセスは、属性が表すデータ値に対し、数値圧縮技術(たとえば、ベース値圧縮、精度低減圧縮、または精度低減値インデックス)を適用すると判断する。1214において、プロセスは、属性によって格納されたデータ値に対して数値圧縮技術を適用した結果として、属性のシリアライズされたデータ値のセットを生成することを含む。イベントの数値属性に対してシリアライズされたデータ値のセットを生成するプロセスは、図13A、図13B、図13C、および図13Dに記載される。1216において、プロセスは、属性が表すシリアライズされたデータ値のセットを格納することを含む。
のデータタイプは非数値データタイプであることとを確認してもよい。この場合、プロセスは、1220に進んで、属性が格納するデータ値に対して第2のタイプのデータ圧縮を実施すると判断する。ある実施形態において、第2のタイプのデータ圧縮は、第1のタイプのデータ圧縮とは異なっていてもよい。たとえば、1220におけるプロセスは、属性が格納するデータ値に対し、非数値圧縮技術(たとえば値インデックス圧縮)を適用すべきであると判断してもよい。1214において、プロセスは、属性が格納するデータ値に対して非数値圧縮技術を適用した結果として、属性が表すシリアライズされたデータ値のセットを生成することを含む。イベントの非数値属性に対してシリアライズされたデータ値のセットを生成し得るプロセスは図14に記載されている。1216で、プロセスは、
属性が表すシリアライズされたデータ値のセットを格納することを含む。
い。特定の例において、イベントのすべての属性が特定および処理されると、プロセスは1222で終了する。
可能である。一例において、値_インデックス_しきい値は、デフォルト値としての11という値に設定することができる。大きい場合、プロセスは1350に進み、精度低減インデックス値圧縮技術を実行する。1310において、プロセスは、必要なビット数はカラムの元のデータタイプのビット数よりも小さいか否かを判断する。1310での検査は、シリアライズされたブロックのサイズが元のブロックから増大していないことを確認するために実行される。その理由は次の通りである。もし値の範囲をカバーするのに必要なビットが元のデータに必要なビットよりも多ければ、結果として値インデックス技術を用いて生成されたブロックは元のブロックサイズよりも大きい可能性があるからである。
ことを含む。1320において、プロセスは、そのデータ値が現在処理値であるカラム(たとえば属性)の各データ値に対して1322および1324における動作を実行することを含む。たとえば、1322において、プロセスは、一組の固有データ値からインデックスを取得することを含む。1324において、プロセスは、インデックスをバッファに格納することを含む。カラムのすべてのデータ値が処理された後、プロセスは、1326において、タプルのセットにおける固有値ごとに(固有値-最小値)を格納することを含む。これらの値は、ステップ1324で格納されたインデックスからインデックスされた実際の値を表す。
いてカラム値のアレイを圧縮することを含む。1346において、プロセスは、属性が表すデータ値の圧縮されたバイトを格納することを含む。
ックス値圧縮として、属性によって表されるデータ値に対して実行すべきデータ圧縮のタイプを格納することにより、開始される。1374において、差分値セット(たとえば値-最小値)が計算される。1376において、プロセスは、差分値セットにおけるすべての値をスキャンすることにより列挙された値のセットを取得することを含む。1378において、プロセスは、差分値セットによって表される各データ値についてインデックスのセットを計算することを含む。1380において、プロセスは、インデックスのセットから最大および最小値を計算することを含む。1382において、プロセスは、属性の最小データ値を格納することを含む。1384において、プロセスは、インデックス値のデータ値当たりのビット数を格納することを含む。1386において、プロセスは、カラムの各データ値について、必要ビットに対してビットコピーのみを実行することを含む。1388において、プロセスは、列挙された差分値のセットを格納することを含む。
のようなストリームを介して受信した各イベントはしたがって、タイムスタンプと3つの属性とによって特定できる。一例として、オーダーイベントストリームを介して受信するイベントのバッチは、以下のイベントと、対応付けられたタイムスタンプとを含み得る。
えばオーダーid属性)に適用してもよく、第2の圧縮技術を、第2の属性が非数値属性であるという判断に基づいてイベントの第2の属性(たとえばオーダーステータス属性)に適用してもよく、第3の圧縮技術を、第3の属性は数値属性であるという判断に基づいてイベントの第3の属性(たとえばオーダー量属性)に適用してもよい。特定の例において、第1のタイプの圧縮技術、第2のタイプの圧縮技術、および第3のタイプの圧縮技術は、互いに異なっていてもよい。
連続的に格納される場合、各値のインデックスは(0,5,17,25)であろう。なぜなら、このバッファは、open/0processing/0shipped/0closed/0を有するであろうからで
ある。/0は、ストリングマーカの最後を示す。値の線形バッファを用いた場合の最終圧縮結果は、(0,0,5,17,5,25,17,25)である。
ントのバッチを処理し、処理の結果として出力イベントのセットを生成する。特定の実施形態において、イベントのバッチを処理することは、イベントのバッチにおけるデータのシリアライズとその後のデシリアライズとを含み得る。図16のプロセスは、イベントのバッチにおけるデータをデシリアライズできる技術を説明する。図16に示す特定の一連の処理ステップは、限定を意図したものではない。代替の実施形態は、各種配置および組み合わせにおいて図16に示すステップよりも多くのまたは少ないステップを有し得る。
における個々のインデックス値各々を指す。
のセットにおける属性に対応する各データ値に対し、1808、1810、および1812の動作を実行することを含む。たとえば、1808において、プロセスは、index_values[value_index]からインデックスを取得することを含む。1810において、プロセス
は、value_array[index]から値を取得することを含む。1812において、プロセスは、tuples[value_index]のタプルカラムに値をセットすることを含む。
ueに読み込むことによって開始される。1904において、プロセスは、ビット数を読み取ることを含む。1906において、プロセスは、入力タプルのセットにおける属性に対応する各データ値について1908および1910のプロセスを実行することを含む。たとえば、1908において、プロセスは、値ビットをvalue_bitsに読み込むことを含む。1910において、プロセスは、base_value+value_bitsを、tuples[value_index]のタプルカラムにセットすることを含む。
の異なる値を表す(0,4900)を指す。
とを含む。2010において、プロセスは、j←0 to value_array.lengthの各値に対し、value_array[j]をvalue_array[j] + base_valueにセットすることを含む。2012にお
いて、プロセスは、入力タプルのセットにおける属性に対応する各データ値に対し、2014、2016、および2018のプロセスを実行することを含む。たとえば、2014において、プロセスは、index_values[value_index]からインデックスを取得することを
含む。2016において、プロセスは、value_array[index]から値を取得することを含む。2018において、プロセスは、tuples[value_index]のタプルカラムに値をセットす
ることを含む。
近年、場合によっては無制限であるリアルタイムデータストリームにわたって連続的にクエリを実行できるデータストリーム管理システム(data stream management system)
(DSM)が開発された。新たなDSMのうち、これらのシステムは、1つのフレームワークからバッチ処理とストリーム処理との組み合わせを提供するために、マイクロバッチ方式ベースのストリーム処理を採用する。このようなシステムの一例は、Spark(登録商
標)プラットフォーム上で実行するSpark(登録商標) Streamingアプリケーションであ
る。
1.すべてのCQLEngine2212、2214、2216を、ドライバ2206のCQLEngineTracker2202によって起動する。好ましい場所に対するCQLEngineの対応付けは設定されない。
2.最初のCQLRDD2218は好ましい場所の情報を有しない。
3.スケジューラ2204は、親RDDを親RDDの好ましい場所を用いて配置できるホストに、ともに位置しようと試みる。
4.CQLRDD2218の最初の実行は、CQLEngine2212を同一のホスト2208に対応
付ける。
5.次のCQLRDD2220は、ステップ4からの対応付け情報セットから得た好ましい場所情報を設定する。
6.スケジューラ2204は、それが設定された好ましい場所にCQLRDDを走らせようと試みる。
スケジューリングアルゴリズムが可能である。加えて、開示するローカルアフィニティアルゴリズムは、その他のイベントごとのストリーム処理システムと比較して最大の性能を提供する。
エンジンは、クラスタ内において長時間実行タスクとして実行され、通常のストリーミングジョブとして起動することができる。CQLエンジントラッカー2202は、障害という事態に遭遇したときを除いてリターンしない。
・state: CQLEngineState - INACTIVE, SCHEDULED, ACTIVE
-これは、CQLEngine2212、2214、2216のライフサイクルにわたり、INACTIVE -> SCHEDULED -> ACTIVE -> INACTIVEのように変化する。
・scheduleLocation : TaskLocation
-スケジュールされた最初の場所
・runningExecutor : ExecutorCacheTaskLocation
-CQLEngineが実際に実行されるエグゼキュータ2208の場所
・name : String
-CQLEngine2212、2214、2216の名称
・endpoint : RpcEndpointRef
-遠隔アクセスするためのCQLEngine2212、2214、2216の遠隔プロセスコ
ール(Remote Process Call)(RPC)
・errorInfo : CQLEngineErrorInfo
-最後に知られたエラー情報
ある実施形態において、CQLエンジン2212、2214、2216の起動フローは次のように説明できる。
・起動するCQLEngine2212、2214、2216の数を判断
・エグゼキュータ2208、2210、2212のリストを取得
・エグゼキュータ2208、2210、2212のリストにCQLEngine2212、221
4、2216をスケジューリングするためにラウンドロビンスケジューラを実行
・TaskScheduler2204が実際の長時間実行タスクを起動
・新たに起動したCQLEngineがCQLEngineTracker(たとえばCQLエンジントラッカー2
202)に対する「登録」RPCコールを呼び出す
特定の実施形態において、CQLEngine局所性アフィニティアルゴリズムは以下のプロセ
スによって説明することができる。
1.すべてのCQLEngineは、ドライバのCQLEngineTracker2202によって起動される。
好ましい場所に対するCQLEngineの対応付けは設定されない。
2.第1のCQLRDDは好ましい場所情報を有しない。
3.スケジューラは、親RDDを親RDDの好ましい場所を用いて配置できるホストに、ともに位置しようと試みる。
4.CQLRDDの最初の実行は、CQLEngineを同一のホストに対応付ける。
5.次のCQLRDDは、ステップ4からの対応付け情報セットから得た好ましい場所情報を設定する。
6.スケジューラは、それが設定された好ましい場所にCQLRDDを走らせようと試みる。
することができる。
・2つのケース(リジェクト(Rejected)、クラッシュ(Crashed))を扱う
・リジェクト-スケジュール場所と実際の場所とが異なる場合(スケジュール通りに始動していない)
・schedulePolicy.rescheduleCQLEngineで、古いスケジューリングされたエグゼキュータ
(アクティブでないものを除く)または新しいスケジューリングされたエグゼキュータのいずれかを用いて、スケジューリングされたエグゼキュータを得る
-スケジューリングされた場所のリストにおいてまだ生きているエグゼキュータを選択・スケジューリングされたエグゼキュータでCQLEngineを始動
以下のフローは、上記アーキテクデャのデータフローを示す。
1.ドライバ2206におけるCQLEngineTracker2202は、CQLEngineごとに、長時間
実行タスクを起動する。CQLEngineTracker2202は、そのRPCEndpointを、長時間実行
タスクにエクスポーズする。
2.TaskScheduler2204は、クラスタ内のエグゼキュータ2208、2210、22
12に対する長時間実行タスクを実行する。
3.長時間実行タスクの一部として、CQLEngineはエグゼキュータ2208、2210、
2212から実行する。
4.CQLEngineは自身をCQLEngineのRPCEndpointとともにドライバ2206におけるCQLEngineTracker2202に登録する。
5.ストリーミングDAGの一部として、CEP処理を担当するCQLRDDがある。CQLRDDは、ローカルCQLEngineまたは遠隔CQLEngineいずれかにより、CQLEngineTrackerにコンサルティングすることによって処理される。遠隔CQLEngineはRPCを通して呼
び出される。
CQLEngineは、クラスタ内の長時間実行タスクとして実行される。CQLEngineは、CQLEngineTrackerによって通常ジョブとして始動されるが、リターンすることはなく、障害またはクラッシュの場合を除いて実行を続ける。CQLEngineTrackerは、以下に記載のアルゴリズムに従い、クラスタ内のCQLEngineを起動する。
1.起動するCQLEngineの数を判断する
2.エグゼキュータのリストを取得する
3.ラウンドロビンスケジューラを実行し、エグゼキュータのリストに対してCQLEngine
をスケジューリングする
4.TaskSchedulerが実際の長時間実行タスクを起動する
5.新たに起動されたCQLEngineは、CQLEngineTrackerに対するRPCコール「登録」を
呼び出す
6.長時間実行タスクは、CQLEngineがクラッシュしたときまたはその他の障害の場合に
のみ、リターンする
ステップ1において、クラスタ内の起動するCQLEngineの数を判断する。クラスタ内のCQLEngineのデフォルト数は、クラスタ内のエグゼキュータの数と同一である。結果として、1つのCQLEngineが各エグゼキュータから実行される。CQLEngineの最大数を設定することができる。
り当てる。
Cコール「登録」を呼び出す。このステップは、以下に示すCQLEngineTrackerからトラッ
キングプロセスを開始する。
いくつかの実施形態において、CQLエンジントラッカーによる以下のトラッキング情報は、CQLEngineごとに維持することができる。
state: CQLEngineState
scheduleLocation : TaskLocation
runningExecutor : ExecutorCacheTaskLocation
name : String
endpoint : RpcEndpointRef
errorInfo : CQLEngineErrorInfo
「state」は、CQLEngineの状態を保つ。これは、CQLEngineのライフサイクルを通して
、INACTIVE -> SCHEDULED -> ACTIVE -> INACTIVEのように変化する。INACTIVEは、CQLEngineTrackerによってCQLEngineがトラッキングされる前の初期状態である。SCHEDULEDは
、CQLEngineをエグゼキュータにおいて実行することがスケジューリングされたときの状
態である。ACTIVEは、CQLEngineが実際にエグゼキュータから実行されているときの状態
である。
「endpoint」は、通信対象のRPCEndpointである。
CQLEngineのリカバリ
長時間実行タスクは、CQLEngineがクラッシュしたときまたはその他の障害の場合にの
み、コントロールをCQLEngineTrackerにリターンする。CQLEngineTrackerは、CQLEngine
を再始動するために、以下のCQLEngine再始動スケジューリングプロセスを用いる。再始
動スケジューリングプロセスは、リジェクトおよびクラッシュという2つのケースから呼び出される。
クが何らかの故障でリターンしたときのケースである。リジェクトは、スケジューリングされた場所と実際の場所とが異なっているときのケースである(たとえば、スケジューリングされたエグゼキュータから始動されずTaskSchedulerによって異なるエグゼキュータ
から始動される)。これは、クラスタからのリソースの問題を原因として起こり得る。
明できる。
1.古いスケジューリングされたエグゼキュータ(アクティブでないものを除く)とクラスタ内の新たなエグゼキュータを用いて候補エグゼキュータのリストを取得
2.候補エグゼキュータのリストのにおいてまだ生きているエグゼキュータを選択
3.スケジューリングされたエグゼキュータを用いてCQLEngineを始動する長時間実行タ
スクを起動
局所性アフィニティアルゴリズム
水平スケーラビリティをサポートするために、入力データセットはパーティションされパラレル化分散データ処理によって処理される。CQLEngineは、CQLEngineに対する(queryId、partitionId)の対応付けまたはアフィニティを用いて複数のパーティションを処理することができる。エグゼキュータ間でデータを送信するためにネットワークトラフィックを最小にして変換を最適化するために、このアフィニティを局所性を最大にして生成する必要がある。局所性を最大にするために、一実施形態において、CQLEngineTrackerは以下のアフィニティアルゴリズムを使用する。
1.すべてのCQLEngineを、ドライバからのCQLEngineTrackerによって起動する。好まし
い場所に対するCQLEngineの対応付けは設定されない。
2.最初のCQLRDDは好ましい場所の情報を有しない。
3.Spark(登録商標)スケジューラは、親RDDを親RDDの好ましい場所を用いて配
置できるエグゼキュータに、ともに位置しようと試みる。
4.CQLRDDは、CQLEngineTrackerに対して「getCQLEngine」RPCを呼び出す。
5.CQLRDDのパーティションの最初の計算は、(partitionId, queryId)をCQLRDDの同一のエグゼキュータに対するCQLEngineに対応付ける。
6.CQLEngineに対する(PartitionId, queryId)の好ましい場所のマッピングをCQLEngineTrackerにおいて維持する。
7.対応付けからのCQLEngineはCQLRDDにリターンし、RDDをCQLEngineによって処理する。
8.次のCQLRDDは、ステップ5で設定された対応付け情報から好ましい位置情報を設定する。
9.Spark(登録商標)スケジューラは、設定した好ましい場所にCQLRDDを走らせようと
試みる。
10.CQLRDDはCQLEngineTrackerに対し「getCQLEngine」RPCを呼び出し、(partitionId, queryId)は既に同一のエグゼキュータであるはずである。
近年、場合によっては無制限であるリアルタイムデータストリームにわたって連続的にクエリを実行できるデータストリーム管理システム(DSM)が開発された。たとえば、典型的なDSMは、1つ以上のデータストリームを受信し、データストリームに対するクエリを登録し、ストリーム内に新たなデータが現れるとクエリを連続的に実行することができる。この種の連続クエリは実行時間が長いので、DSMは、更新された結果の連続ス
トリームをクライアントに提供することができる。
段のパーティショニング基準を取り出し、変換の最適化されたDAGを生成する。各段は一組のクラスタノード上で実行することができる。
1)クエリ
2)ビジネスルール
3)空間
4)パターン
パイプラインは、上記タイプの1つ以上の段で構成することができる。
入力 -> クエリ -> クエリ-> 空間 -> 出力
いくつかの例において、ユーザはパイプラインを作製することにより所望のビジネスロジックを得る。パイプラインを設計している間、ユーザは、パイプラインに対してすべての段を選択しパイプラインの段属性を構成する場合がある。いくつかの例において、段の構成属性は段のメタデータとなる。
判断する。ユーザが作成したパイプラインをネイティブランタイム変換のDAGに変換するために、Stream Analyticsプラットフォームは以下のステップを実行することができる。
1)ソースからシンクまでパイプラインをトラバース
2)各段について、
i)段の種類を判断
ii)段の種類が「クエリ」であれば、プラットフォームは、この段について変換を分散方式で計算できるか否かをマークする
a)クエリ段に対応付けられたCQLクエリを判断
b)CQLクエリをトークンにパース
c)パースされたクエリのCQLクエリの意味解析を実行
d)各種ルールを用いてクエリ分類を判断
これらのルールは、連続クエリを、ステートレス、セミステートフル、フルステートフルというカテゴリに、分類
e)クエリがステートレスであれば、パーティショニング属性(基準)なしで、パーティショニングすべき段をマーク2406。このようにして、段は親の段のパーティショニング基準に依存する。
3)各段についげ、データ変換パイプラインのDAGにおける変換を生成する。
Stream Analyticsプラットフォームは、オブジェクトidを段のパーティショニング属性としてマークし、DAGのこの段の変換を、パーティショニング変換、次に段変換によって、マークする。
-パイプライン段のメタデータスキャンを実行しCQLクエリ分類に基づいて段を分類する。
-連続クエリ言語に基づいてクエリの意味解析を実行することによりパーティショニング属性を自動的に判断する。
-パーティショニングを用いて変換のDAGを生成する。
図26~図12は、さまざまな実施形態による本開示の態様を実施するための例示的環境の態様を示す。図26は、本開示の一実施形態を実施するための分散型システム2600の簡略図を示す。図示の実施形態では、分散型システム2600は、1つ以上のネットワーク2610でウェブブラウザ、所有権を主張できるクライアント(たとえばOracle Forms)などのクライアントアプリケーションを実行し動作させるように構成された1つ以上のクライアントコンピューティングデバイス2602,2604,2606および2608を含む。サーバ2612は、ネットワーク2610を介してリモートクライアントコンピューティングデバイス2602,2604,2606および2608と通信可能に結合されてもよい。
ンを実行するように適合されてもよい。特定の実施形態では、サーバ2612は、非仮想および仮想環境を含むことができる他のサービスまたはソフトウェアアプリケーションも提供できる。いくつかの実施形態では、これらのサービスは、ウェブベースのサービスもしくはクラウドサービスとして、またはソフトウェア・アズ・ア・サービス(SaaS)モデルの下で、クライアントコンピューティングデバイス2602,2604,2606および/または2608のユーザに対して提供されてもよい。クライアントコンピューテ
ィングデバイス2602,2604,2606および/または2608を動作させるユー
ザは、次いで、1つ以上のクライアントアプリケーションを利用してサーバ2612と対話して、これらのコンポーネントによって提供されるサービスを利用してもよい。
Windows(登録商標) Mobile(登録商標)などのソフトウェア、および/もしくは、iOS、Windows Phone、Android、BlackBerry26、Palm OSなどのさまざまなモバイルオペレーティングシステムを動作させる。クライアントデバイスは、インターネット関連アプリケーション、電子メール、ショートメッセージサービス(SMS)アプリケーションのようなさまざまなアプリケーションをサポートしてもよく、さまざまな他の通信プロトコルを使用してもよい。クライアントコンピューティングデバイスは、汎用パーソナルコンピュータであってもよく、一例として、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータも含んでもよい。クライアントコンピューティングデバイスは、たとえばGoogle Chrome OSなどのさまざまなGNU/Linuxオペレーティングシステムを限定を伴うことなく含む、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステムのいずれかを実行するワークステーションコンピュータであり得る。クライアントコンピューティングデバイスは、また、ネットワーク2610を介して通信することができる、シンクライアントコンピュータ、インターネットにより可能化されるゲームシステム(たとえば、Kinect(登録商標)ジェスチャ入力デバイスを伴うかまたは伴わないMicrosoft Xboxゲームコンソール)および/または個人メッセージ伝達デバイスなどの電子デバイスを含んでもよい。
、Twitter(登録商標)フィード、Facebook(登録商標)更新情報またはリアルタイムの更新情報を含んでもよいが、それらに限定されるものではない。サーバ2612は、データフィードおよび/またはリアルタイムのイベントをクライアントコンピューティングデバイス2602,2604,2606および2608の1つ以上の表示デバイスを介して表示するための1つ以上のアプリケーションも含んでもよい。
ーションなどのオンデマンドアプリケーションの一式を構築して提供する機能があるが、これに限定されない。SaaSサービスは、顧客が、クラウドインフラストラクチャシステム上で実行されているアプリケーションのためのソフトウェアを購入する必要なく、そのようなアプリケーションを利用することを可能にする。PaaSサービスの例としては、組織(オラクルなど)が共有された共通アーキテクチャー上で既存のアプリケーションを統合できるようにするサービスや、Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS)などのプラットフォームによって提供される共有サービスを活
用する新たなアプリケーションを構築する能力を含むが、それらに限定はされない。IaaSサービスは、通常、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のためのストレージ、ネットワーク、およびその他の基本的な計算資源などの基盤となる計算資源の管理および制御を容易にする。
2700の1つ以上のコンポーネントの簡略ブロック図である。示される実施形態において、システム環境2700は、クラウドサービスを提供するクラウドインフラストラクチャシステム2702と対話するようユーザによって用いられてもよい1つ以上のクライアントコンピューティングデバイス2704,2706および2708を含む。クライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム2702と対話して、クラウドインフラストラクチャシステム2702によって提供されるサービスを用いるよう、クライアントコンピューティングデバイスのユーザによって用いられてもよい、ウェブブラウザ、所有権付きクライアントアプリケーション(たとえばOracle Forms)または何らかの他のアプリケーションなどのようなクライアントアプリケーションを動作させるよう構成されてもよい。
。たとえば、クラウドサービスプロバイダのシステムはアプリケーションを運営管理してもよく、ユーザは、インターネットなどのような通信ネットワークを介して、オンデマンドで、アプリケーションをオーダーし使用してもよい。
などのような基底の計算資源の管理および制御を容易にする。
ユーザインターフェイス(UI)、クラウドUI2712、クラウドUI2714および/またはクラウドUI2716にアクセスし、サブスクリプションオーダーをこれらのUIを介して行ってもよい。顧客がオーダーを行うことに応答してクラウドインフラストラクチャシステム2702によって受取られるオーダー情報は、顧客を識別する情報、およびクラウドインフラストラクチャシステム2702によって提供される、その顧客が利用することを意図する1つ以上のサービスを含んでもよい。
726は、用いられるストレージの量、転送されるデータ量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのような、サブスクリプションオーダーにおけるサービスに対する使用統計を収集するよう構成されてもよい。
C)またはフィールドプログラマブルゲートアレイ(FPGA)などのカスタマイズされた回路を使用して実装することができる。
楽器などの音声入力デバイスも含んでもよい。
録商標)26 OS、およびPalm(登録商標) OSオペレーティングシステムなどのモバイルオペレーティングシステムのさまざまなバージョンを含んでもよい。
トすることができる。たとえば、ある実施形態では、通信サブシステム2824は、(たとえば、セルラー電話技術、3G、4GもしくはEDGE(グローバル進化のための高速データレート)などの先進データネットワーク技術、WiFi(IEEE802.11ファミリー規格、もしくは他のモバイル通信技術、またはそれらのいずれかの組み合わせを用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(RF)送受信機コンポーネント、グローバルポジショニングシステム(GPS)受信機コンポーネント、ならびに/または他のコンポーネントを含んでもよい。いくつかの実施形態では、通信サブシステム2824は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続(たとえば、イーサネット)を提供することができる。
らに、本開示の実施形態は特定の一連のトランザクションおよびステップを使用して記載されたが、本開示の範囲は記載された一連のトランザクションおよびステップに限定されないことは当業者には明らかである。上述した実施形態のさまざまな特徴および態様は、個別にまたはともに使用されてもよい。
Claims (20)
- アプリケーションを処理する方法であって、前記方法は、
コンピューティングデバイスにおいて、アプリケーションを特定する情報を受信するステップと、
前記コンピューティングデバイスが、前記アプリケーションを特定する前記情報に少なくとも一部基づいて、前記アプリケーションの共通アプリケーションランタイムモデルを生成するステップと、
前記コンピューティングデバイスが、前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第1のジェネリック表現に変換するステップとを含み、前記アプリケーションの前記第1のジェネリック表現は、複数のターゲットイベント処理システムのうちの第1のターゲットイベント処理システムにおいて実行されるように構成され、前記アプリケーションの前記第1のジェネリック表現は、前記アプリケーションのコンポーネントのランタイム有向非巡回グラフ(DAG)を含み、
前記コンピューティングデバイスが、前記アプリケーションの前記第1のジェネリック表現を、前記第1のターゲットイベント処理システムによる実行のために、前記第1のターゲットイベント処理システムに送信するステップを含む、方法。 - 前記アプリケーションはコンポーネントのイベント処理ネットワーク(EPN)として表現され、前記アプリケーションを特定する前記情報は、EPN構成情報、クエリ情報、および前記アプリケーションに対応付けられたルールのうちの少なくとも1つを含む、請求項1に記載の方法。
- 前記アプリケーションの共通アプリケーションランタイムモデルを生成するステップは、前記アプリケーションを、1つ以上の構成ブロックのセットとして表すことを含み、各構成ブロックは、メタデータが対応付けられているイベントビーンを表す、請求項1または2に記載の方法。
- 前記1つ以上の構成ブロックのセットは、インバウンドソケットイベントビーン、アウトバウンドソケットイベントビーン、連続クエリ言語(CQL)プロセッサイベントビーン、または1つ以上のチャネルイベントビーンのうちの少なくとも1つを含む、請求項3に記載の方法。
- 前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第1のジェネリック表現に変換するステップは、前記アプリケーションの前記共通アプリケーションランタイムモデルにおいて表される1つ以上の構成ブロックを、前記アプリケーションのコンポーネントの前記ランタイムDAGに変換することを含む、請求項1~4のいずれか1項に記載の方法。
- 前記コンピューティングデバイスが、前記アプリケーションのコンポーネントの前記ランタイムDAGを、前記第1のターゲットイベント処理システムによる実行のために送信するステップをさらに含み、前記第1のターゲットイベント処理システムは分散イベント処理システムである、請求項5に記載の方法。
- 前記コンピューティングデバイスが、前記アプリケーションの前記共通アプリケーションランタイムモデルを、前記複数のターゲットイベント処理システムのうちの第2のターゲットイベント処理システムにおける実行のために、前記アプリケーションの第2のジェネリック表現に変換するステップをさらに含み、前記第2のターゲットイベント処理システムは、前記第1のターゲットイベント処理システムと異なる、請求項1~6のいずれか1項に記載の方法。
- 前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第2のジェネリック表現に変換するステップは、前記アプリケーションの前記共通ランタイムアプリケーションモデルにおいて表される1つ以上の構成ブロックを、前記アプリケーションのターゲット表現に変換することを含む、請求項7に記載の方法。
- 前記コンピューティングデバイスが、前記アプリケーションのターゲット表現を、前記第2のターゲットイベント処理システムによる実行のために送信するステップをさらに含み、前記第2のターゲットイベント処理システムはイベントプロセッサシステムを含む、請求項8に記載の方法。
- 1つ以上のプロセッサによって実行されると1つ以上のコンピュータシステムを少なくとも以下の命令を実行するように構成するコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記コンピュータシステムは、少なくとも、
前記1つ以上のプロセッサに、アプリケーションを特定する情報を受信させる命令と、
前記1つ以上のプロセッサに、前記アプリケーションを特定する前記情報に少なくとも一部基づいて、前記アプリケーションの共通アプリケーションランタイムモデルを生成させる命令と、
前記1つ以上のプロセッサに、前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第1のジェネリック表現に変換させる命令とを実行し、前記アプリケーションの前記第1のジェネリック表現は、複数のターゲットイベント処理システムのうちの第1のターゲットイベント処理システムにおいて実行されるように構成され、前記アプリケーションの前記第1のジェネリック表現は、前記アプリケーションのコンポーネントのランタイム有向非巡回グラフ(DAG)を含み、さらに、
前記1つ以上のプロセッサに、前記アプリケーションの前記第1のジェネリック表現を、前記第1のターゲットイベント処理システムによる実行のために、前記第1のターゲットイベント処理システムに送信させる命令を実行するように、構成される、コンピュータ可読媒体。 - 前記アプリケーションはコンポーネントのイベント処理ネットワーク(EPN)として表現され、前記アプリケーションを特定する前記情報は、EPN構成情報、クエリ情報、および前記アプリケーションに対応付けられたルールのうちの少なくとも1つを含む、請求項10に記載のコンピュータ可読媒体。
- 前記1つ以上のプロセッサに、前記アプリケーションの共通アプリケーションランタイムモデルを生成させる命令は、前記1つ以上のプロセッサに、前記アプリケーションを、1つ以上の構成ブロックのセットとして表させる命令を含み、各構成ブロックは、メタデータが対応付けられているイベントビーンを表す、請求項10または11に記載のコンピュータ可読媒体。
- 前記1つ以上の構成ブロックのセットは、インバウンドソケットイベントビーン、アウトバウンドソケットイベントビーン、連続クエリ言語(CQL)プロセッサイベントビーン、または1つ以上のチャネルイベントビーンのうちの少なくとも1つを含む、請求項12に記載のコンピュータ可読媒体。
- 前記1つ以上のプロセッサに、前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第1のジェネリック表現に変換させる命令は、前記1つ以上のプロセッサに、前記アプリケーションの前記共通アプリケーションランタイムモデルにおいて表される1つ以上の構成ブロックを、前記アプリケーションのコンポーネントの前記ランタイムDAGに変換させる情報を含む、請求項10~13のいずれか1
項に記載のコンピュータ可読媒体。 - 1つ以上のプロセッサに、前記アプリケーションのコンポーネントの前記ランタイムDAGを、前記第1のターゲットイベント処理システムによる実行のために送信させる命令をさらに含み、前記第1のターゲットイベント処理システムは分散イベント処理システムである、請求項10~14のいずれか1項に記載のコンピュータ可読媒体。
- イベント処理システムであって、
複数の命令を格納するメモリと、
前記メモリにアクセスするように構成されたプロセッサとを備え、前記プロセッサはさらに、前記複数の命令を実行することにより、少なくとも、
アプリケーションを特定する情報を受信し、
前記アプリケーションを特定する前記情報に少なくとも一部基づいて、前記アプリケーションの共通アプリケーションランタイムモデルを生成し、
前記アプリケーションの前記共通アプリケーションランタイムモデルを前記アプリケーションの第1のジェネリック表現に変換するように構成され、前記アプリケーションの前記第1のジェネリック表現は、複数のターゲットイベント処理システムのうちの第1のターゲットイベント処理システムにおいて実行されるように構成され、前記アプリケーションの前記第1のジェネリック表現は、前記アプリケーションのコンポーネントのランタイム有向非巡回グラフ(DAG)を含み、さらに、
前記アプリケーションの前記第1のジェネリック表現を、前記第1のターゲットイベント処理システムによる実行のために、前記第1のターゲットイベント処理システムに送信するように、構成される、イベント処理システム。 - 前記アプリケーションはコンポーネントのイベント処理ネットワーク(EPN)として表現され、前記アプリケーションを特定する前記情報は、EPN構成情報、クエリ情報、および前記アプリケーションに対応付けられたルールのうちの少なくとも1つを含む、請求項16に記載のシステム。
- 前記プロセッサは、前記複数の命令を実行することにより、前記アプリケーションを、1つ以上の構成ブロックのセットとして表すことによって、前記アプリケーションの前記共通アプリケーションランタイムモデルを生成するように構成され、各構成ブロックは、メタデータが対応付けられているイベントビーンを表す、請求項16または17に記載のシステム。
- 前記1つ以上の構成ブロックのセットは、インバウンドソケットイベントビーン、アウトバウンドソケットイベントビーン、連続クエリ言語(CQL)プロセッサイベントビーン、または1つ以上のチャネルイベントビーンのうちの少なくとも1つを含む、請求項18に記載のシステム。
- 前記プロセッサはさらに、前記複数の命令を実行することにより、前記アプリケーションの前記共通アプリケーションランタイムモデルを、前記複数のターゲットイベント処理システムのうちの第2のターゲットイベント処理システムにおける実行のために、前記アプリケーションの第2のジェネリック表現に変換するように構成され、前記第2のターゲットイベント処理システムは、前記第1のターゲットイベント処理システムと異なる、請求項16~19のいずれか1項に記載のシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662395216P | 2016-09-15 | 2016-09-15 | |
US62/395,216 | 2016-09-15 | ||
US15/700,862 US10628424B2 (en) | 2016-09-15 | 2017-09-11 | Graph generation for a distributed event processing system |
US15/700,862 | 2017-09-11 | ||
PCT/US2017/051196 WO2018052908A1 (en) | 2016-09-15 | 2017-09-12 | Graph generation for a distributed event processing system |
JP2019514315A JP7009456B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムのためのグラフ生成 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019514315A Division JP7009456B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムのためのグラフ生成 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022062036A true JP2022062036A (ja) | 2022-04-19 |
JP7333424B2 JP7333424B2 (ja) | 2023-08-24 |
Family
ID=61560023
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019514231A Active JP7009455B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムにおけるデータシリアライズ |
JP2019514315A Active JP7009456B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムのためのグラフ生成 |
JP2022002960A Active JP7333424B2 (ja) | 2016-09-15 | 2022-01-12 | 分散イベント処理システムのためのグラフ生成 |
JP2022003027A Active JP7271734B2 (ja) | 2016-09-15 | 2022-01-12 | 分散イベント処理システムにおけるデータシリアライズ |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019514231A Active JP7009455B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムにおけるデータシリアライズ |
JP2019514315A Active JP7009456B2 (ja) | 2016-09-15 | 2017-09-12 | 分散イベント処理システムのためのグラフ生成 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022003027A Active JP7271734B2 (ja) | 2016-09-15 | 2022-01-12 | 分散イベント処理システムにおけるデータシリアライズ |
Country Status (5)
Country | Link |
---|---|
US (5) | US11573965B2 (ja) |
EP (2) | EP3513317B1 (ja) |
JP (4) | JP7009455B2 (ja) |
CN (3) | CN109716320B (ja) |
WO (2) | WO2018052908A1 (ja) |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US11416459B2 (en) | 2014-04-11 | 2022-08-16 | Douglas T. Migliori | No-code, event-driven edge computing platform |
US11507858B2 (en) * | 2015-10-28 | 2022-11-22 | Qomplx, Inc. | Rapid predictive analysis of very large data sets using the distributed computational graph using configurable arrangement of processing components |
EP3258382B1 (en) * | 2016-06-14 | 2021-08-11 | Arm Ltd | A storage controller |
US10540332B2 (en) * | 2016-08-03 | 2020-01-21 | Microsoft Technology Licensing, Llc | Efficient denormalization of data instances |
US10114616B2 (en) | 2016-08-04 | 2018-10-30 | International Business Machines Corporation | Discovery for pattern utilization for application transformation and migration into the cloud pattern |
WO2018053343A1 (en) | 2016-09-15 | 2018-03-22 | Oracle International Corporation | Managing snapshots and state with micro-batching |
US11573965B2 (en) | 2016-09-15 | 2023-02-07 | Oracle International Corporation | Data partitioning and parallelism in a distributed event processing system |
US11487716B2 (en) | 2016-09-17 | 2022-11-01 | Oracle International Corporation | Application materialization in hierarchical systems |
US11863622B2 (en) * | 2017-02-07 | 2024-01-02 | Drumwave Inc. | Cross-device data distribution with modular architecture |
KR101856454B1 (ko) * | 2017-03-06 | 2018-05-10 | 주식회사 티맥스데이터 | 분산처리를 위한 컴퓨팅 장치 |
WO2018169430A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Integrating logic in micro batch based event processing systems |
WO2018169429A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Framework for the deployment of event-based applications |
US10860618B2 (en) | 2017-09-25 | 2020-12-08 | Splunk Inc. | Low-latency streaming analytics |
US10936644B2 (en) * | 2017-10-02 | 2021-03-02 | International Business Machines Corporation | Differential processing mechanism for spark-based graph computing background |
US11379525B1 (en) * | 2017-11-22 | 2022-07-05 | Palantir Technologies Inc. | Continuous builds of derived datasets in response to other dataset updates |
US10769165B2 (en) * | 2017-12-20 | 2020-09-08 | Sap Se | Computing data lineage across a network of heterogeneous systems |
US10997180B2 (en) | 2018-01-31 | 2021-05-04 | Splunk Inc. | Dynamic query processor for streaming and batch queries |
US10860297B2 (en) * | 2018-03-28 | 2020-12-08 | Jpmorgan Chase Bank, N.A. | Methods for efficiently managing data analytics using complex dependency pipelines and devices thereof |
US10664508B1 (en) * | 2018-04-13 | 2020-05-26 | Amazon Technologies, Inc. | Server-side filtering of unstructured data items at object storage services |
CN110007899B (zh) * | 2018-06-27 | 2022-11-18 | 浙江新再灵科技股份有限公司 | 基于storm的通用窗口框架系统 |
US10997177B1 (en) | 2018-07-27 | 2021-05-04 | Workday, Inc. | Distributed real-time partitioned MapReduce for a data fabric |
WO2020041872A1 (en) | 2018-08-30 | 2020-03-05 | Streamworx.Ai Inc. | Systems, methods and computer program products for scalable, low-latency processing of streaming data |
WO2020086261A1 (en) * | 2018-10-23 | 2020-04-30 | Medici Ventures, Inc. | Context based filtering within subsets of network nodes implementing a trading system |
US10936585B1 (en) | 2018-10-31 | 2021-03-02 | Splunk Inc. | Unified data processing across streaming and indexed data sets |
US10514949B1 (en) * | 2018-12-11 | 2019-12-24 | Signals Analytics Ltd. | Efficient data processing in a serverless environment |
CN109710233A (zh) * | 2018-12-26 | 2019-05-03 | 重庆誉存大数据科技有限公司 | 一种企业风险规则引擎的指标运算方法 |
US11354168B2 (en) * | 2019-01-18 | 2022-06-07 | Salesforce.Com, Inc. | Elastic data partitioning of a database |
US20200233848A1 (en) * | 2019-01-18 | 2020-07-23 | Salesforce.Com, Inc. | Elastic data partitioning of a database |
US11113270B2 (en) | 2019-01-24 | 2021-09-07 | EMC IP Holding Company LLC | Storing a non-ordered associative array of pairs using an append-only storage medium |
US11416496B2 (en) * | 2019-03-01 | 2022-08-16 | Hitachi Vantara Llc | Computer implemented method for continuous processing of data-in-motion streams residing in distributed data sources |
SG11202109161XA (en) | 2019-03-14 | 2021-09-29 | Yadong Li | Distributed system generating rule compiler engine apparatuses, methods, systems and media |
CN110222032A (zh) * | 2019-05-22 | 2019-09-10 | 武汉掌游科技有限公司 | 一种基于软件数据分析的通用事件模型 |
US11250018B2 (en) * | 2019-06-25 | 2022-02-15 | Periscope Data Inc. | Method for automated query language expansion and indexing |
US11238048B1 (en) | 2019-07-16 | 2022-02-01 | Splunk Inc. | Guided creation interface for streaming data processing pipelines |
CN110505276B (zh) * | 2019-07-17 | 2022-05-06 | 北京三快在线科技有限公司 | 对象匹配方法、装置及系统、电子设备及存储介质 |
US11354318B2 (en) * | 2019-08-06 | 2022-06-07 | Target Brands, Inc. | Real-time collection and distribution of event stream data |
US11526502B1 (en) * | 2019-09-25 | 2022-12-13 | Amazon Technologies, Inc. | Parameterized disjoint samples of data sets |
US10719517B1 (en) * | 2019-12-18 | 2020-07-21 | Snowflake Inc. | Distributed metadata-based cluster computing |
CN111541512B (zh) * | 2020-03-13 | 2023-06-20 | 中国科学院深圳先进技术研究院 | 数据的处理方法、终端设备、可读存储介质 |
US11599551B2 (en) * | 2020-03-30 | 2023-03-07 | Oracle International Corporation | Deserialization of stream objects using multiple deserialization algorithms |
US11477258B2 (en) * | 2020-03-30 | 2022-10-18 | Oracle International Corporation | Serialization of objects using multiple serialization algorithms |
CN111666296B (zh) * | 2020-04-28 | 2024-07-09 | 中国平安财产保险股份有限公司 | 基于Flink的SQL数据实时处理方法、装置、计算机设备和介质 |
US11614923B2 (en) | 2020-04-30 | 2023-03-28 | Splunk Inc. | Dual textual/graphical programming interfaces for streaming data processing pipelines |
US11599546B2 (en) * | 2020-05-01 | 2023-03-07 | EMC IP Holding Company LLC | Stream browser for data streams |
US11604759B2 (en) | 2020-05-01 | 2023-03-14 | EMC IP Holding Company LLC | Retention management for data streams |
US11429458B2 (en) * | 2020-06-10 | 2022-08-30 | Expedia, Inc. | Architecture for large payload handling in event pipeline |
US11768954B2 (en) * | 2020-06-16 | 2023-09-26 | Capital One Services, Llc | System, method and computer-accessible medium for capturing data changes |
CN111782371B (zh) * | 2020-06-30 | 2024-05-14 | 北京百度网讯科技有限公司 | 基于dag交互的流式计算方法与装置 |
CN111984679B (zh) * | 2020-07-02 | 2021-06-04 | 中科驭数(北京)科技有限公司 | 硬件加速数据库的访问方法、装置、主机、系统及介质 |
US20220012251A1 (en) * | 2020-07-09 | 2022-01-13 | Fidelity Information Services, Llc | Multi-tenancy data analytics platform |
US11599420B2 (en) | 2020-07-30 | 2023-03-07 | EMC IP Holding Company LLC | Ordered event stream event retention |
US11474799B2 (en) * | 2020-07-31 | 2022-10-18 | Snowflake Inc. | Providing code translation related to resilient distributed datasets in database systems |
US11513871B2 (en) | 2020-09-30 | 2022-11-29 | EMC IP Holding Company LLC | Employing triggered retention in an ordered event stream storage system |
US11755555B2 (en) | 2020-10-06 | 2023-09-12 | EMC IP Holding Company LLC | Storing an ordered associative array of pairs using an append-only storage medium |
US11599293B2 (en) | 2020-10-14 | 2023-03-07 | EMC IP Holding Company LLC | Consistent data stream replication and reconstruction in a streaming data storage platform |
CN112416977B (zh) * | 2020-11-19 | 2023-12-19 | 北京人大金仓信息技术股份有限公司 | 应用于数据库的数据传输的方法、装置和设备 |
CN112532736B (zh) * | 2020-12-07 | 2022-12-06 | 珠海驿联新能源汽车有限公司 | 一种基于Spring依赖注入的物联网智能设备数据采集方法 |
CN112506939B (zh) * | 2020-12-08 | 2024-10-18 | 福建省海峡信息技术有限公司 | 一种基于Flink流式引擎的CEP规则更新方法 |
US11816065B2 (en) | 2021-01-11 | 2023-11-14 | EMC IP Holding Company LLC | Event level retention management for data streams |
US12099513B2 (en) | 2021-01-19 | 2024-09-24 | EMC IP Holding Company LLC | Ordered event stream event annulment in an ordered event stream storage system |
CN114817234A (zh) * | 2021-01-27 | 2022-07-29 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的索引的方法、设备和程序产品 |
US11636116B2 (en) | 2021-01-29 | 2023-04-25 | Splunk Inc. | User interface for customizing data streams |
US11256480B1 (en) | 2021-02-09 | 2022-02-22 | Oracle International Corporation | Deserialization of stream objects using constant-foldable method handles |
US11288045B1 (en) | 2021-02-09 | 2022-03-29 | Oracle International Corporation | Object creation from structured data using indirect constructor invocation |
US11687487B1 (en) | 2021-03-11 | 2023-06-27 | Splunk Inc. | Text files updates to an active processing pipeline |
US11914613B2 (en) * | 2021-03-31 | 2024-02-27 | Microsoft Technology Licensing, Llc | Data visibility for nested transactions in distributed systems |
CN113268503B (zh) * | 2021-04-02 | 2024-03-08 | 北京比格大数据有限公司 | 信息聚合方法、存储介质、计算机设备 |
US11740828B2 (en) | 2021-04-06 | 2023-08-29 | EMC IP Holding Company LLC | Data expiration for stream storages |
US12001881B2 (en) | 2021-04-12 | 2024-06-04 | EMC IP Holding Company LLC | Event prioritization for an ordered event stream |
US11861292B2 (en) * | 2021-04-15 | 2024-01-02 | Red Hat, Inc. | Multi-strategy compression scheme |
CN113129612B (zh) * | 2021-04-20 | 2021-12-17 | 长安大学 | 一种汽车安全性能检测线车辆预排队方法 |
US11954537B2 (en) | 2021-04-22 | 2024-04-09 | EMC IP Holding Company LLC | Information-unit based scaling of an ordered event stream |
US11663219B1 (en) | 2021-04-23 | 2023-05-30 | Splunk Inc. | Determining a set of parameter values for a processing pipeline |
US11599523B2 (en) | 2021-04-30 | 2023-03-07 | Bank Of America Corporation | System for computing system configuration file state identification using decentralized multidimensional snapshots |
US11307952B1 (en) | 2021-04-30 | 2022-04-19 | Bank Of America Corporation | System for computing system configuration file state mirroring on peer computing devices |
US20220374398A1 (en) * | 2021-05-24 | 2022-11-24 | Red Hat, Inc. | Object Creation from Schema for Event Streaming Platform |
US11681460B2 (en) | 2021-06-03 | 2023-06-20 | EMC IP Holding Company LLC | Scaling of an ordered event stream based on a writer group characteristic |
US11735282B2 (en) | 2021-07-22 | 2023-08-22 | EMC IP Holding Company LLC | Test data verification for an ordered event stream storage system |
US11989592B1 (en) | 2021-07-30 | 2024-05-21 | Splunk Inc. | Workload coordinator for providing state credentials to processing tasks of a data processing pipeline |
US11550643B1 (en) * | 2021-08-06 | 2023-01-10 | Sas Institute Inc. | Automated streaming data model generation with parallel processing capability |
CN113626410A (zh) * | 2021-08-11 | 2021-11-09 | 北京神州数字科技有限公司 | 分布式去中心化序列生成方法、装置及系统 |
US11995096B2 (en) * | 2021-08-25 | 2024-05-28 | Red Hat, Inc. | Creation of message serializer for event streaming platform |
US11593367B1 (en) * | 2021-09-29 | 2023-02-28 | Amazon Technologies, Inc. | Selecting between hydration-based scanning and stateless scale-out scanning to improve query performance |
US11971850B2 (en) | 2021-10-15 | 2024-04-30 | EMC IP Holding Company LLC | Demoted data retention via a tiered ordered event stream data storage system |
US11695696B2 (en) | 2021-11-23 | 2023-07-04 | Capital One Services, Llc | Prepopulation of caches |
US11765252B2 (en) | 2021-11-23 | 2023-09-19 | Capital One Services, Llc | Prepopulation of call center cache |
US11916787B2 (en) | 2021-11-23 | 2024-02-27 | Capital One Services, Llc | Stream listening cache updater |
WO2023198269A1 (en) * | 2022-04-11 | 2023-10-19 | Abb Schweiz Ag | Method of producing a paper product and system for producing a paper product |
WO2023212393A1 (en) * | 2022-04-29 | 2023-11-02 | Grid.ai, Inc. | Distributed application development platform |
CN114924941B (zh) * | 2022-05-25 | 2024-06-07 | 云南师范大学 | 一种基于管线模型的流式计算场景解决方案性能评估系统及方法 |
US20240102807A1 (en) * | 2022-09-27 | 2024-03-28 | Caret Holdings, Inc. | Data features integration pipeline |
US11895356B1 (en) * | 2022-11-21 | 2024-02-06 | Microsoft Technology Licensing, Llc | Systems and methods for group capture of interactive software |
CN116010463B (zh) * | 2023-01-10 | 2023-07-21 | 上海意臣信息科技有限公司 | 一种基于大数据技术的供应链控制塔 |
CN115906749B (zh) * | 2023-02-09 | 2023-06-27 | 深圳鸿芯微纳技术有限公司 | 数据处理方法、装置、终端设备及存储介质 |
CN116048866B (zh) * | 2023-03-07 | 2023-06-09 | 浙江鹏信信息科技股份有限公司 | 基于实时流计算引擎的数据故障检测方法、系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120059839A1 (en) * | 2010-09-07 | 2012-03-08 | International Business Machines Corporation | Proxying open database connectivity (odbc) calls |
JP2016504679A (ja) * | 2012-12-05 | 2016-02-12 | オラクル・インターナショナル・コーポレイション | イベント処理とマップリデュースとの統合 |
US20160162787A1 (en) * | 2014-12-08 | 2016-06-09 | Cisco Technology, Inc. | Integrating rule based computer systems with distributed data processing using control at edge agents |
Family Cites Families (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875329A (en) | 1995-12-22 | 1999-02-23 | International Business Machines Corp. | Intelligent batching of distributed messages |
US6829764B1 (en) | 1997-06-23 | 2004-12-07 | International Business Machines Corporation | System and method for maximizing usage of computer resources in scheduling of application tasks |
GB2335514B (en) | 1998-03-18 | 2003-01-22 | Ibm | A method and component for serialisation of images |
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 |
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 |
US7139977B1 (en) | 2001-01-24 | 2006-11-21 | Oracle International Corporation | System and method for producing a virtual online book |
AU2002334721B2 (en) * | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
JP2003208323A (ja) | 2002-01-11 | 2003-07-25 | Hitachi Ltd | バッチジョブの実行方法、システムおよびプログラム |
CN1451497A (zh) | 2002-04-15 | 2003-10-29 | 李志雄 | 钢塑复合管生产方法及其设备 |
US7840550B2 (en) | 2002-08-13 | 2010-11-23 | International Business Machines Corporation | System and method for monitoring database queries |
US20040060054A1 (en) | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Composition service for autonomic computing |
US6905019B2 (en) | 2002-10-09 | 2005-06-14 | Wea Manufacturing Inc. | Magazine insert with recording medium compartment |
JP2004280283A (ja) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US7546284B1 (en) | 2003-06-11 | 2009-06-09 | Blue Titan Software, Inc. | Virtual message persistence service |
WO2005024626A1 (en) | 2003-08-21 | 2005-03-17 | Microsoft Corporation | Systems for the implementation of a synchronization schemas |
US8131739B2 (en) | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
US7047252B2 (en) | 2003-12-02 | 2006-05-16 | Oracle International Corporation | Complex computation across heterogenous computer systems |
US7194451B2 (en) | 2004-02-26 | 2007-03-20 | Microsoft Corporation | Database monitoring system |
EP1759315B1 (en) | 2004-06-23 | 2010-06-30 | Oracle International Corporation | Efficient evaluation of queries using translation |
WO2006081474A2 (en) | 2005-01-27 | 2006-08-03 | Intel Corp. | Multi-path simultaneous xpath evaluation over data streams |
US8126870B2 (en) | 2005-03-28 | 2012-02-28 | Sybase, Inc. | System and methodology for parallel query optimization using semantic-based partitioning |
JP4687253B2 (ja) | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | ストリームデータ処理システムのクエリ処理方法 |
US20070168154A1 (en) | 2005-12-23 | 2007-07-19 | Ericson Richard E | User interface for statistical data analysis |
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 |
US20080016095A1 (en) | 2006-07-13 | 2008-01-17 | Nec Laboratories America, Inc. | Multi-Query Optimization of Window-Based Stream Queries |
US8077059B2 (en) | 2006-07-21 | 2011-12-13 | Eric John Davies | Database adapter for relational datasets |
US8099452B2 (en) | 2006-09-05 | 2012-01-17 | Microsoft Corporation | Event stream conditioning |
US7921416B2 (en) | 2006-10-20 | 2011-04-05 | Yahoo! Inc. | Formal language and translator for parallel processing of data |
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 |
US7774189B2 (en) | 2006-12-01 | 2010-08-10 | International Business Machines Corporation | System and method for simulating data flow using dataflow computing system |
US10152687B2 (en) | 2006-12-01 | 2018-12-11 | Goldman Sachs & Co. LLC | Application directory |
KR20080065872A (ko) | 2007-01-10 | 2008-07-15 | 삼성전자주식회사 | 슬라이딩 타입의 입력 장치 및 입력 방법 |
US7899904B2 (en) | 2007-04-30 | 2011-03-01 | Lsi Corporation | Hardware processing of regular expressions |
US8122006B2 (en) | 2007-05-29 | 2012-02-21 | Oracle International Corporation | Event processing query language including retain clause |
US20090070786A1 (en) | 2007-09-11 | 2009-03-12 | Bea Systems, Inc. | Xml-based event processing networks for event server |
US20090089078A1 (en) | 2007-09-28 | 2009-04-02 | Great-Circle Technologies, Inc. | Bundling of automated work flow |
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 |
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 |
JP5643654B2 (ja) | 2008-02-26 | 2014-12-17 | アビニシオ テクノロジー エルエルシー | データ関連性のグラフ表現 |
US7818370B2 (en) | 2008-05-20 | 2010-10-19 | Bea Systems, Inc. | Event server using clustering |
US8291006B2 (en) | 2008-05-30 | 2012-10-16 | International Business Machines Corporation | Method for generating a distributed stream processing application |
US20100030896A1 (en) | 2008-06-19 | 2010-02-04 | Microsoft Corporation | Estimating latencies for query optimization in distributed stream processing |
US7945565B2 (en) | 2008-11-20 | 2011-05-17 | Yahoo! Inc. | Method and system for generating a hyperlink-click graph |
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 |
US8180801B2 (en) | 2009-07-16 | 2012-05-15 | Sap Ag | Unified window support for event stream data management |
US20110035253A1 (en) | 2009-08-07 | 2011-02-10 | onFucus Healthcare | Systems and Methods for Optimizing Enterprise Performance Relationships to Other Applications |
JP5395565B2 (ja) | 2009-08-12 | 2014-01-22 | 株式会社日立製作所 | ストリームデータ処理方法及び装置 |
JP4992945B2 (ja) | 2009-09-10 | 2012-08-08 | 株式会社日立製作所 | ストリームデータ生成方法、ストリームデータ生成装置及びストリームデータ生成プログラム |
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 |
US9977702B2 (en) | 2009-11-23 | 2018-05-22 | International Business Machines Corporation | Event processing networks |
US8818991B2 (en) | 2009-12-23 | 2014-08-26 | Pivotal Software, Inc. | Apparatus and method for analyzing query optimizer performance |
US8959106B2 (en) | 2009-12-28 | 2015-02-17 | Oracle International Corporation | Class loading using java data cartridges |
US9805101B2 (en) | 2010-02-26 | 2017-10-31 | Ebay Inc. | Parallel data stream processing system |
JP5331737B2 (ja) | 2010-03-15 | 2013-10-30 | 株式会社日立製作所 | ストリームデータ処理障害回復方法および装置 |
US8484243B2 (en) | 2010-05-05 | 2013-07-09 | Cisco Technology, Inc. | Order-independent stream query processing |
US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
US8935232B2 (en) | 2010-06-04 | 2015-01-13 | Yale University | Query execution systems and methods |
US8326821B2 (en) | 2010-08-25 | 2012-12-04 | International Business Machines Corporation | Transforming relational queries into stream processing |
JP5605109B2 (ja) | 2010-09-14 | 2014-10-15 | 日本電気株式会社 | プログラム生成装置、方法及びプログラム並びに遠隔管理システム |
CN103189866B (zh) * | 2010-09-17 | 2017-01-18 | 甲骨文国际公司 | 复杂事件处理中对于参数化的查询/视图的支持 |
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 |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US8510284B2 (en) | 2010-12-20 | 2013-08-13 | Microsoft Corporation | Large-scale event evaluation using realtime processors |
US9201754B2 (en) | 2011-01-19 | 2015-12-01 | Red Hat, Inc. | Recording application consumption details |
US20130073586A1 (en) | 2011-05-02 | 2013-03-21 | Amadeus S.A.S. | Database system using batch-oriented computation |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
EP2729883B1 (en) * | 2011-07-08 | 2021-12-29 | Yale University | Query execution systems and methods |
US8880493B2 (en) | 2011-09-28 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Multi-streams analytics |
US9424150B2 (en) | 2011-12-06 | 2016-08-23 | Sap Se | Fault tolerance based query execution |
US9652502B2 (en) | 2012-03-30 | 2017-05-16 | Khalifa University Of Science, Technology And Research | Method and system for continuous query processing |
US9158576B2 (en) * | 2012-06-26 | 2015-10-13 | Wal-Mart Stores, Inc. | Systems and methods of processing events having an attribute and value pair |
US10931735B2 (en) | 2012-06-28 | 2021-02-23 | Netflix, Inc. | Application discovery |
US9607045B2 (en) | 2012-07-12 | 2017-03-28 | Microsoft Technology Licensing, Llc | Progressive query computation using streaming architectures |
US9009213B2 (en) | 2012-08-27 | 2015-04-14 | Sap Se | Distributing pre-rendering processing tasks |
US8892484B2 (en) | 2012-09-28 | 2014-11-18 | Sphere Of Influence, Inc. | System and method for predicting events |
US9262479B2 (en) | 2012-09-28 | 2016-02-16 | Oracle International Corporation | Join operations for continuous queries over archived views |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
JP5433760B2 (ja) | 2012-10-18 | 2014-03-05 | 株式会社日立製作所 | 会議分析システム |
US9183271B2 (en) | 2012-12-04 | 2015-11-10 | Pivotal Software, Inc. | Big-fast data connector between in-memory database system and data warehouse system |
US20140172506A1 (en) | 2012-12-17 | 2014-06-19 | Microsoft Corporation | Customer segmentation |
KR20140090769A (ko) | 2013-01-10 | 2014-07-18 | 한국전자통신연구원 | 연속질의 언어 기반의 네트워크 제어 시스템 |
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 |
WO2014124686A1 (en) * | 2013-02-15 | 2014-08-21 | Telefonaktiebolaget L M Ericsson (Publ) | Optimized query execution in a distributed data stream processing environment |
US9654538B1 (en) | 2013-03-11 | 2017-05-16 | DataTorrent, Inc. | Dynamic partitioning of instances in distributed streaming platform for real-time applications |
US9674249B1 (en) | 2013-03-11 | 2017-06-06 | DataTorrent, Inc. | Distributed streaming platform for real-time applications |
WO2014171926A1 (en) | 2013-04-16 | 2014-10-23 | Hewlett-Packard Development Company, L.P. | Distributed event correlation 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 |
US10091282B2 (en) | 2013-06-12 | 2018-10-02 | Sap Se | Metadata-driven dynamic load balancing in multi-tenant systems |
WO2015039046A1 (en) | 2013-09-16 | 2015-03-19 | Metanautix, Inc. | Data flow exploration |
WO2015044374A1 (de) | 2013-09-27 | 2015-04-02 | Petri Rudolf Markus | Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung |
US10663609B2 (en) | 2013-09-30 | 2020-05-26 | Saudi Arabian Oil Company | Combining multiple geophysical attributes using extended quantization |
US9313134B2 (en) | 2013-10-15 | 2016-04-12 | Cisco Technology, Inc. | Leveraging hardware accelerators for scalable distributed stream processing in a network environment |
EP2866144B1 (en) | 2013-10-28 | 2020-03-25 | Software AG | Self-correcting complex event processing system and corresponding method for error correction |
US9405854B2 (en) * | 2013-12-16 | 2016-08-02 | Sybase, Inc. | Event stream processing partitioning |
US9697262B2 (en) | 2013-12-17 | 2017-07-04 | Microsoft Technology Licensing, Llc | Analytical data processing engine |
WO2015094269A1 (en) | 2013-12-19 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Hybrid flows containing a continuous flow |
US9389943B2 (en) | 2014-01-07 | 2016-07-12 | International Business Machines Corporation | Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system |
US9817851B2 (en) | 2014-01-09 | 2017-11-14 | Business Objects Software Ltd. | Dyanmic data-driven generation and modification of input schemas for data analysis |
KR20150092586A (ko) | 2014-02-05 | 2015-08-13 | 한국전자통신연구원 | 데이터 플로 기반 대규모 데이터 스트림 처리 방법 및 장치 |
US9791485B2 (en) | 2014-03-10 | 2017-10-17 | Silver Spring Networks, Inc. | Determining electric grid topology via a zero crossing technique |
US8918371B1 (en) | 2014-05-27 | 2014-12-23 | Flexera Software Llc | Systems and methods for event log compensation |
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 |
US9641580B2 (en) | 2014-07-01 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed stream processing in the cloud |
US10235436B2 (en) * | 2014-08-29 | 2019-03-19 | Microsoft Technology Licensing, Llc | Event stream transformations |
US10025802B2 (en) | 2014-09-19 | 2018-07-17 | Amazon Technologies, Inc. | Automated configuration of log-coordinated storage groups |
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 |
US9613110B2 (en) | 2014-12-12 | 2017-04-04 | Sap Se | Fast serialization for data transfer |
US9894147B1 (en) | 2014-12-23 | 2018-02-13 | EMC IP Holding Company LLC | Application plugin framework for big-data clusters |
JP6463845B2 (ja) | 2015-02-11 | 2019-02-06 | アビニシオ テクノロジー エルエルシー | データ系統図のフィルタリング |
US10095547B1 (en) | 2015-03-13 | 2018-10-09 | Twitter, Inc. | Stream processing at scale |
US20160306827A1 (en) * | 2015-04-15 | 2016-10-20 | International Business Machines Corporation | Synchronizing data rules and corresponding metadata to implement data governance |
US20160328432A1 (en) * | 2015-05-06 | 2016-11-10 | Squigglee LLC | System and method for management of time series data sets |
CA3001304C (en) | 2015-06-05 | 2021-10-19 | C3 Iot, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10198298B2 (en) * | 2015-09-16 | 2019-02-05 | Salesforce.Com, Inc. | Handling multiple task sequences in a stream processing framework |
US9900360B1 (en) * | 2015-09-30 | 2018-02-20 | Quantcast Corporation | Managing a distributed system processing a publisher's streaming data |
US9672082B2 (en) | 2015-10-21 | 2017-06-06 | Oracle International Corporation | Guaranteeing the event order for multi-stage processing in distributed systems |
US10303695B2 (en) * | 2015-10-21 | 2019-05-28 | Oracle International Corporation | Query decomposition for scalability of continuous query processing |
US10127120B2 (en) | 2015-10-22 | 2018-11-13 | Oracle International Corporation | Event batching, output sequencing, and log based state storage in continuous query processing |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10437635B2 (en) | 2016-02-10 | 2019-10-08 | Salesforce.Com, Inc. | Throttling events in entity lifecycle management |
US10402256B2 (en) | 2016-05-03 | 2019-09-03 | Gopro, Inc. | Systems and methods for micro-batch processing of data |
WO2018053343A1 (en) | 2016-09-15 | 2018-03-22 | Oracle International Corporation | Managing snapshots and state with micro-batching |
US11573965B2 (en) | 2016-09-15 | 2023-02-07 | Oracle International Corporation | Data partitioning and parallelism in a distributed event processing system |
US10891326B2 (en) | 2017-01-05 | 2021-01-12 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US10554577B2 (en) | 2017-03-14 | 2020-02-04 | International Business Machines Corporation | Adaptive resource scheduling for data stream processing |
WO2018169430A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Integrating logic in micro batch based event processing systems |
WO2018169429A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Framework for the deployment of event-based applications |
US10552161B2 (en) | 2017-06-21 | 2020-02-04 | International Business Machines Corporation | Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation |
-
2017
- 2017-09-11 US US15/701,019 patent/US11573965B2/en active Active
- 2017-09-11 US US15/700,862 patent/US10628424B2/en active Active
- 2017-09-11 US US15/700,784 patent/US11657056B2/en active Active
- 2017-09-11 US US15/700,914 patent/US11977549B2/en active Active
- 2017-09-12 CN CN201780056813.4A patent/CN109716320B/zh active Active
- 2017-09-12 EP EP17771969.7A patent/EP3513317B1/en active Active
- 2017-09-12 WO PCT/US2017/051196 patent/WO2018052908A1/en unknown
- 2017-09-12 WO PCT/US2017/051195 patent/WO2018052907A1/en active Search and Examination
- 2017-09-12 CN CN201780054700.0A patent/CN109690524B/zh active Active
- 2017-09-12 JP JP2019514231A patent/JP7009455B2/ja active Active
- 2017-09-12 EP EP17771970.5A patent/EP3513318A1/en not_active Ceased
- 2017-09-12 JP JP2019514315A patent/JP7009456B2/ja active Active
- 2017-09-12 CN CN202310828134.1A patent/CN116737775A/zh active Pending
-
2022
- 2022-01-12 JP JP2022002960A patent/JP7333424B2/ja active Active
- 2022-01-12 JP JP2022003027A patent/JP7271734B2/ja active Active
-
2023
- 2023-04-14 US US18/301,127 patent/US20230252028A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120059839A1 (en) * | 2010-09-07 | 2012-03-08 | International Business Machines Corporation | Proxying open database connectivity (odbc) calls |
JP2016504679A (ja) * | 2012-12-05 | 2016-02-12 | オラクル・インターナショナル・コーポレイション | イベント処理とマップリデュースとの統合 |
US20160162787A1 (en) * | 2014-12-08 | 2016-06-09 | Cisco Technology, Inc. | Integrating rule based computer systems with distributed data processing using control at edge agents |
Also Published As
Publication number | Publication date |
---|---|
JP2019533854A (ja) | 2019-11-21 |
JP7009456B2 (ja) | 2022-01-25 |
JP7333424B2 (ja) | 2023-08-24 |
EP3513317B1 (en) | 2021-11-17 |
US20180074870A1 (en) | 2018-03-15 |
US20230252028A1 (en) | 2023-08-10 |
WO2018052907A1 (en) | 2018-03-22 |
US10628424B2 (en) | 2020-04-21 |
JP7271734B2 (ja) | 2023-05-11 |
CN109690524B (zh) | 2023-07-14 |
CN109716320A (zh) | 2019-05-03 |
CN116737775A (zh) | 2023-09-12 |
US11573965B2 (en) | 2023-02-07 |
US20180075107A1 (en) | 2018-03-15 |
US11657056B2 (en) | 2023-05-23 |
WO2018052908A1 (en) | 2018-03-22 |
CN109716320B (zh) | 2023-07-25 |
EP3513318A1 (en) | 2019-07-24 |
US20180075125A1 (en) | 2018-03-15 |
JP2022058578A (ja) | 2022-04-12 |
US11977549B2 (en) | 2024-05-07 |
EP3513317A1 (en) | 2019-07-24 |
CN109690524A (zh) | 2019-04-26 |
JP7009455B2 (ja) | 2022-01-25 |
US20180075163A1 (en) | 2018-03-15 |
JP2019535065A (ja) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7009456B2 (ja) | 分散イベント処理システムのためのグラフ生成 | |
JP7018435B2 (ja) | スナップショットおよび状態のマイクロバッチ方式による管理 | |
JP7316341B2 (ja) | ストリームデータにおける空間変化検出器 | |
US11394769B2 (en) | Framework for the deployment of event-based applications | |
US11507583B2 (en) | Tuple extraction using dynamically generated extractor classes | |
US20190102387A1 (en) | Geo-hashing for proximity computation in a stream of a distributed system | |
US11609804B2 (en) | Flexible event ingestion framework in an event processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230510 |
|
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: 20230718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7333424 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |