专利名称:用于atm交换机的vc合并的制作方法
本申请涉及以下文献(此处包含的所有文献都供参考用)美国专利申请第08/_,_(代理人文档号1410-322),题为“ABR服务器”,1997年7月11日提交;美国专利申请第08/_,_(代理人文档1410-323),题为“处理ATM多址传播信元”,1997年7月11日提交;美国专利申请第08/_,_(代理人文档号1410-324),题为“用于ATM业务的一种数据成形器”,1997年7月11日提交;美国专利申请第08/_,_(代理人文档1410-326),题为“VP/VC查值功能”,1997年7月11日提交。
背景1.发明领域本发明涉及电信,特别是异步传送方式下工作的电信网交换节点中的信元处理。
2.相关技术和其他考虑对于诸如多媒体应用、点播电视、可视电话和电视会议等高带宽业务日益增长的需求促进了宽带综合业务数字网(B-ISDN)的发展。B-ISDN以被称为异步传送方式(ATM)的技术为基础,极大地拓展了通信能力。
ATM是一种面向分组、使用异步时分复用技术的传送方式。分组被称为信元,具有固定长度。一个ATM信元包括53个字节,其中的5个字节构成信头,另外48个字节组成一个“净荷”或信元的信息部分。ATM信元的头包括两个参数,用于识别ATM网中传送信元的连接,具体就是VPI(虚通道标志)和VCI(虚通路标志)。通常,虚通路是在网络两个交换节点之间定义的主通道;虚通路是各主通道上的一条特定连接。
在端接点上,ATM网与终端设备(例如ATM网络用户)连接。在ATM网络端接点之间是一组通过物理传输通道或链路连接端口的交换节点。在从始发终端设备到目的终端设备的传递中,构成一条消息的ATM信元可能要通过几个交换节点。
一个交换节点带有一组端口,每个端口通过一条链接电路和一条链路与另一节点相连。链接电路根据链路所使用的特定协议对信元进行打包。输入一个交换节点的信元可能在第一端口处进入交换节点,并从通过链接电路与另一节点连接的第二端口输出。每条链路可以为一组连接传送信元,每条连接都是在一个主叫用户或主叫方和被叫用户或被叫方之间的一条传输通道。
每个交换节点通常有几个功能模块,其中主要的一个模块是交换核心。交换核心实际上类似于交换端口之间的交叉连接。交换核心的内部通道受到有选择的控制,使得特定的交换机端口被连接在一起,以允许一条消息最终从交换机的输入端到达交换机的输出端,并最终从始发终端设备到达目的终端设备。
图1表示一种现有技术的ATM交换设备10,它具有一个交换核心12、一组输入端口14(1)-14(3)和一个示范性输出端16。图1用虚线表示了在三条信道上输入交换机10的信元,具体为到端口14(1)的第一信道VC-1、到端口14(2)的第二信道VC-2和到端口14(3)的第三信道VC-3。同一信道上的所有信元具有相同的VC或VCI,例如所有在第一信道上的信元都具有表示为VC-1的第一VC。
在图1的说明中,在从VC-1到VC-3的所有信道上的输入信元正好都要通过交换核心12交换到同一输出端口16,以最终输出到信道VC-4。在输出端口16上,所有信元都被分配了一个新的VPI/VCI码。几条输入VC信道交换到同一条输出VC信道上被称为“VC合并”。VC合并的目的是把要送给同一目的地的分组收集到单条虚通路上,而不是使用源和目的地之间的独立VC。这能减小ATM网所需的虚通路数目。
如果根据所有信元到达交换核心12的顺序发送它们,就无法在信道VC-4的终点分离它们。为此,VC合并用于传送AAL-5分组的信道时,只能通过在输出端口处存储完整的分组,并逐个分组地发送它们,即在分组这一级进行复用。
因此,我们所需要的以及本发明的目的是一种能有效地进行VC合并操作的方法和装置。
发明概要异步传送方式(ATM)交换设备有一个与多个输入VC信道相连的交换核心和一个与之连接以接收来自交换核心的信元的输出端口。输出端口有多个预合并VC队列和多个合并VC队列。从交换核心接收的信元根据其输入VC信道而被存储在其中的一条预合并VC队列中。合并控制器确定其中的一条预合并VC队列何时具有一个完整的信元分组,并把该信元分组送入其中的一条合适的合并VC队列中去。
在一个实施例中,多个预合并VC队列和合并VC队列都作为独立的链接表而被存储在公共存储区中。合并控制器通过把存储分组的预合并链接表链接到构成合并VC队列的链接表中,从而实现把完整的信元分组送入合适的一条合并VC队列中。
附图简述从以下根据附图对优选实施例所作的更具体描述中,显然可以看到发明的上述和其他目的、特点以及优点,附图中的参考符号代表各种描述角度下的同一部分。附图不一定成比例,而是着重于说明发明的原理。
图1是一台原有技术ATM交换设备的示意图。
图2符合本发明一个实施例的ATM交换设备示意图。
图3是描述图3A和图3B关系的示意图。
图3A和图3B是描述在图2 ATM交换设备的输出端口中根据一个预合并队列所作操作的流程图。
图4A-图4F是图2 ATM交换设备的输出端口示意图,描述了一条合并后队列和预合并队列根据一种示范方案的信元分布。
图5A-图5F是图2 ATM交换设备的输出端口存储区示意图,描述了与对应图4A-图4F所述示范方案相符的信元分布。
附图的详细描述在以下描述中,提出了一些用于说明而不是限制的特定细节,例如特定结构、接口、技术等等,以提供对本发明的全面阐述。不过,本领域中的技术人员显然能够看出本发明可以应用在脱离这些特定细节的其他实施例中。另外,这里省略了对众所熟知的设备、电路和方法的详细描述,以免由于不必要的细节干扰了对本发明的描述。
图2是符合本发明一个实施例的ATM交换设备示意图,该设备也被简称为ATM交换机。ATM交换机有一个与多个输入端口114(1)-114(3)和输出端口116相连的交换核心112。为了简化说明,图中只画出了三个输入端口114和一个输出端口116,不过应当懂得实际会有输入端口和输出端口。
采用与图1类似的方式,图2用虚线表示在三条信道上输入交换机100的信元,具体是到端口114(1)的第一信道VC-1、到端口114(2)的第二信道VC-2和到端口114(3)的第三信道VC-3。同一信道上的所有信元具有相同的VC或VCI,例如所有在第一信道上的信元都具有表示为VC-1的第一VC。
交换核心112向许多输出端口传送信元,其中输出端口116作为一个实例给出。输出端口116通过一个没有标明的链路接口电路与输出链路120连接。在图2所示的特定实施例中,输出端口116包括一个存储器130和一个合并控制器132。
存储器130可以是任意合适的存储装置,例如随机存取存储器(RAM)。在图2的例子中,合并控制器132是一个微处理器。
输出端口116的存储器130包括多个合并VC队列和多个预合并VC队列。为了简化起见,图中只画出了一个合并VC队列140和三个预合并VC队列144(1)到144(3)。每个预合并VC队列对应一条与之配对的输入VC信道。当输出端口116收到来自交换核心112的一个信元时,合并控制器132根据信元的输入VC把它传送给预合并队列144(1)到144(3)中的一个。例如,在信道VC-1上接收的信元被合并控制器132送到预合并队列144(1)中;在信道VC-2上接收的信元被合并控制器132送到预合并队列144(2)中;依此类推。
合并控制器132知道从交换核心112送至输出端口116的信元的输入VC信道。每个信元带有一个信道标志,例如预先为实际ATM信元附加的16位比特。在这方面,输入端口要为每个信元预先考虑路由选择信息(例如信元应当在交换核心中被交换到哪一输出端口)和输出端口用于识别信元的信道标志。信道标志从输入信元的VPI和VCI区域获取。
信元在各自对应的预合并队列144中被收集,直到合并控制器132确定在预合并队列144中已组装好整个分组。当一个完整的分组在一个预合并队列144中组装好时,该分组就被移入合并VC队列140。
正如后面根据图5A-5F所作的描述,合并后队列140是存储区130中的一个链接表,每个预合并VC队列也都是存储区130中独立的链接表。通过把一条被选的预合并VC队列144的链接表链接到构成VC队列140的链接表中,合并控制器132就把被选的预合并VC队列144中的完整信元分组送入了合并VC队列140。
每个预合并VC队列144和VC队列140都有一个与之对应的控制字集合。如图2所示,这些控制字也存储在存储区130中。例如,合并VC队列140带有控制字集合150,预合并VC队列144(1)-144(3)带有对应的控制字集合154(1)-154(3)。表1解释了用于每个预合并VC队列144的集合154中包含的控制字。表2解释了用于每个合并VC队列140的集合150中包含的控制字。
表1用于预合并VC队列的控制字
表2用于合并VC队列的控制字
预合并VC队列144和合并VC队列140中的每个信元都有一个与之对应的指针“NEXT(下一个)”。指针“NEXT”是指向对应队列中跟随该信元的下一信元地址。
就上述方面而言,图5A-图5F表示了根据本发明操作的示范方案的存储器130的一个部分在不同时间上的内容。在图5A-图5F的每一个中,存储器130被分段表示成信元存储位置,例如第一信元存储位置L0、第二信元存储位置L1等等。在每个存储位置的右下角给出了它所带的对应“NEXT”指针。图5A中使用参考字母N表示存储在位置L2处的信元C1的“NEXT”指针。信元C1的“NEXT”指针表明信元C1在链接表中后接位置L4上的信元,即信元C2。
图3A和图3B描述了由输出端口116根据本发明执行的基本步骤。步骤3-1表示输出端口116从交换核心112获得一个信元。当一个信元从交换核心112获得时,该信元还包括一个关于其输入信道号码(例如是否是VC-1或VC-2等)以及该信元是否是分组的最后一个信元的指示。在步骤3-2,合并控制器132根据输入信道号码选择一个合适的预合并VC队列144。
根据步骤3-2所选的一个合适的预合并VC队列144,在步骤3-3确定存储区130中可以写入该信元的一个空闲位置。存储区130由所有队列共用,所有未使用的空闲位置被链接到一个空闲队列中。当一个信元到达时,它被放在这个空闲队列的第一缓冲区内,然后链接到正确的预合并VC队列中(并从空闲队列中脱离)。
在步骤3-4中,刚被写入存储区130中空闲位置的信元被链接到所选预合并队列144中。在步骤3-5,刚写入信元的位置由Tail_in指针指示。
在步骤3-6,合并控制器132确定所选预合并VC队列144以前是否为空(即对于刚写入信元的写入为空)。这通过读取Count_in值进行。如果步骤3-6的判决为肯定,合并控制器132就在步骤3-7把所选的预合并VC队列144的Head_in指针(见图2中的控制字集合154)设置为刚写入信元的地址(例如位置)。因此,步骤3-7实际是把所选的预合并VC队列的开头设在由刚写入信元占据的位置。
当所选的预合并VC队列144以前为非空时(由计数值=0来指示),合并控制器132在步骤3-8确定刚写入信元是否是分组中的最后一个信元。每个分组最后一个信元的PTI-区域被编码为001或011。PTI区域是ATM信头第四个8比特字节中的比特2-4(比特位1-8中,比特8最先传送)。
如果刚写入信元没有完成一个分组,在合并控制器132等待在步骤3-1接收另一信元之前执行步骤3-9和3-10。在步骤3-9,合并控制器132把所选预合并VC队列144的Tail_in指针设为刚写入信元的位置。在步骤3-10,所选预合并VC队列144的信元计数值Count_in加一,以计入刚写入信元。
当合并控制器132确定在所选预合并VC队列144中已组装完一个分组时,执行图3B的步骤。在步骤3-11,合并控制器132使用Out-VC指针值为所选的预合并VC队列144确定新的分组应该被链接到哪一个合并VC队列中。在这方面,虽然图中只表示了一个合并VC队列140,但实际上会有许多这样的合并VC队列。一条特定预合并VC队列的Out-VC指针值决定了分组将被送往哪一个合并VC队列。
在步骤3-12,合并控制器132确定合并VC队列140的长度是否为零。这一确定通过检查集合150(见图2)中的控制字长度值来完成。如果步骤3-12的判决为肯定,合并控制器132在步骤3-13令合并VC队列140的Head_out指针等于所选的预合并VC队列144的Head_in指针。
假定合并VC队列140为非空,合并控制器132在步骤3-14令合并VC队列140中当前最后一个信元的“NEXT”指针等于预合并VC队列144的Head_in指针值。当前最后一个信元通过读取Tail_out指针的值来查找。步骤3-14通过使合并VC队列140中原来最后一个信元的“NEXT”指针指向所选的预合并VC队列144中整个分组的第一个信元,实际上把预合并VC队列中的完整分组链接到了合并VC队列中。
一旦完成步骤3-14或步骤3-13,合并控制器132就在步骤3-15把合并VC队列140的Tail_out指针设置为所选的预合并VC队列144中刚写入信元的位置。步骤3-15实际上表明合并VC队列140的结尾目前在所选预合并VC队列144的结尾处。
在步骤3-16,合并控制器132在合并VC队列140的长度计数值(长度)上加入所选的预合并VC队列144的信元计数值(Count_in),从而更新合并VC队列140的长度计数值(长度)。然后,合并控制器在步骤3-17对所选的预合并VC队列144的信元计数值(Count_In)清零,这是因为从所选的预合并VC队列144中读出整个分组就能腾空了所选预合并VC队列144。既然整个分组已合并到合并VC队列140中,合并控制器就在步骤3-18等待来自交换核心112的又一个信元。
视情况而定,合并控制器对从交换核心112获取的每个信元执行图3A和/或图3B的步骤。正如前面所述,哪一个预合并VC队列144是对任意特定信元执行图3A和/或图3B的步骤的“所选的”预合并VC队列144将取决于该信元的输入VC信道。
图4A-图4F描述了本发明ATM交换机110根据如上所述的图3A和图3B步骤进行操作的一种示范方案。表示输出端口116各部分的图4A-图4F分别与表示输出端口116的存储器130部分的图5A-图5F相对应。首先,如图4A和图5A所示,合并VC队列140中存储有信元C1和C2,预合并VC队列144(2)与预合并VC队列144(3)中分别存储有信元C3和C4。正如前面提到的,信元C1的“NEXT”指针N指向信元C2的位置,即位置L4,通过该指针链接信元C1和C2,构成了合并VC队列140。
图4B和图5B表示根据其输入VC,来自交换核心112的信元C5被存储在预合并VC队列144(1)中。存储区130中的空闲表指针正好指向位置L0,因此信元C5就存储在存储区130的位置L0中。
图4C和图5C表示在预合并VC队列144(1)中接收和存储下一信元C6。信元C6存储在存储区130的下一空闲位置中,即位置L1。这样信元C6被链接到预合并VC队列144(1)中,根据图3A的步骤3-5,信元C5的“NEXT”指针被装入信元C6的位置,即位置L1。
图4D和图5D表示在预合并VC队列144(2)中接收和存储下一信元C7。信元C7存储在存储区130的下一空闲位置中,即位置L3,该空闲位置根据空闲表来决定。由于信元C7的输入VC对应VC信道VC-2,它存储在预合并VC队列144(2)中。因此可以看出自交换核心112接收的信元不一定都连续存储在同一预合并VC队列144中。这样信元C7被链接到预合并VC队列144(2)中,信元C3的“NEXT”指针装入信元C7的位置,即位置L3。
图4E和图5E表示在预合并VC队列144(1)中接收和存储下一信元C8。信元C8存储在存储区130的下一空闲位置中,即位置L5。这样信元C8被链接到预合并VC队列144(1)中,信元C6的“NEXT”指针装入信元C8的位置,即位置L5。
图4E中还表示出合并控制器132确定在预合并VC队列144(1)中已组装完由信元C5、C6和C8构成的整个分组P。因此,如图4F和图5F所述,合并控制器132把预合并VC队列144(1)链接到合并VC队列140中。
预合并VC队列144(1)到合并VC队列140的链接在图4F中通过在合并VC队列140中包含信元C5、C6和C8来表示,并且在图5F中通过把队列144(1)中的第一个信元位置(即位置L0)装入队列140中原来的最后一个信元(即信元C2)的“NEXT”指针来表示。
在一条正确的合并VC队列(例如本例的VC合并队列140)中存储这些信元之后,一个调度器或选择器可以一次(例如,以循环的方式)从每条合并VC队列中取出一个信元,并把这些信元发送到一条输出链路上。当执行这种操作时,一个新的VPI/VCI值被分配给信元,来自一条特定合并VC队列的所有信元被分配同一个值。或者,新的VPI/VCI值可由输入端口提供,在信元到达输出端口时已被插入。当发出信元时,存储区130中的对应位置返回空闲队列,即,使得空闲队列中原来最后一个信元的NEXT指针指向它。
根据本发明,来自交换核心112的信元根据其内部输入信道号码(VC)而被放到一条合适的预合并VC队列144中。如信头中的一个指定比特所示,当预合并VC队列144收到一个分组的最后一个信元时,合并控制器132就把整个分组移入合并VC队列140,以便从输出端口116输出。每条输出信道对应一个合并VC队列140,这样对于任何输出信道来说,信元按照它们在该信道的合并VC队列140中存储的顺序发送,即每次发送一个完整分组。
尽管已参考这里的优选实施例具体表示和描述了发明,但是本领域的技术人员应当理解,可以在不脱离发明思想和范围的前提下进行各种形式和细节上的改动。
权利要求
1.一种异步传送方式(ATM)交换设备,包括与一组输入VC信道连接的交换核心;一个输出端口,被连接成可以接收来自交换核心的信元,该输出端口包括用于根据其输入VC信道来存储从交换核心接收的信元的多个预合并VC队列;一个合并VC队列;合并控制器,它确定一个预合并VC队列中何时具有信元分组,并把该信元分组送入合并VC队列。
2.权利要求1的设备,其中多个预合并VC队列和合并VC队列存储在一个存储区中,合并VC队列包括存储区中的一个合并链接表,并且一个所选预合并VC队列包括存储区中的一个所选预合并链接表,合并控制器通过链接存储区中的所选预合并链接表到合并链接表中,从而把信元分组送入合并VC队列。
3.操作一种异步传送方式(ATM)交换设备的方法,该方法包括从多个输入VC信道向交换核心传送输入信元;在一个被连接成可接收来自交换核心的信元的输出端口上根据其输入VC信道,把输入信元存储到多个预合并VC队列中;确定一个预合并VC队列中何时具有信元分组,并根据该判决,把该信元分组送入合并VC队列。
4.权利要求3的方法,还包括在一个存储区中建立这组预合并VC队列和合并VC队列;作为存储区中的一个合并链接表构成合并VC队列;作为存储区中的一个所选预合并链接表构成一个所选预合并VC队列;通过将存储区中的所选预合并链接表链接到合并链接表中,从而把信元分组送入合并VC队列。
全文摘要
一种异步传送方式(ATM)交换设备(110)具有一个与一组输入VC信道连接的交换核心(112)和一个接收交换核心输出信元的输出端口(116)。输出端口有一组预合并VC队列和一组合并VC队列。从交换核心接收的信元根据其输入VC信道存储在一条预合并VC队列中。合并控制器(132)确定一条预合并VC队列何时具有一个完整的信元分组,并把该信元分组送入对应的一条合并VC队列中去。
文档编号H04L12/56GK1270727SQ98809078
公开日2000年10月18日 申请日期1998年6月25日 优先权日1997年7月11日
发明者G·维克伦德 申请人:艾利森电话股份有限公司