CN112672190B - 一种最小资费mpquic数据包调度方法和系统 - Google Patents
一种最小资费mpquic数据包调度方法和系统 Download PDFInfo
- Publication number
- CN112672190B CN112672190B CN202011523177.1A CN202011523177A CN112672190B CN 112672190 B CN112672190 B CN 112672190B CN 202011523177 A CN202011523177 A CN 202011523177A CN 112672190 B CN112672190 B CN 112672190B
- Authority
- CN
- China
- Prior art keywords
- path
- transmission
- data
- round
- mpquic
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种MPQUIC系统调度器调度发送量的方法的方法,所述MPQUIC系统通过Path A和Path B两条路径发送数据,Path A的资费低于Path B,所述方法包括:从应用层接收本轮要发送的数据块和传输时长tc,将数据块分为SEQsum个数据包;预测Path A路径的传输能力,基于该传输能力的发送量和根据上一轮Path A路径传输时间,对本轮传输分配的发送量进行调整,将调整后的发送量分配给Path A;向Path B路径分配的发送量为剩余的发送量;在完成本轮传输后,记录下WIFI路径完成传输的时间与tc的差D。本发明的优点在于基于双子流对传的思想能够充分利用多物理接口的性能,考虑实际异构无线网络的状态变化,最终实现传输性能和流量资费的平衡。
Description
技术领域
本发明涉及计算机网络传输控制领域,进一步地,本发明涉及一种针对在异构无线网络中视频流点播的多路径QUIC数据传输(Multipath QUIC,MPQUIC)调度器在智能终端设备上的资费优化方法和系统。
背景技术
现有的智能设备通常具备多个物理网络接口,例如智能手机上的蜂窝无线网络接口和802.11WiFi接口。可以同时利用这些接口来加速网络传输,来保障网络的稳定性,提高网络连接的鲁棒性是一个重要的研究领域。
QUIC(Quick UDP Internet Connection Protocol)是计划替代传统TCP(Transmission Control Protocol)传输协议的用户层协议具体实现,而MPQUIC是QUIC协议的拓展,主要目的是实现QUIC传输协议并行利用多种网络接口的能力。互联网工作任务组(Internet Engineering Task Force,IETF)已经发布了MPQUIC协议的标准。具体的,在MPQUIC的发送方,将从应用进程接收到的数据分发到不同的子路径的STREAM上以推向网络。而在接收方,MPQUIC将从不同子路径接收到的数据重组后交付给应用进程。
如图1,MPQUIC在QUIC协议之上加上管理层,以实现路径管理、可靠数据传输、数据包调度和拥塞控制。MPQUIC使用路径标示(Path ID)显式地指定一条连接,并在每个数据包的公共标头中包含发送数据包的Path ID。这一点继承自QUIC的连接迁移特性。即,不使用源/目的网络地址和端口四元组指定路径,而是使用连接标示(Connection ID)。这样做的好处是当源/目的网络地址和端口发生变化时,连接不会中断。例如当网络地址转换协议(Network Address Translation,NAT)重新绑定时,路径连接不必中断。协议可以通过路径ID记录当前该链路的状态,如:往返时间(Round-Trip Time,RTT)、丢包率、拥塞情况等等。MPQUIC具有可靠的数据传输机制。其底层依赖于QUIC的可靠数据传输,使用加密数据帧(Encrypted Frame)来传输数据。数据帧由不同的流(Stream)进行管理,包括拥塞控制,流量控制等。每个数据帧由流编号(Stream ID)和数据包偏移信息(Offset)组成,这些信息被接收端用来对数据进行重组。而在MPQUIC中,每条路径都维护自己的数据包号空间。MPQUIC还在确认字符(Acknowledge Character,ACK)的数据帧中加入Path ID字段,目的是让接收端能够识别不同路径上的数据包。MPQUIC具有路径管理功能。MPQUIC使用一个路径管理器来控制路径的创建和删除。MPQUIC在一条路径上执行加密握手,完成后,MPQUIC将在其他网络接口打开新的路径。MPQUIC借助QUIC的特性,在完成第一条路径建立后,可在后续路径建立握手的时候,直接将数据包放入握手所用的数据包载荷内进行传输。MPQUIC具有数据包调度功能。当应用进程的数据包到达时,调度器(Scheduler)需要决定如何将数据包分发到各个子路径上进行传输。具体来说,调度器具有两个功能:(a)在一组QUIC子路径中选择一个可用的子路径;(b)考虑网络的状态,决定数据包的发送方式。数据包调度器是多路径协议核心功能,将直接影响协议的性能表现。
对于用户而言,除了网络的传输速度,流量资费问题也会影响用户体验。调度器作为数据分发模块,直接决定了每条子路径上流量的用度,进而决定了用户的网络资费。MPQUIC的默认调度器MinRTT尽量选择链路质量较好的路径进行发送数据。但这并未考虑资费的因素。考虑移动用户观看在线视频的一般性场景,视频服务器将一段完整的视频拆分为多个视频块。每个视频块可以播放一定的时长。而应用层协议的任务就是传输这些视频块。影响视频播放流畅度的重要因素,是在当前视频块消耗完之前,视频的缓冲区要缓存好下一个视频块。只要在用户观看完当前视频块之前,下一个视频块缓冲完成,用户就可以连续无卡顿的观看视频。而MinRTT目标是尽快的完成视频块的传输,并未考虑资费。例如当WiFi质量弱于蜂窝网络时,MinRTT尽可能多的使用蜂窝网络,避免使用WiFi。这就造成了蜂窝网络数据流量费用剧增,这种现象在最新的5G搭配WiFi的异构网络中将更加普遍。而为了保障数据传输质量,最为激进的调度器ReMP,将数据同时复制分发到两条子路径上,既其中一条子路径全冗余的发送另一条子路径的内容。因为链路异构,数据包传输所需的时间不同。在接收端,用户接收先到的数据后,另一条路径上后到的数据将直接丢弃。在一些网络质量极差的条件下,例如野外信号较弱的区域,或是在关键控制领域,只需要网络传达数据包较小的控制命令等场景,ReMP调度器带来了良好的数据可达性。因为这类条件下用户更关心数据能否正确的进行传输,而不是资费。
不论是尽量使用最佳链路的MinRTT调度器,还是为了保证数据可达性,采用全冗余传输的ReMP调度器,都未考虑资费因素。这对于普通用户是不合适的。一般而言,对于智能终端,蜂窝网络的流量价格远高于WiFi。用户往往希望在网络质量有所保障的前提下,资费尽可能的低。MPQUIC现有的调度器方案都未考虑资费问题。
发明内容
本发明针对上述问题,根据本发明的第一方面,提出一种MPQUIC系统调度器调度发送量的方法,所述MPQUIC系统通过Path A和Path B两条路径发送数据,Path A的资费低于Path B,所述方法包括:
步骤100:从应用层接收本轮要发送的数据块和传输时长tc,将数据块分为SEQsum个数据包;
步骤200:预测Path A路径的传输能力,基于该传输能力的发送量和根据上一轮Path A路径传输时间,对本轮传输分配的发送量进行调整,如果上一轮Path A路径传输时间小于tc,则增加本轮Path A路径发送量,如果上一轮Path A路径传输时间大于tc,则减少本轮Path A路径发送量,将调整后的发送量分配给Path A;
步骤300:向Path B路径分配的发送量为剩余的发送量;
步骤400:在完成本轮传输后,记录下WIFI路径完成传输的时间与tc的差D。
在本发明的一个实施例中,步骤300还包括向Path B路径分配冗余发送量。
在本发明的一个实施例中,Path A为WIFI路径,Path B为蜂窝网络路径。
在本发明的一个实施例中,其中
其中,OWD'A为预测Path A的单向传输延迟,VA为数据包发送速率。
在本发明的一个实施例中,其中
其中,OWD'A为预测Path A的单向传输延迟,VA为数据包发送速率。
在本发明的一个实施例中,其中
步骤300中Path B分配的剩余的发送量为
SEQsum-[(tc-OWD'A)×VA±D×VA]
其中,OWD'A为预测Path A的单向传输延迟,VA为数据包发送速率。
在本发明的一个实施例中,其中分配给Path B路径的冗余发送量为VA×δ,其中,VA为数据包发送速率,δ为自适应冗余发送参数
在本发明的一个实施例中,其中,调度器将Path A的起始发送指针放在数据块首部,按照数据包编号升序的顺序发送;将Path B的发送指针放在数据块尾部,按照数据包编号降序的顺序进行发送。
根据本发明的第二方面,提供一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现本发明的MPQUIC系统调度器调度发送量的方法。
根据本发明的第三方面,提供一种计算系统,包括:存储装置、以及一个或者多个处理器;其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现本发明的MPQUIC系统调度器调度发送量的方法。
本发明基于最小资费的最佳任务量划分算法,根据当前的链路状态和上一轮传输中从接收端接收到的反馈,计算本轮传输不同子路径的任务分配情况。并为了保证不会因网络波动而造成用户视频缓存卡顿,引入“冗余发送”。MCMS根据当前网络波动的统计情况,加入一部分冗余数据,保证本轮传输的按时完成。本发明根据边界感知信息获得的当前传输数据块的大小,以及在播放无卡顿的前提下使用两条子路径对向传输的思想,当两条子路径发送指针相遇时发送完成。而相遇点的确定由MCMS综合考虑视频流播放卡顿情况、当前网络的状态以及流量资费等因素计算完成。本发明考虑异构无线网络的不稳定性,根据时间标签测量网络路径的单向延迟,由于MPQUIC预测的单向延迟有误差的可能,因此在实际传输中如果预测结果的与真实的不同,即预测的任务分割点与实际的任务分割点产生差距时,就会导致优化结果不满足预定的目标。为此本发明设计了基于反馈的T点调整算法,使相遇点的调整更加准确和快速。
与现有的技术相比,本发明的优点在于基于双子流对传的思想能够充分利用多物理接口的性能,并根据视频流的数据块缓存模型保障视频流业务不卡顿的服务质量,考虑实际异构无线网络的状态变化,动态的调整数据对传的相遇点,以最终实现传输性能和流量资费的平衡。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为MPQUIC在网络协议栈结构图。
图2为在线视频流点播的进度池模型图。
图3为异构无线双子流对传示意图。
图4为MCMS的调度优化分析图。
图5为MCMS“冗余发送”分析图。
图6为MCMS的整体系统结构图。
具体实施方式
为解决背景技术中提出的问题,本发明基于异构无线网络终端提供了一种针对在线视频流点播的最小资费MPQUIC数据包优化方法和系统。为了对本发明的技术特征、目的和效果有更加清楚的理解,现参照附图对本发明提出的方法和系统进一步详细说明。
图1展示了多路径传输控制协议(MPQUIC)的基本架构图。
步骤101:应用层将要经过网络发送的视频数据准备为数据块,放在缓存区中。并通知传输层数据块的边界大小。
步骤102:MPQUIC在发送端与接收端建立网络连接,建立时先通过一条路径建立连接,并通知接收方自己还有其它可以建立连接的链路。
步骤103:MPQUIC从套接字接收到应用传来的数据块后,将其分割为多个网络数据包进行传输。调度器将根据步骤102中建立的网络连接的属性,和调度器自身的优化策略决定将数据块中的数据包以何种顺序、何种分配方式下发到不同的传输路径当中。
步骤104:在各条子路径获取到数据包后,将直接进行发送。每条路径有自己的路径ID,来标识数据传输路径。每条路径记录自己的RTT、丢包率、数据包编号等信息。
步骤105:每条子路径的数据包,将交给传输层的UDP(User Datagram Protocol)协议进行传输。UDP是一种无连接的传输层协议。只负责发送数据包,而数据包的ACK应答、流量控制、拥塞管理等功能将由MPQUIC协议完成。
图2展示了在线视频流播放器进度池模型。在本模型中,将视频播放类比为一个下端不断消耗数据,上端不断注入新数据的进度池模型。
对于视频在线点播这一场景,一个完整的视频将被服务器方拆分为大小不同的视频块,每个视频块可以播放一段时间。这里我们将视频块称为数据块。在用户观看视频时,实际上是在不断地消耗数据块的过程。而网络则是不断缓冲数据块的过程。
步骤201:视频播放器不断通过网络接收新的数据内容,当能将其组装为一个完整的数据块时,表示本数据块缓存完成,可以被用来播放视频。
步骤202:用户观看视频时,消耗当前的数据块。当前正在使用的数据块被消耗完时,播放器立刻开始消耗下一个数据块。
因此,用户观看在线视频播放无卡顿的条件是:在当前视频块被消耗完前,必须缓存好下一个视频块。
图3展示了本发明的拥有异构无线网络终端的最小资费MPQUIC调度器(MinimalCharge MPQUIC Scheduler,MCMS)双子路径对传模型。
本发明首先分析了调度器对流量资费的影响情况,因为调度器决定了不同子路径的数据流量用度。假设WiFi的流量资费为costWiFi,而蜂窝网络的流量资费为costcellular。将每个数据块的传输过程定义为一轮传输。在每轮传输中,假设消耗WiFi的流量为flowWiFi,而消耗蜂窝网络的流量为flowcellular。可以推出,每轮进行数据传输的总费用为:
costtotal=costWiFi×flowWiFi+costcellular×flowcellular (1)
一般而言,蜂窝网络的流量传输费用显著高于WiFi。由公式(1)可知,减少流量费用的基本思想就是:在满足数据传输的要求的前提下,尽量使用WiFi进行传输,减少蜂窝网络的数据流量用度。
步骤301:以配备WiFi和蜂窝网络接口的终端为例建立双子路径,假设MPQUIC协议已经建立好网络连接,Path A是WiFi网络接口建立的子路径,Path B是蜂窝数据接口建立的子路径。在上层准备好数据块后,并告知MCMS数据块的边界,数据块被MPQUIC分割为许多数据包。MCMS将Path A的起始发送指针放在数据块首部,按照数据包编号升序的顺序发送;将Path B的发送指针放在数据块尾部,按照数据包编号降序的顺序进行发送。可以看出,两条子路径的发送方向是相反的,这种传输方式称为“对向传输”。这种方式可以有效地在网络波动时保证数据传输的稳定性,将在步骤501和502中进一步说明。
步骤302:根据当前两条子路径的链路状态,MCMS将计算最佳的数据包分割点标记为T点。T点为由MCMS根据当前的网络状态计算得来的WiFi路径所能传输的数据包数量,将在步骤401到404中进一步说明。Path A发送其起始指针到T点的数据包。Path B发送剩余的数据包。根据公式(1),其传输目标是尽可能多的利用WiFi传输数据,当WiFi不足以在有限的时间内传输当前的数据块时(图中表示为T点之后的数据包),将无法完成的部分交由蜂窝网络进行传输。这样既保证了传输质量,又减少了流量传输的资费。
步骤303:冗余发送。步骤302中的T点将根据网络链路情况动态调整。但在无线异构网络中,其网络环境是多变且不稳定的。因此,本发明引入了“冗余发送”的方式。即在Path B传输到T点后,将继续发送到R点。T点到R点的数据也在Path A上进行发送,因此称为“冗余发送”。接收方收到T点到R点的数据时,不论是从哪条子路径上收到的,只会保留最初收到的数据,并丢弃冗余的数据。R点由MCMS根据当前的网络状态计算得来。“冗余发送”保证在网络条件不断变化时,数据块传输可以在规定时间内完成,以少量合理的冗余数据换取数据缓冲的稳定性,为用户提供良好的网络体验。将在步骤501和502中说明。
本发明的最小资费MPQUIC调度器调度方法采用两条路径Path A与Path B同时发送,Path A的资费低于Path B,Path A可以使用WIFI网络,Path B可以使用蜂窝网络。首先充分利用WIFI路径的传输能力,在本轮传输前对其能传输的数据包数量进行预测,向WIFI路径分配的发送量就为该路径预测的所能传输的数据包的量,再根据上一轮发送情况对分本轮发送量进行调整,如果上一轮WIFI路径发送时长超出预期,调小本轮WIFI路径发送量,如果上一轮WIFI路径发送时长短于预期,调大WIFI路径本轮发送量。将需发送的量中剩余的发送量分配给蜂窝网络路径,蜂窝网络路径同时做一些冗余发送,将在部分在WIFI路径上传输的数据包也在蜂窝网络路径上发送。
本发明注重于数据包调度对视频流点播这一实际场景下的流量资费与传输性能间的平衡优化,本发明的重点就在于根据网络链路属性,优化调度器的发送策略,减小用户的流量费用。得益于MPQUIC运行在用户态,针对具体的业务场景对该传输协议的定制化是方便可行的,而且不需要修改操作系统内核中的其他协议。图4是基于异构无线网络终端的最小资费MPQUIC调度器优化算法的详细说明。
步骤401:如图4(a)所示,它绘制了两个子路径传输的发送端视图。X轴是时间,Y轴是本轮传输的数据包编号。为了方便描述,假设时间从t=0开始,数据包编号也从0开始。每轮传输开始时,Path A和Path B都将同时开始传输。在发送端,Path A将在tsA完成本轮最后一个数据包的发送,Path B将在tsB完成本轮最后一个数据包的发送。坐标图中两条实直线表示数据包发送过程,其斜率表示Path A和Path B两条路径的数据包发送速率,分别为设为VA、VB,发送速率根据MPQUIC的网络测量得来。根据步骤302,Path A发送其起始指针到T点的数据包。Path B发送剩余的数据包。
步骤402:图4(b)表示接收方视图。设Path A和Path B的单向传播时延(One WayDelay,OWD)分别为OWDA和OWDB。OWD由MPQUIC的网络测量得来,可由接收方将测量结果反馈给发送方。则接收方视图是将图4(a)中的两条实直线分别向右平移对应的OWD即可。
每轮传输前,MCMS调度器先对当前的网络状态进行评估。由步骤201和步骤202可知,从当前数据块开始消耗到消耗完成期间必须缓存好下一个数据块,才能保证播放的无卡顿,这一段时间设为tc,由应用层显式地告知MPQUIC。
根据公式(1),为了尽量降低资费,应尽可能的利用WiFi传输数据;而为了视频缓存不卡顿,下一个视频块的缓存必须在tc时间内完成。可得Path A(WiFi)每轮的传输过程中,最大使用tc长度的时间。如果Path A在本轮传输处于完全工作状态时,其发送的数据包数为:
SEQT=(tc-OWDA)×VA (2)
公式(2)计算出的SEQT的数值与图4(b)中Path A实直线的高度是相同的,其中SEQT=T。当本轮传输任务的数据包总数SEQsum≤SEQT时,说明只使用Path A(WiFi)即可完成传输任务,不需要Path B(蜂窝网络)的帮忙。则SEQsum完全交由Path A传输即可。否则,说明Path A(WiFi)传输能力不足,无法满足本轮的传输任务,需要Path B(蜂窝网络)将Path A无法在tc时间内处理的数据包进行传输。下面也将着重讨论该情况。Path A本轮需要传输的任务量,即T点,为公式(2)所得。Path B需要传输的任务量为:SEQsum-SEQT。
公式(2)所获得的SEQT实际上是一种理想化结果。VA可根据发送方网卡上获取的数据得出。然而,异构无线网络不是一个稳定的网络,OWDA的是经常变化的。在本发明中,OWDA和OWDB表示Path A和Path B实际的单向延迟,设MPQUIC预测的单向延迟为OWD'A和OWD'B。
在本轮传输中,如果预测的OWD'A与真实的OWDA不同,即预测的任务分割点与实际的任务分割点产生差距时,就会导致一些不良的结果。为此,本发明设计了基于反馈的T点调整算法,使T点的调整更加准确、快速。
步骤403:当预测的任务分割点T'比理想的任务分割点T小时。此时Path A未能充分的利用。如图4(c),在接收方,会发现Path A在tc之前就停止了工作(t2),而Path B在本轮传输中有任务在传输,说明Path A未充分利用。该情况下,用户观看视频不会感受到卡顿。
Path A少工作的时间为t2到tc,期间少传输的数据包为SEQT-SEQT',即t2到tc的虚线部分,其中SEQT'=T'。Path B多工作的时间为t1到t3,期间多传输的数据包为SEQT-SEQT',即t1到t3的加粗实线部分。此种情况下,接收方将通知发送方Path A少工作的时间,这里设为D。根据上述,D=tc-t2。在下一轮发送中Path A将多发送D×VA的数据包。设修正后的PathA的数据包任务量为SEQ'T,有:
SEQ'T=(tc-OWD'A)×VA+D×VA (3a)
步骤404:当预测的任务分割点T”比理想的任务分割点T大时。此时MCMS给Path A分配的任务量过多,而Path B未能充分的利用。如图4(d),在接收方,会发现Path A在tc之后仍未停止工作,直到t6。而tc时,由Path A和Path B到达的数据包并不能组合成完整的数据块。消耗完当前数据块后,由于下一个数据块并未组装完成,用户观看视频时将会产生卡顿。
Path A多工作的时间为tc到t6,期间多传输的数据包为SEQT”-SEQT,既到tc到t6的加粗实线部分,其中SEQT”=T”。Path B少工作的时间为t4到t5,期间少传输的数据包为SEQT”-SEQT,即t4到t5的虚线部分。此种情况下,接收方将通知发送方Path A多工作的时间,这里设为D。根据上述,D=t6-tc。在下一轮发送中Path A将少发送D×VA的数据包。则修正后的Path A的数据包任务量为SEQ"T,有:
SEQ"T=(tc-OWD'A)×VA-D×VA (3b)
至此,可得出SEQ动态调整算法,每次调整将在下一轮传输生效。
但是,步骤404中的视频播放卡顿情况,应该是MCMS极力避免的。引入了“冗余发送”的概念后,本发明可以用少量的冗余数据传输来避免本轮传输所造成的播放卡顿。
引入“冗余发送”的目的是减少因本轮传输方式不当而造成的数据块缓存卡顿,提高用户体验。但冗余的量要小心控制,冗余的量太少导致播放卡顿,太多又会引起资费较高。冗余的数据将被放在Path B(蜂窝网络),来弥补对Path A(WiFi)任务量预测错误时,对数据块缓冲造成的影响。借助于MCMS采用对向传输的天然优势,Path B的发送起点并不会因为引入冗余发送而需要调整。
步骤501,当预测的OWD'A偏小时,会导致调度器误以为PathA比实际更强的发送能力,因此会给PathA更多的任务。然而PathA并没有这么强的发送能力,所以会造成PathA的部分数据包在限定时间tc之后到达,造成传输卡顿。
但实际Path A的单向延迟并不是预测值OWD'A,预测的单向延迟和实际的单向延迟之间的差距为δ,即OWDA=OWD'A+δ,有
OWD′A=OWDA-δ (5b)
将(5b)代入(5a),有
即
公式(5c)与公式(2)相减得:其中VA×δ就是步骤404中,Path A在本轮任务中,超过其传输能力的数据包,即图4(d)中的SEQT”-SEQT。因为这一部分数据包在tc之后才会到达接收方,因此会造成数据块缓存卡顿。所以Path B应“冗余发送”这一部分数据包,并根据实际情况调整δ的大小,因此δ也称为自适应冗余发送参数。当接收方可以从Path B获得这些数据包时,数据块缓存就可以在tc时间内完成。
根据本发明的一个实施例,δ由下式确定:
N为上一轮传输中,统计Path A的单项延迟情况的次数,为每一次的统计值,为N次统计值的平均值。δ由Path A上一轮传输中链路的网络波动性决定。当Path A的网络波动性比较小,传输稳定时,δ的数值较小,Path B冗余发送的量会较小;而当Path A的网络波动性比较大,传输不稳定时,δ的数值较大,Path B冗余发送的量会较大。这与我们的直观感受是相同的,当WiFi网络波动时,蜂窝网络会承担更多的传输任务,保障数据块按时缓存完成;当WiFi网络稳定时,蜂窝网络会承担较少的传输任务,降低资费。R点到T”点为“冗余发送”部分。
步骤502:而对于步骤403中的情况,数据块缓存可以在tc时间内完成。但调度器无法预测本轮传输时预测的T点是偏大还是偏小。为了保证数据块的按时缓存完成,不论在何种情况下,MCMS都将会根据自适应冗余发送参数δ,在Path B上增加“冗余发送”。R点到T'点为“冗余发送”部分。
步骤501和步骤502中,Path B冗余发送的任务量为:
下述步骤10-50示出了本发明的发送量在两条路径上的分配的流程:
10从应用层接收本轮要发送的数据块和传输时长tc,将数据块分为SEQsum个数据包;
20预测WIFI路径的传输能力对应的发送量为
30对根据上一轮WIFI路径传输时间,对本轮传输分配的发送量进行调整,如果上一轮WIFI路径传输时间小于tc,则增加本轮WIFI路径发送量,如果上一轮WIFI路径传输时间大于tc,则减少本轮WIFI路径发送量,WIFI路径调整后的发送量为
40向蜂窝网络路径分配的发送量为剩余的发送量和冗余发送量:
SEQsum-[(tc-OWD'A)×VA±D×VA]+VA×δ
50在完成本轮传输后,记录下WIFI路径完成传输的时间与tc的差D。
图6示出了本发明的MCMS的系统结构图,该系统包括发送方和接收方,发送方的输入为来自应用层的数据块,由数据包分割模块分割为数据包后进入发送区模块发送给接收方。发送区的发送由以下三个模块控制:任务修改模块、冗余发送模块、和链路参数计算与预测模块。接收方的接收区接收发送方发送的数据块,数据包合并模块将接收的数据包合并为数据块,再交给接收方的应用层,由链路参数计量与反馈模块对数据块接收过程中的参数进行测量与统计,并反馈给发送方。具体如下:
步骤601:应用层产生待传输的数据块,交由MPQUIC。
步骤602:MPQUIC对数据块进行分割,分割为数据包,以供在网络中传输。
步骤603:“任务修正模块”负责根据上一轮传输的反馈结果,调整本轮传输中,两条子路径的任务分配量。由公式(4)计算得出。
步骤604:“冗余发送模块”根据链路参数的历史统计情况,计算本轮中Path B“冗余发送”的任务量。由公式(7)得出。
步骤605:根据“链路参数计算与预测模块”、“任务修正模块”和“冗余发送模块”得出两条子路径本轮的任务发送量,如下:
可计算出本轮传输所用的流量费用为:
步骤606:接收方分别从Path A和Path B接收到数据包,并进行合并。
步骤607:合并时,如果发生以下情况将进行记录:
(1)检测到Path A在tc之前完成传输,说明WiFi链路利用不充分,此时“链路参数计量与反馈模块”记录Path A提前完成的时间D。
(2)检测到在tc之后,Path A仍有本轮的数据到达,说明WiFi分配的任务量过多,此时“链路参数计量与反馈模块”记录Path A在tc之后继续进行本轮传输的时间D。
步骤608:“链路参数计量与反馈模块”还将根据数据包的时间戳,记录当前两条链路的实际OWD。实际OWD与任务修正参数D将保存在向数据发送方传输的ACK数据包中,进行反馈。
步骤609:数据包合并好后,交付上层应用。本轮传输完成,立刻开始下一轮传输。
综上所述,本发明将流量资费这一参数引入到MPQUIC的数据包调度器中,根据MPQUIC的各条子路径的最新状态参数与临近的历史信息,对数据包调度这一过程进行优化,提出了针对有限时间内数据块传输这一场景下的基于链路统计信息动态调节任务分配与根据网络波动引入适量冗余的全新的调度器算法。应用本发明中的调度器,可以使每次数据块的传输既能按时到达,又能尽量降低流量资费,从而减少用户使用数据块时感受到的卡顿,提升用户体验。
为使本领域任何普通技术人员能够实现或者使用本公开内容,上面围绕本公开内容进行了描述。对于本领域普通技术人员来说,对本公开内容进行各种修改是显而易见的,并且,本文定义的通用原理也可以在不脱离本公开内容的精神或保护范围的基础上适用于其它变型。此外,除非另外说明,否则任何方面和/或实施例的所有部分或一部分可以与任何其它方面和/或实施例的所有部分或一部分一起使用。因此,本公开内容并不限于本文所描述的例子和设计方案,而是与本文公开的原理和新颖性特征的最广范围相一致。
Claims (10)
1.一种MPQUIC系统调度器调度发送量的方法,所述MPQUIC系统通过Path A和Path B两条路径发送数据,Path A的资费低于Path B,所述方法包括:
步骤100:从应用层接收本轮要发送的数据块和传输时长tc,将数据块分为SEQsum个数据包;
步骤200:预测Path A路径的传输能力,基于该传输能力的发送量和根据上一轮Path A路径传输时间,对本轮传输分配的发送量进行调整,如果上一轮Path A路径传输时间小于tc,则增加本轮Path A路径发送量,如果上一轮Path A路径传输时间大于tc,则减少本轮Path A路径发送量,将调整后的发送量分配给Path A;
步骤300:向Path B路径分配的发送量为剩余的发送量;
步骤400:在完成本轮传输后,记录下WIFI路径完成传输的时间与tc的差D。
2.根据权利要求1所述的方法,步骤300还包括向Path B路径分配冗余发送量。
3.根据权利要求1所述的方法,Path A为WIFI路径,Path B为蜂窝网络路径。
6.根据权利要求1所述的方法,其中
步骤300中Path B分配的剩余的发送量为
SEQsum-[(tc-OWD'A)×VA±D×VA]
其中,OWD'A为预测Path A的单向传输延迟,VA为数据包发送速率。
8.根据权利要求1所述的方法,其中,调度器将Path A的起始发送指针放在数据块首部,按照数据包编号升序的顺序发送;将Path B的发送指针放在数据块尾部,按照数据包编号降序的顺序进行发送。
9.一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现如权利要求1-8任意一项所述的方法。
10.一种计算系统,包括
存储装置、以及一个或者多个处理器;
其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现如权利要求1-8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011523177.1A CN112672190B (zh) | 2020-12-22 | 2020-12-22 | 一种最小资费mpquic数据包调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011523177.1A CN112672190B (zh) | 2020-12-22 | 2020-12-22 | 一种最小资费mpquic数据包调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112672190A CN112672190A (zh) | 2021-04-16 |
CN112672190B true CN112672190B (zh) | 2023-04-25 |
Family
ID=75407356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011523177.1A Active CN112672190B (zh) | 2020-12-22 | 2020-12-22 | 一种最小资费mpquic数据包调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112672190B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783942B (zh) * | 2021-08-24 | 2023-01-31 | 中国科学院计算技术研究所 | 基于优先分级队列的mpquic数据包快速传输方法和系统 |
CN114390043A (zh) * | 2021-12-29 | 2022-04-22 | 华南理工大学 | 基于企业级云存储系统实现多路径quic传输优化的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1263399A (zh) * | 1999-02-03 | 2000-08-16 | 阿尔卡塔尔公司 | 连接到因特网的方法,适配装置,网络节点和交换中心 |
CN103840917B (zh) * | 2014-03-28 | 2017-04-26 | 北京邮电大学 | 一种基于网络编码的多路并行传输方案 |
US20190312815A1 (en) * | 2014-09-08 | 2019-10-10 | Liveu Ltd. | Device, system, and method of data transport with selective utilization of a single link or multiple links |
CN111211996A (zh) * | 2019-12-27 | 2020-05-29 | 中国科学院计算技术研究所 | 一种流调度方法 |
US20200336258A1 (en) * | 2018-03-30 | 2020-10-22 | Intel Corporation | Multi-access management services packet recovery mechanisms |
-
2020
- 2020-12-22 CN CN202011523177.1A patent/CN112672190B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1263399A (zh) * | 1999-02-03 | 2000-08-16 | 阿尔卡塔尔公司 | 连接到因特网的方法,适配装置,网络节点和交换中心 |
CN103840917B (zh) * | 2014-03-28 | 2017-04-26 | 北京邮电大学 | 一种基于网络编码的多路并行传输方案 |
US20190312815A1 (en) * | 2014-09-08 | 2019-10-10 | Liveu Ltd. | Device, system, and method of data transport with selective utilization of a single link or multiple links |
US20200336258A1 (en) * | 2018-03-30 | 2020-10-22 | Intel Corporation | Multi-access management services packet recovery mechanisms |
CN111211996A (zh) * | 2019-12-27 | 2020-05-29 | 中国科学院计算技术研究所 | 一种流调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112672190A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7142508B2 (en) | System and method for controlling data transfer rates on a network | |
JP6178523B2 (ja) | 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ | |
US8346959B2 (en) | Client-controlled adaptive streaming | |
Bui et al. | Greenbag: Energy-efficient bandwidth aggregation for real-time streaming in heterogeneous mobile wireless networks | |
US9813933B2 (en) | Multi-stream service concurrent transmission method, subsystem, system and multi-interface terminal | |
Evensen et al. | Improving the performance of quality-adaptive video streaming over multiple heterogeneous access networks | |
CN112672190B (zh) | 一种最小资费mpquic数据包调度方法和系统 | |
CN112954385B (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
US20160057064A1 (en) | Deadline driven content delivery | |
CN106664255A (zh) | 数据流控制方法 | |
KR20040068880A (ko) | 스트리밍 데이터에 대한 리액티브 대역폭 제어 | |
KR20040041170A (ko) | 혼잡 제어를 위한 전송률을 계산하기 위해 수신 버퍼 크기를 사용하는 데이터 통신 방법 및 시스템 | |
US8356109B2 (en) | Network streaming of a video stream over multiple communication channels | |
KR20060115216A (ko) | 멀티미디어 스트리밍 송신 장치 및 방법 | |
US20060203728A1 (en) | Method and system for transmission control protocol (TCP) traffic smoothing | |
Zhang et al. | Congestion control and packet scheduling for multipath real time video streaming | |
CN111327962B (zh) | 播放控制方法、装置、设备及存储介质 | |
Evensen et al. | Using bandwidth aggregation to improve the performance of quality-adaptive streaming | |
CN100514955C (zh) | 动态控制实时多媒体数据生成速率的方法和装置 | |
CN113316263A (zh) | 数据传输方法、装置、设备和存储介质 | |
Kim et al. | Multipath-based HTTP adaptive streaming scheme for the 5G network | |
KR101465659B1 (ko) | 주기적 멀티캐스트를 활용한 사용자 도움형 데이터 전송 방법 및 장치 | |
KR101837637B1 (ko) | 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치 | |
KR20210042051A (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
CN107302504B (zh) | 一种基于虚拟发送队列的多路传输调度方法及系统 |
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 |