本發(fā)明屬于內(nèi)容中心網(wǎng)絡技術(shù)領(lǐng)域,尤其涉及一種能量有效的內(nèi)容中心網(wǎng)絡分布式緩存方法。
背景技術(shù):
隨著網(wǎng)絡流量的激增,互聯(lián)網(wǎng)通信更關(guān)心網(wǎng)絡內(nèi)容本身,而非內(nèi)容在網(wǎng)絡中的位置。但是,當前基于端到端通信的互聯(lián)網(wǎng)無法有效支持網(wǎng)絡內(nèi)容傳輸,這降低了現(xiàn)有網(wǎng)絡的性能。通過對網(wǎng)絡傳輸流量進行分析,發(fā)現(xiàn)網(wǎng)絡內(nèi)容存在大量的冗余傳輸,其中,音視頻、圖片、微博等內(nèi)容分發(fā)型應用重復傳輸問題尤為嚴重。內(nèi)容貼近用戶部署是有效解決內(nèi)容重復傳輸、提高網(wǎng)絡內(nèi)容分發(fā)效率的有效手段。如何以最小的代價合理緩存海量網(wǎng)絡內(nèi)容對很多研究者來說是個重要且具有挑戰(zhàn)性的話題。
比起應用層解決方案,內(nèi)容中心網(wǎng)絡(Content-Centric Networking,CCN)采用“網(wǎng)絡內(nèi)部緩存”的思想,從網(wǎng)絡層角度來解決網(wǎng)絡內(nèi)容冗余傳輸?shù)膯栴},進而克服應用層解決方案與業(yè)務緊密耦合、無法感知承載網(wǎng)信息、缺乏可擴展性、運營支撐體系不完善等問題,從根本上解決網(wǎng)絡流量激增問題。在目前的CCN緩存算法中,網(wǎng)絡能耗優(yōu)化目標逐步被考慮。
傳統(tǒng)CCN緩存替換策略一般采用CCN自帶ALWAYS緩存決策策略來緩存每一個流經(jīng)節(jié)點的內(nèi)容,并使用最近最少使用算法(Least Recently Used,LRU)緩存替換算法更新緩存內(nèi)容。該方法有三點不足:(1)緩存決策是否存儲內(nèi)容時沒有考慮內(nèi)容流行度的差異性與節(jié)點間的差異性,也沒有考慮節(jié)點間協(xié)同緩存的問題,造成網(wǎng)絡內(nèi)容不合理放置;(2)當存儲空間已滿時,緩存替換內(nèi)容時僅僅考慮時間因素的影響,使得緩存替換算法存在較大的局限性,難以廣泛使用;(3)緩存算法設(shè)計過程中沒有考慮能耗對緩存算法設(shè)計帶來的影響,無法有效解決當前網(wǎng)絡重點關(guān)注的能耗問題。
技術(shù)實現(xiàn)要素:
針對上述傳統(tǒng)緩存算法的不足,本發(fā)明提供一種能量有效的CCN分布式緩存方法,在借鑒現(xiàn)有緩存算法的基礎(chǔ)上,考慮能耗對緩存算法的影響,并利用具有激勵機制的非合作博弈模型來分析CCN網(wǎng)絡節(jié)點自私性緩存行為,實現(xiàn)能量有效的分布式網(wǎng)絡緩存算法與網(wǎng)絡內(nèi)容傳輸。
為解決上述問題,本發(fā)明采用如下的技術(shù)方案:
一種能量有效的內(nèi)容中心網(wǎng)絡分布式緩存方法,包括如下步驟:
(1)設(shè)計能耗模型
內(nèi)容在傳輸過程中,涉及兩種能耗模型:內(nèi)容緩存能耗模型與傳輸能耗模型表示在時間t內(nèi)節(jié)點i緩存內(nèi)容k所需的能耗,表示節(jié)點i向節(jié)點j請求內(nèi)容k時所需的傳輸能耗;
(2)構(gòu)建非合作博弈模型
用來表示非合作博弈,其中N={1,2,...,64}是博弈參與者,是描述了64個節(jié)點對網(wǎng)絡內(nèi)容的存儲狀態(tài),能量效用函數(shù)表示節(jié)點i關(guān)于內(nèi)容k的能量成本,其中,如果節(jié)點i復制內(nèi)容k,則Ii=1,否則,Ii=0;
(3)設(shè)計節(jié)點激勵
假如節(jié)點i緩存某個內(nèi)容,其他節(jié)點向節(jié)點i請求該內(nèi)容時,需向節(jié)點i提供激勵補助,設(shè)Ri是節(jié)點i關(guān)于緩存內(nèi)容k所收到的激勵之和,則如果節(jié)點i收到的關(guān)于內(nèi)容k的激勵之和Ri大于或等于某個激勵界限ti,則節(jié)點i緩存內(nèi)容k;
(4)構(gòu)建帶激勵的效用函數(shù)
如果節(jié)點vi緩存內(nèi)容k,那么節(jié)點i向節(jié)點vi提供激勵bi;如果節(jié)點i緩存內(nèi)容k,則收到激勵之和為Ri,對于內(nèi)容k,節(jié)點i提供的激勵為節(jié)點i的能量效用函數(shù)為其中,vi是節(jié)點i提供激勵的接收方;
(5)建立能量有效的CCN分布式緩存算法模型
結(jié)合步驟(2)中的非合作博弈模型與步驟(4)中的帶激勵效用函數(shù),建立能量有效的內(nèi)容中心網(wǎng)絡分布式緩存算法模型,關(guān)于內(nèi)容k,如果節(jié)點i的緩存能耗與獲取的激勵之差小于從其他節(jié)點獲取內(nèi)容k所需傳輸能耗模型則節(jié)點i緩存內(nèi)容k,否則,節(jié)點i不緩存內(nèi)容k,并從其他節(jié)點請求內(nèi)容k,同時為該節(jié)點提供激勵補償;
(6)獲得分布式解
將步驟(2)中得到的非合作博弈模型和步驟(4)中得到的激勵函數(shù),輸入到步驟(5)所建立的能量有效的CCN分布式緩存算法模型中,采用博弈論理論證明步驟(5)中能量有效的內(nèi)容中心網(wǎng)絡分布式緩存算法模型存在納什均衡解,并得到最終的分布式解。
作為優(yōu)選,wca是節(jié)點的存儲功效,sk是內(nèi)容k的大小;是節(jié)點i對內(nèi)容k的請求率,dij是節(jié)點i與節(jié)點j之間的距離,是節(jié)點的功率密度,是可重構(gòu)光分插復用器(Reconfigurable Optical Add-Drop Multiplexer,ROADM)的功率密度。
本發(fā)明方法的主要思路是:設(shè)計內(nèi)容緩存能耗與傳輸能耗模型;提取博弈論模型所需的因子,構(gòu)建非合作博弈模型;為鼓勵節(jié)點多緩存網(wǎng)絡流行內(nèi)容,為每個網(wǎng)絡節(jié)點設(shè)計激勵機制;根據(jù)節(jié)點激勵,構(gòu)建帶激勵的效用函數(shù);結(jié)合非合作博弈模型與帶激勵的效用函數(shù),建立能量有效的CCN分布式緩存算法模型;證明非合作博弈納什均衡(Nash equilibrium)解的存在性,并求解模型分布式解。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下明顯的優(yōu)勢和有益效果:
(1)本發(fā)明提出一種能量有效的CCN分布式緩存算法模型,收斂速度快,普適性好,能夠有效降低網(wǎng)絡能耗。
(2)本發(fā)明借鑒傳統(tǒng)緩存算法的優(yōu)勢,引入網(wǎng)絡能耗這一優(yōu)化目標,利用帶激勵的非合作博弈理論來構(gòu)建緩存算法模型,最后進行分布式求解。相比傳統(tǒng)緩存算法,本發(fā)明方法能夠更有效的降低網(wǎng)絡能耗。實驗表明,運用本發(fā)明方法進行仿真實驗分析,發(fā)現(xiàn)能量有效的CCN分布式緩存算法的平均能耗節(jié)省率為25%,比傳統(tǒng)緩存算法提高了22%,且具有較快的收斂速度與較好的普適性。
附圖說明
圖1為本發(fā)明的能量有效的內(nèi)容中心網(wǎng)絡分布式緩存方法流程圖。
具體實施方式
下面結(jié)合附圖和具體實施方式對本發(fā)明做進一步的描述。
本發(fā)明實施例提供一種能量有效的內(nèi)容中心網(wǎng)絡分布式緩存方法,如圖1所示,包括以下步驟:
(1)設(shè)計能耗模型
內(nèi)容在傳輸過程中,涉及內(nèi)容緩存能耗模型與傳輸能耗模型其中,wca是節(jié)點的存儲功效,sk是內(nèi)容k的大小。是節(jié)點i對內(nèi)容k的請求率,dij是節(jié)點i與節(jié)點j之間的距離,是節(jié)點的功率密度,是可重構(gòu)光分插復用器(Reconfigurable Optical Add-Drop Multiplexer,ROADM)的功率密度,是波分多路復用(Wavelength Division Multiflexing,WDM)的功率密度。
(2)構(gòu)建非合作博弈模型
用來表示非合作博弈,其中N={1,2,...,64}是博弈參與者,是描述了64個節(jié)點對網(wǎng)絡內(nèi)容的存儲狀態(tài),能量效用函數(shù)表示節(jié)點i關(guān)于內(nèi)容k的能量成本。其中,如果節(jié)點i復制內(nèi)容k,則Ii=1,否則,Ii=0。
(3)設(shè)計節(jié)點激勵
節(jié)點緩存某個內(nèi)容時,自身需要消耗緩存能耗。為鼓勵網(wǎng)絡節(jié)點更多地緩存網(wǎng)絡熱門內(nèi)容,其他節(jié)點訪問該節(jié)點的內(nèi)容時,需要提供一定的激勵。當節(jié)點收到的激勵大于或等于某個激勵界限,則節(jié)點緩存該內(nèi)容。例如,如果節(jié)點i給節(jié)點j提供一個激勵bi,并且節(jié)點j緩存該內(nèi)容,那么節(jié)點i必須向節(jié)點j提供激勵bi。如果節(jié)點j沒有緩存該內(nèi)容,節(jié)點i無需提供該激勵。
假如節(jié)點i緩存某個內(nèi)容,其他節(jié)點向節(jié)點i請求該內(nèi)容時,需要向節(jié)點i提供一定的激勵補助。Ri是節(jié)點i關(guān)于緩存內(nèi)容k所收到的激勵之和,則如果節(jié)點i收到的關(guān)于內(nèi)容k的激勵之和Ri大于或等于某個激勵界限ti,則節(jié)點i緩存內(nèi)容k。
(4)構(gòu)建帶激勵的效用函數(shù)
如果節(jié)點vi緩存內(nèi)容k,那么節(jié)點i向節(jié)點vi提供激勵bi。如果節(jié)點i緩存內(nèi)容k,則收到激勵Ri。因此,對于內(nèi)容k,節(jié)點i提供的激勵為節(jié)點i的能量效用函數(shù)為其中,vi是節(jié)點i提供激勵的接收方。
(5)建立能量有效的內(nèi)容中心網(wǎng)絡分布式緩存算法模型
結(jié)合步驟(2)中的非合作博弈模型與步驟(4)中的帶激勵效用函數(shù),構(gòu)建帶激勵的非合作博弈模型,即建立能量有效的內(nèi)容中心網(wǎng)絡分布式緩存算法模型。關(guān)于內(nèi)容k,如果節(jié)點i的緩存能耗與獲取的激勵之差小于從其他節(jié)點獲取內(nèi)容k所需傳輸能耗模型則節(jié)點i緩存內(nèi)容k。否則,節(jié)點i不緩存內(nèi)容k,并從其他節(jié)點請求內(nèi)容k,同時為該節(jié)點提供一定的激勵補償。
(6)獲得分布式解
將步驟(2)中得到的非合作博弈模型和步驟(4)中得到的激勵函數(shù),輸入到步驟(5)所建立的能量有效的CCN分布式緩存算法模型中,采用博弈論理論證明步驟(5)中能量有效的內(nèi)容中心網(wǎng)絡分布式緩存算法模型存在納什均衡解,并得到最終的分布式解。在分布式求解過程中,如果節(jié)點緩存內(nèi)容,雖然會消耗一定的緩存能耗,但是會降低傳輸能耗,而且其他節(jié)點從該節(jié)點獲取內(nèi)容時,需要給緩存節(jié)點提供一定的激勵,因此,緩存節(jié)點消耗的緩存能耗由緩存節(jié)點與鄰近訪問節(jié)點公共分擔。為了最大程度降低網(wǎng)絡能耗,路由路徑上的每個節(jié)點比較本地緩存內(nèi)容所需緩存能耗與從其他節(jié)點請求內(nèi)容所需傳輸能耗的大小。如果緩存能耗小于傳輸能耗,節(jié)點緩存該內(nèi)容,反之亦然。
為了驗證本發(fā)明的有效性,以及與傳統(tǒng)緩存算法相比性能的優(yōu)劣,進行了三組對比實驗。
表1本發(fā)明方法與傳統(tǒng)緩存算法能耗的比較結(jié)果
由表1可以看出,運用本發(fā)明方法設(shè)計緩存算法的平均能耗節(jié)省率為25%,比傳統(tǒng)緩存算法的性能提高了22%,有效地降低了網(wǎng)絡能耗。
表2本發(fā)明方法與傳統(tǒng)緩存算法普適性的比較結(jié)果
由表2可以看出,運用本發(fā)明方法設(shè)計的緩存算法在Power-Law、Transit-Stub、Waxman典型網(wǎng)絡拓撲下具有較好的普適性。
此外,通過觀察不同參數(shù)下本發(fā)明方法的收斂速度,發(fā)現(xiàn)本發(fā)明方法收斂速度較快。
本發(fā)明的能量有效的內(nèi)容中心網(wǎng)絡分布式緩存方法,設(shè)計內(nèi)容緩存能耗與傳輸能耗模型;提取博弈論模型所需的因子,構(gòu)建非合作博弈模型;為鼓勵節(jié)點多緩存網(wǎng)絡流行內(nèi)容,為每個網(wǎng)絡節(jié)點設(shè)計激勵機制;根據(jù)節(jié)點激勵,構(gòu)建帶激勵的效用函數(shù);結(jié)合非合作博弈模型與帶激勵的效用函數(shù),建立能量有效的CCN分布式緩存算法模型;證明非合作博弈納什均衡(Nash equilibrium)解的存在性,并求解模型分布式解。本發(fā)明借鑒傳統(tǒng)緩存算法的優(yōu)勢,引入網(wǎng)絡能耗這一優(yōu)化目標,利用帶激勵的非合作博弈理論來構(gòu)建緩存算法模型,最后進行分布式求解。相比傳統(tǒng)緩存算法,本發(fā)明方法能夠更有效的降低網(wǎng)絡能耗。實驗表明,運用本發(fā)明方法進行仿真實驗分析,發(fā)現(xiàn)能量有效的CCN分布式緩存算法的平均能耗節(jié)省率為25%,比傳統(tǒng)緩存算法提高了22%,且具有較快的收斂速度與較好的普適性。