In this paper we present our experience designing and developing two different systems to enable personal pervasive computing environments, Plan B and the Octopus. These systems were fully implemented and have been used on a daily basis for years. Both are based on synthetic (virtual) file system interfaces and provide mechanisms to adapt to changes in the context and reconfigure the system to support pervasive applications. We also present the main differences between them, focusing on architectural and reconfiguration aspects. Finally, we analyze the pitfalls and successes of both systems and review the lessons we learned while designing, developing, and using them.
References
[1]
Ballesteros, F.J.; Soriano, E.; Algara, K.L.; Guardiola, G. Plan B: Using files instead of middleware abstractions for pervasive computing environments. IEEE Pervasive Comput. 2007, 6, 58–65.
[2]
Ballesteros, F.J.; Soriano, E.; Leal, K.; Guardiola, G. Plan B: An Operating System for Ubiquitous Computing Environments, Proceedings of Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom), Pisa, Italy, 13–17 March 2006.
[3]
Ballesteros, F.J.; Soriano, E.; Guardiola, G. Octopus: An Upperware based system for building personal pervasive environments. J. Syst. Softw. 2012, 85, 1637–1649.
[4]
Ballesteros, F.J.; Guardiola, G.; Soriano, E. Upperware: Bringing Resources Back to the System, Proceedings of Eighth Annual IEEE International Conference on Pervasive Computing and Communications, Mannheim, Germany, 29 March–2 April 2010.
[5]
Fielding, R.T. Architectural Styles and the Design of Network-Based Software Architectures. Ph.D. Dissertation, University of California, Irvine, CA, USA, 2000.
[6]
Ballesteros, F.J.; Soriano, E.; Lalis, S.; Guardiola, G. Improving the Performance of Styx Based Services over High Latency Links. RoSAC-2011-2 Tech. Report; GSyC URJC: 2011, Available online: http://gsyc.es/tr-docs/RoSaC-2011-2.pdf (accessed on 28 May 2012).
[7]
Vera, R.; Ochoa, S.F.; Aldunate, R.G. EDIPS: An easy to deploy indoor positioning system to support loosely coupled mobile work. Pers. Ubiquitous Comput. 2011, 15, 365–376.
[8]
Leyvand, T.; Meekhof, C.; Wei, Y.C.; Sun, J.; Guo, B. Kinect identity: Technology and experience. Computer 2011, 44, 94–96.
[9]
Ghemawat, S.; Gobioff, H.; Leung, S.T. The Google File System. Proceedings of the 19th ACM Symposium on Operating Systems Principles, Bolton Landing, NY, USA, 19–22 October 2003.
[10]
Pike, R.; Kernighan, B. Program design in the UNIX environment. AT&T Bell Lab. Tech. J. 1984, 63, 1595–1605.
[11]
Nichols, J.; Myers, B.; Litwack, K.; Higgins, M.; Hughes, J.; Harris, T. Describing Appliance User Interfaces Abstractly with XML. Proceedings of the Workshop on Developing User Interfaces with XML: Advances on User Interface Description Languages, Gallipoli, Italy, 25 May 2004.
[12]
Haya, P.A.; Montoro, G.; Esquivel, A.; Garca-Herranz, M.; Alamn, X. A mechanism for solving conflicts in ambient intelligent environments. J. Univ. Comput. Sci. 2006, 12, 284–296.
[13]
Coffman, D.; McFaddin, S.; Narayanaswami, C.; Soroker, D.; Han, J.H.; Jang, H.K.; Kim, J.H.; Lee, J.K.; Lee, M.C.; Moon, Y.S.; et al. Modeling and Managing Pervasive Computing Spaces Using RESTful Data Services. Tech. Report RC24344; IBM T. J.; Watson Research Center: Yorktown Heights, NY, USA, 2007.
Drytkiewicz, W.; Radusch, I.; Arbanowski, S.; Popescu-Zeletin, R. pREST: A REST-Based Protocol for Pervasive Systems. Proceedings of 2004 IEEE International Conference on the Mobile Ad-hoc and Sensor Systems, Fort Lauderdale, FL, USA, 25–27 October 2004; pp. 340–348.
[16]
Satyanarayanan, M.; Bahl, P.; Caceres, R.; Davies, N. The case for VM-based cloudlets in mobile computing. IEEE Pervasive Comput. 2009, 8, 14–23.
[17]
Pike, R.; Presotto, D.; Thompson, K.; Trickey, H. Plan 9 from Bell Labs. Proceedings of the Summer 1990 UKUUG Conference, London, UK, July 1990; pp. 1–9.
[18]
Feng Li, S.; Spireti, M.; Bates, J.; Hopper, A. Capturing and Indexing Computer-Based Activities With Virtual Network Computing. Proceedings of the 2000 ACM Symposium on Applied Computing ACM Symposium on Applied Computing, Villa Olmo, Como, Italy, March 19–23 2000. Volume 2; pp. 601–603.
[19]
Johanson, B.; Fox, A.; Winograd, T. The interactive workspaces project: Experience with ubiquitous computing rooms. IEEE Pervasive Comput. 2002, 1, 67–74.
[20]
Roman, M.; Hess, C.K.; Cerqueira, R.; Ranganat, A.; Campbell, R.H.; Nahrstedt, K. Gaia: A middleware infrastructure to enable active spaces. IEEE Pervasive Comput. 2002, 1, 74–83.
[21]
Gribble, S.D.; Welsh, M.; Behren, R.; Brewer, E.A.; Culler, D.E.; Borisov, N.; Czerwinski, S.E.; Gummadi, R.; Hill, J.R.; Joseph, A.D.; et al. The Ninja architecture for robust internetscale systems and services. Comput. Netw. 2000, 35, 473–497.
[22]
Steen, M.; Homburg, P.; Tanenbaum, A.S. Globe: A wide-area distributed system. IEEE Concurr. 1999, 7, 70–78.
[23]
Grimm, R.; Bershad, B. Future Directions: System Support for Pervasive Applications. Proceedings of FuDiCo, Bertinoro, Italy, 3–7 June 2002.
[24]
Debaty, P.; Caswell, D. Uniform Web presence architecture for people, places, and things. IEEE Pers. Commun. 2001, 8, 46–51.
[25]
Lawton, G. Web 2.0 creates security challenges. Computer 2007, 40, 13–16.
[26]
Satyanarayanan, M.; Kistler, J.J.; Kumar, P.; Okasaki, M.E.; Siegel, E.H.; Steere, D.C. Coda: A Highly Available File System for a Distributed Workstation Environment. Technical Report CMU-CS-89-165; Department of Computer Science at Carnegie Mellon University: Pittsburgh, PA, USA, 1989.
[27]
Noble, B.; Satyanarayanan, M.; Narayanan, D.; Tilton, J.E.; Flinn, J.; Walker, K. Agile Application-Aware Adaptation for Mobility. Proceedings of the 16th ACM Symposium on Operating System Principles, ACM, New York, NY, USA, 5-8 October 1997.