用于無線通信網(wǎng)絡(luò)中的多徑傳輸連接的動態(tài)子流控制的制作方法
【專利摘要】諸如多徑TCP之類的多徑傳輸協(xié)議可以使用與一個或多個路徑相對應(yīng)的諸如無線鏈路狀況之類的度量作為用于控制對相應(yīng)路徑上的數(shù)據(jù)和控制信令的動態(tài)分配的參數(shù)。容錯控制可以實現(xiàn)對在差的路徑上已發(fā)送的分組在好的路徑上進行重傳。此外,可以在單獨的子流上或在UDP覆蓋段上提供反饋、重傳和其它控制信令。以這一方式,當(dāng)增強流控制和數(shù)據(jù)流時,多徑TCP連接可以更為可靠和有效。
【專利說明】用于無線通信網(wǎng)絡(luò)中的多徑傳輸連接的動態(tài)子流控制
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容的方面一般涉及無線通信,更具體地說,涉及無線通信網(wǎng)絡(luò)中的多徑傳輸控制。
【背景技術(shù)】
[0002]傳輸控制協(xié)議(TCP)是經(jīng)常被用于非實時服務(wù)(例如用于網(wǎng)頁瀏覽的HTTP、FTP、IMAP等)的傳輸協(xié)議??梢栽诳蛻舳?例如用戶設(shè)備(UE))與服務(wù)器之間建立TCP連接。TCP在IP層之上,并且使用重傳、流控制和擁塞控制以改善IP層的可靠性。
[0003]對于流控制來說,TCP連接中的接收方側(cè)控制發(fā)送方從而僅發(fā)送與接收方具有的用于數(shù)據(jù)的緩存容量一樣多的數(shù)據(jù)。因此,發(fā)送方側(cè)根據(jù)來自接收方的確認來動態(tài)地調(diào)整傳輸速率。此外,在發(fā)送方側(cè)處的擁塞控制可以使用由慢啟動和擁塞避免算法控制的擁塞窗口(CW)以及具有接收方所具有的緩沖大小的提議窗口(offered window),以確定發(fā)送方側(cè)可以發(fā)送的數(shù)據(jù)量。
[0004]在諸如互聯(lián)網(wǎng)之類的現(xiàn)代網(wǎng)絡(luò)中,主機經(jīng)常通過多個路徑相連接,其中每個路徑由源地址和目的地址對定義。例如,移動站可以包括諸如用于兩個或多個協(xié)議(例如W-CDMA、LTE、CDMA2000和WiMAX)的WWAN鏈路以及可能的WLAN或WPAN鏈路之類的多個無線鏈路。類似地,網(wǎng)絡(luò)服務(wù)器可以具有到網(wǎng)絡(luò)的任意數(shù)量的鏈路。
[0005]然而,TCP在每傳輸連接限制發(fā)往單個路徑的通信。為了改善網(wǎng)絡(luò)內(nèi)的資源使用的效率,已描述了多徑TCP協(xié)議以便使得能夠通過在多個傳輸路徑上分割信息來同時使用這些多個路徑。通過使用多于一個的路徑,多徑TCP可以通過對網(wǎng)絡(luò)出錯的改善的適應(yīng)和提高的吞吐量來增強用戶體驗。
[0006]通過TCP連接進行路由的信息包括數(shù)據(jù)和控制信令??刂葡⒖梢园ㄓ糜诮⒒蚓S護多個路徑的任何信息交換,例如查詢附加的IP地址以建立多徑連接。數(shù)據(jù)信息包括通過多徑傳輸而傳送的應(yīng)用層數(shù)據(jù)。
[0007]雖然多徑TCP提供了各種改進,但仍存在進一步改善數(shù)據(jù)和控制信令傳送的需求,尤其是用于通過包括無線鏈路(其可具有獨立變化的信號質(zhì)量)的多個路徑的連接。也就是說,在這樣的多徑連接的情況下,當(dāng)攜帶控制消息的路徑由于在相應(yīng)的無線鏈路上的深度衰落而出錯時,控制消息的交換可能受阻礙。這里,多徑會話建立和維護可能被延遲。此外,當(dāng)一個路徑上的數(shù)據(jù)出錯時,匱乏可能出現(xiàn)在另一個好的路徑上,從而阻礙應(yīng)用性能和用戶體驗。
【發(fā)明內(nèi)容】
[0008]為了推動無線通信網(wǎng)絡(luò)中的多徑傳輸控制的發(fā)展,諸如多徑TCP之類的多徑傳輸協(xié)議可以使用與在不同路徑上使用的一個或多個無線鏈路的鏈路層狀況相對應(yīng)的度量以在相應(yīng)路徑上動態(tài)地分配數(shù)據(jù)和控制信令。以這一方式,當(dāng)增強流控制和數(shù)據(jù)流時,多徑TCP連接可以更為可靠和有效。[0009]在本公開內(nèi)容的一個方面中,用于通過多徑TCP連接進行無線通信的方法包括:通過第一路徑上的第一子流進行通信,所述第一路徑包括第一無線鏈路;通過第二路徑上的第二子流進行通信;以及提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量,其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
[0010]在本公開內(nèi)容的另一個方面中,用于通過多徑TCP連接進行無線通信的方法包括:接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量;將TCP流的第一部分分配給第一路徑上的第一子流,所述第一路徑包括所述第一無線鏈路;以及將所述TCP流的第二部分分配給第二路徑上的第二子流,其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
[0011]在本公開內(nèi)容的另一個方面中,提供了用于通過包括多個路徑的多徑TCP連接進行無線通信的方法。這里,所述方法包括:通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分;通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分;以及通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
[0012]在本公開內(nèi)容的另一個方面中,用于通過多徑TCP連接進行無線通信的裝置包括:用于通過第一路徑上的第一子流進行通信的單元,所述第一路徑包括第一無線鏈路;用于通過第二路徑上的第二子流進行通信的單元;以及用于提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的單元,其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
[0013]在本公開內(nèi)容的另一個方面中,用于通過多徑TCP連接進行無線通信的裝置包括:用于接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的單元;用于將TCP流的第一部分分配給第一路徑上的第一子流的單元,所述第一路徑包括所述第一無線鏈路;以及用于將所述TCP流的第二部分分配給第二路徑上的第二子流的單元,其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
[0014]在本公開內(nèi)容的另一個方面中,提供了用于通過包括多個路徑的多徑TCP連接進行無線通信的裝置。這里,所述裝置包括:用于通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分的單元;用于通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分的單元;以及用于通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息的單元,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
[0015]在本公開內(nèi)容的另一個方面中,提供了用于通過多徑TCP連接進行無線通信的計算機程序產(chǎn)品。這里,所述計算機程序產(chǎn)品包括計算機可讀介質(zhì),所述計算機可讀介質(zhì)具有:用于使計算機通過第一路徑上的第一子流進行通信的指令,所述第一路徑包括第一無線鏈路;用于使計算機通過第二路徑上的第二子流進行通信的指令;以及用于使計算機提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的指令,其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
[0016]在本公開內(nèi)容的另一個方面中,提供了用于通過多徑TCP連接進行無線通信的計算機程序產(chǎn)品。這里,所述計算機程序產(chǎn)品包括計算機可讀介質(zhì),所述計算機可讀介質(zhì)具有:用于使計算機接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的指令;用于使計算機將TCP流的第一部分分配給第一路徑上的第一子流的指令,所述第一路徑包括所述第一無線鏈路;以及用于使計算機將所述TCP流的第二部分分配給第二路徑上的第二子流的指令,其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
[0017]在本公開內(nèi)容的另一個方面中,提供了用于通過包括多個路徑的多徑TCP連接進行無線通信的計算機程序產(chǎn)品。這里,所述計算機程序產(chǎn)品包括計算機可讀介質(zhì),所述計算機可讀介質(zhì)具有:用于使計算機通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分的指令;用于使計算機通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分的指令;以及用于使計算機通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息的指令,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
[0018]在本公開內(nèi)容的另一個方面中,用于通過多徑TCP連接進行無線通信的裝置包括至少一個處理器以及耦合到所述至少一個處理器的存儲器。這里,所述至少一個處理器被配置為:通過第一路徑上的第一子流進行通信,所述第一路徑包括第一無線鏈路;通過第二路徑上的第二子流進行通信;以及提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量,其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
[0019]在本公開內(nèi)容的另一個方面中,用于通過多徑TCP連接進行無線通信的裝置包括至少一個處理器以及耦合到所述至少一個處理器的存儲器。這里,所述至少一個處理器被配置為:接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量;將TCP流的第一部分分配給第一路徑上的第一子流,所述第一路徑包括所述第一無線鏈路;以及將所述TCP流的第二部分分配給第二路徑上的第二子流,其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
[0020]在本公開內(nèi)容的另一個方面中,提供了用于通過包括多個路徑的多徑TCP連接進行無線通信的裝置。這里,所述裝置包括至少一個處理器以及耦合到所述至少一個處理器的存儲器。所述至少一個處理器被配置為:通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分;通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分;以及通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
[0021]在對位于后面的【具體實施方式】回顧之后,將更完整地理解本發(fā)明的這些和其它的方面。
【專利附圖】
【附圖說明】
[0022]圖1是示出了采用處理系統(tǒng)的裝置的硬件實現(xiàn)的例子的框圖。
[0023]圖2是比較用于標(biāo)準(zhǔn)TCP與多徑TCP的協(xié)議棧的示意性說明。
[0024]圖3是示出了無線通信網(wǎng)絡(luò)中的多徑TCP連接的簡化框圖。
[0025]圖4是示出了在通過多徑TCP連接的示例性客戶端-服務(wù)器通信中的協(xié)議棧的示意性示圖。
[0026]圖5是示出了使用與至少一個無線鏈路的質(zhì)量相對應(yīng)的健康度量的多徑TCP通信的方法的流程圖。
[0027]圖6是示出了用于根據(jù)健康度量來動態(tài)地調(diào)整信令的多徑TCP通信的方法的流程圖。
[0028]圖7是示出了使用在多個路徑上重復(fù)的控制信令分組的多徑TCP通信的方法的流程圖。
[0029]圖8是示出了使用無線通信網(wǎng)絡(luò)中的隧道化的多徑TCP連接的簡化框圖。
[0030]圖9是示出了在通過使用無線通信網(wǎng)絡(luò)中的隧道化的多徑TCP連接的示例性客戶端-服務(wù)器通信中的協(xié)議棧的示意性示圖。
【具體實施方式】
[0031]以下結(jié)合附圖而給出的詳細說明旨在作為對各種配置的說明,而非旨在表示可以在其中實施本文所描述的構(gòu)思的僅有的配置。詳細的說明包括具體的細節(jié),以便提供對各種構(gòu)思的透徹理解。然而,對本領(lǐng)域技術(shù)人員將是顯而易見的是,可以不用這些具體細節(jié)來實施這些構(gòu)思。在一些實例中,以框圖形式示出公知的結(jié)構(gòu)和組件以便避免使這些構(gòu)思模糊不清。
[0032]根據(jù)本公開內(nèi)容的各個方面,要素或者要素的任何部分或者要素的任意組合可以用包括一個或多個處理器的“處理系統(tǒng)”來實現(xiàn)。處理器的例子包括被配置為執(zhí)行貫穿本公開內(nèi)容所描述的各種功能的微處理器、微控制器、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯器件(PLD)、狀態(tài)機、門控邏輯、分立硬件電路和其它適當(dāng)?shù)挠布?br>
[0033]處理系統(tǒng)中的一個或多個處理器可以執(zhí)行軟件。無論是稱作為軟件、固件、中間件、微代碼、硬件描述語言或是其它術(shù)語,軟件應(yīng)廣義地理解為表示指令、指令集、代碼、代碼段、程序代碼、程序、子程序、軟件模塊、應(yīng)用、軟件應(yīng)用、軟件包、例程、子例程、對象、可執(zhí)行程序、執(zhí)行線程、進程、函數(shù)等。軟件可以位于計算機可讀介質(zhì)上。計算機可讀介質(zhì)可以是非暫時性計算機可讀介質(zhì)。非暫時性計算機可讀介質(zhì)包括,舉例而言,磁存儲設(shè)備(例如,硬盤、軟盤、磁條)、光盤(例如,壓縮光盤(CD)、數(shù)字多功能光盤(DVD))、智能卡、閃存設(shè)備(例如,卡、棒、鑰匙式驅(qū)動器)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可編程ROM(PROM)、可擦除PROM(EPROM)、電可擦除PROM(EEPROM)、寄存器、可移動磁盤以及用于存儲由計算機可訪問和讀取的軟件和/或指令的任何其它適當(dāng)?shù)慕橘|(zhì)。計算機可讀介質(zhì)還可以包括,舉例而言,載波、傳輸線以及用于發(fā)送由計算機可訪問和讀取的軟件和/或指令的任何其它適當(dāng)?shù)慕橘|(zhì)。計算機可讀介質(zhì)可以位于處理系統(tǒng)中、在處理系統(tǒng)外部或分布于包括處理系統(tǒng)的多個實體中。計算機可讀介質(zhì)可以體現(xiàn)在計算機程序產(chǎn)品中。舉例而言,計算機程序產(chǎn)品可以包括封裝材料中的計算機可讀介質(zhì)。本領(lǐng)域技術(shù)人員將認識到,如何最佳地實現(xiàn)貫穿于本公開內(nèi)容呈現(xiàn)的所描述的功能取決于特定應(yīng)用和施加在整個系統(tǒng)上的整體設(shè)計約束。
[0034]圖1是示出了采用處理系統(tǒng)114的裝置100的硬件實現(xiàn)的例子的概念圖。在該例子中,處理系統(tǒng)114可以用通常由總線102表示的總線架構(gòu)來實現(xiàn)。取決于處理系統(tǒng)114的具體應(yīng)用和整體設(shè)計約束,總線102可以包括任意數(shù)量的互連總線和橋接器??偩€102將各種電路連接在一起,所述各種電路包括通常由處理器104表示的一個或多個處理器、存儲器105和通常由計算機可讀介質(zhì)106表示的計算機可讀介質(zhì)??偩€102還可以連接各種其它電路,諸如定時源、外設(shè)、電壓調(diào)節(jié)器和電源管理電路,這些在本領(lǐng)域中是公知的,因此將不再深入進行描述??偩€接口 108提供了總線102與收發(fā)機110之間的接口。收發(fā)機110提供了用于通過傳輸介質(zhì)與各種其它裝置通信的方式。取決于裝置的特征,還可以提供用戶接口 112 (例如,小鍵盤、顯示器、揚聲器、麥克風(fēng)、操縱桿)。
[0035]處理器104負責(zé)管理總線102和常規(guī)的處理,這包括執(zhí)行存儲在計算機可讀介質(zhì)106上的軟件。軟件在由處理器104執(zhí)行時使處理系統(tǒng)114執(zhí)行以下所描述的用于任何特定裝置的各種功能。計算機可讀介質(zhì)106還可用于存儲在執(zhí)行軟件時由處理器104操作的數(shù)據(jù)。
[0036]適用于包含本公開內(nèi)容的各個方面的裝置的例子包括,但不限于,能夠在無線網(wǎng)絡(luò)中進行操作的用戶設(shè)備(UE)、WffAN客戶端等。UE可以被稱作為無線終端、移動電話、用戶終端、移動站、移動設(shè)備、訂戶站、無線設(shè)備、無線節(jié)點、終端、接入終端、節(jié)點、手持設(shè)備、平板或某種其它適當(dāng)?shù)男g(shù)語。適用于包含本公開內(nèi)容的各個方面的裝置的進一步的例子包括,但不限于,具有任何適當(dāng)?shù)木W(wǎng)絡(luò)連接的服務(wù)器或計算機。這樣的計算機可以被稱作為主機、節(jié)點或某種其它適當(dāng)?shù)男g(shù)語。貫穿本公開內(nèi)容描述的各種構(gòu)思旨在應(yīng)用于所有適當(dāng)?shù)难b置而不管它們的具體術(shù)語。
[0037]在諸如互聯(lián)網(wǎng)之類的現(xiàn)代網(wǎng)絡(luò)中,使用網(wǎng)絡(luò)的多個主機或計算機通過一個或多個通信路徑相互通信。這里,路徑廣義上是指在數(shù)據(jù)的發(fā)送方與接收方之間的一系列鏈路,并且可以根據(jù)源地址和目的地址來指定。源地址和目的地址對可以用IP地址指定,例如(IPn、IP 。在相應(yīng)的源與目的主機之間的該系列的鏈路可以包括任意數(shù)量的單獨的物?鏈路,并且最近可以經(jīng)常包括至少一個無線空中接口(例如在移動用戶設(shè)備與基站之間的蜂窩連接)。也就是說,路徑可以包括無線廣域網(wǎng)(WWAN)連接。
[0038]在本公開內(nèi)容的各個方面中,術(shù)語“子流”可以包括在應(yīng)用層處的覆蓋段(overlay)或在傳輸層處的區(qū)段。也就是說,如以下深入詳細地所討論的,應(yīng)用層連接或傳輸層連接可以被稱作為子流。在任一種情況下,子流是指通過單獨的路徑進行操作的流。
[0039]多徑傳輸協(xié)議提供了對在諸如互聯(lián)網(wǎng)之類的網(wǎng)絡(luò)上的源與目的地之間在傳輸層處管理多個子流的支持。這里,對于網(wǎng)絡(luò)來說多徑傳輸層子流可以看上去是常規(guī)的傳輸層流,但實際上僅構(gòu)成較大的多徑傳輸連接的一部分。
[0040]本領(lǐng)域技術(shù)人員公知的多徑傳輸協(xié)議的例子包括多徑TCP (MPTCP)和流控制傳輸協(xié)議(SCTP)。尤其是,廣泛的興趣已被指向用于在源與目的地之間使用互聯(lián)網(wǎng)上的多個路徑來聚合跨越路徑的性能的多徑TCP。不過,雖然本公開內(nèi)容的各個方面提供了與使用多徑TCP的特定實施方案相關(guān)的細節(jié),但是本文披露的廣泛的構(gòu)思廣義地適用于任何多徑傳輸協(xié)議。
[0041]圖2是示出了根據(jù)IETF互聯(lián)網(wǎng)草案、多徑TCP開發(fā)架構(gòu)指南的常規(guī)TCP連接202和常規(guī)多徑TCP連接252的示意性示圖,所述指南是公開可獲得的并且通過引用將其全部內(nèi)容并入本文。在TCP連接202中,應(yīng)用層204使用TCP層206與單個IP層208通信以管理通過單個路徑的流。相比之下,多徑TCP連接252使用多個子流258,對于網(wǎng)絡(luò)來說每個子流看上去是諸如TCP連接202之類的常規(guī)TCP會話,以便通過多個IP層連接260發(fā)送數(shù)據(jù)。這些子流258由多徑TCP(MPTCP)層256管理,多徑TCP層256是在應(yīng)用層254之下的擴展層并且被配置為管理在它之下的多個TCP子流。多徑TCP層256可以被配置為對于應(yīng)用層254來說看上去是常規(guī)TCP層,使得可以不需要應(yīng)用層的變化。此外,多徑TCP層256可以被配置為處理用于多個子流258的功能,例如,路徑管理、分組調(diào)度、子流接口的提供以及擁塞控制。
[0042]圖3是示出了根據(jù)本公開內(nèi)容的一些方面的、在應(yīng)用服務(wù)器302與客戶端設(shè)備304之間包括多個路徑的示例性網(wǎng)絡(luò)的簡化框圖。這里,具有多徑TCP能力的客戶端304借助于一個或多個WffAN接入點306、308直接連接到具有多徑TCP能力的應(yīng)用服務(wù)器302 (直接相連,與下文所描述的并在圖8-圖9中所示出的使用隧道化的連接相比對);以及借助于代理或輔助節(jié)點312,代理或輔助節(jié)點312可以耦合到WffAN接入點310。在示出的例子中,WffAN接入點306、308和310中的每一個耦合到網(wǎng)絡(luò)云314(例如互聯(lián)網(wǎng)),應(yīng)用服務(wù)器302也通信地耦合到網(wǎng)絡(luò)云314。
[0043]這里,作為說明性的例子,客戶端304包括用于與兩個WffAN接入點306和308通信的雙WWAN調(diào)制解調(diào)器。WffAN技術(shù)的例子可以包括但不限于:長期演進(LTE)、高速分組接入(HSPA)及其演進、CDMA2000、EV-DO Rev.Α/B、微波接入全球互通(WiMAX)、UMTS、GPRS/EDGE等。一般來說,移動平臺(例如客戶端304)中的多個WffAN調(diào)制解調(diào)器中的每一個可以接入WWAN,使得移動平臺能夠使用對于其可用的每個WffAN調(diào)制解調(diào)器來聚合帶寬。與每個用戶相關(guān)聯(lián)的可用的調(diào)制解調(diào)器可以位于一個設(shè)備(即客戶端304)上。附加的調(diào)制解調(diào)器可以存在于一個或多個代理或輔助設(shè)備312上,當(dāng)設(shè)備304和312進入彼此的有線或無線的鄰近范圍內(nèi)時,附加的調(diào)制解調(diào)器可以動態(tài)地進行關(guān)聯(lián)。
[0044]此外,客戶端304可以包括用于與代理312通信的WPAN調(diào)制解調(diào)器,其中代理312包括用于與第三WffAN接入點310通信的WffAN調(diào)制解調(diào)器。在一個例子中,用于與代理312通信的WPAN調(diào)制解調(diào)器可以是藍牙或其它適當(dāng)?shù)牡凸β释ㄐ沤涌?。因此,客戶?04和代理312可以通過有線或無線鏈路(例如WPAN鏈路)一起協(xié)調(diào)(例如,可以在設(shè)備中的一個上執(zhí)行業(yè)務(wù)合并或分割)。
[0045]在本公開內(nèi)容的一些方面中,與WffAN接入點306和308連接的無線空中接口中的每一個以及與代理312連接的低功率空中接口可以用地址(例如IP地址)來標(biāo)識。例如,在客戶端304與WffANOA接入點306之間的接口可以用IPl來標(biāo)識,在客戶端304與WffANOB接入點308之間的接口可以用IP2來標(biāo)識,而在客戶端304與代理312之間的接口可以用IP3來標(biāo)識。以這一方式,假設(shè)具有多徑能力的應(yīng)用服務(wù)器302被標(biāo)識具有三個地址IP4、IP5和IP6,客戶端304可以使用包括三個子流的多徑TCP連接與應(yīng)用服務(wù)器302通信,每個子流在相應(yīng)的路徑上,即:(IP1、IP4) ;(IP2、IP5);以及(IP3、IP6)。當(dāng)然,來自客戶端304與應(yīng)用服務(wù)器302的多個路徑中的一些路徑可以終止于相同的IP地址處,例如,使得多個路徑中的一些路徑可以用地址對(IP1、IP4)和(IP2、IP4)來標(biāo)識。
[0046]圖4在示出了節(jié)點中的某些節(jié)點中的協(xié)議棧的一部分的示意性示圖中示出了在圖3中所示出的主機中的一些主機??蛻舳丝梢允侨魏芜m當(dāng)?shù)挠脩粼O(shè)備(例如,移動電話、平板、個人數(shù)字助理(PDA)、包括一個或多個WffAN接入卡的個人計算機等)。在本公開內(nèi)容的方面中,客戶端304包括協(xié)議棧,所述協(xié)議棧具有應(yīng)用層402、多徑TCP層404、多個TCP子流406、一個或多個WffAN接口 408以及一個或多個WLAN或WPAN接口 410。WffAN接口 408和WLAN/WPAN接口 410表示在TCP層406之下的IP層、數(shù)據(jù)鏈路層和物理層。針對客戶端304所描述的特定接口本質(zhì)上僅是示例性的,并且在本公開內(nèi)容的各個方面中,客戶端304可以包括用于與網(wǎng)絡(luò)云通信的任意數(shù)量的適當(dāng)?shù)挠芯€或無線通信接口。
[0047]在示出的例子中,客戶端304中的多徑TCP層404管理四個子流406a、406b、406c和406d。這里,第一子流406a是由多徑TCP層404管理的UDP子流。在本公開內(nèi)容的其它方面(以下深入詳細地描述)中,UDP子流可以是應(yīng)用層覆蓋段。第二子流406b是TCP子流。這里,第一子流406a和第二子流406b使用第一 WffAN接口 408a與第一 WffAN接入點306通信。也就是說,在本公開內(nèi)容的方面中,多個子流可以使用一個物理通信接口。第三子流406c使用第二 WffAN接口 408b與第二 WffAN接入點308通信。第四子流406d使用WLAN/WPAN接口與代理312通信,代理312繼而與第三WffAN接入點310通信。當(dāng)然,在各個例子中,代理312可以使用用于在客戶端304與應(yīng)用服務(wù)器302之間建立路徑的一部分的任何適當(dāng)?shù)挠芯€或無線接口。
[0048]可被稱為輔助節(jié)點的代理312可以是任何適當(dāng)?shù)脑O(shè)備,例如移動電話、平板、PDA、個人計算機等,并且在一些例子中可以是與客戶端設(shè)備304相同類型的設(shè)備。代理312可以被配置為與客戶端304建立連接,使得代理312可以使用相對較高帶寬WffAN接口,與客戶端304的WffAN接口相聚合的相對較高帶寬WffAN接口可以向客戶端設(shè)備304提供增加的數(shù)據(jù)速度。
[0049]WffAN接入點306、308和310可以使用相同或不同的通信標(biāo)準(zhǔn),并且可以是基站、節(jié)點B、eNode B、基站收發(fā)機(BTS)或用于WffAN通信的任何其它適當(dāng)?shù)慕尤朦c。
[0050]在圖3和圖4中示出的例子中,應(yīng)用服務(wù)器302是具有多徑能力的應(yīng)用服務(wù)器,這包括用于使得應(yīng)用層418能夠通過多個TCP子流414進行通信的多徑TCP層416。在示出的例子中,應(yīng)用服務(wù)器302包括與WffAN接入點306、308和310的數(shù)量相對應(yīng)的多個接口層412,然而,在本公開內(nèi)容的范圍內(nèi)的各個例子中可以使用任意數(shù)量的接口 412與網(wǎng)絡(luò)通?目。
[0051]根據(jù)本公開內(nèi)容的各個方面,多徑TCP層416或404中的一個或兩者可以包括多徑管理器420。為了方便說明,以下描述將是指包括在應(yīng)用服務(wù)器302的多徑TCP層416中的多徑管理器420,然而,本領(lǐng)域技術(shù)人員將領(lǐng)會,所描述的特征中的一些或全部可以等同地應(yīng)用于包括在客戶端設(shè)備304的多徑TCP層404中的多徑管理器420。
[0052]多徑管理器420被配置為管理一個或多個流,以這樣的方式,對于應(yīng)用層418來說多徑TCP層416看上去像是單個的TCP連接。此外,對于較低層來說多個子流看上去像是標(biāo)準(zhǔn)的TCP會話(或者在子流中的一個是如在406a所示出的UDP子流的情況下,對于較低層來說相應(yīng)的子流看上去像是標(biāo)準(zhǔn)的UDP會話),以保持網(wǎng)絡(luò)兼容性,而不必要求特定用于處理多徑TCP的變化。
[0053]在本公開內(nèi)容的方面中,多徑管理器420包括功能組件,所述功能組件包括路徑管理功能、分組調(diào)度功能、子流接口和擁塞控制。路徑管理功能可以檢測并使用在客戶端304與遠程主機(在該情況下是應(yīng)用服務(wù)器302)之間的多個路徑。分組調(diào)度功能將從應(yīng)用層418接收的分組的流分成區(qū)段,所述區(qū)段在可用的子流414中的一個上待被發(fā)送。也就是說,分組調(diào)度功能可以將應(yīng)用層級數(shù)據(jù)分段為連接層級區(qū)段,并且可以向那些區(qū)段添加連接層級序列號。連接層級序列號可以被稱作為全局序列號,將區(qū)分于以下深入詳細地討論的子流層級序列號。
[0054]多徑管理器420的子流接口功能可以從分組調(diào)度功能獲得所分配的區(qū)段,并且通過指定的子流發(fā)送它們。多徑管理器420的擁塞控制功能通常通過幫助分組調(diào)度功能調(diào)度要發(fā)送所調(diào)度的分組中的哪一個、并且以何種速率以及在子流中的哪一個上發(fā)送來在多個子流414之間協(xié)調(diào)擁塞控制。
[0055]在本公開內(nèi)容的方面中,由多徑管理器420分配給相應(yīng)的子流的數(shù)據(jù)量可以根據(jù)健康度量來確定。這里,健康度量可以根據(jù)以下各種因素的函數(shù)來確定,例如:包括無線鏈路的一個或多個路徑的無線鏈路狀況;往返時間(RTT);擁塞窗口(CW);在與子流相對應(yīng)的重傳隊列中的分組數(shù)量等等。在一些例子中,健康度量可以包括時間戳或與所報告的度量相關(guān)聯(lián)的計數(shù)索引,使得可以使用最新接收的健康度量,并且如果可以丟棄期望的健康度量或健康度量的任何重復(fù)版本,則可以丟棄健康度量的較舊版本。此外,健康度量可以包括與路徑相關(guān)聯(lián)的指示符,與所述路徑相對應(yīng)的健康度量被報告。在一些例子中,健康度量可以包括與單個路徑相對應(yīng)的信息,而在其它例子中,健康度量可以包括與多個路徑相對應(yīng)的信息。這里,當(dāng)報告與多個路徑相對應(yīng)的信息時,與每個路徑相關(guān)聯(lián)的路徑指示符以及計數(shù)索引或時間戳連同用于相應(yīng)路徑的健康度量可以一起被發(fā)送。在其中提供了用于所有路徑的健康度量的例子中,計數(shù)索引或時間戳可以與整個消息、與后面跟著用于每個路徑的健康度量信息的路徑指示符相關(guān)聯(lián)。
[0056]圖5是示出了用于多徑TCP連接的、根據(jù)本公開內(nèi)容中的方面的用于無線通信的示例性過程500的流程圖。過程500可以由多徑管理器420、由處理系統(tǒng)114(見圖1)或者由用于執(zhí)行所描述的功能的任何其它適當(dāng)?shù)膯卧獙崿F(xiàn)。
[0057]在框502,所述過程可以通過在包括無線鏈路的第一路徑上的第一子流進行通信。例如,多徑管理器420可以通過在第一路徑上的子流406b進行通信,第一路徑包括在WffAN接口 408a與WffAN接入點306之間的無線鏈路。在框504,所述過程可以通過在第二路徑上的第二子流進行通信,其中第二路徑可以包括第二無線鏈路。例如,多徑管理器420可以通過在第二路徑上的子流406c進行通信,第二路徑包括在WffAN接口 408b與WffAN接入點308之間的無線鏈路。
[0058]在框506,所述過程可以在第一路徑或第二路徑中的至少一個上的第三子流上提供與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量。這里,所述健康度量還可以對應(yīng)于第二無線鏈路的質(zhì)量。例如,第三子流可以對應(yīng)于第一路徑上的UDP子流406a。在一些例子中,第三子流可以是與第一子流或第二子流中的一個相同的子流;而在其它例子中,第三子流可以是單獨的子流,不同于第一子流或第二子流。在其它例子中,可以在多個子流上(例如在第一子流和第二子流兩者上)發(fā)送健康度量,其中重復(fù)的健康度量消息可以被丟棄。在其中在其上提供健康度量的第三子流與在其上發(fā)送數(shù)據(jù)分組的第一子流或第二子流中的一個是相同的子流的例子中,可以以任何適當(dāng)?shù)母袷?諸如,舉例來說,專用的傳輸層消息)提供所述健康度量。
[0059]也就是說,在本公開內(nèi)容的一些方面中,控制信令(例如健康度量)的傳輸可以使用所建立的用于控制信令分組的單獨子流。建立用于控制信令分組的單獨子流可以提供在用于數(shù)據(jù)的子流上降低的延遲可能性、隊列積壓或TCP擁塞。這里,用于控制信令的子流可以與用于數(shù)據(jù)分組的一個或多個子流在同一路徑上,或者與所使用的用于數(shù)據(jù)分組的那些子流在不同的路徑上。在示出的例子中,子流406a與子流406b使用相同的路徑,S卩,這包括在第一無線接口 408a與WffAN接入點306之間的無線鏈路。可以將子流406b、406c和406d指定用于與在子流406a上發(fā)送的控制分組相對應(yīng)的數(shù)據(jù)分組。
[0060]舉一個例子,在非限制性的情況下,子流406a可以是用于攜帶諸如健康度量之類的控制信令分組而建立的UDP子流。以這一方式,通過使用用于控制信令的UDP,如本領(lǐng)域普通技術(shù)人員所公知的,可以是可能以可靠性為代價來加速時間敏感的控制信息的傳輸。也就是說,由于UDP缺少提供給TCP的糾錯和可靠性保障中的某些方面,因此需要較少的開銷以及因此使用該協(xié)議的控制分組可以較快地到達。這里,在本公開內(nèi)容的一些方面中,可以在UDP子流上使用冗余性,例如,通過使用諸如Reed-Solomon編碼中的那些碼之類的糾錯碼來編碼控制信息以改善信息傳送的可靠性。
[0061]根據(jù)本公開內(nèi)容的進一步方面,可以根據(jù)由健康度量指示的路徑的質(zhì)量來作出對用于相應(yīng)子流的建立和控制信令的傳輸?shù)奶囟窂降倪x擇。也就是說,多徑管理器420可以基于健康度量來選擇特定的路徑以建立用于控制信息的子流,所述健康度量指示該特定的路徑是最佳的路徑或者出于任何適當(dāng)?shù)脑蚴峭ㄟ^其發(fā)送控制信令的期望的路徑。
[0062]如上文所討論的,根據(jù)本公開內(nèi)容的方面,UDP子流406a可以由多徑TCP層管理。圖4中的說明示出了由多徑TCP層404管理的UDP子流406a。在本公開內(nèi)容的另一個方面中,用于控制信令的UDP子流可以是在應(yīng)用層處管理的UDP覆蓋段。在本公開內(nèi)容的另一個例子中,用于控制信令的子流可以是由多徑TCP層管理的TCP子流。在本公開內(nèi)容的另一個方面中,用于控制信令的子流可以是在應(yīng)用層處管理的TCP覆蓋段。因此,在本公開內(nèi)容的各個方面中,用于控制信令的子流可以通過TCP或UDP連接來提供,并且可能或可能不在多徑TCP層之下。
[0063]在本公開內(nèi)容的進一步的方面中,多徑管理器420可以臨時地或永久地將數(shù)據(jù)業(yè)務(wù)(例如上文相對于子流406b - 406d所描述的那樣)從TCP子流切換到UDP子流,使得數(shù)據(jù)分組可以通過UDP子流進行傳送。例如,TCP子流可以被更改成變?yōu)閁DP子流,或者分配給特定TCP子流的TCP流的一部分可以被重定向到所建立的UDP子流。這里,如上文相對于通過UDP子流提供的控制信息所討論的,通過UDP子流提供的數(shù)據(jù)分組可以使用適當(dāng)?shù)募m錯碼(例如Reed-Solomon碼或Raptor碼等)來編碼以改善傳送的可靠性。
[0064]圖6提供了示出涉及在多個子流之間分配TCP流的部分、根據(jù)本公開內(nèi)容的另一個方面的用于無線通信的示例性過程600的流程圖。這里,過程600可以由多徑管理器420或者更寬泛地說由多徑TCP層416實現(xiàn)。一般來說,過程600可以由如在圖1中所示出的適當(dāng)?shù)奶幚硐到y(tǒng)114或者由用于執(zhí)行所描述的功能的任何其它適當(dāng)?shù)膯卧獙崿F(xiàn)。
[0065]根據(jù)過程600,在框602,多徑管理器420可以接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量。這里,健康度量可以附加地包括與任何數(shù)量的無線鏈路(例如:由WWAN接口408a或408b使用的那些無線鏈路;或由WPAN接口 410使用的WPAN無線鏈路;或由代理312使用的WffAN接口)的質(zhì)量相關(guān)的信息。在任一種情況下,健康度量可以提供包括相應(yīng)無線鏈路的鏈路層性能特性的各種信息。例如,健康度量可以指示調(diào)制、編碼方案、鏈路的物理層吞吐量、分組錯誤率、比特錯誤率、或者任何其它適當(dāng)?shù)腗AC或鏈路層性能度量。
[0066]在本公開內(nèi)容的進一步的方面中,無線鏈路狀況可以包括所謂的有效吞吐量(goodput),有效吞吐量涉及有多少個“好的”字節(jié)成功地傳送通過鏈路,即考慮了待重傳的未確認分組。例如,在有效吞吐量中可以不對將被重傳的分組進行計數(shù)。
[0067]在本公開內(nèi)容的進一步的例子中,與健康度量相關(guān)聯(lián)的增加或減少趨勢可以由多徑管理器420檢測,以便對在路徑上的未來分組分布進行規(guī)劃。例如,如果f(t)表示在時間t處用于特定路徑的健康度量,則fp(t)可以表示基于當(dāng)前值Mtci)和估計的趨勢f’aj的預(yù)測版本的 f (t)。舉例來說:fp(t) = f (tQ)+f’ (t0) (t - t0)。
[0068]在另外的例子中,如果需要的話,可以使用高階項f’’ (t0)o當(dāng)預(yù)測健康度量中的這些趨勢時,對于特定路徑來說多徑管理器420可以使用預(yù)測版本的健康度量直到新的更新到來的那個時間為止,在該時間處可以使用新的健康度量。
[0069]這里,可以相對快速地傳送這些鏈路層度量,例如以數(shù)十毫秒到數(shù)百毫秒的數(shù)量級,使得能夠相對較快地適應(yīng)由多徑管理器420進行的對用于TCP流的分組的分配。這與傳輸層級度量相比毫不遜色,傳輸層級度量通常在反饋突發(fā)之間以數(shù)百毫秒到幾秒的數(shù)量級進行傳送。仍然地,根據(jù)本公開內(nèi)容的方面,無線鏈路狀況可以包括傳輸層級度量(當(dāng)其可用時),這包括諸如RTT或平滑RTT(SmRTT)、CW、傳輸層級吞吐量和傳輸層級重傳隊列中分組的數(shù)量之類的測量。
[0070]在框602,可以通過任何適當(dāng)?shù)淖恿鹘邮战】刀攘?,但在本公開內(nèi)容的一些方面中,可以通過被指定用于控制信令的Μ)Ρ子流406a接收健康度量。
[0071]在框604,多徑管理器420可以根據(jù)所接收的健康度量來確定要分配給多個子流中的每一個子流的TCP流的量。在框606,多徑管理器420可以將TCP流的第一部分分配給包括第一無線鏈路的第一路徑上的第一子流,并且在框608,多徑管理器420可以將TCP流的第二部分分配給第二路徑上的第二子流。因此,過程600可以基于健康度量來提供對在子流之間進行的數(shù)據(jù)的分配的適應(yīng)。
[0072]再一次回到圖4,如上文所討論的,在多徑TCP層416中的多徑管理器420的分組調(diào)度功能可以提供用于數(shù)據(jù)的連接層級區(qū)段的全局序列號。多徑TCP還可以使用用于每個子流414的較低層級序列號。也就是說,多徑TCP可以使用兩個序列號空間,這包括全局序列號空間和子流序列號空間。在具有兩個序列號空間的情況下,可以在多徑TCP層416或子流層414處執(zhí)行丟失分組的分段、重組和重傳。
[0073]在本公開內(nèi)容的方面中,還可以在每個子流414處使用TCP記分牌,以便出于子流層級確認和重傳的目的而跟蹤所發(fā)送的分組。此外,如下文所討論的,可以在多徑TCP層級使用重傳記分牌,以便跟蹤連接層級確認和重傳。
[0074]使用不同層級的序列號空間的一個特征在于多徑TCP能夠在連接層級以及在子流層級實現(xiàn)確認和重傳。在本公開內(nèi)容的方面中,當(dāng)由多徑管理器420接收的健康度量指示第二子流使用的路徑相比第一子流使用的路徑具有較高質(zhì)量時,該特征可以被推廣以使得在一個子流上發(fā)送的子流層級分組能夠在第二子流上進行重傳。
[0075]在常規(guī)的多徑TCP中,重傳的管理發(fā)生在子流層級,并且一旦確認分組,它隨后被傳送到多徑層級。然而,在本公開內(nèi)容的方面中,可以將至少一部分的重傳管理功能提升到多徑TCP層416。以這一方式,由于多徑TCP層416已接收了與多個路徑相對應(yīng)的健康度量,因此如果所述健康度量指示在特定子流上的重傳由于與該子流相對應(yīng)的路徑狀況而失敗時,則可以在其它路徑上嘗試分組重傳。因此,可以獨立于原始傳輸所使用的路徑而在最可行的路徑上嘗試重傳。
[0076]現(xiàn)在回到圖6,提供了示出涉及在第二子流上重傳最初在第一子流上發(fā)送的分組、根據(jù)本公開內(nèi)容的方面的用于無線通信的示例性過程650的又一個流程圖。如上文,過程650可以由多徑管理器420或者更寬泛地說由多徑TCP層416實現(xiàn)。一般來說,過程650可以由如在圖1中所示出的適當(dāng)?shù)奶幚硐到y(tǒng)114或者由用于執(zhí)行所描述的功能的任何其它適當(dāng)?shù)膯卧獙崿F(xiàn)。
[0077]在本公開內(nèi)容的一個方面中,過程650假設(shè)過程600已被執(zhí)行。因此,第一子流與已向其分配了至少一部分的TCP流的子流相對應(yīng),并且通過使用第一路徑的第一子流已發(fā)送了分組。根據(jù)過程650,在框610,多徑管理器420可以檢測通過第一子流發(fā)送的分組的丟失。這里,例如,通過檢測多個重復(fù)的確認,可以使用用于確定分組丟失的任何適當(dāng)?shù)倪^程,所述多個重復(fù)的確認用于確認相同的序列號。這樣的擱置(stall)或分組丟失可能出于任意數(shù)量的原因而產(chǎn)生,例如客戶端設(shè)備304進入具有差的WffAN信號的區(qū)域、由于深度衰落、干擾等。在框612,多徑管理器420可以接收指示第二路徑相比第一路徑具有較高質(zhì)量的健康度量。路徑的質(zhì)量可以對應(yīng)于上文討論的關(guān)于健康度量提供的參數(shù)中的任意一個或任意組合,包括但不限于,無線鏈路狀況、SmRTT, Cff等。
[0078]在框614,多徑管理器420可以通過第二路徑上的子流重傳擱置的分組。以這一方式,基于第二路徑相比第一路徑具有較高質(zhì)量的信息,分組將被接收的概率得到改善。因此,在框616,在接收端處通過第二子流成功地接收分組之后,多徑管理器420可以從接收端接收與在第二路徑上重傳的分組相對應(yīng)的確認。由于已接收了分組,因此在框618,多徑管理器420可以更新重傳記分牌以指示最初在第一路徑上發(fā)送的分組已經(jīng)被確認為已通過第二路徑被接收到。
[0079]也就是說,更新多徑-TCP-層級重傳記分牌以指示通過第二子流的重傳是成功的。這里,重傳記分牌可以與包括分組的全局序列號以及分組的子流層級序列號的重傳隊列相對應(yīng)。當(dāng)在第一子流上已發(fā)送了分組并且在第二子流上已重傳了所述分組時,所述分組可以具有多個子流層級序列號。以這一方式,重傳記分牌可以將子流層級序列號與全局序列號相關(guān),使得當(dāng)在一個子流上確認分組時,多徑層級可以管理在其它的子流上的重復(fù)的確認(如果它們出現(xiàn)的話)。也就是說,在通過第二子流進行的分組的重傳被確認之后,有可能的是第一路徑將恢復(fù)以及分組的原始傳輸將最終取得成功并且在子流層級被確認。重傳記分牌因此提供了對重復(fù)的確認的處理。這里,基于全局序列號,重傳記分牌可以發(fā)現(xiàn)分組早已根據(jù)通過在第二路徑上的第二子流進行的重傳來得到確認。因此,由重復(fù)的確認弓I起的潛在錯誤可以被減少或避免。
[0080]根據(jù)本公開內(nèi)容的方面,重傳隊列可以在單獨的專用重傳子流上實現(xiàn)。這里,重傳子流可以是TCP子流、UDP子流或覆蓋段(例如TCP覆蓋段或UDP覆蓋段)。
[0081]在本公開內(nèi)容的進一步的方面中,可以根據(jù)健康度量來作出對用于重傳子流的路徑中的一個路徑的選擇。也就是說,當(dāng)所接收的健康度量指示特定路徑是最佳路徑或者出于任何原因是期望的路徑時,多徑管理器420可以在相應(yīng)的路徑上建立重傳子流(或者,在另一個方面中,可以將現(xiàn)有的子流指定為重傳子流)。以這一方式,可以在好的路徑上提供重傳的分組,這增加了重傳的分組將被成功地接收的概率。
[0082]在本公開內(nèi)容的另一個方面中,可通過多個路徑上的多個子流來重復(fù)并提供控制信息,以便盡管路徑中的一個出現(xiàn)潛在的故障也能改善控制信息的可靠性。也就是說,雖然多徑TCP通常在多個路徑上分配數(shù)據(jù)流的各部分,但是通常在單個路徑上發(fā)送相應(yīng)的控制信令分組。這里,即使使用本公開內(nèi)容的方面,其中根據(jù)健康度量而動態(tài)地適應(yīng)在其上發(fā)送控制信息的路徑,該路徑的故障可導(dǎo)致至少控制信息的臨時丟失。
[0083]在該方面中,雖然健康度量可以有助于確定要使用哪些多個路徑用于控制信息,但因為多個路徑被用于攜帶重復(fù)的控制信息,因此健康度量可能沒有必要改善控制信令的可靠性。這里,去除與路徑狀況相關(guān)的反饋可以減少開銷。然而,在本公開內(nèi)容的一些方面中,健康度量的使用可以與控制信息在多個路徑上的重復(fù)相結(jié)合以進一步改善接收控制信息的可靠性。
[0084]圖7提供了示出通過多個路徑上的子流發(fā)送重復(fù)的控制信息、根據(jù)本公開內(nèi)容的方面的用于無線通信的示例性過程700的流程圖。這里,過程700可以由多徑管理器420、由處理系統(tǒng)114(見圖1)或者由用于執(zhí)行本文所描述的功能的任何適當(dāng)?shù)膯卧獙崿F(xiàn)。
[0085]在框702,所述過程可以通過第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分;以及在框704,所述過程通過第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分。例如,多徑管理器420可以通過第一子流和第二子流分配數(shù)據(jù)流的相應(yīng)部分。在框706,所述過程可以通過至少兩個路徑發(fā)送與第一子流和第二子流相對應(yīng)的重復(fù)的控制信息。例如,可以通過第一路徑和第二路徑發(fā)送重復(fù)的控制信息。在一些例子中,重復(fù)的控制信息可以使用與針對流的數(shù)據(jù)部分所使用的路徑不同的其它路徑。在進一步的例子中,可以在由多徑TCP層、UDP覆蓋段、TCP覆蓋段或上述的任意組合管理的TCP或UDP子流上攜帶控制信息。以這一方式,在重復(fù)的子流中的一個上的控制信令分組的丟失可能不會必然導(dǎo)致控制信令分組的丟失,因為在另一個路徑上還提供了分組的重復(fù)版本。
[0086]圖8和圖9是示出了使用隧道化的本公開內(nèi)容的另一個方面的框圖。也就是說,在上文所描述的例子中,源和目的節(jié)點兩者(例如應(yīng)用服務(wù)器302和客戶端304)是具有多徑TCP能力的。換句話說,應(yīng)用服務(wù)器302和客戶端304包括符合多徑TCP的軟件棧。然而,在本公開內(nèi)容的各個方面中,應(yīng)用服務(wù)器802可具有傳統(tǒng)TCP棧,并且可缺少多徑TCP功能。這里,雖然部署包括符合多徑TCP的軟件棧的客戶端設(shè)備804可能相對較容易,但使用具有多徑TCP能力的應(yīng)用服務(wù)器可能并不是選項。因此,在服務(wù)器具有傳統(tǒng)TCP棧的情況下,可以根據(jù)本公開內(nèi)容的各個方面來使用隧道化以實現(xiàn)多徑TCP。
[0087]在圖8中,客戶端設(shè)備804、代理812和WffAN接入點806、808和810可以與在圖3和圖4中所示出的它們的相應(yīng)節(jié)點基本相同。此外,網(wǎng)絡(luò)云814可以是諸如互聯(lián)網(wǎng)之類的任何適當(dāng)?shù)木W(wǎng)絡(luò)。這里,網(wǎng)絡(luò)云814包括多徑傳輸隧道化服務(wù)器816以用于實現(xiàn)多徑TCP流到應(yīng)用服務(wù)器802的隧道化。圖9是示出了圖8中的一些節(jié)點的示意性示圖,以示出在多徑傳輸隧道化服務(wù)器816和應(yīng)用服務(wù)器802處的軟件棧從而進一步說明隧道化。
[0088]這里,多徑傳輸隧道化服務(wù)器816擔(dān)當(dāng)了具有多徑能力的應(yīng)用服務(wù)器302的部分角色,這包括與相應(yīng)的WWAN接入點806、808和810相連接。多徑傳輸隧道化服務(wù)器816包括用于管理多個子流820的多徑TCP層818。這里,多徑傳輸隧道化服務(wù)器合并子流并且將流呈現(xiàn)給應(yīng)用服務(wù)器802。在本公開內(nèi)容的方面中,可以將流呈現(xiàn)給應(yīng)用服務(wù)器802作為常規(guī)的TCP流。以這樣的方式,可以將多徑傳輸?shù)囊嫣?包括本公開內(nèi)容的方面,其中健康度量對應(yīng)于無線鏈路的狀況、或者控制信令分組在多個路徑上的重復(fù))提供給在客戶端804與缺少多徑TCP能力的常規(guī)應(yīng)用服務(wù)器802之間的流。
[0089]提供了前文的描述以使得本領(lǐng)域任何技術(shù)人員能夠?qū)嵤┍疚乃枋龅母鱾€方面。對于本領(lǐng)域技術(shù)人員來說,對這些方面的各種修改將是顯而易見的,并且可以將本文所定義的一般性原理應(yīng)用于其它方面。因此,權(quán)利要求并不旨在受限于本文所示出的方面,而是要符合與權(quán)利要求用語相一致的全部范圍,其中,除非特別聲明,以單數(shù)形式引用元素并不旨在表示“一個且僅有一個”,而是“一個或多個”。除非另外特別聲明,否則術(shù)語“一些”是指一個或多個。提到多項的列表“中的至少一個”的短語是指那些項的任意組合,包括單個成員。舉例而言,“a、b或c中的至少一個”旨在于覆蓋:a ;b ;c ;a和b ;a和c ;b和c ;以及
a、b和C。貫 穿本公開內(nèi)容所描述的各個方面的要素的所有結(jié)構(gòu)性和功能性等效項對于本領(lǐng)域技術(shù)人員來說是已知的或即將成為已知的,其通過引用方式被明確地并入本文,并且旨在由權(quán)利要求所涵蓋。此外,本文中沒有任何公開內(nèi)容旨在奉獻給公眾,不管這樣的公開內(nèi)容是否明確地記載在權(quán)利要求中。除非使用短語“用于……的單元”來明確地記載權(quán)利要求要素,或者在方法權(quán)利要求的情況中使用短語“用于……的步驟”來記載權(quán)利要求要素,否則不得根據(jù)35U.S.C.§ 112的第六段的規(guī)定來解釋任何權(quán)利要求要素。
【權(quán)利要求】
1.一種用于通過多徑TCP連接進行無線通信的方法,包括: 通過第一路徑上的第一子流進行通信,所述第一路徑包括第一無線鏈路; 通過第二路徑上的第二子流進行通信;以及 提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量, 其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一無線鏈路的質(zhì)量包括所述第一無線鏈路的鏈路層特性,所述第一無線鏈路的鏈路層特性包括與所述第一無線鏈路相對應(yīng)的以下各項中的至少一項:調(diào)制方案、編碼方案、信號強度、物理層吞吐量、分組錯誤率或比特錯誤率。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述第一無線鏈路的質(zhì)量包括與所述第一無線鏈路相對應(yīng)的有效吞吐量。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述第一無線鏈路的質(zhì)量包括所述第一路徑的TCP層特性,所述第一路徑的TCP層特性包括以下各項中的至少一項:擁塞窗口、往返時間、平滑往返時間、傳輸層級吞吐量或在相應(yīng)重傳隊列中的分組的數(shù)量。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述第二路徑包括第二無線鏈路,以及其中,所述健康度量還對應(yīng)于所述第二無線鏈路的質(zhì)量。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述第一子流包括與多徑TCP流相對應(yīng)的TCP子流;以及其中,所述第二子流包括與所述多徑TCP流相對應(yīng)的TCP子流。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述第三子流包括UDP覆蓋段。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述第三子流包括TCP覆蓋段。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述第三子流包括由多徑TCP實體管理的TCP子流。
10.根據(jù)權(quán)利要求1所述的方法,其中,所述第三子流包括由多徑TCP實體管理的UDP子流。
11.根據(jù)權(quán)利要求1所述的方法,還包括:通過所述第一子流或所述第二子流中的一個發(fā)送對應(yīng)于所接收的分組的確認。
12.根據(jù)權(quán)利要求11所述的方法,還包括:確定所接收的分組是否是已發(fā)送的確認所針對的重復(fù)分組。
13.根據(jù)權(quán)利要求1所述的方法, 其中所述第一路徑包括在源處的第一 IP地址和在目的地處的第二 IP地址,以及 其中所述第二路徑包括在所述源處的第三IP地址和在所述目的地處的第四IP地址。
14.根據(jù)權(quán)利要求13所述的方法,其中,所述第一IP地址不同于所述第三IP地址。
15.根據(jù)權(quán)利要求13所述的方法,其中,所述第二IP地址不同于所述第四IP地址。
16.根據(jù)權(quán)利要求1所述的方法,其中,所述健康度量還對應(yīng)于往返時間和擁塞窗口。
17.一種用于通過多徑TCP連接進行無線通信的方法,包括: 接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量; 將TCP流的第一部分分配給第一路徑上的第一子流,所述第一路徑包括所述第一無線鏈路;以及將所述TCP流的第二部分分配給第二路徑上的第二子流, 其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
18.根據(jù)權(quán)利要求17所述的方法,還包括: 根據(jù)所述健康度量指示所述第二路徑相比所述第一路徑具有較高的質(zhì)量,將通過所述第一子流發(fā)送的分組在所述第二子流上進行重傳。
19.根據(jù)權(quán)利要求18所述的方法,其中,所述重傳包括:使用所述第二路徑上的所述第二子流。
20.根據(jù)權(quán)利要求18所述的方法,其中,所述重傳包括:使用所述第二路徑上的第三子流。
21.根據(jù)權(quán)利要求18所述的方法,還包括: 接收與在所述第二路徑上發(fā)送的所述分組相對應(yīng)的確認;以及 更新重傳記分牌以指示在所述第一路徑上發(fā)送的所述分組已在所述第二路徑上被確認。
22.根據(jù)權(quán)利要求17所述的方法,其中,接收所述健康度量包括:通過UDP覆蓋段接收信息。
23.根據(jù)權(quán)利要求17所述的方法,其中,接收所述健康度量包括:通過所述第一路徑或所述第二路徑中的至少一個上的第三子流接收信息。
24.根據(jù)權(quán)利要求17所述的方法,還包括: 確定與所述健康度量的趨勢相對應(yīng)的預(yù)測的健康度量,所述趨勢與所述健康度量在時間上的變化相對應(yīng), 其中所述第一部分的量和所述第二部分的量是進一步根據(jù)所述預(yù)測的健康度量來確定的。
25.一種用于通過包括多個路徑的多徑TCP連接進行無線通信的方法,所述方法包括: 通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分; 通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分;以及通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
26.一種用于通過多徑TCP連接進行無線通信的裝置,包括: 用于通過第一路徑上的第一子流進行通信的單元,所述第一路徑包括第一無線鏈路; 用于通過第二路徑上的第二子流進行通信的單元;以及 用于提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的單元, 其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
27.一種用于通過多徑TCP連接進行無線通信的裝置,包括: 用于接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的單元; 用于將TCP流的第一部分分配給第一路徑上的第一子流的單元,所述第一路徑包括所述第一無線鏈路;以及 用于將所述TCP流的第二部分分配給第二路徑上的第二子流的單元, 其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
28.一種用于通過包括多個路徑的多徑TCP連接進行無線通信的裝置,所述裝置包括: 用于通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分的單元; 用于通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分的單元;以及 用于通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息的單元,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
29.一種用于通過多徑TCP連接進行無線通信的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括: 計算機可讀介質(zhì),其包括: 用于使計算機通過第一路徑上的第一子流進行通信的指令,所述第一路徑包括第一無線鏈路; 用于使計算機通過第二路徑上的第二子流進行通信的指令;以及 用于使計算機提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的指令, 其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度 量。
30.一種用于通過多徑TCP連接進行無線通信的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括: 計算機可讀介質(zhì),其包括: 用于使計算機接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量的指令; 用于使計算機將TCP流的第一部分分配給第一路徑上的第一子流的指令,所述第一路徑包括所述第一無線鏈路;以及 用于使計算機將所述TCP流的第二部分分配給第二路徑上的第二子流的指令, 其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
31.一種用于通過包括多個路徑的多徑TCP連接進行無線通信的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括: 計算機可讀介質(zhì),其包括: 用于使計算機通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分的指令; 用于使計算機通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分的指令;以及 用于使計算機通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息的指令,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信肩、O
32.一種用于通過多徑TCP連接進行無線通信的裝置,包括: 至少一個處理器;以及 耦合到所述至少一個處理器的存儲器, 其中所述至少一個處理器被配置為: 通過第一路徑上的第一子流進行通信,所述第一路徑包括第一無線鏈路; 通過第二路徑上的第二子流進行通信;以及提供與所述第一無線鏈路的質(zhì)量相對應(yīng)的健康度量, 其中在所述第一路徑或所述第二路徑中的至少一個上的第三子流上提供所述健康度量。
33.一種用于通過多徑TCP連接進行無線通信的裝置,包括: 至少一個處理器;以及 耦合到所述至少一個處理器的存儲器, 其中所述至少一個處理器被配置為: 接收與第一無線鏈路的質(zhì)量相對應(yīng)的健康度量; 將TCP流的第一部分分配給第一路徑上的第一子流,所述第一路徑包括所述第一無線鏈路;以及 將所述TCP流的第二部分分配給第二路徑上的第二子流, 其中所述第一部分的量和所述第二部分的量是根據(jù)所述健康度量來確定的。
34.一種用于通過包括多個路徑的多徑TCP連接進行無線通信的裝置,所述裝置包括: 至少一個處理器;以及 耦合到所述至少一個處理器的存儲器, 其中所述至少一個處理器被配置為: 通過所述多個路徑中的第一路徑上的第一子流發(fā)送數(shù)據(jù)流的第一部分; 通過所述多個路徑中的第二路徑上的第二子流發(fā)送數(shù)據(jù)流的第二部分;以及通過所述多個路徑中的至少兩個路徑發(fā)送與所述第一子流和所述第二子流相對應(yīng)的控制信息,其中在所述至少兩個路徑中的每一個上重復(fù)所述控制信息。
【文檔編號】H04L12/801GK103918304SQ201280054249
【公開日】2014年7月9日 申請日期:2012年9月14日 優(yōu)先權(quán)日:2011年9月22日
【發(fā)明者】D·克里希納斯瓦米, D·G·卡文迪什, S·S·索利曼 申請人:高通股份有限公司