[发明专利]Windows系统中程序网络流速控制装置有效
申请号: | 200910193419.2 | 申请日: | 2009-10-29 |
公开(公告)号: | CN101702121A | 公开(公告)日: | 2010-05-05 |
发明(设计)人: | 刘鹏 | 申请(专利权)人: | 珠海金山软件股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;H04L12/56 |
代理公司: | 广州新诺专利商标事务所有限公司 44100 | 代理人: | 华辉 |
地址: | 519015 广东省珠海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | windows 系统 程序 网络 流速 控制 装置 | ||
技术领域
本发明涉及计算机互联网软件领域,尤其涉及一种Windows系统中控制程序网络 流速的装置。
背景技术
随着互联网的发展,越来越多的软件转向互联网化,大量的需要使用网络的程序程 序在用户的计算机中运行,它们将在后台使用互联网进行信息收集、自动升级等工作,需要 占用很多的网络带宽,并且经常给用户的网络带来非常大的瞬时流量,如果用户此时正在做 浏览网页、聊天、玩网络游戏等事情,就会感觉系统很卡,用户的交互感受会非常差。因此 需要一种能够限制这些自动进行网络访问的程序的流速,控制他们能够使用的最高网络带宽, 保证那些用户经常使用的,需要及时响应的程序总是能够得到一定的网络带宽。
目前常用的流速控制方法中一种方法是让那些后台运行的程序在使用网络时自己控 制自己的网络流量,通常一些下载软件会提供这样的功能,如BT,Flashget等常用下载软件。 这种方法的局限性在于依赖于使用网络的程序自身的功能,其他没有实现流速控制的软件仍 然有可能给用户带来困扰,另一个麻烦在于没有统一的管理所有的程序流速的地方,甚至都 不知道有哪些程序访问了网络,即使知道了,用户必须得到一个个程序中去设置每个程序的 流速控制,操作起来非常麻烦。
另外一种方法是在操作系统层监控所有的网络发送和接收操作,这样可以对所有的 程序的网络访问行为进行控制,用户也有一个统一的地方进行设置,极大的方便了用户的操 作。这种方法通常使用的方法是,挂钩所有网络访问的API,拦截所有访问网络的程序的发 送和接收操作,发送时对于超过了流量的发送操作,先缓存发送的数据,并阻塞该程序的发 送操作,等过一段时间后,满足了程序的流速限制,再将数据发送出去。接收时对于超过了 流速限制的接收操作,先缓存接收的数据,并阻塞程序的接收操作,等过一段时间后,满足 了程序的流速限制,再将接收的数据发给程序。使用这种方法仍然存在一定的局限性,首先 它需要缓存用户程序发送的数据和接收的数据,这无疑会占用计算机的很多资源,另一方面 在接收数据的时候仍然要使用操作系统提供的接收数据的方法接收数据,而在操作系统接收 数据的过程中,并不能控制某个接收动作的瞬时流速,操作系统总是被动的、近可能快的接 收数据,它并不能告诉数据的发送者使用较慢的速率发送数据。
发明内容
本发明的目的是克服现有技术中的不足,提供一种Windows系统中程序网络流速 控制装置。该程序网络流速控制装置不仅可以实现多个程序的网络流速统一管理,而且无需 占用额外的计算机的资源。Windows系统中程序网络流速控制装置,
其包括:
流速控制规则设置模块,其内存储有各个应用程序的流速控制信息,该流速信息包 括应用程序的发送流速控制信息和接收流速控制信息;
内核TDI拦截模块,其在应用程序通过TCP/UDP协议访问网络时获取本地TCP/UDP 端口号、应用程序ID、TCP/UDP连接的ID、连接次数、发送连接信息和接收连接信息;其 中发送连接信息和接收连接信息均包含已经传输字节数,上次传输时间,传输速率限额,限 额有效标志;内核TDI拦截模块,还可以根据上次传输时间、当前系统时间和本次要传输的 IP数据包大小计算出本次IP数据包的传输速度;
数据包拦截模块,其能够拦截到从操作系统网络协议层发往操作系统数据包发送层 的IP数据包,数据包拦截模块对拦截到的IP数据包反向解析出该IP数据包所对应的应用程 序ID,如果从内核TDI拦截模块计算出的该应用程序本次IP数据包的传输速度大于流速控 制规则设置模块中设置好的该应用程序的控制流速值,则该数据包被丢弃,否则发送或者接 收该数据包。
本发明的有益效果是:本发明Windows系统中程序网络流速控制装置的三大模块分 别完成三种主要功能,简单的说,流速控制规则设置模块中保存的是各个应用程序的流速控 制信息,即各个程序的最大流速值,如果某个程序的瞬时流速超过该最大流速值是不能进行 发包或收包操作的。内核TDI拦截模块是获取每个数据包的属性信息的,比如该数据包对应 的应用程序、该数据包的瞬时速度等。数据包拦截模块是用于拦截数据包的,该数据包能否 通过由流速控制规则设置模块和TDI拦截模块中的信息进行比对的结果来决定。这样就可以 实现对所有应用程序的网络流速的控制,而且无需占用计算机的存储资源,同时也实现了多 个应用程序网络流速的统一管理。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山软件股份有限公司,未经珠海金山软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910193419.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:铝电解槽阳极电流在线测试仪
- 下一篇:一种带照明功能的试电笔