章 剛, 陳慶奎,2
(1.上海理工大學(xué)管理學(xué)院,上海 200093;
2.上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著物聯(lián)網(wǎng)(Internet of Things)用戶數(shù)量的不斷上升,請(qǐng)求服務(wù)種類不斷地變化,群體用戶對(duì)網(wǎng)絡(luò)QoS路由提出了越來(lái)越高的要求,但目前QoS路由研究主要集中在針對(duì)單個(gè)源節(jié)點(diǎn)到單個(gè)目的節(jié)點(diǎn)下不精確狀態(tài)信息的多約束QoS路由[1-4]和精確狀態(tài)信息的多約束QoS路由[5-8],主要考慮單一請(qǐng)求下,在滿足QoS約束要求時(shí),選擇合適路徑,而本文考慮的是一種在約束條件下群體訪問(wèn)路由選擇方式.
通常情況下,在Internet上存在兩種傳輸流量區(qū)域,分別為黑色區(qū)域和白色區(qū)域.其中,黑色區(qū)域?yàn)樗鬟^(guò)未知流量,而且不能監(jiān)測(cè)區(qū)域;白色區(qū)域?yàn)槟鼙O(jiān)測(cè)和控制流量區(qū)域,主要指可以通過(guò)白色區(qū)域上路由節(jié)點(diǎn)之間的協(xié)同監(jiān)測(cè),監(jiān)測(cè)整個(gè)區(qū)域的有效帶寬、延時(shí)和代價(jià).在實(shí)際環(huán)境下,黑色區(qū)域和白色區(qū)域之間是相互影響的,而且兩個(gè)區(qū)域是隨時(shí)間的變化而動(dòng)態(tài)地變化,兩個(gè)區(qū)域所占的帶寬也隨時(shí)間的變化而變化.
本文以文獻(xiàn)[9]所描述的帶延遲約束群體訪問(wèn)策略為應(yīng)用背景,通過(guò)對(duì)用戶聚類,將大量用戶根據(jù)興趣分成多個(gè)群體(Group),所有群體通過(guò)智能代理訪問(wèn)網(wǎng)絡(luò)上的資源,每個(gè)代理可以為多個(gè)群體提供服務(wù).隨著網(wǎng)絡(luò)上流量的迅速增加,導(dǎo)致網(wǎng)絡(luò)上路由節(jié)點(diǎn)狀態(tài)信息時(shí)刻改變,那么,對(duì)于任意一個(gè)請(qǐng)求在延時(shí)約束范圍內(nèi)到達(dá)目的節(jié)點(diǎn)可能存在一條或多條可行路徑,則本文所要討論的問(wèn)題可以描述為一種在白色區(qū)域內(nèi)網(wǎng)絡(luò)狀態(tài)信息動(dòng)態(tài)改變下帶延時(shí)約束的群體多路徑選擇問(wèn)題(D2CGMP),此問(wèn)題是NP(non-deterministic polynomial)問(wèn)題,因此,從啟發(fā)式算法角度來(lái)解決此問(wèn)題.
文獻(xiàn)[10]從網(wǎng)絡(luò)工程角度分析了網(wǎng)絡(luò)再造工程對(duì)QoS路由的影響,基于文獻(xiàn)[10]的思想,本文提出了一種群體訪問(wèn)路由算法(IOT_GR),該算法主要基于預(yù)計(jì)算方式選擇路徑,通過(guò)部署在Internet上的智能路由節(jié)點(diǎn)構(gòu)建一塊白色區(qū)域,在黑色區(qū)域動(dòng)態(tài)影響下,利用算法中所定義的多種代理間的啟發(fā)式協(xié)同路由過(guò)程,在網(wǎng)絡(luò)狀態(tài)信息不精確情況下,有效地提供QoS路由服務(wù).
接入代理AA:一種面向群體的智能體代理,群體通過(guò)此代理訪問(wèn)Internet資源.
路由代理RA:一種連接AA與智能路由節(jié)點(diǎn)的智能體代理,主要為AA提供路由路徑選擇服務(wù).
心跳代理HA:一種智能代理,主要負(fù)責(zé)智能路由節(jié)點(diǎn)之間狀態(tài)信息的交換.
探測(cè)包PP:主要為路由代理RA預(yù)先探測(cè)各點(diǎn)之間的有效路徑,由路由代理RA產(chǎn)生.
定義1 路由模型可行性.本路由模型有效資源只在白色區(qū)域,同時(shí)又有黑色區(qū)域的動(dòng)態(tài)影響,因此,本文只考慮當(dāng)白色區(qū)域有足夠的資源時(shí),本路由模型才具有可行性,其余情況本文暫不考慮.
定義2 D2CGMP問(wèn)題.設(shè)網(wǎng)絡(luò)G〈V,E〉,其中,V={v1,v2,…,vm}為節(jié)點(diǎn)集合,E={e1,e2,…,em}為鏈路集合,設(shè)sj作為源節(jié)點(diǎn),dk為目的節(jié)點(diǎn),p(sj,dk)=(sj,v1,v2,…,vi,dk)表示從源節(jié)點(diǎn)sj到目的節(jié)點(diǎn)dk的一條路由路徑.設(shè)rst(i)sj為源節(jié)點(diǎn)sj上第i個(gè)群體的一組請(qǐng)求表示為請(qǐng)求集合rst(i)sj中第t個(gè)資源請(qǐng)求.設(shè)D表示QoS延時(shí)度量,D(e)表示鏈路e上當(dāng)前的延時(shí),令
表示請(qǐng)求w在當(dāng)前路徑p(sj,dk)上每條鏈路e的QoS度量D值之和,同時(shí),設(shè)表示請(qǐng)求在QoS度量D下的約束量表示第t個(gè)請(qǐng)求尋找到的一條從源節(jié)點(diǎn)sj到目的節(jié)點(diǎn)dk的可行路徑,則多群體多請(qǐng)求在滿足約束條件下選擇一組有效路徑p′為
式中,m為源節(jié)點(diǎn)個(gè)數(shù);n為目的節(jié)點(diǎn)個(gè)數(shù);N為群體個(gè)數(shù).
D2CGMP問(wèn)題中所有的解路徑p′都屬于白色區(qū)域下解空間,都是滿足約束的一組有效可行路徑集合.由于白色區(qū)域時(shí)刻在變,因此,這組有效路徑解也時(shí)刻在變.
定義3 互不相交路徑.雖然D2CGMP問(wèn)題可以尋找到一組滿足約束條件的有效路徑,但是,對(duì)于一組具有公共路由節(jié)點(diǎn)或者公共鏈路的路徑,依然會(huì)出現(xiàn)流量過(guò)載和可靠性低等問(wèn)題,而互不相交QoS路由不僅能克服流量過(guò)載,實(shí)現(xiàn)信息分流,同時(shí)也提高了信息傳輸?shù)目煽啃?,因此,本文考慮選擇有效路徑必須為互不相交路徑,給定網(wǎng)絡(luò)G〈V,E〉,V為節(jié)點(diǎn)集合,E為鏈路集合,則對(duì)于任意從源節(jié)點(diǎn)sj到目的節(jié)點(diǎn)dk的兩條路徑p1和p2滿足式(1)和式(2),說(shuō)明p1∩p2=?.
式(1)表示除源節(jié)點(diǎn)sj和目的節(jié)點(diǎn)dk外,對(duì)于任意一個(gè)中間節(jié)點(diǎn)v,出度數(shù)與入度數(shù)相等,參數(shù)M表示中間節(jié)點(diǎn)v上所有的鏈路數(shù),同時(shí),節(jié)點(diǎn)v的度d(v)滿足式(3).
式中,nsv,nvt分別表示源節(jié)點(diǎn)sj到中間節(jié)點(diǎn)v有鏈路,中間節(jié)點(diǎn)v到目的節(jié)點(diǎn)dk有鏈路,則整體表示為從源節(jié)點(diǎn)sj出來(lái)的鏈路數(shù)等于進(jìn)入目的節(jié)點(diǎn)dk的鏈路數(shù).
證明 如果p1與p2為相交的兩條路徑,則在路徑p1與p2上必然存在一個(gè)中間節(jié)點(diǎn)v,使得其所有的邊數(shù)與其余所有中間節(jié)點(diǎn)的邊數(shù)不一致,以至于不能滿足式(1);如果p1與p2為相交的兩條路徑,但是沒(méi)有公共的源節(jié)點(diǎn)與目的節(jié)點(diǎn),則必然不能滿足式(2);如果p1與p2為不相交的兩條路徑,有公共的源節(jié)點(diǎn)與目的節(jié)點(diǎn),則對(duì)于任意一個(gè)中間節(jié)點(diǎn)v,其都滿足式(1)和式(2).證畢.
定義4 路由節(jié)點(diǎn)狀態(tài)信息更新概率.路由節(jié)點(diǎn)觸發(fā)更新?tīng)顟B(tài)信息的條件在于,當(dāng)路由節(jié)點(diǎn)上的負(fù)載量達(dá)到一個(gè)閾值C時(shí),就觸發(fā)更新機(jī)制.在此Q設(shè)為隊(duì)列,保存當(dāng)前路由節(jié)點(diǎn)接收但沒(méi)有處理的請(qǐng)求量,令max Q和min Q分別表示觸發(fā)路由節(jié)點(diǎn)狀態(tài)信息更新時(shí)Q的最大量和最小量,則路由節(jié)點(diǎn)j狀態(tài)信息更新概率
定義5 群體訪問(wèn)過(guò)程示意圖,如下圖1所示.
圖1 群體訪問(wèn)網(wǎng)絡(luò)過(guò)程示意圖Fig.1 Multi-groups accessing Internet process
圖1中網(wǎng)絡(luò)結(jié)構(gòu)由智能路由節(jié)點(diǎn)構(gòu)成,總共分為配置接入代理AA的節(jié)點(diǎn)、配置路由代理RA的節(jié)點(diǎn)、路由層路由節(jié)點(diǎn)Ri和目的節(jié)點(diǎn)Di,i∈n,rsti為群體提交一組資源訪問(wèn)請(qǐng)求,由圖1可知,不同的AAi為不同的rsti提供服務(wù),同時(shí),rsti的一組請(qǐng)求由不同的用戶請(qǐng)求組成,其目的節(jié)點(diǎn)可以相同,也可以不同,如rst1向AA1提交一組請(qǐng)求,但是,請(qǐng)求資源所在目的節(jié)點(diǎn)不相同,為圖1中的橙色實(shí)線請(qǐng)求,在約束條件下分別尋找到兩條有效路徑AA1→RA1→R1→R4→D1和AA1→RA2→R2→R5→D3.同樣,rst3向AA3提交一組請(qǐng)求,同時(shí),請(qǐng)求資源所在目的節(jié)點(diǎn)相同,為圖1中的綠色實(shí)線請(qǐng)求,雖然目的節(jié)點(diǎn)相同,但是,由于要滿足約束條件,因而產(chǎn)生兩條有效路徑分別為AA3→RA3→R1→R3→R5→Dn和AA3→RA3→R2→R5→Dn.
定義6 全局代價(jià)表.設(shè)三元組Ep=(sj,dk,cost(p))為路徑p所對(duì)應(yīng)的全局代價(jià)表,其中,sj為源節(jié)點(diǎn),dk為目的節(jié)點(diǎn),cost(p)為從源節(jié)點(diǎn)sj到目的節(jié)點(diǎn)dk所在路徑p的代價(jià)函數(shù),網(wǎng)絡(luò)中每個(gè)路由節(jié)點(diǎn)都需要計(jì)算出經(jīng)過(guò)本節(jié)點(diǎn)的所有路徑代價(jià)值,并利用心跳代理HA進(jìn)行路由節(jié)點(diǎn)間信息交互,發(fā)送給其相鄰的路由節(jié)點(diǎn),相鄰路由節(jié)點(diǎn)在此基礎(chǔ)上進(jìn)行路由選擇,從而能有效地減少預(yù)計(jì)算的時(shí)間,同時(shí)構(gòu)成路由算法的協(xié)同策略基礎(chǔ).
定義7 帶延時(shí)約束的路徑預(yù)計(jì)算策略.設(shè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為G〈V,E〉,其中,V={v1,v2,…,vm}為網(wǎng)絡(luò)所有節(jié)點(diǎn)的集合,E={e1,e2,…,em}為網(wǎng)絡(luò)鏈路的集合.對(duì)于每個(gè)RA,每隔一段時(shí)間T會(huì)產(chǎn)生一個(gè)探測(cè)包PP,探測(cè)當(dāng)前源節(jié)點(diǎn)到目的節(jié)點(diǎn)所有有效路徑.對(duì)于每條路徑而言,在時(shí)間T,PP從源節(jié)點(diǎn)i出發(fā)到目的節(jié)點(diǎn)j,經(jīng)過(guò)路由節(jié)點(diǎn)k時(shí),查詢?nèi)执鷥r(jià)表Ep,如果存在一條有效路徑,則根據(jù)全局代價(jià)表Ep,在加入路由節(jié)點(diǎn)k時(shí),重新計(jì)算路徑代價(jià),如果滿足約束條件,則更新全局代價(jià)表Ep,并通過(guò)心跳代理HA發(fā)送到相鄰路由節(jié)點(diǎn);如果不滿足約束條件,則根據(jù)式(5)計(jì)算一條從源節(jié)點(diǎn)i到目的節(jié)點(diǎn)j的有效路徑,其中,延時(shí)分為傳輸延時(shí)和排隊(duì)延時(shí),如果當(dāng)前總延時(shí)超過(guò)約束值,則路徑丟棄;否則,當(dāng)前路由節(jié)點(diǎn)更新全局代價(jià)表Ep,并通過(guò)心跳代理HA發(fā)送到相鄰路由節(jié)點(diǎn),則
定義8 路由節(jié)點(diǎn)狀態(tài)更新下全局代價(jià)表更新策略.當(dāng)路由節(jié)點(diǎn)根據(jù)式(4)其概率pk達(dá)到閾值時(shí),路由節(jié)點(diǎn)會(huì)廣播其更新?tīng)顟B(tài),此時(shí)路由節(jié)點(diǎn)狀態(tài)信息已經(jīng)改變,因此,不能再根據(jù)更新前狀態(tài)值去計(jì)算.每個(gè)路由節(jié)點(diǎn)接收到其中路由節(jié)點(diǎn)狀態(tài)更新廣播后,重新計(jì)算其全局代價(jià)表Ep,并更新Ep.如果更新后的狀態(tài)對(duì)路徑?jīng)]有影響,則此條路徑依然有效;如果更新?tīng)顟B(tài)后對(duì)路徑有影響,則從當(dāng)前路徑中刪除此路由節(jié)點(diǎn),并把此路由節(jié)點(diǎn)的上跳節(jié)點(diǎn)指向其下跳節(jié)點(diǎn),最后更新Ep.
實(shí)驗(yàn)環(huán)境基于NS2(network simulator version 2)網(wǎng)絡(luò)仿真環(huán)境由仿真工具模擬大規(guī)模協(xié)同網(wǎng)絡(luò)場(chǎng)景,驗(yàn)證IOT_GR與當(dāng)前一些重要算法間的差異,通過(guò)NS2仿真平臺(tái),產(chǎn)生模擬的物理拓?fù)浣Y(jié)構(gòu),在此拓?fù)浠A(chǔ)上建立節(jié)點(diǎn)之間的連接,最后部署本路由模型,按照模擬的物理拓?fù)浞謩e創(chuàng)建了100~500個(gè)節(jié)點(diǎn),鏈路的帶寬為2Mbps,鏈路上的延時(shí)為10~1 000ms,在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上分別配置IOT_GR算法、MP-POC算法[3]、H_M(jìn)COP算法[6],同時(shí)設(shè)置參數(shù).仿真測(cè)試硬件環(huán)境:1臺(tái)DELL臺(tái)式電腦,配置CPU Intel(R)Core(TM)2Duo E7400,主頻2.8GHz,內(nèi)存2G,硬盤173.0G,操作系統(tǒng):安裝Ubuntu 10.04Kernel Linux-2.6.32-30-generic GNOME 2.30.2操作系統(tǒng).
實(shí)驗(yàn)主要從擴(kuò)展性、算法執(zhí)行時(shí)間和算法對(duì)資源的消耗量這3個(gè)方面測(cè)試IOT_GR算法與當(dāng)前典型算法之間的差異,現(xiàn)給出具體的實(shí)驗(yàn)結(jié)果與分析.
2.2.1 擴(kuò)展性測(cè)試
實(shí)驗(yàn)1 實(shí)驗(yàn)分別模擬了兩組拓?fù)浣Y(jié)構(gòu)分別為100個(gè)節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)和500個(gè)節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu),同時(shí)模擬了3種算法在兩種拓?fù)浣Y(jié)構(gòu)下其服務(wù)路由滿意率SRQoS變化過(guò)程,由此分別比較當(dāng)拓?fù)浣Y(jié)構(gòu)增大和群體請(qǐng)求數(shù)增加時(shí)3種算法的服務(wù)路由滿意率QoS的變化率.其中,服務(wù)路由滿意率SRQoS為請(qǐng)求服務(wù)成功個(gè)數(shù)與請(qǐng)求服務(wù)總數(shù)之比.圖2(a)描述了100個(gè)節(jié)點(diǎn)下服務(wù)路由滿意率X.
圖2 在各個(gè)節(jié)點(diǎn)下服務(wù)路由滿意率Fig.2 Satisfaction rate of server route under different nodes
由圖2(a)可知,當(dāng)群體請(qǐng)求數(shù)比較少時(shí),3種算法的路由滿意率比較接近,而且都超過(guò)80%;當(dāng)群體請(qǐng)求個(gè)數(shù)超過(guò)50以后,3種算法的路由滿意率有下降趨勢(shì),MP-POC算法和H_M(jìn)COP滿意率都低于80%,而IOT_GR算法依然超過(guò)80%.如圖2(b)所示,描述500個(gè)節(jié)點(diǎn)下服務(wù)路由滿意率.由圖2(b)可知,當(dāng)群體請(qǐng)求數(shù)超過(guò)100時(shí),和圖2(a)相比,3種算法的路由滿意率都呈現(xiàn)下降趨勢(shì);當(dāng)群體請(qǐng)求個(gè)數(shù)超過(guò)300以后,3種算法的路由滿意率均低于80%;當(dāng)群體請(qǐng)求個(gè)數(shù)達(dá)到500以后,MP-POC算法和H_M(jìn)COP滿意率都接近60%,而IOT_GR算法依然超過(guò)60%.由此可見(jiàn),隨著拓?fù)浣Y(jié)構(gòu)的擴(kuò)大和群體個(gè)數(shù)的增加,IOT_GR模型路由滿意率始終在80%上下徘徊,滿意率并沒(méi)有發(fā)生較大的波動(dòng).
2.2.2 算法平均執(zhí)行時(shí)間測(cè)試
實(shí)驗(yàn)2 在拓?fù)浣Y(jié)構(gòu)為100個(gè)節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)下進(jìn)行實(shí)驗(yàn),同時(shí)模擬3種算法在拓?fù)浣Y(jié)構(gòu)下,通過(guò)3組不同的群體個(gè)數(shù),測(cè)試3種算法平均執(zhí)行時(shí)間的變化過(guò)程.圖3描述了100個(gè)節(jié)點(diǎn)下的算法平均執(zhí)行時(shí)間S.
圖3 算法平均執(zhí)行時(shí)間Fig.3 Average execution time of algorithm
由圖3可知,群體個(gè)數(shù)在50時(shí),3種算法的平均執(zhí)行時(shí)間都比較少,均小于0.1;當(dāng)群體個(gè)數(shù)超過(guò)100時(shí),3種算法的平均執(zhí)行時(shí)間都上升,尤其是H_M(jìn)COP算法上升最快;當(dāng)群體個(gè)數(shù)超過(guò)150時(shí),MP-POC和H_M(jìn)COP平均執(zhí)行時(shí)間都超過(guò)0.3,但I(xiàn)OT_GR算法平均執(zhí)行時(shí)間比較少.
2.2.3 算法對(duì)資源消耗量測(cè)試
實(shí)驗(yàn)3 資源消耗量包括鏈路消耗和節(jié)點(diǎn)消耗,在此用歸一化方式線性整合鏈路消耗和節(jié)點(diǎn)消耗,根據(jù)式(6)計(jì)算,其中,C為資源消耗量,C(e)為鏈路消耗,C(v)為節(jié)點(diǎn)消耗,α和β分別為鏈路和節(jié)點(diǎn)的權(quán)值,則
在拓?fù)浣Y(jié)構(gòu)為100個(gè)節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)下進(jìn)行實(shí)驗(yàn),同時(shí)模擬3種算法在拓?fù)浣Y(jié)構(gòu)下,通過(guò)3組不同的群體個(gè)數(shù),測(cè)試3種算法對(duì)資源消耗量的變化過(guò)程.圖4描述了300個(gè)節(jié)點(diǎn)下的資源消耗量.U為單位消耗量.由圖4可知,在群體個(gè)數(shù)不超過(guò)100時(shí),3種算法的消耗量都維持在2以下;當(dāng)群體個(gè)數(shù)達(dá)到200時(shí),3種算法的消耗量都上升,MP-POC和H_M(jìn)COP消耗量都超過(guò)3;當(dāng)群體個(gè)數(shù)達(dá)到300時(shí),H_M(jìn)COP消耗量超過(guò)5,雖然MP-POC和IOT_GR都有上升,但是與H_M(jìn)COP相比都將近減少了一個(gè)消耗量,尤其是IOT_GR的消耗量最低.
圖4 資源消耗量Fig.4 Resource consumption level
針對(duì)路由節(jié)點(diǎn)狀態(tài)信息不斷變化,造成QoS路徑選擇無(wú)效性,本文提出了一種物聯(lián)網(wǎng)群體訪問(wèn)路由算法(IOT_GR),給出了該模型的具體實(shí)驗(yàn)結(jié)果與分析.實(shí)驗(yàn)表明,IOT_GR算法在擴(kuò)展性、算法執(zhí)行時(shí)間及資源消耗度等方面比傳統(tǒng)的典型算法有一定的改善,但本模型并未過(guò)多地考慮數(shù)據(jù)安全、數(shù)據(jù)壓縮和數(shù)據(jù)傳輸?shù)确矫?,這是作者下一步要研究的工作.
[1] Zheng Yanxing,Wang Xiaoqing.Normal measure based multi-constrained path selection[J].Journal of Software,2007,18(3):636-645.
[2] Tian Jing,Zheng Yanxing.Pareto optimal path selection in the presence of inaccurate state information[J].Journal on Communications,2007,28(3):68-77.
[3] Turgay K,Krunz M.Bandwidth-delay constrained path selection under inaccurate state information[J].IEEE/ACM Transactions on Networking,2003,11(3):384-398.
[4] Mieghem P,Kuipers F.Concepts of exact qos routing algorithms[J].IEEE/ACM Transcations on Networking,2004,12(6):851-864.
[5] Turgay K,Marwan K.Routing multimedia traffic with QoS guarantees[J].IEEE Transactions on Multimedia,2003,18(8):429-443.
[6] Xiong Ke,Qiu Zheng ding.Link-disjoint routing algorithm under multiple additive QoS constraints[J].Journal on Communications,2010,31(6):127-135
[7] Sawada N,Kaneko K.Pairwise disjoint paths in pancake graphs[C]//Proceedings of the Eighth International Conference on Parallel and Distributed Computing,Applications and Technologies.2007:376-382.
[8] Xu D H,Chen Y,Xiong Y Z,et al.On the complexity of and algorithm for finding the shortest path with a disjoint counterpart[J].IEEE/ACM Transcations on Networking,2006,14(1):147-158.
[9] Chen Qingkui,Jia He.Control Strategy of Group Behavior for Internet of Things[C]//Proceedings of 2011 IEEE Ninth International Conference on Dependable,Autonomic and Secure Computing(DASC).2012:1167-1171.
[10] Lin Chuang,Li Yin.Optimization approaches for QoS in computer networks:A survey[J].Chinese Journal of Computers,2011,34(1):1-14.