dynamic fec algorithms for tfrc flows

17
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010 869 Dynamic FEC Algorithms for TFRC Flows Hulya Seferoglu, Student Member, IEEE, Athina Markopoulou, Member, IEEE, Ulas C. Kozat, M. Reha Civanlar, Fellow, IEEE, and James Kempf Abstract—Media flows coexist with TCP-based data traffic on the Internet and are required to be TCP-friendly. The TCP pro- tocol slowly increases its sending rate until episodes of congestion occur, and then it quickly reduces its rate to remove congestion. However, media flows can be sensitive to even brief episodes of congestion. In this paper, we are interested in protecting media flows from TCP-induced congestion while maintaining their TCP friendliness. In particular, we consider media flows carried over the TCP-Friendly Rate Control (TFRC) protocol and we design algorithms that dynamically adapt the level of forward error cor- rection (FEC) based on the congestion state of the network. To this end, first, we investigate the loss and delay characteristics of TFRC flows in several TCP-induced congestion scenarios, and we develop novel predictors of loss events based on packet delay infor- mation. Second, we use these predictors to dynamically adapt the level of FEC protection based on the predicted level of congestion. We show that this technique can significantly improve the overhead versus reliability trade-off compared to fixed FEC. Third, we select the FEC and original media packets within each FEC block, in a rate-distortion optimized way, and we show that this technique sig- nificantly improves media quality. Index Terms—Application layer FEC, congestion control, TCP friendly rate control (TFRC), video transport. I. INTRODUCTION T HE Transmission Control Protocol (TCP) is the domi- nant transport protocol on the Internet today and is ex- pected to remain so in the foreseeable future. It is used for data traffic and increasingly for nonreal-time media flows as well. The fundamental goal of TCP, which applies to all TCP variants, is to achieve as much bandwidth as possible while achieving some level of long-term rate fairness across competing flows. By their very design, all TCP algorithms (both the widely em- ployed loss-based versions and the delay-based ones) induce congestion to achieve rate adaptation, which leads to short-term Manuscript received November 08, 2009; revised March 30, 2010; accepted June 03, 2010. Date of publication June 28, 2010; date of current version November 17, 2010. This work was supported in part by a grant from DO- COMO USA Labs under Contract DCL-45547 and by the National Science Foundation CAREER Award 0747110. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. S.-H. Gary Chan. H. Seferoglu and A. Markopoulou are with the Electrical Engineering and Computer Science Department, University of California, Irvine, CA 92697 USA (e-mail: [email protected]; [email protected]). U. C. Kozat is with the DOCOMO USA Labs, Palo Alto, CA 94304 USA (e-mail: [email protected]). M. R. Civanlar is with the Özyegin University, Istanbul, Turkey (e-mail: reha. [email protected]). J. Kempf is with Ericsson Research, San Jose, CA 95134 USA (e-mail: james. [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TMM.2010.2053840 congestion and packet losses for other flows. This can be detri- mental for the quality of real-time media flows, which are the focus of this paper. We are interested in understanding the im- pact of TCP-induced packet loss specifically on media flows and in developing efficient countermeasures. Standard transport-layer solutions for media delivery focus on TCP-friendly rate control, while leaving reliability to the application layer. There are several means to increase reliability including application-layer forward error correction (FEC), retransmissions, and error-resilient source coding techniques. FEC is usually preferred in scenarios where feedback is not available (as in multicasting where feedback implosion may occur) and/or when delay constraints are tight [1]–[5]. We focus on unicast media flows with delay constraints and carried over a TCP-friendly transport protocol. As a represen- tative example of a TCP-friendly media transport, we consider the standardized and widely studied TCP-Friendly Rate Con- trol (TFRC) protocol [6]. TFRC is equation-based and has a longterm throughput similar to a TCP flow, with much lower rate fluctuations. When TFRC and TCP flows share a network, media packets can be lost during brief congestion episodes trig- gered by TCP. In this setting, we explore the use of FEC at the transport layer to combat congestion-induced packet losses while at the same time maintaining the TCP friendliness. Our contributions are as follows. First, we systematically in- vestigate the loss and delay characteristics in several TCP-in- duced congestion scenarios, and we develop novel learning al- gorithms that predict congestion loss based on packet delay in- formation. More specifically, through extensive simulations, we characterize the relation between packet loss, delay, and delay derivative for various topologies and traffic scenarios. In terms of delay, we examine both round-trip-time (RTT), which is used by TFRC senders and forward-trip-time (FTT), which is used by TFRC receivers. Our findings suggest that although there is correlation between packet losses and delay (RTT or FTT) es- timates, as primarily used in prior work [7], there is an even stronger correlation between packet losses and the tuple of delay (RTT or FTT) and delay derivative ( or ). We model this relation by grouping the loss events as unions of convex hulls on a 2-D Euclidean space, where each loss event is asso- ciated with a pair of delay and delay derivative ( or ). These learning algorithms are useful on their own right and can be used as input to any end-to-end technique that needs to predict congestion. Second, we design media-unaware dynamic FEC algorithms that adapt the FEC rate based on the congestion level as pre- dicted by the learning algorithms. We propose two algorithms, sender-based and receiver-based, to dynamically change the FEC rate within the TFRC rate so as to mask the effect of loss. We show that the proposed algorithms can substantially 1520-9210/$26.00 © 2010 IEEE

Upload: james

Post on 13-Mar-2017

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic FEC Algorithms for TFRC Flows

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010 869

Dynamic FEC Algorithms for TFRC FlowsHulya Seferoglu, Student Member, IEEE, Athina Markopoulou, Member, IEEE, Ulas C. Kozat,

M. Reha Civanlar, Fellow, IEEE, and James Kempf

Abstract—Media flows coexist with TCP-based data traffic onthe Internet and are required to be TCP-friendly. The TCP pro-tocol slowly increases its sending rate until episodes of congestionoccur, and then it quickly reduces its rate to remove congestion.However, media flows can be sensitive to even brief episodes ofcongestion. In this paper, we are interested in protecting mediaflows from TCP-induced congestion while maintaining their TCPfriendliness. In particular, we consider media flows carried overthe TCP-Friendly Rate Control (TFRC) protocol and we designalgorithms that dynamically adapt the level of forward error cor-rection (FEC) based on the congestion state of the network. Tothis end, first, we investigate the loss and delay characteristics ofTFRC flows in several TCP-induced congestion scenarios, and wedevelop novel predictors of loss events based on packet delay infor-mation. Second, we use these predictors to dynamically adapt thelevel of FEC protection based on the predicted level of congestion.We show that this technique can significantly improve the overheadversus reliability trade-off compared to fixed FEC. Third, we selectthe FEC and original media packets within each FEC block, in arate-distortion optimized way, and we show that this technique sig-nificantly improves media quality.

Index Terms—Application layer FEC, congestion control, TCPfriendly rate control (TFRC), video transport.

I. INTRODUCTION

T HE Transmission Control Protocol (TCP) is the domi-nant transport protocol on the Internet today and is ex-

pected to remain so in the foreseeable future. It is used for datatraffic and increasingly for nonreal-time media flows as well.The fundamental goal of TCP, which applies to all TCP variants,is to achieve as much bandwidth as possible while achievingsome level of long-term rate fairness across competing flows.By their very design, all TCP algorithms (both the widely em-ployed loss-based versions and the delay-based ones) inducecongestion to achieve rate adaptation, which leads to short-term

Manuscript received November 08, 2009; revised March 30, 2010; acceptedJune 03, 2010. Date of publication June 28, 2010; date of current versionNovember 17, 2010. This work was supported in part by a grant from DO-COMO USA Labs under Contract DCL-45547 and by the National ScienceFoundation CAREER Award 0747110. The associate editor coordinating thereview of this manuscript and approving it for publication was Dr. S.-H. GaryChan.

H. Seferoglu and A. Markopoulou are with the Electrical Engineering andComputer Science Department, University of California, Irvine, CA 92697 USA(e-mail: [email protected]; [email protected]).

U. C. Kozat is with the DOCOMO USA Labs, Palo Alto, CA 94304 USA(e-mail: [email protected]).

M. R. Civanlar is with the Özyegin University, Istanbul, Turkey (e-mail: [email protected]).

J. Kempf is with Ericsson Research, San Jose, CA 95134 USA (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TMM.2010.2053840

congestion and packet losses for other flows. This can be detri-mental for the quality of real-time media flows, which are thefocus of this paper. We are interested in understanding the im-pact of TCP-induced packet loss specifically on media flows andin developing efficient countermeasures.

Standard transport-layer solutions for media delivery focuson TCP-friendly rate control, while leaving reliability to theapplication layer. There are several means to increase reliabilityincluding application-layer forward error correction (FEC),retransmissions, and error-resilient source coding techniques.FEC is usually preferred in scenarios where feedback is notavailable (as in multicasting where feedback implosion mayoccur) and/or when delay constraints are tight [1]–[5].

We focus on unicast media flows with delay constraints andcarried over a TCP-friendly transport protocol. As a represen-tative example of a TCP-friendly media transport, we considerthe standardized and widely studied TCP-Friendly Rate Con-trol (TFRC) protocol [6]. TFRC is equation-based and has alongterm throughput similar to a TCP flow, with much lowerrate fluctuations. When TFRC and TCP flows share a network,media packets can be lost during brief congestion episodes trig-gered by TCP. In this setting, we explore the use of FEC atthe transport layer to combat congestion-induced packet losseswhile at the same time maintaining the TCP friendliness.

Our contributions are as follows. First, we systematically in-vestigate the loss and delay characteristics in several TCP-in-duced congestion scenarios, and we develop novel learning al-gorithms that predict congestion loss based on packet delay in-formation. More specifically, through extensive simulations, wecharacterize the relation between packet loss, delay, and delayderivative for various topologies and traffic scenarios. In termsof delay, we examine both round-trip-time (RTT), which is usedby TFRC senders and forward-trip-time (FTT), which is usedby TFRC receivers. Our findings suggest that although there iscorrelation between packet losses and delay (RTT or FTT) es-timates, as primarily used in prior work [7], there is an evenstronger correlation between packet losses and the tuple of delay(RTT or FTT) and delay derivative ( or ). We modelthis relation by grouping the loss events as unions of convexhulls on a 2-D Euclidean space, where each loss event is asso-ciated with a pair of delay and delay derivative (or ). These learning algorithms are useful on theirown right and can be used as input to any end-to-end techniquethat needs to predict congestion.

Second, we design media-unaware dynamic FEC algorithmsthat adapt the FEC rate based on the congestion level as pre-dicted by the learning algorithms. We propose two algorithms,sender-based and receiver-based, to dynamically change theFEC rate within the TFRC rate so as to mask the effect ofloss. We show that the proposed algorithms can substantially

1520-9210/$26.00 © 2010 IEEE

Page 2: Dynamic FEC Algorithms for TFRC Flows

870 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

Fig. 1. System overview. The first component includes learning algorithms thatpredict future loss based on previous loss and delay samples collected at theTFRC. The second component includes dynamic FEC algorithms, both media-unaware and media-aware, which decide the best allocation of the availableTFRC rate between source and FEC packets. For the media-aware dynamic FECalgorithms, in particular, additional information about the distortion values ofeach packet is provided by the application layer.

improve the tradeoff between FEC overhead and reliability(e.g., up to 40%–60% compared with a baseline fixed-FECapproach that relies solely on loss statistics). At the sametime, our algorithms remain TCP-friendly: they do not changethe total TFRC rate but they appropriately allocate this ratebetween original (source) and FEC (parity) packets, based onthe predicted congestion level.

Third, we design media-aware dynamic FEC algorithms,which are optimized specifically for media traffic over TFRC.For media, the improvement of redundancy-versus-reliabilitytradeoff does not directly translate into improved video quality.This is because, for a given TFRC rate, there is a tradeoffbetween the rate allocated to media versus the rate allocatedto FEC. We formulate this problem as a rate-distortion opti-mization, and we design efficient algorithms to solve it. Weshow that our algorithms improve the average video qualityover baseline schemes (up to 5 dB compared with no-FEC andup to 8 dB compared with fixed FEC which is based on lossstatistics).

The remainder of this paper is organized as follows. Section IIgives an overview of the system under study. Section III presentsthe learning algorithms. Sections IV and V present the designand evaluation of media-unaware and media-aware dynamicFEC algorithms, respectively. Section VI discusses relatedwork, and Section VII concludes the paper.

II. SYSTEM OVERVIEW

Fig. 1 provides an overview of the proposed system. Twonovel components are added on top of standard TFRC to helpbetter select which packets to transmit. The first component in-cludes learning algorithms that predict future loss based on pre-vious loss and delay samples collected at the TFRC. The secondcomponent includes dynamic FEC algorithms, both media-un-aware and media-aware, which decide the best allocation of theavailable TFRC rate between source and FEC packets. Thesenovel components can easily be implemented at the end-pointson top of standard TFRC without requiring other changes in thenetwork or in the protocol.

A. Overview of TFRC, TCP, and Delay Sampling

In a network where TCP and TFRC flows coexist, flows ar-range their rates according to loss events or delay estimates. ForTFRC [6], the rate (in bytes per second) is computed by

(1)

where is the segment size in bytes, is the low-pass filteredaverage of samples, and is the probability estimate ofloss events. TCP, on the other hand, uses window-based ratecontrol and has been modeled by [8]

(2)

where is the average window of the th flow, is the choiceof gain function that determines properties such as stability andresponsiveness, is the marginal utility function that deter-mines equilibrium properties such as longterm rate and fairness,

is a congestion measure, namely loss probability or queueingdelay, and is the low-pass filtered average of sam-ples. When is loss-based, the TCP increases the congestionwindow linearly in . When a loss occurs, TCP ramps down therate and again follows a linear increase. When is delay-based,TCP increases the congestion window more aggressively when

is closer to the minimum observed and becomes lessaggressive at higher , eventually it decreases the rate whenis higher than a threshold.

We consider the situation where TCP and TFRC flows sharea network. If and are not fluctuating too wildly, TFRC flowsmaintain a steady flow by smoothing the flow rate, whereaslong-lived TCP flows grab more and more bandwidth therebyinducing congestion which is then observed, causing a backoffto remove the congestion. Since TCP increases the flow ratesteadily, the queue at a bottleneck link will build up. A TFRCsender will sample this building up every s (assuming the re-ceiver side sends feedback about every s and/or when a lossevent is estimated), and a TFRC receiver can sample it withevery received packet.

Suppose the th packet is sent by the TFRC sender at .Feedback for is sent back by the receiver after some delay

, and it is received by the sender at . Thus, for theth packet, the sender has an RTT of

(3)

Assuming that subsequent packets in each direction follow thesame path, propagation delays in the forward and reverse

directions are constants. (We use forward direction to referto the direction from TFRC sender to TFRC receiver and re-verse direction to refer to the opposite direction.) If subsequentpackets have the same size, then the overall service time at in-termediate nodes is constant as well. Queueing delays inthe forward and reverse directions on the other handvary depending on flow dynamics. Whenever the network con-gestion is observed in the forward direction, samplesthe congestion for the TFRC flow.

Page 3: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 871

From the receiver’s point of view, from the th receivedpacket, we can obtain an estimate of FTT as follows:

(4)

In contrast to the estimates, we now have a clock offsetbetween the sender and the receiver. Assuming that the

clock drift is very small, we treat the offset as constant.Ideally, we would like to compute the delay derivatives,

and , using the delays of consecutive packets, . However, in practice, we have delay information

available for nonconsecutive packets, and , based onperiodic TFRC reports and in the presence of packet loss. Wecompute the delay derivatives and , using twoconsecutive available samples ( and ) as follows:

(5)

(6)

We are interested in the following question: given the history ofrecent packet delays until the loss event at the TFRC sender or atthe TFRC receiver, can we predict the loss events for the nextseconds? This is the goal of the learning algorithms depicted inFig. 1. TFRC provides information about delay and the numberof losses to the learning algorithms; the algorithms check thecorrelation between , (or ) and thenumber of losses in the recent past and predicts the future lossrate. The details are presented in Section III.

B. Dynamic FEC for TFRC

The goal of the dynamic FEC algorithms is to take as inputthe rate determined by TFRC and the loss rate predicted bythe learning algorithms and to use this information to deter-mine which packets to transmit. In the case of media-unawareFEC, the goal is to provide reliable delivery by combating lossusing the right amount of FEC. In the case of media-aware FEC,the goal is to maximize video quality within the TFRC rateby striking the right balance between parity and original mediapackets (source packets), using additional information providedby the application layer about the importance of media packets.The output of the dynamic FEC algorithm indicates to the TFRCmodule which packets to transmit and is thus fully compliantwith standard TFRC.

III. LEARNING ALGORITHMS FOR PREDICTING

CONGESTION-INDUCED LOSS

Our goal here is to investigate the relation between: 1) con-gestion loss induced by multiple TCP flows and 2) delay anddelay derivative , tuples experi-enced by a single flow. Using this relation, we develop learningalgorithms that predict the loss rate of imminent congestion.In Section III-A, we present the intuition behind this idea andgive experimental results over a range of simulation parameters

and topologies that confirm it. In Section III-B, we presenta convex hull-based modeling approach and the associatedlearning process to predict the congestion level based on delayinformation. In Sections IV and V, we use the informationprovided by the learning algorithms to dynamically adapt theFEC rate within the TFRC window.

A. Relation of TCP-Induced Loss to and

1) Main Observation: End-to-end delay ( or ) andthe delay derivative ( or ) can be used to predict theloss rate experienced by the TFRC flow, because delay valuesprovide information about the occupancy of the queues, hencethe congestion level, along the path of a flow. If the queue occu-pancy of a queue is high, the probability that a packet isdropped on is high. The exact function depends on thequeue management scheme used, but is always an increasingfunction of , e.g., for DropTail, 1 or 0, depending onwhether exceeds the physical buffer size or not; for RED,it is a piecewise linear function with tunable parameters. Theend-to-end delay is the sum of all queuing delays plus a con-stant propagation delay . Theend-to-end loss rate experienced by the flow depends on thedrop probabilities along the path. Therefore, increasing delayvalues implies that queues along the path are building up, thusleading to imminent congestion. Conversely, decreasing delaysimplies that congestion is relieved. Therefore, information aboutthe delay derivative, as well as delay, can allow us to predictcongestion.

We confirmed this intuition via extensive simulations, shownin Section III-B. A detailed mathematical analysis of this obser-vation is beyond the scope of this paper. The most closely re-lated body of work is the literature on TCP fluid models, such asthose in [9], [10], to mention a few. Such models relate the TCPwindow/rate evolution with the evolution of the queues and pro-vide a framework for analyzing queue evolution, loss rates, anddelays at individual queue and end-to-end. Instead, our focus ison developing learning algorithms that can be used in practiceand in conjunction with dynamic FEC.

2) Sampling Delay in Practice: In Section II, we introduced, , , and for each packet in a

TFRC flow. However, in a real system, instead of per-packetdelay samples, the TFRC sender estimates the delayaccording to a report received at time , and the TFRC receiverestimates delay according to a packet received at time

. Let us denote the times when the TFRC sender and receiverreceive reports and packets as , where

is the time when the th report or th packet are receivedby the TFRC sender or receiver. The corresponding delayestimates areand ,

and the delay derivative estimates areand

,

where and are calculated as follows:

Page 4: Dynamic FEC Algorithms for TFRC Flows

872 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

Fig. 2. Example where the TFRC flow goes through a single bottleneck link.Nodes � and � transmit multiple TCP flows to nodes � and � , respectively,and � transmits a TFRC flow to � . �� � � � � � � � � � are the transmissiondata rates of the links. The link � � � is the bottleneck.

and

.1

We construct delay tuples from delay estimates and theirderivatives as (i.e., ,

) and (i.e., ,) for the TFRC sender and receiver, respectively. The

delay tuples are associated with the number of packet lossesas follows. TFRC sender or TFRC receiver determines, from

to , the number of packet losses as , where, which is associated with the

delay tuple: for the TFRC sender and

for the TFRC receiver. Note that delay

tuple sets and and loss event setfully characterize the relationship between delay samples andloss events. In the remainder of this paper, we use the followingterms interchangeably: and ; and

and .3) Simulations: In order to investigate the relation between

, and loss events, in practice, weused ns-2 [11] to simulate several network topologies (witha single and multiple bottlenecks), different mixtures of TCPand TFRC flows, different TCP flavors (e.g., TCP SACK, andTCP Vegas), one-way and two-way traffic, and short-livedand long-lived TCP flows. First, consider the topology shownin Fig. 2. The results are shown in Fig. 3, which depicts therelation between loss events and the delay tuplesand : we use a 2-D view where the -axis repre-sents (or ) values and the -axis represents (or

) values for both received and lost packets (success andloss events). A success event (i.e., , where )is indicated as a black disk while loss events (i.e., ,where ) are indicated as white circles.

Fig. 3 presents the results for the topology of Fig. 2 for10-Mb/s bottleneck link shared by ten TCP-SACK and oneTFRC flows and for 16-min simulation duration. We seethat loss events are tightly clustered over and

dimensions. We also see that one can more

1We approximate per-packet delay samples as follows. For TFRC sender;������ � ������ � and ������� � ������� �, where � � ������ suchthat � � � . For the TFRC receiver, ������ � ������ � and ������� �������� � if � � � ��� such that � � � , otherwise ������ � ��������

and ������� � ������ � ��, where � � � is the first packet that is receivedcorrectly after the �th packet, i.e., packets between � and �� � � are lost.

efficiently classify the loss events along the di-mensions than along the dimensions, primarilydue to the much higher sampling rate of FTT. We did simu-lations exhaustively for different parameters such as differentminimum RTTs, different numbers of TCP and TFRC flows,different buffer sizes, and different bottleneck bandwidths overthe topology. The results in all cases exhibit similar clusteringof loss events. This indicates a strong relationship between lossevents and , tuples for this simpletopology under different scenarios.

We also conducted experiments for more complicatedtopologies, and we present the findings for two representativeexamples: two-way traffic over a single-bottleneck topology (asin Fig. 2) and one-way traffic over a two-bottleneck topology(shown in Fig. 5). Fig. 4 shows the relation between / ,their derivatives, and loss events for two-way traffic. One canobserve that fails to discriminate between theloss events and successful packet receptions since the whitecircles no longer appear as tightly clustered. The results alsoshow that cannot be used on its own to classify lossevents, e.g., using a threshold, because estimates for lossevents are as widely spread as the no-loss intervals.2 In contrast,

-based loss classification can still provide a verycompact region for identifying the potential occurrence of lossevents.

For the topology with two bottlenecks shown in Fig. 6, sim-ilar observations can be drawn. As before, , ,

, and loss event classifications do not perform well.turns out again to be a good classifier allowing

loss events to be represented by a relatively compact set. Al-though are adequate only for single-bottlenecktopologies with congestion in the forward direction, these con-ditions are not very limiting for the Internet [12]. Therefore, it isstill useful to develop online classifiers over theas wells as . These observations led us to the de-sign of heuristic algorithms that classify the probability of lossevents using and estimates. InSection III-B, we propose a convex-hull based loss event classi-fication algorithm that leads to packet loss prediction on the fly.

B. Convex-Hull-Based Classification of Loss Events

The experiments show that when there is a correlation be-tween loss events and the or ; theloss events are typically clustered in a specific region that can bebounded by compact sets. Here, we present a convex-hull-basedclustering algorithm to construct compact regions.

Our design is guided by our intention to use this clusteringalgorithm as a loss classifier to assist the dynamic FEC algo-rithms proposed in the next section. The proposed dynamicFEC algorithm divides the time horizon into FEC blocks (du-ration of s) and decides how many source and parity

2This is unexpected at first, since reverse path traffic interferes with ���measurements only through the ACK packets sent over the forward path. How-ever, ACK traffic constitutes only a very small load and buffers are provisionedin terms of bytes and not in terms of numbers of packets in our experiments. Adeeper examination reveals that, when the reverse path is congested, it interfereswith TCP ACK traffic over the reverse path. This, in return, results in acceler-ated rate increases for TCP flows on the forward path.

Page 5: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 873

Fig. 3. Loss events (white circles) seen in (a) ���� ���� and (b) ���� ���� domains for the scenario in Fig. 2. Simulation parameters: � � � � � �� � 100 Mb/s and � � 10 Mb/s. Ten TCP flows in the forward direction (five flows from � to � and five flows from � to � ) are generated. The minimum��� is set to 60 ms, and the buffer size is set to the bandwidth delay product: (a) RTT and (b) FTT.

Fig. 4. Loss events (white circles) seen in (a) ���� ���� and (b) ���� ���� domains for two-way traffic over single bottleneck topology in Fig. 2. Simulationparameters; � � � � � � � � ����� and � � ����. 10 TCP flows in the forward direction (5 flows from � to � and 5 flows from � to � ) and4 TCP flows in the reverse direction (2 flows from � to � and 2 flows from � to � ) are generated. The minimum ��� is set to 60 ms and the buffer size isset to bandwidth delay product.

Fig. 5. Example topology where the TFRC flows goes through two bottlenecks.

packets will be transmitted in an FEC frame based on themost recent (or )sample, where subject to , where is thecurrent time. To facilitate this decision, we group individualloss events observed in duration together and categorizethem uniquely as -loss events where .3

3Note that �-loss events are the elements of the subset of ��� such that ��� � ��, �� � ���, if is equal to average RTT. Otherwise, i.e., when varies over time, �-loss events should be recorded in a separate data structure.

For each -loss event, we compute separate (and typicallyoverlapping) compact regions. The dynamic FEC algorithmchecks whether the most recent (or

) sample is in one of these compactregions. If the sample is in one of these compact regions, thenthe number of parities in an FEC block is chosen taking intoaccount both: 1) the loss characteristics of the correspondingcompact region and 2) the requirements of applications. Forloss-intolerant applications, such as data applications, thehighest is picked as the number of parity packets. Alterna-tively, a smaller number of parities than the maximum can bechosen to meet a certain overhead versus reliability tradeoff, asin Section IV. For loss-tolerant applications, such as video, thenumber of parity packets are better chosen using a rate-distor-tion optimization framework, as proposed in Section V.

We observe that, in some cases (e.g., as in Fig. 6), lossyregions may be clustered into more than one compact set. Aconvex hull fit to each set separately becomes more efficient in

Page 6: Dynamic FEC Algorithms for TFRC Flows

874 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

Fig. 6. Loss events (white circles) seen in (a) ���� ���� and (b) ���� ���� domains over two-bottleneck topology in Fig. 5. Simulation parameters: � �

� � � � � � � � 100 Mb/s and � � � � 10 Mb/s. Twelve TCP flows in the forward direction (five flows from � to � , five flows from � to � ,and two flows from � to � ) are generated. The minimum ��� is set to 120 ms for flows crossing both bottlenecks and to 60 ms for flows crossing a singlebottleneck. The buffer size is set to the bandwidth delay product.

those cases. The experiments show that clusters are typicallyseparated in the (or ) domain. Therefore, we performcluster separation over the (or ) domain before ap-plying a convex hull algorithm. Cluster separation is done usinga loss event histogram over the (or ) domain. First,we perform smoothing and interpolation using the Parzen win-dows method [13]. Then, we determine all of the local minimaand corresponding , values. We define a region be-tween two consecutive local minima as a new region , where

. In order to find the convex hulls in each region,we use the algorithm in [14], which is similar to the Andrew’sMonotone Chain Algorithm [15]: points are sorted lexicograph-ically (first by -coordinate and, in case of a tie, by -coor-dinate), and then upper and lower hulls of the points are con-structed. The algorithm runs in time.

We define the following online procedure to construct convexhulls. When a TFRC flow starts, the TFRC sender (receiver)does not have any initial (or ) sample.(or ) pairs as well as loss events are collected ina data structure during an initial learning period. This periodis further divided into two subperiods. In the first subperiod,delay and delay derivative samples and the corresponding lossevents are collected in a data structure. At the end of the firstsubperiod, region partitioning is done and the regions where

are constructed. The structure is divided into mul-tiple data structures according to their regions. The convex hullalgorithm is run over all delay and delay derivative samples foreach region and for each -loss event. The convex hull in region

for -loss event has a corner point set; , and area;. In the second sub-period, a new point is added to the

corner point set; i.e.,

(or ), if the loss event is classified as-loss event in . The convex hull algorithm is run over

the corner points . The new convex hull area is .The change in the convex hull area is added to the vector;

, where keeps the last areachanges. The max value of the vector is calculated as

, which is used to compute a guardband in the convex hull computation in the latter stages. We set

and .After the initial learning period, the data-query and data-col-

lection phases work in parallel. The data-query phase makes adecision on whether the queried tuple is in one of the convexhulls and determines FEC parameters such as FEC block sizeand the number of parity packets in an FEC block. The dataquery algorithms are presented in Sections IV and V. Thedata-collection phase consists of two parts. The first part up-dates the constructed convex hulls continuously. The purposeof this phase is to deal with the growing behavior of convexhulls even after the learning periods. It works as follows. Whena delay tuple ( or )and its associated loss event ( -loss event) are estimated at theTFRC sender/receiver, the region of the tuple is determined.Let us assume that the region is . The point is added tothe corner points of the convex hull corresponding to -lossevent in , i.e., (or

) and the new convex hull area is .If , then the point is decided to be inthe convex hull of an -loss event. Note that is an over-pro-visioning factor that can be chosen according to the mediarequirements and is the guard band. In the second part,all delay tuples and loss events are collected as in the initialperiod, and convex hull computations are repeated periodically.The purpose of this phase is to adapt to larger changes, e.g.,due to topology changes or link failures.

IV. MEDIA-UNAWARE DYNAMIC FEC ALGORITHMS

A. Dynamic FEC Extended TFRC Algorithms

We design two dynamic FEC protocols: TFRC sender-drivenand TFRC receiver-driven, using the convex-hull-based loss-event classification algorithm proposed in Section III-B. TheTFRC flow rate is set to ; see (1). This flow rate is divided

Page 7: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 875

into the source rate and FEC rate. Our FEC algorithms changedynamically the FEC rate, i.e., the number of parity packetsin each coding interval based on the loss-event classifiers pre-sented in the previous section.4

B. TFRC Sender-Based Implementation

The sender-based FEC algorithm uses the relationship be-tween loss events and tuples at the sender. TheTFRC receiver sends back a report on the loss events and ac-knowledges the most recently received packet after each av-erage period. The sender estimates its most recentaccording to this report. The algorithm determines its FEC rateaccording to the loss-event classification based on thesevalues as described in the previous section. Our algorithm worksas follows.

In the beginning of the initial learning period, the FEC blocksize (i.e., ) is determined. The block size is set using themean estimate of TFRC sender. After this point, our al-gorithm starts collecting delay and loss event samples as de-scribed in the previous section. The FEC rate (parity) selectionin the initial learning period is divided into two phases. In thefirst phase, high FEC rates are used to avoid packet losses. Inthe second phase, an threshold is used to determine theFEC rates. Specifically, we find the minimum value foreach loss event category (e.g., two-loss event) over which par-ticular loss events (e.g., two losses in an FEC block) are seen.During this phase, the FEC rate selection depends only on the

delay and loss event maps. Note that, since the statisticsgathered by the convex hull algorithm proposed in Section III-Bare not sufficient during an initial period, we employ initial pe-riods for our sender- and receiver-based algorithms, and we donot use the estimates of the convex hull algorithms during theseinitial periods.

After the initial learning period, our algorithm determines theclustering regions as discussed in the previous section. At thebeginning of each FEC block, the most recent value ismapped to the FEC block. At this point, since we do not know

, we set . Depending on the location

of the point , the coding rate is tenta-tively assigned to the FEC block, and the number of source andparity packets are determined. The transmitted source packetsare also cached in the sender. While transmitting source packets,if a new report is received from the receiver—and if its es-timate changes—we can calculate a derivative, . Now,

the pair is checked one more time to de-termine to which clustering region they belong. According tothis information, the FEC rate and hence the number of sourcepackets and parity blocks are updated.

Here, we consider that, during and after the initial learning pe-riod, the FEC rate is selected to correct the maximum numberof packet losses predicted by the convex hulls, e.g., if the re-cent delay tuple belongs to several -loss events, the maximum

is selected and the number of parity packets is set to . The

4We note that the TFRC sender/receiver determines the number of lost packetsin an FEC block before error correction and treating the TFRC rate as a con-straint. The learning algorithm does not distinguish between original and paritypackets. In other words, generating parities does not affect loss statistics: it doesnot create extra congestion and does induce additional loss.

reason for this conservative choice is that we mainly considerdata transmission in this section. In addition, we have consid-ered different level of lower FEC rates, up to the maximum ,and we studied the overhead–reliability tradeoff.

When source packets are received by the receiver, they are di-rectly passed to the application layer, but their copies are cachedat the TFRC receiver. After a timeout period from the receptiontime of the last packet from FEC block, FEC decoding begins.

C. TFRC Receiver-Based Implementation

The receiver-based FEC algorithm uses the relation be-tween loss events and tuples and is similar tothe sender-based implementation. Before the beginning ofthe initial learning period, the FEC block size is determined.When the initial learning period begins, the delay tuples andthe corresponding loss events are collected. During both theinitialization and the learning phase, high FEC rates are used toavoid packet losses. In the second phase of the initial learningperiod, an thresholding algorithm runs (similar to the

thresholding). More specifically, the minimumcorresponding to each loss event category is determined and ifthe current is higher than this minimum, a loss event isreported to the sender. If the most recent delay sample is abovethis threshold, the receiver sends immediately feedback to theTFRC sender. The feedback contains the loss-event categoryand the sequence number of the FEC block in which receiverestimates any possible loss.5 When the sender receives thisreport, it generates a number of parity packets equal to thereported loss category. Note that the sender does not send anyparity blocks if it does not receive any report that indicates anypossible loss in that FEC block.

After the learning phase, the convex-hull-based algorithmstarts classifying. If the most recenttuple is considered in a lossy region, again the loss eventcategory and the FEC block sequence number are sent back tothe sender immediately. As with thresholding, the sendertransmits parity packets for the FEC block upon receiving sucha report and after all the source packets of the block are sentout. The decoding part of this algorithm is the same as that ofthe sender-based approach.

D. Simulation Results

We implemented our TFRC sender-based (hereby referred toas “RTT convex-hull”) and TFRC receiver-based (referred toas “FTT convex-hull”) approaches in ns-2 [11] by extendingthe TFRC implementation. We also implemented some simplerdynamic FEC algorithms based on RTT thresholding and FTTthresholding. These algorithms can be considered as a 1-D ver-sion of our convex hull algorithms, which they correlate andclassify packet losses based on delay values instead of (delay,delay derivative) tuples. As a baseline for comparison, we alsoimplemented a fixed FEC scheme that uses a fixed number ofparities at every FEC block. We use the average as a guide-line for choosing the FEC block size in all of the schemes.

5Note that the receiver continues to send periodic reports in order to havethe sender compute the TFRC rate even when no loss prediction is done. Ifimmediate feedback is sent due to loss prediction, we terminate the timer forperiodic reports and restart it.

Page 8: Dynamic FEC Algorithms for TFRC Flows

876 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

Fig. 7. Overhead (ratio of the number of parities over the total number of transmitted packets)-versus-reliability (number of packets lost) tradeoff for variousFEC algorithms on top of TFRC. Buffer sizes are equal to the bandwidth-delay-product. The simulation duration is 16 min. (a) Single-bottleneck topology ofFig. 2. There are ten TCP flows and one TFRC flow in the forward direction. The minimum RTT is 60 ms, and the FEC block size is set to 14 packets. Thechannel capacities are � � � � � � � � 100 Mb/s and � � 10 Mb/s. (b) Single-bottleneck topology of Fig. 2. There are ten TCP flows and one TFRCflow in the forward direction, and four TCP flows in the reverse direction. The minimum RTT is 60 ms, and the FEC block size is set to 20 packets. The channelcapacities are � � � � � � � � 100 Mb/s and � � 10 Mb/s. (c) Multiple-bottleneck topology of Fig. 5. There 12 TCP flows (five flows from � to� , five flows from � to � , and two flows from � to � ) and one TFRC flow in the forward direction (from � to � ). The minimum RTT is set to 120 msfor flows crossing both bottlenecks and to 60 ms for flows crossing a single bottleneck, and the FEC block size is set to 17 packets. The channel capacities are� � � � � � � � � � 100 Mb/s and � � � � 10 Mb/s.

Below, we present a comparison of all aforementioned FECschemes for three simulation scenarios.

Fig. 7(a) compares all FEC schemes for the single-bottlenecktopology of Fig. 2. We measured the average packet loss rateto be 1.3%. Fig. 7(a) shows the number of lost packets duringthe simulation versus the FEC overhead. The -axis shows thenumber of packets lost; each loss value is obtained either whenfixed-rate FEC uses a particular number of parity blocks orwhen dynamic FEC schemes are limited to use up to the samenumber of parity blocks. For instance, in Fig. 7(a), the left-mostpoint corresponds to using maximum of four parity blocks fordynamic FEC schemes, whereas fixed FEC always uses fourparity blocks at that point. The right-most point correspondsto zero parity blocks, hence no FEC protection. The RTT/FTTthresholding algorithms begin running after a 30-s learningphase and the RTT/FTT convex hull algorithms after a 1-minlearning phase. The over-provisioning factor is set to 1.1 forthe RTT-based convex hull algorithm and 0.3 for the FTT-basedconvex-hull algorithm (since the FTT convex hulls convergefaster than RTT convex hulls). In the data-collection phase, isset to 3. The results suggest that our dynamic FEC algorithmsperform better, i.e., improve the overhead-versus-reliabilitytradeoff, than fixed FEC for different loss tolerances. The RTTconvex-hull approach is better than the RTT thresholding, be-cause it takes into account derivatives of RTT as well as RTTs.Receiver-based algorithms perform better than sender-basedalgorithms, because they use more frequently obtained samples.The FTT convex-hull approach is slightly better than the FTTthresholding, but the difference is not significant: valuesconvey more information related to loss events as comparedto the derivatives for this specific scenario (see Fig. 3). Insummary, our RTT and FTT convex-hull algorithms reduceoverhead over fixed FEC up to 40% and 60%, respectively.

Fig. 7(b) shows the FEC overhead versus the number ofpackets lost for two-way traffic over the single-bottlenecktopology of Fig. 2. We measured the average packet lossrate to be 0.5%. The worst loss event in any FEC block

was a three-loss event. The figure shows that only the FTTconvex-hull algorithm improves performance over fixed FEC.This result is explained by Fig. 4, where the lossy region isdistributed over the entire region. Therefore,our RTT convex-hull and RTT thresholding algorithms countall points as in the lossy region without difference from fixedFEC. If we check the graph in Fig. 4, we see thatloss events are distributed over the whole range, whichis why we do not see improvement compared with the FTTthresholding in Fig. 7(b). However, in Fig. 4, we can see that

conveys information about loss events, which explainswhy we see improvement with the FTT convex-hull algorithmin Fig. 7(b).

Fig. 7(c) shows the overhead versus the number of lostpackets for the two-bottleneck topology shown in Fig. 5. Wemeasured the average packet loss rate as 0.8%. The maximumloss event in any FEC block is a four-loss event. The figureshows similar results as in the single-bottleneck topology,which is consistent with the andplots presented in Fig. 6.

In summary, these simulations showed our dynamic FECalgorithms that employ loss prediction (RTT/FTT convex hullalgorithms) improve the overhead-versus-reliability tradeoff,i.e., introduce less FEC overhead than baselines for similarloss rates, or, put differently, for the same FEC overhead, ouralgorithms achieve smaller loss rates, because they intelligentlyadapt the FEC rate as needed throughout the lifetime of asession.

We also investigate how the performance of the FEC algo-rithms depends on the classification. We define the false posi-tive rate as the ratio of no-loss events in a lossy region to allno-loss events; it represents the effectiveness of our classifi-cation. The lower the false positive rate, the better the classi-fication. In Fig. 8, we present the false positive rates (FPRs)in Fig. 8(a)–(e) for a single-bottleneck topology for a rangeof parameters: minimum RTT values, number of TCP flows,buffer sizes, bottleneck bandwidths, and the number of TFRC

Page 9: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 877

Fig. 8. FPRs for both �������� and ����

���� domains and for different parameters: (a) RTT, (b) number of TCP flows, (c) buffer size, (d) bottleneckbandwidth, (e) number of TFRC flows, and (f) number of bottlenecks.

flows. We also consider the different number of bottlenecks,in Fig. 8(f). In this setup, ten TCP flows go through the firstbottleneck and two more TCP flows are crossing at each addi-tional bottleneck. The bottleneck bandwidths are set to 10 Mb/s,and the bandwidth of other links is set to 100 Mb/s. The min-imum RTT is set to 60 ms for each bottleneck link. It is seenthat some times the false positive ratios can be relatively high.For example, in Fig. 8(a), the FPRs for 60 ms are 30%

and 20% for the RTT and FTT convex-hull algorithms, respec-tively. However, even in those cases, the convex-hull regions aresufficiently compact to still bring significant benefit over fixedFEC, in terms of the overhead-versus-reliability tradeoff, e.g., asshown in Fig. 7(a), the RTT and FTT convex-hull algorithms im-prove overhead up to 40% and 60%, compared with fixed FEC.These results indicate that our convex-hull classification algo-rithms are robust for different topologies and traffic parameters.

Page 10: Dynamic FEC Algorithms for TFRC Flows

878 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

V. MEDIA-AWARE DYNAMIC FEC ALGORITHMS

Here, we consider media traffic carried over TFRC and weinvestigate how our loss-event classifiers and dynamic FEC ap-proach can be effectively used to optimize packet schedulingso as to maximize the video quality in objective measures. Thebenefits of the dynamic FEC algorithms presented in the pre-vious section are not sufficient in this case, because paritiesand original packets compete for transmission within the TFRCrate budget. We pose the rate-distortion optimization problemconsidering media-specific properties (namely, distortion valuesand playout deadlines), present a low complexity heuristic, andevaluate its performance.

A. Rate-Distortion Optimized FEC ExtendedTFRC Algorithms

1) Formulation: Let be the set of videopackets that the TFRC sender has in its transmission buffer.Let each FEC block consist of a fixed number of packets .Our goal is to select the FEC rate (i.e., the number of parities

in an FEC block) as well as the packet schedulingpolicy in each FEC block, so as to maximize the video quality(equivalently, minimize distortion), subject to the (TFRC) rateconstraint . is the policy vector, whichconsists of packet transmission policies for each packet inthe next transmissions in an FEC block. Let ,where is a packet transmission policy: indicatesthat we will transmit packet , while indicates thatwe will not. Let be the approximate distortion func-tion at the TFRC sender when an FEC block is transmittedunder policy and FEC protection (number of parities) :

, is the video qualitydistortion when packet is lost. is the probabilitythat packet is lost under policy and FEC protection . Inparticular is expressed as follows:

(7)

where is an indicator function that determines whetherthe packet is transmitted to the receiver before its deadlineexpires, and is the loss probability of the packet underFEC protection and estimating the loss probability using theRTT/FTT convex hull algorithms. Equation (7) states that thepacket loss probability is determined by the packet loss esti-mates and by the FEC protection level, assuming it can be trans-mitted to the receiver on time. The indicator function isdefined as follows:

ifotherwise.

(8)

where is the time required to deliver packet to the receiverand is the delay budget of packet . is expressed as

, where is the packet size,6

and is the average round-trip time. The first term is thewaiting time in the transmission queue before all of the packets

6Note that the video packet sizes are assumed to be the same and equal to �.The packets with smaller packet sizes are zero padded and larger packets aredivided to fit this packet size.

in the FEC block before packet are transmitted. The secondterm is the forward trip time of packet (approximated as halfof the average round-trip time.)

The packet loss probability is expressed as follows:

(9)

where is the probability that the number of packetlosses is equal to in an FEC block given that the most recentdelay estimate for the FEC block is measured at time , i.e.,

.7

This probability is estimated using the RTT/FTT convex-hullalgorithms presented in Section III. To achieve this, we updateour convex-hull algorithms to keep all loss and success eventsand their corresponding delay and delay derivative values.After running the convex-hull classification algorithm and con-structing the convex hulls (say, the convex hull correspondingto the case that the number of packet losses is , i.e., -lossevent), we check the number of loss and success events inthe convex hull. Their ratio provides the frequency of -lossevents, and we assume that this frequency is close to the prob-ability of -loss event since our learning period is sufficientlylong for statistical significance. For example, we label an eventas a two-loss event if this is the maximum we can see in aconvex hull that the delay estimate belongs to, but we stillkeep track of one-loss and two-loss events within this convexhull. Let , , and be the number of two-loss, one-loss,and no-loss events in this convex hull, respectively. Then, wecalculate ,

, and .The second term in (9) represents the probability that thenumber of packet losses in an FEC block is less than thenumber of parity packets . Therefore, all transmitted sourcepackets can be recovered thanks to FEC protection. The thirdterm is the probability of successfully delivering packet ,when the number of packet losses in an FEC block is largerthan the number of parity packets. In that case, it is still possibleto receive some packets successfully depending on whetheroriginal packets or parities are lost.8 is the prob-ability that the losses did not hit the original packet in theFEC block.

We can now express the distortion function as follows:

(10)

is the rate function under policy and FEC pro-tection and can be expressed as

, where is the transmission cost under policyand expressed as in our scheme, and is the

FEC block duration. The first term in this equation is the rateto transmit the source packets in an FEC block and the secondterm is the rate allocated for the parity packets. Considering that

7Note that ���� is calculated given the most recent delay estimate ��; in theremainder of this paper, we refer to ��� � ��� simply as ����.

8Note that we are using systematic codes in which original packets remainsas they are and the parities are generated as the combination of original packets.

Page 11: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 879

, the rate function can be expressed as fol-lows:

(11)

2) Solution: We now discuss the solution of the optimizationproblem

(12)

where and have been defined in (10) and(11), respectively. Using Lagrangian relaxation, this isreduced to solving such that

, where is the Lagrange multiplier.The Lagrange function is expressed as follows:

(13)

The Lagrangian in (13) cannot be decomposed into the sumof the variables due to the terms. A brute-force approachwould consider all possible packet orderings and number ofparities. A more efficient method is based on the method ofalternating variables in multivariate optimization [16]. Fol-lowing this approach, an iterative descent algorithm has beendeveloped in [17] to solve a similar rate-distortion optimizationproblem and is applicable to our problem. Specifically, theobjective function in (13) is solved by maximizing one variableat a time until convergence. Although this method reducesthe computational complexity compared with the brute-forcemethod, the complexity remains quadratic [18]. Furthermore,the optimization requires to know the loss estimate at thebeginning of an FEC block. However, this estimate is based onthe delay and may change during an FEC block in a practicalsystem. To take this into account, and in order to further reducecomputational complexity, we propose a greedy algorithmdescribed next.

3) Greedy Algorithm: Here, we propose a greedy algo-rithm that chooses the number of parities on the fly (i.e., forevery packet instead of every FEC block). First, we considerthe distortion and rate functions presented in (10) and (11).The distortion function in (10) contains a termwhich is constant for the optimization and, thus, can be re-moved. Therefore, the distortion function is expressed as

,where is the improvement function. Note that min-imizing the distortion function is equivalent tomaximizing the improvement function . cannotbe decomposed due to the as explained in the previoussection.

We approximate as follows. Assume that. Thus, if , , other-

wise . This leads to the approximate improvementfunction . Further-

more, we can define a set .The equivalent form of the improvement function is

. Note that approxi-mating the time to deliver packet with is the only thing weneed to enable a greedy algorithm. The rate constraint in (12) isexpressed as by rewriting the inequality.

Furthermore, since , , the constraintis expressed as , where .Then, the original optimization problem can be reduced to

,which can be solved in two levels. First, we fix the number ofparities and solve the following problem:

(14)

The optimization problem in (14) is a 0-1 Knapsack problem.It can be approximately solved by selecting the most important

packets from the set . Let us call this set . Themaximum improvement function is expressed as

. The second part of the problem is to findthe optimal number of parities as follows:

(15)

We solve P1 in (14) and P2 in (15) jointly using Algorithm 1(media-aware dynamic FEC algorithm). An FEC block consistsof packets, each corresponding to a transmission opportunity. At transmission instant , the algorithm determines whether

to transmit a source packet or a parity packet. If it decides totransmit a source packet, it also determines which source packetto be transmitted to maximize video quality. It implements P1and P2 as follows. To solve P1, at each transmission instant inan FEC block, the algorithm chooses the most important packetamong the packets which are eligible for transmission, consid-ering their deadline requirements (i.e., from the set ). ProblemP2: this continues until the improvement of transmitting a newvideo packet is less than transmitting parity packets (line 12).We assume that is a concave function of and its value in-creases from to . When reaches its max-imum value at , parity packets are generated in every trans-mission instant for the rest of the FEC block.

Algorithm 1 The media-aware dynamic FEC algorithm

1: Initialization: , ,

2: for do

3: if then

4: ,

5: for all such that do

6: if then

7: ,

8: end if

9: end for

Page 12: Dynamic FEC Algorithms for TFRC Flows

880 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

10: ,

11: Calculate

12: if then

13: Transmit

14: else

15: Create a parity packet and transmit

16: Create parity packets and add to

17: end if

18: else

19: Choose a and transmit

20. Update

21: end if

22: end for

In terms of computational complexity, Algorithm 1 choosesthe most important packets for transmission out of all of thepackets in the transmission buffer . Therefore, its complexityis loglinear in the number of packets in thetransmission buffer, including sorting.

Finally, note that both sender- and receiver-based algorithmscan be combined with the proposed media-aware dynamic FECalgorithm. In the remainder of this section, we use the terms“optimized” or “media-aware” interchangeably to refer to Al-gorithm 1.

4) Complexity: Our approach has low computational com-plexity and is suitable for real-time implementation because: 1)the proposed algorithms run infrequently and 2) they have lowcomputational complexity. Let us discuss these points in moredetail.

First, the learning algorithms do not need to operate at linespeed. Learning is based on TFRC reports that are sent no morefrequently than once per RTT for sender-based design, or perpacket for receiver-based design. After enough samples are col-lected, the convex hulls are computed. This computation haslog-linear complexity in the number of samples during the initialperiod. After the initial period, delay samples are still continu-ously collected and lead to expansion of the convex hulls. Thus,the convex hulls are continuously updated. However, this up-date has log-linear complexity in the number of corner points ofconvex hulls, which is a small number. Periodically, the convexhulls are recomputed from scratch, which has log-linear com-plexity. In between these (infrequent) periodic computations,the convex hulls do not change much; we confirmed this lastpoint by simulations, which are omitted here for lack of space.Second, the dynamic FEC algorithms are called infrequently: atevery RTT (when an FEC block is constructed). They also havelow complexity. In the media-unaware case, the adaptation isO(1): just adapt the FEC level. In the media-aware case, Algo-rithm 1 is used. Algorithm 1 has log-linear complexity in thenumber of packets in the TFRC buffer; which is typically small,due to delay constraints. Finally, our approach is end-to-end. Itis not targeted to routers operating at high speeds (in the order of

Gb/s). The end-to-end path typically involves some slower/bot-tleneck links. Our approach is most useful when there is conges-tion on the path of the TFRC flow, thus leading to longer RTTsand less frequent updates (once per average RTT). If there is nocongestion on the path, our algorithms could be turned off.

B. Simulations

1) Simulation Setup: We implemented the proposed videoscheduling and FEC rate selection algorithm (the greedy algo-rithm) for both sender (RTT Convex-hull (Opt)) and receiver(FTT Convex-hull (Opt)) -based systems in ns-2 [11] as an ex-tension of the media-unaware dynamic FEC extended TFRCprotocol proposed in the previous sections. We compare themedia-aware algorithms to their media-unaware counterpartsthat do not optimize video packet scheduling and FEC rate se-lection (RTT Convex-hull and FTT Convex-hull). We also com-pare all of these algorithms to the baselines; Fixed FEC and NoFEC.

As our test video sequences, we used the Foreman sequence,QCIF and encoded using the JM 8.6 version of the H.264/AVCcodec [19], [20]. The group of pictures consisted of one I- andnine P-frames. All encoded sequences had a data rate of 420kb/s and frame rate of 30 frame/s. Each frame consists of atleast one slice. Each slice was packetized into an independentnetwork abstraction layer (NAL) unit of size 1000 B. NAL unitsare encapsulated using the real-time transport protocol (RTP)and passed to TFRC protocol. As metric for the video quality ofan encoded sequence, we use the average PSNR, i.e., the peak-signal-to-noise ratio (PSNR) based on the luminance (Y) com-ponent of video sequences, measured in decibels, and averagedover the entire duration of the video sequence. The PSNR of theencoded Foreman sequence before transmission was 25.61 dB.We repeated and concatenated the standard sequence to createa longer test sequence of 8-min duration. At the receiver side,basic copy concealment is used.

2) Simulation Results: Fig. 9 compares the performance ofthe proposed algorithms to Fixed FEC and No FEC for thesingle-bottleneck topology of Fig. 2. The simulation parametersare mentioned on the figure legend. The RTT/FTT thresholdingalgorithms begin after a 30-s learning phase and the RTT/FTTconvex-hull algorithms begin after a 1-min learning phase. Theover-provisioning factor is set to 1.1 for RTT convex-hull al-gorithm and 0.3 for FTT convex-hull algorithm. In the data col-lection phase, is set to 3. This figure shows that the media-aware (optimal convex hull) algorithms achieve higher instanta-neous video quality than their media-unaware counterparts mostof the time.9 As expected, both sets of algorithms perform betterthan Fixed-FEC and No-FEC schemes, for most of the time.This is expected, as the Fixed-FEC algorithms make an inef-ficient use of the total TFRC rate during time-varying conges-tion, while the No-FEC scheme provides no reliability mech-anism. Another interesting point from the simulations is thatFixed FEC performs worse than No FEC, when packet loss rateis low. For example, if there is no loss, the parities allocated by

9We note that there are still a few periods that the media-aware algorithmsperform worse. This is due to the randomness and it is expected because thisfigure shows a specific realization. This is why we also present PSNR valuesaveraged over long simulation duration.

Page 13: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 881

Fig. 9. Instantaneous PSNR over time (frame number) of the proposed algo-rithms for the single-bottleneck topology of Fig. 2 (Paramerters: the link ratesare � � � � � � � � 100 Mb/s, � � 5 Mb/s. There is one video flowtransmitted over TFRC (from � to � ), and with 500-ms delay budget. Thereare ten TCP flows in the forward direction (five flows from � to � and fiveflows from � to � ). The minimum RTT is 60 ms. The buffer size is set to thebandwidth delay product. The simulation duration is 8 min. The average lossrate of video packets in TFRC due to congestion was measured to be 0.017. TheFEC block size was set to 14 packets; a maximum of three packet losses wasobserved in an FEC block (hence, maximum three parities is needed for the dy-namic FEC schemes). Note that this figure is a zoomed-in version of the longerPSNR graph for frame numbers between 750 and 1000.

Fixed FEC are not useful and waste unnecessarily some of therate that could be used to transmit actual video packets. Thisis why the PSNR decreases compared with the No-FEC case.If only a few packets are lost, the No-FEC scheme loses thosevideo packets and the PSNR decreases. However, this loss inquality may still be smaller than, or comparable to, the loss inquality with Fixed FEC, thanks to the loss tolerance of video.This observation indicates that the best approach is the one wepropose in this paper: to dynamically adapt the number of pari-ties so as to correct packet losses while still avoiding too muchredundancy.

Now, we move beyond instantaneous PSNR to metrics thatcompare the schemes over the entire duration of simulation. InTable I, we consider the same simulation setup as above, butwe present statistics over a long time period (8 min). First, wereport the average PSNR values (averaged PSNR of the en-coded video over simulation duration). Our algorithms achievehigher average PSNR than Fixed FEC. The convex hull algo-rithms achieve higher or similar PSNR values compared to theNo FEC scheme.10 Second, we report the standard deviationsof the difference between the instantaneous PSNR of the pro-posed algorithm minus the instantaneous PSNR of the No FECscheme. We distinguish between positive and negative such dif-ferences and we report their standard deviations [PSNR STD

, PSNR STD ]. The difference is positive at times when

10This counter-intuitive result can be explained as follows: our algorithms usesome level of FEC and reduce video rate while fixed FEC continues to transmitvideo packets without rate reduction due to FEC. As it is seen, there is a tradeoffbetween FEC rate and video rate reduction. Although our convex hull algorithmsdo not fully exploit this tradeoff, they are the first step towards the media-awareconvex-hull algorithms, which clearly outperform the No-FEC and Fixed-FECschemes up to 1–2 dB.

TABLE IPERFORMANCE EVALUATION OF THE PROPOSED ALGORITHMS FOR THE

SINGLE-BOTTLENECK TOPOLOGY OF FIG. 2, FOR THE SAME PARAMETERS AS

IN FIG. 9 AND FOR A LONG (8-min) DURATION

the proposed scheme performs better than the baseline and neg-ative otherwise. We see that the media-aware convex hull algo-rithms improve the instantaneous PSNR significantly (up to 3dB for our RTT convex-hull (Opt) algorithm), while there arevery few times that the difference is negative. Third, we reportthe FEC rates. (The average total TFRC rate is 560 kb/s.) Wecan see that the FTT-based schemes are more efficient than theRTT-based schemes, since they provide more granular informa-tion to the sender and the media-aware algorithms have similarFEC rates to their media-unaware counterparts.

Fig. 10(a) presents the average PSNR values versus delaybudget, for the same setup described above. For a low delaybudget (250 ms), the improvement of our algorithms over base-lines is the largest, since video packet scheduling and FEC rateselection becomes crucial. For larger delay budget (1 s), the im-provement decreases since all algorithms have sufficient time todeliver both source packets and parities.

Fig. 10(b) presents the average PSNR versus the number ofTCP flows for the same setup described above. As the numberof TCP flows increases, we see that the benefit of our pro-posed algorithms becomes more important: their performancedegrades much more gracefully than the performance of thebaselines. The reasons are: 1) our algorithms are designedto eliminate packet losses due to congestion and thus per-form better for higher loss rates and 2) when the number ofTCP flows increases, the bandwidth per flow is reduced andpacket scheduling becomes more important, thus our optimizedconvex-hull algorithms perform better.

Table II presents the average PSNR values for the same setupdiscussed here. Now, we vary the number of TCP flows as wellas their arrival time and lifetime. There is a number of long-lived TCP flows that last throughout the simulation duration (8min). However, there are also a number of short-lived TCP flowsthat arrive in bursts and live shorter (2 min). The bursts startrandomly throughout the simulation duration. Our goal was tocreate several episodes of short-term congestion by introducingthe arrival of new TCP flows and thus to create harsher condi-tions for the TFRC flow. We simulated two cases, Case I andCase II for two bottleneck capacities: 5 and 8 Mb/s, the de-tails of which are summarized in the legend of Table II. Wemeasured the loss rates for 5 Mp/s bottleneck capacity to be0.022 and 0.017 on average for Cases I and II, respectively.Despite the comparable average loss rates, Case I is a moreharsh environment than Case II, because the behavior of TCP

Page 14: Dynamic FEC Algorithms for TFRC Flows

882 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

Fig. 10. PSNR evaluation. (a) PSNR versus delay budget for the single-bottleneck topology and the parameters of Fig. 9. Dynamic FEC and media-awarenessbecomes important for tight delay budget. (b) PSNR versus the number of TCP flows for the single-bottleneck topology and the parameters of Fig. 9.

flows increases the burstiness seen by the TFRC flow in CaseI; this was confirmed in simulation. Case I for 5-Mb/s bottle-neck capacity is purposely chosen to create particularly harshconditions (10 long-lived and 16 short-lived TCP flows, anda TFRC flow transmitted over 5-Mb/s bottleneck link) and todemonstrate that, even under these harsh conditions, the pro-posed media-aware algorithms are effective: they achieve PSNRabove 23 dB, when all other algorithms achieve a quite lowPSNR (below 16 dB). The media-unaware (convex-hull) and theFixed-FEC algorithms perform poorly because the bandwidthallocated to the TFRC flow is restricted and the decision on thenumber of parities becomes crucial. In Case II for 5-Mb/s bottle-neck capacity, the same topology is considered but under mildercongestion conditions. In that case, all algorithms achieve PSNRabove 20 dB, but our algorithms still achieve significant benefits(25 dB). Cases I and II simulations are repeated for 8-Mb/s bot-tleneck capacity; we see that our algorithms achieve significantbenefits in these scenarios.

VI. RELATED WORK

The following work are related to our paper: loss and delaymeasurement and their characterization, use of these charac-teristics in the design of TCP and active queue management(AQM), and FEC mechanisms for media.

1) Characterization of Loss and Delay: Loss and delay sta-tistics and their relation to congestion has been studied exten-sively [12], [21]–[25]. One important observation, which is crit-ical for utilizing FEC, is that the packet losses on the Internetare nonnegligible. The Internet Traffic Report for the period ofJuly 23-August 22, 2008, indicates that the packet loss rate onthe Internet is more than 2% on average [26]. Such loss eventsmay have observable impacts on media flows at the applicationlayer, especially considering the bursty loss behavior [21]. In[21], using active probes, it was observed that loss is bursty. In[12], packet loss in the Internet was measured based on speechflows and weak temporal correlation was observed for loss. Thisimplies that relying solely only on the loss statistics is not a very

TABLE IIPERFORMANCE EVALUATION OF THE PROPOSED ALGORITHMS IN TERMS

OF AVERAGE PSNR (dB) FOR THE SINGLE-BOTTLENECK TOPOLOGY.(PARAMETERS: � � � � � � � � 100 Mb/s, 500-ms DELAY BUDGET

FOR THE VIDEO/TFRC FLOW, THE MINIMUM RTT IS 60 ms. THE SIMULATION

DURATION IS 8 min.) CASE I: ONE TFRC FLOW AND TEN LONG-LIVED AND 16SHORT-LIVED TCP FLOWS. FOR THE SHORT FLOWS: THERE ARE EIGHT TCPBURSTS WHICH OCCUR RANDOMLY WITH BURST LENGTH 30 s, TWO TCPFLOWS ARRIVE TO THE SYSTEM RANDOMLY DURING A BURST AND HAVE

A LIFETIME OF 2 min. CASE II: ONE TFRC FLOW, FIVE LONG-LIVED, 24SHORT-LIVED TCP FLOWS. FOR THE SHORT FLOWS: THERE ARE EIGHT TCPBURSTS WITH 30-s LENGTH AND THREE RANDOMLY ARRIVING TCP FLOWS

(IN A BURST) AND HAVE LIFETIME 2 min.

accurate way of predicting the future loss events. In [24], it isobserved that when the packets of a flow are sparse enough thelosses look random and it is argued that open-loop FEC solu-tions become more attractive. This work did not consider theloss-delay characteristics. In [22], it is found that the autocor-relation of packet delays decreases rapidly while there is somesignificant cross correlation between packet loss and large de-lays observed by a continuous media stream. These observationsare critical since they imply that queues building up and bufferoverflows are observable by the consecutive packets of the samestream. In [23], the authors study the delay and loss char-acteristics; their work indicates that the distribution character-istics of and loss rates are interdependent. Separation indistribution, however, is not useful for dynamic FEC that needsinstantaneous loss prediction rather than average loss statistics.Our study shows that loss events are clustered together when vi-sualized on a 2-D map with the delay estimate ( or )

Page 15: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 883

on one axis and the delay derivative on the other axis. There-fore, our method can predict instantaneously the loss rate basedon the last delay sample available to the TFRC sender/receiver.

2) Using Loss and Delay Information in the Design of TCPand AQM: The interdependence of network congestion and

has been the basis of the design philosophy of manyTCP-variants, which are known as delay-based congestioncontrol algorithms [8], [27]. However, critics of these protocolsclaim that delay-based congestion control is inadequate. Forexample, [28] argues that unless the sampling rate issufficiently fast, delay-based methods react to variationsincorrectly leading to poor performance. In [29], similar ob-servations were made; measurements showed weak correlationbetween increase and packet loss. In our controlledsimulation experiments, we found that –based methodsworked well for video traffic in asymmetric congestion withsingle bottlenecks when congestion is induced by TCP flows.However, as more complex scenarios are being considered,indeed estimates become weakly correlated andestimates emerge as the only viable choice with correlationshighly varying across different scenarios.

In contrast to work on congestion control itself, which aimsat determining the flow rate, we consider the flow rate deter-mined by TFRC and provided as input to our problem. Instead,we are interested in the question whether we can provide theright amount of FEC protection by looking at the history of lossevents and the , estimates available at the sendersand/or receivers of a particular flow. In cases where loss anddelay have weak correlation, we can resort to the statistics of theloss events only and apply conservative fixed-rate FEC almostin an open-loop fashion [24]. In cases where there is sufficientcorrelation, we can effectively take advantage of such correla-tions and apply dynamic FEC to reduce the coding overhead.

A key ingredient of our work is that we focus on conges-tion-induced loss and we show that it can be successfully pre-dicted by delay and delay derivative information. The intuitionis that congestion is due to queue overflows and can thereforeby predicted when queues are building up. The idea of antici-pating congestion by looking proactively at queues building up,as opposed to reactively at losses themselves, has been exploredin the context of congestion marking and AQM schemes, e.g.,work on virtual queues [30], [31] proposed to maintain a vir-tual queue at each link with capacity less than the actual ca-pacity of the link; therefore marking the virtual queue can pro-vide an early warning of congestion. Our proposed mechanismsrely solely on end-to-end information to anticipate congestion,and thus differ fundamentally from AQM schemes that have di-rect access to the queues themselves. On the practical side, ourwork can be easily integrated with existing transport protocolswithout changes in the routers or the protocol stack.

3) FEC-Based Schemes: Our work is not the first to tie con-gestion states to the level of FEC protection [3], [32]–[34]. In[3], the congestion losses are modeled with a two-state Gilbertmodel and determined the optimal amount of redundancyneeded. In [32], the authors propose a heuristic loss predictionalgorithm based on the ratio of long-term to short-term

and improve the rate adaptation algorithm of TFRC soas to reduce the rate when future loss events are predicted. In

[33], the authors jointly optimize source coding and FEC ratesubject to the TFRC rate constraint. In [34], the author addsfixed FEC to the control loop of TCP. Compared to this bodyof work, we focus on the impact of TCP-induced congestionon TFRC flows, we characterize the interdependence betweenloss events, delay, and delay derivatives.

There is also a body of work that uses FEC to protectmultimedia streams [35]. In particular, FEC techniques forend-to-end protocols are examined in detail in [36]–[40].They developed FEC schemes for packet loss due to channelerrors rather than congestion-induced losses. There is also asignificant body of work on joint source-video coding that in-corporates FEC [41], [42] and interleaving [43], [44]. The mostsimilar work to ours is [45], [46], in which the authors designFEC systems for TFRC protocol, assuming the underlyingpacket loss system is given [45], or relying on long term lossstatistics [46]. In contrast, our focus is on congestion-based lossmodeling for FEC and incorporation of video in this system.

4) Our Contributions: First, we design novel packet-loss pre-diction algorithms. In terms of intuition, we use the tuple (delay,delay derivative) to predict congestion-induced loss; in termsof methodology, we use convex hulls to perform online classi-fication. Then, we design adaptive FEC (media-unaware) andrate-distortion optimization (media-aware) techniques that uti-lize the loss predictors/classifiers within the context of TFRC.A preliminary version of this work appeared in [7].

VII. CONCLUSION

In this paper, we developed dynamic FEC algorithms thatwork on top of TCP-friendly media transport, TFRC, to combatcongestion-induced losses. A key component of our approachwas a classification algorithm (convex-hull) that classified lossevents based on information about delay and delay derivative,available at the TFRC end-points. The algorithm can success-fully predict congestion-based losses and assist the dynamicFEC module to make informed decisions about the FEC rate.We designed and evaluated two dynamic FEC algorithms. Oneis media-unaware, in that it chooses the FEC rate to match/elimi-nate the predicted loss rate. The second was media-aware, in thatit chooses the FEC rate and the packet scheduling so as to max-imize video quality, within the TFRC rate budget. Simulationresults show that: 1) the proposed media-unaware algorithmsimprove the tradeoff between FEC overhead and reliability upto 40%–60% and 2) the media-aware algorithms improve videoquality up to 5-8 dB compared with baseline schemes.

REFERENCES

[1] C. Huitema, “The case for packet level FEC,” in Proc. PfHSN, SophiaAntipolis, France, Oct. 1996, pp. 109–120.

[2] T. Nguyen and A. Zakhor, “Distributed video streaming with forwarderror correction,” in Proc. Packet Video, Pittsburgh, PA, Apr. 2002, pp.212–223.

[3] J.-C. Bolot, S. Fosse-Parisis, and D. Towsley, “Adaptive fec-based errorcontrol for Internet telephony,” in Proc. IEEE INFOCOM, New York,Mar. 1999, pp. 1453–1460.

[4] K. Park and W. Wang, “AFEC: An adaptive forward error correctionprotocol for end-to-end transport of real-time traffic,” in Proc. IEEEICCCN, Lafayette, LA, Oct. 1998, pp. 196–205.

[5] A. Shokrollahi, “Raptor codes,” in Proc. ISIT, Chicago, IL, Jul. 2004,pp. 2551–2567.

[6] M. Handley, S. Floyd, J. Padhye, and J. Widmer, “CP friendly ratecontrol (TFRC): Protocol specification,” RFC 3448, Jan. 2003.

Page 16: Dynamic FEC Algorithms for TFRC Flows

884 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 8, DECEMBER 2010

[7] H. Seferoglu, U. C. Kozat, M. R. Civanlar, and J. Kempf, “Congestionstate-based dynamic fec algorithm for media friendly transport layer,”in Proc. Packet Video, Seattle, WA, May 2009, pp. 1–10.

[8] D. X. Wei, C. Jin, S. H. Low, and S. Hegde, “FAST TCP: Motivation,architecture, algorithms, performance,” IEEE/ACM Trans. Netw., vol.14, no. 6, pp. 1246–1259, Dec. 2006.

[9] S. Misra, W. Gong, and D. Towsley, “Fluid-based analysis of a networkof AQM routers supporting TCP flows with an application to RED,” inProc. ACM SIGCOMM, Stockholm, Sweden, Aug. 2000, pp. 151–160.

[10] M. A. Marsan, M. Garetto, P. Giaccone, E. Leonardi, E. Schiattarella,and A. Tarello, “Using partial differential equations to model TCP miceand elephants in large IP networks,” IEEE/ACM Trans. Netw., vol. 13,no. 6, pp. 1289–1301, Dec. 2005.

[11] The Network Simulator—ns-2. [Online]. Available: http://www.isi.edu/nsnam/ns/index.html.

[12] M. S. Borella, D. Swider, S. Uludag, and G. B. Brewster, “Internetpacket loss: Measurement and implications for end-to-end QoS,” inProc. CPP, Minneapolis, MN, Aug. 1998, pp. 3–12.

[13] R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2nded. New York: Wiley, 2001.

[14] K. Clarkson, “A short, complete planar convex hull code,” [Online].Available: http://plan9.bell-labs.com/who/clarkson/2dch.c.

[15] A. M. Andrew, “Another efficient algorithm for convex hulls in twodimensions,” Inf. Process. Lett., vol. 9, no. 5, pp. 216–219, 1979.

[16] R. Fletcher, Practical Methods of Optimization, 2nd ed. New York:Wiley, 1987.

[17] P. A. Chou and Z. Miao, “Rate-distortion optimized streaming of pack-etized media,” IEEE Trans. Multimedia, vol. 8, no. 2, pp. 390–404, Apr.2006.

[18] M. Roder, J. Cardinal, and R. Hamzaoui, “On the complexity of rate-distortion optimal streaming of packetized media,” in Proc. IEEE DCC,Snowbird, UT, Mar. 2004, pp. 192–201.

[19] ITU-T Recommendation, “H.264 : Advanced video coding for genericaudiovisual services,” Amendment 1, 2005.

[20] “H.264/AVC Reference Software Version JM 8.6,” H264/AVC Soft-ware Coordination, 2006. [Online]. Available: http://iphome.hhi.de/suehring/tml/download/.

[21] J. Andrén, M. Hilding, and D. Veitch, “Understanding end-to-end In-ternet traffic dynamics,” in Proc. IEEE Globecom, Sydney, Australia,Nov. 1998, pp. 1118–1122.

[22] S. B. Moon, J. Kurose, P. Skelly, and D. Towsley, “Correlation ofpacket delay and loss in the Internet,” Dept. Comput. Sci., Univ. ofMassachusetts, Amherst, MA, 1998.

[23] J. Bi, Q. Wu, and Z. Li, “Packet delay and packet loss in the Internet,”in Proc. ISCC, Taormina, Italy, Jul. 2002, pp. 3–8.

[24] J.-C. Bolot, “Characterizing end-to-end packet delay and loss in theInternet,” J. High Speed Netw., vol. 2, pp. 305–323, 1993.

[25] D. Rubenstein, J. Kurose, and D. Towsley, “Detecting shared conges-tion of flows via end-to-end measurement,” IEEE/ACM Trans. Netw.,vol. 10, no. 3, pp. 381–395, Jun. 2002.

[26] Internet Traffic Report, AnalogX. [Online]. Available: http://www.in-ternettrafficreport.com/.

[27] L. S. Brakmo, S. W. O’Malley, and L. L. Peterson, “TCP Vegas:New techniques for congestion detection and avoidance,” SIGCOMMComput. Commun. Rev., vol. 24, no. 4, pp. 24–35, 1994.

[28] R. S. Prasad, M. Jain, and C. Dovrolis, “On the effectiveness of delay-based congestion avoidance,” in Proc. PFLDnet Workshop, Argonne,IL, Feb. 2004.

[29] J. Martin, A. Nilsson, and I. Rhee, “Delay-based congestion avoidancefor TCP,” IEEE/ACM Trans. Netw., vol. 11, no. 3, pp. 356–369, Jun.2003.

[30] S. Kunniyur and R. Srikant, “End-to-end congestion control: Utilityfunctions, random losses and ECN marks,” IEEE/ACM Trans. Netw.,vol. 11, no. 5, pp. 689–702, Oct. 2003.

[31] S. Kunniyur and R. Srikant, “Analysis and design of an adaptive vir-tual queue algorithm for active queue management,” IEEE ACM Trans.Netw., vol. 12, no. 2, pp. 286–299, Apr. 2004.

[32] S. Futemma, K. Yamane, and E. Itakura, “TFRC-based rate controlscheme for real-time JPEG 2000 video transmission,” in Proc. IEEECCNC, Las Vegas, NV, Jan. 2005, pp. 110–115.

[33] H. Wu, M. Claypool, and R. Kinicki, “A model for MPEG with forwarderror correction and TCP-friendly bandwidth,” in Proc. NOSSDAV, Jun.2003, pp. 122–130.

[34] F. Brockners, “The case for FEC fueled TCP-like congestion control,”in Proc. Kommunikation in Verteilten Systemen, Darmstadt, Germany,Mar. 1999, pp. 250–263.

[35] P. A. Chou and M. van der Schaar, Multimedia Over IP and Wire-less Networks: Compression, Networking, and Systems, 1st ed. NewYork: Academic, 2007.

[36] H. Seferoglu, O. Gurbuz, O. Ercetin, and Y. Altunbasak, “Rate-distor-tion based real-time wireless video streaming,” Signal Process.: ImageCommun., vol. 22, no. 6, pp. 529–542, 2007.

[37] J. R. Taal, K. Langendoen, A. van der Schaaf, H. van Dijk, and R. La-gendijk, “Adaptive end-to-end optimization of mobile video streamingusing QoS negotiation,” in Proc. IEEE ISCAS, Scottsdale, AZ, May2002, pp. 53–56.

[38] T. W. A. Lee, S. H. G. Chan, Q. Zhang, W. W. Zhu, and Y. Q.Zhang, “Optimal allocation of packet-level and byte-level FEC invideo multicasting over wired and wireless networks,” in Proc. IEEEGLOBECOM, San Antonio, TX, Nov. 2001, pp. 1994–1998.

[39] T. W. A. Lee, S. H. G. Chan, Q. Zhang, W. W. Zhu, and Y. Q. Zhang,“Distributed video streaming with forward error correction,” in Proc.Packet Video, Pittsburgh, PA, Apr. 2002, pp. 1–12.

[40] S. S. Karande and H. Radha, “Rate-constrained adaptive FEC for videoover erasure channels with memory,” in Proc. IEEE ICIP, Singapore,Oct. 2004.

[41] S. Gang, X. Wei, W. Ping, and L. Dongming, “Joint source/FEC rateoptimization for constant quality FGS video streaming,” in Proc. CISP,Hainan, China, May 2008, pp. 671–675.

[42] Y. Shan, J. W. Woods, and S. Kalyanaraman, “Distributed fine grainadaptive-FEC scheme for scalable video streaming,” in Proc. SPIEVCIP, San Jose, CA, Jan. 2008, pp. 7–17.

[43] Y. J. Liang, J. G. Apostolopoulos, and B. Girod, “Model-based delay-distortion optimization for video streaming using packet interleaving,”in Proc. Asilomar Conf., Pacific Grove, CA, Feb. 2002, pp. 1315–1319.

[44] J. Cai and C. W. Chen, “FEC-based video streaming over packet lossnetworks with pre-interleaving,” in Proc. ITCC, Las Vegas, NV, Apr.2001, pp. 10–14.

[45] H. Wu, M. Claypool, and R. Kinicki, “A model for MPEG withforward error correction and TCP-friendly bandwidth,” in Proc.NOSSDAV, Monterey, CA, Jun. 2003, pp. 122–130.

[46] N. Wakamiya, M. Miyabayashi, M. Murata, and H. Miyahara, “Dy-namic quality adaptation mechanisms for TCP-friendly MPEG-4 videotransfer,” in Proc. QoS-IP, Milan, Italy, Feb. 2003, pp. 539–550.

Hulya Seferoglu (S’04) received the B.S. degreein electrical engineering from Istanbul University,Istanbul, Turkey, in 2003, and the M.S. degree inelectrical engineering and computer science fromSabanci University, Istanbul, Turkey in 2005. Sheis currently working toward the Ph.D. degree at theUniversity of California, Irvine.

She was a Summer Intern with Microsoft ResearchCambridge, DOCOMO USA Labs, and AT&T Labsin 2007, 2008, and 2010, respectively. Her researchinterests include network coding, error correction

codes, congestion control, and multimedia streaming.

Athina Markopoulou (S’98–M’02) received theDiploma degree in electrical and computer engi-neering from the National Technical Universityof Athens, Athens, Greece, in 1996, and the M.S.and Ph.D. degrees in electrical engineering fromStanford University, Stanford, CA, in 1998 and2003, respectively.

She is an Assistant Professor with the ElectricalEngineering and Computer Science Department,University of California, Irvine. She was a Postdoc-toral Fellow with Sprint Labs (2003) and Stanford

University (2004–2005) and a Member of the Technical Staff with Arastra Inc.(2005). Her research interests include network coding, network measurementsand security, media streaming, and online social networks.

Dr. Markopoulou was the recipient of the National Science Foundation CA-REER Award in 2008.

Page 17: Dynamic FEC Algorithms for TFRC Flows

SEFEROGLU et al.: DYNAMIC FEC ALGORITHMS FOR TFRC FLOWS 885

Ulas C. Kozat received the B.S. degree in electricaland electronics engineering from Bilkent University,Ankara, Turkey, in 1997, the M.S. degree in electricalengineering from the George Washington University,Washington, DC, in 1999, and the Ph.D. degree fromthe University of Maryland, College Park, in 2004.

He has conducted research for the Institute for Sys-tems Research (ISR) and Center for Hybrid and Satel-lite Networks (CSHCN), University of Maryland. Hewas with HRL Laboratories and Telcordia Technolo-gies Applied Research as a Research Intern. Since

May 2004, he has been with DOCOMO USA Laboratories, Palo Alto, CA,where he is currently serving as a Senior Researcher and Project Manager. Hehas been conducting research in the broad areas of wireless communicationsand communication networks.

M. Reha Civanlar (F’05) received the B.S. and M.S.degrees in electrical engineering from Middle EastTechnical University, Ankara, Turkey, and the Ph.D.degree in electrical and computer engineering fromNorth Carolina State University, Raleigh, in 1984.

He is Dean of School of Engineering with ÖzyeginUniversity, Istanbul, Turkey. He was a Vice Presi-dent with DOCOMO USA Laboratories, Palo Alto,CA, from 2006 to 2008, and a Visiting Professor ofComputer Engineering with Koc University, Istanbul,Turkey, from 2002 to 2006. He is on the advisory

boards of Vidyo Inc. (USA) and Argela Tech. Inc. (Turkey). Before Koc Univer-sity, he was head of the Visual Communications Research Department, AT&TLabs-Research, where he joined in 1991. Prior to that, he was with Pixel Ma-chines Department, Bell Labs. His career began with the Center for Commu-

nications and Signal Processing of NCSU. He has authored or coauthored nu-merous publications, several contributions to international standards, and over40 patents. He served as an editor for Journal of Acoustics and Signal Processingand EURASIP Image Communications. His current research interests includenetworked video and multimedia with emphasis on the Internet and wirelesssystems.

Dr. Civanlar is a Fulbright Scholar and a member of Sigma Xi. He was a re-cipient of the 1985 Senior Award of the IEEE Acoustics, Speech, and SignalProcessing Society. He served as an editor for the IEEE TRANSACTIONS ON

COMMUNICATIONS and the IEEE TRANSACTIONS ON MULTIMEDIA. He servedas a member of the Multimedia Signal Processing and Multidimensional SignalProcessing Technical Committees of the IEEE Signal Processing Society.

James Kempf received the Ph.D. degree in systemsengineering and computer science from the Univer-sity of Arizona, Tucson, in 1984.

He then began working in research with occasionaldips into product development. In 1996, he joined theInternet Engineering Task Force, developing protocolstandards for wireless and mobile networks. He haschaired three working groups in IETF and has servedon the Internet Architecture Board for two years. Heauthored a book, Mobile Wireless Internet Security:Architecture and Protocols (Cambridge, U.K.: Cam-

bridge Univ. Press, 2008), a guide on how to apply architecture to security de-sign for wireless networks. In 2008, he joined Ericsson Research, San Jose, CA.Since 2008, he has been working on next-generation Internet strategy and on re-search in new routing technologies for Ericsson. His research interests includerouting architectures and implementation technology, mobile and wireless se-curity, and technologies to save energy in networking.