蘇俊基,楊龍祥,朱樂恒
(南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡節(jié)點數(shù)目日益增多,網(wǎng)絡能耗隨之增加,同時網(wǎng)絡架構顯得越來越臃腫。關于ICT能耗消耗調查表明,ICT行業(yè)所消耗的能量占全球總能耗的2%~10%,因此降低能耗意義非凡。為了根本性地解決現(xiàn)有網(wǎng)絡中的問題(移動性、安全性、能耗等),國內外已經啟動相關的研究項目,提出了新的網(wǎng)絡體系架構,例如美國的FIND和GENI項目,歐盟的FP7項目,日本的AKARI項目等。典型的新型網(wǎng)絡架構有DONA(Data-Oriented Network Architecture)、PSIRP(The Publish-Subscribe Internet Routing Paradigm)、NDN(Named Data Networking)、Open Flow Network和DTN(Delay Tolerant Network)等。
面對能源緊張的問題,提出降低能耗的方案刻不容緩。休眠機制是降低能耗的一種方式,將休眠方式應用到新的網(wǎng)絡架構體系下,可以達到節(jié)省能耗的效果,國內外已經在一些新型的網(wǎng)絡中提出相應的休眠方案。在DTN網(wǎng)絡體系架構下,參考文獻[1]、[2]提出了EACDS(ExponentialAdaptiveCyclicDifferenceSet system)和MACDS(MultiplicativeAdaptiveCyclicDifferenceSetsystem)兩種休眠算法;參考文獻[3]、[4]提出了將基于時間接觸的休眠機制應用到算法里,從而降低能耗。在Open Flow Network網(wǎng)絡架構下,參考文獻[5]提出了相關的休眠機制,選擇根節(jié)點,形成節(jié)點樹,根據(jù)網(wǎng)絡所需要的節(jié)點數(shù)和當前處于醒著狀態(tài)的節(jié)點數(shù)之間的關系,致相應的節(jié)點休眠。在PSIRP網(wǎng)絡體系架構下,參考文獻[6]、[7]提出了根據(jù)網(wǎng)絡節(jié)點的重要性決定關閉相應的節(jié)點,進入休眠,并且權衡能耗和延時之間的關系。還有其他一些網(wǎng)絡級休眠方案,如參考文獻[8]提出了ETE機制,能量感知以關閉相應的節(jié)點。
上述休眠方案當中的一些算法是本文介紹的主要內容,在研究的過程中,將休眠機制分為兩大類:節(jié)點級休眠和網(wǎng)絡級休眠,介紹了DTN網(wǎng)絡中節(jié)點級休眠方案和網(wǎng)絡級休眠方案,并進行了仿真。
網(wǎng)絡節(jié)點處于工作狀態(tài)和空閑狀態(tài)時,能耗的值相同,如圖1所示[9]。休眠是指將處在空閑狀態(tài)的節(jié)點休眠,以節(jié)省能耗。
圖1 有無休眠的能耗對比
DTN網(wǎng)絡屬于新型的網(wǎng)絡,它的特點是頻繁中斷,長延時的連接,這是因為移動性、節(jié)點稀疏分布和噪聲等因素的影響。下面介紹DTN網(wǎng)絡下的休眠方案:EACDS和MACDS[1-2,10]。
介紹EACDS和MACDS之前,首先熟悉DTN網(wǎng)絡節(jié)點架構,如圖2所示。其中,灰色方格1、2、4等表示節(jié)點醒著的時隙,5、6、7方格表示節(jié)點休眠的時隙,在每一個醒著的時隙前面加一個幀讓相鄰節(jié)點能夠偵聽到此節(jié)點。對于每一個節(jié)點,預先規(guī)定固定長度為Ls的集合,再以這個長度為周期循環(huán),而之前選取長度為Ls集合,必須保證此集合任意地循環(huán)移位都會有一個重合的、醒著的時隙。因為節(jié)點A和其他的節(jié)點是循環(huán)移位的關系,只有在某一時刻兩個節(jié)點都處于醒著的狀態(tài),才具備通信的條件。
圖2 節(jié)點時隙
EACDS和MACDS的共同點是通過某一種縮放的關系放大集合的長度Ls,Ls越大,節(jié)能效果越好。
EACDS是基于利用集合的分層方法,能量級為0的初始差集(P0=I=(υI,kI,λI))被另一個指數(shù)差集(E=(υE,kE,λE))放大為能量級1(P1=E?I)的分層集合,接著再次被放大為更高級別的分層集合 (P2=E2?I),依次類推,最后選擇某一能量級的P。其中,ν表示框架長度,k表示活動個數(shù),λ表示重疊個數(shù),?表示Kronecker積。
Kronecker積的定義為:A=(aij) 是m×n的矩陣,B=(bkI) 是p×q的矩陣,A和B的Kronecker積為mp×nq的塊矩陣C=(cαβ)=αijbkl,α=p(i-1)+k,β=q(j-1)+l。
MACDS是基于集合的分層方法,與EACDS不同的是用乘子集M=(υM,kM,λM)代替指數(shù)集E,初始集(I)被另外一個乘子集(M1)縮放,用來創(chuàng)建分層集(P1=M1?I),然后再被另外一個乘子集M2縮放成另外一個分層集P2=M2?I。M1,M2, …,Mi都是旋轉集合, 滿足:RCP{Mi,Mj}=1。RCP(Rotational Closure Property)表示兩個節(jié)點在所有的循環(huán)移位下都會發(fā)現(xiàn)對方。對于集合Ei和集 合Ej,ni≤nj,有 :
對于EACDS和MACDS,主要的特點是Pi級數(shù)越高即Ls長度越長,越能降低能耗。MACDS相對更加節(jié)能,但是如果在有能量級需要的情況下,EACDS卻更加實用。
不僅僅在DTN網(wǎng)絡,在其他網(wǎng)絡架構下也有相關的休眠機制,例如PSIRP網(wǎng)絡架構、Open Flow Network等。
這里介紹的休眠算法歸于以下幾個步驟[6-7]:
(1)檢查每條鏈路的利用率
對于網(wǎng)絡中的每個節(jié)點,分析鏈路利用率,鏈路利用率超過閾值,增加權重來減少利用率,鏈路利用率低于閾值,它成為減少權重的等待者。
(2)網(wǎng)絡節(jié)點排序
根據(jù)節(jié)點的局部中心度對網(wǎng)絡節(jié)點進行排列,這個序列反映節(jié)點在網(wǎng)絡中的重要性。這一步驟很重要。
(3)關閉網(wǎng)絡節(jié)點
節(jié)點進入休眠模式,可能導致數(shù)據(jù)包丟失,滿足下列條件,節(jié)點才能夠進入休眠模式。
①與此節(jié)點連接的鏈路沒有流量;
②此節(jié)點關閉后,其余的節(jié)點仍然可以連接;
③此節(jié)點關閉后,它所有相鄰節(jié)點可重新連接到網(wǎng)絡上。
該方案的特點是,對網(wǎng)絡元素重要性排列,以及根據(jù)節(jié)點進入休眠的條件判斷能否進入休眠。
Open Flow Network元素有接入節(jié)點、骨干節(jié)點。接入節(jié)點用來連接用戶終端或服務器,而骨干節(jié)點連接其他節(jié)點。骨干節(jié)點與接入節(jié)點之間的節(jié)點不能進入休眠。節(jié)點的休眠、喚醒以及路由路徑的改變步驟如下[5]:
(1)預先測量網(wǎng)絡流量。
(2)根據(jù)網(wǎng)絡流量計算節(jié)點需要轉發(fā)流量的數(shù)量以及決定根節(jié)點。整個網(wǎng)絡所需要的節(jié)點數(shù)=整個網(wǎng)絡的流量/節(jié)點轉發(fā)率。
(3)根據(jù)休眠算法讓節(jié)點休眠或者喚醒。
(4)改變使用醒著節(jié)點的路由路徑,用最短路徑算法來計算路由路徑。
其中根節(jié)點的選擇是為了形成一個樹結構的拓撲,從而選取相應的休眠等待節(jié)點。按照下面的方法選擇根節(jié)點:
①處理最大流量的節(jié)點作為根節(jié)點。
②如果多個節(jié)點的最大流量相同,選擇鏈路連接數(shù)最多的節(jié)點作為根節(jié)點。
休眠算法有以下幾種情況:
(1)醒著的節(jié)點數(shù)目大于傳輸流量所需要的節(jié)點數(shù)。這種情況下,主要又分為兩種:
①當前的根節(jié)點和之前選擇的根節(jié)點不同。
(a)從根節(jié)點到其他節(jié)點用最短路徑構建一個訪問樹。這里用Dijkstra算法。
(b)選擇候選的休眠節(jié)點,注意,根節(jié)點與訪問節(jié)點之間的節(jié)點不能休眠,其余的節(jié)點休眠。
(c)從最小流量節(jié)點開始把候選節(jié)點休眠一次,直到醒著的節(jié)點數(shù)量等于所需節(jié)點數(shù)量或所有候選節(jié)點睡眠。
②當前的根節(jié)點與之前的根節(jié)點相同。
當前選擇的根節(jié)點與原先選擇的節(jié)點相同,則有相同的訪問樹。然而,如果之前沒有休眠的候選節(jié)點,節(jié)點可能像上面提到的那樣進入休眠。否則,沒有其他操作將被執(zhí)行。
(2)醒著的節(jié)點數(shù)目小于傳輸流量所需要的節(jié)點數(shù)。喚醒休眠中的節(jié)點,順序按照休眠時的逆序,直到兩者數(shù)目相等。
(3)醒著的節(jié)點數(shù)目等于傳輸流量所需要的節(jié)點數(shù)。沒有節(jié)點需要喚醒或者休眠。
該方案的特點是選擇根節(jié)點構建樹,根據(jù)相關的準則,選擇休眠等待節(jié)點,優(yōu)化樹的結構,從而降低能耗。
本文采用ns-2網(wǎng)絡仿真工具,針對DTN網(wǎng)絡下的EACDS和MACDS兩種算法進行仿真實驗。節(jié)點采用Random Way Point移動模型,采取的路由協(xié)議是MFlood(洪泛協(xié)議),另外一些網(wǎng)絡環(huán)境參數(shù)設置如表1所示。
根據(jù)MACDS和EACDS的原理分析,在仿真中選擇I=(7,3,1),MACDS中的P3=(42,9,1),而EACDS中的P3=(63,12,1)。 如圖3所示,采取休眠方式的能耗明顯比沒采取休眠機制的能耗低,而MACDS比EACDS方案節(jié)能。
表1 仿真參數(shù)
圖3 仿真時間對平均能耗的影響
不同的網(wǎng)絡體系架構下,休眠機制會存在網(wǎng)絡連通性的問題,網(wǎng)絡節(jié)點處于休眠狀態(tài),不接受數(shù)據(jù)報文,所以要權衡能耗與網(wǎng)絡QoS之間的關系。在未來的工作當中,會對新的網(wǎng)絡體系架構下的主流休眠方案下的能耗和延時參數(shù)進行仿真和優(yōu)化。
[1]CHOI B J,SHEN X.Adaptive asynchronous clock based power saving protocols for delay tolerant networks[C].Global Telecommunications Conference,GLOBECOM 2009,IEEE,2009:1-6.
[2]CHOI B J,SHEN X.Adaptive asynchronous sleep scheduling protocols for delay tolerant networks[J].IEEE Transactions on Mobile Computing,2011,10(9):1283-1296.
[3]付凱,夏清波,尹波.DTN中一種基于接觸時間的休眠機制[J].計算機科學,2013,2(40):87-90.
[4]JUN H W,AMMAR M H,ZEGURA E W.Power management in delay tolerant networks:a framework and knowledge-based mechanisms[C].2005 Second Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks,IEEE SECON 2005,2005,5:418-429.
[5]BISTA B,TAKANOHASHI M,TAKATA T,et al.Rawat,a power saving scheme for open flow network[J].Journal of Clean Energy Technologies,2013,1(4):276-280.
[6]de Comunica?oes,Engenharia de Redes.Energy efficient architectures for the current and future Internet.2012.
[7]SILVA T,ARTUR A.A Survey on Energy Efficiency for the Future Internet.International Journal of Computer and Communication Engineering,2013,2(5).
[8]ATHANASIOU G,TSAGKARIS K,VLACHEAS P,et al.Introducing energy-awareness in traffic engineering for future networks[C].2011 7th International Conference on Network and Service Management(CNSM),IEEE,2011:1-4.
[9]BOLLA,BRUSCHI R,DAVOLI F,et al.Energy efficiency in the future Internet:a survey of existing approaches and trends in energy-aware fixed network infrastructures[J].Communications Surveys&Tutorials,IEEE,2011,13(2):223-244.
[10]VARDALIS D,TSAOUSSIDIS V.Energy-efficient Internetworking with DTN[J].Internet Engineering,2012,5(1).