JP6498234B2 - Program-to-program communication using messages related to exchange events and actions - Google Patents

Program-to-program communication using messages related to exchange events and actions Download PDF

Info

Publication number
JP6498234B2
JP6498234B2 JP2017094533A JP2017094533A JP6498234B2 JP 6498234 B2 JP6498234 B2 JP 6498234B2 JP 2017094533 A JP2017094533 A JP 2017094533A JP 2017094533 A JP2017094533 A JP 2017094533A JP 6498234 B2 JP6498234 B2 JP 6498234B2
Authority
JP
Japan
Prior art keywords
order
instruction
event
queue
matching engine
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.)
Active
Application number
JP2017094533A
Other languages
Japanese (ja)
Other versions
JP2017152047A (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 US12/399,570 external-priority patent/US10380689B2/en
Priority claimed from US12/406,260 external-priority patent/US10453130B2/en
Application filed by ビージーシー パートナーズ インコーポレイテッド, ビージーシー パートナーズ インコーポレイテッド filed Critical ビージーシー パートナーズ インコーポレイテッド
Publication of JP2017152047A publication Critical patent/JP2017152047A/en
Application granted granted Critical
Publication of JP6498234B2 publication Critical patent/JP6498234B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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

Description

本発明は、取引所のイベントおよび動作に関連するメッセージを使用するプログラム間通信に関する。   The present invention relates to inter-program communication using messages related to exchange events and operations.

いくつかの実施形態での取引に関わり得る例示的なエンティティセットを示す。FIG. 4 illustrates an exemplary set of entities that may be involved in a transaction in some embodiments. いくつかの実施形態において使用し得る交換の例を示す。Fig. 4 shows an example of an exchange that may be used in some embodiments. いくつかの実施形態において使用し得る交換の別の例を示す。Fig. 4 illustrates another example of an exchange that may be used in some embodiments. いくつかの実施形態において使用し得るさらに別の例を示す。Figure 7 shows yet another example that may be used in some embodiments. いくつかの実施形態において実行し得る方法の例を示す。Fig. 4 illustrates an example of a method that may be performed in some embodiments. いくつかの実施形態において実行し得る方法の別の例を示す。Fig. 4 illustrates another example of a method that may be performed in some embodiments. いくつかの実施形態において実行し得る方法の別の例を示す。Fig. 4 illustrates another example of a method that may be performed in some embodiments. いくつかの実施形態において実行し得る方法の別の例を示す。Fig. 4 illustrates another example of a method that may be performed in some embodiments. いくつかの実施形態において実行し得る方法の別の例を示す。Fig. 4 illustrates another example of a method that may be performed in some embodiments.

以下の第I章〜第X章において、本願を解釈するための指針を提供する。   The following chapters I to X provide guidance for interpreting the present application.

I.用語
用語「製品」は、別途明記されない限り、任意の機械、製造物、および/または物質の合成物を意味する。
I. The term “product” means any machine, product, and / or composition of matter, unless otherwise specified.

用語「プロセス」は、別途明記されない限り、任意のプロセス、アルゴリズム、方法等を意味する。   The term “process” means any process, algorithm, method, or the like, unless otherwise specified.

各プロセスは(方法でも、アルゴリズムでも、他の名称のものでも)本質的に、1つまたは複数のステップを含み、したがって、プロセスの「ステップ」または「複数のステップ」というすべての言及は本質的に、用語「プロセス」または同様語の単なる記載において先行記述を有する。したがって、請求項中のプロセスの「ステップ」または「複数のステップ」といういかなる言及も十分な先行記述を有する。   Each process (whether method, algorithm, or other name) inherently includes one or more steps, so all references to “steps” or “multiple steps” of a process are essential. Have the preceding description in the mere description of the term “process” or like terms. Accordingly, any reference to “a step” or “a plurality of steps” of a process in the claims has a sufficient preceding description.

用語「発明」および同様語は、別途明記されない限り、「本願において開示される1つまたは複数の発明」を意味する。   The term “invention” and like terms mean “one or more inventions disclosed in this application”, unless expressly stated otherwise.

用語「実施形態(an embodiment,embodiment,embodiments,the embodiment,the embodiments)」、「1つまたは複数の実施形態」、「いくつかの実施形態」、「特定の実施形態」、「一実施形態」、「別の実施形態」等は、別途明記されない限り、「開示される発明の(すべてではないが)1つまたは複数の実施形態」を意味する。   The terms “an embodiment, embodiment, embodiments, the embodiment, the emblems”, “one or more embodiments”, “some embodiments”, “specific embodiments”, “one embodiment” , "Another embodiment", etc., mean "one or more embodiments (but not all) of the disclosed invention" unless stated otherwise.

発明の「変形」という用語は、別途明記されない限り、本発明の実施形態を意味する。   The term “variation” of an invention means an embodiment of the invention, unless expressly specified otherwise.

実施形態を説明するに当たっての「別の実施形態」の言及は、別途明記されない限り、言及される実施形態が別の実施形態(例えば、言及される実施形態の前に説明された実施形態)と相互に排他的であることを示唆しない。   In describing embodiments, references to “another embodiment” refer to an embodiment that is referred to another embodiment (eg, an embodiment described before the referenced embodiment), unless explicitly stated otherwise. Do not suggest that they are mutually exclusive.

用語「含む」、「備える」、およびそれらの変形は、別途明記されない限り、「を含むが、それ(ら)に限定されない」を意味する。   The terms “including”, “comprising”, and variations thereof mean “including but not limited to”, unless expressly specified otherwise.

用語「a」、「an」、および「the」は、別途明記されない限り、「1つまたは複数」を意味する。   The terms “a”, “an”, and “the” mean “one or more” unless stated otherwise.

用語「複数」は、別途明記されない限り、「2つ以上」を意味する。   The term “plurality” means “two or more”, unless expressly specified otherwise.

用語「本明細書では」は、別途明記されない限り、「参照により援用し得るあらゆるものを含め、本願において」を意味する。   The term “herein” means “in this application, including anything that may be incorporated by reference”, unless expressly specified otherwise.

語句「のうちの少なくとも1つ」は、複数の物事(物事の列挙リスト等)を修飾する場合、別途明記されない限り、それらの物事のうちの1つまたは複数の任意の組み合わせを意味する。例えば、語句「ウィジェット、車、および車輪のうちの少なくとも1つ」は、(i)ウィジェット、(ii)車、(iii)車輪、(iv)ウィジェットおよび車、(v)ウィジェットおよび車輪、(vi)車および車輪、または(vii)ウィジェット、車、および車輪のいずれかを意味する。語句「のうちの少なくとも1つ」は、複数の物事を修飾する場合、それら複数の物事の「それぞれ1つ」を意味しない。   The phrase “at least one of” means that when modifying a plurality of things (such as an enumerated list of things), unless otherwise specified, any combination of one or more of those things. For example, the phrase “at least one of a widget, a car, and a wheel” includes (i) a widget, (ii) a car, (iii) a wheel, (iv) a widget and a car, (v) a widget and a wheel, (vi ) Means either car and wheel, or (vii) widget, car and wheel. The phrase “at least one of” does not mean “one each” of the plurality of things when modifying the plurality of things.

「1つ」、「2つ」等の数字は、何かの数量を示す基数として使用される場合(例えば、1つのウィジェット、2つのウィジェット)、その数字により示される数量を意味するが、少なくともその数字により示される数量を意味しない。例えば、語句「1つのウィジェット」は「少なくとも1つのウィジェット」を意味せず、したがって、語句「1つのウィジェット」は、例えば、2つのウィジェットを含意しない。   A number such as “one”, “two”, etc., when used as a radix indicating some quantity (eg, one widget, two widgets) means the quantity indicated by that number, but at least It does not mean the quantity indicated by the number. For example, the phrase “one widget” does not mean “at least one widget”, and thus the phrase “one widget” does not imply, for example, two widgets.

語句「に基づく」は、別途明記されない限り、「のみに基づく」を意味しない。換言すれば、語句「に基づく」は、「のみに基づく」および「少なくとも〜に基づく」の両方を説明する。語句「少なくとも〜に基づく」は、語句「少なくとも部分的に〜に基づく」と同等である。   The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.” The phrase “based at least on” is equivalent to the phrase “based at least in part on”.

用語「表す」および同様語は、別途明記されない限り、排他的ではない。例えば、用語「表す」は、別途明記されない限り、「のみを表す」を意味しない。換言すれば、語句「データはクレジットカード番号を表す」は、「データはクレジットカード番号のみを表す」および「データはクレジットカード番号を表すと共に、他の何かも表す」の両方を説明する。   The terms “represent” and like terms are not exclusive, unless expressly specified otherwise. For example, the term “represents” does not mean “represents only”, unless expressly specified otherwise. In other words, the phrase “data represents a credit card number” describes both “data represents only a credit card number” and “data represents a credit card number and represents something else”.

用語「それにより」は、本明細書では、意図する結果、目的、またはすでに明示された何かの帰結のみを表現する文節または他の言葉の集まりにのみ前置して使用される。したがって、用語「それにより」が請求項中に使用される場合、用語「それにより」が修飾する文節または他の複数の言葉は、その請求項の特定のさらなる限定を確立せず、またはその請求項の意味もしくは範囲を他の様式で制限しない。   The term “accordingly” is used herein only in front of a phrase or collection of other words that express only the intended result, purpose, or consequence of something already specified. Thus, when the term “accordingly” is used in a claim, the clause or other words that the term “accordingly” modifies does not establish certain further limitations of the claim, or the claim Does not limit the meaning or scope of the terms in any other manner.

用語「例えば(e.g.)」および同様語は、「例えば(for example)」を意味し、したがって、説明する用語または語句を限定しない。例えば、文章「コンピュータはインターネットを介してデータ(例えば(e.g.)、命令、データ構造)を送信する」において、用語「例えば(e.g.)」は、「命令」が、コンピュータがインターネットを介して送信し得る「データ」の一例であることを説明すると共に、「データ構造」が、コンピュータがインターネットを介して送信し得る「データ」の一例であることも説明する。しかし、「命令」および「データ構造」は両方とも「データ」の単なる例であり、「命令」および「データ構造」以外の他のものも「データ」であり得る。   The term “eg (eg)” and like terms means “for example” and thus does not limit the term or phrase being described. For example, in the sentence “the computer sends data (eg (eg), instructions, data structure) via the Internet”, the term “eg (eg)” means that the “command” It is described that “data” is an example of “data” that can be transmitted via the Internet, and that “data structure” is an example of “data” that can be transmitted by the computer via the Internet. However, both “instructions” and “data structures” are merely examples of “data”, and anything other than “instructions” and “data structures” can also be “data”.

用語「それぞれ」および同様語は、「個々に解釈される」を意味する。したがって、2つ以上の物事が「それぞれ」の特徴を有する場合、そのような物事のそれぞれがそれ自体の特徴を有し、それらの特徴は互いに異なり得るが、必ずしも互いに異なることが必要とされる訳ではない。例えば、語句「2つの各機械がそれぞれの機能を有する」は、第1のそのような機械がある機能を有し、第2のそのような機械も同様にある機能を有することを意味する。第1の機械の機能は、第2の機械の機能と同じであってもよく、または同じでなくてもよい。   The terms “respectively” and like terms mean “interpreted individually”. Thus, if two or more things have “respective” characteristics, each such thing has its own characteristics, which may be different from each other, but are necessarily required to be different from each other. Not a translation. For example, the phrase “each of two machines has a respective function” means that a first such machine has a function, and a second such machine has a function as well. The function of the first machine may or may not be the same as the function of the second machine.

用語「すなわち(i.e.)」および同様語は、「すなわち(that is)」を意味し、したがって、説明する用語または語句を限定する。例えば、文章「コンピュータはインターネットを介してデータ(すなわち(i.e.)、命令)を送信する」において、用語「すなわち(i.e.)」は、「命令」が、コンピュータがインターネットを介して送信する「データ」であることを説明する。   The term “i.e.” and like terms mean “that is”, and thus limits the term or phrase being described. For example, in the sentence “the computer sends data (ie (ie), instructions) over the Internet”, the term “ie (ie)” means that the “instructions” The “data” to be transmitted will be described.

いかなる所与の数値範囲も、その範囲内の整数および小数を含むべきである。例えば、範囲「1〜10」は、特に1〜10の整数(例えば、1、2、3、4、・・・、9)および非整数(例えば、1.1、1.2、・・・、1.9)を含むものと解釈すべきである。   Any given numerical range should include integers and decimals within that range. For example, the range “1-10” is particularly an integer of 1-10 (eg, 1, 2, 3, 4,..., 9) and a non-integer (eg, 1.1, 1.2,...). 1.9).

2つ以上の用語または語句が同義の場合(例えば、用語または語句が同義であると明記されるため)、1つのそのような用語/語句のインスタンスは、別のそのような用語/語句が別の意味を有さなければならないことを意味しない。例えば、文章により、「含む」の意味が「含むが、それ(ら)に限定されない」と同義であると示される場合、語句「含むが、それ(ら)に限定されない」を単に用いることは、用語「含む」が、「含むが、それ(ら)に限定されない」以外の何かを意味することを意味しない。   When two or more terms or phrases are synonymous (for example, because a term or phrase is specified as synonymous), one such term / phrase instance is distinct from another such term / phrase Doesn't mean you have to have a meaning. For example, if a sentence indicates that the meaning of "includes" is synonymous with "includes but is not limited to it", simply using the phrase "including but not limited to" The term “including” is not meant to mean anything other than “including but not limited to”.

II.決定(Determining)
用語「決定(determining)」およびその文法上の変形(例えば、価格を決定する、価値を決定する、特定の基準に合致する対象を決定する)は、極めて広い意味で使用される。用語「決定」は、広範囲にわたる動作を包含し、したがって、「決定」は、算出、計算、処理、導出、調査、参照(例えば、テーブル、データベースまたは他のデータ構造の参照)、確認等を含み得る。「決定」は、受信(例えば、情報を受信する)、アクセス(例えば、メモリ内のデータにアクセスする)等も含み得る。さらに、「決定」は、解決、選択、選定、確立等を含み得る。
II. Determining
The term “determining” and its grammatical variants (eg, determining price, determining value, determining what meets certain criteria) are used in a very broad sense. The term “determination” encompasses a wide range of actions, and thus “determination” includes calculation, calculation, processing, derivation, examination, reference (eg, reference to a table, database or other data structure), confirmation, etc. obtain. “Determining” can also include receiving (eg, receiving information), accessing (eg, accessing data in a memory) and the like. Further, “determining” may include resolving, selecting, selecting, establishing and the like.

用語「決定」は、確実性または絶対的な精度を示唆するものではなく、したがって、「決定」は、推定、外挿、予測、推測等を含み得る。   The term “decision” does not imply certainty or absolute accuracy, and thus “determination” may include estimation, extrapolation, prediction, inference, and the like.

用語「決定」は、数学的処理を行わなければならないことを示唆するものではなく、数値手法を使用しなければならないことを示唆するものではなく、アルゴリズムまたはプロセスが使用されることを示唆するものではない。   The term “decision” does not imply that mathematical processing must be performed, it does not imply that numerical methods must be used, but suggests that an algorithm or process is used is not.

用語「決定」は、特定の装置を用いなければならないことを示唆するものではない。例えば、必ずしもコンピュータが決定を行わなくてもよい。   The term “determining” does not imply that a particular device must be used. For example, the computer does not necessarily have to make a decision.

III.文の形式
第1の請求項の限定が、1つの特徴および2つ以上の特徴を包含し(例えば、「少なくとも1つのウィジェット」等の限定は、1つのウィジェットならびに2つ以上のウィジェットを包含する)、第1の請求項に従属する第2の請求項で、第2の請求項が、定冠詞「前記(the)」を使用して限定を表す場合(例えば、「前記ウィジェット(the widget)」)、これは、第1の請求項が、1つのみの特徴を包含することを示唆するものではなく、第2の請求項が、1つのみの特徴を包含することを示唆するものでない(例えば、「前記ウィジェット」は、1つのウィジェットおよび2つ以上のウィジェットの両方を包含し得る)。
III. Sentence Form A limitation of the first claim encompasses one feature and more than one feature (eg, a limitation such as “at least one widget” encompasses one widget and more than one widget) ), In a second claim subordinate to the first claim, where the second claim represents a limitation using the definite article “the” (eg, “the widget”). ), Which does not imply that the first claim encompasses only one feature, and does not imply that the second claim encompasses only one feature ( For example, “the widget” may include both one widget and two or more widgets).

序数(「第1の」、「第2の」、「第3の」等)を、用語の前の形容詞として使用する場合、その序数は、(別途明記されない限り)同じ用語または同様の用語で記載される別の特徴とその特定の特徴とを区別するためなど、特定の特徴を示すために使用されるに過ぎない。例えば、「第1のウィジェット」は、例えば、「第2のウィジェット」と区別するためにそのように命名されているに過ぎないことがある。したがって、用語「ウィジェット」の前に序数「第1の」および「第2の」を単に使用することは、2つのウィジェット間の何らかの関係を示すものではなく、同様に、一方または両方のウィジェットの何れかの他の特性を示すものでない。例えば、用語「ウィジェット」の前に序数「第1の」および「第2の」を単に使用することは、(1)順序および場所においてウィジェットが他のものの前に来るか後に来るかを示すものではなく、(2)時間上、他のものの前または後にウィジェットが発生または動作する旨を示すものではなく、(3)何れかのウィジェットが重要度または品質において、他のものの上または下にランク付けされることを示すものでない。さらに、単に序数を使用することは、序数によって識別される特徴に対する数値限度を定義するものでない。例えば、序数「第1の」および「第2の」を用語「ウィジェット」の前に単に使用することは、3つ以上のウィジェットが存在してはならないことを示すものでない。   When an ordinal number ("first", "second", "third", etc.) is used as an adjective before a term, the ordinal number is the same or similar term (unless otherwise stated) It is only used to indicate a particular feature, such as to distinguish another feature that is described from that particular feature. For example, a “first widget” may only be so named to distinguish it from, for example, a “second widget”. Thus, simply using the ordinal numbers “first” and “second” before the term “widget” does not indicate any relationship between the two widgets, and similarly, for one or both widgets. It does not exhibit any other characteristics. For example, simply using the ordinal numbers "first" and "second" before the term "widget" indicates (1) whether the widget comes before or after others in order and place Rather, (2) does not indicate that a widget will occur or operate over time, before or after another, and (3) any widget ranks above or below others in importance or quality It does not indicate that it is attached. Furthermore, simply using ordinal numbers does not define numerical limits on features identified by ordinal numbers. For example, simply using the ordinal numbers “first” and “second” before the term “widget” does not indicate that there must be no more than two widgets.

単一の装置、物、または他の製品が本明細書に記載される場合、代替として、2つ以上の装置/物(協働するか否かに関わらず)を、記載された単一の装置/物の代わりに使用し得る。したがって、装置が保有しているものとして記載された機能は、代替的として、2つ以上の装置/物(協働するか否かに関わらず)が保有してもよい。   Where a single device, article, or other product is described herein, alternatively, two or more devices / things (whether or not they work together) Can be used instead of device / object. Thus, a function described as possessed by a device may alternatively be possessed by more than one device / thing (whether or not they cooperate).

同様に、2つ以上の装置、物、または他の製品が本明細書に記載される場合(協働するか否かに関わらず)、代替として、単一の装置/物を、記載された2つ以上の装置または物の代わりに使用し得る。例えば、複数のコンピュータベースの装置を、単一のコンピュータベースの装置で置換し得る。したがって、2つ以上の装置または物が保有するものとして記載された様々な機能は、代替的として、単一の装置/物により保有してもよい。   Similarly, where two or more devices, objects, or other products are described herein (whether or not they work together), alternatively, a single device / object is described. It can be used in place of two or more devices or objects. For example, multiple computer-based devices may be replaced with a single computer-based device. Accordingly, various functions described as possessed by two or more devices or objects may alternatively be retained by a single device / object.

記載される単一の装置の機能および/または特徴は、代替的として、記載されているが、このような機能/特徴を有するものとして明記されていない1つまたは複数の他の装置により具現してもよい。したがって、他の実施形態は、記載された装置自体を含む必要がなく、むしろ、それら他の実施形態ではそのような機能/特徴を有する1つまたは複数の他の装置を含むことができる。   The functions and / or features of a single device described may alternatively be embodied by one or more other devices that have been described but are not explicitly described as having such functions / features. May be. Thus, other embodiments need not include the described device itself, but rather may include one or more other devices having such functionality / features in those other embodiments.

IV.開示される例および用語は非限定的
開示される本発明の範囲は、任意の請求項の意味を解釈する際または任意の請求項の範囲を限定する際に使用されるべきであるため、名称(本願の最初のページの冒頭に記されている)も要約書(本願の末尾に記される)も、決して開示された発明の範囲を限定するものとして解釈されないものとする。要約書は、特許規則37C.F.R.§1.72(b)で要求されているため、本願に含まれているに過ぎない。
IV. The disclosed examples and terms are not limiting The disclosed scope of the invention should be used in interpreting the meaning of any claim or in limiting the scope of any claim. Neither the abstract (at the beginning of the first page of this application) nor the abstract (at the end of this application) shall be construed as limiting the scope of the disclosed invention in any way. The abstract contains 37 C.C. F. R. Since it is required by §1.72 (b), it is only included in the present application.

本願の名称、および本願において提供される章の見出しは便宜上のものに過ぎず、決して本開示を限定するものとして解釈されるべきでない。   The name of this application and the section headings provided herein are for convenience only and are not to be construed as limiting the disclosure in any way.

多くの実施形態が本願に記載されており、これらの実施形態は単に例示の目的で提示されている。記載される実施形態は、いかなる意味でも限定的ではなく、限定的であることを意図するものでもない。本願に開示した発明は、本開示から容易に分かるように多くの実施形態に広く適用可能である。開示される発明は、構造的変更、論理的変更、ソフトウェアの変更、電気的変更等の様々な変更および改変を伴って実施することができることを当業者は認識するであろう。開示される発明の特定の特徴は、1つまたは複数の特定の実施形態および/または図面を参照して説明され得るが、このような特徴は、別途明記されない限り、参照して説明されている1つまたは複数の特定の実施形態または添付図面での使用に限定されないことを理解されたい。   Many embodiments have been described herein and these embodiments are presented for purposes of illustration only. The described embodiments are not limiting in any way and are not intended to be limiting. The invention disclosed in the present application is widely applicable to many embodiments as can be easily understood from the present disclosure. Those skilled in the art will recognize that the disclosed invention can be practiced with various changes and modifications, such as structural changes, logical changes, software changes, electrical changes, and the like. Certain features of the disclosed invention may be described with reference to one or more specific embodiments and / or drawings, but such features are described with reference to, unless expressly stated otherwise. It should be understood that the invention is not limited to use with one or more particular embodiments or accompanying drawings.

実施形態は、いくつかの特徴を含むものとして開示され得るが、本発明の他の実施形態は、そのようなすべての特徴よりも少数の特徴を含んでもよい。したがって、例えば、請求項が、開示される実施形態における複数の全体集合よりも少数の特徴を対象としてもよく、そのような請求項は、その請求項が明示的に列挙する特徴を超える特徴を含まない。   While embodiments may be disclosed as including some features, other embodiments of the invention may include fewer features than all such features. Thus, for example, a claim may be directed to fewer features than the plurality of whole sets in the disclosed embodiments, and such claims may exceed features that the claims explicitly list. Not included.

本願に記載した方法のステップまたは製品の要素の実施形態の何れも、本明細書または特許請求の範囲で明記されていない限り、請求項に記載の本発明を構成するものではなく、または請求項に記載の発明に必須ではなく、または請求項に記載の発明と同一の広がりを持たない。   None of the method steps or product element embodiments described in this application constitute or constitute the claimed invention, unless explicitly stated in this specification or the claims. It is not essential to the invention described in the above, or does not have the same spread as the invention described in the claims.

請求項の前文は、請求項に記載の発明の目的、利益、および実施可能な用途を記載しているに過ぎず、請求項に記載の発明を限定しない。   The preamble of a claim merely describes the purpose, benefit and possible use of the claimed invention and does not limit the claimed invention.

本開示は、本発明のすべての実施形態の完全な説明でない。本開示は、すべての実施形態に存在していなければならない本発明の特徴の一覧でもない。   This disclosure is not a complete description of all embodiments of the invention. This disclosure is also not a list of features of the invention that must be present in all embodiments.

開示されるすべての実施形態は、必ずしも請求項に包含される必要はない(係属中の請求項、補正請求項、発行された請求項、およびキャンセルされた請求項のすべてを含めても)。さらに、実施形態をいくつかの請求項に包含してもよい(しかし、必ずしもそうする必要はない)。したがって、請求項(係属中の請求項、補正請求項、発行された請求項、またはキャンセルされた請求項の如何に関わらず)が、特定の実施形態を対象とする場合、そのようなことは、他の請求項の範囲がその実施形態を包含しないことの証拠ではない。   All disclosed embodiments need not be encompassed by the claims (including all pending, amended, issued, and canceled claims). Further, embodiments may be included in some claims (but not necessarily so). Thus, if a claim (whether pending, amended, issued, or canceled) is directed to a particular embodiment, such is the case It is not proof that the scope of other claims does not encompass that embodiment.

互いに通信するものとして記載された装置は、別途明記されない限り、常に互いに通信していなくてはいけない訳でない。逆に、そのような装置は、必要または所望に応じてのみ互いに伝送する必要があり、実際には、大半の時間にデータの交換を控え得る。例えば、インターネットを介して別の機械と通信する機械は、長期間にわたり、他の機械にデータを送信しないことがある(例えば、一度に何週間も)。さらに、互いに通信する装置は、直接的に、または1つまたは複数の中間体を介して間接的に通信し得る。   Devices that are described as communicating with each other do not necessarily have to communicate with each other unless otherwise specified. Conversely, such devices need only transmit to each other as needed or desired, and may actually refrain from exchanging data for most of the time. For example, a machine that communicates with another machine over the Internet may not send data to the other machine for an extended period of time (eg, weeks at a time). Furthermore, devices that communicate with each other may communicate directly or indirectly via one or more intermediates.

いくつかの構成要素または特徴を有する実施形態の説明は、そのような構成要素/特徴のすべてまたは何れかが必要であることを示唆するものでない。逆に、本発明の広範囲の実施可能な実施形態を例示するために様々な任意選択の構成要素を説明する。別途明記されない限り、構成要素/特徴は必須ではなく、または要求されるものではない。   The description of embodiments having several components or features does not imply that all or any such components / features are required. Conversely, various optional components are described to illustrate a wide range of possible embodiments of the invention. Unless otherwise stated, the components / features are not essential or required.

プロセスステップまたはアルゴリズム等は、特定の順序で明細書または特許請求の範囲に記載され得るが、そのようなプロセスは、異なる順序で実施するように構成し得る。換言すれば、明細書または特許請求の範囲に明示的に記載され得るステップの任意の順番または順序は、必ずしもステップをその順序で行う旨の要件を示している訳でない。本明細書に記載のプロセスのステップは、実施可能な任意の順序で実施し得る。さらに、ステップによっては、同時に実施されないとして記載または示唆されている(例えば、一方のステップが他方のステップの後に記載されているため)にも関わらず、同時に実施し得るものがある。さらに、添付図面に表されるプロセスの例示は、例示されたプロセスが、それに対する他の変形および変更を排除することを示唆せず、例示されたプロセスまたはそのステップの何れかが本発明に必要であることを示唆せず、例示されたプロセスが好ましいことを示唆しない。   Although process steps or algorithms may be described in the specification or the claims in a specific order, such processes may be configured to be performed in a different order. In other words, any order or order of steps that may be explicitly set forth in the specification or claims does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order possible. Further, some steps may be performed simultaneously, even though they are described or suggested as not being performed at the same time (eg, because one step is described after the other step). Further, the illustrated process illustrated in the accompanying drawings does not suggest that the illustrated process excludes other variations and modifications thereto, and that the illustrated process or any of its steps is required for the present invention. Does not suggest that the illustrated process is preferred.

プロセスは、複数のステップを含むものとして説明され得るが、これは、ステップのすべてまたは何れかが、好適であるか、必須であるか、または必要であることを示唆しない。記載の発明の範囲内の様々な他の実施形態は、記載のステップのいくつかまたはすべてを割愛した他のプロセスを含む。別途明記されない限り、ステップは何れも必須ではなく、または要求されるものではない。   Although the process may be described as including multiple steps, this does not imply that all or any of the steps are preferred, essential or necessary. Various other embodiments within the scope of the described invention include other processes that omit some or all of the described steps. Unless otherwise specified, no step is required or required.

プロセスは、単独で、すなわち他の製品もしくは方法を参照せずに説明され得るが、実施形態では、プロセスは他の製品または方法と相互作用し得る。例えば、そのような相互作用は、あるビジネスモデルを別のビジネスモデルにリンクさせることを含み得る。そのような相互作用は、プロセスの柔軟性または望ましさを向上させるために提供し得る。   Although the process may be described alone, i.e. without reference to other products or methods, in embodiments, the process may interact with other products or methods. For example, such an interaction may include linking one business model to another business model. Such interactions can be provided to improve process flexibility or desirability.

製品は、複数の構成要素、態様、品質、特性、および/または特徴を含むものとして説明され得るが、それは、この複数のもののうちの任意またはすべてが好適であるか、必須であるか、または必要である旨を示すものでない。記載の発明の範囲内の様々な他の実施形態は、複数と記載されるもののうちのいくつかまたはすべてを割愛した他の製品を含む。   A product may be described as including a plurality of components, aspects, qualities, characteristics, and / or features, whether any or all of the plurality is preferred, essential, or It does not indicate that it is necessary. Various other embodiments within the scope of the described invention (s) include other products that omit some or all of what is described as multiple.

(付番されていてもいなくてもよい)列挙された項目リストは、別途明記されない限り、任意またはすべての項目が相互に排他的であることを示唆するものでない。同様に、(付番されていてもいなくてもよい)列挙された項目リストは、別途明記されない限り、任意またはすべての項目が、任意のカテゴリを包含することを示唆するものでない。例えば、「コンピュータ、ラップトップ、PDA」の列挙リストは、そのリストの3項目のうちの任意またはすべての項目が相互に排他的であることを示唆せず、そのリストの3項目のうちの任意またはすべての項目が、任意のカテゴリを包含することを示唆しない。   An enumerated list of items (which may or may not be numbered) does not imply that any or all items are mutually exclusive unless specified otherwise. Similarly, an enumerated list of items (which may or may not be numbered) does not imply that any or all items include any category, unless explicitly stated otherwise. For example, an enumerated list of “computer, laptop, PDA” does not imply that any or all of the three items in the list are mutually exclusive, and any of the three items in the list Or does not suggest that all items encompass any category.

(付番されていてもいなくてもよい)列挙された項目リストは、任意またはすべての項目が相互に同等であるか、または容易に相互に置換し得ることを示唆するものでない。   An enumerated list of items (which may or may not be numbered) does not imply that any or all of the items are equivalent to each other or can easily be substituted for each other.

すべての実施形態は例示的なものであり、本発明または任意の実施形態が行われたか、または実施されることを示唆するものでない。   All embodiments are exemplary and do not imply that the invention or any embodiment was made or practiced.

V.計算
本願に記載の様々なプロセスは、例えば、適宜プログラムされた汎用コンピュータ、専用コンピュータ、および計算装置により実施し得ることが、当業者には容易に明らかになろう。通常、プロセッサ(例えば、1つまたは複数のマイクロプロセッサ、1つまたは複数のマイクロコントローラ、1つまたは複数のデジタル信号プロセッサ)が、命令を受信し(例えば、メモリまたは同様の装置から)、それらの命令を実行し、それにより、それらの命令により定義される1つまたは複数のプロセスを実行する。命令は、例えば、1つまたは複数のコンピュータプログラム、1つまたは複数のスクリプトで具現し得る。
V. Calculations It will be readily apparent to those skilled in the art that the various processes described herein can be implemented, for example, by appropriately programmed general purpose computers, special purpose computers, and computing devices. Typically, a processor (eg, one or more microprocessors, one or more microcontrollers, one or more digital signal processors) receives instructions (eg, from a memory or similar device) and Execute instructions, thereby executing one or more processes defined by those instructions. The instructions may be embodied in, for example, one or more computer programs and one or more scripts.

「プロセッサ」は、アーキテクチャ(例えば、チップレベル多重処理/マルチコア、RISC、CISC、パイプライン段がインターロックしないマイクロプロセッサ、パイプライン構成、同時マルチスレッド処理)に関わりなく、1つまたは複数のマイクロプロセッサ、中央演算処理装置(CPU)、計算装置、マイクロコントローラ、デジタル信号プロセッサ、もしくは同様な装置、またはそれらの任意の組み合わせを意味する。   “Processor” refers to one or more microprocessors regardless of architecture (eg, chip level multiprocessing / multicore, RISC, CISC, microprocessors in which pipeline stages do not interlock, pipeline configuration, simultaneous multithreading) Mean central processing unit (CPU), computing device, microcontroller, digital signal processor, or similar device, or any combination thereof.

したがって、プロセスの説明は同様に、プロセスを実行する装置の説明でもある。プロセスを実行する装置は、例えば、プロセスの実行に適切なプロセッサ、入力装置、および出力装置を含み得る。   Thus, the description of the process is also a description of the device that performs the process. An apparatus that performs the process may include, for example, a processor, input device, and output device suitable for performing the process.

さらに、そのような方法を実施するプログラム(ならびに他の形式のデータ)は、様々な媒体(例えば、コンピュータ可読媒体)を使用していくつかの様式で記憶し、送信し得る。いくつかの実施形態では、配線回路またはカスタムハードウェアを、様々な実施形態のプロセスを実施可能なソフトウェア命令のうちのいくつかまたはすべてに代えて、またはそれらと組み合わせて使用し得る。したがって、様々な組み合わせのハードウェアおよびソフトウェアを、ソフトウェアのみに代えて使用し得る。   In addition, programs that implement such methods (as well as other forms of data) may be stored and transmitted in a number of ways using various media (eg, computer readable media). In some embodiments, wiring circuitry or custom hardware may be used in place of or in combination with some or all of the software instructions that can perform the processes of the various embodiments. Thus, various combinations of hardware and software can be used in place of software alone.

用語「コンピュータ可読媒体」は、コンピュータ、プロセッサ、または同様の装置により読み取ることができるデータ(例えば、命令、データ構造)の提供に関わる任意の媒体、複数の媒体、または異なる媒体の組み合わせを指す。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、それらに限定されない多くの形態をとり得る。不揮発性媒体としては、例えば、光ディスクまたは磁気ディスクおよび他の永久メモリが挙げられる。揮発性媒体としては、通常、メインメモリを構成するダイナミックランダムアクセスメモリ(DRAM)が挙げられる。伝送媒体としては、プロセッサに結合されたシステムバスを構成するワイヤを含め、同軸ケーブル、銅線、および光ファイバが挙げられる。伝送媒体は、無線周波数(RF)および赤外線(IR)によるデータ通信中に生成されるような音波、光波、および電磁放射を含むか、または伝達し得る。一般的な形態のコンピュータ可読媒体としては、例えば、コンピュータが読み取り可能なフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、DVD、他の任意の光媒体、パンチカード、紙テープ、穴パターンを有する他の任意の物理媒体、RAM、PROM、EPROM、フラッシュEEPROM、他の任意のメモリチップもしくはカートリッジ、以下に記載する搬送波、または他の任意の媒体が挙げられる。   The term “computer-readable medium” refers to any medium, multiple media, or a combination of different media involved in providing data (eg, instructions, data structures) that can be read by a computer, processor, or similar device. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical disks or magnetic disks and other permanent memories. The volatile medium usually includes a dynamic random access memory (DRAM) that constitutes a main memory. Transmission media include coaxial cables, copper wire, and optical fiber, including the wires that make up the system bus coupled to the processor. Transmission media can include or transmit sound waves, light waves, and electromagnetic radiation, such as those generated during radio frequency (RF) and infrared (IR) data communications. As a computer readable medium in a general form, for example, a computer-readable floppy (registered trademark) disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, DVD, any other arbitrary Optical media, punch card, paper tape, any other physical media with hole pattern, RAM, PROM, EPROM, flash EEPROM, any other memory chip or cartridge, carrier wave described below, or any other media Can be mentioned.

様々な形態のコンピュータ可読媒体が、プロセッサへのデータ(例えば、命令シーケンス)の搬送に関与し得る。例えば、データは、(i)RAMからプロセッサに送出し、(ii)無線伝送媒体を介して搬送し、(iii)Ethernet(登録商標)(またはIEEE802.3)、SAP、ATP、Bluetooth(登録商標)、TCP/IP、TDMA、CDMAおよび3G等の多くのフォーマット、標準またはプロトコルによりフォーマットかつ/または送信し、ならびに/あるいは(iv)当分野において周知の様々な任意の方法で暗号化して、プライバシーを確保し、または不正を阻止し得る。   Various forms of computer readable media may be involved in carrying data (eg, instruction sequences) to the processor. For example, data is (i) sent from a RAM to a processor, (ii) carried via a wireless transmission medium, and (iii) Ethernet (registered trademark) (or IEEE 802.3), SAP, ATP, Bluetooth (registered trademark). ), Formatted and / or transmitted in many formats, standards or protocols such as TCP / IP, TDMA, CDMA and 3G, and / or (iv) encrypted in any of a variety of ways well known in the art for privacy Secure or prevent fraud.

したがって、プロセスの説明は同様に、プロセスを実行するプログラムを記憶するコンピュータ可読媒体の説明でもある。コンピュータ可読媒体は、方法の実行に適切なプログラム要素を(任意の適切な形式で)記憶することが可能である。   Accordingly, the process description is also a description of a computer-readable medium that stores a program that performs the process. The computer readable medium can store program elements suitable for performing the method (in any suitable form).

プロセスにおける様々なステップの説明が、説明されたすべてのステップが必要である旨を示すものでないことと同様に、装置の実施形態は、説明されたプロセスのいくつか(すべてである必要はない)を実行するように動作可能なコンピュータ/計算装置を含む。   Just as the description of the various steps in the process does not indicate that all the steps described are necessary, the apparatus embodiment may include some (but not all) of the described processes. Including a computer / computing device operable to perform

同様に、プロセスにおける様々なステップの説明が、説明されたすべてのステップが必要である旨を示すものでないことと同様に、プログラムまたはデータ構造を記憶するコンピュータ可読媒体の実施形態は、実行された場合に、説明されたプロセスのいくつか(必ずしもすべてではない)をプロセッサに実行させることが可能なプログラムを記憶するコンピュータ可読媒体を含む。   Similarly, an embodiment of a computer readable medium storing a program or data structure has been implemented, as well as an explanation of the various steps in the process does not indicate that all described steps are necessary. In some cases, including a computer-readable medium that stores a program capable of causing a processor to perform some (but not necessarily all) of the described processes.

データベースが説明される場合、(i)説明されているものに対する代替のデータベース構造を容易に利用することができ、(ii)データベース以外の他のメモリ構造を容易に利用することができることを当業者は理解するであろう。本明細書に記載の任意の例示的なデータベースの任意の例示または説明は、記憶された情報表現の例示的な構成である。例えば、図面または他の箇所において例示されるテーブルにより示唆されたもの以外の任意の数の他の構成を利用し得る。同様に、データベースの例示された任意のエントリは、例示的な情報のみを表す。エントリの数および内容が、本明細書に記載のものと異なり得ることを当業者は理解するであろう。さらに、データベースをテーブルとして記載されていたにも拘わらず、本明細書に記載のデータ型を記憶して操作するために、他の形式(関係データベース、オブジェクトベースのモデル、および/または分散型データベースを含む)を使用することもできる。同様に、データベースのオブジェクト手法または挙動を使用して、本明細書に記載されるような様々なプロセスを実施することができる。さらに、データベースは、そのようなデータベース内のデータにアクセスする装置にローカルに、またはリモートに、既知の方法で記憶し得る。   When a database is described, one of ordinary skill in the art (i) can easily utilize alternative database structures to those described, and (ii) can readily utilize other memory structures other than the database. Will understand. Any example or description of any example database described herein is an example configuration of stored information representations. For example, any number of other configurations other than those suggested by the tables illustrated in the drawings or elsewhere may be utilized. Similarly, any illustrated entry in the database represents exemplary information only. Those skilled in the art will appreciate that the number and content of entries may differ from those described herein. In addition, despite the database being described as a table, other formats (relational databases, object-based models, and / or distributed databases) may be used to store and manipulate the data types described herein. Can also be used. Similarly, various processes as described herein can be implemented using database object techniques or behaviors. Further, the database may be stored in a known manner, either locally or remotely on a device that accesses data in such a database.

様々な実施形態を、1つまたは複数の装置と(例えば、通信ネットワークを介して)通信するコンピュータを含むネットワーク環境において動作するように構成することができる。コンピュータは、任意の有線媒体または無線媒体(例えば、インターネット、LAN、WAN、またはEthernet(登録商標)、トークンリング、電話回線、ケーブル回線、無線チャネル、光通信回線、商用オンラインサービスプロバイダ、掲示板システム、衛星通信リンク、これらの任意の組み合わせ)を介して直接的または間接的に装置と通信し得る。各装置自体は、Intel(登録商標)、Pentium(登録商標)、またはCentrino(登録商標)プロセッサに基づくもの等、コンピュータと通信するように構成されたコンピュータまたは他の計算装置を備え得る。任意の数および種類の装置がコンピュータと通信し得る。   Various embodiments can be configured to operate in a network environment including a computer that communicates (eg, via a communication network) with one or more devices. The computer may be any wired or wireless medium (eg, Internet, LAN, WAN, or Ethernet, token ring, telephone line, cable line, wireless channel, optical communication line, commercial online service provider, bulletin board system, It may communicate with the device directly or indirectly via a satellite communication link, any combination thereof. Each device itself may comprise a computer or other computing device configured to communicate with the computer, such as those based on an Intel®, Pentium®, or Centrino® processor. Any number and type of devices can communicate with the computer.

実施形態では、サーバコンピュータまたは中央権限は、必要でないか、または望ましくないことがある。例えば、本発明は、実施形態では、中央権限なしで1つまたは複数の装置で実施し得る。そのような実施形態では、サーバコンピュータにより実行されるものとして本明細書に説明される任意の機能またはサーバコンピュータに記憶されるものとして説明されるデータは、代替として、そのような1つまたは複数の装置により実行し、またはそのような装置に記憶し得る。   In an embodiment, a server computer or central authority may not be necessary or desirable. For example, the present invention may be implemented in one or more devices without central authority in embodiments. In such embodiments, any function described herein as being performed by a server computer or data described as being stored on a server computer may alternatively be one or more of such Can be executed by or stored on such devices.

プロセスが説明される場合、実施形態では、プロセスはいかなるユーザ介入もない状態で動作し得る。別の実施形態では、プロセスは、人間によるいくらかの介入を含む(例えば、ステップが人間の支援により、または人間の支援を受けて実行される)。   Where a process is described, in an embodiment, the process may operate without any user intervention. In another embodiment, the process includes some human intervention (eg, steps are performed with or with human assistance).

VI.継続出願
本開示は、いくつかの実施形態および/または発明を実施可能にする説明を当業者に対して提供する。これらの実施形態および/または本発明のうちのいくつかは、本願の特許請求の範囲に記載されていないものもあるが、それにも関わらず、本願の優先権の利益を主張する1つまたは複数の継続出願の特許請求の範囲に記載し得る。
VI. Continuation Application This disclosure provides those skilled in the art with a description that allows several embodiments and / or inventions to be practiced. Some of these embodiments and / or inventions may not be described in the claims of this application, but nevertheless one or more that claim the benefit of priority of this application. In the claims of the continuation application.

本出願人は、本願の特許請求の範囲に記載していないが、開示して実施可能にしている対象に対する特許化を進めるために追加の出願を行うことを意図している。   Applicants intend to file additional applications to further patent their subject matter, which is not disclosed in the claims of this application but is disclosed and enabled.

VII.米国特許法§112段落6
請求項において、用語「手段(means for)」または用語「ステップ(step for)」を含む請求項の限定は、米国特許法§112段落6がその限定に該当することを意味する。
VII. US Patent Act § 112, paragraph 6
In the claims, a limitation of a claim that includes the term “means for” or the term “step for” means that US Pat.

請求項において、用語「手段」または用語「ステップ」を含まない請求項の限定は、その機能を実行するための構造、材料、または動作の記載のない機能をその限定が記載しているか否かにかかわらず、米国特許法§112段落6がその限定に該当しないことを意味する。例えば、請求項では、請求項の1つまたは複数のステップまたは他の請求項の1つまたは複数のステップを参照して「ステップ」を単に使用することは、米国特許法§112段落6がそのステップに該当することを意味しない。   In the claims, a claim limitation that does not include the term “means” or the term “step” means that the limitation describes a function that does not describe a structure, material, or operation to perform the function. Regardless, it means that § 112 paragraph 6 of the US Patent Act does not fall under that limitation. For example, in the claims, the simple use of “step” with reference to one or more steps of a claim or one or more steps of another claim is It does not mean that it corresponds to a step.

米国特許法§112段落6に従って特定の機能を実行する手段またはステップに関して、本明細書に記載される対応する構造、材料、または動作、ならびにその均等物は、追加の機能ならびに指定された機能を実行し得る。   With respect to means or steps for performing a particular function in accordance with US Patent Act § 112 paragraph 6, the corresponding structure, material, or operation described herein, and equivalents thereof, may include additional functions as well as specified functions. Can be executed.

コンピュータ、プロセッサ、計算装置、および同様の製品は、広範囲の機能を実行可能な構造である。そのような製品は、その製品内のメモリ装置またはその製品がアクセスするメモリ装置に記憶されたプログラム等の1つまたは複数のプログラムを実行することにより、指定された機能を実行するように動作可能であることができる。別途明記されない限り、そのようなプログラムは、本願において開示され得る任意の特定のアルゴリズム等の任意の特定のアルゴリズムに基づく必要はない。指定された機能を異なるアルゴリズムを介して実施し得、いくつかの異なるアルゴリズムうちの何れのアルゴリズムであるかが、指定された機能を実行するための設計上の選択事項に過ぎないことは、当業者には周知である。   Computers, processors, computing devices, and similar products are structures that can perform a wide range of functions. Such a product is operable to perform a specified function by executing one or more programs, such as a memory device within the product or a program stored in a memory device accessed by the product. Can be. Unless otherwise specified, such a program need not be based on any particular algorithm, such as any particular algorithm that may be disclosed in the present application. It is important to note that the specified function can be performed through different algorithms, and which one of several different algorithms is only a design choice for performing the specified function. It is well known to the traders.

したがって、米国特許法§112段落6に従って指定された機能を実行する手段またはステップに関して、指定された機能に対応する構造は、指定された機能を実行するようプログラムされた任意の製品を含む。そのような構造は、そのような製品が(i)機能を実行する開示されたアルゴリズム、(ii)開示されたアルゴリズムと同様のアルゴリズム、または(iii)機能を実行するための異なるアルゴリズムの何れによってプログラムされているかに関わらず、機能を実行するプログラムされた製品を含む。   Thus, with respect to means or steps for performing a specified function in accordance with US Patent Section § 112, paragraph 6, the structure corresponding to the specified function includes any product programmed to perform the specified function. Such a structure may depend on either (i) the disclosed algorithm for performing the function, (ii) an algorithm similar to the disclosed algorithm, or (iii) a different algorithm for performing the function. Includes programmed products that perform functions regardless of whether they are programmed.

方法である機能を実行する手段が記載される場合、この方法を実行する一構造は、その機能の実行に適切なハードウェアがプログラムかつ/または構成された計算装置(例えば、汎用コンピュータ)を含む。   When a means for performing a function that is a method is described, one structure for performing the method includes a computing device (eg, a general purpose computer) programmed and / or configured with hardware suitable for performing the function. .

当業者に理解されるような他のアルゴリズムを介してその機能を実行するために適切なハードウェアがプログラムかつ/または構成された計算装置(例えば、汎用コンピュータ)も含む。   Also included is a computing device (eg, a general purpose computer) programmed and / or configured with appropriate hardware to perform its functions via other algorithms as understood by those skilled in the art.

VIII.ディスクレーマ
特定の実施形態に対する複数の参照は、追加の異なる実施形態のディスクレーマまたは否認を示すものではなく、同様に、特定の特徴をすべて含む実施形態の記載に対する参照は、その特定の特徴を含まない実施形態のディスクレーマまたは否認を示すものでない。本願における明らかなディスクレーマまたは否認には、語句「含まない」または語句「実行できない」の前置きがあるものとする。
VIII. Disclaimers Multiple references to a particular embodiment do not indicate additional different embodiments of the disclaimer or disclaimer, and similarly, a reference to a description of an embodiment that includes all the particular features refers to that particular feature. It does not indicate a disclaimer or a denial of an embodiment not included. Apparent disclaimers or denials in this application shall be preceded by the phrase “does not include” or the phrase “cannot execute”.

XI.参照による援用
本明細書において参照されるいかなる特許、特許出願、または他の文献も、参照により本開示の一部として本願に援用されるが、米国特許法§112段落1による記載要件および35U.S.C§112段落1による実施可能要件のみのためであり、決して本願の用語を限定、定義、またはその他の様式で解釈するために使用すべきではなく、本願は、仮にそのような参照による援用がない場合であっても、確実な意味を必ず提供するであろうし、むしろ、そのような用語の確実な意味を提供することが可能であろう。したがって、当業者は、参照において提供されるいずれの実施形態によっても決して限定される必要がない。
XI. INCORPORATION BY REFERENCE Any patent, patent application, or other document referenced herein is hereby incorporated by reference as part of this disclosure, but is subject to the requirements set forth in US Patent Section §112 paragraph 1 and S. C§112 Paragraph 1 only for enabling requirements and should not be used to limit, define, or otherwise interpret the terms of this application in any way, and this application is hereby incorporated by reference. If not, it will certainly provide a certain meaning, but rather it will be possible to provide a certain meaning for such terms. Accordingly, those skilled in the art need in no way be limited by any embodiment provided in the reference.

参照によるいかなる援用も、それ自体としては、本特許出願において別途明記されない限り、援用した何れの特許、特許出願、または他の文献に含まれる何れの言及、意見、主張、または特徴付けに対する支持、承認、または黙認も示唆しない。   Any incorporation by reference in its own right is support for any reference, opinion, claim or characterization contained in any incorporated patent, patent application, or other document, unless expressly stated otherwise in this patent application, Does not suggest approval or acquiescence.

X.出願経過
(請求項を含む)本願を解釈する上で、本願に関連すると認められる他の特許出願が存在しているか否かに関わらず、本願の優先権の主張を共有する他の特許出願が存在しているか否かに関わらず、当業者は、本願の出願経過を参照するが、他の特許または特許出願の出願経過を参照しないものとする。
X. In the course of interpreting this application (including claims), other patent applications that share the priority claim of this application may or may not exist, regardless of whether there are other patent applications recognized as being relevant to this application. Regardless of whether they exist, one skilled in the art will refer to the application history of the present application, but not the application history of other patents or patent applications.

XI.実施形態例
図1は、取引所の参加者103に結合された例として取引所101の構成を示す。取引所101は、取引サービスを参加者103に提供するように構成された1つまたは複数のコンピュータシステムおよび/またはコンピュータ構成要素を含み得る。取引所103は、参加者103の取引意図に関する情報を受け入れ得る。取引所101は、1ペアの参加者の取引意図が一致する場合を特定し得る。取引所101は、一致する取引意図を満たす取引を履行し得る。
XI. Example Embodiment FIG. 1 shows the configuration of an exchange 101 as an example of being coupled to an exchange participant 103. Exchange 101 may include one or more computer systems and / or computer components configured to provide trading services to participants 103. The exchange 103 can accept information regarding the trading intention of the participant 103. Exchange 101 may identify when a pair of participants' trading intent matches. Exchange 101 may fulfill a transaction that meets a matching transaction intention.

取引所は、金融商品に対する注文をマッチングし、一致する注文を満たす取引の履行を促進するように構成された1つまたは複数のコンピュータシステムおよび/またはコンピュータ構成要素を含み得る。取引所は、LiquidNet代替取引システムまたはAqua Equities代替取引システム等の代替の取引システムを含み得る。代替取引システムの一例は、2008年10月24日に出願された米国特許出願第12/257,499号明細書に記載されており、この特許出願を参照により本明細書に援用する。取引所は、ニューヨーク証券取引所およびシカゴマーカンタイル取引所等の、初期オファーおよび/または二次取引を行い得る一次取引所を含み得る。   An exchange may include one or more computer systems and / or computer components configured to match orders for financial instruments and facilitate the fulfillment of trades that meet matching orders. The exchange may include an alternative trading system, such as a LiquidNet alternative trading system or an Aqua Equities alternative trading system. An example of an alternative trading system is described in US patent application Ser. No. 12 / 257,499, filed Oct. 24, 2008, which is hereby incorporated by reference. Exchanges may include primary exchanges that can make initial offers and / or secondary trades, such as the New York Stock Exchange and the Chicago Mercantile Exchange.

金融商品は、負債または資産の所有権を示す商品および/またはその任意の派生商品を含み、普通株、株式、フィックストインカム商品、債券、社債、預金証書(certificate of interest or deposit)、ワラント、オプション、先物、フォワード、スワップ、または一般に任意の証券を含むものと理解されたい。   Financial instruments include instruments that show ownership of a liability or asset and / or any derivative instrument thereof, such as common stocks, stocks, fixed income instruments, bonds, bonds, certificates of interest or deposits, warrants, It should be understood to include options, futures, forwards, swaps, or generally any security.

参加者103は、取引所101を通して取引活動に参加する任意のエンティティを含み得る。例えば、参加者はアルゴリズム的な取引システムを含み得る。そのようなアルゴリズム的な取引システムは、情報を監視し、情報の変更に基づいて様々な取引を取引所101により履行するように要求し得る。参加者は、プロプライエタリトレーダーを含み得る。そのようなプロプライエタリトレーダーは、参加者自身の口座に関して取引所101による取引の履行を要求し得る。そのようなトレーダーの例としては、ヘッジファンドを挙げることができる。参加者のさらに別の例として、ブローカーを挙げることができる。ブローカーは、ブローカーのクライアント105の代理として取引所101による取引の履行を要求し得る。いくつかの実施態様では、クライアント105は、通信ネットワーク107を通してブローカーと通信し得る。そのような通信ネットワークは、例えば、従来の仲介サービス用の電話回線網、電子仲介サービス用のコンピュータネットワーク、および/または他の任意の通信ネットワーク(例えば、インターネット、私設ネットワーク等)を含み得る。   Participant 103 may include any entity that participates in trading activities through exchange 101. For example, participants can include an algorithmic trading system. Such an algorithmic trading system may monitor information and request that various trades be fulfilled by the exchange 101 based on changes in the information. Participants may include proprietary traders. Such a proprietary trader may require the exchange 101 to perform a transaction on the participant's own account. An example of such a trader is a hedge fund. Another example of a participant can be a broker. The broker may request performance of the transaction by the exchange 101 on behalf of the broker's client 105. In some implementations, the client 105 may communicate with the broker through the communication network 107. Such communication networks may include, for example, a telephone network for a traditional mediation service, a computer network for an electronic mediation service, and / or any other communication network (eg, the Internet, a private network, etc.).

参加者が、コンピュータおよび人の任意の組み合わせを含み得ることを認識されたい。例えば、Etrade等のインターネットブローカーは、人間である投資家により命令される参加者として動作し得、従来のブローカーは、取引所への直接接続を使用してインタフェースし得、アルゴリズム的なトレーダーは、データに基づいてアルゴリズムを実行し、人間からのわずかな入力を使用するか、もしくは人間からの入力なしでアルゴリズムの出力に基づいて注文を生成するコンピュータを含み得、投資銀行は、企業を解析し、その情報に基づいて注文を生成する(例えば、何かを介在させて、または取引所に直接)高度に熟練した投資専門家を含み得る等である。   It should be appreciated that a participant can include any combination of computers and people. For example, Internet brokers such as Etrade can act as participants commanded by human investors, traditional brokers can interface using direct connections to exchanges, and algorithmic traders An investment bank can analyze a company by executing an algorithm based on the data and using a few human inputs or generating orders based on the output of the algorithm without human input. , Generate orders based on that information (eg, through something intervening or directly on the exchange) and may include highly skilled investment professionals, and so on.

いくつかの実施形態では、参加者103は、通信ネットワーク109を通して取引所101と通信し得る。通信ネットワーク109は、例えば、インターネット、データバス、専用有線または無線通信リンク、および/または他の任意の通信ネットワークを含み得る。通信ネットワーク109は、単方向または双方向の通信を可能にし得る。通信ネットワーク109は、例えば、TCP/IPを使用して通信を可能にし得る。情報は、例えば、複数データパケットを含め、任意の形態で通信ネットワークを通して受け渡し得る。   In some embodiments, the participant 103 may communicate with the exchange 101 through the communication network 109. Communication network 109 may include, for example, the Internet, a data bus, a dedicated wired or wireless communication link, and / or any other communication network. Communication network 109 may allow unidirectional or bidirectional communication. The communication network 109 may enable communication using, for example, TCP / IP. Information can be passed through the communication network in any form, including, for example, multiple data packets.

いくつかの実施形態では、1つまたは複数の参加者は、取引意図に関する情報を取引所に通信し得る。例えば、注文を電子メッセージの形態で参加者から通信ネットワーク109を通して取引所に送信し得る。注文は、金融商品の側を定義し得る。   In some embodiments, one or more participants may communicate information regarding trading intent to the exchange. For example, the order may be sent from the participant in the form of an electronic message to the exchange through the communication network 109. An order may define the side of the financial instrument.

取引所を通して履行するために、複数の注文をリンクすることを含む一揃いの通信の例が、2000年7月28日出願の米国特許出願第09/627,705号明細書に記載されており、この特許出願を参照により本明細書に援用する。   An example of a set of communications involving linking multiple orders for fulfillment through an exchange is described in US patent application Ser. No. 09 / 627,705, filed Jul. 28, 2000. This patent application is incorporated herein by reference.

いくつかの実施形態では、取引所は、一致する注文が見つかった旨を参加者に通信し得る。例えば、取引所は、注文への一致が見つかったことを識別する電子メッセージを送信し得る。いくつかの実施態様では、一致が見つかった場合、注文を履行し、そのような指示を送信し得る。いくつかの実施態様では、一致が見つかった場合、取引を履行する前に、参加者に注文を確認するように求め、そのような履行を促進するために、指示を翻訳し得る。   In some embodiments, the exchange may communicate to the participant that a matching order has been found. For example, the exchange may send an electronic message that identifies a match to the order. In some implementations, if a match is found, the order may be fulfilled and such an indication sent. In some implementations, if a match is found, prior to fulfilling the transaction, the participant may be asked to confirm the order and the instructions may be translated to facilitate such fulfillment.

いくつかの実施形態では、参加者は、注文を条件付け得る1つまたは複数のイベントに関する情報を通信し得る。例えば、いくつかの実施態様では、電子メッセージは、イベントが発生した場合に注文を提出し得ることを示し得る。イベントは、注文が提出される金融商品に関するイベント、異なる金融商品に関するイベント、金融商品に関連しないイベント、および/または他の任意のイベントを含み得る。イベントは、条件の有効期間(existance)(例えば、午前7時〜午後9時)、第2の金融商品の価値の変更、第2の金融商品の取引量の変更、企業による決算公表、業界を規制する規制の変更、企業の信用格付けの変更、および/または他の任意の発生、出来事等を含み得る。いくつかの実施態様では、イベントは、起こるか、または起こらない可能性がある発生に関連し得る。   In some embodiments, participants may communicate information regarding one or more events that may condition the order. For example, in some implementations, the electronic message may indicate that an order may be submitted if an event occurs. Events may include events related to financial instruments for which orders are submitted, events related to different financial products, events not related to financial products, and / or any other event. Events include the condition validity period (eg, 7:00 am to 9:00 pm), the change in the value of the second financial product, the change in the transaction volume of the second financial product, the announcement of financial results by the company, the industry It may include regulatory changes, regulatory credit rating changes, and / or any other occurrences, events, etc. In some implementations, the event may be related to an occurrence that may or may not occur.

いくつかの実施形態では、参加者は、注文を調整させ得る1つまたは複数のイベントに関する情報を通信し得る。例えば、いくつかの実施態様では、電子メッセージは、イベントが発生した場合、注文キューから注文を削除すべきことを示し得、電子メッセージは、イベントが発生した場合、注文の数量を変更すべきことを示し得、電子メッセージは、イベントが発生した場合、パッシブ注文をアグレッシブ注文に変更すべきであることを示し得、電子メッセージは、イベントが発生した場合、注文の価格を変更すべきであることを示し得、電子メッセージは、イベントが発生した場合、注文をキューに戻すべきであることを示し得、かつ/または指示は、イベントが発生した場合、注文への他の任意の調整を行うべきであることを示し得る。   In some embodiments, participants may communicate information regarding one or more events that may cause the order to be adjusted. For example, in some implementations, an electronic message may indicate that an order should be removed from the order queue when an event occurs, and the electronic message should change the order quantity when the event occurs The electronic message can indicate that if an event occurs, the passive order should be changed to an aggressive order, and the electronic message should change the price of the order if the event occurs The electronic message may indicate that the order should be returned to the queue when the event occurs, and / or the indication should make any other adjustments to the order when the event occurs Can be shown.

いくつかの実施形態では、取引所は、イベントに関する情報を参加者に通信し得る。例えば、いくつかの実施態様では、取引所は、イベントが発生した、および/または発生しなかったことを示す電子メッセージを送信し得る。   In some embodiments, the exchange may communicate information about the event to participants. For example, in some implementations, an exchange may send an electronic message indicating that an event has occurred and / or has not occurred.

いくつかの実施形態では、通信ネットワーク109を通しての通信は、遅延を含み得る。遅延は、情報が情報源から情報の宛先に伝送されるためにかかる時間を含み得る。例えば、遅延は、ネットワークを通して情報をルーティングする時間、情報がワイヤを取って伝送される時間、情報を中間システムにより処理する時間等を含み得る。遅延は、イベント発生後、複数の参加者が競って取引する場合等、状況によっては、最適未満の取引結果を生じさせ得る。   In some embodiments, communication through communication network 109 may include a delay. The delay may include the time it takes for information to be transmitted from the information source to the information destination. For example, the delay may include time for routing information through the network, time for information to be transmitted over a wire, time for information to be processed by an intermediate system, and the like. Delays can cause sub-optimal transaction results in some situations, such as when multiple participants compete for transactions after an event occurs.

情報源111は、取引に関する判断に関連し得る情報の1つまたは複数のプロバイダを含み得る。情報源111は、取引所101の一部であってもよく、かつ/または別個のエンティティであってもよい。情報は、例えば、発生した取引についての情報、保留中の(例えば、注文キュー内にある)注文についての情報、取引量についての情報、価格変更についての情報、金融商品についての情報、インデックスについての情報、金融商品の種類についての情報、業界についての情報、政治的なイベントについての情報、規制変更についての情報、および/または他の任意のイベントについての情報を含み得る。そのような情報は、例えば、そのような情報に基づいて注文について判断するアルゴリズム的な取引システムならびに様々な情報に基づいて取引について判断する人間の投資家にとって有用であり得る。いくつかの実施態様では、取引所でのイベントに関する情報(例えば、取引スタック(trading stack)、取引の履行等)は、そのような情報を処理する介在者からよりも、通信遅延が少ないため短い遅延で取引所により報告し得るが、それでもやはり、例えば、通信ネットワークを通しての通信遅延に基づいて遅延し得る。   The information source 111 may include one or more providers of information that may be relevant to decisions regarding transactions. The information source 111 may be part of the exchange 101 and / or may be a separate entity. Information includes, for example, information about transactions that have occurred, information about pending orders (eg, in the order queue), information about transaction volume, information about price changes, information about financial products, information about indexes Information, information about the type of financial instrument, information about the industry, information about political events, information about regulatory changes, and / or information about any other event may be included. Such information may be useful, for example, for algorithmic trading systems that make decisions about orders based on such information as well as human investors that make decisions about trading based on various information. In some implementations, information about events at an exchange (eg, trading stack, performance of a transaction, etc.) is shorter due to less communication delay than from an intermediary that processes such information. Although it can be reported by the exchange with a delay, it can nevertheless be delayed based on, for example, a communication delay through the communication network.

図2Aは、いくつかの実施形態による例としての取引所201を示す。   FIG. 2A illustrates an example exchange 201 according to some embodiments.

示されるように、取引所201は、通信ネットワーク205を通して参加者203に結合し得る。いくつかの例としての参加者および通信ネットワークを図1に関連して上述した。図2Aに示されるように、取引所201は、マッチングエンジン207、インタフェース209、第1の通信ネットワーク211、イベントエンジン213、および第2の通信ネットワーク215を含み得る。これらの構成要素が単なる例として与えられること、ならびに様々な実施形態が任意の数の追加の構成要素および/または代替の構成要素を含み得ることを認識されたい。例えば、いくつかの実施態様では、単一のバスを使用し得、インタフェースは別個の機械であり得、別個の規則処理エンジンを使用し得、イベントエンジンおよびマッチングエンジンを結合し得、追加の所望の機能を提供する他の任意の構成要素を含め得る等である。   As shown, exchange 201 may couple to participant 203 through communication network 205. Some example participants and communication networks have been described above in connection with FIG. As shown in FIG. 2A, the exchange 201 may include a matching engine 207, an interface 209, a first communication network 211, an event engine 213, and a second communication network 215. It should be appreciated that these components are provided as examples only, and that various embodiments may include any number of additional components and / or alternative components. For example, in some implementations, a single bus may be used, the interface may be a separate machine, a separate rules processing engine may be used, an event engine and a matching engine may be combined, and additional desired Any other component that provides this functionality may be included.

マッチングエンジン207は、1つまたは複数の機械構成要素を含み得る。いくつかの実施態様では、マッチングエンジンは1つまたは複数のプロセッサを含み得る。そのようなプロセッサは、注文をマッチングするように構成された汎用プロセッサを含み得る。そのような構成は、ハードウェアおよび/またはソフトウェア(例えば、プログラミングおよび/またはライティング)を介して行い得る。マッチングエンジンは、所望に応じて、特定の金融商品、特定のイベント、特定の注文種類、特定の金融商品種類、注文への特徴の調整の種類等に専用であり得る。いくつかの実施態様では、マッチングエンジンは、金融商品に対する注文の一致を特定し、一致する注文を満たす取引を履行する機械構成要素(例えば、プロセッサ)を含み得る。いくつかの実施態様では、マッチングエンジンは、複数の買い注文が単一の売り注文に一致する場合、キュー内の最高優先度を有する買い注文を、一致する買い注文として選択するように、マッチングに関する優先度付きの注文を保持する買い注文キューおよび売り注文キューを保持し得る。   Matching engine 207 may include one or more machine components. In some implementations, the matching engine may include one or more processors. Such a processor may include a general purpose processor configured to match orders. Such configuration may be done via hardware and / or software (eg, programming and / or writing). The matching engine may be dedicated to specific financial products, specific events, specific order types, specific financial product types, types of feature adjustments to orders, etc., as desired. In some implementations, the matching engine may include a machine component (eg, processor) that identifies an order match for a financial instrument and fulfills a transaction that satisfies the matching order. In some implementations, the matching engine relates to matching so that if multiple buy orders match a single sell order, the buy order with the highest priority in the queue is selected as the matching buy order. A buy order queue that holds prioritized orders and a sell order queue may be maintained.

マッチングエンジン207は、金融商品の買い注文キュー217を含み得る。買い注文キューは、金融商品の買い注文の優先度付きの集まりを含み得る。注文には、所望の任意の方法で優先度を付与し得る。例えば、注文には、キュー内に配置された時間、取引所が注文を受信した時間、注文が作成された時間、マッチングエンジンが注文を受信した時間、注文の作成を始動させるイベントに関連付けられた時間、注文のサイズ、注文の価格等に基づいて優先度を付与し得る。一実施態様では、例えば、金融商品毎に最高価格の買い注文に最高優先度が付与されるように、キューに一次的に優先度を付与し得る。いくつかの実施態様では、同じ価格の買い注文に、キュー内に配置された時間に基づいて優先度を付与するように、キューに二次的に優先度を付与し得る。任意の優先度付与を様々な実施形態において使用し得ることを認識されたい。キューが、任意の方法で優先度付与された任意の集まりを含み得ること、およびワードキュー(word queue)が、本明細書において説明される属性への任意の追加の属性を必要とするものと読まれるべきでもなければ、そのような属性の除外が必要であるものと読まれるべきでもないことを認識されたい。   Matching engine 207 may include a financial product buy order queue 217. The buy order queue may include a prioritized collection of financial product buy orders. Orders can be given priority in any desired manner. For example, an order is associated with the time placed in the queue, the time the exchange received the order, the time the order was created, the time the matching engine received the order, and the event that triggered the creation of the order Priorities may be given based on time, order size, order price, and the like. In one embodiment, priority may be given to queues primarily, for example, so that the highest priority is given to the highest price buy order for each financial instrument. In some implementations, the queue may be secondarily prioritized so that buy orders of the same price are prioritized based on the time placed in the queue. It should be appreciated that any prioritization may be used in various embodiments. That the queue may include any collection prioritized in any way, and that the word queue requires any additional attributes to the attributes described herein. It should be appreciated that it should not be read, nor should it be read that such an attribute exclusion is necessary.

マッチングエンジン207は、金融商品の売り注文キュー219を含み得る。売り注文キューは、金融商品の売り注文の優先度付きの集まりを含み得る。注文には、所望の任意の方法で優先度を付与し得る。例えば、注文には、キュー内に配置された時間、取引所が注文を受信した時間、注文が作成された時間、マッチングエンジンが注文を受信した時間、注文の作成を始動させるイベントに関連付けられた時間、注文のサイズ、注文の価格等に基づいて優先度を付与し得る。一実施態様では、例えば、金融商品毎に最低価格の売り注文に最高優先度が付与されるように、キューに一次的に優先度を付与し得る。いくつかの実施態様では、同じ価格の売り注文に、キュー内に配置された時間に基づいて優先度を付与するように、キューに二次的に優先度を付与し得る。任意の優先度付与を様々な実施形態において使用し得ることを認識されたい。   Matching engine 207 may include a financial product sell order queue 219. The sell order queue may include a prioritized collection of financial product sell orders. Orders can be given priority in any desired manner. For example, an order is associated with the time placed in the queue, the time the exchange received the order, the time the order was created, the time the matching engine received the order, and the event that triggered the creation of the order Priorities may be given based on time, order size, order price, and the like. In one embodiment, priority may be given to the queue primarily, for example, so that the highest priority is given to the lowest price sell order for each financial instrument. In some implementations, the queue may be secondarily prioritized so that sell orders of the same price are prioritized based on the time placed in the queue. It should be appreciated that any prioritization may be used in various embodiments.

いくつかの実施態様では、キューはメモリ(例えば、RAM、レジスタ、固体状態メモリ、ハードディスクドライブ等)を含み得る。いくつかの実施態様では、メモリ内の要素の順序は、キュー内の優先度の順序に対応し得る。いくつかの実施態様では、例えば、注文を含むメモリロケーションセットに、第1の優先度付きメモリロケーションから次のメモリロケーションにリンクし、以下同様にリンクすることにより、優先度を付与し得る。他の実施態様では、物理的なメモリロケーションが静的な優先度を有し得る。他の実施態様では、メモリに順序を付け、かつ/または注文に優先度を付与する他の任意の方法を使用し得る。   In some implementations, the queue may include memory (eg, RAM, registers, solid state memory, hard disk drives, etc.). In some implementations, the order of elements in the memory may correspond to the order of priority in the queue. In some implementations, priority may be given, for example, by linking from the first prioritized memory location to the next memory location, and so on, to the memory location set that contains the order. In other implementations, physical memory locations may have a static priority. In other implementations, any other method of ordering memory and / or prioritizing orders may be used.

いくつかの実施態様では、プレースホルダ注文をキュー内に配置し得る。例えば、そのような注文は、キューから(例えば、一時的に)削除された注文の時間に基づく優先度を保持するために使用し得る。そのようなプレースホルダ注文は、例えば、注文がどこにあるかを示すが、その注文を注文のマッチングに実際に使用すべきではないことをマッチングエンジンに対して示すリストへのノードを追加することにより、キュー内に配置し得る。他の実施態様では、前の注文に非アクティブのフラグを付し得、それにより、前の注文はマッチングの対象とならず、そのようなフラグを後に変更して、注文を復旧し得る。   In some implementations, placeholder orders may be placed in a queue. For example, such an order may be used to maintain a priority based on the time of the order deleted from the queue (eg, temporarily). Such a placeholder order, for example, by adding a node to a list that indicates where the order is, but indicates to the matching engine that the order should not actually be used for order matching. Can be placed in a queue. In other embodiments, the previous order may be flagged as inactive, so that the previous order is not subject to matching and such a flag may be changed later to restore the order.

いくつかの実施態様では、複数の買い注文キューおよび/または複数の売り注文キューを使用し得る。例えば、いくつかの実施態様では、非常に大きな注文に対して、他の注文とは別個のキューを使用し得、リミット注文に対して、市場注文とは別個のキューを使用し得、複数のキューを使用して、注文の負荷をバランスさせ得る等である。   In some implementations, multiple buy order queues and / or multiple sell order queues may be used. For example, in some implementations, a very large order may use a separate queue from other orders, a limit order may use a separate queue from market orders, Queues can be used to balance the order load, etc.

いくつかの実施形態では、マッチングエンジンは、注文指示を受信し得る。そのような指示は、バス、別の通信ネットワークを通して、リモートシステム、イベントエンジン等から受信し得る。マッチングエンジンは(例えば、注文指示の受信に応答して)、その注文を適切なキュー内に適切な優先度レベルで追加し得る。例えば、注文が買い注文である場合、マッチングエンジンの優先度付与手順に従って、注文を買い注文キューに優先度レベルで追加し得る。いくつかの実施態様では、注文をキューに追加する命令を命令スタックに追加し得る。命令スタックは、マッチングエンジンが何等かの優先度順(例えば、FIFO)で処理するように求められた命令の集まりを含み得る。マッチングエンジンは、命令スタック内の優先度のより高い他の命令の処理を終えた場合、キューに注文を追加する命令を処理し得、これにより、マッチングエンジンに注文をキューに追加させ得る。   In some embodiments, the matching engine may receive order instructions. Such instructions may be received from a remote system, event engine, etc. over a bus, another communication network. The matching engine (eg, in response to receiving an order instruction) may add the order in the appropriate queue with the appropriate priority level. For example, if the order is a buy order, the order may be added to the buy order queue at a priority level according to the matching engine's prioritization procedure. In some implementations, instructions that add orders to the queue may be added to the instruction stack. The instruction stack may include a collection of instructions that the matching engine is asked to process in some priority order (eg, FIFO). When the matching engine has finished processing other higher priority instructions in the instruction stack, it may process instructions that add orders to the queue, thereby causing the matching engine to add orders to the queue.

いくつかの実施形態では、マッチングエンジンは、算術論理ユニットおよび/またはマッチングエンジンの処理を実行する他の処理要素を含み得る。例えば、そのような処理ユニットは、命令スタックからの命令を実行し得る。そのような処理要素は、2つの注文が一致するか否かに関して判断し得る。そのような処理要素は、2つの注文が一致する場合、動作し得る。マッチングエンジンは、所望の目的に対して汎用的および/または専用的であり得る任意の数のそのような処理要素を有し得る。例えば、いくつかの実施態様では、マッチングエンジンは、キューに注文を追加する処理要素と、キュー内に一致が存在するか否かを判断し、それに従って動作する処理要素とを含み得る。   In some embodiments, the matching engine may include an arithmetic logic unit and / or other processing elements that perform the processing of the matching engine. For example, such a processing unit may execute instructions from the instruction stack. Such a processing element may make a determination as to whether the two orders match. Such a processing element may operate if the two orders match. The matching engine may have any number of such processing elements that can be general and / or dedicated to the desired purpose. For example, in some implementations, the matching engine may include a processing element that adds an order to the queue and a processing element that determines whether there is a match in the queue and operates accordingly.

いくつかの実施形態では、マッチングエンジンは、買い注文キュー内の注文と売り注文キュー内の注文とが一致するか否かを判断し得る。例えば、処理要素は、最高優先度の買い注文が最高優先度の売り注文に一致するか否かを判断し得る。いくつかの実施態様では、複数の注文が単一の注文に一致し得る。いくつかの実施態様では、複数の注文が複数の注文に一致し得る。例えば、注文が同じ金融商品に対する取引の逆側であり、同じ価格および/または重なる価格範囲のものである場合、注文は別の注文に一致し得る。いくつかの実施態様では、注文は、同様の数量のものである場合に一致し得る(例えば、注文は、その注文の数量の少なくとも10%の数量の注文のみに一致し得る)。いくつかの実施態様では、複数のより少額の注文が単一のより多額の注文に一致し得る。いくつかの実施態様では、注文は部分的に一致し得る。部分的に一致する注文は、キューから削除してもよく、一致していない部分をキュー内に残してもよい等であり得る。   In some embodiments, the matching engine may determine whether an order in the buy order queue matches an order in the sell order queue. For example, the processing element may determine whether a highest priority buy order matches a highest priority sell order. In some implementations, multiple orders may match a single order. In some implementations, multiple orders may match multiple orders. For example, if an order is the opposite side of a transaction for the same financial instrument and is of the same price and / or overlapping price range, the order may match another order. In some implementations, an order may match if it is of a similar quantity (eg, an order may only match orders with a quantity that is at least 10% of that order's quantity). In some implementations, multiple smaller orders may match a single larger order. In some implementations, the order may partially match. Partially matching orders may be removed from the queue, non-matching portions may be left in the queue, and so on.

いくつかの実施形態では、第1および第2の注文が一致するとの判断に応答して、マッチングエンジンは、2つの注文のそれぞれの少なくとも部分を満たす取引を履行し得る。履行は、例えば、履行を実行すべき旨の指示を送信することを含み得る。いくつかの実施態様では、履行は、例えば、データベースに記憶されている注文についての情報を、注文が互いに対して履行されたことを示すように変更することを含み得る。いくつかの実施態様では、履行は、クリアリング、金銭の転送、所有権の転送、バックエンド処理等を含み得る。いくつかの実施態様では、履行に関わる動作のうちのいくつかまたはすべては、リモートシステム、取引所、マッチングエンジン、人等により実行し得る。金融商品の所有権を転送させる任意の動作を、履行として様々な実施形態において使用し得ることを認識されたい。   In some embodiments, in response to determining that the first and second orders match, the matching engine may fulfill a transaction that satisfies at least a portion of each of the two orders. Implementation may include, for example, sending an indication that execution should be performed. In some implementations, fulfillment may include, for example, changing information about orders stored in the database to indicate that the orders have been fulfilled with respect to each other. In some implementations, fulfillment may include clearing, money transfer, ownership transfer, backend processing, and the like. In some implementations, some or all of the performance-related operations may be performed by a remote system, exchange, matching engine, person, etc. It should be appreciated that any action that transfers ownership of a financial instrument can be used in various embodiments as an implementation.

上述したように、取引所201はインタフェース209を含み得る。インタフェース209は、取引所と取引所外(例えば、通信ネットワーク205)との間での情報の通信に役立ち得る。インタフェースは、周知のように、ネットワークインタフェースを含み得る。インタフェースは、入力された通信を処理し、イベントエンジンおよびマッチングエンジン等の取引所の様々な構成要素への通信を向け得る。インタフェース209は、取引所イベント(例えば、取引履行)の指示を受け入れ、通信ネットワーク205を介して宛先に情報を向け得る。   As described above, the exchange 201 may include an interface 209. Interface 209 may be useful for communication of information between an exchange and outside the exchange (eg, communication network 205). The interface may include a network interface, as is well known. The interface may process incoming communications and direct communications to various components of the exchange, such as an event engine and a matching engine. Interface 209 may accept indications of exchange events (eg, trade fulfillment) and direct information to the destination via communication network 205.

いくつかの実施形態では、インタフェース209は、取引所に関連するイベントについての情報を受信し得る。例えば、そのような情報は、注文キューについての情報、価格についての情報、変動率についての情報、履行情報、取引量についての情報等を含み得る。そのような情報は、取引所の他の要素(例えば、マッチングエンジン、イベントエンジン等)から、および/または取引所外(例えば、情報源)から受信することもできる。そのような情報は、取引所外に報告し得る。そうすることにより、取引所は、そのような情報に関する情報源として機能し得る。外部情報源ではなく取引所から、取引上で発生したイベントについての情報を得ることにより、情報に関する遅延を低減し得る。   In some embodiments, interface 209 may receive information about events associated with the exchange. For example, such information may include order queue information, price information, rate of change information, fulfillment information, transaction volume information, and the like. Such information may also be received from other elements of the exchange (eg, matching engine, event engine, etc.) and / or from outside the exchange (eg, information source). Such information can be reported outside the exchange. By doing so, the exchange can serve as an information source for such information. By obtaining information about events that have occurred on a transaction from an exchange rather than an external information source, delays in information can be reduced.

いくつかの実施形態では、インタフェース209は、1つまたは複数の機械構成要素を含み得る。そのような構成要素は、1つまたは複数のプロセッサ、メモリ等を含み得る。インタフェース209は単なる例として与えられていること、ならびに他の実施形態では、いかなるインタフェースおよび/または情報源構成要素も含まれなくてもよいことを認識されたい。   In some embodiments, the interface 209 may include one or more machine components. Such components may include one or more processors, memories, etc. It should be appreciated that interface 209 is provided as an example only, and in other embodiments, no interface and / or source components may be included.

通信ネットワーク211は、取引所201の構成要素間の通信に役立ち得る。通信ネットワーク211は、単一の機械のデータバスおよび/または他の任意の通信ネットワーク(例えば、LAN等)を含み得る。   Communication network 211 may be useful for communication between components of exchange 201. The communication network 211 may include a single machine data bus and / or any other communication network (eg, a LAN, etc.).

上述したように、取引所201はイベントエンジン213を含み得る。イベントエンジン213は、1つまたは複数のコンピュータ構成要素を含み得る。例えば、イベントエンジン213は、プロセッサ、メモリ、および/または他の任意の構成要素を含み得る。いくつかの実施形態では、イベントエンジンは、イベントの発生に基づいて、条件が満たされるときを判断する機械構成要素(例えば、プロセッサ)を含み得る。いくつかの実施形態では、条件は、その条件が満たされる前に発生し得る前提条件を含み得る。条件は、その条件が満たされる前に発生し得る1つまたは複数のイベントを含み得る。任意の数の動作が、満足される条件に依存し得る。   As described above, the exchange 201 may include an event engine 213. Event engine 213 may include one or more computer components. For example, event engine 213 may include a processor, memory, and / or any other component. In some embodiments, the event engine may include a machine component (eg, a processor) that determines when a condition is met based on the occurrence of the event. In some embodiments, the condition may include a precondition that may occur before the condition is met. A condition may include one or more events that may occur before the condition is met. Any number of operations may depend on the conditions satisfied.

いくつかの実施形態では、イベントエンジン213は、1つまたは複数のイベントを識別する情報およびイベントの発生のうちのすべてまたはいくつかを条件とし得る1つまたは複数の注文を識別する情報を受信し得る。イベントエンジン213は、注文およびイベントについての情報を記憶し得る(例えば、データベース、メモリ等に)。一実施形態例では、イベントエンジン213は、参加者203から送信された電子メッセージを、通信ネットワーク211を通して受信し得る。メッセージが任意の数の変形を受けてもよく、多くのパケットまたはサブメッセージに分けられてもよく、複数の別記の、もしくは接続されたメッセージとして受信されてもよい等であることを理解されたい。一例では、メッセージは、ESpeedの株の取引量が閾値レベルに達した場合、ESpeed 100株の買い注文を取引所に提出すべきであることを示し得る。実施形態は単純な市場注文に限定されず、様々な実施形態が任意の種類の注文を含み得ることを認識されたい。   In some embodiments, the event engine 213 receives information identifying one or more events and information identifying one or more orders that may be conditioned on all or some of the occurrences of the events. obtain. Event engine 213 may store information about orders and events (eg, in a database, memory, etc.). In one example embodiment, event engine 213 may receive an electronic message transmitted from participant 203 through communication network 211. It should be understood that the message may be subject to any number of variations, may be divided into a number of packets or sub-messages, may be received as multiple separate or connected messages, etc. . In one example, the message may indicate that a buy order for ESpeed 100 shares should be submitted to the exchange if the trading volume of ESpeed shares reaches a threshold level. It should be appreciated that the embodiments are not limited to simple market orders, and that various embodiments may include any type of order.

いくつかの実施形態では、イベントエンジン213は、1つまたは複数のイベントを識別する情報およびイベントの発生のうちのすべてまたはいくつかを条件とし得る1つまたは複数の動作を識別する情報を受信し得る。イベントエンジン213は、動作およびイベントについての情報を記憶し得る(例えば、データベース、メモリ等に)。一実施形態例では、イベントエンジン213は、参加者203から送信された電子メッセージを、通信ネットワーク211を通して受信し得る。メッセージが任意の数の変形を受けてもよく、多くのパケットまたはサブメッセージに分けられてもよく、複数の別記の、もしくは接続されたメッセージとして受信されてもよい等であることを理解されたい。一例では、メッセージは、ESpeedの株価が特定の閾値に達した場合、ESpeed 100株の買い注文を、ESpeed 50株の買い注文に変更すべきであることを示し得る。別の例では、メッセージは、特定の閾値を超える数のESpeed株の売り注文を受信した場合、ESpeed 100株の買い注文をキューから削除すべきであることを示し得る。メッセージは、ESpeed 100株の買い注文を、100株の売り注文の少なくとも閾値部分が満たされた場合、キューに戻すべきであることを示し得る。さらに別の例として、メッセージは、ESpeed株の買い注文数が閾値レベルに達した場合、ESpeed 100株のパッシブ買い注文を、ESpeed 100株のアグレッシブ買い注文に変更すべきであることを示し得る。これらの例が非限定的であり、特定の実施態様の例示として与えられることを認識されたい。   In some embodiments, the event engine 213 receives information identifying one or more events and information identifying one or more actions that may be conditioned on all or some of the occurrences of the events. obtain. Event engine 213 may store information about operations and events (eg, in a database, memory, etc.). In one example embodiment, event engine 213 may receive an electronic message transmitted from participant 203 through communication network 211. It should be understood that the message may be subject to any number of variations, may be divided into a number of packets or sub-messages, may be received as multiple separate or connected messages, etc. . In one example, the message may indicate that an ESpeed 100 share buy order should be changed to an ESpeed 50 share buy order if the ESpeed share price reaches a certain threshold. In another example, the message may indicate that the buy order for ESpeed 100 shares should be removed from the queue if a sell order for a number of ESpeed shares exceeding a certain threshold is received. The message may indicate that an ESpeed 100 share buy order should be returned to the queue if at least the threshold portion of the 100 share sell order is met. As yet another example, the message may indicate that a passive buy order for ESpeed 100 shares should be changed to an aggressive buy order for ESpeed 100 shares if the number of buy orders for ESpeed shares reaches a threshold level. It should be appreciated that these examples are non-limiting and are given as illustrations of particular embodiments.

いくつかの実施態様では、そのような情報は、イベントが発生したか否かの解析および/またはイベントが発生した場合、任意の注文を提出したらどうなるかの特定が容易なように、処理し、かつ/または記憶し得る。例えば、そのような情報が記憶されたデータベースは、イベントが発生した場合、そのイベントを条件としたすべての動作をデータベース内で容易に参照し得るように、イベントに基づいてキー化し得る。   In some implementations, such information is processed to facilitate analysis of whether or not an event has occurred and / or what happens if any order is submitted when the event occurs, And / or may be memorized. For example, a database in which such information is stored may be keyed based on the event so that when an event occurs, all operations that are conditional on the event can be easily referenced in the database.

いくつかの実施形態では、イベントエンジン213は、1つまたは複数のイベントの発生に関する情報を受信し得る。そのようなイベントは、例えば、取引所で発生するイベント、取引所外で発生するイベント等を含み得る。例えば、イベントについての情報は、通信ネットワーク211を通して受信し得る。そのような情報は、外部情報源から、取引所のマッチングエンジンから、取引所の遠隔機械等から受信し得る。一例では、電子メッセージが、ESpeed株の取引量の価値等のイベントを示し得る。   In some embodiments, the event engine 213 may receive information regarding the occurrence of one or more events. Such events may include, for example, events that occur at an exchange, events that occur outside an exchange, and the like. For example, information about the event may be received through the communication network 211. Such information may be received from an external source, from an exchange matching engine, from an exchange remote machine or the like. In one example, the electronic message may indicate an event such as the value of the trading volume of an ESpeed stock.

いくつかの実施形態では、イベントエンジンは、イベントについて受信した情報が、注文および/または動作が条件とする1つまたは複数の条件を満たすか否かを判断し得る。いくつかの実施態様では、イベントエンジンは、イベント情報の受信に応答して、定期的に、ランダムに、かつ/または他の任意の時間にそのような判断を行い得る。いくつかの実施態様では、そのような判断は、例えば、条件について記憶されている情報を参照することにより行い得る。注文および/または動作が複数のイベントを条件とし得るいくつかの実施態様では、フラグを設定して(例えば、データベース内で)、イベントが発生したことを示し得る。すべての条件にフラグが付された場合、条件が満たされ得る。ある条件がもはや満たされなくなる(例えば、取引量が低減する)ようなイベントが発生した場合、フラグを設定解除し得る。いくつかの注文が、満たされている条件のうちのいくつかおよび/またはすべてを条件とし得ることを認識されたい。例えば、注文は、いくつかの実施態様では、(条件A AND条件B)OR(条件C BUT NOT条件D)OR(条件E)等の複雑な条件セットを条件とし得る。   In some embodiments, the event engine may determine whether information received about the event meets one or more conditions conditioned by the order and / or action. In some implementations, the event engine may make such a determination periodically, randomly, and / or at any other time in response to receiving event information. In some implementations, such a determination can be made, for example, by referring to information stored about the condition. In some implementations where an order and / or action may be conditional on multiple events, a flag may be set (eg, in the database) to indicate that the event has occurred. If all conditions are flagged, the condition can be met. If an event occurs such that a condition is no longer met (eg, transaction volume is reduced), the flag may be unset. It should be appreciated that some orders may be conditioned on some and / or all of the conditions being met. For example, an order may be subject to a complex set of conditions, such as (condition A AND condition B) OR (condition C BUT NOT condition D) OR (condition E) in some implementations.

いくつかの実施形態では、イベントエンジンは、注文および/または動作が条件とする条件が満たされたか否かを判断し得る。例えば、注文が、ESpeedの取引量が特定のレベルに達することのみを条件とし、そのようなレベルに達したことを示すイベント情報を受信した場合、イベントエンジンは、注文が条件とする条件が満たされたと判断し得る。例えば、いくつかの実施態様では、イベントエンジンは、データベースまたは他の条件の集まりを検索し、かつ/または問い合わせて、注文および/または動作に関連付けられた条件にフラグが設定されているか否かを判断し得る。そのような判断が、データベースへの定期的な問い合わせ、データベースにより引き起こされるメッセージ等を含むがこれらに限定されない所望の任意の方法で行われ得ることを認識されたい。より複雑な条件付けでは、イベントエンジンは、注文を引き起こす条件セットが満たされたか否かを判断し得る(例えば、上記例から、AかつBが真の場合、Cが真であるが、Dが真ではない場合、またはEが真である場合)。   In some embodiments, the event engine may determine whether a condition conditioned by the order and / or action has been met. For example, if an order is only conditional on the ESpeed transaction volume reaching a certain level and receiving event information indicating that such level has been reached, the event engine will satisfy the condition that the order is conditional on. It can be determined that For example, in some implementations, the event engine searches a database or collection of other conditions and / or queries to determine whether a condition associated with the order and / or action is flagged. Can be judged. It should be appreciated that such a determination can be made in any desired manner, including but not limited to periodic queries to the database, messages caused by the database, and the like. For more complex conditioning, the event engine may determine whether the condition set that causes the order has been met (eg, from the above example, if A and B are true, C is true, but D is true If not, or if E is true).

いくつかの実施形態では、条件を満たした1つまたは複数の注文および/または動作に対して、イベントエンジンは、1つまたは複数の各注文の提出および/または1つまたは複数の動作の実行を促進し得る。いくつかの実施形態では、条件が満たされた場合、任意の数の注文を提出し得、かつ/または任意の数の動作を行い得ることを認識されたい。   In some embodiments, for one or more fulfilled orders and / or actions, the event engine may submit one or more orders and / or perform one or more actions. Can promote. It should be appreciated that in some embodiments, any number of orders may be submitted and / or any number of actions may be performed if conditions are met.

ESpeed注文の例では、イベントエンジン213は、ESpeed銘柄100株の買い注文の提出を促進し得る。注文は、上述したように、注文に関して受信する他の任意の情報に従って提出し得る。いくつかの実施形態では、イベントエンジンによる注文提出の促進は、マッチングエンジン207に注文を注文キューに追加させることを含み得る。ESpeed銘柄の例では、イベントエンジンは、ESpeed銘柄100株の買い注文をマッチングエンジンの買い注文キューに追加させ得る。   In the example of an ESpeed order, the event engine 213 may facilitate submitting a buy order for 100 ESpeed stocks. The order may be submitted according to any other information received regarding the order, as described above. In some embodiments, facilitating order submission by the event engine may include having the matching engine 207 add the order to the order queue. In the ESpeed brand example, the event engine may cause a buy order for 100 ESpeed brands to be added to the matching engine's buy order queue.

別の例として、ESpeed 100株の第1の買い注文は、株当たり100ドルの価格でキュー内に配置し得る。調整指示および条件を受信し得る。調整指示および条件は、第1の注文の指示と共に受信し得る。条件および調整は、条件が満たされた場合、注文に調整を行うべきであることを識別し得る。   As another example, a first buy order for ESpeed 100 shares may be placed in a queue at a price of $ 100 per share. Adjustment instructions and conditions may be received. Adjustment instructions and conditions may be received along with instructions for the first order. Conditions and adjustments may identify that an adjustment should be made to the order if the conditions are met.

例えば、ESpeedの株の大きな売り注文を受信した場合(例えば、閾値を超える注文、1000株を超える売り注文)、要求される調整は、キューから100株の買い注文を削除することであり得る。いくつかの実施態様では、第2の条件および動作を受信し得る。第2の条件および動作は、売り注文のうちのいくつかが満たされる(例えば、閾値部分が満たされる等)場合、売り注文に関連付けられた合計数量が低減した場合(例えば、何等かの閾値量よりも下に)、かつ/または他の何等かのイベントが発生した場合、注文をキューに戻すことであり得る。取引所は、発生したこれらの条件を監視し、それに従って注文への調整を促進し得る。   For example, if a large sell order for ESpeed stock is received (eg, an order exceeding a threshold, a sell order exceeding 1000 shares), the required adjustment may be to remove a buy order for 100 shares from the queue. In some implementations, the second condition and action may be received. The second condition and action is when some of the sell orders are satisfied (eg, the threshold portion is satisfied, etc.), when the total quantity associated with the sell order is reduced (eg, some threshold amount (And below) and / or if any other event occurs, the order may be returned to the queue. The exchange may monitor these conditions as they occur and facilitate adjustments to orders accordingly.

別の例として、売り注文の価格変更が発生した場合(例えば、大きな増減)、要求される調整は、注文に関連付けられた数量を増減することであり得る。例えば、価格が低減した場合、数量を増大し得、価格が増大した場合、数量を低減し得る。   As another example, if a sell order price change occurs (eg, a large increase or decrease), the required adjustment may be to increase or decrease the quantity associated with the order. For example, if the price is reduced, the quantity can be increased, and if the price is increased, the quantity can be reduced.

別の例として、売り注文の数量変更が発生した場合、第1の注文をパッシブ注文からアグレッシブ注文に変更し得る。例えば、利用可能な売り注文の数量が、閾値よりも下に低減した場合、パッシブ買い注文をアグレッシブ買い注文に変更し得る。いくつかの実施態様では、数量も同様に変更し得る。   As another example, if a sell order quantity change occurs, the first order may be changed from a passive order to an aggressive order. For example, if the quantity of available sell orders is reduced below a threshold, a passive buy order may be changed to an aggressive buy order. In some implementations, the quantity may vary as well.

例としての動作および条件が非限定的であること、ならびに様々な実施形態において、上記動作および/または条件の任意の組み合わせ、任意に関連付けられた動作および/または条件、および/または他の任意の動作および/または条件を使用し得ることを認識されたい。例えば、オファーおよび/またはビッドされる価格の増大、オファーおよび/またはビッドされる価格の低減、要求および/または提供される数量の増大、要求および/または提供される数量の低減、ならびに/あるいは他の任意のイベントの任意の組み合わせが、パッシブからアグレッシブへの注文の状態の変更、注文種類の変更、注文価格の変更、注文数量の変更、注文のキャンセル、注文の提出、および/または他の任意の所望の動作等の動作の任意の組み合わせを引き起こし得る。   Exemplary operations and conditions are non-limiting, and in various embodiments, any combination of the above operations and / or conditions, any associated operations and / or conditions, and / or any other It should be appreciated that actions and / or conditions may be used. For example, an increase in offered and / or bid price, a decrease in offered and / or bid price, an increase in demand and / or quantity offered, a reduction in demand and / or quantity offered, and / or others Any combination of any of the following events may change the order status from passive to aggressive, change the order type, change the order price, change the order quantity, cancel the order, submit the order, and / or any other Can cause any combination of actions, such as desired actions.

いくつかの実施態様では、取引所の一部であるイベントエンジンによりイベント発生を処理することにより、イベントの発生を条件とした注文の提出および/または動作に関する遅延を低減し得る。例えば、そのような情報がイベントエンジン213により処理されるのではなく、仮に参加者203によりオフサイトで処理されるならば、イベント情報の受信に関連する遅延が増大し得(例えば、イベント情報が取引所で発生するイベントに関連する場合、参加者が取引所よりも情報源への遅い接続を有する場合等)、注文の提出および/または動作に関する遅延が増大し得る(例えば、通信ネットワーク205を通して送信することにより)等である。   In some implementations, processing event occurrences by an event engine that is part of an exchange may reduce delays related to order submission and / or actions subject to the event occurrence. For example, if such information is not processed by event engine 213 but is processed off-site by participant 203, the delay associated with receiving event information may increase (eg, event information When related to events occurring at an exchange, such as when a participant has a slower connection to an information source than the exchange), delays in order submission and / or action may increase (eg, through the communication network 205). By sending) etc.

いくつかの実施態様では、注文についての情報(例えば、注文の提出、注文の調整、注文の削除等)をマッチングエンジンに送信することに関連する遅延は、注文についての情報をマッチングエンジンに送信する媒体となる通信ネットワークに基づき得る。様々な実施態様では、通信ネットワークの長さを低減して、そのような遅延を低減し、通信ネットワークの帯域幅を増大して、そのような遅延を低減し、通信ネットワーク上で注文情報に優先度を付与して、そのような遅延を低減し、通信ネットワークをそのような機能専用にして、そのような遅延を低減し得る等である。   In some implementations, a delay associated with sending information about an order (eg, order submission, order adjustment, order deletion, etc.) to the matching engine sends information about the order to the matching engine. It may be based on a communication network as a medium. Various embodiments reduce the length of the communication network to reduce such delay, increase the bandwidth of the communication network, reduce such delay, and prioritize order information on the communication network. A degree of delay can be provided to reduce such delays, a communication network can be dedicated to such functions, and so on.

いくつかの実施形態では、通信ネットワーク215はデータバスを含み得る。データバスは、イベントエンジンからマッチングエンジンに通信できるようにし得る。データバスは、そのような通信を可能にする専用バスであり得る。そのような通信は、単方向または双方向であり得る。いくつかの実施態様では、そのようなバスは、同じ機械内のイベントエンジンとマッチングエンジンとを直接結合し得る。いくつかの実施態様では、データバスはイベント注入バスを含み得る。いくつかの実施態様では、バスを通して受信した注文は、マッチングエンジンへのインターラプトとして機能し得る。いくつかの実施態様では、バスを通してマッチングエンジンに送信された注文および/または動作の指示は、少なくとも1つの他の保留中の命令前に処理されるように、命令キューに追加し得る。例えば、注文および/または動作がマッチングエンジンにより次に処理されるように、注文および/または動作を処理する命令を命令スタックの最上部に追加し得る。いくつかの実施態様では、注文および/または動作を処理する命令は、他の保留中の注文および/または動作を処理する命令の前に追加し得る。いくつかの実施態様では、そのような命令は、他のソースから受信した注文および/または動作(例えば、イベントエンジンから受信したものではない注文および/または動作、参加者203から受信した注文および/または動作等)の前に処理されるように追加し得る。いくつかの実施態様では、イベントエンジンからの注文および/または動作用に、他の注文および/または動作の前に処理し得る別個の命令キューを保持し得る。   In some embodiments, the communication network 215 may include a data bus. The data bus may allow communication from the event engine to the matching engine. The data bus may be a dedicated bus that allows such communication. Such communication can be unidirectional or bidirectional. In some implementations, such a bus may directly couple an event engine and a matching engine in the same machine. In some implementations, the data bus may include an event injection bus. In some implementations, orders received over the bus can serve as interrupts to the matching engine. In some implementations, order and / or action instructions sent to the matching engine over the bus may be added to the instruction queue so that they are processed before at least one other pending instruction. For example, instructions that process orders and / or actions may be added to the top of the instruction stack so that the orders and / or actions are then processed by the matching engine. In some implementations, instructions for processing orders and / or actions may be added before instructions for processing other pending orders and / or actions. In some implementations, such instructions may include orders and / or actions received from other sources (eg, orders and / or actions not received from the event engine, orders received from participant 203 and / or Or may be added to be processed prior to operation, etc.). In some implementations, a separate instruction queue may be maintained for orders and / or actions from the event engine that may be processed before other orders and / or actions.

いくつかの実施形態では、データバスは、情報を機械の構成要素の間/に/から送信するために使用される通信ネットワークを含み得る。いくつかの実施態様では、データバスは、複数の遠隔の機械の間の通信に関わる通信ネットワークよりもはるかに高速のデータ転送を提供し得る。いくつかの実施態様では、データバスは、データおよびイベントをある機械構成要素から別の機械構成要素に注入し得るように、直接メモリアクセスおよび直接レジスタアクセスを提供することもできる。   In some embodiments, the data bus may include a communication network used to transmit information to / from machine components. In some implementations, the data bus may provide much faster data transfer than a communication network that involves communication between multiple remote machines. In some implementations, the data bus can also provide direct memory access and direct register access so that data and events can be injected from one machine component to another.

いくつかの実施態様では、イベントエンジンから受信した注文および/または動作に、他のソースから受信した注文および/または動作よりも高い優先度を付与することにより、それらの注文および/または動作を、他の注文および/または動作よりも早く、かつ/または高い優先度で処理し得、かつ/または注文キューに影響を及ぼし得る。これは、マッチングエンジンが他の注文および/または動作を、イベントエンジンからの注文および/または動作よりも先に受信した場合であっても実行し得る。   In some implementations, orders and / or actions received from the event engine are given higher priority than orders and / or actions received from other sources, It can be processed earlier and / or with higher priority than other orders and / or actions and / or can affect the order queue. This may be performed even if the matching engine receives other orders and / or actions prior to orders and / or actions from the event engine.

いくつかの実施態様では、イベントエンジンからの注文を優先することにより、イベントが発生してから、注文が注文キューに追加されるまでの遅延を低減し得る。そのような優先は、マッチングエンジンが、注文が注文キューにいつ追加されたかに基づいて注文に優先度を付与するように構成されている場合、注文が受ける優先度レベルを増大させ得る。   In some implementations, prioritizing orders from the event engine may reduce the delay between the occurrence of an event and the order being added to the order queue. Such priority may increase the priority level received by an order if the matching engine is configured to give priority to the order based on when the order was added to the order queue.

いくつかの実施形態では、注文および/または動作にタイムスタンプを付与し得る。そのようなタイムスタンプ付与を使用して、マッチングエンジンによる注文キュー内の優先度付与を支援し得る。いくつかの実施態様では、例えば、イベントエンジンから送信された注文および/または動作に、イベントが発生した時間、イベント発生の指示がイベントエンジンにより処理された時間、調整中もしくは追加中のオリジナルの注文が当初提出された時間もしくは別の様式でタイムスタンプ付与された時間、および/または他の任意の所望の時間等のイベント発生に関連する時間を使用してタイムスタンプ付与し得る。マッチングエンジンは、タイムスタンプを使用して注文および/または動作を処理して、マッチングエンジンが注文および/または動作をいつ受信したかに関係なく、キュー内の位置に注文を配置し得る。したがって、いくつかのそのような実施態様では、注文および/または動作が、別のソースからの注文および/または動作の後にマッチングエンジンにより受信され処理される場合であっても、タイムスタンプに基づいて、注文キュー内で、イベントエンジンからの注文および/または動作に他の注文および/または動作よりも高い優先度を付与し得る。他の注文は、例えば、遅いタイムスタンプを有してもよく、かつ/またはタイムスタンプが付与されなくてもよい。他の注文にタイムスタンプが付与されない場合、それら他の注文は、まるで、キューに追加された時間または別のイベントが発生した時間に等しいタイムスタンプを有するかのように処理し得る。   In some embodiments, orders and / or actions may be time stamped. Such a time stamping may be used to assist the prioritization in the order queue by the matching engine. In some implementations, for example, the order and / or action sent from the event engine includes the time when the event occurred, the time when the indication of event occurrence was processed by the event engine, the original order being adjusted or added May be time-stamped using time originally associated with the event occurrence, such as time originally submitted or otherwise time-stamped, and / or any other desired time. The matching engine may process the order and / or action using the time stamp to place the order at a location in the queue regardless of when the matching engine received the order and / or action. Thus, in some such implementations, based on time stamps, even if orders and / or actions are received and processed by a matching engine after orders and / or actions from another source. Within the order queue, orders and / or actions from the event engine may be given higher priority than other orders and / or actions. Other orders may have, for example, a late time stamp and / or no time stamp. If other orders are not time stamped, they may be processed as if they had a time stamp equal to the time added to the queue or when another event occurred.

図2Aの個々の構成要素の説明が単なる例として与えられることを認識されたい。図2Aの取引所が単なる例として与えられることも認識されたい。様々な実施形態において、構成要素の任意の組み合わせおよび任意の構成要素セットを使用し得る。そのような構成要素は、例えば、セキュリティ構成要素、クレジット構成要素、報告構成要素、クリアリング構成要素等を含み得る。   It should be appreciated that the descriptions of the individual components of FIG. 2A are given as examples only. It should also be appreciated that the exchange of FIG. 2A is provided as an example only. In various embodiments, any combination of components and any set of components may be used. Such components may include, for example, security components, credit components, reporting components, clearing components, and the like.

図2Bは、通信ネットワーク215が、イベントエンジン213からキュー217および219への直接メモリアクセスを可能にするように構成された実施形態例を示す。そのような実施形態では、キュー内の注文情報は、情報の直接メモリアクセスにより変更し得る。例えば、注文情報(例えば、注文価格、注文数量、注文タイムスタンプ等)をメモリロケーションに記憶し得る。メモリロケーションにアクセスし(例えば、イベントエンジンまたは他の何等かの構成要素により)、情報を読み取り、かつ/または情報を変更して注文を調整し得る。いくつかの実施形態では、直接メモリアクセスを通して、特定の注文を求めてキューを検索して、メモリロケーションを特定し得る(例えば、リンクされたリストの一連のリンクを辿り、注文を見つける等により)。いくつかの実施態様では、イベントエンジンは、マッチングエンジンとの通信に基づいてメモリロケーションを追跡し得る(例えば、マッチングエンジンは、イベントエンジンが注文を後に調整するために情報を記録し得るように、注文が配置されているメモリロケーションの指示をイベントエンジンに送信し得る)。そのような通信は、すべての注文、いくつかの注文、イベントエンジンにより配置された注文等と実行し得る。いくつかの実施態様では、注文は、そのような直接メモリアクセスを使用して(例えば、リスト内にノードを追加することにより、リストからノードを削除等することにより)追加かつ/または削除し得る。   FIG. 2B illustrates an example embodiment in which the communication network 215 is configured to allow direct memory access from the event engine 213 to the queues 217 and 219. In such an embodiment, the order information in the queue may be changed by direct memory access of the information. For example, order information (eg, order price, order quantity, order time stamp, etc.) may be stored in a memory location. The memory location may be accessed (eg, by an event engine or some other component) to read information and / or change information to adjust the order. In some embodiments, through direct memory access, a queue may be searched for a specific order to identify a memory location (eg, by following a series of links in a linked list to find an order, etc.) . In some implementations, the event engine may track the memory location based on communication with the matching engine (e.g., the matching engine may record information for the event engine to later adjust the order, such as An indication of the memory location where the order is located may be sent to the event engine). Such communication may be performed with all orders, some orders, orders placed by the event engine, and so on. In some implementations, orders may be added and / or deleted using such direct memory access (eg, by adding a node in the list, deleting a node from the list, etc.). .

図2Cは、別個の規則または動作処理要素221を有する取引所の別の実施形態を示す。規則または動作処理は、上述したイベントエンジンと同様に、注文への調整等の動作を処理し得る。例えば、規則または動作処理要素は、動作が条件とする条件を追跡し、条件が満たされた動作を促進し得る。規則または動作処理要素は、イベントについての情報をイベントエンジン、マッチングエンジン、および/または外部ソースから受信し得る。調整は、通信ネットワーク215および/または211を通して行い得る。   FIG. 2C shows another embodiment of an exchange having a separate rule or action processing element 221. Rule or action processing may handle actions such as order adjustments, similar to the event engine described above. For example, a rule or action processing element may track the conditions that an action is conditioned on and facilitate actions that satisfy the condition. A rule or action processing element may receive information about the event from an event engine, a matching engine, and / or an external source. Coordination may occur through communication networks 215 and / or 211.

図2A、図2B、および図2Cの取引所の例が、そのような例および/または他の所望の任意の構成または要素として付与され、単なる例、ならびに他の実施形態がからの要素の任意の組み合わせを含み得ることを認識されたい。   The example exchanges of FIGS. 2A, 2B, and 2C are given as such examples and / or any other desired configuration or element, and are merely examples and any of the elements from other embodiments It should be recognized that a combination of

図3は、イベントエンジン303、複数のマッチングエンジン305、および通信ネットワーク307を含む取引所301の実施形態例を示す。いくつかの実施態様では、イベントエンジン303は、図2Aの上記対話と同様にして、各マッチングエンジン305と対話し得る。   FIG. 3 illustrates an example embodiment of an exchange 301 that includes an event engine 303, a plurality of matching engines 305, and a communication network 307. In some implementations, the event engine 303 may interact with each matching engine 305 in a manner similar to the above interaction of FIG. 2A.

上述したように、マッチングエンジンは、1つまたは複数の金融商品、金融商品に対する1つまたは複数の注文種類、1つまたは複数の注文サイズ範囲、1つまたは複数の動作種類等に専用であり得る。したがって、単一の金融商品および/または複数の金融商品に関する取引により多くのサービスを提供するために、複数のマッチングエンジンを取引所に含め得る。いくつかの実施態様では、各マッチングエンジンに対して、取引所内のすべての注文のうちの特定のサブセットをタスクとし得る。他の実施態様では、マッチングエンジンは、同じ注文セットに対して並列に動作して、非常に流動性の高い商品等の注文処理の負荷を共有し得る。   As described above, the matching engine may be dedicated to one or more financial products, one or more order types for financial products, one or more order size ranges, one or more operation types, etc. . Thus, multiple matching engines may be included in an exchange to provide more services for transactions involving a single financial instrument and / or multiple financial instruments. In some implementations, for each matching engine, a particular subset of all orders in the exchange may be a task. In other implementations, the matching engine may operate in parallel on the same order set to share the load of order processing, such as very liquid goods.

いくつかの実施形態では、1つまたは複数のイベントエンジン303を複数のマッチングエンジン305に結合し得る。ここでは1つのエンジンとして示されるイベントエンジン303は、図2Aに関して上述したように、イベントの発生に基づいて注文および/または動作をマッチングエンジンに提供し得る。所望に応じて、複数のイベントエンジンを1つのマッチングエンジンとペアにしてもよく、または複数のイベントエンジンを複数のマッチングエンジンとペアにしてもよいことを認識されたい。例えば、イベントエンジンは、特定の種類のイベント、特定の種類の注文等を処理するように設計し得る。   In some embodiments, one or more event engines 303 may be coupled to multiple matching engines 305. The event engine 303, shown here as one engine, may provide orders and / or actions to the matching engine based on the occurrence of the event, as described above with respect to FIG. 2A. It should be appreciated that multiple event engines may be paired with a single matching engine or multiple event engines may be paired with multiple matching engines as desired. For example, the event engine may be designed to handle specific types of events, specific types of orders, and the like.

一実施態様例では、イベントエンジン303は、ESpeedの金融商品に対する注文を処理し得る。マッチングエンジンのそれぞれは、ESpeedの債権、ESpeedの優先株、ESpeedの普通株、およびESpeed株の先物のそれぞれ1つを処理し得る。イベントエンジンは、そのようなすべての商品に関連する注文を処理し得る。イベントエンジンは、そのような商品に関連するイベントおよび/または他の任意のイベントを処理し得る。   In one example embodiment, event engine 303 may process orders for ESpeed financial instruments. Each of the matching engines may process one each of ESpeed's receivables, ESpeed's preferred stock, ESpeed's common stock, and ESpeed's stock futures. The event engine may process orders associated with all such items. The event engine may handle events related to such merchandise and / or any other event.

通信ネットワーク307は、上述したようにデータバスを含み得る。データバスは、示されるように、複数のマッチングエンジンで共有されるバスであり得る。他の実施態様では、専用データバスが、各マッチングエンジンをイベントエンジンに結合し得る。   Communication network 307 may include a data bus as described above. The data bus can be a bus shared by multiple matching engines, as shown. In other embodiments, a dedicated data bus may couple each matching engine to the event engine.

図3は図2Aと同様の構成を考察するが、他の実施形態を、図2Bに関して考察した直接キューアクセス、図2Cに関連して考察した別個の規則エンジン、ならびに/あるいは他の任意の所望の構成要素および/または構成を組み込むように構成し得ることを認識されたい。   3 considers a configuration similar to FIG. 2A, but other embodiments include direct queue access as discussed with respect to FIG. 2B, a separate rules engine discussed with respect to FIG. 2C, and / or any other desired It should be appreciated that the above-described components and / or configurations may be incorporated.

図4は、さらに別の取引所例を示す。図4に示されるように、取引所401は、複数のシステム(例えば、ブレード、サーバ、機械、汎用コンピュータ等)で実施し得る。この取引所例は、4つの注文クラスタ403、イベントコントローラ405、イベントネットワーク407、インタフェース409、通信ネットワーク411、および追加の構成要素413を含む。   FIG. 4 shows yet another example exchange. As shown in FIG. 4, the exchange 401 may be implemented with multiple systems (eg, blades, servers, machines, general purpose computers, etc.). This example exchange includes four order clusters 403, an event controller 405, an event network 407, an interface 409, a communication network 411, and an additional component 413.

注文クラスタ403は、上述したように、任意の方法で結合された任意の数のマッチングエンジンおよびイベントエンジンを含み得る。注文クラスタは、ブレード、サーバ等で実施し得る。注文クラスタは、特定の金融商品、イベント種類、動作種類、および/または注文種類に関連する注文、イベント、および/または動作を処理し得る。取引所は、任意の数および/または構成の注文クラスタを有し得る。   The order cluster 403 may include any number of matching engines and event engines combined in any manner, as described above. Order clusters can be implemented with blades, servers, and the like. An order cluster may process orders, events, and / or actions associated with a particular financial instrument, event type, action type, and / or order type. An exchange may have any number and / or configuration of order clusters.

注文クラスタは、イベント情報を受信し、かつ/または送信できるように(例えば、他のイベントエンジンから、他のイベントエンジンに、外部ソースから、外部ソースに、イベントコントローラ405に、イベントコントローラ405から等)、通信ネットワークに結合されたイベントエンジンを含み得る。そのような通信ネットワークは、図4のイベントネットワーク407として示される。イベントネットワークは、イベント情報を異なるシステム間および/または構成要素間で通信できるようにする通信ネットワークを含み得る。そのようなネットワークは、イベント情報の通信に関連する遅延を低減するためにイベント通信専用であり得る。例えば、イベントは、第1の注文クラスタ内で発生した何かに関連し、第2の注文クラスタが、注文を生成すべきであるか否かを判断するために必要であり得る。イベント情報専用の高速通信ネットワークは、そのような情報のそのような通信に関連する遅延を低減し得る。しかし、他の実施形態では、そのような専用ネットワークが含まれなくてもよいこと、および様々な実施形態では、任意の構成の通信ネットワークを使用し得ることを認識されたい。   The order cluster can receive and / or transmit event information (eg, from other event engines, to other event engines, from external sources, to external sources, to event controller 405, from event controller 405, etc. ), Which may include an event engine coupled to the communication network. Such a communication network is shown as event network 407 in FIG. The event network may include a communication network that allows event information to be communicated between different systems and / or components. Such a network may be dedicated to event communication to reduce delays associated with communication of event information. For example, an event may relate to something that has occurred in a first order cluster, and a second order cluster may be necessary to determine whether an order should be generated. A high-speed communication network dedicated to event information may reduce the delay associated with such communication of such information. However, it should be appreciated that in other embodiments such a dedicated network may not be included, and in various embodiments, any configuration of communication network may be used.

いくつかの実施形態では、イベントコントローラ405は、イベントネットワークまたは他の任意の通信ネットワークをとして、イベントについての情報を受信し、その情報を1つまたは複数の注文クラスタに送信し得る。いくつかの実施形態では、イベントコントローラが含まれなくてもよい。いくつかの実施形態では、イベントエンジンはクラスタ内に含まれず、イベントコントローラがイベントエンジンとして動作し得る。いくつかの実施形態では、イベントエンジンは、中間イベント処理、変数設定、ネットワーク外へのイベント情報の通信等の所望の任意のイベント処理を提供し得る。   In some embodiments, the event controller 405 may receive information about the event and send the information to one or more order clusters using an event network or any other communication network. In some embodiments, an event controller may not be included. In some embodiments, the event engine is not included in the cluster and the event controller may operate as the event engine. In some embodiments, the event engine may provide any desired event processing, such as intermediate event processing, variable setting, communication of event information outside the network, and the like.

いくつかの実施形態では、注文クラスタは、注文の受信、注文に対する条件の受信等の情報を通信するためのインタフェースを含み得る。そのようなインタフェースは、通信ネットワーク411に結合し得る。通信ネットワーク411は、取引所の構成要素間の汎用通信ネットワークとして動作し得る。他の実施形態では、任意の構成の通信ネットワークを使用し得る。   In some embodiments, the order cluster may include an interface for communicating information such as receipt of orders, receipt of conditions for orders, and the like. Such an interface may be coupled to communication network 411. The communication network 411 may operate as a general communication network between exchange components. In other embodiments, any configuration of communication network may be used.

インタフェース409は、参加者、情報源等の外部ソースと取引所との間をインタフェースし得る。情報は、取引所の構成要素が外部ソースと通信できるようにする通信ネットワーク411を通して送受信し得る。   Interface 409 may interface between external sources such as participants, information sources, and the exchange. Information may be sent and received through a communication network 411 that enables exchange components to communicate with external sources.

追加の構成要素413は、取引所の他の任意の所望の構成要素を含み得る。例えば、そのような構成要素は、クリアリングハウス、クレジット機能、セキュリティ機能、別個の規則処理機能等を含み得る。   Additional components 413 may include any other desired component of the exchange. For example, such components may include a clearinghouse, a credit function, a security function, a separate rule processing function, and the like.

この取引所例が非限定的であること、および様々な実施形態では、任意の構成の取引所構成要素を任意の方法で組み合わせ得ることを認識されたい。いくつかの実施形態では、例えば、図4に示されるような複数の構成を任意の方法で組み合わせて、さらに大きな取引所を生成し得る。そのような抽象化を任意の回数行って、望まれる任意の数の注文に対応できる任意のサイズの取引所を生成し得る。注文クラスタは図2Aの構成と同様のものとして説明されるが、他の実施形態が、図2Bにおいて説明された直接キューアクセス、図2Cにおいて説明された別個の規則プロセッサ、ならびに/あるいは所望の任意の構成要素および/または構成を含む構成を含み得ることを認識されたい。   It should be appreciated that this example exchange is non-limiting and that in various embodiments, any configuration of exchange components can be combined in any manner. In some embodiments, for example, multiple configurations as shown in FIG. 4 may be combined in any way to create a larger exchange. Such an abstraction can be made any number of times to produce an exchange of any size that can accommodate any number of orders desired. Although the order cluster is described as being similar to the configuration of FIG. 2A, other embodiments may include direct queue access as described in FIG. 2B, a separate rule processor as described in FIG. 2C, and / or any desired It should be appreciated that configurations including the following components and / or configurations may be included.

図5は、いくつかの実施形態において実施し得る例としての方法500を示す。方法500は、1つまたは複数のプロセッサおよび/またはマッチングエンジン、イベントエンジン、インタフェース等の取引所の他の構成要素により実施し得る。   FIG. 5 illustrates an example method 500 that may be implemented in some embodiments. Method 500 may be performed by one or more processors and / or other components of an exchange such as a matching engine, event engine, interface, and the like.

ブロック501に示されるように、方法500は、条件指示を受信することを含み得る。この指示は、リモートコンピュータから受信し得る。条件は1つまたは複数のイベントを定義し得る。条件は、上述したように、イベントが発生した場合に満たされ得る。   As shown in block 501, method 500 may include receiving a condition indication. This indication may be received from a remote computer. A condition may define one or more events. The condition can be met when an event occurs, as described above.

ブロック503に示されるように、方法500は、注文指示を受信することを含み得る。この指示は、リモートコンピュータから受信し得る。リモートコンピュータは、条件指示の送信元であるコンピュータと同じコンピュータであり得る。条件指示および注文指示は、一緒に受信してもよく(例えば、1つの電子メッセージ内で、同時に等)、1つの指示であってもよく、別個の指示であってもよい等である。注文は、金融商品に対する取引の側を定義する。   As shown in block 503, the method 500 may include receiving an order instruction. This indication may be received from a remote computer. The remote computer may be the same computer as the computer from which the condition instruction is sent. The condition instructions and order instructions may be received together (eg, simultaneously in one electronic message, etc.), may be one instruction, may be separate instructions, etc. An order defines the side of a transaction for a financial instrument.

ブロック505に示されるように、方法500は、イベントが発生したと判断することを含み得る。そのような判断は、プロセッサにより行い得る。例えば、そのような判断は、取引所のイベントエンジンにより行い得る。いくつかの実施態様では、例えば、そのような判断は、イベントが発生したことの指示が受信された(例えば、外部ソース、マッチングエンジン、取引所の別の構成要素等から)場合に行われてもよく、イベントのデータベースが検索された場合に行われてもよく、イベントが取引所で発生した場合(例えば、マッチングエンジンが取引を利用する場合等)に行われてもよい等である。いくつかの実施態様では、イベント発生指示は、取引所の構成要素および/または外部ソースが受信し、かつ送信し得る。   As shown in block 505, the method 500 may include determining that an event has occurred. Such a determination can be made by the processor. For example, such a determination can be made by the event engine of the exchange. In some implementations, for example, such a determination is made when an indication that an event has occurred is received (eg, from an external source, a matching engine, another component of an exchange, etc.). Alternatively, it may be performed when an event database is searched, or may be performed when an event occurs at an exchange (for example, when a matching engine uses a transaction). In some implementations, the event occurrence indication may be received and transmitted by an exchange component and / or an external source.

ブロック507に示されるように、方法500は、注文指示をマッチングエンジンに送信することを含み得る。そのような指示は、通信バスを通して送信し得る。通信バスは、プロセッサ(例えば、イベントエンジン)を別のプロセッサ(例えば、マッチングエンジン)に結合し得る。そのような指示の送信は、ブロック505の判断に応答して行われ得る。   As shown in block 507, the method 500 may include sending an order instruction to the matching engine. Such an indication may be transmitted over a communication bus. The communication bus may couple a processor (eg, an event engine) to another processor (eg, a matching engine). Such an indication may be sent in response to a determination at block 505.

ブロック509に示されるように、方法500は、注文を注文キューに追加することを含み得る。注文キューは、プロセッサ(例えば、マッチングエンジン)の一部であり得る。マッチングエンジンは、上述したように、注文の一致を特定し、一致する注文を満たす取引を履行するように構成し得る。   As shown in block 509, the method 500 may include adding an order to an order queue. The order queue may be part of a processor (eg, a matching engine). The matching engine may be configured to identify an order match and fulfill a transaction that satisfies the matching order, as described above.

方法500が単なる例であること、および他の方法が任意の動作セットを含み得ることを認識されたい。例えば、様々な実施形態では、タイムスタンプ付与、注文の履行、注文のクリアリング、命令スタックへの追加、注文の報告等を含め得る。   It should be appreciated that the method 500 is merely an example and that other methods can include any set of operations. For example, various embodiments may include time stamping, order fulfillment, order clearing, addition to the instruction stack, order reporting, and the like.

図6は、いくつかの実施形態において実施し得る例としての方法600を示す。方法600は、1つまたは複数のプロセッサならびに/あるいはイベントエンジン等の取引所の他の構成要素により実行し得る。   FIG. 6 illustrates an example method 600 that may be implemented in some embodiments. The method 600 may be performed by one or more processors and / or other components of an exchange such as an event engine.

ブロック601に示されるように、方法600は、イベントが発生したことの指示を受信することを含み得る。そのような指示は、取引所外の情報源等のリモートコンピュータから受信し得る。そのような指示は、マッチングエンジン、イベントコントローラ等のプロセッサから受信し得る。そのような指示は、所望の任意の情報源から受信し得る。   As shown in block 601, method 600 may include receiving an indication that an event has occurred. Such an indication may be received from a remote computer, such as an information source outside the exchange. Such an indication may be received from a processor such as a matching engine, event controller or the like. Such an indication may be received from any desired information source.

ブロック603に示されるように、方法600は、注文が条件とする条件が満たされたと判断することを含み得る。注文は、金融商品に対する取引の側を定義し得る。この特定は、取引所のプロセッサにより行い得る。この特定は、イベントエンジンにより行い得る。この特定は、注文および条件情報が記憶されたデータベース等の記憶されている情報を検索することにより行い得る。   As shown in block 603, the method 600 may include determining that the conditions conditioned by the order have been met. An order may define the side of a transaction for a financial instrument. This identification may be performed by an exchange processor. This identification can be done by an event engine. This specification can be performed by searching stored information such as a database storing order and condition information.

ブロック605に示されるように、方法600は、注文を注文キューに追加する指示を送信することを含み得る。注文キューは、取引所のマッチングエンジンにより保持し得る。送信は、データバスを通して実行し得る。データバスは、取引所のプロセッサ(例えば、方法を実行するイベントエンジンおよびキューを保持するマッチングエンジン)を結合し得る。送信は、ブロック603の特定に応答して実行し得る。   As shown in block 605, the method 600 may include sending an instruction to add the order to the order queue. The order queue may be maintained by an exchange matching engine. Transmission can be performed over a data bus. The data bus may couple an exchange processor (eg, an event engine that performs the method and a matching engine that maintains a queue). The transmission may be performed in response to the identification of block 603.

方法600が単なる例であること、および他の方法が任意の動作セットを含み得ることを認識されたい。例えば、様々な実施形態において、タイムスタンプ付与、注文の受信、注文の記憶、条件の記憶、記憶されている情報の検索、注文の履行、注文のクリアリング、命令スタックへの追加、注文の報告、イベントの報告等を含め得る。   It should be appreciated that the method 600 is merely an example and that other methods can include any set of operations. For example, in various embodiments, timestamping, order receipt, order storage, condition storage, stored information retrieval, order fulfillment, order clearing, addition to the instruction stack, order reporting , Event reports, etc. may be included.

図7は、いくつかの実施形態において実施し得る例としての方法700を示す。方法700は、マッチングエンジン、イベントエンジン、インタフェース等の1つまたは複数のプロセッサおよび/または取引所の他の構成要素により実行し得る。   FIG. 7 illustrates an example method 700 that may be implemented in some embodiments. Method 700 may be performed by one or more processors and / or other components of an exchange, such as a matching engine, event engine, interface, and the like.

ブロック701に示されるように、方法700は、条件指示を受信することを含み得る。指示は、リモートコンピュータから受信し得る。条件は、1つまたは複数のイベントを定義し得る。条件は、上述したように、イベントが発生した場合に満たされ得る。   As shown in block 701, the method 700 may include receiving a condition indication. The instructions may be received from a remote computer. A condition may define one or more events. The condition can be met when an event occurs, as described above.

ブロック703に示されるように、方法700は、動作指示を受信することを含み得る。指示は、リモートコンピュータから受信し得る。リモートコンピュータは、条件指示の送信元と同じコンピュータであり得る。条件指示および動作指示は、一緒に受信してもよく(例えば、1つの電子メッセージ内で、同時に等)、1つの指示であってもよく、別個の指示であってもよい等である。動作は、金融商品に対する注文の調整を定義する。調整は、キャンセル、キューからの一時的な削除(例えば、別のイベントが発生するまで)、数量の変更、価格の変更、キュー内への代替の注文の配置等を含み得る。動作は、条件が満たされた場合にとるべき他の所望の任意の動作を含み得る。   As shown in block 703, the method 700 may include receiving an operational instruction. The instructions may be received from a remote computer. The remote computer may be the same computer as the condition instruction source. Conditional instructions and operational instructions may be received together (eg, simultaneously in one electronic message, etc.), may be one instruction, may be separate instructions, and so on. The action defines an order adjustment for the financial instrument. Adjustments may include cancellations, temporary removal from the queue (eg, until another event occurs), quantity changes, price changes, placement of alternative orders in the queue, etc. The action may include any other desired action to be taken if the condition is met.

ブロック705に示されるように、方法700は、イベントが発生したと判断することを含み得る。そのような特定は、プロセッサにより行い得る。例えば、そのような特定は、取引所のイベントエンジンにより行い得る。いくつかの実施態様では、例えば、そのような特定は、イベントが発生したことの指示を受信した場合に行ってもよく(例えば、外部ソース、マッチングエンジン、取引所の別の構成要素等から)、イベントのデータベースが検索される場合に行ってもよく、イベントが取引所で発生した場合(例えば、マッチングエンジンが取引を履行した場合等)に行ってもよい等である。いくつかの実施態様では、イベント発生指示は、取引所の構成要素および/または外部ソースから受信し、かつ/または取引所の構成要素および/または外部ソースに送信し得る。いくつかのイベント例としては、第2の金融商品の価値の変更、第2の金融商品の取引量の変更、企業による決算公表、取引の逆側の注文の提出(例えば、ある数量を有する価格ポイント等で特定の条件を満たす注文等)、業界を規制する規制の変更、および企業の信用格付けの変更等を挙げることができる。   As shown in block 705, the method 700 may include determining that an event has occurred. Such identification can be performed by a processor. For example, such identification may be performed by an exchange event engine. In some implementations, for example, such identification may be performed upon receiving an indication that an event has occurred (eg, from an external source, a matching engine, another component of an exchange, etc.). It may be performed when the event database is searched, or may be performed when the event occurs at the exchange (for example, when the matching engine fulfills the transaction). In some implementations, the event occurrence indication may be received from an exchange component and / or an external source and / or transmitted to the exchange component and / or an external source. Some example events include a change in the value of a second financial product, a change in the volume of a second financial product, an announcement of financial results by a company, submission of an order on the opposite side of the transaction (eg, a price with a certain quantity) Orders that meet specific conditions with points, etc.), changes in regulations that regulate the industry, changes in corporate credit ratings, and the like.

ブロック707に示されるように、方法700は、注文調整指示をマッチングエンジンに送信することを含み得る。そのような指示は、通信バスを通して送信し得る。通信バスは、プロセッサ(例えば、イベントエンジン、規則プロセッサ等)を別のプロセッサ(例えば、マッチングエンジン)に結合し得る。そのような指示の送信は、ブロック705の特定に応答して実行し得る。   As shown in block 707, the method 700 may include sending an order adjustment instruction to the matching engine. Such an indication may be transmitted over a communication bus. The communication bus may couple a processor (eg, event engine, rules processor, etc.) to another processor (eg, matching engine). Such an indication transmission may be performed in response to the identification of block 705.

ブロック709に示されるように、方法700は注文を調整することを含み得る。調整は、キャンセル、キューからの一時的な削除(例えば、別のイベントが発生するまで)、数量の変更、価格の変更、キュー内への代替の注文の配置等を含み得る。注文の調整は、マッチングエンジンのキュー内で保留中の注文の調整、マッチングエンジンのキューへの注文の追加、および/またはマッチングエンジンのキュー内のキューの削除を含み得る。マッチングエンジンは、上述したように、注文のマッチを特定し、取引を履行して、一致する注文を満たすように構成し得る。   As shown in block 709, the method 700 may include adjusting the order. Adjustments may include cancellations, temporary removal from the queue (eg, until another event occurs), quantity changes, price changes, placement of alternative orders in the queue, etc. Order adjustment may include adjusting orders pending in the matching engine queue, adding orders to the matching engine queue, and / or deleting queues in the matching engine queue. The matching engine may be configured to identify order matches, fulfill trades and fill matching orders, as described above.

いくつかの実施形態では、注文の調整は、マッチングエンジンが、命令スタック内で保留中の少なくとも1つの命令を実行する前に、注文を調整することを含み得る。例えば、注文を調整する命令は、少なくとも1つの命令の前に(例えば、割り込み、直接メモリアクセス等を使用して)マッチングエンジンの命令スタックに追加し得る。少なくとも1つの命令は、買い注文キューおよび売り注文キューのうちの一方への別の注文の追加および削除のうちの少なくとも一方を含み得る。   In some embodiments, order adjustment may include the order being adjusted by the matching engine before executing at least one instruction pending in the instruction stack. For example, an order reconciliation instruction may be added to the matching engine instruction stack before the at least one instruction (eg, using interrupts, direct memory access, etc.). The at least one instruction may include at least one of adding and deleting another order to one of the buy order queue and the sell order queue.

いくつかの実施形態では、注文の調整は、情報をマッチングエンジンのメモリロケーションに送信することを含み得る。情報は、命令、注文、注文への調整等を含み得る。いくつかの実施態様では、メモリロケーションは、キュー内の注文に関連付けられたメモリロケーションを含み得る。そのような実施態様では、注文の調整は、メモリロケーションに記憶されている注文についての情報を変更することを含み得る(例えば、直接メモリアクセスを使用して)。   In some embodiments, order reconciliation may include sending information to a matching engine memory location. Information may include instructions, orders, adjustments to orders, and the like. In some implementations, the memory location may include a memory location associated with an order in the queue. In such an implementation, order adjustment may include changing information about the order stored in the memory location (eg, using direct memory access).

いくつかの実施形態では、注文の調整は、マッチングエンジンのキューから注文を削除することを含み得る。キューから注文を削除することは、注文に対する取引の履行を停止させ得る。注文の調整は、代替の注文をマッチングエンジンのキューに追加することを含み得る。代替の注文は、調整されたパラメータ(例えば、サイズ、価格、種類等)を有する注文を含み得る。一実施態様では、元々の注文がパッシブ注文(例えば、一致が見つかるのを待っている注文)であり、代替の注文はアグレッシブ注文(例えば、とるべき注文/注文のリフト(order to take/lift an order))であり得る。いくつかの実施態様では、代替の注文を、元々の注文と同じ時間に基づく優先度でキューに追加し得る。例えば、イベントエンジンおよび/またはマッチングエンジンは、元々の注文のタイムスタンプを代替の注文に配置し得る。例えば、第1の注文を削除すべきであり、第2の注文を第1の注文と同じタイムスタンプでキューに追加すべきであることを示す命令をマッチングエンジンに送信し得る。いくつかの実施態様では、注文は、代替を追加せずに削除し得る(例えば、即座に、別のイベントが発生した後まで、常に等)。例えば、一実施態様では、取引の注文と逆側の新規注文を受信し、新規注文が、閾値を超える数量のものである場合、注文をキューから削除し得る。逆側の注文に関連付けられた数量が別の閾値量を下回るまで低減した場合(例えば、新規注文が満たされた場合、新規注文がキャンセルされた場合等)、注文をキューに戻し得る。   In some embodiments, order reconciliation may include removing the order from the matching engine queue. Deleting an order from the queue may stop fulfilling the transaction for the order. Order reconciliation may include adding an alternative order to the matching engine queue. Alternative orders may include orders with adjusted parameters (eg, size, price, type, etc.). In one embodiment, the original order is a passive order (eg, an order waiting for a match to be found) and an alternative order is an aggressive order (eg, order to take / lift an order)). In some implementations, alternative orders may be added to the queue with a priority based on the same time as the original order. For example, the event engine and / or matching engine may place a timestamp of the original order in the alternative order. For example, an instruction may be sent to the matching engine indicating that the first order should be deleted and the second order should be added to the queue with the same time stamp as the first order. In some implementations, the order may be deleted without adding an alternative (eg, always, immediately after another event occurs, etc.). For example, in one implementation, if a new order is received that is opposite to a trading order, and the new order is of a quantity that exceeds a threshold, the order may be removed from the queue. If the quantity associated with the opposite order falls below another threshold amount (eg, if the new order is satisfied, if the new order is canceled, etc.), the order may be returned to the queue.

一例では、注文は、イベントの発生に関連付けられた時間において、キュー内で保留中ではない場合がある。例えば、イベント発生時、イベント発生処理の実行時等において、注文は、マッチングエンジンのキュー内で保留中ではない場合がある。注文の調整は、キューへの注文の追加を含み得る。注文は、前にキュー内で保留中であったかもしれない(例えば、前の調整が前のイベントを条件としたため、削除される前)。キューへの注文の追加は、キュー内で注文が前に保留中されていた場合、注文に関連付けられた時間に基づく優先度で注文をキューに追加することを含み得る。例えば、そのような動作は、注文の金融商品に対する取引の逆側の注文に関連付けられた数量の低減(例えば、数量が前に閾値よりも上に達し、キューからの注文の削除を始動させた後)を条件とし得る。いくつかの実施態様では、タイムスタンプと共に時間に基づく優先度を保持し得る(例えば、注文が前に有したタイムスタンプと共に注文をキューに追加することにより)。そのようなタイムスタンプは、注文が削除される場合(例えば、そのような情報をイベント、注文、および/または動作に関連付けられたデータベースに記憶することにより)、イベントエンジンにより監視し保持し得る。いくつかの実施態様では、時間に基づく優先度の保持は、注文がキュー内の、仮に削除されなかった場合に配置されていた場所に位置決めされるように、キューの直接メモリアクセスを通してキューに注文を追加することにより促進し得る。いくつかの実施態様では、プロセッサ(例えば、イベントエンジン、規則プロセッサ等)は、注文が仮にキャンセルされなかった場合に注文がキュー内のどこにあり得るかを追跡してもよく、注文を後にプレースホルダの位置に配置し得るように、プレースホルダ注文をキュー内に配置してもよい等である。   In one example, the order may not be pending in the queue at the time associated with the occurrence of the event. For example, when an event occurs or when an event generation process is executed, the order may not be pending in the matching engine queue. Order adjustment may include adding an order to a queue. The order may have been previously pending in the queue (eg, before being deleted because the previous adjustment was conditional on the previous event). Adding an order to the queue may include adding the order to the queue with a priority based on the time associated with the order if the order has been previously held in the queue. For example, such an action may result in a reduction in the quantity associated with the order on the opposite side of the trade for the order's financial instrument (eg, quantity has previously exceeded a threshold and triggered the deletion of the order from the queue. After). In some implementations, a time-based priority may be maintained along with a time stamp (eg, by adding an order to a queue with a time stamp that the order previously had). Such a time stamp may be monitored and maintained by the event engine when the order is deleted (eg, by storing such information in a database associated with the event, order, and / or action). In some embodiments, time-based priority retention is placed in the queue through the queue's direct memory access so that the order is located in the queue if it was not deleted. Can be promoted by adding In some implementations, a processor (eg, event engine, rules processor, etc.) may track where an order may be in the queue if the order is not canceled and place the order later as a placeholder. Placeholder orders may be placed in the queue so that they can be placed in the position.

方法700が単なる例であること、および他の方法が任意の動作セットを含み得ることを認識されたい。例えば、様々な実施形態において、タイムスタンプ付与、注文の履行、注文のクリアリング、命令スタックへの追加、注文の報告等を含め得る。   It should be appreciated that the method 700 is merely an example and that other methods can include any set of operations. For example, in various embodiments, time stamping, order fulfillment, order clearing, addition to the instruction stack, order reporting, etc. may be included.

図8は、いくつかの実施形態において実施し得る例としての方法800を示す。方法800は、1つまたは複数のプロセッサおよび/またはイベントエンジン等の取引所の他の構成要素により実施し得る。   FIG. 8 illustrates an example method 800 that may be implemented in some embodiments. Method 800 may be performed by one or more processors and / or other components of an exchange such as an event engine.

ブロック801に示されるように、方法800は、イベントが発生したことの指示を受信することを含み得る。そのような指示は、取引所外の情報源等のリモートコンピュータから受信し得る。そのような指示は、マッチングエンジン、イベントコントローラ等のプロセッサから受信し得る。そのような指示は、所望の任意の情報源から受信し得る。   As shown in block 801, the method 800 may include receiving an indication that an event has occurred. Such an indication may be received from a remote computer, such as an information source outside the exchange. Such an indication may be received from a processor such as a matching engine, event controller or the like. Such an indication may be received from any desired information source.

ブロック803に示されるように、方法800は、動作が条件とする条件が満たされたと判断することを含み得る。動作は、金融商品に対する取引の側を定義する注文への調整を含み得る。特定は、取引所のプロセッサにより行い得る。特定は、イベントエンジンにより行い得る。特定は、注文、動作、および/または条件情報が記憶されたデータベース等の記憶されている情報を検索することにより行い得る。   As shown in block 803, the method 800 may include determining that the condition conditioned by the action has been met. The action may include an adjustment to an order that defines the side of the transaction for the financial instrument. The identification may be performed by an exchange processor. The identification can be performed by an event engine. The identification can be done by searching stored information, such as a database in which order, action, and / or condition information is stored.

ブロック805に示されるように、方法800は、注文調整指示をマッチングエンジンに送信することを含み得る。送信は、データバスを通して実行し得る。データバスは、取引所のプロセッサを結合し得る(例えば、方法を実行するイベントエンジンおよびキューを保持するマッチングエンジン)。送信は、ブロック803の特定に応答して実行し得る。   As shown in block 805, the method 800 may include sending an order adjustment instruction to the matching engine. Transmission can be performed over a data bus. The data bus may couple the exchange's processor (eg, an event engine that performs the method and a matching engine that maintains a queue). The transmission may be performed in response to the identification of block 803.

方法800が単なる例であること、および他の方法が任意の動作セットを含み得ることを認識されたい。例えば、様々な実施形態では、タイムスタンプ付与、注文の受信、注文の記憶、条件の記憶、記憶されている情報の検索、注文の履行、注文のクリアリング、命令スタックへの追加、注文の報告、イベントの報告等を含め得る。   It should be appreciated that the method 800 is merely an example and that other methods can include any set of operations. For example, in various embodiments, timestamping, order receipt, order storage, condition storage, stored information retrieval, order fulfillment, order clearing, addition to the instruction stack, order reporting , Event reports, etc. may be included.

図9は、いくつかの実施形態において実施し得る例としての方法900を示す。方法900は、1つまたは複数のプロセッサならびに/あるいはマッチングエンジン、イベントエンジン、インタフェース等の取引所の他の構成要素により実行し得る。方法900は、注文をキュー内に配置し、後にキューから削除し、さらに後にキューを復元する方法を含み得る。   FIG. 9 illustrates an example method 900 that may be implemented in some embodiments. The method 900 may be performed by one or more processors and / or other components of an exchange such as a matching engine, event engine, interface, and the like. Method 900 may include a method of placing an order in a queue, later deleting it from the queue, and later restoring the queue.

901に示されるように、方法900は、注文指示を受信することを含み得る。903に示されるように、方法900は、動作指示および条件指示を受信することを含み得る。各動作は、動作が条件とし得る任意の数の条件を含み得る。動作は、別の動作が行われるまで、実行に利用不可能であり得る。例えば、注文をキューに戻す動作は、注文がまずキューから削除されるまでは利用不可能であり得る。   As shown at 901, the method 900 may include receiving an order instruction. As shown at 903, the method 900 may include receiving an operation indication and a condition indication. Each action may include any number of conditions that the action may be conditioned on. An operation may be unavailable for execution until another operation is performed. For example, returning an order to a queue may not be available until the order is first removed from the queue.

905に示されるように、方法900は、注文をキュー内に配置することを含み得る。上述したように、キューはマッチングエンジンにより保持し得る。   As shown at 905, the method 900 may include placing the order in a queue. As described above, the queue can be maintained by the matching engine.

907に示されるように、第1の動作に対する条件が満たされたと判断し得る。条件は、例えば、任意の数のイベントの発生を含み得る。一例では、条件は、価格変更の発生であり得る。別の例では、条件は、取引の注文とは逆側の注文が特定の数量の金融商品に達したことであり得る。   As indicated at 907, it may be determined that the condition for the first operation has been met. A condition may include, for example, the occurrence of any number of events. In one example, the condition can be the occurrence of a price change. In another example, the condition may be that an order opposite the trading order has reached a certain quantity of financial instrument.

909に示されるように、特定に応答して、動作をとり得る。例えば、示される動作は、キューからの注文の削除である。他の例では、他の所望の任意の動作を取り得ることを認識されたい。注文は、マッチングエンジンにより保持されるキューから注文を出すことにより、マッチングエンジンのキュー内の注文に非アクティブのフラグを付すことにより、マッチングエンジンのキュー内で注文をプレースホルダ注文で置き換えることにより、かつ/または他の任意の所望の動作を実行することにより削除し得る。   As indicated at 909, actions may be taken in response to the identification. For example, the action shown is the deletion of an order from the queue. It should be appreciated that in other examples, any other desired action can be taken. Orders are placed in the matching engine queue by placing an order from the queue maintained by the matching engine, flagging the inactive flag, and replacing the order in the matching engine queue with a placeholder order, And / or may be deleted by performing any other desired action.

ブロック911に示されるように、第2の動作に対する条件が満たされたと判断し得る。条件は、例えば、任意の数のイベントの発生を含み得る。条件は、第1の動作がとられたことを含み得る。一例では、条件は、価格変更の発生(例えば、価格が前の範囲に戻ること)であり得る。別の例では、条件は、取引の注文とは逆側の注文が特定の数量の金融商品に達したこと(例えば、第1の動作がとられたときに近い範囲に戻ること等)であり得る。   As indicated at block 911, it may be determined that the condition for the second operation has been met. A condition may include, for example, the occurrence of any number of events. The condition may include that the first action has been taken. In one example, the condition may be the occurrence of a price change (eg, the price returning to the previous range). In another example, the condition is that the order on the opposite side of the trading order has reached a certain quantity of financial instrument (for example, returning to a close range when the first action is taken). obtain.

913に示されるように、特定に応答して、第2の動作をとり得る。例えば、示される動作は、キューへの注文の追加である。他の例では、他の所望の任意の動作をとり得ることを認識されたい。注文は、マッチングエンジンにより保持されるキュー内に注文を配置することにより、マッチングエンジンのキュー内の注文にアクティブのフラグを付すことにより、プレースホルダを注文で置き換えることにより、かつ/または他の所望の任意の動作を実行することにより、追加し得る。注文は、前にキュー内にあったときと同じ時間に基づく優先度で配置し得る。   As indicated at 913, a second action may be taken in response to the identification. For example, the action shown is the addition of an order to the queue. It should be appreciated that in other examples, any other desired action can be taken. An order can be placed by placing the order in a queue maintained by the matching engine, flagging orders in the matching engine queue, replacing placeholders with orders, and / or other desired Can be added by performing any of the operations. Orders may be placed with a priority based on the same time as they were previously in the queue.

プロセス例およびシステム例は非限定的な例示としてのみ与えられることを認識されたい。他の実施形態は、異なる動作、ステップ、構成要素、要素、構成、順序等を含み得る。   It should be appreciated that the example processes and system examples are given as non-limiting illustrations only. Other embodiments may include different operations, steps, components, elements, configurations, orders, and the like.

XII.さらなる実施形態
以下は、請求項としてではなく、実施形態例として解釈されたい。
XII. Further embodiments The following should be construed as exemplary embodiments, rather than as claims.

A.マッチングエンジンであって、
注文指示を受信することであって、各注文は金融商品の取引の各側を定義する、受信すること、
各注文を金融商品の買い注文キューおよび売り注文キューのそれぞれ1つに追加すること、
少なくとも買い注文キュー内の第1の注文および売り注文キュー内の第2の注文が整合すると判断すること、および
第1の注文および第2の注文を満たす取引を履行すること
を実行するように構成される、マッチングエンジンと、
イベントエンジンであって、
イベントの発生指示を受信すること、
注文への調整が、上記発生を条件とすると判断することであって、注文は金融商品の取引の側を定義する、判断すること、および
上記判断に応答して、データバスを通して注文調整指示をマッチングエンジンに送信すること
を実行するように構成される、イベントエンジンと、
イベントエンジンからマッチングエンジンに注文追加指示を通信可能にするように構成されるデータバスと
を備える、装置。
A. A matching engine,
Receiving order instructions, each order defining each side of a financial instrument transaction, receiving
Adding each order to one of the buy and sell order queues for financial instruments;
Configured to determine that at least the first order in the buy order queue and the second order in the sell order queue are consistent, and fulfill a transaction that satisfies the first order and the second order A matching engine,
An event engine,
Receiving an event indication,
It is determined that the adjustment to the order is conditional on the occurrence, and the order defines and determines the trading side of the financial product, and in response to the determination, the order adjustment instruction is sent through the data bus. An event engine configured to perform sending to the matching engine;
And a data bus configured to enable communication of an order addition instruction from the event engine to the matching engine.

A.1.データバスおよびマッチングエンジンは、マッチングエンジンが注文追加指示を受信した場合、マッチングエンジンが、命令スタック内に保留中の少なくとも1つの命令を実行する前に注文を追加するように構成される、請求項Aに記載の装置。   A. 1. The data bus and the matching engine are configured to, when the matching engine receives an order addition instruction, the matching engine add an order before executing at least one instruction pending in the instruction stack. A device according to A.

A.1.1.少なくとも1つの命令は注文調整命令を含む、請求項A.1に記載の装置。   A. 1.1. The claim A.1, wherein the at least one instruction comprises an order adjustment instruction. The apparatus according to 1.

A.1.1.1.注文調整命令は、注文の数量を変更する命令および注文の価格を変更する命令のうちの少なくとも一方を含む、請求項A.1.1に記載の装置。   A. 1.1.1. The order adjustment instruction includes at least one of an instruction to change an order quantity and an instruction to change an order price. The apparatus according to 1.1.

A.1.1.2.注文調整命令は、注文削除命令を含む、請求項A.1.1に記載の装置。   A. 1.1.2. The order adjustment instruction includes an order deletion instruction. The apparatus according to 1.1.

A.1.1.2.1.注文調整命令は、代替の注文を追加する命令を含む、請求項A.1.1.2に記載の装置。   A. 1.1.2.1. The order adjustment instruction includes an instruction to add an alternative order. Device according to 1.1.2.

A.1.1.2.1.1.注文はパッシブ注文を含み、代替の注文はアグレッシブ注文を含む、請求項A.1.1.2.1に記載の装置。   A. 1.1.2.1.1. Claim A. The order includes a passive order and the alternative order includes an aggressive order. The apparatus according to 1.1.2.1.

A.1.1.2.1.2.調整命令は、上記注文と同じ時間に基づく優先度を有する代替の注文を追加する命令を含む、請求項A.1.1.2.1に記載の装置。   A. 1.1.2.1.2. The adjustment instruction includes an instruction to add an alternative order having a priority based on the same time as the order. The apparatus according to 1.1.2.1.

A.1.1.2.2.イベントは、閾値を超える数量が関連付けられた、金融商品の取引の逆側の注文の提出を含む、請求項A.1.1.2に記載の装置。   A. 1.1.2.2. The event of claim A.1, wherein the event includes submission of an order on the opposite side of a transaction for a financial instrument associated with a quantity exceeding a threshold. Device according to 1.1.2.

A.1.2.データバスは、マッチングエンジンのメモリロケーションに情報を送信するように構成され、マッチングエンジンは、メモリロケーションからデータを読み取るように構成される、請求項A.1に記載の装置。   A. 1.2. The data bus is configured to transmit information to a memory location of the matching engine, and the matching engine is configured to read data from the memory location. The apparatus according to 1.

A.1.3.少なくとも1つの命令は、売り注文キューおよび買い注文キューのうちの少なくとも1つに別の注文を追加する指示を処理する命令を含み、別の注文を追加する指示は、データバスからマッチングエンジンにより受信されなかった指示である、請求項A.1に記載の装置。   A. 1.3. The at least one instruction includes an instruction to process an instruction to add another order to at least one of the sell order queue and the buy order queue, the instruction to add another order is received by the matching engine from the data bus Claim A. instructions that have not been made. The apparatus according to 1.

A.2.イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、請求項Aに記載の装置。
A. 2. The event
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The apparatus of claim A, comprising at least one of a regulatory change that regulates an industry and a change in a corporate credit rating.

A.3.イベントエンジンは、遠隔の情報源から発生指示を受信するように構成される、請求項Aに記載の装置。   A. 3. The apparatus of claim A, wherein the event engine is configured to receive an occurrence indication from a remote information source.

A.4.イベントエンジンは、マッチングエンジンから発生指示を受信するように構成される、請求項Aに記載の装置。   A. 4). The apparatus of claim A, wherein the event engine is configured to receive an occurrence indication from the matching engine.

A.5.イベントに関連付けられた時間において、注文はマッチングエンジンのキュー内で保留中ではなく、注文調整指示は、注文をマッチングエンジンのキューに追加する指示を含む、請求項Aに記載の装置。   A. 5. The apparatus of claim A, wherein at the time associated with the event, the order is not pending in the matching engine queue and the order adjustment instruction includes an instruction to add the order to the matching engine queue.

A.5.1.注文追加指示は、注文が前にキュー内にあった場合、注文関連付けられた時間に基づく優先度で注文を追加する指示を含む、請求項A.5に記載の装置。   A. 5.1. The order adding instruction includes an instruction to add an order with a priority based on the time associated with the order if the order was previously in the queue. 5. The apparatus according to 5.

A.5.2.イベントは、金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項A.5に記載の装置。   A. 5.2. The event according to claim A.1, wherein the event includes a reduction in quantity associated with an order on the opposite side of the transaction for the financial instrument. 5. The apparatus according to 5.

B.取引を実施する方法であって、
リモートコンピュータから条件の指示を受信することであって、条件がイベントを定義し、イベントが発生した場合、条件が満たされる、受信すること、
リモートコンピュータから第1の動作指示を受信することであって、動作は金融商品に対する注文への調整を定義する、受信すること、
取引所のプロセッサにより、イベントが発生したと判断すること、
上記判断に応答して、プロセッサおよびマッチングエンジンを結合する通信バスを通して、注文調整指示を取引所のマッチングエンジンに送信することであって、マッチングエンジンは、注文の一致を特定し、一致する注文を満たす取引を履行するように構成される、送信すること、および
注文を調整すること
を含む、方法。
B. A method of conducting a transaction,
Receiving an indication of a condition from a remote computer, where the condition defines an event, and if the event occurs, the condition is met, receiving
Receiving a first action instruction from a remote computer, wherein the action defines an adjustment to an order for a financial instrument;
The exchange processor determines that the event has occurred,
In response to the determination, sending an order adjustment instruction to the exchange matching engine through a communication bus that couples the processor and the matching engine, the matching engine identifying an order match and identifying the matching order. A method comprising: configuring to fulfill a satisfying transaction, sending and reconciling an order.

B.1.条件指示および動作指示は、単一の通信として受信される、請求項Bに記載の方法。   B. 1. The method of claim B, wherein the condition indication and the action indication are received as a single communication.

B.2.注文を調整することは、命令スタック内で保留中の少なくとも1つの命令を実行する前に、マッチングエンジンにより注文を調整することを含む、請求項Bに記載の方法。   B. 2. The method of claim B, wherein adjusting the order includes adjusting the order with a matching engine before executing at least one instruction pending in the instruction stack.

B.2.1.少なくとも1つの命令は、買い注文キューおよび売り注文キューの1つに別の注文を追加する命令および削除する命令のうちの少なくとも一方を含む、請求項B.2に記載の方法。   B. 2.1. The at least one instruction includes at least one of an instruction to add another order to the one of a buy order queue and a sell order queue and an instruction to delete. 2. The method according to 2.

B.3.注文を調整することは、プロセッサがマッチングエンジンのメモリロケーションに情報を送信することを含む、請求項Bに記載の方法。   B. 3. The method of claim B, wherein adjusting the order includes the processor sending information to a memory location of the matching engine.

B.3.1.メモリロケーションは、キュー内の注文に関連付けられたメモリロケーションを含み、注文を調整することは、プロセッサが、メモリロケーションに記憶された注文についての情報を変更することを含む、請求項B.3に記載の方法。   B. 3.1. The memory location includes a memory location associated with the order in the queue, and adjusting the order includes the processor modifying information about the order stored in the memory location. 3. The method according to 3.

B.4.イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、請求項Bに記載の方法。
B. 4). The event
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The method of claim B, comprising at least one of a regulatory change that regulates the industry and a change in the credit rating of the enterprise.

B.5.遠隔の情報源から発生指示を受信することをさらに含む、請求項Bに記載の方法。   B. 5. The method of claim B, further comprising receiving an occurrence indication from a remote information source.

B.6.マッチングエンジンから発生指示を受信することをさらに含む、請求項Bに記載の方法。   B. 6). The method of claim B, further comprising receiving an occurrence indication from the matching engine.

B.7.注文を調整することは、注文の数量を変更することおよび注文の価格を変更することのうちの少なくとも一方を含む、請求項Bに記載の方法。   B. 7). The method of claim B, wherein adjusting the order includes changing at least one of an order quantity and an order price.

B.8.注文を調整することは、マッチングエンジンのキューから注文を削除することを含む、請求項Bに記載の方法。   B. 8). The method of claim B, wherein adjusting the order includes deleting the order from the matching engine queue.

B.8.1.注文を調整することは、代替の注文をマッチングエンジンのキューに追加することを含む、請求項B.8に記載の方法。   B. 8.1. Adjusting an order includes adding an alternative order to a matching engine queue. 9. The method according to 8.

B.8.1.1.注文はパッシブ注文を含み、代替の注文はアグレッシブ注文を含む、請求項B.8.1に記載の方法。   B. 8.1.1. Claim B. The order includes a passive order and the alternative order includes an aggressive order. The method according to 8.1.

B.8.1.2.代替の注文をキューに追加することは、注文と同じ時間に基づく優先度を有する代替の注文を追加することを含む、請求項B.1に記載の方法。   B. 8.1.2. Claim B. Adding the alternative order to the queue includes adding an alternative order having a priority based on the same time as the order. The method according to 1.

B.8.2.イベントは、閾値を超える数量が関連付けられた、取引の注文とは逆側の注文の提出を含む、請求項B.8に記載の方法。   B. 8.2. The event of claim B.B., wherein the event includes submission of an order opposite to a trading order associated with a quantity exceeding a threshold. 9. The method according to 8.

B.9.イベントに関連付けられた時間において、注文はマッチングエンジンのキュー内で保留中ではなく、注文調整指示は、マッチングエンジンのキューに注文を追加する指示を含む、請求項Bに記載の方法。   B. 9. The method of claim B, wherein at the time associated with the event, the order is not pending in the matching engine queue and the order adjustment instruction includes an instruction to add the order to the matching engine queue.

B.9.1.注文追加指示は、注文が前にキューにあった場合、注文に関連付けられた時間に基づく優先度で注文を追加する指示を含む、請求項B.9に記載の方法。   B. 9.1. The order addition instruction includes an instruction to add an order with a priority based on a time associated with the order if the order was previously in the queue. 9. The method according to 9.

B.9.2.イベントは、金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項B.9に記載の方法。   B. 9.2. The event includes a reduction in quantity associated with an order on the opposite side of the transaction for the financial instrument. 9. The method according to 9.

C.リモートコンピュータから、イベントが発生したという指示を受信すること、
プロセッサが、動作が条件付けられた条件が満たされると判断することであって、動作は、金融商品に対する取引の側を定義する注文への調整を含む、判断すること、
上記判断に応答して、プロセッサおよびマッチングエンジンを結合するデータバスを通して注文調整指示をマッチングエンジンに送信すること
を含む、方法。
C. Receiving an indication from the remote computer that an event has occurred;
The processor determines that the action is conditioned, wherein the action includes an adjustment to an order that defines a side of the transaction for the financial instrument;
Responsive to the determination, including sending an order adjustment instruction to the matching engine over a data bus coupling the processor and the matching engine.

C.1.調整指示を送信することは、注文価格および注文の数量のうちの少なくとも一方を調整する指示を送信することを含む、請求項Cに記載の方法。   C. 1. The method of claim C, wherein transmitting the adjustment instruction includes transmitting an instruction to adjust at least one of an order price and an order quantity.

C.2.調整指示を送信することは、マッチングエンジンのキューから注文を削除する指示を送信することを含む、請求項Cに記載の方法。   C. 2. The method of claim C, wherein sending the adjustment indication includes sending an indication to delete the order from the matching engine queue.

C.2.1.調整指示を送信することは、マッチングエンジンのキューに代替の注文を追加する指示を送信することを含む、請求項C.2に記載の方法。   C. 2.1. Sending the adjustment indication includes sending an indication to add an alternative order to the queue of the matching engine; 2. The method according to 2.

C.2.1.1.注文はパッシブ注文を含み、代替の注文はアグレッシブ注文を含む、請求項C.2.1に記載の方法。   C. 2.1.1. Claim C. The order includes a passive order and the alternative order includes an aggressive order. The method according to 2.1.

C.2.1.2.調整指示は、注文と同じ時間に基づく優先度を有する代替の注文をキューに追加することを含む、請求項C.2.1に記載の方法。   C. 2.1.2. The reconciliation instructions include adding an alternative order to the queue having a priority based on the same time as the order. The method according to 2.1.

C.2.2.イベントは、閾値を超える数量が関連付けられた、取引の注文とは逆側の注文の提出を含む、請求項C.2に記載の方法。   C. 2.2. The event includes a submission of an order opposite to a trading order, associated with a quantity that exceeds a threshold. 2. The method according to 2.

C.3.調整指示を送信することは、マッチングエンジンのメモリロケーションに情報を送信することを含む、請求項Cに記載の方法。   C. 3. The method of claim C, wherein sending the adjustment indication includes sending information to a memory location of the matching engine.

C.3.1.メモリロケーションは、注文がマッチングエンジンのキュー内に記憶されたメモリロケーションを含む、請求項C.3に記載の方法。   C. 3.1. The memory location includes a memory location where the order is stored in a queue of the matching engine. 3. The method according to 3.

C.3.2.調整指示を送信することは、マッチングエンジンの命令スタックに命令を送信することを含む、請求項Cに記載の方法。   C. 3.2. The method of claim C, wherein sending the adjustment indication comprises sending an instruction to the instruction stack of the matching engine.

C.4.イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、請求項Cに記載の方法。
C. 4). The event
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The method of claim C, comprising at least one of a regulatory change that regulates an industry and a change in a corporate credit rating.

C.5.遠隔の情報源からイベント発生指示を受信することを含む、請求項Cに記載の方法。   C. 5. The method of claim C, comprising receiving an event occurrence indication from a remote information source.

C.6.マッチングエンジンからイベント発生指示を受信することを含む、請求項Cに記載の方法。   C. 6). The method of claim C, comprising receiving an event occurrence indication from the matching engine.

C.7.イベントに関連付けられた時間において、注文はマッチングエンジンのキュー内で保留中ではなく、調整指示は、マッチングエンジンのキューに注文を追加する指示を含む、請求項Cに記載の方法。   C. 7). The method of claim C, wherein at the time associated with the event, the order is not pending in the matching engine queue, and the reconciliation instruction comprises an instruction to add the order to the matching engine queue.

C.7.1.注文追加指示は、注文が前にキューにあった場合、注文に関連付けられた時間に基づく優先度で注文を追加する指示を含む、請求項C.7に記載の方法。   C. 7.1. The order addition instruction includes an instruction to add an order with a priority based on a time associated with the order if the order was previously queued. 8. The method according to 7.

C.7.2.イベントは、金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項C.7に記載の方法。   C. 7.2. Claim C .. The event includes a reduction in quantity associated with an order on the opposite side of a transaction for a financial instrument. 8. The method according to 7.

(付記1)
マッチングエンジンであって、
金融商品に対する取引の各側をそれぞれ定義する注文の指示を受信すること、
各注文を前記金融商品の買い注文キューおよび売り注文キューのそれぞれ1つに追加すること、
少なくとも前記買い注文キュー内の第1の注文および前記売り注文キュー内の第2の注文が一致すると判断すること、ならびに
前記第1の注文および前記第2の注文を満たす取引を履行すること
を実行するように構成される、マッチングエンジンと、
イベントエンジンであって、
イベント発生指示を受信すること、
注文への調整が、前記発生を条件とすると判断することであって、前記注文は前記金融商品に対する取引の側を定義するものであり、および
前記判断に応答して、データバスを通して前記マッチングエンジンに前記注文を調整する指示を送信すること
を実行するように構成される、イベントエンジンと、
前記注文を追加する指示を前記イベントエンジンから前記マッチングエンジンに通信可能にするように構成された前記データバスと
を備える、装置。
(付記2)
前記データバスおよび前記マッチングエンジンは、前記マッチングエンジンが、前記注文を追加する指示を受信した場合、命令スタック内で保留中の少なくとも1つの命令を実行する前に前記注文を追加するように構成される、付記1に記載の装置。
(付記3)
前記少なくとも1つの命令は、前記注文を調整する命令を含む、付記2に記載の装置。
(付記4)
前記注文調整命令は、前記注文の数量を変更する命令および前記注文の価格を変更する命令のうちの少なくとも一方を含む、付記3に記載の装置。
(付記5)
前記注文調整命令は、前記注文を削除する命令を含む、付記3に記載の装置。
(付記6)
前記注文調整命令は、代替の注文を追加する命令を含む、付記5に記載の装置。
(付記7)
前記注文はパッシブ注文を含み、前記代替の注文はアグレッシブ注文を含む、付記6に記載の装置。
(付記8)
前記調整命令は、前記注文と同じ時間に基づく優先度を有する前記代替の注文を追加する命令を含む、付記6に記載の装置。
(付記9)
前記イベントは、閾値を超える数量が関連付けられた、前記金融商品に対する取引の逆側の注文の提出を含む、付記5に記載の装置。
(付記10)
前記データバスは、前記マッチングエンジンのメモリロケーションに情報を送信するように構成され、前記マッチングエンジンは、前記メモリロケーションからデータを読み取るように構成される、付記2に記載の装置。
(付記11)
少なくとも1つの命令は、前記売り注文キューおよび前記買い注文キューのうちの少なくとも1つに別の注文を追加する指示を処理する命令を含み、前記別の注文を追加する指示は、前記データバスから前記マッチングエンジンにより受信されなかった指示である、付記2に記載の装置。
(付記12)
前記イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、付記1に記載の装置。
(付記13)
前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整指示は、前記マッチングエンジンの前記キューに前記注文を追加する指示を含む、付記1に記載の装置。
(付記14)
前記注文追加指示は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する指示を含む、付記13に記載の装置。
(付記15)
前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、付記13に記載の装置。
(付記16)
取引所を操作する方法であって、
リモートコンピュータから条件の指示を受信することであって、前記条件がイベントを定義するものであり、前記イベントが発生した場合、前記条件が満たされるものであり、
前記リモートコンピュータから第1の動作指示を受信することであって、前記動作は金融商品に対する注文への調整を定義するものであり、
前記取引所のプロセッサにより、前記イベントが発生したと判断すること、
前記判断に応答して、前記プロセッサおよびマッチングエンジンを結合する通信バスを通して、前記注文を調整する指示を前記取引所の前記マッチングエンジンに送信することであって、前記マッチングエンジンは、注文の一致を特定し、前記一致する注文を満たす取引を履行するように構成されるものであり、および
前記注文を調整すること
を含む、方法。
(付記17)
前記条件指示および前記動作指示は、単一の通信として受信される、付記16に記載の方法。
(付記18)
前記注文を調整することは、命令スタック内で保留中の少なくとも1つの命令を実行する前に、前記マッチングエンジンにより前記注文を調整することを含む、
付記16に記載の方法。
(付記19)
前記少なくとも1つの命令は、買い注文キューおよび売り注文キューの1つに別の注文を追加する命令および削除する命令のうちの少なくとも一方を含む、付記18に記載の方法。
(付記20)
前記注文を調整することは、前記プロセッサが前記マッチングエンジンのメモリロケーションに情報を送信することを含む、付記16に記載の方法。
(付記21)
前記メモリロケーションは、キュー内の前記注文に関連付けられた前記メモリロケーションを含み、前記注文を調整することは、前記プロセッサが、前記メモリロケーションに記憶された前記注文についての情報を変更することを含む、付記20に記載の方法。
(付記22)
前記イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、付記16に記載の方法。
(付記23)
前記注文を調整することは、前記注文の数量を変更することおよび前記注文の価格を変更することのうちの少なくとも一方を含む、付記16に記載の方法。
(付記24)
前記注文を調整することは、前記マッチングエンジンのキューから前記注文を削除することを含む、付記16に記載の方法。
(付記25)
前記注文を調整することは、代替の注文を前記マッチングエンジンの前記キューに追加することを含む、付記24に記載の方法。
(付記26)
前記注文はパッシブ注文を含み、前記代替の注文はアグレッシブ注文を含む、付記25に記載の方法。
(付記27)
前記代替の注文を前記キューに追加することは、前記注文と同じ時間に基づく優先度を有する前記代替の注文を追加することを含む、付記25に記載の方法。
(付記28)
前記イベントは、閾値を超える数量が関連付けられた、取引の前記注文とは逆側の注文の提出を含む、付記24に記載の方法。
(付記29)
前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整指示は、前記マッチングエンジンの前記キューに前記注文を追加する指示を含む、付記16に記載の方法。
(付記30)
前記注文追加指示は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する指示を含む、付記29に記載の方法。
(付記31)
前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、付記29に記載の方法。
(付記32)
リモートコンピュータから、イベントが発生したという指示を受信すること、
プロセッサが、動作が条件付けられた条件が満たされると判断することであって、前記動作は、金融商品に対する取引の側を定義する注文への調整を含むものであり、
前記判断に応答して、前記プロセッサおよびマッチングエンジンを結合するデータバスを通して前記注文を調整する指示を前記マッチングエンジンに送信すること
を含む、方法。
(付記33)
前記調整指示を送信することは、前記注文の価格および数量のうちの少なくとも一方を調整する指示を送信することを含む、付記32に記載の方法。
(付記34)
前記調整指示を送信することは、前記マッチングエンジンのキューから前記注文を削除する指示を送信することを含む、付記32に記載の方法。
(付記35)
前記調整指示を送信することは、前記マッチングエンジンの前記キューに代替の注文を追加する指示を送信することを含む、付記34に記載の方法。
(付記36)
前記注文はパッシブ注文を含み、前記代替の注文はアグレッシブ注文を含む、付記35に記載の方法。
(付記37)
前記調整指示は、前記注文と同じ時間に基づく優先度を有する代替の注文を前記キューに追加することを含む、付記35に記載の方法。
(付記38)
前記イベントは、閾値を超える数量が関連付けられた、取引の前記注文とは逆側の注文の提出を含む、付記34に記載の方法。
(付記39)
前記調整指示を送信することは、前記マッチングエンジンのメモリロケーションに情報を送信することを含む、付記32に記載の方法。
(付記40)
前記メモリロケーションは、前記注文が前記マッチングエンジンのキュー内に記憶されたメモリロケーションを含む、付記39に記載の方法。
(付記41)
前記調整指示を送信することは、前記マッチングエンジンの命令スタックに命令を送信することを含む、付記39に記載の方法。
(付記42)
前記イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、付記32に記載の方法。
(付記43)
前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整指示は、前記マッチングエンジンの前記キューに前記注文を追加する指示を含む、付記32に記載の方法。
(付記44)
前記注文追加指示は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する指示を含む、付記43に記載の方法。
(付記45)
前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、付記43に記載の方法。
(Appendix 1)
A matching engine,
Receiving order instructions that individually define each side of a transaction for a financial instrument;
Adding each order to one of the buy and sell order queues of the financial product;
Determining that at least a first order in the buy order queue and a second order in the sell order queue match, and performing a transaction that satisfies the first order and the second order A matching engine configured to
An event engine,
Receiving event occurrence instructions,
Determining that the adjustment to the order is conditional on the occurrence, wherein the order defines a side of the transaction for the financial instrument, and in response to the determination, the matching engine through the data bus An event engine configured to perform an instruction to adjust the order to
An apparatus comprising: the data bus configured to allow an instruction to add the order to be communicated from the event engine to the matching engine.
(Appendix 2)
The data bus and the matching engine are configured to add the order before executing at least one instruction pending in the instruction stack when the matching engine receives an instruction to add the order. The apparatus according to appendix 1.
(Appendix 3)
The apparatus of claim 2, wherein the at least one instruction includes an instruction to adjust the order.
(Appendix 4)
The apparatus according to claim 3, wherein the order adjustment instruction includes at least one of an instruction to change the quantity of the order and an instruction to change the price of the order.
(Appendix 5)
The apparatus according to claim 3, wherein the order adjustment instruction includes an instruction to delete the order.
(Appendix 6)
The apparatus of claim 5, wherein the order adjustment instruction includes an instruction to add an alternative order.
(Appendix 7)
The apparatus of claim 6, wherein the order comprises a passive order and the alternative order comprises an aggressive order.
(Appendix 8)
The apparatus of claim 6, wherein the reconciliation instruction includes an instruction to add the alternative order having a priority based on the same time as the order.
(Appendix 9)
The apparatus of claim 5, wherein the event includes submission of an order on the opposite side of a transaction for the financial instrument associated with a quantity that exceeds a threshold.
(Appendix 10)
The apparatus of claim 2, wherein the data bus is configured to transmit information to a memory location of the matching engine, and the matching engine is configured to read data from the memory location.
(Appendix 11)
At least one instruction includes an instruction to process an instruction to add another order to at least one of the sell order queue and the buy order queue, and the instruction to add the other order is from the data bus. The apparatus of claim 2, wherein the apparatus is an instruction not received by the matching engine.
(Appendix 12)
The event is
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The apparatus of claim 1, comprising at least one of a change in regulation that regulates the industry and a change in a corporate credit rating.
(Appendix 13)
2. The appendix 1 wherein the order is not pending in the matching engine queue at the time associated with the event, and the order adjustment instruction includes an instruction to add the order to the queue of the matching engine. Equipment.
(Appendix 14)
14. The apparatus of clause 13, wherein the order addition instruction includes an instruction to add the order with a priority based on a time associated with the order if the order was previously in the queue.
(Appendix 15)
The apparatus of claim 13, wherein the event includes a reduction in quantity associated with an order on the opposite side of the transaction for the financial instrument.
(Appendix 16)
A method of operating an exchange,
Receiving an instruction of a condition from a remote computer, wherein the condition defines an event, and when the event occurs, the condition is satisfied;
Receiving a first action instruction from the remote computer, the action defining an adjustment to an order for a financial instrument;
Determining that the event has occurred by a processor of the exchange;
In response to the determination, sending an instruction to adjust the order to the matching engine of the exchange over a communication bus that couples the processor and the matching engine, the matching engine Identifying and configured to fulfill a transaction that satisfies the matching order, and comprising adjusting the order.
(Appendix 17)
The method of claim 16, wherein the condition instruction and the operation instruction are received as a single communication.
(Appendix 18)
Adjusting the order includes adjusting the order by the matching engine before executing at least one instruction pending in the instruction stack;
The method according to appendix 16.
(Appendix 19)
The method of claim 18, wherein the at least one instruction includes at least one of an instruction to add another order to the one of a buy order queue and a sell order queue and an instruction to delete.
(Appendix 20)
The method of claim 16, wherein adjusting the order includes the processor sending information to a memory location of the matching engine.
(Appendix 21)
The memory location includes the memory location associated with the order in a queue, and adjusting the order includes the processor modifying information about the order stored in the memory location. The method according to appendix 20.
(Appendix 22)
The event is
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The method of claim 16, comprising at least one of a regulatory change that regulates the industry and a change in the credit rating of the enterprise.
(Appendix 23)
The method of claim 16, wherein adjusting the order includes changing at least one of a quantity of the order and a price of the order.
(Appendix 24)
The method of claim 16, wherein adjusting the order includes deleting the order from the queue of the matching engine.
(Appendix 25)
The method of claim 24, wherein adjusting the order includes adding an alternative order to the queue of the matching engine.
(Appendix 26)
The method of claim 25, wherein the order comprises a passive order and the alternative order comprises an aggressive order.
(Appendix 27)
26. The method of clause 25, wherein adding the alternative order to the queue includes adding the alternative order having a priority based on the same time as the order.
(Appendix 28)
25. The method of claim 24, wherein the event includes submission of an order opposite to the order of a transaction associated with a quantity that exceeds a threshold.
(Appendix 29)
18. The appendix 16 wherein the order is not pending in the matching engine queue at the time associated with the event and the order adjustment instruction includes an instruction to add the order to the queue of the matching engine. the method of.
(Appendix 30)
30. The method of clause 29, wherein the order addition instruction comprises an instruction to add the order with a priority based on a time associated with the order if the order was previously in the queue.
(Appendix 31)
The method of claim 29, wherein the event includes a reduction in quantity associated with an order on the opposite side of the transaction for the financial instrument.
(Appendix 32)
Receiving an indication from the remote computer that an event has occurred;
The processor determines that the conditioned condition is met, the operation including an adjustment to an order defining a side of the transaction for the financial instrument;
In response to the determination, the method includes sending an instruction to the matching engine to adjust the order through a data bus that couples the processor and the matching engine.
(Appendix 33)
The method of claim 32, wherein sending the adjustment instruction includes sending an instruction to adjust at least one of a price and quantity of the order.
(Appendix 34)
The method of claim 32, wherein sending the adjustment instruction comprises sending an instruction to delete the order from the matching engine queue.
(Appendix 35)
35. The method of clause 34, wherein sending the adjustment indication includes sending an indication to add an alternative order to the queue of the matching engine.
(Appendix 36)
The method of claim 35, wherein the order comprises a passive order and the alternative order comprises an aggressive order.
(Appendix 37)
36. The method of clause 35, wherein the reconciliation instruction includes adding an alternative order to the queue having a priority based on the same time as the order.
(Appendix 38)
35. The method of clause 34, wherein the event includes submission of an order opposite to the order of a transaction associated with a quantity that exceeds a threshold.
(Appendix 39)
33. The method of clause 32, wherein sending the adjustment indication includes sending information to a memory location of the matching engine.
(Appendix 40)
40. The method of clause 39, wherein the memory location includes a memory location where the order is stored in a queue of the matching engine.
(Appendix 41)
40. The method of clause 39, wherein sending the adjustment indication comprises sending an instruction to an instruction stack of the matching engine.
(Appendix 42)
The event is
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
33. The method of appendix 32, comprising at least one of a regulatory change that regulates an industry and a change in a corporate credit rating.
(Appendix 43)
37. The appendix 32, wherein at the time associated with the event, the order is not pending in the matching engine queue and the order adjustment instruction includes an instruction to add the order to the queue of the matching engine. the method of.
(Appendix 44)
44. The method of clause 43, wherein the order addition instruction includes an instruction to add the order with a priority based on a time associated with the order if the order was previously in the queue.
(Appendix 45)
44. The method of clause 43, wherein the event includes a reduction in quantity associated with an order on the opposite side of the transaction for the financial instrument.

Claims (43)

取引システムであって、
イベントエンジンおよびマッチングエンジンと通信可能に接続され、前記イベントエンジンからの命令を前記マッチングエンジンに通信可能に構成されたデータバスと、
前記マッチングエンジンであって、
金融商品に対する取引の各側をそれぞれ定義する注文の命令を受信すること、
各注文を前記金融商品の買い注文キューおよび売り注文キューのそれぞれ1つに追加すること、
前記イベントエンジンに対して、各注文が保存されたメモリロケーションの命令を送信すること、
少なくとも前記買い注文キュー内の第1の注文および前記売り注文キュー内の第2の注文が一致すると判断すること、ならびに
前記第1の注文および前記第2の注文を満たす取引を履行すること
を実行するように構成される、前記マッチングエンジンと、
前記イベントエンジンであって、
イベント発生命令を受信すること、
前記イベント発生命令を受信することに応答して、注文への調整が、前記発生に伴った少なくとも1つの基準を条件とすると判断すること、
前記注文が条件とする前記発生に伴った前記少なくとも1つの基準が充足したことを判断すること、および
前記判断に応答して、データバスを通して前記マッチングエンジンに前記注文を調整する命令を送信する、前記イベントエンジンと、
を備える、取引システム。
A trading system,
A data bus that is communicably connected to the event engine and the matching engine, and that is configured to communicate instructions from the event engine to the matching engine;
The matching engine,
Receiving orders for orders that individually define each side of a transaction for a financial instrument;
Adding each order to one of the buy and sell order queues of the financial product;
Sending instructions of the memory location where each order is stored to the event engine;
Determining that at least a first order in the buy order queue and a second order in the sell order queue match, and performing a transaction that satisfies the first order and the second order The matching engine configured to:
The event engine,
Receiving an event generation command ;
In response to receiving the event generation instruction , determining that an adjustment to the order is conditional on at least one criterion associated with the generation;
Determining that the at least one criterion associated with the occurrence conditioned by the order is satisfied, and in response to the determination, sending an instruction to adjust the order over the data bus to the matching engine; The event engine;
A transaction system comprising:
前記マッチングエンジンは、命令スタックを備え、
前記データバスおよび前記マッチングエンジンは、前記マッチングエンジンが、前記注文を調整する命令を受信した場合、前記命令スタックにおいて、保留中の少なくとも1つの命令の前に前記命令を入れる、
請求項1に記載の取引システム。
The matching engine comprises an instruction stack;
Said data bus and said matching engine, the matching engine, when receiving an instruction for adjusting the order in the instruction stack, placing the instruction before the at least one instruction pending
The transaction system according to claim 1.
前記少なくとも1つの命令は、前記注文を調整する第2の命令を含む、請求項2に記載の取引システム。 The trading system of claim 2, wherein the at least one instruction includes a second instruction for adjusting the order. 前記注文を調整する命令は、前記注文の数量を変更する命令および前記注文の価格を変更する命令のうちの少なくとも一方を含む、請求項2に記載の取引システム。 The trading system according to claim 2, wherein the instruction to adjust the order includes at least one of an instruction to change a quantity of the order and an instruction to change a price of the order . 前記注文を調整する命令は、前記注文を削除する命令を含む、請求項2に記載の取引システム。 The trading system according to claim 2, wherein the instruction to adjust the order includes an instruction to delete the order . 前記注文を調整する命令は、代替の注文を追加する命令を含む、請求項2に記載の取引システム。 The order command to adjust, including instructions for adding an order of alternative transaction system according to claim 2. 前記注文を調整する命令は、前記注文と同じ時間に基づく優先度を有する前記代替の注文を追加する命令を含む、請求項6に記載の取引システム。 The instructions for adjusting an order, trading system according to comprising instructions, claim 6 for adding an order of the alternatives having a priority based on the same time as the order. 前記イベントは、閾値を超える数量が関連付けられた、前記金融商品に対する取引の逆側の注文の提出を含む、請求項5に記載の取引システム。   The trading system according to claim 5, wherein the event includes submission of an order on the opposite side of a trade for the financial product associated with a quantity that exceeds a threshold. 前記データバスは、前記マッチングエンジンの前記命令スタックの与えられたメモリロケーションに情報を送信するように構成され、前記マッチングエンジンは、前記与えられたメモリロケーションからデータを読み取るように構成される、請求項2に記載の取引システム。 The data bus is configured to transmit information to a given memory location of the instruction stack of the matching engine, and the matching engine is configured to read data from the given memory location. Item 3. The transaction system according to item 2. 前記少なくとも1つの命令は、前記注文が前記マッチングエンジンにより受信される以前に前記マッチングエンジンにより受信された別の注文を、前記売り注文及び前記買い注文のキューのうちの少なくとも1つのキューに対して追加する命令を含み、前記別の注文を追加する命令は、前記データバスから前記マッチングエンジンにより受信されなかった命令であり、また、前記注文は、前記データバスから受信されたものではない前記別の注文の受信に基づいて前記命令が実行される前に、追加される、請求項2に記載の取引システム。 The at least one instruction may send another order received by the matching engine to the at least one queue of the sell order and the buy order queue before the order is received by the matching engine. An instruction to add, wherein the instruction to add another order is an instruction not received from the data bus by the matching engine, and the order is not received from the data bus The trading system of claim 2, wherein the order is added before the instruction is executed based on receipt of the order . 前記イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含む、請求項1に記載の取引システム。
The event is
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
The trading system of claim 1, comprising at least one of a regulatory change that regulates an industry and a change in a corporate credit rating.
前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整する命令は、前記マッチングエンジンの前記キューに前記注文を追加する命令を含む、請求項1に記載の取引システム。 The order is not pending in the matching engine queue at a time associated with the event, and the instruction to adjust the order includes an instruction to add the order to the queue of the matching engine. The transaction system according to 1. 前記注文追加する命令は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する命令を含む、請求項12に記載の取引システム。 The order command to add, the case where the order was in the queue before, comprising instructions for adding the order in priority based on the time associated with the order, transaction system according to claim 12. 前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項12に記載の取引システム。 The trading system of claim 12 , wherein the event includes a reduction in a quantity associated with an order on the opposite side of a trade for the financial instrument. 取引所を操作する方法であって、
イベントエンジンによって、リモートコンピュータから条件の命令を受信することであって、前記条件がイベントを定義するものであり、前記イベントが発生した場合、前記条件が満たされるものであり、
前記リモートコンピュータから第1の動作命令を受信することであって、前記動作は金融商品に対する注文への調整を定義するものであり、
前記イベントエンジンによって、前記イベントが発生したと判断すること、
前記イベントエンジンによって、前記判断に応答して、前記イベントエンジンおよびマッチングエンジンを結合するデータバスを通して、前記注文を調整する命令を前記取引所の前記マッチングエンジンに送信することであって、前記マッチングエンジンは、注文の一致を特定し、前記一致する注文を満たす取引を履行し、前記イベントエンジンに対して、前記注文が保存されたメモリロケーションの命令を送信するように構成されるものであり、および
前記注文を調整すること
を含む、方法。
A method of operating an exchange,
Receiving an instruction of a condition from a remote computer by an event engine, wherein the condition defines an event, and when the event occurs, the condition is satisfied;
Receiving a first action command from the remote computer, the action defining an adjustment to an order for a financial instrument;
Determining that the event has occurred by the event engine;
Responsive to the determination by the event engine to send an instruction to adjust the order to the matching engine of the exchange over a data bus that couples the event engine and the matching engine, the matching engine Is configured to identify an order match, fulfill a transaction that satisfies the matching order, and send an instruction of the memory location where the order is stored to the event engine ; and Adjusting the order.
前記条件の命令および前記動作命令は、単一の通信として受信される、請求項15に記載の方法。 The method of claim 15 , wherein the condition command and the operation command are received as a single communication. 前記注文を調整することは、命令スタック内で保留中の少なくとも1つの命令を実行する前に、前記マッチングエンジンにより前記注文を調整することを含む、
請求項15に記載の方法。
Adjusting the order includes adjusting the order by the matching engine before executing at least one instruction pending in the instruction stack;
The method of claim 15 .
前記少なくとも1つの命令は、買い注文キューおよび売り注文キューの1つに別の注文を追加する命令および削除する命令のうちの少なくとも一方を含む、請求項17に記載の方法。 The method of claim 17 , wherein the at least one instruction includes at least one of an instruction to add another order to the one of a buy order queue and a sell order queue and an instruction to delete. 前記注文を調整することは、プロセッサが前記マッチングエンジンの命令スタックの与えられたメモリロケーションに情報を送信することを含む、請求項15に記載の方法。 It includes processor sends instructions information in a given memory location of the stack of the matching engine method of claim 15 for adjusting the order. 前記命令スタックの前記与えられたメモリロケーションは、キュー内の前記注文に関連付けられた前記メモリロケーションを含み、前記注文を調整することは、前記プロセッサが、前記命令スタックの前記メモリロケーションに記憶された前記注文についての情報を変更することを含む、請求項19に記載の方法。 The given memory location of the instruction stack includes the memory location associated with the order in a queue, and adjusting the order is stored by the processor in the memory location of the instruction stack. The method of claim 19 , comprising changing information about the order. 前記注文を調整することは、前記注文の数量を変更することおよび前記注文の価格を変更することのうちの少なくとも一方を含む、請求項15に記載の方法。 The method of claim 15 , wherein adjusting the order includes at least one of changing a quantity of the order and changing a price of the order. 前記注文を調整することは、前記マッチングエンジンのキューから前記注文を削除することを含む、請求項15に記載の方法。 The method of claim 15 , wherein adjusting the order comprises deleting the order from the matching engine queue. 前記注文を調整することは、代替の注文を前記マッチングエンジンの前記キューに追加することを含む、請求項22に記載の方法。 23. The method of claim 22 , wherein adjusting the order includes adding an alternative order to the queue of the matching engine. 前記代替の注文を前記キューに追加することは、前記注文と同じ時間に基づく優先度を有する前記代替の注文を追加することを含む、請求項23に記載の方法。 24. The method of claim 23 , wherein adding the alternative order to the queue includes adding the alternative order having a priority based on the same time as the order. 前記イベントは、閾値を超える数量が関連付けられた、取引の前記注文とは逆側の注文の提出を含む、請求項22に記載の方法。 23. The method of claim 22 , wherein the event includes submission of an order opposite to the order of a transaction associated with a quantity that exceeds a threshold. 前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整する命令は、前記マッチングエンジンの前記キューに前記注文を追加する命令を含む、請求項15に記載の方法。 The order is not pending in the matching engine queue at a time associated with the event, and the instruction to adjust the order includes an instruction to add the order to the queue of the matching engine. 15. The method according to 15 . 前記注文追加する命令は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する命令を含む、請求項26に記載の方法。 The order command to add, when the order was in the queue before, comprising instructions for adding the order in priority based on the time associated with the order, the method of claim 26. 前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項26に記載の方法。 27. The method of claim 26 , wherein the event comprises a reduction in quantity associated with an order on the opposite side of a trade for the financial instrument. 取引のイベントエンジンが、リモートコンピュータから、イベントが発生したという命令を受信すること、
前記イベントエンジンが、動作が条件付けられた条件が満たされると判断することであって、前記動作は、金融商品に対する取引の側を定義する注文への調整を含むものであり、
前記イベントエンジンが、前記判断に応答して、前記イベントエンジンおよびマッチングエンジンを結合するデータバスを通して前記注文を調整する命令を前記マッチングエンジンに送信することを含み、
前記マッチングエンジンは、前記イベントエンジンに対して、前記注文が保存されたメモリロケーションの命令を送信するように構成される、
方法。
The trading event engine receives instructions from the remote computer that an event has occurred;
The event engine determines that an action conditioned condition is met, the action including an adjustment to an order that defines a side of a transaction for a financial instrument;
The event engine, in response to said determination, see contains sending a command to adjust the order through the data bus coupling the event engine and the matching engine to said matching engine,
The matching engine is configured to send an instruction of a memory location where the order is stored to the event engine;
Method.
前記調整する命令を送信することは、前記注文の価格および数量のうちの少なくとも一方を調整する命令を送信することを含む、請求項29に記載の方法。 30. The method of claim 29 , wherein sending the order to adjust comprises sending an order to adjust at least one of the price and quantity of the order . 前記調整する命令を送信することは、前記マッチングエンジンのキューから前記注文を削除する命令を送信することを含む、請求項29に記載の方法。 30. The method of claim 29 , wherein sending the reconciliation instruction comprises sending an instruction to delete the order from the matching engine queue. 前記調整する命令を送信することは、前記マッチングエンジンの前記キューに代替の注文を追加する命令を送信することを含む、請求項31に記載の方法。 Sending a command to said adjusting includes transmitting an instruction to add an order of alternate said queue of said matching engine method of claim 31. 前記調整する命令は、前記注文と同じ時間に基づく優先度を有する代替の注文を前記キューに追加することを含む、請求項32に記載の方法。 35. The method of claim 32 , wherein the adjusting instructions include adding an alternative order to the queue having a priority based on the same time as the order. 前記イベントは、閾値を超える数量が関連付けられた、取引の前記注文とは逆側の注文の提出を含む、請求項31に記載の方法。 32. The method of claim 31 , wherein the event includes submission of an order opposite to the order of a transaction associated with a quantity that exceeds a threshold. 前記調整する命令を送信することは、前記マッチングエンジンの与えられたメモリロケーションに情報を送信することを含む、請求項29に記載の方法。 30. The method of claim 29 , wherein sending the adjusting instruction comprises sending information to a given memory location of the matching engine. 前記与えられたメモリロケーションは、前記注文が前記マッチングエンジンのキュー内に記憶された前記メモリロケーションを含む、請求項35に記載の方法。 The memory location given, the order including the memory location stored in the queue of the matching engine method of claim 35. 前記調整する命令を送信することは、前記マッチングエンジンの命令スタックに命令を送信することを含む、請求項35に記載の方法。 36. The method of claim 35 , wherein sending the adjusting instruction comprises sending an instruction to the matching engine instruction stack. 前記イベントに関連付けられた時間において、前記注文は前記マッチングエンジンのキュー内で保留中ではなく、前記注文調整する命令は、前記マッチングエンジンの前記キューに前記注文を追加する命令を含む、請求項29に記載の方法。 The order is not pending in the matching engine queue at a time associated with the event, and the instruction to adjust the order includes an instruction to add the order to the queue of the matching engine. 30. The method according to 29 . 前記注文追加する命令は、前記注文が前に前記キューにあった場合、前記注文に関連付けられた時間に基づく優先度で前記注文を追加する命令を含む、請求項38に記載の方法。 The order command to add, when the order was in the queue before, comprising instructions for adding the order in priority based on the time associated with the order, the method of claim 38. 前記イベントは、前記金融商品に対する取引の逆側の注文に関連付けられた数量の低減を含む、請求項39に記載の方法。 40. The method of claim 39 , wherein the event includes a reduction in quantity associated with an order on the opposite side of a trade for the financial instrument. 前記イベントエンジンは、前記マッチングエンジンから送信された、前記注文が保存されたメモリロケーションの命令を記録するように構成される、
請求項に記載の取引システム。
The event engine is configured to record instructions of a memory location sent from the matching engine where the order is stored;
The transaction system according to claim 1 .
前記少なくとも一つの売りキュー及び買いキューに別の注文を追加する前記少なくとも一つの命令は、当該注文の値段よりも良い値段を構成する、
請求項10に記載の取引システム。
The at least one instruction to add another order to the at least one sell queue and buy queue constitutes a price that is better than the price of the order;
The transaction system according to claim 10 .
取引システムであって、
イベントエンジンとマッチングエンジンとを相互にコミュニケーション可能に接続するデータバスであって、前記イベントエンジンから前記マッチングエンジンへと命令を送信可能なように構成されたデータバスと、
命令スタックを備え、前記データバスと前記マッチングエンジンは、前記イベントエンジンから注文を調整する命令を受信した場合、前記マッチングエンジンが前記注文を調整する命令を、前記命令スタック内で保留中の少なくとも1つの命令の前に追加するように構成されるマッチングエンジンであって、
金融商品に対する取引の各側をそれぞれ定義する注文の命令を受信すること、
各注文を前記金融商品の買い注文キューおよび売り注文キューのそれぞれ1つに追加すること、
少なくとも前記買い注文キュー内の第1の注文および前記売り注文キュー内の第2の注文が一致すると判断すること、
前記イベントエンジンに対して、前記注文が保存されたメモリロケーションの命令を送信すること、ならびに
前記第1の注文および前記第2の注文を満たす取引を履行すること
を実行するように構成される、前記マッチングエンジンと、
イベントエンジンであって、
イベントの発生命令を受信し、
前記イベントは、
第2の金融商品の価値の変更、
第2の金融商品の取引量の変更、
企業による決算公表、
取引の逆側の注文の提出、
業界を規制する規制の変更、および
企業の信用格付けの変更
のうちの少なくとも1つを含み、
前記イベントの発生時において前記マッチングエンジンのキュー内で保留中ではない注文を、前記マッチングエンジンの前記キューに追加する命令を含み、
前記イベントの発生命令の受信に応答して、注文の調整が、前記イベントの発生に関連する少なくとも一つの基準に沿うかを判断し、
前記注文が条件づけられた、前記イベントの発生に関連する少なくとも一つの基準が充足したかを判断し、
当該判断に応答して、前記データバスを介して前記マッチングエンジンに対して注文を調整する命令を送信し、
前記マッチングエンジンから送信された、注文が保存されたメモリロケーションの命令を記録するように構成される、前記イベントエンジンと、
を備えた取引システム。
A trading system,
A data bus connecting the event engine and the matching engine so that they can communicate with each other, the data bus configured to be able to transmit commands from the event engine to the matching engine;
An instruction stack, and when the data bus and the matching engine receive an instruction to adjust an order from the event engine, the instruction to adjust the order by the matching engine is at least one pending in the instruction stack. A matching engine configured to be added before one instruction,
Receiving orders for orders that individually define each side of a transaction for a financial instrument;
Adding each order to one of the buy and sell order queues of the financial product;
Determining that at least a first order in the buy order queue and a second order in the sell order queue match;
Configured to send to the event engine instructions of a memory location where the order is stored, and fulfill a transaction that satisfies the first order and the second order; The matching engine;
An event engine,
Receives an event generation command,
The event is
A change in the value of the second financial product,
Change in transaction volume of the second financial product,
Announcement of financial results by companies,
Submit orders on the opposite side of the transaction,
Including at least one of a regulatory change that regulates the industry and a change in the credit rating of the company,
Instructions to add orders that are not pending in the matching engine queue at the time of the event to the queue of the matching engine;
In response to receiving the event occurrence instruction, determining whether order adjustments meet at least one criterion associated with the occurrence of the event;
Determining whether at least one criterion related to the occurrence of the event that the order is conditioned is satisfied;
In response to the determination, send an instruction to adjust the order to the matching engine via the data bus;
The event engine configured to record instructions of a memory location where an order is stored, sent from the matching engine;
Trading system with
JP2017094533A 2009-03-06 2017-05-11 Program-to-program communication using messages related to exchange events and actions Active JP6498234B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/399,570 2009-03-06
US12/399,570 US10380689B2 (en) 2009-03-06 2009-03-06 Method and apparatus for exchange-based condition processing
US12/406,260 2009-03-18
US12/406,260 US10453130B2 (en) 2009-03-18 2009-03-18 Electronic exchange system using messages related to events and actions on an exchange

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015116229A Division JP6144725B2 (en) 2009-03-06 2015-06-09 Program-to-program communication using messages related to exchange events and actions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019045174A Division JP2019109935A (en) 2009-03-06 2019-03-12 Inter-program communication using message related to events and operation at exchange

Publications (2)

Publication Number Publication Date
JP2017152047A JP2017152047A (en) 2017-08-31
JP6498234B2 true JP6498234B2 (en) 2019-04-10

Family

ID=42709957

Family Applications (6)

Application Number Title Priority Date Filing Date
JP2011552962A Active JP5984395B2 (en) 2009-03-06 2010-02-11 Transaction system and transaction method
JP2015116229A Active JP6144725B2 (en) 2009-03-06 2015-06-09 Program-to-program communication using messages related to exchange events and actions
JP2017094533A Active JP6498234B2 (en) 2009-03-06 2017-05-11 Program-to-program communication using messages related to exchange events and actions
JP2019045174A Pending JP2019109935A (en) 2009-03-06 2019-03-12 Inter-program communication using message related to events and operation at exchange
JP2021120080A Active JP7165788B2 (en) 2009-03-06 2021-07-21 Program-to-program communication using messages related to exchange events and operations
JP2022169569A Pending JP2022191468A (en) 2009-03-06 2022-10-24 Inter-program communication using messages related to events and actions on exchange

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2011552962A Active JP5984395B2 (en) 2009-03-06 2010-02-11 Transaction system and transaction method
JP2015116229A Active JP6144725B2 (en) 2009-03-06 2015-06-09 Program-to-program communication using messages related to exchange events and actions

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2019045174A Pending JP2019109935A (en) 2009-03-06 2019-03-12 Inter-program communication using message related to events and operation at exchange
JP2021120080A Active JP7165788B2 (en) 2009-03-06 2021-07-21 Program-to-program communication using messages related to exchange events and operations
JP2022169569A Pending JP2022191468A (en) 2009-03-06 2022-10-24 Inter-program communication using messages related to events and actions on exchange

Country Status (4)

Country Link
JP (6) JP5984395B2 (en)
AU (5) AU2010221728A1 (en)
CA (1) CA2754817C (en)
WO (1) WO2010101703A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10453130B2 (en) 2009-03-18 2019-10-22 Bgc Partners, Inc. Electronic exchange system using messages related to events and actions on an exchange
US10380689B2 (en) 2009-03-06 2019-08-13 Bgc Partners, Inc. Method and apparatus for exchange-based condition processing
WO2010101703A1 (en) * 2009-03-06 2010-09-10 Bgc Partners, Inc. Interprogram communication using messages related to events and actions on an exchange
US11386494B2 (en) 2018-09-19 2022-07-12 Coinone Inc. Cryptocurrency trading method and system
JP2023060669A (en) 2021-10-18 2023-04-28 株式会社マキタ Electrically-driven work machine

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244690A (en) * 1994-03-04 1995-09-19 Kokusai Electric Co Ltd Information display device and its data processing method
BR0008461A (en) * 1999-02-24 2002-01-29 Min Ho Cha Automatic order submission method and system for stock trading, title, item, future index, option, index, currency and the like
JP2001155086A (en) * 1999-09-14 2001-06-08 Nippon Online Shoken Kk Device, system and method for automatically giving selling or buying order
US7110975B2 (en) * 2000-01-27 2006-09-19 Marks De Chabris Gloriana Order matching system
JP2001265973A (en) * 2000-03-15 2001-09-28 Fujitsu Ltd Device for supporting transaction
JP2002073374A (en) * 2000-08-30 2002-03-12 Canon Inc Interrupt simulation method and device
US20030130926A1 (en) * 2002-01-07 2003-07-10 Moore Daniel F. Order processing for automated market system
US9311673B2 (en) * 2002-06-05 2016-04-12 Nasdaq, Inc. Security transaction matching
JP3754009B2 (en) * 2002-07-19 2006-03-08 カブドットコム証券株式会社 Trading order processing system for automatically setting correction conditions and trading order processing method
JP2004151841A (en) * 2002-10-29 2004-05-27 Hitachi Information Systems Ltd Commodity trading system
JP2004213546A (en) * 2003-01-08 2004-07-29 Kabu.Com Securities Co Ltd Dealing order processing system and its method for simultaneously ordering two or more dealing orders
US7693778B2 (en) * 2004-05-14 2010-04-06 John Nafeh Risk management contracts and method and apparatus for trading same
US20060218071A1 (en) * 2005-03-28 2006-09-28 Espeed, Inc. System and method for managing trading between related entities
EP1866829A4 (en) * 2005-04-05 2010-08-04 Broadway Technology Llc Trading system with internal order matching
AU2006244563B2 (en) * 2005-05-05 2011-07-21 Nyse Group, Inc. Anti-internalization order modifier
US20070016506A1 (en) * 2005-05-20 2007-01-18 James Davies System and method for determining availability of a tradable instrument
US20070050254A1 (en) * 2005-08-29 2007-03-01 Espeed, Inc. System and method for trading context-specific advertising
WO2007074903A1 (en) * 2005-12-28 2007-07-05 Matsui Securities Co., Ltd. Real-time settlement system for securities, real-time settlement system for stock trading and real-time settlement device for securities
JP5039309B2 (en) * 2006-03-09 2012-10-03 ファイテックフォース株式会社 Trading system
JP2008021141A (en) * 2006-07-13 2008-01-31 Kabu.Com Securities Co Ltd Purchase order receiving system and purchase order receiving method
JP2008209987A (en) * 2007-02-23 2008-09-11 Nomura Research Institute Ltd Automatic execution system for transaction of securities
JP2008262429A (en) * 2007-04-12 2008-10-30 Satoru Chiba Automatic trade system, automatic trade method and program
WO2010101703A1 (en) * 2009-03-06 2010-09-10 Bgc Partners, Inc. Interprogram communication using messages related to events and actions on an exchange

Also Published As

Publication number Publication date
JP6144725B2 (en) 2017-06-07
AU2017216503B2 (en) 2019-12-05
AU2022206758A1 (en) 2022-08-18
AU2017216503A1 (en) 2017-08-31
WO2010101703A1 (en) 2010-09-10
AU2016203888A1 (en) 2016-06-30
JP2015201222A (en) 2015-11-12
JP2021170387A (en) 2021-10-28
JP2017152047A (en) 2017-08-31
AU2020201530B2 (en) 2022-04-21
AU2016203888B2 (en) 2017-06-15
JP2012519905A (en) 2012-08-30
AU2020201530A1 (en) 2020-03-19
JP7165788B2 (en) 2022-11-04
JP2022191468A (en) 2022-12-27
CA2754817A1 (en) 2010-09-10
JP2019109935A (en) 2019-07-04
AU2010221728A1 (en) 2011-09-22
JP5984395B2 (en) 2016-09-06
CA2754817C (en) 2022-12-13

Similar Documents

Publication Publication Date Title
US20210287290A1 (en) Large block trading
JP6498234B2 (en) Program-to-program communication using messages related to exchange events and actions
US11544790B2 (en) Method and apparatus for exchange-based condition processing
US20240013299A1 (en) Event triggered trading
JP2021140799A (en) Product and processing for order distribution
US11842396B2 (en) Interprogram communication using messages related to events and actions on an exchange
EP3745267B1 (en) Streaming platform reader
EP3582112B1 (en) Optimized data structure
US20100049621A1 (en) Request for quote system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190312

R150 Certificate of patent or registration of utility model

Ref document number: 6498234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250