CN100442764C - Sar处理芯片发送拥塞的控制方法 - Google Patents
Sar处理芯片发送拥塞的控制方法 Download PDFInfo
- Publication number
- CN100442764C CN100442764C CNB2005100749302A CN200510074930A CN100442764C CN 100442764 C CN100442764 C CN 100442764C CN B2005100749302 A CNB2005100749302 A CN B2005100749302A CN 200510074930 A CN200510074930 A CN 200510074930A CN 100442764 C CN100442764 C CN 100442764C
- Authority
- CN
- China
- Prior art keywords
- sbd
- vcc
- sum
- control method
- free time
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种SAR处理芯片发送拥塞的控制方法,在每条VCC发送前,根据该VCC正在使用的SBD数量及当前允许每条VCC使用的SBD最大数量,对该VCC进行拥塞控制。当该VCC正在使用的SBD数量超过当前允许每条VCC使用的SBD最大数量时,则认为该VCC处于发送拥塞状态,禁止该VCC的本次发送。本发明能够对系统中VCC的发送拥塞程度进行有效控制,避免某条VCC占用过多的SBD,导致其他VCC因无法获得SBD而发送失败,从而保证了其他VCC上面的业务不受影响,同时也不会对系统的其他业务造成任何影响。
Description
技术领域
本发明涉及网络通讯技术,尤其涉及一种SAR处理芯片发送拥塞的控制方法。
背景技术
在使用SAR(分段重组)处理芯片中发现,当应用软件在某条VCC(虚通道连接)中要求发送的数据流量持续超过该VCC的配置带宽时,将导致发送拥塞。由于在配置VCC带宽的时候,应用软件会根据要求来配置一个合适的VCC带宽,因此,通常情况下不会发生发送拥塞情形。但应用层本身没有对发送流量进行检测和控制的机制,因此,在考虑不周的情况下,或在某些恶劣情况下,发送拥塞的情形还是有可能发生的。
正常情况下,应用层将待发送的数据挂在SBD(分段缓冲区描述符,也就是数据发送时使用的BD)链上后,将首BD(缓冲区描述符)写入发送队列,SAR处理芯片能将该数据对应的整个报文的SBD链信息链接进发送VCC表,并立刻将其发送出去,并在延迟数十微秒后,产生一个状态队列表项来通知应用程序SAR硬件已经将对应的报文自动发送完毕,并要求应用程序释放原报文占用的SBD。
当某条VCC发送拥塞时,由于从应用层来的数据速率超过了SAR处理芯片在该VCC上的最大发送速率,这样应用层的数据就以SBD链的形式堆积在发送VCC表中(SAR处理芯片能够将不同报文的所有待发送的SBD链接起来,并用两个指针来管理,一个指针指向链首,另一个指向链尾),如果这种情况持续下去,大量的SBD堆积在发送VCC表中的两个管理指针之间,直至SBD耗尽,以致其他VCC因无法获得SBD而发送失败。
因此需要对每条VCC的发送进行拥塞控制,避免在某条VCC中占用过多的SBD,导致其他VCC因无法获得SBD而发送失败。
目前,解决上述技术问题的现有技术方案是:
当发送拥塞越来越严重,耗尽SBD,导致其他VCC因无法获得SBD而不能正常发送,系统受到严重影响时,强行对系统进行复位。
该技术方案只能暂时缓解发送拥塞,并不能从根本上解决发送拥塞问题,而且在系统复位期间,会严重影响各种业务,从而严重影响用户的服务质量。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种SAR处理芯片发送拥塞的控制方法,不但能够有效解决发送拥塞的技术问题,同时也不会对系统的各种业务造成影响。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种SAR处理芯片发送拥塞的控制方法,包括如下步骤:
A、确定一条虚通道连接VCC正在使用的分段缓冲区描述符SBD的数量,所述VCC正在使用的SBD数量为:该VCC申请使用的SBD数量与使用完毕释放的SBD数量之差;
B、确定当前允许每条VCC使用的SBD最大数量;
C、根据所述VCC正在使用的SBD数量及当前允许每条VCC使用的SBD最大数量,对该VCC进行拥塞控制。
所述步骤A具体包括:
A1、该VCC中将应用层的数据挂接到SBD上时,统计申请使用的SBD数量;
A2、统计该VCC中使用完毕释放的SBD数量;
A3、计算该VCC申请使用的SBD数量与使用完毕释放的SBD数量之差,并作为所述VCC正在使用的SBD数量。
所述步骤B具体包括:
根据当前空闲的SBD总数和最初分配的空闲SBD总数之间的比例,确定所述当前允许每条VCC使用的SBD最大数量。
所述当前空闲的SBD就是当前没有被使用的SBD。
所述当前空闲的SBD总数为:所述最初分配的空闲SBD总数与所有VCC正在使用的SBD总数之差。
确定所述当前空闲的SBD总数的过程具体包括:
B1、统计每条VCC正在使用的SBD数量;
B2、统计所有VCC正在使用的SBD总数;
B3、计算最初分配的空闲SBD总数与所有VCC正在使用的SBD总数之差,并作为所述当前空闲的SBD总数。
所述步骤C具体包括:
当所述VCC正在使用的SBD数量超过当前允许每条VCC使用的SBD最大数量时,则认为该VCC发送拥塞,禁止本次发送。
由上述本发明提供的技术方案可以看出,本发明的控制方法是控制系统中每条VCC正在使用的SBD数量,当超过一定的标准时,则认为该VCC发送拥塞,禁止本次发送,从而避免该VCC耗尽大量SBD,保证其他VCC能获得足够的SBD进行正常发送,从而保证了其他VCC上面的业务不受影响,同时也不会对系统的其他业务造成任何影响。
附图说明
图1为本发明所述方法的流程图。
具体实施方式
本发明的核心是:假如系统最初总共分配N个空闲的SBD,最多同时可能有M条VCC在发送(N通常比M大得多)。正常情况下,正在使用中的SBD数量不是很多,通常也就是2M个左右,正在使用中的SBD主要是分布在发送VCC表中,也有一部分分布在发送状态队列中。本方案就是采取一些算法来控制每条VCC中正在使用的SBD数量,避免该数值过大而使得空闲SBD过少,从而导致其他VCC无法获得足够的SBD来发送数据。
本发明的总体控制思想是:在每条VCC发送前,对系统中空闲的SBD数量进行判断,空闲的SBD数量越少,允许该条VCC使用的SBD数量就越少。当该条VCC中正在使用的SBD数量超过一定的标准时,则禁止该条VCC的本次发送,此时,该条VCC处于发送拥塞状态。该条VCC在下次发送时,重新进行判断,如果仍然满足发送拥塞状态的条件,则仍然禁止该VCC发送,直到不满足发送拥塞状态的条件,方可恢复到正常发送状态。
为对本发明有进一步的了解,下面将结合附图对本发明所述的方法进行详细的说明。
本发明所述方法的具体实现方式如图1所示,包括以下步骤:
步骤11:确定某条VCC正在使用的SBD数量X。
为了实现SAR处理芯片发送拥塞的控制方法,在某条VCC发送前,首先需要统计该条VCC当前占用的SBD数量,也就是该VCC中处于“正在使用”状态的SBD数量。
我们知道,SAR处理芯片使用SBD发送数据的过程如下:
应用层在某条VCC上发送数据时,首先向系统申请使用SBD;
在将数据挂接到SBD链上后,一旦成功将该数据写入发送队列,则该SBD就变成“正在使用”的状态;
然后SAR处理芯片将该数据对应的整个报文的SBD链信息链接进发送VCC表,并将该数据发送出去;
当挂接到SBD链上的数据被发送出去后,该SBD分布在发送状态队列中,应用程序对该发送状态队列进行处理,将使用完毕的SBD释放,该SBD从“正在使用”状态变为“空闲”状态。
因此,所述VCC中正在使用的SBD数量X为:该VCC申请使用的SBD数量与使用完毕释放的SBD数量之差,确定过程具体如下:
统计该VCC中申请使用的SBD数量;
统计该VCC中使用完毕释放的SBD数量;
计算该VCC中申请使用的SBD数量与使用完毕释放的SBD数量之差,并作为该VCC中正在使用的SBD数量X。
步骤12:确定系统当前空闲的SBD总数Y。
所述系统当前空闲的SBD就是系统当前没有被使用的SBD,因此,当前空闲的SBD总数为:系统最初分配的空闲SBD总数N与系统中所有VCC正在使用的SBD总数之差。
根据步骤11所述,确定所述系统当前空闲的SBD总数Y的过程具体包括:
统计每条VCC正在使用的SBD数量;
统计系统中所有VCC正在使用的SBD总数;
计算系统最初分配的空闲SBD总数N与所有VCC正在使用的SBD总数之差,并作为系统当前空闲的SBD总数Y。
步骤13:确定当前允许每条VCC使用的SBD最大数量Z。
所述当前允许每条VCC使用SBD的最大数量Z是根据系统当前空闲的SBD总数Y和系统最初分配的空闲SBD总数N确定的;
所述当前允许每条VCC使用SBD的最大数量Z具体是根据系统当前空闲的SBD总数Y与系统最初分配的空闲SBD总数N之间的比例来确定的。
在本发明的实施例中,可以通过如下规则确定当前允许每条VCC使用SBD的最大数量Z:
当所述系统当前空闲的SBD总数Y超过系统最初分配的空闲SBD总数N的4/8时,所述当前允许每条VCC使用的SBD最大数Z为K;
当所述系统当前空闲的SBD总数Y超过系统最初分配的空闲SBD总数N的3/8时,所述当前允许每条VCC使用的SBD最大数量Z为K/2;
当所述系统当前空闲的SBD总数Y超过系统最初分配的空闲SBD总数N的2/8时,所述当前允许每条VCC使用的SBD最大数量Z为K/4;
当所述系统当前空闲的SBD总数Y超过系统最初分配的空闲SBD总数N的1/8时,所述当前允许每条VCC使用的SBD最大数量Z为K/8;
当所述系统当前空闲的SBD总数Y不超过系统最初分配的空闲SBD总数N的1/8时,所述当前允许每条VCC使用的SBD最大数量Z为1。
其中,N可以是一个几百到数千的数值,K可以是一个几十到数百的数值;通常情况,N是一个数千的数值,K取值为128到256。
数据在VCC中发送时,假设一个报文在一次发送过程中最多需要使用P个SBD,而且此种使用P个SBD的报文的数量不是很多,为了避免发送失败,K必须大于P,同时又不能超过系统当前空闲的SBD总数Y,因此,K的数值可以根据P值的大小来确定,一般K取值为P的2-20倍。
在实际应用中,可以根据实际情况来确定当前允许每条VCC使用SBD的最大数量的具体规则。
步骤14:判断X是否大于Z。
判断所述VCC正在使用的SBD数量X是否大于所述当前允许每条VCC使用的SBD最大数量Z。如果X大于Z,则执行步骤15,进行拥塞控制;否则,执行步骤16,该VCC正常发送。
步骤15:对该VCC进行拥塞控制,禁止本次发送。
当所述VCC正在使用的SBD数量大于所述当前允许每条VCC使用SBD的最大数量时,则认为该条VCC满足发送拥塞条件,处于拥塞状态,禁止当前应用层来的数据在该VCC中发送。
步骤16:该VCC正常发送。
当所述VCC正在使用的SBD数量不大于所述当前允许每条VCC使用SBD的最大数量时,当前应用层来的数据可以在该VCC中正常发送。
当某条VCC发生发送拥塞后,应用层下次在该条VCC中发送数据时,会重新进行拥塞判断。由于系统中空闲的SBD数量在动态变化,该条VCC中正在使用的SBD数量也在不断减少,在以后的发送中,该条VCC总会解除发送拥塞,回到正常发送状态。
本发明是专门针对采用共享方式SBD的情况提出的,不适合于给某个VCC固定分配一定SBD数目的情况。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1、一种SAR处理芯片发送拥塞的控制方法,包括如下步骤:
A、确定一条虚通道连接VCC正在使用的分段缓冲区描述符SBD的数量,所述VCC正在使用的SBD数量为:该VCC申请使用的SBD数量与使用完毕释放的SBD数量之差;
B、确定当前允许每条VCC使用的SBD最大数量;
C、根据所述VCC正在使用的SBD数量及当前允许每条VCC使用的SBD最大数量,对该VCC进行拥塞控制。
2、如权利要求1所述的控制方法,其特征在于,所述步骤A具体包括:
A1、该VCC中将应用层的数据挂接到SBD上时,统计申请使用的SBD数量;
A2、统计该VCC中使用完毕释放的SBD数量;
A3、计算该VCC申请使用的SBD数量与使用完毕释放的SBD数量之差,并作为所述VCC正在使用的SBD数量。
3、如权利要求1所述的控制方法,其特征在于,所述步骤B具体包括:
根据当前空闲的SBD总数和最初分配的空闲SBD总数之间的比例,确定所述当前允许每条VCC使用的SBD最大数量。
4、如权利要求3所述的控制方法,其特征在于,所述当前空闲的SBD就是当前没有被使用的SBD。
5、如权利要求3所述的控制方法,其特征在于,所述当前空闲的SBD总数为:所述最初分配的空闲SBD总数与所有VCC正在使用的SBD总数之差。
6、如权利要求5所述的控制方法,其特征在于,确定所述当前空闲的SBD总数的过程具体包括:
B1、统计每条VCC正在使用的SBD数量;
B2、统计所有VCC正在使用的SBD总数;
B3、计算最初分配的空闲SBD总数与所有VCC正在使用的SBD总数之差,并作为所述当前空闲的SBD总数。
7、如权利要求1至3任一项所述的控制方法,其特征在于,所述步骤C具体包括:
当所述VCC正在使用的SBD数量超过当前允许每条VCC使用的SBD最大数量时,则认为该VCC发送拥塞,禁止本次发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100749302A CN100442764C (zh) | 2005-06-06 | 2005-06-06 | Sar处理芯片发送拥塞的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100749302A CN100442764C (zh) | 2005-06-06 | 2005-06-06 | Sar处理芯片发送拥塞的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1878124A CN1878124A (zh) | 2006-12-13 |
CN100442764C true CN100442764C (zh) | 2008-12-10 |
Family
ID=37510426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100749302A Expired - Fee Related CN100442764C (zh) | 2005-06-06 | 2005-06-06 | Sar处理芯片发送拥塞的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100442764C (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1172392A (zh) * | 1996-05-31 | 1998-02-04 | 日本电气株式会社 | Atm信元形成装置 |
CN1224963A (zh) * | 1998-01-26 | 1999-08-04 | 三星电子株式会社 | 异步转移模式通信网络内的反复用 |
US6285657B1 (en) * | 1999-09-28 | 2001-09-04 | Conexant Systems, Inc. | System and method of scheduling data cells based upon sustainable cell rate and peak cell rate over a variable bandwidth channel |
CN1360779A (zh) * | 1999-07-14 | 2002-07-24 | 艾利森电话股份有限公司 | 在gprs中下行链路业务量的迁移 |
CN1373570A (zh) * | 2000-09-15 | 2002-10-09 | 扎尔林克半导体股份有限公司 | 一种检测及恢复欠载和过载滑移的方法 |
CN1499793A (zh) * | 2002-11-08 | 2004-05-26 | ��Ϊ��������˾ | 一种城域传输设备中虚容器映射通道的流量控制方法 |
CN1507224A (zh) * | 2002-12-10 | 2004-06-23 | 深圳市中兴通讯股份有限公司 | 一种异步传输模式设备虚通路标识符的管理方法 |
-
2005
- 2005-06-06 CN CNB2005100749302A patent/CN100442764C/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1172392A (zh) * | 1996-05-31 | 1998-02-04 | 日本电气株式会社 | Atm信元形成装置 |
CN1224963A (zh) * | 1998-01-26 | 1999-08-04 | 三星电子株式会社 | 异步转移模式通信网络内的反复用 |
CN1360779A (zh) * | 1999-07-14 | 2002-07-24 | 艾利森电话股份有限公司 | 在gprs中下行链路业务量的迁移 |
US6285657B1 (en) * | 1999-09-28 | 2001-09-04 | Conexant Systems, Inc. | System and method of scheduling data cells based upon sustainable cell rate and peak cell rate over a variable bandwidth channel |
CN1373570A (zh) * | 2000-09-15 | 2002-10-09 | 扎尔林克半导体股份有限公司 | 一种检测及恢复欠载和过载滑移的方法 |
CN1499793A (zh) * | 2002-11-08 | 2004-05-26 | ��Ϊ��������˾ | 一种城域传输设备中虚容器映射通道的流量控制方法 |
CN1507224A (zh) * | 2002-12-10 | 2004-06-23 | 深圳市中兴通讯股份有限公司 | 一种异步传输模式设备虚通路标识符的管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1878124A (zh) | 2006-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3720356B2 (ja) | 電気通信網における過負荷を制御する方法 | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
US6363052B1 (en) | Congestion control in network systems | |
US20040066743A1 (en) | Packet switch and packet switching method using priority control based on congestion status within packet switch | |
EP1588576B1 (en) | Resource allocation management | |
JP5214822B2 (ja) | 輻輳処理時端末を選択する方法及び装置 | |
US20020159576A1 (en) | Method for overload control in a telecommunications network and apparatus therefor | |
CN100414882C (zh) | 无线网络控制器存储资源监控方法及系统 | |
JPS63176045A (ja) | 輻湊制御型パケット交換方法及びその装置 | |
CN100502315C (zh) | 一种业务流量监管方法和系统 | |
WO2008149207A2 (en) | Traffic manager, method and fabric switching system for performing active queue management of discard-eligible traffic | |
JPH0744542B2 (ja) | 非同期転送モードにおける仮想パスの帯域割当方式 | |
CN101478527A (zh) | 带宽分配方法和路由设备 | |
CN100417290C (zh) | 一种第三代移动通讯系统中的拥塞控制方法 | |
WO2010069481A1 (en) | Method and devices for performing traffic control in telecommunication networks | |
US20050078655A1 (en) | Hierarchical credit queuing for traffic shaping | |
CN116418757A (zh) | 拥塞控制方法及装置、网络设备及存储介质 | |
WO2002098047A2 (en) | System and method for providing optimum bandwidth utilization | |
CN102957625B (zh) | 一种实现端到端层次化服务质量的系统和方法 | |
CN100442764C (zh) | Sar处理芯片发送拥塞的控制方法 | |
JPH10126510A (ja) | 共通信号回線の設定装置 | |
CN101091360B (zh) | 随时间变化的通信矩阵的容量隧道的自适应带宽管理方法 | |
CN101951571A (zh) | 短消息重试方法及短消息网关 | |
CN111131066B (zh) | 一种流量整形方法及装置 | |
KR20000023195A (ko) | 무선 통신 시스템 및 그 무선 통신 시스템에서 고속데이터 자원을 할당하는 방법 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081210 Termination date: 20140606 |