灵活的电信业务量警管技术的制作方法

文档序号:7684749阅读:130来源:国知局
专利名称:灵活的电信业务量警管技术的制作方法
技术领域
本发明涉及电信业务量的控制,特别涉及可变长数据包的电信业务量警管(policing)技术。这种技术采用多个成对编组的警管引擎,并且可用于警管算法中,在警管算法中更新警管引擎的算法是相互依赖的。
一种已知的警管机制采用了被称为虚拟调度算法(缩写为VSA)的调度算法。VSA可以被看作分开的两个部分,一致检查部分显示是否需要根据VSA实例丢弃业务流中的数据包,更新部分是用来更新VSA使用的基本参数,例如预计到达时间,它是作为非遗弃数据包的到达时间的函数来更新的。
电信网中的业务流是由一系列的数据包(在某些例子中是信元)组成的,这些数据包(或信元)具有固定的或者可变的长度。在网络中有很多的业务流在流动并且可以采用分级结构来安排两个或以上的业务流。因此,一个数据包可以隶属于一个或多个业务流。每个业务流可以反过来包括两者中任何一个或者两个子流(例如,高优先权数据包子流和包括高优先权和低优先权数据包的总子流)。因此,在这个例子中,高优先权数据包同样隶属于两种子流。每个子流具有一个单独的速率控制并包括速率参数(例如,速率和脉冲串容限)、警管状态(例如,预计到达时间)。数据包所隶属的每个子流都需要一个警管引擎。
例如,一个ATM信元流同时包括高优先权和低优先权信元,由CLP位来标识。对于这样的ATM信元流,ITU-TS建议I.371规定高优先权第一信元子流是要单独警管的,反之,第一和第二信元的总ATM流(或为了术语使用的一致性称为“总子流”)也要作为一个整体来警管。一种实现方法是采用处理装置,在这种处理装置中两个串联着的处理器分别对一个特殊子流应用一个特殊警管算法实例。第一个处理器因此根据包括高优先权第一信元的子流上的一个VSA实例来进行操作,而第二个处理器因此根据另一个包括未警管低优先权第二信元和警管的高优先权第一信元的子流上的一个相似VSA实例来进行操作。
在1996年7月30日的美国专利5541913中,Witters等人描述了一种上述已知形式的警管设备,具有更加通用的体系结构,这种体系结构易于适用于很多不同的警管方法。因此,这种结构将多个警管引擎实例并联安排,并且这种体系结构被描述为不仅易于适用于很多不同的用于ATM流的警管方法,而且还可以作为ITU建议的后续变化的结果来实现。


图1所示为上述专利的警管设备示意图。
即使如描述所说的可以应用于任意算法,但是该警管设备包括多个并行的警管处理器10、12,他们中的每一个都执行修正的虚拟调度算法(缩写为MVSA),通常可以将这个算法分为两个阶段来执行更新和一致性(conformance)。更新阶段保持算法状态(例如,信元的预计到达时间)。确认阶段用来计算被评估的信元是否和算法相一致。换句话说,信元的实际到达时间要比预计到达时间晚,换成另一种说法,是在预计到达时间之前信元没有到达。警管设备还具有启动电路14,它对一个ATM输入流的每个收到的信元,来激活一个或全部两个处理器,然后由处理器产生确认信号。仲裁模块16根据确认信号产生丢弃信号18和反馈信号20、22,丢弃信号表明是否可以用丢弃电路将该信元信号插入ATM输出流,而反馈信号向相应的处理器表明是否执行已经准备好的对前面所述算法中所用的预计到达时间的更新。通过使用仲裁模块和启动电路,这种结构体系可以执行很多警管方法。
上述专利中将MVSA描述为包括如下代码<pre listing-type="program-listing">IF(PAT<TIME) THEN   TEMP_PAT=TIME+NIAT   CS=1   ELSE   IF(PAT>TIME+γ)   THEN TEMP_PAT=PAT+NIAT  CS=0   ELSE TEMP_PAT=PAT+NIAT  CS=1</pre>其中PAT是预计到达时间;TIME是被处理信元的到达时间;TEMP_PAT是PAT的预备更新值;γ是所谓的信元延迟变化容限;NIAT是商定的信元到达间的时间;CS是一致性值,它表明被处理信元是否与相应的MVSA的应用实例相一致。CS=1表明一致,CS=0表明不一致。
除了一些修改之外,上述MVSA与前面所述的虚拟调度算法相似。一种修改是不直接更新预计到达时间,但是只在中间变量TEMP PAT中准备对其进行更新。反馈值FS决定了更新是否被有效执行,方法如下IF(FS=1)THEN PAT=TEMP_PATELSE PAT=PAT在另外一种修改中引入了一条新线(new line),它甚至在MVSA实例发现被处理信元并不满足要求时也能够允许准备更新值。只有在应用特殊警管方法的时候才需要这种修改,但是在很多情况下都引入了这种修改以保持警管设备PD的通用性,也就是说可以允许任何要被它应用的警管方法的执行。为了能够在警管设备中只用相同的警管处理器,它也用每个警管处理器来执行。
上述的MVSA被分为得到确认信号的一致性检验部分,以及更新部分,它是用于准备更新值TEMP_PAT并在反馈信号的指令下进行更新。因此,在执行MVSA实例时,处理器准备更新值TEMP_PAT并且产生一致性值作为一致性信号。另一方面,仲裁模块产生反馈值,这些值作为反馈信号被处理器在执行上述MVSA实例时所使用。
通过定义启动电路EC和仲裁模块AM,就能够实现很多不同的警管方法。例如,通过设计启动电路EC,对高优先权第一信元启动处理器PP1、PP2,仅对低优先权第二信元启动处理器PP2,就能够实现满足ITU-TS建议I.371的警管方法。如前面所述,标准指出包括高优先权和低优先权信元的ATM流(集合子流)应该作为一个整体被警管,而由高优先权信元所组成的子流应该被单独警管。
该专利描述了一些其他的能够利用所述的结构实现的警管方法。所述的警管方法可以使用漏桶及其填充时间来计算数据包是否一致,而不是使用信元到达时间。尽管在该专利中作为通用结构被描述,但是这种结构不能用于实现这样一种算法,在该算法中,一个处理器的更新算法是另一个处理器的更新算法的函数。在上述专利所描述的情况下,PP1和PP2分别独立进行更新。该专利还描述了只与ATM信元流相关的结构。下面马上描述一个这种不能实现的算法。正如所详细描述的,这种方法使用两个漏桶并且他们的更新是互不相关的。
IETF RFC2697描述了一种单速、三色双漏桶警管算法,称为单速三色标识器。这种警管算法是调节变长数据包流,例如IP业务量,包括MPLS、帧延时及通过因特网的声音/图像。这个算法需要两个漏桶并且它们的贷方(credit)更新算法是互相依赖的。RFC2679中说该标识器能够作为一个组成部分应用于分类业务量调节器。该算法对业务流(例如,IP数据包流)进行测量,并且用绿、黄或者红来标识这些数据包。标识基于三个业务量参数进行,信息速率(CIR)和两个相关的脉冲串大小、承诺脉冲串规模(CBS)和过剩脉冲串规模(EBS)。CRI是以IP数据包的每秒比特数计量的,并包括IP报头,但不包括链路特殊报头。CBS和EBS都是以比特计量的。如果数据包没有超过CBS,那么它将被标识为绿色;如果超过了CBS但没超过EBS,那么将被标识为黄色;否则,即被标识为红色。这种算法对,例如,进入服务警管,是有用的,这里只有脉冲串长度,而不是最大速率,决定服务的适用性。有色盲(colour-blind)和色识(colour-aware)两种操作方法。
图2所示为采用色盲操作模式的算法的示意框图,其中所有的数据包都被处理为绿色。如图2所示,选择电路40将接收到数据包的大小、流、时间和颜色(在色识模式中)送到测量器42中,测量器42对每个数据包进行测量并将测量结果送到发送电路44,发送电路44根据测量器的结果执行通过(接收)/标识(绿色、黄色、红色)/丢下的操作。测量器包括两个漏桶C和E,分别用46和48进行标识。两个漏桶共享CIR。来自漏桶的确认(测量)结果50决定了数据包的颜色。确认结果和漏桶的填充状态在判决块52中被处理,来决定执行54和56中的哪一个更新函数。
该算法的操作过程如下漏桶C的最大规模是CBS,而漏桶E的最大规模是EBS。Tc和Te是漏桶C和E的填充状态。在时间0,这辆个漏桶是满的,也就是说,Tc(0)=CBS和Te(0)=EBS。在时间0之后,这两个漏桶的填充,即Tc和Te,就每秒被更新CIR次,更新方法如下● 如果Tc小于CBS,则Tc加一,否则;● 如果Te小于EBS,则Te加一,否则;● Tc或Te都不增加。
当大小为B比特的数据包在时间t到达时,那么在色盲操作模式下将发生● 如果Tc(t)-B>=0,则数据包是绿色的并且将Tc的值朝最小值0的方向减少B,否则;● 如果Te(t)-B>=0,则数据包是黄色的并且将Te的值朝最小值0的方向减少B,否则;● 数据包为红色并且Tc或Te都不减少。
当大小为B比特的数据包在时间t到达时,那么在色识操作模式下将发生● 如果数据包已经被标识为绿色并且Tc(t)-B>=0,则数据包是绿色的并且将Tc的值朝最小值0的方向减少B,否则;● 如果数据包已经被标识为绿色或者黄色并且Te(t)-B>=0,则数据包是黄色的并且将Te的值朝最小值0的方向减少B,否则;● 数据包为红色并且Tc或Te都不减少。
如上所述,在本例中,每个数据包流都是由两个漏桶控制的,他们的更新(增加或者减少)取决于这两个漏桶的状态。特别是,是否更新漏桶E取决于漏桶C的状态和漏桶E本身的状态。上述专利中所描述的通用结构不能用于实现需要多重警管引擎来处理每个数据包流的算法,其中一个警管引擎的更新算法是另一个警管引擎等的更新算法的函数。
根据本发明的另一方面,每个警管引擎的更新函数都包括贷方更新和借方更新。一个警管引擎的贷方更新是该对中另一个警管引擎贷方更新的函数,这里,这个函数也可以使它们相互无关。每个警管引擎的借方更新是建立在组合模块判决的基础上的。
根据本发明的另一个方面,本发明的目的在于提供一种警管包括一系列的数据包的电信业务量的警管设备。该警管设备中包括至少一对警管引擎模块来处理数据包,每个警管引擎模块包括一个确认单元来产生已处理数据包的确认结果,以及一个贷方单元和一个借方单元。该设备还包括一个选择模块来将接收到的数据包发送到一对警管引擎模块中的一个或全部两个以进行并行处理;一个组合模块用于接收警管引擎模块的确认结果,以决定接收到的数据包的类别,并决定哪用一个警管引擎模块更新贷方单元和借方单元,以响应另一个警管引擎模块上的贷方单元状态进行借方更新。
根据本发明的又一个方面,本发明的目的还在于提供一种警管一系列电信数据包的方法。该方法用至少一对警管引擎来处理接收到的数据包以便进行确认。该方法根据模块确认结果的组合关系来决定对接收到的数据包采取的动作。组合关系决定要更新状态的模块。另外,一个模块的更新还取决于同一对中另外一个模块的更新。
根据本发明的一个进一步的方面,本发明涉及一个用于警管包括一系列数据包的电信业务量的警管方法。该方法的步骤包括将接收到的数据包发送到至少一对警管引擎模块进行处理,每个警管引擎模块都具有一个确认单元,一个贷方单元和一个借方单元;当接收到该对中的另一个警管引擎模块的贷方单元的指令时,更新一个警管引擎模块的贷方单元,在每个警管引擎模块中的确认单元内进行接收到的数据包的测量并产生确认结果。该方法还包括其他的步骤,用于根据同一对警管引擎模块中确认结果的组合关系产生组合判决,根据组合判决来决定接收到的数据包的类别,以及更新根据组合判决选定的警管引擎模块的借方单元。
图3所示为根据本发明的一个实施例的警管设备的示意图。
参见图3,变长数据包到达警管设备82的数据包接收电路80,并分类为业务流。流的ID、大小、到达时间和颜色(也就是说,丢下优先权由高到低为红、黄或者绿)都被送到选择功能84。与业务流相关的存储器允许选择功能为子流指定警管引擎,并且把数据包发送到在86的指定的警管引擎。数据包可能被指定到一个以上的警管引擎,但是同一个业务流的子流被分到同一个警管引擎对,这是因为他们的更新是互相依赖的,选择功能还在流的色识结构中作为数据包颜色的函数在90处直接将颜色输出到组合功能88。在色盲模式中,所有的数据包都被假设为绿色并因此而不需要颜色输出。
将数据包大小和到达时间送到每个选定的警管引擎。每个选定的警管引擎进行贷方和借方的更新。还要执行一致性检验92来决定数据包是否与警管引擎中所设置的参数一致。一致性检验结果是针对每个警管引擎计算的并被输出到组合功能88。组合功能88输出一个操作来指示数据包发送电路94,可以接收数据包(通过、绿色)、遗弃数据包(丢下),或者用红色或者黄色来标识它(标识)。
如前面所说,每个警管引擎都要执行一个更新,这个更新包括贷方更新函数96和借方更新函数98。一对中的两个警管引擎的贷方更新算法是相互依赖的,如箭头100所示。换句话说,一个引擎的贷方更新是该对中另一个引擎贷方更新的函数,在某些情况下,这个函数可能是他们之间是相互独立的。每个警管引擎的借方更新算法是组合函数的一个函数,并且能够被警管设备82中的其他警管引擎影响,而不是被同一对中的另一个警管引擎影响。例如,与业务流相关的存储器允许警管设备82来决定每个警管引擎的确认结果是如何影响该设备中另一个警管引擎的借方更新的。因此,除了一致性检验结果之外,组合功能将独立信号输出到每个选定警管引擎,这些信号表明借方更新函数(算法)是否已被执行。如果组合函数信号为肯定,那么每个警管引擎都要执行借方更新函数。
根据本发明的一个实施例,图3中所描述的结构是为执行RFC2697中的算法而设计的,其中贷方更新是在数据包到达的时候进行的,而不是周期性更新,同时一个警管引擎的贷方更新是依赖于同一对中的另一个警管引擎的贷方更新的。与业务流相关的存储器允许警管引擎对决定一对中的一个警管引擎的贷方更新是如何影响该对中另一个警管引擎的贷方更新的。图3中的数字100表明了这种依赖关系。正如本说明书前面所详细描述的,该算法使用了两个漏桶C和E。当数据包到达时,漏桶C和E的填充状态Tc和Te在贷方以如下方式更新● 如果Tc小于CBS,则Tc加一,否则;● 如果Te小于EBS,则Te加一,否则;● Tc或Te都不增加。
如前所述,两个漏桶的贷方更新算法是相互依赖的。尽管在RFC2697中记载的是周期性的,实际上,这个算法的漏桶更新是在数据包到达的时候进行的。
继续进行该实施例的说明,各漏桶C和E的确认结果Fc和Fe被送到组合功能中。输入数据包的颜色也将直接发送到组合功能中。组合功能将确认结果和输入数据包的颜色映射成一个决定,决定是否要更新每一个漏桶(C或E),以及输出数据包的颜色(绿色、黄色或红色)。
下面的表格中列出了在色盲和色识结构中每一种可能的组合得到的决定和输出颜色。表中,0表示不一致,1表示一致。借方更新函数对漏桶C和E分别由Uc和Ue表示。
在色盲工作模式中,输入数据包的颜色为绿色。由于只有两个二进制输入变量,因此,一共只有四种组合。下表中列出了更新漏桶C和漏桶E的决定。

在色识工作模式中,每个原有颜色有四种组合,并如下表所示。

以上所述的实施例都采用了RFC2697中定义的算法,RFC2697使用两个漏桶,这是因为执行了两个速率控制。也可以有多于两个速率控制的情况,其中每个控制的更新都依赖于任何另外一个。在这种情况下,在一个组中将会有多于两个的警管引擎,在组合功能中也会考虑到这种关系来设计。
在进一步的实施例中,可能有很多业务流并且需要两个或者更多的警管引擎对,而且在每对中,一个警管引擎的贷方更新将会影响另一个。还有一种可能就是一个单独的警管引擎可能通过维持多业务流的方式服务于多个业务流。在这种情况下,两个或更多的业务流将会被控制在同一速率。
除了在上面提到的RFC中描述的那些算法之外,本警管体系结构可能被配置成支持其他类型的警管算法。
权利要求
1.一种用来警管包括一系列数据包的电信业务量的警管设备包括至少一对警管引擎模块,用于处理数据包,每个警管引擎模块包括一个确认单元、一个贷方单元和一个借方单元,确认单元用于产生已处理数据包的确认结果,一个选择模块,用于将接收到的数据包发送到一对并行处理的警管引擎模块中的一个或全部两个;一个组合模块,用于接收警管引擎模块的确认结果,以便决定接收到的数据包的类别,以及哪个警管引擎模块来更新借方单元,以及一个警管引擎模块上的贷方单元,用于响应另一个警管引擎模块上的贷方单元状态进行贷方更新。
2.根据权利要求1的警管设备,其中在一对警管引擎模块中的一个模块用与另一个警管引擎模块不同的速率来处理接收到的数据包。
3.一种用来警管包括一系列数据包的电信业务量的警管设备包括至少一对警管引擎模块,用于处理数据包,每个警管引擎模块包括一个确认单元,用于根据警管引擎模块的状态来产生已处理数据包的确认结果,和一个贷方单元和一个借方单元,用于在警管引擎模块更新时调整它们的状态;一个选择模块,用于将接收到的数据包发送到一对并行处理的警管引擎模块中的一个或全部两个;以及一个组合模块,用于接收警管引擎模块的确认结果,以便决定接收到的数据包的类别,以及哪个警管引擎模块来更新借方单元,其中每个警管引擎模块的确认单元根据警管引擎模块的状态独立测量接收到的数据包,以产生确认结果;组合模块的决定是基于警管引擎模块的确认结果预设组合关系,并指示已确定的警管引擎模块的借方单元调整状态并且将接收到的数据包分类,以及一个警管引擎模块的贷方单元响应一对中另一个警管引擎模块的贷方单元进行更新。
4.根据权利要求3的警管设备,其中在一对警管引擎模块中的一个模块用与另一个警管引擎模块不同的速率来处理接收到的数据包。
5.根据权利要求4的警管设备,其中电信业务量包括多个业务流,并且接收到的数据包属于一个以上的业务流,警管设备进一步包括一对以上的警管引擎模块,每一对用来警管一个业务流;选择模块,用于接收到的数据包发送给一对以上的警管引擎模块,用于处理业务流;以及组合模块接收警管引擎模块的确认结果,以便决定接收到的数据包的类别,以及哪个警管引擎模块来进行状态的调整,其中组合模块的决定基于确认结果的组合关系。
6.一种用来警管包括一系列数据包的电信业务量的警管方法包括将接收到的数据包发送到至少一对中的一个或者全部两个警管引擎模块以进行处理,每个警管引擎模块都具有一个确认单元,贷方单元和借方单元;当由该对中的另一个警管引擎模块的贷方单元指令时,更新一个警管引擎模块的贷方单元;在每个警管引擎模块中,测量确认单元处接收到的数据包以产生确认结果;根据警管引擎模块对中确认结果的组合关系产生组合判决;根据组合判决决定接收到的数据包的类别,以及更新根据组合判决选定的警管引擎模块的借方单元。
7.根据权利要求6的警管方法,其中在一对警管引擎模块中的一个模块用与另一个警管引擎模块不同的速率来处理接收到的数据包。
8.根据权利要求7的警管方法,其中一对中的警管引擎模块相互独立的进行贷方单元的更新。
9.根据权利要求6的警管方法,其中电信业务量包括多个业务流,并且接收到的数据包属于一个以上的业务流,警管设备进一步包括将接收到的数据包发送给一对以上的警管引擎模块,每对用于以不同速率警管每个业务流。
10.根据权利要求9的警管方法,进一步包括如下步骤基于多于一对的警管引擎模块确认结果组合关系产生组合判决,以及根据组合判决决定接收到的数据包的类别。
11.根据权利要求9的警管方法,其中一对中的警管引擎模块相互独立的进行贷方单元的更新。
12.根据权利要求10的警管方法,其中每对中的警管引擎模块相互独立的进行贷方单元的更新。
全文摘要
本发明描述了一种用于警管变长数据包的电信业务量警管技术。该技术使用多个警管引擎,这些警管引擎是按对分组的。选择模块选择出进行数据包处理的警管引擎对。每个警管引擎模块包括确认单元、贷方单元和借方单元,一对中的一个贷方单元的更新影响该对中另一个贷方单元的更新。该技术还使用组合函数来决定所处理的数据包的类别,以及哪个警管引擎更新他们的借方单元。
文档编号H04Q7/20GK1472921SQ0314631
公开日2004年2月4日 申请日期2003年7月8日 优先权日2002年7月8日
发明者T·戴维斯, P·科斯蒂克, T 戴维斯, 沟倏 申请人:阿尔卡特加拿大公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1