Low latency system having high availability computer architecture
AssigneeCboe Exchange, Inc.
InventorsCraig G. Murphy, Paul F. Ciciora, Steven P. Sinclair
Life of this patent
Estimating the term…
Abstract
A system is disclosed for processing external inbound messages with failover protection having low latency and high availability. The system includes a primary data processing host and a secondary data processing host. Each of the primary and secondary data processing hosts include a memory space shared by separate data processing components. The memory spaces of the primary and secondary data processing hosts are synchronized using a low-latency remote direct memory access. The synchronization is performed on data items stored in the memory spaces associated with one inbound message at a time.
Claims20
A method for processing inbound messages from external systems with low latency and high availability failover protection, comprising:
- receiving sequentially the inbound messages by a primary data processing host;
- executing separate data processing components in the primary data processing host to process the inbound messages;
- creating in the primary data processing host a first memory space for storing data items associated with the inbound messages wherein the first memory space is accessed by and is common to the separate data processing components;
- executing a synchronization component in the primary data processing host to synchronize the first memory space and a second memory space of a secondary data processing host with respect to one of the inbound messages at a time via a remote direct memory access;
- and
- upon detecting a failover condition by the primary data processing host:
- rejecting, by the primary data processing host, further inbound messages;
- transmitting, by the primary data processing host, a failover message to the secondary data processing host;
- and
- upon receiving the failover message and determining, by the secondary data processing host, a synchronization state between the first memory space and the second memory space being higher than a predetermined threshold:
- signaling, by the primary data processing host, the external systems to communicate further inbound messages with the secondary data processing host;
- and
- processing the further inbound messages by the secondary data processing host.
A fault tolerant data processing system, comprising:
- a primary data processing host including a first memory, and a first remote direct memory access interface;
- a secondary data processing host including a second memory, and a second remote direct memory access interface;
- wherein the primary data processing host is configured to:
- receive sequentially inbound messages;
- executing separate data processing components to process the inbound messages;
- creating in the first memory a first memory space for storing data items associated with the inbound messages wherein the first memory space is accessed by and is common to the separate data processing components;
- executing a synchronization component to synchronize the first memory space and a second memory space of the second memory in the secondary data processing host with respect to one of the inbound messages at a time via the first and second remote direct memory access interfaces;
- and
- upon detecting a failover condition by the primary data processing host, rejecting further inbound messages and transmitting a failover message to the secondary data processing host;
- and
- wherein the secondary data processing host is configured to:
- when determining, by the secondary data processing host, a synchronization state between the first memory space and the second memory space is higher than a predetermined threshold, processing the further inbound messages by the secondary data processing host.
Dependencies are inferred from the claim text.