姜 靜 王 凱* 許曰強(qiáng) 杜劍波 仇 超 鞏 譯
①(西安郵電大學(xué)陜西信息通信網(wǎng)絡(luò)與安全重點(diǎn)實(shí)驗(yàn)室 西安 710121)
②(北京郵電大學(xué)信息與通信工程學(xué)院 北京 100876)
③(天津大學(xué)智能與計(jì)算學(xué)部 天津 300350)
④(北京信息科技大學(xué)信息與通信工程學(xué)院 北京 100192)
隨著移動(dòng)通信網(wǎng)絡(luò)的快速升級(jí),移動(dòng)業(yè)務(wù)總量呈爆炸式增長(zhǎng)。根據(jù)思科可視網(wǎng)絡(luò)指數(shù)報(bào)告,2022年全球移動(dòng)流量預(yù)計(jì)將達(dá)到1 ZB,移動(dòng)設(shè)備的連接總量將增長(zhǎng)到1.23 TB[1]。為了應(yīng)對(duì)數(shù)據(jù)流量的激增,滿足虛擬現(xiàn)實(shí)、智能駕駛等新型業(yè)務(wù)對(duì)于網(wǎng)絡(luò)延遲和吞吐量的要求,運(yùn)營(yíng)商通過(guò)在網(wǎng)絡(luò)邊緣部署小蜂窩基站(Small-cell Base Stations, SBSs)并對(duì)流行內(nèi)容進(jìn)行邊緣緩存,不僅降低了用戶(hù)請(qǐng)求內(nèi)容的傳輸時(shí)延,而且可以避免請(qǐng)求內(nèi)容在回程鏈路上的重復(fù)傳輸,有效地減少了網(wǎng)絡(luò)的流量負(fù)載[2]。然而屬于不同運(yùn)營(yíng)商之間的SBSs互不信任,緩存內(nèi)容相互隔離,難以共享信息[3]。為了解決這一問(wèn)題,區(qū)塊鏈技術(shù)得到了廣泛的研究與關(guān)注[4]。區(qū)塊鏈?zhǔn)且粋€(gè)去中心化、可信和防篡改的分布式數(shù)據(jù)庫(kù)技術(shù),可以在不可信的環(huán)境下提供信息與價(jià)值交換的可信通道。區(qū)塊鏈結(jié)合邊緣緩存技術(shù),將實(shí)現(xiàn)更大范圍的內(nèi)容共享,提高緩存內(nèi)容的使用效率,降低網(wǎng)絡(luò)的運(yùn)營(yíng)成本,因而成為6G的研究熱點(diǎn)[5]。
針對(duì)區(qū)塊鏈與邊緣緩存技術(shù)的研究,文獻(xiàn)[6]提出了一種基于區(qū)塊鏈的物聯(lián)網(wǎng)節(jié)點(diǎn)選擇算法,為邊緣云的內(nèi)容提供商提供了一種低服務(wù)延遲的內(nèi)容緩存策略。為支持邊緣設(shè)備之間的數(shù)據(jù)共享,文獻(xiàn)[7]設(shè)計(jì)了基于區(qū)塊鏈內(nèi)容緩存系統(tǒng)的內(nèi)容交易機(jī)制和數(shù)據(jù)完整性驗(yàn)證,確保邊緣設(shè)備交易的公平性及有效性。針對(duì)基于區(qū)塊鏈的邊緣緩存系統(tǒng),文獻(xiàn)[8]研究了區(qū)塊鏈交易中的智能合約設(shè)計(jì),來(lái)激勵(lì)運(yùn)營(yíng)商進(jìn)行內(nèi)容緩存,實(shí)現(xiàn)內(nèi)容提供商和運(yùn)營(yíng)商的利潤(rùn)最大化。該研究主要針對(duì)一個(gè)運(yùn)營(yíng)商邊緣緩存系統(tǒng)的優(yōu)化,然而在現(xiàn)實(shí)組網(wǎng)中,不同運(yùn)營(yíng)商在同一覆蓋區(qū)域部署各自的邊緣設(shè)備,同一區(qū)域內(nèi)熱點(diǎn)內(nèi)容在不同邊緣設(shè)備上重復(fù)緩存,造成緩存內(nèi)容利用率低,邊緣設(shè)備建設(shè)、運(yùn)行成本居高不下。文獻(xiàn)[9]利用共識(shí)機(jī)制解決區(qū)塊鏈架構(gòu)下,不同運(yùn)營(yíng)商邊緣設(shè)備緩存內(nèi)容的可信內(nèi)容訪問(wèn)。上述研究均針對(duì)公有區(qū)塊鏈和私有區(qū)塊鏈。公有區(qū)塊鏈的運(yùn)行模式導(dǎo)致數(shù)據(jù)維護(hù)難以實(shí)現(xiàn)且整個(gè)服務(wù)趨于不可控化[10];私有區(qū)塊鏈僅供單個(gè)組織或機(jī)構(gòu)使用,且無(wú)法實(shí)現(xiàn)完全去中心化[11]。為了解決公有鏈和私有鏈的問(wèn)題,聯(lián)盟鏈作為一種特定的區(qū)塊鏈,由若干組織或機(jī)構(gòu)共同參與管理,共同記錄交易數(shù)據(jù)且只有這些特定管理者有權(quán)對(duì)聯(lián)盟鏈中的數(shù)據(jù)進(jìn)行讀寫(xiě)和發(fā)送,因此逐漸成為區(qū)塊鏈發(fā)展的主流模式[12]。
利用聯(lián)盟鏈技術(shù),實(shí)現(xiàn)不同運(yùn)營(yíng)商邊緣設(shè)備之間的內(nèi)容共享和交易,將有效提高緩存內(nèi)容利用率,降低運(yùn)營(yíng)商的邊緣設(shè)備建設(shè)及運(yùn)行成本。因此,本文的主要貢獻(xiàn)如下:
(1) 基于聯(lián)盟鏈,本文設(shè)計(jì)了一個(gè)不同運(yùn)營(yíng)商邊緣設(shè)備的內(nèi)容共享系統(tǒng)框架,該框架由邊緣緩存層和內(nèi)容交易層組成。邊緣緩存層用于熱點(diǎn)內(nèi)容緩存,內(nèi)容交易層實(shí)現(xiàn)不同運(yùn)營(yíng)商邊緣設(shè)備的身份認(rèn)證、熱點(diǎn)內(nèi)容緩存的目錄存儲(chǔ)和查找以及緩存內(nèi)容共享。
(2) 考慮到未來(lái)移動(dòng)網(wǎng)絡(luò)中大量邊緣緩存設(shè)備來(lái)自不同運(yùn)營(yíng)商,可能存在節(jié)點(diǎn)故障或惡意行為,且節(jié)點(diǎn)之間沒(méi)有完整的信息。為確保交易的真實(shí)可信,拜占庭容錯(cuò)(Practical Byzantine Fault Tolerant, PBFT)共識(shí)機(jī)制[13]解決方案得到了廣泛的應(yīng)用,其由于通信開(kāi)銷(xiāo)大、共識(shí)周期長(zhǎng),導(dǎo)致系統(tǒng)規(guī)模嚴(yán)重受限[14]。本文設(shè)計(jì)了基于內(nèi)容緩存的部分實(shí)用拜占庭容錯(cuò)(partial Practical Byzantine Fault Tolerant, pPBFT)共識(shí)機(jī)制,在互不信任的邊緣設(shè)備之間建立信任,提供可信內(nèi)容訪問(wèn)的同時(shí)可以降低大規(guī)模緩存節(jié)點(diǎn)的共識(shí)開(kāi)銷(xiāo)。
(3) 本文基于內(nèi)容共享與邊緣緩存建立了不同邊緣設(shè)備之間最優(yōu)內(nèi)容緩存策略問(wèn)題,使運(yùn)營(yíng)商的緩存收益最大化。通過(guò)量化運(yùn)營(yíng)商內(nèi)容共享所帶來(lái)的緩存收益,得到了最優(yōu)緩存決策的閉式表達(dá)式,進(jìn)而得到了與內(nèi)容流行度相關(guān)的最優(yōu)緩存策略。
如圖1所示,基于聯(lián)盟鏈的運(yùn)營(yíng)商邊緣緩存系統(tǒng)框架由邊緣緩存層和內(nèi)容交易層組成,具體如下:
圖1 基于聯(lián)盟鏈的運(yùn)營(yíng)商邊緣緩存系統(tǒng)框架
(1) 邊緣緩存層提供熱點(diǎn)內(nèi)容的邊緣存儲(chǔ),由不同運(yùn)營(yíng)商部署的邊緣設(shè)備組成。在本文中,邊緣設(shè)備為具有緩存、計(jì)算和通信功能的SBSs。
(2) 內(nèi)容交易層提供內(nèi)容的交易、節(jié)點(diǎn)身份認(rèn)證、內(nèi)容共享認(rèn)定、內(nèi)容地址的查找和路由規(guī)劃,具體由認(rèn)證服務(wù)器、智能合約服務(wù)器、目錄服務(wù)器以及路由服務(wù)器組成。認(rèn)證服務(wù)器負(fù)責(zé)不同運(yùn)營(yíng)商的邊緣設(shè)備信息的注冊(cè)與解析;智能合約服務(wù)器用于存儲(chǔ)交易信息和以數(shù)字形式定義承諾,參與交易的各方按照約定自動(dòng)執(zhí)行費(fèi)用的支付和提供內(nèi)容,并通過(guò)共識(shí)機(jī)制驗(yàn)證內(nèi)容共享交易的真實(shí)性;目錄服務(wù)器記錄不同邊緣設(shè)備緩存的內(nèi)容,當(dāng)邊緣設(shè)備向內(nèi)容交易層請(qǐng)求其他節(jié)點(diǎn)的緩存內(nèi)容時(shí),通過(guò)目錄服務(wù)器查找內(nèi)容的緩存地址;路由服務(wù)器用于確定不同運(yùn)營(yíng)商共享交易時(shí)內(nèi)容轉(zhuǎn)發(fā)。
在基于聯(lián)盟鏈的運(yùn)營(yíng)商邊緣緩存系統(tǒng)中,邊緣設(shè)備可以通過(guò)聯(lián)盟鏈發(fā)起內(nèi)容共享請(qǐng)求交易、支付內(nèi)容請(qǐng)求費(fèi)用并獲取內(nèi)容,如圖2所示。具體過(guò)程如下:
圖2 基于聯(lián)盟鏈的運(yùn)營(yíng)商邊緣緩存系統(tǒng)內(nèi)容共享及交易過(guò)程
步驟1 用戶(hù)發(fā)起內(nèi)容請(qǐng)求,運(yùn)營(yíng)商的邊緣設(shè)備為其所屬用戶(hù)提供內(nèi)容服務(wù)。如果內(nèi)容在其本地緩存命中時(shí),直接為用戶(hù)提供服務(wù);如果內(nèi)容未緩存命中,邊緣設(shè)備通過(guò)邊緣緩存系統(tǒng)中的內(nèi)容交易層發(fā)起內(nèi)容共享請(qǐng)求。
步驟2 內(nèi)容交易層將內(nèi)容請(qǐng)求通過(guò)目錄服務(wù)器和路由服務(wù)器廣播到緩存該內(nèi)容的邊緣設(shè)備中,作為此次請(qǐng)求提供內(nèi)容的SBS,同時(shí)智能合約服務(wù)器通過(guò)部署智能合約處理此次請(qǐng)求交易。
步驟3 提供內(nèi)容的SBS將合約地址發(fā)送給相應(yīng)請(qǐng)求內(nèi)容的SBS,智能合約中記錄了請(qǐng)求的內(nèi)容以及請(qǐng)求費(fèi)用。
步驟4 請(qǐng)求內(nèi)容的SBS查看合約的描述,并向智能合約服務(wù)器支付所需的費(fèi)用。
步驟5 提供內(nèi)容的SBS檢查合約信息后開(kāi)始傳輸內(nèi)容,傳輸?shù)膬?nèi)容由接收者的公鑰加密,并只能由相應(yīng)的私鑰解密。
步驟6 內(nèi)容傳輸完成后,請(qǐng)求內(nèi)容的SBS簽署內(nèi)容收據(jù),同時(shí)提供內(nèi)容的SBS向智能合約服務(wù)器提交該收據(jù),以?xún)稉Q內(nèi)容傳輸獎(jiǎng)勵(lì)。
內(nèi)容交易中可能存在惡意行為或節(jié)點(diǎn)故障,因此需要共識(shí)機(jī)制正確記錄交易并避免欺詐。在邊緣緩存中,相同的內(nèi)容通常不會(huì)緩存在每個(gè)邊緣設(shè)備中。發(fā)起內(nèi)容共享請(qǐng)求時(shí),只有緩存相關(guān)內(nèi)容的聯(lián)盟鏈節(jié)點(diǎn)才需要共識(shí)機(jī)制驗(yàn)證交易。因此,傳統(tǒng)需要所有節(jié)點(diǎn)驗(yàn)證的PBFT共識(shí)機(jī)制會(huì)產(chǎn)生額外的公式開(kāi)銷(xiāo),將不再適用[12]?;诖?,本文提出了基于內(nèi)容緩存的pPBFT共識(shí)機(jī)制。以bi ∈B在時(shí)隙t上發(fā)起的內(nèi)容共享請(qǐng)求fj ∈F為例。假設(shè)N(fj)為緩存fj的 邊緣設(shè)備的集合,b(N)i ∈N(fj)表 示第N個(gè)緩存內(nèi)容的邊緣設(shè)備,其中b(0)i表 示bi本身。如圖3所述,pPBFT共識(shí)機(jī)制包括5個(gè)階段,即請(qǐng)求、預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn)和回復(fù)。
圖3 時(shí)隙t的pPBFT共識(shí)機(jī)制
由于用戶(hù)通常以很大的概率請(qǐng)求內(nèi)容流行度較高的內(nèi)容,即內(nèi)容的請(qǐng)求概率可以認(rèn)為是內(nèi)容的流行度。根據(jù)文獻(xiàn)[16],采用Zipf分布模擬內(nèi)容的流行度,請(qǐng)求內(nèi)容fj的概率是
為了使不同運(yùn)營(yíng)商的邊緣設(shè)備總緩存收益最大化,本文通過(guò)內(nèi)容邊緣緩存策略的優(yōu)化來(lái)實(shí)現(xiàn)。所提出的優(yōu)化問(wèn)題可建模為
約束條件C1給出了內(nèi)容緩存決策變量的取值范圍。約束條件C2表示邊緣設(shè)備緩存空間的限制,其中Qi為邊緣設(shè)備bi的總緩存空間。
為了求解式(13),定義緩存數(shù)據(jù)量矩陣YI×J, 矩陣中的每個(gè)元素yi,j,i ∈I,j ∈J表示內(nèi)容實(shí)際緩存數(shù)據(jù)量,其與實(shí)際數(shù)據(jù)量的關(guān)系可以表示為
基于上述定義,優(yōu)化問(wèn)題式(13)轉(zhuǎn)換為求解最優(yōu)緩存數(shù)據(jù)量,表示為
考慮到式(15)中的Hesse矩陣是嚴(yán)格負(fù)定的,并且C1, C2是線性約束。因此,可以使用拉格朗日對(duì)偶理論對(duì)該問(wèn)題進(jìn)行求解。拉格朗日函數(shù)由式(16)給出
其中,λ是關(guān)于C1的拉格朗日乘子。拉格朗日函數(shù)的KKT(Karush-Kuhn-Tucker)條件[17]表示為
通過(guò)對(duì)最優(yōu)閉式解進(jìn)行分析可以看出,緩存策略隨著內(nèi)容的流行度而變化,邊緣設(shè)備應(yīng)更優(yōu)先緩存區(qū)域內(nèi)請(qǐng)求頻率較高的內(nèi)容使收益最大化。對(duì)于流行度較低的內(nèi)容,邊緣設(shè)備需要在緩存數(shù)據(jù)量與實(shí)際數(shù)據(jù)量中做出權(quán)衡,同時(shí)剩余數(shù)據(jù)量可以通過(guò)內(nèi)容共享獲取,以減少緩存開(kāi)銷(xiāo),獲取更多收益。
本次仿真考慮4個(gè)隨機(jī)分布在60 m× 60 m區(qū)域內(nèi)屬于不同運(yùn)營(yíng)商的邊緣設(shè)備,同時(shí)內(nèi)容庫(kù)提供100個(gè)內(nèi)容,滿足Zipf參數(shù)為γ=0.7。內(nèi)容的實(shí)際數(shù)據(jù)量從{S0,2S0,3S0,4S0,5S0}中隨機(jī)選擇,其中S0=1為歸一化單位數(shù)據(jù)量。其他參數(shù)設(shè)置為:共享請(qǐng)求支付參數(shù)θ=0.5[6],回程開(kāi)銷(xiāo)參數(shù)cbh=5。所提出的算法與以下基準(zhǔn)算法進(jìn)行對(duì)比:
流行度緩存。邊緣設(shè)備根據(jù)內(nèi)容流行度的排序進(jìn)行緩存,最終達(dá)到緩存空間的約束。
隨機(jī)緩存。邊緣設(shè)備在緩存空間的約束下,隨機(jī)在緩存空間中緩存部分內(nèi)容。
圖4首先對(duì)比了所提出的pPBFT共識(shí)機(jī)制與PBFT共識(shí)機(jī)制的開(kāi)銷(xiāo)。根據(jù)文獻(xiàn)[18],α,β,η的CPU周期取值分別為8848 GC/s, 134000 GC/s以及88328 GC/s??梢钥闯觯S著節(jié)點(diǎn)數(shù)量從4個(gè)增加到30個(gè),需要更多的CPU周期處理所有節(jié)點(diǎn)之間的共識(shí)。但所提出的pPBFT共識(shí)機(jī)制只需要緩存相關(guān)內(nèi)容的節(jié)點(diǎn)參與,顯著降低了共識(shí)開(kāi)銷(xiāo)。
圖4 不同共識(shí)方案下節(jié)點(diǎn)數(shù)量與開(kāi)銷(xiāo)關(guān)系
圖5為可用緩存空間與緩存平均收益的關(guān)系。從仿真結(jié)果可以看出,當(dāng)可用的緩存空間從5逐漸增加30時(shí),所提出的算法與流行度緩存會(huì)命中更多內(nèi)容,而隨機(jī)緩存由于隨機(jī)性,緩存命中率不會(huì)明顯增加,因此所提算法與流行度緩存獲得更多的緩存收益。相較于每個(gè)邊緣設(shè)備只緩存流行內(nèi)容的重復(fù)性緩存,所提出的算法根據(jù)用戶(hù)的個(gè)性化請(qǐng)求,對(duì)流行度較低的內(nèi)容緩存較少的數(shù)據(jù)量,剩余數(shù)據(jù)量通過(guò)內(nèi)容共享獲取,降低了回程開(kāi)銷(xiāo)的同時(shí)獲取更多收益。
圖5 緩存空間與緩存平均收益關(guān)系
圖6具體展示了隨機(jī)選取的部分內(nèi)容原始數(shù)據(jù)量與實(shí)際緩存的數(shù)據(jù)量關(guān)系??梢钥闯觯幪?hào)越小的內(nèi)容,其流行度越高,緩存策略?xún)?yōu)先考慮緩存用戶(hù)請(qǐng)求頻率最高的內(nèi)容,并且是完整緩存。本文考慮邊緣設(shè)備的總收益最大化,因而緩存策略不能完全依靠?jī)?nèi)容流行度。當(dāng)內(nèi)容流行度逐漸減小時(shí),根據(jù)最優(yōu)解進(jìn)行部分內(nèi)容緩存,直到達(dá)到緩存空間的容量限制。
圖6 不同內(nèi)容緩存數(shù)據(jù)量比較
圖7展示了偏斜參數(shù)γ與緩存平均收益的關(guān)系。隨著γ的增大,即用戶(hù)的請(qǐng)求逐漸集中在流行內(nèi)容中,所提算法釋放更多的存儲(chǔ)空間完整緩存流行內(nèi)容,與流行度緩存均可以獲得更多的收益。但在γ較小時(shí),所提出算法的平均收益遠(yuǎn)高于其他方案。這是由于在流行度較低下進(jìn)行部分內(nèi)容緩存,所提算法關(guān)注到更多的請(qǐng)求,增加了不同邊緣設(shè)備進(jìn)行共享的內(nèi)容多樣性;當(dāng)γ繼續(xù)增大時(shí),所提算法最終與流行度緩存存儲(chǔ)相同的內(nèi)容,因而獲得同樣的緩存收益。
圖7 偏斜參數(shù)與緩存平均收益關(guān)系
本文提出一個(gè)基于聯(lián)盟鏈的運(yùn)營(yíng)商邊緣緩存系統(tǒng),可以實(shí)現(xiàn)邊緣設(shè)備緩存內(nèi)容的共享和交易。為了減少聯(lián)盟鏈中大規(guī)模節(jié)點(diǎn)驗(yàn)證內(nèi)容交易的共識(shí)開(kāi)銷(xiāo),僅選取緩存相關(guān)內(nèi)容的邊緣設(shè)備作為驗(yàn)證智能合約的執(zhí)行節(jié)點(diǎn)。此外,以最大化邊緣設(shè)備緩存收益為目標(biāo),采用KKT條件求解出最優(yōu)緩存策略的閉式表達(dá)式,并得出隨著內(nèi)容流行度變化而緩存不同數(shù)據(jù)量的一種緩存策略。仿真結(jié)果表明,與流行度緩存和隨機(jī)緩存策略相比,該策略可以有效提高運(yùn)營(yíng)商的緩存收益。在下一步工作中,將進(jìn)一步考慮運(yùn)營(yíng)商的緩存收益最大化,結(jié)合不同內(nèi)容資源的定價(jià),邊緣設(shè)備根據(jù)該定價(jià)策略在內(nèi)容緩存和共享之間取得權(quán)衡。