JP2019537092A - 自動時間進行についての処理タイムスタンプおよびハートビートイベント - Google Patents
自動時間進行についての処理タイムスタンプおよびハートビートイベント Download PDFInfo
- Publication number
- JP2019537092A JP2019537092A JP2019514248A JP2019514248A JP2019537092A JP 2019537092 A JP2019537092 A JP 2019537092A JP 2019514248 A JP2019514248 A JP 2019514248A JP 2019514248 A JP2019514248 A JP 2019514248A JP 2019537092 A JP2019537092 A JP 2019537092A
- Authority
- JP
- Japan
- Prior art keywords
- event
- batch
- micro
- timestamp
- algorithm
- 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 abstract description 118
- 238000000034 method Methods 0.000 claims description 50
- 238000005192 partition Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 description 30
- 238000007726 management method Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 238000012544 monitoring process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- MROJXXOCABQVEF-UHFFFAOYSA-N Actarit Chemical compound CC(=O)NC1=CC=C(CC(O)=O)C=C1 MROJXXOCABQVEF-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000037406 food intake Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual 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
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006722 reduction reaction Methods 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本願は、2016年9月15日に出願され「自動時間進行についての処理タイムスタンプおよびハートビートイベント(PROCESSING TIMESTAMPS AND HEARTBEAT EVENTS FOR AUTOMATIC TIME PROGRESSION)」と題された米国仮出願番号第62/395,044号の利益および優先権を米国特許法第119条(e)のもとで主張し、その開示全体をあらゆる目的のために本明細書に引用により援用する。
従来のデータベースシステムでは、データは、通常はテーブルの形態の1つ以上のデータベースに格納される。格納されたデータは、次いで、構造化照会言語(SQL)などのデータ管理言語を使用して照会され操作される。たとえば、SQLクエリは、データベースに格納されたデータから関連データを識別するように定義され実行されてもよい。したがって、SQLクエリは、データベースに格納された有限のデータセットに対して実行される。さらに、SQLクエリが実行される場合、それは有限のデータセットに対して一度実行されて、有限の静的な結果を生成する。したがって、格納された有限のデータセットに対して照会を行うようにデータベースが最適に準備される。
ストリームソースからの入来イベントをマイクロバッチするようにストリームプロセッサを構成するための技術(たとえば、方法、システム、1つ以上のプロセッサによって実行可能なコードまたは命令を格納している非一時的なコンピュータ読取可能な媒体)が提供される。ある実施形態では、システムは、入来イベントのマイクロバッチについての単一のタイムスタンプを生成するように、および/またはストリームソースからの入来イベントのマイクロバッチを受信するように構成される。システムはさらに、単一のタイムスタンプをマイクロバッチの各イベントに割り当てるように、および/またはアルゴリズムに少なくとも部分的に基づいて、マイクロバッチのそれぞれのイベントごとに別個のタイムスタンプ値を生成するように構成される。いくつかの例では、システムはさらに、マイクロバッチのそれぞれのイベントごとに、別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てるように構成され得る。
以下の説明では、さまざまな実施形態が説明される。説明目的で、実施形態の完全な理解を提供するために具体的な構成および詳細が記載される。しかし、実施形態は具体的な詳細がなくても実施され得ることも当業者には明らかであろう。さらに、説明されている実施形態を曖昧にすることを避けるために、周知の特徴は省略または簡略化され得る。
複合イベント処理(CEP)は、イベント駆動型アーキテクチャに基づいてアプリケーションを構築するためのモジュール式プラットフォームを提供する。CEPプラットフォームの中心には、アプリケーションが宣言型SQL状言語を使用してデータのストリームに対してパターンマッチング操作をフィルタリング、照会および実行できるようにする連続クエリ言語(CQL)がある。開発者は、CQLを軽量なJava(登録商標)プログラミングモデルと共に用いてアプリケーションを書くことができる。その他のプラットフォームモジュールとしては、ほんの数例を挙げると、機能豊富なIDE、管理コンソール、クラスタリング、分散型キャッシング、イベントリポジトリ、およびモニタリングがある。
IT環境におけるrawインフラストラクチャおよびビジネスイベントの量と速度は、飛躍的に増加している。金融サービスのための株式データをストリーミングしているか、軍事用の衛星データをストリーミングしているか、または運送および物流業界のリアルタイムな車両位置データをストリーミングしているかにかかわらず、さまざまな業界の企業が、大量の複雑なデータをリアルタイムで処理しなければならない。さらに、モバイルデバイスの急激な増加および高速接続の普及により、モバイルデータも飛躍的に増加している。同時に、ビジネスプロセスの俊敏性および実行に対する需要も高まっている。これら2つの傾向によって、組織は、実装のイベント駆動型のアーキテクチャパターンをサポートできる必要性に迫られている。リアルタイムなイベント処理には、イベント処理要件を実行するインフラストラクチャとアプリケーション開発環境の両方が必要である。これらの要件は、日常的なユースケースから非常に高速なデータおよびイベントのスループットまでをスケーリングするニーズが含まれる場合が多く、潜在的に、秒単位ではなくマイクロ秒単位で測定される待ち時間を伴う。また、イベント処理アプリケーションで、これらのイベントのフローの複雑なパターンの検出が必要となる場合が多い。
ITシステム:障害のあるアプリケーションやサーバをリアルタイムで検出し、修正措置をトリガする能力。
近年、潜在的に無限のリアルタイムデータストリームに対してクエリを連続的に実行することができるデータストリーム管理システム(DSM)が開発されている。新たなDSMの中には、単一のフレームワークからバッチ処理とストリーム処理との組み合わせを提供するためにマイクロバッチ方式のストリーム処理を採用しているシステムもある。Spark(登録商標)上で動作するSpark Streamingは、このようなシステムの1つである。しかし、マイクロバッチ方式のストリーム処理は、イベントごとの処理を提供せず、マイクロバッチについての全てのイベントに同一のタイムスタンプを割り当てる。その結果、マイクロバッチ方式のストリーム処理は、同一のマイクロバッチ内の関係を検出することができないか、または、ウィンドウスライド持続時間がミリ秒もしくはナノ秒であるべき特定の場合について正確な結果を作成することができなかった。
1) バッチについて生成されたイベントの開始時間として「batchTime」を用いる
2) バッチ−1の終端がハートビートイベントとして送信される
3) バッチから作成されたタプルについての全てのタイムスタンプは範囲(currentBatchTime+batchDuration−2)内にあるべきである
4) タプルが作成される摂取段階においてタイムスタンプが割り当てられる
5) currentBatchTimeからcurrentBatchTime+batchDurationの範囲内にタイムスタンプを分散させるための4つの異なるポリシーがある(ウォールクロック進行(wall clock progression)、均等分散型、均等分散型トップオフ、および/またはシーケンス型トップオフ)
この解決策では、以下が新しい。
−自動時間進行についての処理タイムスタンプについてハートビートを追加する
本明細書に記載の特徴を使用する前は、マイクロバッチ方式のストリーム処理は、イベントごとに異なるタイムスタンプを割り当てることができず、イベントごとの処理が不可能であった。イベントごとの処理がないと、ストリーム処理および時系列分析が不可能ではないにしても非常に困難である。これは、イベントごとの処理を追加し、マイクロバッチ方式のストリーム処理では解決不可能であったユースケースを解決可能にすることによって、マイクロバッチ方式のストリーム処理のいくつかの欠点を解決する。
・現在時刻のベースとの差を使用する
・摂取遅延を組み込む
・オーバーフロー保護
−上記の差を最大で何らかの時間(たとえばバッチ持続時間の1/2または2/3)にキャップする
−キャップに到達した後にシーケンスを使用する
均等分散型114:
・マイクロバッチにおけるイベントの数を取得する
・間隔=(バッチ持続時間)/(イベントの数)
均等分散型トップオフ116:
・分散は「maxRate」を提供することによってユーザによって制御される
・マイクロバッチにおける各イベントはバッチ時間からシーケンス番号を取得する
・単位は、バッチの終端に達した後にナノ秒に進むことによってオーバーフロー保護を有するミリ秒である
イベント処理サービス
図2は、本開示の一実施形態を組み込むことができるイベント処理システム200の簡略化された高レベル図を示す。ある実施形態では、イベント処理システム200は、オラクル(登録商標)によって管理されるOracle Event Processor(OEP)システムを表わし得る。イベント処理システム200は、1つ以上のイベントソース(604,206,208)と、イベントストリームを処理するための環境を提供するように構成されたイベント処理サービス(EPS)202(CQサービス202とも称される)と、1つ以上のイベントシンク(610,212)とを備え得る。イベントソースは、EPS202によって受信されるイベントストリームを生成する。EPS202は、1つ以上のイベントソースから1つ以上のイベントストリームを受信し得る。
時間t1におけるウィンドウ:{(E3,CC3),(E4,CC4),(E5,CC5),(E6,CC2),(E7,CC2),(E8,CC6)}
ウィンドウ長が3秒であると仮定して、時間t0におけるウィンドウはt0からt3に進み、一方、時間t1におけるウィンドウはt1からt4に進む。したがって、CC2,t0.5:(E2,CC2),t2.5:(E6,CC2),t3:(E7,CC2)についてのイベントのみを見ると、0.5秒のスライドを有する3秒のウィンドウ内に3つのトランザクションがあるが、各バッチに同一のタイムスタンプを使用する上記のシステムはこれを見過ごす。言い換えれば、当該システムは、イベントE7およびE8の両方にバッチ時間t4を割り当て、デフォルトでこのバッチ間隔を使用してスライドする。しかし、1秒スライドすることによって、当該システムは、t=3.5におけるCC2に3つのトランザクションがあったという事実を見過ごすことになる。
イベントごとの処理を提供するために、処理タイムスタンプおよびイベントタイムスタンプが追加されている。イベントごとの処理システム内では、システムは時間を連続的に進行させる必要がある。そうしなければ、
−出力の遅延
−ウィンドウからの満了がない
−イベント検出パターンマッチングを見過ごすことによって持続時間ファイアがない
などの問題が生じ得る。
入力:
{(1001,1),(1002,2)}
を有することになる。
{(1003,3),(1004,4),(1005,5)}
を有することになる。
カスタムパーティショナーからのハートビートが挿入され得る。
CQL RDDから、スナップショット情報が送信され得、パーティションからの最大イベント時間が追加され得る。場合によっては、バッチのmax(largest eventtime)がgetCQLEngine要求の一部としてCQL RDDに返される。
p1の最大イベントタイムスタンプ−1002
p2の最大イベントタイムスタンプ−1005
バッチの最大イベントタイムスタンプ=1005
バッチ2
1002<1005であるため、getCQLEngine(P1)が1005を返す
(1005)のハートビートが入力タプルの前にCQLEngineに送信される
p1の最大イベントタイムスタンプ−1005
1005=1005であるため、getCQLEngine(P2)はハートビートを含まない
図4は、ハートビートを生成するためのフロー400を示す。ConvertToTupleRDD変換から処理タイムスタンプを作成する間、初期のハートビートが生成される。各バッチについて、バッチについての処理タイムスタンプ持続時間内の最高のタイムスタンプを有するバッチの最後に、1つのハートビートイベントを付加する。バッチが空であり、バッチについての入力イベントがない場合でも、時間進行を保証するために依然として1つのハートビートイベントを挿入する。
2.404において、HeartbeatPropagateRDDを使用してハートビートをパーティションにコピーする
3.406において、partitionBy変換を使用して実際のパーティショニングを行ない、さらに、パーティションへのハートビートの実際の伝播も行なわれる
実際のHeartbeatPropagationアルゴリズムは以下のように働く。
2.複製のハートビートタイムスタンプを除去する
3.パーティション番号を持つHBParitionValueを有することによって、ハートビートを全てのパーティションにコピーする
パーティショニングはフィールドによって何らかのグループによって行なわれるため、ハートビートイベントはタイムスタンプしか持っていないので、ハートビートイベントをこのような判断基準を用いてパーティションすることはできない。HBParitionValueは、内部にパーティション情報を持つ特別なマークオブジェクトである。パーティショナーがハートビートイベントからのHBParitionValueを見ると、パーティション値が適切に抽出され得、ハートビートイベントをパーティションにセットするために使用される。
図5は、本開示の実施形態に従ってタイムスタンプを処理するための一組の動作を記述する処理500の例示的なフロー図である。特定の実施形態では、処理500は、図1のドライバ104などのドライバ、図1の処理時間発生器110などの発生器、および/または図2のイベント処理サービス200などのサービスによって実行され得、これらの各々は分散型イベント処理システムの一部であってもよい。図5の処理は、イベントのバッチにおけるデータがタイムスタンプされ得る1つの技術を説明している。図5に示される特定の一連の処理ステップは限定的であるよう意図されるものではない。代替の実施形態は、さまざまな配置および組み合わせにおいて図5に示されるよりも多くのステップまたは少ないステップを有し得る。
図7〜図9は、さまざまな実施形態に従って本開示の態様を実現するための例示的な環境の態様を示す。図7は、本開示の一実施形態を実現するための分散型システム700の簡略図を示す。示されている実施形態では、分散型システム700は、1つ以上のクライアントコンピューティングデバイス702,704,706および708を含み、それらは、1つ以上のネットワーク710を介してウェブブラウザ、所有権付きクライアント(たとえばOracle Forms)などのクライアントアプリケーションを実行および動作させるように構成される。サーバ712は、リモートクライアントコンピューティングデバイス702,704,706および708とネットワーク710を介して通信可能に結合されてもよい。
Claims (20)
- 方法であって、
ストリームソースからの入来イベントをマイクロバッチするようにストリームプロセッサを構成することと、
前記入来イベントのマイクロバッチについての単一のタイムスタンプを生成することと、
前記ストリームソースからの前記入来イベントの前記マイクロバッチを受信することと、
前記単一のタイムスタンプを前記マイクロバッチの各イベントに割り当てることと、
アルゴリズムに少なくとも部分的に基づいて、前記マイクロバッチのそれぞれのイベントごとに別個のタイムスタンプ値を生成することと、
前記マイクロバッチのそれぞれのイベントごとに、前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てることとを備える、方法。 - 前記アルゴリズムは、ウォールクロック進行アルゴリズム、均等分散型アルゴリズム、均等分散型トップオフアルゴリズム、または単純なシーケンスアルゴリズムを備える、請求項1に記載の方法。
- 前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てることは、前記別個のタイムスタンプ値のうちの前記個々のタイムスタンプ値を、前記マイクロバッチの各イベントについての前記単一のタイムスタンプに付加することを備える、請求項1または2に記載の方法。
- 前記アルゴリズムは、前記マイクロバッチの各イベントに固有のタイムスタンプを提供する、請求項1から3のいずれか1項に記載の方法。
- 前記アルゴリズムは、前記マイクロバッチの各イベントが前記マイクロバッチの一部として識別可能であることを保証する、請求項4に記載の方法。
- 各イベントを、1つ以上の連続クエリ言語エンジンパーティションに割り当てることをさらに備える、請求項1から5のいずれか1項に記載の方法。
- 前記1つ以上の連続クエリ言語エンジンパーティションの第1のパーティションを識別することと、
前記第1のパーティションが、前記第1のパーティションに割り当てられる前記マイクロバッチにおける複数のイベントのイベント数よりも大きいウィンドウサイズを有すると判断することとをさらに備える、請求項6に記載の方法。 - 前記第1のパーティションについてのハートビートイベントを生成することと、
前記ハートビートイベントを前記第1のパーティションに挿入することとをさらに備える、請求項7に記載の方法。 - システムであって、
コンピュータによって実行可能な命令を格納するように構成されたメモリと、
前記メモリにアクセスして、前記コンピュータによって実行可能な命令を実行するように構成されたプロセッサとを備え、前記コンピュータによって実行可能な命令は、少なくとも、
ストリームソースからの入来イベントをマイクロバッチするようにストリームプロセッサを構成する命令と、
前記入来イベントのマイクロバッチについての単一のタイムスタンプを生成する命令と、
前記ストリームソースからの前記入来イベントの前記マイクロバッチを受信する命令と、
前記単一のタイムスタンプを前記マイクロバッチの各イベントに割り当てる命令と、
アルゴリズムに少なくとも部分的に基づいて、前記マイクロバッチのそれぞれのイベントごとに別個のタイムスタンプ値を生成する命令と、
前記マイクロバッチのそれぞれのイベントごとに、前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てる命令とを備える、システム。 - 前記アルゴリズムは、ウォールクロック進行アルゴリズム、均等分散型アルゴリズム、均等分散型トップオフアルゴリズム、または単純なシーケンスアルゴリズムを備える、請求項9に記載のシステム。
- 前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てることは、前記別個のタイムスタンプ値のうちの前記個々のタイムスタンプ値を、前記マイクロバッチの各イベントについての前記単一のタイムスタンプに付加することを備える、請求項9または10に記載のシステム。
- 前記アルゴリズムは、前記マイクロバッチの各イベントに固有のタイムスタンプを提供する、請求項9か11のいずれか1項に記載のシステム。
- 前記アルゴリズムは、前記マイクロバッチの各イベントが前記マイクロバッチの一部として識別可能であることを保証する、請求項12に記載のシステム。
- 前記プロセッサは、少なくとも、
各イベントを、1つ以上の連続クエリ言語エンジンパーティションに割り当てる、前記コンピュータによって実行可能な命令と、
前記1つ以上の連続クエリ言語エンジンパーティションの第1のパーティションを識別する、前記コンピュータによって実行可能な命令と、
前記第1のパーティションが、前記第1のパーティションに割り当てられる前記マイクロバッチにおける複数のイベントのイベント数よりも大きいウィンドウサイズを有すると判断する、前記コンピュータによって実行可能な命令と、
前記第1のパーティションについてのハートビートイベントを生成する、前記コンピュータによって実行可能な命令と、
前記ハートビートイベントを前記第1のパーティションに挿入する、前記コンピュータによって実行可能な命令とを実行するようにさらに構成される、請求項9から13のいずれか1項に記載のシステム。 - コンピュータによって実行可能なコードを格納しているコンピュータ読取可能な媒体であって、前記コンピュータによって実行可能なコードは、プロセッサによって実行されると前記プロセッサに動作を行なわせ、前記動作は、
ストリームソースからの入来イベントをマイクロバッチするようにストリームプロセッサを構成することと、
前記入来イベントのマイクロバッチについての単一のタイムスタンプを生成することと、
前記ストリームソースからの前記入来イベントの前記マイクロバッチを受信することと、
前記単一のタイムスタンプを前記マイクロバッチの各イベントに割り当てることと、
アルゴリズムに少なくとも部分的に基づいて、前記マイクロバッチのそれぞれのイベントごとに別個のタイムスタンプ値を生成することと、
前記マイクロバッチのそれぞれのイベントごとに、前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てることとを備える、コンピュータ読取可能な媒体。 - 前記アルゴリズムは、ウォールクロック進行アルゴリズム、均等分散型アルゴリズム、均等分散型トップオフアルゴリズム、または単純なシーケンスアルゴリズムを備える、請求項15に記載のコンピュータ読取可能な媒体。
- 前記別個のタイムスタンプ値のうちの個々のタイムスタンプ値を割り当てることは、前記別個のタイムスタンプ値のうちの前記個々のタイムスタンプ値を、前記マイクロバッチの各イベントについての前記単一のタイムスタンプに付加することを備える、請求項15または16に記載のコンピュータ読取可能な媒体。
- 前記アルゴリズムは、前記マイクロバッチの各イベントに固有のタイムスタンプを提供する、請求項15から17のいずれか1項に記載のコンピュータ読取可能な媒体。
- 前記アルゴリズムは、前記マイクロバッチの各イベントが前記マイクロバッチの一部として識別可能であることを保証する、請求項18に記載のコンピュータ読取可能な媒体。
- 前記動作は、
各イベントを、1つ以上の連続クエリ言語エンジンパーティションに割り当てることと、
前記1つ以上の連続クエリ言語エンジンパーティションの第1のパーティションを識別することと、
前記第1のパーティションが、前記第1のパーティションに割り当てられる前記マイクロバッチにおける複数のイベントのイベント数よりも大きいウィンドウサイズを有すると判断することと、
前記第1のパーティションについてのハートビートイベントを生成することと、
前記ハートビートイベントを前記第1のパーティションに挿入することとを備える、請求項15から19のいずれか1項に記載のコンピュータ読取可能な媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022006554A JP7329633B2 (ja) | 2016-09-15 | 2022-01-19 | 自動時間進行についての処理タイムスタンプおよびハートビートイベント |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662395044P | 2016-09-15 | 2016-09-15 | |
US62/395,044 | 2016-09-15 | ||
US15/696,501 US10514952B2 (en) | 2016-09-15 | 2017-09-06 | Processing timestamps and heartbeat events for automatic time progression |
US15/696,501 | 2017-09-06 | ||
PCT/US2017/050514 WO2018052792A1 (en) | 2016-09-15 | 2017-09-07 | Processing timestamps and heartbeat events for automatic time progression |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022006554A Division JP7329633B2 (ja) | 2016-09-15 | 2022-01-19 | 自動時間進行についての処理タイムスタンプおよびハートビートイベント |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019537092A true JP2019537092A (ja) | 2019-12-19 |
JP2019537092A5 JP2019537092A5 (ja) | 2020-07-30 |
JP7013450B2 JP7013450B2 (ja) | 2022-01-31 |
Family
ID=61560030
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019514248A Active JP7013450B2 (ja) | 2016-09-15 | 2017-09-07 | 自動時間進行についての処理タイムスタンプおよびハートビートイベント |
JP2022006554A Active JP7329633B2 (ja) | 2016-09-15 | 2022-01-19 | 自動時間進行についての処理タイムスタンプおよびハートビートイベント |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022006554A Active JP7329633B2 (ja) | 2016-09-15 | 2022-01-19 | 自動時間進行についての処理タイムスタンプおよびハートビートイベント |
Country Status (5)
Country | Link |
---|---|
US (2) | US10514952B2 (ja) |
EP (1) | EP3513312B1 (ja) |
JP (2) | JP7013450B2 (ja) |
CN (1) | CN109863485B (ja) |
WO (1) | WO2018052792A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023506784A (ja) * | 2019-12-13 | 2023-02-20 | ライブパーソン, インコーポレイテッド | 双方向通信システムのためのサービスとしての機能クラウドチャットボット |
DE112021006183T5 (de) | 2020-11-27 | 2023-09-28 | Nec Corporation | Management-vorrichtung, system, management-verfahren und management-programm |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10514952B2 (en) | 2016-09-15 | 2019-12-24 | Oracle International Corporation | Processing timestamps and heartbeat events for automatic time progression |
WO2024182174A1 (en) * | 2023-02-28 | 2024-09-06 | Microsoft Technology Licensing, Llc | Techniques for ingesting time-series based event data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244486A (ja) * | 2009-04-10 | 2010-10-28 | Hitachi Ltd | データ処理システム、その処理方法、及び計算機 |
JP2014512608A (ja) * | 2011-04-08 | 2014-05-22 | ザ・ボーイング・カンパニー | 一時的なデータウェアハウスにデータをロードするための方法およびシステム |
US20150169683A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | Analytical Data Processing Engine |
CN105871603A (zh) * | 2016-03-29 | 2016-08-17 | 中国科学院软件研究所 | 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法 |
JP2016526719A (ja) * | 2013-06-21 | 2016-09-05 | 株式会社日立製作所 | 時間調整を使用したストリームデータ処理方法 |
JPWO2016067335A1 (ja) * | 2014-10-27 | 2017-04-27 | 株式会社日立製作所 | ストリームデータの処理方法及びストリームデータ処理装置 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452153B2 (en) * | 2003-07-11 | 2013-05-28 | Ricoh Company, Ltd. | Associating pre-generated barcodes with temporal events |
US8099452B2 (en) * | 2006-09-05 | 2012-01-17 | Microsoft Corporation | Event stream conditioning |
US20080301135A1 (en) * | 2007-05-29 | 2008-12-04 | Bea Systems, Inc. | Event processing query language using pattern matching |
US8028194B2 (en) * | 2008-07-25 | 2011-09-27 | Inmage Systems, Inc | Sequencing technique to account for a clock error in a backup system |
GB0817022D0 (en) * | 2008-09-17 | 2008-10-22 | Sage Technologies Ltd | Information synchronisation |
US8413169B2 (en) * | 2009-10-21 | 2013-04-02 | Microsoft Corporation | Time-based event processing using punctuation events |
US20120137367A1 (en) * | 2009-11-06 | 2012-05-31 | Cataphora, Inc. | Continuous anomaly detection based on behavior modeling and heterogeneous information analysis |
US8874526B2 (en) * | 2010-03-31 | 2014-10-28 | Cloudera, Inc. | Dynamically processing an event using an extensible data model |
CN103891249B (zh) * | 2011-08-18 | 2017-12-12 | 瑞典爱立信有限公司 | 用于确定事件实例的方法和设备 |
US20130339473A1 (en) * | 2012-06-15 | 2013-12-19 | Zynga Inc. | Real time analytics via stream processing |
US9563663B2 (en) * | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US8943107B2 (en) * | 2012-12-04 | 2015-01-27 | At&T Intellectual Property I, L.P. | Generating and using temporal metadata partitions |
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 |
US9992269B1 (en) * | 2013-02-25 | 2018-06-05 | EMC IP Holding Company LLC | Distributed complex event processing |
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 |
US8978034B1 (en) * | 2013-03-15 | 2015-03-10 | Natero, Inc. | System for dynamic batching at varying granularities using micro-batching to achieve both near real-time and batch processing characteristics |
US10013318B2 (en) * | 2013-04-16 | 2018-07-03 | Entit Software Llc | Distributed event correlation system |
US9418113B2 (en) * | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
US9244978B2 (en) * | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US10049171B2 (en) * | 2014-09-10 | 2018-08-14 | Ca, Inc. | Batch processed data structures in a log repository referencing a template repository and an attribute repository |
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 |
JP6412762B2 (ja) | 2014-10-01 | 2018-10-24 | 日清製粉株式会社 | 揚げパン類の製造方法 |
US10747812B1 (en) * | 2014-10-01 | 2020-08-18 | EMC IP Holding Company LLC | Video analytics |
US20160219089A1 (en) * | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
WO2016115735A1 (en) * | 2015-01-23 | 2016-07-28 | Murthy Sharad R | Processing high volume network data |
CN107431664B (zh) * | 2015-01-23 | 2021-03-12 | 电子湾有限公司 | 消息传递系统和方法 |
US10211969B1 (en) * | 2015-07-21 | 2019-02-19 | Kelly Littlepage | Secure system for the synchronized collection and distribution of transactional messages among untrusted geographically distributed users |
WO2017018901A1 (en) * | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
WO2017023432A1 (en) * | 2015-08-05 | 2017-02-09 | Google Inc. | Data flow windowing and triggering |
EP3128423A1 (en) * | 2015-08-06 | 2017-02-08 | Hewlett-Packard Enterprise Development LP | Distributed event processing |
US10235417B1 (en) * | 2015-09-02 | 2019-03-19 | Amazon Technologies, Inc. | Partitioned search of log events |
US9672082B2 (en) * | 2015-10-21 | 2017-06-06 | Oracle International Corporation | Guaranteeing the event order for multi-stage processing in distributed systems |
US10127120B2 (en) * | 2015-10-22 | 2018-11-13 | Oracle International Corporation | Event batching, output sequencing, and log based state storage in continuous query processing |
US10514952B2 (en) | 2016-09-15 | 2019-12-24 | Oracle International Corporation | Processing timestamps and heartbeat events for automatic time progression |
-
2017
- 2017-09-06 US US15/696,501 patent/US10514952B2/en active Active
- 2017-09-07 JP JP2019514248A patent/JP7013450B2/ja active Active
- 2017-09-07 EP EP17768616.9A patent/EP3513312B1/en active Active
- 2017-09-07 WO PCT/US2017/050514 patent/WO2018052792A1/en unknown
- 2017-09-07 CN CN201780064336.6A patent/CN109863485B/zh active Active
-
2019
- 2019-10-15 US US16/653,758 patent/US11061722B2/en active Active
-
2022
- 2022-01-19 JP JP2022006554A patent/JP7329633B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244486A (ja) * | 2009-04-10 | 2010-10-28 | Hitachi Ltd | データ処理システム、その処理方法、及び計算機 |
JP2014512608A (ja) * | 2011-04-08 | 2014-05-22 | ザ・ボーイング・カンパニー | 一時的なデータウェアハウスにデータをロードするための方法およびシステム |
JP2016526719A (ja) * | 2013-06-21 | 2016-09-05 | 株式会社日立製作所 | 時間調整を使用したストリームデータ処理方法 |
US20150169683A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | Analytical Data Processing Engine |
JPWO2016067335A1 (ja) * | 2014-10-27 | 2017-04-27 | 株式会社日立製作所 | ストリームデータの処理方法及びストリームデータ処理装置 |
CN105871603A (zh) * | 2016-03-29 | 2016-08-17 | 中国科学院软件研究所 | 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023506784A (ja) * | 2019-12-13 | 2023-02-20 | ライブパーソン, インコーポレイテッド | 双方向通信システムのためのサービスとしての機能クラウドチャットボット |
DE112021006183T5 (de) | 2020-11-27 | 2023-09-28 | Nec Corporation | Management-vorrichtung, system, management-verfahren und management-programm |
Also Published As
Publication number | Publication date |
---|---|
US20180074856A1 (en) | 2018-03-15 |
JP7013450B2 (ja) | 2022-01-31 |
EP3513312A1 (en) | 2019-07-24 |
WO2018052792A1 (en) | 2018-03-22 |
EP3513312B1 (en) | 2020-12-30 |
JP2022058669A (ja) | 2022-04-12 |
US20200042351A1 (en) | 2020-02-06 |
US11061722B2 (en) | 2021-07-13 |
US10514952B2 (en) | 2019-12-24 |
CN109863485B (zh) | 2023-04-14 |
JP7329633B2 (ja) | 2023-08-18 |
CN109863485A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7333424B2 (ja) | 分散イベント処理システムのためのグラフ生成 | |
JP7316341B2 (ja) | ストリームデータにおける空間変化検出器 | |
JP7018435B2 (ja) | スナップショットおよび状態のマイクロバッチ方式による管理 | |
US9729542B2 (en) | Compartmentalizing application distribution for disparate electronic devices | |
US10942900B2 (en) | Techniques for tenant controlled visualizations and management of files in cloud storage systems | |
US9723025B2 (en) | Dependent entity provisioning | |
US10291626B2 (en) | Managing temporal aspects of accounts and entitlements | |
US10482404B2 (en) | Delegated privileged access grants | |
JP7329633B2 (ja) | 自動時間進行についての処理タイムスタンプおよびハートビートイベント | |
JP2017530469A (ja) | イベント処理のための動的に型付けされたビッグデータによるイベントの充実化 | |
US10104086B2 (en) | Techniques for fine grained protection of resources in an access management environment | |
US20150199535A1 (en) | Organization-based policies | |
US20150199625A1 (en) | Logical and physical organization management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200619 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210715 |
|
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: 20211221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7013450 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |