《一种拥塞控制算法模块的自适应选择方法及其系统.pdf》由会员分享,可在线阅读,更多相关《一种拥塞控制算法模块的自适应选择方法及其系统.pdf(10页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410757719.X (22)申请日 2014.12.10 H04L 12/801(2013.01) (71)申请人 中国科学院声学研究所 地址 100190 北京市海淀区北四环西路 21 号 (72)发明人 王玲芳 王劲林 (74)专利代理机构 北京亿腾知识产权代理事务 所 11309 代理人 陈霁 (54) 发明名称 一种拥塞控制算法模块的自适应选择方法及 其系统 (57) 摘要 本发明提供了一种拥塞控制算法模块的自适 应选择方法及其系统, 该方法包括 : 收集三元组 信息, 根据三元组信息计算当前数据传输时的服 务质量 Qo。
2、S 参数, 三元组信息包括往返时间、 丢包 率和吞吐量 ; 根据 QoS 参数三元组信息获取相应 的应用场景, 应用场景包括应用场景 ID 和应用场 景名称 ; 根据应用场景 ID 和 / 或应用场景名称获 取拥塞控制算法名称 ; 通过比较当前拥塞控制算 法和获取的拥塞控制算法的 QoS 参数距离, 确定 是否更新替换当前拥塞控制算法。该系统包括 : 传输测量模块、 应用场景归类模块、 场景与拥塞控 制算法映射模块和当前拥塞控制算法维护模块。 本发明解决了 TCP 缺省拥塞控制算法往往性能不 好和命令行人工干预替换方法即时性不好的问 题。 (51)Int.Cl. (19)中华人民共和国国家知识。
3、产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图2页 (10)申请公布号 CN 104468382 A (43)申请公布日 2015.03.25 CN 104468382 A 1/2 页 2 1.一种拥塞控制算法模块的自适应选择方法, 其特征在于, 包括以下步骤 : 收集三元组信息, 根据所述三元组信息计算当前数据传输时的服务质量 QoS 参数, 所 述三元组信息包括往返时间、 丢包率和吞吐量 ; 根据QoS参数三元组信息获取相应的应用场景, 所述应用场景包括应用场景ID和应用 场景名称 ; 根据所述应用场景 ID 和 / 或所述应用场景名称, 获取拥塞控制算法名称 ; 通过比较。
4、当前拥塞控制算法和所述获取的拥塞控制算法的 QoS 参数距离, 确定是否更 新替换当前拥塞控制算法。 2.根据权利要求 1 所述的方法, 其特征在于, 所述收集三元组信息, 根据所述三元组信 息计算当前数据传输时的服务质量 QoS 参数步骤包括 : 在发送端和接收端的数据传输过程中收集三元组信息, 根据所述三元组信息计算当前 数据传输时的服务质量 QoS 参数 ; 将当前数据传输时的 QoS 值与历史 QoS 值进行运算, 获得平均的 QoS 参数。 3.根据权利要求1所述的方法, 其特征在于, 所述根据QoS参数三元组信息获取相应的 应用场景步骤包括 : 在得到 QoS 参数三元组信息之后,。
5、 根据三元组各分量的不同权重和数值, 进行应用场 景的逐步逼近判决, 得到所述三元组对应的应用场景。 4.根据权利要求 1 所述的方法, 其特征在于, 所述根据所述应用场景 ID 和 / 或所述应 用场景名称, 获取拥塞控制算法名称步骤包括 : 采用存储事先确定的应用场景与拥塞控制算法映射关系, 在得到所述应用场景 ID 和 / 或所述应用场景名之后, 通过查找应用场景与拥塞控制算法的映射关系表, 获取拥塞控制 算法名。 5.根据权利要求 1 所述的方法, 其特征在于, 所述通过比较当前拥塞控制算法和所述 获取的拥塞控制算法的 QoS 参数距离, 确定是否更新替换当前拥塞控制算法步骤包括 : 。
6、比较当前拥塞控制算法和所述获取的拥塞控制算法的 QoS 参数距离, 如果所述当前拥 塞控制算法大于或等于所述获取的拥塞控制算法的 QoS 参数距离, 则更新替换当前拥塞控 制算法。 6.一种拥塞控制算法模块的自适应选择系统, 其特征在于, 包括以下模块 : 传输测量模块, 用于收集三元组信息, 根据所述三元组信息计算当前数据传输时的服 务质量 QoS 参数, 所述三元组信息包括往返时间、 丢包率和吞吐量 ; 应用场景归类模块, 用于根据 QoS 参数三元组信息获取相应的应用场景, 所述应用场 景包括应用场景 ID 和应用场景名称 ; 场景与拥塞控制算法映射模块, 用于根据所述应用场景 ID 和。
7、 / 或所述应用场景名称, 获取拥塞控制算法名称 ; 拥塞控制算法维护模块, 用于通过比较当前拥塞控制算法和所述获取的拥塞控制算法 的 QoS 参数距离, 确定是否更新替换当前拥塞控制算法。 7.根据权利要求 6 所述的系统, 其特征在于, 所述传输测量模块具体用于 : 在发送端和接收端的数据传输过程中收集三元组信息, 根据所述三元组信息计算当前 数据传输时的服务质量 QoS 参数 ; 权 利 要 求 书 CN 104468382 A 2 2/2 页 3 将当前数据传输时的 QoS 值与历史 QoS 值进行运算, 获得平均的 QoS 参数。 8.根据权利要求 6 所述的系统, 其特征在于, 所。
8、述应用场景归类模块具体用于 : 在得到 QoS 参数三元组信息之后, 根据三元组各分量的不同权重和数值, 进行应用场 景的逐步逼近判决, 得到所述三元组对应的应用场景。 9.根据权利要求 6 所述的系统, 其特征在于, 所述场景与拥塞控制算法映射模块具体 用于 : 采用存储事先确定的应用场景与拥塞控制算法映射关系, 在得到所述应用场景 ID 和 / 或所述应用场景名之后, 通过查找应用场景与拥塞控制算法的映射关系表, 获取拥塞控制 算法名。 10.根据权利要求 6 所述的系统, 其特征在于, 所述拥塞控制算法维护模块具体用于 : 比较当前拥塞控制算法和所述获取的拥塞控制算法的 QoS 参数距离。
9、, 如果所述当前拥 塞控制算法大于或等于所述获取的拥塞控制算法的 QoS 参数距离, 则更新替换当前拥塞控 制算法。 权 利 要 求 书 CN 104468382 A 3 1/5 页 4 一种拥塞控制算法模块的自适应选择方法及其系统 技术领域 0001 本发明涉及网络技术领域, 特别涉及一种拥塞控制算法模块的自适应选择方法及 其系统。 背景技术 0002 在计算机网络通信中, 在不涉及中间网络设备的情况下, 拥塞控制算法扮演着至 关重要的角色, 它是 TCP/IP 协议栈中传输控制的主要算法, 决定着数据传输效率的高低以 及吞吐量的大小。典型的拥塞控制算法是在 RFC 2581 中做了标准化表。
10、示, 定义了 TCP 的四 种相互交织的拥塞控制算法 : 慢启动、 拥塞避免、 快速重传、 以及快速恢复。 研究人员就这种 标准化的描述分别在不同操作系统下做了实现, 形成不同的 TCP 实现, 如 TCP Tahoe、 Reno、 New Reno、 Vegas、 SACK 等, 这些是有线连接网络下的实现, 因为发送端和接收端之间的网络 拓扑、 流量情况是不同的, 所以这些实现的性能也不同, 即每种实现可应对一定的场景。 0003 随着互联网的快速发展、 移动互联网的出现以及应用需求的多样化, 将在有线 网络下的各 TCP 实现应用到这样的多样化场景中, 就出现了诸多的不适应。因此人们提 。
11、出了无线链路下的 TCP Westwood、 高速网络下的 HSTCP、 卫星链路下的 TCP Hybla 和 TCP Hybla-i 等。 0004 目前在应用过程中, 通常采用两种方法 : (1) 缺省方法, 即操作系统的协议栈启动 时的缺省选项 ; (2) 知道应用场景, 可提前确定较适合的 TCP 版本, 即拥塞控制算法, 通过命 令行人工设置相应算法模块。 0005 上述两种方法面临如下问题 : (1) 缺省方法往往性能不好 ; (2) 命令行配置的方法 需要人们预先知道应用场景才行, 而且这种场景要恒定不变, 如果变化了, 还要另行确定, 即时性不好。 发明内容 0006 本发明的。
12、目的在于针对现有技术应用中拥塞控制算法模块的上述问题, 提供一种 拥塞控制算法模块的自适应选择方法及其系统, 解决了缺省拥塞控制算法模块性能不佳和 命令行配置拥塞控制算法的响应不及时的问题。 0007 为达到上述发明目的, 一方面, 本发明提供了一种拥塞控制算法模块的自适应选 择方法, 该方法包括以下步骤 : 收集三元组信息, 根据三元组信息计算当前数据传输时的服 务质量 QoS 参数, 三元组信息包括往返时间、 丢包率和吞吐量 ; 根据 QoS 参数三元组信息获 取相应的应用场景, 应用场景包括应用场景ID和应用场景名称 ; 根据应用场景ID和/或应 用场景名称获取拥塞控制算法名称 ; 通过。
13、比较当前拥塞控制算法和获取的拥塞控制算法的 QoS 参数距离, 确定是否更新替换当前拥塞控制算法。 0008 优选地, 通过在发送端和接收端的数据传输过程中收集三元组信息, 根据三元组 信息计算当前数据传输时的服务质量 QoS 参数 ; 将当前数据传输时的 QoS 值与历史 QoS 值 进行运算, 获得平均的 QoS 参数。 说 明 书 CN 104468382 A 4 2/5 页 5 0009 优选地, 在得到 QoS 参数三元组信息之后, 根据三元组各分量的不同权重和数值, 进行应用场景的逐步逼近判决, 得到所述三元组对应的应用场景。 0010 优选地, 通过采用存储事先确定的应用场景与拥。
14、塞控制算法映射关系, 在得到所 述应用场景ID和/或所述应用场景名之后, 通过查找应用场景与拥塞控制算法的映射关系 表, 获取拥塞控制算法名。 0011 优选地, 通过比较当前拥塞控制算法和所述获取的拥塞控制算法的 QoS 参数距 离, 如果所述当前拥塞控制算法大于或等于所述获取的拥塞控制算法的 QoS 参数距离, 则 更新替换当前拥塞控制算法。 0012 另一方面, 本发明提供了一种拥塞控制算法模块的自适应选择系统, 该系统包括 以下模块 : 0013 传输测量模块, 用于收集三元组信息, 根据所述三元组信息计算当前数据传输时 的服务质量 QoS 参数, 所述三元组信息包括往返时间、 丢包率。
15、和吞吐量 ; 0014 应用场景归类模块, 用于根据 QoS 参数三元组信息获取相应的应用场景, 所述应 用场景包括应用场景 ID 和应用场景名称 ; 0015 场景与拥塞控制算法映射模块, 用于根据所述应用场景ID和/或所述应用场景名 称, 获取拥塞控制算法名称 ; 0016 拥塞控制算法维护模块, 用于通过比较当前拥塞控制算法和所述获取的拥塞控制 算法的 QoS 参数距离, 确定是否更新替换当前拥塞控制算法。 0017 优选地, 传输测量模块具体用于, 在发送端和接收端的数据传输过程中收集三元 组信息, 根据所述三元组信息计算当前数据传输时的服务质量 QoS 参数 ; 将当前数据传输 时的。
16、 QoS 值与历史 QoS 值进行运算, 获得平均的 QoS 参数。 0018 优选地, 应用场景归类模块具体用于, 在得到 QoS 参数三元组信息之后, 根据三元 组各分量的不同权重和数值, 进行应用场景的逐步逼近判决, 得到所述三元组对应的应用 场景。 0019 优选地, 场景与拥塞控制算法映射模块具体用于, 采用存储事先确定的应用场景 与拥塞控制算法映射关系, 在得到所述应用场景 ID 和 / 或所述应用场景名之后, 通过查找 应用场景与拥塞控制算法的映射关系表, 获取拥塞控制算法名。 0020 优选地, 拥塞控制算法维护模块具体用于, 比较当前拥塞控制算法和所述获取的 拥塞控制算法的 。
17、QoS 参数距离, 如果所述当前拥塞控制算法大于或等于所述获取的拥塞控 制算法的 QoS 参数距离, 则更新替换当前拥塞控制算法。 0021 本发明解决了 TCP 缺省拥塞控制算法往往性能不好和命令行人工干预替换方法 即时性不好的问题。 附图说明 0022 图 1 为本发明实施例提供的一种拥塞控制算法模块的自适应选择方法应用场景 示意图 ; 0023 图 2 为本发明实施例提供的一种拥塞控制算法模块的自适应选择方法流程图 ; 0024 图 3 为本发明实施例提供的一种拥塞控制算法模块的自适应选择系统结构框图。 说 明 书 CN 104468382 A 5 3/5 页 6 具体实施方式 0025。
18、 通过以下结合附图以举例方式对本发明的实施方式进行详细描述后, 本发明的其 他特征、 特点和优点将会更加明显。 0026 图 1 为本发明实施例提供的一种拥塞控制算法模块的自适应选择方法应用场景 示意图。如图 1 所示, 假定用户使用 FTP 传输协议下载 10G 字节的大文件, 最初处在只有 卫星通信可覆盖的区域, 之后移动到 WLAN 可覆盖的城区, 最后到达有线网络覆盖的建筑物 内。卫星通信覆盖下比较适合的拥塞控制算法为 TCPHybla-i, 无线链路下比较适合的拥塞 控制算法为是TCP Westwood, 有线链路下比较适合的拥塞控制算法为TCP Vegas。 在卫星通 信覆盖下, 。
19、通过测量得到 QoS 参数三元组, 经比对确定卫星通信场景, 这样就找到拥塞控制 算法 TCP Hybla-i, 并实施更新替换 ; 在移动到 WLAN 覆盖区时, 用户关掉了卫星驱动, 测量 得到 QoS 参数三元组, 经比对确定无线链路场景, 这样就找到拥塞控制算法 TCP Westwood, 并实施更新替换 ; 在移动到 WLAN 覆盖区时, 用户连上网线, 关掉了无线驱动, 测量得到 QoS 参数三元组, 经比对确定有线链路场景, 这样就找到拥塞控制算法 TCP Vegas, 并实施更新 替换。 0027 图 2 为本发明实施例提供的一种拥塞控制算法模块的自适应选择方法流程图。如 图 。
20、2 所示, 该方法包括步骤 201-204 : 0028 在步骤 201, 收集三元组信息, 根据三元组信息计算当前数据传输时的服务质量 QoS 参数, 三元组信息包括往返时间、 丢包率和吞吐量。 0029 具体地, 系统启动后, 将拥塞控制算法模块设置为缺省拥塞控制算法, 初始化应用 场景与 QoS 参数三元组对应关系表和应用场景与拥塞控制算法的映射关系表。通过在发送 端和接收端的数据传输过程中, 被动地收集往返时间、 丢包率和吞吐量三元组信息, 根据三 元组信息计算当前数据传输时的服务质量 QoS 参数 ; 并将当前数据传输时的 QoS 值与历史 QoS 值进行运算, 获得平均的 QoS 。
21、参数。 0030 在步骤 202, 根据 QoS 参数三元组信息获取相应的应用场景, 应用场景包括应用场 景 ID 和应用场景名称。 0031 具体地, 得到 QoS 参数三元组信息之后, 根据三元组各分量的不同权重和数值, 进 行应用场景的逐步逼近判决, 从应用场景与 QoS 参数三元组对应关系表 ( 参考表 1 所示 ) 中查找到 QoS 参数三元组对应的应用场景。 0032 表 1 0033 QoS 参数三元组应用场景 ID应用场景名称 第一组三元组信息1卫星通信场景 第二组三元组信息2无线链路场景 第三组三元组信息3有线链路场景 0034 在步骤 203, 根据应用场景 ID 和 / 。
22、或应用场景名称获取拥塞控制算法名称。 0035 具体地, 通过采用存储事先确定的应用场景与拥塞控制算法映射关系, 在得到应 用场景 ID 和 / 或应用场景名称之后, 通过查找应用场景与拥塞控制算法的映射关系表 ( 参 说 明 书 CN 104468382 A 6 4/5 页 7 考表 2 所示 ), 获取拥塞控制算法名称。 0036 表 2 0037 应用场景 ID应用场景名称拥塞控制算法名 1卫星通信场景TCP Hybla-i 2无线链路场景TCP Westwood 3有线链路场景TCP Vegas 0038 在步骤 204, 通过比较当前拥塞控制算法和获取的拥塞控制算法的 QoS 参数距。
23、离, 确定是否更新替换当前拥塞控制算法。 0039 优选地, 通过比较当前拥塞控制算法和所述获取的拥塞控制算法的 QoS 参数距 离, 如果所述当前拥塞控制算法大于或等于所述获取的拥塞控制算法的 QoS 参数距离, 则 更新替换当前拥塞控制算法, 并采用系统命令配置协议栈中的拥塞控制算法为获取的拥塞 控制算法。 0040 图 3 为本发明实施例提供的一种拥塞控制算法模块的自适应选择系统结构框图。 如图 3 所示, 该系统包括 : 传输测量模块 31、 应用场景归类模块 32、 场景与拥塞控制算法映 射模块 33 和当前拥塞控制算法维护模块 34。传输测量模块 31 用于收集三元组信息, 根 据。
24、所述三元组信息计算当前数据传输时的服务质量 QoS 参数, 所述三元组信息包括往返时 间、 丢包率和吞吐量。 0041 优选地, 传输测量模块 31 具体用于在发送端和接收端的数据传输过程中收集三 元组信息, 根据所述三元组信息计算当前数据传输时的服务质量 QoS 参数 ; 将当前数据传 输时的 QoS 值与历史 QoS 值进行运算, 获得平均的 QoS 参数。 0042 应用场景归类模块32用于根据QoS参数三元组信息获取相应的应用场景, 所述应 用场景包括应用场景 ID 和应用场景名称。 0043 优选地, 应用场景归类模块 32 具体用于在得到 QoS 参数三元组信息之后, 根据三 元组。
25、各分量的不同权重和数值, 进行应用场景的逐步逼近判决, 得到所述三元组对应的应 用场景。 0044 场景与拥塞控制算法映射模块 33 用于根据所述应用场景 ID 和 / 或所述应用场景 名称, 获取拥塞控制算法名称。 0045 优选地, 场景与拥塞控制算法映射模块 33 具体用于采用存储事先确定的应用场 景与拥塞控制算法映射关系, 在得到所述应用场景 ID 和 / 或所述应用场景名之后, 通过查 找应用场景与拥塞控制算法的映射关系表, 获取拥塞控制算法名。 0046 拥塞控制算法维护模块 34 用于通过比较当前拥塞控制算法和所述获取的拥塞控 制算法的 QoS 参数距离, 确定是否更新替换当前拥。
26、塞控制算法。 0047 优选地, 拥塞控制算法维护模块 34 具体用于比较当前拥塞控制算法和所述获取 的拥塞控制算法的 QoS 参数距离, 如果所述当前拥塞控制算法大于或等于所述获取的拥塞 控制算法的 QoS 参数距离, 则更新替换当前拥塞控制算法。 0048 本发明提供的一种拥塞控制算法模块的自适应选择方法, 该方法解决了缺省拥塞 说 明 书 CN 104468382 A 7 5/5 页 8 控制算法模块性能不佳和命令行配置拥塞控制算法的响应不及时的问题。 0049 最后所应说明的是, 以上实施例仅用以说明本发明的技术方案而非限制。尽管参 照实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解, 对本发明的技术方 案进行修改或者等同替换, 都不脱离本发明技术方案的精神和范围, 其均应涵盖在本发明 的权利要求范围当中。 说 明 书 CN 104468382 A 8 1/2 页 9 图 1 图 2 说 明 书 附 图 CN 104468382 A 9 2/2 页 10 图 3 说 明 书 附 图 CN 104468382 A 10 。