Vp/vc查找技术的制作方法

文档序号:7580757阅读:209来源:国知局
专利名称:Vp/vc查找技术的制作方法
本申请与下列文件有关1997年7月11日递交的美国专利申请No.08/-,-(代理案号(410-321)“用于ATM交换机的VC合并”(“VCMERGING FOR ATM SWITCH”),1997年7月11递交的美国专利申请No.08/-,-(代理案号(410-322)“ABR服务器”(“ABR SERVER”),1997年7月11日递交的美国专利申请No.08/-,-(代理案号(410-323)“处理ATM组播信元”(“HANDLING ATM MULTICAST CELLS”),以及1997年7月11日递交的美国专利申请No.08/-,-(代理案号(410-324)“ATM业务的数据整形器)”(A DATA SHAPER FOR ATM TRAFFIC)。
本发明与通过通信网络传送数据的技术有关,具体地说,涉及能用于异步传送模式(“ATM”)网络和交换机的有效连接查找技术。更明确地说,本发明提供了一种根据散列和二分搜索在一个ATM交换机的虚路径/虚信道连接表内有效查找连接信息的方法。
异步传送模式(ATM)已作为新一代数字通信的主要联网技术涌现。ATM提供了一种面向连接的快速分组交换技术,能用来实时传送许多不同类型的信息,包括音频、视频和数据。
ATM具有一个面向连接的协议,它将每个ATM数据分组(在ATM技术中称为“信元”)与一个由物理链路支持的给定“虚信道”相关联。每个连接由虚信道标识符(“VCI”)和虚路径标识符(“VPI”)这两个子信息段标识。总之,在通过网络对信元进行多路合并、多路分路和交换中都要用这些信息段。VCI和VPI不是地址,它们在建立连接时在连接的每一段(ATM交换机之间的链路)上明确指定,并且在连接期间一直保持不变。
一个ATM交换机接收到一个加到一个输入口上的入局信元后,必需根据这个入局信元的VPI和VCI以及输入口的物理标识符确定哪个输出口传送这个信元。ATM交换机还必需确定代入信元信头的新的VPI和VCI的值,以使下一个ATM网络段可以正确地传送信元。ATM交换机通常根据信头中的VPI和VCI信息加上标识输入口的附加“物理层”(PHY)信息在一个VP/VC连接表内查找出这个连接信息。为了使通过ATM交换机的信元吞吐量达到最大,重要的是要有一种快速和有效的技术和配置,从连接表获取适当的连接信息。
在国际ATM标准中,规定虚路径标识符(VPI)和虚信道标识符(VCI)具有以下长度VPI段为12比特;VCI段为16比特。物理链路标识符(PHY)的典型长度为5比特。因此,这三段加在一起的总长度为32比特左右,相当于有8亿(233)种组合。然而,一个具体的ATM交换机能建立的连接的数量通常远低于这个值(例如只有16K)。在大多数情况下,应该能用总数为89亿的PHY、VPI、VCI组合中的任何适宜的子集作为ATM交换机建立的信道的标识符集。问题是要寻求一种有效机制,能根据PHY、VPI、VCI信息段(例如总长为33比特)确定它是否为一个实际有效的比特组合,输出一个指向一个规模适合ATM交换机能支持的连接数的虚路径/虚信道连接表内较少(例如为16K)连接之一的指针。
颁发给Shtayer等人的美国专利No.5,414,701提供了一种解决这个问题的方法。Shtayer等人的专利揭示了一种根据独立的链路、虚路径和虚信道各表的分层配置进行地址压缩的方法。在Shtayer等人的专利中,PHY信息作为提供虚路径指针的“链路”表内的索引。虚路径指针与信元信头中的VPI组合起来作为许多虚路径表之一的索引。虚路径表提供虚信道偏置量,这偏置量与信元信头的VCI组合起来作为许多虚信道表之一的索引。这些虚信道表提供入局连接标识符,用于在物理上为数据选择通过一个ATM系统的路由。
虽然Shtayer等人的方法可以避免需要采用一个很大的但大部分是不用的连接表,但是用链路信息去查链路表,用在链路表内查出的信息去查虚路径表,如此等等的处理过程是非常费时间和低效率的。此外,要维护Shtayer等人的复杂的分层构建的这些独立的链路、虚路径和虚信道表可能是很困难的。
颁发给Goubert等人的美国专利No,5,481,687利用屏蔽形成一些由缩减的地址构成的子集,可以通过变换提供一系列不交叠的相对地址。Goubert这种技术需要复合使用不同的屏蔽来选择不同的地址比特,因此有着不够灵活的缺点。
本发明提供了一种查找ATM连接表的新的有效方法,这种方法通过采用散列编码和二分表搜索技术大大减少了表的数量和查表的次数。
按照本发明的一个方面,将与入局ATM信元关联的PHY、VPI和VCI虚连接信息散列编码成长度缩短的散列码。所述散列码用作规模至少与ATM交换最多能支持的有效连接数相应的一个表内的索引。散列码提供了PHY、VPI、VCI信息的压缩表示,从而使表地址空间可以大大小于PHY、VPI、VCI组合的最大可能组合数,而并不限制能使用的PHY、VPI、VCI组合的集合。
由于散列编码要引起信息损失,因此在PHY、VPI、VCI组合与散列码之间不是一一对应的。也就是说,散列编码会将多个PHY、VPI、VCI值变换成相同的散列码。按照本发明的另一方面,采用了一个来维护与相同散列码相应的若干个不同的搜索记录。在这个优选实施例中,搜索表根据散列码和与信元关联的PHY、VPI、VCI信息选择需检索的一个特定记录。
在这个优选实施例中,采用了二分搜索,有效地确定特定搜索记录在搜索表内的位置。在这个优选实施例中,搜索表以二分树结构保存搜索记录。二分搜索技术可有效地确定与ATM信元的VPI/VCI和PHY物理链路标识符相应的特定搜索记录的位置。
因此,本发明提供了一种根据散列编码和二分搜索有效地查找虚路径/虚信道表的技术,而并不限制所用的PHY、VPI、VCI组合的集合。这种技术大大减少了存储器访问的次数。
对本发明所提供的这些和其他一些特有功能和优点通过以下结合附图对所给出的优选实施例的详细说明可以有更深入和更全面的了解。在这些附图中

图1示出了一个说明在一个总的虚路径/虚信道查找过程中怎样利用VPI、VCI和PHY虚连接信息的例子;图2示出了一个根据散列编码和二分搜索有效地查找VP/VC信息的示范性简化过程;图3示出了一个示范性VP/VC二分搜索树;图4示出了一个示范性VP/VC查找的配置方框图;图5示出了一个示范性连接建立过程;以及图6示出了一个示范性连接拆除过程。
图1例示了例如可由一个ATM交换机执行的VP/VC查找过程的概要。在本例中,来自ATM网20一段的ATM信元10包括标准信头10和数据净荷14。信头12包括虚连接信息,即一个12比特的虚路径标识符(VPI)16和一个16比特的虚信道标识符(VCI)18。此外,在本例中有一个5比特的PHY段22,用来给出与ATM信元10关联的物理接口信息(例如ATM交换机输入口标识符)在本例中,VPI16、VCI18和PHY22用来获取存储在一个虚路径/虚信道连接表或路由表100内的连接信息。ATM交换机利用从路由表100获取的连接信息将ATM信元10传送到一个交换机输出口,还可以从路由表获取新的VPI和VCI值代入信头10供ATM网20的下一段使用。
在本例中,ATM交换机能在任何给定时间支持的最多是16K个连接。因此,连接表100存储了ATM交换机能维护的每个不同连接一个的最多16K(214)个表目。不同的ATM交换机能维护不同数量的连接,通常,连接表100的大小定成与所配合的具体ATM交换机的规模一致。在这个具体例子中,由于连接表100存储16K个表目,需要用14比特长的信道标识符来唯一标识连接表内各连接记录。
简化查找过程在本例中,查找功能块50提供了根据PHY22、VPI16和VCI18的组合得出的14比特长的信道标识符,用来查找连接表100内的表目。查找功能50在本例中包括在图2这个示范的简化查找过程中所示的三个分立步骤1.PHY、HP直接查找(步骤52);2.散列编码和搜索指针查找(步骤54);3.表搜索(步骤56)。表搜索(步骤56)的结果是一个14比特的连接或信道ID,用于在VP/VC连接表100内查找连接信息(步骤58)。
在一个简化情况下,直接查找步骤52确定PHY22和VPI16的组合是否与一个有效的虚路径连接(VPC)。如果是,那么入局ATM信元10内的VCI段与查找无关,也就是说,它可以具有任何值,将不加修改地交换通过。因此,如果直接查找步骤52检测到PHY22、VPI16信息与一个有效的虚路径连接相应,直接查找步骤就在下个步骤54执行散列编码和搜索指针查找前屏蔽VCI段18。
简要地说,散列编码和搜索指针查找步骤54的作用是根据PHY、VPI、(屏蔽的)VCI组合产生一个长度缩短了的散列码。在这个优选例子中,搜索步骤56直接或间接地利用所得出的散列码查找存储在一个搜索表内的一个信道标识符。在这个优选例子中,步骤54产生的散列码用作进入一个第二查找表的地址,而第二查找表在每个位置各存有一个指向搜索表的指针。步骤56利用这个搜索指针(再加上信元的虚连接信息)在搜索表内查找出相应的连接信息。
由于步骤54执行的散列编码有信息损失,可能会出现许多有效连接被散列编码成相同的值。在这种情况下,搜索步骤56必需沿所有具有相同散列码的连接进行一次搜索。在这个优选例子中,步骤56利用二分搜索使接入搜索表的次数最少。图3例示了VP/VC二分搜索树,它保持在搜索表内,由步骤56用来执行二分搜索。
详细的示范VP/VC查找系统图4示出了一个执行图2所示查找过程50的示范性虚路径/虚信道查找系统200。在这个例子中VPC查找/VCI屏蔽块202执行图2中的直接查找步骤52;散列编码块204和指针查找块206执行图2中的步骤54;以及搜索块208执行图2中的搜索步骤56。
在这个例子中,VPI16和PHY22都输入VPC查找/VCI屏蔽块202。块202根据PHY、VPI组合(共17比特),读出一个1比特的数据信息、指示这个组合是否为一个有效的虚路径连接(“VPC”)。这单个表202a并不提供链接信息,而是输出根据VPI和PHY两者得到的有效虚路径连接信息。详细些说,本例的块202包括一个由128K×1比特的RAM组成的直接查找存储器202a。直接查找存储器202a可以例如提供每个可能的PHY、VPI组合一个的单比特输出,指示这个可能组合是一个有效的虚路径连接(“VPC”)或者不是(“No”)。
如所周知,有两种可以是有效的连接有效虚路径连接(“VPC”)和有效虚信道连接(“VCC”)。VPC由VPI段(以及PHY)标识,而VCI段在这种情况下对于交换机来说是无关紧要的。属于同一个有效VPC的所有信元以同样方式交换,因此为了在信道表内寻找到正确的表目,VCI段必需加以屏蔽。在本例中,这是在PHY、VPI表202a查核后进行的。
VCC由PHY、VPI和VCI标识。在这种情况下,带有不同VCI(但具有相同的PHY和VPI)的信元10属于不同的连接。交换机可以同时支持各个VPC和VCC。
如上所述,本例中的第一表202a(PHY,VPI)确定了信元是否属于一个有效VPC,如果是就要屏蔽VCI段。如果它不是一个有效VPC,那么它可能是一个有效VCC或一个非法的VPI、VCI组合。在本例中,搜索表208a用来确定这种情况。
因此,在本例中,如果一个信元10的PHY和VPI信息相应于一个有效的虚路径连接,那么这个信元内的VCI段18就是无关紧要的(即它可以具有应不加修改地交换通过的任何值)。在一个有效的虚路径连接的情况下,多路复用器202b(或其他硬件或软件屏蔽功能块)在使用下级内的比特段前将VPI段16屏蔽为都是0,即PHY,VPI,0。在本例中如果VP连接不是有效的,就不屏蔽VCI段18。这样得出的经选择屏蔽的VCI段18由多路复用器202b输出,在图4上标为VCI’。
在本例中,上述屏蔽功能还将使所有VCI≤31(或15)的屏蔽为0。这是因为这些VCI值是为承载与虚路径有关的操作和维护信息保留的,也就是说,对于虚信道来说不能使用这些VCI值。在这样一个信元10到达时,就将它处理成为属于一个虚路径,即使VPC/VCI查找表202a表明这个虚路径是无效的。
本例中的散列编码块204根据33比特的PHY、VPI、(经屏蔽的)VCI’组合产生一个14比特的散列码。在这个具体例子中,散列编码块204产生一个14比特长的散列码,以长度缩短(压缩)的格式表示PHY、VPI、VCI’组合。为此可用的一种方法是根据这33比特的值产生一个CRC14的值。在形式上,这是这样实现的在33比特的值后面增添14个0,产生一个47比特的值,将它处理为一个47次多项式,再将它除以一个14次的生成多项式。这个生成多项式的例子是x14+x13+x11+x9+1。许多其他的生成多项式也很好用。CRC是在相除后得出的余项。一种执行这种特定的CRC14散列编码的有效方式是利用一个14比特反馈寄存器204a和一个由许多XOR门构成的复合网络204b。熟悉本技术领域的人员可以理解,其他散列编码配置和/或实现方式也能使用。
由散列编码块204产生的散列码在本例中用来进入一个第二查找表206进行访问的地址。第二查找表206在每个位置存有一个指向搜索表208的16比特指针。在本例中,指针查找表206有16K个表目,每个14比特长,因此总容量为224K比特。如果需要,表206也可以大于最大连接数,例如为32K(对于16K个连接的情况)。这样做的优点是由于有更多的散列码可用(更多的树)因此降低了对于一个完全二分树的概率。
搜索块208包括一个存有与有效ATM交换机连接相应的搜索记录209的搜索表208a。由于散列编码块204执行的散列编码过程有信息损失,因此可能出现许多有效连接将被散列编码成由指针查找表206产生的相同的值。在这种情况下,搜索块208必需在存储器208a内所有具有相同散列码的各连接之间进行搜索,寻找一个与信元10的连接相应的搜索记录209。在本例中,搜索表208采用二分搜索,以尽量减少搜索中的操作步骤(例如接入搜索表208a的次数)。
在理论上,所有16K的连接可以散列编码成相同的值,这意味着二分搜索必需有16层深。然而,由于这样的概率可以忽略,在实际的ATM交换机实现中可以采用较为缩短的搜索。例如,4层搜索将允许15个PHY、VPI、VCI’组合散列编码成相同的码。这样,在建立一个连接的过程中,就不能使用散列编码成一个已有其他15个有效连接都散列编码成的值的第16个(自由)PHY、VPI、VCI’值。出现这个事件的概率非常小,近似为
其中n为树的规模,而N为搜索表的规模(e=2.718…)。对于n=15、N=16K的情况,这小于10-9(可用模拟证明)。因此,虽然有点阻塞(即一个自由的PHY、VPI、VCI组合由于一个完全的二分搜索树而不能采用),但这个概率很低,对有所有“正常”的PHY、VPI、VCI的使用来说可以忽略。
在这个示范性实施例中,搜索表208内的每个搜索记录209包括下列各段
PHY/VPI/VCI组合段210a(33比特);信道标识符段210b(14比特);低指针段210c(14比特);高指针段210d(14比特)。
因此,搜索表208a的容量在本例中为16K乘以75比特,也就是1.2兆比特。
在二分搜索中使用VPI、VCI时,可以发现或没有发现VPI、VCI。如果发现,VCC就是有效的,而如果没有发现,VCC就不是有效的。表202a和208a级联的综合效果可以总结如下有效VPC在第一表202a内发现PHY、VPI组合,屏蔽VCI,散列编码和二分搜索给出连接号码(连接表208a内的表目)。
有效VCC在第一表202a内没有发现PHY、VPI组合是有效的(即无VPC)。散列编码和二分搜索后发现PHY、VPI、VCI组合,从搜索表208a读出连接号码。
非法VPI、VCI在第一表202a内没有发现PHY、VPI(无VPC)。散列编码和二分搜索在搜索表208a内没有发现PHY、VPI、VCI组合。
因此,就某种意义上来说,在本例中,可以在第一表202a内直接发现一个VPC是有效的,但一个有效的VCC需经散列编码和在搜索208a内进行二分搜索(“命中”)后间接发现。
如图3和4所示,在搜索块208执行搜索时,它利用由指针查找表206产生的14比特指针接入一个含有15个记录209(1)至209(15)的二分搜索树的“根”搜索记录209(1)。比较块208b将与ATM信元10关联的PHY22、VPI16、(经屏蔽的)VCI’信息与所接入的搜索记录209内的PHY/VPI/VCI组合段210a相比较。如果与信元10关联的PHY、VPI、(经屏蔽的)VCI’与存储在所接入的搜索记录209内的相同,搜索逻辑208c就停止搜索,从记录中读出信道标识符210b。如果比较块208b确定与信元10关联的PHY、VPI、VCI’值低于存储在所接入的搜索记录209内的,就读出低指针210c,用它接入二分搜索树的另一个(特定分类的)搜索记录209(2)。如果比较块208b确定与信元10关联的PHY、VPI、VCI’值高于所接入的搜索记录的段210a的值,搜索逻辑208c就读出高指针,用它接入二分搜索树的另一个(特定分类的)搜索记录209(9)。如果进行了四次搜索而没有一次命中,搜索逻辑208c就产生一个“非法信元”(出错)信号,然后弃掉信元10。
一旦发现了含有匹配的PHY、VPI、VCI’值的适当记录209,就将这个记录的信道标识符210b用作进入存有与连接有关的所有信息的VP/VC连接表的表目。
两个由散列编码块204编码成相同散列码的PHY、VCI、VPI组合将提供上述用CRC多项式相除得出的不同的19比特的商。为了减小搜索表208a的容量,在搜索表209内可以存储用CRC多项式相除后的商(19比特)来代替完整的33比特的PHY/VCI/VPI,以节约存储器空间。这种可供选用的方法需要在散列编码块204内再增添一些XOR门以输出这商。
示范性软件驱动器功能在建立一个新的连接时必需将正确的信息存储在各个表202a、206、208a内。图5示出了一个示范性连接软件驱动器的连接建立过程。图5中所示的这些步骤可以按任何所需的次序执行,得到同样的结果。
如图5所示,驱动器(或某个ATM交换机呼叫路由选择过程)必需将适当的连接信息存入VP/VC连接表100(图5,方框302)。驱动器软件必需计算出散列编码块204将根据PHY、VPI、VCI’组合计算的相同的14比特散列码(驱动器可以用软件和/或硬件支持执行这个运算)(图5,方框304)。然后,驱动器可以确定在搜索表208a内是否已经有一个信道具有相同的散列码(图5,判决方框306)。如果已经有一个具有相同散列码的信道(判决方框306的“yes”分支),驱动器就必需将一个新的“叶”增添到已经存储在搜索表208a内的一个现有的二分搜索树上(图5,方框308)。如果在搜索表208a内还没有一个信道具有相同的散列码,驱动器必需将一个新的搜索树的“根”增添入搜索表(图5,方框310),再将一个新的散列码指针存入指针查找表206(图5,方框312)。驱动器还必需更新VPC表202a,指出已经建立了一个新的连接(图5,方框314)。
在本例中,驱动器负责维护一个分类的条件下的二分搜索树,使得二分搜索将能进行。因此,为了增添一个新的搜索树叶(方框308),在本例中驱动器用新的PHY、VPI、VCI组合对搜索表208a进行搜索,将新的叶插入现有搜索树内正确(分类)位置。可能会出现搜索树成为不平衡的情况,这取决于连接建立、拆除的历史。例如,对于某个搜索树来说,与“根”记录209关联的PHY、VPI、VCI组合可能具有比较高或比较低的值。这意味着驱动器将不能为这新的组合找到一个适当位置,即使这个二分搜索树还不完全(即它还没有15个枝、叶)。在这种情况下,驱动器应该对树进行平衡,首先线性地对这些表目分类,然后取中间的表目作为根再添上较高和较低的子树来建立树。由于表目数为15或更少一些,这个程序应该不会很长。一旦建立了新树,驱动器可以将这个新树连同正确的信道标识符210b一起置于搜索表208a内一个不同的(自由)位置。在这完成后,驱动器更新查找表206内的指针,使它指向新的根。此后,老树可以除去或重写。
图6示出了一个示范性的软件驱动器的连接拆除过程。在驱动器拆除了一个连接时,它将重新配置搜索树,但这并不那么复杂。如果拆除的连接处在一个叶的位置(判决方框324的“yes”分支),就直接除去这叶(方框326)。如拆除的连接处在一个枝的位置,那么除去这个枝,用较高树内的最低连接或较低树内的最高连接代替。例如,如图3所示树,除去叶209(2)可以是用叶209(5)或209(7)代替这个叶。其余的子树不必重新配置。如果除去的是根,但还有叶,那么一个叶代替根。如果需要除去没有叶的根。(判决方框324的“yes”分支),过程就删除这个搜索树的根记录209(1)(图6,方框328),再删除指示查找表206内的相应指针(图6,方框330)。驱动器(或其他呼叫路由选择过程)还可以更新VPC表202a,指出这个连接不再有效(图6,方框332)。
因此,本发明提供了一种用于查找ATM连接表的新的有效方法,这种方法利用散列编码和二分表搜索技术充分减少了表的数量和存储器查找次数。与入局ATM信元关联的虚连接信息经散列编码后形成的散列码提供了虚连接信息的压缩表示,使得散列码访问的表的地址空间可以大大小于在ATM信元信头内能编码的可能虚连接组合的最大数目,而并不限制可以利用的虚连接组合的集合。二分搜索可用来高效率地确定与信元的连接相应的具体搜索记录的位置,提供比较少的存储器访问次数(例如1+1+4·2=10)。
以上结合当前认为最实际的优选实施例对本发明作了说明。可以理解,本发明并不局限于这里所揭示的实施例。相反,本发明应函盖包括在所附权利要求给定的精神和范围内的所有修改型和等效配置。
权利要求
1.在一种为来自输入口的信元至少部分根据信元信头内提供的虚连接信息选择通过虚连接至输出口的路由的ATM交换机内,一种虚路径/虚信道查找方法,所述方法包括下列步骤(a)对包括虚路径、虚信道和物理链路信息的信元虚连接信息进行散列编码,得出长度缩短的散列码;以及(b)至少部分根据长度缩短的散列码接入连接信息。
2.一种如在权利要求1中所述的方法,其中所述散列编码的步骤(a)包括对至少一个虚路径标识符和一个物理链路标识符进行散列编码的步骤。
3.一种如在权利要求1中所述的方法,其中所述接入的步骤(b)包括至少部分根据散列码执行二分搜索的步骤。
4.一种如在权利要求1中所述的方法,其中所述散列编码的步骤(a)包括检验虚连接信息是否与一个有效虚路径相应和根据检验结果有选择地屏蔽至少部分虚连接信息的步骤。
5.一种如在权利要求4中所述的方法,其中所述有选择地屏蔽的步骤包括有选择的屏蔽一个虚信道标识符的步骤。
6.一种如在权利要求1中所述的方法,所述方法还包括根据散列码查找一个搜索表指针的步骤,而所述接入的步骤(b)包括至少部分根据搜索指针接入一个搜索表的步骤。
7.一种如在权利要求1中所述的方法,其中所述散列编码的步骤(a)包括执行CRC多项式除法的步骤。
8.一种如在权利要求1中所述的方法,其中所述散列编码的步骤(a)包括至少部分用一个反馈寄存器和一个XOR门的网处理虚连接信息的步骤。
9.一种如在权利要求1中所述的方法,其中所述接入的步骤(b)包括根据散列码和虚连接信息执行搜索的步骤。
10.一种如在权利要求1中所述的方法,其中所述接入的步骤(b)包括对一个搜索表进行搜索,寻找由散列码索引的含有匹配虚连接信息的搜索记录的步骤。
11.一种如在权利要求1中所述的方法,其中所述步骤(b)包括选择与散列码相应的多个记录,根据虚连接信息从中选择一个记录的步骤。
12.一种如在权利要求1中所述的方法,其中所述步骤(a)包括产生一个散列编码副产项的步骤,而所述步骤(b)包括选择与散列码相应的多个记录,再根据散列编码副产项从中选择一个记录的步骤。
13.一种如在权利要求1中所述的方法,其中所述接入的步骤(b)包括执行多层二分搜索,而如果在预定的二分搜索层数后仍未发现一个相应连接数据,就产生一个出错信号的步骤。
14.一种如在权利要求1中所述的方法,所述方法还包括对二分搜索树进行平衡的步骤,而所述步骤(b)通过搜索经平衡的二分搜索树执行。
15.一种如在权利要求1中所述的方法,所述方法还包括下列步骤至少部分根据PHY和VPI虚连接信息确定是否有一个有效VPC;以及所述步骤(b)包括根据由散列码索引的搜索表确定是否有一个有效VCC的步骤。
16.在一种为来自输入口的信元至少部分根据信元信头内提供的虚连接信息选择通过虚连接至输出口的路由的ATM交换机内,一种虚路径/虚信道查找装置,所述装置包括一个散列编码块,用来对信元虚连接信息进行散列编码,提供长度缩短的散列码;以及一个搜索表,用来至少部分根据长度缩短的散列码接入连接信息;
17.一种如在权利要求16中所述的装置,其中所述散列编码块包括一个反馈寄存器和一个门阵列。
18.一种如在权利要求16中所述的装置,其中所述装置还包括根据虚连接信息是否与一个有效虚路径相应有选择地屏蔽部分虚连接信息的装置。
19.一种如在权利要求16中所述的装置,其中所述搜索表包括将虚连接信息与由散列码索引的至少部分搜索记录相比较的比较逻辑。
20.一种如在权利要求16中所述的装置,其中所述搜索表包括存储一个二分搜索树的装置。
21.一种如在权利要求16中所述的装置,其中所述搜索表包括一个存储多个各包括一个虚连接信息段、一个连接标识符段、一个低段和一个高段的搜索记录的存储器。
22.一种如在权利要求16中所述的装置,其中所述散列编码块对一个虚路径标识符、一个虚信道标识符和物理链路信息进行散列编码。
23.一种如在权利要求16中所述的装置,所述装置还包括一个确定虚连接信息是否与一个有效虚路径连接相应的电路,而其中所述搜索表用来确定虚连接信息是否与一个有效虚信道连接相应。
24.一种虚路径/虚信道查找装置,所述装置包括连接成接收信元虚拟连接信息的散列编码装置,用来对信元虚拟连接信息进行散列编码,提供长度缩短的散列码;以及连接成接收长度缩短的散列码的连接信息接入装置,用来至少部分根据长度缩短的散列码接入连接信息。
25.一种如在权利要求22中所述的装置,其中所述散列编码装置包括对一个虚路径标识符、一个虚信道标识符和物理链路信息进行散列编码的装置。
26.一种信元路由选择方法,所述方法包括下列步骤(a)获取与一个信元相应的虚连接信息;(b)对至少部分虚连接信息进行散列编码;提供一个长度缩短的散列码;(c)利用长度缩短的散列码直接或间接查找存储在一个搜索表内的一个二分搜索树,所述二分搜索树能包括多个搜索记录;(d)至少部分根据搜索记录内容与所获得的虚连接信息之间的比较结果选择多个搜索记录中的一个搜索记录;(e)根据所选搜索记录获取虚连接信息;以及(f)至少部分根据由步骤(e)获得的虚连接信息为信元选择通过一个数字通信网的路由。
27.一种信元路由选择方法,其中所述散列编码的步骤(a)包括对至少部分VPI、VCI和PHY信息进行散列编码的步骤。
28.一种ATM信元路由选择确定方法,所述方法包括下列步骤(a)根据PHY、VPI两者虚连接信息的组合查找一个第一表内的记录,(b)根据PHY、VPI虚连接信息和VCI虚连接信息的组合查找一个第二表内的记录;(c)根据第一表的查找结果确定信元是否具有一个有效虚路径连接;以及(d)根据第二表的查找结果确定信元是否具有一个有效虚信道连接。
29.一种如在权利要求28中所述的方法,其中所述步骤(b)包括根据经选择屏蔽的VCI和经散列编码的PHY和VPI接入第二表的步骤。
30.一种如在权利要求28中所述的方法,所述方法还包括根据从在第二表内找到的记录得出的信息为信元选择路由。
全文摘要
本发明提供了一种用于查找ATM连接表的新的有效方法,这种方法利用散列编码和二分表搜索技术充分减少了表的数量和存储器查找次数。与入局ATM信元关联的虚连接信息经散列编码后形成的散列码提供了虚连接信息的压缩表示,使得根据散列码访问的表的地址空间可以大大小于在ATM信元信头内能编码的可能虚连接组合的最大数目,而并不限制可以使用的虚连接组合的集合。根据信元的虚连接信息进行二分搜索可以从根据散列码访问的多个记录中有效地选择与信元的连接相应的特定搜索记录。
文档编号H04Q11/04GK1272296SQ9880907
公开日2000年11月1日 申请日期1998年6月30日 优先权日1997年7月11日
发明者G·维克隆德 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1