• 沒有找到結果。

Chapter 5 Analysis and Comparison

5.3 Comparison

FEC and AFEC are using redundant packets to recover lost packets to enhance perception quality. But FEC estimates network environment only once before it start. If network environment is static and accurately estimated, the FEC has the best performance. The problem is network environment always dynamically change, FEC can not dynamically adjust number of redundant packets to fit this situation but AFEC can do it. AFEC can dynamically

estimate network packet loss rate to adjust number of redundant packets. The feedback controller of AFEC using objective function to enhance AFEC performance but this function is hard to drive a closed-form. In order to simplify the objective function, it assumes that if the number of received packets is greater or equal than the original packets, then it is assumed no packet is lost during the transmission. Its network environment assumes that the loss probability of each packet is static and independent loss. EAFEC under the same assumption of feedback controller, it provide a algorithm to improve video delivery in wireless Access Point (AP). EAFEC tunes FEC packet numbers according to network traffic load and wireless channel state. However, there are four threshold values of adaptive controller can not dynamically adjust. According to Table 5.1, we know that FEC can not dynamically adjust the redundant packets quantity, although feedback controller and EAFEC can solve it but otherwise they are only executed under some unrealistic assumption. Therefore feedback controller and EAFEC can not fit every network environment. We propose AFEC schemes in this thesis can efficiently adjust number of redundant packets by dynamically estimate network environment.

Table 5.1 Comparison of FEC and AFEC schemes AFEC FEC

Feedback Controller EAFEC Our schemes

Description ¾ Network

environment never greater or equal than the original packets, then it is assumed no packet is lost during the transmission

¾ The loss probability of each packet is static

¾ Independent loss

¾ If the number of received packets is greater or equal than the original packets, then it is assumed no packet is lost during the transmission

¾ Static block size to 8 video packets

¾ Receiving quality only related to packet loss and delay

¾ The loss probability of each packet is static

¾ Independent loss

¾ Upper bound of the overhead (H) is adjustable

Disadvantage ¾ Can’t adaptive

adjust redundancy to suit network environment

¾ Underestimate the optimal

We propose H-Q equation can find the optimal value between perception quality and number of redundant packets. Furthermore, the redundant packets will occupy partial network bandwidth and then reduce the transmission data quantity per unit time. Thus packet

redundancy is also an important issue, but many papers do not discussion about this but in this thesis we have detailed analysis. Because the packet redundancy is a very important problem, we set upper bound of the overhead (H) to limited number of redundant packets. In order to avoid too large percentage of network bandwidth are wasted on sending redundant packets.

Besides, the network packet lost event can also cause the report packets lost. It makes the adaptive controller very unreliable. The report packet lost may cause the adaptive controller out of control and starve for receiver information. But many papers do not mention to this problem and do not consider this event influence into their network simulation. Otherwise FEC, EAFEC, and feedback controller can not release the network bandwidth which occupied in sending redundant packets when network packet rate below the tolerable value. In our simulation result shows that data block size is also influence the receiving quality. Our schemes consider much probable situation in our simulation environment (Table 5.2).

Table 5.2 Comparison of adaptive controller and simulation result

AFEC

FEC Feedback Controller EAFEC Our schemes

Adaptability No Yes Yes Yes

Mathematical Equation No Yes* Yes Yes

Loss of the Report Packets N/A Inaccurate estimation

Inaccurate estimation

Accurate estimation Disable the Redundancy for

high loss rate No No No AAFEC

Adjustable Size of Data Block No No No Yes

*The objective function is unimodal and monotone on each side of the peak

In Table 5.3, we compare the performance of FEC and AFEC on loss rate 50%. The 4_FEC means that producing 4 redundant packets per 8 original packets in FEC. Although recovery rate in FEC is better than EAFEC under random loss model, the FEC can not dynamic adjust its number of redundant packets. We can find that recovery rate of our schemes are better than EAFEC at Hmax =1, but it is trade-off redundancy rate. The EAFEC recovery rate and redundant rate are worse than SAFEC, but similar to DAFEC at Hmax =2.

But in this table, we can not realize the advantage of AAFEC. Because we set self-close scheme of AAFEC threshold value is loss rate 50%, therefore AAFEC starts to close it self at this time.

Table 5.3 Performance of FEC and AFEC on loss rate 50%

(1-BL/BL_nonAFEC) 98% N/A 60%

AAFEC 27% 57%

In Table 5.4, we change the loss rate on 70%. We can find that the recovery rate of FEC is decreasing to 65% when redundancy rate is keeping in 50%. The recovery rate of our schemes (SAFEC and DAFEC) is higher than other schemes; moreover redundancy rate is lower than other schemes. The performance of our schemes is better than EAFEC and feedback controllers. We can find that our schemes can tolerate more packet loss rate than other schemes. At loss rate 70%, AAFEC has already started self-close scheme so that recovery rate and redundancy rate are both zero.

Table 5.4 Performance of FEC and AFEC on loss rate 70%

AFEC

Service provider can choose one of our schemes according to network environment to provide better transmission performance. According to our analysis tables, all schemes are similar when packet loss rate is lower. As the packet loss rate is increasing, our schemes are getting better than other schemes. Therefore our schemes can accurate at estimation of network environment.

5.4 Summary

We propose a H-Q equation to design three AFEC schemes– static AFEC (SAFEC), dynamic AFEC (DAFEC), and advanced AFEC (AAFEC). SAFEC is simply use H-Q equation as adaptive controller in sender, but its original data block size is static. According to our simulation result that original data block size is also has effective to receiving quality in our H-Q equation, so that we modify SAFEC to be DAFEC. DAFEC can dynamically change original data block size by computing network packet loss rate. One more important thing is that it is needed to reduce the transmission overhead when network environment too worse to match our expected receiving quality, because it may cause more serious network congestion to effect other network traffic. Therefore we propose advanced AFEC (AAFEC) with self-close scheme to release network bandwidth if necessarily.

Chapter 6 Conclusions

In this paper, we propose a mathematical equation, which named H-Q equation, to adaptively control number of redundant packets in AFEC. We use this equation to propose three AFEC schemes – SAFEC, DAFEC, and DAFEC, to adaptive deal with random loss network environment effectively. SAFEC is simply using H-Q equation without consider about parameter sensitivity in forward error correction. We combine dynamic adaptive controller into AFEC to be DAFEC. It is adding dynamic original data block size scheme in DAFEC. The simulation results show that DAFEC can enhance more receiving quality than SAFEC, but it also increases more packet redundancy than SAFEC. SAFEC and DAFEC have too many useless redundant packets when network loss rate is too large, because the quality enhancement is limited by network packet lost rate. On the other hand, too much redundant packets may cause serious congestion problem. Therefore we propose advanced adaptive controller into AFEC to be AAFEC which can solve this useless redundant packets problem. AAFEC has self-close scheme to stop sending useless redundant packets to release network bandwidth, when network loss rate is too large. We not only analyze the performance of these three AFEC schemes but also packet redundancy. The simulation results show that receiving quality enhancement always trade-off packet redundancy whatever AFEC type we choose.

Chapter 7 Future Work

In our paper, we propose an equation, H-Q, for designing the adaptive controller in AFEC to facilitate end-to-end transport of real-time traffic. The receiver can use redundant packets to recover lost packets. But packets lost events, packet searching, and receiver packet queue length maybe cause congestion problem of receiver side. This is another real-time constraint problem. So that a good packets sorting scheme can improve packets recover speed and receiver queue length. If we change redundant packets to redundant frames (data) can also improve this problem. One packet can carry many frames inside including redundant data.

Therefore it can save the space of redundant packet header.

Packet lost event of our simulation environment is using random model. In real network environment, the burst event is also an important issue, especially in wireless network.

Because the packet delivery in the air is more easily interfere with handicap leads to packet burst loss. In internet multimedia, multicasting is requisition functionality. Multicasting can share the multimedia server loading to lower network node. The packet switch behavior of our simulation is based on RTP session. The Nam of NS-2 for the RTP session shows in Figure 2.3.

References

[1] C. Perkins, I. Kouvelas, O. Hodson, V. Hardman, M. Handley, J.C. Bolot, A. Vega-Garcia, and S. Fosse-Parisis, “RTP Payload for Redundant Audio Data,” Internet RFC 2198, September 1997.

[2] J. Rosenberg and H. Schulzrinne, “An RTP Payload Format for Generic Forward Error Correction,” Internet RFC 2733, December 1999.

[3] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, “RTP: A Transport Protocol for Real-Time Applications,” Internet RFC 3550, July 2003.

[4] H. Schulzrinne and S. Casner, “RTP Profile for Audio and Video Conferences with Minimal Control,” Internet RFC 3551, July 2003.

[5] M. Luby and L. Vicisano, “Compact Forward Error Correction (FEC) Schemes,” Internet RFC 3695, February 2004.

[6] M. Luby, L. Vicisano, J. Gemmell, L. Rizzo, M. Handley, and J. Crowcroft, “Forward Error Correction (FEC) Building Block,” Internet RFC 3452, December 2002.

[7] K. Park and W. Wang, “AFEC: an adaptive forward error-correction protocol and its analysis,” Technical Report CSD-TR97-038, Department of Computer Sciences, Purdue University, 1997.

[8] C.-H. Ke, “NS2 Learning Guide,” http://140.116.72.80/~smallko/ns2/ns2.htm.

[9] J. Chung and M. Claypool, “NS by Example,” http://nile.wpi.edu/NS/.

[10] “The Network Simulator - ns-2,” http://www.isi.edu/nsnam/ns/index.html.

[11] J. Crowcroft, M. Handley, and I. Wakeman, “Internetworking Multimedia,” Morgan Kaufmann, 1999.

[12] G. Rubino and M. Varela, “Evaluation the Utility of Media-Dependent FEC in VoIP Flows,” QofIS 2004, LNCS 3266, 2004.

[13] M. Johanson, “Adaptive Forward Error Correction for Real-time Internet Video,” Proc.

of the 13th Packet Video Workshop, 2003.

[14] H.Wu, M. Claypool, and R. kinicki, “Adjusting Forward Error Correction with Quality Scaling for Streaming MPEG,” NOSSDAV'05, June, 2005.

[15] T. Tuan and K. Park, “Multiple Time Scale Redundancy Control for QoS-sensitive Transport of Real-time Traffic,” IEEE INFOCOM, 2000.

[16] Z. Qiao, L. Sun, N. Heilemann and E. Ifeachor, “A new method for VoIP Quality of Service control use combined adaptive sender rate and priority marking,” IEEE

Communication Society, 2004.

[17] J. Postel, and ISI, “User Datagram Protocol,” Internet RFC 768, August 1980.

[18] S. Casner, “Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth,” Internet RFC 3556, July 2003.

[19] “Nam: Network Animator,” http://www.isi.edu/nsnam/nam/.

[20] O. Flardh, K. Johansson, and M. Johansson, “A New Feedback Control Mechanism for Error Correction in Packet-Switched Networks,” 44th IEEE CDC-ECC'05, pp. 488- 493, Dec. 12-15, 2005.

[21] W. Jiang, and H. Schulzrinne, “Modeling of Packet Loss and Delay and Their Effect on Real-Time Multimedia Service Quality,” NOSSDAV, 2000.

[22] J.-C. Bolot, S. Fosse-Parisis, and D. Towsley, “Adaptive FEC-Based Error Control for Internet Telephony,” IEEE INFOCOM, 1999.

[23] J.-C. Bolot, S. Fosse-Parisis, and D. Towsley, “Adaptive FEC-Based Error Control for Interactive Audio in the Internet,” IEEE INFOCOM, 1998.

[24] C.-H. Lin, C.-H. Ke, C.-K. Shieh, and N. Chilamkurti, “An Enhanced Adaptive FEC Mechanism for Video Delivery over Wireless Networks,” ICNS'06, July 16-18, 2006.

[25] K. Fall, and K. Varadhan, “The ns Manual (formerly ns Notes and Documentation),”

http://www.isi.edu/nsnam/ns/doc/.

Appendix A Otcl Code

#set packet loss probability set prob_ 0.2

set ns [new Simulator -multicast on]

#output file: out0.tr, out1.tr set f0 [open out0.tr w]

set f1 [open out1.tr w]

#n0: sender , n1: receiver set n0 [$ns node]

set n1 [$ns node]

$ns color 1 red

$ns color 30 purple

$ns color 31 bisque

# RTCP reports

$ns color 32 green

$ns color 0 blue

set f [open rtp-out.tr w]

$ns trace-all $f

#$ns eventtrace-all $f

set nf [open out.nam w]

$ns namtrace-all $nf

#set link capability and delay time

#Drop tail when queue buffer full

$ns duplex-link $n0 $n1 11Mb 50ms DropTail

$ns duplex-link-op $n0 $n1 orient right

$ns duplex-link-op $n0 $n1 queuePos 0.5

##### ERROR MODEL #####

set em [new ErrorModel]

$em unit pkt

$em set rate_ $prob_

$em ranvar [new RandomVariable/Uniform]

$em drop-target [new Agent/Null]

$ns lossmodel $em $n0 $n1

################################

set mproto DM

set mrthandle [$ns mrtproto $mproto {}]

set group [Node allocaddr]

set s0 [new Session/RTP]

set s1 [new Session/RTP]

$s0 session_bw 400kb/s

$s1 session_bw 400kb/s

$s0 attach-node $n0

$s1 attach-node $n1

#dump data into out0.tr proc record { } {

global f0 s0 s1 ns set ns [Simulator instance]

set time 200

set dataloss0 [$s0 set dataloss_]

set npkt0 [$s0 set npkt_]

set datapkt0 [$s0 set datapkt_]

set datablock0 [$s0 set datablock_]

set h0 [$s0 set h_]

set count_data_packets0 [$s0 set count_data_packets_]

set dataloss1 [$s1 set dataloss_]

set datapkt1 [$s1 set datapkt_]

set npkt1 [$s1 set npkt_]

set nloss1 [$s1 set nloss_]

set packet_count1 [$s1 set packet_count_]

set packet_loss1 [$s1 set packet_loss_]

set now [$ns now]

puts $f0 "$now $dataloss1 $count_data_packets0 $nloss1 $npkt1 $packet_loss1 $packet_count1 $h0 $datablock0"

$ns at [expr $now+$time] "record"

}

set r3 [new RandomVariable/Uniform]

set rng [new RNG]

set ns [Simulator instance]

set time 5

# $r3 use-rng $rng

# $r3 set min_ 0

# $r3 set max_ 0.8

#set size [expr 100*[$r3 value]]

set prob [$em set rate_]

set now [$ns now]

#change loss rate interval time

# if { $now%5==0 } { puts "now==1550"

$em set rate_ 0 }

puts $f1 "$now $prob"

$ns at [expr $now+$time] "record2"

}

$ns at 0.0 "record"

#$ns at 0.0 "record2"

$ns at 0.0 "$s0 join-group $group"

$ns at 0.0 "$s0 start"

$ns at 0.0 "$s0 transmit 400kb/s"

$ns at 0.0 "$s1 join-group $group"

$ns at 0.0 "$s1 start"

#$ns at 1.1 "$s1 transmit 400kb/s"

#$ns at 2.0 "$s2 join-group $group"

#$ns at 2.1 "$s2 start"

#$ns at 2.2 "$s2 transmit 400kb/s"

#$ns at 2.3 "$s3 join-group $group"

#$ns at 2.4 "$s3 start"

#$ns at 2.5 "$s3 transmit 400kb/s"

$ns at 200.1 "finish"

proc finish {} { global ns f nf

# $ns flush-trace

close $f

close $nf

#puts "running nam..."

#exec nam out.nam &

exit 0

}

$ns run

相關文件