|
[ 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 ]
|
|