CN102474461A - 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元 - Google Patents
通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元 Download PDFInfo
- Publication number
- CN102474461A CN102474461A CN2010800334021A CN201080033402A CN102474461A CN 102474461 A CN102474461 A CN 102474461A CN 2010800334021 A CN2010800334021 A CN 2010800334021A CN 201080033402 A CN201080033402 A CN 201080033402A CN 102474461 A CN102474461 A CN 102474461A
- Authority
- CN
- China
- Prior art keywords
- cell
- module
- output module
- output
- transmit
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
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
相关申请
本申请要求Roberto Rojas-Cessa和Ziqian Dong在2009年7月29日提交和题为“Forwarding Cells of Partitioned Data Through aThree-Stage Clos-Network Packet Switch with Memory at each Stage”的美国申请序列号12/511,424的优先权。本申请还涉及Roberto Rojas-Cessa和Ziqian Dong在2009年6月16日提交和题为“Configuring aThree-Stage Clos-Network Packet Switch”的美国申请序列号12/485,828;以及还涉及Roberto Rojas-Cessa和Ziqian Dong在2009年7月29日提交和题为“Forwarding Data Through a Three-Stage Clos-Network PacketSwitch with Memory at each Stage”的美国申请序列号12/511,814。
背景技术
如非在本文中另作说明,此章节中描述的手段并非本申请中权利要求的现有技术并且不通过将其包括在此章节中而承认其为现有技术。
通常的三级Clos网络分组交换机包括组装以创建能够具有大量端口的分组交换机的三级交换机模块。这三级通常包括输入模块、中央模块和输出模块。通常,在三级Clos网络分组交换机中包括的输入、中央和输出模块越多,交换机可以支持的端口越多。作为用以支持可变数量端口的能力的结果,可以认为三级Clos网络分组交换机架构是可扩展交换机架构。由于三级Clos网络分组交换机架构的可扩展性,诸如互联网服务提供商或电信服务提供商的管理通信网络的企业可以使用此类型的架构来扩展他们的网络以满足客户需求。
可以将三级Clos网络分组交换机的输入端口处接收的数据分段(例如,分段成信元)以促进数据通过三级Clos网络分组交换机的移动。然而,通过已扩展以包括大量端口的三级Clos网络分组交换机转发分段数据会复杂和困难。在分段数据要按数据被分段的顺序离开三级Clos网络分组交换机的情况下会增加转发分段数据的复杂度和难度。
发明内容
本公开总体上描述实施用于通过三级存储器-存储器-存储器(MMM,memory-memory-memory)输入队列Clos网络(IQC,input-queued Clos-network)分组交换机转发分段数据的信元的方法。分段数据可以在三级MMM IQC分组交换机的输入端口处接收和以三级MMM IQC分组交换机的输出端口为目的地。可以将信元存储在输入端口处维持的虚拟输出队列中。虚拟输出队列可以与目的地输出端口相关联。根据该方法,第一时间戳值可以与信元之中的第一信元相关联,第二时间戳值可以与信元之中的第二信元相关联。第一时间戳值可以表明第一信元比第二信元旧。
根据用于转发信元的示例方法,可以经由耦合到输入端口的输入模块通过三级MMM IQC分组交换机转发第一信元。可以随后经由耦合到输入模块的多个中央模块之中的第一中央模块转发和随后经由耦合到第一中央模块和耦合到目的地输出端口的输出模块转发第一信元。
另外根据用于转发信元的示例方法,可以经由耦合到输入端口的输入模块通过三级MMM IQC分组交换机转发第二信元。可以随后经由多个中央模块之中的第二中央模块转发和随后经由耦合到目的地输出端口的输出模块转发第二信元。在一些示例中,可以在将第二信元从输出模块转发给目的地输出端口之前将第一信元从输出模块转发给目的地输出端口。
本公开还总体上描述实施用于匹配三级MMM IQC分组交换机的多个中央模块与输出模块之间链路的方法。在一些示例中,可以随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据。根据该方法,可以接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求。请求可以与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联。多个信元可以从三级MMM IQC分组交换机的输入端口处接收的数据中分段出和可以耦合到输出模块的输出端口为目的地。可以随后经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元。请求可以包括第一信元的龄期指示。可以基于第一信元的龄期指示准予请求。在一些示例中,响应于接收请求准予的接受,可以匹配输出模块与第一中央模块之间的链路。
本公开还总体上描述用以匹配三级MMM IQC分组交换机的多个中央模块与输出模块之间链路的示例设备。在一些示例中,可以随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据。用以匹配链路的示例设备可以具有包括逻辑的输出模块管理器。逻辑可以被配置成接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求。请求可以与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联。多个信元可以从三级MMM IQC分组交换机的输入端口处接收的数据分段出和可以耦合到输出模块的输出端口为目的地。可以随后经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元。请求可以包括第一信元的龄期指示。可以基于第一信元的龄期指示准予请求。在一些示例中,响应于接收请求准予的接受,逻辑还可以被配置成匹配输出模块与第一中央模块之间的链路。
本公开还总体上描述示例三级MMM IQC分组交换机。示例三级MMM IQC分组交换机可以包括被配置成维持虚拟输出队列以使得虚拟输出队列可以存储输入端口处接收和以输出端口为目的地的分段数据的信元的输入端口。输入端口可以具有输入端口管理器。在一些示例中,可以将输入端口管理器和虚拟输出队列布置成相互合作以存储虚拟输出队列中以输出端口为目的地的分段数据的信元、使第一时间戳值与分段数据信元之中的第一信元相关联、使第二时间戳值与分段数据信元之中的第二信元相关联和以从虚拟输出队列转发第一信元和第二信元。可以基于第一传送间隔的起始转发第一信元。可以基于第二传送间隔的起始转发第二信元。
示例MMM IQC分组交换机还可以包括耦合到输入端口的输入模块。输入模块可以具有被配置成在输入模块处接收第一信元和第二信元的输入模块管理器。输入模块管理器可以被配置成基于第二传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元。在一些示例中,输入模块管理器可以进一步被配置成基于第三传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元。
示例MMM IQC分组交换机还可以包括耦合到输入模块的第一中央模块。第一中央模块可以具有被配置成在第一中央模块处接收第一信元的第一中央模块管理器。在一些示例中,第一中央模块管理器可以进一步被配置成基于第三传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元。
示例MMM IQC分组交换机还可以包括耦合到输入模块的第二中央模块。第二中央模块可以具有被配置成在第二中央模块处接收第二信元的第二中央模块管理器。在一些示例中,第二中央模块管理器可以进一步被配置成基于第四传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元。
示例MMM IQC分组交换机还可以包括耦合到第一和第二中央模块的输出模块。输出模块可以具有被配置成在被输出模块处接收第一信元和第二信元的输出模块管理器。输出模块管理器还可以被配置成基于第四传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元。输出模块管理器可以进一步被配置成基于第五传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元。在一些示例中,可以将第一信元和第二信元转发给耦合到输出模块的目的地输出端口。
本公开还总体上描述示例计算机程序产品。在一些示例中,计算机程序产品可以包括具有指令的信号承载介质。介质可以用于匹配三级MMM IQC分组交换机的多个中央模块与输出模块之间的链路。在一些示例中,可以随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据。可以接收如下这种指令:通过逻辑执行时可以使得逻辑接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求。请求可以与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联。多个信元可以从三级MMM IQC分组交换机的输入端口处接收的数据分段出和可以耦合到输出模块的输出端口为目的地。可以随后经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元。请求可以包括第一信元的龄期指示。可以基于第一信元的龄期指示准予请求。在一些示例中,响应于接收请求准予的接受,逻辑可以匹配输出模块与第一中央模块之间的链路。
以上发明内容只是示例性的和并非意在以任何方式限制。除了上述示例性方面、实施例、以及特征之外,进一步的方面、实施例、以及特征将会通过参考图和以下具体实施方式变得明显。
附图说明
本公开的以上和其它特征将会根据结合附图采取的以下描述和所附权利要求变得更充分明显。理解这些图只描绘按照本公开的数个实施例和因此不应该认为是它范围的限制,将通过附图的使用以额外具体性和细节描述本公开。
图1示例了端口和模块数量可变的示例三级Clos网络分组交换机;
图2示例了端口和模块数量固定的示例三级Clos网络分组交换机;
图3示例了向三级Clos网络分组交换机的队列输入模块耦合的两个队列输入端口的示例的方框图;
图4示例了向三级Clos网络分组交换机的两个队列中央模块耦合的两个队列输入模块的示例的方框图;
图5示例了向三级Clos网络分组交换机的两个队列输出模块耦合的两个队列中央模块的示例的方框图;
图6示例了输入端口管理器的示例架构的方框图;
图7示例了输入模块管理器的示例架构的方框图;
图8示例了中央模块管理器的示例架构的方框图;
图9示例了输出模块管理器的示例架构的方框图;
图10示例了三级Clos网络分组交换机的输入端口处维持的虚拟输出队列中存储的分段数据的示例;
图11示例了向耦合到三级Clos网络分组交换机输入端口的输入模块处维持的队列转发的分段数据的第一信元的示例;
图12示例了向耦合到输入模块的第一中央模块转发的第一信元和向三级Clos网络分组交换机的输入模块转发的分段数据的第二信元的示例;
图13示例了向耦合到第一中央模块的输出模块转发的第一信元、向耦合到输入模块的第二中央模块转发的第二信元和向三级Clos网络分组交换机的输入模块转发的分段数据的第三信元的示例;
图14示例了向耦合到输出模块的输出端口转发的第一信元、向输出模块转发的第二信元、向第二中央模块转发的第三信元和向三级Clos网络分组交换机的输入模块转发的分段数据的第四信元的示例;
图15示例了用于通过三级Clos网络分组交换机转发分段数据的信元的示例方法的流程图;
图16示例了用以通过三级Clos网络分组交换机转发分段数据的信元的示例信元路由;
图17示例了具有在耦合到向信元的目的地输出端口耦合的输出模块的两个中央模块处维持的队列中存储的信元的三级Clos网络分组交换机的一部分的示例;
图18示例了用于匹配三级Clos网络分组交换机的两个中央模块与输出模块之间链路的示例过程图;
图19示例了用以匹配输出模块与两个中央模块之间链路的迭代过程的实施后向耦合到三级Clos网络分组交换机目的地输出端口的输出模块转发的信元的示例;
图20示例了示例计算机程序产品的方框图;以及
图21示例了都按照本公开布置的示例运算设备。
具体实施方式
在以下具体实施方式中,参照形成其一部分的附图。在图中,类似标记如非上下文另作说明,则通常标识类似组件。具体实施方式、图、以及权利要求中描述的示例性示例或实施例并非意味着限制。在不脱离此处呈现的主题的精神或范围的情况下,可以运用其它示例或实施例,可以做出其它改变。将会容易理解,可以在全部明确构思和组建本公开一部分的各种各样不同配置中布置、替换、组合、以及设计如本文中总体上所述、以及图中所示例的本公开方面。
本公开尤其针对涉及通过每级均具有存储器的三级Clos网络分组交换机转发分段数据信元的方法、装置、系统和计算机程序产品。
如本公开中所构思的,通过已扩展以包括大量端口的三级Clos网络分组交换机转发分段数据在分段数据要按数据被分段的顺序离开三级Clos网络分组交换机的情况下会复杂和困难。三级Clos网络分组交换机设计的某些方面会影响转发分段数据的方式。例如,三级Clos网络分组交换机设计的类型可以是输入排队Clos网络(“IQC”)分组交换机。IQC分组交换机可以包括输入端口处维持的队列或缓存器,在下文中称作虚拟输出队列(VOQ)。这些VOQ可以至少暂时存储已分段成分组或信元的数据以促进数据通过IQC分组交换机的内部交换或路由。
如本公开中进一步构思的,IQC分组交换机还可以包括作为每个模块处的缓存器或队列布置的存储器。IQC分组交换机每个模块处的这些缓存器或队列可以减少与配置用以通过IQC分组交换机转发分段数据信元的路由相关联的复杂度和定时问题。可以将在所有级(例如,输入模块、中央模块和输出模块)中具有存储器的IQC分组交换机的类型称作存储器-存储器-存储器(“MMM”)IQC分组交换机。在每个模块处单独维持缓存器或队列可以帮助解决内部和输出链路争用这二者。可以通过允许存储信元以经由在MMM IQC分组交换机每级的链路转发信元的队列的单独选择解决链路争用。然而,由于可以经由单独路由或路径通过不同模块转发分段数据的信元以到达向MMMIQC分组交换机的目的地输出端口耦合的输出模块而会出现乱序问题。
在一些示例中,实施用于通过三级MMM IQC分组交换机转发分段数据信元的方法。分段数据可以在三级MMM IQC分组交换机的输入端口处已接收和以三级MMM IQC分组交换机的输出端口为目的地。信元也会已存储在可以在输入端口处维持和可以与目的地输出相关联的虚拟输出队列(VOQ)中。
根据示例方法中的一个示例方法,第一时间戳值与VOQ中存储的信元之中的第一信元相关联,第二时间戳值与信元之中的第二信元相关联。第一时间戳值可以表明第一信元比第二信元旧。可以经由耦合到输入端口的输入模块、随后经由耦合到输入端口的多个中央模块之中的第一中央模块和随后经由耦合到第一中央模块和还耦合到目的地输出端口的输出模块通过三级MMM IQC分组交换机转发第一信元。可以经由耦合到输入端口的输入模块、随后经由耦合到输入端口的多个中央模块之中的第二中央模块和随后经由耦合到第二中央模块和还耦合到目的地输出端口的输出模块通过三级MMM IQC分组交换机转发第二信元。可以在将第二信元从输出模块转发给目的地输出端口之前将第一信元从输出模块转发给目的地输出端口。
图1示例了按照本公开布置的端口和交换机模块数量可变的示例三级Clos网络分组交换机(例如,三级MMM IQC分组交换机100)。如图1中所示例的,交换机100可以包括在第一级的输入模块(“IM”)120、在第二级的中央模块(“CM”)130、以及在第三级的输出模块(“OM”)】40。
在一些示例中,如图1中所描绘的,每个IM 120经由输入端口链路(“LIP”)115耦合到若干(n个)输入端口(“IP”)110。例如,如果存在若干(k个)IM 120,则可以存在总共n*k个IP 110。类似地,每个OM 140可以包括若干(n个)输出端口(“OP”)150。例如,如果存在若干(k个)OM 140则可以存在总共n*k个OP 150。
在一些示例中,如图1中所示例的,交换机100可以包括可以布置在若干(k个)IM 120与若干(k个)OM 140之间的若干(m个)CM 130。另外,以包括若干(m个)向外输入模块链路(“LI”)125的形式示出了IM 120。LI 125可以被配置成将IM 120耦合到m个CM130中的一个。类似地,CM 130可以包括若干(k个)向外中央模块链路(“LC”)135。LC 135可以被配置成使CM 130与k个OM 140中的一个耦合。
在一些示例中,如图1中所示例的,IP 110可以单独包括VOQ 112和IP管理器114。VOQ 112可以是布置成包括被配置成至少暂时存储已分段成信元的数据以通过交换机100转发的VOQ的存储器结构。在一个示例中,VOQ可以与OP 150之中的目的地输出端口相关联。所以例如,如果交换机100包括了四个OP 150,则VOQ 112可以被配置成包括四个VOQ。另外,如下面更多描述的,IP管理器114可以包括被配置成使时间戳值与IP 110处维持的VOQ中存储的信元相关联和将信元转发给耦合到IP 110的IM 120的逻辑和/或功能部件。
在一些示例中,如图1中所示例的,IM 120可以单独包括虚拟中央模块队列(VCMQ)122和IM管理器124。VCMQ 122可以是布置成包括单独被配置成至少暂时存储从耦合到IM 120的IP 110处维持的VOQ转发的信元的VCMQ的存储器结构。IM 120处的VCMQ 122可以包括单独与耦合到IM 120的IP 110处维持的VOQ相关联的VCMQ。所以例如,如果交换机100包括耦合到每个IM 120的两个IP 110和每个IP 110可以包括四个VOQ,则VCMQ 122可以被配置成包括总共八个VCMQ。另外,如下面更多描述的,IM管理器124可以包括被配置成将信元接收到包括在VCMQ 122中的VCMQ中和还将信元转发给一个或更多个CM 130的逻辑和/或功能部件。
在一些示例中,如图1中所示例的,CM 130可以单独包括虚拟输出模块队列(VOMQ)132和CM管理器134。VOMQ 132可以是布置成包括被配置成至少暂时存储从耦合到CM 130的IM 120处维持的VCMQ转发的信元的VOMQ的存储器结构。CM 130处的VOMQ 132可以包括单独与耦合到CM 130的IM 120相关联的VOMQ和还可以单独与目的地OP 150相关联。所以例如,如果交换机100包括耦合到CM130的两个IM 110和耦合到CM 130的每个OM 140的两个OP 150,则VOMQ 132可以被配置成包括八个VOMQ。另外,如下面更多描述的,CM管理器134可以包括被配置成将信元接收到包括在VOMQ 132中的VOMQ中和还将信元转发给一个或更多个OM 140的逻辑和/或功能部件。
在一些示例中,如图1中所示例的,OM 140可以单独包括虚拟输出端口队列(VOPQ)142和OM管理器144。VOPQ 142可以是布置成包括被配置成至少暂时存储从耦合到OM 140的CM 130处维持的VOMQ转发的信元的VOPQ的存储器结构。OM 140处的VOPQ 142可以包括单独与耦合到OM 140的CM 130和OP 150这二者相关联的VOPQ和可以进一步单独与耦合到CM 130的IM 120相关联。所以例如,如果交换机100包括耦合到OM 140的两个CM 130和两个OP 150以及耦合到两个CM 130的两个IM 120,则VOPQ 142可以被配置成包括八个VOPQ。另外,如下面更多描述的,OM管理器144可以包括被配置成将信元接收到包括在VOPQ 122中的VOPQ中和还向OP 150转发一个或更多个信元的逻辑和/或功能部件。
表1包括图1中描绘的变量的示例描述。
表1
n=每个IM 120和OM 140分别的IP 110和OP 150的数量;
k=IM 120的数量、以及OM 140的数量;
m=CM 130的数量;
IM(i)=第i+1个IM 120,其中,0≤i≤k-1;
CM(r)=第r+1个CM 130,其中,0≤r≤m-1;
OM(j)=第j+1个OM 140,其中,0≤j≤k-1;
IP(i,g)=IM(i)处的第g+1个IP 110,其中,0≤g≤n-1;
OP(j,h)=OM(j)处的第h+1个OP 150,其中,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)的IP 110处维持的VOQ,VOQ用以存储以标识为OP(j,h)的OP 150为目的地的信元;
VCMQ(i,g,j,h)=IM 120处维持以存储从IP 110处的VOQ转发的信元的VCMQ,VOQ的标识为VOQ(i,g,j,h);
VOMQ(i,r,j,h)=标识为CM(r)的CM 130处维持的VOMQ,VOMQ用以存储从标识为IM(i)的IM 120转发和以标识为OP(j,h)的OP 150为目的地的信元;以及
VOPQ(i,r,j,h)=标识为OM(j)的OM 140处维持的VOPQ,VOPQ用以存储经由标识为CM(r)的CM 130从标识为IM(i)的IM 120转发和以标识为OP(j,h)的OP 150为目的地的信元。
图2示例了按照本公开布置的端口和模块数量固定的示例三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)。如图2中所示,交换机200包括如对于图1中示出的交换机100所述的类似架构,但是交换机200的变量n、k、以及m值固定。固定值例如可以是n=2、k=2和m=2。由于如以上所提到的,N=(n*k),所以N=(2*2)或4。作为N=4的结果,以包括四个IP 110和四个OP 150的形式在图2中示例了交换机200。另外,由于k=2和m=2,所以以包括两个IM 120、两个CM 130和两个OM 140的形式示例了交换机200。图2还基于n=2、k=2和m=2的固定值和使用以上表1中示出的示例变量描述描绘了元素的标识。图2中未描绘的是VOQ(i,g,j,h)、VCMQ(i,g,j,h)、VOMQ(i,r,j,h)和VOPQ(i,r,j,h)的标识。在后续图中分别描绘了IP 110、IM 120、CM 130和OM 140处维持的这些队列或缓存器的标识。
图3示例了按照本公开向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的队列输入模块(例如,IM 120)耦合的两个队列输入端口(例如,IP 110)的示例的方框图。如图3中所示例的,两个IP 110可以包括分别经由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)。
如以上所提到的,IP 110处维持的VOQ可以与OP 150相关联。另外,图2以包括四个OP 150的形式描绘了交换机200。所以如图3中所示例的,OP(0,0)的VOQ 112可以包括四个VOQ,IP(0,1)的VOQ 112也可以包括四个VOQ。如表1中所列出的,VOQ可以具有标识。例如,VOQ(0,0,0,0)可以是可以与OP(0,0)相关联的IP(0,0)处维持的VOQ的标识。另外,VOQ(0,1,0,0)可以是可以与OP(0,0)相关联的IP(0,1)处维持的VOQ的标识。
另外,如以上所提到的,IM 120处维持的VCMQ可以与耦合到IM120的IP 110处维持的VOQ相关联。由于IM(0)耦合到单独具有四个VOQ的两个IP 110,所以通过具有包括八个VCMQ的VCMQ 122的形式在图3中示例了IM(0)。如表1中所列出的,VCMQ可以具有标识。例如,VCMQ(0,0,0,0)可以是可以与IP(0,0)处的VOQ(0,0,0,0)相关联的IM(0)处维持的VCMQ的标识。另外,VCMQ(0,1,1,1)可以是可以与IP(0,1)处的VOQ(0,1,1,1)相关联的IM(0)处维持的VCMQ的标识。
图4示例了向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的两个队列中央模块(例如,CM 130)耦合的两个队列输入模块(例如,IM 120)的示例的方框图。如图4中所示例的,两个IM 120可以包括IM(0)和IM(1),两个CM 130可以包括CM(0)和CM(1)。如图4中所示,IM(0)可以经由LI(0,0)耦合到CM(0)和经由LI(0,1)耦合到CM(1)。另外,IM(1)可以经由LI(1,0)耦合到CM(0)和经由LI(1,1)耦合到CM(1)。在一些示例中,可以分别经由LC(0,0)或LC(0,1)从CM(0)转发以耦合到OM(0)或OM(1)的OP 150为目的地的信元。另外,可以分别经由LC(1,0)或LC(1,1)从CM(1)转发以耦合到OM(0)或OM(1)的OP 150为目的地的信元。
如以上对于图3所述,IM(0)可以包括具有八个VCMQ的VCMQ122。八个VCMQ可以单独与IP(0,0)处和IP(0,1)处维持的VOQ相关联。类似地,如图4中所示,IM(1)可以包括具有八个VCMQ的VCMQ122。这八个VCMQ可以单独与IP(1,0)处和IP(1,1)处维持的VOQ相关联。
如以上对于图1所提到的,CM 130处维持的VOMQ可以单独与耦合到CM 130的IM 120相关联并还可以单独与目的地OP 150相关联。由于图4描绘了单独耦合到两个IM 120的CM(0)和CM(1)、图2描绘了包括向每个OM 140耦合的两个OP 150的交换机200,所以CM(0)和CM(1)可以各自具有总共八个VOMQ。如表1中所列出的,VOMQ可以具有标识。例如,VOMQ(0,0,0,1)可以是可以存储从目的地为OP(0,1)的IM(0)转发的信元的CM(0)处维持的VOMQ的标识。类似地,VOMQ(1,1,0,1)可以是可以存储从目的地为OP(0,1)的IM(1)转发的信元的CM(1)处维持的VOMQ的标识。
图5示例了按照本公开布置的向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的两个队列输出模块(例如,OM 140)耦合的两个队列中央模块(例如,CM 130)的示例的方框图。如图5中所示例的,两个CM包括CM(0)和CM(1),两个OM 140包括OM(0)和OM(1)。如图5中所示,CM(0)可以经由LC(0,0)耦合到OM(0)和经由LC(0,1)耦合到OM(1)。另外,CM(1)可以经由LC(1,0)耦合到OM(0)和经由LC(1,1)耦合到OM(1)。在一些示例中,可以经由LC(0,0)从CM(0)和经由LC(1,0)从CM(1)转发以OP(0,0)或OP(0,1)为目的地的信元。
如对于图4所述和图4和图5这二者中所示,CM(0)和CM(1)可以单独包括具有八个VOMQ的VOMQ 134。CM(0)或CM(1)处单独维持的八个VOMQ可以单独与IM(0)和IM(1)中的一个以及OP(0,0)、OP(0,1)、OP(1,0)或OP(1,1)中的一个相关联。
如以上所提到的,OM 140处维持的VOPQ可以与耦合到OM 140的CM 130相关联,还可以与耦合到OM 140的OP 150相关联,以及可以进一步与耦合到OM 140的IM 120相关联。作为这三个关联的结果,图5描绘了各自具有总共八个VOPQ的OM(0)和OM(1)。如以上在表1中所列出的,VOPQ可以具有标识。例如,OM(0)处维持的VOPQ(1,0,0,0)可以是用以存储经由CM(0)从IM(1)和随后向耦合到信元目的地OP(0,0)的OM(0)转发的信元的VOPQ的标识。另外OM(1)处维持的VOPQ(0,1,1,1)可以是用以存储经由CM(1)从IM(0)和随后向耦合到信元目的地OP(1,1)的OM(1)转发的信元的VOPQ的标识。
图6示例了按照本公开输入端口(IP)管理器114的示例架构的方框图。如以上在图1-3中对于交换机100或交换机200所述,IP 110单独包括IP管理器114。在一些示例中,IP管理器114包括被配置或布置成使时间戳值与IP 110处维持的VOQ中存储的信元相关联和将信元转发给耦合到IP 110的IM 120的功能部件和/或逻辑。
图6的示例IP管理器114可以包括信元逻辑610、控制逻辑620、存储器630、输入/输出(I/O)接口640和可选地一个或更多个应用650。如图6中所示例的,信元逻辑610可以耦合到控制逻辑620、存储器630和I/O接口640。另外在图6中示例的,可以将可选应用650布置成与控制逻辑620合作。信元逻辑610可以进一步包括时间戳功能部件612和转发功能部件614。
在一些示例中,图6的方框图中绘制的元件可以被配置成支持或实现如本公开中所述的IP管理器114。给定IP管理器114可以包括较之图6中描绘的而言的一些、所有或更多元件。例如,信元逻辑610和控制逻辑620可以单独或统一表示用以实施IP管理器114的功能部件的各种各样逻辑设备。示例逻辑设备可以包括计算机、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核/多线程微处理器的封存线程(sequestered thread)或内核或者其组合中的一个或更多个。此各种各样的逻辑设备可以整体位于给定IP 110处或逻辑设备的至少一部分可以位于交换机200的其它地点处(例如,中央定位、与IP 110、IM 120、CM 130、OM 140或其组合一起定位)。
在一些示例中,如图6中所示,信元逻辑610可以包括时间戳功能部件612和转发功能部件614中的一个或更多个。信元逻辑610可以被配置成使用这些功能部件执行操作。如下面更详细描述的,示例操作可以包括使时间戳值与IP 110处维持的VOQ处存储的分段数据信元相关联和将信元转发给耦合到IP 110的IM 120处维持的VCMQ中的一个或更多个。
在一些示例中,控制逻辑620可以被配置成控制IP管理器114的整体操作。如以上所提到的,控制逻辑620可以表示被配置成结合可执行内容操作以实施IP管理器114的控制的各种各样逻辑设备中的任何逻辑设备。在一些替选示例中,可以在信元逻辑610内实施控制逻辑620的功能部件和功能性。
根据一些示例,可以将存储器630布置成存储可执行内容。控制逻辑620和/或信元逻辑610可以使用可执行内容实施或启动IP管理器114的功能部件或元件。还可以将存储器630布置成通过信元逻辑610的功能部件暂时维持诸如与分段数据信元相关联的时间戳值的VOQ信息。
存储器630可以包括各种各样存储器介质,此各种各样存储器介质包括但不限于易失性存储器、非易失性存储器、闪存、可编程变量或状态、随机访问存储器(RAM)、只读存储器(ROM)、或者其它静态或动态存储介质中的一个或更多个。
在一些示例中,I/O接口640可以提供经由驻留于给定IP 110上或位于给定IP 110的元件(例如,VOQ 112)与IP管理器114之间的内部通信媒体或链路的接口。I/O接口640可以包括根据各种通信协议操作以在内部通信链路(例如,内部集成电路(I2C)、系统管理总线(SMBus)或串行外围接口总线(SPI))上通信的接口。I/O接口640还可以提供诸如IM 120的耦合到IP 110的元件与IP管理器114之间的接口。如以上对于图1所提到的,IP 110可以经由链路LIP 115耦合到这些元件。I/O接口640例如可以包括被配置成根据各种通信协议操作以允许IP管理器114在链路LIP 115上通信的接口(例如,PCIe、PCI-eXtended(PCI-X)、以太网、Infiniband、StarFabric、RapidIO等)。
在一些示例中,IP管理器114可以包括用以向控制逻辑620和/或信元逻辑610提供指令的一个或更多个应用650。
图7示例了按照本公开布置的输入模块(IM)管理器124的示例架构的方框图。如以上在图1-4中对于交换机100或交换机200所述,IM120单独包括IM管理器124。在一些示例中,IM管理器124包括被配置成将信元接收到IM 120处维持的VCMQ中和将信元转发给CM 130的功能部件和/或逻辑。
图7的示例IM管理器124可以包括信元逻辑710、控制逻辑720、存储器730、输入/输出(I/O)接口740和可选地一个或更多个应用750。如图7中所示例的,信元逻辑710可以耦合到控制逻辑720、存储器730和I/O接口740。另外在图7中示例的,可以将可选应用750布置成与控制逻辑720合作。信元逻辑710可以进一步包括接收功能部件712、时间戳功能部件714和/或转发功能部件716中的一个或更多个。
在一些示例中,图7的方框图中绘制的元件是用以支持或实现如本公开中所述的IM管理器124的那些元件。给定IM管理器124可以包括较之图7中描绘的而言的一些、所有或更多元素。例如,信元逻辑710和控制逻辑720可以单独或统一表示用以实施IM管理器124的功能部件的各种各样逻辑设备。如先前所提到的,示例逻辑设备可以包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的封存线程或内核或者其组合中的一个或更多个。此各种各样的逻辑设备可以整体位于给定IM 120处或逻辑设备的至少一部分可以位于交换机200的其它地点处(例如,中央定位、与IP 110、CM 130、OM140或其组合一起定位)。
在一些示例中,如图7中所示,信元逻辑710可以包括接收功能部件712、时间戳功能部件714和/或转发功能部件716。信元逻辑710可以被配置成使用这些功能部件中的一个或更多个执行数个操作。如下面更详细描述的,示例操作可以包括将信元接收到IM 120处维持的VCMQ中、选择用于转发VCMQ中存储的信元的VCMQ(例如,基于时间戳值)和将信元从选定VCMQ转发给耦合到IM 120的CM 130处维持的VOMQ中的一个或更多个。
在一些示例中,控制逻辑720可以被配置成控制IM管理器124的整个操作。如以上所提到的,控制逻辑720可以表示可以被配置成结合可执行内容操作以实施IM管理器124的控制的各种各样逻辑设备中的任何逻辑设备。在一些示例中,可以在信元逻辑710内实施控制逻辑720的功能部件和功能性。
与如上所述的存储器630类似,存储器730可以包括各种各样的存储介质。根据一些示例,可以将存储器730布置成存储可执行内容。控制逻辑720和/或信元逻辑710可以使用可执行内容实施或启动IM管理器124的一个或更多个功能部件或元件。还可以将存储器730布置成暂时维持诸如与IM 120处维持的VCMQ处存储的信元相关联的时间戳值的VCMQ信息。
与如上所述的I/O接口640类似,I/O接口740可以提供经由驻留在给定IM 120上或位于给定IM 120的元件(例如,VCMQ 122)与IM管理器124之间的内部通信媒体或链路的接口。I/O接口740还可以提供诸如IP 110和CM 130的耦合到IM 120的元件与IM管理器124之间的接口。
在一些示例中,IM管理器124可以包括用以向控制逻辑720和/或信元逻辑710提供指令的一个或更多个应用750。
图8示例了按照本公开布置的中央模块(CM)管理器134的示例架构的方框图。如以上在图1、2、4和5中对于交换机100或交换机200所述,CM 130可以单独包括CM管理器134。在一些示例中,CM管理器134可以包括被配置成接收CM 130处维持的VOMQ中的信元和将信元转发给OM 140的一个或更多个功能部件和/或逻辑。
图8的示例CM管理器134可以包括信元逻辑810、控制逻辑820、存储器830、输入/输出(I/O)接口840和可选地一个或更多个应用850。如图8中所示例的,VOMQ逻辑810可以耦合到控制逻辑820、存储器830和I/O接口840。另外在图8中示例的,可以将可选应用850布置成与控制逻辑820合作。信元逻辑810可以进一步包括接收功能部件812、时间戳功能部件814和转发功能部件816。
在一些示例中,图8的方框图中绘制的元件可以被配置成支持或实现如本公开中所述的CM管理器134。给定CM管理器134可以包括较之图8中描绘的而言的一些、所有或更多元素。例如,信元逻辑810和控制逻辑820可以单独或统一表示用以实施CM管理器134的功能部件的各种各样逻辑设备。如先前所提到的,示例逻辑设备可以包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的封存线程或内核或者其组合中的一个或更多个。此各种各样的逻辑设备可以整体位于给定CM 130处或逻辑设备的至少一部分可以位于交换机200的其它地点处(例如,中央定位、与IP 110、IM 120、OM 140或其组合一起定位)。
在一些示例中,如图8中所示,信元逻辑810可以包括接收功能部件812、时间戳功能部件814和转发功能部件816。信元逻辑810可以被配置成使用这些功能部件执行数个操作。如下面更详细描述的,示例操作可以包括接收在CM 130处维持的VOMQ中的信元、选择用于转发VCMQ中存储的信元的VOMQ(例如,基于时间戳值和/或去往OM 140的匹配链路)和将一个或更多个信元从选定VOMQ转发给耦合到CM 130的OM 140处维持的VOPQ中的一个或更多个。
在一些示例中,控制逻辑820可以被配置成控制CM管理器134的整个操作,以及如以上所提到的,可以表示被配置成结合可执行内容操作以实施CM管理器134的控制的各种各样逻辑设备中的任何逻辑设备。在一些替选示例中,可以在信元逻辑810内实施控制逻辑820的功能部件和功能性。
与如上所述的存储器630类似,存储器830可以包括各种各样的存储介质。根据一些示例,可以将存储器830布置成存储可执行内容。控制逻辑820和/或信元逻辑810可以使用可执行内容实施或启动CM管理器134的功能部件或元件。还可以将存储器830布置成暂时维持通过信元逻辑810的功能部件获得的选择信息和VOMQ信息。
与如上所述的I/O接口640类似,I/O接口840可以提供经由驻留在给定CM 130上或位于给定CM 130的元件(例如,VOMQ 132)与CM管理器134之间的内部通信媒体或链路的接口。I/O接口840还可以提供诸如IM 120和OM 140的耦合到CM 130的元件与CM管理器134之间的接口。
在一些示例中,CM管理器134可以包括用以向控制逻辑820和/或信元逻辑810提供指令的一个或更多个应用850。
图9示例了按照本公开布置的输出模块(OM)管理器144的示例架构的方框图。如以上在图1、2和5中对于交换机100或交换机200所述,可以单独包括OM管理器144。在一些示例中,OM管理器144可以包括被配置成匹配OM 140与CM 150之间的链路、将信元接收到OM 140处维持的VOPQ中和/或将信元转发给OP 150的一个或更多个功能部件和/或逻辑。
图9的示例OM管理器144可以包括信元逻辑910、控制逻辑920、存储器930、输入/输出(I/O)接口940和可选地一个或更多个应用950。如图9中所示例的,信元逻辑910可以耦合到控制逻辑920、存储器930和I/O接口940。另外在图9中示例的,可以将可选应用950布置成与控制逻辑920合作。信元逻辑910可以进一步包括接收功能部件912、时间戳功能部件913、请求功能部件914、准予功能部件915和/或转发功能部件916中的一个或更多个。
在一些示例中,图9的方框图中绘制的元件可以被配置成支持或实现如本公开中所述的OM管理器144。给定OM管理器144可以包括较之图9中描绘的而言的一些、所有或更多元素。例如,信元逻辑910和控制逻辑920可以单独或统一表示用以实施OM管理器144功能部件的各种各样逻辑设备。如先前所提到的,示例逻辑设备可以包括计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的封存线程或内核或者其组合中的一个或更多个。此各种各样的逻辑设备可以整体位于给定OM 140处或逻辑设备的至少一部分可以位于交换机200的其它地点处(例如,中央定位、与IP 110、IM 120、CM 130或其组合一起定位)。
在一个示例中,如图9中所示,信元逻辑910可以包括接收功能部件912、时间戳功能部件913、请求功能部件914、准予功能部件915和/或转发功能部件916中的一个或更多个。信元逻辑910可以使用这些功能部件中的一个或更多个执行操作。如下面更详细描述的,示例操作可以包括将一个或更多个信元接收到OM 140处维持的VOMQ中、实施用以匹配OM 140与CM 130之间链路的匹配过程、和/或将一个或更多个信元转发给目的地OP 150中的一个或更多个。
在一些示例中,控制逻辑920可以被配置成控制OM管理器144的整个操作。如以上所提到的,控制逻辑920可以表示被配置成结合可执行内容操作以实施OM管理器144的控制的各种各样逻辑设备中的任何逻辑设备。在一些替选示例中,可以在信元逻辑910内实施控制逻辑920的功能部件和功能性。
与如上所述的存储器630类似,存储器930可以包括各种各样的存储介质。根据一些示例,可以将存储器930布置成存储可执行内容。控制逻辑920和/或信元逻辑910可以使用可执行内容实施或启动OM管理器144的功能部件或元件。还可以将存储器930布置成暂时维持诸如VOPQ处存储的信元的时间戳值和OM 140与CM 130之间链路的链路状态的VOPQ和链路信息。
与如上所述的I/O接口640类似,I/O接口940可以提供经由驻留在给定OM 140上或位于给定OM 140的元件(例如,VOPQ 142)与OM管理器144之间的内部通信媒体或链路的接口。I/O接口940还可以提供诸如CM 130的耦合到OM 140的元件与OM管理器144之间的接口。
在一些示例中,OM管理器144可以包括用以向控制逻辑920和/或信元逻辑910提供指令的一个或更多个应用950。
图10示例了按照本公开三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的输入端口(例如,IP(0,0))处维持的虚拟输出队列(例如,VOQ(0,0,0,0))中存储的分段数据的示例。如图10中所示,IP(0,0)可以包括具有VOQ(0,0,0,0)的VOQ 112。图10还示出了可以将IP(0,0)处VOQ(0,0,0,0)中存储的分段数据的信元转发到目的地OP(0,0)的OP 150的交换机200的部分。在一些示例中,交换机200的部分可以包括IM(0)、CM(0)、CM(1)和/或OM(0)。
图10还示出了可以随着从VOQ(0,0,0,0)朝向它的目的地OP(0,0)的OP 150转发信元而暂时存储信元的IM(0)、CM(0)、CM(1)和OM(0)处维持的队列或缓存器。如以上在表1中所示和对于图3-5更详细描述的,队列可以具有使队列与接收信元的模块或其它队列相关联和/或使队列与信元的目的地相关联的单独标识。如图10中所描绘的,在一些示例中,可以接收从VOQ(0,0,0,0)转发的信元的IM(0)处维持的VCMQ是VCMQ(0,0,0,0)。另外,如图10中所描绘的,可以存在两个替选路由或路径以从VCMQ(0,0,0,0)转发信元。第一个替选方案是可以在CM(0)处维持去往VOMQ(0,0,0,0),第二个替选方案是可以在CM(1)处维持去往VOMQ(0,1,0,0)。图10进一步描绘了OM(0)处维持的两个VOPQ,两个VOPQ中的一个VOPQ是可以接收以OP(0,0)为目的地从CM(0)处的VOMQ(0,0,0,0)转发的信元的VOPQ(0,0,0,0)。OM(0)处两个VOPQ中的另一VOPQ是可以接收也以OP(0,0)为目的地从CM(1)处的VOMQ(0,1,0,0)转发的信元的VOPQ(0,1,0,0)。
在一些示例中,可以将交换机200的IP(0,0)处接收的数据分段成信元和存储在IP(0,0)处维持的VOQ中。如以上所提到的,IP 110处维持的VOQ可以与目的地OP 150相关联。所以如图10中所描绘的,将目的地为OP(0,0)的分段信元存储在VOQ(0,0,0,0)中。另外,在一些示例中,时间戳值可以单独与分段数据的信元相关联。IP(0,0)处的IP管理器114可以包括被配置成使时间戳值与分段数据的信元相关联的逻辑和/或功能部件(例如,时间戳功能部件612)。
在一些示例中,如图10中所描绘的,相关联的时间戳值可以表明分段数据信元的龄期以使得时间戳值较低的信元在相比于戳值较高的信元而言时较旧。另外,在一些示例中,IP(0,0)处的IP管理器114可以包括被配置成将信元序列的第一个信元存储在VOQ(0,0,0,0)中以使得信元序列的最旧信元在VOQ(0,0,0,0)的线头部(HOL)的逻辑和/或功能部件。换言之,HOL信元也可以是VOQ(0,0,0,0)中存储的最旧信元。图10描绘了示例时间戳值为1、2、3、以及4的信元,时间戳值1表明龄期最旧的信元。本公开不限于单个数位数字的时间戳值而是可以包括用以表明如相比于分段数据其它信元的龄期而言分段数据信元龄期的任何数量的方式。另外,本公开不限于如图10中所示具有四个分段数据信元的存储容量的VOQ。VOQ可以具有用以存储任何数量的分段数据信元的容量。
在一些示例中,IP(0,0)处的IP管理器114和位于交换机200的其它IP 110处的IP管理器114可以被配置成基于公共参考时钟或其它类型的公共定时机制(未示出)获得或生成时间戳值。公共参考时钟可以使得单独IP管理器114能够随着将信元存储在交换机200的各种IP110处维持的各种VOQ处而使时间戳值与分段信元相关联。相关联的时间戳值可以表明分段数据各种信元之中信元的龄期。基于如相比于从同一VOQ或从其它VOQ转发的其它信元而言信元的所表明龄期可以匹配模块之间的链路和/或可以转发信元。可以在同一IP 110或不同IP 110处维持其它VOQ。
图11示例了按照本公开向耦合到三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的输入端口(例如,IP(0,0))的输入模块(例如,IM(0))处维持的队列(例如,VCMQ(0,0,0,0))转发的分段数据的第一信元的示例。在一些示例中,IP(0,0)处的IP管理器114可以包括用以将VOQ(0,0,0,0)中存储的分段数据信元的第一信元转发给IM(0)处维持的VCMQ(0,0,0,0)的逻辑和/或功能部件(例如,转发功能部件614)。如以上对于图10所提到的,VOQ(0,0,0,0)中存储的HOL信元也可以是最旧信元和时间戳值为1。因而,如图11中所示,要向VCMQ(0,0,0,0)转发的第一信元可具有为1的相关联时间戳值。
在一些示例中,基于第一传送间隔的起始从VOQ(0,0,0,0)转发第一信元。传送间隔可以包括被分配以通过交换机200的至少一部分转发分段数据的信元的时间段。时间段例如可以包括确定要转发哪个信元需要的时间量和还可以包括用以匹配交换机200的各种模块之间的一个或更多个链路(例如,CM 130与OM 140之间的链路)的时间量。时间段可以考虑最坏情形的场景。最坏情形场景例如可以顾及由于信元会遵照的路径或路由的长度或由于其它因素(例如,交换机拥塞)而在交换机200的部分之间传送信元的最长可能次数。
在一些示例中,IM(0)处的IM管理器124可以包括被配置成将第一信元接收到VCMQ(0,0,0,0)中的逻辑和/或功能部件(例如,接收功能部件712)。IM(0)处的IM管理器124还可以具有被配置成获得与接收的第一信元相关联的时间戳值的逻辑和/或功能部件(例如,时间戳功能部件714)。时间戳值可以至少暂时存储在IM(0)处维持或对IM管理器124可访问的存储器(例如,存储器730)中。如下面更多描述的,可以使用与第一信元相关联的时间戳值朝向它的目的地OP(0,0)进一步转发第一信元和随着将第一信元转发给它的目的地OP(0,0)而仍旧维持它的顺序。
图12示例了按照本公开向耦合到输入模块(例如,CM(0))的第一中央模块转发的第一信元和向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的输入模块(例如,IM(0))转发的分段数据的第二信元的示例。如图12中所示,在一些示例中,将第一信元转发给CM(0)处维持的VOMQ(0,0,0,0)。在一些示例中,IM(0)处的IM管理器124可以包括被配置成基于第二传送间隔的起始和基于第一信元的相关联时间戳值将第一信元从VCMQ(0,0,0,0)转发给VOMQ(0,0,0,0)的逻辑和/或功能部件(例如,转发功能部件716)。另外,如图12中所示,可以随后基于第二传送间隔的起始将分段数据的信元之中的第二信元转发给VCMQ(0,0,0,0)。
在一些示例中,第二传送间隔可以是至以上对于图12提到的第一传送间隔的连续传送间隔。然而,在其它示例中第二传送间隔可以具有在第一传送间隔与第二传送间隔之间会出现了的任何数量的其它传送间隔。进一步地,第一、第二、第三、第四等传送间隔的描述可以表明后续传送间隔但是不限于也是连续传送间隔的后续传送间隔。
在一些示例中,虽然图12中未示出,但可以将来自从除了VOQ(0,0,0,0)以外的VOQ接收的分段数据的其它信元存储在IM(0)处维持的其它VCMQ中。对于这些示例,IM(0)处的IM管理器124可以确定与第一信元相关联的时间戳值1表明比其它信元旧的龄期。IM(0)处的IM管理器124可以随后响应于第二传送间隔的起始和还基于第一信元的相关联时间戳值1将第一信元转发给CM(0)处维持的VOMQ(0,0,0,0)。虽然图12描绘了将第一信元转发给CM(0)处的VOMQ,但在其它示例中,将第一信元转发给VOMQ CM(1)可以是第一信元随着朝向它的目的地OP(0,0)转发第一信元而遵照的替选路由或路径。
在一些示例中,CM(0)处的CM管理器134可以包括被配置成将第一信元接收到VOMQ(0,0,0,0)中的逻辑和/或功能部件(例如,接收功能部件812)。CM(0)处的CM管理器124也可以具有被配置成获得与接收的第一信元相关联的时间戳值的逻辑和/或功能部件(例如,时间戳功能部件814)。时间戳值可以至少暂时存储在CM(0)处维持或对CM管理器134可访问的存储器(例如,存储器830)中。
图13示例了按照本公开向耦合到第一中央模块(例如,CM(0))的输出模块(例如,OM(0))转发的第一信元、向耦合到输入模块(例如,IM(0))的第二中央模块(例如,CM(1))转发的第二信元和向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的输入模块转发的分段数据的第三信元的示例。如图13中所示,在一些示例中,可以将第一信元转发给OM(0)处维持的VOPQ(0,0,0,0)。在一些示例中,CM(0)处的CM管理器134可以包括被配置成基于第三传送间隔的起始和基于第一信元的相关联时间戳值将第一信元从VOMQ(0,0,0,0)转发给VOPQ(0,0,0,0)的逻辑和/或功能部件(例如,转发功能部件816)。另外,如图13中所示,可以将分段数据信元之中的第二信元和第三信元转发给CM(1)和IM(0)处维持的它们各自的队列。
在一些示例中,虽然图13中未示出,但可以将来自从除了VOQ(0,0,0,0)以外的VOQ接收的分段数据的其它信元存储在CM(0)处维持的其它VOMQ中。对于这些示例,可以将CM(0)处的CM管理器134布置成确定与第一信元相关联的时间戳值1表明比其它信元旧的龄期。CM(0)处的CM管理器134可以随后响应于第三传送间隔的起始和还基于第一信元的相关联时间戳值1将第一信元转发给OM(0)处的VOPQ(0,0,0,0)。如下面更多描述的,在一些示例中,基于第一信元的相关联时间戳值转发第一信元还可以包括与CM(0)处CM管理器134的交互。对于这些示例,CM管理器134可以包括被配置成响应于第三传送间隔经由迭代过程匹配CM(0)与OM(0)之间链路LC(0,0)以经由链路LC(0,0)将第一信元转发给VOPQ(0,0,0,0)的逻辑和/或功能部件。
图14示例了按照本公开向耦合到输出模块(例如,OM(0))的输出端口(例如,OP(0,0))转发的第一信元、向输出模块转发的第二信元、向第二中央模块(例如,CM(1))转发的第三信元和向三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的输入模块(例如,IM(0))转发的分段数据的第四信元的示例。如图14中所示,在一些示例中,以空的形式示出了VOPQ(0,0,0,0)以表明将第一信元转发给了它的目的地OP(0,0)。在一些示例中,OM(0)处的OM管理器144可以包括被配置成基于第四传送间隔的起始将第一信元从VOPQ(0,0,0,0)转发给OP(0,0)的逻辑和/或功能部件(例如,转发功能部件916)。另外,如图14中所示,可以将分段数据信元之中的第二信元、第三信元和第四信元转发给OM(0)、CM(1)和IM(0)处它们各自的队列。还可以基于第四传送间隔的起始转发第二信元、第三信元和第四信元。
在一些示例中,虽然图14中未示出,但可以将来自从除了VOQ(0,0,0,0)以外的VOQ接收的分段数据的其它信元存储在OM(0)处维持的其它VOPQ中。对于这些示例,OM(0)处的OM管理器144可以确定与第一信元相关联的时间戳值1表明比其它信元旧的龄期。OM(0)处的OM管理器144可以随后响应于第四传送间隔的起始和还基于第一信元的相关联时间戳值1将第一信元转发给它的目的地OP(0,0)。另外,如图14中所示,可以将分段数据信元之中的第二信元、第三信元和第四信元转发给OM(0)、CM(1)和IM(0)处维持的它们各自的队列。作为第一信元作为第一个被转发给OP(0,0)的信元的结果,可以维持信元的顺序。
在一些示例中,虽然图14中未示出,但可以将第一信元和第二信元同时存储在OM(0)处维持的单独VOPQ处。这会由于经由单独路由通过交换机200转发了第一信元和第二信元而出现。如对于以上示例所提到的,可以经由CM(0)转发第一信元,可以经由CM(1)转发第二信元。由于CM(0)与OM(0)之间链路LC(0,0)处的拥塞所致的延迟会导致同时存储。另外,如下面更详细描述的,用于将第一和第二信元转发给OM(0)链路LC(0,0)处维持的VOPQ的迭代链路匹配过程也会导致同时存储。即使在将第一信元和第二信元同时存储在OM(0)处维持的VOPQ处的情况下,也可以由于第一信元的相关联时间戳值1表明比相关联时间戳值为2的第二信元的龄期旧的龄期而将OM(0)处的OM管理器144布置成转发第一信元。
图15示例了按照本公开用于通过三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)转发分段数据的信元的示例方法的流程图。可以使用连同图6-9中描述的各种管理器一起如图2-5和10-14中所示交换机200的同样部分来说明示例方法。但是描述的方法不限于只是包括图6-9中描述的各种管理器的交换机200上的实施。可以在可以包括具有图6-9中描绘的元件中一个或更多个元件的管理器在内的三级MMM IQC分组交换机上实施示例方法。处理可以包括如框1500、1510、1520、1530、1540、和/或1550所描绘的一个或更多个功能操作或动作。
处理可以在框1500(接收新数据)开始,在框1500,数据可以在IP(0,0)处接收和分段成信元。如以上对于图10-14所提到的,数据可以具有目的地OP(0,0),可以将分段信元存储在VOQ(0,0,0,0)中。
处理可以从框1500向框1510(关联时间戳值)继续,IP(0,0)的IP管理器114可以使单独的时间戳值与VOQ(0,0,0,0)中存储的分段数据的每个信元相关联(例如,经由时间戳功能部件612)。在一些示例中,时间戳功能部件614可以根据公共参考时钟获得或生成单独的时间戳值,值最低的时间戳值可以表明最旧的信元。进一步地,如对于图10-14所述,时间戳值可以相关联以使得最旧信元(例如,时间戳值1)是VOQ(0,0,0,0)中存储的信元的HOL信元。
处理可以从框1510向框1520(向OM转发第一信元)继续,第一信元可以从VOQ(0,0,0,0)转发和随后通过交换机200的模块。在一些示例中,如以上对于图10-14所述,第一信元具有最低时间戳值和经由耦合到IP(0,0)的IM(0)、随后经由耦合到IM(0)的CM(0)和随后经由耦合到目的地OP(0,0)的OM(0)转发。另外如以上所提到的,IP(0,0)、IM(0)、CM(0)和OM(0)处的管理器可以包括被配置成基于传送间隔的起始和基于第一信元的相关联时间戳值通过交换机200的单独部分转发第一信元的逻辑和/或功能部件。
处理可以从框1520向框1530(向OM转发第二信元)继续,第二信元可以从VOQ(0,0,0,0)转发和随后通过交换机200的模块。在一些示例中,如以上对于图10-14所述,第二信元具有第二低的时间戳值和经由耦合到IP(0,0)的IM(0)、随后经由耦合到IM(0)的CM(1)和随后经由耦合到目的地OP(0,0)的OM(0)转发。另外如以上所提到的,IP(0,0)、IM(0)、CM(1)和OM(0)处的管理器可以包括被配置成基于传送间隔的起始和基于第二信元的相关联时间戳值通过交换机200的单独部分转发第二信元的逻辑和/或功能部件。
处理可以从框1530向框1540(向OP转发第一信元)继续,在框1540中,OM(0)处的OM管理器144可以将第一信元转发给目的地OP(0,0)。在一些示例中,如以上对于图10-14所提到的,第一信元可以已存储在VOPQ(0,0,0,0)处,OM(0)处的OM管理器144可以包括被配置成将第一信元从VOPQ(0,0,0,0)转发给OP(0,0)的逻辑和/或功能部件(例如,转发功能部件916)。第一信元的转发可以基于传送间隔(例如,第四传送间隔)的起始和基于第一信元的相关联时间戳值。
从框1540向框1550(向OP转发第二信元)继续,在框1550中,OM(0)处的OM管理器144可以将第二信元转发给目的地OP(0,0)。在一些示例中,如以上对于图10-14所提到的,第二信元可已存储在VOPQ(0,1,0,0)处,OM(0)处的OM管理器144可以包括被配置成将第二信元从VOPQ(0,1,0,0)转发给OP(0,0)的逻辑和/或功能部件(例如,转发功能部件916)。第二信元的转发可以基于传送间隔(例如,第五传送间隔)的起始和基于第二信元的相关联时间戳值。另外,如以上对于图10-14所提到的,会转发了第二信元以使得在将第二信元转发给OP(0,0)以前将第一信元转发给了OP(0,0)。
在一些示例中,过程可以基于交换机200的输入端口(例如,IP(0,0))处新数据的接收在框1500重新开始。
图16示例了按照本公开用以通过三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)转发分段数据的信元的示例信元路由1610和1620。信元路由1610和1620示例了分段数据的信元可以随着将信元转发给示例目的地OP(0,0)而遵照的示例信元路由。可以作为实线在图16中描绘信元路由1610,可以作为虚线描绘信元路由1620。
在一些示例中,交换机200可以接收数据。可以将数据分段成信元的序列(例如,数据流),信元可以单独与时间戳值相关联和随后通过交换机200转发。信元路由1610和1620表明数据流的第一和第二信元如何可以遵照不同路由通过交换机200的示例。如先前所提到的,交换机200每级和输出端口处的管理器可以被配置或布置成通过交换机200转发第一和第二信元以使得可以以信元被分段的顺序和/或以从IP(0,0)转发信元的顺序将数据流的信元转发给它们的目的地OP(0,0)。
根据一些示例,响应于传送间隔在交换机200的元件处单独维持的队列之间转发来自数据流的一个或更多个信元。例如,如图16中所示例的,可以经由信元路由1610转发来自数据流一部分的第一信元。所以响应于第一传送间隔的起始可以将信元从IP(0,0)处维持的VOQ(0,0,0,0)转发给IM(0)处维持的VCMQ(0,0,0,0)。随后,响应于第二传送间隔的起始,可以将第一信元转发给CM(0)处维持的VOMQ(0,0,0,0)。进一步地,响应于第三传送间隔的起始,可以将第一信元转发给VOPQ(0,0,0,0)。最终,响应于第四传送间隔可以将信元转发给信元的目的地OP(0,0)。
如先前所提到的,描述了第一、第二、第三和第四传送间隔以仅表明从给定信元角度的定时事件。因而,可以响应于同一第一、第二、第三和第四间隔中的至少一些的起始经由不同信元路由(例如,信元路由1620)转发来自同一数据流的其它信元。另外,可以在第一、第二、第三和第四传送间隔之前、之间或之后出现属于正通过交换机200转发的其它数据流的信元的其它传送间隔。
图17示例了按照本公开具有在耦合到向信元的目的地输出端口(例如,OP(0,0)和OP(0,1))耦合的输出模块(例如,OM(0))的两个中央模块(例如,CM(0)和CM(1))处维持的队列中存储的信元的三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的一部分的示例。为了简洁目的,图17描绘了包括与目的地OP 150 OP(0,0)和OP(0,1)相关联的CM(0)、CM(1)和OM(0)处维持的队列在内的交换机200部分。另外为了简洁目的,图17未示出OM(1)以及在两个CM 130与OM(1)之间耦合的链路LC135。
在一些示例中,如图17中所示例的,CM(0)和CM(1)处维持的VOMQ可以包括具有用以表明给定VOMQ中存储的信元龄期的单独时间戳值的信元。例如,以包括相关联时间戳值在VOMQ(0,0,0,0)中为1、在VOMQ(0,0,0,1)中为3、在VOMQ(1,0,0,0)中为2和在VOMQ(1,0,0,1)中为4的信元的形式在图17中示出了CM(0)处的VOMQ。另外例如,以包括相关联时间戳值在VOMQ(0,1,0,0)中为2、在VOMQ(0,1,0,1)中为4、在VOMQ(1,1,0,0)中为3和在VOMQ(1,1,0,1)中为5的信元的形式在图17中示出了CM(1)处的VOMQ。
如上所述,在一些示例中,属于同一数据流的分段数据的信元可以遵照不同路由通过交换机200以到达耦合到信元的目的地OP 150的OM140。例如,CM(0)处VOMQ(0,0,0,0)中存储的信元和CM(1)处VOMQ(0,1,0,0)中存储的信元可以属于数据流。另外,例如,CM(0)处VOMQ(1,0,0,0)中存储的信元和VOMQ(1,1,0,0)中存储的信元可以属于另一数据流。
如图17中所示,CM(0)和CM(1)可以分别经由链路LC(0,0)和LC(1,0)耦合到OM(0)。在一些示例中,CM(0)处的CM管理器134和CM(1)处的CM管理器134可以包括用以中继或提供与可以经由链路LC(0,0)或者链路LC(1,0)转发的VOMQ中存储的信元相关联的时间戳值的逻辑和/或功能部件。例如可以将时间戳值中继到OM(0)的OM管理器144。如下面更详细描述的,OM管理器144可以包括用以接收或获得VOMQ中存储的信元的时间戳值和使用时间戳值匹配链路LC(0,0)和LC(1,0)的逻辑和/或功能部件。例如,可以将CM(0)处VOQ(0,0,0,0)中存储的信元经由匹配链路LC(0,0)转发给与OM(0)处维持的信元的目的地OP(0,0)相关联的VOPQ(0,0,0,0)。
图18示例了按照本公开用于匹配三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的两个中央模块(例如,CM(0)和CM(1))与输出模块(例如,OM(0))之间链路的示例过程图。在一些示例中,使用图17中描绘的交换机200的示例部分实施过程图。虽然图18中示出的过程指示匹配耦合到OM(0)的LC135链路,去往OM(1)的其它LC135链路可以经历类似匹配过程。为了简洁目的,从具有链路LC(0,0)和LC(1,0)的OM(0)的角度描述示例的匹配过程。也是为了简洁目的,示例的匹配过程描述用以向与OP(0,0)和OP(0,1)相关联的VOPQ转发信元的匹配。在一些示例中,信元可以向与其它OP 150相关联的其它VOPQ转发和也可以经历类似匹配过程。
如图18中所示,过程可以是包括第一迭代、第二迭代和第m迭代的迭代过程,其中,m可以等同于经由链路LC135向OM 140耦合的CM 130的数量。如以上所提到的,对于交换机200而言m=2,所以第一和第二迭代适用于交换机200。然而,在m>2的其它示例交换机中,会出现额外的迭代直到匹配链路LC135为止或直到其它约束(例如,时间限制)结束匹配过程为止。
在一些示例中,OM(0)的OM管理器144可以包括用以获得与CM(0)和CM(1)处维持的VOMQ中存储的一个或更多个信元相关联的时间戳值(例如,时间戳功能部件913)的逻辑和/或功能部件。OM(0)的OM管理器144的时间戳功能部件913可以将获得的时间戳值暂时存储在OM管理器144处维持或对OM管理器144可访问的存储器(例如,存储器930)中。因而,如以上对于图17所述,获得VOMQ(0,0,0,0)的时间戳值1、VOMQ(0,0,0,1)的时间戳值3、VOMQ(1,0,0,0)的时间戳值2、VOMQ(1,0,0,1)的时间戳值4、VOMQ(0,1,0,0)的时间戳值2、VOMQ(0,1,0,1)的时间戳值4、VOMQ(1,1,0,0)的时间戳值3和VOMQ(1,1,0,1)的时间戳值5。
在示例过程18.1.0(请求VOPQ(0,0,0,0);请求VOPQ(0,0,0,1);请求VOPQ(0,1,0,0);请求VOPQ(0,1,0,1))开始,OM(0)的OM管理器144可以包括用以确定CM(0)和/或CM(1)处VOMQ处存储的哪个(些)信元的时间戳值最低的逻辑和/或功能部件。在一些示例中,逻辑和/或功能部件可以包括LC(0,0)的请求功能部件914和LC(1,0)的请求功能部件914。
在一些示例中,LC(0,0)的请求功能部件914可以部署用以基于信元的相关联时间戳值(联系任意中断)匹配链路以从CM(0)处的VOMQ转发信元的单独请求。单独请求可以包括用以匹配LC(0,0)以转发以OP(0,0)为目的地的信元的请求和用以匹配LC(0,0)以转发以OP(0,1)为目的地的信元的请求。由于VOMQ(0,0,0,0)具有目的地为OP(0,0)的信元的相关联时间戳值最低的信元,所以LC(0,0)的请求功能部件914可以如图18中所示部署VOPQ(0,0,0,0)的请求。另外由于VOMQ(0,0,0,1)具有目的地为OP(0,1)的信元的相关联时间戳值最低的信元,所以LC(0,0)的请求功能部件914可以如图18中所示部署VOPQ(0,0,0,1)的请求。两个请求可以表明VOMQ(0,0,0,0)的时间戳值1和VOMQ(0,0,0,1)的时间戳值3。
在一些示例中,LC(1,0)的请求功能部件914可以部署用以基于信元的相关联时间戳值(联系任意中断)匹配链路以从CM(1)处的VOMQ转发信元的单独请求。单独请求可以包括用以匹配LC(1,0)以转发以OP(0,0)为目的地的信元的请求和用以匹配LC(1,0)以转发以OP(0,1)为目的地的信元的请求。由于VOMQ(0,1,0,0)具有目的地为OP(0,0)的信元的相关联时间戳值最低的信元,所以LC(1,0)的请求功能部件914可以如图18中所示部署VOPQ(0,1,0,0)的请求。另外由于VOMQ(0,1,0,1)具有目的地为OP(0,1)的信元的相关联时间戳值最低的信元,所以LC(1,0)的请求功能部件914可以如图18中所示部署VOPQ(0,0,0,1)的单独请求。这两个请求可以表明VOMQ(0,1,0,0)的时间戳值2和VOMQ(0,1,0,1)的时间戳值4。
在一些示例中,OM(0)的OM管理器144可以包括用以对用以基于信元的相关联时间戳值(联系任意中断)匹配链路以准予向与目的地OP150相关联的VOPQ转发信元的请求的逻辑和/或功能部件。逻辑和/或功能部件可以包括OP(0,0)的准予功能部件915和OP(0,1)的准予功能部件915。OP(0,0)的准予功能部件915可以接收和对用以匹配链路以准予向与OP(0,0)相关联的VOPQ转发信元的请求,OP(0,1)的准予功能部件915可以接收和对用以匹配链路以准予向与OP(0,1)相关联的VOPQ转发信元的请求。因而,如图18中示例的示例过程中所示,对OP(0,0)的准予功能部件915和对OP(0,1)的准予功能部件915部署请求。
转移到示例过程18.1.1(准予VOPQ(0,0,0,0)的请求;准予VOPQ(0,0,0,1)的请求),OP(0,0)的准予功能部件915可以基于表明VOMQ(0,0,0,0)处存储的信元对于对OP(0,0)的准予功能部件915做出的两个请求而言最旧的时间戳值1准予VOMPQ(0,0,0,0)的请求。另外,OP(0,1)的准予功能部件915可以基于表明VOMQ(0,0,0,1)处存储的信元对于对OP(0,1)的准予功能部件915做出的两个请求而言最旧的时间戳值3准予VOPQ(0,0,0,1)的请求。
继续到示例过程18.1.2(接受对VOPQ(0,0,0,0)的准予),LC(0,0)的请求功能部件914可以基于具有与较低时间戳值相关联的信元的VOMQ(0,0,0,0)接受对VOPQ(0,0,0,0)的准予。随后转移到示例过程18.1.2.0(更新LC(0,0)链路状态),LC(0,0)的请求功能部件914可以更新LC(0,0)的链路状态以表明使LC(0,0)与VOMQ(0,0,0,0)匹配。更新的链路状态可以向LC(0,0)的请求功能部件914表明在过程的后续迭代中不需要进一步的请求。可以将LC(0,0)的更新链路状态维持在LC(0,0)的请求功能部件914处维持或对LC(0,0)的请求功能部件914可访问的存储器(例如,存储器930)中。
转移到示例过程18.1.3(表明LC(0,0)匹配),LC(0,0)的请求功能部件914可以向CM(0)的CM管理器134表明匹配了LC(0,0)以从VOMQ(0,0,0,0)转发信元。CM(0)的CM管理器134可以包括用以将VOMQ(0,0,0,0)处存储的信元经由LC(0,0)转发给OM(0)处VOPQ(0,0,0,0)的逻辑和/或功能部件(例如,转发功能部件816)。在一些示例中,响应于或基于下一个传送间隔的起始转发信元。
继续到示例过程18.2.0处的第二个迭代(请求VOPQ(0,1,0,0);请求VOPQ(0,1,0,1),LC(1,0)的请求功能部件914部署用以匹配链路以从CM(1)处的VOMQ转发信元的另一套单独请求。与示例过程18.1.0处做出的单独请求类似,两个请求可以表明VOMQ(0,1,0,0)的时间戳值2和VOMQ(0,1,0,1)的时间戳值4。
转移到示例过程18.2.2(准予VOPQ(0,1,0,0)的请求;准予VOPQ(0,1,0,1)的请求),OP(0,0)的准予功能部件915可以基于作为对OP(0,0)的准予功能部件915做出的唯一请求的请求准予VOPQ(0,1,0,0)的请求。另外,OP(0,1)的准予功能部件915可以基于作为对OP(0,1)的准予功能部件915做出的唯一请求的请求准予VOPQ(0,1,0,1)的请求。
继续到示例过程18.2.2(接受对VOPQ(0,1,0,0)的准予),LC(1,0)的请求功能部件914可以基于具有与较低时间戳值相关联的信元的VOMQ(0,1,0,0)接受对VOPQ(0,1,0,0)的准予。随后转移到示例过程18.2.2.0(更新LC(1,0)链路状态),LC(1,0)的请求功能部件914可以更新LC(1,0)的链路状态以表明使LC(1,0)与VOMQ(0,1,0,0)匹配。可以将LC(1,0)的更新链路状态维持在LC(1,0)的请求功能部件914处维持或对LC(1,0)的请求功能部件914可访问的存储器(例如,存储器930)中。
转移到示例过程18.2.3(表明LC(1,0)匹配),LC(1,0)的请求功能部件914可以向CM(1)的CM管理器134表明匹配了LC(1,0)以从VOMQ(0,1,0,0)转发信元。CM(1)的CM管理器134可以包括用以将VOMQ(0,1,0,0)处存储的信元经由LC(1,0)转发给OM(0)处VOPQ(0,1,0,0)的逻辑和/或功能部件(例如,转发功能部件816)。在一些示例中,响应于或基于下一个传送间隔的起始转发信元。
图19示例了按照本公开用以匹配输出模块与两个中央模块(例如,CM(0)和CM(1))之间链路的迭代过程的实施后向耦合到三级Clos网络分组交换机(例如,三级MMM IQC分组交换机200)的目的地输出端口(例如,OP(0,0)和OP(0,1))的输出模块(例如,OM(0))转发的信元的示例。在一些示例中,图19中示出的交换机200的部分描绘了对于图18描述的示例过程的实施后从CM(0)处的VOMQ(0,0,0,0)和CM(1)处的VOMQ(01,0,0)对信元的转发。如图19中所示,可以向VOPQ(0,0,0,0)转发相关联时间戳值为1的信元,可以向VOPQ(0,1,0,0)转发相关联时间戳值为2的信元。
在一些示例中,OM(0)处的OM管理器144可以包括被配置成将VOPQ(0,0,0,0)处存储的信元和VOPQ(0,1,0,0)处存储的信元转发给它们的目的地OP(0,0)的逻辑和/或功能部件。逻辑和/或功能部件可以包括转发功能部件916。转发功能部件916可以适于基于传送间隔的起始和基于表明信元是两个信元中较旧的信元的相关联时间戳值(联系任意中断)转发VOPQ(0,0,0,0)处存储的信元和VOPQ(0,1,0,0)处存储的信元。由于VOPQ(0,0,0,0)处存储的信元的时间戳值表明较旧龄期,所以可以基于传送间隔的起始转发此信元,可以基于后续传送间隔的起始转发VOPQ(0,1,0,0)处存储的信元。
图20示例了示例计算机程序产品2000的方框图。在一个实施例中,如图20中所示,计算机程序产品2000包括还包括指令2004的信号承载介质2002。在一些示例中,指令2004可以用于匹配三级MMM IQC分组交换机(例如,交换机100或交换机200)的多个中央模块(CM 130)与输出模块(例如,OM 140)之间的链路。可以执行指令2004以使得可以随着将分段数据从输出模块处维持的一个或更多个队列(例如,VOPQ)转发给耦合到输出模块的输出端口(例如,OP 150)而按顺序保持分段数据。
进一步地,指令2004通过逻辑(例如,OM管理器144的信元逻辑910)执行时使得逻辑接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路(例如,LC135)的请求。请求可以与从多个信元之中向输出模块处维持的第一队列转发第一信元相关联。多个信元可以已从三级MMM IQC分组交换机的输入端口(IP 110)处接收的数据分段出来和可以耦合到输出模块的输出端口为目的地。在一些示例中,可以经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元。用以匹配输出模块与第一中央模块之间链路的请求可以包括第一信元的龄期的指示。
指令2004还可以使得逻辑基于第一信元的龄期的指示准予请求。另外,响应于接收对请求的准予的接受,指令2004可以使得逻辑匹配输出模块与第一中央模块之间的链路。如以上所提到的,基于第一信元的龄期指示和基于传送间隔的起始,可以将第一信元在匹配链路上转发给输出模块处维持的第一队列。
另外如在图20中描绘的,一些示例可以包括计算机可读介质2006、可记录介质2008和通信媒体2010中的一个或更多个。这些元件周围的虚线块描绘了信号承载介质2002内但不限于信号承载介质2002内包括的不同类型介质。这些类型的介质可以分发与输出模块和/或三级Clos网络分组交换机(例如,三级MMM IQC分组交换机)相关联的逻辑要执行的指令2004。计算机可读介质2006和可记录介质2008可以包括但不限于软盘、硬盘驱动器(HDD)、压缩盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器等。通信媒体2010可以包括但不限于数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。
图21示例了按照本公开布置成用于通过三级Clos网络分组交换机(例如,三级MMM IQC分组交换机)转发分段数据的信元的示例运算设备2100。在很基本的配置2101中,运算设备2100通常包括一个或更多个处理器2110和系统存储器2120。存储器总线2130可以用于处理器2110与系统存储器2120之间的通信。
根据期望配置,处理器2110可以是包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或者其任何组合的任何类型的。处理器2110可以包括一个更多个级别的缓存,如,一级缓存2111和二级缓存2112、处理器内核2113、以及寄存器2114。处理器内核2113可以包括算术逻辑信元(ALU)、浮点信元(FPU)、数字信号处理内核(DSP内核)、或者其任何组合。存储器控制器2115也可以与处理器2110一起使用,或者在一些实施中存储器控制器2115可以是处理器2110的内部部分。
根据期望配置,系统存储器2120可以是包括但不限于易失性存储器(如,RAM)、非易失性存储器(如,ROM、闪存等)或其任何组合的任何类型的。系统存储器2120通常包括操作系统2121、一个或更多个应用2122、以及程序数据2124。应用2122包括布置成执行包括针对对于图6-9中示出的管理器架构描述的功能描述的动作或包括针对图15和18中示出的流程图和过程图分别描述的动作的如本文中所述的功能的三级Clos网络指令2123。程序数据2124包括对于实施指令2123(例如,维持时间戳值、实施链路匹配等)有用的信元转发数据2125。在一些示例中,可以将应用2122布置成通过操作系统2121上的程序数据2124操作以使得可以如本文中所述提供通过三级MMM IQC分组交换机转发分段数据信元的实施。通过虚线2101内的那些组件在图21中示例了此描述的基本配置。
运算设备2100可以具有额外功能部件或功能性、以及用以促进基本配置2101与任何需要的设备和接口之间通信的额外接口。例如,可以使用总线/接口控制器2140促进经由存储接口总线2141在基本配置2101与一个或更多个数据存储设备2150之间的通信。数据存储设备2150可以是可移除存储设备2151、不可移除存储设备2152、或者其组合。可移除存储和不可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘驱动器、诸如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)、以及磁带驱动器等。示例计算机存储介质可以包括以信息存储的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,如,计算机可读指令、数据结构、程序模块、或者其它数据。
系统存储器2120、可移除存储设备2151和不可移除存储设备2152都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储部件、磁盒、磁带、磁盘存储或其它磁存储设备、或者可以用来存储期望信息和运算设备2100可以访问的任何其它介质。任何这种计算机存储介质可以是设备2100的一部分。
计算机设备2100还可以包括用于促进经由总线/接口控制器2140从各种接口设备(例如,输出接口、外围接口、以及通信接口)向基本配置2101通信的接口总线2142。示例输出接口2160包括可以被配置成经由一个或更多个A/V端口2163向诸如显示器或扬声器的各种外部设备通信的图形处理单元2161和音频处理单元2162。示例外围接口2160包括可以被配置成与诸如输入设备(例如,键盘、鼠标、手写笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备经由一个或更多个I/O端口2173进行通信的串行接口控制器2171或并行接口控制器2172。示例通信接口2180包括可以布置成促进经由一个或更多个通信端口2182在网络通信上与一个或更多个其它运算设备2190通信的网络控制器2181。
在一些示例中,运算设备2190可以包括如图1中所示三级MMM IQC分组交换机中包括的一个或更多个互连模块和/或端口(例如,IP 110、IM 120、CM 130、OM 140、OP150)中的所有或至少一部分。网络通信连接是通信媒体的一个示例。通信媒体通常可以通过调制数据信号(如,载波或其它传输机制)中的计算机可读指令、数据结构、程序模块、或者其它数据实施,以及包括任何信息传递媒体。“调制数据信号”可以是以将信息编码到信号中的这种方式设置或改变信号特性中一个或更多个特性的信号。以示例、以及非限制的方式,通信媒体可以包括诸如有线网络或直接连线连接的有线媒体,诸如声学、射频(RF)、红外(IR)和其它无线媒体的无线媒体。如本文中所使用的术语计算机可读介质可以包括存储介质和通信媒体这二者。
本公开中参考术语“回应于”或“响应于”不限于只回应于特定功能部件和/或结构。功能部件还可以回应于另一功能部件和/或结构和还位于该功能部件和/或结构内。此外,当在本文中和以下权利要求中使用诸如“耦合”、“回应”或“响应于”或“通信”等术语或用语时,应当广泛地解释这些术语。例如,用语“耦合到”可以是指如对于用语被使用的上下文适当的通信地、电气地和/或操作地耦合。
本领域技术人员将会认识到,以本文中叙述的方式描述设备和/或过程、以及此后使用工程实践将这种描述的设备(例如,交换机、输入端口、输入模块、中央模块、输出模块、输出端口、运算设备等)和/或方法整合到数据处理系统中在本领域中是普遍的。即,可以经由合理量的实验将本文中描述的设备和/或方法的至少一部分整合到数据处理系统中。本领域技术人员将会认识到,通常的数据处理系统通常包括系统单元壳体、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的运算实体、驱动器、图形用户接口、以及应用程序、一个或更多个交互设备(如,触摸板或屏幕)、和/或包括反馈环和控制电机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整组件和/或量的控制电机)的控制系统中的一个或更多个。可以运用任何合适商用组件(如,数据运算/通信和/或网络运算/通信系统中通常得到的那些)实施通常的数据处理系统。
本文中描述的主题有时示例了不同其它组件或元件内包含、或者与不同其它组件或元件相连的不同组件或元件。应该理解,这种描绘的架构仅是示例,事实上可以实施取得同样功能性的许多其它架构。在概念上,用以取得同样功能性的组件的任何布置有效地“相关联”以使得取得期望功能性。所以,可以将本文中组合以取得特定功能性的任何两个组件看作彼此“相关联”以使得无论架构或中间组件如何,取得期望功能性。同样地,也可以将如此相关联的任何两个组件视为彼此“操作地连接”、或者“操作地耦合”以取得期望功能性,也可以将能够如此相关联的任何两个组件视为彼此“可操作地耦合”以取得期望功能性。可操作地耦合的具体示例包括但不限于以物理上可配合和/或物理地交互的组件和/或可无线地交互和/或无线地交互的组件和/或逻辑地交互和/或逻辑地可交互的组件。
针对本文中基本上任何复数和/或单数术语的使用,本领域技术人员可以如对上下文和/或应用适当的从复数转变为单数和/或从单数转变为复数。可以在本文中明确叙述各种单数/复数变换以求清楚。
本领域技术人员将会理解,通常,本文中、以及特别是所附权利要求(例如,所附权利要求的主体)中使用的术语通常意在作为“开放式”术语(例如,应当将术语“包括”解释成“包括但不限于”,应当将术语“具有”解释成“至少具有”,应当将术语“包括了”解释成“包括了但不限于”等)。本领域技术人员将会进一步理解,如果意在具体数量的引入权利要求表述,则将会在权利要求中明确表述这种意图,在没有这种表述的情况下不存在这种意图。例如,作为对理解的辅助,以下所附权利要求可以包含介绍性用语“至少一个”和“一个或更多个”的使用以引入权利要求表述。然而,不应当将这种用语的使用解释成隐含意味着通过不定冠词“一”或“一个”对权利要求表述的引入即使在同样权利要求包括介绍性用语“一个或更多个”或“至少一个”和诸如“一”或“一个”的不定冠词(例如,通常应当将“一”和/或“一个”解释为意味着“至少一个”或“一个或更多个”)时,也将包含这种引入权利要求表述的任何特定权利要求限制为只包含一个这种表述的发明;对于用来介绍权利要求表述的定冠词的使用同样如此。另外,即使在明确表述具体数量的引入权利要求表述的情况下,本领域技术人员也将会明白,通常应当将这种表述解释为至少意味着表述的数量(例如,“两个表述”的孤立表述在没有其它修饰用语的情况下通常意味着至少两个表述、或者两个或更多个表述)。再者,在使用对“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)分组交换机转发分段数据的信元的方法,分段数据在三级MMM IQC分组交换机的输入端口处接收和以三级MMM IQC分组交换机的输出端口为目的地,信元存储在输入端口处维持的虚拟输出队列中,虚拟输出队列与目的地输出端口相关联,该方法包括:
将第一时间戳值与信元之中的第一信元相关联,以及将第二时间戳值与信元之中的第二信元相关联,第一时间戳值表明第一信元比第二信元旧;
经由耦合到输入端口的输入模块、随后经由耦合到输入模块的多个中央模块之中的第一中央模块和随后经由耦合到第一中央模块并耦合到目的地输出端口的输出模块通过三级MMM IQC分组交换机转发第一信元;以及
经由耦合到输入端口的输入模块、随后经由多个中央模块之中的第二中央模块和随后经由耦合到目的地输出端口的输出模块通过三级MMM IQC分组交换机转发第二信元,其中,在将第二信元从输出模块转发给目的地输出端口之前将第一信元从输出模块转发给目的地输出端口。
2.如权利要求1所述的方法,其中,经由耦合到输入端口的输入模块通过三级MMM IQC分组交换机转发第一信元进一步包括:
基于第一传送间隔的起始将第一信元从虚拟输出队列转发给输入模块处维持的虚拟中央模块队列;
基于第二传送间隔的起始和基于第一信元的相关联第一时间戳值将第一信元从虚拟中央模块队列转发给第一中央模块处维持的虚拟输出模块队列;
基于第三传送间隔的起始和基于第一信元的相关联第一时间戳值将第一信元从第一中央模块处维持的虚拟输出模块队列转发给耦合到目的地输出端口的输出模块处维持的第一虚拟输出端口队列;以及
基于第四传送间隔的起始和基于第一信元的相关联第一时间戳值将第一信元从第一虚拟输出端口队列转发给目的地输出端口。
3.如权利要求2所述的方法,其中,经由耦合到输入端口的输入模块通过三级MMM IQC分组交换机转发第二信元进一步包括:
基于第二传送间隔的起始将第二信元从虚拟输出队列转发给输入模块处维持的虚拟中央模块队列;
基于第三传送间隔的起始和基于第二信元的相关联第二时间戳值将第二信元从虚拟中央模块队列转发给第二中央模块处维持的虚拟输出模块队列;
基于第四传送间隔的起始和基于第二信元的相关联第一时间戳值将第二信元从第二中央模块处维持的虚拟输出模块队列转发给耦合到目的地输出端口的输出模块处维持的第二虚拟输出端口队列;以及
基于第五传送间隔的起始和基于第二信元的相关联第二时间戳值将第二信元从虚拟输出端口队列转发给目的地输出端口。
4.如权利要求1所述的方法,其中,基于对三级MMM IQC分组交换机的输入端口可访问和对三级MMM IQC分组交换机的其它输入端口也可访问的参考时钟生成第一时间戳值和第二时间戳值,生成第一时间戳值和第二时间戳值以使得第一时间戳值具有比第二时间戳值低的时间戳值。
5.一种用于匹配三级存储器-存储器-存储器(MMM)输入队列Clos网络(IQC)分组交换机的多个中央模块与输出模块之间的链路以使得随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据的方法,该方法包括:
接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求,该请求与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联,多个信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出和以耦合到输出模块的输出端口为目的地,经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元,该请求包括第一信元的龄期指示;以及
基于第一信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第一中央模块之间的链路。
6.如权利要求5所述的方法,进一步包括:
接收用以匹配多个中央模块之中的第二中央模块与输出模块之间链路的单独请求,该单独请求与向输出模块处维持的第二队列转发第二信元相关联,多个信元之中的第二信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出,该单独请求包括第二信元的龄期指示;以及
基于第二信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第二中央模块之间的链路。
7.如权利要求6所述的方法,进一步包括:
基于第一传送间隔的起始在输出模块与第一中央模块之间的匹配链路上转发第一信元,将第一信元转发给输出模块处维持的第一队列,其中,第一队列与目的地输出端口相关联;以及
基于第一传送间隔的起始在输出模块与第二中央模块之间的匹配链路上转发第二信元,将第二信元转发给输出模块处维持的第二队列,其中,第二队列也与目的地输出端口相关联。
8.如权利要求7所述的方法,进一步包括:
基于第一信元的龄期指示和基于第二传送间隔的起始将第一信元转发给输出端口;以及
基于第二信元的龄期指示和基于第三传送间隔的起始将第二信元转发给输出端口。
9.如权利要求5所述的方法,其中,基于第一信元的龄期指示准予该请求包括:基于比单独接收的请求中表明的另一信元的龄期旧的第一信元的龄期准予该请求以匹配输出模块与第一中央模块之间的链路,单独接收的请求与将其它多个信元之中的另一信元转发给输出模块处维持的第二队列相关联,其它多个信元从三级MMM IQC分组交换机的另一输入端口处接收的数据分段出和以耦合到输出模块的输出端口为目的地,经由耦合到多个中央模块的另一输入模块朝向目的地输出端口转发其它多个信元。
10.如权利要求6所述的方法,其中,第一信元的龄期指示和第二信元的龄期指示包括:龄期指示是基于与第一信元相关联的第一时间戳值和与第二信元相关联的第二时间戳值,第一和第二时间戳值与三级MMM IQC分组交换机的输入端口处的第一信元和第二信元相关联。
11.如权利要求10所述的方法,其中,基于对三级MMM IQC分组交换机的输入端口可访问和对三级MMM IQC分组交换机的其它输入端口也可访问的参考时钟生成第一和第二时间戳值,生成第一时间戳值和第二时间戳值以使得第一时间戳值具有比第二时间戳值低的时间戳值。
12.一种用以匹配三级存储器-存储器-存储器(MMM)输入队列Clos网络(IQC)分组交换机的多个中央模块与输出模块之间的链路以使得随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据的装置,该装置包括:
输出模块的输出模块管理器,输出模块管理器包括如下的逻辑,所述逻辑被配置成:
接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求,该请求与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联,多个信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出和以耦合到输出模块的输出端口为目的地,经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元,该请求包括第一信元的龄期指示;以及
基于第一信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第一中央模块之间的链路。
13.如权利要求12所述的装置,逻辑进一步被配置成:
接收用以匹配多个中央模块之中的第二中央模块与输出模块之间链路的单独请求,该单独请求与向输出模块处维持的第二队列转发第二信元相关联,多个信元之中的第二信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出,该单独请求包括第二信元的龄期指示;以及
基于第二信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第二中央模块之间的链路。
14.如权利要求13所述的装置,输出模块管理器进一步包括被配置成如下内容的逻辑:
基于第一传送间隔的起始在输出模块与第一中央模块之间的匹配链路上转发第一信元,将第一信元转发给输出模块处维持的第一队列,其中,第一队列与目的地输出端口相关联;以及
基于第一传送间隔的起始在输出模块与第二中央模块之间的匹配链路上转发第二信元,将第二信元转发给输出模块处维持的第二队列,其中,第二队列也与目的地输出端口相关联。
15.如权利要求14所述的装置,输出模块管理器进一步包括被配置成如下内容的逻辑:
基于第一信元的龄期指示和基于第二传送间隔的起始将第一信元转发给输出端口;以及
基于第二信元的龄期指示和基于第三传送间隔的起始将第二信元转发给输出端口。
16.如权利要求12所述的装置,其中,第一信元的龄期指示和第二信元的龄期指示包括:龄期指示是基于与第一信元相关联的第一时间戳值和与第二信元相关联的第二时间戳值,第一和第二时间戳值与三级MMM IQC分组交换机的输入端口处的第一信元和第二信元相关联。
17.一种三级存储器-存储器-存储器(MMM)输入队列Clos网络(IQC)分组交换机,包括:
被配置成维持虚拟输出队列以使得虚拟输出队列要存储输入端口处接收和以输出端口为目的地的分段数据信元的输入端口,输入端口具有输入端口管理器,其中,将输入端口管理器和虚拟输出队列布置成相互合作以存储虚拟输出队列中以输出端口为目的地的分段数据信元、将第一时间戳值与分段数据信元之中的第一信元相关联、将第二时间戳值与分段数据信元之中的第二信元相关联和以从虚拟输出队列转发第一信元和第二信元,基于第一传送间隔的起始转发第一信元,基于第二传送间隔的起始转发第二信元;
耦合到输入端口的输入模块,输入模块具有被配置成在输入模块处接收第一信元和第二信元的输入模块管理器,输入模块管理器还被配置成基于第二传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元,输入模块管理器还被配置成基于第三传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元;
耦合到输入模块的第一中央模块,第一中央模块具有被配置成在第一中央模块处接收第一信元的第一中央模块管理器,第一中央模块管理器还被配置成基于第三传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元;
耦合到输入模块的第二中央模块,第二中央模块具有被配置成在第二中央模块处接收第二信元的第二中央模块管理器,第二中央模块管理器还被配置成基于第四传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元;以及
耦合到第一和第二中央模块的输出模块,输出模块具有被配置成在输出模块处接收第一信元和第二信元的输出模块管理器,输出模块管理器还被配置成基于第四传送间隔的起始和基于第一信元的相关联时间戳值转发第一信元,输出模块管理器还被配置成基于第五传送间隔的起始和基于第二信元的相关联时间戳值转发第二信元,其中,将第一信元和第二信元转发给目的地输出端口,目的地输出端口耦合到输出模块。
18.如权利要求17所述的三级MMM IQC分组交换机,进一步包括:
被配置成维持虚拟中央模块队列的输入模块,其中,将输入模块管理器和虚拟中央模块队列布置成相互合作以在输入模块处接收第一信元和第二信元、以将第一信元和第二信元存储在虚拟中央模块队列中和以从虚拟中央模块队列转发第一信元和第二信元;
被配置成维持第一虚拟输出模块队列的第一中央模块,其中,将第一中央模块管理器和第一虚拟输出模块队列布置成相互合作以在第一中央模块处接收第一信元、以将第一信元存储在第一虚拟输出模块队列中和以从第一虚拟输出模块队列转发第一信元;
被配置成维持第二虚拟输出模块队列的第二中央模块,其中,将第二中央模块管理器和第二虚拟输出模块队列布置成相互合作以在第二中央模块处接收第二信元、以将第二信元存储在第二虚拟输出模块队列中和以从第二虚拟输出模块队列转发第二信元;以及
被配置成维持第一虚拟输出端口队列和第二虚拟输出端口队列的输出模块,其中,将输出模块管理器和第一和第二虚拟输出端口队列布置成相互合作以在输出模块处接收第一信元和第二信元、将第一信元存储在第一虚拟输出端口队列中、将第二信元存储在第二虚拟输出端口队列中、从第一虚拟输出端口队列转发第一信元和从第二虚拟输出端口队列转发第二信元。
19.如权利要求17所述的三级MMM IQC分组交换机,进一步包括:
被配置成维持另一虚拟输出队列以使得另一虚拟输出队列要存储另一输入端口处接收的分段数据信元的另一输入端口,其中,基于对输入端口可访问和对其它输入端口也可访问的参考时钟生成第一时间戳值和第二时间戳值,生成第一时间戳值和第二时间戳值以使得第一时间戳值具有比第二时间戳值低的时间戳值。
20.一种计算机程序产品,包括:具有指令的信号承载介质,所述指令用以匹配三级存储器-存储器-存储器(MMM)输入队列Clos网络(IQC)分组交换机的多个中央模块与输出模块之间的链路以使得随着将分段数据从输出模块处维持的一个或更多个队列转发给耦合到输出模块的输出端口而按顺序保持分段数据,该指令在通过逻辑执行时使得逻辑:
接收用以匹配多个中央模块之中的第一中央模块与输出模块之间链路的请求,该请求与向输出模块处维持的第一队列转发多个信元之中的第一信元相关联,多个信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出和以耦合到输出模块的输出端口为目的地,经由耦合到多个中央模块的输入模块朝向目的地输出端口转发多个信元,该请求包括第一信元的龄期指示;以及
基于第一信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第一中央模块之间的链路。
21.如权利要求20所述的计算机程序产品,其中,指令在通过逻辑执行时进一步使得逻辑:
接收用以匹配多个中央模块之中的第二中央模块与输出模块之间链路的单独请求,该单独请求与向输出模块处维持的第二队列转发第二信元相关联,多个信元之中的第二信元从三级MMM IQC分组交换机的输入端口处接收的数据分段出,该单独请求包括第二信元的龄期指示;以及
基于第二信元的龄期指示准予该请求,其中,响应于接收到请求准予的接受,匹配输出模块与第二中央模块之间的链路。
22.如权利要求21所述的计算机程序产品,其中,
第一信元的龄期指示和第二信元的龄期指示包括:龄期指示是基于与第一信元相关联的第一时间戳值和与第二信元相关联的第二时间戳值,第一和第二时间戳值与三级MMM IQC分组交换机的输入端口处的第一信元和第二信元相关联。
23.如权利要求22所述的计算机程序产品,其中,基于对三级MMMIQC分组交换机的输入端口可访问和对三级MMM IQC分组交换机的其它输入端口也可访问的参考时钟生成第一和第二时间戳值,生成第一时间戳值和第二时间戳值以使得第一时间戳值具有比第二时间戳值低的时间戳值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/511,424 US8675673B2 (en) | 2009-07-29 | 2009-07-29 | Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage |
US12/511,424 | 2009-07-29 | ||
PCT/US2010/038146 WO2011014302A1 (en) | 2009-07-29 | 2010-06-10 | Forwarding cells of partitioned data through a three-stage clos-network packet switch with memory at each stage |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102474461A true CN102474461A (zh) | 2012-05-23 |
CN102474461B CN102474461B (zh) | 2015-02-25 |
Family
ID=43526942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080033402.1A Expired - Fee Related CN102474461B (zh) | 2009-07-29 | 2010-06-10 | 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8675673B2 (zh) |
EP (1) | EP2460323A4 (zh) |
CN (1) | CN102474461B (zh) |
WO (1) | WO2011014302A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005487A (zh) * | 2014-12-29 | 2017-08-01 | 甲骨文国际公司 | 用于支持联网设备中的高效虚拟输出队列(voq)资源利用的系统和方法 |
CN113841364A (zh) * | 2019-03-18 | 2021-12-24 | 布莱特威公司 | 用于数据中心网络交换的系统、方法和架构 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9166928B2 (en) * | 2011-09-30 | 2015-10-20 | The Hong Kong University Of Science And Technology | Scalable 3-stage crossbar switch |
DE102013019643A1 (de) * | 2013-11-22 | 2015-05-28 | Siemens Aktiengesellschaft | Zweistufiger Kreuzschienenverteiler und Verfahren zum Betrieb |
GB2520694A (en) | 2013-11-27 | 2015-06-03 | Airbus Operations Ltd | Aircraft electric braking system |
US10629280B1 (en) | 2018-10-16 | 2020-04-21 | Micron Technology, Inc. | Methods for determining an expected data age of memory cells |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050002334A1 (en) * | 2003-06-19 | 2005-01-06 | Hung-Hsiang Jonathan Chao | Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch |
US6907041B1 (en) * | 2000-03-07 | 2005-06-14 | Cisco Technology, Inc. | Communications interconnection network with distributed resequencing |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5166926A (en) * | 1990-12-18 | 1992-11-24 | Bell Communications Research, Inc. | Packet address look-ahead technique for use in implementing a high speed packet switch |
KR100278016B1 (ko) | 1995-12-26 | 2001-01-15 | 윤종용 | 비동기 전송모드 교환시스템의 스위칭 장치 및 방법 |
JP3097681B2 (ja) | 1998-12-25 | 2000-10-10 | 日本電気株式会社 | パケット交換機及びその制御方法 |
JP3581052B2 (ja) | 1999-08-03 | 2004-10-27 | 日本電信電話株式会社 | Atmスイッチ |
US7102999B1 (en) * | 1999-11-24 | 2006-09-05 | Juniper Networks, Inc. | Switching device |
US6961342B1 (en) * | 2000-03-29 | 2005-11-01 | Necdet Uzun | Methods and apparatus for switching packets |
US7173931B2 (en) * | 2000-11-20 | 2007-02-06 | Hung-Hsiang Jonathan Chao | Scheduling the dispatch of cells in multistage switches |
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 |
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 |
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 |
US7006514B2 (en) * | 2001-05-31 | 2006-02-28 | Polytechnic University | Pipelined maximal-sized matching cell dispatch scheduling |
US7095744B2 (en) * | 2000-11-22 | 2006-08-22 | Dune Networks | Method and system for switching variable sized packets |
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 |
US8937964B2 (en) * | 2002-06-27 | 2015-01-20 | 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 |
JP2005045626A (ja) | 2003-07-24 | 2005-02-17 | Nec Engineering Ltd | データ転送システム及びそれに用いるマルチキャスト転送方法 |
CA2544411A1 (en) * | 2003-10-30 | 2005-05-26 | 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 |
US20070140232A1 (en) | 2005-12-16 | 2007-06-21 | Carson Mark B | Self-steering Clos switch |
US7925816B2 (en) * | 2006-11-06 | 2011-04-12 | Oracle America, Inc. | Architecture for an output buffered switch with input groups |
US20100094173A1 (en) | 2007-03-16 | 2010-04-15 | Denton Marshall T | Pressure control for catheter drain tubing |
US7843908B2 (en) * | 2007-06-08 | 2010-11-30 | Roberto Rojas-Cessa | Scalable two-stage Clos-networking switch and module-first matching |
CN101304374B (zh) | 2008-03-28 | 2010-09-29 | 武汉烽火网络有限责任公司 | 一种基于Clos网络交换结构的贯序匹配调度算法 |
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 |
-
2009
- 2009-07-29 US US12/511,424 patent/US8675673B2/en not_active Expired - Fee Related
-
2010
- 2010-06-10 CN CN201080033402.1A patent/CN102474461B/zh not_active Expired - Fee Related
- 2010-06-10 WO PCT/US2010/038146 patent/WO2011014302A1/en active Application Filing
- 2010-06-10 EP EP10804851.3A patent/EP2460323A4/en not_active Withdrawn
-
2014
- 2014-01-28 US US14/166,802 patent/US9100322B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907041B1 (en) * | 2000-03-07 | 2005-06-14 | Cisco Technology, Inc. | Communications interconnection network with distributed resequencing |
US20050002334A1 (en) * | 2003-06-19 | 2005-01-06 | Hung-Hsiang Jonathan Chao | Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch |
Non-Patent Citations (1)
Title |
---|
杨帆等: "一种新的输入缓存Clos结构及其路由/调度算法", 《西安电子科技大学学报》, vol. 34, no. 1, 28 February 2007 (2007-02-28) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005487A (zh) * | 2014-12-29 | 2017-08-01 | 甲骨文国际公司 | 用于支持联网设备中的高效虚拟输出队列(voq)资源利用的系统和方法 |
CN113841364A (zh) * | 2019-03-18 | 2021-12-24 | 布莱特威公司 | 用于数据中心网络交换的系统、方法和架构 |
Also Published As
Publication number | Publication date |
---|---|
EP2460323A4 (en) | 2016-11-16 |
US20110026539A1 (en) | 2011-02-03 |
US20140146829A1 (en) | 2014-05-29 |
US9100322B2 (en) | 2015-08-04 |
US8675673B2 (en) | 2014-03-18 |
CN102474461B (zh) | 2015-02-25 |
WO2011014302A1 (en) | 2011-02-03 |
EP2460323A1 (en) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102474461A (zh) | 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元 | |
CN102577258B (zh) | 配置三级clos网络分组交换机 | |
CN100579108C (zh) | 一种远程密钥验证的方法和主机结构适配器 | |
US10027433B2 (en) | Multiple clock domains in NoC | |
CN102474460A (zh) | 通过每级具有缓存的三级Clos网络分组交换机来转发数据 | |
RU2584449C2 (ru) | Система управления связью, коммутационный узел и способ управления связью | |
JP5429572B2 (ja) | チェーン化デバイスシステムにおいてパラメータを設定し待ち時間を決定する方法 | |
US8099471B2 (en) | Method and system for communicating between memory regions | |
JP6904369B2 (ja) | 制御装置、制御方法、及びプログラム | |
US9515963B2 (en) | Universal network interface controller | |
CN102193888B (zh) | 数据传输系统与可编程串行外围设备接口控制器 | |
CN101004674B (zh) | 数据处理系统和包括数据处理系统的高清晰度电视机 | |
CN114679415B (zh) | 一种满足AXI5-Lite协议标准的无阻塞banyan网络 | |
US8307117B2 (en) | System and method for data exchange in multiprocessor computer systems | |
CN104601346A (zh) | 管理交换机的网络连接的方法和装置 | |
JP3103298B2 (ja) | Atmスイッチのアドレス生成回路 | |
JP2000022724A (ja) | パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 | |
CN101510827A (zh) | 路由交换装置、方法及在路由交换装置中更新业务的方法 | |
JP2019028853A (ja) | 情報処理システム、情報処理方法及びプログラム | |
US20100290457A1 (en) | Hot-swapping network port functionality | |
CN102693206A (zh) | 在终点中无线usb同步的缓冲器管理 | |
JP2006099650A (ja) | ネットワークシステム、そのノード | |
JP2009004908A (ja) | 通信装置、通信方法、及びプログラム | |
Shitole et al. | Design and Implementation of FPGA Router using Virtual Cut-Through Switching Technique | |
JPH06243116A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150225 Termination date: 20190610 |