一种机会网络下的数据传输方法转让专利

申请号 : CN200810056948.3

文献号 : CN101222438B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牛建伟周航孙利民

申请人 : 北京航空航天大学

摘要 :

本发明提出了一种机会网络下的数据传输方法。在网络局部区域拓扑较稳定的情况下,本方法采用一种由移动设备自组建立连通域的策略辅助路由。若拥有消息的移动设备与连通域内任意移动设备相遇时,可以将消息转发给连通域内最有可能和目标设备相遇的移动设备,以减少传输时延。同时,在数据传输过程中,本方法将基于复制和基于感知信息的传输策略结合起来,根据感知到的网络状况信息,动态地调整数据的复制和转发条件,在保证一定传输成功率的情况下,减小了数据传输过程中移动设备的能耗和网络负载,提高了移动设备间的转发效率,增强了机会网络下的数据传输的实用性,为上层的移动P2P应用提供了良好的网络支持。

权利要求 :

1.一种机会网络下的数据传输方法,其特征在于,本方法包括如下步骤:

步骤一:感知信息收集;每个移动设备周期性地发送探测包,同时接收其它移动设备的探测包,并对接收的探测包进行统计和记录,计算移动设备的效用值,得到移动设备的感知信息表;

效用值计算中,当消息目标设备确定且利用中间设备进行数据传输时,移动设备i效用值Uid计算公式为:Uid=F(-a1×T+a2×N)

i为中间设备ID号,d为目标设备ID,T表示上次移动设备和目标设备的相遇时间,N表示移动设备和目标设备在一段时间的总相遇次数,a1和a2都是权重参数,F(·)为归一化函数;

步骤二:根据感知的网络状况信息,判断邻近区域内的网络拓扑变化状况;当各邻居设备拓扑变化较稳定时,当前移动设备发出连通域建立请求来建立连通域,并标识自己为域头设备,其邻居设备将计算与域头设备的本次相遇时长来判断是否加入连通域以及转发建立请求;若邻居设备加入连通域,则将其效用值表和路径信息发送给域头设备,域头设备计算域内效用表和域内路径表,并发送给域内其余移动设备,以辅助数据传输;当各邻居设备拓扑变化不稳定时,直接转到步骤三;

步骤三:数据源的移动设备首先设置数据消息的拷贝上限并设置原始消息为种子消息,拥有种子消息的移动设备根据本身的感知信息不断调整种子消息的拷贝上限,确定种子消息的复制状态;若种子消息的已拷贝数小于拷贝上限,则设置该种子消息为允许拷贝状态,否则,设置该种子消息为非拷贝状态;

步骤四:拥有数据消息的移动设备周期性的发送效用值探测包,包内包含数据消息的目标地址;

步骤五:邻居设备收到效用值探测包,若该移动设备是目标设备,则设置效用值为1并回复,此后拥有数据消息的移动设备将发送消息给该邻居设备,并转到步骤七;否则,若移动设备属于连通域内移动设备,则将与目标设备对应的连通域效用值回复给拥有数据消息的移动设备;若移动设备不属于连通域内移动设备,将感知信息表中与消息的目标地址对应的设备效用值打包成响应消息,回复给拥有数据消息的移动设备;

步骤六:拥有数据消息的移动设备查看邻居设备的响应消息,若邻居设备效用值比该移动设备本身的效用值大一个转发门限,且消息处于允许拷贝状态,则拥有数据消息的移动设备将把种子消息转发给该邻居设备,并复制一份拷贝在原移动设备,转到步骤四;若消息处于非拷贝状态,则拥有数据消息的移动设备将该消息转发该邻居设备,不进行拷贝,并转到步骤四;若邻居设备效用值不比拥有数据消息的移动设备效用值大,则继续持有该消息,并不进行数据转发,并转到步骤四;

步骤七:当目标设备收到消息后,发送带生存时间TTL的确认消息,用来消除网络中的冗余副本;否则目标设备继续等待,直至收到消息为止。

2.根据权利要求1所述一种机会网络下的数据传输方法,其特征在于:所述步骤三中,拥有种子消息的移动设备根据本身效用值的变化不断调整种子消息的拷贝上限,其拷贝上限数L=(1-U)×L0,其中L0初始拷贝上限,U为效用值。

3.根据权利要求1所述一种机会网络下的数据传输方法,其特征在于:所述步骤六中,转发门限随着感知信息表中的网络状况信息以及拥有数据消息的移动设备本身的效用值的变化而变化:ΔU=ΔU×(b1×M+b2×V2+b3×Uid)

其中,b1,b2,b3为权值参数,M为邻居设备数目,V2为常数时间内相遇移动设备数目,Uid为移动设备i本身的效用值。

4.根据权利要求1所述一种机会网络下的数据传输方法,其特征在于:所述步骤七中,确认消息采用Epidemic策略进行转发,且生存时间TTL耗尽时将该确认消息删除。

说明书 :

技术领域

本发明属于通信领域,涉及一种数据传输方法,具体涉及一种机会网络下的数据传输方法。

背景技术

机会网络(opportunistic networks)是近年来出现的一种新型网络类型。在机会网络中,网络节点被分割成多个孤立的连通区域,源节点和目的节点之间可能不存在一条端到端的路径,节点移动使得节点与其它节点相遇而形成通信机会,数据随着节点的移动和在移动节点之间的转发而实现传输。这类网络的特点是虽然传输延迟较大,但数据传输成本低,特别适用在不易架设网络基础设施的环境。目前有很多应用容忍大的延迟,如非实时感知数据的收集、e-mail、图片和文件上传等应用。
机会网络从DTN网络(Delay Tolerant Network)发展而来。DTN网络是指能够容忍较大延时的网络,它起源于星际互连网络IPN(Inter PlanetaryNetworks)。DTN网络由多个独立的互联网络组成,每个独立的互联网络被称为DTN域,分别运行自己的通信协议,各个DTN域之间存在预期或随机的通信机会,由DTN网关负责它们之间的互连。相对于DTN网络,机会网络更为强调通过节点移动而形成的节点之间的通信机会,从而能够为原本非连通的区域提供数据传输服务。
机会网络的应用场景主要有自组车载网络,野生动物监测网络,农村地区以及游牧民族的Internet接入服务,军事战场网络等。目前机会网络下的数据传输算法主要分为两种:
1)基于复制的传输策略
机会网络具有传输链路不稳定的特点,通常情况下传输成功率较低。这类传输策略利用同一份消息在网络内散布多个拷贝的方法来增大传输成功率,减少网络传输延时。这类策略的代表算法有Epidemic、Spray and Focus,主要缺陷是网络负载较大。
2)基于感知信息的传输策略
当移动设备进入可通信范围时,该类策略通过收集和记录一些相对位置信息、能量信息、速度信息等感知信息,来预测移动设备和目标移动设备相遇的可能性。当进行数据传输时,将消息转发给和目标移动设备相遇概率更大的移动设备。这种策略的典型代表是utility-based算法,它虽然从一定程度上提高了传输成功率和传输时延,但是传输时延仍然较大,不能满足大多数应用场景的要求。

发明内容

本发明提出了一种机会网络下的数据传输方法。在网络局部区域拓扑较稳定的情况下,本方法采用一种由移动设备自组建立连通域的策略辅助路由。若拥有消息的移动设备和连通域内任意移动设备相遇时,可以迅速将消息转发给连通域内最有可能和目标设备相遇的移动设备,从而很大程度上减少了传输时延。同时,在数据传输过程中,本方法将基于复制和基于感知信息的传输策略结合起来,根据感知到的网络状况信息,动态地调整数据的复制和转发条件,在保证一定传输成功率的情况下,减小了数据传输过程中移动设备的能耗和网络负载,提高了移动设备间的转发效率,增强了机会网络技术的实用性。
本方法一种机会网络下的数据传输方法,包括如下步骤:
步骤1:感知信息收集。每个移动设备不断地、周期性地发送探测包,同时接收其它移动设备的探测包,并对接收的探测包进行统计和记录,计算设备的效用值,得到设备的感知信息表。
步骤2:根据感知的网络状况信息,判断邻近区域内的网络拓扑变化状况。当各邻居设备拓扑变化较稳定时,当前设备发出连通域建立请求来自组连通域,其邻居设备将计算与域头设备的本次相遇时长来判断是否加入连通域以及转发建立请求。若邻居设备加入连通域,则将其效用值表和路径信息发送给域头设备,域头设备计算域内效用表和域内路径表,并发送给域内其余设备,以辅助数据传输;否则转到步骤3。
步骤3:数据源设备首先设置数据消息的拷贝上限并设置原始消息为种子消息,拥有种子消息的移动设备根据本身的感知信息不断调整种子消息的拷贝上限,确定消息的复制状态。若种子消息的已拷贝数小于拷贝上限,则设置该种子消息为允许拷贝状态,否则,设置该消息为非拷贝状态。
步骤4:拥有数据消息的移动设备周期性的发送效用值探测包,包内包含数据消息的目标地址。
步骤5:邻居设备收到效用值探测包,若该设备是目标移动设备,则设置效用值为1并回复,此后拥有消息的移动设备将发送消息给该邻居设备,并转到步骤7;否则,若设备属于连通域内移动设备,则将连通域效用值回复给拥有消息的移动设备;若设备不属于连通域内移动设备,将感知信息表中的设备效用值打包成响应消息,回复给拥有消息的移动设备。
步骤6:拥有消息的移动设备查看邻居设备的响应消息,若设备效用值比该设备本身的效用值大一个门限值,且消息处于允许拷贝状态,则拥有消息的移动设备将把种子消息转发给该邻居设备,并复制一份拷贝在原移动设备,转到步骤4;若消息处于非拷贝状态,则拥有消息的移动设备将该消息转发该邻居设备,不进行拷贝,并转到步骤4;若邻居设备预测效用值不比拥有消息的移动设备预测效用值大,则继续持有该消息,并不进行数据转发,并转到步骤4。
步骤7:当目标设备收到消息后,发送带TTL(生存时间)的确认消息,用来消除网络中的冗余副本;否则目标设备继续等待,直至收到消息为止。
所述步骤1的效用值计算中,当消息目标设备确定且利用中间设备进行数据传输时,移动设备i效用值Uid计算公式为:
Uid=F(-a1×T+a2×N)
i为中间设备ID号,d为目标设备ID,T表示上次移动设备和目标设备的相遇时间,N表示移动设备和目标设备在一段时间的总相遇次数,a1和a2都是权重参数,F(■)为归一化函数。
所述步骤3中,拥有种子消息的移动设备根据本身预测效用值的变化不断调整种子消息的拷贝上限,其拷贝上限数L=(1-U)×L0,其中L0初始拷贝上限,U为预测效用值。
所述步骤6中,转发门限随着感知信息表中的网络状态信息以及拥有消息息移动设备本身的效用值的变化而变化:
ΔU=ΔU×(b1×M+b2×V2+b3×Uid)
其中,b1,b2,b3为权值参数,M为邻居设备数目,V2为常数时间内相遇设备数目,Uid为移动设备i本身的效用值。
所述步骤7中,确认消息采用Epidemic策略进行转发,且TTL耗尽时删除。
本发明一种机会网络下的数据传输方法的优点在于:
(1)本方法中,采用自适应组建连通域机制,充分利用短时间内设备相对静止的特点,降低了消息的网络传输时延。
(2)本方法在数据传输过程中,采用自适应的复制和转发机制,利用简单的网络状况感知信息,动态的调整消息复制转发条件,有效的降低了网络负载和设备能耗,提高了复制转发效率。
(3)本方法在设置消息生存时间的基础上,采用了由接收设备发送受限ACK消息的策略,有效的解决了消息成功转发后的冗余副本问题,减轻了网络负载。

附图说明

图1为本发明一种机会网络下的数据传输方法的连通域示意图;
图2为本发明一种机会网络下的数据传输方法的总体流程图;
图3为本发明一种机会网络下的数据传输方法的连通域建立流程图;
图4为本发明一种机会网络下的数据传输方法的连通域维护流程图;
图5为本发明一种机会网络下的数据传输方法与Spray And Focus算法和Spray And Wait算法相对比的时延——密度直方图;
图6为本发明一种机会网络下的数据传输方法与Spray And Focus算法和Spray And Wait算法相对比的时延——速度直方图;
图7为本发明一种机会网络下的数据传输方法与Spray And Focus算法和Spray And Wait算法相对比的转发次数——时间直方图。

具体实施方式

下面将结合附图和实施例对本发明作进一步的详细说明。
一种机会网络下的数据传输方法,如图2所示,包括如下步骤:
步骤一:感知信息收集。
本实例中,在2000×2000米2的仿真区域内,假设设备的移动性满足随机Way-Point移动模型,设备移动速度的取值范围为(0~5)m/s,停止时间为20s。在进行网络传输之前以及整个网络传输过程中,每个移动设备每隔1秒发送一些探测包,同时接收其他移动设备的探测包,并对接收的探测包进行统计、记录,同时计算该设备的效用值,得到设备的感知信息表。其中具体感知信息包括:和其它移动设备的最近一次相遇时间,与其他移动设备的常数时间内的总相遇次数,常数时间内相遇的总的移动设备数目,常数时间内遇到的新移动设备数目以及预测的效用值。感知表样式如表一所示。
表一感知信息表
目标ID 上次相遇时间间隔T   相遇总  次数   T时间内遇  到总设备数   T时间内遇  到新设备数   T时间内相遇  U值较大数目   效用  值Uid     0     13     4     8     4     3   0.63     1     4     1     1   0.41     2     15     5     4   0.72
其中移动设备效用值Uid计算公式为:
Uid=F(-a1×T+a2×N)
i为中间设备ID号,d为目标设备ID,T表示上次移动设备和目标设备的相遇时间,N表示移动设备k和目标设备d在常数C时间的总相遇次数,这里C的取值和具体应用相关,本实施例中为30s,这两个值都在步骤一中获得,a1和a2都是权重参数,和具体的实际应用相关,本实施例中均为0.5,F(■)为归一化函数,保证U值在区间(0,1)内。
当信息源或拥有消息的中间移动设备,想要利用邻居中间设备辅助数据传输的时候,首先需要预测邻居设备是否拥有比自己更大的概率和目标节点相遇,是否更利于数据的传输。这里我们使用效用值来代表预测得到的中间设备在传输过程中的效用性。
采用这种通用简单的感知信息,来预测设备的效用值以及判断临近区域的网络状况,将使得整个方法拥有更加通用的网络应用场景。
步骤二:当移动设备的感知信息——常数时间内遇到的新移动设备数目,小于一个较小的常数时,说明其邻居节点拓扑变化比较稳定。在这种情况下,本发明采用建立自组连通域的策略,将使得消息更快的到达效用大的移动设备或者目标设备,这样将大大减小网络传输时延;否则转到步骤三。
如图2所示,为连通域的示意图。连通域的域头设备与连通域内的其他的移动设备一起建立连通域。连通域内的域头设备与其他设备相互发送连通域的建立请求和建立响应信号来建立连通域。具体步骤如下:
连通域的建立过程,如图3所示:
1.当移动设备的邻居设备数目大于一个阀值并且其常数C时间内遇到的新设备数目小于一个阀值时,说明该移动设备临近区域网络状况比较稳定,则该移动设备将提出一个建立连通域请求,并标识自己为域头设备。
2.其邻居设备将计算与域头设备的本次相遇时长,若相遇时长大于一个阀值,则回复一个响应消息,响应消息包括设备本身的ID号,效用值列表,到域头设备的下一跳地址。同时标明自己属于该域内移动设备,并转发连通域请求来扩充连通域,其它移动设备同样根据相遇时长判断是否加入域,并回复响应消息;否则邻居设备不回复且不转发请求。
3.经过一段时间后,域头设备将根据收到的响应消息,得到域内所有移动设备的ID号和效用值表,并可计算得出以域头设备为中心的域内路径表,其中U为预测效用值,样式如表二所示:
表二域内效用表
目标设备ID  U2值 U值最大ID号  0  0.72  16  1  0.36  4  2  0.91  13
然后计算Uid=MAX{Upd},其中,d为目标设备的ID号,i为效用值最大设备的ID号,p为域内任意设备id号。同时将得出的域效用值表和域内路径表发送给域内所有设备,如表三所示。
表三域内路径表
设备ID 中间设备ID 域头设备ID  3  4,8  6  4  8  6  8  无  6
4.各域内移动设备将收到的域效用表作为自己的效用表,并且得到并保存域内路径表,当域内移动设备拥有消息时,根据域效用表和路径表将消息直接转发给域内效用值最大的移动设备,建立的连通域示意图如图1。
连通域的维护步骤,如图4所示:
1连通域之间将周期性的互相发送维护的Becon信息来保持链路的连通性。当探测有链路断开时,链路两端移动设备将分别发送一个重建消息来重建链路,为了限制重建消息的扩散范围和对网络带宽的影响,本实施例中限制转发跳数为3。
2其余设备收到重建消息后,将自己的ID号注入重建消息,并将转发跳数减1,且继续向邻居设备转发重建消息,直至转发跳数为零。
3经过一段常数时间后,判断链路断开端是否收到对方设备的重建消息。若收到,则更新域内路径并将重建的路径信息发给域头设备;否则发出重建失败消息给域头设备。
4域头设备若收到重建的路径信息,则更新路径表并且广播路径信息发送给其他设备;若域头设备若收到1个重建失败消息,表明另一个设备已经脱离连通域,这时域头设备重新计算域内路径表和效用表,并将更新的路径信息和效用信息发送给其他域内设备;若域头设备收到2个重建失败消息,表明两设备依然在域内,此时域头设备将更新路径信息并发送给其他域内设备。
5其他域内设备收到更新路径信息或效用信息后,更新自己的域内路径表和效用表。
连通域的解体:
当域头设备常数时间内碰到新设备数目值大于一个阀值时,或者收到的重建成功和失败消息超过一个阀值时,由域头设备发送一个解体请求给域内所有其他移动设备,所有移动设备将成为自由设备设备,并重新计算自己的效用表。
在数据传输过程中,连通域内的移动设备拥有统一的效用值,当消息发送给连通域内的任意设备时,将通过数据转发发送给连通域内对应效用值最大的移动设备。
步骤三:数据源的移动设备首先设置数据拷贝上限并设置原始消息为种子消息,只有拥有种子消息的移动设备才允许复制拷贝,其余拷贝消息将永远处于非拷贝状态。在消息传输过程中,拥有种子消息的移动设备根据预测效用值的变化不断调整种子消息的拷贝上限,其拷贝上限数L=(1-U)×L0,其中L0为初始拷贝上限,若种子消息的已拷贝数小于拷贝上限数L时,则消息处于允许拷贝状态,否则,则处于非拷贝状态。数据源设备每隔T秒发送一次种子消息,其中T选取满足(0~20)秒的均匀分布。
步骤四:拥有消息的移动设备周期性的发送效用值探测包,探测包用来探测邻居设备对应的效用值,包内包含消息的目标地址,用来供邻居设备辅助计算其效用值。
步骤五:邻居设备收到效用值探测包后,若该设备本身就是目标移动设备,则设置效用值为1并回复,此后拥有消息的移动设备将发送消息给该邻居设备,并转到步骤七;否则,若该移动设备属于连通域内设备,则将与目标设备对应的连通域效用值回复给拥有消息的移动设备。若该设备不属于连通域内移动设备,将感知信息表中与消息的目标地址对应的设备效用值打包成响应消息,回复给拥有消息的移动设备。
步骤六:拥有消息的移动设备i查看邻居设备的响应消息,若存在邻居设备k其对应效用值满足:
Uid>Ukd+ΔU,其中ΔU为转发门限。此时,若且消息处于允许拷贝状态,则将种子消息转发给移动设备k,并在复制一份拷贝消息在原移动设备i,并转到步骤四,若消息处于非拷贝状态,则直接将消息转发给移动设备k,不进行消息复制,并转到步骤四。
若Uid<=Ukd+ΔU,则不进行数据转发,转到步骤四。
其中,门限值ΔU将根据网络状况作动态调整,其主要和以下几个因素有关:邻居设备数目,常数时间内相遇新设备数目,设备本身预测效用值。
考虑到网络的实际情况,当区域内设备密度稀疏且设备移动速度较慢的情情况下,总转发机会少,转发门限过大容易浪费机会,从而增大总的传输延时。在区域内设备密集,相对移动速度较快的情况下,总的转发机会比较多,转发门限过小又会导致转发次数增大,不仅会增大网络带宽的耗费和带宽的占用,而且在会导致信道竞争和信号干扰,信息负载较大的场景下,反而可能增大传输延时。当本身效用值比较大的情况下,它的转发必要性就较小,而设备本身效用值较小的情况下,它的转发必要性就较大,故转发门限也应该随着拥有信息设备的U值的变化而变化。所以本实施例中,设置转发门限
ΔU=ΔU×(b1×M+b2×V2+b3×Uid)
其中b1,b2,b3为权值参数,M为邻居设备数目,V2为常数时间内相遇移动设备的数目,Uid为移动设备i本身的效用值。
步骤七:在进行多拷贝传输过程中,若消息有一份拷贝已经到达了目标设备,则其余的拷贝消息在网络中立刻变成了冗余信息。此时,由目标设备广播一个限制TTL的ACK信息,来通知其他拥有该消息拷贝的设备,对该消息进行删除;否则目标设备继续等待,直至收到拷贝为止。ACK消息可以采用Epidemic策略进行转发,且TTL耗尽时删除。
如图5所示,本方法在移动设备较少的情况下,表现出类似Spray and Focus的性能,并且随着设备数目的增多,传输时延逐渐降低,时延性能总体上优于Sprayand Focus和Spray and Wait算法,适合于设备数目变化的各种情况。特别是在移动设备较多的情况下,本方法采用动态调整复制和转发条件的策略,解决了Sprayand Focus算法设备数目较大情况下的信道竞争和干扰等问题,表现出了较好的时延性能。
如图6所示,本方法在移动速度较慢情况下表现出最好的时延性能,解决了Spray And Wait算法此情况下的大时延问题,并且在移动速度增大的情况下,近似最好的时延情况。这是由于在移动速度较慢的情况下,本方法采用了自组连通域的策略,减少了传输时延;在移动速度较快的情况下,本方法采用了自适应复制或转发消息来提高传输成功率,亦表现出不错的时延性能。
如图7所示,本算法随着仿真时间的变化,虽然总转发次数大于Spray AndWait算法的转发次数,但明显小于Spray and Focus算法的转发次数,在网络负载和设备能耗方面表现出较优的性能。