一种动态管理异步传输模式中虚连接的方法

文档序号:7669697阅读:180来源:国知局
专利名称:一种动态管理异步传输模式中虚连接的方法
技术领域
本发明涉及一禾中能够对ATM (Asynchronous Transfer Mode,异步 传输模式)中使用的虚连接实施动态管理的方法,属于宽带通信技术领 域。
背景技术
ATM是在传统电路传输模式和分组传输模式基础上发展起来的新 兴数据传输模式。在该模式中,数据被组织成53个字节的信元(其中 48个字节为有效信息,5个字节为标头或称信元头,标头上存储传输 地址的信息等),然后进行快速分组交换,以满足不同业务传输的需求。 由于各个信元不需要周期性出现,因此把这种数据传输模式称为异步 传输模式。这里的"异步"是指不需要对发送方的信号按一定的步调
(同步)进行发送。ATM技术具有传输速度快、距离不受限制等特点, 尤其适合宽带多媒体业务中使用。
在ATM的信元结构中,VPI和VCI是最重要的两个部分。VPI
(Virtual Path Identifier)是虚通道标识符的简称;VCI (Virtual Connection Identifier)是虚通路标识符的简称。VPI禾卩VCI合起来 构成了一个信元的路由信息。在ATM中,地址是呼叫建立过程中通过 UNI信令确定的,然后据此寻找合适的路由,并建立VC (虚连接)。虚 连接由一系列VPI/VCI路由构成,并用VPI/VCI标识。ATM交换机根 据各个信元上的VPI/VCI来决定把它们送到哪一条线路上去。
在ATM技术的使用过程中,对虚连接的管理实质上就是对VPI/VCI 的管理。实现有效管理和查找操作存在两个需要重点关注的问题,一 个是查找VPI/VCI所占用的CPU的时间长短,另外一个是存储VPI/VCI 所占用的内存空间大小。现有技术中常用的解决方案包括直接地址查 找法和哈希算法。但这两种方法各自存在自身的不足。直接地址査找 法需要消耗巨大的内存;哈希算法存在两个问题 一个是存在哈希冲 突,另外一个是支持的连接数量特别大的时候,也需要巨大的内存空 间,而且在这种情况下,产生哈希冲突的概率也增加了。在申请号为03101344.9的中国专利申请中,提供了实现ATM链接 査找的方法。该方法采用再哈希法处理哈希冲突。与目前査找异步传 输模式链接的现有技术(直接地址、CAM表查找法)相比,该方法有 如下优点(1)对RAM容量要求较低,可以在FPGA内部实现;(2)很 容易支持较多数目的链接査找,且端口值、VPI值、VCI值范围不受限 制;(3)实现起来方法简单,链接数目增加时,很容易实现扩充。
另外,在申请号为02155154.5的中国专利申请中,介绍了一种异 步传输模式设备虚通路标识符的管理方法,包括申请VCI和释放VCI。 其中申请VCI包括生成比特集;组成比特集池;设置比特集中相应 比特的标记;设置比特集的标志位;若VCI的VPI首次用于VC连接, 到比特集池申请一个空闲比特集,挂在相应的VPI下,将该比特集的 标志位置为占用,并将相应的VCI比特置为1;若该连接的VPI已经 被其它VC连接所使用,检查该VPI指向的比特集中的比特位,若为1, 则要重新选取VCI,否则将该位置为1。释放VCI包括检査VPI比特 集的相应比特,若为1,将其置为0,否则表明该VCI根本没有被占用; 若该VPI下没有VC连接,将该比特集归还给比特集池,并将该比特集 的标志位置为空闲。
但是,上述各技术方案仍然存在查找速度不够快,无法支持任意 的VPI/VCI位数的缺陷,仍然需要进一步加以改进。

发明内容
本发明的目的是提供一种动态管理ATM (异步传输模式)中虚连接 的方法。该方法通过控制VPI/VCI的管理粒度,可以获得恒定高速的 查找速度和高效的内存使用效率。
为实现上述的发明目的,本发明采用下述的技术方案 一种动态管理异步传输模式中虚连接的方法,通过管理虚通道标
识符和虚通路标识符来实现,其特征在于
(1) 确定在实际应用中需要的所述虚通道标识符和所述虚通路标 识符的位数,并进一步确定所述虚通道标识符和所述虚通路标识符的
管理粒度;
(2) 根据所述位数和管理粒度,将要管理的虚通道标识符和虚通路 标识符分成等分的区间,并以所述区间为单位进行虚通道标识符和虚 通路标识符的管理;(3) 在需要用到某个虚通道标识符或虚通路标识符时,先判断该虚
通道标识符或虚通路标识符所在的区间是否己经申请了相应的内存空
间;
(4) 如果已经申请内存空间,则在该内存空间中申请虚通道标识符
或虚通路标识符,如果没有申请内存空间,则申请内存空间并在该内 存空间中申请虚通道标识符或虚通路标识符;
(5) 所述虚通道标识符或虚通路标识符使用完毕之后,释放所述虚 通道标识符或虚通路标识符,并判断所述区间内所有的虚通道标识符 或虚通路标识符是否都已经释放,如果是,则释放相应的内存。
其中,所述虚通道标识符包括两个部分指向虚通路标识符队列 的指针和该区间已建连接的总数。
所述虚通路标识符包括三个部分虚通道连接或虚信道连接标志、 该区间已建连接的总数和指向虚通路标识符比特池指针队列的指针。
虚通道连接通过所述虚通路标识符中的虚通道连接标志来表示, 所述虚通道连接不需要申请所述虚通路标识符比特池指针队列和虚通 路标识符比特池的内存空间。
虚通路连接的每 一 对虚通道标识符/虚通路标识符与虚通路标识 符比特池中的一个比特位对应。
本发明通过控制vpi/vci的管理粒度来优化内存使用的效率。与 现有异步传输模式的vpi/vci查找技术相比较,本方法具有以下的优 点l)对内存容量的要求低;2)査找速度恒定高效;3)可扩展性强, 支持任意数量的vpi/vci,可以在atm (异步传输模式)的任何环境中 得到应用。


下面结合附图和具体实施方式
对本发明作进一步的说明。 图l为本发明的整体实施过程示意图; 图2为初始化过程的实施流程图; 图3为申请vpi/vci过程的实施流程图; 图4为释放vpi/vci过程的实施流程图。
具体实施例方式
本方法的基本思路是把需要管理的整个vpi/vci空间划分成若干 等分的区间,每个区间的大小可以根据实际情况来设置。实际运行中,当用到了某个VPI/VCI的时候,ATM系统才在内存中申请该VPI/VCI 所在的区间。这样就大大节省了整个ATM系统的内存空间,从而在保 证时间效率的基础上提升了内存的空间使用效率。
上述的VPI空间指要管理的所有VPI的值空间,假设支持的VPI 位数为8位,则VPI空间为0 255; VCI空间指要管理的所有VCI的 值空间,假设支持的VCI位数为12位,则VCI空间为0 4095; VCI BIT 池是实施虚连接管理时所申请的内存空间,该内存空间的每一个BIT 与一对VPI/VCI值对应。
参见图1所示,VPI队列把ATM系统所支持的VPI空间分成若干 等分的区间,队列中的每个表项对应1个区间。在每个VPI表项中, 包括两个部分指向VCI队列的指针和该区间已建连接的总数。通过 上述指向VCI队列的指针,使VCI队列的每个表项与VPI队列的其中 l个区间代表的VPI——对应。在每一个VCI表项中,包括三个部分 VPC (虚通道连接)或VCC (虚信道连接)连接标志、该区间已建连接 的总数和指向VCI BIT (比特)池指针队列的指针。上述的该区间已 建连接的总数包括VCC和VPC的总数。VCI表项通过指向VCI BIT池 指针队列的指针与VCI BIT池指针队列建立联系。VCI BIT池指针队 列把系统支持的VCI分成若干等分的区间,指针队列的每个表项对应 l个区间。在每一个VCI BIT池指针项中,包括两个部分申请的VCI BIT池指针和该区间已建VCC的连接数。VCI BIT池指针指向VCI BIT 池,BIT池中的每一个BIT按从低位到高位的顺序与该VCI区间的每 个VCI值从小到大一一对应。这样,本发明通过多级指针连续指向的 方式,使VCI BIT池的每个BIT与一对VPI/VCI值对应。
假设系统支持的VPI位数为a,支持的最大VCI位数为b。设置 VPI的管理粒度为x, VCI的管理粒度为y (其中a, b, x, y都是二进 制的位数)。则图1中VPI队列的大小为2的a—x次方,VCI队列大 小为2的x次方;VCI BIT池指针队列大小为2的b—y次方,VCI BIT 池大小为2的y—3次方。需要说明的是,此处隐含的限制条件是a》x, b》y, y>3, x》0。
例如,假设需要管理的虚通道标识符位数为8位,则合法虚通道 标识符为0 255;设定的管理粒度为16,则把256个虚通道标识符分 成16等份,0 15为第1份,16 31为第2份,依次类推;假设需要管理的虚通路标识符位数为12位,则合法虚通路标识符为0 4095, 设定的管理粒度为16,则把4096个虚通道标识符分成16等份,0 255为第1份,256 511为第2份,依次类推。
VPI队列的第1项对应的VPI值为0 2的x次方一l,第2项对 应的VPI值为2的x次方 2的2x次方一l,依次类推,最后一项对 应的VPI值为2的a—x次方 2的a次方一 1。 VPI表项指向的VCI队 列与其本身对应的一组VPI值按顺序——对应。
VCI BIT池指针队列第1项对应的VCI值为0 2的y次方一1,第 2项对应的VCI值为2的y次方 2的2y次方一 1,依次类推,最后一 项对应的VCI值为2的b—y次方 2的b次方一 1。 VCI BIT池指针队 列表项指向的VCI BIT池按照从小到大的顺序与VCI值——对应,即 BIT池第1项的第0个BIT对应的VCI值为VCI BIT池指针队列表项 对应的第1个VCI值,最后1项的第7个BIT对应的VCI值为VCI BIT 池指针队列表项对应的最后1个VCI值。
VCI表项中VPC (1)或VCC (0)连接标志为1时,表示该VPI 用于VPC,所以不需要再申请VCI BIT池指针队列空间和VCI BIT池 空间。VCI BIT池的BIT置1表示该VCI已经被占用,BIT置O表示该 VCI为空闲。
下面进一步介绍通过控制VPI/VCI的管理粒度来优化内存使用效 率的基本实施步骤。首先参见图2所示,初始化的过程包括如下的步 骤在开始之后,确定支持的VPI位数a,支持的VCI位数b;进一步 地,确定VPI的管理粒度x, VCI的管理粒度y;然后申请VPI队列的 空间,初始化VPI队列;将所有表项的所有内容置0。由此完成初始 化的过程。
在需要用到某个VPI/VCI时,先判断该VPI/VCI所在的区间是否 已经申请了相应的内存空间.如果己经申请内存空间,则在该内存空间 中申请VPI/VCI,如果没有申请内存空间,则申请内存空间并在该内 存空间中申请VPI/VCI 。
具体参见图3所示,首先在VPI队列中找到与分配的VPI对应的 表项,判断该表项中已经建立的连接总数是否为0。如果已经建立的 连接总数为O的话,申请VCI队列空间,将指针填入VPI表项中,然 后进一步判断要建立的是否是VPC连接,如果是的话,则设置与分配
8的VPI对应的VCI队列的表项,其中连接标志置1,连接总数也置1, 此时认为VPI/VCI申请成功;如果要建立的不是VPC连接,则申请VCI BIT池指针队列空间,把指针填入VCI队列的相应表项中,并进一步 申请VCI BIT池空间,把指针填入相应的VCI BIT池指针队列的表项 中,然后将VCI BIT池中与分配的VCI对应的BIT置1、 VCC连接数加 1、 VCI表项连接总数加1、 VPI表项连接总数也加1,此时认为VPI/VCI 申请成功。在上述已经建立的连接总数不为0的情况下,进一步判断 VCI队列中对应的VCI表项的连接总数是否为0,如果为0的话,转入 上述的判断要建立的是否是VPC连接的步骤,否则判断VPC连接标志 是否是1,如果是1的话,则认为VPI/VCI申请失败,如果不是1的 话,进一步判断对应的VCI BIT池指针项中的连接总数是否是0,如 果是0则认为VPI/VCI申请失败,如果不是0则进一步判断与分配的 VCI对应的VCI BIT池中的BIT位是否是1,如果不是1的话则对应的 VCI BIT池中的BIT位置1,认定VPI/VCI申请成功;否则的话认定 VPI/VCI申请失败。
VPI/VCI申请成功之后,采用ATM模式中通行的方式使用VPI/VCI 。 在VPI/VCI使用完毕之后,按照图4所示的步骤释放VPI/VCI,并在 判断区间内所有的VPI/VCI都已经释放的前提下,释放相应的内存。 具体的释放步骤如下-
首先,依次进行如下的判断1.与释放的VPI对应的VPI表项连 接总数是否是O 2.与释放的VPI对应的VCI表项连接总数是否是0 3.释放的是否是VPC连接? 4.与释放的VCI对应的VCI BIT池指针 项的连接总数是否是0 5. VCI BIT池中对应的BIT位是否是0 在 上述的各项判断中,有任意一项判断为是则认为释放VPI/VCI失败, 只有所有的判断结果都为否定时才进一步设置该BIT位为0,设置VCI BIT池指针项连接总数减1, VCI表项和VPI表项的连接总数都减1, 然后判断VCI BIT池指针项连接总数是否为0,如果是否定的结果则 认为释放VPI/VCI成功,如果为肯定的结果则进一 步释放VCI BIT池 空间,将对应指针置0,然后判断VCI表项的连接总数是否为0,如果 是否定的结果则认为释放VPI/VCI成功,如果为肯定的结果则进一步 释放VCI BIT池指针队列的空间,将对应指针置0,接下来判断VPI 表项的连接总数是否为0,如果是否定的结果则认为释放VPI/VCI成功,如果为肯定的结果则进一步释放VCI队列的空间,将对应指针置 0。此时也认为释放VPI/VCI成功。
需要指出的是,在执行上述的第三项判断释放的是否是VPC连
接时,如果为肯定的结果,也可以进一步判断对应VCI表项的VPC标
志位是否是1,如果结果是否定的话,则认为释放VPIACI失败;如
果结果是肯定的话,则置该VCI表项的VPC标志位为0,连接总数为0, 并将VPI表项的连接总数减l,然后判断VPI表项的连接总数是否为0, 如果是否定的结果则认为释放VPI/VCI成功,如果为肯定的结果则进 一步释放VCI队列的空间,将对应指针置0。此时也认为释放VPI/VCI成功。
上面虽然通过实施例描绘了本发明,但本领域普通技术人员知道, 本发明有许多变形和变化而不脱离本发明的精神,所附的权利要求将 包括这些变形和变化。
10
权利要求
1. 一种动态管理异步传输模式中虚连接的方法,通过管理虚通道标识符和虚通路标识符来实现,其特征在于(1)确定在实际应用中需要的所述虚通道标识符和所述虚通路标识符的位数,并进一步确定所述虚通道标识符和所述虚通路标识符的管理粒度;(2)根据所述位数和管理粒度,将要管理的虚通道标识符和虚通路标识符分成等分的区间,并以所述区间为单位进行虚通道标识符和虚通路标识符的管理;(3)在需要用到某个虚通道标识符或虚通路标识符时,先判断该虚通道标识符或虚通路标识符所在的区间是否已经申请了相应的内存空间;(4)如果已经申请内存空间,则在该内存空间中申请虚通道标识符或虚通路标识符,如果没有申请内存空间,则申请内存空间并在该内存空间中申请虚通道标识符或虚通路标识符;(5)所述虚通道标识符或虚通路标识符使用完毕之后,释放所述虚通道标识符或虚通路标识符,并判断所述区间内所有的虚通道标识符或虚通路标识符是否都已经释放,如果是,则释放相应的内存。
2. 如权利要求1所述的动态管理异步传输模式中虚连接的方法, 其特征在于所述虚通道标识符包括两个部分指向虚通路标识符队列的指针 和该区间已建连接的总数。
3. 如权利要求1所述的动态管理异步传输模式中虚连接的方法, 其特征在于.-所述虚通路标识符包括三个部分虚通道连接或虚信道连接标志、 该区间已建连接的总数和指向虚通路标识符比特池指针队列的指针。
4. 如权利要求3所述的动态管理异步传输模式中虚连接的方法, 其特征在于虚通道连接通过所述虚通路标识符中的虚通道连接标志来表示, 所述虚通道连接不需要申请所述虚通路标识符比特池指针队列和虚通路标识符比特池的内存空间。
5.如权利要求1所述的动态管理异步传输模式中虚连接的方法, 其特征在于虚通路连接的每 一 对虚通道标识符/虚通路标识符与虚通路标识 符比特池中的一个比特位对应。
全文摘要
本发明提供了一种动态管理异步传输模式中虚连接的方法。该方法中,把需要管理的整个VPI/VCI空间划分成若干等分的区间,区间的大小根据实际应用情况来设置。实际运行中,当用到了某个VPI/VCI的时候,ATM系统才通过多级指针连续指向的方式申请该VPI/VCI所在区间的内存。这样就大大节省了整个ATM系统的内存空间,在保证时间效率的基础上提升了内存的空间使用效率。
文档编号H04L12/46GK101471842SQ20071030852
公开日2009年7月1日 申请日期2007年12月29日 优先权日2007年12月29日
发明者何建伟, 郭寿益, 陈向荣 申请人:北京大唐高鸿数据网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1