CN102474460B - 通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备 - Google Patents

通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备 Download PDF

Info

Publication number
CN102474460B
CN102474460B CN201080033162.5A CN201080033162A CN102474460B CN 102474460 B CN102474460 B CN 102474460B CN 201080033162 A CN201080033162 A CN 201080033162A CN 102474460 B CN102474460 B CN 102474460B
Authority
CN
China
Prior art keywords
cell
module
queue
output
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080033162.5A
Other languages
English (en)
Other versions
CN102474460A (zh
Inventor
罗伯托·罗雅斯-塞萨
董子谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Jersey Institute of Technology
Original Assignee
New Jersey Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Jersey Institute of Technology filed Critical New Jersey Institute of Technology
Publication of CN102474460A publication Critical patent/CN102474460A/zh
Application granted granted Critical
Publication of CN102474460B publication Critical patent/CN102474460B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1569Clos switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了通过三级缓存-缓存-缓存(MMM)输入排队Clos网络(IQC)分组交换机的至少一部分来转发被划分成一个或更多个信元的数据的示例。在一些示例中,三级MMM?IQC分组交换机的每个模块包括虚拟队列和管理器,该虚拟队列和管理器彼此协同配置以通过交换机的至少一部分来转发信元。信元可被划分并存储在交换机的输入端口以及去往交换机的输出端口。

Description

通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备
相关申请
本申请要求RobertoRojas-Cessa和ZiqianDong于2009年7月29日提交的、题为“ForwardingDataThroughaThree-StageClos-NetworkPacketSwitchwithMemoryateachStage.”的美国申请序列第12/511,814号的优先权。本申请还涉及RobertoRojas-Cessa和Chuan-biLin于2009年6月16日提交的、题为“ConfiguringaThree-StageClos-NetworkPacketSwitch;”的美国申请序列第12/485,828号并且还涉及RobertoRojas-Cessa和ZiqianDong于2009年7月29日提交的、题为“ForwardingCellsofPartitionedDataThroughaThree-StageClos-NetworkPacketSwitchwithMemoryateachStage.”的美国申请序列第12/511,424号。
背景技术
除非这里另外指明,否则该部分中描述的方式不是本申请中的权利要求的现有技术,并且通过包括在该部分中也不承认为现有技术。
典型的三级Clos网络分组交换机包括三级交换模块,其可被装备以创建能够具有大量端口的分组交换机。这三个级通常包括输入模块、中央模块以及输出模块。通常,包括在三级Clos网络分组交换机中的输入、中央以及输出模块越多,则交换机可以支持越多端口。作为支持可变数量的端口的能力的结果,可以考虑三级Clos网络分组交换机架构为可伸展交换机架构。管理通信网络的公司(诸如因特网服务提供商或电信服务提供商)会发现三级Clos网络分组交换机的可伸展性为有吸引力的属性。然而,配置路由以通过被伸展以包括大量端口的三级Clos网络分组交换机来转发数据会是复杂和缓慢的处理。
发明内容
本公开一般描述了用于通过三级缓存-缓存-缓存(MMM)输入排队Clos网络(IQC)分组交换机的一部分来转发数据的实现方法。可在三级MMMIQC分组交换机的输入端口处接收数据,并且数据可被划分成去往输出端口的一个或更多个信元(cell),该输出端口耦合到三级MMMIQC分组交换机的输出模块。该一个或更多个信元当中的信元可被转发到耦合到输入端口的输入模块。根据示例方法,可选择和标识保持在输入模块处的虚拟中央模块队列。所选虚拟中央模块队列可保持在输入模块处,以存储从输入端口转发、并且去往输出端口的信元。在一些示例中,选择可基于判优方案,并且还基于是否可用保持在耦合到输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列以接收信元。信元可从所选虚拟中央模块队列转发到虚拟输出模块队列。在一些示例中,虚拟输出模块队列可与输入模块相关联并且还可与信元的目的地输出端口相关联。
本公开还一般描述了用于通过三级MMMIQC分组交换机来转发数据的实现方法。根据示例方法,可标识和选择保持在输入端口处的虚拟输出队列,该输入端口耦合到三级MMMIQC分组交换机的输入模块。所选虚拟输出队列可存储被划分成一个或更多个信元的数据,该一个或更多个信元去往耦合到MMMIQC分组交换机的输出模块的输出端口。在一些示例中,选择可基于是否可用保持在输入模块处的虚拟中央模块队列以接收去往输出端口的一个或更多个信元当中的信元。
根据用于通过三级MMMIQC分组交换机来转发数据的方法,信元可从所选虚拟输出队列转发到虚拟中央模块队列。在一些示例中,虚拟中央模块队列可与耦合到输入模块的输入端口相关联,并且还可与耦合到输入模块的中央模块相关联。然后,信元可被接收到虚拟中央模块队列。然后可选择虚拟中央模块队列来转发信元。在一些示例中,选择可基于判优方案,并且还可基于是否可用保持在中央模块处的虚拟输出模块队列以接收信元。
根据用于通过三级MMMIQC分组交换机来转发数据的方法,信元可从虚拟输出模块队列转发到虚拟输出端口队列。在一些示例中,虚拟输出端口队列与中央模块相关联并且还与信元的目的地输出端口相关联。然后,信元可被接收到虚拟输出端口队列。然后可选择虚拟输出端口队列来将信元转发到目的地输出端口。在一些示例中,选择可基于判优方案。然后,信元可从虚拟输出端口队列转发到目的地输出端口。
本公开还一般描述了通过三级MMMIQC分组交换机的一部分来转发数据的示例装置。可在三级MMMIQC分组交换机的输入端口处接收数据,并且数据可被划分成去往输出端口的一个或更多个信元,该输出端口耦合到三级MMMIQC分组交换机的输出模块。该一个或更多个信元当中的信元还可被转发到耦合到输入端口的输入模块。示例装置可具有包括逻辑的输入模块管理器。逻辑可被配置成选择保持在输入模块处的虚拟中央模块队列,并且标识所选虚拟中央模块队列。所选虚拟中央模块队列可保持在输入模块处,以存储从输入端口转发、并且去往输出端口的信元。在一些示例中,选择可基于判优方案,并且还基于是否可用保持在耦合到输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列以接收信元。逻辑还可被配置成将信元从所选虚拟中央模块队列转发到虚拟输出模块队列。在一些示例中,虚拟输出模块队列可与输入模块相关联并且还可与信元的目的地输出端口相关联。
本公开还一般描述了示例三级MMMIQC分组交换机。示例三级MMMIQC分组交换机可包括输入端口,该输入端口被配置成保持虚拟输出队列,使得虚拟输出队列可保存被划分成去往输出端口的一个或更多个信元的数据。输入端口可具有输入端口管理器。在一些示例中,输入端口管理器和虚拟输出队列可彼此协同布置,以将去往输出端口的一个或更多个信元存储在虚拟输出队列中并从虚拟输出队列转发一个或更多个信元的信元。
示例三级MMMIQC分组交换机还可包括耦合到输入端口的输入模块。输入模块可被配置成保持虚拟中央模块队列,使得虚拟中央模块队列可保存从虚拟输出队列转发的信元。输入模块可具有输入模块管理器。在一些示例中,输入模块管理器和虚拟中央模块队列可彼此协同布置,以接收从虚拟输出队列转发的信元、将信元存储在虚拟中央模块队列中、以及从虚拟中央模块队列转发信元。
示例三级MMMIQC分组交换机还可包括耦合到输入模块的中央模块。中央模块可被配置成保持虚拟输出模块队列,使得虚拟输出模块队列可保存从虚拟中央模块队列转发的信元。中央模块可具有中央模块管理器。在一些示例中,中央模块管理器和虚拟输出模块队列可彼此协同布置,以接收从虚拟中央模块队列转发的信元、将信元存储在虚拟输出模块队列中、以及从虚拟输出模块队列转发信元。
示例三级MMMIQC分组交换机还可包括耦合到中央模块的输出模块。输出模块可被配置成保持虚拟输出端口队列,使得虚拟输出端口队列可保存从虚拟输出模块队列转发的信元。输出模块可具有输出模块管理器。在一些示例中,输出模块管理器和虚拟输出端口队列可彼此协同布置,以接收从虚拟输出模块队列转发的信元、将信元存储在虚拟输出端口队列中、以及从虚拟输出端口队列转发信元。
本公开还一般描述了示例计算机程序产品。在一些示例中,计算机程序产品可包括具有指令的信号携带介质。指令可用于通过三级MMMIQC分组交换机的一部分来转发数据。可在三级MMMIQC分组交换机的输入端口处接收数据,并且数据可被划分成去往输出端口的一个或更多个信元,该输出端口耦合到三级MMMIQC分组交换机的输出模块。该一个或更多个信元当中的信元可被转发到耦合到输入端口的输入模块。指令在由逻辑执行时可使得逻辑选择和标识保持在输入模块处的虚拟中央模块队列。所选虚拟中央模块队列可保持在输入模块处,以存储从输入端口转发、并且去往输出端口的信元。在一些示例中,选择可基于判优方案,并且还基于是否可用保持在耦合到输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列以接收信元。指令还可使得逻辑将信元从所选虚拟中央模块队列转发到虚拟输出模块队列。在一些示例中,虚拟输出模块队列可与输入模块相关联并且还可与信元的目的地输出端口相关联。
前述发明内容仅为说明性的并且不旨在任何方式的限制。除了上述所说明的方面、实施例以及特征之外,通过参照附图和以下详细描述,此外的方面、实施例以及特征将变得明显。
附图说明
结合附图,根据以下描述和所附权利要求,本公开的前述和其它特征将变得更明显。应该理解,这些附图仅根据本公开描绘了若干实施例,并且因此不认为是限制其范围,将通过使用附图、利用附加特性和细节来描述本公开。
图1示出了具有可变数量的端口和模块的示例三级Clos网络分组交换机;
图2示出了包括固定数量的端口和模块的三级Clos网络分组交换机的示例;
图3示出了耦合到三级Clos网络分组交换机的排队输入模块的两个排队输入端口的示例的框图;
图4示出了输入端口管理器的示例架构的框图;
图5示出了输入模块管理器的示例架构的框图;
图6示出了用于从虚拟输出端口队列转发信元的示例方法的流程图,该虚拟输出端口队列保持在耦合到三级Clos网络分组交换机的输入模块的输入端口处;
图7示出了耦合到三级Clos网络分组交换机的两个排队中央模块的两个排队输入模块的示例的框图;
图8示出了中央模块管理器的示例架构的框图;
图9示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三级Clos网络分组交换机的中央模块的输入模块处;
图10示出了耦合到三级Clos网络分组交换机的两个排队输出模块的两个排队中央模块的示例的框图;
图11示出了输出模块管理器的示例架构的框图;
图12示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三级Clos网络分组交换机的输出模块的中央模块处;
图13示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三级Clos网络分组交换机的输出端口的输出模块处;
图14示出了通过三级Clos网络分组交换机来转发信元的示例信元路由;
图15示出了示例计算机程序产品的框图;以及
图16示出了全部根据本公开布置的示例计算装置。
具体实施方式
在以下详细描述中,对构成本公开一部分的附图进行参照。在附图中,除非上下文另外指明之外,类似的符号通常标识类似的部件。详细说明、附图以及权利要求中的说明性示例或实施例不意味着是限制性的。可利用其它示例或实施例,并且可进行其它改变,而不脱离这里呈现的主题内容的精神或范围。将容易理解的是,可以按广泛不同的配置布置、替代、组合以及设计如这里一般描述并在图中示出的本公开的方面,所有这些都被明确地预期并构成本公开的一部分。
本公开特别涉及如下方法、设备、系统以及计算机程序产品:其涉及通过在每级具有缓存的三级Clos网络分组交换机来转发被划分成一个或更多个信元的数据。
如在本公开中预期的,通过被伸展以包括大量端口的三级Clos网络分组交换机来转发数据会是复杂和缓慢的处理。三级Clos网络分组交换机的设计的某些方面会影响转发数据的速度和复杂性。例如,三级Clos网络分组交换机设计的类型可以是输入排队Clos网络分组交换机(“IQC交换机”)。IQC分组交换机可包括保持在输入端口处的队列或缓冲,在下文中称为“虚拟输出队列”(VOQ)。这些VOQ可至少暂时存储被划分成分组或“信元”的数据,以便利通过IQC分组交换机的数据的内部交换或路由。然而,IQC分组交换机设计会需要复杂的且可能耗时的链接匹配处理来配置通过IQC分组交换机的路由。例如,在可通过对IQC分组交换机的模块进行互连的链接来转发信元之前,需要解决通过IQC分组交换机的三级的路径路由和输出端口竞争。
如在本公开中进一步预期的,为了减少与配置路由以通过IQC分组交换机来转发数据相关联的复杂性和定时发布,IQC分组交换机可包括分离地保持在每个模块处的缓冲或队列。在所有级(例如,输入模块、中央模块以及输出模块)中都具有缓存的这类IQC分组交换机可以被称为三级缓存-缓存-缓存(“MMM”)IQC分组交换机。每个模块处分离地保持缓冲或队列可通过允许在MMMIQC分组交换机的每级处单独选择存储信元的队列来转发信元,有助于解决内部和输出竞争。但是当被划分成信元的数据可通过不同中央模块被转发以到达耦合到MMMIQC分组交换机的目的地输出端口的输出模块时,会出现顺序不对的问题。
在一些示例中,实现了用于通过三级Clos网络分组交换机(例如,MMMIQC分组交换机)来转发被划分成一个或更多个信元的数据的方法。根据示例方法之一,选择虚拟输出队列(VOQ)。所选VOQ可保持在耦合到三级MMMIQC分组交换机的输入模块的输入端口处。所选VOQ可存储被划分成去往输出端口的一个或更多个信元,该输出端口耦合到三级MMMIQC分组交换机的输出模块。VOQ的选择可至少部分基于是否可用保持在输入模块处的虚拟中央模块队列(VCMQ)以接收去往输出端口的一个或更多个信元当中的信元。然后,信元可从VOQ转发到VCMQ。对于该示例方法,VCMQ队列可与耦合到输入模块的输入端口相关联,并且还可与耦合到输入模块的中央模块相关联。
另外,根据示例方法,信元可被接收到VCMQ中。然后,可选择VCMQ以转发信元。选择可基于判优方案(例如,轮询),并且还可基于是否可用保持在中央模块处的虚拟输出模块队列(VOMQ)以接收信元。然后,信元可从VCMQ转发到VOMQ。对于该示例方法,VOMQ可与输入模块和信元的目的地输出端口相关联。
另外,根据示例方法,信元可被接收到VOMQ中。然后,可选择VOMQ以转发信元。选择可基于判优方案(例如,轮询),并且还可基于是否可用保持在输出模块处的虚拟输出端口队列(VOPQ)以接收信元。然后,信元可从VOMQ转发到VOPQ。对于该示例方法,VOPQ可与中央模块和信元的目的地输出端口相关联。
此外,根据示例方法,信元可被接收到VOPQ中。然后,可选择VOPQ以转发信元。选择可基于判优方案(例如,轮询)。然后,信元可从VOPQ转发到目的地输出端口。
图1示出了具有可变数量的端口和交换模块的示例三级Clos网络分组交换机100(例如,三级MMMIQC分组交换机)。如图1所示,交换机100包括第一级处的输入模块(“IM”)120、第二级处的中央模块(“CM”)130以及第三级处的输出模块(“OM”)140。
在一些示例中,如图1所示,每个IM120经由输入端口链接(“LIP”)115耦合到数量(n)的输入端口(“IP”)110。例如,如果存在数量(k)的IM120,则可以有总共n*k个IP110。类似地,每个OM140包括数量(n)的输出端口(“OP”)150。例如,如果存在数量(k)的OM140,则可以有总共n*k的OP150。
在一些示例中,如图1所示,交换机100包括布置在数量(k)的IM120和数量(k)的OM140之间的数量(m)的CM130。另外,示出了IM120包括数量(m)的引出输入模块链接(“LI”)125。LI125可被配置成将IM120耦合到m个CM130之一。类似地,CM130可包括数量(k)的引出中央模块链接(“LC”)135。LC135可被配置成将CM130与k个OM140之一耦合。
在一些示例中,如图1所示,IP110分离地包括VOQ112和IP管理器114。VOQ112可以是被布置成包括VOQ的缓存结构,该VOQ被配置成至少暂时存储被划分成要通过交换机100转发的信元的数据。在一个示例中,VOQ112可以与OP150当中的目的地输出端口相关联。因此,例如,如果交换机100包括四个OP150,则VOQ112将被配置成包括四个VOQ。另外,如下面更多描述的,IP管理器114可包括被配置成转发存储在VOQ中的信元的逻辑和/或功能部件,该VOQ分离地保持在每个IP110中。
在一些示例中,如图1所示,IM120分离地包括虚拟中央模块队列(VCMQ)122和IM管理器124。VCMQ122可以是被布置成包括VCMQ的缓存结构,该VCMQ被配置成至少暂时存储从保持在耦合到IM120的IP110处的VOQ转发的一个或更多个信元。VCMQ112可与耦合到IM120的IP110相关联并且还可与CM130相关联。因此,例如,如果交换机100包括耦合到IM120的两个CM130和两个IP100,则VCMQ122将被配置成包括四个VCMQ。另外,如下面更多描述的,IM管理器124可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成将信元接收到包括在VCMQ122中的VCMQ中并且还将一个或更多个信元转发到CM130。
在一些示例中,如图1所示,CM130分离地包括虚拟输出模块队列(VOMQ)132和CM管理器134。VOMQ132可以是被布置成包括VOMQ的缓存结构,该VOMQ被配置成至少暂时存储从VCMQ转发的一个或更多个信元,该VCMQ保持在耦合到CM130的IM120处。VOMQ132可以与耦合到CM130的IM120相关联,并且还可以与耦合到OM140的目的地OP150相关联,该OM140耦合到CM130。因此,例如,如果交换机100包括耦合到CM130的两个IM110和对于耦合到CM130的每个OM140的两个OP150,则VOMQ132将被配置成包括八个VOMQ。另外,如下面更多地描述的,CM管理器134可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成将信元接收到包括在VOMQ132的VOMQ中并且还将一个或更多个信元转发到OM140。
在一些示例中,如图1所示,OM140分离地包括虚拟输出端口队列(VOPQ)142和OM管理器144。VOPQ142可以是被布置成包括VOPQ的缓存结构,该VOPQ被配置成至少暂时存储从VOMQ转发的一个或更多个信元,该VOMQ保持在耦合到OM140的CM130处。VOPQ142可与耦合到OM140的CM130相关联,并且还可与OP150相关联。因此,例如,如果交换机100包括两个CM130和耦合到OM140的两个OP150,则VOPQ142将被配置成包括四个VOPQ。另外,如下面更多地描述的,OM管理器144可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成将信元接收到包括在VOPQ122中的VOPQ中并且还将一个或更多个信元转发到OP150。
在一些示例中,OP150可分离地包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成进一步再集合与被划分并通过交换机100转发的数据(例如,数据流)相关联的信元。未示出OP150的逻辑和/或功能部件。但是提到被配置成再集合信元的逻辑和/或功能部件以表明,本公开预想在信元从保持在OM140处的VOPQ被转发之后,被划分的信元的可能再集合。
表1包括在图1中描绘的变量的示例描述。
表1
n=分别对于每个IM120和OM140的IP110和OP150的数量;
k=IM120的数量,以及OM140的数量;
m=CM130的数量;
IM(i)=第i+1个IM120,其中0≤i≤k-1;
CM(r)=第r+1个CM130,其中0≤r≤m-1;
OM(j)=第j+1个OM140,其中0≤j≤k-1;
IP(i,g)=IM(i)处的第(g+1)个IP110,其中0≤g≤n-1;
OP(j,h)=OM(j)处的第(h+1)个OP150,其中0≤h≤n-1;
LIP(i,g)=IP(i,g)和IM(i)之间的链接;
LI(i,r)=IM(i)和CM(r)之间的链接;
LC(r,j)=CM(r)和OM(j)之间的链接;
VOQ(i,g,j,h)=保持在具有标识符IP(i,g)的IP110处的VOQ,该VOQ存储去往具有标识符OP(j,h)的OP150的信元;
VCMQ(i,g,r)=保持在具有标识符IM(i)的IM120处的VCMQ,该VCMQ存储如下信元:其从具有标识符IP(i,g)的IP110转发并且被转发到具有标识符CM(r)的CM130;
VOMQ(i,r,j,h)=保持在具有标识符CM(r)的CM130处的VOMQ,该VOMQ存储如下信元:其从具有标识符IM(i)的IM120转发并且去往具有标识符OP(j,h)的OP150;以及
VOPQ(r,j,h)=保持在具有标识符OM(j)的OM140处的VOPQ,该VOPQ存储如下信元:其从具有标识符CM(r)的CM130转发并且去往具有标识符OP(j,h)的OP150。
图2示出了具有固定数量的端口和模块的示例三级Clos网络分组交换机200(例如,三级MMMIQC分组交换机)。示例交换机200包括与针对图1中示出的交换机100描述的类似架构,但是针对变量n、k以及m具有固定值。固定值是例如n=2、k=2以及m=2。由于如上所述N=(n*k),因此N=(2*2)或者4。作为N=4的结果,在图2中示出交换机200包括四个IP110和四个OP150。另外,由于k=2和m=2,因此示出交换机200包括两个IM120、两个CM130以及两个OM140。图2还基于固定值n=2、k=2以及m=2并且使用在以上表1中示出的示例变量描述,描绘了元件的标识符。在图2中没有描绘VOQ(i,g,j,h)、VCMQ(i,g,r)、VOMQ(i,r,j,h)以及VOPQ(r,j,h)的标识符。在随后图中描绘分别保持在IP110、IM120、CM130以及OM140处的这些队列或缓冲的标识符。
图3示出了耦合到交换机200(例如,三级MMMIQC分组交换机200)的排队输入模块(例如,IM120)的两个排队输入端口(例如,IP110)的示例的框图。如图3所示,两个IP110包括分别经由LIP(0,0)和LIP(0,1)耦合到IM(0)的IP(0,0)和IP(0,1)。另外,如图3所示,IM(0)具有LI(0,0)和LI(0,1)。如先前针对图2所述,IM(0)分别经由LI(0,0)和LI(0,1)耦合到CM(0)和CM(1)。
如上所述,保持在IP110处的VOQ可与OP150相关联。另外,图2描绘了交换机200包括四个OP150。因此如图3所示,IP(0,0)的VOQ112可包括四个VOQ,而IP(0,1)的VOQ112也可包括四个VOQ。如在表1中所列,VOQ可具有标识符。例如,VOQ(0,0,0,0)可以是保持在IP(0,0)处并且与OP(0,0)相关联的VOQ的标识符。另外,VOQ(0,1,0,0)可以是保持在IP(0,1)处并且与OP(0,0)相关联的VOQ的标识符。
另外,如上所述,保持在IM120处的VCMQ可与耦合到IM120的IP110相关联,并且还可与CM130相关联。由于IM(0)耦合到两个IP110并且交换机200包括两个CM130,因此在图3中示出IM(0)具有包括四个VCMQ的VCMQ122。如表1中所列,VCMQ可具有标识符。例如,VCMQ(0,0,0)可以是保持在IM(0)处的、与IP(0,0)和CM(0)相关联VCMQ的标识符。另外,VCMQ(0,1,1)可以是保持在IM(0)处的、并与IP(0,1)和CM(1)相关联VCMQ的标识符。
图4示出了输入端口(IP)管理器114的示例架构的框图。如以上针对图1-3中的交换机100或交换机200所述,IP110分离地包括IP管理器114。在一些示例中,IP管理器114包括如下功能部件和/或逻辑:该功能部件和/或逻辑被配置成或布置成转发在保持在IP110处的VOQ中存储的信元。
图4的示例IP管理器114包括VOQ逻辑410、控制逻辑420、缓存430、输入/输出(I/O)接口440以及可选的一个或更多个应用450。如图4所示,VOQ逻辑410耦合到控制逻辑420、缓存430以及I/O接口440。在图4中还示出,可选的应用450与控制逻辑420协同布置。VOQ逻辑410还可包括资格功能部件412、信用功能部件414、判优功能部件416以及转发功能部件418。
在一些示例中,图4的框图中描绘的元件被配置成支持或使得实现如在本公开中所述的IP管理器114。给定的IP管理器114可包括图4中描绘的那些元件的部分、全部或者比图4中描绘的那些元件更多的元件。例如,VOQ逻辑410和控制逻辑420可单独或共同表示实现IP管理器114的特征的多样逻辑装置。示例逻辑装置可包括计算机、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核/多线程微处理器的隐退线程(sequesteredthread)或核、或其组合中的一个或更多个。该多样逻辑装置可整个位于给定IP110处,或者逻辑装置的至少一部分可位于交换机100或交换机200的其它位置处(例如,中央地定位、与IP110、IM120、CM130、OM140或其组合一起定位)。
在一些示例中,如图4所示,VOQ逻辑410可包括资格功能部件412、信用功能部件414、判优功能部件416以及转发功能部件418中的一个或更多个。VOQ逻辑410可被配置成使用这些功能部件来执行操作。如下面更多地描述的,示例操作可包括如下操作的一个或更多个:选择保持在IP110处的VOQ来用于转发存储在VOQ中的一个或更多个信元、以及将一个或更多个信元从所选VOQ转发到保持在耦合到IP110的IM120处的VCMQ。
在一些示例中,控制逻辑420可被配置成控制IP管理器114的整体操作。如上所述,控制逻辑420可表示如下多样逻辑装置中的任一个:该逻辑装置被配置成与可执行内容结合操作以实现IP管理器114的控制。在一些替选示例中,可在VOQ逻辑410内实现控制逻辑420的特征和功能性。
根据一些示例,缓存430被布置成存储可执行内容。可执行内容可由控制逻辑420和/或VOQ逻辑410使用来实现或启动IP管理器114的功能部件或元件。缓存430还可被布置成暂时保持由VOQ逻辑410的功能元件获得的选择信息和VOQ信息。
缓存430可包括多样存储介质,该存储介质包括但不限于易失性存储器、非易失性存储器、闪存、可编程变量或状态、随机存取存储器(RAM)、只读存储器(ROM)、或其它静态或动态存储介质中的一个或更多个。
在一些示例中,I/O接口440可经由IP管理器114和驻留在给定IP110上或与给定IP110一起定位的元件(例如,VOQ112)之间的链接或内部通信介质提供接口。I/O接口440可包括如下接口:该接口根据各种通信协议工作,以在内部通信链路(例如,内部集成电路(I2C)、系统管理总线(SMBus)或串行外围接口总线(SPI))上通信。I/O接口440还可提供IP管理器114和耦合到IP110的元件(诸如IM120)之间的接口。如以上针对图1所述,IP110可经由链接LIP115耦合到这些元件。I/O接口440例如包括如下接口:该接口被配置成根据各种通信协议工作,以允许IP管理器114在链接LIP115(例如,PCIe、PCI-eXtended(PCI-X)、以太网、Infiniband(无限带宽)、StarFabric、RapidIO等)上通信。
在一些示例中,IP管理器114包括一个或更多个应用450来向控制逻辑420和/或VOQ逻辑410提供指令。
图5示出了输入模块(IM)管理器124的示例架构的框图。如以上针对图1-3中的交换机100或交换机200所述,IM120分离地包括IM管理器124。在一些示例中,IM管理器124包括如下功能部件和/或逻辑:该功能部件和/或逻辑被配置成将信元接收到保持在IM120处的VCMQ中,并且将信元转发给CM130。
图5的示例IM管理器124包括VCMQ逻辑510、控制逻辑520、缓存530、输入/输出(I/O)接口540以及可选的一个或更多个应用550。如图5所示,VCMQ逻辑510耦合到控制逻辑520、缓存530以及I/O接口540。在图5中还示出,可选的应用550与控制逻辑520协同布置。VCMQ逻辑510还可包括接收功能部件511、资格功能部件512、信用功能部件514、判优功能部件516以及转发功能部件518中的一个或更多个。
在一些示例中,图5的框图中描绘的元件是支持或使得实现如本公开所述的IM管理器124的那些元件。给定IM管理器124可包括图5中描绘的那些元件的部分、全部或者比图5中描绘的那些元件更多的元件。例如,VCMQ逻辑510和控制逻辑520可单独或共同表示实现IM管理器124的特征的多样逻辑装置。如先前所述,示例逻辑装置可包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隐退线程或核、或其组合中的一个或更多个。该多样逻辑装置可整个位于给定IM120处,或者逻辑装置的至少一部分可位于交换机200的其它位置处(例如,中央地定位、与IP110、CM130、OM140或其组合一起定位)。
在一些示例中,如图5所示,VCMQ逻辑510包括接收功能部件511、资格功能部件512、信用功能部件514、判优功能部件516以及转发功能部件518。VCMQ逻辑510可被配置成使用这些功能部件来执行若干操作。如在下面更多地描述的,示例操作可包括如下操作中的一个或更多个:将一个或更多个信元接收到保持在IM120处的VCMQ中、选择VCMQ用于对存储在VCMQ中的一个或更多个信元进行转发、以及将一个或更多个信元从所选VCMQ转发到保持在耦合到IM120的CM130的VOMQ。
在一些示例中,控制逻辑520可被配置成控制IM管理器124的整体操作。如上所述,控制逻辑520可表示如下多样逻辑装置中的任一个:该逻辑装置被配置成与可执行内容结合操作以实现IM管理器124的控制。在一些示例中,可在VCMQ逻辑510内实现控制逻辑520的特征和功能性。
与如上所述的缓存430类似,缓存530可包括多样存储介质。根据一些示例,缓存530被布置成存储可执行内容。可执行内容可由控制逻辑520和/或VCMQ逻辑510使用,以实现或启动IM管理器124的功能部件或元件。缓存530还可被布置成暂时保持由VCMQ逻辑510获得的选择信息和VCMQ信息。
与如上所述的I/O接口440类似,I/O接口540可经由IM管理器124和驻留在给定IM120上或与给定IM120一起定位的元件(例如,VCMQ122)之间的链接或内部通信介质提供接口。I/O接口540还可提供IM管理器124和耦合到IM120的元件(诸如IP110和CM130)之间的接口。
在一些示例中,IM管理器124包括一个或更多个应用550,以向控制逻辑520和/或VCMQ逻辑510提供指令。
图6示出了用于从保持在输入端口(IP)110(例如,IP(0,0))处的虚拟输出端口队列(VOQ)转发信元的示例方法的流程图,该输入端口(IP)110耦合到交换机200(例如,三级MMMIQC分组交换机200)的输入模块(IM)120。如图2和3所示的交换机200的相同部分连同在图4和5中描述的各种管理器用来说明示例方法。但是所述方法不限于仅对包括图4和5中描述的各种管理器的交换机200的实施。示例方法还可实施在包括如下管理器的三级MMMIQC分组交换机上:该管理器具有在图4和5中描绘的元件中的一个或更多个。
处理在块600(新传输间隔)开始,其中传输间隔开始。传输间隔可以是如下时段:该时段被分配用来通过交换机200的至少部分来转发被划分的数据的一个或更多个信元。在一些示例中,当开始了新传输间隔时,设置定时器。例如,IP(0,0)的IP管理器114可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成对于在传输间隔结束或完成时过期的时段设置定时器。设置定时器的时段例如可包括一个或更多个信元从保持在IP110处的VOQ转发到保持在IM120处的VCMQ花费的时间量。要转发一个或更多个信元花费的时间量可考虑最坏情况情景。最坏情况情景例如考虑由于诸如交换机200中(例如,在IP110和/或IM120处)的可能拥塞的因素导致的转发一个或更多个信元的最长可能时间。由于考虑最坏情况情景,因此示例传输间隔应该是如下时段:该时段至少比转发一个或更多个信元的最长可能时间长。
处理从块600继续到判决块610(非空的VOQ?),其中IP(0,0)的IP管理器114确定(例如,经由资格功能部件412)是否VOQ112的至少一个VOQ包括信元(在下文中称为“非空的”)。在一些示例中,确定VOQ是否有资格被选择来从VOQ转发信元可首先基于VOQ是否为非空的。如果确定了至少一个VOQ为非空的,则处理从判决块610继续到判决块620。否则,处理从判决块610移到块600。
在判决块620(可用相关联的VCMQ?)处,IP(0,0)的IP管理器114确定(例如,经由可用性功能部件414)是否可用保持在IM(0)处的至少一个VCMQ以从非空的VOQ接收信元(例如,具有容量或空间来存储信元)。如先前所述,VCMQ与IP110和CM130两者相关联。由于交换机200具有耦合到IM(0)的两个CM130,因此保持在IM(0)处的两个VCMQ可与IP(0,0)相关联,并且还可分别与CM(0)和CM(1)相关联。例如,VCMQ(0,0,0)和VCMQ(0,0,1)两者都与IP(0,0)相关联。如果确定了可用相关联的VCMQ,则处理从判决块620继续到块630。否则,处理从判决块620移到块600。
在一些示例中,流控制机制或方案可用来确定VCMQ的可用性。流控制机制可以是基于信用的。例如,IP管理器114可具有如下逻辑:该逻辑被配置(例如,可用性功能部件414)成保持(例如,在缓存430中)或跟踪暂时存储一个或更多个信元的VCMQ的容量。可用的空间可基于分配信元信用(cellcredit)以指示VCMQ的信元容量。当信元被转发到VCMQ时,从信元信用减去信用单位(creditunit)。一旦信元信用耗尽或变成零,则VCMQ变得不可用。另外,IM(0)的IM管理器124可包括如下逻辑:该逻辑被配置成向IP管理器114指示何时从VCMQ移除或转发信元。从VCMQ移除或转发信元的指示可导致对信元信用的增加。对信元信用的增加可导致VCMQ变得可用。
继续到块630(选择VOQ),选择(例如,经由判优功能部件416)IP(0,0)处的非空的VOQ以用于将信元转发到相关联并可用的IM(0)处的VCMQ。如果在块610中仅确定IP(0,0)处的单个VOQ为非空的,则选择该VOQ。然而,如果不止一个VOQ为非空的,则可实施判优方案来选择哪个VOQ来转发信元。在一些示例中,判优方案可包括轮询判优方案或最长队列(例如,具有最大信元数的队列)优先。
从块630继续到判决块640(传输间隔结束?),处理确定(例如,经由转发功能部件418)传输间隔是否结束。在一些示例中,基于定时器(针对块600如上所述而设置)的过期确定传输间隔的结束。如果传输间隔结束,则处理从判决块640移到块650。否则,处理从判决块640移到块600。
在块650(转发信元)处,将信元从在块630中选择的VOQ转发到在块620中确定为可用的相关联的VCMQ。如上所述,对于转发到VCMQ的每个信元,从VCMQ的信元计数减去(例如,经由可用性功能部件414)信元单位。
从块650继续到判决块660(要转发其它信元?),处理确定(例如,经由转发功能部件418)是否要将其它信元从所选VOQ转发到相关联的VCMQ。在一些示例中,基于将信元转发到相关联的VCMQ的可用信元信用和基于是否所选VOQ依然为非空的(具有剩余的信元)来进行确定。如果确定要转发其它信元,则处理从判决块660移到块650。否则,处理从判决块660移到块600。
图7示出了耦合到交换机200(例如,三级MMMIQC分组交换机200)的两个排队中央模块(CM)130的两个排队输入模块(IM)120的示例的框图。如图7所示,两个IM120包括IM(0)和IM(1),并且两个CM130包括CM(0)和CM(1)。如图7所示,IM(0)可经由LI(0,0)耦合到CM(0)并且经由LI(0,1)耦合到CM(1)。另外,IM(1)可经由LI(1,0)耦合到CM(0)并且经由LI(1,1)耦合到CM(1)。在一些示例中,去往耦合到OM(0)或OM(1)的OP150的信元可分别经由LC(0,0)或LC(0,1)从CM(0)转发。另外,去往耦合到OM(0)或OM(1)的OP150的信元可分别经由LC(1,0)或LC(1,1)从CM(1)转发。
如以上针对图3所述,IM(0)可包括具有四个VCMQ的VCMQ122。四个VCMQ可与IP(0,0)和IP(0,1)以及与CM(0)和CM(1)相关联(参见图2)。类似地,如图7所示,IM(1)可包括具有四个VCMQ的VCMQ122。这四个VCMQ可与IP(1,0)和IP(1,1)相关联,并且如下面更多地描述的,还可与CM(0)和CM(1)相关联。
如以上针对图1所述,保持在CM130处的VOMQ可与耦合到CM130的IM120相关联,并且还可与目的地OP150相关联。由于图7描绘了分别耦合到两个IM120的CM(0)和CM(1),并且图2描绘了包括耦合到每个OM140的两个OP150的交换机200,因此CM(0)和CM(1)可分别具有总共八个VOMQ。如表1所列,VOMQ可具有标识符。例如,VOMQ(0,0,0,1)可以是保持在CM(0)处的VOMQ的标识符,该VOMQ与IM(0)相关联并且存储具有目的地OP(0,1)的一个或更多个信元。类似地,VOMQ(0,1,0,1)可以是保持在CM(1)处的VOMQ的标识符,该VOMQ与IM(0)相关联并且存储具有目的地OP(0,1)的一个或更多个信元。
图8示出了中央模块(CM)管理器134的示例架构的框图。如以上图1、2以及7中针对交换机100或交换机200所述,CM130分离地包括CM管理器134。在一些示例中,CM管理器134包括如下功能部件和/或逻辑:该功能部件和/或逻辑被配置成将信元接收到保持在CM130处的VOMQ中并且将信元转发到OM140。
图8的示例CM管理器134包括VOMQ逻辑810、控制逻辑820、缓存830、输入/输出(I/O)接口840以及可选的一个或更多个应用850。如图8所示,VOMQ逻辑810耦合到控制逻辑820、缓存830以及I/O接口840。在图8中还示出了,可选的应用850被布置成与控制逻辑820协作。VOMQ逻辑810还可包括接收功能部件811、资格功能部件812、信用功能部件814、判优功能部件816以及转发功能部件818。
在一些示例中,图8的框图中描绘的元件被配置成支持或使得实现如在本公开中所述的CM管理器134。给定CM管理器134可包括图8中描绘的那些元件的部分、全部或者比图8中描绘的那些元件更多的元件。例如,VOMQ逻辑810和控制逻辑820可单独或共同表示实现CM管理器134的特征的多样逻辑装置。如先前所述,示例逻辑装置可包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隐退线程或核、或其组合中的一个或更多个。该多样逻辑装置可整个位于给定CM130处,或者逻辑装置的至少一部分可位于交换机100或交换机200的其它位置处(例如,中央地定位、与IP110、IM120、OM140或其组合一起定位)。
在一些示例中,如图8所示,VOMQ逻辑810包括接收功能部件811、资格功能部件812、信用功能部件814、判优功能部件816以及转发功能部件818。VOMQ逻辑810可被配置成使用这些功能部件来执行若干操作。如在下面更多地描述的,示例操作可包括如下操作中的一个或更多个:将一个或更多个信元接收到保持在CM130处的VOMQ中、选择VOMQ用于对存储在VCMQ中的一个或更多个信元进行转发、以及将一个或更多个信元从所选VOMQ转发到保持在耦合到CM130的OM140处的VOPQ。
在一些示例中,控制逻辑820可被配置成控制CM管理器134的整体操作,并且如上所述,控制逻辑820可表示如下多样逻辑装置中的任一个:该逻辑装置被配置成与可执行内容结合操作以实现CM管理器134的控制。在一些示例中,可在VOMQ逻辑810内实现控制逻辑820的特征和功能性。
与如上所述的缓存430类似,缓存830可包括多样存储介质。根据一些示例,缓存830被布置成存储可执行内容。可执行内容可由控制逻辑820和/或VOMQ逻辑810使用,以实现或启动CM管理器134的功能部件或元件。缓存830还可被布置成暂时保持由VOMQ逻辑810获得的选择信息和VOMQ信息。
与如上所述的I/O接口440类似,I/O接口840可经由CM管理器134和驻留在给定CM130上或与给定CM130一起定位的元件(例如,VOMQ132)之间的链接或内部通信介质提供接口。I/O接口840还可提供CM管理器134和耦合到CM130的元件(诸如IM120和OM140)之间的接口。
在一些示例中,CM管理器134包括一个或更多个应用850,以向控制逻辑820和/或VOMQ逻辑810提供指令。
图9示出了用于从保持在输入模块(IM)120(例如,IM(0))处的队列(例如,VCMQ)转发信元的示例方法的流程图,该输入模块(IM)120耦合到交换机200(例如,三级MMMIQC分组交换机200)的中央模块(CM)130。如图2和7所示的交换机200的相同部分连同在图5和8中描述的各种管理器用来说明示例方法。但是所述方法不限于仅对包括图5和8中描述的各种管理器的交换机200的实施。示例方法还可实施在包括如下管理器的三级MMMIQC分组交换机上:该管理器具有在图5和8中描绘的元件中的一个或更多个。
处理在块900(新传输间隔)开始,其中传输间隔开始。如上所述,传输间隔可以是如下时段:该时段被分配用来通过交换机200的至少部分来转发被划分的数据的一个或更多个信元。在一些示例中,当开始了新传输间隔时,设置定时器。例如,IM(0)的IM管理器124可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成对于在传输间隔结束或完成时过期的时段设置定时器。设置定时器的时段可包括一个或更多个信元从保持在IM120处的VCMQ转发到保持在CM130处的VOMQ花费的时间量。
处理从块900继续到判决块910(非空的VCMQ?),其中IM(0)的IM管理器124确定(例如,经由资格功能部件512)是否VCMQ122的至少一个VCMQ为非空的。在一些示例中,确定VCMQ是否有资格被选择来从VCMQ转发信元可首先基于VCMQ是否为非空的。如果确定了至少一个VCMQ为非空的,则处理从判决块910继续到判决块920。否则,处理从判决块910移到块900。
在判决块920(可用相关联的VOMQ?)处,IM(0)的IM管理器124确定(例如,经由可用性功能部件514)是否可用保持在CM(0)或CM(1)处的至少一个VOMQ以从非空的VCMQ接收信元。如先前所述,VOMQ与IM120和OP150两者相关联。由于交换机200具有耦合到IM(0)的两个CM130和四个OP150,因此保持在CM(0)处的四个VOMQ可与IM(0)相关联,并且保持在CM(1)处的四个VOMQ还可与IM(0)相关联。VOMQ(0,0,0,0)、VOMQ(0,0,0,1)、VOMQ(0,0,1,0)以及VOMQ(0,0,1,1)是保持在CM(0)处的四个VOMQ的示例。VOMQ(0,1,0,0)、VOMQ(0,1,0,1)、VOMQ(0,1,1,0)以及VOMQ(0,1,1,1)是保持在CM(1)处的四个VOMQ的示例。如果确定了可用相关联的VOMQ,则处理从判决块920继续到块930。否则,处理从判决块920移到块900。
在一些示例中,基于信用的流控制机制或方案可用来确定VOMQ的可用性。例如,IM管理器124可具有如下逻辑:该逻辑被配置(例如,可用性功能部件514)成保持(例如,在缓存530中)或跟踪VOMQ的暂时存储一个或更多个信元的容量或可用空间。可用性可基于分配信元信用以指示VOMQ的信元容量。当信元被转发到VOMQ时,从信元信用减去信用单位。一旦信元信用耗尽或变成零,则VOMQ变得不可用。另外,CM(0)的CM管理器134或CM(1)的CM管理器134可包括如下逻辑:该逻辑被配置成向IM管理器124指示何时从VOMQ移除或转发信元。从VOMQ移除或转发信元的指示可导致对VOMQ的信元信用的增加。对信元信用的增加可导致VOMQ变得可用。
继续到块930(选择VCMQ),选择(例如,经由判优功能部件516)IM(0)处的非空的VCMQ以用于将信元转发到CM(0)或CM(1)处的相关联的VOMQ。如果在块910中仅确定IM(0)处的单个VCMQ为非空的,则选择该VCMQ。然而,如果不止一个VCMQ为非空的,则可实施判优方案来选择要选择哪个VCMQ。
在一些示例中,判优方案可包括轮询判优方案。以如下方式实现轮询判优方案:便于当信元被转发到交换机200的目的地OP150时,顺次保持信元的序列(例如,数据流)。例如,可从保持在IP(0,0)处的VOQ接收(例如,经由接收功能部件511)信元序列,并且信元序列保存在在IM(0)处保持的两个相关联的VCMQ中。轮询判优方案可从首先接收信元的VCMQ开始,并且使得序列中第一个信元被首先转发。其它VCMQ中顺序接收到的信元可然后成为接下来转发的信元。因此,作为使用轮询判优方案的结果,当信元被转发到CM(0)和CM(1)时,可顺次保持数据流的两个信元。本公开不限于轮询判优方案,而是可使用其它类型的判优方案,包括但不限于加权的轮询、优先权加权轮询或其它类型的判优方案,以便于当信元被转发到交换机200的目的地OP150时,顺次保持信元序列。
从块930继续到判决块940(传输间隔结束?),处理确定(例如,经由转发功能部件518)传输间隔是否结束。在一些示例中,基于定时器(针对块900如上所述而设置)的过期确定传输间隔的结束。如果传输间隔结束,则处理从判决块940移到块950。否则,处理从判决块940移到块900。
在块950(转发信元)处,将信元从在块930中选择的VCMQ转发到在块920中确定为可用的相关联的VOMQ。如上所述,对于转发到VOMQ的每个信元,从VOMQ的信元计数减去(例如,经由可用性功能部件514)信元单位。
从块950继续到判决块960(要转发其它信元?),处理确定(例如,经由转发功能部件518)是否要将其它信元从所选VCMQ转发到相关联的VOMQ。在一些示例中,基于将信元转发到相关联的VOMQ的可用信元信用和基于是否所选VCMQ依然为非空的来进行确定。如果确定要转发其它信元,则处理从判决块960移到块950。否则,处理从判决块960移到块900。
图10示出了耦合到交换机200(例如,三级MMMIQC分组交换机200)的两个排队输出模块(OM)140的两个排队中央模块(CM)130的示例的框图。如图10所示,两个CM包括CM(0)和CM(1),并且两个OM140包括OM(0)和OM(1)。如图10所示,CM(0)可经由LC(0,0)耦合到OM(0)并且经由LC(0,1)耦合到OM(1)。另外,CM(1)可经由LC(1,0)耦合到OM(0)并且经由LC(1,1)耦合到OM(1)。在一些示例中,去往OP(0,0)或OP(0,1)的信元可经由LC(0,0)从CM(0)或经由LC(0,1)从CM(1)转发。另外,去往OP(0,0)或OP(0,1)的信元可经由LC(1,0)从CM(0)或经由LC(1,1)从CM(1)转发。
如图7所述并且如图7和图10两者所示,CM(0)和CM(1)可分别包括具有八个VOMQ的VOMQ134。分别保持在CM(0)或CM(1)处的八个VOMQ可与IM(0)和IM(1)之一以及OP(0,0)、OP(0,1)、OP(1,0)以及OP(1,1)之一相关联。
如上所述,保持在OM140处的VOPQ可与耦合到OM140的CM130相关联,并且还可与OP150相关联。由于图10描绘了分别耦合到两个CM130的OM(0)和OM(1)以及图2和图10均描绘了包括耦合到每个OM140的两个OP150的交换机200,因此示出OM(0)和OM(1)分别具有总共四个VOPQ。如表1所列,VOPQ可具有标识符。例如,VOPQ(1,0,0)可以是如下VOPQ的标识符:该VOPQ保持在与CM(1)相关联的OM(0)处,并且存储具有目的地OP(0,0)的一个或更多个信元。另外,VOPQ(0,1,1)可以是如下VOPQ的标识符:该VOPQ保持在与CM(0)相关联的OM(1)处,并且存储具有目的地OP(1,1)的一个或更多个信元。
图11示出了输出模块(OM)管理器144的示例架构的框图。如以上图1、2以及10中针对交换机100或交换机200所述,OM140分别包括OM管理器144。在一些示例中,OM管理器144包括如下功能部件和/或逻辑:该功能部件和/或逻辑被配置成将信元接收到保持在OM140处的VOPQ中并且将信元转发到OP150。
图11的示例OM管理器144包括VOPQ逻辑1110、控制逻辑1120、缓存1130、输入/输出(I/O)接口1140以及可选的一个或多个应用1150。如图11所示,VOPQ逻辑1110耦合到控制逻辑1120、缓存1130以及I/O接口1140。在图11中还示出,可选的应用1150与控制逻辑1120协同布置。VOPQ逻辑1110还可包括接收功能部件1112、判优功能部件1114以及转发功能部件1118中的一个或多个。
在一些示例中,图11的框图中描绘的元件被配置成支持或使得实现如在本公开中所述的OM管理器144。给定的OM管理器144可包括图12中描绘的那些元件的部分、全部或者比图12中描绘的那些元件更多的元件。例如,VOPQ逻辑1110和控制逻辑1120可单独或共同表示实现OM管理器144的特征的多样逻辑装置。如先前所述,示例逻辑装置可包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隐退线程或核、或其组合中的一个或更多个。该多样逻辑装置可整个位于给定OM140处,或者逻辑装置的至少一部分可位于交换机200的其它位置处(例如,中央地定位、与IP110、IM120、CM130或其组合一起定位)。
在一些示例中,如图11所示,VOPQ逻辑1110包括接收功能部件1112、判优功能部件1114以及转发功能部件1116。VOPQ逻辑1110可使用这些功能部件来执行操作。如下面更多地描述的,示例操作可包括如下操作的一个或更多个:将一个或更多个信元接收到保持在OM140处的VOMQ中、实施判优策略、以及基于判优策略而将一个或更多个信元转发到目的地OP150。
在一些示例中,控制逻辑1120可被配置成控制OM管理器144的整体操作。如上所述,控制逻辑1120可表示如下多样逻辑装置中的任一个:该逻辑装置被配置成与可执行内容结合操作以实现OM管理器144的控制。在一些替选示例中,可在VOPQ逻辑1110内实现控制逻辑1120的特征和功能性。
与如上所述的缓存430类似,缓存1130可包括多样存储介质。根据一些示例,缓存1130被布置成存储可执行内容。可执行内容可由控制逻辑1120和/或VOPQ逻辑1110使用来实现或启动OM管理器144的功能部件或元件。缓存1130还可被布置成暂时保持由VOPQ逻辑1110的功能元件获得的选择信息和VOPQ信息。
与如上所述的I/O接口440类似,I/O接口1140可经由OM管理器144和驻留在给定OM140上或与给定OM140一起定位的元件(例如,VOPQ142)之间的链接或内部通信介质提供接口。I/O接口1140还可提供OM管理器144和耦合到OM140的元件(诸如CM130)之间的接口。
在一些示例中,OM管理器144包括一个或更多个应用1150,来向控制逻辑1120和/或VOPQ逻辑1110提供指令。
图12示出了用于从保持在中央模块(CM)130(例如,CM(0))处的队列(例如,VOMQ)转发信元的示例方法的流程图,该中央模块(CM)130耦合到交换机200(例如,三级MMMIQC分组交换机200)的输出模块(OM)140。如图2和10所示的交换机200的相同部分连同在图8和11中描述的各种管理器用来说明示例方法。但是所述方法不限于仅对包括图8和11中描述的各种管理器的交换机200的实施。示例方法还可实施在包括如下管理器的三级MMMIQC分组交换机上:该管理器具有在图8和11中描绘的元件中的一个或更多个。
处理在块1200(新传输间隔)开始,其中传输间隔开始。如上所述,传输间隔可以是如下时段:该时段被分配用来通过交换机200的至少部分来转发被划分的数据的一个或更多个信元。在一些示例中,当开始了新传输间隔时,设置定时器。例如,CM(0)的CM管理器134可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成对于在传输间隔结束或完成时过期的时段设置定时器。设置定时器的时段可包括一个或更多个信元从保持在CM130处的VOMQ转发到保持在OM140处的VOPQ花费的时间量。
处理从块1200继续到判决块1210(非空的VOMQ?),其中CM(0)的CM管理器134确定(例如,经由资格功能部件812)是否VOMQ132的至少一个VOMQ为非空的。在一些示例中,确定VOMQ是否有资格被选择来从VOMQ转发信元可首先基于VOMQ是否为非空的。如果确定了至少一个VOMQ为非空的,则处理从判决块1210继续到判决块1220。否则,处理从判决块1210移到块1200。
在判决块1220(可用相关联的VOPQ?)处,CM(0)的CM管理器134确定(例如,经由可用性功能部件814)是否可用保持在OM(0)或OM(1)处的VOPQ以从非空的VOMQ接收信元。如先前所述,VOPQ与CM130和目的地OP150两者相关联。由于CM(0)包括八个VOMQ并且交换机200包括总共四个OP150,则保持在CM(0)处的独立VOMQ可与保持在OM(0)和OM(1)处的独立VOPQ相关联。例如,如果VOMQ(0,0,0,1)是非空的VOMQ,则相关联的VOPQ将是VOPQ(0,0,1)。另外,如果VOMQ(1,0,0,0)是非空的VOMQ,则相关联的VOPQ将是VOPQ(0,0,0)。如果确定了可用相关联的VOPQ,则处理从判决块1220继续到块1230。否则,处理从判决块1220移到块1200。
在一些示例中,基于信用的流控制机制或方案可用来确定VOPQ的可用性。例如,CM管理器134可具有如下逻辑:该逻辑被配置(例如,可用性功能部件814)成保持(例如,在缓存830中)或跟踪暂时存储一个或更多个信元的VOPQ的容量。可用性可基于分配信元信用以指示VOPQ的信元容量。当信元被转发到VOPQ时,从信元信用减去信用单位。一旦信元信用耗尽或变成零,则VOPQ变得不可用。另外,OM(0)的OM管理器144或OM(1)的OM管理器144可包括如下逻辑:该逻辑被配置成向CM管理器124指示何时从VOPQ移除或转发信元。从VOPQ移除或转发信元的指示可导致对VOPQ的信元信用的增加。对信元信用的增加可导致VOPQ变得可用。
继续到块1230(选择VOMQ),选择(例如,经由判优功能部件816)CM(0)处的非空的VOMQ以用于将信元转发到OM(0)或OM(1)处的相关联的VOPQ。如果在块1210中仅确定CM(0)处的单个VOMQ为非空的,则选择该VOMQ。然而,如果不止一个VOMQ为非空的,则可实施判优方案来选择要转发信元的VOMQ。
在一些示例中,判优方案可包括轮询判优方案。如以上针对图9所述,以如下方式实现轮询判优方案:便于当信元被转发到交换机200的目的地OP150时,顺次保持信元的序列(例如,数据流)。在被转发的信元的数量流可通过交换机200的两个不同CM130转发的示例中,在每个CM130处实施轮询判优还便于当信元向它们各自的目的地OP150被转发时顺次保持数据流。由于在序列前端的信元将首先被接收到保持在CM130处的VCMQ中,因此轮询判优方案确保这些信元还将成为被转发到保持在OM140处的相关联的VOPQ的最早信元。然后,可实施(例如,通过OM管理器144)轮询判优方案,用于将信元转发到OP150以进一步保持数据流中的信元的顺序。本公开不限于轮询判优方案,而是可使用其它类型的判优方案,包括但不限于加权的轮询、优先权加权轮询或其它类型的判优方案,以便于当信元被转发到交换机200的目的地OP150时,顺次保持信元序列。
从块1230继续到判决块1240(传输间隔结束?),处理确定(例如,经由转发功能部件818)传输间隔是否结束。在一些示例中,基于定时器(针对块1200如上所述而设置)的过期确定传输间隔的结束。如果传输间隔结束,则处理从判决块1240移到块1250。否则,处理从判决块1240移到块1200。
在块1250(转发信元)处,将信元从在块1230中选择的VOMQ转发到在块1220中确定为可用的相关联的VOPQ。如上所述,对于转发到VOPQ的每个信元,从VOMQ的信元计数减去(例如,经由可用性功能部件814)信元单位。
从块1250继续到判决块1260(要转发其它信元?),其中确定(例如,经由转发功能部件818)是否要将其它信元从所选VOMQ转发到相关联的VOPQ。在一些示例中,基于将信元转发到相关联的VOPQ的可用信元信用和基于是否所选VOMQ依然为非空的来进行确定。如果确定要转发其它信元,则处理从判决块1260移到块1250。否则,处理从判决块1260移到块1200。
图13示出了用于从保持在输出模块(OM)150(例如,CM(0))处的队列(例如,VOPQ)转发信元的示例方法的流程图,该输出模块(OM)150耦合到交换机200(例如,三级MMMIQC分组交换机200)的OP150(例如,OP(0,0)或OP(0,1))。如图2和10所示的交换机200的相同部分连同在图11中描述的管理器用来说明示例方法。但是所述方法不限于仅对包括图11中描述的管理器的交换机200的实施。示例方法还可实施在可包括如下管理器的三级MMMIQC分组交换机上:该管理器具有在图11中描绘的元件中的一个或更多个。
处理在块1300(新传输间隔)开始,其中传输间隔开始。如上所述,传输间隔可以是如下时段:该时段被分配用来通过交换机200的至少部分来转发被划分的数据的一个或更多个信元。在一些示例中,当开始了新传输间隔时,设置定时器。例如,OM(0)的OM管理器144可包括如下逻辑和/或功能部件:该逻辑和/或功能部件被配置成对于在传输间隔结束或完成时过期的时段设置定时器。设置定时器的时段可包括一个或更多个信元从保持在OM140处的VOPQ转发到OP150花费的时间量。
处理从块1300继续到判决块1310(非空的VOPQ?),其中OM(0)的OM管理器144确定(例如,经由资格功能部件1112)是否VOPQ142的至少一个VOPQ为非空的。在一些示例中,确定VOPQ是否有资格被选择来从VOPQ转发信元可首先基于VOPQ是否为非空的。如果确定了至少一个VOPQ为非空的,则处理从判决块1310继续到判决块1320。否则,处理从判决块1310移到块1300。
在块1320(选择VOPQ)处,选择(例如,经由判优功能部件1114)OM(0)处的非空的VOPQ以用于将信元转发到相关联的OP150。如果在块1310中仅确定OM(0)处的单个VOPQ为非空的,则选择该VOPQ。然而,如果不止一个VOPQ为非空的,则可实施判优方案来选择要转发信元的VOPQ。
在一些示例中,判优方案可包括轮询判优方案。如以上针对图9和12所述,以如下方式实现轮询判优方案:便于当信元被转发到交换机200的目的地OP150时,顺次保持信元的序列(例如,数据流)。例如,可从保持在CM(0)处的VOMQ接收(例如,经由接收功能部件1112)去往OP(0,0)的数据流的第一部分,并且该数据流的第一部分保存在与CM(0)和OP(0,0)相关联的VOPQ(例如,VOPQ(0,0,0))中。随后,可从保持在CM(1)处的VOMQ接收去往OP(0,0)的数据流的第二部分,并且该数据流的第二部分保存在与CM(1)和OP(0,0)相关联的VOPQ(例如,VOPQ(1,0,0))中。轮询判优方案可开始于:被接收到VOPQ(0,0,0)中的数据流的第一部分被首先转发到OP(0,0)。随后,被接收到VOPQ(1,0,0)中的数据流的第二部分然后被转发到OP(0,0)。因此,作为使用轮询判优方案的结果,当数据流的部分被转发到OP(0,0)时,可顺次保持数据流的两个部分。本公开不限于轮询判优方案,而是可使用其它类型的判优方案,包括但不限于加权的轮询、优先权加权轮询或其它类型的判优方案,以便于当信元被转发到交换机200的目的地OP150时,顺次保持信元序列。
从块1320继续到判决块1330(传输间隔结束?),处理确定(例如,经由转发功能部件1116)传输间隔是否结束。在一些示例中,基于定时器(针对块1300如上所述而设置)的过期确定传输间隔的结束。如果传输间隔结束,则处理从判决块1330移到块1340。否则,处理从判决块1330移到块1300。
在块1340(转发信元)处,将信元从在块1320中选择的VOPQ转发到相关联的OP150。
从块1340继续到判决块1350(要转发其它信元?),处理确定(例如,经由转发功能部件1116)是否要将其它信元从所选VOPQ转发到相关联的OP150。在一些示例中,基于是否所选VOPQ依然为非空的(具有剩余的信元)来进行确定。如果确定要转发其它信元,则处理从判决块1350移到块1340。否则,处理从判决块1350移到块1300。
图14示出了通过交换机200(例如,三级MMMIQC分组交换机200)转发信元的示例信元路由1410和1420。图14的示例说明不包括交换机200的在图2、3、7以及10中描绘的某些元件。这是为了简化示例信元路由1410和1420的描绘。信元路由1410和1420示出了当最初存储在保持在IP(0,0)处的VOQ的、数据流的一个或更多个信元被转发到示例目的地OP(0,0)时,数据流可遵循的示例信元路由。在图14中,信元路由1410被描绘为实线,而信元路由1420被描绘为虚线。
在一些示例中,数据由交换机200接收。数据可被划分成信元的序列(例如,数据流)并且通过交换机200被转发。信元路由1410和1420指示数据流的信元可如何通过交换机200来沿着不同路由前进的示例。如先前所述,交换机200的每级的逻辑可被配置成或布置成通过交换机200转发信元,使得数据流的信元可按数据被划分成信元的顺序在OP(0,0)处离开交换机200。
根据一些示例,响应于传输间隔,来自数据流的一个或更多个信元在分别保持在交换机200的元件处的队列之间被转发。例如,如图14所示,来自数据流的一部分的信元可经由信元路由1410转发。因此,响应于第一传输间隔,信元从保持在IP(0,0)处的VOQ(0,0,0,0)被转发到保持在IM(0)处的VCMQ(0,0,0)。然后,响应于第二传输间隔,信元被转发到保持在CM(0)处的VOMQ(0,0,0,0)。此外,响应于第三传输间隔,信元被转发到VOPQ(0,0,0)。最后,响应于第四传输间隔,信元被转发到信元的目的地OP(0,0)。
第一、第二、第三以及第四传输间隔被描述为仅指示从给定信元的角度来看的定时事件。因此,响应于相同第一、第二、第三以及第四间隔的至少部分,来自相同或不同数据流的其它信元可经由不同信元路由(例如,信元路由1420)被转发。另外,可在第一、第二、第三以及第四传输间隔之前、之间或之后出现针对通过交换机200转发的其它信元的其它传输间隔。
图15示出了示例计算机程序产品1500的框图。在一个实施例中,如图15所示,计算机程序产品1500包括信号携带介质1502,信号携带介质1502还可包括指令1504。在一些示例中,指令1504在通过与输入模块(例如,VCMQ逻辑510)相关联的逻辑执行时使得逻辑选择保持在输入模块处的VCMQ来标识所选VCMQ,其中,指令1504用于通过三级Clos网络分组交换机(例如,三级MMMIQC分组交换机100或三级MMMIQC分组交换机200)来转发被划分成一个或更多个信元的数据。所选VCMQ存储被划分成去往如下OP的一个或更多个信元的数据:该OP耦合到三级MMMIQC分组交换机的OM。选择可基于判优方案和基于是否可用保持在耦合到IM的一个或更多个CM当中的CM处的VOMQ来接收从VCMQ转发的信元。指令1504还可使得逻辑响应于传输间隔而将信元从所选VCMQ转发到VOMQ。VOMQ可与IM相关联并且还可与信元的目的OP相关联。
如图15所描绘,一些示例可包括计算机可读介质1506、可记录介质1508以及通信介质1510中的一个或更多个。这些元件周围的虚线框描绘了包括在其内的不同类型介质,但是不限于信号携带介质1502。这些类型的介质可分发要由与输入模块相关联的逻辑执行的指令1504。计算机可读介质1506和可记录介质1508可包括但不限于软盘、硬盘(HDD)、致密盘(CD)、数字多功能盘(DVD)、数字磁带、计算机存储器等。通信介质1510可包括但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
图16示出了根据本公开的示例计算装置1600,其被布置用于通过三级Clos网络分组交换机(例如,三级MMMIQC分组交换机)来转发被划分成一个或更多个信元的数据。在非常基本的配置1601中,计算装置1600通常包括一个或更多个处理器1610和系统存储器1620。存储器总线1630可用于处理器1610和系统存储器1620之间的通信。
取决于所期望的配置,处理器1610可以是包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其组合的任意类型。处理器1610可包括不止一级缓存(诸如一级缓存1611和二级缓存1612)、处理器核1613以及寄存器1614。处理器核1613可包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。存储器控制器1615还可与处理器1610一起使用,或者在一些实现中,存储器控制器1615可以是处理器1610的内部部分。
取决于所期望的配置,系统存储器1620可以是包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任意组合的任意类型。系统存储器1620通常包括操作系统1621、一个或更多个应用1622以及程序数据1624。应用1622包括被布置成执行如这里所述的功能的三级Clos网络指令1623,该功能包括关于针对图4、5、8以及11示出的管理器架构描述的功能而描述的动作或包括关于图6、9、12以及13中示出的流程图而描述的动作。程序数据1624包括用于实现指令1623(例如,保持信元计数信用、实施判优方案等)的信元转发数据1625。在一些示例中,应用1622可被布置成在操作系统1621上与程序数据1624一起工作,使得可如在这里所述提供实施通过三级MMMIQC分组交换机来转发被划分成一个或更多个信元的数据。通过虚线1601内的这些部件在图16中示出了该所描述的基本配置。
计算装置1600可以具有附加特征或功能性、以及便于基本配置1601和任何所需装置及接口之间的通信的附加接口。例如,总线/接口控制器1640可以用来便于基本配置1601和一个或更多个数据存储装置1650之间经由存储接口总线1641的通信。数据存储装置1650可以是可拆卸存储装置1651、非可拆卸存储装置1652、或其组合。可拆卸存储装置和非可拆卸存储装置的示例例如包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘驱动器、诸如致密盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)、以及磁带驱动器。示例计算机存储介质可以包括以用于存储信息的任意方法或技术(诸如计算机可读指令、数据结构、程序模块、或其它数据)实现的易失性和非易失性、可拆卸以及不可拆卸介质。
系统存储器1620、可拆卸存储1651以及不可拆卸存储1652都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、盒式磁带、磁带、磁盘存储或其它磁存储装置、或可以用来存储期望信息并可由计算装置1600存取的任意其它介质。任意这样的计算机存储介质可以是装置1600的一部分。
计算装置1600还可以包括接口总线1642,其用于便利经由总线/接口控制器1640的、从各种接口装置(例如,输出接口、外围接口、以及通信接口)到基本配置1601的通信。示例输出接口1660包括图形处理单元1661和音频处理单元1662,输出接口1660可以被配置成经由一个或更多个A/V端口1663来与各种外部装置(诸如,显示器或扬声器)通信。示例外围接口1660包括串行接口控制器1671或并行接口控制器1672,外围接口1660可被配置成经由一个或更多个I/O端口1673来与诸如输入装置(例如,键盘、鼠标、笔、声音输入装置、触摸输入装置等)的外部装置或其它外围装置(例如,打印机、扫描仪等)通信。示例通信接口1680包括网络控制器1681,通信接口1680可被布置成经由一个或更多个通信端口1682而便于在网络通信上与一个或更多个其它计算装置1690通信。
在一些示例中,计算装置1690可包括在如图1所示的三级MMMIQC分组交换机中包括的一个或更多个互连模块和/或端口(例如,IP110、IM120、CM130、OM140、OP150)中的全部或至少部分。网络通信连接是通信介质的一个示例。通信介质可通常通过计算机可读指令、数据结构、程序模块、或调制的数据信号(诸如,载波或其它传输机制)中的其它数据来实施,并且包括任意信息传递介质。“调制的数据信号”可以是如下信号:该信号具有以对于信号中的信息进行编码的方式设置或改变的其特性中的一个或更多个特性。作为示例而不是限制,通信介质可包括诸如有线网络或直接有线连接的有线介质、诸如声学、射频(RF)、红外(IR)的无线介质或其它无线介质。如在这里使用的术语计算机可读介质可以包括存储介质和通信介质两者。
在本公开中对术语“对...响应”或“响应于”的参照不限于仅对特定功能部件和/或结构元件的响应。功能部件还可响应于其它功能部件和/或结构元件,并且还位于该功能部件和/或结构元件内。另外,当在这里或在随后的权利要求中使用诸如“耦合”或“做出响应的”或“响应于”或“与...通信”的术语或词语时,这些术语应该被宽泛地解释。例如,词语“耦合到”对于使用该词语的上下文可指适当通信地、电地和/或可操作地耦合。
本领域技术人员将意识到,在本领域内通常以这里阐述的方式来描述装置和/或处理,并且在下文中使用工程实践来将这样描述的装置(例如,交换机、输入端口、输入模块、中央模块、输出模块、输出端口、计算装置等)和/或方法集成到数据处理系统中。即,这里描述的装置和/或方法的至少一部分可以经由合理数量的实验被集成到数据处理系统中。本领域技术人员将意识到,典型的数据处理系统通常包括如下中的一个或更多个:系统单元壳体、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户接口以及应用程序、诸如触摸板或触摸屏的一个或更多个互动装置、和/或包括反馈循环和控制电机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或数量的控制电机)的控制系统。可利用任何合适的商业可用的部件(诸如通常在数据计算/通信和/或网络计算/通信系统中可得到的那些部件)来实现典型的数据处理系统。
这里描述的主题内容有时说明了包含在其内的不同部件或元件,或与不同其它部件或元件连接。要理解的是,这样描绘的架构仅是示例,并且事实上,可实施实现相同功能性的许多其它架构。在概念的意义上,实现相同功能性的部件的任何布置是有效“相关联的”,使得实现期望的功能性。因此,这里被组合以实现特定功能性的任意两个部件可以被视为彼此“相关联”,使得实现期望的功能性,而与架构和中间部件无关。相似地,这样相关联的任意两个部件还可以被视为彼此“可操作地连接”或“可操作地耦合”以实现期望的功能性,并且能够如此相关联的任意两个部件还可以被视为彼此“可操作地耦合”以实现期望的功能性。可操作地耦合的具体示例包括但不限于物理可配对和/或物理互连的部件和/或无线可互连和/或无线互连的部件和/或逻辑互连和/或逻辑可互连的部件。
关于这里使用基本任意复数和/或单数术语,本领域技术人员可以如对上下文和/或应用适当的,从复数转换成单数和/或从单数转换成复数。为了清楚起见,这里可以明确地阐述各种单数/复数转变。
本领域技术人员将理解,通常,这里和尤其在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在为“开放式”术语(例如,术语“包含”应该被解释为“包含但不限于”,术语“具有”应该被解释为“至少具有”,术语“包括”应该被解释为“包括但不限于”等)。本领域技术人员此外将理解的是,如果意指引入的权利要求叙述的特定数量,则这样的意图将在权利要求中被明确地叙述,并且在缺少这样的叙述的情况下,这样的意图不存在。例如,作为理解的辅助,以下所附权利要求可包含使用引导性词语(introductoryphrase)“至少一个”和“一个或更多个”来引入权利要求叙述。然而,即使当相同权利要求包括引导性词语“一个或更多个”或“至少一个”以及诸如“一”或“一个”的不定冠词(例如,“一”和/或“一个”通常应该被解释为意味着“至少一个”或“一个或更多个”)时,使用这样的词语不应该被解释为暗示通过不定冠词“一”或“一个”的权利要求叙述的引入将包含这样所引入的权利要求叙述的任何特定权利要求限制于仅包含一个这样叙述的发明;上述对用来引入权利要求叙述的定冠词的使用同样成立。另外,即使明确地叙述了所引入的权利要求叙述的特定数量,但是本领域技术人员将意识到,这样的叙述通常被解释为意味着至少所叙述的数量(例如,没有其它修饰语的、“两个叙述”的无多余的叙述通常意味着至少两个叙述、或者两个或更多个叙述)。此外,在使用与“A、B以及C等中的至少一个”类似的约定的那些实例中,通常这样的结构在意义上意指本领域技术人员将理解该约定(例如,“具有A、B以及C中的至少一个的系统”将包括但不限于具有只有A、只有B、只有C、总共A和B、总共A和C、总共B和C、和/或总共A、B以及C等的系统)。在使用与“A、B或C等中的至少一个”类似的约定的那些实例中,通常这样的约定在意义上意指本领域技术人员将理解该约定(例如,“具有A、B或C中的至少一个的系统”将包括但不限于具有只有A、只有B、只有C、总共A和B、总共A和C、总共B和C、和/或总共A、B以及C等的系统)。此外本领域技术人员将理解,无论是在说明书、权利要求还是附图中,表示两个或更多个替选术语的任何实质上转折词和/或词语应该被理解为预期如下可能:包括术语中的一个、术语中的另一个或术语中的两者。例如,词语“A或B”将被理解为包括如下可能:“A”或“B”或“A和B”。

Claims (23)

1.一种用于通过三级缓存-缓存-缓存MMM输入排队Clos网络IQC分组交换机的一部分来转发数据的方法,在所述三级MMMIQC分组交换机的输入端口处接收数据,数据被划分成去往耦合到所述三级MMMIQC分组交换机的输出模块的输出端口的一个或更多个信元,所述一个或更多个信元当中的信元被转发到耦合到所述输入端口的输入模块,所述方法包括:
选择保持在输入端口处的虚拟输出队列,所选虚拟输出队列存储被划分成去往所述输出端口的一个或更多个信元的所述数据,其中,虚拟输出队列的所述选择基于是否能够利用保持在所述输入模块处的虚拟中央模块队列来接收去往所述输出端口的所述一个或更多个信元当中的信元;
将信元从所述所选虚拟输出队列转发到所述虚拟中央模块队列,其中,所述虚拟中央模块队列与耦合到所述输入模块的所述输入端口相关联并且还与耦合到所述输入模块的中央模块相关联;
选择保持在所述输入模块处的所述虚拟中央模块队列,保持在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输出端口的信元,其中,虚拟中央模块队列的所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元;以及
将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟输出模块队列与所述输入模块相关联并且还与目的地为信元的输出端口相关联;
其中,n=分别对于每个输入模块和输出模块的输入端口和输出端口的数量;
k=输入模块的数量,以及输出模块的数量;
m=中央模块的数量;
IM(i)=第i+1个输入模块,其中0≤i≤k-1;
CM(r)=第r+1个中央模块,其中0≤r≤m-1;
OM(j)=第j+1个输出模块,其中0≤j≤k-1;
IP(i,g)=IM(i)处的第(g+1)个输入端口,其中0≤g≤n-1;
OP(j,h)=OM(j)处的第(h+1)个输出端口,其中0≤h≤n-1;
VOQ(i,g,j,h)=保持在具有标识符IP(i,g)的输入端口处的虚拟输出队列,该虚拟输出队列存储去往具有标识符OP(j,h)的输出端口的信元;
VCMQ(i,g,r)=保持在具有标识符IM(i)的输入模块处的虚拟中央模块队列,该虚拟中央模块队列存储如下信元:其从具有标识符IP(i,g)的输入端口转发并且被转发到具有标识符CM(r)的中央模块;
VOMQ(i,r,j,h)=保持在具有标识符CM(r)的中央模块处的虚拟输出模块队列,该虚拟输出模块队列存储如下信元:其从具有标识符IM(i)的输入模块转发并且去往具有标识符OP(j,h)的输出端口。
2.根据权利要求1所述的方法,其中,所述判优方案包括轮询判优方案。
3.根据权利要求1所述的方法,其中,选择保持在所述输入模块处的所述虚拟中央模块队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟输出模块队列来接收信元。
4.根据权利要求3所述的方法,其中,实现所述基于信用的流控制机制包括基于将信元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到虚拟输出端口队列而增加所述信用单位,所述虚拟输出端口队列保持在耦合到目的地为信元的所述输出端口的所述输出模块处,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟输出模块队列存储被划分成一个或更多个信元的数据的容量。
5.一种用于通过三级缓存-缓存-缓存MMM输入队列Clos网络IQC分组交换机来转发数据的方法,所述方法包括:
选择保持在输入端口处的虚拟输出队列,所述输入端口耦合到所述三级MMMIQC分组交换机的输入模块,所选虚拟输出队列存储被划分成去往输出端口的一个或更多个信元的数据,所述输出端口耦合到所述MMMIQC分组交换机的输出模块,其中,虚拟输出队列的所述选择基于是否能够利用保持在所述输入模块处的虚拟中央模块队列来接收去往所述输出端口的所述一个或更多个信元当中的信元;
将信元从所述所选虚拟输出队列转发到所述虚拟中央模块队列,其中,所述虚拟中央模块队列与耦合到所述输入模块的所述输入端口相关联并且还与耦合到所述输入模块的中央模块相关联;
将信元接收到所述虚拟中央模块队列中并且选择所述虚拟中央模块队列来转发信元,其中,虚拟中央模块队列的所述选择基于判优方案并且还基于是否能够利用保持在所述中央模块处的虚拟输出模块队列来接收信元;
将信元从所述虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟输出模块队列与所述输入模块相关联并且还与目的地为信元的输出端口相关联;
将信元接收到所述虚拟输出模块队列并且选择所述虚拟输出模块队列来转发信元,其中,虚拟输出模块队列的所述选择基于所述判优方案并且还基于是否能够利用保持在所述输出模块处的虚拟输出端口队列来接收信元;
将信元从所述虚拟输出模块队列转发到所述虚拟输出端口队列,其中,所述虚拟输出端口队列与所述中央模块相关联并且还与目的地为信元的输出端口相关联;
将信元接收到所述虚拟输出端口队列并且选择所述虚拟输出端口队列来将信元转发到所述目的地输出端口,其中,虚拟输出端口队列的所述选择基于所述判优方案;以及
将信元从所述虚拟输出端口队列转发到目的地为信元的输出端口;
其中,n=分别对于每个输入模块和输出模块的输入端口和输出端口的数量;
k=输入模块的数量,以及输出模块的数量;
m=中央模块的数量;
IM(i)=第i+1个输入模块,其中0≤i≤k-1;
CM(r)=第r+1个中央模块,其中0≤r≤m-1;
OM(j)=第j+1个输出模块,其中0≤j≤k-1;
IP(i,g)=IM(i)处的第(g+1)个输入端口,其中0≤g≤n-1;
OP(j,h)=OM(j)处的第(h+1)个输出端口,其中0≤h≤n-1;
VOQ(i,g,j,h)=保持在具有标识符IP(i,g)的输入端口处的虚拟输出队列,该虚拟输出队列存储去往具有标识符OP(j,h)的输出端口的信元;
VCMQ(i,g,r)=保持在具有标识符IM(i)的输入模块处的虚拟中央模块队列,该虚拟中央模块队列存储如下信元:其从具有标识符IP(i,g)的输入端口转发并且被转发到具有标识符CM(r)的中央模块;
VOMQ(i,r,j,h)=保持在具有标识符CM(r)的中央模块处的虚拟输出模块队列,该虚拟输出模块队列存储如下信元:其从具有标识符IM(i)的输入模块转发并且去往具有标识符OP(j,h)的输出端口。
6.根据权利要求5所述的方法,其中,所述判优方案包括轮询判优方案。
7.根据权利要求5所述的方法,其中,选择所述虚拟输出队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟中央模块队列来接收信元。
8.根据权利要求7所述的方法,其中,实现所述基于信用的流控制机制包括基于将信元转发到所述虚拟中央模块队列而减去信用单位并且基于将信元转发到虚拟输出模块队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。
9.根据权利要求5所述的方法,其中,选择所述虚拟输出模块队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟输出模块队列来接收信元。
10.根据权利要求9所述的方法,其中,实现所述基于信用的流控制机制包括基于将信元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到所述虚拟输出端口队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟输出模块队列存储被划分成一个或更多个信元的数据的容量。
11.根据权利要求5所述的方法,其中,选择所述虚拟输出端口队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟输出端口队列来接收信元。
12.根据权利要求11所述的方法,其中,实现所述基于信用的流控制机制包括基于将信元转发到所述虚拟输出端口队列而减去信用单位并且基于将信元转发到目的地为信元的输出端口而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟输出端口队列存储被划分成一个或更多个信元的数据的容量。
13.一种通过三级缓存-缓存-缓存MMM输入排队Clos网络IQC分组交换机的一部分来转发数据的设备,在所述三级MMMIQC分组交换机的输入端口处接收数据,数据被划分成去往耦合到所述三级MMMIQC分组交换机的输出模块的输出端口的一个或更多个信元,所述一个或更多个信元当中的信元被转发到耦合到所述输入端口的输入模块,所述设备包括:
输入端口,其被配置成保持虚拟输出队列以存储被划分成去往所述输出端口的一个或更多个信元的所述数据,所述输入端口具有输入端口管理器,其中,所述输入端口管理器和所述虚拟输出队列彼此协同布置以将去往所述输出端口的所述一个或更多个信元存储到所述虚拟输出队列中,并且从所述虚拟输出队列转发所述一个或更多个信元的信元;
耦合到所述输入端口的输入模块,所述输入模块被配置成保持虚拟中央模块队列以存储从所述虚拟输出队列转发的所述信元;
所述输入模块的输入模块管理器,其包括逻辑,所述逻辑被配置成:
选择保持在所述输入模块处的所述虚拟中央模块队列,保持在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输出端口的信元,其中,虚拟中央模块队列的所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元;以及
将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟输出模块队列与所述输入模块相关联并且还与目的地为信元的输出端口相关联;
其中,n=分别对于每个输入模块和输出模块的输入端口和输出端口的数量;
k=输入模块的数量,以及输出模块的数量;
m=中央模块的数量;
IM(i)=第i+1个输入模块,其中0≤i≤k-1;
CM(r)=第r+1个中央模块,其中0≤r≤m-1;
OM(j)=第j+1个输出模块,其中0≤j≤k-1;
IP(i,g)=IM(i)处的第(g+1)个输入端口,其中0≤g≤n-1;
OP(j,h)=OM(j)处的第(h+1)个输出端口,其中0≤h≤n-1;
VOQ(i,g,j,h)=保持在具有标识符IP(i,g)的输入端口处的虚拟输出队列,该虚拟输出队列存储去往具有标识符OP(j,h)的输出端口的信元;
VCMQ(i,g,r)=保持在具有标识符IM(i)的输入模块处的虚拟中央模块队列,该虚拟中央模块队列存储如下信元:其从具有标识符IP(i,g)的输入端口转发并且被转发到具有标识符CM(r)的中央模块;
VOMQ(i,r,j,h)=保持在具有标识符CM(r)的中央模块处的虚拟输出模块队列,该虚拟输出模块队列存储如下信元:其从具有标识符IM(i)的输入模块转发并且去往具有标识符OP(j,h)的输出端口。
14.根据权利要求13所述的设备,其中,所述判优方案包括轮询判优方案。
15.根据权利要求13所述的设备,其中,所述输入模块管理器还包括逻辑,所述逻辑被配置成实现基于信用的流控制机制以确定是否能够利用所述虚拟输出模块队列来接收信元。
16.根据权利要求15所述的设备,其中,被配置成实现所述基于信用的流控制机制的输入模块管理器逻辑被配置成:
基于信元被转发到所述所选虚拟中央模块队列而减去信用单位;并且
基于信元被转发到保持在耦合到目的地为信元的输出端口的所述输出模块处的虚拟输出端口队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。
17.一种三级缓存-缓存-缓存MMM输入排队IQC分组交换机,包括:
输入端口,其被配置成保持虚拟输出队列以存储被划分成去往输出端口的一个或更多个信元的数据,所述输入端口具有输入端口管理器,其中,所述输入端口管理器和所述虚拟输出队列彼此协同布置以将去往所述输出端口的所述一个或更多个信元存储到所述虚拟输出队列中,并且从所述虚拟输出队列转发所述一个或更多个信元的信元;
耦合到所述输入端口的输入模块,所述输入模块被配置成保持虚拟中央模块队列以存储从所述虚拟输出队列转发的信元,所述输入模块具有输入模块管理器,其中,所述输入模块管理器和所述虚拟中央模块队列彼此协同布置以接收从所述虚拟输出队列转发的信元、将信元存储在所述虚拟中央模块队列中以及从所述虚拟中央模块队列转发信元;
耦合到所述输入模块的中央模块,所述中央模块被配置成保持虚拟输出模块队列以存储从所述虚拟中央模块队列转发的信元,所述中央模块具有中央模块管理器,其中,所述中央模块管理器和所述虚拟输出模块队列彼此协同布置以接收从所述虚拟中央模块队列转发的信元、将信元存储在所述虚拟输出模块队列中以及从所述虚拟输出模块队列转发信元;以及
耦合到所述中央模块的输出模块,所述输出模块配置成保持虚拟输出端口队列以存储从所述虚拟输出模块队列转发的信元,所述输出模块具有输出模块管理器,其中,所述输出模块管理器和所述虚拟输出端口队列彼此协同布置以接收从所述虚拟输出模块队列转发的信元、将信元存储在所述虚拟输出端口队列中以及从所述虚拟输出端口队列转发信元,
其中,为了从所述虚拟输出队列转发信元,所述输入端口管理器被配置成:至少部分基于是否能够利用保持在所述输入模块处的所述虚拟中央模块队列来接收从所述虚拟输出队列转发的信元,而转发信元,
其中,为了至少部分基于是否能够利用所述虚拟中央模块队列来接收从所述虚拟输出队列转发的信元而转发信元,所述输入端口管理器被配置成实现基于信用的流控制机制,
其中,为了实现所述基于信用的流控制机制,所述输入端口管理器被配置成:
基于信元被转发到所述所选虚拟中央模块队列而减去信用单位;并且
基于信元被转发到所述虚拟输出模块队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量;
其中,n=分别对于每个输入模块和输出模块的输入端口和输出端口的数量;
k=输入模块的数量,以及输出模块的数量;
m=中央模块的数量;
IM(i)=第i+1个输入模块,其中0≤i≤k-1;
CM(r)=第r+1个中央模块,其中0≤r≤m-1;
OM(j)=第j+1个输出模块,其中0≤j≤k-1;
IP(i,g)=IM(i)处的第(g+1)个输入端口,其中0≤g≤n-1;
OP(j,h)=OM(j)处的第(h+1)个输出端口,其中0≤h≤n-1;
VOQ(i,g,j,h)=保持在具有标识符IP(i,g)的输入端口处的虚拟输出队列,该虚拟输出队列存储去往具有标识符OP(j,h)的输出端口的信元;
VCMQ(i,g,r)=保持在具有标识符IM(i)的输入模块处的虚拟中央模块队列,该虚拟中央模块队列存储如下信元:其从具有标识符IP(i,g)的输入端口转发并且被转发到具有标识符CM(r)的中央模块;
VOMQ(i,r,j,h)=保持在具有标识符CM(r)的中央模块处的虚拟输出模块队列,该虚拟输出模块队列存储如下信元:其从具有标识符IM(i)的输入模块转发并且去往具有标识符OP(j,h)的输出端口。
18.根据权利要求17所述的三级MMMIQC分组交换机,其中,所述输入模块管理器被配置成基于是否能利用保持在所述中央模块处的所述虚拟输出模块队列来接收从所述虚拟中央模块队列转发的信元并且基于判优方案,而转发信元。
19.根据权利要求18所述的三级MMMIQC分组交换机,其中,所述判优方案包括轮询判优方案。
20.根据权利要求17所述的三级MMMIQC分组交换机,其中,所述中央模块管理器被配置成基于是否能够利用保持在所述输出模块处的所述虚拟输出端口队列来接收从所述虚拟输出模块队列转发的信元并且基于判优方案,而转发信元。
21.根据权利要求20所述的三级MMMIQC分组交换机,其中,所述判优方案包括轮询判优方案。
22.根据权利要求17所述的三级MMMIQC分组交换机,其中,所述输出模块管理器被配置成基于判优方案而转发信元。
23.根据权利要求22所述的三级MMMIQC分组交换机,其中,所述判优方案包括轮询判优方案。
CN201080033162.5A 2009-07-29 2010-06-10 通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备 Expired - Fee Related CN102474460B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/511,814 2009-07-29
US12/511,814 US8274988B2 (en) 2009-07-29 2009-07-29 Forwarding data through a three-stage Clos-network packet switch with memory at each stage
PCT/US2010/038161 WO2011014304A1 (en) 2009-07-29 2010-06-10 Forwarding data through a three-stage clos-network packet switch with memory at each stage

Publications (2)

Publication Number Publication Date
CN102474460A CN102474460A (zh) 2012-05-23
CN102474460B true CN102474460B (zh) 2016-05-25

Family

ID=43526939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080033162.5A Expired - Fee Related CN102474460B (zh) 2009-07-29 2010-06-10 通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备

Country Status (4)

Country Link
US (1) US8274988B2 (zh)
EP (1) EP2460325A4 (zh)
CN (1) CN102474460B (zh)
WO (1) WO2011014304A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2262484B1 (en) * 2008-03-11 2013-01-23 Depomed, Inc. Gastric retentive extended-release dosage forms comprising combinations of a non-opioid analgesic and an opioid analgesic
US8995456B2 (en) * 2009-04-08 2015-03-31 Empire Technology Development Llc Space-space-memory (SSM) Clos-network packet switch
US8274988B2 (en) * 2009-07-29 2012-09-25 New Jersey Institute Of Technology Forwarding data through a three-stage Clos-network packet switch with memory at each stage
US8675673B2 (en) 2009-07-29 2014-03-18 New Jersey Institute Of Technology Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage
RU2014106859A (ru) * 2011-07-25 2015-08-27 Серверджи, Инк. Способ и система для построения маломощной компьютерной системы
WO2013173966A1 (zh) * 2012-05-21 2013-11-28 华为技术有限公司 基于三级互联交换网络的调度方法、装置及系统
EP3273065B1 (en) * 2015-03-17 2021-06-16 Mitsubishi Heavy Industries Engine & Turbocharger, Ltd. Impeller for rotary machine, compressor, turbocharger, and method for manufacturing impeller for rotary machine
CN105337883B (zh) * 2015-08-20 2018-12-18 电子科技大学 一种支持多业务的网络交换装置及其实现方法
US10182017B2 (en) 2016-06-30 2019-01-15 Mellanox Technologies Tlv Ltd. Estimating multiple distinct-flow counts in parallel
WO2018073674A1 (en) * 2016-10-21 2018-04-26 Levi Dinor Adam Vestergaard Flat data routing chain
US10218642B2 (en) * 2017-03-27 2019-02-26 Mellanox Technologies Tlv Ltd. Switch arbitration based on distinct-flow counts
CN116980366A (zh) * 2023-09-25 2023-10-31 苏州元脑智能科技有限公司 多级交换网络及输入输出端口匹配方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6992984B1 (en) * 2000-03-07 2006-01-31 Lucent Technologies Inc. Credit-based adaptive flow control for multi-stage multi-dimensional switching architecture
US6961342B1 (en) * 2000-03-29 2005-11-01 Necdet Uzun Methods and apparatus for switching packets
US7103056B2 (en) * 2000-11-20 2006-09-05 Polytechnic University Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module
US7006514B2 (en) * 2001-05-31 2006-02-28 Polytechnic University Pipelined maximal-sized matching cell dispatch scheduling
US6940851B2 (en) * 2000-11-20 2005-09-06 Polytechnic University Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
US7046661B2 (en) * 2000-11-20 2006-05-16 Polytechnic University Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined hierarchical arbitration scheme
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置
US7586909B1 (en) * 2002-03-06 2009-09-08 Agere Systems Inc. Striping algorithm for switching fabric
DE10213133A1 (de) * 2002-03-23 2003-10-02 Marconi Comm Gmbh Optische Schaltstation
AU2003253708A1 (en) * 2002-06-27 2004-01-19 Tellabs Operations, Inc. Apparatus and method to switch packets using a switch fabric with memory
US7274701B2 (en) * 2002-11-04 2007-09-25 Tellabs Operations, Inc. Cell based wrapped wave front arbiter (WWFA) with bandwidth reservation
US7542464B2 (en) * 2003-05-14 2009-06-02 Fraser Alexander G Switching network
US7852829B2 (en) * 2003-06-19 2010-12-14 Polytechnic University Packet reassembly and deadlock avoidance for use in a packet switch
US20070053356A1 (en) * 2003-10-30 2007-03-08 Venkat Konda Nonblocking and deterministic multirate multicast packet scheduling
US7535893B1 (en) * 2003-12-05 2009-05-19 Mahi Networks, Inc. TDM services using a packet-switched fabric
US7688816B2 (en) * 2004-03-15 2010-03-30 Jinsoo Park Maintaining packet sequence using cell flow control
US7619970B2 (en) 2006-04-27 2009-11-17 Dune Semiconductor Ltd. Method, device and system of scheduling data transport over a fabric
US7925816B2 (en) * 2006-11-06 2011-04-12 Oracle America, Inc. Architecture for an output buffered switch with input groups
US7843908B2 (en) * 2007-06-08 2010-11-30 Roberto Rojas-Cessa Scalable two-stage Clos-networking switch and module-first matching
US7965705B2 (en) * 2009-03-19 2011-06-21 Oracle America, Inc. Fast and fair arbitration on a data link
US8300650B2 (en) * 2009-06-16 2012-10-30 New Jersey Institute Of Technology Configuring a three-stage Clos-network packet switch
US8279863B2 (en) * 2009-06-30 2012-10-02 Juniper Networks, Inc. Methods and apparatus for dynamic detection of transit times between stages in distributed multi-stage switch fabrics
US8274988B2 (en) * 2009-07-29 2012-09-25 New Jersey Institute Of Technology Forwarding data through a three-stage Clos-network packet switch with memory at each stage

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Combined Input-Crosspiont Buffered Packet Switch with Shared Crosspoint Buffers;Roberto Rojas-cessa等;《Conference on Information Sciences and Systems》;20050331;正文第3栏14-25行 *
Roberto Rojas-cessa等.Load-balanced Combined Input-Crosspoint Buffered Packet Switch and Long Round-Trip Times.《IEEE Communications Letters》.2005,第9卷(第7期),正文第3栏第51-53行,第4栏第9-15行、第38-50行. *
杨帆等.一种新的输入缓存Clos结构及其路由/调度算法.《西安电子科技大学学报(自然科学版)》.2007,第34卷(第1期),正文第3-4段,图1. *

Also Published As

Publication number Publication date
WO2011014304A1 (en) 2011-02-03
CN102474460A (zh) 2012-05-23
EP2460325A1 (en) 2012-06-06
EP2460325A4 (en) 2017-09-20
US8274988B2 (en) 2012-09-25
US20110026532A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
CN102474460B (zh) 通过每级具有缓存的三级Clos网络分组交换机来转发数据的方法和设备
CN102577258B (zh) 配置三级clos网络分组交换机
JP5203402B2 (ja) 空−空−メモリ(SSM)Closネットワークパケットスイッチ
US7680126B2 (en) Two-dimensional pipelined scheduling technique
TWI390913B (zh) 使用一緩衝交叉式交換系統用於在資料模組之間傳輸資料的裝置、方法、以及機器可讀儲存媒體
Bartic et al. Highly scalable network on chip for reconfigurable systems
JP3475900B2 (ja) 調停方式及びそれを用いたアービタ回路
US6915372B2 (en) Methods and apparatus for managing traffic through a buffered crossbar switch fabric
US20080175259A1 (en) Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput
US20130077500A1 (en) Parallel Traffic Generator With Priority Flow Control
US20080031262A1 (en) Load-balanced switch architecture for reducing cell delay time
CN102474461B (zh) 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元
CN111953618B (zh) 一种多级并行交换架构下的解乱序方法、装置及系统
US6714554B1 (en) Method and system for sorting packets in a network
Kim High-radix interconnection networks
Sule et al. TRIDENT: A load-balancing Clos-network packet switch with queues between input and central stages and in-order forwarding
Mhamdi et al. Practical scheduling algorithms for high-performance packet switches
CN103416033B (zh) 大型互联架构
Simos et al. Building an FoC using large, buffered crossbar cores
Joshi et al. Multi-core image processing system using network on chip interconnect
Hassen et al. A scalable packet-switch architecture based on OQ NoCs for data center networks
JP2009206896A (ja) パケット転送装置におけるレート監視方式
Bidoki et al. A logarithmic scheduling algorithm for high speed input-queued switches
CN106302175A (zh) 一种sdn中的数据包发送方法及设备
JP2803209B2 (ja) パケットスイッチ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160525

Termination date: 20190610

CF01 Termination of patent right due to non-payment of annual fee