分组数据通信系统中的流量控制转让专利

申请号 : CN200480005143.6

文献号 : CN1754335B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阿南德·S·拜德卡拉杰夫·阿格瓦尔拉杰夫·兰詹

申请人 : 摩托罗拉移动公司

摘要 :

本发明公开了一种包括多个节点(202,210)的通信系统(200),其控制从第一节点(202)到第二节点(210)的数据流量,而不依赖从第二节点的缓冲器(216)提取数据的速率估计,从而避免了缓冲器的溢出和下溢。第二节点确定多个流量控制参数,包括缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)和下限阈值(L),并根据所确定的多个流量控制参数来确定预期数据速率(r)。所述预期数据速率能够用来调整数据流的数据速率。在另一个实施例中,通信系统还动态控制由第二节点向第一节点传送流量控制消息的速率。

权利要求 :

1.一种控制从通信系统中多个节点的第一节点到所述多个节点的第二节点的数据传输的数据速率的方法,该方法包括:确定自前面紧接的流量控制消息由第二节点传送到第一节点以来是否一个时间段已经届满;

当所述时间段已经届满时,确定多个流量控制参数,包括第二节点的缓冲器的当前占用率Q、缓冲器占用率的上限阈值U和缓冲器占用率的下限阈值L;

根据所确定的多个流量控制参数来确定预期数据速率r;

其中,所述预期数据速率能够用来调整所述数据速率;以及其中,所述确定预期数据速率包括:

确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q;

确定所述上限阈值U和下限阈值L之间的差值;

根据在空中接口上数据传输的最大数据速率R、上限阈值U和下限阈值L确定时间段C′;以及当所述量q小于所述上限阈值U和下限阈值L之间的差值并且所述量q大于零时,根据所述最大数据速率R、量q和时间段C′确定预期数据速率r。

2.如权利要求1所述的方法,其中,所述确定预期数据速率包括:确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q;

确定是否所述量q小于零;以及

当所述量q小于零时,根据在空中接口上数据传输的最大数据速率R确定预期数据速率。

3.如权利要求1所述的方法,其中,所述确定预期数据速率包括:确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q;

确定所述上限阈值U和下限阈值L之间的差值;

当所述量q大于所述上限阈值U和下限阈值L之间的差值时,确定预期数据速率近似等于零。

4.一种控制从通信系统中多个节点的第一节点到所述多个节点的第二节点的数据传输的数据速率的方法,该方法包括:确定自前面的流量控制消息从第二节点传送到第一节点以来是否一个时间段已经届满;

确定多个流量控制参数,包括第二节点的缓冲器的当前占用率Q、缓冲器占用率的上限阈值U、缓冲器占用率的下限阈值L、对应缓冲器的当前占用率Q超出下限阈值L的数量的量q、以及对应根据前面的流量控制消息对量q确定的值的量q0;

确定下列条件中的至少一个:是否量q和量q0之间的差值超过了调整阈值d,是否量q小于或等于零0,是否量q大于或等于上限阈值U和下限阈值L之间的差值;

确定当所述时间段已经届满并且量q和量q0之间的差值超过了调整阈值d、量q小于或等于零0、或者量q大于或等于上限阈值U和下限阈值L之间的差值时调整数据速率;

根据所确定的多个流量控制参数确定预期数据速率r;以及其中,所述预期数据速率r能够用来调整所述数据速率。

5.如权利要求4所述的方法,其中,确定预期数据速率r包括:当所述量q小于所述上限阈值U和下限阈值L之间的差值并且所述量q大于零时,根据在空中接口上数据传输的最大数据速率R、量q和从第二节点到第一节点的连续流量控制消息的传送之间届满的时间段来确定所述预期数据速率r。

6.如权利要求4所述的方法,其中,确定预期数据速率r包括:当所述量q小于或等于零时,根据在空中接口上数据传输的最大数据速率R确定所述预期数据速率r。

7.如权利要求4所述的方法,其中,确定预期数据速率r包括:当所述量q大于或等于所述上限阈值U和下限阈值L之间的差值时,确定所述预期数据速率r近似等于零。

8.如权利要求4所述的方法,其中,所述多个流量控制参数是根据第一组数据确定的,并且包括第一组流量控制参数,其中所述时间段包括第一时间段,所述预期数据速率r包括第一预期数据速率r1,并且所述方法还包括:由第二节点将所述第一预期数据速率r1嵌入流量控制消息;

由第二节点向第一节点传送所述流量控制消息;

确定自传送所述流量控制消息以来是否第二时间段已经届满;

当自传送所述流量控制消息以来第二时间段已经届满时,根据在所述第一组数据之后接收的第二组数据重新确定所述多个流量控制参数中的至少一个,以产生第二组流量控制参数;

根据所述第二组流量控制参数确定第二预期数据速率r2;以及其中,所述第二预期数据速率r2能够用来进一步调整所述数据速率。

9.一种控制从通信系统中多个节点的第一节点到所述多个节点的第二节点的数据传输的数据速率的设备,所述设备包括:用于确定自前面紧接的流量控制消息由第二节点传送到第一节点以来是否一个时间段已经届满的装置;

用于当所述时间段已经届满时,确定多个流量控制参数,包括第二节点的缓冲器的当前占用率Q、缓冲器占用率的上限阈值U和缓冲器占用率的下限阈值L的装置;

用于根据所确定的多个流量控制参数来确定预期数据速率r的装置,其中,所述预期数据速率能够用来调整所述数据速率;以及其中,所述用于确定预期数据速率的装置包括:

用于确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q的装置;

用于确定所述上限阈值U和下限阈值L之间的差值的装置;

用于根据在空中接口上数据传输的最大数据速率R、上限阈值U和下限阈值L确定时间段C′的装置;以及用于当所述量q小于所述上限阈值U和下限阈值L之间的差值并且所述量q大于零时,根据最大数据速率R、量q和时间段C′确定预期数据速率r的装置。

10.如权利要求9所述的设备,其中,所述用于确定预期数据速率的装置包括:用于确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q的装置;

用于确定是否所述量q小于零的装置;以及

用于当所述量q小于零时,根据在空中接口上数据传输的最大数据速率R确定预期数据速率的装置。

11.如权利要求9所述的设备,其中,所述用于确定预期数据速率的装置包括:用于确定对应缓冲器的当前占用率Q超出下限阈值L的数量的量q的装置;

用于确定所述上限阈值U和下限阈值L之间的差值的装置;以及用于当所述量q大于所述上限阈值U和下限阈值L之间的差值时,确定预期数据速率近似等于零的装置。

12.一种控制从通信系统中多个节点的第一节点到所述多个节点的第二节点的数据传输的数据速率的设备,所述设备包括:用于确定自前面的流量控制消息从第二节点传送到第一节点以来是否一个时间段已经届满的装置;

用于确定多个流量控制参数,包括第二节点的缓冲器的当前占用率Q、缓冲器占用率的上限阈值U、缓冲器占用率的下限阈值L、对应缓冲器的当前占用率Q超出下限阈值L的数量的量q、以及对应根据前面的流量控制消息对量q确定的值的量q0的装置;

用于确定下列条件中的至少一个的装置:是否量q和量q0之间的差值超过了调整阈值d,是否量q小于或等于零,是否量q大于或等于上限阈值U和下限阈值L之间的差值;以及用于确定当所述时间段已经届满并且量q和量q0之间的差值超过了调整阈值d、量q小于或等于零、或者量q大于或等于上限阈值U和下限阈值L之间的差值时调整数据速率的装置;

用于根据所确定的多个流量控制参数确定预期数据速率r的装置;以及其中,所述预期数据速率r能够用来调整所述数据速率。

13.如权利要求12所述的设备,其中,所述用于确定预期数据速率r的装置包括:用于当所述量q小于所述上限阈值U和下限阈值L之间的差值并且所述量q大于零时,根据在空中接口上数据传输的最大数据速率R、量q和从第二节点到第一节点的连续流量控制消息的传送之间届满的时间段来确定所述预期数据速率r的装置。

14.如权利要求12所述的设备,其中,所述用于确定预期数据速率r的装置包括:用于当所述量q小于或等于零时,根据在空中接口上数据传输的最大数据速率R确定所述预期数据速率r的装置。

15.如权利要求12所述的设备,其中,所述多个流量控制参数是根据第一组数据确定的,并且包括第一组流量控制参数,其中所述时间段包括第一时间段,所述预期数据速率r包括第一预期数据速率r1,并且所述设备还包括:用于由第二节点将所述第一预期数据速率r1嵌入流量控制消息的装置;

用于由第二节点向第一节点传送所述流量控制消息的装置;

用于确定自传送所述流量控制消息以来是否第二时间段已经届满的装置;

用于当自传送所述流量控制消息以来第二时间段已经届满时,根据在所述第一组数据之后接收的第二组数据重新确定所述多个流量控制参数中的至少一个,以产生第二组流量控制参数的装置;

用于根据所述第二组流量控制参数确定第二预期数据速率r2的装置;以及其中,所述第二预期数据速率r2能够用来进一步调整所述数据速率。

说明书 :

分组数据通信系统中的流量控制

技术领域

[0001] 本发明总的来说涉及蜂窝通信系统,尤其涉及分组数据通信系统中的流量控制。

背景技术

[0002] 通用分组无线业务(GPRS)标准为蜂窝移动电信系统提供了兼容性标准。GPRS标准确保在GPRS系统中操作的移动台(MS)能够在根据该标准制造的系统中操作时获得通信服务。为了确保兼容性,该标准规定了无线电系统参数和数据传输过程,包括管理数字控制消息和承载业务的协议,所述数字控制消息和承载业务在基础设施的元件之间交换。
[0003] 图1是现有技术的典型GPRS通信系统100的框图。通信系统100包括MS 102,MS 102经空中接口104与基站子系统(BSS)106通信,具体是与包括在BSS中的基站收发台(BTS)108通信。典型地,数据在MS 102和BTS 108之间通过符合无线链路控制(RLC)的空中接口104传输。BSS 106还包括连接到BTS 108的基站控制器(BSC)110和连接到BSC的分组控制单元(PCU)112。通信系统100还包括服务GPRS支持节点(SGSN)116,SGSN116经Gb接口114连接到BSS 106,具体是连接到PCU 112,所述Gb接口114包括在BSS和SGSN之间的承载路径和信令接口。BSS 106和SGSN 116总称为系统网络或基础结构。
[0004] 当MS 102与外部网络120进行通信会话时,数据经SGSN 116、PCU 112、BSC 110和BTS 108传送到MS 102。数据典型地包括在按照网际协议(IP)标准格式化的数据分组中。典型地,SGSN 116在将数据经BSS 106传送到MS之前,在包括在SGSN中并与MS 102相关联的缓冲器中将数据排成队列。接下来,典型地,BSS 106,具体是PCU 112,在将数据传送到MS之前,在包括在PCU中并与MS 102相关联的缓冲器中将从SGSN 116接收到的数据排成队列。SGSN 116监测由SGSN从外部网络120接收和/或由SGSN向PCU 112发送的字节数,并保持发送和/或接收字节数的计数。然后,SGSN 116将由SGSN发送和/或接收字节数的计数在帐目消息中传送到计费网关(CGW)118。然后,记帐服务检索包括来自CGW118的字节计数的帐目记录,并依据字节计数的计算为与MS 102相关的客户记帐。
[0005] 为了优化通信系统100的性能并为通信系统的客户正确地记帐,必须控制系统中的数据流量。通过空中接口104到MS 102的降低的数据传输速率会导致PCU 112处缓冲器的数据溢出。PCU缓冲器的溢出又会导致数据分组被PCU丢失,就这些丢失的数据分组会对客户记帐。通过空中接口104到MS 102的增加的数据传输速率会导致PCU缓冲器的数据下溢,这会导致缓冲器的资源缺乏,造成空中接口104的使用率不高。
[0006] 另外,当MS 102移动通过通信系统100时,MS可以切换到第二BSS和第二PCU。在MS 102切换后,PCU 112被SGSN 116命令删除存储在与MS 102相关的PCU的缓冲器中的所有数据。在GPRS系统(例如系统100)的当前实现中,丢失的分组或者以“公知的”模式通过运行逻辑链路控制(LLC)协议、通过依靠端到端协议(例如TCP)来恢复,或者根本不恢复(例如,在网际协议语音或其他实时关键型应用中)。依靠这些形式的丢失分组恢复增加了网络延迟,从而降低了网络级吞吐量。而且,由SGSN 116传送到CGW 118的字节计数没有反映在由SGSN 116从外部网络120接收之后被基础结构丢失的任何数据分组。结果,在为与MS 102相关的客户记帐中没有反映被PCU 112丢弃的数据分组。
[0007] 为了调节缓冲器溢出和下溢,GPRS标准提供了流量控制消息,该消息由下游网络元件(例如PCU 112)发送到上游网络元件(例如SGSN 116),以控制数据的下游流量。该标准规定,流量控制消息指定两个参数:从上游元件到下游元件的数据传输率(r)和最大突发大小(Bmax)。该标准还规定,流量控制消息在消息之间具有最小间隔。然而,该标准没有指出如何确定r、Bmax或所述间隔。
[0008] 为了实现流量控制消息,制订了流量控制方案,以确定该消息的参数。典型地,这些流量控制方案是涉及参数r和Bmax两者计算的“漏桶”方案。然而,这些方案都不能确保防止PCU缓冲器溢出或下溢。而且,这种流量控制方案需要PCU上有大的缓冲器,其会消耗过多的存储空间,并且作为小区重选的结果,可能导致过多量数据的丢弃,并因此导致对客户过多的额外记帐。另外,这种流量控制方案典型地依靠估计的在空中接口104上的数据传输速率,其计算过程非常复杂且处理负荷密集,并且这些算法仍然不能保证阻止缓冲器溢出或下溢。
[0009] 因此,需要这样一种方法和装置,用来控制从SGSN到PCU的数据流量,而不会造成PCU中per_MS缓冲器的溢出或下溢,其不依赖估计的在空中接口上的数据传输速率,并且当移动台从PCU向另一个PCU切换时不会导致过多量数据的丢弃。

附图说明

[0010] 图1是现有技术的无线通信系统的框图。
[0011] 图2是根据本发明实施例的通信系统的框图。
[0012] 图3是根据本发明实施例的图2的通信系统的流程控制机制的逻辑流程图。
[0013] 图4是根据本发明实施例在确定预期数据传输速率中由图2的通信系统的节点执行的方法的逻辑流程图。
[0014] 图5是根据本发明实施例,示例与缓冲器的占用水平相应的预期数据速率的设置的缓冲器框图。
[0015] 图6A是根据本发明另一实施例的流量控制机制的逻辑流程图。
[0016] 图6B是根据本发明另一实施例的流量控制机制的图6A的逻辑流程图续页。
[0017] 图7是根据本发明另一实施例在确定预期数据传输速率中由图2的通信系统的节点执行的方法的逻辑流程图。
[0018] 图8是根据本发明实施例,示例与缓冲器的占用水平相应的预期数据速率的设置的缓冲器框图。

具体实施方式

[0019] 为了满足上述需要,即需要一种控制从SGSN到PCU的数据流量的方法和装置,不会造成PCU中per_MS缓冲器的溢出或下溢,其不依赖估计的在空中接口上的数据传输速率,并且当移动台从PCU向另一个PCU切换时不会导致过多量数据的丢弃,提供了一种包括多个节点的通信系统,它控制从所述多个节点中的第一节点到所述多个节点中的第二节点的数据流量,而不依赖从第二节点的缓冲器提取数据的速率的估计,从而避免了缓冲器的溢出和下溢。第二节点确定多个流量控制参数,包括缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)和下限阈值(L),并且基于所述多个流量控制参数进一步确定预期数据速率(r)。然后,第二节点在流量控制消息中将预期数据速率传送到第一节点,第一节点可以使用该预期数据速率来调整从第一节点到第二节点的数据流的数据速率。在另一个实施例中,通信系统进一步动态控制由第二节点向第一节点传送流量控制消息的速率。
[0020] 通常,本发明的实施例包括用于控制从通信系统中多个节点的第一节点到所述多个节点的第二节点的数据传输的数据速率的方法。该方法包括:确定自前面紧接的流量控制消息由第二节点传送到第一节点以来是否一个时间段已经届满,当所述时间段已经届满时,确定多个流量控制参数,包括第二节点的缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)和缓冲器占用率的下限阈值(L),并根据所确定的多个流量控制参数来确定预期数据速率(r),其中该预期数据速率能够用来调整数据速率。
[0021] 本发明的另一个实施例包括用于控制从通信系统中多个节点的第一节点到该多个节点的第二节点的数据传输的数据速率的方法。该方法包括:确定自前面的流量控制消息从第二节点传送到第一节点以来是否一个时间段已经届满,并确定多个流量控制参数,包括第二节点的缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)、缓冲器占用率的下限阈值(L)、对应缓冲器的当前占用率(Q)超出下限阈值(L)的数量的量(q)、以及对应根据前面的流量控制消息对量q确定的值的量(q0)。该方法还包括:确定下列条件中的至少一个:是否量(q)和量(q0)之间的差值超过了调整阈值(d),是否量(q)小于或等于零(0),是否量(q)大于或等于上限阈值(U)和下限阈值(L)之间的差值,并确定当所述时间段已经届满并且量(q)和量(q0)之间的差值超过了调整阈值(d)、量(q)小于或等于零(0)、或者量(q)大于或等于上限阈值(U)和下限阈值(L)之间的差值时调整数据速率。
[0022] 本发明的另一个实施例包括无线通信基础结构中的节点,其中该节点以从通信系统中的一个不同节点向移动台传输的数据速率来接收数据。该节点包括:至少一个存储装置,其包括存储打算供给移动台的数据的缓冲器;处理器,确定自该节点将前面紧接的流量控制消息传送到所述不同的节点以来是否一个时间段已经届满,并且当所述时间段已经届满时,确定多个流量控制参数,包括缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)和缓冲器占用率的下限阈值(L),根据所确定的多个流量控制参数来确定预期数据速率(r),其中该预期数据速率能够用来调整数据速率。
[0023] 本发明的另一个实施例包括无线通信基础结构中的节点,其中该节点以从通信系统中的一个不同节点向移动台传输的数据速率来接收数据。该节点包括至少一个存储装置,该存储装置存储调整阈值(d)并包括存储打算供给移动台的数据的缓冲器。该节点还包括处理器,该处理器确定自该节点将前面的流量控制消息传送到所述不同节点以来是否一个时间段已经届满;确定多个流量控制参数,包括缓冲器的当前占用率(Q)、缓冲器占用率的上限阈值(U)、缓冲器占用率的下限阈值(L)、对应缓冲器的当前占用率(Q)超出下限阈值(L)的数量的量(q)、以及对应根据前面的流量控制消息对量q确定的值的量(q0),确定下列条件中的至少一个:是否量(q)和量(q0)之间的差值超过了调整阈值(d),是否量(q)小于或等于零(0),是否量(q)大于或等于上限阈值(U)和下限阈值(L)之间的差值,并确定当所述时间段已经届满并且量(q)和量(q0)之间的差值超过了调整阈值(d)、量(q)小于或等于零(0)、或者量(q)大于或等于上限阈值(U)和下限阈值(L)之间的差值时调整数据速率。
[0024] 参考图2至8来详细描述本发明。图2是根据本发明实施例的通信系统200的框图。通信系统200包括第一网络节点202,它经网络接口218与第二网络节点210通信。每一个网络节点202、210都是固定无线基础结构220中的元件,该无线基础结构通过空中接口222向移动台(MS)224提供无线通信服务,移动台224例如是蜂窝电话、无线电话,或者是连接到或包括在数据终端中的无线调制解调器,所述数据终端例如是个人计算机、膝上型计算机、打印机或传真机。无线基础结构220进一步可操作地连接到外部网络230和记帐系统240。记帐系统240接收由基础结构220接收并打算供给MS 224的字节数的计数。然后记帐系统基于接收的字节计数对与MS 224相关的客户记帐。
[0025] 在通信系统200中,第一网络节点202向第二网络节点210传输数据,用于由第二网络节点路由到MS 224。在本发明的一个实施例中,第一网络节点202可位于第二网络节点210的上游。例如,第一网络节点202可以是服务GPRS支持节点(SGSN),而第二网络节点210可以是分组控制单元(PCU),或者第一网络节点202可以是PCU,而第二网络节点210可以是基站收发台(BTS)。在本发明的另一个实施例中,第一网络节点202可以和第二网络节点210并列,例如网络节点202和210每一个都是PCU。
[0026] 每一个节点202、210包括各自的处理器204、212,例如一个或多个微处理器、微控制器、数字信号处理器(DSP)、上述装置的组合或本领域技术人员公知的其他这种装置。每一个节点202、210还包括(或连接到)一个或多个各自的存储装置206、214,例如随机存储器(RAM)、动态随机存储器(DRAM)、和/或只读存储器(ROM)或其等效物,它们存储数据和可由部件的处理器执行的程序。每一个节点202、210还包括各自的数据缓冲器208、216,其包括在节点各自的存储装置206、214中,或者与节点各自的处理器204、212相连,并且还与该节点服务的MS(即MS 224)相连。每一个数据缓冲器208、216存储由各自节点202、210接收、或由节点202和210的上游节点始发、并打算供给相关的MS的数据分组。例如,当节点(例如节点202和210)是PCU时,节点的缓冲器208、216可以是per_MS缓冲器。作为另一个例子,当节点202是SGSN时,缓冲器208可以是同步缓冲器,其存储由SGSN向特定MS(即MS 224)发射的数据分组。
[0027] 通信系统200包括无线分组数据通信系统。为使MS 202建立与外部网络(例如外部网络230)的分组数据连接,节点202和210中的每一个都按照公知的无线电信协议操作。通过按照公知的协议操作,能够为MS 202的用户保证该MS将能够与基础结构220通信并经该基础结构建立与外部网络(例如网络230)的分组数据通信链路。优选地,通信系统200按照通用分组无线业务(GPRS)标准操作。该标准规定了无线电信系统操作协议,包括无线电系统参数和数据传输协议。然而,本领域技术人员会认识到,通信系统200可以按照各种无线分组数据通信系统中的任何一种来操作,例如全球移动通信系统(GSM)、码分多址(CDMA)通信系统、时分多址(TDMA)通信系统、频分多址(FDMA)通信系统或正交频分多址(OFDM)通信系统。
[0028] 当由节点202向节点210传输数据用以路由到MS 224时,节点224在路由数据到MS之前在缓冲器216中缓存数据。节点202将数据传送到节点210的速率假定为通过空中接口222向MS 224传输数据的速率。在现有技术中,当下游节点在将数据传送到MS之前缓存从上游节点接收的数据时,空中传输速率的变化会导致下游节点中缓冲器的溢出或下溢。而且,在现有技术中,当MS从下游节点向并列的下游节点切换时,存储在下游节点的缓冲器中的数据可能丢失,该丢失的数据典型地已经记在了与该MS相关的客户的帐中。因此,通信系统200提供一种控制从节点202到节点210的数据流量的流量机制,其防止节点210中缓冲器216的溢出和下溢并最小化缓冲器216的所需大小,从而最小化在从节点210向与节点210并列的节点切换的过程中丢失的数据量,并且还最小化与MS 224相关的客户的任何额外记帐。
[0029] 现在参考图3、4、5,示出了控制从节点202向节点210传输数据的速率的流程控制机制。通过控制数据传输速率,该流量控制机制能够进一步控制缓冲器216的占用率。图3是根据本发明一个实施例的流量控制机制的逻辑流程图300。逻辑流程300开始(302),为了调节从节点202到节点210的数据流量,节点210确定(304)自前面紧接的流量控制消息由节点210传送到节点202以来是否一个时间段已经届满,所述时间段优选地是至少像C′一样大的时间段,该参数在下面进行限定。当至少像C′一样大的时间段自前面紧接的流量控制消息由节点210传送以来已经届满时,节点210对从节点202到节点210的数据传输确定(306)预期的数据传输速率(r),优选地以比特每秒表示。节点210组装(308)流量控制消息250,在其中该节点置入预期的数据传输速率(r)和最大突发大小(Bmax)。然后节点210将流量控制消息250传送(310)到节点202,并且节点202从节点210接收(312)流量控制消息250。响应于接收到流量控制消息250,节点210调整(314)对应于由节点202到节点210的数据传输的数据速率,以产生调整的数据速率。节点202随后以该调整的数据速率将数据传送(316)到节点210,逻辑流程结束(320)。在本发明的另一个实施例中,节点202还可以根据接收到的流量控制消息250来调整(318)节点202中缓冲器208的大小。
[0030] 现在参考图4和图5,示出了节点210确定(306)预期数据传输速率(r)的机制。图4是根据本发明的实施例在确定预期数据传输速率(r)中由节点210的处理器212执行的方法的逻辑流程图400。图5是根据本发明实施例,示例与缓冲器的占用水平相应的预期数据速率(r)的设置的缓冲器216的框图。优选地,根据逻辑流程图300和400所述的由节点202执行的所有步骤都是由节点202的处理器204执行的,并且根据逻辑流程图300和400所述的由节点210执行的所有步骤都是由节点210的处理器212执行的。
[0031] 逻辑流程图400开始(402),节点210确定(404)并在存储装置214中存储多个流量控制参数‘B’、‘U’、‘L’、‘C′’、‘Q’和‘q’。为了确定该多个流量控制参数B、U、L、C′、Q和q,可以首先定义系统200参数‘C’、‘D’、‘R’和‘M’。系统参数C对应在由节点210向节点202传送的连续的流量控制消息之间、关于第一时间段的最小间隔。系统参数D对应在节点202处、关于第二时间段的最大执行延迟。也就是说,D对应在节点210向节点202发送流量控制消息将预期数据传输速率r通知节点202的瞬间和节点202根据该预期数据传输速率r调整数据速率的瞬间之间截止的最大时间量。系统参数R对应通过空中接口222向MS 224传输数据的最大数据速率,即,数据可以从节点210的缓冲器216提取的最大速率,优选地以比特每秒表示。系统参数M对应数据分组的最大大小,优选地以比特表示。优选地,‘Bmax’大于或等于M。
[0032] 所述多个流量控制参数中的第一个参数‘B’对应缓冲器216的最大大小。节点210,具体是处理器212,确定‘B’,使得‘B≥RC+2RD’。多个流量控制参数中的第二个参数‘U’对应缓冲器216的占用率(即,在缓冲器216中存储的数据量)的上限阈值,并且确定‘U’使得‘U≥RC+RD’。多个流量控制参数中的第三个参数‘L’对应缓冲器216的占用率的下限阈值,并且确定‘L’使得‘L≥RD’。由节点210,具体是处理器212,确定‘U’和‘L’,并且服从约束条件‘U-L≥RC’。多个流量控制参数中的第四个参数‘C′’对应在下一个流量控制消息和前面紧接的流量控制消息之间经过的时间段。节点210,具体是处理器212,确定C′使得‘C′=(U-L)/R’。
[0033] 在本发明的一个实施例中,可以根据组装的消息250来新计算流量控制参数B、U、L和C′中的每一个参数。在本发明的其他实施例中,流量控制参数B、U、L和C′中的任何一个或多个参数可以是预先确定的参数或可以根据前面的流量控制消息来确定并存储在节点210的存储装置214中。当流量控制参数B、U、L或C′存储在存储装置214中时,节点210可以通过从存储装置中检索来确定该参数,而不是重新计算该参数。
[0034] 多个流量控制参数中的第五个参数‘Q’对应缓冲器216的当前占用率,即缓冲器216中当前保持的数据量。多个流量控制参数中的第六个参数‘q’对应缓冲器216中当前保持的数据超出最小占用阈值‘L’的量,即‘q=Q-L’。
[0035] 然后,处理器216通过比较(406,410,414)q和零(0)与上限缓冲器占用阈值(U)和下限缓冲器阈值(L)之间的差值(即U-L)中的一个或多个来确定预期数据速率r。当0≤q≤U-L时,处理器216设置r=R-(q/C′)(步骤406和408)。当q≤0时,处理
器216设置r=R(步骤410和412)。当q≥U-L时,处理器216设置r=0(步骤414和
416)。然后逻辑流程400结束(418)。
[0036] 再次参考图3,如上所述,在接收到具有预期数据速率r的流量控制消息250时,节点202在随后将打算供给MS 224的数据传输到节点210期间执行该预期数据速率。另外,组装(308)流量控制消息250的步骤还可以包括将流量控制参数‘B’嵌入流量控制消息中,调整(316)步骤还可以包括由节点202根据参数‘B’调整缓冲器208的大小。
[0037] 通过根据至少包括缓冲器216的当前占用率(Q)、缓冲器占用率的上限阈值(U)和缓冲器占用率的下限阈值(L)的多个流量控制参数来确定预期数据速率(r),并在流量控制消息250中将该数据速率传送到节点202,节点210能够控制从节点202到节点210的数据流量,而不依赖在空中接口222上的估计的数据传输速率,并且从而避免了缓冲器216的溢出和下溢。在本发明的另一个实施例中,节点210还可以通过在流量控制消息250中将对应缓冲器216的最大大小的流量控制参数‘B’传送到节点202来控制节点202中缓冲器208的大小。
[0038] 在本发明的另一个实施例中,通信系统200还可以动态调整由节点210向节点202传送流量控制消息250的速率,从而最小化由这种消息消耗的系统100的容量。现在参考图6A、6B、7和8,示出了通信系统200的流量控制机制,它根据本发明的另一个实施例控制从节点202向节点210传输数据的速率。优选地,下面根据逻辑流程图600和700所述的由节点202执行的所有步骤都是由节点202的处理器204执行的,根据逻辑流程图600和700所述的由节点210执行的所有步骤都是由节点210的处理器212执行的。
[0039] 图6A和6B是根据本发明另一个实施例的流量控制机制的逻辑流程图600。逻辑流程600开始(602),为了调节从节点202到节点210的数据流量,节点210确定(604)自前面紧接的流量控制消息由节点210传送到节点202以来是否第一时间段已经届满,所述第一时间段优选地是至少像C′一样大的时间段。当第一时间段自前面紧接的流量控制消息发送到节点202以来已经届满时,节点210根据从节点202接收并存储在缓冲器216中的第一组数据,确定(606)多个流量控制参数‘B’、‘U’、‘L’、‘C′’、‘Q’、‘q’以及第七个流量控制参数‘q0’,并存储在存储装置214中,以便产生第一组流量控制参数。流量控制参数q0对应根据前面紧接的流量控制消息对‘q’确定的值。如上所述,在本发明的一个实施例中,流量控制参数B、U、L和C′中的每一个可以是根据组装的流量控制消息250新计算的。在本发明的其他实施例中,流量控制参数B、U、L和C′中的任何一个或多个可以是预先确定的参数或可以根据前面的流量控制消息来确定并存储在节点210的存储装置214中。
[0040] 根据确定的多个流量控制参数,节点210确定(608)是否向节点202传送第一流量控制消息250。优选地,步骤(608)包括确定是否q和q0之间的差值超过了调整阈值‘d’,是否q小于或等于零(0),或者是否q大于或等于上限阈值(U)和下限阈值(L)之间的差值,即,是否‘|q-q0|>d,q≤0,或q≥U-L’。优选地,‘d’是预先确定的值,其值可以由通信系统200的设计者确定,但是其值小于或等于min(q0,(U-L)-q0),尽管本领域技术人员会认识到这里可以使用较大的d值,这不脱离本发明的要旨和范围。例如,d值可以充分大,使得在达到‘d’阈值之前可以达到上限和下限阈值,即U和L。选择‘d’值,使得从节点202向节点210传输数据的速率r不是关于在空中接口222上数据速率的每一次变化而调整,而是每当在空中接口上数据速率的变化可以导致缓冲器216占用率的充分大的偏移时调整。也就是说,选择‘d’值,使得不是每次在空中接口222上的数据速率变化时都发送流量控制消息,而是仅当在空中接口上数据速率的变化可以导致节点210中缓冲器216的溢出或下溢时发送。当|q-q0|≤d,q>0,并且q<U-L时,节点210确定(610)不调整该节点从节点202接收数据的传输速率,并且在从节点202接收(612)到随后的数据分组时,或在节点
210传送存储在缓冲器216中的数据的至少一部分,从而导致调整了缓冲器216的大小时,逻辑流程600返回步骤606。当|q-q0|>d,q≤0,或q≥U-L时,节点210对从节点202到节点210的数据传输确定(614)第一预期数据传输速率(r1)。
[0041] 现在参考图7和图8,示出了根据本发明的另一个实施例确定预期数据传输速率(r)的机制,例如确定第一预期数据传输速率(r1)。图7是根据本发明另一实施例,在确定(614)预期数据传输速率(r)中,例如在确定第一预期数据传输速率(r1)中,由节点210执行的过程的逻辑流程图700。图8是缓冲器216的框图以及根据本发明的另一个实施例与缓冲器的占用水平相应的预期数据速率(r)的设置的示例说明。如图7和图8所示,当|q-q0|>d并且0≤q≤U-L时,节点210(优选的是处理器212)设置预期数据速率r=R-q/C′(步骤702和704)。当q≤0时,节点210(优选的是处理器212)设置预期数据速率r=R(步骤706和708)。当q≥U-L时,节点210(优选的是处理器212)设置预期数据
速率r=0(零)(步骤710和712)。
[0042] 再次参考图6A和6B,在根据图7和图8示出的过程确定了第一预期数据传输速率(r1)后,节点210(具体是处理器212)组装(616)第一流量控制消息250,在其中该节点嵌入确定的第一预期数据速率(r1)和最大突发大小(Bmax)。节点210将第一流量控制消息250传送(618)到节点202,节点202从节点210接收该第一流量控制消息250。响应于接收到第一流量控制消息,节点202根据第一预期数据速率(r1)调整(622)与由节点202到节点210的数据传输相应的数据速率,以产生第一调整的数据速率。节点202随后以该第一调整的数据速率向节点210传送(624)数据。
[0043] 在第二时间段(优选地是等于所确定的参数C′的时间段)届满时,在第一流量控制消息传送到节点202之后,节点210根据由节点210在第一组数据之后接收并由节点210存储在缓冲器216中的第二组数据来重新确定(626)多个流量控制参数‘B’、‘U’、‘L’、‘C′’、‘Q’、‘q’和‘q0’中的一个或多个,以产生第二组流量控制参数。本领域的技术人员会认识到,所述多个流量控制参数中的一个或多个,例如‘B’、‘U’、‘L’和‘C′’中的一个或多个,可能不需要重新确定,而是可以由节点210的处理器212从存储装置214检索,以便产生第二组流量控制参数。
[0044] 根据第二组流量控制参数,节点210按照上面参考图7和图8所述的过程对从节点202到节点210的数据传输确定(628)第二预期数据速率(r2)。节点210组装(630)第二流量控制消息250并传送(632)到节点202,该第二流量控制消息250包括第二预期预期数据传输速率(r2)。响应于接收到(634)第二流量控制消息,节点202根据第二预期数据速率(r2)调整(636)与由节点202到节点210的数据传输相应的数据速率,以产生第二调整的数据速率。节点202随后以该第二调整的数据速率向节点210传送(638)数据,逻辑流程600结束(640)。与逻辑流程300类似,组装(610,620)第一和第二流量控制消息的步骤每一个还可以包括在各流量控制消息中嵌入流量控制参数‘B’,并且各调整步骤(614,624)每一个还可以包括由节点202根据参数‘B’调整缓冲器208的大小。
[0045] 通过使用调整阈值‘d’,通信系统100能够动态调整并从而最小化由节点210向节点202传送流量控制消息250的速率。在确定是否传送流量控制消息中通过使用调整阈值,不是每次在空中接口222上的数据速率变化时都发送流量控制消息,而是仅当在空中接口上数据速率的变化可以导致节点210中缓冲器216的溢出或下溢时发送。
[0046] 而且,通信系统100仅通过调整预期数据速率(r)来控制从第一节点202到第二节点210的数据传输速率。节点202确定多个流量控制参数,包括缓冲器216的当前占用率(Q)、缓冲器216的占用率的上限阈值(U)和下限阈值(L),并根据该多个流量控制参数来确定预期数据速率(r)。然后,节点210可以在流量控制消息中将预期数据速率(r)传送到节点202,并且节点202可以使用该预期数据速率(r)来调整从节点202到节点210的数据流的数据速率。结果,节点202可以通过简单的调整由节点202传送到节点210的数据分组之间的时间间隔来调整数据传输速率,以便满足预期数据速率(r)。这实现起来比现有技术典型的“漏桶”流量控制机制简单得多,“漏桶”流量控制机制需要计算参数r和Bmax,并且通常依赖在空中接口222上的估计的数据传输速率。而且,通信系统100控制数据传输速率,以致避免了节点210中缓冲器216的的溢出和下溢,而这是现有技术流量控制方案不能保证的。另外,通信系统对由第二节点向第一节点传送流量控制消息250的速率提供动态控制,从而最小化由这种消息消耗的系统容量。
[0047] 尽管参考特定实施例示出并描述了本发明,但本领域技术人员会理解,可以作出各种改变和用等效物替换其元件,而不脱离在权利要求中提出的本发明的范围。因此,说明书和附图应该认为是示例性的而不是限制性的,并且意图将所有这些改变和替换都包括在本发明的范围内。
[0048] 上面根据特定实施例描述了益处、其他优点和问题的解决方案。然而,可以导致任何益处、优点或解决方案产生或更显著的益处、优点、问题的解决方案和任何元件都不能解释为任何或全部权利要求的关键、必须或本质的特征或元件。如这里所使用的,术语“包括”、“包含”或其任何变体意图涵盖非排他的包括,使得包括一列元件的过程、方法、项目或装置不仅包括那些元件,而可以包括没有明确列出的或这种过程、方法、项目或装置固有的其他元件。还应该理解,相关术语的使用(如果有的话),例如第一和第二,顶部和底部等等,仅用来将一个实体或动作从另一个实体或动作区分开,而不必要求或表示这些实体或动作之间任何实际的这种关系或顺序。