專利名稱:分布式高速緩存、預(yù)取和復(fù)制的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的現(xiàn)有技術(shù)計算機網(wǎng)絡(luò)(例如因特網(wǎng)、專用的內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)和虛擬專用網(wǎng))正在越來越多地用于各種各樣的企圖,包括儲存和查找資料、通信、電子商務(wù)、文化娛樂和其它應(yīng)用。在這些網(wǎng)絡(luò)中一些被稱為服務(wù)器的計算機被用于儲存和提供資料。一種類型服務(wù)器被稱為主服務(wù)器或本地服務(wù)器(home server),它們負(fù)責(zé)訪問本文中通常稱之為“文檔”的資料,例如以各種計算機文件格式儲存的數(shù)據(jù)和程序。盡管通常在因特網(wǎng)中文檔主要包括文本和圖片,但是,每份這樣的文檔實際上可以是包含數(shù)據(jù)結(jié)構(gòu)的高度格式化計算機文件,它們是包括文本、表格、圖象、聲音、電影、動畫片、計算機程序代碼和/或許多其它類型的數(shù)字化資料的各種資料的資料庫。
在網(wǎng)絡(luò)中另一些計算機被稱為客戶,它們允許用戶通過請求本地服務(wù)器在網(wǎng)上將文檔副本發(fā)送給客戶來訪問該文檔。為了使客戶從本地服務(wù)器獲得資料,每份文檔通常有一個能夠找到它的地址。例如,在因特網(wǎng)的組織中和在被稱為超級文本傳輸協(xié)議(Hyper text Transfer Protocol(HTTP))之內(nèi),地址通常是一個被稱為統(tǒng)一資源定位符(Uniform Resource Locators(URLs))的字母數(shù)字串,它規(guī)定(A)本地服務(wù)器的地址,從該本地服務(wù)器以文檔名或數(shù)字地址的形式獲取資料;和(B)本地資料正文串,它識別客戶請求的資料,它可以是文件名、搜索請求或其它標(biāo)識符。
在用戶為客戶計算機規(guī)定URL之后,該URL的地址部分在網(wǎng)上被發(fā)送給指定的服務(wù)機構(gòu)(例如域名服務(wù)機構(gòu)(DNS)),以便獲得如何與正確的本地服務(wù)器建立連接的指令。一旦與該服務(wù)器建立起連接,客戶就能通過將本地資料正文串在網(wǎng)上直接發(fā)送給本地服務(wù)器查找所需的文檔。然后,該服務(wù)器從其本地磁盤或存儲器檢索該文檔并且將該文檔在網(wǎng)上發(fā)送給客戶。然后,終止該本地服務(wù)器與客戶之間的網(wǎng)絡(luò)連接。
計算機和網(wǎng)絡(luò)工業(yè)的系統(tǒng)分析員和專家目前十分關(guān)心網(wǎng)上通信業(yè)務(wù)量變得如此繁重,以致有可能使用因特網(wǎng)的道路的真性質(zhì)可能發(fā)生變化。具體地說,現(xiàn)在,許多人認(rèn)為因特網(wǎng)過于緩慢并且不再是及時交換資料的可靠入口。
現(xiàn)在的瓶頸無疑是用戶數(shù)量和復(fù)雜文檔(例如被發(fā)送的多媒體文件)的數(shù)量呈指數(shù)增長的結(jié)果。將更多的帶寬簡單地添加到服務(wù)器與客戶之間的物理連接上。但是,這只有依靠在遍布全世界的家庭和街道安裝高帶寬的互連硬件,如同軸電纜或光纜以及相應(yīng)的調(diào)制解調(diào)器才能實現(xiàn)。
此外,單獨增加帶寬或許不能保證性能的改進(jìn)。具體地說,大的多媒體文件(例如電視娛樂節(jié)目)仍然可能代替優(yōu)先權(quán)較高的數(shù)據(jù)(例如公司的電子郵件)。遺憾的是只要不修改現(xiàn)有的網(wǎng)絡(luò)通信協(xié)議帶寬分配計劃就難以實現(xiàn)。在因特網(wǎng)上使用的通信技術(shù)(被稱為TCP/IP)是簡單而精巧的協(xié)議,它允許使用許多不同類型的計算機(例如蘋果機、IBM兼容機和UNIX工作站)的人們分享數(shù)據(jù)。盡管有一些有野心的協(xié)議試圖拓寬TCP/IP協(xié)議使地址可以包括有關(guān)數(shù)據(jù)包內(nèi)容的報文,但是這些協(xié)議在技術(shù)上是復(fù)雜的并且需要成千上萬個計算機網(wǎng)絡(luò)操作員之間的配合。因此,指望修改現(xiàn)有的TCP/IP協(xié)議或許是不現(xiàn)實的。
一些人采用的途經(jīng)是承認(rèn)因特網(wǎng)的用戶迅速增長將繼續(xù)超出服務(wù)器的容量和通信媒體的帶寬容量。這些計劃以下述假設(shè)為起點,即假設(shè)客戶-服務(wù)器基本模型(其中客戶直接與本地服務(wù)器相連)是浪費資源的,特別是需要將資料從一個本地服務(wù)器廣泛分配給許多客戶。確實有許多實例說明因特網(wǎng)服務(wù)器由于它們?nèi)狈m應(yīng)意外要求的能力而簡單地遭受失敗。
為了減輕對本地服務(wù)器的要求,可以使用大的中心文檔高速緩存器。高速緩存器是一種試圖減少許多客戶為同一文檔向某個本地服務(wù)器提出重復(fù)請求的浪費的嘗試。通過監(jiān)聽平行的請求,高速緩存器可以用于向多個客戶位置提供同一文檔的副本。
依據(jù)客戶的觀點,與高速緩存器的相互作用是這樣發(fā)生的,即對于用戶它是透明的但又略微不同于網(wǎng)絡(luò)報文的立場。這種差別是當(dāng)請求的地址部分提交給域名服務(wù)(Domain Name Service,DNS)查找連接本地服務(wù)器所需的資料時DNS的程序是為返回高速緩存器的地址而設(shè)計的,而不是為了返回原本有效的本地服務(wù)器。
另外,作為客戶代理的服務(wù)器節(jié)點可以發(fā)出探測報文以便尋找高速緩存副本。一旦在特定的網(wǎng)絡(luò)節(jié)點找到高速緩存副本,就將該報文發(fā)送給那個節(jié)點。例如,在國家科學(xué)基金的贊助下,已經(jīng)將文檔高速緩存器配置在美國的不同位置,以便消除跨洋網(wǎng)絡(luò)連接處的瓶頸。具體地說,位于西海岸的那些高速緩存器處理亞洲、大洋洲和南美國家對文檔的請求,而位于東海岸的那些高速緩存器處理歐洲對文檔的請求。另有一些高速緩存器處理對遍布美國的大眾文檔的請求。
但是,這種高速緩存技術(shù)不是必需的或通常達(dá)不到文檔請求裝載的最佳分布。具體地說,為了最有效地使用高速緩存器,域名服務(wù)機構(gòu)或其它報文路由機構(gòu)必須得到適當(dāng)?shù)母脑?,以便監(jiān)聽對大眾性期望值高的文檔的請求。因此,引入高速緩存副本將增加名稱分辨的通信附加費,因為需要確定過往副本的位置。在名稱服務(wù)機構(gòu)成立時,它們必須寄存這些副本、傳播分配文檔需求的資料以及保證及時消除對已取消的高速緩存副本的紀(jì)錄。通常,高速緩存搜索命令是固定的,和/或文檔分配中的變化必須通過人員干預(yù)才能完成。
遺憾的是,請求方式中頻繁而明顯的變化可能迫使高速緩存副本的合法身份、位置、甚至數(shù)量都是高度暫時性的。最終需要更新高速緩存器目錄意味著通常不能有效地大規(guī)模地復(fù)制它們,因此這可能使名稱服務(wù)機構(gòu)本身變成瓶頸。
另一種可能實現(xiàn)高速緩存的途經(jīng)是改變客戶/服務(wù)器相互作用協(xié)議,使客戶能利用全面分配協(xié)議主動識別適當(dāng)?shù)母咚倬彺娓北?,例如通過按隨機化的方向發(fā)出探測信號。且不說修改現(xiàn)有協(xié)議的復(fù)雜性和這種途經(jīng)帶來的報文費用,這種計劃也將一種或多種路由往返延遲加到客戶能感覺到的總的文檔服務(wù)執(zhí)行時間。
本發(fā)明的概述本發(fā)明是一個透明的分布式自動高速緩存方案,該方案利用文檔請求通過計算機網(wǎng)絡(luò)從客戶到具體本地服務(wù)器上的具體文檔所遵從的路徑自然形成路由圖(即路由樹)這一事實。
按照本發(fā)明,高速緩存服務(wù)器遍布該網(wǎng)絡(luò),以致文檔請求如果能沿著該路由圖在某個中間節(jié)點實現(xiàn),它將由該中間節(jié)點提供服務(wù),將高速緩存文檔返回到客戶。因此,文檔請求報文在它們到達(dá)本地服務(wù)器之前就得到響應(yīng)。由于允許文檔請求報文以與不存在高速緩存時相同的方式在從客戶到本地服務(wù)器的上行方向上選擇路由,所以,命名服務(wù)機構(gòu)不需要改造。
為了能夠以不脫離標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議的方式為請求提供服務(wù),高速緩存服務(wù)器在它相關(guān)的路由器中包括一個濾包器。該濾包器提取文檔請求包,它很可能命中相關(guān)的高速緩存器。
高速緩存服務(wù)器還優(yōu)選充當(dāng)本地服務(wù)器的通信協(xié)議代理。這就是說,作為在中間節(jié)點位置實現(xiàn)文檔請求報文的一部分,依據(jù)在使用的通信協(xié)議,適當(dāng)?shù)膱笪陌l(fā)送給該客戶,以便欺騙該客戶使之相信實際上已收到來自本地服務(wù)器的文檔。
本發(fā)明還提供一種高速緩存服務(wù)器相互合作為客戶請求報文提供服務(wù)的方式。具體地說,每個服務(wù)器都有基于其局部裝載、在其毗鄰的高速緩存器上裝載、相鄰?fù)ㄐ怕窂窖b載和文檔的大眾性的高速緩存和廢棄文檔的能力。例如,每個服務(wù)器保留對其鄰居裝載的判斷,并且將它自己的裝載估計通知毗鄰的高速緩存服務(wù)器。如果某個高速緩存服務(wù)器注意到它相對其任何鄰居過載,它將停止裝載,即將其一部分工作轉(zhuǎn)移給它正在裝載的鄰居。為了這樣做,高速緩存服務(wù)器還優(yōu)選學(xué)習(xí)在扎根于給定本地服務(wù)器的路由圖上其毗鄰的上游節(jié)點(或母節(jié)點)和下游節(jié)點(或子節(jié)點)的標(biāo)識符。
依據(jù)本發(fā)明的文檔高速緩存系統(tǒng)的基本概念有若干優(yōu)點。
第一,該途經(jīng)不需要請求查找高速緩存器索引的地址,不需要更改文檔請求地址、或不需要以別的方式探測網(wǎng)絡(luò)中其它要素以確定高速緩存副本的位置。因此,高速緩存副本的位置是沿著請求報文所遵從的自然路徑偶然出現(xiàn)的。因此,客戶不經(jīng)歷與網(wǎng)絡(luò)中其它客戶尋找適當(dāng)?shù)母咚倬彺娓北鞠嚓P(guān)的延遲或瓶頸。
此外,該系統(tǒng)作為一個整體允許文檔的高速緩存副本在需要時通過網(wǎng)絡(luò)傳播,這依次化解了在高速緩存器處和沿著通信路徑的瓶頸。
因為高速緩存副本總是放在比客戶近的原始服務(wù)器處,所以還相應(yīng)地減少了網(wǎng)絡(luò)帶寬消耗和響應(yīng)時間。所以文檔請求報文和文檔本身每次受到請求時通常不需要在該服務(wù)器與客戶之間全程傳送。因此,總網(wǎng)絡(luò)帶寬保持不變、響應(yīng)時間減少、而負(fù)載更趨于全球平衡。
因此,本發(fā)明不僅有助于縮小主服務(wù)器之間裝載要求的差別而且減少了在網(wǎng)絡(luò)通信資源上的裝載,同時不需要對現(xiàn)有的網(wǎng)絡(luò)協(xié)議進(jìn)行任何修改。
此外,因為高速緩存副本是通過網(wǎng)絡(luò)分配的,所以在高速緩存系統(tǒng)中沒有一個預(yù)期的故障點,因而該系統(tǒng)是穩(wěn)定而可靠的。
這項技術(shù)還是可伸縮的,從感覺上講添加了更多的高速緩存服務(wù)器,客戶和服務(wù)器兩者都將體驗到同樣的好處。
本發(fā)明還可以用于在網(wǎng)絡(luò)中實現(xiàn)額外的功能。這些功能來源于下述事實,即配置在與高速緩存服務(wù)器相關(guān)的路由器的濾包器不是僅僅簡單地將對文件副本的請求轉(zhuǎn)移到本地高速緩存器。
例如,通過高速緩存服務(wù)器收集大眾性的統(tǒng)計結(jié)果是必要的,以便控制高速緩存哪些文檔。因此,每個高速緩存服務(wù)器保留接受過多少次文檔查詢以及這些查詢來自何處的痕跡,并且能夠確定請求的總量和請求的頻率。這種數(shù)據(jù)可以在中心位置收集(例如通過聯(lián)網(wǎng)區(qū)域),因此文檔出版商不僅有可能獲得有關(guān)其出版物的命中率的統(tǒng)計結(jié)果還有可能了解網(wǎng)絡(luò)中的這種選擇來自何處。這不僅對于文檔的大眾性分析是重要的而且對于電子商務(wù)和跟蹤知識產(chǎn)權(quán)也是重要的。
依據(jù)服務(wù)供應(yīng)商的觀點,高速緩存服務(wù)器通過作為裝載的分銷商還可以用于主宰大眾性文檔(如數(shù)據(jù)庫、搜索引擎索引文件等)的復(fù)制品。換言之,數(shù)據(jù)庫供應(yīng)商可以將他們的文檔安排在網(wǎng)絡(luò)中,向希望訪問它的客戶推出數(shù)據(jù)閉塞器,無論在哪里這或許都是最佳安排。
一組安全特征也可以輕易地安裝到高速緩存服務(wù)器上。
這類特征之一是鑒別請求報文和其它資料的來源。這是可能的,因為高速緩存服務(wù)器保留關(guān)于文檔請求報文和文檔本身的實際來源的資料。該機理也從所有節(jié)點都有濾包器和數(shù)據(jù)包路由器這一事實產(chǎn)生。濾包器和數(shù)據(jù)包路由器不僅保留如何將請求轉(zhuǎn)移到高速緩存副本的痕跡,而且保留限制訪問高速緩存副本的痕跡,例如通過鑒別對該資料的請求。本發(fā)明還使各種類型的文檔能夠在網(wǎng)絡(luò)中分配。例如,本發(fā)明允許文檔壓縮,這是另一種節(jié)省帶寬的形式,或加密,只要特定的服務(wù)器和客戶節(jié)點是通過利用高速緩存服務(wù)器提交給通信的,例如在包含若干高速緩存服務(wù)器的網(wǎng)絡(luò)中沿著客戶與服務(wù)器之間的路徑的第一節(jié)點和最后一個節(jié)點。
本發(fā)明還允許有效地高速緩存動態(tài)內(nèi)容的文檔。這種動態(tài)內(nèi)容文檔是下述類型的文檔,即準(zhǔn)備返回到客戶的東西飛快地變化,通常是按程序指令變化。當(dāng)本發(fā)明確認(rèn)在它的高速緩存器中存在動態(tài)內(nèi)容文檔時,它不僅高速緩存用于該文檔的數(shù)據(jù)而且允許提取并執(zhí)行規(guī)定如何顯示該文檔或何時取數(shù)據(jù)的程序。
由于減少了服務(wù)器與客戶之間的網(wǎng)絡(luò)節(jié)點數(shù)量,本發(fā)明還改進(jìn)了儲存的連續(xù)媒體(如聲音和視頻數(shù)據(jù)文件)的傳輸。
附圖的簡要說明為了更全面地理解本發(fā)明提供的優(yōu)點,必須參照附圖閱讀下面的詳細(xì)說明,其中
圖1描繪典型的計算機網(wǎng)絡(luò),說明針對單一文檔的請求路徑和依據(jù)本發(fā)明沿該路徑分布的高速緩存服務(wù)器的位置;圖2是通信層示意圖,說明資源管理器、協(xié)議代理和監(jiān)聽器怎樣用于實現(xiàn)本發(fā)明;圖3說明在網(wǎng)絡(luò)上使用文檔請求的幾個典型階段;圖4是依據(jù)本發(fā)明定位在路由選擇路徑上的葉片服務(wù)器所完成的操作的流程圖;圖5是非葉片型的中間高速緩存服務(wù)器所完成的操作的流程圖;圖6是在路由選擇路徑上最后一個高速緩存服務(wù)器所完成的操作的流程圖7說明中間服務(wù)器監(jiān)聽文檔請求報文。
圖8更詳細(xì)地說明監(jiān)聽文檔請求報文。
圖9A和圖9B說明在最壞情況的客戶請求方案中擴散可能怎樣繼續(xù)進(jìn)行;以及圖10說明高速緩存服務(wù)器如何實現(xiàn)文檔轉(zhuǎn)換功能。
本發(fā)明優(yōu)選實施方案的詳細(xì)敘述1.緒論現(xiàn)在參照圖1,計算機網(wǎng)絡(luò)10(例如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、專用內(nèi)聯(lián)網(wǎng)、虛擬專用網(wǎng)、局域網(wǎng)或其它類型的計算機網(wǎng)絡(luò))由許多包括客戶計算機12-1、12-2、12-3、…、12-4(統(tǒng)稱客戶12)、路由器14-1、14-2、…、14-10、高速緩存服務(wù)器16-1、16-3、16-4、16-6、16-8和16-10以及本地服務(wù)器20的網(wǎng)絡(luò)實體組成。該網(wǎng)絡(luò)可以使用任何不同類型的物理層信號傳輸媒體,例如公眾電話網(wǎng)和專用電話網(wǎng)、微波鏈路、蜂窩電話和無線電話、衛(wèi)星鏈路和其它類型的數(shù)據(jù)傳輸。
在圖示的網(wǎng)絡(luò)中,某些路由器14已經(jīng)與它們的高速緩存服務(wù)器16相關(guān)聯(lián),而另一些路由器不與高速緩存服務(wù)器相關(guān)聯(lián)。高速緩存服務(wù)器16包括各種類型呈高速緩沖存儲器18-1形式的文檔存儲空間,其中高速緩沖存儲器可以包括盤式存儲器18-1-1和/或存儲裝置18-1-2。
客戶12和本地服務(wù)器20象在現(xiàn)有技術(shù)中那樣為了分配通常呈“文檔”形式的各種各樣的資料而工作。這種文檔實際上可以包含文本、圖片、畫面、聲音、電視節(jié)目、計算機程序和任何能按計算機文件或部分的計算機文件形式儲存的各種類型的資料。此外,某些文檔可以通過執(zhí)行程序在請求訪問它們時產(chǎn)生。
在下面的討論中將假設(shè)網(wǎng)絡(luò)10是因特網(wǎng)、資料是按超級文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)的格式編碼的文檔、以及文檔請求報文是利用TCP/IP分層協(xié)議以統(tǒng)一資源定位符(URLs)的形式發(fā)送的。這對于理解其它類型的有線網(wǎng)絡(luò)、開關(guān)網(wǎng)絡(luò)和無線網(wǎng)絡(luò)以及其它類型的協(xié)議(如FTP、Gopher、SMTP、NNTP等)可以使用本發(fā)明是有利的。此外,雖然本發(fā)明是按客戶-服務(wù)器型通信模型的來龍去脈進(jìn)行討論的,但是應(yīng)當(dāng)理解本發(fā)明的原理可以等同地應(yīng)用于同位體網(wǎng)絡(luò)(peer-to-peernetworks)。
例如,對具體文檔的請求報文起源于諸客戶計算機之一,如客戶12-1。該報文是客戶12要本地服務(wù)器20發(fā)送當(dāng)前儲存在本地服務(wù)器20位置(比如在磁盤上)的文檔副本的請求。該文檔請求報文在其路徑上按圖示箭頭的方向通過一個或多個路由器14(如路由器14-1、14-2、14-3)被傳送到本地服務(wù)器20。
在諸如因特網(wǎng)之類的網(wǎng)絡(luò)中,文檔請求報文在到達(dá)其目的地之前通過路由器14可以途經(jīng)多達(dá)15個或更多個節(jié)點或“躍距”。來自其它客戶(如12-2、12-3或12-4)對同一文檔的請求也通過其路徑上不同的路由器14同時傳送給本地服務(wù)器。
還應(yīng)當(dāng)理解,雖然在圖1中路由器14和高速緩存服務(wù)器16被表示成分開的單元,但是它們的功能可以合并成一個單元。
模型對于理解多個客戶對一份具體文檔的請求如何在計算機網(wǎng)絡(luò)10的路徑上傳送是有用的。模型是在文檔請求報文通過網(wǎng)絡(luò)傳送到本地服務(wù)器20時由這些報文的路由選擇算法效應(yīng)導(dǎo)致的結(jié)構(gòu)T。如圖1所示,本地服務(wù)器20可以被看作是在結(jié)構(gòu)T的根節(jié)點,文檔請求以最遠(yuǎn)離根的葉節(jié)點級為起點,即在客戶12-1、12-2、…12-4。結(jié)構(gòu)T還包括許多位于路由器14處的中間節(jié)點。
盡管將朝給定的本地服務(wù)器20傳送客戶請求的這組路徑的結(jié)構(gòu)T描繪成無環(huán)的數(shù)據(jù)定向圖,但是,現(xiàn)在的解釋并非得益于追加的復(fù)雜性。具體地說,在一份具體文檔被看作是定位在唯一的一個本地服務(wù)器處時,該結(jié)構(gòu)可以被稱為有單一根的樹。如果可以使用圖解模型,根據(jù)那個條件我們在此使用術(shù)語“樹”來描繪結(jié)構(gòu)T。考慮到這個模型,整個因特網(wǎng)可以被想象成樹或圖形的森林型結(jié)構(gòu),每棵樹植根于不同的本地服務(wù)器20,這些本地服務(wù)器有責(zé)任提供某組文檔的特許的永久性副本。
按照本發(fā)明,文檔副本在網(wǎng)絡(luò)中定位在高速緩存服務(wù)器16處。按照本發(fā)明,將高速緩存副本的布局(以及由此引起的裝載擴散)約束在樹結(jié)構(gòu)T中的節(jié)點上。這避免需要客戶通過直接接觸本地服務(wù)器20或命名服務(wù)機構(gòu)(如域名服務(wù)機構(gòu)(DNS))查找高速緩存副本的位置,或通過探查網(wǎng)絡(luò)搜索適當(dāng)?shù)母咚倬彺娓北尽?br>
本發(fā)明還假設(shè)高速緩存服務(wù)器16就在文檔請求報文沿著樹從客戶12到本地服務(wù)器20自然途經(jīng)的路徑上,高速緩存服務(wù)器16協(xié)助卸除在本地服務(wù)器20處的過剩裝載,或者協(xié)助擴散其它潛在的性能瓶頸,如通信鏈路本身。實際上,已經(jīng)與高速緩存服務(wù)器16締合的路由器14在文檔請求報文包通過時就對它們進(jìn)行檢查并監(jiān)聽任何它有可能通過提供高速緩存文檔予以實現(xiàn)的請求。
在最一般地介紹本發(fā)明的操作時,文檔請求報文沿著樹從其起源客戶(如客戶12-3)朝本地服務(wù)器20上行。該文檔請求報文沿著該路徑所遇到的某些路由器(如路由器14-7)沒有本地高速緩存服務(wù)器16,因此簡單地將該文檔請求報文向上發(fā)送給該樹中的下一個Findeathe路由器(如路由器14-6)。
但是,另一些路由器(如路由器14-6)有本地高速緩存服務(wù)器16-6,在這種情況下該文檔請求報文將受到考核以確定它是否正在尋找定位在本地高速緩存存儲器18中的文檔。如果在高速緩存服務(wù)器16-6處遇到高速緩存副本,那么將那份副本返回給客戶12并且不允許該請求報文繼續(xù)在其路徑上朝本地服務(wù)器20傳送。但是,如果在特定的高速緩存服務(wù)器16-6處沒有找到高速緩存副本,該請求報文將繼續(xù)在通向本地服務(wù)器20的路徑上朝下一個路由器14-4傳送。
當(dāng)請求報文包進(jìn)入路由器14時,該路由器首先將該請求報文送到在本文中稱之為濾波器代碼(the filter code)的路由器軟件部分。路由器14的濾波器代碼在必要時通過本地高速緩存服務(wù)器16予以更新。該濾波器代碼取決于包的類型、高速緩存器容量、在本地高速緩存服務(wù)器16處的裝載、或在增援通信鏈路上的裝載。該濾波器導(dǎo)致監(jiān)聽該數(shù)據(jù)包(以便試圖由本地高速緩存服務(wù)器16提供服務(wù))或?qū)⒃摂?shù)據(jù)包送回路由器14以便確定該數(shù)據(jù)包在其通往本地服務(wù)器20的路徑上應(yīng)當(dāng)采取的下一個躍距(hop)。
理想的是高速緩存服務(wù)器16的配置是這樣的,它致使不需要改變客戶12或服務(wù)器20的操作模式。另一個目標(biāo)是有一種設(shè)計,它能被逐漸地部署到網(wǎng)絡(luò)10的現(xiàn)有底層結(jié)構(gòu)中。這也要求任何新機理是與現(xiàn)有的通信協(xié)議兼容的。
為了實現(xiàn)這個目的,高速緩存服務(wù)器16和與之締合的路由器14優(yōu)選由4個功能構(gòu)件塊組成,如圖2的層次圖所示。在較高層的協(xié)議級(例如應(yīng)用層),高速緩存服務(wù)器16包括HTTP代理22和資源管理器24。在較低層(例如物理層),路由器通常提供數(shù)據(jù)包濾波器26和IP代理或監(jiān)測器(snooper)28。
HTTP代理22有責(zé)任履行標(biāo)準(zhǔn)的HTTP協(xié)議,包括存儲器管理和保存訪問高速緩存文檔必不可少的索引結(jié)構(gòu)。如果HTTP代理22收到請求,而文檔又不在本地高速緩存器18中,那么,它將請求從本地服務(wù)器20獲取該文檔,并且在該文檔到達(dá)時對該請求作出反應(yīng)。配置HTTP代理22是為了在收到資源管理器24的指令時高速緩存一些文檔。
盡管圖2展示兩種類型的代理,即在HTTP級和IP級的代理,但是應(yīng)當(dāng)理解該配置還可以包括在其它級的代理,包括應(yīng)用層、IP層、或在諸如傳送層、話路層、表示層或其它層之間的某些其它層。
資源管理器履行協(xié)議使文檔副本通過網(wǎng)絡(luò)10擴散,下面將更詳細(xì)地介紹。資源管理器24負(fù)責(zé)維護(hù)文檔裝載擴散機構(gòu)使用的狀態(tài)資料。資源管理器不僅可以通過編程管理在高速緩存服務(wù)器16本身上的裝載,而且可以通過編程管理在諸路由器14相互連接所用的通信路徑上的通信業(yè)務(wù)量。
為了實現(xiàn)這種裝載管理或裝載均衡技術(shù),資源管理器24保存有關(guān)其毗鄰高速緩存服務(wù)器30的合法身份和裝載的資料。如何保存毗鄰高速緩存服務(wù)器資料的細(xì)節(jié)下面將在第3節(jié)中討論。
此外,資源管理器24辨別通過其毗鄰的每個高速緩存服務(wù)器30收到的對高速緩存器18中每份文檔的請求。這是通過保存對從毗鄰的每個高速緩存服務(wù)器30收到的請求獨立命中次數(shù)來完成的。資源管理器24利用這種資料計算待擴散的過剩裝載所占的分?jǐn)?shù)。一旦確定這些分?jǐn)?shù),資源管理器通知其欠裝載的鄰居們30它們應(yīng)當(dāng)承擔(dān)哪些待高速緩存的文檔和何種請求率。這些分?jǐn)?shù)還被用于產(chǎn)生待注入締合路由器14的新濾波器代碼。類似的過程由欠裝載的鄰居們30完成。如果有必要,在欠裝載的鄰居20處的資源管理器24通知與其締合的HTTP代理22將新文檔添加到它的高速緩存器18中。
資源管理器24的其它責(zé)任包括鄰域發(fā)現(xiàn)、將裝載資料傳播到毗鄰服務(wù)器30以及發(fā)現(xiàn)潛在的壁壘并從潛在的壁壘恢復(fù)到裝載平衡。這些機構(gòu)將在下面更詳細(xì)地討論。
路由器14在協(xié)助高速緩存服務(wù)器16實現(xiàn)高速緩存服務(wù)器和/或通信路徑平衡目標(biāo)方面起積極作用。這是通過允許資源管理器24將功能性以代碼形式注入路由器14,其中所述代碼將提供濾波器26和監(jiān)測器28。具體地說,所有通過未編址的路由器14直接向本地服務(wù)器20傳送的數(shù)據(jù)包都首先被送到監(jiān)測器28。監(jiān)測器28檢查數(shù)據(jù)包并確定其類型、目的地和被請求的文檔。依據(jù)高速緩存服務(wù)器16的狀態(tài)和數(shù)據(jù)包的類型,監(jiān)測器28可能監(jiān)聽該數(shù)據(jù)包或者簡單地沿著通向目的地的路徑將該數(shù)據(jù)包朝通向本地服務(wù)器20的下一個躍距或路由器14發(fā)送。
為了確定被請求的文檔是否在本地高速緩存服務(wù)器16處,監(jiān)測器28對濾波器26提出質(zhì)疑。如果濾波器26表明被請求的文檔被高速緩存在本地并且可以提供服務(wù),那么該數(shù)據(jù)包被監(jiān)聽并發(fā)送給資源管理器24。否則,將該數(shù)據(jù)包繼續(xù)傳送到通向目的地本地服務(wù)器20的下一個躍距。
監(jiān)測器28通常了解TCP協(xié)議和TCP數(shù)據(jù)包和HTTP數(shù)據(jù)包兩者的結(jié)構(gòu)。監(jiān)測器28的另一種功能性是提取HTTP請求數(shù)據(jù)包的副本并且將它們上行傳送到資源管理器24。這個特征被用于協(xié)助資源管理器24發(fā)現(xiàn)其鄰域和退出潛在的壁壘。2.處理TCP/IP網(wǎng)絡(luò)中的HTTP文檔請求使用HTTP的網(wǎng)絡(luò)10當(dāng)前的配置取決于在客戶12與服務(wù)器20之間提供可靠的端-端通信的分層TCP/IP協(xié)議。這種分層將正常處理請求報文分成3個步驟建立連接(即呈{SYN}報文形式的TCP級三路信號交換)、呈{GET}形式的HTTP文檔請求/重播、以及呈{FIN}形式的終止連接。
這種過程用圖3描繪,其中客戶12首先將帶順序號的{SYN}報文發(fā)送給本地服務(wù)器20,而本地服務(wù)器20返回一帶肯定應(yīng)答{ACK}的{SYN}報文。然后,客戶12對這個報文作出反應(yīng)以{GET}報文形式發(fā)送包括所需文檔的URL的文檔請求報文。然后,由本地服務(wù)器20將文檔傳送給客戶12。在客戶12返回肯定應(yīng)答之后,服務(wù)器20和客戶12通過交換{FIN}和{ACK}報文終止連接。
在這種環(huán)境中象前面解釋的那樣實際配置高速緩存服務(wù)器16的主要障礙是要求這些服務(wù)器識別客戶12請求的文檔。但是,如圖3所示,URL資料通常是在與本地服務(wù)器20已經(jīng)建立TCP/IP連接之后才由HTTP客戶12播出。因此,一種可能的解決辦法是與本地服務(wù)器建立所有的這類連接并且在中間路由器14處具有監(jiān)聽全部{GET}數(shù)據(jù)包的監(jiān)測器28。即使這種方法或許能使本地服務(wù)器免除相當(dāng)大量的裝載,但是它仍然需要與這些文檔締合的TCP連接抵達(dá)本地服務(wù)器20,這達(dá)不到試圖為本地服務(wù)器卸載的目的反而導(dǎo)致失敗。在高需求期間,這類請求將相當(dāng)于一大批對本地服務(wù)器20的{SYN}請求。此外,如果最初的{SYN}被監(jiān)聽,建立連接和拆除連接兩者變得相當(dāng)復(fù)雜。
為了克服這個障礙,在優(yōu)選實施方案中,中間路由器14對TCP協(xié)議有某些了解。了解TCP的路由器14能夠檢測對所有HTTP服務(wù)器的TCP連接請求(即指向HTTP口的{SYN}數(shù)據(jù)包)并且有能力作為本地服務(wù)器20的代理或“欺騙”本地服務(wù)器20。
這種功能性是通過監(jiān)測器28實現(xiàn)的。具體地說,監(jiān)測器28定位在通向本地服務(wù)器20的路徑上的路由器14中,它檢查由此通過的數(shù)據(jù)包,識別這些數(shù)據(jù)包,并且監(jiān)聽指向HTTP本地服務(wù)器20的任何{SYN}數(shù)據(jù)包。當(dāng){SYN}數(shù)據(jù)包不包含識別客戶12企圖請求哪些文檔的資料時,監(jiān)測器28作為該本地服務(wù)器20的代理,或欺騙該本地服務(wù)器20,其方法是在客戶12與高速緩存服務(wù)器16中的本地傳輸層之間建立連接并且注意客戶12和該本地傳輸層兩者最初使用的順序號。
在建立連接之后,監(jiān)測器28檢查所有由此經(jīng)過的數(shù)據(jù)包并且等待相應(yīng)的{GET}請求。一旦收到{GET}請求,該監(jiān)測器28將查詢本地濾波器26和資源管理器24以確定被請求的文檔是否被高速緩存。如果該文檔被高速緩存,那么監(jiān)測器28將HTTP{GET}報文朝本地資源管理器24發(fā)送,等待資源管理器24為該請求提供服務(wù),然后終止連接。在相反的情況下,被請求的文檔未被高速緩存(即濾波器28或資源管理器24失敗)。此時可以采取幾種不同的方法為該文檔請求提供服務(wù)。
在第一種方法中,移交TCP連接,其中監(jiān)測器28關(guān)閉半個服務(wù)器(即那半個與客戶12建立TCP連接的被欺騙的服務(wù)器)并且在本地服務(wù)器20的方向上以復(fù)合捎帶(composite piggyback){SYN+GET}報文的形式發(fā)送文檔請求。此外,該{SYN+GET}報文包含將TCP連接的半個服務(wù)器移交給通向偶爾高速緩存被請求文檔的本地服務(wù)器20的路徑上的任何其它中間高速緩存服務(wù)器所需要的全部狀態(tài)資料。
在第二種方法中,監(jiān)測器可以作為TCP中繼站,保持與客戶12的連接并且將有關(guān)獨立連接的{SYN+GET}報文在通向本地服務(wù)器20的路徑上轉(zhuǎn)發(fā)給下一個中間高速緩存服務(wù)器。
上述的移交方法可以用圖4所示的流程圖予以說明。這種方法是由一類特殊的高速緩存服務(wù)器16完成的,這類高速緩存服務(wù)器被稱為葉片節(jié)點服務(wù)器38,這些服務(wù)器在樹T中位于級別極低的節(jié)點上,即首先監(jiān)聽來自客戶12的{SYN}數(shù)據(jù)包的服務(wù)器。在圖1所描繪的樹T中葉片節(jié)點服務(wù)器28是高速緩存服務(wù)器16-1、16-6和16-8。
如圖所示,在圖4的步驟41中,當(dāng)葉節(jié)點服務(wù)器38接收{(diào)SYN}數(shù)據(jù)包時,本地服務(wù)器20通過直接在葉節(jié)點服務(wù)器38與客戶12之間建立TCP連接被代理,或“被欺騙”。而后,該葉節(jié)點服務(wù)器38等待監(jiān)聽來自客戶12的應(yīng)答{GET}請求。
注意,這種欺騙是在下述意義上發(fā)生的,即在客戶12與高速緩存服務(wù)器16之間交換的數(shù)據(jù)包是由監(jiān)測器28在上述情景中修改過的。具體地說,正在為請求提供服務(wù)的高速緩存服務(wù)器16的網(wǎng)址被本地服務(wù)器20的網(wǎng)址取代并且在連接移交時高速緩存服務(wù)器16發(fā)出的字節(jié)順序號不得不跟在葉片服務(wù)器38確定的順序號后面。
返回到步驟41,如果在步驟42中被請求的文檔通過濾波器28傳遞高速緩存器查詢測試,并且如果該資源管理器22檢測該文檔是否在本地高速緩存器中和是否允許訪問它,那么在步驟45中該文檔請求將得到本地服務(wù)。在步驟45中,{GET}命令被送到資源管理器,然后該資源管理器轉(zhuǎn)發(fā)被請求的文檔。最后,通過再一次欺騙本地服務(wù)器和將{FIN}和{ACK}關(guān)閉報文發(fā)給客戶將葉片服務(wù)器38與客戶12之間的TCP連接關(guān)閉。
另一種情況是,如果在步驟42和43中出現(xiàn)失敗,監(jiān)測器28在本地服務(wù)器20的方向上發(fā)送{SYB+GET}數(shù)據(jù)包,然后關(guān)閉被欺騙的TCP連接的半個服務(wù)器,以使樹上的另一個高速緩存服務(wù)器可以提供服務(wù)(如果可能的話)。圖4中的步驟(d)和(e)可以是不同步的事件并且通??梢圆⑿械匕l(fā)生。然后,在葉片服務(wù)器38處的監(jiān)測器28不得不肯定應(yīng)答接受{GET}請求。
在圖1描繪的情景中,上游的非葉片中間節(jié)點39包括帶高速緩存服務(wù)器16-3、16-4和16-10的那些節(jié)點。定位在非葉片節(jié)點39處的高速緩存服務(wù)器16需要以略微不同的方式處理{SYN+GET}數(shù)據(jù)包。具體地說,非葉片節(jié)點39中的監(jiān)測器28僅僅在被請求的文檔被高速緩存并且本地高速緩存服務(wù)器16有足夠的能力為它提供服務(wù)的情況下才監(jiān)聽{SYN+GET}數(shù)據(jù)包。
圖5是在非葉片中間節(jié)點39處完成這一過程的詳細(xì)流程圖。如圖所示在步驟51中,為了為這種請求提供服務(wù),監(jiān)測器28在從自葉片節(jié)點38接收{(diào)SYN}時首先欺騙并且監(jiān)聽隨后的{GET}請求。在隨后的步驟52和53中,如前所述對濾波器26和資源管理器24進(jìn)行查詢,以確定{GET}請求是否能在本地處理。
如果該請求能在本地處理,步驟55通過建立TCP連接客戶12的半個服務(wù)器、將{GET}發(fā)送給資源管理器24、將文檔返回給客戶12以及關(guān)閉TCP連接來完成對本地服務(wù)器20的代理。
如果{GET}報文不能在本地處理,那么執(zhí)行步驟56,將{SYN+GET}傳送給樹T中的下一個節(jié)點。
在非葉片中間節(jié)點39中以不同方式處理{SYN+GET}數(shù)據(jù)包的主要優(yōu)點是TCP連接僅僅向?qū)嶋H上具有被請求文檔的特定中間節(jié)點39移交一次。另一個優(yōu)點是{SYN+GET}包含移交連接所需要的全部狀態(tài)資料(即沒有補充狀態(tài)資料要在葉片節(jié)點服務(wù)器38的監(jiān)測器28與實際上高速緩存有被請求文檔的中間節(jié)點39的監(jiān)測器之間交換。)以這種方式捎帶{SYN+GET}數(shù)據(jù)包的缺點之一是本地服務(wù)器20將在沒有適合它們處理這種數(shù)據(jù)包的傳輸協(xié)議的情況下不能適當(dāng)?shù)亟忉屵@種數(shù)據(jù)包。為了避免這個問題和保證在當(dāng)前的網(wǎng)絡(luò)協(xié)議下的可通用性,可以在本地服務(wù)器20解釋所有的{SYN+GET}數(shù)據(jù)包之前通過要求將監(jiān)測器28定位在最后的中間節(jié)點39來設(shè)置補充警戒。因此,在沒有一個葉片節(jié)點服務(wù)器38或中間節(jié)點服務(wù)器39高速緩存被請求文檔時,最后一個中間節(jié)點服務(wù)器39解釋{SYN+GET}并將顯式HTTP{GET}請求轉(zhuǎn)發(fā)給本地服務(wù)器20。
為了適應(yīng)這種情況,圖5所示步驟54可以用圖6所示種種處理代替。在這種情況下,在步驟61中,如果沿著路徑T的下一個下游節(jié)點(即母節(jié)點)不是本地服務(wù)器20,那么進(jìn)入步驟62,在這種場合將{SYN+GET}傳送給T上的下一個中間節(jié)點。
但是,如果下一個節(jié)點是本地服務(wù)器20,那么完成步驟63。具體地說,監(jiān)測器28建立TCP與客戶12連接的半個服務(wù)器并且用對本地資源管理器24的{PROXY_GET}請求代替{SYN+GET}。資源管理器24將{PROXY_GET}請求轉(zhuǎn)譯成發(fā)送給本地服務(wù)器20的顯式{GET}。然后,以同樣的方式將本地服務(wù)器20應(yīng)答的應(yīng)答轉(zhuǎn)發(fā)給客戶12,仿佛該高速緩存服務(wù)器儲存著被請求的文檔。
到此為止已介紹的高速緩存技術(shù)的另一個缺點是沿著樹T在具體客戶12與本地服務(wù)器20之間的路徑在葉片節(jié)點服務(wù)器38或中間節(jié)點服務(wù)器39決定為請求提供服務(wù)之后還可能變化。例如,在兩個服務(wù)器節(jié)點之間失去網(wǎng)絡(luò)連接或鏈路時可能發(fā)生這種情況。圖7說明這種比較少見的情況,其中當(dāng)高速緩存中間服務(wù)器16b處理來自客戶12的文檔請求時,在客戶12與本地服務(wù)器20之間的路徑將發(fā)生變化。所有由客戶12發(fā)出的{ACK}現(xiàn)在將按照新路徑通過新高速緩存服務(wù)器16X到達(dá)本地服務(wù)器20。這引起高速緩存服務(wù)器16b超時和重新轉(zhuǎn)發(fā)其數(shù)據(jù)包。
為了解決這個問題,在服務(wù)器16b處的監(jiān)測器28可以始終監(jiān)視數(shù)據(jù)包被重新轉(zhuǎn)發(fā)的的次數(shù)。如果數(shù)據(jù)包被重新轉(zhuǎn)發(fā)的次數(shù)超過預(yù)定的次數(shù)(比如3次),于是監(jiān)測器28則假設(shè)客戶12與本地服務(wù)器20之間的路徑已經(jīng)變化。具體地說,監(jiān)測器28廢棄與客戶12的連接并且廢棄與高速緩存服務(wù)器16b的連接,同時欺騙本地服務(wù)器20并將重組數(shù)據(jù)包(即{RST}數(shù)據(jù)包發(fā)送給客戶12。
在另一種方法中,分別向最接近客戶12的葉片節(jié)點服務(wù)器28和最接近服務(wù)器20的最后數(shù)個躍距節(jié)點提供一條唯一可能通向客戶12和服務(wù)器20的路由。這是通過在高速緩存服務(wù)器至高速緩存服務(wù)器的永久性TCP連接上有高速緩存服務(wù)器傳送客戶請求報文而不是簡單地讓這些請求報文遵從它們的自然路由來實現(xiàn)的。因此,這組作為一組適當(dāng)?shù)剡B接起來的TCP連接配置的連接自動地適應(yīng)網(wǎng)絡(luò)構(gòu)型變化時在IP路由選擇中發(fā)生的任何變化。3.鄰域的發(fā)現(xiàn)但是,為了資源裝載平衡和本發(fā)明可能帶來的其它優(yōu)點,在相鄰的高速緩存服務(wù)器的布局中所發(fā)生的任何變化還必須通過與鄰近的高速緩存服務(wù)器通信進(jìn)行檢測。具體地說,每個參與上述計劃的高速緩存服務(wù)器16都不得不確定哪些其它的服務(wù)器在其鄰域。此外,在每個路由選擇樹T上,高速緩存服務(wù)器16不得不區(qū)分上游服務(wù)器(位于母節(jié)點上)和下游服務(wù)器(位于子節(jié)點上)。在樹T中某個具體的節(jié)點i是節(jié)點j的母節(jié)點,如果i是從j到本地服務(wù)器20的路由上第一個高速緩存服務(wù)器,在這種情況下節(jié)點j也被稱為節(jié)點i的子節(jié)點。
高速緩存服務(wù)器發(fā)現(xiàn)其鄰域的方法之一需要來自其下級路由器14和監(jiān)測器28的某種幫助。在選定的時刻,資源管理器24要求本地路由器14將鄰域發(fā)現(xiàn)報文發(fā)送給在該路由器14保存的路由選擇表中所有的目的地。
然后,這些鄰域發(fā)現(xiàn)數(shù)據(jù)包被在該樹中另一個有高速緩存服務(wù)器16的節(jié)點處給定的監(jiān)測器監(jiān)聽。于是,進(jìn)行攔截的高速緩存服務(wù)器16負(fù)責(zé)將應(yīng)答信號發(fā)送給在那個發(fā)出鄰域發(fā)現(xiàn)數(shù)據(jù)包的高速緩存服務(wù)器16處的資源管理器24,以便告知它是母節(jié)點(即它比發(fā)出數(shù)據(jù)包的高速緩存服務(wù)器更接近本地服務(wù)器20)和它所在樹的合法身份。用于鄰域發(fā)現(xiàn)數(shù)據(jù)包的目的地端口可以被賦予不同的端口編號,以便保證該目的地的本地服務(wù)器20不試圖處理非攔截的鄰域數(shù)據(jù)包。躍距計數(shù)字段也可以用于限制鄰域發(fā)現(xiàn)數(shù)據(jù)包過分傳送。
這種方法的主要缺點是它將以鄰域發(fā)現(xiàn)數(shù)據(jù)包淹沒網(wǎng)絡(luò)。一種替代方法是使用文檔請求報文數(shù)據(jù)包(即{SYN+GET}數(shù)據(jù)包),該數(shù)據(jù)包無論如何都經(jīng)過每個高速緩存服務(wù)器16中的濾波器。
在這種方法中,每個文檔請求報文包含識別前一個躍距的字段,該字段在上述情景中變成某個具體請求數(shù)據(jù)包所經(jīng)過的最后一個高速緩存服務(wù)器16的標(biāo)識符。
在請求經(jīng)過路由器12時(即它未被監(jiān)聽),本地監(jiān)測器28標(biāo)明附加高速緩存服務(wù)器16的IP地址。當(dāng)某個高速緩存服務(wù)器想要發(fā)現(xiàn)其鄰域時,于是它指令其附加監(jiān)測器28從請求數(shù)據(jù)包中提取最后觀測的目的地和最后一個躍距地址,并且將這些資料向上傳送給本地資源管理器24。
如圖8所示,典型的HTTP{GET}報文遵從從客戶12經(jīng)過A到本地服務(wù)器20的路徑并且被中間高速緩存器16c監(jiān)聽。在高速緩存服務(wù)器16c正在處理該請求時,在本地服務(wù)器20與客戶12之間的路徑發(fā)生變化,引起所有的肯定應(yīng)答使用不同的路徑。
在高速緩存服務(wù)器16c處的資源管理器24利用這個資料確定它在哪些路由選擇樹上以及在每個樹上有哪些下游高速緩存服務(wù)器16。一旦高速緩存服務(wù)器16c確定服務(wù)器16b是其在該樹T上的下游子節(jié)點,高速緩存服務(wù)器16c不得不明確地通知高速緩存服務(wù)器16b它是其在T上的母節(jié)點。為了減少在不同單元(即監(jiān)測器28和資源管理器24)之間交換報文的次數(shù),監(jiān)測器28可以高速緩存許多數(shù)據(jù)包并且立刻將它們?nèi)總魉徒o資源管理器24。
鄰域資料被保持一段時間,即鄰域發(fā)現(xiàn)信號出現(xiàn)(neighborhood discovery epochs)的預(yù)定次數(shù)(例如兩次)。如果沒有通過子節(jié)點高速緩存服務(wù)器16b收到請求,那么該子節(jié)點高速緩存服務(wù)器16b將從高速緩存服務(wù)器16c的鄰域模型中除去。然后,母節(jié)點高速緩存服務(wù)器16c還通知子節(jié)點高速緩存服務(wù)器16b它這樣做的意圖。
高速緩存服務(wù)器16也有可能在通向本地服務(wù)器20的路由選擇樹上沒有母節(jié)點監(jiān)測器28。在這種情況下,高速緩存服務(wù)器16b處的監(jiān)測器28在本地服務(wù)器20的方向上發(fā)送鄰域發(fā)現(xiàn)數(shù)據(jù)包。上游監(jiān)測器(例如在服務(wù)器16c處)接收該數(shù)據(jù)包并通知16b在通向本地服務(wù)器20的路由選擇樹上它是其母節(jié)點。但是,如果在16b處的監(jiān)測器28在通向本地服務(wù)器20的路由選擇樹上沒有母節(jié)點(例如16c),它更換在鄰域發(fā)現(xiàn)數(shù)據(jù)包上的16b地址并且在本地服務(wù)器20的方向上發(fā)送該數(shù)據(jù)包。
這種鄰域發(fā)現(xiàn)方案有許多優(yōu)點。首先,為了開始運行不必建造完整的適合高速緩存協(xié)議的路由選擇樹T。另一個優(yōu)點是相互協(xié)作的高速緩存服務(wù)器16可以動態(tài)地發(fā)現(xiàn)和適應(yīng)路由變化。最后,協(xié)議是按總體分布的,所以也是穩(wěn)定的,不怕服務(wù)器出故障。4.裝載平衡不同于大多數(shù)其它的高速緩存方案,按照本發(fā)明的高速緩存方案要求將高速緩存副本在客戶實際請求它們之前分配給高速緩存服務(wù)器16。換言之,是在預(yù)先考慮未來的文檔請求時而不是在對客戶12的某個具體文檔請求報文作出響應(yīng)時在諸高速緩存服務(wù)器16當(dāng)中移動文檔。
就高速緩存服務(wù)器16以及使它們相互連接的通信路徑而言,上述的文檔高速緩存和鄰域發(fā)現(xiàn)方案適用于許多不同類型的高速緩存器裝載分配和/或裝載平衡目的。在優(yōu)選的實施方案中,這種裝載分配規(guī)劃試圖通過利用擴散嚴(yán)格依賴本地資料的高速緩存基礎(chǔ)算法避免引入隨著高速緩存系統(tǒng)的規(guī)模迅速增長的內(nèi)務(wù)操作。
具體地說,資源管理器24僅僅在路由選擇樹T中的上游節(jié)點(“母節(jié)點”)檢測到某個裝載較少的下游節(jié)點(“子節(jié)點”)或鏈路時才建立高速緩存副本,它可以通過給出一份其高速緩存文檔的副本將一些它的文檔服務(wù)裝載移交給所述下游節(jié)點或鏈路。在此“裝載”可以是許多不同的性能判據(jù),例如請求實現(xiàn)率、客戶響應(yīng)時間或該服務(wù)器的繁忙時間百分比。
在相反方向上的不平衡使子節(jié)點刪除一些它的高速緩存文檔或用別的方法減少對希望為其服務(wù)的這些文檔的請求率。
通常,按照某種尺度最經(jīng)常被子節(jié)點請求的母節(jié)點文檔是指向裝載較少的子節(jié)點的文檔。
類似地,當(dāng)高速緩存服務(wù)器16必須選擇從其高速緩存文檔庫18中刪掉某些文檔時,這些被刪掉的文檔將是那些通常最少被請求的文檔。
更具體地說,在將裝載移交給鄰居時,高速緩存服務(wù)器16可以將文檔分別壓入或釋放給子節(jié)點或母節(jié)點。通過在傳統(tǒng)的裝載擴散方法中不存在的擴散機理進(jìn)行文檔高速緩存有兩個目的。這在需要高速緩存服務(wù)器確定哪些待復(fù)制文檔以及什么樣的文檔請求率(即裝載率)應(yīng)當(dāng)移交給欠裝載的鄰居30時是顯而易見的。
第一個目的是確定高速緩存服務(wù)器如何選擇準(zhǔn)備傳送給欠裝載鄰居30的文檔。此刻的目的是提取網(wǎng)絡(luò)中所有的高速緩存服務(wù)器16的最大容量。第二個目的是減少響應(yīng)時間,其方法是全部通過創(chuàng)造最少數(shù)量的復(fù)制品使大眾性文檔比較接近客戶而使大眾性較差的文檔遠(yuǎn)離客戶。這些目的在同時考慮到高速緩存服務(wù)器16之間的通信路徑裝載時得以實現(xiàn)。
為了達(dá)到這些目的,位于節(jié)點i的過載的高速緩存服務(wù)器確定定位在子節(jié)點j處的最欠裝載的高速緩存服務(wù)器,以致Lj≤Lk,k∈Ci其中Li是在特定的高速緩存服務(wù)器i處的裝載;Ci是這組所有的高速緩存服務(wù)器。過載的高速緩存服務(wù)器i將一小部分對最大眾化的丈檔的請求壓入子節(jié)點j。特別是,如果丈檔d具有下式所表達(dá)的性質(zhì),它將從節(jié)點i壓入節(jié)點jPji(d)=maxg∈DiPji(g)]]>其中D;是這組被高速緩存在節(jié)點i的文檔。在其它方向上,如果滿足下式,文檔d將被節(jié)點i釋放給節(jié)點jPji(d)=ming∈DiPji(g)]]>這個對策被稱為最大一最小文檔擴散,并且它將滿足上述的頭兩個目的。
給定的高速緩存器可以被看成是一個準(zhǔn)備以有助于最大限度地減輕裝載的方式用文檔填充的匣子。因此,與給定文檔相關(guān)的裝載越大,需要放在特定的高速緩存器文檔的數(shù)量就越小。最大一最小文檔擴散為了滿足這第三個條件在高速緩存器中提供最少數(shù)量的文檔。
現(xiàn)在已經(jīng)確定了哪些文檔待擴散,高速緩存服務(wù)器還必須計算出在它們將其裝載移交給鄰居時它們監(jiān)聽的請求率將發(fā)生怎樣的變化。這個分?jǐn)?shù)可以通過考慮高速緩存服務(wù)器如何壓入一小部分文檔強加的裝載來決定。具體地說,假設(shè)節(jié)點i是節(jié)點j的母節(jié)點以及i相對j而言是過載的。此外,假設(shè)節(jié)點i希望將由它提供服務(wù)的對文檔d的大量請求(等于總請求量的Rij(d))壓入節(jié)點j。如果總請求量由下式定義βji(d)Δji(d)那么由節(jié)點i提供服務(wù)的對文檔d的請求量將由下式給出Pii(d)=Σm∈Ciβmi(d)Δmi(d)]]>并且在將Rij(d)份請求壓入節(jié)點j之后節(jié)點i提供服務(wù)的請求量由下式給出P′ii(d)=Σm∈Ciβmi(d)Δmi(d)-βji(d)Δji(d)+β′mi(d)Δ′mi(d)]]>其中Δ′ji(d)=Δji(d)-Rij(d)而且Δji(d)代表在壓入節(jié)點j生效之后未被節(jié)點j監(jiān)聽的請求量。被節(jié)點i監(jiān)聽的Δ’ji(d)的新分?jǐn)?shù)用β’ji(d)表示。還要注意Rij(d)=βji(d)Δji(d)-β′ji(d)Δ′ji(d)利用Δ’ji(d)和β’ji(d)的上述數(shù)值可以直接得出Rij(d)=βji(d)Δji(d)-β′ji(d)(Δji(d)-Rij(d))并且通過代數(shù)運算得出新的值β′ji(d)=βji(d)Δji(d)-Rji(d)Δji(d)-Rji(d)]]>在計算新分?jǐn)?shù)β’ji(d)之后,節(jié)點i更新與其締合的濾波器并且將文檔d的副本傳輸給節(jié)點j。指示節(jié)點j將其監(jiān)聽的請求量增加Rij(d)。
一旦節(jié)點j收到這個資料,它計算β′mj(d)=RijΔji(1-βmj(d))+βmj(d),∀m∈Cj]]>并且將這些最新資料反映在它的本地濾波代碼中。為了完成分析,請注意經(jīng)過節(jié)點j濾波的請求量增加Rij(d)。還已知P′jj(d)=Σm∈Cjβ′mj(d)Δmj(d)]]>并且通過將β’mj(d)的新數(shù)值代入,得到P′ii(d)=Σm∈Cj[Rij(d)Δji(d)(1-βmj(d)+βmj(d)]Δmj(d)]]>并且通過代數(shù)運算得到P′jj(d)=Rij(d)Δji(d)Δji(d)+Pjj(d)]]>=Pjj(d)+Rjj(d)從而完成分析。
對于大文檔,本地高速緩存器18只包括一部分被請求的文檔可能是有利的。在這個事件中,高速緩存服務(wù)器可以開始將本地高速緩存的文檔部分提供給客戶12,同時請求本地服務(wù)器20發(fā)送該文檔的其余部分。
其它判據(jù)可以包括文檔大小、文檔類型、傳輸方向、與具體文檔相關(guān)的優(yōu)先權(quán)。
為了有利于為具有較高的優(yōu)先權(quán)而確定的報文通信業(yè)務(wù)量,高速緩存服務(wù)器16和路由器12還可以使用通信緩沖器。
相同類型的相關(guān)文檔或在某些方面被高速緩存服務(wù)器16認(rèn)為是近乎連續(xù)地一起被請求的相關(guān)文檔可以在同一操作中在高速緩存服務(wù)器之間移動。
因此,每個高速緩存服務(wù)器16都基于其本地裝載、其鄰居的裝載、通信路徑裝載和文檔的屬性(如大眾性、大小、移交成本等)被賦予高速緩存和廢棄一些文檔的能力。具體地說,每個高速緩存服務(wù)器保留對其鄰居處裝載的估計和/或在不同的時刻將這種估計或有關(guān)其實際裝載的“隨筆(gossips)”傳送給相鄰的高速緩存服務(wù)器16。如果高速緩存服務(wù)器16注意到它與其鄰居相比在某些方面過載,它會如上所述將其一小部分預(yù)測未來的工作移交給其裝載較少的子節(jié)點或母節(jié)點鄰居。
因此,本發(fā)明還適用于裝載分離,在這種場合就給定的本地服務(wù)器而言在路由選擇樹T中的同一路徑上相鄰的(“同胞”)節(jié)點可以分享對一份具體文檔的請求裝載。
上述的文檔擴散算法可能在優(yōu)化的裝載分布中經(jīng)歷某些困難。具體地說,給定的高速緩存服務(wù)器j在它至少有兩個子節(jié)點服務(wù)器k、k’和一個母節(jié)點高速緩存服務(wù)器i(例如,裝載L)時可能變成潛在的壁壘,以致在每個服務(wù)器上的裝載滿足下式L′k≤Lj≤Li≤Lk并且高速緩存服務(wù)器j不高速緩存任何其欠裝載的子節(jié)點服務(wù)器k所需要的文件。
圖9(a)說明這種狀況的一個實例。高速緩存系統(tǒng)由一個本地服務(wù)器20(節(jié)點號1)和三個中間服務(wù)器39(節(jié)點號2、3、4)組成。請求剛剛由葉片節(jié)點產(chǎn)生,具體地說,文檔d_1和d_2正在被節(jié)點4請求,而d_3正在被節(jié)點3請求。該圖表示高速緩存副本在諸具體節(jié)點處的方位和通過每個高速緩存副本得到服務(wù)的請求。
在這個實例中,節(jié)點2處的高速緩存服務(wù)器16是潛在的壁壘。它不能將任何裝載擴散到節(jié)點3處的高速緩存服務(wù)器,因為它沒有高速緩存d_3。此外,節(jié)點2處的高速緩存服務(wù)器16由于承認(rèn)存在問題將節(jié)點1處的高速緩存服務(wù)器隔離。
一種可能的優(yōu)化裝載分配將載荷均勻地分布在所有的四個節(jié)點當(dāng)中,其中每個節(jié)點為若干請求提供服務(wù)。圖9(b)說明滿足這個條件的文件高速緩存器和載荷的分布。
但是,基于擴散的方案可以更改,以致高速緩存服務(wù)器16能夠檢測到圖9所示的這種令人不快的狀態(tài)并退出這種狀態(tài)。具體地說,高速緩存服務(wù)器k可以假設(shè)如果在一段時間內(nèi)(即定時信號出現(xiàn)(time epochs)次數(shù)多于預(yù)定次數(shù)(例如兩次))k相對j仍然保持欠裝載狀態(tài)且j未采取行動糾正這種欠裝載狀況,那么其母節(jié)點服務(wù)器j就是潛在的壁壘。在圖9(b)所示實例中,高速緩存服務(wù)器k對應(yīng)于節(jié)點3,而高速緩存服務(wù)器j與節(jié)點2相對應(yīng)。在檢測缺乏來自其母節(jié)點k的擴散裝載時,子節(jié)點可以推斷母節(jié)點沒有高速緩存任何被植根于k的子樹所請求的文檔。一旦最終要它為這些文檔的副本服務(wù),于是服務(wù)器k可以正常地高速緩存它們。這項技術(shù)被稱為隧道效應(yīng),因為在這種情況下即使有代表高裝載壁壘的母節(jié)點j存在k也能夠獲得并高速緩存那些副本。5.其它特征本發(fā)明在網(wǎng)絡(luò)中可以用于實現(xiàn)附加的功能性。這些不同的功能是下述事實的直接結(jié)果,即定位在路由器14處的濾波器26可以做更多的工作,不僅僅是簡單地將對文檔副本的請求轉(zhuǎn)交給本地高速緩存服務(wù)器16。
例如,必不可少的是由高速緩存服務(wù)器16收集文檔的大眾性統(tǒng)計結(jié)果,以便控制哪些文檔需要高速緩存以及將儲存在哪個高速緩存服務(wù)器中。每個節(jié)點處的高速緩存服務(wù)器16保留對正在入網(wǎng)的具體文檔的訪問次數(shù)、紀(jì)錄這些文檔是從何處入網(wǎng)的、并且了解累積請求量。
這個數(shù)據(jù)可以在中心位置收集,并且由數(shù)組高速緩存服務(wù)器16包辦,例如由定位在某個特定網(wǎng)絡(luò)區(qū)域中的數(shù)組高速緩存服務(wù)器16包辦。通過以這種方式收集數(shù)據(jù),文檔出版商不僅有可能獲得有關(guān)特定客戶對其材料的“命中率”的統(tǒng)計結(jié)果,而且有可能得知命中者來自網(wǎng)絡(luò)10的哪個子區(qū)域。
本發(fā)明還在預(yù)測需求時使加速分布型文檔能夠進(jìn)入網(wǎng)絡(luò)10。
高速緩存服務(wù)器16還可以依據(jù)服務(wù)供應(yīng)商的觀點通過充當(dāng)裝載分離器被用于數(shù)據(jù)庫、搜索索引文件和其它大眾性文檔的主復(fù)制品。換言之,數(shù)據(jù)庫供應(yīng)商可以安排將他們的文檔放入網(wǎng)絡(luò)10,向希望訪問它的客戶推出數(shù)據(jù)閉塞器,無論在哪里或許都是這些安排。
高速緩存服務(wù)器還可以實現(xiàn)請求報文和其它資料的來源鑒別。能夠這樣做是因為高速緩存服務(wù)器16自動地保留關(guān)于客戶12的資料,它是具體文檔請求報文的來源。如果客戶12不在該文檔的授權(quán)請求者之列,該請求報文甚至在它達(dá)到本地服務(wù)器20之前就可能被高速緩存服務(wù)器終止。
選擇性保安措施也可以提供。該機構(gòu)起源于下述事實,即每個節(jié)點都有濾波器26、資源管理器24、高速緩存器庫18和HTTP代理22。濾波器26不僅可以跟蹤對高速緩存副本的請求是如何轉(zhuǎn)交給HTTP代理22的,而且可以限制對該高速緩存副本的訪問,例如通過鑒別對該資料的請求。只要沿著從客戶12至服務(wù)器20的路徑第一和最后一個躍距是可以信任的(因為在高速緩存服務(wù)器16之間的鏈路可以輕易地被安排成可信任的鏈路),就可以在客戶12和本地服務(wù)器20之間提供經(jīng)由高速緩存服務(wù)器16的安全鏈路。
更一般地說,高速緩存服務(wù)器16可以在本地服務(wù)器20分配文檔期間在若干個點變換這些文檔并且隨后移交給客戶12。這些變換可以允許和/或?qū)崿F(xiàn)若干使高速緩存文檔或程序增值的特征,包括文檔和/或程序的壓縮或加密特征。此外,任何已知的保安技術(shù)都可以作為變換在源頭、終點或兩者(在交易的情況下)予以應(yīng)用。除了加密和解密之外,這些保安技術(shù)包括鑒別、授權(quán)(訪問控制)、非拒付(non-repudiation)和完整性控制。這些保安技術(shù)可以使用通常需要鑰匙的密碼技術(shù),并且非必選地使用通向高速緩存服務(wù)器的物理路徑以強化鑒別、授權(quán)和非拒付。
在典型的應(yīng)用中,這些變換將是匹配的(例如,對于每種加密都應(yīng)當(dāng)有匹配的解密)和單獨使用的。但是,在不同的點按文檔的有效期它們也可以是復(fù)合的。例如,文檔在不同的點可以是壓縮的、加密的、解密的和解壓縮的。
圖10說明一種有可能將變換應(yīng)用于文檔的方法。在這個實例中,在本地服務(wù)器20分配文檔并將它移交給客戶12時,迥然不同的變換可以發(fā)生在四個不同的時間在時間T1,客戶12發(fā)出請求;在時間T2,該請求被傳送到服務(wù)器20;在時間T3,服務(wù)器20發(fā)送應(yīng)答信號;在時間T4,該應(yīng)答信號被傳送到客戶12。
注意,即使圖10中的變換與通信的四個階段相關(guān)聯(lián),這些變換也是由這些節(jié)點本身完成的。因此,T1可以是高速緩存服務(wù)器16-6收到請求后對該請求所完成的變換,或者是客戶12在發(fā)送請求之前對它完成的變換。在前一種情況中,高速緩存服務(wù)器16-6正在完成變換。在后一種情況中,客戶12正在完成變換并且僅僅在挖掘穿越高速緩存服務(wù)器16-6的隧道。類似地,當(dāng)該請求向本地服務(wù)器20傳送時,變換T2由高速緩存服務(wù)器16-7或本地服務(wù)器20完成。在應(yīng)答信號從本地服務(wù)器20發(fā)出并最終傳送到客戶12時,同樣的替代方案可以應(yīng)用于T3和T4。
在按圖10完成的變換具有重要作用的場合,這些變換(或者任何要求不同于該文檔的輸入的其它變換)處于保安措施的關(guān)鍵部位。如果高速緩存服務(wù)器16本身配備有保安措施,在需要時必須將密匙分配給高速緩存服務(wù)器16。在這種情況下,可以通過在客戶12與高速緩存服務(wù)器16-6之間以及在高速緩存服務(wù)器16-7與本地服務(wù)器20之間添加保密信道來提供端-端保安措施。如果客戶12和本地服務(wù)器20配置了它們自己的端-端保安措施,那么高速緩存服務(wù)器16不防礙,并且有可能協(xié)助,將密匙分配給客戶12和本地服務(wù)器20。
圖10表明高速緩存服務(wù)器16-6和16-7在該網(wǎng)絡(luò)的邊緣,借此在客戶12與高速緩存服務(wù)器16-6之間以及在高速緩存服務(wù)器16-7與本地服務(wù)器20之間有直接的路徑。但是,在此介紹的方案不防礙在變換由中間高速緩存服務(wù)器16-9和16-10完成時所用的更一般的布局。換言之,在請求、應(yīng)答或兩者期間變換可以在圖10中的中間高速緩存服務(wù)器16-9、16-10處進(jìn)行。
只要是通過使用高速緩存服務(wù)器16來責(zé)成具體的本地服務(wù)器20和客戶12進(jìn)行通信,該方案還允許用于透明的文檔壓縮形式,該形式是另一種節(jié)省帶寬的形式。具體地說,沿著客戶12與服務(wù)器20之間的路徑在第一躍距之后,第一葉片節(jié)點服務(wù)器16-6可以以對客戶12和本地服務(wù)器20兩者都透明的的方式完成壓縮或加密。
文檔在傳送前還可以進(jìn)行病毒掃描或代碼檢查。
本發(fā)明還允許有效地高速緩存動態(tài)內(nèi)容的文檔,在這種場合哪些數(shù)據(jù)被實際返回給客戶的最終結(jié)果在傳輸時發(fā)生變化。這種文檔可以包括已經(jīng)嵌入Java代碼的文檔。
高速緩存服務(wù)器16可以通過高速緩存該文檔的數(shù)據(jù)以及在取回該數(shù)據(jù)時如何顯式該文檔的程序來完成這種動態(tài)內(nèi)容文檔的有效分配。如果該程序?qū)儆谠诳蛻?2處能在顯式該文檔時正常執(zhí)行的那種類型,那么程序和數(shù)據(jù)可以簡單地轉(zhuǎn)移給客戶12。
但是,如果該程序?qū)儆诳蛻?2期待它將在本地服務(wù)器20上運行的類型,那么高速緩存服務(wù)器16通過運行該程序完成追加水平的本地服務(wù)器欺騙。在這個實例中,必不可少的可能是高速緩存服務(wù)器16保持與客戶12相互交流的狀態(tài)以便完成欺騙本地服務(wù)器20。
本發(fā)明還由于減少了本地服務(wù)器20與客戶12之間的躍距數(shù)量對儲存媒體(如聲頻數(shù)據(jù)文件和視頻數(shù)據(jù)文件)的移交做了特有的改進(jìn)。
盡管我們已經(jīng)展示并介紹了幾個按照本發(fā)明的實施方案,但是,應(yīng)當(dāng)理解,本發(fā)明并非僅限于此,而對于熟悉這項技術(shù)的人所知道的各種各樣的變化和改進(jìn)是敏感的,所以我們不希望局限于在此展示和介紹的細(xì)節(jié),而傾向于覆蓋所有原本熟悉這項技術(shù)者顯而易見的變化和改進(jìn)。
權(quán)利要求
1.在包含眾多利用通信協(xié)議進(jìn)行網(wǎng)上通信的計算機的系統(tǒng)中,一些在網(wǎng)絡(luò)節(jié)點上的計算機作為本地服務(wù)器(或簡稱服務(wù)器)用于以文檔的形式存儲資料,而另一些計算機作為客戶在應(yīng)用層將文檔請求報文發(fā)送給服務(wù)器,其中文檔請求報文是請求儲存在服務(wù)器的文檔,在該系統(tǒng)中一種實現(xiàn)文檔請求報文的方法包括下述步驟(a)將文檔的本地高速緩存副本儲存在網(wǎng)絡(luò)中的眾多中間節(jié)點位置;以及(b)在響應(yīng)其中一個具體客戶時,產(chǎn)生傾向于發(fā)送給某個特定服務(wù)器的特定應(yīng)用層文檔請求報文,在低于該應(yīng)用層選定的通信層監(jiān)聽文檔請求報文并將一份本地高速緩存副本返回客戶所在的應(yīng)用層,借此來實現(xiàn)特定應(yīng)用層的文檔請求報文,以致該應(yīng)用層請求報文在中間節(jié)點被較低層監(jiān)聽而且服務(wù)器上的應(yīng)用層不接收應(yīng)用層文檔請求報文。
2.根據(jù)權(quán)利要求1的方法,其中在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)如果特定的文檔請求報文不能通過提供一份本地高速緩存副本得以實現(xiàn),將該文檔請求報文發(fā)送到另一個節(jié)點。
3.根據(jù)權(quán)利要求1的方法,其中在至少一個既非客戶又非服務(wù)器的中間節(jié)點中實現(xiàn)特定文檔請求報文的步驟進(jìn)一步包括如下步驟(c)儲存特定文檔的本地高速緩存副本,這些文檔副本也被儲存在其它中間節(jié)點;(d)確定儲存本地高速緩存副本的毗鄰中間節(jié)點的合法身份;以及(e)基于文檔請求報文裝載資源在中間節(jié)點的可用性在中間節(jié)點和毗鄰中間節(jié)點之間分配執(zhí)行文檔請求報文。
4.根據(jù)權(quán)利要求3的方法,其中報文裝載執(zhí)行資源包括高速緩存器。
5.根據(jù)權(quán)利要求3的方法,其中報文裝載執(zhí)行資源包括通信路徑裝載。
6.根據(jù)權(quán)利要求3的方法,其中分配執(zhí)行文檔請求報文的步驟進(jìn)一步包括如下步驟(f)在中間節(jié)點和毗鄰節(jié)點之間交換狀態(tài)報文,該狀態(tài)報文包括選自處理裝載、通信路徑裝載、文檔大小、文檔請求報文響應(yīng)時間、文檔請求報文的請求率、文檔請求報文的變化率或本地服務(wù)器可操作性中至少一項的資料。
7.根據(jù)權(quán)利要求1的方法,其中實現(xiàn)特定文檔請求的步驟通過進(jìn)一步包括如下步驟進(jìn)一步完成在諸節(jié)點相互連接的路徑之間分配通信路徑裝載(c)儲存特定文檔的本地高速緩存副本,這些文檔副本也被儲存在其它中間節(jié)點;(d)確定儲存本地高速緩存副本的毗鄰節(jié)點的合法身份;以及(e)基于通信路徑裝載在中間節(jié)點和毗鄰中間節(jié)點之間分配執(zhí)行文檔請求報文。
8.根據(jù)權(quán)利要求2的方法,該方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(d)確定第一毗鄰節(jié)點的合法身份,其中特定文檔請求報文是從該節(jié)點收到的;以及(e)如果該特定的文檔請求報文不能通過將本地高速緩存副本返回給客戶,在通往本地服務(wù)器的路徑上為特定文檔請求報文確定通向第二毗鄰節(jié)點的路徑,并確定該第二毗鄰節(jié)點的合法身份。
9.根據(jù)權(quán)利要求8的方法,其中儲存本地高速緩存副本的步驟進(jìn)一步包括如下步驟(f)確定第一毗鄰節(jié)點的節(jié)點狀態(tài)參數(shù)和本地節(jié)點的節(jié)點狀態(tài)參數(shù),并且在第一毗鄰節(jié)點和本地節(jié)點的狀態(tài)參數(shù)彼此相差預(yù)定量時將至少一份本地高速緩存副本傳送給第一毗鄰節(jié)點以便儲存在第一毗鄰節(jié)點位置。
10.根據(jù)權(quán)利要求9的方法,其中節(jié)點狀態(tài)參數(shù)選自請求的實現(xiàn)率、請求實現(xiàn)率的變化、文檔大小、文檔提請響應(yīng)時間、通信路徑裝載、高速緩存服務(wù)器裝載、或本地服務(wù)器的工作狀態(tài)。
11.根據(jù)權(quán)利要求8的方法,其中儲存本地高速緩存副本的步驟進(jìn)一步包括如下步驟(f)確定第二毗鄰節(jié)點的節(jié)點狀態(tài)參數(shù)和本地節(jié)點的節(jié)點狀態(tài)參數(shù),并且在第二毗鄰節(jié)點和本地節(jié)點的狀態(tài)參數(shù)相差預(yù)定量時至少刪除一份本地高速緩存副本。
12.根據(jù)權(quán)利要求11的方法,其中節(jié)點狀態(tài)參數(shù)選自請求的實現(xiàn)率、請求實現(xiàn)率的變化、文檔大小、文檔提請響應(yīng)時間、通信路徑裝載、高速緩存服務(wù)器裝載、或本地服務(wù)器的工作狀態(tài)。
13.根據(jù)權(quán)利要求8的方法,其中儲存本地高速緩存副本的步驟進(jìn)一步包括如下步驟(f)確定第二毗鄰節(jié)點的節(jié)點狀態(tài)參數(shù)和本地節(jié)點的節(jié)點狀態(tài)參數(shù),并且在第二毗鄰節(jié)點和本地節(jié)點的狀態(tài)參數(shù)相差預(yù)定量時,在濾波步驟中通過向客戶提供本地高速緩存副本實現(xiàn)降低文檔請求的比例。
14.根據(jù)權(quán)利要求1的方法,其中濾波步驟進(jìn)一步包括如下步驟(c)如果本地節(jié)點的節(jié)點狀態(tài)參數(shù)不同于預(yù)定量,那么將本地高速緩存副本返回給客戶。
15.根據(jù)權(quán)利要求1的方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)紀(jì)錄與通過向客戶提供一份本地高速緩存副本實現(xiàn)的請求報文數(shù)有關(guān)的裝載統(tǒng)計結(jié)果。
16.根據(jù)權(quán)利要求1的方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)紀(jì)錄與收到并實現(xiàn)對特定文檔的請求報文數(shù)有關(guān)的請求報文統(tǒng)計結(jié)果。
17.根據(jù)權(quán)利要求1的方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)紀(jì)錄與收到的對儲存在特定服務(wù)器中的文檔的請求報文數(shù)有關(guān)的響應(yīng)時間統(tǒng)計結(jié)果。
18.根據(jù)權(quán)利要求1的方法,其中文檔請求報文是在眾多通信路徑上的諸中間節(jié)點接收的,并且該方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)紀(jì)錄請求報文統(tǒng)計結(jié)果以便跟蹤從特定路徑接收的文檔請求報文。
19.根據(jù)權(quán)利要求1的方法,其中文檔請求報文是在眾多通信路徑上的諸中間節(jié)點接收的,并且該方法借助選自全面網(wǎng)絡(luò)請求和區(qū)域網(wǎng)絡(luò)請求的判據(jù)或借助客戶的特殊請求進(jìn)一步預(yù)測通信路徑的用途。
20.根據(jù)權(quán)利要求1的方法,其中濾波文檔請求報文的步驟進(jìn)一步包括如下步驟(c)在發(fā)送文檔請求報文之前鑒別來自客戶的文檔請求報文所抵達(dá)的節(jié)點。
21.根據(jù)權(quán)利要求1的方法,其中濾波文檔請求報文的步驟進(jìn)一步包括如下步驟(c)在將本地高速緩存副本返回給客戶之前鑒別高速緩存文檔的源節(jié)點。
22.根據(jù)權(quán)利要求1的方法,其中服務(wù)器也儲存運行文檔的程序,并且在中間節(jié)點步驟(b)還包括如下步驟(c)在從服務(wù)器獲得與被請求的文檔副本有關(guān)的某些選定程序時儲存那些選定程序的本地高速緩存副本。
23.根據(jù)權(quán)利要求22的方法,該方法還另外包括如下步驟(d)在中間節(jié)點按來自客戶的要求執(zhí)行選定程序的本地高速緩存副本。
24.根據(jù)權(quán)利要求22的方法,該方法還另外包括如下步驟(d)保留在中間節(jié)點與客戶之間的交互式通話,以致萬一服務(wù)器已實現(xiàn)文檔請求報文,中間節(jié)點將作為服務(wù)器發(fā)揮作用。
25.根據(jù)權(quán)利要求1的方法,其中文檔請求報文的濾波步驟還另外包括如下步驟(c)將選定的程序施加給本地高速緩存副本,以便在將施加程序的結(jié)果返回客戶之前獲得該結(jié)果。
26.根據(jù)權(quán)利要求1的方法,其中所述文檔選自多媒體文檔、程序、數(shù)據(jù)庫、壓縮數(shù)據(jù)或加密數(shù)據(jù)。
27.根據(jù)權(quán)利要求8的方法,其中所述多個中間節(jié)點是定位在服務(wù)器和客戶之間的,并且具體文檔是通過將它發(fā)送給取決于預(yù)期文檔需求率的眾多節(jié)點被放進(jìn)網(wǎng)絡(luò)的。
28.根據(jù)權(quán)利要求9的方法,其中所述預(yù)定的請求實現(xiàn)率取決于選自預(yù)期的請求實現(xiàn)率、請求實現(xiàn)率的預(yù)期變化、文檔大小、預(yù)期的文檔提取響應(yīng)時間、預(yù)期的通信路徑裝載或預(yù)期的高速緩存服務(wù)器裝載的文檔屬性。
29.根據(jù)權(quán)利要求1的方法,該方法在選定的中間節(jié)點進(jìn)一步包括如下步驟(c)將指出本地高速緩存副本釋放條件的數(shù)據(jù)與本地高速緩存副本一起儲存起來;以及(d)只有在該條件得到滿足時才將本地高速緩存副本返回給客戶。
30.根據(jù)權(quán)利要求29的方法,其中所述條件是釋放該文檔的時間。
31.根據(jù)權(quán)利要求1的方法,其中儲存高速緩存副本的步驟是基于預(yù)定的條件判據(jù)有選擇地執(zhí)行的。
32.根據(jù)權(quán)利要求31的方法,其中預(yù)定的條件判據(jù)包括時鐘指示的時間。
33.根據(jù)權(quán)利要求31的方法,其中預(yù)定的條件判據(jù)是選自文檔大小、所需的文檔請求報文響應(yīng)時間、文檔請求報文率、文檔請求報文率的變化率、服務(wù)器裝載、通信路徑裝載或本地服務(wù)器的工作狀態(tài)的至少一個判據(jù)。
34.根據(jù)權(quán)利要求1的方法,其中儲存高速緩存副本的步驟進(jìn)一步包括儲存比預(yù)定尺寸大的部分文檔副本的步驟。
35.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟(c)基于預(yù)定的條件判據(jù)有選擇地執(zhí)行刪除文檔的高速緩存副本。
36.根據(jù)權(quán)利要求35的方法,其中預(yù)定的條件判據(jù)包括時鐘指示的時間。
37.根據(jù)權(quán)利要求35的方法,其中預(yù)定的條件判據(jù)是選自文檔大小、所需的文檔請求報文響應(yīng)時間、文檔請求報文率、文檔請求報文率的變化率、服務(wù)器裝載或通信路徑裝載的至少一個判據(jù)。
38.根據(jù)權(quán)利要求1的方法,其中儲存高速緩存副本的步驟進(jìn)一步包括儲存比預(yù)定尺寸大的部分文檔副本的步驟。
39.一種提供適合在計算機網(wǎng)絡(luò)中操作的邏輯通信網(wǎng)絡(luò)的方法,在該網(wǎng)絡(luò)中計算機通過眾多路徑在眾多節(jié)點相互連接,該邏輯通信網(wǎng)絡(luò)允許在第一網(wǎng)絡(luò)節(jié)點的計算機安全地與在第二網(wǎng)絡(luò)節(jié)點的第二計算機通信,該方法包括如下步驟(a)沿著在第一節(jié)點和第一中間節(jié)點之間的路徑提供安全的通信路徑作為在第一節(jié)點和第二節(jié)點之間通信路徑中的第一躍距;(b)在第二節(jié)點和最后一個中間節(jié)點之間提供安全的通信路徑作為在第一節(jié)點和第二節(jié)點之間通信路徑中的最后一個躍距;以及(c)將密鑰提供給第一和最后一個節(jié)點,并且第一中間節(jié)點在將資料發(fā)送給路徑中另一個中間節(jié)點之前用該密鑰給該資料加密,而最后一個節(jié)點在將該資料發(fā)送給第二中間節(jié)點之前用該密鑰給該資料解密,從而在第一和最后一個節(jié)點之間提供安全的通信路徑。
40.一種提供適合在計算機網(wǎng)絡(luò)中操作的通信網(wǎng)絡(luò)的方法,其中計算機通過眾多路徑在眾多節(jié)點相互連接,該通信網(wǎng)絡(luò)允許在第一網(wǎng)絡(luò)節(jié)點的計算機與位于第二網(wǎng)絡(luò)節(jié)點的第二計算機通信,該方法包括如下步驟(a)沿著在第一節(jié)點和第一中間節(jié)點之間的路徑提供通信路徑作為在第一節(jié)點和第二節(jié)點之間通信路徑中的第一躍距,所述通信路徑包括眾多路徑;(b)沿著在第二節(jié)點和最后一個中間節(jié)點之間的路徑提供通信路徑作為在第一和第二節(jié)點之間的路徑中的最后一個躍距;以及(c)將壓縮和解壓縮功能提供給第一中間節(jié)點和最后一個中間節(jié)點,并且第一中間節(jié)點在將資料發(fā)送給路徑中另一個中間節(jié)點之前利用壓縮功能壓縮該資料,而最后一個中間節(jié)點在將該資料發(fā)送給第二中間節(jié)點之前利用解壓縮功能給該資料解壓縮,從而在第一和第二中間節(jié)點之間提供壓縮帶寬的通信路徑。
41.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟(c)在服務(wù)器處,將一個文檔截止時間標(biāo)記附著到該文檔上;(d)在中間節(jié)點處,檢驗附著在高速緩存文檔上的時間標(biāo)記,以確定該文檔是否已經(jīng)過期;(e)如果該高速緩存文檔已經(jīng)過期,則刪除或刷新它。
42.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟(c)在服務(wù)器處,將一個文檔修改時間標(biāo)記附著到該文檔上;(d)在中間節(jié)點處,評估該文檔的修改率,并且如果文檔修改率大于請求率某個預(yù)定量,則刪除該高速緩存副本;如果修改率小于請求率某個預(yù)定量,則請求更新后的高速緩存副本。
43.在包含眾多利用分層通信協(xié)議進(jìn)行網(wǎng)上通信的計算機的系統(tǒng)中,一些在網(wǎng)絡(luò)節(jié)點上的計算機作為服務(wù)器以文檔形式儲存資料,而另一些計算機作為客戶在應(yīng)用層上將文檔請求報文發(fā)送給諸服務(wù)器,其中文檔請求報文是對儲存在服務(wù)器處的文檔的請求,通過透明的代理實現(xiàn)文檔請求報文的方法包括下述步驟(a)將文檔的本地高速緩存副本儲存在該網(wǎng)絡(luò)中的眾多中間節(jié)點位置;以及(b)在響應(yīng)其中一個具體客戶時,產(chǎn)生傾向于發(fā)送給某個特定服務(wù)器的特定應(yīng)用層文檔請求報文,在某個中間節(jié)點位置通過監(jiān)聽文檔請求報文并將一份本地高速緩存副本返回客戶所在的應(yīng)用層,借此來實現(xiàn)特定應(yīng)用層的文檔請求報文,以致應(yīng)用層請求報文在中間節(jié)點被監(jiān)聽而且不與服務(wù)器上的應(yīng)用層建立網(wǎng)絡(luò)連接。
44.根據(jù)權(quán)利要求43的方法,其中中間節(jié)點包括高速緩存服務(wù)器和路由器,并且該方法在路由器處進(jìn)一步包括如下步驟(c)確認(rèn)待監(jiān)聽的文檔請求報文,并且提取這樣的報文供高速緩存服務(wù)器處理。
45.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟(c)同時一起預(yù)取有關(guān)的文檔,其中有關(guān)文檔是那些近乎連續(xù)地最頻繁地被請求的文檔。
46.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟在客戶處,(c)產(chǎn)生一個連接請求報文,該請求報文請求在客戶與服務(wù)器之間建立一條通信路徑;以及在中間節(jié)點處,(d)在收到來自客戶的連接請求報文時,等待接收文檔請求報文,然后將連接請求報文和文檔請求報文一起發(fā)送給路徑中的下一個中間節(jié)點。
47.根據(jù)權(quán)利要求46的方法,該方法進(jìn)一步包括如下步驟在高速緩存該請求報文所指定文檔的中間節(jié)點,(e)對客戶肯定應(yīng)答連接請求,并將被請求的文檔返回給客戶。
48.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟(c)操作某個高速緩存服務(wù)器,該服務(wù)器這樣選擇準(zhǔn)備存入本地高速緩存器的文檔和準(zhǔn)備從該本地高速緩存器中刪除的文檔,以致該高速緩存服務(wù)器選出受到最頻繁請求的文檔復(fù)制在位于該路徑中某個節(jié)點的毗鄰高速緩存服務(wù)器中,并且選出最不經(jīng)常受到請求的文檔從其本身的存儲器中刪掉。
49.根據(jù)權(quán)利要求1的方法,其中每個中間節(jié)點包括與其相關(guān)的資源管理器,并且該資源管理器完成如下步驟(c)分配用于緩沖進(jìn)出報文的通信緩沖器的使用以有利于被指定為比較重要的報文交流。
50.根據(jù)權(quán)利要求49的方法,該方法包括如下步驟(d)基于選自文檔大小、文檔類型、傳輸方向或優(yōu)先權(quán)的內(nèi)容屬性分配通信緩沖器和通信路徑帶寬。
51.根據(jù)權(quán)利要求1的方法,該方法進(jìn)一步包括如下步驟在中間節(jié)點,(c)將該中間節(jié)點處的節(jié)點狀態(tài)參數(shù)與毗鄰服務(wù)器處的節(jié)點狀態(tài)參數(shù)進(jìn)行比較;以及(d)如果該毗鄰服務(wù)器和該中間節(jié)點的節(jié)點狀態(tài)參數(shù)相差的預(yù)定量比預(yù)定的時間周期多,則意味著該毗鄰節(jié)點沒有高速緩存該中間節(jié)點正在請求的一份或多份文檔。
52.根據(jù)權(quán)利要求51的方法,其中節(jié)點狀態(tài)參數(shù)選自請求實現(xiàn)率、請求實現(xiàn)率的變化、文檔大小、文檔提取響應(yīng)時間、通信路徑裝載、本地服務(wù)器的可操作性或高速緩存服務(wù)器裝載。
53.在包含眾多進(jìn)行網(wǎng)上通信的計算機的系統(tǒng)中,一些在網(wǎng)絡(luò)節(jié)點上的計算機作為服務(wù)器以文檔形式儲存資料,而另一些計算機作為發(fā)送文檔請求報文的客戶,其中文檔請求報文是針對儲存在那些服務(wù)器處的文檔的請求,為了裝載而確定實現(xiàn)文檔請求報文的坐標(biāo)位置的方法包括下述步驟(a)將文檔的本地高速緩存副本儲存在該網(wǎng)絡(luò)中的眾多中間節(jié)點位置,并且在響應(yīng)其中一個具體客戶時,產(chǎn)生一個傾向于發(fā)送給某個特定服務(wù)器的特定的文檔請求報文;(b)在某個中間節(jié)點位置通過返回一份對應(yīng)于在特定文檔請求報文中所規(guī)定的文檔的本地高速緩存副本來實現(xiàn)該特定的文檔請求報文,以致在中間節(jié)點位置的應(yīng)用層監(jiān)聽請求報文,而服務(wù)器上的應(yīng)用層不接收該文檔請求報文。
54.根據(jù)權(quán)利要求53的方法,該方法進(jìn)一步包括如下步驟(c)在這些中間節(jié)點位置,協(xié)調(diào)在這些中間節(jié)點位置當(dāng)中儲存高速緩存副本和分離文檔復(fù)制的步驟,以便在中間節(jié)點高速緩存服務(wù)器或本地服務(wù)器上分配文檔請求報文裝載。
55.根據(jù)權(quán)利要求53的方法,該方法進(jìn)一步包括如下步驟(c)在這些中間節(jié)點位置,協(xié)調(diào)在這些中間節(jié)點位置當(dāng)中儲存高速緩存副本和分離文檔復(fù)制的步驟,以便分配通信路徑裝載。
56.根據(jù)權(quán)利要求53的方法,其中為了減少文檔裝載而協(xié)調(diào)在這些中間節(jié)點位置當(dāng)中儲存高速緩存副本的步驟包括如下步驟(c)在毗鄰節(jié)點位置,復(fù)制一些文檔。
57.根據(jù)權(quán)利要求53的方法,其中在諸中間節(jié)點位置儲存文檔副本的步驟進(jìn)一步包括如下步驟(c)基于預(yù)定的判據(jù)具體地使這些副本可用于或不可用于實現(xiàn)文檔請求。
58.根據(jù)權(quán)利要求57的方法,其中預(yù)定的判據(jù)是時鐘指示的時間。
59.根據(jù)權(quán)利要求53的方法,其中在諸中間服務(wù)器之一實現(xiàn)特定文檔請求報文的步驟進(jìn)一步包括如下步驟(c)開放葉片節(jié)點和服務(wù)器之間的通信連接,該葉片節(jié)點是最初接收來自客戶的文檔請求報文的中間節(jié)點位置之一;以及(d)將文檔請求和通信連接傳送給另一個中間節(jié)點,該中間節(jié)點在網(wǎng)絡(luò)中的位置比葉片節(jié)點更接近該服務(wù)器。
60.根據(jù)權(quán)利要求53的方法,其中在諸中間服務(wù)器之一實現(xiàn)特定文檔請求報文的步驟進(jìn)一步包括如下步驟(c)開放葉片節(jié)點和服務(wù)器之間的通信連接,該葉片節(jié)點是最初接收來自客戶的文檔請求報文的中間節(jié)點位置之一;以及(d)將該文檔請求轉(zhuǎn)移到另一個中間節(jié)點,該中間節(jié)點在網(wǎng)絡(luò)中的位置比該葉片節(jié)點更接近該服務(wù)器。
61.根據(jù)權(quán)利要求53的方法,其中高速緩存服務(wù)器進(jìn)一步完成如下步驟(c)依據(jù)客戶的意見充當(dāng)本地服務(wù)器的通信代理。
62.根據(jù)權(quán)利要求53的方法,其中實現(xiàn)文檔請求報文的步驟還控制對文檔的訪問,并且該方法包括如下步驟(c)基于文檔請求報文中的統(tǒng)一資源定位符(URL)字段完成文檔請求報文的濾波。
63.根據(jù)權(quán)利要求53的方法,其中實現(xiàn)文檔請求報文的步驟還控制對文檔的訪問,并且該方法包括如下步驟(c)基于文檔請求報文中的鑒別字段完成文檔請求報文的濾波。
64.根據(jù)權(quán)利要求53的方法,其中將文檔的高速緩存副本返回給客戶的步驟進(jìn)一步包括如下步驟(c)對該文檔的病毒掃描。
65.根據(jù)權(quán)利要求53的方法,其中將文檔的高速緩存副本返回給客戶的步驟進(jìn)一步包括如下步驟(c)對該文檔的代碼認(rèn)證。
66.根據(jù)權(quán)利要求53的方法,其中將文檔的高速緩存副本返回給客戶的步驟進(jìn)一步包括如下步驟(c)該文檔的解碼。
67.根據(jù)權(quán)利要求53的方法,其中將文檔的高速緩存副本返回給客戶的步驟進(jìn)一步包括如下步驟(c)基于客戶鑒別和本地服務(wù)器請求,控制對該文檔的高速緩存副本的訪問。
68.一種在計算機網(wǎng)絡(luò)中實現(xiàn)對資料的請求的方法,其中至少有一些計算機作為本地服務(wù)器用于儲存資料,并且至少有一些計算機作為客戶將請求報文發(fā)送給這些本地服務(wù)器,該方法包括如下步驟(a)借助將所述資料的副本儲存在眾多在網(wǎng)絡(luò)中充當(dāng)高速緩存服務(wù)器的計算機中,在網(wǎng)絡(luò)上分布該資料的高速緩存副本;(b)確定請求報文經(jīng)過網(wǎng)絡(luò)中眾多中間計算機從客戶至服務(wù)器的路由,其中至少有一些中間計算機充當(dāng)高速緩存服務(wù)器,請求報文始于其中一個具體客戶,以便從其中一個特定服務(wù)器獲得資料;以及(c)在這些請求報文途經(jīng)這些服務(wù)器時透明地處理它們,以致那些能由高速緩存服務(wù)器代替本地服務(wù)器提供服務(wù)的請求報文就由高速緩存服務(wù)器以對客戶和本地服務(wù)器透明的方式提供服務(wù)。
69.根據(jù)權(quán)利要求59的方法,該方法包括如下步驟(d)對涉及高速緩存服務(wù)器為請求報文服務(wù)的預(yù)定判據(jù)的響應(yīng),使高速緩存副本自動地在網(wǎng)絡(luò)中的諸高速緩存服務(wù)器當(dāng)中移動。
70.根據(jù)權(quán)利要求1的方法,其中多媒體文檔包含選自文本、圖片、聲音、電視節(jié)目或其它數(shù)據(jù)的數(shù)字化資料。
71.根據(jù)權(quán)利要求1的方法,其中網(wǎng)絡(luò)包括無線網(wǎng)絡(luò)。
72.根據(jù)權(quán)利要求1的方法,其中諸中間節(jié)點還完成如下步驟確定特定的通信實體是否已經(jīng)失效,如果失效,通知另一個網(wǎng)絡(luò)實體。
73.根據(jù)權(quán)利要求72的方法,其中所述通信實體是路由器、通信路徑或通信路徑之一。
74.根據(jù)權(quán)利要求72的方法,其中其它網(wǎng)絡(luò)實體是另一個中間節(jié)點、網(wǎng)絡(luò)管理器或其它聯(lián)網(wǎng)的計算機系統(tǒng)之一。
75.根據(jù)權(quán)利要求57的方法,其中預(yù)定判據(jù)是客戶發(fā)出的通知。
76.根據(jù)權(quán)利要求57的方法,其中預(yù)定判據(jù)是本地服務(wù)器發(fā)出的通知。
77.根據(jù)權(quán)利要求2的方法,該方法包括如下步驟在選定的中間節(jié)點,(d)確定接收特定的文檔請求報文的第一毗鄰節(jié)點的合法身份;(e)確定在通向本地服務(wù)器的路徑上特定的文檔請求報文將途經(jīng)的第二毗鄰節(jié)點的合法身份;(f)如果由于在該中間節(jié)點出現(xiàn)失敗的或緩慢的處理不能由該中間節(jié)點令人滿意地實現(xiàn)特定的文檔請求報文,則變更路徑以便繞過該中間節(jié)點。
全文摘要
一種在計算機網(wǎng)絡(luò)中用于自動的、透明的、分布式的、可定標(biāo)的和穩(wěn)定的高速緩存、預(yù)取和復(fù)制技術(shù),其中請求具體文檔的報文遵照形成路由圖的路徑從客戶到本地服務(wù)器。沒有高速緩存,客戶請求將正常發(fā)生,此時它的路線是沿該路由圖朝本地服務(wù)器上行。但是,諸高速緩存服務(wù)器沿著該路徑定位,并且如果它們能得到服務(wù),高速緩存服務(wù)器可以監(jiān)聽請求。為了在不脫離標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議的情況下能夠以這種方式為請求提供服務(wù),高速緩存服務(wù)器需要能夠?qū)V包器插入與它相關(guān)的路由,還需要依據(jù)客戶的意見代理該本地服務(wù)器。諸高速緩存服務(wù)器可以協(xié)同工作基于其本地裝載、在其毗鄰高速緩存器上裝載、附加通信路徑裝載和文檔大眾性通過高速緩存和廢除文檔來為客戶請求提供服務(wù)。高速緩存服務(wù)器還可以實現(xiàn)安全模式和其它文檔傳輸特征。
文檔編號G06F17/30GK1260890SQ98806358
公開日2000年7月19日 申請日期1998年5月15日 優(yōu)先權(quán)日1997年5月22日
發(fā)明者蘇雷曼·A·米爾戴得, 阿黛爾莎拉姆·A·希達(dá)亞, 大衛(wèi)·J·耶特斯 申請人:波士頓大學(xué)理事會