Conclusions and future work

Finding approaches to reduce power consumption and to improve application performance is a vital and interesting problem for mobile applications executing on resource-constrained portable devices. We suggested a new approach in which part of an application will be encapsulated in a mobile agent and potentially shipped for execution to proxy servers, according to the portable device and fixed host's available resources and wireless network state. To support our approach, we designed and developed a mobile object toolkit, based on Java. With this toolkit we combine JVMs on both the proxy server and the portable device into one virtual machine from the application point of view. The results showed that it is possible to simultaneously improve application performance and reduce power consumption by migrating the entire MP3 decoder to the proxy server in the case of a slow portable device and sufficient wireless bandwidth.

To study the scalability of our approach, we developed a Layered Queuing Model, derived trace data from a live system, and studied the maximum number of concurrent users that can be supported. Even in a system with many potential users, our traces reveal that only a relatively small number of users are concurrently accessing the application server. In these cases, the introduction of proxy servers does not overly reduce system capacity. Other studies have shown that for the system studied, the application server is more likely to become a bottleneck, rather than the proxy server. While these findings are application-specific, they are encouraging. Contrary to our initial suspicions, we will probably not need proxy servers in each cell to support the user population. In all likelihood, a few centrally placed proxy servers can support potentially many users.

A number of issues need to be addressed in future work, some of which is currently under way. We are working on improving the mobile object toolkit. The main improvement to our toolkit optimizes the RMI protocol. Another improvement deals with proxy objects. To support location-transparent invocation of methods, each object is associated with one or more proxy objects. Currently, we manually write these proxy objects; however, we plan to develop tools to automate this process (similar to Voyager) and integrate it with the toolkit. Another addition to the toolkit would be to integrate profiling to enable dynamic agent identification, based on computational demands and inter-object communication patterns. Finally, we are currently porting the toolkit to Palm OS, which requires fundamental changes to the object migration component due to the limitations of the available Java Virtual Machines (no reflection mechanism, no object serialization).

A second issue is to explore scenarios where either the application behavior or the execution environment changes drastically while the application executes. Intuitively, we would expect the runtime system to rebalance the application accordingly. However, migrating agents/objects at runtime is not cheap. So we need to explore how to balance the resulting overhead with the anticipated performance gains and power reductions, in particular in execution environments that change rapidly. Also, while our results reported here show that there is no trade-off between power reduction and performance improvement, previous work [OMA 99] indicates that there may well be such trade-offs for other applications. In these cases, we need to identify how to balance conflicting objectives. One possible solution could be to allow the mobile user to select preferences that prioritize objectives.

A third area is the refinement of the performance prediction model. The current model is essentially based on a multi-tier client-server architecture. In cases where the mobile agent acts like a server (decode the next MP3 frame and return the sampled sound), this accurately reflects the application structure. In more general cases, though, objects at the proxy server side will request services from objects that remain at the portable device. Another refinement of the model would include the wireless link as additional "service" layer between client tasks and proxies, to capture contention for that shared and scarce resource.

Yet another area currently under investigation is the extension of our work to support truly mobile users. The work reported here focuses on the migration of application components between a portable device and a more powerful proxy server. Should more than one proxy server be required to support a given user population, we need to concern ourselves with handoffs between proxies. As described in [WAN 00], such handoffs can occur for a number of reasons: proxy servers can become overloaded, different proxy servers may be closer to a roaming user and therefore be better suited to provide better service, etc. Our toolkit needs to be expanded to include agent migration between proxies and we need to identify and test appropriate migration strategies.

A final area of possible future work is the interaction between application-aware and application-transparent adaptation. Our MP3 player does not react to changes in bandwidth, for example by reducing sampling size or audio quality. In our experiments, we fixed the output playing rate and the sampling size. Further study is required to show how application adaptation policies affect and interact with the automated adaptation by our toolkit.

Acknowledgements

This work was support by the National Research and Engineering Council, Canada (NSERC) and a research grant by Bell Mobility Cellular, a Canadian wireless service provider.

REFERENCES

[ANG 98] Angin O. et al., "The Mobiware Toolkit: Programmable Support for Adaptive Mobile Networking", IEEE Personal Communications, 5(4), August 1998, p. 32-43. [BAL 95] Balakrishnan H. et al., "Improving TCP/IP Performance over Wireless Networks", Proceedings of the 1st Int. Conf. on Mobile Computing and Communications, Berkeley, USA, November 1995, p. 2-11. [BOL 98] Bolliger J., Gross T., "A Framework-based Approach to the Development of Network-aware Applications", IEEE Trans. on Software Eng., 24(5), May 1998, p. 376-390.

[CDP 95] CDPD Consortium, Cellular Digital Packet Data System Specification, Release

1.1, January 19, 1995 (CD-ROM). [FRA 98] Franks G., Woodside M., "Performance of Multi-level Client-server Systems with Parallel Service Operations", Proceedings of the 1st Int. Workshop on Software and Performance (WOSP98), Santa Fe, October 1998, p. 120-130. [FOX 98] Fox A. et al., "Adapting to Network and Client Variation using Infrastructure Proxies: Lessons and Perspectives", IEEE Personal Comm., 5(4), August 1998, p. 10-19.

[JOS 95] Joseph A. D. et al., "Rover: a Toolkit for Mobile Information Access", ACM

Operating Systems Review, 29(5), December 1995, p. 156-171. [KID 98] Kidston D. et al., "Comma, a Communication Manager for Mobile

Applications". Proceedings of the 10th Int. Conf. on Wireless Communications, Calgary, Alberta, Canada, July 1998, p. 103-116. [KUN 00] Kunz T. et al., "WAP Traffic: Description and Comparison to WWW Traffic", Proceedings of the 3rd ACM Int. Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems (MSWiM 2000), Boston, USA, August 2000. [LUC 99] Lucent, WaveLAN Wireless Computing, http://www.wavelan.com/ [OBJ 99] ObjectSpace, Voyager 2.0.0 User Guide, http://www.objectspace.com/Voyager/ [RAN 96] Ranganathan L. et al., Network-aware Mobile Programs, Technical Report CS-TR-3659, Dept. of Computer Science, University of Maryland, College Park, MD 20740, June 1996.

[OMA 99] Omar S., Kunz T., "Reducing Power Consumption and Increasing Application Performance for PDAs through Mobile Code", Proceedings 1999 Int. Conf. on Parallel and Distributed Processing Techniques and Applications, Vol. II, Las Vegas, Nevada, USA, June 1999, p. 1005-1011.

[OMA 00] Omar S., A Mobile Code Toolkit for Adaptive Mobile Applications, April 2000, Thesis (M.C.S.), Carleton University, School of Computer Science.

[ROL 95] Rolia J. A., Sevcik K. C., "The Method of Layers", IEEE Transactions on Software Engineering, 21(8), August 1995, p. 689-700.

[WAN 00] Wang J., Kunz T., "A Proxy Server Infrastructure for Adaptive Mobile

Applications", Proceedings of the 18th IASTED Int. Conf. on Applied Informatics, Innsbruck, Austria, February 2000, p. 561-567.

[ZHO 00] Zhou, X., Cellular Data Traffic: Analysis, Modeling, and Prediction, Master's Thesis, School of Computer Science, Carleton University, July 2000.

This Page Intentionally Left Blank

App Gangster

App Gangster

Get All The Support And Guidance You Need To Be A Success At Dominating Apps. This Book Is One Of The Most Valuable Resources In The World When It Comes To Becoming The Godfather Of Smart Phone Apps.

Get My Free Ebook


Post a comment