Fault tolerant architecture
AssigneeChicago Mercantile Exchange Inc.
InventorsDileep Chakravarthi Konduru, Priteshkumar Soni, Arkadiusz Koziol, Matthew Coffey, Nagesh Reddy, Satya Kamineni, Madhur Sirohi
Life of this patent
Estimating the term…
Abstract
A system/process provides fault tolerance to an integrated component system which integrates core components of a transaction processing system into a single processing platform, i.e., a single server, enabling elimination of the network interconnects and associated latencies introduced thereby in favor of much faster interconnects, such as inter-process communication and shared memory communication messaging, where a failure of any one component necessitates failing over the entire system to a backup thereof.
Claims38
A system comprising:
- a plurality of transaction processing servers coupled with each other via an electronic communications network, each of the plurality of transaction processing servers comprising a processor which implements a plurality of components coupled with each other, each of the plurality of components characterized by a current state and configured to perform one or more of receiving an electronic message, processing the received electronic message and generating an electronic result message indicative of a result of an operation which may alter the current state thereof, wherein one of the plurality of transaction processing servers is designated as a primary instance and each other of the plurality of transaction processing servers is designated as a backup instance, wherein each of the plurality of transaction processing servers is operative to receive an incoming request for a transaction, process the incoming request to identify a previously received request for a transaction counter thereto in an attempt to satisfy one or both of the incoming request and the previously received request and generate a result indicative thereof, the primary instance at least commencing processing of the incoming request prior to each of the other of the plurality of transaction processing servers designated as the backup instance;
- and
- a plurality of fault tolerance processors, each of the plurality of transaction processing servers coupled with one of the plurality of fault tolerance processors, each of the plurality of fault tolerance processors configured to determine whether a failure has occurred in the transaction processing server designated as the primary instance and, subsequent thereto, cause one of the other of the plurality of transaction processing servers to be designated as a new primary instance.
A computer implemented method comprising:
- implementing, by a processor of each of a plurality of transaction processing servers coupled with each other via an electronic communications network, a plurality of components coupled with each other, each of the plurality of components characterized by a current state and configured to perform one or more of receiving an electronic message, processing the received electronic message and generating an electronic result message indicative of a result of an operation which may alter the current state thereof, wherein one of the plurality of transaction processing servers is designated as a primary instance and each other of the plurality of transaction processing servers is designated as a backup instance, wherein each of the plurality of transaction processing servers is operative to receive an incoming request for a transaction, process the received incoming request to identify a previously received request for a transaction counter thereto in an attempt to satisfy one or both of the incoming request and the previously received request and generate a result indicative thereof;
- at least commencing processing, by the transaction processing server designated as the primary instance, of the incoming request prior to each of the other of the plurality of transaction processing servers designated as the backup instance;
- determining, by each of a plurality of fault tolerance processors, each of the plurality of transaction processing servers coupled with one of the plurality of fault tolerance processors, whether a failure has occurred in the transaction processing server designated as the primary instance;
- and
- causing, by each of the plurality of fault tolerance processors, subsequent to determining that a failure occurred, one of the other of the plurality of transaction processing servers to be designated as a new primary instance.
A system comprising:
- means for implementing a plurality of components of each of a plurality of transaction processing servers coupled with each other via an electronic communications network, the plurality of components coupled with each other, each of the plurality of components characterized by a current state and configured to perform one or more of receiving an electronic message, processing the received electronic message and generating an electronic result message indicative of a result of an operation which may alter the current state thereof, wherein one of the plurality of transaction processing servers is designated as a primary instance and each other of the plurality of transaction processing servers is designated as a backup instance, wherein each of the plurality of transaction processing servers is operative to receive an incoming request for a transaction, process the received incoming request to identify a previously received request for a transaction counter thereto in an attempt to satisfy one or both of the incoming request and the previously received request and generate a result indicative thereof;
- means for at least commencing processing of the incoming request prior to each of the other of the plurality of transaction processing servers designated as the backup instances;
- and
- means for determining whether a failure has occurred in the transaction processing server designated as the primary instance;
- and
- means for causing, subsequent to determining that a failure occurred, one of the other of the plurality of transaction processing servers to be designated as a new primary instance.
Dependencies are inferred from the claim text.