Pruning network coding traffic by network coding — A new max-flow algorithm

For a unicast/multicast session, network coding is generally implemented via random coding and broadcasting at intermediate nodes, an especially favorable solution in wireless networks. The corresponding broadcast traffic can be minimized by finding the max (s, t)-flow of the network and by sending packets only along the max flow. All existing algorithms for this task, e.g. the push-&-relabel algorithm, are based on the routing paradigm and do not take advantage of the network coded traffic, which undermines their practicality for network coding applications. This work provides the first network-coding-based max (s, t)-flow algorithm starting from broadcasting the coded packets and followed by continuously trimming the unnecessary traffic. The running time is O(|V|2), asymptotically no slower than that of the existing routing-based, distributed algorithms. Other important features include: (i) Limited exchange of control packets enables straightforward distributed implementation. (ii) The source-sink pair sustains uninterruptedly the optimal max-flow rate throughout iterations. (iii) All control packets are sent in the opposite direction of the data packets and can be readily piggybacked to the acknowledgment packets with minimal overhead. (iv) The control packet contains only easily computed coding coefficients and the algorithm imposes no additional requirement on the intermediate nodes nor on the format of each packet.