在竞争应用之中共享网络带宽的系统的制作方法与工艺

文档序号:13109510阅读:109来源:国知局
分案说明本申请属于申请日为2012年1月31日的中国发明专利申请201280015806.7的分案申请。相关申请的交叉引用本申请是于2011年2月1日提交的美国专利申请No.13/018,967的连续申请,特此通过引用将其公开内容并入本文。

背景技术:
大型网络支持各种各样的应用和服务。这样的网络可以包括在互连网络或交换结构中跨链路分布的多个设备。网络的每一个节点可以包括交换机(例如,路由器)或端点(例如,主机设备)。当链路或节点载送太多数据,从而导致服务质量的恶化时,会发生网络拥塞。典型地,网络拥塞的影响包括排队延迟、分组丢失或新连接的阻塞。跨越网络的拥塞可以通过协议来控制,诸如传输控制协议(“TCP”),其为竞争连接维持相似带宽。TCP还确保总体传输速率小于链路容量。TCP的局限性中的一个是其聚焦于在任何给定时间正与端点进行的连接的数量。因此,网络的用户能够仅仅通过实现与网络的另外连接来容易地使用另外带宽。这种实践在其中用户的作业(job)跨越许多机器散布的较大型分布式系统中正变得越来越普遍。例如,如果第一用户正在100个机器上运行作业,并且第二用户正在10个机器上运行作业,则第一用户可以能够使用10倍第二用户的带宽。对于许多网络来说,这是不期望的,因为其引发了被认为是带宽的不公平分配的东西。

技术实现要素:
本发明总体上涉及对网络中的带宽的管理。更具体地,本发明涉及为网络中的每一个用户预测需求,并且基于期望的带宽分配策略来将带宽分配给每一个用户。本发明的一个方面提供了下述方法:集中强制实施(enforce)带宽分配策略,以使每一个用户根据其需求接收带宽的份额,并且从而防止用户超过其分配的带宽。另外,可以将特定用户未使用的任何带宽重新分发给网络上的其他用户,从而将带宽分配给更需要其的用途。在另一个方面中,为每一个用户指配特定用户权重值,并且将与该用户的权重值成比例地将带宽分配给每一个用户。权重值可以基于任何数量的因素,包括用户的优先级、用户的作业的数据密度、或用户的作业的时间敏感性。因此,如果两个用户具有相同的权重值,则他们将接收相等的带宽分配,假设他们正以相同的服务质量(“QoS”)将数据从同一网络源传输到同一网络目的地。另一个方面允许重要的、关键性业务流量在没有被不期望和非关键网络传输中断的情况下被传输。在又另一个方面中,带宽的节流通过在网络的终端主机处成形的自动内核级流量,外加用来检测瓶颈的容量的网络瓶颈的检测和公平策略的应用,来实现。在本发明的又另一个方面中,来自终端主机的网络使用信息的收集通过中央收集层级来聚集。附图说明图1图示示例性全局网络。图2图示依据本发明的方面的功能组件层级。图3是依据本发明的方面的流程图。图4是展示与效用值有关的带宽分配的图表。图5是展示与效用值有关的用于带有不同权重值的用户的带宽分配的图表。图6是展示与效用值有关的汇总带宽分配的图表。图7是依据本发明的方面的流程图。图8A-B图示用于在本发明中使用的计算机系统。具体实施方式当参考示例性实施例的下面描述和附图来考虑时,将理解本发明的方面、特征和优势。在不同附图中相同的参考数字可以标识相同或相似的元素。此外,下面的描述不是限制;本发明的范围由所附权利要求及等价物来限定。图1图示用于与本发明的方面一起使用的示例性互连网络100。如所示,网络包括多个主机102,其可以是诸如服务器或客户端设备的计算机。主机102可以通过网络中的节点104相互耦接。主机102还可以被耦接到外部网络、存储系统或其他设备(未示出)。每一个节点104可以包括路由器,其具有通过链路106与网络上的其他设备的逻辑接口。每一个逻辑接口可以被表征为具有以每秒比特的给定容量。可以将主机102分组成典型地将相互共享计算资源的集群。在图1中所提供的示例中,主机102a、102b和102c是网络集群108。多个集群可以在相同站点或存在点(“POP”)处运作。在图1中,主机102a至102f表示在相同POP处运作的两个单独集群108。网络路径是通过链路106从网络上的一个点到另一个的逻辑接口序列,而“路径集”是多个路径的集合。可以使用路径集来描述可以为在一个网络集群到另一个之间传输的数据采用的所有路径。另外,每一个路径可以具有相对权重,指示网络流量在沿着具有两个或多个单独路径的路径集传输时应当以其被拆分的比率。在图2的体系结构200中示出了本发明的一个示例性实施例。在该实施例中,系统200包括下面的组件:全局居间器(globalbroker)202、站点居间器(sitebroker)204、作业成形器(jobshaper)206以及主机成形器(hostshaper)208。可以将这些组件合并入如图1中所示的大型网络的各种主机102中。网络的用户可以包括个人和客户端设备。另外,可以将体系结构200的一个或多个组件合并入网络上的单个设备中。例如,站点居间器204、作业成形器206以及主机成形器208可以包括驻存在具有能够执行与单独模块中的每一个相关联的功能的处理器的单个设备上的软件模块。如图2的体系结构200中所示,全局居间器202坐落于带宽强制实施器层级的顶部。全局居间器202负责在不同网络集群之间分割网络上的可用带宽。全局居间器202从站点居间器204接收与带宽使用和带宽需求有关的信息。可以以期望粒度提供被提供给全局居间器202的网络传输信息。例如,替代提供网络上的每一个设备的带宽使用和需求,站点居间器204可以向全局居间器202提供与设备集群有关的信息(212)。例如,提供给全局居间器202的网络数据信息可以包括网络上的每一个源集群和目的地集群的标识。网络传输信息还可以为每一个传输指定不同优先级。例如,可以将容忍延迟的传输指定为低优先级,而可以将延迟敏感的传输指定为高优先级。另外,可以将网络传输指定为强制实施的或未强制实施的。强制实施的数据将受制于带宽强制实施方案,而未强制实施的数据将被免除。网络传输在它们落在预先确定的带宽阈值之下时可以被指定为未强制实施的。网络传输信息还可以包括将采用的传输路由的指示。例如,如果网络包含多个主干,则传输信息可以指示传输将采用哪个主干。网络传输信息可以以利用上面提供的传输指定中的每一个的主体(principle)分量或特有变量形式来表示,从而取决于正被确定的变量而创建不同的“主体”。例如,“集群主体”可以由下面的变量来表示:<源集群,目的地集群,传输路由,优先级,强制实施/未强制实施>。因此,每一个集群主体将包含这五个变量的特有组合。如下所述,可以通过创建不同分量变量的组合来创建其他网络“主体”。对于每一个单独的集群主体,站点居间器204将带宽使用以及概述带宽需求并且提供用户正以其请求需求的相对权重的效用函数传递给全局居间器202(212)。全局居间器202然后执行网络管理者所选择的网络共享策略。在下面详细地说明了效用函数和网络共享策略。全局居间器202还可以被配置成维护表示网络的当前拓扑的网络模型。网络模型以及使用和需求信息可以由全局居间器202使用来检测在网络内的拥塞链路。进而,全局居间器202可以为每一个集群主体计算带宽限制,并且在各集群对之间分割可用宽带。优选地,全局居间器202定期将带宽限制向下传递给站点居间器204(214)。在一个示例中,这可以是大约每10秒钟。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。这种方式,系统可以基于当前网络需求来提供带宽分配。站点居间器204期望地在每一个网络站点或存在点(“POP”)处运行。站点居间器204通过传输214从全局居间器202接收带宽限制。站点居间器204还通过传输218为每一个用户和在作业成形器206中的作业周期性地分发带宽。优选地,大约每10秒钟发生这种分发。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。具体地,站点居间器204通过传输214从全局居间器202接收集群主体带宽限制,并且根据用户主体将所接收的带宽限制分成用户带宽限制。用户主体包括用户的标识,传输的源集群、传输的目的地集群以及传输的差分服务代码点(“DSCP”)。DSCP包含QoS保证和相关网络偏好。在不同作业之中划分特定用户的带宽时,站点居间器204使用作业成形器206通过传输216所提供的作业主体。作业主体包括与用户主体相同的变量,而且还期望地包括正由网络的用户运行的特定作业的标识。因此,站点居间器204将聚集作业主体中的每一个,以便创建用户主体。站点居间器204然后可以将用户主体信息聚集成集群主体的形式,并且通过传输212将集群主体提供给全局居间器202。优选地,站点居间器204将例如大约每10秒钟,向全局居间器202提供包括集群主体需求的使用报告。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。作业成形器206在每一个网络集群处运行,以及负责在与那些作业相关联的任务之中分割作业级带宽限制,并且通过传输222将这些限制提供给主机成形器208。优选地,作业成形器206大约每5秒钟分发带宽限制。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。该分发期望地是作业保持的,因为任务未使用的任何带宽应当被重新分发给其他任务。作业成形器206还通过传输216向站点居间器204周期性地报告作业级带宽使用。优选地,大约每10秒钟发生这些周期性带宽报告。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。在执行这种功能时,作业成形器206接收从主机成形器208提供的任务主体带宽使用和需求。任务主体包含与作业主体相同的变量,而且期望地包括为作业实现的每一个任务的标识。因此,任务主体可以被配置成包含下面的主体分量:<用户,作业,任务,源集群,目的地集群,DSCP>。主机成形器208可以在网络中的每一个主机上运行,尽管这不是必需的。当主机设备通过网络传输数据时,传输分组可以按照主机正运行的单独进程或任务来分类。每一个任务的识别可以由运行于主机设备上的诸如Linux内核的内核340来执行。内核340因而允许系统将主机设备的每一个网络连接,诸如TCP连接,映射到对应的任务和用户。主机成形器208通过传输220向作业成形器206周期性地报告该任务使用信息,以及主机成形器208在单独主机上强制实施作业成形器206通过传输222提供的带宽限制。优选地大约每五秒钟发生周期性任务使用报告。在其他示例中,可以以其他定期或预设间隔,诸如每1-15秒钟、每1-15分钟或根据可以是网络触发的事件的预先确定的条件,发生这种信息交换。在网络上传输的每一个任务在特定主机处基于正与其发生传输的远程集群的标识、终端用户以及该传输的DSCP来分类。对于每一个远程集群和DSCP对,使用令牌桶算法来测量并节流带宽使用。每一个主机成形器208可以被配置成执行大量功能。例如,主机成形器208可以管理网络集群名称到其网际协议(“IP”)子网的映射。每一个主机成形器208还可以为网络上的新的集群间流量运行周期性检查,进而,创建新的流量控制类。流量控制类的树然后可以由主机成形器208划分并管理。可以基于下面的主体分量来进行流量控制类的划分:<本地任务,远程集群,DSCP>。主机成形器208还可以被配置成执行其他流量优化功能,诸如为特定集群内网络流量创建快速路径,以及将响应的上游确认(“ACK”)确定优先次序。另外,主机成形器可以在每一个主机处执行吞吐量阈值检查,并且为网络传输创建令牌桶。令牌桶是基于令牌在抽象桶中的存在来确定何时可以传输流量的控制机制。桶包含令牌,其每一个可以表示字节单元或预先确定大小的单个分组。网络管理员可以指定传输特定数量的字节需要多少令牌。当令牌存在时,允许流来传输流量。如果在桶中不存在令牌,则不允许流,并且不传输分组。可以替选地使用用于确定待何时传输流量的其他已知机制。响应于来自上游作业成形器206的输入,主机成形器208还可以更新对令牌桶的限制。可以丢弃已变成失活的令牌桶。在一个示例中,每一个令牌桶可以被配置成允许平均比特率R与B秒钟的突发大小。在任何给定速率R和突发B,不活动的时期B将触发流量被允许以与R*B比特的总量相等的线路速率或数据传输速度突发,以及可以在缺乏空闲的情况下,实现R的持续率。可以以任何数量的现有方式发生带宽节流。例如,可以使用LinuxHTB分组调度器和分组分类器来实现内核中节流。应当注意的是,对于TCP,可能的是,在传输的客户端侧一直使带宽节流。然而,这样的过程在网络客户端正拉取大量数据时,通常将需要较大客户端侧缓冲。因此,可能更可取的是,在正发送数据的网络的侧使带宽节流。带宽强制实施器系统还可以包括可以在每一个网络集群中运行并且针对网络上的部分或全部其他集群执行跟踪路由操作的网络模型集群报告器(“集群报告器”)模块210。集群报告器210聚集跟踪路由数据,并且通过传输224将其报告给全局居间器202。作为回报,集群报告器210通过传输226从全局居间器202接收网络上的所有已知集群的列表。集群报告器210还可以被配置成向作业成形器206周期性地发送跟踪路由命令。系统200被配置成部分使用下述过程来强制实施网络的期望带宽分配策略。强制实施带宽分配策略的配置可以包括一个或多个组分,诸如下述:用户权重;手动节流、永久分配、自动强制实施规则、自动强制实施阈值、网络模型重写以及集群列表。用户权重是确定用户将从带宽强制实施器200接收的带宽的比例的数值。用户权重可以取决于用于特定传输的服务质量级别。因此,对于每一个传输,使用默认用户权重和服务质量乘法器(QoS乘法器)。QoS乘法器是为特定类型的数据传输设置服务质量级别的值。因此,在一个示例中,用于给定传输的用户权重是默认用户权重乘以QoS乘法器:user_weight=default_user_weight*QoS_multiplier例如,假设用户A和用户B两者均正在网络上执行已被指配有100的QoS乘法器的数据传输。如果用户A具有1的默认用户权重,以及用户B具有1.5的默认用户权重,则用户A的传输将被指配(1.0*100)=100的实际用户权重,而用户B的传输将被指配(1.5*100)=150的实际用户权重。用户权重乘法器或QoS乘法器的值可以取决于与确定特定网络用户的重要性有关的任何因素集。例如,可以向正致力于关键性项目或时间敏感项目、需要大量数据的用户提供比正致力于不那么重要的项目的用户高的用户权重乘法器和高的QoS乘法器。应当注意的是,如果期望的话,用户权重可以用作为可以为特定用户重写的默认设置。例如,如果用户确定其没在接收足够带宽,则该用户可以提交对另外带宽的请求。可以通过该用户的网络设备来发出该请求,并且可以将该请求从设备的主机成形器208发送给全局居间器202。取决于当前网络使用或来自网络管理者的输入,全局居间器202然后可以重写默认用户权重设置,从而向用户提供另外的带宽。带宽强制实施器系统200使用的另一个配置组分是永久分配(“PA”)。可以使用PA来保留网络上的带宽以供重要用户传送。因此,在系统的分配策略中可以给予PA最高优先级。系统可以基于用户的主体分量、源集群、目的地集群以及QoS值来指定PA保留。例如,假设用户A试图使用高于预定义阈值的QoS将数据从集群B发送给集群C,全局居间器202可以被配置,以使为用户A保留2Gbps的带宽。当用户A没在使用该保留的带宽时,其可以暂时被分配给其他用户。另一个系统配置组分是手动节流,其指定对用户能够在两个网络集群之间进行发送的速率的最大限制。可以在作业级(“作业节流”)或用户级(“用户节流”)指定手动节流。用户节流包含与PA相同的主体分量,即用户、源集群、目的地集群以及QoS级别。作业节流使用相同的主体分量,外加指定正由用户运行的作业的第五主体分量。系统使用的又另一个配置组分是自动强制实施规则,其指定要强制实施哪些网络传输流以及对哪些不强制实施。每一个自动强制实施规则可以指定任何数量的网络参数,以供免除带宽强制实施,诸如指定的传输路径。网络参数可以包括对源集群、目的地集群、用户、作业等以及其任何组合的指定。同样地,自动强制实施规则可以指定其他网络参数,以供自动包括在带宽强制实施器的分配策略中。另外,带宽强制实施器可以执行自动强制实施阈值,其指定在传输将遭受带宽强制实施器的分配策略之前所需的带宽使用率。可以在作业主体级强制实施该阈值。例如,可以将自动强制实施阈值设置成5Mbps,以使每一个作业主体将不会遭受带宽强制实施器的分配策略,除非其具有高于5Mbps阈值的使用率。优选地,带宽强制实施器将满足阈值的每一个作业主体放入自动强制实施桶,并且其将作业主体保留在自动强制实施桶中达预先确定的时间段,诸如十五分钟。在其他示例中,可以以其他定期或预设间隔,诸如每分钟至每小时、或根据可以是网络触发的事件的预先确定的条件,来发生该时段。这种方式,间歇性移动高于和低于阈值的网络传输将不会在强制实施状态和未强制实施状态之间来回翻转。取决于传输路由,还可以将自动强制实施阈值设置成不同阈值级。例如,如果网络包含两个或更多个主干,则带宽强制实施器可以将第一主干的阈值设置成5Mbps,而其他主干的阈值级可以被设置成10Mbps。网络模型重写是带宽强制实施器系统200的另一个配置组分。网络模型重写允许对给定链路容量和可保留的阈值的手动重写。重写可以被表示为包含在排序列表中的规则集,其中列表中的第一匹配规则被应用。将单独的排序列表用于链路容量重写和可保留的阈值重写。可以通过识别链路的源路由器、目的地路由器以及所使用的接口,来在规则集中指定每一个链路。可以在集群列表上识别存在于网络上的集群。对于每一个集群,该列表可以包含集群的名称、其所属的站点或POP以及集群存在于的子网。如果网络上的两个用户具有相同的用户权重,则带宽强制实施器系统200将分配相同量的带宽,假设他们正将具有相同QoS的传输从相同源集群发送给相同目的地集群。在用户正在不同集群对之间发送传输的情况下,这不一定如此。然而,应当理解的是,可以对带宽强制实施器系统200进行配置,以使在网络用户之间提供公平性,而不管他们是否正在不同源和目的地之间进行传输。另外,带宽强制实施器200可以被配置成允许用户通过优先级令牌将其用户权重值借给另一个用户流,以使另一个流能够以原始用户的优先级运作。如上所述,带宽强制实施器系统200从网络上的所有用户设备聚集集群间网络使用信息。可以对这种使用信息进行推断,从而预计或预测网络上的带宽需求。带宽强制实施器然后可以通过将推断的使用信息纳入各种带宽共享过程来在用户设备之间分配带宽。带宽强制实施器系统可以实现可以被描述为“注水(waterfill)”过程的内容,其在竞争用户、作业和任务之间划分网络的可用带宽。出于注水过程的目的,每一个作业主体可以与特定用户主体相关联。因此,作业主体可以被认为是相关联的、父亲用户主体的孩子主体。类似地,每一个任务主体可以与作业主体相关联,并且可以被认为是该作业主体的孩子主体。在图3的流程图中图示了注水过程300。注水过程300可以由系统上的任何模块执行,但是优选地由站点居间器204或作业成形器206执行。该过程在块302开始,其中原始带宽水位被设置在0。在块304,带宽强制实施器模块从可用主体选择具有最低带宽需求d的孩子主体。在块306,确定是否有足够剩余带宽可用于为所有剩余孩子主体满足最低需求。如果对块306的回答是“是”,则该过程前进到块308,其中带宽水位增加了量d。然后,在块310,所有孩子的带宽需求减少了量d。在块312,可用带宽减少了(d*剩余孩子主体数)。然后,在块314,将先前在块304中选择的最低需求孩子主体排除在未来考虑之外,并且该过程返回到块304。如果对块306的回答是“否”,则该过程前进到块316,其中水位增加了剩余带宽除以剩余孩子数。在完成了注水过程300时,对满足块306的所有主体的带宽限制将等于该主体的需求。对于所有其他主体,限制将等于块308的最后迭代所设置的水位。以这种方法,注水过程以最大-最小公平方式,其意为数据流实现的最小数据率被最大化,在所有竞争主体之间划分可用带宽。站点居间器204可以通过创建效用函数来为网络用户概述带宽需求。更具体地,单个效用函数可以用作为正在相同网络集群对之间发送数据的多个用户的带宽需求的表示。效用函数还可以考虑如上所述赋予每一个用户的用户权重和PA。图4图示了关于两个用户即用户1和用户2的效用函数,用户中的每一个具有不同的PA。在该示例中,用户1已被指配1Gbps的PA,而用户2已被指配4Gbps的PA。可以任意设置图4中提供的效用值的规模,因为仅仅其相对值是决定性的。出于该示例的目的,效用函数将在值0和200之间变动。假定PA被指定在带宽共享期间具有最高优先级,则效用函数单独为PA保留在0和100之间的效用值。在100和200之间的效用空间中概述了用户需求的其余部分。如图4中所示,在100及更高的效用处完全满足两个PA。对于小于100的效用值,每一个用户被赋予与其PA成比例的带宽。对于超出用户的被赋予的PA的用户需求,与用户权重成比例地分配带宽。图5图示了关于每一个正请求2Gbps的带宽的两个用户的效用函数。在该示例中,两个用户尚未被指配任何PA,因此,对于100及更低的效用值,他们没有被赋予他们的带宽。然而,对于高于100的效用值,系统已被配置成为用户4指配0.4的权重,而用户3已被指配0.2的更低用户权重。因此,在比用户3的需求低的效用值处赋予用户4的需求。站点居间器204可以为每一个用户主体的带宽需求创建效用函数。其然后可以将相同集群对的用户主体需求汇总入单个效用函数,其被称为汇总的效用函数。图6图示了关于用户1、用户2、用户3和用户4的汇总的效用函数。如图6中所示,汇总的效用函数仅仅是如图4和5中所提供的每一个用户的单独效用函数的带宽需求的线性相加。系统可以通过实现纳入网络用户的效用函数的渐进式加注过程,来确定如何在竞争主体之间划分可用网络带宽。图7中图示了示例性渐进式加注过程700。在块702开始,将初始效用设置成值0。在块704,效用值增加了量kε。对于尚未被满足或冻结的每一个竞争主体,使用该主体的效用函数来计算增加的效用将创建多少带宽分配(块706)。然后,该过程确定在竞争主体中所识别的每一个源集群和目的地集群之间是否存在多个路径(块708)。如果仅存在单个路径,则在块710,基于在块706中确定的带宽分配来增加该路径的链路的未来带宽使用。如果在源集群和目的地集群之间存在多个路径,则通过在该多个路径之中散布带宽分配来将块706的增加的带宽分配添加到网络链路(块712)。应当注意的是,每一个路径可以通过不同的倍增因数被赋予权重,如此,如果存在多个路径,则在每一个路径之中的分配将与该路径的相对权重成比例。在块714,该过程确定块710和712的带宽分配是否超过任何网络链路的容量。如果不存在超过容量的链路,则该过程返回到块704。如果网络链路的容量被超过,则将该链路指定为瓶颈,并且将穿越该瓶颈链路的所有主体冻结,这意为它们不能再被分配带宽(块716)。然后,在当前效用值(“CUV”)减去kε(CUV–kε)和当前效用值(CUV)之间执行二分搜索,来确定对于其链路容量没有被超过的效用值(块718)。重复在块704开始的该过程,直到所有主体均被冻结或已使其带宽需求得到满足为止(块720)。在许多情况下,网络将传输免受带宽强制实施器系统的管理的数据。在竞争集群主体之间分配带宽时,全局居间器202为所有这样的未受管理的流量调整逻辑接口的可用容量。例如,假设逻辑接口具有10Gbps的可用容量,并且当前利用是8Gbps。如果仅5Gbps的利用可管理,则全局居间器将从可用带宽减去其他3Gbps。从而,为该逻辑接口创建7Gbps的有效容量。一旦考虑了未受管理的带宽,就可以使用该渐进式加注过程来在竞争集群主体之间分配带宽。在执行该过程时,站点居间器204将包含每一个集群主体的汇总需求的效用函数传递给全局居间器202。这些效用函数由站点居间器204从在该集群处的每一个单独用户主体的效用函数来计算。该系统可以被配置成为一些用户主体提供手动节流。对于这些用户主体,站点居间器204可以通过节流值来限制带宽需求,这意为那些主体不能被分配比所配置的节流值多的带宽。如果在运行该渐进式加注过程之后带宽仍然可用,则可以在用户主体之中分割剩余带宽作为奖励带宽。假如部分用户主体将不使用所指配的奖励,奖励带宽可以通过可配置的比例因数来超额预订。例如,可以为每一个用户指配在一和十之间的比例因数,并且可以与该比例因数成比例地分配奖励带宽。如前所述,全局居间器202向站点居间器204提供对每一个集群主体的带宽限制。站点居间器204然后可以为每一个集群主体查找汇总的效用函数,并且确定与所指配的带宽限制相对应的效用值。该效用值可以被称为主速率,并且可以用来在用户主体效用函数中查找对每一个用户主体的带宽限制。如果全局居间器202已向集群主体指配了激励带宽,则可以在用户主体之中分割该奖励带宽。为了为用户主体构建效用函数,站点居间器204为该用户主体确定带宽需求是什么。这可以通过选择在最近时段,诸如最后两分钟,的峰值用户主体带宽使用来完成。为了确保足够的带宽分配,站点居间器可以用用户主体的峰值使用乘以预先确定的因数,诸如1.1,来创建稍微更高的峰值用户主体需求。在其他替选中,峰值使用比例因数可以在1和1.5之间变动。对于一些用户,带宽强制实施器系统200可以被配置成提供手动节流。对于这些用户,带宽需求通过节流值来限制。另外,不为这些用户指配超过节流值的奖励带宽。这种方式,分配给这些用户的带宽将不会超过所配置的节流设置。站点居间器204然后可以通过在各作业主体上实现注水过程,来在用户主体的构成作业主体之中划分指配给用户主体的带宽限制。如果在执行注水过程之后任何带宽仍然剩余,则可以在作业主体之中对其进行划分作为奖励带宽。假定部分作业主体将不使用所指配的奖励,奖励带宽可以通过可配置的比例因数来超额预订。例如,可以为每一个作业指配在一和十之间的比例因数,并且可以与该比例因数成比例地分配奖励带宽。在确定待在注水过程中使用的带宽需求时,对于每一个作业,站点居间器204可以使用已在最近时间段,诸如两分钟发生的峰值需求。在其他示例中,可以以其他间隔,诸如1-15分钟、或根据可以是网络触发的事件的预先确定的条件,来设置用于确定峰值需求的时段。假定不同的作业将在不同的时间达到峰值,系统可以按比例增加对用户主体的总带宽限制。比例因数等于峰值作业主体需求的总和除以峰值用户主体需求。对于一些作业,该系统可以具有配置的手动节流。在这种情况下,在注水过程的需求通过节流值来限制。类似地,不为这些作业指配超过节流值的奖励带宽。一旦站点居间器204已向作业主体指配了带宽限制,作业成形器206然后就可以在构成任务主体之中划分所指配的作业主体带宽。这个功能通过在各任务主体上实现注水过程30的修改版本来实现。假定关于作业的任务是突发性的,并且不同的任务可以在不同的时间突发,为每一个任务指配相同的带宽限制。该限制等于该过程终止时的水位。在确定待在注水过程30中使用的带宽需求时,对于每一个任务,站点居间器204可以使用已在最近时间段,诸如两分钟发生的峰值需求。假定不同的任务将在不同的时间达到峰值,系统可以按比例增加对作业主体的总带宽限制。比例因数等于峰值任务主体需求的总和除以峰值作业主体需求。该系统可以被配置成防止在带宽强制实施器200所触发的带宽爬升时段期间流量的突然突发。例如,可以为不同的任务实现增加的带宽分配的逐步爬升,以防止任何同步突发。另外,可以对该系统进行配置,以使网络用户能够知道其作业是否正受系统节流。因此,可以使视图对用户、源集群、目的地集群以及QoS所识别的每个网络流可用。可以沿着传输的路径在链路级作出该视图。还可以对系统进行配置,以允许用户将其资源配额中的更多专用于重要的作业或任务,并且留下较少的资源用于不那么重要的作业或任务。这可以通过允许用户将权重值指配给单独作业和任务来执行。该系统还可以包含冗余组件,以允许持续的操作,即使特定组件正出故障或不可得到。例如,系统可以包含在网络的不同部分中运行的多个全局居间器202。在任何给定时间,只有一个全局居间器202将被指定为“活动”。站点居间器204可以将信息报告给和接收信息自网络中的每一个全局居间器202。然而,站点居间器204将只接受活动的全局居间器202所提供的带宽限制。还可以为站点居间器204和作业成形器206实现冗余。可以用下面的示例性计算机系统来实现根据本发明的方面的系统。图8A展示了描绘可以单独或在联网配置中使用的各种计算设备的计算机系统的示意图。例如,该图图示了计算机网络300,其具有多个计算机302、304、306和308以及其他类型的设备,诸如譬如移动电话310和PDA312的便携式电子设备。然而,并没有如此限制本发明,并且还可以使用包括上网本和平板型手持式计算机(未示出)的其他设备。这样的设备可以通过本地或直接连接314互连和/或可以通过诸如LAN、WAN、因特网等的通信网络316被耦接,以及其可以是有线或无线的。每一个设备可以包括例如一个或多个处理设备并且具有用户输入,诸如键盘318和鼠标320和/或各种其他类型的输入设备,诸如笔输入、操纵杆、按钮、触摸屏等,以及显示器322,其可以包括例如CRT、LCD、等离子屏幕监视器、TV、投影仪等。每一个计算机302、304、306和308可以是个人计算机、服务器等。仅作为示例,计算机302和306可以是个人计算机,而计算机304可以是服务器,以及计算机308可以是膝上型机。如图8B中所示,诸如计算机302和304的每一个计算机包含处理器324、存储器/存储326以及典型地存在于计算机中的其他组件。例如,存储器/存储326存储处理器324可访问的信息,包括可以由处理器324执行的指令328和可以由处理器检索、操纵或存储的数据330。在服务器处的指令328可以包括与在当前系统中的模块中的一个或多个,诸如全局居间器202或站点居间器204,相关联的操作。在用户系统处的指令328可以包括与模块中的一个或多个,诸如作业成形器206和主机成形器208,相关联的操作。存储器/存储可以是能够存储处理器可访问的信息的任何类型的或任何设备,诸如硬盘驱动器、ROM、RAM、CD-ROM、闪存、具有写能力或只读存储器。处理器324可以包括任何数量的众所周知的处理器,诸如来自英特尔公司或超微半导体公司的处理器。替选地,处理器可以是用于执行操作的专用控制器,诸如ASIC或其他处理设备。指令328可以包括待由处理器直接(诸如机器码)或间接(诸如脚本)执行的任何指令集。在这方面,可以在本文可交替地使用用语“指令”、“步骤”和“程序”。可以以任何计算机语言或格式,诸如以目标代码或源代码模块,存储指令。在下面更详细地说明了依据本发明的指令的功能、方法和例程。数据330可以由处理器324根据指令328来检索、存储或修改。可以将数据存储为数据集合。例如,尽管本发明不受任何特定数据结构限制,但是,可以将数据存储在计算机寄存器中、在关系数据库中作为具有多个不同字段和记录的表、在网页缓存中、作为XML文档等。还可以以任何计算机可读格式,诸如但不限于二进制值、ASCII或Unicode,对数据进行格式化。而且,数据可以包括足以识别相关信息的任何信息,诸如描述性文本、专有代码、指针、对存储在其他存储器(包括其他网络位置)中的数据的引用或函数用来计算相关数据的信息。此外,给定项可以包括一个或多个文件、存储在数据库中的数据集、web缓存等。取决于数据的大小和内容,可以分别存储或另外维护其部分。尽管在图8B中将处理器324和存储器326在功能上图示为在同一块内,但是,应当理解的是,处理器和存储器实际上可以包括可以或可以不被存储在同一物理外壳或位置内的多个处理器和存储器。例如,指令和数据中的部分或全部可以被存储在可移除CD-ROM、DVD-ROM或闪存上,以及其他的被存储在只读计算机芯片内。指令和数据中的部分或全部可以被存储在物理上远离处理器、但是处理器仍然可访问的位置中。类似地,处理器实际上可以包括可以或可以不并行操作的处理器集合。数据可以跨越诸如硬盘驱动器等的多个存储器326分布并存储。在一个方面中,服务器304可以与一个或多个客户端计算机302、306和/或308、以及诸如移动电话310和PDA312的设备通信。每一个客户端计算机或其他客户端设备可以与服务器304类似地被配置有处理器、存储器和指令,以及一个或多个用户输入设备318、320和用户输出设备,诸如显示器322。每一个客户端计算机可以是意在供个人使用的通用计算机,其具有通常在个人计算机中找到的所有组件,诸如中央处理单元(“CPU”)、显示器、CD-ROM或DVD驱动器、硬盘驱动器、鼠标、键盘、触敏屏、扬声器、麦克风、调制解调器和/或路由器(电话、电缆或另外的)以及用于使这些元件相互连接的所有组件。服务器304、用户计算机和其他设备能够诸如通过网络316与其他计算机直接和间接通信。尽管在图8A-B中只描绘了一些计算设备,但是,应当理解的是,典型系统可以包括大量连接的服务器和客户端,其中每一个不同的计算机在网络的不同节点处。网络316及居间节点可以包括各种配置和协议,包括因特网、内联网、虚拟专用网络、广域网、本地网络、使用专属于一个或多个公司的通信协议的专用网络、以太网、WiFi、蓝牙或TCP/IP。通过能够传输数据到及自其他计算机的任何设备,诸如调制解调器(例如,拨号或电缆)、网络接口和无线接口,可以便于跨网络,包括任何居间节点的通信。服务器304可以是web服务器。尽管如上所述在传输或接收信息时获得了某些优势,然而,本发明的其他方面并不限于对信息的任何特定方式的传输。例如,在一些方面中,可以通过诸如盘、带、CD-ROM的介质、或通过拨号调制解调器在两个计算机系统之间直接发送信息。在其他方面中,某些信息可以以非电子格式来传输并且被手动地输入到系统中。此外,依据在本文所述的系统和方法的计算机和用户设备可以包括能够处理指令并且传输数据到及自人类和其他计算机的任何设备,包括缺乏本地存储能力的网络计算机、诸如PDA312的带有调制解调器的PDA、诸如移动电话310的具有因特网能力的无线电话、上网本和平板型手持式计算机。尽管已参考特定实施例来描述了本文的发明,然而,应当理解的是,这些实施例仅仅说明了本发明的原理和应用。因此,应当理解的是,在不背离所附权利要求所限定的本发明的精神和范围的情况下,可以对说明性实施例作出大量修改,并且可以设计出其他安排。工业实用性本发明享有宽泛的工业实用性,包括但不限于将自适应带宽分配用于在网络设备之间传送数据的计算机联网。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1