IP Library Granted Patent US 11,854,084
Granted Patent B2
US 11,854,084 · App. 18/209,296 · Granted Dec 26, 2023

System and method for delaying an executable instruction that would otherwise be executable immediately upon arrival at an executing system

Inventor: Steven I. Givot (Chicago, IL)
Assignee: NYSE Chicago, Inc.
G06Q40/06G06F9/3856G06Q40/04G06Q30/08G06Q40/00G06Q40/02G06Q40/12
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 11,854,084
App. No.
18/209,296
Granted
Dec 26, 2023
Kind
B2
Abstract

A system and method are provided for intentionally delaying an execution of an executable instruction by determining if a current executable instruction is received from a predefined source for which all executable instructions are to be intentionally delayed. When so, the system sets a sequence time associated with the instruction equal to a receipt time plus a delay time. The system saves the instruction in an intentional delay queue for future execution. When the current executable instruction is received from a source that is not the predefined source, the system determines if a condition for immediate processing of the current executable instruction is present. When so, the system executes the instruction immediately. Otherwise, it performs an intentional delay determination that determines whether the current executable instruction has been intentionally delayed. When the current executable instruction has been intentionally delayed, the system executes the instruction immediately.

Claims (67)

1. A system for intentionally delaying execution of an executable instruction, comprising:

a processor configured to execute programmed instructions stored in non-transitory memory;

an input at which one or more executable instructions are received;

an inbound message queue configured to store a portion of the one or more executable instructions such that each executable instruction of the portion is added to an end of the inbound message queue for processing according to a sequence in which it is received; and

an intentional delay queue specifically configured to store a remaining portion of the one or more executable instructions such that each executable instruction of the remaining portion is inserted into any position within the intentional delay queue for processing according to an order in which it is eligible for processing;

the processor being further configured to:

identify a current executable instruction among the one or more executable instructions stored among the inbound message queue and the intentional delay queue;

determine that a source of the current executable instruction comprises a predefined source from which all executable instructions are to be intentionally delayed,

responsive to determining that the current executable instruction is to be intentionally delayed, delay execution of the current executable instruction for a delay time by moving the current executable instruction to a position in the intentional delay queue for execution after the delay time together with a delay indication, and

execute the current executable instruction after the delay time in accordance with the position in the intentional delay queue.

2. The system of claim 1 , wherein the processor is further configured to:

determine when the current executable instruction is received from at least one other source that is not the predefined source; and

immediately execute the current executable instruction received from the at least one other source when the current executable instruction includes a condition for immediate processing.

3. The system of claim 1 , wherein the processor is further configured to:

determine whether the current executable instruction has been previously placed in the intentional delay queue based on a presence or absence of the delay indication; and

immediately execute the current executable instruction when the delay indication is present.

4. The system of claim 3 , wherein the processor is further configured to, when it is determined that the delay indication is not present for the current executable instruction:

determine whether the current executable instruction includes an order; and

when the current executable instruction does not include the order, immediately execute the current executable instruction.

5. The system of claim 4 , wherein the processor is further configured to, when it is determined that the current executable instruction includes the order:

determine whether the order would take liquidity immediately; and

when the order would take liquidity immediately, move the current executable instruction to the intentional delay queue.

6. The system of claim 5 , where the processor is further configured to immediately execute the current executable instruction when the order would not take liquidity immediately.

7. The system of claim 4 , wherein the processor is further configured to, when the order comprises a cancel order or a cancel-replace order:

determine whether there is an order associated with the current executable instruction in the intentional delay queue; and

when the intentional delay queue includes the associated order, move the current executable instruction to the intentional delay queue.

8. The system of claim 7 , wherein the processor is further configured to immediately process either the cancel order or a cancel portion of the cancel-replace order when the intentional delay queue does not include the associated order.

9. The system of claim 8 , where the processor is further configured to:

determine whether the cancel-replace order includes a replacement portion;

set the current executable instruction as the replacement portion responsive to the determination; and

repeat the determination of whether the current executable instruction is an order.

10. The system of claim 1 , wherein the processor is further configured to:

determine whether the intentional delay queue is empty;

when it is determined that the intentional delay queue is not empty:

determine whether a sequence time of an executable instruction within the intentional delay queue has been reached;

when the sequence time has not been reached and when an inbound message queue is not empty, set the current executable instruction as being a first executable instruction within the inbound message queue;

when the sequence time has been reached or exceeded:

when the inbound message queue is empty, set the current executable instruction as being a first executable instruction within the intentional delay queue;

when the inbound message queue is not empty, determine whether a first message sequence time of the intentional delay queue is less than or equal to a second message sequence time of the inbound message queue;

when the first message sequence time is less than or equal to the second message sequence time, set a current message as being the first executable instruction within the intentional delay queue, and

when the first message sequence time is greater than the second message sequence time, set the current message as being the first executable instruction within the inbound message queue.

11. The system of claim 1 , wherein the processor is further configured to:

receive a message containing the executable instruction at an input port associated with the processor;

set an executable instruction receipt time of the executable instruction and an executable instruction sequence time of the executable instruction as being a time that the message was received at the input port; and

move the executable instruction with its receipt time and sequence time into the inbound message queue.

12. The system of claim 11 , wherein the processor is further configured to, prior to moving the executable instruction into the inbound message queue, set an intentional delay flag indicating that the executable instruction has not yet been placed in the intentional delay queue.

13. The system of claim 1 , wherein the processor is further configured to, when it is determined that the current executable instruction is received from the predefined source:

set a sequence time of the current executable instruction equal to a value comprising a receipt time of the current executable instruction delayed by the delay time.

14. A system for intentionally delaying execution of an executable instruction, comprising:

a processor configured to execute programmed instructions stored in non-transitory memory;

an input at which one or more executable instructions are received;

an inbound message queue configured to store a portion of the one or more executable instructions such that each executable instruction of the portion is added to an end of the inbound message queue for processing according to a sequence in which it is received; and

an intentional delay queue specifically configured to store a remaining portion of the one or more executable instructions such that each executable instruction of the remaining portion is inserted into any position within the intentional delay queue for processing according to an order in which it is eligible for processing;

the processor being further configured to:

identify a current executable instruction among the one or more executable instructions stored among the inbound message queue and the intentional delay queue,

determine that the current executable instruction matches at least one predetermined condition for intentionally delayed processing,

responsive to determining that the current executable instruction is to be intentionally delayed, delay execution of the current executable instruction for a delay time by moving the current executable instruction to a position in the intentional delay queue for execution after the delay time together with a delay indication, and

execute the current executable instruction after the delay time in accordance with the position in the intentional delay queue.

15. The system of claim 14 , wherein the at least one predetermined condition comprises inclusion of an order that would immediately be matched against another order within the current executable instruction.

16. The system of claim 14 , wherein the at least one predetermined condition comprises the current executable instruction being received from a predefined source from which all executable instructions are to be intentionally delayed.

17. The system of claim 16 , wherein the processor is further configured to, when it is determined that the current executable instruction is received from the predefined source:

set a sequence time of the current executable instruction equal to a value comprising a receipt time of the current executable instruction delayed by the delay time.

18. The system of claim 14 , wherein the processor is further configured to:

determine when the current executable instruction does not match the at least one predetermined condition, and, in response, immediately execute the current executable instruction when the current executable instruction includes a condition for immediate processing.

19. The system of claim 14 , wherein the processor is further configured to:

determine whether the current executable instruction has been previously placed in the intentional delay queue based on a presence or absence of the delay indication; and

immediately execute the current executable instruction when the delay indication is present.

Assignments (3)
CHANGE OF NAME Recorded Jul 23, 2026
From: NYSE CHICAGO, INC.
To: NYSE TEXAS, INC.
Reel/Frame 076073/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2023
From: GIVOT, STEVEN I.
To: CHICAGO STOCK EXCHANGE, INC.
Reel/Frame 063937/0050 →
CHANGE OF NAME Recorded Jun 13, 2023
From: CHICAGO STOCK EXCHANGE, INC.
To: NYSE CHICAGO, INC.
Reel/Frame 063937/0208 →
Continuity (5)
Continuation 16593405 · Oct 4, 2019
Continuation 16152208 · Oct 4, 2018
Continuation 15665083 · Jul 31, 2017
Continuation In Part 15181681 · Jun 14, 2016
Related Publication 20230325928A1 · Oct 12, 2023