Patent ID: 6035415
Filing Date: 2000-03-07
Classification: G06F

Abstract:
A method of operating a fault-tolerant recovery unit for receiving and processing input messages to produce output messages, the method comprising the steps of:(a) providing at least two processing entities running respective replicate application processes for processing said input messages to produce application messages, one of said processing entities serving as a primary processing entity and the other processing unit or each of said other processing entities serving as at least one secondary processing entity, one of said at least one secondary processing entity acting as a sender processing entity;(b) receiving said input messages at said primary processing entity and causing a primary replicate application process run by the primary processing entity to process these input messages;(c) logging to each said secondary processing entity any non-deterministic choices made by the primary process during its processing,(d) causing the replicate application process run by each said secondary processing entity, herein a secondary process, to process in the same order as the primary process of those of said input messages already received at the primary processing entity, any said non-deterministic choices logged in step (c) being used by each secondary process in place of the secondary process making its own non-deterministic choices during processing; and(e) using the application messages produced by the secondary process run by the sender processing entity as the recovery unit output messages;(f) upon failure of the primary processing entity, causing a said secondary processing entity to take over the role of the primary processing entity, and(g) upon failure of the sender processing entity or upon the sender processing entity taking over the role of the primary processing entity in step (f), causing another of said secondary processing entities, where present, to become the sender processing entity, and otherwise, using the application messages produced by said primary process as said output messages, this step (g) being effected without loss of recovery-unit output messages.