CN110380978A - 多路径传输的调度方法、装置、计算机设备和存储介质 - Google Patents
多路径传输的调度方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110380978A CN110380978A CN201810333265.1A CN201810333265A CN110380978A CN 110380978 A CN110380978 A CN 110380978A CN 201810333265 A CN201810333265 A CN 201810333265A CN 110380978 A CN110380978 A CN 110380978A
- Authority
- CN
- China
- Prior art keywords
- sub
- path
- data packets
- scheduling period
- determining
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 title claims abstract description 43
- 230000014759 maintenance of location Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种多路径传输的调度方法、装置、计算机设备和存储介质。所述方法包括:获取各个子路径当前的属性信息;根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。采用本方法能够解决接收端乱序到达的问题。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种多路径传输的调度方法、装置、计算机设备和存储介质。
背景技术
GRE Tunnel bonding(Generic Routing Encapsulation bonding,通用路由封装隧道绑定)、MP-TCP(MultiPath TCP,多路径传输控制协议)等技术,可以利用广泛存在的多路径资源为同一种业务服务,以期获得更高的吞吐量及可靠性、更小的时延。
相同业务的数据包通过多条子路径传输,每条子路径的传输速度不同,接收端乱序接收。接收端采用累积确认的方式确认每个数据包的接收时间,乱序接收会造成数据包被确认的时间不定,进而增大RTT(round-trip time,往返延迟时间)评估误差。此外,乱序接收的数据包缓存在接收端的缓存区中等待排序,当RTT差距较大时,会出现快路径(RTT小的子路径)饥饿现象,即发送端的快路径拥塞窗口很大,但由于接收端缓冲区被填满,接收端的接收窗口为0,造成网络资源利用率下降。
已有的基于RTT和发送窗口的包调度方案能够一定程度上缓解接收乱序问题,方案的基本原理为优先填满快路径(RTT小的路径)的发送窗口,然后再填满慢路径(RTT大的路径)的发送窗口。当发生快路径饥饿时,慢路径拥塞窗口减半从而发送窗口也减半。
无线网络环境中随机丢包频繁发生,因此这种基于RTT和发送窗口的包调度方案无法避免接收端的乱序接收。
发明内容
基于此,有必要针对上述技术问题,提供一种能够更好地解决接收端乱序接收的调度方法、拥塞控制方法、装置、计算机设备和存储介质。
一种多路径传输的调度方法,所述方法包括:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
在其中一个实施例中,该方法还包括:根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间;将各个子路径的状态保持时间分别发送给各个子路径的控制模块。
在其中一个实施例中,所述根据所述属性信息确定各个子路径在目标调度周期内的状态保持时间包括:将各个子路径中的最大往返时延确定为各个子路径在目标调度周期内的状态保持时间;或者,将各个子路径的往返时延的最小公倍数确定为各个子路径在目标调度周期内的状态保持时间;或者,根据每个子路径的发送速率(pacing_rate)和目标调度周期内的数据包数量预估每个路径的发送时间;将各个子路径的发送时间确定为各个子路径在目标调度周期内的状态保持时间;或者,将以下至少两个参数进行加权运算,将加权运算结果确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的pacing_rate和目标调度周期内的数据包数量预估得到的;或者,将以下参数中的最大值确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的pacing_rate和目标调度周期内的数据包数量预估得到的。
在其中一个实施例中,该方法还包括:分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
在其中一个实施例中,所述分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数,包括:判断子路径i在上一调度周期是否发生丢包,i=1,2……I,所述I为子路径的数量;若发生丢包,则确定子路径i的调整系数为N;若未发生丢包,则确定子路径i的调整系数为M;所述分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量,包括:利用子路径i的调整系数N下调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量;或者,利用子路径i的调整系数M上调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量。
在其中一个实施例中,所述属性信息包括往返时延和拥塞窗口大小,所述根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号,包括:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
在其中一个实施例中,所述属性信息包括pacing_rate,所述根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号,包括:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的pacing_rate,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
一种多路径传输的调度装置,所述装置包括:
属性信息获取模块,用于获取各个子路径当前的属性信息;
调度信息确定模块,用于根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
调度信息发送模块,用于将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
在其中一个实施例中,所述调度信息确定模块还用于:根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间;所述调度信息发送模块还用于:将各个子路径的状态保持时间分别发送给各个子路径的控制模块。
在其中一个实施例中,所述调度信息确定模块还用于:分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;所述调度信息发送模块还用于:将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
在其中一个实施例中,所述属性信息包括往返时延和拥塞窗口大小,所述调度信息确定模块具体用于:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
在其中一个实施例中,所述属性信息包括pacing_rate,所述调度信息确定模块具体用于:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的pacing_rate,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
上述多路径传输的调度方法、装置、计算机设备和存储介质,以各个子路径上发送的数据包同时到达或按序到达接收端为目的,根据各个子路径当前的属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号。因此,各个子路径在目标调度周期内按照调度的数据包数量和起始序号发送数据,而非采用优先填满快路径的发送窗口的发送策略,可以更好地解决接收端乱序接收的问题。
附图说明
图1为一个实施例中多路径传输的调度方法的应用环境图;
图2为一个实施例中多路径传输的调度方法的流程示意图;
图3为一个实施例中多路径传输的调度方法的信令交互示意图;
图4为另一个实施例中多路径传输的调度装置的结构框图;
图5为一个实施例中计算机设备的内部结构图;
图6为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的多路径传输的调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过WI-FI(Wireless-Fidelity,无线保真)、4G(the 4th Generation mobilecommunication technology,第4代移动通信技术)等多条子路径与网络设备104进行通信。终端102可以但不限于是各种智能手机、便携式可穿戴设备、平板电脑、个人计算机和笔记本电脑,网络设备104可以是MPTCP代理,也可以是支持MPTCP的服务器。
本申请提供的调度方法应用于数据发送端,该数据发送端可以是终端102,也可以是网络设备104。以终端102从网络设备104下载数据为例,由于WI-FI子路径的RTT小于4G子路径,因此终端102的MP层首先通过WI-FI链路与网络设备104建立链接,然后通过4G链路与网络设备104建立链接;网络设备104根据本申请实施例提供的调度策略和各个子路径的当前属性,决定在上述两个子路径上发送哪些数据包。例如,如果WI-FI发送窗口可用,发送队列里面首个待发送数据包、以及该数据包之后的一段数据包,一定通过WI-FI子路径发送。WI-FI子路径的窗口按照MP层给出的时间,保持不变,分配给WI-FI子路径的数据包数量根据两条子路径的RTT和窗口信息计算得出,以达到在接收端按序到达的目的。如果4G窗口允许,发送队列里面除去WI-FI子路径要发送报文外的首个数据包,及其之后的一段数据包,一定通过4G路径发送。4G子路径的窗口也按照MP层给出的时间,保持不变。
在一个实施例中,如图2所示,提供了一种多路径传输的调度方法,以该方法应用于图1中的数据发送端为例进行说明,包括以下步骤:
步骤202,获取各个子路径当前的属性信息。
本申请实施例中,假设参与传输的子路径共有I个,按照RTT由小到大的顺序为各个子路径编号,子路径i的RTT小于子路径i+1的RTT,i=1,2,……I。
本申请实施例中,子路径当前的属性信息是指实时获取的属性信息,区别于保存的历史属性信息。
步骤204,根据全部或部分上述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致。
其中,以数据包到达时间相同或者数据包按序到达为目的确定目标调度周期内在各个子路径上发送的数据包的数量和起始序号,即上述调度策略。
步骤206,将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
本申请实施例中,可以在目标调度周期到来之前执行步骤202,也可以在目标调度周期到来后执行步骤202;可以在目标调度周期到来之前执行步骤204,也可以在目标调度周期到来后执行步骤204。
在数据发送的第一个调度周期,可以在各个子路径上发送固定数量的数据包,在之后的每个调度周期均可以采用本申请实施例提供的方法进行包调度。
上述多路径传输的调度方法的调度策略与现有的调度策略不同。现有的调度策略,优先填满快路径的发送窗口,然后填满慢路径的发送窗口,仅按照RTT顺序填满各子路径的发送窗口,而不进行预调度。本申请实施例提供的技术方案,以各个子路径上发送的数据包同时到达或按序到达接收端为目的对各个子路径进行预调度,即根据各个子路径当前的属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号。申请人通过研究发现,在大多数低速运动的场景下,路径具有一定的时间相关性,在一段时间内,即使有丢包发生,路径物理环境也没有发生根本变化,因此经过上述预调度,可以尽量保证各个子路径在目标调度周期内按照上述预调度发送的数据包按序或同时到达接收端。各个子路径在目标调度周期内发送的数据包同时或按序到达,数据包被确认的时间是确定的,进而减少RTT评估误差;另外,数据包不会再接收端的缓存区中等待过长时间,减少了快路径饥饿先想。因此,本申请实施例提供的技术方案较之现有的调度策略可以更好地解决接收端乱序接收的问题。
在其中一个实施例中,当子路径上存在窗口剧烈抖动的情况,为避免抖动造成调度失效,还根据全部或部分上述属性信息确定各个子路径在目标调度周期内的状态保持时间;将各个子路径的状态保持时间分别发送给各个子路径的控制模块。为各个子路径确定状态保持时间,在状态保持时间内,各个子路径保持属性信息不便,例如不改变拥塞窗口大小,不改变pacing_rate(发送速率),尽量减少传输路径的不确定性,保证数据包按序或同时到达接收端。
本申请实施例中,确定状态保持时间的方式有多种,下面举例说明。
确定状态保持时间的实现方式一:
将各个子路径中的最大往返时延确定为各个子路径在目标调度周期内的状态保持时间。
即,每个子路径的状态保持时间相同,均为max{RTTi},其中,RTTi为获取的子路径i的当前RTT。
本实现方式中,各个子路径的状态保持时间相同,不需要为每个子路径分别确定状态保持时间,其实现方式简单。
确定状态保持时间的实现方式二:
将各个子路径的往返时延的最小公倍数确定为各个子路径在目标调度周期内的状态保持时间。
即,每个子路径的状态保持时间相同,均为各个子路径的RTT的最小公倍数[RTTi]。
本实现方式中,各个子路径的状态保持时间相同,不需要为每个子路径分别确定状态保持时间,其实现方式简单。
确定状态保持时间的实现方式三:
根据每个子路径的pacing_rate和目标调度周期内的数据包数量预估每个路径的发送时间;将各个子路径的发送时间确定为各个子路径在目标调度周期内的状态保持时间。
例如,子路径i的状态保持时间=目标调度周期内子路径i上发送的数据包数量/子路径i当前的pacing_rate
本实现方式中,为每个子路径分别确定状态保持时间,可以更灵活地适应不同子路径的传输状况。
确定状态保持时间的实现方式四:
将以下至少两个参数进行加权运算,将加权运算结果确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的pacing_rate和目标调度周期内的数据包数量预估得到的。
例如,子路径i的状态保持时间=a1*max{RTTi}+a2*[RTTi]+a3*ti
其中,a1、a2、a3为加权系数,其取值可以根据需要确定,也可以通过仿真、拟合等方式确定;ti为子路径i的发送时间。
确定状态保持时间的实现方式五:
将以下参数中的最大值确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的pacing_rate和目标调度周期内的数据包数量预估得到的。
例如,子路径i的状态保持时间为max{max{RTTi},[RTTi],ti}
其中,ti为子路径i的发送时间。
在其中一个实施例中,对子路径的包调度需要适应子路径的网络状态变化。本申请实施例中,为提高系统的稳定性,更好地解决乱序接收的问题,在一个调度周期的状态保持时间内保持各个子路径的状态,若网络状态发生变化,可以在下一个调度周期内做出调整。具体的,分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
其中,确定子路径的调整系数的实现方式有多种。例如,判断子路径i在上一调度周期是否发生丢包;若发生丢包,则确定子路径i的调整系数为N;若未发生丢包,则确定子路径i的调整系数为M。相应的,调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量的具体实现方式为:利用子路径i的调整系数N下调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量;或者,利用子路径i的调整系数M上调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量。
例如,N为正整数,M为负整数,将调整系数N或M与原最大数据包数量求和,作为调整后的最大数据包发送数量。又例如,N为大于1的实数,M为大于0小于1的实数,将调整系数与原最大数据包数量相乘,乘积取整作为调整后的最大数据包发送数量。
上述响应网络状态变化所作的调整,可以针对第一个调度周期之后的各个调度周期进行,也可以针对特定阶段的调度周期进行(例如TCP慢启动之后的调度周期)。
现有的包调度方案是基于窗口的,仅适用于基于窗口的拥塞控制,而无法与近年来新提出的基于速率的拥塞控制机制协同工作。本申请实施例提供的技术方案,不仅适用于基于窗口的拥塞控制机制,也适用于基于速率的拥塞控制机制。
为适应基于窗口的拥塞控制机制,本申请实施例中,确定目标调度周期内在各个子路径上发送的数据包数量和起始序号的实现方式可以是:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号。
其中,往返时延的差值是时间参数,拥塞窗口与往返时延的商是速度参数,根据时间参数与速度参数可以求得数据包的数量。
本申请实施例的技术方案,是根据往返时延确定数据包的到达时间,进而反推各个子路径上发送的数据包数量以及起始序号,使得各个子路径上发送的数据包的预计到达时间相同或者预计到达顺序与数据包序号顺序一致。
为适应基于速率的拥塞控制机制,本申请实施例中,确定目标调度周期内在各个子路径上发送的数据包数量和起始序号的实现方式可以是:根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的pacing_rate,确定目标调度周期内在子路径i上发送的数据包数量:根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号。
其中,往返时延的差值是时间参数,pacing_rate是速度参数,根据时间参数与速度参数可以求得数据包的数量。
本申请实施例的技术方案,是根据往返时延确定数据包的到达时间,进而反推各个子路径上发送的数据包数量以及起始序号,使得各个子路径上发送的数据包的预计到达时间相同或者预计到达顺序与数据包序号顺序一致。
以MPTCP为例,如图3所示,本申请实施例具体是由数据发送端MP层的包调度模块从各个子路径的控制模块获取当前的属性信息,根据获取的属性信息进行预调度,并将预调度的结果(状态保持时间、数据包数量、数据包起始序号)发送给各个子路径的控制模块。
若子路径的控制模块采用基于窗口的拥塞控制机制,本申请实施例提供的调度方法具体如下:
数据发送端MP层的包调度模块根据连接建立过程获得的RTT信息,将子路径进行排序,RTT最小的为子路径1,次小的为子路径2,以此类推。建立连接后的第一轮数据发送,数据发送端在Ti,1=RTTi,1时间内通过路径i发送Ni,1=CWNDinit个数据包(其中CWNDinit是TCP初始的拥塞控制窗口值,一般为10);
经过状态保持时间max{Ti,1}之后,按照正常的TCP流程慢启动调节窗口,CWNDi,j=2*CWNDi-1,j,故在Ti,j=RTTi,j时间内通过子路径i能发送的数据量大小为Ni,j=2*Ni,j-1个数据包;且,数据包的起始序列号为:
SendQueue.FirstBytesi=0.5*(maxi{RTTi,j}-RTTi-1,j)*(CWNDi-1,j/RTTi-1,j)+SendQ ueue.FirstBytesi-1
其中SendQueue.FirstBytesi为通过子路径i发送的数据包的起始序列号,RTTi,j为子路径i在第j个调度周期的RTT,CWNDi,j为子路径i在第j个周期的拥塞窗口,j=2,3……。
即预先分配一定量的数据包(SendQueue.FirstBytesi-SendQueue.FirstBytesi-1)给RTT较小的子路径发送,以达到能同时到达接收端,减小接收端的乱序。
重复慢启动之后的上述步骤,直到Ni,j>ssthresh(ssthresh是TCP慢启动的窗口上界)。
其中,在慢启动阶段,针对每个调度周期,包调度模块均从各个子路径的控制模块获取各个子路径当前的RTT和拥塞窗口大小;根据上述公式确定各个子路径上发送的数据包数量和起始序号,确定各个子路径在每个RTT可发送的数据包数量Ni,j,并将各个子路径中的最大RTT作为各个子路径的状态保持时间;将为各个子路径确定的数据包数量、起始序号、Ni,j、状态保持时间发送给各个子路径的控制模块。
经过状态保持时间max{Ti,j}之后,各个子路径在RTTi,j内发送的数据包数量Ni,j+1=Ni,j+xi,j;xi,j是对上一状态保持周期事件综合反映的结果,可正可负,例如上一周期没有发生丢包,那么xi,j=1,若发生丢包则xi,j=-0.5*CWNDi,j-1;且,数据包的起始序列号为:
SendQueue.FirstBytesi=0.5*(maxi{RTTi,j}-RTTi-1,j)*(CWNDi-1/RTTi-1,j)+SendQueue.FirstBytesi-1
若子路径的控制模块采用基于窗口的拥塞控制机制,本申请实施例提供的调度方法具体如下:
数据发送端MP层的包调度模块根据连接建立过程获得的RTT信息,将子路径进行排序,RTT最小的为路径1,次小的为路径2,以此类推。建立连接后的第一轮数据发送,数据发送端在Ti,1=RTTi,1时间内通过路径i发送Ni,1=Ninit个数据包(Ninit为使用基于pacing的拥塞控制的TCP第一轮发送数据包的个数);
经过状态保持时间max{Ti,1}之后,根据带宽计算pacing_ratei,j;并在Ti,j=RTTi,j时间内通过路径i发送Ni,j=pacing_ratei,j*RTTi,j个数据包;且,数据包的起始序列号为:
SendQueue.FirstBytesi=0.5*(maxi{RTTi,j}-RTTi-1,j)*pacing_ratei-1,2+SendQueue.FirstBytesi-1
重复第二调度周期的上述步骤,直到pacing rate变化率小于门限值。
其中,从第二调度周期开始,针对每个调度周期,包调度模块均从各个子路径的控制模块获取各个子路径当前的RTT和pacing_rate;根据上述公式确定各个子路径上发送的数据包数量和起始序号,确定各个子路径在每个RTT可发送的数据包数量Ni,j,并将各个子路径中的最大RTT作为各个子路径的状态保持时间;将为各个子路径确定的数据包数量、起始序号、Ni,j、状态保持时间发送给各个子路径的控制模块。
子路径i每间隔时间Ti,j=RTTi,j,发送Ni,j=pacing_ratei,j*RTTi,j;且,数据包的起始序列号为:
SendQueue.FirstBytesi=0.5*(maxi{RTTi,j}-RTTi-1,j)*pacing_ratei-1,j+SendQueue.FirstBytesi-1
其中pacing_ratei,j为路径i在第j个调度周期内的发送速率。
经过状态保持时间max{Ti,j}之后,子路径根据网络状况更新pacing_rate、RTT,并重复上述步骤。
本申请实施例提供的技术方案,在MP预调度时数据发送端一定在Tj时间内通过路径i发送Ni个数据,Ni根据路径信息计算得到,以达到从不同路径发送的数据包按时到达接收端的目标。对网络状态变化的响应延迟到下一个调度周期,在一个调度周期内,保持子路径的状态不变,如果网络状态发生变化,在下一个调度周期做出调整。通过保持预调度方案传输策略,保证调度准确性,由此可以最小化接收缓存使用、缓存固定时提高吞吐量。
针对基于pacing_rate的调度方法,可以保证不同流的包按序到达接收端,基于pacing rate的发送策略保证数据包逐个从发送端发出,两者结合可以保证在接收端数据包逐个以一定间隔按序到达,使得数据包可以及时提交、接收乱序深度始终很小。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种多路径传输的调度装置,包括:
属性信息获取模块401,用于获取各个子路径当前的属性信息;
调度信息确定模块402,用于根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
调度信息发送模块403,用于将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
上述多路径传输的调度装置,以各个子路径上发送的数据包同时到达或按序到达接收端为目的,根据各个子路径当前的属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号。因此,各个子路径在目标调度周期内按照调度的数据包数量和起始序号发送数据,而非采用优先填满快路径的发送窗口的发送策略,可以更好地解决接收端乱序接收的问题。
在其中一个实施例中,所述调度信息确定模块还用于:根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间;
所述调度信息发送模块还用于:将各个子路径的状态保持时间分别发送给各个子路径的控制模块。
在其中一个实施例中,所述调度信息确定模块还用于:分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;
所述调度信息发送模块还用于:将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
在其中一个实施例中,所述属性信息包括往返时延和拥塞窗口大小,所述调度信息确定模块具体用于:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
在其中一个实施例中,所述属性信息包括pacing_rate,所述调度信息确定模块具体用于:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的pacing_rate,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
关于多路径传输的调度装置的具体限定可以参见上文中对于多路径传输的调度方法的限定,在此不再赘述。上述调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示,该计算机设备也可以是终端,其内部结构图可以如图6所示。该服务器包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的数据库用于存储执行调度方法所需的数据。该服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多路径传输的调度方法。该终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多路径传输的调度方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5、6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种多路径传输的调度方法,所述方法包括:
获取各个子路径当前的属性信息;
根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间;
将各个子路径的状态保持时间分别发送给各个子路径的控制模块。
3.根据权利要求2所述的方法,其特征在于,所述根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间包括:
将各个子路径中的最大往返时延确定为各个子路径在目标调度周期内的状态保持时间;或者,
将各个子路径的往返时延的最小公倍数确定为各个子路径在目标调度周期内的状态保持时间;或者,
根据每个子路径的发送速率和目标调度周期内的数据包数量预估每个路径的发送时间;将各个子路径的发送时间确定为各个子路径在目标调度周期内的状态保持时间;或者,
将以下至少两个参数进行加权运算,将加权运算结果确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的发送速率和目标调度周期内的数据包数量预估得到的;或者,
将以下参数中的最大值确定为各个子路径在目标调度周期内的状态保持时间:各个子路径中的最大往返时延,各个子路径的往返时间的最小公倍数,各个子路径的发送时间;子路径的发送时间是根据子路径的发送速率和目标调度周期内的数据包数量预估得到的。
4.根据权利要求2所述的方法,其特征在于,该方法还包括:
分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;
分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;
将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
5.根据权利要求4所述的方法,其特征在于,所述分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数,包括:
判断子路径i在上一调度周期是否发生丢包,i=1,2……I,所述I为子路径的数量;
若发生丢包,则确定子路径i的调整系数为N;
若未发生丢包,则确定子路径i的调整系数为M;
所述分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量,包括:
利用子路径i的调整系数N下调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量;或者,利用子路径i的调整系数M上调目标调度周期内子路径i在一个往返时延内允许发送的最大数据包数量。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述属性信息包括往返时延和拥塞窗口大小,所述根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号,包括:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述属性信息包括发送速率,所述根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号,包括:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的发送速率,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
8.一种多路径传输的调度装置,其特征在于,所述装置包括:
属性信息获取模块,用于获取各个子路径当前的属性信息;
调度信息确定模块,用于根据全部或部分所述属性信息确定目标调度周期内在各个子路径上发送的数据包数量和起始序号;按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达时间相同,或者,按照确定的数据包数量和起始序号在各个子路径上发送的数据包的预计到达顺序与数据包序号的顺序一致;
调度信息发送模块,用于将目标调度周期内在各个子路径上发送的数据包数量和起始序号分别发送给各个子路径的控制模块。
9.根据权利要求8所述的装置,其特征在于,所述调度信息确定模块还用于:根据全部或部分所述属性信息确定各个子路径在目标调度周期内的状态保持时间;
所述调度信息发送模块还用于:将各个子路径的状态保持时间分别发送给各个子路径的控制模块。
10.根据权利要求8所述的装置,其特征在于,所述调度信息确定模块还用于:分别根据各个子路径在上一调度周期的网络状态确定各个子路径的调整系数;分别利用各个子路径的调整系数调整目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量;
所述调度信息发送模块还用于:将目标调度周期内各个子路径在一个往返时延内允许发送的最大数据包数量分别发送给各个子路径的控制模块。
11.根据权利要求8至10任意一项所述的装置,其特征在于,所述属性信息包括往返时延和拥塞窗口大小,所述调度信息确定模块具体用于:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的拥塞窗口大小与往返时延的商,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
12.根据权利要求8至10任意一项所述的装置,其特征在于,所述属性信息包括pacing_rate,所述调度信息确定模块具体用于:
根据各个子路径中的最大往返时延与子路径i的往返时延的差值,和子路径i的pacing_rate,确定目标调度周期内在子路径i上发送的数据包数量,i=1,2……I,所述I为子路径的数量:
根据目标调度周期内在相邻子路径i-1上发送的数据包数量和起始序号,确定目标调度周期内子路径i上发送的数据包起始序号,子路径i-1的往返时延小于子路径i的往返时延。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810333265.1A CN110380978B (zh) | 2018-04-13 | 2018-04-13 | 多路径传输的调度方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810333265.1A CN110380978B (zh) | 2018-04-13 | 2018-04-13 | 多路径传输的调度方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110380978A true CN110380978A (zh) | 2019-10-25 |
CN110380978B CN110380978B (zh) | 2021-09-28 |
Family
ID=68243654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810333265.1A Active CN110380978B (zh) | 2018-04-13 | 2018-04-13 | 多路径传输的调度方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110380978B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329504A (zh) * | 2021-06-04 | 2021-08-31 | 上海大学 | 基于接收机反馈信息的发射机多链路数据分流方法 |
WO2021248886A1 (zh) * | 2020-06-11 | 2021-12-16 | 华为技术有限公司 | 数据传输方法、发送侧设备和接收侧设备 |
WO2022247307A1 (zh) * | 2021-05-28 | 2022-12-01 | 华为技术有限公司 | 传输报文的方法及装置 |
CN116761211A (zh) * | 2023-08-17 | 2023-09-15 | 鹏城实验室 | 基于多径传输的数据包调度方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185771A (zh) * | 2011-05-05 | 2011-09-14 | 清华大学 | Mptcp中发送方数据包调度方法及系统 |
CN104023408A (zh) * | 2014-06-26 | 2014-09-03 | 北京邮电大学 | 调度器及其基于网络多路径并行传输的数据调度方法 |
WO2016156425A1 (en) * | 2015-03-30 | 2016-10-06 | British Telecommunications Public Limited Company | Data transmission |
CN106656856A (zh) * | 2016-12-16 | 2017-05-10 | 浙江大学 | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 |
CN107302504A (zh) * | 2017-07-07 | 2017-10-27 | 北京邮电大学 | 一种基于虚拟发送队列的多路传输调度方法及系统 |
CN107566275A (zh) * | 2017-10-18 | 2018-01-09 | 中南大学 | 数据中心网络中基于延时差异性的多路径传输方法 |
-
2018
- 2018-04-13 CN CN201810333265.1A patent/CN110380978B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185771A (zh) * | 2011-05-05 | 2011-09-14 | 清华大学 | Mptcp中发送方数据包调度方法及系统 |
CN104023408A (zh) * | 2014-06-26 | 2014-09-03 | 北京邮电大学 | 调度器及其基于网络多路径并行传输的数据调度方法 |
WO2016156425A1 (en) * | 2015-03-30 | 2016-10-06 | British Telecommunications Public Limited Company | Data transmission |
CN106656856A (zh) * | 2016-12-16 | 2017-05-10 | 浙江大学 | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 |
CN107302504A (zh) * | 2017-07-07 | 2017-10-27 | 北京邮电大学 | 一种基于虚拟发送队列的多路传输调度方法及系统 |
CN107566275A (zh) * | 2017-10-18 | 2018-01-09 | 中南大学 | 数据中心网络中基于延时差异性的多路径传输方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021248886A1 (zh) * | 2020-06-11 | 2021-12-16 | 华为技术有限公司 | 数据传输方法、发送侧设备和接收侧设备 |
CN114556883A (zh) * | 2020-06-11 | 2022-05-27 | 华为技术有限公司 | 数据传输方法、发送侧设备和接收侧设备 |
CN114556883B (zh) * | 2020-06-11 | 2024-07-30 | 华为技术有限公司 | 数据传输方法、发送侧设备和接收侧设备 |
WO2022247307A1 (zh) * | 2021-05-28 | 2022-12-01 | 华为技术有限公司 | 传输报文的方法及装置 |
CN113329504A (zh) * | 2021-06-04 | 2021-08-31 | 上海大学 | 基于接收机反馈信息的发射机多链路数据分流方法 |
CN116761211A (zh) * | 2023-08-17 | 2023-09-15 | 鹏城实验室 | 基于多径传输的数据包调度方法、装置、设备及存储介质 |
CN116761211B (zh) * | 2023-08-17 | 2023-11-17 | 鹏城实验室 | 基于多径传输的数据包调度方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110380978B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380978B (zh) | 多路径传输的调度方法、装置、计算机设备和存储介质 | |
Kuhn et al. | DAPS: Intelligent delay-aware packet scheduling for multipath transport | |
US6622172B1 (en) | Dynamically delayed acknowledgement transmission system | |
US6560243B1 (en) | System and method for receiver based allocation of network bandwidth | |
US11171862B2 (en) | Multi-subflow network transmission method and apparatus | |
CN105376173B (zh) | 一种发送窗口流量控制方法和终端 | |
US20050220097A1 (en) | Expedited data transmission in packet based network | |
CN106134147A (zh) | 实现请求管理器和连接管理器功能的传输加速器 | |
US11743192B2 (en) | Managing transmission control protocol (TCP) traffic | |
CN107624232A (zh) | 在通信系统中控制下行链路吞吐量的设备和方法 | |
WO2011133624A1 (en) | Congestion window control based on queuing delay and packet loss | |
US8565249B2 (en) | Queue management system and methods | |
US20220103465A1 (en) | Multi-Subflow Network Transmission Method and Apparatus | |
KR102111029B1 (ko) | 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법 | |
CN111211996B (zh) | 一种流调度方法 | |
CN118264620A (zh) | 用于多路径网络上的灵活负载均衡的计算系统和方法 | |
Lu et al. | FAMD: A Flow-Aware Marking and Delay-based TCP algorithm for datacenter networks | |
EP1730903A2 (en) | Expedited data transmission in packet based network | |
US9877338B1 (en) | Wireless scheduler bandwidth estimation for quick start | |
CN104580006B (zh) | 一种移动网络发送速率控制方法、装置及系统 | |
Liao et al. | A multi-path mechanism for reliable VoIP transmission over wireless networks | |
Giordano et al. | Modeling TCP startup performance | |
CN101478436B (zh) | 一种输入输出调度方法和装置 | |
CN113300971B (zh) | 数据处理系统及方法 | |
US9882751B2 (en) | Communication system, communication controller, communication control method, and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |