Abstract
Nowadays mobile devices are more and more used as a platform for applications. Contrary to prior generation handheld devices configured with a predefined set of applications, today leading edge devices provide a platform for flexible and customized application deployment. However, these applications have to deal with the limitations (e.g. CPU speed, memory) of these mobile devices and thus cannot handle complex tasks. In order to cope with the handheld limitations and the ever changing device context (e.g. network connections, remaining battery time, etc.) we present a middleware solution that dynamically offloads parts of the software to the most appropriate server. Without a priori knowledge of the application, the optimal deployment is calculated, that lowers the cpu usage at the mobile client, whilst keeping the used bandwidth minimal. The information needed to calculate this optimum is gathered on the fly from runtime information. Experimental results show that the proposed solution enables effective execution of complex applications in a constrained environment. Moreover, we demonstrate that the overhead from the middleware components is below 2%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The OSGi Alliance. OSGi Service Platform, Core Specification, Release 4, Version 4.2. aQute (September 2009)
Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Brandic, I.: Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility. Future Generation Computer Systems 25(6), 599–616 (2009)
Dahm, M.: Doorastha – a step towards distribution transparency. In: JIT (2000)
Amazon elastic compute cloud (EC2), http://www.amazon.com/ec2/
Apache Felix, http://felix.apache.org/site/index.html
Sun Java SE for Embedded 6, http://java.sun.com/javase/embedded/index.jsp
Fuad, M.M., Oudshoorn, M.J.: Adjava: automatic distribution of java applications. In: Proceedings of the Twenty-Fifth Australasian Conference on Computer Science, ACSC 2002, pp. 65–75. Australian Computer Society, Inc., Australia (2002)
Object Management Group. Common object request broker architecture: Core specification, http://www.corba.org
Gu, X., Messer, A., Greenberg, I., Milojicic, D., Nahrstedt, K.: Adaptive offloading for pervasive computing. IEEE Pervasive Computing 3(3), 66–73 (2004)
Gui, N., Sun, H., De Florio, V., Blondia, C.: Accada: A framework for continuous context-aware deployment and adaptation. In: Guerraoui, R., Petit, F. (eds.) SSS 2009. LNCS, vol. 5873, pp. 325–340. Springer, Heidelberg (2009)
Han, S., Zhang, S., Cao, J., Wen, Y., Zhang, Y.: A resource aware software partitioning algorithm based on mobility constraints in pervasive grid environments. Future Gener. Comput. Syst. 24(6), 512–529 (2008)
Hunt, G.C., Scott, M.L.: The coign automatic distributed partitioning system. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI 1999, Berkeley, CA, USA, pp. 187–200. USENIX Association (1999)
Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell System Technical Journal 49(2), 291–307 (1970)
Klein, G., Murray, D.: Parallel tracking and mapping on a camera phone. In: Proc. Eigth IEEE and ACM International Symposium on Mixed and Augmented Reality ISMAR 2009, Orlando (October 2009)
Lai, A.M., Nieh, J.: On the performance of wide-area thin-client computing. ACM Trans. Comput. Syst. 24(2), 175–209 (2006)
Ou, S., Yang, K., Zhang, J.: An effective offloading middleware for pervasive services on mobile devices. Pervasive Mob. Comput. 3(4), 362–385 (2007)
Philippsen, M., Zenger, M.: Javaparty – transparent remote objects in java. Concurrency: Practice and Experience 9(11), 1225–1242 (1997)
OpenNebula Project, http://www.opennebula.org/
Rellermeyer, J.S., Alonso, G., Roscoe, T.: R-osgi: distributed applications through software modularization. In: Cerqueira, R., Campbell, R.H. (eds.) Middleware 2007. LNCS, vol. 4834, pp. 1–20. Springer, Heidelberg (2007)
Java RMI, http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp
Stoer, M., Wagner, F.: A simple min-cut algorithm. J. ACM 44(4), 585–591 (1997)
Storz, O., Friday, A., Davies, N.: Towards ’Ubiquitous’ ubiquitous computing: an alliance with the grid. In: First Workshop on System Support for Ubiquitous Computing Workshop (Ubisys 2003) in association with Fifth International Conference on Ubiquitous Computing. Citeseer, Washington (2003)
Sun, Y., Tay, T.T.: Analysis and reduction of data spikes in thin client computing. J. Parallel Distrib. Comput. 68(11), 1463–1472 (2008)
Sun Ray Sun Microsystems, http://www.sun.com/sunray
Citrix Systems, www.citrix.com
Tatsubori, M., Sasaki, T., Chiba, S., Itano, K.: A bytecode translator for distributed execution of ”legacy” java software. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 236–255. Springer, Heidelberg (2001)
Tilevich, E., Smaragdakis, Y.: J-orchestra: Enhancing java programs with distribution capabilities. ACM Trans. Softw. Eng. Methodol. 19(1), 1–40 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 ICST Institute for Computer Science, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Verbelen, T., Hens, R., Stevens, T., De Turck, F., Dhoedt, B. (2010). Adaptive Online Deployment for Resource Constrained Mobile Smart Clients. In: Cai, Y., Magedanz, T., Li, M., Xia, J., Giannelli, C. (eds) Mobile Wireless Middleware, Operating Systems, and Applications. MOBILWARE 2010. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 48. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17758-3_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-17758-3_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17757-6
Online ISBN: 978-3-642-17758-3
eBook Packages: Computer ScienceComputer Science (R0)