移動網(wǎng)絡(luò)中的緩存的制作方法
【專利摘要】本文描述了一種用于優(yōu)化在資源有限網(wǎng)絡(luò)的緩存域中緩存之間數(shù)據(jù)對象的分布的方法。在緩存域中的緩存接收對數(shù)據(jù)對象的用戶請求。將通知從收到請求的每個緩存通知到緩存管理器。通知報告用戶請求并且識別請求的數(shù)據(jù)對象。在緩存管理器,整理和存儲對象信息,對象信息包括每個請求的數(shù)據(jù)對象的請求頻率和收到請求的緩存的位置。在緩存管理器,基于對象信息識別緩存域內(nèi)要分布的對象。將在緩存之間分布在那些緩存中存儲的數(shù)據(jù)對象的指示從緩存管理器發(fā)送到緩存。根據(jù)受歡迎度將對象分類到幾個類中,包括具有應(yīng)分布到緩存域中所有緩存的對象的高受歡迎度類、具有應(yīng)分布到緩存域中緩存的子集的對象的中等受歡迎度類及具有不應(yīng)分布的對象的低受歡迎度類。
【專利說明】移動網(wǎng)絡(luò)中的緩存
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于緩存移動分組數(shù)據(jù)網(wǎng)絡(luò)中數(shù)據(jù)的系統(tǒng)。具體地說,本發(fā)明涉及適合用于優(yōu)化資源有限網(wǎng)絡(luò)中緩存數(shù)據(jù)的分布的緩存體系結(jié)構(gòu)。
【背景技術(shù)】
[0002]典型的文件緩存方法包括接收來自文件服務(wù)器的文件并且存儲整個文件的緩存。以后,在客戶端需要文件時,從緩存提供文件而不是從文件服務(wù)器提供文件。由于緩存一般是更靠近客戶端或者具有比文件服務(wù)器更高帶寬的服務(wù)器,因此,文件迅速地從緩存被提供到客戶端。
[0003]這能夠參照圖1理解,圖1是具有原服務(wù)器11和多個緩存12-16的網(wǎng)絡(luò)10的示范體系結(jié)構(gòu)的示意圖??蛻舳?7-19配置成接收來自原服務(wù)器11和/或緩存12-16的文件和/或流傳送數(shù)據(jù)。
[0004]為降低在原服務(wù)器11上的負(fù)載并且節(jié)省輸送網(wǎng)絡(luò)10中的帶寬,一些內(nèi)容存儲在更靠近最終用戶17-19的緩存12-16中。最好是盡可能靠近最終用戶推送這些緩存。
[0005]例如,移動網(wǎng)絡(luò)體系結(jié)構(gòu)通常包括附接了多個無線電接入網(wǎng)絡(luò)(RAN)的核心網(wǎng)絡(luò)(CN),而RAN中,終端連接到無線電基站(RBS)。終端可移動,并且在它們移動時,它們可以無線方式連接到不同RBS。在RBS與網(wǎng)絡(luò)的剩余部分之間的傳送鏈路通常是被租賃的,并且容量有限。降低對這些鏈路的需求的一種方式是使用緩存,并且如上所述,緩存應(yīng)優(yōu)選盡可能靠近終端以最小化傳送需要。
[0006]在RAN中進(jìn)行緩存(緩存是RBS或任何其它RAN節(jié)點的一部分)有關(guān)的一個問題是每個緩存將只接收來自一小群體的終端的業(yè)務(wù)。通常,緩存存儲的內(nèi)容將是最終用戶已請求的內(nèi)容。如果使用緩存的群體小,則在該緩存中存儲的緩存內(nèi)容量小。從統(tǒng)計上來說,對于更小的群體,其他人想從該緩存下載相同內(nèi)容的概率,即,“緩存命中率”降低。用于大群組的一個大緩存因此從統(tǒng)計上來說比服務(wù)于群體的不同更小子集的許多小緩存更有效。
[0007]解決此問題的一種方式是通過在緩存之間復(fù)制內(nèi)容,從RBS中的許多小緩存生成大的“虛擬”緩存。這意味著每個小緩存存儲來自大群體的內(nèi)容(由其它小緩存檢測到和緩存),并且這增大了受歡迎內(nèi)容的本地命中率。緩存的此“預(yù)加載”能夠視為一種形式的預(yù)測緩存,其中,預(yù)測是基于在其它緩存中的用戶。
[0008]不可避免的是,這將導(dǎo)致內(nèi)容跨許多小緩存的重復(fù),并且要付出的代價是所有小緩存一起要求的總存儲大小將增大。另外,在緩存之間傳送的數(shù)據(jù)量隨著內(nèi)容的分布而增大。如果緩存之間的帶寬受到限制,則另外傳送的數(shù)據(jù)增大了負(fù)載,并且可最終造成擁塞。因此,在資源有限網(wǎng)絡(luò)中能夠有助于解決池化和內(nèi)容分布的方法極其重要。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的是解決至少一些上述缺點。通常,最好是以有效方式在一起形成大的虛擬緩存的小緩存中分布內(nèi)容。[0010]根據(jù)本發(fā)明的一方面,提供了一種用于控制在稱為分組數(shù)據(jù)網(wǎng)絡(luò)(可選擇性地稱為資源有限網(wǎng)絡(luò))的緩存域的緩存集中存儲的內(nèi)容的分布的緩存管理器。緩存管理器包括用于接收來自緩存域中緩存的有關(guān)在那些緩存請求的數(shù)據(jù)對象的通知的對象監(jiān)視器。對象數(shù)據(jù)庫配置成整理和存儲有關(guān)請求的數(shù)據(jù)對象的對象信息,對象信息包括有關(guān)請求數(shù)據(jù)對象的緩存和提出請求的頻率的信息。對象分布器配置成基于對象信息識別要分布的對象并且指示網(wǎng)絡(luò)中的緩存在它們之間分布在那些緩存中存儲的數(shù)據(jù)對象。對象信息包括用于每個對象的受歡迎度參數(shù),并且對象分布器配置成將對象分類到至少三個類之一中。類包括具有應(yīng)分布到緩存域中所有緩存的對象的高受歡迎度類、具有應(yīng)分布到緩存域中一個或更多個緩存的子集的對象的中等受歡迎度類及具有不應(yīng)分布的對象的低受歡迎度類。將領(lǐng)會的是,網(wǎng)絡(luò)可包括一個或更多個緩存域。對象分布器可配置成指示緩存使用網(wǎng)絡(luò)在其它情況下將未使用的傳送容量,分布數(shù)據(jù)對象。
[0011]緩存管理器可還包括用于檢索有關(guān)緩存域的拓?fù)涞耐負(fù)湫畔⒌耐負(fù)浔O(jiān)視器。也可提供用于存儲所述拓?fù)湫畔⒌耐負(fù)鋽?shù)據(jù)庫。對象分布器可配置成在緩存之間應(yīng)如何分布對象的確定中利用拓?fù)湫畔?。更詳?xì)地說,對象分布器可決定哪些對象應(yīng)在哪些緩存存儲,以及何時及從何處應(yīng)進(jìn)行必需的獲取(即,將內(nèi)容從一個或更多個本地緩存分布到一個或更多個其它本地緩存的適合時間和位置)。
[0012]拓?fù)湫畔⒖砂ㄅc以下一項或更多項有關(guān)的數(shù)據(jù):緩存域的拓?fù)浣Y(jié)構(gòu);在拓?fù)浣Y(jié)構(gòu)中單元之間鏈路的帶寬限制;緩存的存儲能力;拓?fù)浣Y(jié)構(gòu)中緩存的位置;在拓?fù)浣Y(jié)構(gòu)中單元之間鏈路承受的當(dāng)前負(fù)載;以及用于緩存域內(nèi)數(shù)據(jù)的傳輸類型。就緩存的存儲能力而言,可能是帶有長持久受歡迎度的對象應(yīng)存儲在具有有限次數(shù)的寫入操作的緩存上(如閃存存儲器),并且?guī)в袠O高受歡迎度的對象不應(yīng)存儲在太少緩存操作盤上。
[0013]拓?fù)湫畔⒖砂ㄓ糜诰彺嬗蛑忻總€緩存的每日負(fù)載簡檔,每日負(fù)載簡檔指示用于該緩存的高負(fù)載和低負(fù)載的期間。隨后,對象分布器可配置成將中等受歡迎度類中的對象分配到緩存,使得在一天的所有時間,在低負(fù)載期間在至少一個緩存上存儲每個對象。
[0014]對象分布器可配置成指示緩存分布中等受歡迎度類內(nèi)的對象,使得更受歡迎對象被分布到較大數(shù)量的緩存,并且不那么受歡迎對象被分布到較小數(shù)量的緩存。中等受歡迎度類中的更受歡迎對象可被分布到較靠近用戶的許多緩存,并且不那么受歡迎對象被分布到網(wǎng)絡(luò)中較中心的少數(shù)緩存。
[0015]緩存管理器可配置成控制數(shù)據(jù)對象在緩存域中緩存之間的分布,以便緩存域象大的虛擬緩存一樣運(yùn)行。
[0016]緩存管理器可以是分立實體,并且包括用于與網(wǎng)絡(luò)中單元進(jìn)行通信的通信系統(tǒng)。它可與緩存域中的緩存之一相關(guān)聯(lián)。備選,緩存管理器的功能性可分布在緩存域中的網(wǎng)絡(luò)單元之間。
[0017]根據(jù)本發(fā)明的另一方面,提供了一種用于優(yōu)化在資源有限網(wǎng)絡(luò)的緩存域中緩存之間數(shù)據(jù)對象的分布的方法。在緩存域中的緩存接收對數(shù)據(jù)對象的用戶請求。將通知從收到請求的緩存發(fā)送到緩存管理器。通知報告用戶請求并且識別請求的數(shù)據(jù)對象。在緩存管理器,整理和存儲對象信息,對象信息包括每個請求的數(shù)據(jù)對象的請求頻率和收到請求的緩存的位置。在緩存管理器,基于對象信息識別緩存域內(nèi)要分布的對象。將指示從緩存管理器發(fā)送到緩存以在緩存之間分布在那些緩存中存儲的數(shù)據(jù)對象??蛇x的是,使用網(wǎng)絡(luò)在其它情況下將未使用的傳送容量,分布數(shù)據(jù)對象。對象信息包括用于對象的受歡迎度參數(shù),并且對象分布器配置成將對象分類到至少三個類之一中。類包括具有應(yīng)分布到緩存域中所有緩存的對象的高受歡迎度類、具有應(yīng)分布到緩存域中緩存的子集的對象的中等受歡迎度類及具有不應(yīng)分布的對象的低受歡迎度類。
[0018]緩存管理器的功能性可分布在緩存域中的網(wǎng)絡(luò)單元之間。緩存管理器可在識別要分布的對象時將網(wǎng)絡(luò)的拓?fù)浜?或請求的數(shù)據(jù)對象的優(yōu)先級和/或?qū)μ囟〝?shù)據(jù)對象的請求的頻率考慮在內(nèi)。網(wǎng)絡(luò)可以是移動網(wǎng)絡(luò),并且緩存可與RNC或RBS相關(guān)聯(lián)或者是其一部分。
[0019]分布可通過在每個緩存形成要分布到其它緩存的對象的分布隊列以及在分布隊列的頭部放置最近使用或最常使用的對象來實現(xiàn)。
[0020]包括對象受歡迎度統(tǒng)計的消息可從緩存發(fā)送到緩存控制器。
[0021]根據(jù)本發(fā)明的又一方面,提供了一種包括適用于在資源有限網(wǎng)絡(luò)中的緩存管理器上執(zhí)行的代碼的計算機(jī)程序產(chǎn)品。代碼可用于促使緩存管理器從緩存管理器控制的緩存域中的緩存檢索通知,通知包括最近在那些緩存請求的數(shù)據(jù)對象的細(xì)節(jié)。代碼還可用于促使緩存管理器整理和存儲有關(guān)請求的數(shù)據(jù)對象的對象信息,對象信息包括請求的數(shù)據(jù)對象的位置和受歡迎度。代碼還可用于促使緩存管理器基于對象信息識別要分布的對象。代碼還可用于促使網(wǎng)絡(luò)單元指示網(wǎng)絡(luò)中的緩存在它們之間分布在那些緩存中存儲的數(shù)據(jù)對象。類包括具有應(yīng)分布到緩存域中所有緩存的對象的高受歡迎度類、具有應(yīng)分布到緩存域中一個或更多個緩存的子集的對象的中等受歡迎度類及具有不應(yīng)分布的對象的低受歡迎度類。
[0022]本發(fā)明也提供在載體媒體上攜帶的如上所述的計算機(jī)程序產(chǎn)品。
【專利附圖】
【附圖說明】
[0023]現(xiàn)在將僅通過示例,并參照附圖描述一些優(yōu)選實施例,其中:
圖1是具有原服務(wù)器和多個緩存的網(wǎng)絡(luò)的示意圖;
圖2是帶有配置成充當(dāng)緩存服務(wù)器的無線電基站和無線電網(wǎng)絡(luò)控制器的無線電接入網(wǎng)絡(luò)的不意圖;
圖3是示出用于服務(wù)于用戶請求的過程的流程圖;
圖4是示出緩存群組的不同峰值負(fù)載期間的示意圖;
圖5是示出用于緩存管理器的信息模型的示意圖;
圖6是配置成充當(dāng)緩存服務(wù)器的RNC的示意圖;以及 圖7是示出圖2的網(wǎng)絡(luò)中緩存的數(shù)據(jù)的管理的示意圖。
【具體實施方式】
[0024]如在上面背景中所述,設(shè)計緩存系統(tǒng)時,一般存在在中心放置緩存與本地放置緩存之間的選擇。在兩種情況下,傳送方面的增益均很小,要么因為放置點在網(wǎng)絡(luò)中位置高(就中心放置緩存而言),要么因為命中率變得太低(就本地緩存而言)。
[0025]因此,最好是組合中心緩存的命中率和本地緩存的傳送優(yōu)點。這能夠通過使用確保本地緩存具有接近或等于中心緩存的高命中率的“緩存管理器”而得以實現(xiàn)。它通過根據(jù)全局統(tǒng)計預(yù)加載本地緩存(因此命中率高)而得以完成并且確保此預(yù)加載在非峰值時間進(jìn)行(以便不妨礙帶寬節(jié)省)。[0026]因此,實際上從許多小的緩存生成大的虛擬緩存,其中,將傳送的限制考慮在內(nèi)。這能夠通過在緩存之間分布內(nèi)容的“緩存均衡化”來實現(xiàn)。每個小緩存存儲大群體請求的內(nèi)容(由其它小緩存檢測到和緩存),并且這增大了受歡迎內(nèi)容的本地命中率。在小緩存之間的對象數(shù)據(jù)分布能夠視為預(yù)測緩存的一種形式,其中,預(yù)測是基于通過其它緩存接收數(shù)據(jù)的用戶的行為。
[0027]要付出的代價是在緩存之間傳送的數(shù)據(jù)量將增大。如果帶寬在緩存之間受到限制,則另外傳送的數(shù)據(jù)將增大負(fù)載,并且最終造成擁塞。因此,在資源有限網(wǎng)絡(luò)中能夠有助于解決內(nèi)容分布的方法極其重要。
[0028]業(yè)務(wù)在典型的24小時期間內(nèi)有所不同,并且通常在晚上時間有大量的空閑容量。此外,甚至在峰值期間,也存在空閑容量可用的期間。因此,可能在峰值時間期間(例如,在白天期間)分布少量的高優(yōu)先級數(shù)據(jù)對象,并且在非峰值時間內(nèi)(例如,在晚上)分布更大量的不那么重要的數(shù)據(jù)對象。在此上下文中,數(shù)據(jù)對象將被理解為表示終端請求和/或緩存存儲的任何數(shù)據(jù)集。
[0029]圖2是包括連接到三個RNC 22、23、24的路由器21的網(wǎng)絡(luò)20的示意圖,每個RNC連接到 RBS 221、222 ;231、232 ;241、242。每個 RBS 221、222、231、232、241、242 連接到一個或更多個終端251-260。每個RNC 22、23、24和一些RBS221、231與可構(gòu)建或不可構(gòu)建到RNC或RBS本身中的緩存存儲單元224、234、244、226、236相關(guān)聯(lián)。RNC 22、23、24和路由器21通過傳送鏈路互連。RNC (和與緩存存儲單元相關(guān)聯(lián)的RBS 221、231的那些RBS)能夠充當(dāng)緩存服務(wù)器-即,每個包括表現(xiàn)得象嵌入式代理或使用深度分組檢查(DPI)檢測和引導(dǎo)諸如HTTP-GET等最終用戶請求的邏輯實體。為方便起見,緩存服務(wù)器(例如,RNC 22)和緩存存儲單元(例如,224)中的緩存功能性的組合將在本文檔中稱為“緩存”。無論緩存存儲單元是否物理構(gòu)建到緩存服務(wù)器中,這都適用。這意味著實際上有與每個RNC 22、23、24和兩個 RBS 221,231 相關(guān)聯(lián)的緩存 225、235、245、227、237。
[0030]雖然圖2示出帶有由RNC 22、23、24和RBS 221、231操作的緩存225、235、245、227、237的樹狀拓?fù)?,但將領(lǐng)會的是,這只是示例。如將變得明白的一樣,用于本文中所述分布式緩存數(shù)據(jù)的機(jī)制可適用于許多其它拓?fù)浜驮诜植际骄彺?25、235、245、227、237之間存在有限帶寬的情形。
[0031]如上所示,與此類緩存有關(guān)的問題涉及以下實際情況:由于配置為緩存的每個RNC 22、23、24和RBS 221、231只供應(yīng)數(shù)據(jù)到有限數(shù)量的終端,因此,來自每個RNC 22、23、24和RBS 221、231的業(yè)務(wù)量小。來自本地緩存業(yè)務(wù)的“命中率”小。解決方案是通過將由群組中任何小緩存225、235、245、227、237在本地緩存的內(nèi)容分布到該群組中的其它小緩存,增大命中率。隨后,群組中的緩存將包含在其它緩存請求的內(nèi)容,并且這將增大命中率。
[0032]因此,如果內(nèi)容由終端之一 251請求,則此請求通過終端251連接到的RBS 221和RNC 22傳遞。內(nèi)容數(shù)據(jù)從網(wǎng)絡(luò)(例如,在核心網(wǎng)絡(luò)中,未示出)中上游的內(nèi)容服務(wù)器25 (與內(nèi)容存儲單元254相關(guān)聯(lián))通過RNC 22和RBS 221輸送到終端251。除輸送內(nèi)容數(shù)據(jù)到終端251外,RNC 22和RBS 221的每個也在其相關(guān)聯(lián)緩存存儲單元224、226中保存內(nèi)容數(shù)據(jù)。隨后,下次附接到該RBS的終端251或252請求該內(nèi)容時,RBS 221便能夠從緩存存儲單元226提取它。附接到相同RNC 22的另一終端253請求該內(nèi)容時,能夠從緩存存儲單元224(或由RBS 221從緩存存儲單元226)提取它并將它供應(yīng)到請求終端。另外,內(nèi)容數(shù)據(jù)被復(fù)制到群組中的其它緩存235、245、237 (由RNC 23、24和其它RBS 231保持),以便如果被請求,則它也能夠被供應(yīng)到任何其它終端254-260。
[0033]與分布有關(guān)的問題是鏈路帶寬有限,使得更新能夠造成擁塞,特別是如果它們是在忙時間期間進(jìn)行。因此,更新應(yīng)受到控制以便優(yōu)化帶寬的使用。此優(yōu)化可包括以下所述的一些或全部:
?使用在其它情況下未利用的傳送容量(例如,在非峰值時間期間)。
[0034]?優(yōu)先處理可能受歡迎的數(shù)據(jù)。例如,能夠在帶寬變得可用時以及基于數(shù)據(jù)對象受歡迎度,根據(jù)排隊原則,排隊和提供要分布的數(shù)據(jù)對象。
[0035]?如果傳送帶寬或存儲容量是限制因素,則限制極少使用的數(shù)據(jù)對象的分布。可不分布一些數(shù)據(jù)。如果要求,則能夠從已保存它的緩存提取它。
[0036]此外,情況可以是經(jīng)RBS 221對與該RBS相關(guān)聯(lián)的緩存227中或與RBS 221的RNC22相關(guān)聯(lián)的緩存225中未存儲但在附近緩存235、245、237中存儲的數(shù)據(jù)對象提出請求。在此情況下,可將數(shù)據(jù)對象標(biāo)記為高優(yōu)先級并且立即從附近RNC 235、245、237獲取它,而不
是等待帶寬變得可用。
[0037]為控制數(shù)據(jù)在緩存225、235、245、227、237之間的分布,集中式緩存管理器單元26操作性耦合到網(wǎng)絡(luò)20中的節(jié)點之一。在圖2中,它示為與RNC之一 24相關(guān)聯(lián),但將領(lǐng)會的是,它也能夠與任何RNC 22、23、24或例如路由器21等任何另一網(wǎng)絡(luò)單元或RBS之一相關(guān)聯(lián)。緩存管理器單元26控制在分布式緩存集之間信息的擴(kuò)散。將領(lǐng)會的是,也可能設(shè)計提供相同功能性的分 布式緩存管理器解決方案。重要的特征是緩存管理器(無論它是如圖2所示單個單元26還是分布式系統(tǒng))能夠優(yōu)化數(shù)據(jù)在緩存225、235、245、227、237之間的分布。
[0038]特定管理器控制的緩存集可被視為“緩存域”(⑶)。⑶可相互排斥或重疊。管理器可放置在帶有其域的拓?fù)渲兄行奈恢玫恼军c或者與其相關(guān)聯(lián),并且它可以是該站點的RBS(或任何另一緩存實體)的一部分。⑶能夠?qū)?yīng)于RAN,并且可以只是RAN的一部分,或者包含多于一個RAN。
[0039]緩存管理器26知道在任何RNC 22、23、24 (和與緩存相關(guān)聯(lián)的RBS 221,231)請求的所有數(shù)據(jù)對象的受歡迎度、在緩存225、235、245、227、237中的所有可能出現(xiàn)(occurence)和在網(wǎng)絡(luò)中的帶寬限制,并且它配置成根據(jù)以上所述使用此信息管理緩存更新。另外,它配置成檢測和重新引導(dǎo)來自用戶的“失敗的”數(shù)據(jù)請求,使得從相同CD中優(yōu)先于內(nèi)容服務(wù)器25的其它緩存獲取與用戶直接相鄰的緩存不能輸送的請求的數(shù)據(jù)對象。這樣,緩存管理器26能夠從在圖2中路由器21與更高層之間的跳提供(相當(dāng)大的)傳送增益,并且因此同樣更有效地使用鏈路。將注意的是,在連接由租賃傳送或微波鏈路提供的情況下,此方面特別有吸引力。
[0040]換而言之,緩存管理器26通過在有空閑帶寬的時間期間在小的本地緩存225、235,245之間分布內(nèi)容,增大小的本地緩存225、235、245的“有效”命中率。通過分析來自不同緩存225、235、245、227、237的請求,確定要推送的內(nèi)容。在峰值時間期間已在一個或多個RBS上請求(且因此在對應(yīng)緩存存儲單元224、234、244、226、236緩存)的內(nèi)容將在非峰值時間期間被分布到其它緩存(且因此在這些RBS上請求時可供輸送)。這樣,一些業(yè)務(wù)從峰值時間(提出請求時的時間)移到非峰值時間(預(yù)填充緩存時的時間)。不同緩存存儲單元224、234、244、226、236的內(nèi)容因此將在峰值時間期間有差異(這是因為在不同RNC 22、23、24的用戶請求不同數(shù)據(jù)對象),并且在某種程度上在非峰值時間期間匯聚(這是因為通過復(fù)制任何緩存中的內(nèi)容到所有緩存,緩存可變得均衡)。如下面將更詳細(xì)解釋的一樣,不是所有內(nèi)容必需對所有緩存是均衡的。
[0041]緩存管理器知道在何處找到數(shù)據(jù)對象,并且決定在每個緩存上存儲的內(nèi)容。因此,可能可決定根本不存儲數(shù)據(jù)對象,或者存儲數(shù)據(jù)對象,但只在一些緩存存儲而在其它緩存不存儲。在哪些緩存中存儲的選擇可取決于帶寬、盤空間、普遍受歡迎度及在某些用戶群組中的受歡迎度。下面提供有關(guān)如何做出此選擇的更多細(xì)節(jié)。
[0042]用于服務(wù)于用戶請求的典型過程在圖3中示出并且如下所述繼續(xù):
SI移動終端251的用戶發(fā)出對某段內(nèi)容的請求(例如,HTTP-GET)。
[0043]S2在RBS 221 (或其它網(wǎng)絡(luò)單元)的站點由(可構(gòu)建或不可構(gòu)建到RBS 221中的)緩存227的代理/DPI邏輯單元53 (參見圖5)截接請求。
[0044]S3邏輯單元53詢問與RBS 22相關(guān)聯(lián)的緩存存儲單元226以了解內(nèi)容是否存儲在該緩存存儲單元226中。
[0045]S4如果是,這稱為“主要緩存命中”:從緩存存儲單元226檢索內(nèi)容,并且進(jìn)行到終端251的本地輸送。在此情況下,在圖2中的所有鏈路上實現(xiàn)了帶寬節(jié)省。
[0046]S5如果存在第一緩存缺失,即,如果請求的內(nèi)容在緩存存儲單元226中不可用,則請求將被轉(zhuǎn)發(fā)到“真實的”內(nèi)容服務(wù)器25,到更高層代理或到緩存管理器26。
[0047]S6請求在緩存管理器26被截接(在其到內(nèi)容服務(wù)器26或更高層代理的路徑上),或者到達(dá)緩存管理器26 (作為選擇的目的地)。
[0048]S7緩存管理器26分析請求并且檢查在⑶中的任何其它本地緩存存儲單元中是否找到請求的內(nèi)容。
[0049]S8如果是(即,存在次要緩存命中),則將請求轉(zhuǎn)發(fā)到包含內(nèi)容的任何緩存235。
[0050]S9從緩存存儲單元234檢索內(nèi)容,并且將其輸送到用戶。
[0051]SlO第一緩存(RBS 221)可截接輸送,并且在其相關(guān)聯(lián)緩存存儲單元226中本地存儲內(nèi)容以用于將來的請求。在此情況下,在圖2中路由器21上方的所有鏈路上實現(xiàn)了帶寬節(jié)省。將領(lǐng)會的是,這能夠在路徑中的任何緩存發(fā)生,如帶有相關(guān)聯(lián)存儲單元224的RNC22。
[0052]Sll如果存在次要緩存命中(S卩,如果請求的內(nèi)容在CD中的任何其它緩存存儲單元中不可用),或者如果根據(jù)朝向其它本地緩存的鏈路負(fù)載條件指示,則將對內(nèi)容的請求轉(zhuǎn)發(fā)到內(nèi)容服務(wù)器25或某一更高層代理。備選是在以管理器作為最后解決辦法的每個更高層緩存截接請求。更高層緩存可具有內(nèi)容,或者知道在它們下面將找到內(nèi)容的緩存(以管理器知道它們的相同方式)。至少在第一情況下,繼續(xù)到管理器沒有意義。
[0053]S12將內(nèi)容從內(nèi)容服務(wù)器25或更高層代理輸送到用戶。
[0054]S13第一緩存(RBS 221)或路徑中的任何另一緩存(RNC 22)可截接輸送,并且在其相關(guān)聯(lián)緩存存儲單元226中本地存儲內(nèi)容以用于將來的請求。
[0055]這樣,將為本地緩存225、235、245、227、237填充已由本地用戶請求的內(nèi)容。從不同來源輸送內(nèi)容:⑴從本地緩存本身(如果該RNC或RBS或站點的其它用戶已請求它,或者在非峰值時間期間已將它推送到該站點,非峰值時間能夠是空閑帶寬可用的任何時間期),(ii)從⑶中的另一本地緩存(如果⑶中的另一用戶已請求它),或者(iii)從更遠(yuǎn)的來源(如果CD中的任何用戶尚未請求它)。從本地緩存獲取內(nèi)容時獲得最大傳送增益,從另一本地緩存獲取內(nèi)容時獲得相當(dāng)大的增益,以及從遠(yuǎn)處來源獲取內(nèi)容時獲得小增益或未獲得增益(雖然在此階段緩存數(shù)據(jù)可在將來產(chǎn)生增益)。
[0056]因此,明顯的是,如果本地緩存存儲單元224、234、244、226、236的至少一些包含整個⑶中其它用戶已請求的內(nèi)容,并且因此,本地用戶將請求它的概率高,則此過程最有效。如果情況是如此,則主要緩存命中(S4)將更頻繁發(fā)生,從而降低執(zhí)行步驟S7-S13的需要及傳送鏈路和帶寬的其相關(guān)聯(lián)使用。換而言之,這增大了能夠獲得最高傳送增益(i)的請求的部分。
[0057]為實現(xiàn)此目的,緩存管理器26收集有關(guān)此類請求的信息(主要在峰值時間期間發(fā)生),并且隨后使用此信息預(yù)填充緩存(主要在非峰值時間期間)。
[0058]例如,在CD中(例如,由終端251)初次請求數(shù)據(jù)對象X時,從內(nèi)容服務(wù)器25或更高層代理獲取X,并且在路由請求通過的緩存225和227中存儲它。如果不久以后相同終端251或另一終端252經(jīng)相同RBS 221請求X,則從緩存227獲得它,或另一終端253經(jīng)相同RNC 22請求X,則從緩存225獲取它并將它輸送到用戶。如果隨后經(jīng)相同CD中的不同RNC23請求X,則從與第一 RNC 22相關(guān)聯(lián)的緩存存儲單元224獲取它,并且也將它存儲在第二RNC 23的緩存存儲單元234中。隨后,在某個非峰值時間,緩存管理器26確保X被分布到一些或所有緩存235、245、237,以便由發(fā)生請求的緩存服務(wù)于對X的隨后請求。
[0059]將領(lǐng)會的是,RNC之間的傳輸鏈路可具有不同的容量。中心緩存控制器26因此能夠決定分布是否應(yīng)立即啟動,或者它是否應(yīng)延遲到更低業(yè)務(wù)期間或晚上時間。另一選擇是使用“低于盡力而為型”優(yōu)先級類或比常見TCP更快回退的TCP,以便賦予分布業(yè)務(wù)低后臺優(yōu)先級并且不影響高優(yōu)先級業(yè)務(wù)`。
[0060]為實現(xiàn)此操作,緩存控制器26維護(hù)用于其域內(nèi)被請求的每個對象的計數(shù)器。每次收到對該對象的新請求時,增大計數(shù)器,直至達(dá)到閾值,在該點啟動對所有緩存的均衡化。
[0061]實際上,內(nèi)容可在受歡迎度方面有所有不同。受歡迎的內(nèi)容應(yīng)被廣泛分布到CD中的所有(或幾乎所有)緩存,但不那么受歡迎的內(nèi)容應(yīng)只被分布到少數(shù)緩存。為監(jiān)視受歡迎度,中心控制器26跟蹤來自移動網(wǎng)絡(luò)或能夠被視為形成“池”的其域中緩存覆蓋的區(qū)域中UE 251-260的對內(nèi)容的所有請求。它也跟蹤訪問頻率以確定對象的受歡迎度。
[0062]對象的受歡迎度用于確定應(yīng)如何緩存對象。能夠認(rèn)為分布有三個基本類別,但將領(lǐng)會的是,其它子類別也可有用。三個基本分布類別是:
(i)分布到域中所有緩存的內(nèi)容(“均衡化”),
(ii)根本不緩存的內(nèi)容,或者
(iii)分布到緩存的一個或更多個子集(“池化”)的內(nèi)容。
[0063]在最后的情況下,對象的受歡迎度也能夠用于確定應(yīng)存儲該對象的緩存的數(shù)量和位置。另外,確定應(yīng)從緩存刪除哪些對象時,應(yīng)使用類似的統(tǒng)計。
[0064]如上所示,內(nèi)容受歡迎度最初可分類為“高”、“中等”或“低”。另外:
?均衡化適用于優(yōu)選在所有緩存中存儲其副本的高受歡迎度的內(nèi)容,
?池化適用于優(yōu)選在一些緩存中存儲其副本的中等受歡迎度的內(nèi)容,以及 ?根本無動作適用于不存儲其副本的低受歡迎度的內(nèi)容。[0065]簡單的池化策略是只在輸送對象到請求該對象的最終用戶經(jīng)過的網(wǎng)絡(luò)單元(RNC,RBS)的一些或所有緩存中存儲請求的對象。然而,此簡單的方案可能導(dǎo)致通過高負(fù)載鏈路的輸送、在緩存之間請求的不均勻分布和/或在長距離內(nèi)的輸送。
[0066]池化對象的決定涉及選擇應(yīng)保持所述內(nèi)容的緩存。如上所述,此類選擇應(yīng)優(yōu)選計及至少負(fù)載(優(yōu)選負(fù)載更低的鏈路)、拓?fù)?優(yōu)選更短的距離)和容量。
[0067]鏈路負(fù)載的問題包括將對象發(fā)送到緩存(由于池化它的決定的原因),但具體而言,從緩存輸送對象(由于用戶請求對象的原因)。第一方面類似于均衡化,并且能夠在一定程度上受到控制,這是因為緩存控制器26能夠確保在非峰值期間內(nèi)將對象發(fā)送到緩存。第二方面不同,表現(xiàn)在將對象從緩存輸送到用戶可能多次執(zhí)行和在由用戶而不是由系統(tǒng)確定的時間執(zhí)行。
[0068]如前面所述,業(yè)務(wù)隨時間有規(guī)律地變化。然而,前面未考慮的是變化模式在不同節(jié)點之間不同的實際情況。例如,對于更小區(qū)域和/或每節(jié)點的更少用戶,變化可更大。通過根據(jù)緩存峰值時間將緩存編組,并且在每個群組中一個或更多個緩存上存儲對象,這些差別能夠用于避免用于被池化對象的峰值負(fù)載。隨后,從當(dāng)前未遇到峰值負(fù)載的群組中的任何緩存獲取對象。
[0069]這能夠通過參照圖4理解,圖4示出用于三個緩存群組41、42、43的對照時間的平均負(fù)載模式,每個群組被分類到上午(M)、中午(N)和下午(A)之一。“上午”群組41的峰值負(fù)載44發(fā)生在5.00與11.00之間,“中午”群組42的峰值負(fù)載45發(fā)生在10.00與16.00之間,以及“下午”群組43的峰值負(fù)載46發(fā)生在15.00與21.00之間。例如,這能夠通過在居住區(qū)(其中大多數(shù)緩存可能形成“下午”群組的一部分)和商業(yè)區(qū)(其中大多數(shù)緩存可能形成中午群組的一部分)中網(wǎng)絡(luò)單元之間的差別而設(shè)想到。如果對象存儲在每個此類群組的至少一個成員上,則始終將有包含該對象的不可能經(jīng)受峰值負(fù)載的至少一個緩存。將理解的是,此示例可易于擴(kuò)展到多于三個群組。
[0070]識別此類群組以允許從“便宜”資源池化,這是緩存控制器26中池化布置機(jī)制的任務(wù)。
[0071]另外,如上所述,從緩存獲取對象的“成本”(例如,延遲和帶寬)可不但取決于時間,而且也取決于拓?fù)?。因此,?yōu)選的是可完全根據(jù)被池化對象的受歡迎度以不同方式處理它們。例如,可有利地將其受歡迎度幾乎足以分類為“均衡化”的對象發(fā)送到許多緩存(每個群組中的許多節(jié)點),而可有利地將其受歡迎度幾乎足以分類為“無動作”的對象保持在一個位置(每個群組中的一個節(jié)點)。將注意的是,在此布置中,對受歡迎對象的請求將被分布在比對不那么受歡迎對象的請求更多的節(jié)點,并且這樣在不同節(jié)點上的負(fù)載變得更均勻分布。
[0072]此外,存儲對象的位置越少,此位置位于拓?fù)渲行膶⒃绞莾?yōu)選,且反之亦然。這是因為包含所述對象的節(jié)點越多,能夠從拓?fù)洹胺奖愕摹惫?jié)點服務(wù)于請求的機(jī)會就越高。
[0073]因此,識別被池化對象的適合數(shù)量的實例和應(yīng)存儲對象的位置也是池化布置機(jī)制的任務(wù)。一個實現(xiàn)可基于群組的數(shù)量。例如,關(guān)于兩個群組,在每個峰值時間群組中在多個“遠(yuǎn)程”位置存儲第一受歡迎度群組中的最(受歡迎)和最不(受歡迎)對象,而在每個峰值負(fù)載群組中在少數(shù)“中心”位置存儲第二受歡迎度群組中的對象。明顯此示例自然擴(kuò)展到多于兩個群組。[0074]換而言之,在樹狀拓?fù)渲?,?yīng)在每個群組中的許多“葉”緩存存儲更受歡迎的被池化對象,并且因此確保至少一個對象將靠近每個訪問點。不那么受歡迎的對象存儲在更少數(shù)的緩存,但那些選擇的緩存是“根”緩存,以便同樣地,至少一個對象較靠近每個訪問點。
[0075]池化布置機(jī)制應(yīng)按其傳送鏈路的峰值時間將緩存編組,將被池化對象的受歡迎度分類,并且匹配每個這樣的類和每個峰值時間群組中節(jié)點的子集,使得不那么受歡迎的對象往往存儲在更少但更中心的位置,而更受歡迎的對象往往存儲在更多但更不中心的位置。
[0076]除緩存的每日負(fù)載簡檔和拓?fù)渫?,在確定分布時將緩存本身的存儲技術(shù)考慮在內(nèi)也是有用的。例如,閃存存儲器受以寫入操作的次數(shù)衡量的其壽命限制:閃存存儲器只能夠被重寫有限的次數(shù)。因此,在此類緩存上存儲有“長期”受歡迎度的對象將是有用的,但優(yōu)選避免(在可能的情況下)存儲受歡迎度快速減弱的將需要經(jīng)常替換的對象。相比之下,盤存儲裝置具有更長的壽命,但受帶寬限制,因此,最好是避免在相同盤上存儲太多受歡迎的對象,這是因為不可能以要求的速率將這些對象輸送到許多用戶。
[0077]因此,如上所述,應(yīng)根據(jù)適合的準(zhǔn)則選擇被池化對象分布到的緩存,這些準(zhǔn)則可包括:
-在一段時間內(nèi)的業(yè)務(wù)負(fù)載模式;
-在傳送基礎(chǔ)設(shè)施內(nèi)的地理分布;
-緩存存儲技術(shù)的限制。
[0078]為實現(xiàn)分布,可采用在緩存刪除算法中經(jīng)常使用的方案的反向方案。在滿緩存中要刪除哪些對象的問題的普通解決方案是刪除最近最少使用(least-recently-used,LRU)或最不常使用(LFU)對象。在控制對象的分布時,此方案能夠反向進(jìn)行,從而先分布最近使用(most-recently-usecbMRU)或最常使用(MFU)。例如,我們可在緩存使用“分布隊列”(例如,每目的地一個隊列),其 中(a)存儲了在此緩存中發(fā)現(xiàn)并且應(yīng)分布到其它緩存的對象,以及(b)使用空閑帶寬從中傳送當(dāng)前MRU或MFU對象(即,作為相對于是前臺的用戶請求的后臺業(yè)務(wù))。
[0079]圖5是示出用于緩存管理器26的適合信息模型的示意圖。管理器包括以下信息庫:
-可存儲與以下所述有關(guān)的信息的拓?fù)鋽?shù)據(jù)庫51:
?⑶的拓?fù)浣Y(jié)構(gòu):(例如,樹型、星形等)
?拓?fù)渲墟溌返膸捪拗啤?br>
[0080]?拓?fù)浣Y(jié)構(gòu)中緩存的位置。
[0081]?當(dāng)前鏈路負(fù)載。拓?fù)淇芍С侄鄠€業(yè)務(wù)類型(例如,交互式業(yè)務(wù)和談話業(yè)務(wù))。鏈路負(fù)載監(jiān)視在網(wǎng)絡(luò)單元之間鏈路上的負(fù)載,以避免數(shù)據(jù)對象的分布造成擁塞。
[0082]?傳輸類型:多播或單播。
[0083]-可存儲與以下所述有關(guān)的信息的對象數(shù)據(jù)庫52:
?數(shù)據(jù)對象的位置和能力,即,其中存儲了不同數(shù)據(jù)對象的緩存(如果有)。
[0084]?包括諸如對數(shù)據(jù)對象的先前請求等歷史信息的數(shù)據(jù)對象的受歡迎度。
[0085]?緩存的數(shù)據(jù)對象,即,最近緩存的數(shù)據(jù)對象列表。
[0086]-可包括以下所述的對象分布狀態(tài)數(shù)據(jù)庫53:?對象分布狀態(tài):這應(yīng)是提供有關(guān)對象應(yīng)被分布的廣泛程度的信息的參數(shù)(例如,“應(yīng)均衡化”、“應(yīng)被池化到許多緩存”、“應(yīng)被池化到少數(shù)緩存”、“不應(yīng)分布”等)。
[0087]籲優(yōu)先級:數(shù)據(jù)對象分布優(yōu)先級。
[0088]?掛鐘時間:用于確定應(yīng)開始分布的時間點的計時信息。
[0089]管理器26中的功能性可分成以下塊:
-拓?fù)浔O(jiān)視器54:檢索或收集有關(guān)分布式緩存225、235、245、227、237的拓?fù)涞男畔⒌墓δ堋?br>
[0090]-對象監(jiān)視器55:檢索或收集來自CD內(nèi)本地緩存225、235、245、227、237的有關(guān)最近緩存的數(shù)據(jù)對象的信息的功能。信息例如可通過緩存的定期輪詢,通過預(yù)訂來自緩存的信息,或者通過監(jiān)視和分析在緩存與服務(wù)器之間的業(yè)務(wù)而獲得。本領(lǐng)域技術(shù)人員將明白其它可能性。
[0091]-對象分布器56:識別應(yīng)重新分布的數(shù)據(jù)對象并且執(zhí)行重新分布的功能。這些動作可以是連續(xù)的過程,或者它們可以某個頻率,在某些時間和/或在某些負(fù)載條件發(fā)生。
[0092]-對象優(yōu)先化器57:使用例如受歡迎度統(tǒng)計估計數(shù)據(jù)對象的多個請求的概率以便區(qū)分已識別要重新分布的不同數(shù)據(jù)對象的優(yōu)先級的功能。
[0093]-資源管理器58:確保重新分布不使網(wǎng)絡(luò)過載的功能。這例如能夠通過限制在單個特定非峰值時間內(nèi)要重新分布的數(shù)據(jù)對象的數(shù)量來實現(xiàn),但隨后在下一非峰值時間或在適用時通過選擇應(yīng)從哪個緩存輸送數(shù)據(jù)對象來繼續(xù)分布。
[0094]-通信系統(tǒng)59:控制與⑶中其它網(wǎng)絡(luò)單元的通信的功能。
[0095]將領(lǐng)會的是,圖5所示邏輯單元全部相互交互以允許緩存管理器26執(zhí)行所述功能。具體而言,上述池化布置機(jī)制實際上包括拓?fù)浔O(jiān)視器、對象分布器、對象優(yōu)先化器、對象監(jiān)視器和資源管理器的功能性。
[0096]另外(并且圖5中未出),可存在請求匹配完成器(request match maker),其功能是將請求從發(fā)生缺失的緩存重新引導(dǎo)到緩存有數(shù)據(jù)對象且因此將發(fā)生命中的緩存。這樣,甚至在存在緩存均衡化延遲的情況下,能夠節(jié)省帶寬,產(chǎn)生相當(dāng)大的帶寬節(jié)省。
[0097]圖6是示出充當(dāng)緩存225的RNC 22和相關(guān)聯(lián)緩存存儲單元224的功能性的示意圖。將領(lǐng)會的是,緩存能夠在任何適合的網(wǎng)絡(luò)單元及RNC或不使用RNC提供,或者與其相關(guān)聯(lián),并且描述為由RNC 22操作的功能可由單獨(dú)的實體操作。
[0098]RNC 22包括用于操作RNC的常見功能(例如,與RBS、路由器進(jìn)行通信,轉(zhuǎn)發(fā)業(yè)務(wù)等)的控制器61和通信系統(tǒng)62。在RNC配置成充當(dāng)緩存225的情況下,如下所述,它也與緩存存儲單元224相關(guān)聯(lián),并且包括兩個其它功能:DPI 54和對象代理器54。
[0099]緩存225中的功能性可描述為:
-DPI 63:檢查通過的分組以查找包括諸如HTTP-GET等對信息的請求的那些分組的功能。它能夠?qū)崿F(xiàn)為HTTP代理或深度分組檢查裝置。
[0100]-緩存存儲單元224:諸如硬盤等存儲空間。這可與RNC 22 (如圖6所示)分開或RNC 22的組成部分。
[0101]-對象代理器64:朝向緩存管理器26的接口(如果緩存管理器26不是RNC 22的一部分,則經(jīng)通信系統(tǒng)62)。對象代理器64也能夠通過低優(yōu)先級的TCP/UDP會話分布信息,使得其它業(yè)務(wù)(例如,交互式和談話)在傳送期間不受干擾。這能夠以兩種方式進(jìn)行:使用“低于盡力而為型”優(yōu)先級類或比常見TCP更快回退的TCP會話。
[0102]圖7是示出在圖2所示網(wǎng)絡(luò)中能夠如何管理緩存數(shù)據(jù)的分布的一個示例的示意圖。由于空間原因,省略了圖2的RBS和一些終端。信息流程如下所述:
S71拓?fù)浔O(jiān)視器54例如使用簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)監(jiān)視⑶中網(wǎng)絡(luò)單元的拓?fù)?,并且在拓?fù)鋽?shù)據(jù)庫51中存儲更新的知識。
[0103]S72對象監(jiān)視器55經(jīng)那些緩存中的對象代理器64或者通過截接內(nèi)容請求,不斷從本地緩存225、235、245 (和圖7中未示出的緩存227和237)獲取有關(guān)緩存225、235、245、227,237中最近存儲的數(shù)據(jù)對象的信息(例如,由于來自終端251的請求S72a的原因)。
[0104]S73此信息被存儲到對象數(shù)據(jù)庫52中。
[0105]S74在特定時間或特定負(fù)載條件,對象分布器56檢查對象數(shù)據(jù)庫52是否有新數(shù)據(jù)對象,并且編譯新數(shù)據(jù)對象列表。
[0106]S75新數(shù)據(jù)對象列表被傳遞到對象優(yōu)先化器57?!皩ο髢?yōu)先化器”指派優(yōu)先級到數(shù)據(jù)對象,并且創(chuàng)建數(shù)據(jù)對象的優(yōu)先化列表。
[0107]S76隨后將優(yōu)先化列表傳送到資源管理器58。
[0108]S77資源管理器58從拓?fù)鋽?shù)據(jù)庫51獲取有關(guān)拓?fù)錉顟B(tài)的信息,并且基于拓?fù)湫畔⒃O(shè)置要傳送的數(shù)據(jù)對象的數(shù)量。
[0109]S78隨后,將新列表傳送回對象分布器56。
[0110]S79基于處理的列表,對象分布器56創(chuàng)建發(fā)送到一個或多個緩存225、235、245中對象代理器64的對象分布請求集。能夠發(fā)送可在更長時間期內(nèi)分布的幾個請求。請求能夠包括有關(guān)來源(發(fā)現(xiàn)數(shù)據(jù)對象的本地緩存)、宿(應(yīng)存儲數(shù)據(jù)對象的本地緩存)和有關(guān)分布方法(單播、多播)的信息。
[0111]S80對象代理器64在接收此類請求后啟動傳送。此類傳送可以許多方式實現(xiàn)。作為第一直接示例,在管理器的對象分布器56可指示在目的地緩存的對象代理器發(fā)出普通請求消息(即,HTTP-GET消息),并且確保這些請求發(fā)送到來源本地緩存的對象代理器。作為第二更高級示例,在管理器的對象分布器46可指示在來源緩存的對象代理器設(shè)置廣播,并且指示在目的地緩存的指定集的對象代理器收聽這些廣播。
[0112]上述順序是在分布式緩存體系結(jié)構(gòu)中更新的示例。作為補(bǔ)充示例,對象監(jiān)視器55、對象分布器56、對象優(yōu)先化器57和資源管理器59提供的一些功能性可實現(xiàn)為一個或更多個對象傳送隊列(OTQ)。
[0113]OTQ包含在一個或更多個緩存要更新的數(shù)據(jù)對象(或數(shù)據(jù)對象的引用)。根據(jù)基于優(yōu)先級的原則服務(wù)于請求,其中,最先服務(wù)最緊急的更新。
[0114]OTQ中的數(shù)據(jù)對象可以是包括到來源(例如,緩存225)的指針和到接收器(例如,緩存235、245)的一個或更多個指針的更新。我們能夠設(shè)想單個全局OTQ:用于從來源獲取數(shù)據(jù)對象的一個OTQ和用于分發(fā)數(shù)據(jù)對象到接收器的另一 OTQ ;或可選的是,用于每個本地緩存的“獲取0TQ”和“分發(fā)0TQ”。將注意到的是,分開的隊列是邏輯記法而不是物理實現(xiàn)。
[0115]對象監(jiān)視器55和對象優(yōu)先化器57可負(fù)責(zé)在觀察到新或更新的數(shù)據(jù)對象時添加元素到0TQ。在觀察到更近的更新或更受歡迎的數(shù)據(jù)對象時,可用其它條目替換排隊的條目或者將其它條目置于排隊的條目之前。
[0116]資源管理器58可監(jiān)查來自每個緩存的業(yè)務(wù),并且在業(yè)務(wù)低于某個閾值時激活對應(yīng)緩存的獲取OTQ中的第一條目。類似地,它可監(jiān)查到每個緩存的業(yè)務(wù),并且在業(yè)務(wù)低于某個閾值時激活對應(yīng)緩存的分發(fā)OTQ中的第一條目。同時,將由管理器本身或者由帶有空閑空間的任何中間緩存暫時存儲已獲取但尚未分發(fā)的數(shù)據(jù)對象。此“全局待機(jī)調(diào)度”應(yīng)使用所有可用帶寬以便最小化傳送時間,并且因此最大化在本地緩存的命中率。
[0117]如上所述,術(shù)語“待機(jī)”與在檢測到空閑容量(可例如根據(jù)鏈路負(fù)載來識別)時服務(wù)于請求的實際情況有關(guān)。然而,該含意可擴(kuò)展,并且不但指請求而且指單一分組。這能夠通過在兩個端節(jié)點的鏈路調(diào)度中MPLS中的業(yè)務(wù)區(qū)分來完成,或者借助于比其它業(yè)務(wù)更快和更強(qiáng)產(chǎn)生擁塞的“軟”端對端協(xié)議(即,比TCP更具響應(yīng)性的協(xié)議)來完成。
[0118]將領(lǐng)會的是,在某種意義上,所有本地緩存225、235、245具有代理器,S卩,收聽并且服務(wù)“主控”(即,緩存管理器26)的“從屬代理器”。緩存管理器的分布式實現(xiàn)可擴(kuò)展這些本地從屬代理器,或者將新的本地管理器實現(xiàn)為“主控代理器”。
[0119]此外,將領(lǐng)會的是,在RNC 22、23、24和RBS 221、231與緩存管理器26之間稍微不同模式的通信是可能的。例如,考慮在RNC 22的本地緩存中的兩種情況:主要緩存命中和次要緩存缺失(如在圖3的步驟S4和S5中一樣)。
[0120]如果有命中(即,在緩存存儲單元224中存在請求的內(nèi)容),則由于大小或安全性原因,RNC 22可將請求通知或不通知緩存管理器26。一些數(shù)據(jù)對象可包含病毒或者門戶不受信任。這能夠由緩存中的本地策略規(guī)則描述。通知管理器可幫助管理器改進(jìn)其在其它緩存放置內(nèi)容的計劃(更受歡迎的內(nèi)容可能應(yīng)越快共享到其它緩存),并且具體而言,改進(jìn)用于識別在緩存已滿時能夠刪除的數(shù)據(jù)對象的其建議(緩存已滿時,應(yīng)先刪除不那么受歡迎的內(nèi)容,并且緩存管理器的“全局”視野可有助于以統(tǒng)計上準(zhǔn)確的方式識別這些數(shù)據(jù)對象)。
[0121 ] 如果有缺失(S卩,緩存存儲單元224中不存在請求的內(nèi)容),則請求的本地緩存能夠從別處(一般為更高層緩存或內(nèi)容服務(wù)器25)獲取內(nèi)容,并且隨后通知緩存管理器26其新的獲得。備選,在請求之前,它能夠詢問緩存管理器26應(yīng)從何處獲取內(nèi)容,并且緩存管理器26能夠引導(dǎo)RNC 22到另一本地緩存。在又一備選中,所有請求能夠通過緩存管理器26處理,以便請求的本地緩存不知道內(nèi)容的來源。
[0122]上述布置允許分布式緩存體系結(jié)構(gòu)執(zhí)行與大緩存類似的功能,甚至在資源有限的情況下也允許。與緩存位于拓?fù)渲械奈恢脽o關(guān),能夠提供高緩存命中率。
[0123]緩存的更新能夠得以執(zhí)行而不干擾其它業(yè)務(wù),例如在非忙時間執(zhí)行,以確保分布不要求傳輸網(wǎng)絡(luò)中的更多容量。
[0124]應(yīng)明白的是,上述方案允許分布式緩存體系結(jié)構(gòu)以與大的中心緩存類似的方式執(zhí)行。與緩存位于拓?fù)渲械奈恢脽o關(guān),能夠提供高緩存命中率。緩存的更新得以執(zhí)行而不干擾其它業(yè)務(wù),例如在非忙時間執(zhí)行,以確保分布不要求傳輸網(wǎng)絡(luò)中的更多容量。該機(jī)制對于低頻率內(nèi)容請求是最佳的,這是因為內(nèi)容能夠從在所有連接的RNC的緩存池獲取。
[0125]此外,通過將對象的受歡迎度細(xì)分,能夠優(yōu)化分布。特定內(nèi)容的頻率受歡迎,足以分布到RNC中的所有緩存時,機(jī)制啟動將識別的受歡迎對象分布到RNC中所有緩存的均衡化機(jī)制。
【權(quán)利要求】
1.一種用于控制在分組數(shù)據(jù)網(wǎng)絡(luò)中緩存域中的緩存(225,235,245,227,237)中存儲的內(nèi)容的分布的緩存管理器(26),所述緩存管理器包括: 對象監(jiān)視器(55),用于接收來自所述緩存域中緩存的有關(guān)在那些緩存請求的數(shù)據(jù)對象的通知; 對象數(shù)據(jù)庫(52),用于整理和存儲有關(guān)所述請求的數(shù)據(jù)對象的對象信息,所述對象信息包括有關(guān)已請求所述數(shù)據(jù)對象的所述緩存和提出所述請求的頻率的信息;以及 對象分布器(56),用于基于所述對象信息識別要分布的對象并且指示所述緩存域中的所述緩存在它們之間分布在那些緩存中存儲的數(shù)據(jù)對象; 其中所述對象信息包括用于每個對象的受歡迎度參數(shù),并且所述對象分布器配置成將所述對象分類到至少三個類之一中,所述類包括: 高受歡迎度類,包括應(yīng)分布到所述緩存域中所有緩存的對象; 中等受歡迎度類,包括應(yīng)分布到所述緩存域中所述緩存的一個或更多個子集的對象;以及 低受歡迎度類,包括不應(yīng)分布的對象。
2.如權(quán)利要求1所述的緩存管理器,還包括: 拓?fù)浔O(jiān)視器(55),用于檢索有關(guān)所述緩存域的拓?fù)涞耐負(fù)湫畔?;以? 拓?fù)鋽?shù)據(jù)庫(51),用于存儲所述拓?fù)湫畔ⅲ? 其中所述拓?fù)湫畔ㄅc以下所述一項或更多項有關(guān)的數(shù)據(jù): 所述緩存域的拓?fù)浣Y(jié)構(gòu); 在所述拓?fù)浣Y(jié)構(gòu)中單元之間鏈路的帶寬限制; 所述緩存的存儲能力; 所述拓?fù)浣Y(jié)構(gòu)中緩存的位置; 在所述拓?fù)浣Y(jié)構(gòu)中單元之間所述鏈路承受的當(dāng)前負(fù)載;以及 用于所述緩存域內(nèi)數(shù)據(jù)的傳輸類型; 以及其中所述對象分布器配置成在所述緩存之間應(yīng)如何分布所述對象的確定中利用所述拓?fù)湫畔ⅰ?br>
3.如權(quán)利要求2所述的緩存管理器,其中所述拓?fù)湫畔ㄓ糜谒鼍彺嬗蛑忻總€緩存的每日負(fù)載簡檔,所述每日負(fù)載簡檔指示用于該緩存的高負(fù)載和低負(fù)載的期間,以及其中所述對象分布器配置成將所述中等受歡迎度類中的對象分配到緩存,使得在一天的所有時間,在低負(fù)載期間在至少一個緩存上存儲每個對象。
4.如權(quán)利要求2或3所述的緩存管理器,其中所述對象分布器配置成指示所述緩存分布所述中等受歡迎度類內(nèi)的對象,使得更受歡迎對象被分布到較大數(shù)量的緩存,并且不那么受歡迎對象被分布到較小數(shù)量的緩存。
5.如權(quán)利要求4所述的緩存管理器,其中所述中等受歡迎度類中的所述更受歡迎對象被分布到較靠近用戶的許多緩存,并且不那么受歡迎對象被分布到所述網(wǎng)絡(luò)中較中心的少數(shù)緩存。
6.如前面權(quán)利要求任一項所述的緩存管理器,配置成控制所述數(shù)據(jù)對象在所述緩存域中緩存之間的所述分布,以便所述緩存域象大的虛擬緩存一樣運(yùn)行。
7.如前面權(quán)利要求任一項所述的緩存管理器,其中所述網(wǎng)絡(luò)是移動網(wǎng)絡(luò)。
8.如前面權(quán)利要求任一項所述的緩存管理器,其中所述緩存管理器是分立實體,并且包括用于與所述網(wǎng)絡(luò)中單元進(jìn)行通信的通信系統(tǒng)(59)。
9.如權(quán)利要求8所述的緩存管理器,其中所述緩存管理器與所述緩存域中所述緩存(225,235,245,227,237)之一相關(guān)聯(lián)。
10.如權(quán)利要求1到9任一項所述的緩存管理器,其中所述緩存管理器的功能性分布在所述緩存域中的網(wǎng)絡(luò)單元之間。
11.一種用于優(yōu)化數(shù)據(jù)對象在資源有限網(wǎng)絡(luò)的緩存域中緩存(225,235,245,227,237)之間的分布的方法,所述方法包括: 在緩存域中的緩存接收對數(shù)據(jù)對象的用戶請求(S72a); 將報告所述用戶請求并且識別所述請求的數(shù)據(jù)對象的通知從收到請求的所述緩存發(fā)送到緩存管理器(26) (S72); 在所述緩存管理器,整理和存儲對象信息,所述對象信息包括每個請求的數(shù)據(jù)對象的請求頻率和收到所述請求的所述緩存的位置(S73,S74); 在所述緩存管理器,基于所述對象信息識別所述緩存域內(nèi)要分布的對象(S75,S76,S77); 將在緩存之間分布在那些緩存中存儲的數(shù)據(jù)對象的指示從所述緩存管理器發(fā)送到所述緩存(S78,S79);以及 在所述緩存之間分布所述數(shù)據(jù)對象(S80); 其中所述對象信息包括用于所述對象的受歡迎度參數(shù),并且所述對象分布器配置成將所述對象分類到至少三個類之一中,所述類包括: 高受歡迎度類,包括應(yīng)分布到所述緩存域中所有緩存的對象; 中等受歡迎度類,包括應(yīng)分布到所述緩存域中所述緩存的一個或更多個子集的對象;以及 低受歡迎度類,包括不應(yīng)分布的對象。
12.如權(quán)利要求11所述的方法,其中使用所述網(wǎng)絡(luò)在其它情況下將未使用的傳送容量,分布所述對象。
13.如權(quán)利要求11或12所述的方法,其中所述緩存管理器(26)在識別要分布的所述對象時還將所述網(wǎng)絡(luò)的拓?fù)浜?或所述請求的數(shù)據(jù)對象的優(yōu)先級和/或?qū)μ囟〝?shù)據(jù)對象的請求的頻率考慮在內(nèi)。
14.如權(quán)利要求11、12或13所述的方法,其中所述緩存管理器將所述緩存域中每個緩存的每日負(fù)載簡檔考慮在內(nèi),以及將所述中等受歡迎度類中的對象分配到緩存,使得在一天的所有時間,在低負(fù)載期間在至少一個緩存上存儲所述對象,所述每日負(fù)載簡檔指示用于該緩存的高負(fù)載和低負(fù)載的期間。
15.如權(quán)利要求11到14任一項所述的方法,還包括分布所述中等受歡迎度類內(nèi)的對象,使得更受歡迎對象被分布到較大數(shù)量的緩存,并且不那么受歡迎的對象被分布到較小數(shù)量的緩存。
16.如權(quán)利要 求15所述的方法,其中所述中等受歡迎度類中的所述更受歡迎對象被分布到較靠近用戶的許多緩存,并且不那么受歡迎對象被分布到所述網(wǎng)絡(luò)中較中心的少數(shù)緩存。
17.如權(quán)利要求11到16任一項所述的方法,其中所述緩存與RNC、RBS或其它RAN節(jié)點相關(guān)聯(lián)或者是其一部分。
18.如權(quán)利要求11到17任一項所述的方法,其中在非峰值期間內(nèi),在所述緩存之間分布所述數(shù)據(jù)對象(S70)。
19.如權(quán)利要求11到18任一項所述的方法,其中所述緩存管理器(26)的功能性分布在所述緩存域中的網(wǎng)絡(luò)單元之間。
20.如權(quán)利要求11到19任一項所述的方法,還包括: 在每個緩存,形成要分布到其它緩存的對象的分布隊列;以及 在所述分布隊列的頭部,放置最近使用或最常使用的對象。
21.如權(quán)利要求11到20任一項所述的方法,還包括將包括對象受歡迎度統(tǒng)計的消息從所述緩存發(fā)送到所述緩存控制器。
22.—種計算機(jī)程序產(chǎn)品,包括適用于在資源有限網(wǎng)絡(luò)中的緩存管理器上執(zhí)行的代碼,所述代碼可用于促使所述緩存管理器執(zhí)行以下操作: 從所述緩存管理器控制的緩存域中的緩存檢索通知,所述通知包括最近在那些緩存請求的數(shù)據(jù)對象的細(xì)節(jié); 整理和存儲有關(guān)所述請求的數(shù)據(jù)對象的對象信息,所述對象信息包括請求的數(shù)據(jù)對象的位置和受歡迎 度; 基于所述對象信息識別要分布的對象;以及 指示所述網(wǎng)絡(luò)中的所述緩存在它們之間分布在那些緩存中存儲的數(shù)據(jù)對象; 其中所述對象信息包括用于每個對象的受歡迎度參數(shù),并且所述對象到至少三個類之一中,所述類包括: 高受歡迎度類,包括應(yīng)分布到所述緩存域中所有緩存的對象; 中等受歡迎度類,包括應(yīng)分布到所述緩存域中所述緩存的一個或更多個子集的對象;以及 低受歡迎度類,包括不應(yīng)分布的對象。
23.如權(quán)利要求22所述的計算機(jī)程序產(chǎn)品,在載體媒體上攜帶。
【文檔編號】G06F17/30GK103827858SQ201180073820
【公開日】2014年5月28日 申請日期:2011年9月30日 優(yōu)先權(quán)日:2011年9月28日
【發(fā)明者】E.弗里曼, A.阿維德斯森, L.維斯特伯格 申請人:瑞典愛立信有限公司