Migratory applications

  • Krishna Bharat
  • Luca Cardelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1222)


We present a new genre of user interface applications: 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 the application design process, the interaction metaphor and safety.


User Interface Agent Server Collaborative Filter Network Reference Mutable Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Avrahami, G., Brooks, K.P., and Brown, M.H., “A Two-View Approach to Constructing User Interfaces.” Computer Graphics, 23(3), pp. 137–146, 1989.Google Scholar
  2. [2]
    Bharat, K. and Brown, M.H., “Building Distributed Multi-User Applications By Direct Manipulation.” Proc. ACM Symposium on User Interfaces Software and Technology, Marina Del Rey, 1994, pp. 71–82.Google Scholar
  3. [3]
    Bharat, Krishna, and Cardelli, Luca, “Migratory Applications.” Proceedings of A CM Symposium on User Interfaces Software and Technology '95.Google Scholar
  4. [4]
    Bharat, K. and Sukaviriya, P., “Animating User Interfaces with Animation Servers.” Proc. ACM Symposium on User Interfaces Software and Technology '93, pp. 69–79.Google Scholar
  5. [5]
    Birrell, A.D., Nelson, G., Owicki, S., and Wobber, E.P., “Network Objects.” Proceedings of the 14th ACM Symposium on Operating System Principles, pp. 217–130, December 1993.Google Scholar
  6. [6]
    Borenstein, N. and M.T. Rose, “MIME Extensions for Mail-Enabled Applications: application/Safe-Tcl and multipart/enabled-mail”, Draft, Bellcore, Dover Beach Consulting, September, 1993.Google Scholar
  7. [7]
    Cardelli, Luca, “A Language with Distributed Scope.” Computing Systems, 8(1), pp. 27–59. MIT Press. 1995.Google Scholar
  8. [8]
    Cheshire, S. and Baker, M., “Experiences with a Wireless Network in MosquitoNet.” Proceedings of the IEEE Hot Interconnects Symposium '95, August 1995.Google Scholar
  9. [9]
    Cypher, A. [Ed], “Watch What I Do — Programming by Demonstration”, MIT Press, 1993.Google Scholar
  10. [10]
    Demers, A., Petersen, K., Spreitzer, M., Terry, D., Theimer, M., and Welch, B., “The Bayou Architecture: Support for Data Sharing among Mobile Users.” Proceedings of the Workshop on Mobile Computing Systems and Applications, Santa Cruz, California, December 1994, pp. 2–7.Google Scholar
  11. [11]
    Finin, T., McKay, D., Fritzson, R., and McEntire, R., “KQML: An Information and Knowledge Exchange Protocol,” in Kazuhiro Fuchi and Toshio Yokoi (Ed.), Knowledge Building and Knowledge Sharing, Ohmsha and IOS Press, 1994. Goldberg, D., Nichols, D., Oki, B. and Terry, D., “Using Collaborative Filtering to Weave an Information Tapestry”, Communications of the ACM, 35(12), pp. 61–70, 1992.Google Scholar
  12. [12]
    Goldberg, D., Nichols, D., Oki, B. and Terry, D., “Using Collaborative Filtering to Weave an Information Tapestry”, Communications of the ACM, 35(12), pp. 61–70, 1992.Google Scholar
  13. [13]
    Gosling, J., Joy, B., and Steele, B., “The Java Language Specification.” Addison-Wesley, The Java Series, ISBN 0-201-63451-1, 864 pp., 1997.Google Scholar
  14. [14]
    Hopper, A., Harter, A., Blackie, T., “The Active Badge System.” Proceedings of ACM SIGCHI '93 (INTERCHI), Amsterdam, April 1993.Google Scholar
  15. [15]
    Joseph, A.D., DeLespinasse, A.F., Tauber, J.A., Gifford, D.K., and Kaashoek, M.F., “Rover: A Toolkit for Mobile Information Access.” Proceedings of the Fifteenth Symposium on Operating Systems Principles, December 1995.Google Scholar
  16. [16]
    Labrou, Y. and Finin, T., “A Semantics Approach for KQML — a General Purpose Communication Language for Software Agents.” Third International Conference on Information and Knowledge Management (C1KM'94), November 1994.Google Scholar
  17. [17]
    Maguire, G., Reichert, F., and Smith, M., “A Multiport Mobile Internet Router.” Proceedings of the 44th IEEE Vehicular Technology Conference, Stockholm, Sweden, June 94.Google Scholar
  18. [18]
    Manasse, Mark S., and Nelson, Greg, “Trestle Reference Manual.” Digital Systems Research Center — Technical Report 68, Palo Alto, CA, Dec 1991.Google Scholar
  19. [19]
    Powell, M., and Miller, B., “Process Migration in DEMOS/MP.” Proceedings of 9th ACM Symposium on Operating System Principles, 1983, pp. 110–119.Google Scholar
  20. [20]
    Richardson, Tristan, “Teleporting — Mobile X Sessions.”, Proceedings of Ninth Annual X Technical Conference, Boston MA, January 1995.Google Scholar
  21. [21]
    Sheth, B., and Maes, P., “Evolving Agents for Personalized Information Filtering.” Proceedings of IEEE Conference on AI for Applications. 1993.Google Scholar
  22. [22]
    White, J.E., “Telescript Technology: The Foundation for the Electronic Marketplace.” White Paper. General Magic Inc., 1994.Google Scholar
  23. [23]
    Zayas, E., “Attacking the Process Migration Bottleneck.” Proc. of 11th ACM Symposium on Operating Systems Principles, 1987, pp. 13–24.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Krishna Bharat
  • Luca Cardelli

There are no affiliations available

Personalised recommendations