用于實(shí)現(xiàn)目標(biāo)丟包率的方法
【專利摘要】一種經(jīng)由第二網(wǎng)絡(luò)將數(shù)據(jù)從第一網(wǎng)絡(luò)傳輸至第三網(wǎng)絡(luò)的方法,所述方法包括:從所述第一網(wǎng)絡(luò)接收第一類型的數(shù)據(jù)包,將各個(gè)數(shù)據(jù)包分段成第二類型的數(shù)據(jù)包,將所述第二類型的數(shù)據(jù)包傳輸至所述第二網(wǎng)絡(luò),產(chǎn)生各個(gè)所述第二類型的數(shù)據(jù)包的至少一個(gè)編碼副本并將其傳輸至所述第二網(wǎng)絡(luò),當(dāng)并非所有第二類型的數(shù)據(jù)包都被接收的情況下,允許第一類型的數(shù)據(jù)包可被重建。在未接收到足夠數(shù)量的第二類型的數(shù)據(jù)包和編碼副本數(shù)據(jù)包以重建第一類型的數(shù)據(jù)包的情況下,該方法確定丟包率,所述丟包率代表選定時(shí)間間隔內(nèi)未重建的數(shù)據(jù)包的數(shù)量與已傳輸?shù)臄?shù)據(jù)包的數(shù)量之比。
【專利說(shuō)明】用于實(shí)現(xiàn)目標(biāo)丟包率的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信數(shù)據(jù)網(wǎng)絡(luò)。更具體地說(shuō),本發(fā)明涉及一種從網(wǎng)絡(luò)的邊際來(lái)看用于增加通過(guò)網(wǎng)絡(luò)的數(shù)據(jù)傳輸?shù)耐掏铝康南到y(tǒng)和方法。
【背景技術(shù)】
[0002]為了實(shí)現(xiàn)從源端站或網(wǎng)絡(luò)到目的端站或網(wǎng)絡(luò)的數(shù)據(jù)通信,基于封包的網(wǎng)絡(luò)將數(shù)據(jù)流分為較小的數(shù)據(jù)包。隨著這些數(shù)據(jù)包遍歷網(wǎng)絡(luò),其中某些數(shù)據(jù)包可能會(huì)因?yàn)閾砣蚱渌W(wǎng)絡(luò)限制而丟失。這種丟失可對(duì)利用源端站和目的端站之間的通信信道的應(yīng)用產(chǎn)生極大影響。在理想的情況下,從許多應(yīng)用的角度看,網(wǎng)絡(luò)必須提供具有確定的數(shù)據(jù)包時(shí)延和無(wú)數(shù)據(jù)包丟失的完美性能。然而,實(shí)現(xiàn)完美網(wǎng)絡(luò)性能的資本和運(yùn)營(yíng)成本對(duì)于多數(shù)服務(wù)和企業(yè)網(wǎng)絡(luò)供應(yīng)商而言是不切合實(shí)際的。
[0003]因此,需要能夠用低成本網(wǎng)絡(luò)為應(yīng)用提供高網(wǎng)絡(luò)性能的系統(tǒng)和方法。一種方法是創(chuàng)建安裝在端站處的新的編碼協(xié)議棧來(lái)改善對(duì)于丟包和時(shí)延的響應(yīng)。然而,這種方法并不平凡,這是因?yàn)楸仨毶?jí)源網(wǎng)絡(luò)和目的網(wǎng)絡(luò)中的所有端站來(lái)使用新的編碼協(xié)議棧。
[0004]另一種方法是使用攔截標(biāo)準(zhǔn)協(xié)議的網(wǎng)絡(luò)裝置以及攔截網(wǎng)絡(luò)裝置之間的編碼協(xié)議,以從網(wǎng)絡(luò)丟包中恢復(fù)過(guò)來(lái)。這些裝置部署在駐留的應(yīng)用所要求的網(wǎng)絡(luò)性能優(yōu)于網(wǎng)絡(luò)本身通常的網(wǎng)絡(luò)性能的網(wǎng)絡(luò)區(qū)域內(nèi)。已授權(quán)的專利N0.7,953,114對(duì)這類裝置進(jìn)行了描述,專利N0.7,953,114為美國(guó)專利N0.8,009,696的部分繼續(xù)申請(qǐng)案,美國(guó)專利N0.8,009,696為美國(guó)專利N0.7,742,501的部分繼續(xù)申請(qǐng)案。
[0005]編碼協(xié)議旨在減少丟包。為實(shí)現(xiàn)這一目標(biāo),編碼協(xié)議增加了網(wǎng)絡(luò)內(nèi)所需的整體帶寬。由于網(wǎng)絡(luò)限制,帶寬的增加實(shí)際上可導(dǎo)致丟包增加。攔截網(wǎng)絡(luò)裝置需要檢測(cè)出該問(wèn)題并做出反應(yīng),以確保通信端站實(shí)現(xiàn)所需的應(yīng)用性能。
【發(fā)明內(nèi)容】
[0006]根據(jù)一個(gè)實(shí)施例,一種經(jīng)由第二網(wǎng)絡(luò)將數(shù)據(jù)從第一網(wǎng)絡(luò)傳輸至第三網(wǎng)絡(luò)的方法,所述方法包括:從所述第一網(wǎng)絡(luò)接收第一類型的數(shù)據(jù)包,將各個(gè)第一類型的數(shù)據(jù)包分段成第二類型的數(shù)據(jù)包,將所述第二類型的數(shù)據(jù)包傳輸至所述第二網(wǎng)絡(luò),產(chǎn)生各個(gè)所述第二類型的數(shù)據(jù)包的至少一個(gè)編碼副本并將其傳輸至所述第二網(wǎng)絡(luò)。當(dāng)并非所有第二類型的數(shù)據(jù)包都在第二網(wǎng)絡(luò)處被接收的情況下,編碼副本數(shù)據(jù)包使第一類型的數(shù)據(jù)包可被重建。在未接收到足夠數(shù)量的第二類型的數(shù)據(jù)包和編碼副本數(shù)據(jù)包以重建第一類型的數(shù)據(jù)包的情況下,該方法確定丟包率,所述丟包率代表選定時(shí)間間隔內(nèi)未重建的數(shù)據(jù)包的數(shù)量與已傳輸?shù)臄?shù)據(jù)包的數(shù)量之比,動(dòng)態(tài)地調(diào)節(jié)產(chǎn)生編碼副本數(shù)據(jù)包所需的系統(tǒng)開(kāi)銷以試圖使丟包率最小化,檢測(cè)多個(gè)時(shí)間間隔上的已確定的丟包率的顯著增長(zhǎng),響應(yīng)于檢測(cè)到已確定的丟包率的顯著增長(zhǎng)而相繼地減少產(chǎn)生編碼副本數(shù)據(jù)包所需的系統(tǒng)開(kāi)銷,并且判斷已減少的系統(tǒng)開(kāi)銷要求是否使已確定的丟包率穩(wěn)定下來(lái),如果是,那么終止系統(tǒng)開(kāi)銷要求的相繼減少。
[0007]在一個(gè)實(shí)施方式中,在編碼副本數(shù)據(jù)包的產(chǎn)生過(guò)程中,響應(yīng)于檢測(cè)到多個(gè)時(shí)間間隔上的已確定的丟包率的顯著增加,通過(guò)調(diào)節(jié)編碼級(jí)來(lái)減少產(chǎn)生編碼副本數(shù)據(jù)包所需的系統(tǒng)開(kāi)銷。例如,可充分降低編碼級(jí)來(lái)阻止所述丟包率的增加。通過(guò)判斷時(shí)間間隔上的丟包率的變化或丟包率平均值的變化并將該變化與預(yù)選的閾值進(jìn)行比較,可檢測(cè)出多個(gè)時(shí)間間隔上的已確定的丟包率的顯著增加。
【專利附圖】
【附圖說(shuō)明】
[0008]僅出于示例之目的,下面將參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行描述,其中:
[0009]圖1為可實(shí)施本發(fā)明的環(huán)境的框圖;
[0010]圖2為圖示了圖1所用的攔截網(wǎng)絡(luò)裝置的部件的框圖;
[0011]圖3圖示了標(biāo)準(zhǔn)數(shù)據(jù)包的示例分段和編碼;
[0012]圖4圖示了評(píng)估丟包的第一示例算法;
[0013]圖5圖示了考慮到了平均丟包的示例性實(shí)施例;
[0014]圖6圖示了編碼級(jí)回退的示例;
[0015]圖7為圖示了在檢測(cè)到丟包顯著增加并啟動(dòng)編碼級(jí)回退時(shí)所執(zhí)行的步驟的流程圖;
[0016]圖8為圖示了在啟動(dòng)編碼級(jí)回退之后為了檢測(cè)丟包率穩(wěn)定化所執(zhí)行的步驟的流程圖;
[0017]圖9為圖示了在檢測(cè)到丟包顯著增加并啟動(dòng)編碼級(jí)回退時(shí)所執(zhí)行的替代算法的流程圖;
[0018]圖10為由于突發(fā)丟包而限制編碼級(jí)的示例的流程圖;
[0019]圖11為在編碼信道保持打開(kāi)的剩余時(shí)間內(nèi)處理受限的編碼級(jí)的示例的流程圖;
[0020]圖12為時(shí)間段d內(nèi)處理受限的編碼級(jí)的示例的流程圖;
[0021]圖13為處理受限的編碼級(jí)的示例的流程圖,在這種情況下,編碼級(jí)在一定時(shí)間段內(nèi)增加以與受限的編碼級(jí)匹配;
[0022]圖14為根據(jù)本發(fā)明實(shí)施例的交錯(cuò)模式的示例的流程圖;
[0023]圖15為根據(jù)本發(fā)明實(shí)施例的多級(jí)交錯(cuò)模式的示例的流程圖;
[0024]圖16為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置處理突發(fā)丟包時(shí)所執(zhí)行的步驟的流程圖;
[0025]圖17為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置處理突發(fā)丟包并啟動(dòng)交錯(cuò)模式時(shí)所執(zhí)行的步驟的流程圖;
[0026]圖18為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置離開(kāi)交錯(cuò)模式并啟動(dòng)隨機(jī)模式時(shí)所執(zhí)行的步驟的流程圖;
[0027]圖19為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置離開(kāi)交錯(cuò)模式并啟動(dòng)隨機(jī)模式時(shí)所執(zhí)行的替代算法的流程圖;
[0028]圖20為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置離開(kāi)交錯(cuò)模式并啟動(dòng)隨機(jī)模式時(shí)所執(zhí)行的另一替代算法的流程圖;
[0029]圖21為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置離開(kāi)交錯(cuò)模式并啟動(dòng)隨機(jī)模式時(shí)所執(zhí)行的另一替代算法的流程圖;
[0030]圖22為圖示了當(dāng)攔截網(wǎng)絡(luò)裝置利用交錯(cuò)模式和編碼級(jí)回退處理突發(fā)丟包使所執(zhí)行的步驟的流程圖;[0031]圖23為圖示了判斷在處理突發(fā)丟包時(shí)是否需要編碼級(jí)回退的步驟的流程圖;
[0032]圖24為演示了圖1中的網(wǎng)絡(luò)元件之間的TCP流量的梯形圖;
[0033]圖25為演示了圖24中的TCP會(huì)話中的TCP段丟失的梯形圖;
[0034]圖26為定義了如何在解碼器中處理TCP段來(lái)確定有效吞吐量和吞吐量的流程圖;
[0035]圖27是為IND編碼器提供算法以將單個(gè)TCP ACK分為多個(gè)ACK的流程圖;
[0036]圖28以流程圖的形式定義了將TCP ACK分為多個(gè)TCP ACK的機(jī)構(gòu);
[0037]圖29是圖27中開(kāi)始的流程圖的繼續(xù);
[0038]圖30是將利用嵌入編碼段中的專用協(xié)議計(jì)算往返時(shí)間(Round Trip Time, RTT)的功能進(jìn)行分解的梯形圖;
[0039]圖31是使流程形成文檔來(lái)生成圖30中步驟3000所需的RTT查詢消息的流程圖;
[0040]圖32是IND如何處理接收到的RTT查詢數(shù)據(jù)包的流程圖;
[0041]圖33是將利用從TCP會(huì)話中收集的信息來(lái)計(jì)算往返時(shí)間(RTT)的功能進(jìn)行分解的梯形圖;
[0042]圖34演示了處理與有效吞吐量和TCP會(huì)話的RTT測(cè)量相關(guān)的丟包報(bào)告的示例;
[0043]圖35演示了處理與丟包和UDP會(huì)話的RTT測(cè)量相關(guān)的丟包報(bào)告的示例;
[0044]圖36演示了處理編碼回退的示例;
[0045]圖37演示了解鎖編碼級(jí)的示例。
【具體實(shí)施方式】
[0046]盡管下面將結(jié)合特定的優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行描述,但是要理解,本發(fā)明不限于這些特定實(shí)施例。相反,本發(fā)明旨在涵蓋所有替換方案、變化例和等同方案,這些替換方案、變化例和等同方案可包括在所附權(quán)利要求所限定的本發(fā)明的精神和范圍內(nèi)。
[0047]圖1圖示了其中的源端站10和目的端站30具有利用標(biāo)準(zhǔn)協(xié)議(大體上為基于封包的協(xié)議)進(jìn)行通信的應(yīng)用的網(wǎng)絡(luò)環(huán)境。該協(xié)議通過(guò)網(wǎng)絡(luò)20承載,網(wǎng)絡(luò)20可例如為因特網(wǎng)或某些其他通信網(wǎng)絡(luò)。端站10和30可以是終端,比如是通過(guò)調(diào)制解調(diào)器、局域網(wǎng)或廣域網(wǎng)連接的個(gè)人電腦、或接入網(wǎng)絡(luò)20的其他裝置或系統(tǒng)。對(duì)于駐留在端站10和30上的特定應(yīng)用而言,需要更好的網(wǎng)絡(luò)性能,與這些應(yīng)用相關(guān)的數(shù)據(jù)包被網(wǎng)絡(luò)裝置40和50攔截。網(wǎng)絡(luò)裝置40和50稱為“攔截”網(wǎng)絡(luò)裝置(IND),其使用編碼協(xié)議來(lái)編碼標(biāo)準(zhǔn)數(shù)據(jù)包以提高網(wǎng)絡(luò)性能。為了說(shuō)明該網(wǎng)絡(luò)如何運(yùn)作,假定標(biāo)準(zhǔn)數(shù)據(jù)包從源端站10流向目的端站30(即,圖1中從左至右)。攔截網(wǎng)絡(luò)裝置40對(duì)來(lái)自源端站10的標(biāo)準(zhǔn)數(shù)據(jù)包進(jìn)行編碼,并通過(guò)網(wǎng)絡(luò)20將編碼數(shù)據(jù)包轉(zhuǎn)發(fā)至攔截網(wǎng)絡(luò)裝置50。攔截網(wǎng)絡(luò)裝置50對(duì)數(shù)據(jù)包進(jìn)行解碼并將重組的標(biāo)準(zhǔn)數(shù)據(jù)包轉(zhuǎn)發(fā)至目的端站30。在相反方向上,從目的端站30流向源端站10的數(shù)據(jù)包被攔截網(wǎng)絡(luò)裝置50編碼,并通過(guò)網(wǎng)絡(luò)20轉(zhuǎn)發(fā)至攔截網(wǎng)絡(luò)裝置40。攔截網(wǎng)絡(luò)裝置40對(duì)這些數(shù)據(jù)包進(jìn)行解碼,并將重組的標(biāo)準(zhǔn)數(shù)據(jù)包轉(zhuǎn)發(fā)至源端站10。
[0048]圖2圖示了攔截網(wǎng)絡(luò)裝置40的示例性實(shí)施例,該攔截網(wǎng)絡(luò)裝置40包括實(shí)施編碼協(xié)議以提高網(wǎng)絡(luò)性能所需的模塊。這些模塊可駐留在單個(gè)裝置中,也可分布在多個(gè)裝置中。在圖2所示的實(shí)施例中,攔截網(wǎng)絡(luò)裝置40包括本地接口 60、編碼接口 70、解碼器80和編碼器90。本地接口 60將標(biāo)準(zhǔn)數(shù)據(jù)包發(fā)送至源端站10并從源端站10接收標(biāo)準(zhǔn)數(shù)據(jù)包,編碼接口 70將編碼數(shù)據(jù)包發(fā)送至網(wǎng)絡(luò)20并從網(wǎng)絡(luò)20接收編碼數(shù)據(jù)包。
[0049]編碼器80從本地接口 60接收標(biāo)準(zhǔn)數(shù)據(jù)包,并通過(guò)將數(shù)據(jù)包分離為一個(gè)或多個(gè)段而產(chǎn)生編碼數(shù)據(jù)包,該一個(gè)或多個(gè)段準(zhǔn)備稍后通過(guò)編碼接口 70而傳輸至網(wǎng)絡(luò)20。解碼器90從編碼接口 70接收編碼數(shù)據(jù)包,并產(chǎn)生標(biāo)準(zhǔn)數(shù)據(jù)包以通過(guò)本地接口 60傳輸至源端站10。
[0050]為了有助于從編碼數(shù)據(jù)包重建標(biāo)準(zhǔn)數(shù)據(jù)包,編碼器90還可創(chuàng)建附加編碼數(shù)據(jù)包。這些附加編碼數(shù)據(jù)包從標(biāo)準(zhǔn)數(shù)據(jù)包和編碼數(shù)據(jù)包獲得。在一個(gè)或多個(gè)編碼數(shù)據(jù)包在其通過(guò)網(wǎng)絡(luò)20傳輸期間發(fā)生丟包的情況下,附加編碼數(shù)據(jù)包可協(xié)助目的攔截網(wǎng)絡(luò)裝置50中的解碼器重建或重組原始的標(biāo)準(zhǔn)數(shù)據(jù)包。
[0051]圖3圖示了根據(jù)一個(gè)實(shí)施例的對(duì)標(biāo)準(zhǔn)數(shù)據(jù)包進(jìn)行的編碼。為使說(shuō)明簡(jiǎn)潔起見(jiàn),原始的標(biāo)準(zhǔn)數(shù)據(jù)包和編碼數(shù)據(jù)包中均省略了報(bào)頭。如圖所示,編碼器接收到的標(biāo)準(zhǔn)數(shù)據(jù)包400具有I個(gè)字節(jié)的數(shù)據(jù)包凈荷,該標(biāo)準(zhǔn)數(shù)據(jù)包400分為η個(gè)段402,其中,η被選擇為I的整數(shù)因數(shù),η個(gè)段中的每一段均具有I/η個(gè)字節(jié)。另外,創(chuàng)建m個(gè)附加編碼數(shù)據(jù)包。在圖3所示的示例中,m= 1,額外或附加段404為奇偶校驗(yàn)段,該奇偶校驗(yàn)段是通過(guò)將邏輯函數(shù)(如XOR函數(shù))應(yīng)用于所有η個(gè)段創(chuàng)建而成。
[0052]一旦編碼器完成創(chuàng)建段和附加編碼段的過(guò)程,便將報(bào)頭添加到數(shù)據(jù)包中以創(chuàng)建編碼數(shù)據(jù)包和附加編碼數(shù)據(jù)包。報(bào)頭使用標(biāo)準(zhǔn)協(xié)議,從而使網(wǎng)絡(luò)中不期望專用運(yùn)算功能。因此,編碼和附加編碼數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)運(yùn)載至解碼攔截網(wǎng)絡(luò)元件。當(dāng)標(biāo)準(zhǔn)協(xié)議報(bào)頭添加到編碼數(shù)據(jù)包時(shí),編碼器可以考慮數(shù)據(jù)包的大小并可自動(dòng)增加η,以避免傳輸大小超過(guò)網(wǎng)絡(luò)的最大傳輸單位(MTU)的編碼數(shù)據(jù)包。該功能還可有助于巨型幀在進(jìn)入不能對(duì)其進(jìn)行處理的網(wǎng)絡(luò)之前對(duì)巨型幀進(jìn)行分離。
[0053]由于解碼器從編碼數(shù)據(jù)包和附加編碼數(shù)據(jù)包重組標(biāo)準(zhǔn)數(shù)據(jù)包,所以其可處理編碼數(shù)據(jù)包的丟包。如果附加編碼數(shù)據(jù)包中包含有足夠的信息,那么可重建由丟失編碼數(shù)據(jù)包而導(dǎo)致的丟失的段。如果丟包太嚴(yán)重,編碼器可以做出選擇。如果標(biāo)準(zhǔn)數(shù)據(jù)包的壽命(比如,視頻數(shù)據(jù)包)有限,那么丟棄受影響的標(biāo)準(zhǔn)數(shù)據(jù)包。如果應(yīng)用本身具有復(fù)原丟包的能力,那么再次丟棄標(biāo)準(zhǔn)數(shù)據(jù)包。如果標(biāo)準(zhǔn)數(shù)據(jù)包具有合理的壽命且應(yīng)用本身不具有復(fù)原的能力,那么解碼器可要求從編碼器重傳丟失的段。這假設(shè)了編碼器對(duì)標(biāo)準(zhǔn)數(shù)據(jù)包進(jìn)行緩沖,直到標(biāo)準(zhǔn)數(shù)據(jù)包在網(wǎng)絡(luò)的另一端成功解碼。
[0054]為了實(shí)現(xiàn)用于通信應(yīng)用的更高網(wǎng)絡(luò)性能,在攔截網(wǎng)絡(luò)裝置之間建立編碼信道。美國(guó)申請(qǐng)N0.12/193, 345中描述了如何創(chuàng)建這些信道的示例。為了該應(yīng)用的目的,假設(shè)攔截網(wǎng)絡(luò)裝置40和50之間的編碼信道成功協(xié)商。編碼信道用于攜帶數(shù)據(jù)和控制信息,編碼數(shù)據(jù)包和附加編碼數(shù)據(jù)包現(xiàn)在可在攔截網(wǎng)絡(luò)裝置之間進(jìn)行發(fā)送和接收。
[0055]在上述網(wǎng)絡(luò)中,駐留在端站上的應(yīng)用可容忍通信網(wǎng)絡(luò)中不同等級(jí)的丟包。攔截網(wǎng)絡(luò)裝置可基于標(biāo)準(zhǔn)協(xié)議信令元件來(lái)區(qū)分這些應(yīng)用。使用FTP的文件傳輸是通過(guò)使用TCP端口發(fā)送信號(hào)的。這將打開(kāi)在64000值域中的TCP端口,以在端站之間傳輸文件。TCP對(duì)于網(wǎng)絡(luò)中的丟包和時(shí)延變化具有恢復(fù)能力。傳輸?shù)年P(guān)鍵目標(biāo)是確保文件以網(wǎng)絡(luò)允許的方式完整無(wú)缺地及時(shí)到達(dá)。該應(yīng)用與視頻會(huì)議應(yīng)用形成對(duì)比??赏ㄟ^(guò)在UDP端口 5060上使用會(huì)話初始化協(xié)議來(lái)發(fā)出信號(hào),并包含與會(huì)議相關(guān)的視頻、語(yǔ)音和數(shù)據(jù)會(huì)話的信息。視頻會(huì)話對(duì)于丟包的容限較低;眼幀(完整的屏幕畫面)的丟包可極大地破壞視頻壓縮算法。視頻流所需的帶寬越大,允許的丟包越低,這是因?yàn)楦鱾€(gè)標(biāo)準(zhǔn)數(shù)據(jù)包會(huì)攜帶更多與視頻流有關(guān)的信息。由于人聲的可預(yù)測(cè)特性,語(yǔ)音會(huì)話允許的丟包相對(duì)較高。語(yǔ)音編解碼器能夠填充空隙來(lái)確保連續(xù)的語(yǔ)音流。不論在哪種情況下,視頻會(huì)話和語(yǔ)音會(huì)話需要具有少于I %的標(biāo)準(zhǔn)數(shù)據(jù)包丟包,以避免視頻卡阻或音頻剪裁,多數(shù)供應(yīng)商都試圖將標(biāo)準(zhǔn)數(shù)據(jù)包丟包保持在少于0.5%。
[0056]在給定會(huì)話的情境內(nèi),可用不同的丟包目標(biāo)對(duì)待不同的流。深度數(shù)據(jù)包檢驗(yàn)(DPI)可用在攔截網(wǎng)絡(luò)裝置中用于檢測(cè)應(yīng)用的類型(視頻/語(yǔ)音/數(shù)據(jù)),并根據(jù)為該類應(yīng)用配置的網(wǎng)絡(luò)策略來(lái)設(shè)置丟包目標(biāo)。最后,各個(gè)標(biāo)準(zhǔn)數(shù)據(jù)包可基于報(bào)頭中提供的信息擁有自身的丟失目標(biāo),該報(bào)頭可識(shí)別所需的保護(hù)級(jí)(例如,SVC, scalable video codec)。將該丟包目標(biāo)定義為目標(biāo)丟包率(Target Loss Ratio, TLR)。
[0057]TLR可用 于確定由η和m決定的編碼率??苫卺槍?duì)一個(gè)或所有編碼信道所觀察和/或報(bào)告的網(wǎng)絡(luò)性能來(lái)調(diào)節(jié)編碼率,該編碼信道終止于與給定攔截網(wǎng)絡(luò)裝置相關(guān)的編碼組件。目的是設(shè)置編碼級(jí),從而使編碼信道實(shí)現(xiàn)該會(huì)話的TLR或更好。
[0058]參照?qǐng)D4,結(jié)合攔截網(wǎng)絡(luò)裝置A1106和攔截網(wǎng)絡(luò)裝置B1107之間的編碼信道,更具體地觀察從攔截網(wǎng)絡(luò)裝置A到攔截網(wǎng)絡(luò)裝置B的方向上的信道,描述了所觀察到的丟包率的判斷。在“無(wú)丟包”或丟包可接受的條件下,編碼可設(shè)為n = l、m = 0,以避免在不必要的情況下使用網(wǎng)絡(luò)的額外帶寬。攔截網(wǎng)絡(luò)裝置B1107的解碼器1109利用圖4所示的子程序?qū)個(gè)時(shí)間單位(例如,W = 8秒)的間隔內(nèi)接收到的數(shù)據(jù)包的數(shù)量Px和丟失數(shù)據(jù)包的數(shù)量LPx進(jìn)行計(jì)數(shù)。間隔時(shí)間還可定義為接收到特定數(shù)量的數(shù)據(jù)包。或者,LPx可代表重傳請(qǐng)求的數(shù)量,從而使成功恢復(fù)的丟包不計(jì)為丟包率的一部分。在步驟1100中檢測(cè)各個(gè)間隔的端部,在步驟1101中使用例如如下比率計(jì)算丟包率Lx:
【權(quán)利要求】
1.一種經(jīng)由編碼TCP信道將TCP數(shù)據(jù)段從源端站傳輸至目的端站的方法,所述方法包括: 在第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置之間建立用于在所述端站之間的TCP會(huì)話的編碼TCP信道; 在所述攔截網(wǎng)絡(luò)裝置之一處攔截與所述TCP會(huì)話相關(guān)的TCP數(shù)據(jù)段; 在所述攔截網(wǎng)絡(luò)裝置之一中將所述攔截的TCP數(shù)據(jù)段分段,并根據(jù)可選擇的編碼級(jí)編碼,并將編碼段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè); 計(jì)算所述端站之間的所述TCP會(huì)話的網(wǎng)絡(luò)性能測(cè)量值;并且, 基于計(jì)算得出的所述TCP會(huì)話的所述網(wǎng)絡(luò)性能測(cè)量值選擇所述編碼級(jí)。
2.根據(jù)權(quán)利要求1所述的方法,其包括:在所述攔截網(wǎng)絡(luò)裝置之另一個(gè)處解碼所述編碼段,并將所述TCP數(shù)據(jù)段從所述攔截網(wǎng)絡(luò)裝置之另一個(gè)傳輸至所述目的端站。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)性能測(cè)量值是從會(huì)話的吞吐量和有效吞吐量構(gòu)成的組中選出的至少一個(gè)測(cè)量值,其中,所述吞吐量是用于將接收到的所有段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè)的帶寬,而所述有效吞吐量是用于將獨(dú)特段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè)的帶寬,并且會(huì)話是將TCP數(shù)據(jù)段從所述源端站傳輸至所述目的端站的持續(xù)時(shí)間。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述網(wǎng)絡(luò)性能測(cè)量值包括吞吐量測(cè)量值和有效吞吐量測(cè)量值,丟包率的變化是從所述吞吐量測(cè)量值和有效吞吐量測(cè)量值來(lái)確定的,并且響應(yīng)于所述丟包率的變化來(lái)定義所述編碼級(jí)。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述性能測(cè)量值包括有效吞吐量的測(cè)量值,并且響應(yīng)于有效吞吐量的變化來(lái)修改所述編碼級(jí)。
6.一種用于經(jīng)由編碼TCP信道將TCP數(shù)據(jù)段從源端站傳輸至目的端站的數(shù)據(jù)傳輸網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括: 用于建立所述端站之間的TCP會(huì)話的編碼TCP信道的第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置, 所述攔截網(wǎng)絡(luò)裝置之一適用于: 攔截與所述TCP會(huì)話相關(guān)的TCP數(shù)據(jù)段; 將攔截的所述TCP數(shù)據(jù)段分段并根據(jù)可選擇的編碼級(jí)編碼,將編碼段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè); 計(jì)算所述端站之間的所述TCP會(huì)話的網(wǎng)絡(luò)性能測(cè)量值;并且, 基于計(jì)算得出的所述TCP會(huì)話的所述網(wǎng)絡(luò)性能測(cè)量值選擇所述編碼級(jí)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸網(wǎng)絡(luò),其中,所述攔截網(wǎng)絡(luò)裝置之另一個(gè)在所述另一攔截裝置處對(duì)所述編碼段進(jìn)行解碼,并將所述TCP數(shù)據(jù)段傳輸至所述目的端站。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸網(wǎng)絡(luò),其中,所述網(wǎng)絡(luò)性能測(cè)量值是從會(huì)話的吞吐量和有效吞吐量構(gòu)成的組中選出的至少一個(gè)測(cè)量值,其中,所述吞吐量是用于將接收到的所有段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè)的帶寬,而所述有效吞吐量是用于將獨(dú)特段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè)的帶寬,并且會(huì)話是將TCP數(shù)據(jù)段從所述源端站傳輸至所述目的端站的持續(xù)時(shí)間。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)傳輸網(wǎng)絡(luò),其中,所述網(wǎng)絡(luò)性能測(cè)量值包括吞吐量測(cè)量值和有效吞吐量測(cè)量值,丟包率的變化是從所述吞吐量測(cè)量值和有效吞吐量測(cè)量值來(lái)確定的,并且響應(yīng)于所述丟包率的變化來(lái)定義所述編碼級(jí)。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)傳輸網(wǎng)絡(luò),其中,所述性能測(cè)量值包括有效吞吐量的測(cè)量值,并且響應(yīng)于所述有效吞吐量的減少來(lái)降低所述編碼級(jí)。
11.一種攔截網(wǎng)絡(luò)裝置,其在傳輸TCP數(shù)據(jù)段的數(shù)據(jù)傳輸網(wǎng)絡(luò)中用于建立在源端站和目的端站之間的TCP會(huì)話的編碼TCP信道,所述攔截網(wǎng)絡(luò)裝置包括處理器,所述處理器編程為: 攔截與所述TCP會(huì)話相關(guān)的TCP數(shù)據(jù)段; 將攔截的所述TCP數(shù)據(jù)段分段并根據(jù)可選擇的編碼級(jí)編碼,將編碼段傳輸至另一所述攔截網(wǎng)絡(luò)裝置; 計(jì)算所述端站之間的所述TCP會(huì)話的網(wǎng)絡(luò)性能測(cè)量值;以及 基于計(jì)算得出的所述TCP會(huì)話的所述網(wǎng)絡(luò)性能測(cè)量值選擇所述編碼級(jí)。
12.根據(jù)權(quán)利要求11所述的攔截網(wǎng)絡(luò)裝置,其中,所述網(wǎng)絡(luò)性能測(cè)量值是從會(huì)話的吞吐量和有效吞吐量構(gòu)成的組中選出的至少一個(gè)測(cè)量值,其中,所述吞吐量是用于將接收到的所有段傳輸至另一所述攔截網(wǎng)絡(luò)裝置的帶寬,而有效吞吐量是用于將獨(dú)特段傳輸至另一所述攔截網(wǎng)絡(luò)裝置的帶寬,并且會(huì)話是將TCP數(shù)據(jù)段從所述源端站傳輸至所述目的端站的持續(xù)時(shí)間。
13.根據(jù)權(quán)利要求12所述的攔截網(wǎng)絡(luò)裝置,其中,所述網(wǎng)絡(luò)性能測(cè)量值包括吞吐量測(cè)量值和有效吞吐量測(cè)量值,丟包率的變化是從所述吞吐量測(cè)量值和有效吞吐量測(cè)量值來(lái)確定的,并且響應(yīng)于所述丟包率的變化來(lái)定義所述編碼級(jí)。
14.根據(jù)權(quán)利要求13所述的攔截網(wǎng)絡(luò)裝置,其中,所述性能測(cè)量值包括有效吞吐量的測(cè)量值,并響應(yīng)于所述有效吞吐量的減少來(lái)降低所述編碼級(jí)。
15.一種在數(shù)據(jù)傳輸網(wǎng)絡(luò)中激勵(lì)用于傳輸TCP數(shù)據(jù)段的源端站的TCP擁塞窗口的方法,所述方法包括: 響應(yīng)于目的端站處TCP數(shù)據(jù)段的接收來(lái)生成TCP ACK段,并將所述TCP ACK段傳輸至所述源端站; 攔截所述TCP ACK段,并生成與攔截的所述TCP ACK段相對(duì)應(yīng)的附加編碼TCP ACK段,以及 將所述附加TCP ACK段傳輸至所述源端站以激勵(lì)所述TCP擁塞窗口。
16.根據(jù)權(quán)利要求15所述的方法,其中,所述的生成所述附加編碼TCPACK段持續(xù)預(yù)定時(shí)間段。
17.根據(jù)權(quán)利要求15所述的方法,其包括,根據(jù)攔截的所述TCPACK段之后接收的TCPACK段中包含的字節(jié)數(shù)來(lái)控制所述附加TCP ACK段的數(shù)量。
18.根據(jù)權(quán)利要求15所述的方法,其包括,計(jì)算網(wǎng)絡(luò)性能測(cè)量值,并在所述網(wǎng)絡(luò)性能測(cè)量值超過(guò)預(yù)定閾值時(shí)生成所述附加TCP ACK段。
19.根據(jù)權(quán)利要求18所述,其中,所述網(wǎng)絡(luò)性能測(cè)量值是從有效吞吐量、吞吐量和丟包測(cè)量值構(gòu)成的組中選出的至少一個(gè)測(cè)量值。
20.根據(jù)權(quán)利要求15所述的方法,其中,基于預(yù)定的最小段大小和允許的TCPACK段的最大數(shù)量,從原始TCP ACK段生成所述附加TCP ACK,所述方法包括:將所述原始TCP ACK段的字節(jié)大小與所述最小段的字節(jié)大小進(jìn)行比較; 如果所述原始TCP ACK段的大小大于所述最小段的大小,那么生成所述附加TCP ACK段,所述附加TCP ACK段包含與所述原始TCP ACK段相同的信息,各個(gè)所述附加TCP ACK段的大小至少為所述最小段的大小,并且生成的所述附加TCP ACK段的總數(shù)量不超過(guò)所述允許的TCP ACK段的最大數(shù)量,以及 將生成的所述附加TCP ACK段傳輸至所述源端站。
21.一種用于計(jì)算TCP或非TCP數(shù)據(jù)段從第一攔截網(wǎng)絡(luò)裝置流向第二攔截網(wǎng)絡(luò)裝置的往返時(shí)間RTT的方法,所述方法包括: 創(chuàng)建RTT查詢段,并保存本地時(shí)間戳以及與所述查詢段相關(guān)的特定序列標(biāo)識(shí); 將所述RTT查詢段傳輸至所述第二攔截網(wǎng)絡(luò)裝置; 在所述第二攔截網(wǎng)絡(luò)裝置處接收所述RTT查詢段,并將所述RTT查詢段傳回至所述第一攔截網(wǎng)絡(luò)裝置以計(jì)算RTT; 通過(guò)檢測(cè)所述序列標(biāo)識(shí)來(lái)獲取所述RTT查詢段,以及 基于保存的時(shí)間戳信息和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
22.一種用于計(jì)算編碼信道中TCP或非TCP數(shù)據(jù)段從源端站流向目的端站的往返時(shí)間RTT的數(shù)據(jù)傳輸網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括: 第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置,它們用于為所述端站之間的通信會(huì)話建立編碼信道, 所述攔截網(wǎng)絡(luò)裝置之一適用于: 創(chuàng)建RTT查詢段,并保存本地時(shí)間戳以及與所述RTT查詢段相關(guān)的特定序列標(biāo)識(shí); 將所述RTT查詢段傳輸至所述第二攔截網(wǎng)絡(luò)裝置; 將所述RTT查詢段返回至所述第一攔截網(wǎng)絡(luò)裝置; 通過(guò)檢測(cè)所述序列標(biāo)識(shí)來(lái)獲取所述RTT查詢段,以及 基于保存的時(shí)間戳信息和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
23.一種攔截網(wǎng)絡(luò)裝置,其用于計(jì)算在數(shù)據(jù)傳輸網(wǎng)絡(luò)中的編碼信道中的TCP或非TCP數(shù)據(jù)段從源端站流向目的端站的往返時(shí)間RTT,所述攔截網(wǎng)絡(luò)裝置包括處理器,所述處理器編程為: 創(chuàng)建RTT查詢段,并保存本地時(shí)間戳和與所述RTT查詢段相關(guān)的特定序列標(biāo)識(shí); 將所述RTT查詢段傳輸至所述第二攔截網(wǎng)絡(luò)裝置; 將所述RTT查詢段返回至第一攔截網(wǎng)絡(luò)裝置; 通過(guò)檢測(cè)所述序列標(biāo)識(shí)來(lái)獲取所述RTT查詢段,以及 基于保存的時(shí)間戳信息和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
24.一種用于計(jì)算TCP數(shù)據(jù)段從第一攔截網(wǎng)絡(luò)裝置流向第二攔截網(wǎng)絡(luò)裝置的往返時(shí)間RTT的方法,所述方法包括: 攔截TCP數(shù)據(jù)段,并存儲(chǔ)本地時(shí)間戳以及與攔截的所述TCP數(shù)據(jù)段相關(guān)的獨(dú)特TCP標(biāo)識(shí); 檢測(cè)具有與存儲(chǔ)的所述TCP時(shí)間戳相對(duì)應(yīng)的獨(dú)特TCP標(biāo)識(shí)的TCP ACK段; 獲取存儲(chǔ)的所述本地時(shí)間戳,以及 基于獲取的所述本地時(shí)間戳和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
25.一種用于計(jì)算編碼TCP信道中TCP數(shù)據(jù)段從源端站流向目的端站的往返時(shí)間RTT的數(shù)據(jù)傳輸網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括: 第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置,它們用于為所述端站之間的通信會(huì)話建立編碼TCP信道, 所述攔截網(wǎng)絡(luò)裝置之一適用于: 攔截TCP數(shù)據(jù)段,并存儲(chǔ)本地時(shí)間戳以及與攔截的所述TCP數(shù)據(jù)段相關(guān)的獨(dú)特TCP標(biāo)識(shí); 檢測(cè)具有與存儲(chǔ)的所述TCP時(shí)間戳相對(duì)應(yīng)的TCP時(shí)間戳的TCP ACK段; 獲取存儲(chǔ)的所述本地時(shí)間戳,以及 基于獲取的所述本地時(shí)間戳和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
26.一種攔截網(wǎng)絡(luò)裝置,其用于計(jì)算在數(shù)據(jù)傳輸網(wǎng)絡(luò)中的編碼TCP信道中的TCP數(shù)據(jù)段從源端站流向目的端站 的往返時(shí)間RTT,所述攔截網(wǎng)絡(luò)裝置包括處理器,所述處理器編碼為: 攔截TCP數(shù)據(jù)段,并存儲(chǔ)本地時(shí)間戳以及與攔截的所述TCP數(shù)據(jù)段相關(guān)的獨(dú)特TCP標(biāo)識(shí); 檢測(cè)具有與存儲(chǔ)的所述TCP時(shí)間戳相對(duì)應(yīng)的TCP時(shí)間戳的TCP ACK段; 獲取存儲(chǔ)的所述本地時(shí)間戳,以及 基于獲取的所述本地時(shí)間戳和當(dāng)前本地時(shí)間來(lái)計(jì)算RTT。
27.一種經(jīng)由編碼TCP信道將TCP數(shù)據(jù)段從源端站傳輸至目的端站的方法,所述方法包括: 為了所述端站之間的TCP會(huì)話在第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置之間建立編碼TCP信道; 在所述攔截網(wǎng)絡(luò)裝置之一處攔截與所述TCP會(huì)話相關(guān)的TCP數(shù)據(jù)段; 在所述攔截網(wǎng)絡(luò)裝置之一中將攔截的所述TCP數(shù)據(jù)段分段并根據(jù)可選擇的編碼級(jí)編碼,并將編碼段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè); 接收用于所述TCP會(huì)話的推薦編碼級(jí); 將編碼級(jí)設(shè)置為介于所述推薦編碼級(jí)和未鎖定的最高編碼級(jí)之間的最小級(jí); 對(duì)所述端站之間的所述TCP會(huì)話執(zhí)行第一序列的性能測(cè)量; 將編碼級(jí)設(shè)置為所述推薦編碼級(jí); 對(duì)所述端站之間的所述TCP會(huì)話執(zhí)行第二序列的性能測(cè)量; 比較所述第一序列的性能測(cè)量和所述第二序列的性能測(cè)量,以及如果所述第二序列的性能測(cè)量與所述第一序列的性能測(cè)量相同或優(yōu)于所述第一序列的性能測(cè)量,在預(yù)定的時(shí)間量?jī)?nèi)將編碼級(jí)設(shè)置為所述推薦編碼級(jí),或者 如果所述第二序列的性能測(cè)量不優(yōu)于所述第一序列的性能測(cè)量,則鎖定所述推薦編碼級(jí)。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述性能測(cè)量包括往返時(shí)間RTT和有效吞吐量。
29.根據(jù)權(quán)利要求27所述的方法,其包括,在預(yù)定的時(shí)間段到期之后,解除對(duì)所述通信會(huì)話的最低鎖定編碼級(jí)的鎖定。
30.根據(jù)權(quán)利要求27所述的方法,其包括:在完成另一通信會(huì)話時(shí),解除通信會(huì)話的至少一個(gè)所述鎖定編碼級(jí)的鎖定。
31.一種經(jīng)由編碼信道將非TCP數(shù)據(jù)段從源端站傳輸至目的端站的方法,所述方法包括: 為所述端站之間的非TCP會(huì)話在第一攔截網(wǎng)絡(luò)裝置和第二攔截網(wǎng)絡(luò)裝置之間建立編碼信道; 在所述攔截網(wǎng)絡(luò)裝置之一處攔截與所述非TCP會(huì)話相關(guān)的非TCP數(shù)據(jù)段; 在所述攔截網(wǎng)絡(luò)裝置之一中將攔截的所述非TCP數(shù)據(jù)段分段,并根據(jù)可選擇的編碼級(jí)編碼,并將編碼段傳輸至所述攔截網(wǎng)絡(luò)裝置之另一個(gè); 接收用于所述非TCP會(huì)話的推薦編碼級(jí); 將編碼級(jí)設(shè)置為介于推薦編碼級(jí)和未被鎖定的最高編碼級(jí)之間的最小級(jí); 對(duì)所述端站之間的非TCP會(huì)話執(zhí)行第一序列的性能測(cè)量; 將編碼級(jí)設(shè)置為所述推薦編碼級(jí); 對(duì)所述端站之間的非TCP會(huì)話執(zhí)行第二序列的性能測(cè)量; 比較所述第一序列的性能測(cè)量和所述第二序列的性能測(cè)量,并且, 如果所述第二序列的性能測(cè)量與所述第一序列的性能測(cè)量相同或優(yōu)于所述第一序列的性能測(cè)量值,在預(yù)定的時(shí)間量?jī)?nèi)將編碼級(jí)設(shè)置為所述推薦編碼級(jí),或者 如果所述第二序列的性能測(cè)量不優(yōu)于所述第一序列的性能測(cè)量,則鎖定所述推薦編碼級(jí)。
32.根據(jù)權(quán)利要求31所述的方法,其包括,在預(yù)定的時(shí)間段到期之后,解除對(duì)所述通信會(huì)話的最低鎖定編碼級(jí)的鎖定。
33.根據(jù)權(quán)利要求31所述的方法,其包括:在完成另一通信會(huì)話時(shí),解除通信會(huì)話的至少一個(gè)所述鎖定編碼級(jí)的鎖定。
34.根據(jù)權(quán)利要求31所述的方法,其中,所述性能測(cè)量包括往返時(shí)間RTT和丟包。
【文檔編號(hào)】H04L12/70GK103975570SQ201280059935
【公開(kāi)日】2014年8月6日 申請(qǐng)日期:2012年11月30日 優(yōu)先權(quán)日:2011年12月5日
【發(fā)明者】馬修·羅伯特·威廉斯, 莫漢·克里希納·韋米拉帕利 申請(qǐng)人:生活服務(wù)質(zhì)量有限公司