趙姝麗,唐俊華,2
信息中心網絡(Information Centric Network,ICN)的基本設計思想是以信息的名稱為中心——內容根據一定命名規則被進行唯一標識成為網絡信息;整個網絡的運行則針對這些信息進行請求、路由和傳輸驅動。ICN因其良好的可擴展性、高效性、安全性、移動性和多宿主性[1],成為近年來的研究重點。
視頻分發方面,ICN由于具有文件大、客戶需求及時性強的特點,通常會在網絡中將一個視頻文件分為多個塊。MPEG-DASH(ISO/IEC 23009-1)作為多媒體、流媒體的分層編碼方法,可以結合網絡內部的內容分發策略,保證用戶體驗和系統的靈活性。其中,可縮放視頻編碼(Scalable Video Coding,SVC)在編碼期間將原始內容分成不同的層。根據所使用的具體方法,這些層可以相互依賴或也可彼此獨立。用戶至少需要一層(在相互依賴的層的情況下,這層被稱為“基本層”),以成功解碼和顯示內容。用戶可用的增強層越多,解碼內容的質量越好。這樣視頻軟件負責選擇適當的視頻層,從而實現在可用網絡資源下最優地平衡用戶體驗和系統成本[2]。
緩存策略作為ICN視頻分發系統中的重要研究方向,直接影響系統成本和用戶體驗。相關研究可以分為兩個方面:(1)存儲算法,決定請求路徑上哪些路由器應該緩存相關內容;(2)替換算法,決定在緩存已滿時怎樣替換緩存內容。然而,現有研究并未涉及在SVC編碼下不同替換算法的用戶體驗(QoE)和系統成本問題。
因此,本文首先結合ICN網絡分層視頻分發的特點,設計了一個ICN分層視頻分發系統,并建立數學模型對用戶體驗質量和路由成本進行刻畫;其次,通過在ndnSIM仿真平臺的實驗,分析不同緩存替換算法的性能特點;最后,進行展望和總結。
隨著人們對各種信息資源需求的與日俱增,網絡結構逐漸傾向于以信息為中心,因此產生了大量數據分發相關技術,如CDN(Content Distribution Network)、P2P(Peer to Peer)等。雖然它們都以信息為中心,但其作用都發揮于應用層,存在著大量無用的數據需要占據傳輸資源的情況,導致資源利用率不高。
ICN從本質上改變了傳統IP地址導向的格局,使網絡層設備能夠很好地在網絡層實現解析信息、路由信息、數據高速緩存以及信息和其他功能的多播傳遞,實現了內容與位置的分離,網絡內置緩存功能等成果。
近年來,ICN得到了國內外學術界的廣泛關注,主要工作成果包括 TRIAD[3]、DONA[4]、4WARD[5]、CCN[6]和 NDN[7]等。
ICN網絡因其路由節點的組成方式,緩存是其與生俱來的一部分。現有的關于緩存方面的研究主要集中在兩個方面:(1)內容緩存策略:決定在數據路由路徑上在哪些節點緩存對象,主要成果包括在所有路由上留下拷貝(LCE)、只在命中路由的下游路由上留下拷貝(LCD)、在請求路徑上任意選擇一個路由留下拷貝(Rand)、在每個路由上以某固定概率留下拷貝(Prob)等。(2)緩存替換策略:緩存已滿時如何替換文件,主要成果包括最近使用的(LRU)、先進先出(FIFO)、最不常用的(LFU)。
ICN的架構和原理確定了客戶端的流媒體采用pull數據調度策略。DASH作為采用pull策略的編碼方式,非常適用于ICN系統[5]。它建立在HTTP之上,并提供MPD(Media Presentation Description),描述整個碼流的構成。MPD包含關于多媒體內容的不同表示信息,客戶端以此判斷有多少表示可用,以及這些表示提供/需要哪種比特率。
目前,DASH默認采用AVC/H.264格式進行視頻傳輸。SVC作為另外一種傳輸格式,提供了將視頻內容編碼成基礎層和多個增強層的可能性。增強層構建在基礎層上,并在空間和/時間和/質量域中提供可伸縮性[8]。相比于AVC,SVC可以有效減少視頻傳輸過程中的系統緩存開銷,優化存儲問題,尤其適合當前具有內容龐大、用戶觀影需求分散特征的視頻分發系統。目前,SVC因其獨特優勢,已成為DASH技術和視頻分發的研究熱點。它在ICN系統下的研究主要集中在路由策略上,對緩存策略的研究仍然很少。
自適應流媒體的目標是提高用戶感知質量,也被稱為體驗質量(QoE)。對于可靠的ICN傳輸,最有影響力的QoE因素是[9]播放質量、啟動延遲、播出停頓時間和視頻質量變化的次數。對于SVC視頻系統,它的播放質量可以通過客戶端收到的每段視頻的增強層情況進行判斷。增強層越多,播放質量越高,用戶體驗越好。啟動延遲和播出停頓是由于緩存加載引起的,整體可以通過緩存加載時間來衡量。加載時間長,則用戶體驗差。視頻質量變化的次數是指相鄰兩段視頻所得到的增強層情況不同而引起的播放效果變化。這種視覺上的變化對用戶體驗也是一種傷害。
目前,關于QoE研究的主要成果集中在CNDs與ICN路由策略上,關于ICN下SVC視頻的研究很少。
一個ICN視頻分發系統主要由內容服務器、路由器和客戶端構成,內容分發的驅動力來自接收端,整個系統通過對興趣包(Interest Packet)和數據包(Data Packet)的生成、轉發、響應滿足客戶的內容需求。服務器根據信息中心網絡協議和DASH協議,對系統中的視頻媒體進行編碼,對編碼后的文件進行存儲,并處理路由器發送的興趣包返回包含它請求的文件塊數據包;路由器對來自其連接的其他路由器或客戶端的興趣包進行響應或轉發,對來自其連接的其他路由器或服務器的數據包進行路由,并對路由經過它的視頻文件塊進行緩存算法指導下的相關操作;客戶端根據客戶的觀看行為發送相應興趣包,并用于接收數據包并對其進行譯碼操作。本文采用SVC傳輸格式,每個視頻都會被分為一個基礎層和兩個增強層。客戶端對所需視頻文件塊發送興趣包,最終的觀影效果由接收到的數據包決定。
例如,一個名為video1的視頻文件經視頻文件編碼模塊編碼后,被分為10個2 s時長的子視頻文件,而每個文件被編碼為3層SVC結構。其中,第一個文件塊的基礎層L0在系統中的命名為“/video1/K1/L0”,前綴video1表示視頻名稱,/K0表示對應子文件,/L1表示對應文件層。若當前用戶正在觀看K1所對應的視頻文件,客戶端請求當前視頻進度對應的后4 s內的其他文件塊,即2個基礎層文件塊“/video1/K2/L0”“/video1/K3/L0”。若1 s后已經得到請求的文件塊,此時由于距離這2個文件塊的播放時間終點仍有3 s剩余時間,則客戶端繼續請求相應的增強層文件塊“/video1/K2/L1”“/video1/K3/L1”。若仍有剩余時間,則請求對應的L2增強層中的文件塊。該方式通過優先保證基礎層的緩存,最大程度地避免了用戶的播放等待,且通過請求增強層的方式進一步提升了用戶體驗。
由于每個路由的大小都遠小于系統中存在的視頻總量,當緩存空間已滿時,路由需要通過緩存替換策略決定將哪部分已存文件替換掉。系統中常見的替換方式有3種:最近使用的(LRU)、先進先出(FIFO)、最不常用的(LFU)。當替換算法為LRU時,路由會依據興趣包響應記錄,將最近被響應過的數據替換掉;當用FIFO算法時,路由會依據緩存記錄,將最早緩存的數據替換掉;當采用LFU算法時,路由會依據興趣包響應記錄,將目前被請求最少的數據替換掉。
用G=(V,E)表示系統拓撲結構。其中,V是所有點的集合,代表網絡中的緩存節點(用戶節點);E是所有邊的集合,代表這些緩存節點之間的通信連接。對于每個緩存節點v∈V,用Cv表示它的存儲容量。節點之間的通信開銷則可以用兩節點之間通過的邊的總長度進行衡量。需要經過的邊越長,則開銷越大。
假設在網絡系統中共存在N個在線用戶和K個視頻文件,每一個視頻文件經過SVC編碼后都可以被等分為I個子文件塊,且有L個文件層(本文中會將每個視頻文件分為3層)。用Sik表示視頻文件k中的第i塊子文件,用slik表示第l層所占內存空間大小,有:

式(1)表明,系統中任何一個緩存的容量都遠不能滿足對所有文件的存儲需求。
為了評估視頻流應用程序的性能,使用用戶滿意度模型[10]考慮視頻質量、質量變化和重啟事件所需時間。一個用戶在觀看由K個視頻文件組成的視頻時,用戶體驗可以表示為:

其中,R表示可用的視頻體驗(本文中,R={L0,L0+L1,L0+L1+L2});Ri表示客戶端視頻文件塊i的使用情況;q(Ri)表示一個視頻文件塊i的質量,此處定義為相應的平均顯示比特率;b(Ri)表示分層視頻文件塊i準備播出前的緩沖秒數;λ和μ是非負參數,分別模擬視頻質量變化和緩沖時間的特殊影響。
當系統的緩存大小固定后,系統的路由成本則可以表示為:

其中,集合u為緩存有路由v所請求的關于文件k中的第i塊子文件的路由集合;集合Nuik表示可以從節點u得到Sik的所有系統中其他節點的集合;q(Rvik)表示路由在請求文件k中的第i塊子文件的數據包時的比特率;duv表示節點v和節點u的溝通成本。系統中兩節點的溝通成本即路由成本,通常由距離和帶寬共同決定。
本文主要從兩個角度對緩存問題進行探索。
一方面,在給定路由緩存大小的情況下,3種替換策略LRU、FIFO、LFU之間的性能比較。更加優異的算法用戶體驗,Q值更高或/和路由成本T的值更低。
另一方面,調整緩存大小,觀察3種替換策略的用戶體驗Q和路由成本T的變化趨勢,如緩存的增大是否可以增強用戶體驗并減少路由成本;如果可以,程度如何。
利用ndnSIM[11]仿真平臺,本文實現了圖1描述的網絡結構的簡單替換算法性能比較與分析實驗。圖1左側代表典型ISP接入網絡的多個路由器和客戶端組成的自制系統(AS)。實驗中,客戶使用視頻流應用程序。客戶端的相關文件位于圖1右側的另一個AS中。由于這兩個自制系統沒有直接連接,因此必須通過網絡路由進行連接。假設客戶端與用戶路由之間的傳輸帶寬為1 Mb/s、1 ms延遲;不同用戶路由之間的帶寬為1 Mb/s、1 ms延遲;用戶路由1、3與網絡路由之間的帶寬都為1 Mb/s,延遲分別為10 ms與20 ms;網絡路由與服務器之間的帶寬為10 Mb/s,延遲為1 ms;各個連接之間的傳輸成本均為1個單位。

圖1 網絡系統結構
客戶端上的視頻流應用通過動態自適應流媒體實現[10]。本實驗選擇的數據集提供的視頻時長約為12 min,每個視頻文件時長為2 s,經過SVC編碼后形成1個基礎層和2個增強層。基本層(L0)具有約625 kb/s的平均比特率,第一個增強層(L1)的比特率約為1 497 kb/s。為了以L1的質量回放片段,必須獲取L0的相同片段,產生組合的多媒體比特率為L0+L1=2 122 kb/s。第二增強層(L2)具有約為2 986 kb/s的平均比特率。因此,觀看到第二增強層提供的視頻質量需要的碼率為L0+L1+L2=5 108 kb/s。
實驗過程中,緩存大小分別設置為總文件體積的2%、4%、6%、8%、10%。客戶端每秒一個勻速請求視頻文件,客戶端最多緩存50 s的視頻。
圖2和圖3分別是在不同緩存大小下,對Fifo、Lfu、Lru 3種主流替換策略進行的關于用戶體驗(QoE)和路由成本的實驗結果。在計算QoE的過程中,選取λ=10和μ=6 000。

圖2 不同緩存容量和策略下QoE

圖3 不同緩存容量和策略下系統路由成本
總體來看,隨著緩存的增加,3種策略下的用戶觀影體驗大致呈現改善。經過分析,Lru的QoE存在一定程度的下降,是由于緩存增加雖然會帶來視頻質量的上升,但同時視頻質量的變化和緩沖時間的上升程度卻超越了視頻質量上升帶來的體驗改善。
路由成本方面,Fifo和Lru算法下的路由成本基本呈現下降趨勢,而Lfu的路由成本沒有得到優化,具體原因仍待進一步探索。
實現的小型ICN的SVC視頻傳輸系統中,不同緩存策略下,通過用戶體驗質量和路由成本的模擬比較,發現緩存的增加對系統體驗和成本都有一定的優化作用。但是,由于模擬實現較為簡單,優化效果十分有限,一些算法的數據變化趨勢尚未得到充分理解,將在之后的相關工作中增加系統復雜性,進一步探索緩存問題。
[1] Ahlgren B,Dannewitz C,Imrenda C.A Survey of Information Centric Network[J].IEEE Communications Magazine,2012,50(07):26-36.
[2] Schwarz H,Marpe D,Wiegand T.Overview of the Scalable Video Coding Extension of the H.264/AVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technolo gy,2007,17(09):1103-1120.
[3] Gritter M,Cheriton D R.An Architecture for Content Routing Support in the Internet[J].Usits,2001,17(02):309-332.
[4] Koponen T.A Data-oriented (and Beyond) Network Architecture[J].Acm Sigcomm Computer Communication Review,2007,37(04):181-192.
[5] Aranda P A,Zitterbart M,Boudjemil Z,et al.4WARD[EB/OL].(2010-10-11)[2017-10-05].http://www.4wardproject.eu/.
[6] Jacobson V.Networking Named Content[C].In CoNext.ACM,2009:1-12.
[7] Jacobson V,Thornton J D,Smetters D K,et al.Named Data Networking (NDN) Project[EB/OL].(2010-10-11)[2017-10-05].http://named-data.net/techreport/TR001ndnproj.pdf.
[8] Schwarz H,Marpe D,Wiegand T.Overview of the Scalable Video Coding Extension of the H.264/AVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technolo gy,2007,17(09):1103-1120.
[9] Yitong L,Yun S,Yinian M,et al.A Study on Quality of Experience for Adaptive Streaming Service[C].In IEEE International Conference on Communication (ICC),2013.
[10] Yin X,Jindal A,Sekar V,et al.A Control-Theoretic Approach for Dynamic Adaptive Video Streaming over HTTP[J].ACM SIGCOMM Computer Comm.Review,2015,45(04):325-338.
[11] Mastorakis S,Afanasyev A.ndnSIM 2.0:A New Version of the NDN Simulatorfor NS-3[Z].2015.