基于服务能力的VANET协同服务发现中间件

2017-06-13 10:43曾琼钰
关键词:中间件服务提供者成功率

罗 娟 曾琼钰 杨 倩 金 鑫 钟 涛

(湖南大学信息科学与工程学院, 长沙 410082)

基于服务能力的VANET协同服务发现中间件

罗 娟 曾琼钰 杨 倩 金 鑫 钟 涛

(湖南大学信息科学与工程学院, 长沙 410082)

针对如何有效利用多个资源提供者为请求资源的车辆提供服务的问题,引入车辆服务能力的概念,面向城市车辆自组织网络(VANET)环境,提出了一种车联网协同服务发现中间件体系结构.该中间件可以根据车辆的内部资源和自身的物理属性,综合衡量其提供服务的能力.同时,设计了协同服务发现算法,将服务任务根据提供服务车辆的服务能力进行合理分配.计算可提供服务车辆的服务能力和协同服务车辆阈值,确定服务提供者列表.按照列表内各车辆的服务能力,将请求的服务任务进行分配,并将服务请求车辆与服务提供者进行服务绑定.仿真结果表明,与相同城市环境下的VITP算法相比,所提算法可降低服务绑定时间,并提高服务绑定成功率.

车联网;中间件;协同服务发现;服务质量

在面向服务的架构(service oriented architecture,SOA)[1]中,数据和逻辑功能是封装、不透明的,只暴露自身的输入输出接口来供它者使用,可实现服务的松耦合性.车载自组织网络(VANET)是由车辆或车辆和路边单元构成的一种自组织网络,它们之间通过无线局域网络进行通信[2-3].车辆可以将功能单元(如传感器采集的数据、Internet访问等)抽象为服务,再利用SOA统一通用接口实现车辆间的服务共享.面向服务的中间件将整个系统分割为一系列相互独立的功能模块,这些模块称为服务.OSGi为通过网络向设备提供服务建立开放的标准,有效体现了面向服务这一体系结构的理念[4].由于OSGi中基础单元bundle可以被动态地加载或卸载,采用OSGi作为中间件的实现平台,既可以屏蔽车辆底层设备的异构性,又有利于实现车载服务的动态配置,因而广泛应用于VANET中.Nour等[5]充分利用OSGi的特性设计了基于OSGi的车载平台,在复杂多变的VANET中有效实现车载资源的共享.

VANET中已存在多种服务发现的机制[6-7],它们集中式地综合网络中车辆可提供的服务,为车辆提供更全面、丰富的服务资源,甚至还进一步设计了可快速高效获取服务的共享平台,充分利用车辆的移动属性和与周围车辆的连通性来构建车辆角色,以实现车辆间更大范围的连通与服务共享[8].然而,VANET的服务共享仍存在如下问题:① 车辆的增多使得网络中的资源服务越来越丰富,网络中的娱乐类服务占用空间较大,导致服务获取成功率较低.② 若只从单一服务提供者处获取服务,易造成车辆资源的集中消耗.针对这些问题,学者们提出了一系列的协作服务机制.Wei等[9]考虑请求服务的车辆不在RSU的通信范围内时,发送建立通信簇的请求.如果有车辆在RSU通信范围内,则请求车辆可通过通信簇下载所需的服务;否则,由相邻RSU通过反向协作车辆的转发,实现RSU通信范围外的服务获取,以降低服务发现的延迟.但此机制是针对高速公路协同服务发现的情况所提出的解决方案,城市VANET拓扑结构较高速公路更加复杂多变,因此其并不适用于城市车辆服务发现的情况.Liu等[10-11]利用停靠在路边的车辆静止固定、可以和任一行驶过其通信范围内的车辆进行信息交换的特性,将其作为VANET中的静止节点来降低投入成本,提高网络整体的连通性,实现大范围的服务发现.然而,目前现实生活中停靠车辆的能源和资源都有限,不能保证服务发现的质量.Yang等[12]提出了一种协作下载机制,综合利用V2I和V2V通信来最大化用户请求的总吞吐量,但没有考虑源节点到目的节点的时延.

本文在OSGi平台上设计了CSDOSGi车载中间件,实现车辆之间协同服务发现.同时,引入服务能力的概念,动态衡量车辆变化的服务能力,提出协同服务发现算法(cooperative service discovery algorithm,CSD),使车辆请求的某一服务由多辆车协同提供,从而有效减少服务绑定时间,提高服务绑定成功率.

1 系统模型

1.1 网络模型

本文的VANET由N辆车和1个RSU构成,分布在1 200 m×1 200 m大小的区域内,2个十字路口之间的距离为300 m,车辆集合V={V1,V2,…,VN}.对任一车辆Vi(i∈N)来说,它可通过GPS获取自身的二维坐标(xi,yi),车辆行驶速度为vi,行驶方向与地图水平正方向坐标的夹角为θi(0≤θi≤360°).车辆在地图上向上行驶时θi=90°,向左行驶时θi=180°,向下行驶时θi=270°.每辆车都配备车载通信设备,其通信半径为Rv,RSU的通信半径为Rr.网络中的通信模式包括V2V和V2R.在V2V模式下,彼此通信范围内的车辆可进行信息交换;V2R模式下,车辆在进入RSU的通信范围内时可与RSU进行信息交换.本文仅在实验范围中心部署一个RSU作为服务目录,采用集中式服务目录模式,网络中的每个车辆既可作为服务发布者,也可作为服务请求者.

模型中采用双向车道,且每个方向包含2股车道.相邻2个十字路口之间的情况如下:车辆沿着道路向前行驶,遇到十字路口时直行、右转和左转的概率分别为0.50,0.25和0.25,遇到T字路口时向左、向右转的概率相同.

1.2 中间件框架

中间件是连接上层应用和底层硬件设备的纽带.本文在OSGi平台上设计了基于服务能力的VANET协同服务发现中间件CSDOSGi.

1.2.1 总体框架设计

CSDOSGi包括设备层、网络层、应用层和中间件层. 总体框架设计如图1所示. 设备层包括各种传感器,用于采集当前车辆的实时信息.这些设备所采集的信息和可提供的功能是实现上层应用程序的基础.网络层主要完成数据处理与远距离传输,包括车辆内部各单元之间和车辆与RSU或其他车辆之间的2种通信模式.底层设备所能提供的服务通过车内网络上传至应用层,还可通过车辆间的通信实现不同车辆的服务共享,以此实现VANET服务发现.应用层的各种应用程序通过车载电脑提供给车辆用户,实现车辆和人员的应用交互,同时车辆用户可通过应用层的交互界面控制底层设备.

图1 CSDOSGi中间件架构

中间件层是实现车辆间高质量服务发现的关键部分.下面详细介绍各个模块的功能.

1) 服务生成器将底层设备所提供的资源封装为服务,并生成如下规范描述:〈编号,时间戳,生存时间,属性〉.其中,编号为每个服务在网络中的编号,可根据此编号识别服务类型和所属车辆,且编号具有唯一标志性,以保证服务选择阶段的准确性;时间戳为服务生成的时间;生存时间为服务在网络内有效的时间;属性为由所注册服务自身和所属车辆相关属性所构成的一个集合,如服务是否可公用、服务大小、服务功能描述、车辆当前行驶状态等信息.服务请求生成器将应用层发出的服务请求生成对应的规范描述.

2) 服务属性分析器根据服务属性分析其类型.服务属性包括基础服务和服务请求.其中,基础服务表示当前车辆可以充当服务提供者,使用底层设备所提供的资源.这一类服务根据是否可被共享又分为可公用服务和私有服务.可公用服务通过网络层注册到RSU,可被其他车辆调用并获取;私有服务只能在车内网络中传输.服务属性为服务请求时表示当前车辆需要向其他车辆请求服务.

3) 服务管理器用来对已注册到RSU的基础服务和发送到RSU的服务请求进行存储和管理.

4) 服务选择器根据RSU返回的服务回复,在可提供服务的车辆中按照服务选择机制筛选出最后的服务提供车辆.

5) 服务绑定器向选定的服务提供车辆发送服务绑定请求,接收到服务应答之后即可调用所请求的服务,供上层应用直接使用.

1.2.2 核心模块解析

服务选择器是CSDOSGi中间件框架的核心组成部分,实现了车载网络中不同车辆OSGi框架间高质量的服务发现与共享.它包括服务分析模块、计算模块和服务提供者管理模块(见图2).

服务分析模块用于判断服务类型,以确定计算模块所需公式.请求服务的车辆接收到来自RSU的服务回复后,将回复中车辆提供者的信息和服务能力与请求服务的信息进行匹配,并交由服务分析器判断服务类型,以确定采用的计算公式,并触发计算模块计算相应值.

图2 CSDOSGi中间件核心结构

计算模块根据服务类型和标准来计算服务质量,并可在此基础上计算车辆的服务提供能力.得到可提供服务车辆的参考值后,提交给服务提供者管理模块,确定服务提供者.

服务提供者管理模块包含服务提供者选择器和服务分配器2个部分.根据各车的能力值和服务大小,由服务提供者选择器确定具体由哪几辆车来提供服务,服务分配器模块将请求的整体服务分配给已选择的车辆,服务提供者管理器使其协同地为请求者提供服务,最后通过服务绑定模块完成服务的绑定与调用.

2 协同服务发现算法

2.1 服务发布与订阅

服务发现需要经过服务发布、服务请求、服务查询及回复、服务选择和服务绑定5个过程(见图3).图中,车辆P为服务提供者;车辆R为服务请求者.图中①~⑤分别为:① 服务发布.车辆P通过贪婪周边无状态路由(GPSR)协议,将自己提供的可公用服务注册到网络注册中心RSU上,并可周期性地将服务延续注册,也可在服务的生存时间内执行其他操作(如卸载和更新).② 服务请求.车辆Q通过GPSR协议将自己的服务请求传送到RSU,若未能在请求生存时间内收到服务回复,则重新发送服务请求.③ 服务查询及回复.RSU需实时维护服务注册表,若已注册的服务在生存时间内没有更新或未被请求,则在生存时间失效后从注册表中被删除.当RSU收到一个服务请求消息时,RSU在注册表内进行查找匹配,将满足服务属性的服务信息返回给请求车辆Q;否则,通知请求车辆服务查找不成功.④ 服务选择.车辆Q根据回复消息中的服务描述,计算不同服务提供者的相关信息,确定最终的服务提供者及分配的任务大小.⑤ 服务绑定.服务请求车辆向已选定的服务提供者P发送绑定服务请求,在接收到服务应答之后即可绑定所需要的服务.

图3 服务发现机制流程图

2.2 服务能力

当一辆车作为服务提供者时,其行驶状态的物理属性和搭载的硬件设备属性会影响其提供服务的性能.因此,为了判定其性能的高低,引入服务能力,定义行驶状态和硬件设备的综合性能.

根据文献[13],车辆提供服务的服务质量为

Qc=η1σ(a,b)+η2Ppath(a,b)

(1)

式中,σ(a,b)为研究区域车辆a与车辆b之间的车辆密度;Ppath(a,b)为车辆a与车辆b之间的最短链路持续时间;η1和η2分别为车辆密度和最短链路持续时间这2个影响因素所占的权重值,且η1+η2=1.

车载设备的剩余CPURc、剩余内存Rm和剩余带宽Rb等资源剩余状况也会影响其提供服务的性能.这些性能数据封装在服务属性中,可以根据如下公式综合3个因素来衡量车辆的资源剩余情况:

R=ω1Rc+ω2Rm+ω3Rb

(2)

式中,R为资源剩余量;ω1,ω2和ω3分别为剩余CPU、剩余内存和剩余带宽这3个因素所占的权重值,且ω1+ω2+ω3=1.

综合车辆行驶属性和资源剩余情况,可得车辆相对于请求服务车辆的服务能力为

C=αQc+βR

(3)

式中,α和β为权重值,且α+β=1.本文研究的服务对象主要为舒适应用类,Qc值越大,服务质量越高.由上面的分析可知,车辆的C值越大,则提供服务的能力越强.

2.3 协同服务发现算法描述

对于车辆VR请求的服务S,若已有K辆车V1,V2,…,VK注册到RSU,则计算这K辆车的服务能力和协同车辆数目阈值Nvc,其设定公式为

(4)

式中,M为服务任务总数;NINIT为初始车辆数,即完成请求服务绑定所需的最少车辆数;ε为根据实际环境确定的常量.

通过判断Nvc与K的大小,确定协同车辆集合VP1,VP2,…,VPG,集合内共计G(G≤K)辆车.如果已注册所需服务的车辆数目K小于所需车辆数目阀值Nvc,则将所有已注册服务的车辆作为协同服务提供者,即G=K;如果K>Nvc,为避免单一车辆占用网络资源过多,选择服务提供能力较大的前Nvc辆车作为协同服务提供者,即G=Nvc.根据这G辆车的服务能力大小,将服务S进行划分与分配,最终由G辆车同时将相应部分提供给请求车辆VR.协同服务发现算法步骤如下:

1) 初始化.生成一个新的服务提供车辆列表ServiceProviders和一个新的协同服务提供车辆列表CooperativeVehicles.

2) 服务注册阶段.车辆i(i∈N)将公用服务注册到RSU,并将其添加到ServiceProviders.

3) 服务请求与回复阶段.若服务请求车辆r提交一个服务请求并且服务大小高于Minit,则RSU按照服务请求中的描述在已存储的服务中匹配查找,并将查找结果ServiceProviders中的车辆信息返回给请求车辆r.

4) 服务选择与绑定阶段.

① 计算ServiceProviders中每台车辆i的服务能力Ci;

② 计算协同车辆数目Nvc;

③ 如果ServiceProvicers中车辆的数量大于Nvc,则将服务提供能力较大的前Nvc辆车添加到CooperativeVehicles,否则令CooperativeVehicles=ServiceProvicers;

④ 计算CooperativeVehicles中车辆的服务能力C;

⑤ 计算CooperativeVehicles中第1台车的服务绑定耗时

T=MC1/(CRb1)

式中,Rb1为第1辆车的剩余带宽.

⑥ 将CooperativeVehicles中每台车辆i提供的服务部分MCi/C发送给请求车辆r;

⑦ 计算每台服务提供车辆的服务绑定耗时Ti,若Ti>T,则T=Ti,输出T.

当服务大小高于阀值Minit值时,一对一服务提供的服务成功率较低,采用CSD算法进行协同服务提供.

假设网络内已有N辆车注册了所请求的服务,最终由K(K≤N)辆车协同提供服务,考虑最差情况下CSD算法的时间复杂度.在服务注册阶段,车辆将自身的服务信息注册到RSU并存储,其时间复杂度为O(N);在服务请求与服务回复阶段,其时间复杂度为O(1);在服务选择与绑定阶段,首先计算N辆车的服务能力并确定最终的提供者集合,然后计算各车所提供的服务大小,并实现服务绑定,此阶段时间复杂度为O(N).综上,CSD算法的时间复杂度为O(N).

3 仿真实验与分析

本文的仿真实验于OSGi平台上采用Java软件开发实现.仿真参数设置如表1所示.

表1 仿真参数设置

首先分析不同服务大小下的服务绑定成功率.其中,服务绑定成功率是指在50次仿真中仅由一辆车进行服务提供的情况下,有效通信时间内成功绑定服务次数占总次数的百分数.由图4可知,当服务大小增加至15 MB时,服务的绑定成功率下降至90%以下.为了提高占用网络空间较大的服务的绑定成功率,将服务大小的阈值Minit设置为15 MB.当服务占用网络空间大于15 MB时,启动协同服务发现算法,即将Minit设为15 MB.

图4 不同服务大小下的服务绑定成功率

在不同的车辆数目和提供服务车辆数情况下,获取大小为50 MB的服务绑定耗时比较见图5.由图可知,当车辆总数分别为50,100,150时,随着协同服务车辆数的增多,请求服务车辆获取所需服务的绑定耗时逐渐降低.这是因为协同服务车辆数K值增大,使得请求的服务任务被划分为更多的子任务分配给多台车辆,这些子任务相对原服务任务较小,接近1/K.提供服务的车辆数越多,每台车在提供服务时所消耗的资源越少,剩余资源越多,对当前服务的提供能力越强,对应的绑定时间越少.服务绑定时间随着协同服务车辆数的增多而降低,且在任一车辆总数情况下均符合此变化趋势.

图5 不同车辆总数下的服务绑定耗时

由此可知,当提供服务的车辆数增加到一定值之后,服务绑定耗时不会再随着协同车辆数的增加而大幅度降低,而且过多车辆参与同一服务发现过程会造成维护网络产生的通信开销大幅度增高,因此有必要设置提供服务的车辆数阈值,在保障服务绑定成功率的情况下尽量减少网络通信开销.

当可提供服务车辆数大于协同车辆数目阈值Nvc时,选择可提供服务车辆中服务能力值较高的前Nvc辆车作为最终的服务提供车辆.根据图4和图5的结果,将NINIT取为2,ε取为15.

对比算法选择同为城市环境下的VITP算法[14].网络内的车辆数相同时,VITP算法的时间复杂度为O(N),与本文所提的CSD算法相同.当请求服务大小为50 MB,变化网络中车辆总数取为50,100,150,200时,VITP算法和CSD算法的服务绑定成功率比较见图6.由图可知,二者的服务绑定成功率都随车辆总数的增加而提高, 这是因为

图6 不同车辆数下服务绑定成功率比较

车辆越多,可选择作为协同车辆的数目越多,并且此时车辆移动性较低,车间的通信相对稳定.此外,CSD算法获得的服务绑定成功率明显高于VITP算法.究其原因在于,CSD算法中加入了协同车辆数目的确定和选取步骤,从而保障了服务发现成功率;而VITP算法中协同车辆数由请求车辆自主定义,且没有根据请求结果进行筛选,因此不能保证选定的服务提供者的性能.当请求的服务大小为50 MB,变化网络中的车辆总数为50,100,150,200和250时,VITP算法和CSD算法的服务响应时间比较见图7.由图可知,VITP算法的服务响应时间明显长于CSD算法.这是因为VITP算法在多个RSU的选举和选择是否参加服务应答并返回服务应答消息时会造成一定的时间消耗,使服务响应时间较长;CSD算法采用集中式服务目录进行服务查询,服务响应时间较短.

图7 不同车辆数下服务响应时间比较

4 结论

1) 本文在具备RSU的VANET网络中提出了CSDOSGi中间件框架,引入了车辆服务能力的概念,根据车辆的自身内部资源和属性,动态衡量其服务能力.

2) 针对占用网络空间较大的服务发现情况,提出了协同服务发现算法CSD,使多台车辆协同地为一台请求车辆提供服务,降低了服务绑定耗时,提高了服务绑定成功率.

3) 本文研究的道路环境较简单,实际城市环境中会存在一些弯路和较窄的道路,使得车辆密度和行驶状态发生变化.下一步工作将围绕复杂城市环境中的服务发现机制进行深入研究.

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原理与最佳实践[M]. 北京:电子工业出版社, 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. 作者简介: 罗娟(1974—),女,博士,教授,juanluo@hnu.edu.cn.

国家自然科学基金资助项目(61672220).

罗娟,曾琼钰,杨倩,等.基于服务能力的VANET协同服务发现中间件[J].东南大学学报(自然科学版),2017,47(3):466-471.

10.3969/j.issn.1001-0505.2017.03.009.

TP393

A

1001-0505(2017)03-0466-06

猜你喜欢
中间件服务提供者成功率
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
如何提高试管婴儿成功率
网络服务提供者的侵权责任研究
网络服务提供者的侵权责任研究
论网络服务提供者连带责任的理论困境
如何提高试管婴儿成功率
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
论网络服务提供者的侵权责任
研究发现:面试排第四,成功率最高等4则