JP2015520528A - 電子メッセージを送信する方法及びシステム - Google Patents

電子メッセージを送信する方法及びシステム Download PDF

Info

Publication number
JP2015520528A
JP2015520528A JP2014561230A JP2014561230A JP2015520528A JP 2015520528 A JP2015520528 A JP 2015520528A JP 2014561230 A JP2014561230 A JP 2014561230A JP 2014561230 A JP2014561230 A JP 2014561230A JP 2015520528 A JP2015520528 A JP 2015520528A
Authority
JP
Japan
Prior art keywords
message
electronic
receiver
data
data packages
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
JP2014561230A
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
Priority claimed from AU2012900980A external-priority patent/AU2012900980A0/en
Application filed by ゾモジョ・ピーティーワイ・リミテッド filed Critical ゾモジョ・ピーティーワイ・リミテッド
Publication of JP2015520528A publication Critical patent/JP2015520528A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

レイテンシを短縮するシステム20は、電子メッセージ受信機28に、1つの電子メッセージが振り分けられた複数の送信用データパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するメッセージ送信機32と、電子トリガー情報を受信する電子トリガー情報受信機30を備える。メッセージ送信機32は、電子トリガー情報を受信するのに応答して、電子メッセージ受信機28に、複数のデータパッケージの残りを送信する。システム20は、複数のデータパッケージのうちの少なくとも1つが受信されるときに、電子メッセージ受信機28に、複数のデータパッケージの残りを受信することを予想して、複数のデータパッケージのうちの少なくとも1つを保持させ、その後、残りが受信されると、複数のデータパッケージを結合させるように、複数のデータパッケージをそれぞれフォーマットするデータフォーマッタ34を備える。【選択図】図1

Description

本明細書の開示は包括的には電子メッセージを送信する方法及びシステムに関し、限定はしないが、特に、電子メッセージのレイテンシを短縮することに関し、その一例は、限定はしないが、証券取引所に送信される金融商品注文を含む。
電子ネットワークを介して送信される電子メッセージのレイテンシは、状況によっては、有利な結果を確保する際の重要な要因になる場合がある。例えば、証券取引所によって完全な電子取引注文を最初に受信することによって、取引の優先権が確立される場合がある。その後、株式、デリバティブ、先物のような金融商品に関する有利な価格が利用される場合がある。別の例では、ネットワーク電子ゲームをする個人にとって有利な結果が、ゲームシステムによって受信されるゲームコマンドのレイテンシに基づいて決定される場合がある。例えば、賭けをするか、又はオークションにおいて値を付けるために、レイテンシの短いメッセージを送信できることは、良好な賭け率、良好な価格又は購入の成功を確保する確率を高める場合がある。
本明細書において開示されるのは、レイテンシを短縮する方法である。その方法は、電子メッセージを複数の送信用データパッケージに振り分けるステップを含む。複数のデータパッケージは、電子メッセージ受信機によって予想されたデータパッケージよりも多くのデータパッケージを有する。その方法は、電子メッセージ受信機に、複数のデータパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するステップを含む。その方法は、複数のデータパッケージの残りが電子メッセージ受信機に送信されることを示す電子トリガー情報を受信するステップを含む。その方法は、電子メッセージ受信機に、複数のデータパッケージの残りを送信するステップを含む。複数のデータパッケージはそれぞれ、複数のデータパッケージのうちの少なくとも1つが受信されるときに、電子メッセージ受信機に、複数のデータパッケージの残りを受信するのを予想して、複数のデータパッケージのうちの少なくとも1つを保持させ、その後、残りが受信されると、複数のデータパッケージを結合させるようにフォーマットされる。
複数のデータパッケージの残りを送信するための期間は、複数のデータパッケージを送信するための期間より短い。その結果として、電子メッセージを送信するレイテンシは、電子トリガー情報を受信した後に複数のデータパッケージの全てが送信された場合より実効的に短い。
一実施形態では、電子メッセージ受信機は、必ずしもそうではないが、取引所に位置する場合がある電子注文受信機である。電子メッセージは、金融商品取引注文、ドメイン名注文、電子商取引注文、又は概ね任意の注文のうちの少なくとも1つを含む電子注文情報を含むことができる。例えば、電子メッセージ部分は、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、及び電子メッセージの起点において定義される情報のうちの少なくとも1つを含むことができる。例えば、ヘッダ情報は、一般的に、全ての電子メッセージに共通の情報を含む。例えば、株式仲買人は、取引所に送信される金融商品注文における標準的な情報、例えば、仲買人識別情報、運用者識別情報、データ情報、顧客口座情報、又は概ね任意の適切な情報を含むことができる。可変データを(複数のデータパッケージの残りの形で)送信する前に、標準的な、又は所定のデータを(電子メッセージ部分の形で)送信することによって、実効的なレイテンシを短縮することができる。
証券取引所及びゲームサーバのようなサーバは、特定の数のデータパッケージに振り分けられた電子メッセージ、例えば、1つのインターネットプロトコル(IP)パケットによって搬送される1つの伝送制御プロトコル(TCP)セグメントを受信することを予想する場合がある。したがって、サーバの予想に意図的に従わないことによって、レイテンシに関する利益を得ることができることは驚くことである。予想されるパケットより多くのパケットを送信することによって、例えば、余分な処理ステップ、リソース、処理時間及び全送信時間の全体的な増加を含む、オーバーヘッドを被ると仮定すると、レイテンシに関する利益が達成されることは更に驚くことである。さらに、幾つかの証券取引所プロトコルの中には、メッセージの送信側が更に努力しなければ、先に開示された方法に適合しないものもある場合がある。例えば、定期的な「ハートビート」を送信すること、つまり、破損したか、又は誤りのあるパケットを定期的に送信すること、複数の注文取消を送信すること、及び市場の最高価格範囲外にあるため容認されない注文を送信することのうちの少なくとも1つによって、そのパラメータが、必ずしもそうではないが、一般的にサーバによって定義される送信セッションを存続させることが必要な場合がある。これらの行為によって、更なるオーバーヘッドを被る場合がありながらも、レイテンシに関する利益に寄与する場合がある。
別の実施形態では、電子メッセージは、ゲームコマンドを示す電子ゲーム情報及び賭けを示す電子賭け情報のうちの少なくとも1つを含む。
必ずしもそうではないが、一般的に、電子メッセージ部分の送信と、複数のデータパッケージの残りの送信との間には或る時間がある。この時間は1000nsより長くすることができる。その時間は10μsより長くすることができる。その時間は100μsより長くすることができる。その時間は1msより長くすることができる。その時間は1秒より長くすることができる。その時間は60秒より長くすることができる。その時間は1時間より長くすることができる。その或る時間は、1時間、60秒、1秒、1ms、100μs、10μs及び1000nsのいずれか1つよりも短くすることができる。一般的に、その或る時間は状況によって決まり、電子メッセージ部分及び複数のデータパッケージの残りの送信時刻には相関がなくてもよい。
その方法の一実施形態は、電子メッセージ受信機が、メッセージが振り分けられると予想するデータパッケージの量を求めるステップを含む。その方法は、データパッケージの予想される量をサーバに電子的に問い合わせるステップを含むことができる。代替的には、その方法は、データパッケージの予想される量を提示するドキュメントを参照するステップを含むことができる。
一実施形態では、複数のデータパッケージの残りのうちの少なくとも幾つかの情報は、電子メッセージ部分を電子メッセージ受信機に送信するステップ後に作成される。例えば、株式仲買人が注文を開始するのを待つ理由はない場合がある。この結果、レイテンシを短縮することができる。
一実施形態では、複数のデータパッケージのうちの少なくとも1つは伝送制御プロトコルセグメントを含む。
一実施形態では、複数のデータパッケージの残りは別のTCPセグメントを含む。別のTCPセグメントは、そのTCPセグメントより小さいシーケンス番号を有する場合がある。すなわち、それらのTCPセグメントは、従来とは違う順序で送信される場合がある。複数のデータパッケージの残りは、複数の別のTCPセグメントを含む場合がある。
TCPプロトコルは、パケット送達と、パケットが違う順序で受信された場合にパケットを正しい順序に組み立てることとを保証する。その結果として、TCPプロトコルを使用するのが適している場合がある。必ずしも全てではないが、多くの取引所サーバがTCPプロトコルを使用する。
一実施形態では、電子メッセージ部分は少なくとも第1のIPフラグメントを含む。
一実施形態では、複数のデータパッケージの残りは少なくとも第2のIPフラグメントを含む。
IPフラグメンテーションは、一般的に、アプリケーション及び/又はユーザが標準的なオペレーティングシステムによって利用できるようにできていない。IPフラグメンテーションは、余分な処理を必要とする場合がある。したがって、IPフラグメンテーションを用いて、レイテンシに関する利益を達成することができることは驚くことである。
一実施形態では、電子トリガー情報を受信するステップは、複数のデータパッケージの残りがそこから生成される残りメッセージ情報を受信するステップを含む。残りメッセージ情報は電子トリガー情報とすることができる。
本明細書において開示されるのは、レイテンシを短縮するシステムである。そのシステムは、電子メッセージ受信機に、電子メッセージが振り分けられた複数の送信用データパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するように構成されるメッセージ送信機を備える。複数のデータパッケージは、電子メッセージ受信機によって予想されるデータパッケージより多くのデータパッケージを有する。そのシステムは、複数のデータパッケージの残りが電子メッセージ受信機に送信されることになることを示す電子トリガー情報を受信するように構成される電子トリガー情報受信機を備える。メッセージ送信機は、電子メッセージ受信機に、複数のデータパッケージの残りを送信するように構成される。そのシステムは、複数のデータパッケージのうちの少なくとも1つが受信されるときに、電子メッセージ受信機に、複数のデータパッケージの残りを受信するのを予想して、この複数のデータパッケージのうちの少なくとも1つを保持させ、その後、この残りが受信されると、複数のデータパッケージを結合させるように、複数のデータパッケージのそれぞれをフォーマットするように構成されるデータフォーマッタを備える。
本システムの一実施形態は、前記複数のデータパッケージのうちの少なくとも1つを記憶するように構成されるデータ記憶装置を備える。
本システムの一実施形態は、前記電子メッセージ受信機が、前記メッセージが振り分けられると予想するデータパッケージの量を求めるように構成される電子メッセージ受信機予想決定器を備える。
一実施形態では、前記メッセージ送信機は前記電子メッセージ受信機とのTCPセッションを確立するように構成される。
一実施形態では、前記メッセージ送信機は、電子メッセージ部分内にTCPセグメントを含むように、かつ前記複数のデータパッケージの残り内に別のTCPセグメントを含むように構成される。別のTCPセグメントは前記TCPセグメントより小さなシーケンス番号を有することができる。
一実施形態では、前記メッセージ送信機は、前記電子メッセージ部分内に少なくとも第1のIPフラグメントを含むように構成される。
一実施形態では、前記メッセージ送信機は、前記複数のデータパッケージの残り内に少なくとも第2のIPフラグメントを含むように構成される。
一実施形態では、前記電子トリガー受信機は、前記複数のデータパッケージの残りがそこから生成される残りメッセージ情報を受信するように構成される。
一実施形態では、前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む。
一実施形態では、前記電子メッセージ受信機は、電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む。
本明細書において開示されるのはレイテンシを短縮する方法である。その方法は、電子メッセージ受信機に複数の代替メッセージ部分を送信するステップを含む。代替メッセージ部分はそれぞれ、電子メッセージの代替部分である。その方法は、複数の代替メッセージ部分のうちの選択された代替メッセージ部分が完了されることを示す電子トリガー情報を受信するステップを含む。その方法は、電子メッセージ受信機に、複数の代替メッセージ部分のうちの選択された代替メッセージ部分を補完する残りのメッセージ部分を送信するステップを含む。
例えば、株式仲買人は、複数の代替メッセージ部分を送信することができ、複数のメッセージ部分はそれぞれ、複数の代替メッセージ部分の他のメッセージ部分とは異なる未完了注文である。株式仲買人は、例えば、市場情報を用いて、市況に基づいて複数の注文のうちのどの注文を完了させるかを選択することができる。その結果として、株式仲買人は、株式価格、株式出来高、クライアントからの指示等との関連で幾つかの起こり得る不測の事態を利用することができる。
必ずしもそうではないが、一般的に、複数の代替メッセージ部分の送信と、残りのメッセージ部分の送信との間には或る時間がある。
一実施形態では、複数の代替メッセージ部分はそれぞれ、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、電子メッセージの起点において定義される情報のうちの少なくとも1つを含み、電子メッセージの起点において定義される情報の例は、限定はしないが、株式識別子、株式価格、注文タイプ情報(例えば、買い又は売り)を含む。
一実施形態では、前記残りメッセージ部分内の少なくとも幾つかの情報は、前記複数の代替メッセージ部分を送信するステップ後に作成される。
一実施形態では、前記複数の代替メッセージ部分はそれぞれ、それぞれのIPフラグメントを含む。前記残りメッセージ部分は別のIPフラグメントを含むことができる。
一実施形態では、前記電子トリガー情報を受信するステップは、前記残りメッセージ部分がそこから生成される残りメッセージ情報を受信するステップを含む。
一実施形態では、前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む。
一実施形態では、前記電子メッセージ受信機は電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む。
本明細書において開示されるのは、レイテンシを短縮するシステムである。そのシステムは、電子メッセージ受信機に、複数の代替メッセージ部分を送信するように構成されるメッセージ送信機を備える。代替メッセージ部分はそれぞれ、電子メッセージの代替部分である。そのシステムは、複数の代替メッセージ部分のうちの選択されたメッセージ部分が完了されることを示す電子トリガー情報を受信するように構成される電子トリガー情報受信機を備える。メッセージ送信機は、電子メッセージ受信機に、複数の代替メッセージ部分のうちの選択されたメッセージ部分を補完する残りメッセージ部分を送信するように構成される。
本システムの一実施形態は、前記複数の代替メッセージ部分を記憶するように構成されるデータ記憶装置を備える。
一実施形態では、前記複数の代替メッセージ部分はそれぞれ、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、及び前記電子メッセージの起点において定義される情報のうちの少なくとも1つを含む。
一実施形態では、前記複数の代替メッセージ部分はそれぞれ、それぞれのIPフラグメントを含み、前記残りメッセージ部分は別のIPフラグメントを含む。
一実施形態では、前記電子トリガー情報受信機は、前記残りメッセージ部分がそこから生成される前記残りメッセージ情報を受信するように構成される。
一実施形態では、前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む。
一実施形態では、前記電子メッセージ受信機は電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む。
本明細書において開示されるのは、レイテンシを短縮する方法である。その方法は、電子メッセージ受信機に、電子メッセージの未完了部分を示す予備メッセージデータを送信するステップを含む。その方法は、電子メッセージの残りを示す残りメッセージデータが送信されることを示す電子トリガー情報を受信するステップを含む。その方法は、電子トリガー情報を受信するのに応答して、電子メッセージ受信機に、残りメッセージデータを送信するステップを含む。送信された予備メッセージデータ及び送信された残りメッセージデータは、残りメッセージデータを受信するまで電子メッセージ受信機に予備メッセージデータを保持させ、その後、予備メッセージデータ及び残りメッセージデータを結合させるようにフォーマットされる。
本明細書において開示されるのは、レイテンシを短縮するシステムである。そのシステムは、電子メッセージ受信機に、電子メッセージの未完了部分を示す予備メッセージデータを送信するように構成されるメッセージ送信機を備える。そのシステムは、電子トリガー情報を受信するように構成される電子トリガー情報受信機を備える。そのシステムは、メッセージ送信機が、電子トリガー情報を受信するのに応答して、電子メッセージ受信機に残りメッセージデータを送信するように更に構成されるステップを含む。残りメッセージデータは、電子メッセージの残りを示す。そのシステムは、残りメッセージデータを受信するまで電子メッセージ受信機に予備メッセージデータを保持させ、その後、予備メッセージデータ及び残りメッセージデータを結合させるように、予備メッセージデータ及び残りメッセージデータをフォーマットするように構成されるデータフォーマッタを備える。
上記の任意の方法の上記の任意のステップをプロセッサにおいて実行することができる。
上記の方法、システム、プロセッサ可読有形媒体及びプログラムの1つ又は複数の任意の特徴を組み合わせることができる。
ここで、メッセージを送信する方法及びメッセージを送信するシステムの実施形態が、一例にすぎないが、添付の図面を参照しながら説明されることになる。
レイテンシを短縮する方法の一実施形態の流れ図である。 図1及び/又は図3の方法のステップを実行することができる、レイテンシを短縮するシステムの一実施形態の概略図である。 レイテンシを短縮する方法の別の実施形態の流れ図である。 図2のシステムのアーキテクチャの概略図である。 図1及び/又は図3の方法のステップを実行することができる、レイテンシを短縮するシステムの別の実施形態を示す図である。 図1及び/又は図3の方法のステップを実行することができる、レイテンシを短縮するシステムの更に別の実施形態を示す図である。 メッセージレイテンシ計算のグラフ表示を示す図である。
図1は、レイテンシを短縮する方法の一実施形態の流れ図を示しており、その方法は全体として10によって示される。図2は、方法10のステップを実行することができる、レイテンシを短縮するシステム20の一実施形態の概略図を示す。
図2の実施形態において、システム20は、オーストラリア証券取引所又は韓国証券取引所のような金融商品取引所22と、金融商品取引所22に後に送信するために注文を作成するように構成されるコンピュータ24との間の電子ゲートウエイの形をとる。幾つかの他の実施形態では、システム20はコンピュータ24に統合される。
コンピュータ24はネットワーク26を介してシステム20と通信する。ネットワーク26は、例えば、ローカルエリアネットワークとすることができる。ローカルエリアネットワークは、例えば、イーサネット(登録商標)、INFINIBAND、ISDN、WiFi若しくは任意の他の適切なネットワーク、又はT1/E1ラインとすることができる。代替的には、ネットワーク26はインターネットのようなワイドエリアネットワークとすることができる。他の実施形態では、コンピュータはそれぞれ、シリアル、USB、FireWire、又はThunderbolt接続、又は概ね任意の適切な手段によって、システム20への一対一接続を有することができる。システム20は、必ずしも全ての実施形態においてではないが、この実施形態では、イーサネット(登録商標)又はINFINIBANDのようなローカルエリアネットワーク27を介して、金融商品取引所22にある電子注文受信機の形の電子メッセージ受信機28と通信するが、任意の適切なネットワーク又は一対一接続が用いられてもよい。
システム20は、バス33を介して通信する複数のユニット(30、31、32、34、36、38)を有する。それらのユニットのうちの1つはメッセージ送信機32である。メッセージ送信機によって送信される電子メッセージは、複数のデータパッケージに振り分けられる。データパッケージの例は、限定はしないが、IPパケット、IPフラグメント、TCPセグメント、UDPパケット及びアプリケーション定義パケットを含む。メッセージ送信機32は、電子メッセージ受信機28に、複数のデータパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するように構成される。複数のデータパッケージのうちの少なくとも1つは、一般的に、電子メッセージの未完了部分である。電子メッセージ受信機は、複数の送信用データパッケージ内のデータパッケージの量より少ないデータパッケージの量でメッセージが送達されるのを予想している場合がある。例えば、電子メッセージ受信機は、1つのデータパッケージのみを予想している場合があり、複数のデータパッケージは2つのデータパッケージを含む場合がある。
例えば、図1の実施形態では、電子メッセージの電子メッセージ部分(「未完了部分」)は、注文が変わっても異ならない証券取引所定義プロトコルヘッダデータを含むことができる。(予備メッセージデータを有する)未完了部分は、注文ごとに株式仲買人が使用する情報を含むことができる。予備メッセージデータは、IPプロトコル及び/又はTCPプロトコルによって定義されるヘッダデータのような、他のプロトコルヘッダデータを含むことができる。予備メッセージデータは、まだ定義されていない幾つかの可変情報の代わりに、プロキシ情報を含むことができる。例えば、株式仲買人識別情報が、システム20によって定義されるプロキシ識別子で置き換えることができる。一実施形態では、プロキシ識別子は、数字列の形をとることができるが、任意の適切な形を用いることができる。そのシステムは、プロキシ識別情報を記憶装置38又は他の記憶装置に記憶することができる。データフォーマッタは、例えば、記憶装置38からプロキシ情報を読み出し、その情報を電子メッセージ部分に入れることができる。その後、株式仲買人識別情報は、後の時点で正しい株式仲買人識別情報を得るために、システム(例えば、メッセージ送信機38)によってプロキシ情報に関連付けることができる。他のプロキシ情報が、他の情報、例えば、仲買人定義情報、又はプロキシ情報によって置き換えることができる任意の他の情報に取って代わることができる。
特定の注文に特有の価格情報、株式情報及び数量情報のような可変情報が、電子メッセージ受信機28によって電子メッセージ部分が受信された後の時間に続くことができる。例えば、電子メッセージ部分は、注文セッションハートビート(例えば、メッセージ受信機のプロトコルによって定義される)後に送信することができ、可変情報は、例えば、後続のハートビートの前のいずれかの時点において、複数のデータパッケージの残りの形で続くことができる。その時間は、例えば、1μsから1時間までのいずれか、又はそれ以上の時間とすることができるが、この範囲外の時間を用いることもできる。
システム20は電子トリガー情報受信機30を有する。電子トリガー情報受信機30は、トリガー情報を受信するように構成される。図2の実施形態では、トリガー情報は、電子注文の残りを示す残りメッセージ情報である。電子注文の残りは一般的に、例えば、特定の注文に特有の可変情報を含む。しかしながら、代替の実施形態では、トリガー情報は、複数のデータパッケージの残りから区別することができる。例えば、トリガー情報は、株式実績若しくは株式価格についての情報、有益な企業報告、又は株式価値の将来の変化を示すことができる他の情報とすることができる。
電子トリガー情報受信機30は、受信されたときに残りメッセージ情報から複数のデータパッケージの残りを生成するように構成される残りデータ発生器31を備える。
メッセージ送信機32は、電子トリガー情報受信機30によって電子トリガー情報が受信されるのに応答して、電子メッセージ受信機28に複数のデータパッケージの残りを送信するように更に構成される。
システム20は、複数のデータパッケージの残りを受信するまで電子メッセージ受信機28に電子メッセージ部分を保持させ、その後、電子メッセージ部分と、複数のデータパッケージの残りとを結合させるように、電子メッセージ部分及び複数のデータパッケージの残りをフォーマットするように構成されるデータフォーマッタ34を備える。例えば、メッセージ受信機28とシステム20との間にTCPセッションが確立することができる。TCPプロトコルは、公的に入手可能な関連するインターネットエンジニアリングタスクフォースRFC文書において記述されている。TCPは、受信された全バイトが送信されたバイトと同一であり、かつ正しい順序であることを保証する、信頼性のあるストリーム送達サービスである。複数のデータパッケージはそれぞれ、TCPセグメントペイロードを伴う本体を有するそれぞれのIPパケットを含むことができる。IPパケットは、データフォーマッタ34によって作成することができる。各TCPセグメントは、電子メッセージのそれぞれの部分の形でペイロードを更に有することができる。メッセージは、例えば、注文、指示又はコマンドとすることができる。すなわち、注文はTCPセグメントに振り分けられる。その後、データ送信機は、TCPパケットを電子メッセージ受信機28に送信する。TCPセグメントは、TCPプロトコル仕様書に従って順次に番号を付すことができる。メッセージ受信機は、TCPセグメントのシーケンス番号を用いて、ペイロードを正しい順序に組み立て直す。メッセージ受信機のTCP層が当初に送信された一連のバイトを組み立て直したら、TCP層は一連のバイトを、そのメッセージを処理及び/又は実行するアプリケーションプログラムに渡す。
電子メッセージ部分の内容は、実際には、複数のデータパッケージの残りの内容後に電子メッセージ受信機28によって予想される場合がある。これに対応するために、データフォーマッタは、メッセージ受信機が正しい論理的順序においてTCPセグメントを再順序付けることができるように、非順次のシーケンス番号を用いて、一連のパケットを送信することになる。TCPプロトコルに従う電子メッセージ受信機28は、受信されたTCPセグメントをシーケンス番号の順序において配列する。
上記の例は、トランスポート層(TCPが動作する層)内のメッセージの振分けを記述するが、そのメッセージは開放型システム間相互接続(OSI)モデルの別の層内で、例えば、IPを使用するネットワーク層からアプリケーション層までにおいて振り分けられることは理解されよう。選択された層に応じて、適切なパケットベースのプロトコルを選択することができる。
別の実施形態では、データフォーマッタは、複数のデータパッケージをIPフラグメントとしてフォーマットするように構成される。IPフラグメンテーションは、例えば、インターネットエンジニアリングタスクフォース文書DARPAインターネットプログラムプロトコル仕様書RFC791及びRFC815において詳述される。一例では、電子メッセージ受信機28は、第1のIPフラグメントを受信すると、第2のIPフラグメントを予想して、第1のIPフラグメントを保持し、第2のIPフラグメントが受信されるとき、第1のIPフラグメント及び第2のIPフラグメントのペイロードを結合する。
電子メッセージ部分のうちの少なくとも幾つか(又は全て)が、必ずしも全ての実施形態においてではないが、この実施形態では、例えば、ハードディスクドライブ又はFLASHの形をとる不揮発性データ記憶装置38にローカルに記憶することができる。代替的には、電子メッセージ部分のうちの少なくとも幾つか(又は全て)は、RAM、DRAM又は何らかの他の形の揮発性メモリ内にローカルに記憶することができる。トリガー情報受信機30は、この実施形態では、電子メッセージ部分受信機でもある。電子メッセージ部分が受信され、その後、不揮発性データ記憶装置又は揮発性データ記憶装置に記憶することができる。
複数の実施形態が、例えば、余分な処理ステップ、リソース、処理時間及び全送信時間の全体的な増加を含む、オーバーヘッドを被る場合がある。さらに、取引所プロトコルの中には、メッセージの送信側が更に努力しなければ、実施形態に適合しないものがある場合がある。例えば、トランスポート層及び/又はアプリケーション層においてセッションを持続することが必要な場合がある。サーバは、必ずしもそうではないが、一般的にアプリケーション層セッションを定義する。例えば、定期的な「ハートビート」を送信すること、破損したか、又は誤りのあるパケットを定期的に送信すること、つまり、複数の注文取消を送信すること、及び市場の最高価格範囲外にあるため容認されない注文を送信することのうちの少なくとも1つによって、アプリケーション定義セッションを存続させることができる。これらの行為によって、更なるオーバーヘッドを被る場合があり、更に驚くことにレイテンシに関する利益に寄与する場合がある。
その例が、限定はしないがルータ及びスイッチを含む、記憶デバイス及び転送デバイスを有する、システム20と電子メッセージ受信機28との間のリンクは、本発明の少なくとも幾つかの実施形態に従ってメッセージが小さな部分に分割されるときに、バッファの現象によるレイテンシの短縮を被ることが理解されよう。
図3は、レイテンシを短縮する方法の別の実施形態39の流れ図を示す。方法39のステップにおいて、複数の代替メッセージ部分が電子メッセージ受信機に送信される。代替メッセージ部分はそれぞれ、1つの電子メッセージの代替部分である。別のステップでは、電子トリガー情報が受信される。電子トリガー情報は、複数の代替メッセージ部分のうちの選択された代替メッセージ部分が完了されることを指示する。別のステップでは、残りメッセージ部分が電子メッセージ受信機に送信される。残りメッセージ部分は、複数の代替メッセージ部分のうちの選択された代替メッセージ部分を補完する。
例えば、株式仲買人は、複数の代替メッセージ部分を送信することができ、複数のメッセージ部分はそれぞれ、複数の代替メッセージ部分の他のメッセージ部分とは異なる未完了注文である。株式仲買人は、例えば、市場情報を用いて、市況に基づいて複数の注文のうちのどの注文を完了させるかを選択することができる。その結果として、株式仲買人は、株式価格、株式出来高、クライアントからの指示等との関連で幾つかの起こり得る不測の事態を利用することができるであろう。
図4は、システム20内のプロセッサ40のアーキテクチャの概略図を示す。プロセッサは、例えば、図1及び図3の方法のステップを実行することができる。その方法は、プロセッサに指示するためにプログラム内にコーディングすることができる。そのプログラムは、この実施形態では、ハードディスクドライブの形の不揮発性メモリ48に記憶されるが、FLASH、EPROM、又はプロセッサの内部若しくは外部にある任意の他の形の有形媒体に記憶することができる。プログラムは、必ずしもそうではないが、一般的には、プロセッサにインストールされるときに図1(又は図3)の方法のステップが実行されるように協働する複数のソフトウェアモジュールを含む。ソフトウェアモジュールは、少なくとも部分的には、上記の方法のステップ又はシステムの構成要素に対応する。それらの機能又は構成要素は、コンパートメント化して複数のモジュールにすることもできるし、幾つかのソフトウェアモジュールにわたって断片化することもできる。それらのソフトウェアモジュールは、任意の適切な言語を用いて形成することができ、その例は、C++及びアセンブリを含む。プログラムは、アプリケーションプログラムインターフェース、又は任意の他の適切なソフトウェア構造の形をとることができる。プロセッサ40は、バス44を介して、約1GBのランダムアクセスメモリ46と、約1GBの容量を有するハードディスクドライブ48のような不揮発性メモリ若しくは固体不揮発性メモリとに接続される、INTEL XEON又はAMD OPTERONマイクロプロセッサのようなマイクロプロセッサ42、又は類似の適切なマイクロプロセッサ42を含む。代替的な論理デバイスをマイクロプロセッサ42の代わりに用いることができる。適切な代替の論理デバイスの例は、特定用途向け集積回路、FPGA、及びデジタル信号処理ユニットを含む。これらの実施形態のうちの幾つかは、更なるレイテンシ短縮のために、完全にハードウェアに基づくことができる。プロセッサ40は、1つ又は複数のネットワークインターフェース及びユニバーサルシリアルバスを含むことができる入力/出力インターフェース50を有する。プロセッサは、ヒューマンマシンインターフェース52、例えば、マウス、キーボード、ディスプレイ等を支援することができる。
図5は、電子メッセージを送信するシステム60の別の実施形態を示す。システム60は、図1(又は図3)の方法のステップを実行するように構成することができる。CPU62(例えば、XEONプロセッサ)が、例えば、市場データ、企業データ、ニュース又は任意の他の適切な刺激データの形をとる刺激データ64を受信するように構成される。CPU62は、システム60のネットワークインターフェースを介して刺激データを受信することができる。CPUは、システム60の永続記憶装置68からCPUにロードされるプログラムを実行し、それにより、刺激データを受信するのに応答して、CPUは、フィールドプログラマブルゲートアレイ74(FPGA)に送信されるトリガー信号70を生成する。FPGAは、例えば、図1又は図3の方法のステップを実行するように構成される。その後、FPGAは、イーサネット(登録商標)又はINFINIBANDのようなネットワーク72を介して、複数のデータパッケージの残り(又は残りメッセージ部分)を送信する。FPGAは、必ずしも全ての実施形態においてではないが、この実施形態では、トリガー信号を受信する前に、電子メッセージ部分(又は複数の代替メッセージ部分)を送信している。
図6は、電子メッセージを送信するシステム80の更に別の実施形態を示す。システム80は、図1(又は図3)の方法のステップを実行するように構成され、そのシステムは、コンピューティングデバイスのための拡張デバイスの形をとる。拡張デバイスは、従来のPCI、ISA、VESA、PCI Express等の任意の標準規格品からなることができる。この実施形態では、拡張デバイスは、パーソナルコンピュータ又はサーバのようなコンピューティングデバイス内の拡張スロットによって収容されるように構成されるPCI Express拡張カードの形をとる。従来のPCI(PCIは周辺構成要素相互接続(Peripheral Component Interconnect)を表し、PCIローカルバス標準規格の一部であり、多くの場合にPCIに短縮される)は、コンピューティングデバイス内にハードウェアデバイスを取り付けるためのコンピュータバスである。別の実施形態では、拡張デバイスは、PCI仕様書において平面デバイスと呼ばれる、マザーボード上にはめ込まれる集積回路の形をとることができる。一般的に、拡張デバイスは任意の適切な形をとることができる。システムの幾つかの実施形態において、PCI−X及びPCI Expressを用いることができる。PCI仕様書はバスの物理的サイズ(回路基板エッジの電気的コンタクトのサイズ及び間隔を含む)、電気的特性、バスタイミング、プロトコルを網羅する。その仕様書はPCI Special Interest Group(PCI−SIG)から購入することができる。
システム80は、FPGA82と、カード86上に取り付けられるポート81を含むネットワークハードウェアとを有する。このカードは、サーバ内のPCI expressスロットによって収容されるように構成されるPCI expressコネクタ88も含み、サーバの一例は、限定はしないが、例えば、Dell R720サーバ、又はパーソナルコンピュータ、又は概ね任意の適切なコンピューティングデバイスを含む。FPGAは、PCI expressコネクタ88を介して、システム80がホストされるコンピュータからトリガー情報を受信することができる。代替的には、FPGA82は、システム80がホストされるコンピュータから刺激データを受信することができ、その場合、刺激データを踏まえて、FPGAが、トリガー情報が生成されるべきであるかを判断する。トリガー情報は、FPGA内のトリガー情報生成モジュール89からFPGA内のメッセージ送信機モジュール90に送信することができる。
FPGA82は、必ずしもそうではないが、一般的には、図1(又は図3)の方法のステップが実行されるように協働する複数のモジュールを備える。図5の実施形態では、モジュールは、少なくとも部分的に、上記のような方法のステップ又はシステムの構成要素に対応する。機能又は構成要素は、コンパートメント化して複数のモジュールにすることもできるし、幾つかのモジュールにわたって断片化することもできる。モジュールは任意の適切なハードウェア記述言語を用いて規定することができ、その言語の例は、限定はしないが、VHDL及びVERILOG、SYSTEMVERILOG、SYSTEM−C及びLABVIEW FPGAアドオンモジュールを含む。
幾つかの実施形態では、FPGAは、直接取り付けられたイーサネット接続を介して注文を送信することができる。イーサネット接続の一例は、限定はしないが、1Gb/sイーサネットを含む。その接続は取引所によって設けられる場合がある。
他の実施形態では、CPU又はFPGAは省くことができ、代わりに、特定用途向け集積回路(ASIC)又はデジタルシグナルプロセッサを用いることができる。特定用途向け集積回路は、特に少ないレイテンシを与えることができる。
上記のように、そのシステムは、ハードウェアにおいて直接実装することができる。これは、ソフトウェアのみの解決策より優れた幾つかの利点を与えることができる。これらの利点は、
・ネットワークパケットが送信される前にハードウェアと最初に通信しなければならないソフトウェアが存在しないので、レイテンシが更に少ないこと、
・パケットの再順序付けを阻止する場合がある従来のオペレーティングシステム上で実行されるソフトウェアでは達成するのが困難であるか、又は不可能である場合がある、任意の順序においてパケットを送信できること、
・極めて少ないレイテンシになるように、例えば、その一例がTTL互換デジタル論理信号であるエッジトリガー信号に、トリガー情報を符号化できること、
を含むことができる。
ハードウェア及びソフトウェアのいずれの実施形態も、トリガーは、メッセージ全体又は注文全体より、短い送信時間を必要とすることができる。
送信例
証券取引所への注文の第1のバイトは以下のTCPヘッダを含むことができる。
・メッセージアプリケーションプログラムインターフェースタイプ又はプロトコル識別子−8バイト−「PROTv1.0」のような定記号列の形をとる。
・メッセージ本体長−6バイト−あらかじめわかっている。
・トランザクションコード(メッセージタイプを識別する)−11バイト−あらかじめわかっている(特定の注文タイプがトリガーされると仮定する)。
・シーケンス番号−11バイト−単に、用いられることになる次のシーケンス番号であるので、あらかじめ計算することができる。
・メンバー番号(注文の発信元、例えば、仲買人を識別する)−5バイト−注文を送信するメンバーの場合に一定。
・受信メンバー番号−10バイト−用いられない。定数として設定される。
・送信メンバー番号−10バイト−用いられない。定数として設定される。
上記の例では、証券取引所メッセージ受信機定義ヘッダは、全部で61バイトである。上記のフィールドの全てを、あらかじめ送信する、すなわち、複数のデータパッケージの残り(又は残りメッセージ部分)を送信する前か、又は作成すらする前に、予備メッセージデータとして送信することができる。
あらかじめ知ることができず、それゆえ、複数のデータパッケージの残り(又は残りメッセージ部分)に含むのに適した、注文メッセージにおいて後に生じる幾つかのフィールドの一例は:
・発行コード−どの特定の商品が注文されるかわからない場合がある。
・注文量−どのくらいの特定の注文が生じるかわからない場合がある。
・注文価格−その商品に対して提案されるか、又は求められる価格がわからない場合がある。
注文送信の最も遅い部分は、遅い、例えば、4Mb/sの伝送路を介しての送信とすることができる。完全な注文を伴うTCPメッセージは382データバイトを有する。イーサネットヘッダサイズは14バイトである。IPヘッダサイズは20バイト(オプションなし)である。TCPヘッダサイズは20バイト(オプションなし)である。それゆえ、1つのTCPメッセージにおいて送信される完全な注文は、382+20+20+14バイトになるであろう。これは全部で436バイトであり、4Mb/s伝送路を介して完全に送信するのに872μsかかる。
標準的なTCP接続を用いて、あらかじめわかっている上記のフィールドを送信する場合には:
・電気メッセージ部分は14+20+20+61バイト=115バイトになり、4Mb/sリンクを介して送信するのに229μsかかる。
・複数のデータパッケージの残りは14+20+20+(382−61)バイト=375バイトになり、4Mb/sリンクを介して送信するのに750μsかかる。
それゆえ、注文メッセージは、電子メッセージ部分と、独立して送信される複数のデータパッケージの残りとに分割されないメッセージより872−750μm=122μsだけ早く、受信機によって完全に受信することができる。
上記の時間計算は、数多くの取引所によって用いられる標準的なレイテンシ記述ごとに説明することができる。注文は、注文メッセージの最後の部分が取引所によって受信されるときに、すなわち、注文が完全に受信されるときに、取引所によって受信されたと見なされる。標準的なレイテンシ記述を用いるとき、1つの実施形態が負のレイテンシを達成することができる。図7を参照すると、一例では:
・t=0μsにおいてトリガーが送信されるとする。
・T1において、トリガーが完全に受信される。これは、t=0後の(全送信時間に対して)わずかな短い時間であり、負のレイテンシを達成すると仮定する。
・それゆえ、872μsの全送信時間を有するパケットの場合(そして、全ての他の遅延が一定か、又は0であると仮定して)、取引所は通常、従来技術による技法を用いて、t=T1+872μsにおいて完全なパケットを受信することになる。
・電子メッセージの一部が電子メッセージ部分として送信されており、複数のデータパケットの残りのための送信時間が750μsまで短縮される場合には、取引所は、t=T1+750μsにおいて完全なパケットを受信することになる。
・T1+750μsは、T1+872μsより122μs前である。−負のレイテンシ方式は、その注文が取引所に直接送信された場合よりも、122μs−T1だけ早く注文パケットの終わりを送達する。
例えば、図3の実施形態を用いて、類似のレイテンシに関する利益を達成できることは理解されよう。
必ずしもそうではないが、一般的に、負のレイテンシ値の大きさは、リンクビット速度が遅くなるのに応じて大きくなる。
本発明の趣旨及び範囲から逸脱することなく、上記の実施形態に対する変更形態及び/又は変更形態を実施することができる。それゆえ、本実施形態は、あらゆる点において、例示と見なされるべきであり、制限と見なされるべきではない。
本明細書において記述される従来技術は、もし記述されていても、それらの従来技術が任意の管轄区域において共通の一般知識の一部を形成することを認めるものと解釈されるべきではない。
添付の特許請求の範囲において、また、本発明の前述の説明において、明確な文言又は必要な示唆により別段に文脈が要求する場合を除き、用語「備える、含む(comprise)」又はその変形形は包括的な意味で、すなわち、本発明の種々の実施形態における更なる特徴の存在又はその追加を排除するためではなく、特徴の存在を特定するために用いられている。

Claims (45)

  1. レイテンシを短縮する方法であって、該方法は、
    電子メッセージを、複数の送信用データパッケージに振り分けるステップであって、前記複数のデータパッケージは電子メッセージ受信機によって予想されるデータパッケージより多くのデータパッケージを有する、振り分けるステップと、
    前記電子メッセージ受信機に、前記複数のデータパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するステップと、
    前記複数のデータパッケージの残りが前記電子メッセージ受信機に送信されることを示す電子トリガー情報を受信するステップと、
    前記電子メッセージ受信機に、前記複数のデータパッケージの残りを送信するステップとを含み、
    前記複数のデータパッケージはそれぞれ、前記複数のデータパッケージのうちの少なくとも1つが受信されるときに、前記電子メッセージ受信機に、前記複数のデータパッケージの残りを受信すること予想して、前記複数のデータパッケージのうちの少なくとも1つを保持させ、その後、前記複数のデータパッケージの残りが受信されたときに、前記複数のデータパッケージを結合するようにフォーマットされる、レイテンシを短縮する方法。
  2. 前記電子メッセージ受信機が、前記メッセージが振り分けられると予想するデータパッケージの量を求めるステップを含む、請求項1に記載の方法。
  3. 前記電子メッセージ部分は、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、及び前記電子メッセージの起点において定義される情報のうちの少なくとも1つを含む、請求項1及び2のいずれか一項に記載の方法。
  4. 前記複数のデータパッケージの残りの中の少なくとも幾つかの情報が、前記電子メッセージ部分を前記電子メッセージ受信機に送信するステップ後に作成される、請求項1〜3のいずれか一項に記載の方法。
  5. 前記複数のデータパッケージのうちの少なくとも1つは伝送制御プロトコル(TCP)セグメントを含む、請求項1〜4のいずれか一項に記載の方法。
  6. 前記複数のデータパッケージの残りは別のTCPセグメントを含む、請求項1〜5のいずれか一項に記載の方法。
  7. 前記別のTCPセグメントは前記TCPセグメントより小さなシーケンス番号を有する、請求項6に記載の方法。
  8. 前記電子メッセージ部分は少なくとも第1のIP(インターネットプロトコル)フラグメントを含む、請求項1〜7のいずれか一項に記載の方法。
  9. 前記複数のデータパッケージの残りは少なくとも第2のIPフラグメントを含む、請求項1〜8のいずれか一項に記載の方法。
  10. 前記電子トリガー情報を受信するステップは、前記複数のデータパッケージの残りがそこから生成される残りメッセージ情報を受信するステップを含む、請求項1〜9のいずれか一項に記載の方法。
  11. 前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む、請求項1〜10のいずれか一項に記載の方法。
  12. 前記電子メッセージ受信機は、電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む、請求項1〜10のいずれか一項に記載の方法。
  13. レイテンシを短縮するシステムであって、該システムは、
    電子メッセージ受信機に、電子メッセージが振り分けられた複数の送信用データパッケージのうちの少なくとも1つを含む電子メッセージ部分を送信するように構成されるメッセージ送信機であって、前記複数のデータパッケージは前記電子メッセージ受信機によって予想されるデータパッケージより多くのデータパッケージを有する、メッセージ送信機と、
    前記複数のデータパッケージの残りが前記電子メッセージ受信機に送信されることを示す電子トリガー情報を受信するように構成される電子トリガー情報受信機であって、前記メッセージ送信機は、前記電子メッセージ受信機に、前記複数のデータパッケージの残りを送信するように構成される、電子トリガー情報受信機と、
    前記複数のデータパッケージのうちの少なくとも1つが受信されるときに、前記電子メッセージ受信機に、前記複数のデータパッケージの残りを受信することを予想して、前記複数のデータパッケージのうちの少なくとも1つを保持させ、その後、前記複数のデータパッケージの残りが受信されると、前記複数のデータパッケージを結合させるように、前記複数のデータパッケージをそれぞれフォーマットするように構成されるデータフォーマッタと、
    を備える、レイテンシを短縮するシステム。
  14. 前記複数のデータパッケージのうちの少なくとも1つを記憶するように構成されるデータ記憶装置を備える、請求項13に記載のシステム。
  15. 前記電子メッセージ受信機が、前記メッセージが振り分けられると予想するデータパッケージの量を求めるように構成される電子メッセージ受信機予想決定器を備える、請求項13及び14のいずれか一項に記載のシステム。
  16. 前記メッセージ送信機は前記電子メッセージ受信機とのTCPセッションを確立するように構成される、請求項13〜15のいずれか一項に記載のシステム。
  17. 前記メッセージ送信機は、前記電子メッセージ部分内にTCPセグメントを含むように、かつ前記複数のデータパッケージの残り内に別のTCPセグメントを含むように構成される、請求項13〜16のいずれか一項に記載の方法。
  18. 前記別のTCPセグメントは前記TCPセグメントより小さなシーケンス番号を有する、請求項17に記載のシステム。
  19. 前記メッセージ送信機は、前記電子メッセージ部分内に少なくとも第1のIPフラグメントを含むように構成される、請求項13〜18のいずれか一項に記載のシステム。
  20. 前記メッセージ送信機は、前記複数のデータパッケージの残り内に少なくとも第2のIPフラグメントを含むように構成される、請求項13〜19のいずれか一項に記載のシステム。
  21. 前記電子トリガー受信機は、前記複数のデータパッケージの残りがそこから生成される残りメッセージ情報を受信するように構成される、請求項13〜20のいずれか一項に記載のシステム。
  22. 前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む、請求項13〜20のいずれか一項に記載のシステム。
  23. 前記電子メッセージ受信機は、電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む、請求項13〜21のいずれか一項に記載のシステム。
  24. レイテンシを短縮する方法であって、該方法は、
    電子メッセージ受信機に、複数の代替メッセージ部分を送信するステップであって、前記代替メッセージ部分はそれぞれ電子メッセージの代替部分である、送信するステップと、
    前記複数の代替メッセージ部分のうちの選択された代替メッセージ部分が完了されることを示す電子トリガー情報を受信するステップと、
    前記電子メッセージ受信機に、前記複数の代替メッセージ部分のうちの前記選択された代替メッセージ部分を補完する残りメッセージ部分を送信するステップと、
    を含む、レイテンシを短縮する方法。
  25. 前記複数の代替メッセージ部分はそれぞれ、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、及び前記電子メッセージの起点において定義される情報のうちの少なくとも1つを含む、請求項24に記載の方法。
  26. 前記残りメッセージ部分内の少なくとも幾つかの情報は、前記複数の代替メッセージ部分を送信するステップ後に作成される、請求項24及び25のいずれか一項に記載の方法。
  27. 前記複数の代替メッセージ部分はそれぞれ、それぞれのIPフラグメントを含み、前記残りメッセージ部分は別のIPフラグメントを含む、請求項24〜26のいずれか一項に記載の方法。
  28. 前記電子トリガー情報を受信するステップは、前記残りメッセージ部分がそこから生成される残りメッセージ情報を受信するステップを含む、請求項24〜27のいずれか一項に記載の方法。
  29. 前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む、請求項24〜28のいずれか一項に記載の方法。
  30. 前記電子メッセージ受信機は電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む、請求項24〜28のいずれか一項に記載の方法。
  31. レイテンシを短縮するシステムであって、該システムは、
    電子メッセージ受信機に、複数の代替メッセージ部分を送信するように構成されるメッセージ送信機であって、前記代替メッセージ部分はそれぞれ電子メッセージの代替部分である、メッセージ送信機と、
    前記複数の代替メッセージ部分のうちの選択された代替メッセージ部分が完了されることを示す電子トリガー情報を受信するように構成される電子トリガー情報受信機と、
    を備え、
    前記メッセージ送信機は、前記電子メッセージ受信機に、前記複数の代替メッセージ部分のうちの前記選択された代替メッセージ部分を補完する残りメッセージ部分を送信するように構成される、レイテンシを短縮するシステム。
  32. 前記複数の代替メッセージ部分を記憶するように構成されるデータ記憶装置を備える、請求項31に記載のシステム。
  33. 前記複数の代替メッセージ部分はそれぞれ、プロトコルヘッダ情報、電子メッセージ受信機定義ヘッダ情報、及び前記電子メッセージの起点において定義される情報のうちの少なくとも1つを含む、請求項31及び32のいずれか一項に記載のシステム。
  34. 前記複数の代替メッセージ部分はそれぞれ、それぞれのIPフラグメントを含み、前記残りメッセージ部分は別のIPフラグメントを含む、請求項31〜33のいずれか一項に記載のシステム。
  35. 前記電子トリガー情報受信機は、前記残りメッセージ部分がそこから生成される残りメッセージ情報を受信するように構成される、請求項31〜34のいずれか一項に記載のシステム。
  36. 前記電子メッセージは、注文を示す電子注文情報、ゲームコマンドを示す電子ゲーム情報、及び賭けを示す電子賭け情報のうちの少なくとも1つを含む、請求項31〜35のいずれか一項に記載のシステム。
  37. 前記電子メッセージ受信機は電子注文受信機であり、前記電子メッセージは、金融商品取引注文、ドメイン名注文、及び電子商取引注文のうちの少なくとも1つを含む電子注文情報を含む、請求項31〜35のいずれか一項に記載のシステム。
  38. レイテンシを短縮する方法であって、該方法は、
    電子メッセージ受信機に、電子メッセージの未完了部分を示す予備メッセージデータを送信するステップと、
    前記電子メッセージの残りを示す残りメッセージデータが送信されることを示す電子トリガー情報を受信するステップと、
    前記電子トリガー情報を受信するのに応答して、前記電子メッセージ受信機に前記残りメッセージデータを送信するステップと、
    を含み、
    前記送信された予備メッセージデータ及び前記送信された残りメッセージデータは、前記電子メッセージ受信機に、前記残りメッセージデータを受信するまで前記予備メッセージデータを保持させ、その後、前記予備メッセージデータ及び前記残りメッセージデータを結合させるようにフォーマットされる、レイテンシを短縮する方法。
  39. レイテンシを短縮するシステムであって、該システムは、
    電子メッセージ受信機に、電子メッセージの未完了部分を示す予備メッセージデータを送信するように構成されるメッセージ送信機と、
    電子トリガー情報を受信するように構成される電子トリガー情報受信機であって、
    前記メッセージ送信機は、前記電子トリガー情報を受信するのに応答して、前記電子メッセージ受信機に残りメッセージデータを送信するように更に構成され、前記残りメッセージデータは前記電子メッセージの残りを示す、電子トリガー情報受信機と、
    前記電子メッセージ受信機に、前記残りメッセージデータを受信するまで前記予備メッセージデータを保持させ、その後、前記予備メッセージデータ及び前記残りメッセージデータを結合させるように、前記予備メッセージデータ及び前記残りメッセージデータをフォーマットするように構成されるデータフォーマッタと、
    を備える、レイテンシを短縮するシステム。
  40. プロセッサによって実行されるときに、前記プロセッサに請求項1〜12のいずれか一項に記載の方法を実行させるプログラム命令を含む、プロセッサ可読有形媒体。
  41. プロセッサによって実行されるときに、前記プロセッサに請求項1〜12のいずれか一項に記載の方法を実行させる、プロセッサに指示するためのコンピュータプログラム。
  42. プロセッサによって実行されるときに、前記プロセッサに請求項24〜30のいずれか一項に記載の方法を実行させるプログラム命令を含む、プロセッサ可読有形媒体。
  43. プロセッサによって実行されるときに、前記プロセッサに請求項24〜30のいずれか一項に記載の方法を実行させる、プロセッサに指示するためのコンピュータプログラム。
  44. プロセッサによって実行されるときに、前記プロセッサに請求項39に記載の方法を実行させるプログラム命令を含む、プロセッサ可読有形媒体。
  45. プロセッサによって実行されるときに、前記プロセッサに請求項39に記載の方法を実行させる、プロセッサに指示するためのコンピュータプログラム。
JP2014561230A 2012-03-12 2012-05-04 電子メッセージを送信する方法及びシステム Pending JP2015520528A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2012900980 2012-03-12
AU2012900980A AU2012900980A0 (en) 2012-03-12 A method and a system for sending an electronic message
PCT/AU2012/000485 WO2013134811A1 (en) 2012-03-12 2012-05-04 A method and a system for sending an electronic message

Publications (1)

Publication Number Publication Date
JP2015520528A true JP2015520528A (ja) 2015-07-16

Family

ID=49160139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014561230A Pending JP2015520528A (ja) 2012-03-12 2012-05-04 電子メッセージを送信する方法及びシステム

Country Status (5)

Country Link
US (1) US20140379553A1 (ja)
JP (1) JP2015520528A (ja)
KR (1) KR20140143766A (ja)
AU (1) AU2012373189A1 (ja)
WO (1) WO2013134811A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160197669A1 (en) 2014-12-11 2016-07-07 Tesla Wireless Company LLC Communication method and system that uses low latency/low data bandwidth and high latency/high data bandwidth pathways
US9496987B2 (en) * 2014-12-11 2016-11-15 International Business Machines Corporation Method for redelivering a subset of messages in a packet to a receiver application
CN107833139B (zh) * 2017-11-23 2021-08-24 深圳壹账通智能科技有限公司 交易数据处理方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146714A1 (en) * 2004-12-30 2006-07-06 Harris John M Apparatus for transmitting data packets and supporting method and data structure
JP2009157786A (ja) * 2007-12-27 2009-07-16 Hitachi Ltd メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
JP2012043307A (ja) * 2010-08-20 2012-03-01 Toshiba Corp 証券売買システム及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688727B1 (en) * 2000-04-17 2010-03-30 Juniper Networks, Inc. Filtering and route lookup in a switching device
US8054752B2 (en) * 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US8549204B2 (en) * 2010-02-25 2013-10-01 Fresco Logic, Inc. Method and apparatus for scheduling transactions in a multi-speed bus environment
US20120054583A1 (en) * 2010-08-27 2012-03-01 Raytheon Company Method and system of sub-packet error correction
US8996644B2 (en) * 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146714A1 (en) * 2004-12-30 2006-07-06 Harris John M Apparatus for transmitting data packets and supporting method and data structure
JP2009157786A (ja) * 2007-12-27 2009-07-16 Hitachi Ltd メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
JP2012043307A (ja) * 2010-08-20 2012-03-01 Toshiba Corp 証券売買システム及び装置

Also Published As

Publication number Publication date
KR20140143766A (ko) 2014-12-17
US20140379553A1 (en) 2014-12-25
AU2012373189A1 (en) 2014-10-30
WO2013134811A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
KR101711675B1 (ko) 개선된 자동 거래 시스템
US10467698B2 (en) System and method for delaying an executable instruction that would otherwise be executable immediately upon arrival at an executing system
CN113874848A (zh) 用于促进网络接口控制器(nic)中对加速器的操作管理的系统和方法
EP3159803B1 (en) Data storage method and network interface card
US10719875B2 (en) System and method for controlling execution of transactions
JP2015520528A (ja) 電子メッセージを送信する方法及びシステム
US11562427B2 (en) Customizable macro-based order entry protocol and system
US11765095B2 (en) System and a method for controlling timing of processing network data
US20210272197A1 (en) On-demand auction
CN114328731A (zh) 信息处理方法、装置、电子设备和存储介质
US20230051532A1 (en) Pipelined credit checking
US20230316399A1 (en) Electronic Trading System and Method based on Point-to-Point Mesh Architecture
CN113079110A (zh) 消息处理方法、装置、设备、存储介质及程序产品
US8630174B1 (en) System and method for post shaping TCP packetization
CN116112197A (zh) 认证信息传输方法、认证信息传输系统、存储介质和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161220