This Article 
 Bibliographic References 
 Add to: 
Iterative Adaptation for Mobile Clients Using Existing APIs
October 2005 (vol. 16 no. 10)
pp. 966-981

Abstract—Iterative Adaptation is a novel approach to adaptation for resource-limited mobile and wireless environments that supports powerful application-specific adaptations without requiring modifications to the application's source code. Common productivity applications, such as browsers, word processors, and presentation tools, export APIs that allow external applications to control their operation. The novel premise in iterative adaptation is that these APIs are sufficient to support a wide range of adaptation policies for applications running on resource-limited devices. In addition to allowing adaptation without having to change the application's source code, this approach has a unique combination of advantages. First, it supports centralized management of resources across multiple applications. Second, it makes it possible to modify application behavior after the application has been deployed. This paper evaluates the extent to which existing APIs can be used for the purposes of adapting document-based applications to run on bandwidth-limited devices. In particular, we implement a large number of bandwidth adaptations for applications from the Microsoft Office and the OpenOffice productivity suites and for Internet Explorer. Although we find limitations in their APIs, we are able to implement many adaptation policies without much complexity and with good performance. Moreover, iterative adaptation achieves performance similar to an approach that implements adaptation by modifying the application, while requiring only a fraction of the coding effort.

[1] R. Bagrodia, W.W. Chu, L. Kleinrock, and G. Popek, “Vision, Issues, and Architecture for Nomadic Computing,” IEEE Personal Comm., vol. 2, no. 6, pp. 14-27, Dec. 1995.
[2] D. Duchamp, “Issues in Wireless Mobile Computing,” Proc. Third Workshop Workstation Operating Systems, pp. 1-7, Apr. 1992.
[3] G.H. Forman and J. Zahorjan, “The Challenges of Mobile Computing,” Computer, pp. 38-47, Apr. 1994.
[4] R.H. Katz, “Adaptation and Mobility in Wireless Information Systems,” IEEE Personal Comm., vol. 1, no. 1, pp. 6-17, 1994.
[5] M. Satyanarayanan, “Fundamental Challenges in Mobile Computing,” Proc. 15th ACM Symp. Principles of Distributed Computing, May 1996.
[6] E. de Lara, D.S. Wallach, and W. Zwaenepoel, “Opportunities for Bandwidth Adaptation in Microsoft Office Documents,” Proc. Fourth USENIX Windows Symp., Aug. 2000.
[7] A. Fox, S.D. Gribble, Y. Chawathe, and E.A. Brewer, “Adapting to Network and Client Variation Using Infrastructural Proxies: Lessons and Perspectives,” IEEE Personal Comm., vol. 5, no. 4, pp. 10-19, Aug. 1998.
[8] A.D. Joseph, J.A. Tauber, and M.F. Kaashoek, “Building Reliable Mobile-Aware Applications Using the Rover Toolkit,” Proc. Second ACM Int'l Conf. Mobile Computing and Networking (MobiCom '96), Nov. 1996.
[9] L. Mummert, M. Ebling, and M. Satyanarayanan, “Exploiting Weak Connectivity for Mobile File Access,” Proc. 15th ACM Symp. Operating Systems Principles, Dec. 1995.
[10] D. Andersen, D. Basal, D. Curtis, S. Srinivasan, and H. Balakrishnan, “System Support for Bandwidth Management and Content Adaptation in Internet Applications,” Proc. Fourth Symp. Operating Systems Design and Implementation, Oct. 2000.
[11] J.J. Kistler and M. Satyanarayanan, “Disconnected Operation in the CODA File System,” ACM Trans. Computer Systems, vol. 10, no. 1, pp. 3-25, Feb. 1992.
[12] E. de Lara, D.S. Wallach, and W. Zwaenepoel, “HATS: Hierarchical Adaptive Transmission Scheduling for Multi-Application Adaptation,” Proc. 2002 Multimedia Computing and Networking Conf. (MMCN '02), Jan. 2002.
[13] Microsoft Office 97/Visual Basic Programmer's Guide. Microsoft Press, 1997.
[14] S. Roberts, Programming Microsoft Internet Explorer 5. Microsoft Press, 1999.
[15] J. Flinn, E. de Lara, M. Satyanarayanan, D.S. Wallach, and W. Zwaenepoel, “Reducing the Energy Usage of Office Applications,” Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms (Middleware), Nov. 2001.
[16] E. de Lara, D.S. Wallach, and W. Zwaenepoel, “Puppeteer: Component-Based Adaptation for Mobile Computing,” Proc. Third USENIX Symp. Internet Technologies and Systems, Mar. 2001.
[17] W.F. Tichy, “RCS— A System for Version Control,” Software— Practice and Experience, vol. 15, no. 7, pp. 637-654, 1985.
[18] M. Satyanarayanan, J. Flinn, and K.R. Walker, “Visual Proxy: Exploiting OS Customizations without Application Source Code,” Operating Systems Rev., vol. 33, no. 3, pp. 14-18, July 1999.
[19] C. Szyperski, Component Software Beyond Object-Oriented Programming. Addison Wesley, 1998.
[20] L. Wood, “Document Object Model (DOM) Level 1 Specification,”, Oct. 1998.
[21] “Bridge2java,” IBM AlphaWorks, com/techbridge2javam , 2005.
[22] L. Rizzo, “DummyNet: A Simple Approach to the Evaluation of Network Protocols,” ACM Computer Comm. Rev., vol. 27, no. 1, pp. 13-41, Jan. 1997.
[23] C.R. Cunha, A. Bestavros, and M.E. Crovella, “Characteristics of WWW Client-Based Traces,” Technical Report TR-95-010, Boston Univ., Apr. 1995.
[24] J. Poskanzer, “PBMPLUS,”, 2005.
[25] Independent JPEG Group, http:/, 2005.
[26] B.D. Noble, M. Satyanarayanan, D. Narayanan, J.E. Tilton, J. Flinn, and K.R. Walker, “Agile Application-Aware Adaptation for Mobility,” Operating Systems Rev. (ACM), vol. 51, no. 5, pp. 276-287, Dec. 1997.
[27] C. Efstratio, K. Cheverst, N. Davies, and A. Friday, “Architectural Requirements for the Effective Support of Adaptive Mobile Applications,” Proc. Second Int'l Conf. Mobile Data Management, Jan. 2001.
[28] B. Li and K. Nahrstedt, “Qualprobes: Middlewate QoS Profiling Services for Configuring Adaptive Applications,” Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms (Middleware), Apr. 2000.
[29] G.J. Nutt, S. Brandt, A.J. Griff, S. Siewert, M. Humphrey, and T. Berk, “Dynamically Negotiated Resource Management for Data Intensive Application Suites,” Knowledge and Data Eng., vol. 12, no. 1, pp. 78-95, 2000.
[30] T. Fitzpatrick, G. Blair, G. Coulson, N. Davies, and P. Robin, “Supporting Adaptive Multimedia Applications through Open Bindings,” Proc. Int'l Conf. Configurable Distributed Systems (ICCDS '98), May 1998.
[31] B.N. Jorgensen, E. Truyen, F. Matthijs, and W. Joosen, “Customization of Object Request Brokers by Application Specific Policies,” Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms (Middleware), Apr. 2000.
[32] R. Kosner and T. Kramp, “Structuring QoS-Supporting Services with Smart Proxies,” Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms (Middleware), Apr. 2000.
[33] P. Oreizy, M.M. Gorlick, R.N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D.S. Rosenblum, and A.L. Wolf, “An Architecture-Based Approach to Self-Adaptive Software,” IEEE Intelligent Systems, vol. 14, no. 3, pp. 54-62, May 1999.

Index Terms:
Application adaptation, low-bandwidth operation, pervasive computing, middleware.
Eyal de Lara, Yogesh Chopra, Rajnish Kumar, Nilesh Vaghela, Dan S. Wallach, Willy Zwaenepoel, "Iterative Adaptation for Mobile Clients Using Existing APIs," IEEE Transactions on Parallel and Distributed Systems, vol. 16, no. 10, pp. 966-981, Oct. 2005, doi:10.1109/TPDS.2005.124
Usage of this product signifies your acceptance of the Terms of Use.