调节服务器群流入业务量的系统和方法

文档序号:7677974阅读:120来源:国知局
专利名称:调节服务器群流入业务量的系统和方法
技术领域
本发明一般涉及全球网络,特别涉及全球因特网,和驻留在使用一组服务器的服务提供者上的各个属主的因特网全球互连网(World Wide Web,WWW)网站,该组服务器设法满足建立的服务级别。
背景技术
因特网是全球最大网络,并且对于学术机构和很多小型、中型和大型企业,以及个人用户它已不可缺少。很多企业已开始将它们的应用(商务和商业)处理外交给服务提供者,而不是在它们自己的服务器上运行和维护应用软件。这些服务提供者被称作应用服务提供者(Application Service Provider,ASP)。每个ASP安装一组服务器(称作服务器群),它们可以用来为各种客户运行很多不同的商务应用。这些客户(即,服务提供者的“客户”,经常称作驻留客户)对它们的应用具有不同的“负载”要求。ASP必须确保它们的服务器群能处理它们驻留客户应用的各种负载要求。
当企业将它们的商务应用外交给服务提供者,它们典型地获得从服务提供者接收对它们应用的服务的保证。一旦服务提供者向客户作出承诺,提供特定“级别”的服务(例如,服务级别约定(Service Level Agreement,SLA)),提供者必须向那个客户保证那个级别的服务。通过检查包目标地址和传输控制协议(Transfer Control Protocol,TCP)端口号,从服务提供者客户到服务器群的流入业务量(例如,网际协议(Internet Protocol,IP)包)可以划分为各种类别/类型。服务器群的应用负载的一般SLA可以用一对TCP连接速率进行表示对于第i个客户的第j个应用,最小TCP连接速率Nmin(i,j)和最大TCP连接速率Nmax(i,j)。最小(或min)TCP连接速率Nmin(i,j)是被保证的TCP连接速率,不管其他客户应用对服务器群的使用,第i个客户的第j个应用都要被该服务器群支持。换句话说,只要不超过Nmin(i,j),服务提供者就要保证服务器群接纳与给定应用和给定客户相关的TCP连接请求。最大(或max)TCP连接速率Nmax(i,j)是如果可以获得为处理第j个应用分配的一些额外“可共享容量”,服务器群所支持的第i个客户的第j个应用的TCP连接速率上限。可以获得这种“可共享容量”是因为服务器群操作员为第j个应用分配了一些“额外”容量,并且/或者由于一些客户的第j个应用当前没有使用它们所分配的最小TCP连接容量,因此可以使用一些“未使用的容量”。因此,Nmin(i,j)和Nmax(i,j)之间的范围表示根据“全力”进行支持的TCP连接,并且不一定保证在超出被保证的最小Nmin(i,j)的情况下接纳客户的TCP连接请求。通常,超出最小Nmin(i,j)时每个TCP连接的单位收费大于低于Nmin(i,j)的每个TCP连接的单位收费。对于不同的客户,这种单位收费可以不同。
一些商业产品(例如,Lucent/Xedia(www.xedia.com)的Access Point(AP)产品,和PhaseCom(www.speed-demon.com)的Speed-Class产品)可以用来“规划”流入业务量(每秒流入服务器群的接纳位),以满足对每个客户和每个客户应用的基于(最小,最大)带宽使用的SLA。然而,不幸的是,流入服务器群的位流量不一定表示用TCP连接请求数表示的负载要求。美国专利申请序列号[律师事务表编号YO999-374]和09/543,207,一般与本发明放在一起,阐述通过调节服务器群的流入业务量满足基于流出带宽使用的SLA的系统和方法。然而,它们的系统不解决如何支持基于(Nmin(i,j),Nmax(i,j))TCP连接请求的SLA这一问题。
因此,所需的是根据TCP连接请求满足服务器群的应用负载SLA,而不是根据流入服务器群的位数满足SLA的系统和方法。

发明内容
本发明提供一种系统和方法,用于控制一组服务器如驻留各个属主因特网全球互连网(WWW)网站的应用服务提供者(ASP)的服务器群,接纳应用负载(TCP连接请求)的速率。本发明的系统和方法用来在如下环境中操作对于提供者所驻留并且客户所使用的每个应用类型,每个客户具有基于负载的SLA。本发明的系统和方法通过支持对多个客户和应用的(最小、最大)TCP连接请求,实现本发明的这一方面。本发明的系统能够具有用于最大化性能和操作灵活性的模块设计,同时还提供实时的负载处理,以最小化包处理延迟。
根据本发明的第一方面,该系统和方法保证,控制和传递客户的基于TCP连接的负载SLA,该客户的应用驻留在一组服务器,例如服务器群上,由服务提供者进行运行。本发明的系统和方法需要使用负载调节器,它以如下方式运行只调节新的TCP连接请求包,同时透明地传递其他IP包(例如,与现存TCP连接相关的包)。该调节器进一步以如下方式运行通过对请求应用接纳速率并且通过丢弃(或拒绝)请求来保证对客户应用的允诺服务级别,调节对每个客户商务活动应用的输入TCP连接请求流动,以保证先前对每个用户(以它们各自的SLA为单位)允诺的服务级别。SLA最好采用(最小、最大)TCP连接请求速率的形式,其中,最小TCP连接请求速率表示接纳TCP连接请求的被保证速率,而最大TCP连接请求表示,如果服务器群有未使用的资源可用来处理相关应用,能够接纳TCP连接请求的速率上限。
根据本发明的优选方面,每个输入IP包放入一个公用缓冲区,以作FIFO(first in first out,先入先出)处理。该系统从公用缓冲区提取一个包,确定该包所属的相关客户和应用,然后使用支持和实施每个客户应用的基于(最小、最大)TCP连接请求负载的SLA的实时调节(或守门)算法处理新的TCP连接请求。调节算法在接纳TCP连接请求,特别是超出最小SLA时,可以寻找提高服务器群操作员收入的机会。
使用本发明所提供的系统和方法,基于(最小、最大)TCP连接请求负载的SLA被保证并传递到由ASP进行服务的应用。任何单个客户的应用负载被防止垄断由ASP为所有客户的那个应用类型分配的全部应用处理容量。按照如此方法,流入服务器群的全部负载得以最大化,并且负载的接纳公平地提供给各个客户。本发明的其他可能特点和好处包括能够向多个不同应用提供细化的服务,并且提供防止任何怀有恶意的用户试图通过生成极端大量的TCP连接请求破坏客户网站或服务器群的安全措施。本发明的方法和系统可以是“无状态”(即,不跟踪单个TCP连接)的,并且可以由外部装置进行控制,同时还能够不接收任何周期控制信号就运行。本发明的方法和系统还能允许要求比他们商定最小值更多的TCP连接的客户对未使用TCP连接负载的“借用”和“非借用”。本发明的另一方面是能够提供一种系统,当必须拒绝TCP连接请求时,提供一个选择,是简单丢弃,还是返回一个TCP连接“复位”包到TCP发起者。
通过下面详细描述,将更好地理解本发明的其他目的和优点。


图1示出本发明的系统环境和在其中操作用于控制和管理因特网服务器群流量的负载调节器;图2示出图1负载调节器的“守门人”中使用的实时算法;图3示出在结合图2实时“守门人”算法操作的“助手”中使用的算法;图4示出可以用在“守门人”中代替图2实时算法的基于目标速率的算法;图5示出在结合图4基于目标速率的“守门人”算法操作的“助手”中使用的算法。
具体实施例方式
图1示意性示出本发明的系统环境10,其中通过因特网服务器群20的业务量可以用负载调节器12,称作Web负载调节器或WWR进行调节。在图1中,表示所有客户应用的IP包(包括现存TCP连接和TCP连接请求)的流入业务量(web负载)14进入WWR 12。WWR 12调节TCP连接请求包流,同时透明地传递(接纳)其他IP包(例如,现存TCP连接的包和非TCP连接的包)。被接纳的业务量(它还包括被接纳的TCP连接请求包(使用下面描述的方式))通过高速LAN(high-speed LAN,HS-LAN)16发送到负载平衡器18。任何被拒绝的TCP连接请求包由WWR向导34进行处理,它将该被拒绝的包发送到向外链路22。向外链路22还可以经过HS-LAN 16或其它高速LAN。平衡器18可以是任何现存负载调度产品,如国际商业机器企业(www.ibm.com)的商业产品SecureWay Network Dispatcher,或者Cisco系统(www.cisco.com)的商业产品LocalDirector。平衡器18负责将所接收和接纳的负载分派到服务器群20的很多服务器(S1、S2…Sn)。
WWR 12包括五个组成部分公用缓冲区28、守门人30、向导34、管理器36和助手38。流入业务量(web负载)14首先存储在公用缓冲区28中,当守门人30处理缓冲区28中的所接收TCP连接请求时,该缓冲区的大小最好足够大以吸收庞大的流入业务量14。守门人30根据客户的SLA,作出决定,是接纳还是拒绝(丢弃)所接收的特定客户应用的TCP连接请求。如果守门人30决定接纳一个请求,该请求通过HS-LAN 16传输到平衡器18。如果守门人30决定拒绝一个请求,该请求转交给处理被拒绝请求的向导34。向导34在处理被拒绝的TCP连接请求时有两个选项。第一是简单地丢弃请求,而第二是通过向外链路22将RST(reset,复位)代码位为“ON(通)”的被拒绝TCP包返回到TCP连接发起者(没有显示)。
助手38通过计算守门人30能使用的“可共享”TCP连接量帮助守门人30。将计算“可共享”TCP连接的工作从守门人30转交给助手38使守门人30更加高效并更具扩展性。然而,消除助手38的需要,守门人30能够计算“可共享”TCP连接量是可预见的。
如图1所示,WWR 12最好能够接收基于(最小、最大)TCP连接请求负载的SLA命令24,并且能够提供负载统计数据26给适当外部装置40,以作处理和记帐。当SLA命令24发生改变时,管理器36通过接收SLA命令24为WWR12执行这个功能,并且将所收集的负载统计数据26发送到外部处理和记帐装置40。
下面表列出说明用在守门人30、向导34和助手38中的算法时用到的变量的定义。符号 描述Nlimit(j) 对于第j个应用,服务器群20能接纳的每秒TCP连接总数Nmin(i,j) 对于第i个客户的第j个应用,被保证的每秒TCP连接数Nmax(i,j) 超出Nmin(i,j)的全力支持的上限Nadmitted(i,j)对于第i个客户的第j个应用,服务器群20所接纳的每秒TCP连接数Ntotal(j) 所有客户i的Nadmitted(i,j)的和Nmin(j)所有客户i的Nmin(i,j)的和Nexcess(j)服务器群的额外容量,Nexcess(j)=Nlimit(j)-Nmin(j)Nunused(j)“可借用”量;对于Nmin(i,j)>Nadmitted(i,j)的所有客户i,[Nmin(i,j)-Nadmitted(i,j)]的和Nsharable(j) 能由超过Nmin(i,j)的客户共享的TCP连接;Nsharable(j)=Nexcess(j)+Nunused(j)Ntarget(i,j) 对于(i,j),每秒TCP连接数的目标速率注意如果守门人30保留TCP连接状态信息,“每秒连接数”可以替换为“有效连接数”。
图2示出适合用在守门人30中的实时算法。对在公用缓冲区28中接收的每个包执行算法的步骤1到4。在步骤1,检查时间间隔,称作周期时间,查看它是否到期。如果没有到期,算法继续到步骤2;如果已到期,步骤1复位控制变量,周期计数器“C”增加1,从助手38获得所有Nunused值(图3所示的合适算法),所有Cadmitted增加Nadmitted,所有Crejected增加Nrejected,然后将所有Nadmitted和Nrejected复位为0,并且将所有Nsharable设置为Nexcess和Nunused的和。然后算法继续到步骤2,使用FIFO处理从公用缓冲区28获取一个包,并且检查该包是否为TCP连接请求。这个检查通过检查SYN(同步)位是否为ON来完成。如果SYN位为OFF(关)(表示该包不用于TCP连接请求,但是用于现存TCP连接),步骤2允许该包通过,并且算法返回到步骤1。然而,如果SYN位为ON(表示该包为用于新TCP连接的请求),执行步骤3。
步骤3用来保证每个客户应用的最小服务级别约定Nmin。在步骤3,确定所接收包的索引(i,j),并且如果还存在允许接纳的TCP连接数(Nadmitted(i,j))小于被保证的最小值(Nmin(i,j)),接纳TCP连接请求。在步骤4,通过为所有客户公平分配“可共享”资源(Nsharable),接纳超出最小值直到最大值的TCP连接请求。只要Nsharable(j)大于0,步骤4就接纳TCP连接请求。一旦由于所接纳TCP连接请求(Nadmitted(i,j))超出最小值(Nmin(i,j)),Nsharable(j)减到0,所接收TCP连接请求就转交给向导34,以作进一步处理。
如上所述,图3示出能结合图2实时守门人算法使用的“助手”38的算法。当操作模式为“不可借用”,表示客户不允许使用另一客户的未使用资源,助手算法返回Nunused(j)=0。当操作模式为“可借用”,图3的算法为每个应用计算未使用资源Nunused(j)的总量,并且将所计算的数量返回到图2守门人算法的步骤1。同样地,WWR 12考虑需要比他们商定最小值更多的TCP连接的客户对未使用TCP连接负载的“借用”和“不借用”。为了避免未使用资源Nunused(j)的过度使用,最好对每个应用使用名为“Unused Permit Factor(j)”的常数乘法器。该乘法器的值在0和1之间。
向导34还采用能结合图2实时守门人算法(和图4所示的另一守门人算法,下面讨论)使用的算法。如前所述,向导34负责决定如何处理被拒绝的TCP连接请求简单地丢弃每个被拒绝的TCP连接请求(选项1)或者返回复位(RST)位为“ON”的包到TCP连接请求发起者(选项2)。由于选项2触发TCP连接发起的立即关闭而没有TCP连接超时,因此选项2对终端用户比较“友好”。
如上所述的方法是“实时”的,这是因为对基于单位包接收的每个包作决定。本发明的WWR 12可以修改为使用“基于目标速率”的算法,周期性(如每一秒)地计算接纳TCP连接请求的速率。图4示出能由守门人30使用代替图2算法的基于目标速率的守门人算法。图4的步骤1,每当周期时间到期,复位变量。该步骤的关键是从助手38获得目标速率Ntarget(i,j),其对应基于目标速率的算法如图5所示(下面讨论)。当包的SYN位为OFF时,步骤2简单地接纳所接收的包。对于每个应用,只要所接纳连接请求总数Nadmitted(j)不大于目标速率Ntarget(j),图4的步骤3接纳TCP连接请求。否则,TCP连接请求转交给向导34,以作进一步的处理。
图5所示的用于助手28的算法特定地用来结合图4所示的基于目标速率的守门人算法使用。图5助手算法的功能是为所有(i,j)计算由图4基于目标速率的守门人算法使用的Ntarget(i,j)。步骤1快速检查Ntarget(i,j)是否需要重新计算。只要没有拒绝TCP连接请求并且没有观察到SLA违例,就跳过Ntarget(i,j)的重新计算(转到停止)。助手算法的步骤2确保对于每个(i,j),每个Ntarget(i,j)不超过Nmax(i,j)。步骤3根据操作模式是“可借用”或“不可借用”,计算Nsharable(j)。然后步骤3按比例估量和分配Nsharable(j)给目标速率Ntarget(i,j)要求多于Nmin(i,j)的那些(i,j)。对于Ntarget(i,j)小于或等于Nmin(i,j)的那些(i,j),它将Ntarget(i,j)复位为Nmax(i,j)(相当于没有节流)。最后,步骤4终止助手算法。
使用本发明,WWR 12用来对由一组服务器进行服务的应用,保证并传递基于(最小、最大)TCP连接请求负载的SLA,并且完成这项工作,而不接收任何周期控制信号且外部装置40的干涉达到最小限度。WWR 12的一个重要特征是流入服务器群20的总负载得以最大化,而且负载的接纳公平地提供给多个客户。按照如此方法,任何单个客户的应用负载被防止垄断由ASP为所有客户的那个应用类型分配的全部应用处理容量。WWR 12通过对不同的应用赋不同的优先权,对额外容量Nexcess(j)赋不同的值和对Unused_Permit_Factor(j)赋不同的值,还能够向多个不同应用提供细化的服务。WWR12检查和调节流入业务量的方式提供另外一个好处,防止任何怀有恶意的用户试图通过生成极端大量的TCP连接请求破坏客户网站或服务器群。另外,WWR 12有效地作为流入业务量的“线路”出现,因为它的操作是“无状态”(即,WWR 12不跟踪单个TCP连接)的。
如上描述的WWR 12可以用硬件、软件或两者进行实现。例如,WWR12可以通过操作计算机进行实现,如实施为数字数据处理装置,以执行机器可读指令序列。这些指令可以驻留在各种类型的可编程信号承载介质中。因此,本发明的这个方面针对一个编程产品,包括明显地实施一个可由数字数据处理器执行的机器可读指令程序以执行上述方法的信号承载介质。因此,除了如上所述的硬件和过程环境之外,本发明提供一种计算机实现的方法,用于实施驻留在web服务器群上的多个客户的基于TCP连接请求的SLA,如上所述。作为一个示例,通过执行信号承载介质中的机器可读指令序列,该方法可以在特定硬件环境中进行实现。
因此,虽然本发明是根据特定的实施例进行描述的,但是对于本领域的技术人员很明显,可以采用其他形式。因此,本发明的范围仅由下面权利要求进行限定。
权利要求
1.一种调节多个服务器对许多TCP连接请求的接纳的方法,所述多个服务器支持多个应用和多个客户,每个客户根据指定该客户被保证的最小TCP连接速率的服务级别约定,具有驻留在多个服务器上的电子商务活动,该方法包括如下步骤将多个应用的多个客户的进入负载接收到公用缓冲区中,所述进入负载包括现存TCP连接和TCP连接请求的IP包;然后通过调节到多个服务器的TCP连接请求包的流动,对每个应用和每个客户,控制进入负载从公用缓冲区到多个服务器的流动,以为每个客户和每个应用至少提供最小TCP连接速率。
2.如权利要求1所述的方法,其特征在于,所有进入负载接收到公用缓冲区中,并且TCP连接请求包以先进先出的方式进行处理。
3.如权利要求1所述的方法,其特征在于,所述方法不直接控制来自多个服务器的流出业务量。
4.如权利要求1所述的方法,其特征在于,通过检测IP包是否为TCP连接请求包,并且立即接纳所有其它包,执行所述控制步骤。
5.如权利要求4所述的方法,其特征在于,通过确定IP包的SYN位是ON或OFF,执行所述检测步骤。
6.如权利要求4所述的方法,其特征在于,如果一定满足与TCP连接请求对应的客户的最小TCP连接速率,接纳关于TCP连接请求的IP包。
7.如权利要求6所述的方法,其特征在于,如果这样做不妨碍满足其它多个客户的最小TCP连接速率,也接纳关于客户之一的TCP连接请求的IP包。
8.如权利要求7所述的方法,进一步包括如下步骤丢弃控制步骤期间不被接纳的TCP连接请求包。
9.如权利要求7所述的方法,进一步包括如下步骤返回控制步骤期间不被接纳的TCP连接请求包,控制步骤期间不被接纳的TCP连接请求包用复位代码位ON返回。
10.如权利要求1所述的方法,进一步包括如下步骤当一个或多个客户已超过一个或多个应用的最小TCP连接速率,对一个或多个应用计算是否能接纳一个或多个客户的TCP连接请求包。
11.如权利要求1所述的方法,进一步包括如下步骤与外部装置进行通信,以接收对一个或多个服务级别约定的修改。
12.如权利要求1所述的方法,进一步包括如下步骤与外部装置进行通信,以将所收集的统计数据发送到外部装置。
13.如权利要求1所述的方法,其特征在于,使用实时接纳/拒绝算法执行所述控制步骤,其中,基于每包调节TCP连接请求包到多个服务器的流动。
14.如权利要求1所述的方法,其特征在于,使用基于目标速率的接纳/拒绝算法执行所述控制步骤,其中,基于每单位时间调节TCP连接请求包到多个服务器的流动。
15.一种根据支持多个应用和多个客户的多个TCP连接请求控制和保证服务级别约定的方法,所述多个客户具有驻留在多个服务器上的电子商务活动,每个客户具有指定该客户被保证的最小TCP连接速率的服务级别约定,该方法包括如下步骤将多个应用的多个客户的所有进入负载接收到公用缓冲区中,进入负载包括现存TCP连接和TCP连接请求的IP包;以先进先出的方式从公用缓冲区取出TCP连接请求包;和通过调节TCP连接请求包到服务器群的流动,对每个应用和每个客户,控制IP包从公用缓冲区到服务器群的流动,以为每个客户和每个应用至少提供最小TCP连接速率,该控制步骤包括检测IP包是TCP连接请求包,或现存TCP连接包;立即接纳现存TCP连接的IP包;如果一定满足与TCP连接请求对应的客户的最小TCP连接速率,接纳TCP连接请求包;和如果这样做不妨碍满足其它多个客户的最小TCP连接速率,接纳客户之一的TCP连接请求包。
16.如权利要求15所述的方法,其特征在于,所述方法不直接控制来自服务器群的流出量。
17.如权利要求15所述的方法,其特征在于,通过确定IP包的SYN位是ON或OFF,执行所述检测步骤。
18.如权利要求15所述的方法,进一步包括如下步骤丢弃控制步骤期间不被接纳的IP包。
19.如权利要求15所述的方法,进一步包括如下步骤返回控制步骤期间不被接纳的TCP连接请求包,控制步骤期间不被接纳的IP包用复位代码位ON返回。
20.如权利要求15所述的方法,进一步包括如下步骤当一个或多个客户已超过一个或多个应用的最小TCP连接速率,对一个或多个应用计算是否能接纳一个或多个客户的TCP连接请求包。
21.如权利要求15所述的方法,进一步包括如下步骤与外部装置进行通信,以接收对一个或多个服务级别约定的修改,并且将所收集的统计数据发送到外部装置。
22.如权利要求15所述的方法,其特征在于,使用实时接纳/拒绝算法执行所述控制步骤,其中,基于每包调节TCP连接请求包到服务器群的流动。
23.如权利要求15所述的方法,其特征在于,使用基于目标速率的接纳/拒绝算法执行所述控制步骤,其中,基于每单位时间调节TCP连接请求包到服务器群的流动。
24.一种调节多个服务器对许多TCP连接请求的接纳的系统,所述多个服务器支持多个应用和多个客户,每个客户根据指定该客户被保证的最小TCP连接速率的服务级别约定,具有驻留在多个服务器上的电子商务活动,该系统包括公用缓冲区,用于接收多个应用的多个客户的进入负载,所述进入负载包括关于现存TCP连接和TCP连接请求的IP包;和控制装置,用于通过调节TCP连接请求包到多个服务器的流动,对每个应用和每个客户,控制进入负载从公用缓冲区到多个服务器的流动,以为每个客户和每个应用至少提供最小TCP连接速率。
25.如权利要求24所述的系统,其特征在于,所述公用缓冲区配置为接收所有进入负载,并且所述控制装置配置为以先进先出的方式处理TCP连接请求包。
26.如权利要求24所述的系统,其特征在于,所述系统不配置为直接控制来自多个服务器的流出量。
27.如权利要求24所述的系统,其特征在于,所述控制装置配置为检测所述IP包是现存TCP连接,还是TCP连接请求,并且立即接纳现存TCP连接的IP包。
28.如权利要求27所述的系统,其特征在于,所述控制装置配置为确定IP包的SYN位是ON或OFF。
29.如权利要求24所述的系统,其特征在于,所述控制装置配置为,如果一定满足与TCP连接请求对应的客户的最小TCP连接速率,接纳TCP连接请求包。
30.如权利要求29所述的系统,其特征在于,所述控制装置配置为,如果这样做不妨碍满足其它多个客户的最小TCP连接速率,接纳客户之一的TCP连接请求包。
31.如权利要求30所述的系统,进一步包括用于丢弃不被控制装置接纳的TCP连接请求包的装置。
32.如权利要求30所述的系统,进一步包括用复位代码位ON返回不被接纳的TCP连接请求包的装置。
33.如权利要求24所述的系统,进一步包括用于当一个或多个客户已超过一个或多个应用的最小TCP连接速率,对一个或多个应用计算是否能接纳一个或多个客户的TCP连接请求包的装置。
34.如权利要求24所述的系统,进一步包括用于与外部装置进行通信,以接收对一个或多个服务级别约定的修改的装置。
35.如权利要求24所述的系统,进一步包括用于与外部装置进行通信,以将所收集的统计数据发送到外部装置的装置。
36.如权利要求24所述的系统,其特征在于,所述控制装置使用实时接纳/拒绝算法运行,其中,基于每包调节TCP连接请求包到多个服务器的流动。
37.如权利要求24所述的系统,其特征在于,所述控制装置使用基于目标速率的接纳/拒绝算法运行,其中,基于每单位时间调节TCP连接请求包到多个服务器的流动。
38.一种基于支持多个应用和多个客户的许多TCP连接请求控制和保证服务级别约定的系统,所述多个客户具有驻留在多个服务器上的电子商务活动,每个客户具有指定该客户被保证的最小TCP连接速率的服务级别约定,该系统包括公用缓冲区,在其中接收多个应用的多个客户的进入负载,进入负载包括现存TCP连接和TCP连接请求的IP包;守门人,以先进先出的方式从公用缓冲区取出IP包,并且通过调节IP包到服务器群的流动,对每个应用和每个客户,控制IP包从公用缓冲区到服务器群的流动,以为每个客户和每个应用至少提供最小TCP连接速率,所述守门人可以运行检测IP包是TCP连接请求包,还是现存TCP连接包,立即接纳现存TCP连接的IP包,如果一定满足与TCP连接请求对应的客户的最小TCP连接速率,接纳TCP连接请求包,并且如果这样做不妨碍满足其它多个客户的最小TCP连接速率,接纳一个客户的TCP连接请求包。
39.如权利要求38所述的系统,其特征在于,所述系统不直接控制来自多个服务器的流出量。
40.如权利要求38所述的系统,其特征在于,所述守门人配置为确定IP包的SYN位是ON或OFF。
41.如权利要求38所述的系统,进一步包括向导装置,用于丢弃不被守门人接纳的TCP连接请求包。
42.如权利要求38所述的系统,进一步包括向导装置,用于用复位代码位ON返回不被接纳的TCP连接请求包。
43.如权利要求38所述的系统,进一步包括助手装置,用于当一个或多个客户已超过一个或多个应用的最小TCP连接速率,对一个或多个应用计算是否能接纳一个或多个客户的TCP连接请求包。
44.如权利要求38所述的系统,进一步包括管理器装置,用于与外部装置进行通信,以接收对一个或多个服务级别约定的修改,并且将所收集的统计数据发送到外部装置。
45.如权利要求38所述的系统,其特征在于,所述守门人使用实时接纳/拒绝算法运行,其中,基于每包调节TCP连接请求包到服务器群的流动。
46.如权利要求38所述的系统,其特征在于,所述守门人使用基于目标速率的接纳/拒绝算法运行,其中,基于每单位时间调节TCP连接请求包到服务器群的流动。
全文摘要
一种系统和方法,用于控制一组服务器,接纳应用负载(例如TCP连接请求)的速率。其在如下环境中操作:对于提供者所驻留并且客户所使用的每个应用类型,每个客户具有基于负载的SLA。该系统和方法能支持对多个客户和应用的(最小、最大)TCP连接请求。通过使用负载调节器保证,控制和传递客户的基于TCP连接的负载SLA,该客户的应用驻留在服务器群上,负载调节器如下运行:只调节新的TCP连接请求包,同时为客户透明地传递所接收的现存TCP连接包和其他请求包。该调节器还如下运行:通过对请求应用接纳速率和通过丢弃(或拒绝)请求来保证对客户应用的允诺服务级别,调节对于每个客户商务活动应用的输入TCP连接请求的流动,以保证先前对每个客户允诺的服务级别。
文档编号H04L29/06GK1376987SQ02105058
公开日2002年10月30日 申请日期2002年2月11日 优先权日2001年2月20日
发明者丸山清, 陈顺成, 贾里尔·K·查尔, 让·A·洛兰, 米里亚姆·佐哈, 戴维·A·乔治 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1