Patent ID: 7975174
Filing Date: 2011-07-05
Classification: G06F,G06Q

Abstract:
1. A system for failover comprising: at least one client selectively connectable to one of at least two interconnected servers via a network connection; one of said servers being designated a primary server when connected to said client and a remainder of said servers being designated a backup server when not connected to said client; said at least one client configured to send messages to said primary server; each of said servers configured to process all of said messages via a plurality of services that process different types of said messages; each of said services configured to access and/or update a shared resource maintained by each of said servers based on results of processing said messages; each of said servers maintaining a library associated with said services; said library configured, when maintained by said primary server, to respond to a request from a service respective to said message by: i) performing at least one external call to an external resource; ii) sequencing each message based on a request from a service respective to said message; iii) returning results of said external call and said sequence to said service respective to said message; and, iv) storing results of said external call and said sequence in a cache shared by said services; and said primary server and said backup server being connected such that: i) messages from said at least one client received at said primary server; and ii) cached results of said external call; are mirrored to said backup server; said library configured, when maintained by said backup server; to respond to a request from a service respective to said message by: i) returning results of said external call using contents of said cached results mirrored from said primary server; said backup server utilizing said cache to process said messages in the same sequence as said primary server so that said shared resource is substantially identical in said primary server and said backup server and such that if said primary server fails said backup server becomes designated as said primary server and continues processing additional messages on behalf of said clients in a substantially transparent manner; wherein said system is part of an electronic trading system and said service is part of a trading engine; said system including two additional clients each submitting two additional messages to said primary server; each of said additional messages being processed in substantially the same manner as said message; wherein one of said messages represents a buy-order and said two additional messages each represent a sell-order that meets terms of said buy-order such that if said primary server fails, said backup server continues to process said messages so that an earlier one of said sell-orders is matched with said buy-order.