CN102026225A - 无线网状网络的动态队列管理方法 - Google Patents
无线网状网络的动态队列管理方法 Download PDFInfo
- Publication number
- CN102026225A CN102026225A CN2010105673137A CN201010567313A CN102026225A CN 102026225 A CN102026225 A CN 102026225A CN 2010105673137 A CN2010105673137 A CN 2010105673137A CN 201010567313 A CN201010567313 A CN 201010567313A CN 102026225 A CN102026225 A CN 102026225A
- Authority
- CN
- China
- Prior art keywords
- share
- data flow
- fair
- node
- time
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为无线网状网络的动态队列管理方法。本法在网络各节点处根据多跳因子动态地为流经该节点的数据流分配缓存空间,具体为:I、在各节点建各数据流子队列的公平链表,表内包含流经该节点上所有数据流的参数信息;II、当新数据包到达某节点时,更新公平链表;III、若该数据流的占用份额小于实时公开份额,则该数据包直接进入子队列;若占用份额大于实时公开份额,但超出份额小于全局变量与多跳因子的乘积,该数据包仍进入子队列;否则该数据包丢弃。本法引用了多跳因子,提高无线网状网络中跳数不同的数据流之间的传输公平性;且无需改动通信协议,可与各种MAC协议共用。
Description
(一)技术领域
本发明涉及无线网状网络的队列管理方法,具体为一种无线网状网络的动态队列管理方法。
(二)背景技术
无线网状网络作为新一代宽带接入网络模式,能够对现在的多种网络进行融合,顺应了无线通信的发展趋势。无线网状网络的基本思想与Ad Hoc网络(多跳无线网络)类似,不在彼此的传输范围内的两个节点若需要进行通信就必须通过中间节点进行数据的转发。但是,随着中间节点的增加,跳数增加,链路的有效带宽会急剧下降。当长跳流与短跳流共存时,长跳流的吞吐量会急剧下降,从而导致了不同跳数的数据流之间的不公平性。隐藏终端/暴露终端问题是造成跳数不公平性的主要原因。对此已有针对802.11的一些改动机制。
中间节点的缓存队列管理机制同样也会加剧这种不同跳数的数据流之间不公平性。目前缓存队列管理多采用尾丢弃管理机制(Droptail)。当一个数据包需要一个网络中间节点转发时,数据包进入该中间节点的队列接口时,队列管理对进行的数据包执行尾丢弃的操作。也就是说当队列满时,丢弃最近进入队列的数据包,而不管这个数据包已经传输的跳数。很显然,跳数少的数据流(例如邻近节点产生的数据流)或者自身产生的数据流的到达速率高,它们的数据包会很快充斥该中间节点的缓存空间,而经过多跳之后才到达中间节点的数据包则由于中间节点的缓存空间已满而被丢弃。同时,信道接入延迟也会降低多跳数据流的数据包的到达速率,使得多跳流的数据包被尾丢弃的概率加大。反之,跳数少的数据流在中间节点处被丢弃的概率相对较小,能获得更好的网络性能。
因此,为解决无线网状网络中跳数不同的数据流之间的传输不公平性问题,需要设计在中间节点对各个数据流实施考虑跳数这一因素的动态队列管理方法。
(三)发明内容
本发明的目的是设计一种无线网状网络的动态队列管理方法,本管理方法是为不同的数据流子队列分配缓存时引入多跳因子,为不同跳数的数据流动态地分配缓存空间。从而在不影响总吞吐量的前提下,提高无线网状网络中不同跳数的数据流之间的公平性,并且减小了数据流的往返时延。
本发明设计的无线网状网络的动态队列管理方法是在网络各节点处根据多跳因子动态地为流经该节点的数据流分配缓存空间,多跳因子top的计算公式为:
式中n为网络某个节点的代码;
i为流经n节点的的某个数据流编号,
top[n][i]为节点n上的数据流i的跳数值
interval_time[n][i]为节点n上的数据流i的进队间隔时间。
本方法具体实施步骤如下:
I、在无线网状网络的每一个节点建立各个数据流子队列的公平链表,每个表包含流经某节点的某个数据流的信息。其包含的参数如表1所示:
表1 数据流子队列公平链表
本方法还引入全局变量residual_share,表示某个节点缓存空间中各个数据流最大份额超过公平份额的总和。
II、当有新的数据包到达某个节点时,节点首先根据数据包的包头标志,检测其现有的公平链表中是否已经存在该数据包所属数据流的信息。若不存在该数据流的公平链表,则实时创建该数据流的子队列,并将该数据流子队列链表中的最大份额Max_share与公平份额Fair_share初始化。最大份额Max_share为队列缓存总量的平均值,其值为该节点缓存空间的总长度与创建该数据流子队列时的实时子队列总数之比。而公平份额Fair_share初始值等于最大份额Max_share。
若存在该数据流的公平链表,则记录每条数据流的入队间隔时间interval_time和服务时间serv_time,并据此对该数据流子队列公平链表中的多跳因子top与公平份额Fair_share进行实时更新,如式A、B所示。
Fair_share=min(max_share,top*(serv_time/interval_time)) B
每接收到一个数据包之后,该节点的全局变量residual_share与该数据流的超出份额used_residual_share值也要更新,如式C、D所示。
used_residual_share=occupied_share-max_share D
III、若该数据流的占用份额occupied_share值小于实时计算的公平份额Fair_share值,则该数据包直接进入子队列;
若该数据流的占用份额occupied_share值大于实时计算的公平份额Fair_share值,但是超出份额used_residual_share小于全局变量与多跳因子的乘积residual_share*top,则该数据包仍进入子队列;否则该数据包丢弃。
表达式全局变量与多跳因子的乘积residual_share*top代表根据该数据流的多跳因子分配的可使用剩余缓存大小。
本发明方法在网络各节点上通过网络仿真软件实现。
以上所述本方法管理的网状网络的数据流指TCP流或者UDP流。
本发明无线网状网络的动态队列管理方法的优点为:1,本方法引用了多跳因子,在缓存队列管理中考虑到数据流的跳数这一因素,从而解决无线网状网络中跳数不同的数据流之间的传输不公平性问题;2、在不改动IEEE802.11协议的基础上提高了不同跳数的数据流之间的传输公平性;3,本方法可以与各种公平MAC协议一起使用。
(四)附图说明
图1为本无线网状网络的动态队列管理方法实施例的无线网状网络仿真拓扑图;
图2为图1本例队列管理方法和尾丢弃队列管理方法在AP0处三条数据流吞吐量对比图。
(五)具体实施方式
图1所示为当前无线网状网络中常见的拓扑结构图。图中AP1、AP2、AP3、AP0为节点,各相邻节点之间的距离为200m。介质访问层MAC类型为802_11,路由协议(Routing)为DSDV,AP3发送UDP3流到AP0处,AP2发送UDP2流到AP0处,AP1发送UDP1流到AP0处,三条UDP流的发送速率均为1000kbps,传输范围为250米,侦听范围为550米。各节点的缓存空间总值为50,一个数据包的大小为1024byes。
在使用传统的尾丢弃Droptail方法时,在AP1处,其自身数据流UDP1的进队速率远大于转发的多跳流UDP2、UDP3的进队速率。在AP1的队列中,充斥着自身数据流UDP1的数据包,而二跳流UDP2、三跳流UDP3的数据包大部分被尾丢弃掉了。三跳流UDP3几乎完全被饿死,而二跳流的吞吐量也很小。
在网络仿真软件NS2.27(Network Simulator Version 2.27)中,部署如图1的仿真场景,在图1中的AP1、AP2、AP3、AP0各节点上使用本无线网状网络的动态队列管理方法。在每个节点处对经过该节点的不同的数据流建立不同的子队列,初始状态为不同的子队列分配相同的缓存空间,此后根据代表数据流所经历的跳数的多跳因子top值动态地分配缓存空间。
本无线网状网络的动态队列管理方法实施例具体步骤如下:
I、在无线网状网络的AP1、AP2、AP3、AP0各节点建立各个数据流子队列的公平链表,AP1节点建立UDP1、UDP2和UDP3三个数据流子队列的公平链表,AP2建立UDP2和UDP3两个数据流子队列的公平链表,AP3建立UDP3数据流子队列的公平链表,AP0建立UDP1、UDP2和UDP3三个数据流子队列的公平链表。
每个公平链表包含流经该节点的某个数据流的信息。以AP1节点在T时刻三个数据流子队列公平链表如表2~4所示,
表2 AP1节点UDP1数据流子队列公平链表
参数变量 | 变量说明 |
flow_id流编号 | UDP1 |
interval_time间隔时间 | 0.01 |
serv_time服务时间 | 0.18 |
Max_share最大份额 | 50/3 |
Fair_share公平份额 | 3.5 |
occupied_share占用份额 | 11 |
used_residual_share超出份额 | -5.6 |
top多跳因子 | 0.18 |
表3 AP1节点UDP2数据流子队列公平链表
参数变量 | 变量说明 |
flow_id流编号 | UDP3 |
interval_time间隔时间 | 0.02 |
serv_time服务时间 | 0.21 |
Max_share最大份额 | 50/3 |
Fair_share公平份额 | 3.6 |
occupied_share占用份额 | 7 |
used_residual_share超出份额 | -9.6 |
top多跳因子 | 0.35 |
表4 AP1节点UDP3数据流子队列公平链表
参数变量 | 变量说明 |
flow_id流编号 | UDP3 |
interval_time间隔时间 | 0.03 |
serv_time服务时间 | 0.25 |
Max_share最大份额 | 50/3 |
Fair_share公平份额 | 4.3 |
occupied_share占用份额 | 4 |
used_residual_share超出份额 | -12.6 |
top多跳因子 | 0.47 |
T时刻AP1节点的全局变量剩余份额residual_share为38.4。
II、仍以AP1节点为例,T时刻,仅有数据流UDP1(流编号为1)的数据包进入,根据数据包的包头标志,检测其现有的公平链表中已经存在该数据包所属数据流UDP1的信息。记录该条数据流的入队间隔时间interval_time和服务时间serv_time,并据此计算得到数据流UDP1的参数更新值,如下式A0、B0、C0、D0所示,式中各变量的下标表示该数据流的流编号:
top1=interval_time1/int erval_time1=1 (A0)
Fair_share1=serv_time1/interval_time1 (B0)
residual_share=max_share1-fair_share1 (C0)
used_residual_share1=occupied_share1-max_share1 (D0)
T+1时刻,又有数据流UDP2的数据包进入,此时存在UDP1、UDP2(流编号为2)数据流,可计算得到数据流UDP2的参数更新如下式A1、B1、C1、D1所示:
top2=interval_time2/(interval_time1+interval_time2) (A1)
Fair_share2=top2*(serv_time2/interval_time2) (B1)
residual_share=(max_share1-fair_share1)+(max_share2-fair_share2) (C1)
used_residual_share2=occupied_share2-max_share2 (D1)
T+2时刻,又有数据流UDP3的数据包进入,此时存在UDP1、UDP2、UDP3(流编号为3)三条数据流,可计算得到数据流UDP3的参数更新如下式A2、B2、C2、D2所示:
top3=interval_time3/(interval_time1+interval_time2+interval_time3) (A2)
Fair_share3=top3*(serv_time3/interval_time3) (B2)
residual_share=(max_share1-fair_share1)+(max_share2-fair_share2)+(max_share3-fair_share3) (C2)
used_residual_share3=occupied_share3-max_share3 (D2)
III、若该数据流的占用份额occupied_share值小于实时计算的公平份额Fair_share值,则该数据包直接进入子队列;
若该数据流的占用份额occupied_share值大于实时计算的公平份额Fair_share值,但是超出份额used_residual_share小于全局变量与多跳因子的乘积residual_share*top,则该数据包仍进入子队列;否则该数据包丢弃。
由步骤II的计算结果可以看到:
UDP1的占用份额occupied_share值大于实时计算的公平份额Fair_share值,且超出份额used_residual_share大于全局变量与多跳因子的乘积residual_share*top,故UDP1在T时刻进入AP1的数据包数据包丢弃;
UDP2的占用份额occupied_share值大于实时计算的公平份额Fair_share值,但是超出份额used_residual_share小于全局变量与多跳因子的乘积residual_share*top,故UDP2在T+1时刻进入AP1的数据包仍进入子队列;
UDP3数据流的占用份额occupied_share值小于实时计算的公平份额Fair_share值,则UDP3在T+2时刻进入AP1的数据包直接进入子队列。
多跳因子top限制了AP1节点上短跳流UDP1子队列能容纳的最大长度。当UDP1子队列占用缓存的长度超过其最大长度时,对其进行丢包操作。源端AP1探测到数据丢失之后,降低发送速率,使得该短跳流UDP1进队的时间间隔加长。此后在UDP1数据流所经历的节点上计算得到的top值会变大,UDP1数据流子队列能容纳的最大长度也会变长。而当UDP3的源端AP1速率又逐渐增大时,UDP1数据流在流经的AP节点处进队速率也逐渐增加,使UDP1的top值与最大的容纳长度又相应减小。通过本发明方法的调节,在各AP节点处动态地为各数据流分配不同的缓存空间。既能够保证短跳流的吞吐量,又不会使其霸占着带宽,影响长跳流的传输。
图2所示为使用传统的尾丢弃Droptail方法和本发明的动态队列管理方法在AP0节点三条数据流的吞吐量对比。图中纵坐标为吞吐量,单位为千比特/秒,深色的柱形表示采用尾丢弃的管理方法数据流的吞吐量,浅色柱形表示采用本管理方法数据流的吞吐量,由此可以看到,采用尾丢弃的管理方法AP0节点处三跳流UDP3的吞吐量为0,二跳流UDP2的吞吐量也只有23kbps,而短跳流UDP1吞吐量高达659kbps,也就是说AP0的接口队列几乎全被短跳流UDP1占有,跳数不同的数据流之间的传输显著不公平。而使用本发明方法,AP0节点处三跳流UDP3的吞吐量为132kbps,二跳流UDP2的吞吐量为135kbps,而短跳流UDP1吞吐量达322kbps。由于本方法引入了多跳因子参与分配节点的缓存空间,大大提高了不同跳数的数据流之间的传输公平性。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (4)
1.无线网状网络的动态队列管理方法,其特征在于:
在网络各节点处根据多跳因子动态地为流经该节点的数据流分配缓存空间,多跳因子top的计算公式为:
式中n为网络某个节点的代码;
i为流经n节点的的某个数据流编号,
top[n][i]为节点n上的数据流i的跳数值
interval_time[n][i]为节点n上的数据流i的进队间隔时间。
2.根据权利要求1所述的无线网状网络的动态队列管理方法,其特征在于具体实施步骤如下:
I、在无线网状网络的每一个节点建立各个数据流子队列的公平链表,每个表包含流经某个节点n的某个数据流i的信息,其包含的参数如下
①flow_id数据流编号 进入节点的数据流的标识符号
②interval_time间隔时间 数据流的进队间隔时间
③serv_time服务时间 数据流在队列中的服务时间
④Max_share最大份额 数据流分配的最大份额,量值为数据包的数量,其值等于该节点的总缓存空间除以当前存在的数据流数目;
⑤Fair_share公平份额 实时计算得到的数据流公平份额;根据数据流在该节点处的入队速率计算获得的缓存空间大小;
⑥occupied_share占用份额 数据流当前占用的缓存空间大小
⑦used_residual_share超出份额 数据流占用的缓存空间超过最大份额的大小
⑧top多跳因子 代表数据流所经历的跳数
还有全局变量剩余份额residual_share,表示某个节点缓存空间中所有的数
据流最大份额超过公平份额的总和;
II、当有新的数据包到达某个节点时,节点首先根据数据包的包头标志,检测其现有的公平链表中是否已经存在该数据包所属数据流的信息;若不存在该数据流的公平链表,则实时创建该数据流的子队列,并将该数据流子队列链表中的最大份额Max_share与公平份额Fair_share初始化;最大份额Max_share为队列缓存总量的平均值,其值为该节点缓存总长度与创建该数据流子队列时的实时子队列总数之比,而公平份额Fair_share初始值等于最大份额Max_share;
若存在该数据流的公平链表,则记录每条数据流的入队间隔时间interval_time和服务时间serv_time,并据此对该数据流子队列公平链表中的多跳因子top与公平份额Fair_share进行实时更新,如式A、B所示:
Fair_share=min(max_share,top*(serv_time/interval_time)) B
每接收到一个数据包之后,该节点的全局变量residual_share与该数据流的超出份额used_residual_share值也要更新,如式C、D所示:
used_residual_share=occupied_share-max_share D
III、若该数据流的occupied_share值小于实时计算的公平份额Fair_share值,则该数据包直接进入子队列;
若该数据流的占用份额occupied_share值大于实时计算的公平份额Fair_share值,但是超出份额used_residual_share小于全局变量与多跳因子的乘积residual_share*top,则该数据包仍进入子队列;否则该数据包丢弃。
3.根据权利要求1或2所述的无线网状网络的动态队列管理方法,其特征在于:
所述本方法管理的网状网络的数据流为TCP流或者UDP流。
4.根据权利要求1或2所述的无线网状网络的动态队列管理方法,其特征在于:
所述本方法在网络各节点上通过网络仿真软件实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105673137A CN102026225B (zh) | 2010-11-29 | 2010-11-29 | 无线网状网络的动态队列管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105673137A CN102026225B (zh) | 2010-11-29 | 2010-11-29 | 无线网状网络的动态队列管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102026225A true CN102026225A (zh) | 2011-04-20 |
CN102026225B CN102026225B (zh) | 2013-08-21 |
Family
ID=43866935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105673137A Expired - Fee Related CN102026225B (zh) | 2010-11-29 | 2010-11-29 | 无线网状网络的动态队列管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102026225B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454937A (zh) * | 2016-09-29 | 2017-02-22 | 东南大学 | 一种移动终端缓存空间的分配控制方法 |
CN112039803A (zh) * | 2020-09-10 | 2020-12-04 | 中国舰船研究设计中心 | 一种在时间触发网络中的数据传输方法 |
CN113507724A (zh) * | 2021-06-30 | 2021-10-15 | 西安理工大学 | 一种基于链表的无线通信节点在网状态检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135593A1 (en) * | 2001-09-26 | 2003-07-17 | Bernard Lee | Management system |
CN1816205A (zh) * | 2005-02-04 | 2006-08-09 | 合勤科技股份有限公司 | 无线网络的安全机制自动设定方法及装置 |
EP1708415A1 (en) * | 2005-04-01 | 2006-10-04 | Zyxel Communications Corporation | Method and apparatus for automatically setting the security parameters in WLANs |
-
2010
- 2010-11-29 CN CN2010105673137A patent/CN102026225B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135593A1 (en) * | 2001-09-26 | 2003-07-17 | Bernard Lee | Management system |
CN1816205A (zh) * | 2005-02-04 | 2006-08-09 | 合勤科技股份有限公司 | 无线网络的安全机制自动设定方法及装置 |
EP1708415A1 (en) * | 2005-04-01 | 2006-10-04 | Zyxel Communications Corporation | Method and apparatus for automatically setting the security parameters in WLANs |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454937A (zh) * | 2016-09-29 | 2017-02-22 | 东南大学 | 一种移动终端缓存空间的分配控制方法 |
CN106454937B (zh) * | 2016-09-29 | 2020-02-18 | 东南大学 | 一种移动终端缓存空间的分配控制方法 |
CN112039803A (zh) * | 2020-09-10 | 2020-12-04 | 中国舰船研究设计中心 | 一种在时间触发网络中的数据传输方法 |
CN112039803B (zh) * | 2020-09-10 | 2022-09-06 | 中国舰船研究设计中心 | 一种在时间触发网络中的数据传输方法 |
CN113507724A (zh) * | 2021-06-30 | 2021-10-15 | 西安理工大学 | 一种基于链表的无线通信节点在网状态检测方法 |
CN113507724B (zh) * | 2021-06-30 | 2022-06-17 | 西安理工大学 | 一种基于链表的无线通信节点在网状态检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102026225B (zh) | 2013-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | Fast mixing of parallel Glauber dynamics and low-delay CSMA scheduling | |
Grasic et al. | The evolution of a DTN routing protocol-PRoPHETv2 | |
Chiang et al. | Routing in clustered multihop, mobile wireless networks with fading channel | |
Khandakar | Step by step procedural comparison of DSR, AODV and DSDV routing protocol | |
US8520556B2 (en) | Terminal and N-tree constructing method | |
Garrido et al. | ns-2 vs. OPNET: a comparative study of the IEEE 802.11 e technology on MANET environments | |
CN105791152B (zh) | 一种流量控制方法、sdn控制器和sdn设备 | |
CN105491584A (zh) | 移动应用专用网络 | |
CN105163354B (zh) | 一种利用成对流间网络编码机会的数据流时延保障策略 | |
CN102026225B (zh) | 无线网状网络的动态队列管理方法 | |
CN105490939A (zh) | 基于实用性的交叉成层 | |
CN105119828A (zh) | 一种快速的无线网络路由实现方法 | |
CN101674220B (zh) | 基于转发历史的异步路由方法 | |
CN109413752A (zh) | 一种面向无线低功耗网络的实时资源调度方法 | |
Jin et al. | Epidemic-based controlled flooding and adaptive multicast for delay tolerant networks | |
CN107710849A (zh) | Tsch无线通信网络中的自适应时隙分配 | |
Jiru et al. | Data aggregation in VANETs a generalized framework for channel load adaptive schemes | |
Golubnichaya | Analysis of wireless sensor networks characteristics | |
CN106454899A (zh) | 一种无线mesh网络生存时间优化方法 | |
Maleh et al. | Comparative Analysis of routing protocols AODV DSDV and DSR in MANET | |
Vijayalakshmi et al. | Energy Aware Multicast Clustering (EAMC) with increased Quality of Service (QoS) in MANETs | |
CN106454941A (zh) | 一种无线网络的最优拥塞控制方法 | |
CN100444587C (zh) | 实现航空电信网与ip网互通的装置、系统及方法 | |
Li et al. | Qos-aware routing with rate adaptation in wireless mesh networks | |
Mozaffari Ahrar et al. | T2AS: Topology/Traffic Aware Scheduling to Optimize the End-to-end Delay in IEEE802. 154e-TSCH Networks |
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: 20130821 Termination date: 20191129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |