配置三级clos网络分组交换机的制作方法

文档序号:7912993阅读:368来源:国知局
专利名称:配置三级clos网络分组交换机的制作方法
配置三级CLOS网络分组交换机相关申请本申请要求于2009 年 6 月 16 日由 Roberto Rojas-Cessa 和 ZiqianDong 提交 W IS ^ "Configuring a Three-Stage Clos-Network PacketSwitch" W ^ H Φ it (
号12/485,828)的优先权。本申请还涉及于2009年7月四日由Roberto Rojas-Cessa 禾口 Ziqian Dong 提交的题为"Forwarding Cells of Partitioned Data Through a Three-StageClos-Network Packet Switch with Memory at each Stage,,的美国申请(序号 12/511,424);以及还涉及于2009年7月四日由 Roberto Ro jas-Cessa 和 Ziqian Dong 提交的题为"Forwarding Data Through a Three-StageClos-Network Packet Switch with Memory at each Stage” 的美国申请(序号 12/511,814)。
背景技术
典型的三级Clos网络分组交换机包括被组装用于创建能够具有大量端口的分组交换机的三级交换机模块。这三个级一般包括输入模块、中央模块和输出模块。一般而言, 三级Clos网络分组交换机中包括的输入模块、中央模块和输出模块越多,则交换机可以支持的端口就越多。作为支持可变数量端口的能力的结果,可以将三级Clos网络分组交换机架构视为可扩缩交换机架构。管理通信网络的公司(比如互联网服务提供商或电信服务提供商)将发现三级Clos网络分组交换机架构的可扩缩性是非常吸引人的属性。然而,对通过被扩缩为包括大量端口的三级Clos网络分组交换机来转发数据的路由进行配置将是复杂和缓慢的过程。

发明内容
本公开大体上描述了用于配置通过三级Clos网络分组交换机的一个或多个路由来转发在三级Clos网络分组交换机的输入端口处接收到的数据的示例设备。可以将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中。存储在一个或多个虚拟输出队列中的一个或多个单元可以分别以与三级Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地。用于配置一个或多个路由的示例设备可以包括在输入端口处的输入管理器,且输入管理器可以包括逻辑。在一些示例中,逻辑可以被配置为执行以下操作获得与在一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目,其中,该一个或多个虚拟输出队列在与输入模块相耦合的输入端口处被维护。一个或多个虚拟输出队列可以与一个或多个输出模块分别相关联。逻辑还可以被配置为执行以下操作确定与一个或多个输出模块中的给定输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目。该逻辑还可以被配置为执行以下操作发出用于匹配输入模块和中央模块之间的第一链路的请求。该请求可以指示与被确定为具有最大的总单元数目的给定输出模块分别关联的一个或多个虚拟输出队列的总单元数目。该逻辑还可以被配置为执行以下操作基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目, 接收针对请求的许可,且接受该许可,以匹配第一链路。该逻辑还可以被配置为执行以下操作接收对已许可了用于匹配中央模块和给定输出模块之间的第二链路的单独请求、且可以接受该许可以匹配第二链路的指示。该逻辑还可以被配置为执行以下操作配置来自虚拟输出队列的路由。所配置的路由可以包括第一匹配链路和第二匹配链路。在一些示例中,可以从与给定输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列。该选择可以基于具有最大单元数目的虚拟输出队列。响应于单元传输间隔,逻辑可以被配置为执行以下操作经由所配置的路由来转发在虚拟输出队列处存储的单元。可以将该单元转发到在给定输出模块处维护的队列。在一些示例中,队列可以与该单元的目的输出端口相关联。本公开还大体上描述了实现用于配置通过三级Clos网络分组交换机的一个或多个路由的方法。所配置的路由可以用于转发在三级Clos网络分组交换机的输入端口处接收到的数据。可以将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中。存储在一个或多个虚拟输出队列中的一个或多个单元可以分别以与三级Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地。根据用于配置通过三级Clos网络分组交换机的一个或多个路由的示例方法,可以获得与在一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目,其中, 该一个或多个虚拟输出队列在输入端口处被维护。一个或多个虚拟输出队列可以与一个或多个输出模块分别相关联。然后,可以确定与一个或多个输出模块中的给定输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目。然后, 可以发出用于匹配输入模块和中央模块之间的第一链路的请求。该请求可以指示与被确定为具有最大的总单元数目的给定输出模块分别关联的一个或多个虚拟输出队列的总单元数目。可以基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目, 接收针对请求的许可。然后,可以接受该已接收的许可,以匹配第一链路。此外,可以接收对已许可了用于匹配中央模块和给定输出模块之间的第二链路的单独请求的指示。该许可已被接受,以匹配第二链路。在实现用于配置通过三级Clos网络分组交换机的一个或多个路由的方法的一些示例中,可以配置路由。该路由可以被配置为来自虚拟输出队列。所配置的路由可以包括第一匹配链路和第二匹配链路。可以从与给定输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列。该选择可以基于具有最大单元数目的虚拟输出队列。在一些示例中,响应于单元传输间隔,可以经由所配置的路由向在给定输出模块处维护的队列转发在虚拟输出队列处存储的单元。队列可以与该单元的目的输出端口相关联。本公开还大体上描述了实现以下方法对用于匹配三级Clos网络分组交换机的输入模块和中央模块之间的链路的请求进行许可。该请求可以与在耦合到输入模块的输入端口处维护的一个或多个虚拟输出队列相关联。一个或多个虚拟输出队列可以存储在输入端口处接收到的数据。可以将数据划分为一个或多个单元。该一个或多个单元可以分别以与三级Clos网络分组交换机的给定输出模块相耦合的输出端口为目的地。根据对用于匹配三级Clos网络分组交换机的输入模块和中央模块之间的链路的请求进行许可的示例方法,可以接收该请求。可以接收所述用于匹配输入模块和中央模块之间的链路的请求。该请求可以指示在一个或多个虚拟输出端口队列中存储的、分别以耦合到给定输出模块的输出端口为目的地的一个或多个单元的单元数目。然后,可以基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,以及基于在输入模块和中央模块之间的未匹配的链路的可用性,对该请求进行许可。此外,可以向请求方发送许可指示。在一些示例中,该指示可以包括链路标识符,以指示所匹配的链路,作为在输入模块和中央模块之间耦合的链路。本公开大体上还描述了实现以下方法对用于匹配三级Clos网络分组交换机的中央模块和输出模块之间的链路的请求进行许可。该请求可以与在耦合到三级Clos网络分组交换机的输入模块的输入端口处维护的一个或多个虚拟输出队列相关联。一个或多个虚拟输出队列可以存储在输入端口处接收到的、且已被划分为一个或多个单元的数据。该一个或多个单元可以分别以与三级Clos网络分组交换机的给定输出模块相耦合的输出端口为目的地。根据对用于匹配三级Clos网络分组交换机的中央模块和输出模块之间的链路的请求进行许可的示例方法,可以接收该请求。可以接收所述用于匹配中央模块和输出模块之间的链路的请求。该请求可以指示在一个或多个虚拟输出端口队列中存储的、分别以耦合到输出模块的输出端口为目的地的一个或多个单元的单元数目。然后,可以基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,以及基于在中央模块和输出模块之间的链路的可用性,对该请求进行许可。可以向请求方发送许可指示。在一些示例中,该指示可以包括链路标识符,以指示所匹配的链路,作为在中央模块和输出模块之间耦合的链路。本公开大体上还描述了示例三级Clos网络交换机。示例三级Clos网络交换机可以包括被配置用于维护第一虚拟输出队列和第二虚拟输出队列的输入端口。第一虚拟输出队列可以存储被划分为以第一输出端口为目的地的一个或多个单元的数据。第二虚拟输出队列可以存储被划分为以第二输出端口为目的地的一个或多个单元的数据。输入端口可以具有输入端口管理器。输入端口管理器和第一和第二虚拟输出队列可以被布置为彼此合作,以使得输入端口管理器能够获得第一和第二虚拟输出队列各自的单元数目,以确定总单元数目。示例三级Clos网络交换机还可以包括经由第一链路耦合到输入模块的中央模块。中央模块可以具有被配置用于匹配第二链路的中央模块管理器。示例三级Clos网络交换机还可以包括经由第二链路耦合到中央模块的输出模块。输出模块可以被配置用于维护与第一虚拟输出队列相关联的第一队列和与第二虚拟输出队列相关联的第二队列。输出模块可以具有输出模块管理器。输出模块管理器和第一和第二队列可以被布置为彼此合作, 以接收从第一虚拟输出队列经由第二链路转发的单元,并接收从第二虚拟输出队列经由第二链路转发的单元。在一些示例中,输入模块的输入端口管理器还可以被配置用于向输入模块的输入模块管理器发起第一请求。第一请求可以是匹配第一链路。该请求可以指示第一虚拟输出队列和第二虚拟输出队列的总单元数目。输入端口管理器还可以被配置用于基于比由输入模块的输入模块管理器接收的单独请求的另一指示的总单元数目更大的指示的总单元数目,接收针对第一请求的许可,然后,接受该许可,以匹配第一链路。输入端口管理器还
10可以被配置用于接收对已许可并接受了用于匹配第二链路的第二请求以匹配第二链路的指示。第二请求可以由中央模块的中央模块管理器许可。基于与第一请求中的单元数目相等、并大于中央模块的中央模块管理器接收的请求的另一指示的总单元数目的第二请求的指示的总单元数目,可以对第二请求进行许可。输入还可以被配置用于配置路由转发来自第一虚拟输出队列的单元。可以基于比第二虚拟输出队列的单元数目更大的第一虚拟输出队列的单元数目来配置路由。所配置的路由可以包括匹配的第一链路和匹配的第二链路。 在一些示例中,响应于单元传输间隔,输入管理器可以被配置为转发在第一虚拟输出队列中存储的单元。可以经由配置的路由向输出模块处维护的第一队列转发单元。本公开大体上还描述了示例计算机程序产品。在一些示例中,该计算机程序产品可以包括具有指令的信号承载介质。该指令可以用于配置通过三级Clos网络分组交换机的一个或多个路由。所配置的路由可以用于转发在三级Clos网络分组交换机的输入端口处接收到的数据。可以将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中。存储在一个或多个虚拟输出队列中的一个或多个单元可以分别以与三级Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地。根据示例计算机程序产品,所述指令还可以用于获得与在输入端口处维护的一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目。一个或多个虚拟输出队列可以与一个或多个输出模块分别相关联。然后,可以确定与一个或多个输出模块中的给定输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目。然后,可以发出用于匹配输入模块和中央模块之间的第一链路的请求。该请求可以指示与被确定为具有最大的总单元数目的给定输出模块分别关联的一个或多个虚拟输出队列的总单元数目。可以基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目,接收针对请求的许可。然后,可以接受该已接收的许可,以匹配第一链路。 此外,可以接收对已许可了用于匹配中央模块和给定输出模块之间的第二链路的单独请求的指示。也可以接受该许可,以匹配第二链路。在一些示例中,指令还可以用于配置路由。该路由可以被配置为来自虚拟输出队列。所配置的路由可以包括第一匹配链路和第二匹配链路。可以从与给定输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列。该选择可以基于具有最大单元数目的虚拟输出队列。在一些示例中,响应于单元传输间隔,可以经由所配置的路由向在给定输出模块处维护的队列转发在虚拟输出队列处存储的单元。队列可以与该单元的目的输出端口相关联。前述发明内容仅是说明性的,且不意在以任何方式进行限制。除了上述说明性方面、实施例和特征之外,通过参照附图和以下详细描述,其它方面、实施例和特征将变得显而易见。


根据以下描述和所附权利要求,结合附图,本公开的前述和其它特征将变得更完全显而易见。请理解这些附图仅示出了根据本公开的若干实施例,且因此不应将其视为对本发明范围的限制,将通过使用附图,以附加的特点和细节来描述本公开。
在附图中图1示出了具有可变数目端口和模块的示例三级Clos网络分组交换机;图2示出了包括固定数目端口和模块在内的示例三级Clos网络分组交换机;图3示出了包括固定数目端口和模块在内的三级Clos网络分组交换机的2个具有队列的输入端口的示例的框图;图4示出了用于匹配输入模块和中央模块之间的链路的示例过程图;图5示出了用于匹配中央模块和输出模块之间的链路的示例过程图;图6示出了用于配置向输出模块转发单元的路由的示例过程图;图7示出了被配置为转发来自在输入端口处维护的虚拟输出队列的单元的示例路由;图8示出了在输出模块处维护的示例队列;图9示出了输入端口管理器的示例架构的框图;图10示出了输入模块管理器的示例架构的框图;图11示出了中央模块管理器的示例架构的框图;图12示出了输出模块管理器的示例架构的框图;图13示出了用于配置通过三级Clos网络分组交换机的一个或多个路由的示例方法的流程图;图14示出了对用于匹配输入模块和中央模块之间的链路的请求进行许可的示例方法的流程图;图15示出了对用于匹配中央模块和输出模块之间的链路的请求进行许可的示例方法的流程图;图16示出了用于转发在输出模块处所维护的队列中存储的单元的示例方法的流程图;图17示出了示例计算机程序产品的框图;以及图18示出了被布置为用于配置通过三级Clos网络分组交换机的一个或多个路由的示例计算设备,它们都根据本公开来布置。
具体实施例方式在以下具体实施方式
中,参考作为具体实施方式
一部分的附图。在附图中,除非上下文另行指出,否则相似的符号一般标识相似的组件。在具体实施方式
、附图和权利要求中描述的说明性示例或实施例不意味着限制。在不脱离此处呈现的主题的精神或范围的情况下,可以采用其他示例或实施例,且可以进行其他改变。将容易理解可以用广泛不同的配置来布置、替换、组合和设计一般如本文所述的本公开的各方面,这些广泛不同的配置都是明确可预期的,且构成了本公开的一部分。本公开被示出为方法、装置、系统和计算机程序产品等,其与配置通过三级Clos 网络分组交换机的一个或多个路由相关。如本公开所预期的,对通过被扩缩为包括大量端口的三级Clos网络分组交换机来转发数据的路由进行配置将是复杂和缓慢的过程。三级Clos网络分组交换机的设计的特定方面可以影响配置的复杂度和速度。例如,一种类型的三级Clos网络分组交换机设计可以是输入排队的Clos网络分组交换机(“IQC交换机”)。IQC交换机可以包括在输入端口处维护的队列或缓冲区,下文中将其称为“虚拟输出队列”(V0Q)。这些VOQ至少可以临时存储被划分为固定长度分组(“单元”),以方便通过IQC交换机来内部交换或路由数据的数据。然而,IQC交换机设计将要求复杂的和可能耗时的链路匹配过程,来配置通过IQC 交换机的路由。例如,在可以通过IQC交换机的链路来转发单元之前,可能需要化解输出端口竞争和通过IQC交换机的三个级的路径路由。由于该增加的复杂度和时间消耗,随着IQC 交换机扩缩到较大的规模(例如,更多的模块和端口),针对通过IQC交换机路由的数据来维持高的吞吐量水平和可接受的服务质量成为新的问题。在一些示例中,实现了用于配置通过三级Clos网络分组交换机(例如,IQC交换机)的一个或多个路由的方法。根据该示例方法,针对被划分为一个或多个单元并被存储在一个或多个VOQ中的数据,获得单元数目,该一个或多个VOQ在耦合到三级Clos网络分组交换机的输入模块的输入端口处被维护。例如,VOQ可以与三级Clos网络分组交换机的一个或多个输出模块相关联。在VOQ处存储的单元可以以耦合到输出模型中的输出模块的输出端口为目的地。对与输出模块中的给定输出端口模块相关联的VOQ中的哪一个VOQ具有最大总单元数目进行确定。此外,发起用于匹配输入模块和给定中央模块之间的第一链路的请求,该请求指示与被确定为具有最大总单元数目的给定输出端口模块相关联的一个或多个VOQ的总单元数目。此外,根据示例方法,可以基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目,接收针对该请求的许可。此外,接收对已接收的用于匹配给定中央模块和给定输出模块之间的第二链路的单独请求已进行了许可并接受该许可以匹配第二链路的指示。然后,可以配置来自VOQ的路由。所配置的路由可以包括第一匹配链路和第二匹配链路。从与给定输出模块相关联的VOQ中选择V0Q。例如,对VOQ的选择基于具有最大单元数目的V0Q。此外,响应于单元传输间隔,可以经由配置的路由向在给定输出模块处维护的队列转发在VOQ中存储的单元。例如,该队列与该单元的目的输出端口相关联。图1示出了具有根据本公开布置的可变数目端口和交换机模块的示例三级Clos 网络分组交换机100。如图1所示,交换机100包括第一级处的输入模块(“IM”) 120、第二级处的中央模块(“CM”)130以及第三级处的输出模块(“0M”)140。在一些示例中,如图1所示,每个IM 120可以经由输入端口链路(“LIP”) 115耦合到一定数目(η)的输入端口(“ΙΡ”)110。例如,如果存在一定数目(k)的IM 120,则可以存在总共n*k个IP 110。类似的,每个OM 140可以包括一定数目(η)的输出端口(“0Ρ”)145。 例如,如果存在一定数目(k)的OM 140,则可以存在总共n*k个OP 150。在一些示例中,如图1所示,交换机100可以包括布置在一定数目(k)的IM 120和一定数目(k)的OM 140之间的一定数目(m)的CM 130。此外,将给定IM 120示出为包括一定数目(m)的引出(outgoing)链路L1 125。例如,链路L1 125可以被配置为将IM 120 耦合到m个CM 130中的不同CM 130。类似地,给定CM 130可以包括一定数目(k)的引出链路Lc 135。例如,链路Lc 135可以被配置为将CM 130耦合到k个OM 140中的不同OM 140。在一些示例中,如图1所示,给定IP 110可以包括VOQ 112和IP管理器114。VOQ 112可以是被布置为包括VOQ的存储器结构,其被配置为至少临时存储已被划分为单元的数据。VOQ 112的给定VOQ可以与OP 150中的目的输出端口相关联。所以,例如,如果交换机100包括6个OP 150,则VOQ 112可以被配置为包括6个V0Q。此外,如下面进一步描述的,IP管理器114可以包括逻辑和/或特征,该逻辑和/或特征被配置为方便对通过交换机 100的路由的配置,以转发在每个IP 110处分别维护的VOQ中存储的单元。IP管理器114 还可以包括逻辑和/或特征,该逻辑和/或特征被配置为获得在给定VOQ中存储的单元的计数,以及确定在以给定OM 140为目的地的VOQ中存储的单元的总数目。如下面进一步描述的,存储以相同给定0M140为目的地的单元的VOQ可以具有被称为VOM标识符的标识符。在一些示例中,如图1所示,交换机100还可以包括分别具有IM管理器124和CM 管理器134的IM 120和CM 130。如下面进一步描述的,IM管理器IM和CM管理器1;34可以包括逻辑和/或特征,该逻辑和/或特征被配置为对IM 120、CM 130和OM 140进行互联的链路(例如,L1 125、Le135)的匹配进行仲裁和许可。在一些示例中,如图1所示,交换机100示出了给定OM 140包括CXB 142和OM 管理器144。在一些示例中,CXB 142可以包括在OM 140处维护的队列或交叉点缓冲区 (“CXB”)。给定CXB至少可以临时存储以给定OP 150为目的地的一个或多个单元。在一些示例中,在OM 140处维护的CXB可以用于减少由从不同IP 110转发的、但是竞争相同OP 150的单元所引起的问题。CXB 142可以包括与VOQ相关联的CXB,该VOQ是在存储以给定 OP 150为目的地的单元的IP 110处维护的。例如,如果交换机100包括分别具有用于存储以给定OP 150为目的地的单元的VOQ的6个IP 110,则CXB 142将包括6个CXB。此夕卜, 如下面进一步描述的,OM管理器144可以包括逻辑和/或特征,该逻辑和/或特征被配置为选择包含要转发到给定OP 150的单元在内的CXB。在一些示例中,给定OP 150可以包括逻辑和/或特征,该逻辑和/或特征被配置为重新组装在IP Iio处被划分的单元。未示出给定OP 150的逻辑和/或特征。但是被配置为重新组装单元的逻辑和/或特征被提及为指示在已从给定OM 140处维护的CXB转发了单元之后,本公开预期对被划分的单元的重新组装。表1包括针对图1所示变量的示例描述。表 1η =每个IM 120和OM 140的IP 110和OP 150的各自数目;k = IM 120的数目,以及OM 140的数目;m = CM 130 的数目;IM(i)=第 i 个 IM 120,其中 0 彡 i 彡 k_l ;CM(r)=第 r 个 CM 130,其中 0 彡 r 彡 m-1 ;OM(j)=第 j 个 OM 140,其中 0 彡 j 彡 k_l ;IP(i,g)=在 IM(i)处的第 g+Ι 个 IP 110,其中,0 彡 g 彡 n_l ;0P(j,h)=在 0M(j)处的第 h+1 个 OP 150,其中,0 彡 h 彡 n-1 ;Lip (i,g) = IP(i,g)和 IM ⑴之间的链路;L^i, r) = IM(i)和 CM(r)之间的链路;Lc(r, j) = CM(r)和 OM(J)之间的链路;VOQ(i,g,j, h)=在标识符为IP (i,g)的IP 110处维护的V0Q,该VOQ用于存储以标识符为0P(j,h)的OP 150为目的地的单元;
VOM(i,g, j)=在标识符为IP (i,g)的IP 110处维护的V0M,该VOM与在VOQ中存储的一个或多个单元的总单元数目相关联,该一个或多个单元以耦合到标识符为0M(j)的 OM 140的OP 150为目的地;以及CXB(i,g,j,h)=在存储从V0Q(i,g,j,h)接收的单元的OM 140处维护的CXB,且目的地OP 150的标识符为OP (j, h)。图2示出了具有根据本公开布置的固定数目的端口和模块的示例三级Clos网络分组交换机200。示例交换机200包括与图1所示交换机100相似的架构。但是示例交换机200具有用于变量n、k和m的固定值。例如,固定值是η = 2、k = 3和m = 3。由于如上所述,N = (n*k),N = 6,因此在图2中将交换机200示出为包括6个IP 110和6个OP 150。此外,由于k = 3和m= 3,将交换机200示出为包括3个IM 120、3个CM 130和3个 OM 140。图2还示出了使用上述表1所示的示例变量来描述的并基于固定值n = 2、k = 3 和m = 3的单元标识符。图2中未示出的是VOQ(i,g,j, h)、V0M(i,g,j)和CXB(i,g,j, h)的标识符。在后续附图中示出了这三种单元。图3示出了包括根据本公开布置的固定数目端口和模块在内的2个具有队列的输入端口(例如,交换机200的IP 110)的示例的框图。如图3所示,示例IP 110包括具有标识符ΙΡ(0,0)和IP(0,1)的输入端口,这2个输入端口分别具有以Lip(0,0)和LIP(0,1) 为标识符的Lip 115。图3还示出了在ΙΡ(0,0)和ΙΡ(0,1)处维护的VOQ 112中的VOQ的 VOQ标识符的示例。如上所述,在IP 110处维护的VOQ可以与给定OP 150相关联,且在交换机200 中存在n*k = 6个OP 150。所以,如图3所示,ΙΡ(0,0)的VOQ 112可以包括6个V0Q,且 IP (0,1)的VOQ 112也可以包括6个V0Q。例如,在VOQ 112中包括的VOQ可以具有将VOQ 与耦合到给定OP 150的给定OM 140相关联的标识符。由于交换机200示出了耦合到给定 OM 140的2个OP 150,OP 150可以包括与给定OM 140相关联的2个VOQ标识符。例如, VOQ标识符V0Q(0,0,0,0) ^P VOQ(0,0,0,1)可以在ΙΡ(0,0)处维护,且可以分别与OP(0,0) 和0P(0,1)相关联。如图2所示,0P(0,0)和0P(0,1)都可以耦合到OM(O)。作为0P(0,0) 和0P(0,1)耦合到OM(O)的结果,V0Q(0,0,0,0)和VOQ (0,0,0,1)与OM(O)相关联。如下面进一步描述的,VOQ(0,0,0,0) ^P VOQ(0,0,0,1)还可以与VOM标识符(指示了与OM(O)的关联)相关联。在一些示例中,如图3所示,ΙΡ(0,0)的IP管理器114和IP(0,1)的IP管理器 114可以分别维护单元数目表314。如上所述,IP管理器114可以包括逻辑和/或特征,该逻辑和/或特征被配置用于获得在给定VOQ中存储的单元的数目。单元数目表314可以至少被临时存储在可由IP管理器114访问的存储器中。如图3所示,单元数目表314包括在 IP(0,0)和IP(0,1)处分别维护的6个VOQ的单元数目。所有IP 110的IP管理器114还可以分别维护单元数目表314。如图3所示,单元数目表314还可以包括与在ΙΡ(0,0)和IP(0,1)处分别维护的与VOQ对相关联的VOM标识符。在一些示例中,如上面表1所示,VOM标识符包括对维护 VOM的IP 110的指示。表1还提及了 V0M标识符还包括对耦合到单元目的地OP 150的OM 140的指示。因此,在ΙΡ(0,0)的单元数目表314中包括的标识符为VOM(0,0,0)的VOM将与具有以耦合到OM(O)的OP 150为目的地的单元的VOQ相关联。
在一些示例中,ΙΡ(0,0)的IP管理器114和IP(0,1)的IP管理器114可以分别获得被划分为单元并存储在IP(0,0)和IP(0,1)处维护的VOQ中的数据的单元数目。如图3 所示,在ΙΡ(0,0)处维护的单元数目表314和在IP(0,1)处维护的单元数目表314指示在 IP (0,0)和IP(0,1)处维护的VOQ的示例单元数目,且还指示与在ΙΡ(0,0)和IP(0,1)处维护的VOQ相关联的VOM的示例单元数目。例如,在ΙΡ(0,0)处维护的单元数目表314可以指示V0Q(0,0,2,0)具有单元数目3且V0Q(0,0,2,1)具有单元数目2。由于V0M(0,0,2) 与V0Q(0,0,2,0) ^P VOQ (0,0, 2,1)相关联,则单元数目表314指示VOM(0,0,2)具有示例总单元数目5。图4示出了根据本公开的用于匹配IM 120和CM 130之间的链路的示例过程图。 在一些示例中,使用图2所示的示例交换机200和图3所示的交换机200在ΙΡ(0,0)和 IP(0,1)处的示例部分来实现该过程图。尽管图4所示的过程仅引用了图3所示的ΙΡ(0,
0)和IP(0,1),其它的IPllO的对(例如,IP(1,0)和IP(1,1))可以经历相似的匹配过程。 为了简单起见,从具有ΙΡ(0,0)和IP(0,1)的IP 110的角度来描述所示匹配过程。如图4所示,该过程可以包括第一迭代、第二迭代和第η迭代,其中,η可以等于耦合到IM 120的IP 110的数目。如上所述,对于交换机200,n = 2,所以第一和第二迭代可以应用于示例交换机200。然而,在交换机具有η > 2的其它示例中,附加迭代可以发生,直到处理(例如,许可和接受)了匹配请求,直到在IM(O)和CM 130之间匹配了可用链路、或直到其它约束条件(例如,时间限制)结束了匹配过程。在示例过程4. 1.0 处开始(请求 VOM(0,0,2);请求 V0M(0,1,1)),ΙΡ(0,0)的 IP 管理器114和ΙΡ(0,1)的IP管理器114可以分别发起匹配IM(O)和三个CM 130中任意一个之间的链路的请求。如图2所示,这些链路可以包括到CM(O)的L1(Oj)、到CM⑵的L1(C),
1)和到CM(3)的L1(C),2)。分别的请求可以指示在ΙΡ(0,0)处被确定为具有最高单元数目的VOM的单元数目以及在IP(0,1)处被确定为具有最高单元数目的VOM的单元数目(可以用任意方式打破平局)。例如,如图3所示,由ΙΡ(0,0)的IP管理器114所维护的单元数目表314可以指示V0M(0,0,2)具有最大单元数目。由于V0M(0,0,2)可以具有请求的最大单元数目,可以如图4所示由ΙΡ(0,0)的IP管理器114发起用于匹配V0M(0,0,2)的链路的请求。图3还示出了由IP(0,1)的IP管理器114所维护的示例单元数目表314指示了 VOM (0,1,1)具有最大单元数目。由于V0M(0,1,1)具有最大单元数目,可以如图4所示由 IP (0,1)的IP管理器114发起用于匹配VOM(0,1,1)的链路的请求。在一些示例中,可以向IM(O)的IM管理器IM发起请求。IM(O)的IM管理器IM 可以包括逻辑和/或特征,该逻辑和/或特征被配置为比较在VOM (0,0,2)和VOM (0,1,1)的请求中分别指示的单元数目,然后,确定哪一个请求指示最大或最高单元数目(可以用任意方式打破平局)。IM(O)的IM管理器IM还可以包括逻辑和/或特征,该逻辑和/或特征被配置为确定在IM(O)和交换机200的3个CM 130之间的任一链路是否可用于匹配(例如,至少一些链路当前不与其它请求匹配,或至少一些链路是工作的、操作的、有效的等)。移动至示例过程4. 1. 1 (许可针对L1 (0,1)的匹配),IM(O)的IM管理器IM已确定了从ΙΡ(0,0)的IP管理器114接收的V0M(0,0,2)的请求指示了最大单元数目(可以用任意方式打破平局)。此外在本示例中,IM(O)的IM管理器124已确定了链路L1(Oa)是可用的。由于链路L1(Oa)可用,如图4所示,IM(O)的IM管理器124可以向ΙΡ(0,0)的IP管理器114发送针对匹配链路L1(Oa)的许可。继续至示例过程4. 1.2(接受许可),IP(0,0)的IP管理器114可以接受许可,以将链路L1(Oa)匹配到V0M(0,0,2)。然后,移动至示例过程4. 1.2.0(更新L1(Oa)的链路状态),ΙΡ(0,0)的IP管理器114或IM(O)的IM管理器124可以更新链路L1 (0,1)的链路状态。链路L1(Oa)的链路状态可以包括在由ΙΡ(0,0)的IP管理器114和/或IM(O)的 IM管理器IM可访问的一个或多个存储器中维护的表和/或寄存器。该表和/或寄存器可以包括分别针对将IM(O)耦合到3个CM 130的3条链路中的每条链路的匹配/未匹配状态指示符,且还可以包括针对匹配链路的VOM信息(例如,包括单元数目在内的VOM标识符)。在一些示例中,可以更新链路L1(Oa)的匹配链路状态,使得在可访问的一个或多个存储器中维护的表和/或寄存器可以指示链路L1(Oa)与V0M(0,0,2)相匹配。移动至在示例过程4. 2. 0处的第二迭代(请求VOM (0,1,1)), IP (0,1)的IP管理器114可以发起用于匹配IM(O)和3个CM 130中任意一个之间的链路的另一请求。该另一请求可以指示在IP(0,1)处的被确定为具有最高单元数目(可以用任意方式打破平局) 的未匹配VOM的单元数目。例如,图3示出了由IP(0,1)的IP管理器114维护的单元数目表314可以指示V0M(0,1,1)依然具有针对未匹配请求的最大单元数目。由于V0M(0,1,1) 依然可以具有针对在IP (0,1)处的未匹配请求的最大单元数目,可以如图4所示由IP (0,1) 的IP管理器114发起针对VOM(0,1,1)的请求。移动至示例过程4. 2. 1 (许可针对L1(Od)的匹配),IM(O)的IM管理器IM可以确定到达CM 130的任何剩余未匹配链路的可用性。该可用性的确定可以包括对维护在过程4. 1. 2. 0中被更新的表和/或寄存器的存储器进行访问。由于该表和/或寄存器可以指示链路L1(Oa)的状态为匹配,则L1(Oj)和1^(0,2)可以是仅有的可用链路。如图4所示, IM(O)的IM管理器124可以确定到CM⑵的链路LjO,2)是可用的,且向IP (0,1)的IP管理器114发送针对匹配链路L1O), 2)的许可。继续至示例过程4. 2.2(接受许可),IP(0,1)的IP管理器114可以接受许可,以将链路L1O), 2)匹配至V0M(0,1,1)。然后,继续至示例过程4. 2. 2.0(更新L1O), 2)的匹配链路状态),IP(0,1)的IP管理器114或IM(O)的IM管理器124可以更新链路L1 (0,2)的匹配链路状态。例如,对链路L1(C), 2)的匹配链路状态的更新可以按照与上述过程4. 1.2.0 的相似方式发生(例如,对可由ΙΡ(0,0)的IP管理器114和/或IM(O)的IM管理器124 所访问的存储器中维护的表和/或寄存器进行更新)。图5示出了根据本公开的用于匹配CM 130和OM 140之间的链路的示例过程图。 类似于图4,在一些示例中,使用图2所示的示例交换机200和图3所示的交换机200在 IP(0,0)和IP(0,1)处的示例部分来实现图5的过程图。尽管图5所示的过程仅引用了图 3所示的ΙΡ(0,0)和IP(0,1),其它的IP 110的对(例如,IP(1,0)和IP(1,1))可以经历相似的匹配过程。为了简单起见,仅从ip(O,O)和IP(0,1)的角度来描述该匹配过程。在一些示例中,在示例过程5. 1.0处开始(针对V0M(0,0,2)的请求),IM(O)的 IM管理器IM可以发起或转发用于匹配在CM(I)和OM⑵之间耦合的链路的请求。例如, 该请求可以是建立用于转发被划分为单元并存储在与V0M(0,0,2)相关联的VOQ中的数据的第二链路。如图4所示,例如,第一链路与链路L1(Oa)匹配。此夕卜,如图3所示,VOM(0, 0,2)可以包括在ΙΡ(0,0)处维护的与耦合到OM⑵的一对OP 150 (OP (2,0) ^P OP (2,1))相关联的一对VOQ的单元数目。由于交换机200可以包括在CM⑴和OM⑵之间的单一链路 Lc(l,2), IM(O)的IM管理器124可以向CM⑴的CM管理器134发起或转发用于匹配链路 Lc(1,2)的请求。在一些示例中,同样在过程5. 1. 0处开始(针对VOM(0,1,1)请求链路),IM(O)的 IM管理器IM可以发起或转发用于匹配在CM(2)和OM⑴之间的链路的请求。例如,该请求可以是建立用于转发被划分为单元并存储在与V0M(0,1,1)相关联的VOQ中的数据的第二链路。如图4所示,例如,第一链路与链路L1(C), 2)匹配。此夕卜,如图3所示,V0M(0,1,1) 可以包括在IP(0,1)处维护的与耦合到OM(I)的一对OP 150 (0P (1,0)和0P(1,1))相关联的一对VOQ的单元数目。由于交换机200可以包括在CM⑵和OM⑴之间的单一链路1^(2, 1),IM(O)的IM管理器IM可以向CM⑵的CM管理器134发起或转发用于匹配链路Lc(2, 1)的请求。移动至示例过程5. 1.1(许可请求1^(1,2)),CM(I)的CM管理器134可以包括逻辑和/或特征,该逻辑和/或特征被配置用于确定Lc(Id)是否可用于匹配以及确定针对匹配链路L。(l,2)的哪个请求具有最大单元数目(可以用任意方式打破平局)。对于过程 5. 1.1,从IM(O)的IP管理器IM发起或转发的针对V0M(0,0,2)的请求可以指示最大单元数目。此外,CM⑴的CM管理器134可以已经确定了到OM⑵的链路Lc(l,2)可用。作为 V0M(0,0,2)具有最大单元数目和链路Lc (1,2)可用的结果,如图5所示,CM(I)的CM管理器134可以向IM(O)的IM管理器124发送匹配链路Lc(U)的许可。同样在示例过程5. 1. 1 (许可请求Lc (2,1)),CM (2)的CM管理器134可以包括逻辑和/或特征,该逻辑和/或特征被配置用于确定L。(2,l)是否可用于匹配以及确定针对匹配链路LJ2,1)的哪个请求具有最大单元数目(可以用任意方式打破平局)。对于该示例,从IM(O)的IP管理器IM发起或转发的针对V0M(0,1,1)的请求指示最大单元数目。此夕卜,CM⑵的CM管理器1;34可以已经确定了到OM⑴的链路Lj2,l)可用。作为V0M(0,1, 1)具有最大单元数目和链路LJ2,1)可用的结果,如图5所示,CM(2)的CM管理器134可以向IM(O)的IM管理器124发送匹配链路Lc0,1)的许可。继续至示例过程5. 1.2(接受Le(l,2)),IM(O)的IM管理器1 可以接受来自 CM⑴的CM管理器134的针对链路Lc(1,2)的许可,以匹配链路Lc(l,2)。然后,移动至示例过程5. 1.2.0(更新Lc (1,2)的链路状态),IM(O)的IM管理器124和/或CM(I)的CM管理器134可以更新链路Lc(l,2)的链路状态。可以在可由IM(O)的IM管理器IM和/或 CM(I)的CM管理器134访问的存储器中维护的表和/或寄存器中指示该链路状态。例如, 该表和/或寄存器将指示链路Lc(1,2)与V0M(0,0,2)匹配。移动至示例过程5. 1.2. 1(指示Lc(l,2)的匹配),ΙΜ(0)的IM管理器124可以向ΙΡ(0,0)的IP管理器114指示已匹配了第二链路。如图5所示过程5. 1.2. 1,IM(O)的IM管理器124可以向IP (0,0)的IP管理器124指示LC(1,2)已与V0M(0,0,2)匹配。同样在过程5. 1.2(接受1^2,1)),IM(O)的IM管理器IM接受来自CMQ)的 CM管理器134的针对链路LJ2,1)的许可,以匹配链路LJ2,1)。然后,移动至示例过程 5. 1.2.0(更新Lc (2,1)的链路状态),IM(O)的IM管理器124或CM (2)的CM管理器134可以更新链路Lc(2,1)的链路状态。可以在可由IM(O)的IM管理器124和/或CMQ)的CM 管理器134访问的存储器中维护的表和/或存储器中指示该链路状态。例如,该表和/或寄存器将指示链路Lc(2,1)与VOM(0,1,1)匹配。移动至示例过程5. 1. 2. 1 (指示Lc(2,1) 的匹配),IM(O)的IM管理器124可以向IP(0,1)的IP管理器114指示已匹配了第二链路。如图5所示过程5. 1.2,IM(O)的IM管理器124可以向IP(0,1)的IP管理器1 指示 Lc(2,l)已与 V0M(0,1,1)匹配。图6示出了根据本公开的用于配置从在IP 110处维护的VOQ向OM 140转发单元的路由的示例过程图。使用图2所示的示例交换机200和图3所示的交换机200在ΙΡ(0, 0)和IP(0,1)处的示例部分来实现图6的过程图。在一些示例中,如图4和图5所示,在 IM(O)禾Π CM(I)之间以及在CM(I)和OM(2)之间的链路已针对VOM(0,0,2)匹配。此外,在 IM(O)和CM(2)之间以及在CM(I)和0M(2)之间的链路已针对VOM(0,1,1)匹配。在示例过程6. 1.0处开始(确定V0M(0,0,2)的最大VOQ单元数目),IP (0,0)的 IP管理器114可以获得与V0M(0,0,2)相关联的VOQ的单元数目。在一些示例中,可以从单元数目表314获得单元数目。如图3所示,ΙΡ(0,0)的IP管理器114可以维护单元数目表314,该单元数目表314包括在ΙΡ(0,0)处维护的与VOM (0,0,2)相关联的VOQ的单元数目。如图3所示,单元数目表314可以指示与V0M(0,0,2)相关联的VOQ是VOQ (0,0,2,0) ^P VOQ(0,0, 2,1) ο例如,由于V0Q(0,0,2,0)可以具有单元数目4,且VOQ(0,0,2,1)可以具有单元数目2,则IP (0,0)的IP管理器114可以确定VOQ (0,0,2,0)具有最大单元数目。同样在过程6. 1.0处(确定VOM (0,1,1)的最大V0Q),IP (0,1)的IP管理器114 可以采用与上述针对V0M(0,0,2)类似的过程来确定V0M(0,1,1)的最大VOQ单元数目是 V0Q(0,1,1,0)。继续至示例过程6. 2.0(配置用于转发来自VOQ (0,0,2,0)的单元的路由),IP (0, 0)的IP管理器114可以配置用于向在OMO)处维护的CXB(0,0,2,0)转发在VOQ (0,0,2,
0)中存储的单元的路由。如在图6的示例过程中所示的,ΙΡ(0,0)的IP管理器114可以配置用于从V0Q(0,0,2,0)向CXB(0,0,2,0)转发单元的路由。在一些示例中,路由可以被配置为通过交换机200,使得ΙΡ(0,0)的IP管理器114 可以将来自V0Q(0,0,2,0)的单元调度为通过如上面图4和图5所述被匹配的匹配链路, 转发到在0M(2)处维护的CXB(0,0,2,0)。在这些示例中,所配置的路由包括在IM(O)和 CM(I)之间的链路L1(Oa)和在CM(I)和0M(2)之间的链路Lc(l,2)。同样在过程6.2.0处(配置用于转发来自V0Q(0,1,1,0)的单元的路由),IP (0,
1)的IP管理器114可以配置用于向在OM(I)处维护的CXB(0,1,1,0)转发在V0Q(0,1,1, 0)中存储的单元的路由。如在图6的示例过程中所示的,IP(0,1)的IP管理器114可以配置用于从V0Q(0,1,1,0)向CXB(0,1,1,0)转发单元的路由。在一些示例中,路由可以被配置为通过交换机200,使得IP(0,1)的IP管理器114 可以将来自V0Q(0,1,1,0)的单元调度为通过如上面图4和图5所述被匹配的匹配链路, 转发到在OM(I)处维护的CXB(0,1,1,0)。在这些示例中,所配置的路由可以包括在IM(O) 和CMQ)之间的链路L1(Od)和在CMQ)和OM(I)之间的链路Lc (2,1)。在一些示例中,单元传输间隔是被分配用于通过交换机200的至少一部分来转发被划分的数据的单元的时间周期。例如,该时间周期可以包括将单元从在给定IP 110处维护的VOQ传输到在给定OM 140处维护的CXB所花费的时间量。将单元从在给定IP 110处维护的VOQ传输到在给定OM 140处维护的CXB所花费的时间量可以考虑最差情况场景。例如,最差情况场景考虑了由于路由的长度或其他因素(例如,交换机阻塞)所造成的路由通过交换机200的最长可能时间。由于考虑到最差情况场景,示例单元传输间隔应当是针对所配置的通过交换机200的路由中所花费最长可能时间中的最不长的时间周期。图7示出了根据本公开的被配置为通过交换机200以转发来自在IP 110处维护的VOQ的单元的示例路由。如上面针对图6所述,示例路由被配置为转发来自在IP (0,0)和 IP(0,1)处维护的VOQ的单元。图7的示例说明不包括在图2中针对交换机200所示的特定单元。这只是为了简化对配置路由的叙述。如图7所示,这些配置路由包括路由710和路由720。在一些示例中,路由710示出了要从VOQ (0,0,2,0)向CXB (0,0,2,0)转发单元的配置路由,且路由720示出了要从V0Q(0,1,1,0)向CXB(0,1,1,0)转发单元的配置路由。图8示出了根据本公开布置的在交换机200的OM 140处维护的示例CXB。在一个示例中,如图6所述和图7所示地配置路由710和720。从而如图8所示,路由720可以经由Lc(2,1)耦合到OM(I),且可以被配置为向具有标识符CXB (0,1,1,0)的CXB转发单元,且路由710可以经由Lc(l,2)耦合到0M(2),且可以被配置为向具有标识符CXB(0,0,2,0)的 CXB转发单元。在一些示例中,OM(I)和OM⑵的OM管理器144可以包括逻辑和/或特征,该逻辑和/或特征被配置用于选择具有以给定OP 150为目的地的单元的CXB,以将该单元向给定OP 150转发。在一些示例中,该选择可以基于一个或多个仲裁方案(例如,循环、最大优先、最早优先等)的实现。一旦选择了 CXB,则例如,可以基于先进先出(FIFO)原则从CXB 向目的OP 150转发给定单元。在一些示例中,已经由路由720向在OM(I)处维护的CXB(0,1,1,0)转发了以 0P(1,0)为目的地的单元。对于这些示例,仲裁方案的实现可以导致从包含以0P(1,0)为目的地的单元在内的其它5个CXB中选择CXB (0,1,1,0)。如图8所示,可以包含以OP (1,0) 为目的地的单元在内的其它5个CXB可以包括CXB (0,0,1,0)、CXB (1,0,1,0)、CXB (1,1,1, 0), CXB (2,0,1,0)和 CXB(2,1,1,0)。作为选择 CXB (0,1,1,0)的结果,OM(I)的 OM 管理器 144可以从CXB(0,1,1,0)向OP(LO)转发单元。在一些示例中,针对以0PQ,0)为目的地的单元,遵循类似过程,且将其经由路由 710转发到在0Μ(2)处维护的CXB(0,0,2,0)。对于这些示例,仲裁方案的实现可以导致从可以包含以OP(2,0)为目的地的单元在内的其它5个CXB中选择CXB(0,0,2,0)。如图8 所示,可以包含以OP (1,0)为目的地的单元在内的其它5个CXB可以包括CXB (0,1,2,0)、 CXB(1,0,2,0)、CXB(1,1,2,0) ,CXB(2,0, 2, 0)和 CXB(2,1,2,0) 作为选择 CXB(0,0,2,0)的结果,OM⑵的OM管理器144可以从CXB(0,0,2,0) ^ OP (2,0)转发单元。图9示出了根据本公开布置的IP管理器114的示例架构的框图。如上针对图1 和2中交换机100和交换机200分别所述的,IP 110包括IP管理器114。在一些示例中, IP管理器114包括一个或多个特征和/或逻辑,该特征和/或逻辑被配置或布置为方便通过三级Clos网络分组交换机(比如交换机100或交换机200)的一个或多个路由的配置。 图9的示例IP管理器114可以包括以下各项中一项或多项配置逻辑910、控制逻辑920、 存储器930、输入/输出(I/O)接口 940和可选的一个或多个应用950。在一些示例中,图9的框图中所示的单元被配置为如本公开所述的支持或使能IP 管理器114。给定的IP管理器114可以包括图9所示的单元中的一些单元、全部单元,或比图9所示单元更多的单元。例如,配置逻辑910和控制逻辑920可以分别或统一表示用于实现IP管理器114的特征的各种逻辑设备。示例逻辑设备可以包括以下各项中一项或多项计算机、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核 /多线程微处理器的隔离定序(sequestered)线程或核心、或它们的组合。各种逻辑设备可以整个位于给定IP 110处,或至少一部分逻辑设备可以位于三级Clos网络分组交换机的其它位置处(例如,集中布置、与IP 110、IM 120,CM 130,OM 140位于一处、或它们的组合)ο在一些示例中,如图9所示,配置逻辑910可以包括以下各项中一项或多项V0Q 特征912、仲裁器特征914、更新特征916和调度特征918。配置逻辑910可以被配置为使用这些特征中的一项或多项来执行操作。示例操作可以包括以下各项中的一项或多项获得在IPllO处维护的VOQ的单元数目信息,在VOQ之间进行仲裁(例如,确定最大单元数目), 更新与用于转发来自VOQ的单元的路由相关联的链路的链路状态信息,以及对单元进行调度以经由路由被转发。在一些示例中,控制逻辑920可以被配置为控制IP管理器114的整体操作。如上所述,控制逻辑920可以表示各种逻辑设备中的任意一种,且还可以被配置为与可执行内容或指令相结合操作。控制逻辑920和/或配置逻辑910可以使用可执行内容或指令来实现或激活IP管理器114的特征或单元。在一些备选示例中,可以在配置逻辑910中实现控制逻辑920的特征和功能。根据一些示例,存储器930可以被布置为存储可执行内容。控制逻辑920和/或配置逻辑910可以使用可执行内容来实现或激活IP管理器114的特征或单元。存储器930 也可以被布置为临时维护由配置逻辑910的上述特征获得的VOQ单元数目信息、链路状态和调度信息。存储器930可以包括各种存储器介质,包括(但不限于)以下各项中的一项或多项易失性存储器、非易失性存储器、闪存、可编程变量或状态、随机存取存储器(RAM)、只读存储器(ROM)、或其他静态或动态存储介质。在一些示例中,I/O接口 940可以经由内部通信介质或链路,在IP管理器114和在给定IP Iio上驻留或与给定IP 110位于一处的单元(例如,VOQ 112)之间提供接口。I/ 0接口 940可以包括根据各种通信协议来操作的接口,以通过内部通信链路通信(例如,集成电路间(IV)、系统管理总线(SMBus)或串行外围设备接口总线(SPD)0 I/O接口 940还可以提供在IP管理器114和耦合到IP 110的单元(比如IM 120)之间的接口。如图1所示,IP 110可以经由Lip 115耦合到这些单元。例如,I/O接口 940包括被如下配置的接口 根据各种通信协议操作,以允许IP管理器114通过链路Lip 115通信(例如,PCIe、PCI-扩展(PCI-X)、以太网、Infiniband, StarFabric, RapidIO 等)。在一些示例中,IP管理器114包括一个或多个应用950,以向控制逻辑920和/或配置逻辑910提供指令。图10示出了根据本公开布置的IM管理器124的示例架构的框图。如上面分别针对图1和2的交换机100和交换机200所述的,IM 120包括IM管理器124。在一些示例中,IM管理器IM可以包括一个或多个特征和/或逻辑,该特征和/或逻辑被配置用于在匹配链路的请求之间进行仲裁,对请求加以许可,更新链路L1 125和Lc 135的状态信息和/或确定单元传输间隔何时结束。图10的示例IM管理器IM包括以下各项中的一项或多项匹配逻辑1010、控制逻辑1020、存储器1030、输入/输出(I/O)接口 1040和可选的一个或多个应用1050。在一些示例中,图10的框图中所示的单元是用于如本公开所述的支持或启用IM 管理器124的那些单元。给定的IM管理器IM可以包括图10所示的单元中的一些单元、 全部单元,或比图10所示单元更多的单元。例如,匹配逻辑1010和控制逻辑1020可以分别或统一表示用于实现IM管理器IM的特征的各种逻辑设备。如前所述,示例逻辑设备可以包括以下各项中一项或多项计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隔离定序(sequestered)线程或核心、或它们的组合。各种逻辑设备可以整个位于给定IM 120处,或至少一部分逻辑设备可以位于三级Clos网络分组交换机的其它位置处(例如,集中布置、与IP 110, CM 130, OM 140位于一处、或它们的组合)。在一些示例中,如图10所示,匹配逻辑1010包括以下各项中一项或多项仲裁器特征1012、更新特征1014和定时器特征1016。匹配逻辑1010可以被配置为使用这些特征中的一项或多项来执行操作。示例操作可以包括以下各项中的一项或多项在匹配链路的请求之间进行仲裁,对请求加以许可,和/或更新/提供在给定IM 120和CM 130之间的链路!^ 125的链路状态信息。这些示例操作还可以包括以下各项中一项或多项请求或转发针对与CM 130和OM 140之间的链路Le 135的匹配的请求,更新/提供链路Le 135的链路状态信息和/或确定单元传输间隔何时结束(例如,经由使用定时器)。在一些示例中,控制逻辑1020可以被配置为控制IM管理器124的整体操作。如上所述,控制逻辑1020可以表示各种逻辑设备中的任意一种,且还可以被配置为与可执行内容或指令相结合操作。控制逻辑1020和/或匹配逻辑1010可以使用可执行内容或指令来实现或激活IM管理器124的特征或单元。在一些示例中,可以在匹配逻辑1010中实现控制逻辑1020的特征和功能。根据一些示例,存储器1030可以被布置为存储可执行内容。控制逻辑1020和/ 或匹配逻辑1010可以使用可执行内容来实现或激活IM管理器IM的特征或单元。存储器 1030也可以被布置为临时维护或存储由匹配逻辑1010的特征所获得和/或更新的请求信息(例如,VOM标识符和相关联的单元数目)以及链路状态信息(例如,在链路状态表中)。在一些示例中,存储器1030可以被布置为包括用于维护链路状态信息的一个或多个寄存器。例如,可以将寄存器分别分配给每个链路L1 125(例如,L1(OJ)至L1Gi-I, m-1))和每个链路Lc 135 (Lc (0,0)至Lc(m_l,k_l)),以指示链路的状态(例如,匹配或未匹配)。IM管理器IM的特征和/或逻辑可以被配置为使用已分配的寄存器来确定链路的可用性和/或更新链路的状态。其它管理器(例如,IP管理器114或CM管理器134)的特征和/或逻辑也可以被配置为使用在存储器1030中包括的已分配的寄存器来确定链路的可用性和/或更新链路的状态。存储器1030可以包括各种存储器介质,包括(但不限于)以下各项中的一项或多项易失性存储器、非易失性存储器、闪存、可编程变量或状态、RAM、R0M、或其他静态或动态存储介质。在一些示例中,I/O接口 1040可以在IM管理器IM和耦合到IM120的单元(例如,IP 110和CM 130)之间提供接口。如图1所述,IM 120可以经由链路Lip 115和1^ 125耦合到这些单元。例如,I/O接口 1040可以包括被如下配置的接口 根据各种通信协议来操作(例如,PCIe、PCI-扩展(PCI-X)、以太网、Infiniband JtarFabric、RapidIO),以允许 IM管理器IM通过链路Lip 115和L1 125通信。在一些示例中,IM管理器IM可以包括一个或多个应用1050,以向控制逻辑1020 和/或匹配逻辑1010提供内部指令。图11示出了根据本公开布置的CM管理器134的示例架构的框图。如上面分别针对图1和2的交换机100和交换机200所述的,CM130包括CM管理器134。在一些示例中, CM管理器134可以包括一个或多个特征和/或逻辑,该特征和/或逻辑被配置为在匹配链路的请求之间进行仲裁,对匹配加以许可,以及更新链路L1 125和/或Lc135的状态信息。 图11的示例CM管理器134可以包括以下各项中的一项或多项匹配逻辑1110、控制逻辑 1120、存储器1130、输入/输出(I/O)接口 1140和可选的一个或多个应用1150。在一些示例中,图11的框图中所示的单元可以被配置为如本公开所述的支持或使能CM管理器134。给定的CM管理器134可以包括图11所示的单元中的一些单元、全部单元,或比图11所示单元更多的单元。例如,匹配逻辑1110和控制逻辑1120可以分别或统一表示用于实现CM管理器134的特征的各种逻辑设备。如前所述,示例逻辑设备可以包括以下各项中一项或多项计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隔离定序(sequestered)线程或核心、或它们的组合。各种逻辑设备可以整个位于给定CM 130处,或至少一部分逻辑设备可以位于三级Clos网络分组交换机的其它位置处 (例如,集中布置、与IP 110、IM 120、OM 140位于一处、或它们的组合)。在一些示例中,如图11所示,匹配逻辑1110包括以下各项中一项或多项仲裁器特征1112、更新特征1114和定时器特征1116。匹配逻辑1110可以被配置为使用这些特征来执行操作。示例操作可以包括以下各项中的一项或多项在匹配链路的请求之间进行仲裁,对匹配加以许可,更新/提供链路L1 125和/或L。135的链路状态信息,和/或确定单元传输间隔何时结束(例如,经由使用定时器特征1116)。在一些示例中,控制逻辑1120可以被配置为控制CM管理器134的整体操作,且如上所述,控制逻辑1120可以表示各种逻辑设备中的任意一种,且还可以被配置为与可执行内容或指令相结合操作。控制逻辑1120和/或匹配逻辑1110可以使用可执行内容或指令来实现或激活CM管理器134的特征或单元。在一些示例中,可以在匹配逻辑1110中实现控制逻辑1120的特征和功能。根据一些示例,存储器1130可以被布置为存储可执行内容。控制逻辑1120和/ 或匹配逻辑1110可以使用可执行内容来实现或激活CM管理器134的特征或单元。存储器 1130也可以被布置为临时维护或存储由匹配逻辑1110的特征所获得和/或更新的请求信息(例如,VOM标识符和相关联的单元数目)以及链路状态信息(例如,在链路状态表中)。在一些示例中,存储器1130可以被布置为包括用于维护链路状态信息的一个或多个寄存器。例如,可以将寄存器分别分配给每个链路L1 125(例如,L1(OJ)至L1Gc-I, m-1))和每个链路Lc 135 (Lc (0,0)至Lc(m_l,k_l)),以指示链路的状态(例如,匹配或未匹配)。CM管理器134的特征和/或逻辑可以被配置为使用已分配的寄存器来确定链路的可用性和/或更新链路的状态。其它管理器(例如,IP管理器114或IM管理器124)的特征和/或逻辑也可以被配置为使用在存储器1130中包括的已分配的寄存器来确定链路的可用性和/或更新链路的状态。存储器1130可以包括各种存储器介质,包括(但不限于)以下各项中的一项或多项易失性存储器、非易失性存储器、闪存、可编程变量或状态、RAM、R0M、或其他静态或动态存储介质。在一些示例中,I/O接口 1140可以在CM管理器1;34和耦合到CM 130的单元(例如,IM 120和OM 140)之间提供接口。如图1所述,CM 130可以经由链路L1 125和Lc 135 耦合到这些单元。例如,I/O接口 1140可以包括被如下配置的接口 根据各种通信协议来操作(例如,PCIe、PCI-扩展(PCI-X)、以太网、Infiniband JtarFabric、RapidIO),以允许 CM管理器1;34通过链路!^ 125和Le 1;35通信。在一些示例中,CM管理器134可以包括一个或多个应用1150,以向控制逻辑1120 和/或匹配逻辑1110提供内部指令。图12示出了根据本公开布置的OM管理器144的示例架构的框图。如上针对图1 和2中交换机100和交换机200分别所述的,OM 140包括OM管理器144。在一些示例中, OM管理器144可以包括一个或多个特征和/或逻辑,该特征和/或逻辑被配置为接收从 VOQ转发的单元,在CXB 142处维护的CXB之间进行仲裁以确定向给定OP 150转发什么单元,和/或向给定OP 150转发该单元。图12的示例OM管理器144可以包括以下各项中一项或多项单元逻辑1210、控制逻辑1220、存储器1230、输入/输出(I/O)接口 1240和可选的一个或多个应用1250。在一些示例中,图12的框图中所示的单元被配置为如本公开所述的支持或使能 OM管理器144。给定的OM管理器144可以包括图12所示的单元中的一些单元、全部单元, 或比图12所示单元更多的单元。例如,单元逻辑1210和控制逻辑1220可以分别或统一表示用于实现OM管理器144的特征的各种逻辑设备。如前所述,示例逻辑设备可以包括以下各项中一项或多项计算机、微处理器、微控制器、FPGA、ASIC、多核/多线程微处理器的隔离定序(sequestered)线程或核心、或它们的组合。各种逻辑设备可以整个位于给定OM 140处,或至少一部分逻辑设备可以位于三级Clos网络分组交换机的其它位置处(例如,集中布置、与IP 110、IM 120、CM 130位于一处、或它们的组合)。在一些示例中,如图12所示,单元逻辑1210可以包括以下各项中一项或多项接收特征1212、仲裁器特征1214和转发特征1216。单元逻辑1210可以使用这些特征来执行操作。示例操作可以包括以下各项中的一项或多项经由链路!^ 135接收单元以在OM 140 处维护的CXB中存储接收到的单元,实现仲裁策略,以及基于仲裁策略向目的地OP 150转
发单元。在一些示例中,控制逻辑1220可以被配置为控制OM管理器144的整体操作。如上所述,控制逻辑1220可以表示各种逻辑设备中的任意一种,且还可以被配置为与可执行内容或指令相结合操作。控制逻辑1220和/或单元逻辑1210可以使用可执行内容或指令来实现或激活OM管理器144的特征或单元。在一些备选示例中,可以在单元逻辑1210中实现控制逻辑1220的特征和功能。根据一些示例,存储器1230可以被布置为存储可执行内容。控制逻辑1220和/ 或单元逻辑1210可以使用可执行内容来实现或激活OM管理器144的特征或单元。存储器 1230也可以临时维护由单元逻辑1210的特征获得的信息(例如,CXB标识符和相关联的单兀fe息)O存储器1230可以包括各种存储器介质,包括(但不限于)以下各项中的一项或多项易失性存储器、非易失性存储器、闪存、可编程变量或状态、RAM、R0M、或其他静态或动态存储介质。在一些示例中,I/O接口 1240可以经由内部通信介质或链路,在OM管理器144和在给定OM 140上驻留或与给定OM 140位于一处的单元(例如,CXB 142)之间提供接口。 I/O接口 1240可以包括被如下配置的接口 根据各种通信协议来操作,以通过内部通信链路通信(例如,集成电路间(IV)、系统管理总线(SMBus)或串行外围设备接口总线(SPI))。 I/O接口 1240还可以提供在OM管理器144和耦合到OM 140的单元(比如CM 130)之间的接口。如图1所示,OM 140可以经由Lc 135耦合到这些单元。例如,I/O接口 1240可以包括被如下配置的接口 根据各种通信协议操作,以允许OM管理器144通过链路L。135通信 (例如,PCIe, PCI-扩展(PCI-X)、以太网、Infiniband、StarFabric, RapidIO 等)。在一些示例中,OM管理器144可以包括一个或多个应用1250,以向控制逻辑1220 和/或单元逻辑1210提供内部指令。图13示出了根据本公开的用于配置通过三级Clos网络分组交换机的一个或多个路由的示例方法的流程图。可以使用图2、3和7中所示的交换机200的相同部分以及图9 至11中所述的各种管理器来说明示例方法。但是所述方法不限于仅在包括图9至11中所述的各种管理器在内的交换机200上的实现。可以在包括具有图9至11中所述的一个或多个单元的管理器在内的其他类型的三级Clos网络分组交换机上实现该示例方法。处理在步骤1300处开始(新的单元传输间隔),其中,单元传输间隔已经开始。在一些示例中,新的单元传输间隔指示了交换机200的之前已匹配的链路现在可用于匹配。处理从步骤1300继续至步骤1310 (获得VOM单元数目),其中,可以获得单元数目信息。例如,可以由IP 110(例如,1 (0,0))的IP管理器114的VOQ特征912来获得单元数目信息。可以将单元数目信息与被分为一个或多个单元并存储在IP 110处维护的VOQ 112中的数据相关联。单元数目信息可以包括具有以耦合到相同OM 140的给定OP 150为目的地的单元的VOQ对的单元数目。还可以将具有以给定OP 150为目的地的单元的VOQ 对与VOQ标识符相关联。如图3所示,IP 110的IP管理器114维护的单元数目表314可以被布置为包括单元数目信息。例如,如图3所示,V0M(0,0,2)的单元数目可以是在V0Q(0, 0,2,0)和V0Q(0,0,2,1)处存储的且以0MO)为目的地的一个或多个单元的总单元数目。处理继续至步骤1320 (确定最大VOM单元数目),其中,该过程可以确定(例如,经由仲裁器特征914)哪个VOM具有最大单元数目。继续至步骤1330(发起匹配链路的请求),可以发起(例如,经由仲裁器特征914) 用于匹配IM 120(例如,IM(O))和CM 130之间的链路L1 125(例如,L1 (0,0)、L1 (0,1)和 L1(Od))的请求。在一些示例中,该请求指示了在步骤1320处被确定为具有最大总单元数目的V0M(例如,V0M(0,0,2))的总单元数目。例如,向与作为请求的源的IP 110(例如, IP (0,0))耦合的IM 120的IM管理器IM发送该请求。继续至判定步骤1340(接收到许可?),该过程可以确定(例如,经由仲裁器特征 914)是否已接收到针对在步骤1330发起的请求的许可。当(例如,经由仲裁器特征914) 确定了已接收到许可,处理从判定步骤1340继续至步骤1350。否则,处理从判定步骤1340继续至步骤1330,且可以发起另一请求。在一些示例中,如图4所述,该另一请求可以是第二或第η迭代的一部分。在步骤1350中(接受许可),可以(例如,由仲裁器特征914)接受V0M(0,0,2)的匹配的许可,以匹配链路。例如,该许可可以针对IM(O)和CM⑴之间的链路L1(Oa)15基于对该许可的接受,可以更新(例如,经由更新特征916)链路状态表(例如,在存储器930 中维护的),以指示链路LJ0,1)与第一链路相匹配,该第一链路用于转发在与V0M(0,0,2) 相关联的VOQ之一中存储的单元。处理进行至步骤1360 (接收对在CM和目的地OM之间的匹配的指示),可以接收 (例如,经由ΙΡ(0,0)的IP管理器114)对已许可了用于匹配CM⑴和OM⑵之间的第二链路的请求的指示。在一些示例中,可以接受针对匹配第二链路的许可(例如,经由仲裁器特征914或IM管理器124的逻辑和/或特征),以匹配第二链路。例如,接受之后,可以更新 (例如,经由更新特征916)链路状态表(例如,在存储器930处维护的),以指示链路Lc(1, 2)可以与第二链路相匹配,该第二链路用于转发在与V0M(0,0,2)相关联的VOQ之一中存储的单元。继续至步骤1370(确定最大VOQ单元数目),该过程可以确定(例如,经由仲裁器特征914)与V0M(0,0,2)相关联的哪个VOQ具有最大单元数目。继续至步骤1380(配置路由),该过程可以在步骤1370中已确定了与VOM(0,0,2) 相关联的V0Q(0,0,2,0)具有最大单元数目。在一些示例中,可以配置路由(例如,经由调度特征918)。所配置的路由可以是从VOQ (0,0,2,0)到在OM⑵处维护的CXB。在OM⑵处维护的CXB可以与在V0Q(0,0,2,0)中存储的单元的目的地0PQ,0)相关联。例如,该CXB 可以是CXB(0,0,2,0)。配置可以包括调度单元,以经由第一匹配链路L1(Oa)和第二匹配链路 Lc(l,2)向 CXB(0,0,2,0)转发。继续至步骤1390(转发单元),过程可以经由配置的路由来转发单元(例如,经由调度特征918)。在一些示例中,过程可以响应于单元传输间隔来转发单元。然后,过程可以返回步骤1300。图14示出了根据本公开的对用于匹配IM 120和CM 130之间的链路的请求进行许可的示例方法的流程图。可以使用图2、3和7中所示的交换机200的相同部分以及图9 至11中所述的各种管理器来说明示例方法。但是所述方法不限于仅在包括图9至11中所述的各种管理器在内的交换机200上的实现。可以在包括具有图9至11中所示的一个或多个单元的管理器在内的其他类型的三级Clos网络分组交换机上实现该示例方法。处理开始于步骤1400(新的单元传输间隔),其中,已开始了新的单元传输间隔。 新的单元传输间隔指示了交换机200的之前已匹配的链路现在可用于匹配。新的单元传输间隔可以包括第一单元传输间隔(例如,在交换机200的发起或启动处)以及在第一单元传输间隔已结束之后的后续单元传输间隔。在一些示例中,当新的单元传输间隔已开始时, 可以设置定时器。例如,IM管理器IM可以包括逻辑和/或特征(例如,定时器特征1016), 该逻辑和/或特征被配置为将定时器设置为在单元传输间隔的结束或完成时超时的时间周期。处理从步骤1400继续至步骤1410(接收请求),在步骤1410中,可以接收用于以下的请求(例如,经由IM管理器124):针对在耦合到IM 120的IP 110处维护的V0Q,在IM 120和CM 130之间匹配链路。该请求可以指示在与VOM相关联的VOQ中存储的单元的总单元数目。在一些实例中,可以向IM(O)的IM管理器IM发出该请求,且该请求是针对 IP(0,1)处的V0M(0,1,1)的。例如,该请求可以由IM(O)的IM管理器124的仲裁器特征 1012来接收。如图2所示且如上所述,IM(O)可以具有分别耦合到CM(O)、CM(I)和CM⑵ 的链路 L1 (0,0), L1 (0,1)和 L1 (0,2) ο进行至判定步骤1420(任何链路可用?),该过程可以确定链路是否可用于匹配。 在一些示例中,IM管理器124的仲裁器特征1012可以访问在存储器(例如,存储器1030) 中维护的链路状态表和/或寄存器来确定链路可用性。当链路可用时,处理可以从判定步骤1420继续至步骤1440。否则当没有链路可用时,处理可以从判定步骤1420继续至判定步骤1430。在判定步骤1430中(单元传输间隔完成?),该过程可以确定(例如,经由IM管理器124)单元传输间隔是否已完成。在一些示例中,可以基于在上面步骤1400中描述的设置的定时器的超时,来确定(例如,经由定时器特征1016)单元传输间隔的完成。当单元传输间隔已完成,处理可以从判定步骤1430移动至步骤1410。否则,处理可以从判定步骤 1430移动至步骤1400。进行至步骤1440(比较单元数目),该过程可以比较在请求(例如,来自IP(0,1) 的IP管理器114)中接收到的单元数目和在一个或多个其他请求(例如,来自ΙΡ(0,0)的 IP管理器114)中的单元数目。在一些示例中,IM管理器124的仲裁器特征1012可以比较单元数目。继续至步骤1450 (许可请求),该过程可以基于在与一个或多个其他请求的单元数目比较时指示了最大单元数目的请求,对该请求进行许可(例如,经由仲裁器特征 1012)。在一些示例中,V0M(0,1,1)的单元数目可以是最大单元数目。由于V0M(0,1,1)的最大总单元数目,可以提供许可,以匹配IM(O)的可用链路L1 125。可用链路可以是链路 L1(O^)0由于V0M(0,1,1)可以与在IP(0,1)处维护的VOQ相关联,IP(0,1)的IP管理器 114可以接收该许可,以匹配用于转发在这些VOQ中存储的单元的链路L1 (0,2)。处理进行至判定步骤1460(接收到接受?),该过程可以确定(例如,经由仲裁器特征1014)是否已接收到针对该许可的接受。在一些示例中,如上面针对步骤1450所述, 可以向IP(0,1)的IP管理器114提供许可。当尚未接收到接受时(例如,从IP(0,1)的 IP管理器114),则处理可以从判定步骤1460移动至步骤1410。否则,处理可以从判定步骤 1460继续至步骤1470。在步骤1470中(更新链路可用性状态),该过程可以接收接受。在一些示例中,IM 管理器124的更新特征1014可以更新链路状态表(例如,在存储器1030中维护的),以指示链路L1O), 2)与V0M(0,1,1)匹配。进行至判定步骤1480(任何链路可用?),该过程可以再次确定链路是否可用于匹配(例如,经由仲裁器特征1012)。当链路可用且该过程接收到另一请求时,处理可以从判定步骤1480移动至1410。否则,当没有链路可用时,处理可以从判定步骤1480移动至判定步骤1430。图15示出了根据本公开的对用于匹配CM 130和OM 140之间的链路的请求进行许可的示例方法的流程图。可以使用图2、3和7中所示的交换机200的相同部分以及图9至11中所述的各种管理器来说明示例方法。但是所述方法不限于仅在包括图9至11中所述的各种管理器在内的交换机200上的实现。可以在包括具有图9至11中所示的一个或多个单元的管理器在内的其他类型的三级Clos网络分组交换机上实现该示例方法。处理开始于步骤1500(新的单元传输间隔),其中,已开始了新的单元传输间隔。 新的单元传输间隔可以指示交换机200的之前已匹配的链路现在可用于匹配。新的单元传输间隔可以包括第一单元传输间隔(例如,在交换机200的发起或启动处)和后续单元传输间隔。新的单元传输间隔可以包括第一单元传输间隔(例如,在交换机200的发起或启动处)以及在第一单元传输间隔已结束之后的后续单元传输间隔。在一些示例中,当新的单元传输间隔已开始时,可以设置定时器。例如,CM管理器134可以包括逻辑和/或特征 (例如,定时器特征1116),该逻辑和/或特征被配置为将定时器设置为在单元传输间隔的结束或完成时超时的时间周期。处理从步骤1500继续至步骤1510(接收请求),在步骤1510中,可以接收请求 (例如,经由CM管理器134)以匹配在CM 130和在IP 110处维护的VOQ的OM 140之间的链路。该请求可以指示在与VOM标识符相关联的VOQ中存储的单元的单元数目。在一些实例中,可以向CMQ)的CM管理器134发出该请求,且该请求是针对IP(0,1)处的V0M(0,1, 1)的。例如,该请求可以由CMQ)的CM管理器134的仲裁器特征1112来接收。如图2所示且如上所述,CM(2)可以具有分别耦合到OM(O)、OM⑴和OM⑵的链路Lj2,0)、LC(2,1) 和 Lc U,2)。进行至判定步骤1520(任何链路可用?),该过程可以确定(例如,经由CM管理器 134)链路是否可用于匹配。在一些示例中,仲裁器特征1112可以访问在存储器(例如,存储器1130)中维护的链路状态表和/或寄存器来确定链路可用性。如前所述,交换机200 的V0M(0,1,1)可以与具有以0P(1,0)和0P(1,1)为目的地的单元的VOQ相关联。所以在一些示例中,如图2对交换机200所示,OP(LO)和0P(1,1)可以耦合到OM(I)。由于链路 Lc(2,l)在图2中被示出为在CM⑵和OM⑴之间的唯一链路,因此仅需要检查链路LJ2, 1)的可用性。当链路LJ2,1)可用时,处理可以从判定步骤1520继续至步骤1540。否则当链路LJ2,1)不可用时,处理可以从判定步骤1520继续至判定步骤1530。在判定步骤1530中(单元传输间隔完成?),该过程可以确定(例如,经由CM管理器134)单元传输间隔是否已完成。在一些示例中,可以基于在上面步骤1500中描述的设置的定时器的超时,来确定(例如,经由定时器特征1116)单元传输间隔的完成。当单元传输间隔已完成,处理可以从判定步骤1530移动至步骤1510。否则,处理可以从判定步骤 1530移动至步骤1500。进行至步骤1540(比较单元数目),该过程可以比较在请求(例如,来自IP(0,1) 的IP管理器114)中指示的单元数目和在一个或多个其他接收到的请求(例如,来自其他 IP 110的IP管理器114)中指示的单元数目。在一些示例中,CM管理器134的仲裁器特征 1112可以比较单元数目。继续至步骤1550 (许可请求),该过程可以基于在与一个或多个其他请求的单元数目比较时指示了最大单元数目的请求,对该请求进行许可(例如,经由仲裁器特征 1112)。在一些示例中八01(0,1,1)的单元数目可以具有最大单元数目。由于V0M(0,1,1)具有最大总单元数目,在本示例中,可以提供许可,以匹配CM(2)的链路Ld2,l)。由于V0M(0,1,1)与在IP(0,1)处维护的VOQ相关联,IP(0,1)的IP管理器114可以接收该许可,以匹配用于转发在这些VOQ中存储的单元的链路L1 (0,2),且IP (0,1)的IP管理器114可以接受该许可,以匹配链路L1O), 2)。在一些其它示例中,耦合到ΙΡ(0,1)的IM(O)的IM管理器 1 可以接收许可,且可以代表IP (0,1)的IP管理器114接受该许可,以匹配链路L1 (0,2)。处理进行至判定步骤1560(接收到接受?),该过程可以确定(例如,经由仲裁器特征1114)是否已接收到针对该许可的接受。在一些示例中,如上面针对步骤1550所述, 可以向IP(0,1)的IP管理器114提供许可。尽管在其他示例中,可以向IM(O)的IM管理器1 提供该许可。当尚未接收到接受时(例如,从IP(0,1)的IP管理器114或IM(O)的 IM管理器124),则处理可以从判定步骤1560移动至步骤1510。否则,处理可以从判定步骤 1560继续至步骤1570。在步骤1570中(更新链路可用性状态),由于该过程已接收了接受,CM管理器134 的更新特征1114可以更新分配给链路L。(2,1)的链路状态表和/或寄存器(例如,在存储器1130中维护的),以指示链路Lc(2,1)与VOM(0,1,1)匹配。进行至判定步骤1580(任何链路可用?),该过程可以再次确定链路是否可用于匹配(例如,经由仲裁器特征1112)。当链路可用时,处理可以从判定步骤1580移动至 1510。否则,当没有链路可用时,处理可以从判定步骤1580移动至判定步骤1530。图16示出了根据本公开的用于转发在OM 140处维护的CXB中存储的单元的示例方法的流程图。可以使用图8所示的交换机200的部分以及图12所述的OM管理器144来说明示例方法。但是所述示例方法不限于仅在图8所示的交换机200的部分或图12所述的OM管理器144上的实现。可以在包括具有图8和图12所示的一个或多个单元的OM管理器144在内的其他类型的三级Clos网络分组交换机上实现该示例方法。处理开始于步骤1600 (新的单元传输间隔),在步骤1600中,新的单元传输间隔已开始。在一些示例中,新的单元传输间隔可以指示在OM 140处维护的CXB可以准备好和/ 或被配置为经由配置路由(例如,路由720)来接收单元。新的单元传输间隔可以包括第一单元传输间隔(例如,在交换机200的发起和启动处)以及在第一单元传输间隔已结束之后的后续单元传输间隔。处理从步骤1600继续至步骤1610(在CXB处接收单元),在步骤1610中,该过程可以在OM 140处维护的CXB 142处接收(例如,经由OM管理器144的接收特征1212)单元。在一些示例中,如图7和9所示,可以经由配置路由720来接收单元,且该单元至少临时存储在在交换机200的OM(I)处维护的CXB 142中。如前所述,CXB 142可以被配置为包括具有与目的地输出端口相关联的标识符的CXB,以及被配置为经由配置路由来接收单元。此外如前所述,路由720可以被配置为向具有标识符CXB(0,1,1,0)的CXB转发单元。 所以,例如,可以在OM(I)处维护的并与0P(1,0)相关联的CXB(0,1,1,0)中接收单元。继续至步骤1620(实现仲裁方案),该过程可以实现仲裁方案(例如,经由仲裁特征1214)来选择具有要在下一个单元传输间隔中被转发的单元的CXB。在一些示例中,可以基于选择具有最大单元数目的给定CXB,来实现仲裁方案。在一些其他示例中,可以基于经由对存储单元的一个或多个CXB的循环选择以选择给定CXB,来实现仲裁方案。继续至步骤1630 (向目的地输出端口转发单元),在步骤1630中,该过程可以选择CXB(例如,经由仲裁特征1214)并向其目的地0P150转发该单元(例如,经由转发特征1214)。在一些示例中,所选CXB可以具有标识符CXB (0,1,1,0),该CXB (0,1,1,0)具有单元目的地0P(1,0)。作为选择CXB(0,1,1,0)的结果,可以将具有目的地为0P(1,0)的单元转发(例如,经由转发特征1214)到0P(1,0)。然后,该过程可以返回步骤1610。图17示出了示例计算机程序产品1700的框图。在一个实施例中,如图17所示, 计算机程序产品1700可以包括信号承载介质1702,该信号承载介质1702还可以包括指令 1704。在一些示例中,当由与输入端口相关联的逻辑(例如,配置逻辑910)来执行用于配置通过三级Clos网络分组交换机(例如,交换机100)的一个或多个路由的指令1704时, 指令1704可以使该逻辑获得被划分为一个或多个单元且在耦合到三级Clos网络分组交换机的输入模块的输入端口处维护的一个或多个VOQ中存储的数据的单元数目。VOQ可以与三级Clos网络分组交换机的一个或多个输出模块相关联。在VOQ中存储的单元可以具有耦合到多个输出模块中的输出模块的目的地输出端口。指令1704还可以使该逻辑获得在与一个或多个输出模块分别相关联的一个或多个VOQ中存储的一个或多个单元相关联的单元数目。然后,该逻辑可以确定与输出模块中的给定输出端口模块相关联的VOQ中的哪个VOQ具有最大总单元数目。然后,可以发起用于匹配输入模块和给定中央模块之间的第一链路的请求,且该请求指示了与被确定为具有最大总单元数目的给定输出端口模块相关联的VOQ的总单元数目。指令1704还可以使该逻辑接收并接受针对请求的许可,以匹配第一链路。例如, 该接收的许可可以基于比在一个或多个其他请求中指示的总单元数目更大的指示的总单元数目。此外,指令1704还可以使该逻辑接收对已许可并接受了用于匹配在给定中央模块和给定输出模块之间的第二链路的请求以匹配第二链路的指示。指令1704还可以使该逻辑配置来自VOQ的路由。例如,所配置的路由可以包括第一匹配链路和第二匹配链路。可以从与给定输出模块相关联的VOQ中选择V0Q。该选择可以基于具有最大单元数目的V0Q。 此外,响应于单元传输间隔,指令1704可以使逻辑经由配置的路由向在给定输出模块处维护的队列转发在VOQ中存储的单元。例如,该队列可以与该单元的目的地输出端口相关联。此外如图17所示,一些示例可以包括以下各项中一项或多项计算机可读介质 1706、可记录介质1708和通信介质1710。这些单元周围的虚线框示出了在信号承载介质 1702(但不限于此)中包括的不同类型的介质。这些类型的介质可以分发要由与输入端口相关联的逻辑来执行的指令1704。计算机可读介质1706和可记录介质1708可以包括(但不限于)软盘、硬盘驱动器(HDD)、高密度盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器等。通信介质1710可以包括(但不限于)数字和/或模拟通信介质(例如,光纤电缆、 波导、有线通信链路、无线通信链路等)。图18是示出了根据本公开的被布置为用于配置通过三级Clos网络分组交换机的示例计算设备1800的框图。在非常基本的配置1801中,计算设备1800 —般包括一个或多个处理器1810以及系统存储器1820。存储器总线1830可用于在处理器1810和系统存储器1820之间进行通信。根据所期望的配置,处理器1810可以是任意类型的,包括但不限于微处理器 (μ P)、微控制器(μ C)、数字信号处理器(DSP)或其任意组合。处理器1810可以包括一级或多级高速缓存(例如,一级高速缓存1811和二级高速缓存181 、处理器核1813、以及寄存器1814。处理器核1813可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。存储器控制器1815也可以与处理器1810 —起使用,或者在一些实施方式中,存储器控制器1815可以是处理器1810的内部部件。根据所期望的配置,系统存储器1820可以是任意类型的,包括但不限于易失性存储器(如RAM)、非易失性存储器(如ROM、闪存等)或其任意组合。系统存储器1820—般包括操作系统1821、一个或多个应用1822和程序数据1拟4。应用1822包括配置指令1823, 配置指令1823被布置为执行如本文所述的包括以下各项在内的功能通过图4-6所示过程图所描述的行动、针对图9-12所示管理器架构所述的功能或包括通过图13-16所示流程图所述的行动。程序数据1拟4包括对于实现指令1823有用的配置数据1825 (例如,VOQ单元数目、链路状态更新、实现仲裁方案等)。在一些实施例中,应用1822可以被布置为在操作系统1821上以程序数据1拟4操作,使得可以如本文所述的一样提供配置通过三级Clos 网络分组交换机的一个或多个路由的实现。这里所描述的基本配置在图18中由虚线1801 内的部件来图示。计算设备1800可以具有额外特征或功能以及额外接口,以有助于基本配置1801 与任意所需设备和接口之间进行通信。例如,总线/接口控制器1840可以有助于基本配置 1801与一个或多个数据存储设备1850之间经由存储接口总线1841进行通信。数据存储设备1850可以是可拆除存储设备1851、不可拆除存储设备1852或其组合。可拆除存储设备和不可拆除存储设备的示例包括磁盘设备(如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(如高密度盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)以及磁带驱动器,这仅仅是极多例子中的一小部分。示例计算机存储介质可以包括以任意信息存储方法和技术实现的易失性和非易失性、可拆除和不可拆除介质,如计算机可读指令、数据结构、程序模块或其他数据。系统存储器1820、可拆除存储设备1851和不可拆除存储设备1852均是计算机存储介质的示例。计算机存储介质包括(但不限于)RAM、ROM、EEPR0M、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光存储设备,磁盒、磁带、磁盘存储设备或其他磁存储设备,或可以用于存储所需信息并可以由计算设备1800访问的任意其他介质。任何这种计算机存储介质可以是设备1800的一部分。计算设备1800还可以包括接口总线1842,以有助于各种接口设备(例如,输出接口、外围设备接口和通信接口)经由总线/接口控制器1840与基本配置1801进行通信。示例输出接口 I860包括图形处理单元1861和音频处理单元1862,其可被配置为经由一个或多个A/V端口 1863与多种外部设备(如显示器或扬声器)进行通信。示例外围设备接口 1870包括串行接口控制器1871或并行接口控制器1872,它们可被配置为经由一个或多个 I/O端口 1873与外部设备(如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等))或其他外围设备(例如,打印机、扫描仪等)进行通信。示例通信接口 1880包括网络控制器1881,其可以被布置为经由一个或多个通信端口 1882的网络通信与一个或多个其他计算设备1890进行通信。在一些示例中,计算设备1890可以包括图1所示的三级Clos网络分组交换机中包括的一个或多个互联的模块和/或端口中的全部或至少一部分(例如,IP 110、IM 120、 CM 130、OM 140、OP 150)。网络通信连接是通信介质的一个示例。通信介质一般可以由调制数据信号(如载波或其他传输机制)中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任意信息传送介质。“调制数据信号”可以是通过设置或改变一个或多个特性而在该信号中对信息进行编码的信号。例如,但并非限制性地,通信介质可以包括有线介质(如有线网络或直接布线连接)、以及无线介质(例如,声、射频(RF)、红外(IR)和其他无线介质)。本文所使用的术语计算机可读介质可以包括存储介质和通信介质。在本公开中对术语“响应于”或“响应于”的引用不限于仅对特定特征和/或结构的响应。特征还可以响应于另一特征和/或结构,且还可以位于该特征和/或结构内。此外, 当本文或其后的权利要求中使用术语或短语,如“耦合”或“响应”或“响应于”或“与...通信”等时,应当广义地理解这些术语。例如,短语“耦合到”可以根据使用该短语的上下文而指代可通信的耦合、电子耦合和/或可操作的耦合。本领域技术人员将认识到以本文所阐述的方式来描述设备和/或过程,且之后使用工程实践将这么描述的设备(例如,节点、RF控制器、计算设备等)和/或方法集成到数据处理系统中,在本领域中是常见的。即,可以将本文所述的至少一部分设备和/或方法经由合理数量的试验集成到数据处理系统中。本领域技术人员将认识到典型的数据处理系统一般包括以下各项中一项或多项系统单元外壳、视频显示设备、存储器(比如易失性和非易失性存储器)、处理器(比如微处理器和数字信号处理器)、计算实体(比如操作系统、驱动器、图形用户界面以及应用程序)、一个或多个交互设备(比如触摸板或触摸屏)、和/或包括反馈环路和控制电机在内的控制系统(例如,用于检测位置和/或速度的反馈;控制用于移动和/或调整成分和/或数量的电机)。可以采用任何合适的商业可用的组件来实现典型的数据处理系统,比如在数据计算/通信和/或网络计算/通信系统中发现的那些。本文所述的主题有时说明不同部件或单元包含在其他不同部件或单元内,或者与其他不同部件或单元相连。应当理解,这样描述的架构只是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念上,有效地“关联”用以实现相同功能的部件的任意布置, 从而实现所需功能。因此,可以将被组合用于实现具体功能的本文中的任意两个部件视为彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样,任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合的具体示例包括但不限于物理上可配对和/或物理上交互的部件,和/或可无线交互和/或无线交互的部件,和/或逻辑交互和/或可逻辑交互的部件。至于本文中任何关于复数和/或单数术语的使用,本领域技术人员可以从复数形式转换为单数形式,和/或从单数形式转换为复数形式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/复数形式可互换。本领域技术人员应当理解,一般而言,所使用的术语,特别是所附权利要求中(例如,在所附权利要求的主体部分中)使用的术语,一般地应理解为“开放”术语(例如,术语 “包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而, 这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一个该特征的实施例,即便是该权利要求既包括引导短语“一个或多个”或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和 /或“一个”应当被解释为意指“至少一个”或“一个或多个”);在使用定冠词来引入权利要求中的特征时,同样如此。另外,即使明确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到,这种列举应解释为意指至少是所列数目(例如,不存在其他修饰语的短语“两个特征”意指至少两个该特征,或者两个或更多该特征)。另外,在使用类似于“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”的可能性。
权利要求
1.一种用于配置通过三级Clos网络分组交换机的一个或多个路由来转发在三级Clos 网络分组交换机的输入端口处接收到的数据的装置,将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中,存储在一个或多个虚拟输出队列中的一个或多个单元分别以与三级 Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地,所述装置包括在输入端口处的输入管理器,所述输入管理器包括被配置为执行以下操作的逻辑获得与在一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目,其中,该一个或多个虚拟输出队列在与输入模块相耦合的输入端口处被维护,一个或多个虚拟输出队列与一个或多个输出模块分别相关联;确定与一个或多个输出模块中的给定输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目;发出用于匹配输入模块和中央模块之间的第一链路的请求,该请求可以指示与被确定为具有最大的总单元数目的给定输出模块分别关联的一个或多个虚拟输出队列的总单元数目;基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目,接收针对请求的许可;接受该许可,以匹配第一链路;接收对已许可了用于匹配中央模块和给定输出模块之间的第二链路的单独请求、并接受该许可以匹配第二链路的指示;以及配置来自虚拟输出队列的路由,所配置的路由包括第一匹配链路和第二匹配链路,从与给定输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列,该选择基于具有最大单元数目的虚拟输出队列,其中,响应于单元传输间隔,经由所配置的路由向在给定输出模块处维护的队列转发在虚拟输出队列处存储的单元,该队列与该单元的目的输出端口相关联。
2.根据权利要求1所述的装置,其中,接受许可以匹配第一链路还包括被配置为更新第一链路的链路状态的逻辑,所更新的链路状态用于指示第一链路是匹配链路。
3.根据权利要求1所述的装置,其中,所述单元传输间隔包括被分配用于从三级Clos 网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的单元的时间周期。
4.一种用于配置通过三级Clos网络分组交换机的一个或多个路由以转发在三级Clos 网络分组交换机的输入端口处接收到的数据的方法,将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中,存储在一个或多个虚拟输出队列中的一个或多个单元分别以与三级 Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地,所述方法包括获得与在一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目,其中,该一个或多个虚拟输出队列在输入端口处被维护,一个或多个虚拟输出队列与一个或多个输出模块分别相关联;确定与一个或多个输出模块中的给定输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目;发出用于匹配输入模块和中央模块之间的第一链路的请求,该请求指示与被确定为具有最大的总单元数目的给定输出模块分别关联的一个或多个虚拟输出队列的总单元数目;基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目,接收针对请求的许可;接受该许可,以匹配第一链路;接收对已许可了用于匹配中央模块和给定输出模块之间的第二链路的单独请求、并接受该许可以匹配第二链路的指示;以及配置来自虚拟输出队列的路由,所配置的路由包括第一匹配链路和第二匹配链路,从与给定输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列,该选择基于具有最大单元数目的虚拟输出队列,其中,响应于单元传输间隔,经由所配置的路由向在给定输出模块处维护的队列转发在虚拟输出队列处存储的单元,该队列与该单元的目的输出端口相关联。
5.根据权利要求4所述的方法,其中,获得与被分为一个或多个单元并被存储在输入端口处维护的一个或多个虚拟输出队列中的数据相关联的单元数目包括获得与一个或多个输出模块中的第一输出模块分别关联的第一虚拟输出队列组的总单元数目,以及获得与一个或多个输出模块中的第二输出模块分别关联的第二虚拟输出队列组的总单元数目,所述第一虚拟输出队列组包括分别以耦合到第一输出模块的输出端口为目的地的一个或多个单元,所述第二虚拟输出队列组包括分别以耦合到第二输出模块的输出端口为目的地的一个或多个单元。
6.根据权利要求5所述的方法,其中,确定与一个或多个输出模块中的给定输出模块分别相关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大总单元数目包括基于对所获得的与第一输出模块分别关联的第一虚拟输出队列组的总单元数目和所获得的与第二输出模块分别关联的第二虚拟输出队列组的单元数目进行的比较,来进行确定。
7.根据权利要求4所述的方法,其中,接受许可以匹配第一链路还包括更新输入模块和中央模块之间的第一链路的链路状态,所更新的链路状态用于指示输入模块和中央模块之间的第一链路是匹配链路。
8.根据权利要求4所述的方法,其中,用于匹配第二链路的单独请求包括源自输入模块的单独请求。
9.根据权利要求4所述的方法,其中,用于匹配第二链路的单独请求包括源自输入端口的单独请求。
10.根据权利要求4所述的方法,其中,对已许可了用于匹配第二链路的单独请求、并接受该许可以匹配第二链路的指示包括源自输入模块的指示。
11.根据权利要求4所述的方法,其中,对已许可了用于匹配第二链路的单独请求、并接受该许可的指示包括源自中央模块的指示。
12.根据权利要求4所述的方法,其中,所述单元传输间隔包括被分配用于从三级Clos网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的给定单元的时间周期。
13.一种对用于匹配三级Clos网络分组交换机的输入模块和中央模块之间的链路的请求进行许可的方法,该请求与在耦合到输入模块的输入端口处维护的一个或多个虚拟输出队列相关联,一个或多个虚拟输出队列存储在输入端口处接收到的、并被划分为一个或多个单元的数据,该一个或多个单元分别以与三级Clos网络分组交换机的给定输出模块相耦合的输出端口为目的地,所述方法包括接收所述用于匹配输入模块和中央模块之间的链路的请求,该请求指示在一个或多个虚拟输出端口队列中存储的、分别以耦合到给定输出模块的输出端口为目的地的一个或多个单元的单元数目;基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,以及基于在输入模块和中央模块之间的未匹配的链路的可用性,对该请求进行许可;向请求方发送许可指示,其中,该指示包括链路标识符,以指示所匹配的链路,作为在输入模块和中央模块之间耦合的链路。
14.根据权利要求13所述的方法,还包括接收对匹配链路的许可的接受;以及更新匹配链路的链路状态,所更新的状态用于指示输入模块和中央模块之间的链路是匹配链路。
15.根据权利要求14所述的方法,其中,更新链路状态包括在存储器中维护链路状态,该存储器包括寄存器,所述寄存器被配置为指示输入模块和中央模块之 间的链路是匹配链路的链路状态。
16.根据权利要求14所述的方法,其中,响应于接收到用于匹配输入模块和中央模块之间的链路的后续请求,用于指示输入模块和中央模块之间的链路是匹配链路的所更新的链路状态还指示输入模块和中央模块之间的链路不可用。
17.根据权利要求16所述的方法,其中,响应于单元传输间隔,再次更新输入模块和中央模块之间的链路的链路状态,新的更新状态用于指示输入模块和中央模块之间的链路是未匹配链路。
18.根据权利要求17所述的方法,其中,单元传输间隔包括用于以下目的的单元传输间隔其包括被分配用于从三级Clos网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的单元的时间周期。
19.根据权利要求13所述的方法,还包括接收对匹配链路的许可的接受;发起用于匹配中央模块和给定输出模块之间的链路的单独请求,该单独请求用于指示分别以耦合到给定输出模块的输出端口为目的地的一个或多个单元的单元数目;基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,接收对用于匹配中央模块和给定输出模块之间的链路的单独请求的许可,以;接受针对单独请求的许可,以匹配中央模块和给定输出模块之间的链路;更新中央模块和给定输出模块之间的链路的链路状态,所更新的状态用于指示中央模块和给定输出模块之间的链路是匹配链路;以及转发对针对单独请求的许可进行接受的指示,该指示包括与中央模块和给定输出模块之间的链路相关联的链路标识符,其中,向与耦合到输入模块的输入端口处维护的一个或多个虚拟输出队列相关联的请求源转发对许可的接受的指示。
20.根据权利要求13所述的方法,还包括接收对匹配链路的许可的接受;转发用于匹配中央模块和给定输出模块之间的链路的单独请求,该单独请求用于指示分别以耦合到给定输出模块的输出端口为目的地的一个或多个单元的单元数目,该单独请求针对在耦合到输入模块的输入端口处维护的一个或多个虚拟输出队列;基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,接收针对单独请求的许可,以匹配中央模块和给定输出模块之间的链路;以及向单独请求的源转发对已许可了用于匹配中央模块和给定输出模块之间的链路的单独请求的指示;转发对针对单独请求的许可进行接受的指示,将该对针对单独请求的许可进行接受的指示转发至中央模块。
21.一种对用于匹配三级Clos网络分组交换机的中央模块和输出模块之间的链路的请求进行许可的方法,该请求与在耦合到三级Clos网络分组交换机的输入模块的输入端口处维护的一个或多个虚拟输出队列相关联,一个或多个虚拟输出队列存储在输入端口处接收到的、且被划分为一个或多个单元的数据,该一个或多个单元分别以与三级Clos网络分组交换机的给定输出模块相耦合的输出端口为目的地,所述方法包括接收所述用于匹配中央模块和输出模块之间的链路的请求,该请求指示在一个或多个虚拟输出端口队列中存储的、分别以耦合到输出模块的输出端口为目的地的一个或多个单元的单元数目;基于比在一个或多个其它请求中指示的单元数目更大的指示的单元数目,以及基于在中央模块和输出模块之间的链路的可用性,对该请求进行许可;以及向请求方发送许可指示,其中,该指示包括链路标识符,以指示所匹配的链路,作为在中央模块和输出模块之间耦合的链路。
22.根据权利要求21所述的方法,还包括接收对匹配链路的许可的接受;以及更新匹配链路的链路状态,所更新的链路状态用于指示中央模块和输出模块之间的链路是匹配链路。
23.根据权利要求22所述的方法,其中,更新链路状态包括在存储器中维护链路状态,该存储器包括寄存器,所述寄存器被配置为指示中央模块和输出模块之间的链路是匹配链路的链路状态。
24.根据权利要求22所述的方法,其中,响应于接收到用于匹配中央模块和输出模块之间的链路的后续请求,用于指示中央模块和输出模块之间的链路是匹配链路的所更新的链路状态还指示中央模块和输出模块之间的链路不可用。
25.根据权利要求M所述的方法,其中,响应于单元传输间隔,再次更新中央模块和输出模块之间的链路的链路状态,新的更新链路状态用于指示中央模块和输出模块之间的链路是未匹配链路。
26.根据权利要求25所述的方法,其中,单元传输间隔包括用于以下目的的单元传输间隔其包括被分配用于从三级Clos网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的单元的时间周期。
27.—种三级Clos网络交换机,包括输入端口,被配置用于维护第一虚拟输出队列和第二虚拟输出队列,第一虚拟输出队列存储被划分为以第一输出端口为目的地的一个或多个单元的数据,第二虚拟输出队列存储被划分为以第二输出端口为目的地的一个或多个单元的数据,输入端口具有输入端口管理器,其中,输入端口管理器和第一和第二虚拟输出队列被布置为彼此合作,以使得输入端口管理器能够获得第一和第二虚拟输出队列各自的单元数目,以确定总单元数目;耦合到输入端口的输入模块,输入模块具有被配置用于匹配第一链路的输入模块管理器;经由第一链路耦合到输入模块的中央模块,中央模块具有被配置用于匹配第二链路的中央模块管理器;以及经由第二链路耦合到中央模块的输出模块,输出模块被配置用于维护与第一虚拟输出队列相关联的第一队列和与第二虚拟输出队列相关联的第二队列,输出模块具有输出模块管理器,其中,输出模块管理器和第一和第二队列被布置为彼此合作,以接收从第一虚拟输出队列经由第二链路转发的单元,和接收从第二虚拟输出队列经由第二链路转发的单元;其中,输入端口管理器还被配置用于向输入模块的输入模块管理器发起第一请求,第一请求用于匹配第一链路,该请求指示第一虚拟输出队列和第二虚拟输出队列的总单元数目;基于比由输入模块的输入模块管理器接收的单独请求的另一指示的总单元数目更大的指示的总单元数目,接收针对第一请求的许可;接受该许可,以匹配第一链路;接收对已许可并接受了用于匹配第二链路的第二请求以匹配第二链路的指示,第二请求由中央模块的中央模块管理器许可,基于与第一请求中的单元数目相等、并大于中央模块的中央模块管理器接收的请求的另一指示的总单元数目的第二请求的指示的总单元数目,对第二请求进行许可;以及基于比第二虚拟输出队列的单元数目更大的第一虚拟输出队列的单元数目,配置路由转发来自第一虚拟输出队列的单元,所配置的路由包括匹配的第一链路和匹配的第二链路,其中,响应于单元传输间隔,经由配置的路由向输出模块处维护的第一队列转发第一虚拟输出队列中存储的单元。
28.根据权利要求27所述的系统,用于输出模块管理器的逻辑还被配置为响应于另一单元传输间隔,向第一输出端口转发经由配置的路由接收到的、并在第一队列中放置的单元,经由配置的路由接收到的单元要基于实现仲裁方案来转发,该仲裁方案包括从在输出模块处维护的一个或多个其它队列中对具有以第一输出端口为目的地的单元的第一队列进行循环选择。
29.根据权利要求27所述的系统,其中,单元传输间隔包括被分配用于从三级Clos网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的单元的时间周期。
30.一种包括信号承载介质的计算机程序产品,所述信号承载介质具有完成以下功能的指令用于配置通过三级Clos网络分组交换机的一个或多个路由,用于转发在三级Clos 网络分组交换机的输入端口处接收到的数据,将所接收的数据划分为一个或多个单元,并存储在与三级Clos网络分组交换机的输入模块相耦合的输入端口处维护的一个或多个虚拟输出队列中,存储在一个或多个虚拟输出队列中的一个或多个单元分别以与三级Clos 网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地,当由与三级Clos网络分组交换机的输入端口相关联的逻辑来执行所述指令时,所述指令使所述逻辑执行以下操作获得与在耦合到输入模块的输入端口处维护的一个或多个虚拟输出队列处存储的一个或多个单元相关联的单元数目,一个或多个虚拟输出队列与一个或多个输出模块分别相关联;确定与一个或多个输出模块中的输出模块分别关联的一个或多个虚拟输出队列中的哪一个虚拟输出队列具有最大的总单元数目;发出用于匹配输入模块和中央模块之间的第一链路的请求,该请求指示与被确定为具有最大的总单元数目的输出模块分别关联的一个或多个虚拟输出队列的总单元数目;基于比在一个或多个其它请求中指示的总单元数目更大的指示的总单元数目,接收针对请求的许可;接受该许可,以匹配第一链路;接收对已许可了用于匹配给定中央模块和给定输出模块之间的第二链路的单独请求、 并接受该许可以匹配第二链路的指示;以及配置来自虚拟输出队列的路由,所配置的路由包括第一匹配链路和第二匹配链路,从与输出模块分别关联的一个或多个虚拟输出队列中选择虚拟输出队列,该选择基于具有最大单元数目的虚拟输出队列,其中,响应于单元传输间隔,经由所配置的路由向在给定输出模块处维护的队列转发在虚拟输出队列处存储的单元,队列与该单元的目的输出端口相关联。
31.根据权利要求30所述的计算机程序产品,其中,所述单元传输间隔包括被分配用于从三级Clos网络分组交换机的输入端口向三级Clos网络分组交换机的输出模块转发被划分的数据的单元的时间周期。
全文摘要
本发明大体上涉及配置通过三级Clos网络分组交换机的一个或多个路由,以转发在三级Clos网络分组交换机的输入端口处接收到的数据。将所接收的数据划分为在耦合到三级Clos网络分组交换机的输入模块的输入端口处维护的一个或多个虚拟输出队列中存储的一个或多个单元。在分别以与三级Clos网络分组交换机的一个或多个输出模块中的输出模块相耦合的输出端口为目的地的一个或多个虚拟输出队列中存储该一个或多个单元。
文档编号H04L12/56GK102577258SQ201080036269
公开日2012年7月11日 申请日期2010年6月11日 优先权日2009年6月16日
发明者林传毕, 罗伯托·罗杰斯-塞萨 申请人:新泽西理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1