Mobile Networks and Applications

, Volume 18, Issue 1, pp 129–140 | Cite as

A Survey of Computation Offloading for Mobile Systems

  • Karthik Kumar
  • Jibang Liu
  • Yung-Hsiang Lu
  • Bharat Bhargava


Mobile systems have limited resources, such as battery life, network bandwidth, storage capacity, and processor performance. These restrictions may be alleviated by computation offloading: sending heavy computation to resourceful servers and receiving the results from these servers. Many issues related to offloading have been investigated in the past decade. This survey paper provides an overview of the background, techniques, systems, and research areas for offloading computation. We also describe directions for future research.


mobile cloud computing computation offloading survey energy performance 


  1. 1.
    Battery Life Concerns Mobile Users (2005). Accessed 23 Sept 2005
  2. 2.
    Mobile Phone Users Demand Decent Batteries (2005). Accessed 22 Sept 2005
  3. 3.
    Adams K, Agesen O (2006) A comparison of software and hardware techniques for x86 virtualization. In: International conference on architectural support for programming languages and operating systems, pp 2–13Google Scholar
  4. 4.
    Anagnostou ME, Juhola A, Sykas ED (2002) Context Aware services as a step to pervasive computing. In: Lobster workshop on location based services for accelerating the European-wide deployment of services for the mobile user and worker, pp 4–5Google Scholar
  5. 5.
    Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) SETI@ home: an experiment in public-resource computing. Commun ACM 45(11):56–61CrossRefGoogle Scholar
  6. 6.
    Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I et al (2010) A view of cloud computing. Commun ACM 53(4): 50–58CrossRefGoogle Scholar
  7. 7.
    Bajikar S (2002) Trusted platform module (tpm) based security on notebook pcs-white paper. White Paper, Mobile Platforms Group–Intel Corporation, 20Google Scholar
  8. 8.
    Balan RK (2004) Powerful change part 2: reducing the power demands of mobile devices. IEEE Pervasive Comput 3(2):71–73CrossRefGoogle Scholar
  9. 9.
    Balan RK (2006) Simplifying cyber foraging. PhD thesis, School of Computer Science, Carnegie Mellon UniversityGoogle Scholar
  10. 10.
    Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: ACM symposium on operating systems principles, pp 164–177Google Scholar
  11. 11.
    Buyya R, Yeo CS, Venugopal S (2008) Market-oriented cloud computing: vision, hype, and reality for delivering IT services as computing utilities. In: IEEE conference on high performance computing and communications, pp 5–13Google Scholar
  12. 12.
    Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gen Comput Syst 25(6):599–616CrossRefGoogle Scholar
  13. 13.
    Chen G, Kang B-T, Kandemir M, Vijaykrishnan N, Irwin MJ, Chandramouli R (2004) Studying energy trade offs in offloading computation/compilation in java-enabled mobile devices. IEEE Trans Parallel Distrib Syst 15(9): 795–809CrossRefGoogle Scholar
  14. 14.
    Chow R, Golle P, Jakobsson M, Shi E, Staddon J, Masuoka R, Molina J (2009) Controlling data in the cloud: outsourcing computation without outsourcing control. In: ACM workshop on cloud computing security, pp 85–90Google Scholar
  15. 15.
    Chu H, Song H, Wong C, Kurakake S, Katagiri M (2004) Roam, a seamless application framework. J Syst Softw 69(3):209–226CrossRefGoogle Scholar
  16. 16.
    Chun BG, Maniatis P (2009) Augmented smartphone applications through clone cloud execution. In: Conference on hot topics in operating systems, USENIX Association, pp 8–12Google Scholar
  17. 17.
    Cuervo E, Balasubramanian A, Cho D, Wolman A, Saroiu S, Chandra R, Bahl P (2010) MAUI: making smartphones last longer with code offload. In: International conference on mobile systems, applications, and services, pp 49–62Google Scholar
  18. 18.
    di Vimercati S, Foresti S, Jajodia S, Paraboschi S, Pelosi G, Samarati P (2008) Preserving confidentiality of security policies in data outsourcing. In: ACM workshop on privacy in the electronic society, pp 75–84Google Scholar
  19. 19.
    di Vimercati S, Foresti S, Jajodia S, Paraboschi S, Samarati P (2007) A data outsourcing architecture combining cryptography and access control. In: ACM workshop on computer security architecture, pp 63–69Google Scholar
  20. 20.
    Forman GH, Zahorjan J (1994) The challenges of mobile computing. Computer 27(4):38–47CrossRefGoogle Scholar
  21. 21.
    Gentry C (2009) Fully homomorphic encryption using ideal lattices. In: ACM symposium on theory of computing, pp 169–178Google Scholar
  22. 22.
    Craig Gentry (2010) Computing arbitrary functions of encrypted data. Commun ACM 53(3):97–105CrossRefGoogle Scholar
  23. 23.
    Goldberg RP (1974) Survey of virtual machine research. IEEE Comput 7(6):34–45CrossRefGoogle Scholar
  24. 24.
    Gouveris S, Sivavakeesar S, Pavlou G, Malatras A (2005) Programmable middleware for the dynamic deployment of services and protocols in ad hoc networks. In: International symposium on integrated network management, pp 3–16Google Scholar
  25. 25.
    Goyal S, Carter J (2004) A lightweight secure cyber foraging infrastructure for resource-constrained devices. In: Mobile computing systems and applications, pp 184–195Google Scholar
  26. 26.
    Gu X, Nahrstedt K, Messer A, Greenberg I, Milojicic D (2003) Adaptive offloading inference for delivering applications in pervasive computing environments. In: IEEE international conference on pervasive computing and communications, pp 107–114Google Scholar
  27. 27.
    Guan T, Zaluska E, Roure D (2005) A grid service infrastructure for mobile devices. In: IEEE international conference on semantics, knowledge, and grid, pp 42–48Google Scholar
  28. 28.
    Guan T, Zaluska E, Roure D (2006) Extending pervasive devices with the semantic grid: a service infrastructure approach. In: IEEE conference on computer and information technology pp 113–118Google Scholar
  29. 29.
    Gurun S, Krintz C (2003) Addressing the energy crisis in mobile computing with developing power aware software. Technical Report, Department of Computer Science, University of California, Santa BarbaraGoogle Scholar
  30. 30.
    Gurun S, Krintz C, Wolski R (2004) NWSLite: a light-weight prediction utility for mobile devices. In: International conference on mobile systems, applications, and services, pp 2–11Google Scholar
  31. 31.
    Hayes B (2008) Cloud computing. Commun ACM 51(7):9–11CrossRefGoogle Scholar
  32. 32.
    Hemmes J, Poellabauer C, Thain D (2007) On-demand transient data storage and backup in mobile systems. In: IEEE military communications conference, pp 1–7Google Scholar
  33. 33.
    Hendrickson B, Leland R (1995) A multilevel algorithm for partitioning graphs. In: ACM/IEEE conference on supercomputing, pp 28–41Google Scholar
  34. 34.
    Hong JI, Landay JA (2011) An infrastructure approach to context-aware computing. Int J Hum-Comput Int 16(2): 287–303Google Scholar
  35. 35.
    Hong YJ, Kumar K, Lu YH (2009) Energy efficient content-based image retrieval for mobile systems. In: International symposium on circuits and systems, pp 1673–1676Google Scholar
  36. 36.
    Huerta-Canepa G, Lee D (2008) An adaptable application offloading scheme based on application behavior. In: International conference on advanced information networking and applications - workshops, pp 387–392Google Scholar
  37. 37.
    Jamwal V, Iyer S (2006) Automated refactoring of objects for application partitioning. In: Asia-Pacific software engineering conference, pp 671–678Google Scholar
  38. 38.
    Joseph AD, de Lespinasse AF, Tauber JA, Gifford DK, Kaashoek MF (1995) Rover: a toolkit for mobile information access. In: ACM symposium on operating systems principles, pp 156–171Google Scholar
  39. 39.
    Kanter T (2000) Cooperative mobile ambient awareness. Licentiate Thesis, Department of Teleinformatics, Royal Institute of Technology (KTH)Google Scholar
  40. 40.
    Kotz D, Gray R, Nog S, Rus D, Chawla S, Cybenko G (1997) Agent Tcl: targeting the needs of mobile computers. IEEE Internet Comput 1(4):58–67CrossRefGoogle Scholar
  41. 41.
    Kremer U, Hicks J, Rehg J (2003) A compilation framework for power and energy management on mobile computers. In: Proceedings of the 14th international conference on Languages and compilers for parallel computing. Cumberland Falls, KY, USA, pp 115–131Google Scholar
  42. 42.
    Kumar K, Lu YH (2010) Cloud computing for mobile users: can offloading computation save energy? IEEE Comput 43(4):51–56CrossRefGoogle Scholar
  43. 43.
    Lele AM, Nandy SK, Epema DHJ (2000) Harmony—an architecture for providing quality of service in mobile computing environments. J Interconnect Netw 1(3): 247–266CrossRefGoogle Scholar
  44. 44.
    Li Z, Wang C, Xu R (2001) Computation offloading to save energy on handheld devices: a partition scheme. In: International conference on compilers, architecture, and synthesis for embedded systems, pp 238–246Google Scholar
  45. 45.
    Li Z, Wang C, Xu R (2002) Task allocation for distributed multimedia processing on wirelessly networked handheld devices. In: Parallel and distributed processing symposium, pp 79–84Google Scholar
  46. 46.
    Li Z, Xu R (2002) Energy impact of secure computation on a handheld device. In: IEEE international workshop on workload characterization, pp 109–117Google Scholar
  47. 47.
    Liu J, Kumar K, Lu YH (2010) Tradeoff between energy savings and privacy protection in computation offloading. In: ACM/IEEE international symposium on low power electronics and design, pp 213–218Google Scholar
  48. 48.
    Liu J, Lu Y-H (2010) Energy savings in privacy-preserving computation offloading with protection by homomorphic encryption. In: HotPowerGoogle Scholar
  49. 49.
    Messer A, Greenberg I, Bernadat P, Milojicic D, Chen D, Giuli T, Gu X (2002) Towards a distributed platform for resource-constrained devices. In: International conference on distributed computing systems, vol 22, pp 43–51Google Scholar
  50. 50.
    Mowbray M, Pearson S (2009) A client-based privacy manager for cloud computing. In: International ICST conference on communication system software and middleware, pp 1–8Google Scholar
  51. 51.
    Neiger G, Santoni A, Leung F, Rodgers D, Uhlig R (2006) Intel virtualization technology: hardware support for efficient processor virtualization. Intel Technol J 10(3): 167–177Google Scholar
  52. 52.
    Nimmagadda Y, Kumar K, Lu Y-H, Lee CSG (2010) Real-time moving object recognition and tracking using computation offloading. In: IEEE international conference on intelligent robots and systems, pp 2449–2455Google Scholar
  53. 53.
    Noble BD, Price M, Mahadev Satyanarayanan M (1995) A programming interface for application-aware adaptation in mobile computing. School of Computer Science, Carnegie Melon UniversityGoogle Scholar
  54. 54.
    Noble BD, Satyanarayanan M (1999) Experience with adaptive mobile applications in Odyssey. Mobile Netw Appl 4(4):245–254CrossRefGoogle Scholar
  55. 55.
    Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2009) The eucalyptus open-source cloud-computing system. In: IEEE/ACM international symposium on cluster computing and the grid, pp 124–131Google Scholar
  56. 56.
    O’Hara KJ, Nathuji R, Raj H, Schwan K, Balch T (2006) Autopower: toward energy-aware software systems for distributed mobile robots. In: IEEE international conference on robotics and automation, pp 2757–2762Google Scholar
  57. 57.
    Ou S, Wu Y, Yang K, Zhou B (2008) Performance analysis of fault-tolerant offloading systems for pervasive services in mobile wireless environments. In: IEEE international conference on communications, pp 1856–1860Google Scholar
  58. 58.
    Ou S, Yang K, Hu L (2007) Cross: a combined routing and surrogate selection algorithm for pervasive service offloading in mobile ad hoc environments. In: IEEE global telecommunications conference, pp 720–725Google Scholar
  59. 59.
    Ou S, Yang K, Liotta A (2006) An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems. In: IEEE international conference on pervasive computing and communications, pp 116–125Google Scholar
  60. 60.
    Ou S, Yang K, Liotta A, Hu L (2007) Performance analysis of offloading systems in mobile wireless environments. In: IEEE international conference on communications, pp 1821–1806Google Scholar
  61. 61.
    Perkins CE (1996) Handling multimedia data for mobile computers. In: Computer software and applications conference, pp 147–148Google Scholar
  62. 62.
    Powell ML, Miller BP (1983) Process migration in demos/mp. ACM SIGOPS Oper Syst Rev 17(5):110–119CrossRefGoogle Scholar
  63. 63.
    Qi M (1997) Resource conservation in a mobile transaction system. IEEE T Comput 46:3:299–311CrossRefGoogle Scholar
  64. 64.
    Rigole P, Berbers Y, Holvoet T (2004) Component-based adaptive tasks guided by resource contracts. In: Workshop on component-oriented approaches to context-aware systems, pp 1–5Google Scholar
  65. 65.
    Rigole P, Berbers Y, Holvoet T (2004) Mobile adaptive tasks guided by resource contracts. In: Workshop on middleware for pervasive and ad-hoc computing, pp 117–120Google Scholar
  66. 66.
    Rim H, Kim S, Kim Y, Han H (2006) Transparent method offloading for slim execution. In: International symposium on wireless pervasive computing, pp 1–6Google Scholar
  67. 67.
    Rong P, Pedram M (2003) Extending the lifetime of a network of battery-powered mobile devices by remote processing: a markovian decision-based approach. In: Conference on design automation, pp 906–911Google Scholar
  68. 68.
    Rosenblum M, Garfinkel T (2005) Virtual machine monitors: current technology and future trends. IEEE Comput 38(5):39–47CrossRefGoogle Scholar
  69. 69.
    Se S, Barfoot T, Jasiobedzki P (2005) Visual motion estimation and terrain modeling for planetary rovers. In: International symposium on artificial intelligence for robotics and automation in space, pp 603–700Google Scholar
  70. 70.
    Seshasayee B, Nathuji R, Schwan K (2007) Energy aware mobile service overlays: cooperative dynamic power management in distributive systems. In: International conference on automatic computing, pp 6–12Google Scholar
  71. 71.
    Sivavakeesar S, Gonzalez OF, Pavlou G (2006) Service discovery strategies in ubiquitous communication environments. IEEE Commun Mag 44(9):106–113CrossRefGoogle Scholar
  72. 72.
    Tilevich E, Smaragdakis Y (2006) J-orchestra: automatic Java application partitioning. In: European conference on object-oriented programming, pp 1–3Google Scholar
  73. 73.
    Vaquero LM, Rodero-Merino L, Caceres J, Lindner M (2008) A break in the clouds: towards a cloud definition. ACM SIGCOMM Comput Commun Rev 39(1):50–55CrossRefGoogle Scholar
  74. 74.
    Wang C, Li Z (2004) Parametric analysis for adaptive computation offloading. In: ACM SIGPLAN conference on programming language design and implementation, pp 119–130Google Scholar
  75. 75.
    Wang Q, Wang C, Li J, Ren K, Lou W (2010) Enabling public verifiability and data dynamics for storage security in cloud computing. In: European symposium on research in computer security, pp 355–370Google Scholar
  76. 76.
    Wang W, Li Z, Owens R, Bhargava B (2009) Secure and efficient access to outsourced data. In: ACM workshop on cloud computing security, pp 55–66Google Scholar
  77. 77.
    Weinsberg Y, Dolev D, Wyckoff P, Anker T (2007) Accelerating distributed computing applications using a network offloading framework. In: IEEE international parallel and distributed processing symposium, pp 1–10Google Scholar
  78. 78.
    Weiss A (2007) Computing in the clouds. NetWorker 11(4):16–25CrossRefGoogle Scholar
  79. 79.
    White JE (1997) Mobile agents. In: Software agents (MIT Press), pp 437–472Google Scholar
  80. 80.
    Wolski R, Gurun S, Krintz C, Nurmi D (2008) Using bandwidth data to make computation offloading decisions. In: IEEE international symposium on parallel and distributed processing, pp 1–8Google Scholar
  81. 81.
    Wong D, Paciorek N, Moore D (1999) Java-based mobile agents. Commun ACM 42(3):92–102CrossRefGoogle Scholar
  82. 82.
    Wong D, Paciorek N, Walsh T, DiCelie J, Young M, Peet B (1997) Concordia: an infrastructure for collaborating mobile agents. In: International workshop on mobile agents, pp 86–97Google Scholar
  83. 83.
    Xian C, Lu Y-H, Li Z (2007) Adaptive computation offloading for energy conservation on battery-powered systems. In: International conference on parallel and distributed systems, pp 1–8Google Scholar
  84. 84.
    Yang K, Ou S, Chen H-H (2008) On effective offloading services for resource-constrained mobile devices running heavier mobile internet applications. IEEE communications magazine 46(1):56–63CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Karthik Kumar
    • 1
  • Jibang Liu
    • 1
  • Yung-Hsiang Lu
    • 1
  • Bharat Bhargava
    • 1
  1. 1.Purdue UniversityWest LafayetteUSA

Personalised recommendations