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