On Constructive Network Coding for Multiple Unicasts

We consider the problem of network coding across multiple unicasts. We develop, for wired and wireless networks, off-line and online back pressure algorithms for finding approximately throughput-optimal network codes within the class of network codes restricted to XOR coding between pairs of flows. Our online algorithm incorporates real-time control signaling with delays, and random exploration approaches for reducing computation. I. I NTRODUCTION In this paper we consider network coding across multiple unicasts, using the class of pairwise XOR codes introduced in [12], [13] for wired networks. While this class of codes is not optimal in all cases 1, it covers a substantial number of common known cases including “reverse carpooling” and two-flow “star coding” for wireless networks [6]. In this class of codes, network coding is limited to XOR coding between pairs of uncoded packets. Two uncoded packets of different sessions can be coded together to form a joint poisonpacket in order to share capacity on one or more hops. The joint poison packet is subsequently replicated to form two identicalindividual poisonpackets whose routes branch (diverge). These are met by corresponding remedypackets and decoded to form the original uncoded packets. Decoded packets can be subsequently re-encoded. We consider the problem of constructing throughputoptimal network codes within this class on wired and wireless networks. In an off-line setting we develop, for a given network and communication demands, a combinatorial approximation algorithm that finds a solution for the proble m with rates (rc) if there exists a solution for the problem with slightly higher rates((1 + 2ǫ)rc) for any ǫ > 0. In a dynamic online setting, we incorporate real-time control signaling with delays, and approaches for reducing computation through random exploration of the optimization spac e. Our approach is inspired by back pressure techniques originally introduced for the multiple unicasts problem withou t coding [1], [14], which maintain a queue for each session’s packets at each node, and route based on queue gradients that form by the addition of packets to sources and their removal from sinks. Extension of this approach to incorporate codin g is not straightforward due to some significant complicating features. Firstly, since the path taken by a packet affects its future coding possibilities, uncoded packets of the sam e session that have arrived at the same node via different path s This work was supported by the Caltech Lee Center for Network ing and AFOSR Grant 5710001972. T. Ho is with the California Institute of Technology. Y. Chang is with the University of Southern California. K. J. Han is with the Air Force Research Laboratory. 1Linear coding is not sufficient in general for multiple unicas ts [4], [5]. may have to be treated as separate commodities (where a commodity is a class of packets that are treated interchange ably from the standpoint of scheduling, routing and coding decisions, without affecting the throughput of each sessio n). 2 Secondly, a poison packet is removed by its corresponding remedy packet when they meet at any node in the network, unlike the no coding case where all packets of a session are removed independently at a fixed location. Consequently , the choice of how different commodities are defined has important bearing on the optimality and complexity of the algorithm. A. Other related work For brevity we do not list many other works on network coding and on back pressure techniques in networking, but mention here a few that are most closely related to this work. Back pressure has previously been applied to multicas t network coding [8]. Opportunistic XOR coding is proposed in [9]. A more general approach for multiple unicast network coding based on state space realizations is given in [13]. Constructive XOR coding across pairs of unicasts is considered in [13], [15] using a linear optimization approach. Independent work by [7] also considers back pressure for the same problem; while their algorithm superficially resemble s ours, it differs in a number of significant aspects. For instance, [7] defines commodities solely by their destinati on and multicast group (poison flows are multicast), i.e. at eac h nodei, packets intended for a particular destination node d within a multicast groupD are placed in a queue Q i . We define commodities quite differently, as described in the following sections. In [7] a coding node remotely chooses the remedy origination locations as well as the decoding locations based on the queue lengths at these locations; in our algorithms the decoding locations are not predetermine d by the coding node but are chosen locally. II. PROBLEM STATEMENT AND DEFINITIONS K unicast sessions are transmitted over a network represented as a directed graph G = (N ,L) of N = |N | nodes andM = |L| links. We refer to a unit of flow as a packet. The off-line version of the problem specifies the demanded communication raterc for each sessionc = 1, . ,K, and a set of link rates (in the wireline case) or link rate constrai nts (in the wireless case). A solution specifies different types of packets and the average rates at which they are transmitted, coded, decoded, etc., at different nodes and links. 2A poison packet must nonetheless be labeled with the identifie rs of its constituent packets, since remedy and poison packets must be c orr ctly matched for actual decoding purposes. In the online version of the problem, the instantaneous source arrival rates and link capacities/constraints may v ar ergodically. For simplicity of exposition we assume that th e channel and arrival processes are independent and identica lly distributed across time slots; a straightforward generali zation to ergodic processes is possible using a similar approach as that in [11]. Here we give a dynamic policy that depends on the state of the network. In both cases, we show optimality of our algorithms by comparison with an assumed, but unknown, pairwise XORcoding solution. A solution is made up of elementary flows such that all packets in an elementary flow undergo the same routing and coding operations. Each elementary flow has a set of links comprising a singleprimary path from sc to dc and a remedy path associated with each node at which decoding occurs. III. O FF-LINE PROBLEM A. Commodities We define a number of commodities, each with its own conceptual “queue”, at each node i: • U cv i : uncoded session c packets also stored at node v • P {c,c}j i : joint poison packets from sessions c, c ′ coded at nodej meant for both sinks • P cc j i : individual poison packets from sessions c, c ′ coded at nodej meant for sinkdc • R j i : remedy for session c packets that has been coded with sessionc packets at nodej B. Modified problem Off-line, we can reduce complexity by considering a modified problem which reverses the direction of the poison flows while not changing the link capacity usage. Thus, any solution of the modified problem can be translated to a solution of the original problem and vice versa. In the modified problem, coding two uncoded packets p1, p2 together produces two remedy packets, each at some node previously traversed by p1, p2 respectively. Each remedy packet is transformed by a decodingoperation at some node into an uncoded packet and an individual poison packet. Two individual poison packets can be transformed by a branchingoperation into a joint poison packet, and all poison packets are removed at their original coding node, as shown in Figure 1 and described formally below. For each link (a, b) such thatCab > ∑ c rc, set Cab to ∑ c rc, and let C̄a be the larger of the total incoming capacity and total outgoing capacity of each node a ∈ N . At each source node sc we define two additional queues: a source queueU c and an overflow queuē U . We also define a number of virtual links: at each source node sc a virtual source link of capacityC̄sc from U c to U csc sc , and at each nodea a virtual coding link, a virtual decoding link and a virtual branching link, each of capacitȳ Ca/2. Each real and virtual link e is associated with a transmission set Pe of pairs (O,D) such that packets from each queue in the set O are transformed into an equivalent number of packets in each queue in the set D via e: S r c A U ( A , v 1 ) P ( B , A , v 3 ) U ( B , v 2 ) P ( A , B , v 3 ) R ( A , B , v 3 ) R ( B , A , v 3 ) S r c B R c v B R c v A P ( { A , B } , v 3 ) v 1 v 2 v 3 Fig. 1. Illustration of commodities in off-line case. The dire ction of the poison flows (labeledP ) is the reverse of their physical (causal) direction from the canonical butterfly example. • if e is the virtual source link for session c, Pe = (U , U csc sc ) • if e is a real link (a, b) ∈ L, Pe = {(U cv a , U cv b ), (U cv a , U ca b ), (P {c,c}j b , P {c,c}j a ), (P cc j b , P ccj a ), (R ccj a , R ccj b )} • if e is the virtual coding link at nodea, Pe = {( {U cv a , U cv a }, {R cca v′ , R cca v } ) : c 6= c; a 6= v, v } • if e is the virtual decoding link at nodea, Pe = {( R j a , {P ccj a , U cj a } )