Migratory Applications

Krishna A. Bharat,
Graphics, Visualization & Usability Center
College of Computing, Georgia Institute of Technology
Atlanta, GA 30332-0280
E-mail: kb@cc.gatech.edu

Luca Cardelli
Digital, Systems Research Center
130, Lytton Avenue
Palo Alto, CA 94301
E-mail: luca@src.dec.com


We introduce a new genre of user interface applications that can migrate from one machine to another, taking their user interface and application contexts with them, and continue from where they left off. Such applications are not tied to one user or one machine, and can roam freely over the network, rendering service to a community of users, gathering human input and interacting with people. We envisage that this will support many new agent-based collaboration metaphors. The ability to migrate executing programs has applicability to mobile computing as well. Users can have their applications travel with them, as they move from one computing environment to another. We present an elegant programming model for creating migratory applications and describe an implementation. The biggest strength of our implementation is that the details of migration are completely hidden from the application programmer; arbitrary user interface applications can be migrated by a single "migration" command. We address system issues such as robustness, persistence and memory usage, and also human factors relating to application design, the interaction metaphor and safety.

KEYWORDS: Application Migration, Collaborative Work, Interactive Agents, Application Checkpointing, Mobile Computing, Ubiquitous Computing, Safety.


Back to the advance program
Back to UIST '95 home page