基于缓存管理的高效编码感知路由方法

文档序号:7822981阅读:1368来源:国知局
基于缓存管理的高效编码感知路由方法
【专利摘要】本发明公开了一种基于缓存管理的高效编码感知路由方法,主要解决现有技术不能有效地提升不同速率场景下的网络吞吐量及实施复杂的问题,其技术方案是:1.在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节点和路径;2.对经过路由发现后在路径上寻找出的编码节点用基于队列长度策略的缓存管理方式进行网络吞吐量训练,实现最优阈值的选取;3.根据编码节点的最优阈值选择网络数据传输方案,即中间节点根据编码机会、缓存状态和给定的最优阈值对接收到的数据包进行编码转发或直接转发或等待。本发明与现有技术相比网络吞吐量高,实施复杂度低,可用于各种速率场景下的无线骨干网络。
【专利说明】基于缓存管理的高效编码感知路由方法

【技术领域】
[0001] 本发明属于无线网络领域,涉及一种无线网络中的路由方法,可用于各种速率场 景下的无线骨干网络。

【背景技术】
[0002] 网络编码是一种融合了编码和路由的信息交换技术,它通过在网络的中间节点对 接收到的信息进行处理并转发给下游节点,改变了传统路由中节点只对接收到的数据进行 存储转发操作的工作方式。研究表明,网络编码技术可W使网络传输达到传输上限,在很大 程度上提高了网络的吞吐量。
[0003] 所谓编码感知,是将"路由发现"和"编码机会发现"两过程统一,即在路由发现的 过程中发现编码机会。现有的W分布式编码感知路由DCAR机制为代表的编码感知路由协 议都集中在考虑网络编码的度量设计上,在数据包编码时没有考虑编码节点的缓存状态, 即采用基于机会的网络编码方法C0阳,不会推迟数据包的转发来等待未来的编码机会。然 而由于编码节点相应数据流的异步和随机的到达,该种做法会损失掉一些潜在的编码机 会。特别是在低负载情况下,网络无拥塞,编码节点的输出队列中没有缓存的数据包,从而 没有编码机会,此时等效为传统的存储转发方式。
[0004] 现有的绝大多数编码感知路由,都假定参与编码的数据流具有同样的数据速率, 而实际网络中通常存在各种流速的数据流。在速率不匹配的情况下,编码感知路由会面临 很多问题。然而现有的考虑多速率的编码感知路由,例如速率自适应的编码感知多径路由 RCR,W编码感知路径传输时间CPTT为度量的路由协议在数据包编码时也没有考虑编码节 点的缓存状态。
[0005] 现有的编码节点缓存管理机制有两种控制方式;基于等待时延的策略和基于队列 长度的策略。
[0006] 在基于等待时延的策略中,如果一个数据包的等待时间大于一个阔值,该个数据 包将被无编码的转发。在该种方式下时延可W被精确控制,但是必须为每一个数据包维持 一个时钟,实施起来复杂度比较大。
[0007] 在基于队列长度的策略中,如果缓存的队列长度超过一个阔值,数据包将被无编 码的转发。该种方法实施起来比较简单,但等待时延可能较大,对网络的吞吐量造成负面的 影响,降低网络的吞吐量。
[0008] 因此,如何结合编码感知路由算法和缓存管理算法,充分发挥其优势来实施一种 简单、有效的路由方法W进一步提升各种速率场景下的无线网络的吞吐量,是一个值得研 究的问题。


【发明内容】

[0009] 针对上述问题,本发明提出了一种基于缓存管理的高效编码感知路由方法,W有 效提高各种速率场景下的网络吞吐量且在有效地考虑编码节点的缓存状态下,降低实施复 杂度。
[0010] 为实现上述目的,本发明所采用的技术方案,包括如下步骤:
[0011] (1)在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节 点和路径;
[0012] (2)对经过路由发现后在路径上寻找出的编码节点用基于队列长度策略的缓存管 理方式进行如下网络训练,实现最优阔值的选取:
[0013] 2a)设定基于队列长度策略的每一个阔值i的网络吞吐量为:
[0014] - i = 1,2..X - 1 t
[001引其中,t为采样间隔,bi为编码节点对应阔值i在间隔t内传输的比特数,L为编 码节点的编码队列长度;
[0016] 2b)将阔值i初始化为1,源节点发送数据包,编码节点对来自不同数据流的数据 包进行有效的传输或等待,在数据传输稳定时,记录一个固定的采样间隔t内传输的比特 数bi,同时使阔值i加1,记录下一个间隔t内传输的比特数b2, W同样的方式编码节点得 到对应阔值i在间隔t内传输的比特数bi,b,. . . by;
[0017] 2c)从上述得到的比特数bi,b2...bw中找出数值最大的元素的下标,作为最优的 阔值;
[0018] (3)根据编码节点的最优阔值选择网络数据传输方案,即中间节点根据编码机会、 缓存状态和给定的最优阔值对接收到的数据包进行编码转发或直接转发或等待。
[0019] 本发明与现有的技术相比具有W下优点:
[0020] 1、本发明由于采用了基于队列长度的缓存管理策略,使数据包在编码时考虑了缓 存状态,克服了传统的COPE类型机会式编码方式不能等待未来编码机会的不足,有效提高 了网络吞吐量;
[0021] 2、本发明由于采用了网络吞吐量训练策略,使编码节点获得了基于队列长度策略 的最优阔值,克服了一般基于队列长度策略可能对网络吞吐量造成的负面影响,可W有效 的提高各种速率场景下的网络吞吐量;
[0022] 3、本发明由于采用了基于队列长度的缓存管理策略,使编码节点根据缓存队列长 度和给定的最优阔值对接收到的数据包进行编码转发或直接转发,与基于等待时延策略相 比,有效降低了实施复杂度。

【专利附图】

【附图说明】
[0023] 图1为本发明的实现总流程图;
[0024] 图2为本发明中的中间节点进行数据传输的子流程图;
[00巧]图3为本发明仿真使用的骨干网络的示意图;
[0026] 图4为在等速率情况下,用不同方法在骨干网络下的性能结果对比图;
[0027] 图5为在所有数据流速率变化的情况下,用不同方法在骨干网络下的性能结果对 比图;
[0028] 图6为只有一条数据流速率变化的情况下,用不同方法在骨干网络下的性能结果 对比图。

【具体实施方式】
[0029] W下参照附图对本发明进行详细描述:
[0030] 参照图1,本发明的基于缓存管理的高效编码感知路由方法,包括W下步骤:
[0031] 步骤1 ;在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码 的节点和路径。
[0032] la)源节点向邻居节点广播路由请求数据包RREQ,该RREQ包是在原有按需平面距 离矢量路由协议A0DV的RREQ包的基础上增加了路径信息,该路径信息记录了它所经历的 节点;
[003引化)当中间节点接收到路由请求数据包RREQ时,首先检查是否已经收过该RREQ 包,如果是,则丢弃该RREQ包W避免形成环路;如果不是,则中间节点将更新RREQ中的路径 信息,将自己添加到该数据流经过的路径上,并且广播此RREQ包;
[0034] Ic)当路由请求数据包RREQ被目的节点接收到时,目的节点将向源节点反向发送 路由应答消息RREP,该RREP中已经包含了所需的路径信息;
[00巧]Id)当中间节点接收到路由应答消息RREP时,即获得了新路径的路径信息,中间 节点根据获得的路径信息判断自己是否能进行流间网络编码:
[0036] 如果该中间节点保存有其它路径信息,且该路径与新路径在该中间节点的上、下 一跳范围内存在重叠,则该中间节点在RREP中把该节点标记为"可W编码";
[0037] le)当源节点收到路由应答消息RREP包后,源节点将根据该RREP包中包含的潜在 编码机会选择路径并开始发送数据包;
[003引If)当第一个数据包到达中间节点后,该中间节点将保存所选择的新路径的路径 信息,并继续转发该数据包。
[0039] 步骤2 ;对经过路由发现后在路径上寻找出的编码节点用基于队列长度策略的缓 存管理方式进行网络训练,实现最优阔值的选取。
[0040] 2a)设定基于队列长度策略的每一个阔值i的网络吞吐量为:
[0041 ]丄 , i = 1,2...L - 1 t
[0042] 其中,t为采样间隔,bi为编码节点对应阔值i在间隔t内传输的比特数,L为编 码节点的编码队列长度;
[0043] 2b)将阔值i初始化为1,源节点发送数据包,编码节点对来自不同数据流的数据 包进行有效的传输或等待,在数据传输稳定时,记录一个固定的采样间隔t内传输的比特 数bi,同时使阔值i加1,记录下一个间隔t内传输的比特数b2, W同样的方式编码节点得 到对应阔值i在间隔t内传输的比特数bi,b2. . . by;
[0044] 2c)从上述得到的比特数bi,b2. .. by中找出数值最大的元素的下标,作为最优的 阔值。
[0045] 步骤3 ;根据编码节点的最优阔值选择网络数据传输方案,即中间节点根据编码 机会、缓存状态和给定的最优阔值对接收到的数据包进行编码转发或直接转发或等待。
[0046] 参照图2,本步骤的具体实现如下:
[0047] 3a)中间节点根据接收到的数据包头中的数据包类型信息判断该数据包是编码包 还是原始包:
[0048] 如果该数据包类型信息表明此数据包未经过编码,则表明此数据包是原始包;
[0049] 如果该数据包类型信息表明此数据包经过编码,则检查缓存中是否有用于解码此 编码包的其余数据流信息,如果没有,则丢弃该编码包;如果有,则分离出需要的数据流的 原始包;
[0050] 3b)对从编码包中分离出来的原始包和未经过分离的原始包进行判断,判断此中 间节点是否是编码节点:如果此中间节点保存有多条路径信息,则表明此中间节点是编码 节点,执行步骤3c),如果此中间节点没有保存其它路径信息,则表明此中间节点不是编码 节点,并将此原始包根据路由表转发出去;
[0051] 3c)检查该中间节点是否有其他路径上的数据包到达,如果有,则对来自不同路径 的数据包进行编码转发;如果没有,则该中间节点把其插入到编码缓存中然后检查该缓存 队列的长度,执行步骤3d);
[0052] 3d)将此编码缓存队列长度与给定的最优阔值进行比较:如果编码缓存队列长度 大于给定的最优阔值,则直接无编码的转发,否则,在编码队列中进行等待。
[0053] 本发明的效果可通过W下实验进一步说明:
[0054] 1、实验条件和内容:
[00巧]实验中使用ns-2网络仿真工具,设计了一种骨干网络,如图3所示,采用UDP数据 源,MAC层协议采用IE邸802. 11的DCF机制,节点的传输半径为250m,缓存队列大小为50 个数据包,采样间隔t取为0.5s。
[0056] 在上述所述的骨干网络中存在着两条数据流,分别为数据流1和数据流2,其中数 据流1的源节点是节点0,目的节点是节点2,数据流2的源节点是节点2,目的节点是节点 5。本发明中的网络编码路由方法定义为0QMCAR,传统的基于COPE类型的机会式编码的编 码感知路由方法定义为COPEstyle-based。
[0057] 2、仿真内容及结果:
[0058] 仿真一;用本发明方法与现有的基于COPE类型的机会式编码的编码感知路由方 法在数据流1和数据流2两者速率相等且速率为100?400化PS的情况下,对骨干网络吞 吐量进行仿真,其结果如图4所示。
[0059] 图4表明,利用本发明方法得到的网络吞吐量最大,可见本发明方法适用于等速 率场景下的无线骨干网络。
[0060] 仿真二;用本发明方法与现有的基于COPE类型的机会式编码的编码感知路由方 法在数据流1的速率是数据流2速率的2倍,且数据流2的速率为30?310化PS的情况下, 对骨干网络吞吐量进行仿真,其结果如图5所示。
[0061] 图5表明,利用本发明方法得到的网络吞吐量最大,可见本发明方法适用于不同 速率场景下的无线骨干网络。
[0062] 仿真H ;用本发明方法与现有的基于COPE类型的机会式编码的编码感知路由方 法在数据流1的速率固定为200化PS且数据流2的速率为100?400化PS的情况下,对骨 干网络吞吐量进行仿真,其结果如图6所示。
[0063] 图6表明,利用本发明方法得到的网络吞吐量最大,可见本发明方法可W有效提 升多速率场景下的无线骨干网络的吞吐量。
[0064] 上述H个仿真表明本发明方法可有效提升各种速率场景下的无线骨干网络的吞 吐量。
[0065] W上所述仅为本发明的较佳实施例而已,并不构成对本发明的限制,凡在本发明 的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之 内。
【权利要求】
1. 一种基于缓存管理的高效编码感知路由方法,包括如下步骤: (1) 在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节点和 路径; (2) 对经过路由发现后在路径上寻找出的编码节点用基于队列长度策略的缓存管理方 式进行如下网络训练,实现最优阈值的选取: 2a)设定基于队列长度策略的每一个阈值i的网络吞吐量为:
其中,t为采样间隔,h为编码节点对应阈值i在间隔t内传输的比特数,L为编码节 点的编码队列长度; 2b)将阈值i初始化为1,源节点发送数据包,编码节点对来自不同数据流的数据包进 行有效的传输或等待,在数据传输稳定时,记录一个固定的采样间隔t内传输的比特数bp 同时使阈值i加1,记录下一个间隔t内传输的比特数匕,以同样的方式编码节点得到对应 阈值i在间隔t内传输的比特数hb2. . . \_1; 2c)从上述得到的比特数bp 找出数值最大的元素的下标,作为最优的阈 值; (3) 根据编码节点的最优阈值选择网络数据传输方案,即中间节点根据编码机会、缓存 状态和给定的最优阈值对接收到的数据包进行编码转发或直接转发或等待。
2. 根据权利要求1所述的基于缓存管理的高效编码感知路由方法,其中步骤(1)所述 的根据编码条件寻找进行流间网络编码的节点和路径,包括如下步骤: la) 源节点向邻居节点广播路由请求数据包RREQ,该RREQ包是在原有按需平面距离 矢量路由协议AODV的RREQ包的基础上增加了路径信息,该路径信息记录了它所经历的节 占. lb) 当中间节点接收到路由请求数据包RREQ时,首先检查是否已经收过该RREQ包,如 果是,则丢弃该RREQ包以避免形成环路;如果不是,则中间节点将更新RREQ中的路径信息, 将自己添加到该数据流经过的路径上,并且广播此RREQ包; lc) 当路由请求数据包RREQ被目的节点接收到时,目的节点将向源节点反向发送路由 应答消息RREP,该RREP中已经包含了所需的路径信息; ld) 当中间节点接收到路由应答消息RREP时,即获得了新路径的路径信息,中间节点 根据获得的路径信息判断自己是否能进行流间网络编码: 如果该中间节点保存有其它路径信息,且该路径与新路径在该中间节点的上、下一跳 范围内存在重叠,则该中间节点在RREP中把该节点标记为"可以编码"; 1e)当源节点收到路由应答消息RREP包后,源节点将根据该RREP包中包含的潜在编码 机会选择路径并开始发送数据包; If)当第一个数据包到达中间节点后,该中间节点将保存所选择的新路径的路径信息。
3. 根据权利要求1所述的基于缓存管理的高效编码感知路由方法,其中步骤(3)所述 的中间节点根据编码机会、缓存状态和给定的最优阈值对接收到的数据包进行编码转发或 直接转发或等待,按如下步骤进行: 3a)中间节点根据接收到的数据包头中的数据包类型信息判断该数据包是编码包还是 原始包: 如果该数据包类型信息表明此数据包未经过编码,则表明此数据包是原始包; 如果该数据包类型信息表明此数据包经过编码,则检查缓存中是否有用于解码此编码 包的其余数据流信息,如果没有,则丢弃该编码包;如果有,则分离出需要的数据流的原始 包; 3b)对从编码包中分离出来的原始包和未经过分离的原始包进行判断,判断此中间节 点是否是编码节点:如果此中间节点保存有多条路径信息,则表明此中间节点是编码节点, 执行步骤3c),如果此中间节点没有保存其它路径信息,则表明此中间节点不是编码节点, 并将此原始包根据路由表转发出去; 3c)检查该中间节点是否有其他路径上的数据包到达,如果有,则对来自不同路径的数 据包进行编码转发;如果没有,则该中间节点把其插入到编码缓存中然后检查该缓存队列 的长度,执行步骤3d); 3d)将此编码缓存队列长度与给定的最优阈值进行比较:如果编码缓存队列长度大于 给定的最优阈值,则直接无编码的转发,否则,在编码队列中进行等待。
【文档编号】H04L12/863GK104486040SQ201410775688
【公开日】2015年4月1日 申请日期:2014年12月15日 优先权日:2014年12月15日
【发明者】肖嵩, 芦存博, 孙志刚, 扈鹏, 杜建超, 权磊 申请人:西安电子科技大学, 中国电子科技集团公司第五十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1