專利名稱:在應(yīng)用層綁定/聚合多個(gè)接口的制作方法
技術(shù)領(lǐng)域:
本公開一般涉及通信,并且更具體地涉及用于在無(wú)線通信網(wǎng)絡(luò)中獲取超文本分組數(shù)據(jù)內(nèi)容的技術(shù)。
背景技術(shù):
超文本傳輸協(xié)議(HTTP)是web瀏覽器和web應(yīng)用程序所使用的主要的通信協(xié)議。大型基礎(chǔ)設(shè)施已經(jīng)在互聯(lián)網(wǎng)內(nèi)建立起來(lái),以便以內(nèi)容分發(fā)網(wǎng)絡(luò)的形式支持HTTP協(xié)議的高效操作。因此,數(shù)量不斷增加的應(yīng)用程序正在被移植到HTTP協(xié)議。盡管這種移植有其它的原因(例如,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和防火墻穿越),但是利用web基礎(chǔ)設(shè)施大規(guī)模的可擴(kuò)展性的能力是主要的驅(qū)動(dòng)力。當(dāng)今,web站點(diǎn)通常是非常復(fù)雜的,其包括了數(shù)十或數(shù)百個(gè)對(duì)象,其中,每個(gè)對(duì)象必須使用HTTP來(lái)單獨(dú)請(qǐng)求。已經(jīng)在HTTP內(nèi)定義了各種優(yōu)化,以提高能夠?qū)?duì)象從服務(wù)器傳輸?shù)娇蛻舳说乃俣取T谟芯€網(wǎng)絡(luò)內(nèi),已經(jīng)對(duì)這些優(yōu)化應(yīng)用程序進(jìn)行了大量的工作;然而,對(duì)于理解這些特征如何在具有高往返時(shí)間(RTT)和高可變帶寬的更具挑戰(zhàn)性的移動(dòng)環(huán)境中起作用并進(jìn)行組合而言,還遺留有未解決的問題。具體地,應(yīng)當(dāng)注意到,很多HTTP工作是在一些年前完成的,在當(dāng)時(shí),移動(dòng)網(wǎng)絡(luò)的特性是與現(xiàn)在顯著不同的。
發(fā)明內(nèi)容
下面給出了簡(jiǎn)要概述,以便提供對(duì)所公開方面中的一些方面的基本理解。該概述不是全面的概括,而是旨在既不指出關(guān)鍵或重要元素,也不限定這些方面的范圍。其目的是以簡(jiǎn)化形式給出所述特征的一些概念,來(lái)作為后面給出的更具體描述的前序。在一個(gè)方面,提供了一種用于通過以下操作進(jìn)行分組數(shù)據(jù)通信的方法捆綁多個(gè)網(wǎng)絡(luò)接口 ;經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信;以及經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象。在另一個(gè)方面,提供了用于分組數(shù)據(jù)通信的至少一個(gè)處理器。第一模塊捆綁多個(gè)網(wǎng)絡(luò)接口。第二模塊經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信。第三模塊經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的http對(duì)象。在另一個(gè)方面,提供了一種用于分組數(shù)據(jù)通信的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)了代碼集的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。第一代碼集使計(jì)算機(jī)捆綁多個(gè)網(wǎng)絡(luò)接口。第二代碼集使所述計(jì)算機(jī)經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信。第三代碼集使所述計(jì)算機(jī)經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的http對(duì)象。在另一個(gè)方面,提供了一種用于分組數(shù)據(jù)通信的裝置。所述裝置包括用于捆綁多個(gè)網(wǎng)絡(luò)接口的模塊。所述裝置包括用于經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信的模塊。所述裝置包括用于經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在Web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的http對(duì)象的模塊。在另一個(gè)方面,提供了一種用于使用多個(gè)網(wǎng)絡(luò)接口進(jìn)行分組數(shù)據(jù)通信的裝置。捆綁器工具捆綁所述多個(gè)網(wǎng)絡(luò)接口。所述捆綁器工具經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并 行連接,以用于分組數(shù)據(jù)通信。所述多個(gè)網(wǎng)絡(luò)接口經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在Web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的http對(duì)象。為了實(shí)現(xiàn)前述及相關(guān)目標(biāo),一個(gè)或多個(gè)方面包括下文中充分描述的并在權(quán)利要求中明確指出的特征。以下描述和附圖具體闡述了某些示例性方面,并且指出了可以運(yùn)用這些方面的原理的各種方式中的一小部分。根據(jù)下面結(jié)合附圖的具體描述,其它優(yōu)點(diǎn)和新穎性特征將變得顯而易見,并且所公開的方面旨在包括所有這些方面及其等同物。
結(jié)合附圖并根據(jù)下面闡述的具體說明,本公開的特征、屬性和優(yōu)點(diǎn)將變得更加顯而易見,在附圖中,相同的附圖標(biāo)記在全文中標(biāo)識(shí)一致,其中圖I示出了使用對(duì)網(wǎng)絡(luò)接口的捆綁和用于超文本傳輸協(xié)議(HTTP)優(yōu)化的代理服務(wù)器的通信系統(tǒng)的示意圖。圖2示出了用于HTTP優(yōu)化的示例性無(wú)線接入技術(shù)的通信系統(tǒng)的示意圖。圖3示出了用于捆綁網(wǎng)絡(luò)接口的方法的流程圖。圖4示出了用于捆綁網(wǎng)絡(luò)接口的電子部件的邏輯組的系統(tǒng)。圖5示出了用于HTTP優(yōu)化的通信系統(tǒng)的示意圖。圖6示出了執(zhí)行HTTP優(yōu)化的移動(dòng)終端的方框圖。
具體實(shí)施例方式將并行HTTP連接和流水線處理進(jìn)行組合具有益處,S卩,克服了增加往返時(shí)間(RTT)的影響。通常,已知的瀏覽器運(yùn)用固定數(shù)目的并行連接和固定數(shù)目的未完成請(qǐng)求,盡管并行連接的數(shù)目是受必須聯(lián)系的不同服務(wù)器組的影響的?,F(xiàn)在將參照附圖描述各個(gè)方面。在下面的描述中,為了說明的目的,闡述了大量的具體細(xì)節(jié),以便提供對(duì)一個(gè)或多個(gè)方面的透徹理解。然而,顯然,可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施各個(gè)方面。在其它實(shí)例中,以方框圖形式示出了已知的結(jié)構(gòu)和設(shè)備,以便有助于描述這些方面。在圖I中,描繪了通信系統(tǒng)10,其中,客戶端12具有到代理16的多個(gè)接口 14,以用于經(jīng)由被描繪為因特網(wǎng)20的分組數(shù)據(jù)網(wǎng)絡(luò)向服務(wù)器18進(jìn)行分組數(shù)據(jù)通信??蛻舳?2的捆綁器工具22經(jīng)由代理16完成了為了增加應(yīng)用層24可以使用的帶寬而將應(yīng)用層24上的兩個(gè)或更多個(gè)接口 14綁定/聚合在一起的目標(biāo)。
因此,客戶端12可以克服如下挑戰(zhàn),S卩,許多通信設(shè)備(例如,膝上型電腦和手持設(shè)備)裝配有一個(gè)以上的接口(例如,WIFI、3G、有線以太網(wǎng)等)。當(dāng)客戶端上的應(yīng)用向目的IP地址發(fā)送分組時(shí),該分組一定要在單個(gè)接口上。這個(gè)接口是由設(shè)備的路由表中的最長(zhǎng)前綴匹配來(lái)確定的。本發(fā)明給出了針對(duì)鏈路聚合問題的解決方案,而沒有改變IP棧,其中,可以在不需要對(duì)客戶端軟件進(jìn)行任何改變(即,不改變?yōu)g覽器)并且不需要改變web服務(wù)器的情況下部署該解決方案。在圖2中,一個(gè)示例性方面描繪了通信系統(tǒng)40,其中,客戶端42并入了捆綁器工具44,該捆綁器工具44通過使用具有兩個(gè)或更多個(gè)NIC (網(wǎng)絡(luò)接口控制器)卡的代理(服務(wù)器)50來(lái)避免路由表48規(guī)定單個(gè)接口,從而優(yōu)化了應(yīng)用46的操作??蛻舳?2中的路由表48被配置為具有到每個(gè)代理IP地址的不同路由52、54,并且這些不同路由表?xiàng)l目中的每一個(gè)被捆綁到客戶端上的不同接口。例如,在客戶端的WIFI接口上發(fā)送去往IP地址為IP I的代理的分組,在客戶端的3G接口上發(fā)送去往IP地址為IP2的代理的分組。在說明性的描繪中,第一路由包括高速分組接入(HSPA)接口 56、到HSPA網(wǎng)絡(luò)60的空中接口 58,其中,HSPA網(wǎng)絡(luò)60經(jīng)由因特網(wǎng)62連接到代理服務(wù)器50,從而可以訪問目的web服務(wù)器64。第二路由包括演進(jìn)數(shù)據(jù)優(yōu)化(其也稱為僅數(shù)據(jù)演進(jìn))(EVDO)接口66、空中接口 68、經(jīng)由因特網(wǎng)62連接到代理服務(wù)器50的EVDO網(wǎng)絡(luò)70,從而可以訪問目的web服務(wù)器64??商鎿Q地,或者除了單個(gè)代理服務(wù)器50之外,通過使用相同的網(wǎng)絡(luò)接口、不同的網(wǎng)絡(luò)接口或者其組合,可以部署多個(gè)代理服務(wù)器50。使用單個(gè)服務(wù)器的優(yōu)勢(shì)在于,與客戶端的每個(gè)網(wǎng)絡(luò)接口對(duì)應(yīng)的每個(gè)代理服務(wù)器可以位于緊鄰該接口的網(wǎng)關(guān)的位置。例如,HSPA接口的代理可以緊鄰HSPA網(wǎng)絡(luò)網(wǎng)關(guān),并且對(duì)于EVDO代理而言也是同樣的?,F(xiàn)在,諸如瀏覽器這樣的應(yīng)用46需要在多個(gè)代理IP地址上分發(fā)HTTP獲取(HTTPGET)命令。這可以使用PAC腳本(代理自動(dòng)配置腳本)來(lái)完成。PAC腳本將URL映射到代理地址。幾乎所有的瀏覽器/OS都支持PAC腳本。下面是用于捆綁兩個(gè)客戶端接口的示例PAC腳本。在這個(gè)腳本中,代理a和代理b是與該代理(或多個(gè)代理)相關(guān)聯(lián)的兩個(gè)IP地址。
var N = 2;
function FindProxyForU RL(url, host)
{
var i = urI.length % N; if (i == 0)
return "PROXY proxy_a:8080;" else if (i == I)
return "PROXY proxy—b:8080;"
}在表A中,活動(dòng)路由可以包括分別包括EVDO和HSPA的調(diào)制解調(diào)器地址(“接口 ”)的兩個(gè)代理地址
權(quán)利要求
1.一種用于分組數(shù)據(jù)通信的方法,所述方法包括 捆綁多個(gè)網(wǎng)絡(luò)接口; 經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信;以及經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象。
2.根據(jù)權(quán)利要求I所述的方法,其中,獲取HTTP對(duì)象還包括獲取HTTP對(duì)象的不同片段。
3.根據(jù)權(quán)利要求I所述的方法,其中,捆綁所述多個(gè)網(wǎng)絡(luò)接口還包括從由以太網(wǎng)、第一無(wú)線接入技術(shù)(RAT)的無(wú)線廣域網(wǎng)(WWAN)、第二 RAT的WWAN、有線網(wǎng)絡(luò)接口、有線本地接入網(wǎng)(LAN)本地接入網(wǎng)(WLAN)構(gòu)成的組中選擇至少兩個(gè),其中,所選擇的兩個(gè)可以是相同類型的網(wǎng)絡(luò)接口。
4.根據(jù)權(quán)利要求I所述的方法,其中,建立所述多個(gè)并行連接還包括確定可用接口的帶寬處于相同的數(shù)量級(jí)。
5.根據(jù)權(quán)利要求I所述的方法,其中,發(fā)送所述多個(gè)請(qǐng)求還包括通過利用連接循環(huán)聚合多歸屬主機(jī)的鏈路,來(lái)維持完全的鏈路利用。
6.根據(jù)權(quán)利要求5所述的方法,其中,發(fā)送所述多個(gè)請(qǐng)求還包括安裝靜態(tài)路由表?xiàng)l目,其中,所述靜態(tài)路由表?xiàng)l目將作為所述路由表中的目的地址的每個(gè)代理服務(wù)器的IP地址綁定到客戶端的所述網(wǎng)絡(luò)接口中的一個(gè)。
7.根據(jù)權(quán)利要求6所述的方法,還包括使用代理自動(dòng)配置(PAC),以在多個(gè)代理服務(wù)器上分發(fā)HTTP請(qǐng)求。
8.根據(jù)權(quán)利要求7所述的方法,其中,使用PAC還包括根據(jù)確定性過程和隨機(jī)性過程中的所選擇的一個(gè)過程來(lái)進(jìn)行分發(fā)。
9.根據(jù)權(quán)利要求I所述的方法,其中,捆綁多個(gè)網(wǎng)絡(luò)接口還包括定義多個(gè)不同的路由表?xiàng)l目,其中,每個(gè)路由表?xiàng)l目被綁定到客戶端上的各自的接口。
10.根據(jù)權(quán)利要求9所述的方法,其中,定義所述多個(gè)不同的路由表?xiàng)l目還包括鏈接到代理服務(wù)器上的各自的和相對(duì)應(yīng)的網(wǎng)絡(luò)接口。
11.用于分組數(shù)據(jù)通信的至少一個(gè)處理器,所述至少一個(gè)處理器包括 第一模塊,用于捆綁多個(gè)網(wǎng)絡(luò)接口 ; 第二模塊,用于經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信;以及 第三模塊,用于經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象。
12.一種用于分組數(shù)據(jù)通信的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括 非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括 第一代碼集,用于使計(jì)算機(jī)捆綁多個(gè)網(wǎng)絡(luò)接口 ; 第二代碼集,用于使所述計(jì)算機(jī)經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信;以及 第三代碼集,用于使所述計(jì)算機(jī)經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象。
13.一種用于分組數(shù)據(jù)通信的裝置,所述裝置包括 用于捆綁多個(gè)網(wǎng)絡(luò)接口的模塊; 用于經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信的模塊;以及 用于經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象的模塊。
14.一種用于分組數(shù)據(jù)通信的裝置,所述裝置包括 多個(gè)網(wǎng)絡(luò)接口; 捆綁器工具,用于捆綁所述多個(gè)網(wǎng)絡(luò)接口 ; 所述捆綁器工具,用于經(jīng)由所捆綁的多個(gè)網(wǎng)絡(luò)接口建立多個(gè)并行連接,以用于分組數(shù)據(jù)通信;以及 所述多個(gè)網(wǎng)絡(luò)接口,用于經(jīng)由所述多個(gè)并行連接發(fā)送多個(gè)請(qǐng)求,以用于獲取由分別存儲(chǔ)在web服務(wù)器上的分組數(shù)據(jù)部分構(gòu)成的超文本傳輸協(xié)議(http)對(duì)象。
15.根據(jù)權(quán)利要求14所述的裝置,其中,所述捆綁器還用于通過獲取HTTP對(duì)象的不同片段,來(lái)獲取HTTP對(duì)象。
16.根據(jù)權(quán)利要求14所述的裝置,其中,所述捆綁器還用于通過從由以太網(wǎng)、第一無(wú)線接入技術(shù)(RAT)的無(wú)線廣域網(wǎng)(WWAN)、第二 RAT的WffAN、有線網(wǎng)絡(luò)接口、有線本地接入網(wǎng)(LAN)本地接入網(wǎng)(WLAN)構(gòu)成的組中選擇至少兩個(gè),來(lái)捆綁所述多個(gè)網(wǎng)絡(luò)接口,其中,所選擇的兩個(gè)可以是相同類型的網(wǎng)絡(luò)接口。
17.根據(jù)權(quán)利要求14所述的裝置,其中,所述捆綁器還用于通過確定可用接口的帶寬處于相同的數(shù)量級(jí),來(lái)建立所述多個(gè)并行連接。
18.根據(jù)權(quán)利要求14所述的裝置,其中,所述捆綁器還用于通過利用連接循環(huán)聚合多歸屬主機(jī)的鏈路,來(lái)維持完全的鏈路利用。
19.根據(jù)權(quán)利要求18所述的裝置,其中,所述捆綁器還用于安裝靜態(tài)路由表?xiàng)l目,其中,所述靜態(tài)路由表?xiàng)l目將作為所述路由表中的目的地址的每個(gè)代理服務(wù)器的IP地址綁定到客戶端的所述網(wǎng)絡(luò)接口中的一個(gè)。
20.根據(jù)權(quán)利要求19所述的裝置,所述捆綁器還用于使用代理自動(dòng)配置(PAC),以在多個(gè)代理服務(wù)器上分發(fā)HTTP請(qǐng)求。
21.根據(jù)權(quán)利要求20所述的裝置,其中,所述捆綁器還用于通過根據(jù)確定性過程和隨機(jī)性過程中的所選擇的一個(gè)過程進(jìn)行分發(fā),來(lái)使用PAC。
22.根據(jù)權(quán)利要求14所述的裝置,其中,所述捆綁器還用于通過定義多個(gè)不同的路由表?xiàng)l目來(lái)捆綁多個(gè)網(wǎng)絡(luò)接口,其中,每個(gè)路由表?xiàng)l目被綁定到客戶端上的各自的接口。
23.根據(jù)權(quán)利要求22所述的裝置,其中,所述捆綁器還用于通過鏈接到代理服務(wù)器上的各自的和相對(duì)應(yīng)的網(wǎng)絡(luò)接口,來(lái)定義所述多個(gè)不同的路由表?xiàng)l目。
全文摘要
客戶端的捆綁器工具實(shí)現(xiàn)了在應(yīng)用層(24)上綁定/聚合兩個(gè)或更多個(gè)網(wǎng)絡(luò)接口的目標(biāo),以增加應(yīng)用層可以使用的帶寬。這個(gè)接口是由設(shè)備的路由表中的最長(zhǎng)前綴匹配來(lái)確定的。在不對(duì)IP棧進(jìn)行改變的情況下,捆綁器工具給出了針對(duì)鏈路聚合問題的解決方案,其中,可以在不需要對(duì)客戶端軟件進(jìn)行任何改變(例如,不改變?yōu)g覽器)并且不需要改變web服務(wù)器的情況下部署該解決方案。
文檔編號(hào)H04L29/06GK102656862SQ201080057492
公開日2012年9月5日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2009年12月18日
發(fā)明者R·H·金博爾, R·雷扎法 申請(qǐng)人:高通股份有限公司