IP Library Granted Patent US 9,779,456
Granted Patent B2
US 9,779,456 · App. 14/061,056 · Granted Oct 3, 2017

Trade order submission for electronic trading

Inventors: Alexander V. Foygel (Highland Park, IL); Bharat Mittal (Schaumburg, IL)
Assignee: Trading Technologies International, Inc.
G06Q40/04G06Q40/00G06Q40/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,779,456
App. No.
14/061,056
Granted
Oct 3, 2017
Kind
B2
Abstract

Various systems and methods for trade order processing in an electronic trading environment are provided. The order processing includes initiating a first thread of instructions at a computing device to send a first trade order onto an electronic exchange. However, if one or more trade orders are identified during the process to send the first trade order, then the one or more orders are queued. When the first trade order is sent to the electronic exchange, then a second thread of instructions is initiated at the computing device to send the queued one or more trade orders (substantially together, if there is more than one) on to the electronic exchange.

Claims (33)

1. A method including:

initiating sending by a computing device a first order message in a first thread of a trading application:

determining by the computing device that a second order message is ready to be sent while the first order message is being sent, wherein the second order message is in a second thread of the trading application, wherein the second thread is different than the first thread;

determining by the computing device that a third order message is ready to be sent while the first order message is being sent, wherein the third order message is in a third thread of the trading application, wherein the third thread is different than the first thread;

moving by the computing device the second order message into a data structure in a queuing thread of the trading application in response to determining the second order message is ready to be sent while the first order message is being sent, wherein the second thread does not wait to process other instructions of the trading application until the next available time to send the second order message after moving the second order message, wherein the queuing thread is different than the first thread, the second thread, and the third thread;

moving by the computing device the third order message into the data structure in the queuing thread in response to determining the third order message is ready to be sent while the first order message is being sent, wherein the third thread does not wait to process other instructions of the trading application until the next available time to send the third order message after moving the third order message; and

initiating sending by the computing device the second order message and the third order message in the queuing thread after the sending of the first order message is complete.

2. The method of claim 1 , further including generating by the computing device the first order message in the first thread.

3. The method of claim 1 , further including initiating generating by the computing device at least one of the second order message and the third order message prior to initiating sending the first order message.

4. The method of claim 1 , further including initiating generating by the computing device at least one of the second order message and the third order message after initiating sending the first order message.

5. The method of claim 1 , further including receiving by the computing device at least one of the first order message, the second order message, and the third order message from a client device.

6. The method of claim 1 , wherein the second thread and the third thread are different threads.

7. The method of claim 1 , wherein the second thread and the third thread are the same thread.

8. The method of claim 1 , wherein the data structure in the queuing thread is a queue.

9. The method of claim 1 , further including generating by the computing device a batch message including the second order message and the third order message in the queuing thread, wherein initiating sending the second order message and the third order message includes initiating sending the batch message.

10. The method of claim 1 , wherein the second order message and the third order message are sent together.

11. The method of claim 1 , wherein the computing device includes one of the group consisting of: (1) a client device, (2) a server-side device, and (3) a gateway.

12. A non-transitory computer readable medium having stored therein instructions executable by a processor, including instructions executable to:

initiate sending a first order message in a first thread of a trading application; determine that a second order message is ready to be sent while the first order message is being sent, wherein the second order message is in a second thread of the trading application, wherein the second thread is different than the first thread;

determine that a third order message is ready to be sent while the first order message is being sent, wherein the third order message is in a third thread of the trading application, wherein the third thread is different than the first thread;

move the second order message into a data structure in a queuing thread of the trading application in response to determining the second order message is ready to be sent while the first order message is being sent, wherein the second thread does not wait to process other instructions of the trading application until the next available time to send the second order message after moving the second order message, wherein the queuing thread is different than the first thread, the second thread, and the third thread;

move the third order message into the data structure in the queuing thread in response to determining the third order message is ready to be sent while the first order message is being sent, wherein the third thread does not wait to process other instructions of the trading application until the next available time to send the third order message after moving the third order message; and

initiate sending the second order message and the third order message in the queuing thread after the sending of the first order message is complete.

13. The non-transitory computer readable medium of claim 12 , further including instructions executable to generate the first order message in the first thread.

14. The non-transitory computer readable medium of claim 12 , further including instructions executable to initiate generating at least one of the second order message and the third order message prior to initiating sending the first order message.

15. The non-transitory computer readable medium of claim 12 , further including instructions executable to initiate generating at least one of the second order message and the third order message after initiating sending the first order message.

16. The non-transitory computer readable medium of claim 12 , further including instructions executable to receive at least one of the first order message, the second order message, and the third order message from a client device.

17. The non-transitory computer readable medium of claim 12 , wherein the second thread and the third thread are different threads.

18. The non-transitory computer readable medium of claim 12 , wherein the second thread and the third thread are the same thread.

19. The non-transitory computer readable medium of claim 12 , wherein the data structure in the queuing thread is a queue.

20. The non-transitory computer readable medium of claim 12 , further including instructions executable to generate a batch message including the second order message and the third order message in the queuing thread, wherein initiating sending the second order message and the third order message includes initiating sending the batch message.

21. The non-transitory computer readable medium of claim 12 , wherein the second order message and the third order message are sent together.

22. The non-transitory computer readable medium of claim 12 , wherein the processor is included in one of the group consisting of: (1) a client device, (2) a server-side device, and (3) a gateway.

Assignments (6)
SECURITY INTEREST Recorded Nov 7, 2025
From: TRADING TECHNOLOGIES INTERNATIONAL, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 073510/0758 →
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2025
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 073470/0522 →
SECURITY INTEREST Recorded Nov 22, 2022
From: TRADING TECHNOLOGIES INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 061995/0117 →
RELEASE OF SECURITY INTEREST Recorded Jun 15, 2022
From: ACF FINCO I LP
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 060791/0498 →
SECURITY INTEREST Recorded Jul 20, 2021
From: TRADING TECHNOLOGIES INTERNATIONAL, INC.
To: ACF FINCO I LP
Reel/Frame 057143/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: FOYGEL, ALEXANDER V.; MITTAL, BHARAT
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 031462/0973 →
Continuity (3)
Continuation 13765940 · Feb 13, 2013
Continuation 12410232 · Mar 24, 2009
Related Publication 20140207642A1 · Jul 24, 2014