主动管理中心队列缓冲区分配的方法和系统技术方案

技术编号:3547129 阅读:190 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于数据传输网络的交换节点的包流控制方法、系统和程序产品。该方法包括根据交换节点的中心队列中当前可用的未使用空间的数量,主动管理该中心队列中分派给该交换节点的端口的空间分配。在进一步的方面,该方法包括分别跟踪未分配空间和空出的已分配空间,即已用于缓冲端口所接收的包,但自从上次管理更新以来由于从中心队列中移除了一个包而空出的空间。向每个端口提供当前分配给该端口的空出的空间和中心队列中一定数量的用来分配给该端口的一个或多个虚拟通道的当前未分配的空间。

【技术实现步骤摘要】
主动管理中心队列缓冲区分配的方法和系统
本专利技术一般涉及通过数据传输网络交换节点的包流(packet flow)控制,尤其涉及通过根据节点的中心队列中当前可用的未使用空间数量主动管理分派给交换节点端口的、中心队列中的空间分配,而便利于包流的技术。
技术介绍
用于数据通信(或传输)网络的传统交换节点使用在其输入端口处或其输出端口处的专用缓冲区。这些专用缓冲区将这些端口连接到交换逻辑并便利了通过数据通信网络传输的数据包的流控制,其中该交换逻辑将由输入端口接收的数据包引导到适当的输出端口。数据传输网络中的常见数据通信流模式常导致网络交换节点端口处的极其不同的通信流量,并且这些不同的通信流量通常随着时间而变化。因此,专用于网络交换节点中各个端口的缓冲区的使用常常不能很好地与数据通信流量特性相匹配。在繁忙的端口中可能出现输入端口阻塞,因为当缓冲区的队列前面的数据包等待被交换到繁忙的输出端口时它的缓冲区容量已满。同时,仅接收少量通信流的其他端口的缓冲区具有不能被利用的可用空闲空间。
技术实现思路
通过提供用于数据传输网络的交换节点的包流控制的方法克服了先有技术的缺点并提供了其他的优点。该方法包括主动管理分派给交换节点的各端口的、该交换节点的中心队列中的空间分配。该中心队列中空间分配-->的主动管理基于中心队列中当前可用的未使用空间的数量。管理中心队列中空间分配的该技术的进一步的方面包括分别跟踪当前未分配的未使用空间,和分配给该交换节点的端口、但由于包从中心队列中被传输到输出端口而空出的未使用空间。向每个端口(例如,接近于周期性地)提供空出的当前分配给它的空间和中心队列中一定数量的当前未分配的空间。对在中心队列中向端口的空间分配进行主动管理的又一方面包括动态地向端口的一个或多个虚拟通道(virtual lane)分配提供给该端口的那些未使用空间量。这里还描述并要求保护对应于上述方法的系统和计算机程序产品。通过本专利技术的技术实现了其他的特征和优点。下面详细描述了本专利技术的其他实施例和方面,且这些均被认为是所要求保护的本专利技术的一部分。附图说明在本说明书后面的权利要求中具体指出并清楚地要求保护了本专利技术的主题。从以下结合附图的详细描述中可清楚地了解本专利技术的上述及其他目的、特征和优点,其中:图1示出了根据本专利技术一个方面的采用包流控制的数据传输网络的交换节点的一个实施例;图2是根据本专利技术一个方面的用于管理对数据传输网络的交换节点的端口的中心队列缓冲区分配的技术的一个方面的流程图;图3A和图3B示出了根据本专利技术一个方面的用于管理对交换节点的端口的中心队列缓冲区分配的技术的另一方面的流程图,其中分派给端口的、中心队列中的空间被进一步分配给该端口的虚拟通道;图4示出了根据本专利技术一个方面的用于图1的交换节点实施例的端口控制逻辑的一个实施例;图5示出了根据本专利技术一个方面的用于图4的端口控制逻辑实施例的虚拟通道计算器的一个实施例;及图6示出了根据本专利技术一个方面的图5的运算逻辑的一个实施例的流-->程图。具体实施方式总的来说,这里描述的是用于数据传输网络的交换节点的包流控制技术。在一个方面,该技术主动地和动态地管理一交换节点的中心队列中的空间分配,这些空间是给予该交换节点的各端口以用于包缓冲的。这一中心队列中空间分配的主动和动态管理是基于该中心队列中当前可用的未使用空间数量。在另一方面,该技术包括在一端口的一个或多个虚拟通道之间分派给予该端口的空间分配。中心队列中的空间以n字节块(也称作“块”(chunk))来分配。每个块由一个信用(credit)来代表。根据分派给一个端口的虚拟通道的中心队列空间数量,该端口可以向链路的发送端授予相应数量的信用以进行流控制。下面参照图1描述根据本专利技术的一方面,采用了包流控制的数据传输网络的交换节点的一个实施例。交换节点的该实施例包括连接到中心队列140的多个输入端口(110、120和130)和同样连接到中心队列140的多个输出端口(160、170和180)。图1中示出的交换节点实施例还包括中心队列控制逻辑150。中心队列控制逻辑150连接到中心队列140,输入端口110、120和130以及输出端口160、170和180。输入端口110通过接收器和链路协议引擎单元112连接到通信链路。接收器和链路协议引擎单元112连接到先进先出(FIFO)寄存器114和端口控制逻辑116。输入端口110的FIFO寄存器114连接到中心队列140。输入端口120和130也是同样设置的。输出端口160的FIFO寄存器162连接到中心队列140及输出端口160的发射器和链路协议引擎单元164。发射器和链路协议引擎单元164转而连接到端口控制逻辑166和通信链路。输出端口170和180也是同样设置的。下列的讨论概述了通过图1中所示的交换节点实施例100的数据包流和该交换节点的各组成部分的交互作用。作为例子,假设通过交换节点100-->的数据包流,其中数据包由输入端口110接收并最后通过输出端口160输出。在数据包由接收器和链路协议引擎单元112接收之后,它被放置到FIFO寄存器114中。从FIFO寄存器114,包被缓冲在中心队列140中。端口控制逻辑116将被指派了该包的虚拟通道可用的空间减少等于该包大小的量。端口根据包的属性(例如该包的服务级别字段)和服务级别到虚拟通道映射表来确定该包的虚拟通道。当目的输出端口不忙于传输另一包时,缓冲于中心队列140中的包可被传输到输出端口160的FIFO寄存器162。数据包由发射器和链路协议引擎单元164从FIFO寄存器162中读出,以便通过链路传输。在准备传输中将接收到的包从中心队列140传递给FIFO寄存器162使分配给一端口的虚拟通道的空间空出。这一空出的空间被中心队列控制逻辑150返还给从其接收到该包的端口的虚拟通道,以便维护中心队列140中为所有这多个端口的空间分配。此外,根据中心队列140中可用的未使用空间数量,来主动管理中心队列140中对该交换节点的端口的空间分配。中心队列140中的未使用空间包括当前未分配给该交换节点的任何端口的空间和空出的已分配空间,即当前分配给一端口的一虚拟通道并已用于缓冲一接收到的包,但因为该包被传递给一输出端口的FIFO寄存器而空出的空间。空出的已分配空间也可以由于输入端口丢弃已接收的包而产生。在用于主动管理中心队列140中对交换节点的端口的空间分配的技术的一个实施例中,该管理分布于中心队列控制逻辑150和多个端口的端口控制逻辑之中。图2是根据本专利技术的一方面,用于将中心队列中的空间分配给图1中示出的交换节点实施例的端口的中心队列控制逻辑的一个实施例的流程图200。参照图2,将在空间分配管理中使用的几个参数初始化210以开始该过程。这些包括:SharedCredits,其是以信用为单位度量的、中心队列中可用的未分配空间数量,OfferRC,其是以信用为单位度量的空出的已分配空间数量,及MaxOffer,其是中心队列中可用的、在每个管理间隔可由图1的中心队列控制逻辑150提供给一端口的未分配空间的最-->大数量。在参数的初始化之后,使用规定的规则选出一个端口以向其提供信用,即未使用空间的数量212,来开始主动中心队列空间分配管理。这种规定的规则的一个例子本文档来自技高网...

【技术保护点】
一种用于数据传输网络的交换节点的包流控制方法,所述方法包括:为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配;以及其中该主动管理基于中心队列中可用的未使用空间的可变数量。

【技术特征摘要】
US 2004-4-9 10/822,7941.一种用于数据传输网络的交换节点的包流控制方法,所述方法包括:为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配;以及其中该主动管理基于中心队列中可用的未使用空间的可变数量。2.权利要求1的方法,其中中心队列中可用的未使用空间包括中心队列中可用的空出的已分配空间和未分配空间,且上述主动管理进一步包括分别跟踪中心队列中当前可用的空出的已分配空间和未分配空间。3.权利要求1的方法,其中中心队列中可用的未使用空间包括中心队列中当前可用的未分配空间,其中上述主动管理进一步包括根据规定的分配规则向该多个端口提供一定数量的、中心队列中当前可用的未分配空间。4.权利要求1的方法,其中中心队列中可用的未使用空间包括空出的已分配空间,且其中上述主动管理进一步包括将该空出的已分配空间提供给该空出的已分配空间当前被指派到的端口。5.权利要求1的方法,其中上述主动管理进一步包括由端口信用管理器根据端口的至少一个虚拟通道的空间需求向该至少一个虚拟通道分配所提供的空间,该所提供的空间包括一定数量的、中心队列中未使用的空间。6.权利要求5的方法,其中上述一定数量的未使用空间包括空出的当前指派给该端口的已分配空间和一定数量的、中心队列中可用的未分配空间中的至少一个。7.权利要求5的方法,其中上述分配进一步包括根据该至少一个虚拟通道借出的中心队列空间的数量判定空间需求,其中所借出的中心队列空间的数量包括分派给该至少一个虚拟通道的、中心队列中的空间分配超过目标分配的空间数量。8.权利要求5的方法,其中上述分配进一步包括根据中心队列中分派给该至少一个虚拟通道的空间分配中剩余的未使用空间的数量来判定空间需求,其中该剩余的未使用空间的数量包括分派给该至少一个虚拟通道,但当前未用于存储所接收数据包的数量。9.权利要求5的方法,其中上述分配进一步包括:(i)计算由该至少一个虚拟通道借出的中心队列空间的数量,其中该借出的中心队列空间的数量包括分派给该至少一个虚拟通道的、中心队列中的空间分配超过目标分配的空间数量;以及(ii)计算分派给该至少一个虚拟通道的、中心队列空间分配中剩余的未使用空间的数量,其中该剩余的未使用空间的数量包括分派给该至少一个虚拟通道,但当前未用于存储所接收数据包的数量。10.权利要求9的方法,其中上述分配进一步包括减少所借出的中心队列空间的数量,以及利用剩余的所提供空间,如果其存在的话,将分配给该至少一个虚拟通道的中心队列空间分配中剩余的未使用空间数量增加到所期望数量,其中该剩余的所提供空间包括未由输入端口信用管理器分派用于上述减少的所提供空间。11.权利要求5的方法,其中上述主动管理进一步包括将未由上述分配所分派的所提供空间的余量返还给中心队列。12.权利要求11的方法,其中上述主动管理进一步包括将端口信用管理器返还的所提供空间的余量添加到中心队列中可用的未分配空间。13.一种用于数据传输网络的交换节点的包流控制系统,所述系统包括:用于为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配的装置;以及其中该主动管理基于中心队列中可用的未使用空间的可变数量。14.权利要求13的系统,其中中心队列中可用的未使用空间包括中心队列中可用的空出的已分配空间和未分配空间,且上述用于主动管理的装置进一步包括用于分别跟踪中心队列中当前可用的空出的已分配空间和未分配空间的装置。15.权利要求13的系统,其中中心队列中可用的未使用空间包括中心队列中当前可用的未分配空间,其中上述用于主动管理的装置进一步包括用于根据规定的分配规则向该多个端口提供一定数量的、中心队列中当前可用的未分配空间的装置。16.权利要求13的系统,其中中心队列中可用的未使用空间包括空出的已分配空间,且其中上述用于主动管理的装置进一步包括用于将该空出的已分配空间提供给该空出的已分配空间当前被指派到的端口的装置。17.权利要求13的系统,其中上述用于主动管理的装置进一步包括用于根据端口的至少一个虚拟通道的空间需求向该至少一个虚拟通道分配所提供的空间的装置,该所提供的空间包括一定数量的、中心队列中未使用的空间。18.权利要求17的系统,其中上述一定数量的未使用空间包括空出的当前指派给该端口的已分配空间和一定数量的、中心队列中可用的未分配空间中的至少一个。19.权利要求17的系统,其中上述用于分配的装置进一步包括用于根据该至少一个虚拟通道借出的中心队列空间的数量判定空间需求的装置,其中所借出的中心队列空间的数量包括分派给该至少一个虚拟通道的、中心队列中的空间分配超过目标分配的空间数量。20.权利要求17的系统,其中上述用于分配的装置进一步包括用于根据中心队列中分派给该至少一个虚拟通道的空间分配中剩余的未使用空间数量来判定空间需求的装置,其中该剩余的未使用空间数量包括分派给该至少一个虚拟通道,但当前未用于存储所接收数据包的数量。21.权利要求17的系统,其中上述用于分配的装置进一步包括:(i)用于计算由该至少一个虚拟通道借出的中心队列空间数量的装置,其中该借出的中心队列空间的数量包括分派给该至少一个虚拟通道的中心队...

【专利技术属性】
技术研发人员:DL加麦尔JR赫林RA林顿SH赖德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1