JP2024063048A - ネットワーク化されたコンピューティングリソースによるデータの協調した処理 - Google Patents

ネットワーク化されたコンピューティングリソースによるデータの協調した処理 Download PDF

Info

Publication number
JP2024063048A
JP2024063048A JP2024022985A JP2024022985A JP2024063048A JP 2024063048 A JP2024063048 A JP 2024063048A JP 2024022985 A JP2024022985 A JP 2024022985A JP 2024022985 A JP2024022985 A JP 2024022985A JP 2024063048 A JP2024063048 A JP 2024063048A
Authority
JP
Japan
Prior art keywords
data
networked computing
data processing
computing resources
execution
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.)
Pending
Application number
JP2024022985A
Other languages
English (en)
Inventor
マイケル ピティオ,ワルター
イアナコン,フィリップ
パーク,ロバート
シュウォール,ジョン
シュタイナー,リチャード
チャン,アレン
エル. ポペジョイ,トーマス
マイケル アイセン,ダニエル
カツヤマ,ブラッドレイ
Original Assignee
ロイヤル バンク オブ カナダ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロイヤル バンク オブ カナダ filed Critical ロイヤル バンク オブ カナダ
Publication of JP2024063048A publication Critical patent/JP2024063048A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)

Abstract

【課題】多数のネットワーク化されたコンピューティングリソースによるデータ処理の管理のためのシステム及び方法並びにソフトウェアによりコーディングされた命令セット及びデータなどのコンピュータで実行可能な命令機構を提供する。【解決手段】多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるためのシステム100、金融取引データ処理システム1000において、1つ又は複数のルータプロセッサ104、スマート注文ルータ1104は、複数のネットワーク化されたコンピューティングリソース106、取引所又は市場システム1106に関連するデータを監視することと、ネットワーク化されたコンピューティングリソースへのデータ処理セグメントのルーティングを協調させることと、を含む。【選択図】図1A

Description

関連出願への相互参照
本願は、2015年2月27日に出願された「COORDINATED PROCESSING OF DATA BY NETWORKED COMPUTING RESOURCES」と題する米国特許仮出願第62/126,106号、2015年2月27日に出願された「COORDINATED PROCESSING OF DATA BY NETWORKED COMPUTING RESOURCES」と題する米国特許仮出願第62/126,120号、及び2015年3月12日に出願された「COORDINATED PROCESSING OF DATA BY NETWORKED COMPUTING RESOURCES」と題する米国特許仮出願第62/132,063号の優先権を含むすべての利益を主張するものである。
上記の出願のすべては、引用によりそれらの全体が本明細書に組み込まれる。
本開示は一般に、多数のネットワーク化されたコンピューティングリソースによるデータ処理の管理のためのシステム、方法、装置、及びコンピュータ可読媒体に関する。特に、本開示は、分散されたネットワークリソースでのデータ処理に関する関係した又は一時的な要求の協調又は同期に関する。
本願で開示される題材の態様は、証券及び他の金融上の権利(financial interests)の保持、譲渡、及び/又は管理の基礎をなす又はこれに関係する場合がある。このような保持、譲渡、及び/又は管理の態様は、政府及び他の機関による規制を受ける場合がある。本明細書での開示は、法令的、規制的、又は他の法的考慮事項に拘わらず、論理的な可能性、プログラミングの可能性、及び通信の可能性の観点でのみなされる。本明細書では、本明細書で提案又は説明されるどのシステム、方法、又はプロセス、或いはその使用も、どの管轄でのどの制定法、法律、規制、又は他の法的要件に準拠する又はしないことを文又は表現として意図されるもの、又はそうするものとして取られる又は解釈されるべきものは何もない。
ネットワーク化された又は他の方法で分散されたデータ処理システムの種々の形態において、複雑な及び/又は多数の関係したプロセスは、しばしば、実行のために多数のコンピューティングリソースにルーティングされる。例えば、金融システム及び他のトレーディングシステムでは、金融上の権利の買付け、売付け、及び他の取引のための注文は、しばしば、履行のために多数の市場サーバ又は取引所(exchange)サーバにルーティングされる。例えば、大量の注文が(例えば、各市場で入手可能なリクイディティに基づいて)多数の取引所にルーティングされるときに、注文は、それらがより遅い取引所(すなわち、より長い固有待ち時間を有する取引所)に届く前に、より速い取引所(すなわち、より短い固有待ち時間を有する取引所)に届く傾向があり、したがって、異なる取引所のブックに異なる時点で現れる。注文がより速い取引所のブック上に現れ始めるときに、他のパーティが、該注文を検出し、より遅い取引所上のクォート(例えば、ビッド及びオファー)又は他の市場パラメータを取り消し、変更、及び又は他の方法で操作し、暗黙のトレーディングコストを効果的に増加させることによって、より遅い取引所での待ち時間を利用しようとすることができる。結果として、そうでなければ高い遂行率(fill ratio)で任意の単一の取引所上で実行されたかもしれない注文が、分割トレードとして多数の取引所にルーティングされるときに、より低い全体的な遂行率を呈する傾向がある。
Rony Kayの論文「Pragmatic Network Latency Engineering, Fundamental Facts and Analysis」などの従来技術の文書は、一方向通信(すなわち、「パケット」)待ち時間の排除を提示することでこのような問題に対処することを試みた。このようなシステムは、通信待ち時間に加えて(又はその一部として)、多数のプロセッサが多数のプロセッサの実行要求の個々のポーションを実行するのに要する時間の差異(すなわち、実行待ち時間)によって生じる又はもたらされる裁定取引の機会及び他の問題に対処できていない。
種々の態様において、本開示は、多数のネットワーク化されたコンピューティングリソースによるデータ処理の管理のための、システム、方法、及び、ソフトウェアによりコーディングされた命令セット及びデータなどのコンピュータで実行可能な命令機構(例えば、一時的でない機械可読プログラミング構造)を提供する。特に、例えば、本開示は、分散されたネットワークリソースを用いるデータ処理に関する関係した要求の同期又は協調を制御するのに有用なシステム、方法、及びメディアを提供する。
例えば、一態様では、本開示は、多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるためのシステム、方法、及びメディアを提供する。このようなシステムは、少なくとも1つのプロセッサを含むことができ、該少なくとも1つのプロセッサは、例えば、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信し;少なくとも1つのデータ処理を、それぞれ複数のネットワーク化された実行プロセッサのうちの異なる1つにルーティングされるべき複数のデータ処理セグメントに分割し;複数のネットワーク化された実行プロセッサのそれぞれにシステムによってルーティングされた以前のデータ処理要求の実行における待ち時間に少なくとも部分的に基づいて、複数のタイミングパラメータを決定し、複数のタイミングパラメータのそれぞれは、複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、複数のタイミングパラメータは、複数のネットワーク化された実行プロセッサによる複数のデータ処理セグメントの同期した実行をもたらすように決定され;タイミングパラメータに基づくタイミングシーケンスで複数のデータ処理セグメントを複数の対応するネットワーク化された実行プロセッサにルーティングし;データ処理セグメントに関する獲得比を決定し;獲得比に基づいて複数のネットワーク化された実行プロセッサのそれぞれに関連するタイミングパラメータを調整するように構成される。
或る態様において、本開示は、多数のネットワーク化されたコンピューティングリソースによるデータの同期/協調した処理をもたらすためのシステム、方法、及びプログラミング又は他の機械が解釈可能な命令を提供し、このようなシステムは、例えば、機械が解釈可能な命令を実行するように構成された少なくとも1つのプロセッサを備え、該命令は、システムに、複数のネットワーク化されたコンピューティングリソースのそれぞれによる信号処理実行要求の実行を監視させ、システムと複数のネットワーク化されたコンピューティングリソースのそれぞれとの間の信号処理の実行における待ち時間に関連する少なくとも1つのタイミングパラメータを決定させ、少なくとも1つのタイミングパラメータを少なくとも1つのプロセッサによってアクセス可能な機械可読メモリに記憶させる。
本発明のこのような及び他の実施形態に係る信号処理実行要求の実行の監視は、継続的、周期的、及び/又は他の適切な又は望ましいベースで実装することができる。
本発明の種々の態様の種々の実施形態において、ネットワーク化されたコンピューティングリソースは、1つ又は複数の取引所サーバを含むことができる。データソースは、1つ又は複数のブローカーシステム又はトレーダーシステム又はサーバを含むことができ、制御された信号処理は、金融上の権利のトレードを表すことができ、信号処理実行要求の実行は、例えば、株式、債券、オプション、及び契約権利、通貨及び/又は他の無形の権利、及び/又は商品を含む金融上の権利の取引の実行を表す。このような実施形態では、データ処理手順の実行に関する要求は、各ネットワーク化されたコンピューティングリソースでの或る注文数量の実行における、例えば、現在の市場データ相場、注文ルーティングルール、注文特徴、各ネットワーク化されたコンピューティングリソースの表示されるリクイディティ、及びあり得る遅延又は待ち時間のうちのいずれか1つ又は複数を含むパラメータに全体的に又は部分的に基づくことができる。
同じ及びさらなる態様において、本発明は、分散されたコンピュータリソースによるデータ処理に関する要求を制御する又は他の方法で管理するためのシステムを提供し、このようなシステムは、システムに、複数のネットワーク化されたコンピューティングリソースのそれぞれによる信号処理実行要求の実行を監視させ、システムと複数のネットワーク化されたコンピューティングリソースのそれぞれとの間の信号処理の実行における待ち時間に関連する少なくとも1つのタイミングパラメータを決定させ、複数のネットワーク化されたコンピューティングリソースのそれぞれに関する少なくとも1つのタイミングパラメータを記憶させるための命令を実行するように構成された1つ又は複数のプロセッサを含む。
一態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるためのシステムが提供される。システムは、少なくとも1つのプロセッサを含み、該少なくとも1つのプロセッサは、複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含む、複数のネットワーク化されたコンピューティングリソースに関連するデータを監視し;1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信し;監視されるデータに基づいて、少なくとも1つのデータ処理を、それぞれ複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされるべき少なくとも1つのデータ処理セグメントに分割し;それぞれ複数のネットワーク化されたコンピューティングリソースのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる少なくとも1つのデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定し;タイミングパラメータに基づくタイミングシーケンスで少なくとも1つのデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングするように構成される。
別の態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法が提供される。方法は、複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含む、複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することと、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信することと、監視されるデータに基づいて、少なくとも1つのデータ処理を、それぞれ複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされるべき少なくとも1つのデータ処理セグメントに分割することと、それぞれ複数のネットワーク化されたコンピューティングリソースのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる少なくとも1つのデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定することと、タイミングパラメータに基づくタイミングシーケンスで少なくとも1つのデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングすることと、を含む。
別の態様によれば、少なくとも1つのプロセッサによって実行されるときに、少なくとも1つのプロセッサに、複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含む、複数のネットワーク化されたコンピューティングリソースに関連するデータを監視させ、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信させ、監視されるデータに基づいて、少なくとも1つのデータ処理を、それぞれ複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされるべき少なくとも1つのデータ処理セグメントに分割させ、それぞれ複数のネットワーク化されたコンピューティングリソースのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる少なくとも1つのデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定させ、タイミングパラメータに基づくタイミングシーケンスで少なくとも1つのデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングさせるように構成された命令が記憶されているコンピュータ可読媒体又はメディアが提供される。
別の態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるためのシステムが提供される。システムは、少なくとも1つのプロセッサを含み、該少なくとも1つのプロセッサは、それぞれ、1つ又は複数のデータ処理セグメント、1つ又は複数のデータ処理セグメントがルーティングされるべき1つ又は複数のネットワーク化された対応するコンピューティングリソース、及び1つ又は複数のデータ処理セグメントがルーティングされるべきタイミングシーケンスを識別する、複数のデータ処理ウェーブを取得し、ネットワーク化されたコンピューティングリソースのそれぞれに関する最小ハンドリングインターバルを取得し、ウェーブタイミングシーケンス及びネットワーク化されたコンピューティングリソースに関する最小ハンドリングインターバルに基づいて、複数のデータ処理ウェーブをルーティングするために注文をスケジュールし、注文に基づいて複数のデータ処理ウェーブにおけるデータ処理セグメントのそれぞれをルーティングするように構成される。
別の態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法であって、それぞれ、1つ又は複数のデータ処理セグメント、1つ又は複数のデータ処理セグメントがルーティングされるべき1つ又は複数のネットワーク化された対応するコンピューティングリソース、及び1つ又は複数のデータ処理セグメントがルーティングされるべきタイミングシーケンスを識別する、複数のデータ処理ウェーブを取得することと、ネットワーク化されたコンピューティングリソースのそれぞれに関する最小ハンドリングインターバルを取得することと、ウェーブタイミングシーケンス及びネットワーク化されたコンピューティングリソースに関する最小ハンドリングインターバルに基づいて、複数のデータ処理ウェーブをルーティングするために注文をスケジュールすることと、注文に基づいて複数のデータ処理ウェーブにおけるデータ処理セグメントのそれぞれをルーティングすることと、を含む方法が提供される。
別の態様によれば、少なくとも1つのプロセッサによって実行されるときに、該少なくとも1つのプロセッサに、それぞれ、1つ又は複数のデータ処理セグメント、1つ又は複数のデータ処理セグメントがルーティングされるべき1つ又は複数のネットワーク化された対応するコンピューティングリソース、及び1つ又は複数のデータ処理セグメントがルーティングされるべきタイミングシーケンスを識別する、複数のデータ処理ウェーブを取得させ、ネットワーク化されたコンピューティングリソースのそれぞれに関する最小ハンドリングインターバルを取得させ、ウェーブタイミングシーケンス及びネットワーク化されたコンピューティングリソースに関する最小ハンドリングインターバルに基づいて、複数のデータ処理ウェーブをルーティングするために注文をスケジュールさせ、注文に基づいて複数のデータ処理ウェーブにおけるデータ処理セグメントのそれぞれをルーティングさせるように構成された命令が記憶されているコンピュータ可読媒体又はメディアが提供される。
別の態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるためのシステムであって、少なくとも1つのプロセッサを備え、該少なくとも1つのプロセッサが、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な複数のデータ処理の実行に関する命令を表す信号を受信し、データ処理は、金融上の権利の提案されたトレードを表し;複数のネットワーク化されたコンピューティングリソースのそれぞれでの金融上の権利の入手可能なリクイディティに関連するデータを取得し;複数のデータ処理のそれぞれを複数のデータ処理セグメントに分割し、各データ処理セグメントは、複数のネットワーク化されたコンピューティングプロセッサのうちの少なくとも1つにルーティングされるべき単一のデータ処理から分割され;複数のネットワーク化されたコンピューティングプロセッサのそれぞれにシステムによってルーティングされた以前のデータ処理要求の実行における待ち時間及び複数のネットワーク化されたコンピューティングプロセッサのそれぞれでの入手可能なリクイディティに少なくとも部分的に基づいて、複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる複数のデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定し;複数のデータ処理のそれぞれに関連するタイミングパラメータ及びネットワーク化されたコンピューティングプロセッサに基づいて、複数のデータ処理のすべてに関するデータ処理セグメントをルーティングするためのタイミングシーケンスを決定し;タイミングシーケンスに基づいて複数のデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングするように構成された、システムが提供される。
別の態様によれば、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法であって、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な複数のデータ処理の実行に関する命令を表す信号を受信することと、データ処理は、金融上の権利の提案されたトレードを表し;複数のネットワーク化されたコンピューティングリソースのそれぞれでの金融上の権利の入手可能なリクイディティに関連するデータを取得することと;複数のデータ処理のそれぞれを複数のデータ処理セグメントに分割することと、各データ処理セグメントは、複数のネットワーク化されたコンピューティングプロセッサのうちの少なくとも1つにルーティングされるべき単一のデータ処理から分割され;複数のネットワーク化されたコンピューティングプロセッサのそれぞれにシステムによってルーティングされた以前のデータ処理要求の実行における待ち時間及び複数のネットワーク化されたコンピューティングプロセッサのそれぞれでの入手可能なリクイディティに少なくとも部分的に基づいて、複数のタイミングパラメータのそれぞれ複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる複数のデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定することと;複数のデータ処理のそれぞれに関連するタイミングパラメータ及びネットワーク化されたコンピューティングプロセッサに基づいて、複数のデータ処理のすべてに関するデータ処理セグメントをルーティングするためのタイミングシーケンスを決定することと;タイミングシーケンスに基づいて複数のデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングすることと、を含む方法が提供される。
別の態様によれば、少なくとも1つのプロセッサによって実行されるときに、該少なくとも1つのプロセッサに、1つ又は複数のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な複数のデータ処理の実行に関する命令を表す信号を受信させ、データ処理は、金融上の権利の提案されたトレードを表し、複数のネットワーク化されたコンピューティングリソースのそれぞれでの金融上の権利の入手可能なリクイディティに関連するデータを取得させ、複数のデータ処理のそれぞれを複数のデータ処理セグメントに分割させ、各データ処理セグメントは、複数のネットワーク化されたコンピューティングプロセッサのうちの少なくとも1つにルーティングされるべき単一のデータ処理から分割され、複数のネットワーク化されたコンピューティングプロセッサのそれぞれにシステムによってルーティングされた以前のデータ処理要求の実行における待ち時間及び複数のネットワーク化されたコンピューティングプロセッサのそれぞれでの入手可能なリクイディティに少なくとも部分的に基づいて、それぞれ複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、且つ複数のネットワーク化されたコンピューティングプロセッサによる複数のデータ処理セグメントの同期した実行をもたらすように決定される、複数のタイミングパラメータを決定させ、複数のデータ処理のそれぞれに関連するタイミングパラメータ及びネットワーク化されたコンピューティングプロセッサに基づいて、複数のデータ処理のすべてに関するデータ処理セグメントをルーティングするためのタイミングシーケンスを決定させ、タイミングシーケンスに基づいて複数のデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングプロセッサにルーティングさせるように構成された命令が記憶されているコンピュータ可読媒体又はメディアが提供される。
当該技術分野の当業者には分かるように、当業者が本開示をよく知れば、例えば、このような処理に関する要求の同期又は協調した伝送による、分散されたデータ処理要求の実行の協調又は同期は、多くの数のデータ処理分野での非常に多くの可能な用途を有する。
本開示の実施形態を例として示す図面への参照をここで行う。
本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすのに適するシステムの例を示す図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすのに適するシステムの例を示す図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすのに適するシステムの例を示す図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法の例を示すフローチャートである。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすのに適するシステムの例を示す図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法の例を示すフローチャートである。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を管理するための例示的な方法において用いられ得る例示的なヒストグラムを示す図である。 従来の方法及びシステムの使用時に対する多数のネットワーク化されたコンピューティングリソースによるデータ処理のための例示的な方法及びシステムの使用時の遂行率の比較を示す図である。 従来の方法及びシステムの使用時に対する多数のネットワーク化されたコンピューティングリソースによるデータ処理のための例示的な方法及びシステムの使用時の遂行率の比較を示す図である。 多数のネットワーク化されたコンピューティングリソースによるデータ処理のための例示的な方法及びシステムを従来技術の方法及びシステムを用いる結果と比較するための例示的なメトリックの使用を例示する図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法の例を示すフローチャートである。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすのに適するシステムの例を示す図である。 ネットワーク化されたコンピューティングリソースに関連する例示的なデータを示す表である。 データ処理ウェーブにおけるデータ処理セグメントをルーティングするための例示的なスケジュールを示す図である。 データ処理ウェーブにおけるデータ処理セグメントをルーティングするための例示的なスケジュールを示す図である。 データ処理ウェーブにおけるデータ処理セグメントをルーティングするための例示的なスケジュールを示す図である。 データ処理ウェーブにおけるデータ処理セグメントをルーティングするための例示的なスケジュールを示す図である。 データ処理ウェーブにおけるデータ処理セグメントをルーティングするための例示的なスケジュールを示す図である。 本発明の種々の態様に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための方法の例を示すフローチャートである。
添付図の全体を通して、同様の特徴は同様の参照番号によって識別される。
本開示では、当該技術分野の当業者によって理解されるように、「同期した」又は「協調した」は、規則的、不規則、及び/又は全体的又は部分的に同時のいずれであろうとも、任意の所望のタイミングシーケンスに従うことを意味することがある。
図1は、本発明に係る多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるのに適したシステム100の例を示す。
図示される例では、システム100は、1つ又は複数の信号ソース又はデータソース102(ソース102a、102bのうち1つ又は複数をそれぞれ含む)、実行ルータプロセッサ(単数又は複数)104、及び1つ又は複数のネットワーク化されたコンピューティングリソース又は実行プロセッサ106を含む。或る実施形態では、データソース102は、(例えば、プライベートローカルエリアネットワーク又は広域ネットワーク(単数又は複数)又は他のセキュアな無線通信又は有線通信を通じて、直接通信チャネル(単数又は複数)を通じて、又は単一のサーバ内の通信(単数又は複数)を通じて)ルータ104と直接通信し得る、1つ又は複数の内部データソース102aを含む場合がある。同じ及び/又は他の実施形態において、データソース(単数又は複数)102はまた、例えば、データ暗号化などを含む場合がある適切な或いは所望のネットワークセキュリティデバイスを用いて、1つ又は複数のパブリックネットワーク108(例えば、インターネットなどのパブリック又はプライベート電気通信網)を介して、例えば、ルータプロセッサ(単数又は複数)104と通信し得る、1つ又は複数の外部データソース102bを含む場合がある。図示される例では、ルータプロセッサ(単数又は複数)104は、ネットワーク(単数又は複数)108と同じであっても又は異なっていてもよいネットワーク110を介して、1つ又は複数のネットワーク化された実行又はコンピューティングリソース106のそれぞれと通信する。
種々の実施形態において、データソース(単数又は複数)102は、トレーディング及び/又は他のデータ処理要求を生成する1つ又は複数のエンティティに代わってデータ処理プロセスの実行に関係したデータ及び/又は命令をルータプロセッサ(単数又は複数)104に通信する信号を提供するデバイスを含んでよく、このデータ及び/又は命令は、ルータプロセッサ(単数又は複数)104が処理し(例えば、合計すること、平均することなどによって集約し、及び/又はセグメントなどに分割し)、ネットワーク化されたコンピューティングリソース106によるデータ処理に関する要求のベースとして用いることができる。データソース102a、102bは、例えば、システム、サーバ、プロセッサ、及び/又は、商品、無形の金融上の権利などの買付けに関するオファー及び/又はビッドなどのデータ処理タスク、及び/又は言語、画像、及び/又は他の通信又は文書処理タスクなどの他のデータ処理タスクの実行に関する要求の任意の他の適切なソース(単数又は複数)を含んでよい。データソース(単数又は複数)102、プロセッサ(単数又は複数)104、及びリソース106のそれぞれ又はいずれかは、多数のこのようなシステム、サーバ、又はプロセッサを含んでよい。
種々の実施形態において、データソース(単数又は複数)102及びルータプロセッサ(単数又は複数)104のうちのいくつか又はすべては、単一マシン上で実行する多数のプログラミング又は他の機械命令アプリケーションを実装するべく、組み合わされてよく、及び/又は他の方法で構成されてよい。
ネットワーク化されたコンピューティングリソース106は、非常に多様なデータ処理要求のいずれかを受信及び実行するべくルータプロセッサ(単数又は複数)104と通信する任意のデバイス又は他のリソースを含んでよい。このようなネットワーク化されたコンピューティングリソース106は、例えば、商品、金融上の権利などの買付けに関するオファー又はビッドの処理、及び/又は言語又は文書処理、画像、及び/又は他の通信又はドキュメンテーションタスクなどの他のデータ処理タスクを含む、本発明を実装する際に用いるのに適した任意のプロセスの実行に適合された、システム、サーバ、プロセッサ、又は任意の他の適切なデバイスを含んでよい。
種々の実施形態において、1つ又は複数のデータソース102は、データ処理機能の実行に関する命令又は要求を表す信号をルータプロセッサ(単数又は複数)104に伝送する又は他の方法で提供する。任意の所与のデータソース(単数又は複数)102からの命令は、任意の1つ又は複数のネットワーク化されたコンピューティングリソース106によって実行されるべき信号処理に関する命令を含んでよい。要求される信号処理は、例えば、特に、計算動作、データ操作、及び/又は通信処理又は他の信号交換を含んでよい。必ずしもすべてではない或る例では、このような命令は、このようなプロセスの実行を特に目的とするネットワーク化されたコンピューティングリソース(単数又は複数)106を具体的に特定してよい。
ルータプロセッサ(単数又は複数)104は、1つ又は複数のソース(単数又は複数)102から受信した命令信号をパースし、このような信号を、受信した命令に従うデータ処理及び/又は他の信号処理の実行に関する、複数の実行プロセッサ106に転送されるべき命令又は要求を作成するのに用いてよい。このような命令のパーシングは、例えば、トレードに関する注文又はビッドのボリューム又は数量、若しくは行われるべき文書処理の量、及び所与のデータ処理要求及び/又は他の信号処理要求を実行することが要求される及びこれにより関連付けられるべきネットワーク化されたコンピューティングリソース(単数又は複数)106のタイプ、性質、及び/又はアイデンティティ(単数又は複数)を含む、例えば、要求されるべき処理(単数又は複数)のタイプを識別することを含んでよい。
例えば、信号及び/又は他のデータ処理機能の効率を高めるために、ルータプロセッサ(単数又は複数)104は、多数のソース102から受信した命令又は要求を、処理のためにパースし、ソートし、及び比較的より小さい実行要求を1つ又は複数のより大きい要求に集約し、このような集約された要求(単数又は複数)を、例えば、このような処理される要求を満足させる又は完了させる実行プロセッサ106の現在の能力に応じて、複数の実行プロセッサ106に分散されるべき複数のより小さい要求にさらに分割してよい。
例えば、異なるデータソース102a、102bから受信される多数の命令信号セットは、個々のネットワーク化されたコンピューティングリソース(単数又は複数)106と関連付けられ(例えば、これへの送達及びこれによる実行のためにアドレス指定され)てよく、このような命令は、このようなネットワーク化されたコンピューティングリソース(単数又は複数)106に向けた単一信号処理実行要求に集約されてよい。或る例では、所与の信号処理要求が課されるべきネットワーク化されたコンピューティングリソース(単数又は複数)106の識別は、集約後に行われてよい。例えば、異なるデータソース102a、102bからの多数の命令は、ソートされてよく、又は他の方法で単一の信号又はデータ処理と関連付けられてよく、このような命令は集約されてよく、集約された命令は、識別されるネットワーク化されたコンピューティングリソース(単数又は複数)106に向けて1つ又は複数の信号処理要求が適宜作成され得るように、1つ又は複数の識別されるネットワーク化されたコンピューティングリソース(単数又は複数)106と関連付けられてよい。このようなパーシング、ソーティング、及び/又は識別は、所定のルール又はアルゴリズムに従って(例えば、1つ又は複数の特定のネットワーク化されたコンピューティングリソース(単数又は複数)106の継続する又は現在の処理能力に基づいて)、及び命令においてエンコードされる或いは該当する場合に発注ソース(単数又は複数)102によって提供される要件に従って行われてよい。
さらなる例として、データ処理に関する単一命令セットは、プロセッサ(単数又は複数)104によって分解され、分散された実行のために複数のリソース106に分散されてよい。例えば、単一のソース102a、102bから生じる1つ又は複数の金融上の権利のトレーディングに関する比較的大口の注文は、完全に遂行されるように、多数の取引所サーバ106に分散される必要がある場合もあり、このような場合、1つ又は複数のソース(単数又は複数)102からの要求(単数又は複数)は、プロセッサ(単数又は複数)104によって、複数のこのようなリソース106による実行に適した注文に分解されてよい。
或る実施形態では、命令セットは、1つ又は複数のブローカーからの種々の注文ウェーブの一部として受信されてよい。これらの注文ウェーブは、1つ又は複数の金融上の権利のトレーディングのために種々の会場に伝送されることを目的とされ得る命令セットを含んでよい。
ターゲットにされた又は具体的には識別された、ネットワーク化されたコンピューティングリソース/実行プロセッサ106は、ルータプロセッサ(単数又は複数)104と通信して、セグメント化された信号処理実行要求を受信し、その後、それらを適宜実行してよい。このような信号処理の実行は、例えば、特に、テキスト又は画像処理動作、数学的計算、又は通信信号交換の実行を含んでよい。
当該技術分野の当業者にはすぐに理解されるように、システム100の種々のコンポーネントは、別個のシステム又はデバイスの形態で組み合わされてよい又は実装されてよい。多様な構成において、このような組合された又は別個の(サブ)システムは、同じ又は別個のエンティティによって動作してよい。特定の例として、1つ又は複数の要求ソース(単数又は複数)102は、個々のルータ(単数又は複数)104と一体化されてよく、又は他の方法で関連付けられてよい。
或る実施形態では、システムは、1つ又は複数の金融上の権利に関係した注文又は他のデータ処理セグメント/要求の順序付けされた、優先順位付けされた、スケジュールされた、集約された、セグメント化された、及び/又はグループ化されたルーティングをするように構成され得る1つ又は複数のプロセッサを含む1つ又は複数のインテリジェント注文ルータ104を提供することができる。
例えば、データ処理セグメントは、ウェーブにおいてグループ化されてよく、個々のセグメントのルーティングは、宛先のネットワーク化されたコンピューティングリソースに関連する監視されるデータに基づいて、スケジュールされ、集約され、グループ化されるなどしてよい。或る実施形態では、データ処理セグメントは、監視されるデータに対して少なくとも部分的に定義される時間枠内で注文が1つ又は複数のネットワーク化されたコンピューティングリソースに到着する、これによって処理される、及び/又はこれで実行されるようにルーティングされてよい。図1Cは、ルータプロセッサ(単数又は複数)104を用いてブローカーX及びYによって会場1~5に提出されるデータ処理セグメントのいくつかの例示的なウェーブを描画するサンプルの概略図を提供する。
或る実施形態では、データ処理要求の多数のインスタンスは、多数の取引所に異なる数量でルーティングされ、決められたタイミングシーケンスで運ばれてよい。タイミングシーケンスは、監視されるデータからの決められたタイミングパラメータに基づいていてよく、データ処理セグメントのルーティングの開始が行われるべき時間が決められた注文(timed order)を定義することができる。
注文をルーティングするにあたり、システムは、タイミング範囲、分布などの決定を含む場合があるタイミングパラメータの決定をするように構成されてよい。タイミングパラメータは、可変、適応的、重み付き、確率的などであってよく、また、ネットワーク輻輳、注文負荷、注文の優先順位、会場特徴などの種々の因子に応じて調整可能であってよい。
或る実施形態では、システムは、予測される注文フローに基づいて注文(データ処理セグメント)のルーティングを適応させるように構成されてよい。例えば、システムは、特定の時間で又は特定の時間枠中にルーティングされるべき多くの数のスケジュールされた注文を有する場合がある。したがって、システムは、ネットワーキング機器、通信チャネル、会場システム、ルーティング経路、中間ネットワーク機器などで予測される負荷が与えられる1つ又は複数の注文のルーティングを適応させるように構成されてよい。システムは、注文のルーティングの負荷のバランスをとるために、注文のルーティングを種々のネットワークリンクにわたって及び/又は異なる時間枠にわたって分散させるようにさらに構成されてよい。
本明細書で説明されるように、システムは、1つ又は複数のネットワーク化されたコンピューティングリソースに関連するデータを監視する。このデータは、システムにおける1つ又は複数のコンポーネント又はデバイスで収集する又はこれらから受信することができる。
システムはまた、特に、ネットワークパフォーマンスの監視、利用可能なネットワークリンクの監視を含む、1つ又は複数のネットワーク化されたコンピューティングリソースに関連するネットワークデータの監視をするように構成されてよい。ネットワークパフォーマンスの確率的分布及び/又はモデルが、ネットワークの監視に関連して生成され、適応され、定義され、及び/又は使用されてよい。ネットワークの監視は、時間パラメータを適応させるためなどに使用されてよい。ネットワークの監視は、例えば、待ち時間平均、最大、標準偏差、尖度、L-尖度、スキューイング、メジアン、分散、モード、相関、相互相関、共分散などの決定及び/又は監視を含んでよく、注文負荷、日時(例えば、トレーディングの開始、トレーディングの終了)、金融イベントの発生(例えば、ストップトレード注文、コーポレートイベント、統計の公開、アナリストレポートの公開、信用格付けの変化)、ネットワークイベントの発生(例えば、サンスポット、DoS攻撃)などの他の因子と相関されてよく及び/又は関連付けられてよい。
ネットワークの監視は、例えば、信号の伝送時間、ヒストリカルな注文ルーティングパフォーマンス、最近の注文ルーティングフロー、テストメッセージの送信などを測定するべく「ハートビート」(例えば、ピング信号の伝送、規則的にスケジュールされた伝送、エコー要求パケット)を通じてネットワークパフォーマンスのトラッキングを通じて行われてよい。
或る実施形態では、テストメッセージは、ネットワークの監視のために使用され、テストメッセージとルーティングされた注文メッセージとの間のタイミングの差が、注文を処理するのに要する時間、会場内の内部待ち時間などの種々の注文ルーティング特徴を決定する際に使用されてよい。
或る実施形態では、システムは、システム自体によってルーティングされるようにスケジュールされた注文を含む種々の会場などでの種々のネットワークリンクにわたる注文負荷を決定する際に種々のネットワーク予測技術を使用する。実行要求は、予測される負荷に部分的に基づいて再配列されてよい及び/又はスケジュールされてよい。
或る実施形態では、システムは、データベース(単数又は複数)にアクセスすることができ、又は、1つ又は複数のネットワーク接続(単数又は複数)のトポロジー並びに冗長性スキームに関する情報を得るためにネットワークメッセージを受信してよい又は監視してよい。例えば、システムは、会場への2つ以上の接続及び/又はルートを有してよい。これらの接続及び/又はルートにアクセスし、そのパフォーマンスを監視することによって、一次接続/ルートに障害があるときに、その検出時に、システムは、障害によってもたらされる望ましくないタイミング及び生じうる遂行率を最小にするために、すべての後続の注文を、既知の二次ルート/接続に関連する待ち時間に基づいてルーティングするように構成することができる。
或る実施形態では、利用可能であるときに、ネットワークの監視は、以前にルーティングされたトレード要求に対して行うことができる。
システムはまた、トレードにおける或る時点で決定される場合の(例えば、トレード決定がなされるときの)注文のリクイディティの和と獲得されたリクイディティの量との比によって決定され得るトレード獲得比をトラッキングするように構成されてよい。
トレード獲得比は、タイミングパラメータを適応させる、ネットワークコンポーネントに障害が生じたと判断する、第三者が注文をインターセプトしている可能性があることを検出するなどの種々の目的で使用されてよい。例えば、高いトレード獲得比は、減少した情報漏れ及び/又は増加した遂行率を示す場合があり、低いトレード獲得比は、増加した情報漏れ及び/又は減少した遂行率を示す場合がある。低いトレード獲得比は、例えば、ビジネス論理の適用、タイミングパラメータの実装、修正されたルーティング戦略などを通じて、システムによる警告、通知、適応をトリガすることができる。
或る実施形態では、システムは、注文、ルーティング命令などがどのように順序付けされ、優先順位付けされ、スケジュールされ、集約され、セグメント化され、及び/又はグループ化され得るかを決定する際に使用され得るビジネス論理を含んでよい。ビジネス論理は、ルートの選択、ルートの判定、ルートの優先順位付けなどのために使用されてよい。ビジネス論理は、決定を支援するために使用されてもよい。或る実施形態では、ビジネス論理は、特定の金融証券などに関するより大きい量のリクイディティを含むオーダーブックを有する会場に優先順位をつけるように構成されたルールなどの種々のビジネスルールに基づいて注文に優先順位をつけるために使用されてよい。
或る実施形態では、ビジネス論理は、決定木を横断する能力などのインテリジェントな決定支援機能を含んでよい。
或る例では、システムは、(監視されるネットワーク及び注文パフォーマンスに基づいて)異なる会場に関する情報にアクセスし、受信し、又は判定してよい。或る例では、この情報は、会場(単数又は複数)のメッセージ取り扱い能力の推定を含んでよい。本明細書で例示されるように、注文が会場のキューに入る又は会場(単数又は複数)の処理能力に過負荷をもたらす場合に、結果的に生じる処理遅延が、タイミングパラメータの有効性に影響する場合があり、システムが待ち時間での裁定取引を制限することに対して有する制御を低下させる場合がある。したがって、或る例では、システムは、会場のキューイング又は過負荷を回避するべくタイミングパラメータを用いるように構成することができる。
或る例では、会場情報は、会場の物理的位置、会場間の距離(光ケーブルの距離又は伝送時間)、既知の又は共に存在する(co-located)可能性がある略奪的トレーダー、共に存在するトレーダーの有効性又は速度などを含むことができる。或る例では、これらの因子のうちの1つ又は複数は、タイミングパラメータを決定するのに用いることができる。例えば、注文ウェーブが、既知の有効な共に存在するトレーダーを伴う会場に関係する場合、タイミングパラメータは、より低いタイミング許容度/差に基づいて決定されてよい。或る例では、最も高いタイミング許容度をもつトレードのルーティングは、トレードが結果的に同時の到着又は実行をもたらすタイミングシーケンスでルーティングされるときに行われることになる。或る場合には、同時の到着/実行は、市場を変更するのに最適ではない場合があり、ゆえに、プロセッサ(単数又は複数)は、異なるトレードオフを考慮するように構成されてよい。
システムは、第三者が金融証券の取引及び/又はトレードの履行に影響を与える可能性を考慮に入れるように構成されてよい。例えば、高頻度トレーダーが、第2の注文が第2の会場で受注されることになると判断するのに、第1の会場での第1の注文に関係する情報を使用する場合がある。高頻度トレーダーは、次いで、第2の注文の到着の前に日和見的なトレードを行うことにより、第2の注文に利用可能な価格及び/又は数量に潜在的に影響を与える場合がある。結果として、第2の注文が履行されない又はより低い数量で履行されることにより、トレードの獲得及び遂行率に影響する場合がある。第2の例として、高頻度トレーダーは、第1の注文をしているエンティティによる第2の注文の到着を見越して、第2の会場での注文を取り消し、該注文をより高値をつけた注文に置き換えるのに、第1の会場での第1の注文に関係する情報を使用する場合がある。第3の例として、高頻度トレーダーは、1つ又は複数の会場で入手可能な注文情報よりも最新であり得る注文情報(例えば、全米最良気配など)を決定するのに、第1の会場での第1の注文に関係する情報を使用する場合がある。高頻度トレーダーは、次いで、価格及び/又は数量がそれらの注文のカウンタパーティにとって最適には及ばない、例えば、不適正な価格をつけた(mispriced)注文などがオーダーブック上に残っている場合がある取引の実行をもたらす日和見的な注文をするために、この情報を使用する場合がある。
システムは、トレーディングネットワークの種々のコンポーネントで実装されてよい。例えば、システムは、ブローカー電子システムの一部として、ネットワークの一部として、中間ゲートウェイ及びメッセージ送達サービスとして、会場電子システムの一部などとして実装されてよい。
例えば、システムが、中間ゲートウェイ及びメッセージ送達サービスとして実装される場合、システムは、1つ又は複数のブローカーから、1つ又は複数の会場への1つ又は複数の注文ウェーブと関連付けられる場合がある複数の注文を受信するように構成されてよい。中間ゲートウェイ及びメッセージ送達サービスは、次いで、1つ又は複数の会場への注文及び/又はサブ注文のルーティング、クラスタリング、及び/又はセグメント化を協調させてよい。例えば、ブローカーは、注文を「ギブアップ」し、ブローカーの利益になるように注文をルーティングしてよい。
或る実施形態では、システムは、ブローカーレベルで実装される。例えば、ブローカーは、クライアント注文のルーティングのためにシステムを使用してよい。或る実施形態では、システムは、クライアントレベルで実装される。例えば、クライアントは、それ自身の注文のルーティングのためにシステムを使用してよい。
システムは、多くの数の注文のルーティングをするように構成されてよく、注文のボリュームに基づいてスケール変更するように設計されてよい。したがって、システムは、種々の適切な技術を用いて実装されてよい。或る実施形態では、システムは、ソフトウェアベースのソリューションである。或る実施形態では、システムは、アプライアンスベースのソリューションである。或る実施形態では、システムは、ソフトウェアベースのソリューションとアプライアンスベースのソリューションとの組合せである。システムが多数のブローカーからの多くの数のウェーブを同時に取り扱うことができる必要がある場合があるので、スケーラビリティが重要な場合がある。
或る実施形態では、システムは、分散ネットワーキング技術、例えば、クラウドコンピューティング技術を用いて実装される。分散ネットワーキング技術を用いることの潜在的利点は、注文ルーティングボリュームに基づいてシステムの種々のインスタンスをサポートするためのリソースを提供する能力を含む。フェイルオーバーシステム、管理されたバックアップ、ホット/コールドバックアップスキームなどのレジリエンシー及び/又は高可用性技術が、一貫したレベルのサービス及び/又はアップタイムを達成するために使用されてよい。例えば、障害が発生する場合にクライアント及び会場へのロスのないセッションの再確立を可能にし得る、互いに情報を共有するように構成され得るシステムの種々のインスタンスが存在する場合がある。
システムの或る実施形態は、増加したトレード獲得比、増加した遂行率、減少した第三者への情報漏れ、「市場の移動」の低減したリスク、改善された意思決定(例えば、注文のリクイディティと情報漏れのリスクとの間のより最適なトレードオフを達成すること)、種々のソースからのタイミング情報を使用する能力、適応的及び/又は確率的待ち時間モデルを使用する能力、ネットワークにおける又はネットワーク機器上の障害を迅速且つ効果的に判定する能力などの種々の利点を提供してよい。
システムが、中間ゲートウェイ及びメッセージ送達サービスとして実装されるならば、会場レベル及び/又はブローカーレベルで必要とされる組み込みが存在しない/減少されるので、潜在的利益が存在する場合があり、ブローカーは、インフラストラクチャへの投資の必要性が低減された状態でシステムを使用することができる場合があり、ブローカー、金融機関、クライアント、及び/又は会場とは独立してシステムを動作させることができる場合がある。或る実施形態では、システムと併せて、既存のインフラストラクチャ、メッセージングプロトコル、ネットワークなどが使用されてよい。組み込み及び/又は適応の低減された必要性、並びに既存の規格及び/又はプロトコルとの相互運用のしやすさは、規制要件、レジリエンシー要件、セキュリティ要件、及びシステムの修正のために必要とされる可能性のある費用及び/又は複雑さの観点から、商業的に価値がある場合がある。既存の外部システム及び/又はプロトコルと相互運用できることは、増加した適応及び/又はブローカーフローにつながる場合がある。
多数の会場への要求のルーティングに関するタイミングパラメータを決定することに加えて又は代替的に、或る実施形態では、システムの態様(単数又は複数)は、多数の要求を同じ会場に(すなわち、ウェーブで又は他の方法で)ルーティングするためのタイミングパラメータを決定するように構成されてよい。
本発明に係るセグメント化された処理要求の分散された実行のためのシステム100の適用例は、株式、債券、通貨(例えば、外国為替)、種々の形態の天然資源又は商品、オプション、ローンなどの有形及び/又は無形の金融上の権利のトレード及び/又はトレードに関するオファー、又は他の取引を表すデータ処理に関する要求の処理に適応された金融システム1000によって提供される。図1A及び図1Bに示すように、例えば、本発明に係る金融取引データ処理システム1000において、信号ソース又はデータソース(単数又は複数)102は、トレーダーシステム(単数又は複数)1102を含んでよく、これは、例えば、公知の金融トレーディングプラットフォームによって現在提供されるような金融上の権利のビッド、オファー、又は他の取引のトレーダー/ブローカーシステム又はサーバ並びに任意の他のソースを含んでよい。種々の実施形態において、このようなトレーダーシステム1102は、注文発注システムと呼ばれる場合がある。
注文発注システム1102、102aは、例えば、親或いは銀行又は証券会社(brokerage houses)などの他の制御組織によって所有される或いは制御されるエンティティによって動作される又はその代理をするシステムを含んでよい。注文発注システム1102、102bは、例えば、個々の投資家の代理を務める、独立して制御される銀行、機関投資家、及び/又は他の証券会社を通じて又はその支援を受けてトレードをする、例えば、ブローカー又は他のトレーディングエンティティによって動作される又はその代理をするシステムを含んでよい。
ルータプロセッサ(単数又は複数)104は、このような実施形態では、例えば、金融上の権利の取引の実行及び/又は確認応答を表すデータ処理に関する要求を表すエンコードされた電子信号の受信及び伝送を通じてトレーダーシステム1102、102と通信し、且つこのような取引の実行のためにブローカー、取引所、又は他の市場システム又は実行プロセッサ(単数又は複数)1106と通信する、例えば、サーバ(単数又は複数)又は他のシステム(単数又は複数)1104を含んでよい。このような実施形態では、プロセッサ104は、スマート注文ルータ(Smart Order Router)又は戦術的ハイブリッド注文ルータ(いずれにしても、「SOR」)1104、104と呼ばれる場合がある。SOR1104は、例えば、ルータ(単数又は複数)1104による1つ又は複数のトレーダーシステム1102、102との直接的な(例えば、有線通信を通じた、1つ又は複数の専用通信チャネル(単数又は複数)を用いた、又は単一のサーバ内の通信を通じた)、及び/又は間接的な(例えば、無線通信を通じた、ネットワーク108、1108を通じた、又は中間サーバを通じた)通信を容易にするための1つ又は複数のゲートウェイ(単数又は複数)1122及び/又はルータ(単数又は複数)1124を含んでよい。取引所又は市場システム1106、又は他の実行プロセッサ(単数又は複数)106は、例えば、ネットワーク1108と同じであり得るインターネット又は他のパブリックネットワークなどのネットワーク110、1110を通じて、SOR(単数又は複数)1104と通信してよい。
金融トレーディング又は注文実行システム1000として構成されるシステム100の実施形態に関して、ソース(単数又は複数)102によって提供される、要求され実行される信号処理は、金融上の権利のトレード又は他の取引を表すことができる。このような取引は、例えば、株式、債券、通貨(例えば、外国為替)、種々の形態の天然資源又は商品、オプション、ローンなどの金融上の権利のトレード及び/又はトレードに関するオファー、又は他の取引を含んでよく、ネットワーク化されたコンピューティングリソース106は、例えば、取引所サーバ1106であってよく、その例は、自動又は電子市場システムを含んでよい。
当該技術分野の当業者にはよく理解されるように、このような取引要求信号セットを受信するSOR(サブ)システム又はプロセッサ1104は、要求(単数又は複数)に多様な処理を適用することができる。例えば、信号セットが、金融上の権利の取引に関する要求を表すならば、要求された取引を、時間と共に及び/又は多数の取引要求ソース1102にわたって集約することができ、及び/又は1つ又は複数の権利の取引に関する処理要求を、多数の実行ハンドラ又はプロセッサ1106に個々に又はバッチでルーティングするために分割することができる。
金融上の権利の取引に関する要求を表す信号セットは、例えば、クライアントブローカーから受信される場合のFIXセッションであってよい。例として、受注され得る2つの注文タイプ又は注文命令は、IOC(immediate or cancel)注文及び指定付き単一注文(directed single orders)を含む。
IOC注文との関連において、ブローカーは、ブローカーが取引所の組へ単一のウェーブとして送り出されることを意図する注文を表す信号の組を送信することもできる。注文が常にIOCであるならば、その後の取り消し又は差し替えを取り扱う必要性がない場合があるので、多くの他の機能が簡単化される。したがって、IOCウェーブは、親和性を維持する必要がない場合があり、輻輳を最良に管理するために利用可能な取引所セッションを自由に用いることができる場合がある。
指定付き単一注文との関連において、ブローカークライアントは、ネットワーク接続性及び取引所セッションを利用して指定付き注文を取引所に送信するためにこのシステムを用いることができる。このサービスは、ブローカーによって、取引所への一次注文ゲートウェイとして又はバックアップサービス(個々の取引所への接続性をバックアップするそれらの必要性を減らす)として用いることができる。
或る例では、当日限り注文、GTC(good till cancelled)注文、又は任意の他の注文タイプなどの他の注文タイプが用いられてよいが、注文の親和性及び結果を維持するのにさらなるトラッキングを必要とする場合があり、異なる会場との間の多数のメッセージの送信及び受信(例えば、注文の差し替え/修正/取り消し及び確認応答)を含むことができる。
或る実施形態では、指定付き注文又はIOC注文の使用は、或る場合には、SORシステムが、注文メッセージングの負荷及び/又は処理を減少させ得る及び/又はメッセージングスループットを増加させ得る、より効率的なメッセージングプロセスを用いることを可能にする場合がある。
種々の実施形態において、本明細書で説明されるように、注文ソース(単数又は複数)102、1102は、注文ルータ(単数又は複数)104、1104と一緒に又はその一部として実装することができる。例えば、プロセッサ(単数又は複数)102、104、106のいずれか又はすべてを含むシステム(単数又は複数)100、1000の種々のコンポーネントのいずれか又はすべて及び本明細書での開示に係るそれらの動作方法は、本明細書で開示された目的のために構成される任意のデバイス、ソフトウェア、及び/又はファームウェアを用いて実装され得ることが当該技術分野の当業者にはすぐに理解されるであろう。多様なコンポーネント、ハードウェアとソフトウェアとの両方、並びにファームウェアが、単独で及び/又は種々の組合せで用いられるときに、このようなシステム、デバイス、及び方法を実装するのに適していることが現在分かっており、おそらく他のものが今後開発されるであろう。
システム100、1000、及び、例えば、図2のプロセス200及び図4のプロセス300を含む本明細書で開示された種々のプロセスの例を実装する際に用いるのに適したコンポーネントの例は、例えば、IBM x3850 M2(商標)、HP ProLiant DL380 G5(商標)、HP ProLiant DL585(商標)、及びHP ProLiant DL585 G1(商標)などのサーバクラスシステムを含む。或る実施形態では、デスクトップ、ラップトップ、又はパームモデルシステムを含む多様な他のプロセッサが役立つであろう。
例えば、システム1000のSOR1104などのルータプロセッサ(単数又は複数)104による実装に適する、取引要求信号ソース102、1102によって生成される取引要求信号セットの処理のための方法200の例が、図2に示される。
図2のプロセス200は、202で、例えば、1つ又は複数の金融上の権利の取引などのデータ処理に関する要求を表す信号のプロセッサ(単数又は複数)104、1104による受信で始まると考えることができる。取引信号ソース(単数又は複数)1102から受信した金融上の権利のトレード及び/又は他の取引の実行に関する要求を表す信号を処理するように適応されたSORルーティングプロセッサ(単数又は複数)1104を備えるシステム100、1000の実施形態において、1つ又は複数の金融上の権利の取引の実行に関する要求を表す信号セットは、例えば、
・トレーディングシステム102、1102によって用いられる或いはこれと関連付けられるURL又は他のネットワークアドレス又は識別子などの要求のソース(単数又は複数)、
・株式、債券に関するCUSIPナンバー、交換されるべき通貨の組などを識別するために1つ又は複数の取引所によって用いられる識別子などのトレードされる又は他の方法で取引されるべき権利(単数又は複数)、
・実行又は要求されるべき取引のタイプ(例えば、買い、売り、ビッド、オファーなど)、
・取引されるべき権利(単数又は複数)の1つ又は複数の数量(すなわち、量又はボリューム)(例えば、任意の総数量及び/又はリザーブ数量を含む)、及び
・対応する価格条件、
を表す1つ又は複数の識別子を表す信号又は信号セットを含むことができる。
さらなるパラメータは、例えば、現在の及び/又はヒストリカルな以下のパラメータを含むことができる:
・マルチパートの又はセグメント化された取引要求の遂行確率(すなわち、結果的に取引完了となるマルチパート注文のヒストリカルな割合)、
・例えば、ビッド価格とオファー価格との間のスプレッドの量(例えば、現在の及び/又はスプレッドのヒストリカルなトレンドに対する)、
・トレードされる特定の権利、又は関係した又は対応する権利(単数又は複数)、又は関係したベンチマーク又はインデックスにおける市場ボラティリティ、
・市場ブック(単数又は複数)の厚み、例えば、ヒストリカルなトレンドの厚みに対する現在の厚み、
・リザーブ数量、
・注文の優先順位、
・情報漏れに関する許容度、
・最大待ち時間(例えば、関連するタイミングパラメータの最大サイズを制約し得る)、
・所望のルーティングパス、
・所望の会場、
・特定のルーティング命令、
・表示数量、及び
・例えば、買い側及び/又は売り側の表示サイズ及びバッキング。
これらのパラメータのうちのいくつか又はすべては、1つ又は複数のネットワーク化されたコンピューティングリソースに関連する監視されるデータとして又はこれに基づいて収集されてよい。
他の実施形態では、このような信号セットは、1つ又は複数の実行プロセッサ104、1104及び特定の実行要求によって処理されるべき画像、テキスト、又は他のコンテンツを表すコンテンツ及び/又は識別子を含むことができる。
入来するクライアント/ブローカー注文が注文ウェーブの一部として識別される必要があるならば、或る例では、プロセッサ(単数又は複数)は、FIXメッセージ繰返しグループを受信するように構成することができ、この場合、個々の注文は、注文が合計M個の注文のウェーブのうちのN番目の注文であることを示すタグを有してよい。
代替的に、注文は、ウェーブの最初の注文及び最後の注文である場合にマークを付けることができる。或る実施形態では、親和性は、差し替え及び取り消しが元の注文と同じ会場セッションで適正に取り扱われるように、保たれる必要がある場合がある。
多くのタイプの市場システム1106のなかで、本発明の種々の実施形態に適するのは、「ダーク」取引所又は「ダークプール」として知られているタイプの代替的取引システム(ATS)である。通常、このような取引所は、トレーディングパブリックのメンバーに市場提供物をオープンに表示しない。既知の又は予測されるリザーブ数量の使用は、このような実施形態では特に有用なことがある。
したがって、規定の条件での所与の権利の取引を要求するためにソース102、1102によって提供されることになるデータレコードの例は、以下を含むことができる:
<要求のソース(102、1102)><取引のタイプ><権利識別子><数量(単数又は複数)><価格条件(単数又は複数)>
202でプロセッサ104、1104によって受信される信号セットは、アーカイブ及び/又はさらなる処理の目的で、適切に、任意の揮発性メモリ及び/又は不揮発性メモリ(単数又は複数)に格納することができる。
204で、202で受信した取引又は他のデータ処理実行要求は、それらを実行プロセッサ(単数又は複数)106、1106に提供されるべき1つ又は複数の命令信号セットを作成するのに用いるための任意の適切な又は所望の形態にするためにルータプロセッサ(単数又は複数)104、1104によってパースすることができる。命令信号のパーシングは、例えば、特定の権利(単数又は複数)のトレードに関する注文又はビッドのボリューム及び/又は数量、このようなボリュームが売付け又は買付けのために買われる又は売られる又はオファーされるべきであるかどうか、行われるべき文書処理の量及び/又はタイプ、及び実行することが要求され、これによりこのような実行又は処理命令と関連付けられるべきネットワーク化されたコンピューティングリソース(単数又は複数)又は実行プロセッサ(単数又は複数)106のタイプ及び性質を含む、例えば、要求されるべき取引(単数又は複数)又はプロセス(単数又は複数)のタイプを識別することを含んでよい。種々の実施形態において、パースされる命令セットは、他の処理要求との集約、多数の実行プロセッサ/リソース106、1106へのルーティングのための分割、及び/又はバッチ又は他の遅延した実行要求の作成及び転送のために、対応するプロセッサ(単数又は複数)104、1104によってアクセス可能な一時的又は揮発性メモリ(単数又は複数)118、1018に格納することができる。
1つ又は複数の命令信号セットを作成するにあたり、ネットワーク、取引所ゲートウェイ、及び取引所横断エンジンキューにおける下流の容量、キューイング、及び輻輳を取り扱うように構成され得る注文スケジューリングモジュールが使用されてよい。
モジュールは、各取引所セッションを取り扱うことができる最大メッセージ/注文フローレートを予想し、次いで、該レートを超過する又はそれに近づくことを見越して、その前にそれを回避するように構成されてよい。SORルータプロセッサ(単数又は複数)1104は、ウェーブにおける又は次のウェーブにおける後続の注文の計算が輻輳する又はキューに入れられることになる可能性がある場合に、ウェーブにおける初期の注文の送出を設定し直す(re-sequence)又は遅らせるように構成されてよい。
モジュールは、下流の輻輳及びキューイング遅延を動的に決定するために、これらは静的ではない、一貫していない、又は予測可能ではない場合があるので、フィードバック機構(ACKラウンドトリップ待ち時間監視に基づく)と共に構成されてよい。
これらの容量を取り扱うために、SORルータプロセッサ(単数又は複数)1104は、多数の取引所注文セッションを用いて取引所にアクセスするように構成されてよく、また、注文セッションにわたるフローの負荷のバランスをとるように構成されてよい。
或る実施形態では、命令セットは、単一のメッセージ内に多数の構成要素として格納された注文情報のグループを有する繰返しグループなどの組み込み機構を有するFIXメッセージからなってよい。これらのメッセージは、しばしば、バスケットのウェーブを運ぶために用いられてよく、例えば、異なる会場での同じ株式の注文を表すために、又は38株の組を買うことを望むポートフォリオを表すために、同じ株式注文の多数のインスタンスが、異なる数量で多数の取引所に伝送され、タイミングを用いてスケジューリングを決定するSORルータプロセッサ(単数又は複数)に合わせて運ばれてよい。
202で受信された命令は、営業日又はその任意のセグメントの期間などの規則的な又は不規則な定義された時間間隔、又はプロセッサ(単数又は複数)104、1104によって予め設定及び/又は動的に決定され得る任意の他の所望の時間期間(単数又は複数)中に蓄積されてよい。命令はまた、受信される際に個々に処理されてよい。さらなる命令が処理の前に受信されることになる場合、又は受信される可能性がある場合、プロセス200は202に戻ることができる。
取引要求/命令は、営業日又はその任意のセグメントの期間などの定義された時間間隔、又はプロセッサ(単数又は複数)104、1104によって予め設定及び/又は動的に決定され得る所望の時間期間中に蓄積されてよい。さらなる命令が受信されることになる又は受信される可能性がある場合、プロセス200は202に戻ることができる。
注文又は他の処理要求をパースする又は他の方法で作成する際にソーティング/集約技術を使用する本発明の実施形態では、206で、プロセッサ(単数又は複数)104、1104は、すべての必要とされる又は所望の関係した又は集約可能な処理要求信号セットがソース(単数又は複数)102、1102から受信されるまで、プロセス202~204を繰り返すことができる。例えば、前述のように、CUSIP(Committee on Uniform Security Identification Procedures)ナンバーによって識別可能な債券の買付けに関する注文又は要求を表す任意の数のデータレコードを、データソース(単数又は複数)102、1102から受信し、バッチ処理のためにプロセッサ(単数又は複数)104、1104と関連付けられたメモリ118、1018に記憶させることができる、例えば:
<source 1><sell><CUSIP No.AA><10,000><price A><res.9,000><price D>
<source 2><buy><CUSIP No.BB><12,000><price C><res.1,000><price B>
<source 3><sell><CUSIP No.BB><11,000><price A><res.8,000><price D>
<source 6><sell><CUSIP No.AA><14,000><price A><res.2,000><price E>
<source 4><buy><CUSIP No.AA><18,000><price C><res.7,000><price B>
<source 1><sell><CUSIP No.BB><20,000><price A><res.3,000><price D>
<source 3><sell><CUSIP No.AA><13,000><price A><res.6,000><price D>
<source 4><buy><CUSIP No.BB><22,000><price C><res.4,000><price B>
<source 5><sell><CUSIP No.AA><21,000><price A><res.5,000><price E>
<source 4><buy><CUSIP No.BB><15,000><price C><res.7,000><price F>
<source 1><sell><CUSIP No.AA><19,000><price A><res.3,000><price D>
<source 5><buy><CUSIP No.BB><16,000><price C><res.8,000><price F>
<source 6><sell><CUSIP No.BB><17,000><price A><res.6,000><price H>
別の例示的なシナリオでは、プロセッサ(単数又は複数)は、データソース(単数又は複数)102、1102から個々の大きい実行命令を受信することができる。例えば:
<source 1><buy><CUSIP No.AAA><100,000><price A>
別の例示的なシナリオでは、図1Cの例によって例示されるように、プロセッサ(単数又は複数)は、ウェーブでの注文実行命令を受信することができる。図1Cの例示的な命令で示されるように、或る例では、入来する実行命令はまた、ターゲットにするネットワーク化されたリソース又は会場を識別するために特定の会場フィールドを含んでよい。
個々の受信時に、又は所与の周期的レートで、所与の時間に、所与の数の注文が受信されているときに、すべての所望の注文が受信されているときに、又は任意の他の所望の基準が満たされているときに、プロセッサ(単数又は複数)104、1104は、パーシング又は他の方法での処理命令の一部として、204で、任意の1つ又は複数の所望の基準に従って、例えば、取引要求のタイプ及び権利識別子によって、記憶されたレコードをソートする及び/又はグループ化することができる。例えば、上記の第1の例示的なシナリオでは:
<buy><CUSIP No.AA><18,000><price C><res.7,000><price G><source 4>

<sell><CUSIP No.AA><10,000><price A><res.9,000><price D><source 1>
<sell><CUSIP No.AA><14,000><price A><res.2,000><price E><source 6>
<sell><CUSIP No.AA><13,000><price A><res.6,000><price D><source 3>
<sell><CUSIP No.AA><21,000><price A><res.5,000><price E><source 5>
<sell><CUSIP No.AA><19,000><price A><res.3,000><price D><source 1>

<buy><CUSIP No.BB><15,000><price C><res.7,000><price F><source 4>
<buy><CUSIP No.BB><22,000><price C><res.4,000><price B><source 4>
<buy><CUSIP No.BB><12,000><price C><res.1,000><price B><source 2>
<buy><CUSIP No.BB><16,000><price C><res.8,000><price F><source 5>

<sell><CUSIP No.BB><20,000><price A><res.3,000><price D><source 1>
<sell><CUSIP No.BB><11,000><price A><res.8,000><price D><source 3>
<sell><CUSIP No.BB><17,000><price A><res.6,000><price H><source 6>
示されるように、取引要求レコードにおける種々のデータフィールドは、ルーティングプロセッサ(単数又は複数)104、1104の処理の必要性に合うように、必要とされる又は所望の場合に並べ替える或いは再フォーマットすることができる。例えば、示されるように、「source」データ項目の関連性は、注文処理の完了時にプロセッサ(単数又は複数)104、1104が取引/要求の履行を報告することを可能にしながら効率的な注文を促進させるために、異なる優先順位と関連付けられる或いはこれに従う。
プロセス204は、例えば、対応する取引要求と関連付けられる合計数量又は小計数量を合計することにより、受信され、ソートされた取引要求の、プロセッサ(単数又は複数)104、1104による、特定の権利(単数又は複数)の特定のタイプの取引に関する収集された又は統合された注文(単数又は複数)への集約をさらに含むことができる、したがって:
<buy><CUSIP No.AA><18,000><price C><res.7,000><price G>

<sell><CUSIP No.AA><77,000><price A><res.18,000><price D>
<res.7,000><price E>

<buy><CUSIP No.BB><65,000><price C><res.15,000><price E>
<res.5,000><price B>

<sell><CUSIP No.BB><48,000><price A><res.11,000><price D>
<res.6,000><price H>
図9は、注文ルータ/システム104、1104に関する例示的なプロセス及びデータフローのプロセス及びデータフロー図を示す。或る例では、注文ルータ/システム104、1104は、クライアントメッセージ処理モジュール2105を含んでもよく、これにより、プロセッサ(単数又は複数)104、1104及び/又は他のハードウェアコンポーネントを、クライアントメッセージのウェーブを受信するように構成することができる。或る例では、クライアント注文命令は、多数のメッセージのウェーブで受信されてよい。或るこのような例では、クライアントメッセージ処理モジュールは、特定のウェーブに関係するすべての注文メッセージが受信されるまで、注文メッセージをバッファ又は他の注文ウェーブステージングメモリ/記憶装置2110にステージングするように構成されてよい。
一例では、規定の条件での所与の権利の取引を要求するためにソース102、1102によって提供されるべきデータレコードは、取引要求の詳細を含む他のフィールドに加えて、以下を含むことができる:
<ウェーブID><ウェーブにおける注文の総数><現在の注文のインデックス>
<ウェーブに関するタイミングモード><手動タイミングモードに関するタイミングオフセット><セキュリティキー(単数又は複数)>
別の例では、ウェーブにおける注文の総数を示すデータフィールドを含む代わりに、データレコードは、現在の注文メッセージがウェーブにおける最後のメッセージであることを示すために、<ウェーブ完了>フラグを含んでよい。
或る例では、入来する注文メッセージは、FIX(Financial Information eXchange(金融情報交換))フォーマット、又は任意の他の規格又は独占的な(proprietary)フォーマット/プロトコルとすることができる。
図9の例で示されるように、個々の注文又は完全なウェーブが受信されると、それらは、ウェーブタイミングハンドラ2115によって処理される準備ができるまで、1つ又は複数のバッファ又は他のメモリ/記憶装置に記憶されてよい。図9の例示的なシステムでは、完全な注文要求(個々の注文及び完全なウェーブ注文を含む)は、多数のレベル又はキューに記憶されてよい。例えば、注文要求は、それらがウェーブキューに移動されることが選択されるまで、最初にクライアントセッションキューに記憶されてよい。或る例では、システムは、N個のウェーブだけがウェーブキューに存在できるように構成される。或る場合には、これは、ハイボリュームセッションがウェーブキュー及びルーティングリソースを支配するのを防ぐことができる。或る例では、システムは、他のセッションキューがそれらの割り当て分まで使用されていないときに、N個よりも多いウェーブがウェーブキューに入ることを可能にするように構成することができる。
他の例では、完全な注文要求は、1つ又は複数のウェーブキューに(すなわち、どのような中間クライアントセッションキューもなしに)直接記憶されてよい。
ウェーブタイミングハンドラ2115は、キュー(単数又は複数)を管理し、キュー(単数又は複数)におけるどの注文(単数又は複数)が次に会場に伝送されることになるかを決定するように構成された、1つ又は複数のハードウェアデバイス(単数又は複数)及び/又はプロセッサ(単数又は複数)104、1104によって実装することができる。
或る例では、修正された先入先出(FIFO)法がウェーブタイミングハンドラによって用いられてよい。しかしながら、厳しいFIFOではなく、或る実施形態では、タイミングハンドラは、キューを単純に横断する以外に、シーケンスにおける注文(単数又は複数)を再配列する、選び出す(cherry-pick)、スキップする、又は他の方法で選択するように構成されてよい。例えば、或る実施形態では、キューにおける第1のM個のウェーブ注文は、これらのM個のウェーブ注文をルーティングするためのシーケンスを決定するべく、又は後続の注文に関係なく又は他の方法で単純にM個のウェーブ注文のうちのどれが次にルーティングされるかを単純に決定するべく処理することができる。
或る例では、ウェーブタイミングハンドラは、利用可能でない(out of available)注文ルーティングスループットを増加させるため、注文のすべてをルーティングするのに要する時間を減少させるため、及び/又はルータ(単数又は複数)104、1104の任意の他の動作の態様を最適化するためにウェーブ注文をルーティングするシーケンスを決定するように構成することができる。
或る例では、本明細書で説明されるように又は他の方法で、ウェーブの処理の順序(odering)は、会場待ち時間、スループット、市場データ(例えば、入手可能なリクイディティ、価格設定など)などに基づくことができる。
202で、すべての所望の信号セットが受信されているとき、随意的に、204で、ソートされ、蓄積され、及び/又は他の方法で処理されているときに、208で、プロセッサ(単数又は複数)104、1104は、204で処理された命令セットを用いて、リソース/実行プロセッサ106、1106に伝送するための実行要求信号セットを作成することができる。このような実行要求信号セットは、コンテンツ又はデータ及びコマンド信号を含む要求される処理をもたらすための任意の必要な又は望ましい信号を含むことができる。例えば、金融上の権利の取引に関する要求の処理に適合された実施形態では、要求は、トレードされるべき権利(単数又は複数)、トレードされるべき権利(単数又は複数)の数量、価格などに基づいてソートされ及び/又は集約され、適切な実行コマンド信号と関連付けられてよい。所与の要求と関連付けられる任意の実行コマンド信号の形態は、当該技術分野の当業者には分かるように、実行されるべき要求の性質及びタイプ、並びにそれらを実行するべきプロセッサ106、1106、同様に、適用可能なプロトコル及び命令フォーマット要件を含むプロセッサ(単数又は複数)104、1104及び106、1106間で交換される信号がその上で送信されることになる任意のネットワーク110、1110に依存することがある。それゆえに、システム106、1106、104、1104、及び110、1110のいずれか又はすべてに関係するデータ、これにより用いられるプロトコル、及び/又はこれによりトレードされる、オファーされる、又は説明される権利に関係した情報が、プロセッサ又はリソース106、1106のいずれかによる処理の実行に関する命令をパースする及び作成する際にプロセッサ(単数又は複数)104、1104によってアクセスされ、用いられる場合がある。このようなデータのソース1126は、例えば、取引所市場データシステム1126v(図1B)を含んでよく、これは、例えば、金融取引の処理に適応された本発明の実施形態では、種々の取引所システム1106、ブルームバーグ又はロイターなどのニュース情報ソース、及び/又は他のソースから受信した情報を含むことができる。
金融取引を実行する際に用いられるように構成された多くのリソースを含むネットワーク化された処理リソースを用いてデータ処理に関する要求をアセンブルする際に、実行及び/又は他の処理要求を多数のパートに分解することが時々必要な又は望ましいことがある。このようなパート又はセグメントは、例えば、取引所サーバ又は他の実行プロセッサ又はハンドラ1106などの複数のネットワーク化されたリソース106によって実行されるべきより大きい注文又は他のデータ処理要求のポーションに対応することができる。例えば、株式又は債券などの多大な量の金融上の権利に関する買付け注文を表す取引要求の実行のために複数の取引所サーバ又は他の市場が利用可能である場合に、多数の市場での及び/又は多数の取引所サーバ1106による実行のために注文を多数のパートに分けることが必要な又は望ましい場合がある。例えば、十分な数量の特定の権利が単一の取引所上で全く又は望ましい価格で入手可能ではない場合があり、注文をすべて遂行するために、単一の注文をより小さいセグメントに分解し、これを多数の取引所にルーティングすることが必要な又は望ましい場合がある。
したがって、例えば、金融商品の取引に関する要求の処理に向けられた本発明の種々の実施形態では、ルータ104、1104が、1つ又は複数のソース106、1106によって、1つ又は複数の金融上の権利の取引を完了することを要求されるときに、ルータ104、1104は、取引に関する要求を表す信号セット(単数又は複数)を作成するにあたり、それぞれのプロセッサ106、1106を通じて入手可能なこのような権利の数量及びこのような数量が入手可能な条件を決定するべく市場データソース(単数又は複数)1126などのソース並びに任意の1つ又は複数の実行プロセッサ(単数又は複数)106、1106から入手可能な情報にアクセスすることができ、且つ最も好条件で入手可能な数量に基づいて、それぞれの所望の各プロセッサ1106、1106へのルーティングをするように構成される実行要求信号セットを構築することができる。
例えば、上記の第1の例を続けると、1つ又は複数の入来する処理要求を、完全な注文(単数又は複数)の履行を得るために、複数の取引所に向けられる、より小さいパートに分けることが必要な又は望ましい場合がある。これは、例えば、取引所サーバ1106のうちの1つ又は複数によって提供される現在のオーダーブックを表すデータにアクセスし、公知のデータ処理技術を用いて、注文(単数又は複数)を適宜分割することによって達成することができる。したがって、例えば、上記の集約された「sell CUSIP No.AA」注文は、ポーション又はセグメントに分解されてよく、このようなセグメントを表すデータをURL又は他のネットワークリソースアドレス識別子と関連付けることは、要望に応じて種々のセグメントを複数の取引所サーバA1~C3にルーティングする際に用いるのに適する、したがって:
<exchange A1><sell><CUSIP No.AA><15,000><price A><res.6,000><price D><res.2,000><price E>

<exchange B2><sell><CUSIP No.AA><27,000><price A><res.6,000><price D><res.2,500><price E>

<exchange C3><sell><CUSIP No.AA><35,000><price A><res.6,000><price D><res.2,500><price E>
本明細書で説明されるように又は他の方法で、或る例では、実行要求の作成208は、注文を、複数の異なる会場へのより少ない又はより多い注文に組み合わせること又は分けることを含むことができる。或る例では、実行要求の作成208は、元の注文、分けられた注文、及び/又は組み合わされた注文を、それぞれの宛先会場と適合するFIX又は他のフォーマット(単数又は複数)に、フォーマットすること、再配列すること、又は他の方法で作成することを含むことができる。
或る実施形態では、実行/トレード要求を作成するにあたり、SORルーティングプロセッサ(単数又は複数)1104は、どの会場に注文がルーティングされるべきかを決定するように構成されてよい。クォートサイズ、費用構造、種々の注文タイプのサポート、割戻し構造、平均実行速度、待ち時間、待ち時間分散(latency variance)、ヒストリカル遂行率などの種々の因子が、SORルーティングプロセッサ(単数又は複数)1104によって考慮されてよい。
図2での例示的な方法200は、実行要求の作成208及び実行要求に関するタイミングの決定210を別個のブロックとして例示するが、或る実施形態では、要求の作成と要求に関するタイミングの決定は、逆の順序で行われてよく、同時に行われてよく、及び/又は同じプロセスの一部であってよい。例えば、種々の因子及び本明細書で説明される又は他の方法で観測された/測定されたデータが、実行要求の作成と、これらの要求に関するタイミングの決定との両方のために用いられてよい。
当該技術分野の当業者には分かるように、市場サーバ又は取引所サーバ1106又は他の実行プロセッサ106などの複数のネットワークリソースによる多数の取引所に位置する金融上の権利の取引などの分散された取引又は他のマルチパートデータ処理要求の個々のポーションの実行は、通常、異なる時間量を必要とする。すなわち、所望の取引実行要求の多数のパートが複数の取引所実行プロセッサ106、1106に同時に送信される場合、取引要求の各パート又はセグメントは、異なる時点で実行することが予想される場合がある。これは、実行要求信号の、注文ルータ(単数又は複数)104、1104からネットワーク110、1110又は他の通信パスにわたる異なる種々のリソース又は実行プロセッサ106、1106への伝送;対応するプロセッサ106、1106による実行要求の対応するポーションの実際の処理;及び/又は、例えば、ルータ(単数又は複数)104、1104と実行プロセッサ106、1106との間のネットワークパスを含むいくつかの因子に応じて通常変化する、注文ルータ(単数又は複数)104、1104への確認データ又は他のデータの返送;ネットワーク(単数又は複数)110、1110によって処理されるネットワークトラフィックの量;個々の実行プロセッサ106、1106によって取り扱われる要求の数などに必要とされる時間量又は「待ち時間」のためである。
いくつかの理由で、このような場合、マルチパート実行要求の2つ以上のポーションの実行を同期させることが重要なことがある。1つの例として、実行要求が、多数の市場における又は多数の取引所上の金融取引の多数のパートの実行に関する要求を表すときに、多数の対応するサーバによる取引の個々のポーションの同期していない集約された実行は、取引の後の方のポーションを完了する可能性及び/又はこのような後の方のポーションが完了され得る条件の両方に影響することがある。
実行要求を同期させることが望ましい具体例が、図3への参照を通じて例示される。図3に示された例では、システム100、1000は、注文ルータ104、1104と、複数のネットワーク化された実行リソース106、取引所サーバ又は実行プロセッサ1106「取引所1」、「取引所2」、「取引所3」を備える。加えて、図3のシステム100、1000は、実行リソース1106「取引所1」上にトレード又は他の取引を実行するように構成された共同設置されたトレーディングサーバ304をさらに備える。図面に記載されるように、比較的待ち時間が短いトレーディングアルゴリズムを使用する、共同設置されたトレーディングサーバ304は、ルータ(単数又は複数)104、1104などの他のプロセッサが取引所1との同様の取引を完了するのに要する時間の量に比べて比較的短い時間内に取引所1との取引を実行することができるような様態で取引所1と関連付けられる。例えば、共同設置されたサーバ304は、直接有線接続又は他の迅速処理システムによって取引所1と通信可能にリンクすることができる。さらに、取引所1は、取引所2又は取引所3のいずれよりも比較的短い時間内に(すなわち、「より待ち時間の少ない」状態で)共同設置でないプロセッサ(単数又は複数)104、1104との実行要求を完了することができる。言い換えれば、図3に示すように、待ち時間X<時間Y及び時間X<時間Zであり、一方、共同設置されたサーバ304と取引所1との間の取引に関する実行時間は、時間X、時間Y、及び時間Zのいずれよりも短い。
例えば、1つ又は複数の金融上の権利のトレードへの要求を表す信号が、1つ又は複数の要求ソース102、1102からルータプロセッサ104、1104によって受信され、該要求が、該要求を反映する注文が取引所1、2、又は3のうちのいずれか1つによって完全に遂行されるには大きすぎるであろう数量又は大きさである場合に、注文ルータ104、1104は、種々の利用可能なプロセッサ106、1106上の利用可能性をチェックし、注文を、その一部を取引所1、取引所2、及び取引所3のそれぞれにルーティングするべく、適宜分けることを試みることができる。図3のルータ104、1104が、実行プロセッサ106、1106の取引所1、取引所2、及び取引所3のそれぞれに、要求された取引の実行に関する要求の分割されたポーション又はセグメントを同時に伝送する場合、トレーディングサーバ304(例えば、高頻度トレーディングエンティティ又は他の投機的投資家によって動作される場合もある)は、例えば、取引に関する要求において規定された条件で、注文ルータ104によって該取引所に転送される取引要求のすべて又は一部を売ること又は買うことにより提案された取引へのカウンタパーティとして作用することによって、取引所1上の該取引の一部を遂行することができ、このような取引をオファーする者(例えば、要求プロセッサ(単数又は複数)104、1104によって提供された注文の背後にいる者)がそうでなければ求めたかもしれない条件よりも、取引(単数又は複数)を利用可能にするパーティ(例えば、サーバ304を通じて動作又は作用するパーティ)の方により有利な条件で、取引所2及び/又は取引所3上の注文の残りのポーションを遂行するための条件を変更する又は他の方法で公示するための時間を有することが可能である。言い換えれば、例えば、共同設置されたトレーディングサーバ304は、取引所1、取引所2、及び取引所3とのトレードに関連する実行待ち時間の差に起因して、取引所1上で要求された取引の一部を遂行し、例えば、そのオペレータの又は受益者(単数又は複数)自身の利益、又はこれらの取引所上の同様の権利をオファーする他のトレーダーの利益を増やすために、このような残りのポーションを以前に規定された価格で実行することができるよりも前に取引所2又は取引所3上で取引の残りのポーションを遂行するために、そのビッド/オファーされた価格を上げる又は下げることによってその条件を改善するべく動かすことができる場合がある。
図3で見られるように、このような可能性(「待ち時間での裁定取引」の機会と呼ぶことができる)は、以下のときに存在することがある:
時間X+時間A<時間Y、及び/又は
時間X+時間B<時間Z
取引又は他の処理要求信号がルータ(単数又は複数)104、1104から取引所1、2、3のそれぞれに同時に送信される場合であっても、要求の各分割されたポーションがそれぞれのリソース106、1106によって受信される、確認応答される、及び/又は処理されるのに要する時間(例えば、時間X、Y、Z)は、例えば、ネットワーク通信パス及びプロセッサ(単数又は複数)104、1104及び/又は106、1106のいずれか又はすべてにおける処理速度の差に起因して概して異なる場合があることが当該技術分野の当業者には分かるであろう。同様に、トレーディングサーバ304が取引所2及び3のそれぞれにおいてオファーする取引の条件を変更するのに要する時間は概して異なる場合がある。
このような場合に生じることがある欠点には、要求ソース(単数又は複数)102、1102によって表されるトレーダーが、このような裁定取引の機会がない状態で、それらのトレードを実行する際にそうでなければトレーダーが支払ったであろう価格よりも高い価格を支払う場合があること、又は、その後の取引所上の価格がそれらの実行要求において規定された条件を外れるのに十分なだけ変更される場合に、トレーダーは所望の数量で取引を完了することができない場合があること、例えば、取引所プロセッサ1106にルーティングされた取引のすべて又は一部は、変更された価格のためにトレードされない場合があること、がある。
トレード命令が、例えば、待ち時間を利用する第三者による価格又は他の条件操作に起因して、取引所サーバ1106で十分に履行されない場合がある例では、1つ又は複数の取引所サーバ1106におけるデータ処理要求を出すにあたり、すべての取引所サーバ1106でのこのようなトレード要求の実行が例えば実質的に同時の様態などの同期した様態で起こるように、多数の取引所サーバ1106へのトレード要求の送信の時間を決める又はスケジュールすることが有用な場合がある。特に、例えば、信号処理がリソース106、1106によって実質的に同時の様態で受信される、確認応答される、及び/又は実行されるように、多数のネットワーク化されたコンピューティングリソース106、1106における信号処理実行要求又はそのポーション又はセグメントの実行を同期させることが有用な場合がある。
或る例では、各プロセッサ106、1106において実行されるべき信号処理が必ずしも同時に実行される必要はない場合があるが、トレーディングサーバ304によって条件の何らかの変更を実施することができるよりも前に要求(単数又は複数)又はそのセグメントの実行が生じるように、
時間Y-時間X<時間A、及び/又は
時間Z-時間X<時間B、
であれば十分な場合がある。このような同期したタイミングの使用は、例えば、
時間X+時間A>時間Y、及び/又は
時間X+時間B>時間Z
をもたらし、したがって、例えば、待ち時間での裁定取引の機会を打ち消すことができる。或る実施形態では、したがって、本発明は、待ち時間の少ないアルゴリズムを使用するトレーダー(単数又は複数)304によって実行されるアルゴリズムが市場の変更に反応するのに十分な時間が与えられないように、最小の時間分散で又は時間分散なしに多数のリソース106、1106にわたって取引を実行する能力をルータ(単数又は複数)104、1104にもたらす。
或る実施形態では、上記の式で説明される待ち時間での裁定取引が確実に最小にされ得る及び/又は排除され得るようにするのに必要とされるタイミング範囲は、1つ又は複数のトレーディングサーバ304への注文を表す信号のルーティングのための容認可能な範囲を決定することができる。
したがって、同期が望まれるこれらの及び他の場合に、210で、プロセッサ/ルータ104、1104は、所望のシーケンシングを得るために、実行要求の種々のポーション又はセグメントに割り当てられるべき又は他の方法で関連付けられるべき絶対タイミング又は相対タイミングを決定することができる。このようなタイミングは、任意の所望の同期をもたらすように決定することができ、例えば、同時の又は実質的に同時の実行をもたらすように構成されたタイミングを決定することができ、又は任意の所望のシーケンシングをもたらすように構成されたタイミングを決定することができる。
或る例では、要求をルーティングするためのシーケンスは、異なるルーティング要求のルーティングに時間差を与える(stagger)ように容認可能なタイミングパラメータ(範囲を含む)を決定することによって定義することができる。これらのシーケンスは、異なる会場への要求又は同じ会場への多数の要求を含むことができる。或る例では、タイミングシーケンスは、関係した要求が定義された時間閾値内に実行されるように決定することができる。この時間閾値は、観測された待ち時間での裁定取引のタイミング又は他の方法に基づくことができる。
したがって、210で、タイミングパラメータは、各それぞれのネットワーク化されたコンピューティングリソース106、1106に割り当てられるべき各信号処理実行要求又はそのポーションに関して決定することができる。パラメータは、各ネットワーク化されたコンピューティングリソース106、1106のそれぞれでの信号処理実行要求の同期した実行をもたらすような様態で決定される。この決定は、例えば、図3の待ち時間A、B、X、Y、Zのいずれか又はすべて、及び/又はルータプロセッサ(単数又は複数)104、1104とネットワーク化されたコンピューティングリソース106、1106のそれぞれとの間の信号交換の実行における又はこのようなデバイスのいずれかによる他のこのような信号の処理における任意の他の該当する待ち時間などの、このような要求(単数又は複数)及び/又はポーション(単数又は複数)の実行時間における対応する決定された待ち時間に少なくとも部分的に基づくことができる。
或る実施形態では、タイミングパラメータは、ネットワーク化されたコンピューティングリソース106、1106ではなくそれぞれの信号処理実行要求に割り当てられてよい。或る実施形態では、タイミングパラメータは、実行に関する範囲として定義され、1つ又は複数のそれぞれの信号処理実行要求との関連付けのためのルーティング戦略を決定する及び/又は実装するために適用されるビジネス論理に従って用いられてよい。例えば、タイミングパラメータは、信号処理実行要求の特定の組が特定の時間範囲内に処理/受信/実行されるべきであることを示すのに用いられてよく、この場合の時間範囲は、SORルータプロセッサ(単数又は複数)1104によって動的に決定される。例えば、時間範囲は、パラメータとして特定の会場のオーダーブック上のリクイディティを受信する種々のビジネス論理フローに基づいて決定されてよい。或る実施形態では、時間範囲及び/又はタイミングパラメータはまた、特定のルーティングパス又は通信リンクの選択を通じて満足されてよい。
或る実施形態では、タイミングパラメータは、監視されるネットワーク状態及び/又は特徴、例えば、分散、標準偏差、メジアン、平均値、モード、尖度などを考慮に入れてよい。
或る実施形態では、タイミングパラメータは、特定のトレードが特定の待ち時間範囲内に到着することになる及び/又は実行されることになるタイミング範囲及び/又は確率(単数又は複数)に基づいて決定されてよい。図5で例示されるように、ヒストリカルに監視される待ち時間データは、或る例では、確率(単数又は複数)及び/又は標準偏差、分散などの他の統計的データを提供することができる。或る実施形態では、SORルータプロセッサ(単数又は複数)1104は、定義された統計的閾値内に入るタイミングパラメータを決定するように構成されてよい。
伝送に必要とされる待ち時間の代替として又はこれと併せて、ネットワーク特徴は、注文のルーティングのためにSORルータプロセッサ(単数又は複数)1104によって監視され、使用されてよい。
ネットワーク状態は、ネットワーク輻輳、トラフィック、利用可能な帯域幅、チャネル強度、ノイズ、アーチファクト、ネットワークイベントなどの種々の因子に起因して絶えず変化する場合があり、パフォーマンスは、注文の伝送及び/又はルーティングに影響する場合があるので、ネットワークパフォーマンスの監視は、重要なタスクであり得る。取引所ゲートウェイでの輻輳などの、会場に特有のネットワーク問題などが存在する場合がある。
或る実施形態では、監視されるネットワークパフォーマンスは、例えば、平均値、モード、メジアン、分散、共分散、相関、尖度、スキュー、標準偏差などの統計的値を決定するために、1つ又は複数の測定値を用いて概算及び/又はモデル化されてよい。
監視されるネットワークパフォーマンスは、様々なレベルの粒度及び範囲で監視されてよく、例えば、個々のネットワーク経路、会場などが監視されてよい。或る実施形態では、信号を会場にルーティングするのに用いられ得る多数のネットワーク経路が存在する場合があり、経路自体がそのネットワーク特徴に関して監視されてよい。
例えば、3つの異なるネットワークリンクA、B、及びCが存在していてもよく、A及びBが輻輳している場合に、ネットワークリンクCが選択されてよい。
或る実施形態では、ネットワークパフォーマンスの監視は、測定された情報の鮮度を反映するべくより最近のネットワーク測定値がモデルへのより大きい有意性及び/又は影響を有するように重み付けされてよい。
ネットワークの監視は、種々のデータに基づいて行われてよく、例えば、いくつかのリンクにわたるネットワーク待ち時間を周期的に決定するべく、スケジュールされたリターントリップハートビートメッセージが送信されてよい。或る実施形態では、ネットワークパフォーマンスを判定する際に、例えば、ルータ1104が、過去2ms間にこのリンク上で12個の注文を送信し、特定の特徴を有するいくつかの待ち時間に直面したというヒストリカル注文情報及び/又はルーティング情報が使用されてよい。
或る実施形態では、ネットワーク待ち時間特徴を決定するために、テストメッセージ、重複メッセージなどが伝送されてもよい。種々の長さ及び/又は命令を有する又は命令を有さないメッセージが、会場処理に関連する待ち時間を決定するために互いに比較されてよい。
或る実施形態では、ネットワークの監視は、トレード待ち時間の異なるコンポーネントを決定するように構成することができる。例えば、ラウンドトリップ待ち時間が監視されるときに、ラウンドトリップ待ち時間は、2つ又は3つのコンポーネント間で分けてよい。例えば、3つのコンポーネントは、会場に送信される要求の伝送に関連する待ち時間、会場による要求の実行に関連する待ち時間、及び会場から送信される応答の伝送に関連する待ち時間を含むことができる。別の例では、ラウンドトリップ待ち時間は、伝送待ち時間(すなわち、会場への要求の送信に関する伝送待ち時間と会場からの応答の受信に関する伝送待ち時間との組み合わされた測定)と会場による要求の実行に関連する待ち時間との間で分けてよい。異なる待ち時間に関係したコンポーネントの他の組合せが用いられてもよい。
或る例では、ラウンドトリップ又は他の集約待ち時間の異なるコンポーネントの決定は、異なる要求タイプに関する集約待ち時間の監視に基づいていてよい。例えば、異なる注文タイプに関する又はクォートに関する要求は、結果的に、異なる集約ラウンドトリップ待ち時間を生じる場合があり、或る例では、集約待ち時間の異なるコンポーネントを決定するため及び/又は異なる要求タイプに関するタイミングパラメータを決定するために用いられてよい。
或る例では、プロセッサ(単数又は複数)は、208及び/又は210で、本明細書で説明されるように又は他の方法で他の因子に基づいてターゲットにする会場を選択する及び/又はタイミングを調整するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、会場に関連するデータに基づいて会場を選択する及び/又はタイミングを調整する。このデータは、或る例では、データソースからアクセスすることができ、及び/又は獲得比、待ち時間などに基づいてコンパイルする又は観測することができる。
或る例では、プロセッサ(単数又は複数)は、(例えば、共に存在する及び/又は高頻度のトレーダーによる)トレード要求に関するより多くの競争を有する可能性のより低い会場の方を選ぶ又は該会場に関するより長いタイミング差を有するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、より多くの競争又はトレードが裁定取引に負けるより高いリスクを示し得る因子に基づいて、異なる会場に関する異なるプリファレンシャルランキング又はタイミング調整を有するように構成されてよい。或る例では、日和見的な共に存在するトレーダーの明示的知識は、データソースからアクセスすることができ、又は特定の会場に関係するより低い獲得比及び/又はより低いタイミング差に基づいて暗黙的に決定することができる。
或る例では、プロセッサ(単数又は複数)は、会場の料金及び/又は割戻し構造に基づいて会場に関する異なるプリファレンシャルランキング又はタイミング調整を有するように構成されてよい。例えば、或るトレードを掲示するための割戻しを提供する会場は、高頻度トレーダーからの競争を有する可能性がより高い場合がある。
或る例では、多数の会場オプションが利用可能であるときに、プロセッサ(単数又は複数)は、より多くの競争を有する可能性がより低い会場を選択するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、他の会場(単数又は複数)でのリクイディティを獲得する機会が増加する場合に、より多くの競争を有する会場からのリクイディティを獲得できないリスクがあり得るタイミングを生成する(例えば、これをシーケンスにおいて後の方にスケジュールする又はより大きい遅延を有する)ように構成されてよい。或る例では、プロセッサ(単数又は複数)は、より多くの競争を有する会場に関係するウェーブに関してよりタイトなタイミングを生成してよい。
或る例では、プロセッサ(単数又は複数)は、トレード要求が会場に到着するのに早過ぎた又は遅過ぎた場合に経験したであろう失われたリクイディティ又は失われたグロス値に基づいて会場を選択する及び/又はタイミング差を調整するように構成することができる。これは、或る例では、掲示されたリクイディティ、掲示されたビッド/アスク価格設定などに基づいていてよい。プロセッサ(単数又は複数)は、トレード要求が会場(単数又は複数)に到着するのに早過ぎて又は遅過ぎて結果的に裁定取引に負ける可能性がある場合により大きい損失(リクイディティ又は値)を結果的に生じたであろう会場(単数又は複数)に関するプリファレンシャルランキングを下げる又はタイミング差を狭めるように構成されてよい。
或る実施形態では、SORルータプロセッサ(単数又は複数)1104は、トレード獲得比、最近の遂行率などのフィードバックとして提供される種々の測定された値に応答してタイミングパラメータの値及び/又はタイミング範囲のサイズを自動的に調整するように構成されてよい。例えば、減少するトレード獲得比は、情報漏れを示す場合があり、タイミングパラメータに関する範囲が自動的に狭められてよく及び/又はそれに応じてタイミングパラメータが修正されてよい。
例えば、待ち時間及び他のパラメータに加えて、SORプロセッサ(単数又は複数)は、特定のルートに沿って又は特定の会場にルーティングされた以前の注文の遂行率又は獲得比を監視するように構成することができる。或る例では、プロセッサ(単数又は複数)は、すべてのルーティングされた関係した取引要求に関する合計取引ボリュームを入手可能なリクイディティと比較することによって遂行率又は獲得比を決定するように構成することができる。或る例では、入手可能なリクイディティは、ターゲットにされた会場のそれぞれでの合計の掲示されたリクイディティとすることができる。或る例では、入手可能なリクイディティは、任意の会場での合計の掲示されたリクイディティであってよい。或る例では、入手可能なリクイディティは、プロセッサ(単数又は複数)がターゲットにする会場を選択すること及び/又は大口の注文要求を分けることを含む場合がある実行要求を作成するときにSORプロセッサ(単数又は複数)が入手可能な掲示されたリクイディティデータに基づいていてよい。或る例では、入手可能なリクイディティは、ウェーブ又はシーケンスにおける第1の取引要求がルーティングされるときにSORプロセッサ(単数又は複数)が入手可能な掲示されたリクイディティデータに基づいていてよい。
或る実施形態では、入手可能なリクイディティは、公に掲示されたリクイディティ及び/又は予測されたリクイディティを含むことができる。ネットワーク化されたコンピューティングリソースに関連するデータを監視するプロセッサ(単数又は複数)は、以前にルーティングされたデータ処理セグメントによって獲得される公に掲示されたリクイディティがその後新しい公に掲示されたリクイディティで補充されるかどうか及び/又は元のリクイディティの獲得と新しいリクイディティの再掲示との間のタイミングを監視するように構成することができる。データ処理セグメントの作成及びそれらのタイミングパラメータの決定は、この予測されたリクイディティデータに基づくことができる。
別の例では、プロセッサ(単数又は複数)は、多数のデータ処理セグメント(同じデータ処理に関係しない又は関係した)が同じ掲示されたリクイディティをターゲットにするときをトラッキング又は識別してよい。これらのデータ処理セグメントに関連するデータを、それらの遂行率が掲示されたリクイディティを超過するかどうかを確かめるべく監視することによって、プロセッサ(単数又は複数)は、このデータを、獲得される掲示されないリクイディティデータとしてコンパイルすることができる。
ネットワーク化されたコンピューティングリソースに関連するデータの監視は、このような予測されたリクイディティデータをターゲットにするべくデータ処理セグメント及びそれらのタイミングパラメータを作成するためにプロセッサによって用いることができる予測されたリクイディティデータとして、リクイディティの再掲示と掲示されないリクイディティの獲得との両方を監視することを含むことができる。
或る例では、プロセッサ(単数又は複数)は、ウェーブにおけるすべてのトレード要求がルーティングされた後で獲得/完了に成功した合計取引ボリュームを判定するべくターゲットにされた会場からの確認/確認応答又は他の応答メッセージをコンパイルすることによって遂行率又は獲得比を求めるように構成することができる。
或る例では、プロセッサ(単数又は複数)は、求められた遂行率又は獲得比に基づいてタイミングパラメータ及び/又はタイミングシーケンスを調整するように構成することができる。例えば、ルート又は会場に関する獲得比が、その以前の、ヒストリカルな、及び/又は典型的な値から低下する場合に、プロセッサ(単数又は複数)は、タイミングパラメータ及び/又はシーケンス(例えば、待ち時間及び/又は他の因子に基づく)が何らかの情報漏れ又は裁定取引トレードを回避するのにあまり効果的ではないと判断する場合がある。
或る例では、獲得比が、定義された閾値よりも又は或る閾値量よりも多く低下するときに、プロセッサ(単数又は複数)は、タイミングパラメータを調整する(例えば、図3での時間Y又は時間Zを減少させる又は増加させる)、タイミングシーケンスを調整する、及び/又は異なる会場での実行時間の差に関するタイミング閾値(単数又は複数)を下げる(例えば、図3での時間=A及び/又は時間=Bを下げる)ように構成することができる。
或る例では、獲得比が、定義された閾値よりも又は或る閾値量よりも多く低下するときに、これは、ルータ又は他のスイッチングデバイスにおけるリンク又はコンポーネントの障害又は障害に近いなどのネットワークデバイスの変化を示す場合がある。或る例では、プロセッサ(単数又は複数)は、ネットワーク問題の可能性がある及び/又は機器問題が存在し得るという警告又は通知を生成するように構成することができる。警告又は通知は、音声警告、ディスプレイ又は光源上の視覚警告、メッセージ(単数又は複数)(例えば、電子メール、インスタントメッセージングなど)、又はネットワーク問題及び/又は機器問題が存在し得ることを管理者に警告するための任意の他の機構を含んでよい。或る例では、低下する獲得比は、ルータ又は他の影響を受けた機器がそれ自身の警告又は障害通知を生成するよりも前に機器問題又は障害予測状態の早期の警告をもたらすことができることが観測されている。
或る例では、定義された閾値又は閾値量は、絶対値又は相対値であってよい。例えば、プロセッサ(単数又は複数)は、獲得比が2%低下する又はその以前の値又はヒストリカル値の2%低下するときに、タイミングパラメータ(単数又は複数)、シーケンス(単数又は複数)、及び/又は閾値(単数又は複数)を調整するように構成されてよい。
別の例では、プロセッサ(単数又は複数)は、獲得比がその典型的な分散範囲外に低下する又はその標準(norm)から定義された数の標準偏差だけ変化する(例えば、獲得比が標準から1~3の標準偏差の逸脱であるときに)タイミングパラメータ(単数又は複数)、シーケンス(単数又は複数)、及び/又は閾値(単数又は複数)を調整するように構成されてよい。
或る例では、プロセッサ(単数又は複数)は、X時間期間にわたる獲得比を収集し、ガウス分布又は他の分布を作成することによって、分散範囲及び/又は標準偏差を決定するように構成することができる。
ルート/会場又はルート/会場のペア又はグループに関する獲得比が、定義された閾値を下回る又は定義された閾値だけ低下したと判断すると、プロセッサ(単数又は複数)は、将来のトレード要求ウェーブ又はシーケンスのための獲得比を増加させることを試みるべく、関連するルート(単数又は複数)及び/又は会場(単数又は複数)に関するタイミングパラメータ(単数又は複数)、シーケンス(単数又は複数)、及び/又はタイミング差閾値(単数又は複数)を自動的に調整するように構成することができる。
或る例では、プロセッサ(単数又は複数)は、208及び/又は210で、本明細書で説明されるように又は他の方法で他の因子に基づいてターゲットにする会場を選択する及び/又はタイミングを調整するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、会場に関連するデータに基づいて会場を選択する及び/又はタイミングを調整する。このデータは、或る例では、データソースからアクセスすることができ、及び/又は獲得比、待ち時間などに基づいてコンパイルする又は観測することができる。
或る例では、プロセッサ(単数又は複数)は、(例えば、共に存在する及び/又は高頻度のトレーダーによる)トレード要求に関するより多くの競争を有する可能性のより低い会場の方を選ぶ又は該会場に関するより長いタイミング差を有するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、多くの競争又はトレードが裁定取引に負けるより高いリスクを示し得る因子に基づいて、異なる会場に関する異なるプリファレンシャルランキング又はタイミング調整を有するように構成されてよい。或る例では、日和見的な共に存在するトレーダーの明示的知識は、データソースからアクセスすることができ、又は特定の会場に関係するより低い獲得比及び/又はより低いタイミング差に基づいて暗黙的に決定することができる。
或る例では、プロセッサ(単数又は複数)は、会場の料金及び/又は割戻し構造に基づいて会場に関する異なるプリファレンシャルランキング又はタイミング調整を有するように構成されてよい。例えば、或るトレードを掲示するための割戻しを提供する会場は、高頻度トレーダーからの競争を有する可能性がより高い場合がある。
或る例では、多数の会場オプションが利用可能であるときに、プロセッサ(単数又は複数)は、より多くの競争を有する可能性がより低い会場を選択するように構成されてよい。或る例では、プロセッサ(単数又は複数)は、他の会場(単数又は複数)でのリクイディティを獲得する機会が増加する場合に、より多くの競争を有する会場からのリクイディティを獲得できないリスクがあり得るタイミングを生成する(例えば、これをシーケンスにおいて後の方にスケジュールする又はより大きい遅延を有する)ように構成されてよい。或る例では、プロセッサ(単数又は複数)は、より多くの競争を有する会場に関係するウェーブに関してよりタイトなタイミングを生成してよい。
或る例では、プロセッサ(単数又は複数)は、トレード要求が会場に到着するのに早過ぎた又は遅過ぎた場合に経験したであろう失われたリクイディティ又は失われたグロス値に基づいて会場を選択する及び/又はタイミング差を調整するように構成することができる。これは、或る例では、掲示されたリクイディティ、掲示されたビッド/アスク価格設定などに基づいていてよい。プロセッサ(単数又は複数)は、トレード要求が会場(単数又は複数)に到着するのに早過ぎて又は遅過ぎて結果的に裁定取引に負ける可能性がある場合により大きい損失(リクイディティ又は値)を結果的に生じたであろう会場(単数又は複数)に関するプリファレンシャルランキングを下げる又はタイミング差を狭めるように構成されてよい。
或る実施形態では、ルータプロセッサ1104は、多数のルートにわたる及び多数の注文に関する注文フローを最適化するように構成されてよい。例えば、特定のルーティングスキームを通じて単一のルートに関する遂行率を増加させることは、他のルートを不利にする場合がある。ルータプロセッサ1104は、会場、通信リンク、ネットワークリンク、時間などにわたる注文負荷のバランスをとるように構成されてよい。ルータプロセッサ1104は、ルータプロセッサ1104のスケジュールされたルーティングによって引き起こされる輻輳に起因して生じ得る可能性のある待ち時間の影響を判定し、タイミングパラメータを適宜スケジュールする及び/又は再配列する及び/又は関連付けるように構成されてよい。或る実施形態では、ルータプロセッサ1104は、スケジュールされた伝送を自動的に再調整及び/又はシャッフルするように構成されてよい。
或る実施形態では、ルータプロセッサ1104は、ビジネス論理を表す1つ又は複数のビジネスルールの適用をするように構成されてよい。ビジネスルールは、注文に関連する特定の命令セットに関するルーティング特徴を決定する際に用いられる種々の因子のスキューイング及び/又は重み付けをもたらしてよい。例えば、ルールは、どのようにして注文がセグメント化されるか、どの会場(単数又は複数)に注文が伝送され得るか、容認可能な時間の範囲などを決定してよい。
例えば、特定の待ち時間を有する特定の会場は、該会場がこれに関連する高いトレード獲得比を有する場合があり、より高い重みが該特定の会場への信号のルーティングと関連付けられる場合があるので、好まれる場合がある。
別の例として、第1の会場は、第2の会場よりも大きいリクイディティを有するより厚いオーダーブックを提供する場合がある。第1の会場は、幾分望ましくないネットワーク特徴を有する場合があるが、入手可能なこの量のリクイディティが与えられる選択に関してより重く重み付けされる場合がある。
或る例示的な実施形態では、SORプロセッサ(単数又は複数)は、リクイディティ及び待ち時間分散に重み付けすることによってターゲットにする会場並びにこれらの会場に関するタイミングパラメータを決定するように構成することができる。
或る例では、待ち時間分散は、ネットワークトラフィック、ネットワーク通信の低い又は変化する信号品質、ネットワークノード問題、会場(ネットワーク化された実行プロセッサ(単数又は複数))での輻輳又は過負荷などの因子によって生じる場合がある。
或る例では、待ち時間分散は、会場又は会場の通信ネットワーク又はデバイス(単数又は複数)の態様によって意図的に導入される遅延(単数又は複数)によって生じる場合がある。例えば、会場は、特定のタイプの注文要求に又はすべての注文に遅延(例えば、「速度バンプ」)をランダムに導入する場合がある。この遅延は、影響を受けた注文要求の実行に関する待ち時間を増加させることになる。或る例では、会場(単数又は複数)は、注文要求に一定の遅延(例えば、350μs)を導入する場合がある。或る例では、会場(単数又は複数)は、注文要求にランダムに選択された長さ(例えば、5~25msの間)を有する遅延を導入する場合がある。
或る例では、遅延(単数又は複数)が適用される及び/又は遅延(単数又は複数)の長さがランダムに選択され得る注文要求は、注文パラメータ/オプション/フラグ/など、及び/又はその任意の組合せに基づいている場合がある注文タイプに基づいている場合がある。
或る例では、会場(単数又は複数)は、注文要求のタイプ/パラメータ/オプション/フラグ/などに基づく或る範囲から選択されるランダムに選択された長さを有する遅延を導入する場合がある。例えば、注文の1つの分類は、1~10msの間のランダム遅延を被る場合があり、一方、別の分類又は注文は、14~24msの間のランダム遅延を被る場合がある。
プロセッサ(単数又は複数)によって監視されるこのようなランダム遅延を被っている場合がある、以前にルーティングされたデータ処理セグメントに関連するデータは、或る場合には、例えば1~10msの範囲及び14~24msの範囲の多峰性分布を示すことがある。
或る例では、プロセッサ(単数又は複数)は、1つ又は複数のデータベース(単数又は複数)又は他のデータソース(単数又は複数)から意図的に適用される遅延の定義された態様にアクセスするように構成することができる。或る例では、意図的に適用される遅延の態様は、ヒストリカル注文及びそれらのそれぞれの処理時間をトラッキングすることによって観測されてよい。アクセスした及び/又は観測された遅延情報に少なくとも部分的に基づいて、或る例では、プロセッサ(単数又は複数)は、待ち時間範囲、分散、及び待ち時間に関する他の統計的値を判定するように構成することができる。
プロセッサ(単数又は複数)によって監視されるランダムに導入される遅延を被っている場合がある、以前にルーティングされたデータ処理セグメントに関連するデータは、或る場合には、ランダム遅延を含まない待ち時間の範囲とランダム遅延を含む待ち時間の第2の範囲とを示す多峰性分布を示すことがある。
或る例では、プロセッサ(単数又は複数)は、用いられる可能性がある各ネットワーク化されたコンピューティングリソース(会場)に関する提案されたトレードの入手可能なリクイディティに関連するデータを取得するように構成することができる。
或る例では、入手可能なリクイディティに関連するデータは、パブリックに入手可能なソースから受信されてよく、会場でオープンに入手可能な株の数を含んでよい。或る例では、プロセッサ(単数又は複数)は、オープンに掲示されるもの(例えば、アイスバーグ又はリザーブボリューム)よりも多くのリクイディティが存在し得るかどうかを判定するように構成することができる。この判定は、同様の金融上の権利、ボリューム、時刻、カウンタパーティ、及び/又は任意の他の注文データに関する会場で受けたヒストリカル注文又は過去の注文に関して得られたデータに基づいていてよい。
208及び210で、プロセッサ(単数又は複数)は、大きい提案されたトレードを、待ち時間及びリクイディティデータに基づいて、異なる会場又は他のネットワーク化された実行プロセッサへのより小さいトレード要求を表すより小さいデータ処理に分割するように構成することができる。或る例では、プロセッサ(単数又は複数)は、リクイディティデータ及び待ち時間分散に基づいて会場(単数又は複数)及びボリュームを選択するように構成することができる。
或る例では、会場が、大きい入手可能なリクイディティを有するが大きい待ち時間分散を有するならば、プロセッサ(単数又は複数)は、該リクイディティを獲得する機会と、可能性のある範囲の待ち時間中の市場の移動に起因する他の会場でのリクイディティを獲得できない機会とのバランスをとるように構成されてよい。
例えば、仮定的状況では、会場Aは、価格Xで入手可能な5000株を有し、且つ100μs+/-80μsの待ち時間を有し、会場Bは、価格Xで入手可能な500株を有し、且つ80μs+/-1μsの待ち時間を有する。SORがすべての5500株を獲得しようとしている場合、プロセッサ(単数又は複数)は、t=0で第1の取引要求を会場Aにルーティングし、20μs後に第2の取引要求を会場Bにルーティングするように構成され得る。取引要求が平均待ち時間に従って到着する又は処理される場合、取引は、t=100μsで両方の会場で入手可能なボリュームを獲得するはずである。しかしながら、会場Aの待ち時間分散は非常に大きいので、会場Aでのトレードはt=20μsで実行できることもあり、t=100μsで会場Bでトレードを実行する前に、会場Bでの500株の価格又は入手の可能性が変化している場合がある。同様に、会場Aでのトレードがt=180μsまで実行しない場合、t=100μsで実行されるBでの注文が、要求がt=180μsで処理される前に、市場がAでの注文を変更又は取り消すことをトリガしている場合がある。
或る例では、プロセッサ(単数又は複数)は、リクイディティと待ち時間分散との比に基づいて、ネットワーク化されたコンピューティングリソース(単数又は複数)/会場(単数又は複数)を選択するように構成することができる。会場での入手可能なリクイディティが高いときに、プロセッサ(単数又は複数)は、これが高い待ち時間分散を有する場合であっても、該リクイディティをターゲットにするように構成されてよい。或る例示的なシナリオでは、これは、別の会場でのリクイディティを犠牲にすること又は獲得できないリスクを生じることを伴う場合がある。
例えば、上記の状況では、会場A対会場Bのリクイディティ/待ち時間分散の比又は他のメトリック(単数又は複数)に基づいて、プロセッサ(単数又は複数)は、会場Aでのリクイディティが獲得されることになる確率をより高くするタイミングパラメータを決定するように構成されてよい。例えば、競合するトレーディングシステムが会場Bでの注文を観測して会場Aでの注文を変更するのに50μsを必要とすると仮定すると、プロセッサ(単数又は複数)は、時間=0で注文要求が会場Aに送信され、時間=51μs後に注文要求が会場Bに送信されるようにタイミングパラメータ及び/又はタイミングシーケンスを決定するように構成され得る。このようにして、会場Aでの注文がその範囲の最も遅い端である180μsで実行し、競合するトレーディングシステムの50μsの時間閾値を考慮に入れて、会場Bでの注文がその範囲の最も早い端である130μs(79μsの待ち時間、51μsの遅延)で実行する場合、会場Aでの注文は、会場Bでの注文からのいかなる裁定取引のリスクもなしに遂行されることが可能であろう。この例によって示されるように、プロセッサ(単数又は複数)は、たとえより小さい入手可能なリクイディティを有する他の会場(単数又は複数)での注文を獲得できないリスクがあり得る場合であっても、それらが大きい入手可能なリクイディティを有するならば、大きい待ち時間(単数又は複数)を有する会場(単数又は複数)をターゲットにするように構成され得る。
この例では、プロセッサ(単数又は複数)は、ワーストケースのシナリオをとるように構成されたが、リスク許容度に基づいて、プロセッサ(単数又は複数)は、より挑戦的なタイミングパラメータ及びシーケンスを選択するように構成されてもよい。
或る例では、プロセッサ(単数又は複数)は、リクイディティ及び待ち時間分散に基づいてターゲットにする会場を選択するように構成されてよい。第1のシナリオにおいて、大きい提案された取引が、大きい待ち時間分散(単数又は複数)を有する会場(単数又は複数)を完全に避けることによって獲得することができる場合、プロセッサ(単数又は複数)は、大きい待ち時間分散を有さない会場(単数又は複数)を選択し、そこにトレード要求をルーティングするように構成することができる。
或る例では、プロセッサ(単数又は複数)は、大きい提案された取引を、大きい待ち時間分散を有する会場と、より小さい待ち時間を有する他の会場(単数又は複数)との間で分けるように構成されてよい。
会場が、意図的な又は人工的に作り出された遅延によって生じる大きい待ち時間分散を有する場合、或る例では、プロセッサ(単数又は複数)は、多数の注文を同じ会場に或るタイミングシーケンスで送信することによってその会場でのリクイディティをターゲットにするように構成されてよい。例えば、会場プロセッサが、典型的な注文実行待ち時間に対して大きい、ランダムに割り当てられた遅延を適用する場合、或る例では、SORプロセッサ(単数又は複数)は、以前に送信された注文が遅延していることを検出するように構成することができ、注文のうちの1つがすぐに処理されることになることを願って1つ又は複数の後続の注文を送信してもよい。或る例では、プロセッサ(単数又は複数)は、同じ会場への後続の注文が処理されていることを示す注文確認又は応答メッセージを観測することによって以前に送信した注文が遅延していることを検出するように構成されてもよい。
或る例では、他の会場への注文と併せて、ランダムに割り当てられた遅延を有する会場に多数の注文をルーティングすることができる。或る例では、ランダム遅延を有する会場に多数の注文を送信することによって、注文のうちの少なくとも1つが小さい遅延で又は遅延なく処理される、より高い確率が存在する場合がある。或る例では、プロセッサ(単数又は複数)は、ランダム遅延を有する会場へのバースト注文を他の会場への注文と協調させるように構成することができる。ランダム遅延会場に関する小さい範囲の意図的に生じさせられた遅延及び他の会場に関する実行待ち時間に基づくタイミングパラメータ及び/又はタイミングシーケンスを用いることによって、プロセッサ(単数又は複数)は、ランダム遅延会場と他の会場との両方でのリクイディティを獲得することができる場合がある。或る例では、これは、他の会場(単数又は複数)での獲得できなかったリクイディティを減少させる場合があり、及び/又はランダム遅延会場でのリクイディティの少なくとも一部を獲得する機会を増加させる場合がある。或る例では、プロセッサ(単数又は複数)によって適用されるこれらのタイミング及びバースト注文のうちの1つ又は複数は、結果的に、より高い獲得比をもたらす場合がある。
或る例では、ランダム遅延会場へのバースト注文は、それぞれ、当初の提案された注文を超過する機会を減らすために、より小さいボリュームに関するものであってもよい。
或る例では、プロセッサ(単数又は複数)は、会場によって適用されるリクイディティ及び遅延の範囲に基づいてバーストにおける注文の数及びサイズを決定するように構成されてよい。或る例では、バーストにおける注文の数及びサイズは、ランダム遅延会場に関する既知の裁定取引システムの数、これらのシステムのポート容量、及び/又はこれらのシステムのスロットルレートの関数であり得る。
或る例では、プロセッサ(単数又は複数)は、特定の会場に関するヒストリカルバースト注文パフォーマンスに基づいてバースト注文の数及びサイズを決定するように構成されてよい。
或る例では、リクイディティの大部分が他の会場で入手可能であるときに、プロセッサ(単数又は複数)は、可能な遅延範囲の短い方の端に基づいて或るタイミングシーケンスでランダム遅延会場により少ない注文を有するバーストを送信するように構成されてよい。或る場合には、これは、ランダム遅延会場でのリクイディティの一部を潜在的に犠牲にしながら又はギブアップしながら他の会場でのリクイディティの獲得を優先させることができる。
或る実施形態では、プロセッサ(単数又は複数)は、ブック上に現れないリザーブ又はアイスバーグリクイディティを潜在的に獲得するべく多数の注文を単一の会場(ランダム遅延又はその他)に送信するように構成されてよい。
例えば、前の注文に関連するデータ又はデータソース(単数又は複数)から受信したデータに基づいて、プロセッサ(単数又は複数)は、リザーブボリュームが特定の会場で可視であるものに加えて入手可能であり得ることを判定することができる。
或る例では、プロセッサ(単数又は複数)は、大口の注文を、同じ会場への2つ以上の注文要求を含むより小さい注文要求に分割するように構成されてよい。或る例では、これらの2つの注文要求は、会場でのリザーブ又はアイスバーグリクイディティを獲得するべくタイミングパラメータ及び/又はシーケンスと共にルーティングされてよい。
例えば、過去の取引データに基づいてヒストリカル注文及び/又は会場挙動を分析して、プロセッサ(単数又は複数)が、特定の会場が最初の注文が遂行されて80μs後に入手可能なリザーブ又はアイスバーグリクイディティを再掲示し得ると判断する場合に、プロセッサ(単数又は複数)は、2つの注文を会場に80μsあけて送信するように構成されてよい。或る例では、プロセッサ(単数又は複数)が、会場が根底にあるリクイディティを再掲示したかどうかに関係なく第2の注文が遂行される可能性が高いと判断する場合に、プロセッサ(単数又は複数)は、1つのシーケンスにおける2つの注文を80μs未満の間隔をおいて送信するように構成することができる。
別の例示的なシナリオでは、プロセッサ(単数又は複数)は、会場Aが、価格Xで入手可能な500株を有し、且つ30μsの待ち時間を有し、会場Bが、価格Xで入手可能な200株を有し、且つ100μsの待ち時間を有し、且つ根底にあるリザーブ/アイスバーグリクイディティを有する可能性が高いと判断する場合がある。
或るこのような場合、プロセッサ(単数又は複数)は、時間=0で200株に関する第1の注文を会場Bに送信し、時間=50μsで200株に関する第2の注文を会場Bに送信し(会場Bに過負荷を与えないように、又はリザーブリクイディティが入手可能となるように、又はその他の方法で)、時間=70μsで500株に関する第3の注文を会場Aに送信するように構成することができる。この例では、プロセッサ(単数又は複数)によって決定されるタイミングシーケンスは、システムが会場Aでのリクイディティも獲得しながら会場Bでのリクイディティの多数のセグメントを獲得することを可能にし得る。
或る例では、プロセッサ(単数又は複数)は、注文(単数又は複数)を分け、カウンタパーティシステムが第1の会場(リザーブ/アイスバーグボリュームを有する)又は他の会場(単数又は複数)のいずれでのボリューム又は価格設定を変更できるよりも前に第1の会場でのリザーブ/アイスバーグボリュームの多数のポーション及び他の会場(単数又は複数)でのリクイディティを獲得するべくタイミングパラメータ/シーケンスを決定するように構成することができる。
サーバ間の実行時間の差異によって生じる裁定取引及び他の問題はまた、処理要求の伝送及び実行における絶対待ち時間を減らすことによって最小にする又は排除することができる。したがって、前述のようなタイミングパラメータの決定は、リソース(単数又は複数)106、1106による実行及び/又は実行要求の報告に関連する時間の絶対量を最小にすることにも役立ついくつかの手順と組み合わせて実施することができる。
ルータ(単数又は複数)104、1104によって複数の実行プロセッサ106、1106に提供されるマルチパート実行要求の種々のポーションと関連付けられるべきタイミングパラメータを決定する際に用いられる、決定された待ち時間の情報は、タイミング情報(例えば、ルータプロセッサ(単数又は複数)104、1104、ネットワーク化されたコンピューティングリソース106、1106、及び/又はネットワーク(単数又は複数)110、1110、108、1108での伝送遅延、信号伝搬遅延、シリアライゼーション遅延、キューイング遅延、及び/又は他の処理遅延)を含む場合がある。このような情報は、任意のソース(単数又は複数)によって提供されてよく又はそこから受信されてよく、1つ又は複数のデータストア214に記憶されてよく、そこから取得されてよい。タイミングデータストア(単数又は複数)214は、種々の実施形態において、ルータプロセッサ(単数又は複数)104、1104と関連付けられる或いはこれによってアクセス可能なメモリ(単数又は複数)118、1018に常駐するデータベース又は他のデータ構造を含んでよい。例えば、第1のネットワーク化されたコンピューティングリソース106、1106に関連する1つの実行要求の1つのポーションの実行が、第2のネットワーク化されたコンピューティングリソース106、1106に関連するものよりも長い決定された待ち時間を有する場合(例えば、図3の取引所1対取引所2及び3の場合のように)、要求が、2つのネットワーク化されたコンピューティングリソース106で実質的に同時に又はトレーディングサーバ304による可能な条件操作に関連する有効最小時間A又はB内に実行されるようにするために、これらの2つのネットワーク化されたコンピューティングリソース106、1106にルーティングされるべき1つの取引要求の要求に関連するいくつかのポーションに関するタイミングは、第1のネットワーク化されたコンピューティングリソース106に関連する実行要求又はその一部が第2のネットワーク化されたコンピューティングリソース106に関連する要求よりも早くに送信されるように決定されてよい。
或る実施形態では、例えば、待ち時間確率モデル又は他の予測モデルを用いてよい1つ又は複数のアルゴリズムが、このような通信遅延及び/又は処理遅延又は待ち時間に関連する情報に基づいて、種々の実行プロセッサ106、1106にルーティングされるべき実行要求のいくつかのポーションと関連付けられるべきタイミングパラメータを決定する際に用いられてよい。例えば、任意の所望のデバイス、時間期間又は他のタイミング考慮事項にわたって蓄積される又は関連するヒストリカル待ち時間データのローリング平均は、データ処理要求の実行に関する期待される待ち時間を予測するのに用いられてよい。
ルータ(単数又は複数)104、1104によりソース(単数又は複数)102、1102によって提供される実行に関する要求のポーション(単数又は複数)と関連付けられるべきタイミングパラメータを決定する際に用いるのに適したアルゴリズムの一例は、ネットワークリソース106、1106でのこのような要求のポーションの同時の或いは同期した到着をもたらすことが望まれるならば、ルータ(単数又は複数)104、1104からの要求信号の伝送と適切なタイミング基準との間の平均待ち時間に基づいている。このようなタイミング基準(単数又は複数)は、例えば、対応するターゲットにされたリソース(単数又は複数)106、1106による処理の開始、及び/又は要求及び/又は要求の実行の完了の受信時にリソース(単数又は複数)106、1106によって生成される確認信号のルーティングプロセッサ(単数又は複数)104、1104による受信を含むことができる。例えば、或る実施形態では、所与のリソース106、1106への伝送と、このようなリソース106、1106からの確認又は確認応答信号又は他の適切な応答信号1260のルータ(単数又は複数)104、1104による受信との間の待ち時間を測定すること、及びこのような測定された待ち時間(単数又は複数)を210でタイミングパラメータ(単数又は複数)を決定する際に用いることが有利なことがある。
プロセスステップ210は、例えば、金融システム1000の場合には資本管理エンティティ又はモジュール1126などのルーティングプロセッサ(単数又は複数)104、1104によって実行される又はそのモジュールである或いはそれと関連付けられるアプリケーションによって実行されてよい。マルチパート実行要求の各パート又はセグメントと関連付けられるべきタイミングパラメータの決定は、例えば、図1Bに示されたものなどの適応的取引所ラウンドトリップ待ち時間(RTL)学習及び補償論理モジュール1126cの使用を含んでよい。図3を参照すると、このような適応的取引所RTL学習及び補償論理モジュール1126cは、各信号処理要求(例えば、トレード要求)に関するタイミングを以下のように決定してもよい:
1)mパートのマルチパート処理要求Xの各ポーション又はセグメントnに関して、例えば、プロセッサ(単数又は複数)104、1104と関連付けられたクロックによって提供される時間T1x,nは、取引注文(単数又は複数)又は他の処理要求(単数又は複数)Xのパーシングプロセス又は生成プロセス内の所望の定義された時点でプロセッサ(単数又は複数)104、1104によってタイムスタンプをつけられ、mパートの要求Xの各パート又はセグメントnに対応する処理要求信号セットレコード(単数又は複数)と関連付けられる。
2)マルチパート要求Xの各ポーションnに関するT2x,nは、対応するN番目のポーションの要求信号セットがターゲットにされた取引所106、1106で受信されており、且つ対応する取引所により生成された確認メッセージが要求側のルーティングプロセッサ104、1104によって受信されているときに、プロセッサ(単数又は複数)104、1104によってタイムスタンプをつけられる。
3)取引日(又は他のデータ処理期間)の経過中にプロセスステップ2及び3が繰り返され、各取引セグメントに関して決定される対応するT1x,n及びT2x,nが、所与の実行プロセッサ106、1106にルーティングされてよい。
4)後続の未決の(pending)マルチパート実行要求Yの各ポーションセグメントnに関して、決定されるタイミングパラメータは、RTLy,n=Σ(T2x,n-T1x,n)/Zであり、式中、Zは、計算に用いられる所与の実行プロセッサ106、1106にルーティングされた、以前に実行された注文セグメントの数である。
タイミングデータストア(単数又は複数)214が、1つ又は複数の実行リソース106/取引所サーバ1106に関連する過去のタイミングパラメータ(例えば、複数の決定されたタイミングパラメータRTLy,n)のローリングレコードを記憶する場合、このようなデータは、各リソース106/取引所サーバ1106に関する現在の又は累積待ち時間を予測するのに用いられ得るローリングヒストグラムを作成するのに用いられてよい。このような予測は、継続的に変化する(「ローリング」)レコードに基づいているので、このプロセスは、「オンライン学習」と呼ばれる場合がある。これを担当するコンポーネント(例えば、取引所待ち時間ヒストグラムメモリ又は処理コンポーネント、図示せず)が適応的取引所RTL学習及び補償論理モジュール1126c内に存在する場合がある。
適応的取引所RTL学習及び補償論理モジュール1126cは、異なる取引所サーバ1106にルーティングされる分割されたトレード要求のポーションの実行のタイミング差を減らす、制御する、最小にする、又はなくす、したがって、例えば、日和見的トレーダーによる待ち時間での裁定取引を減らす又はなくすような方法で、このような取引所サーバ1106に関連する実行待ち時間の差を補償するために、種々の取引所サーバ1106にトレード(又は他のデータ処理)要求を伝送する際に用いられるべき適切なタイミングパラメータを決定するのに予測された待ち時間を用いてよい。
適応的RTLモジュール(単数又は複数)1126cは、マルチパート処理要求の実行を同期する際に用いるのに適したタイミングパラメータを決定する際に種々のアルゴリズムを用いることができる。例えば、このようなモジュールは、ルータ(単数又は複数)104、1104が例えば異なる時点での処理に関する要求のそれらの対応するポーションを種々のプロセッサ106、1106に送信することによって異なる取引所待ち時間を補償するべき範囲を決定するのに、種々の取引所に関して決定された待ち時間値を用いてよい。これは、例えば、その対応する実行リソース106、1106による各それぞれのポーションの受信の時間差を最小にすることによって、各ポーションの実行の完了の遅延を最小にすることができる。(図3では、例えば、これは、時間X、時間Y、及び時間Zで経過した時間の差を最小にすることとして示されるであろう)。このようなアルゴリズムはまた、通信遅延に加えて、種々のリソース106、1106上のトレード又は他の処理注文の実行に要する時間のヒストリカルな差を考慮に入れることができる。適応的RTLモジュール(単数又は複数)1126cは、例えば、ネットワーク監視モデル、ネットワーク監視ログなどを維持するべくタイミング範囲を決定するように構成されてよい。
適応的RTLモジュール(単数又は複数)1126cはまた、遂行率、トレード獲得比、予測されるネットワーク特徴などの情報に応じてタイミングパラメータ/シーケンスの自動調整をするように構成されてよい。
適応的取引所RTL学習及び補償論理モジュール(単数又は複数)1126cは、(例えば、取引所市場データソース(単数又は複数)1126vなどのデータのソースを用いて)各取引所サーバ1106において広く通用している市場状態についての情報、ウェーブ注文/実行、実際の待ち時間、及びトレード要求が送信されるときのターゲットの待ち時間(例えば、上記の予測される場合の)をさらに収集してよい。これを担当するコンポーネントが適応的取引所RTL学習及び補償論理モジュール1126c内に存在する場合がある。
実行プロセッサ(単数又は複数)106、1106のうちの任意の1つ又は複数にルーティングされるべき実行要求と関連付けられる1つ又は複数のタイミングパラメータはまた、任意の1つ又は複数の市場データフィード(単数又は複数)又はプロセッサ(単数又は複数)1126(例えば、プロセッサ又は(サブ)システム1126a~1126g及び/又は1126vのうちの任意の1つ又は複数を含む)によって及び/又はプロセッサ(単数又は複数)106、1106自体によって供給される関係したデータを用いて、対応するルーティングプロセッサ(単数又は複数)104、1104に(例えば、タイミングデータストア214に)提供する又はこのようなプロセッサ(単数又は複数)104、1104によって決定することができる。
或る例では、プロセッサ(単数又は複数)は、種々のタイミングパラメータ及び/又は会場選択因子に小さいバリエーションをランダムに導入することによって進化するように構成されてよい。結果的に得られる獲得比を経時的に測定し、タイミングパラメータ及び/又は会場選択因子を再調整することによって、プロセッサ(単数又は複数)は、或る例では、より最適なタイミング及び/又は因子の重み付けに向けて進化することができる。或る例では、このフィードバックループは、プロセッサ(単数又は複数)がネットワーク、会場、競争相手の挙動などのあらゆる変化を自動的に調整することを可能にし得る。
或る例では、獲得比又は遂行率を考慮することによって、プロセッサ(単数又は複数)は、どの根底にある因子が獲得比に影響を受けた可能性があるかの具体的理解もなしに、ネットワーク状態、ネットワーク化されたリソース状態、競争相手の挙動などのあらゆる数の根底にある因子を本質的に考慮に入れることができる。或る場合には、これは結果的に、すべての可能な根底にある因子の潜在的に複雑な計算なしに変化又はバリエーションに関して調整することができる、より簡単なシステム及び/又はより効率的なシステムをもたらし得る。
212で、随意的に集約された及び分割された信号処理実行要求(単数又は複数)の種々のポーションが、210で決定された又は他の方法で取得されたタイミングパラメータ又はシーケンス(単数又は複数)に従ってそれぞれのネットワーク化されたコンピューティングリソース106に送信される。その後、要求(単数又は複数)又はその種々のポーションが、それぞれの実行リソース106、1106によって、必要とされる又は所望の場合に後続の信号通信及び処理と共に、実行されてよい。当該技術分野の当業者によって理解されるように、当業者が本開示を熟知すれば、ルータ(単数又は複数)104、1104によって所望の実行要求のパラメータが決定されると、これらのパラメータを表す信号が、公知の又は特化したデータ処理技術を用いてアセンブルされ;金融情報交換(FIX)プロトコル及び/又は任意の他の所望のプロトコル(単数又は複数)に従ってフォーマットされ;公知の又は特化した信号通信技術を用いて対応する実行プロセッサ(単数又は複数)106、1106に伝送され、書き込まれ、又は他の方法で通信され、要求された取引又は他のデータ処理に従って実行されてよい。
例えば、上記の例を続けると、タイミング遅延又はパラメータX’、Y’、Z’のその1つ又はすべては、ゼロ又は任意の他の適切な時間期間に等しくてよく、上記の開示に従って決定され、それぞれ価格D及びEでのリザーブにおいて25,000ロット(18,000+7,000)の状態で、価格AでのCUSIP No.AA債券の77,000ボンドロットの買付けに関するプロセッサ(単数又は複数)1104によって生成される注文セグメントと以下のように関連付けられてよい:
<delay X’><exchange A1><sell><CUSIP No.AA><15,000><price A>
<res.6,000><price D><res.2,000><price E>

<delay Y’><exchange B2><sell><CUSIP No.AA><27,000><price A>
<res.6,000><price D><res.2,500><price E>

<delay Z’><exchange C3><sell><CUSIP No.AA><35,000><price A>
<res.6,000><price D><res.2,500><price E>
その後、ルーティングプロセッサ(単数又は複数)104、1104は、同時の又は他の所望の順次実行のための所望のタイミングシーケンスに従う実行に関する取引所106、1106、A1、B2、C3に伝送される又は他の方法で提供されるべき対応する取引セグメントをもたらすべく、タイミングパラメータ、例えば、delay X’、Y’、Z’を用いることによって取引セグメントを処理することができる。
ルーティングされる取引又は処理セグメントのすべて又はそれと同じくらいのポーションの実行後に、ルーティングプロセッサ(単数又は複数)104、1104は、対応する実行プロセッサ(単数又は複数)106、1106から、このような実行を確認する又は他の方法で示すデータを受信することができ、関連するメモリ(単数又は複数)に記憶されたデータレコードにアクセスすることによって、実行結果を要求側のソース(単数又は複数)102、1102に割り当てることができる。
多数のネットワーク化されたコンピューティングリソース106によるデータ処理を管理する際に用いられるべきタイミングパラメータを決定する方法300の例を示す図4への参照をここで行う。図示された実施形態では、方法300は反復法であり、方法300の各ループがNとして示される。方法300は、例えば、特に、ルータプロセッサ(単数又は複数)104、1104及びデータソース(単数又は複数)1126を含むシステム100、1000及びそのコンポーネントの種々の実施形態のいずれかを用いる実装に適する。
302で、複数のネットワーク化されたコンピューティングリソース106、1106のそれぞれが、例えば、ルータプロセッサ(単数又は複数)104、1104、実行プロセッサ(単数又は複数)106、1106、外部プロセッサ(単数又は複数)1126、及び/又はこれによって動作される或いはこれと関連付けられる種々のコンポーネント又はモジュールによって、信号処理実行要求の受信及び/又は実行に関連する待ち時間に関して監視される。これは、例えば、ルータプロセッサ(単数又は複数)104、1104における監視モジュール(例えば、金融システム1000に関する取引所RTL測定モジュール1126bなど)によって実行されてよい。このような監視は、例えば、データ処理に関する送出する要求にタイムスタンプを付けること、及び処理からの確認(単数又は複数)又は結果の受信時間と対応するタイムスタンプ付きの送出する要求とを比較することを含んでよい。送出する要求と入来する受信確認及び/又はデータ処理結果との時間の差を、データ又は信号処理待ち時間として定義し、ルータプロセッサ(単数又は複数)104、1104によってアクセス可能なメモリに記憶することができる。送出する要求と入来する受信、確認、及び/又は結果とのタイミング差によって、このような待ち時間を、継続的、周期的、及び/又は他の動的ベースで監視することができる。
306で、ルーティングプロセッサ(単数又は複数)104、1104によって監視されるリソース106、1106に提供される信号処理要求の実行において観測される待ち時間(単数又は複数)に関連する少なくとも1つのタイミングパラメータが決定される。本明細書で説明されるように、このようなタイミングパラメータ(単数又は複数)は、例えば、伝送遅延又は他の信号伝搬遅延などの通信遅延、及び/又は、特に、処理遅延に起因する待ち時間を含んでよい。通常、対応するタイミングパラメータ(単数又は複数)は、取引注文又は他のデータ処理要求又はその一部がルーティングプロセッサ(単数又は複数)104、1104によってそれに向けて送信されることが期待される、複数のネットワーク化されたコンピューティングリソース106、1106のそれぞれに関して決定される。
種々の形態の金融システム1000などの種々の実施形態において、用いられるシステム(単数又は複数)のタイプ及び所望の処理結果に応じて、このようなタイミングパラメータは、資本管理エンティティによって動作される又はこれに代行するルーティングプロセッサ(単数又は複数)1104と取引所サーバ1106との間の一方向通信及び/又はラウンドトリップ通信、すなわち、資本管理エンティティのルーティングプロセッサ1104によるマルチパート取引要求の発生から、処理要求が向けられた実行リソースからのより大きいトレーディング注文の一部の受信の確認及び/又は要求されたトレードのすべて又は一部の実行の確認などの応答の受信までの通信に関して決定されてよい。図1Bを参照すると、例えば、上述のように、RTL測定は、ルーティングプロセッサ(単数又は複数)104、1104から送信された通信と取引所サーバ106、1106から送信された応答(例えば、通信の確認応答、トレード要求の拒否、トレード要求の確認など)との両方に関する、資本管理エンティティサーバ1104内の信号の伝送、資本管理エンティティ1104内の信号の処理、資本管理エンティティ1104とネットワーク1110との間の信号の伝送、ネットワーク1110内の信号の伝送、ネットワーク1110とターゲットにされた取引所サーバ1106との間の信号の伝送、及び取引所サーバ1106内の信号の処理のいずれか又はすべてに起因する待ち時間を含む場合がある。このような実施形態では、タイミングパラメータ(単数又は複数)は、単純に、ラウンドトリップ通信又はその統計的又は他の数学的機能に関する合計時間であってよい。
例えば、図1Bに示されるSOR1104と関連付けられたものなどの取引所RTL測定モジュール1126bは、タイミングパラメータを以下のように決定してよい:
1)タイムスタンプ値T1は、プロセッサ(単数又は複数)1104によって、取引所サーバ1106に送信される新しい通信M1(例えば、トレード要求)と関連付けられる。
2)タイムスタンプ値T2は、プロセッサ(単数又は複数)1104によって、要求M1がそれに向けて送信された取引所プロセッサ1106から受信した要求M1への任意の応答と関連付けられる。この応答は、確認応答、拒否、全部の又は一部の遂行などの任意の応答とすることができ、M1によって表される要求の性質に依存する場合がある。
3)要求M1と関連付けられたRTLは、T2とT1との差として計算される。或る実施形態では、前述のように、RTLは、複数のターゲットにされた取引所プロセッサ(単数又は複数)1106のそれぞれにルーティングされた処理要求の過去の数Z(例えば、30)に関する時間(T2-T1)の平均として計算されてよい。
308で、各ネットワーク化されたコンピューティングリソース106と関連付けられるタイミングパラメータ(単数又は複数)が、タイミングデータストア(単数又は複数)214に記憶されてよい。本明細書で説明されるように、タイミングデータストア214は、或る例では、ルータプロセッサ(単数又は複数)104と関連付けられた或いはこれによってアクセス可能なメモリに常駐するデータベース又は他のデータ構造であってよい。タイミングデータストア(単数又は複数)214に記憶されたタイミングパラメータ(単数又は複数)は、図2のプロセスブロック210との関連で前述したようなプロセスにおいて使用されてよい。
プロセッサ(単数又は複数)104、1104によって決定されるタイミングパラメータ(単数又は複数)は、例えば、システム(単数又は複数)100、1000の個々の実行プロセッサ106、1106及び/又は他のコンポーネントに関連する待ち時間を表すローリングヒストグラム(単数又は複数)を表してよい。
図5は、システム100、1000における実行プロセッサ106、1106に関連する通信及び/又は他の処理に関連した処理待ち時間値を表す記憶されたデータを例示するヒストグラムの例を示す。図示された例では、ラウンドトリップ待ち時間(ms)は、所与の実行サーバ106との直近の30個の取引要求又は他の通信に関して記憶される。この例は、記憶されている30個の待ち時間を示すが、RTL又は他のタイミングパラメータを決定する際に用いられる記憶されるタイミングパラメータ(単数又は複数)の数は、より多くても又はより少なくてもよく、日時、季節などの条件に従って変化してよい。記憶される待ち時間及び他の関係したデータに基づく計算の結果も、タイミングデータストア(単数又は複数)214に記憶されてよい。例えば、図5の例では、生の待ち時間に加えて、各実行サーバ106との又はこれによる通信及び/又は他の処理に関連する過去の30個(又は他の適切な数)の待ち時間のローリング平均又はローリングモードも、計算され、タイミングデータストア(単数又は複数)214に記憶されてよい。
当該技術分野の当業者にはすぐに理解されるように、例えば、所望の一定のオフセット又は遅延を含むさらなる因子、又は日時、曜日、季節など、公知のトレーディング又は他のデータ処理パターン、経済状態などに関連するスケーリング因子が、210で、タイミングパラメータを決定する際に用いられてよい。
210で決定されたタイミングパラメータは、例えば、対応する実行プロセッサ(単数又は複数)106、1106での要求の到着の所望の同期を達成するために、所望の絶対時間又は相対時間での対応するプロセッサ(単数又は複数)106、1106への要求の通信をもたらすべく、多数のプロセッサ(単数又は複数)106、1106のそれぞれによる実行のために転送されるべきこのような要求又はそのポーションを、プロセッサ(単数又は複数)104、1104によって使用可能なデータ項目と関連付けることによって、ソース(単数又は複数)102、1102によって生成されプロセッサ(単数又は複数)106、1106に向けられた処理要求の実行を同期させるためにルーティングプロセッサ(単数又は複数)104、1104によって用いることができる。例えば、プロセッサ(単数又は複数)104、1104と関連付けられるクロックに従って所与の時点(単数又は複数)で要求の1つ又は複数のポーションの通信をもたらすように構成されたデータ項目を用いることによって、プロセッサ(単数又は複数)104、1104は、所望の日時に、又は実際の日時に関係しない、むしろ互いに又は一部の第3のインデックスに関係する、任意の所望の相対的順序又はシーケンスで通信されるべき、要求(単数又は複数)又は要求のポーション(単数又は複数)をもたらすことができる。
310で、Nが1又は他の適切な値だけ増分され、或いは制御が、プロセス302~308が続くように302に戻される。随意的に、プロセス302~310は、最大の所望の数の繰返しが完了するまで、又は注文による取引又は他の処理に関するすべての要求が処理される(例えば、実行プロセッサ106、1106にルーティングされる)まで、又は他の適切な基準が満たされるまで続く。
システム(単数又は複数)100、1000又はそのコンポーネントのオペレータ及びユーザが、多数のネットワーク化されたコンピューティングリソースによるデータ処理をもたらすための開示された方法及びシステムの効果を理解又は評価するのを支援するために、或る態様では、本開示はまた、システム100、1000の種々のコンポーネントのいずれか又はすべてから生成されたデータによって及びその使用を通じて決定され得る種々のメトリクス(例えば、金融システム1000の場合にはトレーディングベンチマーク)を提供する。
開示された方法及びシステムの例に係る複数のネットワーク化されたコンピューティングリソース又は実行プロセッサ106、1106へのマルチパートトレード実行要求の伝送の結果と、従来通りに伝送されるマルチパートトレード要求の結果との比較を示す、図6への参照をここで行う。
図6Aは、複数の取引所サーバ106、1106によるマルチパート取引要求(売付け注文)の種々のパート又はセグメント624の同期した(例示されるケースでは実質的に同時の)実行を得るために開示された方法及びシステムを用いるマルチパート取引要求の実行の結果を示す。図示された例では、元の集約された注文の94%の遂行率が、$4.21の元のオファー価格630で達成された(「レベル1」として示される)。取引の第2ラウンド(626で示されるように単一の取引で遂行される)において、残りのボリュームが、$4.20のあまり所望ではないがまだ容認できる価格632で売られた(「レベル2」として示される)。要求された注文価格よりも低値で遂行された注文(すなわち、レベル2におけるこれらの注文)に関連するコストは、トレーダーシステム1102(例えば、クライアントシステム)に関して$53,000であり、資本管理エンティティ1106に関して$10,049であった。
図6Bでは、従来技術のトレーディング方法及びシステムを用いると、同じ全取引要求に関する多数の同期していない注文セグメント624’からなる同期していないマルチパートトレード要求(マルチ取引所売付け注文)は、結果的に、$4.21の好ましい注文価格630での47%の最初の遂行率をもたらした(「レベル1」として示される)。要求のさらに43%が、その後、$4.20のあまり望ましくない価格632で遂行され(「レベル2」として示される)、その残りは、$4.19のさらに低減した価格634で遂行された(「レベル3」として示される)。
本開示に係る方法及びシステムを用いると、628で示されるように、$4.2094/株の出来高加重平均売付け価格(VWAP)636が実現された。従来技術の方法及びシステムを用いると、$4.2038/株のVWAP638が実現された。
当該技術分野の当業者にはすぐに理解されるように、システム100、1000は、多様なさらなるメトリクス及び機能性を提供するのに適するデバイス又はコンポーネントを備えることができる。例えば、市場ニュースサービス又は他の市場データソース1126vによって提供される市場平均価格に対するベンチマーク比較の、ルーティングプロセッサ104、1104又は他のプロセッサによる提供の2つの例を示す、図7への参照をここで行う。646で、本発明に係るマルチパート取引要求の同期した処理におけるシステム100、1000のパフォーマンスが、市場パフォーマンスインジケータ「平均価格ベンチマーク」と比較される。このような平均価格ベンチマーク又は他のベンチマーク又はメトリック因子は、例えば、コンポーネント1126、1106のいずれか又はすべてなどから得ることができる。644で、従来技術の方法に係るマルチパート取引要求の同期していない処理におけるシステム100、1000のパフォーマンスが、同じ市場パフォーマンスインジケータ「平均価格ベンチマーク」と比較される。比較対象646、644の比較は、本発明に係る取引の処理が、金融上の権利の売り手にとってより良好な結果をもたらすことを示す。当該技術分野の当業者によって理解されるように、本発明に係るシステム及び方法のパフォーマンスを評価する際に多様なベンチマークが用いられてよい。このようなベンチマークは、使用されるシステム100、1000の性質、及びこのようなシステムによって処理される取引又は他の実行要求のタイプによって少なくとも部分的に決まる場合がある。
図8は、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための例示的な方法800の態様を例示するフローチャートである。方法は、例えば、SOR1104などのルータプロセッサ(単数又は複数)104による実装又はシステム1000における任意の1つ又は複数のプロセッサによる実装に適する。
図8での例示的な方法800の態様は、図2及び図4で見られるもの及び本明細書に記載の種々の例示的な実施形態で説明されるものと同様又は同じである。したがって、これらの図に関して説明される又は本明細書で説明されるどの例又は実装の詳細も、図8の方法に当てはめることができる。同様に、図8に関して説明される例及び実装の詳細は、図2及び図4の例示的な方法に同様に当てはめることができる。これらの変形物のすべて及びこれらの態様の組合せが本発明の説明によって考慮される。
810で、システム1000における1つ又は複数のプロセッサ104が、ネットワーク化されたコンピューティングリソース106に関連するデータを監視する。本明細書で説明されるように、或る実施形態では、ネットワーク化されたコンピューティングリソースに関連するデータは、特に、ネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含むことができる。
或る実施形態では、以前にルーティングされたデータ処理セグメントに関連するデータは、データ処理セグメントがルーティングされる(例えば、タイムスタンプを用いる)とき、データ処理セグメントがネットワーク化されたコンピューティングリソース(例えば、応答メッセージにおけるタイムスタンプ又は処理時間フィールド)で処理されるとき、応答メッセージがシステムで受信される(例えば、タイムスタンプを用いる)ときに関連するタイミング情報を含むことができる。或る実施形態では、このようなデータの監視は、データ処理セグメントに関する実行待ち時間(及び/又は異なる待ち時間コンポーネント)を決定し、それらを対応するネットワーク化されたコンピューティングリソースと関連付けることを含むことができる。
或る実施形態では、データの監視は、異なるタイプのデータ処理セグメントに関する待ち時間を監視すること及び比較することを含むことができる。例えば、同じ会場にルーティングされる異なるタイプのデータ処理セグメントは、同様の伝送待ち時間を有し得るが、データ処理セグメントの実際の実行に関連する、異なる待ち時間を有し得る。別の例では、異なる長さを有する又はさらには命令を有さないデータ処理セグメントは、同じネットワーク化されたコンピューティングリソースにルーティングされるときに異なる待ち時間を有し得る。
別の例では、不適正にフォーマットされたデータ処理セグメントは、プロセッサがこのようなデータ処理セグメントに関連する待ち時間のすべて又はほとんどが伝送待ち時間に起因するとみなすように構成することができるように、ネットワーク化されたコンピューティングリソースによって速やかに拒否されてよい。
或る実施形態では、システムにおけるプロセッサは、異なる注文タイプ/長さ/などに関する総待ち時間の差に基づいて特定のネットワーク化されたコンピューティングリソースに関連する、異なる待ち時間コンポーネントを決定するように構成される。
或る例では、待ち時間コンポーネントは、送信伝送待ち時間、実行待ち時間、及び返信待ち時間(例えば、応答メッセージの)を含むことができるが、必ずしもこれらに限定されない。
以前にルーティングされたデータ処理セグメントに関連する監視されるデータは、或る例では、データ処理セグメントが上手く処理されたかどうか及び/又はどの程度まで処理が成功したかを示す1つ又は複数の応答メッセージにおけるデータを含むことができる。例えば、トレード要求を表すデータ処理セグメントである、トレード要求への1つ又は複数の応答メッセージにおけるデータは、トレードが遂行されたかどうか、要求のうちのどの程度が遂行されたか、及び/又は要求が遂行された価格を示すことができる。
以前にルーティングされたデータ処理セグメントに関連する監視されるデータは、ウェーブにおける最初のデータ処理セグメントがルーティングされる時点で又は最初のルーティングよりも前の時点でネットワーク化されたコンピュータリソースで入手可能となることが掲示される或いは既知の金融上の権利のリクイディティを示すデータを含むことができる。
或る実施形態では、以前にルーティングされたデータ処理セグメントに関連するデータの監視は、概して各データ処理セグメントに関する及び/又は1つ又は複数のデータ処理に関する1つ又は複数の獲得比を決定することを含むことができる。プロセッサ(単数又は複数)は、ネットワーク化されたコンピューティングリソースをターゲットにする入手可能なリクイディティをトレード要求によって獲得された実際のリクイディティと比較することによって獲得比を決定することができる。以前にルーティングされたデータ処理セグメントの獲得比は、元の1つ又は複数のデータ処理から分割されたすべてのデータ処理セグメントにわたってセグメント毎に監視することができる。
或る実施形態では、監視されるデータは、ネットワーク化されたコンピューティングリソースのそれぞれに関する情報漏れのリスクを識別するデータパラメータを含むことができる。例えば、パラメータは、共同設置された又はアクティブな待ち時間の少ない第三者サーバ、1つ又は複数のトレード要求タイプを奨励する割戻しスキーム、1つ又は複数の関係したデータ処理セグメントが不成功であったことを示すネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータなどの存在を示すように設定することができる。或る例では、データの監視は、監視されるデータに基づいて情報漏れのリスクスコアを生成することを含む。
或る実施形態では、システムは、ネットワーク化されたコンピューティングリソースへの多数のネットワークルートを有する。これらの実施形態では、特定のネットワーク化されたコンピューティングリソースに関連する監視されるデータは、ルート毎に監視/関連付けされてよい。
ルートに加えて、或る例では、監視されるデータはまた、セグメント(単数又は複数)を1つ又は複数のルート及び/又は1つ又は複数のルート上のデバイス(単数又は複数)に沿ってルーティングするための待ち時間データ及び又はステータス情報を含むことができる。
或る実施形態では、データの監視は、本明細書で説明されるように又は他の方法でシステムにおける1つ又は複数のコンポーネント又はデバイスからデータを収集すること、測定すること、又は要求することを含むことができる。或るデータの監視は、種々の計算を含んでもよい。
データの監視は、データをシステムにおける1つ又は複数のメモリ又はデータ記憶装置に記憶することを含むことができる。或る実施形態では、データの範囲及び/又は分布/確率を提供するべくネットワーク化されたコンピューティングリソースに関連する多数のデータポイントを収集することができる。
820で、プロセッサ(単数又は複数)は、1つ又は複数のデータソース102から、ネットワーク化されたコンピューティングリソース106のうちの1つ又は複数によって実行可能な1つ又は複数のデータ処理の実行に関する命令を表す信号を受信する。上述のように、例えば、図2を参照すると、1つ又は複数のデータ処理は、或る実施形態では、金融上の権利のトレード及び/又は他の取引の実行に関する要求を表すことができる。
或る例では、データ処理(単数又は複数)の実行に関する命令は、プロセスの優先順位、情報漏れに関する許容度値、任意のデータ処理セグメント間の最大許容可能待ち時間、所望のルーティングパス、所望の会場、特定のルーティング命令などを含む、データ処理を実行するための特定のパラメータを含んでよい。
830で、監視されるデータに基づいて、プロセッサ(単数又は複数)は、1つ又は複数のデータ処理に関するデータ処理セグメントを作成する。或る例では、データ処理セグメントの作成は、受信した1つ又は複数のデータ処理の実行のための或る数及びサイズのデータ処理セグメントを組み合わせること、分割すること、又は他の方法で決定すること、及び作成することを含むことができる。
或る実施形態では、プロセッサ(単数又は複数)のデータ処理の少なくとも1つのデータ処理セグメントの作成又は分割は、1つ又は複数のデータ処理セグメントをルーティングするネットワーク化されたコンピューティングリソースを選択することを含む。この選択は、ネットワーク化されたコンピューティングリソースに関連する監視されるデータに基づいている。
データ処理の作成/分割はまた、データ処理セグメントのそれぞれのサイズの決定を含む。或る実施形態では、これは、処理タスクのサイズ又はトレード要求のサイズを含む場合がある。プロセッサは、監視されるデータに基づいてデータ処理セグメントのそれぞれのサイズを決定するように構成される。
選択及びサイズの決定は、或る実施形態では、データ処理に関連する金融上の権利(単数又は複数)のネットワーク化されたコンピューティングリソースで入手可能なリクイディティ、情報漏れのリスク、及びネットワーク化されたコンピューティングリソースに関連する待ち時間(単数又は複数)のうちの1つ又は複数を含む監視されるデータに基づくことができる。
データ処理セグメントの作成は、多数のネットワーク化されたコンピューティングリソースでのターゲットにする入手可能なリクイディティに基づくことができるが、或る例では、プロセッサ(単数又は複数)は、単一のデータ処理セグメントが単一のネットワーク化されたコンピューティングリソースに送信されるべきであると判断する場合がある。代替的に、これは、他のネットワーク化されたコンピューティングリソースにサイズ0のデータ処理セグメントを送信すること又はデータ処理セグメントを送信しないことと見なされる場合がある。
840で、プロセッサ(単数又は複数)は、データ処理セグメントに関するタイミングパラメータを決定する。タイミングパラメータは、監視されるデータに基づいて、データ処理セグメントのルーティングを開始するタイミングの差を特定することができる。或る例では、タイミングパラメータは、第1のデータ処理セグメントがルーティングされるべき時間と第2のデータ処理セグメントのルーティング時間とのタイミングオフセット又は遅延を定義することができる。或る例では、タイミングパラメータは、第1のデータ処理セグメントがルーティングされるべき時間と第2のデータ処理セグメントのルーティング時間との間の範囲を定義することができる。
或る実施形態では、タイミングパラメータは、その時間範囲内の異なる時間部分範囲に関連する情報漏れの確率又はリスク因子を定義することができる。
タイミングパラメータは、データ処理セグメントの同期した実行をもたらすように決定される。或る例では、タイミングパラメータは、データ処理セグメントを互いにできるだけ近接して実行することを目指して決定することができる。或る例では、タイミングパラメータは、データ処理セグメントを所望のシーケンスで及び/又は所望の相対的タイミングで実行することを目指して決定することができる。或る例では、タイミングパラメータは、できるだけ多くのリクイディティを及び/又はできるだけ望ましい価格で獲得することを目指して決定することができる。或る例では、タイミングパラメータは、ネットワーク化されたコンピューティングリソースのうちの1つ又は複数でのランダムに導入される遅延の分布に基づいて決定することができる。
850で、プロセッサ(単数又は複数)は、タイミングパラメータに基づいてそれらのそれぞれのネットワーキングコンピューティングリソースへのデータ処理セグメントのルーティングを開始する。
本明細書で説明されるように又は他の方法で、データ処理の分割、データ処理セグメントの数、サイズ、及び宛先ネットワーク化されたコンピューティングリソースの決定は、ネットワーク化されたコンピューティングリソースに関連する監視されるデータに基づいている。
或る状況では、プロセッサは、1つ又は複数のネットワーク化されたコンピューティングリソースに関する入手可能なリクイディティ、情報漏れのリスク、及び/又は待ち時間分散間の異なるトレードオフを考慮するように構成される。
例えば、デフォルトで又はデータ処理が受信されているデータソースに関連するリスク許容度値に基づいて、プロセッサ(単数又は複数)は、データ漏れ及びリクイディティの一部又はより良好な価格を獲得できないより高いリスクがあるにもかかわらず、できるだけ多くのリクイディティをターゲットにするべくデータ処理セグメント及びタイミングパラメータを作成することができる。逆に、デフォルトで又はデータソースに関連する、異なるより低いリスク許容度値に基づいて、プロセッサ(単数又は複数)は、データ漏れのより低いリスクを有する、より小さい量のリクイディティをターゲットにするべくデータ処理セグメント及びタイミングパラメータを作成することができる。
本明細書で説明されるように又は他の方法で、或る実施形態では、プロセッサは、入手可能なリクイディティに基づいてデータ処理セグメント及びタイミングパラメータを作成することができる。
例えば、図4に例示されるように、ネットワーク化されたコンピューティングリソースに関連するデータを継続的に及び/又は周期的に監視することによって、システムは、或る場合には、待ち時間、リスク因子、リクイディティなどのより正確な及び/又は最新のデータを確立することができる。或る例では、経時的に、監視されるデータは、1つ又は複数のタイプの監視されるデータの頻度、分布などを確立することができる。
或る例では、以前に遂行したデータ処理セグメント及びウェーブに関するタイミングパラメータ及び結果データを監視することによって、プロセッサは、より良好な成果を提供する局所極小値又は局所極大値を確立してもよい。或る実施形態では、ルーティングに関するタイミングパラメータを決定及び/又は適用するときに、プロセッサ(単数又は複数)は、タイミングシーケンスにランダムタイミングバリエーションを導入してもよい。或る例では、これらのバリエーションは、タイミングパラメータに対して小さくてよく、及び/又は変化された時間がタイミングパラメータを満たす範囲内に依然として入るように選択されてよい。或る例では、タイミングバリエーションの導入、及び影響を受けたデータ処理セグメントに関連するデータを監視することにより、タイミングパラメータへの結果的な調整は、より最適な値により迅速に収束する場合がある又は異なる局所極小値/局所極大値を発見する場合がある。
或る場合には、例えば、特定のネットワーク化されたコンピューティングリソースが遅延又は速度バンプをランダムに導入するときに、タイミングパラメータ分布は多峰性であってよい。或る実施形態では、プロセッサは、データ処理を特定のネットワーク化されたコンピューティングリソースにルーティングされるべき少なくとも2つのデータ処理セグメントに分割してよく、多峰性分布に基づいてタイミングパラメータを確立することができる。例えば、プロセッサは、データ処理セグメントの少なくとも1つのサブセットがネットワーク化されたコンピューティングリソースでの意図的な遅延又は速度バンプを被らずに実行されるようにする目的で、より小さいトレード要求でのデータ処理セグメントのバーストを生成してよい。
図1Bに示された実施形態では、金融取引又は他のデータ処理実行要求を作成する際にプロセッサ(単数又は複数)104によって使用可能な監視されるデータのソース(単数又は複数)1126は、マルチパート実行要求を作成する際に有用な複数のモジュール1126a~1126gを含む。図示された例では、モジュール1126a~1126gは、市場データ処理モジュール1126a、取引所ラウンドトリップ待ち時間測定モジュール1126b、適応的取引所ラウンドトリップ待ち時間(RTL)学習及び補償論理モジュール1126c、スマートスィーピング株式割り当て論理モジュール1126d、スマート掲示論理モジュール1126e、地域的及び国家的取引所アクセス論理モジュール1126f、及び挑戦性(aggressiveness)管理モジュール1126gを含む。
市場データ処理モジュール1126aは、取引所サーバ1106の取引所市場データモジュール1126vを通じて提供されるデータと同じ又は異なる場合があり得る市場データを受信及び処理する。このようなデータのソースは、必要とされる又は所望の場合にシステム1104の内部にあっても又は外部にあってもよく、実行要求、特に、取引注文を分割する又は他の方法で作成する際に有用な要求を作成する際に有用なデータの任意の適切なプライベートに又はパブリックに利用可能なソースを含んでよく、提供される情報は、例えば、任意の特定の取引所上で入手可能な数又は数量及び/又は価格;ヒストリカルトレーディングボリューム又は価格;市場(単数又は複数)又はリクイディティの現在の及びヒストリカルな厚み;リザーブサイズ;絶対値、相対値、及び/又は平均価格スプレッド;及び株式又は権利に特有の発見的方法;及び/又はそのいずれか又はすべてにおけるトレンドを含むことができる。
取引所RTL測定モジュール1126bは、例えば、本明細書で説明されるように、個々の実行プロセッサ(単数又は複数)106、1106への要求又は他のデータの送信と個々の実行プロセッサ(単数又は複数)106、1106からの確認又は実行結果の受信との間の経過した時間(単数又は複数)を表す静的に定義された待ち時間データを用いて、複数の取引所サーバ1106によるマルチパートトレード又は他のデータ処理要求の実行を同期させる際に用いるためのタイミングパラメータを決定する。
適応的取引所RTL測定モジュール1126cは、例えば、本明細書で説明されるように、個々の実行プロセッサ(単数又は複数)106、1106への多数の処理要求又は他のデータの送信と個々の実行プロセッサ(単数又は複数)106、1106からの確認又は実行結果の受信との間の経過した時間を表す動的に定義された(「ローリング」)待ち時間データを用いて、複数の取引所サーバ1106によるマルチパートトレード又は他のデータ処理要求の実行を同期させる際に用いるためのタイミングパラメータを決定する。このようなローリングデータを表すヒストグラム及び他のデータモデル及び/又は構造は、このようなプロセスに従ってタイミングパラメータを決定する際にモジュール(単数又は複数)1126cによって用いられてよい。
スマートスィーピング株式割り当て論理モジュール1126dは、ヒストリカルに観測された市場データに基づいて取引要求を戦略的にオーバーサイズに設定する及び/又はリザーブ数量(単数又は複数)を公に掲示された注文と関連付けるための統計的モデルを含む。このモジュール1126dは、例えば、所与の期間にわたって又は他の特定の条件(例えば、過去の30個のトレード要求)下で該取引所サーバ1106において入手可能な非合法的資産についての統計的データに基づいて、取引所サーバ1106において予測される非合法的資産量(単数又は複数)を考慮に入れて、オープン注文に組み込まれるべき適切なオーバーサイジング(すなわち、トレード要求上のオーバー注文)を決定する。このような予測される隠れた市場リザーブに基づいて、適切にサイズ設定された非合法的資産を決定し、取引注文と関連付けることができ、結果的に公に見ることができる注文の戦略的オーバーサイズ化を生じ、実際の所望のトレーディングボリュームが確実に実現されることを助ける。
スマート掲示論理モジュール1126eは、個々の取引所サーバ1106にルーティングされるトレード要求において実現されることが期待される遂行の確率(すなわち、トレード要求の満足パーセンテージ)を決定するための統計的モデルを含む。このような統計的モデルは、例えば、所与の期間(例えば、過去の30個のトレード要求、前月、前の12ヶ月など)にわたるこのような個々の取引所上で実現されるヒストリカル遂行データを含んでよい。スマート掲示論理モジュール1126eは、例えば、特に、各取引所サーバ1106でのトップオブブックの厚み、取引所サーバ1106にわたるボラティリティレベル、及びトレード要求の実行への平均待ち時間を含む因子を考慮に入れてよい。
スマート掲示論理モジュール1126eはまた、例えば、注文が提出された及び/又は伝送された時点で所望のリクイディティを分割することによって、注文の実行を通じて達成された実際の獲得されたリクイディティとの、ヒストリカル注文に関するトレード獲得比を決定するように構成されてよい。
地域的及び国家的取引所アクセス論理モジュール1126fは、取引所サーバ1106が地域的であるか又は国家的であるかに応じて、どのようにしてトレード要求が取引所サーバ1106にルーティングされるかについての情報を提供する。使用される適切なプロトコル(単数又は複数)、観測される規制などに関係した内部的に及び/又は外部的に記憶されたデータが、このようなデータを提供する際に使用されてよい。このようなデータは、例えば、要求(単数又は複数)が提供されるリソース(単数又は複数)106、1106の観点から、ルーティングプロセッサ(単数又は複数)104、1104によって外部リソース106、1106に転送されるトレード又は他の処理要求が確実に適切にフォーマットされるようにする際に、及び、このような要求(単数又は複数)がすべての適用可能な法的規格に確実に準拠するようにする際に用いられてよい。
挑戦性管理論理モジュール1126gは、個々の取引所サーバ1106に関する遂行パーセンテージの確率を判定し、このようなサーバにルーティングされる実行要求を適宜修正するための確率モデルを含む。このようなモジュール1126gは、例えば、特に、各取引所サーバ1106での遂行率、各取引所サーバ1106でのブックの厚み、及び取引所サーバ1106にわたるボラティリティレベルなどの因子を考慮に入れてよい。
或る実施形態では、特別に構築された注文メッセージが、注文のルーティングのために使用されてよい。例えば、ルータプロセッサ1104は、FIXメッセージ(又は他のプロトコル)のメッセージハンドリング用であってよい。システムの会場側は、処理のスケジューリングの部分及び以下のメッセージハンドリング機能を行う:
シーケンスナンバーの調整(シーケンスナンバーは注文がスケジュールされるときにのみ決定することができるため)。これを行うために、FIXエンジンは、常にヌルの、一定の長さのシーケンスナンバーフィールド(8又は9個のゼロ「000000000」など)を生成することになり、次いで、スケジューラが、このフィールドに実際のシーケンスナンバーを上書きすることになる。
シーケンスナンバーに基づいてチェックサムを調整する(処理を減らすために、FIXエンジンは、「000000000」シーケンスナンバーフィールドに関する正しいチェックサムをもつメッセージを受け渡すことになる)。次いで、スケジューラは、シーケンスナンバーを更新するときに、チェックサムからシーケンスナンバーにおけるゼロでない文字を差し引き、これにより、メッセージ全体に関するチェックサムの再計算を回避し、処理を非常に単純な機械的な動作にまで減らす。
シーケンスナンバーは、これをセッションログ/状態に組み込むことができるように、ルータプロセッサ1104内の送信側のFIXエンジンに戻されることになる。
会場からのメッセージは、スケジューラをバイパスし、FIXエンジンによって直接取り扱われることになる。
或る実施形態では、スケジューリング及びメッセージ更新は、高速コーディング技術及び可能性のあるハードウェア加速(FPGAなどでの)に適する非常に「機械的な」動作にまで減らすことができる。
前述のように、或る実施形態では、注文ウェーブがキューから除去され、関連付けられた会場にルーティングされるシーケンスは、本明細書に記載の因子のいずれか又は他の方法に基づくことができる。
タイミングシーケンスでのトレード要求のルーティングは、ウェーブ/シーケンスにおける1つ又は複数のトレード要求を遅延させることを含んでよい。或る場合には、これは、トレードの獲得比を改善し得るが、時間が決められたシーケンスでのいくつかのトレード要求のルーティングは、それらをすべて一度に送信するよりも本質的に時間が長くかかる場合がある。
或る例では、208及び/又は210で、プロセッサ(単数又は複数)は、多数のウェーブのトレード要求をルーティングするためのシーケンスを決定するように構成することができる。或る例では、これは、同時に異なるウェーブに関する少なくともいくつかのトレード要求を散在させること、オーバーラップさせること又は他の方法でルーティングすることを含んでよい。
或る例では、プロセッサ(単数又は複数)は、会場での過負荷又はキューイングを回避するために尊重されなければならない最小メッセージインターバルなどのウェーブ内タイミングパラメータ並びに一般的なタイミングパラメータを尊重しながら、多数のウェーブのトレード要求をシーケンシングするように構成することができる。
或る例では、一般的な又は会場に特定のタイミングパラメータは、待ち時間及び遂行率などの観測されたタイミング因子に基づいていてもよい。或る例では、一般的な又は会場に特定のタイミングパラメータは、ネットワークデバイス、リンク、及び/又は会場に関連する特徴に基づいていてもよい。これらの特徴は、デバイス、リンク、及び/又はスループット又はパフォーマンス制限、サービスレベルの契約(agreement)に基づくパフォーマンス因子を含むことができるがこれらに限定されない。
例えば、図10の表は、ネットワークパフォーマンス、ヒストリカル注文、及び/又はヒストリカル注文データの監視から受信又は決定される例示的な監視されるデータを例示する。
これらの例示的な待ち時間及びスループットにより、例示的なシナリオでは、図11Aに例示される4つの注文ウェーブが受信される(及び関連するデフォルトのタイミングパラメータが表示される)。
修正なしに、ウェーブ間の10マイクロ秒の処理速度を仮定して、図11Bの表は、注文がルーティングされるときの時間と、括弧内に、注文が会場プロセッサ(単数又は複数)にヒットするときの時間及び結果的に得られるタイミング誤差を記載する。
この例では、タイミング誤差が目標の100マイクロ秒以内でなければならない場合、ウェーブB、C、及びDのそれぞれは目標を満たさないであろう。このシナリオは、ルータの時間の2130マイクロ秒と、会場を含む2910マイクロ秒を必要とする。
別の例示的なシナリオでは、ウェーブC及びDは、それらが関係のない記号に関するものであるため、早期に送信されるように並べ替えることができる。図11Cの表は、ウェーブAの直後にウェーブDが開始され、次いで、ウェーブB及びCが同時に開始される場合のタイミングを示す。
ウェーブB、C、及びDのすべては100マイクロ秒の目標をミスするが、すべての4つのウェーブをハンドリングする全体的な時間の改善が存在する(ルータでの1310マイクロ秒と、会場を含む2600マイクロ秒)。
図11Dに例示される次のシナリオでは、ウェーブは、会場の輻輳を見越して、注文ウェーブのシーケンスを保ってルーティングされる。
例示されるように、すべてのウェーブは、100マイクロ秒の目標を満たすが、ハンドリング時間は3700マイクロ秒に増加した。
図11Eで例示されるように、次のシナリオでは、ウェーブタイミングハンドラは、会場スループット/輻輳と待ち時間との両方に基づくウェーブ間タイミングシーケンス並びにウェーブ内タイミングシーケンスでルーティングされるべき注文をスケジュールするように構成することができる。
上記のシナリオでは、すべてのウェーブは100マイクロ秒の目標を満たし、ハンドリング時間はルータ及び会場に関して2300マイクロ秒である。
或る例では、ウェーブタイミングハンドラは、次のN個のウェーブに関する最適な又は最良の利用可能なスケジュールを決定するように構成されてよい。或る例では、Nが小さい(例えば、10未満の)とき、ウェーブタイミングハンドラは、結果的に生じるハンドリング時間ですべての可能なシーケンスを計算し、最良の1つを選択することによる、ブルートフォースアルゴリズムを用いてよい。
或る例では、Nがより大きいとき又はブルートフォース手法が結果的にウェーブルーティングプロセスに過度の遅延をもたらすときに、ウェーブタイミングハンドラは、定義された/割り当てられた量の計算時間/サイクルでできるだけ多くのシーケンスを計算し、最良の1つを選択するように構成されてよい。
或る例では、プロセッサ(単数又は複数)は、異なるウェーブを最短のハンドリング時間内にスケジュールするべく他のジョブスケジューリング最適化アルゴリズムを適用するように構成することができる。
或る例では、スケジューリングアルゴリズムに含まれることになるウェーブの数は、会場及び/又はウェーブにおけるトレード要求の数に依存する場合がある。
図12は、多数のネットワーク化されたコンピューティングリソースによるデータ処理を協調させるための例示的な方法1200の態様を示すフローチャートである。1210で、プロセッサは、ウェーブ又はセッションキューからデータ処理ウェーブを取得する。データ処理ウェーブは、1つ又は複数のデータ処理セグメント及びデータ処理セグメントのそれぞれがルーティングされるべき対応するネットワーク化されたコンピューティングリソースを識別する。データ処理ウェーブはまた、1つ又は複数のデータ処理セグメントがルーティングされるべきタイミングシーケンスを識別する。
1220で、プロセッサは、ネットワーク化されたコンピューティングリソースのそれぞれに関する最小ハンドリングインターバルを取得する。或る実施形態では、ハンドリングインターバルは、ネットワーク化されたコンピューティングリソースに関連する監視されるデータに基づくことができる。
1230で、プロセッサは、ウェーブタイミングシーケンス及びネットワーク化されたコンピューティングリソースに関するハンドリングインターバルに基づいてデータ処理ウェーブをルーティングするために注文をスケジュールする。或る実施形態では、注文のスケジューリングは、ネットワーク化されたコンピューティングリソースのハンドリングインターバルを乱さずに且つデータ処理ウェーブのタイミングシーケンスを乱さずに、異なるデータ処理ウェーブのデータ処理セグメントを散在させる注文を決定することを含む。
或る例では、タイミングシーケンスは、第1のデータ処理セグメントをルーティングすることができる時間と第2のデータ処理セグメントのルーティング時間との間の容認可能な時間範囲を含むことができる。或る実施形態では、データ処理ウェーブをルーティングするために注文をスケジュールすることは、これらの時間範囲内で1つ又は複数のウェーブに関するルーティング時間シーケンスを調整することを含むことができる。
或る実施形態では、プロセッサは、ウェーブキューからM個のデータ処理ウェーブを取得し、M個のデータ処理ウェーブの各可能な配列に関する合計ハンドリング時間を決定するように構成される。プロセッサは、次いで、注文を、最短の合計ハンドリング時間を有する配列に基づいてスケジュールする。
或る実施形態では、プロセッサは、さらなるパラメータを考慮することができる。例えば、選択が利用可能であるときに、プロセッサは、最も少ない数のネットワーク化されたコンピューティングリソース(会場)セッションを用いる配列を選択するように構成することができる。別の例では、プロセッサは、異なるデータ処理セグメントが同じ金融上の権利に関するトレード要求であるかどうかを考慮することができ、どのような対立も回避する又は減らすように配列を選択してよい。他の同様の因子は、注文サイズ、価格、トレードへのパーティなどを含む。
データ処理ウェーブの数Mの選択は、ウェーブをルーティングするために注文ウェーブプロセッサによって必要とされる合計ハンドリング時間に対するM個のウェーブに関するすべての注文配列を評価するのに必要とされる時間の量に依存する場合がある。評価時間が高すぎる場合、これはボトルネックとなり、評価が行われている間にルーティングリソースをアイドルにすることによってそれらを無駄にすることがある。これはまた、その間にネットワーク化されたコンピューティングリソースでの価格又はリクイディティが変化し得る時間の量を増加させ、これにより潜在的に獲得比を減少させることがある。Mが小さすぎる場合、ウェーブのスケジューリングを最適化する機会があまり存在しない場合があるため、ルーティングリソースは無駄になる。
或る例では、ウェーブの数Mは、リソース及び/又はウェーブハンドリング時間が変化する際に動的に選択することができる。
或る実施形態では、プロセッサは、制限時間が過ぎる前に評価することができるM個のウェーブに関するできるだけ多くの配列を計算する。制限時間が過ぎると、評価された配列からの最良のスケジュールが選択される。
或る実施形態では、プロセッサは、ウェーブキューからM個のウェーブを選択する及びスケジュールするように構成される。しかしながら、スケジュールされた注文からの第1のW個のウェーブだけがルーティングされ、一方、スケジュールにおける残りのM-W個のウェーブ及びウェーブキューにおける次のW個のウェーブが次のスケジューリング注文を決定するべく評価される。
或る実施形態では、システムは、次の注文に関するスケジュールを同時に計算しながら、ウェーブのうちの1つのスケジュールされた注文(又は注文のサブセット)をルーティングする。このプロセスのパイプライン化は、或る例では、改善されたパフォーマンスにつながることがある。
或る例では、ウェーブキュー及び/又はセッションキューからのウェーブの選択は、1つ又は複数の優先順位スキームに基づいていてよい。これらのスキームは、バッチ、ラウンドロビン、先入先出などを含むことができる。或る実施形態では、優先順位スキームは、規制要件を満たすことに基づいている。或る例では、優先順位スキームは、金融上の権利記号、注文サイズ、価格、優先順位、クライアント、価格設定スキーム、契約上の義務などに基づくルールを含む。
或る実施形態では、キューからのウェーブの選択は、特定のウェーブに関する総ルーティング/ハンドリング時間に基づいていてよい。例えば、ウェーブが狭いタイミングパラメータ(すなわち、データ処理セグメント間の小さい遅延、したがって、より短いハンドリング時間)を有する場合、これは、次のスケジュールに容易にフィットする或いは結果的により高いスループットを生じることができる場合に、より長いハンドリング時間を有するウェーブにわたって優先順位付けされてよい。
850で、システムは、注文されたデータ処理ウェーブにおけるデータ処理セグメントのそれぞれをスケジュールに基づいてルーティングする。
本明細書で説明されるように、プロセッサは、ネットワーク化されたコンピューティングリソースに関連するデータを監視する。或る実施形態では、プロセッサは、監視されるデータにより、いつ同じネットワーク化されたコンピューティングリソースにルーティングされた2つ以上のデータ処理セグメントがネットワーク化されたコンピューティングリソースに関するヒストリカル待ち時間値よりも長い1つ又は複数の待ち時間が結果的にもたらされたかを識別することによって最小ハンドリングインターバル時間を得る。関係するデータ処理セグメント間の時間の差は、ネットワーク化されたコンピューティングリソースに関する最小ハンドリング時間を定義するために用いることができる。或る例では、より長い待ち時間は、データ処理セグメントのうちの1つがネットワーク化されたコンピューティングリソース(又はパスに沿って)でキューに入れられたことを示す場合がある。
同様に、或る実施形態では、プロセッサは、通常よりも長い待ち時間が観測されるよりも前に最小ハンドリング時間内に同じネットワーク化されたコンピューティングリソースに通常ルーティングすることができるデータ処理セグメントの数を特定することができる。或る例では、この数は、後続の要求がキューに入れられる前にビジーであるはずのネットワーク化されたコンピューティングリソースでのプロセッサの数などを示す場合がある。
或る実施形態では、監視されるデータ(例えば、待ち時間、獲得比)が、ネットワーク化されたコンピューティングリソース(又はルート)が輻輳していることを示すときに、プロセッサは、影響を受けたネットワーク化されたコンピューティングリソースへのルーティングのための少なくとも1つのデータ処理セグメントを有する任意のウェーブを遅延させる、再スケジュールする、又は再作成することができる。
或る実施形態では、データの監視は、スケジュールされたウェーブから、同じ宛先にルーティングされるべき或いはタイミングパラメータ、ハンドリング時間、輻輳閾値などを決定するために良好なテストケースとして作用する可能性を有する注文を、種々のデータ処理セグメントにおいて識別することを含む。或る例では、テスト能力でこれらのデータ処理セグメントを識別すること、具体的には監視することによって、システムは、或る場合には、テストデータ処理セグメントを送信する必要性を減らす場合がある。
本開示は、特定の現在好ましい実施形態に関連して提供され、例示されているが、本明細書で開示された本発明の精神及び範囲から逸脱することなく多くの変形及び修正がなされてよい。本開示及び本発明(単数又は複数)は、したがって、上記に記載の方法論又は構成の正確なコンポーネント又は詳細に限定されない。プロセス自体に必要な又は固有の範囲以外に、図面を含む本開示で説明される方法又はプロセスのステップ又はステージへの特定の順序は意図又は含意されない。多くの場合において、プロセスステップの順序は、説明される方法の目的、効果、又は重要性を変更することなく変更され得る。請求項の範囲は、均等論及び関係した理論を十分に踏まえて付属の請求項によってのみ定義されるべきである。

Claims (28)

  1. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるためのシステムであって、前記システムは、
    複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することであって、監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含むことと、
    1つ以上のデータソースから、前記複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信することと、
    前記監視されるデータに基づいて、
    前記少なくとも1つのデータ処理を少なくとも1つのデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされることになることと、
    複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、前記複数のネットワーク化されたコンピューティングリソースのうちの対応する1つと関連付けられることになり、前記複数のタイミングパラメータは、前記複数のネットワーク化されたコンピューティングリソースによる、前記少なくとも1つのデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングパラメータに基づいて、前記少なくとも1つのデータ処理セグメントを、タイミングシーケンスにおける複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を行うように構成された少なくとも1つのプロセッサを備え、
    前記少なくとも1つのプロセッサは、
    複数のデータ処理セグメントをルーティングするために、前記タイミングシーケンスにランダムタイミングバリエーションを導入することであって、前記ランダムタイミングバリエーションは、前記複数のタイミングパラメータを満たす範囲内に入ることと、
    前記ランダムタイミングバリエーションをもってルーティングされたデータ処理セグメントに関連するデータを監視することと、
    前記複数の対応するネットワーク化されたコンピューティングリソースに関連するタイミングパラメータを調整することと、
    を行うように構成される、システム。
  2. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記少なくとも1つのデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    受信されたメッセージから、前記少なくとも1つのデータ処理に関する少なくとも1つの獲得比を決定することと、
    を含み、
    少なくとも1つの後続のデータ処理セグメントに関して前記複数のタイミングパラメータを決定することは、前記少なくとも1つの獲得比に少なくとも部分的に基づく、請求項1に記載のシステム。
  3. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記少なくとも1つのデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    受信されたメッセージから、前記少なくとも1つのデータ処理に関する少なくとも1つの獲得比を決定することと、
    前記少なくとも1つの獲得比が定義された閾値を下回るか又は定義された閾値だけヒストリカル平均から変化するときに、潜在的なハードウェア障害を示す警告を生成することと、
    を含む、請求項1に記載のシステム。
  4. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    あるデータ処理セグメントを前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングすることに関連する待ち時間のコンポーネントを決定すること
    を含み、
    前記コンポーネントを決定することは、異なるタイプのデータ処理セグメントを前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングすることに関連する待ち時間における差に基づく、請求項1に記載のシステム。
  5. 前記複数のネットワーク化されたコンピューティングリソースに関連する監視されるデータは、前記システムから前記複数のネットワーク化されたコンピューティングリソースにデータ処理セグメントをルーティングするための多数のルートに関連するデータを含む、請求項1に記載のシステム。
  6. 前記多数のルートに関連するデータは、前記多数のルートのうちの少なくとも1つにおける少なくとも1つのルートセグメント又はデバイスに関する待ち時間データ又はステータス情報を含む、請求項5に記載のシステム。
  7. 前記複数のネットワーク化されたコンピューティングリソースに関連する監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースのうちの対応する1つからの情報漏れのリスクを識別するためのデータを含む、請求項1に記載のシステム。
  8. 前記少なくとも1つのデータ処理を前記少なくとも1つのデータ処理セグメントに分割することは、
    前記複数のネットワーク化されたコンピューティングリソースのうちのどれに、前記少なくとも1つのデータ処理セグメントのうちの少なくとも1つがルーティングされることになるのかを選択することと、
    選択されたネットワーク化されたコンピューティングリソースのそれぞれに関して、前記少なくとも1つのデータ処理セグメントのうちの対応する1つのサイズを決定することと、
    を含む、請求項1に記載のシステム。
  9. 前記選択及び前記サイズの決定は、前記複数のネットワーク化されたコンピューティングリソースに関連する入手可能なリクイディティ、情報漏れのリスク、及び待ち時間のうちの少なくとも1つに基づく、請求項8に記載のシステム。
  10. 前記入手可能なリクイディティは、公に掲示されたリクイディティ及び予測されたリクイディティを含む、請求項9に記載のシステム。
  11. 前記タイミングパラメータは、第2のデータ処理セグメントのルーティング時間に対する、第1のデータ処理セグメントがルーティングされることになる許容可能な時間範囲を定義する、請求項1に記載のシステム。
  12. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記複数のデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされたデータ処理セグメントに関連する受信されたメッセージに基づいて、前記複数のネットワーク化されたコンピューティングリソースのうちの1つに関連する実行待ち時間の分布を決定することと、
    を含み、
    前記少なくとも1つのプロセッサは、第2のデータ処理セグメントがルーティングされる時間に対する、第1のデータ処理セグメントをルーティングすることができる1つ以上の時間範囲に基づいて前記タイミングシーケンスを決定するように構成され、前記1つ以上の時間範囲は前記分布に基づく、請求項1に記載のシステム。
  13. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるための方法であって、前記方法は、
    複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することであって、監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含むことと、
    1つ以上のデータソースから、前記複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信することと、
    前記監視されるデータに基づいて、
    前記少なくとも1つのデータ処理を少なくとも1つのデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされることになることと、
    複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、前記複数のネットワーク化されたコンピューティングリソースのうちの対応する1つと関連付けられることになり、前記複数のタイミングパラメータは、前記複数のネットワーク化されたコンピューティングリソースによる、前記少なくとも1つのデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングパラメータに基づいて、前記少なくとも1つのデータ処理セグメントを、タイミングシーケンスにおける複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を含み、
    前記方法は、
    複数のデータ処理セグメントをルーティングするために、前記タイミングシーケンスにランダムタイミングバリエーションを導入することであって、前記ランダムタイミングバリエーションは、前記複数のタイミングパラメータを満たす範囲内に入ることと、
    前記ランダムタイミングバリエーションをもってルーティングされたデータ処理セグメントに関連するデータを監視することと、
    前記複数の対応するネットワーク化されたコンピューティングリソースに関連するタイミングパラメータを調整することと、
    をさらに含む、方法。
  14. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記少なくとも1つのデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    受信されたメッセージから、前記少なくとも1つのデータ処理に関する少なくとも1つの獲得比を決定することと、
    を含み、
    少なくとも1つの後続のデータ処理セグメントに関して前記複数のタイミングパラメータを決定することは、前記少なくとも1つの獲得比に少なくとも部分的に基づく、請求項13に記載の方法。
  15. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記少なくとも1つのデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    受信されたメッセージから、前記少なくとも1つのデータ処理に関する少なくとも1つの獲得比を決定することと、
    前記少なくとも1つの獲得比が定義された閾値を下回るか又は定義された閾値だけヒストリカル平均から変化するときに、潜在的なハードウェア障害を示す警告を生成することと、
    を含む、請求項13に記載の方法。
  16. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    あるデータ処理セグメントを前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングすることに関連する待ち時間のコンポーネントを決定すること
    を含み、
    前記コンポーネントを決定することは、異なるタイプのデータ処理セグメントを前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングすることに関連する待ち時間における差に基づく、請求項13に記載の方法。
  17. 前記複数のネットワーク化されたコンピューティングリソースに関連する監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースにデータ処理セグメントをルーティングするための多数のルートに関連するデータを含む、請求項13に記載の方法。
  18. 前記多数のルートに関連するデータは、前記多数のルートのうちの少なくとも1つにおける少なくとも1つのルートセグメント又はデバイスに関する待ち時間データ又はステータス情報を含む、請求項17に記載の方法。
  19. 前記複数のネットワーク化されたコンピューティングリソースに関連する監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースのうちの対応する1つからの情報漏れのリスクを識別するためのデータを含む、請求項13に記載の方法。
  20. 前記少なくとも1つのデータ処理を前記少なくとも1つのデータ処理セグメントに分割することは、
    前記複数のネットワーク化されたコンピューティングリソースのうちのどれに、前記少なくとも1つのデータ処理セグメントのうちの少なくとも1つがルーティングされることになるのかを選択することと、
    選択されたネットワーク化されたコンピューティングリソースのそれぞれに関して、前記少なくとも1つのデータ処理セグメントのうちの対応する1つのサイズを決定することと、
    を含む、請求項13に記載の方法。
  21. 前記選択及び前記サイズの決定は、前記複数のネットワーク化されたコンピューティングリソースに関連する入手可能なリクイディティ、情報漏れのリスク、及び待ち時間のうちの少なくとも1つに基づく、請求項20に記載の方法。
  22. 前記入手可能なリクイディティは、公に掲示されたリクイディティ及び予測されたリクイディティを含む、請求項21に記載の方法。
  23. 前記タイミングパラメータは、第2のデータ処理セグメントのルーティング時間に対する、第1のデータ処理セグメントがルーティングされることになる許容可能な時間範囲を定義する、請求項13に記載の方法。
  24. 前記複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することは、
    前記複数のデータ処理セグメントの、前記複数の対応するネットワーク化されたコンピューティングリソースへのルーティングに応答してメッセージを受信することと、
    前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされたデータ処理セグメントに関連する受信されたメッセージに基づいて、前記複数のネットワーク化されたコンピューティングリソースのうちの1つに関連する実行待ち時間の分布を決定することと、
    を含み、
    前記方法は、第2のデータ処理セグメントがルーティングされる時間に対する、第1のデータ処理セグメントをルーティングすることができる1つ以上の時間範囲に基づいて前記タイミングシーケンスを決定することを含み、前記1つ以上の時間範囲は前記分布に基づく、請求項13に記載の方法。
  25. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるためのシステムであって、前記システムは、
    1つ以上のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な複数のデータ処理の実行に関する命令を表す信号を受信することであって、前記データ処理は、金融上の権利の提案されたトレードを表すことと、
    前記複数のネットワーク化されたコンピューティングリソースのそれぞれでの金融上の権利の入手可能なリクイディティに関連するデータを取得することと、
    前記複数のデータ処理のそれぞれを複数のデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの少なくとも1つにルーティングされることになる単一のデータ処理から分割されることと、
    前記複数のネットワーク化されたコンピューティングリソースのそれぞれに前記システムによってルーティングされた以前のデータ処理要求の実行における待ち時間に少なくとも部分的に基づいて、複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、前記複数のデータ処理セグメントのうちの対応する1つと関連付けられることになることと、
    前記複数のデータ処理のそれぞれに関連する、前記複数のネットワーク化されたコンピューティングリソースのそれぞれでのタイミングパラメータ及び入手可能なリクイディティに基づいて、前記複数のデータ処理のすべてに関するデータ処理セグメントをルーティングするためのタイミングシーケンスを決定することであって、前記タイミングシーケンスは、前記複数のネットワーク化されたコンピューティングリソースによる、前記複数のデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングシーケンスに基づいて、前記複数のデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を行うように構成された少なくとも1つのプロセッサを備える、システム。
  26. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるための方法であって、前記方法は、
    1つ以上のデータソースから、複数のネットワーク化されたコンピューティングリソースにより実行可能な複数のデータ処理の実行に関する命令を表す信号を受信することであって、前記データ処理は、金融上の権利の提案されたトレードを表すことと、
    前記複数のネットワーク化されたコンピューティングリソースのそれぞれでの金融上の権利の入手可能なリクイディティに関連するデータを取得することと、
    前記複数のデータ処理のそれぞれを複数のデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの少なくとも1つにルーティングされることになる単一のデータ処理から分割されることと、
    前記複数のネットワーク化されたコンピューティングリソースのそれぞれにルーティングされた以前のデータ処理要求の実行における待ち時間に少なくとも部分的に基づいて、複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、前記複数のデータ処理セグメントのうちの対応する1つと関連付けられることになることと、
    前記複数のデータ処理のそれぞれに関連する、前記複数のネットワーク化されたコンピューティングリソースのそれぞれでのタイミングパラメータ及び入手可能なリクイディティに基づいて、前記複数のデータ処理のすべてに関するデータ処理セグメントをルーティングするためのタイミングシーケンスを決定することであって、前記タイミングシーケンスは、前記複数のネットワーク化されたコンピューティングリソースによる、前記複数のデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングシーケンスに基づいて、前記複数のデータ処理セグメントを複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を含む、方法。
  27. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるためのシステムであって、前記システムは、
    複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することであって、監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含み、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータは、前記複数のネットワーク化されたコンピューティングリソースに関連するヒストリカル実行待ち時間の多峰性分布を表すデータを含むことと、
    1つ以上のデータソースから、前記複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信することと、
    前記ヒストリカル実行待ち時間の多峰性分布を表すデータを含む監視されるデータに基づいて、
    前記少なくとも1つのデータ処理を少なくとも1つのデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされることになり、各々のデータ処理セグメントは、前記多峰性分布における少なくとも1つのモードに関連することと、
    複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、前記複数のタイミングパラメータは、前記複数のネットワーク化されたコンピューティングリソースによる、前記少なくとも1つのデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングパラメータに基づいて、前記少なくとも1つのデータ処理セグメントを、タイミングシーケンスにおける複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を行うように構成された少なくとも1つのプロセッサを備える、システム。
  28. 多数のネットワーク化されたコンピューティングリソースによるデータの処理を協調させるための方法であって、前記方法は、
    複数のネットワーク化されたコンピューティングリソースに関連するデータを監視することであって、監視されるデータは、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータを含み、前記複数のネットワーク化されたコンピューティングリソースに以前にルーティングされたデータ処理セグメントに関連するデータは、前記複数のネットワーク化されたコンピューティングリソースに関連するヒストリカル実行待ち時間の多峰性分布を表すデータを含むことと、
    1つ以上のデータソースから、前記複数のネットワーク化されたコンピューティングリソースにより実行可能な少なくとも1つのデータ処理の実行に関する命令を表す信号を受信することと、
    前記ヒストリカル実行待ち時間の多峰性分布を表すデータを含む監視されるデータに基づいて、
    前記少なくとも1つのデータ処理を少なくとも1つのデータ処理セグメントに分割することであって、各データ処理セグメントは、前記複数のネットワーク化されたコンピューティングリソースのうちの1つにルーティングされることになり、各々のデータ処理セグメントは、前記多峰性分布における少なくとも1つのモードに関連することと、
    複数のタイミングパラメータを決定することであって、前記複数のタイミングパラメータのそれぞれは、複数のデータ処理セグメントのうちの対応する1つと関連付けられることになり、前記複数のタイミングパラメータは、前記複数のネットワーク化されたコンピューティングリソースによる、前記少なくとも1つのデータ処理セグメントの同期された実行をもたらすように決定されることと、
    前記タイミングパラメータに基づいて、前記少なくとも1つのデータ処理セグメントを、タイミングシーケンスにおける複数の対応するネットワーク化されたコンピューティングリソースにルーティングすることと、
    を含む、方法。
JP2024022985A 2015-02-27 2024-02-19 ネットワーク化されたコンピューティングリソースによるデータの協調した処理 Pending JP2024063048A (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201562126120P 2015-02-27 2015-02-27
US201562126106P 2015-02-27 2015-02-27
US62/126,106 2015-02-27
US62/126,120 2015-02-27
US201562132063P 2015-03-12 2015-03-12
US62/132,063 2015-03-12
JP2017545392A JP6892824B2 (ja) 2015-02-27 2016-02-26 ネットワーク化されたコンピューティングリソースによるデータの協調した処理
JP2021089695A JP2021166385A (ja) 2015-02-27 2021-05-28 ネットワーク化されたコンピューティングリソースによるデータの協調した処理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021089695A Division JP2021166385A (ja) 2015-02-27 2021-05-28 ネットワーク化されたコンピューティングリソースによるデータの協調した処理

Publications (1)

Publication Number Publication Date
JP2024063048A true JP2024063048A (ja) 2024-05-10

Family

ID=56741275

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017545392A Active JP6892824B2 (ja) 2015-02-27 2016-02-26 ネットワーク化されたコンピューティングリソースによるデータの協調した処理
JP2021089695A Pending JP2021166385A (ja) 2015-02-27 2021-05-28 ネットワーク化されたコンピューティングリソースによるデータの協調した処理
JP2024022985A Pending JP2024063048A (ja) 2015-02-27 2024-02-19 ネットワーク化されたコンピューティングリソースによるデータの協調した処理

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2017545392A Active JP6892824B2 (ja) 2015-02-27 2016-02-26 ネットワーク化されたコンピューティングリソースによるデータの協調した処理
JP2021089695A Pending JP2021166385A (ja) 2015-02-27 2021-05-28 ネットワーク化されたコンピューティングリソースによるデータの協調した処理

Country Status (11)

Country Link
EP (1) EP3269090B1 (ja)
JP (3) JP6892824B2 (ja)
KR (3) KR20240006086A (ja)
CN (1) CN107534584B (ja)
AU (1) AU2016224908B2 (ja)
BR (1) BR112017018133B1 (ja)
CA (1) CA2922072A1 (ja)
HK (1) HK1248934A1 (ja)
MX (3) MX2017011021A (ja)
SG (4) SG10202110018RA (ja)
WO (1) WO2016135705A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057333B2 (en) 2009-12-10 2018-08-21 Royal Bank Of Canada Coordinated processing of data by networked computing resources
SG181616A1 (en) 2009-12-10 2012-07-30 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
BR112015005550A2 (pt) 2012-09-12 2017-07-04 Iex Group Inc aparelhos, métodos e sistemas de nivelamento de latência de transmissão
US10346910B2 (en) 2014-04-16 2019-07-09 Iex Group, Inc. Systems and methods for providing up-to-date information for transactions
SG11201701415XA (en) 2014-08-22 2017-03-30 Iex Group Inc Dynamic peg orders in an electronic trading system
US10706470B2 (en) 2016-12-02 2020-07-07 Iex Group, Inc. Systems and methods for processing full or partially displayed dynamic peg orders in an electronic trading system
US10311515B2 (en) 2014-09-17 2019-06-04 Iex Group, Inc. System and method for a semi-lit market
SG10202110018RA (en) * 2015-02-27 2021-10-28 Royal Bank Of Canada Coordinated processing of data by networked computing resources
WO2018044334A1 (en) 2016-09-02 2018-03-08 Iex Group. Inc. System and method for creating time-accurate event streams
KR102442431B1 (ko) 2017-10-31 2022-09-08 아브 이니티오 테크놀로지 엘엘시 상태 업데이트의 일관성에 기초하는 컴퓨팅 클러스터 관리
CN107819696B (zh) * 2017-11-22 2021-09-28 中国银行股份有限公司 一种交易流量控制方法和系统
CN110888889B (zh) * 2018-08-17 2023-08-15 阿里巴巴集团控股有限公司 一种数据信息更新方法、装置及设备
CN109766193A (zh) * 2019-01-29 2019-05-17 努比亚技术有限公司 计算任务执行方法、服务器、终端和计算机可读存储介质
CN110618923B (zh) * 2019-09-18 2023-09-15 创新先进技术有限公司 一种数据监控的方法和系统
CN110865885B (zh) * 2019-10-09 2022-11-18 北京邮电大学 面向分布式数据处理与聚合的任务部署装置和方法
CN111144594B (zh) * 2019-11-25 2023-07-28 大众问问(北京)信息科技有限公司 一种出发时刻确定方法、装置及设备
US11734757B2 (en) 2020-04-14 2023-08-22 Banque Nationale Du Canada Computer implemented method and system for automating analysis of profit and loss (PnL) variations based on market events
KR102544799B1 (ko) * 2020-11-09 2023-06-20 한국과학기술원 에지 컴퓨팅 서버의 최적 자원할당 운영 방법
US11537455B2 (en) 2021-01-11 2022-12-27 Iex Group, Inc. Schema management using an event stream
CN113592471A (zh) * 2021-07-29 2021-11-02 中国人民银行清算总中心 支付交易应用系统及方法
US20230177604A1 (en) * 2021-12-06 2023-06-08 Jonathon FLETCHER Dynamic allocation of locations of matching engines in a cloud-based exchange

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768594A (en) * 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US6677858B1 (en) * 1999-02-26 2004-01-13 Reveo, Inc. Internet-based method of and system for monitoring space-time coordinate information and biophysiological state information collected from an animate object along a course through the space-time continuum
US7840482B2 (en) * 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US8347292B2 (en) * 2007-08-30 2013-01-01 International Business Machines Corporation Transaction aggregation to increase transaction processing throughout
US20100050182A1 (en) * 2007-12-03 2010-02-25 Zircon Computing Llc Parallel processing system
SG181616A1 (en) * 2009-12-10 2012-07-30 Royal Bank Of Canada Synchronized processing of data by networked computing resources
SG10202110018RA (en) * 2015-02-27 2021-10-28 Royal Bank Of Canada Coordinated processing of data by networked computing resources

Also Published As

Publication number Publication date
EP3269090B1 (en) 2019-10-02
MX2022004253A (es) 2022-05-06
KR20230024423A (ko) 2023-02-20
KR20170139004A (ko) 2017-12-18
EP3269090A4 (en) 2018-08-22
EP3269090A1 (en) 2018-01-17
KR20240006086A (ko) 2024-01-12
BR112017018133A2 (pt) 2018-04-10
AU2016224908B2 (en) 2019-04-11
HK1248934A1 (zh) 2018-10-19
CN107534584A (zh) 2018-01-02
KR102494427B1 (ko) 2023-02-01
JP2018514105A (ja) 2018-05-31
BR112017018133B1 (pt) 2022-11-08
SG10202110018RA (en) 2021-10-28
MX2023005874A (es) 2023-06-05
JP6892824B2 (ja) 2021-06-23
KR102619651B1 (ko) 2023-12-29
CA2922072A1 (en) 2016-08-27
CN107534584B (zh) 2020-12-01
AU2016224908A1 (en) 2017-09-21
SG11201707004WA (en) 2017-09-28
MX2017011021A (es) 2018-01-18
SG10201913790VA (en) 2020-03-30
WO2016135705A1 (en) 2016-09-01
SG10201913740XA (en) 2020-03-30
JP2021166385A (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
US11799947B2 (en) Coordinated processing of data by networked computing resources
JP2024063048A (ja) ネットワーク化されたコンピューティングリソースによるデータの協調した処理
US9959572B2 (en) Coordinated processing of data by networked computing resources
US10771536B2 (en) Coordinated processing of data by networked computing resources
US9979589B2 (en) Coordinated processing of data by networked computing resources
US11776054B2 (en) Synchronized processing of data by networked computing resources
CA3041689A1 (en) Coordinated processing of data by networked computing resources

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307