4.1 VANETs服务发现与组合机制与底层路由关系
设计适应高度动态性的服务发现与组合机制快速构建可满足车载用户不同需求的个性化组合服务, 是推进VANETs车载终端应用平台发展并增强服务可用性的关键问题。 由于服务发现和路由发现过程的相似性, 人们逐渐采用服务发现跨网络层设计的思想, 将服务发现功能合成到路由寻路过程中去,减少不必要的网络控制开销, 提高VANETs带宽资源利用率。 但目前相关研究也仅仅考虑了服务发现功能与路由策略的简单融合, 尽管在服务组件发现效率和网络资源优化等方面优于原有的应用层服务发现协议, 但由于对服务发现特性、 服务组合需求及底层路由寻路策略的适应性关系没有做进一步研究, 这样发现的服务路径往往不能承受网络拓扑高动态性的考验, 存在稳定性差及服务质量低等问题。 因此, 对于支撑服务发现的路由算法要进一步考虑服务选择的自适应性, 以满足高动态性的VANETs服务组合的执行效率及成功率, 合理、 有效的路由机制将为上层服务发现与选择提供良好的底层支撑及保障。
用户通过服务请求描述了对所需组合服务的功能及非功能属性需求, 路由算法将这样的需求实例化为物理网络层具体的物理组合方案。 路由算法设计初衷就是要保证在满足服务质量QoS需求情形下, 选择一条尽可能稳定的物理网络层通信链路, 最大限度地减少重发现及重路由操作, 有效地降低网络开销和端对端时延。
基于上述分析, 为有效支撑服务发现及选择功能, 提高路由算法对于服务组合的自适应性, 本章对传统路由算法中节点数据结构进行了改进和扩展。
传统的服务发现设计思路是令每个节点维护两张表[100,101]: 节点路由信息列表 (表4.1) 和节点服务信息列表 (表4.2), 服务信息列表中提供者选项与节点路由表中的目的地址相关联, 以此来提供临时路由表中节点对应的服务信息。
表4-1 节点路由信息列表

表4.2 节点服务信息列表

我们整合上述节点路由信息列表及服务信息列表的相关内容, 采用跨网络层设计思路提出了可同时查询路由信息及服务信息的节点数据结构。 在节点数据表中, 添加服务路径生成算法中所提出的用于指导服务发现、 组合进程的两个关键决策指标: 链路生存时间LET及服务节点强度Abi。 节点数据结构如图4.2所示, 其中address表示该节点的网络地址; service List表示该节点上可提供的所有服务; service Route Table表示该节点所保存的其他节点上的服务信息及其相关路由; sreq Table表示经由该节点的服务请求消息列表; neigh⁃bor List表示该节点周围的邻居节点列表。

图4.2 节点的数据结构
在该节点能够提供的所有服务的表项service List中, s ID表示服务的唯一标识, function为该服务可提供的功能, s Delay表示服务的执行时间, s Cost表示服务的费用; 在服务路由表service Route Table中, address表示本地节点所保存的标识为s ID服务资源的网络地址, s ID为该服务的唯一标识, function为s ID服务能够实现的功能, route为本节点到s ID服务节点的路由, s Delay表示服务路由上的延迟, Abi表示本节点可获取s ID服务的服务强度; 在邻居列表neighbor List中, address表示邻居节点网络地址, t Delay表示从本地节点到该邻居节点的链路延迟, LET为本地节点到该邻居节点的链路生存时间, t Cost为本节点与该邻居节点之间的传输费用。
本章提出两种新的路由算法来支撑服务组合的执行, 既能降低底层寻路开销和时延, 在节省有限带宽资源同时提高服务发现效率, 又能保证路由链路在VANETs网络中拥有更好的可靠性、 及时性和稳定性, 获得最满足应用需求的服务执行路径。 鉴于不同的应用场景及业务类型对路由算法协议性能的偏好各有侧重,如时延、带宽消耗、可靠性等等[102-105],把移动终端业务按时延敏感度划分为实时性业务和非实时性业务两种[106-110],针对不同的应用需求设计底层相应的路由算法。
表4.3 业务类型

按照表4.3不同业务类型的分类, 本书面向不同应用场景有针对性的设计了两种路由算法: 基于节点运动方向的类AODV路由协议DARP (Direction Based AODV Routing Protocol) 和基于数据报报文点点决策的路由协议DBNP (Datagram based Node Routing Protocol)。