OverQoS tunes the maximum output rate, , depending on network
congestion in order to be both fair to cross traffic as well as
achieve stability in the presence of other competing OverQoS traffic.
One way of achieving this is to set
based on an
-TCP pipe
abstraction which provides a bandwidth which is
times the
throughput of a single TCP connection on the virtual link. We set
to be equal to the number of flows in the bundle.
We use MulTCP [29] to emulate the behavior of TCP
connections. MulTCP uses a TCP-like congestion control mechanism with
and
as the increment and decrement
parameters. While MulTCP may react quickly to congestion, it may not
provide smooth variations in the sending rate. To obtain smoother
variations, we may prefer to choose an alternate operating point with
a lesser value of
and
without altering the net steady
state throughput as determined by the TCP equation [27].
If we set
, the corresponding value of
can
be calculated using the TCP equation as equal to
. Across most of our evaluations, we use the standard
parameters of MulTCP. Alternatively, we can also use an equation-based
approach to emulate the behavior of
TFRC
connections [16].