CN1992582B - 宽带信令链路自适应可变滑动接收窗口的实现方法 - Google Patents

宽带信令链路自适应可变滑动接收窗口的实现方法 Download PDF

Info

Publication number
CN1992582B
CN1992582B CN2005101356724A CN200510135672A CN1992582B CN 1992582 B CN1992582 B CN 1992582B CN 2005101356724 A CN2005101356724 A CN 2005101356724A CN 200510135672 A CN200510135672 A CN 200510135672A CN 1992582 B CN1992582 B CN 1992582B
Authority
CN
China
Prior art keywords
recipient
receive window
window
transmit leg
packet
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
CN2005101356724A
Other languages
English (en)
Other versions
CN1992582A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2005101356724A priority Critical patent/CN1992582B/zh
Publication of CN1992582A publication Critical patent/CN1992582A/zh
Application granted granted Critical
Publication of CN1992582B publication Critical patent/CN1992582B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种宽带信令链路自适应可变滑动接收窗口的实现方法,首先接收方估计接收窗口大小的初始值,发送方根据该初始值发送数据包;接收方接收到发送方发送过来的数据包后,将数据包暂存在中断接收缓存区中,该缓存区的大小为X;然后接收方在计算出当前中断接收缓存区中空闲的可容纳数据包的个数Y后,对中断接收缓存区中所有积累的数据包进行接收处理;当需要向发送方发送更新接收窗口的信息时,接收方计算出自从上次更新接收窗口以来的Y的平均值Y’,将该平均值Y’除以X,得到平均空闲比例Z;接收方根据Z与预设阈值的比较结果,确定滑动接收窗口的自适应变化。由此,本发明实现了自适应可变的滑动接收窗口。

Description

宽带信令链路自适应可变滑动接收窗口的实现方法
技术领域
本发明涉及通讯领域信令系统的实现方法,特别是涉及一种宽带信令链路自适应可变滑动接收窗口的实现方法。
背景技术
接收窗口是SSCOP(面向连接的特定业务协议层)协议提供给接收方控制发送方的发送速率、进行流量调整的机制。SSCOP是宽带七号信令系统的链路层协议(ITU-TQ.2110),提供点对点的可靠消息传送服务,已经得到了广泛应用。其典型的应用协议栈如图1。
SSCOP协议中使用接收窗口进行流控的基本原理如下:发送方SSCOP实体将SSCOP上层用户请求传输到对端的信令数据封装为SD PDU(Sequenced Data Protocol-Data-Unit:按序数据协议数据单元),并发送到对端SSCOP实体。SD PDU的格式如图2。其中N(S)参数为该SD的序列号,从0开始,每发送一个SD后按序加1。
接收方SSCOP实体收到SD后,判断该SD的N(S)参数是否等于其下一个期望按序收到的SD序列号VrR。如果是,接收方会将VrR加1,并将该SD提交给SSCOP的上层用户;如果不是,接收方会立刻回送USTATPDU(Unsolicited Status:主动状态协议数据单元),其中包含丢失的SD的序列号信息,请求发送方重传。接收方会将其收到的SD中最大的N(S)+1保存为VrH。由以上描述可以看出,当发送方所有的SD均按序到达接收方时,接收方VrH等于VrR,如图3;如果中间有部分SD丢失,接收方VrH会大于VrR,如图4。
发送方周期性的(周期Timer_POLL,协议参考值100ms)向接收方发送POLL PDU(查询协议数据单元),其中包含将要按序发送的下一个SDPDU的N(S)。POLL PDU的格式见图5。接收方收到该POLL后可以知道发送方已经按序发送到哪一个SD,根据自己的接收情况即可判断哪些SD丢失。接收方收到POLL后,必须向发送方回送STAT PDU(状态协议数据单元)。STAT PDU的格式如图6,其中N(R)为接收方当前VrR值,如果有SD丢失的话还要带上丢失的SD的序列号信息。发送方收到STAT后,根据其中的N(R)可以知道哪些发出的包已经被成功接收,从而可以从自己的发送缓存(保存已经发送但尚未被接收方肯定证实的SD PDU的队列)里清除掉。
接收方利用接收窗口机制控制发送方的发送速率。其基本原理是:宽带链路建链时,接收方将接收窗口的初始值作为BGN PDU(开始协议数据单元)或BGAK PDU(开始应答协议数据单元)的N(MR)参数传给发送方,N(MR)等于接收方允许接收的最大N(S)+1,也就是接收方的VrMR。BGN PDU的格式见图7,BGAK PDU的格式见图8。发送方在发送新SD时必须检查当前N(S)是否小于N(MR):如果是,则可以将该SD发送出去;如果不是,就必须将该SD保留在发送队列(暂存已从SSCOP上层用户收到但尚未发送给接收方的SD PDU的队列)中直到接收方更新其VrMR并且大于当前N(S)。宽带链路处于服务状态的过程中,接收方将当前的VrMR值通过STAT PDU的N(MR)参数周期性的通知发送方,见图6。接收窗口指接收方允许接收的SD的N(S)的范围,即[VrR,VrMR-1],如图3和图4中Win所示。接收方的接收窗口也就是发送方的发送窗口。在数据传送的过程中接收方VrR动态改变,为了保证发送方可以有效的发送数据,接收方也必须相应的动态修改VrMR,也就是说这个接收窗口是“滑动”的。接收窗口的大小可以用(VrMR-VrR)来表示。
由上文的描述可以看出,接收方应当合适的设置接收窗口的大小。如果过小,可能会不必要的限制了发送流量,减小了宽带链路的实际数据吞吐量;如果过大,可能会使发送方发送速率过快导致接收方来不及保存和处理,导致丢包重传,降低链路质量评价。目前的SSCOP协议要求,接收方设置接收窗口时需要保证正常情况下发送方有足够的发送窗口,特殊情况下比如接收方忙时,接收方可以动态的减小接收窗口以减小发送方的发送速率。接收窗口的大小由接收方SSCOP实体决定,协议仅给出了一个推荐公式,未作强制要求,该公式为:
k=2+(2×Timer_POLL+6×Ttd)×[Ru÷(8×Ld)]    (公式1)
其中:
K:接收窗口大小;
Ttd:端到端传输延迟(秒);
Timer_POLL:对端发送方Timer_POLL值(秒);
Ru:SSCOP数据流量(bps);
Ld:平均数据帧大小(字节)。
该公式可以保证正常情况下发送方有足够的发送窗口。从该公式可以看出,接收窗口的大小与端到端传输延迟、对端发送方Timer_POLL值、SSCOP数据流量和平均数据帧大小都有关系。
简单的接收窗口决定的实现方法可以采用该公式,预先估计Ttd、Ru、Ld的大小,Timer_POLL取协议参考值(100ms),计算出接收窗口大小k值,并且在数据传输的过程中保持k值不变,即按序收到正确的SD包、对N(R)加1时,也对N(MR)加1,保持N(MR)-N(R)=k。这是一种固定的滑动接收窗口的实现方法。该方法主要有2个缺点:
1、估计得到的Ttd、Ru、Ld与真值总有误差。Timer_POLL是对端发送方的参数,按照协议是可以设置的,不一定取参考值,在接收方又很难得到准确值。这样计算出来的接收窗口的大小必然存在误差。当误差比较大时就可能影响到链路的性能或质量。
2、当接收方链路接收能力或者CPU处理能力不足时,无法通过动态的减小接收窗口来降低对端发送流量,容易导致接收方来不及保存和处理,造成较多次的重传数据包,使链路的负担加重,链路质量评估下降。
所以需要一种新的滑动接收窗口的的实现方法,可以达到以下目的:
1、尽量使接收窗口控制在一个比较合适的大小,既不会将流量限制的过小、无法充分发挥链路性能,又不会造成流量太大导致链路质量恶化。最终稳定保持的窗口大小应当与公式1中变量有函数关系,例如当发送方Timer_POLL增大时,接收方窗口应相应增大。但方法不需要精确估计公式1中变量的具体数值。
2、链路的接收能力不足时可以适当降低发送方的流量,避免由于来不及保存或处理造成丢包,使Saal-Lm(Signalling Atm Adaptation Layer-LayerManagement:信令ATM适配层层管理/Q.2144)的链路质量评估下降。
3、方法简洁明了,适应性好,不会因单板性能的强弱、投入运行的链路的多少、物理层带宽的大小、与不同厂家的产品对接等外部条件变化而要修改方法的流程或参数。
发明内容
本发明所要解决的技术问题在于提供一种宽带信令链路自适应可变滑动接收窗口的实现方法,可以使接收方根据实际接收能力和发送需要动态的调整接收窗口的大小,在保证链路质量的同时满足发送流量的需要。
为解决上述技术问题,本发明提供了一种宽带信令链路自适应可变滑动接收窗口的实现方法,该方法包括以下步骤:
(1)在宽带信令链路建立过程中,接收方估计接收窗口大小的初始值,并将初始值传送给发送方,发送方根据该初始值发送数据包;
(2)接收方接收到发送方发送过来的数据包后,将数据包暂存在中断接收缓存区中,该缓存区的大小为X;
(3)接收方在计算出当前中断接收缓存区中空闲的可容纳数据包的个数Y后,对中断接收缓存区中所有积累的数据包进行接收处理;
(4)当需要向发送方发送更新接收窗口的信息时,接收方计算出自从上次更新接收窗口以来的中断接收缓存区中空闲的可容纳数据包的个数的平均值Y’,将该平均值Y’除以中断接收缓存区的大小X,得到平均空闲比例Z;
(5)接收方根据所述平均空闲比例Z与预设阈值的比较结果,确定滑动接收窗口的自适应变化,并将重新确定的当前接收窗口的上限值,发送给发送方。
所述步骤(5),可以包括:
接收方根据所述平均空闲比例Z与预设阈值的比较结果判断接收方的当前接收处理能力;
当判断到所述当前接收处理能力不足时,确定缩小接收窗口;
当判断到所述当前接收处理能力过剩时,接收方进一步判断接收窗口的当前实际使用效率,并根据该实际使用效率,确定是否扩大接收窗口;
当判断到所述当前接收处理能力介于能力不足与能力过剩之间时,确定接收窗口应保持现有大小;
将重新确定的接收窗口的上限值,作为所述更新信息的参数发送给发送方。
所述接收方进一步判断接收窗口的当前实际使用效率,是根据发送方的发送流量进行判断的,可以包括如下步骤:
如果上次设定的接收窗口已经被新收到的数据填满,并超过窗口的一定比例时,确定扩大接收窗口;
如果新收到的数据没有达到上次设定的接收窗口的一定比例,则确定保持窗口不变。
所述计算出自从上次更新接收窗口以来的中断接收缓存区中空闲的可容纳数据包的个数的平均值Y’的步骤,可以包括:
设自从上次更新接收窗口到本次更新之前,接收方的“面向连接的特定业务协议”进程得到调度来对中断接收缓存区中的数据包进行处理的次数为n;
设每次计算出的中断接收缓存区中空闲的可容纳数据包的个数为Ym(m=1...n);
通过公式:Y’=(Y1+Y2+...+Yn)/n计算出Y’。
所述预设阈值可以包括能力不足的阈值a,与能力过剩的阈值b,当Z<a时,判定为当前接收处理能力不足;当Z>b时,判定为当前接收处理能力过剩。
所述缩小接收窗口的步骤可以是:接收方定义当前接收窗口大小为W,并设定一个窗口缩小弹性系数c,将W×c作为新的接收窗口大小,并将新窗口的上限值发送给发送方,其中0<c<1。
所述扩大接收窗口的步骤可以是:接收方定义当前接收窗口大小为W,并设定一个窗口扩大弹性系数d和增量参数e,将(W+e)×d作为新的接收窗口大小,并将新窗口的上限值发送给发送方,其中d>1,e>0。
采用本发明提供的自适应可变滑动接收窗口的实现方法,接收方无需精确估计影响接收窗口大小的变量,接收窗口在数据传输的过程中可以根据本端接收处理能力、对端发送流量的实际情况自适应的改变,始终保持在合理大小。在本端接收处理能力许可的情况下可以充分发挥发送方的发送能力,在本端接收处理能力不足时可以降低对端流量,优先保证链路质量。本发明方法简洁明了,适应性好。
附图说明
图1为根据本发明实施例所述的方法应用于宽带七号信令系统中SSCOP协议的位置图;
图2为根据本发明实施例所述的方法中按序协议数据单元的格式图;
图3为根据本发明实施例所述的方法中没有丢失按序协议数据单元情况下的接收窗口示意图;
图4为根据本发明实施例所述的方法中有丢失按序协议数据单元情况下的接收窗口示意图;
图5为根据本发明实施例所述的方法中查询协议数据单元的格式图;
图6为根据本发明实施例所述的方法中状态协议数据单元的格式图;
图7为根据本发明实施例所述的方法中开始协议数据单元的格式图;
图8为根据本发明实施例所述的方法中开始应答协议数据单元的格式图;
图9为根据本发明实施例所述的方法的实现流程图;
图10为根据本发明实施例所述的方法步骤905、906的细节流程图。
具体实施方式
如图1所示,为本发明实施例方法在宽带七号信令系统中应用的SSCOP协议的位置图,图中各部分分别是:
MTP3b:宽带消息传输部分3层;
SSCF-NNI:业务相关协调功能一网络间接口;
SSCOP:面向连接的特定业务协议层;
AAL5:ATM适配层5。
如图2所示,为本发明实施例方法中按序协议数据单元的格式图,图中各部分分别是:
octets:八位位组;
PL:填充字段的长度;
Rsvd:保留字段;
PDU type:按序协议数据单元类型;
PAD:填充字段;
N(S):按序协议数据单元的发送序号。
如图3所示,为本发明实施例方法中没有丢失按序协议数据单元情况下的接收窗口示意图,从本图可以看出,当发送方所有的按序协议数据单元均按序到达接收方时,接收方的最大接收序号加1即VrH等于期望接收序号VrR。
如图4所示,为本发明实施例方法中有丢失按序协议数据单元情况下的接收窗口示意图,从本图可以看出,当发送方发送过程中,有部分按序协议数据单元丢失,接收方的最大接收序号加1即VrH大于期望接收序号VrR。
如图5所示,为本发明实施例方法中查询协议数据单元的格式图,图中各部分分别是:
octets:八位位组;
Reserved:保留字段;
PDU type:查询协议数据单元类型;
N(S):下一个按序协议数据单元将要携带的发送序号;
N(PS):发送端用来标志其发出的POLL PDU的序号。接收方收到POLL PDU并回送STAT PDU时应将该序号填入STAT PDU的N(PS)域,使得发送方可以了解收到的STAT PDU对应于哪一个发送出去的POLLPDU。
如图6所示,为本发明实施例方法中状态协议数据单元的格式图,图中各部分分别是:
octets:八位位组;
Rsvd:保留字段;
PDU type:状态协议数据单元类型;
PAD:填充字段;
N(PS):该STATP DU响应的POLL PDU的序号;
N(R):由STAT或USTAT PDU携带,表示接收方期望按序收到的下一个按序协议数据单元的序列号;
N(MR):由以下类型携带:STAT、USTAT、BGN、BGAK、RS(重同步)、RSAK(重同步应答)、ER(差错恢复)、ERAK(差错恢复应答),用于指示对等SSCOP实体本端不可接收的最小的按序协议数据单元的序列号。
如图7所示,为本发明实施例方法中开始协议数据单元的格式图,图中各部分分别是:
SSCOP-UU:用户到用户UU(User to User)字段,不用于SSCOP层本身,供上层用户传递信息;
octets:八位位组;
PL:填充字段的长度;
Rsvd:保留字段;
PDU type:开始协议数据单元类型;
PAD:填充字段;
N(SQ):连接顺序值,与接收端计数器配合使用,检验该BGN PDU是否重传;
N(MR):由以下类型携带:STAT、USTAT、BGN、BGAK、RS、RSAK、ER、ERAK,用于指示对等SSCOP实体本端不可接收的最小的按序协议数据单元的序列号。
如图8所示,为本发明实施例方法中开始应答协议数据单元的格式图,图中各部分分别是:
SSCOP-UU:用户到用户UU(User to User)字段,不用于SSCOP层本身,供上层用户传递信息;
octets:八位位组;
PL:填充字段的长度;
Rsvd:保留字段;
PDU type:开始应答协议数据单元类型;
PAD:填充字段;
N(MR):由以下类型携带:STAT、USTAT、BGN、BGAK、RS、RSAK、ER、ERAK,用于指示对等SSCOP实体本端不可接收的最小的按序协议数据单元的序列号。
如图9所示,为本发明实施例方法实现的流程图,包括以下步骤:
(步骤901)宽带信令链路建立过程中,接收方根据公式1大概估计接收窗口的初始值,通过BGN PDU或BGAK PDU的N(MR)参数传给发送方。大概估计时,公式1中变量可以取协议参考值或者通用均值。
(步骤902)接收方为宽带信令链路准备固定大小的中断接收缓存,接收方收到对端发送过来的SD PDU后,触发中断,中断处理函数将该SD PDU暂存在中断接收缓存里并通知SSCOP该事件后返回。
(步骤903)接收方SSCOP进程得到调度后处理中断接收缓存中所有积累的SD PDU,并将处理过的SD PDU从中断接收缓存中释放。中断接收缓存是暂存从ATM线路上收到的、但SSCOP进程还未来得及处理的SDPDU的队列。这里的处理是指:SSCOP进程检查SD PDU的N(S)参数,如果等于下一个期望按序收到的SD序列号VrR,则将VrR加1并将该SDPDU提交给SSCOP的上层用户;否则说明该SD PDU之前出现了丢包,将该SD PDU从中断接收缓存中拷贝到自己的接收队列中暂存,请求对端重传,直到先前丢失的SD PDU都按序收到后再依次提交给SSCOP的上层用户。接收队列是暂存SSCOP进程已经处理过,但因为序列号不等于下一个期望按序收到的序列号,暂时不能提交给SSCOP上层用户的SD PDU的队列。中断接收缓存和接收队列的大小都是指其中最多可以容纳SD PDU的个数,假设中断接收缓存的大小为X。
从上文描述可以看出,当对端发送流量太大,或者接收方CPU处理能力有限导致SSCOP进程长时间得不到调度时,中断接收缓存可能会耗尽,这时新收到的SD PDU将不可避免的丢失,导致重传。由此可见,中断接收缓存的大小与接收、处理能力有直接关系,接收方应当在内存大小允许的情况下尽可能增大中断接收缓存以提高接收、处理能力,同时任意时刻中断接收缓存中空闲的可容纳SD PDU的个数也真实的反映了当时接收方接收、处理能力的实际大小。
(步骤904)宽带信令链路数据传输过程中,SSCOP进程每次得到调度、处理中断接收缓存中SD PDU之前,计算当时中断接收缓存中空闲的可容纳SD PDU的个数Y。
(步骤905)当向对端发送N(MR)参数更新接收窗口时(例如周期性的收到对端POLL需要回送STAT时),接收方统计自从上次更新接收窗口以来的中断接收缓存中空闲的可容纳SD PDU的个数的平均值Y’,将该平均值除以中断接收缓存的大小X,得到中断接收缓存的当前平均空闲比例Z,作为当前接收、处理能力的判断依据。
计算Y’的具体方法为:假设从上次更新接收窗口开始到本次更新接收窗口为止SSCOP进程得到调度、处理中断接收缓存中SD PDU的次数为n,每一次统计的中断接收缓存中空闲的可容纳SD PDU的个数为Ym(m=1..n)(见步骤4中的描述),则Y’=(Y1+Y2+...+Yn)/n。
判断当前接收、处理能力的具体方法为:设置能力不足的阈值a和能力过剩的阈值b,当Z<a时判定为接收、处理能力不足,当Z>b时判定为接收、处理能力过剩。本文实施例中取a=50%,b=80%。
(步骤906)接收方根据当前接收、处理能力和对端发送流量的大小决定是否需要改变接收窗口大小,并将新接收窗口的上限作为N(MR)参数传给发送方。判断是否需要改变接收窗口大小的具体方法为:
(步骤9061)窗口的缩小:当前接收、处理能力不足时,按照一定比例缩小接收窗口。本文实施例中将窗口缩小至原来的80%。这里需要说明的是,SSCOP协议要求接收窗口的上限VrMR不能小于VrH。
(步骤9062)窗口的放大:当前接收、处理能力过剩时,认为可以将窗口放大,但还需要根据对端发送流量判断是否有放大窗口的必要。判断方法是:如果上次设定的接收窗口已经被新收到的数据填满,超过窗口的一定比例时,认为上次设定的窗口不能满足对端发送的需要,因此按照一定比例扩大接收窗口。反之,如果新收到的数据没有达到窗口的一定比例,认为上次设定的窗口已能满足对端发送的需要,因此保持窗口不变。本文实施例中设定的窗口比例是60%,扩大接收窗口的方法是:Win新=(Win旧+5)×120%。
(步骤9063)窗口的保持:当前接收、处理能力介于不足和过剩之间时,认为既不会因为接收能力不足导致链路质量下降,又没有能力扩大接收窗口,因此保持窗口不变。
如图10所示,为本发明实施例方法步骤905、906的细节流程图,具体步骤如下:
(步骤1001)更新接收窗口时,接收方统计自从上次更新接收窗口以来的中断接收缓存中空闲的可容纳SD PDU的个数的平均值Y’=(Y1+Y2+...+Yn)/n。
(步骤1002)判断当前平均空闲比例Z是否小于阈值a=50%,小于50%继续下一步骤,否则转入步骤1008。
(步骤1003)将当前窗口缩小,缩小的比例为预定值80%。
(步骤1004)设定新的滑动窗口的上限值。
(步骤1005)考察新设定的滑动窗口的上限值是否小于接收方已接收的按序协议数据单元最大序号加1。
(步骤1006)如果新设定的滑动窗口的上限值小于接收方接收的按序协议数据单元最大序号加1,则用接收方已接收的按序协议数据单元最大序号加1取代滑动窗口的上限值,否则继续下一步骤。
(步骤1007)将滑动窗口的大小设置为滑动窗口的上限值与接收方希望接收的按序协议数据单元序号之差,并转入步骤1012。
(步骤1008)判断当前平均空闲比例Z是否大于阈值b=80%,大于80%则继续下一步骤,否则转入步骤1011。
(步骤1009)判断滑动窗口的上限值与接收方接收的按序协议数据单元最大序号加1之差是否小于滑动窗口大小的40%,若不小于40%,则转入步骤1011,否则继续下一步骤。
(步骤1010)扩大窗口,扩大接收窗口的方法是:Win新=(Win旧+5)×120%。
(步骤1011)用滑动窗口大小与接收方期望接收的按序协议数据单元的序号之和更新当前滑动窗口上限值。
(步骤1012)将更新的滑动窗口上限值发送给对方。
采用本发明实施例提供的自适应可变滑动接收窗口的实现方法,可以达成如下有益效果:
1、当链路的接收、处理能力充足时,可以根据对端数据流量的增大而扩大接收窗口。
2、当链路的接收、处理能力不足时,可以缩小接收窗口来降低对方的发送速度。
3、当链路的接收、处理能力介于上两者之间时,维持窗口的大小不变,可以使链路保持一个比较平稳的流量,不至引起流量的震荡。
采用本发明提供的自适应可变滑动接收窗口的实现方法,接收方无需精确估计影响接收窗口大小的变量,接收窗口在数据传输的过程中可以根据本端接收处理能力、对端发送流量的的实际情况自适应的改变,始终保持在合理大小。在本端接收处理能力许可的情况下可以充分发挥发送方的发送能力,在本端接收处理能力不足时可以降低对端流量,优先保证链路质量。方法简洁明了,适应性好。
以上实施方式为了描述的简便,都仅仅说明宽带信令链路单向数据传输的情况,其中发送数据的一方称为发送方,接收数据的一方称为接收方。实际情况中双向数据传输时,两端SSCOP实体既是发送方也是接收方,两端SSCOP实体均可以按照上述实施例方法利用接收窗口机制对对端进行流量控制。

Claims (10)

1.一种宽带信令链路自适应可变滑动接收窗口的实现方法,其特征在于,包括如下步骤:
(1)在宽带信令链路建立过程中,接收方估计接收窗口大小的初始值,并将初始值传送给发送方,发送方根据该初始值发送数据包;
(2)接收方接收到发送方发送过来的数据包后,将数据包暂存在中断接收缓存区中,该缓存区的大小为X;
(3)接收方在计算出当前中断接收缓存区中空闲的可容纳数据包的个数Y后,对中断接收缓存区中所有积累的数据包进行接收处理;
(4)当需要向发送方发送更新接收窗口的信息时,接收方计算出自从上次更新接收窗口以来的中断接收缓存区中空闲的可容纳数据包的个数的平均值Y’,将该平均值Y’除以中断接收缓存区的大小X,得到平均空闲比例Z;
(5)接收方根据所述平均空闲比例Z与预设阈值的比较结果,判断接收方的当前接收处理能力,根据当前接收、处理能力和对端发送流量的大小确定滑动接收窗口的自适应变化,并将重新确定的当前接收窗口的上限值,发送给发送方。
2.如权1所述的方法,其特征在于,所述步骤(5),包括:
接收方根据所述平均空闲比例Z与预设阈值的比较结果判断接收方的当前接收处理能力;
当判断到所述当前接收处理能力不足时,确定缩小接收窗口;
当判断到所述当前接收处理能力过剩时,接收方进一步判断接收窗口的当前实际使用效率,并根据该实际使用效率,确定是否扩大接收窗口;
当判断到所述当前接收处理能力介于能力不足与能力过剩之间时,确定接收窗口应保持现有大小;
将重新确定的接收窗口的上限值,作为所述更新信息的参数发送给发送方。
3.如权利要求2所述的方法,其特征在于,所述接收方进一步判断接收窗口的当前实际使用效率,是根据发送方的发送流量进行判断的,包括如下步骤:
如果上次设定的接收窗口已经被新收到的数据填满,并超过窗口的一定比例时,确定扩大接收窗口;
如果新收到的数据没有达到上次设定的接收窗口的一定比例,则确定保持窗口不变。
4.如权利要求1所述的方法,其特征在于,所述估计接收窗口大小的初始值的步骤,是利用公式:2+(2×Timer_POLL+6×Ttd)×[Ru÷(8×Ld)]获得的,其中,Ttd表示端到端传输延迟时间,Timer_POLL表示发送方设定的查询发送周期,Ru表示传输协议的数据流量,Ld表示平均数据帧大小。
5.如权利要求1所述的方法,其特征在于,所述对中断接收缓存区中所有积累的数据包进行接收处理的步骤,包括:将处理过的数据包从中断接收缓存区中释放。
6.如权利要求1所述的方法,其特征在于,所述计算出自从上次更新接收窗口以来的中断接收缓存区中空闲的可容纳数据包的个数的平均值Y’的步骤,包括:
设自从上次更新接收窗口到本次更新之前,接收方的“面向连接的特定业务协议”进程得到调度来对中断接收缓存区中的数据包进行处理的次数为n;
设每次计算出的中断接收缓存区中空闲的可容纳数据包的个数为Ym(m=1…n);
通过公式:Y’=(Y1+Y2+…+Yn)/n计算出Y’。
7.如权利要求2所述的方法,其特征在于,所述预设阈值包括能力不足的阈值a,与能力过剩的阈值b,当Z<a时,判定为当前接收处理能力不足;当Z>b时,判定为当前接收处理能力过剩。
8.如权利要求2所述的方法,其特征在于,所述缩小接收窗口的步骤是:接收方定义当前接收窗口大小为W,并设定一个窗口缩小弹性系数c,其中0<c<1,将W×c作为新的接收窗口大小,并将新窗口的上限值发送给发送方。
9.如权利要求3所述的方法,其特征在于,所述扩大接收窗口的步骤是:接收方定义当前接收窗口大小为W,并设定一个窗口扩大弹性系数d和增量参数e,其中d>1,e>0,将(W+e)×d作为新的接收窗口大小,并将新窗口的上限值发送给发送方。
10.如权利要求1所述的方法,其特征在于,所述当需要向发送方发送更新接收窗口的信息的时刻,包括接收方收到发送方的“查询协议数据单元”数据包后,需要向发送方回送“状态协议数据单元”数据包的时刻。
CN2005101356724A 2005-12-31 2005-12-31 宽带信令链路自适应可变滑动接收窗口的实现方法 Expired - Fee Related CN1992582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005101356724A CN1992582B (zh) 2005-12-31 2005-12-31 宽带信令链路自适应可变滑动接收窗口的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005101356724A CN1992582B (zh) 2005-12-31 2005-12-31 宽带信令链路自适应可变滑动接收窗口的实现方法

Publications (2)

Publication Number Publication Date
CN1992582A CN1992582A (zh) 2007-07-04
CN1992582B true CN1992582B (zh) 2011-05-25

Family

ID=38214551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101356724A Expired - Fee Related CN1992582B (zh) 2005-12-31 2005-12-31 宽带信令链路自适应可变滑动接收窗口的实现方法

Country Status (1)

Country Link
CN (1) CN1992582B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118361B (zh) * 2009-12-31 2014-07-23 北京金山软件有限公司 一种基于网络协议的数据传输控制方法和装置
CN103227697B (zh) * 2013-03-26 2015-11-25 北京创毅视讯科技有限公司 一种协议数据单元的检测方法和装置
CN103763211B (zh) * 2014-02-13 2017-02-22 上海交通大学 一种链路流控制方法
CN105376173B (zh) * 2014-09-02 2020-04-28 中兴通讯股份有限公司 一种发送窗口流量控制方法和终端
CN106034014B (zh) * 2015-03-19 2020-09-15 中兴通讯股份有限公司 一种实现丢包请求重传的方法、接收装置和发送装置
CN106470448B (zh) * 2015-08-14 2020-10-30 中兴通讯股份有限公司 一种基站的信令接收方法和装置
CN105356916B (zh) * 2015-12-11 2018-02-16 中南大学 一种可穿戴智能设备的自适应蓝牙传输方法
CN110838888A (zh) * 2018-08-16 2020-02-25 中国电信股份有限公司 数据处理方法、装置、系统和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438101B1 (en) * 1997-12-23 2002-08-20 At&T Corp. Method and apparatus for managing congestion within an internetwork using window adaptation
CN1496157A (zh) * 2002-09-07 2004-05-12 Lg������ʽ���� 移动通信系统中的数据转发控制方法
CN1529437A (zh) * 2003-10-17 2004-09-15 中兴通讯股份有限公司 Wcdma系统无线网络控制层的流量控制方法
CN1536798A (zh) * 2003-04-11 2004-10-13 深圳市中兴通讯有限公司南京分公司 一种前向接入传输信道的自适应流量控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438101B1 (en) * 1997-12-23 2002-08-20 At&T Corp. Method and apparatus for managing congestion within an internetwork using window adaptation
CN1496157A (zh) * 2002-09-07 2004-05-12 Lg������ʽ���� 移动通信系统中的数据转发控制方法
CN1536798A (zh) * 2003-04-11 2004-10-13 深圳市中兴通讯有限公司南京分公司 一种前向接入传输信道的自适应流量控制方法
CN1529437A (zh) * 2003-10-17 2004-09-15 中兴通讯股份有限公司 Wcdma系统无线网络控制层的流量控制方法

Also Published As

Publication number Publication date
CN1992582A (zh) 2007-07-04

Similar Documents

Publication Publication Date Title
CN1992582B (zh) 宽带信令链路自适应可变滑动接收窗口的实现方法
TW476203B (en) Method and apparatus for reliable data communications
EP1393508B1 (en) Data transport acceleration and management within a network communication system
US7626926B2 (en) Traffic management in a wireless data network
CN101849391B (zh) 无线网络控制器rnc中的高效流控制
CN1613233B (zh) 用于重传的方法和系统
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
EP1344359B1 (en) Method of enhancing the efficiency of data flow in communication systems
JP3430509B2 (ja) データ通信システム及び方法
WO2001045331A1 (en) Congestion control method for a packet-switched network
JP2006014329A (ja) 通信端末
KR20010042017A (ko) 무선 데이터 통신시스템에서 링크-효율성을 기반으로 한스케쥴링
JP2004520725A (ja) サテライトを介するインターネット
CN109194450A (zh) 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
JP3476985B2 (ja) パケット通信システムおよびパケット通信制御方法
US7643504B2 (en) Credit based flow control in an asymmetric channel environment
Jarvinen et al. FASOR retransmission timeout and congestion control mechanism for CoAP
US7197009B1 (en) Delay variation based routing in communication systems
Henderson Design principles and performance analysis of SSCOP: A new ATM Adaptation Layer protocol
WO2002023853A2 (en) Hardware mac
Elaasar et al. Satellite transport protocol handling bit corruption, handoff and limited connectivity
CA2372023A1 (en) Overload control method for a packet-switched network
JP2001168871A (ja) データ転送方式
KR20050013411A (ko) 모바일 애드 혹 네트워크에서 전송층을 이용한 효율적인데이터 송수신 방법 및 상기 방법을 이용한 네트워크 장치
CN101146024A (zh) 业务特定面向连接协议中对有序数据序号的判断处理方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110525

Termination date: 20141231

EXPY Termination of patent right or utility model