• 沒有找到結果。

Network Topology Specification

Is data decoded completely?

4.1 Network Topology Specification

In the simulation, the acyclic network is specifically concerned. The transmission model is in single source multicast communication and no edges are connected between sinks meaning that sinks receive the data from either sources or intermediates, or both. The conditions are listed below.

• Acyclic network.

• Single source multicast.

• No shared content among sinks.

Based on these conditions above, two network topologies exemplified in Fig 2.1 and Fig 2.4 are particularly discussed whose max flow is 2 unit capacities in every sink.

4.2 Data Fragment

We apply LT code for network coding. Thus, every packet includes two parts. One part is the outcome by series of exclusive-or operations of the original information. The other is the overhead that records the indices of all original information involved during the encoding process. It is intuitive that additional overhead will lengthen if the total transmitted data enlarges, and we will need more number of bits to record the data correspondingly. We can evaluate by the following formula.

F + D × I = B

The parameters are listed in Table 4.1 . We explain every parameter below.

Table 4.1: Design parameters

M total files

B unit capacity D max degree of LT code F fragment information size

I data index

M : The total files to be transmitted. When M enlarges, the number of transmission time increases.

B : The unit capacity of the edge. We set this by finding out the greatest common divi-sor(G.C.D) of all edges. The capacity is the multiple of B. In reality, it should be the last guaranteed bandwidth of network.

D : The max degree of the LT Code, meanwhile, is the largest number allowed to combine the information.

F : The actual information size of the encoded symbol. If network coding is not executed, F will be the same with B.

I : The number of bits to assign the number of every fragment for identification. It can be calculated by I = log2(MF).

We find that the real information carried in a packet shortens due to the overhead of encoding information. The efficiency drops out after the segmentation, causing extra trans-mission compared to simple routing. (In existing system, there exists particular headers to record the information of transmitted packet.) We define some notations as followed.

• Noriginal. Total number of packets a sink should receive in routing method.

• Ncoding. Total number of packets a sink should receive in coding method.

• M = Noriginal× B = Ncoding× F .

• Of rag. Normalized overhead after the fragmentation.

The loss can be calculated by

Of rag = Ncoding

Noriginal

Fc

Fa

Fb

B Noriginal=10

Ncoding

(a)

(b)

(c)

1 2 3 4 5 6 7 8 9 10 Ofrag

12 1.2

13 1.3

20 2

Fd

(d) 100 10

Figure 4.2: Basic concept of fragmentation

We describe the basic concept discussed above in Fig 4.2. Assume the unit capacity of the transmission channel is B, and the number of times needed to delivery is Noriginal, which is 10 without any coding mechanism. Every small block labeled from 1 to 10 is helpful to show the ratio of every fragment in different examples. Fig 4.2-(a) shows the fragment Fa is 90% of B and max codeword degree D is 2. The required transmission times is therefore increased to Ncoding, 12. That is to say, we have two extra transmissions due to the fragmentation, and the overhead Of rag is 1.2. Compared (a) and (b), the difference is that the number of bits to index each fragment in (b) is twice as large as that in (a). The quantity of true information a packet can carry is from 90% to 80% of B, causing one extra transmission. Considering

two examples in (c) and (d), the max degree D increases to 10 and 18, weighting 50% and 90% of a packet. When true information weights lower percentage in a packet, it results in a huge quantity of transmission times. In examples (c) and (d), Ncoding are increased to 20 and 100 which are much more than Noriginal. That means we must design a outstanding coding mechanism to make up for additional transmission due to fragmentation. The accurate calculation is showed below.

Table 4.2: Example of the parameters setup

M D B F (bits) D × I Of rag

1KB = 8192b 8172 20b 1.0024 512KB 2 4KB = 32768b 32752 16b 1.0005 8KB = 65536b 65522 14b 1.0002 1KB = 8192b 8164 28b 1.0034 5M B 2 4KB = 32768b 32744 24b 1.0007 8KB = 65536b 65514 22b 1.0003 1KB = 8192b 8152 40b 1.0049 384M B 2 4KB = 32768b 32732 36b 1.0011 8KB = 65536b 65502 34b 1.0005

4B = 32b × × ×

384M B 2 16B = 128b 76 52b 1.6842

64B = 512b 462 50b 1.108

30 7592 600b 1.0790

384M B 60 1KB = 8192b 6992 1200b 1.1716

120 5792 2400b 1.4144

Table 4.2 is the illustration of the relation of the designed parameters. We can find that Of rag reach 1 closely if the unit bandwidth is not extremely small, meaning the overhead is slight after fragmentation. However, if the bandwidth is quite small compared to the total data, it causes vital overhead due to the significantly large quantity of index bits carried on.

If the case happens, such as the × sign in the table ( implying that the required number of index bits is larger than the unit capacity can afford ), we recommend the tradition routing

method. Another factor, the max degree of the LT code D, also influences overhead. We have to control the overhead to be adequate or reasonable for fear that even the well performed LT code can’t compensate for the fragmentation overhead, and consequently lowers utility of whole network.

The required index bits can be derived from the formula introduced above. It varies due to different numbers of the transmitted packets. We provide two modes that index bits to record each fragment is either 16b or 32b. The former permits 216− 1 transmitted fragments in total and the later permits 232− 1. If we consider the case that total file size is 32MB, unit capacity is 1KB, and max degree is 10, the required index bits is 13b, total overhead is 130b, and the corresponding Of rag is 1.016. If we apply 16b mode, the required overhead is 160b, and Of rag is 1.02.

When data are fragmented, we cut the total file into pieces. At the same time, we assign the number to each slice as the packet ID. Thus, every non-coding packet can be viewed as a encoded symbol of degree one. Fig 4.3 is the example.

B2

4.3 LT Encoding

Coding process is completely the same with the operations of the LT code encoding. A slight different is that since the packets contain the indices of the combined fragments, we need to reallocate the indices after finishing the encoding process. The detail discussion will be presented below.

Source node possesses total fragments also called symbols with degree one, and it can easily encode any symbol with requested degree. Encoding process is described as followed.

1. Randomly choose the degree d of this coding based on distribution.

2. Randomly choose the index of the Ncoding uniformly in d iterations.

3. Do XOR operations of the fragments.

4. Reallocate the indices of the chosen fragments in order.

5. Repeat 3 and 4 until the degree of packet is d.

F1 ⊕F3⊕F4⊕F7⊕F8⊕F9 0 0 0 D=10

9 8 7 4 3 1 0

Figure 4.4: Illustration of an encoding symbol

Fig 4.4 is the example of an encoded symbol whose degree is 6. The max degree D is 10, and we set the residual indices to 0 in the unused index positions. In the same time, the index number we use is started from 1, not 0. The indices sequence is ordered from low to high during the encoding process.

相關文件