Research

 

CSI ]   [ ETH ]


Lab Manager ]

LST Home ]     [ People ]     [ Research ]     [ Teaching ]
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]

A Framework for Network-Aware Applications

Juerg  Bolliger,  A Framework for Network-Aware Applications, Swiss Federal Institute of Technology, ETH Zuerich. (Diss. ETH No. 13636), April 2000. [DISS_ETH_13636.pdf  DISS_ETH_13636.ps  DISS_ETH_13636.ps.gz]
Today's best-effort Internet infrastructure is well-known for its heterogeneity (both in endsystem capabilities and connectivity) and the significant fluctuations in service quality that can be observed. These two properties are often problematic from the viewpoint of a networked application, because they often result in unpredictable application behavior. Network-aware applications provide an approach to mitigate these problems: they dynamically adapt their demands to match the varying supply of network resources, e.g., with the goal to achieve predictable response times. Such network-aware applications must often trade network resources for some measure of quality of the data delivered. This dissertation puts forth the claim that dynamic adaptation is an attractive and often necessary means to achieve the goal on predictable service quality. Unfortunately, network-aware applications are notoriously difficult to construct and evaluate. Two recurring issues need to be addressed when constructing such applications: how to find out about network resource availability and dynamic changes thereof, and how to adapt application behavior (to such dynamic changes), so that a goal on the response time and the quality of the data delivered can be met. Addressing these questions the dissertation makes three main contributions. First, the dissertation presents a reusable framework for network-aware applications. In contrast to other work, an integral view on the quality-response time tradeoff is adopted, which means that applications built on the framework try to be smart about how to reduce the quality of the data delivered, so that a user-specified time limit can be met, and so that the negative impact on the overall service quality is minimized. Applications are free to define their notion of quality. The dissertation shows that a framework-based approach to the construction of such network-aware applications allows for reuse of the core adaptation process and can therefore shield developers from many of the complexities in dealing with network dynamics. Reusability is achieved by factoring out three aspects of application-specific functionality: the data types handled by the application, the algorithms applicable to achieve quality reductions for a particular type, and the application's notion of quality. Second, a systematic approach to the evaluation of the complex dynamic behavior of network-aware applications is presented. There are three questions to ask of such adaptive applications. Does adaptation work, and if so, what are the key factors that effect the application's ability to adapt to the network environment? Does network-aware delivery provide a benefit to the user? At what costs can such benefits be obtained? The evaluation establishes that adaptation is robust with respect to many of the parameters that influence adaptation decisions. We find that network-aware content delivery can provide predictable response times over a wide range of bandwidths and CPU powers, can be smart about how to tradeoff quality for network resources, and incurs only small overheads. Third, the dissertation shows that the performance of network-aware applications depends on the accuracy and timeliness of information about network resource availability. Comparing different alternatives to the task of gathering information about network status, the dissertation demonstrates that the need for accurate and timely information about network resource availability can both effectively and efficiently be satisfied with transport-level monitoring. In addition, our evaluation indicates that the ability to predict bandwidth depends considerably on the transport protocol used. Our prototype monitoring system demonstrates that the implementation of such a monitoring scheme requires only minimal changes to existing protocol stacks and advocates a simple widening of the application programming interface.
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]