Bandwidth Modelling for Network-Aware Applications
Bolliger, J. and Gross, T. and Hengartner, U.
Abstract
Network-aware applications attempt to adjust their resource demands in
response to changes in resource availability. E.g., if a server
maintains a connection to a client, the server may want to adjust the amount
of data sent to the client based on the effective bandwidth realized for the
connection. Information about current and future network performance is
therefore crucial for an adaptive application.
This paper discusses three aspects of the coupling of applications and
networks: (1) a network-aware application needs timely information about the
status of the network; (2) a simple bandwidth estimation
technique performs reasonably well for TCP-Reno connections without timeouts;
(3) enhancements proposed to TCP-Reno to reduce the number of timeouts (i.e.,
SACKs and its variants) increase the bandwidth but also improve the accuracy
of bandwidth estimators developed by other researchers.
The empirical observations reported in this paper are based on an
in-vivo experiment in the Internet. Over a 6-month period, we logged the
micro dynamics of random connections between a set of selected hosts. These
results are encouraging for the developer of a network-aware application
since they provide evidence that a simple widening of the interface
between applications and network (protocol) may provide the
information that allows an application to successfully adapt to changes in
resource availability.