%!PS-Adobe-3.0 %%Creator: groff version 1.18.1 %%CreationDate: Fri Mar 3 17:17:40 2006 %%DocumentNeededResources: font Courier-Bold %%+ font Times-Bold %%+ font Times-Roman %%+ font Times-Italic %%+ font Symbol %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 24 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Courier-Bold %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Italic %%IncludeResource: font Symbol %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Roman@0 ENC0/Times-Roman RE/Times-Bold@0 ENC0/Times-Bold RE /Courier-Bold@0 ENC0/Courier-Bold RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Courier-Bold@0 SF(Internet Engineering Task Force)72 85 Q(RMT WG) 209.998 E 167.998(INTERNET-DRAFT Joerg)72 98 R(Widmer/DoCoMo Euro-Labs)6 E 155.998(draft-ietf-rmt-bb-tfmcc-06.ps Mark)72 111 R(Handley/UCL)6 E 6 (3M)431.998 137 S(arch 2006)-6 E(Expires: September 2006)365.998 150 Q /F1 14/Times-Bold@0 SF(TCP-Friendly Multicast Congestion Contr)121.309 175 Q(ol \(TFMCC\):)-.252 E(Pr)222.991 188 Q(otocol Speci\214cation) -.252 E/F2 11/Times-Bold@0 SF(Status of this Document)72 233 Q/F3 11 /Times-Roman@0 SF (By submitting this Internet-Draft, each author represents that an)72 249.6 Q 2.75(ya)-.165 G(pplicable patent or other IPR)-2.75 E (claims of which he or she is a)72 262.6 Q -.11(wa)-.165 G(re ha).11 E .33 -.165(ve b)-.22 H(een or will be disclosed, and an).165 E 2.75(yo) -.165 G 2.75(fw)-2.75 G(hich he or she)-2.75 E(becomes a)72 275.6 Q -.11 (wa)-.165 G (re will be disclosed, in accordance with Section 6 of BCP 79.).11 E (Internet-Drafts are w)72 292.2 Q (orking documents of the Internet Engineering T)-.11 E(ask F)-.88 E (orce \(IETF\), its areas,)-.165 E(and its w)72 305.2 Q(orking groups.) -.11 E(Note that other groups may also distrib)5.5 E(ute w)-.22 E (orking documents as)-.11 E(Internet-Drafts.)72 318.2 Q (Internet-Drafts are draft documents v)72 334.8 Q (alid for a maximum of six months and may be updated,)-.275 E (replaced, or obsoleted by other documents at an)72 347.8 Q 2.75(yt) -.165 G 2.75(ime. It)-2.75 F(is inappropriate to use Internet- Drafts) 2.75 E(as reference material or to cite them other than as "w)72 360.8 Q (ork in progress.")-.11 E (The list of current Internet-Drafts can be accessed at http://www)72 377.4 Q(.ietf.or)-.715 E(g/ietf/1id-abstracts.txt)-.198 E (The list of Internet-Draft Shado)72 394 Q 2.75(wD)-.275 G (irectories can be accessed at http://www)-2.75 E(.ietf.or)-.715 E (g/shado)-.198 E -.715(w.)-.275 G(html.).715 E (This document is a product of the IETF RMT WG.)72 410.6 Q (Comments should be addressed to the)5.5 E(authors, or the WG')72 423.6 Q 2.75(sm)-.605 G(ailing list at rmt@lbl.go)-2.75 E -.715(v.)-.165 G F2 (Abstract)267.534 455.6 Q F3(This document speci\214es TCP-Friendly Mul\ ticast Congestion Control \(TFMCC\).)97 478.2 Q(TFMCC is a congestion c\ ontrol mechanism for multicast transmissions in a best-ef)97 491.2 Q (fort)-.275 E(Internet en)97 504.2 Q 2.75(vironment. It)-.44 F (is a single-rate congestion control scheme, where the sending)2.75 E (rate is adapted to the recei)97 517.2 Q -.165(ve)-.275 G 2.75(re).165 G (xperiencing the w)-2.915 E(orst netw)-.11 E(ork conditions.)-.11 E (TFMCC is)5.5 E(reasonably f)97 530.2 Q (air when competing for bandwidth with TCP \215o)-.11 E (ws and has a relati)-.275 E -.165(ve)-.275 G(ly).165 E(lo)97 543.2 Q 2.75(wv)-.275 G(ariation of throughput o)-3.025 E -.165(ve)-.165 G 2.75 (rt).165 G(ime, making it suitable for applications such as)-2.75 E (streaming media where a relati)97 556.2 Q -.165(ve)-.275 G (ly smooth sending rate is of importance.).165 E -.44(Wi)72 697 S (dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 1]).165 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 13/Times-Bold@0 SF -1.196(Ta)239.126 85 S(ble of Contents) 1.196 E/F2 10/Times-Roman@0 SF(1. Introduction)97 123 Q F0 11 (......................)3.56 G F2(3)11.5 E(1.1. T)107 135 Q(erminology) -.7 E F0 11(....................)11.48 G F2(3)11.5 E (1.2. Related Documents)107 147 Q F0 11(..................)11.9 G F2(3) 11.5 E(1.3. En)107 159 Q(vironmental Requirements and Considerations)-.4 E F0 11(..........)3.97 G F2(4)11.5 E(2. Protocol Ov)97 171 Q(ervie)-.15 E(w)-.25 E F0 11(....................)5.08 G F2(4)11.5 E (2.1. TCP Throughput Equation)107 183 Q F0 11(................)11.33 G F2(5)11.5 E(2.2. P)107 195 Q(ack)-.15 E(et Contents)-.1 E F0 11 (...................)12.28 G F2(6)11.5 E(2.2.1. Sender P)117 207 Q(ack) -.15 E(ets)-.1 E F0 11(..................)12.43 G F2(7)11.5 E (2.2.2. Feedback P)117 219 Q(ack)-.15 E(ets)-.1 E F0 11 (..................)1.88 G F2(7)11.5 E(3. Data Sender Protocol)97 231 Q F0 11(...................)8.71 G F2(8)11.5 E(3.1. Sender Initialization) 107 243 Q F0 11(..................)9.12 G F2(8)11.5 E (3.2. Determining the Maximum R)107 255 Q(TT)-.6 E F0 11 (...............)1.52 G F2(8)11.5 E(3.3. Adjusting the Sending Rate)107 267 Q F0 11(................)7.72 G F2(9)11.5 E(3.4. Controlling Recei) 107 279 Q -.15(ve)-.25 G 2.5(rF).15 G(eedback)-2.5 E F0 11 (...............)7.17 G F2(10)6.5 E(3.5. Assisting Recei)107 291 Q -.15 (ve)-.25 G -.2(r-).15 G(Side R).2 E(TT Measurements)-.6 E F0 11 (...........)9.36 G F2(11)6.5 E(3.6. Slo)107 303 Q(wstart)-.25 E F0 11 (.....................)11.72 G F2(12)6.5 E(3.7. Scheduling of P)107 315 Q(ack)-.15 E(et T)-.1 E(ransmissions)-.35 E F0 11(..............).83 G F2(12)6.5 E(4. Data Recei)97 327 Q -.15(ve)-.25 G 2.5(rP).15 G(rotocol) -2.5 E F0 11(...................)1.34 G F2(13)6.5 E(4.1. Recei)107 339 Q -.15(ve)-.25 G 2.5(rI).15 G(nitialization)-2.5 E F0 11 (..................)1.75 G F2(13)6.5 E(4.2. Recei)107 351 Q -.15(ve)-.25 G 2.5(rL).15 G(ea)-2.5 E -.15(ve)-.2 G F0 11(....................)1.43 G F2(13)6.5 E(4.3. Measurement of the Netw)107 363 Q(ork Conditions)-.1 E F0 11(............)9.23 G F2(13)6.5 E(4.3.1. Updating the Loss Ev)117 375 Q(ent Rate)-.15 E F0 11(..............)8.16 G F2(13)6.5 E (4.3.2. Basic Round-T)117 387 Q(rip T)-.35 E(ime Measurement)-.35 E F0 11(............)3.72 G F2(13)6.5 E(4.3.3. One-W)117 399 Q (ay Delay Adjustments)-.8 E F0 11(..............)10.49 G F2(14)6.5 E (4.3.4. Recei)117 411 Q .3 -.15(ve R)-.25 H(ate Measurements).15 E F0 11 (...............).79 G F2(15)6.5 E(4.4. Setting the Desired Rate)107 423 Q F0 11(.................)6.76 G F2(15)6.5 E (4.5. Feedback and Feedback Suppression)107 435 Q F0 11(.............) 11.78 G F2(15)6.5 E(5. Calculation of the Loss Ev)97 447 Q(ent Rate)-.15 E F0 11(...............)9.69 G F2(17)6.5 E (5.1. Detection of Lost or Mark)107 459 Q(ed P)-.1 E(ack)-.15 E(ets)-.1 E F0 11(.............)12.13 G F2(17)6.5 E(5.2. T)107 471 Q (ranslation from Loss History to Loss Ev)-.35 E(ents)-.15 E F0 11 (...........)4.48 G F2(17)6.5 E(5.3. Inter)107 483 Q(-Loss Ev)-.2 E (ent Interv)-.15 E(al)-.25 E F0 11(.................)4.32 G F2(18)6.5 E (5.4. A)107 495 Q -.15(ve)-.74 G(rage Loss Interv).15 E(al)-.25 E F0 11 (..................)2.78 G F2(18)6.5 E(5.5. History Discounting)107 507 Q F0 11(..................)9.11 G F2(19)6.5 E (5.6. Initializing the Loss History after the First Loss Ev)107 519 Q (ent)-.15 E F0 11(........)12.05 G F2(21)6.5 E (6. Security Considerations)97 531 Q F0 11(..................)12.17 G F2 (22)6.5 E(7. IAN)97 543 Q 2.5(AC)-.35 G(onsiderations)-2.5 E F0 11 (...................)7.11 G F2(23)6.5 E(8. Authors' Addresses)97 555 Q F0 11(....................)1.35 G F2(23)6.5 E(9. Ackno)97 567 Q (wledgments)-.25 E F0 11(....................)5.76 G F2(23)6.5 E (10. References)97 579 Q F0 11(......................)3.58 G F2(23)6.5 E (11. Cop)97 591 Q(yright Notice)-.1 E F0 11(....................)5.88 G F2(24)6.5 E F0 -.44(Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 2]).165 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Times-Bold@0 SF 2.75(1. Intr)72 85 R(oduction)-.198 E F0 (This document speci\214es TCP-Friendly Multicast Congestion Control \(\ TFMCC\) [10]. TFMCC is)72 101.6 Q 2.75(as)72 114.6 S (ource-based, single-rate congestion control scheme that b)-2.75 E (uilds upon the unicast TCP-Friendly)-.22 E (Rate Control mechanism \(TFRC\) [2]. TFMCC is stable and responsi)72 127.6 Q .33 -.165(ve u)-.275 H(nder a wide range of).165 E(netw)72 140.6 Q(ork conditions and scales to recei)-.11 E -.165(ve)-.275 G 2.75(rs) .165 G(ets on the order of se)-2.75 E -.165(ve)-.275 G (ral thousand recei).165 E -.165(ve)-.275 G 2.75(rs. T).165 F(o)-.88 E (support scalability)72 153.6 Q 2.75(,a)-.715 G 2.75(sm)-2.75 G (uch congestion control functionality as possible is located at the) -2.75 E(recei)72 166.6 Q -.165(ve)-.275 G 2.75(rs. Each).165 F(recei) 2.75 E -.165(ve)-.275 G 2.75(rc).165 G (ontinuously determines a desired recei)-2.75 E .33 -.165(ve r)-.275 H (ate that is TCP-friendly for).165 E (the path from the sender to this recei)72 179.6 Q -.165(ve)-.275 G 3.96 -.605(r. S).165 H(elected recei).605 E -.165(ve)-.275 G (rs then report the rate to the sender in).165 E(feedback pack)72 192.6 Q(ets.)-.11 E(TFMCC is a b)72 209.2 Q (uilding block as de\214ned in RFC 3048.)-.22 E (Instead of specifying a complete protocol,)5.5 E(this document simply \ speci\214es a congestion control mechanism that could be used in a tran\ sport)72 222.2 Q(protocol such as R)72 235.2 Q(TP [7], in an applicatio\ n incorporating end-to-end congestion control at the)-.66 E (application le)72 248.2 Q -.165(ve)-.275 G (l. This document does not discuss pack).165 E(et formats, reliability) -.11 E 2.75(,o)-.715 G 2.75(ri)-2.75 G(mplementation-)-2.75 E (related issues.)72 261.2 Q(TFMCC is designed to be reasonably f)72 277.8 Q(air when competing for bandwidth with TCP \215o)-.11 E 2.75 (ws. A)-.275 F(multicast \215o)72 290.8 Q 2.75(wi)-.275 G 2.75(s`)-2.75 G(`reasonably f)-3.564 E(air')-.11 E 2.75('i)-.814 G 2.75(fi)-2.75 G (ts sending rate is generally within a f)-2.75 E(actor of tw)-.11 E 2.75 (oo)-.11 G 2.75(ft)-2.75 G(he)-2.75 E(sending rate of a TCP \215o)72 303.8 Q 2.75(wf)-.275 G(rom the sender to the slo)-2.75 E(west recei) -.275 E -.165(ve)-.275 G 2.75(ro).165 G 2.75(ft)-2.75 G (he multicast group under)-2.75 E(the same netw)72 316.8 Q (ork conditions.)-.11 E(In general, TFMCC has a lo)72 333.4 Q 2.75(wv) -.275 G(ariation of throughput, which mak)-3.025 E (es it suitable for applications)-.11 E (such as streaming media where a relati)72 346.4 Q -.165(ve)-.275 G (ly smooth sending rate is of importance.).165 E(The penalty of)5.5 E (ha)72 359.4 Q(ving smooth throughput while competing f)-.22 E (airly for bandwidth is a reduced responsi)-.11 E -.165(ve)-.275 G (ness to).165 E(changes in a)72 372.4 Q -.275(va)-.22 G (ilable bandwidth.).275 E (Thus TFMCC should be used when the application has a)5.5 E (requirement for smooth throughput, in particular)72 385.4 Q 2.75(,a) -.44 G -.22(vo)-2.97 G(iding halving of the sending rate in response).22 E(to a single pack)72 398.4 Q(et drop.)-.11 E -.165(Fo)5.5 G 2.75(ra) .165 G (pplications that simply need to multicast as much data as possible in) -2.75 E(as short a time as possible, PGMCC [6] may be more suitable.)72 411.4 Q F1 2.75(1.1. T)72 441 R(erminology)-1.012 E F0 (In this document, the k)72 457.6 Q .33 -.165(ey w)-.11 H (ords "MUST", "MUST NO).055 E(T", "REQ)-.44 E(UIRED", "SHALL", "SHALL) -.11 E(NO)72 470.6 Q(T", "SHOULD", "SHOULD NO)-.44 E (T", "RECOMMENDED", "MA)-.44 E(Y", and "OPTION)-1.155 E(AL" are to)-.385 E(be interpreted as described in RFC 2119 and indicate requirement le)72 483.6 Q -.165(ve)-.275 G(ls for compliant TFMCC).165 E(implementations.) 72 496.6 Q F1 2.75(1.2. Related)72 535.6 R(Documents)2.75 E F0 (As described in RFC 3048, TFMCC is a b)72 552.2 Q (uilding block that is intended to be used, in conjunction)-.22 E (with other b)72 565.2 Q (uilding blocks, to help specify a protocol instantiation.)-.22 E (In particular)5.5 E 2.75(,T)-.44 G(FMCC is a)-2.75 E (suitable congestion control b)72 578.2 Q(uilding block for N)-.22 E -.44(AC)-.385 G(K-Oriented Reliable Multicast \(NORM\) [1].).44 E -.44 (Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G (ge 3]).165 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Times-Bold@0 SF 2.75(1.3. En)72 85 R(vir)-.44 E (onmental Requir)-.198 E(ements and Considerations)-.198 E F0(TFMCC is \ intended to be a congestion control scheme that can be used in a comple\ te protocol)72 101.6 Q(instantiation that deli)72 114.6 Q -.165(ve)-.275 G(rs objects and streams \(both reliable content deli).165 E -.165(ve) -.275 G(ry and streaming of).165 E(multimedia information\).)72 127.6 Q (TFMCC is most applicable for sessions that deli)72 144.2 Q -.165(ve) -.275 G 2.75(ras).165 G(ubstantial amount of data, i.e., in length)-2.75 E(from hundreds of kilobytes to man)72 157.2 Q 2.75(yg)-.165 G(ig)-2.75 E(abytes, and whose duration is in the order of tens of)-.055 E (seconds or more.)72 170.2 Q(TFMCC is intended for multicast deli)72 186.8 Q -.165(ve)-.275 G(ry).165 E 5.5(.T)-.715 G(here are currently tw) -5.5 E 2.75(om)-.11 G(odels of multicast deli)-2.75 E -.165(ve)-.275 G (ry).165 E(,)-.715 E(the An)72 199.8 Q(y-Source Multicast \(ASM\) model\ as de\214ned in RFC 1112 and the Source-Speci\214c)-.165 E (Multicast \(SSM\) model as de\214ned in [3]. TFMCC w)72 212.8 Q (orks with both multicast models, b)-.11 E(ut in a)-.22 E(slightly dif) 72 225.8 Q(ferent w)-.275 E(ay)-.11 E 5.5(.W)-.715 G (hen using ASM, feedback from the recei)-5.5 E -.165(ve)-.275 G (rs is multicast to the sender).165 E(as well as to all other recei)72 238.8 Q -.165(ve)-.275 G 2.75(rs. Feedback).165 F (can be either multicast on the same group address used)2.75 E (for sending data or on a separate multicast feedback group address.)72 251.8 Q -.165(Fo)5.5 G 2.75(rS).165 G(SM, the recei)-2.75 E -.165(ve) -.275 G(rs must).165 E(unicast the feedback directly to the sender)72 264.8 Q 5.5(.H)-.605 G(ence, feedback from a recei)-5.5 E -.165(ve)-.275 G 2.75(rw).165 G(ill not be recei)-2.75 E -.165(ve)-.275 G(d).165 E (by other recei)72 277.8 Q -.165(ve)-.275 G(rs.).165 E (TFMCC inherently w)72 294.4 Q(orks with all types of netw)-.11 E (orks, including LANs, W)-.11 E(ANs, Intranets, the)-1.32 E (Internet, asymmetric netw)72 307.4 Q(orks, wireless netw)-.11 E (orks, and satellite netw)-.11 E 2.75(orks. Ho)-.11 F(we)-.275 E -.165 (ve)-.275 G .88 -.44(r, i).165 H 2.75(ns).44 G(ome)-2.75 E(netw)72 320.4 Q(ork en)-.11 E(vironments v)-.44 E (arying the sending rate to the recei)-.275 E -.165(ve)-.275 G (rs may not be adv).165 E(antageous \(e.g., for)-.275 E 2.75(as)72 333.4 S(atellite or wireless netw)-2.75 E (ork, there may be no mechanism for recei)-.11 E -.165(ve)-.275 G (rs to ef).165 E(fecti)-.275 E -.165(ve)-.275 G(ly reduce).165 E (their reception rate since there may be a \214x)72 346.4 Q (ed transmission rate allocated to the session\).)-.165 E(The dif)72 363 Q(ference in responsi)-.275 E -.165(ve)-.275 G (ness of TFMCC and TCP may result in signi\214cant throughput).165 E (dif)72 376 Q(ferences in case of a v)-.275 E(ery lo)-.165 E 2.75(wb) -.275 G 2.75(itrate. TFMCC)-2.75 F(requires an estimate of the loss e) 2.75 E -.165(ve)-.275 G(nt rate to).165 E(calculate a f)72 389 Q (air sending rate.)-.11 E (This estimate may be inaccurate in case TFMCC recei)5.5 E -.165(ve) -.275 G 2.75(so).165 G(nly v)-2.75 E(ery)-.165 E(fe)72 402 Q 2.75(wp) -.275 G(ack)-2.75 E(ets per R)-.11 E(TT)-.66 E 5.5(.T)-.814 G (FMCC should not be used together with TCP if the capacity of the)-5.5 E (bottleneck link is less than 30KBit/s \(e.g., a v)72 415 Q(ery slo) -.165 E 2.75(wm)-.275 G(odem connection\).)-2.75 E(TFMCC may also)5.5 E (achie)72 428 Q .33 -.165(ve a r)-.275 H(ate that is v).165 E(ery dif) -.165 E(ferent from the a)-.275 E -.165(ve)-.22 G (rage TCP rate in case b).165 E(uf)-.22 E(fer space at the)-.275 E (bottleneck is se)72 441 Q -.165(ve)-.275 G(rely underpro).165 E (visioned. In particular)-.165 E 2.75(,T)-.44 G (FMCC is less susceptible to small b)-2.75 E(uf)-.22 E(fer)-.275 E (sizes since TFMCC spaces out pack)72 454 Q (ets in time, while TCP sends them back-to-back. Thus TCP is)-.11 E (much more lik)72 467 Q(ely to see a pack)-.11 E(et loss if b)-.11 E(uf) -.22 E(fer space is scarce.)-.275 E (TFMCC is designed for applications that use a \214x)72 483.6 Q(ed pack) -.165 E(et size, and v)-.11 E(ary their sending rate in)-.275 E(pack)72 496.6 Q(ets per second in response to congestion.)-.11 E (Some audio applications require a \214x)5.5 E(ed interv)-.165 E(al of) -.275 E(time between pack)72 509.6 Q(ets and v)-.11 E(ary their pack) -.275 E(et size instead of their pack)-.11 E(et rate in response to)-.11 E 2.75(congestion. The)72 522.6 R (congestion control mechanism in this document cannot be used by those) 2.75 E(applications.)72 535.6 Q F1 2.75(2. Pr)72 574.6 R(otocol Ov)-.198 E(er)-.11 E(view)-.11 E F0(TFMCC e)72 591.2 Q (xtends the basic mechanisms of TFRC into the multicast domain.)-.165 E (In order to compete)5.5 E -.11(fa)72 604.2 S(irly with TCP).11 E 2.75 (,T)-1.221 G(FMCC recei)-2.75 E -.165(ve)-.275 G(rs indi).165 E (vidually measure the pre)-.275 E -.275(va)-.275 G(lent netw).275 E (ork conditions and)-.11 E(calculate a rate that is TCP-friendly on the\ path from the sender to themselv)72 617.2 Q 2.75(es. The)-.165 F (rate is)2.75 E(determined using an equation for TCP throughput, which \ roughly describes TCP')72 630.2 Q 2.75(ss)-.605 G(ending rate as)-2.75 E -.44(Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 4]).165 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E 2.75(af)72 85 S(unction of the loss e)-2.75 E -.165(ve)-.275 G (nt rate, round-trip time \(R).165 E(TT\), and pack)-.66 E(et size.)-.11 E 1.76 -.88(We d)5.5 H(e\214ne a loss e).88 E -.165(ve)-.275 G(nt as) .165 E(one or more lost or mark)72 98 Q(ed pack)-.11 E (ets from the pack)-.11 E(ets recei)-.11 E -.165(ve)-.275 G 2.75(dd).165 G(uring one R)-2.75 E(TT)-.66 E 2.75(,w)-.814 G(here a mark)-2.75 E(ed) -.11 E(pack)72 111 Q(et refers to a congestion indication from Explicit\ Congestion Noti\214cation \(ECN\) [5]. The)-.11 E (sending rate of the multicast transmission is adapted to the recei)72 124 Q -.165(ve)-.275 G 2.75(re).165 G(xperiencing the w)-2.915 E(orst) -.11 E(netw)72 137 Q(ork conditions.)-.11 E(Basically)72 153.6 Q 2.75 (,T)-.715 G(FMCC')-2.75 E 2.75(sc)-.605 G(ongestion control mechanism w) -2.75 E(orks as follo)-.11 E(ws:)-.275 E 7.15<8345>72 170.2 S(ach recei) -7.15 E -.165(ve)-.275 G 2.75(rm).165 G(easures the loss e)-2.75 E -.165 (ve)-.275 G(nt rate and its R).165 E(TT to the sender)-.66 E(.)-.605 E 7.15<8345>72 186.8 S(ach recei)-7.15 E -.165(ve)-.275 G 2.75(rt).165 G(\ hen uses this information, together with an equation for TCP throughput\ , to)-2.75 E(deri)83 199.8 Q .33 -.165(ve a T)-.275 H (CP-friendly sending rate.).165 E 7.15<8354>72 216.4 S(hrough a distrib) -7.15 E(uted feedback suppression mechanism, only a subset of the recei) -.22 E -.165(ve)-.275 G(rs are).165 E(allo)83 229.4 Q(wed to gi)-.275 E .33 -.165(ve f)-.275 H(eedback to pre).165 E -.165(ve)-.275 G (nt a feedback implosion at the sender).165 E 5.5(.T)-.605 G (he feedback)-5.5 E(mechanism ensures that recei)83 242.4 Q -.165(ve) -.275 G(rs reporting a lo).165 E 2.75(wd)-.275 G (esired transmission rate ha)-2.75 E .33 -.165(ve a h)-.22 H(igh).165 E (probability of sending feedback.)83 255.4 Q 7.15<8352>72 272 S(ecei) -7.15 E -.165(ve)-.275 G(rs whose feedback is not suppressed report the\ calculated transmission rate back to the).165 E (sender in so-called recei)83 285 Q -.165(ve)-.275 G 2.75(rr).165 G 2.75 (eports. The)-2.75 F(recei)2.75 E -.165(ve)-.275 G 2.75(rr).165 G (eports serv)-2.75 E 2.75(et)-.165 G .22 -.11(wo p)-2.75 H(urposes: the) .11 E 2.75(yi)-.165 G(nform the)-2.75 E (sender about the appropriate transmit rate, and the)83 298 Q 2.75(ya) -.165 G(llo)-2.75 E 2.75(wt)-.275 G(he recei)-2.75 E -.165(ve)-.275 G (rs to measure their R).165 E(TT)-.66 E(.)-.814 E 7.15<8354>72 314.6 S (he sender selects the recei)-7.15 E -.165(ve)-.275 G 2.75(rt).165 G (hat reports the lo)-2.75 E(west rate as current limiting recei)-.275 E -.165(ve)-.275 G 2.75(r\().165 G(CLR\).)-2.75 E(Whene)83 327.6 Q -.165 (ve)-.275 G 2.75(rf).165 G(eedback with an e)-2.75 E -.165(ve)-.275 G 2.75(nl).165 G -.275(ow)-2.75 G(er rate reaches the sender).275 E 2.75 (,t)-.44 G(he corresponding recei)-2.75 E -.165(ve)-.275 G(r).165 E (becomes CLR and the sending rate is reduced to match that recei)83 340.6 Q -.165(ve)-.275 G(r').165 E 2.75(sc)-.605 G(alculated rate.)-2.75 E(The)5.5 E(sending rate increases when the CLR reports a calculated ra\ te higher than the current sending)83 353.6 Q(rate.)83 366.6 Q (The dynamics of TFMCC are sensiti)72 383.2 Q .33 -.165(ve t)-.275 H 2.75(oh).165 G .55 -.275(ow t)-2.75 H (he measurements are performed and applied and).275 E (what feedback suppression mechanism is chosen.)72 396.2 Q 1.76 -.88 (We r)5.5 H(ecommend speci\214c mechanisms belo).88 E 2.75(wt)-.275 G(o) -2.75 E(perform and apply these measurements.)72 409.2 Q (Other mechanisms are possible, b)5.5 E(ut it is important to)-.22 E (understand ho)72 422.2 Q 2.75(wt)-.275 G (he interactions between mechanisms af)-2.75 E (fect the dynamics of TFMCC.)-.275 E/F1 11/Times-Bold@0 SF 2.75 (2.1. TCP)72 461.2 R(Thr)2.75 E(oughput Equation)-.198 E F0(An)72 477.8 Q 2.75(yr)-.165 G(ealistic equation gi)-2.75 E (ving TCP throughput as a function of loss e)-.275 E -.165(ve)-.275 G (nt rate and R).165 E(TT should be)-.66 E(suitable for use in TFMCC.)72 490.8 Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, w).165 H 2.75 (en).44 G(ote that the TCP throughput equation used must)-2.75 E (re\215ect TCP')72 503.8 Q 2.75(sr)-.605 G(etransmit timeout beha)-2.75 E(vior)-.22 E 2.75(,a)-.44 G 2.75(st)-2.75 G (his dominates TCP throughput at higher loss rates.)-2.75 E 1.76 -.88 (We a)72 516.8 T(lso note that the assumptions implicit in the throughp\ ut equation about the loss e).88 E -.165(ve)-.275 G(nt rate).165 E (parameter ha)72 529.8 Q .33 -.165(ve t)-.22 H 2.75(ob).165 G 2.75(ear) -2.75 G(easonable match to ho)-2.75 E 2.75(wt)-.275 G (he loss rate or loss e)-2.75 E -.165(ve)-.275 G(nt rate is actually) .165 E 2.75(measured. While)72 542.8 R(this match is not perfect for th\ e throughput equation and loss rate measurement)2.75 E(mechanisms gi)72 555.8 Q -.165(ve)-.275 G 2.75(nb).165 G(elo)-2.75 E 1.43 -.715(w, i) -.275 H 2.75(np).715 G (ractice the assumptions turn out to be close enough.)-2.75 E(The throu\ ghput equation we currently recommend for TFMCC is a slightly simpli\ \214ed v)72 572.4 Q(ersion of)-.165 E (the throughput equation for Reno TCP from [4]:)72 585.4 Q -.44(Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 5]) .165 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Times-Italic@0 SF(X)108.869 90.786 Q/F2 11/Symbol SF(=) 3.993 E F0(8)75.449 -7.7 M F1(s).374 E(R)-80.509 25.372 M F0(\().297 E /F3 27/Symbol SF 10.79 -14.823(\326` `)6.847 L F0(2)15.742 -14.547 M F1 (p)1.375 E F0(3)-8.905 15.4 M .44 LW 169.793 105.598 157.539 105.598 DL F2(+)173.423 108.458 Q F0 -.638 -1.221(\(1 2)1.892 H F3 10.647 -14.823 (\326` `)3.091 6.847 P F0(3)15.742 -14.547 M F1(p)1.375 E F0(8)-8.905 15.4 M 224.59 105.598 212.479 105.598 DL(\))225.591 108.458 Q F1(p)1.375 E F0 -1.221(\(1).209 G F2(+)3.531 E F0 -.33(32)1.947 G F1(p)1.705 E/F4 7.7/Times-Roman@0 SF(2)-.022 -3.08 M F0 -.319(\)\)).231 3.08 O 283.187 87.926 130.022 87.926 DL(\(1\))491.174 90.786 Q(where)72 148.081 Q/F5 11 /Courier@0 SF(X)97 164.681 Q F0(is the transmit rate in bits/second.) 2.75 E F5(s)97 181.281 Q F0(is the pack)2.75 E(et size in bytes.)-.11 E F5(R)97 197.881 Q F0(is the round-trip time in seconds.)2.75 E F5(p)97 214.481 Q F0(is the loss e)2.75 E -.165(ve)-.275 G (nt rate, between 0.0 and 1.0, of the number of loss e).165 E -.165(ve) -.275 G(nts as a fraction of the).165 E(number of pack)97 227.481 Q (ets transmitted.)-.11 E(In future, dif)72 244.081 Q (ferent TCP equations may be substituted for this equation.)-.275 E (The requirement is that)5.5 E(the throughput equation be a reasonable \ approximation of the sending rate of TCP for conformant)72 257.081 Q (TCP congestion control.)72 270.081 Q(The parameters)72 286.681 Q F5(s) 2.75 E F0(\(pack)2.75 E(et size\),)-.11 E F5(p)2.75 E F0(\(loss e)2.75 E -.165(ve)-.275 G(nt rate\) and).165 E F5(R)2.75 E F0(\(R)2.75 E (TT\) need to be measured or calculated)-.66 E (by a TFMCC implementation.)72 299.681 Q(The measurement of)5.5 E F5(R) 2.75 E F0(is speci\214ed in Section 4.3.2, and the)2.75 E (measurement of)72 312.681 Q F5(p)2.75 E F0 (is speci\214ed in Section 5. The parameter)2.75 E F5(s)2.75 E F0 (\(pack)2.75 E(et size\) is normally kno)-.11 E(wn to)-.275 E (an application.)72 325.681 Q(This may not be so in tw)5.5 E 2.75(oc) -.11 G(ases:)-2.75 E 7.15<8354>72 342.281 S(he pack)-7.15 E (et size naturally v)-.11 E(aries depending on the data.)-.275 E (In this case, although the pack)5.5 E(et size)-.11 E -.275(va)83 355.281 S(ries, that v).275 E (ariation is not coupled to the transmit rate.)-.275 E (It should normally be safe to use an)5.5 E(estimate of the mean pack)83 368.281 Q(et size for)-.11 E F5(s)2.75 E F0(.)A 7.15<8354>72 384.881 S (he application needs to change the pack)-7.15 E (et size rather than the number of pack)-.11 E(ets per second to)-.11 E (perform congestion control.)83 397.881 Q(This w)5.5 E (ould normally be the case with pack)-.11 E(et audio applications)-.11 E (where a \214x)83 410.881 Q(ed interv)-.165 E (al of time needs to be represented by each pack)-.275 E 2.75(et. Such) -.11 F(applications need)2.75 E(to ha)83 423.881 Q .33 -.165(ve a d)-.22 H(if).165 E(ferent w)-.275 E(ay of measuring parameters.)-.11 E (Currently)72 440.481 Q 2.75(,T)-.715 G (FMCC cannot be used for the second class of applications.)-2.75 E/F6 11 /Times-Bold@0 SF 2.75(2.2. P)72 479.481 R(ack)-.11 E(et Contents)-.11 E F0(Before specifying the sender and recei)72 496.081 Q -.165(ve)-.275 G 2.75(rf).165 G(unctionality)-2.75 E 2.75(,w)-.715 G 2.75(ed)-2.75 G (escribe the congestion control)-2.75 E(information contained in pack)72 509.081 Q(ets sent by the sender and feedback pack)-.11 E (ets from the recei)-.11 E -.165(ve)-.275 G(rs.).165 E(Information from\ the sender can either be sent in separate congestion control messages \ or)72 522.081 Q(piggyback)72 535.081 Q(ed onto data pack)-.11 E 2.75 (ets. If)-.11 F (separate congestion control messages are sent at time interv)2.75 E (als)-.275 E(lar)72 548.081 Q(ger than the time interv)-.198 E (al between data pack)-.275 E (ets \(e.g., once per feedback round\), it is necessary)-.11 E(to be ab\ le to include timestamp information destined for more than one recei)72 561.081 Q -.165(ve)-.275 G 2.75(rt).165 G 2.75(oa)-2.75 G(llo)-2.75 E 2.75(wa)-.275 G(suf)72 574.081 Q(\214cient number of recei)-.275 E -.165 (ve)-.275 G(rs to measure their R).165 E(TT)-.66 E(.)-.814 E(As TFMCC w\ ill be used along with a transport protocol, we do not specify pack)72 590.681 Q(et formats, since)-.11 E (these depend on the details of the transport protocol used.)72 603.681 Q(The recommended representation of)5.5 E(the header \214elds is gi)72 616.681 Q -.165(ve)-.275 G 2.75(nb).165 G(elo)-2.75 E 4.18 -.715(w. A) -.275 H(lternati).715 E -.165(ve)-.275 G(ly).165 E 2.75(,i)-.715 G 2.75 (ft)-2.75 G(he computational o)-2.75 E -.165(ve)-.165 G (rhead of a \215oating point).165 E(representation is prohibiti)72 629.681 Q -.165(ve)-.275 G 2.75<2c8c>.165 G -.165(xe)-2.75 G 2.75(dp) .165 G(oint arithmetic can be used at the e)-2.75 E(xpense of lar)-.165 E(ger pack)-.198 E(et)-.11 E -.44(Wi)72 697 S(dmer/Handle).44 E 319.437 (y[)-.165 G -.165(Pa)-319.437 G(ge 6]).165 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(headers.)72 85 Q/F1 11/Times-Bold@0 SF 2.75(2.2.1. Sender)72 124 R -.11(Pa)2.75 G(ck).11 E(ets)-.11 E F0(Each pack)72 140.6 Q (et sent by the data sender contains the follo)-.11 E(wing information:) -.275 E 7.15<8341>72 157.2 S(sequence number)-4.4 E/F2 11/Courier@0 SF (i)2.75 E F0 5.5(.T)C (his number is incremented by one for each data pack)-5.5 E (et transmitted.)-.11 E(The \214eld must be suf)83 170.2 Q (\214ciently lar)-.275 E(ge that it does not wrap causing tw)-.198 E 2.75(od)-.11 G(if)-2.75 E(ferent pack)-.275 E(ets with the)-.11 E (same sequence number to be in the recei)83 183.2 Q -.165(ve)-.275 G(r') .165 E 2.75(sr)-.605 G(ecent pack)-2.75 E(et history at the same time.) -.11 E(In most)5.5 E(cases the sequence number will be supplied by the \ transport protocol used along with TFMCC.)83 196.2 Q 7.15<8341>72 212.8 S(suppression rate)-4.4 E F2(X_supp)2.75 E F0(in bits/s.)2.75 E (Only recei)5.5 E -.165(ve)-.275 G(rs with a calculated rate lo).165 E (wer than the)-.275 E(suppression rate are eligible to gi)83 225.8 Q .33 -.165(ve f)-.275 H(eedback, unless their R).165 E (TT is higher than the maximum)-.66 E -.66(RT)83 238.8 S 2.75(Td).66 G (escribed belo)-2.75 E 2.75(wi)-.275 G 2.75(nw)-2.75 G(hich case the) -2.75 E 2.75(ya)-.165 G(re also eligible to gi)-2.75 E .33 -.165(ve f) -.275 H 2.75(eedback. The).165 F(suppression)2.75 E (rate should be represented as a 12 bit \215oating point v)83 251.8 Q (alue with 5 bits for the unsigned e)-.275 E(xponent)-.165 E(and 7 bits\ for the unsigned mantissa \(to represent rates from 100 bit/s to 400 G\ bit/s with an)83 264.8 Q(error of less than 1%\).)83 277.8 Q 7.15<8341> 72 294.4 S(timestamp)-4.4 E F2(ts_i)2.75 E F0(indicating when the pack) 2.75 E(et is sent.)-.11 E(The resolution of the timestamp should)5.5 E (typically be milliseconds and the timestamp should be an unsigned inte) 83 307.4 Q(ger v)-.165 E(alue no less than)-.275 E(16 bits wide.)83 320.4 Q 7.15<8341>72 337 S(recei)-4.4 E -.165(ve)-.275 G 2.75(rI).165 G (D)-2.75 E F2(r)2.75 E F0(and a cop)2.75 E 2.75(yo)-.11 G 2.75(ft)-2.75 G(he timestamp)-2.75 E F2(ts_r)2.75 E F0(of that recei)2.75 E -.165(ve) -.275 G(r').165 E 2.75(sl)-.605 G(ast report, which allo)-2.75 E(ws) -.275 E(the recei)83 350 Q -.165(ve)-.275 G 2.75(rt).165 G 2.75(om)-2.75 G(easure its R)-2.75 E(TT)-.66 E 5.5(.T)-.814 G(he recei)-5.5 E -.165 (ve)-.275 G 2.75(rI).165 G 2.75(Di)-2.75 G 2.75(sd)-2.75 G (escribed in the ne)-2.75 E(xt section.)-.165 E(The)5.5 E(resolution of\ the timestamp echo should be milliseconds and the timestamp should be \ an)83 363 Q(unsigned inte)83 376 Q(ger v)-.165 E (alue no less than 16 bits wide.)-.275 E (If separate instead of piggyback)5.5 E(ed congestion)-.11 E (control messages are used, the pack)83 389 Q (et needs to contain a list of recei)-.11 E -.165(ve)-.275 G 2.75(rI) .165 G(Ds with corresponding)-2.75 E(timestamps to allo)83 402 Q 2.75 (was)-.275 G(uf)-2.75 E(\214cient number of recei)-.275 E -.165(ve)-.275 G(rs to simultaneously measure their R).165 E(TT)-.66 E 5.5(.F)-.814 G (or)-5.665 E(the def)83 415 Q(ault v)-.11 E(alues used for the feedback\ process this corresponds to a list size on the order of)-.275 E (10 to 20 entries.)83 428 Q 7.15<8341>72 444.6 S(\215ag)-4.4 E F2 (is_CLR)2.75 E F0(indicating whether the recei)2.75 E -.165(ve)-.275 G 2.75(rw).165 G(ith ID)-2.75 E F2(r)2.75 E F0(is the CLR.)2.75 E 7.15 <8341>72 461.2 S(feedback round counter)-4.4 E F2(fb_nr)2.75 E F0 5.5 (.T)C(his counter is incremented by the sender at the be)-5.5 E(ginning) -.165 E(of a ne)83 474.2 Q 2.75(wf)-.275 G (eedback round to notify the recei)-2.75 E -.165(ve)-.275 G (rs than all feedback for older rounds should be).165 E 2.75 (suppressed. The)83 487.2 R (feedback round counter should be at least 4 bits wide.)2.75 E 7.15 <8341>72 503.8 S(maximum R)-4.4 E(TT v)-.66 E(alue)-.275 E F2(R_max)2.75 E F0 2.75(,r)C(epresenting the maximum of the R)-2.75 E (TTs of all recei)-.66 E -.165(ve)-.275 G 2.75(rs. The).165 F -.66(RT)83 516.8 S 2.75(Ts).66 G(hould be measured in milliseconds.)-2.75 E (An 8 bit \215oating point v)5.5 E(alue with 4 bits for the)-.275 E (unsigned e)83 529.8 Q (xponent and 4 bits for the unsigned mantissa \(to represent R)-.165 E (TTs from 1 millisecond)-.66 E(to 64 seconds with an error of ca. 6%\) \ should be used for the representation.)83 542.8 Q F1 2.75(2.2.2. F)72 581.8 R(eedback P)-.275 E(ack)-.11 E(ets)-.11 E F0(Each feedback pack)72 598.4 Q(et sent by a data recei)-.11 E -.165(ve)-.275 G 2.75(rc).165 G (ontains the follo)-2.75 E(wing information:)-.275 E 7.15<8341>72 615 S (unique recei)-4.4 E -.165(ve)-.275 G 2.75(rI).165 G(D)-2.75 E F2(r)2.75 E F0 5.5(.I)C 2.75(nm)-5.5 G(ost cases the recei)-2.75 E -.165(ve)-.275 G 2.75(rI).165 G 2.75(Dw)-2.75 G(ill be supplied by the transport)-2.75 E(protocol, b)83 628 Q(ut it may simply be the IP address of the recei) -.22 E -.165(ve)-.275 G -.605(r.).165 G -.44(Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 7]).165 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E 7.15<8341>72 85 S(\215ag)-4.4 E/F1 11/Courier@0 SF(have_RTT) 2.75 E F0(indicating whether the recei)2.75 E -.165(ve)-.275 G 2.75(rh) .165 G(as made at least one R)-2.75 E(TT measurement)-.66 E (since it joined the session.)83 98 Q 7.15<8341>72 114.6 S(\215ag)-4.4 E F1(have_loss)2.75 E F0(indicating whether the recei)2.75 E -.165(ve) -.275 G 2.75(re).165 G(xperienced at least one loss e)-2.915 E -.165(ve) -.275 G(nt since it).165 E(joined the session.)83 127.6 Q 7.15<8341>72 144.2 S(\215ag)-4.4 E F1(receiver_leave)2.75 E F0 (indicating that the recei)2.75 E -.165(ve)-.275 G 2.75(rw).165 G (ill lea)-2.75 E .33 -.165(ve t)-.22 H(he session \(and should).165 E (therefore not be CLR\).)83 157.2 Q 7.15<8341>72 173.8 S(timestamp)-4.4 E F1(ts_r)2.75 E F0(indicating when the feedback pack)2.75 E (et is sent.)-.11 E(The representation of the)5.5 E(timestamp should be\ the same as that of the timestamp echo in the data pack)83 186.8 Q (ets.)-.11 E 7.15<8341>72 203.4 S 2.75(ne)-7.15 G (cho of the timestamp of the last data pack)-2.75 E(et recei)-.11 E -.165(ve)-.275 G 2.75(d. If).165 F(the last pack)2.75 E(et recei)-.11 E -.165(ve)-.275 G 2.75(da).165 G 2.75(tt)-2.75 G(he)-2.75 E(recei)83 216.4 Q -.165(ve)-.275 G 2.75(rh).165 G(as sequence number)-2.75 E F1(i) 2.75 E F0 2.75(,t)C(hen)-2.75 E F1(ts_i)2.75 E F0 (is included in the feedback.)2.75 E(If there is a delay)5.5 E F1(t_d)83 229.4 Q F0(between recei)2.75 E(ving that last data pack)-.275 E (et and sending feedback, then)-.11 E F1(ts_i' = ts_i +)2.75 E(t_d)83 242.4 Q F0(is included in the feedback instead of)2.75 E F1(ts_i)2.75 E F0 2.75(.T)C(he representation of the timestamp echo)-2.75 E (should be the same as that of the timestamp in the data pack)83 255.4 Q (ets.)-.11 E 7.15<8341>72 272 S(feedback round echo)-4.4 E F1(fb_nr)2.75 E F0 2.75(,r)C(e\215ecting the highest feedback round counter v)-2.75 E (alue recei)-.275 E -.165(ve)-.275 G 2.75(ds).165 G(o)-2.75 E -.11(fa)83 285 S 3.96 -.605(r. T).11 H(he representation of the feedback round ech\ o should be the same as the one used for the).605 E (feedback round counter in the data pack)83 298 Q(ets.)-.11 E 7.15<8354> 72 314.6 S(he desired sending rate)-7.15 E F1(X_r)2.75 E F0 5.5(.T)C (his is the rate calculated by the recei)-5.5 E -.165(ve)-.275 G 2.75 (rt).165 G 2.75(ob)-2.75 G 2.75(eT)-2.75 G(CP-friendly on)-2.75 E (the path from the sender to this recei)83 327.6 Q -.165(ve)-.275 G 3.96 -.605(r. T).165 H(he representation of the desired sending rate should) .605 E(be the same as that of the suppression rate in the data pack)83 340.6 Q(ets.)-.11 E/F2 11/Times-Bold@0 SF 2.75(3. Data)72 379.6 R (Sender Pr)2.75 E(otocol)-.198 E F0 (The data sender multicasts a stream of data pack)72 396.2 Q (ets to the data recei)-.11 E -.165(ve)-.275 G(rs at a controlled rate.) .165 E(Whene)72 409.2 Q -.165(ve)-.275 G 2.75(rf).165 G (eedback is recei)-2.75 E -.165(ve)-.275 G (d, the sender checks if it is necessary to switch CLRs and to).165 E (readjust the sending rate.)72 422.2 Q(The main tasks that ha)72 438.8 Q .33 -.165(ve t)-.22 H 2.75(ob).165 G 2.75(ep)-2.75 G(ro)-2.75 E (vided by a TFMCC sender are:)-.165 E 7.15<8361>72 455.4 S (djusting the sending rate,)-7.15 E 7.15<8363>72 472 S(ontrolling recei) -7.15 E -.165(ve)-.275 G 2.75(rf).165 G(eedback, and)-2.75 E 7.15<8361> 72 488.6 S(ssisting recei)-7.15 E -.165(ve)-.275 G -.22(r-).165 G (side R).22 E(TT measurements.)-.66 E F2 2.75(3.1. Sender)72 527.6 R (Initialization)2.75 E F0(At initialization of the sender)72 544.2 Q 2.75(,t)-.44 G(he maximum R)-2.75 E(TT is set to a v)-.66 E (alue that should be lar)-.275 E(ger than the)-.198 E(highest R)72 557.2 Q(TT to an)-.66 E 2.75(yo)-.165 G 2.75(ft)-2.75 G(he recei)-2.75 E -.165 (ve)-.275 G 2.75(rs. It).165 F (should not be smaller than 500 milliseconds for operation)2.75 E (in the public Internet.)72 570.2 Q(The sending rate)5.5 E F1(X)2.75 E F0(is initialized to 1 pack)2.75 E(et per maximum R)-.11 E(TT)-.66 E(.) -.814 E F2 2.75(3.2. Determining)72 609.2 R(the Maximum R)2.75 E(TT)-.44 E F0 -.165(Fo)72 625.8 S 2.75(re).165 G(ach feedback pack)-2.75 E (et that arri)-.11 E -.165(ve)-.275 G 2.75(sa).165 G 2.75(tt)-2.75 G (he sender)-2.75 E 2.75(,t)-.44 G (he sender computes the instantaneous R)-2.75 E(TT to)-.66 E(the recei) 72 638.8 Q -.165(ve)-.275 G 2.75(ra).165 G(s)-2.75 E -.44(Wi)72 697 S (dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 8]).165 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Courier@0 SF(R_r = t_now - ts_i)108 85 Q F0(where)72 104 Q F1(t_now)2.75 E F0(is the time the feedback pack)2.75 E(et arri)-.11 E -.165(ve)-.275 G 2.75(d. Recei).165 F -.165(ve)-.275 G(rs will ha).165 E .33 -.165(ve a)-.22 H(djusted).165 E F1(ts_i)2.75 E F0(for the)2.75 E (time interv)72 117 Q(al between recei)-.275 E(ving the last data pack) -.275 E(et and sending the corresponding report so that)-.11 E (this interv)72 130 Q(al will not be included in)-.275 E F1(R_r)2.75 E F0 5.5(.I)C 2.75(ft)-5.5 G(he actual R)-2.75 E (TT is smaller than the resolution of the)-.66 E(timestamps and)72 143 Q F1(t_now)2.75 E F0(equals)2.75 E F1(ts_i)2.75 E F0 2.75(,t)C(hen)-2.75 E F1(R_r)2.75 E F0(is set to the smallest positi)2.75 E .33 -.165(ve R) -.275 H(TT v)-.495 E(alue lar)-.275 E(ger)-.198 E (than 0 \(i.e., 1 millisecond in our case\).)72 156 Q (If the instantaneous R)5.5 E(TT is lar)-.66 E(ger than the current) -.198 E(maximum R)72 169 Q(TT)-.66 E 2.75(,t)-.814 G(he maximum R)-2.75 E(TT is increased to that v)-.66 E(alue)-.275 E F1(R_max = R_r)108 188 Q F0(Otherwise, if no feedback with a higher instantaneous R)72 207 Q (TT than the maximum R)-.66 E(TT is recei)-.66 E -.165(ve)-.275 G(d).165 E(during a feedback round \(see Section 3.4\), the maximum R)72 220 Q (TT is reduced to)-.66 E F1(R_max = MAX\(R_max * 0.9, R_peak\))108 239 Q F0(where)72 258 Q F1(R_peak)2.75 E F0(is the peak recei)2.75 E -.165(ve) -.275 G 2.75(rR).165 G(TT measured during the feedback round.)-3.41 E (The maximum R)72 274.6 Q (TT is mainly used for feedback suppression among recei)-.66 E -.165(ve) -.275 G(rs with heterogeneous).165 E -.66(RT)72 287.6 S(Ts. Feedback su\ ppression is closely coupled to the sending of data pack).66 E (ets and for this reason,)-.11 E(the maximum R)72 300.6 Q (TT must not decrease belo)-.66 E 2.75(wt)-.275 G (he maximum time interv)-2.75 E(al between consecuti)-.275 E .33 -.165 (ve d)-.275 H(ata).165 E(pack)72 313.6 Q(ets:)-.11 E F1 (R_max = max\(R_max, s/X + t_gran\))108 332.6 Q F0(where)72 351.6 Q F1 (t_gran)2.75 E F0(is the granularity of the sender')2.75 E 2.75(ss)-.605 G(ystem clock \(see Section 3.7\).)-2.75 E/F2 11/Times-Bold@0 SF 2.75 (3.3. Adjusting)72 390.6 R(the Sending Rate)2.75 E F0 (When a feedback pack)72 407.2 Q(et from recei)-.11 E -.165(ve)-.275 G (r).165 E F1(r)2.75 E F0(arri)2.75 E -.165(ve)-.275 G 2.75(sa).165 G 2.75(tt)-2.75 G(he sender)-2.75 E 2.75(,t)-.44 G (he sender has to check whether it)-2.75 E (is necessary to adjust the transmission rate and to switch to a ne)72 420.2 Q 2.75(wC)-.275 G(LR.)-2.75 E(Ho)72 436.8 Q 2.75(wt)-.275 G (he rate is adjusted depends on the desired rate)-2.75 E F1(X_r)2.75 E F0(of the recei)2.75 E -.165(ve)-.275 G 2.75(rr).165 G 2.75(eport. W) -2.75 F 2.75(ed)-.88 G(istinguish)-2.75 E(four cases:)72 449.8 Q F2(1)72 466.4 Q F0(If no CLR is present, recei)19.5 E -.165(ve)-.275 G(r).165 E F1(r)2.75 E F0(becomes the current limiting recei)2.75 E -.165(ve)-.275 G 3.96 -.605(r. T).165 H(he sending rate).605 E F1(X)2.75 E F0(is)2.75 E (directly set to)97 479.4 Q F1(X_r)2.75 E F0 2.75(,s)C 2.75(ol)-2.75 G (ong as this w)-2.75 E(ould result in a rate increase of less than)-.11 E F1(8s/R_max)2.75 E F0(bits/s \(i.e., 1 pack)97 492.4 Q(et per)-.11 E F1(R_max)2.75 E F0 2.75(\). Otherwise)B F1(X)2.75 E F0 (is gradually increased to)2.75 E F1(X_r)2.75 E F0(at an increase)2.75 E (rate of no more than)97 505.4 Q F1(8s/R_max)2.75 E F0(bits/s e)2.75 E -.165(ve)-.275 G(ry).165 E F1(R_max)2.75 E F0(seconds.)2.75 E F2(2)72 522 Q F0(If recei)19.5 E -.165(ve)-.275 G(r).165 E F1(r)2.75 E F0 (is not the CLR b)2.75 E(ut a CLR is present, then recei)-.22 E -.165 (ve)-.275 G(r).165 E F1(r)2.75 E F0(becomes the current)2.75 E (limiting recei)97 535 Q -.165(ve)-.275 G 2.75(ri).165 G(f)-2.75 E F1 (X_r)2.75 E F0(is less than the current sending rate)2.75 E F1(X)2.75 E F0(and the)2.75 E F1(receiver_leave)2.75 E F0(\215ag of that recei)97 548 Q -.165(ve)-.275 G(r').165 E 2.75(sr)-.605 G(eport is not set.)-2.75 E(Furthermore, the sending rate is reduced to)5.5 E F1(X_r)2.75 E F0(.)A F2(3)72 564.6 Q F0(If recei)19.5 E -.165(ve)-.275 G(r).165 E F1(r)2.75 E F0(is not the CLR b)2.75 E(ut a CLR is present and the)-.22 E F1 (receiver_leave)2.75 E F0(\215ag of the)2.75 E(CLR')97 577.6 Q 2.75(sl) -.605 G(ast report w)-2.75 E(as set, then recei)-.11 E -.165(ve)-.275 G (r).165 E F1(r)2.75 E F0(becomes the current limiting recei)2.75 E -.165 (ve)-.275 G 3.96 -.605(r. H).165 H -.275(ow).605 G -2.365 -.275(ev e) .275 H -.44(r,).275 G(if)97 590.6 Q F1(X_r > X)2.75 E F0 2.75(,t)C (he sending rate is not increased to)-2.75 E F1(X_r)2.75 E F0 (for the duration of a feedback round)2.75 E(to allo)97 603.6 Q 2.75(wo) -.275 G(ther \(lo)-2.75 E(wer rate\) recei)-.275 E -.165(ve)-.275 G (rs to gi).165 E .33 -.165(ve f)-.275 H(eedback and be selected as CLR.) .165 E F2(4)72 620.2 Q F0(If recei)19.5 E -.165(ve)-.275 G(r).165 E F1 (r)2.75 E F0(is the CLR, the sending rate is set to the minimum of)2.75 E F1(X_r)2.75 E F0(and)2.75 E F1 6.6(X+)2.75 G(8s/R_max)97 633.2 Q F0 (bits/s.)2.75 E -.44(Wi)72 697 S(dmer/Handle).44 E 319.437(y[)-.165 G -.165(Pa)-319.437 G(ge 9]).165 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(If the recei)72 85 Q -.165(ve)-.275 G 2.75(rh).165 G (as not yet measured its R)-2.75 E(TT b)-.66 E(ut already e)-.22 E (xperienced pack)-.165 E(et loss \(indicated by the)-.11 E (corresponding \215ags in the recei)72 98 Q -.165(ve)-.275 G 2.75(rr) .165 G(eport\), the recei)-2.75 E -.165(ve)-.275 G 2.75(rr).165 G (eport will include a desired rate that is)-2.75 E (based on the maximum R)72 111 Q(TT rather than the actual R)-.66 E (TT to that recei)-.66 E -.165(ve)-.275 G 3.96 -.605(r. I).165 H 2.75 (nt).605 G(his case, the sender)-2.75 E (adjusts the desired rate using its measurement of the instantaneous R) 72 124 Q(TT)-.66 E/F1 11/Courier@0 SF(R_r)2.75 E F0(to that recei)2.75 E -.165(ve)-.275 G(r:).165 E F1(X_r' = X_r * R_max / R_r)108 143 Q(X_r')72 162 Q F0(is then used instead of)2.75 E F1(X_r)2.75 E F0 (to detect whether to switch to a ne)2.75 E 2.75(wC)-.275 G(LR.)-2.75 E (If the TFMCC sender recei)72 178.6 Q -.165(ve)-.275 G 2.75(sn).165 G 2.75(or)-2.75 G(eports from the CLR for 4 R)-2.75 E (TTs, the sending rate is cut in half)-.66 E(unless the CLR w)72 191.6 Q (as selected less than 10 R)-.11 E(TTs ago.)-.66 E (In addition, if the sender recei)5.5 E -.165(ve)-.275 G 2.75(sn).165 G 2.75(or)-2.75 G(eports)-2.75 E(from the CLR for at least 10 R)72 204.6 Q (TTs, it assumes that the CLR crashed or left the group.)-.66 E 2.75(An) 5.5 G -.275(ew)-2.75 G (CLR is selected from the feedback that subsequently arri)72 217.6 Q -.165(ve)-.275 G 2.75(sa).165 G 2.75(tt)-2.75 G(he sender)-2.75 E 2.75 (,a)-.44 G(nd we increase as in)-2.75 E(case 3 abo)72 230.6 Q -.165(ve) -.165 G(.).165 E(If no ne)72 247.2 Q 2.75(wC)-.275 G (LR can be selected \(i.e., in the absence of)-2.75 E/F2 11 /Times-Italic@0 SF(any)2.75 E F0(feedback from an)2.75 E 2.75(yo)-.165 G 2.75(ft)-2.75 G(he recei)-2.75 E -.165(ve)-.275 G(rs\) it is).165 E (necessary to further reduce the sending rate.)72 260.2 Q -.165(Fo)5.5 G 2.75(re).165 G -.165(ve)-3.025 G(ry 10 consecuti).165 E .33 -.165(ve R) -.275 H(TTs without feedback,)-.495 E(the sending rate is cut in half.) 72 273.2 Q(The rate is at most reduced to one pack)5.5 E(et e)-.11 E -.165(ve)-.275 G(ry 8 seconds.).165 E(Note that when recei)72 289.8 Q -.165(ve)-.275 G(rs stop recei).165 E(ving data pack)-.275 E(ets, the) -.11 E 2.75(yw)-.165 G(ill stop sending feedback.)-2.75 E(This)5.5 E -2.365 -.275(ev e)72 302.8 T (ntually causes the sending rate to be reduced in the case of netw).275 E(ork f)-.11 E 2.75(ailure. If)-.11 F(the netw)2.75 E(ork)-.11 E (subsequently reco)72 315.8 Q -.165(ve)-.165 G (rs, a linear increase to the calculated rate of the CLR will occur at) .165 E F1(8s/R_max)72 328.8 Q F0(bits/s e)2.75 E -.165(ve)-.275 G(ry) .165 E F1(R_max)2.75 E F0(.)A/F3 11/Times-Bold@0 SF 2.75(3.4. Contr)72 367.8 R(olling Recei)-.198 E -.11(ve)-.11 G 2.75(rF).11 G(eedback)-3.025 E F0(The recei)72 384.4 Q -.165(ve)-.275 G(rs allo).165 E (wed to send a recei)-.275 E -.165(ve)-.275 G 2.75(rr).165 G (eport are determined in so-called feedback rounds.)-2.75 E (Feedback rounds ha)72 397.4 Q .33 -.165(ve a d)-.22 H(uration).165 E F1 (T)2.75 E F0(of six times the maximum R)2.75 E(TT)-.66 E 5.5(.I)-.814 G 2.75(nc)-5.5 G(ase the multicast model)-2.75 E(is ASM, i.e., recei)72 410.4 Q -.165(ve)-.275 G 2.75(rf).165 G(eedback is multicast to the who\ le group, the duration of a feedback round)-2.75 E (may be reduced to four times the maximum R)72 423.4 Q(TT)-.66 E(.)-.814 E(Only recei)72 440 Q -.165(ve)-.275 G (rs wishing to report a rate that is lo).165 E (wer than the suppression rate)-.275 E F1(X_supp)2.75 E F0 2.75(,o)C 2.75(rt)-2.75 G(hose)-2.75 E(with a higher R)72 453 Q(TT than)-.66 E F1 (R_max)2.75 E F0(may send feedback.)2.75 E(At the be)5.5 E (ginning of each feedback round,)-.165 E F1(X_supp)72 466 Q F0 (is set to the highest possible v)2.75 E(alue that can be represented.) -.275 E(When feedback arri)5.5 E -.165(ve)-.275 G 2.75(sa).165 G 2.75 (tt)-2.75 G(he)-2.75 E(sender o)72 479 Q -.165(ve)-.165 G 2.75(rt).165 G (he course of a feedback round,)-2.75 E F1(X_supp)2.75 E F0 (is decreased such that more and more)2.75 E(feedback is suppressed to) 72 492 Q -.11(wa)-.275 G(rds the end of the round.).11 E(Ho)5.5 E 2.75 (wr)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(rf).165 G (eedback is spread out o)-2.75 E -.165(ve)-.165 G(r).165 E (the feedback round is discussed in Section 4.5.)72 505 Q(Whene)72 521.6 Q -.165(ve)-.275 G 2.75(rn).165 G (on-CLR feedback for the current round arri)-2.75 E -.165(ve)-.275 G 2.75(sa).165 G 2.75(tt)-2.75 G(he sender)-2.75 E(,)-.44 E F1(X_supp)2.75 E F0(is reduced to)2.75 E F1(X_supp = \(1-g\) * X_r)108 540.6 Q F0(if)72 559.6 Q F1(X_supp > X_r)2.75 E F0 5.5(.F)C (eedback that causes the corresponding recei)-5.5 E -.165(ve)-.275 G 2.75(rt).165 G 2.75(ob)-2.75 G 2.75(es)-2.75 G(elected as CLR, b)-2.75 E (ut)-.22 E -.11(wa)72 572.6 S 2.75(sf).11 G(rom a non-CLR recei)-2.75 E -.165(ve)-.275 G 2.75(ra).165 G 2.75(tt)-2.75 G (he time of sending also contrib)-2.75 E (utes to the feedback suppression.)-.22 E(Note that)72 585.6 Q F1(X_r) 2.75 E F0(must not be adjusted by the sender to re\215ect the recei)2.75 E -.165(ve)-.275 G(r').165 E 2.75(sr)-.605 G(eal R)-2.75 E(TT in case) -.66 E F1(X_r)2.75 E F0 -.11(wa)72 598.6 S 2.75(sc).11 G (alculated using the maximum R)-2.75 E(TT)-.66 E 2.75(,a)-.814 G 2.75 (si)-2.75 G 2.75(sd)-2.75 G (one for setting the sending rate \(Section 3.3\),)-2.75 E (otherwise a feedback implosion is possible.)72 611.6 Q(The parameter) 5.5 E F1(g)2.75 E F0(determines to what e)2.75 E(xtent higher)-.165 E (rate feedback can suppress lo)72 624.6 Q(wer rate feedback.)-.275 E (This mechanism guarantees, that the lo)5.5 E(west)-.275 E (calculated rate reported lies within a f)72 637.6 Q(actor of)-.11 E F1 (g)2.75 E F0(of the actual lo)2.75 E(west calculated rate of the recei) -.275 E -.165(ve)-.275 G(r).165 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 10]).165 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(set \(see [9]\). A v)72 85 Q(alue of)-.275 E/F1 11/Courier@0 SF(g)2.75 E F0(of 0.1 is recommended.)2.75 E 1.76 -.88(To a)72 101.6 T (llo).88 E 2.75(wr)-.275 G(ecei)-2.75 E -.165(ve)-.275 G (rs to suppress their feedback, the sender').165 E 2.75(ss)-.605 G (uppression rate needs to be updated)-2.75 E(whene)72 114.6 Q -.165(ve) -.275 G 2.75(rf).165 G(eedback is recei)-2.75 E -.165(ve)-.275 G 2.75 (d. This).165 F(suppression rate has to be communicated to the recei) 2.75 E -.165(ve)-.275 G(rs in).165 E 2.75(at)72 127.6 S(imely manner) -2.75 E 2.75(,e)-.44 G(ither by including it in the data pack)-2.75 E (et header or)-.11 E 2.75(,i)-.44 G 2.75(fs)-2.75 G (eparate congestion control)-2.75 E(messages are used, by sending a mes\ sage with the suppression rate whene)72 140.6 Q -.165(ve)-.275 G 2.75 (rt).165 G(he rate changes)-2.75 E (signi\214cantly \(i.e., when it is reduced to less than)72 153.6 Q F1 (\(1-g\))2.75 E F0(times the pre)2.75 E(viously adv)-.275 E(ertised) -.165 E(suppression rate\).)72 166.6 Q(After a time span of)72 183.2 Q F1(T)2.75 E F0 2.75(,t)C(he feedback round ends if non-CLR feedback w) -2.75 E(as recei)-.11 E -.165(ve)-.275 G 2.75(dd).165 G(uring that)-2.75 E 2.75(time. Otherwise,)72 196.2 R(the feedback round ends as soon as t\ he \214rst non-CLR feedback message arri)2.75 E -.165(ve)-.275 G(s).165 E(at the sender b)72 209.2 Q(ut at most after)-.22 E F1(2T)2.75 E F0 5.5 (.T)C(he feedback round counter is incremented by one and the)-5.5 E (suppression rate)72 222.2 Q F1(X_supp)2.75 E F0 (is reset to the highest representable v)2.75 E 2.75(alue. The)-.275 F (feedback round counter)2.75 E (restarts with round 0 after a wrap-around.)72 235.2 Q/F2 11 /Times-Bold@0 SF 2.75(3.5. Assisting)72 274.2 R(Recei)2.75 E -.11(ve) -.11 G -.407(r-).11 G(Side R).407 E(TT Measur)-.44 E(ements)-.198 E F0 (Recei)72 290.8 Q -.165(ve)-.275 G(rs measure their R).165 E (TT by sending a timestamp with a recei)-.66 E -.165(ve)-.275 G 2.75(rr) .165 G(eport, which is echoed by)-2.75 E(the sender)72 303.8 Q 5.5(.I) -.605 G 2.75(fc)-5.5 G(ongestion control information is piggyback)-2.75 E(ed onto data pack)-.11 E(ets, usually only one)-.11 E(recei)72 316.8 Q -.165(ve)-.275 G 2.75(rI).165 G 2.75(Da)-2.75 G (nd timestamp can be included.)-2.75 E (If multiple feedback messages from dif)5.5 E(ferent)-.275 E(recei)72 329.8 Q -.165(ve)-.275 G(rs arri).165 E .33 -.165(ve a)-.275 H 2.75(tt) .165 G(he sender during the time interv)-2.75 E(al between tw)-.275 E 2.75(od)-.11 G(ata pack)-2.75 E(ets, the sender has to)-.11 E (decide which recei)72 342.8 Q -.165(ve)-.275 G 2.75(rt).165 G 2.75(oa) -2.75 G(llo)-2.75 E 2.75(wt)-.275 G 2.75(om)-2.75 G(easure R)-2.75 E(TT) -.66 E 5.5(.T)-.814 G(he same applies if separate congestion control) -5.5 E(messages allo)72 355.8 Q 2.75(wt)-.275 G 2.75(oe)-2.75 G (cho multiple recei)-2.75 E -.165(ve)-.275 G 2.75(rt).165 G (imestamps simultaneously b)-2.75 E(ut the number of recei)-.22 E -.165 (ve)-.275 G(rs).165 E(that g)72 368.8 Q -2.475 -.22(av e)-.055 H (feedback since the last congestion control message e)2.97 E (xceeds the list size.)-.165 E(The sender')72 385.4 Q 2.75(st)-.605 G (imestamp echoes are prioritized in the follo)-2.75 E(wing order:)-.275 E 14(1. a)72 402 R(ne)2.75 E 2.75(wC)-.275 G (LR \(after a change of CLR')-2.75 E(s\) or a CLR without an)-.605 E 2.75(yp)-.165 G(re)-2.75 E(vious R)-.275 E(TT measurements)-.66 E 14 (2. recei)72 418.6 R -.165(ve)-.275 G(rs without an).165 E 2.75(yp)-.165 G(re)-2.75 E(vious R)-.275 E (TT measurements in the order of the feedback round echo)-.66 E (of the corresponding recei)97 431.6 Q -.165(ve)-.275 G 2.75(rr).165 G (eport \(i.e., older feedback \214rst\))-2.75 E 14(3. non-CLR)72 448.2 R (recei)2.75 E -.165(ve)-.275 G(rs with pre).165 E(vious R)-.275 E (TT measurements, ag)-.66 E(ain in ascending order of the)-.055 E (feedback round echo of the report)97 461.2 Q 14(4. the)72 477.8 R(CLR) 2.75 E -.385(Ti)72 494.4 S(es are brok).385 E(en in f)-.11 E -.22(avo) -.11 G 2.75(ro).22 G 2.75(ft)-2.75 G(he recei)-2.75 E -.165(ve)-.275 G 2.75(rw).165 G(ith the lo)-2.75 E(west reported rate.)-.275 E (It is necessary to account for the time that elapses between recei)72 511 Q(ving a report and sending the ne)-.275 E(xt)-.165 E(data pack)72 524 Q 2.75(et. This)-.11 F(time needs to be deducted from the R)2.75 E (TT and thus has to be added to the)-.66 E(recei)72 537 Q -.165(ve)-.275 G(r').165 E 2.75(st)-.605 G(imestamp v)-2.75 E(alue.)-.275 E(Whene)72 553.6 Q -.165(ve)-.275 G 2.75(rn).165 G 2.75(of)-2.75 G(eedback pack) -2.75 E(ets arri)-.11 E .33 -.165(ve i)-.275 H 2.75(nt).165 G(he interv) -2.75 E(al between tw)-.275 E 2.75(od)-.11 G(ata pack)-2.75 E (ets, the CLR')-.11 E 2.75(sl)-.605 G(ast)-2.75 E (timestamp, adjusted by the appropriate of)72 566.6 Q(fset, is echoed.) -.275 E(When the number of pack)5.5 E(ets per R)-.11 E(TT is)-.66 E (so lo)72 579.6 Q 2.75(wt)-.275 G(hat all pack)-2.75 E (ets carry a non-CLR recei)-.11 E -.165(ve)-.275 G(r').165 E 2.75(st) -.605 G(imestamp, the CLR')-2.75 E 2.75(st)-.605 G(imestamp and ID are) -2.75 E(included in a data pack)72 592.6 Q (et at least once per feedback round.)-.11 E -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 11]).165 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Times-Bold@0 SF 2.75(3.6. Slo)72 85 R(wstart)-.11 E F0 (TFMCC uses a slo)72 101.6 Q(wstart mechanism to quickly approach its f) -.275 E(air bandwidth share at the start of a)-.11 E 2.75 (session. During)72 114.6 R(slo)2.75 E (wstart, the sending rate increases e)-.275 E(xponentially)-.165 E 5.5 (.T)-.715 G(he rate increase is limited)-5.5 E (to the minimum of the rates included in the recei)72 127.6 Q -.165(ve) -.275 G 2.75(rr).165 G(eports and recei)-2.75 E -.165(ve)-.275 G (rs report twice the rate at).165 E(which the)72 140.6 Q 2.75(yc)-.165 G (urrently recei)-2.75 E .33 -.165(ve d)-.275 H 2.75(ata. As).165 F (in normal congestion control mode, the recei)2.75 E -.165(ve)-.275 G 2.75(rw).165 G(ith the)-2.75 E(smallest reported rate becomes CLR.)72 153.6 Q(Since a recei)5.5 E -.165(ve)-.275 G 2.75(rc).165 G(an ne)-2.75 E -.165(ve)-.275 G 2.75(rr).165 G(ecei)-2.75 E .33 -.165(ve d)-.275 H (ata at a rate higher than).165 E(its link bandwidth, this ef)72 166.6 Q (fecti)-.275 E -.165(ve)-.275 G(ly limits the o).165 E -.165(ve)-.165 G (rshoot to twice this bandwidth.).165 E(In case the)5.5 E (resulting increase o)72 179.6 Q -.165(ve)-.165 G(r).165 E/F2 11 /Courier@0 SF(R_max)2.75 E F0(is less than)2.75 E F2(8s/R_max)2.75 E F0 (bits/s, the sender may choose to increase)2.75 E(the rate by up to)72 192.6 Q F2(8s/R_max)2.75 E F0(bits/s e)2.75 E -.165(ve)-.275 G(ry).165 E F2(R_max)2.75 E F0 5.5(.T)C (he current sending rate is gradually adjusted)-5.5 E(to the tar)72 205.6 Q(get rate reported in the recei)-.198 E -.165(ve)-.275 G 2.75(rr) .165 G(eports o)-2.75 E -.165(ve)-.165 G 2.75(rt).165 G (he course of a R)-2.75 E(TT)-.66 E 5.5(.S)-.814 G(lo)-5.5 E (wstart is terminated)-.275 E(as soon as an)72 218.6 Q 2.75(yo)-.165 G (ne of the recei)-2.75 E -.165(ve)-.275 G(rs e).165 E (xperiences its \214rst pack)-.165 E(et loss.)-.11 E(Since that recei) 5.5 E -.165(ve)-.275 G(r').165 E(s)-.605 E(calculated rate will be lo)72 231.6 Q(wer than the current sending rate, the recei)-.275 E -.165(ve) -.275 G 2.75(rw).165 G(ill be selected as CLR.)-2.75 E(During slo)72 248.2 Q(wstart, the upper bound on the rate increase of)-.275 E F2 (8s/R_max)2.75 E F0(bits/s e)2.75 E -.165(ve)-.275 G(ry R).165 E (TT does not)-.66 E(apply)72 261.2 Q 5.5(.O)-.715 G (nly after the TFMCC sender recei)-5.5 E -.165(ve)-.275 G 2.75(st).165 G (he \214rst report with the)-2.75 E F2(have_loss)2.75 E F0 (\215ag set is the)2.75 E(rate increase limited in this w)72 274.2 Q(ay) -.11 E(.)-.715 E F1 2.75(3.7. Scheduling)72 313.2 R(of P)2.75 E(ack)-.11 E(et T)-.11 E(ransmissions)-.814 E F0(As TFMCC is rate-based, and as op\ erating systems typically cannot schedule e)72 329.8 Q -.165(ve)-.275 G (nts precisely).165 E 2.75(,i)-.715 G(t)-2.75 E (is necessary to be opportunistic about sending data pack)72 342.8 Q (ets so that the correct a)-.11 E -.165(ve)-.22 G(rage rate is).165 E (maintained despite the coarse-grain or irre)72 355.8 Q (gular scheduling of the operating system.)-.165 E(Thus a)5.5 E (typical sending loop will calculate the correct inter)72 368.8 Q(-pack) -.22 E(et interv)-.11 E(al,)-.275 E F2(t_ipi)2.75 E F0 2.75(,a)C 2.75 (sf)-2.75 G(ollo)-2.75 E(ws:)-.275 E F2(t_ipi = s/X)108 387.8 Q F0 (When a sender \214rst starts sending at time)72 406.8 Q F2(t_0)2.75 E F0 2.75(,i)C 2.75(tc)-2.75 G(alculates)-2.75 E F2(t_ipi)2.75 E F0 2.75 (,a)C(nd calculates a nominal)-2.75 E(send time)72 419.8 Q F2 (t_1 = t_0 + t_ipi)2.75 E F0(for pack)2.75 E(et 1.)-.11 E (When the application becomes idle, it checks)5.5 E(the current time,)72 432.8 Q F2(t_now)2.75 E F0 2.75(,a)C (nd then requests re-scheduling after)-2.75 E F2 (\(t_ipi - \(t_now - t_0\)\))2.75 E F0 2.75(seconds. When)72 445.8 R (the application is re-scheduled, it checks the current time,)2.75 E F2 (t_now)2.75 E F0 2.75(,a)C -.055(ga)-2.75 G 2.75(in. If).055 F(\()72 458.8 Q F2(t_now > t_1 - delta)A F0 2.75(\)t)C(hen pack)-2.75 E (et 1 is sent \(see belo)-.11 E 2.75(wf)-.275 G(or)-2.75 E F2(delta)2.75 E F0(\).)A(No)72 475.4 Q 2.75(wan)-.275 G -.275(ew)-2.75 G F2(t_ipi) 3.025 E F0(may be calculated, and used to calculate a nominal send time) 2.75 E F2(t_2)2.75 E F0(for pack)2.75 E(et)-.11 E(2:)72 488.4 Q F2 (t2 = t_1 + t_ipi)2.75 E F0 5.5(.T)C (he process then repeats, with each successi)-5.5 E .33 -.165(ve p)-.275 H(ack).165 E(et')-.11 E 2.75(ss)-.605 G(end time)-2.75 E (being calculated from the nominal send time of the pre)72 501.4 Q (vious pack)-.275 E(et.)-.11 E (In some cases, when the nominal send time,)72 518 Q F2(t_i)2.75 E F0 2.75(,o)C 2.75(ft)-2.75 G(he ne)-2.75 E(xt pack)-.165 E (et is calculated, it may already)-.11 E(be the case that)72 531 Q F2 (t_now > t_i - delta)2.75 E F0 5.5(.I)C 2.75(ns)-5.5 G (uch a case the pack)-2.75 E(et should be sent)-.11 E(immediately)72 544 Q 5.5(.T)-.715 G(hus if the operating system has coarse timer granulari\ ty and the transmit rate is)-5.5 E(high, then TFMCC may send short b)72 557 Q(ursts of se)-.22 E -.165(ve)-.275 G(ral pack).165 E (ets separated by interv)-.11 E(als of the OS)-.275 E(timer granularity) 72 570 Q(.)-.715 E(The parameter)72 586.6 Q F2(delta)2.75 E F0 (is to allo)2.75 E 2.75(wad)-.275 G -.165(eg)-2.75 G(ree of \215e).165 E (xibility in the send time of a pack)-.165 E 2.75(et. If)-.11 F(the)2.75 E(operating system has a scheduling timer granularity of)72 599.6 Q F2 (t_gran)2.75 E F0(seconds, then)2.75 E F2(delta)2.75 E F0 -.11(wo)2.75 G (uld).11 E(typically be set to:)72 612.6 Q -.44(Wi)72 697 S(dmer/Handle) .44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 12]).165 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Courier@0 SF(delta = min\(t_ipi/2, t_gran/2\))108 85 Q (t_gran)72 104 Q F0(is 10 milliseconds on man)2.75 E 2.75(yU)-.165 G (nix systems.)-2.75 E(If)5.5 E F1(t_gran)2.75 E F0(is not kno)2.75 E (wn, a v)-.275 E(alue of 10)-.275 E(milliseconds can be safely assumed.) 72 117 Q/F2 11/Times-Bold@0 SF 2.75(4. Data)72 156 R(Recei)2.75 E -.11 (ve)-.11 G 2.75(rP).11 G -.198(ro)-2.75 G(tocol).198 E F0(Recei)72 172.6 Q -.165(ve)-.275 G(rs measure the current netw).165 E (ork conditions, namely R)-.11 E(TT and loss e)-.66 E -.165(ve)-.275 G (nt rate, and use this).165 E(information to calculate a rate that is f) 72 185.6 Q(air to competing traf)-.11 E 2.75(\214c. The)-.275 F (rate is then communicated to)2.75 E(the sender in recei)72 198.6 Q -.165(ve)-.275 G 2.75(rr).165 G 2.75(eports. Due)-2.75 F (to the potentially lar)2.75 E(ge number of recei)-.198 E -.165(ve)-.275 G(rs, it is undesirable).165 E(that all recei)72 211.6 Q -.165(ve)-.275 G(rs send reports, especially not at the same time.).165 E (In the description of the recei)72 228.2 Q -.165(ve)-.275 G 2.75(rf) .165 G(unctionality)-2.75 E 2.75(,w)-.715 G 2.75(ew)-2.75 G (ill \214rst address ho)-2.75 E 2.75(wt)-.275 G(he recei)-2.75 E -.165 (ve)-.275 G(rs measure the).165 E(netw)72 241.2 Q (ork parameters and then discuss the feedback process.)-.11 E F2 2.75 (4.1. Recei)72 280.2 R -.11(ve)-.11 G 2.75(rI).11 G(nitialization)-2.75 E F0(The recei)72 296.8 Q -.165(ve)-.275 G 2.75(ri).165 G 2.75(si)-2.75 G(nitialized when it recei)-2.75 E -.165(ve)-.275 G 2.75(st).165 G (he \214rst data pack)-2.75 E 2.75(et. The)-.11 F -.66(RT)2.75 G 2.75 (Ti).66 G 2.75(ss)-2.75 G(et to the maximum)-2.75 E -.66(RT)72 309.8 S 2.75(Tv).66 G(alue contained in the data pack)-3.025 E 2.75(et. This) -.11 F(initial v)2.75 E(alue is used as the recei)-.275 E -.165(ve)-.275 G(r').165 E 2.75(sR)-.605 G(TT until the)-3.41 E(\214rst real R)72 322.8 Q(TT measurement is made.)-.66 E(The loss e)5.5 E -.165(ve)-.275 G (nt rate is initialized to 0.).165 E F2 2.75(4.2. Recei)72 361.8 R -.11 (ve)-.11 G 2.75(rL).11 G(ea)-2.75 E -.11(ve)-.275 G F0 2.75(Ar)72 378.4 S(ecei)-2.75 E -.165(ve)-.275 G 2.75(rt).165 G(hat sends feedback b) -2.75 E(ut wishes to lea)-.22 E .33 -.165(ve t)-.22 H (he TFMCC session within the ne).165 E(xt feedback)-.165 E (round may indicate the pending lea)72 391.4 Q .33 -.165(ve b)-.22 H 2.75(ys).165 G(etting the)-2.75 E F1(receiver_leave)2.75 E F0 (\215ag in its report.)2.75 E(If the)5.5 E(lea)72 404.4 Q(ving recei) -.22 E -.165(ve)-.275 G 2.75(ri).165 G 2.75(st)-2.75 G(he CLR, the)-2.75 E F1(receiver_leave)2.75 E F0 (\215ag should be set for all the reports within)2.75 E (the feedback round before the lea)72 417.4 Q .33 -.165(ve t)-.22 H(ak) .165 E(es ef)-.11 E(fect.)-.275 E F2 2.75(4.3. Measur)72 456.4 R (ement of the Netw)-.198 E(ork Conditions)-.11 E F0(Recei)72 473 Q -.165 (ve)-.275 G(rs ha).165 E .33 -.165(ve t)-.22 H 2.75(ou).165 G (pdate their estimate of the netw)-2.75 E(ork parameters with each ne) -.11 E 2.75(wd)-.275 G(ata pack)-2.75 E(et the)-.11 E(y)-.165 E(recei)72 486 Q -.165(ve)-.275 G(.).165 E F2 2.75(4.3.1. Updating)72 525 R (the Loss Ev)2.75 E(ent Rate)-.11 E F0(When a data pack)72 541.6 Q (et is recei)-.11 E -.165(ve)-.275 G(d, the recei).165 E -.165(ve)-.275 G 2.75(ra).165 G(dds the pack)-2.75 E(et to the pack)-.11 E(et history) -.11 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(hen)-2.75 E(recalculates the ne)72 554.6 Q 2.75(wv)-.275 G(alue of the loss e)-3.025 E -.165(ve)-.275 G (nt rate).165 E F1(p)2.75 E F0 5.5(.T)C(he loss e)-5.5 E -.165(ve)-.275 G(nt rate measurement mechanism).165 E (is described separately in Section 5.)72 567.6 Q F2 2.75(4.3.2. Basic) 72 606.6 R(Round-T)2.75 E(rip T)-.814 E(ime Measur)-.198 E(ement)-.198 E F0(When a recei)72 623.2 Q -.165(ve)-.275 G 2.75(rg).165 G (ets a data pack)-2.75 E(et that carries the recei)-.11 E -.165(ve)-.275 G(r').165 E 2.75(so)-.605 G(wn ID in the)-3.025 E F1(r)2.75 E F0 (\214eld, the recei)2.75 E -.165(ve)-.275 G(r).165 E(updates its R)72 636.2 Q(TT estimate.)-.66 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937 (y[)-.165 G -.165(Pa)-313.937 G(ge 13]).165 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E 14(1. The)72 85 R(current R)2.75 E(TT is calculated as:)-.66 E /F1 11/Courier@0 SF(R_sample = t_now - ts_r)133 104 Q F0(where)97 123 Q F1(t_now)2.75 E F0(is the time the data pack)2.75 E(et arri)-.11 E -.165 (ve)-.275 G 2.75(sa).165 G 2.75(tt)-2.75 G(he recei)-2.75 E -.165(ve) -.275 G 2.75(ra).165 G(nd)-2.75 E F1(ts_r)2.75 E F0(is the recei)2.75 E -.165(ve)-.275 G(r).165 E(report timestamp echoed in the data pack)97 136 Q(et. If the actual R)-.11 E(TT is smaller than the resolution)-.66 E(of the timestamps and)97 149 Q F1(t_now)2.75 E F0(equals)2.75 E F1 (ts_r)2.75 E F0 2.75(,t)C(hen)-2.75 E F1(R_sample)2.75 E F0 (is set to the smallest positi)2.75 E -.165(ve)-.275 G -.66(RT)97 162 S 2.75(Tv).66 G(alue lar)-3.025 E (ger than 0 \(i.e., 1 millisecond in our case\).)-.198 E 14(2. The)72 178.6 R(smoothed R)2.75 E(TT estimate)-.66 E F1(R)2.75 E F0(is updated:) 2.75 E F1(If no feedback has been received before)133 197.6 Q 6.6(R=R) 159.4 210.6 S(_sample)-6.6 E(Else)133 223.6 Q 6.6(R=q)159.4 236.6 S (*R + \(1-q\)*R_sample)-6.6 E F0 2.75<418c>97 255.6 S(lter parameter) -2.75 E F1(q)2.75 E F0(of 0.5 is recommended for non-CLR recei)2.75 E -.165(ve)-.275 G 2.75(rs. The).165 F(CLR performs)2.75 E -.66(RT)97 268.6 S 2.75(Tm).66 G(easurements much more frequently and hence should\ use a higher \214lter v)-2.75 E 2.75(alue. W)-.275 F(e)-.88 E (recommend using)97 281.6 Q F1(q=0.9)2.75 E F0 5.5(.N)C (ote that TFMCC is not sensiti)-5.5 E .33 -.165(ve t)-.275 H 2.75(ot) .165 G(he precise v)-2.75 E(alue for the)-.275 E(\214lter constant.)97 294.6 Q(Optionally)72 311.2 Q 2.75(,s)-.715 G(ender)-2.75 E (-based instead of recei)-.22 E -.165(ve)-.275 G -.22(r-).165 G(based R) .22 E(TT measurements may be used.)-.66 E(The sender)5.5 E (already determines the R)72 324.2 Q(TT to a recei)-.66 E -.165(ve)-.275 G 2.75(rf).165 G(rom the recei)-2.75 E -.165(ve)-.275 G(r').165 E 2.75 (se)-.605 G(cho of the sender')-2.75 E 2.75(so)-.605 G(wn timestamp) -3.025 E(for the calculation of the maximum R)72 337.2 Q(TT)-.66 E 5.5 (.F)-.814 G(or sender)-5.665 E(-based R)-.22 E(TT measurements, this R) -.66 E(TT)-.66 E(measurement needs to be communicated to the recei)72 350.2 Q -.165(ve)-.275 G 3.96 -.605(r. I).165 H (nstead of including an echo of the).605 E(recei)72 363.2 Q -.165(ve) -.275 G(r').165 E 2.75(st)-.605 G (imestamp, the sender includes the recei)-2.75 E -.165(ve)-.275 G(r') .165 E 2.75(sR)-.605 G(TT in the ne)-3.41 E(xt data pack)-.165 E (et, using the)-.11 E(prioritization rules described in Section 3.5.)72 376.2 Q 1.76 -.88(To s)72 392.8 T (implify sender operation, smoothing of R).88 E (TT samples as described abo)-.66 E .33 -.165(ve s)-.165 H (hould still be done).165 E(at the recei)72 405.8 Q -.165(ve)-.275 G -.605(r.).165 G/F2 11/Times-Bold@0 SF 2.75(4.3.3. One-W)72 444.8 R (ay Delay Adjustments)-.715 E F0(When a R)72 461.4 Q (TT measurement is performed, the recei)-.66 E -.165(ve)-.275 G 2.75(ra) .165 G(lso determines the one-w)-2.75 E(ay delay)-.11 E F1(D_r)2.75 E F0 (from itself to the sender:)72 474.4 Q F1(D_r = ts_r - ts_i)108 493.4 Q F0(where)72 512.4 Q F1(ts_i)2.75 E F0(and)2.75 E F1(ts_r)2.75 E F0 (are the timestamp and timestamp echo contained in the data pack)2.75 E 2.75(et. W)-.11 F(ith)-.44 E(each ne)72 525.4 Q 2.75(wd)-.275 G (ata pack)-2.75 E(et)-.11 E F1(i')2.75 E F0 2.75(,t)C(he recei)-2.75 E -.165(ve)-.275 G 2.75(rc).165 G(an no)-2.75 E 2.75(wc)-.275 G (alculate an updated R)-2.75 E(TT estimate as:)-.66 E F1 (R' = max\(D_r + t_now - ts_i', 1 millisecond\))108 544.4 Q F0 (In between R)72 563.4 Q(TT measurements, the updated)-.66 E F1(R')2.75 E F0(is used instead of the smoothed R)2.75 E(TT)-.66 E F1(R)2.75 E F0 2.75(.L)C(ik)-2.75 E 2.75(et)-.11 G(he)-2.75 E -.66(RT)72 576.4 S 2.75 (Ts).66 G(amples,)-2.75 E F1(R')2.75 E F0(must be strictly positi)2.75 E -.165(ve)-.275 G 2.75(.W).165 G(hen a ne)-2.75 E 2.75(wm)-.275 G (easurement is made, all interim one-)-2.75 E -.11(wa)72 589.4 S 2.75 (yd).11 G(elay measurements are discarded \(i.e., the smoothed R)-2.75 E (TT is updated according to Section)-.66 E(4.3.2 without taking one-w)72 602.4 Q(ay delay adjustments into account\).)-.11 E -.165(Fo)72 619 S 2.75(rt).165 G(he one-w)-2.75 E (ay delay measurements, the clocks of sender and recei)-.11 E -.165(ve) -.275 G(rs need not be).165 E 2.75(synchronized. Clock)72 632 R(sk)2.75 E .55 -.275(ew w)-.11 H(ill cancel itself out when both one-w).275 E (ay measurements are added to)-.11 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 14]).165 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(form a R)72 85 Q (TT estimate, as long as clock drift between real R)-.66 E (TT measurements is ne)-.66 E(gligible.)-.165 E(The same one-w)72 101.6 Q(ay delay adjustments should be applied to the R)-.11 E (TT supplied by the sender when)-.66 E(using sender)72 114.6 Q(-based R) -.22 E(TT measurements.)-.66 E/F1 11/Times-Bold@0 SF 2.75(4.3.4. Recei) 72 153.6 R .22 -.11(ve R)-.11 H(ate Measur).11 E(ements)-.198 E F0 (When a recei)72 170.2 Q -.165(ve)-.275 G 2.75(rh).165 G(as not e)-2.75 E(xperienced an)-.165 E 2.75(yl)-.165 G(oss e)-2.75 E -.165(ve)-.275 G (nts, it cannot calculate a TCP-friendly rate to).165 E (include in the recei)72 183.2 Q -.165(ve)-.275 G 2.75(rr).165 G 2.75 (eports. Instead,)-2.75 F(the recei)2.75 E -.165(ve)-.275 G 2.75(rm).165 G(easures the current recei)-2.75 E .33 -.165(ve r)-.275 H (ate and sets the).165 E(desired rate)72 196.2 Q/F2 11/Courier@0 SF(X_r) 2.75 E F0(to twice the recei)2.75 E .33 -.165(ve r)-.275 H(ate.).165 E (The recei)72 212.8 Q .33 -.165(ve r)-.275 H (ate in bits/s is measured as the number of bits recei).165 E -.165(ve) -.275 G 2.75(do).165 G -.165(ve)-2.915 G 2.75(rt).165 G(he last)-2.75 E F2(k)2.75 E F0 -.66(RT)2.75 G(Ts, taking).66 E (into account the IP and transport pack)72 225.8 Q(et headers, b)-.11 E (ut e)-.22 E(xcluding the link-layer pack)-.165 E(et headers. A)-.11 E -.275(va)72 238.8 S(lue for).275 E F2(k)2.75 E F0 (between 2 and 4 is recommended.)2.75 E F1 2.75(4.4. Setting)72 277.8 R (the Desir)2.75 E(ed Rate)-.198 E F0(When a recei)72 294.4 Q -.165(ve) -.275 G 2.75(rm).165 G(easures a non-zero loss e)-2.75 E -.165(ve)-.275 G(nt rate, it calculates the desired rate using Equation).165 E 2.75 (\(1\). In)72 307.4 R(case no R)2.75 E(TT measurement is a)-.66 E -.275 (va)-.22 G(ilable yet, the maximum R).275 E(TT is used instead of the) -.66 E(recei)72 320.4 Q -.165(ve)-.275 G(r').165 E 2.75(sR)-.605 G(TT) -3.41 E 2.75(.T)-.814 G(he desired rate)-2.75 E F2(X_r)2.75 E F0 (is updated whene)2.75 E -.165(ve)-.275 G 2.75(rt).165 G(he loss e)-2.75 E -.165(ve)-.275 G(nt rate or the R).165 E(TT changes.)-.66 E 2.75(Ar)72 337 S(ecei)-2.75 E -.165(ve)-.275 G 2.75(rm).165 G (ay decide to not report desired rates that are belo)-2.75 E 2.75(w1p) -.275 G(ack)-2.75 E(et per 8 seconds, since a)-.11 E(sender is v)72 350 Q(ery slo)-.165 E 2.75(wt)-.275 G 2.75(or)-2.75 G(eco)-2.75 E -.165(ve) -.165 G 2.75(rf).165 G(rom such lo)-2.75 E 2.75(ws)-.275 G (ending rates. In this case, the recei)-2.75 E -.165(ve)-.275 G 2.75(rr) .165 G(eports a)-2.75 E(desired rate of 1 pack)72 363 Q (et per 8 seconds. Ho)-.11 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, i) .165 H 2.75(tm).44 G(ust lea)-2.75 E .33 -.165(ve t)-.22 H (he multicast group if for more than).165 E (120 seconds the calculated rate f)72 376 Q(alls belo)-.11 E 2.75(wt) -.275 G(he reported rate and the current sending rate is higher)-2.75 E (than the recei)72 389 Q -.165(ve)-.275 G(r').165 E 2.75(sc)-.605 G (alculated rate.)-2.75 E(As mentioned abo)72 405.6 Q -.165(ve)-.165 G 2.75(,c).165 G (alculation of the desired rate is not possible before the recei)-2.75 E -.165(ve)-.275 G 2.75(re).165 G(xperiences)-2.915 E(the \214rst loss e) 72 418.6 Q -.165(ve)-.275 G (nt and in that case twice the rate at which data is recei).165 E -.165 (ve)-.275 G 2.75(di).165 G 2.75(si)-2.75 G(ncluded in the)-2.75 E(recei) 72 431.6 Q -.165(ve)-.275 G 2.75(rr).165 G(eports as)-2.75 E F2(X_r)2.75 E F0 5.5(.T)C(his mechanism allo)-5.5 E(ws the sender to slo)-.275 E (wstart as described in Section)-.275 E(3.6.)72 444.6 Q F1 2.75(4.5. F) 72 483.6 R(eedback and F)-.275 E(eedback Suppr)-.275 E(ession)-.198 E F0 (Let)72 500.2 Q F2(fb_nr)2.75 E F0 (be the highest feedback round counter v)2.75 E(alue recei)-.275 E -.165 (ve)-.275 G 2.75(db).165 G 2.75(yar)-2.75 G(ecei)-2.75 E -.165(ve)-.275 G 3.96 -.605(r. W).165 H(hen a ne).605 E 2.75(wd)-.275 G(ata)-2.75 E (pack)72 513.2 Q(et arri)-.11 E -.165(ve)-.275 G 2.75(sw).165 G (ith a higher feedback round counter than)-2.75 E F2(fb_nr)2.75 E F0 2.75(,an)C .55 -.275(ew f)-2.75 H(eedback round be).275 E(gins)-.165 E (and)72 526.2 Q F2(fb_nr)2.75 E F0(is updated.)2.75 E (Outstanding feedback for the old round is canceled.)5.5 E (In case a feedback)5.5 E(number with a v)72 539.2 Q (alue that is more than half the feedback number space lo)-.275 E (wer than)-.275 E F2(fb_nr)2.75 E F0(is)2.75 E(recei)72 552.2 Q -.165 (ve)-.275 G(d, the recei).165 E -.165(ve)-.275 G 2.75(ra).165 G (ssumes that the feedback round counter wrapped and also cancels the) -2.75 E(feedback timer and updates)72 565.2 Q F2(fb_nr)2.75 E F0(.)A (The CLR sends its feedback independently from all the other recei)72 581.8 Q -.165(ve)-.275 G(rs once per R).165 E(TT)-.66 E 2.75(.I)-.814 G (ts feedback)-2.75 E(does not suppress other feedback and cannot be sup\ pressed by other recei)72 594.8 Q -.165(ve)-.275 G(r').165 E 2.75(sf) -.605 G(eedback.)-2.75 E(Non-CLR recei)72 611.4 Q -.165(ve)-.275 G (rs set a feedback timer at the be).165 E(ginning of a feedback round.) -.165 E(Using an)5.5 E -.165(ex)72 624.4 S(ponentially weighted random \ timer mechanism, the feedback timer is set to e).165 E(xpire after)-.165 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa) -313.937 G(ge 15]).165 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Courier@0 SF 6.6(t=m)108 85 S (ax\(T * \(1 + log\(x\)/log\(N\)\), 0\))-6.6 E F0(where)72 104 Q F1(x)97 120.6 Q F0(is a random v)2.75 E(ariable uniformly distrib)-.275 E (uted in \(0,1],)-.22 E F1(T)97 137.2 Q F0 (is the duration of a feedback round \(i.e.,)2.75 E F1 6.6(6*R)2.75 G (_max)-6.6 E F0(\),)A F1(N)97 153.8 Q F0 (is an estimated upper bound on the number of recei)2.75 E -.165(ve) -.275 G(rs.).165 E F1(N)72 170.4 Q F0 (is a constant speci\214c to the TFMCC protocol.)2.75 E (Since TFMCC scales to up to thousands of)5.5 E(recei)72 183.4 Q -.165 (ve)-.275 G(rs, setting).165 E F1(N)2.75 E F0(to 10,000 for all recei) 2.75 E -.165(ve)-.275 G (rs \(and limiting the TFMCC session to at most 10,000).165 E(recei)72 196.4 Q -.165(ve)-.275 G(rs\) is recommended.).165 E 2.75(Af)72 213 S (eedback pack)-2.75 E(et is sent when the feedback timer e)-.11 E (xpires, unless the timer is canceled)-.165 E 2.75(beforehand. When)72 226 R (the multicast model is ASM, feedback is multicast to the whole group,) 2.75 E(otherwise the feedback is unicast to the sender)72 239 Q 5.5(.T) -.605 G(he feedback pack)-5.5 E(et includes the calculated rate)-.11 E -.275(va)72 252 S(lid at the time the feedback pack).275 E (et is sent \(not the rate at the point of time when the feedback)-.11 E (timer is set\).)72 265 Q(The cop)5.5 E 2.75(yo)-.11 G 2.75(ft)-2.75 G (he timestamp)-2.75 E F1(ts_i)2.75 E F0(of the last data pack)2.75 E (et recei)-.11 E -.165(ve)-.275 G(d, which is included).165 E (in the feedback pack)72 278 Q (et, needs to be adjusted by the time interv)-.11 E(al between recei) -.275 E(ving the data)-.275 E(pack)72 291 Q (et and sending the report to allo)-.11 E 2.75(wt)-.275 G (he sender to correctly infer the instantaneous R)-2.75 E(TT \(i.e.,) -.66 E(that time interv)72 304 Q(al has to be added to the timestamp v) -.275 E(alue\).)-.275 E(The timer is canceled if a data pack)72 320.6 Q (et with a lo)-.11 E(wer suppression rate than the recei)-.275 E -.165 (ve)-.275 G(r').165 E 2.75(sc)-.605 G(alculated)-2.75 E (rate and a higher or equal maximum R)72 333.6 Q(TT than the recei)-.66 E -.165(ve)-.275 G(r').165 E 2.75(sR)-.605 G(TT is recei)-3.41 E -.165 (ve)-.275 G 2.75(d. Lik).165 F -.275(ew)-.11 G(ise, a data).275 E(pack) 72 346.6 Q(et indicating the be)-.11 E(ginning of a ne)-.165 E 2.75(wf) -.275 G(eedback round cancels all feedback for older rounds.)-2.75 E(In) 5.5 E(case of ASM, the timer is also canceled if a feedback pack)72 359.6 Q(et from another non-CLR recei)-.11 E -.165(ve)-.275 G(r).165 E (reporting a lo)72 372.6 Q(wer rate is recei)-.275 E -.165(ve)-.275 G (d.).165 E(The feedback suppression process is complicated by the f)72 389.2 Q(act that the calculated rates of the)-.11 E(recei)72 402.2 Q -.165(ve)-.275 G(rs will change during a feedback round.).165 E (If the calculated rates decrease rapidly for all)5.5 E(recei)72 415.2 Q -.165(ve)-.275 G(rs, feedback suppression can no longer pre).165 E -.165 (ve)-.275 G(nt a feedback implosion since earlier).165 E (feedback will al)72 428.2 Q -.11(wa)-.11 G (ys report a higher rate than current feedback. T).11 E 2.75(om)-.88 G (ak)-2.75 E 2.75(et)-.11 G(he feedback)-2.75 E (suppression mechanism rob)72 441.2 Q(ust in the f)-.22 E (ace of changing rates, it is necessary to introduce)-.11 E F1(X_fbr) 2.75 E F0(,)A(the calculated rate of a recei)72 454.2 Q -.165(ve)-.275 G 2.75(ra).165 G 2.75(tt)-2.75 G(he be)-2.75 E (ginning of a feedback round. A recei)-.165 E -.165(ve)-.275 G 2.75(rn) .165 G(eeds to)-2.75 E(suppress its feedback not only when the suppress\ ion rate is less than the recei)72 467.2 Q -.165(ve)-.275 G(r').165 E 2.75(sc)-.605 G(urrent)-2.75 E(calculated rate b)72 480.2 Q (ut also in the case that the suppression rate f)-.22 E(alls belo)-.11 E (w)-.275 E F1(X_fbr)2.75 E F0(.)A(When the maximum R)72 496.8 Q(TT chan\ ges signi\214cantly during one feedback round, it is necessary to)-.66 E (reschedule the feedback timer in proportion to the change.)72 509.8 Q F1 6.6(t=t*R)108 528.8 S(_max / R_max')-6.6 E F0(where)72 547.8 Q F1 (R_max)2.75 E F0(is the ne)2.75 E 2.75(wm)-.275 G(aximum R)-2.75 E (TT and)-.66 E F1(R_max')2.75 E F0(is the pre)2.75 E(vious maximum R) -.275 E(TT)-.66 E 5.5(.T)-.814 G(he same)-5.5 E (considerations hold, when the last data pack)72 560.8 Q(ets were recei) -.11 E -.165(ve)-.275 G 2.75(dm).165 G(ore than a time interv)-2.75 E (al of)-.275 E F1(R_max)2.75 E F0 2.75(ago. In)72 573.8 R (this case, it is necessary to add the dif)2.75 E(ference of the inter) -.275 E(-pack)-.22 E(et g)-.11 E(ap and the maximum)-.055 E -.66(RT)72 586.8 S 2.75(Tt).66 G 2.75(ot)-2.75 G(he feedback time to pre)-2.75 E -.165(ve)-.275 G (nt a feedback implosion \(e.g., in case the sender crashed\).).165 E F1 6.6(t=t+m)108 605.8 S(ax\(t_now - tr_i - R_max, 0\))-6.6 E F0(where)72 624.8 Q F1(tr_i)2.75 E F0(is the time when the last data pack)2.75 E (et arri)-.11 E -.165(ve)-.275 G 2.75(da).165 G 2.75(tt)-2.75 G (he recei)-2.75 E -.165(ve)-.275 G -.605(r.).165 G -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 16]).165 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(More details on the characteristics of the feedback suppressi\ on mechanism can be found in [9])72 85 Q(and [10].)72 98 Q/F1 11 /Times-Bold@0 SF 2.75(5. Calculation)72 137 R(of the Loss Ev)2.75 E (ent Rate)-.11 E F0 (Obtaining an accurate and stable measurement of the loss e)72 153.6 Q -.165(ve)-.275 G(nt rate is of primary importance for).165 E 2.75 (TFMCC. Loss)72 166.6 R(rate measurement is performed at the recei)2.75 E -.165(ve)-.275 G .88 -.44(r, b).165 H (ased on the detection of lost or).44 E(mark)72 179.6 Q(ed pack)-.11 E (ets from the sequence numbers of arri)-.11 E(ving pack)-.275 E(ets.) -.11 E F1 2.75(5.1. Detection)72 218.6 R(of Lost or Mark)2.75 E(ed P) -.11 E(ack)-.11 E(ets)-.11 E F0(TFMCC assumes that all pack)72 235.2 Q (ets contain a sequence number that is incremented by one for each)-.11 E(pack)72 248.2 Q(et that is sent.)-.11 E -.165(Fo)5.5 G 2.75(rt).165 G (he purposes of this speci\214cation, we require that if a lost pack) -2.75 E(et is)-.11 E(retransmitted, the retransmission is gi)72 261.2 Q -.165(ve)-.275 G 2.75(nan).165 G .55 -.275(ew s)-2.75 H (equence number that is the latest in the).275 E (transmission sequence, and not the same sequence number as the pack)72 274.2 Q(et that w)-.11 E(as lost.)-.11 E(If a)5.5 E(transport protocol \ has the requirement that it must retransmit with the original sequence \ number)72 287.2 Q(,)-.44 E (then the transport protocol designer must \214gure out ho)72 300.2 Q 2.75(wt)-.275 G 2.75(od)-2.75 G(istinguish delayed from retransmitted) -2.75 E(pack)72 313.2 Q(ets and ho)-.11 E 2.75(wt)-.275 G 2.75(od)-2.75 G(etect lost retransmissions.)-2.75 E(The recei)72 329.8 Q -.165(ve) -.275 G(rs each maintain a data structure that k).165 E (eeps track of which pack)-.11 E(ets ha)-.11 E .33 -.165(ve a)-.22 H (rri).165 E -.165(ve)-.275 G 2.75(da).165 G(nd)-2.75 E (which are missing.)72 342.8 Q -.165(Fo)5.5 G 2.75(rt).165 G(he purpose\ s of speci\214cation, we assume that the data structure consists)-2.75 E (of a list of pack)72 355.8 Q(ets that ha)-.11 E .33 -.165(ve a)-.22 H (rri).165 E -.165(ve)-.275 G 2.75(da).165 G (long with the timestamp when each pack)-2.75 E(et w)-.11 E(as recei) -.11 E -.165(ve)-.275 G 2.75(d. In).165 F(practice this data structure \ will normally be stored in a more compact representation, b)72 368.8 Q (ut this is)-.22 E(implementation-speci\214c.)72 381.8 Q (The loss of a pack)72 398.4 Q(et is detected by the arri)-.11 E -.275 (va)-.275 G 2.75(lo).275 G 2.75(fa)-2.75 G 2.75(tl)-2.75 G (east three pack)-2.75 E(ets with a higher sequence)-.11 E (number than the lost pack)72 411.4 Q 2.75(et. The)-.11 F (requirement for three subsequent pack)2.75 E(ets is the same as with) -.11 E(TCP)72 424.4 Q 2.75(,a)-1.221 G(nd is to mak)-2.75 E 2.75(eT)-.11 G(FMCC more rob)-2.75 E(ust in the presence of reordering.)-.22 E (In contrast to TCP)5.5 E 2.75(,i)-1.221 G 2.75(fa)-2.75 G(pack)72 437.4 Q(et arri)-.11 E -.165(ve)-.275 G 2.75(sl).165 G (ate \(after 3 subsequent pack)-2.75 E(ets arri)-.11 E -.165(ve)-.275 G (d\) at a recei).165 E -.165(ve)-.275 G .88 -.44(r, t).165 H (he late pack).44 E(et can \214ll the)-.11 E (hole in the reception record, and the recei)72 450.4 Q -.165(ve)-.275 G 2.75(rc).165 G(an recalculate the loss e)-2.75 E -.165(ve)-.275 G (nt rate.).165 E(Future v)5.5 E(ersions)-.165 E(of TFMCC might mak)72 463.4 Q 2.75(et)-.11 G(he requirement for three subsequent pack)-2.75 E (ets adapti)-.11 E .33 -.165(ve b)-.275 H(ased on).165 E -.165(ex)72 476.4 S(perienced pack).165 E(et reordering, b)-.11 E (ut we do not specify such a mechanism here.)-.22 E -.165(Fo)72 493 S 2.75(ra).165 G 2.75(nE)-2.75 G(CN-capable connection, a mark)-2.75 E (ed pack)-.11 E(et is detected as a congestion e)-.11 E -.165(ve)-.275 G (nt as soon as it).165 E(arri)72 506 Q -.165(ve)-.275 G(s, without ha) .165 E(ving to w)-.22 E(ait for the arri)-.11 E -.275(va)-.275 G 2.75 (lo).275 G 2.75(fs)-2.75 G(ubsequent pack)-2.75 E(ets.)-.11 E F1 2.75 (5.2. T)72 545 R(ranslation fr)-.814 E(om Loss History to Loss Ev)-.198 E(ents)-.11 E F0(TFMCC requires that the loss e)72 561.6 Q -.165(ve) -.275 G(nt rate be rob).165 E(ust to se)-.22 E -.165(ve)-.275 G (ral consecuti).165 E .33 -.165(ve p)-.275 H(ack).165 E (ets lost where those)-.11 E(pack)72 574.6 Q (ets are part of the same loss e)-.11 E -.165(ve)-.275 G 2.75(nt. This) .165 F(is similar to TCP)2.75 E 2.75(,w)-1.221 G (hich \(typically\) only performs)-2.75 E (one halving of the congestion windo)72 587.6 Q 2.75(wd)-.275 G (uring an)-2.75 E 2.75(ys)-.165 G(ingle R)-2.75 E(TT)-.66 E 5.5(.T)-.814 G(hus the recei)-5.5 E -.165(ve)-.275 G(rs needs to map).165 E(the pack) 72 600.6 Q(et loss history into a loss e)-.11 E -.165(ve)-.275 G (nt record, where a loss e).165 E -.165(ve)-.275 G (nt is one or more pack).165 E(ets lost in a)-.11 E -.66(RT)72 613.6 S -.814(T.).66 G -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 17]).165 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E 1.76 -.88(To d)72 85 T(etermine whether a lost or mark).88 E (ed pack)-.11 E(et should start a ne)-.11 E 2.75(wl)-.275 G(oss e)-2.75 E -.165(ve)-.275 G(nt, or be counted as part).165 E(of an e)72 98 Q (xisting loss e)-.165 E -.165(ve)-.275 G (nt, we need to compare the sequence numbers and timestamps of the).165 E(pack)72 111 Q(ets that arri)-.11 E -.165(ve)-.275 G 2.75(da).165 G 2.75(tt)-2.75 G(he recei)-2.75 E -.165(ve)-.275 G 3.96 -.605(r. F).165 H (or a mark).44 E(ed pack)-.11 E(et)-.11 E/F1 11/Courier@0 SF(S_new)2.75 E F0 2.75(,i)C(ts reception time)-2.75 E F1(T_new)2.75 E F0(can)2.75 E (be noted directly)72 124 Q 5.5(.F)-.715 G(or a lost pack)-5.665 E (et, we can interpolate to infer the nominal "arri)-.11 E -.275(va)-.275 G 2.75(lt).275 G(ime".)-2.75 E(Assume:)72 137 Q F1(S_loss)97 153.6 Q F0 (is the sequence number of a lost pack)2.75 E(et.)-.11 E F1(S_before)97 170.2 Q F0(is the sequence number of the last pack)2.75 E(et to arri) -.11 E .33 -.165(ve w)-.275 H(ith sequence number).165 E(before)97 183.2 Q F1(S_loss)2.75 E F0(.)A F1(S_after)97 199.8 Q F0 (is the sequence number of the \214rst pack)2.75 E(et to arri)-.11 E .33 -.165(ve w)-.275 H(ith sequence number after).165 E(S_loss.)97 212.8 Q F1(T_before)97 229.4 Q F0(is the reception time of S_before.)2.75 E F1 (T_after)97 246 Q F0(is the reception time of S_after)2.75 E(.)-.605 E (Note that)72 262.6 Q F1(T_before)2.75 E F0 (can either be before or after)2.75 E F1(T_after)2.75 E F0 (due to reordering.)2.75 E -.165(Fo)72 279.2 S 2.75(ral).165 G(ost pack) -2.75 E(et)-.11 E F1(S_loss)2.75 E F0 2.75(,w)C 2.75(ec)-2.75 G (an interpolate its nominal "arri)-2.75 E -.275(va)-.275 G 2.75(lt).275 G(ime" at the recei)-2.75 E -.165(ve)-.275 G 2.75(rf).165 G(rom the) -2.75 E(arri)72 292.2 Q -.275(va)-.275 G 2.75(lt).275 G(imes of)-2.75 E F1(S_before)2.75 E F0(and)2.75 E F1(S_after)2.75 E F0 2.75(.T)C(hus) -2.75 E F1(T_loss = T_before + \( \(T_after - T_before\))108 311.2 Q 6.6 (*\()187.2 324.2 S(S_loss - S_before\)/\(S_after - S_before\) \);)-6.6 E F0(Note that if the sequence space wrapped between S_before and S_after) 72 346.8 Q 2.75(,t)-.44 G(hen the sequence)-2.75 E (numbers must be modi\214ed to tak)72 359.8 Q 2.75(et)-.11 G (his into account before performing the calculation.)-2.75 E(If the)5.5 E(lar)72 372.8 Q(gest possible sequence number is)-.198 E F1(S_max)2.75 E F0 2.75(,a)C(nd)-2.75 E F1(S_before > S_after)2.75 E F0 2.75(,t)C (hen modifying)-2.75 E(each sequence number)72 385.8 Q F1(S)2.75 E F0 (by)2.75 E F1(S')2.75 E F0 2.75(=\()2.75 G F1(S)-2.75 E F0 2.75(+\()2.75 G F1(S_max)-2.75 E F0 2.75(+1)2.75 G(\)/2\) mod \()-2.75 E F1(S_max)A F0 2.75(+1)2.75 G 2.75(\)w)-2.75 G(ould normally be)-2.86 E(suf)72 398.8 Q (\214cient.)-.275 E(If the lost pack)72 415.4 Q(et)-.11 E F1(S_old)2.75 E F0 -.11(wa)2.75 G 2.75(sd).11 G(etermined to ha)-2.75 E .33 -.165 (ve s)-.22 H(tarted the pre).165 E(vious loss e)-.275 E -.165(ve)-.275 G (nt, and we ha).165 E .33 -.165(ve j)-.22 H(ust).165 E(determined that) 72 428.4 Q F1(S_new)2.75 E F0 (has been lost, then we interpolate the nominal arri)2.75 E -.275(va) -.275 G 2.75(lt).275 G(imes of)-2.75 E F1(S_old)2.75 E F0(and)72 441.4 Q F1(S_new)2.75 E F0 2.75(,c)C(alled)-2.75 E F1(T_old)2.75 E F0(and)2.75 E F1(T_new)2.75 E F0(respecti)2.75 E -.165(ve)-.275 G(ly).165 E(.)-.715 E (If)72 458 Q F1(T_old + R)2.75 E F0(>=)2.75 E F1(T_new)2.75 E F0 2.75 (,t)C(hen)-2.75 E F1(S_new)2.75 E F0(is part of the e)2.75 E (xisting loss e)-.165 E -.165(ve)-.275 G(nt. Otherwise).165 E F1(S_new) 2.75 E F0(is)2.75 E(the \214rst pack)72 471 Q(et of a ne)-.11 E 2.75(wl) -.275 G(oss e)-2.75 E -.165(ve)-.275 G(nt.).165 E/F2 11/Times-Bold@0 SF 2.75(5.3. Inter)72 510 R(-Loss Ev)-.407 E(ent Inter)-.11 E -.11(va)-.11 G(l).11 E F0(If a loss interv)72 526.6 Q(al,)-.275 E F1(A)2.75 E F0 2.75 (,i)C 2.75(sd)-2.75 G(etermined to ha)-2.75 E .33 -.165(ve s)-.22 H (tarted with pack).165 E(et sequence number)-.11 E F1(S_A)2.75 E F0 (and the ne)2.75 E(xt)-.165 E(loss interv)72 539.6 Q(al,)-.275 E F1(B) 2.75 E F0 2.75(,s)C(tarted with pack)-2.75 E(et sequence number)-.11 E F1(S_B)2.75 E F0 2.75(,t)C(hen the number of pack)-2.75 E(ets in loss) -.11 E(interv)72 552.6 Q(al)-.275 E F1(A)2.75 E F0(is gi)2.75 E -.165 (ve)-.275 G 2.75(nb).165 G 2.75(y\()-2.75 G F1(S_B)-2.75 E F0(-)2.75 E F1(S_A)2.75 E F0(\).)A F2 2.75(5.4. A)72 591.6 R -.11(ve)-1.1 G (rage Loss Inter).11 E -.11(va)-.11 G(l).11 E F0 1.76 -.88(To c)72 608.2 T(alculate the loss e).88 E -.165(ve)-.275 G(nt rate).165 E F1(p)2.75 E F0 2.75(,w)C 2.75<658c>-2.75 G(rst calculate the a)-2.75 E -.165(ve)-.22 G(rage loss interv).165 E 2.75(al. This)-.275 F(is done using a)2.75 E (\214lter that weights the)72 621.2 Q F1(n)2.75 E F0(most recent loss e) 2.75 E -.165(ve)-.275 G(nt interv).165 E(als in such a w)-.275 E (ay that the measured loss e)-.11 E -.165(ve)-.275 G(nt).165 E (rate changes smoothly)72 634.2 Q(.)-.715 E -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 18]).165 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E -.88(We)72 85 S(ights).88 E/F1 11/Courier@0 SF(w_0)2.75 E F0 (to)2.75 E F1(w_\(n-1\))2.75 E F0(are calculated as:)2.75 E F1 (If \(i < n/2\))108 104 Q(w_i = 1;)127.8 117 Q(Else)108 130 Q (w_i = 1 - \(i - \(n/2 - 1\)\)/\(n/2 + 1\);)127.8 143 Q F0(Thus if)72 165.6 Q F1(n)2.75 E F0(=8, the v)A(alues of)-.275 E F1(w_0)2.75 E F0(to) 2.75 E F1(w_7)2.75 E F0(are:)2.75 E (1.0, 1.0, 1.0, 1.0, 0.8, 0.6, 0.4, 0.2)97 182.2 Q(The v)72 198.8 Q (alue)-.275 E F1(n)2.75 E F0(for the number of loss interv)2.75 E (als used in calculating the loss e)-.275 E -.165(ve)-.275 G (nt rate determines).165 E(TFMCC')72 211.8 Q 2.75(ss)-.605 G (peed in responding to changes in the le)-2.75 E -.165(ve)-.275 G 2.75 (lo).165 G 2.75(fc)-2.75 G 2.75(ongestion. As)-2.75 F (currently speci\214ed,)2.75 E(TFMCC should not be used for v)72 224.8 Q (alues of)-.275 E F1(n)2.75 E F0 (signi\214cantly greater than 8, for traf)2.75 E(\214c that might)-.275 E(compete in the global Internet with TCP)72 237.8 Q 5.5(.A)-1.221 G 2.75(tt)-5.5 G(he v)-2.75 E(ery least, safe operation with v)-.165 E (alues of)-.275 E F1(n)2.75 E F0(greater)2.75 E(than 8 w)72 250.8 Q (ould require a slight change to TFMCC')-.11 E 2.75(sm)-.605 G (echanisms to include a more se)-2.75 E -.165(ve)-.275 G(re response) .165 E(to tw)72 263.8 Q 2.75(oo)-.11 G 2.75(rm)-2.75 G (ore round-trip times with hea)-2.75 E(vy pack)-.22 E(et loss.)-.11 E (When calculating the a)72 280.4 Q -.165(ve)-.22 G(rage loss interv).165 E(al we need to decide whether to include the interv)-.275 E(al since) -.275 E(the most recent pack)72 293.4 Q(et loss e)-.11 E -.165(ve)-.275 G 2.75(nt. W).165 F 2.75(eo)-.88 G(nly do this if it is suf)-2.75 E (\214ciently lar)-.275 E(ge to increase the a)-.198 E -.165(ve)-.22 G (rage).165 E(loss interv)72 306.4 Q(al.)-.275 E (Thus if the most recent loss interv)72 323 Q(als are)-.275 E F1(I_0) 2.75 E F0(to)2.75 E F1(I_n)2.75 E F0 2.75(,w)C(ith)-2.75 E F1(I_0)2.75 E F0(being the interv)2.75 E(al since the most)-.275 E(recent loss e)72 336 Q -.165(ve)-.275 G(nt, then we calculate the a).165 E -.165(ve)-.22 G(rage loss interv).165 E(al)-.275 E F1(I_mean)2.75 E F0(as:)2.75 E F1 (I_tot0 = 0;)108 355 Q(I_tot1 = 0;)108 368 Q(W_tot = 0;)108 381 Q (for \(i = 0 to n-1\) {)108 394 Q(I_tot0 = I_tot0 + \(I_i * w_i\);)121.2 407 Q(W_tot = W_tot + w_i;)121.2 420 Q(})108 433 Q(for \(i = 1 to n\) {) 108 446 Q(I_tot1 = I_tot1 + \(I_i * w_\(i-1\)\);)121.2 459 Q(})108 472 Q (I_tot = max\(I_tot0, I_tot1\);)108 485 Q(I_mean = I_tot/W_tot;)108 498 Q F0(The loss e)72 517 Q -.165(ve)-.275 G(nt rate,).165 E F1(p)2.75 E F0 (is simply:)2.75 E F1 6.6(p=1/I)108 536 S(_mean;)-6.6 E/F2 11 /Times-Bold@0 SF 2.75(5.5. History)72 581 R(Discounting)2.75 E F0 (As described in Section 5.4, the most recent loss interv)72 597.6 Q (al is only assigned)-.275 E F1(4/\(3*n\))2.75 E F0(of the total)2.75 E (weight in calculating the a)72 610.6 Q -.165(ve)-.22 G (rage loss interv).165 E(al, re)-.275 E -.055(ga)-.165 G (rdless of the size of the most recent loss).055 E(interv)72 623.6 Q 2.75(al. This)-.275 F (section describes an optional history discounting mechanism that allo) 2.75 E(ws the)-.275 E(TFMCC recei)72 636.6 Q -.165(ve)-.275 G (rs to adjust the weights, concentrating more of the relati).165 E .33 -.165(ve w)-.275 H(eight on the most).165 E -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 19]).165 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(recent loss interv)72 85 Q (al, when the most recent loss interv)-.275 E (al is more than twice as lar)-.275 E(ge as the)-.198 E(computed a)72 98 Q -.165(ve)-.22 G(rage loss interv).165 E(al.)-.275 E 1.76 -.88(To c)72 114.6 T(arry out history discounting, we associate a discount f).88 E (actor)-.11 E/F1 11/Courier@0 SF(DF_i)2.75 E F0(with each loss interv) 2.75 E(al)-.275 E F1(L_i)72 127.6 Q F0 2.75(,w)C(here each discount f) -2.75 E(actor is a \215oating point number)-.11 E 5.5(.T)-.605 G (he discount array maintains the)-5.5 E(cumulati)72 140.6 Q .33 -.165 (ve h)-.275 H(istory of discounting for each loss interv).165 E 2.75 (al. At)-.275 F(the be)2.75 E(ginning, the v)-.165 E(alues of)-.275 E F1 (DF_i)2.75 E F0(in)2.75 E(the discount array are initialized to 1:)72 153.6 Q F1(for \(i = 0 to n\) {)108 172.6 Q(DF_i = 1;)121.2 185.6 Q(}) 108 198.6 Q F0(History discounting also uses a general discount f)72 217.6 Q(actor)-.11 E F1(DF)2.75 E F0 2.75(,a)C (lso a \215oating point number)-2.75 E 2.75(,t)-.44 G(hat is)-2.75 E (also initialized to 1.)72 230.6 Q(First we sho)5.5 E 2.75(wh)-.275 G .55 -.275(ow t)-2.75 H(he discount f).275 E (actors are used in calculating the a)-.11 E -.165(ve)-.22 G(rage).165 E (loss interv)72 243.6 Q (al, and then we describe later in this section ho)-.275 E 2.75(wt)-.275 G(he discount f)-2.75 E(actors are modi\214ed o)-.11 E -.165(ve)-.165 G (r).165 E(time.)72 256.6 Q(As described in Section 5.4 the a)72 273.2 Q -.165(ve)-.22 G(rage loss interv).165 E(al is calculated using the)-.275 E F1(n)2.75 E F0(pre)2.75 E(vious loss)-.275 E(interv)72 286.2 Q(als) -.275 E F1(I_1, ..., I_n)2.75 E F0 2.75(,a)C(nd the interv)-2.75 E(al) -.275 E F1(I_0)2.75 E F0(that represents the number of pack)2.75 E (ets recei)-.11 E -.165(ve)-.275 G(d).165 E(since the last loss e)72 299.2 Q -.165(ve)-.275 G 2.75(nt. The).165 F(computation of the a)2.75 E -.165(ve)-.22 G(rage loss interv).165 E(al using the discount f)-.275 E (actors)-.11 E (is a simple modi\214cation of the procedure in Section 5.4, as follo)72 312.2 Q(ws:)-.275 E F1(I_tot0 = I_0 * w_0)108 331.2 Q(I_tot1 = 0;)108 344.2 Q(W_tot0 = w_0)108 357.2 Q(W_tot1 = 0;)108 370.2 Q (for \(i = 1 to n-1\) {)108 383.2 Q (I_tot0 = I_tot0 + \(I_i * w_i * DF_i * DF\);)121.2 396.2 Q (W_tot0 = W_tot0 + w_i * DF_i * DF;)121.2 409.2 Q(})108 422.2 Q (for \(i = 1 to n\) {)108 435.2 Q (I_tot1 = I_tot1 + \(I_i * w_\(i-1\) * DF_i\);)121.2 448.2 Q (W_tot1 = W_tot1 + w_\(i-1\) * DF_i;)121.2 461.2 Q(})108 474.2 Q 6.6 (p=m)108 487.2 S(in\(W_tot0/I_tot0, W_tot1/I_tot1\);)-6.6 E F0 (The general discounting f)72 506.2 Q(actor)-.11 E(,)-.44 E F1(DF)2.75 E F0(is updated on e)2.75 E -.165(ve)-.275 G(ry pack).165 E(et arri)-.11 E -.275(va)-.275 G 2.75(la).275 G 2.75(sf)-2.75 G(ollo)-2.75 E (ws. First, a recei)-.275 E -.165(ve)-.275 G(r).165 E (computes the weighted a)72 519.2 Q -.165(ve)-.22 G(rage).165 E F1 (I_mean)2.75 E F0(of the loss interv)2.75 E(als)-.275 E F1 (I_1, ..., I_n)2.75 E F0(:)A F1(I_tot = 0;)108 538.2 Q(W_tot = 0;)108 551.2 Q(for \(i = 1 to n\) {)108 564.2 Q(W_tot = w_\(i-1\) * DF_i;)121.2 577.2 Q(I_tot = I_tot + \(I_i * w_\(i-1\) * DF_i\);)121.2 590.2 Q(})108 603.2 Q(I_mean = I_tot / W_tot;)108 616.2 Q F0(This weighted a)72 635.2 Q -.165(ve)-.22 G(rage).165 E F1(I_mean)2.75 E F0(is compared to)2.75 E F1(I_0)2.75 E F0 2.75(,t)C(he number of pack)-2.75 E(ets recei)-.11 E -.165(ve)-.275 G 2.75(ds).165 G(ince the)-2.75 E -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 20]).165 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(last loss e)72 85 Q -.165(ve)-.275 G 2.75(nt. If).165 F/F1 11 /Courier@0 SF(I_0)2.75 E F0(is greater than twice)2.75 E F1(I_mean)2.75 E F0 2.75(,t)C(hen the ne)-2.75 E 2.75(wl)-.275 G(oss interv)-2.75 E (al is considerably)-.275 E(lar)72 98 Q (ger than the old ones, and the general discount f)-.198 E(actor)-.11 E F1(DF)2.75 E F0(is updated to decrease the relati)2.75 E -.165(ve)-.275 G(weight on the older interv)72 111 Q(als, as follo)-.275 E(ws:)-.275 E F1(if \(I_0 > 2 * I_mean\) {)108 130 Q(DF = 2 * I_mean/I_0;)121.2 143 Q (if \(DF < THRESHOLD\))121.2 156 Q(DF = THRESHOLD;)134.4 169 Q 6.6(}e) 108 182 S(lse)-6.6 E(DF = 1;)121.2 195 Q F0 2.75(An)72 214 S(onzero v) -2.75 E(alue for)-.275 E F1(THRESHOLD)2.75 E F0 (ensures that older loss interv)2.75 E(als from an earlier time of high) -.275 E(congestion are not discounted entirely)72 227 Q 5.5(.W)-.715 G 2.75(er)-6.38 G(ecommend a)-2.75 E F1(THRESHOLD)2.75 E F0(of 0.5.)2.75 E (Note that with)5.5 E(each ne)72 240 Q 2.75(wp)-.275 G(ack)-2.75 E (et arri)-.11 E -.275(va)-.275 G(l,).275 E F1(I_0)2.75 E F0 (will increase further)2.75 E 2.75(,a)-.44 G(nd the discount f)-2.75 E (actor)-.11 E F1(DF)2.75 E F0(will be updated.)2.75 E(When a ne)72 256.6 Q 2.75(wl)-.275 G(oss e)-2.75 E -.165(ve)-.275 G (nt occurs, the current interv).165 E(al shifts from)-.275 E F1(I_0)2.75 E F0(to)2.75 E F1(I_1)2.75 E F0 2.75(,l)C(oss interv)-2.75 E(al)-.275 E F1(I_i)2.75 E F0(shifts to interv)72 269.6 Q(al)-.275 E F1(I_\(i+1\)) 2.75 E F0 2.75(,a)C(nd the loss interv)-2.75 E(al)-.275 E F1(I_n)2.75 E F0(is for)2.75 E 2.75(gotten. The)-.198 F(pre)2.75 E(vious discount f) -.275 E(actor)-.11 E F1(DF)72 282.6 Q F0 (has to be incorporated into the discount array)2.75 E 5.5(.B)-.715 G (ecause)-5.5 E F1(DF_i)2.75 E F0(carries the discount f)2.75 E(actor) -.11 E(associated with loss interv)72 295.6 Q(al)-.275 E F1(I_i)2.75 E F0 2.75(,t)C(he)-2.75 E F1(DF_i)2.75 E F0 (array has to be shifted as well. This is done as)2.75 E(follo)72 308.6 Q(ws:)-.275 E F1(for \(i = 1 to n\) {)108 327.6 Q(DF_i = DF * DF_i;) 121.2 340.6 Q(})108 353.6 Q(for \(i = n-1 to 0 step -1\) {)108 366.6 Q (DF_\(i+1\) = DF_i;)121.2 379.6 Q(})108 392.6 Q(I_0 = 1;)108 405.6 Q (DF_0 = 1;)108 418.6 Q(DF = 1;)108 431.6 Q F0(This completes the descri\ ption of the optional history discounting mechanism. W)72 454.2 Q 2.75 (ee)-.88 G(mphasize that)-2.75 E (this is an optional mechanism whose sole purpose is to allo)72 467.2 Q 2.75(wT)-.275 G(FMCC to response some)-2.75 E(what)-.275 E(more quickly\ to the sudden absence of congestion, as represented by a long current \ loss interv)72 480.2 Q(al.)-.275 E/F2 11/Times-Bold@0 SF 2.75 (5.6. Initializing)72 519.2 R(the Loss History after the First Loss Ev) 2.75 E(ent)-.11 E F0(The number of pack)72 535.8 Q(ets recei)-.11 E -.165(ve)-.275 G 2.75(db).165 G(efore the \214rst loss e)-2.75 E -.165 (ve)-.275 G(nt usually does not re\215ect the current loss).165 E -2.365 -.275(ev e)72 548.8 T(nt rate.).275 E(When the \214rst loss e)5.5 E -.165(ve)-.275 G(nt occurs, a TFMCC recei).165 E -.165(ve)-.275 G 2.75 (ra).165 G(ssumes that the correct data rate)-2.75 E (is the rate at which data w)72 561.8 Q(as recei)-.11 E -.165(ve)-.275 G 2.75(dd).165 G(uring the last R)-2.75 E(TT when the loss occurred.)-.66 E(Instead of)5.5 E(initializing the \214rst loss interv)72 574.8 Q (al to the number of pack)-.275 E(ets sent until the \214rst loss e)-.11 E -.165(ve)-.275 G(nt, the).165 E(TFMCC recei)72 587.8 Q -.165(ve)-.275 G 2.75(rc).165 G(alculates the loss interv)-2.75 E(al that w)-.275 E (ould be required to produce the recei)-.11 E .33 -.165(ve r)-.275 H (ate).165 E F1(X_recv)72 600.8 Q F0 2.75(,a)C (nd uses this synthetic loss interv)-2.75 E(al)-.275 E F1(l_0)2.75 E F0 (to seed the loss history mechanism.)2.75 E(The initial loss interv)72 617.4 Q(al is calculated by in)-.275 E -.165(ve)-.44 G (rting a simpli\214ed v).165 E(ersion of the TCP Equation \(1\).)-.165 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 21]).165 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E/F1 11/Times-Italic@0 SF(X)108.869 90.786 Q F0(_)1.034 E F1 (recv).055 E/F2 11/Symbol SF(=)3.311 E 6.281 -6.039(\326` `)3.08 .135 P (`)6.039 E F0 .099(3/)-7.887 -.135 O(2)-.33 E F1(s)19.183 -7.7 M(R) -19.579 16.738 M/F3 12/Symbol SF 8.066 -6.588(\326` `).297 1.126 P(``) 6.588 E F0 .099(1/)-16.523 -1.126 O F1(l)A F0 -.264(_0).561 G .44 LW 212.411 87.926 176.222 87.926 DL F2 -.121(==)216.69 90.786 S F0(>)-.187 E F1(l)3.179 E F0 -.264(_0).561 G F2(=)3.223 E F0(\()2.552 E F1(X)2.189 -7.7 M F0(_)1.034 E F1(recv).055 E F0(*)2.772 E F1(R)3.113 E F2 6.281 -6.039(\326` `)-37.681 16.907 P(`)6.039 E F0 .099(3/)-7.887 -.135 O(2) -.33 E F1(s).374 E 320.123 87.926 268.61 87.926 DL F0(\))321.124 90.786 Q/F4 7.7/Times-Roman@0 SF(2)-.231 -4.62 M F0 (The resulting initial loss interv)72 133.156 Q (al is too small at higher loss rates compared to using the more)-.275 E (accurate Equation \(1\), which leads to a more conserv)72 146.156 Q (ati)-.275 E .33 -.165(ve i)-.275 H(nitial loss e).165 E -.165(ve)-.275 G(nt rate.).165 E(If a recei)72 162.756 Q -.165(ve)-.275 G 2.75(rs).165 G(till uses the initial R)-2.75 E(TT)-.66 E/F5 11/Courier@0 SF(R_max) 2.75 E F0(instead of its real R)2.75 E(TT)-.66 E 2.75(,t)-.814 G (he initial loss interv)-2.75 E(al is too)-.275 E(lar)72 175.756 Q (ge in case the initial R)-.198 E(TT is higher than the actual R)-.66 E (TT)-.66 E 5.5(.A)-.814 G 2.75(sac)-5.5 G(onsequence, the recei)-2.75 E -.165(ve)-.275 G 2.75(rw).165 G(ill)-2.75 E (calculate a too high desired rate when the \214rst R)72 188.756 Q (TT measurement)-.66 E F5(R)2.75 E F0(is made and the initial loss)2.75 E(interv)72 201.756 Q(al is still in the loss history)-.275 E 5.5(.T) -.715 G(he recei)-5.5 E -.165(ve)-.275 G 2.75(rh).165 G(as to adjust) -2.75 E F5(l_0)2.75 E F0(as follo)2.75 E(ws:)-.275 E F1(l)108.099 234.231 Q F0 -.264(_0).561 G F2(=)3.223 E F1(l)3.179 E F0 -.561 -.264 (_0 *).561 H(\()2.156 E F1(R).693 E F0(/).297 E F1(R).693 E F0(_).297 E F1(max).418 E F0(\)).583 E F4(2)-.231 -4.62 M F0 (No action needs to be tak)72 269.831 Q(en when the \214rst R)-.11 E (TT measurement is made after the initial loss interv)-.66 E(al)-.275 E (left the loss history)72 282.831 Q(.)-.715 E/F6 11/Times-Bold@0 SF 2.75 (6. Security)72 321.831 R(Considerations)2.75 E F0 (TFMCC is not a transport protocol in its o)72 338.431 Q(wn right, b) -.275 E(ut a congestion control mechanism that is)-.22 E (intended to be used in conjunction with a transport protocol.)72 351.431 Q(Therefore security primarily needs)5.5 E (to be considered in the conte)72 364.431 Q(xt of a speci\214c transpor\ t protocol and its authentication mechanisms.)-.165 E (Congestion control mechanisms can potentially be e)72 381.031 Q (xploited to create denial of service.)-.165 E(This may)5.5 E (occur through spoofed feedback.)72 394.031 Q(Thus an)5.5 E 2.75(yt) -.165 G(ransport protocol that uses TFMCC should tak)-2.75 E 2.75(ec) -.11 G(are)-2.75 E(to ensure that feedback is only accepted from v)72 407.031 Q(alid recei)-.275 E -.165(ve)-.275 G(rs of the data.).165 E (The precise mechanism)5.5 E(to achie)72 420.031 Q .33 -.165(ve t)-.275 H(his will ho).165 E(we)-.275 E -.165(ve)-.275 G 2.75(rd).165 G (epend on the transport protocol itself.)-2.75 E(Congestion control mec\ hanisms may potentially be manipulated by a greedy recei)72 436.631 Q -.165(ve)-.275 G 2.75(rt).165 G(hat wishes)-2.75 E(to recei)72 449.631 Q .33 -.165(ve m)-.275 H(ore than its f).165 E(air share of netw)-.11 E (ork bandwidth.)-.11 E(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44 (r, i).165 H 2.75(nT).44 G(FMCC a recei)-2.75 E -.165(ve)-.275 G 2.75 (rc).165 G(an)-2.75 E (only in\215uence the sending rate if it is the CLR and thus has the lo) 72 462.631 Q(west calculated rate of all)-.275 E(recei)72 475.631 Q -.165(ve)-.275 G 2.75(rs. If).165 F (the calculated rate is then manipulated such that it e)2.75 E (xceeds the calculated rate of the)-.165 E(second to lo)72 488.631 Q (west recei)-.275 E -.165(ve)-.275 G .88 -.44(r, i).165 H 2.75(tw).44 G (ill cease to be CLR.)-2.75 E 2.75(Ag)5.5 G(reedy recei)-2.75 E -.165 (ve)-.275 G 2.75(rc).165 G(an only signi\214cantly)-2.75 E(increase the\ n transmission rate if it is the only participant in the session.)72 501.631 Q(If such scenarios are of)5.5 E(concern, possible defenses ag) 72 514.631 Q(ainst such a recei)-.055 E -.165(ve)-.275 G 2.75(rw).165 G (ould normally include some form of nonce)-2.86 E(that the recei)72 527.631 Q -.165(ve)-.275 G 2.75(rm).165 G (ust feed back to the sender to pro)-2.75 E .33 -.165(ve r)-.165 H 2.75 (eceipt. Ho).165 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H (he details of such a).44 E(nonce w)72 540.631 Q(ould depend on the tra\ nsport protocol, and in particular on whether the transport protocol) -.11 E(is reliable or unreliable.)72 553.631 Q (It is possible that a recei)72 570.231 Q -.165(ve)-.275 G 2.75(rs).165 G(ends feedback claiming it has a v)-2.75 E(ery lo)-.165 E 2.75(wc)-.275 G(alculated rate.)-2.75 E(This will)5.5 E (reduce the rate of the multicast session and might render it useless b) 72 583.231 Q(ut ob)-.22 E(viously cannot hurt the)-.165 E(netw)72 596.231 Q(ork itself.)-.11 E 1.76 -.88(We e)72 612.831 T (xpect that protocols incorporating ECN with TFMCC will also w).715 E (ant to incorporate feedback)-.11 E(from the recei)72 625.831 Q -.165 (ve)-.275 G 2.75(rt).165 G 2.75(ot)-2.75 G(he sender using the ECN nonc\ e [8]. The ECN nonce is a modi\214cation to)-2.75 E(ECN that protects t\ he sender from the accidental or malicious concealment of mark)72 638.831 Q(ed pack)-.11 E(ets.)-.11 E -.44(Wi)72 697 S(dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 22]).165 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E(Ag)72 85 Q(ain, the details of such a nonce w)-.055 E (ould depend on the transport protocol, and are not addressed)-.11 E (in this document.)72 98 Q/F1 11/Times-Bold@0 SF 2.75(7. IAN)72 137 R 2.75(AC)-.22 G(onsiderations)-2.75 E F0(There are no IAN)72 153.6 Q 2.75 (Aa)-.385 G(ctions required for this document.)-2.75 E F1 2.75(8. A)72 192.6 R(uthors' Addr)-.55 E(esses)-.198 E F0(Joer)108 211.6 Q 2.75(gW) -.198 G(idmer)-3.19 E(DoCoMo Euro-Labs)108 224.6 Q(Landsber)108 237.6 Q (ger Str)-.198 E 2.75(.3)-.605 G(12, Munich, German)-2.75 E(y)-.165 E (widmer@acm.or)108 250.6 Q(g)-.198 E(Mark Handle)108 275.6 Q(y)-.165 E (UCL \(Uni)108 288.6 Q -.165(ve)-.275 G(rsity Colle).165 E(ge London\)) -.165 E(Go)108 301.6 Q(wer Street, London WC1E 6BT)-.275 E 2.75(,U)-.814 G(K)-2.75 E(m.handle)108 314.6 Q(y@cs.ucl.ac.uk)-.165 E F1 2.75 (9. Ackno)72 359.6 R(wledgments)-.11 E F0 1.76 -.88(We w)72 376.2 T (ould lik).77 E 2.75(et)-.11 G 2.75(oa)-2.75 G(ckno)-2.75 E (wledge feedback and discussions on equation-based congestion control) -.275 E(with a wide range of people, including members of the Reliable \ Multicast Research Group, the)72 389.2 Q(Reliable Multicast T)72 402.2 Q (ransport W)-.385 E(orking Group, and the End-to-End Research Group.) -.88 E 1.76 -.88(We w)5.5 H(ould).77 E(particularly lik)72 415.2 Q 2.75 (et)-.11 G 2.75(ot)-2.75 G (hank Brian Adamson, Mark Pullen, and Fei Zhao for feedback on earlier) -2.75 E -.165(ve)72 428.2 S(rsions of this document.).165 E F1 2.75 (10. Refer)72 467.2 R(ences)-.198 E F0 ([1] B. Adamson, C. Bormann, M. Handle)72 487.4 Q 1.43 -.715(y, a)-.165 H(nd J. Mack).715 E(er)-.11 E 2.75(,")-.44 G -.385(NA)-2.75 G (CK-Oriented Reliable Multicast)-.055 E(\(NORM\) Protocol Building Bloc\ ks", Internet Draft draft-ietf-rmt-norm-bb-09.txt, July)97 500.4 Q (2004, w)97 513.4 Q(ork in progress.)-.11 E (Citation for informational purposes only)5.5 E(.)-.715 E([2] S. Flo)72 530 Q(yd, M. Handle)-.11 E 1.43 -.715(y, J)-.165 H 2.75(.P).715 G(adh) -2.915 E(ye, and J. W)-.055 E(idmer)-.44 E 2.75(,")-.44 G (Equation-Based Congestion Control for)-2.75 E (Unicast Applications", Proc A)97 543 Q (CM SIGCOMM 2000, Stockholm, August 2000)-.44 E([3] H. W)72 559.6 Q 2.75 (.H)-1.012 G(olbrook, "A Channel Model for Multicast," Ph.D.)-2.75 E (Dissertation, Stanford Uni)5.5 E -.165(ve)-.275 G(rsity).165 E(,)-.715 E(Department of Computer Science, Stanford, California, August 2001.)97 572.6 Q([4] J. P)72 589.2 Q(adh)-.165 E(ye, V)-.055 E 2.75(.F)-1.419 G (iroiu, D. T)-2.75 E -.275(ow)-.88 G(sle).275 E 1.43 -.715(y, a)-.165 H (nd J. K).715 E(urose, "Modeling TCP Throughput: A Simple Model)-.165 E (and its Empirical V)97 602.2 Q(alidation", Proc A)-1.221 E (CM SIGCOMM 1998.)-.44 E([5] K. Ramakrishnan and S. Flo)72 618.8 Q (yd, "A Proposal to add Explicit Congestion Noti\214cation \(ECN\) to) -.11 E(IP", RFC 2481, January 1999.)97 631.8 Q -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 23]).165 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(Expires: September 2006)232.395 49 Q(March 2006) 106.935 E([6] L. Rizzo, "pgmcc: a TCP-friendly single-rate multicast co\ ngestion control scheme", Proc)72 85 Q -.44(AC)97 98 S 2.75(MS).44 G (IGCOMM 2000, Stockholm, August 2000)-2.75 E ([7] H. Schulzrinne, S. Casner)72 114.6 Q 2.75(,R)-.44 G 2.75(.F)-2.75 G (rederick, and V)-2.75 E 2.75(.J)-1.419 G(acobson, "R)-2.75 E(TP: A T) -.66 E(ransport Protocol for)-.385 E(Real-T)97 127.6 Q (ime Applications", RFC 1889, January 1996.)-.385 E([8] N. Spring, D. W) 72 144.2 Q(etherall, and D. Ely)-.88 E 2.75(,")-.715 G(Rob)-2.75 E (ust Explicit Congestion Noti\214cation \(ECN\))-.22 E (Signaling with Nonces", RFC 3540, June 2003.)97 157.2 Q([9] J. W)72 173.8 Q(idmer and T)-.44 E 2.75(.F)-.814 G (uhrmann, "Extremum Feedback for V)-2.75 E(ery Lar)-1.221 E (ge Multicast Groups", Proc)-.198 E(NGC 2001, London, No)97 186.8 Q -.165(ve)-.165 G(mber 2001.).165 E([10] J. W)72 203.4 Q (idmer and M. Handle)-.44 E 1.43 -.715(y, ")-.165 H (Extending Equation-Based Congestion Control to Multicast).715 E (Applications", Proc A)97 216.4 Q(CM SIGCOMM 2001, San Die)-.44 E (go, August 2001)-.165 E/F1 11/Times-Bold@0 SF 2.75(11. Copyright)72 255.4 R(Notice)2.75 E F0(Cop)72 272 Q (yright \(C\) The Internet Society \(2005\).)-.11 E (This document is subject to the rights, licenses and)5.5 E (restrictions contained in BCP 78, and e)72 285 Q (xcept as set forth therein, the authors retain all their rights.)-.165 E(This document and the information contained herein are pro)72 301.6 Q (vided on an "AS IS" basis and THE)-.165 E(CONTRIB)72 314.6 Q(UT)-.11 E (OR, THE ORGANIZA)-.198 E(TION HE/SHE REPRESENTS OR IS SPONSORED BY) -1.221 E (\(IF ANY\), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING T)72 327.6 Q(ASK FORCE)-1.023 E(DISCLAIM ALL W)72 340.6 Q (ARRANTIES, EXPRESS OR IMPLIED, INCLUDING B)-1.32 E(UT NO)-.11 E(T)-.44 E(LIMITED T)72 353.6 Q 2.75(OA)-.198 G(NY W)-2.75 E(ARRANTY THA)-1.32 E 2.75(TT)-1.221 G(HE USE OF THE INFORMA)-2.75 E(TION HEREIN WILL)-1.221 E (NO)72 366.6 Q 2.75(TI)-.44 G(NFRINGE ANY RIGHTS OR ANY IMPLIED W)-2.75 E(ARRANTIES OF)-1.32 E(MERCHANT)72 379.6 Q(ABILITY OR FITNESS FOR A P) -1.023 E(AR)-1.012 E(TICULAR PURPOSE.)-.66 E -.44(Wi)72 697 S (dmer/Handle).44 E 313.937(y[)-.165 G -.165(Pa)-313.937 G(ge 24]).165 E 0 Cg EP %%Trailer end %%EOF