Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETEAILED ACTION
The amendment filed 12/10/2025 has been entered. Claims 61-80 are pending. Claim 61 has been amended. No claim is added or cancelled.
Response to Arguments
Applicant's arguments filed 12/10/2025 have been fully considered but they are not persuasive.
In that remark, the applicant argued in substance:
That: BRANDON does not teach or suggest “the matching engine configured to store a parent request data structure that is stored in local memory of the first computing device, the parent request data structure including parent data for an existing parent request, the parent data including an indication for an away data transaction request.”
In response to the applicant’s argument BRANDON in [0025] teaches a matching engine 211 in the exchange system 200 to attempt to match the order(s) contained in the order data messages. If a match is found, the order will process (e.g., trade) and the parties associated with the order receive confirmation messages that the order executed. If no match is found, the order is be stored in an order book 212 memory in the exchange system 200 (e.g., for later matching with future orders) and in [0056], suitable data structure(s), and in [0007], a plurality of order data and stores the parsed order data in a database. The parsed order data can be used to link different parent orders to one or more associated child orders.
Therefore, BRANDON clearly teaches that based on order data messages, a matching engine perform two steps such as matching order if matches found and if no match is found, the order (can be a parent or child) is be stored in an order book 212 memory in the exchange system (which corresponds to the local memory).
That: BRANDON does not teach or suggest “determining, based on one or more attributes of the existing parent request, which other one of the plurality of processing instance will be responsible for the parent request”
In response to the applicant’s argument BRANDON in [0027] teaches, a child system 110 could receive the parent order(s) 105 for additional processing and [0026], parent order(s) 105 could contain one or more order data messages that contain information for carrying out an order request for an entity associated with parent system(s).
Therefore, BRANDON clearly teaches parent system 100 could send multiple parent order(s) 105 messages to a variety of different child system(s) 110 (corresponds to the processing instance) that receive and process the parent order (s) based on information for carrying out an order request for an entity associated with parent system(s).
That: BRANDON does not teach or suggest “transmitting, to the matching engine, a command that identifies which other one of the plurality of processing instances will be responsible for the parent request”
In response to the applicant’s argument BRANDON in [0028] teaches, generate order data messages transmittable to an exchange system and order data messages that are individually transmitted to exchange system 200 for processing (and possible matching) and in [0026], the parent order(s) 105 could contain one or more order data messages that contain information for carrying out an order request for an entity associated with parent system(s).
In addition, in [0029], the child trade(s) could be data messages between exchange system 200 and child system 110 containing different details related to trades.
Therefore, BRANDON clearly teaches order data messages generated (corresponds to a command) that contain information for carrying out an order request generated and transmitted to the exchange system (that includes the matching engine) and in order to have a communication between the exchange system and the child systems the order data messages that contain information also contain identifiers (address) of the child system.
That: BRANDON does not teach or suggest “based on reception of the command, generating a new identifier and a message including the new identifier is transmitted for use by the plurality of processing instances”
In response to the applicant’s argument BRANDON in [0027] teaches, send multiple parent order(s) 105 messages to a variety of different child system(s) 110, [0027] and in [0029], the exchange system 200 can generate data reporting the trade to child system 110. For example, exchange system 200 can generate one or more child trade(s) 116-1-116-n indicating that a child order has executed as a trade (i.e., matched). The child trade(s) 116-1-116-n could be data messages between exchange system 200 and child system 110 containing different details related to trades of one or more child orders. For example, the data message could include data elements indicating the type of instrument traded, the specific instrument traded, a trade price for the instrument, a volume traded for the instrument, identifiers related to the child order and/or parent order.
Therefore, BRANDON clearly teaches after order data messages transmittable to an exchange system, the exchange system generates data include data elements such as identifiers related to the parent order and reporting to child system.
That: BRANDON or Konduru does not teach or suggest “a sequencer”
In response to the applicant’s argument Konduru in [0170] teaches, queue, store, different values, sequences.
Based on BRANDON in view of Konduru, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to utilize the teaching of Konduru to the system of BRANDON in order to increase capability of BRANDON system.
Therefore, the combination of BRANDON and Konduru clearly make the above limitations obvious.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 61-80 is/are rejected under 35 U.S.C. 103 as being unpatentable over BRANDON et al. (US 20180349999) hereinafter BRANDON in view of Konduru et al. (US 20200394710) hereinafter Konduru.
Regarding claim 61, BRANDON teaches a distributed computer system (i.e. a distributed computing environment, [0045]) that is configured to communicate with a routing computer system that routes away data transaction requests to different destination computer systems (i.e. The networking module 123 can implement one or more networking/communication protocols, and be used to handle various data messages between the external system(s) 120 and, at least, the server system(s), [0043]), the distributed computer system comprising: a plurality of computing devices that communicate by using an electronic data network (i.e. a parent system 100, a client system 110, and an exchange system 200, [0025] and communicate order messages between each other, [0026]), the plurality of computing devices including at least a first computing device configured to execute a matching engine (i.e. the exchange system 200 includes a matching engine 211, [0025], each of the plurality of computing devices including at least one hardware processor (i.e. the system(s) 100, 110, and 200 employ a variety of communication circuitry, as well as processing circuitry that includes input/output devices, data transceivers (for transmission of digital and/or analog signals), one or more processors (e.g., a CPU), [0028]); the plurality of computing devices configured to execute, across different ones of the plurality of computing devices, a plurality of processing instances including at least a first processing instance (i.e. a variety of different child system(s) 110, [0027]); the matching engine configured to store a parent request data structure that is stored in local memory of the first computing device (i.e. a matching engine 211 in the exchange system 200 to attempt to match the order(s) contained in the order data messages. If a match is found, the order will process (e.g., trade) and the parties associated with the order receive confirmation messages that the order executed. If no match is found, the order is be stored in an order book 212 memory in the exchange system 200 (e.g., for later matching with future orders), [0025] and suitable data structure(s), [0056]), the parent request data structure including parent data for an existing parent request, the parent data including an indication for an away data transaction request (i.e. a plurality of order data and stores the parsed order data in a database. The parsed order data can be used to link different parent orders to one or more associated child orders, [0007]); the first processing instance comprising instructions that, when executed by at least one hardware processor of the plurality of computing devices, cause the at least one hardware processor of the plurality of computing devices to perform first operations (i.e. Fig. 1A child system and action is in actuality performed by underlying hardware components (such as a processor and a memory) according to the instructions, [0024]) comprising: receiving a notification that indicates cancelation of the away data transaction request (i.e. received order data may include and the order data may include data for child orders for all activity related to the child orders (e.g., for when the child orders were entered (if they rested after entry), modified, cancelled, [0077], and child order object includes a cancellation, [0022]); based on the notification, determining, based on one or more attributes of the existing parent request, which other one of the plurality of processing instance will be responsible for the parent request (i.e. A child system 110 could receive the parent order(s) 105 for additional processing, [0027]); transmitting, to the matching engine, a command that identifies the determined other one of the plurality of processing instances will be responsible for the parent request (i.e. generate order data messages transmittable to an exchange system and order data messages that are individually transmitted to exchange system 200 for processing (and possible matching) [0028]); and the matching engine comprising instructions that, when executed by the at least one hardware processor of the first computing device, cause the at least one hardware processor of the first computing device to perform second operations comprising (i.e. Fig. 1B matching engine, exchange system 200 includes CPU, [0028]): based on reception of the command, generating a new identifier and a message including the new identifier is transmitted for use by the plurality of processing instances (i.e. send multiple parent order(s) 105 messages to a variety of different child system(s) 110, [0027] and the exchange system 200 can generate data reporting the trade to child system 110. For example, exchange system 200 can generate one or more child trade(s) 116-1-116-n indicating that a child order has executed as a trade (i.e., matched). The child trade(s) 116-1-116-n could be data messages between exchange system 200 and child system 110 containing different details related to trades of one or more child orders. For example, the data message could include data elements indicating the type of instrument traded, the specific instrument traded, a trade price for the instrument, a volume traded for the instrument, identifiers related to the child order and/or parent order, [0029]).
However, BRANDON does not explicitly disclose a sequencer and sequencing at least one message that includes the new identifier.
However, Konduru teaches a sequencer (i.e. queue, store, different values, sequences, [0170]) and sequencing at least one message that includes the new identifier (i.e. orders are maintained in one or more data structures or databases referred to as “order books,” such orders being referred to as “resting,” and made visible, i.e., their availability for trading is advertised, to the market participants through electronic notifications/broadcasts, referred to as market data feeds, [0041]).
Based on BRANDON in view of Konduru, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to utilize the teaching of Konduru to the system of BRANDON in order to increase capability of BRANDON system.
Regarding claim 62, BRANDON teaches a second processing instance of the plurality of processing instances is the other one of the plurality of processing instances that will be responsible for the parent request (i.e. a variety of different child system(s) 110, [0027]); and the new identifier is a new parent request identifier and the at least one message is a request for the other one of the plurality of processing instances to become the owner of the parent request (i.e. send multiple parent order(s) 105 messages to a variety of different child system(s) 110, [0027]).
Regarding claim 63, BRANDON teaches the second operations further comprise: receiving, from the second processing instance, a request to perform match processing for a new child data transaction request that is associated with the parent request that has the new parent request identifier (i.e. hen one or more child order(s) 115-1-115-n match at exchange system 200 (e.g., via the matching engine 211), the exchange system 200 can generate data reporting the trade to child system 110. For example, exchange system 200 can generate one or more child trade(s) 116-1-116-n indicating that a child order has executed as a trade (i.e., matched). The child trade(s) 116-1-116-n could be data messages between exchange system 200 and child system 110 containing different details related to trades of one or more child orders, [0029]).
Regarding claim 64, BRANDON does not explicitly disclose the second operations further comprise: adding, to a dual-sided data structure that is being maintained by the matching engine, the new child data transaction request.
However, Konduru teaches the second operations further comprise: adding, to a dual-sided data structure that is being maintained by the matching engine, the new child data transaction request (i.e. orders, maintained, data structure, and order book, [0041], paired queue, bid/ask, [0184], queue data structure, [0186] and [0170]). Therefore, the limitations of claim 64 are rejected in the analysis of claim 61 above, and the claim is rejected on that basis.
Regarding claim 65, BRANDON teaches the other one of the plurality of processing instances will be responsible for the parent request is identified as none (i.e. server 220 may then determine if a failure occurred during load and pre-processing in action 502. If a failure occurred, server 220 may generate a message detailing the load/pre-processing failure at action, [0068]).
Regarding claim 66, BRANDON teaches the second operations further comprise: based on reception of the command, atomically performing: generating a new data transaction request that does not have a parent identifier (i.e. exchange system 200 can generate one or more child trade(s) 116-1-116-n indicating that a child order has executed as a trade (i.e., matched). The child trade(s) 116-1-116-n could be data messages between exchange system 200 and child system 110 containing different details related to trades of one or more child orders, [0029]); and performing match processing for the new data transaction request (i.e. if one parent order object 610 corresponds to five child order objects 605, the parent order object 610 position may match the position of the third child order object 605 (i.e., the “median” order in sequence), [0089]), wherein generation of the new identifier is performed as part of the atomically performing (i.e. an order identifier 642 identifying the parent and/or child order(s). The order identifier 642 could be the order ID for a selected parent order event, [0095]).
Regarding claim 67, BRANDON does not explicitly disclose the atomically performing of the second operations further comprises: based on identification of a match by the match processing, sequencing and transmitting an execution message; or based on no match being identified by the match processing, sequencing and transmitting an accepted message and adding, to a dual-sided data structure that is being maintained by the matching engine, the new data transaction request.
However, Konduru teaches the atomically performing of the second operations further comprises: based on identification of a match by the match processing, sequencing and transmitting an execution message; or based on no match being identified by the match processing, sequencing and transmitting an accepted message (i.e. If the match engine does not identify a suitable previously received but unsatisfied counter order, the electronic trading system, as will be described, then generate the respective order acknowledgment and market data messages and transmit those messages to the market participants, [0045] and adding, to a dual-sided data structure that is being maintained by the matching engine, the new data transaction request (i.e. Previously received but unsatisfied orders, i.e., orders which either did not match with a counter order when they were received or their quantity was only partially satisfied, referred to as a partial fill, are maintained by the electronic trading system in an order book database/data structure to await the subsequent arrival of matching orders or the occurrence of other conditions which may cause the order to be modified, [0044]). Therefore, the limitations of claim 67 are rejected in the analysis of claim 61 above, and the claim is rejected on that basis.
Regarding claims 68-80, the limitations of claims 68-80 are similar to the limitations of claims 61-67. BRANDON further teaches a non-transitory computer readable storage medium storing instructions (i.e. non-transitory computer-readable storage medium, [0120] and instructions (e.g., software that is executed on or by processors 1212). Memory devices 1214 are examples of non-volatile computer-readable storage media, [0102]). Therefore, the limitations of claims 68-80 are rejected in the analysis of claims 61-67 above, and the claims are rejected on that basis.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AYELE F WOLDEMARIAM whose telephone number is (571)270-5196. The examiner can normally be reached M_F 8:30AM-5:00PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Joon H Hwang can be reached at 571-272-4036. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AW/
AYELE F. WOLDEMARIAM
Examiner
Art Unit 2447
2/9/2026
/SURAJ M JOSHI/Primary Examiner, Art Unit 2447