IP Library Granted Patent US 11,669,904
Granted Patent B2
US 11,669,904 · App. 17/715,511 · Granted Jun 6, 2023

24 hours global low latency computerized exchange system

Inventors: Daniel Jensen (Stockholm, SE); Urban Arvidsson (Kungsör, SE)
Assignee: NASDAQ TECHNOLOGY AB
G06Q40/04H04L12/18H04L51/226
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,669,904
App. No.
17/715,511
Granted
Jun 6, 2023
Kind
B2
Abstract

The present technology relates to distributed computerized exchange systems for trading of financial instruments. In particular it relates to a passive matching engine and an active matching engine that cooperates in handling data messages such that less bandwidth is used and so that improvement in latency can be achieved.

Claims (75)

1. An exchange system, comprising:

a processor;

a memory;

a first matching engine including a first orderbook; and

a second matching engine including a second orderbook, wherein

the first matching engine is configured to:

receive an order entry message from a first terminal device, wherein the order entry message contains information associated with an order;

create a modified order entry message by adding status data to the order entry message, wherein the status data relates to an operating state of the first matching engine; and

forward the modified order entry message, including the status data, to the second matching engine, wherein

the second matching engine is configured to:

receive the modified order entry message forwarded by the first matching engine;

process the modified order entry message by attempting to match the order in the modified order entry message using the second orderbook associated with the second matching engine;

generate confirmation data associated with the status data contained in the modified order entry message; and

forward the confirmation data to the first matching engine, wherein

the first matching engine is further configured to:

receive the confirmation data from the second matching engine; and

transmit broadcast data based on the received confirmation data.

2. The system of claim 1 , wherein

the first matching engine is a passive matching engine, and

the second matching engine is an active matching engine.

3. The system of claim 2 , wherein

the first orderbook is a passive orderbook, and

the second orderbook is an active orderbook.

4. The system of claim 2 , wherein the confirmation data is generated by comparing an operating state of the active matching engine to the operating state of the passive matching engine based on the status data contained in the modified order entry message.

5. The system of claim 1 , wherein the status data includes a sequence number related to the order.

6. The system of claim 5 , wherein the sequence number is an orderbook sequence number corresponding to a status of the order.

7. The system of claim 1 , wherein the first matching engine is further configured to execute a rollback process for changing data records stored in the first orderbook according to the status data.

8. The system of claim 1 , further comprising:

a first subsystem; and

a second subsystem.

9. The system of claim 8 , wherein

the first matching engine is configured to failover to the second matching engine, and

the first subsystem is configured to failover to the second subsystem.

10. The system of claim 1 , wherein

a first site includes the first matching engine,

a second site includes the second matching engine,

the first site participates in an active trading session during a first time period, and

the active trading session is moved from the first site to the second sight during a second time period.

11. A method for processing order data, comprising:

at an information processing system having a first matching engine and first orderbook, a second matching engine and second orderbook, and one or more subsystems:

receiving, via the first matching engine, an order entry message from a first terminal device, wherein the order entry message contains information associated with an order;

creating a modified order entry message by adding status data to the order entry message, wherein the status data relates to an operating state of the first matching engine;

forwarding the modified order entry message, including the status data, to the second matching engine;

receiving, via the second matching engine, the modified order entry message forward from the first matching engine; and

processing the modified order entry message using the second matching engine, wherein

processing the modified order entry message includes attempting to match the order in the modified order entry message using the second orderbook of the second matching engine.

12. The method of claim 11 , wherein

the first matching engine is a passive matching engine,

the second matching engine is an active matching engine,

the first orderbook is a passive orderbook, and

the second orderbook is an active orderbook.

13. The method of claim 12 , wherein the confirmation data is generated by comparing an operating state of the active matching engine to the operating state of the passive matching engine based on the status data contained in the modified order entry message.

14. The method of claim 11 , wherein

the status data includes a sequence number related to the order, and

the sequence number is an orderbook sequence number corresponding to a status of the order.

15. The method of claim 11 , wherein the first matching engine is further configured to execute a rollback process for changing data records stored in the first orderbook according to the status data.

16. A system, comprising:

a processor;

a memory; and

a first matching engine including a first orderbook, wherein

the system is configured to:

receive an order entry message from a first terminal device, wherein the order entry message contains information associated with an order;

create a modified order entry message by adding status data, to the order entry message, relating to an operating state of the first matching engine;

forward the modified order entry message, including the status data, to a second matching engine;

receive confirmation data from the second matching engine; and

transmit broadcast data to the first group of terminal devices.

17. The system of claim 16 , wherein

the first matching engine is a passive matching engine, and

the second matching engine is an active matching engine.

18. The system of claim 17 , wherein the confirmation data is generated by comparing an operating state of the active matching engine to the operating state of the passive matching engine based on the status data contained in the modified order entry message.

19. The system of claim 16 , wherein the first matching engine is further configured to execute a rollback process for changing data records stored in the first orderbook according to the status data.

20. The system of claim 16 , further comprising:

a first subsystem, wherein

the first subsystem is configured to failover to a second subsystem, and

the first matching engine is configured to failover to the second matching engine.

Assignments (2)
CHANGE OF NAME Recorded Apr 13, 2022
From: OMX TECHNOLOGY AB
To: NASDAQ TECHNOLOGY AB
Reel/Frame 059691/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: JENSEN, DANIEL; ARVIDSSON, URBAN
To: OMX TECHNOLOGY AB
Reel/Frame 059548/0521 →
Continuity (4)
Continuation 16129949 · Sep 13, 2018
Continuation 12757106 · Apr 9, 2010
Provisional Application 61221302 · Jun 29, 2009
Related Publication 20220230246A1 · Jul 21, 2022
Cited By (1)
US 12,541,795