Isolation-only transactions for mobile computing

Qi Lu, M. Satyanaranyanan
1994 ACM SIGOPS Operating Systems Review  
Motivation The Unix File System(UFS) has historically offered a shared-memory consistency model. The lack of concurrency control makes this model susceptible to read/write conflicts, i.e., unexpected read/write sharing between two different processes. For example, the update of a header file by one user while another user is performing a long-running make can cause inconsistencies in the compilation results. In practice, read/write conflicts are rare for two reasons. First, the window of
more » ... bility is relatively small because read/write conflicts only occur when the executions of two processes overlap. Second, they are often prevented via explicit user-level coordination. However, the advent of mobile computing makes read/write conflicts a realistic threat to data integrity. Mobile computing is characterized by periods of disconnection and intermittent connectivity [11] . Such communication disturbances greatly widen the window of vulnerability from the life span of a process to the duration of a disconnection. They also significantly reduce the effectiveness of explicit user-level coordination, especially when disconnections are made transparent to users. How can we preserve upward compatibility with the large body of existing Unix software, while offering improved consistency in a mobile computing environment? This position paper puts forth our solution, a new transaction model called isolation only transaction (IOT). Background: The Coda File System Providing portable computers convenient access to shared data in distributed Unix file systems is an important research topic in the fast growing field of mobile computing. The Coda file system addresses this issue by hiding mobility from applications and users [10] . It provides continuous file access to mobile clients even when they are disconnected from the servers. The key enabling technology is disconnected operation, a special form of client disk caching which employs optimistic replica control [4] . When disconnected, a Coda client services file access requests by relying solely on the contents of its local cache. Updates are performed locally, logged and later reintegrated to servers upon reconnection. Coda demonstrated optimistic replication as a viable foundation for mobile clients to access shared files in the Unix workstation environment. However, data integrity in an optimistically replicated system becomes a serious concern because arbitrary partitioned file accesses are permitted. Two kinds of partitioned data sharing can result in inconsistency. The obvious problem is partitioned write/write sharing because it causes replicas to diverge. Fortunately, empirical evidence has shown that partitioned write sharing is
doi:10.1145/198153.198164 fatcat:kebha3tq4jaatfz2qhfbn7nbkq