CN110730479A - 一种用于多路径通信的方法及装置 - Google Patents
一种用于多路径通信的方法及装置 Download PDFInfo
- Publication number
- CN110730479A CN110730479A CN201911020064.7A CN201911020064A CN110730479A CN 110730479 A CN110730479 A CN 110730479A CN 201911020064 A CN201911020064 A CN 201911020064A CN 110730479 A CN110730479 A CN 110730479A
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- transceiver module
- communication device
- multipath
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种用于多路径通信的装置,包括:第一通信设备,包括处理器;存储器;以及一个或多个计算机可读指令,被存储在存储器中且能由处理器执行以执行操作,操作包括:第一多路径数据收发模块在第二通信设备上也部署有与第一多路径数据收发模块的功能相同的第二多路径数据收发模块的情况下截取第一通信设备原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备发送的数据;和第一多路径数据收发模块根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种用于多路径通信的方法及装置。
背景技术
例如智能手机、手表和平板电脑这类移动设备具有不断增加的数据传输要求。它们通常还支持多技术多频带网络,并且通常配备有可在多个许可和未许可频带中运行的多LTE、HSPA、WiFi收发器。另外,在将来必然还会分配新的(共享的)频带。通过在并行的无线路径上实现多路径数据传递,可以利用通过多个无线电接口进行通信的能力。与传统的单路径范例相比,使用多个路径来传递数据可以让数据吞吐量和路径可靠性得到显著提高,并且能够降低延迟。
目前,多路径通信所面临的巨大问题是需要修改用户设备的网络堆栈。在这方面,虽然从理论上讲,现代诸如智能电话和平板电脑的移动设备能够支持例如LTE、HSPA、WiFi收发器的多技术多频带网络。但是,在实际上,目前的用户设备如果直接更改其通信协议而形成多路径通信都需要修改网络堆栈。更具体地,需要UE解锁和/或超级用户访问其操作系统。例如,LWIP(与IPSec隧道的LTE WLAN无线电级别集成)和LWA(LTE WLAN聚合)等网络层解决方案需要修改路由表和IPSec隧道的管理。又例如,公告号为CN103004167B的中国专利文献公开了一种无线通信的方法包括:使用第一IP地址通过第一MPTP路径与服务器进行通信;使用第二IP地址通过第二MPTP路径与该服务器进行通信,其中通过第二MPTP路径与该服务器的通信经由第二IP地址的无线节点;以及通过对等通信与该无线节点进行通信。但是,这种基于MPTCP(多路径传输控制协议)的传输层解决方案必须要替换网络堆栈的整个传输层。即,如果要支撑MPTCP,需要客户端和服务器都要支持MPTCP。而升级网络堆栈,涉及到对现在使用的设备的内核改造,其涉及面广,对一些设备进行内核改造后还可能面临着保修失效的问题,导致作为现行标准的MPTCP协议难以部署。再例如,SCTP流控制传输协议甚至与当前的应用程序编程接口不兼容,使得其更难于被实施。综上,导致目前的多路径通信实际上并未得到很好地推广和应用。因此,有必要对现有技术进行改进。
此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。
发明内容
针对现有技术之不足,本发明提供了一种用于多路径通信的装置,包括:第一通信设备,第一通信设备上部署有第一多路径数据收发模块,所述第一通信设备包括:处理器;存储器;以及一个或多个计算机可读指令,被存储在所述存储器中且能由所述处理器执行以执行操作,所述操作包括:让第一多路径数据收发模块介入第一通信设备的通信方式以使得第一通信设备通过第一多路径数据收发模块间接通信连接于第二通信设备;第一多路径数据收发模块在第二通信设备上也部署有与第一多路径数据收发模块的功能相同的第二多路径数据收发模块的情况下截取第一通信设备原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备发送的数据;和第一多路径数据收发模块根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备。
根据一个优选实施方式,所述操作还包括:在第二多路径数据收发模块根据自带的至少一种数据分流规则将截取第二多路径数据收发模块的数据中的至少部分数据通过第二通信设备上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备时,第一通信设备的第一多路径数据收发模块能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将被分流的至少部分数据进行关联以得到数据,然后第一多路径数据收发模块将数据发送给第一通信设备。
根据一个优选实施方式,所述数据分流规则是由数据分流算法定义的,第一多路径数据收发模块存储有自定义的数据分流算法,第一多路径数据收发模块在不同的使用环境下能通过使用不同的数据分流算法以获得更高地通信效率。
根据一个优选实施方式,数据分流算法包括连接顺序调度算法、数据顺序调度算法和传输路径调度算法中的至少一个。
根据一个优选实施方式,通信路径包括卫星通信、以太网通信路径、移动网络、wifi和bluetooth中的至少一个。
根据一个优选实施方式,所述操作包括:运行所述第一多路径数据收发模块让第一多路径数据收发模块以对第一通信设备透明的方式介入第一通信设备的通信过程,第一多路径数据收发模块根据其自身设定的规则对向外发送的数据进行处理以选择性地让数据从单个通信路径或者多个通信路径发送。
根据一个优选实施方式,第一多路径数据收发模块仅将第一通信设备对具有多路径通信功能的第二通信设备发送的数据进行截取,并通过多个通信路径发送至第二通信设备,而将其中向没有多路径通信功能的目标发送的数据通过本身的单个通信路径发送至相应的目标。
根据一个优选实施方式,一种用于多路径通信的方法,所述方法包括:让第一多路径数据收发模块介入第一通信设备的通信方式以使得第一通信设备通过第一多路径数据收发模块间接通信连接于第二通信设备;第一多路径数据收发模块在第二通信设备上也部署有与第一多路径数据收发模块的功能相同的第二多路径数据收发模块的情况下截取第一通信设备原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备发送的数据;和第一多路径数据收发模块根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备。
根据一个优选实施方式,所述方法还包括:在第二多路径数据收发模块根据自带的至少一种数据分流规则将截取第二多路径数据收发模块的数据中的至少部分数据通过第二通信设备上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备时,第一通信设备的第一多路径数据收发模块能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将被分流的至少部分数据进行关联以得到数据,然后第一多路径数据收发模块将数据发送给第一通信设备。
根据一个优选实施方式,所述数据分流规则是由数据分流算法定义的,第一多路径数据收发模块存储有自定义的数据分流算法,第一多路径数据收发模块在不同的使用环境下能通过使用不同的数据分流算法以获得更高地通信效率。
本发明提供一种用于多路径通信的方法及装置至少具有如下优势:
本发明无线修改内核改变原有的通信协议,对原有系统的改动仅限于将用户数据发送至本装置所在的第一多路径数据收发模块及将来自第一多路径数据收发模块的数据发送给用户,最小化了可能的系统配置冲突。且在第一多路径数据收发模块中运行时,具有潜在风险的系统配置改动将不会在原系统上进行,降低了潜在的安全风险。
附图说明
图1是本发明的一个优选实施方式的模块示意图;
图2是本发明的一个优选实施方式的模块示意图;
图3是本发明的一个优选实施方式的实际工作方式的示意图;
图4是本发明的一个优选实施方式在数据截取过程的示意图;和
图5是本发明的一个优选实施方式在数据发送过程的示意图。
附图标记列表
100:第一通信设备,110:原始套接字接口,120:传输层套接字接口,130:内核协议栈,140:上下文数据源,200:第二通信设备,310:第一多路径数据收发模块,311:数据包截取单元,312:用户连接管理单元,313:分流策略管理单元,314:调度算法单元,320:第二多路径数据收发模块,410:客户端,420:服务器,510:实体网卡,520:第一虚拟网卡,600:虚拟主机,610:第二虚拟网卡,A:用户空间,B:内核
具体实施方式
下面结合附图1、2、3、4和5进行详细说明。
根据一个优选实施方式,参见图1和2,一种用于多路径通信的装置,可以包括:第一通信设备100。第一通信设备100上可以部署有第一多路径数据收发模块310。第一通信设备100可以包括:处理器;存储器;以及一个或多个计算机可读指令,被存储在存储器中且能由处理器执行以执行操作。处理器和存储器可以是彼此通信连接的。该操作可以包括:让第一多路径数据收发模块310介入第一通信设备100的通信方式以使得第一通信设备100通过第一多路径数据收发模块310间接通信连接于第二通信设备200;在第二通信设备200上也部署有与第一多路径数据收发模块310的功能相同的第二多路径数据收发模块320的情况下,第一多路径数据收发模块310截取第一通信设备100原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向外发送的数据;和/或第一多路径数据收发模块310根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备100上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备200。本发明采用此方式至少能够实现以下有益技术效果:本发明在运行时会创建虚拟的第一多路径数据收发模块,对于原通信设备上的配置改动仅限于将用户数据发送至本装置所在的第一多路径数据收发模块及将来自本系统的数据发送给用户,最小化了可能的系统配置冲突。且在第一多路径数据收发模块中运行时,具有潜在风险的系统配置改动将不会在实体通信设备上进行,降低了潜在的安全风险。
根据一个优选实施方式,该操作可以包括:在第二多路径数据收发模块320根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第二通信设备200上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备100,第一通信设备100的第一多路径数据收发模块310能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将被分流的至少部分数据进行关联以得到数据,然后第一多路径数据收发模块310将数据发送给第一通信设备100。
根据一个优选实施方式,该操作可以包括:在第二多路径数据收发模块320根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第二通信设备200上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备100时,第一通信设备100的第一多路径数据收发模块310能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将来自被第二多路径数据收发模块320分流的至少部分数据进行关联合并以得到数据,然后第一多路径数据收发模块310将来自第二通信设备200的最终的合并后的数据发送给第一通信设备100。优选地,在本发明中,第一多路径数据收发模块310和第二多路径收发模块320可以是等同的模块,可以都称作多路径数据收发模块,只是为了区分两个多路径数据收发模块所处的具体设备,将部署在第一通信设备100上的称为第一多路径数据收发模块310,将部署在第二多路径收发模块320上的称为第二多路径数据收发模块320。第一多路径数据收发模块310和第二多路径数据收发模块320内具有彼此可以互相识别的数据分流和合并的规则。本发明采用此方式至少能够实现以下有益技术效果:第一多路径数据收发模块310可以接收来自被第二多路径数据收发模块320基于两者彼此可以互相识别的数据分流规则分流的数据,然后基于两者彼此可以互相识别的数据合并的规则来合并被第二多路径数据收发模块320分流的数据,从而让两个同时部署了多路径数据收发模块的通信设备之间可以不基于MPTCP实现多路径通信,这种部署方式无需像MPTCP一样要把所有介于第一通信设备和第二通信设备之间的中继通信设备都升级改造为支持MPTCP的形式,部署难度相当低,易于实现。
根据一个优选实施方式,第一多路径数据收发模块310可以是以对第一通信设备100透明的方式介入第一通信设备100的通信方式。第一多路径数据收发模块310可以是主动截取承载第一通信设备100原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备200发送的数据的原始数据包且让原始数据包实际在被第一通信设备100发出前被主动丢弃。原始数据包实际在被第一通信设备100发出前被主动丢弃可以是在原始数据包的副本在被第一多路径数据收发模块310读取后、进入内核IP协议栈之前将之丢弃。第一多路径数据收发模块310读取截取原始数据包后根据自带的至少一种数据分流规则将原始数据包内承载的数据以分流的方式通过第一通信设备100上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备200。本发明采用此方式至少能够实现以下有益技术效果:本发明中第一多路径数据收发模块310是以对第一通信设备100透明的方式介入第一通信设备100的通信方式,使得第一通信设备100并不知道第一多路径数据收发模块310介入了其通信方式,第一通信设备100只需要按照原来的通信方式收发数据,无需对其原有的通信协议进行修改即可实现本发明,第一多路径数据收发模块310截取原始数据以其自带的规则进行分流和合并。
根据一个优选实施方式,根据第一多路径数据收发模块310和第二多路径数据收发模块320的不同的部署位置,本发明的装置可以实现不同的功能。比如,将第一多路径数据收发模块310部署于车载或者机载Wi-Fi控制器等公共场所中为用户提供网络服务的设备上,则该装置可以对多个用户提供基于多路传输的网络访问功能。该装置可以根据用户需求的不同进行优化。将第二多路径数据收发模块320部署于CDN提供商的骨干网络中,可以利用多路传输技术提高用户访问该CDN包含的数据的效率。将第二多路径数据收发模块320部署于特定内网中,可以取得类似VPN的效果即在外部访问该内网中的数据,同时亦可获得多路传输提供的传输效率增益。优选地,本发明采用的第一多路径数据收发模块310和第二多路径数据收发模块320还可以部署在现有核心网络的节点上,例如,第一多路径数据收发模块310和第二多路径数据收发模块320可以分别部署在3G核心网元SGSN(ServingGPRS Support Node)以及GGSN(Gateway GPRS Support Node)上。第一多路径数据收发模块310以及第二多路径数据收发模块320还可以部署在4G核心网络中,例如,第一多路径数据收发模块310和第二多路径数据收发模块320可以部署在LTE(Long Term Evolution)的全IP分组核心网EPC(Evolved Packet Core)的网元上,比如SGW(Serving Gateway)和PGW(PDN Gateway)。优选地,第一多路径数据收发模块310和第二多路径数据收发模块320可以部署在5G的核心网的用户面功能(User Plane Function)上。优选地,第一多路径数据收发模块310还可以部署在客户端到服务器管通信路径的网关、中继以及路由等设备上。例如,第一多路径数据收发模块310还可以部署在CPE(Customer Premise Equipment),即客户端前置设备上。
根据一个优选实施方式,需要注意的是,本发明中的多路径数据收发模块、第一多路径数据收发模块310和/或第二多路径数据收发模块320皆指程序而非计算机。多路径数据收发模块可以泛指第一多路径数据收发模块310或者第二多路径数据收发模块320。这使得本发明的装置的功能更加丰富。若将多路径数据收发模部署于网络用户持有的设备上,如手机等,则本装置可以利用手机上的多个蜂窝网络设备、Wi-Fi网络设备和Bluetooth模块中的至少一个同时进行通信。由此,以提高用户上网质量。与将多路径数据收发模块部署于用户设备同理,将多路径数据收发模块部署于服务器主机上,则可以在不修改服务器程序的情况下为服务器增加多路传输功能。
根据一个优选实施方式,数据分流规则可以是由数据分流算法定义的。优选地,第一多路径数据收发模块310可以存储有自定义的数据分流算法。第一多路径数据收发模块310在不同的使用环境下能通过使用不同的数据分流算法以获得更高地通信效率。优选地,数据分流算法例如可以包括连接顺序调度算法、数据顺序调度算法和传输路径调度算法中的至少一个。连接顺序调度算法可以是指对每个用户连接的数据发送顺序进行调度的算法。数据顺序调度算法可以是指对同一个连接中数据发送顺序进行调度的算法。传输路径调度算法可以是指将数据分流至某个或者某些传输路径上的算法。优选地,在实际应用中,连接顺序调度算法在装置需要服务多个用户时常被应用,如可以使用使每个用户轮流发送数据的策略保证用户间的公平性,或可以对于某用户使用“当该用户有数据需要发送时,让所有其他用户等待”的策略,以保证某些特权用户的数据传输质量等。数据顺序调度算法在改变用户数据的发送顺序可以获得性能提升时常被应用,如可以将在某个传输连接上发送后许久未到达对端的数据在其他连接上再次发送,此时需要改变发送数据的顺序以使得需要再次发送的数据最先发送。传输路径调度则是提升用户数据在多路传输连接上传输的效率的重要途径,如可以通过获取每个传输连接上的传输性能、负载等历史数据,选取传输性能较高、负载较低的路径进行发送。优选地,可以采用多阶段连续调度的方式将数据分流至多个路径。优选地,多阶段连续调度至少包括第一阶段、第二阶段和第三阶段。第一阶段用于建立关于用户的连接,即多每个用户连接的发送顺序进行调度,以确保所有用户的公平性并保持QoE。第二阶段是接口调度,即根据上下文的相关信息,将一个用户连接的流量因映射到不同的接口上以提高端到端的性能。第三阶段是关于插队调度,即优先考虑传输紧急分组以及跨路径重传。优选地,多阶段连续调度的方式为:以依次在确定多个第一通信设备100的连接顺序的第一阶段、用于将第一阶段确定连接顺序的数据流映射至多个彼此独立的路径上的第二阶段以及用于实现插队传输的第三阶段连续协调调度的方式驱动第一通信设备100传输的用户数据。其中第二阶段的调度步骤如下:
基于第一阶段确定多个第一通信设备100的连接顺序将对应用户连接的数据流按顺序映射至多个彼此独立的路径上。优选地,基于第一数据阈值将每个第一通信设备100的用户流分为位于第一数据阈值前的第一数据流以及位于第一数据阈值后的第二数据流。第一数据流绑定至多个路径接口的其中一个,并且第二数据流映射至其余多个路径接口上。优选地,基于对于某些应用程序,例如Web网页,用户流的前330KB能够完成一半的用户请求的认知,通过第一数据流与路径接口绑定,使得第一数据流全部经由该路径接口映射到该接口对应的路径上进行传输,不仅能够减少乱序延迟,还能够减少异构路径下的跨路径传输延迟,即尽管第一数据流的被安排通过RRT较高的接口发送数据包,继续在该接口对应的路径上进行调度,从而在其他低RTT的路径上腾出空间,以潜在地有益于其他连接。
根据一种优选实施方式,第一多路径数据收发模块310配置为按照如下方式将所述第二数据流映射至其余多个接口上:统一基于其余多个接口的多通信路径传输的第一调度行为以及跨路径重传的第二调度行为,从而为第二数据流内的每个数据包分配最佳接口以提供最佳服务质量。优选地,对于第二数据流可以采用利用多个路径传输获取多路复用的增益。通过及时的跨路径500重传能够平衡减少数据包的丢失和乱序延迟。优选地,通过统一多通信路径传输的第一调度行为以及跨通信路径重传的第二调度行为能够显著地提高宽带利用率。优选地,将第一调度行为和第二调度行为的统一抽象为函数表示。f=RTT-1+α·BW来表示接口质量,其中RTT和带宽BW可以是承载在第一多路径数据收发模块310上的程序来获取的当前网络性能参数。α是将RTT和BW归一化为相同单位的比例因子。我们使用Li表示接口i上的丢失率,并且表示该数据包的丢失率,其中S是选择的一组接口集合。那么可以表示为接口i的丢包率的贡献率。而ui=(1-Li)fi是接口实用程序的期望值。为了在路径之间分配流,我们使用 其中bufi是TCP缓冲区总数据包的大小。此外,我们使用F来量化特定数据包的无损需求的重要性,或调度程序愿意支付的额外带宽成本,并在目标函数中添加我们的目标函数设计如下:
优选地,式(1)为统一第一调度行为和第二调度行为的目标函数。式(2)为目标函数的受限条件。为了简单起见,令0/0=0。其中Qi表示是否选择接口i。表示该第二数据流分配的接口数量。β为比例因子。式(1)和式(2)所表示的是如果F为0,则只选择一个具有最大的接口。如果与ui的数量级相同或更高时,第一多路径数据收发模块310会选择多个接口。因此,可以通过把F设置为0来传输普通的第二数据流,把F设置为较大值用于重传数据包。
根据一个优选实施方式,该装置对多路径数据收发模块的数量没有限制。在实际部署时可以部署多个本地或者远程的多路径数据收发模块形成骨干网络,针对用户、服务器所在位置的不同选取最近的多路径数据收发模块进行服务以提高其性能。
根据一个优选实施方式,一种用于多路径通信的装置,包括:通信设备,通信设备上部署有多路径数据收发模块,通信设备包括:处理器;存储器;以及一个或多个计算机可读指令,被存储在存储器中且能由处理器执行以执行操作,操作包括:基于用户请求选择性让多路径数据收发模块介入通信设备的通信方式以使得通信设备能通过多路径数据收发模块间接通信连接于另一个通信设备;在另一个通信设备上也部署有与该通信设备的多路径数据收发模块的功能相同的另一多路径数据收发模块的情况下,通信设备以单个网络路径的形式向外发送数据;多路径数据收发模块截取通信设备以单个网络路径的形式向外发送的数据;多路径数据收发模块根据自带的至少一种数据分流规则将通信设备的至少部分数据通过通信设备可用的至少两个通信路径向外发送;通过使用策略路由将通信设备的数据发送至多路径数据收发模块。
根据一个优选实施方式,在另一多路径数据收发模块根据其自带的至少一种数据分流规则将该多路径数据收发模块所处的另一通信设备的至少部分数据通过另一通信设备的可用的至少两个通信路径向外发送给通信设备时,通信设备的多路径数据收发模块能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将被分流的数据进行合并以得到数据,然后多路径数据收发模块将数据发送给通信设备。
根据一个优选实施方式,操作包括:运行第一多路径数据收发模块310让第一多路径数据收发模块310以对第一通信设备100透明的方式介入第一通信设备100的通信过程,第一多路径数据收发模块310根据其自身设定的规则对向外发送的数据进行处理以选择性地让数据从单个通信路径或者多个通信路径发送。
根据一个优选实施方式,第一多路径数据收发模块310仅将第一通信设备100对具有多路径通信功能的第二通信设备200发送的数据进行截取,并通过多个通信路径发送至第二通信设备200,而将其中向没有多路径通信功能的目标发送的数据通过本身的单个通信路径发送至相应的目标。
根据一个优选实施方式,通信设备可以是实体计算机。尤其优选地,通信设备可以是安装有客户端和/或服务器端的实体计算机。比如,通信设备可以是手机、电脑、工作站和服务器中的至少一个。服务器可以是单个服务器或者服务器集群。
根据一个优选实施方式,一种用于多路径通信的方法,其能使用至少两条通信路径为通信设备上的至少一个应用程序提供通信服务;其中,运行多路径数据收发模块以让多路径数据收发模块介入通信设备的通信过程;其包括:多路径数据收发模块根据其自身设定的规则对向外发送的数据进行处理以选择性地让数据从单个通信路径或者多个通信路径发送。优选地,在本发明中,通信设备可以是指第一通信设备或者第二通信设备。多路径数据收发模块可以是指第一多路径数据收发模块或者第二多路径数据收发模块。
优选地,通信路径包括卫星通信、以太网通信路径、移动网络、wifi和bluetooth中的至少一个。优选地,本发明提供的多路径通信方法对实际使用的多个通信路径没有要求,兼容现有的各种通信网络。
根据一个优选实施方式,一种用于多路径通信的装置,包括:通信设备,通信设备上部署有多路径数据收发模块,通信设备包括:处理器;存储器;以及一个或多个计算机可读指令,被存储在存储器中且能由处理器执行以执行操作,操作包括:运行多路径数据收发模块以让多路径数据收发模块介入通信设备的通信过程;其包括:多路径数据收发模块根据其自身设定的规则对向外发送的数据进行处理以选择性地让数据从单个通信路径或者多个通信路径发送。
根据一个优选实施方式,在实际应用中,可以将第一通信设备100部署于贴近用户的各个网络边界节点,如高铁或其他公共场所提供的Wi-Fi控制器上,更具体地,比如,作为高铁、公共汽车或者巴士上的无线通信信号提供设备,无线通信信号提供设备例如是WiFi路由器。第一通信设备100的部署位置的部署策略是:若部署者拥有多条访问网络的路径一般指拥有多个网络服务提供商ISP提供的服务,而同时使用多条路径提供网络服务可以获得比用户直接访问网络更高的性能或更低的费率,则可以进行部署。而第二通信设备200则可以部署于各大云服务提供商,各大CDN处。第二通信设备200的部署策略是:应当尽量靠近实际的服务器位置,部署多个第一通信设备100的意义一般是使得用户数据在以传统路由方式传输时一定会经过第一通信设备100,从而可以被截取;部署多个第二通信设备200的意义一般是性能的调优,即可以通过第二通信设备200的位置选择使得用户与第一通信设备100、第一通信设备100与第二通信设备200、第二通信设备200与服务器之间的延迟之和最小。在进行如上的部署后,假设用户在不同公共场所分别使用了服务器位于北京和广州的两种网络应用,则由于部署了多个第一通信设备100,用户可以在不同的场所都享受多路数据传输服务;而由于部署了多个第二通信设备200,用户可以在使用服务器位于北京的网络应用时选取部署在北京的第二通信设备200,在使用服务器位于广州的网络应用时选取部署在广州的第二通信设备200,从而使用户使用两种不同应用时都获得最高的性能,若只在北京部署,则访问广州的服务器时会产生北京到广州的传输延时,反之亦然。一个优选实施方式可以参见图2,比如,第一通信设备100可以是设于高铁上的WiFi路由器,用于为高铁上的乘客提供通信网络。一个或者或多个客户端410可以通过WiFi信号无线连接于第一通信设备100。第二通信设备200可以部署于提供通信服务的通信服务商的通信服务器主机上。第二通信设备200可以通信连接于一个或者多个服务器420。一个或者多个服务器420可以是指应用软件的提供商的服务器。比如,QQ、百度或者UC浏览器的服务器。第一通信设备100的至少个通信模块可以是第一通信设备100上设有多个无线网卡来实现。多个无线网卡的通信服务可以由彼此不同的至少两个通信服务商提供。第一通信设备100可以基于多个无线网卡来多路径通信。比如,多个无线网卡的通信服务可以由分别由中国移动、中国联通、中国电信和中国铁通中的至少两个或者至少三个通信服务商提供。假设,第一通信设备100上搭载了中国移动、中国联通和中国电信的物联网卡。第一通信设备100可以将数据分流地通过中国移动、中国联通和中国电信的物联网卡发出。这里仅仅是举例,在不同的国家和地区,根据当地实际的通信服务商的不同,可以采用相应的通信服务商。为多个无线网卡中不同无线网卡提供通信服务的彼此不同的至少两个通信服务商在高铁的运营线路周边部署的通信基站的位置彼此不同以使得多个无线网卡中的不同网卡的在随高铁位置发生变动之时因与各自对应的通信基站形成彼此不同的通信条件而具有彼此不同的网络性能。网络性能可以是指数据收发能力。第一多路径数据收发模块310感知不同网卡在随高铁运动过程中的网络性能的动态变化,响应于不同网卡的网络性能的动态变化而优化数据分流的调度规则以提高数据传输效率。
根据一个优选实施方式,至少两个通信模块是无线的通信模块,为至少两个通信模块中彼此不同通信模块提供通信服务的是彼此不同的通信服务商,并且彼此不同的通信服务商在第一通信设备100所处的环境空间中布设的为对应通信模块提供通信服务的基站的分布位置彼此不同,第一多路径数据收发模块310感知彼此不同通信模块在位置移动过程中的网络性能的动态变化,响应于彼此不同通信模块的网络性能的动态变化而优化数据分流的调度规则以利用至少两个通信模块提高数据传输效率。优选地,第一多路径数据收发模块310感知彼此不同通信模块在高速移动过程中的网络性能的动态变化可以是第一多路径数据收发模块310感知彼此不同通信模块在高速移动过程中的网络性能的动态变化。高速移动可以是指速度大于等于160km/h。比如,在列车上,第一通信设备100以200km/h、250km/h、300km/h、350km/h的速度高速移动。本发明采用此方式至少能够实现以下有益技术效果:感知彼此不同通信模块在高速移动过程中的网络性能的动态变化并优化数据分流的调度规则以利用至少两个通信模块提高数据传输效率,从而能够合理地利用相应通信模块的网络通信能力,减少整体的数据发送延迟和中断,提高数据传输效率。
根据另一个优选实施方式,客户端410、服务器420也可以指程序而非实体设备。比如,第一通信设备100可以是手机、笔记本电脑、平板电脑和智能手表中的至少一个。第一通信设备100可以包括分别基于至少两张用于无线通信的通信卡的至少两个通信模块。比如,第一通信设备100可以是双卡双待甚至三卡三待。第一通信设备100上可以部署有第一多路径数据收发模块310。客户端410例如可以是安装在第一通信设备100上的QQ、微信、UC浏览器或者音乐播放器。第一多路径数据收发模块310可以截取与之部署在同一第一通信设备100上的一个或者多个客户端410的数据并根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备100上彼此不同的至少两个通信模块向外发送。
根据一个优选实施方式,参见图3,此处以第一通信设备100为例,解释第一多路径数据收发模块310的一个优选实施方式的特征。本领域技术人员应该理解的是,第二多路径数据收发模块320具有与第一多路径数据收发模块310的一个优选实施方式的特征相对应的等同特征,为了简要叙述,此仅以第一多路径数据收发模块310进行叙述。优选地,点划线以上区域代表用户空间A。点划线以下的区域代表系统内核B。实线框内可以是第一多路径数据收发模块310的组件。虚线框内可以是内核组件,或者称为外部组件。优选地,第一多路径数据收发模块310可以包括数据包截取单元311、用户连接管理单元312、分流策略管理单元313和调度算法单元314中的至少一个。例如,原始套接字接口110用于截取用户发往服务器的数据或者服务器发往用户的数据,其与内核协议栈130之间的关系为:原始套接字接口110是内核协议栈130向用户空间开放的数据包截取接口,通过调用该接口可以实现数据包截取功能。原始套接字接口110与数据包截取单元311之间的关系为数据包截取单元311调用原始套接字接口110获取来自多个用户/服务器的数据包,根据数据包包头对用户进行识别。用户连接管理单元312用于缓存来自数据包截取单元311的数据、对数据进行发送。分流策略管理单元311器用于对每个用户使用多路传输连接的方式进行管理。如该用户使用多路传输连接时的优先度、该用户的数据在多路传输连接中的各个连接上的分配方式等。上下文数据源140提供可扩展的各种调度算法可用的数据。上下文数据源140提供的数据来源可以是内核,也可以是用户空间。调度算法单元314通过读取每个用户连接的分流策略以及上下文数据源140提供的数据决定用户连接管理单元312应当将用户数据发往的传输连接或者通信模块。优选地,数据包截取单元311可以通信连接于原始套接字接口110和/或用户连接管理单元312。用户连接管理单元312可以通信连接于传输层套接字接口120。调度算法单元314可以通信连接于分流策略管理单元313和/或上下文数据源140。
根据一个优选实施方式,参见图4,第一多路径数据收发模块310在运行时可以创建虚拟主机600并在其所创建的虚拟主机600内运行。虚拟主机可以是指虚拟的网络主机。对于实体主机上的配置改动仅限于将用户数据发送至第一多路径数据收发模块310所在的虚拟主机600及将来自第一多路径数据收发模块310的数据发送给用户。最小化了可能的系统配置冲突。且在虚拟主机600中运行时,具有潜在风险的系统配置改动将不会在实体主机上进行,降低了潜在的安全风险。优选地,第一通信设备100上对外发送的数据的通信模块可以是实体网卡510。图示中实体网卡510可以是或者可以包含至少两个通信模块。第一多路径数据收发模块310在运行时可以创建第一虚拟网卡520和/或第二虚拟网卡610。实体网卡510可以依次通信连接于第一虚拟网卡520和第二虚拟网卡610。第一虚拟网卡520不在虚拟主机600内运行。第二虚拟网卡610在虚拟主机600内运行。优选地,第一多路径数据收发模块310在第二通信设备200上也部署有与第一多路径数据收发模块310的功能相同的第二多路径数据收发模块320的情况下截取第一通信设备100原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备200发送的数据的处理可以包括:S110:实体网卡510将TCP数据包发送给第一虚拟网卡520且将非TCP数据包发送给内核协议栈130;S120:第一虚拟网卡510把TCP数据包发送给第二虚拟网卡610;S130:第一多路径数据收发模块310在第二虚拟网卡610上抓取TCP数据包;和/或S140:虚拟主机600根据配置在TCP数据包被第一多路径数据收发模块310读取后且内核IP协议栈之前将之丢弃。抓包是指复制而非转移数据包。故进行抓包后第一多路径数据收发模块310获得的是TCP数据包的副本,原TCP数据包必须被丢弃,否则仍然会进入内核IP协议栈。优选地,参见图5,在第一多路径数据收发模块310发送数据时,第一多路径数据收发模块310依次通过第二虚拟网卡610、第一虚拟网卡520和实体网卡510将数据向外发送。
如本文所用的词语“模块”描述任一种硬件、软件或软硬件组合,其能够执行与“模块”相关联的功能。
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
Claims (10)
1.一种用于多路径通信的装置,其特征在于,包括:第一通信设备(100),第一通信设备(100)上部署有第一多路径数据收发模块(310),
所述第一通信设备(100)包括:
处理器;
存储器;以及
一个或多个计算机可读指令,被存储在所述存储器中且能由所述处理器执行以执行操作,所述操作包括:
让第一多路径数据收发模块(310)介入第一通信设备(100)的通信方式以使得第一通信设备(100)能通过第一多路径数据收发模块(310)间接通信连接于第二通信设备(200);
第一多路径数据收发模块(310)在第二通信设备(200)上也部署有与第一多路径数据收发模块(310)的功能相同的第二多路径数据收发模块(320)的情况下截取第一通信设备(100)原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备(200)发送的数据;和
第一多路径数据收发模块(310)根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备(100)上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备(200)。
2.根据权利要求1所述的用于多路径通信的装置,其特征在于,所述操作还包括:在第二多路径数据收发模块(320)根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第二通信设备(200)上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备(100)时,第一通信设备(100)的第一多路径数据收发模块(310)能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将来自被第二多路径数据收发模块(320)分流的至少部分数据进行关联合并以得到数据,然后第一多路径数据收发模块(310)将来自第二通信设备(200)的最终的合并后的数据发送给第一通信设备(100)。
3.根据权利要求1所述的用于多路径通信的装置,其特征在于,所述数据分流规则是由数据分流算法定义的,第一多路径数据收发模块(310)存储有自定义的数据分流算法,第一多路径数据收发模块(310)在不同的使用环境下能通过使用不同的数据分流算法以获得更高地通信效率,数据分流算法包括连接顺序调度算法、数据顺序调度算法和传输路径调度算法中的至少一个。
4.根据前述权利要求之一所述的用于多路径通信的装置,其特征在于,所述第一多路径数据收发模块(310)是以对第一通信设备(100)透明的方式介入第一通信设备(100)的通信方式,所述第一多路径数据收发模块(310)是主动截取承载第一通信设备(100)原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备(200)发送的数据的原始数据包且让原始数据包实际在被第一通信设备(100)发出前被主动丢弃,第一多路径数据收发模块(310)读取截取原始数据包后根据自带的至少一种数据分流规则将原始数据包内承载的数据以分流的方式通过第一通信设备(100)上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备(200)。
5.根据权利要求1所述的用于多路径通信的装置,其特征在于,所述至少两个通信模块是无线的通信模块,为所述至少两个通信模块中彼此不同通信模块提供通信服务的是彼此不同的通信服务商,并且所述彼此不同的通信服务商在第一通信设备(100)所处的环境空间中布设的为对应通信模块提供通信服务的基站的分布位置彼此不同,第一多路径数据收发模块(310)感知彼此不同通信模块在高速移动过程中的网络性能的动态变化,响应于彼此不同通信模块的网络性能的动态变化而优化数据分流的调度规则以利用所述至少两个通信模块提高数据传输效率。
6.根据权利要求1所述的用于多路径通信的装置,其特征在于,所述操作包括:运行所述第一多路径数据收发模块(310)让第一多路径数据收发模块(310)以对第一通信设备(100)透明的方式介入第一通信设备(100)的通信过程,第一多路径数据收发模块(310)根据其自身设定的规则对向外发送的数据进行处理以选择性地让数据从单个通信路径或者多个通信路径发送。
7.根据权利要求6所述的用于多路径通信的装置,其特征在于,第一多路径数据收发模块(310)仅将第一通信设备(100)对具有多路径通信功能的第二通信设备(200)发送的数据进行截取,并通过多个通信路径发送至第二通信设备(200),而将其中向没有多路径通信功能的目标发送的数据通过本身的单个通信路径发送至相应的目标。
8.一种用于多路径通信的方法,其特征在于,所述方法包括:
让第一多路径数据收发模块(310)介入第一通信设备(100)的通信方式以使得第一通信设备(100)通过第一多路径数据收发模块(310)间接通信连接于第二通信设备(200);
第一多路径数据收发模块(310)在第二通信设备(200)上也部署有与第一多路径数据收发模块(310)的功能相同的第二多路径数据收发模块(320)的情况下截取第一通信设备(100)原本要通过其上彼此不同的至少两个通信模块中的其中一个通信模块向第二通信设备(200)发送的数据;和
第一多路径数据收发模块(310)根据自带的至少一种数据分流规则将截取的数据中的至少部分数据通过第一通信设备(100)上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第二通信设备(200)。
9.根据权利要求8所述的用于多路径通信的方法,其特征在于,所述方法还包括:在第二多路径数据收发模块(320)根据自带的至少一种数据分流规则将截取第二多路径数据收发模块(320)的数据中的至少部分数据通过第二通信设备(200)上彼此不同的至少两个通信模块向外发送以使得至少部分数据通过至少两条通信路径传输至第一通信设备(100)时,第一通信设备(100)的第一多路径数据收发模块(310)能够根据自带的与至少一种数据分流规则相对应的至少一种数据合并规则将被分流的至少部分数据进行关联以得到数据,然后第一多路径数据收发模块(310)将数据发送给第一通信设备(100)。
10.根据权利要求9所述的用于多路径通信的方法,其特征在于,所述数据分流规则是由数据分流算法定义的,第一多路径数据收发模块(310)存储有自定义的数据分流算法,第一多路径数据收发模块(310)在不同的使用环境下能通过使用不同的数据分流算法以获得更高地通信效率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020064.7A CN110730479B (zh) | 2019-10-24 | 2019-10-24 | 一种用于多路径通信的方法及装置 |
PCT/CN2020/123086 WO2021078233A1 (zh) | 2019-10-24 | 2020-10-23 | 一种多路径传输设备及架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020064.7A CN110730479B (zh) | 2019-10-24 | 2019-10-24 | 一种用于多路径通信的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730479A true CN110730479A (zh) | 2020-01-24 |
CN110730479B CN110730479B (zh) | 2021-02-09 |
Family
ID=69221998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020064.7A Active CN110730479B (zh) | 2019-10-24 | 2019-10-24 | 一种用于多路径通信的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730479B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021078233A1 (zh) * | 2019-10-24 | 2021-04-29 | 北京大学 | 一种多路径传输设备及架构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103313232A (zh) * | 2012-03-07 | 2013-09-18 | 华为技术有限公司 | 通信方法、通信设备和用户设备 |
CN104581892A (zh) * | 2014-12-05 | 2015-04-29 | 华为技术有限公司 | 一种终端的数据传输方法和装置 |
CN105025524A (zh) * | 2015-06-09 | 2015-11-04 | 北京邮电大学 | 一种多路径并行传输数据调度方法及传输控制协议 |
CN107210926A (zh) * | 2014-12-10 | 2017-09-26 | 诺基亚通信公司 | 通信中的体验质量实施 |
-
2019
- 2019-10-24 CN CN201911020064.7A patent/CN110730479B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103313232A (zh) * | 2012-03-07 | 2013-09-18 | 华为技术有限公司 | 通信方法、通信设备和用户设备 |
CN104581892A (zh) * | 2014-12-05 | 2015-04-29 | 华为技术有限公司 | 一种终端的数据传输方法和装置 |
CN107210926A (zh) * | 2014-12-10 | 2017-09-26 | 诺基亚通信公司 | 通信中的体验质量实施 |
CN105025524A (zh) * | 2015-06-09 | 2015-11-04 | 北京邮电大学 | 一种多路径并行传输数据调度方法及传输控制协议 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021078233A1 (zh) * | 2019-10-24 | 2021-04-29 | 北京大学 | 一种多路径传输设备及架构 |
Also Published As
Publication number | Publication date |
---|---|
CN110730479B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112243253B (zh) | 一种通信设备 | |
US11910414B2 (en) | Techniques for wireless access and wireline network integration | |
US11601323B2 (en) | Techniques for wireless access and wireline network integration | |
US10136354B2 (en) | Apparatus and methods for improved packet flow mobility | |
US9265055B2 (en) | Base station apparatus and wireless terminal apparatus | |
WO2018120917A1 (zh) | 基于灵活以太网的业务流传输方法、装置和通信系统 | |
CN110621040B (zh) | 一种实现多路并行传输通信的方法和系统 | |
CN110635988B (zh) | 一种用于多路径传输的数据转发方法及设备 | |
US8467390B2 (en) | Method and system for network stack tuning | |
CN110740093B (zh) | 一种基于虚拟主机的数据转发装置 | |
US20190297516A1 (en) | Multichannel communication systems | |
JP6504608B2 (ja) | 通信装置及びその制御方法並びにプログラム、並びに通信システム | |
Sathiaseelan et al. | Internet on the move: challenges and solutions | |
JP2012015725A (ja) | 無線送信装置および送信方法 | |
DK3177074T3 (en) | PROCEDURE AND SYSTEM FOR DYNAMIC SELECTION OF COMMUNICATION ROADS FOR A MOVING VESSEL. | |
CN110730479B (zh) | 一种用于多路径通信的方法及装置 | |
WO2021078231A1 (zh) | 基于位置感知的网络中间设备 | |
De Schepper et al. | ORCHESTRA: Supercharging wireless backhaul networks through multi-technology management | |
WO2021078233A1 (zh) | 一种多路径传输设备及架构 | |
KR20120078288A (ko) | 프록시를 사용하여 다중 무선 네트워크를 이용하는 통신 방법 및 장치 | |
US20160182386A1 (en) | A Method For Seamless Multi-Link Network Connectivity | |
EP3625916B1 (en) | Techniques for wireless access and wireline network integration | |
Zhang et al. | Design of Reliable Parallel Transmission System in Complex Heterogeneous Network | |
JP2006020069A (ja) | 無線通信方法、無線通信装置及びプログラム | |
KR20180132486A (ko) | Mptcp 프록시 시스템, 이의 제작 방법 및 운용방법 |
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 |