Title :
Cholla: A Framework for Composing and Coordinating Adaptations in Networked Systems
Author :
Bridges, Patrick G. ; Hiltunen, Matti ; Schlichting, Richard D.
Author_Institution :
Dept. of Comput. Sci., Univ. of New Mexico, Albuquerque, NM, USA
Abstract :
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.
Keywords :
Linux; object-oriented programming; operating systems (computers); software architecture; Cholla; Linux; component-based construction; networked system software; software architecture; Adaptive control; Adaptive systems; Centralized control; Control systems; Logic testing; Programmable control; Prototypes; Software architecture; System software; System testing; Support for adaptation; network communication.; operating systems;
Journal_Title :
Computers, IEEE Transactions on