This Article 
 Bibliographic References 
 Add to: 
Converting Legacy Desktop Applications into On-Demand Personalized Software
October-December 2010 (vol. 3 no. 4)
pp. 306-321
Youhui Zhang, Tsinghua University, Beijing
Gelin Su, Tsinghua University, Beijing
Weimin Zheng, Tsinghua University, Beijing
To access personalized software applications on demand is an attractive usage mode of software. This paper presents such a solution based on lightweight virtualization technologies, which can convert the enormous existing desktop software into on-demand software across the Internet without any modification of source code. First, a construction and runtime model of software is proposed. It regards software as an entity containing three parts: Part1 includes all resources provided by the OS; Part2 contains what is created by the installation process; and Part3 is the data produced/modified during the runtime. Moreover, the software is executed in a lightweight virtualization environment where the APIs accessing Parts 2 and 3 are intercepted and redirected to the real storage positions (like the network and the portable storage device) as needed. In addition, a network-resource access protocol is developed for the software on demand, which implements content-addressable storage, p2p (peer-to-peer) transfer acceleration, content integrity check, and the prevention of illegal copy. From the viewpoint of the user, he/she can run his/her personalized software on any compatible computer although it does not exist on the host. Finally, its performance analysis and tests show that this proposed solution can be efficient in the performance.

[1] T. Richardson et al., "A Virtual Network Computing," IEEE Internet Computing, vol. 2, no. 1, pp. 33-38, Jan. 1998.
[2] CITRIX, http:/, 2010.
[3] A. Lai and J. Nieh, "On the Performance of Wide-Area Thin-Client Computing," ACM Trans. Computer Systems, vol. 24, no. 2, pp. 175-209, May 2006.
[4] R. Caceres, C. Carter, C. Narayanaswami, and M. Raghunath, "Reincarnating PCs with Portable SoulPads," Proc. MobiSys, June 2005.
[5] http:/, 2010.
[6] R. Chandra, N. Zeldovich, C. Sapuntzakis, and M.S. Lam, "The Collective: A Cache-Based System Management Architecture," Proc. Second Symp. Networked Systems Design and Implementation (NSDI '05), May 2005.
[7] xenperformance .html, 2010.
[8] K. Adams and O. Agesen, "A Comparison of Software and Hardware Techniques for x86 Virtualization," Proc. 12th Int'l Conf. Architectural Support for Programming Languages and Operating Systems, Mar. 2006.
[9] featureinstallwatch. html, 2010.
[10] G. Hunt and D. Brubacher, "Detours: Binary Interception of Win32 Functions," Proc. Third USENIX Windows NT Symp., July 1999.
[11] http:/, 2010.
[12] D. Almeida, "FIFS: A Framework for Implementing User-Mode File Systems in Windows NT," Proc. Third USENIX NT Symp., 1999.
[13] E. Driscoll, J. Beavers, and H. Tokuda, FUSE-NT: Userspace File Systems for Windows NT, , 2007.
[14] File System Filter Drivers, default.mspx, 2010.
[15] Windows Management Instrumentation, com/en-us/library aa394582.aspx, 2010.
[16] N. Tolia et al., "Opportunistic Use of Content Addressable Storage for Distributed File Systems," Proc. USENIX Ann. Technical Conf. General Track, pp. 127-140, 2003.
[17] , 2010.
[18] B. Cohen, "Incentives Build Robustness in BitTorrent," Proc. First Workshop Economics of Peer-to-Peer Systems, June 2003.
[19] , 2010.
[20] "USB Flash Drive," Wikipedia, the Free Encyclopedia, , 2010.
[21] F. Troni, and M.A. Silver, "Use Processes and Tools to Reduce TCO for PCs, 2005-2006 Update," research report, Gartner Group, 2006.
[22] M.E. Russinovich and D.A. Solomon, Microsoft Windows Internals, fourth ed. Microsoft Press, Dec. 2004.
[23] P.M. Chen and B.D. Noble, "When Virtual Is Better than Real," Proc. IEEE Eighth Workshop Hot Topics in Operating Systems, May 2001.
[24] M. Kozuch and M. Satyanarayanan, "Internet Suspend/Resume," Proc. Fourth IEEE Workshop Mobile Computing Systems and Applications, June 2002.
[25] M. Annamalai, A. Birrell, D. Fetterly, and T. Wobber, "Implementing Portable Desktops: A New Option and Comparisons," Microsoft Research (MSR)-2006-151, Oct. 2006.
[26] http://www.migosoftware.comdefault.php, 2010.
[27] http:/, 2009.
[28] http:/, 2010.
[29] J.R. Douceur, J. Elson, J. Howell, and J.R. Lorch, "Leveraging Legacy Code to Deploy Desktop Applications on the Web," Proc. Symp. Operating Systems Design and Implementation (OSDI), 2008.
[30] B. Alpern et al., "PDS: A Virtual Execution Environment for Software Deployment," Proc. First ACM/USENIX Int'l Conf. Virtual Execution Environments, Mar. 2005.
[31] default. mspx, 2010.
[32] Y. Zhang, X. Wang, and L. Hong, "Portable Desktop Applications Based on P2P Transportation and Virtualization," Proc. 22nd Large Installation System Administration Conf., pp. 133-144, Nov. 2008.
[33] EMC Corporation, "EMC Centera Content Addressed Storage System," http:/, 2003.
[34] L.L. You, K.T. Pollack, and D.D.E. Long, "Deep Store: An Archival Storage System Architecture," Proc. IEEE Int'l Conf. Data Eng. (ICDE '05), Apr. 2005.
[35] S. Quinlan and S. Dorward, "Venti: A New Approach to Archival Storage," Proc. File and Storage Technologies Conf. (FAST '02), 2002
[36] L.P. Cox, C.D. Murray, and B.D. Noble, "Pastiche: Making Backup Cheap and Easy," Proc. Symp. Operating Systems Design and Implementation (OSDI), 2002.
[37] C. McEniry, "Moobi: A Thin Server Management System Using BitTorrent," Proc. 21st Large Installation System Administration Conf., Nov. 2007.
[38] K. Suzaki, T. Yagi, K. Iijima, and N.A. Quynh, "OS Circular: Internet Client for Reference," Proc. 21st Large Installation System Administration Conf., Nov. 2007.
[39] Filesystem in Userspace, http:/, 2010.
[40] P. Rodriguez and E.W. Biersack, "Dynamic Parallel-Access to Replicated Content in the Internet," IEEE/ACM Trans. Networking, vol. 10, no. 4, pp. 455-465, Aug. 2002.
[41] H. Pucha, D.G. Andersen, and M. Kaminsky, "Exploiting Similarity for Multi-Source Downloads Using File Handprints," Proc. Fourth Symp. Networked Systems Design and Implementation (NSDI '07), Apr. 2007.
[42] S. Garriss, R. Caceres, R. Sailer, L. van Doorn, and X. Zhang, "Towards Trustworthy Kiosk Computing," Proc. Eighth IEEE Workshop Mobile Computing Systems and Applications, pp. 41-45. 2007.

Index Terms:
Distributed system, software as services, virtual machine.
Youhui Zhang, Gelin Su, Weimin Zheng, "Converting Legacy Desktop Applications into On-Demand Personalized Software," IEEE Transactions on Services Computing, vol. 3, no. 4, pp. 306-321, Oct.-Dec. 2010, doi:10.1109/TSC.2010.32
Usage of this product signifies your acceptance of the Terms of Use.