謝俊峰,鄧安拓
(廣西民族大學1.人工智能學院;2.電子信息學院,廣西南寧530006)
隨著4K/8K高清視頻、增強現實/虛擬現實等大量移動互聯網新型業務的不斷成熟和普及,移動網絡數據流量呈爆炸式增長。根據思科公司的預測[1],從2017年到2022年,全球移動數據流量將增長7倍,通過對移動網絡數據流量的分析發現,內容(如文本、音頻、圖像、視頻等)相關的流量占主導地位。以視頻內容為例,按當時預測,從2017年到2022年,移動視頻流量將以每年55%的復合增長率高速增長,預計到2022年底,視頻流量將占移動網絡數據流量的79%[1]。
為應對爆炸式增長的移動流量,同時滿足用戶對超大帶寬、超低時延以及超大連接等移動網絡服務能力的需求,業界提出了超密集網絡(Ultra-Dense Network, UDN)技術[2-4],即在傳統的宏基站(Macro-cell Base Station, MBS)周圍部署大量低功率的小小區基站(Small-cell Base Station, SBS),包括微微蜂窩基站、家庭基站以及中繼節點等,以減少覆蓋盲點,支持更多用戶連接,并提供穩定和高效的數據傳輸,實現網絡容量的提升。雖然超密集網絡可以大幅度提高無線接入網絡容量以保證未來移動網絡在接入側滿足用戶對內容相關業務的需求,但是回程鏈路逐漸成為超密集網絡的瓶頸。
為緩解超密集網絡回程鏈路流量壓力,邊緣緩存[5-7]是一種有效的解決方案,通過在超密集網絡無線接入網側部署智能高速緩存,將流行的內容緩存在最貼近用戶的邊緣基站,當有用戶進行內容請求時,如果距離用戶近的基站緩存有該內容,則直接將內容傳輸給用戶,這種方式可以減少內容重復傳輸,緩解超密集網絡回程鏈路壓力,快速響應用戶請求,提升用戶體驗。文獻[8]研究了用戶移動感知的能量有效內容緩存策略,作者將用戶移動過程建模為馬爾科夫鏈,在此基礎上,最小化內容分發過程中的能量消耗。文獻[9]考慮了SBS緩存空間有限情況下的緩存利用率最大化問題,作者將該優化問題轉換為回程負載最小化問題,并使用K-means聚類算法和k-Nearest Neighbour (k-NN)分類算法來得到內容緩存策略。文獻[10]提出了一種兩階段內容緩存機制,第一階段先采用k-medoids聚類算法對所有用戶進行聚類,并將同一類中的用戶連接到相同的SBS,第二階段會根據用戶的歷史請求信息預測用戶的未來請求,并在此基礎上確定SBS中緩存的內容。文獻[11]提出了一種基于分簇的內容緩存策略,通過優化每簇中SBS的數量來降低用戶平均下載時延。
雖然文獻[8-11]對基于分簇的超密集網絡內容緩存問題進行了研究,但是忽略了簇間協作問題。為了進一步改善內容分發效率,提升緩存空間利用率,降低內容傳輸時延,本文提出了一種基于協作緩存的超密集網絡內容分發機制。對于簇內SBS如何緩存內容,每個簇可以自主決策;同時在處理用戶內容請求時,不僅考慮了簇內協作,還考慮了簇間協作,以進一步降低宏基站和移動核心網的負載。
本文提出的基于協作緩存的內容分發機制的應用場景為多個SBS部署在MBS周圍,從而形成超密集網絡。如圖1所示,在該網絡中,MBS通過回程鏈路與移動核心網連接,其覆蓋范圍內共有S個SBS,U個移動用戶,每個移動用戶連接一個SBS。S個SBS用集合S={s1,s2,…,sS}表示,同理,U個移動用戶用集合U={u1,u2,…,uU}表示。網絡中的SBS通過無線鏈路與MBS連接,SBS之間通過無線中繼進行通信。考慮到目前網絡中的內容呈爆炸式增長,從實際考慮,也為了降低系統的處理復雜度,將所有內容分成F類。F的大小可以由系統管理員設置,例如可以將內容分為電影、電視劇、紀錄片等,也可以對內容進行更精細化管理,將電影進一步細粒度劃分為喜劇電影、武俠電影、愛情電影等。

圖1 超密集網絡內容分發系統架構圖Fig.1 Overview of the content distribution system architecture in UDN
MBS會將所有SBS按照位置信息進行分簇,并為每個簇選取一個簇頭,用來協調分配簇內任務和資源。如圖2所示,簇內SBS維護兩個數據結構:簇內緩存狀態信息表、本地內容請求統計信息表。簇內緩存狀態信息表由簇頭推送給簇內其它SBS,記錄了內容URI(Uniform Resource Identifier)與其存儲位置(緩存有該內容的簇內SBS的標識)之間的映射。當用戶請求的內容未在本地緩存時,簇內緩存狀態信息表可以指導SBS進行簇內協作,從簇內緩存有該內容的SBS獲取內容。本地內容請求統計信息表記錄了一段時間內SBS覆蓋范圍內的用戶對F類內容的訪問情況。

圖2 內容分發系統的主要模塊Fig.2 Overview of the main modules in content distribution system architecture
簇頭維護四個數據結構:簇頭信息表、簇內緩存狀態信息表、簇的內容請求統計信息表、簇間相似度表。簇頭信息表由MBS推送給簇頭,記錄了所有簇頭的標識。簇的內容請求統計信息表包括本簇內容請求統計信息和其它簇的內容請求統計信息,其中本簇內容請求統計信息是將簇內所有SBS的本地內容請求統計信息匯總后得到的,其它簇的內容請求統計信息是由其它簇的簇頭發送的。簇的內容請求統計信息表主要用于計算簇和簇之間的相似度,從而形成簇間相似度表,主要用于進行簇間協作。當簇內所有節點都未緩存用戶請求的內容時,簇頭會查看簇間相似度表,向相似度比較高的簇的簇頭發送內容請求報文。
本文提出的基于協作緩存的內容分發機制可以分為三個過程,分別為SBS分簇過程、內容緩存過程、用戶內容請求過程。下面將對這三個過程進行詳細描述。
SBS分簇過程主要由MBS對其覆蓋范圍內的SBS進行分簇,是后續進行協作緩存的基礎。SBS分簇的詳細過程如下所述。
2.1.1 每隔周期T,所有的SBS將其位置信息和可用資源信息發送給MBS,可用資源包括計算資源(如CPU資源)和通信資源(如頻譜、功率等)。
2.1.2 位置信息體現SBS之間相互協作的能力,SBS之間距離越小,越容易相互協作。因此MBS根據位置信息將所有的SBS分成G個簇,每個簇有一定數量的SBS。
2.1.3 在每個簇內,MBS根據SBS所擁有的可用資源信息,選擇可用資源最多的SBS作為簇頭,用來協調分配簇內任務和資源。
2.1.4 MBS將分簇結果發送給每個SBS,其中包括該SBS所在簇的編號、簇頭的標識、簇內所有SBS的標識。每個SBS都可以知道自己被分在了哪個簇,簇內包含了哪些SBS,以及簇頭信息,便于進行簇內協作。
2.1.5 MBS將簇頭信息表發送給所有的簇頭,簇頭信息表中包含所有簇頭的標識。簇頭根據簇頭信息表可以知道其它簇的簇頭信息,便于進行簇間協作。
SBS分簇之后,每個簇需要有效利用簇內的緩存資源,將內容提前緩存在簇內,以降低用戶內容請求時延,緩解回程鏈路負載壓力,提高用戶體驗。內容緩存詳細過程如下所述。
2.2.1 每個SBS會統計自己覆蓋范圍內用戶的內容請求信息,每個用戶的內容請求信息是一個F維向量(對應F類內容)。假設用戶u1的內容請求信息用Vu1=(Vu1,1,Vu1,2,…,Vu1,F)表示,其中Vu1,1表示在上一個周期T內用戶u1對第1類內容的請求次數。
2.2.2 每個SBS將自己覆蓋范圍內用戶的內容請求信息進行匯總,形成該SBS的內容請求信息,即覆蓋范圍內用戶的F維向量之和。假設SBSsg0,1的內容請求信息用VSg0,1=(VSg0,1,1,VSg0,1,2,…,VSg0,1F)表示。
2.2.3 所有SBS將其內容請求信息發送給簇頭,簇頭將簇內所有SBS的內容請求信息進行匯總,形成該簇的內容請求信息,即簇內所有SBS的F維向量之和。假設簇g0的內容請求信息用Vg0=(Vg0,1,Vg0,2,…,Vg0,F)表示。
2.2.4 每個SBS將自己的可用緩存空間大小發送給簇頭,簇頭將簇內所有SBS的可用緩存空間大小進行累加,形成該簇的可用緩存空間大小。假設簇g0的可用緩存空間大小用Cg0表示。
2.2.5 簇頭將可用緩存空間大小分配給F類內容。這里以簇g0為例進行說明,簇g0為第1類內容分配,其緩存空間大小為Cg0·pg0,1,其中pg0,1表示簇g0給第1類內容分配的緩存空間百分比,可以通過式(1)計算得到。
(1)
簇頭根據內容緩存策略從所有屬于第1類的內容中選擇一定數量的內容(選取內容的大小之和不能超過分配給第1類內容的緩存空間大小),將其緩存在簇內的SBS中。以此類推,簇頭依次對類內容進行緩存。
簇頭對F類內容緩存之后會形成簇內緩存狀態信息表,包含內容URI、緩存該內容的SBS的標識,并將簇內緩存狀態信息表發送給簇內的所有SBS。通過簇內緩存狀態信息表,SBS可以知道簇內的SBS分別緩存了哪些內容,使得簇內SBS可以協作為用戶提供內容分發服務。
2.2.6 簇頭查看簇頭信息表,將本簇的內容請求信息發送給其它簇的簇頭。收到其它簇的簇頭發送的內容請求信息后,簇頭會計算本簇與其它簇之間的相似度。簇gi與簇gj之間的相似度可以通過式(2)計算得到[12-13]。
(2)
通過式(2)的計算方法,簇頭會形成簇間相似度表,記錄該簇與其它簇之間的相似度,用于實現簇間協作來為用戶提供內容分發服務。
圖3展示了內容請求過程的信息傳遞和交互流程。為了更清晰地對內容請求過程進行描述,這里假設用戶u1與簇g0中的SBS sg0,1連接。請求的處理流程如下。
2.3.1 當用戶u1請求某一內容時,首先向其所連接的SBS(sg0,1)發送內容請求報文,其中攜帶內容URI。
2.3.2Sg0,1收到內容請求報文后,會從合適的節點獲取內容,具體分為以下四種情況。
Case1:內容被緩存在Sg0,1
Step1Sg0,1根據內容URI查看簇內緩存狀態信息表,發現內容已經被緩存在本地,則直接將內容傳輸給用戶u1。
Case2:內容被緩存在簇內的其它SBS
Step1Sg0,1通過查看簇內緩存狀態信息表,發現內容已經被緩存在簇內的其它SBS(假設為Sg0,2),則向Sg0,2發送內容請求報文。
Step2Sg0,2將內容傳輸給Sg0,1。
Step3Sg0,1將內容傳輸給用戶u1。
Case3:簇內未緩存該內容
Step1Sg0,1通過查看簇內緩存狀態信息表,發現內容未被緩存在簇內,則向簇頭Sg0,0發送內容請求報文。
Step2 簇頭Sg0,0查看簇間相似度表,選擇與簇g0最相似的N個簇(N≤G),向這個N簇的簇頭發送內容緩存詢問報文,其中攜帶內容URI,用來詢問這N個簇是否緩存有用戶u1請求的內容。
Step3 簇頭收到內容緩存詢問報文后,會查看簇內緩存狀態信息表,并發送內容緩存應答報文,其中攜帶內容緩存標志符。內容緩存標志符為1表示本簇已經緩存了該內容,為0表示本簇未緩存該內容。
Step4 簇頭Sg0,0會選擇最早收到的內容緩存標志符為1的內容緩存應答報文,向其對應的簇頭(假設為Sg1,0)發送內容請求報文。
Step5 簇頭Sg1,0將內容傳輸給簇頭Sg0,0。
Step6 簇頭Sg0,0將內容傳輸給Sg0,1。
Step7Sg0,1將內容傳輸給用戶u1。
Case4:其它簇未緩存該內容
Step1在Case3的Step4中,如果簇頭Sg0,0收到的內容緩存應答報文中的內容緩存標志符均為0,則表明與簇g0最相似的N個簇都未緩存該內容,這種情況下,簇頭Sg0,0會向MBS發送內容請求報文。
Step2 MBS會從本地緩存,或者移動核心網,或者內容提供商的源服務器獲取內容。
Step3 MBS將內容傳輸給簇頭Sg0,0。
Step4 簇頭Sg0,0將內容傳輸給Sg0,1。
Step5Sg0,1將內容傳輸給用戶u1。
總結這四種情況,第一種情況是SBS本地緩存命中,第二種情況是簇內協作,第三種情況是簇間協作,第四種情況是SBS直接向MBS發送內容請求。

圖3 用戶內容請求的處理流程Fig.3 Processing flow of user content requests
使用Matlab仿真軟件對提出的內容分發機制的性能進行仿真驗證[14]。在仿真中,假設超密集網絡中SBS的數量為50,每個SBS可以緩存10個內容,內容總數為5 000個,每個內容的大小為10Mbits,用戶對內容的請求數量服從Zipf分布,其參數β為0.8[15],內容請求總數為2 000個。假設內容從SBS傳輸給用戶的平均時延為10ms,內容在簇內協作傳輸的平均時延為50ms,內容在簇間協作傳輸的平均時延為200ms,內容從移動核心網經MBS傳輸給SBS的平均時延為500ms。在仿真過程中,為了更好的說明本文提出的內容分發機制的優勢,將其與無網內緩存以及只有簇內協作的場景進行對比。

圖4 內容傳輸時延與SBS緩存空間大小的關系圖Fig.4 Content transmission delay under different values of SBS’s cache size
圖4展示了內容傳輸時延與SBS緩存空間大小之間的關系。從圖中可以看出,內容傳輸時延隨著SBS緩存空間大小的增加而明顯降低。這是因為當SBS緩存空間變大時,簇內的SBS可以緩存更多的內容,會有更多的用戶請求在簇內得到響應,因此會降低內容傳輸時延。

圖5 內容傳輸時延與內容數量的關系圖Fig.5 Content transmission delay under different values of the number of contents
圖5展示了內容傳輸時延與內容數量之間的關系。從圖中可以看出,內容傳輸時延隨著內容數量的增加而逐漸增加。這是因為當內容數量增加時,用戶請求被分散在更多的內容,用戶請求單個內容的概率會變小,從而導致會有更多的用戶請求不能在簇內或者簇間得到響應,因此會增加內容傳輸時延。

圖6 內容傳輸時延與用戶內容請求數量的關系圖Fig.6 Content transmission delay under different values of the number of content requests
圖6展示了內容傳輸時延與用戶內容請求數量之間的關系。從圖中可以看出,內容傳輸時延隨著用戶內容請求數量的增加而增加。這是因為當用戶內容請求數量增加時,會有更多的用戶內容請求不能在簇內或者簇間得到響應,而需要經過MBS從移動核心網或者內容源服務器獲取內容,因此會增加內容傳輸時延。
從圖4到圖6還可以看出,相比于SBS無內容緩存的場景,邊緣緩存可以顯著降低內容傳輸時延,提高內容分發效率。此外,由于本文提出的基于協作緩存的內容分發機制兼具簇內協作和簇間協作,相比于只有簇內協作的場景,會有更低的內容傳輸時延。
在超密集網絡中,考慮到成本問題,每個SBS的緩存容量十分有限,而內容又呈現高速增長趨勢,因此,如何有效利用SBS有限的緩存容量來提升內容分發效率是一個值得研究的問題。為了解決這個問題,本文提出了一種基于協作緩存的內容分發機制,主要分為三個過程:SBS分簇過程、內容緩存過程、用戶內容請求過程。SBS分簇過程對SBS進行分簇,內容緩存過程中每個簇自主決定內容如何在簇內進行緩存,用戶內容請求過程通過簇內協作和簇間協作來降低宏基站和移動核心網的負載。仿真結果表明,本文提出的內容分發機制可以讓用戶獲得更低的內容傳輸時延,提高了用戶體驗。