A method of providing fault tolerant operation for a primary match server process executing on a processor, the process operative to perform a sequence of operations based on inputs received over a network, the inputs also being received and buffered by an input receiver of a fault tolerant system, produce results based on the successful completion thereof, communicate the results to a recipient and store data related to the operation in a database, wherein for each of the operations the method comprises: monitoring the outputs of the primary match server process and determining if the operation of the primary match server process has been completed successfully or if it has failed; if it is determined that the operation of the primary match server process has been completed successfully, after the result thereof being communicated to the recipient, the method comprises the further steps of: performing, by a duplicate of the primary match server process of the fault tolerant system, the same operation that was performed by the primary match server process; and comparing, by the fault tolerant logic, the result of the performance of the operation by the primary match server process with a result of the performance of the same operation by the duplicate of the primary match server process; and indicating a failure of the duplicate of the primary match server process or the primary match server process, when the results are at least partially different; or if it is determined that the operation of the primary match server process has failed, the method comprises the further step of: performing, by the duplicate of the primary match server process, each subsequent operation of a sequence of operations instead of the primary match server process; and determining, by the fault tolerant logic, whether there are unprocessed inputs that the primary match server process failed to process by analyzing the inputs received by the input receiver that remain unprocessed and also analysing the database to determine the final actions of the primary instance server process prior to failure and then causing the duplicate of the primary match server process to take over normal operations on these inputs from the primary match server process. monitoring the outputs of the primary match server process and determining if the operation of the primary match server process has been completed successfully or if it has failed; if it is determined that the operation of the primary match server process has been completed successfully, after the result thereof being communicated to the recipient, the method comprises the further steps of: performing, by a duplicate of the primary match server process of the fault tolerant system, the same operation that was performed by the primary match server process; and comparing, by the fault tolerant logic, the result of the performance of the operation by the primary match server process with a result of the performance of the same operation by the duplicate of the primary match server process; and indicating a failure of the duplicate of the primary match server process or the primary match server process, when the results are at least partially different; or performing, by a duplicate of the primary match server process of the fault tolerant system, the same operation that was performed by the primary match server process; and comparing, by the fault tolerant logic, the result of the performance of the operation by the primary match server process with a result of the performance of the same operation by the duplicate of the primary match server process; and indicating a failure of the duplicate of the primary match server process or the primary match server process, when the results are at least partially different; or if it is determined that the operation of the primary match server process has failed, the method comprises the further step of: performing, by the duplicate of the primary match server process, each subsequent operation of a sequence of operations instead of the primary match server process; and determining, by the fault tolerant logic, whether there are unprocessed inputs that the primary match server process failed to process by analyzing the inputs received by the input receiver that remain unprocessed and also analysing the database to determine the final actions of the primary instance server process prior to failure and then causing the duplicate of the primary match server process to take over normal operations on these inputs from the primary match server process. performing, by the duplicate of the primary match server process, each subsequent operation of a sequence of operations instead of the primary match server process; and determining, by the fault tolerant logic, whether there are unprocessed inputs that the primary match server process failed to process by analyzing the inputs received by the input receiver that remain unprocessed and also analysing the database to determine the final actions of the primary instance server process prior to failure and then causing the duplicate of the primary match server process to take over normal operations on these inputs from the primary match server process.