next up previous contents index
Next: Challenges Up: Introduction Previous: Introduction   Contents   Index


The advent of mobile computers and the growing popularity of these have inspired many research efforts to integrate and/or support mobile computers within existing distributed systems or even built new ones. The majority of these systems, such as Bayou [53], Coda [22], [42], D-NFS [7], Ficus [13],1.1 and LITTLE WORK (disconnected operation for AFS) [14], [15], have a priori decided to use optimistic replica control strategies to achieve high availability for support of mobile computing, even if conflicting updates are unavoidable and use of stale data possible. On the other hand, (as a bit of an outsider) MIo-NFS [9] uses a pessimistic replica control strategy in order to avoid conflicts, even if this is overly restrictive. Hence, MIo-NFS cannot be expected to have a high level of availability.

Since some files (or jobs) are more important than others (to users) and since applications have different file access patterns (i.e., some exhibit higher than average level of write-sharing [28]), why should they be forced to perform perhaps less than optimal due to the shortcomings of either optimistic or pessimistic replication? What if applications themselves could decide on a replication strategy and change it dynamically, e.g., due to change in quality or cost of communication or on demand if a user for some reason wishes to override "default" behaviour? In other words, what if applications could adapt their consistency requirements or consistency demands according to the current state of the environment? Adaptation, whether on system or application level (or both), has already been recognized as an important [11] or even essential [43] capability of mobile clients (as members of distributed system).

Transactions can provide mobile computers with an easy-to-use and easy-to-grasp functionality for ensuring correctness or improving consistency, e.g., by detecting read-write inconsistencies [44] (reacting to the use of stale data [16]). Traditional transactions in distributed systems are atomic, consistent, isolated, and durable, but upholding all of these (ACID) properties in mobile environments may not be a viable approach (being overly restrictive [34] or imposing unbearable overhead [40]). A new transactional model that has relaxed some of the four ACID properties is desirable, but in such a way that the functionality maintains its ease of use.

Again, as with replica control strategies, it would make sense to allow applications to adapt to their current environment by providing transactions with different guaranteed levels of consistency.

Thus, the two overall goals are to support mobile computing by:

  1. Enabling applications at all times to adapt to different communication characteristics.
  2. Providing a transactional facility that can be used effectively and efficiently on mobile computers.


Ficus uses optimistic replication in order to scale well (world-wide), but has also found this to be useful in connection with the use of mobile computers.

next up previous contents index
Next: Challenges Up: Introduction Previous: Introduction   Contents   Index