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.
Claims21
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 configured to:
- establish, upon initialization, which one of the plurality of transaction processing servers is designated as a primary instance, each of others of the plurality of transaction processing servers not designated as the primary instance;
- and
- 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 transaction processing server designated as the primary instance at least commencing processing of the incoming request prior to those transaction processing servers not designated as the primary instance,
- wherein the system further comprises a plurality of fault tolerance processors, each coupled with one of the plurality of transaction processing servers and 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 others of the plurality of transaction processing servers not designated as the primary instance to be designated as the primary instance.
A computer implemented method comprising:
- establishing, by each of a plurality of transaction processing servers coupled with each other via an electronic communications network, upon initializing, which one of the plurality of transaction processing servers is designated as a primary instance, each of others of the plurality of transaction processing servers not designated as the primary 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 those transaction processing servers not designated as the primary instance;
- determining, by each of a plurality of fault tolerance processors, each coupled with one of the plurality of transaction processing servers, 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 others of the plurality of transaction processing servers not designated as the primary instance to be designated as the primary instance.
A system comprising:
- means for establishing, upon initializing, which one of a plurality of transaction processing servers coupled with each other via an electronic communications network is designated as a primary instance, each of others of the plurality of transaction processing servers not designated as the primary 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 those transaction processing servers not designated as the primary instance;
- 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 others of the plurality of transaction processing servers not designated as the primary instance to be designated as the primary instance.
Dependencies are inferred from the claim text.