# US 12,015,685 B2 · Optimization of encoding cycles for object recovery feed

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

- Number: US 12,015,685 B2
- Document ID: US12015685B2
- Status: Granted
- Kind: B2
- Application number: 18/199,489
- Filed: 2023-05-19
- Published: 2023-09-28
- Granted: 2024-06-18
- Earliest claimed: 2016-12-19
- Assignees: Chicago Mercantile Exchange Inc.
- Applicants: Chicago Mercantile Exchange Inc.
- Inventors: Priteshkumar Soni; Andy Ross; Melissa Jenner; Sebastian Demian
- Web page: https://patentgrep.com/patent/US12015685B2

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 11/1464: {for networked environments}
- G06F 11/1474: in transactions (updating of structured data in databases G06F16/23)
- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- H04L 12/00: Data switching networks (interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units G06F13/00)
- H04L 67/55: Push-based network services
- G06F 2201/805: Real-time
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

## Abstract

The disclosed embodiments relate generally to efficient data encoding and transmission. An encoding system determines an encoding interval at which to encode different groups of related data in a data structure. The encoding interval for each group encoded together optimizes the amount of newly received information that is encoded and transmitted in a continuous, repeating loop.

## Claims

### Claim 1

A system comprising:
a processor configured to:
store data received during a variable length interval in a memory coupled with the processor, each indicative of an incremental change to a baseline state of a data object which arbitrarily changes over time, wherein the amount of data stored varies based on the length of the variable length interval at the end of which the stored received data is indicative of a new state of the data object resultant from sequential application of all of the incremental changes to the baseline state indicated by the stored received data, a length of the variable length interval being determined based on an amount of time needed to encode the stored received data and an amount of time needed to transmit, via an electronic communications network to a recipient, previously encoded data stored in the memory during a prior interval such that the encoding of the stored received data is completed upon the completion of the transmission of the previously encoded data; and
commence encoding, subsequent to the end of the variable length interval, the stored received data into encoded data indicative of the new state of the data object, such that the transmission thereof and encoding of subsequently stored data may commence subsequent thereto.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processor includes multiple processing units coupled with each other, one of which is configured to perform the storage of the data and another of which is configured to perform the encoding.

### Claim 3 (depends on 1)

The system of claim 1, wherein the processor is operative to determine the length of the variable length interval so as to maximize the amount of data stored in the memory at the end of the interval while minimizing a time between completion of the transmission of the previously encoded data and the commencement of a subsequent transmission.

### Claim 4 (depends on 1)

The system of claim 1, wherein the processor is operative to determine the length of the variable length interval so as to minimize an amount of time between completion of encoding of the stored received data and transmission thereof.

### Claim 5 (depends on 1)

The system of claim 1, wherein the processor is operative to determine the length of the variable length interval so as to eliminate contention for the encoded stored received data between the encoding and the transmitting.

### Claim 6 (depends on 1)

The system of claim 1, further comprising a data generator configured to transmit the data indicative of the incremental changes to the baseline state of the data object, as the data object changes, to a recipient such that the recipient thereof may apply, upon receipt, the incremental changes to a copy of the baseline state to replicate the new state and any intermediate states between the baseline state and the new state.

### Claim 7 (depends on 6)

The system of claim 6, wherein, when any of the data indicative of the incremental changes to the baseline state of the data object are not received by the recipient or the recipient loses their copy of the baseline state, upon receipt of the encoded data indicative of the new state of the data object, the recipient may replace, or substitute for, the copy of the baseline state with the new state to establish a new baseline state to which to apply subsequently received data indicative of the incremental changes.

### Claim 8 (depends on 7)

The system of claim 7, wherein the encoded data indicative of the new state of the data object is transmitted such that it is received by the recipient before the recipient receives data indicative of incremental changes to the new state of the data object.

### Claim 9 (depends on 1)

The system of claim 1, wherein the length of the variable length interval is further determined based on occurrence of an event operative to generate data for encoding and transmission such that all data generated based on the event has been received and stored prior to the end of the variable length interval.

### Claim 10 (depends on 1)

The system of claim 1, wherein the amount of time needed to encode the stored received data varies as a function of a one of an actual or an approximate size of the stored received data, and wherein the amount of time needed to transmit previously encoded received data varies as a function of a size of the previously encoded received data that has not yet been transmitted, one or more conditions of the communications network over which the encoded stored received data is transmitted, a state of the recipient of the transmitted encoded stored received data, or a combination thereof.

### Claim 11 (depends on 1)

The system of claim 1, wherein the processor is further configured to transmit the encoded stored received data in a sequential repeating loop with other separately received, accumulated and encoded data encoded upon elapse of a different variable length interval.

### Claim 12 (depends on 1)

The system of claim 1, wherein encoding of the stored received data comprises a Simple Binary Encoding.

### Claim 13 (depends on 1)

The system of claim 1, wherein the received data indicates one or more modifications to a data object based upon processing one or more electronic data transaction request messages, each of which comprises a request to perform a transaction related to a financial instrument represented by the data object, the processing comprising matching performed by a hardware matching processor.

### Claim 14

A computer implemented method comprising:
storing, by a processor, data received during a variable length interval in a memory coupled with the processor, each indicative of an incremental change to a baseline state of a data object which arbitrarily changes over time, wherein the amount of data stored varies based on the length of the variable length interval at the end of which the stored received data is indicative of a new state of the data object resultant from sequential application of all of the incremental changes to the baseline state indicated by the stored received data, a length of the variable length interval being determined based on an amount of time needed to encode the stored received data and an amount of time needed to transmit, via an electronic communications network to a recipient, previously encoded data stored in the memory during a prior interval such that the encoding of the stored received data is completed upon the completion of the transmission of the previously encoded data; and
commencing, by the processor, encoding, subsequent to the end of the variable length interval, the stored received data into encoded data indicative of the new state of the data object, such that the transmission thereof and encoding of subsequently stored data may commence subsequent thereto.

### Claim 15 (depends on 14)

The computer implemented method of claim 14, wherein the processor includes multiple processing units coupled with each other, one of which performs the storing and another of which performs the encoding.

### Claim 16 (depends on 14)

The computer implemented method of claim 14, further comprising determining, by the processor, the length of the variable length interval so as to maximize the amount of data stored in the memory at the end of the interval while minimizing a time between completion of the transmission of the previously encoded data and the commencement of a subsequent transmission.

### Claim 17 (depends on 14)

The computer implemented method of claim 14, further comprising determining, by the processor, the length of the variable length interval so as to minimize an amount of time between completion of encoding of the stored received data and transmission thereof.

### Claim 18 (depends on 14)

The computer implemented method of claim 14, further comprising determining, by the processor, the length of the variable length interval so as to eliminate contention for the encoded stored received data between the encoding and the transmitting.

### Claim 19 (depends on 14)

The computer implemented method of claim 14, further comprising transmitting, by a data generator, data indicative of the incremental changes to the baseline state of the data object, as the data object changes, to a recipient such that the recipient thereof may apply, upon receipt, the incremental changes to a copy of the baseline state to replicate the new state and any intermediate states between the baseline state and the new state.

### Claim 20 (depends on 19)

The computer implemented method of claim 19, wherein, when any of the data indicative of the incremental changes to the baseline state of the data object are not received by the recipient or the recipient loses their copy of the baseline state, upon receipt of the encoded data indicative of the new state of the data object, the recipient may replace, or substitute for, the copy of the baseline state with the new state to establish a new baseline state to which to apply subsequently received data indicative of the incremental changes.

### Claim 21 (depends on 20)

The computer implemented method of claim 20, wherein the encoded data indicative of the new state of the data object is transmitted such that it is received by the recipient before the recipient receives data indicative of incremental changes to the new state of the data object.

### Claim 22 (depends on 14)

The computer implemented method of claim 14, wherein the length of the variable length interval is further determined based on occurrence of an event operative to generate data for encoding and transmission such that all data generated based on the event has been received and accumulated prior to the end of the variable length interval.

### Claim 23 (depends on 14)

The computer implemented method of claim 14, wherein the amount of time needed to encode the stored received data varies as a function of a one of an actual or an approximate size of the stored received data, and wherein the amount of time needed to transmit previously encoded received data varies as a function of a size of the previously encoded received data that has not yet been transmitted, one or more conditions of the communications network over which the encoded stored received data is transmitted, a state of the recipient of the transmitted encoded stored received data, or a combination thereof.

### Claim 24 (depends on 14)

The computer implemented method of claim 14, further comprising transmitting, by the processor, the encoded stored received data in a sequential repeating loop with other separately received, accumulated and encoded data encoded upon elapse of a different determined variable length interval.

### Claim 25 (depends on 14)

The computer implemented method of claim 14, wherein encoding of the stored received data comprises a Simple Binary Encoding.

### Claim 26 (depends on 14)

The computer implemented method of claim 14, wherein the received data indicates one or more modifications to a data object based upon processing one or more electronic data transaction request messages, each of which comprises a request to perform a transaction related to a financial instrument represented by the data object, the processing comprising matching performed by a hardware matching processor.

### Claim 27

A system comprising:
means for storing data received during a variable length interval in a memory, each indicative of an incremental change to a baseline state of a data object which arbitrarily changes over time, wherein the amount of data stored varies based on the length of the variable length interval at the end of which the stored received data is indicative of a new state of the data object resultant from sequential application of all of the incremental changes to the baseline state indicated by the stored received data, a length of the variable length interval being determined based on an amount of time needed to encode the stored received data and an amount of time needed to transmit, via an electronic communications network to a recipient, previously encoded data stored in the memory during a prior interval such that the encoding of the stored received data is completed upon the completion of the transmission of the previously encoded data; and
means for commencing encoding, subsequent to the end of the variable length interval, the stored received data into encoded data indicative of the new state of the data object, such that the transmission thereof and encoding of subsequently stored data may commence subsequent thereto.
