專利名稱:用于增加通信網(wǎng)絡(luò)的有效帶寬的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及通信領(lǐng)域,特別涉及在計(jì)算機(jī)網(wǎng)絡(luò)上信息的有效傳輸。
背景技術(shù):
在過去的幾十年中,因特網(wǎng)的范圍從政府和大學(xué)之間的研究網(wǎng)絡(luò)迅速成長為由企業(yè)和個(gè)人進(jìn)行個(gè)人及商務(wù)交易的工具。因特網(wǎng)最初是設(shè)計(jì)為無組織的,使得在崩潰發(fā)生時(shí)實(shí)現(xiàn)通信的概率高。傳輸信息的方法是基于與通過郵件發(fā)送信件類似的概念。一條消息可以分解為多個(gè)TCP/IP分組(即,信件)并發(fā)送至收信人。與信件類似,每一分組可以采用不同的路徑到達(dá)收信人。盡管許多路徑上的許多小分組提供了相對低廉的用戶對例如網(wǎng)站的訪問,但是這比用戶和網(wǎng)站之間的點(diǎn)對點(diǎn)連接慢許多。
圖1是顯示現(xiàn)有技術(shù)中用戶到因特網(wǎng)的連接的框圖。通常,用戶110經(jīng)由接入點(diǎn)(PoP)112連接至因特網(wǎng),在現(xiàn)有技術(shù)中,接入點(diǎn)(PoP)112是由因特網(wǎng)服務(wù)提供者(ISP)運(yùn)營的。PoP連接至ISP的主干網(wǎng)114,例如ISP1。例如ISP1和ISP2的多個(gè)ISP主干網(wǎng)由例如NAP170這樣的網(wǎng)絡(luò)接入點(diǎn)連接在一起,形成因特網(wǎng)“云”160。
更特別的,在個(gè)人計(jì)算機(jī)(PC)120處的單個(gè)用戶具有多種選擇以連接至PoP112,諸如在例如固定無線PC或移動(dòng)電話上的直接用戶線(DSL)調(diào)制解調(diào)器122、TV電纜調(diào)制解調(diào)器124、標(biāo)準(zhǔn)撥號調(diào)制解調(diào)器126或無線收發(fā)器128。這里使用術(shù)語個(gè)人計(jì)算機(jī)或PC以描述具有處理器和內(nèi)存的任一設(shè)備,而不限于傳統(tǒng)的桌面PC。在PoP112處,對每一種類型的調(diào)制解調(diào)器(或收發(fā)器)有一個(gè)對應(yīng)的訪問設(shè)備,以從/向用戶110接收/發(fā)送數(shù)據(jù)。對于DSL調(diào)制解調(diào)器122,PoP112在其訪問設(shè)備處有一數(shù)字用戶線訪問復(fù)用器(DSLAM)。對于電纜調(diào)制解調(diào)器124,PoP112在其訪問設(shè)備處有一電纜調(diào)制解調(diào)器終端系統(tǒng)(CTMS)頭端器。DSL和電纜調(diào)制解調(diào)器連接允許幾百千比特每秒(Kbps)的速率,遠(yuǎn)遠(yuǎn)快于通過撥號遠(yuǎn)程訪問服務(wù)器(RAS)134在PoP112接收數(shù)據(jù)的標(biāo)準(zhǔn)撥號調(diào)制解調(diào)器126。無線收發(fā)器128可以是個(gè)人數(shù)字助理(PDA)或移動(dòng)電話的一部分,并且在PoP112處連接至例如基站這樣的無線收發(fā)器136。
企業(yè)用戶(或具有家庭辦公室的個(gè)人)可以具有局域網(wǎng)(LAN),例如通過以太網(wǎng)鏈路連接至LAN服務(wù)器144的PC140和142。企業(yè)用戶可以具有到PoP112的T1(1.544Mbps)、分?jǐn)?shù)T1連接或更快的連接。來自LAN服務(wù)器144的數(shù)據(jù)通過路由器(未顯示)發(fā)送至例如信道服務(wù)單元/數(shù)據(jù)服務(wù)單元(CSU/DSU)146這樣的數(shù)字連接設(shè)備,然后該數(shù)字連接設(shè)備通過T1(或分?jǐn)?shù)T1)線148將數(shù)字?jǐn)?shù)據(jù)發(fā)送至PoP112處的CSU/DSU。
PoP112可能包括連接了DSLAM130、CTMS頭端器132、RAS134、無線收發(fā)器136或CSU/DSU150的ISP服務(wù)器152。ISP服務(wù)器152可以提供諸如電子郵件、新聞組或域名服務(wù)器(DNS)這樣的用戶服務(wù)。或者DSLAM130、CTMS頭端器132、RAS134、無線收發(fā)器136或CSU/DSU150可以繞過ISP服務(wù)器152,直接連接至路由器154(虛線)。服務(wù)器152連接至路由器154,路由器154將PoP112連接至具有例如路由器162、164、166和158的ISP1的主干網(wǎng)。ISP2具有提供諸如電子郵件和用戶網(wǎng)絡(luò)主機(jī)這樣的競爭用戶服務(wù)的ISP2服務(wù)器180。向用戶110提供在線內(nèi)容的萬維網(wǎng)服務(wù)器182和184連接至因特網(wǎng)“云”160。
盡管因特網(wǎng)為企業(yè)和個(gè)人提供了進(jìn)行商業(yè)交易的基本功能,但是在例如萬維網(wǎng)服務(wù)器和企業(yè)或個(gè)人用戶之間傳輸信息的很長的時(shí)延是一個(gè)大問題。例如PC120處的用戶需要來自萬維網(wǎng)服務(wù)器182處的網(wǎng)站的信息。數(shù)據(jù)從萬維網(wǎng)服務(wù)器182回到用戶PC120需要許多“路程段”。而且因?yàn)樾畔⒁苑纸M“郵”回,所以分組通常通過不同路徑返回。這些不同的路徑由其它用戶的分組共享,并且一些路徑可能較慢。于是即使在萬維網(wǎng)服務(wù)器182和用戶120之間的所有鏈路都有足夠的容量,也將有顯著的時(shí)延。然而,由于還有瓶頸,即流量超過容量的地方,所以甚至還會(huì)有進(jìn)一步的延遲。
兩個(gè)主要的瓶頸是最后和倒數(shù)第二英里距離。最后一英里距離是從PoP112至用戶110。當(dāng)用戶120使用最大速度為56Kbps的撥號調(diào)制解調(diào)器時(shí),這很明顯。即使使用512Kbps的DSL調(diào)制解調(diào)器,下載圖片也很慢。倒數(shù)第二英里距離在ISP之間。具有PoP112的ISP可能通過其主干網(wǎng)114連接至更高層的ISP(未顯示),以達(dá)到地區(qū)/國家/全球覆蓋。由于到更高層ISP的帶寬增加提高了本地ISP的成本,所以具有例如PoP112的本地ISP可能減少用戶110的可用帶寬量。效果是在萬維網(wǎng)服務(wù)器182和PC120之間的流量大于鏈路容量,于是有嚴(yán)重的延遲問題。在今天快節(jié)奏的世界中,這個(gè)問題大大妨礙了因特網(wǎng)作為商業(yè)工具的使用。
因此需要提供在例如因特網(wǎng)這樣的通信網(wǎng)絡(luò)上信息傳輸?shù)男剩沟脽o論單獨(dú)還是共同,用戶對信息的等待時(shí)間都顯著減少。
發(fā)明內(nèi)容
本發(fā)明通過將一“超級”傳輸及高速緩存結(jié)構(gòu)疊加在例如因特網(wǎng)這樣的現(xiàn)有TCP/IP通信網(wǎng)絡(luò)上,提供了一種用于增加通信網(wǎng)絡(luò)的有效帶寬的系統(tǒng)和方法,其增加了通信網(wǎng)絡(luò)中的信息傳輸速率。
“超級”傳輸及高速緩存結(jié)構(gòu)包括向由通信網(wǎng)絡(luò)中的通信鏈路分隔的至少兩個(gè)模塊添加的硬件和/或軟件。在任兩個(gè)“超級”模塊之間建立通信鏈路,允許信息的快速有效傳輸,其中信息的傳輸與正傳輸?shù)脑急忍氐臄?shù)目不同,而是僅包括必須的數(shù)據(jù)比特且排除例如附加控制比特或冗余數(shù)據(jù)比特。由于通信鏈路具有固定的容量,所以增加信息比特且減少非信息比特減少了帶有非信息比特的鏈路容量的共享量。于是一些信息比特?zé)o需等待首先傳輸一些非信息比特。因此信息的傳輸延遲顯著減小。
“超級”傳輸及高速緩存結(jié)構(gòu)以及因此得到的信息傳輸速率的提高的最終結(jié)果是,通信網(wǎng)絡(luò)的用戶訪問和/或取回信息的時(shí)間顯著減少,并且通信網(wǎng)絡(luò),尤其是例如因特網(wǎng)這樣的大型網(wǎng)絡(luò),成為企業(yè)及個(gè)人進(jìn)行商業(yè)交易的有效工具。
本發(fā)明的一個(gè)實(shí)施例提供了一種由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法。首先,由第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段。然后,使用第一計(jì)算機(jī)的系統(tǒng)操作條件對于多個(gè)壓縮算法的每一壓縮算法確定一成本值?;谧钚〕杀局祻亩鄠€(gè)壓縮算法中選擇一個(gè)。使用選擇的壓縮算法壓縮該段,并且將經(jīng)壓縮的數(shù)據(jù)段發(fā)送至第二計(jì)算機(jī)系統(tǒng)。
本發(fā)明的另一實(shí)施例提供了用于由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法,該方法包括由第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段;確定該段的數(shù)據(jù)格式;使用壓縮算法壓縮該段,其中壓縮算法是基于數(shù)據(jù)格式而從多個(gè)壓縮算法中自動(dòng)選擇的;以及將經(jīng)壓縮的段發(fā)送至第二計(jì)算機(jī)。
本發(fā)明的另一實(shí)施例提供了用于由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法。該方法包括由第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段;當(dāng)通信鏈路上的數(shù)據(jù)通信量低于傳輸容量時(shí),基于壓縮該段的時(shí)間以及該段的鏈路延遲計(jì)算一函數(shù)結(jié)果;根據(jù)結(jié)果壓縮該段;以及將經(jīng)壓縮的段發(fā)送至第二計(jì)算機(jī)。
本發(fā)明的一個(gè)實(shí)施例提供了由第一計(jì)算機(jī)系統(tǒng)對具有公共目的地的多個(gè)分組進(jìn)行重分組的方法,其中第一計(jì)算機(jī)系統(tǒng)由通信鏈路連接至第二計(jì)算機(jī)系統(tǒng)。該方法包括接收多個(gè)分組,其中每一分組包括應(yīng)用數(shù)據(jù);從多個(gè)分組中提取包括應(yīng)用數(shù)據(jù)的信息;創(chuàng)建包括該信息的新的分組;以及將新的分組發(fā)送至第二計(jì)算機(jī)系統(tǒng)。
本發(fā)明的另一實(shí)施例用于使用TCP/IP協(xié)議在第一計(jì)算機(jī)系統(tǒng)和第二計(jì)算機(jī)系統(tǒng)之間提供半永久傳輸控制協(xié)議(TCP)的方法。該方法包括在第一計(jì)算機(jī)系統(tǒng)和第二計(jì)算機(jī)系統(tǒng)之間建立TCP連接;由第一計(jì)算機(jī)系統(tǒng)接收來自多個(gè)源地址的應(yīng)用信息;由第一計(jì)算機(jī)系統(tǒng)在TCP連接上發(fā)送第二應(yīng)用信息;以及斷開TCP連接。
本發(fā)明的另一實(shí)施例提供了使用第一計(jì)算機(jī)系統(tǒng)修剪來自多個(gè)第二計(jì)算機(jī)系統(tǒng)的多個(gè)復(fù)制數(shù)據(jù)請求的方法,這多個(gè)復(fù)制數(shù)據(jù)請求具有公共目的地。該方法包括由第一計(jì)算機(jī)系統(tǒng)接收多個(gè)復(fù)制數(shù)據(jù)請求;記錄多個(gè)第二計(jì)算機(jī)系統(tǒng)的返回地址;以第一計(jì)算機(jī)系統(tǒng)作為源地址,創(chuàng)建包括來自多個(gè)復(fù)制數(shù)據(jù)請求的公共數(shù)據(jù)的統(tǒng)一數(shù)據(jù)請求;以及發(fā)送統(tǒng)一數(shù)據(jù)請求。
本發(fā)明的另一實(shí)施例包括由與公眾通信網(wǎng)絡(luò)連接在一起的多個(gè)計(jì)算機(jī)提供多個(gè)虛擬專用網(wǎng)的方法。該方法包括通過使用包括多個(gè)計(jì)算機(jī)的第一計(jì)算機(jī)的地址和多個(gè)計(jì)算機(jī)的第二計(jì)算機(jī)的地址的集中許可表,在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間建立多個(gè)虛擬專用網(wǎng)的第一虛擬專用網(wǎng);以及通過使用進(jìn)一步包括多個(gè)計(jì)算機(jī)的第三計(jì)算機(jī)的地址的集中許可表,在第一計(jì)算機(jī)和第三計(jì)算機(jī)之間建立多個(gè)虛擬專用網(wǎng)的第二虛擬專用網(wǎng)。
本發(fā)明的另一實(shí)施例包括由第一計(jì)算機(jī)系統(tǒng)對具有公共目的地的多個(gè)分組進(jìn)行重分組的方法,其中第一計(jì)算機(jī)系統(tǒng)由通信鏈路連接至第二計(jì)算機(jī)系統(tǒng)。該方法包括接收多個(gè)分組,其中每一分組包括應(yīng)用數(shù)據(jù);從多個(gè)分組中提取包括應(yīng)用數(shù)據(jù)的信息;創(chuàng)建包括該信息的許多新分組;其中新分組的數(shù)目是基于通信鏈路上的數(shù)據(jù)流量而確定的;以及將許多新分組發(fā)送至第二計(jì)算機(jī)系統(tǒng)。
本發(fā)明的另一實(shí)施例包括用于增加具有標(biāo)準(zhǔn)通信協(xié)議的通信網(wǎng)絡(luò)中的信息流的系統(tǒng)。該系統(tǒng)包括第一模塊,其使用標(biāo)準(zhǔn)通信協(xié)議發(fā)送具有第一應(yīng)用信息和第一控制信息的分組;第二模塊,用于使用標(biāo)準(zhǔn)通信協(xié)議接收該分組并發(fā)送一超級分組,該超級分組具有第二應(yīng)用信息和第二控制信息,其中第二應(yīng)用信息包括第一應(yīng)用信息和一些第一控制信息;和第三模塊,用于使用標(biāo)準(zhǔn)通信協(xié)議接收超級分組。
本發(fā)明的另一實(shí)施例包括用于減少請求者計(jì)算機(jī)系統(tǒng)經(jīng)由中間計(jì)算機(jī)系統(tǒng)從遠(yuǎn)程數(shù)據(jù)存儲器中取回信息所需的時(shí)間的方法。該方法包括由中間計(jì)算機(jī)系統(tǒng)接收請求以從數(shù)據(jù)存儲器中取回?cái)?shù)據(jù);由該中間計(jì)算機(jī)系統(tǒng)從數(shù)據(jù)存儲器中取回第一數(shù)據(jù)項(xiàng);以及中間計(jì)算機(jī)系統(tǒng)在從數(shù)據(jù)存儲器中取回第二數(shù)據(jù)項(xiàng)的同時(shí)將第一數(shù)據(jù)項(xiàng)發(fā)送至請求者計(jì)算機(jī)系統(tǒng)。
本發(fā)明的一個(gè)實(shí)施例包括用于提高通信網(wǎng)絡(luò)中多個(gè)超級模塊的兩個(gè)超級模塊之間的網(wǎng)段的性能的系統(tǒng)。該系統(tǒng)包括多個(gè)超級模塊的第一超級模塊,用于接收多個(gè)IP分組并發(fā)送經(jīng)修改的數(shù)據(jù)分組,其包括從多個(gè)IP分組聯(lián)合的應(yīng)用數(shù)據(jù);和多個(gè)超級模塊的第二超級模塊,用于接收經(jīng)修改的數(shù)據(jù)分組,其中第二超級模塊包括帶有附加應(yīng)用層的TCP/IP通信協(xié)議棧以處理經(jīng)修改的數(shù)據(jù)分組。
參考下面的說明書、所附權(quán)利要求和附圖,可以更好的理解本發(fā)明的這些及其它實(shí)施例、特征、方面和優(yōu)點(diǎn)。
圖1是顯示現(xiàn)有技術(shù)中到因特網(wǎng)的用戶連接的框圖。
圖2是圖1的簡化而擴(kuò)展的框圖,用于幫助解釋本發(fā)明。
圖3顯示了TCP/IP協(xié)議棧以及各層的相關(guān)數(shù)據(jù)單元。
圖4是根據(jù)本發(fā)明實(shí)施例的瀏覽器和萬維網(wǎng)服務(wù)器之間的通信路徑的框圖。
圖4-1是現(xiàn)有TCP/IP的例子以及根據(jù)本發(fā)明實(shí)施例的兩個(gè)改進(jìn)的TCP/IP協(xié)議棧。
圖5是根據(jù)本發(fā)明實(shí)施例,插入到圖2的現(xiàn)有系統(tǒng)中的超級模塊的框圖。
圖6顯示了根據(jù)本發(fā)明的實(shí)施例,在瀏覽器和萬維網(wǎng)服務(wù)器之間的壓縮的數(shù)據(jù)通道。
圖7顯示了根據(jù)本發(fā)明的實(shí)施例,基于傳輸數(shù)據(jù)的數(shù)據(jù)格式的壓縮算法。
圖8是根據(jù)本發(fā)明的另一實(shí)施例,確定是否應(yīng)壓縮數(shù)據(jù)的流程圖。
圖9顯示了根據(jù)本發(fā)明的另一實(shí)施例的另一壓縮過程的流程圖。
圖10A是根據(jù)本發(fā)明的實(shí)施例,在超級用戶處對多個(gè)應(yīng)用數(shù)據(jù)單元進(jìn)行重分組的流程圖。
圖10B是根據(jù)本發(fā)明的另一實(shí)施例,在超級用戶處對多個(gè)應(yīng)用數(shù)據(jù)單元進(jìn)行重分組的流程圖。
圖10C具體解釋了圖10B的步驟。
圖11顯示了根據(jù)本發(fā)明的一個(gè)方面,從超級用戶到超級主機(jī)的信使分組的例子。
圖11-1說明了根據(jù)本發(fā)明一個(gè)方面,并行實(shí)現(xiàn)數(shù)據(jù)取回和傳輸?shù)睦印?br>
圖12顯示了從超級用戶向超級主機(jī)內(nèi)爆數(shù)據(jù)請求的例子。
圖13A是根據(jù)本發(fā)明的實(shí)施例,向同一目的地內(nèi)爆復(fù)制數(shù)據(jù)請求的過程的流程圖。
圖13B顯示了根據(jù)本發(fā)明的實(shí)施例,向內(nèi)爆的請求發(fā)送響應(yīng)的過程。
圖14A顯示了在傳輸層的發(fā)送器和接收器之間現(xiàn)有的TCP/IP連接、數(shù)據(jù)傳輸和斷開。
圖14B顯示了根據(jù)本發(fā)明的實(shí)施例,對于半永久連接的TCP/IP連接、數(shù)據(jù)傳輸和斷開。
圖15顯示了現(xiàn)有的站點(diǎn)到站點(diǎn)VPN1440和現(xiàn)有的遠(yuǎn)程VPN1446的例子。
圖16顯示了根據(jù)本發(fā)明的實(shí)施例的兩個(gè)虛擬專用網(wǎng)(VPN)的例子。
具體實(shí)施例方式
在下面的說明書中,給出了眾多特定細(xì)節(jié),以提供本發(fā)明特定實(shí)施例的更充分的說明。然后,對于本領(lǐng)域技術(shù)人員顯然可以看出,本發(fā)明不限于所給出的所有特定細(xì)節(jié)。在其它示例中沒有具體說明眾所周知的特征,從而更突出本發(fā)明。
為了使個(gè)人和企業(yè)將因特網(wǎng)作為有效的商業(yè)工具而使用,用戶請求和接收信息所需的時(shí)間必須比現(xiàn)在典型的所需時(shí)間大為縮短。本發(fā)明提供了可以疊加在因特網(wǎng)基礎(chǔ)設(shè)施的部件上的“超級”系統(tǒng)和技術(shù),以增加網(wǎng)絡(luò)中的信息流量,該系統(tǒng)和技術(shù)無論單獨(dú)還是聯(lián)合使用,都顯著減少了用戶對于來自例如萬維網(wǎng)站點(diǎn)或其它用戶的信息的等待時(shí)間。
圖2是圖1的簡化而擴(kuò)展的框圖,用于幫助解釋本發(fā)明。其中圖2使用了與和圖1相同的標(biāo)簽。調(diào)制解調(diào)器210包括圖1的DSL調(diào)制解調(diào)器122、電纜調(diào)制解調(diào)器124、撥號調(diào)制解調(diào)器126和無線收發(fā)器128。類似地,訪問設(shè)備220包括圖1的相應(yīng)DSLAM130、CMTS頭端器132、RAS134和無線收發(fā)器136。數(shù)字連接設(shè)備212和222包括CSU/DSU設(shè)備146和150,另外還包括衛(wèi)星、ISDN或ATM連接設(shè)備。圖2在LAN服務(wù)器144和調(diào)制解調(diào)器210之間具有附加連接,以說明LAN的另一選擇,以連接至除數(shù)字連接設(shè)備212以外還連接到PoP112。圖2中顯示的多數(shù)計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)使用標(biāo)準(zhǔn)傳輸通信協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)協(xié)議進(jìn)行通信。
圖3顯示了TCP/IP協(xié)議棧以及各層的相關(guān)數(shù)據(jù)單元。TCP/IP協(xié)議棧310包括應(yīng)用層312、傳輸層314、因特網(wǎng)層316和網(wǎng)絡(luò)訪問層318。應(yīng)用層接收應(yīng)用程序或用戶數(shù)據(jù)320、數(shù)據(jù)的一個(gè)塊或單元,我們可以稱其為應(yīng)用數(shù)據(jù)單元。例如,對于網(wǎng)頁的用戶請求可以是一個(gè)應(yīng)用數(shù)據(jù)單元。在TCP/IP中有多種應(yīng)用級協(xié)議,包括用于電子郵件的簡單郵件傳輸協(xié)議(SMTP)和郵局協(xié)議(POP)、用于萬維網(wǎng)的超文本傳輸協(xié)議(HTTP)、以及文件傳輸協(xié)議(FTP)。
傳輸層314包括傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。TCP是基于連接的協(xié)議,在源和目的地之間提供可靠的虛電路。TCP保證使用其的應(yīng)用程序以字節(jié)發(fā)送的順序投遞字節(jié)流,即使IP分組投遞服務(wù)不可靠也不會(huì)發(fā)生重復(fù)或數(shù)據(jù)損失。傳輸層通過TCP報(bào)頭322向數(shù)據(jù)320添加控制信息,這稱為TCP數(shù)據(jù)單元。UDP不能保證分組投遞,并且使用UDP的應(yīng)用程序必須提供它們自己的保證投遞的方式。
因特網(wǎng)層316是由于TCP/IP對網(wǎng)際互聯(lián)的強(qiáng)調(diào)而命名的。這是發(fā)送并接收因特網(wǎng)協(xié)議(IP)分組的無連接層。盡管IP分組具有IP分組的原始源地址和最終目的地址,但是如果分組達(dá)到其最終目的地,則在特定節(jié)點(diǎn)的IP層無需任何知識便將IP分組路由至下一節(jié)點(diǎn)。IP分組包括添加至TCP數(shù)據(jù)單元(TCP報(bào)頭322和數(shù)據(jù)320)的IP報(bào)頭324。
網(wǎng)絡(luò)訪問層318是底層,處理IP分組的物理傳輸。網(wǎng)絡(luò)訪問層318將現(xiàn)存的數(shù)據(jù)鏈路和物理層標(biāo)準(zhǔn)集合,而不是定義其自身的標(biāo)準(zhǔn)。這一層定義了網(wǎng)絡(luò)硬件和設(shè)備驅(qū)動(dòng)。報(bào)頭326和尾部(未顯示)添加至IP分組,以允許IP分組在通信線路上的物理傳輸。
圖2中TCP/IP協(xié)議的使用的一個(gè)例子是PC140處的用戶請求來自萬維網(wǎng)服務(wù)器182的網(wǎng)頁。用戶通過其瀏覽器在應(yīng)用層312創(chuàng)建對于網(wǎng)頁的用戶請求,即應(yīng)用數(shù)據(jù)單元320(圖3)。TCP/IP棧310創(chuàng)建一個(gè)或多個(gè)TCP數(shù)據(jù)單元,其中每一TCP數(shù)據(jù)單元具有應(yīng)用數(shù)據(jù)單元320的部分,其附有TCP報(bào)頭322。PC140處的傳輸層314與萬維網(wǎng)服務(wù)器182處的傳輸層314的TCP建立對等連接,即虛電路。每一TCP數(shù)據(jù)單元被分為一個(gè)或多個(gè)IP分組。IP分組被發(fā)送至LAN服務(wù)器144,然后發(fā)送至PoP服務(wù)器152,然后通過PoP路由器154發(fā)送至因特網(wǎng)154。IP分組通過因特網(wǎng)160上的多條路徑到達(dá)萬維網(wǎng)服務(wù)器182。然后萬維網(wǎng)服務(wù)器182處的傳輸層314從IP分組重組TCP數(shù)據(jù)單元,并將TCP數(shù)據(jù)單元傳遞至應(yīng)用層312,以重組用戶請求。然后執(zhí)行得到網(wǎng)頁的用戶請求。為了將網(wǎng)頁發(fā)回到用戶,可以在萬維網(wǎng)服務(wù)器182和PC140的傳輸層之間使用相同的TCP虛電路。然后網(wǎng)頁被分解為TCP數(shù)據(jù)單元,然后TCP數(shù)據(jù)單元被分解為IP分組并通過因特網(wǎng)160、PoP路由器154、PoP服務(wù)器152、LAN服務(wù)器144發(fā)送至PC140。
在用戶和萬維網(wǎng)服務(wù)器之間的現(xiàn)有互聯(lián)的上例中出現(xiàn)了若干問題。首先,以太網(wǎng)框架中的最大傳輸單元(MTU),即最大數(shù)據(jù)量,是1500字節(jié)。然而,TCP/IP中數(shù)據(jù)320的最大值約為64,000字節(jié)。例如一16Mbps令牌環(huán)具有約18,000字節(jié)MTU并且使用調(diào)制解調(diào)器的撥號連接具有約576字節(jié)MTU。這意味著,即使離開LAN服務(wù)器144的MTU也可能大于1500字節(jié),但PC140和萬維網(wǎng)服務(wù)器182之間的虛電路通常以用戶和萬維網(wǎng)服務(wù)器之間的最低MTU使用分組,即,將有許多小IP分組來回發(fā)送。第二,在用戶使用網(wǎng)站時(shí),不僅僅存在一個(gè)請求和一個(gè)響應(yīng),而是發(fā)生一系列的瀏覽器請求和萬維網(wǎng)服務(wù)器響應(yīng)。例如,對于有圖片的網(wǎng)頁的用戶請求實(shí)際上被瀏覽器分解為多個(gè)請求,一個(gè)對于超文本鏈接標(biāo)示語言(HTML)的請求后跟隨若干對于圖片的請求。第三,盡管壓縮可以大大減小文件尺寸,但是文本和圖片通常是以未壓縮的格式發(fā)送的。于是這些和其它問題導(dǎo)致現(xiàn)有的TCP/IP網(wǎng)絡(luò)在從萬維網(wǎng)服務(wù)器向用戶獲得數(shù)據(jù)中具有顯著延遲。
圖4是根據(jù)本發(fā)明實(shí)施例的瀏覽器和萬維網(wǎng)服務(wù)器之間的通信路徑的框圖。上面說明了當(dāng)用戶使用瀏覽器512請求來自萬維網(wǎng)服務(wù)器182的網(wǎng)頁514時(shí),在瀏覽器512和萬維網(wǎng)服務(wù)器182之間的現(xiàn)有的交換。本發(fā)明的一個(gè)實(shí)施例創(chuàng)建了包括超級用戶540、超級應(yīng)用532、超級中央辦公室(CO)服務(wù)器534、超級CO集中器536和超級主機(jī)538在內(nèi)的多個(gè)“超級”模塊,提供了可選的超級高速公路路徑,以在瀏覽器512和萬維網(wǎng)服務(wù)器182之間交換數(shù)據(jù)。對于網(wǎng)頁514的用戶請求由PC140上執(zhí)行的瀏覽器512發(fā)送至同樣運(yùn)行在PC140上的超級用戶軟件530。然后超級用戶530將用戶請求發(fā)送至LAN服務(wù)器144上運(yùn)行(或在另一實(shí)施例中,在其自己的服務(wù)器上執(zhí)行)的超級應(yīng)用532。然后超級應(yīng)用532將用戶請求發(fā)送至超級CO服務(wù)器534,后者將請求發(fā)送至超級CO集中器536。超級CO服務(wù)器534和超級CO集中器536可以是單獨(dú)的服務(wù)器也可以是在PoP服務(wù)器152上運(yùn)行的軟件。超級CO集中器536通過因特網(wǎng)160將用戶請求發(fā)送至超級主機(jī)538(或在另一實(shí)施例中,主機(jī)538是萬維網(wǎng)服務(wù)器182上運(yùn)行的軟件)。用戶請求從超級主機(jī)548前進(jìn)至萬維網(wǎng)服務(wù)器182,后者從萬維網(wǎng)服務(wù)器182上運(yùn)行的網(wǎng)站中取回網(wǎng)頁154(萬維網(wǎng)服務(wù)器182可以包括服務(wù)器的萬維網(wǎng)群和多個(gè)網(wǎng)站)。然后網(wǎng)頁514通過超級主機(jī)538、超級CO集中器536、超級CO服務(wù)器534、超級應(yīng)用532和超級用戶530返回瀏覽器512。
在另一實(shí)施例中,可能沒有一個(gè)或多個(gè)超級模塊,例如,超級應(yīng)用532。在沒有超級應(yīng)用532的情況中,超級CO服務(wù)器534通過LAN服務(wù)器144與超級用戶530交換信息。另一個(gè)例子是,如果不存在超級主機(jī)548,則萬維網(wǎng)服務(wù)器182與超級CO集中器536交換信息。于是如果缺少一個(gè)超級模塊,使用相應(yīng)的一般模塊,例如PC140、LAN服務(wù)器144、PoP服務(wù)器150、PoP路由器154和萬維網(wǎng)服務(wù)器182,作為替代。可以使用所有或一些超級模塊,并且只要在至少兩個(gè)不同的超級模塊之間有至少一條通信鏈路,流過該鏈路的信息將會(huì)顯著提高。另外,可以配置更多的超級模塊,以在網(wǎng)絡(luò)上延伸超級層的粒度。
除了上述用戶到服務(wù)器的應(yīng)用,因特網(wǎng)或網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)部的超級模塊可以用于在那些網(wǎng)段上提高性能。在這樣的一個(gè)實(shí)施例中,優(yōu)化了在網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)部的多個(gè)超級模塊之間傳輸?shù)乃袛?shù)據(jù)。例如,在網(wǎng)絡(luò)的不同部分中的超級CO服務(wù)器模塊之間的通信在提高諸如洲際線路或衛(wèi)星通信這樣的昂貴或有限帶寬鏈路的效率方面,格外引人注目。該實(shí)施例還提高了具有超級模塊的任意兩個(gè)網(wǎng)絡(luò)點(diǎn)之間的通信的性能并降低了其成本。任何超級模塊的互操作性也允許了分層的方法,以對于一個(gè)邏輯或物理區(qū)域優(yōu)化通信。例如,若干本地超級CO服務(wù)器可以對于區(qū)域超級模塊排成層列,而后者又對于國家超級模塊排成層列。這種分層方法在整個(gè)網(wǎng)絡(luò)上,與應(yīng)用程序或原始源無關(guān)地,對于超級模塊之間的所有網(wǎng)絡(luò)流量擴(kuò)展了超級應(yīng)用層的粒度(即,可以有來自任意數(shù)目的超級模塊源或任意數(shù)目的一般模塊源的數(shù)據(jù)的組合)。
圖4-1是現(xiàn)有TCP/IP的例子以及根據(jù)本發(fā)明實(shí)施例的兩個(gè)改進(jìn)的TCP/IP協(xié)議棧。應(yīng)用層312、傳輸層314、因特網(wǎng)層316和網(wǎng)絡(luò)訪問層318與圖3的TCP/IP協(xié)議棧310中的層相同,并且是對于例如PC140這樣的一般模塊460。應(yīng)用層420和440、“超級”應(yīng)用層422和442、傳輸層424和444、因特網(wǎng)層426和446以及網(wǎng)絡(luò)訪問層428和448是實(shí)施例的改進(jìn)的TCP/IP協(xié)議棧,并且是對于例如超級應(yīng)用532和超級用戶530這樣的超級模塊462和464的。一般模塊460通過通信鏈路418連接至超級模塊462,超級模塊462通過通信鏈路450連接至超級模塊464。
超級模塊462在接收來自一個(gè)或多個(gè)一般模塊460的IP分組時(shí),從IP分組的IP和TCP報(bào)頭中抽取所有應(yīng)用層數(shù)據(jù)和可應(yīng)用數(shù)據(jù)至超級應(yīng)用層422。來自一般模塊和應(yīng)用層420的應(yīng)用層數(shù)據(jù)可能是任何協(xié)議,例如HTTP1.0、HTTP1.1、FTP、POP、SMTP等。超級應(yīng)用層將應(yīng)用數(shù)據(jù)和合適的TCP層及IP層數(shù)據(jù)分組為一個(gè)大的應(yīng)用層數(shù)據(jù)單元。在超級模塊462和464之間使用一般TCP/IP傳輸機(jī)制。這意味著,當(dāng)在超級模塊462和超級模塊464之間有一個(gè)或多個(gè)中間一般節(jié)點(diǎn)時(shí),與一般模塊460中類似,TCP/IP棧用于傳輸這一個(gè)大的應(yīng)用層數(shù)據(jù)單元。例如,當(dāng)超級模塊464必須將應(yīng)用程序分組投遞至一般模塊時(shí)。這一個(gè)大應(yīng)用層數(shù)據(jù)單元由超級應(yīng)用層442拆包,TCP/IP分組被重構(gòu)并發(fā)送至一般節(jié)點(diǎn)。于是許多部分填充的數(shù)據(jù)分組(每一個(gè)都具有額外的地址信息)能夠被有效地重新組合為一個(gè)大分組。對于例如跨海這樣的長途傳輸通信,邏輯類似于集裝箱運(yùn)輸而導(dǎo)致的成本節(jié)約。
圖5是根據(jù)本發(fā)明實(shí)施例,插入到圖2的現(xiàn)有系統(tǒng)中的超級模塊的框圖。對于相同或相似的設(shè)備,在圖4中使用了與圖2相同的標(biāo)簽。超級用戶540通過調(diào)制解調(diào)器210經(jīng)由訪問設(shè)備220連接至PoP服務(wù)器152。具有超級用戶530、超級用戶542和超級應(yīng)用532的局域網(wǎng)連接至調(diào)制解調(diào)器210或數(shù)字連接設(shè)備212,其中數(shù)字連接設(shè)備212由數(shù)字連接設(shè)備222連接至PoP服務(wù)器152。超級應(yīng)用532包括在LAN服務(wù)器144上執(zhí)行的軟件。服務(wù)器152通過交換機(jī)420連接至路由器154,交換機(jī)420使分組業(yè)務(wù)轉(zhuǎn)向超級CO服務(wù)器534和超級CO集中器536。路由器154連接至因特網(wǎng)云160。從因特網(wǎng)160開始,業(yè)務(wù)可以到達(dá)連接至萬維網(wǎng)服務(wù)器182的超級主機(jī)538或者連接至萬維網(wǎng)服務(wù)器184的超級主機(jī)550或者連接至ISP服務(wù)器180的超級主機(jī)552。
超級系統(tǒng)部件下面說明的是圖5的超級系統(tǒng)的各個(gè)部件的一個(gè)實(shí)施例,包括超級用戶540、超級應(yīng)用532、超級CO服務(wù)器534、超級CO集中器536和超級主機(jī)538。
超級用戶530包括位于用戶PC,例如PC140,中的軟件。瀏覽器,例如Microsoft的Internet Explorer,被設(shè)置為到超級用戶530的代理,以使所有瀏覽器數(shù)據(jù)請求都由超級用戶530提供。另外,通過瀏覽器的所有用戶請求都被發(fā)送至超級用戶530。于是瀏覽器由超級用戶與網(wǎng)絡(luò)的其它部分隔離。超級用戶在用戶的PC上的本地高速緩存中對用戶請求的所有數(shù)據(jù)進(jìn)行高速緩存,使得當(dāng)用戶再次請求數(shù)據(jù)時(shí),如果可用即從本地高速緩存中本地取回。如果被高速緩存的數(shù)據(jù)超過預(yù)定的文件大小,則超級用戶分析本地高速緩存中的所有數(shù)據(jù),并刪除最不常使用的數(shù)據(jù)。例如,可以使用一種現(xiàn)有的最近不常使用算法丟棄舊數(shù)據(jù)。超級用戶540的一些軟件功能有1.高速緩存如果瀏覽器請求在本地高速緩存中存在的數(shù)據(jù)并且數(shù)據(jù)滿足高速緩存壽命需求,則從本地高速緩存提供該數(shù)據(jù)。否則從更新的數(shù)據(jù)是可訪問的最近的超級模塊高速緩存,例如超級應(yīng)用532或超級CO服務(wù)器534、超級CO集中器536或超級主機(jī)538,中取回該數(shù)據(jù),或者如果對于任一超級高速緩存都是不可訪問的,則可從萬維網(wǎng)服務(wù)器取回該數(shù)據(jù)。每一數(shù)據(jù)元素具有一高速緩存壽命,即它在需要刷新之前可以被高速緩存使用多久。
2.刷新高速緩存當(dāng)超級用戶PC空閑時(shí)(沒有活躍地取回來自因特網(wǎng)的數(shù)據(jù)),超級用戶檢查本地高速緩存并自動(dòng)刷新達(dá)到高速緩存壽命的數(shù)據(jù)。超級用戶使用人工智能(AI)或其它技術(shù),基于其確定的用戶最可能請求哪些而把刷新區(qū)分優(yōu)先次序。例如,超級用戶可以對用戶訪問一網(wǎng)頁的頻率進(jìn)行計(jì)數(shù)。較高的計(jì)數(shù)表示用戶更可能在將來請求該網(wǎng)頁,并且超級用戶將自動(dòng)刷新該頁。
3.預(yù)取超級用戶在空閑時(shí)間期間,使用AI或其它技術(shù)預(yù)取被用戶需要的可能性高的網(wǎng)頁(即,取回用戶還沒有請求的網(wǎng)頁)。例如,如果用戶正在瀏覽目錄站點(diǎn)上的某些網(wǎng)頁,則用戶將瀏覽同一目錄中的站點(diǎn)上的其它頁的概率高。超級用戶將預(yù)取這些頁。預(yù)取增加了用戶從本地高速緩存獲得數(shù)據(jù)的概率。
4.信使分組(后面描述)被分組,并且經(jīng)分組的數(shù)據(jù)在發(fā)送至超級應(yīng)用或超級CO服務(wù)器之前由超級用戶壓縮。信使分組被拆包,并且被拆包的數(shù)據(jù)在發(fā)送至瀏覽器之前由超級用戶解壓縮。
超級應(yīng)用532包括在LAN服務(wù)器144上執(zhí)行的軟件。超級應(yīng)用532執(zhí)行的一些功能包括防火墻安全、全局高速緩存、分群、智能主機(jī)以及電子郵件管理。超級應(yīng)用軟件執(zhí)行的功能還包括1.如果超級應(yīng)用連接到超級CO服務(wù)器,則它們之間傳輸?shù)乃袛?shù)據(jù)被壓縮并分組為信使分組,否則使用標(biāo)準(zhǔn)因特網(wǎng)請求并且響應(yīng)在被發(fā)送至超級用戶之前被分組為信使分組。
2.超級應(yīng)用還自動(dòng)復(fù)制并保留其用戶頻繁使用的網(wǎng)站。
3.如果超級應(yīng)用連接到超級CO服務(wù)器,則它只有當(dāng)被通知來自超級CO服務(wù)器的改變時(shí),才更新網(wǎng)站的拷貝。如果超級應(yīng)用沒有連接到超級CO服務(wù)器,則它在空閑時(shí)間期間和/或在周期性的預(yù)定間隔期間檢查網(wǎng)站的更新。
4.如果超級用戶連接到超級應(yīng)用,則所有數(shù)據(jù)響應(yīng)以壓縮的格式傳輸至超級用戶。如果固定用戶連接到超級應(yīng)用,則數(shù)據(jù)響應(yīng)在超級應(yīng)用中被解壓縮并發(fā)送至用戶。如果超級用戶正在保留網(wǎng)站,則只要網(wǎng)頁在超級應(yīng)用上被更新時(shí),就將一條提醒發(fā)送至超級用戶,使得超級用戶可以請求該變化。
5.超級用戶還向超級應(yīng)用提醒有關(guān)用戶PC監(jiān)視器密度的信息,使得可以對局域網(wǎng)上傳輸?shù)膱D片進(jìn)行調(diào)整。向不能顯示圖片的監(jiān)視器發(fā)送高密度圖片是網(wǎng)絡(luò)資源的浪費(fèi)。超級應(yīng)用中的軟件在傳輸數(shù)據(jù)之前調(diào)整圖片密度。
6.如果多于一個(gè)超級用戶請求同一數(shù)據(jù),則超級應(yīng)用發(fā)出請求并僅發(fā)送一個(gè)請求至下一超級模塊,例如,超級CO服務(wù)器。如果在超級應(yīng)用和網(wǎng)站之間沒有另一超級模塊,則請求仍然內(nèi)爆(implode)并且作出標(biāo)準(zhǔn)TCP/IP請求。當(dāng)接收到對于內(nèi)爆的請求的響應(yīng)時(shí),超級應(yīng)用發(fā)出該數(shù)據(jù)并且數(shù)據(jù)被發(fā)送至合適的超級用戶。
超級應(yīng)用保留的網(wǎng)站越多,網(wǎng)頁的訪問速度越接近局域網(wǎng)的速度。超級用戶處保留的網(wǎng)頁越多,網(wǎng)絡(luò)訪問速度越接近硬盤訪問速度。超級應(yīng)用和超級用戶上能復(fù)制和保留的網(wǎng)頁越多,最后一英里距離越不會(huì)成為響應(yīng)時(shí)間的瓶頸。
超級CO服務(wù)器534是因特網(wǎng)主干網(wǎng)114和用戶110之間的橋梁。超級CO服務(wù)器534的一個(gè)目的是將用戶和因特網(wǎng)之間的流量最小化。超級CO服務(wù)器通過復(fù)制超級用戶或一般用戶經(jīng)由超級CO服務(wù)器訪問的網(wǎng)站而實(shí)現(xiàn)這一點(diǎn)。超級CO服務(wù)器上的網(wǎng)站越多,通過減少數(shù)據(jù)在網(wǎng)絡(luò)上的移動(dòng)而對網(wǎng)絡(luò)的優(yōu)化越大。如果超級CO服務(wù)器上的網(wǎng)站來自超級CO集中器536存儲的網(wǎng)站,則無論何時(shí)超級CO集中器536向超級CO服務(wù)器534提醒網(wǎng)頁已經(jīng)變化,超級CO服務(wù)器534都請求更新的網(wǎng)頁。來自超級CO集中器536的網(wǎng)頁以壓縮且重分組的格式存儲。如果超級CO服務(wù)器上的網(wǎng)站沒有存儲在超級CO集中器中,則超級CO服務(wù)器以預(yù)定的間隔檢查在主萬維網(wǎng)服務(wù)器的網(wǎng)站中的變化。超級CO服務(wù)器保留在每一超級應(yīng)用532高速緩存上的網(wǎng)站的日志。當(dāng)超級應(yīng)用高速緩存上存在的網(wǎng)站發(fā)生變化時(shí),向超級應(yīng)用發(fā)送發(fā)生變化以及超級應(yīng)用應(yīng)請求改變的網(wǎng)頁的更新拷貝的提醒。當(dāng)數(shù)據(jù)從非超級CO集中器站點(diǎn)接收時(shí),它被壓縮、分組并保存在超級CO服務(wù)器上。超級CO服務(wù)器從其請求日志確定被其用戶訪問的網(wǎng)站,并確定復(fù)制并在超級CO服務(wù)器534高速緩存中保留哪一網(wǎng)站。超級CO服務(wù)器還將刪除未被使用的站點(diǎn)。如果一個(gè)網(wǎng)站沒有被存儲和保留,則該網(wǎng)頁保留在單獨(dú)的全局高速緩存中,使得如果被再次請求則可以從全局高速緩存中提供。在全局高速緩存和網(wǎng)絡(luò)主機(jī)中應(yīng)維持正確的平衡。全局高速緩存和超級CO服務(wù)器可以作為一個(gè)高速緩存而實(shí)現(xiàn)并分別管理,或者作為兩個(gè)單獨(dú)的高速緩存而實(shí)現(xiàn)。如果超級應(yīng)用請求一網(wǎng)頁,則該網(wǎng)頁以超級壓縮且重分組的格式發(fā)送,否則該網(wǎng)頁被解壓縮并發(fā)送至請求用戶。最靠近用戶的超級模塊拆包任何重分組格式并解壓縮數(shù)據(jù),使得它以原始形式發(fā)送至用戶。最靠近用戶的超級模塊還高速緩存未壓縮且未分組格式的信息。使用的優(yōu)化涉及應(yīng)用于可變數(shù)據(jù)(通常為文本)的壓縮量和網(wǎng)頁上可變數(shù)據(jù)的量。因特網(wǎng)上使用的Rich數(shù)據(jù)格式越多,得到的優(yōu)化越大。Flash軟件、文件、java程序、java script等都存儲在超級CO服務(wù)器。
來自超級應(yīng)用的沒有被超級CO服務(wù)器高速緩存滿足的數(shù)據(jù)請求發(fā)送至負(fù)責(zé)為請求的URL(網(wǎng)站)服務(wù)的超級CO集中器536。請求被根據(jù)優(yōu)化機(jī)制而分組壓縮并內(nèi)爆。在一個(gè)實(shí)施例中,在超級CO服務(wù)器發(fā)生數(shù)據(jù)內(nèi)爆的第一級。在另一實(shí)施例中,內(nèi)爆由超級應(yīng)用完成。超級CO服務(wù)器由ISP地理組織,使得區(qū)域定向的復(fù)制使用特性可以在請求上內(nèi)爆并在響應(yīng)上外爆(explode)。不能由超級CO服務(wù)器的高速緩存中的數(shù)據(jù)響應(yīng)的所有請求和內(nèi)爆的請求被傳遞至超級CO集中器。
超級CO集中器536由網(wǎng)站(URL的)組織。這增加了用戶需要的網(wǎng)站數(shù)據(jù)在CO集中器的高速緩存中的概率。它還增加了請求能被內(nèi)爆以及網(wǎng)絡(luò)流量能得到減小的概率。每一超級CO集中器負(fù)責(zé)高速緩存以及與超級主機(jī),例如538,和其它非超級主機(jī)網(wǎng)站接口。對于非超級主機(jī)網(wǎng)站,超級CO集中器536是遇到的第一個(gè)超級模塊,并且發(fā)生了所有圖片的初始重分組、第一壓縮、最終內(nèi)爆、第一外爆、轉(zhuǎn)化至優(yōu)化的壓縮格式,例如PGN或合適的壓縮算法,以及發(fā)生超級高速緩存的第一級。這里也是其它超級模塊發(fā)生所有檢查和刷新的地點(diǎn)。當(dāng)來自網(wǎng)站的數(shù)據(jù)被刷新并更新時(shí),通知超級CO服務(wù)器,使得所有高速緩存都可以被更新和刷新。
萬維網(wǎng)服務(wù)器作為連接到因特網(wǎng)的一個(gè)或多個(gè)網(wǎng)站的主機(jī)。超級主機(jī),即超級主機(jī)538,響應(yīng)超級CO集中器例如536作出的請求。每次作出下載萬維網(wǎng)服務(wù)器上任一網(wǎng)站的請求時(shí),超級主機(jī)538從萬維網(wǎng)服務(wù)器中取回網(wǎng)頁并在將內(nèi)容發(fā)送至請求的超級CO集中器之前將內(nèi)容壓縮并分組。這通過有效的壓縮率以及通過對所有被請求的網(wǎng)頁數(shù)據(jù)發(fā)送單個(gè)數(shù)據(jù)塊,提高了網(wǎng)絡(luò)傳輸?shù)男省J褂脤τ跀?shù)據(jù)的特定類型執(zhí)行的最好的技術(shù),分析并壓縮每一條信息。當(dāng)接收到每一超級CO集中器請求時(shí),超級主機(jī)記錄超級CO集中器的IP地址。超級主機(jī)檢查在萬維網(wǎng)服務(wù)器中包含的網(wǎng)站,并將任何變化的網(wǎng)頁通知曾經(jīng)請求來自該網(wǎng)站的數(shù)據(jù)的任一超級CO集中器。這使得超級CO集中器能夠知道何時(shí)需要刷新其網(wǎng)站版本,并通過允許超級CO集中器從超級CO集中器的高速緩存中的網(wǎng)頁的版本直接為用戶對于網(wǎng)頁的請求提供服務(wù)而最小化萬維網(wǎng)流量。網(wǎng)頁的超級CO集中器版本需要刷新的時(shí)刻僅僅是其發(fā)生改變時(shí)。這使得可以最小化從萬維網(wǎng)主機(jī)站點(diǎn)到ISP站點(diǎn)的流量。在每一網(wǎng)站處有許多ISP站點(diǎn)訪問數(shù)據(jù)。這是將網(wǎng)站移至因特網(wǎng)的外緣并將壓縮和分組帶至因特網(wǎng)的內(nèi)部工作中的一個(gè)步驟。將網(wǎng)站移至因特網(wǎng)的外緣的困難是確保數(shù)據(jù)是當(dāng)前的,超級模塊高速緩存的互鎖保證了這一點(diǎn)。
壓縮及有效文件格式數(shù)據(jù)壓縮在通信中非常有用,因?yàn)樗沟迷O(shè)備能夠以更少的比特傳輸相同數(shù)量的信息。有多種數(shù)據(jù)壓縮技術(shù),但是僅有幾種已經(jīng)標(biāo)準(zhǔn)化。另外,還有文件壓縮格式,諸如ARC、GZIP和ZIP。
本發(fā)明的一個(gè)方面盡可能接近數(shù)據(jù)源來壓縮數(shù)據(jù),并將壓縮的數(shù)據(jù)沿網(wǎng)絡(luò)傳輸至其需要解壓縮的點(diǎn)。壓縮的數(shù)據(jù)以壓縮的格式存儲在源和目的地之間的各超級模塊處,壓縮格式不必相同。這使得壓縮能夠隨網(wǎng)絡(luò)的負(fù)載動(dòng)態(tài)而改變。現(xiàn)有的瀏覽器技術(shù)需要解壓縮的數(shù)據(jù),于是網(wǎng)站的數(shù)據(jù)應(yīng)被壓縮并且只有在由瀏覽器處理之前才解壓縮。對于壓縮的突出需求是最后一英里距離,因?yàn)槟抢锎嬖趲捪拗啤S谑窃诔塁O服務(wù)器534和超級應(yīng)用532或超級用戶540之間發(fā)生壓縮是很重要的。
圖6顯示了根據(jù)本發(fā)明的實(shí)施例,在瀏覽器和萬維網(wǎng)服務(wù)器之間的壓縮的數(shù)據(jù)通道。瀏覽器512使用未壓縮的數(shù)據(jù)610,萬維網(wǎng)服務(wù)器182使用未壓縮的數(shù)據(jù)614。未壓縮的數(shù)據(jù)610由超級用戶530壓縮,壓縮的數(shù)據(jù)612經(jīng)由超級應(yīng)用532發(fā)送至超級CO服務(wù)器534至超級CO集中器536至超級主機(jī)538,超級主機(jī)538將數(shù)據(jù)解壓縮為未壓縮的數(shù)據(jù)614,以供萬維網(wǎng)服務(wù)器182使用。類似地,來自萬維網(wǎng)服務(wù)器182的網(wǎng)頁數(shù)據(jù)由超級主機(jī)538壓縮并作為壓縮的數(shù)據(jù)612發(fā)送至超級用戶530,在超級用戶530處,壓縮的數(shù)據(jù)612被解壓縮為未壓縮的數(shù)據(jù)610以供瀏覽器512使用。于是,在從萬維網(wǎng)服務(wù)器182傳輸至瀏覽器512以及相反的過程期間,數(shù)據(jù)以壓縮的格式保存盡可能長的時(shí)間。
本發(fā)明的另一實(shí)施例對于不同的數(shù)據(jù)格式使用不同壓縮算法,其中一種數(shù)據(jù)格式是對于數(shù)據(jù)建立的一種布局。通常,數(shù)據(jù)格式包括描述圖象和/或聲音模式的位圖(1和0的串)、二進(jìn)制(可執(zhí)行計(jì)算機(jī)程序)、文本格式(其中通常各字節(jié)值映射到一個(gè)字符)和數(shù)值數(shù)據(jù)格式(由電子數(shù)據(jù)表和其它數(shù)據(jù)庫程序使用)。數(shù)據(jù)格式還可能包括用于矢量圖片動(dòng)畫、音頻信息和動(dòng)作視頻信息的flash,其用于嵌入布局控制字符的多媒體應(yīng)用程序和字處理文檔。通過基于數(shù)據(jù)格式選擇壓縮算法,可以得到比對于所有數(shù)據(jù)格式都使用一種通用算法更好的結(jié)果,例如更小的壓縮文件大小。例如,與圖片或二進(jìn)制文件相比,可以對文本數(shù)據(jù)使用效果更高的壓縮技術(shù)。
圖7顯示了根據(jù)本發(fā)明的實(shí)施例,基于傳輸數(shù)據(jù)的數(shù)據(jù)格式的壓縮算法。在步驟710,數(shù)據(jù)的一段,例如一個(gè)應(yīng)用程序數(shù)據(jù)單元、文件、文件的部分,被選中由發(fā)送器超級模塊發(fā)送。該段中的數(shù)據(jù)的數(shù)據(jù)格式由發(fā)送器超級模塊確定(步驟712)。在步驟714,檢查該段中的數(shù)據(jù),以確定其是單一格式還是混合格式,例如在Microsoft Outlook的電子郵件消息中的文本和附圖是混合格式。如果數(shù)據(jù)格式是混合的,則在步驟716,該段被分解為子段,例如Microsoft Outlook的電子郵件消息被分解為文本段和圖片段,并且在過程712對于每一子段重復(fù)該過程。如果該段中的數(shù)據(jù)是單一格式,則在步驟718,選擇基于數(shù)據(jù)格式的壓縮算法。例如對于文本段,可以使用例如GZIP,對于圖片段,可以使用例如小波壓縮。有一種默認(rèn)的壓縮算法以保證數(shù)據(jù)被壓縮。在步驟720,使用選中的壓縮算法壓縮該段中的數(shù)據(jù),并且在完成壓縮的特定時(shí)刻為各個(gè)數(shù)據(jù)段標(biāo)上所使用的算法。在步驟722,被壓縮的段被發(fā)送至具有解壓縮算法的接收器超級模塊。
在由于壓縮而減少的傳輸延遲以及處理器壓縮數(shù)據(jù)段所用的時(shí)間之間有折中。目標(biāo)是最小化用戶對于數(shù)據(jù)的等待時(shí)間。于是,有時(shí)壓縮及發(fā)送數(shù)據(jù)段所用的時(shí)間更多,則發(fā)送未壓縮的數(shù)據(jù)段;于是數(shù)據(jù)段應(yīng)不被壓縮。在選擇具有不同壓縮量和壓縮次數(shù)的不同壓縮算法中,諸如有效處理周期或有效暫時(shí)存儲器空間這樣的系統(tǒng)操作條件也必須考慮。每一超級模塊基于網(wǎng)絡(luò)的操作狀況選擇壓縮算法。這個(gè)操作狀況在超級模塊之間與信使分組中的數(shù)據(jù)一同傳遞。例如,如果超級模塊忙,即幾乎沒有有效處理周期,則應(yīng)當(dāng)使用計(jì)算強(qiáng)度較小的壓縮,即實(shí)際上增加了壓縮時(shí)間。這使得壓縮可以隨網(wǎng)絡(luò)的負(fù)載動(dòng)態(tài)改變。
圖8是根據(jù)本發(fā)明的另一實(shí)施例,確定是否應(yīng)壓縮數(shù)據(jù)的流程圖。在步驟810,數(shù)據(jù)的一段被選中由第一超級模塊在通信鏈路上發(fā)送至第二超級模塊。在步驟812,第一超級模塊確定通信鏈路是否滿,即滿鏈路容量。在步驟814,如果鏈路滿容量,則使用通用算法,例如運(yùn)行長度或哈夫曼編碼,或者使用圖7的流程圖壓縮該段(步驟820)。如果鏈路不是滿容量,則在步驟816,要發(fā)生壓縮(步驟820),壓縮數(shù)據(jù)段的時(shí)間不應(yīng)大于鏈路延遲,即數(shù)據(jù)端從第一超級模塊傳輸至第二超級模塊的時(shí)間。如果壓縮數(shù)據(jù)的時(shí)間比傳輸數(shù)據(jù)的時(shí)間長,則不壓縮(步驟818)。在步驟822,發(fā)送數(shù)據(jù),數(shù)據(jù)或者是來自步驟820的壓縮形式或者是來自步驟818的未壓縮形式。
圖9顯示了根據(jù)本發(fā)明的另一實(shí)施例的另一壓縮過程的流程圖。在步驟840,選擇要發(fā)送數(shù)據(jù)的一段。在步驟842,對于一組壓縮算法中的每一壓縮算法,考慮系統(tǒng)操作條件確定壓縮數(shù)據(jù)的該段的成本。選擇該組中成本最小的一個(gè)壓縮算法(步驟846)。例如,一個(gè)成本公式是壓縮數(shù)據(jù)的一段的時(shí)間與壓縮短數(shù)據(jù)段的鏈路延遲之和,其中壓縮的時(shí)間是在壓縮時(shí)刻可用處理周期的平均數(shù)的函數(shù)(系統(tǒng)操作條件的一個(gè)例子)。對于每一壓縮算法,使用這個(gè)成本公式計(jì)算成本,即和,并且選擇具有最小和的壓縮算法。在步驟848,使用選中的壓縮算法壓縮該段中的數(shù)據(jù),在步驟850,發(fā)送經(jīng)壓縮的段。
除了考慮哪些要被壓縮以及如何壓縮(即,最佳壓縮算法),數(shù)據(jù)的位置也很重要。在一個(gè)實(shí)施例中,通常不變化且更可能不可壓縮的圖片及二進(jìn)制網(wǎng)頁數(shù)據(jù)、java script、flash程序以及其它數(shù)據(jù)保留在超級用戶或超級應(yīng)用站點(diǎn)處。通常變化但可高度壓縮的包含于網(wǎng)頁中的可變數(shù)據(jù),即通常為文本數(shù)據(jù),可以從最后一英里距離的因特網(wǎng)側(cè)上的萬維網(wǎng)服務(wù)器或某些中間超級模塊更新。
另外,對于壓縮具有以高效格式存儲的數(shù)據(jù),即提供較小文件大小的格式,具有與壓縮類似的效果。在本發(fā)明的一個(gè)實(shí)施例中,遇到低效數(shù)據(jù)格式的第一超級模塊將低效數(shù)據(jù)格式轉(zhuǎn)換為高效數(shù)據(jù)格式。這在系統(tǒng)的其余部分都改進(jìn)了經(jīng)轉(zhuǎn)換的數(shù)據(jù)的傳輸及高速緩存。一個(gè)例子是所有圖片數(shù)據(jù)從位圖和GIF格式到JPEG格式的轉(zhuǎn)換。這對于位圖提供了十比一的改進(jìn),對GIF提供了五比一的改進(jìn)。因?yàn)榫W(wǎng)頁圖片的約90%以GIF格式存儲,到JPEG的轉(zhuǎn)換對于網(wǎng)頁圖片顯著改善了信息傳輸和存儲。
重分組如今典型的網(wǎng)頁包括一超文本鏈接標(biāo)示語言(HTML)文檔以及許多內(nèi)嵌的圖象。瀏覽器的現(xiàn)有行為是取回基礎(chǔ)HTML文檔,然后,在接收到基礎(chǔ)HTML文檔之后,瀏覽器對許多內(nèi)嵌的對象進(jìn)行二次取回,這些內(nèi)嵌的對象通常位于同一萬維網(wǎng)服務(wù)器上。每一內(nèi)嵌對象,即應(yīng)用數(shù)據(jù)單元,被放入一TCP數(shù)據(jù)單元,并且每一TCP數(shù)據(jù)單元被分割為一個(gè)或多個(gè)IP分組。為許多內(nèi)嵌對象發(fā)送許多TCP/IP分組而不是例如一個(gè)大的TCP/IP分組,意味著網(wǎng)絡(luò)耗費(fèi)的時(shí)間比發(fā)送控制數(shù)據(jù)所需的時(shí)間更多,換言之,控制數(shù)據(jù)/時(shí)間對應(yīng)用數(shù)據(jù)/時(shí)間的比率太大。將許多內(nèi)嵌對象聯(lián)合為一個(gè)大的應(yīng)用數(shù)據(jù)單元然后創(chuàng)建一個(gè)(或至少是最小數(shù)目的)大的TCP數(shù)據(jù)單元是更為有效的。對于一個(gè)大的TCP數(shù)據(jù)單元,該發(fā)送器超級模塊和下一接收器超級模塊之間的鏈路的最大傳輸單元(MTU)用于IP分組。發(fā)送器超級模塊將通過嘗試使各個(gè)IP分組盡可能實(shí)際地靠近MTU,而試圖將發(fā)送的IP分組的數(shù)目最小化。對于在超級模塊發(fā)送器和超級模塊接收器之間的各個(gè)鏈路,對于該鏈路確定MTU并且IP分組的大小可以改變?,F(xiàn)有技術(shù)中,通常使用在用戶和萬維網(wǎng)服務(wù)器之間的通信鏈路的所有MTU中的最小公分母MTU,與現(xiàn)有技術(shù)不同,在本實(shí)施例中,使用各個(gè)鏈路的MTU。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)需要時(shí),在每一超級模塊,例如超級用戶、超級應(yīng)用、超級中央辦公室(CO)服務(wù)器、超級CO集中器和超級主機(jī),將例如用戶請求及萬維網(wǎng)服務(wù)器響應(yīng)這樣的應(yīng)用數(shù)據(jù)單元重分組(或拆包)為一較大(或多個(gè)較小)的經(jīng)修改的應(yīng)用數(shù)據(jù)單元。例如,將兩個(gè)IP分組聯(lián)合為一個(gè)IP分組,這是“信使”分組的一個(gè)例子。第一IP分組具有第一IP報(bào)頭、第一TCP報(bào)頭和第一應(yīng)用數(shù)據(jù)單元。第二IP分組具有第二IP報(bào)頭、第二TCP報(bào)頭和第二應(yīng)用數(shù)據(jù)單元。創(chuàng)建第一修改應(yīng)用數(shù)據(jù)單元,其具有第一應(yīng)用數(shù)據(jù)單元和第一偽報(bào)頭,第一偽報(bào)頭具有來自第一IP報(bào)頭和第一TCP報(bào)頭的控制數(shù)據(jù),諸如重構(gòu)第一IP分組所需的源地址、源及目的端口以及其它控制信息。創(chuàng)建第二修改應(yīng)用數(shù)據(jù)單元,其具有第二應(yīng)用數(shù)據(jù)單元和第二偽報(bào)頭,第二偽報(bào)頭具有來自第二IP報(bào)頭和第二TCP報(bào)頭的控制數(shù)據(jù),諸如重構(gòu)第二IP分組所需的源地址、源及目的端口以及其它控制信息。令聯(lián)合應(yīng)用數(shù)據(jù)單元具有連接至第二修改應(yīng)用數(shù)據(jù)單元的第一修改應(yīng)用數(shù)據(jù)單元。向聯(lián)合應(yīng)用數(shù)據(jù)單元添加一新的TCP報(bào)頭和IP報(bào)頭,并且形成信使分組。于是必需的控制信息嵌入聯(lián)合應(yīng)用數(shù)據(jù)單元,并且TCP/IP協(xié)議用于在超級模塊發(fā)送器和超級模塊接收器之間移動(dòng)聯(lián)合應(yīng)用數(shù)據(jù)單元。當(dāng)接收器不是超級模塊時(shí),將聯(lián)合應(yīng)用數(shù)據(jù)單元拆離,并且第一IP分組和第二IP分組被重建并由超級模塊發(fā)送器發(fā)送至一般接收器。
圖10A是根據(jù)本發(fā)明的實(shí)施例,在超級用戶處對多個(gè)應(yīng)用數(shù)據(jù)單元進(jìn)行重分組的流程圖。在步驟910,超級用戶將具有同一目的地的多個(gè)應(yīng)用數(shù)據(jù)單元聯(lián)合為一個(gè)聯(lián)合數(shù)據(jù)單元。例如,對于一個(gè)萬維網(wǎng)服務(wù)器的多個(gè)用戶請求被聯(lián)合。在步驟912,從這一個(gè)應(yīng)用數(shù)據(jù)單元形成一個(gè)TCP數(shù)據(jù)單元(或最小數(shù)目的TCP數(shù)據(jù)單元)。在步驟914,創(chuàng)建一個(gè)IP分組(或最小數(shù)目的IP分組),即信使分組,其中每一IP分組被填充以盡可能接近鏈路的字節(jié)的MTU數(shù)目或直至轉(zhuǎn)發(fā)計(jì)時(shí)器T過期。在步驟916,信使被發(fā)送至目的路徑中的下一超級模塊,例如超級應(yīng)用或超級CO服務(wù)器。
圖10B是根據(jù)本發(fā)明的另一實(shí)施例,在超級用戶處對多個(gè)應(yīng)用數(shù)據(jù)單元進(jìn)行重分組的流程圖。在步驟920,超級模塊接收具有同一目的地的多個(gè)IP分組。在步驟922,從多個(gè)IP分組提取應(yīng)用信息。在步驟924,提取的應(yīng)用用于形成重分組的分組(即,信使分組)。在步驟926,重分組的分組被發(fā)送至到公共目的地的路徑上的下一超級模塊。
圖10C具體解釋了圖10B的步驟922。在步驟932,從IP分組中提取應(yīng)用數(shù)據(jù)單元。對于每一應(yīng)用數(shù)據(jù)單元,檢查相關(guān)的TCP報(bào)頭和IP報(bào)頭控制信息。并且將應(yīng)用控制信息,例如源、源及目的端口和數(shù)據(jù)長度,添加至響應(yīng)的應(yīng)用數(shù)據(jù)單元以形成修改應(yīng)用數(shù)據(jù)單元(步驟934)。在步驟936,集合修改應(yīng)用數(shù)據(jù)單元以形成一個(gè)TCP數(shù)據(jù)單元(或最小數(shù)目的TCP數(shù)據(jù)單元)。在步驟938,使用發(fā)送器和接收器超級模塊之間的鏈路的MTU,從TCP數(shù)據(jù)單元中形成新的重分組的IP分組。
是否在步驟936形成一個(gè)大TCP數(shù)據(jù)單元或者多個(gè)小TCP數(shù)據(jù)單元的判定是根據(jù)在離開發(fā)送者超級模塊的鏈路上的業(yè)務(wù)負(fù)載而動(dòng)態(tài)確定的。例如,如果鏈接幾乎滿載,則發(fā)送多個(gè)小TCP數(shù)據(jù)單元更加有效,并因此是小IP分組,而一個(gè)(或者幾個(gè))大IP分組將不得不等待。
圖11顯示了根據(jù)本發(fā)明的一個(gè)方面,從超級用戶到超級主機(jī)的信使分組的例子。超級用戶530根據(jù)圖10A的流程圖,將用戶請求1020和1022,即應(yīng)用數(shù)據(jù)單元D1和D2,聯(lián)合為信使分組1024。超級用戶1010具有IP分組1026中的其用戶請求D3,超級用戶具有IP分組1028中的用戶請求D5。這兩個(gè)單超級用戶請求都被重分組為信使分組并發(fā)送至合適的超級應(yīng)用。在第一超級應(yīng)用530,信使分組1024和IP分組1026被根據(jù)圖10B的流程圖而接收并重分組以形成更大的應(yīng)用信使分組1030。應(yīng)用信使分組1030具有例如已經(jīng)過修改以包括來自IP分組1024的TCP和IP報(bào)頭H1的控制信息的應(yīng)用數(shù)據(jù)單元D1。第二超級應(yīng)用1014接收信使分組1028-1,不改變它(1028-2)并將其轉(zhuǎn)發(fā)至超級CO服務(wù)器534。超級CO服務(wù)器534接收來自超級應(yīng)用532的應(yīng)用信使分組1030和來自超級應(yīng)用1014的信使分組1028-2。根據(jù)圖10B的流程圖對信使分組1030和1028-2重分組,以形成被發(fā)送至超級CO集中器536的CO信使分組1034。超級CO服務(wù)器1036具有也被發(fā)送至超級CO集中器536的CO信使分組1038。超級CO集中器536對CO信使分組1034和1038重分組為CO集中器信使分組1040,CO集中器信使分組1040被發(fā)送至超級主機(jī)538。超級主機(jī)拆包CO集中器信使分組1040以得到用戶請求D1、D2、D3、D4、D5、D6和D7(例如,HTTP或FTP請求),并且這些請求被發(fā)送至萬維網(wǎng)服務(wù)器。對于從萬維網(wǎng)服務(wù)器到超級用戶538再經(jīng)由超級CO集中器536、超級CO服務(wù)器534和超級應(yīng)用532返回超級用戶530的數(shù)據(jù)響應(yīng),也發(fā)生根據(jù)圖10A、B和C的拆包。
在兩個(gè)方向上,當(dāng)各超級模塊接收信使分組時(shí),信使分組被檢查、拆包并且數(shù)據(jù)用戶更新該超級模塊的高速緩存。當(dāng)信使分組被捆綁及拆離時(shí),執(zhí)行數(shù)據(jù)請求的內(nèi)爆和數(shù)據(jù)響應(yīng)的外爆。
數(shù)據(jù)請求和數(shù)據(jù)傳輸并行性在用戶請求網(wǎng)頁的例子中,瀏覽器的現(xiàn)有行為是取回基礎(chǔ)HTML文檔,然后瀏覽器使用該基礎(chǔ)HTML文檔,對許多內(nèi)嵌對象進(jìn)行隨后的取回,這些內(nèi)嵌對象通常位于一個(gè)和多個(gè)萬維網(wǎng)服務(wù)器上。內(nèi)嵌對象可以放入一個(gè)大的TCP數(shù)據(jù)單元并返回至瀏覽器。一種改進(jìn)將使得萬維網(wǎng)服務(wù)器既得到基礎(chǔ)HTML文檔又得到內(nèi)嵌對象并且將二者都返回一個(gè)大的TCP數(shù)據(jù)單元中。這意味著萬維網(wǎng)服務(wù)器連續(xù)取回基礎(chǔ)HTML文檔和內(nèi)嵌對象,然后將二者都發(fā)送至瀏覽器。本發(fā)明的另一實(shí)施例通過首先得到基礎(chǔ)HTML文檔并將基礎(chǔ)文檔發(fā)送至瀏覽器,將該串行過程,即取回和發(fā)送,并行化。當(dāng)基礎(chǔ)文檔在傳輸中時(shí),萬維網(wǎng)服務(wù)器取回內(nèi)嵌對象。然后發(fā)送內(nèi)嵌對象。于是發(fā)送基礎(chǔ)HTML文檔的時(shí)間比串行過程節(jié)省了。用戶使用這種并行過程在更短的時(shí)間量中得到了整個(gè)網(wǎng)頁。
圖11-1說明了根據(jù)本發(fā)明一個(gè)方面,并行實(shí)現(xiàn)數(shù)據(jù)取回和傳輸?shù)睦?。圖11-1顯示了兩個(gè)模塊,現(xiàn)有模塊1110和超級模塊1112。水平軸1114代表時(shí)間間隔1120(時(shí)刻0和t1之間)、1122(時(shí)刻t1和t2之間)、1124(時(shí)刻t2和t3之間)、1126(時(shí)刻t3和t4之間)和1128(時(shí)刻t4和t5之間)。在時(shí)間間隔1122,模塊1110和1112都取回第一數(shù)據(jù)項(xiàng)(1132和1142)。在時(shí)間間隔1124,模塊1110和1112的操作開始不同。模塊1110取回第二數(shù)據(jù)項(xiàng)1134,在時(shí)間間隔1126發(fā)送第一數(shù)據(jù)項(xiàng)1136,在時(shí)間間隔1128發(fā)送第二數(shù)據(jù)項(xiàng)1138(即,串行過程)。而超級模塊1112在時(shí)間間隔1124在發(fā)送第一數(shù)據(jù)項(xiàng)1146的同時(shí)取回第二數(shù)據(jù)項(xiàng)1144。在時(shí)間間隔1126,超級模塊發(fā)送第二數(shù)據(jù)項(xiàng)1148。于是超級模塊節(jié)省了時(shí)間間隔1128。圖11-1說明了在管線的開始處數(shù)據(jù)的取回和發(fā)送,當(dāng)管線滿時(shí)甚至?xí)?jié)省更多時(shí)間。
內(nèi)爆/外爆因?yàn)橛性S多用戶請求來自有限個(gè)網(wǎng)站的數(shù)據(jù),所以對于數(shù)據(jù)的請求為多個(gè)用戶復(fù)制的概率增加。這些復(fù)制請求是不必要的網(wǎng)絡(luò)流量,應(yīng)聯(lián)合起來。本發(fā)明的一個(gè)實(shí)施例在各個(gè)超級模塊內(nèi)爆這些復(fù)制請求,即將復(fù)制請求修剪為一個(gè)請求,和外爆響應(yīng),即將一個(gè)響應(yīng)復(fù)制為若干拷貝。
圖12顯示了從超級用戶向超級主機(jī)發(fā)送數(shù)據(jù)請求的例子。我們來考慮股票交易公司。當(dāng)四個(gè)股票經(jīng)紀(jì)人同時(shí)請求一支熱門股票的股票報(bào)價(jià)時(shí),三個(gè)經(jīng)紀(jì)人,即超級用戶1210、1212和1214,向超級應(yīng)用1216發(fā)送他們的請求,即1240、1242和1244,超級應(yīng)用1216存儲請求的超級用戶1210、1212和1214的IP地址并僅向超級CO服務(wù)器1220發(fā)送一個(gè)請求,即Req4 1246。超級CO服務(wù)器1220接收這一個(gè)請求1246,并檢查是否有來自其它超級應(yīng)用532或未使用超級應(yīng)用的其它單獨(dú)超級用戶的其它復(fù)制請求。在這個(gè)實(shí)施例中,第四經(jīng)紀(jì)人,超級用戶1218將復(fù)制請求1248發(fā)送至超級CO服務(wù)器1220。然后超級CO服務(wù)器1220存儲超級應(yīng)用1216和超級用戶1218的所有復(fù)制請求的IP地址,并將復(fù)制內(nèi)爆為一個(gè)單獨(dú)的請求,即1250,并將請求1250發(fā)送至超級CO集中器1224。然后超級CO集中器1224檢查來自其它CO服務(wù)器的其它復(fù)制請求,即來自ISP服務(wù)器1222的請求1252,存儲所有復(fù)制請求的IP地址,并將一個(gè)請求1254發(fā)送至超級主機(jī)1230。如果可行,超級主機(jī)1230也將檢查并內(nèi)爆來自其它超級CO集中器的復(fù)制請求。在這個(gè)例子中,沒有其它超級CO集中器和超級主機(jī)接收1230請求1254。
盡管圖12沒有顯示外爆過程,但它從超級主機(jī)1230開始,以相反的順序跟隨內(nèi)爆過程。超級主機(jī)1230取回來自萬維網(wǎng)服務(wù)器(未顯示)的響應(yīng)數(shù)據(jù),例如網(wǎng)頁,并對于請求它的每一超級CO集中器外爆它(復(fù)制)。超級CO集中器1224接收該響應(yīng)數(shù)據(jù)并為請求它的所有超級CO服務(wù)器,即超級CO服務(wù)器1220和1222,外爆它。超級CO服務(wù)器,例如1220,接收該響應(yīng)數(shù)據(jù)并為超級應(yīng)用1216和超級用戶1218外爆它。超級應(yīng)用1215接收該響應(yīng)數(shù)據(jù)并為請求該數(shù)據(jù)的超級用戶1210、1212和1214外爆它。
圖13A是根據(jù)本發(fā)明的實(shí)施例,向同一目的地發(fā)送數(shù)據(jù)請求的過程的流程圖。在步驟1110,父超級模塊接收對于同一目的地的復(fù)制子數(shù)據(jù)請求。在步驟1112,子請求者的返回的地址被記錄在列表中并存儲在父系統(tǒng)中。在步驟1114,提取來自復(fù)制子數(shù)據(jù)請求的公共數(shù)據(jù),即,由于所有數(shù)據(jù)(不包括控制信息)是相同的,所以只檢查在一個(gè)子數(shù)據(jù)請求中的數(shù)據(jù)。在步驟1116,創(chuàng)建具有公共數(shù)據(jù)和父返回地址的一個(gè)父請求。在步驟1118,將父數(shù)據(jù)請求發(fā)送至到公共目的的路徑上的下一超級模塊。
圖13B顯示了根據(jù)本發(fā)明的實(shí)施例,向發(fā)送的請求發(fā)送響應(yīng)的過程。在步驟1120,目的地將響應(yīng)數(shù)據(jù)發(fā)送至父請求者,即發(fā)送內(nèi)爆數(shù)據(jù)請求的最后的超級模塊。在步驟1122,父超級模塊取回具有子請求者地址的列表。在步驟1124,復(fù)制響應(yīng)數(shù)據(jù)并且向列表上的各個(gè)孩子發(fā)送一拷貝(步驟1126)。
數(shù)據(jù)的內(nèi)爆和外爆對于流式傳輸音頻和/或視頻(特別對于廣播)非常有價(jià)值。當(dāng)多于一個(gè)用戶請求同一TV、視頻、無線電或音樂時(shí),這些請求被內(nèi)爆并且傳輸被外爆。節(jié)省的帶寬很大,尤其對于實(shí)時(shí)廣播。如果許多人在收聽因特網(wǎng)無線電臺,則該請求在到達(dá)萬維網(wǎng)主機(jī)服務(wù)器時(shí)被內(nèi)爆并且在返回給用戶時(shí)被外爆。由于因特網(wǎng)無線電臺正在廣播在時(shí)間上同步的相同數(shù)據(jù),所以在超級主機(jī)處內(nèi)爆約為100%(在超級主機(jī)處所有請求內(nèi)爆為一個(gè)請求),外爆約為100%(從萬維網(wǎng)服務(wù)器到超級主機(jī)的一個(gè)流提供所有用戶)。
重分組和內(nèi)爆/外爆分組的重分組方法與內(nèi)爆/外爆方法聯(lián)合,顯著增加信息流。超級用戶530請求來自萬維網(wǎng)服務(wù)器182的網(wǎng)頁內(nèi)容的過程的一個(gè)實(shí)施例是1.超級用戶530對其不能滿足的所有數(shù)據(jù)請求從其本地高速緩存分組為單獨(dú)信使分組,并將其發(fā)送至超級應(yīng)用532。
2.超級應(yīng)用532得到從另一超級用戶到同一目的地的所有同時(shí)發(fā)生的請求,即來自其它用戶的信使分組,并將它們重分組為一個(gè)更大的應(yīng)用信使分組。內(nèi)爆任何復(fù)制用戶請求。這一個(gè)應(yīng)用信使分組被發(fā)送至超級CO服務(wù)器534。
3.超級CO服務(wù)器532從多個(gè)超級應(yīng)用(和直接相連的任何超級用戶)得到具有相同目的地的所有應(yīng)用信使分組并將更大的CO信使分組發(fā)送至超級CO集中器536。復(fù)制用戶請求再次被內(nèi)爆。
4.超級CO集中器536重分組同時(shí)發(fā)生的CO信使分組,內(nèi)爆任何復(fù)制請求,并將較大CO集中器信使分組發(fā)送至合適的超級主機(jī)538。
5.超級主機(jī)538接收并拆包CO集中器信使分組。超級主機(jī)將請求轉(zhuǎn)換為標(biāo)準(zhǔn)HTTP請求以供標(biāo)準(zhǔn)萬維網(wǎng)服務(wù)器處理。
然后萬維網(wǎng)服務(wù)器182處HTTP請求并生成HTTP響應(yīng),HTTP響應(yīng)被發(fā)送至超級主機(jī)538。響應(yīng)處理包括6.超級主機(jī)538接收從萬維網(wǎng)服務(wù)器182返回的數(shù)據(jù)響應(yīng),并且超級主機(jī)538更新其高速緩存并將響應(yīng)拆包為返回CO集中器信使分組,將返回CO集中器信使分組發(fā)送至請求超級CO集中器536。
7.超級CO集中器536接收返回CO集中器信使分組并將其拆包以更新超級CO集中器536高速緩存。超級CO集中器536外爆該數(shù)據(jù)并將該數(shù)據(jù)重分組為返回CO信使分組,并將它們發(fā)送至合適的超級CO服務(wù)器,例如534。
8.超級CO服務(wù)器534接收返回CO信使分組并將其拆包,為超級應(yīng)用外爆數(shù)據(jù),更新超級CO服務(wù)器的高速緩存,將數(shù)據(jù)重分組為返回應(yīng)用信使分組,并將返回應(yīng)用信使分組發(fā)送至合適的請求超級應(yīng)用,例如532。
9.超級應(yīng)用532拆包返回應(yīng)用信使分組,更新超級應(yīng)用532高速緩存,外爆數(shù)據(jù),將數(shù)據(jù)重分組為返回用戶信使分組,并將分組發(fā)送至合適的請求超級用戶,例如530。
10.超級用戶530接收返回用戶信使分組并將其拆包,更新其高速緩存并使用標(biāo)準(zhǔn)HTTP協(xié)議將數(shù)據(jù)傳遞至瀏覽器512。
重分組通過將網(wǎng)頁數(shù)據(jù)存儲在一個(gè)或多個(gè)有效塊中而改變了高速緩存的效率。這通過減少磁盤尋找次數(shù)而顯著減少了磁盤訪問。
半永久TCP/IP連接在對于每一瀏覽器請求和網(wǎng)頁響應(yīng)的HTTP 1.0下,建立了新的TCP/IP虛電路。由于當(dāng)用戶瀏覽網(wǎng)站時(shí)有許多請求/響應(yīng)配對,這造成了充足的延遲,并且各個(gè)虛電路需要一三方握手以建立虛電路以及一個(gè)雙方或三方握手以斷開虛電路。HTTP 1.1通過在萬維網(wǎng)服務(wù)器和HTTP 1.1瀏覽器之間建立持續(xù)連接而提供減少的延遲。于是,可以在一個(gè)TCP數(shù)據(jù)單元中發(fā)送多個(gè)請求,并且在一個(gè)響應(yīng)TCP數(shù)據(jù)單元中接收多個(gè)響應(yīng)。然而,HTTP 1.1仍然有一些問題。首先,如果瀏覽器接收來自單獨(dú)網(wǎng)頁中的第二萬維網(wǎng)服務(wù)器的數(shù)據(jù),則或者到第一萬維網(wǎng)服務(wù)器的持續(xù)連接丟失或者必須建立另一持續(xù)連接。第二,對于同一網(wǎng)站的多個(gè)用戶不能使用同一持續(xù)連接。第三,HTTP持續(xù)連接僅用于萬維網(wǎng)內(nèi)容,不覆蓋其它應(yīng)用層協(xié)議,例如FTP。第四,持續(xù)連接是用于整條路徑的,不適用于萬維網(wǎng)服務(wù)器和瀏覽器之間的路徑部分。
本發(fā)明的一個(gè)實(shí)施例在任兩個(gè)超級模塊,例如超級應(yīng)用或超級用戶和超級CO服務(wù)器(最后一段),之間建立半永久TCP虛電路,該TCP虛電路或者持續(xù)一段預(yù)定時(shí)間間隔“T”或者持續(xù)至超級模塊之一關(guān)閉。該半永久TCP虛電路是由典型的三方TCP/IP握手建立的,由典型的雙方或三方TCP/IP握手?jǐn)嚅_。在數(shù)據(jù)傳輸期間,所有類型(例如HTTP、FTP或SMNP)并且從不同終端源到公共終端目的地(例如多個(gè)用戶到萬維網(wǎng)服務(wù)器或多個(gè)萬維網(wǎng)服務(wù)器到一個(gè)用戶)的應(yīng)用數(shù)據(jù)可以在該虛電路上傳輸。
對于數(shù)據(jù)類型或數(shù)據(jù)源沒有限制的原因是信使分組的使用。在發(fā)送器超級模塊處接收的信使分組具有在一個(gè)大應(yīng)用數(shù)據(jù)單元中到同一目的地的所有請求或響應(yīng)應(yīng)用數(shù)據(jù)單元的集合,其中每一請求或響應(yīng)應(yīng)用數(shù)據(jù)單元具有帶有相關(guān)控制數(shù)據(jù)(諸如源地址、源及目的TCP端口等)的偽報(bào)頭。在接收器超級模塊處,如果有必要,例如終端用戶不是超級用戶,則包含偽報(bào)頭的大應(yīng)用數(shù)據(jù)單元可以拆離成分離的TCP數(shù)據(jù)單元和IP分組,并被轉(zhuǎn)發(fā)至公共目的地。實(shí)際上,應(yīng)用層掩藏了來自較低三層的協(xié)議和源差異,并且數(shù)據(jù)傳輸周期是非常大的應(yīng)用數(shù)據(jù)單元的傳輸。
圖14A顯示了在傳輸層的發(fā)送器和接收器之間現(xiàn)有的TCP/IP連接、數(shù)據(jù)傳輸和斷開連接。為了在發(fā)送器1312和接收器1314之間建立虛電路,從發(fā)送器1312發(fā)送一TCP同步數(shù)據(jù)單元、SYNC1316至接收器1314。接收器1314返回確認(rèn)SYNC ACK1318。發(fā)送器1312既發(fā)送數(shù)據(jù)1320的N1字節(jié)作為大小為N1+N2的應(yīng)用數(shù)據(jù)單元的第一TCP數(shù)據(jù)單元,還發(fā)送SYNC ACK1318的確認(rèn)ACK以完成三方連接握手。接收器1314返回確認(rèn)ACK N1 1322。然后發(fā)送器1312發(fā)送數(shù)據(jù)1324的N2字節(jié),并設(shè)置第TPC數(shù)據(jù)單元中指示數(shù)據(jù)傳輸完成的最終標(biāo)志位(FIN)。接收器1314將確認(rèn)ACK FIN1326返回以確認(rèn)數(shù)據(jù)的傳輸并關(guān)閉虛電路連接。當(dāng)發(fā)送器1312希望發(fā)送M1+M2字節(jié)的另一應(yīng)用數(shù)據(jù)單元時(shí),必須由SYNC1330、SYNC ACK1332和ACK1334建立新的虛電路。發(fā)送器1312發(fā)送具有M1字節(jié)數(shù)據(jù)1334的第一TCP數(shù)據(jù),接收器1314返回確認(rèn)1336。發(fā)送器1312發(fā)送具有M2字節(jié)數(shù)據(jù)1338的第二TCP數(shù)據(jù)單元以及FIN比特組。接收器1314以ACK FIN1340確認(rèn)最終比特,并關(guān)閉虛電路連接。
圖14B顯示了根據(jù)本發(fā)明的實(shí)施例,對于半永久連接的TCP/IP連接、數(shù)據(jù)傳輸和斷開連接。發(fā)送器1352通過將SYNC1356發(fā)送至接收器1354而建立初始虛電路連接。接收器1354以SYNC ACK1358確認(rèn),SYNC ACK1358進(jìn)一步由發(fā)送器1352通過ACK1360確認(rèn)。這完成了初始三方握手以建立持久虛TCP/IP連接。在預(yù)定的時(shí)間間隔“T”1362后,請求虛電路連接關(guān)閉的發(fā)送器1352發(fā)送具有一組FIN比特1364的TCP數(shù)據(jù)單元。接收器1354以ACK FIN1366響應(yīng)并關(guān)閉虛電路。在預(yù)定時(shí)間T1362中,傳輸具有N1、N2、M1和M2字節(jié)的TCP數(shù)據(jù)單元。來自發(fā)送器1352的N1字節(jié)的數(shù)據(jù)1370被傳輸至接收器1354,并且接收器1354以ACK N1 1372響應(yīng)。然后數(shù)據(jù)1374的N2字節(jié)被傳輸至接收器1354,接收器1354以ACK N2 1376響應(yīng)。然后數(shù)據(jù)1378的M1字節(jié)被傳輸至接收器1354,接收器1354以ACKM1 1380響應(yīng)。最后,數(shù)據(jù)1382的M2字節(jié)被傳輸至接收器1354,接收器1354以ACK M2 1384響應(yīng)。于是在時(shí)間間隔T期間,打斷為四個(gè)TCP數(shù)據(jù)單元的N1+N2+M1+M2字節(jié)的一個(gè)大應(yīng)用數(shù)據(jù)單元被從發(fā)送器1352傳輸至接收器1354。如果需要傳輸更多應(yīng)用數(shù)據(jù),則新的應(yīng)用數(shù)據(jù)單元附加于N1+N2+M1+M2字節(jié)的一個(gè)大應(yīng)用數(shù)據(jù)單元,并在半永久連接上發(fā)送。
VPN虛擬專用網(wǎng)(VPN)是一種使用諸如因特網(wǎng)這樣的公眾網(wǎng)資源的專用網(wǎng)絡(luò),諸如公司內(nèi)部網(wǎng)。兩種典型的VPN是站點(diǎn)到站點(diǎn)和遠(yuǎn)程訪問。每一類型利用一VPN網(wǎng)關(guān),其是可信專用網(wǎng)絡(luò)和不可信公眾網(wǎng)之間的關(guān)守,通常是特定的硬件。該關(guān)守具有訪問可信專用網(wǎng)絡(luò)的“客人”列表。如果分組不在列表上,則沒有訪問。
圖15顯示了現(xiàn)有的站點(diǎn)到站點(diǎn)VPN1440和現(xiàn)有的遠(yuǎn)程VPN1446的例子。對于站點(diǎn)到站點(diǎn)VPN1440,具有PC1412、PC1414和LAN服務(wù)器1416的第一內(nèi)部網(wǎng)通過VPN網(wǎng)關(guān)1420由數(shù)字連接設(shè)備1526和PoP1514連接至因特網(wǎng)1530。從因特網(wǎng)1530,VPN1440經(jīng)由PoP1540、調(diào)制解調(diào)器1542和VPN網(wǎng)關(guān)1430連接至具有PC1434、PC1436和LAN服務(wù)器1432的第二內(nèi)部網(wǎng)。于是第一內(nèi)部網(wǎng)和第二內(nèi)部網(wǎng)通過因特網(wǎng)連接在一起以形成聯(lián)合的內(nèi)部網(wǎng)。對于遠(yuǎn)程VPN1446,遠(yuǎn)程PC處的用戶通過調(diào)制解調(diào)器1534撥號到PoP1532,以經(jīng)由因特網(wǎng)1530、PoP1540、調(diào)制解調(diào)器1542和VPN網(wǎng)關(guān)1430訪問LAN服務(wù)器1432。PC將具有VPN客戶端軟件,還可以具有固定的IP地址或由動(dòng)態(tài)DNS/URL服務(wù)提供的動(dòng)態(tài)IP地址,動(dòng)態(tài)DNS/URL服務(wù)提供要由PC使用的URL(統(tǒng)一資源定位符)。動(dòng)態(tài)DNS/URL服務(wù)向VPN網(wǎng)關(guān)1430通知PC的IP地址,使得PC訪問LAN服務(wù)器1432。
如圖16所示的現(xiàn)有VPN具有若干局限。首先,通常需要特別的網(wǎng)關(guān)硬件。第二,用戶不能訪問多個(gè)VPN。本發(fā)明的一個(gè)實(shí)施例克服了這些問題。超級模塊站點(diǎn)的任何組合可以形成一個(gè)或多個(gè)VPN。有一個(gè)中央站點(diǎn)1538(圖16)具有哪一超級模塊訪問哪一其它超級模塊,即誰可以訪問誰,的許可表。
圖16顯示了根據(jù)本發(fā)明的實(shí)施例的兩個(gè)虛擬專用網(wǎng)(VPN)的例子。超級用戶1510屬于VPN1552和VPN1550。超級用戶通過遠(yuǎn)程VPN1550遠(yuǎn)程連接至超級應(yīng)用1524,其中超級應(yīng)用1524是在LAN服務(wù)器1416上執(zhí)行的軟件網(wǎng)關(guān)。當(dāng)超級應(yīng)用1524和超級應(yīng)用1544啟動(dòng)時(shí),它們將它們的IP地址發(fā)送至中央站點(diǎn)1538處的許可表。超級用戶1510通過調(diào)制解調(diào)器1512撥號入PoP1514,PoP向超級用戶分配一IP地址。接下來,超級用戶1510登錄進(jìn)入中央站點(diǎn),并且超級用戶1510將其IP地址報(bào)告給中央站點(diǎn)。當(dāng)超級用戶1510希望通過超級應(yīng)用1524訪問PC1412時(shí),檢查許可表。由于超級用戶1510有訪問權(quán),所以建立超級用戶1510的IP地址和超級應(yīng)用1524的IP地址之間的通道,即VPN1550。超級用戶1510也如中央站點(diǎn)1538處的許可表所指示的,訪問超級用戶1536和創(chuàng)建應(yīng)用1544,從而建立VPN1552。于是超級用戶能夠訪問多個(gè)VPN和其它超級用戶。
在另一實(shí)施例中,超級用戶1536還可以是遠(yuǎn)程用戶并且可以在超級VPN1552創(chuàng)建時(shí)不登錄。當(dāng)超級用戶1536登錄時(shí),它被分配一個(gè)IP地址并且根據(jù)許可表,建立包括超級用戶1536、超級用戶1510和超級應(yīng)用1544的三方VPN。
對于超級傳輸系統(tǒng)的上述優(yōu)化可以應(yīng)用于本發(fā)明的實(shí)施例的任一VPN,只要在VPN的兩側(cè)上都安裝了超級應(yīng)用模塊。作為一個(gè)例子,兩個(gè)超級模塊可以使用VPN而連接,并且使用例如壓縮技術(shù)、信使分組、持久TCP/IP、內(nèi)爆/外爆、和/或上述有效的文件格式傳輸所有數(shù)據(jù),無論數(shù)據(jù)是文件、電子郵件還是網(wǎng)頁。
結(jié)論盡管已經(jīng)描述了本發(fā)明的特定實(shí)施例,但是在本發(fā)明的范圍也可以涵蓋多種改進(jìn)、變化、其它構(gòu)造和等同物。所述的發(fā)明不限于在某一特定的數(shù)據(jù)處理環(huán)境中的操作,而是在多種數(shù)據(jù)處理環(huán)境中自由操作。另外,盡管使用特定的事務(wù)和步驟順序描述本發(fā)明,對于本領(lǐng)域熟練技術(shù)人員可以理解,本發(fā)明不限于所述的事務(wù)和步驟的順序。
進(jìn)一步,盡管本發(fā)明是使用硬件和軟件的特定組合描述的,但是應(yīng)當(dāng)理解,硬件和軟件的其它組合也在本發(fā)明的范圍之內(nèi)。本發(fā)明可以僅以硬件或僅以軟件或使用二者的結(jié)合而實(shí)現(xiàn)。
因此,說明書和附圖應(yīng)看作描述性的而不是限制性的。然而,很顯然可以在不脫離權(quán)利要求所給出的本發(fā)明的更寬的精神和范圍的前提下,對本發(fā)明作出增加、刪剪和其它修改及變化。
權(quán)利要求
1.一種由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法,所述方法包括由所述第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段;使用所述第一計(jì)算機(jī)的系統(tǒng)操作條件對于多個(gè)壓縮算法中的每一壓縮算法確定一成本值;基于最小成本值從所述多個(gè)壓縮算法中選擇一個(gè)壓縮算法;使用所述選擇的壓縮算法壓縮所述段;以及將所述經(jīng)壓縮的數(shù)據(jù)段發(fā)送至所述第二計(jì)算機(jī)系統(tǒng)。
2.如權(quán)利要求1的方法,其中所述成本值包括壓縮所述段的時(shí)間與將所述經(jīng)壓縮的段傳輸至所述第二計(jì)算機(jī)的時(shí)間之和。
3.如權(quán)利要求1的方法,其中所述第一計(jì)算機(jī)的系統(tǒng)操作條件包括所述第一計(jì)算機(jī)系統(tǒng)的可用處理周期。
4.一種由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法,所述方法包括由所述第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段;確定所述段的數(shù)據(jù)格式;使用壓縮算法壓縮所述段,所述壓縮算法是基于所述數(shù)據(jù)格式而從多個(gè)壓縮算法中自動(dòng)選擇的;以及將所述經(jīng)壓縮的段發(fā)送至所述第二計(jì)算機(jī)。
5.如權(quán)利要求4的方法,其中所述數(shù)據(jù)格式包括從由圖象、二進(jìn)制、文本、flash、圖形、視頻、音頻和字處理格式構(gòu)成的組中的選擇。
6.如權(quán)利要求4的方法,還包括以有效文件格式存儲所述數(shù)據(jù)段。
7.一種由第一計(jì)算機(jī)系統(tǒng)對經(jīng)由通信網(wǎng)絡(luò)傳輸至第二計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行壓縮的方法,所述方法包括由所述第一計(jì)算機(jī)系統(tǒng)選擇數(shù)據(jù)的一段;當(dāng)所述通信鏈路上的數(shù)據(jù)通信量低于傳輸容量時(shí),基于壓縮所述段的時(shí)間以及所述段的鏈路延遲來計(jì)算一函數(shù)結(jié)果;根據(jù)所述結(jié)果,壓縮所述段;以及將所述經(jīng)壓縮的段發(fā)送至所述第二計(jì)算機(jī)。
8.如權(quán)利要求7的方法,其中所述函數(shù)包括所述壓縮的時(shí)間減去所述鏈路延遲,并且其中當(dāng)所述結(jié)果為負(fù)值時(shí),壓縮所述段。
9.一種由第一計(jì)算機(jī)系統(tǒng)對具有公共目的地的多個(gè)分組進(jìn)行重分組的方法,其中所述第一計(jì)算機(jī)系統(tǒng)由通信鏈路連接至第二計(jì)算機(jī)系統(tǒng),所述方法包括接收所述多個(gè)分組,其中每一分組包括應(yīng)用數(shù)據(jù);從所述多個(gè)分組中提取包括所述應(yīng)用數(shù)據(jù)的信息;創(chuàng)建包括所述信息的新的分組;以及將所述新的分組發(fā)送至所述第二計(jì)算機(jī)系統(tǒng)。
10.如權(quán)利要求9的方法,其中所述多個(gè)分組包括TCP/IP分組。
11.如權(quán)利要求9的方法,其中所述新的分組具有所述通信鏈路的最大傳輸單元(MTU)。
12.如權(quán)利要求9的方法,其中每一分組的應(yīng)用數(shù)據(jù)包括一應(yīng)用數(shù)據(jù)單元,并且其中所述信息包括每一分組的應(yīng)用數(shù)據(jù)單元,所述方法還包括向分組的應(yīng)用數(shù)據(jù)添加來自所述分組的一些TCP和IP報(bào)頭信息。
13.如權(quán)利要求9的方法,其中所述信息包括對于萬維網(wǎng)服務(wù)器的多個(gè)相關(guān)用戶HTTP響應(yīng)。
14.如權(quán)利要求9的方法,其中所述信息包括響應(yīng)于單個(gè)用戶HTTP請求的多個(gè)相關(guān)萬維網(wǎng)服務(wù)器HTTP響應(yīng)。
15.一種使用TCP/IP協(xié)議在第一計(jì)算機(jī)系統(tǒng)和第二計(jì)算機(jī)系統(tǒng)之間提供半永久傳輸控制協(xié)議(TCP)的方法,所述方法包括在所述第一計(jì)算機(jī)系統(tǒng)和所述第二計(jì)算機(jī)系統(tǒng)之間建立TCP連接;由所述第一計(jì)算機(jī)系統(tǒng)接收來自多個(gè)源地址的應(yīng)用信息;由所述第一計(jì)算機(jī)系統(tǒng)在所述TCP連接上發(fā)送所述第二應(yīng)用信息;以及斷開所述TCP連接。
16.如權(quán)利要求15的方法,其中所述斷開所述TCP連接發(fā)生在預(yù)定時(shí)間間隔之后。
17.如權(quán)利要求15的方法,其中所述源地址包括用戶地址和/或萬維網(wǎng)服務(wù)器地址。
18.如權(quán)利要求15的方法,其中所述源地址包括IP地址。
19.一種使用第一計(jì)算機(jī)系統(tǒng)修剪來自多個(gè)第二計(jì)算機(jī)系統(tǒng)的多個(gè)復(fù)制數(shù)據(jù)請求的方法,所述多個(gè)復(fù)制數(shù)據(jù)請求具有公共目的地,所述方法包括由所述第一計(jì)算機(jī)系統(tǒng)接收所述多個(gè)復(fù)制數(shù)據(jù)請求;記錄所述多個(gè)第二計(jì)算機(jī)系統(tǒng)的返回地址;以所述第一計(jì)算機(jī)系統(tǒng)作為源地址,創(chuàng)建包括來自所述多個(gè)復(fù)制數(shù)據(jù)請求的公共數(shù)據(jù)的統(tǒng)一數(shù)據(jù)請求;以及發(fā)送所述統(tǒng)一數(shù)據(jù)請求。
20.如權(quán)利要求19的方法,進(jìn)一步包括由主機(jī)系統(tǒng)在所述公共目的地處接收所述統(tǒng)一數(shù)據(jù)請求;所述主機(jī)系統(tǒng)生成響應(yīng)于所述統(tǒng)一數(shù)據(jù)請求的數(shù)據(jù);將所述生成的數(shù)據(jù)發(fā)送到所述第一計(jì)算機(jī)系統(tǒng);使用所述返回地址拷貝所述生成的數(shù)據(jù);以及將所述多個(gè)拷貝發(fā)送至所述多個(gè)第二計(jì)算機(jī)系統(tǒng)。
21.一種用于由與公眾通信網(wǎng)絡(luò)連接在一起的多個(gè)計(jì)算機(jī)提供多個(gè)虛擬專用網(wǎng)的方法,包括通過使用包括所述多個(gè)計(jì)算機(jī)的第一計(jì)算機(jī)的地址和所述多個(gè)計(jì)算機(jī)的第二計(jì)算機(jī)的地址的集中許可表,在所述第一計(jì)算機(jī)和所述第二計(jì)算機(jī)之間建立所述多個(gè)虛擬專用網(wǎng)的第一虛擬專用網(wǎng);以及通過使用進(jìn)一步包括所述多個(gè)計(jì)算機(jī)的第三計(jì)算機(jī)的地址的集中許可表,在所述第一計(jì)算機(jī)和所述第三計(jì)算機(jī)之間建立所述多個(gè)虛擬專用網(wǎng)的第二虛擬專用網(wǎng)。
22.如權(quán)利要求21的方法,其中所述集中許可表表示所述第一計(jì)算機(jī)具有與所述第二計(jì)算機(jī)和所述第三計(jì)算機(jī)通信的許可。
23.一種由第一計(jì)算機(jī)系統(tǒng)對具有公共目的地的多個(gè)分組進(jìn)行重分組的方法,其中所述第一計(jì)算機(jī)系統(tǒng)由通信鏈路連接至第二計(jì)算機(jī)系統(tǒng),所述方法包括接收所述多個(gè)分組,其中每一分組包括應(yīng)用數(shù)據(jù);從所述多個(gè)分組中提取包括所述應(yīng)用數(shù)據(jù)的信息;創(chuàng)建包括所述信息的許多新分組;其中所述新分組的數(shù)目是基于通信鏈路上的數(shù)據(jù)通信量而確定的;以及將所述許多新分組發(fā)送至所述第二計(jì)算機(jī)系統(tǒng)。
24.一種用于增加具有標(biāo)準(zhǔn)通信協(xié)議的通信網(wǎng)絡(luò)中的信息流的系統(tǒng),所述系統(tǒng)包括第一模塊,其使用所述標(biāo)準(zhǔn)通信協(xié)議發(fā)送具有第一應(yīng)用信息和第一控制信息的分組;第二模塊,用于使用所述標(biāo)準(zhǔn)通信協(xié)議接收所述分組并發(fā)送一超級分組,所述超級分組具有第二應(yīng)用信息和第二控制信息,其中所述第二應(yīng)用信息包括所述第一應(yīng)用信息和一些所述第一控制信息;和第三模塊,用于使用所述標(biāo)準(zhǔn)通信協(xié)議接收所述超級分組。
25.如權(quán)利要求24的系統(tǒng),其中所述標(biāo)準(zhǔn)通信協(xié)議是TCP/IP。
26.一種用于減少請求者計(jì)算機(jī)系統(tǒng)經(jīng)由中間計(jì)算機(jī)系統(tǒng)從遠(yuǎn)程數(shù)據(jù)存儲器中取回信息所需的時(shí)間的方法,包括由所述中間計(jì)算機(jī)系統(tǒng)接收請求以從所述數(shù)據(jù)存儲器中取回?cái)?shù)據(jù);由所述中間計(jì)算機(jī)系統(tǒng)從所述數(shù)據(jù)存儲器中取回第一數(shù)據(jù)項(xiàng);以及所述中間計(jì)算機(jī)系統(tǒng)在從所述數(shù)據(jù)存儲器中取回第二數(shù)據(jù)項(xiàng)的同時(shí)將所述第一數(shù)據(jù)項(xiàng)發(fā)送至所述請求者計(jì)算機(jī)系統(tǒng)。
27.如權(quán)利要求26的系統(tǒng),其中所述數(shù)據(jù)存儲器是萬維網(wǎng)服務(wù)器的一部分。
28.一種用于提高通信網(wǎng)絡(luò)中多個(gè)超級模塊的兩個(gè)超級模塊之間的網(wǎng)段的性能的系統(tǒng),所述系統(tǒng)包括所述多個(gè)超級模塊的第一超級模塊,用于接收多個(gè)IP分組并發(fā)送經(jīng)修改的數(shù)據(jù)分組,其包括從所述多個(gè)IP分組聯(lián)合的應(yīng)用數(shù)據(jù);和所述多個(gè)超級模塊的第二超級模塊,用于接收所述經(jīng)修改的數(shù)據(jù)分組,其中所述第二超級模塊包括的TCP/IP通信協(xié)議棧帶有用于處理所述經(jīng)修改的數(shù)據(jù)分組的附加應(yīng)用層。
29.如權(quán)利要求28的系統(tǒng),其中所述第二超級模塊是一分層系統(tǒng)的一部分,所述分層系統(tǒng)包括所述多個(gè)超級模塊中連接至所述第二超級模塊的多個(gè)較低級超級模塊。
全文摘要
通過將一“超級”傳輸及高速緩存結(jié)構(gòu)疊加在例如因特網(wǎng)160這樣的現(xiàn)有TCP/IP通信網(wǎng)絡(luò)上,提供了一種用于增加通信網(wǎng)絡(luò)的有效帶寬的系統(tǒng)和方法,其增加了通信網(wǎng)絡(luò)中的信息傳輸速率。“超級”傳輸及高速緩存結(jié)構(gòu)包括向由通信網(wǎng)絡(luò)中的通信鏈路分隔的至少兩個(gè)模塊添加的硬件和/或軟件。最終結(jié)果是,通信網(wǎng)絡(luò)的用戶訪問和/或取回信息的時(shí)間顯著減少,并且通信網(wǎng)絡(luò),尤其是例如因特網(wǎng)160這樣的大型網(wǎng)絡(luò),成為企業(yè)及個(gè)人進(jìn)行商業(yè)交易的有效機(jī)制。
文檔編號H04L29/08GK1561618SQ02811256
公開日2005年1月5日 申請日期2002年6月4日 優(yōu)先權(quán)日2001年6月4日
發(fā)明者大邁克爾·J·帕雷拉, 約翰·拉什, 杰里·M·梅特科夫, 小邁克爾·J·J·帕雷拉, 謝里爾·布雷 申請人:Nct集團(tuán)公司