JP2016527575A - 複数のソースからのメッセージ情報を弾性的に処理する装置、システムおよび方法 - Google Patents
複数のソースからのメッセージ情報を弾性的に処理する装置、システムおよび方法 Download PDFInfo
- Publication number
- JP2016527575A JP2016527575A JP2015563040A JP2015563040A JP2016527575A JP 2016527575 A JP2016527575 A JP 2016527575A JP 2015563040 A JP2015563040 A JP 2015563040A JP 2015563040 A JP2015563040 A JP 2015563040A JP 2016527575 A JP2016527575 A JP 2016527575A
- Authority
- JP
- Japan
- Prior art keywords
- data message
- time
- data
- message
- feed
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/226—Delivery according to priorities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/234—Monitoring or handling of messages for tracking messages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
Abstract
Description
本願は、2013年5月31日に出願された米国特許仮出願第61/829,545号の優先権の利益を享受する。その出願の内容は、参照により本明細書に組み入れられる。
(i)タイムスタンプの欠如−いくつかのメッセージがタイムスタンプを有さない場合がある。
(ii)タイムスタンプの粒度がばらばら−いくつかのメッセージは他のものと比べた場合に異なる粒度のタイムスタンプを有しうる。例えば、注文および取引タイムスタンプはマイクロ秒精度を有し、一方取引取消は秒精度のみを有する。
(iii)時間的順序が正しくない−いくつかのデータフィードは時間的に並べられ、メッセージは見た目ランダムな時間順序で到着しうる。ある場合では、いくつかのメッセージは分単位で「遅れ」うる。
(iv)論理的順序が正しくない−メッセージは論理的な並びから外れて到着しうる。例えば、取引に先行すべき両方の注文メッセージの前にその取引メッセージが到着する。
(v)データフィードの待ち時間−各データフィードにおける待ち時間は以下のような種々のソースから導入されうる。
(a)(取引エンジンから処理宛先への)伝送待ち時間。
(b)過大なシステム負荷、特にピーク期間中のもの。
(c)データ前処理または変換動作、特にデータの並べ直しを含むもの。
(d)ひとつ以上のデータフィードが中断されることによりそのフィードが利用不可となる一方、他のデータフィードは利用可能のまま維持されること。
1.取引プラットフォームからリスナへのトランザクションメッセージの伝送において発生した待ち時間、
2.種々の入力フィードで異なる待ち時間、
3.コンバータの並べ替えロジックにより導入された遅延、および/または
4.過度のコンバータ負荷、特にピーク期間中のそれ、により生じた待ち時間。
1.ゼロの開始状態を仮定する。すなわち、リードバッファにはメッセージはない。監視されるデータフィードから最初のメッセージを読む。利用可能なメッセージを有さないフィードは、バックグラウンドにおいて<feed−poll−freq>で新たなメッセージについてポーリングされる。
2.全てのデータフィードが利用可能なメッセージを有する場合の次のメッセージループ:
a.前にメッセージを有さなかったフィードが今は利用可能なメッセージを有する場合、そのフィードについてのタイマを止める。
b.最も低いメッセージ時刻(t)を伴うメッセージを処理する。2以上のフィードが同じメッセージ時刻を有する場合、最も低い<feed−precedence>からのメッセージが使用される。
c.このフィードから次のメッセージを読み出してバッファに入れる。
d.(メッセージ時刻(t)>マーケット時刻)の場合、マーケット時刻はtへと移る。
3.ひとつ以上のフィードが利用可能なメッセージを有さない場合の次のメッセージループ:
a.前にメッセージを有さなかったフィードが今は利用可能なメッセージを有する場合、そのフィードについてのタイマを止める。
b.(利用可能なメッセージを有するフィードのそれぞれの次のメッセージから)最も低いメッセージ時刻(t)を取得する。2以上のフィードが同じメッセージ時刻を有する場合、最も高い優先性を有するフィードからのメッセージが使用される。
c.(メッセージ時刻(t)≦マーケット時刻)の場合、このメッセージを処理し、このフィードから次のメッセージを読み出しバッファに入れる。
d.(メッセージ時刻(t)>マーケット時刻)の場合、これは、メッセージ時刻≦マーケット時刻の状況で全てのメッセージが読まれたことを暗示する。feed idle timeoutは、最後のメッセージがフィードから処理された時刻(メッセージ処理時刻)に対するものである。しかしながら、次のメッセージを処理するか否かはメッセージ時刻に対するものである。利用可能なメッセージを有さない各フィードについて、
i.0:0:0.000からタイマを開始する。このタイマは0で開始されなければならない。feed−idle−timeoutは常にゼロベースであり、このタイマから到達されるものであるからである。market−time@timer−start@feedを記録する。
ii.フィードごとの処理が許可される直近時刻(process−time@feed)を計算する。
if ( timer < <feed-idle-timeout> )
{
process-time@feed = market-time@timer-start@feed
}
else
{
process-time@feed = system-time - <feed-latency>
}
<feed−idle−timeout>までは、メッセージが前に終わったところから続けられることが期待されていてもよく、したがって、現在のマーケット時刻を超えて処理しない。<feed−idle−timeout>に到達した後は、メッセージは<feed−latency>だけ実際の時刻で遅れるであろう。システム時刻は実際の時刻の近似として使用される。処理が許可される直近時刻(process−time)は全てのフィード毎処理時刻のなかで最も小さいものである。process-time=MINIMUM(all process-time@feed)。
iii.message-time (t) ≧ process-timeの場合、
1.このメッセージを処理し、このフィードから次のメッセージを読み出してバッファに入れる。
2.(t>マーケット時刻)の場合、マーケット時刻はtへと移る。
iv.それ以外の場合(すなわちmessage-time (t) < process-time)、MINIMUM(poll-freq)だけ待機し、再度チェックする。
ひとつ以上のフィードが非アクティブ状態またはタイムアウト状態にある場合の次のメッセージループ:
1.(利用可能なメッセージを有するフィードのそれぞれの次のメッセージから)最も低いメッセージ時刻(t)を取得する。2以上のフィードが同じメッセージ時刻を有する場合、最も高い優先性を有するフィードからのメッセージが使用される。
2.(メッセージ時刻(t)≦マーケット時刻)の場合、このメッセージを処理し、このフィードから次のメッセージを読み出しバッファに入れる。
3.(メッセージ時刻(t)>マーケット時刻)の場合:メッセージ時刻≦マーケット時刻の状況で全てのメッセージを読んだことを暗示する。
if (ひとつ以上のフィードが「非アクティブ」状態にある)
{
wait {{minimum(feed-poll-freq)}}
}
else
{
//メッセージを有さない全てのフィードが今や「タイムアウト」状態にあることを暗示する。
if ( message time < system-time - maximum(全てのタイムアウトしたフィードの<feed-latency>) )
{
process-message
}
else
{
wait minimum(feed-poll-freq)
}
}
a.<feed−idle−timeout>までは、メッセージは前に終わったところから続くことが期待されている。したがって、処理は現在のマーケット時刻を超えて続かない。この時点で全てのフィードがブロックされる。
b.<feed−idle−timeout>に到達した後は、メッセージは<feed−latency>だけ実際の時刻で遅れるであろう。システム時刻を実際の時刻の近似として使用する。
フィード毎の最大待ち時間(グローバルな最大待ち時間の代わりに)により、絶えずメッセージが流れてくるフィードよりも低い待ち時間がメッセージを欠いているフィードに設定されている場合に、全体の待ち時間が低減される。
以下の状況を想定する:
フィードA:大きなラグ(例えばコンバータの非効率性による)を伴う多くのメッセージ(すなわち、メッセージは常に利用可能である)
フィードB:小さなラグの非常に少数のメッセージ。
全てのフィードがメッセージを有する場合、トラッカ待ち時間=最も遅いフィードの待ち時間。ひとつ以上のフィードがメッセージを有さない場合、トラッカ待ち時間はそれが(max(feed-idle-timeout), max(feed-latency))の最大に到達する時点まで増大する。feed−idle−timeoutに到達すると、トラッカタイマはシステム時刻に対して早められる。feed−idle−timeoutがメッセージを欠いている全てのフィードにおいて到達されると、トラッカタイマはmax (feed-latency on missing feeds)だけシステム時刻から遅れるであろう。
1.ゼロの開始状態を仮定する。すなわち、リードバッファにはメッセージはない。何が利用可能かを知るべく、全てのフィードから最初のメッセージを読み出す。利用可能なメッセージを有さないフィードは、バックグラウンドにおいて<feed−poll−freq>で新たなメッセージについてポーリングされる。
2.全てのフィードが利用可能なメッセージを有する場合の次のメッセージループ:
a.前にメッセージを有さなかったフィードが今は利用可能なメッセージを有する場合、そのフィードについてのタイマを止める。
b.最も低いメッセージ時刻(t)を伴うメッセージを処理する。2以上のフィードが同じメッセージ時刻を有する場合、最も低い<feed−precedence>からのメッセージが使用される。
c.このフィードから次のメッセージを読み出してバッファに入れる。
d.(メッセージ時刻(t)>マーケット時刻)の場合、マーケット時刻はtへと移る。
3.ひとつ以上のフィードが利用可能なメッセージを有さない場合の次のメッセージループ:
a.前にメッセージを有さなかったフィードが今は利用可能なメッセージを有する場合、そのフィードについてのタイマを止める。
b.(利用可能なメッセージを有するフィードのそれぞれの次のメッセージ)から最も低いメッセージ時刻(t)を取得する。2以上のフィードが同じメッセージ時刻を有する場合、最も高い優先性を有するフィードからのメッセージが使用される。
c.(メッセージ時刻(t)≦マーケット時刻)の場合、このメッセージを処理し、このフィードから次のメッセージを読み出しバッファに入れる。
d.(メッセージ時刻(t)>マーケット時刻)の場合。
これは、メッセージ時刻≦マーケット時刻の状況で全てのメッセージを読んだことを暗示する。タイマは、最後のメッセージがフィードから処理された時刻(メッセージ処理時刻)に対するものである。しかしながら、次のメッセージを処理することを選択するか否かはメッセージ時刻に対するものである。
利用可能なメッセージを有さない各フィードについて、
(I)0:0:0.000からタイマを開始する。このタイマは0で開始されなければならない。feed−idle−timeoutは常にゼロベースであり、このタイマから到達されるものであるからである。
1.market−time@timer−start@feedを記録する。process-time@feedはこの値に対して計算される。この値はタイマが止まるまでリセットされない。
2.system−time@timer−start@feedを記録する。この値はデルタタイマを計算するためだけに使用される。
(II)フィードごとの処理が許可される直近時刻(process−time@feed)を計算する。
if ( timer < <feed-idle-timeout> )
{
process-time@feed = market-time@timer-start@feed
}
else if ( timer > <feed-latency> - latency-fudge )
{
process-time@feed = market-time@timer-start@feed
}
else
{
process-time@feed = market-time@timer-start@feed + timer + latency-fudge - <feed-latency>
}
<feed−idle−timeout>までは、メッセージが前に終わったところから続くことを期待してもよく、したがって、現在のマーケット時刻を超えて処理しない。
<feed−idle−timeout>に到達した後は、メッセージは<feed−latency>だけ実際の時刻で遅れるべきである。実際の時刻への直接のアクセスはないので、実際の時刻の良い近似は(market-time@timer-start@feed + timer)である。先読みバッファによると、実際の時刻はフィードにフラッシュされた直近のメッセージによって決定されうる。
latency-fudgeは、フィードにおける前の待機によって導入された待ち時間を補償するために使用される。market-time@timer-start@feedは既に実際の時刻で遅れているかもしれない。マーケット時刻がタイマ時刻より少量だけ移動した場合、そのフィードが既に遅れていることを知る。latency-fudge = maximum(dt - dm, 0)。
delta-market-time (dm) = market-time - market-time\@preceding-timer-start@(any feed)
delta-timer (dt) = system-time - system-time\@preceding-timer-start@(any feed)
if ( dt > dm )
{
latency-fudge = dt - dm
}
else
{
latency-fudge = 0
}
処理が許可される直近時刻(process−time)は全てのフィード毎処理時刻のなかで最も小さいものである。process-time = MINIMUM(全てのprocess-time@feed)。
If message-time (t) ≧ process-time:
3.このメッセージを処理し、このフィードから次のメッセージを読み出してバッファに入れる。
4.(t>マーケット時刻)の場合、マーケット時刻はtへと移る。
それ以外の場合(すなわちmessage-time (t) < process-time)、MINIMUM(poll-freq) だけ待機し、再度チェックする。
本例示的な実施の形態の最大待ち時間は:
max latency = max(feed idle of missing feeds) + max(latency of missing feeds) + latency @ timer start。
Claims (28)
- データメッセージフィードポートと接続され、複数のデータメッセージソースからデータメッセージを受信するよう構成された処理回路であって、各データメッセージソースは対応する時系列のデータメッセージを生成しており、前記複数のメッセージフィードポートで受信されたひとつ以上のデータメッセージはその対応する時系列から外れて受信される処理回路を備える電子データメッセージ処理装置であって、
前記処理回路は、
前記入来データメッセージフィードポートにおいて受信されたデータメッセージを、データメッセージ処理待ち時間に基づいて処理し、
前記複数のデータメッセージフィードポートから受信された前記データメッセージに統合時系列を提供するよう前記データメッセージ処理待ち時間を選択的に改め、
合成データメッセージストリームの前記データメッセージが前記統合時系列でひとつ以上の宛先ポートに送信されるように前記合成データメッセージストリームを生成する、
よう構成される電子データメッセージ処理装置。 - 前記処理回路はさらに、
状態パラメータを検出し、
前記状態パラメータが変わるまでに受信したデータメッセージを時系列にあるとして処理し、
前記状態パラメータが変わった後に受信したデータメッセージを時系列から外れるとして処理し、
前記状態パラメータが変わった後に受信した前記データメッセージを並べ替え、かつ、前記状態パラメータが変わった後に受信した前記データメッセージを含む前記合成データメッセージストリームに前記統合時系列を提供するために、前記処理待ち時間を改める、
よう構成される請求項1に記載の電子データメッセージ処理装置。 - 前記処理回路はさらに、前記電子データメッセージ処理装置における現在の実際の時刻とは別の基準時刻を使用して前記合成データメッセージストリームの前記データメッセージを処理するよう構成され、
前記基準時刻と前記現在の実際の時刻との差は前記データメッセージ処理待ち時間に関連付けられており、
前記処理回路は前記基準時刻を変更するよう構成される請求項2に記載の電子データメッセージ処理装置。 - 前記処理回路はさらに、前記合成データメッセージストリームの前記データメッセージを処理し、前記基準時刻を使用して時系列から外れたデータメッセージを検出するよう構成される請求項3に記載の電子データメッセージ処理装置。
- 前記処理回路はさらに、時間的メッセージ系列から外れたメッセージが処理された場合に前記基準時刻を維持するよう構成される請求項3に記載の電子データメッセージ処理装置。
- 前記処理回路は前記データメッセージフィードポートのそれぞれで現在受信されている次のデータメッセージであって現時点で最も低いデータメッセージ時刻を有する次のデータメッセージのメッセージ時刻と前記基準時刻とを比較するよう構成され、
(a)前記データメッセージ時刻が前記基準時刻より小さい場合、前記処理回路は該データメッセージを処理し該データメッセージフィードポートにおける次のデータメッセージを読むよう構成され、
(b)前記データメッセージ時刻が前記基準時刻より大きい場合、前記処理回路は前記基準時刻を前記データメッセージ時刻に合わせるよう構成される請求項3に記載の電子データメッセージ処理装置。 - 前記データメッセージフィードポートのうちのひとつが非アクティブ状態にあると判定された場合、前記処理回路は、(a)前記データメッセージフィードポートのうちの前記ひとつが所定の回復期間内にアクティブ状態になると判定された場合には前記合成データメッセージストリームの前記データメッセージを時間的順序で処理し、(b)前記データメッセージフィードポートのうちの前記ひとつが前記所定の回復期間外でアクティブ状態になると判定された場合には前記合成データメッセージストリームの前記データメッセージを時間的順序から外れて処理するよう構成される請求項3に記載の電子データメッセージ処理装置。
- 前記非アクティブなデータメッセージフィードポートの前記判定に基づいて、前記処理回路は、該データメッセージフィードポートが前記非アクティブ状態にある間は前記基準時刻の進行を止めるよう構成される請求項7に記載の電子データメッセージ処理装置。
- 前記処理回路は、前記合成データメッセージストリームの前記データメッセージを処理してひとつ以上の所定のパターンを検出し、該パターンに応じてひとつ以上の対応する警告データメッセージを生成するよう構成される請求項1に記載の電子データメッセージ処理装置。
- 前記処理回路は、前記合成データメッセージストリームの受信されたがまだ処理されていないデータメッセージを、以前に処理されたデータメッセージの内容に基づいて処理するよう構成される請求項1に記載の電子データメッセージ処理装置。
- 前記データメッセージのうちの少なくともいくつかは電子的取引交換からのトランザクションパラメータに関係し、
前記処理回路は、該トランザクションパラメータに基づいて、前記電子的取引交換のひとつ以上のオーダブックを更新するよう構成される請求項1に記載の電子データメッセージ処理装置。 - 前記処理回路はさらに、前記統合時系列から外れた検出データメッセージを使用して前記ひとつ以上のオーダブックを更新するよう構成される請求項11に記載の電子データメッセージ処理装置。
- 前記処理回路は、前記データメッセージフィードポートで受信された状態のデータメッセージを取得し、前記取得されたデータメッセージ内の前記データを正規化されたデータフォーマットに変換するよう構成される請求項1に記載の電子データメッセージ処理装置。
- 各受信データメッセージはタイムスタンプを含み、
前記処理回路は、順番通りでない状態で受信されたひとつ以上のデータメッセージを、前記データメッセージのタイムスタンプに基づいて並べ直すよう構成される請求項1に記載の電子データメッセージ処理装置。 - データメッセージフィードポートに接続された処理回路を有する電子データメッセージ処理装置で実行される方法であって、
前記データメッセージフィードポートにおいて複数のデータメッセージソースからデータメッセージを受信することであって、各データメッセージソースは対応する時系列のデータメッセージを生成しており、前記複数のメッセージフィードポートで受信されたひとつ以上のデータメッセージはその対応する時系列から外れて受信されることと、
前記処理回路によって、前記入来データメッセージフィードポートにおいて受信されたデータメッセージを、データメッセージ処理待ち時間に基づいて処理することと、
前記複数のデータメッセージフィードポートから受信された前記データメッセージに統合時系列を提供するよう前記データメッセージ処理待ち時間を選択的に改めることと、
合成データメッセージストリームの前記データメッセージが前記統合時系列でひとつ以上の宛先ポートに送信されるように前記合成データメッセージストリームを生成することと、を含む方法。 - 状態パラメータを検出することと、
前記状態パラメータが変わるまでに受信したデータメッセージを時系列にあるとして処理することと、
前記状態パラメータが変わった後に受信したデータメッセージを時系列から外れるとして処理することと、
前記状態パラメータが変わった後に受信した前記データメッセージを含む前記合成データメッセージストリームに前記統合時系列を提供するよう前記状態パラメータが変わった後に受信した前記データメッセージを並べ替えるために、前記処理待ち時間を改めることと、をさらに含む請求項15に記載の方法。 - 前記電子データメッセージ処理装置における現在の実際の時刻とは別の基準時刻を使用して前記合成データメッセージストリームの前記データメッセージを処理することをさらに含み、
前記基準時刻と前記現在の実際の時刻との差は前記データメッセージ処理待ち時間に関連付けられており、
前記処理回路は前記基準時刻を変更するよう構成される請求項15に記載の方法。 - 前記合成データメッセージストリームの前記データメッセージを処理することと、
前記基準時刻を使用して時系列から外れたデータメッセージを検出することと、をさらに含む請求項17に記載の方法。 - 時間的メッセージ系列から外れたメッセージが処理された場合に前記基準時刻を維持することをさらに含む請求項17に記載の方法。
- 前記データメッセージフィードポートのうちのひとつが非アクティブ状態にあると判定された場合、前記方法はさらに、
(a)前記データメッセージフィードポートのうちの前記ひとつが所定の回復期間内にアクティブ状態になると判定された場合には前記合成データメッセージストリームの前記データメッセージを時間的順序で処理することと、
(b)前記データメッセージフィードポートのうちの前記ひとつが前記所定の回復期間外でアクティブ状態になると判定された場合には前記合成データメッセージストリームの前記データメッセージを時間的順序から外れて処理することと、を含む請求項17に記載の方法。 - 前記非アクティブなデータメッセージフィードポートの前記判定に基づいて、該データメッセージフィードポートが前記非アクティブ状態にある間は前記基準時刻の進行を止めることをさらに含む請求項20に記載の方法。
- 前記データメッセージフィードポートのそれぞれで現在受信されている次のデータメッセージであって現時点で最も低いデータメッセージ時刻を有する次のデータメッセージのメッセージ時刻と前記基準時刻とを比較することと、
(a)前記データメッセージ時刻が前記基準時刻より小さい場合、該データメッセージを処理し該データメッセージフィードポートにおける次のデータメッセージを読むことと、
(b)前記データメッセージ時刻が前記基準時刻より大きい場合、前記基準時刻を前記データメッセージ時刻に合わせることと、をさらに含む請求項21に記載の方法。 - 前記合成データメッセージストリームの前記データメッセージを処理してひとつ以上の所定のパターンを検出し、該パターンに応じてひとつ以上の対応する警告データメッセージを生成することをさらに含む請求項15に記載の電子データメッセージ処理装置。
- 前記合成データメッセージストリームの受信されたがまだ処理されていないデータメッセージを、以前に処理されたデータメッセージの内容に基づいて処理することをさらに含む請求項15に記載の電子データメッセージ処理装置。
- 前記データメッセージのうちの少なくともいくつかは電子的取引交換からのトランザクションパラメータに関係し、
前記方法はさらに、該トランザクションパラメータに基づいて、前記電子的取引交換のひとつ以上のオーダブックを更新することをさらに含む請求項15に記載の電子データメッセージ処理装置。 - 前記統合時系列から外れた検出データメッセージを使用して前記ひとつ以上のオーダブックを更新することをさらに含む請求項25に記載の電子データメッセージ処理装置。
- 前記データメッセージフィードポートで受信された状態のデータメッセージを取得し、前記取得されたデータメッセージ内の前記データを正規化されたデータフォーマットに変換することをさらに含む請求項1に記載の電子データメッセージ処理装置。
- 各受信データメッセージはタイムスタンプを含み、
前記方法はさらに、前記データメッセージフィードポートのそれぞれにおいて順番通りでない状態で受信されたひとつ以上のデータメッセージを、前記データメッセージのタイムスタンプに基づいて並べ直すことをさらに含む請求項15に記載の電子データメッセージ処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361829545P | 2013-05-31 | 2013-05-31 | |
US61/829,545 | 2013-05-31 | ||
PCT/IB2014/000892 WO2014191820A1 (en) | 2013-05-31 | 2014-05-29 | Apparatus, system, and method of elastically processing message information from multiple sources |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016527575A true JP2016527575A (ja) | 2016-09-08 |
JP6009108B2 JP6009108B2 (ja) | 2016-10-19 |
Family
ID=51986407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015563040A Active JP6009108B2 (ja) | 2013-05-31 | 2014-05-29 | 複数のソースからのメッセージ情報を弾性的に処理する装置、システムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (5) | US10110540B2 (ja) |
EP (1) | EP3005276B1 (ja) |
JP (1) | JP6009108B2 (ja) |
AU (1) | AU2014272791B2 (ja) |
CA (1) | CA2913946C (ja) |
SG (1) | SG11201509253WA (ja) |
WO (1) | WO2014191820A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280791B2 (en) * | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
EP3005276B1 (en) | 2013-05-31 | 2021-01-13 | Nasdaq Technology AB | Apparatus, system, and method of elastically processing message information from multiple sources |
US10664548B2 (en) * | 2013-07-12 | 2020-05-26 | Trading Technologies International, Inc. | Tailored messaging |
SE537697C2 (sv) * | 2013-08-08 | 2015-09-29 | Enigio Time Ab | Förfarande för att skapa signaler för tidsstämpling av dokument och förfarande för tidsstämpling av dokument |
US10885583B2 (en) * | 2013-12-19 | 2021-01-05 | Chicago Mercantile Exchange Inc. | Deterministic and efficient message packet management |
US9274861B1 (en) * | 2014-11-10 | 2016-03-01 | Amazon Technologies, Inc. | Systems and methods for inter-process messaging |
US20170053291A1 (en) * | 2015-08-17 | 2017-02-23 | International Business Machines Corporation | Optimal time scale and data volume for real-time fraud analytics |
US11411907B2 (en) * | 2016-05-16 | 2022-08-09 | Chicago Mercantile Exchange Inc. | Systems and methods for consolidating multiple feed data |
US11004010B2 (en) * | 2016-12-30 | 2021-05-11 | eSentire, Inc. | Processing real-time processing requests using machine learning models |
US11082351B2 (en) | 2017-01-05 | 2021-08-03 | Chicago Mercantile Exchange Inc. | Network congestion reduction based on routing and matching data packets |
US10445220B2 (en) * | 2017-01-25 | 2019-10-15 | Verizon Patent And Licensing Inc. | System and methods for application activity capture, error identification, and error correction |
US10798145B1 (en) * | 2017-04-25 | 2020-10-06 | Benjamin J. Garney | Analyzing data streams |
US11138076B2 (en) * | 2017-06-30 | 2021-10-05 | Redis Ltd. | Methods, systems, and media for controlling append-only file rewrites |
US11196834B2 (en) * | 2017-09-29 | 2021-12-07 | Arista Networks, Inc. | System and a method for distributing information |
US10505871B1 (en) * | 2017-11-30 | 2019-12-10 | Sandeep Jain | Future messaging maximizing contextual relevancy and minimizing information overload based distractions |
US10990402B1 (en) * | 2019-12-18 | 2021-04-27 | Red Hat, Inc. | Adaptive consumer buffer |
US11551300B2 (en) * | 2021-01-21 | 2023-01-10 | Chicago Mercantile Exchange Inc. | Data distribution architecture |
CN113965285B (zh) * | 2021-09-14 | 2022-10-18 | 上海交通大学 | 一种基于ntp协议的跨系统多传感器时间同步与标定方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005062181A1 (en) * | 2003-12-05 | 2005-07-07 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
US20100318495A1 (en) * | 2009-06-12 | 2010-12-16 | Sap Ag | Correlation aware synchronization for near real-time decision support |
US20110010460A1 (en) * | 2009-07-09 | 2011-01-13 | Lime Brokerage Holding Llc | Brokerage Transaction Server and Method Using Encapsulated Messages |
JP2012123584A (ja) * | 2010-12-08 | 2012-06-28 | Hitachi Ltd | メッセージ順序制御装置及びその方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975656B1 (en) * | 2000-03-29 | 2005-12-13 | Microsoft Corporation | Method and system for accurately calculating latency variation on an end-to-end path in a network |
US20120271748A1 (en) * | 2005-04-14 | 2012-10-25 | Disalvo Dean F | Engineering process for a real-time user-defined data collection, analysis, and optimization tool (dot) |
US7986624B2 (en) * | 2005-10-28 | 2011-07-26 | Viasat, Inc. | Quality of service enhancements for adaptive coding and modulation |
US7921046B2 (en) * | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US20100054254A1 (en) * | 2006-10-05 | 2010-03-04 | Holt John M | Asynchronous data transmission |
GB2458952B (en) * | 2008-04-04 | 2012-06-13 | Micron Technology Inc | Queue processing method |
US8549575B2 (en) * | 2008-04-30 | 2013-10-01 | At&T Intellectual Property I, L.P. | Dynamic synchronization of media streams within a social network |
US20100208729A1 (en) * | 2008-10-17 | 2010-08-19 | John Oddie | Method and System for Receiving Market Data Across Multiple Markets and Accelerating the Execution of Orders |
US8346646B2 (en) * | 2008-11-20 | 2013-01-01 | Advanced Intellectual Property Group, Llc | Financial market replicator and simulator |
CN101425093A (zh) * | 2008-12-05 | 2009-05-06 | 腾讯科技(深圳)有限公司 | 基于社会性网络关系链的联系人动态内容聚合方法及系统 |
US8621011B2 (en) * | 2009-05-12 | 2013-12-31 | Avaya Inc. | Treatment of web feeds as work assignment in a contact center |
DE102010015588A1 (de) * | 2010-04-19 | 2011-10-20 | Beb Industrie-Elektronik Ag | Verfahren zur Auszahlung von Banknoten durch Geldautomaten und Geldautomat zur Durchführung des Verfahrens |
US8930979B2 (en) * | 2010-11-11 | 2015-01-06 | Time Warner Cable Enterprises Llc | Apparatus and methods for identifying and characterizing latency in a content delivery network |
US9256859B2 (en) * | 2011-07-26 | 2016-02-09 | Salesforce.Com, Inc. | Systems and methods for fragmenting newsfeed objects |
US10121196B2 (en) * | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
WO2013148693A1 (en) * | 2012-03-27 | 2013-10-03 | Exegy Incorporated | Offload processing of data packets |
US9280791B2 (en) | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US20140249979A1 (en) | 2013-03-01 | 2014-09-04 | Secodix Corporation | Enhancing the handling speed of electronic financial services messages |
EP3005276B1 (en) | 2013-05-31 | 2021-01-13 | Nasdaq Technology AB | Apparatus, system, and method of elastically processing message information from multiple sources |
-
2014
- 2014-05-29 EP EP14804118.9A patent/EP3005276B1/en active Active
- 2014-05-29 AU AU2014272791A patent/AU2014272791B2/en active Active
- 2014-05-29 CA CA2913946A patent/CA2913946C/en active Active
- 2014-05-29 US US14/290,386 patent/US10110540B2/en active Active
- 2014-05-29 JP JP2015563040A patent/JP6009108B2/ja active Active
- 2014-05-29 WO PCT/IB2014/000892 patent/WO2014191820A1/en active Application Filing
- 2014-05-29 SG SG11201509253WA patent/SG11201509253WA/en unknown
-
2018
- 2018-10-19 US US16/165,106 patent/US10581785B2/en active Active
-
2020
- 2020-01-31 US US16/778,140 patent/US11159471B2/en active Active
-
2021
- 2021-10-25 US US17/509,122 patent/US11671395B2/en active Active
-
2023
- 2023-06-05 US US18/205,586 patent/US20230319004A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005062181A1 (en) * | 2003-12-05 | 2005-07-07 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
US20100318495A1 (en) * | 2009-06-12 | 2010-12-16 | Sap Ag | Correlation aware synchronization for near real-time decision support |
US20110010460A1 (en) * | 2009-07-09 | 2011-01-13 | Lime Brokerage Holding Llc | Brokerage Transaction Server and Method Using Encapsulated Messages |
JP2012123584A (ja) * | 2010-12-08 | 2012-06-28 | Hitachi Ltd | メッセージ順序制御装置及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230319004A1 (en) | 2023-10-05 |
US20190104099A1 (en) | 2019-04-04 |
CA2913946A1 (en) | 2014-12-04 |
US20200169524A1 (en) | 2020-05-28 |
US11159471B2 (en) | 2021-10-26 |
US11671395B2 (en) | 2023-06-06 |
CA2913946C (en) | 2017-02-14 |
JP6009108B2 (ja) | 2016-10-19 |
WO2014191820A1 (en) | 2014-12-04 |
US20220045979A1 (en) | 2022-02-10 |
US20140359036A1 (en) | 2014-12-04 |
EP3005276B1 (en) | 2021-01-13 |
US10581785B2 (en) | 2020-03-03 |
SG11201509253WA (en) | 2015-12-30 |
AU2014272791A1 (en) | 2015-12-17 |
EP3005276A4 (en) | 2017-03-15 |
EP3005276A1 (en) | 2016-04-13 |
AU2014272791B2 (en) | 2017-01-12 |
US10110540B2 (en) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6009108B2 (ja) | 複数のソースからのメッセージ情報を弾性的に処理する装置、システムおよび方法 | |
Rabkin et al. | Aggregation and Degradation in {JetStream}: Streaming Analytics in the Wide Area | |
CN108280239B (zh) | 同步机器人系统节点的系统和方法 | |
EP1397888B1 (en) | Method and system for efficient distribution of network event data | |
US8892719B2 (en) | Method and apparatus for monitoring network servers | |
Brito et al. | Scalable and low-latency data processing with stream mapreduce | |
US20110066598A1 (en) | Sequence of events recorder facility for an industrial process control environment | |
CN107430606B (zh) | 具有并行持久性的消息代理系统 | |
JP5308403B2 (ja) | データ処理の障害回復方法、システムおよびプログラム | |
US9058304B2 (en) | Continuous workload availability between sites at unlimited distances | |
CN102523115B (zh) | 一种基于动力环境系统的服务器监控系统 | |
US9047126B2 (en) | Continuous availability between sites at unlimited distances | |
CN103095837A (zh) | 一种实现lustre元数据服务器冗余的方法 | |
US20160125033A1 (en) | Stream data processing method with time adjustment | |
CN107181805A (zh) | 一种在微服务架构下实现全局有序重演的方法 | |
CN109901948A (zh) | 无共享数据库集群异地双活容灾系统 | |
CN114676199A (zh) | 一种同步方法、同步系统、计算机设备和存储介质 | |
JP2015513708A (ja) | 高信頼性・高性能のアプリケーションメッセージ配送のためのシステム | |
Thaler et al. | Hybrid approach to hpc cluster telemetry and hardware log analytics | |
US20240020297A1 (en) | Metrics and events infrastructure | |
Ding et al. | A framework to improve the availability of stream computing | |
US11947542B2 (en) | Certifying events in a streaming pipeline | |
Tarhini et al. | Emergency management system design for accurate data: A case study | |
Emerson et al. | Faster transaction commit even when nodes crash | |
Yu et al. | Event Chain Clocks for performance debugging in parallel and distributed systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160804 |
|
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: 20160819 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160913 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6009108 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |