Wangmei Guo, Xiaomeng Shi, Ning Cai, Senior Member, IEEE, and Muriel Médard, ... W. Guo and N. Cai are with The State Key Laboratory of ISN, Xidian Uni-.
3894
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
Localized Dimension Growth: A Convolutional Random Network Coding Approach to Managing Memory and Decoding Delay Wangmei Guo, Xiaomeng Shi, Ning Cai, Senior Member, IEEE, and Muriel M´edard, Fellow, IEEE
Abstract—We consider an Adaptive Random Convolutional Network Coding (ARCNC) algorithm to address the issue of field size in random network coding for multicast, and study its memory and decoding delay performances through both analysis and numerical simulations. ARCNC operates as a convolutional code, with the coefficients of local encoding kernels chosen randomly over a small finite field. The cardinality of local encoding kernels increases with time until the global encoding kernel matrices at the related sink nodes have full rank. ARCNC adapts to unknown network topologies without prior knowledge, by locally incrementing the dimensionality of the convolutional code. Because convolutional codes of different constraint lengths can coexist in different portions of the network, reductions in decoding delay and memory overheads can be achieved. We show that this method performs no worse than block linear network codes in terms of decodability, and can provide significant gains in terms of average decoding delay or memory in combination, shuttle and random geometric networks. Index Terms—Convolutional network codes, random linear network codes, adaptive random convolutional network code, combination networks, random graphs.
I. I NTRODUCTION
N
ETWORK coding is a techique which allows the nodes of a network to combine the received packets together for transmission instead of simply relaying [2]. It has been shown to offer advantages in throughput, power consumption, and security in wireline and wireless networks. Field size and adaptation to unknown topologies are two of the key issues in network coding, since field size affects the complexity of encoding and decoding processes, and the code construction is related to the knowledge of network topology. S. Li, Y. Yeung and N. Cai showed constructively that the max-flow bound is achievable by linear algebraic network codes (ANC) if the field size is sufficiently large for a given Manuscript received November 12, 2012; revised May 4 and June 30, 2013. The editor coordinating the review of this paper and approving it for publication was K. Abdel-Ghaffar. This work has been partially presented at ISIT 2011 [1]. W. Guo and N. Cai are with The State Key Laboratory of ISN, Xidian University, Xi’an, China (e-mail: {wangmeiguo, caining}@mail.xidian.edu.cn). This material is supported by the National Natural Science Foundation of China under Grant No.60832001 and No.61271174. X.Shi and M. M´edard are with the Research Laboratory of Electronics (RLE), Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA, USA (e-mail: {xshi, medard}@mit.edu). This work is supported by the Air Force Office of Scientific Research (AFOSR) under award No.016974-002S, the Claude E. Shannon Research Assitantship from RLE, and by the NSERC Postgraduate Scholarship (PGS) issued by the Natural Sciences and Engineering Research Council of Canada. Digital Object Identifier 10.1109/TCOMM.2013.071013.120857
deterministic multicast network [3]. Jaggi et al. showed that a field size larger than the number of users is sufficient for determining a unique linear network code over an acyclic network [4]. Subsequent work by Fragouli and Soljanin [5] gave a tighter bound for the case of two or more sources. Because of its simplicity, linear network coding is potentially useful for many practical applications. However, to construct a linear network code, one needs some initial knowledge of the network topology, often unknown in practice. To solve this problem, Ho et al. [6] proposed a distributed scalar random linear network code (SRLNC) construction that achieves the multicast capacity asymptotically in field size and network size. H. Balli, X. Yan and Z. Zhang discussed more precise estimations in [7]. When network topology is unknown, field size is generally overestimated to be ”sufficiently large” to accommodate sinks far away from the source. Because of its simplicity and its ability to adapt to unknown topologies, SRLNC is often preferred over deterministic network codes. However, for both deterministic and random network codes, field size needs to be estimated before code construction, and the same field size is used at all nodes within the network. While the construction in [6] allows cycles, leading to the creation of convolutional codes, it does not make use of the convolutional nature of the resulting codes to lighten bounds on field size. Both block network codes (BNC) [8], [9] and convolutional network codes (CNC) [10], [11] can mitigate field size requirements. BNC can operate on smaller finite fields, but block length may need to be pre-determined according to network size, and the same block length is used for all nodes within the network. In discussing cyclic networks, both [3] and [6] pointed out the equivalence between CNC and ANC in cyclic networks with delays. Because of coding introduced across the temporal domain, CNC in general does not have a field size constraint. In addition, the encoding kernels of CNC are polynomials, the degree of which is effectively equivalent to the block length of BNC. Combining the adaptive and distributive advantages of SRLNC and the field-size independence of CNC, we propose adaptive random convolutional network codes (ARCNC) as a localized code construction scheme for single-source multicast in this paper. As the name implies, ARCNC is an adaptive scheme. It iteratively increases local encoding kernel lengths, until all sink nodes obtain global encoding kernel matrices with full rank. Local encoding kernels thus obtained define a code that can be used subsequently for data transmission.
c 2013 IEEE 0090-6778/13$31.00
GUO et al.: LOCALIZED DIMENSION GROWTH: A CONVOLUTIONAL RANDOM NETWORK CODING APPROACH TO MANAGING MEMORY . . .
In general, sinks closer to the source benefit from a shorter code length instead of keeping the same with the worse case. ARCNC adapts to unknown network topologies without prior knowledge, and allows convolutional codes with different code lengths to coexist in different portions of the network, leading to a reduction in decoding delay and memory overheads associated with using a pre-determined field size or code length. Our work differs from [12] mainly in that we use feedbacks during code construction rather than using network topology that is provided a priori. In [12], Ho et al. proposed a variable length CNC and provided a mathematical proof to show that the overall error probability of the code can be bounded when each intermediate node chooses its code length from a range estimated from its depth. In this paper, we first describe the ARCNC algorithm and show that it converges in a finite amount of time with probability 1. We then provide several examples to illustrate decoding delay and memory gains ARCNC offersin detern comministic and random networks. Our first example is m bination networks, discussed in Section IV-A. Ngai and Yeung have previously pointed out that throughput gains of network coding can be unbounded over combination networks [13]. Our analysis shows that the average decoding delay is bounded by a constant when m is fixed and n increases. In other words, the decoding delay gain becomes infinite as the number of intermediate nodes increases. On the other hand, our numerical simulation shows that the decoding delay increases sublinearly when m = n/2 and n increases in value. We also consider a family of networks defined as sparsified combination networks to illustrate the effect of interdependencies among sinks and the depth of the network on memory use. For cyclic networks, we first consider the shuttle network example. We then extend the application of ARCNC from structured cyclic and acyclic networks to random geometric graphs, where we provide empirical illustration of the benefits of ARCNC. The remainder of this paper is organized as follows: the ARCNC algorithm is proposed in Section II; performance analysis is given in Section III. The coding delay and memory advantages of ARCNC are discussed in Section IV. Numerical results are provided in Section V. Section VI concludes the paper. II. A DAPTIVE R ANDOMIZED C ONVOLUTIONAL N ETWORK C ODES A. Basic Model and Definitions We model a communication network as a finite directed multigraph, denoted by G = (V, E), where V is the set of all nodes in the network and E is the set of edges. A directed multigraph is said to be cyclic if it contains at least one directed cycle, and acyclic otherwise. An edge represents a noiseless communication channel with unit capacity. We consider the single-source multicast case, as defined in [3]. The source node is denoted by s, and the set of d sink nodes is denoted by R = {r1 , . . . , rd } ⊂ V. For every node v ∈ V, the sets of incoming and outgoing channels to v are In(v) and Out(v); let In(s) be the empty set ∅. An ordered pair (e , e) of edges is called an adjacent pair when there exists a node v with e ∈ In(v) and e ∈ Out(v).
3895
The symbol alphabet is represented by a base field, Fq . Assume s generates a source message per unit time, consisting of a fixed number of m source symbols represented by a size m row vector xt = (x1,t , x2,t , · · · , xm,t ), xi,t ∈ Fq . Time t is indexed from 0, where the (t + 1)-th message generated at time t, consistent with our previous work [1], [10]. Source messages are collectively represented by a power series x(z) = t≥0 xt z t , where xt is the message generated at t and z denotes a unit-time delay. x(z) is therefore a row vector in the polynomials ring Fq [z]. data propagated over a channel e by ye (z) = Denote the t t≥0 ye,t z , where ye,t ∈ Fq is the data symbol sent on edge e at time t. For edges connected to the source, let ye (z) be a linear function of the source messages, i.e., for all et ∈ Out(s), ye (z) = x(z)fe (z), where fe (z) = t≥0 fe,t z is a size m column vector of polynomials from Fq [z]. For edges not connected directly to the source, let ye (z) be a linear function of data transmitted on incoming adjacent edges e , i.e., for all v = s, e ∈ Out(v), ke ,e (z)ye (z) . (1) ye (z) = e ∈In(v)
Both ke ,e (z)t and y e (z) are in Fq [z]. Define ke ,e (z) = t≥0 ke ,e,t z as the local encoding kernel (LEK) over the adjacent pair (e , e), ke ,e,t ∈ Fq . Thus, for all e ∈ E, ye (z) is a linear function of thesource messages, i.e., ye (z) = x(z)fe (z), where fe (z) = t≥0 fe,t z t is the size m column vector defined as the global encoding kernel (GEK) over channel e, and for all v = s, e ∈ Out(v), fe,t z t = ke ,e (z)fe (z) fe (z) = t
where
fe,t =
e ∈In(v)
e ∈In(v) t
ke ,e,i fe ,t−i
.
(2)
i=0
m Note that fe,t ∈ Fm q , and fe (z), fe (z) ∈ Fq [z]. Expanding (1) term by term gives an explicit expression for each data symbol ye,t transmitted on edge e at time t, in terms of source symbols and GEK coefficients: t t ke ,e,i ye ,t−i = xt−i fe,i . (3) ye,t = e ∈In(v)
i=0
i=0
Each intermediate node v = s is therefore required to store in its memory received data symbols ye ,t−i for values of i at which ke ,e,i is non-zero. The design of a CNC is the process of determining LEK coefficients ke ,e,t for all adjacent pairs (e , e), and fe,t for e ∈ Out(s), such that the original source messages can be decoded correctly at the given set R of sink nodes. With a random linear code, these coding kernel coefficients are chosen uniformly randomly from the finite field Fq . This paper studies an adaptive scheme where kernel coefficients are generated randomly at a time until decodability is achieved at all sinks. Collectively, we call the |In(v)|×|Out(v)| matrix Kv (z) = (ke ,e (z))e ∈In(v),e∈Out(v) = Kv,0 + Kv,1 z + . . . the LEK matrix at node v, and the m × |In(v)| matrix Fv (z) = (fe (z))e∈In(v) the GEK matrix at node v. Observe from (2) that, at sink r, Fr (z) is required to deconvolve the
3896
received data messages yei (z), ei ∈ In(r). Therefore, each intermediate node v computes fe (z) for outgoing edges from Fv (z) according to (2), and sends fe (z) along edge e, together with data ye (z). The transmission of fe (z) can be achieved by arranging its coefficients in a vector form and attaching them to the data. In this paper, we ignore the effect of this overhead transmission of coding coefficients on throughput or delay [14]: we show in Section III-B that the number of terms in fe (z) is finite, thus the overhead can be amortized over a long period of data transmissions. Moreover, Fv (z) can be written as Fv (z) = Fv,0 + Fv,1 z + m×In(v) is the GEK matrix at · · · + Fv,t z t , where Fv,t ∈ Fq time t. Fv (z) can thus be viewed as a polynomial, with Fv,t as matrix coefficients. Let Lv be the degree of Fv (z). Lv + 1 is a direct measure of the amount of memory required to store Fv (z). We shall define in Section III-C the metric used to the measure memory overhead of ARCNC. B. Algorithm for Acyclic Networks 1) Code Generation and Data Encoding: initially, all LEKs and GEKs are set to 0. At time t, the (t + 1)-th coefficient ke ,e,t of the LEK ke ,e (z) is chosen uniformly randomly from Fq for each adjacent pair (e , e), independently from other kernels. Each node v stores the LEKs and forms the outgoing data symbol according to (3). Node v also stores the GEK matrix Fv (z) and computes the GEK fe (z), in the form of a vector of coding coefficients, according to (2). During this code construction process, fe (z) is attached to the data transmitted on e. Once code generation terminates and the CNC Fr (z) is known at each sink r, fe (z) no longer needs to be forwarded, and only data symbols are sent on each outgoing edge. In acyclic networks, a complete topological order exists among the nodes, starting from the source. Edges can be ranked such that coding can be performed sequentially, where a downstream node encodes after all its upstream nodes have generated their coding coefficients. Observe that we have assumed zero transmission delays at edges since the delay can be taken in the presentation of local encoding kernels. 2) Testing for Decodability and Data Decoding: at every time instant t, each sink r decides whether its GEK matrix Fr (z) has full rank. If so, it sends an ACK signal to its parent. An intermediate node v which has received ACKs from all its children at time t0 will send an ACK to its parent, and set all subsequent LEK coefficients ke ,e,t to 0 for t > t0 , e ∈ In(v), and e ∈ Out(v). Define constraint length as the number of terms in the local encoding kernel. Thus, the constraint lengths of the local convolutional codes increase until they are sufficient for downstream sinks to decode successfully. Such automatic adaptation eliminates the need for estimating the field size or the constraint length of encoding kernels a priori. It also allows nodes to operate with different constraint lengths as needed. If Fr (z) is not of full rank, r stores received messages and waits for more data to arrive. At time t, the algorithm is considered successful if all sinks can decode, i.e., if the determinant of Fr (z) is a non-zero polynomial. Recall from Section II-A, Fr (z) can be written as Fr (z) = Fr,0 + Fr,1 z +
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
· · ·+Fr,t z t , where Fr,t is the GEK matrix at time t. Computing the determinant of Fr (z) at every t is complex, so we test instead the following two conditions, introduced in [15] and [16] to determine decodability at a sink r. The first condition is easy to compute and necessary for determining if Fr (z) is of full rank, while the second is both necessary and sufficient, but slightly more complex. 1) rank(Fr,t ) = m, where Fr,t = (Fr,0 , Fr,1 , . . . , Fr,t ). 2) rank(Mr,t ) − rank(Mr,t−1 ) = m, where ⎞ ⎛ Fr,0 Fr,1 · · · Fr,i ⎜ .. ⎟ .. .. ⎜ . . . ⎟ (4) Mr,i = ⎜ 0 ⎟. ⎝ 0 · · · Fr,0 Fr,1 ⎠ 0 ··· 0 Fr,0 Once Fr (z) has full rank, r can decode. Let Tr be the first decoding time, or the earliest time at which the decodability conditions are satisfied. Denote by xT0 r and y0Tr the row vectors (x0 , · · · , xTr ) and (y0 , · · · , yTr ), respectively. Each source message xt is a size m row vector of source symbols xi,t ∈ Fq generated at s at time t; each data message yt is a size In(r) row vector of data symbols ye,t ∈ Fq received on the incoming edges of r at time t, e ∈ In(r). Hence, y0Tr = xT0 r MTr . To decode, we want tofind a size In(r)(Tr + 1) × m matrix D such that MTr D = I0m . We can then recover source message x0 by evaluating y0Tr D = xT0 r MTr D = x0 , and decode xt sequentially for t > 0. Note that if |In(r)| > m, we can simplify the decoding process by using only m independent received symbols from the |In(r)| incoming edges. Observe that, an intermediate node v stops lengthening its LEKs when all of its downstream sinks achieve decodability. Thus, for sink r with first decoding time Tr , the length of Fr (z) can increase even after Tr . Recall from Section II-A that Lr is the degree of Fr (z). When the decodability conditions are satisfied at all sinks, the values of Lr and Tr satisfy the condition Lr ≥ Tr for all r, where Lr is finite. Details of the decoding operations are omitted from this paper because of the page constraints, and we refer interested readers to the literature [17]. 3) Feedback: Acknowledgments are propagated from sinks through intermediate nodes to the source to indicate if code length should continue to be increased at coding nodes. ACKs are assumed to be instantaneous and require no dedicated network links, thus incurring no additional delay or throughput costs. Such assumptions may be reasonable in many systems since feedback is only required during the code construction process. Once code length adaptation finishes, ACKs are no longer needed. We show in Section III-B that ARCNC terminates in a finite amount of time. Therefore, the cost of feedback can be amortized over periods of data transmissions. This use of feedback allows us to construct the code without global topological knowledge. C. Algorithm Statement for Cyclic Networks In an acyclic network, LEK and GEK descriptions of a linear network code are equivalent: a code generated from LEKs has a unique solution when decoding is performed on the corresponding GEKs. By comparison, in a cyclic network, partial orderings of edges or nodes are not always consistent.
GUO et al.: LOCALIZED DIMENSION GROWTH: A CONVOLUTIONAL RANDOM NETWORK CODING APPROACH TO MANAGING MEMORY . . . t
Given a set of LEKs, there may exist a unique, none, or multiple sets of GEKs (§3.1, [18]). If the code is non-unique, the decoding process at a sink may fail. A sufficient condition for a CNC to be successful is that the constant coefficient matrix consisting of all LEKs is nilpotent [19], [15]; this condition is satisfied if we code over an acyclic topology at t = 0 [15]. In the extreme case, all LEKs can be set to 0 at t = 0. This setup translates to a unit transmission delay on each link, which as previous work on SRLNC has shown, guarantees the construction of a decodable code [6]. To minimize decoding delay, it is intuitive to make as few ke ,e,0 zero as possible. The goal is to guarantee that each cycle contains at least a single delay. Although seemingly similar, this process is not the same as the problem of finding the minimal feedback edge set [20]. A feedback edge set contains at least one edge from every cycle in the graph. When a feedback edge set is removed, the graph becomes acyclic. In our setup, since ke ,e,0 is specific to an adjacent edge pair, ke ,e,0 does not need to be 0 for all e where (e , e) ∈ V. A very simple but not necessarily delay-optimal heuristic method is to index all edges, and to assign 0 to ke ,e,0 if e e, i.e., when e has an index larger than e. ke ,e,0 is chosen randomly from Fq if e ≺ e. Nodes are traversed starting from the source s. The outgoing edges of s are therefore numbered from 1 to |Out(s)|. Note that the index set thus obtained is not necessarily unique, since outgoing edges can be numbered in any order. In a cyclic network, such edge ordering is only partial, with inconsistencies around each cycle. Such inconsistencies in the partial ordering of edges may render the generation of unique network codes along each cycle impossible. By assigning 0 to ke ,e,0 for which e e, such inconsistencies can be avoided at time 0, since the order of e and e becomes irrelevant in determining the code. After the initial step, ke ,e,t is not necessarily 0 for e e, t > 0, nonetheless the convolution operations at intermediate nodes ensure that the 0 inserted at t = 0 makes the GEKs unique at the sinks. This idea can be derived from the expression for fe,t given in (2). In each cycle, there is at least one ke ,e,0 that is equal to zero. The corresponding fe ,t therefore does not contribute to the construction of other fe,t ’s in the cycle. Although this heuristic for cyclic networks is not optimal, it is universal. After the initialization, the algorithm proceeds as in the acyclic case. III. A NALYSIS A. Code Construction Success Probability Discussions in [6], [3], [19] show that in a network with delays, ANC gives rise to random processes which can be written algebraically in terms of a delay variable z. Thus, a convolutional code can naturally evolve from message propagation and linear encoding. ANC in the delay-free case is equivalent to CNC with constraint length l = 1. Similarly, using a CNC with l > 1 on a delay-free network is equivalent to performing ANC on the same network, but with l − 1 selfloops attached to each encoding node. Each self-loop carries z, z 2 , . . . , z l−1 units of delay respectively. For example, in Fig. 1, we show a node with two incoming edges. Let the
ye′ ( z ) = ∑ ye′,i z i
u′
i =0 t
ye′′ ( z ) = ∑ ye′′,i z i
u′′ e′
i =0
⎛ ke′,e1 ,0 + ke′,e1 ,1 z ⎞ KCNC ( z ) = ⎜ ⎟ ⎜ ke′′,e ,0 + ke′′,e ,1z ⎟ 1 1 ⎝ ⎠
(a)
e′′
ye′,t
ye′′,t
3897
u′
u′′ e′
e′′
ye′′′,t
v e1
w
⎛ ke′,e1 ,00 ⎜ K ANC = ⎜ ke′′,e1 ,0 ⎜ ⎝ 1
ke′,e1 ,11 ⎞ ⎟ ke′′,e1 ,1 ⎟ ⎟ 0 ⎠
v e2
e′′′ z
w
(b)
Fig. 1. A convolutional code resulting from self-loops on a network with transmission delays. (a) CNC in a delay-free network. Data transmitted on incoming edges are ye (z) and ye (z) respectively. The LEKs are given by KCNC (z). (b) Equivalent ANC in a network with delays. The given self-loop carries a single delay z. Incoming data symbols are ye ,t and ye ,t at time t. The ANC coding coefficients are given by the matrix KANC .
data symbol transmitted on edge e˙ at time t be ye,t ˙ . A CNC with l = 2 is used in (a). Transmissions are delay-free. The LEK matrix KCNC (z) contains two polynomials, ke ,e1 (z) = ke ,e1 ,0 + ke ,e1 ,1 z and ke ,e1 (z) = ke ,e1 ,0 + ke ,e1 ,1 z. According to (1) and (3), the data symbol transmitted on e1 at time t is ye1 ,t = e∈{e ke,e ,e } ye,t ˙ ke,e ˙ 1 ,0 + ye,t−1 ˙ ˙ 1 ,1 . ˙ In (b), the equivalent ANC is shown. A single loop with a transmission delay z has been added, and the LEK matrix is constructed from the coding KANC = (ke,e ˙ )e∈In(v),e∈Out(v) ˙ coefficients from (a). Using a matrix notation, the output data symbols are (ye2 ,t ye ,t ) = (ye ,t ye ,t ye ,t−1 )KANC . Simplification of the expressions gives ye1 ,t = ye2 ,t . ARCNC therefore falls into the framework given by [6], in the sense that the convolutional process either arises naturally from cycles with delays, or can be considered as computed over self-loops appended to acyclic networks. Applying the analysis from [6], we have, Theorem 1: For multicast over a general network with d sinks, the ARCNC algorithm over Fq can achieve a success probability of at least (1 − d/q t+1 )η at time t, if q t+1 > d, and η is the number of links with random coefficients. Proof: At node v, ke ,e (z) at time t is a polynomial with maximal degree t, i.e., ke ,e (z) = ke ,e,0 + ke ,e,1 z + · · · + ke ,e,t z t , where ke ,e,i is randomly chosen over Fq . If we group the coefficients, the vector ke ,e = (ke ,e,0 , ke ,e,1 , · · · , ke ,e,t ) is of length t + 1, and corresponds to a random element over the extension field Fqt+1 . Using the result in [6], we conclude that the success probability of ARCNC at time t is at least (1 − d/q t+1 )η , as long as q t+1 > d. We could similarly consider the analysis done by Balli et al. [7], which states that the success probability is at least (1 − d/(q − 1))|J|+1 , |J| being the number of encoding nodes, to show that a tighter lower bound can be given on the success probability of ARCNC, when q t+1 > d. B. First decoding time As discussed in Section II-B2, we define the first decoding time Tr for sink r, 1 ≤ r ≤ d, as the time it takes r to achieve decodability for the first time. This variable was called the stopping time in [1]. For a sink r decodable at time Tr , the decoding delay is Tr + 1 since time is indexed from 0. Recall that when all sinks are decodable, Tr is no larger than Lr , the degree of Fr (z). Denote by TN the time it takes for all sinks
3898
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
to successfully decode, i.e., TN = max{T1 , . . . , Td }, then TN is also equal to max{L1 , . . . , Ld }. The following corollary holds: Corollary 2: For any given 0 < ε < 1, there exists a T0 > 0 such that for any t ≥ T0 , ARCNC solves the multicast problem > t) < ε. with probability at least 1 − ε, i.e., P (TN √ Proof: Let T0 = logq d − logq (1 − η 1 − ) − 1, then T0 +1 ≥ logq d since 0 < ε < 1, and (1−d/q T0 +1 )η > 1−ε. Applying Theorem 1 gives P (TN > t) ≤ P (TN > T0 ) < 1 − (1 − d/q t+1 )η < ε for any t ≥ T0 , ∞ Since P r{∪∞ i=t [TN ≤ t]} = 1−P r{∩i=t [TN > t]} > 1−ε, Corollary 2 shows that ARCNC converges and stops in a finite amount of time with probability 1 for a multicast connection. Another relevant measure of the performance of ARCNC is the average first decoding time, which is defined as 1 Tr . d r=1 d
Tavg =
(5)
Observe that E[Tavg ] ≤ E[TN ], where logq d−1
E[TN ] =
∞
P (TN ≥ t) +
t=1
≤ logq d − 1 +
∞
[1 − (1 −
t=logq d
= logq d − 1 +
P (TN ≥ t)
(6)
t=logq d
η
(−1)k−1
k=1
d η ) ] qt
η dk . log k q q dk − 1
(7)
(8)
When q is large, the summation term approximates 1 − (1 − d/q)η by the binomial expansion. Hence as q increases, the second term decreases to 0, while the first term logq d − 1 is 0. E[Tavg ] is therefore upper-bounded by a term converging to 0; it is also lower bounded by 0 because at least one round of random coding is required. Therefore, E[Tavg ] converges to 0 as q increases. In other words, if the field size is large enough, ARCNC reduces in effect to SRLNC. Intuitively, the average first decoding time of ARCNC depends on the network topology. In SRLNC, all nodes are required to code with the same field size, as determined by the worst case sink. This scenario corresponds to having all nodes stop at TN in ARCNC. ARCNC enables each node to decide locally a good constraint length, depending on side information from downstream nodes. Since E[Tavg ] ≤ E[TN ], some nodes may be able to decode before TN , potentially leading to reduced decoding delay and reduced memory requirements. C. Memory To measure the amount of memory required by ARCNC, recall from Section II-A that at each node v, the GEK matrix Fv (z), the LEK matrix Kv (z), and past data ye (z) on incoming edges e ∈ In(v) need to be stored. Kv (z) and ye (z) should always be saved because together they generate new data symbols to transmit. Fv (z) should be saved during the code construction process at intermediate nodes, and always at sinks. Let us consider individually the three contributors to memory use. Firstly, recall from Section II-A that when all sinks
are able to decode, at node v, Fv (z) is a polynomial of m×In(v) . The total amount degree Lv , with coefficients from Fq of memory needed for Fv (z) is therefore proportional to log2 q mIn(v)(Lv + 1). Secondly, from (2), we see that the length of ke ,e (z) should be less than or equal to that of fe (z). Thus, the length of Kv (z) should also be less than or equal to that of Fv (z). The coefficients of Kv (z) are elements of In(v)×Out(v) . The amount of memory needed for Kv (z) is Fq proportional to log2 q Out(v)In(v)(Lv + 1). Lastly, a direct comparison between (2) and (3) shows that memory needed for ye (z), e ∈ In(v) is the same for that needed for Fv (z). In practical uses of network coding, data can be transmitted in packets, where symbols are concatenated and operated upon in parallel. Packets can be very long in length. Nonetheless, the exact packet size is irrelevant for comparing memory use between different network codes, since all comparisons are naturally normalized to packet lengths. Observe that, m is the number of symbols in the source message, determined by the min-cut of the multicast connection, independent of the network code used. Similarly, In(v) and Out(v) are attributes inherent to the network topology. To compare the memory use of different network codes, we can omit these terms, and define the average memory use of ARCNC as: log2 q (Lv + 1) . (9) Wavg |V| v∈V
In SRLNC, Lv = 0, and (9) simplifies to log2 q , which is the amount of memory needed for a single finite field element. One point to keep in mind when measuring memory use is that even after a sink achieves decodability, its code length can still increase, as long as at least one of its ancestors has not stopped increasing code length. We say a non-source node v is related to a sink r if v is an ancestor of r, or if v shares an ancestor, other than the source, with r. Hence, Lr is dependent on all nodes related to r. D. Complexity Due to page length constraints, we provide the complexity analysis in [21] instead of in this article. There are two contributing factors to computation complexity. One is code construction, during which decodability conditions given in Section II-B2 are tested through Gaussian elimination at each time step; the computation cost here can be amortized over time after coding coefficients are determined. The other is the coding operations performed once the adaptation process finishes. The expected computation complexity here is proportional to the average code length of ARCNC. In practice, computation complexity is further dependent on how algebraic operations are implemented within the processor. In the case of a binary field, where q = 2, all algebraic operations are bit-wise, thus independent of processor word size. Packets do not need to be converted to symbols before or after computation either. In the case where field size is a power of 2, additions and subtractions are still bit-wise, but multiplications and divisions need to be implemented with look-up tables or explicitly with the aid of irreducible polynomials. When symbol size does not match processor
GUO et al.: LOCALIZED DIMENSION GROWTH: A CONVOLUTIONAL RANDOM NETWORK CODING APPROACH TO MANAGING MEMORY . . .
s
n
… … … …
m
3899
are independent. Hence, Fr (z) has full rank with probability 2
Q = (q tm − 1)(q tm − q t ) · · · (q tm − q t(m−1) )/q tm 1 1 1 = (1 − tm )(1 − t(m−1) ) · · · (1 − t ) q q q m 1 = 1 − tl . (10) q l=1
Fig. 2.
A combination network.
word size, packet-symbol conversion becomes necessary. We do not elaborate on the complexity of practical implementation of finite field network codes since it is highly processor dependent. Interested readers are referred to [22], [23], which discussed explicitly the hardware implementations of network coding. Reference [23] presents a baseline implementation benchmarked on a commercial mobile device (Nokia N95) powered by a 332 MHz ARM 11 central processing unit (CPU). To the best of our knowledge, this was the first attempt to implement random linear network coding on an embedded device. The network coding implementation was based on logarithmic and exponential table look-ups; the matrix inversion is performed with a progressive version of the Gauss-Jordan algorithm using field sizes between 28 and 216 . Also, a binary field is used to achieve a significantly reduced complexity at the cost of more packets to be transmitted.
IV. E XAMPLES
If Fr (z) has full rank at time t−1, then sink node r can decode before time t. Hence, the probability that sink r decodes after time t − 1 is m 1 1 − tl , t ≥ 0. (11) P (Tr ≥ t) = 1 − Q = 1 − q l=1
The expected first decoding time for sink node r is therefore upper and lower-bounded as follows. E[Tr ] =
∞
tP (Tr = t) =
t=1 ∞
∞
P (Tr ≥ t)
m 1 1− = 1 − ti q t=1 i=1 ∞ m 1 1− 1− t < q t=1 k ∞ m m 1 = (−1)k 1− t k q t=1 k=0 m m 1 = ETUB (m, q) . (−1)k−1 k qk − 1 t=1
(12)
k=1
In this section, we describe the application of ARCNC in three structured networks: the combination and sparsified combination networks, which are acyclic, and the shuttle network, which is cyclic. For the combination network, we bound the expected average first decoding time; for the sparsified combination network, we bound the expected average memory requirement. The shuttle network is given as a simple illustration of ARCNC in cyclic networks.
m 1 E[Tr ] = 1 − tl 1− q t=1 l=1 m ∞ 1 > 1 − 1 − tm q t=1 m m 1 ETLB (m, q) . (13) (−1)k−1 = km k q −1 ∞
k=1
A. Combination Network n combination network contains a single source s A m that multicasts m independent messages over Fq through n intermediate nodes to d sinks [18]; each sink is connected n to a distinct set of m intermediate nodes, and d = m . Fig. 2 illustrates its topology. Assuming unit capacity links, the min-cut to each sink is m. In combination networks, routing is insufficient and network coding is needed to achieve the multicast capacity m. Here coding is performed only at s, since each intermediate n node has only one incoming edge combination network, we showed but s. For a general m in [1] that the expected average first decoding time can be significantly improved by ARCNC when compared to BNC. At time t − 1, for a sink r, Fr (z) is a size m × m matrix of polynomials of degree t − 1. Fr (z) has full rank if its rows
Recall the average first decoding time defined by (5) from Section III-B. In a combination network, E[Tavg ] = E[Tr ]. Consequently, E[Tavg ] is upper-bounded by ETUB (m.q), defined by (12). ETUB (m, q) is independent of n. For example, ETUB (2, 2) = 53 . If m is fixed, but n increases, E[Tavg ] does not change. In addition, if q is large, ETUB (m, q) becomes 0, consistent with the general analysis in [1]. Next, we want to bound the variance of Tavg , i.e., ⎡ 2 ⎤ d 1 var[Tavg ] = E ⎣ Tr ⎦ − E 2 [Tr ] d r=1 ⎞ ⎛ d 2 E[Tr ] ⎝ E(Tr Tr ) ⎠ − E 2 [Tr ] . = + 2 d d r=1 r=r
(14)
3900
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
We upper-bound the terms above one by one. First, ∞ 2 ((t + 1)2 − t2 )P (Tr ≥ t) E[Tr ] = t=1
m 1 < (2t + 1) 1 − 1 − t (15) q t=1 m ∞ t k−1 m (−1) < ETUB + 2 k t=1 q tk k=1 k 2 m q k−1 m = ETUB + 2 (−1) k k q −1 ∞
•
k=1
(ET 2 )UB (m, q) (15) uses the upper bound given by (10). Next, let ρλ = E[Tr Tr ] if sinks r and r share λ parents, 0 ≤ λ < m. Thus, ρ0 = E 2 [Tr ]. When λ = 0, given sink r succeeds in decoding at time t1 , the probability that sink r has full rank before t2 is lower-bounded as m−λ m−λ 1 1 . P (Tr < t2 |Tr = t1 ) > 1 − t2 l > 1 − t2 q q l=1 (16) •
Consequently, if λ = 0, ρλ = E[Tr Tr ] ∞ ∞ = t1 t2 P (Tr = t1 )P (Tr = t2 |Tr = t1 ) =
t1 =1 t2 =t1 ∞
∞
t1 =1 ∞
t2 =1 ∞
t1 P (Tr = t1 )
Here m and n are comparable in scale, and the bounds depend on the exact values of (ET 2 )UB (m, q), ρUB and ETUB (m, q). We will illustrate through simulation in Section V-A that Tavg also converges to 0. in this case, Δ = 0, n < 2m, then n−m = 1 − d1 , and d m var[Tavg ]
2m, then , and m var[Tavg ]
log2 (1 + ) , 1− 1−ε (24) which can be very large if n is large and ε is small. Comparing the lower-bound on E[Wavg,SRLNC ] and the upper-bound on E[Wavg,ARCNC ], we see that the gain of ARCNC over SRLNC in terms of memory use is infinite as n increases because E[Wavg,ARCNC ] is bounded by a constant value. An intuitive generalization of this observation is to extend the regular sparsified combination network by attaching another arbitrary network off one of is sinks, as in Fig. 3. Regardless of the depth of this extension from the sink r, as n increases, memory overheads can be significantly reduced with ARCNC when compared with SRLNC, since most of the sinks and intermediate nodes are unrelated to r, thus not affected by the decodability of sinks within the extension. C. Shuttle Network In this section, we illustrate the use of ARCNC in cyclic networks by applying it to a shuttle network [10], shown in Fig. 4. Source s multicasts to sinks r1 and r2 . Edges ei , 1 ≤ i ≤ 10, are directed. The edge indices have been assigned according to Section II-C. There are three cycles in the network, formed by {e3 , e5 , e7 }, {e5 , e8 , e6 , e9 } and {e4 , e6 , e10 }, respectively. Let q = 2. At node v, the LEK matrix is Kv (z) = (ke ,e (z))e ∈In(v),e∈Out(v) = Kv,0 + Kv,1 z + . . .; each LEK is a polynomial, ke ,e (z) = ke ,e,0 + ke ,e,1 z + . . .. At s, fe1 (z) = 10 , and fe2 (z) = 01 , i.e., the data symbols sent out from s at time t are ye1 ,t = x1,t and ye2 ,t = x2,t , respectively. The source can also linearly combine source symbols before transmitting on outgoing edges. At t = 0, we assign 0 to LEK coefficients ke ,e,0 if e e; and choose ke ,e,0 uniformly randomly from F2 otherwise. One possible assignment is given in Fig. 4. Here we circle ke ,e,0 if e e. Since q = 2, we set all other LEK coefficients to 1. Observe that at t = 0, r1 receives x1,0 and r2 receives x2,0 ; neither is able to decode both source symbols. Hence no acknowledgment is sent in the network. At t = 1, we proceed as in the acyclic case, randomly choosing coefficients ke ,e,1 from F2 , i.e., all LEKs increase in
3902
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
x1,1
x2,1
9
s
, q=21
T
avg
8
1
x2,1
Wavg, q=2
⎛z⎞ K v2 ( z ) = ⎜ ⎟ ⎝1⎠
x +x v1 1,1 2,0 v2 x1,1 x2,1 1 1 + x2,0 20 2 1 + x22,0 0 1 ⎛1 + z ⎞ x + x x + x 1,0 2,1 + x2,0 1,1 2,0 r2 K r2 ( z ) = ⎛⎜ ⎞⎟ K r1 ( z ) = ⎜ ⎟ r1 ⎝z⎠ ⎝ 0 ⎠ x1,0 + x2,1 + x2,0 x1,0 + x1,1 v x1,0 + x2,1 + x2,0 v 4
⎛1 + z ⎞ K v4 ( z ) = ⎜ ⎟ ⎝ z ⎠
Fig. 5.
3
K v3 ( z ) = (1 1)
An example of LEK matrices at t = 1.
V. S IMULATIONS We have shown analytically that ARCNC converges in finite steps with probability 1, and that it can achieve gains in decoding time or memory in combination networks. In what follows, we want to verify these results through simulations, and to study numerically whether similar behaviors can be observed in random networks. We implemented the proposed encoder and decoder in MATLAB. In all instances, it was observed that decoding success was achieved in a finite amount of time. All results plotted in this section are averaged over 1000 runs. Results for the shuttle network are not shown here, but can be found in [21]. A. Combination Network Recall from Section IV-A that an upper bound ETUB (m, q) and a lower bound ETLB (m, q) for the average n expected first decoding time E[Tavg ] can be computed for a m combination network. Both are independent of n. In evaluating var[Tavg ], three cases were considered, n > 2m, n = 2m, and n < 2m. 1) n > 2m, fixed m, m = 2: Fig. 6 plots the average first decoding time Tavg , average memory use Wavg , as defined in Section III-C and corresponding bounds ETUB (m, q), ETLB (m, q) when q = 2. Observe the curves corresponding
Tavg, q=2
2
W
, q=2
T
, q=24
avg
6
avg
5
4
W
, q=2
avg
8
T
, q=2
avg
4
, q=28
W
avg
3
ET
1
, q=2
UB
1
ETLB, q=2
2
1
0
length by 1. One possible coding kernel coefficient assignment is given in Fig. 5. Data symbols generated according to (3) are also labeled on the edges. For example, on edge e5 = (v4 , v1 ) at t = 1, ye5 ,1 = ye3 ,0 ke3 ,e5 ,1 + ye3 ,1 ke3 ,e5 ,0 + ye9 ,0 ke9 ,e5 ,1 + ye9 ,1 ke9 ,e5 ,0 = x1,1 + x2,0 . Observe that there are no logical contradictions in any of the cycles. Also from Fig. 5, observe that both sinks can decode two source symbols at t = 1. Interested readers can verify using z(2) that the GEK matrices are Fr1 (z) = 01 z1 , Fr2 (z) = 10 1+z and check the decodability conditions given in Section II-B. Acknowledgments are sent back by both sinks to their parents, code lengths stop to increase, and ARCNC terminates. The first decoding time for both sinks is therefore Tr1 = Tr2 = 1. Observe from Fig. 4 that in the middle cycle this scheme introduces two zero coefficients, i.e., ke8 ,e6 ,0 = 0, and ke9 ,e5 ,0 = 0. A better code would be to allow one of these two coefficients to be non-zero. For example, if ke8 ,e6 ,0 = 1, Kv2 (z) = 11 at t = 0. In this case, the data symbol transmitted on e10 to r2 is ye10 ,0 = x1,0 + x2,0 , also enabling r2 to decode at time t = 0.
2
7
time/memory use
K v1 ( z ) = (1 1)
x1,1
4
6
8
10 n
12
14
16
Fig. 6. Average first decoding time and average memory use. m = 2, n increases, field size q also increases. Also plotted are the computed upper and lower bounds on Tavg for q = 2.
to q = 2. As expected, ETUB (m, q) and ETLB (m, q) are independent of n. As n increases, Tavg stays approximately constant at about 1.3, while Wavg increases sublinearly. When n = 16, Wavg is approximately 6.3. On the other hand, a lower bound on the success probability of SRLNC is (1 − d/(q − 1))|J|+1 , where |J| is the number of encoding nodes [7]. In a 16 2 combination network, |J| = 1 since only s needs to code. decoding probability of 0.99, For a target 2 /(q − 1)) ≥ 0.99, thus q > 2.4 × 104 , and we have (1 − 16 2 log2 q ≥ 15. Since Wavg is lower bounded by log2 q , using ARCNC here reduces memory use by half when compared with SRLNC. Fig. 6 also plots Tavg and Wavg when q increases from 21 to 28 . As the field size becomes larger, Tavg approaches 0. When q = 28 , the value of Tavg is close to 0.004. As discussed in Section IV-A, when q becomes sufficiently large, ARCNC terminates at t = 0, and generates the same code as SRLNC. Also observe that as n increases from 4 to 16, Wavg increases as well, but at different rates for different field sizes. Again, Wavg is lower bounded by log2 q . When q = 28 , Wavg follows an approximately linear trend, with an increment of less than 1 between n = 4 and n = 16. One explanation for this observation is that for m = 2, q = 28 is already sufficient for making ARCNC approximately the same as SRLNC. 2) n = 2m: Fig. 7 plots Tavg , Wavg , and corresponding bounds on Tavg when n = 2m, q = 2. Since m increases with n, ETUB and ETLB change with the value of n as well. Observe that Tavg increases from approximately 1.27 to approximately 1.45 as n increases from 4 to 12. In other words, even though more sinks are present, with each sink connected to more intermediate nodes, the majority of sinks are still able to achieve decodability within very few coding steps. However, since n = 2m, any given sink r is related to all but one other sink; even a single sink requiring additional coding steps would force almost all sinks to use more memory to store longer encoding kernels. Compared with Fig. 7, Wavg appears linear in n in this case. Fig. 7 also plots Tavg and Wavg when q increases. Tavg approaches 0 as q becomes larger. This makes sense because it reduces to SRLNC. Wavg appears linear in n for q ≤ 26 ,
GUO et al.: LOCALIZED DIMENSION GROWTH: A CONVOLUTIONAL RANDOM NETWORK CODING APPROACH TO MANAGING MEMORY . . .
16
5 4.5
14
Tavg, q=21 Wavg, q=21
12
4
2
Tavg, q=2
3.5
Wavg, q=22
10
time/memory use
time/memory use
3903
4
T
, q=2
avg
8
Wavg, q=24
6
Wavg, q=28
Tavg, q=28
ET
,q=21
3 2.5
T
W
4
,Cyclic
avg
1.5
1
ETLB,q=2
,Cyclic
avg
2
UB
Tavg,Acyclic W
1
,Acyclic
avg
2
0.5 4
5
6
7
8 n (m=n/2)
9
10
11
0
12
Fig. 7. Average first decoding time and average memory use. n = 2m, n increases, field size q also increases. Also plotted are the computed upper and lower bounds on Tavg for q = 2.
and piecewise linear for q = 28 . This is because Wavg is lower bounded by log2 q . When n becomes sufficiently large, this lower bound is surpassed, since q = 28 no longer suffices in making all nodes decode at time 0, thus making ARCNC a good approximation of SRLNC. B. Acyclic and Cyclic Random Geometric Networks To see the performance of ARCNC in random networks, we use random geometric graphs [25] in area [0, 1]2 with nodes chosen uniformly randomly as the network model, with added acyclic or cyclic constraints. Nodes within a given connection radius are connected. In our simulations, we set the connection radius to 0.4. The resulting graph is inherently bidirectional. For acyclic random networks, we number all nodes, with source as node 1, and sinks as nodes with the largest numbers. A node is allowed to transmit to only nodes with numbers larger than its own. An intermediate node on a path from the source to a sink can be a sink itself. To ensure the max-flow to each receiver is non-zero, we discard instances where at least one receiver is not connected to the source. Once an acyclic random geometric network is generated, we use the smallest min-cut over all sinks as the source symbol rate. Figs. 8 and 9 plot Tavg and Wavg in acyclic random geometric networks. Fig. 8 shows the case where there are 25 nodes within the network, with more counted as sinks, while Fig. 9 shows the case where the number of sinks is fixed to 3, but more nodes are added. In both cases, Tavg is less than 1, indicating that decodability is achieved in 2 steps with high probability. In Fig. 8, the dependence of Wavg on the number of sinks is not very strong, since there are few sinks, and each node is connected to only a small portion of all nodes. In Fig. 9, Wavg grows as the number of nodes increases, since on average, each node is connected to more neighbors, thus its memory use is more likely to be affected by other sinks. To see the performance of ARCNC in cyclic random networks, we apply the following modifications to random geometric graphs. We replace each bidirectional edge with 2 directed edges. Next, a directed edge from a lower numbered to a higher numbered node is removed from the graph with probability 0.2, and with probability 0.8 for the one from
2
3
4
5
6
7 8 number of sinks
9
10
11
12
Fig. 8. Average first decoding time and average memory use in acyclic and cyclic random geometric graphs with 25 nodes, as a function of the number of receivers. Field size is q = 22 . 6
5
4
time/memory use
0
3
T
,Cyclic
avg
W
,Cyclic
avg
2
Tavg,Acyclic Wavg,Acyclic
1
0 10
15
20
25 30 number of nodes
35
40
45
Fig. 9. Average first decoding time and average memory use in a cyclic random geometric graph with 3 receivers, as a function of the total number of nodes in the network. Field size is q = 22 .
higher to lower. Such edge removals ensure that not all neighboring node pairs form cycles, and cycles can exist with positive probabilities. The effect of random graph structure on the performance of ARCNC is a non-trivial problem and will not be analyzed or studied empirically in a detailed fashion in this paper. Figs. 8 and 9 also plot Tavg and Wavg in cyclic random geometric networks. In both cases, Tavg is less than 1, indicating that decodability is achieved in 2 steps with high probability. Wavg stays approximately constant when more nodes become sinks. On the other hand, when the number of sinks is fixed to 3, and more nodes are added to the network, Wavg first increases, then decreases in value. This is because as more nodes are added, since the connection radius stays constant at 0.4, each node is connected to more neighbors. Sharing parents with more nodes first increase the memory use of a given node. However, as more nodes are added and more cycles form, edges are used more efficiently, thus bringing down both Tavg and Wavg . Note that when compared with the acyclic case, cyclic networks with the same number of nodes or same number of sinks require longer decoding time as well as more memory. This behavior agrees with intuition since with cycles, sinks are related to more nodes in general.
3904
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 61, NO. 9, SEPTEMBER 2013
VI. C ONCLUSION We propose an adaptive random convolutional network code (ARCNC), operating in a small field, locally and automatically adapting to the network topology by incrementally growing the constraint length of the convolution process. Through analysis and simulations, we show that ARCNC performs no worse than scalar random algebraic linear network codes in terms of decodability, while bringing significant gains in terms of decoding delay and memory use in some networks. There are three main advantages of ARCNC compared with scalar network codes and conventional convolutional network codes. First, it operates in a small finite field, and we have provided empirical evidence to show that this reduces the computation overheads of encoding and decoding operations. Second, it adapts to unknown network topologies, both acyclic and cyclic. Lastly, it allows codes of different constraint lengths to co-exist within a network, thus bringing practical gains in terms of smaller decoding delays and reduced memory use. The extreme of gains achievable through ARCNC is dependent on the number of sinks that share mutual ancestors. In practical large-scale networks, the number of edges connected to an intermediate node or a sink is always bounded. Thus ARCNC may be beneficial in many practical applications. One possible extension of this adaptive algorithm is to consider its use in other types of connections, such as multiple multicast, or multiple unicast. Another possible direction of future research is to understand the impact of memory use during coding on the rates of innovative data flow through paths along the network. ARCNC presents a feasible solution to the multicast problem, offering gains in terms of delay and memory, but it is not obvious whether a constraint can be added to memory, while jointly optimizing rates achievable at sinks.
[11] E. Erez and M. Feder, “Efficient network code design for cyclic networks,” IEEE Trans. Inf. Theory, vol. 56, no. 8, pp. 3862–3878, 2010. [12] T. Ho, S. Jaggi, S. Vyetrenko, and L. Xia, “Universal and robust distributed network codes,” in Proc. 2010 IEEE INFOCOM, pp. 766– 774. [13] C. Ngai and R. Yeung, “Network coding gain of combination networks,” in Proc. 2004 IEEE Info. Theory Workshop, pp. 283–287. [14] P. A. Chou, Y. Wu, and K. Jain, “Practical network coding,” in 2003 Allerton Conference on Communication, Control, and Computing. [15] N. Cai and W. Guo, “The conditions to determine convolutional network coding on matrix representation,” in Proc. 2009 NetCod, pp. 24–29. [16] J. Massey and M. Sain, “Inverses of linear sequential circuits,” IEEE Trans. Comput., vol. 100, no. 4, pp. 330–337, 2006. [17] W. Guo, N. Cai, and Q. Sun, “Time-variant decoding of convolutional network codes,” IEEE Commun. Lett., vol. 16, no. 10, pp. 1656–1659, 2012. [18] R. Yeung, S. Li, N. Cai, and Z. Zhang, “Network coding theory: single R in Commun. and Inf. Theory, vol. 2, sources,” Foundations and Trends no. 4, pp. 241–329, 2005. [19] R. Koetter and M. M´edard, “An algebraic approach to network coding,” IEEE/ACM Trans. Networking, vol. 11, no. 5, pp. 782–795, 2003. [20] G. Even, J. Naor, B. Schieber, and M. Sudan, “Approximating minimum feedback sets and multicauts in directed graph,” Algorithmica, vol. 20, pp. 151–174, 1998. [21] W. Guo, X. Shi, N. Cai, and M. M´edard, “Localized dimension growth: a convolutional random network coding approach to managing memory and decoding delay,” arxiv preprint: http://arxiv.org/abs/1303.4484, 2012. [22] B. Li and D. Niu, “Random network coding in peer-to-peer networks: from theory to practice,” Proc. IEEE, vol. 99, no. 3, pp. 513–523, 2011. [23] F. H. P. Fitzek, J. Heide, M. V. Pedersen, and M. Katz, “Implementation of network coding for social mobile clouds,” IEEE Signal Process. Mag., pp. 159–164, 2013. [24] M. Xiao, M. M´edard, and T. Aulin, “A binary coding approach for combination networks and general erasure networks,” in Proc. 2008 IEEE Int. Sym. on Info. Theory, pp. 786–790. [25] M. Newman, “Random graphs as models of networks,” Handbook of Graphs and Networks, pp. 35–68, 2003. Wangmei Guo received her B.S. degree in Information Secure from XiDian University, Xi’an, China, in 2006. She studied for M.S. degree in Telecommunication Engineering from Aug. 2006 to Jul. 2007 with advisor Prof. Yuhong Wu. She pursued her Ph.D. in advance after supervisor Prof. Ning Cai in State Key Laboratory of Integrated Services Network (ISN) since Aug. 2007. She had worked with Prof. Muriel Medard in MIT as a visiting student from Oct. 2010 to Oct. 2011. Her research interests include convolutional network coding, quantum codes, wireless
R EFERENCES [1] W. Guo, N. Cai, X. Shi, and M. Medard, “Localized dimension growth in random network coding: a convolutional approach,” in Proc. 2011 IEEE Int. Sym. on Info. Theory, pp. 1156–1160. [2] R. Ahlswede, N. Cai, S. Li, and R. Yeung, “Network information flow,” IEEE Trans. Inf. Theory, vol. 46, no. 4, pp. 1204–1216, 2000. [3] S. Li, R. R.Yeung, and N. Cai, “Linear network coding,” IEEE Trans. Inf. Theory, vol. 49, no. 2, pp. 371–381, 2003. [4] S. Jaggi, P. Sanders, P. Chou, M. Effros, S. Egner, K. Jain, and L. Tolhuizen, “Polynomial time algorithms for multicast network code construction,” IEEE Trans. Inf. Theory, vol. 51, no. 6, pp. 1973–1982, 2005. [5] C. Fragouli and E. Soljanin, “Information flow decomposition for network coding,” IEEE Trans. Inf. Theory, vol. 52, no. 3, pp. 829–848, 2006. [6] T. Ho, M. M´edard, R. Koetter, D. Karger, M. Effros, J. Shi, and B. Leong, “A random linear network coding approach to multicast,” IEEE Trans. Inf. Theory, vol. 52, no. 10, pp. 4413–4430, 2006. [7] H. Balli, X. Yan, and Z. Zhang, “On randomized linear network codes and their error correction capabilities,” IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3148–3160, 2009. [8] M. M´edard, M. Effros, D. Karger, and T. Ho, “On coding for nonmulticast networks,” in Proc. of the 41st Allerton Conference, vol. 41, no. 1, 2003, pp. 21–29. [9] S. Jaggi, P. Sanders, P. Chou, M. Effros, S. Egner, K. Jain, and L. Tolhuizen, “Polynomial time algorithms for multicast network code construction,” IEEE Trans. Inf. Theory, vol. 51, no. 6, pp. 1973–1982, 2005. [10] S. Li and R. Yeung, “On convolutional network coding,” in Proc. 2006 IEEE Int. Sym. on Info. Theory, pp. 1743–1747.
network etc. Xiaomeng Shi obtained B.Eng. degree in Electrical Engineering in June 2005 from the University of Victoria in the beautiful British Columbia, Canada. She studied her Ph.D. in the Network Coding and Reliable Communications Group within the Research Laboratory of Electronics (RLE), at the Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. Her research adviser is Professor Muriel Mdard. Her research interests include secure network coding, error control coding, signal processing algorithm design for communications, and signal processing applications to DNA sequencing.
GUO et al.: LOCALIZED DIMENSION GROWTH: A CONVOLUTIONAL RANDOM NETWORK CODING APPROACH TO MANAGING MEMORY . . .
Ning Cai received the B.S. degree in mathematics from the Normal College of Beijing, Beijing, China in 1982, the M.S. degree in mathematics from Academia Sinica, Beijing, China, in 1984, and the Dr. degree in mathematics from the University of Bielefeld, Bielefeld, Germany, in 1988. During 1984-1986, he worked in the Institute of Systems Sciences, Academia Sinica, Beijing, China. During 1988-1989, he was with the Department of Mathematics, Statistics and Computer Science, the University of Illinois, Chicago, USA. From 1989 to 1998, he was a Miss. Mitarbeiter in the Department of Mathematics, the University of Bielefeld, Germany and from 1998 to 1999, he was with the School of Computing, the National University of Singapore, Singapore. From 2000 to 2001, he was with the Department of Information Engineering, the Chinese University of Hong Kong, Hong Kong. From 2002 to 2004 he was with the Department of Mathematics, the University of Bielefeld, Germany. In 2005 he visited the Department of Information Engineering, the Chinese University of Hong Kong, Hong Kong. Since 2006, he is a professor in the State Key Lab. of ISN, the Xidian University, China. Prof. Cai is one of the initiators of network coding. He is a recipient of the 2005 IEEE Information Theory Society Paper Award. His research interests include information theory combinatorics and their applications
3905
Muriel M´edard (F’08) is a Professor in the Department of EECS at MIT. She was previously an Assistant Professor in the ECE Department at UIUC and Staff Member at MIT Lincoln Laboratory. She received B.S. degrees in EECS, in mathematics, and in humanities, as well as M.S. and Sc.D. degrees in EE, all from MIT. She has served as an Associate Editor for the Optical Communications and Networking Series of IEEE JSAC, IEEE/OSA JLT, IEEE T RANSACTIONS ON I NFORMATION T HEORY, and the OSA Journal of Optical Networking. She has served as a Guest Editor for IEEE/OSA JLT, IEEE T RANSACTIONS ON I NFORMATION T HEORY (twice), the IEEE JSAC (twice), and IEEE TIFS. She is a member of the Board of Governors of the IEEE Information Theory Society and serves as the junior Past President. She has served as TPC co-chair of ISIT, WiOpt, and CONEXT. She was awarded the 2009 IEEE Communication Society and Information Theory Society Joint Paper Award, the 2009 IEEE William R. Bennett Prize in the Field of Communications, and the 2002 IEEE Leon K. Kirchmayer Prize Paper Award; she was cowinner of the 2004 MIT Harold E. Edgerton Faculty Achievement Award. In 2007, she was named a Gilbreth Lecturer by the National Academy of Engineering. Her research interests are in the areas of network coding and reliable communications, particularly for optical and wireless networks.