IP Library › Granted Patent US 11,250,508
Granted Patent B2
US 11,250,508 · App. 16/658,779 · Granted Feb 15, 2022

Interprogram communication using messages related to events and actions on an exchange

Inventors: Howard W. Lutnick (New York, NY); Bijoy Paul (New York, NY); Michael Sweeting (Surrey, GB)
Assignee: BGC PARTNERS, INC.
G06Q40/04
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,250,508
App. No.
16/658,779
Granted
Feb 15, 2022
Kind
B2
Abstract

Various embodiments of exchanges are described. Methods and other embodiments are also described.

Claims (66)

1. A method for controlling an electronic exchange system,

in which the electronic exchange system includes a physical data bus, a first physical processing element of at least one processor and a second physical processing element of the at least processor, and

in which the physical data bus directly communicatively couples the first physical processing element and the second physical processing element, and wherein the physical data bus is configured to deliver instructions from the first physical processing element to the second physical processing element,

in which the method comprises:

controlling, by the at least one processor, the second physical processing element to:

receive indications of orders from remote devices that are not part of the electronic exchange system, wherein each order defines a respective side of a trade for a financial instrument;

add each of the orders to a respective one of a queue of buy orders and a queue of sell orders for the financial instrument;

determine that at least a first order in the queue of buy orders and a second order in the queue of sell orders match, and

execute a trade that fulfill the first order and the second order; and

controlling, by the at least one processor, the first physical processing element to:

receive an indication of an occurrence of an event;

in response to receiving the indication of occurrence of the event, determine that an adjustment to an order is conditioned on at least one criteria associated with the occurrence;

determine that the at least one criteria associated with the occurrence on which the order is conditioned is satisfied; and

in response to determining the at least one criteria is satisfied, transmit, through the physical data bus, to the second physical processing element, an indication to adjust the order that acts as an interrupt to processing of the second physical processing element to cause the second physical processing element to, in response to receiving the indication to adjust the order, adjust the order.

2. The method of claim 1 , wherein the second physical processing element further comprises a physical memory having a stack of machine instructions; and

further comprising controlling, by the at least one processor, in response to the indication to adjust the order being received by the second physical processing element, the second physical processing element to insert an instruction to adjust the order corresponding to the indication to adjust the order in the stack of machine instructions before at least one instruction pending in the stack of machine instructions and before processing a given instruction in the stack of machine instructions.

3. The method of claim 2 , in which the at least one instruction includes a second instruction to adjust the order.

4. The method of claim 2 , in which 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.

5. The method of claim 2 , in which the instruction to adjust the order includes an instruction to remove the order.

6. The method of claim 5 , in which the instruction to adjust the order includes an instruction to add a replacement order.

7. The method of claim 6 , in which the order includes a passive order and the replacement order includes an aggressive order.

8. The method of claim 6 , in which the instruction to adjust includes an instruction to add the replacement order with a same time-based priority as the order.

9. The method of claim 5 , in which the event includes a placement of an order for an opposite side of the trade for the financial instrument that is associated with a quantity above a threshold value.

10. The method of claim 2 , in which the physical data bus is configured to transmit information indicated by the indication to adjust the order to a physical memory location within the stack of machine instructions in the second physical processing element such that the physical memory location is accessed by direct memory access from the first physical processing element; and

the method further comprises controlling, by the at least one processor, the second physical processing element to read data from said physical memory location.

11. The method of claim 2 , in which the at least one instruction includes an instruction to process an indication to add another order to at least one of the queue for sell orders and the queue for buy orders that was received by the second physical processing element before the order was received by the second physical processing element, in which the indication to add the other order was not received by the second physical processing element from the physical data bus, and the order is added before the instruction is executed based on receipt of the order not being from the physical data bus.

12. The method of claim 1 , in which the event includes at least one of:

a change in a value of a second financial instrument;

a change in a trading volume of a second financial instrument;

a placement of an order for an opposite side of the trade;

a change to regulations that regulate an industry; or

a change in credit rating of a company.

13. The method of claim 1 , in which at a time associated with the event, the order is not pending in a queue of the second physical processing element, and in which the indication to adjust the order includes an indication to add the order to the queue of the second physical processing element.

14. The method of claim 13 , in which the indication to add the order includes an indication to add the order at a time-based priority associated with the order when the order was previously in the queue.

15. The method of claim 13 , in which the event includes a reduction in a quantity associated with orders for the opposite side of the trade for the financial instrument.

16. The method of claim 1 , further comprising:

controlling, by the at least one processor, the second physical processing element to transmit to the first physical processing element an indication of a physical memory location in which the order is stored.

17. The method of claim 16 , further comprising:

controlling, by the at least one processor, the first physical processing element to record the indication of the physical memory location in which the order is stored.

18. The method of claim 11 , wherein the at least one instruction to add another order to at least one of the queue for sell orders and the queue for buy orders comprises a better price than the price of the order.

19. A method for controlling operation of an electronic exchange system,

in which the electronic exchange system includes a physical data bus, a first physical processing element of at least one processor and a second physical processing element of the at least processor, and

in which the physical data bus directly communicatively couples the first physical processing element and the second physical processing element, and wherein the physical data bus is configured to deliver instructions from the first physical processing element to the second physical processing element,

in which the second physical processing element comprises a physical memory having a stack of machine instructions, wherein the physical data bus and the second physical processing element are configured such that, when an indication to adjust an order is received by the second physical processing element, the indication to adjust the order acts as an interrupt to processing of the second physical processing element

in which the method comprises:

controlling, by the at least one processor, the second physical processing element to:

in response to an indication to adjust the order being received by the second physical processing element, insert an instruction to adjust the order corresponding to the indication to adjust the order in the stack of machine instructions before at least one instruction pending in the stack of machine instructions and before processing a given instruction in the stack of machine instructions,

receive indications of orders, wherein each order defines a respective side of a trade for a financial instrument;

add each of the orders to a respective one of a queue of buy orders and a queue of sell orders for the financial instrument;

determine that at least a first order in the queue of buy orders and a second order in the queue of sell orders match;

transmit to the first physical processing element an indication of a physical memory location in which the order is stored;

execute a trade that fulfill the first order and the second order; and

record the indication of the physical memory location in which the order is stored; and

controlling, by the at least one processor, the first physical processing element to:

receive an indication of an occurrence of an event,

wherein the event includes at least one of:

 a placement of an order for an opposite side of the trade for the financial instrument that is associated with a quantity above a threshold value

 a change in a value of a second financial instrument;

 a change in a trading volume of a second financial instrument;

 a placement of an order for an opposite side of the trade;

 a change to regulations that regulate an industry; or

 a change in credit rating of a company, and

wherein, at a time associated with the event, the order is not pending in a queue of the second physical processing element, and the indication to adjust the order includes an indication to add the order to the queue of the second physical processing element;

in response to receiving the indication of occurrence of the event, determine that an adjustment to an order is conditioned on at least one criteria associated with the occurrence;

determine that the at least one criteria associated with the occurrence on which the order is conditioned is satisfied; and

in response to determining the at least one criteria is satisfied, transmit, through the physical data bus, to the second physical processing element, the indication to adjust the order.

Continuity (2)
Continuation 12406260 · Mar 18, 2009
Related Publication 20200051170A1 · Feb 13, 2020