一种基于消息摆渡的机会网络全覆盖低时延路由方法

文档序号:7797531阅读:312来源:国知局
一种基于消息摆渡的机会网络全覆盖低时延路由方法
【专利摘要】本发明提供了一种基于消息摆渡的机会网络全覆盖低时延路由方法,包括步骤:在空闲阶段ferry节点沿固定路线运动并周期性广播beacon消息、数据传输阶段普通节点与ferry节点联系、ferry节点主动向普通节点运动、ferry节点与普通节点交换数据及ferry节点返回固定路线。本路由方法达到了消除网络覆盖盲区、优化ferry节点主动运动路径、降低数据分组的传输时延、提高数据传送成功率、减小了控制开销、提高路由效率的效果。
【专利说明】一种基于消息摆渡的机会网络全覆盖低时延路由方法
【技术领域】
[0001]本发明属于使用机会网络(opportunistic networks)或时延容忍网络(delaytolerant networks)技术的领域,特别涉及网络节点配备有位置信息获取装置、具备RSSI(Received Signal Strength Indication,接收信号强度指示)功能且部分节点能够自主移动的机会/时延容忍网络。
【背景技术】
[0002]机会网络是一种具有部分或间断连接拓扑、利用节点移动带来的相遇(指相互进入通信范围,下同)机会实现通信的、时延和断裂可容忍的无线自组织网络。在一些无线网络的应用领域,由于环境和节点通信范围的影响,无法建立全连通的网络拓扑,从而会导致传统的多跳自组织网络通信协议无法正常运行,而机会网络的信息传输机制则能够在无线链路断开和网络分裂的情况下完成数据传送任务。机会网络既是一种具体的组网形式,也是一种网络通信新技术,被视为移动ad hoc网络发展的重要方向,对未来普适计算具有重要影响。
[0003]机会网络体系架构的一个重要组成部分是路由技术。到目前为止,以机会网络为背景条件的路由方法主要包括基于冗余的路由、基于效用的路由、冗余效用混合的路由和基于主动运动的路由四类。基于消息摆渡(message ferrying)的路由方法作为基于主动运动的路由方法的一个子类,近年来引起了广泛关注并得到越来越深入的研究和应用。
[0004]基于消息摆渡的路由方法最初由Zhao等人提出(参见文献:W.-R.Zhao, Μ.Ammar.Message Ferrying:Proactive Routing in Highly-partitioned Wireless AdHoc Networks[C].Proceedings of the Ninth IEEE Workshop on Future Trends ofDistributed Computing Systems (FTDCS2003),May2003:308-314),其基本思路是:在分布式无线网络中引进一种比普通节点具备更充足的资源(如更充足的能量和存储空间等)、能够自主运动的节点一 ferry节点来担任数据的接收、携带和转发的任务;ferry节点沿着预设的固定路线移动,普通节点预先知道ferry节点的运动路径,当普通节点的缓存中有需要发送的数据而没感知到数据的目的节点时,它就主动运动与ferry节点相遇(“相遇”指相互进入对方的通信范围),将数据发送给ferry节点;然后由ferry节点完成后续的数据传送任务。
[0005]后来,Zhao等改进了原有的消息摆渡路由方法并使之适合机会网络拓扑间断连接的环境,据此提出了 NIMF (Node-1nitiated Message Ferrying,普通节点发起的消息摆渡)和FIMF (Ferry-1nitiated Message Ferrying,摆渡节点发起的消息摆渡)两种路由方法(参见文献:W.-R.Zhao, M.Ammar, Ε.Zegura.A Message Ferrying Approach for DataDelivery in Sparse Mobile Ad Hoc Networks[C].Proceedings of the Fifth ACMInternational Symp Mobile Ad Hoc Networking and Computing, 2004:187-198)。在NIMF方法中,普通节点具备主动运动的能力,通过主动运动靠近ferry节点进行数据交互。在FMF方法中,只有ferry节点具有主动运动能力;ferry节点沿着预先设置的路径(如果ferry节点沿着该路径运动一周,要求其通信范围能覆盖整个网络)移动,它不作为数据产生源,而是充当数据收集器,采用“接收一存储一携带一转发”的方式处理数据,在存储的数据未传送到目的节点且未过期时,ferry节点不会删除数据,而是携带着它们一起运动;需发送数据的普通节点用长距离通信方式发送服务请求消息通知ferry节点;当ferry节点收到普通节点的请求消息时,利用主动运动靠近普通节点并进行数据传送操作;ferry节点采用一定的方式遍历所有请求服务的普通节点之后返回预定路径并继续沿该路径运动。对于如何遍历发出请求的普通节点,FIMF方法将其视为一个寻找汉密尔顿回路(HamiltonLoop)的TSP问题(Traveling Salesman Problems,旅行商问题),在实际操作中使用遍历法的一种近似算法一 NNA (nearest neighbor algorithm,最近邻居算法)来解决;NNA的基本思路是Kerry节点在与一个服务请求节点相遇之后,向着与其距离最近的下一个服务请求节点的位置做直线运动。FIMF方法通过ferry节点的主动运动能够提高机会网络数据传输性能并保护普通节点的资源,但NNA算法定义ferry运动路径的思路过于简单,未考虑如何通过一次直线运动联系尽可能多的请求节点,会对数据传送的时延和成功率带来不利影响。
[0006]在结合分簇路由的基础上,Wang等提出一种基于ferry的路由方案DMFR(DynamicMessage Ferry Route,动态消息摆渡路由)(参见文献:T.Wang, C.P.Low.DynamicMessage Ferry Route (DMFR) for Partitioned MANETs[C].International Conferenceon Communications and Mobile Computing, April2010:447-451),该方案将网络中的节点分簇并引入工作调度问题(Job Shop Scheduling Problem, JSP)中的 SPTF (ShortestProcess Time First,最短处理时间优先)原则,ferry在簇中心之间做直线运动,当ferry到达某个簇中心后利用SPTF原则优化各个簇的平均消息传递时延函数,选择平均消息传递时延最小的簇中心位置作为ferry节点的下一个目标位置,动态地优化ferry节点的运动路径,有助于降低消息传递的时延。该方案未考虑网络节点成簇的开销,而且当网络隔断严重时簇平均节点数少而簇的个数较多,会造成ferry主动运动总路线增长,将对数据传送的时延和开销带来不利影响。
[0007]以减少消息传输时延为主要目标,Wang等提出了一种基于ferry固定运动路线优化的路由方法(参见文献:T.Wang, C.P.Low.Reducing message delay with the generalMessage Ferry Route(MFR*)problem[C].2011IEEE7th International Conference onWireless and Mobile Computing, Networking and Communications(WiMob2011), 2011:380-387);在该方法中,ferry节点与普通节点不同,不是数据的源或目的地,它沿着固定的多边形路线遍历网络区域,接收、存储、携带和转发普通节点发出的数据;为了减少数据传输的时延,该方法在满足一定的条件时,让ferry节点跳过多边形路线中的部分顶点,从而缩短路径,节省传输数据所消耗的时间;但它在摆渡节点主动运动路径、网络控制开销等方面未作专门的优化。
[0008]赵广松等提出了一种可用于时延容忍网络和机会网络的基于转发倾向度的固定路线摆渡路由方法(参见文献:赵广松,陈鸣.基于转发倾向度的固定路线摆渡路由算法.北京邮电大学学报,Vol.35,N0.2,2012.4:731-737);该方法要求网络中的普通节点具有路由功能且让网络节点分属于不同社区,摆渡节点主要负责社区间的数据传递;摆渡节点的运动路径和运动速度是固定的,并且摆渡节点的运动路径要尽量穿越网络中节点密集的地理区域。节点在为数据分组选择中继节点时,考虑了转发节点与摆渡节点的接触概率和转发节点剩余缓存的多少,并且根据应用需求来确定上述两种因素在判断准则中所占的权重。这种方法要求普通节点具有路由功能,增加了系统复杂度和成本,降低了方法的适用性。
[0009]从上述文献内容和研究现状来看,自从基于消息摆渡的机会网络路由方法被提出以后,人们对其加以改进和拓展的研究一直在进行,在主动运动节点的选择、ferry节点主动运动路径的设计和优化等方面已取得一定进展。但我们通过研究发现,现有的基于消息摆渡的机会网络路由方法在网络覆盖、ferry节点主动运动路径、普通节点感知和beacon消息(用于广播ferry节点的到来)的字段开销等方面存在不足,这些不足对采用消息摆渡机制的机会网络路由方法的性能具有重要影响,因此有进一步研究解决的需要,本发明将针对以上问题提出一种创新性的解决方法。经过深入研究,我们发现现有依靠ferry节点实现消息摆渡的机会网络路由方法存在以下4个问题:
[0010](I) ferry节点通信覆盖存在盲区
[0011]在网络的实际运行过程中,ferry节点通常按照多边形的固定路线运动;在绝大多数情况下ferry节点不会刚好在顶点处广播beacon消息,因此会出现ferry节点的通信范围覆盖不了网络顶点附近区域的情况,即会产生ferry节点通信覆盖盲区,如附图1中的灰色部分所示。ferry节点通信覆盖盲区的存在使网络区域无法实现全覆盖,会导致处于未覆盖区域的节点因收不到beacon消息而无法与ferry节点通信,造成数据丢失。
[0012](2) ferry节点主动运动路径不够优化
[0013]在定义ferry节点主动运动路径方面,目前相对较为简便优化的方法是最近邻居算法(NNA),即ferry在与某个请求服务节点相遇之后,总是沿着所有请求服务节点中最邻近的节点位置直线运动,当多个请求服务的节点同时存在时,该方法不利于ferry节点与其它请求服务节点的相遇和通信,影响了数据传递的时延。
[0014](3) ferry节点感知不到无数据发送的普通节点
[0015]根据现有的相关路由方法,如果一个普通节点没有数据需要发送,那么它即使收到ferry节点广播的beacon消息也不会发送任何消息,因此,ferry节点无法感知它的存在,这时如果ferry节点携带有目的地为该节点的数据,这些数据就无法被送达目的地,从而导致数据丢失。
[0016](4) beacon消息包含冗余字段
[0017]在现有的相关路由方法中,ferry节点广播的beacon消息中包含节点的位置信息字段,经过我们的深入研究,发现该字段完成的位置报告功能可以通过无线测距机制来实现,因此该字段是冗余的,会带来额外的控制开销。

【发明内容】

[0018]针对以上现有技术中的不足,本发明的目的在于提供一种达到了消除网络覆盖盲区、优化ferry节点主动运动路径、降低数据分组的传输时延、提高数据传送成功率、减小了控制开销、提高路由效率的效果的基于消息摆渡的机会网络全覆盖低时延路由方法。包括以下步骤:
[0019]101、当机会网络中的摆渡节点ferry未与普通节点相遇,或者摆渡节点ferry与普通节点相遇但相互之间没有数据需要传送或需要传送的数据已经传送完毕,则进入空闲阶段,此时ferry节点沿固定路线运动并周期性广播beacon消息,其中beacon消息包含ferry节点的标识,但没有位置字段,跳转至步骤102 ;当ferry节点与普通节点相遇并进行数据传输时,ferry节点周期性广播beacon消息,其中beacon消息包含ferry节点的标识,但没有位置字段,则跳转至步骤103 ;
[0020]102、当ferry节点在经过顶点前的最后一次广播beacon消息或离开顶点后在第I次广播beacon消息的位置上广播beacon消息时,相应增加ferry节点的无线信号发射功率,增大ferry节点通信半径,实现网络区域的全覆盖;
[0021]103、普通节点收到ferry节点广播的beacon消息后,首先使用RSSI机制测量ferry节点与自己的距离;如果ferry节点在短距离通信范围r之外,则在使用长距离通信方式,否则使用短距离通信方式;若普通节点没有数据要发送,则普通节点主动向ferry节点发送I个报告消息,报告消息中包含普通节点的标识和位置信息,跳转至步骤104 ;若普通节点有数据要发送且ferry节点位于短距离通信范围r之外,则向ferry节点发送I个服务请求消息,服务请求消息中包含普通节点的标识和位置信息,跳转至步骤104 ;若普通节点有数据要发送且ferry节点位于短距离通信范围r之内,贝U直接向ferry节点发送数据,跳转至步骤104;
[0022]104、当ferry节点收到普通节点发来的服务请求消息,则将该服务请求对应的普通节点信息存入服务请求/目的节点列表;当收到普通节点发来的报告消息且自己携带有发往该普通节点的数据,则将报告消息对应的普通节点的信息存入服务请求/目的节点列表;如果收到的是数据,则存入数据缓存空间;计算出主动运动目的地的位置,然后ferry节点判断是否已经到达前一次确定的主动运动目的地,如果没有,则继续向该目的地运动;如果已经到达或之前未确定主动运动目的地,则判断服务请求/目的节点列表中普通节点的数量;如果服务请求/目的节点数为0,则返回或继续沿着固定路线运动;如果服务请求/目的节点数为1,则以该普通节点的位置为下一个目的地,沿着直线向其运动;如果服务请求/目的节点数大于1,则采用选择包含普通节点最多的矩形的对边中点为下一个目的地,沿直线向其运动,跳转至步骤105 ;
[0023]105、ferry节点在向一个预先确定的目的地运动时,使用短距离通信方式周期性地广播hello消息,其中hello消息包含ferry节点的标识信息,当有数据需要发送的普通节点收到hello消息后,使用短距离通信方式直接向ferry节点发送数据,无数据发送的普通节点收到hello消息后,使用短距离通信方式向ferry节点发送I个报告消息,报告消息中包含普通节点的标识derry节点收到报告消息后,如果携带有目的地为该节点的数据,则将那些数据传送给该节点;ferry节点和普通节点交换完数据后,将相应的普通节点的信息从服务请求/目的节点列表中删除;
[0024]106、ferry节点通过主动运动到达一个目的地后,检查服务请求/目的节点列表中是否还有节点,如果有,则在其中选择I个普通节点作为目的地,继续主动运动;如果服务请求/目的节点列表中没有节点,则f erry节点返回固定路线。
[0025]进一步的,所述beacon消息的广播周期Tbea_的值为ls,所述长距离通信半径和短距离通信半径分别设置为300米和100米。
[0026]本发明的优点及有益效果如下:[0027]1.增强了 ferry节点通信范围的网络覆盖,解决了网络覆盖存在盲区的问题,实现了网络全覆盖,从而能够消除遗漏节点,提高数据传送成功率。
[0028]2.ferry节点在主动运动过程中能够和尽可能多的普通节点相遇,从而尽快地接收或发送数据分组,降低数据分组的传输时延,同时也有利于提高数据传送成功率。
[0029]3.使ferry节点能够感知到没有数据发送但是数据目的地的普通节点的存在,从而能够将数据发送给那些节点,解决因ferry节点无法感知到无数据发送的普通节点而丢失数据的问题,提高数据传送成功率。
[0030]4.删除了 beacon消息中冗余的位置字段,从而在不影响数据传输性能的前提下降低了控制开销,提高了路由效率。
【专利附图】

【附图说明】
[0031]附图1是现有相关路由方法存在网络覆盖盲区的示意图;
[0032]附图2是“面向最多节点的ferry节点主动运动路径自适应选择”新机制示意图;
[0033]附图3是本发明提出的“基于消息摆渡的机会网络全覆盖低时延路由方法”的组成示意图;
[0034]附图4是“ferry节点通信半径自适应调整”新机制的效果示意图;
[0035]附图5是ferry节点自适应调整通信半径的流程图;
[0036]附图6是面向最多节点的ferry节点自适应选择主动运动路径流程图。
【具体实施方式】
[0037]下面结合附图给出一个非限定性的实施例对本发明作进一步的阐述。
[0038]本发明的目的是提出一种基于消息摆渡的机会网络全覆盖低时延路由方法,该路由方法采用ferry节点通信半径自适应调整、面向最多节点的ferry节点主动运动路径自适应选择、无数据发送的节点主动联系ferry节点和删除beacon消息的位置字段4种新机制,解决了现有基于消息摆渡的机会网络相关路由方法存在的网络覆盖不完整、ferry节点主动运动路径不够优化、ferry节点感知不到无数据发送的普通节点和beacon消息存在冗余字段的问题,从而达到了消除网络覆盖盲区、优化ferry节点主动运动路径、降低数据分组的传输时延、提高数据传送成功率、减小了控制开销、提高路由效率的效果。
[0039](一)本发明提出的新机制的原理
[0040]以下具体介绍本发明提出的4种新机制的原理。
[0041]1.ferry节点通信半径自适应调整
[0042]为了解决ferry节点通信覆盖存在盲区的问题,我们设计了“ferry节点通信半径自适应调整”的新机制,当ferry节点在多边形路线的顶点附近广播beacon消息时增大通信半径,从而使其通信范围能够覆盖整个网络区域,即使ferry节点在多边形路线的顶点上不广播beacon消息也不会存在覆盖盲区。
[0043]2.面向最多节点的ferry节点主动运动路径自适应选择
[0044]为了优化f erry节点主动运动的路径,我们设计了“面向最多节点的f erry节点主动运动自适应选择”新机制,其基本思路为:ferry节点接收到普通节点的服务请求消息时,将这些消息的发起节点依序存放在服务请求消息节点缓存区S中。接下来,ferry节点以自己的位置点为矩形的一边的中点,以通信半径的两倍为矩形一边的边长;同时,选择S中第一个节点的位置点,以其分别作为矩形的对边中点、对边左端点和对边右端点,这样就形成了 3个不同的矩形区域(见附图2);然后,ferry节点在3个矩形中选择包含节点最多的矩形作为自己下一步要覆盖的区域,向着该矩形对边的中点运动。这样,ferry节点就能够和尽可能多的节点相遇,从而尽快地接收数据分组,降低数据分组的传输时延,同时也有利于提高数据传送成功率。
[0045]3.无数据发送的普通节点主动联系ferry节点
[0046]为解决“ferry节点感知不到无数据发送的普通节点”的问题,我们设计了 “无数据发送的普通节点主动联系ferry节点”的新机制,具体如下:如果一个普通节点收到了ferry节点广播的beacon消息或hello消息,即使没有数据需要发送,它也会用长距离或短距离通信方式向ferry节点发送一个包含自己ID信息的“报告消息”(是一种控制消息),从而让ferry节点感知到自己的存在,解决因ferry节点无法感知到无数据发送的普通节点而丢失数据的问题。普通节点具体采用哪种通信方式根据收到的消息类型来确定,如果收到beacon消息用长距离通信方式,收到hello消息则用短距离通信方式。
[0047]4.删除beacon消息的位置字段
[0048]根据现有的相关路由方法,ferry节点发送的beacon消息中包含节点的位置字段,以便于普通节点收到beacon消息后确定自己与ferry节点的位置关系。我们通过深入研究发现,普通节点其实不需要知道ferry节点的具体位置,只要收到了 ferry节点用短距离通信方式(此方式用于普通节点发送数据,发送功率相对较小,通信距离相对较短)广播的hello消息即可知道能够与ferry节点交换数据。于是,我们提出了 “删除beacon消息的位置字段”的新机制,删除beacon消息中冗余的位置字段,从而在保障传输性能的前提下降低了控制开销,提高了路由效率。
[0049](二)本发明提出的新路由方法的基本操作
[0050]本发明提出的基于消息摆渡的机会网络全覆盖低时延路由方法由交替出现的空闲和数据传输两个阶段内的5个操作步骤组成。其中,空闲阶段包括“ferry节点沿固定路线运动并周期性广播beacon消息”1个操作步骤,数据传输阶段包括“普通节点与ferry节点联系”、“ferry节点主动向普通节点运动”、“ferry节点与普通节点交换数据”、“ferry节点返回固定路线”4个操作步骤。本发明所提新路由方法包含的“ferry节点通信半径自适应调整”和“删除beacon消息的位置字段”两种新机制工作在空闲阶段的“ferry阶段周期性广播beacon消息”步骤中,“无数据发送的普通节点主动联系ferry节点”新机制工作在数据传输阶段的“普通节点与ferry节点联系”和“ferry节点与普通节点交换数据”两个步骤中,“面向最多节点的ferry节点主动运动路径自适应选择”新机制工作在数据传输阶段的“ferry节点主动向普通节点运动”步骤中,如附图3所示。
[0051]基于消息摆渡的机会网络全覆盖低时延路由方法的基本操作如下:
[0052]1.空闲阶段
[0053]在本阶段中ferry节点与普通节点不进行数据传送。如果ferry节点未与普通节点相遇;或者,它们相遇但相互之间没有数据需要传送或需要传送的数据已经传送完毕,则进入本阶段。本阶段包含如下I个步骤:
[0054]步骤1.ferry节点沿固定路线运动并周期性广播beacon消息[0055]在空闲阶段中,ferry节点沿固定路线运动,并使用长距离通信(此方式用于普通节点发送服务请求消息,发送功率相对较大,通信距离相对较长)方式周期性广播beacon消息。beacon消息包含ferry节点的标识,但没有位置字段(此处采用“删除beacon消息的位置字段”新机制),因此不包含ferry节点的位置信息;普通节点不与ferry节点进行通信(其原因是ferry节点未在普通节点的通信范围内或数据已传完);在未与ferry节点连通的普通节点中,如果有上层数据到达网络层,网络层则将它们缓存起来。
[0056]当ferry节点在接近多边形固定路线顶点的位置广播beacon消息时(即经过顶点前的最后一次广播beacon消息和离开顶点后的第1次广播beacon消息),采用“ferry节点通信半径自适应调整”新机制,以通信范围覆盖路线顶点对应的最边远位置为准,相应增加ferry节点的无线信号发射功率,增大ferry节点通信半径,实现网络区域的全覆盖,如附图4所示。
[0057]下面推导ferry节点通信半径的调整值。
[0058]设fer ry节点通信半径为r,直线运动的速率为V,结合附图4,有0A=r ;设ferry节点在图中B、C两点广播Beacon消息,则在ABO中,根据余弦定理有:
[0059]BA=0A2+B02-2XOAXBOXcos Z BOA (I)
[0060]由于ferry节点的固定运动路线是不变的,因此ferry节点能够知道O点的位置和Z AOB的大小,设Z AOB= α,有:
[0061]α = π -^ZBOC(2)
[0062]而且,ferry节点配备有位置获取装置,能够获知自己的位置,因此,当它在B点广播beacon消息时,执行一次位置测试操作,便能得到点B的位置,从而得到BO的大小,设B0=d,于是式(I)可变换为:
[0063]BA=r2+d2-2rdcos α (3)
[0064]于是,ferry节点根据式(3)计算出AB的值,然后,调整发射功率,使通信半径不小于BA,就能保证A点被覆盖到。
[0065]此外,ferry节点在C点广播beacon消息时,也需要使用上述方法,按照下式计算出CA的值,然后,调整发射功率,使通信半径不小于CA,保证A点被覆盖到;设0)=1,有
[0066]CA=r2+l2-2rlcos α (4)
[0067]最后,当ferry节点在B、C两点广播beacon消息时分别将通信半径调整为BA和CA后,ferry节点的通信范围都覆盖了 A点,从而能够保证所有网络区域都被覆盖到,即实现了网络全覆盖。
[0068]2.数据传输阶段
[0069]在本阶段中ferry节点与普通节点进行数据传输。如果任何一个有数据需要传送的普通节点收到ferry节点广播的beacon消息,则进入本阶段。本阶段包含如下4个步骤:
[0070]步骤1.普通节点与ferry节点联系
[0071]普通节点收到ferry节点广播的beacon消息后,首先使用RSSI机制测量ferry节点与自己的距离;如果ferry节点在短距离通信范围之外,则在后续的通信中使用长距离通信方式,否则使用短距离通信方式。然后,普通节点根据3种不同的情况,在以下3种方法中选择I种进行操作:
[0072](I)普通节点如果没有数据要发送,则使用“无数据发送的节点主动联系ferry节点”的新机制,主动向ferry节点发送I个报告消息,报告消息中包含节点的标识和位置信
肩、O
[0073](2)普通节点如果有数据要发送且ferry节点位于短距离通信范围之外,则向ferry节点发送I个服务请求消息,服务请求消息中包含节点的标识和位置信息。
[0074](3)普通节点如果有数据要发送且ferry节点位于短距离通信范围之内,则直接向ferry节点发送数据。
[0075]步骤2.ferry节点主动向普通节点运动
[0076]ferry节点如果收到普通节点发来的服务请求消息,则将服务请求节点的信息存入“服务请求/目的节点列表”;如果收到的普通节点发来的报告消息且自己携带有发往该节点的数据,则将该节点的信息存入“服务请求/目的节点列表”;如果收到的是数据,则存入数据缓存空间。
[0077]然后,ferry节点判断是否已经到达前一次确定的主动运动目的地,如果没有,则继续向该目的地运动;如果已经到达或之前未确定主动运动目的地,则判断服务请求/目的节点列表中节点的数量;如果服务请求/目的节点数为0,则返回(ferry节点未在固定路线上)或继续沿着(ferry节点已位于固定路线上)固定路线运动;如果服务请求/目的节点数为1,则以该节点的位置为下一个目的地,沿着直线向其运动;如果服务请求/目的节点数大于1,则采用“面向最多节点的ferry节点主动运动路径自适应选择”新机制,选择包含节点最多的矩形的对边中点为下一个目的地,沿直线向其运动。
[0078]以下结合附图2具体说明“面向最多节点的ferry节点主动运动路径自适应选择”新机制。
[0079]在附图2中,ferry节点位于位置0,有多个请求发送数据的普通节点(在图中用黑色实心圆点表示),其中位置G的节点在服务请求/目的节点列表中排在第一位。ABCD、EFGH和IJKG是3个矩形,OE=OF=OI=OJ=r,r为短距离通信半径;d为长距离通信半径;由图可知,矩形AB⑶和EFGH分别含有4个请求发送数据的普通节点,而矩形IJKG含有5个请求发送数据的普通节点,因此,ferry节点选择矩形IJKG (图中灰色矩形)中对边中点Y作为下一个运动目的地。于是,当ferry节点到达Y时,它能够和5个普通节点进行通信,从而接收更多的数据,有利于降低数据时延和提高数据传送成功率。
[0080]步骤3.ferry节点与普通节点交换数据
[0081]ferry节点在向一个预先确定的目的地运动时,使用短距离通信方式周期性地广播hello消息,hello消息包含ferry节点的标识信息。有数据需要发送的普通节点收到hello消息后,使用短距离通信方式直接向ferry节点发送数据。无数据发送的普通节点收到hello消息后,运行“无数据发送的节点主动联系ferry节点”新机制,使用短距离通信方式向ferry节点发送I个报告消息,报告消息中包含节点的标识(不包含位置信息),以便于ferry节点将目的地为该普通节点的数据传送给它;ferry节点收到报告消息后,如果携带有目的地为该节点的数据,则将那些数据传送给该节点。ferry节点和普通节点交换完数据后,将相应的普通节点从服务请求/目的节点列表中删除。
[0082]步骤4.ferry节点返回固定路线[0083]ferry节点通过主动运动到达一个目的地后,检查服务请求/目的节点列表中是否还有节点,如果有,则在其中选择I个节点作为目的地,继续主动运动;如果服务请求/目的节点列表中没有节点,则返回固定路线。为保障网络全覆盖和不遗漏节点,缺省方式是返回离开时所处的固定路线上的位置。
[0084]由于在绝大多数情况下ferry节点不能刚好在固定路线的顶点处广播beacon消息,因此导致网络覆盖存在盲区。
[0085]ferry节点选择Y点作为下一个主动运动的目的地后,能够在该次主动运动过程中和5个普通节点进行通信(如果选G或X作为目的地,只能和4个节点通信),达到“面向最多节点”进行通信的效果。
[0086]本发明提出的新路由方法包括空闲和数据传输两个阶段以及包含在其中的ferry节点通信半径自适应调整、面向最多节点的ferry节点主动运动路径自适应选择、无数据发送的节点主动联系ferry节点和删除beacon消息的位置字段4种新机制。
[0087]采用新机制自适应调整ferry节点通信半径后,消除了灰色的网络覆盖盲区原来未被ferry节点通信范围覆盖到的A点也被覆盖到了,从而实现了网络全覆盖。
[0088]ferry节点实现在路线顶点附近自适应调整通信半径,达到消除网络覆盖盲区的效果。
[0089]当发出服务请求消息或作为目的地的节点有两个及两个以上时,ferry节点会用服务请求/目的节点列表中的第一个节点的位置构造3个矩形,并选择包含服务请求/目的节点最多的矩形的对边中点位置作为下一个目的地,然后,向该目的地主动运动。
[0090]本发明适用于采用基于消息摆渡路由技术的机会/时延容忍网络。一个具体实施的方式为:在节点数不小于3的、采用基于消息摆渡路由技术的机会网络中,存在一个处于运动状态的ferry节点以及处于间歇或运动状态的普通节点,普通节点之间有数据(消息)需要传送,可以使用本发明提出的基于消息摆渡的机会网络全覆盖低时延路由方法,通过“存储一携带一转发”的方式,利用ferry节点主动运动为处于分隔状态的普通节点提供通信机会,将数据从源节点转发给目的节点。在ferry节点和传送数据的过程中,使用本发明提出的ferry节点通信半径自适应调整、面向最多节点的ferry节点主动运动路径自适应选择、无数据发送的节点主动联系ferry节点和删除beacon消息的位置字段4种新机制,在保障机会/时延容忍网络数据传输功能和性能的同时,能够增强网络覆盖,消除网络覆盖盲区,降低数据传输时延,提高数据传送成功率,并且减小控制开销,提高路由效率。
[0091]在本发明中beacon消息的广播周期Tbea_的值可以根据机会/时延容忍网络的具体条件进行设置,参照现有的IETF (Internet Engineering Task Force)国际标准文稿RFC3561 (Ad-hoc On-demand Distance Vector (AODV)Routing)的内容,Tbeaem 的缺省值可以设置为I秒。参考现有的W1-Fi无线网络相关技术指标,长距离和短距离通信半径可以分别设置为300米和100米。
[0092]以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明方法权利要求所限定的范围。
【权利要求】
1.一种基于消息摆渡的机会网络全覆盖低时延路由方法,其特征在于,包括以下步骤: .101、当机会网络中的摆渡节点ferry未与普通节点相遇,或者摆渡节点ferry与普通节点相遇但相互之间没有数据需要传送或需要传送的数据已经传送完毕,则进入空闲阶段,此时ferry节点沿固定路线运动并周期性广播beacon消息,其中beacon消息包含ferry节点的标识,但没有位置字段,跳转至步骤102 ;当ferry节点与普通节点相遇并进行数据传输时,ferry节点周期性广播beacon消息,其中beacon消息包含ferry节点的标识,但没有位置字段,则跳转至步骤103 ; . 102、当ferry节点在经过顶点前的最后一次广播beacon消息或离开顶点后在第1次广播beacon消息的位置上广播beacon消息时,相应增加ferry节点的无线信号发射功率,增大ferry节点通信半径,实现网络区域的全覆盖; .103、普通节点收到ferry节点广播的beacon消息后,首先使用RSSI机制测量ferry节点与自己的距离;如果ferry节点在短距离通信范围r之外,则在使用长距离通信方式,否则使用短距离通信方式;若普通节点没有数据要发送,则普通节点主动向ferry节点发送I个报告消息,报告消息中包含普通节点的标识和位置信息,跳转至步骤104 ;若普通节点有数据要发送且ferry节点位于短距离通信范围r之外,则向ferry节点发送I个服务请求消息,服务请求消息中包含普通节点的标识和位置信息,跳转至步骤104 ;若普通节点有数据要发送且ferry节点位于短距离通信范围r之内,贝U直接向ferry节点发送数据,跳转至步骤104 ; .104、当ferry节点收到普通节点发来的服务请求消息,则将该服务请求对应的普通节点信息存入服务请求 /目的节点列表;当收到普通节点发来的报告消息且自己携带有发往该普通节点的数据,则将报告消息对应的普通节点的信息存入服务请求/目的节点列表;如果收到的是数据,则存入数据缓存空间;计算出主动运动目的地的位置,然后ferry节点判断是否已经到达前一次确定的主动运动目的地,如果没有,则继续向该目的地运动;如果已经到达或之前未确定主动运动目的地,则判断服务请求/目的节点列表中普通节点的数量;如果服务请求/目的节点数为0,则返回或继续沿着固定路线运动;如果服务请求/目的节点数为1,则以该普通节点的位置为下一个目的地,沿着直线向其运动;如果服务请求/目的节点数大于1,则采用选择包含普通节点最多的矩形的对边中点为下一个目的地,沿直线向其运动,跳转至步骤105 ; .105、ferry节点在向一个预先确定的目的地运动时,使用短距离通信方式周期性地广播hello消息,其中hello消息包含ferry节点的标识信息,当有数据需要发送的普通节点收到hello消息后,使用短距离通信方式直接向ferry节点发送数据,无数据发送的普通节点收到hello消息后,使用短距离通信方式向ferry节点发送I个报告消息,报告消息中包含普通节点的标识;feriT节点收到报告消息后,如果携带有目的地为该节点的数据,则将那些数据传送给该节点jerry节点和普通节点交换完数据后,将相应的普通节点的信息从服务请求/目的节点列表中删除; .106、ferry节点通过主动运动到达一个目的地后,检查服务请求/目的节点列表中是否还有节点,如果有,则在其中选择I个普通节点作为目的地,继续主动运动;如果服务请求/目的节点列表中没有节点,则f erry节点返回固定路线。
2.根据权利要求1所述的基于消息摆渡的机会网络全覆盖低时延路由方法,其特征在于:所述beacon消息的广播周期Tbea_的值为ls,所述长距离通信半径和短距离通信半径分别设置为300米和100米。
【文档编号】H04W40/02GK103945483SQ201410064982
【公开日】2014年7月23日 申请日期:2014年2月25日 优先权日:2014年2月25日
【发明者】任智, 邓科, 任海, 索建伟, 刘彩梅, 陈前斌 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1