通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf

上传人:b*** 文档编号:4302334 上传时间:2018-09-13 格式:PDF 页数:41 大小:1.10MB
返回 下载 相关 举报
摘要
申请专利号:

CN201080033162.5

申请日:

2010.06.10

公开号:

CN102474460A

公开日:

2012.05.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20100610|||公开

IPC分类号:

H04L12/56; H04Q3/68; H04Q11/00

主分类号:

H04L12/56

申请人:

新泽西理工学院

发明人:

罗伯托·罗雅斯-塞萨; 董子谦

地址:

美国新泽西州

优先权:

2009.07.29 US 12/511,814

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

朱胜;陈炜

PDF下载: PDF下载
内容摘要

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

权利要求书

1: 一种用于通过三级缓存 - 缓存 - 缓存 MMM 输入排队 Clos 网络 IQC 分组交换机的一 部分来转发数据的方法, 在所述三级 MMM IQC 分组交换机的输入端口处接收数据, 数据被 划分成去往耦合到所述三级 MMMIQC 分组交换机的输出模块的输出端口的一个或更多个信 元, 所述一个或更多个信元当中的信元被转发到耦合到所述输入端口的输入模块, 所述方 法包括 : 选择保持在所述输入模块处的虚拟中央模块队列来标识所选虚拟中央模块队列, 保持 在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输 出端口的信元, 其中, 所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述 输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元 ; 以 及 将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列, 其中, 所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。2: 根据权利要求 1 所述的方法, 其中, 所述判优方案包括轮询判优方案。3: 根据权利要求 1 所述的方法, 其中, 选择保持在所述输入模块处的所述虚拟中央模 块队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟输出模块队列来 接收信元。4: 根据权利要求 3 所述的方法, 其中, 实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到虚拟输出端口队 列而增加所述信用单位, 所述虚拟输出端口队列保持在耦合到所述目的地输出端口的所述 输出模块处, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用表示所述虚拟输出 模块队列存储被划分成一个或更多个信元的数据的容量。5: 一种用于通过三级缓存 - 缓存 - 缓存 MMM 输入队列 Clos 网络 IQC 分组交换机来转 发数据的方法, 所述方法包括 : 选择保持在输入端口处的虚拟输出队列来标识所选虚拟输出队列, 所述输入端口耦合 到所述三级 MMM IQC 分组交换机的输入模块, 所述所选虚拟输出队列存储被划分成去往输 出端口的一个或更多个信元的数据, 所述输出端口耦合到所述 MMM IQC 分组交换机的输出 模块, 其中, 所述选择基于是否能够利用保持在所述输入模块处的虚拟中央模块队列来接 收去往所述输出端口的所述一个或更多个信元当中的信元 ; 将信元从所述所选虚拟输出队列转发到所述虚拟中央模块队列, 其中, 所述虚拟中央 模块队列与耦合到所述输入模块的所述输入端口相关联并且还与耦合到所述输入模块的 中央模块相关联 ; 将信元接收到所述虚拟中央模块队列中并且选择所述虚拟中央模块队列来转发信元, 其中, 所述选择基于判优方案并且还基于是否能够利用保持在所述中央模块处的虚拟输出 模块队列来接收信元 ; 将信元从所述虚拟中央模块队列转发到所述虚拟输出模块队列, 其中, 所述虚拟输出 模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联 ; 将信元接收到所述虚拟输出模块队列并且选择所述虚拟输出模块队列来转发信元, 其 中, 所述选择基于所述判优方案并且还基于是否能够利用保持在所述输出模块处的虚拟输 出端口队列来接收信元 ; 2 将信元从所述虚拟输出模块队列转发到所述虚拟输出端口队列, 其中, 所述虚拟输出 端口队列与所述中央模块相关联并且还与信元的所述目的地输出端口相关联 ; 将信元接收到所述虚拟输出端口队列并且选择所述虚拟输出端口队列来将信元转发 到所述目的地输出端口, 其中, 所述选择基于所述判优方案 ; 以及 将信元从所述虚拟输出端口队列转发到所述目的地输出端口。6: 根据权利要求 5 所述的方法, 其中, 所述判优方案包括轮询判优方案。7: 根据权利要求 5 所述的方法, 其中, 选择所述虚拟输出队列还包括实现基于信用的 流控制机制来确定是否能够利用所述虚拟中央模块队列来接收信元。8: 根据权利要求 7 所述的方法, 其中, 实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟中央模块队列而减去信用单位并且基于将信元转发到虚拟输出模块队 列而增加所述信用单位, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用表示所 述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。9: 根据权利要求 5 所述的方法, 其中, 选择所述虚拟输出模块队列还包括实现基于信 用的流控制机制来确定是否能够利用所述虚拟输出模块队列来接收信元。10: 根据权利要求 9 所述的方法, 其中, 实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到所述虚拟输出端 口队列而增加所述信用单位, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用表 示所述虚拟输出模块队列存储被划分成一个或更多个信元的数据的容量。11: 根据权利要求 5 所述的方法, 其中, 选择所述虚拟输出端口队列还包括实现基于信 用的流控制机制来确定是否能够利用所述虚拟输出端口队列来接收信元。12: 根据权利要求 11 所述的方法, 其中, 实现所述基于信用的流控制机制包括基于将 信元转发到所述虚拟输出端口队列而减去信用单位并且基于将信元转发到所述目的地输 出端口而增加所述信用单位, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用表 示所述虚拟输出端口队列存储被划分成一个或更多个信元的数据的容量。13: 一种通过三级缓存 - 缓存 - 缓存 MMM 输入排队 Clos 网络 IQC 分组交换机的一部 分来转发数据的设备, 在所述三级 MMM IQC 分组交换机的输入端口处接收数据, 数据被划分 成去往耦合到所述三级 MMM IQC 分组交换机的输出模块的输出端口的一个或更多个信元, 所述一个或更多个信元当中的信元被转发到耦合到所述输入端口的输入模块, 所述设备包 括: 所述输入模块的输入模块管理器, 其包括逻辑, 所述逻辑被配置成 : 选择保持在所述输入模块处的虚拟中央模块队列来标识所选虚拟中央模块队列, 保持 在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输 出端口的信元, 其中, 所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述 输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元 ; 以 及 将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列, 其中, 所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。14: 根据权利要求 13 所述的设备, 其中, 所述判优方案包括轮询判优方案。15: 根据权利要求 13 所述的设备, 其中, 所述输入模块管理器还包括逻辑, 所述逻辑被 3 配置成实现基于信用的流控制机制以确定是否能够利用所述虚拟输出模块队列来接收信 元。16: 根据权利要求 15 所述的设备, 其中, 被配置成实现所述基于信用的流控制机制的 输入模块管理器逻辑还被配置成 : 基于信元被转发到所述所选虚拟中央模块队列而减去信用单位 ; 并且 基于信元被转发到保持在耦合到所述目的地输出端口的所述输出模块处的虚拟输出 端口队列而增加所述信用单位, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用 表示所述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。17: 一种三级缓存 - 缓存 - 缓存 MMM 输入排队 IQC 分组交换机, 包括 : 输入端口, 其被配置成保持虚拟输出队列以使得所述虚拟输出队列存储被划分成去往 输出端口的一个或更多个信元的数据, 所述输入端口具有输入端口管理器, 其中, 所述输入 端口管理器和所述虚拟输出队列彼此协同布置以将去往所述输出端口的所述一个或更多 个信元存储到所述虚拟输出队列中, 并且从所述虚拟输出队列转发所述一个或更多个信元 的信元 ; 耦合到所述输入端口的输入模块, 所述输入模块被配置成保持虚拟中央模块队列以使 得所述虚拟中央模块队列存储从所述虚拟输出队列转发的信元, 所述输入模块具有输入模 块管理器, 其中, 所述输入模块管理器和所述虚拟中央模块队列彼此协同布置以接收从所 述虚拟输出队列转发的信元、 将信元存储在所述虚拟中央模块队列中以及从所述虚拟中央 模块队列转发信元 ; 耦合到所述输入模块的中央模块, 所述中央模块被配置成保持虚拟输出模块队列以使 得所述虚拟输出模块队列存储从所述虚拟中央模块队列转发的信元, 所述中央模块具有中 央模块管理器, 其中, 所述中央模块管理器和所述虚拟输出模块队列彼此协同布置以接收 从所述虚拟中央模块队列转发的信元、 将信元存储在所述虚拟输出模块队列中以及从所述 虚拟输出模块队列转发信元 ; 以及 耦合到所述中央模块的输出模块, 所述输出模块配置成保持虚拟输出端口队列以使得 所述虚拟输出端口队列存储从所述虚拟输出模块队列转发的信元, 所述输出模块具有输出 模块管理器, 其中, 所述输出模块管理器和所述虚拟输出端口队列彼此协同布置以接收从 所述虚拟输出模块队列转发的信元、 将信元存储在所述虚拟输出端口队列中以及从所述虚 拟输出端口队列转发信元。18: 根据权利要求 17 所述的三级 MMM IQC 分组交换机, 其中, 从所述虚拟输出队列转发 信元包括所述输入端口管理器被配置成 : 至少部分基于是否能够利用保持在所述输入模块 处的所述虚拟中央模块队列来接收从所述虚拟输出队列转发的信元, 而转发信元。19: 根据权利要求 18 所述的三级 MMM IQC 分组交换机, 其中, 所述输入端口管理器被配 置成至少部分基于是否能够利用所述虚拟中央模块来接收从所述虚拟输出队列转发的信 元而转发信元还包括, 所述输入端口管理器被配置成实现基于信用的流控制机制。20: 根据权利要求 19 所述的三级 MMM IQC 分组交换机, 其中, 所述输入端口管理器被配 置成实现所述基于信用的流控制机制包括所述输入端口管理器被配置成 : 基于信元被转发到所述所选虚拟中央模块队列而减去信用单位 ; 并且 基于信元被转发到所述虚拟输出模块队列而增加所述信用单位, 其中, 从信元信用减 4 去或增加所述信用单位, 所述信元信用表示所述虚拟中央模块队列存储被划分成一个或更 多个信元的数据的容量。21: 根据权利要求 17 所述的三级 MMM IQC 分组交换机, 其中, 所述输入模块管理器被配 置成基于是否能利用保持在所述中央模块处的所述虚拟输出模块队列来接收从所述虚拟 中央模块队列转发的信元并且基于判优方案, 而转发信元。22: 根据权利要求 21 所述的三级 MMM IQC 分组交换机, 其中, 所述判优方案包括轮询判 优方案。23: 根据权利要求 17 所述的三级 MMM IQC 分组交换机, 其中, 所述中央模块管理器被配 置成基于是否能够利用保持在所述输出模块处的所述虚拟输出端口队列来接收从所述虚 拟输出模块队列转发的信元并且基于判优方案, 而转发信元。24: 根据权利要求 23 所述的三级 MMM IQC 分组交换机, 其中, 所述判优方案包括轮询判 优方案。25: 根据权利要求 17 所述的三级 MMM IQC 分组交换机, 其中, 所述输出模块管理器被配 置成基于判优方案而转发信元。26: 根据权利要求 25 所述的三级 MMM IQC 分组交换机, 其中, 所述判优方案包括轮询判 优方案。27: 一种包括具有指令的信号携带介质的计算机程序产品, 所述指令用于通过三级缓 存 - 缓存 - 缓存 MMM 输入排队 Clos 网络 IQC 分组交换机的一部分来转发数据, 在所述三级 MMM IQC 分组交换机的输入端口处接收数据, 数据被划分成去往耦合到所述三级 MMM IQC 分 组交换机的输出模块的输出端口的一个或更多个信元, 所述一个或更多个信元当中的信元 被转发到耦合到所述输入端口的输入模块, 所述指令当由逻辑执行时使得所述逻辑 : 选择保持在所述三级 MMM IQC 分组交换机的所述输入模块处的虚拟中央模块队列来标 识所选虚拟中央模块队列, 保持在所述输入模块处的所述所选虚拟中央模块队列存储从所 述输入端口转发并去往所述输出端口的信元, 其中, 所述选择基于判优方案并且还基于是 否能够利用保持在耦合到所述输入模块的一个或更多个中央模块当中的中央模块处的虚 拟输出模块队列来接收信元 ; 以及 将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列, 其中, 所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。28: 根据权利要求 27 所述的计算机程序产品, 其中, 所述判优方案包括轮询判优方案。29: 根据权利要求 28 所述的计算机程序产品, 还包括如下逻辑 : 实现基于信用的流控 制机制以确定是否能够利用所述虚拟输出模块队列来接收信元。30: 根据权利要求 29 所述的计算机程序产品, 其中, 实现所述基于信用的流控制机制 的所述逻辑包括 : 基于信元被转发到所述虚拟中央模块队列而减去信用单位 ; 并且基于信 元被转发到保持在耦合到所述目的地输出端口的所述输出模块处的虚拟输出端口队列而 增加所述信用单位, 其中, 从信元信用减去或增加所述信用单位, 所述信元信用表示所述虚 拟中央模块队列存储被划分成一个或更多个信元的数据的容量。

说明书


通过每级具有缓存的三级 Clos 网络分组交换机来转发数 据

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

通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf_第1页
第1页 / 共41页
通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf_第2页
第2页 / 共41页
通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf_第3页
第3页 / 共41页
点击查看更多>>
资源描述

《通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf》由会员分享,可在线阅读,更多相关《通过每级具有缓存的三级CLOS网络分组交换机来转发数据.pdf(41页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102474460 A (43)申请公布日 2012.05.23 C N 1 0 2 4 7 4 4 6 0 A *CN102474460A* (21)申请号 201080033162.5 (22)申请日 2010.06.10 12/511,814 2009.07.29 US H04L 12/56(2006.01) H04Q 3/68(2006.01) H04Q 11/00(2006.01) (71)申请人新泽西理工学院 地址美国新泽西州 (72)发明人罗伯托罗雅斯-塞萨 董子谦 (74)专利代理机构北京集佳知识产权代理有限 公司 11227 代理人朱胜 陈炜 (54。

2、) 发明名称 通过每级具有缓存的三级Clos网络分组交 换机来转发数据 (57) 摘要 公开了通过三级缓存-缓存-缓存(MMM)输 入排队Clos网络(IQC)分组交换机的至少一部 分来转发被划分成一个或更多个信元的数据的示 例。在一些示例中,三级MMM IQC分组交换机的每 个模块包括虚拟队列和管理器,该虚拟队列和管 理器彼此协同配置以通过交换机的至少一部分来 转发信元。信元可被划分并存储在交换机的输入 端口以及去往交换机的输出端口。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.01.20 (86)PCT申请的申请数据 PCT/US2010/038161 2010.06.。

3、10 (87)PCT申请的公布数据 WO2011/014304 EN 2011.02.03 (51)Int.Cl. 权利要求书4页 说明书21页 附图15页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 4 页 说明书 21 页 附图 15 页 1/4页 2 1.一种用于通过三级缓存-缓存-缓存MMM输入排队Clos网络IQC分组交换机的一 部分来转发数据的方法,在所述三级MMM IQC分组交换机的输入端口处接收数据,数据被 划分成去往耦合到所述三级MMMIQC分组交换机的输出模块的输出端口的一个或更多个信 元,所述一个或更多个信元当中的信元被转发到耦合到所述输入端口。

4、的输入模块,所述方 法包括: 选择保持在所述输入模块处的虚拟中央模块队列来标识所选虚拟中央模块队列,保持 在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输 出端口的信元,其中,所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述 输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元;以 及 将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。 2.根据权利要求1所述的方法,其中,所述判优方案包括轮询判优方案。 3.根据权利要求1所述的方法,其中,选。

5、择保持在所述输入模块处的所述虚拟中央模 块队列还包括实现基于信用的流控制机制来确定是否能够利用所述虚拟输出模块队列来 接收信元。 4.根据权利要求3所述的方法,其中,实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到虚拟输出端口队 列而增加所述信用单位,所述虚拟输出端口队列保持在耦合到所述目的地输出端口的所述 输出模块处,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚拟输出 模块队列存储被划分成一个或更多个信元的数据的容量。 5.一种用于通过三级缓存-缓存-缓存MMM输入队列Clos网络IQC分组交换机来转 发数据的方法,所。

6、述方法包括: 选择保持在输入端口处的虚拟输出队列来标识所选虚拟输出队列,所述输入端口耦合 到所述三级MMM IQC分组交换机的输入模块,所述所选虚拟输出队列存储被划分成去往输 出端口的一个或更多个信元的数据,所述输出端口耦合到所述MMM IQC分组交换机的输出 模块,其中,所述选择基于是否能够利用保持在所述输入模块处的虚拟中央模块队列来接 收去往所述输出端口的所述一个或更多个信元当中的信元; 将信元从所述所选虚拟输出队列转发到所述虚拟中央模块队列,其中,所述虚拟中央 模块队列与耦合到所述输入模块的所述输入端口相关联并且还与耦合到所述输入模块的 中央模块相关联; 将信元接收到所述虚拟中央模块队列。

7、中并且选择所述虚拟中央模块队列来转发信元, 其中,所述选择基于判优方案并且还基于是否能够利用保持在所述中央模块处的虚拟输出 模块队列来接收信元; 将信元从所述虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟输出 模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联; 将信元接收到所述虚拟输出模块队列并且选择所述虚拟输出模块队列来转发信元,其 中,所述选择基于所述判优方案并且还基于是否能够利用保持在所述输出模块处的虚拟输 出端口队列来接收信元; 权 利 要 求 书CN 102474460 A 2/4页 3 将信元从所述虚拟输出模块队列转发到所述虚拟输出端口队列,其中,所述虚拟。

8、输出 端口队列与所述中央模块相关联并且还与信元的所述目的地输出端口相关联; 将信元接收到所述虚拟输出端口队列并且选择所述虚拟输出端口队列来将信元转发 到所述目的地输出端口,其中,所述选择基于所述判优方案;以及 将信元从所述虚拟输出端口队列转发到所述目的地输出端口。 6.根据权利要求5所述的方法,其中,所述判优方案包括轮询判优方案。 7.根据权利要求5所述的方法,其中,选择所述虚拟输出队列还包括实现基于信用的 流控制机制来确定是否能够利用所述虚拟中央模块队列来接收信元。 8.根据权利要求7所述的方法,其中,实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟中央模块队列而减去信用单位并且基。

9、于将信元转发到虚拟输出模块队 列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所 述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。 9.根据权利要求5所述的方法,其中,选择所述虚拟输出模块队列还包括实现基于信 用的流控制机制来确定是否能够利用所述虚拟输出模块队列来接收信元。 10.根据权利要求9所述的方法,其中,实现所述基于信用的流控制机制包括基于将信 元转发到所述虚拟输出模块队列而减去信用单位并且基于将信元转发到所述虚拟输出端 口队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表 示所述虚拟输出模块队列存储被划分成一个或更。

10、多个信元的数据的容量。 11.根据权利要求5所述的方法,其中,选择所述虚拟输出端口队列还包括实现基于信 用的流控制机制来确定是否能够利用所述虚拟输出端口队列来接收信元。 12.根据权利要求11所述的方法,其中,实现所述基于信用的流控制机制包括基于将 信元转发到所述虚拟输出端口队列而减去信用单位并且基于将信元转发到所述目的地输 出端口而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表 示所述虚拟输出端口队列存储被划分成一个或更多个信元的数据的容量。 13.一种通过三级缓存-缓存-缓存MMM输入排队Clos网络IQC分组交换机的一部 分来转发数据的设备,在所述三级MMM I。

11、QC分组交换机的输入端口处接收数据,数据被划分 成去往耦合到所述三级MMM IQC分组交换机的输出模块的输出端口的一个或更多个信元, 所述一个或更多个信元当中的信元被转发到耦合到所述输入端口的输入模块,所述设备包 括: 所述输入模块的输入模块管理器,其包括逻辑,所述逻辑被配置成: 选择保持在所述输入模块处的虚拟中央模块队列来标识所选虚拟中央模块队列,保持 在所述输入模块处的所述所选虚拟中央模块队列存储从所述输入端口转发并去往所述输 出端口的信元,其中,所述选择基于判优方案并且还基于是否能够利用保持在耦合到所述 输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列来接收信元;以 及 。

12、将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。 14.根据权利要求13所述的设备,其中,所述判优方案包括轮询判优方案。 15.根据权利要求13所述的设备,其中,所述输入模块管理器还包括逻辑,所述逻辑被 权 利 要 求 书CN 102474460 A 3/4页 4 配置成实现基于信用的流控制机制以确定是否能够利用所述虚拟输出模块队列来接收信 元。 16.根据权利要求15所述的设备,其中,被配置成实现所述基于信用的流控制机制的 输入模块管理器逻辑还被配置成: 基于信元被转发到所述所选虚拟中央模块队列而。

13、减去信用单位;并且 基于信元被转发到保持在耦合到所述目的地输出端口的所述输出模块处的虚拟输出 端口队列而增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用 表示所述虚拟中央模块队列存储被划分成一个或更多个信元的数据的容量。 17.一种三级缓存-缓存-缓存MMM输入排队IQC分组交换机,包括: 输入端口,其被配置成保持虚拟输出队列以使得所述虚拟输出队列存储被划分成去往 输出端口的一个或更多个信元的数据,所述输入端口具有输入端口管理器,其中,所述输入 端口管理器和所述虚拟输出队列彼此协同布置以将去往所述输出端口的所述一个或更多 个信元存储到所述虚拟输出队列中,并且从所述虚拟输出。

14、队列转发所述一个或更多个信元 的信元; 耦合到所述输入端口的输入模块,所述输入模块被配置成保持虚拟中央模块队列以使 得所述虚拟中央模块队列存储从所述虚拟输出队列转发的信元,所述输入模块具有输入模 块管理器,其中,所述输入模块管理器和所述虚拟中央模块队列彼此协同布置以接收从所 述虚拟输出队列转发的信元、将信元存储在所述虚拟中央模块队列中以及从所述虚拟中央 模块队列转发信元; 耦合到所述输入模块的中央模块,所述中央模块被配置成保持虚拟输出模块队列以使 得所述虚拟输出模块队列存储从所述虚拟中央模块队列转发的信元,所述中央模块具有中 央模块管理器,其中,所述中央模块管理器和所述虚拟输出模块队列彼此协同。

15、布置以接收 从所述虚拟中央模块队列转发的信元、将信元存储在所述虚拟输出模块队列中以及从所述 虚拟输出模块队列转发信元;以及 耦合到所述中央模块的输出模块,所述输出模块配置成保持虚拟输出端口队列以使得 所述虚拟输出端口队列存储从所述虚拟输出模块队列转发的信元,所述输出模块具有输出 模块管理器,其中,所述输出模块管理器和所述虚拟输出端口队列彼此协同布置以接收从 所述虚拟输出模块队列转发的信元、将信元存储在所述虚拟输出端口队列中以及从所述虚 拟输出端口队列转发信元。 18.根据权利要求17所述的三级MMM IQC分组交换机,其中,从所述虚拟输出队列转发 信元包括所述输入端口管理器被配置成:至少部分基。

16、于是否能够利用保持在所述输入模块 处的所述虚拟中央模块队列来接收从所述虚拟输出队列转发的信元,而转发信元。 19.根据权利要求18所述的三级MMM IQC分组交换机,其中,所述输入端口管理器被配 置成至少部分基于是否能够利用所述虚拟中央模块来接收从所述虚拟输出队列转发的信 元而转发信元还包括,所述输入端口管理器被配置成实现基于信用的流控制机制。 20.根据权利要求19所述的三级MMM IQC分组交换机,其中,所述输入端口管理器被配 置成实现所述基于信用的流控制机制包括所述输入端口管理器被配置成: 基于信元被转发到所述所选虚拟中央模块队列而减去信用单位;并且 基于信元被转发到所述虚拟输出模块队列。

17、而增加所述信用单位,其中,从信元信用减 权 利 要 求 书CN 102474460 A 4/4页 5 去或增加所述信用单位,所述信元信用表示所述虚拟中央模块队列存储被划分成一个或更 多个信元的数据的容量。 21.根据权利要求17所述的三级MMM IQC分组交换机,其中,所述输入模块管理器被配 置成基于是否能利用保持在所述中央模块处的所述虚拟输出模块队列来接收从所述虚拟 中央模块队列转发的信元并且基于判优方案,而转发信元。 22.根据权利要求21所述的三级MMM IQC分组交换机,其中,所述判优方案包括轮询判 优方案。 23.根据权利要求17所述的三级MMM IQC分组交换机,其中,所述中央模块。

18、管理器被配 置成基于是否能够利用保持在所述输出模块处的所述虚拟输出端口队列来接收从所述虚 拟输出模块队列转发的信元并且基于判优方案,而转发信元。 24.根据权利要求23所述的三级MMM IQC分组交换机,其中,所述判优方案包括轮询判 优方案。 25.根据权利要求17所述的三级MMM IQC分组交换机,其中,所述输出模块管理器被配 置成基于判优方案而转发信元。 26.根据权利要求25所述的三级MMM IQC分组交换机,其中,所述判优方案包括轮询判 优方案。 27.一种包括具有指令的信号携带介质的计算机程序产品,所述指令用于通过三级缓 存-缓存-缓存MMM输入排队Clos网络IQC分组交换机的一部。

19、分来转发数据,在所述三级 MMM IQC分组交换机的输入端口处接收数据,数据被划分成去往耦合到所述三级MMM IQC分 组交换机的输出模块的输出端口的一个或更多个信元,所述一个或更多个信元当中的信元 被转发到耦合到所述输入端口的输入模块,所述指令当由逻辑执行时使得所述逻辑: 选择保持在所述三级MMM IQC分组交换机的所述输入模块处的虚拟中央模块队列来标 识所选虚拟中央模块队列,保持在所述输入模块处的所述所选虚拟中央模块队列存储从所 述输入端口转发并去往所述输出端口的信元,其中,所述选择基于判优方案并且还基于是 否能够利用保持在耦合到所述输入模块的一个或更多个中央模块当中的中央模块处的虚 拟输。

20、出模块队列来接收信元;以及 将信元从所述所选虚拟中央模块队列转发到所述虚拟输出模块队列,其中,所述虚拟 输出模块队列与所述输入模块相关联并且还与信元的目的地输出端口相关联。 28.根据权利要求27所述的计算机程序产品,其中,所述判优方案包括轮询判优方案。 29.根据权利要求28所述的计算机程序产品,还包括如下逻辑:实现基于信用的流控 制机制以确定是否能够利用所述虚拟输出模块队列来接收信元。 30.根据权利要求29所述的计算机程序产品,其中,实现所述基于信用的流控制机制 的所述逻辑包括:基于信元被转发到所述虚拟中央模块队列而减去信用单位;并且基于信 元被转发到保持在耦合到所述目的地输出端口的所述。

21、输出模块处的虚拟输出端口队列而 增加所述信用单位,其中,从信元信用减去或增加所述信用单位,所述信元信用表示所述虚 拟中央模块队列存储被划分成一个或更多个信元的数据的容量。 权 利 要 求 书CN 102474460 A 1/21页 6 通过每级具有缓存的三级 Clos 网络分组交换机来转发数 据 0001 相关申请 0002 本申请要求Roberto Rojas-Cessa和Ziqian Dong于2009年7月29日提交的、 题为“Forwarding Data Through a Three-Stage Clos-Network Packet Switch with Memory at e。

22、ach Stage.”的美国申请序列第12/511,814号的优先权。本申请还涉及 Roberto Rojas-Cessa和Chuan-bi Lin于2009年6月16日提交的、题为“Configuring a Three-Stage Clos-Network Packet Switch;”的美国申请序列第12/485,828号并且还涉 及Roberto Rojas-Cessa和Ziqian Dong于2009年7月29日提交的、题为“Forwarding Cells of Partitioned Data Through a Three-Stage Clos-Network Packet S。

23、witch with Memory at each Stage.”的美国申请序列第12/511,424号。 背景技术 0003 除非这里另外指明,否则该部分中描述的方式不是本申请中的权利要求的现有技 术,并且通过包括在该部分中也不承认为现有技术。 0004 典型的三级Clos网络分组交换机包括三级交换模块,其可被装备以创建能够具 有大量端口的分组交换机。这三个级通常包括输入模块、中央模块以及输出模块。通常,包 括在三级Clos网络分组交换机中的输入、中央以及输出模块越多,则交换机可以支持越多 端口。作为支持可变数量的端口的能力的结果,可以考虑三级Clos网络分组交换机架构为 可伸展交换机架构。。

24、管理通信网络的公司(诸如因特网服务提供商或电信服务提供商)会 发现三级Clos网络分组交换机的可伸展性为有吸引力的属性。然而,配置路由以通过被伸 展以包括大量端口的三级Clos网络分组交换机来转发数据会是复杂和缓慢的处理。 发明内容 0005 本公开一般描述了用于通过三级缓存-缓存-缓存(MMM)输入排队Clos网络 (IQC)分组交换机的一部分来转发数据的实现方法。可在三级MMM IQC分组交换机的输入 端口处接收数据,并且数据可被划分成去往输出端口的一个或更多个信元(cell),该输出 端口耦合到三级MMMIQC分组交换机的输出模块。该一个或更多个信元当中的信元可被转 发到耦合到输入端口的。

25、输入模块。根据示例方法,可选择和标识保持在输入模块处的虚拟 中央模块队列。所选虚拟中央模块队列可保持在输入模块处,以存储从输入端口转发、并且 去往输出端口的信元。在一些示例中,选择可基于判优方案,并且还基于是否可用保持在耦 合到输入模块的一个或更多个中央模块当中的中央模块处的虚拟输出模块队列以接收信 元。信元可从所选虚拟中央模块队列转发到虚拟输出模块队列。在一些示例中,虚拟输出 模块队列可与输入模块相关联并且还可与信元的目的地输出端口相关联。 0006 本公开还一般描述了用于通过三级MMM IQC分组交换机来转发数据的实现方法。 根据示例方法,可标识和选择保持在输入端口处的虚拟输出队列,该输入。

26、端口耦合到三级 MMM IQC分组交换机的输入模块。所选虚拟输出队列可存储被划分成一个或更多个信元的 说 明 书CN 102474460 A 2/21页 7 数据,该一个或更多个信元去往耦合到MMM IQC分组交换机的输出模块的输出端口。在一 些示例中,选择可基于是否可用保持在输入模块处的虚拟中央模块队列以接收去往输出端 口的一个或更多个信元当中的信元。 0007 根据用于通过三级MMM IQC分组交换机来转发数据的方法,信元可从所选虚拟输 出队列转发到虚拟中央模块队列。在一些示例中,虚拟中央模块队列可与耦合到输入模块 的输入端口相关联,并且还可与耦合到输入模块的中央模块相关联。然后,信元可被。

27、接收到 虚拟中央模块队列。然后可选择虚拟中央模块队列来转发信元。在一些示例中,选择可基 于判优方案,并且还可基于是否可用保持在中央模块处的虚拟输出模块队列以接收信元。 0008 根据用于通过三级MMM IQC分组交换机来转发数据的方法,信元可从虚拟输出模 块队列转发到虚拟输出端口队列。在一些示例中,虚拟输出端口队列与中央模块相关联并 且还与信元的目的地输出端口相关联。然后,信元可被接收到虚拟输出端口队列。然后可 选择虚拟输出端口队列来将信元转发到目的地输出端口。在一些示例中,选择可基于判优 方案。然后,信元可从虚拟输出端口队列转发到目的地输出端口。 0009 本公开还一般描述了通过三级MMM 。

28、IQC分组交换机的一部分来转发数据的示例装 置。可在三级MMM IQC分组交换机的输入端口处接收数据,并且数据可被划分成去往输出 端口的一个或更多个信元,该输出端口耦合到三级MMM IQC分组交换机的输出模块。该一 个或更多个信元当中的信元还可被转发到耦合到输入端口的输入模块。示例装置可具有包 括逻辑的输入模块管理器。逻辑可被配置成选择保持在输入模块处的虚拟中央模块队列, 并且标识所选虚拟中央模块队列。所选虚拟中央模块队列可保持在输入模块处,以存储从 输入端口转发、并且去往输出端口的信元。在一些示例中,选择可基于判优方案,并且还基 于是否可用保持在耦合到输入模块的一个或更多个中央模块当中的中央。

29、模块处的虚拟输 出模块队列以接收信元。逻辑还可被配置成将信元从所选虚拟中央模块队列转发到虚拟输 出模块队列。在一些示例中,虚拟输出模块队列可与输入模块相关联并且还可与信元的目 的地输出端口相关联。 0010 本公开还一般描述了示例三级MMM IQC分组交换机。示例三级MMM IQC分组交换 机可包括输入端口,该输入端口被配置成保持虚拟输出队列,使得虚拟输出队列可保存被 划分成去往输出端口的一个或更多个信元的数据。输入端口可具有输入端口管理器。在一 些示例中,输入端口管理器和虚拟输出队列可彼此协同布置,以将去往输出端口的一个或 更多个信元存储在虚拟输出队列中并从虚拟输出队列转发一个或更多个信元的。

30、信元。 0011 示例三级MMM IQC分组交换机还可包括耦合到输入端口的输入模块。输入模块可 被配置成保持虚拟中央模块队列,使得虚拟中央模块队列可保存从虚拟输出队列转发的信 元。输入模块可具有输入模块管理器。在一些示例中,输入模块管理器和虚拟中央模块队列 可彼此协同布置,以接收从虚拟输出队列转发的信元、将信元存储在虚拟中央模块队列中、 以及从虚拟中央模块队列转发信元。 0012 示例三级MMM IQC分组交换机还可包括耦合到输入模块的中央模块。中央模块可 被配置成保持虚拟输出模块队列,使得虚拟输出模块队列可保存从虚拟中央模块队列转发 的信元。中央模块可具有中央模块管理器。在一些示例中,中央模。

31、块管理器和虚拟输出模 块队列可彼此协同布置,以接收从虚拟中央模块队列转发的信元、将信元存储在虚拟输出 模块队列中、以及从虚拟输出模块队列转发信元。 说 明 书CN 102474460 A 3/21页 8 0013 示例三级MMM IQC分组交换机还可包括耦合到中央模块的输出模块。输出模块可 被配置成保持虚拟输出端口队列,使得虚拟输出端口队列可保存从虚拟输出模块队列转发 的信元。输出模块可具有输出模块管理器。在一些示例中,输出模块管理器和虚拟输出端 口队列可彼此协同布置,以接收从虚拟输出模块队列转发的信元、将信元存储在虚拟输出 端口队列中、以及从虚拟输出端口队列转发信元。 0014 本公开还一般。

32、描述了示例计算机程序产品。在一些示例中,计算机程序产品可包 括具有指令的信号携带介质。指令可用于通过三级MMM IQC分组交换机的一部分来转发数 据。可在三级MMM IQC分组交换机的输入端口处接收数据,并且数据可被划分成去往输出 端口的一个或更多个信元,该输出端口耦合到三级MMM IQC分组交换机的输出模块。该一 个或更多个信元当中的信元可被转发到耦合到输入端口的输入模块。指令在由逻辑执行时 可使得逻辑选择和标识保持在输入模块处的虚拟中央模块队列。所选虚拟中央模块队列可 保持在输入模块处,以存储从输入端口转发、并且去往输出端口的信元。在一些示例中,选 择可基于判优方案,并且还基于是否可用保持。

33、在耦合到输入模块的一个或更多个中央模块 当中的中央模块处的虚拟输出模块队列以接收信元。指令还可使得逻辑将信元从所选虚拟 中央模块队列转发到虚拟输出模块队列。在一些示例中,虚拟输出模块队列可与输入模块 相关联并且还可与信元的目的地输出端口相关联。 0015 前述发明内容仅为说明性的并且不旨在任何方式的限制。除了上述所说明的方 面、实施例以及特征之外,通过参照附图和以下详细描述,此外的方面、实施例以及特征将 变得明显。 附图说明 0016 结合附图,根据以下描述和所附权利要求,本公开的前述和其它特征将变得更明 显。应该理解,这些附图仅根据本公开描绘了若干实施例,并且因此不认为是限制其范围, 将通过。

34、使用附图、利用附加特性和细节来描述本公开。 0017 图1示出了具有可变数量的端口和模块的示例三级Clos网络分组交换机; 0018 图2示出了包括固定数量的端口和模块的三级Clos网络分组交换机的示例; 0019 图3示出了耦合到三级Clos网络分组交换机的排队输入模块的两个排队输入端 口的示例的框图; 0020 图4示出了输入端口管理器的示例架构的框图; 0021 图5示出了输入模块管理器的示例架构的框图; 0022 图6示出了用于从虚拟输出端口队列转发信元的示例方法的流程图,该虚拟输出 端口队列保持在耦合到三级Clos网络分组交换机的输入模块的输入端口处; 0023 图7示出了耦合到三级。

35、Clos网络分组交换机的两个排队中央模块的两个排队输 入模块的示例的框图; 0024 图8示出了中央模块管理器的示例架构的框图; 0025 图9示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三级 Clos网络分组交换机的中央模块的输入模块处; 0026 图10示出了耦合到三级Clos网络分组交换机的两个排队输出模块的两个排队中 央模块的示例的框图; 说 明 书CN 102474460 A 4/21页 9 0027 图11示出了输出模块管理器的示例架构的框图; 0028 图12示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三 级Clos网络分组交换机的输出模块的中。

36、央模块处; 0029 图13示出了用于从队列转发信元的示例方法的流程图,该队列保持在耦合到三 级Clos网络分组交换机的输出端口的输出模块处; 0030 图14示出了通过三级Clos网络分组交换机来转发信元的示例信元路由; 0031 图15示出了示例计算机程序产品的框图;以及 0032 图16示出了全部根据本公开布置的示例计算装置。 具体实施方式 0033 在以下详细描述中,对构成本公开一部分的附图进行参照。在附图中,除非上下文 另外指明之外,类似的符号通常标识类似的部件。详细说明、附图以及权利要求中的说明性 示例或实施例不意味着是限制性的。可利用其它示例或实施例,并且可进行其它改变,而不 脱。

37、离这里呈现的主题内容的精神或范围。将容易理解的是,可以按广泛不同的配置布置、替 代、组合以及设计如这里一般描述并在图中示出的本公开的方面,所有这些都被明确地预 期并构成本公开的一部分。 0034 本公开特别涉及如下方法、设备、系统以及计算机程序产品:其涉及通过在每级具 有缓存的三级Clos网络分组交换机来转发被划分成一个或更多个信元的数据。 0035 如在本公开中预期的,通过被伸展以包括大量端口的三级Clos网络分组交换机 来转发数据会是复杂和缓慢的处理。三级Clos网络分组交换机的设计的某些方面会影响 转发数据的速度和复杂性。例如,三级Clos网络分组交换机设计的类型可以是输入排队 Clos。

38、网络分组交换机(“IQC交换机”)。IQC分组交换机可包括保持在输入端口处的队列 或缓冲,在下文中称为“虚拟输出队列” (VOQ)。这些VOQ可至少暂时存储被划分成分组或 “信元”的数据,以便利通过IQC分组交换机的数据的内部交换或路由。然而,IQC分组交 换机设计会需要复杂的且可能耗时的链接匹配处理来配置通过IQC分组交换机的路由。例 如,在可通过对IQC分组交换机的模块进行互连的链接来转发信元之前,需要解决通过IQC 分组交换机的三级的路径路由和输出端口竞争。 0036 如在本公开中进一步预期的,为了减少与配置路由以通过IQC分组交换机来转发 数据相关联的复杂性和定时发布,IQC分组交换机。

39、可包括分离地保持在每个模块处的缓冲 或队列。在所有级(例如,输入模块、中央模块以及输出模块)中都具有缓存的这类IQC分 组交换机可以被称为三级缓存-缓存-缓存(“MMM”)IQC分组交换机。每个模块处分离地 保持缓冲或队列可通过允许在MMM IQC分组交换机的每级处单独选择存储信元的队列来转 发信元,有助于解决内部和输出竞争。但是当被划分成信元的数据可通过不同中央模块被 转发以到达耦合到MMM IQC分组交换机的目的地输出端口的输出模块时,会出现顺序不对 的问题。 0037 在一些示例中,实现了用于通过三级Clos网络分组交换机(例如,MMM IQC分组 交换机)来转发被划分成一个或更多个信元。

40、的数据的方法。根据示例方法之一,选择虚拟 输出队列(VOQ)。所选VOQ可保持在耦合到三级MMM IQC分组交换机的输入模块的输入端 口处。所选VOQ可存储被划分成去往输出端口的一个或更多个信元,该输出端口耦合到三 说 明 书CN 102474460 A 5/21页 10 级MMM IQC分组交换机的输出模块。VOQ的选择可至少部分基于是否可用保持在输入模块 处的虚拟中央模块队列(VCMQ)以接收去往输出端口的一个或更多个信元当中的信元。然 后,信元可从VOQ转发到VCMQ。对于该示例方法,VCMQ队列可与耦合到输入模块的输入端 口相关联,并且还可与耦合到输入模块的中央模块相关联。 0038 。

41、另外,根据示例方法,信元可被接收到VCMQ中。然后,可选择VCMQ以转发信元。选 择可基于判优方案(例如,轮询),并且还可基于是否可用保持在中央模块处的虚拟输出模 块队列(VOMQ)以接收信元。然后,信元可从VCMQ转发到VOMQ。对于该示例方法,VOMQ可 与输入模块和信元的目的地输出端口相关联。 0039 另外,根据示例方法,信元可被接收到VOMQ中。然后,可选择VOMQ以转发信元。选 择可基于判优方案(例如,轮询),并且还可基于是否可用保持在输出模块处的虚拟输出端 口队列(VOPQ)以接收信元。然后,信元可从VOMQ转发到VOPQ。对于该示例方法,VOPQ可 与中央模块和信元的目的地输出。

42、端口相关联。 0040 此外,根据示例方法,信元可被接收到VOPQ中。然后,可选择VOPQ以转发信元。选 择可基于判优方案(例如,轮询)。然后,信元可从VOPQ转发到目的地输出端口。 0041 图1示出了具有可变数量的端口和交换模块的示例三级Clos网络分组交换机 100(例如,三级MMM IQC分组交换机)。如图1所示,交换机100包括第一级处的输入模块 (“IM”)120、第二级处的中央模块(“CM”)130以及第三级处的输出模块(“OM”)140。 0042 在一些示例中,如图1所示,每个IM 120经由输入端口链接(“L IP ”)115耦合到 数量(n)的输入端口(“IP”)110。。

43、例如,如果存在数量(k)的IM 120,则可以有总共n k个IP 110。类似地,每个OM 140包括数量(n)的输出端口(“OP”)150。例如,如果存在 数量(k)的OM 140,则可以有总共nk的OP 150。 0043 在一些示例中,如图1所示,交换机100包括布置在数量(k)的IM120和数量(k) 的OM 140之间的数量(m)的CM 130。另外,示出了IM 120包括数量(m)的引出输入模块 链接(“L I ”)125。L I 125可被配置成将IM 120耦合到m个CM 130之一。类似地,CM 130 可包括数量(k)的引出中央模块链接(“L C ”)135。L C 135。

44、可被配置成将CM 130与k个OM 140之一耦合。 0044 在一些示例中,如图1所示,IP 110分离地包括VOQ 112和IP管理器114。VOQ 112可以是被布置成包括VOQ的缓存结构,该VOQ被配置成至少暂时存储被划分成要通过交 换机100转发的信元的数据。在一个示例中,VOQ 112可以与OP 150当中的目的地输出端 口相关联。因此,例如,如果交换机100包括四个OP 150,则VOQ 112将被配置成包括四个 VOQ。另外,如下面更多描述的,IP管理器114可包括被配置成转发存储在VOQ中的信元的 逻辑和/或功能部件,该VOQ分离地保持在每个IP 110中。 0045 在一些。

45、示例中,如图1所示,IM 120分离地包括虚拟中央模块队列(VCMQ)122和 IM管理器124。VCMQ 122可以是被布置成包括VCMQ的缓存结构,该VCMQ被配置成至少暂 时存储从保持在耦合到IM 120的IP 110处的VOQ转发的一个或更多个信元。VCMQ 112可 与耦合到IM 120的IP 110相关联并且还可与CM 130相关联。因此,例如,如果交换机100 包括耦合到IM 120的两个CM 130和两个IP 100,则VCMQ 122将被配置成包括四个VCMQ。 另外,如下面更多描述的,IM管理器124可包括如下逻辑和/或功能部件:该逻辑和/或功 能部件被配置成将信元接收到包。

46、括在VCMQ 122中的VCMQ中并且还将一个或更多个信元转 说 明 书CN 102474460 A 10 6/21页 11 发到CM 130。 0046 在一些示例中,如图1所示,CM 130分离地包括虚拟输出模块队列(VOMQ)132和 CM管理器134。VOMQ 132可以是被布置成包括VOMQ的缓存结构,该VOMQ被配置成至少 暂时存储从VCMQ转发的一个或更多个信元,该VCMQ保持在耦合到CM 130的IM 120处。 VOMQ132可以与耦合到CM 130的IM 120相关联,并且还可以与耦合到OM140的目的地OP 150相关联,该OM 140耦合到CM 130。因此,例如,如果。

47、交换机100包括耦合到CM 130的 两个IM 110和对于耦合到CM 130的每个OM 140的两个OP 150,则VOMQ 132将被配置成 包括八个VOMQ。另外,如下面更多地描述的,CM管理器134可包括如下逻辑和/或功能部 件:该逻辑和/或功能部件被配置成将信元接收到包括在VOMQ 132的VOMQ中并且还将一 个或更多个信元转发到OM 140。 0047 在一些示例中,如图1所示,OM 140分离地包括虚拟输出端口队列(VOPQ)142和 OM管理器144。VOPQ 142可以是被布置成包括VOPQ的缓存结构,该VOPQ被配置成至少暂 时存储从VOMQ转发的一个或更多个信元,该VO。

48、MQ保持在耦合到OM 140的CM 130处。VOPQ 142可与耦合到OM 140的CM 130相关联,并且还可与OP 150相关联。因此,例如,如果交 换机100包括两个CM 130和耦合到OM 140的两个OP 150,则VOPQ 142将被配置成包括四 个VOPQ。另外,如下面更多地描述的,OM管理器144可包括如下逻辑和/或功能部件:该逻 辑和/或功能部件被配置成将信元接收到包括在VOPQ 122中的VOPQ中并且还将一个或更 多个信元转发到OP 150。 0048 在一些示例中,OP 150可分离地包括如下逻辑和/或功能部件:该逻辑和/或功 能部件被配置成进一步再集合与被划分并通过。

49、交换机100转发的数据(例如,数据流)相 关联的信元。未示出OP 150的逻辑和/或功能部件。但是提到被配置成再集合信元的逻 辑和/或功能部件以表明,本公开预想在信元从保持在OM 140处的VOPQ被转发之后,被划 分的信元的可能再集合。 0049 表1包括在图1中描绘的变量的示例描述。 0050 表1 0051 n分别对于每个IM 120和OM 140的IP 110和OP 150的数量; 0052 kIM 120的数量,以及OM 140的数量; 0053 mCM 130的数量; 0054 IM(i)第i+1个IM 120,其中0ik-1; 0055 CM(r)第r+1个CM 130,其中0rm-1; 0056 OM(j)第j+1个OM 140,其中0jk-1; 0057 IP(i,g)IM(i)处的第(g+1)个IP 110,其中0gn-1; 0058 OP(j,h)OM(j)处的第(h+1)个OP 150,其中0hn-1; 0059 L IP (i,g)IP(i,g)和IM(i)之间的链接; 0060。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1