Shanwei Cen


October 1997

Document Type


Degree Name



Dept. of Computer Science and Engineering


Oregon Graduate Institute of Science & Technology


As modern computer and network technologies develop, computer systems, especially distributed multimedia systems across the Internet, become more and more complex and dynamic. Among the problems of complex and dynamic computer systems are heterogeneity and a high degree of dynamics and unpredictability in their environment, the difficulty in precise modeling, and potential lack of convergence to desirable stable states. These problems call for mechanisms that can control complex and dynamic computer systems effectively without relying on insight into their internal structure nor precise models of their behavior. Furthermore, such mechanisms should be able to adapt across a wide range of possible changes in the heterogeneous software environment. Software feedback, a software technique that uses feedback mechanisms similar to those in hardware feedback systems such as phase-lock loops, plays an important role in making complex and dynamic computer systems adaptive. It already exists in many forms, such as network flow and congestion control, clock synchronization between Internet hosts, intra-and inter-stream synchronization in distributed multimedia streaming systems, and adaptation in multimedia presentation quality. However, the existing feedback mechanisms are implemented in custom ways. They suffer from arbitrary structure and wasted effort due to repeated redesign and re-implementation of logically similar components. To address the issue of building software feedback mechanisms systematically and efficiently for complex and dynamic computer systems, in this thesis, we present a software feedback toolkit and discuss its application in adaptive multimedia systems. We propose a methodology for hierarchical composition of feedback systems on top of simple building blocks. We also introduce the concepts of guard-based meta-adaptation, guarded feedback components, and dynamic component replugging for composing feedback mechanisms that adapt across a wide range of system dynamics based on simple feedback policies with limited domains. We implement the toolkit in C++, with a library of building blocks and a set of tools for simulation and instrumentation. This software feedback toolkit facilitates the development of highly modular, adaptive and extensible feedback systems, and helps the reuse of existing feedback components. Then we demonstrate the application of the software feedback toolkit for building adaptive real-time packet rate control mechanisms, network flow and congestion control mechanisms for multimedia streaming, and an adaptive real-time distributed video player.





To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.