CN102123448B - 一种无线自组织网中基于双忙音机制的信道预约方法 - Google Patents
一种无线自组织网中基于双忙音机制的信道预约方法 Download PDFInfo
- Publication number
- CN102123448B CN102123448B CN201110058171.6A CN201110058171A CN102123448B CN 102123448 B CN102123448 B CN 102123448B CN 201110058171 A CN201110058171 A CN 201110058171A CN 102123448 B CN102123448 B CN 102123448B
- Authority
- CN
- China
- Prior art keywords
- time
- node
- real
- rpk
- busy tone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种无线自组织网中基于双忙音机制的信道预约方法,针对网络节点(包括发送节点、接收节点)发送与接收非实时数据分组,或发送与接收第一个实时数据分组;网络节点发送或接收第二个及以后的实时分组;节点侦听到相邻节点启动的实时发送忙音RBTt或实时接收忙音RBTr等三种情况,通过双忙音机制广播信道预约信息,为实时业务提前获得信道使用权,提高了信道预约成功率,大大降低了实时分组传输误帧率,保障了实时业务的服务质量。
Description
技术领域
本发明涉及通信技术领域,是一种无线自组织网中基于双忙音机制的实时业务(如视频、音频数据等)可靠传输方法。
背景技术
无线自组织网络(即Ad Hoc网络)是由带有无线收发装置的移动终端组成的多跳无线网络。Ad Hoc网络的建立不需要预先铺设网络基础设施,也不用设置任何中心控制节点,依靠节点间的相互协作,在移动、复杂的无线环境中自行成网,其特点是组网灵活性强、易于迅速展开、系统整体抗毁能力强、成本较低等,可广泛用于军事战场、民用通信、车载网络等场合。
随着无线网络技术的不断发展和成功应用,人们已经不满足于Ad Hoc网络仅仅提供普通的数据传输服务,各种多媒体实时业务(视频、音频等)在Ad Hoc网络中的传输逐步成为人们的研究热点。多媒体实时业务的特点在于其周期性较强,每个数据分组之间时间间隔相对固定,例如在保证流畅播放的前提下,通常视频数据每40ms产生一个数据分组,音频数据每30ms产生一个数据分组。我们用tcycle表示产生两个连续的实时数据分组之间的周期时长,并在本专利中约定tcycle=30ms。各种数据传输服务都需要无线网络多址接入协议的支持。目前,IEEE 802.11标准是无线网络多址接入技术公认的国际标准之一,其IEEE 802.11e标准采用了增强的DCF机制(即EDCA),四种类型的数据被分为八个优先级,拥有不同的信道竞争优先权,其中实时业务的优先权较高,普通业务的优先权较低。然而在EDCA(以及各种类似的多址接入协议)中,由于实时业务仍然是通过竞争的方式接入信道,因此难以克服在网络负载较大时的分组冲突问题。为了解决这个问题,许多现有无线网络MAC协议在实时业务服务质量(Quality of Service,QoS)保证上考虑利用实时业务的周期性特征,通过采用信道预约的方法保证实时业务的稳定传输,例如C.R.Lin和M.Gerla为了解决无线多媒体业务的可靠传输问题,提出了对信道资源进行预约的MAC协议,称为MACA/PR。在该协议中,每次发送一个实时分组时,数据分组中携带了下一个实时分组的发送时间,邻节点收到后将其保存,并在这段时间内回避信道接入,从而实现了对信道资源的预约。之后在信道预约思想的基础上,人们又做了很多的研究和改进,例如ZhouYing,A.L.Ananda和Lillykutty Jacob修改了MACA/PR中信道预约信息的保存方式,克服了由于节点之间相互交换预约信息带来的额外网络负担;本专利申请的发明人也在授权发明专利“ZL200710017816.5”中提出了多步预约的概念,即每个数据分组不只对之后的第一个分组进行信道资源预约,而是对之后的若干个分组均进行预约,其目的就在于提高信道预约的稳定性与可靠性,从而为实时分组传输提供较好的QoS保障。
但是以上这些信道预约机制均在各种分组中携带信道预约信息,通过节点在网络中发送各种分组来进行预约信息的广播,因此信道预约信息的正确接收依赖于各种分组的正确接收与解析。在无线网络中,由于信道衰落引起的信道不稳定与无线网络特有的隐藏终端问题引起的分组冲突,导致无线网络中的分组本身很难有较为稳定的传输,因此对于这些信道预约机制来说,携带有预约信息的分组很有可能在邻节点处被其他分组冲突,从而导致预约失败,进而导致无法成功通过信道预约来传输下一个数据分组传输。
发明内容
为了克服现有技术将信道预约信息在各种分组中进行携带的方法不能始终保持较高的预约稳定性的不足,本发明提出了一种基于双忙音的信道预约机制,通过在独立于数据信道的两个忙音信道上广播信道预约信息的方法,较好地克服了信道不稳定与隐藏终端等问题,极大地提高了信道预约的稳定性,降低了异步多跳Ad Hoc网络通信环境中的实时分组误帧率,提高了多媒体业务传输的可靠性。
本发明解决其技术问题所采用的技术方案是对基于IEEE 802.11无线自组织网中适合实时数据传输的MAC协议机理的一系列理论研究所提出的具体实现方案。
在Ad Hoc网络中考虑两种节点,第一种承载的是普通数据业务(如邮件、短消息业务等),对实时性要求较低;第二种承载的是多媒体实时业务(如视频、音频数据等),也是我们所关心如何确保其实时性的业务。令RPK表示实时业务数据分组,DPK表示普通业务数据分组,tcycle表示实时业务数据分组的产生周期,实时业务的发送节点在t1时刻产生第一个实时数据分组RPK1之后,在t2=t1+tcycle时刻将产生第二个实时分组RPK2,以此类推。在本发明中,所用到的分组格式(如RTS分组等)与IEEE802.11标准相同,因此不进行特别说明。
在本发明提出的方法中,每个节点需要配置三个收发信机,分别是:数据信道收发信机、发送忙音信道收发信机和接收忙音信道收发信机。其中,数据信道收发信机工作在数据信道上,用于发送和接收各种数据分组与控制分组;发送忙音信道收发信机工作在发送忙音信道,发送节点在数据信道上发送分组的同时,用该收发信机启动发送忙音以保护数据发送或进行信道预约;接收忙音信道收发信机工作在接收忙音信道,接收节点在数据信道上接收分组的同时,用该收发信机启动接收忙音以保护数据接收或进行信道预约。三个信道相互独立。发送忙音与接收忙音本质上是在各自的信道上广播的一种提示信号,而不是携带有数据信息的分组。网络中的节点监测(侦听)到信道上存在该提示信号时,即可马上进行相应的操作,而不需要进行任何的分组接收与解析;节点通过感知忙音信道的忙闲来判断忙音是否存在,即:节点感知到某个忙音信道变忙,则认为在该信道上有忙音存在,从而根据具体的忙音类型进行不同的操作。
由于在本发明中,需要利用忙音来为实时分组进行信道预约,因此我们将发送忙音与接收忙音又分别划分为两种:非实时忙音(包括非实时发送忙音和非实时接收忙音)与实时忙音(包括实时发送忙音和实时接收忙音)。非实时业务的收发节点在接收或传输非实时数据分组时只启动非实时忙音,表示当前在数据信道上有非实时数据分组的交换;而实时业务收发节点在接收或传输实时数据分组时启动实时忙音,表示当前在数据信道上有实时数据分组的交换,并且有相应的实时业务节点进行信道预约,此时实时业务节点的邻节点可以根据侦听到的实时忙音计算出实时节点发送或接收接下来的一个实时分组的具体信道使用时间段,并将该段时间记录在相应的预约信息表中。预约表中的预约信息均按照时间顺序进行排列,时间最早的预约信息放在预约表的第一项,以此类推。在预约信息表记录的这些时间段内,邻节点将回避使用信道,避免与实时分组冲突。
我们把通过实时发送忙音来广播的预约信息称为发送预约信息,表示的是发送RPK的实时业务发送节点在某段时间内将会再次发送RPK,保存在侦听到实时发送忙音的节点的发送预约表中;而通过实时接收忙音来广播的预约信息称为接收预约信息,表示的是接收RPK的实时业务接收节点在某段时间内将会再次接收RPK,保存在侦听到实时接收忙音的节点的接收预约表中。无论是发送预约表还是接收预约表,其中的每个预约信息包含两个元素:预约开始时间、预约结束时间,均可按照本专利下文中相应的公式进行计算。
下文中,为方便表述,我们将用BT(即Busy Tone的英文缩写)表示忙音信号,并用BTt、BTr分别表示发送忙音、接收忙音;特别地,我们用RBTt和RBTr分别表示实时发送忙音和实时接收忙音,用DBTt和DBTr分别表示非实时发送忙音和非实时接收忙音。下面给出本方法的具体实现步骤:
情况1:网络节点发送与接收非实时数据分组,或发送与接收第一个实时数据分组。所述的网络节点包括一个发送节点与一个接收节点,且发送节点与接收节点处理的分组包括非实时数据分组和实时数据分组。
步骤1:发送节点对当前需要发送的数据分组进行判断,以决定是否需要尝试发送当前分组,具体分为以下两个步骤:
步骤1.1:若当前需要发送的分组为DPK,则发送节点按照IEEE 802.11标准的规定进行二进制指数随机退避,竞争信道资源;
步骤1.2:若当前需要发送的分组为RPK,且该RPK的实际产生时刻与当前时刻之间的时间差不大于一个tcycle,则发送节点按照IEEE 802.11标准的规定进行二进制指数随机退避,竞争信道资源;否则发送节点认为当前实时分组的发送不能满足实时业务的实时性要求,将该分组删除,不予发送,节点转入空闲状态;
步骤2:发送节点退避完成后读取预约表,检查预约表是否空闲。
所述的读取预约表是指该发送节点从发送预约表和接收预约表中选取时间上最早的预约信息,令预约表中的预约信息的开始时刻为trsv_start,结束时刻为trsv_end,同时令当前时刻为tcur,一个RTS的传输时长为tRTS,一个RPK的传输时长为tRPK,一个DPK的传输时长为tDPK。若当前时刻tcur早于在预约表中被选中的预约信息的trsv_start,且RPK和DPK的发送节点分别满足公式(1)、(2),则说明预约表空闲,转入步骤3;否则预约表忙,转入步骤1;
|trsv_start-tcur|>tRTS+SIFS+tRPK (1)
|trsv_start-tcur|>tRTS+SIFS+tDPK (2)
选取预约表中时间最早的一项预约信息,将该预约信息的trsv_start代入公式(1)、(2)进行计算;SIFS为短帧间间隔,可参见IEEE 802.11标准;
步骤3:尝试进行RTS握手。
发送节点分别在发送忙音信道和接收忙音信道上侦听RBTt和BTr(包括RBTr和DBTr),若存在这三种类型的忙音中的任何一种,则发送节点放弃当前RTS发送,回到步骤1;若不存在这三种类型的忙音中的任何一种,则发送节点可以在数据信道上发送RTS控制分组,并同时在发送忙音信道上启动DBTt,DBTt的持续时间与RTS分组的传输时间同步。在本发明中,RTS分组的格式与IEEE 802.11a标准相同。RTS分组发送完毕时,结束DBTt的发送。接收节点在收到RTS之后,同样检查自己的预约表是否空闲,并侦听BTt(包括RBTt和DBTt)和RBTr,若不存在这三种类型的忙音中的任何一种,则立即启动BTr,否则返回空闲状态,不做回应。若接收节点回应并启动BTr,则分为以下两个具体步骤:
步骤3.1:若接收的是非实时分组,则在接收忙音信道上启动DBTr,直到DPK接收完毕;若在开始启动DBTr之后的两个SIFS(SIFS的时长定义与IEEE 802.11标准相同)时间后没有检测到发送节点的数据分组发送,则接收节点超时退出接收状态,返回空闲状态;
步骤3.2:若接收的是实时分组,则在接收忙音信道上启动RBTr,直到RPK接收完毕。同时该接收节点记录下一个(第二个及以后的)实时分组的接收预约时间,即当前RBTr开始启动之后一个tcycle的时刻;若在开始启动RBTr之后的两个SIFS(SIFS的时长定义与IEEE 802.11标准相同)时间后没有检测到发送节点的数据分组发送,则接收节点超时退出接收状态,取消开始所记录的下一个(第二个及以后的)实时分组的接收预约时间,并返回空闲状态;
步骤4:发送数据分组。发送节点在RTS分组发送完毕后,等待SIFS时间。该步骤分为以下两个具体步骤:
步骤4.1:若发送的是非实时分组,且在SIFS时间结束之时侦听到DBTr,则发送节点在数据信道上正常发送DPK;否则发送节点超时退出,转入步骤1。
步骤4.2:若发送的是第一个实时分组,且在SIFS时间结束之时在接收忙音信道上侦听到RBTr,则发送节点在数据信道上正常发送RPK,并同时在发送忙音信道上启动实时发送忙音RBTt进行信道预约,RBTt的持续时间与RPK的发送时长同步,RPK发送完毕时,结束RBTt的发送,同时发送节点记录下一个(第二个及以后的)实时分组的发送预约时间,即当前RPK开始发送之后一个tcycle的时刻;若在SIFS时间结束之时在接收忙音信道上没有侦听到RBTr,则超时退出,转入步骤1。
情况2:网络节点发送或接收第二个及以后的实时分组。所述的网络节点包括一个发送节点与一个接收节点,且发送节点与接收节点处理的分组包括非实时数据分组和实时数据分组。
步骤1:在发送或接收前一个实时分组时计算并记录下的预约时间到来时,实时数据的发送节点或接收节点不通过竞争信道的方式进行信道接入,而是直接尝试接入信道。其中发送节点和接收节点分别依据以下具体步骤:
步骤1.1:实时数据发送节点在预约好的实时数据分组发送时间到来时,在接收忙音信道上侦听RBTr;若侦听到RBTr则转入步骤2,若未侦听到,则发送节点超时退出,将当前需要发送的RPK作为第一个实时数据分组处理,重新尝试情况1的处理步骤。
步骤1.2:实时数据接收节点在预约好的实时数据分组接收时间到来时,在接收忙音信道上启动RBTr,同时接收节点记录下一个实时分组的预约接收时间,即当前RBTr开始之后一个tcycle的时刻;
步骤2:若接入信道成功,则正常发送或接收实时数据分组,其中发送节点和接收节点分别依据以下具体步骤:
步骤2.1:发送节点在接收忙音信道上侦听到RBTr后,直接发送RPK,并同时在发送忙音信道上启动RBTt,同时发送节点记录下一个实时分组的发送预约时间,即当前RPK开始发送之后一个tcycle的时刻;
步骤2.2:接收节点启动RBTr后,若经过2个SIFS时段之后,仍未接收到RPK,则接收节点超时退出,取消下一个RPK的预约接收。
情况3:节点侦听到相邻节点启动的RBTt或RBTr。
步骤1:计算预约时间。侦听到相邻节点启动的RBTt或RBTr表示相邻节点在将来某个时段将要发送或接收实时数据分组,因此侦听到RBTt或RBTr的节点需要计算和记录这个时间段,并在该时间段内回避无线信道接入以避免和实时业务的冲突。令邻节点为A与其中A表示实时业务发送节点(即启动RBTt的节点),表示对应的接收节点(即启动RBTr的节点);tcycle表示实时数据分组的产生周期;
令trsv表示正确发送或接收一个RPK总共所需要的时间段,即预约表中记录的一个预约时间段,且如前文所述,其开始时刻为trsv_start,结束时刻为trsv_end;tRPK为一个RPK数据分组的传输时长。
本发明的忙音信道预约中,每个RBTt或RBTr需要对其之后下一个周期的实时分组传输进行信道预约。每个侦听到RBTt或RBTr的节点需要计算接下来一个RPK的传输时间。但是侦听到RBTt或RBTr时,计算预约时间trsv的方法有所不同。
设节点侦听到RBTt的时刻为tcur1,即实时业务发送节点开始发送第n个实时分组RPKn的时刻,则第n+1个实时分组RPKn+1的预约开始时刻为:
trsv_start=tcur1+tcycle (3)
第n+1个实时分组RPKn+1的预约结束时刻为:
trsv_end=tcur1+tcycle+tRPK (4)
在节点侦听到RBTt时,将按照公式(3)、(4)计算预约时间trsv,计算得到的结果保存在节点的发送预约表中,表示有某个邻节点将在该段时间内发送实时数据分组。
设节点侦听到RBTr的时刻为tcur2,即实时业务接收节点开始接收第n个实时分组RPKn的时刻,则第n+1个实时分组RPKn+1的预约开始时刻为:
trsv_start=tcur2+tcycle (5)
第n+1个实时分组RPKn+1的预约结束时刻为:
trsv_end=tcur2+tcycle+SIFS+tRPK (6)
在节点侦听到RBTr时,将按照公式(5)、(6)计算预约时间trsv,计算得到的结果保存在节点的接收预约表中,表示有某个邻节点将在该段时间内接收实时数据分组。
步骤2:更新预约表(删除过时的预约信息);
若预约表不为空,且预约表中的第一项预约信息标示的结束时间比当前时刻更早,则说明预约表中的第一项预约信息已经过时,需要将该预约信息删除并将之后未过时且距当前时刻最近的预约信息作为预约表中的第一项。
步骤3:插入预约信息到预约表合适的位置;
计算预约时间后,节点按照预约信息中预约开始时间trsv_start的先后,按顺序将其加入相应预约表。
本发明的有益效果是:采用本发明可以保证系统中采用多步信道预约机制进行实时数据传输时具有较小的误帧率。由于在现有的各种技术中,信道预约信息在各种分组中进行携带,因此节点获得信道预约信息并成功建立信道预约依赖于对各种分组的正确接收与解析。而无线信道的不稳定性与无线网络中的各种分组冲突导致携带有信道预约信息的各种分组不能在所有的情况下均能够被节点正确接收与解析,进而导致信道预约的不稳定性。本专利利用忙音信号进行信道预约,节点获得信道预约信息并成功建立信道预约只需要判断忙音的有和无,不需要通过分组的接收与解析,从而大大提高了信道预约的稳定性,降低了异步多跳Ad Hoc网络通信环境中的实时分组误帧率,为实时分组的传输提供了较好的QoS保障。下面,通过仿真结果给出本方法所能达到的技术效果。
在我们的仿真实验中,考虑了节点按照矩形均匀分布的无线自组织网络。每个发送节点均承载有一个业务流。系统的主要参数设置是依照IEEE 802.11a标准给出。对于每一个非实时业务发送节点来说,在开状态下,数据分组的到达服从泊松过程。在关状态下,没有数据分组到达相应的发送节点。对于实时业务发送节点来说,数据分组以0.03秒为周期产生并到达MAC层进行发送。实验中我们利用两种方法得到系统的最佳性能,即实时数据分组传输的失败概率:方法1,利用传统的双忙音机制对实时分组进行发送。方法2,就是利用本专利申请中提出的基于忙音信号的信道预约机制。通过仿真,我们对这两种方法所能达到的性能进行了对比。仿真结果如图2所示,从图中可知,忙音信道预约机制相比于传统的双忙音机制,可以较为显著的降低分组发送失败率,特别是在自组织网的负载较重、饱和度较高的情况下,可以为实时业务传输提供较为可靠的QoS保障。
下面结合附图和实施例对本发明进一步说明。
附图说明
图1是预约时间计算方法示意图;
图2是基于忙音的信道预约机制的有益效果示意图;
图3是实时忙音与非实时忙音的区别定义示意图;
图4是实例所考虑的网络拓扑图。
具体实施方式
总体来说本方法可以实现在无线接入网卡的驱动程序里。下面结合实例,对其进行详细说明。
为了支持基于忙音信号的信道预约机制,本专利定义了四种类型的忙音信号:RBTt、RBTr、DBTt、DBTr。其中前两种为实时忙音,后两种为非实时忙音,RBTt和DBTt在发送忙音信道上进行广播,RBTr和DBTr在接收忙音信道上进行广播。为了使得节点能够分辨在同一个忙音信道上进行广播的两种忙音(实时忙音与非实时忙音)信号,我们对这两种忙音信道和四种忙音进行了专门定义。
参照IEEE 802.11a标准的规定,本专利定义数据信道中心频率为5.29GHz,带宽为20MHz;另外,我们将发送忙音信道中心频率为5.19GHz,带宽为20MHz;接收忙音信道中心频率为5.39GHz,带宽为20MHz。非实时忙音(包括DBTt和DBTr)在结束前会保持持续不间断的物理信号波形发送,而实时忙音(包括RBTt和RBTr)在结束前是周期性的脉冲信号,脉冲频率为10MHz。如图3所示。
考虑图4所示的网络拓扑。在图4中,黑色的点代表网络中的节点,节点之间若以实线相连则代表节点在对方的传输范围之内,在没有冲突的情况下可以正确收到对方发送的各种分组,箭头代表数据分组的发送方向,Ai、分别代表实时业务的发送、接收节点,Btx、Brx分别代表非实时业务的发送、接收节点。本专利所用的实例中,由于DPK与RPK的分组长度相同,因此在具体计算时不对DPK与RPK做特别的区分。
情况1:发送节点发送非实时数据分组,或发送第一个实时数据分组网络中实时节点AI给发送RPK,A2给发送RPK,Btx给Brx发送DPK。由于实时节点与非实时节点在情况1中的处理过程基本相同,因此仅以Btx给Brx发送DPK作为实例进行说明;不同之处将在实例中以A1给发送RPK作为实例进行特别说明。
按照IEEE 802.11a标准的规定,DIFS=34μs,SIFS=16μs,各种分组的格式也按照该标准进行数据域的填充。数据分组的有效载荷设为1024bytes,整个数据数据分组长度为1058bytes,RTS分组的长度为20bytes。信道速率为48Mbps时,数据分组的传输时长(不区分RPK与DPK,即tRPK=tDPK=tPKT)tPKT=177μs,RTS的传输时长tRTS=3.3μs。
步骤1:按照IEEE 802.11协议进行二进制指数随即退避,竞争信道资源。此处假设所需要发送的RPK的实际产生时刻与当前时刻之间的时间差不多于一个tcycle。
步骤2:退避完成后读取预约表,检查预约表是否空闲。
若当前时刻早于预约表第一项预约信息的开始时刻,且两者之间的时间间隔足够发送与接收节点所将要进行的数据交换,则预约表空闲,转入步骤3;否则预约表忙,转入步骤1;
表格1非实时节点Btx接收预约表(一)
预约信息编号 | 开始时间 | 结束时间 |
1 | 10.030200 | 10.030396 |
若节点Btx在10.029300s时刻完成退避,在发送RTS之前应检查自己的预约表是否空闲,当前预约表中发送预约表为空,接收预约表中有一项预约信息,如表格1所示。由情况1的各项设置可知,节点Btx总共需要的发送时间长度为(以μs为单位)
tRTS+SIFS+tPKT
=34+3.3+16+177
=196.3(μs)
由于当前时刻tcur(10.029300s)与预约表中第一项预约信息的trsv_start(10.030200s)之间的时间间隔为900μs,大于所需要的时间,即:
|trsv_start-tcur|=900μs>tRTS+SIFS+tDPK=196.3μs
满足公式(2)的要求,因此Btx可以发送RTS。
若节点Btx在tcur=10.030020s时刻完成退避,则完成退避的时刻与预约表中第一项预约信息的开始时刻trsv_start之间的时间间隔为180μs,小于所需要的时间,即:
|trsv_start-tcur|=180μs<tRTS+SIFS+tDPK=196.3μs
不满足公式(2)的条件,此时Btx不能发送RTS,回到步骤1重新开始退避并发起RTS。由于此处假设tRPK=tDPK=tPKT,从而DPK的发送条件(即公式(2))与RPK的发送条件(即公式(1))可以通用,因此对RPK的发送不做特别说明。若tRPK≠tDPK,则分别按照公式(1)、(2)计算即可。
步骤3:进行RTS握手。
发送节点分别在发送忙音信道和接收忙音信道上侦听RBTt和BTr(包括RBTr和DBTr),若存在这三种类型的忙音中的任何一种,则该发送节点放弃当前RTS发送,回到步骤1;若不存在这三种类型的忙音中的任何一种,则当前发送节点在数据信道上广播RTS控制分组,并同时在发送忙音信道上启动DBTt,DBTt的持续时间与RTS分组的传输时长同步。若节点Btx在10.029300s时刻完成退避,则RTS和DBTt的持续时间均为从10.029300s到10.029337.3s。接收节点(Brx或)在收到RTS后,分别在发送忙音信道和接收忙音信道上侦听BTt(包括RBTt和DBTt)和RBTr,若不存在这三种类型的忙音中的任何一种,则马上在接收忙音信道上启动BTr,否则不予回应BTr。根据接收节点是否为实时节点(Brx或),分为以下具体步骤:
步骤3.1:Brx在在接收忙音信道上启动DBTr,直到DPK接收完毕时刻(从10.0293373s到10.0295303s);
步骤3.2:在接收忙音信道上启动RBTr,直到RPK接收完毕(从10.0293373s到10.0295303s),同时记录下一个(第二个及以后的)实时分组的接收预约时间:10.0293373s+0.03s=10.0593373s
步骤4:发送数据分组。发送节点在RTS分组发送完毕后,等待SIFS时间(SIFS的时长定义与IEEE 802.11标准相同)。此时Btx与A1节点的处理方式有所不同:
步骤4.1:若Btx在SIFS时间结束之时(10.0293533s)侦听到DBTr,则发送节点在数据信道上正常发送DPK。
步骤4.2:若A1在SIFS时间结束之时(10.0293533s)侦听到RBTr,则发送节点在数据信道上正常发送RPK,并同时在发送忙音信道上启动实时发送忙音RBTt进行信道预约,RBTt的持续时间与RPK的发送时长同步,RPK发送完毕时,结束RBTt的发送,RPK与RBTt的持续时间均为从10.0293533s到10.0295303s。同时,A1在一个tcycle后(10.0293533s+0.03s=10.0593533s)发送新的实时数据分组。
情况2:实时业务发送节点发送或接收第二个及以后的实时分组。
步骤1.1:若A1在10.0293533s到10.0295303s之间发送了第一个RPK,则在一个tcycle后,即10.0293533s+0.03s=10.0593533s时刻发送第二个RPK。在10.0593533s时刻,A1在接收忙音信道上侦听RBTr;若成功侦听到了RBTr,则继续步骤2,否则超时退出,重新尝试情况1的处理步骤。
步骤1.2:若在10.0293373s收到了A1的RTS,并在之后成功接收到了A1的第一个PRK,则在一个tcycle后,即10.0293373s+0.03s=10.0593373s时刻启动RBTr,准备接收第二个PRK,同时记录下一个(第三个)PRK的预约接收时间:10.0593373s+0.03s=10.0893373s。
步骤2.1:A1在接收忙音信道上侦听到RBTr后,于10.0593533s直接发送RPK,并同时在发送忙音信道上启动RBTt,的持续时间与RPK的传输时长tPKT=177μs相同,即两者均从10.0593533s到10.0595303s。同时A1记录下一个RPK的发送时间:10.0593533s+tcycle=10.0893533s。
情况3:节点侦听到相邻实时业务节点启动的RBTt或RBTr。网络中实时节点A1给发送RPK,A2给发送RPK,Btx给Brx发送DPK。Btx会侦听到发送的RBTr,Brx会侦听到A2发送的RBTt。
对于侦听到RBTt的节点Brx,其处理过程如下所述。
步骤1:计算预约时间。假设在第10s时,A2开始第一个实时分组RPK1的发送,并在10.000177s时刻完成RPK1的传输,则A2的RBTt从第10.000000s持续到10.000177s。在侦听到RBTt后,Brx依据公式(3)、(4)计算RPK2的发送预约时间段,此时当前时刻tcurr1=10.000000s,tPKT=177μs:
trsv_start=tcurr1+tcycle=10.000000s+0.03s=10.030000s
trsv_end=tcurr1+tcycle+tPKT=10.000000s+0.03s+177μs=10.030177s
步骤2:删除过时的预约信息。当前时刻tcurr1=10.000000s,若Brx的接收预约表为空,发送预约表如表格2所示:
表格2节点Brx的发送预约表(一)
预约信息编号 | 开始时间 | 结束时间 |
1 | 9.970000 | 9.970177 |
2 | 10.020000 | 10.020177 |
由于第一项预约信息的结束时间比当前时刻早,因此第一项预约信息过时,予以删除。删除后,Brx的发送预约表如表格3所示:
表格3节点Brx的发送预约表(二)
预约信息编号 | 开始时间 | 结束时间 |
1 | 10.020000 | 10.020177 |
步骤3:Brx依据公式(3)、(4)计算RPK2的发送预约时间段后,将预约信息加入发送预约表的合适位置。由步骤1可知,当前需要加入预约表的预约信息比Brx的发送预约表中的第一项预约信息在时间上更晚,因此应作为第二项预约信息加入预约表,此时发送预约表如表格4所示:
表格4节点Brx的发送预约表(三)
预约信息编号 | 开始时间(s) | 结束时间(s) |
1 | 10.020000 | 10.020177 |
2 | 10.030000 | 10.030177 |
节点Brx将在这些时间段内回避信道接入。
对于侦听到RBTr的节点Btx,其处理过程如下所述。
步骤1:计算预约时间。假设在第10.019984s时,开始启动RBTr,并在10.020177s时刻完成RPK的接收,取消RBTr的发送,则在侦听到RBTt后,Btx依据公式(5)、(6)计算RPK2的接收预约时间段,此时当前时刻tcurr2=10.019984s,tPKT=177μs:
trsv_start=tcurr2+tcycle=10.019984s+0.03s=10.049984s
trsv_end=tcurr2+tcycle+SIFS+tPKT=10.019984s+0.03s+16μs+177μs
=10.050177s
步骤2:删除过时的预约信息。当前时刻tcurr1=10.019984s,若Btx的发送预约表为空,接收预约表如表格5所示:
表格5非实时节点Btx接收预约表(二)
预约信息编号 | 开始时间 | 结束时间 |
1 | 9.969984 | 9.970177 |
2 | 10.029984 | 10.030177 |
由于第一项预约信息的结束时间比当前时刻早,因此第一项预约信息过时,予以删除。删除后,Btx的接收预约表如表格6所示:
表格6非实时节点Btx接收预约表(三)
预约信息编号 | 开始时间 | 结束时间 |
1 | 10.029984 | 10.030177 |
步骤3:Btx依据公式(3)、(4)计算接收预约时间段后,将预约信息加入接收预约表的合适位置。由步骤1可知,当前需要加入预约表的预约信息比Btx的接收预约表中的第一项预约信息在时间上更晚,因此应作为第二项预约信息加入预约表,此时接收预约表如表格7所示:
表格7非实时节点Btx接收预约表(四)
预约信息编号 | 开始时间(s) | 结束时间(s) |
1 | 10.029984 | 10.030177 |
2 | 10.049984 | 10.050177 |
节点Btx将在这些时间段内回避信道接入。
本方法实现简单。可以作为网卡驱动程序的一部分加以实现,可以较好地解决无线局域网中的隐藏终端问题,本方法为实时业务提供了更加稳定与可靠的信道预约质量,进而为实时业务提供了更为可靠的传输质量,在异步多跳Ad Hoc网络配置下,支持全分布式的工作方式,无需中心控制器的介入。
Claims (1)
1.一种无线自组织网中基于双忙音机制的信道预约方法,其特征在于包括下述步骤:
情况1:网络节点发送与接收非实时数据分组,或发送与接收第一个实时数据分组;所述的网络节点包括一个发送节点与一个接收节点,且发送节点与接收节点处理的分组包括非实时数据分组和实时数据分组;
步骤1:发送节点对当前需要发送的数据分组进行判断,以决定是否需要尝试发送当前分组,具体分为以下两个步骤:
步骤1.1:若当前需要发送的分组为普通业务数据分组DPK,则发送节点进行二进制指数随机退避,竞争信道资源;
步骤1.2:若当前需要发送的分组为实时业务数据分组RPK,且该RPK的实际产生时刻与当前时刻之间的时间差不大于一个实时业务数据分组的产生周期tcycle,则发送节点进行二进制指数随机退避,竞争信道资源;否则发送节点认为当前实时分组的发送不能满足实时业务的实时性要求,将该分组删除,不予发送,节点转入空闲状态;
步骤2:发送节点退避完成后读取预约表,检查预约表是否空闲;
所述的读取预约表是指该发送节点从发送预约表和接收预约表中选取时间上最早的预约信息,令预约表中的预约信息的开始时刻为trsv_start,结束时刻为trsv_end,同时令当前时刻为tcur,一个RTS的传输时长为tRTS,一个RPK的传输时长为tRPK,一个DPK的传输时长为tDPK;若当前时刻tcur早于在预约表中被选中的预约信息的trsv_start,且RPK和DPK的发送节点分别满足公式(1)、(2),则说明预约表空闲,转入步骤3;否则预约表忙,转入步骤1;
|trsv_start-tcur|>tRTS+SIFS+tRPK (1)
|trsv_start-tcur|>tRTS+SIFS+tDPK (2)
选取预约表中时间最早的一项预约信息,将该预约信息的trsv_start代入公式(1)、(2)进行计算;SIFS为短帧间间隔;
步骤3:尝试进行RTS握手;
发送节点分别在发送忙音信道和接收忙音信道上侦听实时发送忙音RBTt、实时接收忙音RBTr和非实时接收忙音DBTr,若存在这三种类型的忙音中的任何一种,则发送节点放弃当前RTS发送,回到步骤1;若不存在这三种类型的忙音中的任何一种,则发送节点可以在数据信道上发送RTS控制分组,并同时在发送忙音信道上启动非实时发送忙音DBTt,DBTt的持续时间与RTS分组的传输时间同步;RTS分组发送完毕时,结束DBTt的发送;接收节点在收到RTS之后,同样检查自己的预约表是否空闲,并侦听RBTt、DBTt和RBTr,若不存在这三种类型的忙音中的任何一种,则立即启动接收忙音BTr,否则返回空闲状态,不做回应;若接收节点回应并启动BTr,则分为以下两个具体步骤:
步骤3.1:若接收的是非实时分组,则在接收忙音信道上启动DBTr,直到DPK接收完毕;若在开始启动DBTr之后的两个SIFS时间后没有检测到发送节点的数据分组发送,则接收节点超时退出接收状态,返回空闲状态;
步骤3.2:若接收的是实时分组,则在接收忙音信道上启动RBTr,直到RPK接收完毕,同时该接收节点记录下一个实时分组的接收预约时间,即当前RBTr开始启动之后一个tcycle的时刻;若在开始启动RBTr之后的两个SIFS时间后没有检测到发送节点的数据分组发送,则接收节点超时退出接收状态,取消开始所记录的下一个实时分组的接收预约时间,并返回空闲状态;
步骤4:发送数据分组,发送节点在RTS分组发送完毕后,等待SIFS时间,该步骤分为以下两个具体步骤:
步骤4.1:若发送的是非实时分组,且在SIFS时间结束之时侦听到DBTr,则发送节点在数据信道上正常发送DPK;否则发送节点超时退出,转入步骤1;
步骤4.2:若发送的是第一个实时分组,且在SIFS时间结束之时在接收忙音信道上侦听到RBTr,则发送节点在数据信道上正常发送RPK,并同时在发送忙音信道上启动实时发送忙音RBTt进行信道预约,RBTt的持续时间与RPK的发送时长同步,RPK发送完毕时,结束RBTt的发送,同时发送节点记录下一个实时分组的发送预约时间,即当前RPK开始发送之后一个tcycle的时刻;若在SIFS时间结束之时在接收忙音信道上没有侦听到RBTr,则超时退出,转入步骤1;
情况2:网络节点发送或接收第二个及以后的实时分组;
步骤1:在发送或接收前一个实时分组时计算并记录下的预约时间到来时,实时数据的发送节点或接收节点不通过竞争信道的方式进行信道接入,而是直接尝试接入信道;其中发送节点和接收节点分别依据以下具体步骤:
步骤1.1:实时数据发送节点在预约好的实时数据分组发送时间到来时,在接收忙 音信道上侦听RBTr;若侦听到RBTr则转入步骤2,若未侦听到,则发送节点超时退出,将当前需要发送的RPK作为第一个实时数据分组处理,重新尝试情况1的处理步骤;
步骤1.2:实时数据接收节点在预约好的实时数据分组接收时间到来时,在接收忙音信道上启动RBTr,同时接收节点记录下一个实时分组的预约接收时间,即当前RBTr开始之后一个tcycle的时刻;
步骤2:若接入信道成功,则正常发送或接收实时数据分组,其中发送节点和接收节点分别依据以下具体步骤:
步骤2.1:发送节点在接收忙音信道上侦听到RBTr后,直接发送RPK,并同时在发送忙音信道上启动RBTt,同时发送节点记录下一个实时分组的发送预约时间,即当前RPK开始发送之后一个tcycle的时刻;
步骤2.2:接收节点启动RBTr后,若经过2个SIFS时段之后,仍未接收到RPK,则接收节点超时退出,取消下一个RPK的预约接收;
情况3:节点侦听到相邻节点启动的RBTt或RBTr;
步骤1:计算预约时间,侦听到相邻节点启动的RBTt或RBTr表示相邻节点在将来某个时段将要发送或接收实时数据分组,因此侦听到RBTt或RBTr的节点需要计算和记录这个时间段,并在该时间段内回避无线信道接入以避免和实时业务的冲突;
令trsv表示正确发送或接收一个RPK总共所需要的时间段,即预约表中记录的一个预约时间段,
本发明的忙音信道预约中,每个RBTt或RBTr需要对其之后下一个周期的实时分组传输进行信道预约,每个侦听到RBTt或RBTr的节点需要计算接下来一个RPK的传输时间,设节点侦听到RBTt的时刻为tcur1,即实时业务发送节点开始发送第n个实时分组RPKn的时刻,则第n+1个实时分组RPKn+1的预约开始时刻为:
trsv_start=tcur1+tcycle (3)
第n+1个实时分组RPKn+1的预约结束时刻为:
trsv_end=tcur1+tcycle+tRPK (4)
在节点侦听到RBTt时,将按照公式(3)、(4)计算预约时间trsv,计算得到的结果保 存在节点的发送预约表中,表示有某个邻节点将在该段时间内发送实时数据分组;
设节点侦听到RBTr的时刻为tcur2,即实时业务接收节点开始接收第n个实时分组RPKn的时刻,则第n+1个实时分组RPKn+1的预约开始时刻为:
trsv_start=tcur2+tcycle (5)
第n+1个实时分组RPKn+1的预约结束时刻为:
trsv_end=tcur2+tcycle+SIFS+tRPK (6)
在节点侦听到RBTr时,将按照公式(5)、(6)计算预约时间trsv,计算得到的结果保存在节点的接收预约表中,表示有某个邻节点将在该段时间内接收实时数据分组;
步骤2:更新预约表;
若预约表不为空,且预约表中的第一项预约信息标示的结束时间比当前时刻更早,则说明预约表中的第一项预约信息已经过时,需要将该预约信息删除并将之后未过时且距当前时刻最近的预约信息作为预约表中的第一项;
步骤3:插入预约信息到预约表合适的位置;
计算预约时间后,节点按照预约信息中预约开始时间trsv_start的先后,按顺序将其加入相应预约表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110058171.6A CN102123448B (zh) | 2011-03-10 | 2011-03-10 | 一种无线自组织网中基于双忙音机制的信道预约方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110058171.6A CN102123448B (zh) | 2011-03-10 | 2011-03-10 | 一种无线自组织网中基于双忙音机制的信道预约方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102123448A CN102123448A (zh) | 2011-07-13 |
CN102123448B true CN102123448B (zh) | 2014-04-16 |
Family
ID=44251857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110058171.6A Expired - Fee Related CN102123448B (zh) | 2011-03-10 | 2011-03-10 | 一种无线自组织网中基于双忙音机制的信道预约方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102123448B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811105B (zh) * | 2012-07-09 | 2014-08-20 | 中国人民解放军海军航空工程学院 | 一种车辆安全信息广播方法及系统 |
CN107864516B (zh) * | 2017-11-10 | 2019-12-10 | 西安电子科技大学 | 适用于密度非均匀状态QoS硬保障的多址接入方法 |
CN108135014B (zh) * | 2017-12-20 | 2020-12-08 | 陈明帅 | 一种基于ad-hoc网络mac层的通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764961A1 (en) * | 2005-09-20 | 2007-03-21 | NTT DoCoMo, Inc. | Medium access control method and apparatus in wireless distributed network |
CN101848542A (zh) * | 2010-04-06 | 2010-09-29 | 广州海格通信集团股份有限公司 | Ad Hoc网络电台传输实时数据和非实时数据的方法 |
-
2011
- 2011-03-10 CN CN201110058171.6A patent/CN102123448B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764961A1 (en) * | 2005-09-20 | 2007-03-21 | NTT DoCoMo, Inc. | Medium access control method and apparatus in wireless distributed network |
CN101848542A (zh) * | 2010-04-06 | 2010-09-29 | 广州海格通信集团股份有限公司 | Ad Hoc网络电台传输实时数据和非实时数据的方法 |
Non-Patent Citations (1)
Title |
---|
LI,Bo等.Performance Analysis of an Efficient MAC protocol With Multiple-step Distributed In-Band Channel Reservation.《IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY》.2010,第59卷(第1期),368-382页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102123448A (zh) | 2011-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9265056B2 (en) | Methods for responding to co-located coexistence (CLC) request from a mobile electronic device and communications apparatuses capable of controlling multi-radio coexistence | |
ES2427145T3 (es) | Control de acceso al medio de alta velocidad y protocolo de enlace directo | |
TWI375480B (en) | Method and system for controlling access to a wireless communication medium | |
JP4740759B2 (ja) | 無線通信システム | |
Xiao et al. | Local data control and admission control for QoS support in wireless ad hoc networks | |
JP2009518967A (ja) | アドホックモードの802.11ネットワーク用の最適atimサイズセットアップの方法及び装置 | |
US20020093929A1 (en) | System and method for sharing bandwidth between co-located 802.11a/e and HIPERLAN/2 systems | |
US20060028984A1 (en) | Energy efficient medium access control protocol for IEEE 802.11 WLANs | |
CN1957562B (zh) | 用于在无线电通信系统中传输信号的方法和电台 | |
CN103763076B (zh) | 车载自组织网络中基于异步多信道的协作mac协议实现方法 | |
WO2015096154A1 (zh) | 广播控制带宽分配和数据收发方法及装置 | |
KR20090006074A (ko) | Catv 액세스 네트워크를 통해 데이터 송신하기 위한 매체 액세스 제어 방법 | |
WO2014139413A1 (zh) | 非中心式簇机制的实现方法与装置 | |
CN102577175A (zh) | 无线网络中调整终端信号传输时间的方法及装置 | |
CN102123448B (zh) | 一种无线自组织网中基于双忙音机制的信道预约方法 | |
CN101883439B (zh) | 一种无线自组织网中实时业务可靠传输方法 | |
EP1616407B1 (en) | Network with subnets being connectable via bridge terminals | |
US8121059B2 (en) | Wireless non-cellular network | |
You et al. | DRCE: a high throughput QoS MAC protocol for wireless ad hoc networks | |
Zhao | Throughput fairness in infrastructure-based IEEE 802.11 mesh networks | |
竹内彰次郎 | Performance improvement of IEEE802. 11 wireless LAN networks= IEEE802. 11 musen LAN nettowaku no seino kojoni kansuru kenkyu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140416 Termination date: 20150310 |
|
EXPY | Termination of patent right or utility model |