專利名稱:用于確定時(shí)間參量的方法和設(shè)備的制作方法
背景技術(shù):
本發(fā)明涉及在數(shù)據(jù)單元發(fā)射機(jī)中用于確定與“重新發(fā)送超時(shí)(time-out)”的特性有關(guān)的參量的方法和設(shè)備。
通常,在通信領(lǐng)域中,人們區(qū)分電路交換的連接與數(shù)據(jù)單元交換的連接。在數(shù)據(jù)單元交換的連接中,要被發(fā)送的數(shù)據(jù)量被劃分成數(shù)據(jù)單元,這些數(shù)據(jù)單元按照一個(gè)管理通信的協(xié)議來(lái)進(jìn)行發(fā)送??梢灾赋?,在不同協(xié)議的環(huán)境中,數(shù)據(jù)單元接受不同的名稱,諸如分組、幀等等,其中術(shù)語(yǔ)“數(shù)據(jù)單元”總的被使用于以下的說(shuō)明。
為了確保數(shù)據(jù)的可靠傳輸,許多協(xié)議提供數(shù)據(jù)單元重發(fā)的特性。更具體地,數(shù)據(jù)單元重發(fā)意味著在通信中接收機(jī)對(duì)數(shù)據(jù)單元的正確接收,需要由接收機(jī)把一個(gè)適當(dāng)?shù)膽?yīng)答消息發(fā)送返回給發(fā)送裝置作為確認(rèn)。一旦發(fā)送裝置接收到應(yīng)答,它就可適當(dāng)?shù)乩^續(xù)發(fā)送另外的數(shù)據(jù)單元,或如果沒有接收到應(yīng)答或接收到一個(gè)非應(yīng)答消息,則沒有被接收機(jī)正確地接收的數(shù)據(jù)單元可被重發(fā)。
一個(gè)典型地伴隨著數(shù)據(jù)單元重發(fā)的特性是重發(fā)超時(shí)的特性。這個(gè)特性意味著通信時(shí)的發(fā)送裝置將只等待一段用于應(yīng)答消息的預(yù)定的時(shí)間間隔,即,重發(fā)超時(shí)的時(shí)間間隔。當(dāng)這段時(shí)間已經(jīng)消逝而沒有接收到應(yīng)答,則相應(yīng)的數(shù)據(jù)單元將被自動(dòng)地重發(fā)。這個(gè)特性確保如果數(shù)據(jù)單元被丟失,則在上述的“超時(shí)”時(shí)間間隔后,丟失的數(shù)據(jù)單元將被自動(dòng)重發(fā)。
提供重發(fā)和重發(fā)超時(shí)特性的協(xié)議的例子是所謂的傳輸控制協(xié)議(TCP),它是熟知的TCP/IP協(xié)議組的一部分。通常,顯然,所述超時(shí)的時(shí)間間隔應(yīng)當(dāng)根據(jù)所謂的往返行程時(shí)間RTT(即,在一個(gè)數(shù)據(jù)單元的發(fā)送和對(duì)于所述數(shù)據(jù)單元的應(yīng)答的接收之間的傳送的時(shí)間)來(lái)被確定。
超時(shí)=f(RTT) (1)
即,如果連接是“遠(yuǎn)距離的”(即,長(zhǎng)的RTT),則“超時(shí)”時(shí)間間隔必須被設(shè)置為比“接近的”連接(即,短的RTT)更長(zhǎng)。在這方面,也很明顯,超時(shí)時(shí)間間隔應(yīng)當(dāng)被設(shè)置為如必要的那麼長(zhǎng)和盡可能地短,因?yàn)楸辉O(shè)置得太長(zhǎng)的超時(shí)時(shí)間間隔會(huì)導(dǎo)致傳輸中不必要的延時(shí)。
由于多種因素(諸如輸送數(shù)據(jù)單元的網(wǎng)絡(luò)的業(yè)務(wù)條件,延遲的應(yīng)答機(jī)制等等),RTT的測(cè)量的數(shù)值在短的時(shí)間間隔內(nèi)可以強(qiáng)烈地變化。為了克服這個(gè)問(wèn)題,已建議引入對(duì)于往返行程時(shí)間的平滑的估計(jì)量。這在W.Richard Stevens的“TCP/IP Illustrated,Volumel,Protocols(協(xié)議,第1卷,說(shuō)明TCP/IP)”(Addison Wesley 1994),第21.3節(jié)中被描述。確定RTT估計(jì)量的第一種方法使用以下的方程SRTT←α·SRTT+(1-α)·RTT (2)其中SRTT代表平滑的估計(jì)量,RTT代表瞬時(shí)測(cè)量的往返行程時(shí)間值,以及α是加權(quán)因子或平滑化因子,它具有0.9的推薦值。每次作出RTT的新的測(cè)量時(shí),平滑的估計(jì)量SRTT被更新。這個(gè)數(shù)值0.9是指每個(gè)新的估值的90%是來(lái)自以前的估值,以及10%是來(lái)自新的測(cè)量值。RFC 793(RFC=對(duì)于評(píng)論的請(qǐng)求)建議把所謂的重發(fā)超時(shí)數(shù)值RTO設(shè)置為RTO=SRTT·β(3)其中RTO是與用于上述的超時(shí)時(shí)間間隔的TCP相關(guān)聯(lián)地使用的特定的項(xiàng),以及是另一個(gè)加權(quán)因子,它也被稱為延時(shí)變化因子,具有等于2的推薦值。
上述的用于計(jì)算RTO的方法有一個(gè)問(wèn)題它跟不上RTT的寬的起伏。這導(dǎo)致不必要的重發(fā),從而惡化了網(wǎng)絡(luò)中的狀態(tài)。所以提出了這樣一種改進(jìn),它不單考慮平均值,而且也企圖跟蹤標(biāo)準(zhǔn)偏差。在以上的Stevens的著作中提到,最好是去計(jì)算標(biāo)準(zhǔn)偏差,但這需要計(jì)算平方和平方根,這些最好是要加以避免的。這導(dǎo)致以下的方法
Δ=RTT-SRTT (4)SRTT←SRTT+g·Δ(5)RTTVAR←RTTVAR+h·(|Δ|-RTTVAR) (6)RTO=SRTT+4·RTTVAR (7)其中RTT再次代表測(cè)量的往返行程時(shí)間值,SRTT代表平滑的往返行程時(shí)間估值,RTTVAR代表平均偏差的估值,RTO代表重新發(fā)送超時(shí)數(shù)值,g代表第一加權(quán)因子,以及h代表第二加權(quán)因子。這些加權(quán)因子g和h也被稱為增益,以及g的數(shù)值被設(shè)置為0.125,而h被設(shè)置為0.25。
上述的公式(4)到(7)的方法十幾年來(lái)是一直沿用的。
發(fā)明目的本發(fā)明的目的是提供對(duì)于數(shù)據(jù)單元發(fā)射機(jī)的數(shù)據(jù)發(fā)送的改進(jìn)的系統(tǒng),該數(shù)據(jù)單元發(fā)射機(jī)實(shí)施提供重發(fā)超時(shí)特性的協(xié)議。
按照在權(quán)利要求1和33中描述的第一方面,執(zhí)行平均偏差值(例如,上述的RTTVAR)的計(jì)算,以使得如果測(cè)量的往返行程時(shí)間值小于根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(上述的SRTT)而確定的門限值,則所測(cè)量的往返行程時(shí)間值(例如,上述的RTT)對(duì)所述平均偏差值的貢獻(xiàn),比起如果測(cè)量的往返行程時(shí)間值大于所述門限值時(shí)是不同的。
按照優(yōu)選實(shí)施例,這個(gè)門限值等于平滑的往返行程時(shí)間值的數(shù)值。換句話說(shuō),對(duì)于上述的公式(4)到(7)的例子,這個(gè)優(yōu)選實(shí)施例意味著RTTVAR對(duì)于Δ的正的和負(fù)的數(shù)值將會(huì)不同地被計(jì)算。這樣,可以避免減小了的測(cè)量的往返行程時(shí)間的數(shù)值將導(dǎo)致重發(fā)超時(shí)參量的增加。更具體地,正如將在優(yōu)選實(shí)施例的說(shuō)明中詳細(xì)地解釋的,以上的公式(6)引入Δ的絕對(duì)值,這意味著RTT的減小了的數(shù)值(RTT<SRTT),比起RTT的增加了的數(shù)值(RTT>SRTT),對(duì)于RTTVAR數(shù)值具有相同的影響。因此,如果在以上的公式(7)中,因子4·RTTVAR超過(guò)SRTT的因子,則RTT的減小的數(shù)值具有增加RTO的效果。本發(fā)明認(rèn)識(shí)到,這個(gè)絕對(duì)不希望的結(jié)果可以通過(guò)上述的權(quán)利要求1的總的方法而被避免。
按照在權(quán)利要求11和34中描述的本發(fā)明的第二方面,加權(quán)因子(例如,在公式(7)中RTTVAR以前的g,h和特定的因子4)被做成是隨時(shí)間變化的。這個(gè)特性使得對(duì)超時(shí)參量(例如,上述的RTO)的確定相對(duì)于實(shí)現(xiàn)通信的網(wǎng)絡(luò)中的變化的情形靈活得多。按照這個(gè)第二方面的優(yōu)選實(shí)施例,加權(quán)值是根據(jù)“正在飛行的”數(shù)據(jù)單元的數(shù)目(即,被發(fā)送的、但在任何時(shí)間點(diǎn)還沒有被應(yīng)答的數(shù)據(jù)單元的數(shù)目(也被稱為未解決的數(shù)據(jù)單元的數(shù)目))而被作出的。
按照在權(quán)利要求17和35中描述的本發(fā)明的第三方面,這樣來(lái)確定超時(shí)參量(例如,RTO)以使得這個(gè)參量也根據(jù)一個(gè)指示給定的發(fā)送裝置和接收者之間的通信中出現(xiàn)的虛假的超時(shí)的數(shù)目的數(shù)值而被計(jì)算的。虛假的超時(shí)是由鏈路上過(guò)量的延時(shí)造成的,而不是由數(shù)據(jù)單元的實(shí)際損耗造成的。這樣做的優(yōu)點(diǎn)在于,由虛假的超時(shí)給出的含意(即,超時(shí)時(shí)間間隔太短)可被用作為計(jì)算更保守的(即,更長(zhǎng)的)超時(shí)時(shí)間間隔的基礎(chǔ)。
上述的三個(gè)方面優(yōu)選地可以以任何適當(dāng)?shù)姆绞奖唤M合。這樣的組合也被稱為Eifel(埃菲爾)重發(fā)定時(shí)器。本發(fā)明的有利的實(shí)施例將在各從屬權(quán)利要求中被描述。
優(yōu)選實(shí)施例詳細(xì)描述以下的說(shuō)明將是在對(duì)TCP的應(yīng)用方面給出的。然而,應(yīng)當(dāng)指出,這僅僅是優(yōu)選的例子,以及本發(fā)明可以應(yīng)用到任何的、提供重發(fā)和重發(fā)超時(shí)的傳輸協(xié)議。
按照本發(fā)明的第一方面,當(dāng)平均偏差值的數(shù)值RTTVAR被更新時(shí),如果測(cè)量的往返行程時(shí)間值RTT小于根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值SRTT(老的)而被確定的預(yù)定的門限值TH,則測(cè)量的往返行程時(shí)間值RTT對(duì)更新的平均偏差值RTTVAR的貢獻(xiàn)比起如果測(cè)量的往返行程時(shí)間值RTT大于預(yù)定的門限值時(shí)是不同的。
按照本發(fā)明的第一實(shí)施例,門限值TH等于所存儲(chǔ)的SRTT值,以及如以上的公式所示的參量RTTVAR的計(jì)算或更新被修正為使得 數(shù)值Δ=0可被分配給公式(8.1)的上部的或下部的式子,但優(yōu)選地,把它分配給上部的式子,以便確保RTTVAR隨時(shí)間衰減,如果RTT成為恒定的話。
正如可看到的,RTT的負(fù)偏差(即,當(dāng)RTT小于SRTT時(shí))將被濾除。這樣,可以避免在公式(6)中取Δ的絕對(duì)值的不利的影響。這在結(jié)合以下對(duì)
圖1的詳細(xì)的說(shuō)明中將變得更清楚。
圖1顯示與重發(fā)超時(shí)有關(guān)的參量隨時(shí)間的變化。這些參量是在TCP穩(wěn)態(tài)(即在給定的發(fā)送裝置與接收機(jī)之間的連接具有到它本身的一條鏈路)下測(cè)量的。在圖的底部的圖形按步長(zhǎng)改變,它描述了往返行程時(shí)間RTT的測(cè)量的值。RTO(pa)的符號(hào)代表通過(guò)現(xiàn)有技術(shù)公式(4)到(7)計(jì)算的重發(fā)超時(shí)參量。數(shù)值Rexmt(pa)關(guān)系到按一般情況實(shí)施的重發(fā)定時(shí)器。這將概略地加以說(shuō)明。
理論上,重發(fā)超時(shí)數(shù)值RTO和重發(fā)定時(shí)器Rexmt應(yīng)當(dāng)是相同的。然而,正如本發(fā)明人認(rèn)識(shí)到的,TCP的現(xiàn)有技術(shù)實(shí)施方案事實(shí)上包含有誤差,這導(dǎo)致在RTO與Rexmt之間總是存在有差值。這個(gè)誤差是由于實(shí)際的重發(fā)定時(shí)器總是針對(duì)著最老的未解決的(即,未應(yīng)答的)數(shù)據(jù)單元而啟動(dòng)的。然而,由于使用累積的或延時(shí)的應(yīng)答,在發(fā)送特定的數(shù)據(jù)單元時(shí),一般將不會(huì)知道這個(gè)特定的數(shù)據(jù)單元將很快就會(huì)變成為最老的未解決的數(shù)據(jù)單元。只有在對(duì)于直到所述特定的數(shù)據(jù)單元的所有數(shù)據(jù)單元的應(yīng)答都已接收以后,才知道這個(gè)特定的數(shù)據(jù)單元是最老的未解決的數(shù)據(jù)單元。TCP的所有的實(shí)際的實(shí)施方案總是只有當(dāng)接收到對(duì)于直到所述特定的數(shù)據(jù)單元的所有數(shù)據(jù)單元的這個(gè)應(yīng)答時(shí)才啟動(dòng)重發(fā)定時(shí)器。因此,在該數(shù)據(jù)單元的發(fā)送和對(duì)于直到所述特定的數(shù)據(jù)單元的所有數(shù)據(jù)單元的應(yīng)答消息的接收之間總是有延時(shí)δ,這導(dǎo)致重發(fā)定時(shí)器Rexmt大于重發(fā)超時(shí)數(shù)值RTO,即,Rexmt=RTO+δ。
這種效應(yīng)的結(jié)果是,重發(fā)超時(shí)總是保守的,即,總是太長(zhǎng)。
回到圖1,在RTO(pa)與Rexmt(pa)之間的這個(gè)差值是明顯的。而且,圖上也顯示按照本發(fā)明計(jì)算的、如以上在公式(8.1)中表示的RTO數(shù)值。
如從粗黑箭頭A和B看到的,當(dāng)測(cè)量的往返行程時(shí)間值RTT急劇地下降時(shí),這導(dǎo)致RTO(pa)急劇地增加。這是非常不希望的,因?yàn)橹匕l(fā)超時(shí)數(shù)值應(yīng)當(dāng)具有跟隨往返行程時(shí)間的走向趨勢(shì)。正如可以看到的,這顯然是通過(guò)按照本發(fā)明的RTO的數(shù)值得到的,這些RTO數(shù)值是根據(jù)按照以上的公式(8.1)計(jì)算的平均偏差值RTTVAR來(lái)計(jì)算的。正如可以看到的,按照本發(fā)明確定的RTO的數(shù)值將會(huì)遵循著RTT的走向趨勢(shì),以及該數(shù)值總是接近于和大于RTT,其準(zhǔn)確度如所希望的那樣。
圖2顯示圖1的放大的部分,其中僅僅顯示了RTT,RTO(pa)和RTO。正如可以看到的,如按照本發(fā)明計(jì)算的RTO的數(shù)值比起按照現(xiàn)有技術(shù)計(jì)算的RTO(pa)具有更穩(wěn)定的圖形。
在以上的公式(8.1)中,被用來(lái)確定RTT應(yīng)當(dāng)對(duì)平均偏差RTTVAR作出怎樣的貢獻(xiàn)的門限值等于所存儲(chǔ)的平滑的往返行程時(shí)間值SRTT。然而,本發(fā)明并不限于此,因?yàn)殚T限值TH通??梢允歉鶕?jù)SRTT來(lái)確定的任何適當(dāng)?shù)臄?shù)值,例如TH(SRTT)=SRTT+const(常數(shù)),或TH(SRTT)=SRTT-const(常數(shù)),其中const代表任何適當(dāng)?shù)某?shù)值,即,一個(gè)或多或少大于或小于所存儲(chǔ)的SRTT值的門限值,通常,TH可以是SRTT的任何適當(dāng)?shù)暮瘮?shù)。
所以,這導(dǎo)致更一般的公式(8.2) 再次地,RTT=TH(SRTT)優(yōu)選地被分配給上部的式子。
在以上的公式(8.1)和(8,2)中,給出用于計(jì)算RTTVAR的兩個(gè)各自的替換式子。然而,同樣地很可能給出更大量的替換的式子,這不單取決于測(cè)量的RTT數(shù)值和存儲(chǔ)的SRTT數(shù)值,也取決于存儲(chǔ)的RTTVAR數(shù)值。即,公式(8.1)的優(yōu)選的變例是在為了簡(jiǎn)明和清晰起見而用偽代碼寫出的以下的公式(8.3)中給出的。
<pre listing-type="program-listing"><![CDATA[ IFΔ≥0 THEN IFΔ-RTTVAR<0 THEN RTTVAR←RTTVAR+h2·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR+h·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR (8.3)]]></pre>換句話說(shuō),對(duì)于RTT大于門限值的情形(在這種情形下,TH=SRTT;即,Δ=0),考慮兩種子情形。如果h是在0和1之間的數(shù)值或限于這個(gè)范圍的函數(shù)(通常是這種情形),則以上公式(8.3)的效應(yīng)是一種“振動(dòng)吸收器”特性,即,對(duì)應(yīng)于RTT增加的ROT增加(ROT能以任何適當(dāng)?shù)姆绞奖挥?jì)算,正如將在后面解釋的)比起對(duì)應(yīng)于RTT減小的ROT減小更為快速。
最后,正如公式(8.1)的情形,公式(8.3)也可被歸納為不同于TH=SRTT(Δ=0)的門限值
<pre listing-type="program-listing"><![CDATA[ IF RTT≥TH(SRTT)THEN IFΔ-RTTVAR<0 THEN RTTVAR←RTTVAR+h2·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR+h·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR (8.4)]]></pre>在以上的公式(8.1)到(8.4)中,加權(quán)參量h可被選擇為常數(shù)(h=常數(shù))或變量值。優(yōu)選地,它被選擇為隨時(shí)間而變化的變量(h=h(t))。更優(yōu)選地,它被選擇為與在給定時(shí)間的未解決的數(shù)據(jù)單元的數(shù)目N相關(guān)聯(lián)。瞬時(shí)值h(t)例如可被選擇為1/N(t),其中N(t)代表被發(fā)送的、但直到時(shí)間點(diǎn)t還沒有被應(yīng)答的數(shù)據(jù)單元的數(shù)目。
雖然有可能把h與N直接聯(lián)系起來(lái),但優(yōu)選地使用N的移動(dòng)平均值或平滑值(類似于SRTT是“帶噪聲的”RTT值的平滑平均值)。換句話說(shuō),可以使用未解決的數(shù)據(jù)單元的數(shù)目N的移動(dòng)平均數(shù)值SN,它可被確定為SN←SN+m·N其中m是適當(dāng)?shù)募訖?quán)因子。
作為找出一個(gè)表示未解決的數(shù)據(jù)單元數(shù)目的數(shù)值的另一個(gè)可能性,加權(quán)因子h可以與從TCP獲知的、所謂的慢啟動(dòng)門限值ssthresh相聯(lián)系(參照以上提到的Stevens的著作,第21.6章節(jié)),因?yàn)閟sthresh事實(shí)上可被看作為未解決的數(shù)據(jù)單元的數(shù)目的平滑平均值。
慢啟動(dòng)門限值ssthresh傳統(tǒng)上在避免阻塞方面被使用。避免阻塞連同著基于窗口的流程控制一起被使用,它具有兩個(gè)主要參量,即,慢啟動(dòng)門限值和所謂的阻塞窗cwnd。避免阻塞子程序基本上以以下的方式運(yùn)行- 發(fā)送窗永不大于阻塞窗和接收機(jī)的通告的窗的最小值;- 當(dāng)出現(xiàn)阻塞時(shí)(例如,由超時(shí)所表示,或由接收到重復(fù)的應(yīng)答所表示),則瞬時(shí)發(fā)送窗尺寸的一半(或某個(gè)其它的適當(dāng)部分)被保存起來(lái)作為ssthresh,以及在一個(gè)超時(shí)事件中,阻塞窗被復(fù)位為一個(gè)段;- 當(dāng)新的數(shù)據(jù)被應(yīng)答時(shí),cwnd增加,這要取決于cwnd和ssthresh之間的關(guān)系,即,如果cwnd小于或等于ssthresh,則cwnd在每次應(yīng)答被接收時(shí)就遞增一個(gè)段(這個(gè)子程序被稱為慢啟動(dòng)),以及如果cwnd大于ssthresh,則cwnd在每次應(yīng)答被接收時(shí)就遞增1/cwnd(這是實(shí)際的阻塞避免)。
慢啟動(dòng)導(dǎo)致窗口尺寸的指數(shù)增加,而阻塞避免只導(dǎo)致線性增加。
現(xiàn)在返回過(guò)來(lái)確定h,通常加權(quán)因子h被選擇為一個(gè)表示未解決的數(shù)據(jù)單元數(shù)目的數(shù)值的函數(shù),即,N、SN、或sstresh的函數(shù)??梢灾赋?,這些只是例子,以及表示(直接地或間接地)未解決的數(shù)據(jù)單元數(shù)目的任何數(shù)值都是適當(dāng)?shù)?。然而,最好使用ssthresh的數(shù)值,它典型地已在通常的TCP實(shí)施方案中可提供,這樣,分開的確定子程序是不必要的。
按照一個(gè)優(yōu)選實(shí)施例,加權(quán)因子h然后被選擇為sstresh的函數(shù)的倒數(shù),即,h=1/(ssthresh+1)。雖然是sstresh以字節(jié)被規(guī)定的,但在本申請(qǐng)中,sstresh的數(shù)值是依據(jù)段被使用的,即,sstresh=1意味著sstresh的尺寸等于1段,sstresh=2意味著sstresh的尺寸等于2段,等等。優(yōu)選地,sstresh的尺寸根據(jù)最大段尺寸MSS來(lái)測(cè)量,這是在初始的連接階段期間被設(shè)置或被協(xié)商的參量。替換地,任意固定的值(諸如1024字節(jié))可被用作為段參考。
以上的公式(8.1)到(8.4),連同著對(duì)于h的各種可能性一起,可以與以上用于確定PTO的公式(4),(5)和(7)相組合。然而,優(yōu)選地,公式(8.1)到(8.4)與以下的公式(9)和(10)相組合SRTT←SRTT+g(t)·Δ (9)RTO=SRTT+w(t)·RTTVAR (10)其中g(shù)(t)和w(t)代表時(shí)間變量加權(quán)因子。
按照優(yōu)選實(shí)施例,三個(gè)加權(quán)因子g(t)、h(t)和w(t)互相有關(guān),即,h=g,和w=l/g。
通常,g和/或w可被選擇為與未解決的數(shù)據(jù)單元的數(shù)目N有關(guān),正如上面結(jié)合加權(quán)因子h說(shuō)明的,即,g和/或w也可被選擇為一個(gè)表示未解決的數(shù)據(jù)單元的數(shù)目N的數(shù)值(諸如N、SN、或sstresh)的函數(shù)。
更優(yōu)選地,以上兩個(gè)特性被組合,所有三個(gè)加權(quán)因子g、h、和w被選擇為以特定的方式與N相聯(lián)系,即,與可適當(dāng)?shù)剡x擇的F的函數(shù)(其中F是N、SN、或sstresh的函數(shù)或可表示未解決的數(shù)據(jù)單元的數(shù)目的任何其它適當(dāng)?shù)臄?shù)值)相聯(lián)系g=1/F;h=1/F;w=F.
例如,F(xiàn)(N)可被選擇為F(N)=N+1,從而g=1/(N+1);h=1/(N+1);w=N+1.
同樣很可能根據(jù)平滑的平均SN或慢啟動(dòng)門限值sstresh來(lái)選擇加權(quán)因子,從而g=1/F(ssthresh);h=1/F(ssthresh);w=F(ssthresh),例如g=1/(ssthresh+1);h=1/(ssthresh+1);w=ssthresh+1.
自然地,這些組合也可以使得只有加權(quán)因子g、h和w之一是時(shí)間變量,或這三個(gè)加權(quán)因子中的兩個(gè)是時(shí)間變量,相應(yīng)的其它的加權(quán)因子總是常數(shù)。
按以上方式選擇加權(quán)因子的正面的效果可以在圖3上看到,圖上再次顯示測(cè)量的往返行程時(shí)間值RTT;現(xiàn)有技術(shù)的重發(fā)定時(shí)器Rexmt(pa)和通過(guò)使用g=1/(sstresh+1)、h=1/(sstresh+1)以及w=sstresh+1并按照以上的公式(8)、(9)和(10)計(jì)算的重發(fā)超時(shí)數(shù)值RTO。正如可以看到的,使用恒定的加權(quán)參量的問(wèn)題可以導(dǎo)致重發(fā)超時(shí)數(shù)值PTO(pa)太接近于往返行程時(shí)間值RTT,這樣,在事實(shí)上就沒有平滑或平均的效果。這導(dǎo)致不穩(wěn)定的流程控制過(guò)程。另一方面,正如從代表本發(fā)明的RTO的圖形看到的,本發(fā)明的重發(fā)超時(shí)數(shù)值遵循RTT的走向趨勢(shì),但保持著上述的RTT。換句話說(shuō),通過(guò)使用時(shí)間變量加權(quán)因子g、h和w,有可能避免數(shù)值RTO“落入到”RTT的數(shù)值中,這會(huì)導(dǎo)致通常應(yīng)當(dāng)避免的虛假的超時(shí)。
雖然以上的實(shí)施例是結(jié)合公式(8.1)到(8.4)描述的,但在現(xiàn)有技術(shù)方程(6)中,也有可能引入時(shí)間變量加權(quán)因子h(t),諸如h=1/(N(t)+1)或h=1/(sstresh+1)。自然地,也有可能把使用時(shí)間變量加權(quán)因子w(t)的方程(10)與使用固定加權(quán)因子g,h的方程(5)和(6)相組合,或把使用時(shí)間變量加權(quán)因子g(t)的方程(9)與使用固定加權(quán)因子的方程(5)和(7)相組合。通常,本發(fā)明的第二部分是選擇所述三個(gè)加權(quán)因子中的至少一個(gè)作為依賴于時(shí)間的變量,優(yōu)選地,是與未解決的或未應(yīng)答的數(shù)據(jù)單元的數(shù)目相聯(lián)系。
按照本發(fā)明的第三方面,重發(fā)超時(shí)數(shù)值RTO的確定被加以修正,以使得RTO←(SRTT+w·RTTVAR)·Φ(SPTO) (11)其中Φ(SPTO)代表一個(gè)與寄生超時(shí)的數(shù)目SPTO有關(guān)的函數(shù)。虛假的超時(shí)是由沿著發(fā)送裝置與接收機(jī)之間的鏈路的過(guò)量的延時(shí)造成的而不是由數(shù)據(jù)單元的損耗造成的超時(shí),換句話說(shuō),如果RTO較長(zhǎng),則不出現(xiàn)超時(shí),因?yàn)槿绻l(fā)送裝置等待得足夠長(zhǎng),則應(yīng)答已被接收到。
例如,公式(11)中的函數(shù)Φ(SPTO)可被選擇為Φ(SPTO)=1+f·(n(SPTO)/n)(12)其中n(SPTO)代表在預(yù)定的時(shí)間間隔期間由虛假的超時(shí)造成的寄生的數(shù)據(jù)單元的數(shù)目,n代表在所述預(yù)定的時(shí)間間隔期間數(shù)據(jù)單元的總的數(shù)目,以及f是相乘的參量。f可以被選擇為具有任何適當(dāng)?shù)臄?shù)值,但可以發(fā)現(xiàn),一個(gè)等于50或更大的數(shù)值是特別有效的。
這個(gè)預(yù)定的時(shí)間間隔可以與任何想要的方式被設(shè)置為一個(gè)固定的數(shù)值(例如被規(guī)定為2分鐘的最大段壽命(MSL))或被設(shè)置為一個(gè)取決于瞬時(shí)通信的數(shù)值(例如從所述通信的開始到現(xiàn)在為止的、用于瞬時(shí)通信的總的通信時(shí)間)。
可以指出,一個(gè)虛假的超時(shí)可以導(dǎo)致一個(gè)以上的虛假的重發(fā)。例如,如果發(fā)送100個(gè)數(shù)據(jù)單元,以及有兩個(gè)虛假的超時(shí),第一個(gè)虛假的超時(shí)導(dǎo)致一個(gè)重發(fā),以及第二個(gè)虛假的超時(shí)導(dǎo)致兩個(gè)重發(fā),則SR采取數(shù)值3/100。
按照一個(gè)優(yōu)選實(shí)施例,Φ(SPTO)被選擇為按以下的方式被規(guī)定的平滑值SR(再次地,為了簡(jiǎn)明起見,選擇偽代碼)<pre listing-type="program-listing"><![CDATA[IF″spurious time-out″THEN SR←MIN{NC,SR+0.5·(1-SR)}ELSE SR←SR·(1-(K/M))(13)]]></pre>其中MIN(x,y)等于x和y的最小值,NC是大于0的整數(shù),即,N=1,2,3...,K是速率值,0<K<1,以及M是表示在一個(gè)周期內(nèi)發(fā)送的數(shù)據(jù)單元的數(shù)目的變量。一個(gè)周期是對(duì)應(yīng)于如圖所示的RTT的一組上升步級(jí)(例如見在圖1的約69s和92s之間的上升步級(jí)或圖3的3.9s和7.15s之間的、或7.15s和10.6s之間的上升步級(jí))。優(yōu)選地,人們可再次使用這個(gè)數(shù)目的平滑平均,或可以根據(jù)慢啟動(dòng)門限值sstresh來(lái)把M確定為M=(ssthresh), (14)φ代表一個(gè)任意函數(shù),優(yōu)選地是
M=1.5·ssthresh2(15)NC優(yōu)選地被選擇為1或2,以及K優(yōu)選地處在0.01與0.1之間,更優(yōu)選地約為0.05。
換句話說(shuō),每次接收到應(yīng)答時(shí),確定這個(gè)應(yīng)答是否表示虛假的超時(shí),如果是這種情形,平滑的平均SR被更新為如第一替換例中表示的,以及如果不是的話,則SR被更新為如第二替換例中表示的。
正如從方程(11)看到的,當(dāng)虛假的超時(shí)在一段時(shí)間內(nèi)未出現(xiàn)時(shí)與因子Φ(SPTO)相乘逐漸使得RTO(預(yù)測(cè)值)更為有利,反之,在出現(xiàn)虛假的超時(shí)以后使得RTO更保守。
虛假的超時(shí)的確定可以以任何想要的方式來(lái)完成,例如像在共同待決的歐洲專利申請(qǐng)99100274.2中說(shuō)明的那樣,該專利申請(qǐng)?jiān)诖艘?,以供參考?br>
更具體地,虛假的超時(shí)是通過(guò)確定以下事實(shí)而進(jìn)行識(shí)別的,即在給定的數(shù)據(jù)單元由于超時(shí)而被重發(fā)以后,所接收的應(yīng)答不是響應(yīng)于重發(fā)的數(shù)據(jù)單元而是響應(yīng)于那個(gè)導(dǎo)致產(chǎn)生超時(shí)的數(shù)據(jù)單元。
確定虛假的超時(shí)的一個(gè)方法可以是使得發(fā)送裝置保持一個(gè)與發(fā)送方和接收方之間的連接有關(guān)的往返行程時(shí)間RTT的記錄(無(wú)論如何,這一般是已經(jīng)完成了的),以及特別是使得發(fā)送裝置保持一個(gè)在直到所考慮的時(shí)間點(diǎn)為止的通信期間(也稱為對(duì)話)所找到的最短的RTT的記錄。然后,如果用于重發(fā)的數(shù)據(jù)單元的應(yīng)答數(shù)據(jù)單元在小于所述最短RTT的一個(gè)預(yù)定部分的時(shí)間間隔內(nèi)被接收到,則發(fā)送裝置確定這個(gè)應(yīng)答屬于原先的發(fā)送而不屬于重發(fā)。這個(gè)部分可被設(shè)置為一個(gè)固定的數(shù)值,或其本身可以是自適應(yīng)的參量。自然地,并不需要使與所述部分相乘的比較值是最短的測(cè)量的RTT,更有可能是發(fā)送裝置保持一個(gè)平均的RTT值(例如上述的SRTT),以及這個(gè)平均值被用作為用于確定虛假的超時(shí)的基礎(chǔ)。在這個(gè)意義上,要乘以所述部分的這個(gè)比較值通常是在連接過(guò)程中(即,在對(duì)話期間)測(cè)量的一個(gè)或多個(gè)RTT數(shù)值的函數(shù)。
確定虛假的超時(shí)的另一個(gè)可能性是使得發(fā)送裝置將一個(gè)標(biāo)記附加到它發(fā)送的數(shù)據(jù)單元上,其中所述標(biāo)記被這樣地規(guī)定,以使得它能夠區(qū)分原先的發(fā)送和重發(fā)。然后,接收機(jī)因此可對(duì)應(yīng)答的數(shù)據(jù)單元進(jìn)行標(biāo)記,這樣,發(fā)送裝置能夠識(shí)別該應(yīng)答究竟是指原先的發(fā)送還是重發(fā)。數(shù)據(jù)單元的這種標(biāo)記操作可以以任何想要的方式完成。例如,理論上有可能在數(shù)據(jù)單元中僅僅指派一個(gè)單個(gè)比特,其中數(shù)值0表示原先的發(fā)送,以及數(shù)值1表示重發(fā),或反之亦然。在通常的意義上,傳輸更多信息的比特串也可被選擇。然而,對(duì)于提供這樣的任選項(xiàng)的協(xié)議而言,最好使用時(shí)間印記任選項(xiàng)。這個(gè)任選項(xiàng)例如對(duì)于TCP是熟知的,可以參見上述的W.R.Stevens的著作。換句話說(shuō),最好把時(shí)間印記包括在發(fā)送的數(shù)據(jù)單元內(nèi),它表示數(shù)據(jù)單元被發(fā)送的時(shí)間。接收機(jī)然后可以在各應(yīng)答消息中僅僅包括同一個(gè)時(shí)間印記,這樣,發(fā)送裝置具有識(shí)別該應(yīng)答所指明的數(shù)據(jù)單元的獨(dú)特的方法。
回到方程(11),可以指出因子Φ是用于自適應(yīng)地控制RTO(預(yù)測(cè)值)的保守性的手段。換句話說(shuō),虛假的超時(shí)出現(xiàn)越多,RTO越保守,反之亦然。
另外,公式(11)上所示的參量w可以是固定的數(shù)值或時(shí)間變量值,就像在前面的實(shí)施例中那樣,以及它優(yōu)選地等于上述的函數(shù)F(例如,F(xiàn)=ssthresh+1),這函數(shù)F取決于表示未解決的數(shù)據(jù)單元的數(shù)目的適當(dāng)?shù)膮⒘俊W匀坏?,結(jié)合方程(11)描述的以上的實(shí)施例可以以任何想要的方式與一個(gè)或多個(gè)方程(5)、(6)、(8.1)到(8.4)或(9)相組合。
優(yōu)選地,按照方程(11)確定RTO是通過(guò)設(shè)置最大極限值和最小極限值而完成的,如以下的方程(16)所示RTO←(SRTT+w·RTTVAR)·Φ(SPTO)RTO=MAX{RTO,RTT+n·TICK}RTO=MIN{RTO,Tconst)(16)其中MAX(x,y)給出x和y的最大值,以及MIN(x,y)給出x和y的最小值。TICK代表定時(shí)器細(xì)化度(即,系統(tǒng)可分辨的最小的時(shí)間量),n是正整數(shù),以及Tconst是一個(gè)用以使得RTO不會(huì)成為過(guò)大的時(shí)間上限。例如,Tconst可被選擇為64秒。整數(shù)n優(yōu)選地是1,這樣,(16)的第二方程意味著RTO總是被確定為至少比RTT大一個(gè)時(shí)間片刻(tick)。
RTO的上限和下限的設(shè)置也可以在以上任何的其它實(shí)施例方面被利用。
下面,將描述本發(fā)明人當(dāng)前認(rèn)為的最好的模式的一個(gè)實(shí)施例,它是以上的方面的優(yōu)選的組合。它也被稱為Eifel重發(fā)定時(shí)器。更具體地,這個(gè)最佳的模式包含如下地確定RTO<pre listing-type="program-listing"><![CDATA[ Δ=RTT-SRTT (17) g=h=1/w=1/(ssthresh+1) (18) SRTT←SRTT+g·Δ (19) IFΔ≥0 THEN IFΔ-RTTVAR<0 THEN RTTVAR←RTTVAR+h2·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR+h·(Δ-RTTVAR) ELSE RTTVAR←RTTVAR(20) IF″spurious time-out″THEN SR←MIN{NC,SR+0.5·(1-SR)} ELSE SR←SR·(1-(K/M)) (21) RTO←(SRTT+w·RTTVAR)·Φ(SPTO) RTO=MAX{RTO,RTT+n·TICK) RTO=MIN{RTO,Tconst)(22)]]></pre>以上的參量和數(shù)值都在前面的實(shí)施例中被定義,因此不必重復(fù)這些定義和優(yōu)選的數(shù)值。
這一系列的計(jì)算(17)到(22)在每次測(cè)量RTT數(shù)值時(shí)被執(zhí)行。換句話說(shuō),RTO的數(shù)值對(duì)于每次RTT的測(cè)量被更新。
在以上所有的實(shí)施例中,各個(gè)計(jì)算是建立在往返行程時(shí)間值RTT的測(cè)量結(jié)果的基礎(chǔ)上的。優(yōu)選地,這些測(cè)量是對(duì)于被發(fā)送的每個(gè)數(shù)據(jù)單元進(jìn)行的,這不同于已知的TCP實(shí)施方案,它一次只對(duì)一個(gè)數(shù)據(jù)單元定時(shí),這樣,平均起來(lái)每個(gè)RTT只有一個(gè)RTT測(cè)量值。被發(fā)送的每個(gè)數(shù)據(jù)單元的定時(shí)優(yōu)選地是通過(guò)利用時(shí)間印記任選項(xiàng)完成的,正如在RFC 1323中對(duì)于TCP規(guī)定的那樣。
正如一開始已提到的那樣,本發(fā)明可應(yīng)用于任何可提供重發(fā)和超時(shí)的數(shù)據(jù)單元通信系統(tǒng),諸如TCP或類似的協(xié)議。本發(fā)明的優(yōu)選的應(yīng)用是無(wú)線數(shù)據(jù)單元交換通信系統(tǒng),其中可供使用的帶寬可以有顯著的改變,這接下來(lái)又導(dǎo)致RTT有很強(qiáng)的變化。這樣的系統(tǒng)的例子是GPRS(通用分組交換無(wú)線系統(tǒng))和UMTS(通用移動(dòng)電信系統(tǒng))。
雖然本發(fā)明是結(jié)合具體的實(shí)施例描述的,但這些僅僅是為了向本領(lǐng)域技術(shù)人員解釋本發(fā)明用的,而不打算是限制性的。因此,本發(fā)明的范圍應(yīng)該由附屬權(quán)利要求來(lái)規(guī)定。
權(quán)利要求
1.在實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī)中,用于確定與重新發(fā)送超時(shí)特性有關(guān)的參量(RTO)的方法,該協(xié)議(TCP)提供在數(shù)據(jù)單元被正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,所述方法包括以下步驟測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)過(guò)的時(shí)間;至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))和所述測(cè)量的往返行程時(shí)間值(RTT)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old))、所述測(cè)量的往返行程時(shí)間值(RTT)和所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))和所述新的平均偏差值(RTTVAR(new))來(lái)計(jì)算所述參量(RTO),其特征在于,如果所述測(cè)量的往返行程時(shí)間值(RTT)小于根據(jù)所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))確定的、預(yù)定的門限值(TH(SRTT(old))),則與如果所述測(cè)量的往返行程時(shí)間值(RTT)大于所述預(yù)定的門限值(TH(SRTT(old)))時(shí)相比較,所述測(cè)量的往返行程時(shí)間值(RTT)對(duì)于所述新的平均偏差值(RTTVAR(new))的貢獻(xiàn)是不同的。
2.權(quán)利要求1的方法,其特征在于,所述預(yù)定的門限值(TH(SRTT(old)))等于所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))。
3.權(quán)利要求1或2的方法,其特征在于,如果所述測(cè)量的往返行程時(shí)間值(RTT)小于所述預(yù)定的門限值(TH(SRTT(old))),則所述新的平均偏差值(RTTVAR(new))被計(jì)算為等于或小于所述存儲(chǔ)的平均偏差值(RTTVAR(old))。
4.權(quán)利要求1到3的任一項(xiàng)的方法,其特征在于,如果所述測(cè)量的往返行程時(shí)間值(RTT)大于所述預(yù)定的門限值(TH(SRTT(old))),則所述新的平均偏差值(RTTVAR(new))被計(jì)算為所述存儲(chǔ)的平均偏差值(RTTVAR(old))、所述存儲(chǔ)的平滑往返行程時(shí)間值(SRTT(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、和加權(quán)因子(h)的函數(shù)。
5.權(quán)利要求4的方法,其特征在于,所述加權(quán)因子(h)是隨時(shí)間變化的。
6.權(quán)利要求5的方法,其特征在于,如果所述測(cè)量的往返行程時(shí)間值(RTT)大于或等于所述預(yù)定的門限值(TH(SRTT(old))),則所述新的平均偏差值(RTTVAR(new))被計(jì)算為RTTVAR(new)=RTTVAR(old)+h·((RTT-SRTT(old))-RTTVAR(old))其中RTTVAR(new)代表新的平均偏差值,RTTVAR(old)代表存儲(chǔ)的平均偏差值,SRTT(old)代表存儲(chǔ)的往返行程時(shí)間值,RTT代表測(cè)量的往返行程時(shí)間值,以及h代表所述加權(quán)因子。
7.權(quán)利要求5的方法,其特征在于,如果所述測(cè)量的往返行程時(shí)間值(RTT)大于或等于所述預(yù)定的門限值(TH(SRTT(old)))和(RTT-SRTT(old))-RTTVAR(old)≥0,則所述新的平均偏差值(RTTVAR(new))被計(jì)算為RTTVAR(new)=RTTVAR(old)+h·((RTT-SRTT(old))-RTTVAR(old))以及如果所述測(cè)量的往返行程時(shí)間值(RTT)大于或等于所述預(yù)定的門限值(TH(SRTT(old)))和(RTT-SRTT(old))-RTTVAR(old)<0,則所述新的平均偏差值(RTTVAR(new))被計(jì)算為RTTVAR(new)=RTTVAR(old)+h2·((RTT-SRTT(old))-RTTVAR(old))其中RTTVAR(new)代表新的平均偏差值,RTTVAR(old)代表存儲(chǔ)的平均偏差值,SRTT(old)代表存儲(chǔ)的往返行程時(shí)間值,RTT代表測(cè)量的往返行程時(shí)間值,以及h代表所述加權(quán)因子。
8.權(quán)利要求4到7的任一項(xiàng)的方法,其特征在于,在給定的時(shí)間的所述加權(quán)因子(h)的數(shù)值是與一個(gè)表示直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的數(shù)值(N,SN,sstresh)有關(guān)的。
9.權(quán)利要求8的方法,其特征在于,表示直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的所述數(shù)值(N,SN,sstresh)是以下的數(shù)值之一-直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N),-直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的所述數(shù)目(N)的平滑平均值(SN),以及-慢啟動(dòng)門限值(ssthresh)。
10.權(quán)利要求8或9的方法,其特征在于,所述加權(quán)因子(h)等于表示直到所述給定的時(shí)間為止已發(fā)送的、但直到所述給定的時(shí)間為止未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的所述數(shù)值(N,SN,sstresh)與1的和值的倒數(shù)。
11.在實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī)中,確定與重新發(fā)送超時(shí)特性有關(guān)的參量(RTO)的方法,該協(xié)議(TCP)提供在數(shù)據(jù)單元被正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,所述方法包括以下步驟測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)過(guò)的時(shí)間;至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、和第一加權(quán)因子(g)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))、和第二加權(quán)因子(h)來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))、所述新的平均偏差值(RTTVAR(new))、和第三加權(quán)因子(w)來(lái)計(jì)算所述參量(RTO),其特征在于,所述第一、第二、和第三加權(quán)因子(g,h,w)中的至少一個(gè)加權(quán)因子是隨時(shí)間變化的。
12.權(quán)利要求11的方法,其特征在于,在給定的時(shí)間的所述至少一個(gè)加權(quán)因子的數(shù)值是與一個(gè)表示直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的數(shù)值(N,SN,sstresh)有關(guān)的。
13.權(quán)利要求11或12的方法,其特征在于,所述第一(g)、第二(h)和第三(w)加權(quán)因子是依賴于時(shí)間的,以及所述第一(g)和第二(h)加權(quán)因子是相同的,以及所述第三(w)加權(quán)因子等于所述所述第一加權(quán)因子(g)的倒數(shù)。
14.權(quán)利要求12和13的方法,其特征在于,所述第一加權(quán)因子(g)和所述第二加權(quán)因子(h)等于一個(gè)表示直到所述給定的時(shí)間為止已發(fā)送的、但直到所述給定的時(shí)間為止未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的所述數(shù)值(N,SN,sstresh)的預(yù)定的函數(shù)(F)的倒數(shù)(1/F),以及所述第三加權(quán)因子(w)等于所述函數(shù)(F)。
15.權(quán)利要求14的方法,其特征在于,所述預(yù)定的函數(shù)(F)是表示直到所述給定的時(shí)間為止已發(fā)送的、但直到所述給定的時(shí)間為止未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的所述數(shù)值(N,SN,sstresh)與1的和值。
16.權(quán)利要求12到15的任一項(xiàng)的方法,其特征在于,表示直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N)的所述數(shù)值(N,SN,sstresh)是以下的數(shù)值之一-直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的數(shù)目(N);-直到所述給定的時(shí)間為止已被發(fā)送的、但直到所述給定的時(shí)間為止還未應(yīng)答的數(shù)據(jù)單元的所述數(shù)目(N)的平滑平均值(SN);以及-慢啟動(dòng)門限值(ssthresh)。
17.在實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī)中,用于確定與重新發(fā)送超時(shí)特性有關(guān)的參量(RTO)的方法,該協(xié)議(TCP)提供在數(shù)據(jù)單元正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,所述方法包括以下步驟測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)過(guò)的時(shí)間;至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))和所述測(cè)量的往返行程時(shí)間值(RTT)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old)),所述測(cè)量的往返行程時(shí)間值(RTT)和所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))和所述新的平均偏差值(RTTVAR(new))來(lái)計(jì)算所述參量(RTO),其特征在于,所述參量(RTO)還根據(jù)一個(gè)表示在所述發(fā)送裝置與所述接收機(jī)之間的所述通信中出現(xiàn)的虛假的超時(shí)的數(shù)目(SPTO)的數(shù)值(Φ(SPTO))來(lái)進(jìn)行計(jì)算的。
18.權(quán)利要求17的方法,其特征在于,所述參量(RTO)是作為取決于所述新的平滑的往返行程時(shí)間值(SRTT(new))和所述新的平均偏差值(RTTVAR(new))的第一因子與取決于表示虛假的超時(shí)的數(shù)目的所述數(shù)值(Φ(SPTO))的第二因子的乘積來(lái)進(jìn)行計(jì)算的。
19.權(quán)利要求17或18的方法,其特征在于,表示虛假的超時(shí)的數(shù)目的所述數(shù)值(Φ(SPTO))是1與由虛假的超時(shí)造成的數(shù)據(jù)單元重發(fā)的數(shù)目(n(SPTO))被在預(yù)定的時(shí)間間隔內(nèi)重發(fā)的數(shù)據(jù)單元的總共的數(shù)目相除所得的份額和一個(gè)相乘因子(f)的乘積的和值。
20.權(quán)利要求19的方法,其特征在于,所述相乘因子(f)大于或等于50。
21.權(quán)利要求17或18的方法,其特征在于,表示虛假的超時(shí)的數(shù)目的所述數(shù)值(Φ(SPTO))是根據(jù)虛假的超時(shí)的數(shù)目而確定的一個(gè)平滑的平均值(SR)。
22.權(quán)利要求21的方法,其特征在于,這樣來(lái)確定所述平滑的平均值(SR),以使得當(dāng)接收到應(yīng)答時(shí),確定所述應(yīng)答是否表示虛假的超時(shí),如果是這種情形,則所述平滑的平均值(SR)的存儲(chǔ)值被更新為整數(shù)常數(shù)(N)和SR+wsr·(1-SR),的最小值,其中SR代表所述平滑的平均值的存儲(chǔ)值,以及wsr代表加權(quán)因子,如果所述超時(shí)不是虛假的超時(shí),則所述平滑的平均值被更新為所述平滑的平均值的所述存儲(chǔ)值和一個(gè)預(yù)定的因子的乘積。
23.權(quán)利要求22的方法,其特征在于,所述加權(quán)因子(wsr)等于0.5。
24.權(quán)利要求22或23的方法,其特征在于,所述預(yù)定的因子是與一個(gè)表示每個(gè)周期發(fā)送的數(shù)據(jù)單元的數(shù)目的數(shù)值(M)有關(guān)的。
25.權(quán)利要求24的方法,其特征在于,表示每個(gè)周期發(fā)送的數(shù)據(jù)單元的數(shù)目的所述數(shù)值是根據(jù)慢啟動(dòng)門限值(sstresh)而被確定的。
26.權(quán)利要求25的方法,其特征在于,所述數(shù)值(M)被確定為M=1.5·sstresh2其中M代表所述數(shù)值和sstresh代表慢啟動(dòng)門限值。
27.權(quán)利要求24到26的任一項(xiàng)的方法,其特征在于,所述預(yù)定的因子等于(1-(K/M)),其中M代表表示每個(gè)周期發(fā)送的數(shù)據(jù)單元的數(shù)目的所述數(shù)值(M),并K是一個(gè)滿足以下關(guān)系的數(shù)值0≤K<1。
28.權(quán)利要求1到27的任一項(xiàng)的方法,其特征在于,對(duì)所述參量(RTO)設(shè)置所述上限和下限值。
29.權(quán)利要求28的方法,其特征在于,所述下限值至少是測(cè)量的往返行程時(shí)間值(RTT)與時(shí)間片斷大小(TICK)的和值,其中所述時(shí)間片斷大小是所述數(shù)據(jù)單元發(fā)射機(jī)中的定時(shí)系統(tǒng)能分辨的最小的時(shí)間間隔。
30.權(quán)利要求1到29的任一項(xiàng)的方法,其特征在于,往返行程時(shí)間(RTT)是為所述發(fā)送裝置所發(fā)送的每個(gè)數(shù)據(jù)單元而測(cè)量的。
31.權(quán)利要求30的方法,其特征在于,所述參量(RTO)在每次測(cè)量往返行程時(shí)間值(RTT)時(shí)被計(jì)算。
32.可直接裝載到數(shù)字計(jì)算機(jī)的內(nèi)部存儲(chǔ)器中的計(jì)算機(jī)程序產(chǎn)品,包括當(dāng)所述產(chǎn)品在數(shù)字計(jì)算機(jī)上運(yùn)行時(shí)用于執(zhí)行權(quán)利要求1到31的任一項(xiàng)的方法的軟件代碼部分。
33.用來(lái)實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī),該協(xié)議(TCP)提供在數(shù)據(jù)單元被正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在一個(gè)超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,以及用來(lái)確定一個(gè)與所述重發(fā)超時(shí)特性有關(guān)的參量(RTO),包括測(cè)量裝置,用于測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)歷的時(shí)間;以及計(jì)算裝置,用于-至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))和所述測(cè)量的往返行程時(shí)間值(RTT)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));-至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、和所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及-至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))和所述新的平均偏差值(RTTVAR(new))來(lái)計(jì)算所述參量(RTO),其特征在于,所述計(jì)算裝置還被安排成使得如果所述測(cè)量的往返行程時(shí)間值(RTT)小于根據(jù)所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))確定的、預(yù)定的門限值(TH(SRTT(old))),則與如果所述測(cè)量的往返行程時(shí)間值(RTT)大于所述預(yù)定的門限值(TH(SRTT(old)))時(shí)相比較,所述測(cè)量的往返行程時(shí)間值(RTT)對(duì)于所述新的平均偏差值(RTTVAR(new))的貢獻(xiàn)是不同的。
34.用來(lái)實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī),該協(xié)議(TCP)提供在數(shù)據(jù)單元被正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在一個(gè)超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,以及用來(lái)確定一個(gè)與所述重發(fā)超時(shí)特性有關(guān)的參量(RTO),包括測(cè)量裝置,用于測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)歷的時(shí)間;以及計(jì)算裝置,用于-至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、和第一加權(quán)因子(g)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));-至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))、和第二加權(quán)因子(h)來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及-至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))、所述新的平均偏差值(RTTVAR(new))、和第三加權(quán)因子(w)來(lái)計(jì)算所述參量(RTO),其特征在于,所述計(jì)算裝置還被安排成使得所述第一、第二、和第三加權(quán)因子(g,h,w)中的至少一個(gè)加權(quán)因子是隨時(shí)間變化的。
35.用來(lái)實(shí)施一個(gè)協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī),該協(xié)議(TCP)提供在數(shù)據(jù)單元被正確接收時(shí)從接收機(jī)向通信的發(fā)送裝置發(fā)送應(yīng)答消息的應(yīng)答特性,并且在一個(gè)超時(shí)的時(shí)間間隔內(nèi)應(yīng)答沒有到達(dá)發(fā)送裝置時(shí)提供重新發(fā)送數(shù)據(jù)單元的所述重新發(fā)送超時(shí)特性,以及用來(lái)確定與所述重發(fā)超時(shí)特性有關(guān)的參量(RTO),包括測(cè)量裝置,用于測(cè)量往返行程時(shí)間值(RTT),該往返行程時(shí)間表示在給定的數(shù)據(jù)單元的發(fā)送與對(duì)應(yīng)于所述給定的數(shù)據(jù)單元的應(yīng)答的接收之間經(jīng)歷的時(shí)間,以及計(jì)算裝置,用于-至少根據(jù)所存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))和所述測(cè)量的往返行程時(shí)間值(RTT)來(lái)計(jì)算新的平滑的往返行程時(shí)間值(SRTT(new));-至少根據(jù)所存儲(chǔ)的平均偏差值(RTTVAR(old))、所述測(cè)量的往返行程時(shí)間值(RTT)、和所述存儲(chǔ)的平滑的往返行程時(shí)間值(SRTT(old))來(lái)計(jì)算新的平均偏差值(RTTVAR(new)),該值表示所述往返行程時(shí)間值(RTT)隨時(shí)間的平均偏差;以及-至少根據(jù)所述新的平滑的往返行程時(shí)間值(SRTT(new))和所述新的平均偏差值(RTTVAR(new))來(lái)計(jì)算所述參量(RTO),其特征在于,所述計(jì)算裝置還被安排成使得所述參量(RTO)也是根據(jù)表示在所述發(fā)送裝置與所述接收機(jī)之間的所述通信中出現(xiàn)的虛假的超時(shí)的數(shù)目的數(shù)值(SR)而被計(jì)算的。
全文摘要
在實(shí)施能提供應(yīng)答特性和重發(fā)超時(shí)特性的協(xié)議(TCP)的數(shù)據(jù)單元發(fā)射機(jī)中,用于確定與重新發(fā)送超時(shí)特性有關(guān)的參量(RTO)的方法和設(shè)備,其中按照一個(gè)方面,往返行程時(shí)間值(RTT)的減小的數(shù)值,比起往返行程時(shí)間值的增加的數(shù)值來(lái)說(shuō),相對(duì)于它們對(duì)平均偏差參量(RTTVAR)的影響不同地被處理;其中按照另一個(gè)方面,在確定參量(RTO)時(shí)所使用的加權(quán)值(g,h,w)被選擇為使得它們中的至少一個(gè)是隨時(shí)間變化的;以及其中按照再一個(gè)方面,參量(RTO)也根據(jù)表示在通信中的虛假的超時(shí)的數(shù)目的數(shù)值(SR)來(lái)進(jìn)行計(jì)算。
文檔編號(hào)H04L12/56GK1370361SQ00811703
公開日2002年9月18日 申請(qǐng)日期2000年8月3日 優(yōu)先權(quán)日1999年8月17日
發(fā)明者R·路德維希 申請(qǐng)人:艾利森電話股份有限公司