冗餘複播圖上之分散式網路編碼
全文
(2) 冗餘複播圖上之分散式網路編碼. Distributed Network Coding over Redundant Multicast Graphs. 研 究 生:李欣勳. Student:Hsin-Hsun Li. 指導教授:蘇育德 博士. Advisor:Dr. Yu T. Su. 國 立 交 通 大 學 電信工程學系碩士班 碩 士 論 文. A Thesis Submitted to the Institute of Communication Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in Partial Fulfillment of the Requirements for the Degree of Master of Science in Communication Engineering July 2004 Hsinchu, Taiwan, Republic of China. 中 華 民 國 九 十 三 年 七 月.
(3) 冗餘複播圖上之分散式網路編碼 研究生 : 李欣勳. 指導教授 : 蘇育德 博士. 國立交通大學電信工程研究所 中文摘要 對於多重傳播來說,其傳輸速率上限往往被 max-flow bound 給限制住。為 了改善傳統單一訊源多重傳播的傳輸速率,在每個網路節點增加一個網路編碼的新功 能。藉由網路編碼的功能,這個傳輸速率的上限就可以達得到。更進一步地,使用線 性網路編碼就足以讓單一訊源多重傳播速率能夠達到其上限速率,並且,網路碼往往 可以在一個有限的場找到。 在覆蓋式網路上,虛擬網路拓撲可以經由不同的使用目的建構出來,而且每個 虛擬網路節點可以具備更高階的處理能力。借重網路編碼和覆蓋式網路的優點,可以 建造出 2 階冗餘複播圖以提供單一訊源多重傳輸。在 2 階冗餘複播圖上,網路碼的建 構可以不需要網路拓撲的資訊。基於這個特別的多重傳播圖形,我們推導出在一個 2 的延伸場上最大能用量的編碼向量數目,並且提出產生編碼向量的演算法。相較於 Zhu 她們所提的方法,此演算法更加的容易,並且,用於多重傳輸的網路碼會需一更 少的處理時間。由於在現實世界中,資訊的儲存與傳送都是二位元形式,如果網路碼 是從質數場上建構出的,則將會損失一些資訊。我們所提出的方法,是建構在 GF(2m) 的場上,所以不會有資訊流失。在 2 階冗餘複播圖上,從 GF(2m)建構出的網路碼終 將增加端點到端點間的流量,是個合理的推測。. i.
(4) Distributed Network Coding over Redundant Multicast Graphs Student : Hsin-Hsun Li. Advisor : Yu T. Su. Institute of Communication Engineering National Chiao Tung University. Abstract. Multicast transmission over a network is upper bounded by the network capacity (rate) called the max-flow bound. In order to improve the capacity of a conventional single source multicast, a new function called network coding is introduced to network nodes. It has been shown that, by means of network coding, the capacity is always achievable. Moreover, linear network codes are sufficient to attain the capacity for all single source multicast transmissions and they cam always can be found over finite fields. In an overlay network, virtual network topology over an existing physical network is constructed to meet some special networking requirements. For the purpose of implementing network coding, all virtual network nodes must be capable of handling higher level operations. Taking the advantages of network coding and overlay networks, a two-redundant multicast graph is constructed so that network codes over the resulting overlay network can be designed without the knowledge of the network topology. Based on this special multicast graph, we derive the maximum available encoding vectors over an extension filed of GF(2) and propose an encoding vector generation algorithm. The algorithm is simpler and the resulting multicast network codec renders lower complexity. It is believed that network codes over GF(2m ) for redundant multicast graph can also enhance the end-to-end throughput. ii.
(5) 誌謝 本論文得以順利完成,首先要感謝指導老師蘇育德教授兩年來不管在專業上的指 導或者生活態度上的表現,都讓我精進、受益良多。並且感謝口試委員楊谷章教授、 王忠炫助理教授與翁芳標助理教授提供寶貴意見,以彌補論文的缺失不足。另外,要 感謝實驗室學長、同學和學弟妹,都曾經在學業上與生活上提供我不少意見與幫助, 特別是鄭延修學長與陳彥志學長,常常撥空指導我一些研究方法,加上兩位,所學又 廣又精,足以作為我人生路上的目標。 最後,要感謝的,就是一直關心我、鼓勵我的家人和朋友們,僅獻上此論文, 代表我最最最深的謝意!. iii.
(6) Contents Chinese Abstract. i. English Abstract. ii. Acknowledgements. iii. Contents. iii. List of Figures. vi. 1 Introduction. 1. 2 Network Information Flow. 3. 2.1. 2.2. Network Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 2.1.1. Flow and cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 2.1.2. Upper bound of an s − tn flow . . . . . . . . . . . . . . . . . . . .. 6. 2.1.3. Ford-Fulkerson labelling algorithm . . . . . . . . . . . . . . . . .. 8. Single-Source Multicast with Network Coding . . . . . . . . . . . . . . .. 10. 2.2.1. Upper bound of multicast rate with only routing and replication .. 10. 2.2.2. Network coding . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 2.2.3. Upper bound of multicast rate with network coding . . . . . . . .. 13. 2.2.4. Achievability of the max-flow bound for network coding . . . . . .. 16. 2.2.5. Sufficiency of linear network codes . . . . . . . . . . . . . . . . . .. 17. iv.
(7) 3 Construction of Linear Network Codes over Finite Fields. 20. 3.1. Point-to-Point Connection . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 3.2. Single Source Multicast Connections . . . . . . . . . . . . . . . . . . . .. 26. 3.3. General Network Coding Problem . . . . . . . . . . . . . . . . . . . . . .. 30. 4 Linear Network Coding in Overlay Networks 4.1. 4.2. 4.3. 32. Two-Redundant Multicast Graphs . . . . . . . . . . . . . . . . . . . . . .. 34. 4.1.1. Rudimentary graph construction. . . . . . . . . . . . . . . . . . .. 36. 4.1.2. Rudimentary tree construction . . . . . . . . . . . . . . . . . . . .. 39. 4.1.3. Two-redundant multicast graph construction . . . . . . . . . . . .. 40. Linear Code Design over Prime Fields . . . . . . . . . . . . . . . . . . . .. 45. 4.2.1. AssignCodes phase . . . . . . . . . . . . . . . . . . . . . . . . . .. 47. 4.2.2. DisseminateCodes phase . . . . . . . . . . . . . . . . . . . . . . .. 47. Linear Code Design over GF(2m ) . . . . . . . . . . . . . . . . . . . . . .. 50. 5 Conclusion. 52. Appendix. 54. A Upper Bound of Multicast Rate with Network Coding. 54. B Achievability of the Max-flow Bound with Network Coding. 57. Bibliography. 62. v.
(8) List of Figures 2.1. A maximal s − t1 flow R1 . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.2. A minimal s − t1 cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 2.3. A multicast with only routing and replication . . . . . . . . . . . . . . .. 11. 2.4. A multicast with network coding . . . . . . . . . . . . . . . . . . . . . .. 12. 4.1. Join procedure for a new node. . . . . . . . . . . . . . . . . . . . . . . .. 37. 4.2. An example of rudimentary graph. . . . . . . . . . . . . . . . . . . . . .. 39. 4.3. An example of core graph and rudimentary tree. . . . . . . . . . . . . . .. 39. 4.4. First path comparison and pf selection of receiver t4 . . . . . . . . . . . .. 41. 4.5. Second path comparison and ps selection of receiver t4 . . . . . . . . . . .. 44. 4.6. An example of two-redundant multicast graph. . . . . . . . . . . . . . . .. 44. vi.
(9) Chapter 1 Introduction Multicast technology is useful to a number of emerging network applications require the delivery of packets from one or more senders to a group a of receivers. These applications include bulk data transfer (for example, the transfer of a software upgrade from the software developer to users needing the upgrade), streaming continuous media (for example, the transfer of audio, video, and text of live lecture to a set of distributed lecture participants), shared data applications (for example, a whiteboard or teleconferencing application that is shared among many distributed participants), data feeds (for example, stock quotes), web cache updating, and interactive gaming (for example, distributed interactive virtual environments or multiplayer games such as Quake). The notion of a multicast is the sending of a packet from one sender to multiple receivers with a single send operation. This will save a lot of bandwidth in comparison to sending packet using unicast. Due to the highly increase of data size, a complete transfer of data in the Internet requires more time or more available bandwidth. From a point-to-point transfer standpoint, the transmission rate of each pair has an theoretic upper bound. From the multicast abstraction standpoint, the bandwidth of a channel can not be shared by different input data when it just allow one to pass. This will decrease the maximum achievable rate of multicast by using only routing and replication, and relatively requires more time to complete the data retrieving. In [5], Ahlswede et al. derive that theoret-. 1.
(10) ically the max-flow bound of multicast rate is always achievable if the network routers and switches have capable of not only routing and replication but also the other function called network coding. Further, Li et al.[6] shown the sufficiency of linear network coding and the linear network codes can be found in finite fields. The linearity of network coding simplify the network coding operation. Then, in [8] and [9], both show linear network code construction algorithms, one from the flow perspective and the other using an algebraic characterization. Both of them derive that the linear network codes can be found in a finite field GF(2m ), where the size of m is just correlated to the number of receivers. Taking the advantages of network coding and overlay network, Zhu et al. construct a two-redundant multicast graph. Base on this special graph, the linear network code can be constructed by using a distributed algorithm, which opposes to the centralized algorithms proposed in [8] and [9]. Since their codes are constructed over prime fields, this will make the coding operation in the computer requiring a mapping of table-looking from prime filed to a extension field of order 2. It will needs more processing time and effectively decrease the end-to-end throughput. Also, linear network code construction over a prime filed decreases the effective end-to-end throughput by a factor. 1 , m+1. where. m is the smallest number that the size of GF(2m ) larger than the prime filed. Base on the two-redundant mlulticast graph, we propose a simple algorithm that generates linear network code over GF(2m ), and conjecture that eventually the effective ene-to-end throughput will larger than Zhu’s proposal [11]. The rest of this thesis is organized as follows. In Chapter 2, we introduce the notion of max-flow bound for multicast and the achievability of the bound by using network coding. Then, introduce the sufficiency of linear network code derived by Li et al. [6]. In chapter 3, we introduce the construction algorithm for linear network code. In chapter 4, we introduce network coding over overlay networks and our proposal in the last section. In chapter 5, we make a conclusion.. 2.
(11) Chapter 2 Network Information Flow 2.1. Network Flows. A communication network is a collection of directed links connecting transmitters, receivers, switches, and routers. It can be represented by a directed graph G = (V, E) with a node set V and an edge set E ⊆ V × V . In most cases of practical concern, G is finite, i.e., |V | < ∞. Let node vi and node vj be two elements in V , then the edge (link or channel) from node vi to node vj can be denoted by a round bracket (vi , vj ) ∈ E. The edge (vi , vj ) is directed whose head and tail are denoted by vi = tail(e) and vj = head(e), respectively. Define In(v) as the set of edges that end at the node v ∈ V and Out(v) as the set of edges originating at v. Formally, we have In(v) = {e ∈ E : head(e) = v},. (2.1a). Out(v) = {e ∈ E : tail(e) = v}. (2.1b). and. For a network with one information source, the node at which information is generated is referred to as the source node or transmitter, denoted by s, and the information destination nodes are referred to as the sink nodes or receiver nodes, denoted by t1 , t2 , · · · , tN . Here, we denote T as the set of all the sink nodes.. 3.
(12) For a communication channel from node vi to node vj , let the nonnegative integer Cij be the rate constraint, i.e., the maximum number of bits which can be sent per unit time over the channel. The Cij is also referred to as the capacity of edge (vi , vj ). Then the set C = [Cij : (vi , vj ) ∈ E]. (2.2). represents the rate constraints of the network G.. 2.1.1. Flow and cut. Consider a network G in which tn ∈ T is a sink node and s be the only one source node. One can regard an edge in G as a water pipe and the network G as a network of water pipes. We shall assume that there is no leakage in the network, so that information flow is conserved at every node other than s and tn . Definition 1 An s − tn flow Rn in a directed network G is an integer-valued function n is the edge flow in (vi , vj )− together with a source Rn defined on each edge (vi , vj ) − Rij. node s and a sink node tn satisfying the following three conditions: n (a) 0 ≤ Rij ≤ Cij , ∀ (vi , vj ) ∈ E,. (2.3a). n (b) Rij = 0, if (vi , vj ) ∈ In(s) or (vi , vj ) ∈ Out(tn ), X X n n (c) For v 6= s or tn , Rij = Rij. (2.3b). (vi ,vj )∈In(v). (2.3c). (vi ,vj )∈Out(v). Condition (a) ensures that the edge flow is nonnegative and would not exceed the edge capacity. Condition (b) assures that the flow goes from node s to node tn , not in the reverse direction. Condition (c) is called the conservation condition. Intuitively, for any s − tn flow Rn in a network G, the total edge flows out of source node s should be equal to the total edge flows entering the sink node tn so that X. n Rij =. (vi ,vj )∈Out(s). X. (vi ,vj )∈In(tn ). For a proof see [1] or [2]. 4. n Rij. (2.4).
(13) Let |Rn | be the source generating rate associated with an s − tn flow Rn X. |Rn | =. n Rij .. (2.5). (vi ,vj )∈Out(s). It is sometimes referred to as the value of an s−tn flow Rn . We denote by maxf low(s, tn ) the maximal value of all possible s − tn flow’s. If an |Rn | equals to maxf low(s, tn ), then we call the corresponding Rn a maximal s − tn flow.. s. (2 , 2). ( 2, 1). c. b (1, 1) (3, 1). t1. (1, 1). t2. (2, 2). Figure 2.1: A maximal s − t1 flow R1. Fig. 2.1 illustrates a maximal s − t1 flow R1 , the first term and second term in a round bracket beside an edge represent edge capacity and edge flow, respectively, and the value of the s − t1 flow is |Rn | = 3. Definition 2 Let P ⊂ V and P be the complementary set of P with respect to V , i.e.,. V = P ∪ P . A cut (P, P ) is the set of edges (vi , vj ) with node vi ∈ P and vj ∈ P , i.e.,. (P, P ) = {(vi , vj ) ∈ E : vi ∈ P and vj ∈ P }. (2.6a). The capacity of a cut is defined by. X. C(P, P ) =. Cij. (2.6b). (vi ,vj )∈(P,P ). Definition 3 For Pn ⊂ V and Pn is the complementary set of Pn , then (Pn , Pn ) is called. an s − tn cut , if s ∈ Pn and tn ∈ Pn .. 5.
(14) In most cases, there are more than one s − tn cut, each has its own capacity. We denote by mincut(s, tn ) the minimal capacity of s − tn cut. If C(Pn , Pn ) equals to mincut(s, tn ),. then we call such (Pn , Pn ) a minimal s − tn cut.. 2. s. 2. c. b 1. 3. t1. 1. t2. 2. Figure 2.2: A minimal s − t1 cut. Fig. 2.2 illustrates a minimal s − t1 cut ({s, c}, {t1 , b, t2 }) = {(s, b), (c, t2 )}. The number beside an edge represents the edge capacity, and the capacity of the s − t1 cut is C({s, c}, {t1 , b, t2 }) = 3.. 2.1.2. Upper bound of an s − tn flow. Let us consider the question of how large |Rn | can be. Obviously, we can obtain the following two upper bound from (2.4) and (2.5) |Rn | =. X. n Rij ≤. (vi ,vj )∈Out(s). |Rn | =. X. X. Cij. (2.7a). Cij. (2.7b). (vi ,vj )∈Out(s) n Rij ≤. (vi ,vj )∈In(tn ). X. (vi ,vj )∈In(tn ). Eqs (2.7a) and (2.7b) give us a sense that the value of an s − tn flow cannot exceed the sum of the capacities of the edges originating at node s and the sum of the capacities of the edges that end at node tn . Intuitively, |Rn | is also bounded by the capacity of any s − tn cut. We state the third upper bound in the following proposition [1]. 6.
(15) Proposition 1 For any s − tn flow Rn and any s − tn cut (Pn , Pn ) in network G,. |Rn | = (. X. X. n Rij −. (vi ,vj )∈(Pn ,Pn ). n Rij ) ≤ C(Pn , Pn ). (2.8). (vi ,vj )∈(Pn ,Pn ). Max-Flow Min-Cut An s − tn flow Rn is a maximal s − tn flow or called a max-flow from node s to node tn if |Rn | is greater than or equal to the value of any other s − tn flow, and an s − tn cut (Pn , Pn ) is a minimal s − tn cut or called a min-cut between s and tn if. C(Pn , Pn ) is less than or equal to the capacity of any other s − tn cut. From (2.8), we. can derive the following corollary [1]. Corollary 1 For any s−tn flow Rn and any s−tn cut (Pn , Pn ) in a network G, |Rn | =. C(Pn , Pn ) if and only if: n = Cij , (i) For each edge (vi , vj ) ∈ (Pn , Pn ), Rij. (2.9a). n =0 (ii) For each edge (vi , vj ) ∈ (Pn , Pn ), Rij. (2.9b). Furthermore, when |Rn | = C(Pn , Pn ), the Rn is a max-flow from node s to node tn and. (Pn , Pn ) is a min-cut between s and tn .. A min-cut between node s and node tn can be thought of as a flow bottleneck between s and tn . Therefore, it’s intuitively clear that the value of a max-flow from node s to node tn cannot exceed the capacity of a min-cut between node s and node tn . The following theorem, known as the max-flow min-cut theorem, states that this bottleneck always can be achieved. Theorem 1 ( max-flow min-cut theorem [4]) Let G be a directed network with a source node s and sink nodes t1 , t2 , · · · , tN , and C be the rate constraints. Then for all tn ∈ {t1 , t2 , · · · , tN }, the value of max-flow from s to tn is equal to the capacity of min-cut between s and tn , i.e., maxf low(s, tn ) = mincut(s, tn ).. 7.
(16) 2.1.3. Ford-Fulkerson labelling algorithm. In order to achieve the capacity of the min-cut between node s and node tn for the value of s − tn flow. Ford and Fulkerson propose an algorithm [1] that will eventually result a max-flow from s to tn . Before starting the algorithm, some notations must be established. A chain in a directed graph is represented by (vc0 , ec01 , vc1 , ec02 , · · · , vcLc −1 , ec0Lc , vcLc ), which ec0k = (vck−1 , vck ) or ec0k = (vck , vck−1 ) for 1 ≤ k ≤ Lc . If ec0k = (vck−1 , vck ), then the edge is called a forward edge of the chain. Otherwise, ec0k = (vck , vck−1 ), the edge is called a reverse edge of the chain. When vc0 = s and vcLc = tn , we call such a chain an s−tn chain. For two nodes vi and vj connected by an edge (vi , vj ) ∈ E, node vj is the successor of node vi . On the contrary, node vi is the predecessor of node vj . The algorithm has two parts called Routine A and Routine B. The first is a labelling n < Cij on all process that searches for a flow augmenting s − tn chain for which Rij. forward edges of the chain and Rjn0 i0 > 0 on all reverse edges of the chain. If a flow augmenting s − tn chain is found, then Routine B changes the edge flows accordingly. Otherwise, no such chain exits, and the s − tn flow is a max-flow from node s to tn . The algorithm begins with any feasible s − tn flow Rn , i.e., any s − tn flow that satisfies the flow conditions (2.3a), (2.3b) and (2.3c). Initially, all nodes are in the unlabelled state and during the labelling process each node is in one of the following three states: (1) unlabelled, (2) labelled and unscanned and (3) labelled and scanned. We now provide a complete description of the Ford-Fulkerson Algorithm. Routine A (labelling process): • Initially, assign the source node s the label (−, 4(s) = ∞) and set s in labelled and unscanned state. • General step: – Select any node vi that is in labelled and unscanned state and let (v ± , 4(vi )) 8.
(17) be its label. n – To all vi ’s unlabelled successor nodes, vj , such that Rij < Cij , assign the label. (vi+ , 4(vj )), where n 4(vj ) = min{4(vi ), Cij − Rij }. (2.10a). n > 0, assign the To all vi ’s unlabelled predecessor nodes, vj , such that Rji. label (vi− , 4(vj )), where n 4(vj ) = min{4(vi ), Rji }. (2.10b). – Set vi in labelled and scanned state and vj in labelled and unscanned state. • Repeat the General step until one of the following two cases happened: – Case 1: Sink node tn is in labelled and unscanned state, go to Routine B. – Case 2: No more labels can be assigned, terminate! Routine B (flow change): • Let sink node tn has the label (vc+Lc −1 , 4(tn )). • According to the first term in the label of node tn , we can find the node vcLc −1 . Similarly, we can find the node vcLc −2 by the label of node vcLc −1 . Repeat this procedure until the source node s is found, and then we can find the corresponding flow augmenting s − tn chain (s = vc0 , ec01 , vc1 , ec02 , · · · , vcLc −1 , ec0Lc , vcLc = tn ). • Increase the flow on all the forward edges and decrease the flow on all the reverse edges of the s − tn chain by the amount of 4(tn ), respectively. • Then, discard all labels and return to Routine A. For any given s − tn flow Rn , a finite number of applications of the Ford-Fulkerson labelling algorithm yields a max-flow from node s to node tn . Moreover, if Pn is the set 9.
(18) of nodes labelled during the final application of the algorithm, then (Pn , Pn ) is a min-cut. between s and tn . A modified and improved version of the Ford-Fulkerson algorithm is the EdmondsKarp algorithm [3], which is an O(|V ||E|2 ) polynomial time algorithm.. 2.2. Single-Source Multicast with Network Coding. Consider a point-to-point communication network on which an information source is to be multicast, which means by using network the sending of information from one source node to a certain set of sink nodes with a single send operation. A multicast rate is called achievable if all sink nodes can successfully receive the information generated by source node at this rate. Contrary to one’s intuition, it is in general not optimal to simply route or replicate information for the multicast. Rather, by employing coding at the nodes, which is refer to as network coding, bandwidth can in general be saved. But, this needs a higher level processing of addition function design in switching systems. We focus on point-to-point communication networks satisfying the following: 1. the communication channels are free of error; 2. the information is received at the sink nodes with zero error; 4. the communication network contains no directed cycle, i.e., acyclic; 3. the network is delay-free.. 2.2.1. Upper bound of multicast rate with only routing and replication. Let r be the rate at which information multicast from source node s to all sink nodes t1 , t2 , · · · , tN . From the max-flow min-cut theorem, it is easily to see that the multicast rate r with only routing and replication cannot exceed the max-flow from source node s to any sink node tn ∈ T , r ≤ maxf low(s, tn ). 10. (2.11).
(19) Intuitively, the multicast rate is bounded by the minimum value of maxf low(s, t n ) for all tn ∈ T , r ≤ min maxf low(s, tn ). (2.12). n. s 1. c. 1. c. d. 1. s. b1. 1. b1. t. 1. 1. 1. b2. f. b1 b1. b1. 1. t. 1. d. e. e 1. b2. t. 2. f. b1. t. 1. (a). b2 2. (b). Figure 2.3: A multicast with only routing and replication. Given a network in Fig. 2.3(a), the number beside an edge represents the edge capacity. By the max-flow min-cut theorem, we can use the relation mincut(s, tn ) = maxf low(s, tn ). (2.13). to derive the values of max-flow from source node s to sink nodes t1 and t2 , respectively. A min-cut between node s and node t1 is ({s, c, d, e, f, t2 }, {t1 }) and mincut(s, t1 ) = 2. (2.14). Similarly, the capacity of min-cut between node s and node t2 is mincut(s, t2 ) = 2. (2.15). Then the max-flow bound is 2. Assume that the multicast rate is two bits per unit time, and let b1 and b2 be the two information bits. In Fig. 2.3(b), all nodes in network are only capable of routing and replication, the source node s tries to multicast two 11.
(20) bits of data, b1 and b2 , to both sink nodes. Node e allows only one of received bits on to its outgoing edge, suppose b1 be chosen. From the figure, we can see that sink node t2 can receive both b1 and b2 , and unfortunately t1 receives two duplicated b1 but b2 cannot recovered. Thus for this network, the max-flow bound can not be achieved by only routing and replicating bits. Rather, the achievable multicast rate with only routing and replication is 3/2.. 2.2.2. Network coding. Before talking about network coding, we first say something about why using network coding. In a network, routers or switches (i.e., nodes) traditionally have capable of routing and replication to their incoming data. As we can see in the above example, for multicast cases only these two functions sometimes the rate of max-flow bound is not achievable. Therefore, add the routers or switches a new function, called network coding, to improve the multicast rate and hopefully achieve the max-flow bound. b1. c. s. b2. b1 b2. d. e b1+b2. f. b1. t1. b1+b2. b1+b2 b 2. t2. Figure 2.4: A multicast with network coding. In Fig. 2.4, coding is allowed at nodes. The node e encodes two received data streams, b1 and b2 , for example, by using modulo 2 addition and transmits the resulting stream (b1 + b2 ) over its outgoing edge (e, f ). At node t1 , b1 and (b1 + b2 ) are received, 12.
(21) and b2 can be recovered by adding b1 and (b1 + b2 ), because b2 = b1 + (b1 + b2 ).. (2.16). Similarly, b2 and (b1 + b2 ) are received at node t2 , and b1 can be recovered by adding b2 and (b1 + b2 ). Therefore, the multicast rate achieves the max-flow bound by adding coding function at network nodes. The coding operation at nodes in a network is refer to as network coding. We describe a coding scheme for the network which is referred to as a network coding. Assume that there is no input edge at node s, i.e., (vi , s) ∈ / E for all vi ∈ V \{s}. We consider a block code of length m. Let X denote the information source with rate τ and assume that x, the outcome of X, is obtained by selecting an index from a set χ according to the uniform distribution. The elements in χ = {1, 2, · · · , d2 mτ e} are called messages. For (vi , vj ) ∈ E, node vi sends information to node vj which depends only on the information previously received by node vi .. 2.2.3. Upper bound of multicast rate with network coding. Naturally, we are interested in the maximum possible value of the multicast rate r in a given network and hopefully achieve the max-flow bound or higher by using network coding. Assume that each edge (vi , vj ) in G with capacity Cij is decomposed into Cij unit capacity edges. Given a network G, the upper bound of the multicast rate with network coding is derived by using an (m, (ηij : (vi , vj ) ∈ E), τ ) α − code on G, which is defined by the components listed as below. (1) A positive integer K (i.e., K transactions) (2) u1 : {1, 2, · · · , K} → V. (2.17a). u2 : {1, 2, · · · , K} → V. (2.17b). and. 13.
(22) such that (u1 (k), u2 (k)) ∈ E and it is a unit capacity edge between node u1 (k) and node u2 (k). (K transactions take place in chronological order) (3) Ak = {1, 2, · · · , |Ak |}, 1 ≤ k ≤ K, such that Y. |Ak | = ηij ,. (2.18a). k∈Tij. where Tij = {1 ≤ k ≤ K : (u1 (k), u2 (k)) = (vi , vj )}.. (2.18b). The set Ak represents all possible index that can be send onto (u1 (k), u2 (k)), the set Tij represents the indices of all the transactions for which information is sent form vi to vj , and ηij is the number of possible index tuples that can be sent from node vi to node vj . (4) If u1 (k) = s, then Yk : χ → A k ,. (2.19a). χ = {1, 2, · · · , d2mτ e}.. (2.19b). Qk = {1 ≤ k 0 ≤ k : u2 (k 0 ) = u1 (k)}. (2.19c). where. If u1 (k) 6= s, if. is nonempty, then Yk :. Y. Ak 0 → A k. (2.19d). k0. Otherwise, let Yk be an arbitrary constant taken from Ak . Here, Yk is the encoding function at node u1 (k) and in kth transaction, node u1 (k) encodes according to encoding function Yk and sends an index in Ak to node u2 (k). (5) gn :. Y. k0 ∈W. 14. Ak0 → χ, n. (2.20a).
(23) n = 1, 2, · · · , N, where Wn = {1 ≤ k ≤ K : u2 (k) = tn }. (2.20b). Such that for all n = 1, 2, · · · , N , gen (x) = x. for all x ∈ χ.. (2.20c). Here, gn is the decoding function at node tn , the set Wn represents the indices of all transactions for which information is sent to tn , and x is the multicast information transmitted from source s. The x in (2.20c) has different meaning, x in the left-hand side is the source input, and x in the right-hand side of is the decoder output. Definition 4 [4], [5] For a network G with rate constraints C, an multicast rate r ≥ 0 is asymptotically achievable if for any ε > 0, there exists for sufficiently large m an (m, (ηij : (vi , vj ) ∈ E), τ ) α − code on G, such that m−1 log2 ηij ≤ Cij + ε. (2.21a). for all (vi , vj ) ∈ E, where m−1 log2 ηij is the average bit rate of the code on channel (vi , vj ), and r−ε≤τ. (2.21b). The following theorem [4],[5] states that the multicast rate with network coding is also bounded by the max-flow bound. Theorem 2 [4] For a network G with rate constraints C if the multicast rate r is achievable, then r ≤ min maxf low(s, tn ) n. For a proof of the theorem please see Appendix A. 15. (2.22).
(24) 2.2.4. Achievability of the max-flow bound for network coding. After reviewing the above fundamental theorems one might ask whether the multicast rate at the max-flow bound with network coding is always achievable. The answer is affirmative. This follows from proving the existence of an (m, (ηij : (vi , vj ) ∈ E), r − ε) β − code on G. We need the following proposition. Proposition 2 [4] If G = (V, E) is a finite acyclic graph, then it is possible to order the nodes of the network G in a sequence such that if there is an edge from node v i to node vj , then node vi is before node vj . An (m, (ηij : (vi , vj ) ∈ E), r) β − code on network G is defined by the following components listed as below: (1) for all (s, vj ) ∈ E, an encoding function Ysj : χ → {1, 2, · · · , ηij },. (2.23a). χ = {1, 2, · · · , d2mr e};. (2.23b). where. (2) for all (vi , vj ) ∈ E such that vi 6= s, an encoding function Yij :. Y. {1, 2, · · · , ηi0 i } → {1, 2, · · · , ηij }. (2.24). vi0 :(vi0 ,vi )∈E. (if {vi0 : (vi0 , vi ) ∈ E} is empty, conventionally Yij is an arbitrary constant taken from {1, 2, · · · , ηi0 i }); The encoding function Yij is applied before Yi0 j 0 if the order of node vi is small than the order of node vj and before Yij 0 if the order of node vj is small than the order of node vj0 .. 16.
(25) (3) For all n = 1, 2, · · · , N , a decoding function gn :. Y. {1, 2, . . . , ηitn } → χ. (2.25a). vi :(vi ,tn )∈E. such that gen (x) = x. for all x ∈ χ.. (2.25b). The x in Eqs (2.25b) has different meaning, x in the left-hand side is the source input, and x in the right-hand side of is the decoder output. The following theorem states that for multicast rate less than or equal to the max-flow bound is always achievable. Theorem 3 [4], [5] For a network G with rate constraints C, if the multicast rate r ≤ min maxf low(s, tn ), n. (2.26). then r is achievable. A detailed proof is given in Appendix B.. 2.2.5. Sufficiency of linear network codes. The proof of the above theorem (Appendix B) indicates that a multicast rate r is always achievable if it does not exceed the max-flow bound. In other words, there exits an (m, (ηij : (vi , vj ) ∈ E), r) β − code on the network G and some encoding functions for a sufficiently large m. For a given acyclic network G with rate constraints C, each edge of capacity Cij can, without loss of generality, be decomposed into Cij unit capacity edges between node vi and node vj . Consider the multicast rate r = min maxf low(s, tn ) n. 17. (2.27).
(26) In order to explain the following description using generic linear-code multicast (generic LCM)–a coding scheme proposed by Li et al. [6]–one can remove some unit capacity edges such that maxf low(s, tn ) = min maxf low(s, tn ) n. (2.28). for all tn ∈ T . A generic LCM is an assignment of an r-dimensional vector space D(v) to every node v ∈ V and an r-dimensional column vector d(e), called encoding vector, to every unit. capacity edge e ∈ E over a base filed, which is in an infinite field or a large enough finite field, such that 1. dim(D(s)) = r; 2. d(e) ∈ D(v) for all e ∈ Out(v), where v ∈ V ;. 3. for all v 6= s, the corresponding vector space D(v) =< {d(e) : e ∈ In(v)} >, which. the notation < · > is for linear span; 4. for each e0 ∈ Out(v), the corresponding encoding vector d(e0 ) is a linear combina-. tion of incoming encoding vectors {d(e) : e ∈ In(v)}.. Suppose that the muticast information can be encoded into r information symbols and formed into an r-dimensional row vector, called a source vector, over the base field X (s) = (X1 (s), X2 (s), · · · , Xr (s)).. (2.29). The encoding function on each edge e ∈ E is defined as Y (e) = X (s) · d(e)T r X di (e)Xi =. (2.30). i=1. where d(e) = (d1 (e), d2 (e), · · · , dr (e))T. 18. (2.31).
(27) Condition 4 of the generic LCM and the fact that encoding functions are all linear imply that for any given node v ∈ V \ {s}, the encoding function of each e0 ∈ Out(v) can be expressed as the linear combination of the received data Y (e0 ) =. X. βe, e0 Y (e). (2.32). e∈In(v). where the coefficients {βe, e0 }, which are referred to as the network codes, are elements over the base field. Since the encoding operation is linear, the network codes are called linear network codes. Moreover, it is proved [6] that a generic LCM always exits for an acyclic network, provided that the base field is an infinite field or a large enough finite field, such that dim(D(tn )) = r. (2.33). for all tn ∈ T . This implies that the source vector X (s) can be recovered by all the sink. nodes and a multicast rate r equals to the max-flow bound is achievable. In conclusion, linear network coding is sufficient for a multicast to achieve a rate at the max-flow bound and network coding does reduce the operation complexity significantly.. 19.
(28) Chapter 3 Construction of Linear Network Codes over Finite Fields As mentioned in Chapter 2, it has been proved that given a directed, delay-free, acyclic and finite communication network G with rate constraints C, there exists a linear network code over an infinite field or large enough field if the multicast rate. r ≤ min maxf low(s, tn ) n. (3.1). Without loss of generality, we assume that the field over which the network code is constructed is GF(2m ), for some large m. Both [7] and [8] propose algorithms for constructing linear network code from a graph theory point of view. Representing a multicast with rate r by sending r GF(2m ) symbols per unit time to each sink node, they show that it is sufficient to perform coding over edges in r edge-disjoint paths from s to t n (if exists), for all tn ∈ T . Two linear coding schemes are suggested in [8]. The first algorithm requires a running time of order O(|E| · |T | · r · (r + |T |)) and, to guarantee the existence of a linear network code, it requires a field size that satisfies 2m > |T |. (3.2). The second algorithm has a faster running time O(|E|·|T |·r +|T |·O(r 2.367 )) but requires a larger lower bound for m 2m > 2 · |E| · |T | 20. (3.3).
(29) Another approach is recently proposed by Koetter and M´edard [9]. Their algebraic approach can easily be applied to solve problems related to coding over general multicast networks. For the convenience of ensuing discussion for multiple source multicasting, we need to generalize some old and introduce new notations. To begin with, let’s assume that a source node v generates a set of discrete random processes X (v) = {X1 (v), X2 (v), · · · , Xµ(v) (v)},. (3.4). where random processes Xl (v), ∀ l ∈ {1, 2, · · · , µ(v)} and ∀ v ∈ V , are independent of each other and have a constant and integral entropy rate, e.g., one bit per unit time, H(Xl1 (v)) = H(Xl2 (v)) = 1. (3.5). for l1 , l2 ∈ {1, 2, · · · , µ(v)}. The H(X) is the entropy rate of a random process X. If v is not a source node, then X (v) is a empty set. A connection c is defined as a triple (v, v 0 , X (v, v 0 )) ∈ V × V × PX (v) ,. (3.6). where PX (v) denotes the power set of X (v) and X (v, v 0 ) ⊆ X (v). It indicates to replicate, by means of the network G, a subset of the random processes in X (v) at some different node v 0 . For a given connection c = (v, v 0 , X (v, v 0 )), call v a source node and v 0 a sink node of the connection c and write v = source(c) and v 0 = sink(c). The rate r(c) of a connection c = (v, v 0 , X (v, v 0 )) is defined as r(c) = l: Xl. X. H(Xl (v)). (v)∈X (v,v 0 ). = |X (v, v 0 )|. (3.7). If v 0 is the sink node of connections, the collection of ν(v 0 ) random processes Z(v 0 ) = {Z1 (v 0 ), Z2 (v 0 ), · · · , Zν(v0 ) (v 0 )} 21. (3.8).
(30) denotes the decoding output at v 0 . A connection c = (v, v 0 , X (v, v 0 )) is established successfully if a copy of X (v, v 0 ) is a subset of Z(v 0 ). This is because node v 0 can be a sink node of different connections. Similarly, Z(v 0 ) is a empty set if v 0 is not a sink node of any connection. Assume that communication in the network is performed by transmission of vectors of bits and the length of the vectors are equal in all transmissions. Any binary vector of length m can be interpreted as an element in GF(2m ), the finite field with 2m elements. It is frequently considered the algebraic closure F of GF(2m ),. which is defined as the union of all possible algebraic extensions of GF(2m ). Also, assume that all links are synchronized with respect to the symbol timing. Let G = (V, E) be a delay-free acyclic communication network. Then G is a GF(2m )linear network, if for all links, the random process Y (e) on a link e = (v, v j ) satisfies Y (e) =. µ(v) X. X. αe, l Xl (v) +. l=1. βe0 , e Y (e0 ),. (3.9). e0 :head(e0 )=tail(e). where αe, l and βe0 , e are elements of GF(2m ) and µ(v) = 0 if v is not a source node. It is also sufficient for the output process Zl0 (v 0 ) at a sink node v 0 to be a linear combination of the random processes Y (e0 ) for all e0 ∈ In(v 0 ) Zl0 (v 0 ) =. X. εe0 , l0 Y (e0 ). (3.10). e0 ∈In(v 0 ). where the coefficients εe0 ,. l0. are elements of GF(2m ).. For a directed, acyclic and finite network G, the nodes can be ordered to a sequence such that if there is an edge from node vi to vj , then node vi is before node vj and i < j. Since the nodes are ordered, the edges also can be ordered in a way that ei0 is before ej 0 if head(ei0 ) before head(ej 0 ). Suppose that a network contains µ information sources generated from source nodes, then form the sources into a row vector X = (X1 , X2 , ..., Xµ ). = (X1 (v1 ), X2 (v1 ), · · · , X1 (v2 ), · · · , X1 (v|V | ), ..., Xµ(v|V | ) (v|V | )) 22. (3.11).
(31) which X is the vector of input random processes on all nodes in V . If a node vi ∈ V is. not a source node, set µ(vi ) to be zero and the length of X is. µ=. X. µ(vi ).. (3.12). vi ∈V. Define the entries of a µ × |E| matrix A as αej , l , Xi = Xl (tail(ej )) for some l; Ai,j = 0, otherwise.. (3.13). Similarly, suppose that a network contains ν information sinks which retrieved at sink nodes, then form the sinks into a row vector Z = (Z1 , Z2 , ..., Zν ). = (Z1 (v1 ), Z2 (v1 ), · · · , Z1 (v2 ), · · · , Z1 (v|V | ), · · · , Zν(v|V | ) (v|V | )). (3.14). which Z is the vector of output random processes on all nodes in V . If a node vj ∈ V. is not a sink node of any connection, set ν(vj ) to be zero and the length of Z is. ν=. X. ν(vj ).. (3.15). vj ∈V. Define the entries of a ν × |E| matrix B as εej , l0 , Zi = Zl0 (head(ej )) for some l0 ; Bi,j = 0, otherwise.. (3.16). ¨ E) ¨ with node set V ¨ The “directed labelled line graph” of G = (V, E) is defined as ß(V, ¨ = {(ei , ej ) ∈ E 2 : head(ei ) = tail(ej )}, which edge ¨e∈ E ¨ is labelled = E and edge set E with a corresponding symbol βei ,ej . Define the |E|×|E| adjacency matrix F of the graph ß with elements Fi,j given as Fi,j =. . βei ,ej , head(ei ) = tail(ej ); 0, otherwise.. (3.17). Since the network coding is linear, the relation between X and Z can be describe by a. transfer matrix M based on the matrices A, B, and F . That means Z = X M,. 23. (3.18).
(32) where M = A(I − F )−1 B T. (3.19). and I is the |E| × |E| identity matrix. Since the network G is acyclic, the graph ß is also acyclic, then F is a strict upper-triangular matrix and elements in the diagonal are all zero. Hence, F is a nilpotent matrix, and (I − F )−1 exists in the ring of polynomials, i.e., the elements in (I − F )−1 are belong to GF(2m )[· · · , βei ,ej , · · ·]. Further, it can be derived that elements in M are belong to the ring of polynomials GF(2m )[· · · , αei ,l , · · · , βei ,ej , · · · , εej ,l0 , · · ·]. (3.20). and for simplicity, give the linear network codes αei ,l , βei ,ej , and εej ,l0 another notations ξ = (ξ1 , ξ2 , · · ·). = (· · · , αei ,l , · · · , βei ,ej , · · · , εej ,l0 , · · ·). (3.21). The following Lemma is the foundation used to prove the existence of linear network codes of given connections. Lemma 1 [9] Let F[ξ1 , ξ2 , · · · , ξn ] be the ring of polynomial over an infinite field F in variables ξ1 , ξ2 , · · · , ξn . For any non-zero element f ∈ F[ξ1 , ξ2 , · · · , ξn ] there exists an infinite set of n-tuples (a1 , a2 , ..., an ) ∈ Fn such that f (a1 , a2 , ..., an ) 6= 0. TABLE I LINEAR NETWORK CODE SEARCH ALGORITHM Input: Given a polynomial f in indeterminants ξ1 , ξ2 , ..., ξn Set integers: i = 1, t = 1 Iteration: (1) Find the maximal degree δ of f in any variable ξj and let m be the smallest number such that 2m > δ (2) Find an element at in GF(2m ) such that f (ξ )|ξt =at 6= 0 and let f ← f (ξ )|ξt =at (3) If t = n then halt, else t ← t + 1 go to (2) Output: (a1 , a2 , ..., an ). 24. (3.22).
(33) Base on the existence of linear network codes, a simple algorithm, see Table I, is used to find a vector a over a suitable field GF(2m ) such that f (a) 6= 0.. For a given network G and a given set of connections `, it is formally to define a network coding problem as a pair (G, `). The problem is to give algebraic conditions under which a set of desired connections ` is feasible or equivalently find elements αei ,l , βei ,ej and εej ,l0 in a suitably chosen field GF(2m ), such that all desired connections can be established successfully in G. For such a set of elements αei ,l , βei ,ej and εej ,l0 that makes the desired connections feasible will be called a solution to the network coding problem (G, `). If a solution exists, the network coding problem will be called solvable.. 3.1. Point-to-Point Connection. First, consider a point-to-point connection cn = (s, tn , X (s)), which s is the source node and tn be the sink node on network G and X (s) = {X1 (s), X2 (s), · · · , Xr(cn ) (s)}. (3.23). X (s) = (X1 (s), X2 (s), · · · , Xr(cn ) (s)). (3.24). Let. denote the vector of input processes generated at source node s and Z (tn ) = (Z1 (tn ), Z2 (tn ), · · · , Zr(cn ) (tn )). (3.25). denote the vector of output processes at sink node tn . Given an r(cn ) × |E| matrix A, a |E| × |E| matrix (I − F )−1 and a |E| × r(cn ) matrix BnT . A corresponding r(cn ) × r(cn ) transfer matrix Mn can describe the relationship between X (s) and Z (tn ).. Z (tn ) = X (s)A(I − F )−1 BnT. = X (s)Mn. (3.26). where elements in Mn are polynomials over a ring GF(2m )[ξ ]. The connection can be. establish successfully if the inverse of matrix Mn exists. Let f (ξ ) be the determinant of. 25.
(34) Mn . If f (ξ ) is a nonzero element in a ring of polynomials GF(2m )[ξ ] over an infinite field. GF(2m ), by Lemma 1, there exists infinite number of a over an infinite filed GF(2m ),. such that f (a) 6= 0. Further, by algorithm in Table I, a set of network code in a suitable. filed GF(2m ) can be found. The following theorem ties the relationship between the network transfer function Mn (an algebraic quantity) and the Max-flow Min-cut theorem (an graph-theoretic tool):. Theorem 4 [9] Give a linear network. The following three statements are equivalent: 1. A point-to-point connection cn = (s, tn , X (s, tn )) is established successfully; 2. The max-flow bound is satisfied for a rate r(cn ). 3. The determinant of the r(cn ) × r(cn ) transfer matrix Mn is nonzero over the ring GF(2m )[ξ ]. It is further derived by Ho et al.[10] that the determinant of a transfer matrix between a connection cn can be expressed as f (ξ ) = det(A(I − F )−1 BnT ) (|E|+1)r(cn ) = (−1) det(. A 0 I − F BnT. . ). (3.27). It is intuitive that the maximal degree of f (ξ ) in any variable is 1. So a suitable filed. can be chosen to be GF(2).. 3.2. Single Source Multicast Connections. For the multicast case, it consists of the distribution of the information, X (s), generated at a single source node s to a set of sink nodes t1 , t2 , · · · , tN , such that all sink nodes receive all source bits. In other words, the set of desired connections is given by ` = {(s, t1 , X (s)), (s, t2 , X (s)), · · · , (s, tN , X (s))}. 26. (3.28).
(35) Then the rate of each connection cn = (s, tn , X (s)) is given by r(cn ) = |X (s)|, for all tn ∈ T . For simplicity, let r denotes the multicast rate, hence r = r(cn ) ∀ tn ∈ T . Similarly, let X (s) = (X1 (s), X2 (s), ..., Xr (s)). (3.29). denote the vector of input processes generated at source node s and Z = (Z (t1 ), Z (t2 ), · · · , Z (tN )). (3.30). where the 1 × r vector Z (tn ) denotes the output processes at sink node tn . Given an. r × |E| matrix A, an |E| × |E| matrix (I − F )−1 and an |E| × rN matrix B T . A corresponding r × rN transfer matrix M = A(I − F )−1 B T can describe the relationship between X (s) and Z .. Z = (Z (t1 ), Z (t2 ), · · · , Z (tN )). = X (s)A(I − F )−1 B T T ] = X (s)A(I − F )−1 [B1T , B2T , · · · , BN. = X (s)[M1 , M2 , · · · , MN ]. (3.31). where r × r submatrix A(I − F )−1 BnT describes the relationship for a connection cn . By the theorem[5] derived by Ahlswede et al., they guarantee the existence of a coding strategy that ensures the feasibility of the desired connections if the rate of each connection cn , ∀ n ∈ 1, 2, · · · , N , satisfies the max-flow bound. Let a delay-free acyclic network G and a set of desired connections ` be given. The following theorem states the necessary and sufficient condition of multicast connections to be established successfully by using an algebraic characterization. Theorem 5 [9] The network coding problem (G, `) is solvable if and only if the max-flow bound is satisfied for all connections in `. It means that for the multicast at rate r satisfying the max-flow bound, there exists a feasible set of network code over a infinite filed GF(2m ). Such that the determinant of 27.
(36) transfer matrix Mn are nonzero in the ring of GF(2m )[ξ ] for all tn ∈ T . Let. f (ξ ) =. N Y. det(A(I − F )−1 BnT ). n=1. = (−1). rN (|E|+1). N Y. det(. n=1. . A 0 I − F BnT. . ). (3.32). It is intuitive that the maximal degree of f (ξ ) in any variable is at most N . By using. algorithm in Table I, there always exists a set of network codes over GF(2m ), which m > log2 N. (3.33). Further, a feasible set of network codes in a certain finite field GF(2m ), where m ≤ dloge2 (N + 1)e,. (3.34). can also be found. The determination of the coefficients ai in the algorithm renders a network code that all the transfer matrices between the single source node and any sink node are invertible. Also, the algorithm provides a upper bound on the degree of the extension of GF(2) that needs to consider.. Linear Network Codes For Robust Networks After accomplishing the construction of network codes, it is annoying to re-construct the network codes if link fail happens. In order to avoid this situation, the network codes is better chosen to prevent the re-construction if some links fail. In the other words, this network codes still works even link is disconnected. In the following, we introduce such code design in detail. Edges in a network may fail. You may ask that under which failure pattern a successful network usage is still guaranteed. Here, assume that link failure is a link either working perfectly or is effectively deleted from the network. A link failure pattern can be identified with binary vectors h of length |E| such that each position in h. h = (h1 , h2 , · · · , h|E| )T. 28. (3.35).
(37) is associated with one edge in G. If a link fails, the corresponding position in h equals. one. Otherwise, the entry in h corresponding to the link equals zero. A network is. solvable under link failure pattern h, if it’s solvable once the links corresponding to h. have been deleted. Such network codes is important because 1. no new network codes has to be found and distributed in the network if a failure pattern h ∈ H occurs,. 2. the individual nodes in the network can be oblivious to the failure pattern. Suppose that ei is the failing link, the effect of a failing link can be achieved by setting parameters βe0 ,ei , βei ,e00 and αei , l to zero for all e0 , e00 and l. Define Bei be the set of parameters ξi that are identified with βe0 ,ei , βei ,e00 and αei , l to zero for all e0 , e00 and l Bei = {ξi : ξi is identifed with βe0 ,ei , βei ,e00 and αei , l to zero for all e0 , e00 and l}. (3.36) For any particular link failure pattern h, define B(h) as. [. B(h) =. B ei. (3.37). ei : hi =1. For a network G and M (ξ ) be the corresponding system matrix.. M (ξ ) = [M1 (ξ ), M2 (ξ ), · · · , MN (ξ )]. (3.38). The network Gh is obtained by deleting the failing links h and the corresponding Mh (ξ ). Mh (ξ ) = M (ξ )|ξj =0:. ξj ∈Bh. = (Mh,1 (ξ ), Mh,2 (ξ ), · · · , Mh,N (ξ )). (3.39). Let H be the set of failure patterns, such that (Gh , `) is solvable for any h ∈ H.. Given any h ∈ H. fh (ξ) =. N Y. det(Mh,n (ξ )). n=1. 29. (3.40).
(38) Since (Gh , `) is solvable, fh (ξ) is nonzero element over the polynomial ring F[ξ ]. It can. be further derive that fR (ξ) =. Y. fh (ξ). h∈H. =. N YY. det(Mh,n (ξ )). (3.41). h∈H n=1. fR (ξ) is still a nonzero element over F[ξ ]. By lemma 1, there exist a set of linear network. codes, such that fR (ξ) 6= 0 over the infinite field GF(2m ). Intuitively, the codes can be found by the above the algorithm over a certain finite field GF(2m ), where m ≤ dlog2 (|H| · N + 1)e. (3.42). The factor |H| in (3.42) will make the upper bound of the filed GF(2m ) bigger than the one without robustness concerning and complicate the the searching algorithm. And this is the price to organize the robust multicast.. 3.3. General Network Coding Problem. Given a network G and an arbitrary set of connections, `. The following theorem states a succinct condition under which a network problem (G, `) is solvable. Theorem 6 [9](GeneralizedM in − cutM ax − f lowcondition) Let an acyclic, delay-free linear network problem (G, `) be given. Since the relationship between X and Z can be. expressed as Z = XM. (3.43). Then each connection can also be expressed a linear relation. Let M = {Mi,j } be the corresponding transfer matrix relating the set of input nodes to the set of output nodes. The network problem is solvable if and only if there exists an assignment of numbers to ξ such that. 1. Mi,j = 0 for all pairs (vi , vj ) of nodes such that (vi , vj , X (vi , vj )) ∈ /` 30.
(39) 2. If {(vi1 , vj , X (vi1 , vj )), (vi2 , vj , X (vi2 , vj )), · · · , (viL , vj , X (viL , vj ))} ⊆ ` the submatrix [MiT1 ,j , MiT2 ,j , ..., MiTL ,j ] is a non singular ν(vj ) × ν(vj ) matrix. It means that for each sink vj , the corresponding vector Z (vj ) can be expressed as. Z (vj ) = X dj Mdj + X Ij MIj. (3.44). where X dj contains the desired information of vj , submatrix Mdj = [MiT1 ,j , MiT2 ,j , ..., MiTL ,j ]. is ν(vj ) × ν(vj ), X Ij is the interference with respect to vj and MIj is a interference. transform matrix that induce noise term into Z (vj ).. (Z (vj ) − X Ij MIj ) X dj = Md−1 j. (3.45). For each sink vj to recover desired information, it needs Mdj nonsingular and interference transform matrix MIj to be zero matrix. However, checking the two conditions is a tedious task as to find a solution ξ and. the theory of Gr¨obner bases provides a structured approach to this problem. For more detail, see [9].. 31.
(40) Chapter 4 Linear Network Coding in Overlay Networks Traditionally network architectures distinguish between two types of entities: end systems (hosts) and the network (switches and routers). In the internet architecture, the IP layer implements a minimal functionality − a best-effort unicast datagram service, and the end system implements all other important functionality such as error, congestion, and flow control. For a network standpoint, the multicast abstraction can be implemented in several ways: 1. One-to-all unicast (or called naive unicast): This approach implements a single source multicast abstraction using an underlying unicast network layer, required no explicit multicast support from the IP layer. The source uses a separate unicast transport connection to each of the receivers. The approach here is simple and needs no support from the routers. But the drawback is that the links near the source node are likely to experience high link stress, which is referred to as the number of identical copies of a packet carried by a physical link and eventually decreases the multicast rate. 2. IP multicast: The approach is based on the explicit multicast support at the IP layer. That is a new multicast protocols at IP layer such as IGMP, DVMRP, PIM and MOSPF, and new routers that can handle multicast abstraction. The 32.
(41) approach is efficient and higher multicast rate than any other methods, but requires a significant amount of infrastructures to set up and maintain. There are several drawbacks that have so far prevented the service from being widely deployed. First, IP layer multicast requires routers to maintain per group state, which not only violates the “stateless” architecture but also introduces high complexity and serious scaling constraints. Second, the network vulnerable to flooding attacks by malicious sources. Third, the requirement of dynamically obtain a globally unique address. Finally, the IP multicast calls for the changes at the infrastructural level, a new multicast routers need to be used, this slows down the pace of deployment. A brief introduction of IP multicast see [14]. 3. Application-level multicast (or called end-system multicast): A model in which multicast related features, such as group membership management, multicast routing and packet duplication are implemented at end systems and base on only unicast IP service. The end systems (source and receivers) form an overlay network, which is a virtual network. The nodes on the virtual network are all end systems and the link on the virtual network is actually a path in the physical network. For a multicast abstraction the end systems construct an multicast tree on overlay network and the transmission between node and node is accomplished by using IP unicast. In addition, the reliable dilivery, flow control congestion control, and security can be significantly handle by end systems. However, end system multicast introduces duplicate packets on physical links (increase link stress) and incur larger end-to-end delay (increase link stretch, which is defined as the ratio of path length from the source to the multicast receiver along the overlay to the length of the direct unicast path ), hence decrease the multicast rate and increase delay. In [12], they propose an Narada protocol, which end system self-organize in to an overlay structure using a fully distributed protocol.. 33.
(42) Due to the lack of widely available Internet protocol multicast service, lots of research suggest using application-layer multicast by taking all of the advantages of applicationlayer overlay networks. Application-layer overlay networks have two properties: (1) the network nodes in a overlay network are end systems and have capabilities far beyond basic operations of storing and routing, and (2) the overlay topology, residing above a densely connected Internet wide-area network, can be constructed to suit one’s purposes. Base on the advantages of end-system (application-layer), Zhu et al. implements the multicast abstraction with network coding[11] and attempts to increase the end-to-end throughput. Taking the two benifits of application-layer multicast over IP multicast: (1) multicast support in IP layer is not required, and (2) data is transmitted between virtual nodes via unicast, efficiently exploiting all existing security, flow control, and reliable delivery mechanism that are already available and mature. They use two novel view as oppose to traditional multicast abstraction. First, they depart from conventional view that data can only be routing by overlay nodes. Rather, these overlay nodes also have the full capability of encoding and decoding data at the message level using linear codes. Second, they also depart from traditional wisdom that the multicast topology from source s to sink nodes to be tree, and propose an distributed algorithm to construct a two-redundant multicast graph as mlulticast topology that embedded in the virtual overlay network. In the two-redundant multicast graph, the network codes could be designed without the knowledge of network topology using a distributed algorithm. Base on this framework, we propose a new code design algorithm that is easier than the algorithm proposed by Zhu et al. and the code will accomplish higher end-to-end throughput than theirs. In the following, we give a detailed description of [11].. 4.1. Two-Redundant Multicast Graphs. A k-redundant multicast graph is a directed acyclic graph (DAG) which has the following two properties: 34.
(43) 1. The set of all nodes V is the union of three disjoint subsets {s} ∪ VI ∪ T and the total number of nodes are Ntotal = |V | = |{s}| + |VI | + |T | = 1 + NI + N,. (4.1). where s is source node, VI is the set of intermediate nodes, and T is the set of receiver nodes. (a) The in-degree and out-degree of s are In(s) = 0 and Out(s) > 0, respectively. (b) Let vi denote the intermediate node, which 1 ≤ In(vi ) ≤ k and Out(vi ) ≥ 0, ∀ vi ∈ VI . (c) Let tn denote the receiver node, which In(tn ) = k and Out(tn ) ≥ 0, ∀ tn ∈ T . 2. Assume that each link has unit bandwidth. For any receiver node whose indegree is k, then maxf low(s, tn ) = k, ∀ tn ∈ T. (4.2). The intermediate nodes are dedicated high-degree relay nodes, which are end hosts or proxy servers connected to high-bandwidth physical links in the overlay network, which do not belong to the set of receiver nodes, and such a pool of dedicated nodes is the price to exploit network coding to increase end-to-end throughput. Why they use tworedundant multicast graph rather than k-redundant mlulticast graph? As k increase, it’s difficult to find multiple good paths (i.e., large path bandwidth) from source s to each receiver with limited intermediate nodes and increased link stress and as k increase, network code assignment algorithm (introduce latter) become more complex and averse to the dynamics of node joints and departures. The following three propositions establish the achievablility of network coding, the sufficiency of a maximum in-degree of 2 and the necessity of non-empty intermediate nodes in a two-redundant acyclic multicast graph.. 35.
(44) Proposition 3 For any receiver node tn with In(tn ) = 2, it has two disjoint path from source node s if and only if tn has maxf low(s, tn ) = 2. Proposition 4 It’s not necessary for any node in a two-redundant multicast graph to have in-degree of greater than 2 to obtain two disjoint paths for each receiver from s. Proposition 5 If a two-redundant multicast graph contains only source and receivers, i.e., VI = ∅, then two-redundant multicast graph contains a directed cycle. Each receiver has two disjoint paths from the source and both path should be carefully chosen to maximize the throughput to the receiver. The degree of a node represents the total number of neighbors in the virtual network. For optimizing the virtual link bandwidth, both the rudimentary tree and the two-redundant multicast graph have the degree constraint: every virtual node has degree ≤ 4; i.e., 4 is the maximum virtual node degree and in the following set 4 = 4. Minimizing link stress is paramount since it determine the available bandwidth in a virtual link and the minimization of the link stress is cover by imposing a maximum virtual node degree constraint, 4. The graph is constructed by the following three steps: • Step 1: Rudimentary graph construction; • Step 2: Rudimentary tree construction; • Step 3: Two-redundant multicast graph construction. and the construction algorithm is distributed.. 4.1.1. Rudimentary graph construction. When a new node joints the group, it’s given a set of nodes already in the group by a bootstrapping node. These are its initial neighbors in the rudimentary graph. The node then contacts all its neighbor so they are made aware of it. Every node maintains two set of lists, one for storing the addresses of neighbors (neighbor lists) and another for 36.
(45) storing the addresses of all the nodes it knows about in the group (group lists). Node exchanges group information with its neighbor’s group lists, and update accordingly. By the exchanging processes, the information about a node will eventually propagate through the rudimentary graph. Bootstrapping node. 1. Group v3. Group List. v2. 2. Neighbor List. v4. s. v1. 3 V. 1 : Node v contact the bootsrapping node for requesting IP address of the initial neighbors.. 2 : Bootstrapping node sends node v the addresses of its initial neighbors.. 3 : Node v contacts its initial neighbors.. Figure 4.1: Join procedure for a new node.. Fig. 4.1 shows the procedures when a new node join the group . Each virtual link ei in the rudimentary graph has associated with a 2-tuple weight w(ei ) = (βi , λi ), which βi is the link bandwidth and λi is the link latency (delay). Each path p = (e1 , e2 , · · · , el ) in the rudimentary graph also has an associated weight w(p) = P (βp , λp ), which βp = min(βi , i = 1, 2, · · · , l) and λp = li=1 λi . Let w(p1 ) = (βp1 , λp1 ) and w(p2 ) = (βp2 , λp2 ) be the weights of p1 and p2 , respectively. Then p1 is better than 37.
(46) p2 if βp1 > βp2 , or βp1 = βp2 and λp1 < λp2 . In order to optimize the performance, the dynamics of adding high-quality links and dripping poor-quality links is vital to the performance of the multicast scheme.. (a) Neighbor-adding process: • Periodically, each node vi ∈ V chooses randomly another node vj in the group lists that are not a neighbor and by sending a probing message, estimate the bandwidth and latency of the virtual link, (vi , vj ). • If w((vi , vj )) is better than most of links of its current neighbors, and both vi and vj have not yet excess degree constraint, then vj is added as a neighbor of node vi and link (vi , vj ) is added in the rudimentary graph. • The degree of a node vi ∈ V in the rudimentary graph has the following properties: 1. For source node s, the number of its neighbors that are intermediate nodes are no larger than 3. 2. For every intermediate node vi , the number of its neighbors that are intermediate nodes must no larger than 4. 3. For every node, the total number of its neighbors can have more than 4.. (b) Neighbor-dropping process: • If a current neighbor vj 0 of vi has worse link than the links vi has to its neighbors, and both vi and vj 0 use link (vi , vj 0 ) very rarely, then vi drops vj 0 as its neighbor and (vi , vj 0 ) is removed from the rudimentary graph .. 38.
(47) s. v1. v2. v3. v4. v5. v6. v7. v8. v9. t4. t3. v 10. v 11. t2. t1. Figure 4.2: An example of rudimentary graph.. Fig. 4.2 shows an example of rudimentary graph.. 4.1.2. Rudimentary tree construction. The core graph is the subgraph of the rudimentary graph with the set of intermediate nodes VI and all the incident links. In order to avoid the connectionless of the tworedundant multicast graph, the core graph must be constructed as a connected graph. The rudimentary tree is built from the subgraph consisting of the source node s and the core graph by exploiting the distributed algorithm proposed in [13] based on distance vectors that finds the shortest widest paths. s. v1. v2. v3. v4. v5. v6. v7. v8. v9. v 10. v 11. (a) core graph. v1. v2. v3. v4. v5. v6. v7. v8. v9. v 10. v 11. (b) rudimentary tree. Figure 4.3: An example of core graph and rudimentary tree.. Fig. 4.3 shows a core graph and a rudimentary tree of Fig. 4.2, respectively.. 39.
(48) 4.1.3. Two-redundant multicast graph construction. The two-redundant multicast graph G2r is constructed by taking the rudimentary tree as a basis and add links from the rudimentary graph or randomly establish another good virtual links, i.e., higher bandwidth link, that are not belong to the rudimentary graph. The construction of the two-redundant multicast graph adhere the following rules for source node s and every intermediate node v ∈ VI : 1. Source s has φ intermediate nodes as children, i.e., Out(s) = φ and 2 ≤ φ ≤ 3;. (4.3). degree(v) = (In(v) + Out(v)) ≤ 4;. (4.4). 2. Total degree of node v is. 3. The in-degree of node v is 1 ≤ In(v) ≤ 2;. (4.5). 4. Number of children of v that are receivers is less than or equal to (3 − In(v)). Rule 4 ensures that the construction of G2r is always successful as long as the intermediate nodes are large enough. An intermediate node v is called a leaf intermediate node if none of v’s children in G2r is an intermediate node. An intermediate node v is saturated if either degree(v) = 4, or v is a leaf intermediate node and degree(v) = 3. The breadth-first search is used for searching unsaturated nodes.. Breadth-First Search Primitive: When a node firs becomes to saturated, it sends that information to its parent node of the rudimentary tree. Recursively, a node which is the root of subtree Tr , knows that Tr is saturated when all its children have sent saturation notification to it. The 40.
(49) construction of two-redundant multicast graph G2r is initialized to the rudimentary tree, so initially it has no leaf receivers. Adding each receiver tn ∈ T two links to the intermediate nodes, so that construct two disjoint paths, pf and ps , from the source node s to receiver tn .. (a) First Path Construction: To construct pf , receiver tn first contacts all its neighbors in the rudimentary graph that are intermediate nodes and unsaturated and let {vi } denote the unsaturated neighbors of tn . Receiver tn compares the paths {pi }, which consist of the tree paths from s to {vi } and the links {(vi , tn )} from vi to tn , then selects the best path. If all of tn ’s intermediate neighbors are saturated, then tn initiates a breadth-first search of the tree to find the first ψ unsaturated intermediate nodes and let {vi0 } denote the ψ unsaturated neighbors that found by the breadth-first search. Similarly, receiver t n compares the ψ paths and select the best path. Here, pf represents the best path and vf be the corresponding unsaturated intermediate node. s. s. v1. v4. v2. v3. v6. v7. v1. v 4 =v f. v2. v3. v6. v7. v8. v8. t3. t4. t2. t4. t1. (a). t3. t2. t1. (b). Figure 4.4: First path comparison and pf selection of receiver t4 .. In Fig. 4.4(a), receiver t4 compares two paths p4 ∪ (v4 , t4 ) and p8 ∪ (v8 , t4 ). In Fig. 4.4(b), assume that p4 ∪ (v4 , t4 ) is a better path, then t4 decides p4 ∪ (v4 , t4 ) to be its pf 41.
(50) and v4 to be its vf . TABLE II PROCEDURE FOR CONSTRUCTION pf FOR tn. <Main> • Leaf receiver tn : · If not all tn ’s intermediate node neighbors, {vi }, are saturated ‡ v=Find-best-path(tn , {vi }) ‡ vf = v and pf = p ∪ (v, tn ) · else if all neighbors of tn are saturated ‡ Breadth-first search of tree, halt when ψ unsaturated nodes {vi0 } found ‡ v=Find-best-path(tn , {vi0 }) ‡ vf = v and pf = p ∪ (v, tn ) <Subroutine> • Find-best-path(tn , {vi }): · request {vi } for weights {w(pi ) = (βi , λi )} of their paths in the tree · for each unsaturated node vi ‡ β=bandwidth of link (vi , tn ) ‡ compute w(pi ∪ (vi , tn )) = (min(βi , β), λi + λ) ‡ choose the best (shortest widest) path, p ‡ return v that corresponds to p.. Table II shows the procedures to construct first path, pf , of tn .. (b) Second Path Construction: To construct ps , receiver tn find ψ unsaturated intermediate node {vi }, which are not in pf , from its neighbors. If there are fewer than ψ such neighbors, then tn randomly probes intermediate nodes that are unsaturated and not in pf . For each vi , it checks if its tree path pi intersect the first path pf . If it does not intersect, then vi replies pi and w(pi ) to tn , else, it finds an alternative path from source node s. • If In(vi ) = 2, an alternative path may already exit, then vi replace this new path as pi and replies pi and w(pi ) to tn . • If In(vi ) = 1, then vi sends a message to the a child node c of s that is different from the child who is upstream from vi and request for c to do the breadth-first search of its own subtree. Node c replies to vi the first unsaturated or leaf intermediate 42.
(51) node vi0 , then vi replies tn with w(p0i ∪ (vi0 , tn )) and p0i ∪ (vi0 , tn ), which p0i is the tree path from s to vi0 . After tn receives w(pi ) and w(p0i ∪ (vi0 , tn )) from all the vi , receiver tn selects the best path among pi ∪ (vi , tn ) and p0i ∪ (vi0 , tn ). Here, ps represents the best path and vs be the corresponding unsaturated intermediate node or leaf intermediate node. TABLE III PROCEDURE FOR CONSTRUCTION ps FOR tn. <Main> • Leaf receiver tn : · Find ψ unsaturated intermediate nodes {vi } not in pf , from its neighbors and/or random probing. · Send pf to each vi and request best path pi from s to vi that does not intersect with pf , and its weight w(pi ). · v=Find-best-path(tn , {vi }, {pi }, {w(pi )}) <Subroutine 1> • Find-best-path(tn , {vi }, {pi }, {w(pi )}): · For each intermediate node vi ‡ (pi , w(pi ))=Check(vi ) ‡ β=bandwidth of link (vi , tn ) ‡ compute w(pi ∪ (vi , tn )) = (min(βi , β), λi + λ) · choose the best (shortest widest) path, p · return v that corresponds to p. <Subroutine 2> • Check(vi ): / Upon receiving pf and request for path from s to vi disjoint from pf / · If vi ’s tree path pi doest not intersect with pf then return pi and w(pi ) · else if vi ’s tree path intersects pf then ‡ if vi has an alternative path p0i from s then return p0i and w(p0i ) ‡ else if vi has In(vi ) = 1 then contact a different child c of s than the one whose subtree vi is in. c conducts breadth-first search of its subtree and returns to vi the first unsaturated or leaf intermediate node v return pi = pv ∪ (v, vi ) and w(pi ). Table III shows the procedures to construct second path, ps of tn .. 43.
(52) s. v1. v4 = vf. s. v2. v3. v6. v7. v1. v4 = vf. v8. v8. t4. t2. t3. v2. v3. v6. v7. = vs. t1. t4. t3. t2. t1. Figure 4.5: Second path comparison and ps selection of receiver t4 .. In the left-hand side of Fig. 4.5, receiver t4 compares two paths p7 ∪ (v7 , t4 ) and p6 ∪ (v6 , v8 ) ∪ (v8 , t4 ). In the other side of Fig. 4.5, assume that p6 ∪ (v6 , v8 ) ∪ (v8 , t4 ) is a better path, then t4 decides p6 ∪ (v6 , v8 ) ∪ (v8 , t4 ) to be its ps and v8 to be its vs . s. t4. v1. v2. v3. v4. v5. v6. v7. v8. v9. t3. v 10. t2. v 11. t1. Figure 4.6: An example of two-redundant multicast graph.. Fig. 4.6 shows an two-redundant multicast graph after the construction of p f and ps for each sink node, and each node satisfies the properties of G2r . After finishing the construction of the two-redundant multicast graph, the multicast rate is then determined by the minimum link bandwidth of the graph.. 44.
數據
相關文件
Fully quantum many-body systems Quantum Field Theory Interactions are controllable Non-perturbative regime..
By changing the status of a Buddhist from a repentance practitioner to a Chan practitioner, the role of Buddhism has also changed from focusing on the traditional notion
Programming languages can be used to create programs that control the behavior of a. machine and/or to express algorithms precisely.” -
Discovering the City by Mining Diverse and Multimodal Data Streams – IBM Grand Challenge: New York City 360. § Exploring and Integrating Multiple Contents and Sources for
For consistent predictions or strongly ordinal costs, if g makes test error ∆ in the induced binary problem, then r g pays test cost at most ∆ in ordinal ranking. a one-step
For consistent predictions or strongly ordinal costs, if g makes test error ∆ in the induced binary problem, then r g pays test cost at most ∆ in ordinal ranking. a one-step
regardless of the absolute hardness of the induced binary prob., optimality in binary classification =⇒ optimality in ordinal ranking reduction does not introduce additional
For concordant predictions or strongly ordinal costs, if g makes test error ∆ in the induced binary problem, then r g pays test cost at most ∆ in ordinal ranking. a one-step