Spirits: Using Virtualization and Pervasiveness to Manage Mobile Robot Software Systems

  • Himanshu Raj
  • Balasubramanian Seshasayee
  • Keith J. O’Hara
  • Ripal Nathuji
  • Karsten Schwan
  • Tucker Balch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3996)


Management capabilities comprise a key component of any autonomous distributed system. In this work our focus is on mobile systems like teams of robots exploring and operating in some physical environment. Here, basic management goals are to adapt application behavior to prevent or mitigate reductions in the application’s quality of service. This paper presents the spirits system-level mechanisms supporting (1) behavior persistence – the ability to maintain some desirable behavior learned through online adaptation – and (2) behavior propagation – the ability to propagate a learned behavior across different physical components. With spirits, software management is enriched with a low-level mechanism, termed a spirit cache, which permits a mobile entity to cache its current state and code to realize behavior persistence. Next, a cached spirit can be acquired by a different physical component and then used, thereby propagating it. By using system-level virtualization techniques to realize spirit caching and propagation, both can be performed without the need to make any changes to application code, without requiring middleware-level support, and without changes to operating system kernels or utilities. Furthermore, any number of spirits can exist in a robot with system-level isolation guarantees. Experimental results presented in this paper highlight the types of overheads for spirit exchanges experienced on typical next generation virtualizable embedded machines, and indicate optimizations to be considered in future research.


Sensor Network Mobile Robot Virtual Machine Logical Device Migration Cost 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Estrin, D., Govindan, R., Heidemann, J., Kumar, S.: Next century challenges: scalable coordination in sensor networks. In: The 5th annual ACM/IEEE international conference on Mobile computing and networking (MobiCom 1999), pp. 263–270 (1999)Google Scholar
  2. 2.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic algorithms for replicated database maintenance. In: The sixth annual ACM Symposium on Principles of distributed computing (PODC 1987), pp. 1–12 (1987)Google Scholar
  4. 4.
    Haas, Z., Halpern, J.Y., Li, E.L.: Gossip based ad-hoc routing. In: IEEE Conference on Computer Communications (INFOCOM) (2002)Google Scholar
  5. 5.
    Elson, J., Girod, L., Estrin, D.: Fine-grained network time synchronization using reference broadcasts. SIGOPS Oper. Syst. Rev. 36(SI), 147–163 (2002)CrossRefGoogle Scholar
  6. 6.
    Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A scalable Peer-To-Peer lookup service for internet applications. In: The 2001 ACM SIGCOMM Conference, pp. 149–160 (2001)Google Scholar
  7. 7.
    Kiniry, J., Zimmerman, D.: A hands-on look at Java mobile agents. IEEE Internet Computing 1(4) (1997)Google Scholar
  8. 8.
    Milojicic, D., Douglis, F., Paindaveine, Y., Wheeler, R., Zhou, S.: Process Migration Survey. ACM Computing Surveys (2000)Google Scholar
  9. 9.
    Pratt, I., Fraser, K., Hand, S., Limpach, C., Warfield, A., Magenheimer, D., Nakajima, J., Mallick, A.: Xen 3.0 and the Art of Virtualization. In: Ottawa Linux Symposium (OLS 2005) (2005)Google Scholar
  10. 10.
    O’Hara, K.J., Nathuji, R., Raj, H., Schwan, K., Balch, T.: Autopower: Toward energy-aware software systems for distributed mobile robots. In: IEEE International Conference on Robotics and Automation (2006)Google Scholar
  11. 11.
    Carlson, J., Murphy, R.: How UGVs physically fail in the field. IEEE Transactions on Robotics 21(3), 423–437 (2005)CrossRefGoogle Scholar
  12. 12.
    Culler, D.E., Hill, J., Buonadonna, P., Szewczyk, R., Woo, A.: A network-centric approach to embedded software for tiny devices. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, p. 114. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    O’Hara, K.J., Bigio, V., Whitt, S., Walker, D., Balch, T.: Evaluation of a large scale pervasive embedded network for robot path planning. In: IEEE International Conference on Robotics and Automation (2006)Google Scholar
  14. 14.
    Gumstix robotics platform, Available from:
  15. 15.
    Werfel, J., Bar-Yam, Y., Nagpal, R.: Construction by robot swarms using extended stigmergy. Technical Report MIT-CSAIL-TR-2005-024, Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory (2005)Google Scholar
  16. 16.
    The mosix organizational grid - a white paper, Available from:
  17. 17.
    Clark, C., Fraser, K., Hand, S., Hansen, J.G., Jul, E., Limpach, C., Pratt, I., Warfield, A.: Live migration of virtual machines. In: The 2nd Symposium on Networked Systems Design and Implementation (NSDI 2005) (2005)Google Scholar
  18. 18.
    Video for linux, Available from:
  19. 19.
    Service provisioning markup language, Available from:
  20. 20.
    Montemerlo, M., Roy, N., Thrun, S.: Perspectives on standardization in mobile robot programming: The carnegie mellon navigation (carmen) toolkit. In: IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 2436–2441 (2003)Google Scholar
  21. 21.
    Bruce, J., Balch, T., Veloso, M.: Fast and inexpensive color image segmentation for interactive robots. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (2000)Google Scholar
  22. 22.
    Kasten, E.P., McKinley, P.K.: A taxonomy for computational adaptation. Technical Report MSU-CSE-04-4, Department of Computer Science, Michigan State University (2004)Google Scholar
  23. 23.
    Sankaran, S., Squyres, J., Barrett, B., Sahay, V., Lumsdaine, A., Duell, J., Hargrove, P., Roman, E.: The LAM/MPI Checkpoint/Restart Framework: System-Initiated Checkpointing. International Journal of High Performance Computing Applications 19(4) (2000)Google Scholar
  24. 24.
    Osman, S., Subhraveti, D., Su, G., Nieh, J.: The Design and Implementation of Zap: A System for Migrating Computing Environments. In: Operating Systems Design and Implementation (OSDI 2002), pp. 361–376 (2002)Google Scholar
  25. 25.
    Kuntz, B., Rajan, K.: Migsock migratable tcp socket in linux. Master’s thesis, Information Networking Institute, Carnegie Mellon University (2002), Available from:
  26. 26.
    Zhang, K., Pande, S.: Efficient application migration under compiler guidance. In: The SIGPLAN Conference on Languages, Compiler and Tools for Embedded Systems (LCTES 2005) (2005)Google Scholar
  27. 27.
    Caceres, R., Carter, C., Narayanaswami, C., Raghunath, M.: Reincarnating PCs with portable SoulPads. In: The 3rd international conference on Mobile systems, applications, and services (MobiSys 2005), pp. 65–78 (2005)Google Scholar
  28. 28.
    Zhao, W., Ammar, M., Zegura, E.: A message ferrying approach for data delivery in sparse mobile ad hoc networks. In: ACM Mobihoc (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Himanshu Raj
    • 1
  • Balasubramanian Seshasayee
    • 1
  • Keith J. O’Hara
    • 1
  • Ripal Nathuji
    • 1
  • Karsten Schwan
    • 1
  • Tucker Balch
    • 1
  1. 1.College of Computing, Georgia Institute of TechnologyAtlantaUSA

Personalised recommendations