CN111406437B - 多路径数据通信 - Google Patents
多路径数据通信 Download PDFInfo
- Publication number
- CN111406437B CN111406437B CN201780097272.XA CN201780097272A CN111406437B CN 111406437 B CN111406437 B CN 111406437B CN 201780097272 A CN201780097272 A CN 201780097272A CN 111406437 B CN111406437 B CN 111406437B
- Authority
- CN
- China
- Prior art keywords
- user space
- space
- control module
- application
- kernel
- 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
- 238000004891 communication Methods 0.000 title claims description 27
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 18
- 230000006855 networking Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- WBMKMLWMIQUJDP-STHHAXOLSA-N (4R,4aS,7aR,12bS)-4a,9-dihydroxy-3-prop-2-ynyl-2,4,5,6,7a,13-hexahydro-1H-4,12-methanobenzofuro[3,2-e]isoquinolin-7-one hydrochloride Chemical compound Cl.Oc1ccc2C[C@H]3N(CC#C)CC[C@@]45[C@@H](Oc1c24)C(=O)CC[C@@]35O WBMKMLWMIQUJDP-STHHAXOLSA-N 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
描述了一种方法和系统,其中,客户端设备包括被设置为用户空间和内核空间的存储器。一个操作包括在用户空间中提供用于接收去往内核空间的一个或多个应用调用的用户空间控制模块。另一个操作包括由用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用。另一个操作包括在用户空间控制模块的控制下,在从客户端设备的多个路径上实施所请求的数据传输。
Description
技术领域
本公开涉及多路径数据通信,尤其涉及通信设备中多路径通信的部署和/或控制。
背景技术
为了满足例如下一代无线网络的无线网络的容量与成本要求,诸如3GPP、IEEE和IETF的标准化机构一直集中在用于多个路径(多路径)无线通信的技术上。多路径无线通信是指使用多个无线电接入技术(RAT)以用于同时并行地在多个无线链路或路径上传送单个数据流。
由于多个原因,多路径无线通信是具有吸引力的。
例如,将多个独立的数据传送路径聚合成一个逻辑连接提高了总体吞吐量,还减少了延迟。为此目的,可使用资源池和多路复用。RAT间带宽聚合不受每RAT频谱可用性的限制。
多路径无线通信使得能够控制无线服务质量(QoS);临时带宽中断例如可通过使用自适应链路复用来掩盖(mask)。端到端延迟可使用以分组级前向纠错(FEC)形式的冗余编码来控制。
多路径无线通信允许运营商有效地重新使用已有的多频段、多技术基础设施并提供高速连接,而不会产生与推出新的高性能网络相关联的大量成本。
在通信设备尤其是(但非排它性地)在诸如移动电话、智能手机和平板计算机的传统设备中,多路径无线通信功能的安装和控制是复杂的,并且可能是昂贵的。
发明内容
第一方面提供了一种方法,其包括:在包括被设置为用户空间和内核空间的存储器的客户端设备中:在用户空间中提供用于接收去往内核空间的一个或多个应用调用的用户空间控制模块;由用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及在用户空间控制模块的控制下,在从客户端设备的多个路径上实施所请求的数据传输。
用户空间控制模块可根据网络使用规则,实施所请求的数据传输。
网络使用规则可定义用于多个路径中的每一个的带宽管理策略。
网络使用规则可定义用于多个路径和/或多路径连接中的每一个的服务质量(Qos)策略。
网络使用规则可基于进行应用调用的应用类型来确定要用于多个路径的数据传输的网络服务。
网络使用规则可基于应用服务要求和/或服务质量要求来确定要用于多个路径的数据传输的网络服务。
网络使用规则可以是响应于指示所测量的带宽和/或服务质量性能的反馈数据而被动态地更新的。
该方法还包括:从外部网络管理实体接收网络使用规则。
用户空间控制模块可通过以下操作来接收去往内核空间的一个或多个应用调用:在相关联的应用被调用时,修改相关联的应用以指向与用于实施多路径控制的用户空间控制模块相关联的库。
修改相关联的应用可包括:修改它的本地调用库以指向多路径控制库。
取代对标准套接字的应用调用,多路径控制库可生成对打开多个并行套接字和多路径调度器的多路径方法的调用。
用户空间控制模块可通过以下操作来接收去往内核空间的一个或多个应用调用:在用户空间中修改应用执行环境。
修改应用执行环境可包括:将系统调用挂钩注入虚拟机,该系统调用挂钩用于执行所修改的用于实施多路径控制的功能。
在从客户端设备的多个路径上实施所请求的数据传输可包括:在内核空间中配置一个或多个已有的内核协议。
一个或多个已有的内核协议可被配置为:选择用于使用多个路径来发送数据的无线电接口。
在从客户端设备的多个路径上实施所请求的数据传输可包括:在内核空间中修改一个或多个已有的内核协议。
一个或多个已有的内核协议可通过上传专用的拥塞控制模块来修改。
专用的拥塞控制模块可以是从例如SIM卡的存储器模块上传的。
专用的拥塞控制模块可以是从远程服务器上传的。
在从客户端设备的多个路径上实施所请求的数据传输可包括:在用户空间中实施一个或多个新的联网协议栈。
在用户空间中实施的联网协议栈包括以下中的一个或多个:MPUDP,基于MPUDP的TCP,FEC感知的MPUDP,以及基于RAW套接字的协议栈。
任何前述定义的方法可被执行而不修改内核空间功能。
任何前述定义的方法可在智能电话或平板计算机中的一个上被执行。
第二方面提供了一种计算机程序,其包括指令,该指令在由计算机程序执行时控制它执行任何前述定义的方法。
第三方面提供了一种非暂时性计算机可读存储介质,在其上存储计算机可读代码,该计算机可读代码在由至少一个处理器执行时使得至少一个处理器执行一种方法,其包括:在包括被设置为用户空间和内核空间的存储器的客户端设备中:在用户空间中提供用于接收去往内核空间的一个或多个应用调用的用户空间控制模块;由用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及在用户空间控制模块的控制下,在从客户端设备的多个路径上实施所请求的数据传输。
第四方面提供了一种装置,其具有至少一个处理器和在其上存储计算机可读代码的至少一个存储器,该计算机可读代码在被执行时控制至少一个处理器:在包括被设置为用户空间和内核空间的存储器的客户端设备中:在用户空间中提供用于接收去往内核空间的一个或多个应用调用的用户空间控制模块;由用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及在用户空间控制模块的控制下,在从客户端设备的多个路径上实施所请求的数据传输。
第五方面提供了一种装置,其被配置为执行任何前述定义的方法。
附图说明
现在将通过非限制性示例的方式参考附图来描述示例性实施例,其中:
图1是根据示例性实施例的多路径网络架构的框图;
图2是根据示例性实施例的处理模块的组件的示意图;
图3是根据示例性实施例的包括用户空间和内核空间的用户设备(UE)存储器空间的示意图;
图4是根据另一个示例性实施例的UE存储器空间的示意图。
图5是根据另一个示例性实施例的UE存储器空间的示意图。
图6是根据示例性实施例的用于示出应用调用可如何被拦截的图3-5存储器空间的一部分的示意图;
图7是根据示例性实施例的服务质量(QoS)感知多路径系统的示意图;
图8是根据另一个示例性实施例的用于示出应用调用可如何被拦截的图3-5存储器空间的一部分的示意图;
图9是根据另一个示例性实施例的QoS感知多路径系统的示意图;
图10是示出根据实施例的在网络管理器与UE之间用于生成集中式网络控制策略的交互的示意图;
图11是示出根据实施例的在网络管理器与UE之间用于生成分布式网络控制策略的交互的示意图;
图12是示出根据实施例的使用多连接的内核支持的UE的示意图;
图13是示出根据实施例的可由UE执行的处理步骤的流程图。
具体实施方式
本文中的实施例涉及多路径网络,例如,数据的部署和控制以使用多个替代路径通过网络或多个网络进行传输。特别地,实施例涉及在无线网络(例如,下一代无线网络)上的数据传输,然而本公开不限于此。
由此,实施例涉及可在用户设备(UE)处执行的方法和系统,该用户设备可以是以下中的一个或多个:计算机终端、移动电话、智能电话、膝上型计算机、平板计算机等。UE可以是传统设备,但实施例也可在未来形式的UE中使用。
可彼此独立的多个替代路径的使用可产生如上所述的各种益处,包括性能,由此,将不同的传送路径聚合成一个逻辑连接提高了总体吞吐量,并且可减少延迟。进一步地,QoS控制可使用多个路径来控制,例如,通过掩盖临时带宽中断和FEC。进一步地,多路径无线通信允许运营商有效地重新使用已有的频谱资源和基础设施以提供高速连接,而不会产生大量成本。
不同的替代路径可使用不同的通信技术;例如,第一路径或分组子流可使用WiFi链路,第二路径或分组子流可使用第三代、第四代或第五代(3G/4G/5G)蜂窝网络。因此,不同的用户设备(UE)通信接口可用于单独的子流。
图1示出了根据第一实施例的示例性网络架构10。架构10包括数据源12、具有多个通信接口16a,16b的分割器14、第一IP网络18、第二IP网络20、目的地聚合器24、以及数据目的地26。
数据源12和数据目的地26可包括用于发送和/或接收数据分组的任何形式的通信终端。例如,数据源12和数据目的地26可以各自是以下中的一个:计算机终端、移动电话、智能电话、膝上型计算机、平板计算机、或实际上具有无线数据通信能力的任何形式的终端。
分割器14可以是与数据源12相关联的任何形式的处理模块;分割器可构成数据源的一部分。例如,分割器14可以是数据源12内的硬件、软件和/或固件模块。分割器14的硬件、软件和/或固件可被配置为执行在下面描述的操作,例如通过与RAM相关联的处理器、控制器、多个处理器或控制器、存储在存储器(例如,硬盘驱动器或可移动存储器模块)上的一个或多个软件应用。在一些情况下,一个或多个软件应用可以是存储在远程存储器设备上并由分割器14访问的基于云的应用。在本文的实施例中,分割器14在网络级3上操作。分割器14可以是虚拟分割器或物理分割器。
在分割器14内可以有可与空中蜂窝通信相关联的第一通信接口(IF1)16a。例如,第一通信接口16a可包括用于经由与蜂窝网络相关联的一个或多个eNB基站20进行数据通信的3G/4G/5G通信接口。第二通信接口(IF2)16b可经由固线电话网络18与因特网通信相关联。还可提供进一步的通信接口(IFn)。
聚合器24可以是与数据目的地26相关联的任何形式的处理模块;聚合器可构成数据目的地的一部分。例如,聚合器24可以是数据目的地26内的硬件、软件和/或固件模块。聚合器24的硬件、软件和/或固件可被配置为执行聚合或组合在相应链路上的不同子流的操作。聚合器24可包括与RAM相关联的处理器、控制器、多个处理器或控制器、存储在存储器(例如,硬盘驱动器或可移动存储器模块)上的一个或多个软件应用。在一些情况下,一个或多个软件应用可以是存储在远程存储器设备上并由聚合器24访问的基于云的应用。在本文的实施例中,聚合器24在网络层3(L3)处操作。聚合器24可以是虚拟聚合器或物理聚合器。
图2是移动终端90(例如,智能手机)的组件的示意图。移动终端90可具有处理器300、302、紧密耦合到处理器并且包括RAM 102和ROM 103的存储器304、硬件键306和显示器308。移动终端90可包括用于连接到网络的一个或多个网络接口310,例如,可以是有线或无线的调制解调器。
处理器300连接到每一个其它组件以便控制其操作。
存储器304可包括非易失性存储器,诸如只读存储器、硬盘驱动器(HDD)或固态驱动器(SSD)。ROM 303除了其它事物还存储操作系统312,并且可存储软件应用314。RAM 302被控制器300用于临时存储数据。操作系统112可包含代码,该代码在由处理器300结合RAM302执行时控制移动终端90的每个硬件组件的操作。
处理器300可采用任何合适的形式。例如,它可以是微控制器、多个微控制器、处理器、或多个处理器。
在一些实施例中,移动终端90还可与外部软件应用相关联。这些外部软件应用可以是存储在远程服务器设备上的应用,并且可以部分或完全地在远程服务器设备上运行。这些应用可被称为云托管应用。移动终端90可与远程服务器设备通信,以便使用存储在其中的软件应用。
操作系统312可将存储器304划分成用于管理操作系统功能的内核空间和用于管理应用软件的用户空间。内核空间通常是存储器304的受保护区域,防止它被应用或操作系统312的其它部分覆盖(overwrite)。内核空间包括通常将用户空间中的应用软件连接到计算机(例如,移动终端90)的硬件的内核程序。内核程序在内核空间中执行它的任务,诸如运行进程和处理中断。相反,与用户相关的任何事情通常发生在用户空间中。
图3是UE(例如,其可以是在上面提及的移动终端90)的存储器空间30的示意图。存储器空间30被设置成用户空间32和内核空间34,它们各自具有在上面提及的角色和属性。
在存储器空间30的用户空间32内可驻留至少一个应用程序42以及用户空间控制器44。在存储器空间30的内核空间34内可驻留一组内核空间功能46以及传统的联网协议48。
还提供了可以是但不限于网络接口卡(NIC)的多个网络接口,例如,长期演进(LTE)接口50a和WiFi接口50b。网络接口不需要像移动电话的情况中那样包括卡。
应用程序42可以是针对内核联网服务进行系统调用(即,通过LTE和WiFi NIC50a,50b中的一个或多个进行数据转送的系统调用)的任何形式的应用。例如,应用程序42可用于在IP网络上流传输视频或音频媒体。例如,应用程序42可与视频流传输服务相关。
内核空间功能46表示应用42与硬件即NIC 50a,50b通信所必需的功能。内核空间功能46通常采用位于操作系统与应用程序之间的库的形式。
传统的联网协议48定义了用于内核空间功能46的操作系统信令协议以与硬件(例如,NIC 50a,50b)正确地通信。这通常在机器代码级完成,并且联网协议48由操作系统提供商设置。
用户空间控制器44被配置为从去往内核空间功能46的一个或多个应用程序42接收系统调用。换句话说,用户空间控制器44被配置为拦截来自应用程序42的用于访问网络服务的系统调用,诸如请求访问NIC 50a,50b中的一个或多个以用于在多个相应的子路径上发送或接收数据。
用户空间控制器44可进一步被配置为:响应于接收到针对网络服务的应用调用,配置已有的传统的内核协议48以执行所请求的操作,例如用于使用LTE NIC 50a和/或WiFiNIC 50b来发送媒体。由用户空间控制器44进行的该拦截意味着它可有效地至少暂时地替换或绕过通常不能够或不应当被修改的内核空间功能48。
此外,由于用户空间控制器44驻留在用户空间32中,因此,定期更新和重新配置是合适的。
此外,用户空间控制器44可从图3中所示的另一个实体(其是网络管理器40)接收网络控制策略数据。
网络管理器40可以是例如与无线网络相关联的远程设备,其确定与一个或多个网络相关的一个或多个数据表示的策略。例如,网络管理器40可基于各种参数,例如基于每个应用、基于网络条件来实施业务控制策略,并且这些策略可被动态地更新和/或确定。
例如,如果网络管理器40向用户空间控制器44提供如下的策略:在LTE链路上发送基于IP的语音(VoIP)数据同时将非关键照片上传卸载到尽力服务随机接入WiFi链路,则这样的策略可通过用户空间控制器将传统的联网协议48配置为实施所述策略来实施。由于一个或多个策略发生变化,因此,传统的联网协议48的配置可利用用户空间控制器44进行。
如果策略允许,则另一个示例可通过NIC 50a,50b在并行的LTE和WiFi链路上发送Youtube视频。
以此方式,使用用户空间控制器44的非侵入性方法在现有的UE中提供了多连接部署以及基于每个应用的灵活业务控制。
关于进一步的实施例,图4是UE的存储器空间30(其例如可以是与图3中所示相同的存储器空间)的示意图。存储器空间30同样被设置成用户空间32和存储器空间30,用户空间32和存储器空间30各自具有在上面提及的角色和属性。
如前所述,在用户空间32内可驻留应用程序42和用户空间控制器44。在存储器空间30的内核空间34中可驻留一组内核空间功能46以及传统的联网协议48。还可以提供一组网络接口卡(NIC),即长期演进(LTE)NIC 50a和WiFi NIC 50b。
在该实施例中,特征模块54可从LTE NIC 50a中的用户身份模块(SIM)52加载。SIM52可以是软件SIM或硬件SIM卡。也可使用其它形式的存储器模块。特征模块54可包括特定于LTE NIC 50a的专用的拥塞控制模块。将理解,其它特征模块可从具有这种功能的任何其它NIC加载。
在该实施例中,传统的联网协议48可基于用于特定特征模块的特征模块54来修改。
关于进一步的实施例,图5是UE 30的存储器空间30(其例如可以是与图3和图4中所示相同的存储器空间)的示意图。存储器空间30同样被设置成用户空间32和内核空间34,用户空间32和内核空间34各自具有在上面提及的角色和属性。
如前所述,在用户空间32内可驻留应用程序42和用户空间控制器44。在存储器空间30的内核空间34中可驻留一组内核空间功能46以及传统的联网协议48。还可提供一组网络接口卡(NIC),即长期演进(LTE)NIC 50a和WiFi NIC 50b。
在该实施例中,还可在用户空间32中提供新的联网协议56。这有效地绕过了传统的联网协议48。新的联网协议56可在所注入的代码基中实现,例如,使用MPUDP,基于MPUDP的TCP,FEC感知的MPUDP,以及基于RAW套接字的协议栈中的一个或多个。
如所提及的,用户空间控制器44有效地拦截了来自去往内核空间34的一个或多个应用42的应用系统调用。这可通过以下操作中的一个或多个在用户空间32中执行:
-在激活应用之后修改应用代码;应用可由所谓的LD预加载(LD_preload)模块来加载,LD_preload模块链接到所修改的C库以用于SOCKET调用。
或者通过以下的操作来执行:
-在用户空间32中修改应用执行环境,诸如通过使用所谓的Xposed框架或类似的JAVA方法挂钩机制将系统调用挂钩注入到Android Dalvik/ART虚拟机中。虚拟机可在沙箱中实现,该沙箱每次被重新加载该虚拟机的新实例。Android Dalvik虚拟机的替代方案是可用的,并且这作为一个示例被给出。某些运营商可强制使用不同版本的JAVA,诸如例如支持FeliCa的版本。
一旦以此方式控制数据流,将理解,可以以参照图3-5描述的方式来实施多连接和网络控制特征。
参考图6,现在将根据实施例来描述用于多连接部署的过程。
该过程是基于修改加载标准应用操作所需的库的模块的。该过程可涉及在应用激活期间用实施多连接和数据流控制的一个或多个所修改的库来动态地替换系统调用库。例如,在Android操作系统中,所谓的LD_preload函数可用于链接替换库。
在图6中,用户进程由元素62表示并且驻留在用户空间32中。在应用被调用时,生成用户进程62,其在被配置为调用被链接到包括替换方法72的替换库70的库调用68的Stock Dalvik虚拟机64上运行JAVA代码66。替换方法72被返回到库调用,然后被返回到用户空间32中的JAVA代码66。所有这些操作被执行而不会干扰内核空间34。
在该示例中,标准用户数据报协议(UDP)套接字调用例如可用对多路径UDP(MPUDP)方法的调用进行替换,MPUDP方法使得多个并行的UDP套接字被打开并且实施多路径调度器。
参考图7,在另一个示例中,利用FEC的QoS感知多路径TCP(MPTCP)连接可使用存储关于应用特定的QoS目标的信息的QoS数据库以模拟的方式来实施。在该示例中,可在从网络管理器40接收到之后被本地存储在用户空间32中的QoS数据库82提供了用于与以与图6的示例相同的方式实现的自定义库92一起使用的应用QoS设置。在所示的示例中,在用户空间32中多个用户进程84a,84b,84c被调用,并且经由它们的所修改的库链接将它们相应的套接字文件描述符(FD)和应用唯一标识符(UID)传递给自定义库92。
例如,基于所接收的套接字FD、应用ID和QoS设置,自定义库92可被设置为:
(i)取回用于应用UID的QoS设置(94);
(ii)将套接字选项应用于QoS定义(96);以及
(iii)向套接字代理分配域名(98)。
每个进程84a,84b,84c的结果可被传送到可解析代理域名服务器(DNS),并在IP选项中传递QoS参数的自定义内核网络栈100。自定义内核网络栈100可使用QoS设置解释和实施模块、QoS调度器模块104、FEC模块108和MPTCP模块110。
用于系统调用拦截和多连接实施的另一个方法可包括在用户空间32中修改应用执行环境。参考与图6类似的图8,用户进程由元素122表示并且驻留在用户空间32中。在应用被调用时,生成用户进程122,其在被配置为调用一个或多个所注入的系统调用挂钩128的Stock Dalvik虚拟机123上运行JAVA代码126。
在该实施例中,通过使用所谓的Xposed框架,系统调用挂钩128是基于Android系统的所谓的Xposed挂钩。
一个或多个Xposed挂钩128被配置为执行实施所需的特征的一个或多个所修改的功能。一个或多个所修改的功能被实现为Xposed模块(Java代码)128,并且可包括诸如但不限于执行代码、修改方法参数或结果的功能,作为一些示例给出。结果被返回到Xposed挂钩128并且被返回到JAVA代码126。
作为对图7的补充,图9示出了如何使用图8的Xposed概念或者实际上任何使用在用户空间32中修改应用执行环境的概念来实施QoS感知的MPTCP。图9与图7类似,除了所修改的库链接90被用挂钩140进行替换之外。
策略驱动的多连接控制
现在将参照图10至图12来描述与网络管理器40可如何操作相关的实施例。
参考图10,总的来说,网络策略包括在网络管理器40处生成的一组数据。网络策略可在步骤178中在网络管理器40处预先主动地生成,并且存储在策略数据库180中。策略数据库180可被存储或复制到SIM卡,例如,LTE SIM卡52。可替代地,SIM可以是软件SIM。可使用其它形式的存储器模块。可替代地,网络策略也可从远程服务器即时上传。网络策略可定义网络使用规则,例如与服务质量(QoS)的关系,包括应用服务要求和/或服务质量要求。规则可涉及公共连接或不同的连接。
具有应用172的UE 170可将它的应用UID提供给多连接和QoS控制模块174,其可构成用户空间控制器44的一部分,然后其可利用QoS简档查询来询问策略数据库180,无论策略数据库180位于何处。策略数据库180可存储应用特定的网络配置,该应用特定的网络配置以配置文件的形式被传递回采用套接字选项形式的用户空间控制器44。这允许对诸如速率上限或接口类型的套接字参数的集中式网络优化。
在一些实施例中,反馈可从用户设备中的测量模块176接收。
参照图11,实施网络控制策略的替代方法可包括:基于从本地测量模块196接收的测量和从网络管理器40的策略生成模块200接收的算法准则,直接在UE 190中生成策略。同样地,反馈可在策略生成模块200处从UE 190的测量模块196接收。该方法数据交换开销方面可以是更有效的。
否则,该替代方法将以与图10的示例对应的方式进行操作。
一般地,实施例使得能够重新使用所期望的特征的内核支持。例如,在未来的智能手机和其它通信设备中可期望对MPTCP的支持。
现在参考图12,UE 210的操作系统可通过使用专用API 218将应用系统调用转发到用户空间控制器44来支持在上面描述的方法和系统。在所述用户空间控制器44上的实施在以下方面是有利的:它提供了与敏感内核操作的隔离以及允许将已知的、完善建立和支持的编程方法用于它的实施。
内核空间34还可进一步通过以下操作来支持在上面描述的方法和系统的操作:提供网络栈层的各种参数,诸如无线电网络信号强度(在物理层上)、切换时间和竞争测量(媒体接入层)、路由特性(网络层)、拥塞控制状态(传输层)、以及诸如电池寿命的UE相关参数。
图13是示出了可由UE在实现在上面描述的方法和系统中执行的处理步骤的流程图。
第一操作13.1包括:在客户端设备(或UE)的用户空间中提供用于接收去往内核空间的一个或多个应用调用的用户空间控制模块。另一个操作13.2包括:由用户空间控制模块接收用于使用一个或多个内核空间网络服务的数据传输的应用调用。另一个操作13.3包括:在用户空间控制模块的控制下,在从客户端设备的多个路径上实施所请求的数据传输。
将理解,在上面描述的实施例仅仅是说明性的并且不限制本发明的范围。在阅读本申请之后,其它变化和修改对于本领域技术人员将是显而易见的。
此外,应理解,本申请的公开内容包括在本文中明确或隐含地公开的任何新颖特征或特征的任何新颖组合,或其任何概括,并且在本申请或由此衍生的任何申请的诉讼期间,可构想新的权利要求以覆盖任何这种特征和/或这种特征的组合。
Claims (24)
1.一种用于多路径数据通信的方法,包括:
在包括被设置为用户空间和内核空间的存储器的客户端设备中:
在所述用户空间中提供用于拦截去往所述内核空间的一个或多个应用调用的用户空间控制模块;
由所述用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及
在所述用户空间控制模块的控制下,在从所述客户端设备的多个路径上实施所请求的数据传输;
其中,所述用户空间控制模块通过以下操作来拦截去往所述内核空间的一个或多个应用调用:在所述用户空间中修改应用执行环境。
2.根据权利要求1所述的方法,其中,所述用户空间控制模块根据网络使用规则,实施所请求的数据传输。
3.根据权利要求2所述的方法,其中,所述网络使用规则定义用于所述多个路径中的每一个的带宽管理策略。
4.根据权利要求2所述的方法,其中,所述网络使用规则定义用于所述多个路径和/或多路径连接的每一个的服务质量(Qos)策略。
5.根据权利要求2所述的方法,其中,所述网络使用规则基于进行所述应用调用的应用类型来确定要用于所述多个路径的数据传输的网络服务。
6.根据权利要求2所述的方法,其中,所述网络使用规则基于应用服务要求和/或服务质量要求来确定要用于所述多个路径的数据传输的网络服务。
7.根据权利要求2所述的方法,其中,所述网络使用规则是响应于指示所测量的带宽和/或服务质量性能的反馈数据而被动态地更新的。
8.根据权利要求2所述的方法,还包括:
从外部网络管理实体接收所述网络使用规则。
9.根据权利要求2所述的方法,其中,所述用户空间控制模块通过以下操作来拦截去往所述内核空间的一个或多个应用调用:在相关联的应用被调用时,修改所述相关联的应用以指向与用于实施多路径控制的所述用户空间控制模块相关联的多路径控制库。
10.根据权利要求9所述的方法,其中,修改所述相关联的应用包括:修改它的本地调用库以指向所述多路径控制库。
11.根据权利要求9所述的方法,其中,取代对标准套接字的应用调用,所述多路径控制库生成对打开多个并行套接字和多路径调度器的多路径方法的调用。
12.根据权利要求1所述的方法,其中,修改所述应用执行环境包括:将系统调用挂钩注入虚拟机,所述系统调用挂钩用于执行所修改的用于实施多路径控制的功能。
13.根据权利要求2所述的方法,其中,在从所述客户端设备的多个路径上实施所请求的数据传输包括:在所述内核空间中配置一个或多个已有的内核协议。
14.根据权利要求13所述的方法,其中,所述一个或多个已有的内核协议被配置为:选择用于使用多个路径来发送所述数据的无线电接口。
15.根据权利要求2所述的方法,其中,在从所述客户端设备的多个路径上实施所请求的数据传输包括:在所述内核空间中修改一个或多个已有的内核协议。
16.根据权利要求15所述的方法,其中,所述一个或多个已有的内核协议通过上传专用的拥塞控制模块来修改。
17.根据权利要求16所述的方法,其中,所述专用的拥塞控制模块是从存储器模块上传的,所述存储器模块包括SIM卡。
18.根据权利要求16所述的方法,其中,所述专用的拥塞控制模块是从远程服务器上传的。
19.根据权利要求2所述的方法,其中,在从所述客户端设备的多个路径上实施所请求的数据传输包括:在所述用户空间中实施一个或多个新的联网协议栈。
20.根据权利要求19所述的方法,其中,在所述用户空间中实施的联网协议栈包括以下中的一个或多个:MPUDP,基于MPUDP的TCP,FEC感知的MPUDP,以及基于RAW套接字的协议栈。
21.根据权利要求2所述的方法,所述方法被执行而不修改内核空间功能。
22.根据权利要求2所述的方法,所述方法在智能电话或平板计算机中的一个上被执行。
23.一种非暂时性计算机可读存储介质,在其上存储计算机可读代码,所述计算机可读代码在由至少一个处理器执行时使得所述至少一个处理器执行一种方法,包括:
在包括被设置为用户空间和内核空间的存储器的客户端设备中:
在所述用户空间中提供用于拦截去往所述内核空间的一个或多个应用调用的用户空间控制模块;
由所述用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及
在所述用户空间控制模块的控制下,在从所述客户端设备的多个路径上实施所请求的数据传输;
其中,所述用户空间控制模块通过以下操作来拦截去往所述内核空间的一个或多个应用调用:在所述用户空间中修改应用执行环境。
24.一种装置,所述装置具有至少一个处理器和在其上存储计算机可读代码的至少一个存储器,所述计算机可读代码在被执行时控制所述至少一个处理器:
在包括被设置为用户空间和内核空间的存储器的客户端设备中:
在所述用户空间中提供用于拦截去往所述内核空间的一个或多个应用调用的用户空间控制模块;
由所述用户空间控制模块接收用于请求使用一个或多个内核空间网络服务的数据传输的应用调用;以及
在所述用户空间控制模块的控制下,在从所述客户端设备的多个路径上实施所请求的数据传输;
其中,所述用户空间控制模块通过以下操作来拦截去往所述内核空间的一个或多个应用调用:在所述用户空间中修改应用执行环境。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FI2017/050687 WO2019063868A1 (en) | 2017-09-29 | 2017-09-29 | DATA COMMUNICATION BY MULTIPLE PATH |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111406437A CN111406437A (zh) | 2020-07-10 |
CN111406437B true CN111406437B (zh) | 2024-04-02 |
Family
ID=60153334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780097272.XA Active CN111406437B (zh) | 2017-09-29 | 2017-09-29 | 多路径数据通信 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11310853B2 (zh) |
EP (1) | EP3689092B1 (zh) |
CN (1) | CN111406437B (zh) |
WO (1) | WO2019063868A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316871B2 (en) * | 2018-02-08 | 2022-04-26 | Cisco Technology, Inc. | Encrypted traffic analytics over a multi-path TCP connection |
CN113423143A (zh) * | 2021-03-26 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 多路径数据传输方法、装置及电子设备 |
US11665087B2 (en) | 2021-09-15 | 2023-05-30 | International Business Machines Corporation | Transparent service-aware multi-path networking with a feature of multiplexing |
CN113922989A (zh) * | 2021-09-16 | 2022-01-11 | 深圳市领科物联网科技有限公司 | Soc系统、网络通讯模块及身份认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902392A (zh) * | 2009-03-31 | 2010-12-01 | 美国博通公司 | 通信方法及系统 |
US8209704B1 (en) * | 2008-03-28 | 2012-06-26 | Emc Corporation | Techniques for user space and kernel space communication |
WO2015199340A1 (ko) * | 2014-06-27 | 2015-12-30 | 주식회사 케이티 | 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627617B2 (en) * | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
AU2005215043A1 (en) * | 2004-02-19 | 2005-09-01 | Georgia Tech Research Corporation | Systems and methods for parallel communication |
WO2006055784A2 (en) * | 2004-11-19 | 2006-05-26 | The Trustees Of The Stevens Institute Of Technology | Multi-access terminal wiht capability for simultaneous connectivity to multiple communication channels |
JP2008027306A (ja) * | 2006-07-24 | 2008-02-07 | Aplix Corp | ユーザ空間仮想化システム |
US8190699B2 (en) * | 2008-07-28 | 2012-05-29 | Crossfield Technology LLC | System and method of multi-path data communications |
US8289975B2 (en) * | 2009-06-22 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system |
US9509601B2 (en) * | 2012-11-01 | 2016-11-29 | Cisco Technology, Inc. | Device driver for a software router |
US9948505B2 (en) * | 2015-05-05 | 2018-04-17 | Citrix Systems, Inc. | Systems and methods for integrating a device with a software-defined networking controller |
US9792248B2 (en) * | 2015-06-02 | 2017-10-17 | Microsoft Technology Licensing, Llc | Fast read/write between networked computers via RDMA-based RPC requests |
EP3473052A4 (en) * | 2016-06-18 | 2020-04-22 | Clevernet, INC. | INTELLIGENT ADAPTIVE TRANSPORT LAYER TO INCREASE PERFORMANCE WITH SEVERAL CHANNELS |
US10127091B1 (en) * | 2016-12-22 | 2018-11-13 | Juniper Networks, Inc. | Intercepting socket metadata |
US10331471B1 (en) * | 2017-03-29 | 2019-06-25 | Parallels International Gmbh | Browser credential management for virtual execution environments |
US10212089B1 (en) * | 2017-09-21 | 2019-02-19 | Citrix Systems, Inc. | Encapsulating traffic entropy into virtual WAN overlay for better load balancing |
US10459743B2 (en) * | 2017-11-09 | 2019-10-29 | Vmware, Inc. | Network isolation in virtual desktop infrastructure |
-
2017
- 2017-09-29 EP EP17787463.3A patent/EP3689092B1/en active Active
- 2017-09-29 US US16/651,053 patent/US11310853B2/en active Active
- 2017-09-29 CN CN201780097272.XA patent/CN111406437B/zh active Active
- 2017-09-29 WO PCT/FI2017/050687 patent/WO2019063868A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209704B1 (en) * | 2008-03-28 | 2012-06-26 | Emc Corporation | Techniques for user space and kernel space communication |
CN101902392A (zh) * | 2009-03-31 | 2010-12-01 | 美国博通公司 | 通信方法及系统 |
WO2015199340A1 (ko) * | 2014-06-27 | 2015-12-30 | 주식회사 케이티 | 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
CN111406437A (zh) | 2020-07-10 |
EP3689092A1 (en) | 2020-08-05 |
US20200229253A1 (en) | 2020-07-16 |
WO2019063868A1 (en) | 2019-04-04 |
US11310853B2 (en) | 2022-04-19 |
EP3689092B1 (en) | 2024-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684774B (zh) | 移动边缘计算(mec)中的服务质量(qos)控制方法、系统 | |
US20210409335A1 (en) | Multi-access management service packet classification and prioritization techniques | |
US10075540B2 (en) | Network function virtualization (NFV) hardware trust in data communication systems | |
CN111406437B (zh) | 多路径数据通信 | |
US20210036920A1 (en) | Configuring network slices | |
CN112566164B (zh) | 一种通信系统及服务质量控制方法 | |
JP2024513628A (ja) | Ric sdk | |
JP2018523361A (ja) | 5g無線アクセス・ネットワーク内でのフレキシブル無線プロトコルのサポート | |
JP2024119832A (ja) | 5g無線デバイス用スマートデータモード | |
US11888677B2 (en) | Method and system for network function migration procedures for a signaling control plane | |
WO2022241233A1 (en) | Methods, architectures, apparatuses and systems for multi-access edge computing applications on wireless transmit-receive units | |
US20230262117A1 (en) | Methods, apparatus, and systems for enabling wireless reliability and availability in multi-access edge deployments | |
US20220248311A1 (en) | Orchestration and mediation stack | |
Kantor et al. | A policy-based per-flow mobility management system design | |
WO2023057794A1 (en) | Method for aligning quality of service in mobile network and edge cloud | |
KR20230009656A (ko) | 단말에 대한 네트워크 기능 개방 서비스 지원 방법 및 장치 | |
WO2021078792A1 (en) | Mechanism for controlling service migration | |
JP2023510410A (ja) | マルチアクセス関連情報を伴うプロビジョニングトラフィック操向 | |
US20240089164A1 (en) | Method and system for network function migration procedures for a signaling control plane | |
US20240147260A1 (en) | Atomic deterministic next action manager | |
US20240147259A1 (en) | Repair atomic deterministic next action | |
Watanabe et al. | STCoS: Software-defined traffic control for smartphones | |
WO2023133598A1 (en) | Dynamic service aware bandwidth reporting and messaging for mobility low latency transport | |
WO2024091858A1 (en) | Atomic deterministic next action | |
CN117099390A (zh) | 针对5g系统中的网络切片实例支持无线电资源管理(rrm)优化的方法和装置 |
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 |