IEEE Transactions on Software Engineering · 1988 · 37 citations · 11 references
ComputingComputer ScienceComputer SystemsFault ToleranceFault-tolerant ComputingFault-tolerant SystemsConcurrency ControlConcurrent ProgrammingError RecoveryInterprocess CommunicationProcess CoordinationSoftware Fault ToleranceConcurrent ProcessesError Recovery StrategiesInterprocess SynchronizationProcess RecoveryRollbackRollback CoordinationRollback MechanismsSynchronization Mechanisms
An approach to coordination of cooperating concurrent processes, each capable of error direction and recovery, is presented. Error detection, rollback, and retry in a process are specified by a well-structured language construct called recovery block. Recovery points of processes must be properly coordinated to prevent a disastrous avalanche of process rollbacks. The approach relies on an intelligent processor system (that runs processes) capable of establishing and discarding the recovery points of interacting processes in a well coordinated manner such that a process never makes two consecutive rollbacks without making a retry between the two, and every process rollback becomes a minimum-distance rollback. Following a discussion of the underlying philosophy of the author's approach, basic rules of reducing storage and time overhead in such a processor system are discussed. Examples are drawn from the systems in which processes communicate through monitors.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
11
System structure for software fault tolerance
Brian Randell · ACM SIGPLAN Notices · 1975 · 1.5K citations · Full text
C. A. R. Hoare · Communications of the ACM · 1974 · 1.5K citations · Full text
System structure for software fault tolerance
Brian Randell · IEEE Transactions on Software Engineering · 1975 · 1.1K citations
Hierarchical ordering of sequential processes
E. Dijkstra · Acta Informatica · 1971 · 777 citations