Abstract
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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Bharat, Krishna, and Cardelli, Luca, “Migratory Applications.” Proceedings of A CM Symposium on User Interfaces Software and Technology '95.
Bharat, K. and Sukaviriya, P., “Animating User Interfaces with Animation Servers.” Proc. ACM Symposium on User Interfaces Software and Technology '93, pp. 69–79.
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.
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.
Cardelli, Luca, “A Language with Distributed Scope.” Computing Systems, 8(1), pp. 27–59. MIT Press. 1995.
Cheshire, S. and Baker, M., “Experiences with a Wireless Network in MosquitoNet.” Proceedings of the IEEE Hot Interconnects Symposium '95, August 1995.
Cypher, A. [Ed], “Watch What I Do — Programming by Demonstration”, MIT Press, 1993.
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.
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.
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.
Gosling, J., Joy, B., and Steele, B., “The Java Language Specification.” Addison-Wesley, The Java Series, ISBN 0-201-63451-1, 864 pp., 1997.
Hopper, A., Harter, A., Blackie, T., “The Active Badge System.” Proceedings of ACM SIGCHI '93 (INTERCHI), Amsterdam, April 1993.
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.
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.
Maguire, G., Reichert, F., and Smith, M., “A Multiport Mobile Internet Router.” Proceedings of the 44th IEEE Vehicular Technology Conference, Stockholm, Sweden, June 94.
Manasse, Mark S., and Nelson, Greg, “Trestle Reference Manual.” Digital Systems Research Center — Technical Report 68, Palo Alto, CA, Dec 1991.
Powell, M., and Miller, B., “Process Migration in DEMOS/MP.” Proceedings of 9th ACM Symposium on Operating System Principles, 1983, pp. 110–119.
Richardson, Tristan, “Teleporting — Mobile X Sessions.”, Proceedings of Ninth Annual X Technical Conference, Boston MA, January 1995.
Sheth, B., and Maes, P., “Evolving Agents for Personalized Information Filtering.” Proceedings of IEEE Conference on AI for Applications. 1993.
White, J.E., “Telescript Technology: The Foundation for the Electronic Marketplace.” White Paper. General Magic Inc., 1994.
Zayas, E., “Attacking the Process Migration Bottleneck.” Proc. of 11th ACM Symposium on Operating Systems Principles, 1987, pp. 13–24.
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bharat, K., Cardelli, L. (1997). Migratory applications. In: Vitek, J., Tschudin, C. (eds) Mobile Object Systems Towards the Programmable Internet. MOS 1996. Lecture Notes in Computer Science, vol 1222. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62852-5_11
Download citation
DOI: https://doi.org/10.1007/3-540-62852-5_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62852-1
Online ISBN: 978-3-540-68705-4
eBook Packages: Springer Book Archive