Skip to Main Content
Recent research indicates that multi-hop wireless networks can suffer from extreme imbalances in the throughput achieved by simultaneous competing flows. We address this problem by designing a practical distributed algorithm to compute a time-slot based schedule that provides end-to-end max-min fairness. Our system uses randomized priorities based on local weights to arbitrate access between nodes that directly compete with each other (we call this weighted slot allocation or WSA). The local weights are in turn computed by a higher layer called end-to-end fairness using local weights (EFLoW). EFLoW implements an additive-increase multiplicative-decrease (AIMD) algorithm that can automatically adapt to changes in traffic demands and network conditions. In each iteration, EFLoW only uses state obtained from within a given node's contention region. We have implemented WSA and EFLoW in both a simulator and a real system by using the overlay MAC layer (OML). Unlike previous work on end-to-end fairness, our approach does not use a centralized coordinator and works for traffic patterns with any number of sources and sinks. Also, since we compute both the fair allocation and a schedule to achieve it, we do not make any assumptions about the efficiency of carrier-sense (CS) based MACs - this is very important in the light of recent work which shows that current CS-based MACs can be very unfair even when all nodes are limited to sending at their fair rate. Our results show that WSA and EFLoW can prevent starvation of flows and improve fairness without sacrificing efficiency for a wide variety of traffic patterns.