Remote Code Execution on Ubiquitous Mobile Applications

  • João Nuno Silva
  • Paulo Ferreira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3295)


Today, most mobile devices (e.g. PDAs) are in some way associated to a fixed personal computer or server. In general this relation is only taken into account for synchronization purposes.

This is rather restrictive as, while away from these fixed computers, such mobile devices may require resources that are not available (e.g. network bandwidth, processing power or storage space). This lack of resources prevents the user from doing what he wants when he wants.

We propose a system in which, by enabling automatic remote code execution on a remote computer, these limitations are subdued. At run time it is decided whether some application code should run locally or on a remote computer. This is achieved using runtime meta-programming and reflection: we transform a centralized Python application so that some part of its code is run on another computer, where the needed resource is known to be available. This is accomplished without any manual code change. The performance results obtained so far, i.e. with no optimizations, are very encouraging.


Mobile Device Local Object Display Size Original Code Application 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.
    Han, R., Bhagwat, P., LaMaire, R., Mummert, T., Perret, V., Rubas, J.: Dynamic adaptation in an image transcoding proxy for mobile web browsing. IEEE Personal Communications Magazine 5(6) (1998)Google Scholar
  2. 2.
    Fox, A., Gribble, S.D., Brewer, E.A., Amir, E.: Adapting to network and client variability via on-demand dynamic distillation. In: Proceedings of the Seventh Intl. Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-VII) (1996)Google Scholar
  3. 3.
    Kunz, T., Black, J.: An architecture for adaptive mobile applications. In: Proceedings of Wireless 99, the 11th International Conference on Wireless Communications (1999) Google Scholar
  4. 4.
    Zachariadis, S., Mascolo, C., Emmerich, W.: Adaptable mobile applications: Exploiting logical mobility in mobile computing. In: Horlait, E., Magedanz, T., Glitho, R.H. (eds.) MATA 2003. LNCS, vol. 2881, pp. 170–179. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Ponnekanti, S., Lee, B., Fox, A., Hanrahan, P., Winograd, T.: Icrafter: A service framework for ubiquitous computing environments. In: Proceedings of the 3rd international conference on Ubiquitous Computing, Springer, Heidelberg (2001)Google Scholar
  6. 6.
    Nakajima, T., Hokimoto, A.: Adaptive continuous media applications in mobile computing environment. In: Proceedings of 1997 International Conference on Multimedia Computing and Systems (ICMCS 1997) (1997) Google Scholar
  7. 7.
    Capra, L., Emmerich, W., Mascolo, C.: Carisma: Context-aware reflective middleware system for mobile applications. IEEE Transactions on Software Engineering 29(10) (2003)Google Scholar
  8. 8.
    Grace, P., Blair, G.S., Samuel, S.: Remmoc: A reflective middleware to support mobile client interoperability. In: On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE, Springer, Heidelberg (2003)Google Scholar
  9. 9.
    Bharat, K.A., Cardelli, L.: Migratory applications. In: Mobile Object Systems: Towards the Programmable Internet, Springer, Heidelberg (1995)Google Scholar
  10. 10.
    Harter, A., Hopper, A., Steggles, P., Ward, A., Webster, P.: The anatomy of a context-aware application. Wireless Networks 8 (2002)Google Scholar
  11. 11.
    Fuggetta, A., Picco, G.P., Vigna, G.: Understanding code mobility. IEEE Transactions on Software Engineering 24 (1998)Google Scholar
  12. 12.
    Raatikainen, K., Christensen, H.B., Nakajima, T.: Application requirements for middleware for mobile and pervasive systems. In: SIGMOBILE Mob. Comput. Commun. Rev., vol. 6 (2002)Google Scholar
  13. 13.
    Holder, O., Ben-Shaul, I., Gazit, H.: Dynamic layout of distributed applications in fargo. In: Proceedings of the 21st international conference on Software engineering, IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  14. 14.
    Philippsen, M., Zenger, M.: JavaParty — transparent remote objects in Java. Concurrency: Practice and Experience 9 (1997)Google Scholar
  15. 15.
    Spiegel, A.: Automatic distribution in pangaea. In: Proc. Workshop on Proc. Workshop on Communications-Based Systems, CBS 2000 (2000) Google Scholar
  16. 16.
    van Rossum, G.: Python Programming language,
  17. 17.
    de Jong, I.: PYRO - Python remote Objects,

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • João Nuno Silva
    • 1
  • Paulo Ferreira
    • 1
  1. 1.INESC-ID / ISTLisboaPortugal

Personalised recommendations