Pauseless end-of-interval rollover with fault tolerance

US12468608B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12468608-B2
Application numberUS-202318535465-A
CountryUS
Kind codeB2
Filing dateDec 11, 2023
Priority dateDec 12, 2022
Publication dateNov 11, 2025
Grant dateNov 11, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods of pauseless end-of-interval rollovers are described to provide rollover processing with fault tolerance. A system may execute first and second instances of a matching engine for fault tolerance. Each instance by design is deterministically programmed to perform paused end-of-interval (EOI) rollover processing in which orders may be received without blocking by transmitting loopback messages that indicate to-be-expired messages. The sequencer may sequence the loopback messages along with new order messages. Each instance may continue to receive sequenced messages, which may include loopback messages it or the other instance sent, and expire the order corresponding to the loopback message or the counterpart loopback message, wherein expiration of the order occurs on both the first instance and the second instance without blocking new messages from the sequencer.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system for pause-less end-of-interval messaging with failover protection, comprising: one or more processors programmed to execute a first instance of a matching engine and a second instance of the matching engine, the first instance and the second instance executing on the same or different processors of the system, wherein the second instance is a backup instance for fault tolerance if the first instance becomes unavailable; wherein each of the first instance and the second instance is programmed to: receive a plurality of messages over time from a sequencer, each message of the plurality of messages identifying a respective order from a participant to be matched with another order via the matching engine and having been sequenced with respect to other messages of the plurality of messages, wherein each order has an expiration after which the order should no longer be matched; receive, from the sequencer, an end-of-interval (EOI) rollover message associated with an EOI expiration that indicates orders that have expired based on a respective expiration of the order and the EOI expiration are to be expired and no longer matched to other orders; responsive to the EOI rollover message: identify a to-be-expired order based on its expiration, generate a loopback message that identifies the to-be-expired order without expiring the to-be-expired order while continuing to receive new messages for new orders from the sequencer, and transmit the loopback message to the sequencer, which will sequence the loopback message along with new messages for new orders that are received after the EOI rollover message; receive one or more new messages from the sequencer; determine that at least one new message of the one or more new messages is the loopback message or a counterpart loopback message sent to the sequencer by the other instance of the matching engine; and expire the order corresponding to the loopback message or the counterpart loopback message, wherein expiration of the order occurs on both the first instance and the second instance without blocking new messages from the sequencer. 2 . The system of claim 1 , wherein the first instance and the second instance each is to: store the plurality of messages, as they are received, in a message log; and responsive to receipt of the EOI rollover message, generate a current EOI snapshot based on the plurality of messages in the message log to maintain a snapshot of messages received in a current EOI time period, the current EOI snapshot being used to recover messages received during the time period before the EOI rollover message is received and after a prior EOI rollover message was received. 3 . The system of claim 1 , wherein the first instance and the second instance each accesses a respective loopback message send queue, and each of the first instance and the second instance is to: add the loopback message to the respective loopback message send queue along with other loopback messages that each identify a respective to-be-expired order; wherein to transmit the loopback message to the sequencer, the first instance and the second instance each transmit the loopback message from its respective loopback message send queue. 4 . The system of claim 3 , wherein to transmit the loopback message from its respective loopback message send queue, each of the first instance and the second instance is to: execute a throttling thread that transmits the loopback message from its respective loopback message send queue based on one or more throttling parameters that define a number or rate of loopback messages to be transmitted to the sequencer to control the number or rate of loopback messages that are transmitted to the sequencer from each of the first instance and the second instance. 5 . The system of claim 1 , wherein each of the first instance and the second instance is to: after the EOI rollover message is received, receive a new message from the sequencer, the new message comprising a new order to be matched; and process the new order to be matched without pause while continuing to process the EOI rollover message. 6 . The system of claim 5 , wherein each of the first instance and the second instance is to: determine that the new order specifies a counter-part order that is-to-be expired; and expire the counter-part order. 7 . The system of claim 6 , wherein each of the first instance and the second instance is to: determine that all to-be-expired orders have been expired; and transmit a rollover completed loopback message indicating that all of the to-be-expired orders have been expired. 8 . The system of claim 1 , wherein the at least one new message of the one or more new messages is the loopback message. 9 . The system of claim 1 , wherein the at least one new message of the one or more new messages is the counterpart loopback message. 10 . The system of claim 1 , wherein each of the first instance and the second instance is to: add the plurality of messages and the one or more new messages into a respective inbound message queue. 11 . The system of claim 1 , wherein the one or more processors are further programmed to execute a sequencer, the sequencer to: receive a plurality of messages from (i) one or more market participants and/or (ii) the first instance and the second instance; sequence the plurality of messages; and transmit the sequenced plurality of messages to each of the first instance and the second instance. 12 . The system of claim 1 , wherein the one or more processors are further programmed to execute a sequencer, the sequencer to: transmit an EOI rollover message to each of the first and second instances to indicate that an EOI rollover is to occur. 13 . A method, comprising: receiving, by a matching engine instance of a computer system, a plurality of messages over time from a sequencer, each message of the plurality of messages identifying a respective order from a participant to be matched with another order via the matching engine and having been sequenced with respect to other messages of the plurality of messages, wherein each order has an expiration after which the order should no longer be matched; receiving, by the matching engine instance from the sequencer, an end-of-interval (EOI) rollover message associated with an EOI expiration that indicates orders that have expired based on a respective expiration of the order and the EOI expiration are to be expired and no longer matched to other orders; responsive to the EOI rollover message: identifying, by the matching engine instance, a to-be-expired order based on its expiration, generating, by the matching engine instance, a loopback message that identifies the to-be-expired order without expiring the to-be-expired order while continuing to receive new messages for new orders from the sequencer, and transmitting, by the matching engine instance, the loopback message to the sequencer, which will sequence the loopback message along with new messages for new orders that are received after the EOI rollover message; receiving, by the matching engine instance, one or more new messages from the sequencer; determining, by the matching engine instance, that at least one new message of the one or more new messages is the loopback message or a counterpart loopback message sent to the sequencer by the other instance of the matching engine; and expiring, by the matching engine instance, the order corresponding to the loopback message or the counterpart loopback message, wherein expiration of the order occurs without blocking new messages from the sequencer.

Assignees

Inventors

Classifications

  • involving logging of persistent data for recovery · CPC title

  • Point-in-time backing up or restoration of persistent data · CPC title

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title

  • where the redundant components share neither address space nor persistent storage · CPC title

  • without idle spare hardware · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12468608B2 cover?
Systems and methods of pauseless end-of-interval rollovers are described to provide rollover processing with fault tolerance. A system may execute first and second instances of a matching engine for fault tolerance. Each instance by design is deterministically programmed to perform paused end-of-interval (EOI) rollover processing in which orders may be received without blocking by transmitting …
Who is the assignee on this patent?
Refinitiv Us Organization Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/2023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).