网关设备后的后台网络带宽共享
背景
计算机化系统为人们执行任务的能力提供了许多好处。实际上,计算机系统处理信息的能力已经改变了人们生活和工作的方式。现在,计算机系统通常执行在计算机系统出现之前手动执行的大量任务(例如,文字处理、日程安排、数据库管理等)。近来,计算机系统已经被耦合在一起形成了计算机网络,通过该计算机网络,计算机系统可以进行电子通信以便共享数据。结果,在一个计算机系统上执行的许多任务(例如,访问电子邮件、web浏览、下载多媒体内容等)包括通过计算机网络(例如因特网)与一个或多个其它系统的电子通信。
计算机网络上的电子通信往往包括请求访问服务器计算系统(此处称作“服务器”或“服务”)上的服务的客户机计算机系统(此处称作“客户机”或“计算设备”)。例如,当今有数百万台个人计算机(PC)被连接到因特网以便与各种服务器的通信。这些客户机中的许多客户机都通过在因特网上向远程服务器请求这种下载来获取新的或者更新了的软件。
通过远程网络(例如因特网)向PC下载/上传诸如新闻和更新的软件等数据的传统方法干扰了PC用户通过远程网络来访问内容的能力(例如,浏览因特网)。由于增加的处理速度,到远程网络的带宽是用户浏览或数据检索体验的重大瓶颈。例如,典型的下载/上传传输将使得客户机系统和服务器间的网络内最慢的节点饱和。如果该慢网络节点是因特网网关设备(IGD),则来自该机器和共享该IGD的任意其它机器的所有其它话务由于被严格限制其网络使用而受到影响。此外,如果出于某种原因(例如,远程网络连接丢失)中断下载/上传,可能需要从文件的开始处重新开始传输,因此浪费了大量的网络资源。虽然其它传统的下载/上传软件允许用户对指定的时间调度传输,但这种调度仍然限制用户在该时间段内从事其它网络活动的能力。
即使诸如软件等数据的传输限制了用户访问远程网络上的其它数据的能力,这种软件和其它内容的下载/上传在当今计算机系统的日益普及中仍是至关重要的。例如,对于PC用户来说提供软件更新是有益的,因为这改正了问题并且改进了其PC的性能。另外,软件销售商从产品支持电话的数目的减少中获益,这又减少了销售商分配用来处理这种呼叫的物质资源。
由于对通过远程网络链路下载/上传数据的高度需要,已经进行了在传输诸如软件更新等数据时,减轻对其它远程网络活动的干扰的尝试。例如,近来的系统被配置为确定何时以相对低的程度利用远程网络带宽,这有时候也称为“远程网络空闲时期”。通过使用本地网络接口(例如,网卡)来计算使用率的阈值级别,这种系统监视估算的带宽消耗的级别。在该计算的阈值之下,客户机和服务器间的数据传输不大可能干扰其它的远程网络活动。因此,当使用级别降到该阈值之下时,客户机可以周期性地连接到服务器,并且下载软件或更新的小的部分。可以继续该过程,直到将软件程序、可用的更新或其它数据的所有部分都传输到适当的设备为止。换言之,可以在远程网络空闲时期期间,在“后台”进程中通过远程网络链路来传输低优先级数据的下载/上传。
虽然这种后台数据传输系统具有消除对其它网络活动的干扰的某些明显优势,但是这些模型仍然有若干缺点。例如,如前所述,后台传输系统实现的节流技术利用从本地网络接口(例如网卡)获得的网络通信量测量来控制和估算有效的可用带宽。虽然该方法对于许多网络拓扑是合理的,但对于某些配置来说,可通过使用这种技术检索到的信息不足以允许后台传输系统正确地调节流量。
这种有问题的网络拓扑的一个例子是典型的家庭网络,其中使用相当快的网络链路(例如,100Mbps的网络集线器和网卡)来互连局域网上的计算机,但是提供因特网连接的设备(例如,数字用户线(DSL)调制解调器)以慢得多的速度运行。在这种情况下,DSL盒执行“网关设备”的角色,并且它实际上是给局域网和外部或远程网络(例如因特网)间的数据传输可以达到的最大速度施加上限的网络段。因此,当在本地网络接口级别上进行网络通信量测量时,不能检测到由网关设备的减少的速度表示的“瓶颈”。另外,不能从孤立的每个系统网络接口测量连接到局域网的系统在网关设备处的总带宽消耗。
概述
通过本发明的示例性实施例克服了后台传输服务的上述不足和缺点。注意,提供本概述以便以简化的形式介绍将在下面的详细说明中进一步描述的一些概念。然而本概述不旨在确定所提出的主题的关键或必要特征,也不旨在用于帮助确定所提出的主题的范围。
在一个实施例中,提供了用于通过将优先级给予其它本地网络计算机器对共享网关的使用来控制和估算用于在本地和远程网络间通过共享网关传输后台文件的有效可用带宽的方法、系统和计算机程序产品。在该实施例中,确定在共享网关上传输的数据的总的带宽容量。该共享网关将多个本地网络客户机连接到远程网络内的一个或多个计算系统,其中所述多个本地网络客户机中的至少一个包括后台数据传输模块,它被配置成在共享网关上的实际带宽消耗低于预定阈值的时间间隔传输数据文件。另外,接收关于共享网关上的数据传输的实际带宽消耗的统计信息。另外,为对应于包括后台数据传输模块的至少一个本地网络客户机的数据传输确定后台数据传输带宽消耗的数量。此后,比较总带宽容量和共享网关上用于数据传输的实际带宽消耗。基于该比较,调节后台数据传输带宽消耗的数量,以便减少对多个本地网络客户机在共享网关上的其它活动的干扰。
本发明的其它特征和优点将在下面的描述中阐明,并且部分将从该描述中明了,或可借助于本发明的实践来获知。可以借助于所附权利要求书中具体指出的手段和组合来实现和获得本发明的特征和优点。本发明的这些和其它特征将从下面的说明书和所附的权利要求书中更完全明了,或可以通过对下面提出的本发明的实践来获知。
附图简述
为了描述能获得本发明的上述和其它优点和特征的方式,通过参考在附图中给出的具体实施例,给出对上面简要描述的本发明的更具体的说明。应当理解,这些附图仅给出本发明的典型实施例,并且不旨在被认为是对其范围的限制,将通过使用附图,以其它特征和细节来描述和解释本发明,附图中:
图1A示出了根据本发明的示例实施例的利用后台数据传输模块的本地网络配置;
图1B示出了根据本发明的示例实施例的利用后台数据传输模块的本地网络系统的替换拓扑结构;
图1C示出了根据本发明的示例实施例可以如何使用后台数据传输模块的更详细说明;
图2示出了根据示例实施例的用于控制和估算用于通过共享网关传输后台文件的有效可用带宽的方法的流程图;以及
图3示出了提供用于实现本发明的各种特征的合适的操作环境的示例计算系统。
详细描述
本发明涉及估算用于通过共享网关设备来传输后台文件或数据的有效可用带宽的方法、系统和计算机程序产品。本发明的各实施例可包括如以下更详细描述的包括各种计算机硬件或模块的专用或通用计算机。
如前所述,在传输或接收系统的本地网络接口(例如,网卡)处确定容量并且测量带宽是一种本地解决方案,并且没有如实表示共享本地网络环境中的实际可用带宽。例如,如果系统具有大容量接口卡,诸如10-100Mbps以及通过56k调制解调器到因特网的有限链路,传输速率将从网络接口卡而不是实际的56k调制解调器得到可用带宽容量。当多个系统共享一个连接点时,一个系统本地网络接口卡的容量和得到的可用带宽未考虑通过共享的连接点发送或接收的其它系统的累积通信量。这种不准确的节流速率导致瓶颈,并且可能使得远程网络或因特网连接点饱和。
根据一个示例性实施例,对后台文件传输模型的上述不足的一种解决方案是允许每个本地网络客户机共享关于其去往该本地网络外部的数据传输的瞬时带宽消耗的信息。该信息可以包括后台数据传输信息以及前台带宽消耗两者。了解了在本地网络内的客户机间共享的网关设备的总容量,每个本地网络客户机可以确定网关上的实际带宽消耗,将其与共享网关的容量比较,并且可以基于一个阈值(如下面更详细讨论的)适当地调整或节流其后台数据传输速率。
虽然上面的示例性实施例提供了一种用于克服当前后台传输服务模型的不足的模型,但该解决方案也有某些不足和缺点。例如,本地网络内的每个客户机必须被配置为与其它本地网络计算设备共享其信息或具有该能力。如果即使只有一个计算设备不具有这种能力,准确地表示共享网关上的网络通信量也几乎是不可能的。另外,由于必须在本地网络内的每个计算机间共享带宽消耗信息,因此关于每个计算设备的带宽消耗的信息的共享给本地网络带来了额外的负载。
由于上述的缺点,其它的示例性实施例提供了一种通过将带宽测量移到本地链路和到远程网络(例如因特网)的连接间的共享网关设备来提高后台传输服务节流准确性的解决方案。这种共享网关设备可以包括诸如运行因特网连接共享软件的计算机、网络地址转换(NAT)盒或共享调制解调器、DSL线路、电缆调制解调器、T1线路等的更复杂的网关设备等设备。对于通过支持字节计数器的网关设备共享一个连接点的多个系统,当计算有多少可用带宽可用于后台传输服务或后台文件传输时,后台传输服务可以分解累积系统带内和带外通信量。
换言之,本地网络客户机可以从共享网关访问信息,以便确定该共享网关上的带宽消耗的实际数量。客户机还可以通过下面更详细描述的各种方式来获得这种共享网关的总容量。使用出入共享网关的数据传输的其自己的带宽消耗的的知识,可以确定其它客户机对共享网关的使用。有了所有这种信息,即,共享网关的总容量、对共享网关的实际使用、以及本地网络内的其它客户机或计算设备的使用,客户机可以调整或节流其自己的后台文件传输,以便将共享网关上的实际数据传输保持在可用的总容量的合理的或所希望的百分比内。即,通过调整用于其自己的后台文件传输系统的数据传输,客户机将优先级给予其它本地网络计算设备对共享网关的使用。
在描述本发明的各个实施例的其它细节之前,将参考图3描述可以用于实现本发明的原理的合适的计算体系结构。在下面的描述中,除非另外指出,否则参考由一个或多个计算机执行的动作和操作的符号表示来描述本发明的各实施例。如此,应当理解,有时被称为被计算机执行的这种动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。该操纵变换数据或将其保持在计算机的存储器系统内的各位置处,这以本领域的技术人员公知的方式重新配置或改变计算机的操作。保持数据的数据结构是具有由数据的格式定义的特定属性的存储器的物理位置。然而,虽然以前述的上下文描述本发明的原理,但这不意味着是限制,如本领域的技术人员所理解的,下面描述的动作和操作也可由硬件实现。
转向附图,其中相同的参考标号指示相同的元件,本发明的原理被示为在合适的计算环境中实现。下面的描述基于所示的本发明的实施例,并且不应被认为是关于此处未明确描述的可替换的实施例限制了本发明。
图3示出了可用于这些设备的示例计算机体系结构的示意图。为了描述的目的,绘出的体系结构仅是合适的环境的一个例子,并且不旨在对本发明的使用范围或功能提出任何限制。这些计算系统也不应被解释为具有对图3中所示的任意一个组件或其组合的任何依赖性或需求。
可用若干其它通用或专用计算或通信环境或配置来实现本发明的原理。适合与本发明一起使用的已知的计算系统、环境和配置的例子包括,但是不限于,移动电话、袖珍计算机、个人计算机、服务器、多处理器系统、基于微处理器的系统、微型计算机、大型计算机、以及包括上述系统或设备中的任一个的分布式计算环境。
在其最基本的配置中,计算系统300通常包括至少一个处理单元302和存储器304。存储器304可以是易失性的(诸如RAM)、非易失的(诸如ROM、闪存等)、或这两者的某个组合。在图1中以虚线106示出了该最基本的配置。在本说明书和权利要求书中,“计算系统”被定义为能够执行实现一功能的软件、固件或微码的任意硬件组件或硬件组件组合。该计算系统甚至可以是分布式的以便实现分布式功能。
存储介质设备可以具有其它特征和功能。例如,它们可以包括附加的存储(可移动的和不可移动的),包括但不限于,PCMCIA卡、磁盘和光盘、以及磁带。在图3中以可移动存储设备108和不可移动存储设备310示出了这种附加的存储。计算机存储介质包括用于诸如计算机可读指令、数据结构、程序模块或其它数据等信息的存储的、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器304、可移动存储308和不可移动存储110都是计算机存储介质的例子。计算机存储介质包括但是不限于RAM、ROM、EEPROM、闪存、其它存储器技术、CD-ROM、数字通用盘、其它光学存储、磁带盒、磁带、磁盘存储、其它磁性存储设备、以及可用于存储所希望的信息并且可由计算系统访问的任意其它介质。
如此处使用的,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处描述的不同的组件、模块、引擎和服务可被实现为在计算系统上执行的对象或进程(例如,作为单独的线程)。虽然此处描述的系统和方法优选地以软件实现,但软件和硬件或硬件的实现也是可行和预期的。在本说明书中,“计算实体”可以是此处前面定义的任意计算系统,或运行在计算系统上的任意模块或模块组合。
计算系统300还可以包含通信信道312,其允许主机通过例如网络320与其它系统和设备通信。通信信道312是通信介质的例子。通信介质典型地以诸如载波或其它传输机制等已调制数据信号来表达计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传输介质。作为例子,而不是限制,通信介质包括有线介质,诸如有线网络和直接线路连接,以及无线介质,诸如声学、无线电、红外线和其它无线介质。此处使用的术语计算机可读介质包括存储介质和通信介质两者。
计算系统300还具有输入组件314,诸如键盘、鼠标、笔、语音输入组件、触摸输入设备等。输出组件316包括屏幕显示器、扬声器、打印机等,以及用于驱动它们的呈现模块(通常称为“适配器”)。计算系统300具有电源318。所有这些组件是本领域公知的,并且不需要在此进行详细讨论。
图1A和1B示出了根据示例性实施例使用后台数据传输模块135的分布式系统100的各种拓扑结构。虽然不必如此,但是分布式系统100可以类似于以上参考图3所描述的计算系统300。如图1A所示,分布式系统100包括通过共享网关120连接的本地网络125和远程网络105。注意,虽然以环形配置示出了本地网络125(其中每个客户机140、145、150以类似环的方式连接115),但其它拓扑结构也可用于本发明。例如,在图1B中,串行连接本地网络125的客户机145、150、155、160以便形成树状结构。然而当然,本发明不限于仅是这些拓扑结构,而是可以用任意公知的方式来排列本地网络125和其中的客户机140、145、150、155、160。因此,本地网络125内的客户机140、145、150、155、160的任何特定拓扑结构或配置在此处仅用于说明的目的,并且不意味着限制或缩小本发明的范围。
不论本地网络125的拓扑结构或配置如何,流入本地网络125或从本地网络125流出到远程网络105的数据或通信将穿过一个或多个共享网关120。该共享网关通常具有用于到远程网络105的连接110的不同传输速率和用于本地网络125内的连接115的数据流速度。注意,远程网络105可以是本地网络125外部的任意类型的网络。例如,远程网络105可以是广域网(WAN)、局域网(LAN)、因特网、虚拟专用网(VPN)等。虽然如前所述,后台运行的软件和软件更新通常发生在因特网上,但本发明不限于任何特定类型的应用下载或数据传输;并且因此不限于任何特定类型的远程网络105。因此,此处对任何特定类型的远程网络105或用于本地网络125和远程网络105间的后台数据传输的数据类型的使用仅是为了说明的目的,并且除非明确要求保护,否则不意味着限制或缩小本发明的范围。
不论通过共享网关120传输的数据的类型或远程网络105的类型如何,示例性实施例都能够将优先级给予其它本地网络125计算机器(例如,145,150)对共享网关120的使用,以便控制和估算用于在共享网关120上传输后台文件或数据的有效可用带宽。再次参考图1A,本地网络125机器140、145、150中的一个或多个可以包括本地网络接口(LNI)130和/或后台数据传输模块135(BDTM)。如下面更详细所述,本地网络接口130之一或后台数据传输模块135可用于确定用于在共享网关120上传输后台数据文件的可用带宽。
如前所述,在一个示例实施例中,本地网络125内的每一个别的客户机140、145、150可以在它们之间(或通过未示出的中央服务)共享其在共享网关120上的带宽的使用。另外,共享数据可以分为通过共享网关120的前台和后台带宽消耗。知道共享网关120的总容量之后,可以使用后台数据传输模块135来调节通过共享网关120的后台数据传输的流量,以便帮助减少对在本地网络内执行的其它远程网络105活动的干扰。换言之,基于共享网关120的总容量和每个客户机140、145、150的前台/后台使用,可以对后台使用节流,以便将这种使用保持在被确定为不会干扰其它远程网络105活动的某个阈值之下(例如,实际总带宽,即总前台/后台使用的5%)。
注意,可以用若干公知的方法来确定共享网关120的总容量。例如,可以使用共享网关120容量的额定值来估算其总容量。然而典型地,这种额定值是不准确的。因此,可以通过连续监视共享网关120上的最大通信量来估算共享网关120上的总容量。每次测量到新的最大值,这一值可用作对共享网关120的总容量的估算。当然,本发明也可使用确定共享网关120的总容量的其它方法。因此,此处使用的用于确定共享网关120的总容量的任何特定方法仅是出于说明目的,并且除非明确提出要求,否则不意味着限制或缩小本发明的范围。
根据其它示例实施例,不是共享关于各个本地网络125客户机140、145、150的带宽消耗的信息,而是各实施例能够将优先级给予其它本地网络计算机器对共享网关120的使用。参考图1C,该实施例也以类似于上述的方式来确定共享网关120的总带宽容量165。另外如前所述,客户机140可以使用后台数据传输模块135来确定其自己在共享网关120上的总带宽消耗,这包括后台数据传输带宽消耗180。
然而,与上述处理不同,还可以生成关于在任何特定时刻共享网关120的实际带宽消耗170的附加统计信息,并且将其传输到客户机140。该信息表示对共享网关120的总通信量(进和出两者)的估算。如下面更详细所述,可以通过使用诸如通用即插即用(UpnP)等检测模块来获得这种信息。
使用所有这种信息(即,总带宽容量165、关于实际带宽消耗的统计信息170、客户机的总带宽消耗175和后台数据传输带宽消耗180),后台数据传输模块135可以对共享网关120上的后台数据传输进行节流。注意,根据上述数据的比较结果,节流185可以是增加或减少后台数据传输。因此,除非明确提出要求,否则术语“节流”应当被宽泛地解释为包括增加和减少后台文件传输速率两者。
在一个实施例中,后台数据传输模块135从实际带宽消耗170中减去其自己的带宽消耗175,以便确定本地网络125内的其它客户机(例如,145、150)的活动。基于总带宽容量165和其它客户机145、150的使用,后台数据传输模块135遵从其它客户机145、150,以便确保其它活动(即,其它客户机145、150的活动)保持在总带宽容量165的某个百分比。后台数据传输模块135可以调节其网络使用185,以便仅使用剩余带宽,即,从其估算的共享网关120上的最大网络容量中减去当前的网络使用。因此,客户机140将优先级给予其它本地125计算机器对共享网关120的使用。
注意,虽然后台数据传输模块135使用关于共享网关120上的其它客户机145、150的活动的信息来对后台数据传输进行节流185,但本发明也可以使用其它比较和阈值确定值。例如,后台数据传输模块135可以基于相对于总带宽容量的使用百分比和实际的带宽消耗170,来对共享网关120上的后台数据传输进行节流185。例如,后台数据传输模块135可以对后台数据传输进行节流185,以便将使用百分比或带宽消耗保持为恒定或接近恒定的速率。当然,本发明可以使用来自共享网关120的数据的其它使用和这种信息与特定客户机140的使用175的比较。因此,此处使用的对来自共享网关120的信息和来自客户机140的带宽消耗175的任何特定比较来确定后台数据传输或对其进行节流185仅是出于说明目的,并且除非明确提出要求,否则不意味着限制或缩小本发明的范围。
不论用于对后台数据传输进行节流185的阈值和信息如何,其它示例性实施例都可以基于本地网络接口130或共享网关120中的哪一个具有最高消耗带宽或最低可用带宽总发送和接收字节计数值,来从这两者中的任一个计算可用带宽。例如,如果共享网关120具有较少的消耗带宽,并且传输系统本地网络接口130卡测量内有较多的可用带宽,则后台数据传输模块135可以将传输速率节流185为仅消耗最低的可用带宽量,在该情况下,为本地网络接口130卡。因此,后台数据传输模块135应当以周期性的速率(例如,每秒一次)基于最高消耗带宽值或最小可用带宽值来检查并且调整速率。
可替换地或相结合地,示例实施例还可以使用上述的客户机共享实施例和共享网关120的信息165、170来与本地网络接口一起计算和控制用于后台数据的可用带宽。注意,当一起使用时,可以比较共享进程和对来自共享网关120的信息的利用165、170,以便确定对共享网关120上的实际数据传输和本地网络客户机140、145、150的使用的可能更准确的表示。
如上所述,在示例实施例中,后台传输系统可以使用通用即插即用(Upnp)来检测和查询共享网关120统计计数器。对统计计数器值(例如,关于实际带宽消耗170或总带宽容量165的统计信息)和共享网关120的存在的汇集(pool)可以周期性地,例如每秒一次地发生。因此,每次当一网关设备被添加到本地网络125或从本地网络125移出时,后台传输系统都应当知道。应当在从UPnP通知中收到任何共享网关120(或潜在的其它设备)的添加或离开之后更新用于节流185的算法。
注意,示例实施例还可用于本地网络125内的多个共享网关120。在这种情况下,后台传输系统应当应用被调准到为其计算了可用带宽,并且后台传输将经过它的同一个共享网关120的文件后台传输速率。在其它示例实施例中,如果在传输系统可用的一个或多个共享连接点之后有多个共享网关120,则后台数据传输模块135应当承认由系统分配的一个共享网关120高于其它共享网关的给定权重和性能。因此,后台数据传输模块135可以查询到具有由系统确定的适当权重和性能的设备的后台传输速率并对其进行节流185。
在其它示例性实施例中,后台数据传输模块135将意识到它何时正在使用与共享网关120和相关的远程网络105不同的连接110和连接设备并且相应地计算节流185。例如,在系统通过蜂窝适配器和蜂窝网络登录到远程网络105上的情况下,在没有共享网关120的情况下,后台数据传输模块135可以自动地对系统本地网络接口130(例如网络接口卡)进行节流185,并且估算带宽大小(例如通过跟踪随时间发送/接收的字节/估算的到服务器的时间相比于实际时间)。
移动用户应当能够移动到环境中的新位置,并且假设后台数据传输模块135可以基于不同的共享网关120或其它传输设备的可用带宽立刻并且自动地调整其后台文件传输速率。例如,当膝上型计算机被移动到新的位置时,可以使用UPnP来主动地搜索共享网关120,并且当查询可用带宽时将新的共享网关120暴露给后台数据传输模块135。另外,如果膝上型计算机被移动到没有共享网关120的网络环境中,它可以检测到这一点,并且立刻回到本地网络统计而不会中断后台数据传输。另外,当将新的共享网关120添加到本地网络125时,一旦UPnP发现了新的和/或替换的设备,应当立刻通知后台数据传输模块135。
根据另一个示例实施例,可以使用后台数据传输模块135来确定共享网关120上发送的总字节或接收的总字节在预定的时间段内未改变的时间。在这种情况下,后台数据传输模块135可以认为计数器“陷住了”,并且传输速率仅可以基于本地网络接口卡130的值,或当可用时可以使用来自本地网络125客户机140、145、150的共享信息。
本发明还可以按照包括功能步骤和/或非功能动作的方法来描述。下面是对可以在本发明的实现中执行的步骤和/或动作的描述。通常,功能步骤按照所达到的结果来描述本发明,而非功能动作描述用于实现特定结果的更具体的行动。虽然可以按特定的顺序描述或要求保护功能步骤和/或非功能动作,本发明不必限于任意特定的顺序或步骤和/或动作的组合。另外,步骤和/或动作的使用是对权利要求的叙述一并且在对图2的流程图的下面的描述中一用于指出这些项的所希望的特定使用。
图2示出了用于本发明的各个示例性实施例的流程图。对图2的下列描述有时会涉及图1A-C中的相应元件。虽然可以参考这些图中的特定元件,但这些元件仅用于说明的目的,并且除非明确提出要求,否则不意味着限制或缩小本发明的范围。
更具体地,图2示出了用于通过将优先级给予其它本地网络计算机器对共享网关的使用,来控制和估算通过本地网络和远程网络间的共享网关传输后台文件的有效可用带宽的方法200。方法200包括用于减少230对共享网关上的其它活动的干扰的步骤。用于230的步骤包括确定205共享网关上的数据传输的总带宽容量的动作。例如,可以基于分配给网关120的速率值来确定共享网关120的总带宽容量165。替换地,可以通过对在共享网关120上使用的最大带宽的统计监视来确定总带宽容量165。
注意,共享网关120将多个本地网络125客户机140、145、150、155、160链接到远程网络105中的一个或多个计算系统。远程网络可以是因特网、广域网(WAN)、虚拟专用网(VPN)、被划分为通过因特网网关设备(IGD)连接的子网的内联网。另外,多个本地网络客户机中的至少一个,例如客户机140,将包括被配置为在共享网关120上的实际带宽消耗低于预定阈值的间隔内传输数据文件的后台数据传输模块135。
用于230的步骤还包括接收关于共享网关上的数据传输的实际带宽消耗的统计信息的动作。例如,客户机140可以接收关于共享网关120上的数据传输的实际带宽消耗170的统计信息。注意,可以使用UPnP来获得关于共享网关设备上的数据传输的实际带宽消耗170的统计信息。另外,通过检索关于共享网关120上的最大传输速率的数据,可以使用UPnP来确定总带宽容量165。
用于230的步骤还包括确定215后台数据传输带宽消耗的数量的动作。例如,客户机140内的后台数据传输模块135可以确定用于共享网关上的数据传输的其自己的后台数据传输带宽消耗180。
此后,用于230的步骤包括比较220总带宽容量和用于共享网关上的数据传输的实际带宽消耗的动作。基于该比较,用于230的步骤包括对后台数据传输带宽消耗的数量进行节流225的动过。例如,后台数据传输模块135可以比较总带宽容量165和关于实际带宽消耗170的统计信息,以便对共享网关120上的后台数据传输速率进行节流185。基于比较的结果,该节流可以增加或减少共享网关120上的带宽消耗。
注意,如前所述,可以用各种方式来使用总带宽容量165和关于实际带宽消耗170的统计信息,以便对计算设备140的后台数据传输速率进行节流185。例如,后台数据传输带宽消耗180可以是与总带宽容量165相比的实际带宽消耗170的某个百分比。同样,可以将客户机140的共享网关120上的总带宽消耗180与总带宽容量165和实际带宽消耗170进行比较,以便确定其它本地网络客户机145、150的共享网关120上的带宽消耗。
在这种情况下,对共享网关设备120上的后台数据传输速率的节流185还可以基于其它本地网络客户机145、150的带宽消耗。例如,对后台数据传输带宽消耗的节流185可以基于后台数据传输带宽消耗相对于以下各项的百分比:用于其它本地网络计算设备145、150的数据传输的共享网关120上的带宽消耗;用于共享网关120上的数据传输的总带宽容量;以及用于共享网关上的数据传输的实际带宽消耗170的百分比。
在另一个示例实施例中,可以使用本地网络125中的客户机140、145、150、155、160的本地网络接口130来确定本地网络带宽消耗。可以将确定的本地网络带宽消耗与网关120上的带宽消耗进行比较。基于该比较,可以在对后台数据传输带宽消耗的数量进行节流185时使用确定的本地网络带宽消耗或用于共享网关120上的数据传输的实际带宽消耗170。
在其它实施例中,多个本地网络客户机140、145、150、1 55、160中的每一个包括后台数据传输模块135。在该实施例中,为多个本地网络客户机140、145、150、155、160中的每一个的后台数据传输确定共享网关120上的带宽消耗。基于该确定,对多个本地网络客户机140、145、150、155、160的一个或多个后台数据传输进行节流,从而将共享网关设备120的带宽消耗170的实际数量保持在预定阈值之下。
本发明可以被实施为其它具体形式而不脱离其精神或基本特性。所描述的实施例被认为在所有方面仅是说明性的而不是限制性的。因此由所附的权利要求书而不是由前面的说明书来指示本发明的范围。落在权利要求的等效技术方案的含意和范围内的所有改变都被包含在其范围内。