多路徑tcp子流的建立與控制系統(tǒng)和方法【專利摘要】本發(fā)明公開涉及多路徑TCP子流的建立與控制系統(tǒng)和方法。公開了用于電子裝置控制多路徑傳輸控制協(xié)議(MPTCP)連接的技術??梢栽趦蓚€端點之間建立MPTCP連接。該MPTCP連接可以包括至少一個MPTCP子流。對于該MPTCP連接,端點中的至少一個可以配置成充當主端點。主端點可以在MPTCP連接上執(zhí)行一種或多種控制操作,而如果端點中的一個不是主端點時,那么那個端點不能在MPTCP連接上執(zhí)行控制操作??刂撇僮骺梢园▎踊蚪⑿碌腗PTCP子流或修改MPTCP連接的一個或多個MPTCP子流的優(yōu)先級?!緦@f明】多路徑TCP子流的建立與控制系統(tǒng)和方法【
技術領域:
】[0001]本公開內(nèi)容涉及電子裝置,更具體地,涉及用于無線裝置建立和控制多路徑TCP子流的系統(tǒng)和方法?!?br>背景技術:
】[0002]無線通信系統(tǒng)的使用在迅速地增長。此外,存在多種不同的無線通信技術和標準。無線通信標準的一些例子包括GSM、UMTS(WCDMA)、LTE、高級LTE(LTE-A)、3GPP2CDMA2000(例如,IxRTTUxEV-DO,HRPD,eHRPD)、IEEE802.11(ffLAN或W1-Fi)、IEEE802.16(WiMAX)、藍牙及其它。[0003]這些標準中的一些可用作互補的功能,而其它的通??梢员徽J為是競爭對手,試圖實現(xiàn)消費者中類似的需求。因此,對于至少一些無線裝置來說,利用多種無線技術或標準進行通信是常見的。例如,一些無線裝置(諸如一些智能電話等)可以能夠進行蜂窩通信以及W1-Fi通信?!?br/>發(fā)明內(nèi)容】[0004]本文給出了用于電子裝置建立和配置多路徑TCP(MPTCP)連接和子流的控制的方法以及配置成實現(xiàn)該方法的電子裝置的實施例。[0005]本文描述了用于建立MPTCP連接的技術,其中可以考慮不同類型網(wǎng)絡接口的不同特性。例如,值得注意的是許多無線(例如,移動)裝置可以包括能夠提供數(shù)據(jù)鏈接的W1-Fi和蜂窩網(wǎng)絡接口,而許多服務器(及其它固定的/不動的裝置)可以主要或者專門包括有線網(wǎng)絡接口。[0006]由于不同的網(wǎng)絡接口可能具有不同的可用性,并且關于不同網(wǎng)絡接口的使用首選項(usepreference)通常可能不同,因此,根據(jù)本文給出的一些技術,裝置在確定如何并且以什么順序嘗試建立MPTCP連接時可以監(jiān)視其網(wǎng)絡接口的可用性和/或考慮特定于裝置或裝置種類的網(wǎng)絡接口使用首選項。[0007]本文還描述了用于控制MPTCP連接的技術。再次考慮不同類型網(wǎng)絡接口的不同特性以及實現(xiàn)那些各種類型網(wǎng)絡接口的裝置,根據(jù)本文給出的一些技術,裝置可以針對MPTCP連接斷言(assert)控制權(controllership)/聲明自己是主裝置,或者相反,可以針對MPTCP連接斷言無控制權/聲明自己是從裝置。以這種方式,具有較強網(wǎng)絡接口使用首選項的裝置(諸如移動裝置,在有些情況下)可以根據(jù)它們的網(wǎng)絡接口使用首選項來控制MPTCP連接,而具有較弱或不存在網(wǎng)絡接口使用首選項的裝置(諸如固定/不動的裝置,在有些情況下)可以避免無意識地違背與其建立MPTCP連接的裝置的網(wǎng)絡接口使用首選項。[0008]在假定針對MPTCP連接作為主裝置或從裝置的角色時,裝置可以承擔或者放棄對MPTCP連接執(zhí)行某些控制操作的能力。例如,啟動MPTCP連接的任何新MPTCP子流的許可可以為針對MPTCP連接承擔了主裝置角色的裝置保留。作為另一個例子,修改MPTCP連接的MPTCP子流的優(yōu)先級級別的許可可以為針對MPTCP連接承擔了主裝置角色的裝置保留。[0009]本文所描述的技術可以在多種不同類型的裝置中實現(xiàn)和/或與這些裝置一起使用,這些裝置包括但不限于便攜式媒體播放器、蜂窩電話、平板電腦、機頂盒裝置、電視系統(tǒng)、服務器、及其它計算裝置。[0010]根據(jù)本公開實施例的一個方面,提供了一種無線用戶設備(UE)裝置。該UE裝置包括:W1-Fi網(wǎng)絡接口,蜂窩網(wǎng)絡接口,和可操作地耦合到所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口的處理元件。所述UE配置成:嘗試通過所述W1-Fi網(wǎng)絡接口與遠程端點建立多路徑傳輸控制協(xié)議(MPTCP)子流;如果通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立MPTCP子流的嘗試不成功,那么嘗試通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接;如果通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接的嘗試不成功,那么嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP子流;及如果通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP連接的嘗試不成功,那么嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接。[0011]根據(jù)本公開實施例的一個方面,提供了一種用于無線裝置與遠程端點建立多路徑TCP(MPTCP)連接的方法。所述無線裝置包括W1-Fi網(wǎng)絡接口和蜂窩網(wǎng)絡接口。所述方法包括:接收指示所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口中每一個的可用狀態(tài)的信息;及嘗試與遠程端點建立MPTCP子流。如果所述W1-Fi網(wǎng)絡接口可用,那么優(yōu)先地通過所述W1-Fi網(wǎng)絡接口執(zhí)行與所述遠程端點建立MPTCP子流的所述嘗試。[0012]根據(jù)本公開實施例的一個方面,提供了一種無線裝置,包括:第一網(wǎng)絡接口;第二網(wǎng)絡接口;可操作地耦合到所述第一網(wǎng)絡接口和所述第二網(wǎng)絡接口的處理元件。所述無線裝置配置成:接收啟動與遠程端點的TCP會話的指示;確定所述無線裝置的第一網(wǎng)絡接口當前是否可用;確定所述無線裝置的第二網(wǎng)絡接口當前是否可用;如果確定所述無線裝置的第一網(wǎng)絡接口當前可用,那么嘗試通過所述第一網(wǎng)絡接口與所述遠程端點建立MPTCP子流;及如果確定所述第一網(wǎng)絡接口當前不可用并且所述第二網(wǎng)絡接口當前可用,或者如果所述第一MPTCP子流被成功地建立并且所述第二網(wǎng)絡接口也可用,那么嘗試通過所述第二網(wǎng)絡接口與所述遠程端點建立MPTCP子流。[0013]本概要旨在提供在本文檔中所描述的一些主題的簡要概述。因此,應當理解,上述特征僅僅是例子并且不應當理解為以任何方式縮小本文所述主題的范圍或主旨。根據(jù)以下【具體實施方式】、【專利附圖】【附圖說明】以及權利要求,本文所述主題的其它特征、方面和優(yōu)點將變得顯然?!緦@綀D】【附圖說明】[0014]當結合以下附圖考慮下面優(yōu)選實施例的詳細描述時,能夠獲得對本主題更好的理解,其中:[0015]圖1-2說明了示例性(及簡化的)無線通信系統(tǒng);[0016]圖3說明了與無線用戶設備裝置通信的蜂窩基站和W1-Fi接入點;[0017]圖4說明了無線用戶設備裝置的示例性框圖;[0018]圖5說明了可以與多路徑傳輸控制協(xié)議通信結合使用的示例性協(xié)議棧;[0019]圖6是說明用于建立MPTCP連接的技術的方面的流程圖;及[0020]圖7是說明示例性消息序列的消息序列圖,其中該示例性消息序列可以用作建立MPTCP連接的一部分。[0021]圖8說明發(fā)送方MP_Capable選項的示例性格式。[0022]圖9說明接收方MP_Capable選項的示例性格式。[0023]雖然本文所述的特征很容易有各種修改和替換形式,但是其具體實施例作為例子在附圖中示出并且在本文進行詳細描述。但是,應當理解,附圖和對其的詳細說明不是要限制到所公開的特定形式,相反,其旨在覆蓋屬于由所附權利要求定義的主題的主旨和范圍的所有修改、等同和替代?!揪唧w實施方式】[0024]術語[0025]以下是在本公開中使用的術語匯編:[0026]存儲器介質(zhì)-各種類型的存儲器裝置或存儲裝置中的任一個。術語“存儲器介質(zhì)”旨在包括例如⑶-ROM、軟盤、或帶裝置(tapedevice)的安裝介質(zhì);諸如DRAM、DDRRAM、SRAM,EDORAM,RambusRAM等的計算機系統(tǒng)存儲器或隨機存取存儲器;諸如閃存、例如硬盤的磁介質(zhì)、或光存儲的非易失性存儲器;寄存器或其它類似類型的存儲器元件等。存儲器介質(zhì)也可以包括其它類型的存儲器或其組合。此外,存儲器介質(zhì)可以位于在其中執(zhí)行程序的第一計算機系統(tǒng)中,或者可以位于經(jīng)諸如互聯(lián)網(wǎng)的網(wǎng)絡連接到第一計算機系統(tǒng)的不同的第二計算機系統(tǒng)。在后一種情況下,第二計算機系統(tǒng)可以向第一計算機系統(tǒng)提供用于執(zhí)行的程序指令。術語“存儲器介質(zhì)”可以包括可駐于不同位置的兩種或更多的存儲器介質(zhì),例如在經(jīng)網(wǎng)絡連接的不同計算機系統(tǒng)中。存儲器介質(zhì)可以存儲可以由一個或多個處理器執(zhí)行的程序指令(例如,體現(xiàn)為計算機程序)。[0027]載體介質(zhì)(carriermedium)-如上所述的存儲器介質(zhì),以及物理傳輸介質(zhì),諸如總線、網(wǎng)絡、和/或傳遞諸如電、電磁或數(shù)字信號的其它物理傳輸介質(zhì)。[0028]可編程硬件元件-包括各種包含多種經(jīng)可編程互連連接的可編程功能塊的硬件裝置。例子包括FPGA(現(xiàn)場可編程門陣列)、PLD(可編程邏輯器件)、FPOA(現(xiàn)場可編程對象陣列),及CPLD(復雜PLD)??删幊坦δ軌K可以是從細粒度(組合邏輯或查找表)到粗粒度(算術邏輯單元或處理器核心)的范圍??删幊逃布部梢苑Q作“可重新配置的邏輯”。[0029]計算機系統(tǒng)-各種類型的計算或處理系統(tǒng)——包括個人計算機系統(tǒng)(PC)、大型計算機系統(tǒng)、工作站、網(wǎng)絡家電設備、互聯(lián)網(wǎng)家電設備、個人數(shù)字助理(PDA)、個人通信裝置、智能電話、電視系統(tǒng)、網(wǎng)格計算系統(tǒng)——或其它裝置或以上裝置的組合中的任一個。一般來說,術語“計算機系統(tǒng)”可廣義地定義為包括任何具有至少一個執(zhí)行來自存儲器介質(zhì)的指令的處理器的裝置(或裝置的組合)。[0030]用戶設備(UE)(或“UE裝置移動的或便攜的并且執(zhí)行無線通信的各種類型的計算機系統(tǒng)裝置中的任一個。UE裝置的例子包括移動電話或智能電話(例如iPhone?,基于Android?的電話)、便攜式游戲裝置(例如,任天堂DS?、PlayStat1nPortable?、GameboyAdvance?,iPhone?)、膝上型電腦、PDA、便攜式互聯(lián)網(wǎng)裝置、音樂播放器、數(shù)據(jù)存儲裝置、或其它手持裝置等。一般來說,術語“UE”或“UE裝置”可以廣義地定義為包括任何可由用戶容易攜帶并能進行無線通信的電子、計算和/或通信裝置(或裝置的組合)。[0031]基站-術語“基站”具有其一般含義的全部范圍,并且至少包括在固定位置安裝的并且用來作為無線電話系統(tǒng)或無線電系統(tǒng)的一部分進行通信的無線通信站。[0032]處理元件-指各種元件或元件的組合。處理元件包括例如,諸如ASIC(專用集成電路)的電路、各個處理器核的部分或電路、整個處理器核、各個處理器、諸如現(xiàn)場可編程門陣列(FPGA)的可編程硬件裝置、和/或包括多個處理器的系統(tǒng)的較大部分。[0033]自動地-指由計算機系統(tǒng)(例如,由該計算機系統(tǒng)執(zhí)行的軟件)或裝置(例如,電路系統(tǒng)、可編程硬件元件、ASIC等)執(zhí)行的動作或操作,而不需直接規(guī)定或執(zhí)行該動作或操作的用戶輸入。因此,術語“自動地”與由用戶手動地執(zhí)行或規(guī)定的操作——其中用戶提供輸入以直接執(zhí)行操作——相反。自動過程可以通過由用戶提供的輸入啟動,但是隨后“自動地”執(zhí)行的動作不是由用戶規(guī)定的,即,不是其中由用戶規(guī)定要執(zhí)行的每一個動作的“手動地”執(zhí)行的。例如,通過選擇每一個字段并且提供規(guī)定信息的輸入(例如,通過鍵入信息、選擇復選框、單選選項等)的填寫電子表格的用戶是手動地填寫電子表格,即使該計算機系統(tǒng)響應用戶動作必須更新表格。該表格可以由計算機系統(tǒng)自動地填寫,其中計算機系統(tǒng)(例如,在計算機系統(tǒng)上執(zhí)行的軟件)分析表格的字段并填寫表格,而無需任何用戶輸入來規(guī)定到這些字段的答案。如以上指出的,用戶可以調(diào)用表格的自動填寫,但不參與該表格的實際填寫(例如,用戶不手動地規(guī)定到字段的答案,而是這些字段被自動地完成)。本說明書提供了響應用戶已采取的動作而自動執(zhí)行的操作的各種例子。[0034]圖1-2-通信系統(tǒng)[0035]圖1-2說明了示例性(和簡化的)通信系統(tǒng)。應當指出,圖1-2的系統(tǒng)僅僅是可能系統(tǒng)的例子,如所期望的,實施例可以在各種系統(tǒng)的任一個中實現(xiàn)。[0036]在圖1中說明的示例性無線通信系統(tǒng)包括兩個端點,在兩個端點之間具有多條通信路徑。因此,端點102可以能夠經(jīng)路徑106或路徑108與端點104進行通信。[0037]端點102和端點104中的每一個都可以是“固定的”或“移動的”端點。固定的端點可以是基本上不動的和/或利用一種或多種有線通信技術通信的端點。有些例子可能包括經(jīng)互聯(lián)網(wǎng)提供基于云的服務的服務器計算機、個人臺式計算機或工作站、機頂盒或電視等。移動端點可以是基本上移動的和/或利用一種或多種無線通信技術通信的端點。有些例子可能包括移動電話或智能電話、平板電腦、便攜式游戲裝置、便攜式媒體播放器等。注意,共享固定和移動端點兩者特性的混合端點也是可能的。例如,許多膝上型電腦可以能夠執(zhí)行無線(例如,W1-Fi)和有線(例如,因特網(wǎng))通信,并且此外可以能夠在各個時間基本上是移動的(例如,當從電池備用電源工作時)或可以基本上是不動的(例如,當對接在擴展塢上時和/或連接到墻的電源插座用電時)。[0038]端點102、104中的一個或兩者可以是多重連接(multihomed)的。例如,端點102、104中的一個或兩者可以能夠經(jīng)多種網(wǎng)絡接口進行通信。因此,在端點102、104之間可以有多條可能的通信路徑106、108。注意,盡管在圖1中說明了兩條路徑(即,路徑106和路徑108),但是應當指出,在端點之間可以存在任意數(shù)量的路徑。例如,如果端點102、104中的每一個都能夠經(jīng)兩種不同的網(wǎng)絡接口進行通信,那么在它們之間就會有四種可能的通信路徑。其它數(shù)量的不同網(wǎng)絡接口與可能的通信路徑也是可能的。[0039]多條通信路徑106、108可以用來在端點102和104之間建立多路徑傳輸控制協(xié)議(MPTCP)鏈接或連接。例如,MPTCP連接的一個子流可以通過路徑106建立,而MPTCP連接的另一個子流可以通過路徑108建立。這種MPTCP連接可以根據(jù)本公開的各個方面來建立和配置/控制。[0040]在圖2中說明的示例性無線通信系統(tǒng)代表具有圖1中說明的示例性無線通信系統(tǒng)特性的一種可能的通信系統(tǒng)。具體而言,第一端點(即,無線用戶設備(“UE”)裝置206)可以能夠利用第一通信路徑(即,經(jīng)蜂窩基站204、核心網(wǎng)絡208、及廣域網(wǎng)200)或第二通信路徑(即,經(jīng)W1-Fi接入點202和廣域網(wǎng)200)與另一個端點(即,服務器210)進行通信。[0041]如圖所示,UE裝置206與W1-Fi接入點202和蜂窩基站204通信。接入點202可以是提供無線局域網(wǎng)(WLAN)的接入點。接入點202可以裝備成與諸如互聯(lián)網(wǎng)的廣域網(wǎng)(WAN)200通信。因此,接入點202可有助于UE206和網(wǎng)絡200之間的通信。接入點202和UE206可以配置成利用W1-Fi在傳輸介質(zhì)上通信,其中W1-Fi包括各種版本的IEEE802.11(例如,a、b、g、n、ac等)中的任一個。注意,接入點202還可有助于UE和其它也直接加入到WLAN的計算裝置之間的通信。[0042]基站204可以是基站收發(fā)信臺(BTS)或小區(qū)站點(“蜂窩基站”),并且可以包括根據(jù)一種或多種蜂窩通信協(xié)議啟用與蜂窩裝置(諸如UE206)的無線通信的硬件。UE206和蜂窩基站204可以利用各種蜂窩通信技術中的任一種進行通信,這些技術諸如GSM、UMTS(WCDMA)、LTE、高級LTE(LTE-A)、3GPP2CDMA2000(例如,lxRTT,IxEV-DO,HRPD、eHRPD)坐寸ο[0043]如圖所示,蜂窩基站可以裝備成與蜂窩服務提供商的核心網(wǎng)絡208進行通信。因此,基站204可有助于UE206與核心網(wǎng)絡208之間的通信。核心網(wǎng)絡208又可以裝備成與WAN200(例如,互聯(lián)網(wǎng)或另一個廣域網(wǎng))通信。注意,核心網(wǎng)208還可以或備選地裝備成與一種或多種其它網(wǎng)絡(例如,諸如公共交換電話網(wǎng)(PSTN)的電信網(wǎng)絡、其它蜂窩服務供應商的一種或多種核心網(wǎng)絡等)通信。因此,蜂窩基站204可以向UE206(及潛在的多個其它UE)提供各種電信能力,諸如(例如,通常經(jīng)電路交換無線鏈接的)語音和SMS服務和/或(例如,通常經(jīng)分組交換無線鏈接的)數(shù)據(jù)服務。[0044]因此,UE206可以能夠利用多種無線通信標準進行通信,這些標準包括至少一種無線聯(lián)網(wǎng)協(xié)議(例如,W1-Fi)和至少一種蜂窩通信協(xié)議(例如,GSM、UMTS(WCDMA)、LTE、高級LTE(LTE-A),3GPP2CDMA2000(例如,lxRTT,IxEV-DO,HRPD,eHRPD)等)。另外注意,如果期望的話,UE206還可以或備選地配置成利用一種或多種全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS,例如GPS或GL0NASS)、一種或多種移動電視廣播標準(例如,ATSC-M/H或DVB-Η)、和/或任何其它無線通信協(xié)議進行通信。此外,或作為備選,UE206可以能夠利用一種或多種有線通信標準進行通信。例如,UE206可以能夠例如經(jīng)以太網(wǎng)與一個或多個有線接入點進行通信。例如,除了利用W1-Fi進行通信之外或者作為利用W1-Fi進行通信的替代,UE206可能經(jīng)有線的方式耦合到W1-Fi接入點202。無線和有線通信標準的其它組合(包括多于兩種的無線和/或有線通信標準)也是可能的。[0045]服務器210還可以裝備成與WAN200通信。服務器210可以是例如配置成經(jīng)互聯(lián)網(wǎng)提供基于云的服務的服務器機群中的服務器。應當指出,雖然服務器210示出為直接連接到WAN200,但是也可能是服務器210通過一個或多個中間裝置和/或諸如網(wǎng)關、路由器、防火墻、和/或任何各種其它“中間件”的實體連接到WAN200的情況。此外,應當指出,雖然未明確示出,但是服務器210可以包括用于連接到WAN200的任意數(shù)量的網(wǎng)絡接口,包括一個或多個有線網(wǎng)絡接口和/或一個或多個無線網(wǎng)絡接口。[0046]圖3說明與蜂窩基站204和W1-Fi接入點202通信的UE裝置206。UE206可以是帶有多個無線網(wǎng)絡連接的裝置,諸如移動電話、手持裝置、計算機或平板電腦、或者幾乎任意類型的無線裝置。[0047]UE206可以包括配置成執(zhí)行存儲在存儲器中的程序指令的處理器。UE206可以通過執(zhí)行這種存儲的指令執(zhí)行本文描述的任何方法實施例。作為備選或附加地,UE206可以包括諸如FPGA(現(xiàn)場可編程門陣列)的可編程硬件元件,其配置成執(zhí)行本文所描述的任何方法實施例,或本文所描述的任何方法實施例的任意部分。[0048]UE206可以配置成利用多種無線通信協(xié)議中的任一種進行通信。例如,UE206可以配置成利用至少一種蜂窩通信協(xié)議(諸如CDMA2000、LTE、LTE-A等)和W1-Fi進行通信。無線和/或有線通信標準的其它組合也是可能的。[0049]UE206可以包括一個或多個天線,用于利用一個或多個無線通信協(xié)議進行通信。UE206可以共享多種無線通信標準之間的接收和/或發(fā)送鏈的一個或多個部分;例如,UE206可能配置成使用利用部分或完全共享的無線通信電路(例如,利用共享的無線電或至少共享的無線電組件)的CDMA2000(IxRTT/1xEV-DO/HRPD/eHRPD)或LTE進行通信。該共享的通信電路系統(tǒng)可以包括用于執(zhí)行無線通信的單個天線或者多個天線(例如,用于ΜΙΜ0)。備選地,UE206可以為每一種配置成利用其進行通信的無線通信協(xié)議包括獨立的發(fā)送和/或接收鏈(例如,包括獨立的天線和其它無線電組件)。作為還有的可能性,UE206可以包括一個或多個在多種無線通信協(xié)議之間共享的無線電或無線電組件,以及一個或多個由單個無線通信協(xié)議專用的無線電或無線電組件。例如,UE206可能包括用于利用LTE或CDMA20001xRTT進行通信的共享的無線電,以及用于利用W1-Fi和藍牙中的每一個進行通信的獨立的無線電。其它配置也是可能的。[0050]圖4-UE的示例件框圖[0051]圖4說明了UE206的示例性框圖。如圖所示,UE206可以包括片上系統(tǒng)(S0C)400,片上系統(tǒng)400可以包括用于各種用途的部分。例如,如圖所示,S0C400可以包括可以為UE206執(zhí)行程序指令的處理器402和可以執(zhí)行圖形處理并向顯示器460提供顯示信號的顯示電路404。處理器402還可以耦合到存儲器管理單元(MMU)440,該單元可以配置成從處理器402接收地址并將這些地址轉(zhuǎn)換成存儲器(例如,存儲器406、只讀存儲器(ROM)450、NAND閃存410)中的位置和/或轉(zhuǎn)換到到其它諸如顯示電路404、無線通信電路430(也稱作“無線電”)、連接器I/F420、和/或顯示器460的電路或裝置。MMU440可以配置成執(zhí)行存儲器保護和頁表轉(zhuǎn)換或建立。在有些實施例中,MMU440可以作為處理器402的一部分被包括在內(nèi)。[0052]如圖所示,S0C400可以耦合到UE206的各種其它電路。例如,UE206可以包括各種類型的存儲器(例如,包括NAND閃存410)、連接器接口420(例如,用于耦合到計算機系統(tǒng)、擴展塢(dock)、充電站等)、顯示器460、和無線通信電路(或“無線電”)430(例如,用于LTE、LTE-A、CDMA2000、藍牙、W1-F1、GPS等)。[0053]如上面所指出的,UE206可以配置成利用多種無線通信標準進行無線通信。如上面還指出的,在這種情況下,無線通信電路(無線電)430可以包括在多種無線通信標準之間共享的無線電組件和/或配置成根據(jù)單個無線通信標準專門使用的無線電組件。如圖所示,UE裝置206可以包括至少一個天線(除各種可能性之外,還可能有多個天線,例如,用于MIMO和/或用于實現(xiàn)不同無線通信技術的多個天線),用于執(zhí)行與基站、接入點、和/或其它裝置的無線通信。例如,UE裝置206可以使用天線435來執(zhí)行無線通信。[0054]UE206還可以包括一個或多個用戶接口元件和/或配置成與這些元件一起使用。用戶接口元件可以包括任何各種元件,諸如顯示器460(其可以是觸摸屏顯示器)、鍵盤(其可以是分立的鍵盤或可以實現(xiàn)為觸摸屏顯示器的一部分)、鼠標、麥克風和/或揚聲器、一個或多個照相機、一個或多個按鈕、和/或任意各種能夠給用戶提供信息和/或接收/解釋用戶輸入的其它元件。[0055]如本文所描述的,UE206可以包括用于實現(xiàn)建立和/或控制MPTCP連接的特征的硬件和軟件組件,諸如那些本文尤其參考圖5-7所描述的。UE裝置206的處理器402可以配置成例如通過執(zhí)行在存儲器介質(zhì)(例如,非臨時性計算機可讀存儲器介質(zhì))上存儲的程序指令來實現(xiàn)本文所描述特征的部分或全部。作為替代(或附加地),處理器402可以配置成作為諸如FPGA(現(xiàn)場可編程門陣列)的可編程硬件元件,或者作為ASIC(專用集成電路)。作為替代(或附加地),UE裝置206的處理器402可以與其它組件400、404、406、410、420、430、435、440、450、460中的一個或多個結合配置成實現(xiàn)本文所描述特征的部分或全部,諸如本文尤其參考圖5-7所描述的特征。[0056]圖5-具有MPTCP能力的協(xié)議棧[0057]圖5說明了根據(jù)本公開各方面的可以由UE500使用以通過中間件516建立、配置和控制在UE500和服務器518之間的MPTCP連接和子流的示例性協(xié)議棧。應當認識到,雖然圖5中說明的示例性協(xié)議棧代表可以用來實現(xiàn)本公開各方面的一種可能的協(xié)議棧,但是MPTCP連接和子流可以與任一多種備選的協(xié)議棧結合、與不同于UE500和服務器518的裝置結合、和/或在沒有中間的中間件516(或帶有多個中間件)的情況下,被建立、配置和/或控制。因此,圖5中說明的示例性協(xié)議棧不應當被認為是在總體上限于本公開。[0058]如圖所示,聯(lián)網(wǎng)(networking)應用502可以在UE500上執(zhí)行。聯(lián)網(wǎng)應用可以是利用網(wǎng)絡連接在網(wǎng)絡上通信的任何應用。例如,應用(或“app”)502可以是瀏覽器應用、電子郵件應用、聊天應用、社交媒體應用、音樂服務應用、游戲應用、智能個人助理應用、和/或任何各種其它類型的網(wǎng)絡應用。[0059]聯(lián)網(wǎng)應用502可以與聯(lián)網(wǎng)框架504接口,聯(lián)網(wǎng)框架504可以由UE500上執(zhí)行的操作系統(tǒng)提供。聯(lián)網(wǎng)框架504可以在應用502和由UE500提供的底層網(wǎng)絡功能之間提供抽象層。聯(lián)網(wǎng)框架504又可以與TCP連接庫實體506接口。TCP連接庫506通過與網(wǎng)絡接口狀態(tài)實體508通信可以知道各種網(wǎng)絡接口的狀態(tài)。[0060]網(wǎng)絡接口狀態(tài)實體508可以監(jiān)視向上/向下狀態(tài)并且支持對UE500可用的各種網(wǎng)絡接口的網(wǎng)絡接口維護。關于對UE500可用的各種網(wǎng)絡接口狀態(tài)的信息對能夠利用諸如蜂窩通信和W1-Fi的無線通信的一種或多種形式的移動裝置來說是尤其有用的。例如,網(wǎng)絡接口狀態(tài)實體508可以知道蜂窩數(shù)據(jù)鏈接是否在任何給定的時間可用,并且可以類似地知道W1-Fi鏈接是否在任何給定的時間可用。網(wǎng)絡接口狀態(tài)實體508同樣可以類似地監(jiān)視任何附加的或替代的網(wǎng)絡接口。在有些情況下,網(wǎng)絡接口狀態(tài)實體508還可以知道任何關于各種可用網(wǎng)絡接口的進一步的注意事項,諸如網(wǎng)絡接口使用首選項。例如,對許多移動裝置來說,W1-Fi數(shù)據(jù)通信可能比蜂窩數(shù)據(jù)通信更便宜(例如,如果蜂窩服務提供商提供計量的數(shù)據(jù)使用,而W1-Fi服務提供商提供無計量的數(shù)據(jù)使用);在這種情況下,當可能時使用W1-Fi網(wǎng)絡接口而不是蜂窩網(wǎng)絡接口進行數(shù)據(jù)通信的首選項會被UE500中的網(wǎng)絡接口狀態(tài)實體508注意到。其它首選項或注意事項也可以存儲或作為替換地被存儲。[0061]通過與網(wǎng)絡接口狀態(tài)實體508的通信知道這些信息,然后,TCP連接庫506可以充當傳輸連接管理器并且智能地為聯(lián)網(wǎng)應用502管理TCP連接。例如,諸如本文隨后進一步描述的,TCP連接庫506可以能夠啟動和拆除經(jīng)各種網(wǎng)絡接口與聯(lián)網(wǎng)實體(諸如服務器518)的TCP連接(包括MPTCP子流)、建立和/或修改MPTCP子流優(yōu)先級、及斷言對MPTCP子流創(chuàng)建和優(yōu)先級狀態(tài)修改的控制。TCP連接庫506可以通過套接字層BSD套接字510、MPTCP套接字512、及TCP連接/子流514來實現(xiàn)這些。[0062]如圖所示,所得到的MPTCP子流可以通過中間件516作為與服務器518的MPTCP連接的一部分建立。中間件516可以包括任何各種類型的中間件功能,諸如防火墻、負載均衡、網(wǎng)絡地址轉(zhuǎn)換等。注意,在有些情況下(例如,取決于中間件的功能),MPTCP連接可以在中間件516終止,中間件516又可以在另外的連接中把數(shù)據(jù)路由到服務器518(例如,根據(jù)服務器集群中的負載均衡算法)。[0063]圖6-MPTCP子流律立流稈圖[0064]圖6是說明示例性MPTCP建立過程的流程圖。在圖6中說明的過程可以尤其用于移動裝置(例如,諸如在圖2-4中說明的UE206和在圖5中說明的UE500的裝置)的使用。例如,如之前指出的,對于許多這種裝置來說,由于對于許多W1-Fi數(shù)據(jù)鏈接,數(shù)據(jù)的使用可以是不作計量的,因此當Wi_Fi可用時,Wi_Fi數(shù)據(jù)鏈接的使用對網(wǎng)絡通信可能是優(yōu)選的,而由于對于許多的蜂窩數(shù)據(jù)鏈接,數(shù)據(jù)的使用可能是計量的,因此蜂窩數(shù)據(jù)鏈接的使用可以優(yōu)選地作為對網(wǎng)絡通信的備份(例如,當W1-Fi和/或其它網(wǎng)絡接口不可用時)。因此,示例性MPTCP建立過程可以首先建立MPTCP連接并且優(yōu)先地嘗試建立W1-FiMPTCP子流,并且如果可能的話,隨后/其次嘗試建立蜂窩MPTCP子流。[0065]在圖6中示出的方法除了與其它裝置結合使用之外,還可以與任何以上圖中示出的計算機系統(tǒng)或裝置結合使用。所示出的方法元素中的一些可以并發(fā)地執(zhí)行、按不同于所示出的次序執(zhí)行、或者可以被省略。如所期望的,也可以執(zhí)行附加的方法元素。如圖所示,該方法可以如下操作。[0066]在602中,可以在裝置啟動MPTCP會話。MPTCP會話可以作為聯(lián)網(wǎng)應用(例如圖5中說明的聯(lián)網(wǎng)應用502)操作的一部分啟動。MPTCP會話可以旨在以MPTCP連接的方式在第一裝置和第二裝置之間提供至少一條通信路徑,并且優(yōu)選地提供多條通信路徑。尤其對于無線裝置來說,為了提供更高的彈性,可能期望建立多條通信路徑,例如在一條通信路徑失敗(如無線鏈接有時發(fā)生的,尤其在移動條件下)或者被刪除的情況下。MPTCP會話可以由裝置上執(zhí)行的TCP連接管理實體管理,諸如圖5中說明的TCP連接庫506。[0067]在604中,可以確定W1-Fi數(shù)據(jù)鏈接是否存在。例如,如果裝置在W1-Fi接入點的范圍之內(nèi),諸如如果裝置位于該裝置的用戶的家中、在具有已知W1-Fi熱點的咖啡屋中、在帶有W1-Fi網(wǎng)絡的工作室中等,并且裝置配置成與W1-Fi接入點通信,那么W1-Fi數(shù)據(jù)鏈接是存在的。但是,在許多情況下,諸如如果該裝置的用戶正在旅行并且或者不在任何W1-Fi網(wǎng)絡的通信范圍之內(nèi)或者沒有配置成與任何通信范圍內(nèi)的W1-Fi網(wǎng)絡通信(例如,不是W1-Fi網(wǎng)絡的成員),那么就不會有W1-Fi數(shù)據(jù)鏈接存在。作為另一種可能性,如果裝置的用戶已經(jīng)把該裝置配置成關閉其W1-Fi無線電,那么W1-Fi數(shù)據(jù)鏈接不會存在。[0068]如果W1-Fi數(shù)據(jù)鏈接不存在,那么在606中,可以確定蜂窩數(shù)據(jù)鏈接是否存在。如果例如裝置在能夠提供蜂窩服務的基站的通信范圍之內(nèi)(例如,這可能取決于裝置和基站的蜂窩技術能力、和/或裝置的蜂窩服務提供商和基站的運營商),那么蜂窩數(shù)據(jù)鏈接可以是存在的。盡管蜂窩網(wǎng)絡通常會比W1-Fi網(wǎng)絡提供更廣的覆蓋面,但是在有些情況下,也可能沒有蜂窩數(shù)據(jù)鏈接存在,諸如如果裝置的用戶在任何基站的通信范圍之外的邊遠地區(qū)或者裝置沒有配置成與通信范圍內(nèi)的任何蜂窩網(wǎng)絡通信(例如,不是其訂戶)。此外,如果裝置的用戶已經(jīng)把裝置配置成關閉其蜂窩無線電,那么也可能蜂窩數(shù)據(jù)鏈接不會存在。[0069]如果既沒有W1-Fi數(shù)據(jù)鏈接也沒有蜂窩數(shù)據(jù)鏈接可用,那么在608中可以確定在那個時間互聯(lián)網(wǎng)是不可用的。在這種情況下,不可能在那個時間建立期望的MPTCP會話。[0070]如果在決定604中存在W1-Fi數(shù)據(jù)鏈接,或者如果在決定604中不存在W1-Fi數(shù)據(jù)鏈接但是在決定606中存在蜂窩數(shù)據(jù)鏈接,那么在610可以做建立第一MPTCP子流的嘗試。取決于是否來自決定604或決定606,該嘗試可以在W1-Fi數(shù)據(jù)鏈接或蜂窩數(shù)據(jù)鏈接上進行。[0071]在612中,可以確定子流作為MPTCP子流是否被成功地建立。如果子流被成功地建立為MPMTCP子流,那么在614中,可以通過該第一子流執(zhí)行讀/寫。但是,如果MPTCP協(xié)商失敗,那么在616中連接可以回到常規(guī)的TCP。如果常規(guī)的TCP連接被成功地建立,那么在618中可以通過常規(guī)TCP執(zhí)行讀/寫直到會話在620結束。[0072]如果在嘗試通過W1-Fi建立子流期間MPTCP和TCP連接都協(xié)商失敗,那么在622中,可以啟動蜂窩回退(fallback)特性并且返回到步驟610,可以執(zhí)行通過蜂窩數(shù)據(jù)鏈接建立MPTCP子流的嘗試。如果當在步驟622中嘗試蜂窩回退時不存在蜂窩數(shù)據(jù)鏈接,那么可以在624(類似于步驟608)確定在那個時間互聯(lián)網(wǎng)是不可用的。[0073]否則,建立第一MPTCP子流的蜂窩回退嘗試可以遵循與通過W1-Fi數(shù)據(jù)鏈接建立第一MPTCP子流的嘗試類似的工作流程。[0074]一旦建立了第一MPTCP子流(例如,通過W1-Fi或者通過蜂窩)并且在614中通過第一子流執(zhí)行了讀/寫,那么可以在626確定通過建立的MPTCP子流的讀/寫是否成功。如本文隨后參考圖7進一步描述的,可能即使第一子流是明顯地作為MPTCP子流建立的,在MPTCP子流上嘗試的讀和/或?qū)懖僮饕部赡懿粫晒Φ乇3諱PTCP特性。在這種情況下,在628中,讀/寫操作可以作為常規(guī)的TCP連接是成功地(TCP回退),或者可以是都不成功的。如果回到常規(guī)TCP連接是成功的,那么在630中,讀/寫可以通過常規(guī)TCP執(zhí)行直到會話在620結束。如果回到常規(guī)TCP連接不成功,那么在630中,會話可以由于不成功而中止。[0075]但是,如果在626中確定至少一個讀和/或?qū)懖僮髯鳛镸PTCP子流是成功的,那么在634可以確定是否另一種網(wǎng)絡接口可用。因此,例如如果第一子流是通過W1-Fi數(shù)據(jù)鏈接的,并且蜂窩數(shù)據(jù)鏈接也是可用的,那么在636可以在蜂窩數(shù)據(jù)鏈接上啟動另一個MPTCP子流。類似地,如果第一子流是通過蜂窩數(shù)據(jù)鏈接的(例如,如果沒有W1-Fi可用或者通過W1-Fi建立子流不成功),并且另一種網(wǎng)絡接口也可用(例如,如果W1-Fi數(shù)據(jù)鏈接變得可用、如果該裝置還有可用的網(wǎng)絡接口、或者簡單地作為在可用W1-Fi數(shù)據(jù)鏈接上的另一次嘗試,其中之前不成功的MPTCP子流建立嘗試和/或單個流TCP連接建立嘗試是在該可用的W1-Fi數(shù)據(jù)鏈接上進行的),那么在636可以在所選擇的網(wǎng)絡接口上啟動另一個MPTCP子流。如果在決定638建立另一個子流是成功的,那么會話(即,在602開始的MPTCP連接)可以包括在640通過多個子流執(zhí)行讀和/或?qū)懖僮鳌H绻跊Q定638建立另一個子流不成功,那么返回到620,讀和/或?qū)懖僮髦豢梢栽诔晒⒌淖恿魃蠄?zhí)行直到會話結束。[0076]如圖所示,也可能在具有至少一個活動的、已建立的子流的會話期間會發(fā)生子流中斷。例如,用戶可能把裝置移到W1-Fi接入點的通信范圍之外,并且因此失去在其W1-Fi數(shù)據(jù)鏈接上的連接性。在這種情況下(例如,從步驟618或640經(jīng)塊“B”到步驟642),可能發(fā)生IP地址丟失并且TCP重新傳輸嘗試可能在中斷的子流上失敗。然后可以在646確定是否存在備選的路徑(例如,另一個MPTCP子流)。如果存在備選的路徑,那么在646會發(fā)生到另一個子流的故障切換(failover)。因此,在上述其中在W1-Fi數(shù)據(jù)鏈接上丟失連接性的示例性情況下,如果在蜂窩數(shù)據(jù)鏈接上已經(jīng)建立了MPTCP子流,那么可以發(fā)生到蜂窩子流的故障切換,并且可以通過該子流執(zhí)行作為會話的一部分發(fā)生的任何讀或?qū)懖僮?,至少直到另一個MPTCP子流能被重新建立。但是,如果在決定644不存在備選的路徑,那么由于在那個時間可能沒有可用的TCP連接,因此會話可以在648中止。[0077]圖7-子流建立消息序列圖[0078]圖7是說明在端點之間嘗試經(jīng)多種通信路徑彼此建立MPTCP會話的示例性消息序列流程的消息序列圖。特別地,作為啟動MPTCP連接的一個端點可以充當MPTCP客戶端702,而另一個端點可以充當MPTCP服務器704。客戶端702可以具有作為第一網(wǎng)絡接口的蜂窩數(shù)據(jù)鏈接和作為第二網(wǎng)絡接口的W1-Fi數(shù)據(jù)鏈接。[0079]在圖7中示出的方法除了可以與其它裝置結合使用之外,還可以與以上圖中示出的任何計算機系統(tǒng)或裝置結合使用。例如,作為一種可能性,客戶端702可以是無線用戶設備(UE)裝置,諸如UE206和/或UE500,而服務器可能是關于以上各種圖所說明和描述的服務器210和/或服務器518。更一般地,客戶端702和服務器704中的一個或者兩者可以是“固定的”端點或“移動的”端點。[0080]此外注意,示出的消息中的一些可以并發(fā)地發(fā)送、按不同于所示出的次序發(fā)送、或者可以被省略。如所期望的,也可以發(fā)送附加的消息。如圖所示,序列可以根據(jù)以下流程來操作。[0081]客戶端702可以把Syn消息706發(fā)送到服務器704作為三相握手過程/連接建立過程的第一部分。如圖所示,Syn消息706可以包括MP_Capable選項以指示客戶端702在請求MPTCP連接而不是標準(單-路徑)TCP連接的建立。[0082]如果服務器704具有MPTCP能力(MP_Capable)并且中間件沒有去掉或修改Syn消息來刪除MP_Capable選項(例如,用無-操作/NOP替換MP選項),那么服務器704可以發(fā)送帶MP_Capable選項的Syn_Ack消息708以指示服務器704確認客戶端702的MPTCP請求并且指示服務器704也具有MPTCP能力。[0083]同樣,如果中間件沒有去掉或修改Syn_Ack消息來刪除MP_Capable選項,那么客戶端702可以把Ack消息710發(fā)送到服務器704。如圖所示,Ack消息710也可以包括一個或多個密鑰(例如,在驗證往MPTCP連接增加未來的子流時使用)。[0084]注意,如果MP_Capable選項從Syn消息706或Syn_Ack消息708的一個或兩者中被去掉(例如,被中間件去掉),但是除此之外那些消息被完整交付,那么TCP連接可以繼續(xù)被建立成標準的(單-路徑)TCP連接而沒有通過嘗試把TCP連接建立為MPTCP子流而引起的任何額外的延遲。如果Syn消息706或Syn_Ack消息708中的一個或兩者都被去掉,那么客戶端702會嘗試η(可配置或預定的數(shù)量)次重新傳送帶有MPTCP選項的Syn消息,然后如果連接建立仍然不成功,那么可以不帶MPTCP選項進行進一步的Syn重新傳送以回到標準的TCP連接。在這種情況下,可以給單-路徑TCP連接的建立時間增加某些時間量(例如,與η次帶MPTCP選項的重新傳送嘗試關聯(lián)的時間量)。[0085]一旦用Ack消息710成功地完成三相MPTCP握手過程,那么客戶端702可以嘗試通過建立的MPTCP子流發(fā)送數(shù)據(jù)分組712。作為MPTCP子流的一部分,數(shù)據(jù)分組712可以包括MP_DSS(數(shù)據(jù)序列信號)選項。[0086]響應數(shù)據(jù)分組712,服務器704又可以發(fā)送帶MP_DSS選項的Ack消息714。服務器可以附加地把它自己的數(shù)據(jù)分組716通過建立的MPTCP子流發(fā)送到客戶端702。這些分組716也可以包括MP_DSS選項。[0087]注意,即使在成功地協(xié)商TCP握手過程與MPTCP選項之后,中間件仍然可能去掉數(shù)據(jù)或者確認分組上的MP_DSS選項。這如果發(fā)生,那么連接可以回到標準的TCP連接。[0088]同樣,由于這個原因,客戶端702在嘗試建立第二MPTCP子流之前,可以等待直到收到諸如Ack消息714的其自身具有MP_DSS選項的、對至少一個帶MP_DSS選項的數(shù)據(jù)分組的確認之后。[0089]如果TCP握手過程與MPTCP選項協(xié)商成功,并且在MPTCP選項完好的情況下執(zhí)行了至少一個成功的讀或?qū)懖僮?即,至少一個數(shù)據(jù)分組和ACK被成功地發(fā)送),并且客戶端702除了W1-Fi數(shù)據(jù)鏈接之外還有蜂窩數(shù)據(jù)連接可用,那么為了啟動握手過程來嘗試建立MPTCP連接的另一個子流,客戶端702可以利用其蜂窩網(wǎng)絡接口把Syn消息718發(fā)送到服務器704。作為現(xiàn)有MPTCP連接的另外的子流,Syn消息718可以包括MP_Join選項。此外,由于蜂窩網(wǎng)絡接口相對于W1-Fi網(wǎng)絡接口可能不是優(yōu)選的網(wǎng)絡接口,因此Syn消息718可以包括“備份”標志,指示蜂窩子流將是備份。[0090]類似于子流建立消息流建立W1-Fi子流,服務器704可以通過把Syn_Ack消息720發(fā)送到客戶端702而作出響應,其中Syn_Ack消息720還可以包括MP_Join選項。然后,客戶端702可以用Ack消息722進行跟進,其中Ack消息722也可以包括MP_Join選項。[0091]已經(jīng)通過W1-Fi和蜂窩數(shù)據(jù)鏈接在客戶端702和服務器704之間成功地建立MPTCP子流,這時,就可以通過MPTCP子流中的一個或兩者發(fā)送數(shù)據(jù)分組。[0092]如之前所指出的,這種如關于圖7所說明和描述的情景對于許多移動裝置來說可能是常見的,在這種情景中客戶端包括W1-Fi和蜂窩網(wǎng)絡接口,其中在任何給定的時間,兩種接口都可用、其中之一可用、或者都不可用。W1-Fi和蜂窩網(wǎng)絡接口可以具有不同的特性,這些特性可能導致此類裝置的用戶有關于這些網(wǎng)絡接口的使用首選項。例如,許多蜂窩網(wǎng)絡可能基于每一數(shù)據(jù)使用收取費用(即,可能提供計量的數(shù)據(jù)使用,例如,來代替月租費或除月租費之外),而許多W1-Fi網(wǎng)絡提供商可能不基于每一數(shù)據(jù)使用收取費用,而是可能提供無限制的數(shù)據(jù)使用(例如,用于月租費)。盡管將認識到,這種特性并不是蜂窩和W1-Fi網(wǎng)絡的普遍特征,但是由于在許多情況下這些特性可能是共同的,因此許多移動應用可能偏向于主要或?qū)iT使用蜂窩網(wǎng)絡作為備用通信路徑,而當W1-Fi可用時它可能是優(yōu)選的通Ih路徑。[0093]固定端點可能不具有相同的優(yōu)先級。例如,由于固定端點基本不動的性質(zhì)以及相對于無線網(wǎng)絡接口通過有線網(wǎng)絡接口通常提供較高程度的可靠性/可用性,因此帶有至少一個有線網(wǎng)絡接口的固定端點在其網(wǎng)絡接口的可用性中可能沒有明顯的變化。而且,與MPTCP連接的遠程端點的固定或者移動性質(zhì)無關,本地端點可能不知道在不同的子流之間遠程端點的使用首選項的不同。因此,至少在有些情況下,當MPTCP連接在移動端點和固定端點之間建立時,可能優(yōu)選地啟用移動端點來指定其網(wǎng)絡接口中的哪一個(因此,哪一個MPTCP子流)用作活動的路徑以及哪一個作為備份的路徑。相應地,對于固定端點來說,可能不期望指定與移動端點的MPTCP連接的約束。[0094]同樣值得注意的是,更一般地,無論是固定的或者是移動的,本地端點可能不知道在不同子流之間遠程端點的使用首選項中的任何不同。因此,如果MPTCP連接的兩個端點都是移動的,那么每一端都可以具有對方不知道的使用首選項。例如,一個端點可以知道哪一個子流使用其蜂窩網(wǎng)絡接口以及哪一個子流使用其W1-Fi網(wǎng)絡接口,但是可能不知道哪一個子流對應于另一個端點的哪一種網(wǎng)絡接口,反之也然。[0095]應當認識到,上述關于固定和移動端點網(wǎng)絡接口特性和使用首選項的例子是作為解釋提供的,不應當被認為是限制本公開內(nèi)容。任意數(shù)量附加或備選的使用首選項配置文件、網(wǎng)絡接口組合、和/或在固定&移動端點組合中的變化都是可能的。但是,這些例子是說明性的,更一般地,是引入對MPTCP連接的連接控制和配置的附加元件的潛在優(yōu)勢的說明。[0096]例如,可能期望為兩個端點中的一個或兩者都提供斷言對MPTCP連接的控制的方式。在這種情況下,控制端點可以能夠創(chuàng)建新的子流、指定子流的優(yōu)先級(例如,活動/主要與備用/次要)、并且跨主要和備用子流控制數(shù)據(jù)傳輸流,以促進從非功能性子流到功能性子流的更快的轉(zhuǎn)換。作為對照,非控制端點不能(例如,可能被阻止或者沒有權限)啟動新的子流或者修改子流的優(yōu)先級,并且會遵循控制端點跨主要和備用子流的關于數(shù)據(jù)傳輸流的引導。例如,非控制端點可以監(jiān)視/確定在哪個MPTCP子流上最近收到數(shù)據(jù),并且可以通過最近收到數(shù)據(jù)的MPTCP子流發(fā)送數(shù)據(jù)。[0097]因此,在示例性情景中,其中客戶端(諸如客戶端702)是同時具有W1-Fi和蜂窩網(wǎng)絡接口的移動客戶端,而服務器(諸如服務器704)是具有有線網(wǎng)絡接口的固定的服務器,客戶端可能斷言對MPTCP連接的控制,而服務器可能不斷言對MPTCP連接的控制??蛻舳丝赡茉谶@種情況下指定W1-Fi子流將是主要的,并且服務器將不能修改這個優(yōu)先級。而且,客戶端可能在這種情況下選擇是否建立蜂窩子流,而服務器將不會在客戶端的蜂窩網(wǎng)絡接口上嘗試啟動子流。此外,如果W1-Fi網(wǎng)絡接口失敗并且客戶端轉(zhuǎn)換成在(例如,備用)蜂窩接口子流上發(fā)送數(shù)據(jù),那么即使服務器沒有收到指示來提升該子流(例如,由于優(yōu)先級修改選項的不可靠性)的優(yōu)先級,服務器也將會遵循客戶端的引導并且也在蜂窩接口子流上發(fā)送數(shù)據(jù)。[0098]也可能為多個端點提供斷言對MPTCP連接的控制的方式。例如,在上述其中兩個端點都是移動的并且具有它們自己唯一的關于網(wǎng)絡接口和相應子流的使用首選項的示例性情景中,可能期望這樣。在這種情況下,每一端都可以能夠重寫路徑優(yōu)先級的任何先前信令并且降級/升級路徑的優(yōu)先級。因此,舉例來說,如果子流是從一個端點的W1-Fi網(wǎng)絡接口到另一個端點的蜂窩網(wǎng)絡接口建立的,那么如果另一個子流通過接收端點的W1-Fi網(wǎng)絡接口可用的話,該接收端點可能希望把該子流的優(yōu)先級降級到備用。[0099]更一般地,如果兩個端點都斷言對MPTCP連接進行控制,那么兩個端點都可以能夠在子流的建立和路徑優(yōu)先級上主動表決。例如,兩個端點都可以能夠啟動子流。兩個端點還都可以或備選地能夠把子流從主要降級到備用優(yōu)先級以及把子流的優(yōu)先級從備用升級到主要(例如,當沒有其它路徑可用時)。此外,兩個端點都可以嘗試關于最近到達的數(shù)據(jù)在哪一個子流上而遵循另一個端點的引導。換句話說,每一個端點都可以監(jiān)視/確定在哪個MPTCP子流上最近收到數(shù)據(jù),并且在任何可能的時候可以通過最近收到數(shù)據(jù)的MPTCP子流發(fā)送數(shù)據(jù)。[0100]關于子流啟動的還有的注意事項可能是許多移動裝置可能位于網(wǎng)絡地址轉(zhuǎn)換器(NAT)后面。在這種情況下,移動端點可能不能為遠程端點直接公布本地地址以利用MPTCP的ADD_ADDR選項進行連接。由于接收ADD_ADDR選項并啟動連接的端點-主機可能不知道遠程端點的網(wǎng)絡接口(例如,無線網(wǎng)絡)的成本特性,因此即使端點使用了用于地址發(fā)現(xiàn)和NAT打洞(holepunching)的帶外機制,完全通過ADD_ADDR選項來指定子流的創(chuàng)建也會是適得其反的。[0101]因此,一般地可以優(yōu)選地使移動端點成為子流的發(fā)起者,并且由于即使固定端點具有用于發(fā)現(xiàn)移動端點的轉(zhuǎn)換/公開傳輸?shù)刂返膸鈾C制,它們也可能不知道移動端點連接到哪種類型的網(wǎng)絡接口(例如,W1-Fi或蜂窩),因此一般地可以優(yōu)選地不使固定端點成為帶有移動端點的子流的發(fā)起者。那么,在其中固定端點希望通知移動端點可以在其啟動MPTCP子流的附加地址的情景中,固定端點可以把ADD_ADDR選項發(fā)送到移動端點以供移動裝置連接到它。[0102]MPTCP連接的控制可以以各種方式中的任一種來斷言。作為一種可能性,控制的分配可以通過端點的(例如,硬連線的)配置來實現(xiàn)。因此,對于所有涉及該端點的MPTCP連接,可以把該端點配置成MPTCP連接的主端點/控制器(例如,如果是移動端點),或者對于所有MPTCP連接(例如,對于遠程端點被配置成充當針對MPTCP連接的主端點的連接),配置成MPTCP連接的從端點/非控制器(例如,如果是固定端點)。如之前所指出的,混合的固定/移動端點也是可能的;在這種情況下,可以使用配置來把這樣的裝置當作移動的端點或固定的端點。[0103]作為另一種可能性,可以使用MPTCP有線協(xié)議來動態(tài)地分配/承擔控制權。例如,子流發(fā)起者可以用具有MP_Capable選項的Syn消息啟動MPTCP子流,諸如在圖7中說明的Syn消息706。但是應該指出,備選的格式也是可能的,圖8說明了用于MP_Capable選項的一種可能的示例性格式。[0104]如示出所說明的,“版本”字段在這種情況下可以設置為I。在版本I中,標記“C”可用于聲明控制權/斷言MPTCP連接的主身份。在這種情況下,“C”將設置為I。[0105]具有這種MP_Capable選項的有MPTCP能力的接收器可以響應以其中也包括MP_Capable選項的Syn_Ack,諸如在圖7中所說明的Syn_Ack消息708。但是應當再次指出,備選的格式也是可能的,作為一種可能性,該響應MP_Capable選項可以具有在圖9中所說明的示例性格式。[0106]如果MP_Capable選項的接收方是固定的端點(或否則的話,不希望斷言對MPTCP連接的控制),那么該端點可以停止啟動子流。該端點也可以不再設置路徑優(yōu)先級,并且當從一個子流轉(zhuǎn)換到另一個時,可以遵循控制端點的引導。如果這種端點支持版本1,那么它可以通過不在其MP_Capable響應中設置“C”標志(即,把“C”標志設置為O)并且通過把版本字段設置為1,發(fā)出它的非控制權信號/斷言MPTCP連接的從身份。[0107]如果MP_Capable選項的接收方是移動的端點(或否則的話,不希望斷言對MPTCP連接的控制),那么該端點可以理解遠程端點也希望斷言對連接的控制(例如,由于該遠程端點也可能是移動的),并且可以合作地允許路徑的優(yōu)先級被升級或降級。類似地,當從一個子流路徑轉(zhuǎn)換到另一個子流路徑時,兩個端點都可以在數(shù)據(jù)傳輸中遵循另一個的引導。如果這種端點支持版本1,那么它可以通過在其MP_Capable響應中設置“C”標志(即,把“C”標志設置為I)并且通過把版本字段設置為I,發(fā)出它的控制權信號/斷言MPTCP連接的主身份。[0108]本公開內(nèi)容的實施例可以以各種形式實現(xiàn)。例如,有些實施例可以實現(xiàn)為計算機實現(xiàn)的方法、計算機可讀存儲器介質(zhì)或計算機系統(tǒng)。其它的實施例可以利用一個或多個諸如ASIC的定制設計的硬件器件來實現(xiàn)。還有的其它實施例可以利用一個或多個諸如FPGA的可編程硬件元件來實現(xiàn)。[0109]在有些實施例中,非易失性計算機可讀存儲器介質(zhì)可以配置成使得其存儲程序指令和/或數(shù)據(jù),其中程序指令如果被計算機系統(tǒng)執(zhí)行,使得計算機系統(tǒng)執(zhí)行方法,例如,任何本文所描述的方法實施例,或者,本文所描述的方法實施例的任意組合,或者,本文所描述的任何方法實施例的任何子集,或者,這種子集的任意組合。[0110]在有些實施例中,裝置(例如,UE)可以配置成包括處理器(或一組處理器)和存儲器介質(zhì),其中存儲器介質(zhì)存儲程序指令,其中處理器配置成從存儲器介質(zhì)中讀取和執(zhí)行程序指令,其中程序指令是可執(zhí)行的,以實現(xiàn)任一本文所描述的各種方法實施例(或者,本文所描述的方法實施例的任意組合,或者,本文所描述的任何方法實施例的任何子集,或者,這種子集的任意組合)。該裝置可以以任何各種形式來實現(xiàn)。[0111]盡管已經(jīng)對以上實施例進行了相當詳細的描述,但是對本領域技術人員來說,以上公開內(nèi)容一旦被充分領會,許多變化和修改將變得顯然。以下權利要求應當解釋為包含所有這種變化和修改。【權利要求】1.一種無線用戶設備(UE)裝置,包括:W1-Fi網(wǎng)絡接口;蜂窩網(wǎng)絡接口;可操作地耦合到所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口的處理元件;其中所述UE配置成:嘗試通過所述W1-Fi網(wǎng)絡接口與遠程端點建立多路徑傳輸控制協(xié)議(MPTCP)子流;如果通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立MPTCP子流的嘗試不成功,那么嘗試通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接;如果通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接的嘗試不成功,那么嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP子流;及如果通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP連接的嘗試不成功,那么嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立非多路徑TCP連接。2.如權利要求1所述的UE,其中所述UE還配置成:如果通過所述W1-Fi網(wǎng)絡接口與遠程端點建立MPTCP子流的嘗試成功,那么嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立另外的MPTCP子流。3.如權利要求1所述的UE,其中為了嘗試建立MPTCP子流,所述UE配置成嘗試與所述遠程端點執(zhí)行三相握手過程,其中在所述三相握手過程中發(fā)送的每一條消息都包括多路徑TCP報頭選項,其中所述UE還配置成:確定在與所述遠程端點的三相握手過程中的每一條消息及其各自的多路徑TCP報頭選項都被成功地接收;基于確定在與所述遠程端點的三相握手過程中的每一條消息及其各自的多路徑TCP報頭選項都被成功地接收,嘗試通過所述MPTCP子流發(fā)送或接收MPTCP數(shù)據(jù);確定在沒有多路徑TCP報頭選項的情況下接收到所述MPTCP數(shù)據(jù);以及基于確定在沒有所述多路徑TCP報頭選項的情況下接收到所述MPTCP數(shù)據(jù),回到與所述遠程端點的非多路徑TCP通信。4.如權利要求1所述的UE,其中為了嘗試建立MPTCP子流,所述UE配置成嘗試與所述遠程端點執(zhí)行三相握手過程,其中在所述三相握手過程中發(fā)送的每一條消息都包括多路徑TCP報頭選項,其中所述UE還配置成:確定在所述三相握手過程中的至少一條消息沒有被收到;執(zhí)行一次或多次附加的嘗試來與所述遠程端點建立MPTCP子流;如果與所述遠程端點建立MPTCP子流的所述一次或多次附加的嘗試不成功,那么嘗試與所述遠程端點建立非多路徑TCP連接。5.如權利要求1所述的UE,其中所述UE配置成監(jiān)視所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口中每一個的網(wǎng)絡接口狀態(tài),其中所述UE配置成如果所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口都可用,那么相對于所述蜂窩網(wǎng)絡接口,優(yōu)先地通過所述W1-Fi網(wǎng)絡接口執(zhí)行數(shù)據(jù)通信。6.一種用于無線裝置與遠程端點建立多路徑TCP(MPTCP)連接的方法,其中所述無線裝置包括W1-Fi網(wǎng)絡接口和蜂窩網(wǎng)絡接口,所述方法包括:接收指示所述W1-Fi網(wǎng)絡接口和所述蜂窩網(wǎng)絡接口中每一個的可用狀態(tài)的信息;及嘗試與遠程端點建立MPTCP子流,其中如果所述W1-Fi網(wǎng)絡接口可用,那么優(yōu)先地通過所述W1-Fi網(wǎng)絡接口執(zhí)行與所述遠程端點建立MPTCP子流的所述嘗試。7.如權利要求6所述的方法,其中如果通過所述W1-Fi網(wǎng)絡接口與遠程端點建立MPTCP子流的嘗試不成功,那么通過所述W1-Fi網(wǎng)絡接口的MPTCP子流建立嘗試回到通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立標準TCP連接的嘗試。8.如權利要求7所述的方法,其中如果通過所述W1-Fi網(wǎng)絡接口與所述遠程端點建立標準TCP連接的嘗試不成功,并且所述蜂窩網(wǎng)絡接口可用,那么所述方法還包括:嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP子流。9.如權利要求8所述的方法,其中如果通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立MPTCP子流的嘗試不成功,那么通過所述蜂窩網(wǎng)絡接口的MPTCP子流建立嘗試回到通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立標準TCP連接的嘗試。10.如權利要求6所述的方法,其中如果通過所述W1-Fi網(wǎng)絡接口建立TCP連接失敗,那么嘗試與所述遠程端點建立MPTCP子流是通過所述蜂窩網(wǎng)絡接口執(zhí)行的。11.如權利要求6所述的方法,其中所述方法還包括:確定通過所述W1-Fi網(wǎng)絡接口成功地建立與所述遠程端點的第一MPTCP子流;確定所述蜂窩網(wǎng)絡接口可用;及基于確定了通過所述W1-Fi網(wǎng)絡接口成功地建立與所述遠程端點的第一MPTCP子流和確定了所述蜂窩網(wǎng)絡接口可用,嘗試通過所述蜂窩網(wǎng)絡接口與所述遠程端點建立第二MPTCP子流。12.如權利要求6所述的方法,其中所述方法通過在所述無線裝置中執(zhí)行的傳輸連接管理層實現(xiàn),其中所述傳輸連接管理層配置成基于以下中的一個或多個來確定網(wǎng)絡接口使用首選項:網(wǎng)絡接口可用性信息;網(wǎng)絡接口鏈接質(zhì)量特性;或網(wǎng)絡接口使用成本特性。13.一種無線裝置,包括:第一網(wǎng)絡接口;第二網(wǎng)絡接口;可操作地耦合到所述第一網(wǎng)絡接口和所述第二網(wǎng)絡接口的處理元件;其中所述無線裝置配置成:接收啟動與遠程端點的TCP會話的指示;確定所述無線裝置的第一網(wǎng)絡接口當前是否可用;確定所述無線裝置的第二網(wǎng)絡接口當前是否可用;如果確定所述無線裝置的第一網(wǎng)絡接口當前可用,那么嘗試通過所述第一網(wǎng)絡接口與所述遠程端點建立MPTCP子流;及如果確定所述第一網(wǎng)絡接口當前不可用并且所述第二網(wǎng)絡接口當前可用,或者如果所述第一MPTCP子流被成功地建立并且所述第二網(wǎng)絡接口也可用,那么嘗試通過所述第二網(wǎng)絡接口與所述遠程端點建立MPTCP子流。14.如權利要求13所述的無線裝置,其中所述無線裝置還配置成:如果所述無線裝置的第一網(wǎng)絡接口當前可用但是通過所述第一網(wǎng)絡接口與所述遠程端點建立MPTCP子流的嘗試不成功,那么嘗試通過所述第一網(wǎng)絡接口與所述遠程端點建立單路徑TCP連接,其中如果通過所述第一網(wǎng)絡接口與所述遠程端點的單路徑TCP連接被成功地建立,那么不再進行通過所述第二網(wǎng)絡接口與所述遠程端點建立MPTCP子流的嘗試。其中如果通過所述第一網(wǎng)絡接口與所述遠程端點的單路徑TCP連接沒有被成功地建立并且確定所述無線UE的第二網(wǎng)絡接口當前可用,那么所述無線裝置還配置成嘗試通過所述第二網(wǎng)絡接口與所述遠程端點建立MPTCP子流。15.如權利要求13所述的無線裝置,其中所述第一網(wǎng)絡接口是W1-Fi網(wǎng)絡接口,其中所述第二網(wǎng)絡接口是蜂窩網(wǎng)絡接口?!疚臋n編號】H04L29/06GK104243443SQ201410238958【公開日】2014年12月24日申請日期:2014年5月30日優(yōu)先權日:2013年6月6日【發(fā)明者】A·比斯瓦斯,J·V·格拉埃斯萊伊申請人:蘋果公司