Abstract
Ubiquitous computing poses a number of challenges for software architecture. One of the most important is the ability to design software systems that accommodate dynamically-changing resources. Resource variability arises naturally in a ubiquitous computing setting through user mobility (a user moves from one computing environment to another), and through the need to exploit time-varying resources in a given environment (such as wireless bandwidth). Traditional approaches to handling resource variability in applications attempt to address the problem by imposing uniformity on the environment. We argue that those approaches are inadequate, and describe an alternative architectural framework that is better matched to the needs of ubiquitous computing. A key feature of the architecture is that user tasks become first class entities. User proxies, or Auras, use models of user tasks to set up, monitor and adapt computing environments proactively. The architectural framework has been implemented and is currently being used as a central component of Project Aura, a campus-wide ubiquitous computing effort.
The updated original online version for this book can be found at DOI: 10.1007/978-0-387-35607-5_15
Chapter PDF
Similar content being viewed by others
References
W. Adjie-Winoto, E. Schwartz, H. Balakrishnan, J. Lilley. The design and implementation of an intentional naming system. Proceedings of the Seventeenth Symposium on Operating System Principles. Kiawah-Island Resort, North Carolina, December 1999.
D. Albrecht, I. Zukerman, A. Nicholson, A. Bud. Towards a Bayesian model for keyhole plan recognition in large domains. Proc. 6th Int. Conference on User Modeling (UM ‘87), pp 365–376. SpringerWien, Jameson, Paris and Tasso (Eds.) New York, 1997.
V. Ambriola, P. Ciancarini, C. Montenegro. Software Process enactment in Oikos. Proceedings of the Fourth ACM SIGSOFT Symposium on Software Development Environments. SIGSOFT Software Engineering Notes, pp 183–192, Irvine, California, 1990.
K. Arnold, B. O’Sullivan, R. Scheifler, J. Waldo, A. Wollrath. The Jini Specification. Addison-Wesley, 1999.
S. Baker, T. Kanade. Hallucinating faces. Proceedings of the Fourth International Conference on Automatic Face-and Gesture-Recognition, Grenoble, France, March 2000.
R. Balan, J. Sousa, M. Satyanarayanan. Meeting the Software Engineering Challenges of Adaptive Mobile Applications. Submitted for publication, March 2002.
A. Birrell, B. Nelson. Implementing remote procedure call. ACM Transactions on Computer Systems, 2 (1), pp 39–59, ACM Press, New York, February 1984.
P. Castro, P. Chiu, T. Kremenek, R. Muntz. A Probabilistic Room Location Service. Proc. Ubicomp 2001: Ubiquitous Computing. Atlanta, Georgia, September 2001.
S. Cheng, D. Garlan, B. Schmerl, J. Sousa, B. Spitznagel, P. Steenkiste, N. Hu. Software Architecture-based Adaptation for Pervasive Systems. International Conference on Architecture of Computing Systems Trends in Network and Pervasive Computing, Karlsruhe, Germany, April 8–11, 2002. To appear in LNCS, Volume 2299.
J. Flinn, M. Satyanarayanan. Energy-aware adaptation for mobile applications. Proceedings of the 17th ACM Symposium on Operating Systems Principles, Kiawah Island Resort, South Carolina, December 1999.
I. Foster, C. Kesselman. Globus: A metacomputing infrastructure toolkit. International Journal of Super-computer Applications and High Performance Computing, 11 (2), pp 115–128, 1997.
J. Gosling, B. Joy, G. Steele. The Java Language Specification. Addison-Wesley, 1996.
R. Grimm, T. Anderson, B. Bershad, D. Wetherall. A system architecture for pervasive computing. Proceedings of the 9th ACM SIGOPS European Workshop, pp 177–182, Kolding, Denmark, September 2000.
A. Harter, A. Hoper, P. Steggles, A. Ward, P. Webster. The Anatomy of a Context-Aware Application. Proceedings of the Fifth ACM/IEEE International Conference on Mobile Computing and Networking, pp 59–68, Seattle, Washington, August 1999.
E. Horvitz, J. Breese, D. Heckerman, D. Hovel, K. Rommelse. The Lumiere project: Bayesian user modeling for inferring the goals and needs of software users. Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence, pp 256–265, Madison, Wisconsin, 1998.
N. Kushmerick, S. Hanks, D. Weld. An Algorithm for Probabilistic Least-Commitment Planning. Proceedings of the Twelfth National Conference on Artificial Intelligence. Seattle, Washington, July 1994.
M. Lewis, A. Grimshaw. The core Legion object model. Proceedings of the Fifth IEEE International Symposium on High Performance Distributed Computing, pp 551–561, Syracuse, New York, August 1996.
B. Maclntyre, E. Mynatt, S. Voida, K.Hansen, J. Tullio, G. Corso. Support For Multitasking and Background Awareness Using Interactive Peripheral Displays. Proc. ACM User Interface Software and Technology (UIST’0l), Orlando, Florida, November 2001.
H. Nii. Blackboard Systems. AI Magazine, 7(3), pp 38–53 and 7 (4), pp 82–107, 1986.
B. Noble, M. Satyanarayanan, D. Narayanan, J.E. Tilton, J. Flinn, K. Walker. Agile Application-Aware Adaptation for Mobility. Proceedings of the 16th ACM Symposium on Operating System Principles, October 1997, St. Malo, France.
Object Management Group. The Common Object Request Broker: Architecture and Specification, 2.6 edition, http://www.omg.org/technology/documents/formal/corba_iiop.htm 2001.
R. Rajkumar, C. Lee, J. Lehoczky, D. Siewiorek. Practical Solutions for QoS-Based Resource Allocations. Proceedings of the 19 th IEEE Real-Time Systems Symposium, Madrid, Spain, December 1998.
M. Satyanarayanan. Mobile Information Access. IEEE Personal Communications, Vol. 3, No. 1, February 1996.
M. Satyanarayanan. Scalable, Secure, and Highly Available Distributed File Access. IEEE Computer, May 1990, Vol. 23, No. 5.
M. Shaw. Procedure Calls are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status. Studies of Software Design, Proc. 1993 Workshop, LNCS No. 1078, Springer-Verlag, D.A. Lamb (Ed.), 1996.
S. Shearin, H. Lieberman. Intelligent Profiling by Example. Proc. International Conference on Intelligent User Interfaces (lUI 2001 ). Sante Fe, New Mexico, January 2001.
B. Spitznagel, D. Garlan. A Compositional Approach for Constructing Connectors. Proceedings Working IEEE/IFIP Conference on Software Architecture (WICSA’01), Royal Netherlands Academy of Arts and Sciences Amsterdam, The Netherlands, August 2001
M. van Steen, P. Homburg, A. Tanenbaum. Globe: A wide-area distributed system. IEEE Concurrency, 7 (1), pp 70–78, 1999.
Z. Wang, D. Garlan. Task Driven Computing. Carnegie Mellon University Technical Report CMU-CS-00–154, http://reports-archive.adm.cs.cmu.edu/cs2000.html May 2000.
M. Weiser. The Computer for the Twenty-First Century. Scientific American, pp 94–100, September 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Sousa, J.P., Garlan, D. (2002). Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds) Software Architecture. WICSA 2002. IFIP — The International Federation for Information Processing, vol 97. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35607-5_2
Download citation
DOI: https://doi.org/10.1007/978-0-387-35607-5_2
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6538-0
Online ISBN: 978-0-387-35607-5
eBook Packages: Springer Book Archive