B. Modification to Reduce Reordering
The transport protocol algorithm to push out data as long as the next hop accepts, is geared towards increasing utilization of link capacities in terms of raw throughput. However, if the link bandwidths and delays are not comparable, this could lead
to a large number of out-of-order chunks at the receiver, as demonstrated later in Sec. IV.
In order to limit reordering, we propose the following modification to our baseline algorithm.
The striping router monitors the number of chunks requested by each interface for a flow to estimate the data rate ratios of the two paths, and sends chunks from the back of the queue across the slower interface.
The ratio of chunks sent on the two paths is set in a way so as to minimize reordering requirements at the client. Fig. 3 shows an example where the striping router
estimates path 1 to be three times as fast as path 2, and sends chunks from the back of the queue through the slower path.
Notice that instead of sending the first chunk in line, it sends
every 3rd chunk from the front of the queue across path 2, as it estimates path 2 to be three times as slow as path 1.
In contrast to similar algorithms that work on prior knowledge of link qualities [11], in our algorithm the in-network routers transmit data hop-by-hop and as such have no prior estimate of the links.
Our scheme starts striping with equal weightage, and switches to out-of-order once the observed outgoing rates of the interfaces start to differ.