ATM交换装置和方法 【发明背景】
【技术领域】
本发明涉及ATM交换,尤其涉及通过用固定位掩码至少一个或多个目的节点来实现多点传送的ATM交换装置和方法。
相关技术背景
通常,异步传输模式(ATM)技术使用用于语音通信的交换技术来处理数据通信。
ATM使用虚通道电路交换以具有固定长度53字节单元的信元来传输数据。换句话说,ATM是用于根据存在于由输入端口输入的信元的报头的虚通道标志/虚信道标志(VPI/VCI)的值通过与预定的发送列表有关的适当的输出端口将信元传输到目的地址的交换器。
图1是示出相关技术的ATM信元的标准结构形式的图。ATM信元通常被分为在其上加载数据的48字节的有效负载和在其上加载控制信息的5字节的报头。报头包括表示通信调整信息的通用流量控制(generic flow control)(GFC)、用于设置虚通道/虚信道地VPI/VCI、用于表示用户信息存在的有效负载类型(PT)、表示信元的删除优先级的信元损耗优先级(CLP)以及用于探测报头误差的报头误差检查(HEC)。
为了在宽带综合业务数字网络(BISDN)中实现多点传送通信,其中BISDN使用具有如上报头结构的标准ATM信元,需要将一个输入源复制和输出点同样的数量然后路由器指定输入点。在实现这些功能的所提倡的方法中,典型的是复制网络,在该网络中反馈输出的信元并再通过输入缓冲器来缓冲。此时,产生降低ATM交换性能的信元延迟。
【发明内容】
本发明的目的在于解决至少以上问题和/或缺陷并提供至少在下文中描述的优点。因此,本发明涉及基本消除一个或多个由于相关技术的局限和缺陷造成的问题的ATM交换装置和方法。
本发明的实施例提供当电路交换系统的内部总线用ATM信元而不是BISDN的ATM信元配置时,能实现多点传送而在交换中不产生信元延迟的ATM交换装置和方法,这是通过重新定义ATM信元的报头以使它适于多点传送通信实现的。
本发明的进一步的实施例提供ATM交换方法,它包括:存储接收到的信元、信元缓冲器地址和传输次数值,其中,接收到的信元包括目的地址和传输次数值并且信元缓冲器地址存储单元存储信元缓冲器地址;以及根据通过加载和调度队列有关的调度器得到的控制信息传送接收到的信元,该调度队列中存储了信元缓冲器地址。
控制信息可以包括目的地址和信元缓冲器地址。ATM交换方法还包括:使用传输次数值,确定是否有需继续传输信元,传输次数值是通过加载调度器得到的;如果没有信元要继续传送,则将控制信息的信元缓冲器地址存储到信元缓冲器存储单元;而如果有信元要继续发送,则在先前的传输次数值存储的同一区域更新经减法运算后的传输次数值的值。
根据本发明的实施例,ATM交换方法包括:a)检查来自通过接收接口的临时存储的信元的目的地址和传输次数值,并从信元缓冲器地址存储单元接收信元缓冲器地址;将信元存储到对应于信元缓冲器地址的信元缓冲器,将传输次数值存储到对应于信元缓冲器地址的调度队列,并将信元缓冲器地址存储到对应于目的地址的调度表;b)通过顺序地加载调度队列来得到第一控制信息;以及c)根据控制信息通过发送接口传输存储于信元缓冲器的信元。
第一控制信息可以包括第一目的地址和信元缓冲器地址。此外,ATM交换方法还包括:从使用从调度器得到的第一控制信息的信元缓冲器地址的调度列表得到传输次数值;确定传输次数值的减法运算后的值是否是0;如果该减法运算后的值不是0,则再将该减法运算后的发送次数值存储到对应于信元缓冲器地址的调度列表;如果减法运算后的值是0,将第一控制信息的信元缓冲器地址存储到信元缓冲器地址存储单元;如果减法运算后的传输次数值再次存储到调度列表,则通过重复进行步骤c)来得到第二控制信息;并通过发送接口根据第二控制信息传输存储于信元缓冲器的信元。
第二控制信息可以包括第二目的地址和信元缓冲器地址。第一控制信息的第一目的地址不同于第二控制信息的第二目的地址。第一控制信息的信元缓冲器地址和第二控制信息的信元缓冲器地址相同。
根据本发明的另一个实施例,ATM交换装置包括:用于检查来自通过接收接口接收的信元的目的地址和传输次数值的接收信元控制装置,将由信元缓冲器地址存储装置提供的信元缓冲器地址存储入对应于目的地址的调度队列,并将传输次数值存储入对应于信元缓冲器地址的调度列表;用于通过加载调度队列得到第一控制信息的调度器,并确定是否还有另一个待传输的使用第一控制信息的目的地址;以及用于通过发送接口根据调度器提供的第一控制信息来传送信元的发送信元控制装置。
接收信元控制装置将信元存储入对应于信元缓冲器地址的信元存储装置。信元存储装置包括分配有信元缓冲器地址的多个信元缓冲器。目的地址被分配到调度队列,并提供多个子调度队列,信元缓冲器地址被存储于对应于对信元掩码的目的地址的子调度队列。调度列表包括分配有信元缓冲器地址的多个子列表,其中子列表的数量等于在信元存储装置提供的信元缓冲器的数量。
调度器确定传输次数值的减法运算后的值是否为0,如果是0,则第一控制信息的信元缓冲器地址被存储到信元缓冲器地址存储装置。如果减法运算后的值不是0,则减法运算后的值被存储到调度列表以便对应于信元缓冲器地址。如果调度器将减法运算后的传输次数值存储到调度列表,则从调度队列得到第二控制信息并将其发送到发送信元控制单元,而存储于信元缓冲器的信元通过发送接口发送。
应该理解,前述本发明的概述和随后详细的描述都是例示性的和解释性的,意在如所声明的提供本发明的进一步解释。发明的其它优点、目的和特性将部分地在以下的描述中阐述,其中的部分对于在本技术领域的熟练的技术人员在以下部分的检验或在发明的实施的认识上是显而易见的。本发明的目的和优点可以如所附权利要求中特别指出的来了解和得到。
附图概述
附图用来提供本发明的进一步的理解,并结合在一起构成本申请的一部分,说明本发明的实施例,并和描述一起用来描述本发明的实施例。在附图中:
图1是示出常规ATM信元的标准结构形式的示意图;
图2是说明本发明的ATM交换装置的结构的示意图;
图3是说明本发明的实施例的ATM信元的结构形式的示意图;以及
图4是示出本发明的实施例的ATM交换装置的交换信元的方法的流程图。
【具体实施方式】
现在将参考附图2详细描述本发明的实施例。图2是说明根据本发明的实施例的ATM交换装置的结构的图。
参考图2,ATM交换装置包括接收接口310、接收信元临时存储单元312-1至312-n、接收信元控制单元320、信元存储单元330、信元缓冲器地址存储单元332、调度队列(schedule queue)361、调度列表363、调度器(scheduler)360、发送信元控制单元340、发送信元临时存储单元351-1至351-n和发送接口350。
接收接口310将通过内部物理层接收的信元存储到接收信元临时存储单元312-1至312-n。此处,如图3所示,信元包括能支持16个节点的16位(即,2字节)的路由字段。在该路由字段中,一个节点可以被掩码一位。换句话说,如果信元被发送到节点2、4和8,则相应于各节点的路由字段的位被掩码。随后,ATM交换装置确定路由字段中的掩码位并传输信元到这些相应的节点。
当然,用户控制字段是用户可以定义的区域。因此,用户控制字段可以通过定义用户控制字段为路由字段来被用作路由字段。如果除了标准控制区域的用户控制字段被用作路由字段,则可以支持最大28个节点。
仅为说明起见,假定本发明的实施例的信元格式结构具有可以支持16个节点的路由字段。接收信元临时存储单元312-1至312-n包括至少16个或更多先进先出(FIFO),而设置各FIFO以使对应于各节点的信元可以存储在那里。例如,当接收接口310从节点2接收信元时,接收到的信元被存储于对应于节点2的FIFO中。
接收信元控制单元320顺序地负载存储于接收信元临时存储单元312-1至312-n的信元,随后从负载的信元的路由字段检查目的地址和传输次数值。此处,目的地址是对应于待发送信元的目的地的地址并且根据在路由字段的16个位中的掩码的范围,可以存在一个或多个目的地址。例如,当在路由字段的位3上被‘1’掩码,则只存在一个目的地址,即,节点3。可供选择的,如果路由字段的位2、6和12上分别被‘1’掩码,则存在3个目的地址,即,节点2、6和12。
此外,接收信元控制单元320从信元缓冲器地址存储器332读出信元缓冲器地址以便存储该信元到信元存储单元330。此处,表示当前空信元缓冲器(currentempty cell buffer)的信元缓冲器地址被存储于信元缓冲器地址存储单元332。调度器提供信元缓冲器地址,这将在下面详细描述。
接收信元控制单元320将信元存储于对应于信元缓冲器地址的信元存储单元的信元缓冲器。信元存储单元330包括多个信元缓冲器,而待发送的信元一个接一个地存储入各信元缓冲器。
接收信元控制单元320将信元缓冲器地址根据所检查的信元的目的地址存储入调度队列361。调度队列361包括全部16个子调度队列361-1至361-n。目的地址被分配到各子调度队列。例如,如果接收信元控制单元320检查的目的地址为节点2和节点4,则信元缓冲器地址被存储于分配有节点2和节点4的次调度序列中。
接收信元控制单元320将从信元检查的传输次数值存储入对应于信元缓冲器地址的子列表。调度列表363包括和信元缓冲器同样数量的子列表,而信元缓冲器地址被分配到各子列表。
调度器360通过顺序地从目的地址为“1”的子调度队列361-1加载信元缓冲器地址来读出它们。调度器360为发送信元控制单元340提供包括信元缓冲器地址和目的地址的控制信息。随后发送信元控制单元340从对应于信元缓冲器地址的信元缓冲器加载信元并将它们存储入对应于目的地址的发送信元临时存储单元351-1至351-n的FIFO。此后,信元通过发送接口350被发送给相应的目的地址。
同时,调度器360从使用信元缓冲器地址的调度列表363加载传输次数值并确定由从传输次数值减去“1”后得到的值是否为“0”。如果值为“0”,则调度器360断定不再需要传输信元,因此调度器360将信元缓冲器地址存储入信元缓冲器地址存储单元332。
反之,如果值不为“0”,则调度器360将该值(从传输次数值减去“1”得到的)存储入调度列表363的相应的子列表。此时,调度器360加载传输次数值在该相应的子列表上。换句话说,值不为“0”的子句(clause)意味着还有另一个目的地址。在这种情况中,当调度器360稍后从调度队列361加载相应的目的地址时,再次提供控制信息来发送信元控制单元340并且存储于信元缓冲器地址的信元被发送给相应的目的地址。
调度器360向发送信元控制单元340提供包括目的地址和信元缓冲器地址的控制信息,发送信元控制单元340根据信元缓冲器地址从信元存储单元330加载相应的信元。随后,发送信元控制单元340将相应的信元存储入对应于相应的信元的发送信元临时存储单元351-1至351-n的FIFO。发送接口350从发送信元临时存储单元351-1至351-n的各FIFO顺序地加载发送信元,随后发送它们到各目的地址。
图4是显示根据本发明的实施例的在ATM交换装置中交换信元的方法的流程图。通过接收接口接收到的信元被存储入接收信元临时存储单元,随后该存储于接收信元临时存储单元的接收到的信元通过接收信元控制单元被加载(S411)。
接收信元控制单元确定在接收的信元的路由字段中的所分配的位中是否有位被设为“1“。如果接收的信元的路由字段中的位被设为”1“,则检查对应于该位的目的地址。随后,通过确定检查了多少目的地址来计算传输次数值(S414)。例如,如果接收的信元的路由字段的位3和5被设为“1”,则接收的信元所要发送的目的地址为节点3和节点5,因此传输次数值为2。
发送信元控制单元从信元缓冲器地址存储单元读出当前空信元缓冲器(current empty cell buffer)(例如,“10”),该接收的信元被存储入对应于信元缓冲器地址的信元存储单元的信元缓冲器(S417)。此外,发送信元控制单元将信元缓冲器地址存储入对应于目的地址的调度队列的子调度队列(S420)。例如,如果目的地址是节点3和节点5,则信元缓冲器地址被存储入分配有节点3和节点5的子调度队列。
此外,发送信元控制单元将传输次数值(例如,2)存储入对应于信元缓冲器地址的调度列表的子列表(S423)。换句话说,传输次数值(2)被存储到对应于信元缓冲器地址“10”的调度列表的子列表。
在这种情况下,本发明的实施例的ATM交换装置检查和通过接收接口接收到的信元相关的目的地址和传输次数值。当检查了目的地址和传输次数值后,从信元缓冲器地址存储单元提供信元缓冲器地址而根据信元缓冲器地址将信元存储入信元存储单元。同时,将传输次数值存储入调度列表。期间,信元缓冲器地址根据目的地址被存储入调度队列。因此,被发送到目的地址的信元根据每个信元缓冲器地址被存储入信元存储单元,而信元缓冲器地址根据分配到调度队列的目的地址存储。传输次数值根据信元缓冲器地址被存储到调度列表。调度器顺序地加载存储有信元缓冲器地址的调度队列(S426)。
较佳地,加载存储于分配了目的地址(即,节点1)的子调度队列的信元缓冲器地址。随后,顺序地加载存储于分别分配了节点2和3的子调度队列的信元缓冲器地址。例如,信元缓冲器地址“10”被存储于分配了节点3和5的子调度队列。如果调度器360加载节点3的子调度队列,则加载信元缓冲器地址“10”。此外,如果在加载节点4的子调度队列后加载节点5的子调度队列,则加载信元缓冲器地址“10”。
此时,提供传输次数值给调度器来与来自调度列表的所加载的信元缓冲器地址(S429)相对应。换句话说,如果调度器传输信元缓冲器地址到调度列表,则调度列表读出对应于信元缓冲器地址的存储于子列表的传输次数值,随后向调度器提供传输次数值。随后,调度器确定从传输次数值减去“1”得到的值是否为“0”(S432)。
如果值为“0”,则调度器断定存储于信元存储单元的信元要发送给另一个目的地址(节点5)以便使之与信元缓冲器地址相对应。因此,该值被存储入调度列表以使之与信元缓冲器地址相对应(S435)。
在上述实例中,因为传输次数值为2,所以该值为“1”。由于值“1”不是“0”,调度器再将该值“1”存储入对应于信元缓冲器地址(例如,“10”)的调度列表的子列表。
在这种情况中,如果值不是“0”,当加载对应于另外的目的地址(节点5)的存储于子调度队列的信元缓冲器地址(例如,“10”)时,包括目的地址(节点5)和信元缓冲器地址的控制信息再次被发送给发送信元控制单元。随后,加载对应于信元缓冲器地址且存储于信元存储单元的信元并发送它到目的地址(节点5)。直到从传输次数值减去“1”得到的值变成“0”时才执行这些步骤。
此时,作为确定结果,如果从传输次数值减去“1”得到的值变成“0”,则将信元缓冲器地址存储于信元缓冲器地址存储单元(S438)。此处,值为“0”意味着存储于信元存储单元的信元不需要再被发送给另外的目的地址(例如,节点5)以便它能与信元缓冲器地址相对应。在这种情况中,信元缓冲器地址被储存于信元缓冲器地址存储单元以使它能再被用作用于将接收信元控制单元接收的其它信元储存到信元存储单元的地址。
此外,调度器向发送信元控制单元提供由调度队列检查的控制信息(S441)。此处,控制信息包括目的地址和信元缓冲器地址。例如,如果调度器加载节点3的子调度队列,则目的地址(节点3)和信元缓冲器地址“10”被提供给发送信元控制单元。
使用信元缓冲器地址,发送信元控制单元从信元存储单元加载相应的信元,该发送信元控制单元接收包含目的地址(这里为节点3)和信元缓冲器地址的控制信息。随后,发送信元控制单元将加载的信元存储到对应于目的地址(节点3)的发送信元临时存储单元。临时储存于发送信元临时存储单元的信元通过发送接口被发送到相应的目的地址(节点3)(S444)。
如上所述,根据本发明的实施例的ATM交换装置和方法,根据接收的信元的路由字段来检查目的地址的数量。如果有几个目的地址,则允许待存储到各目的地址的信元缓冲器地址的接收的信元被存储到调度队列。此时,传输次数值也储存到调度列表以便它能与信元缓冲器地址相对应。
当调度器顺序地加载调度队列时,发送控制信息到发送信元控制单元,因此可以发送相应的信元到相应的目的地址。此外,通过确定从传输次数值减去“1”得到的值是否为“0”来检查相同的信元是否被发送到彼此不同的目的地址。因此,是否传送信元到对ATM信元的路由字段掩码的几个目的地址,存储于信元缓冲器地址的同样的信元可以被传送到几个目的地址。当调度器加载存在于几个目的地址的信元缓冲器地址时,通过管理调度队列来将信元缓冲器地址存储到几个目的地址,在该信元缓冲器地址中存储了当前的信元。
由于相关技术的ATM交换装置通过交换信元以便它们与使用发送列表的目的地相对应来单独发送该信元给几个目的地址,因此将花费大量时间来传输信元。但是,根据本发明的实施例的ATM交换装置,就能降低传输信元所花费的时间并简化其复杂的过程。此外,还能改善信元发送效率和ATM交换装置的性能。
前述实施例和优点仅仅是例示性的,而非作为本发明的限制。本示例可以被应用于其它类型的装置。本发明的描述意在说明,而非限制权利要求的范围。许多替换、修改和变化对于本技术领域的熟练技术人员是显而易见的。在权利要求中,装置加功能条款意在覆盖这里描述的结构,如同实施所叙述的功能以及结构性等效部件和等效性的结构。