发明内容
本发明的目的是提供一种用于控制流量的方法和装置。
根据本发明的一个方面,提供了一种用于控制流量的方法,其中,该方法包括:
对于待发送的数据包,计算用来发送所述待发送的数据包的目标链接的目标等待时间;
若所述目标等待时间小于等于传输延迟阈值,将所述待发送的数据包发送至所述目标链接中的待发送队列;
若所述目标等待时间大于所述传输延迟阈值,等待延迟时间之后,将所述待发送的数据包发送至所述目标链接中的待发送队列,以控制流量。
优选地,所述延迟时间根据所述传输延迟阈值与所述目标等待时间来确定。
优选地,若存在多个候选链接,计算所述目标等待时间的方式还包括:
分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间;
根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,以所述目标链接所对应的候选等待时间作为所述目标等待时间。
优选地,计算所述目标等待时间的方式包括:
根据所述目标链接的总数据包的大小,与所述目标链接的目标吞吐量,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
更优选地,该方法还包括:
根据所述目标链接的理论吞吐量,设置所述目标链接的目标吞吐量。
更优选地,该方法还包括:
根据实际网络状况,调整所述目标链接的目标吞吐量。
优选地,该方法还包括:
根据仿真结果与实际经验值,确定所述传输延迟阈值。
根据本发明的另一方面,还提供了一种用于控制流量的控制装置,其中,该控制装置包括:
计算装置,用于对于待发送的数据包,计算用来发送所述待发送的数据包的目标链接的目标等待时间;
发送装置,用于若所述目标等待时间小于等于传输延迟阈值,将所述待发送的数据包发送至所述目标链接中的待发送队列;
延迟装置,用于若所述目标等待时间大于所述传输延迟阈值,等待延迟时间之后,将所述待发送的数据包发送至所述目标链接中的待发送队列,以控制流量。
优选地,所述延迟时间根据所述传输延迟阈值与所述目标等待时间来确定。
优选地,若存在多个候选链接,计算所述目标等待时间的方式还包括:
分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间;
根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,以所述目标链接所对应的候选等待时间作为所述目标等待时间。
优选地,计算所述目标等待时间的方式包括:
根据所述目标链接的总数据包的大小,与所述目标链接的目标吞吐量,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
更优选地,该控制装置还包括:
设置装置,用于根据所述目标链接的理论吞吐量,设置所述目标链接的目标吞吐量。
更优选地,该控制装置还包括:
调整装置,用于根据实际网络状况,调整所述目标链接的目标吞吐量。
优选地,该控制装置还包括:
确定装置,用于根据仿真结果与实际经验值,确定所述传输延迟阈值。
与现有技术相比,本发明对于待发送的数据包,计算用来发送所述待发送的数据包的目标链接的目标等待时间;若所述目标等待时间小于等于传输延迟阈值,将所述待发送的数据包发送至所述目标链接中的待发送队列;若所述目标等待时间大于所述传输延迟阈值,等待延迟时间之后,将所述待发送的数据包发送至所述目标链接中的待发送队列,以控制流量。本发明在等待延迟时间之后,再将所述待发送的数据包发送至所述目标链接中的待发送队列,使得在发送端也形成一个缓存区,利用传输延迟阈值进行拥塞控制。
进一步地,若存在多个候选链接,则分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间,从中选择候选等待时间最短的作为目标链接,并以该目标链接所对应的候选等待时间作为目标等待时间。本发明为单链接和多链接引入了一种通用的流控制算法,其可以被应用在协议的不同层,该算法的核心逻辑是计算链接中的一个数据包需要多少时间来缓存,随后选择最佳的链接来发送到达接收端。
本发明提供了一种简单、通用、有效的流量控制算法,其可以适用于需要流量控制的、不同的层(IP、PDCP、RLC)的多个链接用户层面应用用户层面,如DC、CA、LWA、LAA等,可以适用于不同的情形下,特别是无线云。本发明的流量控制算法是一个简单、清晰的逻辑,不需要在发送端和接收端额外的反馈信息,不同于现有技术中需要在每个层面进行独立开发,本发明的流量控制算法是一个可以应用于不同层的多链接用户层面应用的通用算法,其与协议无关。
具体实施方式
这里所使用的术语“基站”可以被视为与以下各项同义并且在后文中有时可以被称作以下各项:B节点、演进型B节点、eNodeB、eNB、收发器基站(BTS)、RNC等等,并且可以描述在可以跨越多个技术世代的无线通信网络中与移动端通信并且为之提供无线资源的收发器。除了实施这里所讨论的方法的能力之外,这里所讨论的基站可以具有与传统的众所周知的基站相关联的所有功能。
后面所讨论的方法可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
除非另行定义,否则这里使用的所有术语(包括技术和科学术语)都具有与示例性实施例所属领域内的技术人员通常所理解的相同的含义。还应当理解的是,除非在这里被明确定义,否则例如在通常使用的字典中定义的那些术语应当被解释成具有与其在相关领域的上下文中的含义相一致的含义,而不应按照理想化的或者过于正式的意义来解释。
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的用于控制流量的方法流程图。
在步骤S101中,控制装置1对于待发送的数据包,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
具体地,对于待发送的数据包,假设采用某一目标链家来发送该待发送的数据包,则在步骤S101中,控制装置1可以根据该目标链接的长度、该目标链接的吞吐量,来计算若该目标链接来发送该待发送的数据包所需要的目标等待时间。在此,该目标链接的长度意指该目标链接中包括正在发送的数据包和在队列中等待发送的数据包的总大小;该目标链接的吞吐量意指该目标链接在单位时间内成功地传送数据的数量,例如可以以比特、字节、分组等进行测量。
在此,假设以W来表示目标等待时间,以L来表示目标链接的长度,以TH来表示该目标链接的吞吐量,则若采用该目标链接来发送该待发送的数据包,所需要的目标等待时间W可以通过下式来计算:
W=L/TH
在步骤S102中,若所述目标等待时间小于等于传输延迟阈值,控制装置1将所述待发送的数据包发送至所述目标链接中的待发送队列。
具体地,控制装置1可以将在步骤S101中所计算获得的目标等待时间与传输延迟阈值进行比较,若该目标等待时间小于等于传输延迟阈值,则在步骤S102中,控制装置1直接将该待发送的数据包发送至该目标链接中的待发送队列,从而使该目标链接依次发送其待发送队列中的各个数据包。
在此,传输延迟阈值的值可以是预设的,也可以根据实际网络情况进行调整。
在步骤S103中,若所述目标等待时间大于所述传输延迟阈值,控制装置1等待延迟时间之后,将所述待发送的数据包发送至所述目标链接中的待发送队列,以控制流量。
具体地,在步骤S103中,若该目标等待时间大于传输延迟阈值,则控制装置1等待延迟时间之后,例如,等待预先设置的延迟时间之后,或者,等待根据传输延迟阈值与目标等待时间所确定的延迟时间之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
在此,控制装置1在等待延迟时间之后,再将所述待发送的数据包发送至所述目标链接中的待发送队列,使得在发送端也形成一个缓存区,利用传输延迟阈值进行拥塞控制。
优选地,所述延迟时间根据所述传输延迟阈值与所述目标等待时间来确定。
具体地,该延迟时间根据所述传输延迟阈值与所述目标等待时间来确定,例如,假设以W表示目标等待时间,以TDT表示传输延迟阈值(Transmit delay threshold),则延迟时间可以根据(W-TDT)来计算获得,也即,若目标等待时间W大于传输延迟阈值TDT,则在步骤S103中,控制装置1等待延迟时间(W-TDT)之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
优选地,该方法还包括:根据仿真结果与实际经验值,确定所述传输延迟阈值。
具体地,控制装置1可以根据仿真结果与实际经验值,来初始设置该传输延迟阈值TDT,例如,当该流量控制算法应用于LTE DC中时,控制装置1根据仿真结果与实际经验值,将传输延迟阈值TDT的值初始设置为20ms。
本领域技术人员应能理解,上述传输延迟阈值的值仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的传输延迟阈值的值,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
优选地,计算所述目标等待时间的方式包括:根据所述目标链接的总数据包的大小,与所述目标链接的目标吞吐量,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
具体地,控制装置1根据所述目标链接的总数据包的大小,该总数据包意指该目标链接中包括正在发送的数据包和在队列中等待发送的数据包的总大小,在此可理解为前述所称的该目标链接的长度L;再结合该目标链接的目标吞吐量,来计算采用该目标链接来发送该待发送的数据包的所需的目标等待时间。在此,该目标链接的目标吞吐量意指该目标链接在单位时间内成功地传送数据的数量,例如可以以比特、字节、分组等进行测量。
在此,假设以W来表示目标等待时间,以L来表示目标链接的总数据包的大小,或言之,该目标链接的长度,以TH来表示该目标链接的目标吞吐量,则若采用该目标链接来发送该待发送的数据包,所需要的目标等待时间W可以通过下式来计算:
W=L/TH
更优选地,该方法还包括:根据所述目标链接的理论吞吐量,设置所述目标链接的目标吞吐量。
具体地,上述计算公式W=L/TH中,L的值可以从缓存状态获知,TH的值可以根据该目标链接的理论吞吐量被初始设置,即,根据目标链接的理论吞吐量,设置所述目标链接的目标吞吐量TH的值。在此,该目标链接的理论吞吐量的值可以通过测量获得,例如,通过测量该目标链接在一段时间内成功传送数据的数量来获得,因此,该TH值是一个统计的值,而不是一个瞬时的值。
更优选地,该方法还包括:根据实际网络状况,调整所述目标链接的目标吞吐量。
具体地,控制装置1还可以根据实际的网络状况,调整所述目标链接的目标吞吐量TH的值,随后,控制装置1根据调整后的目标吞吐量TH的值,通过公式W=L/TH,计算采用该目标链接来发送该待发送的数据包所需要的等待时间。
优选地,控制装置1还可以根据数据包离开队列时的该目标链接的吞吐量,来计算该目标链接用来发送待发送的数据包所需的目标等待时间。
具体地,如图2所示,假设数据包到达该目标链接时的速率,也即,数据包到达该目标链接时该目标链接的吞吐量为TH1,数据包离开该目标链接时的速率,也即,数据包离开该目标链接时该目标链接的吞吐量为TH2,在理想的系统中,TH1=TH2,那么,控制装置1可以根据公式W=L/TH2,来计算采用该目标链接来发送该待发送的数据包所需要的等待时间。虽然,在短时期内,由于过载和网络抖动,TH1和TH2的值可以是不一样的,但从长期来看,TH1无限接近于TH2。
优选地,若存在多个候选链接,计算所述目标等待时间的方式还包括:
分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间;
根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,以所述目标链接所对应的候选等待时间作为所述目标等待时间。
具体地,上述算法还可以延伸至多链接的情形,例如,多个数据包需要被分派给不同的链接来进行发送,那么,该待发送的数据包可以从多个候选链接中选择一个目标链接,采用该选择的目标链接来发送该待发送的数据包。在此,若存在多个候选链接,则在步骤S101中,控制装置1分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间。例如,控制装置1分别根据每个候选链接的长度和吞吐量,采用公式W=L/TH,来计算若该候选链接来发送所述待发送的数据包所需要的候选等待时间。
随后,控制装置1再根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,例如,选择对应候选等待时间最短的候选链接作为目标链接,即,选择经计算获得的W值最小的候选链接作为目标链接,并将该目标链接所对应的候选等待时间作为所述目标等待时间。
接着,控制装置1再将该目标等待时间与传输延迟阈值进行比较,若该目标等待时间小于等于传输延迟阈值,则控制装置1直接将该待发送的数据包发送至该目标链接中的待发送队列,若该目标等待时间大于传输延迟阈值,则控制装置1等待延迟时间之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
在此,目标等待时间W被用于在多个候选链接中选择最佳的链接作为目标链接,传输延迟阈值TDT被用于进行流量控制。以该种方式,上述算法可以是一个被用于多种不同情形的通用算法。高性能的关键点在于具有TH的精确值和TDT的优化值。
例如,如图3所示,假设存在三个候选链接,候选链接1的缓存中具有3个数据包,候选链接2的缓存中具有2个数据包,候选链接3的缓存中具有1个数据包。此时,一个新的数据包A到来了,以该数据包A作为本发明所讨论的待发送的数据包。
控制装置1根据算法公式W=L/TH,或进一步地,根据算法公式W=L/TH2,来计算该三个候选链接所分别对应的候选等待时间。在此,假设每个候选链接具有相同的目标吞吐量,那么,候选链接3应该在所有的候选链接中具有最小的W值。因此,控制装置1选择该候选链接3作为目标链接。随后,控制装置1再将该候选链接3所对应的W值和传输延迟阈值TDT进行比较,若该W值小于等于传输延迟阈值,则该待发送的数据包A直接被分派给候选链接3。此处的逻辑是如果选择候选链接3,则该待发送的数据包A将快于其他候选链接到达接收端。
因此,对于每个到来的数据包,该算法尽量使其更快地到达接收端。通常,在理想的条件下,所有的数据包将依次到达接收端。然而,由于存在抖动和时延,在接收端的失序的问题仍然需要通过重排序功能进行解决。在此,该重排序功能并非本发明所讨论的重点,因此不再赘述,仅通过引用的方式包含于此。
在实际的情况下,链接的吞吐量可以是不同的,并且具有传输时延和抖动,因此,需要TDT合适的值和TH的精确值来获得高性能。
在此,本发明中的流量控制算法可以应用于无线接入网络的分组传输,例如,应用于eNB中下行用户层面数据传输中,该下行用户层面数据传输例如由PDCP层→RLC层→MAC层→L1层→无线层(Radio层)。
图4示出了一种上述流量控制算法应用于LTE DC中的实施例,其中,该流量控制算法适用于PDCP层PDU路由,和在MeNB数据传输中的流量控制。在UE端的重排序功能仍旧采用标准的算法。
在无线云架构中,PDCP和RLC是适用于云虚拟化的层。该流量控制算法可以是一个对云中不同情况都适用的通用算法,如下:
LTE DC(双向链接),该流量控制算法应用于PDCP层的数据包分派;
LTE CA(载波聚合),该流量控制算法应用于RLC层的数据包分派;
LWA(LTE和WIFI聚合),该流量控制算法应用于PDCP层的数据包分派;
LAA(License Assisted Access,许可辅助接入),该流量控制算法应用于PDCP层的数据包分派;
等等。
图5示出根据本发明另一个方面的用于控制流量的装置示意图。控制装置1包括计算装置501、发送装置502和延迟装置503。
其中,计算装置501对于待发送的数据包,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
具体地,对于待发送的数据包,假设采用某一目标链家来发送该待发送的数据包,则计算装置501可以根据该目标链接的长度、该目标链接的吞吐量,来计算若该目标链接来发送该待发送的数据包所需要的目标等待时间。在此,该目标链接的长度意指该目标链接中包括正在发送的数据包和在队列中等待发送的数据包的总大小;该目标链接的吞吐量意指该目标链接在单位时间内成功地传送数据的数量,例如可以以比特、字节、分组等进行测量。
在此,假设以W来表示目标等待时间,以L来表示目标链接的长度,以TH来表示该目标链接的吞吐量,则若采用该目标链接来发送该待发送的数据包,所需要的目标等待时间W可以通过下式来计算:
W=L/TH
若所述目标等待时间小于等于传输延迟阈值,发送装置502将所述待发送的数据包发送至所述目标链接中的待发送队列。
具体地,控制装置1可以将计算装置501所计算获得的目标等待时间与传输延迟阈值进行比较,若该目标等待时间小于等于传输延迟阈值,则发送装置502直接将该待发送的数据包发送至该目标链接中的待发送队列,从而使该目标链接依次发送其待发送队列中的各个数据包。
在此,传输延迟阈值的值可以是预设的,也可以根据实际网络情况进行调整。
若所述目标等待时间大于所述传输延迟阈值,延迟装置503等待延迟时间之后,将所述待发送的数据包发送至所述目标链接中的待发送队列,以控制流量。
具体地,若该目标等待时间大于传输延迟阈值,则延迟装置503等待延迟时间之后,例如,等待预先设置的延迟时间之后,或者,等待根据传输延迟阈值与目标等待时间所确定的延迟时间之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
在此,延迟装置503在等待延迟时间之后,再将所述待发送的数据包发送至所述目标链接中的待发送队列,使得在发送端也形成一个缓存区,利用传输延迟阈值进行拥塞控制。
优选地,所述延迟时间根据所述传输延迟阈值与所述目标等待时间来确定。
具体地,该延迟时间根据所述传输延迟阈值与所述目标等待时间来确定,例如,假设以W表示目标等待时间,以TDT表示传输延迟阈值(Transmit delay threshold),则延迟时间可以根据(W-TDT)来计算获得,也即,若目标等待时间W大于传输延迟阈值TDT,则延迟装置503等待延迟时间(W-TDT)之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
优选地,该控制装置1还包括确定装置(未示出)。该确定装置根据仿真结果与实际经验值,确定所述传输延迟阈值。
具体地,确定装置可以根据仿真结果与实际经验值,来初始设置该传输延迟阈值TDT,例如,当该流量控制算法应用于LTE DC中时,确定装置根据仿真结果与实际经验值,将传输延迟阈值TDT的值初始设置为20ms。
本领域技术人员应能理解,上述传输延迟阈值的值仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的传输延迟阈值的值,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
优选地,计算装置501计算所述目标等待时间的方式包括:根据所述目标链接的总数据包的大小,与所述目标链接的目标吞吐量,计算用来发送所述待发送的数据包的目标链接的目标等待时间。
具体地,计算装置501根据所述目标链接的总数据包的大小,该总数据包意指该目标链接中包括正在发送的数据包和在队列中等待发送的数据包的总大小,在此可理解为前述所称的该目标链接的长度L;再结合该目标链接的目标吞吐量,来计算采用该目标链接来发送该待发送的数据包的所需的目标等待时间。在此,该目标链接的目标吞吐量意指该目标链接在单位时间内成功地传送数据的数量,例如可以以比特、字节、分组等进行测量。
在此,假设以W来表示目标等待时间,以L来表示目标链接的总数据包的大小,或言之,该目标链接的长度,以TH来表示该目标链接的目标吞吐量,则若采用该目标链接来发送该待发送的数据包,所需要的目标等待时间W可以通过下式来计算:
W=L/TH
更优选地,该控制装置1还包括设置装置(未示出)。该设置装置根据所述目标链接的理论吞吐量,设置所述目标链接的目标吞吐量。
具体地,上述计算公式W=L/TH中,L的值可以从缓存状态获知,TH的值可以根据该目标链接的理论吞吐量被初始设置,即,设置装置根据目标链接的理论吞吐量,设置所述目标链接的目标吞吐量TH的值。在此,该目标链接的理论吞吐量的值可以通过测量获得,例如,通过测量该目标链接在一段时间内成功传送数据的数量来获得,因此,该TH值是一个统计的值,而不是一个瞬时的值。
更优选地,该控制装置1还包括调整装置(未示出)。调整装置根据实际网络状况,调整所述目标链接的目标吞吐量。
具体地,调整装置还可以根据实际的网络状况,调整所述目标链接的目标吞吐量TH的值,随后,计算装置501根据调整后的目标吞吐量TH的值,通过公式W=L/TH,计算采用该目标链接来发送该待发送的数据包所需要的等待时间。
优选地,计算装置501还可以根据数据包离开队列时的该目标链接的吞吐量,来计算该目标链接用来发送待发送的数据包所需的目标等待时间。
具体地,如图2所示,假设数据包到达该目标链接时的速率,也即,数据包到达该目标链接时该目标链接的吞吐量为TH1,数据包离开该目标链接时的速率,也即,数据包离开该目标链接时该目标链接的吞吐量为TH2,在理想的系统中,TH1=TH2,那么,计算装置501可以根据公式W=L/TH2,来计算采用该目标链接来发送该待发送的数据包所需要的等待时间。虽然,在短时期内,由于过载和网络抖动,TH1和TH2的值可以是不一样的,但从长期来看,TH1无限接近于TH2。
优选地,若存在多个候选链接,计算装置501计算所述目标等待时间的方式还包括:
分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间;
根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,以所述目标链接所对应的候选等待时间作为所述目标等待时间。
具体地,上述算法还可以延伸至多链接的情形,例如,多个数据包需要被分派给不同的链接来进行发送,那么,该待发送的数据包可以从多个候选链接中选择一个目标链接,采用该选择的目标链接来发送该待发送的数据包。在此,若存在多个候选链接,则计算装置501分别计算所述多个候选链接中每个候选链接若用来发送所述待发送的数据包的候选等待时间。例如,计算装置501分别根据每个候选链接的长度和吞吐量,采用公式W=L/TH,来计算若该候选链接来发送所述待发送的数据包所需要的候选等待时间。
随后,计算装置501再根据所述多个候选链接所分别对应的候选等待时间,自所述多个链接中确定所述目标链接,例如,选择对应候选等待时间最短的候选链接作为目标链接,即,选择经计算获得的W值最小的候选链接作为目标链接,并将该目标链接所对应的候选等待时间作为所述目标等待时间。
接着,控制装置1再将该目标等待时间与传输延迟阈值进行比较,若该目标等待时间小于等于传输延迟阈值,则发送装置502直接将该待发送的数据包发送至该目标链接中的待发送队列,若该目标等待时间大于传输延迟阈值,则延迟装置503等待延迟时间之后,再将该待发送的数据包发送至该目标链接中的待发送队列,从而控制该目标链接的流量。
在此,目标等待时间W被用于在多个候选链接中选择最佳的链接作为目标链接,传输延迟阈值TDT被用于进行流量控制。以该种方式,上述算法可以是一个被用于多种不同情形的通用算法。高性能的关键点在于具有TH的精确值和TDT的优化值。
例如,如图3所示,假设存在三个候选链接,候选链接1的缓存中具有3个数据包,候选链接2的缓存中具有2个数据包,候选链接3的缓存中具有1个数据包。此时,一个新的数据包A到来了,以该数据包A作为本发明所讨论的待发送的数据包。
控制装置1中的计算装置501根据算法公式W=L/TH,或进一步地,根据算法公式W=L/TH2,来计算该三个候选链接所分别对应的候选等待时间。在此,假设每个候选链接具有相同的目标吞吐量,那么,候选链接3应该在所有的候选链接中具有最小的W值。因此,计算装置501选择该候选链接3作为目标链接。随后,控制装置1再将该候选链接3所对应的W值和传输延迟阈值TDT进行比较,若该W值小于等于传输延迟阈值,则该待发送的数据包A直接被分派给候选链接3。此处的逻辑是如果选择候选链接3,则该待发送的数据包A将快于其他候选链接到达接收端。
因此,对于每个到来的数据包,该算法尽量使其更快地到达接收端。通常,在理想的条件下,所有的数据包将依次到达接收端。然而,由于存在抖动和时延,在接收端的失序的问题仍然需要通过重排序功能进行解决。在此,该重排序功能并非本发明所讨论的重点,因此不再赘述,仅通过引用的方式包含于此。
在实际的情况下,链接的吞吐量可以是不同的,并且具有传输时延和抖动,因此,需要TDT合适的值和TH的精确值来获得高性能。
在此,本发明中的流量控制算法可以应用于无线接入网络的分组传输,例如,应用于eNB中下行用户层面数据传输中,该下行用户层面数据传输例如由PDCP层→RLC层→MAC层→L1层→无线层(Radio层)。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。