Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments

Ubiquitous computing poses a number of challenges for software architecture. One of the most important is the ability to design software systems that ac- commodate dynamically-changing resources. Resource variability arises natu- rally 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 com- puting environments proactively. The architectural framework has been im- plemented and is currently being used as a central component of Project Aura, a campus-wide ubiquitous computing effort.

[1]  Mark Weiser The computer for the 21st century , 1991 .

[2]  Andrew S. Grimshaw,et al.  The core Legion object model , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[3]  Loren G. Terveen,et al.  Helping users program their personal agents , 1996, CHI.

[4]  Andrew S. Tanenbaum,et al.  Globe: a wide area distributed system , 1999, IEEE Concurr..

[5]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[6]  Hari Balakrishnan,et al.  The design and implementation of an intentional naming system , 1999, SOSP.

[7]  Gregory D. Abowd,et al.  Ubicomp 2001: Ubiquitous Computing , 2001, Lecture Notes in Computer Science.

[8]  Mahadev Satyanarayanan,et al.  Meeting the software engineering challenges of adaptive mobile applications , 2003 .

[9]  David Garlan,et al.  Task-Driven Computing , 2000 .

[10]  Mahadev Satyanarayanan,et al.  Self-tuned remote execution for pervasive computing , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[11]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[12]  Ingrid Zukerman,et al.  Towards a Bayesian Model for Keyhole Plan Recognition in Large Domains , 1997 .

[13]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[14]  Mahadev Satyanarayanan Accessing information on demand at any location. Mobile information access , 1996, IEEE Wirel. Commun..

[15]  John P. Lehoczky,et al.  Practical Solutions for QoS-Based Resource Allocation , 1998, RTSS 1998.

[16]  Blair MacIntyre,et al.  Support for multitasking and background awareness using interactive peripheral displays , 2001, UIST '01.

[17]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[18]  M. Weiser,et al.  Hot topics-ubiquitous computing , 1993 .

[19]  Mahadev Satyanarayanan,et al.  Using history to improve mobile application adaptation , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[20]  Ben Y. Zhao,et al.  An architecture for a secure service discovery service , 1999, MobiCom.

[21]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[22]  Peter J. Braam,et al.  The Coda Distributed File System , 1998 .

[23]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[24]  Onn Shehory,et al.  A Planning Component for RETSINA Agents , 1999, ATAL.

[25]  Mahadev Satyanarayanan,et al.  Mobile Information Access , 1996 .

[26]  Eric Horvitz,et al.  The Lumière Project: Bayesian User Modeling for Inferring the Goals and Needs of Software Users , 1998, UAI.

[27]  Bradley R. Schmerl,et al.  Software Architecture-Based Adaptation for Pervasive Systems , 2002, ARCS.

[28]  Henry Lieberman,et al.  Intelligent profiling by example , 2001, IUI '01.

[29]  Jim Waldo,et al.  The Jini Specification , 1999 .

[30]  Rosalind W. Picard Affective Computing , 1997 .

[31]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.

[32]  Takeo Kanade,et al.  Hallucinating faces , 2000, Proceedings Fourth IEEE International Conference on Automatic Face and Gesture Recognition (Cat. No. PR00580).

[33]  Chen Lee,et al.  On Quality of Service Management , 1999 .

[34]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[35]  Richard N. Taylor,et al.  Proceedings of the fourth ACM SIGSOFT symposium on Software development environments , 1990 .

[36]  Robert Grimm,et al.  A system architecture for pervasive computing , 2000, ACM SIGOPS European Workshop.

[37]  David Garlan,et al.  A compositional approach for constructing connectors , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[38]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[39]  Peter Steenkiste,et al.  Collecting network status information for network-aware applications , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[40]  Ted Kremenek,et al.  A Probabilistic Room Location Service for Wireless Networked Environments , 2001, UbiComp.

[41]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[42]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[43]  BalakrishnanHari,et al.  The design and implementation of an intentional naming system , 1999 .

[44]  Nicholas Kushmerick,et al.  An Algorithm for Probabilistic Least-Commitment Planning , 1994, AAAI.

[45]  Clifford Nass,et al.  Humor in task-oriented computer-mediated communication and human-computer interaction , 1998, CHI Conference Summary.

[46]  A. Harter,et al.  The Anatomy of a ContextAware Application , 1999, MobiCom 1999.

[47]  M. Weiser The Computer for the Twenty-First Century , 1991 .

[48]  D. Corkill Blackboard Systems , 1991 .

[49]  Andy Hopper,et al.  The Anatomy of a Context-Aware Application , 1999, Wirel. Networks.