专利名称:通信业务管理系统和方法
技术领域:
本发明一般涉及通信,并且尤其涉及通信业务的管理。
背景技术:
当在能够进行混杂的第3层通信业务管理的通信交换机或路由器上提供异步传输模式(ATM)接入时,如通信系统中常出现的情况那样,通常期望允许输出客户通信业务在第3层(典型地为因特网协议(IP))和第2层(ATM)二者上受到通信业务管理。换句话说,服务提供商可能希望对不同种类的IP业务分别进行整形(shape)或限速,并且然后与ATM业务描述符一致地整形聚集流。
然而,典型地通过也负责单元分割(cell segmentation)和重新组装的专用硬件来提供ATM业务管理,而IP业务管理可以使用与用于交换机或路由器的其它接入技术的硬件相同的硬件。因此可以在交换机或路由器的多个电路卡插槽中提供支持例如IP的各种技术的相对通用且昂贵的硬件。然后将多种廉价的介质指定或协议指定的接入技术模块中的任一个,例如线路卡,连接到通用硬件以对每个电路卡插糟提供到较低层协议的接口。因此可以利用不同的接入技术模块来使用相同的路由硬件。
在高级通信交换机或路由器中,通过使用专用硬件可以实现第3层(L3)和第2层(L2)二者上的通信业务管理,其中第3层例如针对不同的区分服务码点(DSCP,Differentiated Service Code Point)来实现不同的通信业务处理,第2层例如与ATM业务描述符一致地进行整形,所述专用硬件在单个通信装置中或在被设计成在一起工作的少量装置中组合L3和L2通信业务管理。
例如,硬件分级ATM业务管理装置支持多个级别的硬件调度判定,其首先典型地基于用于被调度ATM业务的加权循环法(weighted-round robin)或者用于被整形ATM业务的基于插槽的整形轮(shaping wheel),来判定是否应当允许给定ATM虚拟电路(VC)进行发送,并且然后基于某些类别相对其它类别的严格优先级、加权循环法或简单循环法或者上述三者的某些组合,来判定应当允许哪些构成所述VC的L3基于类别的队列进行发送。如果在分离的通信装置中从L3业务管理实现ATM业务管理,则在ATM装置中典型地存在每VC排队以及从ATM装置到L3装置的每VC背压(backpressure)机制,以在允许对应于给定VC的L3队列发送时进行管理。在后一情景中,硬件背压机制必须能够支持数千的上下文(context)上的背压,所述上下文排除了例如系统分组接口(SPI,System Packet Interface)4.2的标准总线,其限于255个背压上下文。
当预算、快速上市(time-to-market)或其它约束阻碍了专用硬件的创建时,将不被设计成在一起工作的L3和L2通信装置组合起来可能是必要的。用于被组合多层通信业务管理的现有技术没有解决将分离的业务管理装置互连的问题。在这种实现中,特定的业务管理装置典型地根本不对不同的业务管理装置提供背压。替代地,当队列超过配置的门限时,或在指示较高的总队列占用的缓冲池(buffer pool)耗尽发生的情况下,每个业务管理装置丢弃通信业务。在上述L3和ATM业务管理的例子中,当ATM业务管理装置的每VC队列填满(fill up)时,该ATM业务管理装置丢弃通信业务。这些丢弃不是L3类别感知的(class-aware),这是由于任何特定L3类别的通信业务如任何其它L3类别的通信业务那样可能被丢弃,由此有效地阻碍了L3业务管理。
已知通信业务管理技术因而要求ATM业务管理装置要么被集成到L3装置中,要么被专门设计用来与L3装置一起操作,以便保持L3业务管理的任何益处。这些技术因而不适于将ATM添加到已具有L3业务管理装置的现有通信设备中。在产品开发周期期间可能出现这种情况,该产品开发周期由于预算或快速上市约束而必须使用现有硬件装置。
因此,需要一种通信业务管理机制,该机制在不使用专用硬件的情况下,允许使用不同的业务管理装置来完成复杂的业务管理。
发明内容
本发明的实施例提供了通信业务管理机制,由此例如通过使用反馈机制来确保第3层通信装置中的业务管理器的聚集输出适合ATM通信装置中的ATM业务管理器,可以将业务管理应用于第3层和第2层。
根据本发明的一个方面,提供了一种系统用于管理采用各自的通信业务管理方案的通信业务管理装置之间的通信业务传送。所述通信业务管理装置中的第一个能够传送通信业务给该通信业务管理装置中的第二个。所述系统包括队列门限状态检测器和传送速率控制模块,所述队列门限状态检测器被配置用来确定第二通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限,所述传送速率控制模块有效地耦合到所述队列门限状态检测器。所述传送速率控制模块被配置用来基于通信业务量是否超过门限来将传送速率控制应用于第一通信业务管理装置,以控制对第二通信业务管理装置的通信业务传送速率。
在一个实施例中,所述第一通信业务管理装置是IP通信业务管理装置,而所述第二通信业务管理装置是ATM通信业务管理装置。
所述第一通信业务管理装置可以包括用于存储从至少一个通信业务源所接收的通信业务的多个队列,而所述第二通信业务管理装置可以包括用于存储从该第一通信业务管理装置的至少一个对应队列所接收的通信业务的多个队列。在这种情况下,所述队列门限状态检测器优选地被配置用来针对所述第二通信业务管理装置的至少一个中的每个,来确定该队列中当前存储的通信业务量是否超过与该队列相关联的各自的门限。所述传送速率控制模块被配置用来基于至少一个队列的每一个中所存储的通信业务量是否超过与该队列相关联的门限,来将传送速率控制应用于所述第一通信业务管理装置,以控制从所述第一通信业务管理装置的至少一个相应队列到所述第二通信业务管理装置的通信业务的传送速率。
在某些实施例中,所述第二通信业务管理装置被配置用来向队列门限状态检测器输出各个队列深度(depth),该队列深度指示了其队列的每一个中所存储的通信业务量。
所述第一和第二通信业务管理装置的多个队列可以包括用于存储具有各自优先级的通信业务的优先队列的集合。
所述队列门限状态检测器的一个可能实现是现场可编程门阵列(FPGA),该现场可编程门阵列被配置用来确定通信业务队列中当前存储的通信业务量,并且将该通信业务队列中当前存储的通信业务量与门限进行比较。
基于软件的实现也是可能的,其中,至少所述传送速率控制模块是在由处理器执行的软件中被实现的。
所述队列门限状态检测器和传送速率控制模块中的至少一个可以与第二通信业务管理装置一起被实现在用于通信设备中的电路卡上,所述通信设备包括实现所述第一通信业务管理装置的硬件。
所述队列门限状态检测器还可以被配置用来确定所述第二通信业务管理装置的多个通信业务队列中当前存储的通信业务总量,以基于该通信业务总量来调整预定门限并且将被调整预定门限用作门限。
根据某些实施例,可以为队列建立多个门限。如果存储在队列中的通信业务量超过第一门限,则可以降低对该队列通信业务传送速率,并且随后当存储在所述队列中的通信业务量低于第二门限值时,增加对该队列的通信业务传送速率。
在某些实施例中通过维持以下队列中至少一个的记录也提供了队列的优先处理(i)第二业务管理装置的队列中的每一个;以及(ii)第一业务管理装置的队列中的每一个,其中将传送速率控制应用于该第一业务管理装置以降低对第二通信装置的通信业务传送速率。在未对其应用传送速率控制以降低通信业务传送速率的队列之前,可以针对那些对其应用了传送速率控制以降低通信业务传送速率的队列中的每一个应用传送速率控制。
通过确定第二通信业务管理装置的通信业务队列的当前门限状态是否从该通信业务队列的先前门限状态而改变,传送速率控制也可以基于队列门限状态的改变。通信业务队列的门限状态指示通信业务队列中所存储的相对于门限的通信业务量。然后在第二通信业务管理装置的通信业务队列的当前门限状态从该通信业务队列的先前门限状态而改变的情况下,应用传送速率控制。
可以应用本发明的实施例来控制两个以上的通信业务管理装置之间的通信业务传送速率。例如,第一通信业务管理装置可以从第三通信业务管理装置接收通信业务。基于关于第一通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限的确定,可以对第三通信业务管理装置应用传送速率控制。
根据本发明的另一方面,提供了一种用于管理通信业务管理装置之间的通信业务传送的通信业务管理方法。所述通信业务管理装置采用各自的通信业务管理方案,并且所述通信业务管理装置中的第一个能够向该通信业务管理装置中的第二个传送通信业务。所述方法包括确定第二通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限,并且基于所述确定来将传送速率控制应用于第一通信业务管理装置,以控制对第二通信业务管理装置的通信业务传送速率。
例如,可以基本上如上面简要描述的那样执行所述确定和应用操作。本发明的其它实施例可以包括附加操作,至少包括上面描述的那些操作。
本发明的又一方面提供了一种通信业务管理方法,该方法包括从至少一个通信业务源接收通信业务;根据第一通信业务管理方案来传送所述被接收通信业务,用于根据第二通信业务管理方案进行处理;以及基于要根据所述第二通信业务管理方案而被处理的通信业务量,将传送速率控制应用于第一通信业务管理方案,以控制其它通信业务的传送速率用于根据所述第二通信业务管理方案进行处理。
通过查看下面对指定说明性实施例的描述,本发明的其它方面和特征对于本领域的技术人员来说将变得显而易见。
现在将参考附图更详细地描述本发明实施例的例子,其中图1是其中可以实现本发明实施例的通信系统的框图;图2是包括本发明实施例的通信网络单元的说明性例子的框图;以及图3是根据本发明实施例的通信业务管理方法的流程图。
具体实施例方式
图1是其中可以实现本发明实施例的通信系统的框图。图1中的通信系统10包括终端用户通信设备12、18,网络单元13、16和通信网络14。尽管终端用户设备12、18和网络单元13、16的许多安装(installation)可以被连接到通信网络14,然而为了避免拥塞,图1中仅标出了这些元件中每一个的两个例子。因此应当认识到,图1的系统以及其它图中的内容仅用于说明的目的,并且本发明决不限于附图中明确示出的以及这里描述的特定示例性实施例。
终端用户设备12、18代表被配置用来产生及发送和/或接收并终止通信业务的通信设备。尽管被示出为直接连接到网络单元13、16,然而终端用户设备12、18可以通过其它中间元件(未示出)与网络单件13、16通信是显而易见的。
交换机和路由器说明了网络单元13、16所代表的通信设备的类型。网络单元13、16提供到通信网络14的接入,并且因此出于说明的目的而在图1中被分别示出。
除边界或边缘网络单元13、16之外,通信网络14也可以包括通过网络14对通信业务进行路由的中间网络单元。
许多不同类型的终端用户、中间和网络通信设备以及其操作,对于本领域的技术人员来说是显而易见的。通常,由终端用户设备12、18以及可能地其它通信业务源所发起的、用于通过通信网络14传送给远程目的地的通信业务,由网络单元13、16来接收、如果必要的话在不同的协议或格式之间被转换并且通过通信网络14而被路由。在一个特定实施例中,尽管通信网络14是IP网络,网络单元13、16也与终端用户通信设备12、18交换ATM业务。然而,如根据下面的描述中将变得显而易见的,本发明的实施例不限于任何特定类型的通信设备、传送机制或协议。
用于例如网络单元13、16的通信网络设备的一种普通类型的安装,包括具有多个插槽的设备架(equipment rack)。如上所述,每个插槽都可以包括用于支持与通信网络14通信的通用硬件。然后在每个插槽中使用线路卡来提供介质指定或协议指定的接口。利用这种结构,在设备发生故障的情况下更容易为介质指定的模块维持备用(spare),并且可以结合各种介质指定的模块来使用基本相同的硬件核心。
如上所述,用于组合多层通信业务管理的公知技术,涉及不同技术的综合或被特别设计用来进行交互操作的定制(custom)硬件的使用。与替换网络单元13、16中的现有通用硬件以支持被组合通信业务管理相关联的成本通常不是切实可行的。即使是针对新设备的安装,成本、时间和其它约束也可能阻碍定制硬件设计。
根据这里公开的本发明的实施例,提供了避免这些缺陷的多层通信业务管理技术。
图2是包括本发明实施例的通信网络单元的说明性例子的框图。通信网络单元20包括L3业务管理(TM)装置30,该装置30被连接到L2 TM装置50和控制器70,控制器70被连接到TM装置30和50二者。
TM装置30、50中的每个都包括多个队列32-35、42-45以及52、54、62、64和调度器(scheduler)36、46和56、66。L3 TM装置30对于每个通信业务源包括两个队列,明确地是图2所示例子中的用于四个客户中的每一个的加速转发(EF,Expedited Forwarding)和尽力而为(BE,Best Effort)队列,该L3 TM装置30还包括用于两个物理端口中每一个的调度器36、46,其中通过所述端口将通信业务发送到L2 TM装置50。L2 TM装置50包括用于通过其发送通信业务的每个虚电路(VC)的一个队列52、54、62、64,以及用于两个物理端口中每一个的调度器56、66。上面的队列、VC和物理端口的数量只作为说明性的例子。本发明决不局限于此。
在图2所示的实施例中,控制器70包括队列门限状态检测器72和通信业务传送速率控制模块74。
本领域的技术人员应当认识到,网络单元可以包括比图2所示的元件更多的元件,所述元件执行除业务管理之外的其它功能。例如,可以由L3和L2通信装置来执行的TM预处理(pre-TM processing),在该L3和L2通信装置中包括L3和L2TM装置30、50。在特定示例性实施例中,尽管通信网络14是IP网络,然而网络单元13、16在ATM或同步光网络(SONET)上、例如利用SONET上的分组(POS,Packet over SONET)机制来与终端用户通信设备12、18交换业务。在这种情况下,ATM通信装置所进行的TM预处理可以包括将L3 TM装置30所输出的通信业务重新格式化为ATM信元,以存储在队列52、54、62、64中。然而由于本发明涉及业务管理,因此为了避免拥塞,图2中没有明确示出所述其它元件。本领域的技术人员将很好地理解所述和其它类型的预处理和元件的操作,其中可以通过所述元件来执行所述预处理。
在通信设备架中,可以在安装于多个插槽中的通用硬件中实现L3 TM装置30,并且可以在安装于一个或多个插槽中的线路卡上实现L2 TM装置50,如上面简要描述的那样。
根据本发明的实施例,也在线路卡上连同L2 TM装置50一起实现控制器70。这里进一步详细公开的控制器70的至少某些功能,优选地在由L2 TM装置50或L2通信装置中的处理器所执行的软件中被实现,其中在所述L2通信装置中实现了L2 TM装置50。这种处理器可以是专用处理器,或者是除TM功能之外还执行其它功能的通用处理器。
也设想了其中控制器70的功能分布在包括TM装置30、50的通信装置之间的实施例。例如,尽管实现传送速率控制模块74的软件运行在处理器上,该处理器是在与L3 TM装置30相同的卡上,然而可以在具有L2 TM装置50的线路卡上提供实现队列门限状态检测器72的硬件元件。然而应当认识到,不必进行控制器功能的特定划分。事实上,实现本发明实施例的元件的任何物理分布都是可能的。
在优选实施例中,利用现场可编程门阵列(FPGA)来实现控制器70中的队列门限状态检测器72,所述现场可编程门阵列收集要由软件处理的信息,如下面所详细描述的。也设想了利用替代或除FPGA之外的微处理器、专用集成电路(ASIC)和其它类型的处理器来实现控制器70。尽管本领域的技术人员将认识到基于软件的控制器70的实施例是可行的,然而基于FPGA的队列门限状态检测器72相对于基本上或整个实现在软件中的控制器70来说,可能稍微具有速度优势。
图2中用于输出通信业务的主要排队点是L3 TM装置30。这里,客户业务在每VC的两个队列32/33、34/35、42/43、44/45之一中被排队,这允许每类别的排队和整形。这些队列被连到每物理端口调度器36、46上,所述调度器根据L3 TM方案来服务于队列。例如,调度器36、46可以以循环法(round-robin)方式来服务于还未超过其各自被配置传送速率的队列。
例如以分组形式的通信业务,由调度器36、46从L3 TM装置30发送并且由L2 TM装置50接收。被接收通信业务被重新格式化为ATM信元并经受进一步的TM预处理,并且然后在每VC队列52、54、62、64中被排队。如本领域的技术人员将知道的,这些队列的服务是由ATM服务类别和业务描述符参数来确定的。当来自L3 TM装置30的通信业务速率超过输出速率时,每VC的队列52、54、62、64就填满,其中所述输出速率是从L2 TM装置50朝向与通信介质相连的物理层装置的。
控制器70中的队列门限状态检测器72被配置用来确定L2 TM装置50中的每VC队列52、54、62、64相对于各个队列门限的深度。所述队列深度的确定可能涉及例如查询L2 TM装置50。包括L2 TM装置的某些商用ATM通信装置,在专用总线上输出每VC队列52、54、62、64的深度。例如,L2 TM装置50可以为每个队列输出绝对队列深度,或者相对于被配置最大值的队列深度。例如可以在每次L2 TM装置50接收或发送通信业务时提供这种队列深度输出。在这种情况下,输出队列深度信息可以由控制器70中的队列门限状态检测器72来监控。
根据本发明的实施例,L2 TM装置50向用于实现队列门限状态检测器72的FPGA输出对深度。利用用于队列52、54、62、64的一个或多个中每一个的各个每VC门限来对FPGA进行编程。每个队列可以具有不同的相应门限,或者相同的门限可能被用于多个队列。FPGA优选地记录并维持每VC队列中每一个的门限状态,并且使该状态可用于控制软件。可以用多种格式中的任一种来维持队列门限状态信息。例如,FPGA可以维持仅超过其门限的队列的列表,或者更新用于所有每VC队列的列表中每个队列的深度或门限状态指示符。
控制器70的传送速率控制模块74例如通过针对队列门限状态信息而轮询(poll)队列门限状态检测器72,来周期性地确定每VC队列的门限状态。如果传送速率控制模块74确定给定的每VC队列超过其门限,则将速率控制应用于L3 TM装置30以禁止相应的一个或多个L3队列。通过生成指定要禁止哪些L3队列的单个控制信号或用于控制L3队列中每一个的各个控制信号,可以实现这种对从L3 TM装置30到L2 TM装置50的通信业务传送速率的控制。例如当被实现在软件中时,传送速率控制模块74可以通过写入L3 TM装置30上的寄存器来控制L3队列。在这种情况下,传送速率控制模块74控制L3队列而无需向L3 TM装置30输出控制信号。
尽管禁止队列可以继续接收并存储通信业务,然而该禁止队列不再向其调度器36、46发送通信业务。调度器36、46中可以支持该功能性,在该情况下,调度器36、46负责来自控制器70的速率控制,以停止从队列32-35、42-45中读取通信业务以及向L2 TM装置50发送业务。在某些实施例中,响应于控制器70所应用的速率控制而降低或减少队列或调度器的输出速率。这允许降低TM装置30、50之间所传送的通信业务的速率,而不是完全停止通信业务流。
禁止队列或者减少通信业务输出速率,允许L2 TM装置50中的每VC队列消耗,并且可能致使L3 TM装置30中的通信业务累积。当L2 TM装置50中的队列深度回到低于其门限时,L3 TM装置30上的任何相应的禁止队列都被重新启动。通过这种方式,尽管L2队列中的通信业务的特定混合,以及因此在L2 TM装置被实现在ATM装置中的情况下在VC上的通信业务的特定混合,是通过L3TM装置30中的L3通信业务管理参数来确定的,然而给定VC上的通信业务的输出是通过在L2 TM装置50中被编程的、说明性地是ATM业务参数的业务参数而被确定的。控制器70允许L2 TM装置50结合L3 TM装置30而被使用,而不考虑L2 TM装置50是否使用背压机制,或者更一般地是否使用输入通信业务传送速率控制机制,所述机制与L3 TM装置30的通信业务管理策略是不一致的。
如上所述的控制器70的操作也有效地使L2 TM装置50基本上是无损的(lossless)。由于队列累积所造成的业务丢失主要发生在L3 TM装置30上,而不是L2 TM装置50,这因而实现了基于类别的业务丢弃以及丢弃统计。
本领域的技术人员应当认识到,硬件比软件运行的更快。因此,用于队列门限状态的软件轮询关于L3和L2 TM装置30、50之间的通信业务传送速率而言相对较慢,并且相应地每VC队列门限优选地保持相对较大。然而,在从L3 TM装置30中调度出高优先级业务但然后将其置于L2 TM装置50中的低优先级业务之后的较长每VC队列中的情况下,为了防止线头阻塞问题,可以在L2 TM装置50中为每个VC提供多个队列。
在图2中,例如,输入IP业务具有两个类别或优先级,BE和EF,它们在L3 TM装置30中被分别排队。然后也可以在L2 TM装置50上提供每VC的两个队列,同时来自L3 TM装置30的通信业务在L3 TM装置30上被标记其优先级并且在L2 TM装置50处在正确的队列中被排队。然后可以根据严格优先级的调度或另一个基于优先级的调度方案,来控制L2 TM装置50上的每个VC的多个队列。
本发明的另一个实施例为L2 TM装置50上的任一或所有每VC队列规定了可变队列门限。如上所述,控制器70监控L2 TM装置50中的队列深度,以确定是否超过相应的队列门限。在某些情况下,可能期望改变与L2 TM装置50的队列中的一个或多个相关联的门限。例如,通常优选地在队列52、54、62、64中存储通信业务,以便L2 TM装置50总是有要发送的通信业务。因此,如果所有队列深度的总数低于门限,或者等同地如果剩余的总队列容量在门限之上,则可能增加队列门限,由此可能增加传送自L3 TM装置30的通信业务的速率,以防止L2 TM装置50用完通信业务。例如,较高的门限可能导致再继续(resume)通信业务的正常传送速率的禁止或受限L3队列。
可以用各种方式中的任一种来确定总队列深度或剩余容量,如单独的队列深度。在所有每VC队列从公头缓冲池获得存储资源的情况下,控制器70的队列门限状态检测器72可以向L2 TM装置50查询缓冲器深度或剩余容量,或者L2TM装置50可以输出缓冲器深度或剩余容量的指示。可以通过累加所有队列深度或剩余容量,来计算总队列深度或剩余容量。基于总深度或剩余容量,可以改变每VC队列中一个或多个门限。
根据一个实施例,支持控制器70的功能的控制软件维持一种表,该表将总队列深度或剩余容量例如作为总队列容量的百分数而映射到相应的门限调整因子,所述因子乘以队列的相应门限以计算被调整的队列门限。
然后将被调整门限与队列深度进行比较,以确定是否应当停止或减少或者可选地再继续来自L3 TM装置30队列的通信业务流。尽管在较低的总队列深度时,大于1的门限调整因子可以被用于增加门限以防止队列底面通过(underrun),然而在较高的总队列深度时,门限调整因子1可以被用于维持预定的队列门限。可选地,期望的最大队列门限可以针对较低的总占用条件被来被设置,并且当总队列深度或缓冲器占用增加时,利用小于1的调整因子来向下调整该期望的最大门限。总队列深度或剩余容量级别以及用于队列门限调整的乘数,是基于期望的或需要的通信业务特性或参数而被建立的,例如相对的输入和输出通信业务速率。
可以将可变门限应用于L2 TM装置50中的任一或所有每VC队列52、54、62、64。根据一个可能的方案,基于每个物理端口来应用可变门限。在图2中,可以根据队列的总占用级别来增加或减少针对一个物理端口对业务进行排队的队列52、54的门限。
当L3 TM装置30中的相应队列已经被禁止或被减速(throttle)时,可以被提供用来降低L2 TM装置50中的队列消耗的可能性的另一个可选特性,涉及背压队列的优选处理。通常,相对于在相应L2队列超出其门限时确保关闭L3队列而言,确保在相应的L2队列耗尽之前开启L3队列更为关键。
为此,控制器70以及优选地传送速率控制模块74可以维持针对其而禁止或减速相应的L3队列的队列52、54、62、64中任何一个的记录,并且首先针对那些队列执行传送速率控制操作。例如,这可以通过以下操作来完成维持针对其而将背压应用于相应L3队列的L2队列或VC的列表,并且首先针对列表中的队列执行传送速率控制操作,然后对其它队列执行该操作。还可以维持已经或还未对其应用背压的L2队列或VC的两个各自的列表。背压的记录可以指示已经或还未对其应用背压的L3队列,同时传送速率控制模块74因而确定要给出优先级的相应的L2队列。
也可以减少关TM装置的资源的传送速率控制处理的影响。因此,在一些实施例中,传送速率控制模块74保持跟踪给定L2队列、VC或L3队列的最后状态。如果队列或VC的状态没有改变,例如如果L2队列在传送速率控制操作的先前迭代期间低于其门限并且现在仍低于该门限,则传送速率控制模块74无需与L3 TM装置30通信。通过这种方式,传送速率控制除了其门限状态外还取决于队列状态的改变。
如上所述,可以响应于下游TM装置中的相应队列的深度超过了门限,来禁止或减速上游TM装置中的队列。也设想了多个门限实现。例如,可以针对不同的队列深度来应用不同级别的减速。当相应的L2队列达到连续的门限时,L3队列的传送速率可以被减少至不同的程度,并且当L2队列达到预定的最大深度时,禁止L3队列的传送速率。
另一个多门限的可能应用是建立两个门限,对每个L2队列建立一个高门限和一个低门限。如果队列的深度高于该队列的高门限,则应用背压来降低该队列的通信业务传送速率。队列因而被允许在增加或恢复传送速率之前消耗至其低门限之下。只要队列深度保持在所述门限之间,就优选地不改变通信传送速率。这种方案在逐渐减速或关闭(turn down)及开启(turn up)L3队列、而不是禁止L3队列的系统中会运行得特别好。在一个实施例中,来自L3 TM装置的传送速率匹配于来自L2 TM装置的传送速率,并且每个L2队列保持在由高和低门限所限定的优选队列深度范围内,而不应用传送速率控制。
通过有效地启动或禁止由控制器70对L3 TM装置30上的队列或调度器所进行的控制,上述操作的其它可能变型包括选择性背压。例如可以基于每物理端口或每VC来启动或禁止背压。
传送速率控制还可能或替代地是组指定的,例如端口指定或类别指定。例如,虚拟缓冲池,包括按需要被动态分配给L2队列以存储输入通信业务的缓冲器,可以被维持并且被用来背压L3队列。对一些应用来说,包括每端口通信业务隔离,期望限制通信业务的特定组所使用的可用缓冲器的总数量中的缓冲器数量。例如,可以基于业务的端口或类别,或者业务的端口和类别的组合来定义所述组。
然后可以监控L2虚拟缓冲池中所使用的缓冲器的数量,并且当组超过其被允许的缓冲用量时,作为基于硬件的背压信号,背压被应用于上游L3业务管理装置。L3业务管理装置因而能够根据所述特定组的L3业务管理配置文件(profile)来丢弃业务。
在一个实现中,由图2的系统20中的控制器70来处理虚拟缓冲池的维护,可能地由被用于实现队列门限状态检测器的FPGA来处理。上述用于确定队列深度的技术中的任一种都可以同样用于确定虚拟缓冲池的大小。例如,不论何时L2 TM装置50接收并排队或者出列并发送与特定组相关联的业务,该L2 TM装置50都可以向控制器70输出指示L2队列当前使用多少缓冲器来存储该特定组的业务的信息。L2 TM装置50还可以向所述组的控制器70通知例如与所述业务相关联的物理端口。可选地,控制器70可以基于单独的队列深度或其它信息来执行计算,以维持虚拟缓冲池。
控制器70由此维持用于每个组的缓冲器数量的计数,或者更一般地是针对每个组所存储的通信业务量。也通过每个组的虚拟缓冲池门限来对控制器70或者可能地队列门限状态检测器72进行编程。当用于组的缓冲器数量超过被配置门限时,控制器70将传送速率控制应用于L3 TM装置30。这致使L3 TM装置30中的一个或多个队列或调度器停止发送。当L3 TM装置30中的队列增加时,它们可以开始丢弃。然而,现在可以基于L3 TM判定来进行这些丢弃。如上所述,尽管L2 TM装置上的丢弃和统计不是类别感知的(class-aware),然而L3T装置上的丢弃和丢弃统计可以是类别感知的。一般地,当用于虚拟缓冲池的缓冲量被超出时,支持虚拟缓冲池的L2 TM装置会丢弃通信业务。丢弃机制包括早期分组丢弃(EPD)/部分分组丢弃(PPD)和/或加权随机早期检测(WRED)。
控制器70可以以不同方式处理基于队列和基于虚拟缓冲池的传送速率控制。在一个实施例中,尽管组指定的背压利用例如也检测队列门限的检测器72中的FPGA而被实现在硬件中,然而传送速率控制模块74被实现在软件中并且基于队列深度来应用传送速率控制,例如通过写入L3 TM装置30中的寄存器。其它指定实现对于本领域的技术人员来说是显而易见的。
通过保持跟踪用于说明性地是每物理端口的每个组的缓冲器数量,来提供端口隔离。来自一个物理端口的业务不能消耗L2 TM装置50中所有可用的缓冲器。同样,可以为物理端口有效保证一定数量的缓冲器。
尽管上面的描述涉及维持用于物理端口的缓冲器的数量计数,然而普通的情况应用于针对虚拟缓冲池的一个或多个集合保持跟踪L2 TM装置中的缓冲器数量。这些虚拟缓冲池可以对应于物理端口、特定类别或任何其它分组。背压因而可以针对相应的组/池而被应用于L3 TM装置。
上面已经详细描述了提供用于管理通信业务管理装置之间的通信业务传送的系统的本发明的各种实施例。本发明还提供通信业务管理方法。图3是根据本发明另一实施例的业务管理方法的流程图。
图3的通信业务管理方法80开始于81,其中在TM装置上接收并排队通信业务。为了清楚起见,在81所指示的操作涉及在低层TM装置上执行的通信业务接收并排队的操作,所述低层TM装置说明性地是图2的L2 TM装置50。
所述方法继续到82,其中为一个或多个队列确定队列门限状态,所接收的通信业务被存储在所述一个或多个队列中。基于队列门限状态来应用用于控制到TM装置的通信业务传送速率控制的传送速率控制。
所述传送速率控制取决于任何或每个特定队列的深度是否超过该队列各自的门限。如在84所示,如果队列的深度超过该队列的门限,则在86向从其接收通信业务的“上游”TM装置应用背压。这禁止或减速了从上游TM装置中的特定相应队列传送给TM装置的通信业务。可选地,如果队列深度没有超过队列门限,则在88应用传送速率控制来增加或恢复来自上游TM装置中的相应队列的通信业务传送速率。
应当认识到,如图3中所示的方法80代表本发明的一个实施例,并且根据其它实施例的方法可能包括比明确示出的更少或更多的操作,该操作可以以不同的顺序被执行。
例如,尽管在图3中作为顺序操作而示出了在81和82的操作,然而当执行在82-88的通信业务控制操作时,TM装置可以继续如81所示的接收并排队通信业务。例如,可以在82周期性地监控队列,而无需中断通信业务接收。
根据本发明实施例的方法还可以包括附加的操作和特性,例如可变队列门限、背压队列的优选处理、基于状态改变的控制、多个门限以及优先级排队,上面就通信业务管理系统而对其进行了详细描述。
因此,如这里公开的本发明的实施例规定了利用可用装置而不是专用硬件的复杂的L3通信业务管理,以及例如与ATM TM 4.1一致的通信业务整形。在一些实施例中也提供了VC隔离,以便尽管通过L3通信业务管理策略来管理所述VC内的通信业务优先级,然而仅通过ATM业务描述符来管理ATM端口上的每个客户的通信业务输出。
已经描述的内容仅说明了本发明原理的应用。本领域的技术人员可以在不脱离本发明范围的情况下实现其它安排和方法。
例如,对于超过或越过门限的参考不应当被解释成表示严格地“大于”门限确定。当例如队列深度或缓冲器占用的关联参数达到或超过门限时,可以认为超过所述门限。因此,等于其门限的参数可以或不可以被认为是超过该门限,这取决于设计喜好。
应当认识到,包括通信设备中的本发明实施例的通信装置的实现,不必排除同一通信设备中的其它类型通信设备的实现。例如,如上所述,可以在通信设备的多个插槽中提供基本相同的硬件。设想安装在一些插槽中的线路卡可以包括本发明的实施例,而安装在其它插槽中的线路卡不能包括本发明的实施例。
本发明的实施例还可能地应用于除IP和ATM或第3层和第2层之外的业务管理装置。上面对IP/ATM和第3层/第2层的参考只是出于说明的目的。
另外,尽管主要就方法和系统进行了描述,然而也可以设想本发明的其它实现,例如存储在机器可读介质上的指令。
还可以在业务管理装置从不止一个其它业务管理装置接收通信业务的情况下实现本发明的实施例。这里公开的反馈机制可应用于从其接收通信业务的任一或所有其它业务管理装置。
也可以设想将这里公开的本发明实施例扩展至具有三个或更多业务管理装置的系统。例如,防火墙型的通信装置可以通过使用三个业务管理装置并且在它们之间实现一个或多个软件反馈环路,来执行每应用/每类别/每VC的业务管理。
可以将本发明实施例的另一个可能实现与单个装置相结合,在所述装置中将各种业务管理机制应用于通信业务。这样,传送速率控制可以应用于控制第一业务管理方案,以及由此控制通信业务传送速率用于根据第二业务管理方案进行处理。因此,尽管上述本发明的实施例是利用两个分离的业务管理装置来被实现的,然而这里公开的技术并不限于在分离的物理设备之间、以任何特定方式划分业务管理功能的情况。本发明的实施例可以被用于实现可以在或不必在分离的业务管理装置中被实现的不同业务管理方案的互操作。因此,这里对业务管理装置的参考应该被相应地解释成包括不同物理装置或可能地单个装置中的各种业务管理方案的实现。
也应该对周期性地执行操作的参考进行非限制性的解释。周期性的操作可以(但不必)以规则的、固定的时间间隔来被执行。
权利要求
1.一种用于管理通信业务管理装置之间的通信业务传送的系统,所述通信业务管理装置采用各自的通信业务管理方案,所述通信业务管理装置中的第一个能够向该通信业务管理装置中的第二个传送通信业务,所述系统包括队列门限状态检测器,其被配置用来确定所述第二通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限;以及传送速率控制模块,其有效地耦合到所述队列门限状态检测器,并且被配置用来基于所述通信业务量是否超过门限而将传输速率控制应用于所述第一通信业务管理装置,以控制到所述第二通信业务管理装置的通信业务传送速率。
2.根据权利要求1的系统,其中,所述第一通信业务管理装置包括因特网协议通信业务管理装置,并且其中,所述第二通信业务管理装置包括异步传输模式通信业务管理装置。
3.根据权利要求2的系统,其中所述因特网协议通信业务管理装置包括用于存储从至少一个通信业务源所接收的通信业务的多个队列;所述异步传输模式通信业务管理装置包括用于存储从所述因特网协议通信业务管理装置的多个队列中的至少一个相应队列所接收的通信业务的多个队列,用于在各个虚拟电路上传输;所述队列门限状态检测器可以被配置用来通过针对所述异步传输模式通信业务管理装置的多个队列的至少一个中的每个来确定所述队列中当前存储的通信业务量是否超过与该队列相关联的各自的门限,确定所述第二通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限;以及所述传送速率控制模块可以被配置用来基于所述至少一个队列的每一个中所存储的通信业务量是否超过与该队列相关联的门限,将传送速率控制应用于所述因特网协议通信业务管理装置,以控制从所述因特网协议通信业务管理装置的多个队列中的至少一个相应队列到所述异步传输模式通信业务管理装置的通信业务的传送速率。
4.根据权利要求3的系统,其中,所述异步传输模式通信业务管理装置可以被配置用来向所述队列门限状态检测器输出各个队列深度,所述队列深度指示了所述多个队列中所存储的通信业务量。
5.根据权利要求3或4的系统,其中所述因特网协议通信业务管理装置的多个队列包括用于存储通信业务的优先级队列的各个集合,其中所述通信业务接收自各个通信业务源并且具有各自的优先级;以及所述异步传输模式通信业务管理装置的多个队列包括用于存储通信业务的优先级队列的各个集合,其中所述通信业务接收自所述因特网协议通信业务管理装置用于在各个虚拟电路上传输并且具有各自的优先级。
6.根据权利要求1或2的系统,其中,所述队列门限状态检测器包括现场可编程门阵列,该现场可编程门阵列可以被配置用来确定所述通信业务队列中当前存储的通信业务量,并且将该通信业务队列中当前存储的通信业务量与所述门限进行比较。
7.根据权利要求1-4中任一个的系统,其中,至少所述传送速率控制模块被实现在由处理器执行的软件中。
8.根据权利要求1-4中任一个的系统,其中,所述队列门限状态检测器和传送速率控制模块中的至少一个,与所述第二通信业务管理装置一起被实现在用于通信设备的线路卡上,所述通信设备包括实现所述第一通信业务管理装置的硬件。
9.根据权利要求1或2的系统,其中,所述队列门限状态检测器还被配置用来确定所述第二通信业务管理装置的多个通信业务队列中当前存储的通信业务总量,所述多个通信业务队列包括所述通信业务队列,以基于所述通信业务总量来调整预定的门限并且将所调整的预定门限用作所述门限。
10.根据权利要求1或2的系统,其中所述门限是与所述队列相关联的多个门限中的第一门限;所述队列门限状态检测器还被配置用来确定所述队列中当前存储的通信业务量是否低于所述多个门限中的第二门限;以及所述传送速率控制模块被配置用来在所述通信业务量超过所述第一门限的情况下,应用传送速率控制来降低通信业务的传送速率,并且随后在所述通信业务量低于所述第二门限的情况下,应用传送速率控制来增加通信业务的传送速率。
11.一种用于通信网络的通信网络单元,所述通信网络单元包括根据权利要求1-4中任一个的系统;所述第一通信业务管理装置;以及所述第二通信业务管理装置。
12.一种用于管理通信业务管理装置之间的通信业务传送的通信业务管理方法,所述通信业务管理装置采用各自的通信业务管理方案,所述通信业务管理装置中的第一个能够向该通信业务管理装置中的第二介传送通信业务,所述方法包括下列步骤确定所述第二通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过门限;以及基于所述确定而将传送速率控制应用于所述第一通信业务管理装置,以控制到所述第二通信业务管理装置的通信业务传送速率。
13.根据权利要求12的方法,其中,所述第一通信业务管理装置包括因特网协议通信业务管理装置,并且其中,所述第二通信业务管理装置包括异步传输模式通信业务管理装置。
14.根据权利要求12或13的方法,其中所述通信业务管理装置中的每一个都包括多个队列,所述第二业务通信业务管理装置的多个队列用于存储从所述第一通信业务管理装置的多个队列中的至少一个相应队列所接收的通信业务;所述确定包括针对所述第二通信业务管理装置的多个队列的至少一个中的每个,来确定所述队列中当前存储的通信业务量是否超过与该队列相关联的各自的门限;以及所述应用包括基于所述至少一个队列的每一个中所存储的通信业务量是否超过与该队列相关联的门限,来将传送速率控制应用于所述第一通信业务管理装置,以控制从所述第一通信业务管理装置的多个队列中的至少一个相应队列到所述第二通信业务管理装置的通信业务传送速率。
15.根据权利要求14的方法,其中,所述确定还包括从所述第二通信业务管理装置接收各个队列深度,所述队列深度指示了所述多个队列中所存储的通信业务量。
16.根据权利要求14的方法,还包括维持下列队列中的至少一个的记录(i)所述第二业务管理装置的队列中的每一个,以及(ii)所述第一业务管理装置的队列中的每一个,其中对该第一业务管理装置应用传送速率控制以降低到所述第二通信装置的通信业务传送速率;以及在未对其应用传送速率控制以降低通信业务传送速率的队列之前,针对对其应用了传送速率控制以降低通信业务传送速率的队列中的每一个而至少执行所述应用操作。
17.根据权利要求12或13的方法,在用于通信设备中的、包括所述第二通信业务管理装置的线路卡中至少部分地实现所述方法,所述通信设备包括实现所述第一通信业务管理装置的硬件。
18.根据权利要求12或13的方法,其中,所述确定包括确定所述第二通信业务管理装置的多个通信业务队列中当前存储的通信业务总量,其中所述多个通信业务队列包括所述通信业务队列;基于所述通信业务的总量来调整预定的门限;以及确定所述通信业务队列中当前存储的通信业务量是否超过所述被调整的预定门限。
19.根据权利要求12或13的方法,其中所述确定包括确定所述第二通信业务管理装置的一组通信业务队列中当前存储的通信业务总量,其中所述通信业务队列组包括所述通信业务队列,并且确定所述通信业务的总量是否超过与该通信业务队列组相关联的门限;以及其中,所述应用包括基于所述通信业务总量是否超过与所述通信业务队列组相关联的门限,来将传送速率控制应用于所述第一通信业务管理装置,以控制到该通信业务队列组的通信业务传送速率。
20.根据权利要求12或13的方法,还包括下列步骤确定所述第二通信业务管理装置的通信业务队列的当前门限状态是否从先前的通信业务队列门限状态而改变,所述通信业务队列的门限状态指示了所述通信业务队列中所存储的、相对于所述门限的通信业务量,其中,所述应用包括在所述第二通信业务管理装置的通信业务队列的当前门限状态从所述通信业务队列的先前门限状态而改变的情况下,将传送速率控制应用于所述第一通信业务管理装置。
21.根据权利要求12或13的方法,其中所述第一通信业务管理装置能够从第三通信业务管理装置接收通信业务,所述方法还包括下列步骤确定所述第一通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过第二门限;以及基于关于所述第一通信业务管理装置的通信业务队列中当前存储的通信业务量是否超过所述第二门限的所述确定,来将传送速率控制应用于所述第三通信业务管理装置,以控制从该第三通信业务管理装置到所述第一通信业务管理装置的通信业务传送速率。
22.一种存储指令的机器可读介质,当执行所述指令时实现根据权利要求12或13的方法。
23.一种通信业务管理方法,该方法包括下列步骤从至少一个通信业务源接收通信业务;根据第一通信业务管理方案来传送所述被接收通信业务,用于根据第二通信业务管理方案进行处理;以及基于要根据所述第二通信业务管理方案来处理的被传送通信业务量,将传送速率控制应用于所述第一通信业务管理方案,以控制其它通信业务的传送速率用于根据所述第二通信业务管理方案进行处理。
全文摘要
公开了通信业务管理系统和方法。例如通过将队列的深度与相应的门限进行比较,来确定能够从第一通信业务管理装置接收通信业务的第二通信业务管理装置的通信业务队列的门限状态。基于门限状态来控制到第二装置的通信业务的传送速率,以及可能地从第一装置的相应队列到第二装置的特定队列的通信业务传送速率。来自第二装置的队列的通信业务的传输因而可以依据一个通信业务管理方案,而依据由第一装置用来从其队列传送通信业务的另一个通信业务管理方案,来控制第二装置的每个队列的内容,由此规定了复杂的组合通信业务管理。
文档编号H04L29/02GK1819577SQ20061000899
公开日2006年8月16日 申请日期2006年1月24日 优先权日2005年1月24日
发明者N·D·哈特, P·T·孔德拉特, D·M·哈维, S·皮尔巴伊, S·麦卡利斯特, M·A·L·斯莫尔伍德 申请人:阿尔卡特公司