Mobile Data Access
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
Mobile devices and wireless networks are becoming more powerful and affordable, leading to the growing importance of mobile data access. Unfortunately, mobile environments are inherently turbulent the resources available to mobile clients change dramatically and unpredictably over time. This dissertation puts forth the claim that clients must adapt their behavior to such turbulence by trading quality of fetched data for performance in fetching it. Such adaptation is best provided by application-aware adaptation - a collaboration between the operating system and its applications. In this collaboration, the system is responsible for providing the mechanisms for adaptation, while applications are free to set adaptive policies. The dissertation next describes the design and implementation of Odyssey, a platform for mobile data access. This discussion focuses on the mechanisms provided by the system, the architecture comprising those mechanisms, and the application programming interface from which applications construct adaptive policies. The dissertation then presents three applications that make use of these mechanisms a video player, a web browser, and a speech recognition system. These applications adapt their behavior to changes in available network bandwidth. There are three questions to ask of this prototype and its applications. First, how agile can the prototype be in the face of changing network bandwidth Second, does adaptation to substantial changes in bandwidth provide benefit to individual applications Third, is the collaboration between the system and applications necessary when several applications are run concurrently These questions cannot be answered simply by subjecting the prototype to a real wire-less network. Such networks provide neither stable nor repeatable performance, and hence are not suitable for comparative evaluations. Instead, the prototype is evaluated using trace modulation.
- Computer Programming and Software
- Computer Systems