史甜甜
(重慶郵電大學(xué),重慶 400065)
互聯(lián)網(wǎng)已成為一個(gè)普遍存在、大規(guī)模的內(nèi)容分發(fā)系統(tǒng)。用戶驅(qū)動(dòng)的數(shù)字視頻內(nèi)容產(chǎn)生的流量在未來幾年將高速增長(zhǎng),人們對(duì)數(shù)據(jù)內(nèi)容的需求日趨明顯,網(wǎng)絡(luò)應(yīng)用的主體正逐漸向內(nèi)容服務(wù)轉(zhuǎn)移。CCN(Content Centric Networking)以“以內(nèi)容為中心”為設(shè)計(jì)思想,不關(guān)注內(nèi)容的存儲(chǔ)位置,只關(guān)注內(nèi)容本身。CCN通過對(duì)內(nèi)容名字進(jìn)行唯一標(biāo)識(shí),也可基于內(nèi)容進(jìn)行定位、路由和傳輸。此外,CCN還可通過節(jié)點(diǎn)緩存內(nèi)容,用以縮短其他用戶訪問同樣數(shù)據(jù)的響應(yīng)時(shí)間,減輕網(wǎng)絡(luò)擁塞,提高網(wǎng)絡(luò)資源的利用率。緩存理論及相關(guān)的優(yōu)化技術(shù)如CDN、Web和P2P,雖以內(nèi)容為中心,但都位于應(yīng)用層,存在大量冗余數(shù)據(jù)傳輸,網(wǎng)絡(luò)資源利用率不高。CCN在中間節(jié)點(diǎn)采用了內(nèi)容緩存技術(shù),請(qǐng)求端不需要再到服務(wù)器端獲取內(nèi)容,而到最近的中間節(jié)點(diǎn)處獲取內(nèi)容即可,利用存儲(chǔ)開銷換取傳輸效率,減少網(wǎng)絡(luò)傳輸時(shí)延。隨著內(nèi)容的海量增長(zhǎng),有限的存儲(chǔ)空間與無限的內(nèi)容容量必然存在矛盾,所以需要合理的緩存策略來緩存內(nèi)容。本文試圖從內(nèi)容緩存替換策略和內(nèi)容緩存決策策略兩個(gè)方面,闡述現(xiàn)有的研究如何實(shí)現(xiàn)CCN中內(nèi)容緩存,并對(duì)這些緩存策略進(jìn)行簡(jiǎn)要的總結(jié),最后指出CCN中緩存策略的新思路。
從圖1可看出,CCN與TCP/IP模型最大的不同是在“瘦腰”處用內(nèi)容塊(content chunk)代替了IP。從網(wǎng)絡(luò)的角度看,就是用對(duì)內(nèi)容命名代替了對(duì)物理實(shí)體的命名。
每個(gè)CCN節(jié)點(diǎn)都包含用于緩存數(shù)據(jù)分組的內(nèi)容存儲(chǔ)器(CS,Content Store),且在數(shù)據(jù)轉(zhuǎn)發(fā)完成后,盡可能緩存已完成的內(nèi)容。這需要在有限的緩存空間下進(jìn)行內(nèi)容替換,盡可能降低內(nèi)容請(qǐng)求失敗率(RMP,Request Miss Probability)。因此內(nèi)容緩存替換策略成為制約CCN網(wǎng)絡(luò)性能的關(guān)鍵。
圖1 TCP/IP結(jié)構(gòu)與CCN網(wǎng)絡(luò)協(xié)議棧對(duì)比
現(xiàn)有CCN文獻(xiàn)中最常見的替換策略是最近最少使用(LRU,Least Recently Used)策略,在該策略中,最近最少使用的數(shù)據(jù)塊將被率先替換。文獻(xiàn)[1]表明:LRU策略對(duì)內(nèi)容請(qǐng)求流行度的適應(yīng)性較差,即流行度較弱內(nèi)容的RMP對(duì)內(nèi)容請(qǐng)求流行度分布變化不敏感。而最近最多使用(MRU,Most Recently Used)策略和最少頻繁使用(LFU,Least Frequently Used)策略,即率先替換最近最多使用的數(shù)據(jù)塊和率先替換使用頻率最少的數(shù)據(jù)塊。除了考慮單個(gè)節(jié)點(diǎn)的存儲(chǔ)替代機(jī)制外,節(jié)點(diǎn)間的合作機(jī)制同樣也對(duì)網(wǎng)絡(luò)性能的提高起到重要的作用。文獻(xiàn)[2]提出基于Age的合作存儲(chǔ)機(jī)制,但是當(dāng)節(jié)點(diǎn)中所有內(nèi)容的Age都較大時(shí),其替換策略不能很好的反映內(nèi)容流行度的偏好。為此提出一種基于流行度偏好的置換策略:每次隨機(jī)選擇兩個(gè)數(shù)據(jù)塊,將其中具有更高流行度的數(shù)據(jù)塊替換掉,通過這種設(shè)計(jì)試圖使低流行度的數(shù)據(jù)塊更長(zhǎng)時(shí)間停留在緩存內(nèi),保證CCN網(wǎng)絡(luò)中不同流行度的內(nèi)容能夠分布均勻,但該策略存在低流行度的數(shù)據(jù)塊可能長(zhǎng)期無法被替換的問題,不能達(dá)到良好效果。文獻(xiàn)[3]中的策略適用于內(nèi)容請(qǐng)求集中的網(wǎng)絡(luò)應(yīng)用,通過略微犧牲流行度最高的內(nèi)容請(qǐng)求性能,換取了其它類內(nèi)容的命中性能較顯著提升,相比較LRU策略可以在a較大時(shí),較好地保證流行度較低內(nèi)容( k≥2)的網(wǎng)絡(luò)訪問性能。綜上所述,目前針對(duì)CCN中內(nèi)容替換策略的研究更傾向于考慮內(nèi)容流行度,從而決定替換哪些數(shù)據(jù)塊,提高資源利用率。
CCN大多將文件劃分成獨(dú)立可標(biāo)識(shí)的更小數(shù)據(jù)塊(chunk),并以chunk為緩存單元。而不同內(nèi)容對(duì)象的流行度分布不同,如Web中的對(duì)象流行度服從Zipf分布,P2P中的對(duì)象流行度服從mandelbrot-zipf分布,且同一個(gè)文件的不同chunk被訪問的頻率并不相同。例如用戶在觀看視頻時(shí),通常只看開頭部分,以決定是否繼續(xù)觀看下去,從而導(dǎo)致視頻文件的不同chunk具有不同的訪問流行度。迄今為止,chunk訪問流行度還缺乏詳細(xì)的理論模型和實(shí)證研究。本文對(duì)存在的問題和未來的研究方向提出以下幾方面的思路。
(1)針對(duì)不同種類的內(nèi)容對(duì)象,對(duì)其數(shù)據(jù)塊進(jìn)行標(biāo)識(shí),從而設(shè)定不同緩存替換策略。
(2)從提供商方面考慮,緩存的內(nèi)容要有價(jià)值,而流行度高的不一定帶來高的收益,可綜合考慮內(nèi)容的Age和流行度來緩存內(nèi)容。
(3)而對(duì)同一個(gè)文件的不同chunk被訪問的頻率不同問題,以視頻流為例,可以設(shè)置合適的緩存閾值來提高緩存效率。
內(nèi)容緩存決策策略是指應(yīng)在緩存系統(tǒng)的哪些節(jié)點(diǎn)緩存內(nèi)容??煞譃榧惺酱鎯?chǔ)和分布式存儲(chǔ)等方式。集中式緩存是指單一路由器存儲(chǔ)完整的內(nèi)容,只要經(jīng)過路由器的未被存儲(chǔ)的信息都將被完整備份,即CCN中默認(rèn)使用的LCE策略,這樣會(huì)導(dǎo)致網(wǎng)絡(luò)中出現(xiàn)大量?jī)?nèi)容冗余備份,降低內(nèi)容的多樣性。分布式緩存方式是指多個(gè)中間路由器互相合作,共同協(xié)商存儲(chǔ)完整的內(nèi)容,內(nèi)容分塊存儲(chǔ)。分布式緩存根據(jù)優(yōu)選存儲(chǔ)位置不同,分為邊緣分布式緩存和核心分布式緩存方式。近幾年,研究人員提出了一些新的緩存策略。
LCD(Leave Copy Down)策略,即當(dāng)緩存命中時(shí),僅在命中節(jié)點(diǎn)的下游節(jié)點(diǎn)緩存該對(duì)象,避免了同一對(duì)象的大量復(fù)制,并且需要多次對(duì)某一對(duì)象的請(qǐng)求才會(huì)將該對(duì)象復(fù)制到靠近客戶端的地方,潛在地考慮了對(duì)象的訪問頻率。MCD(Move Copy Down)策略即當(dāng)緩存命中時(shí),將緩存對(duì)象從命中節(jié)點(diǎn)移動(dòng)到命中節(jié)點(diǎn)的下游節(jié)點(diǎn),而將其從命中節(jié)點(diǎn)的緩存中刪除。與LCD相比,MCD進(jìn)一步減少了對(duì)象的復(fù)制次數(shù),但內(nèi)容緩存點(diǎn)的動(dòng)態(tài)性會(huì)產(chǎn)生更多的網(wǎng)絡(luò)開銷。同時(shí)提出Prob(copy with probability):每個(gè)沿途節(jié)點(diǎn)都以概率p緩存對(duì)象,而以概率1-p不緩存對(duì)象,p的值可以依據(jù)緩存情況進(jìn)行調(diào)整,該方法可以認(rèn)為是LCE的一般化,當(dāng)p=1時(shí),即退化為L(zhǎng)CE。
文獻(xiàn)[4,5]提出Betw策略,內(nèi)容在返回時(shí)選擇興趣包請(qǐng)求路徑上最重要的節(jié)點(diǎn)緩存,其它節(jié)點(diǎn)不再緩存。對(duì)于不同網(wǎng)絡(luò)拓?fù)洌摬呗远既〉昧溯^高的網(wǎng)內(nèi)節(jié)點(diǎn)緩存命中率,并減少了內(nèi)容傳輸?shù)钠骄鴶?shù)。然而,在實(shí)際網(wǎng)絡(luò)中,節(jié)點(diǎn)緩存量遠(yuǎn)小于內(nèi)容總量,Betw策略會(huì)導(dǎo)致節(jié)點(diǎn)越重要,到達(dá)的請(qǐng)求越多,需要緩存的內(nèi)容也越多,同時(shí)節(jié)點(diǎn)負(fù)載也會(huì)越大,從而導(dǎo)致緩存中的內(nèi)容更替頻繁,新緩存的內(nèi)容,即使具有很高的流行度,也具有較大可能性被快速替換掉,致使后續(xù)請(qǐng)求無法充分利用前期緩存。文獻(xiàn)[6]提出了一種綜合使用網(wǎng)絡(luò)節(jié)點(diǎn)介數(shù)和節(jié)點(diǎn)緩存內(nèi)容更替率作為緩存決策度量的新型網(wǎng)內(nèi)緩存策略BetwRep。在返回內(nèi)容判決路徑上哪些節(jié)點(diǎn)需要緩存該內(nèi)容時(shí),既考慮節(jié)點(diǎn)的重要性,又要考慮節(jié)點(diǎn)緩存內(nèi)容更替狀況。該策略既有效保證了內(nèi)容盡量緩存在相對(duì)重要的節(jié)點(diǎn)上,又能通過節(jié)點(diǎn)的內(nèi)容替換率來調(diào)控內(nèi)容的緩存,使重要節(jié)點(diǎn)避免處于高頻率的內(nèi)容替換狀態(tài)而導(dǎo)致系統(tǒng)性能下降。
上述各種緩存策略雖然從不同角度優(yōu)化緩存方案,但均著眼于新對(duì)象是否應(yīng)該緩存在某些節(jié)點(diǎn),從而降低緩存的冗余度,提高緩存的可用性方面,而忽略了CCN緩存會(huì)同時(shí)受內(nèi)容流行度和網(wǎng)絡(luò)拓?fù)涞挠绊?,且沒有考慮網(wǎng)絡(luò)的能源效率問題。
針對(duì)CCN網(wǎng)絡(luò)中移動(dòng)用戶設(shè)備的移動(dòng)管理方案問題,文獻(xiàn)[7,8]提出基于代理的方案,可提供低的通信開銷,縮短下載時(shí)間,降低能源損耗。主動(dòng)選擇鄰居緩存方案(SNC)進(jìn)一步減少用戶的移動(dòng)切換時(shí)延與內(nèi)容獲取的平均時(shí)間。但是,SNC未考慮到代理服務(wù)器獲取內(nèi)容的時(shí)間成本,也無法有效利用CCN網(wǎng)絡(luò)共享的內(nèi)容資源。文獻(xiàn)[9]中作者研究CCN中chunk位置的緩存策略問題,提出一個(gè)在CCN異構(gòu)基礎(chǔ)設(shè)施中緩存位置和搜索方案(CLS)。
雖然對(duì)CCN已經(jīng)做大量工作,但是用內(nèi)容緩存來優(yōu)化CCN中整個(gè)網(wǎng)絡(luò)性能沒有被考慮。而CCN中緩存優(yōu)化問題是平衡網(wǎng)絡(luò)負(fù)載、節(jié)省能源消耗和獲取綠色通信的一個(gè)最重要的問題。
文獻(xiàn)[10]將內(nèi)容緩存問題模擬成整數(shù)線性規(guī)劃問題,提 出 基 于 CRO(Chemical Reaction Optimization)的緩存算法,大大減少總的網(wǎng)絡(luò)流量。文獻(xiàn)[11]提出LUV-Path的緩存策略,這里所有傳輸路徑上的路由器隱式協(xié)作來決定是否緩存內(nèi)容,并且每個(gè)內(nèi)容緩存將分配一個(gè)值將LUV(Least Unified Value)和從提供商到反映其相對(duì)重要性的路由器距離連接在一起,來減少用戶延遲和網(wǎng)絡(luò)流量以及提供商的壓力。從能源效率和網(wǎng)絡(luò)性能權(quán)衡點(diǎn)的角度,文獻(xiàn)[12]通過考慮不同的能源效率來設(shè)計(jì)CCN的實(shí)際緩存策略。為平衡網(wǎng)絡(luò)性能和供應(yīng)商成本,文獻(xiàn)[13]提出協(xié)作式網(wǎng)內(nèi)存儲(chǔ)并設(shè)計(jì)一個(gè)整體模型來顯示路由內(nèi)容到客戶端的網(wǎng)絡(luò)性能和網(wǎng)絡(luò)成本,然后獲得最優(yōu)緩存策略。
對(duì)于內(nèi)容緩存決策策略需要從網(wǎng)絡(luò)性能和供應(yīng)商成本兩方面考慮。上述各種緩存策略雖部分實(shí)現(xiàn)網(wǎng)絡(luò)優(yōu)化,但仍有如下很多問題需要解決。
(1)需要考慮不同網(wǎng)絡(luò)拓?fù)鋵?duì)這些緩存策略的影響,針對(duì)不同網(wǎng)絡(luò)設(shè)計(jì)最優(yōu)緩存策略,獲得網(wǎng)絡(luò)性能和提供商成本的平衡。
(2)考慮終端用戶的緩存能力,來提高CCN網(wǎng)絡(luò)內(nèi)容交付。
(3)對(duì)CCN網(wǎng)絡(luò)中各個(gè)緩存節(jié)點(diǎn)的大小和個(gè)數(shù)的設(shè)置,每個(gè)緩存節(jié)點(diǎn)上緩存資源在不同應(yīng)用類型之間共享的方式以及考慮緩存對(duì)象對(duì)請(qǐng)求的可用性。
[1]Carofiglio G,Gallo M,Muscariello L,et al.Modeling data transfer in content-centric networking(extended version)[R].Research report.http://perso.rd.francetelecom.fr/muscariello,2011.
[2] Ming Zhongxing,Xu Mingwei,Wang Dan.Age-based cooperative caching in Information-Centric Networks,Computer Communications Workshops(INFOCOM WKSHPS),2012 IEEE Conference on[C].IEEE,2012: 268-273.
[3] 朱軼,糜正琨,王文鼐.一種基于內(nèi)容流行度的內(nèi)容中心網(wǎng)絡(luò)緩存概率置換策略[J].電子與信息學(xué)報(bào),2013,35(6):1305-1310.
[4] Chai Wei-koong,He Di-liang,Psaras Ioannis ,et al.Cache “Less for More” in information-centric networks[M]//Proceedings of the 11th International IFIP TC 6 Conference on Networking.Prague:Springer Berlin Heidelberg,May 21-25,2012: 27-40.
[5] Chai Wei-koong,He Di-liang,Psaras Ioannis,et al.Cache “Less for More” in information-centric networks (extended version)[J].Computer Communications,2013,36(7):758-770.
[6] 崔現(xiàn)東,劉江,黃韜,等.基于節(jié)點(diǎn)介數(shù)和替換率的內(nèi)容中心網(wǎng)絡(luò)網(wǎng)內(nèi)緩存策略[J].電子與信息學(xué)報(bào),2014,36(1).
[7] Lee Jihoon,Kim DaeYoub,Jang Myeongwuk,et al.Mobility management for mobile consumer devices in content centric networking (CCN).[C]//Consumer Electronics (ICCE),2012 IEEE International Conference on.Las Vegas,NV ,2012: 502-503.
[8] Lee Jihoon,Kim DaeYoub.Proxy-assisted content sharing using content centric networking (CCN)for resource-limited mobile consumer devices[J].Consumer Electronics,IEEE Transactions on,2011,57(2):477-483.
[9] Li Yang,Lin Tao,Tang Hui,et al.A chunk caching location and searching scheme in content centric networking [C]// Communications (ICC),2012 IEEE International Conference on.Ottawa,ON ,2012: 2655-2659.
[10]Xie Renchao,Huang Tao,Yu F.Richard,et al.Caching Design in Green Content Centric Networking Based on Chemical Reaction Optimization[C]//Green Computing and Communications (GreenCom),2013 IEEE and Internet of Things (iThings/CPSCom),IEEE International Conference on and IEEE Cyber,Physical and Social Computing.IEEE,2013: 46-50.
[11]Chen Xiaohu,Fan Qilin,Yin Hao.Caching in Information-Centric Networking: From a content delivery path perspective[C]//Innovations in Information Technology (IIT),2013 9th International Conference on.Abu Dhabi,2013: 48-53.
[12]Lafond Sebastien,Trinh Tuan Anh.Energy efficient thresholds for cached content in Content Centric Networking [C]// Digital Communications-Green ICT (TIWDC),2013 24th Tyrrhenian International Workshop on.Genoa,2013: 1-6.
[13]Li Yanhua,Yaiyong Wen,Wen Yongang,et al.Coordinating innetwork caching in content-centric networks: model and analysis[C]//Distributed Computing Systems (ICDCS),2013 IEEE 33rd International Conference on.Philadelphia,PA,2013: 62-72.