English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Fundamental Challenges in Mobile Computing

1.         Introduction
                  What is really different about mobile computing? The computers are smaller and bits travel by wireless rather than Ethernet. How can this possibly make any difference?
                  Isn’t a mobile system merely a special case of a distributed system? Are there any new and deep issues to be investigated, or is mobile computing just the latest fad?

1.2. The Need for Adaptation
                  Mobility exacerbates the tension between autonomy and interdependence that is characteristic of all distributed systems. The relative resource poverty of mobile elements as well as their lower trust and robustness argues for reliance on static servers. But the need to cope with unreliable and low-performance networks, as well as the need to be sensitive to power consumption argues for selfreliance.
1.3. Taxonomy of Adaptation Strategies
                  The range of strategies for adaptation is delimited by two extremes, as shown in Figure 1. At one extreme, adaptation is entirely the responsibility of individual applications. While this laissez-faire approach avoids the need for system support, it lacks a central arbitrator to resolve incompatible resource demands of different applications and to enforce limits on resource usage. It also makes applications more difficult to write, and fails to amortize the development cost of support for adaptation.
1.4. The Extended Client-Server Model
                  Another way to characterize the impact of mobile computing constraints is to examine their effect on the classic client-server model. In this model, a small number of trusted server sites constitute the true home of data. Efficient and safe access to this data is possible from a much larger number of untrusted client sites. Techniques such as caching and read-ahead can be used to provide good performance, while end-to-end authentication and encrypted transmission can be used to preserve security.
2.      Summary of Coda and Odyssey Results
                  Since the research contributions of Coda have already been extensively documented in the literature, we only provide a high-level summary of the key results here:

- Disconnected operation
- Optimistic replication
- Support for weak connectivity
- Isolation-only transactions
- Server replication
3.                3.         Fertile Topics for Exploration
                  Each topic is presented in two parts: a brief discussion that lays out the problem space of the topic, followed by a sample of open questions pertaining to it. Again, my aim in posing these questions is not to be exhaustive but to offer food for thought.

      3.1. Caching Metrics
                  Caching plays a key role in mobile computing because of its ability to alleviate the performance and availability limitations of weakly-connected and disconnected operation. But evaluating alternative caching strategies for mobile computing is problematic.
3.2. Semantic Callbacks and Validators
                  Preserving cache coherence under conditions of weak connectivity can be expensive. Large communication latency increases the cost of validation of cached objects. Intermittent failures increase the frequency of validation, since it must be performed each time communication is restored.
                  A lazy approach that only validates on demand could reduce validation frequency; but this approach would worsen consistency because it increases the likelihood of stale objects being accessed while disconnected. The cost of cache coherence is exacerbated in systems like Coda that use anticipatory caching for availability, because the number of objects cached (resident set size) is much larger than the number of objects in current use (working set size).

3.3. Algorithms for Resource Revocation
                  Application-aware adaptation complicates the problem of resource management. In principle, the system owns all resources. At any time, it may revoke resources that it has temporarily delegated to an application. Alas, reality is never that simple. A variety of factors complicate the problem.

3.4. Analysis of Adaptation
                  How does one compare the adaptive capabilities of two mobile clients? The primary figure of merit is agility, or the ability of a client to promptly respond to perturbations. Since it is possible for a client to be more agile with respect to some variables (such as bandwidth) than others (such as battery power), agility should be viewed as a composite metric.
A system that is highly agile may suffer from instability. Such a system consumes almost all its resources reacting to minor perturbations, hence performing little useful computation. The ideal mobile client is obviously one that is highly agile but very stable with respect to all variables of interest.

3.5. Global Estimation from Local Observations
                  Adaptation requires a mobile client to sense changes in its environment, make inferences about the cause of these changes, and then react appropriately. These imply the ability to make global estimates based on local observations.

4.                 4.   Conclusion
                  The tension between autonomy and interdependence is intrinsic to all distributed systems. Mobility exacerbates this tension, making it necessary for mobile clients to tolerate a far broader range of external conditions than has been necessary hitherto. Adaptation is the key to mobility. By using local resources to reduce communication and to cope with uncertainty, adaptation insulates users from the vagaries of mobile environments. Our research is exploring two different approaches to adaptation: application-transparent and application-aware. Our experience with Coda confirms that application-transparent adaptation is indeed viable and effective for a broad range of important applications. In circumstances where it is inadequate, our initial experience with Odyssey suggests that application-aware adaptation is the appropriate strategy.
                  In closing, it is worth speculating on the long-term impact of mobility on distributed systems. In his book Mind Children, my colleague Hans Moravec draws an analogy between the seminal role of mobility in the evolution of biological species, and its influence on the capabilities of computing systems [10]. Although Hans’ comments are directed at robotic systems, I believe that his observation applies equally well to a much broader class of distributed computing systems involving mobile elements. Mobility will influence the evolution of distributed systems in ways that we can only dimly perceive at the present time. In this sense, mobile computing is truly a seminal influence on the design of distributed systems.

sumber : www.cs.cmu.edu/~coda/docdir/podc95.pdf 

0 komentar: