摘要:
Mobile computing represents a shift in the distributed systems paradigm. The po- tential of decoupled and disconnected operation, location-dependent computation and communication, and powerful portable computing devices gives rise to opportunities for new patterns of distributed computation that require a revised view of distributed systems. However, factors such as weak network connectivity, energy constraints, and mobility itself raise new concerns regarding the security, reliability, and even correct- ness of a mobile computing system. In this dissertation, we complement recent research in mobile computing by ad- dressing the problem from the viewpoint of building a mobile computing application. It is our hypothesis that a mobile computing application must be made aware of mo- bility not only to better utilize constrained resources, but also to provide enhanced mo- bility related functionality. Towards this end, the application must adapt in response to the changing mobile environment. Unfortunately, the wide variety of environmental situations that mobile computing presents makes it difficult to build an application that optimally handles all situations. This makes it imperative to consider structuring al- ternatives for both mobile computing applications, and the underlying run-time system onwhich they depend. We first consider the problem of exposing an application to the effects of mobility. We present a novel architecture for managing and reporting changes in the mobile envi- ronment to an application. In this architecture, an environmental change is modeled as an asynchronous event that can be handled at the level of abstraction that an application deems appropriate. Our prototype implementation serves as a reference, documenting the issues that must be considered when designing the underlying run-time for adaptive mobile computing applications. Second, we propose an application architecture that balances the trade-off between hiding and exposing mobility a