一种无线自组织网中开销可控的高效协作预约方法

文档序号:7890642阅读:127来源:国知局
专利名称:一种无线自组织网中开销可控的高效协作预约方法
技术领域
本发明涉及无线通信技术领域,尤其是实时业务传输方法。
背景技术
无线自组织网络(Ad hoc网络)是由一群同等级节点构成的无线多跳网络,每个节点具备自己的无线收发装置,各节点依靠相互协调进行信道的接入和数据分组的传输, 网络中不包含任何中心控制节点与基础设施。这种网络的组建成本低,抗毁性强,组网速度快,应用领域广泛。随着无线网络技术的不断发展,一些具有特殊服务质量要求的业务在Ad hoc网络中的传输逐渐成为人们研究的热点,如多媒体实时业务,其数据分组的产生具有周期性,对传输延迟的要求较高。然而在一般情况下,Ad hoc网络中的节点采取随机竞争的方式接入信道,分组冲突随网络负载的增加而增加,实时业务的性能得不到保证。合理的MAC协议可以有效减小多次重传带来的延迟和丢包问题,提高多媒体业务访问的成功率。当前广泛用于Ad Hoc网络的MAC协议是802. 11工作组制定的IEEE802. Ila DCF,采用载波侦听冲突避免(CSMA/CA)机制,节点以随机退避的方式公平竞争信道。然而由于所有业务的优先级相同,当业务量较大,冲突严重时,实时业务的误帧率和传输延迟较大。针对此问题,802. 11工作组提出了 IEEE 802. Ile标准,将四种类型的数据按照信道竞争的优先权差异分为八个优先级,实时业务的优先权较高,普通业务的优先权较低。这种方法沿袭了基本的退避机制和竞争方式,难以从本质上克服网络负载较大时的分组冲突问题。基于对信道接入模式的改进,C. R. Lin和M. Gerla提出了信道预约思想(MACA/ PR)。该思想中,实时业务在发送当前实时分组的同时,将下一周期数据分组传输所需的信道使用时段(即预约信息,CRI)随分组一并广播出去,邻节点通过对CRI的解析,获得实时业务的信道使用时段,当自己有业务时,挑选此时段以外的时间进行随机竞争接入。基本预约机制(MACA/PR)的性能瓶颈在于预约信息是否能被其载波侦听范围内所有可能与之发生冲突的邻节点获得(由于冲突或信道衰落等原因,一旦这些邻节点无法获得预约信息, 则很可能在实时业务的预约时段内进行自己分组的传输,从而与实时分组发生冲突,导致实时分组误帧,预约因此失败)。基于以上考虑,发明专利“ZL200810017368. 3”提出了多步预约的概念,通过对单条CRI的1)次广播,提高冲突情形下的预约可靠性。然而,物理信道中,信号的传播范围分为传输范围与载波侦听范围两种,传输范围位于载波侦听范围以内并小于载波侦听范围,传输范围以外、载波侦听范围以内的区域称为干扰区域。位于发送节点传输范围内的邻节点能够以一定的概率正确接收其发送的分组,多步预约在一定程度上提高了实时业务在这个区域内的预约可靠性;而位于发送节点干扰区域内的邻节点无法正确接收其发送的分组,当该分组为实时分组时,邻节点则无法获得其中的CRI,从而可能对实时发送节点造成干扰,这是基本预约和多步预约均无法解决的问题。
针对以上问题,专利申请“201110045090. 2”提出了协作预约的思想,即通过邻节点对CRI的协作转发,增加CRI在预约节点载波侦听范围内的覆盖率。该方法不仅提高了传输范围内的预约可靠性,更解决了专利“ZL200810017368. 3”中CRI无法被干扰区域内邻节点获得的问题。在此基础上,专利申请“201110257464. 7” (以下简称基本协作预约)给出了针对被协作转发CRI的优化选择方法,在一定程度上提升了协作效率。然而由于CCRI (协作预约信息,CRI被转化为CCRI后,方可被协作转发)需要被携带在节点自身的分组中发送,有限的分组业务量决定了协作机会也是有限的,在此情况下,基本协作预约对协作效率的改进幅度也是有限的。

发明内容
为了克服现有技术的不足,本发明提供一种高效协作预约方法,在控制协作开销的同时,通过增加CCRI信息量和提高单次协作转发的CCRI个数两个途径来提升协作效率, 进而增强信道预约的可靠性和稳定性。本发明以基本信道预约和基本协作预约为基础。为方便描述本专利的内容,下面先对与本发明有关的基本信道预约和基本协作预约的原理进行概述,随后给出本专利发明内容的技术原理所有非实时数据分组(D-PKT)和未预约的实时数据分组(R-PKT)均采用 IEEE802. IlDCF 方式(即竞争模式,采用 RTS/CTS/D-PKT/D-ACK 或 RTS/CTS/R-PKT/R-ACK 握手,D-ACK和R-ACK分别为非实时和实时业务的确认分组)接入信道。一旦R-PKT在竞争模式下发送成功,后续周期的R-PKT转为预约模式(采用R-PKT/RACK握手)接入信道。若在预约模式下发送失败,则转回竞争模式重发,待发送成功后,后续周期的R-PKT转为预约模式接入信道。信道预约由R-PKT和R-ACK的发送者发起,R-PKT和R-ACK中携带有分组发送者的CRI。通过对R-PKT的侦听,邻节点将CRI记录在自己相应的预约表中。在预约表中的各预约时段内,节点将避免使用信道。协作预约由D-PKT和R-PKT的发送者发起。发送这类分组前,发送者从预约表中挑选CRI,形成CCRI后放入待发送分组内一并发送(若预约表为空则直接发送该分组)。任何侦听到此类分组的邻节点解析其中的CCRI,当发现自己与预约发起者的距离小于协作门限时,便将CCRI转化为CRI存入自己相应的预约表(若预约表中已经存在与此CCRI对应的CRI则什么都不做)。预约表分为发送预约表和接收预约表两种。发送预约表记录周围R-PKT发送者将在某段时间使用信道的信息;接收预约表记录周围R-ACK发送者将在某段时间使用信道的信息。每张预约表中可包含多个按时间顺序排列的CRI,预约开始时间距离当前时刻最近的 CRI为预约表的第一条CRI,以此类推。每条CRI由5个元素组成“预约开始时间”、“预约结束时间”、“预约发起者位置”、“被协作次数”和“是否已选”。“预约开始时间”和“预约结束时间”代表此次预约占用信道的起始和终止时间,每条CRI的“预约开始时间”和“预约结束时间”构成一个预约时段。节点在竞争模式下完成退避后,需查询预约表,若自己此次传输所需的时间与各预约时段不重合,则接入信道,否则重新退避。“预约发起者位置”用来供节点计算自己与这个预约发起者的距离,从而判断自己的信号是否会对这个预约发起者的分组传输造成干扰。“被协作次数”代表自己选择此CRI进行协作转发的次数。“是否已选” 代表节点挑选多个CRI进行协作时,此CRI是否已被挑选。“预约开始时间”、“被协作次数” 和“是否已选”共同成为节点选择CRI进行协作转发时的参考因素。本发明的技术原理描述如下协议运行前,根据用户指定的协作开销门限(即协作转发耗时与收发节点单次通信时长之比的最大值)计算单次协作可携带的CCRI条数的最大值nmx。发送数据分组前,节点对预约表中的CRI进行选取,构造出a条CCRI放入待发送分组内nMX),随分组一并发送。每选取某CRI —次,认为该CRI被协作转发的次数加1。侦听到数据分组时,若其携带有CCRI,则对每1条CCRI进行解析,将预约发起者与自己之间距离小于协作距离门限d。。的CCRI转化为CRI,存入预约表。节点对CRI的选取遵循三条准则一、被协作转发次数最少的CRI具有被选取的优先权;二、在多个被协作转发次数同时最少的CRI中,预约开始时间距离当前时刻最近的 CRI具有被选取的优先权;三、被选取的CRI不得相同。本发明解决其技术问题所采用的技术方案包括以下步骤 情况1 协议初始化时,计算单次协作中可携带的CCRI条数的最大值nMX。步骤1 在不携带CCRI的情况下,分别计算竞争模式(采用IEEE 802. 11 DCF的握手方式RTS/CTS/H(T/ACK)和预约模式(采用MACA/PR的预约时段握手方式PKT/ACK) 的握手时长Thandshake—。和Thandshakg,见公式(1)_0)。转入步骤2。 Thandshake c = Tets+Tcts+Tpkt+Tack+DIFS+3 X SIFS(1)Thandshaker = Tpkt+Tack+SIFS(2)其中,Tets, Tcts和TAeK分别为RTS、CTS和ACK的传输时长,Tpkt为数据分组的传输时长(未携带CCRI的情况下),DIFS和SIFS为IEEE 802. 11 DCF标准中的帧间间隔。步骤2 读取协作开销门限r。r的定义见公式(3),其中 ;。为因携带CCRI而增加的分组传输时长的最大值。由公式⑶推导得到不同接入模式下的T。。,即T。。。(竞争模式) 和U预约模式),见公式(4)-(5)。转入步骤3。r = TC0/(Thandshake+TC0)(3)Tco_c = (rX Thandshakec) / (1τ)(4)Tco r = (rXThandshake r)/(It)(5)步骤3 :由公式(6)得到传输单条CCRI所需的时长Trail,其中Lengthrail为单条 CCRI的长度,RatePKT为携带CCRI的数据分组的传输速率。转入步骤4。Tccei = LengthCCEI/RatePKT(6)步骤4 由公式(7)-(8)得到不同接入模式下,单次可携带的CCRI条数的最大值 nmx_c (竞争模式)和(预约模式),其中[X]表示不大于X的最大整数。nmxc = [Tcoc/TCCEI](7)nmx_r = [Tco_r/TCCEI](8)本情况的处理结束。 情况2 实时节点发送实时业务的数据分组(以下简称R-PKT)或非实时节点发送非实时业务的数据分组(以下简称D-PKT)前,对CRI的选择和CCRI的构造。步骤1 :S (S表示此情况中的实时或非实时节点)更新自己的发送预约表和接收预约表(即删除发送预约表和接收预约表中所有预约开始时间在当前时间之前的CRI),并将所有的CRI标记为未选。转入步骤2 ;步骤2 =S检查两张预约表,若这两张预约表中均无标记为未选的CRI,则直接发送该分组,本情况的处理结束;否则在所有标记为未选的CRI中,选择“被协作次数”(即S曾经协作转发该CRI的次数)最小的一条CRI作为提取CCRI的对象。若有多条标记为未选的CRI的“被协作次数”同时最小,则在其中选择“预约开始时间”离当前时刻最近的一条 CRI作为提取CCRI的对象。若发送和接收预约表中各有一条标记为未选的CRI的“被协作次数”同为最小,且它们的预约开始时间一样,则选择发送预约表中的CRI作为提取CCRI的对象。转入步骤3 ;步骤3 :S给被选中的CRI的“被协作次数”加1,并标记此CRI为已选。然后将其 “预约开始时间”与当前时间的时间差(预约时差),以及“预约发起者位置”(即该CRI的预约发起者的地理位置信息)作为一条主CCRI (简称为CCRIa)。然后,S检查另一张预约表(即除被选中CRI所在预约表的另一张预约表)是否为空,若不为空则转入步骤4,否则转入步骤5 ;步骤4 =S遍历另一张预约表,在所有标记为未选的CRI中寻找与刚才选出的那条 CRI的“预约开始时间”相同、“预约发起者位置”不同的CRI,若不存在这样的CRI或所有的 CRI均为已选,则转入步骤5 ;否则S给这条CRI的“被协作次数”加1,并标记此CRI为已选,再将其“预约发起者位置”作为步骤3中CCRI的辅CCRI (简称为CCRIb)。转入步骤5 ;步骤5 =S将对应的CCRIa与CCRIb组合为一条CCRI (不改变CCRIa与CCRIb的内容)(若没有对应的CCRIB,则CCRIa单独构成一条CCRI),S将CCRI放入待发送的R-PKT或 D-PKT分组内;接着,S判断已生成的CCRI条数是否小于nmx,若小于则转入步骤2 ;否则发送此分组,本情况的处理结束。 情况3 节点收到R-PKT或D-PKT时,对其携带的CCRI的处理。步骤1 :R(此处用R代表本情况中的节点)更新自己的发送预约表和接收预约表, 转入步骤2 ;步骤2 :R判断此R-PKT或D-PKT分组中是否存在未处理的CCRI,若存在则转入步骤3,否则按IEEE802. IlDCF的处理方法处理该分组,本情况的处理结束;步骤3 =R处理第1条未处理CCRI中的CCRIa 由CCRIa的预约发起者位置计算得出自己与预约发起者的距离。若距离大于协作距离门限d。。(本专利中d。。等于载波侦听范围半径d。)则忽略该CCRIa,否则进一步计算该CCRIa的预约开始时间start和预约结束时间、sv—md。、sv stmt和trev md的计算方法见公式(9)-(10),其中Τκ_ρκτ和TK_ACX为R-PKT和 R-ACK的传输时长,Tpkt send为携带此CCRI的分组的发送时间(从该分组MAC头中获取), Trsv period为CCRIa的预约时差。
「0044 T=T +T⑷
i_wr~r」 1ITSV-Start 1 PKT_send 1 rsv_period^c7/Trsv—end = Trsv_ _start+TE-PKT+S IFS+Tr_ack(10)然后,R将trev stot、trev end和CCRIa的预约发起者位置作为一条CRI存入相应预约表,若预约表中已存在相同的CRI则什么也不做。转入步骤4 ;步骤4 =R判断此CCRI中是否有CCRIb,有则转入步骤5,否则转入步骤2 ;步骤5 =R处理该CCRI中的CCRIb 由CCRIb的预约发起者位置计算得出自己与预
7约发起者的距离。若距离大于协作门限则忽略该CCRIb,否则将该CCRIb的预约发起者位置与t,sv—sta,t和trev end作为一条CRI存入相应预约表,若预约表中已存在相同的CRI则什么也不做。转入步骤2。本发明的有益效果是本发明增加了有限协作机会下CRI被协作转发的次数,将协作转发CRI带来的开销控制在用户给定的范围内。下面结合附图和实施例对本发明进一步说明。


图1是本发明对预约业务性能产生的有益效果;图2是本发明对非预约业务性能的影响;图3是R-PKT和D-PKT的帧格式;图4是CCRI的帧格式;图5是与具体流程说明对应的网络拓扑。
具体实施例方式本发明提出一种开销可控的高效协作预约方法,在进一步提升协作效率的同时, 将协作开销控制在用户给定范围内。本方法兼容IEEE 802. 11标准,工作在异步多跳无线通信网络下,支持分布式工作方式,无需中心控制器的介入,可以作为无线网卡固件的一部分或作为网卡驱动程序的一部分加以实现。下面结合实例,在基于IEEE 802. Ila协议的Ad Hoc网络中对其进行详细说明。一、帧格式D-PKT和R-PKT的具体帧格式见图3 其中,“是否协作”代表此分组是否携带CCRI, “0”代表未携带,“1”代表携带;“自身位置”代表此分组发送者的位置(只有R-PKT具有此域);“CCRI条数”代表该分组携带的CCRI个数(只有当“是否协作”为“1”时具有此域); “CCRI”用来存放CCRI (只有当“是否协作”为“1”时具有此域)。设“CCRI”域包含a条 CCRI (0彡a彡nMX),且这a条CCRI中有b条包含CCRIb (0彡b彡a),则该域的长度Lengthra 计算见公式(11)。Lengthco = aX (1+1+14+16)+bX 16(11)每条CCRI的帧格式见图4。其中“协作类型”表示此CCRI中是否携带CCRIb, “0” 代表未携带,“1”代表携带;“预约类型”代表此CCRI中CCRIa的预约类型,“0”代表来自发送预约表,“1”代表来自接收预约表;“预约时差”为CCRIa的预约开始时间与当前时间的时间差,单位为10 μ s ;“预约位置Α”为CCRIa的预约发起者位置,单位为IOm ;“预约位置Β”为 CCRIb的预约发起者位置(仅当“协作类型”为“1”时才存在“预约位置Β”),单位为10m。本专利使用IEEE802. IlMAC头帧格式中“帧控制”域的“协议”子域O比特)的第1个比特位作为“是否协作”域;征用数据分组帧格式中“地址4”域的前16个比特作为 “自身位置”域;征用数据分组帧格式中“地址4”域的第17 M个比特作为“CCRI条数” 域。D-PKT、R-PKT、D-ACK和R-ACK这四种分组的分组类型由以下方法标识采用IEEE802.11 MAC头的帧格式,当“类型”域的值为“10”(即表示此分组为数据分组)时,“子类型”域的值“0000”表示此分组为D-PKT,“子类型”域的值“1000”表示此分组为R-PKT ;当 “类型”域的值为“01” (即此分组为控制分组)时,“子类型”域的值“1101”表明此分组为 D-ACK,“子类型”域的值“0000”表明此分组为R-ACK。二、具体操作流程1.网络拓扑设置考虑如图5所示的网络拓扑,其中dt代表传输范围半径,d。代表载波侦听范围半径,取协作门限CL等于d。。本实例中设屯为100米,d。为400米,则协作距离门限d。。= 400m。发送节点传输范围内的节点以一定的概率ρ正确收到发送端发送的分组(本例中假设P = l)。黑色圆点代表网络中的节点,节点间的箭头代表数据分组的发送方向。A(100, 50) ^P B (200, 50)代表非实时发送节点和非实时接收节点,R1 (100,0)、R2 (0,100)和R3 (50, 50)代表实时发送节点,R/ (50,0), ' (50,100)和R/ (0,50)代表实时接收节点(括号中的值代表该节点在网络中的坐标,单位为米)。从图5可以看出,AJ^HR1'、IV和R/均位于B的协作距离门限范围(即载波侦听范围)以内,B、礼、R1 ’、R2'和R3位于A的传输范围以内,A和R1位于B的传输范围以内。2.操作过程设D-PKT和R-PKT的长度为IOM字节。采用IEEE 802. Ila为标准,令数据分组的调制方式为64-QAM,编码速率为2/3,传输速率为48Mbps (即RatePKT = 48Mbps),控制分组的调制方式为16-QAM,编码速率为1/2,传输速率为24Mbps。则可以得到Tkts = 28μ s, Tcts = 28 μ s、Tpkt = 200 μ s、Tack = 28 μ s、SIFS = 16 μ s、DIFS = 34 μ s。设实时业务周期T = 30ms,用户给定的协作开销门限r = 0.01。由CCRI的帧格式可以得到Lengthcciil = 48bit (设CCRI中包含CCRIb)。设在时刻tQ = 0. 02s =A的发送预约表中有队和R3的CRI,见表1 ;A的接收预约表中有R/和IV的预约信息,见表2 ;B的发送预约表中有R1的预约信息,见表3。设非实时发送节点A在、=0. 021s时刻发送D-PKT,非实时接收节点B在t2 = 0. 0212s时刻收到A的D-PKT。下面分t初始化(协议的初始化时间)、、和t23个不同时刻对具体操作过程中的情况1、情况2和情况3进行说明 情况1 在协议初始化时,计算单次协作中可携带CCRI条数的最大值nMX(此情况针对网络中的所有节点)。步骤1 在时刻tWg,由公式(1)-(2)分别得到竞争模式和预约模式的握手时长
Thandshake—c 禾口 Thandshake—r。转入少骤 2。Thandshake c = Tets+Tcts+Tpkt+Tack+DIFS+3 X SIFS = 366 μ sThandshake r = Tpkt+Tack+SIFS = 244 μ s步骤2 读取协作开销门限r = 0. 01。由公式(4)-(5)得到Tra。(竞争模式)和 T。。J预约模式)。转入步骤3。Tc。c = (rX Thandshake c) / (1-r) = 3. 6970 μ s
T⑶ r = (rXThandshake r) / (1-r) = 2. 4646 μ s 步骤3 :由公式(6)得到传输单条CCRI所需的时长Trail,其中Lengthrail为单条CCRI的长度,RatePKT为携带CCRI的数据分组的传输速率。转入步骤4。Tccei = LengthCCEI/RatePKT =Ius步骤4 由公式(7)-(8)得到不同接入模式下,单次可携带的CCRI条数的最大值 Hmax c (竞争模式)和r (预约模式)。nmxc = [Tcoc/TCCEI] = 3nmx_r = [Tco_r/TCCEI] = 2 情况2 非实时节点A发送D-PKT前,对CRI的选择和CCRI的构造(实时节点发送R-PKT前对CRI的选择和CCRI的构造与非实时节点发送D-PKT时的步骤基本一致,不同之处在本实施例中有说明)。步骤1 在时刻、=0. 021s,A更新自己的发送预约表和接收预约表,并将所有的 CRI标记为未选。转入步骤2;步骤2 :A检查两张预约表,此时发送预约表见表1,接收预约表见表2。发现两张预约表中的所有CRI均标记为未选,且所有CRI的“被协作次数”均为0。则进一步在“预约开始时间”离当前时刻0. 021s最近的两条CRI中选择发送预约表中的第1条CRI作为提取CCRI的对象。转入步骤3 ;步骤3 :A给被选中CRI的“被协作次数”加1,并标记此CRI为已选,此时A的发送预约表内容见表4。然后A将其“预约开始时间”(0.031s)与当前时间(0.021s)的时间差 (0.01s),以及“预约发起者位置”(100,0)作为1条主CCRI (CCRIa)。然后,A检查接收预约表,发现其不为空,则转入步骤4 ; 步骤4 =A遍历接收预约表(表2),发现存在与步骤3中选出的那条CRI的“预约开始时间”相同、“预约发起者位置”不同的CRI,则A给这条CRI的“被协作次数”加1,并标记此CRI为已选,此时A的接收预约表内容见表5。然后A将此CRI的“预约发起者位置” (50,0)作为作为步骤3中CCRI的辅CCRI (CCRIb)。转入步骤5 ;步骤5 =A将对应的CCRIa与CCRIb合成为1条CCRI,放入分组内。此时设置D-PKT 帧格式中“CCRI”域的第1条CCRI “协作类型”为“1”;“预约类型”为“0”;由于预约时差为0.01s,则“预约时差”为“00 0011 1110 1000”;由于CCRIa的预约发起者坐标为(100, 0),则“预约位置/’为“0000 1010 0000 0000”;由于CCRIb的预约发起者坐标为(50,0), 则“预约位置B”为“0000 0101 0000 0000”。由于已生成的CCRI条数为1,小于nMX。(nMX 。=3),则转入步骤2 (为避免重复,此时的步骤2称为步骤2_2)。步骤2_2 :A检查两张预约表,此时发送预约表见表4,接收预约表见表5。发现两张预约表中共有两条CRI标记为未选,且这两条CRI的“被协作次数”均为0,则进一步选择 “预约开始时间”离当前时刻0. 021s最近的CRI,即接收预约表的第2条CRI作为提取CCRI 的对象。转入步骤3 (为避免重复,此时的步骤3称为步骤3_2);步骤3_2 =A给被选中CRI的“被协作次数”加1,并标记此CRI为已选,此时A的接收预约表内容见表6。然后A将其“预约开始时间”(0.032s)与当前时间(0.021s)的时间差(0.011s),以及“预约发起者位置” (50,100)作为1条主CCRI (CCRIa)。然后,A检查发送预约表,发现其不为空,则转入步骤4 (为避免重复,此时的步骤4称为步骤4_2);步骤4_2 :A遍历发送预约表(表4),发现不存在与步骤3_2选出的那条CRI的“预约开始时间”相同、“预约发起者位置”不同的CRI,则转入步骤5(为避免重复,此时的步骤4称为步骤5_2);步骤5_2 由于没有对应的CCRIb,CCRIa单独构成1条CCRI,被放入分组内。此时设置D-PKT帧格式中"CCRI,,域的第2条CCRI “协作类型”为“0” ;“预约类型”为“ 1 ” ;由于预约时差为0.011s,则“预约时差”为“00 0100 0100 1100”;由于CCRIa的预约发起者坐标为(50,100),则“预约位置4”为“0000 0101 0000 1010”;不存在“预约位置B”域。由于已生成的CCRI条数为2,小于nMX。(nMX。= 3),则转入步骤2 (为避免重复,此时的步骤 2称为步骤2_3)。步骤2_3 :A检查两张预约表,此时发送预约表见表4,接收预约表见表6。发现只有1条CRI标记为未选,则选择发送预约表的第2条CRI作为提取CCRI的对象。转入步骤 3 (为避免重复,此时的步骤3称为步骤3_3);步骤3_3 :A给被选中CRI的“被协作次数”加1,并标记此CRI为已选,此时A的发送预约表内容见表7。然后A将其“预约开始时间”(0.033s)与当前时间(0.021s)的时间差(0. 012s),以及“预约发起者位置”(50,50)作为1条主CCRI (CCRIa)。然后,A检查接收预约表,发现其不为空,则转入步骤4 (为避免重复,此时的步骤4称为步骤4_3);步骤4_3 :A遍历接收预约表(表6),发现所有的CRI已标记为已选,则转入步骤 5 (为避免重复,此时的步骤5称为步骤5_3);步骤5_3 由于没有对应的CCRIb,CCRIa单独构成1条CCRI,被放入分组内。此时设置D-PKT帧格式中“CCRI”域的第3条CCRI “协作类型”为“0” ;“预约类型”为“0” ;由于预约时差为0.01 ,则“预约时差”为“00 0100 1011 0000”;由于CCRIaW预约发起者坐标为(50,50),则“预约位置4”为“0000 0101 0000 0101” ;不存在“预约位置B”域。由于已生成的CCRI条数为3,等于nmx。,则进一步设置D-PKT帧格式中的相关域“是否协作”为 “1”;由于A为非实时节点,则不存在“自身位置”域(若A为实时节点,则根据其坐标(100, 50),应设置“自身位置”为“0000101 0000 0101”);由于共存在3条CCRI,则“CCRI条数” 为 “0000 0011”。发送该 D-PKT。 情况3 节点B收到D-PKT时,对其携带的CCRI的处理(节点收到R-PKT时,对其携带的CCRI的处理与收到D-PKT时的处理相同,这里不再举例说明)。步骤1 在时刻t2 = 0. 0212s, B更新自己的发送预约表和接收预约表,此时B的发送预约表见表3,接收预约表为空。转入步骤2;步骤2 =B发现该D-PKT中的“是否协作”域为“ 1 ”,即存在CCRI。进一步地,B发现“CCRI条数”域的值为3,且这3条CCRI均未被处理,则转入步骤3 ;步骤3 =B处理第1条未处理CCRI中的CCRIa =B读取“预约位置A”的内容,得到该CCRIa预约发起者的位置坐标为(100,0),而B已知自己的位置坐标为(200,50),则B 与该CCRIa预约发起者之间的距离为112m。因为该距离小于d。。000m),B进一步计算此 CCRIa的预约开始时间和预约结束时间读取D-PKT的发送时间Tpkt send(0. 021s)和“预约时差”(0. Ols),根据公式(9)-(10),则该CCRI的预约开始时间stmt为0. 031s,预约结束时间、sv end 为 0. 031244s。trsv_startUrsv end 和(100,0)构成一条 CRI。然后,B 读取 CCRI 中的“预约类型”,得知此CRI来自发送预约表。由于发送预约表中已经存在与此CRI相同的 CRI,见表3,则B什么也不做。转入步骤4;步骤4 :B读取该CCRI中“协作类型”的内容,得知此CCRI中有CCRIb,则转入步骤5 ;步骤5 =B处理该CCRI中的CCRIb =B读取“预约位置/,的内容,得到该CCRIb预约发起者的位置坐标为(50,0),而B已知自己的位置坐标为(200,50),则B与该CCRIa预约发起者之间的距离为158m,该距离小于d。。GOOm)。、sv stmt、、sv end和(50,0)构成一条CRI。 然后,由于B的接收预约表为空,则B直接将此CRI存入接收预约表,此时B的接收预约表内容见表8。转入步骤2 (为避免重复,此时的步骤2称为步骤2_2)。步骤2_2 =B发现还有2条CCRI未处理,则转入步骤3 (为避免重复,此时的步骤3 称为步骤3_2);步骤3_2 =B处理第1条未处理CCRI中的CCRIa =B读取“预约位置A”的内容,得到该CCRIa预约发起者的位置坐标为(50,100),而B已知自己的位置坐标为(200,50),则 B与该CCRIa预约发起者之间的距离为158m。因为该距离小于d。j400m),B进一步计算此 CCRIa的预约开始时间和预约结束时间读取D-PKT的发送时间Tpkt send(0. 021s)和“预约时差” (0. Oils),根据公式(9)-(10),则该CCRI的预约开始时间trsv—start为0. 03 ,预约结束时间 trev end 为 0.032244s。、sv stot、trsv en(^n CCRIa 预约发起者(50,100)构成一条 CRI。然后,B读取CCRI中的“预约类型”,得知此CRI来自接收预约表。B检查自己的接收预约表, 发现其中不存在与此CRI相同的CRI,见表8,则B将该CRI存入接收预约表,此时B的接收预约表内容见表2。转入步骤4 (为避免重复,此时的步骤4称为步骤4_2);步骤4_2 =B读取该CCRI中“协作类型”的内容,得知此CCRI中没有CCRIb,则转入步骤2 (为避免重复,此时的步骤2称为步骤2_3);步骤2_3 =B发现还有1条CCRI未处理,,则转入步骤3 (为避免重复,此时的步骤 3称为步骤3_3);步骤3_3 =B处理第1条未处理CCRI中的CCRIa =B读取“预约位置A”的内容,得到该CCRIa预约发起者的位置坐标为(50,50),而B已知自己的位置坐标为Q00,50),则 B与该CCRIa预约发起者之间的距离为150m。因为该距离小于d。j400m),B进一步计算此 CCRIa的预约开始时间和预约结束时间读取D-PKT的发送时间Tpkt send(0. 021s)和“预约时差” (0. 01 ),根据公式(9)-(10),则该CCRI的预约开始时间trsv—start为0. 033s,预约结束时间、sv end* 0.033244s。trsv start、trev end 和⑶!^预约发起者(50,50)构成一条 CRI。然后,B读取CCRI中的“预约类型”,得知此CRI来自发送预约表。B检查自己的发送预约表, 发现其中不存在与此CRI相同的CRI,见表3,则B将该CRI存入发送预约表,此时B的发送预约表内容见表1。转入步骤4 (为避免重复,此时的步骤4称为步骤4_3);步骤4_3 :B读取该CCRI中“协作类型”的内容,得知此CCRI中没有CCRIb,则转入步骤2 (为避免重复,此时的步骤2称为步骤2_4);步骤2_4 =B发现还有0条CCRI未处理,则按IEEE802. 1IDCF标准处理该分组由于该D-PKT的目的地址为自己,则将该D-PKT发往上层。本发明的仿真实验中,所有发送节点均只承载一种业务流(实时业务或非实时业务),R-PKT的产生周期为T,D-PKT的产生时间间隔遵循指数分布。物理层采用两径模型, 载波侦听门限为d。= 398m,协作门限cL = 400m,阴影衰落因子取4. 0,调制方式为64QAM, 编码速率为2/3,其它主要参数按照IEEE802. Ila标准给出。实验网络为无线自组织网络 (700mX 700m),所有发送节点(共50个,包含实时发送节点和非实时发送节点)随机分布在整个网络中,所有接收节点随机分布在距离其对应发送节点50m的范围内。场景中实时与非实时节点的个数比为1 9,非实时发送节点平均每秒到达的D-PKT个数由小变大(即非实时业务量由小变大)。本仿真比较了基本预约、多步预约(将多步预约的思想应用于基本预约)、基本协作预约和采用本专利方法的协作预约(比较了不同r值的仿真结果)这四种机制中,整个网络的实时业务平均发送失败概率Ptfk和非实时业务平均分组延迟Tdeuy,Ptfe的定义见公式(12)-(14)。Ptfe= (Nf/Nt)X100%(12)Nt = NKTS+NK_PKT—rsv—S+NK_PKT—rsv—f(13)Nf = Nt-NE_PKT(14)其中Nf和Nt为失败传输次数和尝试传输次数,Nkts为RTS发送次数,NK_PKT—s和 NE_PKT_rsvJ为预约模式下R-PKT的成功传输次数和失败传输次数,NK_PKT为接收节点收到的 R-PKT个数。以上所有参数均为一定仿真时间内网络中各节点的相应参数之和。可以看出, Ptfe越小,实时业务接入信道的成功率越高,预约越稳定。图1给出了实时业务Ptfk的仿真结果,其中横坐标代表非实时发送节点的平均业务量,纵坐标代表实时业务&PTFK。总体来讲,由于分组冲突随背景业务量的增加而加重,导致邻节点获得预约发起者分组中CRI的概率越来越小,因此Ptfk呈上升趋势。可以看出,相较基本预约、多步预约和基本协作预约,本专利始终可以为实时业务提供更好的预约接入性能。与基本预约和多步预约相比,基本协作预约和采用本专利方法的协作预约利用了背景业务带来的协作机会,其Ptfk大大降低。与基本协作预约相比,本专利增加了单次协作机会下的CRI转发个数,协作效率更高,特别当r = 0. 02时,其Ptfk在背景业务较重时只有基本协作预约的50%。本专利中,每条CRI被转发的次数随r值的增大而增大,为实时业务带来的性能提升也随之愈加明显。图2给出了非实时业务Tdeuy的仿真结果,其中横坐标代表非实时发送节点的平均业务量,纵坐标代表非实时业务的TDEUY。可以看出,本专利中,虽然携带多条CCRI增加了分组的传输时长,但由于采取了开销控制策略,Tdeuy几乎不受影响(由于各曲线较为接近,对于采用本专利方法的协作预约,这里只给出了协作开销比最大,即r = 0. 02时的Tdelay 性能)。另外,本专利所述方法引入的分组开销占网络总业务量的比例本来就很小(1%左右)。表权利要求
1. 一种无线自组织网中开销可控的高效协作预约方法,其特征在于包括下述步骤 情况1、协议初始化时,计算单次协作中可携带的CCRI条数的最大值nmx 步骤1 在不携带CCRI的情况下,计算竞争模式的握手时长Thandshate。和预约模式的握 Wix Thandshake r, Thandshake_c — Tets+Tcts+Tpkt+Tack+DIFS+3 X ΒΙΡΞλ Thandshake_r — Tpkt+Tack+SIFS, 其中,Tkts、!aS和TAeK分别为RTS、CTS和ACK的传输时长,Tpkt为未携带CCRI情况下数据分组的传输时长,DIFS和SIFS为IEEE 802. 11 DCF标准中的帧间间隔;步骤2 读取协作开销门限r,有r = Tco/ (Thandshake+Tco),其中 ;。为因携带CCRI而增加的分组传输时长的最大值,进一步计算得到竞争模式下的T。。为T。。。= (rX Thandshake c) / (1-r), 预约模式下的 ;。为 Τ。。—r= (rXThandshake r)/(1-r);步骤3 计算得到传输单条CCRI所需的时长Trail = Length^a/Ratem,其中Lengthrail 为单条CCRI的长度,Ratem为携带CCRI的数据分组的传输速率;步骤4 得到竞争模式下单次协作可携带CCRI条数最大值nmx—。= [Tco c/TCCEI]和预约模式下单次协作可携带CCRI条数最大值% ^= [Tco_r/TCCEI];情况2、实时节点发送实时业务的数据分组R-PKT或非实时节点发送非实时业务的数据分组D-PKT前,对CRI的选择和CCRI的构造步骤1 实时或非实时节点S删除发送预约表和接收预约表中所有预约开始时间在当前时间之前的CRI,并将所有的CRI标记为未选;步骤2 =S检查发送预约表和接收预约表,若均无标记为未选的CRI,则直接发送该分组,本情况的处理结束;否则在所有标记为未选的CRI中,选择被协作次数最小的一条CRI 作为提取CCRI的对象;若有多条标记为未选的CRI的“被协作次数”同时最小,则在其中选择预约开始时间离当前时刻最近的一条CRI作为提取CCRI的对象;若发送和接收预约表中各有一条标记为未选的CRI的“被协作次数”同为最小,且它们的预约开始时间一样,则选择发送预约表中的CRI作为提取CCRI的对象;所述的被协作次数即S曾经协作转发该CRI 的次数;步骤3 :S给被选中的CRI的“被协作次数”加1,并标记此CRI为已选;然后将其预约开始时间与当前时间的时间差,以及预约发起者位置作为一条主CCRI,称为CCRIa ;然后,S 检查另一张预约表是否为空,若不为空则转入步骤4,否则转入步骤5;所述的预约发起者位置即该CRI的预约发起者的地理位置信息;步骤4 =S遍历另一张预约表,在所有标记为未选的CRI中寻找与步骤2选出的CRI的预约开始时间相同、“预约发起者位置”不同的CRI,若不存在这样的CRI或所有的CRI均为已选,则转入步骤5 ;否则S给符合上述条件的这条CRI的“被协作次数”加1,并标记此CRI 为已选,再将其“预约发起者位置”作为步骤3中CCRI的辅CCRI,称为CCRIb ;步骤5 :S将CCRIa与CCRIb不改变内容的合为一条CCRI,若没有对应的CCRIb,则CCRIa 单独构成一条CCRI ;然后,S将CCRI放入待发送的R-PKT或D-PKT分组内;接着,S判断已生成的CCRI条数是否小于nMX,若小于则转入步骤2 ;否则发送此分组; 情况3、节点收到R-PKT或D-PKT时,对其携带的CCRI的处理 步骤1 节点R更新自己的发送预约表和接收预约表;步骤2 =R判断此R-PKT或D-PKT分组中是否存在未处理的CCRI,若存在则转入步骤3, 否则按IEEE802. IlDCF的处理方法处理该分组;CN 102548017 A步骤3 由第1条未处理CCRI中的CCRIa的预约发起者位置计算得到R与预约发起者的距离,若距离大于协作距离门限d。。则忽略该CCRIa(d。。等于载波侦听范围半径d。),否则进一步计算该CCRIa的预约开始时间st t和预约结束时间md,Trsv start = TPKT_send+Trsv_period' '^rsv_end ^rsv_start+TR-PKT+SIFS+TR_ACK, ^1=Izl TR_pkT 和TK-AeK为R-PKT和R-ACK的传输时长,TPKT_send为携带此CCRI的分组的发送时间,Trsv period为CCRIa的预约时差;然后,R将trev stot、trsv end和CCRIa的预约发起者位置作为一条CRI存入相应预约表, 若预约表中已存在相同的CRI则什么也不做,转入步骤4 ;步骤4 :R判断此CCRI中是否有CCRIb,有则转入步骤5,否则转入步骤2 ; 步骤5 由CCMb的预约发起者位置计算得到R与预约发起者的距离,若距离大于协作门限则忽略该CCRIb,否则将该CCRIb的预约发起者位置与start和md作为一条CRI 存入相应预约表,若预约表中已存在相同的CRI则什么也不做,转入步骤2。
全文摘要
本发明公开了一种无线自组织网中开销可控的高效协作预约方法,协议运行前,根据用户指定的协作开销门限计算单次协作可携带的CCRI条数的最大值,发送数据分组前,节点对预约表中的CRI进行选取,构造出a条CCRI放入待发送分组内,随分组一并发送。每选取某CRI一次,认为该CRI被协作转发的次数加1。侦听到数据分组时,若其携带有CCRI,则对每1条CCRI进行解析,将预约发起者与自己之间距离小于协作距离门限的CCRI转化为CRI,存入预约表。本发明增加了有限协作机会下CRI被协作转发的次数,将协作转发CRI带来的开销控制在用户给定的范围内。
文档编号H04W74/04GK102548017SQ20121005157
公开日2012年7月4日 申请日期2012年3月1日 优先权日2012年3月1日
发明者李波, 袁韵洁 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1