趙國鋒,邢 媛,段 潔,田瑞林
(1. 重慶郵電大學(xué) 未來網(wǎng)絡(luò)研究中心,重慶 400065; 2. 重慶市光通信與網(wǎng)絡(luò)高校重點實驗室,重慶 400065)
隨著互聯(lián)網(wǎng)技術(shù)與應(yīng)用的飛速發(fā)展以及互聯(lián)網(wǎng)用戶的快速增長,傳統(tǒng)的因特網(wǎng)體系架構(gòu)逐漸暴露出可擴(kuò)展性差、安全性低、移動性支持不足等諸多問題。為了解決這些問題,學(xué)術(shù)界提出了一類以內(nèi)容為中心的新型網(wǎng)絡(luò)體系架構(gòu),統(tǒng)稱為信息中心網(wǎng)絡(luò)(information centric networking, ICN),典型的ICN研究項目有data-oriented network architecture (DONA)[1],publish-subscribe internet routing paradigm (PSIRP)[2],network of information (NetInf)[3],content-centric networking (CCN)[4]和 named data networking (NDN)[5]。在這類ICN架構(gòu)設(shè)計中,每個路由器都具有內(nèi)置緩存的功能,旨在為消費者提供各種各樣的緩存服務(wù),同時緩解快速增長的網(wǎng)絡(luò)流量對網(wǎng)絡(luò)帶寬造成的嚴(yán)峻壓力。由于ICN采用基于名字的路由方式,因此,消費者可以通過內(nèi)容名從緩存節(jié)點直接獲取請求的信息。
ICN網(wǎng)絡(luò)級內(nèi)置緩存的特性能夠減輕網(wǎng)絡(luò)負(fù)載、降低內(nèi)容傳播時延和提高緩存資源利用率[6],因此,眾多研究者期望將ICN思想應(yīng)用到物聯(lián)網(wǎng)(internet of things, IoT)架構(gòu)設(shè)計中,目的是實現(xiàn)因特網(wǎng)中數(shù)據(jù)的快速交互[7]。Pentikousis等[8]提出了ICN機(jī)制部署于物聯(lián)網(wǎng)環(huán)境的因特網(wǎng)草案,草案中描述了幾個ICN應(yīng)用場景,討論了將ICN機(jī)制應(yīng)用于IoT架構(gòu)存在的關(guān)鍵問題,提出了在IoT中運(yùn)用命名數(shù)據(jù)的思想。使用命名數(shù)據(jù)無疑是將ICN思想應(yīng)用于IoT部署的關(guān)鍵因素。命名數(shù)據(jù)可以使信息對網(wǎng)絡(luò)層透明、可識別,并且能夠有效地管理IoT內(nèi)的協(xié)作。事實證明,因特網(wǎng)草案中的研究成果對ICN應(yīng)用于IoT領(lǐng)域的科學(xué)研究作出了突出貢獻(xiàn)。相應(yīng)地,Heidemann等[9]也證實了命名數(shù)據(jù)在IoT中的諸多優(yōu)勢,同時描述了一種支持命名數(shù)據(jù)和網(wǎng)內(nèi)處理的軟件架構(gòu)。
大量異質(zhì)緩存節(jié)點參與物聯(lián)網(wǎng)應(yīng)用將會引起可擴(kuò)展性及兼容性等問題。特別地,有限的硬件資源將使大量網(wǎng)絡(luò)設(shè)備在存儲、計算和通信能力等方面受到限制。Song等在文獻(xiàn)[10]中解決了硬件資源限制問題,主要依據(jù)CCN基本模型和核心思想提出了以內(nèi)容為中心的方案,將資源有限的弱網(wǎng)絡(luò)設(shè)備中的超載任務(wù)(如存儲、發(fā)布和獲取)映射到資源充足的強(qiáng)網(wǎng)絡(luò)設(shè)備中,最終實現(xiàn)了資源的共享和信息的交互。節(jié)點映射方案雖然解決了弱網(wǎng)絡(luò)設(shè)備資源受限問題,但強(qiáng)弱網(wǎng)絡(luò)設(shè)備間頻繁的任務(wù)調(diào)度容易產(chǎn)生大量的信號交換開銷。
ICN網(wǎng)絡(luò)內(nèi)置緩存及移動性支持等特性使其可以很好地支持物聯(lián)網(wǎng)應(yīng)用場景(如家庭網(wǎng)絡(luò),車聯(lián)網(wǎng)等)。Ravindran等[11]詳細(xì)說明了如何將ICN機(jī)制應(yīng)用于家庭網(wǎng)絡(luò),同時強(qiáng)調(diào)了構(gòu)建一個能夠處理家庭網(wǎng)絡(luò)中設(shè)備、服務(wù)和用戶需求等多樣性的同質(zhì)平臺的重要性。ICN基于名字的路由方式和網(wǎng)絡(luò)內(nèi)置緩存的特性使其在克服車聯(lián)網(wǎng)(vehicular ad hoc networks, VANETs)[12]中諸如快速變化的拓?fù)?、短暫和間接的車輛連接等方面具有明顯優(yōu)勢。對于VANET-ICN中的緩存策略,Deng等[13]認(rèn)為采用簡單的處處緩存策略(leave copy everywhere, LCE)[14]會降低緩存利用率,進(jìn)而浪費緩存資源。因此,提出了VANETs中運(yùn)用NDN思想的分布式概率緩存(distributed probabilistic caching, DPC)策略。DPC策略中,節(jié)點依據(jù)用戶需求、車輛重要性以及接收者和發(fā)送者間的相對運(yùn)動共同做出緩存決策。分布式策略中每個節(jié)點獨立地執(zhí)行緩存策略,減少了節(jié)點間不必要的信號交換開銷。
Quevedo等[15]認(rèn)為IoT環(huán)境中的用戶更趨向于請求最新的信息,因此,提出了用戶驅(qū)動的信息新鮮度機(jī)制,其中信息新鮮度指內(nèi)容在緩存中逗留的時間。首先IoT用戶在興趣包中添加請求內(nèi)容的新鮮度值,其次內(nèi)容源依據(jù)不同用戶的新鮮度要求為內(nèi)容設(shè)置恰當(dāng)?shù)男迈r度值。緩存節(jié)點中的內(nèi)容在新鮮度值到期前被移除,從而避免了網(wǎng)絡(luò)中存儲過時的信息。然而,用戶請求過去某時刻產(chǎn)生的歷史信息時,新鮮度機(jī)制中的節(jié)點通過簡單地內(nèi)容名匹配,誤解為緩存中已存有請求的信息,進(jìn)而不斷地用最新的信息作為應(yīng)答,而不是將興趣包轉(zhuǎn)發(fā)至內(nèi)容源。最糟糕的情況為用戶永遠(yuǎn)接收不到正確的信息。
為了滿足物聯(lián)網(wǎng)用戶對信息準(zhǔn)確度,尤其是時間維度的嚴(yán)格要求,本文采用以信息為中心的ICN思想,提出了IoT環(huán)境中時間驅(qū)動的普適性緩存方案。方案主要由時間匹配算法和緩存策略兩部分組成,時間匹配算法用于向消費者返回時間容忍閾值內(nèi)的內(nèi)容,緩存策略用于對到達(dá)節(jié)點的數(shù)據(jù)包做出緩存決策。
IoT環(huán)境中各種各樣的應(yīng)用程序產(chǎn)生的信息量不計其數(shù),且相同應(yīng)用在不同時刻產(chǎn)生的信息可能截然不同。當(dāng)物聯(lián)網(wǎng)用戶對信息準(zhǔn)確度提出要求,尤其是時間維度要求較高時,已有的ICN緩存機(jī)制不再適用。圖1說明了已有的ICN緩存機(jī)制的操作過程。例如,ConsumerA發(fā)送名字為“/Name1/Latest Temperature”的興趣包,興趣包發(fā)送路徑上的路由器解析該名字,并查看緩存中是否存有ConsumerA請求的內(nèi)容。依據(jù)已有的ICN緩存機(jī)制,若節(jié)點匹配到Name1則將內(nèi)容返回用戶。圖1中路由器R6的內(nèi)容存儲(content store,CS)中恰巧存有名字為Name1的條目,則R6將數(shù)據(jù)包沿興趣包發(fā)送路徑原路返回至用戶。然而,用戶收到的信息可能為某時刻過時的溫度信息,而非最近的溫度信息。
圖1 已有的ICN緩存機(jī)制Fig.1 Existing ICN cache mechanism
現(xiàn)有的ICN緩存機(jī)制中,節(jié)點收到攜帶有最新消息的數(shù)據(jù)包時,通過簡單地內(nèi)容名匹配,錯誤地認(rèn)為緩存中已經(jīng)存儲的信息與新收到的信息相同,從而拒絕更新陳舊的信息。該節(jié)點收到后續(xù)請求時,僅通過匹配內(nèi)容名,將緩存中已有的舊信息直接返回用戶,不再向其余節(jié)點或內(nèi)容源轉(zhuǎn)發(fā)興趣包。若用戶請求的是歷史信息,則返回的內(nèi)容恰好符合要求。若用戶請求的是最新信息,則用戶最終得到了錯誤的內(nèi)容。
新鮮度機(jī)制中的節(jié)點通常緩存最新的內(nèi)容,因此能夠解決用戶請求最新信息的問題。然而當(dāng)用戶請求相對久遠(yuǎn)的歷史信息時,新鮮度機(jī)制中的緩存節(jié)點通常用較新的信息作為響應(yīng),而不是向上游節(jié)點或內(nèi)容源繼續(xù)轉(zhuǎn)發(fā)用戶請求。
當(dāng)IoT環(huán)境中用戶對數(shù)據(jù)和信息的準(zhǔn)確度提出要求,尤其是時間維度要求較高時,已有的ICN緩存機(jī)制和用戶驅(qū)動的信息新鮮度機(jī)制均不再適用。本文提出時間驅(qū)動的普適性緩存方案,主要用于解決信息準(zhǔn)確度的問題,尤其是時間維度的問題,簡單的方案示意圖如圖2所示。方案在興趣包、數(shù)據(jù)包和CS條目中添加時間戳字段(Timestamp),時間戳在滿足準(zhǔn)確性要求的同時輔助節(jié)點緩存內(nèi)容。興趣包中Timestamp用于指定用戶請求某特定時刻產(chǎn)生的內(nèi)容,Threshold指用戶能夠容忍的時間閾值。數(shù)據(jù)包中Timestamp指其所攜帶內(nèi)容的產(chǎn)生時間。節(jié)點CS中Timestamp指所存儲內(nèi)容的產(chǎn)生時間。從CS表中可以看出,內(nèi)容名相同但內(nèi)容產(chǎn)生時間不同,對應(yīng)的具體內(nèi)容則不同。圖2中,ConsumerA發(fā)送名字為“/Name1/2015.07.02 00:48:50/5s”的興趣包,網(wǎng)絡(luò)節(jié)點通過匹配名字和時間戳后,路由器R6將CS中“/Name1/2015.07.02 00:48:52”對應(yīng)的內(nèi)容返回至用戶,返回的信息顯然符合用戶要求。
圖2 時間驅(qū)動的普適性緩存方案示意圖Fig.2 Schematic diagram for time-driven universal caching approach
時間驅(qū)動的普適性緩存方案中的時間指在興趣包和數(shù)據(jù)包包頭中添加具體時間戳信息;普適性指節(jié)點不僅緩存最近產(chǎn)生的內(nèi)容,而且緩存歷史性內(nèi)容。添加時間字段能夠為用戶提供更準(zhǔn)確的信息。普適性能夠滿足IoT應(yīng)用需求,一些歷史信息可以直接從緩存中而不是內(nèi)容源處獲得,減少了用戶獲取內(nèi)容的時延。
時間驅(qū)動的普適性緩存方案主要包括時間匹配算法和緩存策略兩部分。時間匹配算法的主要操作對象為興趣包和節(jié)點CS條目中的時間戳。緩存機(jī)制的主要操作對象為緩存節(jié)點。圖3對時間驅(qū)動的普適性緩存方案進(jìn)行概述,主要包括興趣包的發(fā)送和數(shù)據(jù)包的返回,具體操作過程如下所述。
圖3 時間驅(qū)動的普適性緩存概述Fig.3 Overview of time-driven universal caching
用戶請求內(nèi)容時,發(fā)送攜帶有容忍閾值的時間戳興趣包。路由器收到興趣包后執(zhí)行時間匹配算法,查看CS中緩存的內(nèi)容能否滿足用戶對信息準(zhǔn)確性的要求。若匹配成功,則將數(shù)據(jù)返回用戶。若匹配失敗,則將興趣包轉(zhuǎn)發(fā)至下一跳。若緩存節(jié)點均未存儲用戶請求的信息,則將興趣包發(fā)送至內(nèi)容源。圖3中用戶發(fā)送興趣包,Router A和B均執(zhí)行時間匹配算法,結(jié)果發(fā)現(xiàn)Router B中緩存的內(nèi)容符合用戶要求,則將CS中對應(yīng)數(shù)據(jù)返回用戶。
數(shù)據(jù)包沿興趣包發(fā)送路徑返回時,沿路節(jié)點若有剩余緩存空間,則直接存儲該內(nèi)容;若無,則依據(jù)內(nèi)容流行度和時間請求概率做出緩存決策。對于具體的緩存決策,若節(jié)點CS中無與數(shù)據(jù)包同名的內(nèi)容,則依據(jù)內(nèi)容流行度做出緩存決策;若有,則依據(jù)時間請求概率做出緩存決策。圖3中Router A收到數(shù)據(jù)包后執(zhí)行緩存策略做出是否緩存內(nèi)容的決定。
用戶請求內(nèi)容時,興趣包中除了包含內(nèi)容名外,同時還包含用于指定內(nèi)容產(chǎn)生時刻的時間戳和時間容忍閾值。興趣包到達(dá)緩存節(jié)點時節(jié)點執(zhí)行算法1所示的時間匹配算法。將興趣包與CS中內(nèi)容名進(jìn)行匹配;若匹配到內(nèi)容名,則將興趣包中時間戳和緩存中所有同名內(nèi)容的產(chǎn)生時間分別做差并取絕對值,將時間差值在閾值范圍內(nèi)且絕對差最小的內(nèi)容返回用戶。若緩存節(jié)點未匹配到用戶請求的內(nèi)容,則將興趣包轉(zhuǎn)發(fā)至下一跳。若用戶在緩存節(jié)點未獲取到準(zhǔn)確的內(nèi)容,則將興趣包轉(zhuǎn)發(fā)至內(nèi)容源。若內(nèi)容源處仍未匹配到滿足用戶要求的內(nèi)容,則丟棄興趣包,向用戶通告請求失敗。
用戶請求某時間段內(nèi)產(chǎn)生的內(nèi)容時,興趣包中時間戳字段為請求內(nèi)容的起止時間點。節(jié)點收到興趣包后執(zhí)行時間匹配算法,將符合用戶要求的部分內(nèi)容返回用戶。由于節(jié)點緩存容量非常有限[16],單個節(jié)點一般不能完全存儲同內(nèi)容名下某段時間內(nèi)產(chǎn)生的所有內(nèi)容,因此,需要繼續(xù)向其余節(jié)點轉(zhuǎn)發(fā)興趣包直至用戶請求時間段內(nèi)的所有內(nèi)容都被獲取到。
Algorithm1: Time matching algorithm
Input: interest I % I is consists of “/name/timestamp/threshold/nonce”
Output: return the matched content
1: for all itemsiin CS do
2: MatchName (I.name,i.name)
3: if I.name==i.name then
4: Calculate absolute difference:Di←|I.timestamp-i.timestamp|
5: if theDi≤I.threshold then
6: Store itemiin Array[ ]
7: else
8: Forwarding I to the next hop
9: end if
10: else
11: Forwarding I to the next hop
12: end if
13: end for
14: return itemiwho owns the minimalDiin Array[ ]
返回的數(shù)據(jù)包到達(dá)緩存節(jié)點時,若節(jié)點有剩余緩存空間,則直接存儲該內(nèi)容;若節(jié)點緩存空間已滿,則依據(jù)緩存節(jié)點CS中是否存在相同內(nèi)容名的內(nèi)容選擇不同的緩存策略。具體地,若CS條目中未查詢到同名內(nèi)容,則調(diào)用基于內(nèi)容流行度的緩存策略;若CS中查詢到同名內(nèi)容,則調(diào)用基于時間請求概率的緩存替換策略。
2.3.1 基于內(nèi)容流行度的緩存策略
由于途經(jīng)路由器的請求類型和數(shù)量不同,因此相同內(nèi)容在不同路由器處的流行度一般也不同[17]。每個路由器對應(yīng)一張本地內(nèi)容流行度列表,主要用于存放不同名內(nèi)容在該路由器處的流行度。此處內(nèi)容流行度指內(nèi)容名相同的內(nèi)容被請求的概率,故流行度P計算公式為
(1)
(1)式中:N表示網(wǎng)絡(luò)中總的內(nèi)容名數(shù)目;n表示內(nèi)容名;countn表示周期T內(nèi)內(nèi)容名n對應(yīng)的內(nèi)容被請求的次數(shù)。對內(nèi)容名相同但時間戳不同的內(nèi)容請求次數(shù)進(jìn)行累加求和得到countn。
當(dāng)數(shù)據(jù)包到達(dá)緩存節(jié)點且緩存空間已滿時,若CS中未查詢到與數(shù)據(jù)包內(nèi)容名相同的內(nèi)容,則依據(jù)流行度列表中內(nèi)容流行度P做出緩存決策。若新到達(dá)數(shù)據(jù)包的同名內(nèi)容流行度在節(jié)點流行度列表中最小,則不緩存該內(nèi)容。若非最小,則采用LRU(least recently used)替換策略,即用新數(shù)據(jù)包替換列表中流行度值最小的內(nèi)容。
2.3.2 基于時間請求概率的緩存替換策略
時間請求概率(time request probability)Ptr指隨著時間間隔的變化,內(nèi)容被用戶請求的概率,其中時間間隔指內(nèi)容生成時刻與當(dāng)前時刻之間的時間差。物聯(lián)網(wǎng)環(huán)境中用戶普遍偏愛請求最近產(chǎn)生的信息,時間間隔越短,內(nèi)容被用戶請求的概率越大;時間間隔越長,內(nèi)容被用戶請求的概率越小。由此可見,用戶請求內(nèi)容的概率隨著時間間隔的增加而減小。由于指數(shù)分布可以用于表示獨立事件的時間間隔的概率分布,因此,可以合理假設(shè)時間請求概率服從參數(shù)λ為1的指數(shù)分布。時間請求概率Ptr計算公式為
Ptr=e-Δt,Δt≥0
(2)
(2)式中:Δt=|tc-tg|,tc表示當(dāng)前時間(current time),tg表示內(nèi)容生成時間(generate time),Δt表示二者的時間間隔。從(2)式中可以看出,隨著時間間隔的增加,用戶請求對應(yīng)時刻內(nèi)容的概率急劇下降,并呈指數(shù)式衰減。
當(dāng)數(shù)據(jù)包到達(dá)緩存節(jié)點時,若CS中查詢到與數(shù)據(jù)包內(nèi)容名相同的內(nèi)容,則依據(jù)時間請求概率做出緩存決策。時間請求概率可以預(yù)測同名但生成時間不同的內(nèi)容被用戶請求的概率。依據(jù)收到數(shù)據(jù)包中的時間戳以及CS中存儲的同名內(nèi)容的多個時間戳分別計算出每個時間戳下同名內(nèi)容的時間請求概率。若新到達(dá)數(shù)據(jù)包的時間請求概率最小,則不緩存該數(shù)據(jù)包;若非最小,則替換相同內(nèi)容名下時間請求概率最小的內(nèi)容。
本文使用MATLAB對所提算法進(jìn)行仿真驗證。網(wǎng)絡(luò)拓?fù)淙鐖D4所示,采用簡單的3級分層結(jié)構(gòu),其中節(jié)點0表示內(nèi)容源,節(jié)點1—13表示緩存路由器。假設(shè)用戶請求到達(dá)速率服從泊松分布,網(wǎng)絡(luò)中總的內(nèi)容種類為10 000。CS中最初緩存的內(nèi)容名及對應(yīng)的時間戳由隨機(jī)生成器產(chǎn)生,并存儲于矩陣中,每行代表一個內(nèi)容條目。興趣包主要由用戶指定的內(nèi)容名、時間戳和容忍閾值構(gòu)成,其中內(nèi)容名和時間戳在仿真過程中依舊采用隨機(jī)數(shù)生成器產(chǎn)生,時間容忍閾值的設(shè)置范圍為1~5s。返回的數(shù)據(jù)包中除內(nèi)容名外還攜帶該數(shù)據(jù)所產(chǎn)生時刻的時間戳信息。
圖4 仿真拓?fù)鋱DFig.4 Network topology for simulation
仿真主要驗證了不同參數(shù)設(shè)置下單節(jié)點的緩存命中率和用戶收到信息的準(zhǔn)確率。由于興趣包隨機(jī)產(chǎn)生,所以每次仿真運(yùn)行得到的緩存命中率和信息準(zhǔn)確率有一定的差異。為了減少誤差,此處采用多次測量求平均值的方法。仿真共輪詢了100次,最終緩存命中率和信息準(zhǔn)確率取值為多次測量結(jié)果的平均值。
緩存命中率是測量網(wǎng)絡(luò)性能的基本準(zhǔn)則之一,命中率的高低直接決定了緩存算法是否有效,仿真中節(jié)點緩存命中率指命中節(jié)點中內(nèi)容名的概率。圖5仿真了單個節(jié)點處興趣包到達(dá)速率對緩存命中率的影響。其中,原生方案指沒有運(yùn)用時間驅(qū)動的普適性緩存方案,即興趣包、數(shù)據(jù)包和CS條目中未添加時間戳字段。從圖5中可以看出,在相同的用戶請求速率情況下,時間驅(qū)動的普適性緩存方案的緩存命中率高于原生方案。原因在于,原生方案的節(jié)點CS中無時間戳選項,內(nèi)容生存期到期前不會主動替換緩存中的舊內(nèi)容,節(jié)點可能存儲了過多的歷史內(nèi)容,而未存儲最新產(chǎn)生的內(nèi)容,因此不能滿足用戶對內(nèi)容多樣性的需求,從而緩存命中率較低。隨著興趣包到達(dá)速率的增加,2種方案的緩存命中率均呈現(xiàn)下降趨勢。原因在于,節(jié)點的緩存容量有限,能夠存儲的具體內(nèi)容種類也有限,因此,在總的請求次數(shù)不斷增加的情況下,命中率呈下降趨勢。
圖5 請求速率對緩存命中率的影響Fig.5 Impact of request rate on cache hit ratio
以CS表存儲的內(nèi)容條目數(shù)代表節(jié)點緩存大小,條目數(shù)越多表示節(jié)點緩存容量越大。圖6仿真了單個節(jié)點的緩存容量對緩存命中率的影響,其中,興趣包到達(dá)速率為2 000 包/s。隨著節(jié)點緩存容量的增加,節(jié)點能夠緩存的內(nèi)容種類也增加,因此,不同方案的節(jié)點緩存命中率均呈現(xiàn)上升趨勢。當(dāng)緩存容量較小時,節(jié)點能夠緩存的內(nèi)容數(shù)量也較少,用戶驅(qū)動的信息新鮮度機(jī)制偏向于緩存最新的內(nèi)容,而本文提出的時間驅(qū)動的普適性緩存方案不僅緩存最新內(nèi)容,而且緩存歷史內(nèi)容,因此,時間驅(qū)動的普適性緩存方案的命中率高于用戶驅(qū)動的信息新鮮度機(jī)制。當(dāng)緩存容量足夠大時,用戶驅(qū)動的信息新鮮度機(jī)制的緩存命中率高于普適性緩存方案。原因在于,用戶驅(qū)動的信息新鮮度機(jī)制中節(jié)點有足夠的容量緩存歷史內(nèi)容,并且同名內(nèi)容僅被緩存一次,而時間驅(qū)動的普適性緩存方案中節(jié)點通常緩存不同時間段產(chǎn)生的同名內(nèi)容,節(jié)點中內(nèi)容名的總數(shù)目小于CS條目數(shù)。雖然足夠大的緩存容量使得信息新鮮度機(jī)制的緩存命中率高于普適性緩存方案,但其準(zhǔn)確率低于普適性緩存方案。
圖6 緩存容量對緩存命中率的影響Fig.6 Impact of cache capacity on cache hit ratio
信息準(zhǔn)確率指用戶收到信息的準(zhǔn)確程度,具體計算方式為用戶接收到的正確信息數(shù)除以總的請求次數(shù)。圖7仿真了2種不同緩存方案的信息準(zhǔn)確率。在相同的參數(shù)設(shè)置下,時間驅(qū)動的普適性緩存方案的信息準(zhǔn)確率高于用戶驅(qū)動的信息新鮮度機(jī)制。原因在于,用戶驅(qū)動的信息新鮮度機(jī)制中節(jié)點僅存儲了網(wǎng)絡(luò)中最近產(chǎn)生的內(nèi)容。當(dāng)用戶請求某個歷史時刻的信息時,節(jié)點僅通過匹配內(nèi)容名從而向用戶返回信息,而未考慮用戶請求的是哪個時間點的內(nèi)容,因此,向用戶返回的內(nèi)容不是其所請求時刻的內(nèi)容,從而降低了用戶收到信息的準(zhǔn)確率。
圖7 請求速率對信息準(zhǔn)確率的影響Fig.7 Impact of request rate on information accuracy
圖8仿真了緩存容量對信息準(zhǔn)確率的影響,其中興趣包到達(dá)速率依然設(shè)置為2 000 包/s。從圖8中可以看出,用戶獲取信息的準(zhǔn)確率隨緩存容量的增加而提高。原因在于,節(jié)點緩存容量越大,能夠緩存的內(nèi)容條目數(shù)越多。隨著緩存容量的增加,時間驅(qū)動的普適性緩存方案可以獲得相對穩(wěn)定且高的準(zhǔn)確率,用戶驅(qū)動的信息新鮮度機(jī)制的信息準(zhǔn)確率呈現(xiàn)線性增長趨勢。從圖8中可以看出,相對于新鮮度機(jī)制,普適性緩存方案獲得了更好的穩(wěn)定性。
圖8 緩存容量對信息準(zhǔn)確率的影響Fig.8 Impact of cache capacity on information accuracy
圖5中普適性緩存方案的緩存命中率相對于原生方案平均提高了14%。圖7中普適性緩存方案的信息準(zhǔn)確率相對于用戶驅(qū)動的信息新鮮度機(jī)制平均提高了9.7%。圖8中緩存容量變化時,普適性緩存方案的信息準(zhǔn)確率相對于用戶驅(qū)動的信息新鮮度機(jī)制平均提高了31.47%。因此,本文所提方案能夠有效地提升網(wǎng)絡(luò)性能。
本文在物聯(lián)網(wǎng)架構(gòu)設(shè)計中采用ICN思想,提出了時間驅(qū)動的普適性緩存方案。方案主要包括興趣包匹配和數(shù)據(jù)包緩存2部分。節(jié)點通過精確匹配時間戳,返回與用戶請求契合度最高的內(nèi)容。數(shù)據(jù)包返回時,節(jié)點依據(jù)內(nèi)容流行度和時間請求概率對其做出緩存決策,同名但時間戳不同的內(nèi)容可以在同一節(jié)點共存。仿真結(jié)果顯示,時間驅(qū)動的普適性緩存方案能夠有效地提高緩存命中率和信息獲取的準(zhǔn)確率,滿足了物聯(lián)網(wǎng)用戶對信息準(zhǔn)確度,尤其是時間維度的嚴(yán)格要求。本文未來研究工作將通過仿真平臺ndnSIM進(jìn)一步驗證所提算法的有效性;對于緩存策略,將考慮內(nèi)容相似度對緩存決策的影響。
[1] KOPONEN T,CHAWLA M,CHUNB-G,et al.A data-oriented (and beyond) network architecture[C]∥ACM SIGCOMM ’07.Kyoto,Japan:ACM Press,2007:181-192.
[2] AIN M, TROSSEN D,NIKANDER P,et al.D2.3-architecture definition,component descriptions,and requirements[EB/OL].(2009-02-17)[2017-08-25].http:∥www.psirp.org/files/Deliverables/FP7-INFSO-ICT-216173-PSIRP-D2.3_Architecture Definition.pdf.
[3] DANNEWITZ C, KUTSCHER D, OHLMAN B, et al. Network of information (NetInf)-An information-centric networking architecture[J].Computer Communications,2013,36(7):721-735.
[4] JACOBSON V, SMETTERS D K, THORNTONJ D, et al. Networking named content[C]∥ACM CoNEXT ’09. Rome, Italy: ACM Press, 2009: 1-12.
[5] ZHANG L, AFANASYEV A, BURKE J, et al. Named data networking[J]. ACM SIGCOMM Computer Communication Review, 2014, 44(3): 66-73.
[6] ARALDO A, MANGILI M, MARTIGNON F, et al. Cost-aware caching: optimizing cache provisioning and object placement in ICN[C]∥2014 IEEE Global Communications Conference (GLOBECOM). Austin, TX, USA: IEEE Press, 2014: 1108-1113.
[7] 趙闊, 邢永恒. 區(qū)塊鏈技術(shù)驅(qū)動下的物聯(lián)網(wǎng)安全研究綜述[J]. 信息網(wǎng)絡(luò)安全, 2017(5): 1-6.
ZHAO K, XING Y H. Security survey of internet of things driven by block chain technology[J]. Netinfo Security, 2017(5): 1-6.
[8] PENTIKOUSIS K, DAVIES E, OHLMAN B, et al. ICN baseline scenarios and evaluation methodology [EB/OL]. (2013-07-15) [2017-08-25].https:∥tools.ietf.org/pdf/draft-pentikousis-icn-scenarios-04.pdf.
[9] HEIDEMANN J, SILVA F, INTANAGONWIWAT C, et al. Building efficient wireless sensor networks with low-level naming[C]∥The eighteenth ACM symposium on Operating systems principles. Banff, Alberta, Canada: ACM Press, 2001: 146-159.
[10] SONG Y, MA H, LIU L. Content-centric internetworking for resource-constrained devices in the internet of things[C]∥2013 IEEE International Conference on Communication Communications (ICC). Budapest, Hungary: IEEE Press, 2013: 1742-1747.
[11] RAVINDRAN R, BISWAS T, ZHANG X, et al. Information-centric networking based homenet[C]∥2013 IFIP/IEEE International Symposium on Integrated Network Management. Ghent: IEEE Press, 2013: 1102-1108.
[12] 袁超, 張浩, Gulliver T A. 車聯(lián)網(wǎng)中協(xié)作車—車通信系統(tǒng)在N-Rayleigh信道下ASEP性能分析[J]. 信息網(wǎng)絡(luò)安全, 2016(3): 40-46.
YUAN C, ZHANG H, GULLIVER T A. ASEP performance analysis of vehicle-to-vehicle communication system overN-Rayleigh fading channels in IoV[J]. Netinfo Security, 2016 (3): 40-46.
[13] DENG G, WANG L, Li F, et al. Distributed probabilistic caching strategy in VANETs through named data networking[C]∥2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). San Francisco, CA, USA: IEEE Press, 2016: 314-319.
[14] BERNARDINI C,SILVERSTON T,FESTOR O.A comparison of caching strategies for content centric networking[C]∥2015 IEEE Global Communications Conference(GLOBECOM).San Diego,CA,USA:IEEE Press,2015:1-6.
[15] QUEVEDO J, CORUJO D, AGUIAR R. Consumer driven information freshness approach for content centric networking[C]∥2014 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). Toronto, Canada: IEEE Press, 2014: 482-487.
[16] CHOI N, GUAN K, KILPER D C, et al. In-network caching effect on optimal energy consumption in content-centric networking[C]∥2012 ICC. Ottawa, Canada: ACM Press, 2012: 2889-2894.
[17] WEI T M, CHANG L, YU B Y, et al. MPCS: a mobility/popularity-based caching strategy for information-centric networks[C]∥2014 IEEE Global Communications Conference (GLOBECOM). Austin, TX, USA: IEEE Press, 2014: 4629-4634.
(編輯:張 誠)