摘要 |
A fault processor in a collaboration server models collaborative operations as a state machine. The fault processor divides collaboration operations into discrete segments, in which each segment corresponds to a repository update. A state definition defines the progression of states between the segments, and defines transitions to recovery states in the event of unexpected interruption. A state log maintains the completion status of each segment in the operation, and recovery logic employs the state log to perform recovery of an abnormally terminated operation. The recovery logic computes the segments to be performed in a recovery. Compatibility logic selectively prohibits operations which may affect or be affected by inconsistencies presented prior to successful recovery. In this manner, collaboration software defined according to configurations herein identifies failures, implements recovery based on a state machine corresponding to segments of an operation, and preserves consistency by recovering the incremental segments defined by the states.
|