CN1143591C - 异步传输模式多点传送信元的处理 - Google Patents
异步传输模式多点传送信元的处理 Download PDFInfo
- Publication number
- CN1143591C CN1143591C CNB988090694A CN98809069A CN1143591C CN 1143591 C CN1143591 C CN 1143591C CN B988090694 A CNB988090694 A CN B988090694A CN 98809069 A CN98809069 A CN 98809069A CN 1143591 C CN1143591 C CN 1143591C
- Authority
- CN
- China
- Prior art keywords
- leaf
- cell
- formation
- inertia
- plq
- 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 - Fee Related
Links
- 230000004913 activation Effects 0.000 claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 109
- 238000005755 formation reaction Methods 0.000 claims description 109
- 230000005087 leaf formation Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 12
- 230000003213 activating effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 241001280173 Crassula muscosa Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003370 grooming effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
- H04L49/203—ATM switching fabrics with multicast or broadcast capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
Abstract
一种异步传输模式(ATM)交换装置对活动和不活动树叶进行处理。对于经过这一交换装置的一个多点传送连接,为每一个物理输出链路建立一个不活动树叶队列(PLQ),并为多点传送连接的每一片树叶建立一个树叶表。添加和去掉每一片树叶时为每一连接添加和去掉树叶表。对于多点传送连接的一片不活动树叶,这一不活动树叶的树叶表跟不活动树叶队列中合适的一个队列相链接。但从交换机核心收到一个信元时,通过将不活动树叶队列中合适的一个队列跟一个激活队列(AQ)链接,将这一不活动树叶队列激活。然后在一个活动树叶队列(ALQ)里设置一个指针,指向那一个适当的不活动树叶队列(PLQ)标明的树叶表。每一个物理输出端都有一个活动树叶队列。
Description
发明领域
本发明涉及电信领域,具体而言涉及在采用异步传输模式的电信网中一个交换节点上对信元的处理。
背景技术
人们对宽带业务的兴趣,例如对多媒体应用、视频点播、可视电话和电话会议的兴趣,促进了宽带综合业务数字网(B-ISDN)的发展。B-ISDN是在异步传输模式(ATM)的基础上发展起来的,它极大地提高了电信能力。
ATM是一种面向数据包的传输模式,它采用异步时分复用技术。数据包叫做信元,长度固定。一个ATM信元由53个八位字节组成,其中的5个构成信头,48个构成“有效负载”或者信元的信息部分。ATM信元的信头包括两个量,用来识别该信元要在其中传输的ATM网中的一个连接,具体而言就是VPI(虚路径标识符)和VCI(虚通道标识符)。总的来说,虚路径是网络中两个交换节点之间的一条主路径;虚通道是这条主路径上的一个具体连接。
在它的终点,ATM网跟终端设备相连,例如跟ATM网用户相连。在ATM网终点之间有多个交换节点,这些节点具有端口,用物理传输路径或者链路相互连接。从始发终端设备向目标终端设备传输的过程中,构成一则消息的ATM信元可能会经过几个交换节点。
一个交换节点有多个端口,其中每一个端口都通过一条链接电路或者一条链路跟另一个节点相连。根据这条链路使用的具体协议,链接电路对这些信元打包。进入一个交换节点的信元可能会从第一个端口进入交换节点,从第二个端口出去,通过一条链接电路进入跟另一节点连接的一条链路。每一条链路都能为多个连接传输信元,其中一个连接是一个主叫用户或主叫方跟一个被叫用户或被叫方之间的信息传输。
通过ATM网传输的许多信元从一个始发节点传递到单独一个目的地或者目标节点,因此叫做点到点信元。一些交换点能够对信元进行处理,这些信元叫做点到多点信元或多点传送信元,它们从一个始发节点出发,到达多个目的地节点。一些点到多点信元,尽管属于不同的连接,可以在同一条链路上传输。
这些交换节点中的每一个一般都有几个功能部分,其中一个主要功能部分就是交换机核心。交换机核心的基本功能就象交换机端口之间的一个交叉连接。交换机核心的内部路径受到有选择性的控制,从而将交换机的某些端口连接起来,使一则消息从交换机的一个入口侧传递到交换机的出口侧,最终从始发终端设备传递到目的地终端设备。
在传统的交换技术里,所有端口里都有队列或者缓冲器,用于例如在读出之前储存信元。当信元有多个优先级时,对应于优先级的个数,每一个端口都可能有许多队列或缓冲器。输入队列选择器让信元进入适当的缓冲器,并在合适的时刻由输出队列选择器从缓冲器里读出。
在交换机的出口一侧对点到多点信元的处理,例如对多点传送信元的处理,已经受到了人们注意。例如,可以参考申请号为08/893677,于1997年7月11日提交的美国专利申请,其标题为“为点到点和/或点到多点ATM信元提供缓冲”,这里将它引入作为参考。多点传送包括物理上的多点传送和逻辑上的多点传送。“物理上的多点传送”指的是将一个信元拷贝到不同的物理输出端。“逻辑上的多点传送”指的是将一个信元拷贝到同一物理输出端一次或多次,每一个副本都有它自己的VPI/VCI值。同一个端口可以既进行物理多点传送,又进行逻辑多点传送。
在多点传送术语中,一片“叶(leaf)”是要将信元拷贝到那里去的一个连接,“逻辑叶”是要将信元拷贝到那里去的同一条链路(例如物理输出端)上的许多连接。在交换机的出口一侧,如果一片叶已经读完当前在出口侧信元缓冲器里要由叶来读的所有信元,这片叶就叫做“不活动的(passive)”。另一方面,如果信元缓冲器当前保存的信元比叶要读走的多,这片叶就叫做“活动的(active)”。
颁发给Calamvokis等,标题为“具有多点传送能力的异步传输模式交换机”的第5572522号美国专利介绍了各种多点传送技术,这里也将它引入作为参考。在这些技术的一种里,每次从交换机核心过来一个新的信元,都会导致一个多点传送扩展器使尚未在调度环(schedulingloop)中的有关输出VCN排队。但既不考虑添加输出VCN,也不考虑删去输出VCN,因为假定所有的输出VCN都是在同一时间建立的,并在整个连接的持续过程中都存在。颁发给Bennett等的第5528588号美国专利介绍了另一种多点传送技术。
发明内容
因此,需要的是有效地处理活动和不活动叶和连接,并在连接的存在期间里添加或者去掉叶的方法和装置,这也是本发明的目的。
异步传输模式(ATM)交换装置对活动和不活动叶进行处理。对于通过这一交换装置的进行路由选择的一个多点传送连接,为每一个物理输出链路建立一个不活动叶队列,并为这一多点传送连接的每一片叶建立一个叶表。每添加或去掉一片叶时,也为每一个连接添加或去掉叶表。对于多点传送连接的一片不活动叶,不活动叶的叶表跟不活动叶队列中适当的一片链接。但从交换机核心收到一个信元时,通过跟一个激活队列(activation queue)连接,将不活动叶队列中适当的一片激活。然后在一个活动叶队列里设置一个指针,指向上述适当的不活动叶队列指明的叶表。每一个物理输出端都有一个活动叶队列。
ATM交换机还有一个信元缓冲器(其中几个信元队列形成链表)和一个根表(root table)。信元缓冲器用于确定要从交换装置里读出来从交换机核心获得的信元中的哪一些。根表储存的是例如信元队列里的许多入口(entry)、信元缓冲器中最后一个信元的地址和要储存在这一信元缓冲器中下一信元的许多叶。
对于一片活动叶,指向这一叶表的指针保存在活动叶队列中合适的一片里,直到信元缓冲器中再也没有信元要由活动叶读出。信元缓冲器中是不是没有信元需要由活动叶读出是通过将储存在叶表里的信头指针跟储存在根表中的信元缓冲器信尾指针进行比较来决定的,储存在叶表里的信头指针指向信元缓冲器里活动链路的下一个信元,信元缓冲器信尾指针则指向信元缓冲器里的最后一个信元。
不活动叶队列链接在一起。考虑到这一点,第一个不活动叶队列储存了指向下一个不活动叶队列的下一个指针,用来将下一个不活动叶队列跟第一个不活动叶队列链接起来。
要从一个连接去掉某一叶时,在叶和根表中都要设置Stop Flag(停止标志)。然后,当一个新信元从交换机核心进入时,还为新信元设置一个Stop Flag,并将根表中的Stop Flag清除。当要去掉的叶试图读取设置了Stop Flag的新信元时,就不允许读。相反,要将这一叶去掉,并将这一新信元的Stop Flag设置成0。用这种方式去掉叶。
通过后面的说明,并参考以下附图,本发明前面介绍过的目的和其它目的、特征和优点将是显而易见的,所有附图中相同的标识字符表示相同的部件。这些图不一定是按比例画出来的,利用它们主要是说明本发明的原理。
附图说明
图1是本发明中ATM交换机一个实施方案的原理图,其中包括了这一ATM交换机采用的数据结构。
图1A是图1中ATM交换机输出端口的原理图。
图2A是添加第一片叶的流程图。
图2B是添加另一片叶的流程图。
图2C是去掉一片叶的流程图。
图3A~3F是建立连接的过程中所发生的事件以及根据本发明的一种模式接收和发送信元的示意图。
图4A~4F说明在一个已有连接上添加新叶所发生的事件。
图5A~5D说明从一个已有连接上去掉一片叶,例如撕去一片叶,所发生的事件。
具体实施方式
在下文中,为了说明而不是为了进行限制,将介绍具体细节,例如具体的体系结构、接口、技术等等,以便大家能够全面地理解本发明。但对本领域里的技术人员来说显而易见,可以用其它的实施方案来实现本发明,而这些实施方案跟这里的具体细节不同。在某些情况下,大家所熟知的装置、电路和方法将不予介绍,以免喧宾夺主。1.0交换机结构
图1笼统地说明一个ATM交换机20,它包括一个交换机核心22,该核心22跟多个交换机输入端口24A~24N相连,还跟多个交换机输出端口26A~26N相连。每一个交换机输入端口24都跟多个输入物理链路相连,每一个交换机输出端口26都跟多个输出物理链路相连。
ATM信元通过输入物理链路进入输入侧端口24,经过交换机核心22接续,传送给一个或几个交换机输出侧端口26。显然,有许多方法可以实现交换机输入端口和交换机核心,而它们的细节和结构都不是本发明的关键。相反,本发明关心的是交换机输出端口26。对交换机输入端口24的唯一要求是它为每一个信元加上一个连接号。交换机输出端口用这一连接号来识别某一信元属于哪一个连接。
1.1输出端口体系结构
图1A具体说明交换机输出端口26的一个实例。如图1A所示,交换机输出端口26有一个写逻辑电路30,能够从交换机核心22接收信元,还有一个读逻辑电路32,将信元输出给输出链路。激活逻辑电路(activation logic circuitry)34位于交换机输出端口26中写逻辑电路30和读逻辑电路32之间。写逻辑电路30、读逻辑电路32和激活逻辑电路34一起构成所谓的逻辑电路。
微处理器40跟写逻辑电路30相连,用于控制去掉叶的操作,还跟读逻辑电路32相连,控制添加叶的操作。随后将介绍去掉叶和添加叶的操作。
交换机输出端口26还包括多个存储器位置,用于储存跟本发明有关的数据。如图1A所示,这些数据包括根数据(Root Data)(用图1A中的位置50表示);PLQ(不活动叶队列)52;激活队列数据54;叶数据56;ALQ数据(活动叶队列)58;空闲队列数据(IQ)60;和信元队列。信元队列是一个公用的存储区,其中几个信元队列形成链表。虽然图1A说明的是用多个存储器储存不同的数据结构,但显而易见,可以将一个或多个数据结构储存在同一个存储器(例如随机读取存储器)里。
微处理器40负责添加和去掉叶。微处理器40从跟ATM交换机核心22相连没有画出的一个中央处理器获得指令。这一中央处理器和每一个控制输出端口的处理器都用ATM信元通信,例如使用AAL-5(适配层5)协议通信。
1.2活动和不活动叶
在本发明中,每一片叶都从同一个表(许多信元队列里的一个信元队列)读取信元。每一片叶都有一个指针(信头),用来说明叶下一个要从信元队列哪一处读取数据。从信元队列中读出一个信元时,将指针(信头)往前移过一个信元。由于不同物理输出端通信状况不同,可能有两片叶用不同的(瞬时)速率读取信元队列里的信元。如果一片叶读完了当前在信元队列中要由这片叶读取的所有信元,这片叶就叫做“不活动的(passive)”。相反,如果信元队列里有这片叶要读的信元,这片叶就叫做“活动的(active)”。
活动叶和不活动叶之间的差别是当交换机核心把新信元输入并储存在信元队列里时,活动叶就继续前面的操作。它从信元队列里原先的位置读取信元,而不受信元队列长度变化的影响。但当一个新信元从交换机核心进入时,不活动叶必须先激活,也就是说,从队列里读取信元必须重新开始。
1.3数据结构
如图1A所示,有以下类型的数据结构:信元队列(也叫做VC队列)、根50、叶56、不活动叶队列(PLQ)52、活动叶队列(ALQ)58、激活队列(AQ)54和空闲队列60。下面将简单地讨论所有数据结构类型。
1.3.1信元缓冲器
信元队列是一种数据结构,具有相同VC的信元从交换机核心到达时,要存入这一信元队列。开始的时候,公共信元缓冲器组里的所有存储器位置都跟一个空闲表连接。当一个信元从交换机核心到达时,将这一信元存入空闲表标明的第一个位置。然后将这一存储器位置跟空闲表断开链接,并将它跟正确的信元队列链接。当最后一片叶读完一个信元时,就将存储器位置退还空闲表。
除了信元本身,信元队列里还储存了跟每一个信元有关的以下字段:下一个(Next)、拷贝(Copies)和停止标志(Stop Flag)。字段Next是指向信元队列里下一个信元的指针。字段Copies说明还要读这一信元的叶的片数。Stop Flag是一个一位标志,后面将介绍它的用途。
1.3.2根数据结构
对于每一个多点传送连接,根数据结构都有一个入口或者表。每一个入口或者表都包括以下字段:PLQ尾标(PLQ-tail)、PLQ头标(PLQ-head)、PLQ数(PLQ-num)、CQ尾标(tail)、CQ长度(CQ-length)、叶数(N-leaves)和停止标志(Stop Flag)。一般都有多片不活动叶队列相互链接形成与这一根有关的一个不活动叶队列。PLQ尾标是指向跟这一根相链接的最后一个PLQ(不活动叶队列)的一个指针。PLQ头标是指向跟这一根相链接的第一个PLQ(不活动叶队列)的一个指针。PLQ数是跟这一根相链接的PLQ的个数。CQ尾标是指向这一连接的信元队列(CQ)中最后一个信元的指针。CQ-length是信元队列(CQ)的长度。N-leaves是这一连接的叶数。Stop Flag是一个一位标志,它的功能随后介绍。
1.3.3 LEAF数据结构
这一连接中每一片叶的LEAF数据结构都有一个叶入口或者表。LEAF数据结构里的每一个入口或者表都有以下字段:ROOT、PLQ、Next、Head、Stop Flag、VP/VC、New-VPI(新VPI)、New-VCI(新VCI)。为了简单起见,附图中没有画出这些字段中的最后三个。
在LEAF数据结构里,ROOT字段包括指向这一连接的根入口或表的一个指针。PLQ字段包括当叶成为不活动的时指向这片叶要连接的PLQ的指针。字段Next包括一个指针,指向同一PLQ(不活动叶队列)或ALQ(活动叶队列)中的下一片叶。Head字段是一个指针,指向这一片叶要从中读出信元的信元队列(CQ)。Stop Flag是一个一位标志,其功能将随后介绍。
附图中没有说明的LEAF数据结构的字段中,PV/VC是一个一位标志,(1)当它的值为“1”时,就说明VPI和VCI字段都将被新值所取代,和(2)当它的值为“0”时,就说明只改变VPI的值。New-VPI字段包括新的VPI,发射这一叶的信元时这些信元会获得这一VPI。New-VCI字段包括新的VCI,发射这一叶的信元时这些信元会获得这一VCI。
在已有连接上加上一片叶时,它的信元指针(Head字段)就指向信元队列里当前的最后一个信元。叶自己则被放进一个连接的不活动叶表,并输出例如不活动叶队列数据结构中的一个队列。另外,如果在这之前这一PLQ是空的,就将它跟一个根的PLQ队列链接起来。去掉一片叶的时候,就让它进入挂起状态,表示信元队列中直到当前最后一个的所有信元都已读完。于是不将这一叶放回任意队列。这一叶的Stop Flag被置为“1”。
1.3.4不活动叶队列(PLQ)数据结构
每一个连接和输出组合都有一个不活动叶队列(PLQ)。每一个PLQ都是一个连接和输出的一个不活动叶表。每一个PLQ都包括以下字段:Next、Head、Tail、Length和Output。字段Next包括一个指针,指向跟一个根或者是激活队列里同一个PLQ队列链接的下一个PLQ。Head字段是一个指向PLQ中第一片叶的一个指针。Tail字段是指向PLQ中最后一个字段的一个指针。Length字段包括PLQ的长度。Output字段包括指向这一片叶要给它发送信元的输出ALQ(活动叶队列)的一个指针。
1.3.5活动叶队列(ALQ)数据结构
每一个物理输出端都有一个活动叶队列(ALQ)。每一个ALQ都包括以下字段:Head、Tail和Length。Head字段包括指向这一ALQ中第一片叶的一个指针。Tail字段包括指向这一ALQ最后一片叶的一个指针。Length字段储存的是这一ALQ的长度。
1.3.6激活队列(AQ)数据结构
整个端口(也就是几个物理输出端)有一个激活队列(AQ)。AQ包括以下字段:Head、Tail和Length。Head字段包括指向AQ中第一个PLQ的一个指针。Tail字段包括指向AQ中最后一个PLQ的一个指针。Length字段储存的是这一AQ的长度。
1.3.7空闲队列(IQ)数据结构
空闲队列(IQ)是这样一个队列,所有未被使用的信元位置都跟它链接。虽然在所有附图中都没有具体说明,但空闲队列确实包括一个Head字段、一个Tail字段和一个Length字段。
1.4逻辑单元
交换机输出端口26的逻辑单元,具体地说,写逻辑电路30、读逻辑电路32和激活逻辑电路34,跟图1A所示的各种数据结构相互作用。这样,两个或三个这种逻辑单元能够读写同样的数据结构。本领域里的技术人员明白,可以用各种方式来进行这种相互作用,例如使用双端口存储器(就象有两条独立的地址和两条独立的数据总线的存储器),或者通过在逻辑单元和存储器之间使用多路复用器。或者,写逻辑电路30、读逻辑电路32和激活逻辑电路34,它们一起叫做逻辑电路,可以用一个或多个微处理器来实现。
写逻辑电路30、读逻辑电路32和激活逻辑电路34本质上都是状态机,它们分别完成它们的功能。本领域里的技术人员都知道只要给定这些功能,就会有几个方法用来构造这种电路。
1.4.1写逻辑电路
写逻辑电路30完成多项功能,包括:从空闲队列60里回收空信元缓冲器位置;将到达的信元存入信元队列里并将该信元跟正确的信元队列链接(由连接号给出)、为这一链接更新根入口50里的数据、将这一链接现有的不活动叶队列(PLQ)移到激活队列里去以及从微处理器40接收添加和去掉指令并据此改变数据结构。
1.4.2读逻辑电路
读逻辑电路32完成的功能包括:选择每一个活动叶队列(ALQ)和依次读出ALQ里的第一片叶、读出这一片叶的下一信元、用新的VPI以及可能的话新的VCI值更新信元信头信息并将信元发送给正确的输出链路。此外,读逻辑电路32还减少信元里的拷贝值,如果它减到了零,信元队列里的最后一个信元缓冲器就跟空闲队列链接。
更进一步,读逻辑电路32还检查信元队列里叶是否到达了它的停止位置。如果是这样,就去掉这一片叶(也就是使它不跟任何队列结构相链接)。
读逻辑电路32还检查一片叶是否已经读完信元队列里当前储存的所有信元。如果没有,就将叶放回到活动叶队列(ALQ)里。如果已经读完,就将这片叶放到正确的不活动叶队列(PLQ)里。如果PLQ是空的,就将它放到根入口里的PLQ队列里去。
此外,读逻辑电路32还从微处理器40接收添加和去掉指令,并据此改变数据结构。
2.0叶处理
图2A说明添加第一片叶所需要的步骤,它还涉及到建立一个根。图2B说明剩下的每一片叶是如何加上去的。
2.1添加第一片叶
如同图2A里步骤2A-1所示,添加第一片叶的时候,中央处理器向微处理器40发出一个“AddLeaf”信号。这一“AddLeaf”信号包括以下参数:连接号、输出、VPI/VCI、新的VPI、新的VCI。连接号参数是这一连接的一个标识符,用于对根表直接寻址。输出参数是这一片叶要连接的链路的一个标志。VPI/VCI参数是说明这一连接是一个虚路径还是一个虚通道的一位。新的VPI参数是要插入信元信头的新的VPI值。新的VCI是要插入信元信头的新的VCI值(只针对一条虚通道)。
在步骤2A-2里,微处理器40让写逻辑电路30建立一个根。发送给写逻辑电路30的“Initiate_root”命令将连接号参数传递过去。通过将连接号写入写逻辑电路30的“指令”寄存器来执行这一命令。写逻辑电路30每一个信元时间都要读这一指令寄存器。“信元时间”是一个固定的时间段,在这段时间里,从交换机核心收到一个信元,并向输出端输出一个信元。如果在指令寄存器里发现一条新的指令,写逻辑电路30就执行这一具体指令。
如同步骤2A-3所示,响应Initiate_root指令,写逻辑电路30执行多项操作。写逻辑电路30从空闲队列(IQ)获得一个空信元位置,并让根表的Tail指向这一信元。写逻辑电路30还更新根表中的以下字段:CQ-length和N-leaves。最后,写逻辑电路30将Tail(也就是空信元的位置)值写入微处理器40能够读出来的一个寄存器里。
在图2A的步骤2A-3里,将Tail的值返回给微处理器40,而微处理器40则执行步骤2A-4。在步骤2A-4里,微处理器40在叶数据结构和PLQ(不活动叶队列)存储器里选择空闲位置。在这一点上,微处理器40有一个空闲位置表。然后微处理器40发送一条AddLeaf指令,让读逻辑电路32添加一片叶,给读逻辑电路32传递过去以下参数:连接号、输出、VPI/VCI、新的VPI、新的VCI、尾标、叶和PLQ。这些参数中的前五个在前面已经定义过;尾标参数是空信元位置、PLQ参数是一个指向不活动叶队列(PLQ)的指针。叶参数是指向微处理器40选择的空闲叶位置的一个指针。
如同步骤2A-5所示,从微处理器40收到AddLeaf指令以后,读逻辑电路32利用命令参数(例如连接号)建立这一数据结构(叶数据结构和不活动叶队列),然后通过将PLQ跟PLQ队列链接将PLQ加入PLQ队列。
2.2添加额外的叶
图2B说明添加新叶的步骤,例如已经有一个根,要添加一片新叶的步骤。在这种情况下,步骤2B-1里中央处理器发给微处理器40的信号跟步骤2A-1一样。但是步骤2B-2里给写逻辑电路30的命令是一条AddLeaf命令,它的连接号是一个参数(等于根)。
在步骤2B-3里,写逻辑电路30将根表里的N-leaves字段加一,并将尾标指针的值返回给微处理器40。收到尾标指针值以后,见步骤2B-4,微处理器在叶数据结构里选择一个空闲位置,万一这片叶是输出的第一片叶,就在不活动叶队列数据结构里再选择一个空闲位置。如果PLQ已经存在,就从微处理器40中的内部数据结构里取出指向它的指针(利用连接号和输出作为查表索引)。然后,见步骤2B-5,读逻辑电路32收到一个Addleaf指令,建立叶和PLQ(如果PLQ不存在)。如果PLQ曾经是空的,读逻辑电路32还将PLQ链接到根的PLQ队列里去。
2.2去掉一片叶
图2C是去掉一片叶总的步骤。在步骤2C-1里,微处理器40从中央处理器收到一个Remove_Leaf信号,其中指向要去掉的叶的指针是这一信号的唯一参数。在步骤2C-2里,微处理器40用一个Remove_leaf命令让读逻辑电路32将叶入口的Stop Flag设置成“1”。在步骤2C-3里,读逻辑电路32将Stop Flag设成“1”。完成步骤2C-3以后,在步骤2C-4里,微处理器40让写逻辑电路30(用一个RemoveLeaf命令)将根表里的N-leaves字段减1,并将根表里的Stop Flag字段的值设成“1”。步骤2C-5说明写逻辑电路30的反应。当下一个信元到达时,通过将缓冲器位置里的一个特殊位设置成“1”为这一个信元做上标记,并将根表里的Stop Flag重新设置成“0”。当标为停止的叶读一个信元时,它首先检查这一信元是不是标为停止的。如果是这样,就不读出信元,而且信元里的停止标记被设置成“0”。不会将这一叶插入任何一个队列。
3.0实例——连接的建立、信元的接收和发送
图3A~3F说明按照本发明的一个模式建立连接、接收和发送信元时所发生的事件。在图3A~3F中的实例中,假设只有两个输出,尽管在其它情况下很显然输出个数可能不一样(例如更多)。
图3A说明建立连接之前的有关数据结构。由于还没有建立起连接,所以只画出了激活队列(AQ)和两个活动叶队列(ALQ),具体地说是ALQ-1和ALQ-2。在所有Length字段里都置于0。
图3B说明根据图2A里的步骤2A-3建立一个只有一片叶的新连接(连接1)。见图3B,微处理器40为这一连接建立一个根表,并在LEAF数据结构里建立一片叶11,在不活动叶队列数据结构里建立一个PLQ-1队列。在这一点上,根表的PLQ-Head和PLQ-Tail字段被设置成指向PLQ-1,分别见箭头3B-1和3B-2。不活动叶队列数据结构里PLQ-1的Head和Tail字段被设置成指向叶11,分别见箭头3B-3和3B-4。将PLQ-1的Output字段设置成指向活动叶队列数据结构里的ALQ-1,见箭头3B-5。在叶11里,将Root字段设置成指向根表(见箭头3B-6),并将PLQ字段设置成指向PLQ-1(见箭头3B-7)。
如图3B和前面图2A中的2A-3所示,从空闲队列(IQ)(图3B里没有画出)里获得一个空信元位置,用信元-1表示。读逻辑电路32永远不会去读这一空信元位置。在根的CQ-Tail字段和叶11的Head字段里建立指向信元-1的指针,分别见图3B里的箭头3B-8和3B-9。根表里的PLQ-numb、CQ-length和N-leaves全部被设置成1(见图2A里的步骤2A-3)。
图3C说明一个信元(信元-2)从交换机核心进来,以及进来的信元-2跟信元队列建立链接时写逻辑电路30完成的步骤。根据根表里N-leaves字段的值,将信元-2的Copies字段设成1。将根表中CQ-length字段加一(从1变成2)。信元-2的进入使得不活动叶队列数据结构里的PLQ-1被链接到活动队列(AQ)。也就是说,将AQ字段的Head和Tail字段设置成指向PLQ-1,分别见箭头3C-1和3C-2。在这一点上,放到AQ的Head和Tail字段里去的值是从根表的PLQ-head和PLQ-tail字段获得的。根表里的PLQ-numb字段被清除(例如设置成0)。
图3D说明另一个新信元,具体地说是信元-3,从交换机核心进来,并由写逻辑电路30插入到信元队列里。信元-3进来后,根表中CQ-length字段的计数器加一,现在它的值是3。
作为激活逻辑电路34所进行的背景过程,同时也在图3D里有说明,队列PLQ-1跟活动叶队列数据结构里的ALQ-1相链接。这一链接过程有几个步骤。首先,从激活队列(AQ)的Head字段获得PLQ-1的地址(见图3C)。第二,知道了PLQ-1的地址以后,查询PLQ-1的Head字段的值以获得指向叶11的指针(见图3C)。第三,将指向叶11的指针存入活动叶队列数据结构里ALQ-1的Head和Tail字段,分别见图3D中的箭头3D-1和3D-2。
从激活队列(AQ)中获得指向叶的一个指针,存入活动叶队列数据结构中一个适当的队列里,就象前面一段所描述的那样,叫做“激活”。每一信元时间里可能会出现一次或多次激活。但如果激活队列有许多入口,不活动叶队列就可能不得不等待几个信元时间,然后才能激活。本发明通过将一串叶从PLQ到ALQ进行一次重新链接激活一个PLQ里的所有叶来减少这一时间。
图3E说明叶11读入信元-1,这由读逻辑电路32完成。要读出的信元由信元里的字段Next给出地址,而它又由叶11里的Head字段给出地址。因此,既然(见图3D)叶11里的字段Next指向的是信元-1(它是一个空信元),就查询信元-1里的字段Next的值以确定下一步读那一个信元。因为,见图3D,(空)信元-1里的字段Next指向信元-2,因此,信元-2就在图3E里被读出来。然后,改变叶11的Head字段,让它指向信元队列里的下一片叶,也就是说现在指向的是信元-2,见箭头3E-1。将信元-2的Copies字段里的计数器减一,使它变成0,见图3E。既然信元-2中Copies字段的值变成了0,就将信元-1移到空闲队列(IQ)里去,见图3E。根表的CQ-length字段里的计数器的值也被减一(变成2,见图3E)。虽然图3E里没有说明,但在叶11读出信元-2时,就将叶11暂时从队列ALQ-1中拿出来。然而由于叶11仍然是活动的,它被放回到队列ALQ-1里,这就是图3E所示的情况,见箭头3E-2和3E-3。
图3F说明叶11如何利用读逻辑电路32读出信元-2。跟参考图3E所作的介绍一样,信元里的字段Next指向要读出的信元,叶11里的Head字段则指向这一信元。因此,既然叶11里的字段Next指向信元-2(见图3E),就查询信元-2里字段Next的值,以确定下一个要读那一个信元。见图3E,既然信元-2的Next字段指向信元-3,就在图3F里读出信元-3。从一片叶里读出一个信元时,要更新这一片叶中Head字段的值,并跟根表的CQ-tail字段的值比较。如果这两个值相等,这一片叶就再也没有信元需要读出。这种情况实际上发生在图3F里,其中叶11的Head字段更新过的值(见箭头3F-1)等于根表的CA-tail字段的值(见箭头3F-2)。既然叶11没有任何信元要读,就从活动叶队列数据结构里的ALQ-1队列里去掉叶11,将它放到不活动叶队列数据结构的PLQ-1队列里去。这通过从ALQ-1的Head和Tail字段中去掉指向叶11的指针,并在叶11的PLQ字段里放入一个指向PLQ-1的指针而实现(见图3F的箭头3F-3)。与此同时,让PLQ-1的Head和Tail字段指向叶11,分别见箭头3F-4和3F-5。由于这一添加的叶是PLQ(长度=0)里的第一个,因此将PLQ添加到对应根的PLQ队列里去。这用图3F中的箭头3F-6和3F-7表示。
4.0实例——在一个已有连接上添加新的叶
图4A~4F说明将一片新叶添加到一个已有连接上去所进行的步骤。在图4A~4F中的情形里,又是为了简单起见,假设只有两个输出,尽管很显然在其它情况下可能会由不同数量(例如更多)的输出。此外,在图4A中,假设在早些时候已经建立好叶11,而且这一叶11是活动的(也就是说正在从信元队列中读取信元)。事实上,在图4A~4F里,假设活动叶队列数据库里的队列ALQ-1包括其它连接的叶。虽然在图4A里没有画出这种其它叶,但箭头4A-1和4A-2反映了存在这种其它叶。同样,叶11的字段Next指向另一个活动叶(见图4A中的箭头4A-3)。
如图4A所示,读逻辑电路32建立起叶12,将它跟不活动叶队列数据结构里的队列PLQ-1链接起来,而且PLQ-1跟根表相链接。由于叶11是活动的,在建立这种连接的同时,不活动叶队列数据结构里队列PLQ-1的Head和Tail字段被设置成指向叶12,分别见图4A中的箭头4A-4和4A-5。通过PLQ-1,叶12跟根表链接,因为如上所述,队列PLQ-1的Head和Tail字段指向叶12,而且根表的PLQ-tail和PLQ-head字段的值指向队列PLQ-1(分别见箭头4A-6和4A-7)。
图4B说明读逻辑电路32为第二个输出建立第一片叶,具体而言是叶21。为另一个输出(第二个输出)建立第一片叶时,在不活动叶队列数据结构里建立一个队列PLQ-2。如同箭头4B-1所示,通过将PLQ-1队列里字段Next和根表的PLQ-tail字段里的值设置成指向PLQ-2,队列PLQ-2跟这一根的PLQ-1链接,分别见图4B中的箭头4B-1和4B-2。另外,字段PLQ-numb里的计数器增加到2,说明既有PLQ-1又有PLQ-2。PLQ-2的Head和Tail字段被设置成指向新的叶21(分别见箭头4B-3和4B-4),叶21的PLQ字段被设置成指向PLQ-2(见箭头4B-5)。叶21的Head字段被设置成指向当前根入口中CQ-tail指针正指向的那一个信元(例如,图4B中的信元-11,见箭头4B-6)。叶21的Root字段被设置成指向根表,见箭头4B-7。
图4C说明读逻辑电路32为第二个输出建立第二片叶,也就是叶22。通过(1)让PLQ-2的Tail字段里的值指向叶22[见箭头4C-1]和(2)让叶21里的字段Next的值指向叶22[见箭头4C-2],叶22跟不活动叶队列数据结构里的队列PLQ-2相链接。另外,将队列PLQ-2的Length字段里的计数器加一,现在它的值是2(因为有两个不活动叶,也就是叶21和叶22,由队列PLQ-2跟踪)。在图4C里,叶11(它仍然是活动的)没有读出更多的信元,也没有从交换机核心收到更多的信元。
图4D说明从交换机核心进来一个信元,也就是信元-12,以及写逻辑电路30所执行的步骤。要注意,信元-12的叶数是4,因此将信元-12的字段Copies的值设置成4(等于N-leaves)。
图4D里信元-12的进入使得写逻辑电路30将队列PLQ-1和队列PLQ-2移到激活队列(AQ)里去。在这一点上,激活队列(AQ)的Head字段被设置成指向队列PLQ-1(见箭头4D-1);激活队列(AQ)的Tail字段被设置成指向队列PLQ-2(见箭头4D-2)。要记住,PLQ-1的字段Next指向PLQ-2,见箭头4B-1,形成PLQ-1和PLQ-2之间一个完整的链接。
在图4D里,为了简单起见,激活队列(AQ)已经是空的。当然,激活队列(AQ)可能还包括其它连接的PLQ。在这种情况下,只将Tail设置成指向PLQ-2,在这之前由Tail指向的PLQ的指针Next也被设置成指向PLQ-2。
在图4E里,信元-13从交换机核心过来,并由写逻辑电路30进行处理。将根表中CQ-length计数器加一。至于信元-12,信元-13的叶数是4,因此,信元-13的Copies字段的值被设置成4。图4E还说明已经按照激活逻辑电路34从激活队列(AQ)里读出队列LPQ-1,而且叶12已经被激活。而在此之前只有叶11被激活,在图4E里,叶12也被激活。
在图4E里,从激活队列(AQ)里读出PLQ-1是由激活队列(AQ)的Head字段不再指向队列PLQ-1,而是指向PLQ-2来说明的(见箭头4E-1)。叶12的激活是由另一片(没有画出)活动叶指向叶12(见箭头4E-2),ALQ-1的Tail字段也指向叶12(见箭头4E-3)这一事实来说明的。
图4F说明叶11和叶21如何读出信元,以及在不活动叶队列数据结构里如何激活队列PLQ-2。考虑叶11如何读出一个信元(由读逻辑电路32来完成),如图4E所示,在此之前叶11的Head字段指向信元-10。因此,信元-10的字段Next的值被用于指向要读出的下一个信元,也就是信元-11。当叶11读出信元-11时,将信元-11的Copies字段的计数器减至0。然后将叶11的Head字段里的指针更新成指向信元-11,见箭头4F-1。既然再也没有任何叶的Head字段指向信元-10,就将信元-10移到空闲队列(IQ)里。接着根表中CQ-length字段里的计数器减一(在图4F里它变成3)。
同样,考虑图4F中叶12如何读取信元,如图4E所示,叶12的Head字段在此之前指向的是信元-11。因此,信元-11的字段Next的值用来指向要读出的下一个信元,也就是信元-12。当叶12读出了信元-12后,信元-12的Copies字段里计数器从4减到3。而且随后更新叶12的Head字段里的指针,让它指向信元-12,见箭头4F-2。
图4F还说明激活逻辑电路34如何激活不活动叶队列数据结构里的队列PLQ-2。也就从激活队列(AQ)中去掉对PLQ-2的引用。而且,为了激活队列PLQ-2,在激活叶队列数据结构里,将叶21和叶22跟队列ALQ-2链接。为此,ALQ-2的Head字段被设置成指向叶21(见箭头4F-1),ALQ-2的Tail字段被设置成指向叶22(见箭头4F-2)。回想起在此之前叶21的字段Next被设置成指向叶22,而在图4F中叶21和叶22则是都跟ALQ-2相链接。
这样,如上所述,图4A~4F说明了如何将新叶添加到已有连接里去。还说明了为了第二个输出在不活动叶队列数据结构,具体地说在队列PLQ-2中,如何建立第二个队列,以及如何使分配给这种队列的这些链接变成活动的和不活动的。
5.0实例——撕下一片叶
图5A~5D说明从一个已有连接去掉,例如撕下,一片叶时所发生的事件。在图5A~5D介绍的实例中,为了简单起见,假设只有两个输出,尽管在其它情况下可以采用其它数目(例如更多)的输出。此外,在图5A中,有两片叶,也就是叶11和叶21,而且这两片叶都是活动的。信元队列里有三个信元,信元-20、信元-21和信元-22。
在图5A中,要从链接中撕下,也就是去掉叶21。这可以从根表的Stop Flag位“1”以及叶21的Stop Flag也是“1”看出来。这些Stop Flag是在图2C中的步骤2C-3和2C-5里设置的。此外,尽管在图5A所示的时刻之前,根表的N-leaves字段里计数器的值是2,但是图5A说明去掉叶21时N-leaves字段的值被减至一(步骤2C-5)。
图5B说明有一个新信元,也就是信元23,从交换机核心到达,还说明叶21如何读取信元21。由于写逻辑电路30为信元-23将根表里的N-leaves字段设置成1,信元-23里的Copies字段也同样被设置成1。收到信元-23时,根表里的CQ-length计数器加一,但为了将信元-20移到空闲队列里,将CQ-length计数器减一,从而使得CQ-length计数器的值回到3,如图5B所示。
在收到去掉叶指令以后,新信元也就是信元-23的到达,使得新信元将它的Stop Flag字段设置成“1”,将根表里的Stop Flag字段设置回0(“0”),见图5B。从那以后,不管什么时候标为停止的叶要读取一个信元,例如Stop Flag被设置成“1”的信元21要读取一个信元时,都要检查正在读的信元是否是标为停止的(也就是将它的Stop Flag设置成“1”)。
读信元之前,叶21的Head字段指向信元-20,见图5A。因此,信元-20中字段Next的指针被用来确定叶21,也就是信元-21,下一个要读哪一个信元。叶21进行检查,以确认信元-21没有被标为停止,它确实没有被标为停止(既然信元-21的Stop Flag被设置成0)。读完信元-21以后,叶21的Head字段被更新,使它指向信元-21(见箭头5B-1),而且信元-21的Copies字段被减一(现在它变成了0,见图5B)。
图5C说明已经用参考图5B所介绍的方法读入信元-22,刚刚准备好读下一个信元。这样做的时候,查询叶21的Head字段里的值,并确定它指向信元-22。于是利用信元-22的字段Next来获得指向叶21要读的下一个信元的指针。信元-22的字段Next指向信元-23。
当叶21下一步试图读取信元-23时,叶21会注意到信元-23已经被标为停止的(也就是信元-23的Stop Flag被设置成“1”)。在这种情况下,不读信元-23。相反,将叶21去掉,而且不放回任何队列。然后将信元-23的Stop Flag设回0。
图5D说明已经去掉了叶21,就象前面利用图5C所介绍的那样。信元-22已经被叶21读出这一事实可以从信元-22的Copies字段被减一看出。既然去掉了叶21,而且队列PLQ-2只有叶21的入口,也就将不活动叶队列数据结构里的队列PLQ-2去掉。此外,所有的信元在它们的Copies字段里都有正确的值。信元-23将它的Stop Flag设置为0。
到此为止,已经介绍了一种技术,将它用于信元的多点传送,将叶从已有连接中去掉,或者添加到连接上去。
此外,本发明能够有效而经济地处理活动和不活动叶。已经看到根据本发明,对于多点传送信元的一个不活动叶,叶表被链接到一个适当的不活动叶队列的不活动叶。但从交换机核心收到一个信元时,不活动叶队列中合适的一个被链接到一个激活队列。然后在一个活动叶队列里设置一个指针,让它指向一个叶表,不活动叶队列中有一个合适的队列指向该叶表。
本发明能要求一个激活时间。本发明通过例如让一个PLQ中所有的叶被从PLQ到ALQ之间对叶串进行一次重新连接而得到激活来使激活时间最小。
尽管介绍本发明时参考了优选实施方案,显然,对于本领域里的技术人员来说,可以在形式和内容上对它们做各种修改,而不会偏离本发明的范围和实质。例如,通过添加更多的活动叶表,并在跟同一条物理输出链路有关的标志间增加调度机理,可以引入几个服务质量等级。
Claims (19)
1.一种交换装置(20),通过它将信元传递给多个物理输出链路中的一个或多个输出链路,该交换装置有一个信元缓冲器(62),用来从一个交换机核心(22)接收信元;
其特征在于还包括:
存储器装置,用于为多点传送连接的每一片叶提供一个叶表(56),
一个逻辑电路(30,32),用于操作每个叶表,使得每一个叶表具有一个指针,指向信元缓冲器(62)中一个对应的信元,其中不同叶表的指针可能指向信元缓冲器里不同的信元,其中,不活动叶有它自己的叶表,指向信元缓冲器里最后一个信元,活动叶有它自己的叶表,指向信元缓冲器中除最后一个信元以外的一个信元。
2.一种信元输出装置(26N),它能从交换机核心(22)接收信元,通过该交换机核心(22)信元被传递到多个物理输出链路中的一个或多个,该装置有一个信元缓冲器(62),它能从交换机核心接收信元;
其特征在于还包括:
存储器装置,用于为多点传送连接的每一片叶提供一个叶表(56),
一个逻辑电路(30,32),用于操作每个叶表,使得每一个叶表都有一个指针,指向信元缓冲器里对应的一个信元,其中不同叶表的指针可能指向信元缓冲器里不同的信元,其中,不活动叶有它自己的叶表,指向信元缓冲器里最后一个信元,活动叶有它自己的叶表,指向信元缓冲器中除最后一个信元以外的一个信元。
3.权利要求1或2的装置,还包括:
一个激活队列(54);
一个物理输出链路的一个活动叶队列(ALQ);
其中通过将不活动叶放入激活队列然后再放入活动叶队列来激活不活动叶。
4.权利要求1或2的装置,其中当一个新信元进入信元缓冲器而且不活动叶被激活时,信元缓冲器刚才的最后一个信元有一个指针指向这一新信元,通过用信元缓冲器中刚才最后一个信元的指针指向信元缓冲器里新信元占据的位置,更新不活动叶表(52)的指针。
5.权利要求1或2的装置,还包括:
一个激活队列(54);
一个物理输出链路的一个活动叶队列(ALQ);和
一个逻辑电路(30、32),从交换机核心收到一个信元时,该逻辑电路将不活动叶队列(PLQ)跟激活队列链接,然后在活动叶队列里设置一个指针,指向叶表。
6.权利要求1或2的装置,还包括一个根表(50),其中的逻辑电路(30、32)利用储存在根表(50)中指向不活动叶队列(PLQ)中的一个指针将不活动叶队列(PLQ)跟激活队列(54)链接。
7.权利要求1或2的装置,还包括一个根表(50),其中的逻辑电路通过将叶表里储存的一个头标指针跟储存在根表中的一个信元缓冲器尾标指针进行比较,确定在信元缓冲器中是不是再也没有活动叶要读出的信元,储存在叶表里的头标指针指向信元缓冲器里该叶为这一活动链路读取的最后一个信元,信元缓冲器尾标指针指向信元缓冲器中的最后一个信元。
8.权利要求1或2的装置,还包括一个根表(50),其中的信元缓冲器用于确定从交换机核心读出的信元中哪些信元要从交换装置里读出,其中的根标在其中中储存了信元缓冲器的多个入口、信元缓冲器中最后一个信元的地址以及信元缓冲器指向的最新读出的信元的多片叶。
9.控制异步传输模式(ATM)交换装置(20)的一种方法,ATM信元通过这一装置传递到多个物理输出链路中的一个或多个上去,该方法包括:
(1)在存储器里建立:
(i)不活动叶队列(PLQ),为多点传送连接的多个物理输出链路中的每一个都这样做;和
(ii)一个叶表(56),当添加一片叶子时为多点传送连接的每一片叶都这样做,这一叶表有一个指针用于为相应的叶确定要从信元缓冲器(62)读出的下一个信元;
(2)对于这一多点传送连接的一片不活动叶,将这一不活动叶的叶表跟不活动叶队列中合适的一个队列链接起来;
(3)从交换机核心(22)收到一个信元时,将不活动叶队列中合适的一个队列跟一个激活队列(54)链接起来,然后在一个活动叶队列(ALQ)里设置一个指针,指向这些不活动叶队列中合适的一个指向的一个叶表(56)。
10.权利要求9的方法,其中将不活动叶队列中合适的一个队列跟激活队列链接利用了一个指针,该指针指向储存在一个根表中不活动叶队列中合适的一个队列。
11.权利要求9的方法,对于活动叶还包括,将该指针保存在活动叶队列中合适的一个队列里,直到信元缓冲器里活动叶再也没有信元要读出。
12.权利要求11的方法,还包括通过将储存在叶表里的头标指针跟储存在根表里的信元缓冲器尾标指针进行比较,确定信元缓冲器里是不是再也没有信元需要为活动叶读出,储存在叶表里的头标指针指向活动链路的信元缓冲器中的下一个信元,信元缓冲器尾标指针指向该信元缓冲器中最后一个信元。
13.权利要求9的方法,还包括在某一叶试图读取已经设置了停止标志的一个信元时,去掉这一叶,停止标志是在收到一个命令要去掉从交换机核心进来的第一个信元以后为了这一信元而设置的。
14.一种ATM交换机(2),用于从ATM交换机核心(22)接收信元,所述ATM交换机有一个输出端口(26A),这一输出端口有多个物理输出端,还有一个信元缓冲器(62),其中储存了从ATM交换机核心收到的信元,
其特征在于还包括:
存储器装置,用于提供根数据结构(50)、叶数据结构(56)、不活动叶队列(PLO)和活动叶队列(ALQ),所述根数据结构(50)具有用于每一个多点传送连接的一个入口;
所述叶数据结构(56)具有用于上述多点传送连接中每一片叶的一个叶入口;
所述不活动叶队列(PLQ)与不活动叶的叶入口相链接;
所述活动叶队列(ALQ)与活动叶的叶入口相链接,每一个物理输出端都有一个活动叶队列;
一个逻辑电路,它被操作以使得当一个新信元进入信元缓冲器时,跟一个不活动叶队列相链接的多个叶入口都跟一个对应的活动叶队列重新链接。
15.权利要求14的ATM交换机,还包括:
一个激活队列(54);
一个写逻辑电路(30);
一个激活逻辑电路(34);和
其中当一个新信元进入信元缓冲器时,写逻辑电路将不活动叶队列跟激活队列链接,激活逻辑电路利用激活队列和不活动叶队列将叶入口跟对应的活动叶队列相链接。
16.权利要求14的ATM交换机,其中为一个已有连接建立一片新叶时,在叶数据结构里为这一片新叶建立起一个叶入口,并为已有连接将它跟不活动叶队列链接。
17.权利要求14的ATM交换机,其中建立一个新的连接时,为这一新连接建立一个不活动叶队列,并将它跟在此之前已有的不活动叶队列和根数据结构相链接。
18.权利要求14的ATM交换机,其中要去掉一个选定的叶入口时,将这一选中的叶入口里的停止标志字段设置成一个预定停止值,将从交换机核心收到的下一个信元里的停止标志字段设置成一个预定停止值,当选中的要去掉的叶入口试图读取下一个收到的信元时,将选中的叶入口去掉。
19.权利要求18的ATM交换机,其中去掉了选中的叶入口以后,修改下一个收到的信元中停止标志的预定停止值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/890,758 US5963553A (en) | 1997-07-11 | 1997-07-11 | Handling ATM multicast cells |
US08/890,758 | 1997-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1270750A CN1270750A (zh) | 2000-10-18 |
CN1143591C true CN1143591C (zh) | 2004-03-24 |
Family
ID=25397112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988090694A Expired - Fee Related CN1143591C (zh) | 1997-07-11 | 1998-07-10 | 异步传输模式多点传送信元的处理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5963553A (zh) |
JP (1) | JP3505510B2 (zh) |
CN (1) | CN1143591C (zh) |
AU (1) | AU8368098A (zh) |
GB (1) | GB2342812B (zh) |
WO (1) | WO1999003299A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE520265C2 (sv) * | 1997-04-01 | 2003-06-17 | Ericsson Telefon Ab L M | Förfarande och anording för rättvis fördelning av bandbredd i en ATM-växel |
SE520465C2 (sv) | 1997-07-11 | 2003-07-15 | Ericsson Telefon Ab L M | Redundansterminering i flerstegsväxel för ATM-trafik |
US6304579B1 (en) * | 1998-07-02 | 2001-10-16 | Ricoh Company, Ltd. | Method and apparatus for sending a 1×N communication message |
US6396847B1 (en) | 1999-06-03 | 2002-05-28 | Fujitsu Networks Communications, Inc. | Dialable data services/TDM bandwidth management |
US6498792B1 (en) | 1999-06-03 | 2002-12-24 | Fujitsu Network Communications, Inc. | Method and apparatus for switching signals of multiple different communication protocols |
US6674751B1 (en) * | 1999-06-03 | 2004-01-06 | Fujitsu Network Communications, Inc. | Serialized bus communication and control architecture |
US6891836B1 (en) | 1999-06-03 | 2005-05-10 | Fujitsu Network Communications, Inc. | Switching complex architecture and operation |
US6317426B1 (en) * | 1999-06-03 | 2001-11-13 | Fujitsu Network Communications, Inc. | Method and apparatus for hybrid protection in a switching network |
US6754211B1 (en) * | 1999-12-01 | 2004-06-22 | Mosaid Technologies, Inc. | Method and apparatus for wire speed IP multicast forwarding |
US6621825B1 (en) * | 1999-12-29 | 2003-09-16 | Alcatel Canada Inc. | Method and apparatus for per connection queuing of multicast transmissions |
US6738376B1 (en) | 2000-04-07 | 2004-05-18 | International Business Machines Corporation | Method and system for managing multicast traffic |
US7016369B2 (en) * | 2000-12-22 | 2006-03-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Binding information for telecommunications network |
US6912390B2 (en) * | 2000-12-22 | 2005-06-28 | Telefonaktiebolaget Lm Ericsson | Connection handling in SRNC relocation |
US6996071B2 (en) * | 2001-04-30 | 2006-02-07 | Adtran Inc. | Binary decision tree-based arbitrator for packetized communications |
CN1217543C (zh) * | 2002-06-28 | 2005-08-31 | 国际商业机器公司 | 对等视频点播系统中的设备和方法 |
US20050157719A1 (en) * | 2004-01-20 | 2005-07-21 | Robotham Robert E. | Method and apparatus for multicasting of cell or frame data |
CN102984089B (zh) * | 2012-11-19 | 2018-09-28 | 中兴通讯股份有限公司 | 流量管理调度方法及装置 |
CN114221818A (zh) * | 2021-12-21 | 2022-03-22 | 深圳铸泰科技有限公司 | 基于交换树上报五元组的方法、系统、终端及存储介质 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05122240A (ja) * | 1991-10-24 | 1993-05-18 | Fujitsu Ltd | Atm伝送におけるvpi,vci割り当て方式 |
DE69132824T2 (de) * | 1991-12-23 | 2002-06-27 | Alcatel Sa | Verfahren zur Reduzierung der Anzahl der Bits in einem binären Adresswort |
US5367520A (en) * | 1992-11-25 | 1994-11-22 | Bell Communcations Research, Inc. | Method and system for routing cells in an ATM switch |
JPH0744545B2 (ja) * | 1993-01-21 | 1995-05-15 | 日本電気株式会社 | Atmセル分解/組立てシステム |
US5506847A (en) * | 1993-04-26 | 1996-04-09 | Kabushiki Kaisha Toshiba | ATM-lan system using broadcast channel for transferring link setting and chaining requests |
US5420858A (en) * | 1993-05-05 | 1995-05-30 | Synoptics Communications, Inc. | Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium |
JP3044983B2 (ja) * | 1993-08-25 | 2000-05-22 | 株式会社日立製作所 | Atmスイッチングシステムのセル制御方法 |
US5467349A (en) * | 1993-12-21 | 1995-11-14 | Trw Inc. | Address handler for an asynchronous transfer mode switch |
US5504743A (en) * | 1993-12-23 | 1996-04-02 | British Telecommunications Public Limited Company | Message routing |
JP3159351B2 (ja) * | 1994-03-03 | 2001-04-23 | 日本電気エンジニアリング株式会社 | 交換機のスイッチ制御情報管理方式 |
EP0676878A1 (en) * | 1994-04-07 | 1995-10-11 | International Business Machines Corporation | Efficient point to point and multi point routing mechanism for programmable packet switching nodes in high speed data transmission networks |
EP0680235B1 (en) * | 1994-04-28 | 2001-09-12 | Hewlett-Packard Company, A Delaware Corporation | Channel identifier generation |
US5455825A (en) * | 1994-04-28 | 1995-10-03 | Mitsubishi Electric Research Laboratories | Tag-based scheduling system for digital communication switch |
JP2655481B2 (ja) * | 1994-04-28 | 1997-09-17 | 日本電気株式会社 | 出力バッファ型atmスイッチにおける優先制御方法 |
EP0680179B1 (en) * | 1994-04-28 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Multicasting apparatus |
US5418786A (en) * | 1994-06-17 | 1995-05-23 | Motorola, Inc. | Asynchronous transfer mode (ATM) method and apparatus for communicating status bytes in a manner compatible with the utopia protocol |
US5483526A (en) * | 1994-07-20 | 1996-01-09 | Digital Equipment Corporation | Resynchronization method and apparatus for local memory buffers management for an ATM adapter implementing credit based flow control |
US5414701A (en) * | 1994-07-22 | 1995-05-09 | Motorola, Inc. | Method and data structure for performing address compression in an asynchronous transfer mode (ATM) system |
US5515359A (en) * | 1994-08-26 | 1996-05-07 | Mitsubishi Electric Research Laboratories, Inc. | Credit enhanced proportional rate control system |
DE69533853T2 (de) * | 1994-10-27 | 2005-05-19 | Marconi Intellectual Property (Ringfence) Inc., Warrendale | Methode und Apparat für Mehrfachsendung von ATM-Zellen |
US5530806A (en) * | 1994-12-15 | 1996-06-25 | At&T Corp. | Method and apparatus for storing and retrieving routing information in a network node |
US5815737A (en) * | 1995-06-05 | 1998-09-29 | Pmc-Sierra, Inc. | Approach for identifying a subset of asynchronous transfer mode (ATM) VPI/VCI values in the complete VPI/VCI range |
US5546377A (en) * | 1995-10-31 | 1996-08-13 | Digital Equipment Corporation | Efficient distributed method for computing max-min fair rates of a limited resource in ATM networks |
US5689505A (en) * | 1996-01-16 | 1997-11-18 | Lucent Technologies Inc. | Buffering of multicast cells in switching networks |
-
1997
- 1997-07-11 US US08/890,758 patent/US5963553A/en not_active Expired - Lifetime
-
1998
- 1998-07-10 AU AU83680/98A patent/AU8368098A/en not_active Abandoned
- 1998-07-10 WO PCT/SE1998/001365 patent/WO1999003299A1/en active Application Filing
- 1998-07-10 JP JP2000501628A patent/JP3505510B2/ja not_active Expired - Fee Related
- 1998-07-10 CN CNB988090694A patent/CN1143591C/zh not_active Expired - Fee Related
- 1998-07-10 GB GB0000453A patent/GB2342812B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB0000453D0 (en) | 2000-03-01 |
JP2001509655A (ja) | 2001-07-24 |
GB2342812A (en) | 2000-04-19 |
GB2342812B (en) | 2002-11-06 |
WO1999003299A1 (en) | 1999-01-21 |
JP3505510B2 (ja) | 2004-03-08 |
AU8368098A (en) | 1999-02-08 |
GB2342812A8 (en) | 2000-05-11 |
CN1270750A (zh) | 2000-10-18 |
US5963553A (en) | 1999-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1143591C (zh) | 异步传输模式多点传送信元的处理 | |
EP0691772B1 (en) | Communication system, server and method for address management | |
CN1021401C (zh) | 通信交换网络的交换节点 | |
CN1294727C (zh) | 可扩展的电信系统 | |
CN1130948C (zh) | 点对点和/或点对多点atm信元的缓存 | |
AU664741B2 (en) | Voice and/or facsimile mail system | |
CN1127833C (zh) | 分组处理设备、分组处理方法和分组交换 | |
JP3124647B2 (ja) | フレームリレーモジュール制御方式 | |
EP0676878A1 (en) | Efficient point to point and multi point routing mechanism for programmable packet switching nodes in high speed data transmission networks | |
JP2002538718A (ja) | 多重atmセル・キューを管理する方法および装置 | |
CN1192679C (zh) | 异步传送模式交换机中的自配置处理器 | |
US6219352B1 (en) | Queue management with support for multicasts in an asynchronous transfer mode (ATM) switch | |
CN87108159A (zh) | 分组交换网 | |
JPH06188831A (ja) | パーソナル通信方式 | |
CN1155362A (zh) | 智能通信网络 | |
US5841772A (en) | ATM communication system interconnect/termination unit | |
US5732082A (en) | System and method for multi-frame received queuing with sorting in an asynchronous transfer mode (ATM) system | |
CN1130951C (zh) | 多级异步转移模式节点的分段性能监视 | |
CN1030679A (zh) | 通信系统、部件及其使用方法 | |
CN1046387C (zh) | 一种通用交换机 | |
US5519507A (en) | Batching and delayed transmission of facsimiles | |
JP2000503179A (ja) | 交換装置 | |
CN1233193C (zh) | 专用小交换机系统 | |
CN1152529C (zh) | 在用户单元中恢复异常控制信元的装置和方法 | |
JPH0642749B2 (ja) | デイジタル加入者線制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040324 Termination date: 20140710 |
|
EXPY | Termination of patent right or utility model |