专利名称:用于电信网络节点的分组交换系统的制作方法
技术领域:
本发明属于电信网络领域,并且涉及网络节点中所使用的交换系统。
背景技术:
本发明更特别地涉及能够处理组织成分组的数据(分组交换)的交换系统。其还涉及所谓的“多服务”交换系统,即能够实现分组交换,以及处理以其它的传输格式(电路交换)所组织的数据,典型地以诸如那些遵照SDH或SONET协议,又或者ODU(“光数据单元”)的时分复用(“TDM”)所组织的数据。
术语“分组”在这里意味着根据将要传输的信息数据(“有效负载”)的预置格式而组合的任何一组数据,以及包含于例如报头中的辅助数据。报头特别地含有对分组的目的地以及一般服务质量等级的指示。指示可以是明确的目的地址或者是代表该目的地的“标记”。最常见的分组格式包括大小可变的IP(网际协议)、MPLS或以太网分组,以及大小固定的ATM信元。
可以回想到网络包括由传输链路互连的多个节点。节点经常连接到几个其它的节点,并且因而合并路由链路,以根据数据相应的目的地将接收于上游链路的信号所携带的数据选择性地交换到其它的下游链路。一些节点具有能够将数据引入网络或者从网络提取数据的访问功能。
为了实现路由功能,节点被配备了交换系统,或者更简单地,“交换机”。交换系统包括一方面通过上游链路连接到用户站或其它节点的许多输入端口,以及另一方面通过下游链路连接到其它用户站或其它节点的接收机的许多输出端口。通常,交换系统的功能是选择性地根据通过其各种输入端口所接收的数据流的相应的目的地,将该数据流交换到分配给这些目的地的输出端口。
交换系统的基本任务是冲突管理,即数据交换的固定检查,以便将大量接收到的运往单个输出端口的数据在不同的时间引导至该端口。系统的性能由其带宽,即在不丢失数据的情况下系统可以平均交换的总的二进制数据输出来评估。
图1示意性地表示交换系统的典型结构。该系统包括由中央控制器2操纵的交换矩阵1、分别由输入控制器IC1、IC2、ICi、ICm操纵的多个输入模块IM1、IM2、IMi、IMm,以及分别由输出控制器OC1、OC2、OCi、OCn操纵的多个输出模块OM1、OM2、OMj、OMn。输入模块通过输入端口IP1、IP2、IPi、IPm分别连接到上游链路,并且输出模块通过输出端口OP1、OP2、OPj、OPn分别连接到下游链路。每个输入端口IPi或者输出端口OPj可以“聚合”多个物理或逻辑分组传输通道。输入和输出模块还与组合了中央系统控制功能的中央控制器2协作。输入和输出模块的数目m和n经常是相等的,但根据所讨论的网络的类型和部分可能不同。
通过输入模块IMi将通过输入端口IPi接收的用于交换的数据传输到矩阵,并且根据从中央控制器2接收的指令,矩阵借助于输出模块OMi实现将该数据选择性地交换到输出端口OPj。为了交换控制信号和与选择性交换的正确运行有关的数据,每个输入模块IMi或输出模块OMj还与控制器2通信。
更确切地,每个输入模块IMi利用关联的上游链路都具有物理接口任务,并且包括存储和处理接收到的数据的装置,这些装置被设计以临时存储该数据,例如在分组的情况下,同时形成和管理分组队列。如果在网络中提供服务质量的几个等级(或者更简单地“服务等级”),则会提供许多队列并且将队列分别分配给这些等级。
通常,规划每个输入模块以构成由目的输出端口以及由服务质量等级二者所组织的许多队列。因而,这些队列中的每一个均含有前往特定的输出端口并且享有特定的服务质量等级的等待分组。如果输出模块的每一个都被提供来管理共享相同的输出端口的许多输出通道,则还会针对每个输出端口输出通道,针对每个服务质量等级来提供队列。这样组织的队列有时被称为“虚拟输出队列”或VOQ。
管理队列包括首先利用接收到的新数据来不断地插装这些队列,并且其次从这些队列提取经准许将要传送到矩阵的数据。
首先在输入模块IMi与交换矩阵1之间的数据传送,以及其次在矩阵与输出模块OMj之间的传送,通常会通过此后被称为“传送持续时间”的固定持续时间T的连续的交换周期来实现。交换还应当被设计,以便利用每个交换周期,每个输入和输出模块可以同时分别发送和接收许多分组。例如,可以规划输入模块以利用每个周期构成并且发送合并了一组分组的数据块,大小固定的每个块合并了分别与不同的输出模块关联的许多组分组,每个组包括计划给关联于该组的单个输出模块的分组。组的大小应当可编辑。如有必要,还会将其再分成分别关联于许多通道和/或许多服务等级的子组。在2005年6月29日公布的欧洲专利申请EP 1549103中更为详细地描述了该类型的交换机,该申请对应于公布为US 2005/0135350的美国申请。
为了矩阵可以实现如此传送的数据的交换,中央控制器必须特别了解该传送数据必须被矩阵交换到哪些相应的输出端口。从包含于分组报头中的目的地,并且根据预先载入路由表中的路由数据获得该交换数据。装载输入模块用于准备该交换数据并且将其传输到中央控制器,以及被传送到矩阵的相关分组。控制器然后考虑关联于分组的交换数据以便然后能够交换它。
该控制数据通常被称为“开销”,并且被添加到“相关的”信息数据用于交换。图1表示了该方面,其中相关的负载以及开销分别由空白矩形PL和阴影矩形OH表示。
在以上提及的实际的交换操作之前,分组交换系统的基本功能是这样的机制,即该机制使你在操作期间的任何时间对多少数据以及从哪些允许传送的队列进行选择。常规地,将该任务给予所谓的“仲裁”装置(“调度器”或“仲裁器”),其被提供来根据预定义的规则实现选择。
为了识别将要选择的数据,仲裁装置运行被设计以根据所选择的准则来优化数据传送的仲裁过程。在其它可能的准则中,至少必须满足这些条件-避免冲突,如已阐明的;-准许输入模块按照周期传送与一方面在每个输入模块与矩阵之间,且另一方面在矩阵与每个输出模块之间的最大传送容量一致的数据量。
此外,好的仲裁机制一般必须满足以下补充条件-以“公平”度对排队分组进行选择,即按照尽可能短的时间范围上所估计的平均传送时间公平地处理具有单个服务等级的所有分组,而不管它们经由哪些输入和/或输出端口转接,例如,通过考虑用于交换的分组到达的顺序;-根据它们各自的服务等级,给予将要提取的分组具有不同的优先权的队列;-有助于优化交换资源的使用,即最大化其带宽。
总之,仲裁机制实现可通过连续的仲裁周期执行的仲裁函数,以便对每个周期以及对每个队列,并且根据由所有的输入模块所发送的请求,确定在具有固定的传送周期T的单个交换周期内,用于从管理该队列的输入模块传送到矩阵的所接受的数据量。
如果在每个输入模块中提供几个队列,例如每服务等级和/或每通道的队列,关于数据量可以区别几个粒度级。这产生了与理解本发明的上下文有关的许多定义。
我们将相对于输入模块的“分项”分组量定义为构成由该输入模块所接收的一组分组的数据量,其具有特定的优先级并且被分配给特定的输出模块的单个输出通道。如果后者具有固定的大小,该量可以是例如许多字节或二进制字或者信元或分组。
“请求”会是这样的分项分组量的表达,其在输入模块准备传送以前等候,并且会由“需要的”分项分组量指定“请求”。
对于所有的优先级以及对于由输入和输出模块对IMi-OMj中的输出模块OMj管理的所有的输出通道,所谓的“合计”分组量通常被定义为相对于特定的输入和输出模块对IMi-OMj分项的几个量的总和。
用于输入模块IMi的以及相对于从该输入模块和特定的输出模块OMj所形成的对的“需要的”合计分组量,被定义为在该输入模块准备传送以前排队的合计分组量。
相对于特定的输入模块IMi的“接受的分项”分组量被定义为这样的分项分组量,即准许该输入模块的输入控制器ICi在单个交换周期的单个传送周期T期间传送该分项分组量。
用于输入模块IMi的以及相对于由该输入模块和特定的输出模块OMj所形成的对的“接受的合计”分组量,被定义为这样的合计分组量,即准许该输入模块的输入控制器ICi在单个交换周期的单个传送周期T期间传送该合计分组量,其与相对于从该输入模块和其它的输出模块所形成的其它对的其它接受的合计量相竞争。
不管输入模块中队列的数目和组织,我们可以在一般的仲裁机制中区别特定的仲裁函数,称为“中央仲裁函数”,该函数具有作为其特殊的任务的对于每个周期根据请求确定“接受的合计”量,该量因此是这样的分组量,即该分组量至多等于需要的合计量,限于可以在固定的传送周期T期间,一方面在每个输入模块与矩阵之间,且另一方面在矩阵与每个输出模块之间传送的最大数据量。
分别相对于每个输入模块的以及相对于每个输出模块的这些最大量分别被称为“最大输入容量”和“最大输出容量”。
一般的仲裁机制因而会包括该中央仲裁函数以及更特别地被装载以考虑与服务等级和不同的输出通道端口有关的补充限制的“分项”仲裁函数。
当然,在每输入模块仅提供单个队列的系统中,一般的仲裁机制会与中央仲裁函数相同。
本发明特别涉及这样的中央仲裁函数及其在交换系统中的使用。因此,此后仅展开此部分。此外,由于仅涉及以上所定义的合计分组量,因此今后术语“合计”将被省略并且被认为是隐含的。
本发明的一个目的是提出一种交换系统,其中设计中央仲裁函数以-遵守矩阵与输入和输出模块之间的最大传送容量,-允许关于分组的良好公平,而不管它们通过哪些输入和输出模块转接,-准许相对简单的实现,甚至是对高容量交换,并且尤其是对在处理时间上施加了严格限制的多服务交换系统。
例如,将在光纤基础设施网络(英语中的“骨干”)中普遍安装的交换系统通常必须遵守以下规范-既处理分组又处理“TDM”电路交换业务;-处理每输出端口几百个通道;-处理每个输入模块中的几千个队列。
可以用数学公式将中央仲裁函数表示为具有限制的矩阵问题的解决方案。事实上,可以将与所有的输入和输出模块对IMi、OMj有关的所有请求表示为具有m行和n列的请求矩阵,其中i行和j列处的每个元素是分组的需要量RQij,该分组是从输入模块IMi向输出模块OMj传送的候选者。图2表示在m=n=4的特殊情况下的这样的矩阵[RQij]。
仲裁函数因而包括计算相同大小的矩阵[GRij](未示出)的元素,其中在i行和j列相交处的每个元素是相对于相应的输入和输出模块对IMi、OMj的接受量GRij,接受量必须满足先前所提及的条件。
对于此类计算,可以使用常规的方法,例如Brikhoff方法。其实现然后包括例如基于微处理器使用程控运行相应的算法的常规处理装置。
因为计算接受量包括对每个周期的所有的需要量,因此该解决方案可以在公平方面获得精确的结果。然而,对于高容量交换,这需要长运行时间和/或强加资源给因此而昂贵的特高速处理装置。
为了产生高容量交换,仲裁函数的实现应当更简单。为实现这点,本发明提出了能够既顺序又并行地操作的特定的体系结构,但其在公平方面仍然是适合的。
发明内容
更确切地,本发明的目的是一种用于电信网络节点的交换系统,其包括m个输入模块和n个输出模块,每个模块与交换矩阵以及控制所述矩阵的中央控制器协作,所述系统能够通过所述矩阵,将经由所述输入模块接收的数据分组根据其各自的目的地,选择性地交换到相应的目的输出模块,与特定的一对输入和输出模块有关的分组量,其被定义为构成由该输入模块所接收的并且计划给该对的输出模块的分组的数据量,与特定的一对输入和输出模块有关的请求是被称为“需要的”量的代表,其被定义为在该输入模块中排队的分组的以及将要传送到该输出模块的候选者的量,所述中央控制器合并中央仲裁单元以便实现通过连续的仲裁周期可执行的仲裁函数,每个周期根据与所有的输入和输出模块有关的所述请求,确定被定义为分组量的称为“接受的”相应的量,其至多分别等于所述需要量,限于能够在固定的传送周期期间,一方面在每个输入模块与矩阵之间且另一方面在矩阵与每个输出模块之间传送的数据的最大量,这些最大量分别被称为“最大输入容量”和“最大输出容量”,其特征在于所有的输入和输出对都能够被分成N个单独的子组,从而使得输入模块和输出模块均不属于一对以上的单个子组,对于每个仲裁周期,所述中央仲裁单元能够激活分别关联于p个函数的p个连续的阶段,并且合并每个都能够运行所述p个函数的多个处理单元,每个函数应用于被称为“剩余需要量”、“输入容量”和“输出容量”的至少三个参数,以及相对于该对的所述最大输入和输出容量,在所述参数中,值是相对于单个对的,并且由对应于请求的需要量在所述周期的起始处分别设置,在于每个阶段由分别关联于所述子组的N个连续的步骤组成,每个步骤由所述处理单元并行地运行,以便为每对关联的子组实现以下操作-通过将关联于包括该步骤的阶段的函数应用于所述参数的值,计算所谓的“部分”接受量值(dGR),-通过从所述参数在步骤的起始处具有的每个值中减去该部分接受量值,计算所述参数的修订值,所述修订值为下一步骤提供参数值,相对于单个对的并且在完整的周期期间所计算的部分接受量值的总和,构成与该对有关的接受量,以及在于所述p个函数是这样的,即对于所述三个参数的特定的正值,对特定的阶段合成的部分接受量值>对前面的阶段所获得的合成值。
在连续的阶段以及相对于如上所定义的输入和输出模块对的子组的步骤中组织仲裁过程的举动,准许通过并行运行的、相互独立的几个处理装置来执行每个步骤,与常规的解决方案相比,其减少了处理时间。
此外,当体系结构模块化时,其具有易于升级的优点,即允许系统元素的自适应以改变到输入和输出端口的数目,而没有太多的问题,不增加处理时间。这对于产生先前所提及的多服务交换系统特别有用。实际上,通过TDM类型的单个数据矩阵的处理施加给系统同步于所施加的节奏的操作,与简单的分组交换系统相比,其对仲裁函数构成补充限制。
为了提供符合要求的公平而不管将要支持的业务类型,应当对特定的周期定义所述子组以区别于对随后的周期而定义的那些。该部署会以同样的方式使每个输入与输出模块被处理,至少在几个周期上平均。
其次,假定实际上在每个周期的结尾处,所计算的接受量确保与最大输入和输出容量一致,则根据使用上下文,可以以不同的方式设想函数。
根据遵守该条件的一个特定的实施例,每个函数由具有关联于该函数的值的除数分别除需求量、输入容量和输出容量的所述参数的所述值中的最小者而组成,分别关联于p个连续阶段的所述除数从初始值递减直到达到等于1的最终值。
这样,由于其实现基本上需要比较器和除法器电路,因此易于产生每个函数。此外,取得等于1的最终值的举动保证不会有传送容量未用过。
每个因子应当具有等于2的幂的值。这样除法器电路可以由单个移位寄存器组成。
然而,存在用于定义输入和输出模块对的子组的各种选项。尽管如此,子组的选择应当允许子组的选择尽可能均匀地在处理单元中划分仲裁函数。
因此,优选地,输入和输出模块对的子组的选择每个都会由单个数目M的输入和输出模块对组成。中央仲裁单元因此还可以包括M个处理单元,这些单元与打算同步和/或协调相应的处理单元操作的普通序列发生器协作。
本发明的其它方面以及优点在以下参照附图的描述中将变得明显。
图1如前所述示意性地表示可以使用本发明的交换系统的例子。
图2如前所述是请求的矩阵表示。
图3示意性地示出了根据本发明的中央仲裁单元。
图4表示根据实现本发明的第一方法的仲裁周期阶段的第一指数矩阵代表。
图5表示根据实现本发明的第二方法的仲裁周期阶段的第二指数矩阵代表。
图6是解释根据本发明的仲裁单元的操作的流程图。
具体实施例方式
图3示意性地表示与输入模块IM1、IM2、IMi、IMm相连的中央仲裁单元CSC的实现的例子。
仲裁单元CSC基本上包括与处理单元PU1、PU2、PUi、PUm协作的序列发生器SQ。根据所表示的例子,处理单元的数目和输入模块的数目相同,但如稍后将解释的一样,这不是仅有的可能性。
设计序列发生器SQ以将连续的仲裁周期激活到特定的节奏。该节奏理论上是固定的频率Fa,但是如果需要,它可以遵循其它的规则。
对于每个仲裁周期,序列发生器SQ激活分别关联于p个函数的p个连续的阶段。这p个函数例如由除数的不同值dx来定义,其中“x”是1和p之间且包含1和p的整数,其中每个值是特定周期的相应阶段的指示符。
根据所表示的例子,序列发生器还合并了在每个阶段期间激活N个连续的步骤的装置,每个步骤由1和N之间且包含1和N的整数“y”标识。
在每一步骤,序列发生器从存储器Mj提取(或准备)指数j,该指数j标识将关联于指数i的输入模块的输出模块,从而使得不同的处理单元实现应用于请求的规定的操作,该请求与由这些指数标识的输入和输出对IMi-OMj有关。在图上,该函数标记为j(i,y),“y”在1和N之间且包含1和N。
序列发生器还包括存储器MCO,该存储器在每一步骤更新并且存储与不同的输出模块有关的输出容量的值。标记在阶段x的步骤y的起始处将要考虑的输出模块OMj的输出容量值为COj(x,y)。在周期的起始处,即在周期的第一阶段的第一步骤的起始处,每个输出模块的输出容量会使其最大输出容量作为值。随后,在涉及该输出模块的每一步骤的结尾处,更新该容量以取得对应于“剩余”输出容量的值。
处理单元PUi每个合并能够实现p个函数的电路,该p个函数对应于每个仲裁执行周期的p个连续的阶段。
每个函数支持与单个输入和输出模块对有关的至少三个参数“需要量”RQ、“输入容量”CI和“输出容量”CO,在由序列发生器激活的每个周期的起始处设置它们相应的值。在每一步骤,将函数应用于这些参数以提供部分接受量值。然后,通过从三个参数在步骤的起始处具有的每个值中减去该部分接受量值,为下一步骤重新设置参数值。
相对于单个对的并且在单个完整的周期期间所计算的所有的部分接受量值的总和grij,因而构成与该对有关的接受量GRij。然后,将相对于每一对的该接受量GRij的值传输到相关对的每个输入模块。
在一个特定的实施例中,序列发生器SQ控制处理单元,以便给它们指示在每个阶段将要执行的函数和在每个步骤相关的输入和输出模块对,以及将由该步骤包括的输入和输出容量值。
稍后将参照图6给出该特定情况中有关顺序操作的更详细的解释。
在此之前,解释用于实现本发明的各种可能性会是有用的。为做到这点,重申图2所介绍的矩阵表示是方便的。根据该表示,矩阵[RQij]的每个元素RQij的指数对ij标识各种输入和输出模块对IMi-OMj。
在所示出的例子中,输入模块的数目m等于输出模块的数目n。我们已取m=n=4,深知实际上输入或输出模块的数目确实会大得多,例如等于32或者更多。显然,m<n的情况由列数多于行数的矩形矩阵表示,例如4列和3行。相反地,m>n情况由行数多于列数的矩形矩降表示,例如4行和3列。
本发明的一个特征包括规定将所有的输入和输出模块对IMi-OMj划分(或分割)成N个单独的子组,从而使得输入模块和输出模块均不属于一对以上的单个子组。这意味着代表矩阵被分成N个对角线或部分对角线,至接近于分别被分配给输入和输出模块的行和列的排列。
关于构成子组的输入和输出模块对的数目的选择以及因此对角线或部分对角线的元素相应的数目,适宜进行以下观察。
首先,对角线元素的数目至多≥两个数m和n。其次,为了符合要求地使用处理装置,优选地,应当及时均匀地并且在处理单元中划分仲裁函数。为此,对于输入和输出模块对的每个子组来说,由单个固定数目的对M组成是适当的。这意味着会将矩阵分成合并了单个数目的元素M的对角线或部分对角线。该结果是对角线或部分对角线的数目以及因而每个阶段的步骤通过N=m.n/M给出。
这种情况适于这样的实现,即中央仲裁单元包括M个处理单元,每个这些单元每阶段执行N个步骤。
优选的情况是每个子组对应于完整的对角线,其对应于最大平行性(maximum parallelism)。
在这种情况下,为了限制数据在单元和序列发生器之间交换,每个处理单元还应当固定不变地要么关联于单个输入模块IMi,要么关联于单个输出模块OMj。换句话说,应当保留每个处理单元PUi用于处理-关联的单个输出模块IMi所需要的并且计划给n个输出模块的量,-或者m个输入模块所需要的并且计划给单个关联的输出模块(OMj)的量。
如果m和n不相等,应当选择N≥m和n二者,并且M应当至少等于m和n两个数中的较小者,每个处理单元PUi专用于处理需要量,分别取决于m<n或m>n,其涉及关联的输入模块IMi或者关联的输出模块OMj。
该实现具有取得具有最小数目的处理单元的最大平行性的特性。
借助于与一个阶段有关的指数矩阵[ij],图4中描述了根据这些规则的第一例。矩阵的每一列逐步地包括请求的指数ij的序列,根据该请求,由关联于单个输入模块IMi的单个处理单元PUi处理图2的矩阵[RQij]和该请求。每一行因而表示在单个步骤期间由处理单元PU1-PU4平行处理的请求的指数ij。因此,形成指数矩阵[ij]的连续行从矩阵[RQij]指定相应的请求指数,其在单个周期的每个阶段的连续的步骤y=1至4期间被处理。
如果m<n,则指数矩阵将仅有m列和n行,如图4中所示,其中括号中示出了缺少的指数,在作为例子而给出的情况下,n=4并且m=3。一般而言,每阶段因此会有m个处理单元和n个步骤。
借助于另一指数矩阵[ij]在图5中描述了第二例,其中每一列包括请求的指数ij,该请求由关联于单个输出模块OMj的单个处理单元处理。
如在先前的情况下,如果m>n,则指数矩阵将仅有n列和m行,如图5中所示,其中括号中示出了缺少的指数,在作为例子而给出的情况下,n=3并且m=4。一般而言,每阶段因此会有n个处理单元和m个步骤。
然而,输入和输出模块对的子组的选择通过考虑下面的备注(remark)而遵循其它的准则。
由处理单元计算的接受量GRij通常计划给输入模块IMi,其是相应的请求RQij的源。
再者,为了简化涉及处理单元的互连,如果由输入模块创建请求RQij,则在任何情况下这都可能是有利的,即应当保留每个处理单元用于处PUi理由单个关联的输入模块IMi输出的需要量。当然,由于每个处理单元PUi仍然关联于单个输入模块IMi,因此根据图4的示图,例如,可以直接完成从每个输入模块到关联的处理单元的请求的传输以及作为接受量的回复的传输,而不需要可编辑的交换接口。
可以注意到,如果m>n,则系统会像存在m个输入模块和m个输出模块似的发挥作用,区别在于会运行与m-n个不存在的输出模块有关的虚拟步骤,以便维持处理单元的同步。
图6将用于解释仲裁单元的顺序操作。
根据将针对特定的情况所描述的示图,该操作涉及序列发生器SQ和所有的处理单元PUi,在所述特定的情况下,每个处理单元关联于相应的输入模块。图6更确切地示出了处理单元PUi如何与序列发生器SQ协作,其中,保留该处理单元用于处理与单个关联的输入模块IMi有关的需要量RQij。
此外,已选择特殊的仲裁函数作为例子。
图6以流程图的形式分组主要操作A1至A11,该主要操作A1至A11在连续的步骤和阶段期间,由关联于输入模块IMi的I′处理单元PUi顺序地实现,并且与序列发生器SQ进行数据交换。
为了便于解释,我们应当首先回想或定义所使用的记号-CIi输入模块IMi的最大输入容量;-CI“输入容量”参数,在每一步骤的结尾处修订在每一步骤的起始处所包括的该参数的值;-COj输出模块OMj的最大输出容量;-RQij对应于请求的需要量,该请求由用于将分组传送到输出模块OMj的输入模块IMi发送;-GRij响应于需要量RQij的接受量,-rqij在每一步骤的结尾处所修订的相对于IMi-OMj对的剩余需要量的值;-RQ“剩余需要量”,其在每一步骤的起始处取得在先前的步骤中所修订的剩余需要量的值rqij;-p每周期的仲裁阶段的数目;-x仲裁阶段的指示符(序号);-D与用于经过执行的阶段的仲裁函数有关的除数;-dx用于各种x阶段的除数的值;-N每仲裁阶段的步骤的数目;-y仲裁阶段中步骤的指示符(序号);-CO“输出容量”参数,在每一步骤的结尾处修订在每一步骤的起始处所包括的该参数的值;-COj(x,y)用于特定的输出模块OMj的输出容量值,以考虑作为在阶段x的步骤y的起始处的参数CO的值,在步骤的结尾处所修订的CO的值为相同阶段x的下一步骤y+1提供相同的输出模块的输出容量值;-dGR每步所计算的部分接受量;-grij与IMi-OMj对有关的并且从周期的起始计算的部分接受量值的累积;如示图上所示意性表示的,仲裁周期开始于设置操作,对于每个周期重复该操作-在A1中,将关联的输入模块IMi的最大输入容量值CIi分配给输入容量CI,-在A2中,将分别与由输入模块IMi和n个输出模块OMj所形成的n个IMi-OMj对有关的部分接受量值的累积grij设置为0。
-在A3中装载对应于请求的需要量RQij,该请求与分别从输入模块IMi向n个输出模块OMj传送的分组有关。
如果由输入模块准备请求,则相应的需要量RQij可以通过单个链路直接在每个输入模块IMi与关联的处理单元PUi之间传送,而没有通过序列发生器SQ的任何交换举动。如果由输出模块准备请求则情况不会是这样。
由对周期的特定的设置操作使仲裁周期连续。为了做到这点,通过合适的装置Mj(预加载的存储器或程控模块),序列发生器可以为每个周期标识输入和输出对IMi-OMj的连续,对于输入和输出对,必须由该周期的每个阶段的连续的步骤包括相应的请求。
如在我们的例子中,诸如PUi的每个处理单元仅处理与诸如IMi的单个关联的输入模块有关的需要量RQij,通过输出模块OMj的单个指数j的值的连续,完全可以为每个处理单元PUi标识对的连续,该连续对于每个输入模块IMi是特定的,并且因而被标记为j(i,y),“y”在1和N之间且包括1和N。相应地,对每一步骤的y,单元接收对于将要执行的步骤相关的输出模块OMj的标识符j(i,y)。
此外,通过适合的装置Md(例如预加载的存储器),序列发生器可以为每个周期标识分别关联于周期的p个连续的阶段的p个函数的连续。根据这里所描述的例子,简单地由除数D的不同值dx标识p个函数,其中“x”是1和p之间且包括1和p的整数,其标识周期的相应阶段。
序列发生器还包括存储器MCO,该存储器在每一步骤更新,并且存储与不同的输出模块OMj有关的输出容量值。对于特定的输出模块OMj,标记在阶段x的步骤y的起始处将要考虑的输出容量CO为COj(x,y)。相应地,在周期的起始处,其输出容量CO会具有值COj(1,1),该值与其最大输出容量COj一致。
仲裁周期因而继续以下设置操作-在A4中,利用需要量值RQij设置剩余需要量值rqij,需要量值RQij与对应于连续j(i,y)的第一指数j,j(i,1)的输出模块OMj有关。因此需要量RQij是对于周期的第一阶段的第一步骤将包括的剩余需要量值rqij;-在A5中,利用对于第一阶段的dx的值,即d1,设置除数D;-在A6中,利用对应于第一步骤(y=1)的值j(i,y),即利用指数j(i,1),设置指数j,并且利用对应于该相同指数j(i,1)的并且因而对应于周期的第一阶段(x=1)的第一步骤(y=1)的输出容量值COj(x,y),即利用对应于指数j(i,1)的输出模块OMj的最大输出容量COj,设置“输出容量”参数CO;-在A7中,利用在A4中设置的剩余需要容量的值rqij,即利用需要量值RQij,设置“剩余需要量”RQ。
然后通过操作A8至A10执行第一步骤-在A8中,通过将关联于第一阶段的函数,即函数dGR=Min[RQ,CI,CO]/D应用于参数RQ、CI、CO的值,计算第一部分接受量值dGR。
-在A9中,通过替换A8中由参数CO在步骤起始处具有的值所计算的部分接受量值dGR,计算“输出容量”参数CO的修订值,并且将该修订值发送到序列发生器SQ,以便在存储器MCO中更新与对于该步骤相关的输出模块OMj有关的输出容量值,并且对于相同的输出模块,其在相同阶段x的下一步骤y+1处必须被包括。
-在A10中,通过替换A8中为这些参数在步骤的起始处具有的每个值所计算的部分接受量值dGR,计算参数CI和rqij的修订值,并且通过向累积在步骤的起始处具有的值添加部分接受量值dGR,计算该累积grij的修订值。
CI的修订值成为下一步骤所包括的输入容量值CI。rqij和grij的修订值成为在涉及相同的指数对ij的下一步骤、在相同的周期中将要包括的这些参数的值。
通过使用指数j(i,x)的连续值以及在每个新步骤的起始处由序列发生器提供的输出容量COj(x,y)的连续值,在以下步骤期间重复操作A6至A10。
在执行N个步骤之后,下一阶段的过程通过向除数D分配由序列发生器提供的下一dx值(即用于第二阶段的d2),从操作A5重新开始。
重复相同的操作,直到周期的最后阶段(x=p)的下一步骤(y=N)。周期然后结束,并且处理单元PUi在A11中对每个指数j放置接受量GRij,其等于由在该相同指数j的周期期间所计算的部分接受量值的累积grij在该阶段所取的值。
然后根据相同的算法执行随后的周期。为了在输入和/或输出模块中提供符合要求的公平而不管将要支持的业务类型,应当对特定的周期定义所述子组以区别于对随后的周期而定义的那些。当然,首先由连续的周期所考虑的请求应当涉及不同的输入和/或输出模块,这样选择使得每个输入和输出模块被类似地处理,至少在几个周期上平均。
前面的描述应用于特定的情况,其中每个处理单元PUi专用于处理由单个关联的输入模块IMi所需要的量。
对于实际的实现,其足以进行以下布置-每个处理单元具有并且管理本地寄存器,该本地寄存器存储阶段指示符和对于该输入模块的最大输入容量的值,以及与由关联的输入模块和n个输出模块所形成的n个对有关的需要量和接受量,-所述序列发生器(SQ)在每一步骤的起始处,向每个处理单元提供由输出模块及其输出容量的标识符所形成的一对值,-提供每个处理单元,以在每个步骤期间向序列发生器传输输出容量的修订值,并且确定与由关联的输入模块和每个输出模块所形成的每一对有关的部分接受量值的总和。
没有详细描述的另一特定的情况是每个处理单元专用于处理计划给单个关联的输出模块的需要量。然后会规定以下供应-每个处理单元具有并且管理本地寄存器,该本地寄存器存储阶段指示符和对于该输出模块的最大输出容量的值,以及与由关联的输出模块和m个输入模块所形成的m个对有关的需要量和接受量,-序列发生器(SQ)在每一步骤的起始处,向每个处理单元提供由用于输入模块以及用于其输入容量的标识符所形成的一对值,-提供每个处理单元,以在每个步骤期间向序列发生器传输输入容量的修订值,并且确定与由关联的输出模块和每个输入模块所形成的每一对有关的部分接受量值的总和。
在两种前述的情况下,序列发生器SQ不但具有同步任务以便激活周期开始,而且分发用于执行每个周期的每个步骤所需要的数据,以及集中存储在每个步骤更新的输入或输出容量。
还存在另一种实现可能性,根据该实现可能性,序列发生器SQ不再在每个步骤行动,而是仅在每个周期的起始处行动。
根据该实现,处理单元根据环形网络而互连,该环形网络允许数据在每个单元与位于下游的相邻单元之间预定义的方向上交换。然后每个单元被提供-在每个步骤期间,向位于下游的相邻单元传输由输出模块及其修订的输出容量的标识符所形成的一对值,-在每个步骤期间,从位于上游的相邻单元接收在前面的步骤期间所修订的、由输出模块及其输出容量的标识符所形成的一对值。
根据前面的实现的一个导出变量,通过交换输入和输出任务,同样根据环形网络互连处理单元,该环形网络允许数据在每个单元与位于下游的相邻单元之间预定义的方向上交换。每个单元被提供-在每个步骤期间,向位于下游的相邻单元传输由输入模块及其修订的输入容量的标识符所形成的一对值,-在每个步骤期间,从位于上游的相邻单元接收在前面的步骤期间所修订的、由输入模块及其输入容量的标识符所形成的一对值。
对于已知的技术,这最后的两个变量具有减少用于执行仲裁函数的最大时间的优点。与此相对,它们提供了关于对连续的周期所采用的输入和输出模块对的子组选择的较小的灵活性。
如图6的A8中举例示出的,函数由具有关联于该函数的值的除数D除参数RQ、CI、CO的值中的最小者组成dGR=Min[RQ,CI,CO]/D,其中对于阶段x,D=dx。
分别关联于p个连续阶段的除数的值d1-dp从初始值<1递减直到dp的最终值等于1。
可以以各种方法选择除数的值d1-dp。例如,仿真可以搜索对交换系统计划用于的业务类型而优化的值。
实际上,除了很特殊的情况之外,可以由以下考虑产生合适的d1-dp值的选择。
首先,令人注意的是,因子的每个值应当是2的幂,因为通过二进制数的简单移位,将这些因子的除法转换成二进制表示,这涉及借助于比真正的除法器简单得多并且快得多的移位寄存器的实现。
其次,理论上通过考虑以下原因可以确定因子的初始值d1的数量级。如果我们考虑这样的情况,即m=n并且涉及输入和输出端口的业务是统一的,这样使得每个输入模块所需要的量>其最大输入容量CIi,如果最大输入容量全部具有单个的值,则接受量应当全部具有单个的值并且因此等于被m所除的最大输入容量,即CIi/m。
假定公式被使用,则所获得的第一部分接受量是dGR=CIi/d1。相应地,除数的初始值应当≥输入模块的数目m。
本发明不单限于以上所描述的实现的方法。
权利要求
1.用于电信网络节点的交换系统,所述系统包括m个输入模块(IM1、IM2、IMi、IMm)和n个输出模块(OM1、OM2、OMj、OMn),每个模块与交换矩阵以及控制所述矩阵(1)的中央控制器(2)协作,所述系统能够通过所述矩阵(1),将经由所述输入模块接收的数据分组根据其各自的目的地,选择性地交换到相应的目的输出模块,与特定的一对输入和输出模块(IMi,OMj)有关的分组量,其被定义为构成由该输入模块所接收的并且计划给该对的输出模块的分组的数据量,与特定的一对输入和输出模块有关的请求是被称为“需要的”量(RQij)的代表,其被定义为在该输入模块中排队的分组的以及将要传送到该输出模块的候选者的量,为了实现通过连续的仲裁周期可执行的仲裁函数,所述中央控制器(2)合并中央仲裁单元(CSC),根据与所有的输入和输出模块有关的所述请求(RQij),每个周期确定被定义为分组量的称为“接受的”相应的量(GRij),其至多分别等于所述需要量,限于能够在固定的传送周期期间,一方面在每个输入模块(IMi)与所述矩阵(1)之间且另一方面在所述矩阵(1)与每个输出模块(OMj)之间传送的数据的最大量,这些最大量分别被称为“最大输入容量”(CIi)和“最大输出容量”(COj),其特征在于所有的输入和输出对(IMi,OMj)都能够被分成N个单独的子组,从而使得输入模块和输出模块均不属于一对以上的单个子组,对于每个仲裁周期,所述中央仲裁单元(CSC)能够激活分别关联于p个函数的p个连续的阶段(x),并且合并每个都能够运行所述p个函数的多个处理单元(PUi),每个函数应用于被称为“剩余需要量”(RQ)、“输入容量”(CI)和“输出容量”(CO)的至少三个参数,以及相对于该对的所述最大输入和输出容量(CIi,COj),在所述参数中,值是相对于单个对的,并且由对应于请求的需要量(RQij)在所述周期的起始处分别设置,在于每个阶段由分别关联于所述子组的N个连续的步骤(y)组成,每个步骤由所述处理单元(PUi)并行地运行,以便为每对关联的子组实现以下操作-通过将关联于包括该步骤的阶段(x)的函数应用于所述参数的值,计算所谓的“部分”接受量值(dGR),-通过从所述参数在步骤的起始处具有的每个值中减去该部分接受量值(dGR),计算所述参数的修订值,所述修订值为下一步骤提供参数值,相对于单个对的并且在整个周期期间所计算的部分接收量的总和(grij),构成与该对有关的接受量(GRij),以及在于所述p个函数是这样的,即对于所述三个参数的特定的正值,对特定的阶段合成的部分接收量值>对前面的阶段所获得的合成值。
2.根据权利要求1的交换系统,其特征在于对于特定的周期所定义的所述子组,区别于对于随后的周期所定义的那些。
3.根据权利要求1和2中任何一项的交换系统,其特征在于每个函数由具有关联于该函数的值的除数(dx)分别除需要量、输入容量和输出容量的所述参数(RQ,CI,CO)的所述值中的最小者而组成,分别关联于p个连续阶段的除数的所述值(d1-dp)从初始值递减直到达到等于1的最终值(dp)。
4.根据权利要求3的交换系统,其特征在于所述除数(dx)的每个值(d1-dp)是2的幂。
5.根据权利要求3或4中任何一项的交换系统,其特征在于所述除数的所述初始值≥输入模块的数目m。
6.根据权利要求1至5中任何一项的交换系统,其特征在于所述子组每个由单个数目M的输入和输出模块对(IMi,OMj)组成,以及在于,所述中央仲裁单元(CSC)包括与普通的序列发生器(SQ)协作的M个处理单元(PUi)。
7.根据权利要求6的交换系统,其特征在于每个处理单元(PUi)专用于处理-关联的单个输入模块(IMi)所需要的并且计划给所述n个输出模块的量,-或者所述m个输入模块所需要的并且计划给单个关联的输出模块(OMj)的量。
8.根据权利要求7的交换系统,其特征在于如果m和n不相等,N等于m和n两个数中的较大者,并且M等于m和n两个数中的较小者,每个处理单元PUi专用于需要量的处理,分别取决于m是<n或者>n,其涉及关联的输入模块(IMi)或者关联的输出模块(OMj)。
9.根据权利要求7或8中任何一项的交换系统,其特征在于如果每个处理单元(PUi)通过单个关联的输入模块(IMi)专用于处理需要量-每个处理单元(PUi)具有并且管理本地寄存器,所述本地寄存器存储阶段指示符(x)和对于该输入模块(IMi)的所述最大输入容量(CIi)的值,以及与由关联的输入模块(IMi)和n个输出模块(OMj)所形成的n个对有关的需要量(RQij)和接受量(GRij),-所述序列发生器(SQ)在每一步骤(y)的起始处,向每个处理单元(PUi)提供由输出模块(OMj)及其输出容量(COj(x,y))的标识符(j(i,y))所形成的一对值,-提供每个处理单元(PUi),以在每个步骤期间向所述序列发生器(SQ)传输所述输出容量(COj)的修订值,并且确定与由关联的输入模块(IMi)和每个输出模块(OMj)所形成的每一对有关的部分接受量值(grij)的总和。
10.根据权利要求7或8中任何一项的交换系统,其特征在于如果每个处理单元(PUi)专用于处理计划给单个关联的输出模块(OMj)的需要量-每个处理单元(PUi)具有并且管理本地寄存器,所述本地寄存器存储阶段指示符(x)和对于该输出模块的所述最大输出容量(COj)的值,以及与由关联的输出模块(OMj)和m个输入模块(IMi)所形成的m个对有关的需要量(RQij)和接受量(GRij),-所述序列发生器(SQ)在每一步骤(y)的起始处,向每个处理单元(PUi)提供由输入模块(IMi)及其输入容量(CI)的标识符所形成的一对值,-提供每个处理单元(PUi),以在每个步骤期间向所述序列发生器(SQ)传输所述输入容量(CI)的修订值,并且确定与由关联的输出模块(OMj)和每个输入模块(IMi)所形成的每一对有关的部分接受量值(grij)的总和。
11.根据权利要求7或8中任何一项的交换系统,其特征在于所述处理单元(PUi)根据环形网络互连,所述环形网络允许数据在每个单元与位于下游的相邻单元之间预定义的方向上交换,以及在于,每个单元被提供-在每个步骤期间,向所述位于下游的相邻单元传输由输出模块(OMj)及其修订的输出容量(COj(x,y))的标识符(i(i,y))所形成的一对值,-在每个步骤期间,从所述位于上游的相邻单元接收在前面的步骤期间所修订的、由输出模块(OMj)及其输出容量(COj(x,y))的标识符(j(i,y))所形成的一对值。
12.根据权利要求7或8中任何一项的交换系统,其特征在于所述处理单元(PUi)根据环形网络互连,所述环形网络网络允许数据在每个单元与位于下游的相邻单元之间预定义的方向上交换,以及在于,每个单元被提供-在每个步骤期间,向所述位于下游的相邻单元传输由输入模块(IMi)及其修订的输入容量的标识符所形成的一对值,-在每个步骤期间,从所述位于上游的相邻单元接收在前面的步骤期间所修订的、由输入模块(IMi)及其输入容量的标识符所形成的一对值。
全文摘要
为了经由分组交换矩阵选择性地交换在输入模块(IMi)中的等候以寻址输出模块,仲裁函数(CSC)通过连续的周期,从输入和输出模块的所有对中选择单独的子组。每个周期包括分别关联于p个仲裁函数的p个连续的阶段(x)。处理单元(PUi)每个执行p个函数,每个函数作用于称为“剩余需要量”、“输入容量”和“输出容量”的三个参数,参数的值与单个对有关,并且在周期的起始处被设置。每个阶段由分别关联于所述子组的N个连续的步骤(y)组成,由所述处理单元(PUi)并行地执行每个步骤,以便借助于所述仲裁函数计算“部分”接受量值并且为下一步骤重新设置参数。应用于电信网络,特别是多服务。
文档编号H04L12/56GK1976538SQ20061017182
公开日2007年6月6日 申请日期2006年11月24日 优先权日2005年11月24日
发明者G·波斯特, L·努瓦雷, S·古奇, F·瓦伦特 申请人:阿尔卡特公司