适用于密度非均匀状态QoS硬保障的多址接入方法与流程

文档序号:14061187阅读:193来源:国知局
适用于密度非均匀状态QoS硬保障的多址接入方法与流程

本发明属于通信技术领域,更进一步涉及网络通信协议技术领域中的多址接入,具体是一种适用于密度非均匀状态下服务质量硬保障的多址接入方法。应用于adhoc网络中的通信过程。

本发明可以根据网络节点密度非均匀和业务特性非均匀的特点,通过收发两端联合设计及预约与随机接入结合的方法使具有不同特性的业务得到更好的服务质量。



背景技术:

adhoc网络是一种新型的无线自组织网络,与常用的蜂窝网络和无线局域网不同,它由一组带有无线收发装置的移动节点组成,不需要固定的基站或控制中心,可以在任何时候、任何地点快速组建无线网络,因此近年来受到越来越多的关注。随着网络规模的不断扩大以及业务种类的日渐丰富,多址接入协议在adhoc网络中越来越重要。一方面,adhoc网络的节点移动性强;另一方面,adhoc网络中节点需要传输不同特性的业务。另外,adhoc网络中还存在一些控制信令,其对时延和一次成功传输概率要求都很高,为特殊业务提供特殊服务也是一个重要的问题。

传统的多址接入协议如tdma(timedivisionmultipleaddress),是一种可适用于adhoc网络的多址接入协议。但是tdma是一种固定多址接入协议,将时间资源划分成周期性的时帧,每个时帧再划分成若干个时隙。每一个用户会被分配到其中的一个或者多个时隙。并且每个节点只能在属于自己的时隙中传输数据,若在指定的时隙中没有数据传输,则该时隙就被浪费了。虽然tdma可以进行时隙动态分配的改进来满足不同优先级的服务质量(qos),但是每个节点只能在属于自己的时隙中传输数据的特征就导致了tdma多址接入协议无法做到极低时延,来满足为特殊业务提供特殊服务的要求。所以,为了多址接入协议具有较高的灵活性并且可以保障特殊业务的特殊服务质量,传统的固定多址接入协议不能达到要求。在常见的随机多址接入协议csma/ca中,对数据包也采用了预约机制接入信道,但是在csma/ca协议中,预约限制状态是暂缓所有数据包的发送。

stephenm.clark等人的专利申请“statisticalpriority-basedmultipleaccesssystemandmethod”(公开号:us07680077b1申请号:us10210648)公开了一种基于优先级信道占用统计的多址接入技术。该方法建立在物理层采用拆分突发和跳频跳时传输技术并利用turbo编码和一发多收的基础上,包括:节点建立八个收包队列,分组按照优先级高低重新排队;检查队首分组(优先级最高)是否超时。如果“超时”,将其从队列中移出,再根据“队列是否为空”决定是进入数据传输过程还是“空闲状态”;如果“未超时”,则进入“统计信道占用程度”状态。若信道状态允许该优先级的分组传输,则将其从队列中移出,并进入“发送最高优先级的分组”状态;若信道状态不允许该优先级的分组传输,则“进入基于优先级的退避状态”。退避时间结束,或收到来自上层更高优先级的分组时,进入“检查队列中最高优先级分组”的状态,依次循环。该方法根据物理层技术的保障,实现了多收的机制,增加了吞吐量并可以支持多优先级业务,并通过轮询、插队机制最大程度的保障了最高优先级的特殊服务质量要求。

但是该方法存在不足之处在于:未考虑由于节点的移动性造成的网络密度不均匀因素,造成网络资源的浪费;只考虑发端信道状态未考虑收端信道状态,如果收端信道状态很繁忙而发端信道状态空闲,发端依然会发送数据包,导致数据包碰撞,降低成功传输概率。现有技术中尚未提出具体的信道占用统计值的计算方法;没有对网络中不同的业务特性进行区分,所有业务均采用统一的在阈值限制的前提下随机接入机制接入信道,没有对具有不同特性业务的接入方式进行区分。



技术实现要素:

本发明的目的是针对上述现有技术的不足,提出一种能够利用收发端信道状态信息和邻居节点信息并在阈值限制的前提下利用预约与随机结合接入机制的适用于密度非均匀状态下服务质量硬保障的多址接入方法。

本发明是一种适用于密度非均匀状态下服务质量硬保障的多址接入方法,adhoc网络中各节点互相通信,各节点可以生成自身节点邻居节点信息表,节点处理均包括收包过程及发包过程,其特征在于,发包过程和收包过程分别包括如下步骤:

发包过程:

(1)发包节点初始化:设置发包节点优先级参数发送队列的接入信道阈值,优先级参数发送队列为m个,其中每个发送队列的接入信道阈值分别设置,设置准则是最高优先级发送队列接入信道阈值向最低优先级发送队列接入信道阈值依次递减,执行步骤(2);

(2)到达数据包参与排队:发包节点网络层或者数据链路层到达的数据包进入该节点相应优先级参数发送队列参与排队,执行步骤(3);

(3)通过轮询查找确定待发送数据包:从发包节点最高优先级发送队列向最低优先级发送队列顺次轮询查找,直至发现首个非空优先级发送队列,将这首个非空优先级发送队列队首的数据包作为待发送数据包,并获取该待发送数据包的下一跳节点,执行步骤(4);

(4)发包节点计算邻居节点重叠度:发包节点根据发包节点邻居节点信息和待发送数据包下一跳节点的邻居节点信息计算该节点与待发送数据包下一跳节点的邻居节点重叠度α,执行步骤(5);

(5)发包节点计算信道占用统计值:发包节点根据待发送数据包下一跳节点的信道侦听数和发包节点的信道侦听数计算该节点的信道占用统计值t,执行步骤(6);

(6)发包节点判断信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值:发包节点判断信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值,若小于该接入信道阈值,执行步骤(7);否则大于等于该接入信道阈值,执行步骤(8);

(7)发包节点判断自身是否处于预约限制状态:发包节点判断该发包节点及所属的待发送数据包是否处于预约限制状态,若处于预约限制状态,发包节点暂缓该优先级参数数据包的发送,执行步骤(8);否则未处于预约限制状态,执行步骤(9);

(8)发包节点开始进行退避过程:发包节点对该待发送数据包进行退避,进入退避计时,若该待发送数据包退避时间结束,执行步骤(3),再次进入从最高优先级发送队列到最低优先级发送队列轮询查找过程;若该待发送数据包在退避过程中有更高优先级参数的数据包到达,执行步骤(2),到达的更高优先级参数的数据包进行排队;

(9)再做是否预约发送判断:发包节点针对未处于预约限制状态的待发送数据包,再做是否需要进行预约发送的判断,判断要发送的数据包是否需要进行预约发送,若需要预约发送,执行步骤(10);否则不需要预约发送,执行步骤(11);

(10)开始预约发送:发包节点产生一个rts预约包,赋给该rts预约包为最高优先级,执行步骤(2),参与排队;

(11)发送数据包:发包节点将不需要预约发送的数据包传往物理层,执行步骤(12);

(12)判断发送队列是否为空:发包节点判断刚发送至物理层的数据包对应优先级的发送队列是否为空,若对应优先级的发送队列不为空,执行步骤(3);否则即对应优先级的发送队列为空,执行步骤(13);

(13)发包节点不采取任何措施,保持现有状态;发包节点在保持现有状态的情况下等待下一个数据包的到来,每来一个数据包执行步骤(2)到步骤(13)的循环过程,完成发包过程;

不需要预约的数据包在步骤(11)中经过各步骤的执行后发送,而需要预约的数据包在收到cts包后开始发送;

收包过程:

1)成功收包:收包节点成功接收来自物理层的数据包,执行步骤2);

2)收包节点判断该数据包是否为cts应答包,若为cts应答包,执行步骤3);否则,执行步骤6);

3)收包节点判断自身节点是否为目的节点,若是,执行步骤4);否则,执行步骤5);

4)发送数据包:收包节点发送自身节点中优先级参数为n的发送队列队首位置的数据包,简称为待发送预约数据包;

5)收包节点进入预约限制状态:收包节点限制自身节点所有优先级参数小于等于n的数据包的发送;

6)收包节点判断所收到的来自物理层的数据包是否为ack确认包,若是,执行步骤7);否则,执行步骤10);

7)收包节点判断自身节点是否为目的节点,若是,执行步骤8);否则,执行步骤9);

8)传输成功:收包节点自身为目的节点时,表明自身节点正在进行预约传输的待发送预约数据包传输成功;

9)收包节点解除预约限制状态:收包节点自身不为目的节点时,收包节点解除对所有优先级参数发送队列中小于等于n的数据包发送的限制;

10)收包节点判断收到的来自物理层的数据包是否为rts请求包,若是,执行步骤11);否则,执行步骤13);

11)收包节点判断自身节点是否为目的节点,若是,执行步骤12);否则,执行步骤5);

12)产生cts应答包:若收包节点为目的节点,收包节点产生cts应答包并将该包插入该节点最高优先级参数发送队列队尾;

13)若收包节点收到的来自物理层的数据包不为rts请求包,收包节点判断自身节点是否为目的节点或者为下一跳节点,若是,则执行步骤14);否则,执行步骤15);

14)收包节点判断该来自物理层的数据包优先级参数是否为n,若是,则执行步骤16);否则,执行步骤17);

15)丢弃数据包:收包节点丢弃收到的来自物理层的数据包;

16)数据包发往上层并产生ack确认包:收包节点产生ack确认包并将该ack确认包插入该节点最高优先级发送队列队尾,并将收包节点收到的来自物理层的数据包发往网络层;

17)数据包发往上层:收包节点将优先级参数不为n的来自物理层的数据包发往网络层;

在优先级参数特定业务的发包过程和收包过程中采用了预约机制。

本发明针对自组织网络节点密度非均匀及业务特性不同的特点,结合网络邻居节点信息感知,最大程度的保障节点获得接入信道的机会,并根据业务特性不同,采用不同的接入策略,从而保障不同特性业务的不同特殊服务质量qos。

本发明与现有技术相比具有以下优点:

第一,本发明充分考虑了adhoc网络中局部密度不同的特点,发包节点会根据自身和下一跳节点的邻居节点信息表,计算得到发包节点的邻居节点重叠度。邻居节点重叠度综合考虑了局部网络密度和邻居节点重叠数两个方面。利用邻居节点重叠度计算公式得到发包节点的信道占用统计值,并判断发包节点的信道占用统计值是否小于发包节点待发送数据包对应优先级的预设阈值来决定待发送数据包是否可以接入信道,克服了现有技术中发包节点发送数据包时只考虑发送节点信道忙闲状态这一要素的单一,无法根据收包节点信道状态和网络密度信息更加全面的判定数据包是否可以接入信道,使得本发明可以利用发包节点邻居节点信息和收包节点邻居节点信息及结合收包节点信道状态信息更好的适应网络密度非均匀的场景。

第二,本发明充分考虑了业务特性的差异,发送节点对不同业务特性的业务采用不同的接入方式。发送节点对于对时延不敏感但对成功传输概率有很高要求的业务,采用阈值限制和预约信道相结合的方式接入信道;对于时延敏感的业务赋给其高优先级参数并通过随机接入的机制接入信道,使其可以更快的接受服务;对于时延不敏感及成功传输概率要求不高的业务赋给其低优先级,其克服了现有技术中不考虑待传输业务特性的问题,使得本发明更好的为不同优先级和不同特性的业务提供相应的qos。

附图说明

图1为节点发包及收包的过程图,其中图1a为节点发包过程图,图1b为节点收包过程图;

图2为邻居节点覆盖度场景图,其中图2a为邻居节点部分重叠场景图,图2b为邻居节点极少重叠场景图,图2c为邻居节点完全重叠场景图;

图3为物理层接收脉冲示意图。

具体实施方式

下面结合附图对本发明作详细描述。

实施例1

本发明是一种适用于密度非均匀状态下服务质量硬保障的多址接入方法,adhoc网络中节点互相通信,节点处理均包括收包过程及发包过程,参见图1,对发包过程和收包过程分别包括如下步骤:

本例中adhoc网络支持10种不同优先级业务,最高优先级参数为9,最低优先级参数为0,其中优先级参数为n的业务对首次成功传输概率要求很高,但对时延要求不高,对优先级参数等于n的数据包利用预约信道的方法接入信道,除了优先级参数为n的其它数据包均利用随机接入的方法接入信道。

发包过程:

(1)发包节点初始化:设置发包节点优先级参数发送队列的接入信道阈值,优先级参数发送队列为m个,优先级参数发送队列即优先级业务,也就是m=10;其中每个发送队列的接入信道阈值分别设置,因为最高优先级参数为9,设置准则是最高优先级发送队列接入信道阈值向最低优先级发送队列接入信道阈值依次递减,,执行步骤(2)。

(2)到达数据包参与排队:发包节点网络层或者数据链路层到达的数据包进入该节点相应优先级参数发送队列参与排队,执行步骤(3);不言而喻,该数据包一定排在队尾。

(3)通过轮询查找确定待发送数据包:从发包节点最高优先级发送队列向最低优先级发送队列顺次轮询查找,直至发现首个非空优先级发送队列,将这首个非空优先级发送队列队首的数据包作为待发送数据包,并获取该待发送数据包的下一跳节点,执行步骤(4)。

(4)发包节点计算邻居节点重叠度:发包节点根据发包节点邻居节点信息和待发送数据包下一跳节点的邻居节点信息计算该节点与待发送数据包下一跳节点的邻居节点重叠度α,执行步骤(5)。

(5)发包节点计算信道占用统计值:发包节点根据待发送数据包下一跳节点即收包节点的信道侦听数和发包节点的信道侦听数计算该节点的信道占用统计值t,执行步骤(6);收包节点的信道侦听数和发包节点的信道侦听数发包节点可随时从物理层中获取。

(6)发包节点判断信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值:发包节点判断根据步骤(5)计算得出的信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值,若小于该接入信道阈值,执行步骤(7);否则大于等于该接入信道阈值,执行步骤(8)。本发明中最高优先级参数为9,但是要判断的是待发送数据包优先级参数所对应的预设接入信道阈值。

(7)发包节点判断自身是否处于预约限制状态:发包节点判断该发包节点及所属的待发送数据包是否处于预约限制状态,若处于预约限制状态,发包节点暂缓该优先级参数数据包的发送,执行步骤(8),使发包节点进入退避过程;否则未处于预约限制状态,执行步骤(9),再做是否预约发送判断。

(8)发包节点开始进行退避过程:发包节点对该待发送数据包进行退避,进入退避计时,若该待发送数据包退避时间结束,执行步骤(3),再次进入从最高优先级发送队列到最低优先级发送队列轮询查找过程;若该待发送数据包在退避过程中有更高优先级参数的数据包到达,执行步骤(2),到达的更高优先级参数的数据包进行排队。

(9)再做是否预约发送判断:发包节点针对未处于预约限制状态的待发送数据包,再做是否需要进行预约发送的判断,判断要发送的数据包是否需要进行预约发送,若需要预约发送,执行步骤(10),开始预约发送;否则不需要预约发送,执行步骤(11),直接发送数据包。

(10)开始预约发送:发包节点针对待发送数据包产生一个rts预约包,赋给该rts预约包为最高优先级9,执行步骤(2),参与排队。

(11)发送数据包:发包节点将不需要预约发送的数据包传往物理层,物理层为该发包节点所在数据链路层的下层。执行步骤(12);物理层将从数据链路层到达的包通过发信机发送出去,该发包节点单跳通信范围内的所有邻居节点的收信机都会接收到该数据包。

(12)判断发送队列是否为空:发包节点在发送了不需要预约发送的数据包后,判断刚发送至物理层的数据包对应优先级的发送队列是否为空,若对应优先级的发送队列不为空,执行步骤(3);否则即对应优先级的发送队列为空,执行步骤(13);说明对应优先级的发送队列所有数据包已被发送完毕。

(13)发包节点不采取任何措施,保持现有状态;发包节点在保持现有状态的情况下等待下一个数据包的到来,每来一个数据包执行步骤(2)到步骤(13)的循环过程,完成发包过程。

本发明的发包过程对从网络层到来的或者数据链路层产生的数据包进行排队,等待发送。本发明的不需要预约的数据包在步骤(11)中经过各步骤的执行后发送,而需要预约的数据包在收到cts包后开始发送。

收包过程:

1)成功收包:收包节点成功接收来自物理层的数据包,执行步骤2);收包节点从物理层接收数据包。

2)收包节点判断该数据包是否为cts应答包,若为cts应答包,执行步骤3);否则,执行步骤6);

3)收包节点判断自身节点是否为目的节点,若是,执行步骤4);否则,执行步骤5);

4)发送数据包:收包节点发送自身节点中优先级参数为n的发送队列队首位置的数据包,简称为待发送预约数据包。优先级参数为具体值的业务是需要预约发送的特殊业务,具体值的选取和特殊业务有关,本例中n为4。

5)收包节点进入预约限制状态:收包节点限制自身节点所有优先级参数小于等于n的数据包的发送;本例中n为4。

6)收包节点判断所收到的来自物理层的数据包是否为ack确认包,若是,执行步骤7);否则,执行步骤10);

7)收包节点判断自身节点是否为目的节点,若是,执行步骤8);否则,执行步骤9);

8)传输成功:收包节点自身为目的节点时,表明自身节点正在进行预约传输的待发送预约数据包传输成功;

9)收包节点解除预约限制状态:收包节点自身不为目的节点时,收包节点解除对所有优先级参数发送队列中小于等于n的数据包发送的限制;本例中n为4。

10)收包节点判断收到的来自物理层的数据包是否为rts请求包,若是,执行步骤11);否则,执行步骤13);

11)收包节点判断自身节点是否为目的节点,若是,执行步骤12);否则,执行步骤5);

12)产生cts应答包:若收包节点为目的节点,收包节点产生cts应答包并将该包插入该节点最高优先级参数发送队列队尾;

13)若收包节点收到的来自物理层的数据包不为rts请求包,收包节点判断自身节点是否为目的节点或者为下一跳节点,若是即自身节点是目的节点或为下一跳节点,则执行步骤14);否则,即自身节点不是目的节点或不是下一跳节点,执行步骤15)。

14)收包节点判断该来自物理层的数据包优先级参数是否为n,若是,则执行步骤16);否则,执行步骤17);本例中n为4。

15)丢弃数据包:收包节点丢弃收到的来自物理层的数据包,即该数据包不为ack包、cts包和rts包,而是目的节点或下一跳节点不为收包节点的普通数据包;

16)数据包发往上层并产生ack确认包:收包节点产生ack确认包并将该ack确认包插入该节点最高优先级发送队列队尾,并将收包节点收到的来自物理层的数据包发往网络层;发包节点和收包节点数据链路层处于物理层上方及网络层下方。

17)数据包发往上层:收包节点将优先级参数不为n的来自物理层的数据包发往网络层。此时该接收到的数据包不为需要预约的数据包,直接发往网络层。

本发明对来自物理层的数据包收一个判断一次,依次处理。本例中优先级参数n为4。

本发明在优先级参数为n的特定业务的发包过程和收包过程中采用了预约机制。

本发明充分考虑了adhoc网络中局部密度不同的特点,发包节点会获取一跳邻居节点的邻居节点表,在发包节点发送数据包之前,会查询下一跳的邻居节点信息表,并与自身节点的邻居节点信息表相比较,计算得到发包节点的邻居节点重叠度。邻居节点重叠度综合考虑了局部网络密度和邻居节点重叠数两个方面。对于局部网络密度来说,邻居节点重叠度的计算公式中分母定义为发包节点与收包节点所有的邻居节点个数,邻居节点个数反应了以发包节点或收包节点为中心的单跳通信范围之内子网的网络密度大小,邻居节点重叠度计算公式中的分母则综合考量了发包节点和收包节点的单跳通信范围之内子网的网络密度;对于邻居节点重叠数来说,邻居节点重叠数越多,说明收包节点和发包节点之间信道状态关联性越强,收包节点和发包节点的信道状态越相似,邻居节点重叠数越小,说明收包节点和发包节点之间信道状态关联性越低,收包节点和发包节点的信道状态越独立。利用邻居节点重叠度计算公式得到发包节点的信道占用统计值,并判断发包节点的信道占用统计值是否小于发包节点待发送数据包对应优先级的预设阈值来决定待发送数据包是否可以接入信道,克服了现有技术中发包节点发送数据包时只考虑发送节点信道忙闲状态这一要素的单一,无法根据收包节点信道状态和网络密度信息更加全面的判定数据包是否可以接入信道,使得本发明可以利用发包节点邻居节点信息和收包节点邻居节点信息及结合收包节点信道状态信息更好的适应网络密度非均匀的场景。

实施例2

适用于密度非均匀状态下服务质量硬保障的多址接入方法同实施例1,本发明在优先级参数特定业务的发包过程和收包过程中采用了预约机制,具体涉及发包过程中步骤(5)、步骤(7)和收包过程中对优先级参数为n的特定业务的数据包采用预约机制接入信道,对其它优先级参数的数据包采用随机接入机制接入信道,具体是:

发包节点在向目的节点发送优先级参数为n的数据包之前,会向目的节点发送rts请求包,此时发包节点会进入预约限制状态,暂缓优先级参数小于等于n的数据包的发送;目的节点接收到发包节点发送的rts请求包后,会产生cts应答包并发送给发包节点,此时目的节点会进入预约限制状态,暂缓优先级参数小于等于n的数据包的发送;发包节点收到目的节点发送的cts应答包后开始发送优先级参数为n的数据包;目的节点成功接收到发包节点发送的优先级参数为n的数据包后,产生ack确认包并发送给发包节点,一次预约发送过程成功完成;发包节点的邻居节点接收到rts请求包及收包节点的邻居节点接收到cts应答包,均会暂缓优先级参数小于等于n的数据包的发送,即进入预约限制状态;目的节点的邻居节点接收到ack确认包,会解除预约限制状态,恢复优先级参数小于等于n的数据包的发送。

本发明充分考虑了业务特性的差异,对不同业务特性的业务采用不同的接入方式。对于对时延不敏感但对成功传输概率有特殊要求的业务,采用阈值限制和预约信道的方式接入信道,发送节点发送前先判断信道占用统计值是否小于阈值,若不是,则进行退避,否则对信道进行“预约”,接收节点收到预约包后,会暂缓发送比该业务优先级低的业务分组,并发送应答包,接收节点的邻居节点接收到应答包后,也会暂缓发送比该业务优先级低的业务分组,接收节点收到应答包即开始发送业务。对于时延和成功传输概率都较敏感的业务,赋给其高优先级,并只采用阈值限制的方式接入信道,若信道占用统计值是否小于阈值,发送数据分组,否则进行退避;而对时延和成功传输概率都不敏感的业务,为其设置较低优先级,在时延不敏感但成功传输概率敏感业务优先级之下,通过阈值限制来对业务分组接入信道进行控制。克服了现有技术中不考虑业务特性的问题,使得本发明更好的为不同优先级和不同特性的业务提供相应的qos。

实施例3

适用于密度非均匀状态下服务质量硬保障的多址接入方法同实施例1-2,本发明发包过程中发包过程中步骤(4)所述的计算该节点与下一跳节点的邻居节点重叠度,包括有如下步骤:

4.1网络中每个节点广播自身邻居节点表,每个节点除了可以获取到本节点的一跳邻居信息,也能获取到一跳邻居节点的邻居节点表信息;

4.2在发送数据包之前,先获取下一跳节点编号,得到下一跳节点的邻居节点信息表;

4.3与本节点的邻居节点信息表比较,得到均为两点邻居节点的个数n重叠邻居节点。本节点邻居节点个数为ns邻居节点,下一跳邻居节点个数为nd邻居节点;

4.4得到邻居节点重叠度α∈[0,1],α∈[0,1];

图2a是局部网络密度适中的场景图,s为源节点,d为目的节点,r为通信半径。邻居节点重叠度可以根据公式α∈[0,1]计算得出。

图2b是局部网络密度稀疏的场景图,s为源节点,d为目的节点,r为通信半径。该场景表征了一种源节点与目的节点不存在重叠邻居节点的极端情况,此时该场景下的邻居节点重叠度α=0。

图2c是局部网络密度密集的场景图,s为源节点,d为目的节点,r为通信半径。该场景表征了一种源节点与目的节点邻居节点完全重叠的极端情况,此时该场景下的邻居节点重叠度α=1。

本发明通过计算邻居节点重叠度,充分考虑了adhoc网络中局部密度不同的特点,很好的反映出局部网络密度大小及收发端单跳通信范围子网相似程度,并将该邻居节点重叠度运用于信道占用统计值的计算之中,运用于判断数据包是否可以接入信道中,最终运用于多址接入协议方案的调整中。

实施例4

适用于密度非均匀状态下服务质量硬保障的多址接入方法同实施例1-3,本发明每个数据分组在发送前被拆分成若干个等长的脉冲,并利用跳频跳时方法,使每个脉冲处于不同的频点上进行发送,参见图3,图3中坐标轴纵轴表示频域,横轴表示时域,图3中的每个黑色矩形代表一个脉冲,图3中的统计窗口表示一段时间段,用于统计处于该时间段中脉冲的个数,发包过程中步骤(5)所述的计算该节点的信道占用统计值,包括有如下步骤:

5.1在一个统计窗口twindow内,统计发包节点物理层侦听装置全频段侦听到的脉冲个数ts,脉冲个数ts是发包节点s侦听到的脉冲个数;

在一个统计窗口twindow内,若脉冲的开始接收时间大于统计窗口twindow的开始时间且脉冲的结束接收时间小于统计窗口twindow的结束时间,则使侦听到的脉冲个数ts加1。

5.2查找发包节点待发送数据包的下一跳节点d侦听到的脉冲个数td信息;

5.3根据信道占用统计值计算公式t=(β+α)ts+(1-β-α)td,计算得到信道占用统计值t,式中α为邻居节点重叠度,β为权重偏置因子,β∈[0,1-α],调整该β值可以调整ts与td的占比。

本发明通过计算考虑邻居节点重叠的信道占用统计值,充分考虑了发端信道状态信息和收端信道状态信息,而不是仅仅考虑发端信道状态信息,可以减小数据包的传输碰撞概率。

实施例5

适用于密度非均匀状态下服务质量硬保障的多址接入方法同实施例1-4,本例再对本发明的预约机制做更详细的说明。

具体是发包过程中步骤(5)、步骤(7)和收包过程中对优先级参数为n的数据包采用预约信道的方法接入信道,对其它优先级参数的数据包采用随机接入的方法接入信道,包括有如下步骤:

a.发包节点发送优先级参数为n的数据包之前,先产生rts包并将该rts包插入本节点最高优先级发送队列,该rts包发送节点为本发包节点,该rts包目的节点为待发送优先级参数为n的数据包的下一跳节点;本节点暂缓优先级参数小于等于n的数据包接入信道;

b.收包节点接收到rts包,若本节点为该rts包的目的地址且未处于预约限制状态,则产生cts包并将该cts包插入本节点最高优先级发送队列,该cts包目的节点为本收包节点接收到rts包中的发送节点;若本节点为该rts包的目的地址且处于预约限制状态,则丢弃该rts包;若本节点不为该rts包的目的地址,则暂缓优先级参数小于等于n的数据包接入信道;

c.收包节点接收到cts数据包,若本节点为该cts包的目的地址,则将优先级参数为n的发包队列队首位置的数据包发往物理层;若本节点不为该cts包的目的地址,则暂缓优先级参数小于等于n的数据包接入信道;

d.收包节点接收到除rts包、cts包、ack包的普通数据包,若本节点不为接收到的普通数据包的目的地址,则将其丢弃;若本节点是接收到的普通数据包的目的地址,则将该普通数据包发往网络层,并产生ack包插入本节点最高优先级发送队列,该ack包的目的地址为本节点接收到的普通数据包的发包节点;

e.收包节点接收到ack包,若本节点为接收到的ack包的目的地址,则表明自身节点正在进行预约传输的数据包传输成功并解除对优先级参数小于等于n的数据包接入信道的限制;若本节点不为接收到的ack包的目的地址,则解除对优先级参数小于等于n的数据包接入信道的限制。

下面给出一个更加详细的例子,对本发明进一步说明:

实施例6

适用于密度非均匀状态下服务质量硬保障的多址接入方法同实施例1-5,参照附图1,本发明的具体步骤详细描述如下。

发包过程:

步骤1,发包节点初始化:设置发包节点优先级参数发送队列的接入信道阈值,优先级参数发送队列为m个,其中每个发送队列的接入信道阈值分别设置,设置准则是最高优先级发送队列接入信道阈值向最低优先级发送队列接入信道阈值依次递减,本例中优先级参数发送队列个数m为8。

接入信道阈值是控制各个优先级数据包是否可以接入信道的参数,且最高优先级发送队列接入信道阈值向最低优先级发送队列接入信道阈值依次递减,保证高优先级数据包比低优先级数据包有更大的接入概率。

步骤2,到达数据包参与排队:发包节点网络层或者数据链路层到达的数据包进入该节点相应优先级参数发送队列参与排队,执行步骤(3),确定待发送数据包。

发包节点建有8个发送队列,分别对应于优先级参数为0到优先级参数为7的数据包,并且每一个发送队列遵循先到先服务原则,即在一个发送队列中,先到达的数据包会先接受服务。

步骤3,通过轮询查找确定待发送数据包:从发包节点最高优先级发送队列向最低优先级发送队列顺次轮询查找,直至发现首个非空优先级发送队列,将这首个非空优先级发送队列队首的数据包作为待发送数据包,并获取该待发送数据包的下一跳节点,执行步骤(4),计算邻居节点重叠度。

每当有数据包待发送时,都是从最高优先级发送队列向最低优先级发送队列顺次轮询查找,直至发现首个非空优先级发送队列,从而保证高优先级参数数据包比低优先级参数数据包有更大的被传输机会。

当发包队列需要发送数据包时,从最高优先级参数发送队列向最低优先级参数发送队列轮询,保证了优先级参数高的数据包比优先级参数低的数据包更快的获得服务。这正是本发明服务质量硬保障的措施之一。

步骤4,发包节点计算邻居节点重叠度:发包节点根据发包节点邻居节点信息和待发送数据包下一跳节点的邻居节点信息计算该节点与待发送数据包下一跳节点的邻居节点重叠度α,执行步骤(5),计算信道占用统计值。

4.1网络中每个节点广播自身邻居节点表,每个节点除了可以获取到本节点的一跳邻居信息,也能获取到一跳邻居节点的邻居节点表信息;

4.2在发送数据包之前,先获取下一跳节点编号,得到下一跳节点的邻居节点信息表;

4.3与本节点的邻居节点信息表比较,得到均为两点邻居节点的个数n重叠邻居节点。本节点邻居节点个数为ns邻居节点,下一跳邻居节点个数为nd邻居节点;

4.4得到邻居节点重叠度α∈[0,1]。

由于adhoc网络的移动性,导致网络密度不均匀,会使网络节点的邻居节点关系产生差异,此时通过定义邻居节点重叠度来反映这种差异。节点广播自身邻居节点表,每个节点除了可以获取到本节点的一跳邻居信息,也能获取到一跳邻居节点的邻居节点表信息。在发送数据包之前,先获取下一跳节点地址,得到下一跳节点的邻居节点信息表。将下一跳节点的邻居节点信息表与本发送节点的邻居节点信息表比较,得到发包节点和下一跳节点共同邻居节点的个数n重叠邻居节点。本发包节点邻居节点个数为ns邻居节点,下一跳邻居节点个数为nd邻居节点。邻居节点重叠度

参照附图2,对计算邻居节点重叠度的不同场景进行详细的描述。

图2a是局部网络密度适中的场景图,s为源节点,d为目的节点,r为通信半径。邻居节点重叠度可以根据公式计算得出,这是局部网络密度适中的常见场景图,需综合考虑源节点信道状态信息和目的节点信道状态信息。

图2b是局部网络密度稀疏的场景图,s为源节点,d为目的节点,r为通信半径。该场景表征了一种源节点与目的节点不存在重叠邻居节点的极端情况,此时该场景下的邻居节点重叠度α=0,在该场景中,应最大限度的考虑目的节点的信道状态信息,应最小限度的考虑源节点的信道状态信息。

图2c是局部网络密度密集的场景图,s为源节点,d为目的节点,r为通信半径。该场景表征了一种源节点与目的节点邻居节点完全重叠的极端情况,此时该场景下的邻居节点重叠度α=1,在该场景中,应最大限度的考虑源节点的信道状态信息,应最小限度的考虑目的节点的信道状态信息。

步骤5,发包节点计算信道占用统计值:发包节点根据待发送数据包下一跳节点的信道侦听数和发包节点的信道侦听数计算该节点的信道占用统计值t,执行步骤(6),判断信道占用统计值与接入信道阈值大小。

5.1在一个统计窗口twindow内,统计发包节点物理层侦听装置全频段侦听到的脉冲个数ts,脉冲个数ts是发包节点s侦听到的脉冲个数;

5.2查找发包节点待发送数据包的下一跳节点d侦听到的脉冲个数td信息;

5.3根据信道占用统计值计算公式t=(β+α)ts+(1-β-α)td,计算得到信道占用统计值t,式中α为邻居节点重叠度,β为权重偏置因子,β∈[0,1-α],调整该β值可以调整ts与td的占比。

发包节点的每个数据分组在发送前会被拆分成若干个等长的脉冲,并利用跳频跳时技术,每个脉冲是处于不同的频点上进行发送,统计窗口时长为twindow。信道侦听个数即是在一个统计窗口内,物理层侦听装置全频段侦听到的脉冲个数。信道占用统计值通过本节点和下一跳节点的信道侦听个数信息进行联合设计。信道占用统计值为t=(β+α)ts+(1-β-α)td,其中α为邻居节点重叠度,β为权重偏置因子(调整该值可以调整ts与td的占比),ts为发节点s侦听到的脉冲个数,td为下一跳节点d侦听到的脉冲个数。

步骤6,发包节点判断信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值:发包节点判断信道占用统计值t是否小于待发送数据包对应优先级参数发送队列的预设接入信道阈值,若小于该接入信道阈值,执行步骤(7),判断是否处于预约状态;否则大于等于该接入信道阈值,执行步骤(8),进行退避过程。

信道占用统计值是发包节点和收包节点信道忙闲程度的一种综合表征,信道占用统计值越大则说明信道越繁忙;信道占用统计值越小则说明信道越空闲;各个优先级参数预设的阈值控制了对应优先级参数数据包接入信道的机会。

步骤7,发包节点判断自身是否处于预约限制状态:发包节点判断该发包节点及所属的待发送数据包是否处于预约限制状态,若处于预约限制状态,发包节点暂缓该优先级参数数据包的发送,执行步骤(8),进行退避过程;否则未处于预约限制状态,执行步骤(9),判断是否需要预约。

由于优先级参数为n的接入信道方法为预约接入,所以当发包节点收到目的节点不为本发包节点的rts包、cts包等预约包时,会进入预约限制状态,即暂缓本发包节点优先级参数小于等于n的数据包的发送,当发包节点收到目的节点为本发包节点的rts包、cts包等预约包时,会暂缓本发包节点优先级参数小于n的数据包的发送,本例中优先级参数n为3。

步骤8,发包节点开始进行退避过程:发包节点对该待发送数据包进行退避,进入退避计时,若该待发送数据包退避时间结束,执行步骤(3),再次进入从最高优先级发送队列到最低优先级发送队列轮询查找过程;若该待发送数据包在退避过程中有更高优先级参数的数据包到达,执行步骤(2),到达的更高优先级参数的数据包进行排队。

若发包节点由于信道占用统计值小于相应优先级参数预设阈值,或者该优先级参数数据包由于信道正在被预约而被暂缓发送都会进行退避过程。为了保障不同优先级参数数据包的qos,数据包优先级参数越高,退避窗口越小,即该数据包退避时间越短,数据包优先级参数越低,退避窗口越大,即该数据包退避时间越长。

步骤9,再做是否预约发送判断:发包节点针对未处于预约限制状态的待发送数据包,再做是否需要进行预约发送的判断,判断要发送的数据包是否需要进行预约发送,若需要预约发送,执行步骤(10),开始预约发送;否则不需要预约发送,执行步骤(11),直接发送数据包。

由于优先级参数为n的业务对时延性能要求不高但对可靠性有着特殊要求,于是该优先级参数的数据包接入信道需要进行预约信道过程。发包节点会产生一个rts预约包并赋给其最高优先级,然后进入步骤(2)将rts包插入到最高优先级参数发包队列的队尾,本例中优先级参数n为3。

步骤10,开始预约发送:发包节点产生一个rts预约包,赋给该rts预约包为最高优先级,执行步骤(2),参与排队。

发包节点待发送数据包为优先级参数为n的数据包,需要进行预约信道过程,该发包节点产生rts包,rts包目的地址为该发包节点待发送节点的下一跳节点,rts包源地址为该发包节点,本例中优先级参数n为3。

步骤11,发送数据包:发包节点将不需要预约发送的数据包传往物理层,执行步骤(12),判断发送队列是否为空。

该发包节点的待发送数据包优先级参数不为n,待发送数据包不需采用预约信道的方式接入信道,该待发送数据包采用随机接入的方式接入信道即立即接入信道,本例中优先级参数n为3。

步骤12,判断发送队列是否为空:发包节点判断刚发送至物理层的数据包对应优先级的发送队列是否为空,若对应优先级的发送队列不为空,执行步骤(3),轮询查找待发送数据包;否则即对应优先级的发送队列为空,执行步骤(13)。

步骤13,发包节点不采取任何措施,保持现有状态;发包节点在保持现有状态的情况下等待下一个数据包的到来,每来一个数据包执行步骤(2)到步骤(13)的循环过程,完成发包过程。

发包节点中刚发送的数据包对应优先级参数发送队列为空,发送节点不会采取任何措施,等待下一个数据包到达对应优先级参数发送队列或者待发送数据包退避时间结束。

不需要预约的数据包在步骤(11)中经过各步骤的执行后发送,而需要预约的数据包在收到cts包后开始发送;

收包过程:

步骤1),成功收包:收包节点成功接收来自物理层的数据包,执行步骤2)。

步骤2),收包节点判断该数据包是否为cts应答包,若为cts应答包,执行步骤3);否则,执行步骤6)。

步骤3),收包节点判断自身节点是否为目的节点,若是,执行步骤4);否则,执行步骤5)。

步骤4),发送数据包:收包节点发送自身节点中优先级参数为n的发送队列队首位置的数据包,简称为待发送预约数据包,本例中优先级参数n为3。

收包节点接收到目的地址为自身节点的cts数据包,表明收包节点中正在预约的优先级参数为n的待发送数据包预约信道成功,可以将该待发送数据包发送至物理层,本例中优先级参数n为3。

步骤5),收包节点进入预约限制状态:收包节点限制自身节点所有优先级参数小于等于n的数据包的发送,本例中优先级参数n为3。

收包节点接收到目的地址不为自身节点的cts包或者rts包,表明收包节点的邻居节点中,有邻居节点正在预约信道,收包节点暂缓自身节点优先级参数小于等于n的数据包的发送,本例中优先级参数n为3。

步骤6),收包节点判断所收到的来自物理层的数据包是否为ack确认包,若是,执行步骤7);否则,执行步骤10)。

步骤7),收包节点判断自身节点是否为目的节点,若是,执行步骤8);否则,执行步骤9)。

步骤8),传输成功:收包节点自身为目的节点时,表明自身节点正在进行预约传输的待发送预约数据包传输成功。

收包节点接收到目的地址为自身节点的ack数据包,表明收包节点中进行预约的优先级参数为n的待发送数据包传输成功,该收包节点可以继续发送优先级参数小于等于n的数据包,本例中优先级参数n为3。

步骤9),收包节点解除预约限制状态:收包节点自身不为目的节点时,收包节点解除对所有优先级参数发送队列中小于等于n的数据包发送的限制,本例中优先级参数n为3。

收包节点接收到目的地址不为自身节点的ack数据包,则直接解除暂缓发送对优先级参数小于等于n的数据包信道接入的限制,本例中优先级参数n为3。

步骤10),收包节点判断收到的来自物理层的数据包是否为rts请求包,若是,执行步骤11);否则,执行步骤13)。

步骤11),收包节点判断自身节点是否为目的节点,若是,执行步骤12);否则,执行步骤5)。

步骤12),产生cts应答包:若收包节点为目的节点,收包节点产生cts应答包并将该包插入该节点最高优先级参数发送队列队尾;

收包节点接收到目的地址为自身节点的rts包,表明有其它网络节点正在与本收包节点预约信道,本收包节点产生cts包,该cts包目的地址为收包节点收到的rts包的源节点,赋给该cts包最高优先级参数并将该cts包插入该收包节点最高优先级发送队列。

步骤13),若收包节点收到的来自物理层的数据包不为rts请求包,收包节点判断自身节点是否为目的节点或者为下一跳节点,若是,则执行步骤14);否则,执行步骤15)。

步骤14),收包节点判断该来自物理层的数据包优先级参数是否为n,若是,则执行步骤16);否则,执行步骤17),本例中优先级参数n为3。

步骤15),丢弃数据包:收包节点丢弃收到的来自物理层的数据包。

步骤16),数据包发往上层并产生ack确认包:收包节点产生ack确认包并将该ack确认包插入该节点最高优先级发送队列队尾,并将收包节点收到的来自物理层的数据包发往网络层。

收包节点接收到优先级参数为n的不为ack包、cts包和rts包的普通数据包,产生ack包,该ack包目的地址为收包节点收到的普通数据包的源节点,赋给该ack包最高优先级参数并将ack包插入该收包节点最高优先级发送队列队尾,本例中优先级参数n为3。

步骤17),数据包发往上层:收包节点将优先级参数不为n的来自物理层的数据包发往网络层,本例中优先级参数n为3。

综上所述,本发明公开的一种密度非均匀状态下服务质量硬保障的多址接入方法,解决现有技术无法充分利用收端信息并未考虑节点密度和业务特性的问题。本发明具体实现步骤主要是:发包过程:首先,建立不同优先级业务的发包队列,将不同优先级业务放入对应队列中;其次,计算邻居节点重叠度并根据侦听到的脉冲个数计算信道占用统计值;最后,比较信道占用统计值与阈值大小,并根据业务特性采用不同的接入方式。收包过程:首先,从物理层接收数据包;其次,判断数据包的类型;最后,根据数据包类型和本节点是否为目的节点进行发包、退避或者丢弃操作。本发明设计的密度非均匀状态下服务质量硬保障的多址接入技术方法适合移动自组织网络,其中本发明针对移动自组织网络密度非均匀变化的特点,通过与发端联合设计并引入邻居节点重叠度和多种信道接入方式,提高了用户的服务质量。本发明引入了预约机制,用上述重叠度和统计值参与接入信道判断,化解网络密度不均的矛盾,更合理的设计接入策略,提高了用户服务质量,可靠性强,应用于移动自组织网络。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1