本發(fā)明總體上涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域。更具體地說(shuō),本發(fā)明揭示用于重新產(chǎn)生通過(guò)聚合連接(aggregatedconnection)在第一通信路由器與第二通信路由器之間建立的數(shù)據(jù)會(huì)話的丟失數(shù)據(jù)包的方法和系統(tǒng)。
背景技術(shù):
:多廣域網(wǎng)(wan)站點(diǎn)到站點(diǎn)vpn路由器是支持集中多個(gè)互連(例如,用于訪問(wèn)一個(gè)或多個(gè)遠(yuǎn)程專用網(wǎng)絡(luò)的wan連接)的帶寬的路由器。在一些實(shí)施方案中,每個(gè)tcp/ip會(huì)話僅路由到一個(gè)wan。在此配置中,單個(gè)tcp文件傳送會(huì)話僅能夠利用每個(gè)終端上的一個(gè)wan連接的帶寬。例如,在基于會(huì)話的站點(diǎn)到站點(diǎn)虛擬專用網(wǎng)絡(luò)(vpn)連接中,vpn流量被路由到兩個(gè)站點(diǎn)(例如,站點(diǎn)a和b)之間的多個(gè)wan連接。在一個(gè)實(shí)施方案中,在wan連接之間初始地形成m×n個(gè)隧道,其中m和n分別是站點(diǎn)a和站點(diǎn)b的wan網(wǎng)絡(luò)連接的數(shù)目。隨后經(jīng)由不同的隧道路由應(yīng)用程序tcp/ip會(huì)話。然而,應(yīng)注意,雖然基于會(huì)話的站點(diǎn)到站點(diǎn)vpn能夠針對(duì)不同的會(huì)話利用不同的隧道,但是此類型的連接中的單個(gè)下載會(huì)話僅能夠利用一個(gè)隧道。當(dāng)在兩個(gè)路由器之間的數(shù)據(jù)會(huì)話中存在丟包或棄包時(shí),可以存在用于恢復(fù)丟失包的不同方法。通常在接收路由器接收數(shù)據(jù)包并發(fā)送對(duì)應(yīng)確認(rèn)之前,發(fā)送器路由器重新發(fā)送丟棄或丟失的數(shù)據(jù)包。然而,這可以消耗帶寬并且增加網(wǎng)絡(luò)擁塞。更高網(wǎng)絡(luò)擁塞可以引起更多棄包。因此,需要一種可以在發(fā)送裝置不重新發(fā)送數(shù)據(jù)包的情況下恢復(fù)丟棄或丟失包的解決方案。技術(shù)實(shí)現(xiàn)要素:本發(fā)明揭示用于重新產(chǎn)生通過(guò)聚合連接在第一通信路由器與第二通信路由器之間建立的數(shù)據(jù)會(huì)話的丟失數(shù)據(jù)包的方法和系統(tǒng)。當(dāng)?shù)谝煌ㄐ怕酚善魍ㄟ^(guò)聚合連接從第二通信路由器接收屬于數(shù)據(jù)會(huì)話的數(shù)據(jù)包時(shí),第一通信路由器將數(shù)據(jù)包傳輸?shù)降谝恢鳈C(jī)并且確定是否存在一個(gè)或多個(gè)丟失數(shù)據(jù)包。如果存在一個(gè)或多個(gè)丟失數(shù)據(jù)包,則第一通信路由器確定一個(gè)或多個(gè)丟失數(shù)據(jù)包的全局序列號(hào)(gsn)和每隧道序列號(hào)(ptsn)并且重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。隨后將一個(gè)或多個(gè)新數(shù)據(jù)包傳輸?shù)降谝恢鳈C(jī)。一個(gè)或多個(gè)新數(shù)據(jù)包包括一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷,并且分配有所述一個(gè)或多個(gè)丟失數(shù)據(jù)包的gsn和ptsn。根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于同一數(shù)據(jù)會(huì)話的一個(gè)或多個(gè)前一數(shù)據(jù)包和/或同一數(shù)據(jù)會(huì)話的一個(gè)或多個(gè)下一數(shù)據(jù)包而重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過(guò)計(jì)算一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷的平均值來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。根據(jù)本發(fā)明的一個(gè)實(shí)施例,至少部分基于一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷的方差值和平均值來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。使用一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷的平均值和標(biāo)準(zhǔn)差的組合來(lái)計(jì)算丟失數(shù)據(jù)包的凈負(fù)荷。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過(guò)執(zhí)行音頻數(shù)據(jù)庫(kù)的查找來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷?;蛘?,通過(guò)執(zhí)行文本數(shù)據(jù)庫(kù)的查找來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。當(dāng)對(duì)于丟失數(shù)據(jù)包的凈負(fù)荷存在多于一個(gè)可能性時(shí),第一通信路由器基于從歷史數(shù)據(jù)產(chǎn)生的可能性而選擇所述多于一個(gè)可能性中的一個(gè)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過(guò)使用非線性插值、最近鄰插值、雙線性插值和雙三次插值中的一個(gè)或多個(gè)來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。根據(jù)本發(fā)明的一個(gè)實(shí)施例,計(jì)算一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的變換系數(shù)的平均值。變換系數(shù)的平均值隨后用作丟失數(shù)據(jù)包的第一變換系數(shù)。逆變換應(yīng)用于第一變換系數(shù),并且基于第一變換系數(shù)的逆變換而重新產(chǎn)生丟失數(shù)據(jù)包。根據(jù)本發(fā)明的一個(gè)實(shí)施例,使用一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷創(chuàng)建回歸分析模型,其中數(shù)據(jù)包的凈負(fù)荷是因變量。隨后根據(jù)回歸分析模型確定近似函數(shù)。通過(guò)使用近似函數(shù)計(jì)算丟失數(shù)據(jù)包的凈負(fù)荷來(lái)重新產(chǎn)生一個(gè)或多個(gè)丟失數(shù)據(jù)包的凈負(fù)荷。回歸分析模型的自變量可以是數(shù)據(jù)包的時(shí)間、gsn或數(shù)據(jù)包的時(shí)間和gsn的組合。具體實(shí)施方式以下說(shuō)明僅提供優(yōu)選的示例性實(shí)施例且并不意圖限制本發(fā)明的范圍、適用性或配置。實(shí)際上,優(yōu)選的示例性實(shí)施例的以下說(shuō)明將為本領(lǐng)域技術(shù)人員提供實(shí)施本發(fā)明的優(yōu)選示例性實(shí)施例的有利描述。應(yīng)理解,在不脫離如在所附權(quán)利要求書中闡述的本發(fā)明的精神和范圍的情況下可以對(duì)元件的功能和布置進(jìn)行各種改變。在以下描述中給出具體細(xì)節(jié)以提供對(duì)實(shí)施例的透徹理解。然而,本領(lǐng)域技術(shù)人員應(yīng)理解,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐所述實(shí)施例。例如,可以框圖示出電路以免以不必要的細(xì)節(jié)混淆實(shí)施例。在其它情況下,在沒(méi)有不必要的細(xì)節(jié)的情況下示出熟知的電路、過(guò)程、算法、結(jié)構(gòu)以及技術(shù)以便避免混淆實(shí)施例。同樣,應(yīng)注意,實(shí)施例可以描述為過(guò)程,過(guò)程描繪為流程圖、流程圖表、數(shù)據(jù)流圖、結(jié)構(gòu)圖或方塊圖。盡管流程圖可以將操作描述為連續(xù)過(guò)程,但許多操作可以并行或同時(shí)執(zhí)行。另外,可以重新布置操作的順序。當(dāng)操作完成時(shí),過(guò)程終止,但是過(guò)程可以具有不包含在圖中的另外步驟。過(guò)程可以對(duì)應(yīng)于方法、函數(shù)、程序、子例程、子程序等。當(dāng)過(guò)程對(duì)應(yīng)于函數(shù)時(shí),其終止對(duì)應(yīng)于函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。實(shí)施例或其各部分可以程序指令來(lái)實(shí)施,所述程序指令可在處理單元上操作以用于執(zhí)行如本文中所描述的功能和操作。構(gòu)成各種實(shí)施例的程序指令可以存儲(chǔ)于存儲(chǔ)媒體中。構(gòu)成各種實(shí)施例的程序指令可以存儲(chǔ)于存儲(chǔ)媒體中。此外,如本文所揭示,術(shù)語(yǔ)“存儲(chǔ)媒體”可以表示用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)裝置,包含只讀存儲(chǔ)器(rom)、可編程只讀存儲(chǔ)器(prom)、可擦除可編程只讀存儲(chǔ)器(eprom)、隨機(jī)存取存儲(chǔ)器(ram)、磁性ram、磁芯存儲(chǔ)器、軟盤、軟磁盤、硬盤、磁帶、cd-rom、快閃存儲(chǔ)器裝置、存儲(chǔ)卡和/或用于存儲(chǔ)信息的其它機(jī)器可讀媒體。術(shù)語(yǔ)“機(jī)器可讀媒體”包含,但不限于,便攜式或固定存儲(chǔ)裝置、光學(xué)存儲(chǔ)媒體、磁性媒體、存儲(chǔ)器芯片或盒式磁盤、無(wú)線信道以及能夠存儲(chǔ)、容納或載送指令和/或數(shù)據(jù)的各種其它媒體。機(jī)器可讀媒體可以通過(guò)虛擬化來(lái)實(shí)現(xiàn),且可以是虛擬機(jī)器可讀媒體,包含在基于云的實(shí)例中的虛擬機(jī)器可讀媒體。如本文中所使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀媒體、主存儲(chǔ)器或輔助存儲(chǔ)裝置”是指參與將指令提供到處理單元以用于執(zhí)行的任何媒體。計(jì)算機(jī)可讀媒體僅是機(jī)器可讀媒體的一個(gè)實(shí)例,所述機(jī)器可讀媒體可以載送指令以用于實(shí)施本文中所描述的方法和/或技術(shù)中的任一個(gè)。此媒體可以采用許多形式,包含但不限于非易失性媒體、易失性媒體和傳輸媒體。非易失性媒體包含例如光盤或磁盤。易失性媒體包含動(dòng)態(tài)存儲(chǔ)器。傳輸媒體包含同軸電纜、銅線以及光纖。傳輸媒體還可以采用聲波或光波的形式,例如在無(wú)線電波和紅外線數(shù)據(jù)通信期間產(chǎn)生的聲波或光波。易失性存儲(chǔ)裝置可以用于在通過(guò)處理單元執(zhí)行指令期間存儲(chǔ)臨時(shí)變量或其它中間信息。非易失性存儲(chǔ)裝置或靜態(tài)存儲(chǔ)裝置可以用于存儲(chǔ)用于處理器的靜態(tài)信息和指令,以及各種系統(tǒng)配置參數(shù)。存儲(chǔ)媒體可以包含多個(gè)軟件模塊,所述軟件模塊可以實(shí)施為通過(guò)處理單元使用任何合適的計(jì)算機(jī)指令類型來(lái)執(zhí)行的軟件代碼。軟件代碼可以作為一系列指令或命令、或作為程序存儲(chǔ)在存儲(chǔ)媒體中。各種形式的計(jì)算機(jī)可讀媒體可以涉及將一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列載送到處理器以供執(zhí)行。例如,指令可以首先承載在遠(yuǎn)程計(jì)算機(jī)的磁盤上。替代地,遠(yuǎn)程計(jì)算機(jī)可以將所述指令加載到其動(dòng)態(tài)存儲(chǔ)器中,且將指令發(fā)送到運(yùn)行一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的系統(tǒng)。處理單元可以是微處理器、微控制器、數(shù)字信號(hào)處理器(dsp)、那些裝置的任何組合、或被配置成處理信息的任何其它電路。處理單元執(zhí)行程序指令或代碼段以用于實(shí)施本發(fā)明的實(shí)施例。此外,實(shí)施例可以由硬件、軟件、固件、中間件、微碼、硬件描述語(yǔ)言或其任何組合來(lái)實(shí)施。當(dāng)在軟件、固件、中間件或微碼中實(shí)施時(shí),用于執(zhí)行必要任務(wù)的程序指令可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)媒體中。處理單元可以通過(guò)虛擬化來(lái)實(shí)現(xiàn),且可以是虛擬處理單元,包含在基于云的實(shí)例中的虛擬處理單元。本發(fā)明的實(shí)施例涉及使用計(jì)算機(jī)系統(tǒng)來(lái)實(shí)施本文所描述的技術(shù)。在實(shí)施例中,本發(fā)明的處理單元可以駐留在計(jì)算機(jī)平臺(tái)等機(jī)器上。根據(jù)本發(fā)明的一個(gè)實(shí)施例,響應(yīng)于處理單元執(zhí)行易失性存儲(chǔ)器中所包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列,本文中所描述的技術(shù)由計(jì)算機(jī)系統(tǒng)執(zhí)行。此類指令可以從另一計(jì)算機(jī)可讀媒體讀取到易失性存儲(chǔ)器中。對(duì)易失性存儲(chǔ)器中所包含的指令序列的執(zhí)行使得處理單元執(zhí)行本文中所描述的過(guò)程步驟。在替代實(shí)施例中,硬連線電路可以用于取代或結(jié)合軟件指令來(lái)實(shí)施本發(fā)明。因此,本發(fā)明的實(shí)施例不限于硬件電路以及軟件的任何具體組合。程序指令等代碼段可以表示步驟、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類或者指令、數(shù)據(jù)結(jié)構(gòu)或程序語(yǔ)句的任何組合。代碼段可以通過(guò)傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲(chǔ)器內(nèi)容而耦合到另一代碼段或硬件電路。信息、自變量、參數(shù)、數(shù)據(jù)等可以經(jīng)由包含存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)热魏魏线m的方式傳遞、轉(zhuǎn)發(fā)或傳輸。替代地,硬接線電路可以用于取代或結(jié)合軟件指令以實(shí)施符合本發(fā)明的原理的過(guò)程。因此,符合本發(fā)明的原理的實(shí)施方案不限于硬件電路和軟件的任何特定組合。可以由節(jié)點(diǎn)提供的網(wǎng)絡(luò)接口是以太網(wǎng)接口、幀中繼接口、光纖接口、電纜接口、dsl接口、令牌環(huán)接口、串行總線接口、通用串行總線(usb)接口、火線接口、外圍組件互連(pci)接口等。網(wǎng)絡(luò)接口可以通過(guò)獨(dú)立的電子組件實(shí)施或可以與其它電子組件整合。取決于配置,網(wǎng)絡(luò)接口可以不具有網(wǎng)絡(luò)連接或具有至少一個(gè)網(wǎng)絡(luò)連接。網(wǎng)絡(luò)接口可以是以太網(wǎng)接口、幀中繼接口、光纖接口、電纜接口、數(shù)字訂戶線(dsl)接口、令牌環(huán)接口、串行總線接口、通用串行總線(usb)接口、火線接口、外圍組件互連(pci)接口、蜂窩網(wǎng)絡(luò)接口等。網(wǎng)絡(luò)接口可以連接到有線或無(wú)線接入網(wǎng)絡(luò)。接入網(wǎng)絡(luò)可以載送一個(gè)或多個(gè)網(wǎng)絡(luò)協(xié)議數(shù)據(jù)。有線接入網(wǎng)絡(luò)可以使用以太網(wǎng)、光纖、電纜、dsl、幀中繼、令牌環(huán)、串行總線、usb、火線、pci或可以傳遞信息的任何材料來(lái)實(shí)施。無(wú)線接入網(wǎng)絡(luò)可以使用紅外線、高速包接入(hspa)、hspa+、長(zhǎng)期演進(jìn)(lte)、wimax、通用分組無(wú)線業(yè)務(wù)(gprs)、全球移動(dòng)通信系統(tǒng)(gsm)、gsm演進(jìn)增強(qiáng)數(shù)據(jù)速率(edge)、碼分多址(cdma)、wifi、cdma2000、寬帶cdma(wcdma)、時(shí)分cdma(td-scdma)、藍(lán)牙、wibro、演進(jìn)數(shù)據(jù)優(yōu)化(ev-do);數(shù)字增強(qiáng)型無(wú)繩通信(dect);數(shù)字amps(is-136/tdma);集成數(shù)字增強(qiáng)型(iden)或任何其它無(wú)線技術(shù)來(lái)實(shí)施。例如,網(wǎng)絡(luò)接口可以用作局域網(wǎng)(lan)接口或廣域網(wǎng)(wan)接口。實(shí)施例或其各部分可以計(jì)算機(jī)數(shù)據(jù)信號(hào)來(lái)實(shí)施,所述計(jì)算機(jī)數(shù)據(jù)信號(hào)可以采用用于經(jīng)由傳輸媒體進(jìn)行通信的任何合適形式,使得所述計(jì)算機(jī)數(shù)據(jù)信號(hào)是可讀的以用于通過(guò)功能裝置(例如,處理單元)來(lái)執(zhí)行,從而執(zhí)行本文中所描述的操作。計(jì)算機(jī)數(shù)據(jù)信號(hào)可以包含能夠經(jīng)由傳輸媒體傳播的任何二進(jìn)制數(shù)字電子信號(hào),所述傳輸媒體例如電子網(wǎng)絡(luò)信道、光纖、空氣、電磁媒體、射頻(rf)鏈路等,且因此數(shù)據(jù)信號(hào)可以采用電信號(hào)、光信號(hào)、射頻或其它無(wú)線通信信號(hào)等形式。在某些實(shí)施例中,代碼段可以經(jīng)由計(jì)算機(jī)網(wǎng)絡(luò)下載,所述計(jì)算機(jī)網(wǎng)絡(luò)例如因特網(wǎng)、企業(yè)內(nèi)部網(wǎng)、lan、城域網(wǎng)(man)、廣域網(wǎng)(wan)、公共交換電話網(wǎng)絡(luò)(pstn)、衛(wèi)星通信系統(tǒng)、電纜傳輸系統(tǒng)和/或其類似者。圖1a說(shuō)明根據(jù)實(shí)施例調(diào)適的系統(tǒng)100,所述系統(tǒng)被配置成通過(guò)調(diào)節(jié)在數(shù)據(jù)傳送會(huì)話期間的隧道帶寬加權(quán)模式來(lái)優(yōu)化結(jié)合的多個(gè)可變帶寬連接的吞吐量。系統(tǒng)100包含多個(gè)站點(diǎn)102和104,所述站點(diǎn)各自包括至少一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)可以稱為通信路由器。然而,本發(fā)明的范圍不限于通信路由器,使得可以在網(wǎng)關(guān)、路由器、服務(wù)器或任何其它類型的網(wǎng)絡(luò)節(jié)點(diǎn)處執(zhí)行本發(fā)明。為簡(jiǎn)單起見(jiàn),圖1a說(shuō)明站點(diǎn)102和104分別包括通信路由器106和108。通信路由器106和108可以實(shí)施為支持集中多個(gè)因特網(wǎng)連接的帶寬的多wan路由器。通信路由器106和108通過(guò)網(wǎng)絡(luò)110連接。網(wǎng)絡(luò)110可以包括fan、man、wan、無(wú)線網(wǎng)絡(luò)、pstn、因特網(wǎng)、企業(yè)內(nèi)部網(wǎng)、外聯(lián)網(wǎng)等。站點(diǎn)102和路由器106可以包括m個(gè)連接112,且站點(diǎn)104和路由器108可以包括n個(gè)連接114。連接112和114是用于在站點(diǎn)102與104之間的網(wǎng)絡(luò)110內(nèi)傳送信息的數(shù)據(jù)連接。在所說(shuō)明的實(shí)施例中,m等于3且n等于2;然而,這些值可以根據(jù)所需的路由器和配置改變。連接112和114可以具有類似的或不同的帶寬能力。此外,連接112和114可以包括不同類型的wan連接,例如wifi、電纜、dsl、t1、3g、4g、衛(wèi)星連接等。還應(yīng)注意,站點(diǎn)102和站點(diǎn)104可以被認(rèn)為是發(fā)送器或接收器兩者,并且關(guān)于任一站點(diǎn)的功能性的論述可以在另一站點(diǎn)上實(shí)施。換句話說(shuō),系統(tǒng)100可以實(shí)施為對(duì)稱網(wǎng)絡(luò)。圖1b說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的網(wǎng)絡(luò)環(huán)境。在通信路由器106與通信路由器108之間建立隧道103a、103b和103c??梢越Y(jié)合隧道103a、103b和103c以形成聚合連接。根據(jù)一個(gè)實(shí)施例,通信路由器106和108可以具有多個(gè)網(wǎng)絡(luò)接口。通信路由器106經(jīng)由其多個(gè)網(wǎng)絡(luò)接口中的一個(gè)或多個(gè)與通信路由器108的一個(gè)或多個(gè)網(wǎng)絡(luò)接口建立隧道103a、103b和103c。通信裝置106和108可以充當(dāng)網(wǎng)關(guān)、路由器、交換器、接入點(diǎn)、集線器、網(wǎng)橋等。圖1c說(shuō)明根據(jù)實(shí)施例調(diào)適的系統(tǒng)100,所述系統(tǒng)被配置成優(yōu)化結(jié)合的多個(gè)可變帶寬連接的吞吐量。系統(tǒng)100類似于系統(tǒng)101,除m×n個(gè)虛擬隧道116之外。當(dāng)例如通過(guò)實(shí)施結(jié)合的站點(diǎn)到站點(diǎn)vpn連接在站點(diǎn)102與104之間建立結(jié)合的連接時(shí),可以創(chuàng)建m×n個(gè)隧道116。隧道116對(duì)應(yīng)于站點(diǎn)102的網(wǎng)絡(luò)連接和站點(diǎn)104的網(wǎng)絡(luò)連接的獨(dú)特排列??梢栽谕ㄐ怕酚善?06與108之間形成聚合連接。隧道116可以是虛擬隧道。多個(gè)建立的隧道116可以集中、組合或結(jié)合在一起以形成一個(gè)聚合連接。本領(lǐng)域技術(shù)人員將了解,存在用于集中、組合或結(jié)合多個(gè)建立的隧道以形成一個(gè)集中式隧道的多種方法。使用聚合連接的會(huì)話或應(yīng)用將所述聚合連接視為一個(gè)隧道。聚合連接可以是端到端連接、虛擬專用網(wǎng)絡(luò)連接或面向無(wú)連接的連接。例如,聚合連接可以是tcp連接或udp連接。在另一實(shí)例中,聚合連接是多個(gè)隧道的集中,并且每個(gè)隧道連接在通信路由器106與通信路由器108之間。在另一實(shí)例中,聚合連接可以是vpn隧道,包括多個(gè)建立的隧道,并且每個(gè)建立的隧道連接在通信路由器106與通信路由器108之間。圖2a示出系統(tǒng)100的操作的高級(jí)流程圖,其描繪了用于增加結(jié)合的連接的吞吐量的方法200。應(yīng)了解,圖2中提供的具體功能、功能的順序等意圖是根據(jù)本發(fā)明的概念的示例性操作。因此,本文中的概念可以用與所說(shuō)明的實(shí)施例的方式不同的方式來(lái)實(shí)施。在所說(shuō)明的實(shí)施例的塊201處,當(dāng)例如通過(guò)實(shí)施結(jié)合的站點(diǎn)到站點(diǎn)vpn連接而在路由器102與104之間建立結(jié)合的連接時(shí),可以創(chuàng)建m×n個(gè)虛擬隧道116,如在圖1c中所說(shuō)明。虛擬隧道116對(duì)應(yīng)于站點(diǎn)102的網(wǎng)絡(luò)連接和站點(diǎn)104的網(wǎng)絡(luò)連接的獨(dú)特排列。在所說(shuō)明的實(shí)施例的塊202處,確定和/或分配隧道的默認(rèn)權(quán)重。為了確定默認(rèn)權(quán)重,實(shí)施例在站點(diǎn)102與104之間交換連接112和114的上行和下行帶寬數(shù)據(jù)。使用此帶寬數(shù)據(jù),可以根據(jù)以下來(lái)計(jì)算默認(rèn)權(quán)重:假設(shè)站點(diǎn)102的連接1至m的下行帶寬是dl、d2、……dm,并且站點(diǎn)104的連接1至n的上行帶寬是ur、u2、……un;站點(diǎn)102的連接x與站點(diǎn)104的連接y之間的隧道的默認(rèn)權(quán)重可以定義為dw(x,y),其中dw(x,y)=dx.dy。使用以上方法來(lái)計(jì)算默認(rèn)權(quán)重,如果連接112-1到112-3是具有10m/6m、8m/4m和6m/6m的相應(yīng)上行帶寬/下行帶寬的多wan路由器的wan連接,且連接114-1到114-2是具有7m/5m和9m/3m的相應(yīng)上行帶寬/下行帶寬的多wan路由器的wan連接,則每個(gè)隧道的相應(yīng)默認(rèn)權(quán)重將是如下:對(duì)于站點(diǎn)102對(duì)于站點(diǎn)104dw(1,1)=6*7=42dw(1,1)=5*10=50dw(1,2)=6*9=54dw(1,2)=5*8=40dw(2,1)=4*7=28dw(1,3)=5*6=30dw(2,2)=4*9=36dw(2,1)=3*10=30dw(3,1)=6*7=42dw(2,2)=3*8=24dw(3,2)=6*9=54dw(2,3)=3*6=18應(yīng)注意,可構(gòu)想計(jì)算默認(rèn)權(quán)重的其它方式,并且上文僅是本發(fā)明的實(shí)施例的實(shí)施方案的實(shí)例。應(yīng)注意,可以使用許多不同的加權(quán)模式來(lái)定義隧道的初始帶寬。例如,可能希望僅使用接收站點(diǎn)的下行容量和發(fā)送站點(diǎn)的上行容量對(duì)一個(gè)方向上的隧道加權(quán)。用來(lái)表征在建立結(jié)合的連接時(shí)的隧道容量的任何加權(quán)方案可以用于本發(fā)明的目的。當(dāng)根據(jù)實(shí)施例將包從站點(diǎn)102路由到站點(diǎn)104時(shí),將以根據(jù)有效權(quán)重ew(x,y)的比率將包分布到隧道。初始地,實(shí)施例的有效權(quán)重設(shè)定成等于默認(rèn)權(quán)重,ew(x,y)=dw(x,y),并且如果隧道116的帶寬從初始設(shè)定保持不變,則所述有效權(quán)重對(duì)于包分布是最佳的。然而,如果用戶在具有存在棄包情況的一個(gè)或多個(gè)隧道的tcp會(huì)話中正經(jīng)由結(jié)合的網(wǎng)絡(luò)連接下載文件,則所述會(huì)話的整體吞吐量將急劇地下降。這部分地是因?yàn)闂壈鼘⒗^續(xù)引起tcp重新傳輸,并且tcp的流量控制將保持較低吞吐量,即使無(wú)棄包的隧道未被全部占用。提高吞吐量的一種有效方式可以是避免此類棄包。為了這樣做,在所說(shuō)明的實(shí)施例的塊203處,本發(fā)明的實(shí)施例對(duì)隧道正經(jīng)歷丟包率的提高或降低進(jìn)行辨別。在塊204處,實(shí)施例進(jìn)一步用于修改正經(jīng)歷或已經(jīng)經(jīng)歷丟包率變化的隧道的有效權(quán)重??梢赃B續(xù)地監(jiān)控或基于特定時(shí)間周期監(jiān)控丟包率信息。一旦確定隧道正經(jīng)歷不可接受的丟包率(塊204-1),在塊204-2處,所說(shuō)明的實(shí)施例就減小隧道的有效權(quán)重。在一些實(shí)施例中,“不可接受的”可能意味著丟包率是非零數(shù)量,而其它實(shí)施例可以確定不可接受的比率是除預(yù)定義閾值以外的任何比率。實(shí)施例以逐步的方式、以連續(xù)的方式、以與丟包率的提高成一倍比例地降低等來(lái)實(shí)施這些降低。當(dāng)以逐漸的方式進(jìn)行降低時(shí),實(shí)施例可以繼續(xù)監(jiān)控隧道以便優(yōu)化所實(shí)施的降低的量??梢酝ㄟ^(guò)經(jīng)由每個(gè)隧道從路由器106或路由器108發(fā)送心跳包來(lái)建立或監(jiān)控隧道116。在一些實(shí)施例中,當(dāng)接收終端在一段時(shí)間未能從隧道接收到心跳包時(shí),所述接收終端將會(huì)將所述隧道看作下行并且所述隧道將不會(huì)用于路由流量。如果心跳包再次開(kāi)始被接收,則所述隧道可以重新建立并連同其它隧道一起加權(quán)。由此,在所有包在隧道中被丟棄并且所述隧道的有效權(quán)重還原為零的情況下,實(shí)施例可以利用心跳包來(lái)監(jiān)控并重新建立連接。此外,當(dāng)隧道恢復(fù)其相應(yīng)帶寬的全部或部分時(shí),例如,確定丟包率降低(塊204-3)時(shí),所說(shuō)明的實(shí)施例用于提高此類隧道的有效權(quán)重(塊204-4),以便充分或更充分地利用所述帶寬。一些實(shí)施例使用預(yù)定步長(zhǎng)提高隧道的有效權(quán)重,直到恢復(fù)精確的有效權(quán)重。其它實(shí)施例與最新測(cè)量的帶寬成比例地提高有效權(quán)重,最新測(cè)量的帶寬可以對(duì)應(yīng)于最新測(cè)量的丟包率。此外,實(shí)施例可以基于預(yù)定線性或指數(shù)比例提高隧道的有效權(quán)重。在調(diào)節(jié)隧道的有效權(quán)重之后,或在確定無(wú)需調(diào)節(jié)之后,在所說(shuō)明的實(shí)施例的塊205處更新系統(tǒng)的加權(quán)模式。此更新可以包括存儲(chǔ)任何處理后的信息、在進(jìn)一步處理中使用此類信息、使得系統(tǒng)采取措施等。例如,關(guān)于塊205進(jìn)行的處理可以用于在一段時(shí)間內(nèi)對(duì)加權(quán)模式取平均值,以便減少與高度瞬態(tài)異常相關(guān)聯(lián)的誤差。此外,可以在系統(tǒng)100上使用更新后的信息以修改數(shù)據(jù)傳送會(huì)話的包分布,如關(guān)于圖2b所論述。系統(tǒng)100可以在整個(gè)數(shù)據(jù)傳送會(huì)話中連續(xù)地或周期性地繼續(xù)實(shí)施步驟203到205。圖2b說(shuō)明其中在實(shí)施加權(quán)方法200之后至少部分基于隧道的修改后權(quán)重分布包的實(shí)施例。具體來(lái)說(shuō),所說(shuō)明的實(shí)施例的塊206用于根據(jù)通過(guò)方法200的操作確定的加權(quán)方案在隧道上分布包。在一些實(shí)施例中,此分布將在整個(gè)數(shù)據(jù)傳送會(huì)話中改變,并且因此圖2b的步驟被示為重復(fù)的。一些實(shí)施例在每次在塊205處更新系統(tǒng)時(shí)改變包分布。此外,塊205可以使得響應(yīng)于特定丟棄率變化閾值等而周期性地實(shí)施改變。應(yīng)了解,通過(guò)方法200的操作確定加權(quán)以及在塊206處將所確定加權(quán)應(yīng)用到包分布可以具有不同的周期性。例如,方法200可用于使用相對(duì)較短的迭代循環(huán)來(lái)提供加權(quán)模式信息的更新,而包的分布使用較長(zhǎng)的迭代循環(huán)基于此類加權(quán)模式信息而變化。為了監(jiān)控各個(gè)隧道116的帶寬,本發(fā)明的一些實(shí)施例用各種信息封裝每個(gè)所傳輸?shù)膇p包。圖3說(shuō)明示出可以封裝在所傳輸ip包中的信息300的類型的實(shí)例實(shí)施例。版本字段302可以含有關(guān)于所利用的協(xié)議版本的信息且協(xié)議類型字段303可以含有凈負(fù)荷包的協(xié)議類型。一般來(lái)說(shuō),此字段的值將對(duì)應(yīng)于包的以太網(wǎng)協(xié)議類型。然而,另外的值可以在其它文檔中定義。隧道id字段304可以是32位字段并且可以含有用以識(shí)別ip包的當(dāng)前隧道的標(biāo)識(shí)符。高級(jí)加密標(biāo)準(zhǔn)(aes)初始化向量字段306可以是32位字段并且可以含有aes加密的初始化向量。全局序列號(hào)字段308可以是32位字段并且可以含有序列號(hào),所述序列號(hào)用來(lái)在用于各個(gè)會(huì)話的包中的每個(gè)包已經(jīng)從它們的相應(yīng)隧道出現(xiàn)時(shí)將所述包重新排序?yàn)檫m當(dāng)?shù)捻樞?。每隧道序列?hào)字段310可以是32位字段并且可以表示分配給被路由到具體隧道的每個(gè)包的序列號(hào)。aes加密后的凈負(fù)荷字段312可以用于傳送ip包的凈負(fù)荷。aes加密可以適用于凈負(fù)荷的較高安全性,以便防止第三方攻擊。上文所論述的每隧道序列號(hào)可以用于監(jiān)控隧道中的棄包。在一個(gè)實(shí)施例中,接收終端上的路由器通過(guò)監(jiān)控接收到的包的每隧道序列號(hào)來(lái)計(jì)算每f秒每個(gè)隧道的丟包率dr(x,y)。dr(x,y)可以表征為在周期f內(nèi)錯(cuò)過(guò)的序列號(hào)除以序列號(hào)增加量。周期f的長(zhǎng)度可以改變,并且在一個(gè)實(shí)施例中,f等于5秒。其它方法還可以用于監(jiān)控棄包,例如:發(fā)送器可以周期性地通知接收終端其已發(fā)送的包的數(shù)目;發(fā)送器在每一恒定時(shí)間周期將心跳包發(fā)送到接收終端;以及通過(guò)監(jiān)控心跳包的丟棄率通過(guò)從物理接口/裝置/層等獲取丟棄率圖,接收終端可以估計(jì)總體丟棄率。接收終端可以將特定隧道的丟棄率、有效權(quán)重或其它帶寬指示反饋到發(fā)送路由器。當(dāng)發(fā)送器接收到關(guān)于丟包的信息時(shí),一些實(shí)施例將隧道的有效權(quán)重ew(x,y)減小ew(x,y)·dr(x,y)??梢允褂闷渌攘縼?lái)修改隧道的有效權(quán)重。在一些實(shí)施例中,發(fā)送器可以接收反饋,并且有效權(quán)重可以降低大于或小于丟包率的數(shù)目。可以根據(jù)通信系統(tǒng)的具體需要來(lái)配置此類變化。以上實(shí)例表示嘗試將隧道的有效權(quán)重降低至防止進(jìn)一步棄包,同時(shí)最大化隧道的可用帶寬量的權(quán)重的度量。發(fā)現(xiàn)此平衡的任何度量可以是優(yōu)選的。圖4a說(shuō)明可以封裝在反饋包中的信息400的類型的實(shí)例實(shí)施例,將所述反饋包發(fā)送到傳輸路由器,以便報(bào)告丟包率或在接收終端路由器處接收到的其它帶寬相關(guān)數(shù)據(jù)。類型字段402可以包含關(guān)于將包含在數(shù)據(jù)-1字段404和數(shù)據(jù)-2字段406中的數(shù)據(jù)的類型的數(shù)據(jù)。數(shù)據(jù)-1字段404和數(shù)據(jù)-2字段406可以包含可以用于幫助路由器確定關(guān)于隧道數(shù)目、隧道帶寬、隧道中的棄包數(shù)等的隧道信息的任何信息。在圖4b的圖表中示出數(shù)據(jù)字段404和406中的類型字段402的可能值的實(shí)例。封裝在例如圖3和圖4中所示的所傳輸ip包中的信息還可以用于包緩存和重新排序。因?yàn)槊總€(gè)隧道的時(shí)延可能不同,所以當(dāng)同一tcp會(huì)話的兩個(gè)連續(xù)包通過(guò)結(jié)合的vpn隧道發(fā)送到vpn對(duì)等裝置時(shí),所述兩個(gè)連續(xù)包不按順序到達(dá),因?yàn)樗鰞蓚€(gè)連續(xù)包經(jīng)由兩個(gè)不同隧道路由。如果tcp會(huì)話從vpn接收無(wú)序包,則tcp會(huì)話將由于tcp重新傳輸而減慢。因此,在較慢包到達(dá)之前或在已經(jīng)過(guò)到期時(shí)間之前,接收終端應(yīng)緩存太早出現(xiàn)的包。通過(guò)此緩存,在到期時(shí)間之前出現(xiàn)的遲延包將按順序轉(zhuǎn)發(fā)到目標(biāo)裝置。此緩存有助于優(yōu)化端對(duì)端吞吐量。應(yīng)注意,時(shí)常在vpn連接的上下文中論述本文中所描述的實(shí)施例。呈現(xiàn)這些論述,以便示出結(jié)合的連接的實(shí)例實(shí)施例。在本文的權(quán)利要求中描述的發(fā)明性概念不限于此連接。實(shí)際上,可以通過(guò)本發(fā)明的實(shí)施例來(lái)實(shí)施其中可以獲得和交換足夠數(shù)據(jù),以便動(dòng)態(tài)地監(jiān)控多個(gè)通信路徑的帶寬的任何連接,所述帶寬用于數(shù)據(jù)傳送會(huì)話。如上文所論述,每個(gè)包可以分配有兩個(gè)不同序列號(hào),即全局序列號(hào)(gsn)和每隧道序列號(hào)(ptsn)。這些數(shù)字可以用于有助于包緩存和重新排序操作。在將包傳遞到上層之后,接收終端可以更新下一預(yù)期的每隧道序列號(hào)(ne-ptsn)和下一預(yù)期的全局序列號(hào)(ne-gsn)。下文將描述在接收和解密包之后包可以如何進(jìn)行緩存或轉(zhuǎn)發(fā)到目標(biāo)裝置的一個(gè)方法。1.如果包的gsn等于零,則立即將包轉(zhuǎn)發(fā)到目標(biāo)裝置。2.檢查包的ptsn是否等于ne-ptsn。如果不是,則按順序?qū)⒕哂休^小gsn的所有包出列(轉(zhuǎn)發(fā)到目標(biāo)裝置)。保持包未處理。3.更新ne-ptsn(即,將ne-ptsn設(shè)定成ptsn+1)。4.如果gsn小于ne-gsn,則轉(zhuǎn)發(fā)到目標(biāo)裝置。5.如果包的gsn等于ne-gsn,則更新ne-gsn(即,將negsn設(shè)定成gsn+1)且轉(zhuǎn)發(fā)到目標(biāo)裝置。重復(fù)更新ne-gsn,并且如果緩存頭的gsn等于新的ne-gsn,則將緩存頭從緩存器出列。6.否則(gsn大于ne-gsn),按gsn的順序?qū)肓小?.如果包處于比固定時(shí)間量長(zhǎng)的隊(duì)列中,則將negsn設(shè)定成包的gsn+1且按順序?qū)约熬哂休^小gsn的所有包出列。因此,在圖2和圖3中論述的封裝包信息可以包含通過(guò)響應(yīng)于監(jiān)控丟包率而幫助優(yōu)化隧道帶寬以及通過(guò)幫助有效地重新排序數(shù)據(jù)傳送會(huì)話中所接收包兩者來(lái)優(yōu)化數(shù)據(jù)傳輸系統(tǒng)(例如,100)的總體吞吐量的信息。圖5說(shuō)明根據(jù)某些實(shí)施例的可以用于實(shí)施系統(tǒng)、裝置和方法的示例性基于處理器的系統(tǒng)500?;谔幚砥鞯南到y(tǒng)500可以表示通信路由器106和108的架構(gòu)。中央處理單元(cpu)501耦合到系統(tǒng)總線502。cpu501可以是任何通用cpu,或可以是被設(shè)計(jì)成實(shí)施以上教示的專用cpu。只要cpu501(和系統(tǒng)500的其它組件)支持如本文所描述的發(fā)明性操作,則本發(fā)明不受cpu501(或示例性系統(tǒng)500的其它組件)的架構(gòu)限制。cpu501可以執(zhí)行本文所描述的各種邏輯指令。例如,cpu501可以根據(jù)上文結(jié)合圖2描述的示例性操作流執(zhí)行機(jī)器級(jí)指令。當(dāng)執(zhí)行表示圖2中所說(shuō)明的操作步驟的指令時(shí),cpu501變?yōu)榫唧w來(lái)說(shuō)被配置成根據(jù)本文所描述的教示的各種實(shí)施例操作的專用計(jì)算平臺(tái)的專用處理器。系統(tǒng)500還包含隨機(jī)存取存儲(chǔ)器(ram)503,其可以是sram、dram、sdram等。ram503可以是存儲(chǔ)可由cpu501執(zhí)行的程序指令的輔助存儲(chǔ)裝置。系統(tǒng)500包含只讀存儲(chǔ)器(rom)504,其可以是prom、eprom、eeprom等等。如在本領(lǐng)域中眾所周知,ram503和rom504保存用戶和系統(tǒng)數(shù)據(jù)以及程序。系統(tǒng)500還包含輸入/輸出(i/o)適配器505、通信適配器511、用戶接口適配器508和顯示適配器509。在某些實(shí)施例中,i/o適配器505、用戶接口適配器508和/或通信適配器511可以使用戶能夠與系統(tǒng)500交互,以便輸入信息。i/o適配器505將例如硬盤驅(qū)動(dòng)器、壓縮光盤(cd)驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等中的一個(gè)或多個(gè)的存儲(chǔ)裝置506連接到系統(tǒng)500。除了ram503之外,存儲(chǔ)裝置用于執(zhí)行以上實(shí)施例中所論述的操作的相關(guān)存儲(chǔ)器需求。通信適配器511被調(diào)適成將系統(tǒng)500耦合到網(wǎng)絡(luò)512,這可以使信息能夠經(jīng)由此網(wǎng)絡(luò)512(例如,因特網(wǎng)或其它廣域網(wǎng)、局域網(wǎng)、公共或私有交換電話網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、上述項(xiàng)的任何組合)輸入系統(tǒng)500和/或從系統(tǒng)500輸出。通信適配器511可以被視為網(wǎng)絡(luò)接口,并且系統(tǒng)500可以包括多個(gè)通信適配器511。用戶接口適配器508將用戶輸入裝置,例如鍵盤513、指向裝置507和麥克風(fēng)514和/或輸出裝置,例如揚(yáng)聲器515耦合到系統(tǒng)500。顯示適配器509由cpu501驅(qū)動(dòng)以控制在顯示裝置510上的顯示。顯示適配器509傳輸用于變換或控制供顯示裝置510使用的各種數(shù)目個(gè)像素的狀態(tài)的指令,以在視覺(jué)上向用戶呈現(xiàn)所需信息。此類指令包含用于從開(kāi)到關(guān)改變狀態(tài)、設(shè)定特定的色彩、強(qiáng)度、持續(xù)時(shí)間等的指令。每個(gè)此種指令組成呈現(xiàn)指令以控制如何在顯示裝置510上顯示以及在顯示裝置510上顯示什么內(nèi)容。圖6說(shuō)明基于圖1a中所說(shuō)明的網(wǎng)絡(luò)環(huán)境的網(wǎng)絡(luò)環(huán)境。通信路由器106的lan接口中的一個(gè)連接到主機(jī)103,并且通信路由器108的lan接口中的一個(gè)連接到主機(jī)105。主機(jī)103和105分別處于站點(diǎn)102和104中??梢酝ㄟ^(guò)網(wǎng)絡(luò)110在通信路由器106與108之間建立多個(gè)隧道。通信路由器106可以通過(guò)通信路由器106的一個(gè)或多個(gè)wan接口以及通信路由器108的一個(gè)或多個(gè)wan接口與通信路由器108建立隧道。僅出于說(shuō)明的目的,通信路由器108通過(guò)三個(gè)連接來(lái)連接到因特網(wǎng)110,而通信路由器106通過(guò)兩個(gè)連接來(lái)連接到網(wǎng)絡(luò)110。網(wǎng)絡(luò)110可以是互連網(wǎng)絡(luò),例如因特網(wǎng)。當(dāng)在通信路由器106與108之間建立的數(shù)據(jù)會(huì)話的數(shù)據(jù)包丟失或丟棄時(shí),通信路由器108確定存在一個(gè)或多個(gè)丟失數(shù)據(jù)包。如果通過(guò)通信路由器106重新發(fā)送丟失數(shù)據(jù)包,則帶寬消耗增加,這可以引起網(wǎng)絡(luò)擁塞。本發(fā)明揭示通信路由器108可以如何估計(jì)丟失數(shù)據(jù)包的內(nèi)容,使得通信路由器106不需要重新發(fā)送丟失數(shù)據(jù)包。圖7是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的過(guò)程的流程圖。結(jié)合圖1a觀察,例如,當(dāng)主機(jī)103傳輸去往主機(jī)105的數(shù)據(jù)包時(shí),通過(guò)通信路由器106、因特網(wǎng)110和通信路由器108將數(shù)據(jù)包從主機(jī)103傳輸?shù)街鳈C(jī)105。當(dāng)數(shù)據(jù)包從主機(jī)103到達(dá)通信路由器106時(shí),通信路由器106通過(guò)因特網(wǎng)110將數(shù)據(jù)包轉(zhuǎn)發(fā)到通信路由器108。隨后在通信路由器108處執(zhí)行圖2的過(guò)程。在步驟701中,通信路由器108通過(guò)聚合連接從通信路由器106接收數(shù)據(jù)包。如果數(shù)據(jù)包屬于數(shù)據(jù)會(huì)話,則當(dāng)通信路由器108接收數(shù)據(jù)包時(shí),在步驟702中確定數(shù)據(jù)包屬于的數(shù)據(jù)會(huì)話。在步驟703中,數(shù)據(jù)包隨后可以用于產(chǎn)生數(shù)據(jù)會(huì)話的一個(gè)或多個(gè)前一和/或下一數(shù)據(jù)包。通信路由器108可以使用下文將更詳細(xì)論述的不同技術(shù)來(lái)執(zhí)行步驟703。圖8是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的過(guò)程的流程圖。例如,在主機(jī)103與主機(jī)105之間建立數(shù)據(jù)會(huì)話。通過(guò)通信路由器106、通信路由器108和因特網(wǎng)110將屬于數(shù)據(jù)會(huì)話的數(shù)據(jù)包從主機(jī)103傳輸?shù)街鳈C(jī)105。在步驟801中,通信路由器108接收數(shù)據(jù)會(huì)話的數(shù)據(jù)包。通信路由器108隨后可以在步驟802中確定是否存在任何丟失數(shù)據(jù)包。如果存在丟失數(shù)據(jù)包并且在步驟803中確定丟失數(shù)據(jù)包在數(shù)據(jù)會(huì)話的順序中不是第一或最后,則在步驟804中可以基于數(shù)據(jù)會(huì)話的前一數(shù)據(jù)包和下一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包。如果丟失數(shù)據(jù)包在數(shù)據(jù)會(huì)話的順序中是第一或最后,則通信路由器108在步驟805中將請(qǐng)求發(fā)送到通信路由器106以重新發(fā)送丟失數(shù)據(jù)包,因?yàn)榛趦H一個(gè)或多個(gè)前一數(shù)據(jù)包或一個(gè)或多個(gè)下一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包可能不可行。例如,如果通信路由器108被配置成通過(guò)計(jì)算一個(gè)或多個(gè)前一數(shù)據(jù)包的凈負(fù)荷和一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷的平均值來(lái)產(chǎn)生丟失數(shù)據(jù)包,則通信路由器108不能夠基于僅一個(gè)或多個(gè)前一數(shù)據(jù)包或僅一個(gè)或多個(gè)下一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包。如果使用僅前一數(shù)據(jù)包或僅下一數(shù)據(jù)包,則產(chǎn)生的丟失數(shù)據(jù)包可能較不準(zhǔn)確。在步驟806中,過(guò)程結(jié)束。根據(jù)一個(gè)實(shí)施例,通信路由器108計(jì)算一個(gè)或多個(gè)前一數(shù)據(jù)包和一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷值的方差和標(biāo)準(zhǔn)差。在一個(gè)變形例中,通過(guò)加上一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷值的標(biāo)準(zhǔn)差值和平均值來(lái)產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷。在另一變形例中,通過(guò)從一個(gè)或多個(gè)前一數(shù)據(jù)包和/或一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷值的平均值中減去標(biāo)準(zhǔn)差值來(lái)產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷。本發(fā)明的范圍不限于加上或減去標(biāo)準(zhǔn)差值和平均值,使得丟失數(shù)據(jù)包的凈負(fù)荷可以通過(guò)使用平均值、方差值和標(biāo)準(zhǔn)差值的其它組合來(lái)計(jì)算,或者可以等于方差值或標(biāo)準(zhǔn)差值。在一個(gè)變形例中,通信路由器108通過(guò)檢查數(shù)據(jù)包的全局序列號(hào)來(lái)確定是否存在丟失數(shù)據(jù)包。例如,當(dāng)接收具有全局序列號(hào)0001、0002、0003、0004和0006的數(shù)據(jù)包時(shí),通信路由器108可以確定具有全局序列號(hào)0005的數(shù)據(jù)包是丟失數(shù)據(jù)包。通信路由器108隨后可以基于具有全局序列號(hào)0004的前一數(shù)據(jù)包以及具有全局序列號(hào)0006的下一數(shù)據(jù)包來(lái)產(chǎn)生具有全局序列號(hào)0005的丟失數(shù)據(jù)包。下文是通過(guò)分別計(jì)算三個(gè)前一數(shù)據(jù)包的凈負(fù)荷p1、p2和p3的平均值來(lái)產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷p4的說(shuō)明。例如:pl=00000040b850a5ac0007530217d108004500p2=001005d458b440002b06f44ad85c63idcoa8p3=0020010200500bf69efc464aabdba4f85010在一個(gè)變形例中,如下通過(guò)單獨(dú)地加上凈負(fù)荷的每個(gè)字節(jié)來(lái)計(jì)算凈負(fù)荷的平均值:p4=(pl+p2+p3)/3p4=(003006116110154f01a2c910918d9619a20810f115155b8)/3p4=10025c5a71508b4358843288ad5a5c713d在另一變形例中,如下通過(guò)將所有凈負(fù)荷的字節(jié)加在一起來(lái)計(jì)算凈負(fù)荷的平均值:p4=(pl+p2+p3)/3p4=(3007171154fla200000000000000000000)/3p4=10025d05c6fb3600000000000000000000根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于僅同一數(shù)據(jù)會(huì)話的一個(gè)或多個(gè)前一數(shù)據(jù)包而產(chǎn)生丟失數(shù)據(jù)包。例如,如果具有g(shù)sn0005的數(shù)據(jù)包是丟失數(shù)據(jù)包,則基于具有g(shù)sn0004的前一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包。當(dāng)在通信路由器108處重新產(chǎn)生丟失數(shù)據(jù)包作為新數(shù)據(jù)包時(shí),新數(shù)據(jù)包分配有g(shù)sn0005。隨后按以下順序?qū)⑶耙粩?shù)據(jù)包和新數(shù)據(jù)包以及新數(shù)據(jù)包傳輸?shù)街鳈C(jī)105:具有g(shù)sn0004的前一數(shù)據(jù)包、具有g(shù)sn0005的新數(shù)據(jù)包和具有g(shù)sn0006的下一數(shù)據(jù)包。當(dāng)新數(shù)據(jù)包僅基于前一數(shù)據(jù)包時(shí),新數(shù)據(jù)包的凈負(fù)荷與前一數(shù)據(jù)包,即,具有g(shù)sn0004的數(shù)據(jù)包的凈負(fù)荷相同。在一個(gè)變形例中,將ptsn分配到新數(shù)據(jù)包。隨機(jī)地分配新數(shù)據(jù)包的ptsn。由于新數(shù)據(jù)包在通信路由器108處產(chǎn)生并且未通過(guò)任何隧道接收,因此隨機(jī)地分配ptsn?;蛘撸_定丟失數(shù)據(jù)包的ptsn,并且分配到新數(shù)據(jù)包的ptsn與丟失數(shù)據(jù)包的ptsn相同。例如,通信路由器108通過(guò)隧道103a接收具有ptsn0001a、0002a、0003a、0005a的數(shù)據(jù)包。所接收數(shù)據(jù)包的gsn分別是0001、0003、0004和0007。已通過(guò)隧道103b接收具有g(shù)sn0002和0005的數(shù)據(jù)包。因此,通信路由器108確定具有g(shù)sn0006和ptsn0004a的數(shù)據(jù)包是丟失數(shù)據(jù)包。因此,新數(shù)據(jù)包分配有g(shù)sn0006和ptsn0004a。在另一變形例中,通信路由器106將管理消息發(fā)送到通信路由器108。管理消息包括數(shù)據(jù)包的gsn以及數(shù)據(jù)包的對(duì)應(yīng)ptsn的列表。因此,當(dāng)已知丟失數(shù)據(jù)包的gsn時(shí),可以確定丟失數(shù)據(jù)包的ptsn。在一個(gè)變形例中,新數(shù)據(jù)包的凈負(fù)荷是一個(gè)或多個(gè)前一數(shù)據(jù)包的凈負(fù)荷的平均值。新數(shù)據(jù)包的標(biāo)頭含有與數(shù)據(jù)會(huì)話的其它數(shù)據(jù)包的標(biāo)頭相同的信息,不同之處在于gsn。新數(shù)據(jù)包的gsn不同于數(shù)據(jù)會(huì)話的其它數(shù)據(jù)包,因?yàn)間sn應(yīng)該是唯一的。根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于僅一個(gè)或多個(gè)下一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包。例如,如果具有g(shù)sn0005的數(shù)據(jù)包是丟失數(shù)據(jù)包,則基于具有g(shù)sn0006的下一數(shù)據(jù)包產(chǎn)生丟失數(shù)據(jù)包。當(dāng)在通信路由器108處產(chǎn)生丟失數(shù)據(jù)包作為新數(shù)據(jù)包時(shí),新數(shù)據(jù)包分配有g(shù)sn0005。當(dāng)新數(shù)據(jù)包僅基于一個(gè)下一數(shù)據(jù)包時(shí),新數(shù)據(jù)包的凈負(fù)荷可以與下一數(shù)據(jù)包,即,具有g(shù)sn0006的數(shù)據(jù)包的凈負(fù)荷相同?;蛘?,當(dāng)新數(shù)據(jù)包基于多于一個(gè)下一數(shù)據(jù)包時(shí),新數(shù)據(jù)包的凈負(fù)荷可以是一個(gè)或多個(gè)下一數(shù)據(jù)包的凈負(fù)荷的平均值。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通信路由器108具有音頻處理功能。當(dāng)在通信路由器108處接收音頻包時(shí),臨時(shí)地保存音頻包,使得通信路由器108的處理單元可以使用音頻包的凈負(fù)荷,以便創(chuàng)建音頻數(shù)據(jù)庫(kù)。當(dāng)音頻包含有語(yǔ)音時(shí),這可能尤其有益。處理單元執(zhí)行音頻數(shù)據(jù)庫(kù)的查找以重新產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷。例如,詞語(yǔ)“蘋果”出現(xiàn)于音頻片段中。詞語(yǔ)“蘋果”可以包括在一個(gè)或多個(gè)數(shù)據(jù)包中,并且通信路由器108將對(duì)應(yīng)于詞語(yǔ)“蘋果”的數(shù)據(jù)內(nèi)容或凈負(fù)荷存儲(chǔ)于音頻數(shù)據(jù)庫(kù)中。出于說(shuō)明的目的,詞語(yǔ)“蘋果”包括在兩個(gè)數(shù)據(jù)包中,即,第一數(shù)據(jù)包和第二數(shù)據(jù)包。第一數(shù)據(jù)包和第二數(shù)據(jù)包是連續(xù)的數(shù)據(jù)包。如果由通信路由器108成功地接收第一數(shù)據(jù)包,但是未由通信路由器108接收第二數(shù)據(jù)包,則通信路由器108通過(guò)使用第一數(shù)據(jù)包的凈負(fù)荷以及對(duì)應(yīng)于音頻數(shù)據(jù)庫(kù)中的詞語(yǔ)“蘋果”的凈負(fù)荷來(lái)產(chǎn)生新的第二數(shù)據(jù)包。根據(jù)第一數(shù)據(jù)包,通信路由器108估計(jì)詞語(yǔ)是“蘋果”,因?yàn)槠鋬糌?fù)荷含有與存儲(chǔ)于音頻數(shù)據(jù)庫(kù)中的詞語(yǔ)“蘋果”對(duì)應(yīng)的凈負(fù)荷的至少一些部分。通信路由器108隨后將第一數(shù)據(jù)包和新的第二數(shù)據(jù)包發(fā)送到主機(jī)105。根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)主機(jī)103將視頻數(shù)據(jù)傳輸?shù)街鳈C(jī)105時(shí),通信路由器108使用插值技術(shù)產(chǎn)生丟失數(shù)據(jù)包。例如,視頻的每一幀封裝在單獨(dú)的數(shù)據(jù)包中??梢酝ㄟ^(guò)使用分別封裝在一個(gè)或多個(gè)前一數(shù)據(jù)包中的一個(gè)或多個(gè)前一幀以及通過(guò)使用分別封裝在一個(gè)或多個(gè)下一數(shù)據(jù)包中的一個(gè)或多個(gè)下一幀來(lái)產(chǎn)生封裝在丟失數(shù)據(jù)包中的丟失幀。例如,非線性插值、最近鄰插值、雙線性插值、雙三次插值等技術(shù)可以用于估計(jì)和重新產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通信路由器108使用存儲(chǔ)于其存儲(chǔ)媒體中的文本數(shù)據(jù)庫(kù),以便產(chǎn)生丟失數(shù)據(jù)包。例如,主機(jī)103正通過(guò)通信路由器106和108將文本數(shù)據(jù)傳輸?shù)街鳈C(jī)105。配置通信路由器106,使得在單獨(dú)數(shù)據(jù)包中傳輸每個(gè)字符,并且還通知通信路由器108每個(gè)數(shù)據(jù)包僅包括一個(gè)字符。通過(guò)主機(jī)103連續(xù)地傳輸?shù)谝?、第二和第三?shù)據(jù)包。通信路由器108成功地接收第一和第三數(shù)據(jù)包,但不接收第二數(shù)據(jù)包。由于第二數(shù)據(jù)包是丟失數(shù)據(jù)包,因此第一數(shù)據(jù)包是前一數(shù)據(jù)包并且第三數(shù)據(jù)包是下一數(shù)據(jù)包。出于說(shuō)明的目的,第一數(shù)據(jù)包含有字符“a”,并且第三數(shù)據(jù)包含有字符“d”。通信路由器108確定第二數(shù)據(jù)包丟失,并且第一、第二和第三數(shù)據(jù)包的凈負(fù)荷形成三字符詞語(yǔ)。通信路由器108隨后查找詞典,以便確定詞語(yǔ)。由于三字符詞語(yǔ)的第一字符確定為“a”并且三字符詞語(yǔ)的第三字符確定為“d”,因此通信路由器108可以將第二字符估計(jì)為“n”。然而,假定第一字符和第三字符的另一可能性是詞語(yǔ)是“添加”。在一個(gè)變形例中,通信路由器108隨機(jī)地從用于詞語(yǔ)的不同可能性中選擇詞語(yǔ)。在另一變形例中,通信路由器108基于歷史數(shù)據(jù)選擇詞語(yǔ)。例如,如果根據(jù)前一數(shù)據(jù)包,詞語(yǔ)為“添加”的可能性高于詞語(yǔ)為“和”的可能性,則通信路由器108選擇“添加”。因此,產(chǎn)生的新數(shù)據(jù)包具有對(duì)應(yīng)于字符“d”的凈負(fù)荷。在一個(gè)變形例中,通信路由器108借助于“空間”字符或?qū)?yīng)于標(biāo)點(diǎn)符號(hào)的任何字符來(lái)確定詞語(yǔ)是三字符詞語(yǔ)?;蛘撸瑢?duì)應(yīng)于詞語(yǔ)的第一個(gè)或最后一個(gè)字符的數(shù)據(jù)包包括指示數(shù)據(jù)包包括詞語(yǔ)的第一個(gè)字符或最后一個(gè)字符的指示符。根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)主機(jī)103將多媒體數(shù)據(jù)傳輸?shù)街鳈C(jī)105時(shí),可以實(shí)施不同插值技術(shù)來(lái)產(chǎn)生丟失數(shù)據(jù)包。例如,主機(jī)103實(shí)施用于音頻數(shù)據(jù)包的變換編碼并且隨后將音頻數(shù)據(jù)包傳輸?shù)街鳈C(jī)105。音頻數(shù)據(jù)包因此包括變換系數(shù)。如果存在丟失音頻數(shù)據(jù)包并且通信路由器108接收前一音頻數(shù)據(jù)包和下一音頻數(shù)據(jù)包,則通信路由器108能夠使用前一和下一音頻數(shù)據(jù)包的變換系數(shù)來(lái)產(chǎn)生丟失音頻數(shù)據(jù)包。在一個(gè)變形例中,前一和下一音頻數(shù)據(jù)包的變換系數(shù)的平均值可以計(jì)算且用作對(duì)應(yīng)于丟失音頻數(shù)據(jù)包的新變換系數(shù)。隨后通過(guò)將逆變換應(yīng)用于新變換系數(shù)來(lái)產(chǎn)生丟失音頻數(shù)據(jù)包。在另一變形例中,將不同權(quán)重分配到前一和下一音頻數(shù)據(jù)包的變換系數(shù)。隨后添加加權(quán)變換系數(shù),以提供對(duì)應(yīng)于丟失音頻數(shù)據(jù)包的新變換系數(shù)。應(yīng)了解,在所有以上實(shí)例中,代替使用一個(gè)前一數(shù)據(jù)包和一個(gè)下一數(shù)據(jù)包,多個(gè)前一和下一數(shù)據(jù)包可以用于產(chǎn)生丟失數(shù)據(jù)包。根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)通信路由器108通過(guò)因特網(wǎng)110從主機(jī)103接收數(shù)據(jù)包時(shí),通信路由器108在預(yù)定義時(shí)間周期內(nèi)臨時(shí)地存儲(chǔ)數(shù)據(jù)包。數(shù)據(jù)包存儲(chǔ)于通信路由器108的存儲(chǔ)媒體中,使得數(shù)據(jù)包可以用于重新產(chǎn)生任何丟失數(shù)據(jù)包。當(dāng)存在丟失數(shù)據(jù)包時(shí),通信路由器108可以使用所存儲(chǔ)數(shù)據(jù)包來(lái)重新產(chǎn)生丟失數(shù)據(jù)包。例如,具有g(shù)sn0001、0002、0003和0004的數(shù)據(jù)包在通信路由器108處接收并且存儲(chǔ)于存儲(chǔ)媒體中。具有g(shù)sn0005的數(shù)據(jù)包未接收到,并且因此是丟失數(shù)據(jù)包。通信路由器108隨后計(jì)算具有g(shù)sn0001、0002、0003和0004的數(shù)據(jù)包的凈負(fù)荷的平均值。平均值隨后用作所產(chǎn)生的新數(shù)據(jù)包的凈負(fù)荷并且gsn0005被分配到新數(shù)據(jù)包。隨后將新數(shù)據(jù)包傳輸?shù)街鳈C(jī)105。在一個(gè)變形例中,通過(guò)通信路由器108的用戶和/或管理員設(shè)定預(yù)定義時(shí)間周期。在另一變形例中,基于由從通信路由器106發(fā)送到通信路由器108的數(shù)據(jù)包經(jīng)歷的總體時(shí)延而確定預(yù)定義時(shí)間周期。出于說(shuō)明的目的,當(dāng)通信路由器108被配置成使用至少四個(gè)數(shù)據(jù)包來(lái)產(chǎn)生丟失數(shù)據(jù)包時(shí),設(shè)定預(yù)定義時(shí)間周期,使得至少四個(gè)數(shù)據(jù)包在給定時(shí)間存儲(chǔ)于存儲(chǔ)媒體中。因此,為了設(shè)定預(yù)定義時(shí)間周期,確定用于接收每個(gè)數(shù)據(jù)包所需的時(shí)間,即時(shí)延,并且基于所述時(shí)延計(jì)算預(yù)定義時(shí)間周期。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過(guò)近似函數(shù)產(chǎn)生丟失數(shù)據(jù)包。近似函數(shù)使用多個(gè)前一數(shù)據(jù)包的凈負(fù)荷的回歸來(lái)確定丟失數(shù)據(jù)包的凈負(fù)荷。例如,通過(guò)因變量和自變量創(chuàng)建回歸分析模型。因變量是凈負(fù)荷的值。在一個(gè)變形例中,自變量是gsn。或者,自變量是時(shí)間。使用回歸分析估計(jì)丟失數(shù)據(jù)包的凈負(fù)荷,并且因此丟失數(shù)據(jù)包重新產(chǎn)生且發(fā)送到主機(jī)105。例如,在通信路由器108處接收具有g(shù)sn0001、0002、0003、0004、0005、0006和0007、0008、0009、0010和0012的數(shù)據(jù)包。具有g(shù)sn0011的數(shù)據(jù)包丟失。因此,通信路由器108通過(guò)創(chuàng)建所接收數(shù)據(jù)包的凈負(fù)荷的回歸分析模型而重新產(chǎn)生丟失數(shù)據(jù)包的凈負(fù)荷。因變量(p)是數(shù)據(jù)包的凈負(fù)荷值,并且自變量(x)是數(shù)據(jù)包的gsn。下文說(shuō)明所接收包和回歸分析模型的凈負(fù)荷值(p1、p2、p3、p4、p5、p6、p7、p8、p9、p10、p12):pl=97p2=98p3=99p4=100p5=101p6=102p7=103p8=104p9=105p10=106p12=108因此,當(dāng)相對(duì)于對(duì)應(yīng)gsn創(chuàng)建凈負(fù)荷值的回歸分析模型時(shí),如下獲得近似函數(shù):p=96+x使用此近似函數(shù),如下計(jì)算具有g(shù)sn0011的丟失數(shù)據(jù)包p11的凈負(fù)荷:p11=96+0011=107因此,通信路由器108通過(guò)等于107的凈負(fù)荷值重新產(chǎn)生丟失數(shù)據(jù)包。應(yīng)注意,為了更容易說(shuō)明,上述實(shí)例中的凈負(fù)荷值是示例性值。應(yīng)了解,包的凈負(fù)荷值通??梢暂^大并且數(shù)據(jù)包的尺寸較大。根據(jù)本發(fā)明的一個(gè)實(shí)施例,主機(jī)105被配置成執(zhí)行估計(jì)并且重新產(chǎn)生丟失數(shù)據(jù)包。例如,軟件、程序或應(yīng)用程序可以安裝在主機(jī)105處,以使用上述技術(shù)重新產(chǎn)生丟失數(shù)據(jù)包。附圖說(shuō)明圖1a說(shuō)明根據(jù)本發(fā)明的實(shí)施例的用于優(yōu)化多個(gè)可變帶寬連接的吞吐量的整個(gè)系統(tǒng);圖1b說(shuō)明根據(jù)本發(fā)明的各種實(shí)施例的網(wǎng)絡(luò)環(huán)境;圖1c說(shuō)明根據(jù)實(shí)施例調(diào)適的系統(tǒng)100,所述系統(tǒng)被配置成優(yōu)化結(jié)合的多個(gè)可變帶寬連接的吞吐量;圖2a說(shuō)明根據(jù)本發(fā)明的實(shí)施例的描繪用于增加結(jié)合連接的吞吐量的方法的流程圖;圖2b說(shuō)明根據(jù)本發(fā)明的實(shí)施例的描繪用于增加結(jié)合連接的吞吐量的方法的流程圖;圖3是說(shuō)明根據(jù)本發(fā)明的實(shí)施例的可以封裝在所傳輸ip包中的信息的類型的實(shí)例實(shí)施例;圖4a是說(shuō)明根據(jù)本發(fā)明的實(shí)施例的可以封裝在反饋包中的信息的類型的實(shí)例實(shí)施例;圖4b是說(shuō)明圖4a的反饋包的字段的可能值的圖表;圖5描繪被調(diào)適成實(shí)施本發(fā)明的處理系統(tǒng)的框圖;圖6說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的網(wǎng)絡(luò)環(huán)境;圖7是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的過(guò)程的流程圖;圖8是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的過(guò)程的流程圖。當(dāng)前第1頁(yè)12