This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Cholla: A Framework for Composing and Coordinating Adaptations in Networked Systems
November 2009 (vol. 58 no. 11)
pp. 1456-1469
Patrick G. Bridges, University of New Mexico, Albuquerque
Matti Hiltunen, AT&T Labs - Research, Florham Park
Richard D. Schlichting, AT&T Labs - Research, Florham Park
The ability of networked system software to adapt in a controlled manner to changes in the environment and requirements is crucial, but difficult to realize in complex systems with multiple interacting software layers/components. Typically, many components in a networked system implement adaptive behaviors and encapsulate their own adaptation logic (policies), making the whole system's adaptive behavior hard to analyze, coordinate, and test. This paper describes Cholla, a software architecture that separates the policy decisions of how and when adaptive components in networked systems react to their environment into separate centralized controllers that are constructed from composable rule sets. Centralizing policy decisions into controllers in Cholla facilitates the analysis, coordination, and testing of these policies, while the composable nature of these controllers allows them to be customized to changing user, application, and hardware demands. In addition to describing the architecture of Cholla, this paper also presents a Linux-based prototype implementation of this architecture that controls and coordinates adaptation policy decisions inside network protocols and multimedia applications. An experimental evaluation of this prototype demonstrates that Cholla's controller architecture enables component-based construction and customization of adaptation policies in networked systems, and that these policies can effectively control and coordinate adaptation.

[1] P. Padala, K.G. Shin, X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, and K. Salem, “Adaptive Control of Virtualized Resources in Utility Computing Environments,” Proc. EuroSys European Conf. Computer Systems, pp. 289-302, 2007.
[2] G. Tesauro, N.K. Jong, R. Das, and M.N. Bennani, “A Hybrid Reinforcement Learning Approach to Autonomic Resource Allocation,” Proc. Third Int'l Autonomic Computing Conf., pp. 65-73, 2006.
[3] B. Urgaonkar, P. Shenoy, A. Chandra, and P. Goyal, “Dynamic Provisioning of Multi-Tier Internet Applications,” Proc. Second Int'l Autonomic Computing Conf., pp. 217-228, 2005.
[4] J. Bolliger and T. Gross, “A Framework-Based Approach to the Development of Network-Aware Applications,” IEEE Trans. Software Eng., vol. 24, no. 5, pp. 376-389, May 1998.
[5] M.D. Corner, B.D. Noble, and K.M. Wasserman, “Fugue: Time scales of Adaptation in Mobile Video,” Proc. SPIE Multimedia Computing and Networking Conf. (MMCN '01), Jan. 2001.
[6] H.W. van Dijk, K.G. Langendoen, and H.J. Sips, “ARC: A Bottom-Up Approach to Negotiated QoS,” Proc. Third IEEE Workshop Mobile Computing Systems and Applications (WMCSA'00), pp. 128-137, Dec. 2000.
[7] R.L. Ribler, J.S. Vetter, H. Simitci, and D.A. Reed, “Autopilot: Adaptive Control of Distributed Applications,” Proc. Seventh IEEE Symp. High-Performance Distributed Computing, 1998.
[8] N. Hutchinson and L.L. Peterson, “The $x$ -Kernel: An Architecture for Implementing Network Protocols,” IEEE Trans. Software Eng., vol. 17, no. 1, pp. 64-76, Jan. 1991.
[9] M.A. Hiltunen, R.D. Schlichting, X. Han, M. Cardozo, and R. Das, “Real-Time Dependable Channels: Customizing QoS Attributes for Distributed Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 6, pp. 600-612, June 1999.
[10] R. van Renesse, K.P. Birman, M. Hayden, A. Vaysburd, and D.A. Karr, “Building Adaptive Systems Using Ensemble,” Software Practice and Experience, vol. 28, no. 9, pp. 963-979, 1998.
[11] E. Gabber, C. Small, J. Bruno, J. Brustoloni, and A. Silberschatz, “The Pebble Component-Based Operating System,” Proc. USENIX Ann. Technical Conf., pp. 267-282, 1999.
[12] D. Mosberger and L.L. Peterson, “Making Paths Explicit in the Scout Operating System,” Proc. Second USENIX Symp. Operating Systems Design and Implementation (OSDI '96), pp. 153-168, 1996.
[13] D.A. Reed, C.L. Elford, T.M. Madhyastha, E. Smirni, and S.E. Lamm, “The Next Frontier: Closed Loop and Interactive Performance Steering,” Proc. 1996 Int'l Conf. Parallel Processing Challenges for Parallel Processing, pp. 20-31, 1996.
[14] L. Rosa, A. Lopes, and L. Rodrigues, “Policy-Driven Adaptation of Protocol Stacks,” Proc. Int'l Conf. Autonomic and Autonomous Systems (ICAS '06), pp. 5-12, 2006.
[15] P.G. Bridges, M.A. Hiltunen, R.D. Schlichting, G.T. Wong, and M. Barrick, “A Configurable and Extensible Transport Protocol,” ACM/IEEE Trans. Networking, vol. 15, no. 6, pp. 1254-1265, Dec. 2007.
[16] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: A Transport Protocol for Real-Time Applications, RFC 1889, 1996.
[17] J. Postel, Transmission Control Protocol, RFC 793, 1981.
[18] N. Hutchinson and L.L. Peterson, “The Design of the $x$ -Kernel,” Proc. ACM SIGCOMM, pp. 65-75, 1988.
[19] W.R. Stevens and G.R. Wright, TCP/IP Illustrated (vol. 2): The Implementation. Addison-Wesley Longman Publishing Co., Inc., 1995.
[20] K. Dutton, S. Thompson, and B. Barraclough, The Art of Control Engineering. Addison-Wesley, 1997.
[21] L.A. Zadeh, “A Rationale for Fuzzy Control,” J. Dynamic Systems, Measurement and Control, vol. 94, pp. 3-4, 1972.
[22] L. Brakmo, S. O'Malley, and L.L. Peterson, “TCP Vegas: New Techniques for Congestion Detection and Avoidance,” Proc. ACM SIGCOMM, 1994.
[23] S. Cen, C. Pu, and J. Walpole, “Flow and Congestion Control for Internet Streaming Applications,” Proc. Multimedia Computing and Networking, pp. 250-264, 1998.
[24] W.-K. Chen, M.A. Hiltunen, and R.D. Schlichting, “Constructing Adaptive Software in Distributed Systems,” Proc. 21st Int'l Conf. Distributed Computing Systems, pp. 635-643, 2001.
[25] V. Jacobson, “Congestion Avoidance and Control,” Proc. ACM SIGCOMM, pp. 314-332, 1988.
[26] J.E. Mortensen, “JFS Development Environment,” http://inet. uni2.dk/~jemorjfs.htm, 2000.
[27] J. Keeney and V. Cahill, “Chisel: A Policy-Driven, Context-Aware, Dynamic Adaptation Framework,” Proc. Fourth IEEE Int'l Workshop Policies for Distributed Systems and Networks (POLICY '03), 2003.
[28] E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.B. Stefani, “The Fractal Component Model and Its Support in Java,” Software: Practice and Experience, vol. 36, no. 11, pp. 1257-1284, Sept. 2006.
[29] G. Coulson, G. Blair, P. Grace, F. Taiani, A. Joolia, K. Lee, J. Ueyama, and T. Sivaharan, “A Generic Component Model for Building Systems Software,” ACM Trans. Computer Systems, vol. 26, no. 1, pp. 1-42, 2008.
[30] B.D. Noble, M. Satyanarayanan, D. Narayanan, J. Tilton, J. Flinn, and K. Walker, “Agile Application-Aware Adaptation for Mobility,” Proc. 16th ACM Symp. Operating Systems Principles, pp. 276-287, 1997.
[31] O. Angin, A.T. Campbell, M.E. Kounavis, and R.R.-F. Liao, “The Mobiware Toolkit: Programmable Support for Adaptive Mobile Networking,” IEEE Personal Comm., vol. 5, no. 4, pp. 32-44, Aug. 1998.
[32] G. Bianchi and A.T. Campbell, “A Programmable MAC,” Proc. IEEE Int'l Conf. Universal Personal Comm. (ICUP '98), 1998.
[33] G. Welling and B.R. Badrinath, “An Architecture for Exporting Environment Awareness to Mobile Computing Applications,” IEEE Trans. Software Eng., vol. 24, no. 5, pp. 391-400, May 1998.
[34] 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, pp. 1632-1650, Sept. 1999.
[35] S. Floyd, M. Handley, J. Padhye, and J. Widmer, “Equation-BasedCongestion Control for Unicast Applications,” Proc. ACM SIGCOMM, 2000.
[36] S. Keshav, “A Control-Theoretic Approach to Flow Control,” Proc. ACM SIGCOMM, pp. 3-15, 1991.

Index Terms:
Support for adaptation, operating systems, network communication.
Citation:
Patrick G. Bridges, Matti Hiltunen, Richard D. Schlichting, "Cholla: A Framework for Composing and Coordinating Adaptations in Networked Systems," IEEE Transactions on Computers, vol. 58, no. 11, pp. 1456-1469, Nov. 2009, doi:10.1109/TC.2009.55
Usage of this product signifies your acceptance of the Terms of Use.