Abstract
This paper describes a taxonomy for a ubiquitous computing software stack called UbiqStack. Through the lens of the UbiqStack taxonomy we survey a variety of subsystems designed to be the building blocks from which sophisticated infrastructures for ubiquitous computing are assembled. Our experience shows that many of these building blocks fit neatly into one of the five UbiqStack categories, each containing functionally-equivalent components. Effectively identifying the best-fit “Lego pieces”, which in turn determines the composite functionality of the resulting infrastructure, is critical. The selection process, however, is impeded by the lack of convention for labeling these classes of building blocks. The lack of clarity with respect to what ready-made subsystems are available within each class often results in naive re-implementation of ready-made components, monolithic and clumsy implementations, and implementations that impose non-standard interfaces onto the applications above. This paper describes the UbiqStack classes of subsystems and explores each in light of the experience gained over 2 years of active development of both ubiquitous computing applications and software infrastructures for their deployment.
Similar content being viewed by others
References
Kidd CD, Orr R, Abowd GD, Atkeson CG, Essa IA, MacIntyre B, Mynatt ED, Starner T, Newstetter W (1999) The aware home: a living laboratory for ubiquitous computing research. In: Cooperative buildings, pp 191–198
Modahl M, Bagrak I, Wolenetz M, Hutto P, Ramachandran U (2004) MediaBroker: an architecture for pervasive computing. In: Proceedings of the 2nd IEEE international conference on pervasive computing and communications
Contributing Members of the UPnP(TM) Forum: Welcome to the UPnP(TM) Forum (2003) http://www.upnp.org (March 1st, 2004)
Jiang X, Dong Y, Xu D, Bhargava B (2003) GnuStream: a p2p media streaming prototype. In: Proceedings of IEEE international conference on multimedia and expo
Adhikari S, Paul A, Ramachandran U (2002) D-Stampede: distributed programming system for ubiquitous computing. In: Proceedings of the 22nd international conference on distributed computing systems (ICDCS), Vienna
Satyanarayanan M, Kistler JJ, Kumar P, Okasaki ME, Siegel EH, Steere DC (1990) Coda: a highly available file system for a distributed workstation environment. IEEE Trans Comput 39:447–459
Lehman TJ, McLaughry SW, Wycko P (1999) T Spaces: the next wave. In: HICSS
Goland YY, Cai T, Leach P, Gu Y (1999) IETF Internet draft: simple service discovery protocol/1.0 oct
Bellwood et al (2002) UDDI Version 2.03 Data Structure Reference
Gudgin M, Lewis A, Schlimmer J (2004) W3C working draft: Web services description language (wsdl) version 2.0 part 2: message exchange patterns
Mockapetris PV (1989) RFC 1101: DNS encoding of network names and other types
Terraserver.Com, Inc.: TerraServer.com (2004) http://www.terraserver.com (March 1st 2004)
Salber D, Dey AK, Abowd GD (1999) The context Toolkit: aiding the development of context-enabled applications. In: CHI, pp 434–441
Ooi WT, Pletcher P, Rowe LA (2002) INDIVA: middleware for managing a distributed media environment. (BMRC Technical Note)
Anderson T, Dahlin M, Neefe J, Patterson D, Roselli D, Wang R (1995) Serverless network file systems. In: Proceedings of the 15th symposium on operating system principles, Copper Mountain Resort, Colorado, pp 109–126
Sun Microsystems: JavaSpace Specification (1998)
Foster I, Kesselman C, Tuecke S (2001) The anatomy of the grid: enabling scalable virtual organizations. In: Lecture Notes in Computer Science 2150
Foster I, Kesselman C, Nick J, Tuecke S (2002) The physiology of the grid: an open grid services architecture for distributed systems integration. Technical report, The Globus Project
Foster I, Kesselman C (1997) Globus: a metacomputing infrastructure toolkit. Int J Supercomput Appl High Performance Comput 11:115–128
Forum MPI (1994) MPI: a message-passing interface standard. UT-CS-94-230 MPI Forum
Geist A, Beguelin A, Dongarra J, Jiang W, Manchek R, Sunderam V (1994) PVM parallel virtual machine, a user’s guide and tutorial for networked parallel computing. MIT Press, Cambridge
Calvanese D, Giacomo GD, Lenzerini M (2001) A framework for ontology integration. In: The first semantic Web working symposium, pp 303–316
Spyns P, Oberle D, Volz R, Zheng J, Jarrar M, Sure Y, Studer R, Meersman R (2002) OntoWeb—a semantic web community portal. In: Fourth international conference on practical aspects of knowledge management (PAKM)
Parker DB (2002) Computer security handbook. Wiley, New York
Zhou L, Haas ZJ (1999) Securing ad hoc networks. IEEE Netw 13:24–30
Acknowledgements
We would like to acknowledge Ilya Bagrak, Phillip Hutto and Matthew Wolenetz for their help reviewing and revising this paper. The work has been funded in part by an NSF ITR grant CCR-01-21638, the Yamacraw project of the State of Georgia, the Georgia Tech Broadband Institute, and the PURA award from Georgia Tech.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Modahl, M., Agarwalla, B., Saponas, T.S. et al. UbiqStack: a taxonomy for a ubiquitous computing software stack. Pers Ubiquit Comput 10, 21–27 (2006). https://doi.org/10.1007/s00779-005-0036-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00779-005-0036-5