A. The Backpressure Mechanism
Referring to the example shown in Fig. 2, it is observed that dual-homed delivery involves actions by the in-network router at which the paths bifurcate towards the two different wireless interfaces.
In this example, when r3 decides to stripe and send chunks to both r4 and r5, it needs to know the actual end-toend data rate from r4 and r5 to the destination, i.e. GUIDY.
Our algorithm is designed assuming no accurate end-to-end path quality is available at
r3, and it works as follows: r3 starts pushing out chunks as it receives, to both r4
and r5, which in turn transfer them downstream. Every router monitors a per-flow count of the number of pending chunks, and exploits an ack-withholding mechanism.
If a router receives at a rate higher than the rate it could push chunks out, and has H
pending chunks for that flow, it refuses to accept chunks, until it can send one more chunk out downstream.
This essentially throttles the flow from the striping router to the end-client across each of the available paths to the rate of the bottleneck of that path, as shown in Fig. 2.
This considerably simplifies the striping algorithm, as r3 does not require any end-to-end path quality information and instead aims to best utilize the network resources, by pushing chunks out if any/all the next hops accept.