[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

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

Info

Publication number
CN1152532C
CN1152532C CNB971929556A CN97192955A CN1152532C CN 1152532 C CN1152532 C CN 1152532C CN B971929556 A CNB971929556 A CN B971929556A CN 97192955 A CN97192955 A CN 97192955A CN 1152532 C CN1152532 C CN 1152532C
Authority
CN
China
Prior art keywords
grouping
outlet
inlet
mark
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB971929556A
Other languages
English (en)
Other versions
CN1214168A (zh
Inventor
克莱格・什帕德・霍尔特
克莱格·什帕德·霍尔特
・克莱恩
理查德·克莱恩
南・拉马克里斯南
克里斯南·拉马克里斯南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN1214168A publication Critical patent/CN1214168A/zh
Application granted granted Critical
Publication of CN1152532C publication Critical patent/CN1152532C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/107ATM switching elements using shared medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5674Synchronisation, timing recovery or alignment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

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

Abstract

一种有效地将多个入口接收的多个分组交换到多个出口的方法(1200、1500、1600、1700、1800)和分组交换机(500、600、700、1400、1900、2000),使用以下步骤:A)将分组存储在存储器中;(B)将每个分组的到达信息发送到分组的目的地出口;C)在每个目的地出口的存储器存储到达信息;D)每个目的地出口根据预定方案向分组存储器请求分组;和E)分组存储器向目的地出口发送所请求的分组。

Description

有效的输出请求分组交换设备和方法
技术领域:
本发明涉及发送数字化编码分组的分组通信网络,具体涉及在分组通信网络中有效进行分组交换的方法。
背景技术:
分组交换技术是在网络系统中把来自多个用户的数据划分成称作分组的单元,并在公共传输线路上发送它们。分组交换不同于电路交换,分组交换使用的带宽可以通过逻辑连接按照需要进行动态分配,而电路交换中提供的带宽是长期分配的。与电路交换相比,分组交换通过网络资源的更合理共享可以降低网络用户的成本。分组交换业务具有同时处理各种业务类型(例如:音频、视频、数据)混合体的能力。就延时、不稳定性以及损耗概率来说,分组交换相对于不同的连接可以提供不同的业务类型。
分组通信网络由“节点”和“链路”构成,其中节点是产生、接收或传送分组的设备,而链路将两节点连接起来。在分组通信网络中,在源节点对分组消息进行数字化编码以通过一些链路和节点序列把它们传送到网络的目的地节点。在一给定的传输路径上,通常有一个或多个中间节点或“交换节点”,每个交换节点连接多个源与目的链路。
图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”交换机,由AnthonyAcampora等人在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)。
尽管以上描述了解释性实施例,很明显本领域技术人员在不背离本发明的前提下可进行各种修改和变型。因此,如权利要求所限定的本发明旨在包括不背离其精神和范围内的所有修改和变型。

Claims (37)

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所述的方法,其特征在于,所述的预定的方案包括:
一个先进先出的方案;或
一个基于预定的调度特征的方案。
CNB971929556A 1996-03-14 1997-03-13 有效的输出请求分组交换设备和方法 Expired - Lifetime CN1152532C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/616,024 US5790545A (en) 1996-03-14 1996-03-14 Efficient output-request packet switch and method
US08/616,024 1996-03-14

Publications (2)

Publication Number Publication Date
CN1214168A CN1214168A (zh) 1999-04-14
CN1152532C true CN1152532C (zh) 2004-06-02

Family

ID=24467752

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971929556A Expired - Lifetime CN1152532C (zh) 1996-03-14 1997-03-13 有效的输出请求分组交换设备和方法

Country Status (10)

Country Link
US (1) US5790545A (zh)
EP (1) EP0886939B1 (zh)
JP (1) JP3415628B2 (zh)
KR (1) KR100334922B1 (zh)
CN (1) CN1152532C (zh)
AU (1) AU2208597A (zh)
CA (1) CA2247447C (zh)
DE (1) DE69739399D1 (zh)
HK (1) HK1019529A1 (zh)
WO (1) WO1997034394A1 (zh)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6295299B1 (en) * 1997-08-29 2001-09-25 Extreme Networks, Inc. Data path architecture for a LAN switch
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
US6185635B1 (en) * 1998-05-30 2001-02-06 Alcatel Networks Corporation Method and circuit for transporting data based on the content of ingress data words and egress data words
US6145010A (en) * 1998-07-14 2000-11-07 3Com Corporation Method and apparatus for bandwidth control in an over subscribed computer network switch
US6147969A (en) * 1998-10-14 2000-11-14 Lucent Technologies Inc. Flow control method for ABR service in an asynchronous transfer mode network
US6735190B1 (en) 1998-10-21 2004-05-11 Lucent Technologies Inc. Packet transport method device utilizing header removal fields
US6408001B1 (en) 1998-10-21 2002-06-18 Lucent Technologies Inc. Method for determining label assignments for a router
US6570887B2 (en) * 1999-01-22 2003-05-27 Intel Corporation Method and apparatus employing associative memories to implement message passing
US6597690B1 (en) 1999-01-22 2003-07-22 Intel Corporation Method and apparatus employing associative memories to implement limited switching
US6711163B1 (en) * 1999-03-05 2004-03-23 Alcatel Data communication system with distributed multicasting
US6747971B1 (en) 1999-04-20 2004-06-08 Cisco Technology, Inc. Crosspoint switch with independent schedulers
US6625160B1 (en) * 1999-07-02 2003-09-23 Cisco Technology, Inc. Minimum bandwidth guarantee for cross-point buffer switch
US6633576B1 (en) 1999-11-04 2003-10-14 William Melaragni Apparatus and method for interleaved packet storage
US6721316B1 (en) 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
US6778546B1 (en) 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6977930B1 (en) 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6813243B1 (en) 2000-02-14 2004-11-02 Cisco Technology, Inc. High-speed hardware implementation of red congestion control algorithm
US6731644B1 (en) * 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification
US6813274B1 (en) 2000-03-21 2004-11-02 Cisco Technology, Inc. Network switch and method for data switching using a crossbar switch fabric with output port groups operating concurrently and independently
US7061929B1 (en) 2000-03-31 2006-06-13 Sun Microsystems, Inc. Data network with independent transmission channels
US7065580B1 (en) * 2000-03-31 2006-06-20 Sun Microsystems, Inc. Method and apparatus for a pipelined network
US6975626B1 (en) 2000-03-31 2005-12-13 Sun Microsystems, Inc. Switched network for low latency communication
US7020161B1 (en) 2000-03-31 2006-03-28 Sun Microsystems, Inc. Prescheduling arbitrated resources
US6829651B1 (en) * 2000-04-11 2004-12-07 International Business Machines Corporation Local MAC address learning in layer 2 frame forwarding
US7236489B1 (en) * 2000-04-27 2007-06-26 Mosaid Technologies, Inc. Port packet queuing
US6816489B1 (en) 2000-10-05 2004-11-09 Cisco Technology, Inc. Efficient method for packet switching on asynchronous transfer mode switch based platforms
US7042891B2 (en) * 2001-01-04 2006-05-09 Nishan Systems, Inc. Dynamic selection of lowest latency path in a network switch
EP1356640B1 (en) * 2001-01-31 2005-05-18 TELDIX GmbH Modular and scalable switch and method for the distribution of fast ethernet data frames
AU2002308616A1 (en) * 2001-05-07 2002-11-18 Vitesse Semiconductor Corporation A system and a method for processing data packets or frames
US7221678B1 (en) 2001-10-01 2007-05-22 Advanced Micro Devices, Inc. Method and apparatus for routing packets
US7295563B2 (en) * 2001-10-01 2007-11-13 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have ordering requirements
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7310345B2 (en) * 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US6982986B2 (en) * 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
US7046676B2 (en) * 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US6973036B2 (en) * 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US7280474B2 (en) * 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7103051B2 (en) * 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
CA2365688A1 (en) * 2001-12-19 2003-06-19 Alcatel Canada Inc. System and method for providing gaps at ingress to a network element
US20030128688A1 (en) * 2001-12-26 2003-07-10 Lg Electronics Inc. ATM based MPLS-LER system and method for establishing connection
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US7257124B2 (en) * 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7680043B2 (en) 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US6956861B2 (en) * 2002-04-16 2005-10-18 Interactics Holdings, Llc Controlled shared memory smart switch system
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7620059B2 (en) 2003-07-16 2009-11-17 Qlogic, Corporation Method and apparatus for accelerating receive-modify-send frames in a fibre channel network
US7471635B2 (en) 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7525910B2 (en) 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7453802B2 (en) 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7430175B2 (en) 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7522529B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7477655B2 (en) 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7558281B2 (en) 2003-07-21 2009-07-07 Qlogic, Corporation Method and system for configuring fibre channel ports
US7406092B2 (en) 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7580354B2 (en) 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7573909B2 (en) 2003-07-21 2009-08-11 Qlogic, Corporation Method and system for programmable data dependant network routing
US7466700B2 (en) 2003-07-21 2008-12-16 Qlogic, Corporation LUN based hard zoning in fibre channel switches
US7512067B2 (en) 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7522522B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7583597B2 (en) * 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7525983B2 (en) 2003-07-21 2009-04-28 Qlogic, Corporation Method and system for selecting virtual lanes in fibre channel switches
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7630384B2 (en) 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7447224B2 (en) 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7543142B2 (en) 2003-12-19 2009-06-02 Intel Corporation Method and apparatus for performing an authentication after cipher operation in a network processor
US7512945B2 (en) 2003-12-29 2009-03-31 Intel Corporation Method and apparatus for scheduling the processing of commands for execution by cryptographic algorithm cores in a programmable network processor
US20050149744A1 (en) * 2003-12-29 2005-07-07 Intel Corporation Network processor having cryptographic processing including an authentication buffer
US7529924B2 (en) * 2003-12-30 2009-05-05 Intel Corporation Method and apparatus for aligning ciphered data
US7564789B2 (en) 2004-02-05 2009-07-21 Qlogic, Corporation Method and system for reducing deadlock in fibre channel fabrics using virtual lanes
US7480293B2 (en) 2004-02-05 2009-01-20 Qlogic, Corporation Method and system for preventing deadlock in fibre channel fabrics using frame priorities
US7340167B2 (en) * 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US20060171386A1 (en) * 2004-09-01 2006-08-03 Interactic Holdings, Llc Means and apparatus for a scaleable congestion free switching system with intelligent control III
CN1747440B (zh) * 2004-09-08 2012-05-02 华为技术有限公司 一种实现信元重排序的芯片
US7593997B2 (en) 2004-10-01 2009-09-22 Qlogic, Corporation Method and system for LUN remapping in fibre channel networks
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7281093B1 (en) * 2004-12-21 2007-10-09 Xilinx, Inc. Memory apparatus for a message processing system and method of providing same
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
DE602006019558D1 (de) * 2006-05-26 2011-02-24 M T C Macchine Trasformazione Carta S R L Vorrichtung zur Umhüllung von Bögenstapeln
US7923341B2 (en) * 2007-08-13 2011-04-12 United Solar Ovonic Llc Higher selectivity, method for passivating short circuit current paths in semiconductor devices
JP2009177256A (ja) * 2008-01-21 2009-08-06 Fujitsu Ltd パケットスイッチ装置およびパケットスイッチ方法
JP5143203B2 (ja) * 2010-09-24 2013-02-13 株式会社東芝 メモリシステム
KR20140004743A (ko) * 2011-01-28 2014-01-13 나파테크 에이/에스 데이터 패킷을 수신 및 송신하기 위한 장치 및 방법
US8694994B1 (en) 2011-09-07 2014-04-08 Amazon Technologies, Inc. Optimization of packet processing by delaying a processor from entering an idle state
US20140379780A1 (en) * 2013-06-25 2014-12-25 Sap Ag Determining a support package status
US9894013B2 (en) 2015-02-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Early queueing network device
RU175722U1 (ru) * 2017-03-01 2017-12-15 Общество с ограниченной ответственностью "КЬЮТЭК" Ethernet коммутатор
WO2019214801A1 (en) * 2018-05-07 2019-11-14 Huawei Technologies Co., Ltd. Memory device for a high bandwidth high capacity switch

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4623996A (en) * 1984-10-18 1986-11-18 Mcmillen Robert J Packet switched multiple queue NXM switch node and processing method
JPS61214694A (ja) * 1985-03-18 1986-09-24 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション データ伝送のスイッチング装置
FR2623954B1 (fr) * 1987-11-27 1993-11-19 Alcatel Cit Element de commutation de donnees transmises par multiplexage temporel asynchrone
US5001706A (en) * 1989-06-23 1991-03-19 At&T Bell Laboratories Packet cross connect switch system including improved throughput
GB9309468D0 (en) * 1993-05-07 1993-06-23 Roke Manor Research Improvements in or relating to asynchronous transfer mode communication systems

Also Published As

Publication number Publication date
CA2247447A1 (en) 1997-09-18
EP0886939A4 (en) 2000-04-19
EP0886939B1 (en) 2009-05-13
WO1997034394A1 (en) 1997-09-18
AU2208597A (en) 1997-10-01
US5790545A (en) 1998-08-04
EP0886939A1 (en) 1998-12-30
DE69739399D1 (de) 2009-06-25
CN1214168A (zh) 1999-04-14
KR19990087752A (ko) 1999-12-27
KR100334922B1 (ko) 2002-06-20
JP3415628B2 (ja) 2003-06-09
HK1019529A1 (en) 2000-02-11
JP2000506701A (ja) 2000-05-30
CA2247447C (en) 2003-10-21

Similar Documents

Publication Publication Date Title
CN1152532C (zh) 有效的输出请求分组交换设备和方法
CN1073316C (zh) 信元交换设备和为信元寻找路由的方法
US7161943B2 (en) Two-dimensional pipelined scheduling technique
CN1498480A (zh) 多播传输的有效处理
US8320379B2 (en) Arbiter circuit and method of carrying out arbitration
CN1135798C (zh) 数据网络中的分组交换设备和方法
CN1185846A (zh) 具有高效轮询过程的数据通信网
CN1264531A (zh) 具有时间标记功能的交换阵列布置
CN1016566B (zh) 分组交换网
CN1146804C (zh) 快速16位分离事务i/o总线
CN1443413A (zh) 交换系统
CN100379204C (zh) 用于包括无阻塞交换结构和线路卡接口的系统的包调度
CN1798102A (zh) 在交换结构网络中仲裁虚拟信道传输队列
CN1859263A (zh) 信元重排序方法、使用该方法的信元处理方法及装置
CN1332554A (zh) 异步传输模式交换机中的信元处理方法和设备
CN1311374C (zh) 计算机系统的输入/输出节点标识命令的装置及方法
CN1359241A (zh) 用于分组交换机和无源光网络的分布式调度器
CN1885822A (zh) 一种网络处理器
CN1051419C (zh) 一种用于具有"快电路"特性的开关排队系统
CN1589547A (zh) 采用动态滤波器分配的串行通信设备
CN101263680A (zh) 调度互连结构中的单播与多播流量的方法与设备
CN1130055C (zh) 信元争用分辨单元、其工作方法和对其应用的中央交换装置
CN1212543A (zh) 一种异步传递方式信元交换系统
CN1791069A (zh) 输入排队分组交换结构及队列服务规则
CN1455562A (zh) 集中的交换和路由选择处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1028630

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILE CO., LTD.

Free format text: FORMER OWNER: MOTOROLA INC.

Effective date: 20101231

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20101231

Address after: Illinois Instrunment

Patentee after: MOTOROLA MOBILITY, Inc.

Address before: Illinois Instrunment

Patentee before: Motorola, Inc.

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

CP02 Change in the address of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY, Inc.

Address before: Illinois Instrunment

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160620

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040602