This Article 
 Bibliographic References 
 Add to: 
Composable Proxy Services to Support Collaboration on the Mobile Internet
June 2003 (vol. 52 no. 6)
pp. 713-726

Abstract—This paper describes the design and operation of a composable proxy infrastructure that enables mobile Internet users to collaborate via heterogeneous devices and network connections. The approach is based on detachable Java I/O streams, which enable proxy filters and transcoders to be dynamically inserted, removed, and reordered on a given data stream. Unlike conventional Java I/O streams, detachable streams can be stopped, disconnected, reconnected, and restarted. As such, they provide a convenient method by which to support the dynamic composition of proxy services. Moreover, use of the I/O stream abstraction enables network distribution and stream adaptability to be implemented transparently with respect to application components. The operation and implementation of detachable streams are described. To evaluate the composable proxy infrastructure, it is used to enhance interactive audio communication among users of a Web-based collaborative computing framework. Two forward error correction (FEC) proxylets are developed, one using block erasure codes and the other using the GSM 06.10 encoding algorithm. Separately, each type of FEC improves the ability of the audio stream to tolerate errors in a wireless LAN environment. When composed in a single proxy, however, they cooperate to correct additional types of burst errors. Results are presented from a performance study conducted on a mobile computing testbed.

[1] J. Bacon et al., "Generic Support for Distributed Applications," Computer, vol. 33, no. 3, Mar. 2000, pp. 68-76.
[2] H. Miranda, M. Antunes, L. Rodrigues, and A.R. Silva, Group Communication Support for Dependable Multi-User Object-Oriented Environments Proc. SRDS Workshop on Dependable System Middleware and Group Communication (DSMGC 2000), Oct. 2000.
[3] L. Burness, A. Kassler, P. Khengar, E. Kovacs, D. Mandato, J. Manner, G. Neureiter, T. Robles, and H. Velayos, The BRAIN Quality of Service Architecture for Adaptable Services Proc. Int'l Symp. Personal, Indoor, and Mobile Radio Comm. (PIMRC 2000), Sept. 2000.
[4] T. Kramp and R. Koster, A Service-Centered Approach to QoS-Supporting Middleware (Work-in-Progress Paper) Proc. IFIP Int'l Conf. Distributed Systems Platforms and Open Distributed Processing (Middleware '98), Sept. 1998.
[5] T. Fitzpatrick, G. Blair, G. Coulson, N. Davies, and P. Robin, A Software Architecture for Adaptive Distributed Multimedia Applications IEE Proc. Software, vol. 145, no. 5, pp. 163-171, 1998.
[6] A.D. Joseph, J.A. Tauber, and M.F. Kaasheok, “Mobile Computing with the Rover Tool-Kit,” IEEE Trans. Computers, vol. 46, no. 3, pp. 337-352, Mar. 1997.
[7] A. Fox et al., "Adapting to Network and Client Variation Using Active Proxies: Lessons and Perspectives," IEEE Personal Comm., Aug. 1998, pp. 10-19.
[8] M. Roussopoulos, P. Maniatis, E. Swierk, K. Lai, G. Appenzeller, and M. Baker, Person-Level Routing in the Mobile People Architecture Proc. 1999 USENIX Symp. Internet Technologies and Systems, Oct. 1999.
[9] S. McCanne et al., "Toward a Common Infrastructure for Multimedia-Networking Middleware," Proc. 7th Int'l Workshop Network and Operating Systems Support for Digital Audio and Video, IEEE CS Press, Los Alamitos, Calif., 1997, pp. 39-49.
[10] F. Kuhns, C. O'Ryan, D. C. Schmidt, O. Othman, and J. Parsons, The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware Proc. IFIP Sixth Int'l Workshop Protocols for High-Speed Networks (PfHSN '99), Aug. 1998.
[11] O. Angin, A.T. Campbell, M.E. Kounavis, and R.R.-F.M. Liao, The Mobiware Toolkit: Programmable Support for Adaptive Mobile Networking IEEE Personal Comm. Magazine, special issue on adapting to network and client variability, Aug. 1998.
[12] B. Li and K. Nahrstedt, "A Control-Based Middleware Framework for Quality of Service Adaptations," IEEE J. Selected Areas in Comm., vol. 17, no. 9, Sept. 1999, pp. 1632-1650.
[13] R. Vanegas, J.A. Zinky, J.P. Loyall, D.A. Karr, R.E. Schantz, and D.E. Bakken, QuO's Runtime Support for Quality of Service in Distributed Objects Proc. IFIP Int'l Conf. Distributed Systems Platforms and Open Distributed Processing (Middleware '98), Sept. 1998.
[14] B.D. Noble and M. Satyanarayanan, Experience with Adaptive Mobile Applications in Odyssey Mobile Networks and Applications, vol. 4, pp. 245-254, 1999.
[15] B. Stiller, C. Class, M. Waldvogel, G. Caronni, and D. Bauer, A Flexible Middleware for Multimedia Communication: Design Implementation, and Experience IEEE J. Selected Areas in Comm., vol. 17, pp. 1580-1598, Sept. 1999.
[16] B.R. Badrinath, A. Bakre, R. Marantz, and T. Imielinski, Handling Mobile Hosts: A Case for Indirect Interaction Proc. Fourth Workshop Workstation Operating Systems, Oct. 1993.
[17] B. Zenel, A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment Wireless Networks, vol. 5, pp. 391-409, 1999.
[18] L. Chen and T. Suda, Designing Mobile Computing Systems Using Distributed Objects IEEE Comm. Magazine, vol. 35, Feb. 1997.
[19] Y. Chawathe, S. Fink, S. McCanne, and E. Brewer, A Proxy Architecture for Reliable Multicast in Heterogeneous Environments Proc. ACM Multimedia '98, Sept. 1998.
[20] P.K. McKinley and A.P. Mani, An Experimental Study of Adaptive Forward Error Correction for Wireless Collaborative Computing Proc. IEEE 2001 Symp. Applications and the Internet (SAINT-01), Jan. 2001.
[21] L. Yang and M. Hofmann, OPES Architecture for Rule Processing and Service Execution Internet Draft draft-yang-opes-rule-processing-service-execution-00.txt, Feb. 2001.
[22] L. Rizzo, Effective Erasure Codes for Reliable Computer Communication Protocols ACM Computer Comm. Rev., Apr. 1997.
[23] J. Degener and C. Bormann, The GSM 06.10 Lossy Speech Compression Library and Its Applications 2000, available at .
[24] P.K. McKinley, A.M. Malenfant, and J.M. Arango, Pavilion: A Distributed Middleware Framework for Collaborative Web-Based Applications Proc. ACM SIGGROUP Conf. Supporting Group Work, pp. 179-188, Nov. 1999.
[25] P.K. McKinley, R.R. Barrios, and A.M. Malenfant, Design and Performance Evaluation of a Java-Based Multicast Browser Tool Proc. 19th Int'l Conf. Distributed Computing Systems, pp. 314-322, 1999.
[26] J. Arango and P.K. McKinley, VGuide: Design and Performance Evaluation of a Synchronous Collaborative Virtual Reality Application Proc. IEEE Int'l Conf. Multimedia and Expo, July 2000.
[27] P.K. McKinley and J. Li, Pocket Pavilion: Synchronous Collaborative Browsing for Wireless Handheld Computers Proc. IEEE Int'l Conf. Multimedia and Expo, July 2000.
[28] P. Ge and P.K. McKinley, Experimental Evaluation of Error Control for Video Multicast over Wireless LANs Proc. Third Int'l Workshop Multimedia Network Systems, Apr. 2001.
[29] P.K. McKinley and S. Gaurav, Experimental Evaluation of Forward Error Correction on Multicast Audio Streams in Wireless LANs Proc. ACM Multimedia 2000, pp. 416-418, Nov. 2000.
[30] R.H. Katz et al., The Bay Area Research Wireless Access Network (BARWAN) Proc. Spring COMPCON Conf., 1996.
[31] P.K. McKinley and U.I. Padmanabhan, Design of Composable Proxy Filters for Mobile Cmputing Proc. Second Int'l Workshop Wireless Networks and Mobile Computing, Apr. 2001.
[32] A.J. McAuley, Reliable Broadband Communications Using Burst Erasure Correcting Code Proc. ACM SIGCOMM, pp. 287-306, Sept. 1990.
[33] L. Rizzo and L. Vicisano, RMDP: An FEC-Based Reliable Multicast Protocol for Wireless Environments ACM Mobile Computer and Comm. Rev., vol. 2, Apr. 1998.
[34] J. Nonnenmacher, E.W. Biersack, and D. Towsley, Parity-Based Loss Recovery for Reliable Multicast Transmission IEEE/ACM Trans. Networking, vol. 6, no. 4, pp. 349-361, 1998.
[35] C. Huitema, The Case for Packet Level FEC Proc. IFIP Fifth Int'l Workshop Protocols for High-Speed Networks (PfHSN '96), pp. 110-120, Oct. 1996.
[36] J. Gemmell, E. Schooler, and R. Kermode, A Scalable Multicast Architecture for One-to-Many Telepresentations Proc. IEEE Int'l Conf. Multimedia Computing Systems, pp. 128-139, 1998.
[37] R. Kermode, Scoped Hybrid Automatic Repeat ReQuest with Forward Error Correction (SHARQFEC) Proc. ACM SIGCOMM, Sept. 1998.
[38] Swarmcast, Release Notes for Java FEC v0.5, 2001.
[39] M. Podolsky, C. Romer, and S. McCanne, Simulation of FEC-Based Error Control for Packet Audio on the Internet Proc. IEEE INFOCOM '96, Mar. 1998.
[40] J.-C. Bolot and A. Vega-Garcia, "Control Mechanisms for Packet Audio in the Internet," Proc. Infocom 96, April 1996, pp. 232-239.
[41] J. Munson and P. Dewan, Sync: A System for Mobile Collaborative Applications Computer, vol. 30, no. 6, pp. 59-66, 1997.

Index Terms:
Adaptive middleware, heterogeneous collaborative computing, mobile hosts, wireless local area networks, forward error correction, interactive audio streams, component-based design.
Philip K. McKinley, Udiyan I. Padmanabhan, Nandagopal Ancha, Seyed Masoud Sadjadi, "Composable Proxy Services to Support Collaboration on the Mobile Internet," IEEE Transactions on Computers, vol. 52, no. 6, pp. 713-726, June 2003, doi:10.1109/TC.2003.1204828
Usage of this product signifies your acceptance of the Terms of Use.