一种通信设备转让专利

申请号 : CN202011029093.2

文献号 : CN112243253B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许辰人倪蕴哲钱风

申请人 : 北京大学

摘要 :

本发明涉及一种通信设备,至少包括数据处理模块,所述数据处理模块配置为基于每个用户端/服务器连接的数据流分配的第二优先级的高低顺序进行传输/调度,在所述用户端/服务器的连接出现新数据流的情况下,为所述新数据流分配最高的第二优先级,并基于数据流存在的时间动态增加数据流的第二优先级。

权利要求 :

1.一种通信设备,至少包括数据处理模块(203),其特征在于,所述数据处理模块(203)配置为基于每个用户端(100)/服务器(400)连接的数据流分配的第二优先级的高低顺序进行传输/调度,其中,所述数据处理模块(203)基于目标数据的特定类型而将经由通信接收模块(201)接收的用户数据分流至按既定方式处理数据的第一处理路径(210)和与所述第一处理路径(210)彼此独立且绕过内核协议栈的第二处理路径(220),其中,在所述用户端(100)/服务器(400)的连接出现新数据流的情况下,为所述新数据流分配最高的第二优先级,并基于数据流存在的时间动态增加数据流的第二优先级;

所述数据处理模块(203)通过多阶段连续调度的方式驱动所述第二处理路径(220)内的用户数据在至少一个硬件接口模块(202)接入的至少两个彼此独立的通信路径(500)传输,从而实现多个所述用户端(100)与多个所述服务器(400)之间的多路径传输,其中,所述多阶段连续调度的方式为:所述数据处理模块按照依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的数据流映射至至少一个所述硬件接口模块的至少一个所述接口上的第三阶段连续协调调度的方式驱动所述第二处理路径内的用户数据。

2.一种通信设备,至少包括数据处理模块(203),其特征在于,所述数据处理模块(203)配置为基于每个用户端(100)/服务器(400)连接的数据流分配的第二优先级的高低顺序进行传输/调度,其中,所述数据处理模块(203)基于目标数据的特定类型而将经由通信接收模块(201)接收的用户数据分流至按既定方式处理数据的第一处理路径(210)和与所述第一处理路径(210)彼此独立且绕过内核协议栈的第二处理路径(220),其中,在所述用户端(100)/服务器(400)的连接出现新数据流的情况下,为所述新数据流分配最高的第二优先级,并在所述新数据流的传输时间超过第一时间阈值或所述新数据流的传输数据量超过第一数据阈值的情况下,将所述新数据流的第二优先级降至最低;

所述数据处理模块(203)通过多阶段连续调度的方式驱动所述第二处理路径(220)内的用户数据在至少一个硬件接口模块(202)接入的至少两个彼此独立的通信路径(500)传输,从而实现多个所述用户端(100)与多个所述服务器(400)之间的多路径传输,其中,所述多阶段连续调度的方式为:所述数据处理模块按照依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的数据流映射至至少一个所述硬件接口模块的至少一个所述接口上的第三阶段连续协调调度的方式驱动所述第二处理路径内的用户数据。

3.根据权利要求1或2所述的通信设备,其特征在于,在所述新数据流的第二优先级降至最低或者存在长时间未完成传输的数据流的情况下,所述数据处理模块(203)配置为基于完全公平调度的方式增加第二优先级降至最低的数据流或者是长时间未完成传输的数据流的第二优先级。

4.一种通信设备,至少包括数据处理模块(203),其特征在于,所述数据处理模块(203)配置为按照以下三个阶段调度的方式传输至少一个用户端(100)/服务器(400)发送的数据:第一阶段用于确定所述用户端(100)/服务器(400)的连接顺序;

第二阶段用于实现插队传输;

第三阶段用于将所述第一阶段和第二阶段确定的连接顺序的数据流映射至传输路径的接口上;

所述数据处理模块(203)基于目标数据的特定类型而将经由通信接收模块(201)接收的用户数据分流至按既定方式处理数据的第一处理路径(210)和与所述第一处理路径(210)彼此独立且绕过内核协议栈的第二处理路径(220),其中,所述数据处理模块(203)通过多阶段连续调度的方式驱动所述第二处理路径(220)内的用户数据在至少一个硬件接口模块(202)接入的至少两个彼此独立的通信路径(500)传输,从而实现多个所述用户端(100)与多个所述服务器(400)之间的多路径传输,其中,所述多阶段连续调度的方式为:所述数据处理模块按照依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的数据流映射至至少一个所述硬件接口模块的至少一个所述接口上的第三阶段连续协调调度的方式驱动所述第二处理路径内的用户数据。

5.根据权利要求4所述的通信设备,其特征在于,所述数据处理模块(203)配置为按照如下方式实现所述第一阶段调度:

基于用户指定的分级方式将对应所述用户端(100)/服务器(400)的数据流划分为至少两个具有不同第一优先级的第一分组,并按照第一优先级的高低顺序调度至少两个所述第一分组内关于所述用户端(100)/服务器(400)的连接。

6.根据权利要求5所述的通信设备,其特征在于,在所述第一阶段内的一个用户端(100)打开了多个连接以连接同一服务器(400)内资源的情况下,所述数据处理模块(203)配置为将连接相同服务器(400)内资源的多个关于所述用户端(100)的连接划分为第二分组,其中,在所述第二分组内的至少一个关于所述用户端(100)的连接的数据流终止会话的情况下,所述第二分组获取的网络资源在所述第二分组内重新分配于未终止会话的其他数据流。

7.根据权利要求6所述的通信设备,其特征在于,所述数据处理模块(203)配置为按照如下方式实现所述第三阶段的调度:基于所述第一阶段和第二阶段确定的关于所述用户端(100)的连接顺序将对应所述用户端(100)的数据流按顺序映射至至少一个接口上,其中,基于第二数据阈值将每个所述用户端(100)/服务器(400)的数据流分为位于所述第二数据阈值前的第一数据流以及位于所述第二数据阈值后的第二数据流,其中,所述第一数据流绑定至多个所述接口的其中一个,并且所述第二数据流映射至其余多个所述接口上。

8.根据权利要求7所述的通信设备,其特征在于,所述数据处理模块(203)配置为按照如下方式将所述第二数据流映射至其余多个所述接口上:统一基于其余多个所述接口的多通信路径传输的第一调度行为以及跨通信路径重传的第二调度行为,从而为所述第二数据流内的每个数据包分配最佳接口以提供最佳服务质量。

9.根据权利要求8所述的通信设备,其特征在于,所述数据处理模块(203)配置为按照如下方式实现所述第二阶段的调度:基于所述第三阶段中重传数据包的第二调度行为的触发而优先传输所述重传数据包,其中,

所述重传数据包映射至在原传输接口之外的可用接口上,以实现跨通信路径重传。

10.一种通信设备,至少包括数据处理模块(203),其特征在于,所述数据处理模块(203)配置为传输/调度至少一个用户端 (100)/服务器(400)连接的数据流,其中,所述数据处理模块(203)基于目标数据的特定类型而将经由通信接收模块(201)接收的用户数据分流至按既定方式处理数据的第一处理路径(210)和与所述第一处理路径(210)彼此独立且绕过内核协议栈的第二处理路径(220),其中,在一个用户端(100)打开了多个连接以连接同一服务器(400)内资源的情况下,所述数据处理模块(203)配置为将连接相同服务器(400)内资源的多个关于所述用户端(100)的连接划分为第二分组,其中,在所述第二分组内的至少一个关于所述用户端(100)的连接的数据流终止会话的情况下,所述第二分组获取的网络资源在所述第二分组内重新分配于未终止会话的其他数据流;

所述数据处理模块(203)通过多阶段连续调度的方式驱动所述第二处理路径(220)内的用户数据在至少一个硬件接口模块(202)接入的至少两个彼此独立的通信路径(500)传输,从而实现多个所述用户端(100)与多个所述服务器(400)之间的多路径传输,其中,所述多阶段连续调度的方式为:所述数据处理模块按照依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的数据流映射至至少一个所述硬件接口模块的至少一个所述接口上的第三阶段连续协调调度的方式驱动所述第二处理路径内的用户数据。

说明书 :

一种通信设备

[0001] 本发明是申请号为201911015828.3,申请日为2019年10月24日,申请类型为发明,申请名称为一种融合多接入技术的移动通信设备的分案申请。

技术领域

[0002] 本发明涉及移动通信技术领域,尤其涉及一种融合多接入技术的移动通信设备。

背景技术

[0003] 在无线网络技术快速发展、多样化网络设备广泛部署以及多网络接口移动终端日益普及的背景下,基于多个无线接入技术(Radio Access Technology,RAT)的融合实现并行数据传输将会是未来通信领域的研究热点之一。一方面层出不穷的无线通信系统为用户提供了异构网络(Heterogeneous Network)环境,异构网络包括以Bluetooth和Zigbee为代表的无线个域网(Wireless Personal Area Network,WPAN)、以Wi‑Fi和WiGig为代表的无线局域网(Wireless Local Area Network,WLAN)、以WiMAX为代表的无线城域网(Wireless Metropolitan Area Network,WMAN)、以3G、4G以及5G为代表的移动通信网络、卫星网络、Ad Hoc以及无线传感网络等。另一方面,现有的通信终端通常具有多种网络接口,比如笔记本电脑同时配置有有线局域网和无线Wi‑Fi网络适配器,智能手机既可以接入蜂窝网络(UMTS、3G、4G、5G等),又可以接入Wi‑Fi网络。而且,网络运营商通常会在接入链路和回程链路配置备用链路和设备,在网络失效时发挥作用。由此以来,两个通信端点之间就有可能存在多条路径。自然而然,出现了同时使用多条路径的想法,以此提升端到端连接的稳健性和传输性能。这样的多路径连接可以均衡负载、动态切换,自动将业务从最拥塞、最易中断的路径上转到较好的路径上。
[0004] 目前,基于蜂窝系统内的多种无线接入技术、多层次的覆盖技术、多链路之间的紧密融合和协同工作,可以给用户提供更多、更优的服务。其中,异构网络融合主要研究方向包括:a)通过多接入技术互操作实现多种制式网络之间的合理选择和业务切换;b)通过多种连接方式时间灵活可靠的网络,降低时间以及系统开销,提高能耗效率;c)多种制式、多层次和多连接的复杂网络实现统一的自组织、自优化,降低资本输出和运营成本。但当前使用的传输控制协议(Transmission Control Protocol,TCP)只能支持单路径传输数据,为了改变这种不利局面,2011年互联网工程任务组(Internet Engineering Task Force,IETF)发布了一种同时兼容TCP协议以及当前应用程序的多路径传输协议(Multi‑Path Transmission Control Protocol,MPTCP)使得移动终端设备能够利用异构无线网络技术进行多路径数据传输,从而实现网络吞吐量最大化和减少传输延时的目标。
[0005] 例如,公开号为WO2016144224A1的国际专利文献公开了一种使用多路径传输控制协议MPTCP代理的用于多路径业务聚合的方法和布置。在用独特因特网协议IP地址来配置的多路径传输控制协议MPTCP代理中执行具有MPTCP能力的无线装置与服务器之间中继数据的方法。包括:在MPTCP代理与无线装置之间建立MPTCP会话,MPTCP会话包括使用默认业务流元组被映射在对于无线装置的第一网络路径上的第一MPTCP子流;并且建立与服务器的TCP会话。该方法进一步包括基于使用包括配置用于MPTCP代理的独特IP地质的过滤业务流元组进行的而另外MPTCP子流到对于无线装置的第二网络路径的映射,在MPTCP代理与无线装置之间的MPTCP会话中发起另外MPTCP子流。在无线装置与服务器之间中继数据,其中MPTCP代理与无线装置之间的数据在包括第一网络路径上第一MPTCP子流的和第二网络路径上另外MPTCP子流的MPTCP会话中被交换,并且其中MPTCP代理与服务器之间的数据在TCP会话中被交换。该专利解决的技术问题是:MPTCP依赖于内核改造,需要客户端和服务器同时支持MPTCP,因此网络上的每个主机都支持MPTCP的可能性非常低。为了在两个通信主机都不支持MPTCP的情况下受益于MPTCP的多路径传输,该专利采用在PGW(Packet Data Network Gateway)处部署MPTCP代理,将来自服务器的常规TCP协议转换成传输向用户设备(User Equipment,UE)的MPTCP协议。但是,该专利公开的方法和布置并没有解决如何在两个通信主机都不支持MPTCP的情况下受益于MPTCP的问题。具体而言,该专利公开的方法是在具有MPTCP能力的无线装置与服务器之间中继数据,其中MPTCP代理设置在具有MPTCP能力的无线装置与服务器之间,在具有MPTCP能力的无线装置与MPTCP代理之间实现多路径传输,MPTCP代理与服务器是正常的单路径TCP连接。这就要求两个通信的通信主机,其中一方必须支持MPTCP协议,而在另一个不支持MPTCP的通信主机侧设置MPTCP代理,实质上并没有解决在两个通信主机都不支持MPTCP协议的情况下实现多路径传输的问题。
[0006] 例如,公开号为CN108075987A的中国专利文献公开了一种多路径数据传输方法及设备,其中,多路径代理客户端和多路径代理网关之间通过第一网际互联协议IP地址建立至少两个多路径数据子流,并进行多路径数据子流数据传输。所述多路径代理网关与所述多路径代理客户端待访问的应用服务器之间,依据多路径代理客户端和多路径代理网关之间建立至少两个多路径数据子流的第一IP地址,建立TCP链接并进行TCP数据传输。通过多路径代理客户端和多路径代理网关的代理,实现基于多路径代理客户端的IP地址信息进行MPTCP多路径数据传输。该专利采用多路径代理客户端和多路径代理网关之间建立MPTCP多路径传输连接,其中多路径代理网关采用与服务器之间基于TCP进行数据传输。然而,这种代理网关或者代理客户端需要其内核支持MPTCP协议,软件编程难度大。而且尽管该专利解决了代理服务器的IP地址对于用户侧和网络侧均可见导致容易受到安全攻击以及网络侧并不能获取终端的IP地址导致不能实现对终端流量的统计与控制的问题,但是因为MPTCP存在于内核之中,故将网络健康状况数据发送至内核时需要大量的时钟开销,不仅会造成性能损失,而且依然会成为内核的潜在数据攻击节点和系统软件的安全漏洞。
[0007] 例如,公开号为CN107979833A的中国专利文献公开了一种基于异构网络互联互通的多态信息融合智能终端,包括调度系统和硬件设备;所述调度系统包括服务生成系统、信号管理系统和信号接入系统;所述硬件设备包括PDT通信模块读卡口、LTE通信模块读卡口、北斗系统通信芯片读卡口、自组网通信模块读卡口、短波卫星通信模块读卡口、音量调控按键、网络选择按键、屏幕启动按键、触摸控制屏幕和内置天线。该专利公开的通信设备是通过基于当前网络的环境通过调度系统的统一调度,自适应选择当前最优的可通信网络。但是该专利采用的调度方法,只是单纯的根据不同制式网络信号的强弱判断来实现优先级调度,没有考虑到当前网络的往返时延(Round‑trip Time,RTT)以及带宽(Band width,BW),然而事实上,在动态移动的状态下,信号强度与网络性能的关联性并不如预期的那样高,因此基于信号强度来将不同的数据流调度至不同的制式的网络是不可靠的。
[0008] 因此,除了需要解决多路径传输设备能够与传统的中间件兼容而大规模部署以及安全性等问题外,还需要考虑多路径传输产生的如何利用各种网络资源的优势,为用户提供可靠、高效便捷的网络服务,例如需要考虑连接质量、体验质量(Quality  of Experience,QoE)以及服务质量(Quality of Service,QoS),实现业务在不同接入技术网络间动态分流和汇聚。通过多路径并行传输能够提高吞吐量,但是在多路径传输过程中,不同传输路径性能的差异(RTT和丢包率)会导致接收端发生数据包乱序,造成接收缓存阻塞,降低整体传输的吞吐量。此外,由于传输丢包的不可避免性,丢失数据选择哪条路径进行重传,也会直接影响接收端缓存拥塞的程度。
[0009] 现有技术,例如文献[1]周冬梅.泛在网络多路径并行传输机制研究[D].西安电子科技大学,2014.公开了一种基于接收端缓存溢出概率保障的多路径传输分组调度方案,能够有效地减少接收端数据包乱序,降低接收端缓存的占用,提供传输吞吐量,其解决了现有分组分配策略仅考虑了传输路径的平均时延,忽略了时延的随机时变特性,面对动态变化的路径时延,分组到达接收端会乱序,容易出现缓存溢出现象。
[0010] 例如,公开号为CN107682258A的中国专利文献公开了一种基于虚拟化的多路径网络传输方法及装置,所述方法包括:控制节点实时获取数据传输网络的网络状态,并获得数据传输网络的拓扑结构;当第一目标数据通过数据传输网络进行传输时,根据数据传输网络的拓扑结构和网络状态,通过预设的路径选择算法,确定出第一目标数据的路径信息;控制节点向源节点发送路径信息,以使源节点根据路径信息,将第一目标数据拆分为多份第二目标数据后,通过多条路径向目标节点发送多份第二目标数据,目的节点接收到该多份第二目标数据后,再将多份第二目标数据恢复为第一目标数据,实现了第一目标数据的多路径传输,不需要采用复杂的跨层协作机制,降低了控制及调度过程的复杂度。
[0011] 例如,文献[2]王燃,谢东亮.基于估计交付时间的多路径调度算法优化[J].2016.公开了一种基于估计交付时间的多路径调度算法优化,在结合网络编码与多路径传输协议的基础上,通过确认字符(Acknowledgement,ACK)路径的RTT和丢包率进行指数平滑计算,并以此为基础较准确地预估出个路径的编码达到时间,使得编码块能按序解码。
[0012] 但是以上公开的多路径调度方法和装置,均没有考虑到移动通信设备应该优化聚合多个用户的体验质量QoE而不是针对任何单个用户,而且目前没有实现这一目标的实际解决方案,尤其是从应用程序无关的角度在兼容现有传统中间件的多路径传输框架下实现聚合多个用户的体验质量QoE的多路径调度。
[0013] 此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。

发明内容

[0014] 针对现有技术至不足,本发明提供一种融合多接入技术的移动通信设备,用于部署在多个用户端与多个服务器通信的路由路径上以融合多个无线接入网络,所述移动通信设备至少包括:至少一个通信接收模块,用于接收多个所述用户端的用户数据。至少一个硬件接口模块,用于接入提供包括至少两个彼此独立的通信路径的网络,从而通过至少两个所述通信路径分发所述用户数据。至少一个数据处理模块,用于将接收的用户数据映射至至少两个彼此独立的通信路径各自的接口上。所述数据处理模块基于目标数据的特定类型而将经由所述通信接收模块接收的用户数据分流至按既定方式处理数据的第一处理路径和与所述第一处理路径彼此独立且绕过内核协议栈的第二处理路径。通过该设置方式,能够避免内核修改且与大规模部署的现有网络中间件兼容,从而在用户空间层面构建了多路径传输框架。同时使得数据处理模块可以在单独的网路命名空间工作,以避免与其他程序使用的内核配置冲突。所述处理模块通过多阶段连续调度的方式驱动所述第二处理路径内的用户数据在至少一个所述硬件接口模块接入的至少两个彼此独立的通信路径传输,从而实现多个所述用户端与多个所述服务器之间的多路径传输。通过该设置方式,不仅将分组调度的逻辑提升到应用层,还在多连接、多路径和应用程序无关的设置同时考虑路径质量、QoE和公平性。
[0015] 根据一种优选实施方式,所述多阶段连续调度的方式为:所述数据处理模块按照依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的数据流映射至至少一个所述硬件接口模块的至少一个所述接口上的第三阶段连续协调调度的方式驱动所述第二处理路径内的用户数据。通过该设置方式,通过连续的至少三个阶段的调度能够以较小的系统开销实现在链路质量、公平性的约束条件下优化聚合多个用户的体验质量。
[0016] 根据一种优选实施方式,所述数据处理模块配置为按照如下方式实现所述第一阶段的调度:基于所述第二处理路径中的用户数据划分为始终优先调度的用于内部控制消息传递的控制流以及对应每个所述用户端的用户流;基于用户指定的分级方式将多个所述用户流划分为至少两个不同第一优先级的第一分组,并按照第一优先级的高低顺序调度至少两个所述第一分组关于所述用户端的连接。第一分组内的每个关于所述用户端的连接的第二优先级采用完全公平调度的方式分配。根据所述第二优先级的高低顺序调度所述第一分组内每个关于所述用户端的连接。
[0017] 根据一种优选实施方式,在所述第一阶段调度内第一分组内多个关于所述用户端的连接出现新用户流的情况下,所述数据处理模块为第一分组内所有所述用户端的连接出现的新用户流分配最高的第二优先级,并且以循环的方式实现调度。所述循环的方式实现调度是指在所述新用户流的传输时间超过第一时间阈值,或所述新用户流的传输数据量超过第一数据阈值的情况下,所述新用户流的第二优先级降至最低。根据所述完全公平调度的方式动态增加该用户流的第二优先级直至达到最高第二优先级。
[0018] 根据一种优选实施方式,在所述第一阶段内的一个所述用户端打开了多个连接以连接同一所述服务器内资源的情况下,所述数据处理模块将连接相同所述服务器内资源的多个关于所述用户端的连接划分为第二分组。在所述第二分组内的至少一个关于所述用户端的连接的用户流终止会话的情况下,所述第二分组获取的网络资源在所述第二分组内重新分配于未终止会话的其他用户流,从而减少未终止会话的其他的用户流的传输时间以平衡连接数据流差异较大的不同服务器的开销。
[0019] 根据一种优选实施方式,所述数据处理模块配置为按照如下方式实现所述第三阶段的调度:基于所述第一阶段和第二阶段确定多个所述用户端的连接顺序将对应所述用户端的用户流按顺序映射至至少一个所述硬件接口模块提供的至少一个所述接口上。所述数据处理模块基于第二数据阈值将每个所述用户端的用户流分为位于所述第二数据阈值前的第一数据流以及位于所述第二数据阈值后的第二数据流。所述第一数据流绑定至多个所述接口的其中一个,并且所述第二数据流映射至其余多个所述接口上。
[0020] 根据一种优选实施方式,所述数据处理模块配置为按照如下方式将所述第二数据流映射至其余多个所述接口上:统一基于其余多个所述接口的多通信路径传输的第一调度行为以及跨通信路径重传的第二调度行为,从而为所述第二数据流内的每个数据包分配最佳接口以提供最佳服务质量。
[0021] 根据一种优选实施方式,所述数据处理模块配置为按照如下方式实现所述第二阶段的调度:基于所述第三阶段中重传数据包的第二调度行为的触发而优先传输所述重传数据包,。所述重传数据包映射至在原传输接口之外的可用接口上,以实现跨通信路径重传。
[0022] 一种多路径通信方法,所述方法包括:在多个用户端与多个服务器通信的路由路径上分别部署与多个所述用户端通信且融合多个接入网络的第一多路径数据处理模块以及与所述服务器通信的第二多路径数据处理模块。所述第一多路径数据处理模块基于可编辑的特定数据类型而将接收的数据分流至按既定方式处理数据的第一处理路径和与所述第一处理路径彼此独立且绕过内核协议栈的第二处理路径。在用户空间将所述第二处理路径的数据映射至多个彼此独立的通信路径且以反向复用的方式与所述第二多路径数据处理模块通信,从而实现多个所述用户端与多个所述服务器之间的多路径传输。
[0023] 根据一种优选实施方式,所述第一多路径数据处理模块和/或第二多路径数据处理模块以依次在确定多个所述用户端的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将所述第一阶段和第二阶段确定连接顺序的用户流映射至至少一个通信路径上的第三阶段连续协调调度的方式驱动所述第二处理路径内的数据。

附图说明

[0024] 图1是本发明的移动通信设备的一个优选实施方式的模块示意图;和[0025] 图2是本发明的方法的一个优选实施方式的模块示意图。
[0026] 附图标记列表
[0027] 100:用户端                   200:第一多路径数据处理模块
[0028] 300:第二多路径数据处理模块   400:服务器
[0029] 500:通信路径                 201:通信接收模块
[0030] 202:硬件接口模块             203:数据处理模块
[0031] 210:第一处理路径             220:第二处理路径
[0032] 401:远程服务器               501:接口

具体实施方式

[0033] 下面结合附图1和附图2进行详细说明。
[0034] 首先,对本发明使用的部分术语进行定义:
[0035] 用户端:可以是各种形式的用户设备(User Equipment,UE),可以是具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,移动台(Mobile Station,MS),终端设备(Terminal Equipment)等等,也可以是用户设备上的应用程序,同时用户端也可以是相对于虚拟机而言的对实体计算机的称呼。用户端提供给虚拟机硬件环境,有时也称为寄主或宿主。
[0036] 代理服务器:可以是指网络代理,提供一种特殊的网络服务,允许一个网络终端通过这个服务与另一个网络终端进行非直接的连接。
[0037] 带宽聚合:多路径期望在多条可用路径上的并行传输可以成倍地增加网络可用带宽。若能使用这种方式实现有效的带宽聚合,多宿主设备将获得好的网络性能。
[0038] 流:只能以事先规定好的顺序被读取一次的数据的一个序列,具体而言是完整的一次TCP/IP链接,包含多个数据包。
[0039] 用户流:指关于用户的流。
[0040] 分组(Packet):对应于TCP/IP的网络层,指的是TCP/IP协议通信传输的数据单位,也可以称为数据包,通常在调度中称为分组,指的是调度策略转发数据的粒度。
[0041] 公平性:公平性要求正在进行多路径传输的流与同级别的流在瓶颈链路中享有相同的网络资源。如果端点通过多路径传输获得了更多资源,将可能引起网络拥塞崩溃的问题。
[0042] 资源池(Resource Pool,RP):RP大部分指带宽改变了公平的概念,使得多路径传输在真实网络中的实施成为了可能。RP原则不是独立地处理每个路径资源,而是将多个路径视为一个大型资源池,进而改变对多个路径资源的调度。
[0043] 路径饿死:路径解除拥塞之后不能继续正常传输数据。
[0044] 用户空间(User Space):用户程序的运行空间。
[0045] 内核协议栈(Kernel Space):操作系统内核的运行空间。
[0046] 上下文(Context):上下文简单说来就是一个环境参数。环境参数是关于网络性能以及调度用户流时的传输时间和字节等参数。
[0047] 网络命名空间:Linux内核提供了命名空间,命名空间将全局系统资源包装到一个抽象中,该抽象只会与命名空间中的进程绑定,从而提供资源隔离;网络命名空间为命名空间中的所有进程提供了全新的网络堆栈,包括网络接口、路由表等。
[0048] 实施例1
[0049] 本实施例公开了一种融合多接入技术的移动通信设备,用于部署在多个用户端100与多个服务器400通信的路由路径上以融合多个无线接入网络。
[0050] 优选的,多个无线接入网络是指包括无线广域网(Wireless Wide Area Network,WWAN)、无线城域网(Wireless Metropolitan Area Network,WMAN)、无线局域网(Wireless Local Area Network,WLAN)、无线个域网(Wireless Personal Area Network,WPAN)、移动自组织网络(Mobile Ad Hoc Network,MANET)、移动通信网络(例如3G、4G、5G等)、卫星网络、无线传感网络等的异构网络。优选地,移动通信网络包括不同运营商使用的不同移动通信技术的移动通信网络。不同的移动通信技术包括全球移动通信(Global System for Mobile Communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、码分多址(Code Division Multiple Access,CDMA)、时分‑同步码分多址(Time Division–Synchronous Code Division Multiple Access,TD‑SCDMA)、第三代移动通信技术(The 3rd‑Generation Mobile Communication,3G)长期演进(Long term Evolution,LTE)、符合第四代移动通信技术(The  4th‑Generation  Mobile Communication,4G)标准的LTE‑Advanced、具备第四代移动通信技术特征的系统架构演进项目(System Architecture Evolution,SAE)以及第五代移动通信技术(The 5th‑Generation Mobile Communication,5G)。
[0051] 优选地,融合是指在多个用户端100置于多种接入技术共存的异构网络场景下,构建一种完整多用户多路径传输框架,对融合GSM、WCDMA、LTE、Wi‑Fi等多种接入技术的异构网络进行全面统一的资源管理,为用户端100的接入网络提供多种选择性,使得用户端100能够从异构网络提供的多种网络中选择其中一个或几个接入网络,并且可以从一个网络切换至另一个网络,从而利用多种并存的接入技术,在多个路径上并行传输数据至服务器400,为用户端100提供聚合的带宽资源。优选地,现有的多路径传输方案,例如MPTCP可以将多个网络中的至少一个作为主要传输路径,将其他路径作为备用传输路径。为了保持数据传输的连续性,在用户端100移动和网络动态变化的情况下,进行主要路径和备用路径之间的切换,保持传输连续性。同时,也可以将用户端100的数据流分发到多条通信路径500上,从而提高通信路径的利用率,以达到负载均衡和最大化聚合带宽的目标,而且还可以通过多个端到端的连接来提高其可靠性。但是,现有多路径传输调度方案大多都是采用简单的轮询(Round Robin,RR)算法,即当发送端发送分组时,分组被依次分配给每条路径进行传输。轮询算法是一种最简单、最直接的调度管理算法,能够防止路径饿死,但是由于不同路径带宽、时延、丢包率等网络性能方面存在差异,轮询算法会导致接收端乱序分组的出现。
这些乱序分组还在接收端进行重排序,并且消耗接收端的缓存资源和处理器资源。然而,这些资源恰恰是移动用户端100最缺乏的。优选地,传统的单路径传输模式中,接收端的乱序一般是由于分组丢失和路径的变化造成的,通过简单丢弃乱序分组或者缓存乱序分组,并及时重传丢失分组来降低缓存占用和重排序的开销。显然多路径传输的场景并不适用这个方法,因为分组来自不同的路径,各个路径在带宽、时延等方面的差异造成乱序时,缺失的分组可能正在端到端的发送中,或者对它的确认还尚未到达。因此简单丢弃乱序分组或者立即重发,并降低拥塞窗口的大小,都会对性能产生不利影响。优选地,现有技术可以使用显示拥塞通知区分拥塞和丢包,并使用前向纠错编码恢复错误,同时使用分组动态匹配算法,为每一个分组选择合适的路径。优选地,事实上,现有技术的调度方案大多采用基于吞吐量和公平性的结合来实现分组调度,但没有考虑到保持和改善用户的体验质量QoE,尤其是没有考虑到在人流量较大的应用场景下,如何优化聚合多用户的体验质量QoE的问题。而且,现有的大多数多路径传输方法或设备均是集中于传输层实现到端到的多路径传输,依赖内核改造,需要用户端和服务器端同时支持,因此与现有网络中大规模部署的中间件不兼容。
[0052] 综上,本发明针对上述问题,提供的一种融合多接入技术的移动通信设备能够在用户空间建立完整的多用户多路径传输框架,并将分组调度逻辑提升到应用层,使得移动通信设备不需要修改内核或应用程序而能够与现有的网络中间件兼容,并且由本实施例提供的移动通信设备其系统设计是在用户空间层,因此具有高度扩展的能力,能够及集成新的分组调度策略,从而有利于部署和性能优化。
[0053] 根据一个优选实施方式,一种融合多接入技术的移动通信设备至少包括:至少一个通信接收模块201,用于接收多个用户端100的用户数据。至少一个硬件接口模块202,用于接入提供包括至少两个彼此独立的通信路径500的网络,从而通过至少两个通信路径500分发用户数据。至少一个数据处理模块203,用于将接收的用户数据映射至至少两个彼此独立的通信路径500各自的接口501上。优选地,通信接收模块201可以是网关、信号接收器、信号接收电路,能够接收各种格式的数据,并对接收到的数据进行解析。优选地,硬件接口模块202可以是对应不同运营商带有SIM卡接口的基带模块,也可以是Wi‑Fi模块、蓝牙模块、Zigbee模块等。优选地,数据处理模块203至少包括处理器和存储器。存储器用于存储指令。处理器被配置为通过执行存储器存储的指令。处理器可以是中央处理器(Central Processing Unit,CPU),通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application‑Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。优选地,数据处理模块203承载有操作系统,例如Linux系统。优选地,通过硬件接口模块202能够接入异构网络。异构网络内包括多个无线接入网络。不同的无线接入网络可能使用不同的通信路径进行传输。而且相同的无线接入技术可能使用不同的通信路径进行通信。例如,中国移动的TD‑LTE使用的频段为1880‑1890MHz、2320‑2370MHz以及2575‑12635MHz。中国联通的TD‑LTE使用的频段为2300‑2320MHz以及2555‑2575MHz。中国联通的FDD‑LTE使用的频段为:上行频段1755‑1765MHz,下行频段:1850‑1860MHz。中国电信的TD‑LTE使用的频段为2370‑2390MHz、2635‑2665MHz。中国电信的FDD‑LTE使用的频段为:上行频段1765‑1780MHz。
[0054] 优选地,数据处理模块203基于目标数据的特定类型而将经由通信接收模块201接收的用户数据分流至按既定方式处理数据的第一处理路径210和与第一处理路径210彼此独立且绕过内核协议栈的第二处理路径220。优选地,目标数据是指用户定义的数据。用户可根据需要编辑目标数据的特定类型。优选地,目标数据的特定类型是指目标数据的帧结构以及该数据的源地址是否是移动通信设备直接服务的用户端100。优选地,数据处理模块203基于目标数据的特定类型对通信接收模块201接收到的数据进行分类。属于目标数据的特定类型的数据分流至第一处理路径210。第一处理路径210按既定方式处理数据。既定方式是指除了多路径传输之外的处理方式,例如转发结算用的控制数据,或者是转发其他信息等。优选地,第一处理路径210可以将数据发送至用户空间或内核协议栈。优选地,第二处理路径220与第一处理路径210彼此独立。第二处理路径220以绕过内核的方式将符合目标数据的特定类型的数据直接传输至数据处理模块203上的操作系统的用户空间。绕过内核的方式是指数据通过原始套接字而不是标准套接字,原始套接字可以收发没有经过内核协议栈的数据包,从而第二处理路径210能够实现以不经过内核协议栈的方式直接进入用户空间。优选地,数据处理模块203通过多阶段连续调度的方式驱动第二处理路径220内的用户数据在至少一个硬件接口模块202提供的至少两个彼此独立的通信路径500传输,从而实现多个用户端100与多个服务器400之间的多路径传输。优选地,数据处理模块203采用多阶段连续调度的方式分配第二处理路径220内的用户数据。优选地,第二处理路径220内的数据分别分配至至少两个彼此独立的通信路径500的接口501上。通过该设置方式,本发明通过第二处理路径220使用原始套接字从而用户空间中处理用户端100或服务器400发送的数据流以实现内核绕过,使得在用户空间层面传输多个用户端100的数据,从而多路径传输的设计完全在用户空间,不需要对系统的内核进行改造,也不涉及对应用程序的修改。而且将多路径分组调度的逻辑提升到应用于应用程序的用户空间,从而能够从全局的角度结合网络的动态变化和应用规范来调度分组实现聚合QoE的优化。此外,多路径传输以及分组调度全部都是在用户空间实现,不仅有利于集成和驱动有关网络性能的上下文数据,并且可以高度扩展以集成新的分组调度策略,有利于部署和性能优化。
[0055] 优选地,数据处理模块203在单独的网络命名空间传输和调度第二处理路径220内的用户数据。通过该设置方式,能够避免与其他程序使用的内核配置冲突,并减轻潜在的安全问题。例如,在本实施例提供的在代理服务器上需要禁用反向路径过滤的操作,让用于将数据包转发到真实网卡的虚拟以太网设备接收本实施例提供的移动通信设备生成的任何源IP的数据包,由此产生的安全风险将与正常运行的程序隔离开来,并由数据处理模块203在自己的网络命名空间中管理。
[0056] 优选地,本实施例提供的移动通信设备其部署方式如图1所示。用户端100可以通过无线或有线的方式与通信接收模块201连接。例如,可以通过无线访问接入点(Wireless Access Point,AP)与本发明的移动通信设备的通信接收模块201连接。本实施例提供的移动通信设备通过至少一个硬件接口模块202接入不同接入技术的网络。例如,可以通过基站(例如BTS、NodeB、eNodeB等)接入不同的核心网,并由核心网接入短波通信网、GPS、卫星通信网、蜂窝移动网、PSTN、ISDN、Internet等。在服务器400侧,如果服务器400支持多路径传输,例如安装有支持多路径传输的应用程序等,则本实施例提供的移动通信设备可以直接与服务器400建立多路径数据链接。在服务器400不支持多路径传输的情况下,可以通过与服务器400建立通信会话的支持多路径传输的远程服务器401建立多路径数据链接。优选地,还可以选择使用具有本实施例公开的数据处理模块203相同功能的设备,该设备能够与服务器400建立会话,从而本实施例提供的移动通信设备与该设备能够建立多路径数据链接。优选地,在用户端100具有多路径通信功能的情况下,可以将本实施例提供的移动通信设备部署在服务器400侧,即本实施例提供的移动通信设备能够与服务器400建立会话。而用户端100能够与本实施例提供的移动通信设备建立多路径数据链接。通过以上的部署方式,能够在用户端100、服务器400其中一方不支持多路径传输,或者是均不支持多路径传输的情况下实现用户端100和服务器400之间的多路径传输。
[0057] 优选地,本实施例提供的移动通信设备根据部署的位置不同,可以实现不同的功能。例如在高速移动的地铁、火车、动车上,由于快速移动以及复杂地形的限制,乘客的移动网络处于频繁的网络中断状态。因此可以将本实施例提供的移动通信设备部署在地铁、火车、动车上,通过AP将乘客的用户设备接入,从而可以利用不同运营商的不同频段的移动网络与部署在服务器400侧的运程服务器401连接,或者是有多路径传输功能的服务器400连接,实现多路径传输。例如,在车站、机场等人流量较大的公共场所中,可以与为用户提供网络服务的设备连接,从而为大量的用户提供基于多路传输的网络访问功能。优选地,可以将具有本实施例公开的数据处理模块203相同功能的设备,或者是具有多路径传输能力的远程服务器401部署于内容分发网络(Content Delivery Network,CDN)提供商的骨干网络中,可以利用多路传输技术提高用户访问该CDN的效率。也可以将远程服务器401或具有本实施例公开的数据处理模块203相同功能的设备部署于特定的内网中,可以取得类似虚拟专用网络VPN的效果,即在外部访问该内网中的数据,同时也可以获得多路传输提供的传输效率增益。优选地,在实际部署中,本实施例提供的移动通信设备除了可以部署在基站(例如BTS、NodeB、eNodeB)的用户侧,也还可以部署在3G核心网元SGSN(Serving GPRS Support Node)以及GGSN(Gateway GPRS Support Node)上。优选地,还可以部署在4G核心网络中,例如,部署在LTE(Long Term Evolution)的全IP分组核心网EPC(Evolved Packet Core)的网元上,比如SGW(Serving Gateway)和PGW(PDN Gateway)。优选地,还可以部署在5G的核心网的用户面功能(User Plane Function)上。优选地,还可以部署在CPE(Customer Premise Equipment),即客户端前置设备上。
[0058] 优选地,如图1所示,在本实施例提供的移动通信设备与远程服务器401,或者能够与服务器400建立会话的具有多路径传输能力的设备、代理,或者是具有多路径传输能力的服务器400之间具有多个彼此独立的可用通信路径500。优选地,通信路径500也可以称为管道。管道可以以不同的方式灵活实现。例如,可以使用TCP链接作为管道。优选地,数据处理模块203将第二处理路径220内的数据反向复用到多个接口501上,从而可以通过每个管道上的TCP套接字来传输第二处理路径220内的数据。TCP有效载荷和控制数据都被封装到传输层中。优选地,可以选择TCP BBR拥塞控制算法,能够减少端到端延迟和丢包。优选地,反向复用是指在数据处理模块203将来自第二处理路径220的数据流分段并封装成报文,然后将报文分发到管道上。每个报文都有一个报头,其中包含应用程序连接的ID、长度和序列号。优选地,在服务器400一侧,支持多路径传输的远程服务器401,或者具有多路径传输能力的代理,或者是具有多路径传输能力的服务器400通过提取数据来重新组合反向复用的数据流,并根据连接ID将其转发到服务器400上。优选地,远程服务器401,或者具有多路径传输能力的设备、代理,或者是具有多路径传输能力的服务器400将反馈至用户端100的数据在用户空间反向复用的方式传输至本实施例的移动通信设备。通过利用反向多路复用管道和使用TCP链接作为管道,能够通过消除连接建立的开销(例如,慢启动)立即使得短流受益,而且使得每个管道上的流量更加密集,从而带来更好的宽带利用率。
[0059] 优选地,多阶段连续调度至少包括第一阶段、第二阶段和第三阶段。第一阶段用于建立关于用户的连接顺序,即每个用户连接的发送顺序进行调度,以确保所有用户的公平性并保持QoE。第二阶段是关于插队调度,即优先考虑传输紧急分组以及第三阶段中的跨通信路径500重传。第三阶段是接口调度,即根据上下文的相关信息,将一个用户连接的流量映射到不同的接口501上以提高端到端的性能。优选地,多阶段连续调度的方式为:数据处理模块203以依次在确定多个用户端100的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将第一阶段和第二阶段确定连接顺序的数据流映射至至少一个硬件接口模块202的至少一个接口501上的第三阶段连续协调调度的方式驱动第二处理路径220内的用户数据。
[0060] 优选地,数据处理模块203配置为按照如下方式实现所述第一阶段的调度:
[0061] 基于第二处理路径220中的用户数据划分为始终优先调度的用于内部控制消息传递的控制流以及对应每个用户端100的用户流。优选地,数据处理模块203配置为如下步骤实现用户流的调度:
[0062] 基于用户指定的分级方式将多个用户流划分为至少两个不同第一优先级的第一分组,并按照第一优先级的高低顺序调度至少两个第一分组关于用户端100的连接。优选地,用户指定的分级方式是用户可根据使用场景义自定义的方式将所有关于用户端100的连接的用户流划分为几个第一分组。每个第一分组都具有不同的第一优先级。例如,可以根据用户端100请求建立会话的顺序、用户业务的QoS、用户数据分组业务的特性等来划分用户连接的调度优先级。通过以上设置,数据处理模块203根据其自定义的划分依据将所有用户端100的连接划分为不同第一分组。每个不同的第一分组具有不同的第一优先级。数据处理模块203始终选择第一优先级最高的第一分组内的用户连接作为第一个连接。当且仅当较高的第一优先级的连接没有要发送的数据包时,才会选择较低第一优先级的第一分组内的连接。
[0063] 优选地,第一分组内的每个关于用户端100的连接的第二优先级采用完全公平调度的方式分配。根据第二优先级的高低顺序调度第一分组内每个关于用户端100的连接。优选地,第一分组内具有多个关于用户端100的连接,这些连接具有相同的第一优先级。第二优先级指的在相同第一优先级内的第一分组内的每个连接的调度优先级。优选地,完全公平调度(Completely Fair Scheduler,CFS)的主要思想是维护调度时间方面的公平性,为第一分组内的每个连接分配一定的资源。当第一分组内的某个连接运行时间较长时,其第二优先级降低。
[0064] 根据一种优选实施方式,在第一阶段调度内第一分组内多个关于用户端100的连接出现新用户流的情况下,数据处理模块203配置为:为第一分组内所有用户端100的连接出现的新用户流分配最高的第二优先级,并且以循环的方式实现调度。优选地,对于某些应用程序,例如网页,尽快的获取前第一数据阈值(例如330KB)的数据可能会完成一半的用户请求,或者在某种程度上已经满足了QoE,因此应该为较短的数据流分配更高的优先级。另一方面,对于已经存在很长时间的数据流应当给予偏置以使其尽快地完成数据流的传输。因此对于相同的第一分组内的连接,为出现的新数据流分配最高的第二优先级,即新用户流将会抢占同一第一优先级内的其他长时间未完成传输的数据流的第二优先级,从而能够尽快地满足QoE。优选地,循环的方式实现调度是指在新用户流的传输时间超过第一时间阈值,或新用户流的传输数据量超过第一数据阈值的情况下,新用户流的第二优先级降至最低。根据完全公平调度的方式动态增加该用户流的第二优先级直至达到最高第二优先级。
优选地,第一时间阈值或第一数据阈值可以用户根据应用的场景自定义。例如对于高铁、列车、火车以及车站这样的应用场景,用户端100大部分请求的Web网页,因此第一时间阈值可以选择为3秒,第一数据阈值可以选择为330KB。优选地,新用户流如果超过第一时间阈值或第一数据阈值则认为新流是长流,将失去抢占第二优先级的权限。通过以上设置方式,用户能够根据不同应用场景的要求以进度感知的方式,在满足公平性的前提下进一步优化QoE。
[0065] 根据一种优选实施方式,在第一阶段内的一个用户端100打开了多个连接以连接同一服务器400内资源的情况下,数据处理模块203将连接相同服务器400内资源的多个关于该用户端100的连接划分为第二分组。在第二分组内的至少一个关于用户端100的连接的用户流终止会话的情况下,第二分组获取的网络资源在第二分组内重新分配于未终止会话的其他用户流,从而减少未终止会话的其他的用户流的传输时间以平衡连接数据流差异较大的不同服务器400的开销。优选地,由于我们没有将每个用户流的大小作为先验知识,因此我们无法预先为每个用户流的传输分配网络资源。因此通过将连接相同服务器400内资源的多个关于该用户端100的连接划分为第二分组,如果组内的一个连接先于其他连接之前完成,则其资源将在同一组连接中重新分配,从而加速其余连接,即通过将单个会话的QoE要求映射到网络资源池以及完成平衡优化。通过该设置方式,还可以提高不同网页之间的公平性。两个网页,无论其子流数量如何,都被分配相同数量的网络资源来加载。同时,传输更多字节的流将动态分配更多带宽,这将有利于加快页面下载时间。因此,我们将优先级与同一页面的连接数相乘,这样既可以保持用户公平性又可以尽最大努力减少页面下载时间。
[0066] 根据一种优选实施方式,数据处理模块203配置为按照如下方式实现所述第三阶段的调度:
[0067] 基于第一阶段和第二阶段确定多个用户端100的连接顺序将对应用户端100的用户流按顺序映射至至少一个硬件接口模块202提供的至少一个接口501上。优选地,基于第二数据阈值将每个用户端100的用户流分为位于第二数据阈值前的第一数据流以及位于第二数据阈值后的第二数据流。第一数据流绑定至多个接口501的其中一个,并且第二数据流映射至其余多个接口501上。优选地,基于对于某些应用程序,例如Web网页,用户流的前330KB能够完成一半的用户请求的认知,通过第一数据流与接口501绑定,使得第一数据流全部经由该接口501映射到该接口501对应的通信路径500上进行传输,不仅能够减少乱序延迟,还能够减少异构路径下的跨通信路径500传输延迟,即尽管第一数据流被安排通过RRT较高的接口501发送数据包,继续在该接口501对应的通信路径500上进行调度,从而在其他低RTT的路径上腾出空间,以潜在地有益于其他连接。优选地,第二数据阈值是用户可编辑的。用户能够根据当前的应用环境而设定第二数据阈值的大小。
[0068] 根据一种优选实施方式,数据处理模块203配置为按照如下方式将所述第二数据流映射至其余多个所述接口501上:统一基于其余多个接口501的多通信路径传输的第一调度行为以及跨通信路径重传的第二调度行为,从而为第二数据流内的每个数据包分配最佳接口501以提供最佳服务质量。优选地,对于第二数据流可以采用利用多个通信路径500传输获取多路复用的增益。通过及时的跨通信路径500重传能够平衡减少数据包的丢失和乱序延迟。优选地,通过统一多通信路径传输的第一调度行为以及跨通信路径重传的第二调度行为能够显著地提高宽带利用率。优选地,数据处理模块203将第一调度行为和第二调度‑1行为的统一抽象为函数表示。优选地,可以使用效用函数f=RTT +α·BW来表示接口501质量,其中RTT和带宽BW可以是承载在数据处理模块203上的程序来获取的当前网络性能参数。α是将RTT和BW归一化为相同单位的比例因子。我们使用Li表示接口i上的丢失率,并且表示该数据包的丢失率,其中S是选择的一组接口集合。那么 可
以表示为接口i的丢包率的贡献率。而ui=(1‑Li)fi是接口实用程序的期望值。为了在路径之间分配流,我们使用 其中bufi是TCP缓冲区总数据包的大小。此外,
我们使用F来量化特定数据包的无损需求的重要性,或调度程序愿意支付的额外带宽成本,并在目标函数中添加 我们的目标函数设计如下:
[0069]
[0070]
[0071] 优选地,式(1)为统一第一调度行为和第二调度行为的目标函数。式(2)为目标函数的受限条件。为了简单起见,令0/0=0。其中Qi表示是否选择接口i。 表示该第二数据流分配的接口501数量。β为比例因子。式(1)和式(2)所表示的是如果F为0,则只选择一个具有最大 的接口。如果 与ui的数量级相同或更高时,数据处理模块203会选择多个接口501。因此,可以通过把F设置为0来传输普通的第二数据流,把F设置为较大值用于重传数据包。
[0072] 根据一种优选实施方式,数据处理模块203配置为按照如下方式实现所述第二阶段的调度:基于第三阶段中重传数据包的第二调度行为的触发而优先传输重传数据包。优选地,对跨通信路径500重传应该选用备用的接口501。优选地,通过优先调度跨通信路径500的重传数据包,能够尽快恢复该数据流正常顺序的交付,从而缓解乱序延迟和丢包。
[0073] 实施例2
[0074] 本实施例公开了一种多路径通信方法,方法包括:在多个用户端100与多个服务器400通信的路由路径上分别部署与多个用户端100通信且融合多个接入网络的第一多路径数据处理模块200以及与服务器400通信的第二多路径数据处理模块300。优选地,多个无线接入网络是指包括无线广域网(Wireless Wide Area Network,WWAN)、无线城域网(Wireless Metropolitan Area Network,WMAN)、无线局域网(Wireless Local Area Network,WLAN)、无线个域网(Wireless Personal Area Network,WPAN)、移动自组织网络(Mobile Ad Hoc Network,MANET)、移动通信网络(例如3G、4G、5G等)、卫星网络、无线传感网络等的异构网络。优选地,移动通信网络包括不同运营商使用的不同移动通信技术的移动通信网络。优选地,融合是指在多个用户端100置于多种接入技术共存的异构网络场景下,构建一种完整多用户多路径传输框架,对融合GSM、WCDMA、LTE、Wi‑Fi等多种接入技术的异构网络进行全面统一的资源管理,为用户端100的接入网络提供多种选择性,使得用户端
100能够从异构网络提供的多种网络中选择其中一个或几个接入网络,并且可以从一个网络切换至另一个网络,从而利用多种并存的接入技术,在多个路径上并行传输数据至服务器400,为用户端100提供聚合的带宽资源。
[0075] 优选地,第一多路径数据处理模块200基于可编辑的特定数据类型而将接收的数据分流至按既定方式处理数据的第一处理路径210和与第一处理路径210彼此独立且绕过内核协议栈的第二处理路径220。优选地,目标数据是指用户定义的数据。用户可根据需要编辑目标数据的特定类型。优选地,目标数据的特定类型是指目标数据的帧结构以及该数据的源地址是否是移动通信设备直接服务的用户端100。优选地,第一多路径数据处理模块200基于目标数据的特定类型对接收到的数据进行分类。属于目标数据的特定类型的数据分流至第一处理路径210。第一处理路径210按既定方式处理数据。既定方式是指除了多路径传输之外的处理方式,例如转发结算用的控制数据,或者是转发其他信息等。优选地,第一处理路径210可以将数据发送至用户空间或内核协议栈。优选地,第二处理路径220与第一处理路径210彼此独立。第二处理路径220以绕过内核的方式将符合目标数据的特定类型的数据直接传输至第一多路径数据处理模块200承载的操作系统的用户空间。绕过内核的方式是指数据通过原始套接字而不是标准套接字,原始套接字可以收发没有经过内核协议栈的数据包,从而第二处理路径210能够实现以不经过内核协议栈的方式直接进入用户空间。
[0076] 优选地,第一多路径数据处理模块200在用户空间将第二处理路径220的数据映射至多个彼此独立的通信路径500且以反向复用的方式与第二多路径数据处理模块300通信,从而实现多个用户端100与多个服务器400之间的多路径传输。优选地,第一多路径数据处理模块220可以通过硬件接口模块20接入多个不同制式的网络,从而将用户数据分配至多个不同制式网络对应的多个彼此独立的通信路径500。通过该设置方式,本发明通过第二处理路径220使用原始套接字从而用户空间中处理用户端100或服务器400发送的数据流以实现内核绕过,使得在用户空间层面传输多个用户端100的数据,从而多路径传输的设计完全在用户空间,不需要对系统的内核进行改造,也不涉及对应用程序的修改。而且将多路径分组调度的逻辑提升到应用于应用程序的用户空间,从而能够从全局的角度结合网络的动态变化和应用规范来调度分组实现聚合QoE的优化。
[0077] 优选地,本实施例提供的第一多路径数据处理模块200和第二多路径数据处理模块300的部署方式如图2所示。多个用户端100可以通过无线或有线的方式与第一多路径数据处理模块200连接。例如,可以通过无线访问接入点(Wireless Access Point,AP)与第一多路径数据处理模块200连接。第一多路径数据处理模块200可以集成至用户端100的用户设备上,或设置在用户侧的路由、中级以及CPE上,或独立的硬件方式设置在用户侧,从而可以通过基站(例如BTS、NodeB、eNodeB等)接入不同的核心网,并由核心网接入短波通信网、GPS、卫星通信网、蜂窝移动网、PSTN、ISDN、Internet等。在服务器400侧,如果服务器400支持多路径传输,例如安装有支持多路径传输的应用程序等,则本实施例提供的第一多路径数据处理模块200可以直接与服务器400建立多路径数据链接。在服务器400不支持多路径传输的情况下,可以通过与服务器400建立通信会话的第二多路径数据处理模块300建立多路径数据链接。优选地,在用户端100具有多路径通信功能的情况下,可以将本实施例提供的第一多路径数据处理模块200或第二多路径数据处理模块200部署在服务器400侧,从而而用户端100能够与一多路径数据处理模块200或第二多路径数据处理模块200建立多路径数据链接。通过以上的部署方式,能够在用户端100、服务器400其中一方不支持多路径传输,或者是均不支持多路径传输的情况下实现用户端100和服务器400之间的多路径传输。
[0078] 优选地,在实际部署中,本实施例提供的第一多路径数据处理模块200可以部署在基站(例如BTS、NodeB、eNodeB)的用户侧。优选地,第一多路径数据处理模块200和第二多路径数据处理模块300也还可以部署在3G核心网元SGSN(Serving GPRS Support Node)以及GGSN(Gateway GPRS Support Node)上。优选地,还可以部署在4G核心网络中,例如,部署在LTE(Long Term Evolution)的全IP分组核心网EPC(Evolved Packet Core)的网元上,比如SGW(Serving Gateway)和PGW(PDN Gateway)。优选地,还可以部署在5G的核心网的用户面功能(User Plane Function)上。优选地,还可以部署在CPE(Customer  Premise Equipment),即客户端前置设备上。
[0079] 优选地,本实施例提供的第一多路径数据处理模块200和第二多路径数据处理模块300可以与虚拟网络设备结合。例如,应用程序调用端口(Socket),将相应的数据包发送至服务器400上。VPN服务系统通过使用网络地址转换(Network Address Translation,NAT),将所有的数据包转发到虚拟网络设备上。第二多路径数据处理模块200通过读取虚拟网络设备的数据,可以获取所有转发到虚拟网络设备上的数据包,从而不仅能能够在外部访问内网中的数据,同时也可获得多路径传输提供的传输效率增益。
[0080] 优选地,如图2所示,在第一多路径数据处理模块200和第二多路径数据处理模块300之间具有多个彼此独立的可用通信路径500。优选地,通信路径500也可以称为管道。管道可以以不同的方式灵活实现。例如,可以使用TCP链接作为管道。优选地,可以将第二处理路径220内的数据反向复用到多个接口501上,从而可以通过每个管道上的TCP套接字来传输第二处理路径220内的数据。TCP有效载荷和控制数据都被封装到传输层中。优选地,可以选择TCP BBR拥塞控制算法,能够减少端到端延迟和丢包。优选地,反向复用是指将来自第二处理路径220的数据流分段并封装成报文,然后将报文分发到管道上。每个报文都有一个报头,其中包含应用程序连接的ID、长度和序列号。优选地,在服务器400一侧,第二多路径数据处理模块300通过提取数据来重新组合反向复用的数据流,并根据连接ID将其转发到服务器400上。通过利用反向多路复用管道和使用TCP链接作为管道,能够通过消除连接建立的开销(例如,慢启动)立即使得短流受益,而且使得每个管道上的流量更加密集,从而带来更好的宽带利用率。
[0081] 根据一种优选实施方式,第一多路径数据处理模块200和/或第二多路径数据处理模块300以依次在确定多个用户端100的连接顺序的第一阶段、用于实现插队传输的第二阶段以及用于将第一阶段和第二阶段确定连接顺序的用户流映射至至少一个通信路径500上的第三阶段连续协调调度的方式驱动第二处理路径220内的数据。优选地,本实施例采用的第一阶段、第二阶段和第三阶段连续调度的方式同实施例1的内容相同,重复的内容不再赘述。
[0082] 需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。