專利名稱:使用http的計(jì)算機(jī)網(wǎng)絡(luò)的性能優(yōu)化的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及提高聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)的性能,特別涉及提高訪問因特網(wǎng)上萬維網(wǎng)(Web)的計(jì)算機(jī)系統(tǒng)的性能。
因特網(wǎng)是一個(gè)為世界范圍內(nèi)通信信息、思想和消息提供通路的網(wǎng)絡(luò)。雖然因特網(wǎng)已為學(xué)術(shù)界使用數(shù)十年之久,但直到最近才對(duì)因特網(wǎng)及其上的信息的興趣開始劇增。萬維網(wǎng)對(duì)因特網(wǎng)普及的增加起到重要部分的原因,也許是因?yàn)闉g覽器的用戶友好的圖形用戶接口(“GUI”),它能容易地用于訪問萬維網(wǎng)。
萬維網(wǎng)使超文本文件可為因特網(wǎng)的用戶使用。超文本文件不像一本書一樣線性提供信息,而是用鏈接或指針提供讀者其它位址,以便使用戶可以從一個(gè)位址跳到另一個(gè)。萬維網(wǎng)上的超文本文件通過超文本傳輸協(xié)議(“HTTP”)的客戶機(jī)/服務(wù)器協(xié)議訪問。
因特網(wǎng)使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(“TCP/IP”)將非常不同和不相似的系統(tǒng)連成網(wǎng)絡(luò)。在視窗3.X環(huán)境下,瀏覽器通常使用動(dòng)態(tài)鏈接庫WINSOCK.DLL與以基于TCP/IP的因特網(wǎng)通信。雖然因特網(wǎng)的硬件主干網(wǎng)是在教育、研究、政府和商業(yè)領(lǐng)域中的大型計(jì)算機(jī)系統(tǒng)之間一系列高速通信鏈路,但是大量訪問萬維網(wǎng)的用戶使用的瀏覽器,是通過較慢或較弱的鏈路(例如通過模擬電話線連接的28.8K的調(diào)制解調(diào)器)連接到與因特網(wǎng)聯(lián)網(wǎng)的網(wǎng)絡(luò)接入設(shè)備。
網(wǎng)絡(luò)接入設(shè)備通常具有一個(gè)對(duì)因特網(wǎng)的高速連接(例如以1.54MB的T-1連接)。網(wǎng)絡(luò)接入設(shè)備可以是一個(gè)遠(yuǎn)程訪問服務(wù)器以允許遠(yuǎn)程用戶連接到內(nèi)部網(wǎng)絡(luò)和因特網(wǎng)資源。這種遠(yuǎn)程訪問服務(wù)器,LanRoverTM訪問交換遠(yuǎn)程訪問服務(wù)器,由馬薩諸塞州的Bedford市的Shiva公司生產(chǎn)。其它類型的網(wǎng)絡(luò)接入設(shè)備由因特網(wǎng)服務(wù)提供商(“ISP”)使用,以提供客戶機(jī)對(duì)因特網(wǎng)的訪問。這樣,網(wǎng)絡(luò)接入設(shè)備在運(yùn)行瀏覽器的計(jì)算機(jī)和為用戶提供所謂的存在點(diǎn)(point of presence-POP)的萬維網(wǎng)服務(wù)器之間通過網(wǎng)絡(luò)連接。
一般來說網(wǎng)絡(luò)性能會(huì)受到阻礙,因?yàn)樵谟脩艉推銹OP之間的網(wǎng)絡(luò)鏈路通常比POP和萬維網(wǎng)服務(wù)器之間的網(wǎng)絡(luò)鏈路帶寬低很多。另外,在客戶機(jī)等待來自萬維網(wǎng)的響應(yīng)的同時(shí),在常規(guī)網(wǎng)絡(luò)中存在相當(dāng)數(shù)量的傳輸延遲。因此,需要有提高計(jì)算機(jī)網(wǎng)絡(luò)性能的系統(tǒng)和方法,優(yōu)選不需要修改現(xiàn)有瀏覽器。
本發(fā)明提供提高計(jì)算機(jī)網(wǎng)絡(luò)-特別是連接用戶到萬維網(wǎng)的網(wǎng)絡(luò)-性能的系統(tǒng)和方法。可以通過減少客戶機(jī)在發(fā)送對(duì)服務(wù)器的請(qǐng)求和接收到響應(yīng)之間經(jīng)歷到的傳輸延遲來提高網(wǎng)絡(luò)性能??梢杂梢粋€(gè)在網(wǎng)絡(luò)接入設(shè)備上的代理器(agent)維持一個(gè)連接超高速緩沖存儲(chǔ)器來更快響應(yīng)對(duì)服務(wù)器的網(wǎng)絡(luò)連接的連接請(qǐng)求。另外,該代理器可以維持一個(gè)信息超高速緩沖存儲(chǔ)器以更快響應(yīng)獲得曾被修改的目標(biāo)的請(qǐng)求??梢詥为?dú)或者結(jié)合實(shí)現(xiàn)這些增強(qiáng),通過節(jié)省代理器和服務(wù)器之間的往返時(shí)間來減少在發(fā)送對(duì)服務(wù)器各個(gè)請(qǐng)求中涉及的傳輸延遲。本發(fā)明補(bǔ)充由瀏覽器和其它部件(例如代理服務(wù)器)提供的超高速緩沖存儲(chǔ)。
還可以通過由網(wǎng)絡(luò)接入設(shè)備根據(jù)對(duì)HTTP請(qǐng)求的分析給萬維網(wǎng)服務(wù)器或者代理服務(wù)器發(fā)送HTTP請(qǐng)求來提高網(wǎng)絡(luò)性能。然后萬維網(wǎng)瀏覽器可以透明地使用一個(gè)代理服務(wù)器,不必專門給代理服務(wù)器發(fā)送請(qǐng)求。
另外,可以通過有效地增加在客戶機(jī)和網(wǎng)絡(luò)接入設(shè)備之間的弱鏈路的有效帶寬來提高網(wǎng)絡(luò)性能。一個(gè)客戶機(jī)鉤(client hook)截取客戶機(jī)對(duì)服務(wù)器的請(qǐng)求,并修改該客戶機(jī)請(qǐng)求來提高性能。然后把修改后的請(qǐng)求發(fā)送到代理器,代理器從修改后的請(qǐng)求重建客戶機(jī)請(qǐng)求并把該客戶機(jī)請(qǐng)求發(fā)送到服務(wù)器。例如,可以把多個(gè)客戶機(jī)請(qǐng)求組合為一個(gè)修改后的請(qǐng)求,或者把單個(gè)客戶機(jī)請(qǐng)求智能壓縮以便更有效地使用弱鏈路。
在一個(gè)實(shí)施例中,本發(fā)明提供一種由在一個(gè)位于客戶機(jī)和服務(wù)器之間的計(jì)算機(jī)網(wǎng)絡(luò)中的代理器執(zhí)行的方法,以提高客戶機(jī)和服務(wù)器之間的性能,該方法包括步驟從客戶機(jī)接收一個(gè)第一請(qǐng)求以打開到服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接;發(fā)送多個(gè)請(qǐng)求到服務(wù)器以打開到該服務(wù)器的多個(gè)網(wǎng)絡(luò)連接;從該客戶機(jī)接收一個(gè)第二請(qǐng)求;使用多個(gè)網(wǎng)絡(luò)連接中的一個(gè)發(fā)送該第二請(qǐng)求到服務(wù)器。因此,響應(yīng)客戶機(jī)打開單一網(wǎng)絡(luò)連接的第一請(qǐng)求打開到服務(wù)器的多個(gè)網(wǎng)絡(luò)連接。
在另一實(shí)施例中,本發(fā)明提供一種由在一個(gè)位于客戶機(jī)和服務(wù)器之間的計(jì)算機(jī)網(wǎng)絡(luò)中的代理器執(zhí)行的方法,以提高客戶機(jī)和服務(wù)器之間的性能,該方法包括步驟從客戶機(jī)接收一個(gè)第一請(qǐng)求以從服務(wù)器獲取一個(gè)在特定的時(shí)間印記后已被修改的對(duì)象;發(fā)送該第一請(qǐng)求到服務(wù)器;從該服務(wù)器接收一個(gè)第一響應(yīng),說明該對(duì)象在特定時(shí)間印記后還未被修改;發(fā)送該第一響應(yīng)到客戶機(jī);在超高速緩沖存儲(chǔ)器中存儲(chǔ)該對(duì)象的標(biāo)識(shí)符和一個(gè)時(shí)間印記;從該客戶機(jī)接收一個(gè)第二請(qǐng)求以從服務(wù)器獲取一個(gè)在特定時(shí)間印記后被修改的對(duì)象;如果存儲(chǔ)在超高速緩沖存儲(chǔ)器中的時(shí)間印記在從當(dāng)前時(shí)間開始的一個(gè)預(yù)定時(shí)間量內(nèi),則發(fā)送一個(gè)第二響應(yīng)到服務(wù)器,說明該對(duì)象在特定時(shí)間印記后還未被修改,而不給服務(wù)器發(fā)送第二請(qǐng)求。
在另一個(gè)實(shí)施例中,本發(fā)明提供一種由在一個(gè)位于客戶機(jī)和萬維網(wǎng)和代理服務(wù)器之間的計(jì)算機(jī)網(wǎng)絡(luò)中的代理器執(zhí)行的方法,以提高客戶機(jī)和萬維網(wǎng)服務(wù)器之間的性能,該方法包括步驟從客戶機(jī)接收一個(gè)HTTP請(qǐng)求;根據(jù)該HTTP請(qǐng)求發(fā)送該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器或者代理服務(wù)器,代理服務(wù)器存儲(chǔ)該萬維網(wǎng)服務(wù)器上的可用信息。因此,客戶機(jī)不需被修改或配置來使用該代理服務(wù)器。
在另一個(gè)實(shí)施例中,本發(fā)明提供一種方法,使用客戶機(jī)計(jì)算機(jī)上的客戶機(jī)鉤以及在客戶機(jī)計(jì)算機(jī)和服務(wù)器之間的代理器以提高在客戶機(jī)計(jì)算機(jī)上的客戶機(jī)和服務(wù)器之間的性能,包括步驟客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的請(qǐng)求;客戶機(jī)鉤修改該客戶機(jī)請(qǐng)求;客戶機(jī)鉤發(fā)送修改后的請(qǐng)求到代理器;代理器根據(jù)修改后的請(qǐng)求重建客戶機(jī)的請(qǐng)求;代理器發(fā)送客戶機(jī)請(qǐng)求到服務(wù)器??蛻魴C(jī)鉤可以截取客戶機(jī)請(qǐng)求以打開對(duì)該服務(wù)器的網(wǎng)絡(luò)連接并立即響應(yīng),以便該客戶機(jī)不必等待網(wǎng)絡(luò)連接被打開的響應(yīng)。代理器可以在需要時(shí)打開該網(wǎng)絡(luò)連接或存儲(chǔ)打開的網(wǎng)絡(luò)連接的超高速緩沖存儲(chǔ)器到該服務(wù)器。另外,客戶機(jī)鉤可以截取客戶機(jī)請(qǐng)求來將信息壓縮為不同于前一請(qǐng)求信息的變化。代理器具有存儲(chǔ)的先前的信息并從這一變化重建開始信息(hew information)。這樣,在客戶機(jī)鉤和代理器之間的通信提高了客戶機(jī)和服務(wù)器之間的通信性能。
本發(fā)明的特征是不必修改客戶機(jī)或服務(wù)器而提高性能。由于不需修改萬維網(wǎng)瀏覽器,所以能夠?qū)崿F(xiàn)透明地提高瀏覽器的性能而不管所使用的瀏覽器。本發(fā)明的其它特征和優(yōu)點(diǎn)在閱讀本說明書和附圖的其余部分后將十分明顯。
圖1表示用于執(zhí)行本發(fā)明實(shí)施例的軟件的一個(gè)計(jì)算機(jī)系統(tǒng)的例子;圖2表示用于執(zhí)行本發(fā)明實(shí)施例的軟件的一個(gè)典型計(jì)算機(jī)系統(tǒng)的系統(tǒng)方框圖;圖3表示通過因特網(wǎng)連接的多個(gè)計(jì)算機(jī)的圖4表示通過包括代理器的網(wǎng)絡(luò)接入設(shè)備連接到一個(gè)萬維網(wǎng)服務(wù)器的瀏覽器的方框圖;圖5表示響應(yīng)打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求而打開到服務(wù)器的多個(gè)網(wǎng)絡(luò)連接的過程的高層流程圖;圖6表示使用超高速緩沖存儲(chǔ)器響應(yīng)打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求而打開到服務(wù)器的多個(gè)網(wǎng)絡(luò)連接的另一過程的流程圖;圖7A和7B表示使用超高速緩沖存儲(chǔ)器提高獲取服務(wù)器上已被修改的對(duì)象的請(qǐng)求的性能的過程的流程圖;圖8表示周期刷新在圖7A和7B中使用的超高速緩沖存儲(chǔ)器中信息的過程的流程圖。
圖9是一個(gè)通過網(wǎng)絡(luò)接入設(shè)備連接到一個(gè)萬維網(wǎng)服務(wù)器的瀏覽器的方框圖,它使用一個(gè)代理服務(wù)器來提高性能;圖10表示根據(jù)一個(gè)HTTP請(qǐng)求引導(dǎo)該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器或代理服務(wù)器的過程的流程圖;圖11是通過網(wǎng)絡(luò)接入設(shè)備連接到一個(gè)萬維網(wǎng)服務(wù)器的瀏覽器的方框圖,其中一個(gè)客戶機(jī)鉤截取來自瀏覽器的請(qǐng)求;圖12表示一個(gè)客戶機(jī)鉤的立即響應(yīng)過程的流程圖,響應(yīng)打開對(duì)服務(wù)器一個(gè)網(wǎng)絡(luò)連接的請(qǐng)求已經(jīng)打開了網(wǎng)絡(luò)連接;圖13表示代理器的一個(gè)過程的流程圖,該代理器接收來自客戶機(jī)鉤的一個(gè)請(qǐng)求,它包括一個(gè)客戶機(jī)請(qǐng)求和一個(gè)該請(qǐng)求要發(fā)送到的服務(wù)器的標(biāo)識(shí)符;圖14表示代理器存儲(chǔ)一個(gè)頭標(biāo)和從頭標(biāo)之間的差別重建另一頭標(biāo)的過程的流程圖;圖15表示客戶機(jī)鉤和代理器提高頭標(biāo)傳輸性能過程的流程圖。
在下面的敘述中,本發(fā)明將參考提高使用對(duì)網(wǎng)絡(luò)存取設(shè)備弱鏈接的萬維網(wǎng)瀏覽器性能的優(yōu)選實(shí)施例說明。然而,本發(fā)明不限制于任何特定實(shí)施例或計(jì)算機(jī)網(wǎng)絡(luò)。因此,下面實(shí)施例的敘述僅為說明的目的而并不加以限制。
圖1表示用于執(zhí)行本發(fā)明實(shí)施例的軟件的一個(gè)計(jì)算機(jī)系統(tǒng)的例子。圖1表示一個(gè)計(jì)算機(jī)系統(tǒng)1,它包括監(jiān)視器3、屏幕5、機(jī)箱7、鍵盤9和鼠標(biāo)11。鼠標(biāo)11可以具有一個(gè)或多個(gè)按鈕,例如鼠標(biāo)按鈕13。機(jī)箱7內(nèi)安放一個(gè)CD-ROM驅(qū)動(dòng)器15、系統(tǒng)存儲(chǔ)器和可以用于存儲(chǔ)和檢索包括實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)代碼的軟件程序、用于本發(fā)明的數(shù)據(jù)的硬盤驅(qū)動(dòng)器(見圖2),等等。雖然所示CD-ROM17是作為示例的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),但是也可以使用其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括軟盤、磁帶、快速存儲(chǔ)器、系統(tǒng)存儲(chǔ)器和硬盤驅(qū)動(dòng)器。機(jī)箱7還安放熟悉的計(jì)算機(jī)部件(未示出),例如中央處理器、系統(tǒng)存儲(chǔ)器、硬盤等。
圖2表示用于執(zhí)行本發(fā)明的一個(gè)實(shí)施例的軟件的計(jì)算機(jī)系統(tǒng)1的系統(tǒng)方框圖。如同圖1,計(jì)算機(jī)系統(tǒng)1包括監(jiān)視器3和鍵盤9。計(jì)算機(jī)系統(tǒng)1進(jìn)一步包括各種子系統(tǒng),諸如中央處理器102、系統(tǒng)存儲(chǔ)器104、I/0控制器106、顯示適配器108、可拆卸盤112(例如CD-ROM驅(qū)動(dòng)器)、固定盤116(例如硬盤驅(qū)動(dòng)器)、網(wǎng)絡(luò)接口118和揚(yáng)聲器120。適用于本發(fā)明的其它計(jì)算機(jī)系統(tǒng)可以包括另外的或者較少子系統(tǒng)。例如,另一計(jì)算機(jī)系統(tǒng)可以包括多于一個(gè)的處理器102(亦即一個(gè)多處理器系統(tǒng))或一個(gè)超高速緩沖存儲(chǔ)器。
諸如122的箭頭表示計(jì)算機(jī)系統(tǒng)1的系統(tǒng)總線結(jié)構(gòu)。然而,這些箭頭是用以表示連接各子系統(tǒng)的任何互聯(lián)方案。例如,可以使用一個(gè)局部總線來連接中央處理器到系統(tǒng)存儲(chǔ)器和顯示適配器。圖2所示計(jì)算機(jī)系統(tǒng)1只是適用于本發(fā)明的計(jì)算機(jī)系統(tǒng)的一個(gè)例子。適用于本發(fā)明的子系統(tǒng)的其它配置對(duì)熟悉本技術(shù)領(lǐng)域的人來說十分明顯。
本發(fā)明的優(yōu)選實(shí)施例提高萬維網(wǎng)瀏覽器(或客戶機(jī))對(duì)因特網(wǎng)上的萬維網(wǎng)的訪問的性能。圖3表示通過因特網(wǎng)相連的多個(gè)計(jì)算機(jī)。計(jì)算機(jī)202、204和206由因特網(wǎng)208互聯(lián),因特網(wǎng)是在世界范圍內(nèi)位于教育、研究和商業(yè)計(jì)算機(jī)站點(diǎn)之間一系列高速通信鏈路。因特網(wǎng)計(jì)算機(jī)使用TCP/IP作為通信協(xié)議。
萬維網(wǎng)使用HTTP客戶機(jī)/服務(wù)器協(xié)議,它是一種請(qǐng)求-響應(yīng)協(xié)議,HTTP事務(wù)處理包括4個(gè)步驟連接、請(qǐng)求、響應(yīng)、拆除連接。在連接階段,客戶機(jī)打算打開對(duì)服務(wù)器的網(wǎng)絡(luò)連接。除另外說明外,HTTP打算使用服務(wù)器的端口80用于此連接。建立連接包括從客戶機(jī)請(qǐng)求打開網(wǎng)絡(luò)連接到服務(wù)器和服務(wù)器響應(yīng)報(bào)告網(wǎng)絡(luò)連接已經(jīng)打開的一個(gè)往返時(shí)間。雖然此間的討論集中于HTTP的1.0版本,但是本發(fā)明不局限于HTTP的任何版本或特定HTTP。
在網(wǎng)絡(luò)連接被打開之后,客戶機(jī)可以在請(qǐng)求階段發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器。請(qǐng)求階段包括往返時(shí)間的一半,其為該請(qǐng)求從客戶機(jī)前往服務(wù)器。一旦服務(wù)器接收到該請(qǐng)求,則服務(wù)器通過在響應(yīng)階段發(fā)送對(duì)該客戶機(jī)的響應(yīng)來響應(yīng)。如同請(qǐng)求一樣,響應(yīng)階段包括往返時(shí)間的一半,其為響應(yīng)從服務(wù)器到客戶機(jī)。
拆除連接階段關(guān)閉對(duì)服務(wù)器的網(wǎng)絡(luò)連接。這一階段包括往返時(shí)間的一半,并可以以許多不同方式發(fā)生。服務(wù)器可以在響應(yīng)發(fā)出后關(guān)閉該連接,或者由客戶機(jī)通過發(fā)送一個(gè)停止序列(例如用戶點(diǎn)擊瀏覽器的停止按鈕或回退/向前按鈕)。常規(guī)瀏覽器在屏幕的狀態(tài)行顯示四階段之一。
術(shù)語“客戶機(jī)”和“服務(wù)器”是相對(duì)的術(shù)語??蛻魴C(jī)是一個(gè)實(shí)體,它向一個(gè)服務(wù)器發(fā)出請(qǐng)求,而服務(wù)器通常給該客戶機(jī)響應(yīng)。然而,這些符號(hào)是請(qǐng)求-響應(yīng)特定的,而并不指示這些實(shí)體的作用是固定的。在優(yōu)選實(shí)施例中,客戶機(jī)是一個(gè)瀏覽器,而服務(wù)器是一個(gè)萬維網(wǎng)服務(wù)器。瀏覽器可以在類似于圖1和圖2所示計(jì)算機(jī)上執(zhí)行。服務(wù)器可以是類似的計(jì)算機(jī),但通常是功能上強(qiáng)大得多的系統(tǒng),包括更快的子系統(tǒng)和更多存儲(chǔ)容量。
圖4是通過包括一個(gè)代理器的網(wǎng)絡(luò)接入設(shè)備連接到萬維網(wǎng)服務(wù)器的瀏覽器的方框圖。所示計(jì)算機(jī)網(wǎng)絡(luò)包括一個(gè)萬維網(wǎng)瀏覽器252、網(wǎng)絡(luò)接入設(shè)備254和萬維網(wǎng)服務(wù)器256。該瀏覽器經(jīng)由網(wǎng)絡(luò)協(xié)議(例如TCP/IP)棧258、通過一條鏈路與網(wǎng)絡(luò)接入設(shè)備通信。瀏覽器和網(wǎng)絡(luò)協(xié)議堆棧駐留在客戶機(jī)計(jì)算機(jī)系統(tǒng)中。網(wǎng)絡(luò)接入設(shè)備通常是一個(gè)電子箱,可以包括圖2所示的某些子系統(tǒng)。萬維網(wǎng)服務(wù)器駐留在通常為遠(yuǎn)程計(jì)算機(jī)系統(tǒng)的服務(wù)器中。
網(wǎng)絡(luò)接入設(shè)備包括一個(gè)代理器260。代理器是一個(gè)包括本發(fā)明實(shí)施例的程序。代理器的計(jì)算機(jī)代碼可以駐留在任何計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器、電子可擦寫可編程只讀存儲(chǔ)器、或快速存儲(chǔ)器,僅舉幾例。在優(yōu)選實(shí)施例中,代理器駐留在由馬薩諸塞州Bedford市Shiva公司生產(chǎn)的LanRoverTM存取交換遠(yuǎn)程訪問服務(wù)器中。
圖5表示響應(yīng)打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求打開對(duì)服務(wù)器多個(gè)網(wǎng)絡(luò)連接的過程的高層流程圖。所示過程由在網(wǎng)絡(luò)接入設(shè)備上的一個(gè)代理器執(zhí)行。在步驟302,該代理器接收到一個(gè)打開到服務(wù)器單一網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求。
響應(yīng)打開到服務(wù)器的單一網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求,在步驟304,代理器發(fā)送多個(gè)請(qǐng)求給服務(wù)器,打開對(duì)該服務(wù)器的多個(gè)網(wǎng)絡(luò)連接。這樣,響應(yīng)客戶機(jī)打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求而打開對(duì)該服務(wù)器的多個(gè)網(wǎng)絡(luò)連接。優(yōu)選地,代理器保持網(wǎng)絡(luò)連接。一旦打開一個(gè)網(wǎng)絡(luò)連接,代理器將從服務(wù)器接收一個(gè)響應(yīng),并把該響應(yīng)發(fā)送給客戶機(jī)。然后,該客戶機(jī)將通過打開的網(wǎng)絡(luò)連接發(fā)布對(duì)該服務(wù)器的一個(gè)請(qǐng)求,其由代理器接收。在步驟306,代理器使用打開的網(wǎng)絡(luò)連接發(fā)送后繼的客戶機(jī)請(qǐng)求給服務(wù)器。
經(jīng)常是代理器要接收另外對(duì)該服務(wù)器打開單一網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求。由于該代理器先前打開多個(gè)網(wǎng)絡(luò)連接,因此代理器立即響應(yīng),說明網(wǎng)絡(luò)連接已經(jīng)可用,這樣節(jié)省了在代理器和服務(wù)器之間的往返時(shí)間。然后客戶機(jī)通過打開的網(wǎng)絡(luò)連接發(fā)布后繼的客戶機(jī)請(qǐng)求。代理器可以存儲(chǔ)打開的網(wǎng)絡(luò)連接到超高速緩沖存儲(chǔ)器,將參考圖6對(duì)其詳細(xì)敘述。
為簡(jiǎn)單起見,此間的討論敘述代理器與單一客戶機(jī)瀏覽器和單一萬維網(wǎng)服務(wù)器的相互作用。然而,在實(shí)際上,代理器通常與多個(gè)客戶機(jī)和多個(gè)萬維網(wǎng)服務(wù)器通信。本發(fā)明的方法并不孤立地單獨(dú)提高每一個(gè)別客戶機(jī)的性能。例如,一個(gè)客戶機(jī)可以通過發(fā)布打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求而打開對(duì)服務(wù)器的多個(gè)網(wǎng)絡(luò)連接。接著,另一客戶機(jī)可以請(qǐng)求打開對(duì)同一服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接。代理器然后可以立即把一個(gè)網(wǎng)絡(luò)連接授與該客戶機(jī),因?yàn)榫W(wǎng)絡(luò)連接已經(jīng)打開。這樣,一個(gè)客戶機(jī)的動(dòng)作也可以導(dǎo)致提高其它客戶機(jī)的性能。代理器優(yōu)選打開對(duì)該服務(wù)器的另一網(wǎng)絡(luò)連接來替換已經(jīng)被使用的一個(gè)。
圖6表示使用超高速緩沖存儲(chǔ)器響應(yīng)打開一個(gè)單一網(wǎng)絡(luò)連接的請(qǐng)求打開對(duì)服務(wù)器的多個(gè)網(wǎng)絡(luò)連接的另一過程的流程圖。在該實(shí)施例中,代理器維護(hù)對(duì)該服務(wù)器(或多個(gè)服務(wù)器)的網(wǎng)絡(luò)連接的超高速緩沖存儲(chǔ)器。在步驟352,代理器接收打開對(duì)該服務(wù)器單一網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求。
在步驟354,代理器掃描超高速緩沖存儲(chǔ)器尋找打開的對(duì)服務(wù)器的網(wǎng)絡(luò)連接。如果在步驟356在超高速緩沖存儲(chǔ)器中不存在對(duì)服務(wù)器的打開的網(wǎng)絡(luò)連接的話,則代理器給服務(wù)器發(fā)送一個(gè)打開一個(gè)網(wǎng)絡(luò)連接的請(qǐng)求。雖然本實(shí)施例在此點(diǎn)打開一個(gè)單一網(wǎng)絡(luò)連接,并隨后判定連接超高速緩沖存儲(chǔ)是否改善了性能,但是在另外的實(shí)施例中,代理器給服務(wù)器發(fā)送多個(gè)請(qǐng)求要求打開多個(gè)網(wǎng)絡(luò)連接而旁路隨后的判定。
如果在超高速緩沖存儲(chǔ)器中存在對(duì)該服務(wù)器可用的打開的網(wǎng)絡(luò)連接的話,則代理器給客戶機(jī)發(fā)送一個(gè)響應(yīng),說明網(wǎng)絡(luò)連接被打開。該客戶機(jī)使用這一打開的網(wǎng)絡(luò)連接給服務(wù)器發(fā)送一個(gè)客戶機(jī)請(qǐng)求,該請(qǐng)求由代理器在步驟360發(fā)送給服務(wù)器。
在步驟362,代理器判定對(duì)該服務(wù)器的網(wǎng)絡(luò)連接超高速緩沖存儲(chǔ)是否改善了性能。這一判定可從許多因素確定,包括該代理器在超高速緩沖存儲(chǔ)器中的“命中”的次數(shù)、維護(hù)該超高速緩沖存儲(chǔ)器需要的開銷、服務(wù)器是否能響應(yīng)該連接“保持打開”(亦即持續(xù)連接)的請(qǐng)求而允許該網(wǎng)絡(luò)連接保持打開,等等。代理器可以請(qǐng)求服務(wù)器“保持打開”該連接,但是實(shí)踐這一請(qǐng)求卻由服務(wù)器決定。
在步驟364,代理器檢查超高速緩沖存儲(chǔ)器中對(duì)服務(wù)器的所有網(wǎng)絡(luò)連接是否在使用。如果連接超高速緩沖存儲(chǔ)確實(shí)改善了性能以及所有對(duì)服務(wù)器的網(wǎng)絡(luò)連接都在使用的話,則代理器在步驟366給服務(wù)器至少發(fā)送一個(gè)請(qǐng)求,要求打開一個(gè)網(wǎng)絡(luò)連接。如果確定多個(gè)網(wǎng)絡(luò)連接改善了性能的話,則可以打開對(duì)服務(wù)器的多個(gè)連接。例如,在超高速緩沖存儲(chǔ)器中具有預(yù)定數(shù)目(例如,用戶指定的或由代理器在監(jiān)視性能時(shí)確定的)的對(duì)一個(gè)服務(wù)器打開的網(wǎng)絡(luò)連接也許是有利的。如果打開的連接數(shù)少于該預(yù)定數(shù),則代理器至少發(fā)送一個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接。
在一個(gè)優(yōu)選實(shí)施例中,超高速緩沖存儲(chǔ)器存儲(chǔ)所有網(wǎng)絡(luò)連接和一個(gè)指示符,指明該網(wǎng)絡(luò)連接被打開、在使用或是關(guān)閉。在代理器打開網(wǎng)絡(luò)連接時(shí),它們被標(biāo)記為“打開”。當(dāng)代理器接收到打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接的請(qǐng)求且當(dāng)超高速緩沖存儲(chǔ)器中有一個(gè)對(duì)該服務(wù)器打開的網(wǎng)絡(luò)連接時(shí),則代理器標(biāo)記該網(wǎng)絡(luò)連接為“正在使用”或“被使用”。當(dāng)代理器從服務(wù)器接收到超高速緩沖存儲(chǔ)器中的網(wǎng)絡(luò)連接已經(jīng)關(guān)閉時(shí),則代理器標(biāo)記該網(wǎng)絡(luò)連接為“關(guān)閉”。
在另一個(gè)實(shí)施例中,超高速緩沖存儲(chǔ)器只存儲(chǔ)打開的網(wǎng)絡(luò)連接。每次在超高速緩沖存儲(chǔ)器中的一個(gè)網(wǎng)絡(luò)連接被使用或者關(guān)閉時(shí),代理器從超高速緩沖存儲(chǔ)器中清除該網(wǎng)絡(luò)連接。代理器也可以給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求打開一個(gè)網(wǎng)絡(luò)連接以替換從超高速緩沖存儲(chǔ)器中清除的網(wǎng)絡(luò)連接。
在常規(guī)網(wǎng)絡(luò)系統(tǒng)中,當(dāng)一個(gè)客戶機(jī)希望從服務(wù)器獲取一個(gè)對(duì)象時(shí)需要在該客戶機(jī)和服務(wù)器之間兩個(gè)往返時(shí)間一個(gè)是打開連接,一個(gè)是獲取對(duì)象。而在本發(fā)明中,可以避免在代理器和服務(wù)器之間的一次往返時(shí)間,這樣將總時(shí)間減少為在客戶機(jī)和服務(wù)器之間一個(gè)半的往返時(shí)間。這樣明顯提高客戶機(jī)的性能。
圖7A和7B表示使用超高速緩沖存儲(chǔ)器在一個(gè)對(duì)象被修改后提高請(qǐng)求獲取服務(wù)器上該對(duì)象的性能的過程的流程圖。利用HTTP,客戶機(jī)能夠請(qǐng)求服務(wù)器發(fā)送一個(gè)從指定時(shí)間和日期以來還未被修改的對(duì)象。為方便起見,這一指定的時(shí)間和日期下面將稱為時(shí)間印記。更具體說,一個(gè)HTTP獲取消息的頭標(biāo)可以包括一個(gè)具有指定“是否自...以來被修改”(If-Modified-Since)的字段和在另一字段的時(shí)間印記的頭標(biāo)。如果服務(wù)器確定該對(duì)象自該指定時(shí)間印記以來還未被修改,則服務(wù)器不需發(fā)送該對(duì)象到該客戶機(jī),而只需發(fā)布一個(gè)未修改(304)響應(yīng)。
雖然瀏覽器可以使用本特征來維護(hù)它自己的超高速緩沖存儲(chǔ)器,但是本發(fā)明的一個(gè)代理器使用該特征維護(hù)一個(gè)信息超高速緩沖存儲(chǔ)器以進(jìn)一步提高該計(jì)算機(jī)網(wǎng)絡(luò)的性能。一般來說,可以使用兩個(gè)客戶機(jī)請(qǐng)求來建立信息超高速緩沖存儲(chǔ)器和一個(gè)第三客戶機(jī)請(qǐng)求來實(shí)現(xiàn)性能的提高。為完整起見,下面假定瀏覽器在自己的超高速緩沖存儲(chǔ)器中沒有希望的對(duì)象。
在圖7A中的步驟402,代理器接收一個(gè)客戶機(jī)請(qǐng)求,要求從服務(wù)器獲取一個(gè)對(duì)象。代理器然后發(fā)送該客戶機(jī)請(qǐng)求到服務(wù)器。在步驟404,代理器從服務(wù)器獲取該對(duì)象并將其發(fā)送給客戶機(jī)。常規(guī)瀏覽器具有一個(gè)用于存儲(chǔ)用于未來參考(例如當(dāng)用戶重新訪問該萬維網(wǎng)頁面時(shí))的對(duì)象的超高速緩沖存儲(chǔ)器。瀏覽器超高速緩沖存儲(chǔ)器包括指示在超高速緩沖存儲(chǔ)器中的對(duì)象的傳播的時(shí)間印記。
當(dāng)客戶機(jī)想要在其超高速緩沖存儲(chǔ)器中的一個(gè)對(duì)象時(shí),瀏覽器發(fā)送一個(gè)請(qǐng)求,要求獲取該對(duì)象,如果該對(duì)象自在瀏覽器超高速緩沖存儲(chǔ)器中指定的時(shí)間印記以來已經(jīng)被修改的話。在步驟406,代理器接收該請(qǐng)求并將其發(fā)送給服務(wù)器。
在步驟408,代理器從服務(wù)器接收一個(gè)響應(yīng)(304),指明該對(duì)象自時(shí)間印記以來未曾被修改。代理器發(fā)送該響應(yīng)給客戶機(jī)。代理器在步驟410在超高速緩沖存儲(chǔ)器中存儲(chǔ)該對(duì)象的一個(gè)標(biāo)識(shí)符和當(dāng)前時(shí)間印記(亦即在服務(wù)器指示該對(duì)象還未改變時(shí)的時(shí)間印記)。這一當(dāng)前時(shí)間印記被用作該對(duì)象未被修改時(shí)的時(shí)間的估計(jì)。超高速緩沖存儲(chǔ)器可以是包括該對(duì)象的地址(例如一個(gè)標(biāo)識(shí)符)、在瀏覽器超高速緩沖存儲(chǔ)器中該對(duì)象的時(shí)間印記和當(dāng)前時(shí)間印記的一張表。代理器不需在該超高速緩沖存儲(chǔ)器中存儲(chǔ)該對(duì)象。
如果該對(duì)象已被修改的話,則代理器在步驟412接收一個(gè)請(qǐng)求從服務(wù)器中獲取該對(duì)象。代理器通過掃描超高速緩沖存儲(chǔ)器來確定該請(qǐng)求是否指定在其超高速緩沖存儲(chǔ)器中的一個(gè)對(duì)象。由于上述前一客戶機(jī)請(qǐng)求同一對(duì)象,并且接收到一個(gè)未被修改的響應(yīng),因此該對(duì)象在超高速緩沖存儲(chǔ)器中被指定。
現(xiàn)在參考圖7B,在步驟414代理器判定,策略是否指示在瀏覽器的超高速緩沖存儲(chǔ)器中的該對(duì)象足夠?yàn)楫?dāng)前的。所謂策略可以是當(dāng)前時(shí)間印記與超高速緩沖存儲(chǔ)器中當(dāng)服務(wù)器最后指示該對(duì)象未被修改時(shí)的時(shí)間印記的比較。如果在這兩個(gè)時(shí)間印記之間的差別在一個(gè)預(yù)定數(shù)量的時(shí)間內(nèi),則在瀏覽器超高速緩沖存儲(chǔ)器中的該對(duì)象是足夠當(dāng)前的。預(yù)定時(shí)間可以由管理員設(shè)定或者由代理器預(yù)先設(shè)定??梢詰?yīng)用另外的策略考慮。如果服務(wù)器不經(jīng)常改變自己的內(nèi)容(例如由代理器通知),則可以延長該時(shí)間數(shù)量。另一方面,如果服務(wù)器確實(shí)經(jīng)常改變其內(nèi)容(例如股票行情),則可以縮短該時(shí)間數(shù)量。這樣,對(duì)一個(gè)仍為當(dāng)前的對(duì)象的時(shí)間量可以是對(duì)服務(wù)器,萬維網(wǎng)頁或統(tǒng)一資源定位器(“URL”)特有的。
在步驟416,代理器確定瀏覽器的超高速緩沖存儲(chǔ)器中的該對(duì)象足夠當(dāng)前,而且該代理器發(fā)送一個(gè)未修改響應(yīng)給客戶機(jī)。代理器響應(yīng)該客戶機(jī)而不給服務(wù)器發(fā)送請(qǐng)求,從而節(jié)省在代理器和服務(wù)器之間的一次往返時(shí)間。
如果代理器確定瀏覽器的超高速緩沖存儲(chǔ)器不足夠新,則在步驟418代理器發(fā)送一個(gè)請(qǐng)求從服務(wù)器獲取一個(gè)對(duì)象,如果該對(duì)象已被修改的話。這樣,代理器發(fā)送客戶機(jī)請(qǐng)求給服務(wù)器。在步驟420,當(dāng)代理器接收到服務(wù)器的一個(gè)響應(yīng)時(shí),該代理器發(fā)送該響應(yīng)給客戶機(jī)。在步驟422,代理器根據(jù)該響應(yīng)更新超高速緩沖存儲(chǔ)器。例如,代理器可以存儲(chǔ)當(dāng)前時(shí)間印記到超高速緩沖存儲(chǔ)器中,以指示在這一時(shí)間點(diǎn)服務(wù)器指示該對(duì)象還未被修改。如果收到該對(duì)象的新的副本,則代理器可更新超高速緩沖存儲(chǔ)器中的時(shí)間印記,指示瀏覽器接收到該對(duì)象的最后時(shí)間。
利用本發(fā)明,用于請(qǐng)求已被修改的對(duì)象的一個(gè)客戶機(jī)的時(shí)間可以從在該客戶機(jī)到服務(wù)器之間的一次往返時(shí)間減少到在該客戶機(jī)和代理器之間的一次往返時(shí)間(暫時(shí)忽略連接和拆除連接時(shí)間)。雖然在超高速緩沖存儲(chǔ)器中的條目是客戶機(jī)特有的,然而本發(fā)明對(duì)發(fā)出請(qǐng)求以獲取已被修改的對(duì)象的客戶機(jī)提供明顯的性能改善。
圖8表示周期刷新在圖7A和7B中使用的超高速緩沖存儲(chǔ)器中信息的一個(gè)過程的流程圖。在步驟452,代理器周期地(例如使用一個(gè)定時(shí)器)獲取超高速緩沖存儲(chǔ)器中一個(gè)對(duì)象的標(biāo)識(shí)符。然后在步驟454代理器判定該對(duì)象是否足夠新。這可以由代理器通過進(jìn)行和客戶機(jī)請(qǐng)求獲取已被修改的對(duì)象的同樣的計(jì)算來實(shí)現(xiàn)。
如果該對(duì)象不夠新,則在步驟456代理器給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求獲取該對(duì)象,如果它已被修改的話。這一請(qǐng)求起源于代理器而非客戶機(jī)。然后在步驟458代理器根據(jù)服務(wù)器的響應(yīng)更新其超高速緩沖存儲(chǔ)器。如果服務(wù)器響應(yīng)該對(duì)象還未被修改,則代理器可以更新該對(duì)象保持未被修改的時(shí)間的估計(jì)。反之,如果服務(wù)器發(fā)送該對(duì)象的一個(gè)新的副本,則代理器通常拋棄該新對(duì)象并且更新超高速緩沖存儲(chǔ)器,指示該對(duì)象已被修改。在另一實(shí)施例中,代理器可以存儲(chǔ)該對(duì)象的新副本以便滿足未來的客戶機(jī)請(qǐng)求。
在步驟460,客戶機(jī)判定是否有在超高速緩沖存儲(chǔ)器中標(biāo)識(shí)的另外對(duì)象。如果有的話,則代理器試圖為該對(duì)象更新超高速緩沖存儲(chǔ)器。通過周期地更新超高速緩沖存儲(chǔ)器,客戶機(jī)瀏覽器的性能將會(huì)提高,因?yàn)榭梢愿嗳∠诖砥骱头?wù)器之間的往返時(shí)間。
圖9是一個(gè)瀏覽器的方框圖,該瀏覽器通過使用一個(gè)代理服務(wù)器的網(wǎng)絡(luò)接入設(shè)備連接到一個(gè)萬維網(wǎng)服務(wù)器以提高性能。所示計(jì)算機(jī)網(wǎng)絡(luò)包括一個(gè)萬維網(wǎng)瀏覽器502、網(wǎng)絡(luò)接入設(shè)備504和一個(gè)萬維網(wǎng)服務(wù)器506。瀏覽器通過一條鏈路經(jīng)由一個(gè)網(wǎng)絡(luò)協(xié)議堆棧508與網(wǎng)絡(luò)接入設(shè)備通信。瀏覽器和網(wǎng)絡(luò)協(xié)議堆棧駐留在客戶機(jī)計(jì)算機(jī)系統(tǒng)中。而萬維網(wǎng)服務(wù)器駐留在通常為遠(yuǎn)程計(jì)算機(jī)系統(tǒng)的服務(wù)器中。
網(wǎng)絡(luò)接入設(shè)備包括一個(gè)代理器510。所示代理器是一個(gè)程序,它接收HTTP請(qǐng)求并把它們引導(dǎo)到萬維網(wǎng)服務(wù)器或者代理服務(wù)器512。該代理器通常接收幾種協(xié)議的消息,但是這里的討論集中于HTTP消息。代理服務(wù)器是一個(gè)計(jì)算機(jī)系統(tǒng),它存儲(chǔ)來自萬維網(wǎng)服務(wù)器的可用信息。一般來說,從代理服務(wù)器訪問信息可能比從萬維網(wǎng)服務(wù)器更快。
雖然代理服務(wù)器的使用已經(jīng)公知,但是常規(guī)系統(tǒng)需要客戶機(jī)指定HTTP消息是發(fā)送到萬維網(wǎng)服務(wù)器還是代理服務(wù)器。在本發(fā)明中,客戶機(jī)無需明確指定該代理服務(wù)器使其性能由于使用了該代理服務(wù)器而得以提高。本發(fā)明的代理器根據(jù)對(duì)HTTP請(qǐng)求的分析發(fā)送該HTTP消息給萬維網(wǎng)服務(wù)器或者代理服務(wù)器。
圖10表示根據(jù)請(qǐng)求引導(dǎo)一個(gè)HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器或者代理服務(wù)器的過程的流程圖。在步驟552,代理器從客戶機(jī)接收一個(gè)HTTP請(qǐng)求。在步驟554代理器分析該HTTP請(qǐng)求。這一分析可以包括判定該請(qǐng)求是獲取信息還是發(fā)布信息。發(fā)布信息的請(qǐng)求可以送給萬維網(wǎng)服務(wù)器。然而,獲取信息的請(qǐng)求可以送往代理服務(wù)器。也可以有其它包括判定該信息是否可能駐留在代理服務(wù)器中的因素。
如果在步驟556確定該HTTP請(qǐng)求可以由代理服務(wù)器服務(wù),則在步驟558代理器發(fā)送該HTTP請(qǐng)求到代理服務(wù)器。代理器也可以在該請(qǐng)求被送往代理服務(wù)器之前需要轉(zhuǎn)換該請(qǐng)求為一個(gè)不同的協(xié)議。否則,在步驟560,代理器發(fā)送該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器。
本發(fā)明允許客戶機(jī)得到代理服務(wù)器的益處而無需被修改來明確發(fā)送請(qǐng)求到代理服務(wù)器。這樣,代理服務(wù)器可以被改變或由對(duì)網(wǎng)絡(luò)接入設(shè)備進(jìn)行的改變而修改,而客戶機(jī)保持不變。
圖11表示通過網(wǎng)絡(luò)接入設(shè)備連接到一個(gè)萬維網(wǎng)服務(wù)器的瀏覽器的方框圖,其中一個(gè)客戶機(jī)鉤截取來自瀏覽器的請(qǐng)求。所示計(jì)算機(jī)網(wǎng)絡(luò)包括一個(gè)萬維網(wǎng)瀏覽器602、網(wǎng)絡(luò)接入設(shè)備604和一個(gè)萬維網(wǎng)服務(wù)器606。瀏覽器通過一條鏈路經(jīng)由一個(gè)網(wǎng)絡(luò)協(xié)議堆棧608與網(wǎng)絡(luò)接入設(shè)備通信。在帶有瀏覽器和網(wǎng)絡(luò)協(xié)議堆棧的客戶機(jī)計(jì)算機(jī)系統(tǒng)上有一個(gè)客戶機(jī)鉤610,該客戶機(jī)鉤截取瀏覽器和網(wǎng)絡(luò)協(xié)議堆棧之間的呼叫。
在優(yōu)選實(shí)施例中,客戶機(jī)鉤使用DLL鏈截取瀏覽器和網(wǎng)絡(luò)協(xié)議堆棧之間的呼叫。例如,重命名動(dòng)態(tài)鏈接庫WINSOCK.DLL為WINSOCKZ.DLL.新的WINSOCK.DLL安裝在客戶機(jī)計(jì)算機(jī)系統(tǒng)中,它具有和在原來的WINSOCK.DLL中同樣名字的例程。然而,新的WINSOCK.DLL在其例程(亦即客戶機(jī)鉤)中有在呼叫被執(zhí)行之前對(duì)之截取的指令。在許多實(shí)例中,WINSOCK.DLL的許多例程在該例程的某一點(diǎn)調(diào)用WINSOCKZ.DLL中的例程。
網(wǎng)絡(luò)接入設(shè)備包括一個(gè)代理器612。所示代理器是一個(gè)程序,它從該客戶機(jī)鉤接收HTTP請(qǐng)求??蛻魴C(jī)鉤和代理器以這樣一種方式通信來提高計(jì)算機(jī)網(wǎng)絡(luò)的性能而無需修改該客戶機(jī)。因此,用戶自由選擇瀏覽器而仍可明顯提高性能。
一般來說,客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的HTTP請(qǐng)求??蛻魴C(jī)鉤修改來自客戶機(jī)的HTTP請(qǐng)求并將修改后的請(qǐng)求發(fā)送給代理器。代理器接收修改后的請(qǐng)求,并根據(jù)修改后的請(qǐng)求從客戶機(jī)重建原來的HTTP請(qǐng)求。然后代理器從客戶機(jī)發(fā)送該HTTP請(qǐng)求到服務(wù)器。不要求客戶機(jī)鉤和代理器通過HTTP通信。然而,正是在客戶機(jī)鉤和代理器之間的通信提高在客戶機(jī)和服務(wù)器之間通信的性能。
可以使用圖11所示計(jì)算機(jī)網(wǎng)絡(luò)來提高許多過程的性能。例如,可以改善打開對(duì)服務(wù)器網(wǎng)絡(luò)連接的過程。另外,可以增強(qiáng)在對(duì)服務(wù)器的請(qǐng)求內(nèi)發(fā)送頭標(biāo)的過程。但是這些只是本發(fā)明的幾個(gè)例子,后面將參考圖12-15詳細(xì)敘述。
圖12表示客戶機(jī)鉤的一個(gè)立即響應(yīng)過程的流程圖,該響應(yīng)說明響應(yīng)打開對(duì)服務(wù)器一個(gè)網(wǎng)絡(luò)連接的請(qǐng)求,該網(wǎng)絡(luò)連接已經(jīng)打開。在步驟622,客戶機(jī)鉤截取打開對(duì)服務(wù)器一個(gè)網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求。在步驟624,客戶機(jī)鉤立即響應(yīng)客戶機(jī),一個(gè)偽網(wǎng)絡(luò)連接已經(jīng)打開。偽網(wǎng)絡(luò)連接不是實(shí)際網(wǎng)絡(luò)連接,但是允許客戶機(jī)開始下一客戶機(jī)請(qǐng)求。
在步驟626,客戶機(jī)鉤截取指定偽網(wǎng)絡(luò)連接的對(duì)服務(wù)器的客戶機(jī)請(qǐng)求。在步驟628,客戶機(jī)鉤發(fā)送該客戶機(jī)請(qǐng)求和服務(wù)器標(biāo)識(shí)符到代理器。服務(wù)器標(biāo)識(shí)符(例如地址)從打開一個(gè)網(wǎng)絡(luò)連接的客戶機(jī)請(qǐng)求中獲得。由于客戶機(jī)鉤和代理器在計(jì)算機(jī)網(wǎng)絡(luò)中通信,因此不需要在這兩者之間的消息符合HTTP。這樣,所使用的實(shí)際協(xié)議可以為實(shí)際鏈路而優(yōu)化。
圖13表示從客戶機(jī)鉤接收一個(gè)請(qǐng)求的代理器的一個(gè)過程的流程圖,客戶機(jī)鉤包括該客戶機(jī)的一個(gè)請(qǐng)求應(yīng)和一個(gè)該請(qǐng)求應(yīng)送往的服務(wù)器的標(biāo)識(shí)符。在步驟652,代理器從包括一個(gè)服務(wù)器標(biāo)識(shí)符的客戶機(jī)鉤接收一個(gè)請(qǐng)求。代理器從客戶機(jī)鉤接收請(qǐng)求,不必首先接收要求打開對(duì)服務(wù)器一個(gè)網(wǎng)絡(luò)連接的一個(gè)HTTP客戶機(jī)請(qǐng)求。
在步驟654,代理器產(chǎn)生并發(fā)送一個(gè)HTTP請(qǐng)求給服務(wù)器,要求打開一個(gè)網(wǎng)絡(luò)連接。優(yōu)選地,代理器請(qǐng)求持續(xù)的網(wǎng)絡(luò)連接。服務(wù)器由從客戶機(jī)鉤接收到的標(biāo)識(shí)符標(biāo)識(shí)。一旦代理器從服務(wù)器接收到網(wǎng)絡(luò)連接已經(jīng)打開的響應(yīng),則在步驟656代理器產(chǎn)生并給服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求形式的客戶機(jī)請(qǐng)求。
代理器可以發(fā)送一個(gè)HTTP請(qǐng)求以打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接。代理器還可以維護(hù)一個(gè)網(wǎng)絡(luò)連接的超高速緩沖存儲(chǔ)器,其已在參考圖6的說明中敘述。以這種方式,可以消除在代理器和服務(wù)器之間的往返時(shí)間。
本發(fā)明以許多方式提高性能。當(dāng)打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接時(shí)可以消除在客戶機(jī)和代理器之間的往返時(shí)間。這一點(diǎn)也許特別有意義,因?yàn)樵撴溌房赡苁窃谠撚?jì)算機(jī)網(wǎng)絡(luò)中的弱鏈路。另外,在客戶機(jī)鉤和代理器之間的協(xié)議不限制為HTTP,因此它可以更加優(yōu)化。
圖14表示代理器存儲(chǔ)一個(gè)頭標(biāo)和從頭標(biāo)之間的差別重建另一頭標(biāo)的過程的流程圖。最初,客戶機(jī)鉤截取客戶機(jī)請(qǐng)求并將其發(fā)送給代理器。下面將要說明,客戶機(jī)鉤和代理器之間的通信在其優(yōu)化時(shí)優(yōu)選不是HTTP。另外,雖然所述實(shí)施例是針對(duì)請(qǐng)求中的頭標(biāo),但是本發(fā)明可用于請(qǐng)求中的任何信息。
當(dāng)代理器接收客戶機(jī)鉤的一個(gè)請(qǐng)求時(shí),在步驟672代理器存儲(chǔ)其頭標(biāo)。然后代理器產(chǎn)生并給服務(wù)器發(fā)送一個(gè)相應(yīng)HTTP請(qǐng)求。在步驟674,代理器接收客戶機(jī)鉤的另一請(qǐng)求,其包含前一頭標(biāo)和這一頭標(biāo)之間的差別。頭標(biāo)之間的差別現(xiàn)在不是HTTP中頭標(biāo)的標(biāo)準(zhǔn)格式。
在步驟676,代理器使用存儲(chǔ)的頭標(biāo)及其差別為客戶機(jī)鉤的當(dāng)前請(qǐng)求重建頭標(biāo)。在步驟678,代理器使用重建的頭標(biāo)產(chǎn)生和給服務(wù)器發(fā)送一個(gè)相應(yīng)的HTTP請(qǐng)求。
頭標(biāo)通常包括關(guān)于瀏覽器的信息(例如名字和版本號(hào))、可接受的數(shù)據(jù)格式等,類似一個(gè)多用途因特網(wǎng)郵寄擴(kuò)展(“MIME”)頭標(biāo)。因此,頭標(biāo)的大部分在不同請(qǐng)求間不改變。在本發(fā)明中,一個(gè)HTTP請(qǐng)求可以從幾百字節(jié)減少為不到20字節(jié)。這一點(diǎn)特別有意義,因?yàn)樵诳蛻魴C(jī)鉤和代理器之間的鏈路通常是計(jì)算機(jī)網(wǎng)絡(luò)中的弱鏈路。下面詳細(xì)敘述這一過程的實(shí)現(xiàn)。
圖15表示提高頭標(biāo)傳輸性能的客戶機(jī)鉤和代理器的一個(gè)過程的流程圖。在步驟702,客戶機(jī)鉤截取對(duì)服務(wù)器的一個(gè)客戶機(jī)請(qǐng)求,該請(qǐng)求包括客戶機(jī)鉤存儲(chǔ)的一個(gè)頭標(biāo)。該客戶機(jī)請(qǐng)求是一個(gè)HTTP請(qǐng)求,而客戶機(jī)鉤在給代理器發(fā)送該客戶機(jī)請(qǐng)求時(shí)使用更加優(yōu)化的協(xié)議(亦即非HTTP)。
在步驟704,客戶機(jī)鉤給代理器發(fā)送客戶機(jī)請(qǐng)求以便傳輸給服務(wù)器。一旦代理器接收到該客戶機(jī)請(qǐng)求,則代理器在步驟706存儲(chǔ)客戶機(jī)請(qǐng)求中頭標(biāo)的副本。如果客戶機(jī)請(qǐng)求不是HTTP,則代理器產(chǎn)生一個(gè)相應(yīng)的HTTP客戶機(jī)請(qǐng)求。在步驟708,代理器發(fā)送該客戶機(jī)請(qǐng)求到服務(wù)器。
在步驟710,客戶機(jī)鉤截取客戶機(jī)對(duì)服務(wù)器的一個(gè)請(qǐng)求,它包含一個(gè)頭標(biāo)。在步驟712,客戶機(jī)鉤修改該客戶機(jī)請(qǐng)求,使其包括一個(gè)指定在該頭標(biāo)和前一頭標(biāo)之間差別的頭標(biāo)。這樣,客戶機(jī)請(qǐng)求將包含頭標(biāo)之間的差別。
在步驟714,代理器接收修改后的客戶機(jī)請(qǐng)求。利用修改后的客戶機(jī)請(qǐng)求,在步驟716,代理器從存儲(chǔ)的頭標(biāo)和頭標(biāo)之間的差重建頭標(biāo)。代理器產(chǎn)生一個(gè)HTTP請(qǐng)求,它相應(yīng)于客戶機(jī)請(qǐng)求并包括重建的頭標(biāo)。在步驟718,代理器發(fā)送該客戶機(jī)請(qǐng)求到服務(wù)器。
本發(fā)明以多種方式提高性能。當(dāng)打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接時(shí),可以消除客戶機(jī)和代理器之間的往返時(shí)間。這一點(diǎn)可能特別有意義,因?yàn)樵诳蛻魴C(jī)鉤和代理器之間的鏈路可能比代理器和服務(wù)器之間的鏈路慢許多。另外,在客戶機(jī)鉤和代理器之間的協(xié)議不限制為HTTP,因此這可能更加優(yōu)化。
雖然上面是本發(fā)明的優(yōu)選實(shí)施例的完整說明,但是可以使用各種替代、修改和等價(jià)物。顯然,本發(fā)明在進(jìn)行適當(dāng)修改后同樣可應(yīng)用于上述實(shí)施例。例如,雖然分別說明各實(shí)施例,但是可以結(jié)合多個(gè)實(shí)施例以進(jìn)一步提高性能。因此,上述說明不應(yīng)視為是用以限制本發(fā)明的范圍,本發(fā)明的范圍由所附權(quán)利要求的邊界定義再加上等價(jià)方法的全部范圍。
權(quán)利要求
1.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中由在該計(jì)算機(jī)網(wǎng)絡(luò)中客戶機(jī)和服務(wù)器之間的一個(gè)代理器執(zhí)行的方法,用以提高客戶機(jī)和服務(wù)器之間的性能,所述方法包括步驟接收一個(gè)客戶機(jī)的第一請(qǐng)求打開對(duì)服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接;給服務(wù)器發(fā)送多個(gè)請(qǐng)求打開對(duì)該服務(wù)器的多個(gè)網(wǎng)絡(luò)連接;接收該客戶機(jī)的一個(gè)第二請(qǐng)求;使用多個(gè)網(wǎng)絡(luò)連接中的一個(gè)給服務(wù)器發(fā)送第二請(qǐng)求;其中對(duì)服務(wù)器的多個(gè)網(wǎng)絡(luò)連接是響應(yīng)客戶機(jī)要求打開一個(gè)單一網(wǎng)絡(luò)連接的第一請(qǐng)求而打開的。
2.權(quán)利要求1所述方法,進(jìn)一步包括步驟接收客戶機(jī)要求打開對(duì)服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接的第三請(qǐng)求;給客戶機(jī)發(fā)送一個(gè)響應(yīng),說明網(wǎng)絡(luò)連接被打開;接收客戶機(jī)的一個(gè)第四請(qǐng)求;使用先前響應(yīng)第一請(qǐng)求獲得的多個(gè)網(wǎng)絡(luò)連接中的一個(gè)發(fā)送第四請(qǐng)求到服務(wù)器。
3.權(quán)利要求2所述方法,進(jìn)一步包括的步驟有給服務(wù)器發(fā)送請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,以便替換正被使用的多個(gè)網(wǎng)絡(luò)連接中的一個(gè)。
4.權(quán)利要求1所述方法,進(jìn)一步包括在網(wǎng)絡(luò)連接的一個(gè)超高速緩沖存儲(chǔ)器中存儲(chǔ)多個(gè)網(wǎng)絡(luò)連接的步驟。
5.權(quán)利要求4所述方法,進(jìn)一步包括步驟接收客戶機(jī)一個(gè)第三請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接;掃描超高速緩沖存儲(chǔ)器以判定在該超高速緩沖存儲(chǔ)器中是否存在對(duì)該服務(wù)器打開的網(wǎng)絡(luò)連接;如果在該超高速緩沖存儲(chǔ)器中存在一個(gè)打開的網(wǎng)絡(luò)連接,則給客戶機(jī)發(fā)送一個(gè)響應(yīng),說明已經(jīng)打開一個(gè)網(wǎng)絡(luò)連接,以此使該被打開的網(wǎng)絡(luò)連接被使用。
6.權(quán)利要求5所述方法,進(jìn)一步包括步驟判定網(wǎng)絡(luò)連接超高速緩沖存儲(chǔ)是否提高了客戶機(jī)和服務(wù)器之間的性能;如果網(wǎng)絡(luò)超高速緩沖存儲(chǔ)提高了性能,則給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,以便在超高速緩沖存儲(chǔ)器中存儲(chǔ)另一打開的網(wǎng)絡(luò)連接來替換被使用的網(wǎng)絡(luò)連接。
7.權(quán)利要求4所述方法,進(jìn)一步包括步驟確定存儲(chǔ)在超高速緩沖存儲(chǔ)器中對(duì)服務(wù)器打開的網(wǎng)絡(luò)連接的數(shù)目;如果打開的網(wǎng)絡(luò)連接數(shù)目小于一個(gè)預(yù)定數(shù)目,則給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,以便在超高速緩沖存儲(chǔ)器中存儲(chǔ)另一打開的網(wǎng)絡(luò)連接。
8.權(quán)利要求4所述方法,進(jìn)一步包括步驟判定超高速緩沖存儲(chǔ)器中一個(gè)對(duì)服務(wù)器打開的網(wǎng)絡(luò)連接是否已經(jīng)關(guān)閉;如果在超高速緩沖存儲(chǔ)器中有一個(gè)關(guān)閉的網(wǎng)絡(luò)連接,則給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,以便在超高速緩沖存儲(chǔ)器中存儲(chǔ)一個(gè)打開的網(wǎng)絡(luò)連接。
9.權(quán)利要求5所述方法,進(jìn)一步包括從超高速緩沖存儲(chǔ)器中清除使用過的網(wǎng)絡(luò)連接的步驟。
10.權(quán)利要求5所述方法,進(jìn)一步包括步驟給服務(wù)器發(fā)送一個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,以便在超高速緩沖存儲(chǔ)器中存儲(chǔ)另一打開的網(wǎng)絡(luò)連接以替換被使用的網(wǎng)絡(luò)連接。
11.權(quán)利要求1所述方法,其中客戶機(jī)是一個(gè)萬維網(wǎng)瀏覽器。
12.一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),包括運(yùn)行一個(gè)萬維網(wǎng)瀏覽器的一個(gè)客戶機(jī)計(jì)算機(jī);與客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)萬維網(wǎng)服務(wù)器;與客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)代理服務(wù)器計(jì)算機(jī),用于存儲(chǔ)在該萬維網(wǎng)服務(wù)器上可用的信息;在客戶機(jī)計(jì)算機(jī)和萬維網(wǎng)以及代理服務(wù)器之間聯(lián)網(wǎng)的網(wǎng)絡(luò)接入設(shè)備,包括一個(gè)代理器,它接收來自萬維網(wǎng)瀏覽器的一個(gè)HTTP請(qǐng)求,要求打開對(duì)該服務(wù)器的一個(gè)單一網(wǎng)絡(luò)連接以及給服務(wù)器發(fā)送多個(gè)請(qǐng)求,要求打開對(duì)該服務(wù)器的多個(gè)網(wǎng)絡(luò)連接;其中對(duì)服務(wù)器的多個(gè)網(wǎng)絡(luò)連接是響應(yīng)來自萬維網(wǎng)瀏覽器的打開一個(gè)單一網(wǎng)絡(luò)連接的HTTP請(qǐng)求而打開的。
13.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中由在該計(jì)算機(jī)網(wǎng)絡(luò)中在客戶機(jī)和服務(wù)器之間的一個(gè)代理器執(zhí)行的一種方法,用以提高客戶機(jī)和服務(wù)器之間的性能,所述方法包括步驟接收一個(gè)客戶機(jī)的第一請(qǐng)求從服務(wù)器獲取一個(gè)對(duì)象,如果該對(duì)象在一個(gè)特定的時(shí)間印記后已被修改過的話;發(fā)送該第一請(qǐng)求給服務(wù)器;接收服務(wù)器的一個(gè)第一響應(yīng),該響應(yīng)說明該對(duì)象在特定時(shí)間印記后未被修改;發(fā)送該第一響應(yīng)給客戶機(jī);在一個(gè)超高速緩沖存儲(chǔ)器中存儲(chǔ)該對(duì)象的標(biāo)識(shí)符和一個(gè)時(shí)間印記;接收該客戶機(jī)的一個(gè)第二請(qǐng)求從服務(wù)器中獲取在特定時(shí)間印記后已被修改的對(duì)象;如果在超高速緩沖存儲(chǔ)器中存儲(chǔ)的時(shí)間印記在從當(dāng)前時(shí)間開始一預(yù)定的時(shí)間量之內(nèi),則給客戶機(jī)發(fā)送一個(gè)第二響應(yīng),說明該對(duì)象在該特定時(shí)間印記后未被修改,而不給服務(wù)器發(fā)送第二請(qǐng)求。
14.權(quán)利要求13所述方法,其中,存儲(chǔ)步驟包括的步驟有存儲(chǔ)該對(duì)象的一個(gè)地址作為標(biāo)識(shí)符、存儲(chǔ)特定時(shí)間印記和存儲(chǔ)該時(shí)間印記作為當(dāng)前時(shí)間,以便估計(jì)在何時(shí)該對(duì)象保持未被修改。
15.權(quán)利要求14所述方法,進(jìn)一步包括步驟周期地給服務(wù)器發(fā)送請(qǐng)求,要求獲取在超高速緩沖存儲(chǔ)器中標(biāo)識(shí)的那些對(duì)象,即在特定時(shí)間印記后被修改的對(duì)象,以便更新超高速緩沖存儲(chǔ)器中的時(shí)間印記。
16.權(quán)利要求13所述方法,進(jìn)一步包括設(shè)定預(yù)定時(shí)間量的步驟。
17.權(quán)利要求13所述方法,其中客戶機(jī)是一個(gè)萬維網(wǎng)瀏覽器。
18.一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),包括運(yùn)行一個(gè)萬維網(wǎng)瀏覽器的一個(gè)客戶機(jī)計(jì)算機(jī);與客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)萬維網(wǎng)服務(wù)器;與客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)代理服務(wù)器計(jì)算機(jī),用于存儲(chǔ)在該萬維網(wǎng)服務(wù)器上可用的信息;在客戶機(jī)計(jì)算機(jī)和萬維網(wǎng)和代理服務(wù)器之間聯(lián)網(wǎng)的網(wǎng)絡(luò)接入設(shè)備,包括一個(gè)代理器,它為對(duì)象存儲(chǔ)標(biāo)識(shí)符和時(shí)間印記,以便在該代理器接收來自萬維網(wǎng)瀏覽器的一個(gè)請(qǐng)求,要求從服務(wù)器獲取在一個(gè)特定時(shí)間印記后已被修改的一個(gè)對(duì)象時(shí),該代理器響應(yīng)該請(qǐng)求,不給萬維網(wǎng)服務(wù)器發(fā)送請(qǐng)求。
19.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中由在該計(jì)算機(jī)網(wǎng)絡(luò)中在一個(gè)客戶機(jī)和一個(gè)萬維網(wǎng)服務(wù)器和代理服務(wù)器之間的一個(gè)代理器執(zhí)行的一種方法,用以提高客戶機(jī)和萬維網(wǎng)服務(wù)器之間的性能,所述方法包括步驟接收一個(gè)客戶機(jī)的一個(gè)HTTP請(qǐng)求;根據(jù)該HTTP請(qǐng)求,發(fā)送該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器或代理服務(wù)器,代理服務(wù)器存儲(chǔ)在該萬維網(wǎng)服務(wù)器上的可用信息;其中不需修改該客戶機(jī)來使用萬維網(wǎng)服務(wù)器。
20.權(quán)利要求19所述方法,其中,如果該HTTP請(qǐng)求可以由代理服務(wù)器服務(wù)的話,則將該HTTP請(qǐng)求發(fā)送到代理服務(wù)器,否則發(fā)送該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器。
21.權(quán)利要求19所述方法,其中,如果該HTTP請(qǐng)求是郵寄信息給服務(wù)器的話,則將該HTTP請(qǐng)求發(fā)送到萬維網(wǎng)服務(wù)器,否則發(fā)送該HTTP請(qǐng)求到代理服務(wù)器。
22.權(quán)利要求19所述方法,進(jìn)一步包括在該HTTP請(qǐng)求被發(fā)送到代理服務(wù)器之前轉(zhuǎn)換該HTTP請(qǐng)求為一個(gè)不同的協(xié)議的步驟。
23.權(quán)利要求19所述方法,其中客戶機(jī)是一個(gè)萬維網(wǎng)瀏覽器。
24.一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),包括運(yùn)行一個(gè)萬維網(wǎng)瀏覽器的一個(gè)客戶機(jī)計(jì)算機(jī);與該客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)萬維網(wǎng)服務(wù)器;與該客戶機(jī)計(jì)算機(jī)聯(lián)網(wǎng)的一個(gè)代理服務(wù)器計(jì)算機(jī),用于存儲(chǔ)在該萬維網(wǎng)服務(wù)器上可用的信息;在該客戶機(jī)計(jì)算機(jī)和萬維網(wǎng)和代理服務(wù)器之間聯(lián)網(wǎng)的網(wǎng)絡(luò)接入設(shè)備,包括一個(gè)代理器,它接收HTTP請(qǐng)求并根據(jù)每一HTTP請(qǐng)求,發(fā)送該HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器或代理服務(wù)器;其中不需修改客戶機(jī)計(jì)算機(jī)上的軟件來使用該代理服務(wù)器。
25.權(quán)利要求24所述計(jì)算機(jī)網(wǎng)絡(luò),其中,可以由代理服務(wù)器服務(wù)的HTTP請(qǐng)求被發(fā)送到代理服務(wù)器,否則發(fā)送HTTP請(qǐng)求到萬維網(wǎng)服務(wù)器。
26.權(quán)利要求24所述計(jì)算機(jī)網(wǎng)絡(luò),其中,給服務(wù)器郵寄信息的HTTP請(qǐng)求被發(fā)送到萬維網(wǎng)服務(wù)器,否則HTTP請(qǐng)求被發(fā)送到代理服務(wù)器。
27.權(quán)利要求24所述計(jì)算機(jī)網(wǎng)絡(luò),其中,HTTP請(qǐng)求被發(fā)送到代理服務(wù)器之前轉(zhuǎn)換該HTTP請(qǐng)求為一個(gè)不同的協(xié)議。
28.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中,使用客戶機(jī)計(jì)算機(jī)上的一個(gè)客戶機(jī)鉤和在該客戶機(jī)計(jì)算機(jī)和服務(wù)器之間的一個(gè)代理器提高在客戶機(jī)計(jì)算機(jī)上的客戶機(jī)和服務(wù)器之間性能的方法,包括步驟客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的請(qǐng)求;客戶機(jī)鉤修改來自客戶機(jī)的請(qǐng)求;客戶機(jī)鉤發(fā)送修改后的請(qǐng)求到代理器;代理器根據(jù)修改后的請(qǐng)求重建客戶機(jī)的請(qǐng)求;代理器發(fā)送客戶機(jī)請(qǐng)求到服務(wù)器;其中,在客戶機(jī)鉤和代理器之間的通信提高在該客戶機(jī)和服務(wù)器之間的通信性能。
29.權(quán)利要求28所述方法,進(jìn)一步包括步驟客戶機(jī)鉤截取客戶機(jī)的第一請(qǐng)求,要求打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,該第一請(qǐng)求包括服務(wù)器的一個(gè)標(biāo)識(shí)符;客戶機(jī)鉤立即響應(yīng),說明對(duì)服務(wù)器的網(wǎng)絡(luò)連接已經(jīng)對(duì)該服務(wù)器打開并存儲(chǔ)該服務(wù)器的標(biāo)識(shí)符;客戶機(jī)鉤截取要通過打開的網(wǎng)絡(luò)連接送往服務(wù)器的客戶機(jī)的一個(gè)第二請(qǐng)求;客戶機(jī)鉤發(fā)送該第二請(qǐng)求和服務(wù)器標(biāo)識(shí)符到代理器。
30.權(quán)利要求29所述方法,進(jìn)一步包括步驟代理器發(fā)送第三請(qǐng)求,要求打開對(duì)由所述標(biāo)識(shí)符標(biāo)識(shí)的服務(wù)器的一個(gè)網(wǎng)絡(luò)連接;代理器通過一個(gè)打開的網(wǎng)絡(luò)連接發(fā)送第二請(qǐng)求給服務(wù)器。
31.權(quán)利要求29所述方法,進(jìn)一步包括步驟代理器識(shí)別在超高速緩沖存儲(chǔ)器中對(duì)服務(wù)器的一個(gè)打開的網(wǎng)絡(luò)連接;代理器通過打開的網(wǎng)絡(luò)連接發(fā)送第二請(qǐng)求到服務(wù)器。
32.權(quán)利要求29所述方法,進(jìn)一步包括步驟代理器不是首先接收客戶機(jī)請(qǐng)求,打開對(duì)服務(wù)器的網(wǎng)絡(luò)連接,而是接收從客戶機(jī)到服務(wù)器的一個(gè)第一請(qǐng)求和該服務(wù)器的一個(gè)標(biāo)識(shí)符;使用該服務(wù)器的標(biāo)識(shí)符,代理器發(fā)送一個(gè)第二請(qǐng)求給服務(wù)器,要求打開一個(gè)網(wǎng)絡(luò)連接;代理器通過一個(gè)打開的網(wǎng)絡(luò)連接給服務(wù)器發(fā)送第一請(qǐng)求。
33.權(quán)利要求28所述方法,進(jìn)一步包括步驟代理器存儲(chǔ)包含在從客戶機(jī)到服務(wù)器的第一請(qǐng)求中的第一信息;代理器接收從該客戶機(jī)到服務(wù)器的一個(gè)第二請(qǐng)求,該第二請(qǐng)求包含在第一信息和第二請(qǐng)求的第二信息之間的差,而不是第二信息;代理器從存儲(chǔ)的第一信息和在第一和第二信息之間的差重建第二信息;代理器發(fā)送包含重建的第二信息的第二請(qǐng)求給服務(wù)器。
34.權(quán)利要求28所述方法,進(jìn)一步包括步驟客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的一個(gè)第一請(qǐng)求,它包括第一信息;客戶機(jī)鉤發(fā)送該第一請(qǐng)求到代理器,以便發(fā)送給服務(wù)器;代理器存儲(chǔ)該第一信息的一個(gè)副本;代理器發(fā)送第一請(qǐng)求給服務(wù)器;客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的一個(gè)第二請(qǐng)求,它包含第二信息;客戶機(jī)鉤修改該第二請(qǐng)求使之包含在第一和第二信息之間的差而不是第二信息;代理器從客戶機(jī)接收修改過的第二請(qǐng)求;代理器從存儲(chǔ)的第一信息和第一和第二信息之間的差重建第二信息;代理器給服務(wù)器發(fā)送包含重建的第二信息的第二請(qǐng)求。
35.權(quán)利要求28所述方法,其中,在客戶機(jī)計(jì)算機(jī)和代理器之間的網(wǎng)絡(luò)鏈路比代理器和服務(wù)器之間的網(wǎng)絡(luò)鏈路慢很多。
36.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中,使用客戶機(jī)計(jì)算機(jī)上的一個(gè)客戶機(jī)鉤和在該客戶機(jī)計(jì)算機(jī)和服務(wù)器之間的一個(gè)代理器提高在客戶機(jī)計(jì)算機(jī)上的客戶機(jī)和服務(wù)器之間性能的方法,包括步驟客戶機(jī)鉤截取客戶機(jī)的一個(gè)第一請(qǐng)求,要求打開對(duì)服務(wù)器的一個(gè)網(wǎng)絡(luò)連接,該第一請(qǐng)求包含該服務(wù)器的一個(gè)標(biāo)識(shí)符;客戶機(jī)鉤立即響應(yīng),說明對(duì)服務(wù)器的網(wǎng)絡(luò)連接已經(jīng)對(duì)該服務(wù)器打開并存儲(chǔ)該服務(wù)器的標(biāo)識(shí)符;客戶機(jī)鉤截取要通過打開的網(wǎng)絡(luò)連接送往服務(wù)器的客戶機(jī)的一個(gè)第二請(qǐng)求;客戶機(jī)鉤發(fā)送該第二請(qǐng)求和服務(wù)器標(biāo)識(shí)符到代理器。
37.權(quán)利要求36所述方法,進(jìn)一步包括步驟代理器發(fā)送第三請(qǐng)求,要求打開對(duì)由所述標(biāo)識(shí)符標(biāo)識(shí)的到服務(wù)器的一個(gè)網(wǎng)絡(luò)連接;代理器通過一個(gè)打開的網(wǎng)絡(luò)連接發(fā)送第二請(qǐng)求給服務(wù)器。
38.權(quán)利要求36所述方法,進(jìn)一步包括步驟代理器識(shí)別在超高速緩沖存儲(chǔ)器中對(duì)服務(wù)器的一個(gè)打開的網(wǎng)絡(luò)連接;代理器通過打開的網(wǎng)絡(luò)連接發(fā)送第二請(qǐng)求到服務(wù)器。
39.權(quán)利要求36所述方法,其中,對(duì)服務(wù)器要求打開一個(gè)網(wǎng)絡(luò)連接的第二請(qǐng)求包含一個(gè)保持該網(wǎng)絡(luò)連接為打開狀態(tài)的請(qǐng)求。
40.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中由在該計(jì)算機(jī)網(wǎng)絡(luò)中在一個(gè)客戶機(jī)和一個(gè)服務(wù)器之間的一個(gè)代理器執(zhí)行的一種方法,用以提高該客戶機(jī)和該服務(wù)器之間的性能,所述方法包括步驟不是首先接收來自客戶機(jī)的請(qǐng)求,打開對(duì)服務(wù)器的網(wǎng)絡(luò)連接,而是接收從客戶機(jī)到服務(wù)器的一個(gè)第一請(qǐng)求和該服務(wù)器的一個(gè)標(biāo)識(shí)符;使用該服務(wù)器的標(biāo)識(shí)符,發(fā)送一個(gè)第二請(qǐng)求給服務(wù)器,要求打開一個(gè)網(wǎng)絡(luò)連接;通過一個(gè)打開的網(wǎng)絡(luò)連接給服務(wù)器發(fā)送第一請(qǐng)求。
41.權(quán)利要求40所述方法,其中,對(duì)服務(wù)器要求打開一個(gè)網(wǎng)絡(luò)連接的第二請(qǐng)求包含一個(gè)保持該網(wǎng)絡(luò)連接為打開狀態(tài)的請(qǐng)求。
42.權(quán)利要求40所述方法,其中客戶機(jī)是一個(gè)萬維網(wǎng)瀏覽器。
43.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中由在該計(jì)算機(jī)網(wǎng)絡(luò)中在一個(gè)客戶機(jī)和一個(gè)服務(wù)器之間的一個(gè)代理器執(zhí)行的一種方法,用以提高該客戶機(jī)和該服務(wù)器之間的性能,所述方法包括步驟存儲(chǔ)包含在從該客戶機(jī)到該服務(wù)器的第一請(qǐng)求中的第一信息;接收從該客戶機(jī)到服務(wù)器的一個(gè)第二請(qǐng)求,該第二請(qǐng)求包含第一信息和第二請(qǐng)求的第二信息之間的差,而不是第二信息;從存儲(chǔ)的第一信息和在第一和第二信息之間的差重建第二信息;發(fā)送包含重建的第二信息的第二請(qǐng)求給服務(wù)器。
44.權(quán)利要求43所述方法,其中第一和第二請(qǐng)求是HTTP請(qǐng)求。
45.在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中,使用客戶機(jī)計(jì)算機(jī)上的一個(gè)客戶機(jī)鉤和在該客戶機(jī)計(jì)算機(jī)和服務(wù)器之間的一個(gè)代理器提高在客戶機(jī)計(jì)算機(jī)上的客戶機(jī)和服務(wù)器之間的性能的方法,包括步驟客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的一個(gè)第一請(qǐng)求,它包括第一信息;客戶機(jī)鉤發(fā)送該第一請(qǐng)求到代理器,以便發(fā)送給服務(wù)器;代理器存儲(chǔ)該第一信息的一個(gè)副本;代理器發(fā)送第一請(qǐng)求給服務(wù)器;客戶機(jī)鉤截取從客戶機(jī)到服務(wù)器的一個(gè)第二請(qǐng)求,它包含第二信息;客戶機(jī)鉤修改該第二請(qǐng)求使之包含在第一和第二信息之間的差而不是第二信息;代理器從客戶機(jī)接收修改過的第二請(qǐng)求;代理器從存儲(chǔ)的第一信息和第一和第二信息之間的差重建第二信息;代理器給服務(wù)器發(fā)送包含重建的第二信息的第二請(qǐng)求。
46.權(quán)利要求45所述方法,其中客戶機(jī)鉤使用動(dòng)態(tài)鏈接庫鏈截取客戶機(jī)請(qǐng)求。
47.權(quán)利要求45所述方法,其中第一和第二請(qǐng)求是HTTP請(qǐng)求。
48.權(quán)利要求45所述方法,其中客戶機(jī)是一個(gè)萬維網(wǎng)瀏覽器。
全文摘要
提供了提高計(jì)算機(jī)網(wǎng)絡(luò)(208),特別是連接用戶到萬維網(wǎng)的網(wǎng)絡(luò)的性能的系統(tǒng)和方法。通過減少客戶機(jī)(252)在給服務(wù)器(256)發(fā)送請(qǐng)求到接收到一個(gè)響應(yīng)之間所經(jīng)歷的傳輸延遲而提高性能。可以通過在網(wǎng)絡(luò)接入設(shè)備(254)上的一個(gè)代理器(260)維護(hù)一個(gè)連接超高速緩沖存儲(chǔ)器以便更快響應(yīng)對(duì)服務(wù)器(256)建立網(wǎng)絡(luò)連接的請(qǐng)求。另外,該代理器可以維護(hù)一個(gè)信息超高速緩沖存儲(chǔ)器以便更快響應(yīng)獲取一個(gè)已被修改的對(duì)象的請(qǐng)求??梢詥为?dú)或者結(jié)合實(shí)現(xiàn)這些增強(qiáng)措施和在此間敘述的其它增強(qiáng)措施以通過節(jié)省在計(jì)算機(jī)網(wǎng)絡(luò)部件之間的往返時(shí)間而減少給服務(wù)器發(fā)送請(qǐng)求時(shí)涉及的傳輸延遲。
文檔編號(hào)H04L29/06GK1251671SQ9718146
公開日2000年4月26日 申請(qǐng)日期1997年11月20日 優(yōu)先權(quán)日1996年11月20日
發(fā)明者C·W·比德, J·辛格, D·奧斯特賴克 申請(qǐng)人:英特爾網(wǎng)絡(luò)系統(tǒng)有限公司