Pandora: An Efficient Platform for the Construction of Autonomic Applications

  • Simon Patarin
  • Mesaac Makpangou
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3460)


Autonomic computing has been proposed recently as a way to address the difficult management of applications whose complexity is constantly increasing. Autonomic systems will have to diagnose the problems they face themselves, devise solutions and act accordingly. In consequence, they require a very high level of flexibility and the ability to constantly monitor themselves. This work presents a framework, Pandora, which eases the construction of applications that satisfy this double goal. Pandora relies on an original application programming pattern — based on stackable layers and message passing — to obtain a minimalist model and architecture that allows control of the overhead imposed by the full reflexivity of the framework. A prototype of the framework has been implemented in C++, freely available for download on the Internet. A detailed performance study is given, together with examples of use, to assess the usability of the platform in real usage conditions.


Virtual Machine Distribute Hash Table Autonomic Computing Component Instance Business Code 
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.
    Kephart, J., Chess, D.: The vision of autonomic computing. In: Computer Magazine. IEEE, Los Alamitos (2003)Google Scholar
  2. 2.
    Smith, B.C.: Reflection and semantics in lisp. In: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 23–35. ACM Press, New York (1984)CrossRefGoogle Scholar
  3. 3.
    Maes, P.: Concepts and experiments in computational reflection. ACM SIGPLAN Notices 22, 147–155 (1987)CrossRefGoogle Scholar
  4. 4.
    Ribler, R.L., Vetter, J.S., Simitci, H., Reed, D.A.: Autopilot: Adaptive control of distributed applications. In: Proceedings of the The Seventh IEEE International Symposium on High Performance Distributed Computing, p. 172. IEEE Computer Society, Los Alamitos (1998)Google Scholar
  5. 5.
    Agarwal, M., Bhat, V., Li, Z., Liu, H., Khargharia, B., Matossian, V., Putty, V., Schmidt, C., Zhang, G., Hariri, S., Parashar, M.: Automate: Enabling autonomic applications on the grid. In: Proceedings of the Autonomic Computing Workshop (AMS 2003), Seattle, WA (2003)Google Scholar
  6. 6.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Clarke, M., Blair, G.S., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 160. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Hutchinson, N.C., Peterson, L.L.: The x-Kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering 17, 64–76 (1991)CrossRefGoogle Scholar
  9. 9.
    Heidemann, J.S.: Stackable layers: An architecture for file system development. Technical Report UCLA-CSD 910056, University of California, Los Angeles, CA, USA (1991)Google Scholar
  10. 10.
    Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The click modular router. ACM Transactions on Computer Systems 18, 263–297 (2000)CrossRefGoogle Scholar
  11. 11.
    Welsh, M., Culler, D.E., Brewer, E.A.: SEDA: An architecture for well-conditioned, scalable internet services. In: 18th Symposium on Operating Systems Principles, Lake Louise, Canada, pp. 230–243 (2001)Google Scholar
  12. 12.
    Liu, H., Parashar, M., Hariri, S.: A component-based programming model for autonomic applications. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  13. 13.
    Muralidhar, R., Parashar, M.: A Distributed Object Infrastructure for Interaction and Steering. In: Sakellariou, R., Keane, J.A., Gurd, J.R., Freeman, L. (eds.) Euro-Par 2001. LNCS, vol. 2150, pp. 67–74. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Chess, D.M., Segal, A., Whalley, I., White, S.R.: Unity: Experiences with a prototype autonomic computing system. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  15. 15.
    Foster, I., Kesselman, C., Nick, J.M., Tuecke, S.: The physiology of the grid: An open grid services architecture for distributed systems integration. Open Grid Service Infrastructure WG, Global Grid Forum (2002),
  16. 16.
    Hall, R.S., Cervantes, H.: Gravity: supporting dynamically available services in client-side applications. In: Proceedings of the 9th European software engineering conference held jointly with 10th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 379–382. ACM Press, New York (2003)CrossRefGoogle Scholar
  17. 17.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: An aspect-based distributed dynamic framework. Software: Practice and Experience, SPE (2004)Google Scholar
  18. 18.
    White, S.R., Hanson, J.E., Whalley, I., Chess, D.M., Kephart, J.O.: An architectural approach to autonomic computing. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  19. 19.
    Ellson, J., Gansner, E., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz — open source graph drawing tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, p. 483. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Patarin, S.: Pandora: support pour des services de métrologie à l’échelle d’Internet (english title: Pandora: Support for Internet Scale Monitoring Services). PhD thesis, Université Pierre et Marie Curie – Paris 6 (2003) (In French)Google Scholar
  21. 21.
    Rozier, M., Abrossimov, V., Armand, F., Boule, I., Gien, M., Guillemont, M., Herrmann, F., Kaiser, C., Langlois, S., Oñard, P.L., Neuhauser, W.: CHORUS distributed operating system. Computing Systems 1, 305–370 (1988)Google Scholar
  22. 22.
    Härtig, H., Hohmuth, M., Liedtke, J., Schönberg, S., Wolter, J.: The performance of μ-Kernel-based systems. In: Proceedings of the 16th Symposium on Operating Systems Principles (SOSP 1997). Operating Systems Review, Saint Malo, France, vol. 31, pp. 66–77. ACM Press, New York (1997)CrossRefGoogle Scholar
  23. 23.
    Fassino, J.P., Stefani, J.B., Lawall, J., Muller, G.: THINK: a software framework for component-based operating system kernels. In: USENIX Annual Technical Conference, Monterey, CA, pp. 73–86 (2002)Google Scholar
  24. 24.
    Jaffer, A., Carrette, G., Stachowiak, M., et al.: Guile, project gnu’s extension language. Software (2002),
  25. 25.
    Patarin, S., Makpangou, M.: On-line Measurement of Web Proxy Cache Efficiency. Research Report RR-4782, INRIA (2003)Google Scholar
  26. 26.
    Fessant, F.L., Patarin, S.: MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program. Research Report RR-4797, INRIA (2003)Google Scholar
  27. 27.
    Patarin, S., Salamatian, K., Friedman, T.: The Pandora network monitoring platform (2004) (Submitted for publication)Google Scholar
  28. 28.
    Ogel, F., Patarin, S., Piumarta, I., Folliot, B.: C/SPAN: a Self-Adapting Web Proxy Cache. In: Proceedings of the Autonomic Computing Workshop (AMS 2003), Seattle, WA (2003)Google Scholar
  29. 29.
    Piumarta, I., Ogel, F., Baillarguet, C., Folliot, B.: Applying the vvm kernel to flexible web caches. In: Proceedings of the IEEE Workshop on Hot Topics in Operating Sy stems, HOTOS-VIII, Schloss Elmau, Germany, p. 155 (2001)Google Scholar
  30. 30.
    Bothner, P., Haley, A., Levy, W., et al.: The gnu compiler for the java programming language. Software (2004),
  31. 31.
    de Icaza, M., Molaro, P., Pratap, R., Porter, D., et al.: The mono project. software (2004),

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Simon Patarin
    • 1
  • Mesaac Makpangou
    • 2
  1. 1.Computer Science DepartmentUniversity of BolognaBolognaItaly
  2. 2.Regal GroupINRIA RocquencourtRocquencourtFrance

Personalised recommendations