Applications developed on a network, such that more than one autonomous processor is used, present special challenges. There is the potential of conflicting concurrent access to a resource by other applications, and the potential of partial failure - one or more of the processors involved in the distributed application fails while others continue to operate.
Problems arising from these causes occur infrequently: the probability that more than one process will seek to update the same database entry at the same time is low. Similarly, it is unlikely that during a funds transfer, one process will record the deposit but the other will fail before recording the withdrawal. Most applications would execute successfully most of the time without any special provision for these special cases. []
However, those applications that must make provision for these cases must address