CN101682544B - 对跨越多个网络节点的流量进行自适应限流的设备和方法 - Google Patents
对跨越多个网络节点的流量进行自适应限流的设备和方法 Download PDFInfo
- Publication number
- CN101682544B CN101682544B CN2008800193986A CN200880019398A CN101682544B CN 101682544 B CN101682544 B CN 101682544B CN 2008800193986 A CN2008800193986 A CN 2008800193986A CN 200880019398 A CN200880019398 A CN 200880019398A CN 101682544 B CN101682544 B CN 101682544B
- Authority
- CN
- China
- Prior art keywords
- network node
- affairs
- maximum
- transactions
- circulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/803—Application aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
对网络流量进行限流的方法的一个实施例包括:从可用的对等网络节点获取流量速率数据;基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率,其中最大可允许速率代表被允许在当前周期期间进入该网络节点以用于处理的事务的最大数量;以及使用最大可允许速率来管理被容许由网络节点在当前周期中处理的事务的数量。
Description
相关申请的交叉引用
本申请要求2007年4月13日提交的题为“Apparatus and Methods forAdaptive Throttling of Traffic Across Multiple Network Nodes”的序列号为60/923,288的共同未决的美国临时申请的优先权,该申请在这里全部引入作为参考。
技术领域
本公开总体上涉及计算机网络,并且更具体地涉及管理网络流量。
背景技术
在计算机领域中,用户通常需要使用服务供应商的计算设施来满足其计算需要。例如,每个均使用一个或多个应用的一个或多个用户可以与服务供应商签约以请求服务供应商执行事务,由此使用服务供应商的计算设施来进行处理。出于很多经济和技术方面的原因,服务供应商通常使用包含多个服务器的服务器群来对来自用户的事务请求进行服务。在一个示例范例中,每一个用户都可以与服务供应商签约,以便要求服务供应商提供某个签约的处理速率或是签约的服务等级,例如每秒1000个事务、每秒100个事务以及每秒10个事务等等。
一般来说,服务供应商希望能为每一个用户提供至少签约的事务处理速率,以使用户感到高兴。但是,也存在对管理流量(例如事务)以使没有用户能够通过极大地超出其签约的事务处理速率而严重滥用其合同安排的强烈需要。如果服务供应商没有恰当地管理流量,那么入局事务的量可能会导致在服务器群中的服务器处出现流量阻塞。由于流量阻塞,事务处理性能可能会下降,并且合法支付了他/她的签约事务处理速率的用户可能无法满意地处理事务,从而导致用户满意度下降。
发明内容
本公开的实施例提供对网络流量进行限流的系统和方法。方法的其中一个实施例包括:从可用的对等网络节点获取流量速率数据;基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率,其中最大可允许速率代表被允许进入该网络节点以在当前周期中处理的最大的事务数量;以及使用最大可允许速率来管理被容许在当前周期中由该网络节点处理的事务的数量。
简要地说,对网络流量进行限流的系统的其中一个实施例包括:对等通信模块,其被配置成从可用的对等网络节点获取流量速率数据;阈值统计模块,其被配置成基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率,其中最大可允许速率代表被允许进入该网络节点以在当前周期中处理的最大的事务数量;以及网守(gatekeeper)模块,其被配置成使用最大可允许速率来管理在当前周期中被容许由该网络节点处理的事务的数量。
对本领域技术人员来说,通过考查以下附图和详细描述,本公开的其他系统、方法、特征和优点将会或者将变得显而易见。意图是,所有这些附加系统、方法、特征和优点全都包含在本说明书内,并且处于本公开的范围内,以及受到随附权利要求的保护。
附图说明
通过参考以下附图,可以更好地理解本公开的众多方面。附图中的组件未必是按比例绘制的,而是,重点放在清楚说明本公开的原理上。此外,在附图中,相同的附图标记贯穿若干附图始终表示相应的部分。
图1是示出根据本公开的实施流量限流的环境示例的框图。
图2A是描绘根据本公开的一个实施例的保守型流量限流的一个实施方式的图。
图2B是描绘根据本公开的一个实施例的积极型流量限流的一个实施方式的图。
图3是描绘保守型自适应限流的示例的表格图,其中四个行代表根据本公开的一个实施例为每一个网络节点自适应调整流量限流期间的四个示例循环。
图4A是描绘保守型自适应限流的示例的表格图,其中多个行代表根据本公开的一个实施例为每一个网络节点自适应调整流量限流期间的示例循环。
图4B是描绘保守型自适应限流的示例的表格图,其中多个行代表根据本公开的一个实施例为每一个网络节点自适应调整流量限流期间的示例循环。
图5是描绘积极型自适应限流的示例的表格图,其中多个行代表根据本公开的一个实施例为每一个网络节点自适应调整流量限流期间的示例循环。
图6A是描述根据本公开的其中一个实施例来实施流量限流的布置的框图。
图6B是描述根据本公开的其中一个实施例的网络节点中的流量限流实施方式的框图。
图7是示出本公开的一个实施例的流量限流实施方式中的可能实施方式的操作的流程图。
具体实施方式
现在将参考如附图中示出的本公开的几个实施例来详细描述本公开。在以下描述中阐述了很多具体细节,以便提供对本公开的全面理解。但对本领域技术人员来说,很明显,本公开是可以在没有某些或所有这些具体细节的情况下加以实现的。在其他情况下没有详细描述公知的处理步骤和/或结构,以免不必要地模糊本公开。
在下文中描述了包括方法和技术在内的各种实施例。应该记住的是,本公开还有可能覆盖包含计算机可读介质的制品,在所述计算机可读介质上存储了用于执行本发明技术的实施例的计算机可读指令。例如,计算机可读介质可以包括半导体、磁性、光磁、光学或其他形式的用于存储计算机可读代码的计算机可读介质。更进一步,本公开还可以覆盖用于实现本公开的实施例的装置。此类装置可以包括专用和/或可编程的电路,以便执行涉及本公开的实施例的任务。此类装置的示例包括经过恰当编程的通用计算机和/或专用计算设备,并且可以包括适用于涉及本公开的实施例的各种任务的计算机/计算设备以及专用/可编程电路的组合。
本公开的实施例涉及的是用于跨越多个网络节点(例如服务器群的服务器)实施自适应限流的装置和方法。例如,可以自适应地限流流量(例如由服务器群的单独网络节点接收的事务)以控制多个网络节点所容许用于处理的流量数量。根据本发明的自适应限流技术,每一个网络节点的许可流量速率(即每个网络节点所容许用于处理事务所依照的单个特定速率)并不是被基于逐个事务来自适应控制的,而是被基于逐个周期或逐个循环地自适应控制的。
每一个周期或循环(本文术语周期和循环被同义地使用)通常包括多个事务。在自适应限流技术的指定循环中,每一个网络节点都与可用的对等网络节点进行通信,以便从对等网络节点获取流量速率数据。在数据中的所获取的对等流量速率数据能使指定网络节点计算其自身的可允许阈值。然后,该网络节点的可允许阈值将用于管理被容许由该网络节点在当前周期中处理的事务的数量。如本文将详细讨论的那样,这种确定是基于在当前循环中总体上为网络节点容许的事务的总阈值,以及基于在最后一个循环中为对等网络节点许可的流量速率。
通过使用逐个周期的自适应限流,可以减小协调跨越多个网络节点的流量限流所需要的通信开销。由此,网络节点通信开销的减小会减小网络流量使用率以及潜在的拥挤。伴随而来的是,网络延迟被减小,并且总的事务处理性能得以改善。
通过参考下面的附图和论述,可以更好地理解本公开的特征和优点。图1显示了实施流量限流的环境的示例。图1的环境包括应用102、应用104、应用106,它们代表经由流量限流中间件108而向服务器群120发送要处理的事务的应用。流量限流中间件108使用简单的循环流量分配方案110来将要处理的事务递送到网络节点112、网络节点114、网络节点116和/或网络节点118。
在图1的示例中,流量限流由每一个单独的网络节点112、114、116和118执行,以便控制进入每一个网络节点的流量数量。图1右侧的多个箭头表示网络节点进行相互通信以交换有助于流量限流的数据。
如图1所示,应用102、应用104和应用106分别将事务C1、C2和C3转发到服务器群120,以便进行处理。在事务C1、C2和C3到达服务器群120之前,事务C1、C2和C3通过流量限流中间件108。流量限流中间件108对网络流量以及网络节点112、网络节点114、网络节点116和网络节点118的处理能力和性能进行分析,以便确定哪一个网络节点可以用于处理事务C1、C2和C3中的一个或多个。一旦做出该确定,则与(多个)被确定可用的网络节点创建连接,以使得然后可以将事务C1、C2和C3中的一个或多个转发到它们的指定的网络节点上,以便进行处理。
在每一个网络节点处实施网守功能以限流入局流量,以便确保事务处理性能被最大化。虽然本文的示例是结合网络节点处的流量限流来论述的,但是应该牢记,本公开所属领域的技术人员能够很容易地在网络中的任何适当的功能元件处实施这种流量限流功能,所述适当的功能元件处包括例如在应用处、在网络中的路由器或交换机处,在中间件层中等。
图2A和2B示出根据本公开的实施例的流量限流的两种不同实施方式。在图2A中,流量限流是保守型的,并且给出了较大的宽度(latitude)。在图2B中,流量限流是积极型的,也就是说,该流量限流更为严格。
参考图2A,使用临时变量X来帮助为当前循环的每一个网络节点计算最大可允许速率或MPR。特定网络节点的MPR代表被允许进入该网络节点中、以便在当前循环期间进行处理的事务的最大数量。在保守型范例中(图2A),如通过附图标记202可以看到的,临时变量X等于为网络节点群组(例如包含多个服务器的服务器群或是其逻辑单元)设置的阈值减去在先前循环中的所有对等网络节点的许可流量速率的总和。该阈值通常是可以配置的,并且是为网络节点群组总体设置的。在先前循环中的指定对等网络节点的许可流量速率代表被允许在先前循环中通过以便被该指定的对等网络节点处理的事务的数量。
应该指出的是,该许可流量速率有时可能不同于到达对等网络节点等待处理的实际流量速率。例如,可能15个事务到达指定网络节点,但在指定循环中可能只有8个事务被容许进行处理。在这种情况下,实际流量速率是15(表示由网络节点实际接收的事务数量),而许可流量速率则是8(表示被允许进入网络节点中、以便由网络节点的处理逻辑进行处理的事务的数量)。
因此,如通过附图标记202可以看出的, 其中TV等于多个网络节点的阈值,n代表网络节点的数量,并且PRx代表的是指定网络节点x的先前循环中的对等许可流量速率。
将参考几个后续示例来详细解释图2A的步骤。
现在转到积极型限流范例(图2B),如通过附图标记212可以看出的,临时变量X是以相同方式计算的,也就是说, 当X≤0时(由附图标记214所示的条件),则MPR=0(如附图标记216所示)。换句话说,与保守型限流范例不同,当临时变量小于或等于零时,积极型限流会将MPR值关闭为零。但是,如果X>0(由附图标记218所示的条件),则下面的考虑是适用的。如果在先前循环中该网络节点的MPR是零,并且当前循环的临时变量X=TV(由附图标记220所示的条件),则MPR=MTV,其中MTV同样等于(如附图标记222所示)。另一方面,如果先前循环的MPR非零,或者当前循环的临时变量X≠TV(由附图标记224所示的条件),则MPR=临时变量X(如附图标记226所示)。
后续表格提供积极型和保守型流量限流的示例。
图3示出根据本公开的实施例的保守型自适应限流的示例。在图3中示出了四行,这些行代表四个示例循环,在该四个示例循环中为每一个网络节点自适应调整流量限流。在图3的示例中,出于说明目的,四个网络节点A、B、C和D的阈值(TV)被随意地预先配置成12。相应地,由于MTV同样等于因此MTV值是3。为了易于计算,时间被设置成是从1970开始的UNIX时间,并且循环被定义成是(时间)减去(时间百分比持续时间),其中该百分比表示余数运算。
如图3的表格中所示,在列“MPR”(312)下和循环1的行中,网络节点A(328)、网络节点B(330)、网络节点C(332)和网络节点D(334)的最大可允许速率(MPR)起初被设置成12,即最大的默认TV。这么做是为了适应网络节点之一可能接收所有流量的可能状况,并且由此应该将阈值设置得较高,以便表明许可任何指定网络节点许可最大阈值的事务(例如如果其他网络节点没有接收流量)是可允许的。
在列“ACTUAL(实际的)”(314)下方和循环1的行中,值“3”代表的是由指定网络节点的事务限流机构或“TTM”实际接收的事务数量。对网络节点A来说,该实际值代表的是在循环1中由多个应用传送并且预定由网络节点A(336)来处理的事务的数量。在本示例中,对去往网络节点B(338)的事务数量测得的实际值是3。对去往网络节点C(340)的事务数量测得的实际值是3。对去往网络节点D(342)的事务数量测得的实际值是3。应该指出的是,这些实际事务值仅仅代表在指定循环(例如行1指示的循环1)中在各网络节点处所接收的事务。在该循环期间实际允许在每一个网络节点处处理的事务的数量将被按如下方式进行计算,以便实施流量限流。
如在图3中可以看出的,在循环1的行中,在列“ALLOWED(允许的)”(316)下方以及在网络节点A(344)下方,值“3”代表的是TTM实际许可网络节点A在循环1期间被容许处理的事务的数量。被许可由网络节点B(346)处理的事务的数量是3。被许可由网络节点C(348)处理的事务的数量是3。被许可由网络节点D(350)处理的事务的数量是3。这是因为在每一个网络节点处有3个事务被实际接收,并且每一个网络节点的阈值都被设置成了12。由于实际接收的事务的数量小于每一个网络节点A、B、C和D在循环1期间的MPR,因此,所有实际接收的事务都被许可通过以供处理。
此外,在列“TOTAL(总的)”(318)下和循环1的行,其中的值代表的是在当前周期期间所有网络节点所容许进行处理的事务的总数。在循环1期间实际允许处理的事务总数经计算是12。
应该理解的是,这个总的许可事务值并不是多个网络节点在指定循环期间实际处理的事务的总数。该总的许可事务值是被传递或者被容许到多个网络节点以便在该循环期间进行处理的事务的相加数量。由于多个网络节点有可能处理在一个或多个先前循环中许可的其他事务,因此,多个网络节点在指定循环期间实际处理的事务总数可能大于该循环的总的许可事务值。对于循环1来说,由于没有先前的循环,并且没有正在处理的未决事务,因此,多个网络节点在循环1期间实际处理的事务总数等于循环1期间所许可的事务的数量。但是在后续循环中,情况则并非如此。
如图3的表格中所示,在列“MPR”(312)下方以及在循环2的行中,网络节点A(328)的最大可允许速率(MPR)经计算是3。该MPR是使用图2A的公式来计算的。例如,网络节点A的临时变量X是12-9或3,并且由此网络节点A的MPR是3。网络节点B(330)的最大可允许速率(MPR)经计算同样是3。网络节点C(332)的最大可允许速率(MPR)经计算是3,并且网络节点D(334)的最大可允许速率(MPR)经计算是3。
此外,在列“ACTUAL”(314)的下方和在循环2的行中,值“4”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表在循环2期间由多个应用传送以被网络节点A(336)处理的事务。在本示例中,对在循环2期间去往网络节点B(338)的事务数量测得的实际值是5。对在循环2期间去往网络节点C(340)的事务数量测得的实际值是6。对在循环2期间去往网络节点D(342)的事务数量测得的实际值是7。
此外,如在图3中可以看出的,在循环2的行中,在列“ALLOWED”(316)下方以及在网络节点A(344)下方,值“3”代表的是TTM实际许可将由网络节点A在循环2期间处理的事务的数量。应该指出的是,尽管在循环2期间对于网络节点A来说实际接收的事务数量是4,但是MPR仅仅是3,因此只容许处理前3个事务。一般来说,当在到达网络节点的事务中只有子集数量的事务被容许在循环期间进行处理时,在一个实施例中,事务是基于先到先服务的方式被容许的。
在循环2期间由于实际接收的事务数量(5)大于网络节点B的MPR(3),所以许可由网络节点B(346)在循环2期间处理的事务数量是3。同样,在循环2期间,许可由网络节点C(348)处理的事务数量是3。在循环2期间许可由网络节点D(350)处理的事务数量同样是3。
此外,在列“TOTAL(总的)”(318)下方和循环2的行,值代表的是被许可由所有网络节点在循环2期间处理的事务的总数。对于循环2来说实际许可的事务的总值经计算是12。同样,应该理解的是,这个总的许可事务值并不是多个网络节点在循环2期间实际处理的事务总数。该总的许可事务值是被传递到多个网络节点以便在循环2期间进行处理的事务的相加数量。由于多个网络节点有可能正在处理在一个或多个先前循环中许可的其他事务,因此,多个网络节点在循环2期间实际处理的事务总数可能大于图3中所示的循环2的总的许可事务值。
如图3的表格中所示,在列“MPR”(312)下方以及在循环3的行中,网络节点A(328)的最大可允许速率(MPR)经计算是3。该MPR是使用图2A的公式计算的。网络节点B(330)的最大可允许速率(MPR)经计算是3。网络节点C(332)的最大可允许速率(MPR)经计算是3,并且网络节点D(334)的最大可允许速率(MPR)经计算是3。
此外,在列“ACTUAL”(314)下方以及在循环3的行中,值“2”代表由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环3期间由多个应用传送以被网络节点A(336)处理的事务。在本示例中,对在循环3期间去往网络节点B(338)的事务数量测得的实际值是3。对在循环3期间去往网络节点C(340)的事务数量测得的实际值是4。对在循环3期间去往网络节点D(342)的事务数量测得的实际值是5。
此外,如在图3中可以看出的,在循环3的行中,在列“ALLOWED”(316)下方以及在网络节点A(344)下方,值“2”代表TTM实际许可将由网络节点A在循环3期间处理的事务的数量。许可由网络节点B(346)处理的事务数量是3。许可由网络节点C(348)处理的事务数量是3。许可由网络节点D(350)处理的事务数量是3。对于任何特定网络节点,许可的事务数量是在指定循环期间该网络节点的接收的实际事务数量以及MPR中较小的一个。
此外,在列“TOTAL”(318)下方和循环3的行,值11代表被容许由所有网络节点在循环3期间处理的事务的总数。
如图3的表格中所示,在列“MPR”(312)下方以及在循环4的行中,网络节点A(328)的最大可允许速率(MPR)经计算是3。这个MPR是使用图2A的公式计算的。网络节点B(330)的最大可允许速率(MPR)经计算是4。网络节点C(332)的最大可允许速率(MPR)经计算是4,并且网络节点D(334)的最大可允许速率(MPR)经计算是4。
此外,在列“ACTUAL”(314)下方以及在循环4的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环4期间由多个应用传送以被网络节点A(336)处理的事务。在本示例中,对在循环4期间去往网络节点B(338)的事务数量测得的实际值是3。对在循环4期间去往网络节点C(340)的事务数量测得的实际值是4。对在循环4期间去往网络节点D(342)的事务数量测得的实际值是5。
此外,如在图3中可以看出的,在循环4的行中,在列“ALLOWED”(316)下方以及在网络节点A(344)下方,值“2”代表的是TTM实际许可由网络节点A在循环4期间处理的事务的数量。许可由网络节点B(346)处理的事务数量是3。许可由网络节点C(348)处理的事务数量是4。许可由网络节点D(350)处理的事务数量是4。对任何特定的网络节点来说,许可的事务数量是在指定循环期间该网络节点的实际接收的事务数量以及MPR中较小的一个。
此外,在列“TOTAL”(318)下方和循环4的行,值13代表的是在循环4期间容许由所有网络节点处理的事务的总数。对于循环4来说,实际许可的事务的总值经计算是13。
如在图3中可以看出的,列“TOTAL”中的值代表的是容许由所有网络节点处理的事务的总数。在循环1中,容许被处理的事务总数是12。在循环2中,容许被处理的事务总数是12。在循环3中,容许被处理的事务总数是11。最后,在循环4中,容许被处理的事务总数是13。
如通过图3的示例所示的,基于逐个周期的自适应限流可以有效地控制多个网络节点上的流量负载。这是因为在段时间内,实际容许处理的事务总数平均将会是大约为默认阈值(例如图3示例中的12)。此外,由于只有先前循环中的对等许可速率被交换,因此,为了完成自适应限流而在网络节点之间交换的数据量是相当最小的。相应地,网络带宽开销被最小化,由此导致改进的性能。
图4A的表格示出根据本公开的实施例的保守型自适应限流的另一个示例。在本示例中,TV同样是12。
如图4A的表格中所示,在列“MPR”(404)下方以及在循环1的行中,网络节点A(412)、网络节点B(414)、网络节点C(416)和网络节点D(418)的最大可允许速率(MPR)被设置成12,即最大默认值。此外,在列“ACUTAL”(406)下方以及在循环1的行中,值“12”代表的是由事务限流机构或“TTM”实际接收的事务数量,所述事务数量代表的是在循环1期间由多个应用传送以被网络节点A(420)处理的事务。在本示例中,对去往网络节点B(422)的事务数量测得的实际值是13。对去往网络节点C(424)的事务数量测得的实际值是14。对去往网络节点D(426)的事务数量测得的实际值是15。
此外,如在图4A中可以看出的,在循环1的行中,在列“ALLOWED”(408)的下方和网络节点A的下方,值“12”代表的是TTM实际许可由网络节点A(428)在循环1期间处理的事务的数量。许可由网络节点B(430)处理的事务的数量是12。许可由网络节点C(432)处理的事务的数量是12。许可由网络节点D(434)处理的事务的数量是12。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,在列“TOTAL”(410)下方以及在循环1的行中,值48代表的是容许由所有网络节点处理的事务的总数。对于循环1来说实际许可的事务总值经计算是48。在这种情况下,所有网络节点都容许在循环1期间处理由TV设置的最大数量的事务。
如图4A的表格中所示,在列“MPR”(404)下方以及在循环2的行中,网络节点A(412)的最大可允许速率(MPR)经计算是3。网络节点B(414)的最大可允许速率(MPR)经计算是3。网络节点C(416)的最大可允许速率(MPR)经计算是3,以及网络节点D(418)的最大可允许速率(MPR)经计算是3。这些计算是使用图2A的公式执行的。
此外,在列“ACTUAL”(406)下方以及在循环2的行中,值“12”代表的是由事务限流机构或“TTM”实际接收的事务数量,所述事务数量代表的是在循环2期间由多个应用传送以被网络节点A(420)处理的事务。在本示例中,对去往网络节点B(422)的事务数量测得的实际值是13。对去往网络节点C(424)的事务数量测得的实际值是14。对去往网络节点D(426)的事务数量测得的实际值是15。
此外,如在图4A中可以看出的,在循环2的行中,在列“ALLOWED”(408)下方和网络节点A(428)的下方,值“3”代表的是TTM实际许可由网络节点A在循环2期间处理的事务的数量。许可由网络节点B(430)处理的事务数量是3。许可由网络节点C(432)处理的事务数量是3。许可由网络节点D(434)处理的事务数量是3。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,在列“TOTAL”(410)下方和循环2的行的值代表的是容许由所有网络节点处理的事务的总数。对循环2来说,实际许可的事务的总值经计算是12。
如图4A的表格中所示,在列“MPR”(404)下方以及在循环3的行中,网络节点A(412)的最大可允许速率(MPR)经计算是3。网络节点B(414)的最大可允许速率(MPR)经计算是3。网络节点C(416)的最大可允许速率(MPR)经计算是3,以及网络节点D(418)的最大可允许速率(MPR)经计算是3。这些计算是使用图2A的公式执行的。
此外,在列“ACTUAL”(406)下方以及在循环3的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环2期间由多个应用传送以被网络节点A(420)处理的事务。在本示例中,对去往网络节点B(422)的事务数量测得的实际值是3。对去往网络节点C(424)的事务数量测得的实际值是2。对去往网络节点D(426)的事务数量测得的实际值是3。
此外,如在图4A中可以看出的,在循环3的行中,在列“ALLOWED”(408)下方和网络节点A的下方,值“2”代表的是TTM实际许可由网络节点A(428)在循环3期间处理的事务的数量。许可由网络节点B(430)处理的事务数量是3。许可由网络节点C(432)处理的事务数量是2。许可由网络节点D(434)处理的事务数量是3。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(410)下方和循环3的行的值代表的是容许由所有网络节点处理的事务的总数。对循环3来说,实际许可的事务的总值经计算是10。
如图4A的表格中所示,在列“MPR”(404)下方以及在循环4的行中,网络节点A(412)的最大可允许速率(MPR)经计算是4。网络节点B(414)的最大可允许速率(MPR)经计算是5。网络节点C(416)的最大可允许速率(MPR)经计算是4,以及网络节点D(418)的最大可允许速率(MPR)经计算是5。
此外,在列“ACTUAL”(406)下方以及在循环4的行中,值“5”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环4期间由多个应用传送以被网络节点A(420)处理的事务。在本示例中,对去往网络节点B(422)的事务数量测得的实际值是5。对去往网络节点C(424)的事务数量测得的实际值是5。对去往网络节点D(426)的事务数量测得的实际值是5。
此外,如在图4A中可以看出的,在循环4的行中,在列“ALLOWED”(408)下方和网络节点A的下方,值“4”代表的是TTM实际许可由网络节点A(428)在循环4期间处理的事务的数量。许可由网络节点B(430)处理的事务数量是5。许可由网络节点C(432)处理的事务数量是4。许可由网络节点D(434)处理的事务数量是5。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(410)下方和循环4的行的值代表的是容许由所有网络节点在循环4期间处理的事务的总数。对循环4来说,实际许可的事务的总值经计算是18。
如图4A的表格中所示,在列“MPR”(404)下方以及在循环5的行中,网络节点A(412)的最大可允许速率(MPR)经计算是3。网络节点B(414)的最大可允许速率(MPR)经计算是3。网络节点C(416)的最大可允许速率(MPR)经计算是3,以及网络节点D(418)的最大可允许速率(MPR)经计算是3。这些计算是使用图2A的公式执行的。
如在图4A中可以看出的,列“TOTAL”(410)中的值代表的是容许由所有网络节点处理的事务的总数。在循环1中,容许被处理的事务总数是48。在循环2中,所处理的事务总数是12。在循环3中,容许被处理的事务总数是10。最后,在循环4中,容许被处理的事务总数是18。
如通过图4A的示例所示的,基于逐个周期的自适应限流可以有效地控制多个网络节点上的流量负载。这是因为在一段时间内,实际容许进行处理的事务的总数平均将会是约为默认阈值(例如图4A的示例中的12)。此外,由于只有先前循环中的对等许可速率被交换,因此,为了完成自适应限流而在网络节点之间交换的数据量是相当最小的。相应地,网络带宽开销被最小化,由此导致改进的性能。
图4B的表格示出根据本公开的实施例的另一个保守型自适应限流示例。在图4B的示例中,多个网络节点的阈值或TV同样是12。
如图4B的表格中所示,在列“MPR”(448)下方以及在循环1的行中,网络节点A(456)、网络节点B(458)、网络节点C(460)和网络节点D(462)的最大可允许速率(MPR)起初每个都被设置成12,即最大默认TV。
此外,在列“ACTUAL”(450)下方以及在循环1的行中,值“4”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环1期间由多个应用传送以被网络节点A(464)处理的事务。在本示例中,对去往网络节点B(468)的事务数量测得的实际值是3。对去往网络节点C(470)的事务数量测得的实际值是2。对去往网络节点D(472)的事务数量测得的实际值是2。
此外,如在图4B中可以看出的,在循环1的行中、在列“ALLOWED”(452)下方以及网络节点A(474)的下方,值“4”表示TTM实际许可由网络节点A在循环1期间处理的事务的数量。许可由网络节点B(476)处理的事务数量是3。许可由网络节点C(478)处理的事务数量是2。许可由网络节点D(480)处理的事务数量是2。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(454)下方和循环1的行的值代表的是容许由所有网络节点处理的事务的总数。对循环1来说,实际许可的事务的总值经计算是9。
如图4B的表格中所示,在列“MPR”(448)的下方以及在循环2的行中,网络节点A(456)的最大可允许速率(MPR)经计算是5。网络节点B(458)的最大可允许速率(MPR)经计算是4。网络节点C(460)的最大可允许速率(MPR)经计算是3,以及网络节点D(462)的最大可允许速率(MPR)经计算是3。这些值是使用图2A的公式来计算的。
此外,在列“ACTUAL”(450)下方以及在循环2的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环2期间由多个应用传送以被网络节点A(464)处理的事务。在本示例中,对去往网络节点B(468)的事务数量测得的实际值是2。对去往网络节点C(470)的事务数量测得的实际值是2。对去往网络节点D(472)的事务数量测得的实际值是2。
此外,如在图4B中可以看出的,在循环2的行中,在列“ALLOWED”(452)下方和网络节点A(474)的下方,值“2”代表的是TTM实际许可由网络节点A在循环2期间处理的事务的数量。许可由网络节点B(476)处理的事务数量是2。许可由网络节点C(478)处理的事务数量是2。许可由网络节点D(480)处理的事务数量是2。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(454)下方和循环2的行的值代表的是容许由所有网络节点处理的事务的总数。对循环2来说,实际许可的事务的总值经计算是8。
如图4B的表格中所示,在列“MPR”(448)的下方以及在循环3的行中,网络节点A(456)的最大可允许速率(MPR)经计算是6。网络节点B(458)的最大可允许速率(MPR)经计算是6。网络节点C(460)的最大可允许速率(MPR)经计算是6,以及网络节点D(462)的最大可允许速率(MPR)经计算是6。
此外,在列“ACTUAL”(450)的下方以及在循环3的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环2期间由多个应用传送以被网络节点A(464)处理的事务。在本示例中,对去往网络节点B(468)的事务数量测得的实际值是2。对去往网络节点C(470)的事务数量测得的实际值是2。对去往网络节点D(472)的事务数量测得的实际值是2。
此外,如在图4B中可以看出的,在循环3的行中,在列“ALLOWED”(452)下方和网络节点A(474)的下方,值“2”代表的是TTM实际许可由网络节点A在循环3期间处理的事务的数量。许可由网络节点B(476)处理的事务数量是2。许可由网络节点C(478)处理的事务数量是2。许可由网络节点D(480)处理的事务数量是2。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(454)下方和循环3的行的值代表的是容许由所有网络节点处理的事务的总数。对循环3来说,实际容许的事务的总值经计算是8。
如图4B的表格中所示,在列“MPR”(448)的下方以及在循环4的行中,网络节点A(456)的最大可允许速率(MPR)经计算是6。网络节点B(458)的最大可允许速率(MPR)经计算是6。网络节点C(460)的最大可允许速率(MPR)经计算是6,以及网络节点D(462)的最大可允许速率(MPR)经计算是6。此外,在列“ACTUAL”(450)下方以及在循环4的行中,值“6”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环4期间由多个应用传送以被网络节点A(464)处理的事务。在本示例中,对去往网络节点B(468)的事务数量测得的实际值是6。对去往网络节点C(470)的事务数量测得的实际值是6。对去往网络节点D(472)的事务数量测得的实际值是6。
此外,如在图4B中可以看出的,在循环4的行中,在列“ALLOWED”(452)下方和网络节点A(474)的下方,值“6”代表的是TTM实际许可由网络节点A在循环4期间处理的事务的数量。许可由网络节点B(476)处理的事务数量是6。许可由网络节点C(478)处理的事务数量是6。许可由网络节点D(480)处理的事务数量是6。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(454)下方和循环4的行的值代表的是容许由所有网络节点处理的事务的总数。对循环4来说,实际许可的事务的总值经计算是24。
如图4B的表格中所示,在列“MPR”(448)的下方以及在循环5的行中,网络节点A(456)的最大可允许速率(MPR)经计算是3。网络节点B(458)的最大可允许速率(MPR)经计算是3。网络节点C(460)的最大可允许速率(MPR)经计算是3,以及网络节点D(462)的最大可允许速率(MPR)经计算是3。此外,在列“ACTUAL”(450)下方以及在循环4的行中,值“6”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环5期间由多个应用传送以被网络节点A(464)处理的事务。在本示例中,对去往网络节点B(468)的事务数量测得的实际值是6。对去往网络节点C(470)的事务数量测得的实际值是6。对去往网络节点D(472)的事务数量测得的实际值是6。
此外,如在图4B中可以看出的,在循环5的行中,在列“ALLOWED”(452)下方和网络节点A(474)的下方,值“3”代表的是TTM实际容许由网络节点A在循环5期间处理的事务的数量。许可由网络节点B(476)处理的事务数量是3。许可由网络节点C(478)处理的事务数量是3。许可由网络节点D(480)处理的事务数量是3。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(454)下方和循环5的行的值代表的是容许由所有网络节点处理的事务的总数。对循环5来说,实际许可的事务的总值经计算是12。
如在图4B中可以看出的,列“TOTAL”中的值代表的是容许由所有网络节点处理的事务的总数。在循环1中,容许被处理的事务的总数是9。在循环2中,所处理的事务的总数是8。在循环3中,容许被处理的事务的总数是8。在循环4中,容许被处理的事务的总数是24。最后,在循环5中,容许被处理的事务的总数是12。
如根据图4B的示例所示的,基于逐个循环的保守型自适应限流可以有效地控制多个网络节点上的负载平衡,这是因为在一段时间内,实际容许被处理的事务的总数平均将会是默认阈值。
图5的表格示出根据本公开的实施例的积极型自适应限流的示例。为了易于说明,总阈值(TV)同样被设置成12。
如图5的表格中所示,在列“MPR”(504)的下方以及在循环1的行中,针对每一个网络节点,将网络节点A(512)、网络节点B(514)、网络节点C(516)和网络节点D(518)的最大可允许速率(MPR)初始地设置成12,即最大默认TV。此外,在列“ACTUAL”(506)下方以及在循环1的行中,值“4”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环1期间由多个应用传送以被网络节点A(520)处理的事务。在本示例中,对去往网络节点B(522)的事务数量测得的实际值是3。对去往网络节点C(524)的事务数量测得的实际值是2。对去往网络节点D(526)的事务数量测得的实际值是2。
此外,如在图5中可以看出的,在循环1的行中,在列“ALLOWED”(508)下方以及网络节点A的下方,值“4”代表TTM实际许可由网络节点A(528)在循环1期间处理的事务的数量。许可由网络节点B(530)处理的事务数量是3。许可由网络节点C(532)处理的事务数量是2。许可由网络节点D(534)处理的事务数量是2。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(510)下方和循环1的行的值代表的是容许由所有网络节点处理的事务的总数。对循环1来说,实际许可的事务的总值经计算是9。
如图5的表格中所示,在列“MPR”(504)的下方以及在循环2的行中,网络节点A(512)的最大可允许速率(MPR)经计算是5。网络节点B(514)的最大可允许速率(MPR)经计算是4。网络节点C(516)的最大可允许速率(MPR)经计算是3,以及网络节点D(518)的最大可允许速率(MPR)经计算是3。这些值是使用图2B的公式计算的(即积极型限流范例)。
此外,在列“ACTUAL”(506)下方以及在循环2的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环2期间由多个应用传送以被网络节点A(520)处理的事务。在本示例中,对去往网络节点B(522)的事务数量测得的实际值是2。对去往网络节点C(524)的事务数量测得的实际值是2。对去往网络节点D(526)的事务数量测得的实际值是2。
此外,如在图5中可以看出的,在循环2的行中,在列“ALLOWED”508下方和网络节点A的下方,值“2”代表的是TTM实际容许由网络节点A(528)在循环2期间处理的事务的数量。许可由网络节点B(530)处理的事务数量是2。许可由网络节点C(532)处理的事务数量是2。许可由网络节点D(534)处理的事务数量是2。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(510)下方和循环2的行的值代表的是容许由所有网络节点处理的事务的总数。对循环2来说,实际许可的事务的总值经计算是8。
如图5的表格中所示,在列“MPR”(504)的下方以及在循环3的行中,网络节点A(512)的最大可允许速率(MPR)经计算是6。网络节点B(514)的最大可允许速率(MPR)经计算是6。网络节点C(516)的最大可允许速率(MPR)经计算是6,以及网络节点D(518)的最大可允许速率(MPR)经计算是6。这些MPR值是使用图2B的公式计算的。
此外,在列“ACTUAL”(506)下方以及在循环3的行中,值“6”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环2期间由多个应用传送以被网络节点A(520)处理的事务。在本示例中,对去往网络节点B(522)的事务数量测得的实际值是6。对去往网络节点C(524)的事务数量测得的实际值是6。对去往网络节点D(526)的事务数量测得的实际值是6。
此外,如在图5中可以看出的,在循环3的行中,在列“ALLOWED”(508)下方和网络节点A的下方,值“6”代表的是TTM实际许可由网络节点A(528)在循环3期间处理的事务的数量。许可由网络节点B(530)处理的事务数量是6。许可由网络节点C(532)处理的事务数量是6。许可由网络节点D(534)处理的事务数量是6。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(510)下方和循环3的行的值代表的是容许由所有网络节点处理的事务的总数。对循环3来说,实际许可的事务的总值经计算是24。
如图5的表格中所示,在列“MPR”(504)的下方以及在循环4的行中,网络节点A(512)的最大可允许速率(MPR)经计算是0。网络节点B(514)的最大可允许速率(MPR)经计算是0。网络节点C(516)的最大可允许速率(MPR)经计算是0,以及网络节点D(518)的最大可允许速率(MPR)经计算是0。这里通过在遇到一定状况(所述状况结合图2B被讨论)时停止可允许速率来示出循环4期间的限流的积极性。
此外,在列“ACTUAL”(506)下方以及在循环4的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环4期间由多个应用传送以被网络节点A(520)处理的事务。在本示例中,对去往网络节点B(522)的事务数量测得的实际值是3。对去往网络节点C(524)的事务数量测得的实际值是4。对去往网络节点D(526)的事务数量测得的实际值是5。
此外,如在图5中可以看出的,在循环4的行中,在列“ALLOWED”(508)下方和网络节点A(528)的下方,值“0”代表的是TTM实际许可由网络节点A在循环4期间处理的事务的数量。许可由网络节点B(530)处理的事务数量是0。许可由网络节点C(532)处理的事务数量是0。许可由网络节点D(534)处理的事务数量是0。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。由于图5的示例涉及积极型限流,因此,在循环4期间每一个网络节点A、B、C和D的许可速率是0。
此外,处于列“TOTAL”(510)下方和循环4的行的值代表的是容许由所有网络节点处理的事务的总数。对循环4来说,实际许可的事务的总值经计算是0。
如图5的表格中所示,在列“MPR”(504)的下方以及在循环5的行中,网络节点A(512)的最大可允许速率(MPR)经计算是3。网络节点B(514)的最大可允许速率(MPR)经计算是3。网络节点C(516)的最大可允许速率(MPR)经计算是3,以及网络节点D(518)的最大可允许速率(MPR)经计算是3。这些MPR值是使用图2B的公式计算的。
此外,在列“ACTUAL”(506)下方以及在循环4的行中,值“2”代表的是由事务限流机构或“TTM”实际接收的事务数量,该事务数量代表的是在循环5期间由多个应用传送以被网络节点A(520)处理的事务。在本示例中,对去往网络节点B(522)的事务数量测得的实际值是3。对去往网络节点C(524)的事务数量测得的实际值是4。对去往网络节点D(526)的事务数量测得的实际值是5。
此外,如在图5中可以看出的,在循环5的行中,在列“ALLOWED”(508)下方和网络节点A的下方,值“2”代表的是TTM实际许可由网络节点A(528)在循环5期间处理的事务的数量。许可由网络节点B(530)处理的事务数量是3。许可由网络节点C(532)处理的事务数量是3。许可由网络节点D(534)处理的事务数量是3。对任何特定的网络节点来说,所许可的事务数量是在指定循环期间该网络节点的所接收到的事务的实际数量和MPR中的较小的一个。
此外,处于列“TOTAL”(510)下方和循环5的行的值代表的是容许由所有网络节点处理的事务的总数。对循环5来说,实际许可的事务的总值经计算是11。
如在图5中可以看出的,列“TOTAL”(510)中的值代表的是容许由所有网络节点处理的事务的总数。在循环1中,容许被处理的事务的总数是9。在循环2中,所处理的事务的总数是8。在循环3中,容许被处理的事务的总数是24。在循环4中,容许被处理的事务的总数是0。最后,在循环5中,容许被处理的事务的总数是11。
如根据图5的示例所示的,基于逐周期的积极型自适应限流可以有效地控制多个网络节点上的流量负载。这是因为在一段时间内,实际容许处理的事务总数平均将会是约为默认阈值(例如图5的示例中的12)。但是,与保守型限流范例相比,当遇到某些情况时,许可进入每个网络节点以进行处理的流量被更积极地禁止。与保守型限流范例相似,由于只有先前循环中的对等许可速率被交换,因此,为了完成自适应限流而在网络节点之间交换的数据量是相当最小的。相应地,网络带宽开销被最小化,由此导致改进的性能。
图6A示出根据本公开的实施例的、实施流量限流的布置。如在图6A中可以看出的,来自应用602、604和606的流量可以被网络节点608、610、612和614中的一个或多个限流。所述限流可以由驻留在应用和/或网络节点中的软件模块(未示出)执行,以便执行根据本文公开的技术的流量限流。例如,软件模块可以被提供在应用602、604和606中的一个或多个中,以便执行流量限流。作为另一示例,软件模块可以被提供在网络节点608、610、612和614中的一个或多个中,以便执行流量限流。这些软件模块可以相互通信以交换在过去的循环中的许可流量速率,以便协调流量限流。
出于完整性考虑,示出了描述网络节点608、610、612和614之间的通信路径的多个箭头,以便表示在由网络节点执行流量限流时,网络节点可以交换与应用所使用的流量相关的数据。应该牢记的是,虽然已经针对来自单独应用的流量讨论了流量限流,但是这种限流是可以针对任何类型或类别的事务来加以执行的。通过例示,流量限流可以基于来自所述应用的一个或多个的一定类型的流量来加以执行,或是可以基于来自一个或多个用户的流量。另外,流量限流可以根据特定用户和/或特定应用请求类型的组合来加以执行。作为另一示例,流量限流可以针对只与一定类型或类别的应用交换的流量来加以执行。相应地,用户和/或请求类型和/或其他参数的任何组合都可以被规定被限流。
图6B示出根据本公开的实施例的网络节点中的流量限流实施方式。如在图6B中可以看出的,网络节点616包括网守624,其代表的是许可或禁止流量的机构。配置块620保持可编程的或预设的阈值TV(例如,对于来自图3的示例中的应用的总的容许流量318来说是12)。箭头640示出对等通信模块618与对等网络节点626的对等通信模块628之间的通信路径。
基于用于最后的通信循环的、来自对等网络节点的对等流量速率以及该配置值TV(经由对等通信模块618获取),设置网络节点的MPR值以便为网络节点616管理当前循环中的流量准入(admittance)速率。在图6B的示例中,这些流量速率值是在阈值统计块622中计算的。先前已经论述了针对指定网络节点用于积极型限流范例和非积极型限流范例二者的MPR值的计算,并且在这里将不再对此加以重复。此外,附图标记642描述的是用于网络节点616的入局流量,而附图标记644描述的则是用于网络节点626的入局流量。
在对等网络节点626中,网守块634、阈值统计块632和配置块630为网络节点626执行各种功能,该功能与网络节点616中的对应块所执行的功能相似。基于该配置值、来自对等网络节点的流量速率(从对等通信模块628获取)以及在某些情况下来自过去的循环的流量速率,来设置用于网络节点的MPR值以便为网络节点626管理当前循环中的入局流量速率。在图6B的示例中,这些流量速率值是在阈值统计块632中计算的。先前已经论述了为积极型限流范例和非积极型限流范例二者计算MPR值,并且在这里将不再重复。
如从前文中可以了解的,基于逐个周期的自适应限流可以有效地控制多个网络节点上的流量负载。对积极型和保守型流量限流范例这两者来说,由于只有先前循环中的对等许可速率被交换,因此,为了完成自适应限流而在网络节点之间交换的数据量是相当最小的。相应地,网络带宽开销被最小化,由此导致改善的性能。
图7的流程图示出图6B的流量限流实施方式的其中一个实施例的体系结构、功能和操作。在这个方面,每个块都代表了模块、段或代码部分,其包含一个或多个用于实施(多个)指定的逻辑功能的可执行指令。还应该指出的是,在某些替换实施方式中,块中指明的功能可以不以图7中指明的顺序出现。例如,在图7中连续示出的两个块可能实际上是几乎同时被执行的,或者这些块有时可以按照相反的顺序加以执行,这取决于所涉及的功能,如将在下文中进一步澄清的那样。
在块710中,由对等通信模块628获取来自可用对等网络节点的流量速率数据。基于对等通信模块628所获取的流量速率数据,由阈值统计块或模块622为网络节点确定(720)最大可允许速率。该最大可允许速率代表的是被允许在当前周期期间进入该网络节点以便进行处理的事务的最大数量。网守模块624使用(730)最大可允许速率来管理被容许由网络节点在当前周期中处理的事务的数量。
虽然依照若干实施例而对本公开进行了描述,但是落入本公开范围以内的变更、置换和等价物也是存在的。此外,为了方便起见,本文提供了标题、概要和摘要,但是该标题、概要和摘要不应当用于解释本文的权利要求的范围。另外,在本申请中,“n”的集合指的是集合中的一个或多个“n”。还应该指出的是,实施本公开的方法和装置的替换方式有很多种。因此,随附的权利要求旨在被解释成包含所有这些落入本公开的真实精神和范围内的变更、置换及等价物。
Claims (19)
1.一种跨越多个网络节点的流量的逐个周期的自适应限流方法,包括:
在所述自适应限流的指定周期期间,从可用的对等网络节点获取流量速率数据;
基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率,其中最大可允许速率代表被允许在当前周期期间进入该网络节点以用于处理的事务的最大数量;以及
使用最大可允许速率来管理被容许由该网络节点在当前周期中处理的事务的数量,
其中,最大可允许速率基于在当前周期中总体上用于网络节点的容许的事务的总阈值减去在先前周期中为对等网络节点许可的流量速率。
2.权利要求1的方法,其中每一个对等网络节点都计算将适于其自己使用的最大可允许速率。
3.权利要求1的方法,其中总阈值是可配置的。
4.权利要求1的方法,其中基于哪个用户提出事务请求来激活对被容许由网络节点处理的事务的数量进行管理的实施。
5.权利要求1的方法,其中基于哪种类型的应用提出事务请求来激活对被容许由网络节点处理的事务的数量进行管理的实施。
6.权利要求1的方法,还包括:
基于对于网络节点而言是否已经满足当前周期的最大可允许速率来禁止或允许待处理的事务。
7.一种跨越多个网络节点的流量的逐个周期的自适应限流系统,包括:
对等通信模块,其被配置成在所述自适应限流的指定周期期间从可用的对等网络节点获取流量速率数据;
阈值统计模块,其被配置成基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率,其中最大可允许速率代表被允许在当前周期期间进入该网络节点以用于处理的事务的最大数量;以及
网守模块,其被配置成使用最大可允许速率来管理被容许由该网络节点在当前周期中处理的事务的数量;
其中,最大可允许速率基于在当前周期中总体上用于网络节点的容 许的事务的总阈值减去在先前周期中为对等网络节点许可的流量速率。
8.权利要求7的系统,其中该系统位于网络节点处。
9.权利要求7的系统,其中最大可允许速率基于在当前周期中总体上用于网络节点的容许的事务的总阈值,并且进一步基于先前周期中为对等网络节点许可的流量速率。
10.权利要求9的系统,其中总阈值是可配置的。
11.权利要求7的系统,其中基于哪个用户提出事务请求来激活对被容许由网络节点处理的事务的数量进行管理的实施。
12.权利要求7的系统,其中基于哪种类型的应用提出事务请求来激活对被容许由网络节点处理的事务的数量进行管理的实施。
13.权利要求7的系统,其中网守模块进一步被配置成:
基于对于网络节点而言是否已经满足当前周期的最大可允许速率来禁止或允许待处理的事务。
14.一种跨越多个网络节点的流量的逐个周期的自适应限流系统,包括:
用于在所述自适应限流的指定周期期间从可用的对等网络节点获取流量速率数据的装置;
用于基于来自对等网络节点的流量速率数据来为网络节点计算最大可允许速率的装置,其中最大可允许速率代表被允许在当前周期期间进入该网络节点以用于处理的事务的最大数量;以及
用于使用最大可允许速率来管理被容许由该网络节点在当前周期中处理的事务的数量的装置;
其中,最大可允许速率基于在当前周期中总体上用于网络节点的容许的事务的总阈值减去在先前周期中为对等网络节点许可的流量速率。
15.权利要求14的系统,其中最大可允许速率基于在当前周期中总体上用于网络节点的容许的事务的总阈值,并且进一步基于在刚过去的周期中为对等网络节点许可的流量速率。
16.权利要求14的系统,其中每一个对等网络节点都计算将适于其自己使用的最大可允许速率。
17.权利要求14的系统,其中基于哪个用户提出事务请求来激活对被容许由网络节点处理的事务的数量进行管理的实施。
18.权利要求14的系统,其中基于哪种类型的应用提出事务请求 来激活对被容许由网络节点处理的事务的数量进行管理的实施。
19.权利要求14的系统,还包括:
用于基于对于网络节点而言是否已经满足当前周期的最大可允许速率来禁止或允许待处理的事务的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US92328807P | 2007-04-13 | 2007-04-13 | |
US60/923,288 | 2007-04-13 | ||
PCT/US2008/059396 WO2008127891A1 (en) | 2007-04-13 | 2008-04-04 | Apparatus and methods for adaptive throttling of traffic across multiple network nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101682544A CN101682544A (zh) | 2010-03-24 |
CN101682544B true CN101682544B (zh) | 2013-10-16 |
Family
ID=39864299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800193986A Active CN101682544B (zh) | 2007-04-13 | 2008-04-04 | 对跨越多个网络节点的流量进行自适应限流的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8553573B2 (zh) |
EP (1) | EP2135390A4 (zh) |
CN (1) | CN101682544B (zh) |
WO (1) | WO2008127891A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650301B2 (en) | 2008-10-02 | 2014-02-11 | Ray-V Technologies, Ltd. | Adaptive data rate streaming in a peer-to-peer network delivering video content |
US9432825B2 (en) * | 2010-01-13 | 2016-08-30 | Oracle International Corporation | Systems and methods for integrating a service access gateway with billing and revenue management systems |
CN102420741B (zh) | 2010-09-28 | 2016-01-20 | 朗讯科技投资有限公司 | 在基于atca的设备中调度通信流量的方法及装置 |
US8521884B2 (en) * | 2010-12-15 | 2013-08-27 | Industrial Technology Research Institute | Network system and method of address resolution |
US9355008B2 (en) | 2011-06-16 | 2016-05-31 | Hewlett Packard Enterprise Development Lp | Performance analyzer for self-tuning system controller |
CN103384259B (zh) * | 2012-05-04 | 2017-10-10 | 上海聚力传媒技术有限公司 | 一种调节对等节点的传输速度的方法、装置、设备和系统 |
US10924562B1 (en) * | 2013-05-02 | 2021-02-16 | Amazon Technologies, Inc. | Real-time monitoring of IO load and latency |
US10019756B2 (en) | 2014-03-31 | 2018-07-10 | Mastercard International Incorporated | Systems and methods for throttling transaction processing based on constrained sub-systems |
CN106302368B (zh) * | 2015-06-11 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 事务处理方法及装置 |
FR3096156B1 (fr) * | 2019-05-14 | 2022-06-10 | Amadeus | Plafonnement du rythme de transactions entrantes dans des échanges avec état entrants établis dans un environnement informatique distribué |
US11843542B2 (en) * | 2020-01-24 | 2023-12-12 | Juniper Networks, Inc. | Safely engineering egress traffic changes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1337807A (zh) * | 2000-08-04 | 2002-02-27 | 因特隆公司 | 使多节点网络中唯一连接适配最高数据速率的方法和协议 |
US6711129B1 (en) * | 1999-10-26 | 2004-03-23 | Avaya Technology Corp. | Real-time admission control |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961341B1 (en) * | 1996-07-02 | 2005-11-01 | Microsoft Corporation | Adaptive bandwidth throttling for network services |
US7068602B2 (en) * | 2001-01-31 | 2006-06-27 | Pmc-Sierra Ltd. | Feedback priority modulation rate controller |
AU2002357000A1 (en) * | 2001-11-23 | 2003-06-10 | Cyberscan Technology, Inc. | Method and systems for large scale controlled and secure data downloading |
CA2365688A1 (en) * | 2001-12-19 | 2003-06-19 | Alcatel Canada Inc. | System and method for providing gaps at ingress to a network element |
US7436769B2 (en) * | 2002-05-23 | 2008-10-14 | Lucent Technologies Inc. | Method of throttling data flow through a router |
AU2004200541B2 (en) * | 2003-02-15 | 2006-06-01 | Samsung Electronics Co., Ltd. | Scheduling apparatus and method in a CDMA mobile communication system |
US8145908B1 (en) * | 2004-10-29 | 2012-03-27 | Akamai Technologies, Inc. | Web content defacement protection system |
US7738375B1 (en) * | 2005-08-19 | 2010-06-15 | Juniper Networks, Inc. | Shared shaping of network traffic |
-
2008
- 2008-04-04 US US12/594,245 patent/US8553573B2/en active Active
- 2008-04-04 CN CN2008800193986A patent/CN101682544B/zh active Active
- 2008-04-04 WO PCT/US2008/059396 patent/WO2008127891A1/en active Application Filing
- 2008-04-04 EP EP08745102.7A patent/EP2135390A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711129B1 (en) * | 1999-10-26 | 2004-03-23 | Avaya Technology Corp. | Real-time admission control |
CN1337807A (zh) * | 2000-08-04 | 2002-02-27 | 因特隆公司 | 使多节点网络中唯一连接适配最高数据速率的方法和协议 |
Also Published As
Publication number | Publication date |
---|---|
WO2008127891A1 (en) | 2008-10-23 |
EP2135390A1 (en) | 2009-12-23 |
US8553573B2 (en) | 2013-10-08 |
EP2135390A4 (en) | 2015-01-21 |
US20100135155A1 (en) | 2010-06-03 |
CN101682544A (zh) | 2010-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101682544B (zh) | 对跨越多个网络节点的流量进行自适应限流的设备和方法 | |
US9762538B2 (en) | Flow ownership assignment in a distributed processor system | |
US10050936B2 (en) | Security device implementing network flow prediction | |
DE112009000834B4 (de) | Expressvirtuelle Kanäle in einem Paketvermittelten Auf-Chip Verbindungsnetzwerk | |
EP2939380B1 (en) | Supporting quality of service differentiation using a single shared buffer | |
US9467422B2 (en) | Event aggregation in a distributed processor system | |
JP5431467B2 (ja) | 特定のトラフィックフローにバックプレッシャーフロー制御を提供すること | |
CN101547159B (zh) | 一种避免网络拥塞的方法和设备 | |
CN106302223B (zh) | 一种聚合组流量分流的方法和装置 | |
CN103299588A (zh) | 通信系统、转发节点、接收分组处理方法和程序 | |
US20050276222A1 (en) | Platform level overload control | |
Chiang et al. | Performance and cost-effectiveness analyses for cloud services based on rejected and impatient users | |
CN111181873A (zh) | 数据发送方法、装置、存储介质和电子设备 | |
CN107846341A (zh) | 调度报文的方法、相关装置和系统 | |
EP2036267A1 (en) | A processor and a method for a processor | |
Lin et al. | Admission control with incomplete information of a queueing system | |
Amelina et al. | Differentiated consensuses in a stochastic network with priorities | |
EP2951977A2 (en) | Security device implementing network flow prediction, and flow ownership assignment and event aggregation in a distributed processor system | |
CN101753417A (zh) | 计算和确定路由的方法、路径计算单元和确定路由的系统 | |
CN109274609A (zh) | 一种端口设置方法、装置、交换网板及可读存储介质 | |
Patt-Shamir et al. | The space requirement of local forwarding on acyclic networks | |
CN113765796A (zh) | 流量转发控制方法及装置 | |
Prasad et al. | Scheduling slice requests in 5G networks | |
Ziya et al. | A note on optimal pricing for finite capacity queueing systems with multiple customer classes | |
CN109088752A (zh) | 内部控制链路端口动态配置方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170117 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett Packard Development Co. |