IP Library Granted Patent US 10,540,719
Granted Patent B2
US 10,540,719 · App. 16/152,915 · Granted Jan 21, 2020

Method and apparatus for message flow and transaction queue management

Inventors: Gary Allan Kemp, II (Fairfax, CA); Jens-Uwe Schluetter (Ridgefield, CT); David W. Garrison (Arlington Heights, IL); Sagy Pundak Mintz (Austin, TX)
Assignee: Trading Technologies International, Inc.
G06Q40/04G06F9/546
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 10,540,719
App. No.
16/152,915
Granted
Jan 21, 2020
Kind
B2
Abstract

Management of transaction message flow utilizing a transaction message queue. The system and method are for use in financial transaction messaging systems. The system is designed to enable an administrator to monitor, distribute, control and receive alerts on the use and status of limited network and exchange resources. Users are grouped in a hierarchical manner, preferably including user level and group level, as well as possible additional levels such as account, tradable object, membership, and gateway levels. The message thresholds may be specified for each level to ensure that transmission of a given transaction does not exceed the number of messages permitted for the user, group, account, etc.

Claims (31)

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

determine that a first limit for transmitting transaction messages from a first entity to an exchange over a communication link between the gateway and the exchange has been reached, wherein the first entity is one of a plurality of entities divided into one or more groups, wherein each entity in the plurality of entities is associated with a user, a tradeable object, and at least one limit, wherein the first entity is associated with the first limit, wherein the first limit is a number of transactions that are in-flight;

receive a first transaction message after determining that the first limit has been reached, wherein the first transaction message is of a first type, is from the first entity, and includes a first transaction identification parameter;

determine that the first limit associated with the first entity would be exceeded by transmitting the first transaction message to the exchange over the communication link;

determine that a second transaction message in a transaction message queue is related to the first transaction message, wherein the second transaction message is of a second type, is from the first entity, and includes a second transaction identification parameter, wherein the second transaction message is determined to be related to the first transaction message based on the first transaction identification parameter and the second transaction identification parameter being the same; and

update the transaction message queue based on the first type of the first transaction message and the second type of the related second transaction message.

2. The computer readable medium of claim 1 , wherein the first type of the first transaction message is one of the group of a delete message, a change message, and a cancel/replace message, wherein the second type of the second transaction message is a delete message, wherein the transaction message queue is updated by rejecting the first transaction message.

3. The computer readable medium of claim 1 , wherein the first type of the first transaction message is a delete message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by replacing the second transaction message with the first transaction message.

4. The computer readable medium of claim 1 , wherein the first type of the first transaction message is a change message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by replacing the second transaction message with the first transaction message.

5. The computer readable medium of claim 1 , wherein the first type of the first transaction message is a cancel/replace message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by removing the second transaction message and appending the first transaction message.

6. The computer readable medium of claim 1 , wherein the first type of the first transaction message is a remove queued message, wherein the second type of the second transaction message is one of the group of an add message, a delete message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by removing the second transaction message.

7. The computer readable medium of claim 1 , wherein the first type of the first transaction message is a timeout message, wherein the transaction message queue is updated by rejecting the second transaction message in response to determining the second type of the second transaction message is not a delete message.

8. The computer readable medium of claim 1 , wherein the first entity is associated with a second limit, wherein the second limit is a number of transactions per second.

9. The computer readable medium of claim 1 , wherein the first entity is associated with a second limit, wherein the second limit is a total number of transaction messages for a day.

10. The computer readable medium of claim 1 , wherein the first entity is associated with a second limit, wherein the second limit is a bandwidth usage limitation.

11. A system including:

a gateway including a processor,

wherein the gateway is configured to determine that a first limit for transmitting transaction messages from a first entity to an exchange over a communication link between the gateway and the exchange has been reached, wherein the first entity is one of a plurality of entities divided into one or more groups, wherein each entity in the plurality of entities is associated with a user, a tradeable object, and at least one limit, wherein the first entity is associated with the first limit, wherein the first limit is a number of transactions that are in-flight;

wherein the gateway is configured to receive a first transaction message after determining that the first limit has been reached, wherein the first transaction message is of a first type, is from the first entity, and includes a first transaction identification parameter;

wherein the gateway is configured to determine that the first limit associated with the first entity would be exceeded by transmitting the first transaction message to the exchange over the communication link;

wherein the gateway is configured to determine that a second transaction message in a transaction message queue is related to the first transaction message, wherein the second transaction message is of a second type, is from the first entity, and includes a second transaction identification parameter, wherein the second transaction message is determined to be related to the first transaction message based on the first transaction identification parameter and the second transaction identification parameter being the same; and

wherein the gateway is configured to update the transaction message queue based on the first type of the first transaction message and the second type of the related second transaction message.

12. The system of claim 11 , wherein the first type of the first transaction message is one of the group of a delete message, a change message, and a cancel/replace message, wherein the second type of the second transaction message is a delete message, wherein the transaction message queue is updated by rejecting the first transaction message.

13. The system of claim 11 , wherein the first type of the first transaction message is a delete message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by replacing the second transaction message with the first transaction message.

14. The system of claim 11 , wherein the first type of the first transaction message is a change message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by replacing the second transaction message with the first transaction message.

15. The system of claim 11 , wherein the first type of the first transaction message is a cancel/replace message, wherein the second type of the second transaction message is one of the group of an add message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by removing the second transaction message and appending the first transaction message.

16. The system of claim 11 , wherein the first type of the first transaction message is a remove queued message, wherein the second type of the second transaction message is one of the group of an add message, a delete message, a change message, and a cancel/replace message, wherein the transaction message queue is updated by removing the second transaction message.

17. The system of claim 11 , wherein the first type of the first transaction message is a timeout message, wherein the transaction message queue is updated by rejecting the second transaction message in response to determining the second type of the second transaction message is not a delete message.

18. The system of claim 11 , wherein the first entity is associated with a second limit, wherein the second limit is a number of transactions per second.

19. The system of claim 11 , wherein the first entity is associated with a second limit, wherein the second limit is a total number of transaction messages for a day.

20. The system of claim 11 , wherein the first entity is associated with a second limit, wherein the second limit is a bandwidth usage limitation.

Assignments (3)
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 5, 2018
From: KEMP, GARY ALLAN, II; SCHLUETTER, JENS-UWE; GARRISON, DAVID W.; MINTZ, SAGY PUNDAK
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 047082/0889 →
Continuity (5)
Continuation 14460337 · Aug 14, 2014
Continuation 14056463 · Oct 17, 2013
Continuation 11417513 · May 3, 2006
Continuation 10196056 · Jul 15, 2002
Related Publication 20190035023A1 · Jan 31, 2019