專利名稱:有選擇地接受高速緩存內(nèi)容的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)計算環(huán)境中的內(nèi)容高速緩存,更具體地說,涉及協(xié)商高速緩存內(nèi)容的動態(tài)分配的技術(shù)。
背景技術(shù):
內(nèi)容高速緩存技術(shù)廣泛應(yīng)用于網(wǎng)絡(luò)環(huán)境,如因特網(wǎng)中。圖1中顯示一個網(wǎng)絡(luò)配置示例100。當(dāng)客戶機(jī)101請求來自一個Web/應(yīng)用服務(wù)器(“WAS”),如WAS 109的Web內(nèi)容時,如果該內(nèi)容已經(jīng)存儲在位于發(fā)出請求的客戶機(jī)101附近的高速緩存存儲器(cache store)中,則該內(nèi)容能被更迅速地回送給客戶機(jī)101。例如,在圖1中,來自客戶機(jī)101的請求能在負(fù)載平衡服務(wù)器(“LB”)102,如IBMWebSphereEdge Server處被接收。對于發(fā)出請求的客戶機(jī)不可知地,這一LB服務(wù)器透明地為實(shí)際的Web/應(yīng)用服務(wù)器處理這些請求,該Web/應(yīng)用服務(wù)器位于該Web站點(diǎn)的“后端”。(“IBM”和“WebSphere”是國際商業(yè)機(jī)器公司的注冊商標(biāo))。
如IBM WebSphere Edge Server之類的邊緣服務(wù)器實(shí)際上可提供兩個功能。首先,它可作為負(fù)載平衡服務(wù)器。在這一模式下,邊緣服務(wù)器通過透明地群集邊緣服務(wù)器、Web服務(wù)器和應(yīng)用服務(wù)器,而改善一個Web站點(diǎn)的性能、可擴(kuò)縮性和可用性。(就是說,該邊緣服務(wù)器用作進(jìn)入網(wǎng)絡(luò)的單一入口點(diǎn),從這一點(diǎn)可透明地訪問這些各種服務(wù)器。)LB服務(wù)器還提供站點(diǎn)選擇、工作負(fù)載管理和透明的故障轉(zhuǎn)移。負(fù)載平衡服務(wù)器遍布在網(wǎng)絡(luò)上能提供方便的客戶訪問的位置,從而緩解網(wǎng)絡(luò)擁擠。
邊緣服務(wù)器可實(shí)現(xiàn)的第二個功能是如圖1中的CP107的高速緩存代理(“CP”)服務(wù)器功能。(負(fù)載平衡和高速緩存代理功能作為彼此區(qū)分的兩個實(shí)體102、107顯示在圖1中以突顯它們的功能。在一些情況中,這些功能可組合在單個產(chǎn)品中,如IBM WebSphere Edge Server中。在另一些情況中,這些功能可作為分開的產(chǎn)品來提供)。CP服務(wù)器通過卸下對內(nèi)容(如圖像、靜態(tài)Web頁、動態(tài)Web頁內(nèi)容、視頻流等)的請求,使高速緩存的內(nèi)容能從CP服務(wù)器107直接回送給發(fā)出請求的客戶機(jī)101,而不是請求訪問處在網(wǎng)絡(luò)后端的WAS109,從而改善了客戶響應(yīng)時間。
LB服務(wù)器知道它能從中得到內(nèi)容的高速緩存代理服務(wù)器(例如CP服務(wù)器105、106、107)。例如,當(dāng)LB服務(wù)器102從客戶機(jī)101接收一個內(nèi)容請求時,LB服務(wù)器102將選擇如CP服務(wù)器107的可用CP服務(wù)器之一(使用循環(huán)選擇或其他技術(shù)),并把客戶機(jī)請求轉(zhuǎn)發(fā)給那個CP服務(wù)器。(替代地,LB服務(wù)器可使用重定向通知發(fā)出請求的客戶機(jī),告知該客戶機(jī)應(yīng)直接從選定的CP服務(wù)器請求該內(nèi)容)。
一旦接收了內(nèi)容請求,CP服務(wù)器便檢驗(yàn)它的局部高速緩存。如果在該高速緩存中找到了所請求的內(nèi)容,這稱作“高速緩存命中”,則CP服務(wù)器把那個內(nèi)容返回給請求者(例如由路徑104所示)。
如果所請求的內(nèi)容不在高速緩存中,這稱作“高速緩存未命中”。在這種情況中,該CP服務(wù)器從Web/應(yīng)用服務(wù)器,如WAS109,請求該內(nèi)容。該WAS向該P(yáng)C服務(wù)器返回其內(nèi)容,然后該CP服務(wù)器把該內(nèi)容放到它的局部高速緩存中并把該內(nèi)容返回給發(fā)出請求的客戶機(jī)。
可選地,每個WAS和邊緣服務(wù)器可由Web站點(diǎn)分析工具,如IBMTivoliWebsite Analyzer(“TWA”)進(jìn)行監(jiān)視,該TWA示于圖1中的各種位置。例如,TWA 103被顯示為監(jiān)視LB服務(wù)器102。Website Analyzer知道到達(dá)WAS或邊緣服務(wù)器的所有內(nèi)容請求,并持續(xù)跟蹤這一歷史數(shù)據(jù)。(“Tivoli”是國際商業(yè)機(jī)器公司的注冊商標(biāo))。
普遍使用的另一個軟件是中央數(shù)據(jù)庫存儲工具,如IBM TivoliEnterprise Data Warehouse(“TEDW”),該TEDW示于圖1中的110處。TEDW提供一個集中化的資料庫,在其中能記錄歷史的管理系統(tǒng)數(shù)據(jù)。這樣,TWA可把它收集的信息轉(zhuǎn)發(fā)給TEDW供記錄。
保持這一Web基礎(chǔ)結(jié)構(gòu)按它應(yīng)該的那樣工作的一項(xiàng)常見任務(wù)是向CP服務(wù)器分配內(nèi)容。當(dāng)前,這一任務(wù)由以下兩種技術(shù)之一完成在高速緩存未命中(如上所述)時,分配內(nèi)容以響應(yīng)一特定客戶機(jī)請求,或者系統(tǒng)管理員人工向CP服務(wù)器分配內(nèi)容(通常通過審查過去的內(nèi)容請求報告)。
在高速緩存未命中的情況中,CP服務(wù)器的局部高速緩存被始終更新,即使當(dāng)這并不是最佳的時候。例如,當(dāng)對于很少被請求的一段內(nèi)容發(fā)生高速緩存未命中時,即使該段內(nèi)容不大可能再次被請求,該CP服務(wù)器的局部高速緩存也將被更新。這是對稀有資源的浪費(fèi)。
如果當(dāng)這一很少被請求的內(nèi)容被高速緩存時該CP服務(wù)器的高速緩存已經(jīng)是滿的,則造成甚至更多的問題。高速緩存未命中的內(nèi)容將需要去替換已經(jīng)被高速緩存的內(nèi)容。于是可能需要復(fù)雜的和計算量大的算法來確定哪些先前被高速緩存的內(nèi)容應(yīng)被替換。當(dāng)高速緩存未命中的內(nèi)容是很少被請求的內(nèi)容時,這些計算也是浪費(fèi)的開銷。再有,如果被替換掉的內(nèi)容隨后被請求,則它會造成它自己的高速緩存未命中,該高速緩存未命中將消耗額外的資源。
在系統(tǒng)管理員人工分配內(nèi)容的情況中,在管理員做出決定的過程中可以使用由歷史數(shù)據(jù)產(chǎn)生的報告,這些歷史數(shù)據(jù)是由TWA收集的并由TEDW存儲的。然而,這項(xiàng)確定哪些內(nèi)容要分配以及應(yīng)分配到何處的任務(wù)是永無止境的工作。當(dāng)由管理員選定一個可能的CP服務(wù)器時,該管理員還得查看哪些內(nèi)容已經(jīng)被該CP服務(wù)器提供,以確定這新內(nèi)容的優(yōu)先級是否高于已提供的內(nèi)容。即使在比較簡單的環(huán)境中,這也是一項(xiàng)不小的任務(wù),并且在具有數(shù)百個服務(wù)器和無數(shù)段內(nèi)容的企業(yè)Web基礎(chǔ)設(shè)施中,這一任務(wù)會變成壓倒一切的任務(wù)。
因此,需要改進(jìn)對高速緩存代理服務(wù)器的內(nèi)容分配。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供對高速緩存代理服務(wù)器進(jìn)行內(nèi)容分配的改進(jìn)措施。
本發(fā)明的另一目的是提供協(xié)商高速緩存內(nèi)容的動態(tài)分配的技術(shù)。
本發(fā)明的再一目的是在高速緩存代理服務(wù)器有選擇地接受供高速緩存的內(nèi)容。
本發(fā)明的又一個目的是基于內(nèi)容優(yōu)先級的評估有選擇地接受供高速緩存的內(nèi)容。
本發(fā)明的又一個目的是在高速緩存未命中時在高速緩存代理服務(wù)器有選擇地高速緩存內(nèi)容。
本發(fā)明的其他目的和優(yōu)點(diǎn)將部分地在下面的描述和附圖中提出,部分地將從描述中看出,或可以從本發(fā)明的實(shí)踐中得知。
為實(shí)現(xiàn)上述目的,并根據(jù)這里概要描述的本發(fā)明的目的,在第一方面,本發(fā)明提供協(xié)商地動態(tài)分配高速緩存內(nèi)容的技術(shù)。優(yōu)選地,這包括選擇供分配給高速緩存存儲器的候選內(nèi)容,并向該高速緩存存儲器發(fā)送一描述該候選內(nèi)容的請求消息。優(yōu)選地,這一方面進(jìn)一步包括只有當(dāng)從所述高速緩存存儲器接收的響應(yīng)消息指示該高速緩存存儲器接受該候選內(nèi)容時才將該候選內(nèi)容分配給該高速緩存存儲器。發(fā)送給所述高速緩存存儲器的請求消息可使用諸如候選內(nèi)容的大小、類型、安全類別、和/或命中率等信息來描述該候選內(nèi)容??蛇x地,該請求消息可發(fā)送給多個高速緩存存儲器。作為又一可選項(xiàng),當(dāng)對原始請求的響應(yīng)消息指示該原始的高速緩存存儲器拒絕該候選內(nèi)容時,可以選擇一替代的高速緩存存儲器。作為又一可選項(xiàng),該候選內(nèi)容可包含作為一個單元被分配的多個文件。
在第二方面,本發(fā)明提供有選擇地接受供高速緩存的內(nèi)容以響應(yīng)協(xié)商請求的技術(shù)。優(yōu)選地,這包括在高速緩存存儲器接收一請求消息,該請求消息詢問該高速緩存存儲器是否將接受供高速緩存的特定內(nèi)容;響應(yīng)接收到該請求消息,決定該高速緩存存儲器是否將接受或拒絕該特定內(nèi)容;以及從該高速緩存存儲器發(fā)送對該請求消息的響應(yīng),其中該響應(yīng)指示該高速緩存存儲器的決定。優(yōu)選地,這一方面進(jìn)一步包括只有當(dāng)該響應(yīng)指示該高速緩存存儲器的決定是接受該特定內(nèi)容時,才隨后在該高速緩存存儲器接收該特定內(nèi)容。
對是否接受或拒絕該特定內(nèi)容的決定可根據(jù)所述請求消息中說明的該內(nèi)容描述??蓪υ搩?nèi)容的命中率進(jìn)行估計,并且如果它的命中率高于已被高速緩存的內(nèi)容的命中率,則該內(nèi)容可被接受。另外地或替代地,可以考慮該高速緩存存儲器的資源??蓪⒃撎囟▋?nèi)容所關(guān)聯(lián)的內(nèi)容優(yōu)先級與已被高速緩存的內(nèi)容所關(guān)聯(lián)的優(yōu)先級進(jìn)行比較。
在第三方面,本發(fā)明提供當(dāng)發(fā)生高速緩存未命中時有選擇地高速緩存內(nèi)容的技術(shù)。優(yōu)選地,這包括響應(yīng)一個高速緩存未命中,在高速緩存存儲器處接收對其發(fā)生了高速緩存未命中的內(nèi)容;響應(yīng)所述接收步驟,決定所接收的內(nèi)容是否應(yīng)被高速緩存在該高速緩存存儲器,并且只有當(dāng)是應(yīng)被高速緩存時才對該內(nèi)容進(jìn)行高速緩存;以及不管所述關(guān)于進(jìn)行高速緩存的決定如何,都將所接收的內(nèi)容從該高速緩存存儲器回送給曾發(fā)送過引起該高速緩存未命中的請求的客戶機(jī)??赏ㄟ^估算與該內(nèi)容相關(guān)聯(lián)的命中率并確定該高速緩存存儲器是否可有利地存儲具有那個命中率的內(nèi)容,或確定與該內(nèi)容相關(guān)聯(lián)的命中率是否高于與已由該高速緩存存儲器高速緩存內(nèi)容相關(guān)聯(lián)的命中率(而且如果是這樣則決定接受該內(nèi)容),由此做出決定。與該內(nèi)容相關(guān)聯(lián)的內(nèi)容優(yōu)先級可與已經(jīng)被高速緩存在該高速緩存存儲器的內(nèi)容相關(guān)聯(lián)的優(yōu)先級進(jìn)行比較。
在另一方面,本發(fā)明提供一種商務(wù)方法,如將在這里描述的那樣。
現(xiàn)在將參考下列附圖描述本發(fā)明,在各個圖中相同的標(biāo)號代表相同的部件。
圖1顯示先有技術(shù)的Web基礎(chǔ)設(shè)施;圖2提供一個流程圖,該流程圖顯示根據(jù)本發(fā)明優(yōu)選實(shí)施例的一個邏輯,利用該邏輯來協(xié)商內(nèi)容的動態(tài)分配;圖3和圖5顯示在這里公開的協(xié)商過程中可分別用于內(nèi)容分配請求消息和響應(yīng)消息的示例格式和語法;
圖4提供一個流程圖,該流程圖顯示根據(jù)優(yōu)選實(shí)施例的邏輯,該邏輯可用于在高速緩存代理服務(wù)器處在內(nèi)容分配協(xié)商過程中確定如何進(jìn)行響應(yīng);以及圖6提供一個流程圖,該流程圖顯示一個邏輯,該邏輯可用于在高速緩存代理服務(wù)器處當(dāng)發(fā)生高速緩存未命中時有選擇地高速緩存內(nèi)容。
具體實(shí)施例方式
本發(fā)明公開了改進(jìn)的用于高速緩存內(nèi)容的技術(shù)。優(yōu)選實(shí)施例把在其中內(nèi)容被高速緩存(可能的)的高速緩存存儲器稱作高速緩存代理服務(wù)器。在一個方面,在動態(tài)分配供高速緩存的內(nèi)容之前發(fā)生協(xié)商。在另一方面,在這些協(xié)商過程中接收內(nèi)容分配請求的CP服務(wù)器確定如何響應(yīng)該請求。在又一方面,在高速緩存未命中處理過程中,CP服務(wù)器有選擇地確定是否要高速緩存內(nèi)容。
根據(jù)所述第一方面的優(yōu)選實(shí)施例,WAS根據(jù)歷史的度量動態(tài)地對內(nèi)容確定優(yōu)先級以便在CP服務(wù)器上布置內(nèi)容。一個內(nèi)容分配請求被創(chuàng)建并被發(fā)送給一個或多個選定的CP服務(wù)。根據(jù)第二方面,接收這一請求的每個CP服務(wù)器確定它對該分配請求的響應(yīng)。在這第二方面的優(yōu)選實(shí)施例中,當(dāng)為是否接受內(nèi)容供高速緩存做出決定時,已被高速緩存的內(nèi)容優(yōu)先級與由內(nèi)容分配請求描述的內(nèi)容的優(yōu)先級進(jìn)行比較。根據(jù)第三方面的優(yōu)選實(shí)施例,在高速緩存未命中時已經(jīng)被高速緩存的內(nèi)容的優(yōu)先級與被傳遞給該CP服務(wù)器的內(nèi)容的優(yōu)先級進(jìn)行比較,并根據(jù)內(nèi)容優(yōu)先級的比較結(jié)果有選擇地高速緩存高速緩存未命中內(nèi)容。
現(xiàn)在將參考圖2至圖6,更詳細(xì)地描述優(yōu)選實(shí)施例。
在所述第一方面,選擇向CP服務(wù)器分配的內(nèi)容。優(yōu)選地,由在WAS(如在圖1的部件109處放置的IBM WebSphere應(yīng)用服務(wù)器)上運(yùn)行的代碼進(jìn)行這一選擇?;蛘?,WAS可從另一個運(yùn)行內(nèi)容選擇代碼的地方調(diào)用這一功能。優(yōu)選地,通過檢查歷史訪問數(shù)據(jù)來做出內(nèi)容選擇,這些歷史訪問數(shù)據(jù)反映了在有代表性的時間段(該時間段是可配置的)上對該內(nèi)容的運(yùn)行時請求。這些歷史訪問數(shù)據(jù)可存儲在資料庫中或數(shù)據(jù)管理工具中,如IBM Tivoli Enterprise Data Warehouse 110。
圖2的塊200代表對歷史數(shù)據(jù)的這一評估或分析。優(yōu)選地,諸如在某一時間段上的內(nèi)容請求率或“命中率”等度量被用于確定指定的一段內(nèi)容是否為要分配給一CP服務(wù)器(如圖1中的CP服務(wù)器107)的候選內(nèi)容。
一旦識別出作為供分配的候選者的內(nèi)容(塊205),便開始動態(tài)分配協(xié)商。在塊210,WAS通過循環(huán)或其他適當(dāng)技術(shù)選擇可能提供那段內(nèi)容的CP服務(wù)器?;蛘撸绻枰?,可選擇多個CP服務(wù)器一個內(nèi)容分配請求消息被格式化(塊215)供呈遞給每個這樣的服務(wù)器。在優(yōu)選實(shí)施例中,這一請求消息含有將關(guān)于該條指定內(nèi)容的若干詳細(xì)情況(關(guān)于內(nèi)容分配請求消息的更多信息,請參考下面對圖3的討論)。
該內(nèi)容分配請求被發(fā)送給目標(biāo)(塊220)并在其后接收一個響應(yīng)(塊225)。然后,塊230檢測該響應(yīng)消息是否指示該目標(biāo)將接受這一內(nèi)容供高速緩存。(下文描述的圖4提供一個特定的CP服務(wù)器怎樣可以得出在其響應(yīng)中反映的決定的更多消息)。如果在塊230中的檢測具有肯定的結(jié)果,則在塊235繼續(xù)處理,在其中WAS向目標(biāo)CP服務(wù)器發(fā)送該內(nèi)容供高速緩存。然后,圖2的處理結(jié)束。
另一方面,當(dāng)在塊230中的檢測具有否定的結(jié)果時,可進(jìn)行可選的處理以確定是否存在可向其分配該候選內(nèi)容的另一個CP服務(wù)器。塊240-245代表這一可選的處理。在塊240,進(jìn)行一個檢測以確定是否再次嘗試該協(xié)商。如果否,則圖2的處理結(jié)束。否則,選擇一個新的目標(biāo)CP服務(wù)器(塊245),在此之后控制返回到塊220以向那個新的目標(biāo)發(fā)送該內(nèi)容分配請求并等待它的響應(yīng)。
請注意,在圖2中的可選處理路徑重新使用先前被格式化的內(nèi)容分配請求消息(即在塊215創(chuàng)建的請求)?;蛘撸赡芟M麆?chuàng)建一個新的請求消息。例如,可能發(fā)生這樣的情況,即一個新的請求消息的創(chuàng)建使WAS能更好地跟蹤內(nèi)容分配請求和候選內(nèi)容的最終放置之間的關(guān)系。優(yōu)選地,如果要創(chuàng)建一個新的請求,則在塊245的處理完成之后控制返回到塊215而不是塊220。作為又一個可選作法,在塊240的肯定結(jié)果之后處理可返回到塊210。
可以以各種方式觸發(fā)圖2中的處理。作為一個例子,可以監(jiān)視網(wǎng)絡(luò)狀況,而選定的狀況的出現(xiàn)(如高速緩存未命中率超過一個被設(shè)定的閾值)可作為觸發(fā)條件。作為另一個例子,一個時間驅(qū)動方案可作為觸發(fā)條件,從而使圖2所示邏輯的操作以周期性間隔或在指定時刻發(fā)生。
現(xiàn)在參考圖3,圖中顯示使用示例格式和語法的一個內(nèi)容分配請求消息。如前文指出的那樣,這一請求消息含有關(guān)于作為分配的候選者的一段指定內(nèi)容的詳細(xì)情況。這些詳細(xì)情況在這里被稱作“內(nèi)容描述符”。優(yōu)選地,使用一種結(jié)構(gòu)化標(biāo)記語言以對所述內(nèi)容描述符進(jìn)行編碼。舉例來說,在圖3中的語法示例使用可擴(kuò)展標(biāo)記語言(“XML”)。
根據(jù)優(yōu)選實(shí)施例,該內(nèi)容描述符使用諸如下列的信息描述可被分配的內(nèi)容(1)該內(nèi)容的大?。?2)在某一時間段內(nèi)WAS接收對這一內(nèi)容的請求的次數(shù);(3)與該內(nèi)容關(guān)聯(lián)的安全級別;和/或(4)與該內(nèi)容關(guān)聯(lián)的內(nèi)容類型。此外,優(yōu)選地,在每個內(nèi)容描述符中包含一個內(nèi)容標(biāo)識符,供其后由WAS使用以使一個外出分配請求與一個進(jìn)入的響應(yīng)相匹配。(例如,當(dāng)控制到達(dá)圖2的塊235時,內(nèi)容標(biāo)識符使WAS能有效地定位已在一個目標(biāo)CP服務(wù)器處被接受供高速緩存的內(nèi)容)。
參考上文列出的項(xiàng)(2),不去考慮由正在請求動態(tài)內(nèi)容分配的WAS所接收的請求次數(shù),該WAS可以替代地考慮與該網(wǎng)絡(luò)基礎(chǔ)設(shè)施中一個或多個其他實(shí)體有關(guān)的請求度量。例如,一個特定WAS可考慮由一邊緣服務(wù)器接收的請求和/或由一個不同的WAS接收的請求(或由多個邊緣服務(wù)器和/或多個Web/應(yīng)用服務(wù)器接收的請求)的次數(shù)。一種考慮這樣的實(shí)體的對內(nèi)容分配的強(qiáng)占方法可進(jìn)一步改進(jìn)對資源的使用。通過在內(nèi)容選擇過程中適當(dāng)?shù)厥褂枚攘?,WAS能主動地向網(wǎng)絡(luò)中的一個或多個高速緩存位置分配內(nèi)容,以改善諸如對客戶機(jī)的網(wǎng)絡(luò)響應(yīng)時間、處理負(fù)荷的分配等因素。
如圖3的實(shí)例中所示,內(nèi)容描述符300被編碼在一個元素中,該元素(為了說明的目的)被命名為“CacheDistributionContentRequest(高速緩存分配內(nèi)容請求)”,見標(biāo)號301,在這個例子中,這一元素的屬性320被用于指定內(nèi)容標(biāo)識符。在圖3的示例語法中使用一個子元素用于對內(nèi)容大小、命中率、安全級別和內(nèi)容類型進(jìn)行編碼?,F(xiàn)在將更詳細(xì)地描述這些。
優(yōu)選地,“Size(大小)”元素310使用一個在這里被表示為“unit(單位)”的屬性,以指定與這一元素的值有關(guān)的度量單位。在該例子中,候選內(nèi)容的大小是25.4MB。優(yōu)選地,“HitRate(命中率)”元素320也使用一個屬性,在這里被表示為“unit(單位)”,以指定由該元素的值所代表的時間段。在該例子中,該候選內(nèi)容的命中率是每小時3500命中數(shù)。
如果該候選內(nèi)容有與之關(guān)聯(lián)的安全級別,這可用一個元素,如“SecurityLevel(安全級別)”330來指示。圖3中所示示例值是“classified(機(jī)密的)”。與該候選內(nèi)容關(guān)聯(lián)的內(nèi)容類型可用一個元素,如“ContentType(內(nèi)容類型)”340來指定,且在該例中,這一元素的值示為“AVI”(即以“音頻/視頻交錯”格式的內(nèi)容)。
WAS可能不了解目標(biāo)CP服務(wù)器的資源。例如,WAS可能不知道目標(biāo)CP服務(wù)器在其高速緩存中是否有可用容量供存儲候選內(nèi)容或它能否適當(dāng)?shù)乇Wo(hù)機(jī)密的內(nèi)容(包括該CP服務(wù)器能否使用安全訪問方法提供內(nèi)容服務(wù))。再有,在一些情況中,單個計算機(jī)容納不只一個CP服務(wù)器(如圖1中的計算機(jī)108所示),在這種情況下,所容納的CP服務(wù)器共享諸如存儲器、存儲器和網(wǎng)絡(luò)連接等資源。這些CP服務(wù)器競爭共享資源,這使得一個WAS在一個時間點(diǎn)跟蹤這些CP服務(wù)器可用的資源是不現(xiàn)實(shí)的。所以,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,是由目標(biāo)CP服務(wù)器做出關(guān)于它是否能夠和應(yīng)該接受該WAS提議分配供高速緩存的候選內(nèi)容的智能性決定。現(xiàn)在將參考圖4更詳細(xì)地描述可做出這一決定的方式。
在圖4的塊400,一個CP服務(wù)器接收一個內(nèi)容分配請求消息。優(yōu)選地,這一消息包含一個傳遞如上文參考圖3描述的信息的內(nèi)容描述符。在優(yōu)選實(shí)施例中,然后在該CP服務(wù)器進(jìn)行檢測(塊405)以確定這一CP服務(wù)器是否能從它的高速緩存提供這一內(nèi)容。優(yōu)選地,來自內(nèi)容描述符的信息連同諸如該CP服務(wù)器的當(dāng)前可用資源等信息被用于做出這一決定。
可由CP服務(wù)器使用以確定它是否能夠和應(yīng)該接受供高速緩存的內(nèi)容的因素包括下列中的一個或多個(1)歷史的度量(例如其可以存儲在如圖1中的TEDW110之類的資料庫中),包括與這一CP服務(wù)器在其高速緩存中已有的其他內(nèi)容有關(guān)的度量)(2)這一CP服務(wù)器是否能高速緩存和/或提供安全內(nèi)容(3)在這一CP服務(wù)器上是否存在足夠盤空間供保存該內(nèi)容(4)該CP服務(wù)器是否能提供該類型的內(nèi)容(5)這一CP服務(wù)器的可靠性(6)這一CP服務(wù)器的處理器能力(7)在這一CP服務(wù)器上的當(dāng)前處理器負(fù)荷(8)在這一CP服務(wù)器上的網(wǎng)絡(luò)能力參考上文列出的項(xiàng)(4),例如,可能發(fā)生這樣的情況,該候選內(nèi)容是一個Enterprise Java BeanTM(“EJBTM”)。如果該CP服務(wù)器不運(yùn)行一個EJB服務(wù)器,則它不能向請求者提供EJB,所以接受該EJB供高速緩存是無意義的。或者,一個CP服務(wù)器可能由于性能的原因不能提供該內(nèi)容。例如,能提供EJB的CP服務(wù)器可能有一個被設(shè)定的從其高速緩存可提供的所允許的EJB的最大個數(shù),且可能已經(jīng)達(dá)到了這一最大個數(shù)。如果另一個有較低命中率的EJB被高速緩存,則性能可能會降低到其適當(dāng)性能之下。(“Enterprise Java Bean”和“EJB”是Sun Microsystems公司的注冊商標(biāo))。
如上文討論的那樣,在現(xiàn)有技術(shù)中管理員決定哪個內(nèi)容最適于分配到一個CP服務(wù)器,然后人工引發(fā)那個內(nèi)容被分配。為決定哪個內(nèi)容要分配,管理員通常(除了其他事情外)要查看關(guān)于哪個內(nèi)容最適合的報告。然后,管理員需要尋找具有某些特性的CP服務(wù)器。這些特性可包括如在上文中列出的那些因素。然而,因?yàn)檫@些因素中有許多是動態(tài)變化的(如在CP服務(wù)器上的當(dāng)前可用盤空間量),所以管理員所面對的是一項(xiàng)困難的并且易犯錯誤的決策任務(wù)。本發(fā)明的技術(shù)自動完成這些決策,在優(yōu)選實(shí)施例中,一個WAS最初提出供分配的內(nèi)容,然后由目標(biāo)CP服務(wù)器做最后決定。這一方案使得能使用最新的和準(zhǔn)確的信息做出決定。
應(yīng)當(dāng)指出,盡管在現(xiàn)有技術(shù)中當(dāng)使用諸如TWA等工具監(jiān)視LB服務(wù)器、CP服務(wù)器或WAS的操作時收集的信息被存儲在數(shù)據(jù)倉庫,如TEDW中,但現(xiàn)有技術(shù)未教導(dǎo)使用所存儲的信息做出這里所描述的那類內(nèi)容高速緩存決定。
再回到圖4的討論,如果在塊405,CP服務(wù)器確定它不能提供該候選內(nèi)容,則控制轉(zhuǎn)到塊420,在那里設(shè)置一個指示拒絕的響應(yīng)消息。(下文中參考圖5更詳細(xì)地描述優(yōu)選實(shí)施例的響應(yīng)消息)。另一方面,如果這一CP服務(wù)器能提供這一內(nèi)容,則處理在塊410繼續(xù)。
塊410和415代表關(guān)于該CP服務(wù)器是否能夠和應(yīng)該接受該候選內(nèi)容的決定的一類細(xì)化。它們從塊405被分開表示,以強(qiáng)調(diào)當(dāng)確定是否接受內(nèi)容供高速緩存時由優(yōu)選實(shí)施例考慮的因素可包括內(nèi)容優(yōu)先級。塊410檢測在高速緩存中是否有足夠空間供添加這個候選內(nèi)容。(認(rèn)識到可用高速緩存空間可能快速波動,所以塊410可使用一個容差因子,而不是對內(nèi)容大小和當(dāng)前可用空間進(jìn)行嚴(yán)格的比較來實(shí)現(xiàn)。)如果塊410中的檢測具有肯定的結(jié)果,則在塊425繼續(xù)處理,塊425在下文中描述。否則,對于是否應(yīng)以候選內(nèi)容代替已高速緩存的內(nèi)容,必須做出決定,并且這一決定由塊415來表示。
優(yōu)選地,在塊415做出的決定使用歷史的度量,如上文中參考塊405進(jìn)行的討論中列出的項(xiàng)(1)注明的那些度量。例如,可由該CP服務(wù)器評估能從中確定候選內(nèi)容的歷史流行性或優(yōu)先級的度量和/或能被用于預(yù)測那個內(nèi)容的預(yù)期流行性或優(yōu)先級的度量。(或者,該CP服務(wù)器可調(diào)用由另一部件,如度量評估器部件,為此目的所提供的功能。這樣的部件可與該CP服務(wù)器共處一個位置,或者可從另一個位置訪問它,包括經(jīng)由網(wǎng)絡(luò)連接發(fā)送一個請求消息以向該度量評估器部件提供在其計算中使用的信息。)應(yīng)該指出,盡管本發(fā)明的第二方面使用如參考塊405-415描述的那些因素來確定是否接受或拒絕該候選內(nèi)容,但第一方面的實(shí)現(xiàn)可與這第二方面分開提供,并且在這一實(shí)現(xiàn)中由CP服務(wù)器做出的接受/拒絕決定可以是基于其他因素的。例如,為此目的可使用現(xiàn)有技術(shù)的內(nèi)容替換算法,如最不常用(“LFU”)算法或最近最少使用(“LRU”)算法或其他時效算法。
如果在塊415執(zhí)行的評估指示不存在適于由該候選內(nèi)容取代的已被高速緩存的內(nèi)容,則如前文討論的那樣,在塊420創(chuàng)建一個拒絕消息。否則,優(yōu)選地,該第二方面的優(yōu)選實(shí)施例記憶哪個內(nèi)容被認(rèn)為是可替代的(塊430),此后處理在塊425繼續(xù)。
塊425設(shè)置一個響應(yīng)消息,該響應(yīng)消息表示接受對動態(tài)分配內(nèi)容的請求。塊430向發(fā)出請求的WAS發(fā)送在塊425產(chǎn)生的接受響應(yīng)或在塊420產(chǎn)生的拒絕響應(yīng),此后由CP服務(wù)器對當(dāng)前請求消息的處理結(jié)束。
圖5描述在塊435中發(fā)送的響應(yīng)消息的示例格式和語法。如圖中所示,優(yōu)選地,該響應(yīng)以標(biāo)記語言編碼,如已參考圖3中的請求消息討論的那樣。在這種情況下,為說明的目的被命名為“CacheDistributionContentResponse(高速緩存分配內(nèi)容響應(yīng))”的元素501,被用于對響應(yīng)500進(jìn)行編碼。優(yōu)選地,這一元素的屬性502指定與在請求消息上接收的內(nèi)容標(biāo)識符值相同的內(nèi)容標(biāo)識符值。(見圖3的元素302)。以這種方式,WAS可有效地確定它應(yīng)向接受CP服務(wù)器分配哪個內(nèi)容。
在圖5的示例語法中使用一子元素對接收的/拒絕的指示進(jìn)行編碼,在該例中,這一子元素被命名為“Reply(回答)”510,并有一個“value(值)”屬性,利用該屬性來指定接收的/拒絕的指示。如該例中所示,當(dāng)這一屬性的值指示一個拒絕時,可選地,其它子元素可被用于指定一個或多個說明該拒絕的理由的代碼。例如,可使用如“Reason Code(理由代碼)”520的子元素提供數(shù)值代碼,和/或可以使用如“Description(說明)”530的子元素來提供文字說明。在該例中,所示CP服務(wù)器已拒絕該候選內(nèi)容,因?yàn)檫@一CP服務(wù)器不能提供機(jī)密文檔。
如上文參考圖2的塊240和245說明的那樣,WAS在接收到一個拒絕響應(yīng)時可嘗試聯(lián)系一個不同的CP服務(wù)器。
一旦該WAS接收一個具有接受指示的響應(yīng)消息,它便把被接受的內(nèi)容發(fā)送給該CP服務(wù)器,如上文參考圖2的塊235所述。當(dāng)該CP服務(wù)器接收那個內(nèi)容時(或替代地,在進(jìn)行圖4的塊415和430的處理期間),該CP服務(wù)器必須決定將該內(nèi)容放在何處。此外,還可對其后怎樣將該內(nèi)容提供給請求者做出決定。優(yōu)選地,使用先前討論過的歷史度量,并通過將該新的內(nèi)容和在這一CP服務(wù)器先前被高速緩存的內(nèi)容進(jìn)行比較,可對該新內(nèi)容制定優(yōu)先級。這一優(yōu)先級可由該CP服務(wù)器使用以確定資源的最佳分配,如下列考慮中的一個或多個(1)該內(nèi)容應(yīng)放在哪個盤上(例如,是否應(yīng)選擇最快的盤或最慢的盤等);(2)該內(nèi)容是否應(yīng)駐留在存儲器中;或(3)是否存在與該新內(nèi)容有關(guān)的其他內(nèi)容,并且如果存在,則那相關(guān)的內(nèi)容能否被預(yù)取以改進(jìn)效率。
在一個可選的增強(qiáng)措施中,通過對內(nèi)容分組能進(jìn)一步擴(kuò)展內(nèi)容優(yōu)先級劃分,這一被分組的內(nèi)容在這里被稱作“內(nèi)容束(content bundle)”。優(yōu)選地,這些束包含相關(guān)聯(lián)的文件,這些文件(1)通常由客戶機(jī)一起下載;(2)具有最高的命中率;和/或(3)是基于地區(qū)的(locale-based)。作為第一種情境的例子,假定文檔“A”是一個網(wǎng)頁,該網(wǎng)頁引用嵌入的圖像文件“B”和“C”。這些文件A、B和C可以被捆綁在一起并作為將對其做出高速緩存決定的單個單元(而且,可選地,作為要被高速緩存的單個單元),以改進(jìn)效率。作為第二種情境的例子,使用上文描述的協(xié)商技術(shù),可請求一個CP服務(wù)器對于一組被頻繁請求的文檔(即使那些文檔是彼此無關(guān)的)做出高速緩存決定。作為第三種情境的例子,歷史度量可以指示特定邊緣服務(wù)器的客戶機(jī)傾向于請求某內(nèi)容(或某類內(nèi)容)。WAS可使用這一信息主動地請求CP服務(wù)器決定是否高速緩存那個內(nèi)容,有效地請求該CP服務(wù)器預(yù)先加載它的高速緩存以嘗試減少高速緩存未命中(這又將改進(jìn)效率)。
現(xiàn)在參考圖6,圖中提供一個流程圖,該流程圖說明根據(jù)本發(fā)明的第三方面可用在一個高速緩存代理服務(wù)器的一個邏輯,用于在處理高速緩存未命中時有選擇地高速緩存內(nèi)容。如先前已描述的那樣,當(dāng)在現(xiàn)有技術(shù)中發(fā)生高速緩存未命中時,該內(nèi)容被遞送給該CP服務(wù)器供遞送給發(fā)出請求的客戶機(jī),并且該CP服務(wù)器還將那個內(nèi)容存儲在本地高速緩存中。如果較高命中率的內(nèi)容被從本地高速緩存淘汰,以給新增加的低命中率的內(nèi)容騰出空間,這可能是低效率的。另一方面,使用本發(fā)明的技術(shù),一個CP服務(wù)器有選擇地決定它是否應(yīng)該高速緩存該高速緩存未命中的內(nèi)容或是否那個內(nèi)容只是應(yīng)回送給請求者而不被高速緩存。
在塊600,在CP服務(wù)器接收一個客戶機(jī)的內(nèi)容請求。塊605檢測所請求的內(nèi)容是否已經(jīng)可從本地高速緩存得到。如果是,則如現(xiàn)有技術(shù)那樣將該內(nèi)容提供(塊610)給該客戶機(jī),并且圖6的處理結(jié)束。否則,從該CP服務(wù)器向一個WAS發(fā)出對該內(nèi)容的請求(塊615)。一旦接收到所請求的內(nèi)容(塊620),該CP服務(wù)器(或從該CP服務(wù)器處調(diào)用的一個評估器部件,如參考塊415描述的那樣)評估度量(塊625)以確定將這一內(nèi)容存儲在本地高速緩存中是否有利。為此目的,可以利用與過去的客戶機(jī)請求有關(guān)的歷史度量。補(bǔ)充地或替代地,關(guān)于該CP服務(wù)器資源的信息(如前文已討論的那樣)可用于這一目的。于是該CP服務(wù)器對于它是否將把這一新獲取的內(nèi)容保存在其本地高速緩存中(塊635)或只是把那個內(nèi)容回送給該客戶機(jī)(塊640)而不高速緩存該內(nèi)容做出明智的決定(塊630)。然后,對于這一客戶機(jī)請求,圖6的處理結(jié)束。
如已描述的那樣,本發(fā)明提供對現(xiàn)有技術(shù)的內(nèi)容高速緩存技術(shù)的若干改進(jìn)。這里描述的三個方面可分開實(shí)現(xiàn),或以各種組合實(shí)現(xiàn)。在一些情況中,這里描述的功能可在替代位置進(jìn)行操作,所以優(yōu)選實(shí)施例的描述將被認(rèn)為是說明性的而不是限定性的。例如,盡管圖2是參考一個Web/應(yīng)用服務(wù)器來描述的,但這一功能可代之由一個不同的實(shí)體,如內(nèi)容分配服務(wù)器或其他內(nèi)容源來實(shí)現(xiàn)。這里公開的技術(shù)可以有利地應(yīng)用于若干不同類型的分布式計算環(huán)境中,因此,已參考Web服務(wù)器描述的優(yōu)選實(shí)施例是作為示例而不是作為限制。盡管這里把作為可能的內(nèi)容高速緩存位置的高速緩存存儲器稱作CP服務(wù)器,但這只是為了說明的目的而不是限制。
被共同轉(zhuǎn)讓的美國專利申請09/670,753“基于用戶的有選擇的高速緩存內(nèi)容替換技術(shù)(User-Based Selective Cache Content ReplacementTechnique)”(2000年9月27日提交)公開了用于有選擇性地替換高速緩存內(nèi)容(包括但不限于已被高速緩存的動態(tài)產(chǎn)生的網(wǎng)頁)以向特定用戶或用戶組提供更高級別服務(wù)的技術(shù)。這個被共同轉(zhuǎn)讓的發(fā)明沒有公開說明對動態(tài)內(nèi)容分配使用協(xié)商或請求(這些由本發(fā)明公開說明),它也沒有討論使用歷史度量或其他因素對這些請求做出響應(yīng)。再有,它沒有公開說明在高速緩存未命中的情況下有選擇地確定是否高速緩存該內(nèi)容,這已在這里被公開說明。
這里公開的技術(shù)還可以例如通過為用戶提供改進(jìn)的高速緩存內(nèi)容管理而有利地用于從事商務(wù)的方法中。作為如何能這樣提供的一個實(shí)例,可以提供一種服務(wù),該服務(wù)(1)評估什么內(nèi)容可能被主動地分配給一個或多個CP服務(wù)器并向那些CP服務(wù)器發(fā)送內(nèi)容分配請求,和/或(2)向接收內(nèi)容分配請求的CP服務(wù)器提供對一些因素的評估,以確定接受該候選內(nèi)容供高速緩存對那個CP服務(wù)器是否有利。通常,將對進(jìn)行這些評估收取費(fèi)用。為這一改進(jìn)的高速緩存內(nèi)容管理的費(fèi)用可在各種收益模式下進(jìn)行收取,如按每次使用收費(fèi),按月或其他定期收費(fèi)等。
如本領(lǐng)域技術(shù)人員將理解的那樣,本發(fā)明的實(shí)施例可作為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品來提供。因此,本發(fā)明可采取完全硬件實(shí)施例、完全軟件實(shí)施例或把軟件方面和硬件方面組合的實(shí)施例的形式。再有,本發(fā)明可采取計算機(jī)程序產(chǎn)品的形式,該計算機(jī)程序產(chǎn)品實(shí)現(xiàn)于一個或多個計算機(jī)可讀介質(zhì)(包括但不限于盤存儲器、CD-ROM、光存儲器等)上,在這些介質(zhì)中嵌入計算機(jī)可讀的程序代碼或指令。
已參考流程圖和/或方框圖描述了本發(fā)明,這些流程圖和/或方框圖可用在根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品中。將會理解,這些流程圖和/或方框圖中的每一塊及這些流程圖和/或方框圖中塊的組合能由計算機(jī)程序指令來實(shí)現(xiàn)。這些計算機(jī)程序指令可以存儲在一個或多個計算機(jī)可讀介質(zhì)上,它們可提供給通用計算機(jī)的處理器、專用計算機(jī)、嵌入式處理器或其他可編程數(shù)據(jù)處理裝置,以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的這些指令創(chuàng)建計算機(jī)可讀的程序代碼單元,該單元用于實(shí)現(xiàn)在這些流程圖和/或方框圖的一個或一些塊中指定的功能。
這些計算機(jī)程序指令還可以存儲在一個計算機(jī)可讀存儲器中,它能指揮一個計算機(jī)或其他可編程數(shù)據(jù)處理裝置以特定方式工作,以使得存儲在計算機(jī)可讀存儲器中的這些指令產(chǎn)生一個包括實(shí)現(xiàn)在這些流程圖和/或方框圖的一個或一些塊中指定的功能的指令單元的制造物品。
這些計算機(jī)程序指令還可以加載到計算機(jī)或其他可編程數(shù)據(jù)處理裝置上,以使在該計算機(jī)或其他可編程裝置上執(zhí)行一系列操作步驟,以產(chǎn)生一個由計算機(jī)實(shí)現(xiàn)的過程,從而在該計算機(jī)或其他可編程裝置上執(zhí)行的指令提供實(shí)現(xiàn)在該流程圖和/或方框圖的一個塊或一些塊中指定的功能。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,對于獲悉了本發(fā)明的基本構(gòu)思的本領(lǐng)域技術(shù)人員而言,在那些實(shí)施例中能進(jìn)行其他改變和修改。所以,所附權(quán)利要求將被認(rèn)為包括優(yōu)選實(shí)施例和所有落入本發(fā)明精神和范圍內(nèi)的改變和修改。
權(quán)利要求
1.一種有選擇地接受內(nèi)容以供高速緩存的方法,包括如下步驟在高速緩存存儲器接收一請求消息,該請求消息詢問所述高速緩存存儲器是否將接受特定內(nèi)容以供高速緩存;響應(yīng)對所述請求消息的接收,決定所述高速緩存存儲器是否將接受或拒絕所述特定內(nèi)容;以及從所述高速緩存存儲器發(fā)送一對所述請求消息的響應(yīng),其中該響應(yīng)指出該高速緩存存儲器的決定。
2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括如下步驟只有當(dāng)所述響應(yīng)指出所述高速緩存存儲器的決定是接受所述特定內(nèi)容時,才隨后在所述高速緩存存儲器接收所述特定內(nèi)容。
3.根據(jù)權(quán)利要求1的方法,其中所述請求消息描述所述特定內(nèi)容。
4.根據(jù)權(quán)利要求3的方法,其中所述決定步驟使用所述描述。
5.根據(jù)權(quán)利要求1的方法,其中所述請求消息指定所述特定內(nèi)容的大小,并且其中所述決定步驟進(jìn)一步包括決定該大小的內(nèi)容是否可被所述高速緩存存儲器有利地高速緩存。
6.根據(jù)權(quán)利要求1的方法,其中所述請求消息指定所述特定內(nèi)容的類型,并且其中所述決定步驟進(jìn)一步包括決定該類型的內(nèi)容是否可被所述高速緩存存儲器有利地高速緩存。
7.根據(jù)權(quán)利要求1的方法,其中所述請求消息指定所述特定內(nèi)容的安全類別,并且其中所述決定步驟進(jìn)一步包含決定該安全類別的內(nèi)容是否可被所述高速緩存存儲器有利地高速緩存。
8.根據(jù)權(quán)利要求1的方法,其中所述請求消息指定所述特定內(nèi)容的命中率,并且其中所述決定步驟進(jìn)一步包括決定該命中率的內(nèi)容是否可被所述高速緩存存儲器有利地高速緩存。
9.根據(jù)權(quán)利要求1的方法,其中所述請求消息指定所述特定內(nèi)容的命中率,并且其中所述決定步驟進(jìn)一步包括決定該命中率是否高于已被所述高速緩存存儲器高速緩存的其他內(nèi)容所關(guān)聯(lián)的命中率,如果是,則決定接受所述特定內(nèi)容。
10.根據(jù)權(quán)利要求1的方法,其中所述決定步驟考慮與所述特定內(nèi)容相關(guān)聯(lián)的歷史度量。
11.根據(jù)權(quán)利要求1的方法,其中所述決定步驟考慮所述高速緩存存儲器的資源。
12.根據(jù)權(quán)利要求1的方法,其中所述決定步驟考慮所述高速緩存存儲器的當(dāng)前可用資源。
13.根據(jù)權(quán)利要求1的方法,其中所述請求消息和所述響應(yīng)是以結(jié)構(gòu)化標(biāo)記語言編碼的。
14.根據(jù)權(quán)利要求13的方法,其中所述結(jié)構(gòu)化標(biāo)記語言是可擴(kuò)展標(biāo)記語言(“XML”)。
15.根據(jù)權(quán)利要求1的方法,其中所述請求消息包括所述特定內(nèi)容的標(biāo)識符,并且其中所述標(biāo)識符也被包括在所述響應(yīng)中。
16.根據(jù)權(quán)利要求1的方法,其中所述決定步驟將所述特定內(nèi)容所關(guān)聯(lián)的優(yōu)先級與已經(jīng)被高速緩存的內(nèi)容所關(guān)聯(lián)的優(yōu)先級進(jìn)行比較。
17.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括把所述隨后接收的特定內(nèi)容存儲在所述高速緩存存儲器的步驟。
18.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括如下步驟當(dāng)所述決定步驟決定接受所述特定內(nèi)容時,記憶哪些已被高速緩存的內(nèi)容將被所述特定內(nèi)容替換;以及把所述隨后接收的特定內(nèi)容存儲在所述高速緩存存儲器。
19.一種有選擇地接受內(nèi)容以供高速緩存的系統(tǒng),包括用于在高速緩存存儲器接收一請求消息的裝置,該請求消息詢問該高速緩存存儲器是否將接受特定內(nèi)容以供高速緩存;用于響應(yīng)對所述請求消息的接收,決定所述高速緩存存儲器是否將接受或拒絕所述特定內(nèi)容的裝置;以及用于從所述高速緩存存儲器發(fā)送一對所述請求消息的響應(yīng)的裝置,其中該響應(yīng)指出該高速緩存存儲器的決定。
20.根據(jù)權(quán)利要求19的系統(tǒng),進(jìn)一步包括用于只有當(dāng)所述響應(yīng)指出所述高速緩存存儲器的決定是接受所述特定內(nèi)容時,才隨后在所述高速緩存存儲器接收所述特定內(nèi)容的裝置。
21.根據(jù)權(quán)利要求19的系統(tǒng),其中所述請求消息指定所述特定內(nèi)容的大小,并且其中所述用于決定的裝置進(jìn)一步包括用于決定該大小的內(nèi)容是否可由所述高速緩存存儲器有利地高速緩存的裝置。
22.根據(jù)權(quán)利要求19的系統(tǒng),其中所述請求消息指定所述特定內(nèi)容的類型,并且其中所述用于決定的裝置進(jìn)一步包括用于決定該類型的內(nèi)容是否可由所述高速緩存存儲器有利地高速緩存的裝置。
23.根據(jù)權(quán)利要求19的系統(tǒng),其中所述請求消息指定所述特定內(nèi)容的安全類別,并且其中所述用于決定的裝置進(jìn)一步包括用于決定該安全類別的內(nèi)容是否可由所述高速緩存存儲器有利地高速緩存的裝置。
24.一種有選擇地接受內(nèi)容以供高速緩存的計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品體現(xiàn)在一個或多個計算機(jī)可讀介質(zhì)上,包括用于在高速緩存存儲器接收一請求消息的計算機(jī)可讀程序代碼單元,該請求消息詢問該高速緩存存儲器是否將接受特定內(nèi)容以供高速緩存;用于響應(yīng)對所述請求消息的接收,決定所述高速緩存是否將接受或拒絕所述特定內(nèi)容的計算機(jī)可讀程序代碼單元;以及用于從所述高速緩存存儲器發(fā)出一對所述請求消息的響應(yīng)的計算機(jī)可讀程序代碼單元,其中該響應(yīng)指出該高速緩存存儲器的決定。
25.根據(jù)權(quán)利要求24的計算機(jī)程序產(chǎn)品,進(jìn)一步包括用于只有當(dāng)所述響應(yīng)指出所述高速緩存存儲器的決定是接受所述特定內(nèi)容時,才隨后在所述高速緩存存儲器接收所述特定內(nèi)容的計算機(jī)可讀程序代碼單元。
26.根據(jù)權(quán)利要求24的計算機(jī)程序產(chǎn)品,其中所述請求消息指定所述特定內(nèi)容的命中率,并且其中所述用于決定的計算機(jī)可讀程序代碼單元進(jìn)一步包括用于決定具有該命中率的內(nèi)容是否可由所述高速緩存存儲器有利地高速緩存的計算機(jī)可讀程序代碼單元。
27.根據(jù)權(quán)利要求24的計算機(jī)程序產(chǎn)品,其中所述請求消息指定所述特定內(nèi)容的命中率,并且所述用于決定的計算機(jī)可讀程序代碼單元進(jìn)一步包括用于決定該命中率是否高于已被所述高速緩存存儲器高速緩存的其他內(nèi)容所關(guān)聯(lián)的命中率,如果是,則決定接受該特定內(nèi)容的計算機(jī)可讀程序代碼單元。
全文摘要
本發(fā)明公開了在高速緩存代理(“CP”)服務(wù)器進(jìn)行改進(jìn)的內(nèi)容高速緩存。在一個方面,在動態(tài)分配內(nèi)容之前發(fā)生協(xié)商,從而如Web服務(wù)器的實(shí)體選擇內(nèi)容和至少一個目標(biāo)CP服務(wù)器,并向每個目標(biāo)發(fā)送內(nèi)容分配請求,描述要被分配的內(nèi)容。優(yōu)選地,根據(jù)歷史度量通過動態(tài)確定內(nèi)容優(yōu)先級做出選擇。在另一方面,在這些協(xié)商過程中接收內(nèi)容分配請求的CP服務(wù)器確定它對該分配請求的響應(yīng)。優(yōu)選地,在做出決定時將已經(jīng)被高速緩存的內(nèi)容的優(yōu)先級與由內(nèi)容分配請求所描述的內(nèi)容的優(yōu)先級進(jìn)行比較。在又一方面,在高速緩存未命中處理過程中,CP服務(wù)器有選擇地確定是否高速緩存該內(nèi)容。優(yōu)選地,這包含在高速緩存未命中期間將已經(jīng)被高速緩存的內(nèi)容的優(yōu)先級與被發(fā)送到該CP服務(wù)器的內(nèi)容的優(yōu)先級進(jìn)行比較。
文檔編號G06F13/14GK1617107SQ20041007439
公開日2005年5月18日 申請日期2004年9月10日 優(yōu)先權(quán)日2003年9月11日
發(fā)明者D·L·克里塞爾, R·C·利亞, P·F·麥克馬漢 申請人:國際商業(yè)機(jī)器公司