一种代码分发协议中减少干扰冲突的方法转让专利

申请号 : CN201110222321.2

文献号 : CN102355675A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘云浩董玮王继良

申请人 : 无锡儒安科技有限公司

摘要 :

一种代码分发协议中减少干扰冲突的方法,包括评估候选发送节点影响因子的步骤,其具体包括如下步骤:第一步,确定未覆盖邻居节点数目;第二步,评估候选发送节点到所述未覆盖邻居节点之间的链路质量;第三步,计算所述候选发送节点的影响因子。本发明的影响因子计算更加准确,显著降低了传输开销;设计一个基于影响因子的退避机制,减少了干扰冲突的情况,加快了代码分发的完成;当候选发送节点的影响因子差异性较小时,限定只有REQ信息的目的节点才能作为候选发送节点,减少了相同影响因子节点同时发送的冲突;在每个数据包上添加一个名为pendingPktNum的字段,有效的减少了MAC层的竞争延迟和节点间冲突的情况。

权利要求 :

1.一种代码分发协议中减少干扰冲突的方法,其特征在于:包括评估候选发送节点影响因子的步骤,所述评估候选发送节点影响因子的步骤又具体包括如下步骤:第一步,确定未覆盖邻居节点数目;

第二步,评估候选发送节点到所述未覆盖邻居节点之间的链路质量;

第三步,计算所述候选发送节点的影响因子。

2.根据权利要求1所述的代码分发协议中减少干扰冲突的方法,其特征在于:所述第一步中具体包括如下步骤:

1)由网络中已收到代码页的所述发送节点向所述网络中的其他所述发送节点发送ADV消息,告知所述网络中的其他所述发送节点它已收到的并且待分发的代码页;

2)所述网络中未完整获取该代码页的所述发送节点收到所述ADV消息后,向发送所述ADV消息的所述发送节点发出请求消息REQ,并进入代码接收阶段直至所述代码页接收完毕;所有监听到所述REQ消息并且已收到所述代码页的所述发送节点均作为候选发送节点;

3)所述候选发送节点根据所能监听到的所述REQ消息的数量,确定所述未覆盖邻居节点的数目,并且进入权利要求1所述第二步。

3.根据权利要求1所述的代码分发协议中减少干扰冲突的方法,其特征在于:所述第二步中,采用LEEP链路评估交换协议,所述候选发送节点获得所述未覆盖邻居节点发送的信息,并评估所述候选发送节点到所述未覆盖邻居节点的链路质量。

4.根据权利要求1所述的代码分发协议中减少干扰冲突的方法,其特征在于:所述第三步中,所述候选发送节点的影响因子为该所述候选发送节点到所有所述未覆盖邻居节点的链路质量值之和。

5.根据权利要求4所述的代码分发协议中减少干扰冲突的方法,其特征在于:所述第三步中,计算所述候选发送节点到所有所述未覆盖邻居节点的链路质量值之和的具体方法为,结合所述未覆盖邻居节点的数目和所述候选发送节点到各所述未覆盖邻居节点的链路质量,所述候选发送节点的影响因子为所述影响因子越大,则该所述候选发送节点越适合成为下一个发送节点。

6.根据权利要求1所述的代码分发协议中减少干扰冲突的方法,其特征在于:在每个数据包上添加一个名为pendingPktNum的字段,以表示代码发送节点尚未发送的数据包数量,根据这一数值及每个数据包发送的时间,计算当前发送的代码页的结束时间,并对齐所述网络内各个所述发送节点的评估周期。

7.根据权利要求6所述的代码分发协议中减少干扰冲突的方法,其特征在于:计算当前发送的代码页的结束时间的具体公式为tpage=tpkt·pendingPktNum (2)在等待tpage时间后,未进行发送的所述候选节点可重新进入评估状态,在代码分发过程中,可多次计算tpage的值,以使代码分发结束时间的估计更为准确。

8.根据权利要求1所述的代码分发协议中减少干扰冲突的方法,其特征在于:还包括所述候选发送节点竞争成为发送节点的竞争步骤,当评估候选发送节点影响因子的步骤结束后进入所述竞争步骤;在所述竞争步骤中所述通过设计一个基于影响因子的退避机制,使得具有最大影响因子的所述候选发送节点最有可能先进入代码发送状态,而其他所述候选发送节点则进入空闲状态。

9.根据权利要求8所述的代码分发协议中减少干扰冲突的方法,其特征在于:所述退避机制的设置方法为,假设最大未覆盖邻居节点数目为N,最长竞争周期为CWcontention,设计候选节点u的退避时间为tbackoff(u)=(N-χ(u))Δ+X (3)这里,X为[0,CWX)之间的随机数,

10.根据权利要求1至9任意之一所述的代码分发协议中减少干扰冲突的方法,其特征在于:当所述候选节点的影响因子差异不大时,须严格控制所述候选节点的数量,当网络中只有少数的所述REQ信息时,则网络中的大部分所述候选节点已收到所述代码页,这时只把所述REQ信息的目的节点作为所述候选节点。

说明书 :

一种代码分发协议中减少干扰冲突的方法

技术领域

[0001] 本发明属于无线通信技术领域,特别是涉及到一种代码分发协议中减少干扰冲突的方法。

背景技术

[0002] 微机电系统和无线通信技术上的新进展推动了无线传感器网络(WSN)的快速发展。WSN应用中常常需要在开发完成后重新配置参数或修改节点程序。由于实际条件的限制,对节点重编程非常困难,因此无线重编程就成为解决这一问题的一项关键技术。代码分发技术是无线重编程技术的一个基本组成部分。现有的代码分发协议(以Deluge协议和MNP协议为代表)采用了多项关键技术以确保高可靠性和高性能,但现有协议的发送节点选择算法并没有考虑链路质量信息,导致了干扰冲突和分发延迟长的问题。此外,在发送节点发送数据时,可能会出现因数据并发传送而导致的重发和干扰。

发明内容

[0003] 本发明的目的在于设计一种新型的代码分发协议中减少干扰冲突的方法,解决上述问题。
[0004] 为了实现上述目的,本发明采用的技术方案如下:
[0005] 一种代码分发协议中减少干扰冲突的方法,包括评估候选发送节点影响因子的步骤,所述评估候选发送节点影响因子的步骤又具体包括如下步骤:
[0006] 第一步,确定未覆盖邻居节点数目;
[0007] 第二步,评估候选发送节点到所述未覆盖邻居节点之间的链路质量;
[0008] 第三步,计算所述候选发送节点的影响因子。
[0009] 所述第一步中具体包括如下步骤:
[0010] 1)由网络中已收到代码页的所述发送节点向所述网络中的其他所述发送节点发送ADV消息,告知所述网络中的其他所述发送节点它已收到的并且待分发的代码页;
[0011] 2)所述网络中未完整获取该代码页的所述发送节点收到所述ADV消息后,向发送所述ADV消息的所述发送节点发出请求消息REQ,并进入代码接收阶段直至所述代码页接收完毕;所有监听到所述REQ消息并且已收到所述代码页的所述发送节点均作为候选发送节点;
[0012] 3)所述候选发送节点根据所能监听到的所述REQ消息的数量,确定所述未覆盖邻居节点的数目,并且进入权利要求1所述第二步。
[0013] 所述第二步中,采用LEEP链路评估交换协议,所述候选发送节点获得所述未覆盖邻居节点发送的信息,并评估所述候选发送节点到所述未覆盖邻居节点的链路质量。
[0014] 所述第三步中,所述候选发送节点的影响因子为该所述候选发送节点到所有所述未覆盖邻居节点的链路质量值之和。
[0015] 所述第三步中,计算所述候选发送节点到所有所述未覆盖邻居节点的链路质量值之和的具体方法为,结合所述未覆盖邻居节点的数目和所述候选发送节点到各所述未覆盖邻居节点的链路质量,所述候选发送节点的影响因子为
[0016]
[0017] 所述影响因子越大,则该所述候选发送节点越适合成为下一个发送节点。
[0018] 在每个数据包上添加一个名为pendingPktNum的字段,以表示代码发送节点尚未发送的数据包数量,根据这一数值及每个数据包发送的时间,计算当前发送的代码页的结束时间,并对齐所述网络内各个所述发送节点的评估周期。
[0019] 计算当前发送的代码页的结束时间的具体公式为
[0020] tpage=tpkt·pendingPktNum (2)[0021] 在等待tpage时间后,未进行发送的所述候选节点可重新进入评估状态,在代码分发过程中,可多次计算tpage的值,以使代码分发结束时间的估计更为准确。
[0022] 还包括所述候选发送节点竞争成为发送节点的竞争步骤,当评估候选发送节点影响因子的步骤结束后进入所述竞争步骤;在所述竞争步骤中所述通过设计一个基于影响因子的退避机制,使得具有最大影响因子的所述候选发送节点最有可能先进入代码发送状态,而其他所述候选发送节点则进入空闲状态。
[0023] 所述退避机制的设置方法为,假设最大未覆盖邻居节点数目为N,最长竞争周期为CWcontention,设计候选节点u的退避时间为
[0024] tbackoff(u)=(N-χ(u))Δ+X (3)[0025] 这里,X为[0,CWX)之间的随机数,
[0026] 当所述候选节点的影响因子差异不大时,须严格控制所述候选节点的数量,当网络中只有少数的所述REQ信息时,则网络中的大部分所述候选节点已收到所述代码页,这时只把所述REQ信息的目的节点作为所述候选节点。
[0027] 本发明为提高发送节点选择的准确性,可以考虑一跳邻居节点的链路质量,并根据未覆盖邻居节点数量和候选发送节点到这些邻居节点的链路质量来评估候选发送节点的影响因子。这一设计考虑到低数据接收率节点的存在,可以减少网络中数据包的传送量。此外,在发送节点发送数据时,可能会出现的因数据并发传送而导致的重发和干扰,一个解决方法是确定代码发送节点分发数据的优先级,使得影响因子最大的节点最有可能首先进行代码分发状态,而其他候选发送节点则进入空闲状态。
[0028] 本发明在每个数据包上添加一个名为pendingPktNum的字段,是指在每个所述ADV消息或所述REQ消息的数据包上添加一个名为pendingPktNum的自定义的字段。
[0029] 本发明中有关的技术术语如下:
[0030] WSN-无线传感器网络(Wireless Sensor Network)
[0031] MNP-多跳网络重编程协议(Multi-hop Network Reprogramming)[0032] Deluge-一种可靠的数据分发协议
[0033] LEEP-链路评估交换协议(Link Estimation Exchange Protocol)[0034] ADV-发送消息(advertisement)
[0035] REQ-请求消息(request)
[0036] χ(u)-候选发送节点u的影响因子
[0037] U(u)-候选发送节点u的未覆盖邻居节点的集合
[0038] p(u,k)-候选发送节点u到未覆盖邻居节点k的链路质量
[0039] tpkt-发送一个数据包所需的时间,采用经验模型估计
[0040] tpage-当前代码页分发结束所需时间的估计值
[0041] CWX-随机退避时间的最大值
[0042] CWcontention-竞争周期的最大值
[0043] 本发明的有益效果如下:
[0044] (1)本发明在计算候选发送节点的影响因子时,不仅考虑了未覆盖邻居节点的数量,还考虑了候选节点到未覆盖邻居节点的链路质量。与现有方法相比,本发明的影响因子计算更加准确,显著降低了传输开销。
[0045] (2)本发明中设计一个基于影响因子的退避机制,在其他条件不变时,影响因子越大则退避时间越小,从而使影响因子最大的节点最有可能率先进入代码分发状态,而其他候选发送节点进入空闲状态,减少了干扰冲突的情况,加快了代码分发的完成。
[0046] (3)本发明中当候选发送节点的影响因子差异性较小时,限定只有REQ信息的目的节点才能作为候选发送节点,这样就减少了候选发送节点的数目,减少了相同影响因子节点同时发送的冲突情况。这一优点在代码分发的末期,即大部分节点已经收到当前代码页时非常突出。
[0047] (4)本发明中在每个数据包上添加一个名为pendingPktNum的字段来表示代码发送节点还未发送的数据包数量。当邻域内有一个节点在进行代码分发时,其他候选发送节点将根据pendingPktNum来估计该节点代码分发完毕所需要的时间。这样可以有效的减少了MAC层的竞争延迟和节点间冲突的情况。

附图说明

[0048] 图1是代码分发时节点的状态转换图。
[0049] 图2是影响因子与退避时间的关系示意图。

具体实施方式

[0050] 为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0051] 以下结合如图1、2具体说明本发明的具体实施过程:
[0052] 1)确定未覆盖邻居节点的数目时,由已收到代码页的节点发送ADV消息,告知网络中的其他节点它收到的代码页。未完整获取该代码页的节点收到ADV消息后,发现自己未接收本代码页或接收不完整,便发送请求消息REQ,并进入代码接收阶段直至该代码页接收完毕。所有可以监听到REQ消息并有被要求代码页的节点为候选发送节点。候选发送节点根据监听到的REQ消息的数量,确定未覆盖邻居节点的数目。候选发送节点监听到REQ消息后进入评估周期(如图1所示)。
[0053] 2)评估链路质量时,采用LEEP链路评估交换协议。节点A通过接收的发送信息评估其他节点到它链路质量,即接收到的发送信号数和实际发送的发送信号数的比值。节点A到其他节点的链路质量,由其他节点评估后传递给节点A。
[0054] 3)计算候选发送节点的影响因子时,结合未覆盖邻居节点的数目和到各未覆盖邻居节点的链路质量,候选发送节点的影响因子为
[0055]
[0056] 影响因子越大,则该节点越适合成为下一个发送节点。
[0057] 4)为保证竞争的公平性,必须对齐领域内节点的评估周期。我们在每个数据包中添加一个名为pendingPktNum的字段,以表示发送节点还未发送的数据包数量。根据这一信息和每个数据包发送所需的时间tpkt,我们可以估计出代码分发结束所需的时间[0058] tpage=tpkt·pendingPktNum (2)[0059] 在等待tpage时间后,未进行发送的候选节点可重新进入评估状态。在代码分发过程中,可多次计算tpage的值,以使代码分发结束时间的估计更为准确。
[0060] 5)如图1所示,评估周期结束后,候选发送节点进入竞争周期。这里,通过设计一种基于影响因子的退避机制,使得影响因子最大的候选发送节点最有可能率先进入代码分发状态,而其他候选发送节点则进入空闲状态。假设最大未覆盖邻居节点数目为N,最长竞争周期为CWcontention,设计候选节点u的退避时间为
[0061] tbackoff(u)=(N-χ(u))Δ+X (3)
[0062] 这里,X为[0,CWX)之间的随机数, 如附图2所示,影响因子最大的节点将最有可能首先进入代码分发阶段,而其他节点将进入空闲状态。与MNP协议相比,本方法无需经过多轮数据交换,有效的降低了通讯负载和干扰冲突,缩短了代码分发完成时间,提高了效率。
[0063] 6)作为一种特殊情况,当候选节点的影响因子差异不大时,为减少由影响因子相同造成的并发发送冲突,必须严格控制候选节点的数量。当网络中的只有少数的REQ信息时,网络中的大部分节点已收到当前的代码页,这时我们只把REQ信息的目的节点作为候选节点,而不是把拥有该请求页的所有能听到REQ信息的节点作为候选节点。这样,在代码分发的末段,候选节点的数目被严格限制,从而有效的减少了并发传送导致的冲突。
[0064] 以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。