首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 声明 / 优先权要求 / 有效的输出请求分组交换设备和方法

有效的输出请求分组交换设备和方法

阅读:388发布:2022-05-05

专利汇可以提供有效的输出请求分组交换设备和方法专利检索,专利查询,专利分析的服务。并且一种有效地将多个入口接收的多个分组交换到多个出口的方法(1200、1500、1600、1700、1800)和分组交换机(500、600、700、1400、1900、2000),使用以下步骤:A)将分组存储在 存储器 中;(B)将每个分组的到达信息发送到分组的目的地出口;C)在每个目的地出口的存储器存储到达信息;D)每个目的地出口根据预定方案向分组存储器 请求 分组;和E)分组存储器向目的地出口发送所请求的分组。,下面是有效的输出请求分组交换设备和方法专利的具体信息内容。

1.一种用以将从多个入口接收的多个分组转接到多个出口的方法, 其中包括存储到达所述入口的分组,将其中所述的分组转接到一个目的 地出口,其特征在于,所述的方法包括以下步骤:
当每个分组到达时,将该分组存储在与该分组到达的那个入口相关 联的一个分组存储器中;
将表明至少有一个分组已到达的到达信息发送到所述的目的地出 口;
每个目的地出口请求已存储分组;和
每个入口以至多为所述入口的预定的传送速率的速率发送被请求 的分组,如果发送被请求的分组所需要的传送速率大于所述的预定的传 送速率,则发送不能进行,在发送不能进行时,所述的目的地出口再请 求发送所述的不能发送的分组。
2.根据权利要求1所述的方法,其特征在于,所述的到达信息包 括:一个入口标识符,其中所述的目的地出口请求的步骤包括以下步骤: 根据所述的入口标识符,将一个请求信号发送到所述的入口。
3.根据权利要求1所述的方法,其特征在于,所述的到达信息包 括:一个入口标识符和一个存储位置标识符,其中所述的目的地出口请 求的步骤包括以下步骤:根据所述的入口标识符和所述的存储位置标识 符,将一个请求信号发送到所述的入口。
4.根据权利要求1所述的方法,其特征在于,所述的将到达信息 发送到所述的目的地出口的步骤包括以下步骤:
发送一个内含所述到达信息的到达标记。
5.根据权利要求4所述的方法,其特征在于,还包括以下步骤:
所述的目的地出口将所述的到达标记存储在与所述目的地出口相 关联的一个标记存储器中。
6.根据权利要求5所述的方法,其特征在于,所述的请求已存储 分组的步骤包括以下步骤:
根据一个预定的方案从所述的标记存储器中选择一个到达标记;和
将所述的到达标记发送到所述的入口。
7.根据权利要求6所述的方法,其特征在于,所述的预定的方案 包括:
一个先进先出的方案;或
一个基于预定的调度特征的方案。
8.一种有效的分组交换机,用以将从多个入口接收的多个分组转 接到多个出口,其中转接过程包括存储到达所述入口的分组,其特征在 于,所述的交换机包括:
多个到达控制器,其中每个入口都有一个到达控制器,用以将表明 “至少有一个分组已经到达”的到达信息发送到目的地出口;和
多个调度器,其中每个出口都有一个调度器,所述的调度器与所述 的多个到达控制器相耦连,每个目的地出口的调度器根据一个预定的方 案请求已存储分组。
9.根据权利要求8所述的分组交换机,其特征在于,所述的分组 交换机包括:一个存储器,用于存储到达每个目的地出口的所述的到达 信息并根据以下方案其中之一请求所述的分组:
一个先进先出的方案;或
一个基于预定的调度特征的方案。
10.一种分组交换机,用以将从多个入口之中的一个入口所接收的 分组转接到多个出口之中的一个出口,其特征在于,所述的交换机包括:
多个入口,与相应的分组存储器相连接,用以确定用于接收的分组 的一个目的地出口,和用以存储所述的接收分组;
多个出口,与相应的标记存储器相连接,其中所述的入口和出口互 连,和其中所述的多个出口包括:一个目的地出口,用于接收分组,并 将所述的接收分组存储在与接收入口相连的分组存储器中;其中所述的 用于接收的入口向所述的目的地出口发送一个到达标记,该到达标记至 少具有存储器地址和识别号以表明分组存储在哪里;
其中所述的目的地出口接收该到达标记并将该到达标记存储在与 目的地出口相连的标记存储器中,所述的目的地出口根据一个预定的方 案选择已存储的到达标记,并将已选择的、已存储的到达标记回送到发 送该到达标记的那个入口,以请求发送与该到达标记相关的所接收到的 分组;
其中所述的入口接收所选择的存储的到达标记,检索和该到达标记 相关的所接收到的分组,向所述的目的地出口发送与该到达标记相关的 所接收到的分组;和
所述的目的地出口接收与该到达标记相关的所接收到的分组,并从 该目的地分送所接收的分组;其中一个入口接收表示从多个出口请求分 组的多个标记,该入口根据一个预定的请求速率发送所请求的分组,并 拒绝超过该预定请求速率的请求,当一个出口的请求被拒绝时,该出口 再重复提出该请求。
11.根据权利要求10所述的分组交换机,其特征在于,所述的交 换机在多个出口工作,包括:所述的用于接收的入口向所述目的地出口 发送一个到达标记是在到达路径上发送所述的到达标记的,所述的目的 地出口是在请求路径上发送已选择的到达标记的,所述的入口是在分组 路径上发送该分组的。
12.根据权利要求10所述的分组交换机,其特征在于,所述的到 达标记包括用以将代表等候的分组的标记组织成为多个队列的信息,以 表示以下情况其中之一:
A)不同的连接,
B)优先权,
C)服务的质量
以在所述的目的地出口调度所述的分组。
13.根据权利要求10所述的分组交换机,其特征在于,平均的总 交换机业务速率小于所有的N个出口的最大速率R之和,也就是说,小 于N*R,所述的分组路径具有信息速率为c*N*R,其中c是一个小于1 的数值。
14.根据权利要求10所述的分组交换机,其特征在于,所述的出 口将代表等候的分组的标记组织成为多个队列,以表示不同的连接、优 先权和服务的质量。
15.一种分组交换机,用以将从多个入口其中之一接收的多个分组 转接到多个出口其中之一,其特征在于,所述的交换机包括:
多个入口,与相应的分组存储器相连接,用于确定所接收的分组的 目的地出口和用于存储所接收的分组;
多个出口,与相应的标记存储器相连接,其中所述的入口和出口互 连,和其中所述的多个出口包括:确定用于接收分组的一个目的地出口 并将所述的接收分组存储在与接收入口相连的分组存储器中;
其中所述的用于接收的入口向所述的目的地出口发送一个到达标 记,该到达标记至少具有存储器地址和识别号以表明分组存储在哪里;
其中所述的目的地出口接收该到达标记并将该到达标记存储在与 目的地出口相连的标记存储器中;所述的目的地出口根据一个预定的方 案选择已存储的到达标记,并将已选择的、已存储的到达标记回送到发 送该到达标记的那个入口,以请求发送与该到达标记相关的所接收到的 分组;
其中所述的入口接收所选择的、已存储的到达标记,检索与该到达 标记相关的所接收到的分组,向目的地出口发送与该到达标记相关的所 接收到的分组;和
目的地出口接收和该到达标记相关的所接收到的分组,并从该目的 地分送所接收的分组;其中所述的分组交换机借助集中地产生的 CELLCLK信号同步成单元周期,所述的CELLCLK信号是由连接于所 有入口和出口的单元时钟线路提供的,单元周期是每个入口仅有一个分 组到达的一段时间,每个入口在每个单元周期仅产生一个到达标记,每 个出口在每个单元周期仅产生一个请求,并且每个出口在每个单元周期 在输出链路上发送最大的一个分组。
16.根据权利要求15所述的分组交换机,其特征在于,所述的分 组交换机利用一个预定的仲裁方案,将每个单元周期内由入口i所接收的 请求个数限制到一个预选的整数ki并将所有的入口所接收的请求总数限 制到一个预定的整数M。
17.根据权利要求16所述的分组交换机,其特征在于,所述的分 组交换机包括具有识别号ID的N个入口和N个出口,具有一条从出口 到入口的请求路径,还具有一条从入口到出口的确认线,其中所述的预 定的仲裁方案包括以下步骤:
具有一个当前的REQUEST信号的多个出口的每个在请求路径上 发出一个REQUEST,其中所述的REQUEST信号包括一个具有代表 “真”和“假”的数值的VALID比特,和一个用以表明入口识别号的 QPORT号数,其中所述的多个出口的REQUEST以一个预定的序列一 次发出一个;和
当一个入口具有与所述的REQUEST信号之中的QPORT相匹配 的识别号时,该入口依序地响应其内VALID比特为“真”的每个 REQUEST信号,它具有用以表示“接受”或“驳回”的一个 ACKNOWLEDGE比特,该ACKNOWLEDGE比特是表示“接受”或 “驳回”至少是根据所述的入口是否已经接收了k个REQUEST信号而 定,其中k是一个预定的整数。
18.根据权利要求17所述的分组交换机,其特征在于,所述的仲 裁方案的步骤中所述的ACKNOWLEDGE比特的“接受”或“驳回”还 至少是根据在当前的单元周期内是否已经接收了M个REQUEST信号而 定,其中M是一个预定的整数。
19.根据权利要求17所述的分组交换机,其特征在于,所述的N 个出口具有独特的仲裁序列号从0到N-1,并且在按照所述的仲裁序列号 的“圆-罗宾”顺序发出REQUEST信号,当从一个出口来的REQUEST 被“驳回”时,将当前单元周期内发出一个被驳回的REQUEST的第一 出口用以作为依序的单元周期的一个新起点。
20.根据权利要求19所述的分组交换机,其特征在于,一条SYNC 线连接所有的出口,所有的出口含有一个“起始”寄存器和一个“源” 计数器,其中所述的预定的仲裁方案还包括以下步骤:
A)每个出口保持“源”计数器以表明当前正产生REQUEST的那 个出口的仲裁序列号,每当该出口的“源”计数器等于一个预定数值时, 插入一个SYNC信号,
B)每个出口监测该SYNC信号,当该SYNC信号在一个单元周期 内插入一个以上时钟周期时,该出口将一个“起始”值复位为一个预选 值,所述的预选值对于所有的出口都是相等的。
21.根据权利要求16所述的分组交换机,其特征在于,所述的分 组交换机具有N个入口和N个出口,编号从0到N-1,具有一个单元周 期定时信号CELLCLK,具有一个定时信号CLK,CELLCLK的每个 循环至少有N+1个周期,将CELLCLK信号和CLK信号都提供到所述 的分组交换机的所有的入口和出口,其中所述的预定的仲裁方案还包括 以下步骤:
A)将所有出口的“起始”寄存器初始化为0,并在下一个CELLCLK 周期开始时开始执行步骤B;
B)将每个出口中的“时钟”计数器初始化为0,并将每个出口中 的出口起始值复制为“源”计数器值,然后开始执行步骤H;
C)当最后的REQUEST信号中的VALID比特为“真”时,开始 执行步骤D,否则执行步骤F;
D)当一个入口的号数与所述的最后的REQUEST之中的QPORT 号相匹配时,该入口在确认路径上响应一个ACKNOWLEDGE比特的 “接受”或“驳回”其中之一,如果该入口在确认路径上已经接收了k 个REQUEST,则ACKNOWLEDGE比特是“驳回”,否则,如果从当 前的单元周期的起点开始起、M个REQUEST信号已被任何入口接收了, 而且每个入口接收的REQUEST的个数限制在与该入口相关的整数k, 并且多个入口接收的REQUEST的总数限制在与该入口相关的整数M, 则ACKNOWLEDGE比特是“接受”;
E)提出最后的REQUEST的那个出口捕获ACKNOWLEDGE比 特作为最后的仲裁结果;
F)借助于所有的出口捕获ACKNOWLEDGE比特,同步了“起 始”值,这个ACKNOWLEDGE比特是当前的单元周期内的第一个“驳 回”,然后将“起始”值设定为当前的“源”计数器值;
G)当“时钟”计数器值小于N时,开始执行步骤H,否则执行 步骤J;
H)当该入口的号数与当前的“源”计数器值相匹配时,该入口发 送一个REQUEST信号,所述的REQUEST信号包括一个用以表明入口 正请求分组时为“真”的VALID比特,和一个用以表明从中正在请求 分组的那个入口的QPORT号;
I)由该出口使“时钟”计数器值和当前的“源”计数器值加1,这 时新的“源”计数器值等于N,使它复位为0以提供一个模数为N的计 数器,在CLK的下一个周期开始时返回到步骤C;和
J)在CELLCLK的下一个周期开始时该出口返回到步骤B。
22.根据权利要求21所述的分组交换机,其特征在于,所述的仲 裁方案包括一个防止差错的恢复机构,其中下述的步骤在CLK的下一个 周期开始时返回到步骤C之前加入到步骤I中:当出口的“源”计数器 值等于0时该出口插入一个布线的“或”同步信号SYNC,并在每个时 钟周期内由该出口监测SYNC信号,SYNC在当前的单元周期内是“真” 大于一个以上时钟周期,以将“起始”值设定为0。
23.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其中对于每个通过一个出口的链接,都有一个相应的ACTIVE指示 符被初始化为“假”,并且到达入口的分组被存储在分组队列中,每个 分组队列对应于一个单独的连接,其特征在于,该方法包括以下步骤:
A)对于每个到达入口的分组,入口都确定分组是否到达一个空队 列,如果分组到达的是空队列,入口就产生一个具有连接标识符代码的 到达标记,入口向该分组的目的地出口发送该到达标记,并前进至步骤B, 否则前进至步骤C;
B)出口接收到达标记并通过在与该出口相耦合的连接表中将 ACTIVE指示符设置为“真”来记录到达标记的到达,连接表对于每个 通过出口的连接都有一个ACTIVE指示符;
C)出口根据预定方案在连接表中ACTIVE指示符为“真”的连接 中选择一个连接,对于所选连接将ACTIVE指示符设置成“假”,并将 至少包含一个连接标识符的请求回送给发送所述到达标记的入口;
D)当接收到请求时,入口使用连接标识符确定分组队列的位置并 使下一个分组出队列,用MORE指示符标记该分组,并向发出请求的出 口发送该分组,如果队列中还有分组MORE指示符为“真”,否则为“假”; 和
E)出口接收所请求的分组,当分组中MORE指示符为“真”, 该出口将连接表中ACTIVE指示符设置为“真”。
24.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其中对于每个通过一个入口的连接,都有相关联的队列状态信息, 该队列状态信息被初始化为第一预定的起始值,并被耦联到出口,对于 每个通过一个出口的链接,都有一个带有一个表项的连接表,其内至少 含有一个ACTIVE指示符,它被初始化为“假”,请求状态信息被初始 化为第二预定起始值,和队列状态信息被初始化为第一预定起始值,其 中到达入口的分组被存储在分组队列中,每个分组队列对应于一个单独 的连接,其特征在于,该方法包括以下步骤:
A)所述的入口对于每个到达入口的分组都要更新用于有关连接的 队列状态信息,该入口确定分组是否到达一个空队列,如果是“是”, 该入口就产生一个具有连接标识符代码的到达标记,入口向该分组的目 的地出口发送该到达标记,并前进至步骤B,否则前进至步骤C;
B)出口接收到达标记并通过将ACTIVE指示符设置为“真”来记 录到达标记的到达;
C)出口根据预定方案在连接表中ACTIVE指示符为“真”的连接 中选择一个连接,并将其内含有至少一个连接标识符的请求回送给发送 所述到达标记的入口,更新该连接的请求状态信息,应用以下情况之中 至少一种:队列状态信息和请求状态信息,来确定分组对列中是否还有 未被出口请求的分组,当该分组队列是空的,由该出口将连接表中的 ACTIVE指示符设定为“假”;
D)当接收到请求时,入口使用连接标识符确定分组队列的位置并 使下一个分组出队列,更新该连接的队列状态信息,用队列状态信息指 示符标记该分组,由该出口确定该分组是否仍在该出口未请求的分组队 列中,并将该分组发送到正请求的出口;和
E)出口接收所请求的分组,将队列状态信息与伴随的分组一起存 储在连接表中,所选择的连接的ACTIVE指示符为“假”,利用以下情 况至少其中之一:队列状态信息和请求状态信息,来确定分组队列中是 否仍有该出口未请求的分组,当分组队列内仍有该出口未请求的分组时, 该出口将连接表中ACTIVE指示符设置为“真”。
25.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其中对于每个通过入口的连接,都有一个相关的模数顺序计数值 ARRIVSEQ,所述的ARRIVSEQ的模数是S,“#”表示模S加法, “||”表示布尔或运算符;对于每个通过出口的连接,在与出口相耦合 的连接表中都有一表项,至少包含一个ACTIVE比特、一个MANY比 特、一个REQSEQ值和一个LASTSEQ值,对于每个连接的ACTIVE 比特都被初始化成为“假”,其特征在于,该方法包括以下步骤:
A)入口将所接收到的分组存储在存储器的分组队列里,其中每个 队列对应于一个单独的连接,并将与该连接相关的ARRIVSEQ值更新为 ARRIVSEQ#1;
B)对于每个到达入口的分组,入口都确定分组是否到达一个空队 列,如果分组到达的是一个空队列,则前进至步骤C,否则前进至步骤E;
C)入口产生一个具有连接标识符代码的到达标记,并且根据选择 可以包括调度信息,入口还向分组的目的地出口发送到达标记并将与该 连接相关的ARRIVSEQ值设置为一个预选值SEQSTART#1;
D)出口接收所述的到达标记,并通过在该连接的连接表项中设置 ACTIVE比特来将REQSEQ设置为SEQSTART,将LASTSEQ设定为 SEQSTART#1来记录到达标记的到达;
E)出口根据一预定方案从连接表中ACTIVE比特被设定的连接中 选择一个连接,把至少包含连接标识符的请求送回到发送该到达标记的 入口,对于所选连接将REQSEQ值更新为REQSEQ#1,并对于所选择 的连接的REQSEQ的新值与LASTSEQ的值进行比较,当它们相等且该 连接的MANY比特为“假”时,将该连接的ACTIVE比特设置为“假”;
F)当接收到请求时,入口使用连接标识符确定分组队列,并使下 一分组出队列,用该连接的ARRIVSEQ值标记该分组,当分组队列中分 组数大于或等于S时,将分组中MANY比特设定为“真”,否则为“假”; 和
G)出口接收请求的分组,将分组中的ARRIVSEQ标记复制为连 接表中该连接的LASTSEQ值,将分组中的MANY比特复制为连接表中 该连接的MANY比特,当LASTSEQ≠REQSEQ||MANY=假时,设定 该连接ACTIVE比特为“真”。
26.根据权利要求25所述的方法,其特征在于,对于以最大速度 的操作,模数S被选择得比在步骤E与步骤G之间的延迟期间由出口请 求的分组的最大数大些。
27.根据权利要求26所述的方法,其特征在于,在所述的分组中, MANY和LASTSEQ被编码为一个单一的比特组ASEQ,以使ASEQ中 的一个特定值被保留,以意味着MANY为“真”,并以同样的方式在出 口连接表中将MANY和LASTSEQ编码为一个单一的比特组LSEQ。
28.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其特征在于,所述的方法包括以下步骤:
A)入口将接收的分组存储在一个存储器的分组队列,其中每个队 列对应一个单独的连接;
B)对于到达该入口的每个分组,该入口确定该分组是否到达一个 空队列,如果是“是”,则执行步骤C,否则执行步骤E;
C)该入口产生具有连接标识符的到达标记,选择包括调度信息, 由该入口将到达标记发送到该分组的目的地出口;
D)该出口接收和存储到达标记;
E)由该出口根据一个预定的方案选择已存储的到达标记,并将该 到达标记回送到发送该到达标记的入口;
F)该入口一收到请求就利用该连接标识符确定该分组队列的位置, 请求下一个分组,如果队列中有其余的分组,则用为“真”的MORE比 特标记该分组,否则,用为“假”的MORE比特标记该分组,然后将该 分组发送到正请求的出口;
G)由该出口接收请求的分组,这时分组中的MORE比特为“真”, 产生一个对应于正等待的下一个分组的到达标记。
29.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其中对于每个通过入口的连接,都有一个相关的模数顺序计数值 ARRIVSEQ,该ARRIVSEQ的模数是S,“#”表示模S加法,“||” 表示布尔或运算符;对于每个通过出口的连接,在与出口相耦合的连接 表中都有一个表项,至少包含一个ACTIVE比特、一个MANY比特、 一个REQSEQ值和一个LASTSEQ值,对于每个连接的ACTIVE比特 都被设定为“假”,其特征在于,该方法包括以下步骤:
A)入口将所接收到的分组存储在存储器的分组队列里,其中每个 队列对应于一个单独的连接,并将与该连接相关的ARRIVSEQ值更新为 ARRIVSEQ#1;
B)对于每个到达入口的分组,入口都确定分组是否到达一个空队 列,如果分组到达的是一个空队列,则前进至步骤C,否则前进至步骤E;
C)入口产生一个具有连接标识符代码的到达标记,并且根据选择 可以包括调度信息,入口还向分组的目的地出口发送到达标记并将与该 连接相关的ARRIVSEQ值设置为一个预选值SEQSTART#1;
D)出口接收并存储所述的到达标记,并在该连接的连接表项中设 置ACTIVE比特,将REQSEQ设定为SEQSTART,将LASTSEQ设定 为SEQSTART#1;
E)出口根据一预定方案选择一个已存储的到达标记,把包含至少 是连接标识符的请求回送发送该到达标记的入口,对于所选连接将 REQSEQ值更新为REQSEQ#1,并对于所选连接的REQSEQ的新值 与LASTSEQ的值进行比较,当REQSEQ#LASTSEQ或MANY比特 为“真”时,产生一个对应于正等待下一个分组的到达标记,存储该到 达标记和其它的到达标记,否则将该连接的ACTIVE比特设定为“假”;
F)当接收到请求时,入口使用连接标识符确定分组队列的位置, 并使下一分组出队列,用该连接的ARRIVSEQ值标记该分组,当分组队 列中分组数大于或等于S时,将分组中MANY比特设定为“真”,否则 设定为“假”;和
G)该出口接收请求的分组,将分组中的ARRIVSEQ标记复制成 为连接表中该连接的LASTSEQ值,这时ACTIVE比特为“假”, LASTSEQ#REQSEQ||MANY=真,执行步骤H,否则结束;及
H)出口产生一个对应于下一个正等待的分组的到达标记,将该到 达标记与其它到达标记一起存储起来,发送该连接的ACTIVE比特。
30.一种分组交换设备,用以将从多个入口其中之一接收的多个分 组转接到多个出口其中之一,其特征在于,所述的交换设备包括:
多个入口,每个入口包括:
A)一个入口存储器,用以存储多个连接中的每个连接的分组 队列;
B)一个入口队列管理器,耦连到所述的入口存储器,用以从 输入链路接收分组,将该分组存储在所述的入口存储器中,当该入口具 有通过该入口的每个连接的队列状态信息时,更新与该连接有关的队列 状态信息,并在从出口的调度器接收到连接标识符时,从入口存储器的 相应队列中检索分组,更新该连接的队列状态信息,并向目的地出口发 送该分组以及队列状态信息,借此,该出口确定分组队列中是否还有未 被出口请求的分组;
C)一个到达控制器,与所述的入口队列管理器相耦合,用以 当分组到达一个连接的队列为空时,向分组的目的地出口发送至少包含 一连接标识符的到达标记;和
多个出口,所述的出口与所述的入口相耦合,并且每个出口包括:
D)一个连接表,对于每个连接至少存储ACTIVE指示符、请 求状态信息和队列状态信息;
E)一个调度器,与所述的连接表相耦合,用于接收由入口发 送的到达标记并将连接表中相应的ACTIVE指示符设置为“真”;根据 一个预定方案选择ACTIVE指示符所设置的连接,对于每个所选择的连 接,向发送相应到达标记的入口请求分组,更新请求状态信息,使用以 下情况其中至少一种:队列状态信息和请求状态信息,来确定分组队列 中是否还有未被出口请求的分组,当分组队列为空时,出口将连接表中 ACTIVE指示符设定为“假”;
F)一个出口分组处理器,与所述的连接表相耦合,用于接收 由相关的调度器所请求的分组,存储伴随分组的队列状态信息,在输出 链路上分送分组,当对于所选连接的ACTIVE指示符为“假”时,使用 以下情况其中之一:队列状态信息和请求状态信息,来确定在分组队列 中是否还有未被出口请求的分组,当分组队列中还有未被出口请求的分 组时,将连接表中ACTIVE指示符设置为“真”。
31.一种分组交换设备,用以将从多个入口其中之一接收的多个分 组转接到多个出口其中之一,其特征在于,所述的交换设备包括:
多个入口,每个入口包括:
A)一个入口存储器,用以存储多个连接中的每个连接的分组 队列;
B)一个入口队列管理器,耦连到所述的入口存储器,用以从 输入链路接收分组,将该分组存储在所述的入口存储器,当该入口具有 通过该入口的每个连接的队列状态信息时,更新与该连接有关的队列状 态信息,并在从出口的调度器接收到连接标识符时,从入口存储器的相 应队列中检索分组,更新该连接的队列状态信息,并向目的地出口发送 该分组和队列状态信息,借此,该出口确定分组队列中是否还有未被出 口请求的分组;
C)一个到达控制器,与所述的入口队列管理器相耦合,用于 当分组到达一个连接的队列为空时,向分组的目的地出口发送至少包含 一连接标识符的到达标记;和
多个出口,所述的出口与所述的入口相耦合,并且每个出口包括:
D)一个连接表,对于每个连接至少存储ACTIVE指示符、请 求状态信息和队列状态信息;
E)一个标记存储器,用以存储每个连接的至多一个标记;
F)一个调度器,与所述的连接表和标记存储器相耦连,用于接 收入口发送的到达标记,将到达标记存储在标记存储器中,将所述的连 接表中的相应的ACTIVE指示符设定为“真”,根据一个预定的方案选 择已存储的到达标记,对于每个已存储的到达标记,请求发送该到达标 记的输入端的分组,更新请求状态信息,使用以下情况之一:队列状态 信息和请求状态信息,来确定在出口未请求的分组队列中是否仍有分组, 当分组队列是空的,该出口将ACTIVE指示符在所述的连接表中设定为 “假”;
G)一个出口分组处理器,与所述的连接表和标记存储器相耦连, 用于接收由相关的调度器请求的分组,存储伴随该分组的队列状态信息, 在输出链路上分送分组,当对于所选连接的ACTIVE指示符为“假”时, 使用以下情况其中之一:队列状态信息和请求状态信息,来确定在分组 队列中是否还有未被出口请求的分组,当分组队列中还有未被出口请求 的分组时,产生一个对应于正等待的下一个分组的到达标记,将该到达 标记都存储在标记存储器中,并将连接表中ACTIVE指示符设置为“真”。
32.一种用以将从多个入口接收的多个分组转接到多个出口的方 法,其中包括存储到达所述入口的分组,和将其中所述的分组转接到一 个目的地出口,其特征在于,所述的方法包括以下步骤:
当每个分组到达时,将该分组存储在与该分组到达的那个入口相关 联的一个分组存储器中;
将表明“至少有一个分组已到达”的到达信息发送到所述的目的地 出口;
每个目的地出口请求已存储分组;和
共用的存储器控制器以至高为预定的传送速率的速率发送被请求 的分组,如果发送被请求的分组所需要的传送速率大于所述的预定的传 送速率,则发送不能进行,在发送不能进行时,所述的目的地出口再请 求发送所述的不能发送的分组。
33.根据权利要求32所述的方法,其特征在于,所述的到达信息包 括:一个存储位置标识符,其中所述的目的地出口请求的步骤包括以下 步骤:将一个包括该存储位置标识符的请求信号发送到所述的共用存储 器控制器。
34.根据权利要求32所述的方法,其特征在于,所述的将到达信 息发送到所述的目的地出口的步骤包括以下步骤:
发送一个内含所述到达信息的到达标记。
35.根据权利要求34所述的方法,其特征在于,还包括以下步骤:
所述的目的地出口将所述的到达标记存储在与所述目的地出口相 关联的一个标记存储器中。
36.根据权利要求35所述的方法,其特征在于,所述的请求已存 储分组的步骤包括以下步骤:
根据一个预定的方案从所述的标记存储器中选择一个到达标记;和
将所述的到达标记发送到所述的共用存储器控制器。
37.根据权利要求36所述的方法,其特征在于,所述的预定的方 案包括:
一个先进先出的方案;或
一个基于预定的调度特征的方案。

说明书全文

技术领域:

发明涉及发送数字化编码分组的分组通信网络,具体涉及在分组通 信网络中有效进行分组交换的方法。

背景技术:

分组交换技术是在网络系统中把来自多个用户的数据划分成称作分 组的单元,并在公共传输线路上发送它们。分组交换不同于电路交换,分 组交换使用的带宽可以通过逻辑连接按照需要进行动态分配,而电路交换 中提供的带宽是长期分配的。与电路交换相比,分组交换通过网络资源的 更合理共享可以降低网络用户的成本。分组交换业务具有同时处理各种业 务类型(例如:音频、视频、数据)混合体的能。就延时、不稳定性以 及损耗概率来说,分组交换相对于不同的连接可以提供不同的业务类型。

分组通信网络由“节点”和“链路”构成,其中节点是产生、接收或 传送分组的设备,而链路将两节点连接起来。在分组通信网络中,在源节 点对分组消息进行数字化编码以通过一些链路和节点序列把它们传送到 网络的目的地节点。在一给定的传输路径上,通常有一个或多个中间节点 或“交换节点”,每个交换节点连接多个源与目的链路。

图1中标号100示出了一个连接N个输入链路和N个输出链路的交换 节点,每条链路的速率为R。整个交换节点的最大吞吐量低于或等于 N*R(102),(其中“*”表示乘号)。对于每个到达输入链路的分组,依据 包含在分组预定位置中的信息来选择其输出链路。在本领域中已知有三类 分组交换方案:输出排队交换、输入排队交换和共享存储器交换。

图2中用标号200示出了现有技术中已知的典型的输出排队交换体 系结构中的分组流。在每个分组上用交换节点实施的处理分为两部分:在 入口(ingress port,IP)(202、204、206、…208)中进行的入口处理, 和在出口(egress port,EP)(226、228、230、…232)中进行的出口处理。 分组到达IP,并通过例如能够传送所有到达分组的交换机构(234)(速率 为N*R)被送到选定的EP。图2示出了例如共享媒体交换机构,尽管也可 以使用其它类型交换机构(例如:交叉点,榕树)。地址筛选器(210、212、 214、…216)选择地址为特定EP的分组。将选择出来的分组存储在例如 先进先出(FIFO)缓冲存储器(218、220、222、…224)中,然后发送到出 口(226、228、230、…232)。

在输出排队交换方式中,将所有到达IP的分组以固定的时间传送到 输出FIFO中。然而,请注意,如图3所示,多个分组可能同时去往同一 出口。这样就出现了分组传送的突发性,于是需要FIFO缓冲器。如果有 N个交换节点通过交换机构(334)以速率R向IP(302、304、306、…308) 输入,从多个地址滤波器(310、312、314…316)之一中接收一输出的 FIFO(318、320、322…324)必须被设计成以速率N*R接收分组,而以速 率R从FIFO中读出分组。交换节点数愈多,愈需要使用大的高速存储器 实现这些FIFO。

现有技术中已知这种设计的变型是“Knockout”交换机,由Anthony Acampora等人在US专利No.4,760,570中披露,它允许在EP中接收有 限个分组(k个),其中k<N。如果多于k个分组到达EP,Knockout交换 机就放弃过量的分组。这样,Knockout交换机通过将写入速率从N*R降 至k*R来降低FIFO的成本,但是舍弃可能会引起一些分组丢失。

图4中标号400示出了具有现有技术中典型输入排队体系结构的分 组流的设备的方框图。如输出排队情况一样,具有IP(402、404、406… 408),EP(426、428、430…432),FIFO(410、412、414…416)以及交换 机构(例如具有速率N*R的共享媒体)。然而,在输入排队交换机中,每个 EP每次只能接收一个分组。当多个IP具有发向同一EP的分组时,仲裁 (418、420、422…424)只允许一个分组被传送,其余的将被延时或“封 ”住。使用FIFO存储被延时的分组。这种“线路前端封锁(head-of -line blocking)”行为会使其性能与输出排队交换机相比有较大的降 低。但是,只需要以速率R来读、写数据。

于是,需要能将多个分组从多个入口送到多个出口的分组交换机。

发明内容:

根据本发明的一个方面,这里提供一种用以将从多个入口接收的 多个分组转接到多个出口的方法,其中存储到达所述入口的分组,和 其中所述的分组转接到一个目的地出口,其特征在于,所述的方法包 括以下步骤:当每个分组到达时,将该分组存储在与该分组到达的那 个入口相关联的一个分组存储器中;将表明至少有一个分组已到达的 到达信息发送到所述的目的地出口;每个目的地出口请求已存储分组; 和每个入口以至多为所述入口的预定的传送速率的速率发送被请求的 分组,如果发送被请求的分组所需要的传送速率大于所述的预定的传 送速率,则发送不能进行,在发送不能进行时,所述的目的地出口再 请求发送所述的不能发送的分组。

根据本发明的另一个方面,这里提供一种有效的分组交换机,用 以将从多个入口接收的多个分组转接到多个出口,其中存储到达所述 入口的分组,其特征在于,所述的交换机包括:A)多个到达控制器, 其中每个入口都有一个到达控制器,用以将表明“至少有一个分组已 经到达”的到达信息发送到目的地出口;和B)多个调度器,其中每 个出口都有一个调度器,所述的调度器与所述的多个到达控制器相耦 连,每个目的地出口的调度器根据一个预定的方案请求已存储分组。

根据本发明的再一个方面,这里提供一种分组交换机,用以将从 多个入口之中的一个入口所接收的分组转接到多个出口之中的一个出 口,其特征在于,所述的交换机包括:A)多个入口,与相应的分组 存储器相连接,用以确定用于接收的分组的一个目的地出口,和用以 存储所述的接收分组;B)多个出口,与相应的标记存储器相连接,其 中所述的入口和出口互连,和其中所述的多个出口包括:B1)一个目 的地出口,用于接收分组,并将所述的接收分组存储在与接收入口相 连的分组存储器中;B2)所述的接收入口向所述的目的地出口发送一 个到达标记,该到达标记至少具有存储器地址和识别号以表明分组存 储在哪里;B3)所述的目的地出口接收该到达标记并将该到达标记存 储在与目的地出口相连的标记存储器中;B4)所述的目的地出口根据 一个预定的方案选择已存储的到达标记,并将已选择的、已存储的到 达标记回送到发送该到达标记的那个入口,以请求发送与该到达标记 相关的所接收到的分组;其中所述的入口接收所选择的存储的到达标 记,检索和该到达标记相关的所接收到的分组,向所述的目的地出口 发送与该到达标记相关的所接收到的分组;和所述的目的地出口 接收与该到达标记相关的所接收到的分组,并从该目的地分送所接收 的分组;其中一个入口接收表示从多个出口请求分组的多个标记,该 入口根据一个预定的请求速率发送所请求的分组,并拒绝超过该预定 请求速率的请求,当一个出口的请求被拒绝时,该出口再重复提出该 请求。

根据本发明的又一个方面,这里提供一种分组交换机,用以将从 多个入口其中之一接收的多个分组转接到多个出口其中之一,其特征 在于,所述的交换机包括:多个入口,与相应的分组存储器相连 接,用于确定所接收的分组的目的地出口和用于存储所接收的分组; 多个出口,与相应的标记存储器相连接,其中所述的入口和出口互连, 和其中所述的多个出口包括:一个目的地出口,用于接收分组, 并将所述的接收分组存储在与接收入口相连的分组存储器中;其中所 述的接收入口向所述的目的地出口发送一个到达标记,该到达标记至 少具有存储器地址和识别号以表明分组存储在哪里;B3)所述的目的 地出口接收该到达标记并将该到达标记存储在与目的地出口相连的标 记存储器中;所述的目的地出口根据一个预定的方案选择已存储 的到达标记,并将已选择的、已存储的到达标记回送到发送该到达标 记的那个入口,以请求发送与该到达标记相关的所接收到的分组;其中 所述的入口接收所选择的、已存储的到达标记,检索与该到达标记相 关的所接收到的分组,向目的地出口发送与该到达标记相关的所接收 到的分组;目的地出口接收和该到达标记相关的所接收到的分 组,并从该目的地分送所接收的分组;其中所述的分组交换面借助集 中地产生的CELLCLK信号同步成单元周期,所述的CELLCLK信号 是由连接于所有入口和出口的单元时钟线路提供的,单元周期是每个 入口仅有一个分组到达的一段时间,每个入口在每个单元周期仅产生 一个到达标记,每个出口在每个单元周期仅产生一个请求,并且每个 出口在每个单元周期在输出链路上发送最大的一个分组。

根据本发明的又一个方面,这里提供一种用以将从多个入口接收 的多个分组转接到多个出口的方法,其中对于每个通过一个出口的链 接,都有一个相应的ACTIVE指示符被初始化为“假”,并且到达入 口的分组被存储在分组队列中,每个一分组队列对应于一个单独的连 接,其特征在于,该方法包括以下步骤:A)对于每个到达入口的分 组,入口都确定分组是否到达一个空队列,如果分组到达的是空队列, 入口就产生一个具有连接标识符代码的到达标记,入口向该分组的目 的地出口发送该到达标记,并前进至步骤B,否则前进至步骤C;B) 出口接收到达标记并通过在与该出口相耦合的连接表中将ACTIVE指 示符设置为“真”来记录到达标记的到达,连接表对于每个通过出口 的连接都有一个ACTIVE指示符;C)出口根据预定方案在连接表中 ACTIVE指示符为“真”的连接中选择一个连接,对于所选连接将 ACTIVE指示符设置成“假”,并将至少包含一个连接标识符的请求 回送给发送所述到达标记的入口;D)当接收到请求时,入口使用连 接标识符确定分组队列的位置并使下一个分组出队列,用MORE指示 符标记该分组,并向发出请求的出口发送该分组,如果队列中还有分 组MORE指示符为“真”,否则为“假”;和E)出口接收所请求的 分组,当分组中MORE指示符为“真”,该出口将连接表中ACTIVE 指示符设置为“真”。

根据本发明的还有一个方面,这里提供一种用以将从多个入口接 收的多个分组转接到多个出口的方法,其中对于每个通过一个入口的 连接,都有相关联的队列状态信息,该队列状态信息被初始化为第一 预定的起始值,并被耦联到出口,对于每个通过一个出口的链接,都 有一个带有一个表项的连接表,其内含有至少一个ACTIVE指示符, 它被初始化为“假”,请求状态信息被初始化为第二预定起始值,和 队列状态信息被初始化为第一预定起始值,其中到达入口的分组被存 储在分组队列中,每个一分组队列对应于一个单独的连接,其特征在 于,该方法包括以下步骤:A)所述的入口对于每个到达入口的分组 都要更新用于有关连接的队列状态信息,该入口确定分组是否到达一 个空队列,如果是“是”,该入口就产生一个具有连接标识符代码的 到达标记,入口向该分组的目的地出口发送该到达标记,并前进至步 骤B,否则前进至步骤C;B)出口接收到达标记并通过将ACTIVE 指示符设置为“真”来记录到达标记的到达;C)出口根据预定方案 在连接表中ACTIVE指示符为“真”的连接中选择一个连接,并将其 内含有至少一个连接标识符的请求回送给发送所述到达标记的入口, 更新该连接的请求状态信息,应用以下情况之中至少一种:队列状态 信息和请求状态信息,来确定分组对列中是否还有未被出口请求的分 组,当该分组队列是空的,由该出口将连接表中的ACTIVE指示符设 定为“假”;D)当接收到请求时,入口使用连接标识符确定分组队 列的位置并使下一个分组出队列,更新该连接的队列状态信息,用队 列状态信息指示符标记该分组,由该出口确定该分组是否仍在该出口 未请求的分组队列中,并将该分组发送到正请求的出口;和E)出口 接收所请求的分组,将队列状态信息与伴随的分组一起存储在连接表 中,所选择的连接的ACTIVE指示符为“假”,利用以下情况至少其 中之一:队列状态信息和请求状态信息,来确定分组队列中是否仍有 该出口未请求的分组,当分组队列内仍有该出口未请求的分组时,该 出口将连接表中ACTIVE指示符设置为“真”。

根据本发明的还有一个方面,这里提供一种用以将从多个入口接 收的多个分组转接到多个出口的方法,其中对于每个通过入口的连接, 都有一个相关的模数顺序计数值ARRIVSEQ,所述的ARRIVSEQ的模 数是S,“#”表示模S加法,“||”表示布尔或运算符;对于每个通 过出口的连接,在与出口相耦合的连接表中都有一表项,包含至少一 个ACTIVE比特、一个MANY比特、一个REQSEQ值和一个 LASTSEQ值,对于每个连接的ACTIVE比特都被初始化成为“假”, 其特征在于,该方法包括以下步骤:A)入口将所接收到的分组存储 在存储器的分组队列里,其中每个队列对应于一个单独的连接,并将 与该连接相关的ARRIVSEQ值更新为ARRIVSEQ#1;B)对于每个 到达入口的分组,入口都确定分组是否到达一个空队列,如果分组到 达的是一个空队列,则前进至步骤C,否则前进至步骤E;C)入口产 生一个具有连接标识符代码的到达标记,并且根据选择可以包括调度 信息,入口还向分组的目的地出口发送到达标记并将与该连接相关的 ARRIVSEQ值设置为一个预选值SEQSTART#1;D)出口接收所述 的到达标记,并通过在该连接的连接表项中设置ACTIVE比特来将 REQSEQ设置为SEQSTART,将LASTSEQ设定为SEQSTART#1 来记录到达标记的到达;E)出口根据一预定方案从连接表中ACTIVE 比特被设定的连接中选择一个连接,把至少包含连接标识符的请求送 回到发送该到达标记的入口,对于所选连接将REQSEQ值更新为 REQSEQ#1,并对于所选择的连接的REQSEQ的新值与LASTSEQ 的值进行比较,当它们相等且该连接的MANY比特为“假”时,将该 连接的ACTIVE比特设置为“假”;F)当接收到请求时,入口使用 连接标识符确定分组队列,并使下一分组出队列,用该连接的 ARRIVSEQ值标记该分组,当分组队列中分组数大于或等于S时,将 分组中MANY比特设定为“真”,否则为“假”;和G)出口接收请 求的分组,将分组中的ARRIVSEQ标记复制为连接表中该连接的 LASTSEQ值,将分组中的MANY比特复制为连接表中该连接的 MANY比特,当LASTSEQ≠REQSEQ||MANY=假时,设定该连接 ACTIVE比特为“真”。

根据本发明的还有一个方面,这里提供一种用以将从多个入口接 收的多个分组转接到多个出口的方法,其中对于每个通过一个出口的 链接,都有一个相应的ACTIVE指示符被初始化为“假”,并且到达 入口的分组被存储在分组队列中,每个一分组队列对应于一个单独的 连接,其特征在于,该方法包括以下步骤:A)对于每个到达入口的 分组,入口都确定分组是否到达一个空队列,如果分组到达的是空队 列,入口就产生一个具有连接标识符代码的到达标记,入口向该分组 的目的地出口发送该到达标记,并前进至步骤B,否则前进至步骤C; B)出口接收到达标记并通过在与该出口相耦合的连接表中将ACTIVE 指示符设置为“真”来记录到达标记的到达,连接表对于每个通过出 口的连接都有一个ACTIVE指示符;C)出口根据预定方案在连接表 中ACTIVE指示符为“真”的连接中选择一个连接,对于所选连接将 ACTIVE指示符设置成“假”,并将至少包含一个连接标识符的请求 回送给发送所述到达标记的入口;D)当接收到请求时,入口使用连 接标识符确定分组队列的位置并使下一个分组出队列,用MORE指示 符标记该分组,并向发出请求的出口发送该分组,如果队更中还有分 组MORE指示符为“真”,否则为“假”;和E)出口接收所请求的 分组,当分组中MORE指示符为“真”,该出口将连接表中ACTIVE 指示符设置为“真”。

根据本发明的还有一个方面,这里提供一种用以将从多个入口接 收的多个分组转接到多个出口的方法,其特征在于,所述的方法包括 以下步骤:A)入口将接收的分组存储在一个存储器的分组队列,其 中每个队列对应一个单独的连接;B)对于到达该入口的每个分组,该 入口确定该分组是否到达一个空队列,如果是“是”,则执行步骤C, 否则执行步骤E;C)该入口产生具有连接标识符的到达标记,选择包 括调度信息,由该入口将到达标记发送到该分组的目的地出口;D) 该出口接收和存储到达标记;E)由该入口根据一个预定的方案选择 已存储的到达标记,并将该到达标记回送到发送该到达标记的入口;F) 该入口一收到请求就利用该连接标识符确定该分组队列的位置,请求 下一个分组,如果队列中有其余的分组,则用为“真”的MORE比特 标记该分组,否则,用为“假”的MORE比特标记该分组,然后将该 分组发送到正请求的出口;G)由该入口接收请求的分组,这时分组 中的MORE比特为“真”,产生一个对应于正等待的下一个分组的到 达标记。

根据本发明的又一方面,这里提供一种用以将从多个入口接收的 多个分组转接到多个出口的方法,其中对于每个通过入口的连接,都 有一个相关的模数顺序计数值ARRIVSEQ,该ARIVSEQ的模数是S, “#”表示模S加法,“||”表示布尔或运算符;对于每个通过出口 的连接,在与出口相耦合的连接表中都有一个表项,包含至少一个 ACTIVE比特、一个MANY比特、一个REQSEQ值和一个LASTSEQ 值,对于每个连接的ACTIVE比特都被设定为“假”,其特征在于, 该方法包括以下步骤:A)入口将所接收到的分组存储在存储器的分 组队列里,其中每个队列对应于一个单独的连接,并将与该连接相关 的ARRIVSEQ值列新为ARRIVSEQ#1;B)对于每个到达入口的分 组,入口都确定分组是否到达一个空队列,如果分组到达的是一个空 队列,则前进至步骤C,否则前进至步骤E;C)入口产生一个具有连 接标识符代码的到达标记,并且根据选择可以包括调度信息,入口还 向分组的目的地出口发送到达标记并将与该连接相关的ARRIVSEQ 值设置为一个预选值SEQSTART#1;D)出口接收并存储所述的到 达标记,并在该连接的连接表项中设置ACTIVE比特,将REQSEQ 设定为SEQSTART,将LASTSEQ设定为SEQSTART#1;E)出口 根据一预定方案选择一个已存储的到达标记,把包含至少是连接标识 符的请求回送发送该到达标记的入口,对于所选连接将REQSEQ值列 新为REQSEQ#1,并对于所选连接的REQSEQ的新值与LASTSEQ 的值进行比较,当REQSEQ#LASTSEQ或MANY比特为“真”时, 产生一个对应于正等待下一个分组的到达标记,存储该到达标记和其 它的到达标记,否则将该连接的ACTIVE比特设定为“假”;F)当 接收到请求时,入口使用连接标识符确定分组队列的位置,并使下一 分组出队列,用该连接的ARRIVSEQ值标记该分组,当分组队列中 分组数大于或等于S时,将分组中MANY比特设定为“真”,否则设 定为“假”;和G)该出口接收请求的分组,将分组中的ARRIVSEQ 标记复制成为连接表中该连接的LASTSEQ值,这时ACTIVE比特为 “假”LASTSEQ#REQSEQ||MANY=真,执行步骤H,否则结束; 及H)出口产生一个对应于下一个正等待的分组的到达标记,将该到 达标记与其它到达标记一起存储起来,发送该连接的ACTIVE比特。

根据本发明的又一方面,这里提供一种分组交换设备,用以将从 多个入口其中之一接收的多个分组转接到多个出口其中之一,其特征 在于,所述的交换设备包括:多个入口,每个入口包括:A)一个入 口存储器,用以存储多个连接的中的每个连接的分组队列;B)一个入 口队列管理器,耦连到所述的入口存储器,用以从输入链路接收分组, 将该分组存储在所述的入口存储器中,当该入口具有通过该入口的每 个连接的队列状态信息时,更新与该连接有关的队列状态信息,并在 从出口的调度器接收到连接标识符时,从入口存储器的相应队列中检 索分组,更新该连接的队列状态信息,并向目的地出口发送该分组以 及队列状态信息,借此,该出口确定分组队列中是否还有未被出口请 求的分组;C)一个到达控制器,与所述的入口队列管理器相耦合, 用以当分组到达一个连接的队列为空时,向分组的目的地出口发送至 少包含一连接标识符的到达标记;和多个出口,所述的出口与所述的 入口相耦合,并且每个出口包括:D)一个连接表,对于每个连接至 少存储ACTIVE指示符、请求状态信息和队列状态信息;E)一个调 度器,与所述的连接表相耦合,用于接收由入口发送的到达标记并将 连接表中相应的ACTIVE指示符设置为“真”;根据一个预定方案选 择ACTIVE指示符所设置的连接,对于每个所选择的连接,向发送相 应到达标记的入口请求分组,更新请求状态信息,使用以下情况其中 至少一种:队列状态信息和请求状态信息,来确定分组队列中是否还 有未被出口请求的分组,当分组队列为空时,出口将连接表中ACTIVE 指示符设定为“假”;F)一个出口分组处理器,与所述的连接表相耦 合,用于接收由相关的调度器所请求的分组,存储伴随分组的队列状 态信息,在输出链路上分送分组,当对于所选连接的ACTIVE指示符 为“假”时,使用以下情况其中之一:队列状态信息和请求状态信息, 来确定在分组队列中是否还有未被出口请求的分组,当分组队列中还 有未被出口请求的分组时,将连接表中ACTIVE指示符设置为“真”。

根据本发明的又一方面,这里提供一种分组交换设备,用以将从 多个入口其中之一接收的多个分组转接到多个出口其中之一,其特征 在于,所述的交换设备包括:多个入口,每个入口包括:A)一个入 口存储器,用以存储多个连接的中的每个连接的分组队列;B)一个入 口队列管理器,耦连到所述的入口存储器,用以从输入链路接收分组, 将该分组存储在所述的入口存储器,当该入口具有通过该入口的每个 连接的队列状态信息时,更新与该连接有关的队列状态信息,并在从 出口的调度器接收到连接标识符时,从入口存储器的相应队列中检索 分组,更新该连接的队列状态信息,并向目的地出口发送该分组和队 列状态信息,借此,该出口确定分组队列中是否还有未被出口请求的 分组;C)一个到达控制器,与所述的入口队列管理器相耦合,用于 当分组到达一个连接的队列为空时,向分组的目的地出口发送至少包 含一连接标识符的到达标记;和多个出口,所述的出口与所述的入口 相耦合,并且每个出口包括:D)一个连接表,对于每个连接至少存 储ACTIVE指示符、请求状态信息和队列状态信息;E)一个标记存储 器,用以存储每个连接的至多一个标记;F)一个调度器,与所述的连 接表和标记存储器相耦连,用于接收入口发送的到达标记,将到达标 记存储在标记存储器中,将所述的连接表中的相应的ACTIVE指示符 设定为“真”,根据一个预定的方案选择已存储的到达标记,对于每 个已存储的到达标记,请求发送该到达标记的输入端的分组,更新请 求状态信息,使用以下情况之一:队列状态信息和请求状态信息,来 确定在出口未请求的分组队列中是否仍有分组,当分组队列是空的, 该出口将ACTIVE指示符在所述的连接表中设定为“假”;G)一个 出口分组处理器,与所述的连接表和标记存储器相耦连,用于接收由 相关的调度器请求的分组,存储伴随该分组的队列状态信息,在输出 链路上分送分组,当对于所选连接的ACTIVE指示符为“假”时,使 用以下情况其中之一:队列状态信息和请求状态信息,来确定在分组 队列中是否还有未被出口请求的分组,当分组队列中还有未被出口请 求的分组时,产生一个对应于正等待的下一个分组的到达标记,将该 到达标记都存储在标记存储器中,并将连接表中ACTIVE指示符设置 为“真”。

根据本发明的又一方面,这里提供一种用以将从多个入口接收的 多个分组转接到多个出口的方法,其中存储到达所述入口的分组,和 其中所述的分组转接到一个目的地出口,其特征在于,所述的方法包 括以下步骤:当每个分组到达时,将该分组存储在与该分组到达的那 个入口相关联的一个分组存储器中;将表明“至少有一个分组已到达” 的到达信息发送到所述的目的地出口;每个目的地出口请求已存储分 组;和共用的存储器控制器以至高为预定的传送速率的速率发送被请 求的分组,如果发送被请求的分组所需要的传送速率大于所述的预定 的传送速率,则发送不能进行,在发送不能进行时,所述的目的地出 口再请求发送所述的不能发送的分组。

附图说明:

图1示出了连接N个输入链路和N个输出链路的交换机的抽象表示, 其中每条链路的速率为R;

图2为具有现有技术中典型输出排队交换体系结构的分组流的一个 设备的方框图;

图3示出了一设备的方框图,其中在图2所示的交换机结构中有多 个分组去往同一EP;

图4示出了现有技术中输出排队交换体系结构的方框图;

图5为一个具有根据本发明的分组交换体系结构的分组流的设备的 实施例的方框图,其中分组存储在入口的分组存储器中;

图6为一个具有根据本发明的有效分组交换结构的设备的方框图;

图7为根据本发明的一个设备的实施例的方框图,其中详细地示出 了用从入口向出口传送分组的操作的结构;

图8为一方框图,示出了根据本发明的一个实施例沿到达路径、请求 路径和分组路径的控制流和分组流;

图9示出了使用预定同步仲裁方案实施根据本发明的具有N个IP和 N个EP的交换机的方框图,其中IP和EP具有0至N-1的ID标识号;

图10为一流程图,示出了根据本发明由入/出口使用的预定仲裁方案 的步骤的一个实施例;

图11为一流程图,示出了根据本发明的用于预定仲裁方案的步骤的 一个实施例;

图12为一流程图,示出了根据本发明的一个方法的步骤的一个实施 例;

图13为一方框图,示出了具有现有技术中典型的共享存储器交换结 构中的分组流的设备;

图14示出了根据本发明一设备的实施例,其中将分组存储在中央共 享存储器中;

图15为一流程图,示出了根据本发明一方法的实施例,其中用小的 连接表代替标记存储器;

图16为一流程图,示出了根据本发明的一方法的另一实施例,其中 可以实现较高速率的操作;

图17为一流程图,示出了在根据本发明的方法中采用的步骤的实施 例,其中通过对每个连接至多存储一个标记在EP记录到达信息;

图18是一流程图,示出了在根据本发明的方法中采用的步骤的一个 实施例,其中实现了高速流线操作;

图19是一方框图,示出了根据本发明的交换设备的一个实施例;

图20是一方框图,示出了一个根据本发明可以有效地将从多个入口 接收到的多个分组交换到多个出口的设备的实施例;

图21是一方框图,示出在根据本发明的一个实施例中沿到达路径、 请求路径和分组路径的控制流和分组流,其中分组沿预先安排的路由行 进。

具体实施方式:

本发明借助一种全新的输出请求机制来进行分组交换。按照本发明的 分组交换性能相当于输出排队交换的性能,但降低了存储器吞吐量需求, 于是也降低了成本。

图5中用标号500示出了一个具有根据本发明的分组流的分组交换 体系结构的设备的实施例。分组到达N个入口(IP)(502、504、506…508), 然后被存放在缓冲存储器(510、512、514…516),之后从缓冲存储器转 发到交换机构(例如,共享总线),最后被传递到N个出口(EP)(518、520、 522…524)。每个入/出口都包括一个带有相关存储器的入口处理器/出口 处理器,其中采用三条路径用于分组交换。显然可以采用多种路径实施方 式,例如,时间共享总线和/或专用连接。

在图5所示的结构中,EP使用将要描述的控制路径向IP请求分组。 IP通过使所请求的分组从相关缓冲存储器中读出来应答请求。如果在每 条输入链路上分组到达的速率为R,则从每个缓冲存储器读出分组的速率 限制为k*R(其中k为小于或等于N的预先选择的整数)。如果以高于k*R 的速率向一给定缓冲存储器请求分组,则过量的请求将被拒绝。遭受拒绝 的请求被重复,直至被接受。

对于k>1,该输出请求结构所提供的吞吐量要高于输入排队交换。当 相对于N来说k较小(例如:k=4,N=16)时,该交换的吞吐量可达到输出 排队交换的吞吐量,并且队列的平均长度较小。于是,类似于Knockout 交换,该结构通过将传送速率降至k*R(而不是N*R),而提高了性能并降 低了缓冲存储器的成本。与Knockout交换不同,没有丢失分组。

本发明区别于输出排队结构的另一个特点是交换机构的总的分组速 率不必为N*R。如图5所示,交换机构的总的分组速率为C*N*R,其中C 为0至1之间的一个预选值。通过选择C,使C*N*R足以支持整个交换机 平均吞吐量需求。

图6(标号600)是一个具有根据本发明的有效分组交换结构的设备 的方框图。每个端口具有入口(IP0…IPN-1)(602…604)和出口(EP0… EPN-1)(610…612);多个IP(602…604)中的每一个IP都与一个用于存储 接收到的分组的相关分组存储器(606…608)相连,多个EP(610…612)中 的每一个EP都与一个相应的用于存储关于IP中正在等待传递到连接的 EP的分组的信息的标记存储器(614…616)相连。N是一个预选的表明交 换机中端口数的整数。入口和出口互连(618)。输入分组通过IP到达,输 出分组通过EP离开。

图7(标号700)示出了根据本发明的一个设备的实施例,其中详细地 示出了用于将分组从入口传送到出口的操作的结构。所示步骤包括:A)接 收IP(702…704)根据第一预定方案确定接收到的分组的目的地EP,并将 接收到的分组存储在与接收IP相连的分组存储器(706…708)中;B)接 收IP向目的地EP发送一到达标记,该标记至少具有存储器地址和IP号 表明分组存储在哪里;C)目的地EP接收到达标记并将到达标记存储在与 之相连的标记存储器(714…716)中;D)目的地EP根据第二预定方案选 择存储的到达标记,并将所选择的到达标记返回给发送该到达标记的IP, 以请求传送与该到达标记相关的所接收到的分组;E)IP接收所选择的已 存储的到达标记,检索与到达标记相关的所接收到的分组,将与到达标记 相关的所接收到的分组发送到目的地EP;和F)目的地EP接收到与到达 标记相关的所接收到的分组,并将所接收到的分组从目的地EP送出。

在图7和图8(标号700和800)所示的典型实现中,IP和EP通过到 达路径(718、818)、请求路径(720、820)以及分组路径(722、822)互连。 在所示例子中,分组到达IP1,并被存储在入口分组存储器(804)中(A)。 在到达路径(818)上发送到达标记(B)并把到达标记存储在EP2(806)的标 记存储器(808)中(C)。从标记存储器(808)中检索到达标记(D),并使用请 求路径(820)将检索的到达标记送回IP1(802)(E)。然后,IP1(802)在分 组路径(822)上向目的地EP发送所请求的分组(F)。很明显,可以使用多 种路径实现,例如,时间共享总线和/或专用连接。

根据选择,到达标记可以包括有关在目的地EP对分组进行调度的信 息。例如,在所选择的实现中,EP可以将表示等待分组的标记组织起来, 形成代表不同连接、优先级、或业务质量的队列。

在上述将分组从入口传送到出口的操作步骤(E)中,IP可以接收多个 到达标志,它们表示来自多个EP的分组请求,在一实现中,IP可以根据 预定的请求速率来满足请求,并拒绝超出预定请求速率的请求。如果EP 的请求被拒绝,EP通常在预定时间之后重复该请求。

在一实现中,分组路径的信息速率低于所有出口的最大速率之和,但 高于所有出口的平均速率之和,在请求路径上EP所允许的分组请求速率 可限制在一预定水平,它不超出分组路径的信息速率。例如,图5示出了 所有出口的最大速率之和为N*R,但分组路径速率只为C*N*R的交换机。 在一个应用中,对于平均链路业务速率基本上小于最大速率的交换机来 说,指定分组路径具有这样降低的速率,是一种节约方式。以下给出限制 来自EP的请求速率以避免按高于分组路径所允许的速率请求分组的机制 的一种实施方式。

本发明的有效分组交换可借助由时钟发生器(918)集中产生的时钟 (CELLCLK)信号同步成单元周期(cell cycle),单元周期是指这样一个 时间段,在此期间多个IP(902…904)中每一个IP都不会有超过一个分组 到达,在每个单元周期里,每个IP只产生一个到达标记,而且多个 EP(906…908)中的每EP都只产生一个请求。进一步说,在每个单元周期, 每个EP在输出链路上发送一个分组的最大值。每个EP具有一个START 值寄存器(910…914)和一个SOURCE计数器(912…916)。于是,图9(标 号900)示出了根据本发明利用预定同步仲裁方案的具有N个IP 和N个EP(ID标号为0至N-1)的交换机的一种实现。在有效分组交换 同步成单元周期时,交换机可以利用预定的仲裁方案,它在每个单元周期 里把每个IP接受的请求数限制为与该IP有关的一个预先选择的整数K, 而把所有IP接受的请求总数限制为预先选择的整数M,其中M≤C*N。 预定极限K对于不同的IP可以不相同。在下述实施方案中,仲裁方案是 “分布式”的,含义是由所有IP和EP并行完成它,而不是由集中仲裁 控制单元来执行。

预定的同步仲裁方案利用两个定时信号

A)单元周期定时信号CELLCLK,和

B)仲裁周期定时信号CLK,其中对于每个CELLCLK周期,有至 少N+1个CLK周期,其中N是交换机中出口的数目;

还利用三个控制信号

A)从EP到IP的REQUEST信号,其中REQUEST信号包括一个 VALID位和一个入口标识号,当EP正在请求一分组时VALID为“真” 而入口标识号表示正向其请求分组的IP;

B)从IP到EP的ACKNOWLEDGE位,和

C)“线或”同步(SYNC)位,用于同步EP。如果有任何EP确认它, 则该“线或”SYNC位为“真”,否则为“假”。

在典型的实现中,在请求总线上发送REQUEST信号,在将所有IP 和EP相连的确认线路上发送ACKNOWLEDGE位,而在连接所有EP 的“线或”SYNC线路上发送SYNC位。

在图10(标号1000)的流程图中示出的仲裁方法通常包括步骤:

1.在每个单元周期开始时,所有EP都包含有相同的“START”值。 初始时所有EP将它们的START值设置为零(1002)。按如下方式获得后 续的START值。START值指明EP开始仲裁。从ID号等于START值 的出口开始,EP依次在请求路径上发出REQUEST,对于N个时钟周 期,每个时钟周期一个REQUEST(1004)。REQUEST包括:a)VALID 位,当EP在当前单元周期上有REQUEST时为“真”,否则为“假”; 和b)当VALID为“真”时,包含所请求单元的IP的号。

2.每个REQUEST之后的预定数目的时钟周期(通常为1-2个时钟 周期),所寻址到的IP驱动ACKNOWLEDGE位表示“Accept”或 “Reject”(1006)。如果IP在当前单元周期里已经接收了K个 REQUEST(K是一预定的整数值),或任何IP已在确认通路上接受了M 个REQUEST(M为小于N的预选值,N是入口数),则 ACKNOWLEDGE为“Reject”。否则,ACKNOWLEDGE位为 “Accept”。发出REQUEST的EP接收ACKNOWLEDGE位。

3.所有EP跟踪当前发出REQUEST的EP号,每一时钟周期对该 “请求EP”的值进行增量(模为N)。在每个单元周期第一次REQUEST 遭到拒绝时,所有EP用被拒绝的EP号装载START值。如果没有 REQUEST被拒绝,START值不变(1008)。

4.(任选)为了检测错误和使新的EP同步,还有一个“线或”SYNC 信号。当SOURCE计算器值为零时该SYNC信号由所有的EP断言 (1010)。于是,所有的EP同步,在每个单元周期里只在一个时钟周期上 断言SYNC信号。当在一个以上周期里断言SYNC信号,就存在一个同 步错误。当EP检测到在一单元周期里在多于一个时钟周期上断言SYNC 信号,就将EP的START值设置成零,并且在单元周期的其它时钟周期 里该EP断言SYNC信号。

在仲裁处理结束时,每个EP已确定是否EP的REQUEST将被满 足,以及在下一个单元周期里哪一个EP将开始仲裁处理。由于在 REQUEST信号后ACKNOWLEDGE位至少滞后一个时钟周期,所以整 个仲裁处理至少需要N+1个周期。

交换机通常包括具有唯一标识号ID的N个入口和N个出口,以及从 出口到入口的请求路径和从入口到出口的确认线路。预定的仲裁方案包括 步骤:A)具有当前REQUEST的多个出口的每一个在请求路径上发出 REQUEST,其中REQUEST包括一个值为“真”或“假”的VALID 位以及指明入口ID的QPORT号,其中多个出口的REQUEST以预定顺 序每次发出一个;和B)在每个VALID位为真的REQUEST之后,通过 具有和REQUEST中QPORT匹配的ID的入口以ACKNOWLEDGE位 应答,或者为Accept或者为Reject这至少取决于该入口已经接受了K个 REQUEST和在当前单元周期是否已经接收了M个REQUEST(K和M 是预定的整数)

N个出口通常具有从0到N-1的唯一的仲裁序列号,并且在步骤A 按仲裁序列号的循环顺序发出REQUEST信号,根据来自出口的 REQUEST是否被拒绝,在当前单元周期中发出被拒绝的REQUEST的 第一出口被用作下一单元周期的新的起始点。

通常,所有出口都包含START寄存器和SOURCE计数器,并且预 定的仲裁方案包括步骤:A)每个出口都维持一个SOURCE计数器,指 明当前发出REQUEST的出口的仲裁序列号,并且每次当出口的 SOURCE计数器等于一预定值时断言一SYNC信号,和B)每个出口监 视SYNC信号,当在一单元周期中在一个以上时钟周期里断言了SYNC 信号,出口复位START值到一预选值,其中该预选值对于所有出口都相 同。

在图11(标号1100)中,示出了具有N个入口(IP)、N个出口(EP)(标 号为0至N-1)和单元周期定时信号CELLCLK以及定时信号CLK的 交换机。通常每个CELLCLK周期至少具有N+1个CLK周期,将 CELLCLK信号和CLK信号提供给所述交换机的所有入口和所有出口, 并且所有出口都包含一个CLOCK计数器。在该配置中,预定仲裁方案 包括步骤:A)将所有出口的START值初始化成零(1102)并且在下一 CELLCLK周期的开始前进到步骤B;B)在每个出口(EP)将CLOCK 计数器初始化成零(1104)并且在每个EP将START值复制到SOURCE计 数器并前进到步骤H(1116);C)当最后一个REQUEST中的VALID位 为真时(1106)前进到步骤D(1108),否则前进到步骤F(1112);D)当一入 口号与最后一个REQUEST中的QPORT号匹配时,该入口在确认通路 上以ACKNOWLEDGE位应答,如果从当前单元周期开始该IP已经接 受了K个REQUEST或M个REQUEST已由任何入口接受(其中每个IP 所接受的REQUEST数受限于与该IP相关的一个预定整数,并且由多个 IP接受的REQUEST总数受限于一预定整数M),则ACKNOWLEDGE 位为Reject,否则为Accept;E)发出最后一个REQUEST的EP俘获 ACKNOWLEDGE位作为仲裁的最终结果(1110);F)所有EP通过俘获 ACKNOWLEDGE位同步START值(1112),并且当ACKNOWLEDGE 在当前单元周期为第一个Reject时,把START值设置成当前SOURCE 计数器值;G)当CLOCK计数器值低于N时(1114)继续到步骤 H(1116),否则继续到步骤J(1120);H)IP号与当前SOURCE计数器值 匹配的IP发送包括VALID位和QPORT号的REQUEST信号(1116), 当EP正在请求一分组时VALID位为真,而QPORT号指明向其请求分 组的IP;I)对所有EP中的CLOCK计数器值和SOURCE计数器值增 量(1118),当新的SOURCE计数器值等于N时,将其复位为零以提供模 数为N的计数器,并在下一个CLK周期开始时返回步骤C(1106);和J) 在下一个CELLCLK周期开始时(1120),EP返回到步骤B(1104)。

根据选择,仲裁方案可以包括对错误进行恢复的机制,下列步骤加在 步骤I,在下一CLK周期开始时返回步骤C之前,当EP的SOURCE 计数器值等于零时EP断言一个“线或”SYNC信号并且EP在每个时钟 周期监视SYNC信号,当在当前单元周期的一个以上时钟周期里SYNC 信号被断言,则将START值设置成零,并且任选地在当前单元周期的其 它时钟周期里断言SYNC信号。

于是,如图12(标号1200)所示,有效地将多个分组从多个入口交换 到多个出口的交换方法包括步骤:A)将分组存储在存储器中(1202)中; B)对于每个分组向该分组的目的地出口发送到达信息(1204);C)在每 个目的地出口的控制器存储器中存储到达信息(1206);D)每个目的地出 口的控制器根据预定方案向分组存储器请求分组(1208);和E)分组存储 器向目的地出口发送所请求的分组(1210)。

通常,入口以至多为预定传输速率的速率发送被请求的分组,并且在 需要的传输速率大于预定的传输速率时对被请求的分组的发送失败,并且 在分组发送失败时,目的地出口再次请求被发送失败的分组。

在图12(标号1200)所示的方法的优选实施例中,多个入口和多个出 口通过速率受限交换机构相连,该机构所具有的速率低于所有出口的最大 速率之和,但大于所有出口的平均速率之和。

图13(标号1300)是具有现有技术中典型的存储器共享体系结构中分 组流的一个设备的方框图。在存储器共享交换机中,所有到达IP的分组 被传送到中央分组存储器中(1302),并且所要传递到EP的分组都来自于 中央分组存储器。所达到的性能类似于输出排队交换机,但是为了支持速 率R的N个输入链路和N个输出链路,必须将分组存储器设计成以非常 高的速率,具体说为2*N*R访问分组。

图14(标号1400)示出了根据本发明的一个设备的实施例,其中分组 存储在中央共享存储器中。在本发明的存储器共享交换机中,所有到达 IP(1402…1404)的分组被传送到中央分组存储器(1406),并且传递到 EP(1408…1410)的所有分组都来自于中央分组存储器(1406)。多个 EP(1408…1410)中的每个EP与相应的按上述方式使用的标记存储器 (1412…1414)相连。再有,N是指明交换机中端口数的预选整数。必须 将分组存储器设计成以速率(1+C)*N*R访问分组,其中:0<C≤1, 且选择的C应足够大能支持整个交换机的平均吞吐量需求。

在面向连接的网络中,即分组沿预先安排的路由流动的网络中,可以 使用小的对于每个连接都包含一项的连接表来代替对于每个连接都包含 许多标记的标记存储器来实现输出请求分组交换。图15(标号1500)示出 了根据本发明实施输出请求分组交换的一个方法的实施例,对于每个有效 连接都至少存储一个标记。该方法包括步骤:首先,EP将所有连接的 ACTIVE位初始化成假(1502),通过入口接收的到达IP的分组被存储在 存储器的队列中(1504),其中每个队列相应于一个单独的连接;然后,对 于每个到达IP的分组,IP判断是否分组已到达空队列(1506),并且当分 组到达的是空队列,IP产生一个具有连接标识符代码的到达标记 (1508),并且根据选择可以包括调度信息。当产生了到达标记,IP对于 每个分组都将该到达标记送到目的地EP。EP接收到达标记(1510),并 通过设置耦合于EP的连接表中的ACTIVE位来记录该次到达,连接表 对于每个通过EP的连接都有一ACTIVE位。EP从连接表中设置了 ACTIVE位的连接中根据预定的方案选择一连接,清除该选定连接的 ACTIVE位,并将包含至少一个连接标识符的请求送回发送该到达标记 的IP(1512)。当接收到该请求时,IP使用连接标识符确定分组队列,并 使下一分组出队列,用MORE位(如果队列中还有分组MORE位为真, 否则为假)标记该分组,并将其发送到请求EP(1514)。然后,EP接收请 求的分组,并从相关的出口将其发送出去(1516)。当分组中的MORE位 为真时(1518),EP还为该连接设置ACTIVE位(1520)。

如图15所示的操作例子,假设对于连接“C”将入口队列初始化成 空,然后两个分组在快速接续中到达并被放置到该队列中。由于第一个分 组到达一空队列,所以将一到达标记对于该连接发送到EP,使EP对于 该连接将ACTIVE位设置成真。EP使用预定方案周期性地选择 ACTIVE位为真的连接。当EP选择连接C,则对于该连接C将一请求 发送到IP。然后,IP使两个分组中的第一个出队列,并将其送回到EP。 把和分组一起发送的MORE位设置成真,由于在队列中还有其它分组。

以不同的方式处理第二个分组。由于第二个分组到达的不是空队列, 所以没有向EP发送到达标记。然而,对于连接C该ACTIVE位保持为 真,所以EP最终再次选择连接C。EP然后向IP请求连接C的下一个 分组。由于队列中没有分组了,所以IP返回第二分组以及MORE=“假”。 MORE位为假使EP将ACTIVE位设置为假,所以EP不再请求分组。

为了获得更高的吞吐量,可将处理过程按流水线方式执行。流水线指 的是将顺序处理分解成若干子处理,而每一个子处理在一特定的专用模块 中执行,多个模块对于不同数据元素(在这种情况下,是对于不同分组)并 发操作的技术。

对于图15所示的操作,某个连接的多个分组等待被一EP所请求, 该EP必须请求一分组,然后在请求下一分组之前等待该分组的到达。对 于流水线系统中较高速率的操作,可以对该过程进行修改,对于出口给出 关于等待被请求的分组的数目的信息。例如,这可以通过保持入口的每个 连接上到达的分组的顺序计数,只要出口请求分组,就将有关该连接的最 新顺序计数标记在该分组上来实现。出口还可以对其已发出的分组请求的 每个连接保持一顺序计数。于是出口可以对其顺序计数与到达分组中的计 数进行比较以确定在入口队列中是否还有等待的分组。通过这种改进,在 流水线系统中,EP可以按快速接续的方式向相同的连接请求多个分组,而 不必在请求下一个分组之前等待每个被请求的分组到达EP。

如图16(标号1600)所示,本发明的方法可按如下方式实现。对于每 个通过IP的连接,有一个相关的模顺序计数值ARRIVSEQ,通常为1 至4位长,其中ARRIVSEQ的模为S,并且“#”表示模S加法。对于每 个连接ARRIVSEQ值初始被设置成一任意值。此外,还有一个对于每个 通过EP的连接都有一项的连接表耦合于EP,该项至少包括:ACTIVE 位、MANY位、REQSEQ值和LASTSEQ值,其中REQSEQ和 LASTSEQ值具有与ARRIVSEQ相同的位数。对于每个连接ACTIVE 位和MANY位被初始化假(1602)。在下述描述中,“||”表示布尔“或” 运算符。借助下列步骤将分组从入口交换到出口:

A)对于每个由IP接收的分组,该IP在存储器的分组队列中存储分 组(1604),其中每个队列对应于一个单独的连接。对于该连接IP还将 ARRIVSEQ值更新为ARRIVSEQ#1,即对ARRIVSEQ进行模S加 “1”;

B)对于每个到达IP的分组,IP判断分组是否到达一空队列 (1606),并且在分组已到达一空队列时,前进到步骤C(1608),否则前进 到步骤E(1612);

C)IP产生一个具有连接标识符代码的到达标记(1608),并且可以根 据选择包括调度信息,并将该到达标记送到该分组的目的地EP。IP对 于该连接将ARRIVSEQ值设置成预选值SEQSTART#1;

D)EP接收到达标记并通过在该连接的连接表项中将ACTIVE位设 置成真、将REQSEQ设置成SEQSTART、LASTSEQ设置成 SEQSTART#1来记录到达标记的到达(1610);

E)EP使用预定方案从连接表中具有ACTIVE位为真的连接中选择 一连接(1612)。对于所选连接,EP向发送该到达标记的IP发送至少包含 连接标识符的请求。EP还对于所选连接将REQSEQ值更新为 REQSEQ#1,并将REQSEQ的新值与所选连接的LASTSEQ的值比较。 当它们相等且该连接的MANY位为假时,EP清除该连接的ACTIVE位 (1616);

F)当接收到请求时,IP使用连接标识符确定分组队列并从队列中 去掉下一个分组(1618)。IP将该连接的ARRIVSEQ值附加于该分组,当 分组队列中分组数大于或等于S时,将分组中的MANY位置为真,否则 置为假。然后IP向请求EP发送分组;

G)EP接收请求的分组,并将分组中ARRIVSEQ标签复制到连接表 中该连接的LASTSEQ值上,把分组中MANY位复制到连接表中该连接 的MANY位上(1620)。当对于该连接LASTSEQ≠REQSEQ||MANY= 真,则EP将该连接的ACTIVE位设置为真(1624)。

在上述过程中,ARRIVSEQ、REQSEQ、LASTSEQ可以看成是模 S的分组顺序号。IP的ARRIVSEQ值是到达的最后一个分组的顺序号。 发送给EP的每个分组伴随一个最新的ARRIVSEQ值,它被存储在EP 中作为LASTSEQ。LASTSEQ告诉EP其将做出的最后一个请求的顺序 号。EP跟踪REQSEQ中当前请求的顺序号。当REQSEQ追上 LASTSEQ,EP停止请求分组。由于REQSEQ和LASTSEQ是模计数,所 以尽管在IP的队列中有很多分组,它们也能相等,但在这种情况下, MANY位使EP不停止。

如图16所示的操作例子,让SEQSTART的值为零,而让模S为4。 假设将连接“C”的入口队列初始化为空,然后六个分组以快速接续方 式到达并被放在该队列中。由于第一个分组到达的是空队列,所以将 ARRIVSEQ设置成SEQSTART#1=0+1 mod4=1。此外,将到达标记发 送给连接C的EP,使EP对于该连接设置REQSEQ=0、LASTSEQ=1 和ACTIVE=真。

以后的分组到达使IP上的ARRIVSEQ值重复增加至6mod 4=2。 EP使用预定方案周期地选择ACTIVE位为真的连接。EP首先选择连接 C,将REQSEQ增量为1,由于现在REQSEQ等于LASTSEQ,对于该连 接将ACTIVE位设置为假。把请求发送给连接C的IP,作为应答IP从 队列中去掉第一个分组,并把它送回到EP。IP用ARRIVSEQ的当前值 2和MANY=真标记该分组,由于队列中剩余的分组数为5,它大于S。当 接收到该分组,EP对于该连接设置LASTSEQ=ARRIVSEQ=2和 MANY=真。由于LASTSEQ的新值不等于REQSEQ,对于该连接 ACTIVE位也被设置成真。

后五个分组到达的不是空队列,于是不会引起任何到达标记发送给 EP。然而,该连接C的ACTIVE位保持为真,所以EP最终再次选择连 接C。EP然后向IP请求连接C的下一个分组,并将REQSEQ更新为 2。由于MANY为真,ACTIVE保持为真。IP发送第二个分组,以及 标记的ARRIVSEQ=2和MANY=真。

下一次EP选择连接C,将REQSEQ更新为3,由于LASTSEQ=2不 等于REQSEQ=3,所以ACTIVE位保持为真。当接收到EP的请求,IP 发送第三个分组,这次标记的ARRIVSEQ=2和MANY=假,由于少于S 个分组现在保留在队列中。

类似地,在下两次EP选择连接C,并请求分组,将REQSEQ增量 为4 mod 4=0,然后为1,并且ACTIVE保持为真。由IP发送的分组(它 是第四和第五个分组)仍标记为ARRIVSEQ=2和MANY=假。

下一次EP选择连接C,REQSEQ增量为2。由于现在REQSEQ等 于LASTSEQ并且MANY=假,所以将ACTIVE位设置成假。请求第六 个和最后一个分组,并由IP发送,仍标记为ARRIVSEQ=2和MANY= 假。由于对于该连接ACTIVE位现在为假,EP不再向该连接请求分组。

对于最高速度操作,把模S选择成大于在步骤D请求分组和在步骤F 接收到分组之间延时中EP可能请求的分组数。

以上描述的模顺序计数器仅是向EP给出关于队列中还剩多少未被请 求的分组的信息的一种方法。更一般地说,本发明的方法如下:

初始,对于通过IP的每个连接,IP具有设置成第一预定启动值的队 列状态信息,并且对于每个通过EP的连接,在耦合于EP的连接表中有 一表项,至少包含初始设置为假的ACTIVE指示符、初始设置为第二预 定启动值的请求状态信息、和初始设置为第一预定启动值的队列状态信 息。到达入口的分组被存储在分组队列中,其中每个队列对应于一单独的 连接。借助下列步骤将分组从入口交换到出口:

A)对于每个到达IP的分组,IP更新相关连接的队列状态信息,并确 定分组是否已到达空队列。当分组到达的是空队列,IP产生具有连接标识 符代码的到达标记,并且根据选择,可以包括调度信息。当产生了到达标 记时,IP向该分组的目的地出口EP发送该到达标记,并继续到步骤B,否 则继续到步骤C;

B)EP接收到达标记并且通过将该连接的ACTIVE指示符设置为真 来记录到达标记的到达。

C)EP使用预定方案从连接表中ACTIVE指示符为真的连接中选择 一连接,并向发送到达标记的IP发回至少包含连接标识符的请求。EP还 更新该连接的请求状态信息。使用队列状态信息和请求状态信息中至少一 个,EP判断分组队列中是否有未被EP请求的分组,并且当分组队列中有 未被EP请求的分组时,EP将连接表中ACTIVE指示符设置成假;

D)在接收到该请求时,IP使用连接标识符确定分组队列,从队列中 去掉下一个分组,更新队列状态信息,用队列状态信息标记分组,EP将使 用该队列状态信息确定在分组队列中是否还有未被请求的分组,并向发 出请求的EP发送分组;和

E)EP接收所请求的分组,并存储队列状态信息。如果用于所选连接 的ACTIVE指示符为假,EP使用队列状态信息和请求状态信息中至少一 个确定分组队列中是否还有未被EP请求的分组,并且如果分组队列中还 有未被EP请求的分组,EP将连接表中的ACTIVE指示符设置为真。

在另一实施例中,除了(或替代)在连接表中设置ACTIVE指示符,通 常在排队方案中,通过存储到达标记在EP记录到达消息。在此方案中,EP 对于每个连接至多存储一个标记。例如,如图17(标号1700)所示,按下列 步骤操作一实施例。首先,将通过入口到达IP而被接收的分组存储在存 储器的队列中(1702),其中每个队列对应于一个单独的连接。对于每个到 达IP的分组,IP确定分组是否到达空队列(1704),如果分组到达的是空队 列,IP产生具有连接标识符代码的到达标记(1706),并且根据选择还可以 包括调度信息,当产生了到达标记时,IP将该到达标记发送给该分组的目 的地EP。当产生了到达标记时,EP接收和存储该到达标记(1708)。EP 根据预定方案(例如,以先进先出顺序去掉标记)选择存储的到达标记 (1710)并把该到达标记送回发送其的IP。当接收到请求时,IP使用连接标 识符确定分组队列(1712),并使下一个分组出队列,用MORE位标记分 组并将分组送到发出请求的EP,如果在队列中还有分组MORE位为真, 否则为假。EP接收所请求的分组(1714),并将其从相关的出口发送出去 (1716)。当分组中MORE位为真(1716),EP产生相应于等待的下一个分 组的到达标记并将该到达标记与其它到达标记一起存储。

在一优选实施例中,通过向出口给出等待被请求的分组数的信息来 修改上述方案,以获得更高速的流水线操作。图18(1800)所示方案可由以 下步骤实施。对于每个通过IP的连接,都有一个通常为1至4位长的相 关的模顺序计数值ARRIVSEQ,其中ARRIVSEQ的模是S,而#表示模S 加法。对于每个连接ARRIVSEQ的初始值被设置成一任意值(1802)。此 外,还有一个连接表耦合于EP,表中对于每个通过EP的连接都有一表项, 至少包含ACTIVE位、MANY位、REQSEQ值和LASTSEQ值,其中 REQSEQ和LASTSEQ值的位数与ARRIVSEQ相同。对于每个连接将 ACTIVE位和MANY位初始设置成假。借助以下步骤将分组从入口交换 到出口:

A)首先,将通过一入口到达IP而被接收的分组存储在存储器内队列 中(1804),其中每个队列对应于一个单独的连接,并且IP更新与连接相关 的ARRIVSEQ值为ARRIVSEQ#1。

B)对于每个到达IP的分组,IP确定分组是否到达一空队列(1806), 如果分组到达一空队列,前进至步骤C(1808),否则前进至步骤E(1812)。

C)IP产生具有连接标识符代码的到达标记(1808)(根据选择还可以包 括调度信息),并将该到达标记发送给该分组的目的地EP。IP将该连接 的ARRIVSEQ值设置为一预选值SEQSTART#1。

D)EP接收和存储到达标记(1810),对于该连接在连接表项中设置 ACTIVE位为真,REQSEQ为SEQSTART,LASTSEQ为 SEQSTART#1。

E)EP使用预定方案选择所存储的到达标记(1812)。对于所选连接, EP向发出到达标记的IP发送至少包括连接标识符的请求。EP还对于所 选连接将REQSEQ值更新为REQSEQ#1,并对于所选连接比较 REQSEQ的新值与LASTSEQ的值。当REQSEQ≠LASTSEQ或对于 该连接MANY位为真(1814),EP产生相应于等待的下一分组的到达标记 (1818),并存储该到达标记与其它到达标记。否则,EP将该连接的 ACTIVE位设置为假(1816)。

F)当接收到该请求时,IP使用连接标识符确定分组队列,并使下一 分组出队列(1820)。IP用该连接的ARRIVSEQ值标记该分组,当分组队 列中分组数大于或等于S,将分组中MANY位设置为真,否则为假。然后 IP向发出请求的EP发送该分组。

G)EP接收所请求的分组,将分组中ARRIVSEQ标记复制到连接表 中该连接的LASTSEQ值,并且将分组中MANY位复制到连接表中该连 接的MANY位(1822)。当ACTIVE为假并且(LASTSEQ≠REQSEQ|| MANY=真)(1824),继续到步骤H(1826),否则结束。

H)EP产生相应于等待的下一分组的到达标记(1826),存储该到达标 记与其它到达标记,并将该连接的ACTIVE位设置为真。

图19(标号1900)是根据本发明一设备的实施例。该设备能够在面向 连接的网络中有效地将多个分组从多个入口交换到多个出口。该设备包 括:多个入口(1902…1904)和多个出口(1912…1914),每一个入口具有 一入口存储器(1910…),一入口队列管理器(1908),…和一到达控制器 (1906…),每个出口具有一个连接表(1918…),一个调度器(1916…)和一 出口分组处理器(1920…)。入口存储器(1910…)用于为多个连接的每个连 接存储分组队列。入口队列管理器(1908…)连接于入口存储器(1910…) 并且被用于接收来自输入链路的分组、将分组存储在入口存储器中和更新 与该连接相关的队列状态信息。IP对于每个通过IP的连接都具有相关的 队列状态信息,当从出口调度器(1916…)接收到连接标识符时,IP从入口 存储器的相应队列中检索分组、更新该连接的队列状态信息、向目的地出 口发送该分组以及队列状态信息,EP根据队列状态信息判断分组队列中 是否还有未被EP请求的分组。到达控制器(1906…)与入口队列管理器 (1906…)相连,在分组到达时一连接的队列为空情况下,利用到达控制器 向该分组的目的地出口发送至少包含连接标识符的到达标记。出口 (1912…1914)与入口(1902…1904)相连。连接表(1918…)用于为每个连 接至少存储ACTIVE指示符、请求状态信息和队列状态信息。调度器 (1916…)与连接表(1918…)相连,用于接收入口发送的到达标记,并在连 接表(1918)中将相应的ACTIVE指示符设置为真;根据预定方案选择 ACTIVE指示符已被设置的连接,并且对于每个所选连接,向发送相应到 达标记的入口请求分组,更新请求状态信息,使用队列状态信息和请求状 态信息中至少一个确定分组队列中是否还有未被EP请求的分组,当分组 队列为空时,EP将连接表中ACTIVE指示符设置为假。出口分组处理器 (1920…)与连接表(1918)相连,用于接收由相关调度器(1916…)请求的分 组,存储伴随该分组的队列状态信息,在输出链路上分送该分组,当所选 连接的ACTIVE指示符为假时,使用队列状态信息和请求状态信息中至 少一个确定分组队列中是否还有未被EP请求的分组,如果分组队列中还 有未被EP请求的分组,将连接表(1918…)中的ACTIVE指示符设置为 真。

替代地,如图20(标号2000)所示,有效地将多个分组从多个入口交换 到多个出口的设备包括多个入口(2002、2004…)和多个出口(2012、 2014…),每一入口包括一入口存储器(2010…)、一入口队列管理器 (2008…)和到达控制器(2006…),每一出口包括一连接表(2018…)、标记 存储器(2020…)、调度器(2016…)和一出口分组处理器(2022…)。入口存 储器(2010…)用于存储多个连接中每个连接的分组队列。入口队列管理器 (2008…)和入口存储器(2010)相连用于从输入链路接收分组、将分组存储 在入口存储器(2010…)和更新与连接相关的队列状态信息,IP具有关于每 个通过IP的连接的队列状态信息,当从一出口的调度器(2012…)接收到 一连接标识符,IP从入口存储器(2010)中的相应队列里检索分组,更新该 连接的队列状态信息并向目的地出口(2012、2014…)发送该分组以及队 列状态信息,EP使用该队列状态信息确定分组队列中是否还有未被EP 请求的分组。到达控制器(2006…)与入口队列管理器(2008…)相连,用于 在分组到达时一连接的队列为空的情况下,向该分组的目的地出口发送 至少包含连接标识的到达标记。出口(2012、2014…)还与入口(2002、 2004…)相连。连接表(2018…)用于为每个连接至少存储ACTIVE指示 符、请求状态信息和队列状态信息。标识存储器(2020…)用于为每个连接 至多存储一个标记。调度器(2016…)与连接表(2018…)和标记存储器 (2020…)相耦合,用于接收由入口发送的到达标记,在标记存储器 (2020…)中存储到达标记,在连接表(2018…)中将相应的ACTIVE指示 符设置为真,根据预定方案选择存储的到达标记,对于每个所选的到达标 记,向发送到达标记的入口请求分组,更新请求状态信息,使用队列状态 信息和请求状态信息中至少一个确定分组队列中是否还有未被EP请求的 分组,当分组队列为空时,EP将连接表(2018…)中的ACTIVE指示符设 置为假。出口分组处理器(2022…)与连接表(2018…)和标记存储器 (2020…)相耦合,用于接收由相应的调度器请求的分组,存储伴随分组的 队列状态信息并在输出链路上分送分组,当对于所选连接ACTIVE指示 符为假,利用队列状态信息和请求状态信息中至少一个确定分组队列中 是否还有未被EP请求的分组,如果分组队列中还有未被EP请求的分组, 就产生一个相应于等待的下一分组的到达标记,将该到达标记存储在标 记存储器(2020…)中,将连接表(2018…)中的ACTIVE指示符设置为 真。

图21(标号2100)为一方框图,示出了根据本发明一实施例的面向连 接网络中沿到达路径、请求路径和分组路径的控制流和分组流。分组到达 IP(2102),被存储在相应于各个连接的队列(2104)中(a)。仅在分组到达一 空队列时IP发送到达标记(b)。通常,到达标记包含连接标识符代码,而 不是存储分组的存储器地址。EP(2106)将标记存储在连接表(2108)中。每 个EP选择标记并通过请求路径向IP发送它(d)。当IP通过请求路径接 收到一标记,IP使用标记中的连接标识符代码确定分组队列(其中存储了 分组),并使下一个分组出队列。IP用队列中等待的其它分组数标记该分 组,然后通过EP向输出链路在分组路径上发送分组(e)。

尽管以上描述了解释性实施例,很明显本领域技术人员在不背离本 发明的前提下可进行各种修改和变型。因此,如权利要求所限定的本发明 旨在包括不背离其精神和范围内的所有修改和变型。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈