CN100442764C - Sar处理芯片发送拥塞的控制方法 - Google Patents

Sar处理芯片发送拥塞的控制方法 Download PDF

Info

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
Application number
CNB2005100749302A
Other languages
English (en)
Other versions
CN1878124A (zh
Inventor
刘龙新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005100749302A priority Critical patent/CN100442764C/zh
Publication of CN1878124A publication Critical patent/CN1878124A/zh
Application granted granted Critical
Publication of CN100442764C publication Critical patent/CN100442764C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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处理芯片发送拥塞的控制方法。
背景技术
在使用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发送拥塞,禁止本次发送。
CNB2005100749302A 2005-06-06 2005-06-06 Sar处理芯片发送拥塞的控制方法 Expired - Fee Related CN100442764C (zh)

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)

* Cited by examiner, † Cited by third party
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 深圳市中兴通讯股份有限公司 一种异步传输模式设备虚通路标识符的管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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