Skip to main content
Log in

UbiqStack: a taxonomy for a ubiquitous computing software stack

  • Original article
  • Published:
Personal and Ubiquitous Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  1. 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

  2. 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

  3. Contributing Members of the UPnP(TM) Forum: Welcome to the UPnP(TM) Forum (2003) http://www.upnp.org (March 1st, 2004)

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. Lehman TJ, McLaughry SW, Wycko P (1999) T Spaces: the next wave. In: HICSS

  8. Goland YY, Cai T, Leach P, Gu Y (1999) IETF Internet draft: simple service discovery protocol/1.0 oct

  9. Bellwood et al (2002) UDDI Version 2.03 Data Structure Reference

  10. Gudgin M, Lewis A, Schlimmer J (2004) W3C working draft: Web services description language (wsdl) version 2.0 part 2: message exchange patterns

  11. Mockapetris PV (1989) RFC 1101: DNS encoding of network names and other types

  12. Terraserver.Com, Inc.: TerraServer.com (2004) http://www.terraserver.com (March 1st 2004)

  13. Salber D, Dey AK, Abowd GD (1999) The context Toolkit: aiding the development of context-enabled applications. In: CHI, pp 434–441

  14. Ooi WT, Pletcher P, Rowe LA (2002) INDIVA: middleware for managing a distributed media environment. (BMRC Technical Note)

  15. 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

  16. Sun Microsystems: JavaSpace Specification (1998)

  17. Foster I, Kesselman C, Tuecke S (2001) The anatomy of the grid: enabling scalable virtual organizations. In: Lecture Notes in Computer Science 2150

  18. 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

  19. Foster I, Kesselman C (1997) Globus: a metacomputing infrastructure toolkit. Int J Supercomput Appl High Performance Comput 11:115–128

    Article  Google Scholar 

  20. Forum MPI (1994) MPI: a message-passing interface standard. UT-CS-94-230 MPI Forum

  21. 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

    Google Scholar 

  22. Calvanese D, Giacomo GD, Lenzerini M (2001) A framework for ontology integration. In: The first semantic Web working symposium, pp 303–316

  23. 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)

  24. Parker DB (2002) Computer security handbook. Wiley, New York

    Google Scholar 

  25. Zhou L, Haas ZJ (1999) Securing ad hoc networks. IEEE Netw 13:24–30

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Martin Modahl.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00779-005-0036-5

Keywords

Navigation