This Article 
 Bibliographic References 
 Add to: 
A Framework-Based Approach to the Development of Network-Aware Applications
May 1998 (vol. 24 no. 5)
pp. 376-390

Abstract—Modern networks provide a QoS (quality of service) model to go beyond best-effort services, but current QoS models are oriented towards low-level network parameters (e.g., bandwidth, latency, jitter). Application developers, on the other hand, are interested in quality models that are meaningful to the end-user and, therefore, struggle to bridge the gap between network and application QoS models. Examples of application quality models are response time, predictability, or a budget (for transmission costs). Applications that can deal with changes in the network environment are called network-aware. A network-aware application attempts to adjust its resource demands in response to network performance variations. This paper presents a framework-based approach to the construction of network-aware programs. At the core of the framework is a feedback loop that controls the adjustment of the application to network properties. The framework provides the skeleton to address two fundamental challenges for the construction of network-aware applications: 1) how to find out about dynamic changes in network service quality and 2) how to map application-centric quality measures (e.g., predictability) to network-centric quality measures (e.g., QoS models that focus on bandwidth or latency). Our preliminary experience with a prototype network-aware image retrieval system demonstrates the feasibility of our approach. The prototype illustrates that there is more to network-awareness than just taking network resources and protocols into account and raises questions that need to be addressed (from a software engineering point of view) to make a general approach to network-aware applications useful.

[1] J. Bolliger, P. Brandt, A. Dimai, T. Gross, R. Karrer, and R. Weber, "Architecture of a Networked Image Search and Retrieval System," Report, Dept. of Computer Science and Dept. of Electrical Engineering, ETH Zürich, 1997.
[2] J-C. Bolot, T. Turletti, and I. Wakeman, "Scalable Feedback Control for Multicast Video Distribution in the Internet," Proc. ACM SIGCOMM '94,London, pp. 58-67, Aug. 1994.
[3] L. Brakmo, S. O'Malley, and L. Peterson, "TCP Vegas: New Techniques for Congestion Detection and Avoidance," Proc. SIGComm 94, ACM Press, New York, 1994, pp. 24-35.
[4] D. Brennwalder, "Adaptives Transportprotokoll," (in German), master's thesis, Dept. of Computer Science, ETH Zürich, Mar. 1997.
[5] R. Cáceres, P.B. Danzig, S. Jamin, and D.J. Mitzel, "Characteristics of Wide-Area TCP/IP Conversations," Proc. ACM SIGCOMM '91,Zürich, pp. 101-112, Aug. 1991.
[6] A. Campbell, G. Coulson, F. Garcia, and D. Hutchison, "A Continuous Media Transport and Orchestration Service," Proc. ACM SIGCOMM '92,Baltimore, Md., pp. 99-110, Aug. 1992.
[7] T.M. Chen, S.S. Liu, and V.K. Samalam, "The Available Bit Rate Service for Data in ATM Networks," IEEE Comm., vol. 34, no. 5, pp. 60-71, May 1996.
[8] D.D. Clark,S. Shenker,, and L. Zhang,“Supporting real-time applications inan integrated services packet network: Architecture and mechanism,” Proc. ACM SIGCOMM, pp. 14-26, 1992.
[9] H. Eberle, "A Workstation Interconnect Supporting Time-Dependent Data Transmission," Multimedia '94,Kyoto, pp. 7.1.1-7.1.6, IEEE Communication Society, May 1994.
[10] H. Eberle and E. Oertli, "Switcherland: A QoS Communication Architecture for Workstation Clusters," Proc. ACM ISCA '98,Barcelona, Spain, June 1998, to appear.
[11] K.W. Fendick, "Evolution of Controls for the Available Bit Rate Service," IEEE Communications Magazine, vol. 34, no. 11, pp. 35-39, Nov. 1996.
[12] S. Floyd and K. Fall, "Router Mechanisms to Support End-to-End Congestion Control," technical report, Lawrence Berkeley Nat'l Laboratory, Berkeley, Feb. 1997.
[13] A. Fox, S.D. Gribble, E.A. Brewer, and E. Amir, "Adapting to Network and Client Variability via On-Demand Dynamic Distillation," ASPLOS-VII Proc., Seventh Int'l Conf. Architectural Support for Programming Languages and Operating Systems,Cambridge, Mass., pp. 160-173, Oct. 1996.
[14] E. Gamma et al., Design Patterns: Elements of Object-Oriented Software, Addison-Wesley, Reading, Mass., 1994.
[15] M. Hayter and D. McAuley, "The Desk-Area Network. ACM Operating Systems Review," vol. 25, no. 4, pp. 14-21, Oct. 1991.
[16] J.C. Hoe, "Improving the Start-Up Behavior of a Congestion Control Scheme for TCP," Proc. ACM SIGCOMM '96,Stanford, Calif., pp. 270-280, Aug. 1996.
[17] IEEE. Software Engineering Standards (third edition).New York: IEEE Press, 1989.
[18] Independent JPEG Group, IJG's JPEG Software Release 6a. Independent JPEG Group, Feb. 1996.
[19] V. Jacobson, "Congestion Avoidance and Control," Proc. ACM SIGCOMM '88, pp. 314-329, Aug. 1988.
[20] S. Keshav, "A Control-Theoretic Approach to Flow Control," Proc. ACM SIGCOMM '91,Zürich, pp. 3-15, Aug. 1991.
[21] M. Mathis and J. Mahdavi, "Forward Acknowledgement: Refining TCP Congestion Control," Proc. ACM SIGCOMM '96,Stanford, Calif., pp. 281-292, Aug. 1996.
[22] S. McCanne and V. Jacobson, "vic: A Flexible Framework for Packet Video," Proc. ACM Multimedia '95,San Franscisco, Calif., pp. 511-522, Nov. 1995.
[23] S. McCanne, V. Jacobson, and M. Vetterli, "Receiver-Driven Layered Multicast," Proc. ACM SIGCOMM '96, pp. 117-130, Aug. 1996.
[24] M. Näf, "Ein adaptives Bildtransferprotokoll fuer Chariot," (in German), internal report, Dept. of Computer Science, ETH Zürich, Mar. 1997.
[25] K. Nahrstedt and J. Smith, “The QoS Broker,” IEEE Multimedia, vol. 2, no. 1, pp. 53-67, 1995.
[26] K. Nahrstedt and R. Steinmetz, "Resource Management in Networked Multimedia Systems," Computer, vol. 28, no. 5, pp. 52-63, May 1995.
[27] B.D. Noble, M. Satyanarayanan, D. Narayanan, J.E. Tilton, J. Flinn, and K.R. Walker, "Agile Application-Aware Adaptation for Mobility," Proc. 16th ACM Symp. Operating System Principles, pp. 276-287, Oct. 1997.
[28] B.D. Noble, M. Satyanarayanan, G.T. Nguyen, and R.H. Katz, "Trace-Based Mobile Network Emulation," Proc. ACM SIGCOMM '97,Cannes, France, pp. 51-62, Sept. 1997.
[29] V. Paxson, "Empirically-Derived Analytic Models of Wide-Area TCP Connections," IEEE/ACM Trans. Networking, vol. 2, no. 4, pp. 316-336, Aug. 1994.
[30] V. Paxson, "Measurements and Analysis of End-to-End Internet Dynamics," PhD thesis, Univ. of California, Berkeley, Apr. 1997.
[31] K.K. Ramakrishnan and R. Jain, "A Binary Feedback Scheme for Congestion Avoidance in Computer Networks with a Connectionless Network Layer," Proc. ACM SIGCOMM '88, pp. 303-313, Aug. 1988.
[32] O. Rubin, The Design of Automatic Control Systems.Norwood, Mass.: Artech House, 1986.
[33] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[34] H. Schulzrinne, "Operating System Issues for Continuous Media," Multimedia Systems, vol. 4, pp. 269-280, 1996.
[35] H. Schulzrinne, S.L. Casner, R. Frederick, and V. Jacobson, "RFC 1889: RTP: A Transport Protocol for Real-Time Applications," Request for Comments, Jan. 1996.
[36] R. Steinmetz, "Analyzing the Multimedia Operating System," IEEE Multimedia, vol. 2, no. 1, pp. 68-84, Spring 1995.
[37] R. Stevens, Unix Networking Programming.Englewood Cliffs, N.J.: Prentice Hall, 1990.
[38] V. Strumpen, "The Network Machine," PhD thesis, Dept. of Computer Science, ETH Zürich, No. 11227, July 1995.
[39] Taligent, Inc., "Building Object-Oriented Frameworks," 1994.
[40] L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala, "RSVP: A New Resource Reservation Protocol," IEEE Network, vol. 7, no. 5, pp. 8-18, Sept. 1993.
[41] J. Zinky, D. Bakken, and R. Schantz, "Architectural Support for Quality of Service for CORBA Objects," Theory and Practice of Object Systems, vol. 3, no. 1, pp. 55-73, 1997.

Index Terms:
Adaptive applications, network-aware computing, software construction, frameworks, QoS.
Jürg Bolliger, Thomas Gross, "A Framework-Based Approach to the Development of Network-Aware Applications," IEEE Transactions on Software Engineering, vol. 24, no. 5, pp. 376-390, May 1998, doi:10.1109/32.685260
Usage of this product signifies your acceptance of the Terms of Use.