羅 娟 曾瓊鈺 楊 倩 金 鑫 鐘 濤
(湖南大學(xué)信息科學(xué)與工程學(xué)院, 長(zhǎng)沙 410082)
基于服務(wù)能力的VANET協(xié)同服務(wù)發(fā)現(xiàn)中間件
羅 娟 曾瓊鈺 楊 倩 金 鑫 鐘 濤
(湖南大學(xué)信息科學(xué)與工程學(xué)院, 長(zhǎng)沙 410082)
針對(duì)如何有效利用多個(gè)資源提供者為請(qǐng)求資源的車輛提供服務(wù)的問題,引入車輛服務(wù)能力的概念,面向城市車輛自組織網(wǎng)絡(luò)(VANET)環(huán)境,提出了一種車聯(lián)網(wǎng)協(xié)同服務(wù)發(fā)現(xiàn)中間件體系結(jié)構(gòu).該中間件可以根據(jù)車輛的內(nèi)部資源和自身的物理屬性,綜合衡量其提供服務(wù)的能力.同時(shí),設(shè)計(jì)了協(xié)同服務(wù)發(fā)現(xiàn)算法,將服務(wù)任務(wù)根據(jù)提供服務(wù)車輛的服務(wù)能力進(jìn)行合理分配.計(jì)算可提供服務(wù)車輛的服務(wù)能力和協(xié)同服務(wù)車輛閾值,確定服務(wù)提供者列表.按照列表內(nèi)各車輛的服務(wù)能力,將請(qǐng)求的服務(wù)任務(wù)進(jìn)行分配,并將服務(wù)請(qǐng)求車輛與服務(wù)提供者進(jìn)行服務(wù)綁定.仿真結(jié)果表明,與相同城市環(huán)境下的VITP算法相比,所提算法可降低服務(wù)綁定時(shí)間,并提高服務(wù)綁定成功率.
車聯(lián)網(wǎng);中間件;協(xié)同服務(wù)發(fā)現(xiàn);服務(wù)質(zhì)量
在面向服務(wù)的架構(gòu)(service oriented architecture,SOA)[1]中,數(shù)據(jù)和邏輯功能是封裝、不透明的,只暴露自身的輸入輸出接口來(lái)供它者使用,可實(shí)現(xiàn)服務(wù)的松耦合性.車載自組織網(wǎng)絡(luò)(VANET)是由車輛或車輛和路邊單元構(gòu)成的一種自組織網(wǎng)絡(luò),它們之間通過無(wú)線局域網(wǎng)絡(luò)進(jìn)行通信[2-3].車輛可以將功能單元(如傳感器采集的數(shù)據(jù)、Internet訪問等)抽象為服務(wù),再利用SOA統(tǒng)一通用接口實(shí)現(xiàn)車輛間的服務(wù)共享.面向服務(wù)的中間件將整個(gè)系統(tǒng)分割為一系列相互獨(dú)立的功能模塊,這些模塊稱為服務(wù).OSGi為通過網(wǎng)絡(luò)向設(shè)備提供服務(wù)建立開放的標(biāo)準(zhǔn),有效體現(xiàn)了面向服務(wù)這一體系結(jié)構(gòu)的理念[4].由于OSGi中基礎(chǔ)單元bundle可以被動(dòng)態(tài)地加載或卸載,采用OSGi作為中間件的實(shí)現(xiàn)平臺(tái),既可以屏蔽車輛底層設(shè)備的異構(gòu)性,又有利于實(shí)現(xiàn)車載服務(wù)的動(dòng)態(tài)配置,因而廣泛應(yīng)用于VANET中.Nour等[5]充分利用OSGi的特性設(shè)計(jì)了基于OSGi的車載平臺(tái),在復(fù)雜多變的VANET中有效實(shí)現(xiàn)車載資源的共享.
VANET中已存在多種服務(wù)發(fā)現(xiàn)的機(jī)制[6-7],它們集中式地綜合網(wǎng)絡(luò)中車輛可提供的服務(wù),為車輛提供更全面、豐富的服務(wù)資源,甚至還進(jìn)一步設(shè)計(jì)了可快速高效獲取服務(wù)的共享平臺(tái),充分利用車輛的移動(dòng)屬性和與周圍車輛的連通性來(lái)構(gòu)建車輛角色,以實(shí)現(xiàn)車輛間更大范圍的連通與服務(wù)共享[8].然而,VANET的服務(wù)共享仍存在如下問題:① 車輛的增多使得網(wǎng)絡(luò)中的資源服務(wù)越來(lái)越豐富,網(wǎng)絡(luò)中的娛樂類服務(wù)占用空間較大,導(dǎo)致服務(wù)獲取成功率較低.② 若只從單一服務(wù)提供者處獲取服務(wù),易造成車輛資源的集中消耗.針對(duì)這些問題,學(xué)者們提出了一系列的協(xié)作服務(wù)機(jī)制.Wei等[9]考慮請(qǐng)求服務(wù)的車輛不在RSU的通信范圍內(nèi)時(shí),發(fā)送建立通信簇的請(qǐng)求.如果有車輛在RSU通信范圍內(nèi),則請(qǐng)求車輛可通過通信簇下載所需的服務(wù);否則,由相鄰RSU通過反向協(xié)作車輛的轉(zhuǎn)發(fā),實(shí)現(xiàn)RSU通信范圍外的服務(wù)獲取,以降低服務(wù)發(fā)現(xiàn)的延遲.但此機(jī)制是針對(duì)高速公路協(xié)同服務(wù)發(fā)現(xiàn)的情況所提出的解決方案,城市VANET拓?fù)浣Y(jié)構(gòu)較高速公路更加復(fù)雜多變,因此其并不適用于城市車輛服務(wù)發(fā)現(xiàn)的情況.Liu等[10-11]利用停靠在路邊的車輛靜止固定、可以和任一行駛過其通信范圍內(nèi)的車輛進(jìn)行信息交換的特性,將其作為VANET中的靜止節(jié)點(diǎn)來(lái)降低投入成本,提高網(wǎng)絡(luò)整體的連通性,實(shí)現(xiàn)大范圍的服務(wù)發(fā)現(xiàn).然而,目前現(xiàn)實(shí)生活中??寇囕v的能源和資源都有限,不能保證服務(wù)發(fā)現(xiàn)的質(zhì)量.Yang等[12]提出了一種協(xié)作下載機(jī)制,綜合利用V2I和V2V通信來(lái)最大化用戶請(qǐng)求的總吞吐量,但沒有考慮源節(jié)點(diǎn)到目的節(jié)點(diǎn)的時(shí)延.
本文在OSGi平臺(tái)上設(shè)計(jì)了CSDOSGi車載中間件,實(shí)現(xiàn)車輛之間協(xié)同服務(wù)發(fā)現(xiàn).同時(shí),引入服務(wù)能力的概念,動(dòng)態(tài)衡量車輛變化的服務(wù)能力,提出協(xié)同服務(wù)發(fā)現(xiàn)算法(cooperative service discovery algorithm,CSD),使車輛請(qǐng)求的某一服務(wù)由多輛車協(xié)同提供,從而有效減少服務(wù)綁定時(shí)間,提高服務(wù)綁定成功率.
1.1 網(wǎng)絡(luò)模型
本文的VANET由N輛車和1個(gè)RSU構(gòu)成,分布在1 200 m×1 200 m大小的區(qū)域內(nèi),2個(gè)十字路口之間的距離為300 m,車輛集合V={V1,V2,…,VN}.對(duì)任一車輛Vi(i∈N)來(lái)說(shuō),它可通過GPS獲取自身的二維坐標(biāo)(xi,yi),車輛行駛速度為vi,行駛方向與地圖水平正方向坐標(biāo)的夾角為θi(0≤θi≤360°).車輛在地圖上向上行駛時(shí)θi=90°,向左行駛時(shí)θi=180°,向下行駛時(shí)θi=270°.每輛車都配備車載通信設(shè)備,其通信半徑為Rv,RSU的通信半徑為Rr.網(wǎng)絡(luò)中的通信模式包括V2V和V2R.在V2V模式下,彼此通信范圍內(nèi)的車輛可進(jìn)行信息交換;V2R模式下,車輛在進(jìn)入RSU的通信范圍內(nèi)時(shí)可與RSU進(jìn)行信息交換.本文僅在實(shí)驗(yàn)范圍中心部署一個(gè)RSU作為服務(wù)目錄,采用集中式服務(wù)目錄模式,網(wǎng)絡(luò)中的每個(gè)車輛既可作為服務(wù)發(fā)布者,也可作為服務(wù)請(qǐng)求者.
模型中采用雙向車道,且每個(gè)方向包含2股車道.相鄰2個(gè)十字路口之間的情況如下:車輛沿著道路向前行駛,遇到十字路口時(shí)直行、右轉(zhuǎn)和左轉(zhuǎn)的概率分別為0.50,0.25和0.25,遇到T字路口時(shí)向左、向右轉(zhuǎn)的概率相同.
1.2 中間件框架
中間件是連接上層應(yīng)用和底層硬件設(shè)備的紐帶.本文在OSGi平臺(tái)上設(shè)計(jì)了基于服務(wù)能力的VANET協(xié)同服務(wù)發(fā)現(xiàn)中間件CSDOSGi.
1.2.1 總體框架設(shè)計(jì)
CSDOSGi包括設(shè)備層、網(wǎng)絡(luò)層、應(yīng)用層和中間件層. 總體框架設(shè)計(jì)如圖1所示. 設(shè)備層包括各種傳感器,用于采集當(dāng)前車輛的實(shí)時(shí)信息.這些設(shè)備所采集的信息和可提供的功能是實(shí)現(xiàn)上層應(yīng)用程序的基礎(chǔ).網(wǎng)絡(luò)層主要完成數(shù)據(jù)處理與遠(yuǎn)距離傳輸,包括車輛內(nèi)部各單元之間和車輛與RSU或其他車輛之間的2種通信模式.底層設(shè)備所能提供的服務(wù)通過車內(nèi)網(wǎng)絡(luò)上傳至應(yīng)用層,還可通過車輛間的通信實(shí)現(xiàn)不同車輛的服務(wù)共享,以此實(shí)現(xiàn)VANET服務(wù)發(fā)現(xiàn).應(yīng)用層的各種應(yīng)用程序通過車載電腦提供給車輛用戶,實(shí)現(xiàn)車輛和人員的應(yīng)用交互,同時(shí)車輛用戶可通過應(yīng)用層的交互界面控制底層設(shè)備.
圖1 CSDOSGi中間件架構(gòu)
中間件層是實(shí)現(xiàn)車輛間高質(zhì)量服務(wù)發(fā)現(xiàn)的關(guān)鍵部分.下面詳細(xì)介紹各個(gè)模塊的功能.
1) 服務(wù)生成器將底層設(shè)備所提供的資源封裝為服務(wù),并生成如下規(guī)范描述:〈編號(hào),時(shí)間戳,生存時(shí)間,屬性〉.其中,編號(hào)為每個(gè)服務(wù)在網(wǎng)絡(luò)中的編號(hào),可根據(jù)此編號(hào)識(shí)別服務(wù)類型和所屬車輛,且編號(hào)具有唯一標(biāo)志性,以保證服務(wù)選擇階段的準(zhǔn)確性;時(shí)間戳為服務(wù)生成的時(shí)間;生存時(shí)間為服務(wù)在網(wǎng)絡(luò)內(nèi)有效的時(shí)間;屬性為由所注冊(cè)服務(wù)自身和所屬車輛相關(guān)屬性所構(gòu)成的一個(gè)集合,如服務(wù)是否可公用、服務(wù)大小、服務(wù)功能描述、車輛當(dāng)前行駛狀態(tài)等信息.服務(wù)請(qǐng)求生成器將應(yīng)用層發(fā)出的服務(wù)請(qǐng)求生成對(duì)應(yīng)的規(guī)范描述.
2) 服務(wù)屬性分析器根據(jù)服務(wù)屬性分析其類型.服務(wù)屬性包括基礎(chǔ)服務(wù)和服務(wù)請(qǐng)求.其中,基礎(chǔ)服務(wù)表示當(dāng)前車輛可以充當(dāng)服務(wù)提供者,使用底層設(shè)備所提供的資源.這一類服務(wù)根據(jù)是否可被共享又分為可公用服務(wù)和私有服務(wù).可公用服務(wù)通過網(wǎng)絡(luò)層注冊(cè)到RSU,可被其他車輛調(diào)用并獲取;私有服務(wù)只能在車內(nèi)網(wǎng)絡(luò)中傳輸.服務(wù)屬性為服務(wù)請(qǐng)求時(shí)表示當(dāng)前車輛需要向其他車輛請(qǐng)求服務(wù).
3) 服務(wù)管理器用來(lái)對(duì)已注冊(cè)到RSU的基礎(chǔ)服務(wù)和發(fā)送到RSU的服務(wù)請(qǐng)求進(jìn)行存儲(chǔ)和管理.
4) 服務(wù)選擇器根據(jù)RSU返回的服務(wù)回復(fù),在可提供服務(wù)的車輛中按照服務(wù)選擇機(jī)制篩選出最后的服務(wù)提供車輛.
5) 服務(wù)綁定器向選定的服務(wù)提供車輛發(fā)送服務(wù)綁定請(qǐng)求,接收到服務(wù)應(yīng)答之后即可調(diào)用所請(qǐng)求的服務(wù),供上層應(yīng)用直接使用.
1.2.2 核心模塊解析
服務(wù)選擇器是CSDOSGi中間件框架的核心組成部分,實(shí)現(xiàn)了車載網(wǎng)絡(luò)中不同車輛OSGi框架間高質(zhì)量的服務(wù)發(fā)現(xiàn)與共享.它包括服務(wù)分析模塊、計(jì)算模塊和服務(wù)提供者管理模塊(見圖2).
服務(wù)分析模塊用于判斷服務(wù)類型,以確定計(jì)算模塊所需公式.請(qǐng)求服務(wù)的車輛接收到來(lái)自RSU的服務(wù)回復(fù)后,將回復(fù)中車輛提供者的信息和服務(wù)能力與請(qǐng)求服務(wù)的信息進(jìn)行匹配,并交由服務(wù)分析器判斷服務(wù)類型,以確定采用的計(jì)算公式,并觸發(fā)計(jì)算模塊計(jì)算相應(yīng)值.
圖2 CSDOSGi中間件核心結(jié)構(gòu)
計(jì)算模塊根據(jù)服務(wù)類型和標(biāo)準(zhǔn)來(lái)計(jì)算服務(wù)質(zhì)量,并可在此基礎(chǔ)上計(jì)算車輛的服務(wù)提供能力.得到可提供服務(wù)車輛的參考值后,提交給服務(wù)提供者管理模塊,確定服務(wù)提供者.
服務(wù)提供者管理模塊包含服務(wù)提供者選擇器和服務(wù)分配器2個(gè)部分.根據(jù)各車的能力值和服務(wù)大小,由服務(wù)提供者選擇器確定具體由哪幾輛車來(lái)提供服務(wù),服務(wù)分配器模塊將請(qǐng)求的整體服務(wù)分配給已選擇的車輛,服務(wù)提供者管理器使其協(xié)同地為請(qǐng)求者提供服務(wù),最后通過服務(wù)綁定模塊完成服務(wù)的綁定與調(diào)用.
2.1 服務(wù)發(fā)布與訂閱
服務(wù)發(fā)現(xiàn)需要經(jīng)過服務(wù)發(fā)布、服務(wù)請(qǐng)求、服務(wù)查詢及回復(fù)、服務(wù)選擇和服務(wù)綁定5個(gè)過程(見圖3).圖中,車輛P為服務(wù)提供者;車輛R為服務(wù)請(qǐng)求者.圖中①~⑤分別為:① 服務(wù)發(fā)布.車輛P通過貪婪周邊無(wú)狀態(tài)路由(GPSR)協(xié)議,將自己提供的可公用服務(wù)注冊(cè)到網(wǎng)絡(luò)注冊(cè)中心RSU上,并可周期性地將服務(wù)延續(xù)注冊(cè),也可在服務(wù)的生存時(shí)間內(nèi)執(zhí)行其他操作(如卸載和更新).② 服務(wù)請(qǐng)求.車輛Q通過GPSR協(xié)議將自己的服務(wù)請(qǐng)求傳送到RSU,若未能在請(qǐng)求生存時(shí)間內(nèi)收到服務(wù)回復(fù),則重新發(fā)送服務(wù)請(qǐng)求.③ 服務(wù)查詢及回復(fù).RSU需實(shí)時(shí)維護(hù)服務(wù)注冊(cè)表,若已注冊(cè)的服務(wù)在生存時(shí)間內(nèi)沒有更新或未被請(qǐng)求,則在生存時(shí)間失效后從注冊(cè)表中被刪除.當(dāng)RSU收到一個(gè)服務(wù)請(qǐng)求消息時(shí),RSU在注冊(cè)表內(nèi)進(jìn)行查找匹配,將滿足服務(wù)屬性的服務(wù)信息返回給請(qǐng)求車輛Q;否則,通知請(qǐng)求車輛服務(wù)查找不成功.④ 服務(wù)選擇.車輛Q根據(jù)回復(fù)消息中的服務(wù)描述,計(jì)算不同服務(wù)提供者的相關(guān)信息,確定最終的服務(wù)提供者及分配的任務(wù)大小.⑤ 服務(wù)綁定.服務(wù)請(qǐng)求車輛向已選定的服務(wù)提供者P發(fā)送綁定服務(wù)請(qǐng)求,在接收到服務(wù)應(yīng)答之后即可綁定所需要的服務(wù).
圖3 服務(wù)發(fā)現(xiàn)機(jī)制流程圖
2.2 服務(wù)能力
當(dāng)一輛車作為服務(wù)提供者時(shí),其行駛狀態(tài)的物理屬性和搭載的硬件設(shè)備屬性會(huì)影響其提供服務(wù)的性能.因此,為了判定其性能的高低,引入服務(wù)能力,定義行駛狀態(tài)和硬件設(shè)備的綜合性能.
根據(jù)文獻(xiàn)[13],車輛提供服務(wù)的服務(wù)質(zhì)量為
Qc=η1σ(a,b)+η2Ppath(a,b)
(1)
式中,σ(a,b)為研究區(qū)域車輛a與車輛b之間的車輛密度;Ppath(a,b)為車輛a與車輛b之間的最短鏈路持續(xù)時(shí)間;η1和η2分別為車輛密度和最短鏈路持續(xù)時(shí)間這2個(gè)影響因素所占的權(quán)重值,且η1+η2=1.
車載設(shè)備的剩余CPURc、剩余內(nèi)存Rm和剩余帶寬Rb等資源剩余狀況也會(huì)影響其提供服務(wù)的性能.這些性能數(shù)據(jù)封裝在服務(wù)屬性中,可以根據(jù)如下公式綜合3個(gè)因素來(lái)衡量車輛的資源剩余情況:
R=ω1Rc+ω2Rm+ω3Rb
(2)
式中,R為資源剩余量;ω1,ω2和ω3分別為剩余CPU、剩余內(nèi)存和剩余帶寬這3個(gè)因素所占的權(quán)重值,且ω1+ω2+ω3=1.
綜合車輛行駛屬性和資源剩余情況,可得車輛相對(duì)于請(qǐng)求服務(wù)車輛的服務(wù)能力為
C=αQc+βR
(3)
式中,α和β為權(quán)重值,且α+β=1.本文研究的服務(wù)對(duì)象主要為舒適應(yīng)用類,Qc值越大,服務(wù)質(zhì)量越高.由上面的分析可知,車輛的C值越大,則提供服務(wù)的能力越強(qiáng).
2.3 協(xié)同服務(wù)發(fā)現(xiàn)算法描述
對(duì)于車輛VR請(qǐng)求的服務(wù)S,若已有K輛車V1,V2,…,VK注冊(cè)到RSU,則計(jì)算這K輛車的服務(wù)能力和協(xié)同車輛數(shù)目閾值Nvc,其設(shè)定公式為
(4)
式中,M為服務(wù)任務(wù)總數(shù);NINIT為初始車輛數(shù),即完成請(qǐng)求服務(wù)綁定所需的最少車輛數(shù);ε為根據(jù)實(shí)際環(huán)境確定的常量.
通過判斷Nvc與K的大小,確定協(xié)同車輛集合VP1,VP2,…,VPG,集合內(nèi)共計(jì)G(G≤K)輛車.如果已注冊(cè)所需服務(wù)的車輛數(shù)目K小于所需車輛數(shù)目閥值Nvc,則將所有已注冊(cè)服務(wù)的車輛作為協(xié)同服務(wù)提供者,即G=K;如果K>Nvc,為避免單一車輛占用網(wǎng)絡(luò)資源過多,選擇服務(wù)提供能力較大的前Nvc輛車作為協(xié)同服務(wù)提供者,即G=Nvc.根據(jù)這G輛車的服務(wù)能力大小,將服務(wù)S進(jìn)行劃分與分配,最終由G輛車同時(shí)將相應(yīng)部分提供給請(qǐng)求車輛VR.協(xié)同服務(wù)發(fā)現(xiàn)算法步驟如下:
1) 初始化.生成一個(gè)新的服務(wù)提供車輛列表ServiceProviders和一個(gè)新的協(xié)同服務(wù)提供車輛列表CooperativeVehicles.
2) 服務(wù)注冊(cè)階段.車輛i(i∈N)將公用服務(wù)注冊(cè)到RSU,并將其添加到ServiceProviders.
3) 服務(wù)請(qǐng)求與回復(fù)階段.若服務(wù)請(qǐng)求車輛r提交一個(gè)服務(wù)請(qǐng)求并且服務(wù)大小高于Minit,則RSU按照服務(wù)請(qǐng)求中的描述在已存儲(chǔ)的服務(wù)中匹配查找,并將查找結(jié)果ServiceProviders中的車輛信息返回給請(qǐng)求車輛r.
4) 服務(wù)選擇與綁定階段.
① 計(jì)算ServiceProviders中每臺(tái)車輛i的服務(wù)能力Ci;
② 計(jì)算協(xié)同車輛數(shù)目Nvc;
③ 如果ServiceProvicers中車輛的數(shù)量大于Nvc,則將服務(wù)提供能力較大的前Nvc輛車添加到CooperativeVehicles,否則令CooperativeVehicles=ServiceProvicers;
④ 計(jì)算CooperativeVehicles中車輛的服務(wù)能力C;
⑤ 計(jì)算CooperativeVehicles中第1臺(tái)車的服務(wù)綁定耗時(shí)
T=MC1/(CRb1)
式中,Rb1為第1輛車的剩余帶寬.
⑥ 將CooperativeVehicles中每臺(tái)車輛i提供的服務(wù)部分MCi/C發(fā)送給請(qǐng)求車輛r;
⑦ 計(jì)算每臺(tái)服務(wù)提供車輛的服務(wù)綁定耗時(shí)Ti,若Ti>T,則T=Ti,輸出T.
當(dāng)服務(wù)大小高于閥值Minit值時(shí),一對(duì)一服務(wù)提供的服務(wù)成功率較低,采用CSD算法進(jìn)行協(xié)同服務(wù)提供.
假設(shè)網(wǎng)絡(luò)內(nèi)已有N輛車注冊(cè)了所請(qǐng)求的服務(wù),最終由K(K≤N)輛車協(xié)同提供服務(wù),考慮最差情況下CSD算法的時(shí)間復(fù)雜度.在服務(wù)注冊(cè)階段,車輛將自身的服務(wù)信息注冊(cè)到RSU并存儲(chǔ),其時(shí)間復(fù)雜度為O(N);在服務(wù)請(qǐng)求與服務(wù)回復(fù)階段,其時(shí)間復(fù)雜度為O(1);在服務(wù)選擇與綁定階段,首先計(jì)算N輛車的服務(wù)能力并確定最終的提供者集合,然后計(jì)算各車所提供的服務(wù)大小,并實(shí)現(xiàn)服務(wù)綁定,此階段時(shí)間復(fù)雜度為O(N).綜上,CSD算法的時(shí)間復(fù)雜度為O(N).
本文的仿真實(shí)驗(yàn)于OSGi平臺(tái)上采用Java軟件開發(fā)實(shí)現(xiàn).仿真參數(shù)設(shè)置如表1所示.
表1 仿真參數(shù)設(shè)置
首先分析不同服務(wù)大小下的服務(wù)綁定成功率.其中,服務(wù)綁定成功率是指在50次仿真中僅由一輛車進(jìn)行服務(wù)提供的情況下,有效通信時(shí)間內(nèi)成功綁定服務(wù)次數(shù)占總次數(shù)的百分?jǐn)?shù).由圖4可知,當(dāng)服務(wù)大小增加至15 MB時(shí),服務(wù)的綁定成功率下降至90%以下.為了提高占用網(wǎng)絡(luò)空間較大的服務(wù)的綁定成功率,將服務(wù)大小的閾值Minit設(shè)置為15 MB.當(dāng)服務(wù)占用網(wǎng)絡(luò)空間大于15 MB時(shí),啟動(dòng)協(xié)同服務(wù)發(fā)現(xiàn)算法,即將Minit設(shè)為15 MB.
圖4 不同服務(wù)大小下的服務(wù)綁定成功率
在不同的車輛數(shù)目和提供服務(wù)車輛數(shù)情況下,獲取大小為50 MB的服務(wù)綁定耗時(shí)比較見圖5.由圖可知,當(dāng)車輛總數(shù)分別為50,100,150時(shí),隨著協(xié)同服務(wù)車輛數(shù)的增多,請(qǐng)求服務(wù)車輛獲取所需服務(wù)的綁定耗時(shí)逐漸降低.這是因?yàn)閰f(xié)同服務(wù)車輛數(shù)K值增大,使得請(qǐng)求的服務(wù)任務(wù)被劃分為更多的子任務(wù)分配給多臺(tái)車輛,這些子任務(wù)相對(duì)原服務(wù)任務(wù)較小,接近1/K.提供服務(wù)的車輛數(shù)越多,每臺(tái)車在提供服務(wù)時(shí)所消耗的資源越少,剩余資源越多,對(duì)當(dāng)前服務(wù)的提供能力越強(qiáng),對(duì)應(yīng)的綁定時(shí)間越少.服務(wù)綁定時(shí)間隨著協(xié)同服務(wù)車輛數(shù)的增多而降低,且在任一車輛總數(shù)情況下均符合此變化趨勢(shì).
圖5 不同車輛總數(shù)下的服務(wù)綁定耗時(shí)
由此可知,當(dāng)提供服務(wù)的車輛數(shù)增加到一定值之后,服務(wù)綁定耗時(shí)不會(huì)再隨著協(xié)同車輛數(shù)的增加而大幅度降低,而且過多車輛參與同一服務(wù)發(fā)現(xiàn)過程會(huì)造成維護(hù)網(wǎng)絡(luò)產(chǎn)生的通信開銷大幅度增高,因此有必要設(shè)置提供服務(wù)的車輛數(shù)閾值,在保障服務(wù)綁定成功率的情況下盡量減少網(wǎng)絡(luò)通信開銷.
當(dāng)可提供服務(wù)車輛數(shù)大于協(xié)同車輛數(shù)目閾值Nvc時(shí),選擇可提供服務(wù)車輛中服務(wù)能力值較高的前Nvc輛車作為最終的服務(wù)提供車輛.根據(jù)圖4和圖5的結(jié)果,將NINIT取為2,ε取為15.
對(duì)比算法選擇同為城市環(huán)境下的VITP算法[14].網(wǎng)絡(luò)內(nèi)的車輛數(shù)相同時(shí),VITP算法的時(shí)間復(fù)雜度為O(N),與本文所提的CSD算法相同.當(dāng)請(qǐng)求服務(wù)大小為50 MB,變化網(wǎng)絡(luò)中車輛總數(shù)取為50,100,150,200時(shí),VITP算法和CSD算法的服務(wù)綁定成功率比較見圖6.由圖可知,二者的服務(wù)綁定成功率都隨車輛總數(shù)的增加而提高, 這是因?yàn)?/p>
圖6 不同車輛數(shù)下服務(wù)綁定成功率比較
車輛越多,可選擇作為協(xié)同車輛的數(shù)目越多,并且此時(shí)車輛移動(dòng)性較低,車間的通信相對(duì)穩(wěn)定.此外,CSD算法獲得的服務(wù)綁定成功率明顯高于VITP算法.究其原因在于,CSD算法中加入了協(xié)同車輛數(shù)目的確定和選取步驟,從而保障了服務(wù)發(fā)現(xiàn)成功率;而VITP算法中協(xié)同車輛數(shù)由請(qǐng)求車輛自主定義,且沒有根據(jù)請(qǐng)求結(jié)果進(jìn)行篩選,因此不能保證選定的服務(wù)提供者的性能.當(dāng)請(qǐng)求的服務(wù)大小為50 MB,變化網(wǎng)絡(luò)中的車輛總數(shù)為50,100,150,200和250時(shí),VITP算法和CSD算法的服務(wù)響應(yīng)時(shí)間比較見圖7.由圖可知,VITP算法的服務(wù)響應(yīng)時(shí)間明顯長(zhǎng)于CSD算法.這是因?yàn)閂ITP算法在多個(gè)RSU的選舉和選擇是否參加服務(wù)應(yīng)答并返回服務(wù)應(yīng)答消息時(shí)會(huì)造成一定的時(shí)間消耗,使服務(wù)響應(yīng)時(shí)間較長(zhǎng);CSD算法采用集中式服務(wù)目錄進(jìn)行服務(wù)查詢,服務(wù)響應(yīng)時(shí)間較短.
圖7 不同車輛數(shù)下服務(wù)響應(yīng)時(shí)間比較
1) 本文在具備RSU的VANET網(wǎng)絡(luò)中提出了CSDOSGi中間件框架,引入了車輛服務(wù)能力的概念,根據(jù)車輛的自身內(nèi)部資源和屬性,動(dòng)態(tài)衡量其服務(wù)能力.
2) 針對(duì)占用網(wǎng)絡(luò)空間較大的服務(wù)發(fā)現(xiàn)情況,提出了協(xié)同服務(wù)發(fā)現(xiàn)算法CSD,使多臺(tái)車輛協(xié)同地為一臺(tái)請(qǐng)求車輛提供服務(wù),降低了服務(wù)綁定耗時(shí),提高了服務(wù)綁定成功率.
3) 本文研究的道路環(huán)境較簡(jiǎn)單,實(shí)際城市環(huán)境中會(huì)存在一些彎路和較窄的道路,使得車輛密度和行駛狀態(tài)發(fā)生變化.下一步工作將圍繞復(fù)雜城市環(huán)境中的服務(wù)發(fā)現(xiàn)機(jī)制進(jìn)行深入研究.
References)
[1]Erl T.SOA:Principlesofservicedesign[M]. Upper Saddle River,NJ,USA:Prentice Hall Press, 2007:3-4.
[2]Hartenstein H, Laberteaux K P. A tutorial survey on vehicular ad hoc networks[J].IEEECommunicationsMagazine, 2008, 46(6): 164-171. DOI:10.1109/mcom.2008.4539481.
[3]Xie K, Wang X, Wen J, et al. Cooperative routing with relay assignment in multiradio multihop wireless networks[J].IEEE/ACMTransactionsonNetworking, 2016, 24(2):859-872. DOI:10.1109/TNET.2015.2397035.
[4]林昊, 曾憲杰. OSGi原理與最佳實(shí)踐[M]. 北京:電子工業(yè)出版社, 2009: 58-59.
[5]Nour S, Negru R, Xhafa F, et al. Middleware for data sensing and processing in VANETs[C]//IEEEInternationalConferenceonEmergingIntelligentDataandWebTechnologies(EIDWT). Tirana, Albania, 2011: 42-48. DOI:10.1109/eidwt.2011.33.
[6]Chen M C, Chen J L, Chang T W. Android/OSGi-based vehicular network management system[J].ComputerCommunications, 2011, 34(2): 169-183. DOI:10.1016/j.comcom.2010.03.032.
[7]Farooq M U, Pasha M, Khan K U R. A data dissemination model for cloud enabled VANETs using in-vehicular resources[C]//2014IEEEInternationalConferenceonComputingforSustainableGlobalDevelopment(INDIACom).New Delhi, India,2014:458-462. DOI:10.1109/indiacom.2014.6828180.
[8]Luo J, Pan Q, He Z. VANET middleware for service sharing based on OSGI[J].ComputerScienceandInformationSystems, 2015, 12(2): 729-742. DOI:10.2298/CSIS141012023L.
[9]Wei Z, Bai X, Feng Y. Cooperative download mechanism of vehicle communications on the highway VANET[C]//InternationalConferenceonInformationandCommunicationsTechnologies(ICT 2014).Nanjing, China, 2014: 1-6.
[10]Liu N, Liu M, Lou W, et al. PVA in VANETs: Stopped cars are not silent[C]//2011ProceedingsIEEEINFOCOM.Shanghai, China, 2011: 431-435. DOI:10.1109/infcom.2011.5935198.
[11]Liu N, Liu M, Chen G, et al. The sharing at roadside: Vehicular content distribution using parked vehicles[C]//2012ProceedingsIEEEINFOCOM. Orlando, Florida, USA, 2012: 2641-2645. DOI:10.1109/infcom.2012.6195670.
[12]Yang S, Yeo C K, Lee B S. MaxCD: Efficient multi-flow scheduling and cooperative downloading for improved highway drive-thru Internet systems [J].ComputerNetworks, 2013, 57(8): 1805-1820. DOI:10.1016/j.comnet.2012.12.020.
[13]Luo J, Zhong T, Jin X. Service discovery middleware based on QoS in VANET [C]//2016 12thInternationalConferenceonNaturalComputation,FuzzySystemsandKnowledgeDiscovery(ICNC-FSKD). Changsha, China, 2016:688-693.
[14]Abrougui K, Boukerche A, Pazzi R W N. Design and evaluation of context-aware and location-based service discovery protocols for vehicular networks[J].IEEETransactionsonIntelligentTransportationSystems, 2011, 12(3):717-735. DOI:10.1109/TITS.2011.2159377.
Cooperative service discovery middleware based on service ability for VANET
Luo Juan Zeng Qiongyu Yang Qian Jin Xin Zhong Tao
(School of Computer Science and Electronic Engineering, Hunan University, Changsha 410082, China)
Aiming at the problem of effectively making use of multiple resource providers to provide service for vehicles requesting resources, a concept of the service ability is introduced and a cooperative service discovery middleware architecture for vehicular ad-hoc network (VANET) in urban is presented. This middleware can comprehensively measure the service ability according to the inner resource condition and physical features of the vehicles. Meanwhile, a cooperative service algorithm is proposed for distributing service tasks according to the service ability of the service vehicles. The service ability of the service vehicles and the cooperative service vehicle threshold are calculated, and the list for the service providers is confirmed. According to the service capacity of each vehicle in the list, the requested service tasks are allocated and the service requested vehicles are bundled with the service providers.The simulation results show that compared with the vehicular information transfer protocol (VITP) algorithm in the same urban environment, the proposed algorithm can reduce the service binding time and improve the service binding success rate.
vehicular ad-hoc network (VANET); middleware; cooperative service discovery; quality of service
10.3969/j.issn.1001-0505.2017.03.009
2016-10-05. 作者簡(jiǎn)介: 羅娟(1974—),女,博士,教授,juanluo@hnu.edu.cn.
國(guó)家自然科學(xué)基金資助項(xiàng)目(61672220).
羅娟,曾瓊鈺,楊倩,等.基于服務(wù)能力的VANET協(xié)同服務(wù)發(fā)現(xiàn)中間件[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,47(3):466-471.
10.3969/j.issn.1001-0505.2017.03.009.
TP393
A
1001-0505(2017)03-0466-06