System support for mobility

  • Authors:
  • Andrew Black;Jon Inouye

  • Affiliations:
  • Oregon Graduate Institute of Science & Technology, Portland, OR;Oregon Graduate Institute of Science & Technology, Portland, OR

  • Venue:
  • EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

As we move closer to world-wide networking and the merger of computing and communications, truly mobile computing---computing while on the move---will become as unexceptional as truly mobile communication (using cellular telephones) is today. However, mobile computing poses new challenges for both system and application designers. Unlike telephony, where a new communications and terminal infrastructure was created to provide a well-understood service (peer-to-peer voice communication), and inter-operability was maintained at the central office, to realize the vision of mobile computing we need to adapt existing applications, and inter-operability must be provided for between peer applications and systems.Almost all of the computer applications that have been built to date make the assumption that their environment is invariant over a significant period of time. Previous generations of bespoke applications were designed around assumptions of computer speed, memory, network bandwidth, communications latency and user interface; changes in these assumptions may have necessitated a new design. Current mass-market ("shrink-wrapped") applications more commonly interrogate their environment when they are initialized, but then assume that nothing changes until after they terminate. Even a modest dynamic change, such as reducing the bit-depth of the available display (as might occur when a laptop is unplugged from a stationary monitor), is more than many applications can handle. Similarly, while operating systems are now often built to ascertain at boot time which network devices are available, and to initialize the appropriate drivers, they are typically unable to handle dynamic changes in these same attributes.The challenge of mobile computing is that many attributes of the application environment vary as the computer is moved from place to place. Moreover, the degree of variability is enormous. For example, available network bandwidth may vary by five orders of magnitude. Adapting to this variability is the shared responsibility of the application program and the operating system. We do not believe that there is a "silver bullet" that will automatically make all applications mobile. But we do believe that the use of the Synthetix specialization methodology will both make the problem tractable and will provide a framework for dividing between the application and the system the responsibility for adapting to change.The remainder of this position paper will describe in more detail the kind of variability that mobile applications will often encounter, and will then outline how we envisage adapting applications and systems to accommodate it.