# US 10,311,518 B2 · Order feed message stream integrity

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

- Number: US 10,311,518 B2
- Document ID: US10311518B2
- Status: Granted
- Kind: B2
- Application number: 16/170,354
- Filed: 2018-10-25
- Published: 2019-02-28
- Granted: 2019-06-04
- Earliest claimed: 2011-09-02
- Assignees: Trading Technologies International, Inc.
- Applicants: Trading Technologies International Inc.
- Inventors: Erica Joan Grant Bradnick; Leslie Michael Brody; Scott F. Singer
- Web page: https://patentgrep.com/patent/US10311518B2

## CPC

- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- G06Q 40/06: Asset management; Financial planning or analysis
- H04L 1/1642: {Formats specially adapted for sequence numbers}
- H04L 43/0847: {Transmission error}
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- 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

Systems, methods, and computer-readable storage media are provided for improving order feed message stream integrity. Certain embodiments provide a method including sending, by a computing device, a first data message; sending a first stop message; clearing a message stream state; and sending a second data message. The first data message includes data related to an order for a tradeable object, a first sequence number with a value of a predefined initial sequence number, and a first phase number. The second data message includes data related to an order, a second sequence number with a value of the predefined initial sequence number, and a second phase number, wherein the second phase number is different than the first phase number. The message stream state is associated with the order.

## Claims

### Claim 1

A method including:
sending, by a computing device, a first data message, wherein the first data message includes data related to a topic, wherein the first data message includes a first data message sequence number with a value of a predefined initial sequence number, wherein the first data message includes a first data message phase number;
sending, by the computing device, a first stop message, wherein the first stop message includes a stop message phase number, wherein the stop message phase number is the same as the first data message phase number, wherein the stop message indicates that no heartbeat messages will be sent after the stop message is sent and before another data message is sent; and
sending, by the computing device, a second data message, wherein the second data message is sent after the first stop message, wherein the second data message includes data related to the topic, wherein the second data message includes a second data message sequence number with a value of the predefined initial sequence number, wherein the second data message includes a second data message phase number, wherein the second data message phase number is different than the first data message phase number.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first data message includes a flag indicating that the first data message is also the first stop message.

### Claim 3 (depends on 1)

The method of claim 1, further including sending, by the computing device, a first heartbeat message, wherein the first heartbeat message is sent at a first time interval after the first data message is sent, wherein the first heartbeat message includes a first heartbeat message phase number, wherein the first heartbeat message phase number is the same as the first data message phase number.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first heartbeat message includes a flag indicating that the first heartbeat message is also the first stop message.

### Claim 5 (depends on 1)

The method of claim 1, further including clearing, by the computing device, message stream state associated with the topic, wherein the message stream state is cleared after the stop message is sent, wherein the message stream state includes information particular to a message stream, wherein the message stream is a logical communications channel for messages related to the topic.

### Claim 6 (depends on 5)

The method of claim 5, wherein the information particular to the message stream includes the first data message phase number.

### Claim 7 (depends on 5)

The method of claim 5, wherein clearing the message stream state includes de-allocating the message stream state from a memory of the computing device.

### Claim 8

A computer readable medium having stored therein instructions executable by a processor, including instructions executable to:
send a first data message, wherein the first data message includes data related to a topic, wherein the first data message includes a first data message sequence number with a value of a predefined initial sequence number, wherein the first data message includes a first data message phase number;
send a first stop message, wherein the first stop message includes a stop message phase number, wherein the stop message phase number is the same as the first data message phase number, wherein the stop message indicates that no heartbeat messages will be sent after the stop message is sent and before another data message is sent; and
send a second data message, wherein the second data message is sent after the first stop message, wherein the second data message includes data related to the topic, wherein the second data message includes a second data message sequence number with a value of the predefined initial sequence number, wherein the second data message includes a second data message phase number, wherein the second data message phase number is different than the first data message phase number.

### Claim 9 (depends on 8)

The computer readable medium of claim 8, wherein the first data message includes a flag indicating that the first data message is also the first stop message.

### Claim 10 (depends on 8)

The computer readable medium of claim 8, further including instructions executable to send a first heartbeat message, wherein the first heartbeat message is sent at a first time interval after the first data message is sent, wherein the first heartbeat message includes a first heartbeat message phase number, wherein the first heartbeat message phase number is the same as the first data message phase number.

### Claim 11 (depends on 10)

The computer readable medium of claim 10, wherein the first heartbeat message includes a flag indicating that the first heartbeat message is also the first stop message.

### Claim 12 (depends on 8)

The computer readable medium of claim 8, further including instructions executable to clear message stream state associated with the topic, wherein the message stream state is cleared after the stop message is sent, wherein the message stream state includes information particular to a message stream, wherein the message stream is a logical communications channel for messages related to the topic.

### Claim 13 (depends on 12)

The computer readable medium of claim 12, wherein the information particular to the message stream includes the first data message phase number.

### Claim 14 (depends on 12)

The computer readable medium of claim 12, wherein clearing the message stream state includes de-allocating the message stream state from a memory of a computing device including the processor.

### Claim 15

A system including:
a computing device,
wherein the computing device is configured to send a first data message, wherein the first data message includes data related to a topic, wherein the first data message includes a first data message sequence number with a value of a predefined initial sequence number, wherein the first data message includes a first data message phase number;
wherein the computing device is configured to send a first stop message, wherein the first stop message includes a stop message phase number, wherein the stop message phase number is the same as the first data message phase number, wherein the stop message indicates that no heartbeat messages will be sent after the stop message is sent and before another data message is sent; and
wherein the computing device is configured to send a second data message, wherein the second data message is sent after the first stop message, wherein the second data message includes data related to the topic, wherein the second data message includes a second data message sequence number with a value of the predefined initial sequence number, wherein the second data message includes a second data message phase number, wherein the second data message phase number is different than the first data message phase number.

### Claim 16 (depends on 15)

The system of claim 15, wherein the first data message includes a flag indicating that the first data message is also the first stop message.

### Claim 17 (depends on 15)

The system of claim 15, wherein the computing device is further configured to send a first heartbeat message, wherein the first heartbeat message is sent at a first time interval after the first data message is sent, wherein the first heartbeat message includes a first heartbeat message phase number, wherein the first heartbeat message phase number is the same as the first data message phase number.

### Claim 18 (depends on 17)

The system of claim 17, wherein the first heartbeat message includes a flag indicating that the first heartbeat message is also the first stop message.

### Claim 19 (depends on 15)

The system of claim 15, wherein the computing device is further configured to clear message stream state associated with the topic, wherein the message stream state is cleared after the stop message is sent, wherein the message stream state includes information particular to a message stream, wherein the message stream is a logical communications channel for messages related to the topic.

### Claim 20 (depends on 19)

The system of claim 19, wherein the information particular to the message stream includes the first data message phase number.

### Claim 21 (depends on 19)

The system of claim 19, wherein clearing the message stream state includes de-allocating the message stream state from a memory of the computing device.
