Issue No.03 - March (1998 vol.31)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.660191
Applications implemented as distributed systems must withstand network partitioning faults, which split the system into two or more components. Though processes in the same component can communicate with each other, they cannot communicate with processes in other components. If processes continue to operate in the disconnected components, they might perform incompatible operations and make the application data inconsistent. A real-world business cannot stop operating if the network partitions. The authors have developed a strategy that permits processing to continue in all components of a partitioned network. The processes in the disconnected components generate and queue fulfillment transactions that record the actions taken while the network is partitioned. When communication is restored and the components remerge, the fulfillment transactions are dequeued and processed to obtain a consistent state of the application data. Fulfillment transactions allow continued operations, require little additional infrastructure, incur little additional overhead, and are programmed just like other types of transactions.
Peter Michael Melliar-Smith, "Surviving Network Partitioning", Computer, vol.31, no. 3, pp. 62-68, March 1998, doi:10.1109/2.660191