魏晨,易波
東北大學(xué),計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽 110169
車載社交網(wǎng)絡(luò)(Vehicular Social Network,VSN)是由車輛自組織網(wǎng)絡(luò)(VANET)和社交網(wǎng)絡(luò)的相關(guān)概念和功能組合而成的移動(dòng)通信系統(tǒng)[1-2],它是一種允許車輛、行人及基站互聯(lián)的網(wǎng)絡(luò)架構(gòu),其中涉及到了移動(dòng)網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)以及傳統(tǒng)通信網(wǎng)絡(luò)等多種網(wǎng)絡(luò)結(jié)構(gòu)。作為移動(dòng)社交網(wǎng)絡(luò)(Mobile Social Network,MSN)的一個(gè)典型應(yīng)用場(chǎng)景,VSN 為駕駛?cè)撕统丝吞峁┦孢m的體驗(yàn),已經(jīng)引起了廣泛關(guān)注。但是,眾多車輛網(wǎng)絡(luò)服務(wù)的暴增,使得傳統(tǒng)的互聯(lián)網(wǎng)架構(gòu)已無法滿足日益增長(zhǎng)的網(wǎng)絡(luò)需求。
以網(wǎng)內(nèi)緩存為主要特征的ICN 可以使用戶從附近節(jié)點(diǎn)而不是遠(yuǎn)程服務(wù)器檢索數(shù)據(jù),它的緩存技術(shù)有助于降低獲取內(nèi)容所需的網(wǎng)絡(luò)時(shí)延、減小由于鏈路或者節(jié)點(diǎn)失效對(duì)內(nèi)容獲取帶來的負(fù)面影響[3]等。這種通信模式的全新變革帶來許多優(yōu)勢(shì),比如高效的內(nèi)容分發(fā)、天然地支持移動(dòng)性[4],故成為可能代替IP 的新型范式。命名數(shù)據(jù)網(wǎng)絡(luò)(Named Data Networking, NDN)是一個(gè)比較成熟的ICN 體系結(jié)構(gòu)[5],它依據(jù)內(nèi)容請(qǐng)求和網(wǎng)內(nèi)緩存有效解決了傳統(tǒng)通信方式中因無法就近獲取所需內(nèi)容而導(dǎo)致網(wǎng)絡(luò)資源浪費(fèi)的問題。由于ICN 的種種優(yōu)勢(shì),越來越多的研究者將ICN 技術(shù)應(yīng)用到VSN 中。但VSN 的移動(dòng)性令拓?fù)漕l繁變化,導(dǎo)致節(jié)點(diǎn)之間的連續(xù)性無法保證,端到端的路徑傳輸無法維持,所以需要充分挖掘用戶之間的關(guān)系以及人類的移動(dòng)特性,判斷是否緩存內(nèi)容,使用戶可以及時(shí)獲取需要的信息。雖然目前對(duì)于ICN 緩存策略的研究已經(jīng)有了階段性的創(chuàng)新,但是如何將ICN 更好的應(yīng)用于VSN 中以適應(yīng)動(dòng)態(tài)環(huán)境并增強(qiáng)其緩存效率,仍值得分析和研究。
本文將利用ICN 中的NDN 網(wǎng)絡(luò)架構(gòu)和VSN 相結(jié)合,側(cè)重于研究符合車輛快速移動(dòng)場(chǎng)景下的緩存決策,提出一種基于內(nèi)容流行度和朋友關(guān)系的緩存決策策略和考慮到節(jié)點(diǎn)重要性的緩存替換策略,以解決動(dòng)態(tài)環(huán)境下的緩存放置問題,將ICN 網(wǎng)內(nèi)緩存發(fā)揮出最大的優(yōu)勢(shì),從而達(dá)到快速獲取內(nèi)容的目的,滿足車載用戶的需求。
緩存機(jī)制主要解決了緩存什么(What)、在哪緩存(Where)以及怎么緩存(How)的問題。根據(jù)內(nèi)容緩存的位置,緩存機(jī)制可分為路徑相關(guān)緩存(onpath caching)[6]和路徑無關(guān)緩存(off-path caching)[7]。ICN 默認(rèn)將數(shù)據(jù)包在每個(gè)反向路由器上都進(jìn)行緩存,稱為 CEE(Cache Everything Everywhere)緩存決策機(jī)制。事實(shí)上,這在某種程度上會(huì)造成資源浪費(fèi),并且過高的緩存替換率會(huì)導(dǎo)致緩存內(nèi)容穩(wěn)定性下降,影響緩存命中率。針對(duì)這一緩存機(jī)制的不足,文獻(xiàn)[8]提出了一種基于邊緣緩存的ICN 智能內(nèi)容分發(fā)解決方案,根據(jù)內(nèi)容的流行度、用戶的移動(dòng)性和社會(huì)關(guān)系決定是否緩存,從而有效提高內(nèi)容傳輸效率。
緩存替換策略旨在選擇合適的替換算法更新緩存內(nèi)容。在ICN 中,根據(jù)車輛間的緩存策略對(duì)內(nèi)容存儲(chǔ)(Content Store,CS)中的內(nèi)容進(jìn)行替換。先進(jìn)先出(First In First Out,F(xiàn)IFO)、最近最少使用機(jī)制(Least Recently Used,LRU)、最少頻繁使用(Least Frequently Used,LFU)是針對(duì)ICN 緩存提出的基本緩存策略。文獻(xiàn)[9]提出了一種基于值的緩存替換方案,使用實(shí)用函數(shù)從延遲、流行度等參數(shù)確定從緩存中所要?jiǎng)h除的項(xiàng),在命中率、網(wǎng)絡(luò)內(nèi)延遲等方面都有一定的優(yōu)勢(shì)。文獻(xiàn)[10]結(jié)合緩存的新鮮度要求提出了一種最小新鮮優(yōu)先(LFF)緩存替換策略?;趥鞲衅魑磥硎录臅r(shí)間序列預(yù)測(cè),剔除無效緩存內(nèi)容,提高了服務(wù)器命中率、減少了響應(yīng)延遲。
移動(dòng)自組織網(wǎng)絡(luò)中引入ICN 新型范式是一個(gè)新的跨領(lǐng)域的研究[11],文獻(xiàn)[12]闡述了盡管 ICN 在移動(dòng)無線環(huán)境中具有潛在的優(yōu)勢(shì),但仍有幾個(gè)重大的研究挑戰(zhàn)有待解決,包括本地緩存內(nèi)容的發(fā)現(xiàn)、能源效率、實(shí)際部署問題。在 NICNC 機(jī)制[13]中,路由器根據(jù)其對(duì)社區(qū)的節(jié)點(diǎn)重要性進(jìn)行緩存決策,使緩存的內(nèi)容在時(shí)空分布上更加合理。文獻(xiàn)[14]提出一種博弈論方法來共同確定 ICN 中的緩存和定價(jià)方案,使用概率模型研究中繼節(jié)點(diǎn)和內(nèi)容提供者之間的非合作游戲的納什策略,其中 ICN 緩存成本隨內(nèi)容受歡迎程度而變化。文獻(xiàn)[15]針對(duì)以信息為中心的無線傳感器網(wǎng)絡(luò)(ICN-WSN)提出了一種協(xié)同緩存策略。該策略由節(jié)點(diǎn)介數(shù)的緩存大小、數(shù)據(jù)替換頻率的緩存決策和內(nèi)容值的緩存替換算法三部分組成。在文獻(xiàn)[16]中,作者通過從VANET 的角度研究ICN 的命名、緩存等不同方面,簡(jiǎn)要討論了ICN在車輛環(huán)境中的適用性,還指出了主要的挑戰(zhàn)以及未來研究方向。在文獻(xiàn)[17]中,作者通過聯(lián)合考慮NDN 中的內(nèi)容流行度、底層網(wǎng)絡(luò)拓?fù)?、轉(zhuǎn)發(fā)策略和路徑緩存服務(wù)提出緩存放置策略,該策略在任意拓?fù)浣Y(jié)構(gòu)下,都有較好的響應(yīng)速度。Su 等人[18]提出了一個(gè)以內(nèi)容為中心的車載網(wǎng)絡(luò)(CCVN)的新框架,內(nèi)容服務(wù)器中的內(nèi)容根據(jù)車輛密度和內(nèi)容流行度確定的優(yōu)先級(jí)進(jìn)行存儲(chǔ)。但是這項(xiàng)工作并沒有考慮移動(dòng)性問題。目前國(guó)內(nèi)外學(xué)者在ICN 緩存和置換策略等方面已經(jīng)取得了一定的成果,但是對(duì)于如何更好的將ICN 應(yīng)用于VSN 中以適應(yīng)環(huán)境動(dòng)態(tài)變化,有效提高緩存效率方面還面臨諸多挑戰(zhàn)。
針對(duì)上述問題,本文在已有ICN 緩存策略的基礎(chǔ)上,提出了一個(gè)適合于動(dòng)態(tài)VSN 的緩存決策策略和緩存替換策略。根據(jù)內(nèi)容流行度和朋友關(guān)系這兩個(gè)指標(biāo),每個(gè)節(jié)點(diǎn)判斷是否緩存內(nèi)容。然后為了增加緩存的多樣性,滿足不同用戶的請(qǐng)求,根據(jù)流行度對(duì)內(nèi)容存儲(chǔ)庫(kù)進(jìn)行分區(qū)。最后提出一種緩存替換策略,當(dāng)節(jié)點(diǎn)緩存區(qū)已滿時(shí),合理進(jìn)行置換。本文所提出的機(jī)制在一定程度上可以彌補(bǔ)當(dāng)ICN 應(yīng)用于VSN 時(shí)在動(dòng)態(tài)環(huán)境下緩存方面的不足,減少網(wǎng)絡(luò)開銷,避免頻繁的緩存替換操作,以適應(yīng)車載用戶的動(dòng)態(tài)請(qǐng)求。
首先,本文利用內(nèi)容流行度和朋友關(guān)系作為判斷是否緩存內(nèi)容的重要依據(jù),所以在每個(gè)具有NDN功能的移動(dòng)節(jié)點(diǎn)的原始結(jié)構(gòu)中添加兩種數(shù)據(jù)結(jié)構(gòu),分別是用于實(shí)時(shí)監(jiān)控全網(wǎng)節(jié)點(diǎn)中本地內(nèi)容流行度變化的內(nèi)容流行度監(jiān)控表(Content Popularity Monitor Table,CPMT)和用于記錄節(jié)點(diǎn)之間關(guān)系信息的關(guān)系表(Relational Table,RT),在此對(duì)這兩種數(shù)據(jù)結(jié)構(gòu)進(jìn)行詳細(xì)介紹。
本文以 CPMT 實(shí)時(shí)監(jiān)測(cè)全網(wǎng)各節(jié)點(diǎn)本地內(nèi)容流行度的變化作為預(yù)測(cè)內(nèi)容的流行度依據(jù)。通過 CPMT對(duì)采樣時(shí)間段內(nèi)節(jié)點(diǎn)中不同類別興趣包的到達(dá)次數(shù)進(jìn)行統(tǒng)計(jì),判斷指定內(nèi)容是否流行。其中CPMT 模塊的數(shù)據(jù)結(jié)構(gòu)如表1所示,包括獲得某段時(shí)間內(nèi)指定內(nèi)容的請(qǐng)求次數(shù)以及預(yù)測(cè)指定內(nèi)容的請(qǐng)求次數(shù)。
表1 內(nèi)容流行度監(jiān)控表Table 1 Content popularity monitor table
RT 是在NDN 結(jié)構(gòu)基礎(chǔ)上結(jié)合節(jié)點(diǎn)移動(dòng)性需求添加的節(jié)點(diǎn)結(jié)構(gòu),主要用于記錄節(jié)點(diǎn)之間的關(guān)系。RT 結(jié)構(gòu)如表2所示,每個(gè)條目包括節(jié)點(diǎn)ID、內(nèi)容類型和節(jié)點(diǎn)中心度。在本設(shè)計(jì)中規(guī)定,當(dāng)節(jié)點(diǎn)之間的關(guān)系度達(dá)到一定閾值時(shí)定義為朋友節(jié)點(diǎn),只有朋友節(jié)點(diǎn)之間可以相互交換緩存內(nèi)容,以避免不必要置換導(dǎo)致的額外網(wǎng)絡(luò)開銷。
表2 關(guān)系表Table 2 Relational table
由于節(jié)點(diǎn)的獨(dú)特性,每個(gè)內(nèi)容類型可能在不同節(jié)點(diǎn)具有不同的流行度,因此我們基于每個(gè)節(jié)點(diǎn)的本地請(qǐng)求頻率設(shè)計(jì)內(nèi)容類型流行度預(yù)測(cè)方法。并采用次數(shù)對(duì)周期進(jìn)行更新,即當(dāng)有新的興趣包到達(dá)時(shí),設(shè)置的計(jì)數(shù)器次數(shù)累加,當(dāng)次數(shù)達(dá)到規(guī)定的閾值N時(shí),計(jì)數(shù)器清零,進(jìn)入下一周期,依次循環(huán)統(tǒng)計(jì)。所以,對(duì)于節(jié)點(diǎn)i,內(nèi)容類型Typek在周期n內(nèi)的流行度的計(jì)算方法用公式(1)表示。
由上式可知,對(duì)于每個(gè)內(nèi)容類型的流行度由該內(nèi)容類型在周期n內(nèi)的請(qǐng)求次數(shù)決定。
節(jié)點(diǎn)i上的內(nèi)容類型Typek在周期n內(nèi)的請(qǐng)求次數(shù)Creq ni(Tpyek)的初始值設(shè)置為上一時(shí)刻的請(qǐng)求次數(shù),之后根據(jù)上兩段時(shí)間內(nèi),該內(nèi)容類型請(qǐng)求變化值進(jìn)行調(diào)整,調(diào)整值用公式(2)表示。
其中,α+β= 1,越靠近當(dāng)前內(nèi)容請(qǐng)求次數(shù),加權(quán)值越重,即β≥α,符合最近的變化應(yīng)當(dāng)分配更高權(quán)重這一特征。綜上所述,節(jié)點(diǎn)i上的內(nèi)容類型Typek在周期n內(nèi)的請(qǐng)求次數(shù)估計(jì)方法用公式(3)表示。
通常,對(duì)內(nèi)容的請(qǐng)求數(shù)量遵循 Zipf 定律,所以對(duì)于普通車輛節(jié)點(diǎn)考慮根據(jù)內(nèi)容流行度將 CS 劃分成流行區(qū) CS_P 和非流行區(qū) CS_N。其中,CS_P 占緩存區(qū) 80%;CS_N 占緩存區(qū) 20%。分區(qū)的好處在于:減少查找 CS 帶來的時(shí)延,增加緩存的多樣性。
因?yàn)槊總€(gè)節(jié)點(diǎn)的興趣偏好有所不同,具有相似性的節(jié)點(diǎn)匯集成一個(gè)社區(qū),相比于社區(qū)外的節(jié)點(diǎn)聯(lián)系更頻繁。在本設(shè)計(jì)中,利用節(jié)點(diǎn)之間的平均聯(lián)系時(shí)長(zhǎng)和聯(lián)系頻率刻畫節(jié)點(diǎn)之間的關(guān)系,關(guān)系度越高的節(jié)點(diǎn)請(qǐng)求內(nèi)容的相似度越高,成為一個(gè)社區(qū)的可能性就越大,并將度中心性大的節(jié)點(diǎn)設(shè)為簇頭,以維護(hù)社區(qū)內(nèi)和社區(qū)間的聯(lián)系。
節(jié)點(diǎn)之間的平均聯(lián)系時(shí)長(zhǎng)用公式(4)表示。
其中,T表示當(dāng)前時(shí)間,f ij(t)表示節(jié)點(diǎn)i和節(jié)點(diǎn)j在時(shí)間t內(nèi)是否聯(lián)系,如果節(jié)點(diǎn)i和節(jié)點(diǎn)j保持聯(lián)系,那么f ij(t)= 1,否則為0。平均聯(lián)系時(shí)長(zhǎng)越長(zhǎng),它們從時(shí)間上描述的關(guān)系越可靠。
節(jié)點(diǎn)間聯(lián)系頻率用公式(5)表示。
其中,N con(i,j)表示節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的聯(lián)系次數(shù),N con(i)表示節(jié)點(diǎn)i和網(wǎng)絡(luò)中所有節(jié)點(diǎn)的聯(lián)系次數(shù)。
綜上所述,朋友關(guān)系度用公式(6)表示。
Fri(i,j)衡量了節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的關(guān)系度,為判斷是否緩存內(nèi)容提供了主要依據(jù)。其中,α和β分別是平均聯(lián)系時(shí)長(zhǎng)和聯(lián)系頻率的權(quán)重因子,且α+β=1。因?yàn)樵跀?shù)據(jù)包的傳輸中必須衡量的一個(gè)因素是數(shù)據(jù)包內(nèi)容的尺寸,在興趣包的設(shè)計(jì)中需要將朋友節(jié)點(diǎn)作為其中的一個(gè)信息進(jìn)行傳遞,導(dǎo)致平均聯(lián)系時(shí)長(zhǎng)占比更重,故在本設(shè)計(jì)中設(shè)置α=0.6,β=0.4。
基于本地內(nèi)容流行監(jiān)控度表以及簇頭節(jié)點(diǎn)的集中收集,及時(shí)反饋上層節(jié)點(diǎn),提出了適合快速移動(dòng)場(chǎng)景下的緩存機(jī)制。緩存策略根據(jù)內(nèi)容的流行程度和目的節(jié)點(diǎn)是否為朋友節(jié)點(diǎn)這兩個(gè)因素進(jìn)行緩存,具體緩存策略分成四種情況:
(1)對(duì)于返回的數(shù)據(jù)包流行度高且是朋友節(jié)點(diǎn)請(qǐng)求的,無論此內(nèi)容在本節(jié)點(diǎn)的 CS 中是否存在節(jié)點(diǎn),都將緩存在 CS_P 中且標(biāo)記為重點(diǎn)緩存對(duì)象。
(2)對(duì)于流行度高,但返回?cái)?shù)據(jù)包是非朋友節(jié)點(diǎn)請(qǐng)求的,此內(nèi)容之前在 CS 表的流行區(qū),仍緩存在CS_P 中且標(biāo)記為重點(diǎn)緩存對(duì)象,若內(nèi)容之前在 CS_N 或者在 CS 中查找不到此內(nèi)容,則緩存在 CS_P 中,但不標(biāo)記為重點(diǎn)緩存對(duì)象。
(3)對(duì)于流行度不高的內(nèi)容,但是朋友節(jié)點(diǎn)請(qǐng)求的數(shù)據(jù)包,若此內(nèi)容之前在 CS_P,則緩存在 CS_N 中且標(biāo)記為重點(diǎn)緩存對(duì)象,若內(nèi)容在 CS 中查找不到此內(nèi)容,則緩存到CS_N 中。
(4)對(duì)于流行度不高的內(nèi)容且不是朋友節(jié)點(diǎn)請(qǐng)求的數(shù)據(jù)包,則放棄緩存。
考慮到部分?jǐn)?shù)據(jù)包在本社區(qū)沒有請(qǐng)求到內(nèi)容,最后通過簇頭節(jié)點(diǎn)將該興趣包轉(zhuǎn)發(fā)出去。當(dāng)數(shù)據(jù)包返回到請(qǐng)求者時(shí),應(yīng)該考慮是否需要將數(shù)據(jù)包備份至社區(qū)內(nèi)的簇頭節(jié)點(diǎn)。即興趣包在社區(qū)內(nèi)進(jìn)行路由經(jīng)過簇頭節(jié)點(diǎn)時(shí),簇頭節(jié)點(diǎn)會(huì)對(duì)其返回的數(shù)據(jù)包的流行程度進(jìn)行預(yù)測(cè)。若返回的內(nèi)容數(shù)據(jù)流行程度高于一定閾值,則將該興趣包標(biāo)記為需要備份至簇頭節(jié)點(diǎn),待數(shù)據(jù)包返回至請(qǐng)求節(jié)點(diǎn)時(shí),需要轉(zhuǎn)發(fā)數(shù)據(jù)包至簇頭節(jié)點(diǎn)進(jìn)行備份,以便滿足社區(qū)內(nèi)其他節(jié)點(diǎn)的需求,這樣可以降低用戶獲得所需信息的平均時(shí)延,提高包交付率。
上述中,如果節(jié)點(diǎn)的緩存空間已滿時(shí),需要根據(jù)緩存替換策略合理地緩存更符合需求的內(nèi)容。大量的研究表明,緩存替換策略的選擇對(duì)網(wǎng)絡(luò)整體性能的影響并不大,通常默認(rèn)采用 LRU 作為替換策略。所以在本設(shè)計(jì)中,也將采用 LRU 策略置換出 CS_P或者 CS_N 中的內(nèi)容,并對(duì)標(biāo)記為重點(diǎn)緩存對(duì)象的內(nèi)容給予一次“逃生”機(jī)會(huì),即若緩存替換內(nèi)容為重點(diǎn)緩存對(duì)象時(shí),會(huì)清空該標(biāo)記獲得一次保留機(jī)會(huì),繼而尋找其他最近最久未使用的內(nèi)容進(jìn)行置換,直至新的緩存空間容量滿足現(xiàn)有需求。在該過程中考慮到緩存對(duì)象內(nèi)容的重要性,可以有效避免頻繁的置換操作,增加緩存內(nèi)容的穩(wěn)定性。
本文提出的CVR 機(jī)制基于機(jī)會(huì)網(wǎng)絡(luò)環(huán)境(Opportunistic Network Environment,ONE)仿真軟件實(shí)現(xiàn),ONE 是一款針對(duì)機(jī)會(huì)網(wǎng)絡(luò)的仿真實(shí)現(xiàn)設(shè)計(jì)的軟件[19],基于離散事件模擬引擎,在每次模擬時(shí)間間隔內(nèi)更新各個(gè)模塊內(nèi)容,各模塊之間相互配合完成整個(gè)模擬功能。ONE 仿真平臺(tái)的主要模塊功能和類介紹如下。
(1)核心模塊(Core)
Core 模塊包含了模擬器的主要功能,包含的主要類如表3所示。首先讀取配置文件,對(duì)仿真環(huán)境進(jìn)行初始化操作,然后完成各個(gè)模塊的配置工作,最后初始化模擬時(shí)間,在時(shí)間間隔內(nèi)更新各個(gè)模塊。
(2)移動(dòng)模塊(Movement)
移動(dòng)模型規(guī)定著網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的移動(dòng)規(guī)則。既可以使用 ONE 中默認(rèn)的六種移動(dòng)模型,同時(shí)也可以根據(jù)需求自定義模型。在本設(shè)計(jì)中采用最短路徑地圖移動(dòng)模型(SPMB,ShortestPathMapBasedMovement)模型,同時(shí)加入了興趣點(diǎn)(如商城,學(xué)校),構(gòu)成興趣點(diǎn)移動(dòng)模型(PoI Movement Model,PIMM),使車輛具有人性化的移動(dòng),而不僅僅是隨機(jī)選擇一個(gè)目的地作為下次的移動(dòng)方向。移動(dòng)模塊包含的主要類如表4所示。
表3 Core 模塊主要類Table 3 Main classes of core module
表4 Movement 模塊主要類Table 4 Main classes of core module
本文仿真場(chǎng)景設(shè)置如表5所示,共設(shè)置115 個(gè)節(jié)點(diǎn),其中100 個(gè)節(jié)點(diǎn)基于PIMM 移動(dòng)模型運(yùn)動(dòng),15 個(gè)節(jié)點(diǎn)基于固定軌跡運(yùn)動(dòng)。
本文使用包交付率、平均時(shí)延和網(wǎng)絡(luò)開銷比率等三個(gè)性能指標(biāo)將設(shè)計(jì)的緩存機(jī)制和傳統(tǒng)NDN緩存策略CEE+LRU,以及傳統(tǒng)NDN 緩存策略CEE+FIFO 對(duì)比。各對(duì)比指標(biāo)的定義如下。
(1)包交付率
包交付率指的是所有交付的包的數(shù)量與所有發(fā)起包的數(shù)量的比值,交付率越高,表示興趣包的響應(yīng)效率越高,計(jì)算方法用公式(7)表示。
其中,delivered表示所有交付包的數(shù)量,created表示所有發(fā)起包的數(shù)量。
(2)平均時(shí)延
平均時(shí)延指的是所有包從創(chuàng)建到成功交付所需要的平均時(shí)長(zhǎng),計(jì)算方法用公式(8)表示。
表5 仿真配置Table 5 Simulation setup
其中,delayofMessagei表示包i交付成功經(jīng)歷的時(shí)長(zhǎng)。
(3)網(wǎng)絡(luò)開銷比率
網(wǎng)絡(luò)開銷比率衡量包為了達(dá)到目的節(jié)點(diǎn)需要轉(zhuǎn)發(fā)的次數(shù),側(cè)面反映了節(jié)點(diǎn)緩存內(nèi)容的有效性。計(jì)算方法用公式(9)表示。
其中,relayed表示所有生成包被轉(zhuǎn)發(fā)的總次數(shù)。
圖1-3 顯示了不同緩存機(jī)制下的各項(xiàng)指標(biāo)呈現(xiàn)情況。
圖1 不同緩存機(jī)制下的包交付率Fig.1 Delivery ratio under different caching mechanisms
圖2 不同緩存機(jī)制下的平均時(shí)延Fig.2 Average delay under different caching mechanisms
圖3 不同緩存機(jī)制下的網(wǎng)絡(luò)開銷比率Fig.3 Network overhead ratio under different caching mechanisms
從圖1可以看出,本文所提機(jī)制CVR 的包交付率隨著運(yùn)行時(shí)間的增加逐漸提升,最終比運(yùn)行初期提高了6%~7%,基本維持在95%。相比CEE+FIFO和CEE+LRU 機(jī)制分別提高了2.5%和1.3%。首先,這是因?yàn)镃VR 機(jī)制會(huì)根據(jù)緩存內(nèi)容的重要程度有選擇性的在路由器中進(jìn)行緩存,不像CEE 機(jī)制在每個(gè)路由器上都進(jìn)行緩存。其次,在運(yùn)行初期,由于節(jié)點(diǎn)對(duì)興趣包的請(qǐng)求具有一定的隨機(jī)性和偶然性,所以對(duì)內(nèi)容流行度的預(yù)測(cè)并不準(zhǔn)確,導(dǎo)致包交付率較低。隨著運(yùn)行時(shí)間的增加,CPMT 表構(gòu)建逐漸完善且預(yù)測(cè)較仿真初始階段更為準(zhǔn)確,而且朋友關(guān)系較為穩(wěn)定,同時(shí)考慮這兩方面因素使得緩存中的內(nèi)容更接近節(jié)點(diǎn)需求,故包交付率越來越高。
從圖2可知,運(yùn)行初期,由于節(jié)點(diǎn)對(duì)緩存內(nèi)容流行度并不敏感,導(dǎo)致時(shí)延變大。但是隨著時(shí)間的增加,CVR 機(jī)制的平均時(shí)延相比CEE+FIFO 和CEE+LRU 機(jī)制分別下降17.1%和9.7%,這是因?yàn)樽裱?Zipf 定律,大部分空間用于緩存流行度高的內(nèi)容,以便響應(yīng)社區(qū)內(nèi)其他節(jié)點(diǎn)的快速請(qǐng)求。同時(shí),20%的緩存空間保留給朋友節(jié)點(diǎn)對(duì)于流行度略低的內(nèi)容請(qǐng)求,增加了緩存的多樣性,這使節(jié)點(diǎn)更易獲取到所需要的信息,從而有效降低了延遲。從網(wǎng)絡(luò)開銷比率來看,CVR 機(jī)制在緩存替換策略中考慮到了節(jié)點(diǎn)緩存內(nèi)容的重要性,從而避免了頻繁的置換操作,最終使得開銷減少,相比CEE+FIFO 和CEE+LRU 機(jī)制分別下降10.3%和7.6%。
本文通過對(duì)現(xiàn)有緩存技術(shù)進(jìn)行分析,針對(duì)以往研究中對(duì)于VSN 中快速移動(dòng)場(chǎng)景下的緩存機(jī)制例如緩存冗余等不足,提出了基于內(nèi)容流行度和朋友關(guān)系度的內(nèi)容中心VSN 緩存決策算法。其次,根據(jù)節(jié)點(diǎn)的重要程度制定緩存替換策略,有效避免了頻繁的置換操作。為驗(yàn)證本文方法的可行性和有效性,對(duì)算法進(jìn)行了仿真實(shí)現(xiàn),并與基準(zhǔn)機(jī)制進(jìn)行對(duì)比分析。從實(shí)驗(yàn)結(jié)果可以看出,本文設(shè)計(jì)的緩存機(jī)制明顯的提高了興趣包的響應(yīng)效率,并在保證包投遞率的前提下,大大的減少了網(wǎng)絡(luò)開銷。下一步工作將會(huì)考慮緩存機(jī)制中及時(shí)類型的數(shù)據(jù)緩存,以及關(guān)于這類數(shù)據(jù)的過濾和緩存問題。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。