# US 2023/0274358 A1 · 24 hours global low latency computerized exchange system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0274358 A1
- Document ID: US20230274358A1
- Status: Published application
- Kind: A1
- Application number: 18/313,421
- Filed: 2023-05-08
- Published: 2023-08-31
- Earliest claimed: 2009-06-29
- Assignees: Nasdaq Technology AB
- Applicants: Nasdaq Technology AB
- Inventors: Daniel JENSEN; Urban ARVIDSSON
- Web page: https://patentgrep.com/patent/US20230274358A1

## CPC

- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04L 51/226: Delivery according to priorities
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A system, comprising:
a processor; and
a memory, wherein:
the processor and memory are configured to implement a first matching engine, a first orderbook, a second matching engine, and a second order book;
the first matching engine is configured to:
receive an order entry message from a first device;
create a modified order entry message by adding status data to the order entry message; and
forward the modified order entry message, including the status data, to the second matching engine;
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 order data in the modified order entry message using the second orderbook;
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; and
the first matching engine is further configured to:
receive the confirmation data from the second matching engine.

### Claim 2 (depends on 1)

The system of claim 1, wherein the status data relates to an operating state of the first matching engine.

### Claim 3 (depends on 1)

The system of claim 1, wherein the first matching engine is further configured to transmit broadcast data based on the received confirmation data.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The system of claim 1, wherein
the status data includes a sequence number related to the order, and
the sequence number includes an orderbook sequence number corresponding to a status of the order.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

The system of claim 1, wherein
the second matching engine is configured to obtain an orderbook sequence number, and
the first matching engine is configured to verify the orderbook sequence number.

### Claim 8 (depends on 7)

The system of claim 7, wherein the second matching engine is further configured to:
attempt to match the order data in the modified order entry message using the second orderbook while the first matching engine verifies the orderbook sequence number, and
generate the confirmation data when the first matching engine successfully verifies the orderbook sequence number.

### Claim 9 (depends on 7)

The system of claim 7, wherein the second matching engine is further configured to:
attempt to match the order data in the modified order entry message using the second orderbook while the first matching engine verifies the orderbook sequence number, and
rollback changes associated with matching the order data using the second orderbook when the first matching engine fails to verify the orderbook sequence number.

### Claim 10 (depends on 9)

The system of claim 9, wherein the second matching engine is further configured to:
perform an additional attempt to match the order data in the modified order entry message after the changes associated with matching the order data using the second orderbook have been rolled back; and
generate the confirmation data after performing the additional attempt to match the order data.

### Claim 11

A non-transitory computer readable storage medium storing computer readable instructions that, when executed by a processor of an information processing system including a first subsystem, a second subsystem, and an orderbook memory, cause the information processing system to perform operations comprising:
receiving, via the first subsystem, an order entry message from a first device;
creating a modified order entry message by adding status data to the order entry message;
forwarding the modified order entry message, including the status data, to the second subsystem;
receiving, via the second subsystem, the modified order entry message forwarded by the first subsystem;
processing the modified order entry message by attempting to match order data in the modified order entry message using the orderbook memory; and
generating confirmation data associated with the status data contained in the modified order entry message.

### Claim 12 (depends on 11)

The non-transitory computer readable storage medium of claim 11, wherein the status data relates to an operating state of the first subsystem.

### Claim 13 (depends on 11)

The non-transitory computer readable storage medium of claim 11, wherein the confirmation data is generated by comparing an operating state of the second subsystem to the operating state of the first subsystem based on the status data contained in the modified order entry message.

### Claim 14 (depends on 11)

The non-transitory computer readable storage medium of claim 11, wherein
the second subsystem is configured to obtain an orderbook sequence number, and
the first subsystem is configured to verify the orderbook sequence number.

### Claim 15 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the information processing system is further caused to provide execution comprising:
attempting to match the order data in the modified order entry message using the orderbook memory while the first subsystem verifies the orderbook sequence number, and
rolling back changes associated with matching the order data using the orderbook memory when the first subsystem fails to verify the orderbook sequence number.

### Claim 16

A method for processing order data, the method comprising:
at an information processing system having a first subsystem, a second subsystem, and an orderbook memory:
receiving, via the first subsystem, an order entry message from a first device;
creating a modified order entry message by adding status data to the order entry message;
forwarding the modified order entry message, including the status data, to the second subsystem;
receiving the modified order entry message forwarded by the first subsystem; and
processing the modified order entry message using the second subsystem.

### Claim 17 (depends on 16)

The method of claim 16, wherein processing the modified order entry message includes attempting to match the order data in the modified order entry message using the orderbook memory of the information processing system.

### Claim 18 (depends on 16)

The method of claim 16, wherein the status data relates to an operating state of the first subsystem.

### Claim 19 (depends on 16)

The method of claim 16, wherein the confirmation data is generated by comparing an operating state of the second subsystem to the operating state of the first subsystem based on the status data contained in the modified order entry message.

### Claim 20 (depends on 16)

The method of claim 16, further comprising:
attempting to match the order data in the modified order entry message using the orderbook memory while the first subsystem verifies an orderbook sequence number, and
rolling back changes associated with matching the order data using the orderbook memory when the first subsystem fails to verify the orderbook sequence number.
