无线通信中tcp代理设备辅助的通信方法和装置

文档序号:1677003 发布日期:2019-12-31 浏览:34次 >En<

阅读说明:本技术 无线通信中tcp代理设备辅助的通信方法和装置 (TCP proxy device assisted communication method and apparatus in wireless communication ) 是由 郑贺景 林正皖 宣荣奭 金镇炯 黄载现 李贤柱 张修荣 李基远 李晋豪 于 2018-05-17 设计创作,主要内容包括:本公开涉及一种通信方法和用于将第五代(5G)通信系统与物联网(IoT)技术融合以支持比第四代(4G)系统更高的数据速率的系统。本公开可以应用于基于5G通信技术和IoT相关的技术的智能服务,诸如智能家庭、智能建筑、智能城市、智能汽车、互联汽车、医疗保健、数字教育、智能零售、安全和安保服务。本公开的通信系统中的代理设备的方法包括识别终端和服务器之间的无线连接上的分组丢失率,确定该分组丢失率是否大于预定的阈值,以及如果分组丢失率大于该阈值,代理终端和服务器之间的连接。(The present disclosure relates to a communication method and system for fusing fifth generation (5G) communication systems with internet of things (IoT) technology to support higher data rates than fourth generation (4G) systems. The present disclosure may be applied to smart services based on 5G communication technologies and IoT related technologies, such as smart homes, smart buildings, smart cities, smart cars, interconnected cars, healthcare, digital education, smart retail, security and security services. A method of proxying devices in a communication system of the present disclosure includes identifying a packet loss rate over a wireless connection between a terminal and a server, determining whether the packet loss rate is greater than a predetermined threshold, and proxying the connection between the terminal and the server if the packet loss rate is greater than the threshold.)

无线通信中TCP代理设备辅助的通信方法和装置

技术领域

本公开涉及一种通信系统,特别涉及一种在通信系统中使用的传输控制协议(transmission control protocol,TCP)代理设备辅助的通信方法和装置。

背景技术

为了满足自4G通信系统的开发以来无线数据流量已经增加的需求,已经做出了开发改善的5G或预5G通信系统的努力。因此,5G或预5G通信系统也被称为“超4G网络”或“后LTE系统”。5G通信系统被认为是在更高频率(毫米波)的频带(例如60GHz的频带)中实现的,以便实现更高的数据速率。为了减小无线电波的传播损耗并且增加传输距离,在5G通信系统中讨论了波束形成、大规模多输入多输出(massive multiple-input multiple-output,MIMO)、全维MIMO(Full Dimensional MIMO,FD-MIMO)、阵列天线、模拟波束形成、大规模天线技术。此外,在5G通信系统中,基于高级小小区、云无线接入网(Radio Access Networks,RAN)、超密集网络、设备对设备(device-to-device,D2D)通信、无线回程、移动网络、协作通信、协作多点(Coordinated Multi-Points,CoMP)、接收端干扰消除等的系统网络改善的开发正在进行中。在5G系统中,混合FSK和QAM调制(Hybrid FSK and QAMModulation,FQAM)以及滑动窗口叠加编码(sliding window superpositioncoding,SWSC)作为高级编码调制(advanced coding modulation,ACM),以及滤波器组多载波(filter bank multicarrier,FBMC)、非正交多址(non-orthogonal multiple access,NOMA)和稀疏码多址(sparse code multiple access,SCMA)作为高级接入技术已经被开发。

作为人在其中生成并且消费信息的以人为中心的连接网络的互联网现在正在演变为物联网(Internet of Things,IoT),在物联网中,诸如事物的分布式实体在没有人干预的情况下交换和处理信息。万物网(Internet of Everything,IoE)已经出现,其是通过和云服务器的连接的IoT技术和大数据处理技术的组合。因为IoT实现需要诸如“传感技术”、“有线/无线通信和网络基础设施”、“服务接口技术”以及“安全技术”等技术元素,近来已经研究了传感器网络、机器对机器(Machine-to-Machine,M2M)通信、机器类型通信(MachineType Communication,MTC)等。这种IoT环境可以提供通过收集和分析互联事物之间生成的数据来为人类生活创造新的价值的智能互联网技术服务。IoT可以通过现有信息技术(Information Technology,IT)和各种工业应用的融合和组合,被应用于各种领域,包括智能家庭、智能建筑、智能城市、智能汽车或互联汽车、智能电网、医疗保健、智能电器和先进医疗服务。

与此相一致,已经进行了各种尝试来将5G通信系统应用于IoT网络。例如,诸如传感器网络、机器类型通信(MTC)和机器对机器(M2M)通信的技术可以通过波束成形、MIMO和阵列天线来实现。云无线接入网(RAN)作为上述大数据处理技术的应用也可以被认为是5G技术和IoT技术之间的融合的示例。

同时,在终端和使用互联网服务的服务器之间的TCP连接可以由分割连接代理(在下文中,可互换地称为“代理(proxy)”和“代理设备”)分割成两部分:在服务器和代理设备之间的一个连接以及在代理设备和终端之间的另一个连接。

然而,在使用这种代理的情况下,在服务器和终端之间的TCP连接的端到端延迟可能会增加;如果采用高规格设备来减轻延迟,这可能会导致成本增加。

为了解决上述问题,可以考虑使用被称为TCP分割(splicing)的技术,该技术能够通过建立两个连接(即在服务器和代理之间的连接以及在代理和终端之间的连接)而不经过用户空间的应用层来最大化性能。然而,在使用TCP分割的情况下,通过分割TCP连接而期望的性能增益可能会减少。

技术问题

本公开被设想为解决上面的问题,并且旨在通过取决于是否在无线局域网(wireless local area network,WLAN)上建立了TCP连接来动态地执行代理操作以改善代理系统的性能。

此外,本公开旨在通过根据无线连接的终端的信号质量选择性地执行代理操作来改善系统性能。

解决问题的技术方案

根据本公开的方面,提供了一种通信系统中的代理设备的方法。该方法包括确定与代理设备相关的系统负载值满足预定的条件,如果系统负载值满足预定的条件,则识别代理设备和终端之间的连接是否是无线连接,如果该连接是无线连接,则使用分割连接处理接收到的分组,并且如果该连接不是无线连接,则转发接收到的分组。

根据本公开的方面,提供了一种通信系统的代理设备。该代理设备包括收发器和控制器,控制器被配置为确定与代理设备相关的系统负载值满足预定的条件,如果系统负载值满足预定的条件,则识别代理设备和终端之间的连接是否是无线连接,如果该连接是无线连接,则使用分割连接处理接收到的分组,并且如果该连接不是无线连接,则转发接收到的分组。

根据本公开的方面,提供了一种在通信系统中代理设备的方法。该方法包括识别终端和服务器之间的无线连接上的分组丢失率,确定分组丢失率是否大于预定的阈值,并且如果分组丢失率大于该阈值,代理终端和服务器之间的连接。

根据本公开的另一方面,提供了一种通信系统的代理设备。该代理设备包括收发器和控制器,控制器被配置为识别终端和服务器之间的无线连接上的分组丢失率,确定分组丢失率是否大于预定的阈值,并且如果分组丢失率大于该阈值,则对终端和服务器之间的连接执行代理进程(proxy process)。

在进行下面的详细描述之前,阐述贯穿本专利文件所使用的某些词语和短语的定义可能是有益的:术语“包括”和“包含”及其派生词意味着包括但不限制;术语“或”是包含性的,意味着和/或;短语“相关联”和“与之相关联”及其派生词可以意味着包括、包括在内、互连、包含、包含在内、连接到或与连接、耦合到或与耦合、可通信、协作、交织、并列、接近、绑定到或与绑定、具有、具有性质等;以及术语“控制器”意味着控制至少一个操作的任何设备、系统或其一部分,这样的设备可以用硬件、固件或软件、或者至少它们中的两者的某些组合来实现。应当注意,与任何特定控制器相关联的功能可以是集中式的或分布式的,无论本地地或远程地。

此外,下面描述的各种功能可以由一个或多个计算机程序来实现或支持,其中每个计算机程序都由计算机可读程序代码形成并且包含在计算机可读介质中。术语“应用”和“程序”是指一个或多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或者其中适配于在合适的计算机可读程序代码中实现的部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、硬盘驱动器、光盘(compact disc,CD)、数字视频光盘(digital video disc,DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传送暂时性电信号或其他信号的有线、无线、光学的或其他的通信链路。非暂时性计算机可读介质包括数据可以被永久存储的介质以及数据可以被存储并且随后被覆写的介质,诸如可重写光盘或可擦除存储设备。

贯穿本专利文档提供了某些词语和短语的定义,本领域普通技术人员应该理解,在很多情况下(如果不是大多数情况下),这些定义适用于这些定义的词语和短语的先前以及将来的使用。

发明的有益效果

本公开在改善代理系统性能和最小化传输延迟方面是有益的,这是通过取决于当前的系统负载以及TCP连接是否是使用WLAN的连接来确定是否分割该TCP连接并且转发信号而不经过应用层来实现的。

此外,在通过根据无线连接的终端的无线电条件通过选择性代理来增强无线链路上的性能来改善用户体验的网络质量方面,本公开是有益的。

附图说明

为了更完整地理解本公开及其益处,现在结合附图做出以下描述的参考,其中相同的附图标记表示相同的部分:

图1示出了根据本公开实施例的代理系统和其他设备之间的关系图;

图2示出了根据本公开实施例的鉴于协议层的代理系统的配置以及代理系统中的设备之间的连接的图;

图3示出了根据本公开实施例的选择代理连接方法的过程的流程图;

图4示出了根据本公开实施例的用于选择代理连接模式的详细过程的流程图;

图5A示出了根据本公开实施例的用于确定在终端和代理之间建立的连接是否是无线连接的方法的流程图;

图5B示出了有线连接和无线连接之间的RTT分布差异的图;

图6A和图6B示出了根据本公开实施例的用于确定代理连接模式的过程的流程图;

图7示出了根据本公开实施例的代理设备的配置的框图;

图8示出了根据本公开实施例的室内环境的图;

图9示出了根据本公开实施例的网络配置的图;

图10示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的图;

图11示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;

图12示出了根据本公开实施例的用于检查以得到分组丢失率的方法的流程图;

图13示出了根据本公开的另一实施例的用于对到终端的连接选择性地执行代理进程的方法的图;

图14示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;

图15示出了根据本公开实施例的用于检查以得到终端的分组的序列号和来自终端的分组的序列号之间的差的方法的流程图;

图16示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的图;

图17示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;以及

图18示出了根据本公开实施例的代理设备的配置的图。

具体实现方式

下面讨论的图1至图18以及在本专利文档中用于描述本公开的原理的各种实施例仅是示例性的,不应该以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或设备中实现。

参考附图详细描述了本公开的示例性实施例。

为了避免模糊本公开的主题,可以省略在此结合的众所周知的功能和结构的详细描述。这旨在省略不必要的描述,以便使本公开的主题清楚。

出于相同的原因,一些元素在附图中被放大、省略或简化,并且在实践中,这些元素可以具有不同于附图中示出的尺寸和/或形状。贯穿所有附图,相同的附图标记用于指相同的或相似的部分。

通过参考以下示例性实施例和附图的详细描述,可以更容易地理解本公开的益处和特征以及实现这些益处和特征的方法。然而,本公开可以以很多不同的形式体现,并且不应该被解释为限制在此阐述的示例性实施例。相反,提供这些示例性实施例使得本公开将是透彻的和完整的,并且将本公开的概念完全地传达给本领域技术人员,并且本公开将仅由所附的权利要求定义。贯穿整个说明书中,相同的附图标记是指相同的元素。

应当理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图中指定的功能/动作的部件。这些计算机程序指令也可以存储在非暂时性计算机可读存储器中,该非暂时性计算机可读存储器可以指导计算机或其他可编程数据处理装置以特定的方式运行工作,使得存储在非暂时性计算机可读存储器中的指令产生嵌入指令部件的制品,该指令部件实现流程图和/或框图中指定的功能/动作。计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中指定的功能/动作的步骤。

此外,各个框图可以示出包括用于执行特定的(多个)逻辑功能的至少一个或多个可执行指令的模块、段或代码的部分。此外,应该注意的是,在几个修改中,块的功能可以以不同的顺序执行。例如,两个连续的块可以基本上同时执行,或者可以根据它们的功能以相反的顺序执行。

根据本公开的各种实施例,术语“模块”意味着但是不限制于执行某些任务的软件或硬件组件,诸如现场可编程门阵列(Field Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuit,ASIC)。模块可以有益地被配置为驻留在可寻址储存介质上,并且被配置为在一个或多个处理器上执行。因此,例如,模块可以包括组件(诸如软件组件、面向对象的软件组件、类组件以及任务组件)、进程、功能、属性、过程、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、阵列和变量。组件和模块中提供的功能可以组合成更少的组件和模块,或者进一步分离成额外的组件和模块。此外,组件和模块可以被实现为使得它们在设备或安全多媒体卡中执行一个或多个CPU。

尽管在附图中以特定的顺序描绘,但是两个连续的步骤可以以相反的顺序或者并行地执行。

尽管为了便于解释,描述是针对无线通信系统,但是本公开适用于有线通信系统。

第一实施例

如上所述,服务器和终端之间用于使用互联网服务的TCP连接可以由代理分割成两部分:服务器和代理之间的连接以及代理和终端之间的连接。该代理具有各种用途(诸如超文本传输协议(hypertext transfer protocol,HTTP)高速缓存、防火墙以及加密服务器),并且特别有用于使用(或通过)无线通信网络(诸如WLAN)建立的TCP连接。这是因为安装在无线网络网关附近的分割连接代理将由无线网络中无线电信道的变化造成的分组丢失与有线网络中的拥塞分组丢失分离开,并且有通过防止TCP发送方不必要地减小拥塞窗口(congestion window,cwnd)的期望的增益。

根据代理实现,如果在终端上运行的进程尝试到服务器的连接,终端库拦截并且重定向到代理系统的连接尝试。然后,代理系统将服务器和终端之间的逻辑连接分割成两部分。

在执行上述进程的过程中,代理会经受性能问题。为了将数据从服务器传送到终端,应用层代理进程从代理和服务器之间的连接中读取打算给终端的数据,并且将该数据写入代理和终端之间的连接中。由于用于跨越操作系统的用户空间和内核空间之间的边界并且保留用于通过TCP/IP栈移动数据两次的进程的成本很高,代理可能会在系统中造成瓶颈效应(bottleneck effect)。这意味着代理可能会对服务器和终端之间的TCP连接造成增加端到端延迟的副作用,并且用于减轻端到端延迟的高规格设备的采用可能会增加代理管理员的实现成本。

如上所述,作为用于减少代理系统开销的代表性技术之一,通过建立服务器和代理之间的连接以及代理和终端之间的连接,而不经过用户空间的应用层,TCP分割能够最大化系统性能。也就是说,该TCP分割使得代理修改接收到的分组的报头是可能的,并且该分组不会通过协议栈被递送到用户空间,就好像代理像是在服务器和终端之间中继数据的层3.5(layer 3.5)路由器一样。

TCP分割的这种操作改善了代理系统的性能,并且将TCP连接控制移动到两个端点,即,TCP连接的服务器和终端,就好像它们之间不涉及代理。尽管这种技术取决于代理的使用目标来提供增益,但是如果这种技术被用于如前所述通过将无线通信网络中的分组丢失与TCP拥塞分组丢失分离开来增强TCP性能,则该技术可能会造成显著的丢失。

为了解决上面的问题,本公开提出了一种用于通过取决于TCP连接是否使用WLAN选择性地执行代理操作来改善代理系统性能的方法。

图1示出了根据本公开实施例的代理系统和其他设备之间的关系图。

代理系统位于终端和服务器之间的路径上,并且可以监听多个终端和服务器之间建立的多条路径。

参考图1,终端1 110和代理之间的连接可以通过使用(或经由)WLAN来建立,并且终端2 120和代理之间的连接可以经由有线局域网(local areanetwork,LAN)来建立。

图2示出了根据本公开实施例的鉴于协议层的代理系统的配置以及代理系统中的设备之间的连接的图。

在本公开中,代理系统可以将服务器和终端之间的连接分成两部分:服务器和代理之间的一个连接以及在代理和终端之间的另一连接。在代理系统的用户空间中运行的代理进程从服务器-代理连接读取打算给终端的数据,并且将该数据写入代理-终端连接。

通过将服务器和终端之间的连接分割成两部分:服务器-代理连接和代理-终端连接,即使当终端和代理系统之间的无线连接上发生分组丢失时,代理系统也能够防止服务器-代理连接上拥塞窗口的不必要的减少。也就是说,通过使用代理系统,将由无线信道(在终端和代理之间建立的)的变化造成的分组丢失与有线网络上的拥塞丢失分离开是可能的,从而防止拥塞窗口(cwnd)的不必要的减小。如果存在任何分组丢失,因为代理-终端连接上的往返时间(round-trip time,RTT)小于终端和服务器之间的连接上的RTT,所以重传可能会频繁地发生。

代理系统基于在建立TCP连接时测量的终端-代理连接上的RTT、RTT值的变化以及连接的物理端口(网络接口)处的先前重传发生率中的至少一个来确定代理-终端连接是否经由WLAN建立。稍后将详细描述该操作。

代理系统的系统负载监控单元220可以监控终端和服务器之间建立的TCP连接,以测量在协调(mediating)TCP连接过程中的负载的水平。代理系统可以被包括在室内设备(客户提供的仪器(customer-provided equipment,CPE))中或者位于靠近CPE或分离的地方。如果代理系统被包括在CPE中,则系统负载监控单元220可以监控CPE的负载水平。如果代理系统位于分离的地方,则系统负载监控单元220可以监控代理的负载信息。

代理系统的代理确定器230可以基于通过WLAN确定器210和系统负载监控单元220获取的信息,确定是否将在终端和服务器之间建立的连接分割成由应用层代理进程终止的终端-代理连接和代理-服务器连接,来执行TCP分割(层3.5转发),以用于修改接收到的传入分组的报头并且在内核空间的TCP栈中发送报头修改后的分组,而无需用户空间中的任何代理进程,或者执行层3(layer 3)转发,以用于在协调终端和服务器之间的TCP连接时将分组递送到IP栈中的下一个网络接口。

在本公开中,将终端和服务器之间的连接分割成终止于代理的应用层的两个连接的方案被称为分割连接模式,并且TCP分割或层3转发的方案被称为转发模式。这些操作模式将在后面详细描述。

在本公开中,代理系统采用两种操作方法。

第一种操作方法的特征在于,如果确定了用于TCP连接的代理连接模式分割连接、层3.5转发和层3转发)中的一个,则该代理连接模式直到连接被释放才改变。

第二种操作方法的特征在于,取决于系统负载和是否经由WLAN建立了TCP连接,在分割连接模式和转发模式(层3转发和层3.5转发)之间切换。这些操作方法将在后面详细描述。

图3示出了根据本公开实施例的选择代理连接模式的过程的流程图。

参考图3,代理可以在步骤S310确定当前系统负载值满足预定的条件。代理的代理确定器可以从系统负载监控单元获取当前系统负载值。

如上所述,代理系统可以位于CPE的内部或靠近CPE,或者位于与CPE分离的地方。系统负载值可以是代理系统位于CPE内部的情况下的CPE的负载值,或者是代理系统位于与CPE分离的地方的情况下的代理系统的负载值。在本公开中,系统负载值可以被称为代理相关的系统负载值。

预定的条件可以意味着系统负载值指示可用于支持分割连接的状态。也就是说,预定的条件可以意味着系统负载值大于第一阈值并且小于第二阈值。然而,本公开不限制于本实施例,并且可以包括其他实施例,其中预定的条件意味着根据第一阈值的设置范围,系统负载值大于第一阈值。

如果确定系统负载值满足预定的条件,代理可以在步骤S320确定终端和代理之间建立的连接是否是无线连接。

如果确定系统负载值不满足预定的条件,代理可以取决于系统负载值进入分割连接模式或转发模式。也就是说,代理可以根据系统负载值以分割连接方式处理通过终端和代理之间的连接发送/接收的数据,或者将该数据转发到服务器。

如果系统负载值满足预定的条件,并且在终端和代理之间建立的连接是无线连接,则在步骤S330,对于终端-代理连接,代理可以在分割连接模式下操作。代理也可以以分割连接方式处理通过终端-代理连接发送/接收的数据。

否则,如果终端和代理之间建立的连接不是无线连接,则在步骤S340,对于终端-代理连接,代理在转发模式下操作。代理也可以将通过终端-代理连接发送/接收的数据转发到服务器。

图4示出了根据本公开实施例的用于选择代理连接模式的详细过程的流程图。

如果流(或TCP连接)开始,则代理可以检查当前系统负载值。详细地,代理的代理确定器可以从系统负载监控单元获取当前系统负载值。

然后,在步骤S410,代理可以将检查的系统负载值与第一阈值进行比较。

如果系统负载值小于第一阈值,这意味着代理系统具有将每个流分割成两个连接(即,终端-代理连接和代理-服务器连接)的系统资源,这两个连接在应用层代理进程处终止,并且代理系统以分割连接方式处理这两个连接。

如果系统负载小于第一阈值,则代理可以将终端和服务器之间的连接分割成两个连接(即,终端-代理连接和代理-服务器连接),这两个连接在协调终端和服务器之间的流时由应用层代理进程终止。也就是说,如果系统负载值小于第一阈值,则代理可以以分割连接模式处理从终端到服务器/从服务器到终端的数据流。

如果系统负载大于第一阈值,则代理可以将系统负载与第二阈值进行比较。这里,第二阈值可以大于第一阈值。如果系统负载值大于第二阈值,这意味着系统负载已经达到代理系统不能再将在终端和服务器之间的连接分割成终端-代理连接和代理-服务器连接的水平,其中终端-代理连接和代理-服务器连接在分割连接模式下由应用层代理进程终止。因此,如果系统负载值大于第二阈值,代理可以在转发模式下操作。也就是说,代理可以转发在终端-代理连接上发送/接收的数据(层3转发或层3.5转发)。

如果系统负载值小于第二阈值,这意味着系统负载处于中间水平,使得处理所有流是不可能的,并且仅可能处理一些流,而在层3转发或层3.5转发模式下处理剩余流。

因此,如果系统负载小于第二阈值,则代理在步骤S430确定终端-代理连接是否是WLAN连接。

如果确定终端-代理连接是WLAN连接,则在步骤S440,代理可以通过将服务器和终端之间的连接分割成由应用层代理进程终止的两个连接,在分割连接模式下处理流。

如果确定终端-代理连接不是WLAN连接,则代理可以在步骤S450在转发模式下处理流。

本实施例针对这样的操作方法,其中如果确定了代理连接模式(分割连接、层3.5转发和层3转发)中的一个,则代理连接模式直到连接被释放时才改变;如上所述,代理可以在分割连接模式或转发模式下处理终端和代理之间新建立的连接。

然而,本公开不限制于上面的实施例,代理也可以将终端和代理之间的现有连接切换到分割连接模式或转发模式。

如果TCP连接被释放,则在步骤S460,代理可以在与物理端口(网络接口)或IP地址或者IP地址和端口号的组合相关联的相应流的创建之后,记录重传率、平均RTT以及RTT方差,以供将来参考。

图5A示出了根据本公开实施例的用于确定终端和代理之间建立的连接是否是无线连接的方法的流程图。

代理的WLAN确定器可以在步骤S510确定与流的物理端口(网络接口)相关联的先前记录的平均RTT是否等于或大于第一RTT阈值。这里,先前的平均RTT可以是存储在存储器中的所有RTT值的平均值,或者是通过对预定数量的最近记录的RTT值进行平均而获得的值。

如果确定平均RTT等于或大于第一RTT阈值,则代理可以在步骤S540确定相应的连接是WLAN连接。

参考图5B对其做出详细描述。

图5B示出有线连接和无线连接之间的RTT分布差异的示意图。

图5B示出了无线连接的RTT值可以大于有线连接的RTT值。第一RTT阈值可以基于无线连接和有线连接的RTT值来设置。根据本公开的实施例,作为示例,第一RTT阈值可以被设置为1。然而,本公开不限制于本实施例。

如果平均RTT等于或大于第一RTT阈值,则代理可以确定相应的连接是WLAN连接。

再次参考图5,如果确定平均RTT小于第一阈值,则代理可以在步骤S520确定与流的物理端口(网络接口)相关联的先前记录的RTT方差是否等于或大于第二阈值。RTT方差可以是存储在存储器中的所有RTT值的方差,或者是预定数量的最近记录的RTT值的方差。

如果确定RTT方差值等于或大于第二RTT阈值,则代理可以在步骤S530确定相应的连接是WLAN连接。

如果确定RTT方差小于第二RTT阈值,则代理在步骤S540确定与流的物理端口相关联的记录的重传率是否等于或大于预定的重传率阈值。这里,重传率可以是从记录的重传的总数量、或者在预定的最近时段期间或在最近的传输和重传之间的传输和重传总数量中计算的值。

如果确定重传率等于或大于重传率阈值,则代理可以在步骤S540确定相应的连接是WLAN连接。

否则,如果确定重传率小于重传率阈值,则代理可以在步骤S550确定相应的连接不是WLAN连接。

然而,本公开不限制于本实施例。代理可以基于步骤S510至S530的条件中的至少一个来确定终端-代理连接是否是WLAN连接。

例如,代理可以将平均RTT等于或大于第一RTT阈值的连接识别为WLAN连接,并且将平均RTT小于第一RTT阈值的连接识别为非WLAN连接。

代理可以以相反的或不同的顺序执行步骤S510至S530的操作,以确定终端-代理连接是否是WLAN连接。

例如,代理可以确定重传率是否等于或大于重传率阈值,如果确定重传率等于或大于重传率阈值,则确定终端-代理连接是WLAN连接。如果确定重传率小于重传率阈值,则代理可以确定RTT方差值是否等于或大于第二RTT阈值,如果RTT方差值等于或大于第二RTT阈值,则确定相应的连接是WLAN连接。

CPE和Wi-Fi路由器可以共处在相同的空间。在这种情况下,代理系统可以直接从Wi-Fi路由器接收指示相应的连接是否是WLAN连接的信息。在这种情况下,在不执行上述过程的情况下确定终端-代理连接是否是WLAN连接是可能的。

在上面的过程中,物理端口可以由IP地址或者IP地址和端口号的组合来代替。图6A和图6B是示出根据本公开实施例的用于确定代理连接模式的过程的流程图。

参考图6A和图6B,在步骤S610,代理可以在分割连接模式下开始操作。也就是说,代理可以在分割连接模式下处理终端和服务器之间的流,以创建终端-代理连接和代理-服务器连接。

接下来,代理可以在步骤S620确定终端-代理连接是否是WLAN流。

为此目的,代理可以在建立终端-代理连接的进程中测量终端和代理之间的RTT。基于代理向终端发送同步(synchronization,SYN)分组的时间点和代理接收由终端响应于SYN分组发送的确认(acknowledgement,ACK)分组的时间点之间的差来测量RTT是可能的。执行几次分组交换并且计算平均RTT,而不是通过执行一次分组交换来测量RTT也是可能的。代理可以将检查的RTT值与预定的RTT阈值进行比较,并且如果RTT值大于阈值,则确定相应的流是WLAN流。

如果代理在分割连接模式下操作以处理非WLAN流,这可能会增加系统负载,并且几乎不会给出实际增益。因此,在步骤S630,代理被切换到转发模式。也就是说,可以通过发起TCP分割将代理切换到层3.5转发模式,其中TCP分割能够以修改在一个连接上接收的分组的报头并且将报头修改后的分组转发到另一个连接上这种方式来减少系统负载。然而,本公开不限制于本实施例,并且本公开可以包括代理被切换到层3转发模式的实施例,在层3转发模式中,代理将接收到的分组转发到IP栈中的下一个网络接口。

如果终端-代理连接是WLAN流,代理可以在步骤S640确定系统负载是否小于预定的第三阈值。在本图的实施例中,第三阈值可以与图3或图4的实施例中描述的第一阈值相同或不同。尽管术语“第三阈值”用于与图3或图4的实施例的阈值区别,但是该术语可以改变。

如果系统负载值小于第三阈值,则在步骤S650,代理可以保持在分割连接模式。也就是说,代理可以通过分割连接将接收到的分组转发给另一个实体。

否则,如果系统负载值大于第三阈值,则在步骤S630,代理可以针对相应的连接执行模式切换到转发模式。

也就是说,如果系统负载值大于第三阈值,尽管相应的连接是WLAN流,代理不能迅速地处理该流,导致诸如延迟时间增加的副作用增加。因此,代理可以针对相应的连接执行模式切换到转发模式。也就是说,代理可以切换到层3.5转发模式,以用于修改在一个连接上接收到的传入分组的报头并且将报头修改后的分组转发到另一个连接。

之后,在步骤S660,代理可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率。

接下来,代理可以在步骤S670确定系统负载值是否大于第四阈值。

如果确定系统负载值大于第四阈值,则有必要将在分割连接模式下处理的流的一部分切换到转发模式(层3.5转发)以减少系统的负载。

因此,对于在WLAN连接上承载的流当中具有最低重传发生率的流,代理可以执行模式切换到转发模式(层3.5转发)。

这里,第四阈值可以等于第三阈值,或者基于或独立于第三阈值设置。

例如,在第四阈值等于第三阈值的情况下,对于系统负载小于第三阈值的情况,代理可以保持在分割连接模式,并且对于系统负载等于或大于第三阈值的情况,代理将WLAN连接的一部分切换到转发模式。

在第四阈值不等于第三阈值的情况下,第四阈值可以被设置为大于第三阈值,如图4所示。

因此,对于用分割连接模式配置的流,即使当系统负载大于第一阈值时,代理也可以不切换操作模式,并且可以在系统负载大于第二阈值的情况下,对WLAN连接的一部分执行模式切换到转发模式。

接下来,代理可以在步骤S690确定系统负载值是否小于第五阈值。如果在步骤S670确定系统负载值等于或小于第四阈值,或者在步骤S680对WLAN连接的一部分进行模式切换到转发模式之后,代理可以确定系统负载是否小于第五阈值。

如果系统负载小于第五阈值,这意味着系统负载低,并且因此,在步骤S695,代理可以针对在无线连接上承载的流当中具有先前测量的最高重传发生频率的流执行模式切换到分割连接模式。

这里,第五阈值可以基于或独立于第四阈值来确定。第五阈值也可以被设置为小于第四阈值。第五阈值也可以被设置为大于第三阈值。

如果系统负载大于第五阈值,或者在模式切换到分割连接模式之后,代理可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率,并且确定代理模式切换是否必要。

同时,图3和图4以及图6A和图6B的过程可以以组合方式执行。

例如,在图4的过程中,如果系统负载大于第一阈值并且小于第二阈值,并且如果相应的连接是WLAN连接,则代理可以在分割连接模式下操作。

在这种情况下,如参考图6B所述,代理可以在预定的时间段(T1)期间更新重传频率,并且确定系统负载值是否变得大于第二阈值。这里,第二阈值可以是参考图4描述的第二阈值。如果系统负载值变得大于第二阈值,代理可以针对具有最低重传频率的流执行模式切换到转发模式。

这里,如上所述,根据第二阈值的特征,对所有流或者具有最低重传频率的流执行模式切换到转发模式。例如,如果第二阈值被设置为当系统负载变得大于第二阈值时不再支持分割连接模式,则代理可以对所有流执行模式切换到转发模式。否则,如果第二阈值被设置成即使当系统负载大于第二阈值时也部分支持分割连接模式,则代理可以对流的一部分执行模式切换到转发模式。

代理可以将系统负载与设置在第一阈值和第二阈值之间的范围内的第三阈值进行比较,并且如果系统负载小于第三阈值,则针对具有高重传频率的流执行模式切换到分割连接模式。

图7示出了根据本公开实施例的代理设备的配置的框图。

如图7所示,代理设备可以包括收发器710、控制器720以及存储器730。在本公开中,控制器720可以被定义为电路、专用集成电路或至少一个处理器。控制器720可以包括WLAN确定器721、系统负载监控单元723和代理确定器725。

收发器710可以与其他网络实体传送信号。收发器710可以从终端接收分组,并且将该分组发送到服务器。

控制器720可以控制根据本公开的实施例的代理设备的整体操作。例如,控制器720可以控制组件之间的信号流,以执行如上参考流程图所述的操作。

详细地,WLAN确定器721可以基于在建立TCP连接时测量的终端-代理连接上的RTT、RTT值的变化以及在连接的物理端口(网络接口)处的先前重传发生率中的至少一个,确定终端和代理之间的连接是否经由WLAN建立。

系统负载监控单元723可以监控在终端和服务器之间建立的TCP连接,以获得在协调TCP连接的过程中的负载的水平。

代理确定器725可以基于通过WLAN确定器721和系统负载监控单元723获取的信息,确定将在终端和服务器之间建立的连接分割成由应用层代理进程终止的终端-代理连接和代理-服务器连接,来执行TCP分割(层3.5转发),以用于修改接收到的传入分组的报头并且在内核空间的TCP栈中发送报头修改后的分组,而无需用户空间中的任何代理进程,或者执行层3转发,以用于在协调终端和服务器之间的TCP连接时将分组递送到IP栈中的下一个网络接口。

详细地,控制器720可以通过系统负载监控单元723获取当前系统负载值,并且确定当前系统负载值是否满足预定的条件。

如果系统负载值满足预定的条件,则控制器720可以确定终端-代理连接是否是无线连接。

这里,预定的条件可以意味着系统负载值大于第一阈值并且小于第二阈值。然而,本公开不限制于本实施例,并且可以包括其中预定的条件意味着系统负载值大于第一阈值的其他实施例。

如果系统负载值不满足预定的条件,则控制器720可以取决于系统负载值在分割连接模式或转发模式下操作。也就是说,控制器720可以在分割连接映射器中处理通过终端和代理之间的连接发送/接收的数据,或者将数据转发到服务器。

如果系统负载值满足预定的条件,并且如果终端-代理连接是无线连接,则控制器720可以将代理配置为针对终端-代理连接在分割连接模式下操作。代理可以以分割连接方式处理通过终端-代理连接发送/接收的数据。

否则,如果终端-代理连接不是无线连接,则控制器720可以针对终端-代理连接在转发模式下操作。代理也可以将通过终端-代理连接发送的/接收的数据转发到服务器。

控制器720还可以取决于系统负载和终端-代理连接是否是WLAN连接,在分割连接模式和转发模式之间进行模式切换。

详细地,控制器720可以开始以分割连接模式处理新创建的流。控制器720可以确定终端-代理连接是否是WLAN流。上面已经描述了确定过程,因此在此省略该确定过程。

如果终端-代理连接不是WLAN流,则控制器720可以针对相应的连接进行模式切换到转发模式。

如果终端-代理连接是WLAN流,控制器720可以确定系统负载是否小于预定的第一阈值。参考图7描述的阈值可以等于或不同于参考图3或图4描述的阈值。

如果系统负载值小于第三阈值,控制器720可以控制以保持在分割连接模式。也就是说,控制器720可以通过分割连接将接收到的分组转发给另一个实体。

否则,如果系统负载值大于第一阈值,则控制器720可以针对相应的连接执行模式切换到转发模式。

之后,控制器720可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率。

接下来,控制器720可以确定系统负载值是否大于第二阈值。

如果系统负载值大于第二阈值,则控制器720可以针对WLAN连接上的流当中具有最低重传频率的流执行模式切换到转发模式(层3.5转发)。

接下来,控制器720可以确定系统负载值是否小于第三阈值。如果系统负载小于第三阈值,这意味着系统负载低,因此控制器720可以针对无线连接上的流当中具有最高重传发生频率的流执行模式切换到分割连接模式。

如果系统负载大于第三阈值,或者在模式切换到分割连接模式之后,控制器720可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率,并且确定代理模式切换是否必要。

控制器720还可以控制根据本公开的实施例的代理的整体操作。

存储器730可以存储正通过收发器710发送/接收的信息或由控制器720生成的信息中的至少一个。例如,存储器730可以在与物理端口(网络接口)或IP地址或者IP地址和端口号的组合相关联的相应的流的创建之后记录重传率、平均RTT和RTT方差。存储器730也可以记录流的重传频率。

第二实施例

随着Wi-Fi渗透率的增加,基于WLAN的互联网接入已经普及,并且几乎所有的电器都通过有线或无线信道连接到互联网。然而,无线连接到室内WLAN接入点(access point,AP)的终端可能在远离WLAN AP或通过墙与WLAN AP分离的位置经历由低无线电信道质量造成的TCP性能下降。

为了在这种无线网络环境中达到用户体验的性能增强,可以考虑采用分割TCP(split TCP)技术,而不是设计成适用于有线网络环境的传统TCP拥塞控制技术。分割TCP是将在服务器和终端之间建立的连接分割成两个连接(即,服务器-代理连接和代理-终端连接)的技术,并且在本公开中,术语“TCP连接分割”、“代理”以及“代理进程”可以与分割TCP互换使用。

对于互联网服务提供商(internet service provider,ISP)的传统移动宽带(mobile broadband,MBB)服务,服务网关终端可以布置在网关(移动终端通过该网关连接到互联网)中,以负责精细的控制和数据服务管理。

代理设备可以用于这种控制和数据服务管理。也就是说,代理可以用于处理应用层中的数据,以便检查数据内容并且提供基于内容属性的服务(例如,广告***)的目的。

这里,为了解决使用代理时由服务网关的系统过载造成的性能下降问题,可以考虑灵活地对部分流量执行代理进程。

如果如上所述对整个流量执行代理进程,这可能会增加系统负载。因此,对整个流量执行代理进程是困难的。

在这方面,可以考虑一种用于分析数据内容方法,如果代理进程(由应用程序提供的服务)是必要的,则分割TCP连接,并且然后在完成服务之后耦合连接。在使用这种方法的情况下,设置为0的接收窗口尺寸被发送到服务器,以在释放和重建高速流量或延迟敏感流量的连接的过程中停止数据传输,并且作为结果,用户可能会感觉到数据流量中断。

也就是说,如果在用户正在观看视频流时执行代理进程的连接释放操作,则可能造成视频流的中断。

尽管在通过代理降低系统负载方面是有益的,但是上面的方法具有流量的中断影响用户使用的服务的缺点。

为了克服上面的问题,本公开提出了一种用于在针对终端的流上选择性地执行代理进程的方法,以改善以低质量和用户体验质量为特征的无线电链路上的流性能。

本公开还提出了一种方法,用于针对在通过墙与WLAN AP分离的位置处或位于远离室内WLAN AP的位置处或者受来自其他无线终端的电波干扰影响的位置处经历低无线电信道质量的用户终端选择性地执行代理进程,以便有效地改善TCP性能和用户体验的质量。

图8示出了根据本公开实施例的室内环境的图。

参考图8,家庭路由器(例如,室内设备、CPE以及家庭网关)820可以通过有线连接到互联网服务器810。在室内环境中,可以安装Wi-Fi AP(或WLAN AP))830来为终端提供无线互联网接入。

如上所述,当终端位于物理上与室内WLAN AP分离或远离WLAN AP或者易受室内环境中其他无线终端的电波干扰的位置时,分组丢失率增加可能会发生;如果在所有流上执行代理进程,这可能会增加系统负载。因此,需要克服这个问题,并且稍后将对其进行详细描述。

如上所述,代理设备可以位于室内设备中或位于分离的地方。家庭路由器和Wi-FiAP可以实现为单个设备(或集成到单个设备中),或者以分离的设备的形式实现。

图9示出了根据本公开实施例的网络的配置的图。

参考图9,家庭网关(路由器)930可以***在提供内容服务的服务器910和作为客户端的无线连接的终端920之间,以检测服务器910和终端920之间的TCP连接,并且在服务器910和终端920之间中继数据。

家庭网关(路由器)930可以包括用于网络性能增强的代理设备931和用于测量终端的无线电链路质量的无线电质量检测模块(或无线电质量检测器)932。

无线电质量检测模块932负责网络层933上的流量管理和监控功能。无线电质量检测模块932可以管理网络层933上的流量的连接信息、每个连接的流量的量和分组的数量以及分组序列信息。

无线电质量检测模块932监控从服务器910发送到客户端920的分组,并且单独地管理丢失的序列信息。无线电质量检测模块932可以监控从客户端920接收的确认(ACK)分组,并且如果存在与ACK分组相关的丢失的序列信息,则将序列信息与从服务器910接收到的分组中丢失的分组的序列信息进行比较;如果序列信息不匹配,则无线电质量检测模块932可以确定已经在无线电链路上发生分组丢失。如果分组丢失率变得大于阈值,则无线电质量检测模块932可以确定接收相应的流的终端在质量下降的无线电链路上操作。

在这种情况下,无线电质量检测模块932可以向代理设备931发送指示以大于阈值的分组丢失率接收流的终端在质量下降的无线电链路上操作的信息,并且代理设备931生成到网络层933命令以用于在相应的流上执行代理进程,使得网络层933拦截分组并且将分组转发给代理。这里,代理设备631生成到网络层933的信息可以包括与指示将具有特定IP地址的分组转发到代理的规则相关的信息。

详细地,无线电质量检测模块932可以向网络层933和代理设备931发送关于终端的质量下降的链路的流的信息,使得代理在相应的流上执行代理进程。

代理可以生成对应于网络层933发送的分组的ACK,并且将该ACK发送到网络层933,网络层933将该ACK发送到服务器910。这个进程可以被称为代理进程或者仅仅称为代理。

在本公开中,无线电质量检测模块932可以计算分组丢失率并且将分组丢失率发送给代理设备931,并且如果分组丢失率大于预定的阈值,则代理设备931可以命令网络层933将流向上传递给代理设备931。

尽管图9描绘了代理设备931和无线电质量检测模块932都包括在家庭网关930中,但是代理设备931和无线电质量检测模块932中的每一个可以独立地位于与家庭网关所在的地方分离的地方处,或者包括在至少一个室内设备中。无线电质量检测模块932也可以包括在代理设备931中。在以下描述中,假设代理设备931和无线电质量检测模块932包括在家庭网关930中。

家庭网关(路由器)可以以与Wi-Fi AP分离或集成的形式实现。Wi-Fi AP可以具有关于其连接到的终端的信息。因为在本实施例中假设代理设备包括在家庭网关中,所以对家庭网关与Wi-Fi AP分离的情况和家庭网关与Wi-FiAP集成的情况进行了不同的描述。然而,即使当代理设备不包括在家庭网关中时,代理设备也可以以与Wi-Fi AP分离或集成的形式来实现。

如上所述,尽管对于代理设备来说,为了网络性能增强,对到无线连接的终端的所有网络流执行代理进程是理想的,但是代理进程会增加系统负载,导致系统下降现象。因此,在需要代理进程的流上选择性地执行代理进程可能是更佳的。

在针对位于Wi-Fi AP附近的终端执行代理进程或者在无线电质量差的链路上操作的情况下,期望显著的网络性能增强是困难的。也就是说,具有良好的无线电质量的链路的无线连接的终端可以在没有代理进程的情况下享受良好的网络质量(带宽)。本公开旨在提供一种对在无线质量差的链路上操作的无线连接的终端执行代理进程的方法,以防止由流量损失造成的网络性能下降,从而改善用户体验的服务质量。

图10示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的图。

附图描绘了在Wi-Fi AP与家庭网关分离的情况下,对无线连接选择性地执行代理进程的方法。以与Wi-Fi AP分离的形式实现的家庭网关不具有关于无线连接到Wi-Fi AP的终端的信息,因此不能容易地确定终端的无线电情况。

因此,无线电质量检测模块可以测量无线电链路上的分组丢失率。无线电质量检测模块可以测量从终端接收到的重复ACK(duplicate ACK,DupACK)的数量,来检查以得到丢失的分组的数量。无线电质量检测模块可以检查以得到终端发送的分组的总数量,并且使用丢失的分组的数量和分组的总数量来计算无线电链路上的分组丢失率。

代理设备可以检查以得到分组丢失率,以确定分组丢失率是否大于阈值并且对承载终端的相应的流的TCP连接执行代理进程。

图10是在终端1 1010和终端2 1020位于室内的情况的假设下描绘的。

图10示出了终端1 1010比终端2 1020更靠近Wi-Fi AP。终端1 1010和终端2 1020的分组丢失率(DupACK率)分别为0.3%和1.6%,并且这意味着分组丢失率随着与Wi-Fi AP的距离增加而增加。

假设分组丢失率的阈值是1%,终端2 1020的分组丢失率大于阈值。在这种情况下,代理设备可以对终端2 1020的TCP连接执行代理进程。

图11示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参考图11,在步骤S1110,代理设备可以从无线电质量检测模块接收关于终端的无线电链路上的分组丢失率的信息。

如果无线电质量检测模块如上所述被包括在代理设备中,则代理设备可以检查以得到终端的无线电连接上的分组丢失率。

稍后将详细描述如何检查以得到分组丢失率。

接下来,代理设备可以在步骤S1120确定分组丢失率是否大于预定的阈值。

如果分组丢失率大于该阈值,则代理设备可以在步骤S1130对分组丢失率大于阈值的连接执行代理进程。

详细地,代理设备可以向家庭网关的网络层发送指令将在相应的连接上发送的/接收的分组传递到代理设备的信息。

也就是说,代理设备可以向网络层代理(network layer agent)发送控制消息。在接收到控制消息后,网络层代理可以拦截相应的流并且将其传递给驻留在应用层上的代理设备,并且代理设备可以向终端发送相应的流。代理设备可以生成与接收到的分组相对应的ACK消息到网络层代理,网络层代理将ACK消息发送到服务器。以这种方式,通过分割服务器和终端之间的连接来达到性能增强是可能的。

如果分组丢失率不大于阈值,则代理设备可以保持连接并且随后返回步骤S1110以接收分组丢失率。

图12示出了根据本公开实施例的用于检查以得到分组丢失率的方法的流程图。

在步骤S1210,无线电质量检测模块可以检测终端和服务器之间的TCP连接。无线电质量检测模块可以监控每个TCP连接以得到IP信息、发送和接收分组的数量、双向流量总量以及TCP数据序列信息。

无线电质量检测模块可以监控到服务器的TCP连接,以得到来自服务器的TCP数据的序列信息并且将丢失的序列信息存储在存储器中。

接下来,在步骤S1220,无线电质量检测模块可以检查丢失的分组的数量。基于从终端接收的重复DupACK的数量来检查丢失的分组的数量。

接下来,在步骤S1230,无线电质量检测模块可以测量分组丢失率。

无线电质量检测模块可以对每个TCP连接发送到终端的分组的数量进行计数。因此,无线电质量检测模块可以基于检查的丢失的分组数量和发送到终端的分组的数量来测量分组丢失率。

接下来,在步骤S1240,无线电质量检测模块可以向代理设备发送分组丢失率。

然而,本公开不限制于本实施例。无线电质量检测模块可以基于从终端接收到的DupACK的数量来检查以得到发送到终端的分组的数量和丢失的分组的数量,并且将关于发送的分组和丢失的分组的数量的信息发送到代理设备。代理设备可以计算分组丢失率,以确定是否对相应的连接执行代理进程。

无线电网络中的分组丢失率可能高。即使当终端位于Wi-Fi AP附近或者在没有干扰的位置,分组丢失也可能发生。因此,指定分组丢失发生率的阈值是必要的,即容许分组丢失率,以当分组丢失率大于该阈值时判断坏的无线电条件。

如果无线连接的终端的无线电链路上的分组丢失率大于预定的阈值,则代理设备可以确定无线电条件差,从而做出对相应的流执行代理进程的决定。

图13示出了根据本公开的另一实施例的用于对到终端的连接选择性地执行代理进程的方法的图。

图13针对当家庭网关以与Wi-Fi AP分离的形式实现时对无线连接选择性地执行代理进程的方法。

在附图中,无线电质量检测模块可以基于分组序列号检测无线电条件。详细地,无线电质量检测模块可以监控从服务器到终端的分组以及从终端到服务器的ACK,以得到数据分组序列号(data packet sequence number,DSN)和ACK序列号(ACK sequence number,ASN)。

无线电质量检测模块可以在某个时间点将DSN和ASN进行比较,以计算序列号之间的差。这里,DSN和ASN之间的差可以被称为网络序列号(network sequence number,NSN))或序列号差值。无线电质量检测模块可以基于NSN值来确定无线电链路上的质量条件。

例如,如果在某个时间DSN和ASN之间的差大于预定值,则无线电质量检测模块可以确定无线电链路上的质量条件差。如果发送的分组的序列号和ACK的序列号之间的差大,这意味着分组传输不平稳。

如果DSN和ASN之间的差的变化率大于预定的阈值变化率,则无线电质量检测模块可以确定无线电链路的质量条件差。DSN和ASN之间差的变化率可以在预定的时间段期间测量。

如果在预定的时间段期间,DSN和ASN之间的差的变化率大于阈值变化率,则无线电质量检测模块可以确定无线电链路的质量条件差。

当DSN和ASN之间的差值的平均值大于预定的阈值时,无线电质量检测模块确定无线电链路的质量条件差也是可能的。

在本公开中,序列号差、序列号差的变化率和序列号差的平均值可以被统称为序列号差相关的信息。

代理设备可以检查无线电链路的质量条件差,并且对包括具有差的质量条件的无线电连接的终端的TCP连接执行代理进程。

图14示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参照图14,在步骤S1410,代理设备可以接收关于从服务器发送到终端的分组的序列号和从终端发送到服务器的ACK的序列号之间的差的信息(在下文中,称为序列号差相关的信息)。

如上所述,如果无线电质量检测模块包括在代理设备中,则代理设备可以通过无线电质量检测模块检查以得到序列号差相关的信息。

如何检查以得到序列号差相关的信息将在后面详细描述。

接下来,代理设备可以在步骤S1420确定序列号差相关的信息是否大于阈值。

详细地,代理设备可以确定序列号差值是否大于阈值。确定序列号差的变化率是否大于阈值、或者序列号差的平均值是否大于阈值也是可能的。

如果序列号差相关的信息大于阈值,则在步骤S1430,代理设备可以对序列号差值大于阈值的连接执行代理进程。在这种情况下,代理设备可以向家庭网关的网络层代理发送关于相应的流的信息,并且网络层代理将相应的流向上传递给代理设备。流信息可以包括指令将在相应的连接上流动的分组向上传递到代理设备的信息。

代理设备向网络层代理发送控制消息。网络层代理可以将相应的流向上传递到驻留在应用层上的代理设备,并且代理设备可以将相应的流发送给终端。代理设备还可以生成与接收到的分组相对应的ACK消息到网络层代理,网络层代理发送ACK消息到服务器。以这种方式,通过分割服务器和终端之间的连接来实现性能增强是可能的。

如果序列号差相关的信息不大于阈值,则代理设备可以保持连接并且随后返回步骤S1410以接收序列号差值。

图15示出了根据本公开实施例的用于检查以得到去往终端的分组的序列号和来自终端的分组的序列号之间的差的方法的流程图。

在步骤S1510,无线电质量检测模块可以检测终端和服务器之间的TCP连接。无线电质量检测模块可以监控每个TCP连接以得到IP信息、发送和接收分组的数量、双向流量总量和TCP数据序列信息。

在步骤S1520,无线电质量检测模块可以记录发送到终端的分组的序列信息。

在步骤S1530,无线电质量检测模块可以记录从终端接收到的分组的序列信息。

无线电质量检测模块可以计算在某个时间点由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差。

无线电质量检测模块还可以计算在预定的时段期间由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差的变化率。

无线电质量检测模块还可以计算在预定的时段期间由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差的平均值。

在步骤S1540,无线电质量检测模块可以将计算到的信息作为序列号差相关的信息发送给代理设备。

图16示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的图。

图16针对当家庭网关以与Wi-Fi AP集成的形式实现时,对无线连接选择性地执行代理进程的方法。在本实施例中,在Wi-Fi AP和家庭网关之间存在用于交换信息的接口。与Wi-Fi AP集成或通过接口连接到Wi-Fi AP的家庭网关可以获取关于无线连接到Wi-Fi AP的终端的信息,从而确定无线连接的终端的无线电条件。

如果终端的无线电条件相关的信息小于预定的阈值,则代理设备可以对相应的终端的连接执行代理进程。无线电条件相关的信息可以包括接收信号强度指示符(receivedsignal strength indicator,RSSI)和信噪比(signal-to-noiseratio,SNR);如果代理设备检测到具有无线电条件相关的信息值小于阈值的终端,则代理设备可以对相应的终端的连接执行代理进程。

这里,代理设备可以将终端包括在管理列表中,使得代理设备处理从包括在管理列表中的终端接收到的分组。

在图16的实施例中,假设终端1 1610和终端2 1620在室内操作。假设接收到的信号强度在终端1 1610处为-60dB,在终端2 1620处为-40dB。

在这种情况下,代理设备可以假设终端1 1610具有低无线电质量的无线电连接,并且终端2 1620具有高无线电质量的无线电连接。因此,代理设备可以将终端1 1610包括在管理列表中,并且如果接收到终端1 1610的分组,则对终端1 1610的连接执行代理进程。

在本实施例中,代理设备可以在终端和服务器之间的初始连接过程中检查来得到终端的无线电条件,以确定是否在基于代理的分割连接模式下操作。详细地,如果从终端接收到对于TCP连接的同步(SYN)分组,则代理设备可以基于终端的无线电条件来确定是否在分割连接模式下操作。

在终端和服务器之间建立连接之后,如果终端移动并且因此无线电条件变差,代理设备可以检查来得到终端的无线电条件,以对终端和服务器之间的连接执行代理进程。

图17示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参考图17,在步骤S1710,代理设备可以获取无线连接的终端的无线电条件相关的信息。Wi-Fi AP可以获取与其无线连接的终端的无线电信息,并且在代理设备与Wi-Fi AP集成或者通过接口连接到Wi-Fi AP的本实施例中,代理设备可以获取无线电信息。无线电信息可以包括IP地址、服务集标识符(service set identifier,SSID)信息、操作系统(operating system,OS)名称、设备名称、RSSI、Tx/Rx速率信息(调制和编码方案(modulation and codingscheme,MCS))以及SNR中的至少一个。

同时,Wi-Fi AP检测到的关于无线连接的终端信息的信息可以由无线电质量检测模块管理。

在步骤S1720,代理设备可以检测具有低无线电质量的终端。代理设备将诸如RSSI和MCS的无线电条件相关的信息与阈值进行比较,以检测终端的无线电质量下降。

接下来,在步骤S1730,代理设备可以存储具有低无线电质量的终端的列表。详细地,为了管理的目的,代理设备可以将RSSI、SNR或Tx/Rx速率值小于预定的阈值的终端包括在管理列表中。

之后,在步骤S1740,代理设备可以进行监控以检测新的TCP连接。如果代理设备检测到新的TCP syn分组,则代理设备可以确定新的TCP连接被检测到。代理设备可以从syn分组获取已经请求连接的终端的IP地址。

接下来,代理设备可以在步骤S1750确定已经请求新连接的终端是否是低无线电质量终端。代理设备可以确定请求新的TCP连接的终端的IP地址是否包含在管理列表中。

如果从包含在管理列表中的终端接收到TCP syn分组,则在步骤S1760,代理设备可以对相应的连接执行代理进程。也就是说,代理设备可以生成向下到达网络层代理的控制消息,以请求将相应的终端的分组向上传递到代理设备。

如果无线连接的终端移动到高质量无线电区域,同时代理设备对流执行代理进程,则相应的流上的代理进程被保持。但是,如果存在新的传入流,则新的流将在网络层转发,而不需要代理进程。

如果从不包含在管理列表中的终端接收到TCP syn分组,则可以在终端和服务器之间建立TCP连接。然而,即使在这种情况下,代理设备也可以返回步骤S1720,以确定终端的无线电质量是否下降。如果终端的无线电质量下降,代理设备可以将相应的终端包括在管理列表中,并且对旧的TCP连接执行代理进程。代理设备可以仅对新的流上执行代理进程。

本公开可以包括组合第一实施例和第二实施例的实施例。例如,代理设备可以确定与终端建立的连接中的每一个是否是无线电连接(第一实施例),并且仅对分组丢失率大于阈值的无线电连接执行代理进程(第二实施例)。

图18示出了根据本公开实施例的代理设备的配置的图。

参考图18,代理设备可以包括收发器1810、控制器1820和存储器1830。在本公开中,控制器可以被定义为电路、专用集成电路或至少一个处理器。

收发器1810可以与其他网络实体交流信号。例如,收发器1810可以从服务器接收分组,并且将分组发送到终端。收发器1810可以向服务器发送对应于分组的ACK。

收发器可以从无线电质量检测模块接收诸如分组丢失率和序列号差值的信息。

控制器1820可以控制根据本公开提出的实施例的代理设备的整体操作。例如,控制器1820可以控制组件之间的信号流,以实现参考以上流程图描述的操作。

详细地,控制器1820可以从无线电质量检测模块接收分组丢失率信息,并且基于分组丢失率是否大于阈值来确定是否对相应的终端的连接执行代理进程。

控制器1820还可以从无线电质量检测模块接收关于序列号差值的信息,并且基于序列号差值是否大于阈值来确定是否对相应的终端的连接执行代理进程。

控制器1820还可以接收关于终端的无线电条件的信息,并且基于无线电条件信息是否小于阈值确定是否对相应的终端的连接执行代理进程。

控制器1820还可以控制本公开中提出的代理设备的其他操作,尽管这里省略了对其的详细描述。

存储器1830可以存储由收发器1810发送/接收并且由控制器1820生成的信息中的至少一个。例如,存储器1830可以存储从无线电质量检测模块接收到的信息和关于从服务器接收到的分组的信息。存储器1830可以存储终端的无线电信息,诸如从Wi-Fi AP接收到的IP信息、SSID信息、OS名称、设备名称、RSSI、Tx/Rx速率信息(MCS)信息和SNR。

本公开在改善代理系统性能和最小化传输延迟方面是有益的,这是通过取决于当前的系统负载以及TCP连接是否是使用WLAN的连接来确定是否分割该TCP连接并且转发信号而不经过应用层来实现的。

此外,在通过根据无线连接的终端的无线电条件通过选择性代理来增强无线链路上的性能以改善用户体验的网络质量方面,本公开是有益的。

同时,在示出实施例中的方法的附图中,描述的顺序不一定对应于执行的顺序,并且顺序关系可以被改变或并行地执行。

可替代地,示出本公开方法的附图可以省略一些元素,并且可以仅包括一些元素,而不损害本公开的实质。

此外,在不脱离本公开的实质的情况下,本公开的方法可以组合每个实施例中包括的内容中的一些或全部来执行。

尽管已经使用特定的术语描述了本公开的优选的实施例,但是说明书和附图应当被认为是说明性的,而不是限制性的,以便帮助理解本公开。本领域技术人员将理解,在不脱离本公开的更宽精神和范围的情况下,可以对其进行各种修改和改变。

尽管已经用各种实施例描述了本公开,但是可以向本领域技术人员建议各种改变和修改。本公开旨在涵盖落入所附权利要求范围内的这些改变和修改。

具体实施方式

为了更完整地理解本公开及其益处,现在结合附图做出以下描述的参考,其中相同的附图标记表示相同的部分:

图1示出了根据本公开实施例的代理系统和其他设备之间的关系图;

图2示出了根据本公开实施例的鉴于协议层的代理系统的配置以及代理系统中的设备之间的连接的图;

图3示出了根据本公开实施例的选择代理连接方法的过程的流程图;

图4示出了根据本公开实施例的用于选择代理连接模式的详细过程的流程图;

图5A示出了根据本公开实施例的用于确定在终端和代理之间建立的连接是否是无线连接的方法的流程图;

图5B示出了有线连接和无线连接之间的RTT分布差异的图;

图6A和图6B示出了根据本公开实施例的用于确定代理连接模式的过程的流程图;

图7示出了根据本公开实施例的代理设备的配置的框图;

图8示出了根据本公开实施例的室内环境的图;

图9示出了根据本公开实施例的网络配置的图;

图10示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的图;

图11示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;

图12示出了根据本公开实施例的用于检查以得到分组丢失率的方法的流程图;

图13示出了根据本公开的另一实施例的用于对到终端的连接选择性地执行代理进程的方法的图;

图14示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;

图15示出了根据本公开实施例的用于检查以得到终端的分组的序列号和来自终端的分组的序列号之间的差的方法的流程图;

图16示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的图;

图17示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图;以及

图18示出了根据本公开实施例的代理设备的配置的图。

具体实现方式

下面讨论的图1至图18以及在本专利文档中用于描述本公开的原理的各种实施例仅是示例性的,不应该以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或设备中实现。

参考附图详细描述了本公开的示例性实施例。

为了避免模糊本公开的主题,可以省略在此结合的众所周知的功能和结构的详细描述。这旨在省略不必要的描述,以便使本公开的主题清楚。

出于相同的原因,一些元素在附图中被放大、省略或简化,并且在实践中,这些元素可以具有不同于附图中示出的尺寸和/或形状。贯穿所有附图,相同的附图标记用于指相同的或相似的部分。

通过参考以下示例性实施例和附图的详细描述,可以更容易地理解本公开的益处和特征以及实现这些益处和特征的方法。然而,本公开可以以很多不同的形式体现,并且不应该被解释为限制在此阐述的示例性实施例。相反,提供这些示例性实施例使得本公开将是透彻的和完整的,并且将本公开的概念完全地传达给本领域技术人员,并且本公开将仅由所附的权利要求定义。贯穿整个说明书中,相同的附图标记是指相同的元素。

应当理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图中指定的功能/动作的部件。这些计算机程序指令也可以存储在非暂时性计算机可读存储器中,该非暂时性计算机可读存储器可以指导计算机或其他可编程数据处理装置以特定的方式运行工作,使得存储在非暂时性计算机可读存储器中的指令产生嵌入指令部件的制品,该指令部件实现流程图和/或框图中指定的功能/动作。计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中指定的功能/动作的步骤。

此外,各个框图可以示出包括用于执行特定的(多个)逻辑功能的至少一个或多个可执行指令的模块、段或代码的部分。此外,应该注意的是,在几个修改中,块的功能可以以不同的顺序执行。例如,两个连续的块可以基本上同时执行,或者可以根据它们的功能以相反的顺序执行。

根据本公开的各种实施例,术语“模块”意味着但是不限制于执行某些任务的软件或硬件组件,诸如现场可编程门阵列(Field Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuit,ASIC)。模块可以有益地被配置为驻留在可寻址储存介质上,并且被配置为在一个或多个处理器上执行。因此,例如,模块可以包括组件(诸如软件组件、面向对象的软件组件、类组件以及任务组件)、进程、功能、属性、过程、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、阵列和变量。组件和模块中提供的功能可以组合成更少的组件和模块,或者进一步分离成额外的组件和模块。此外,组件和模块可以被实现为使得它们在设备或安全多媒体卡中执行一个或多个CPU。

尽管在附图中以特定的顺序描绘,但是两个连续的步骤可以以相反的顺序或者并行地执行。

尽管为了便于解释,描述是针对无线通信系统,但是本公开适用于有线通信系统。

第一实施例

如上所述,服务器和终端之间用于使用互联网服务的TCP连接可以由代理分割成两部分:服务器和代理之间的连接以及代理和终端之间的连接。该代理具有各种用途(诸如超文本传输协议(hypertext transfer protocol,HTTP)高速缓存、防火墙以及加密服务器),并且特别有用于使用(或通过)无线通信网络(诸如WLAN)建立的TCP连接。这是因为安装在无线网络网关附近的分割连接代理将由无线网络中无线电信道的变化造成的分组丢失与有线网络中的拥塞分组丢失分离开,并且有通过防止TCP发送方不必要地减小拥塞窗口(congestion window,cwnd)的期望的增益。

根据代理实现,如果在终端上运行的进程尝试到服务器的连接,终端库拦截并且重定向到代理系统的连接尝试。然后,代理系统将服务器和终端之间的逻辑连接分割成两部分。

在执行上述进程的过程中,代理会经受性能问题。为了将数据从服务器传送到终端,应用层代理进程从代理和服务器之间的连接中读取打算给终端的数据,并且将该数据写入代理和终端之间的连接中。由于用于跨越操作系统的用户空间和内核空间之间的边界并且保留用于通过TCP/IP栈移动数据两次的进程的成本很高,代理可能会在系统中造成瓶颈效应(bottleneck effect)。这意味着代理可能会对服务器和终端之间的TCP连接造成增加端到端延迟的副作用,并且用于减轻端到端延迟的高规格设备的采用可能会增加代理管理员的实现成本。

如上所述,作为用于减少代理系统开销的代表性技术之一,通过建立服务器和代理之间的连接以及代理和终端之间的连接,而不经过用户空间的应用层,TCP分割能够最大化系统性能。也就是说,该TCP分割使得代理修改接收到的分组的报头是可能的,并且该分组不会通过协议栈被递送到用户空间,就好像代理像是在服务器和终端之间中继数据的层3.5(layer 3.5)路由器一样。

TCP分割的这种操作改善了代理系统的性能,并且将TCP连接控制移动到两个端点,即,TCP连接的服务器和终端,就好像它们之间不涉及代理。尽管这种技术取决于代理的使用目标来提供增益,但是如果这种技术被用于如前所述通过将无线通信网络中的分组丢失与TCP拥塞分组丢失分离开来增强TCP性能,则该技术可能会造成显著的丢失。

为了解决上面的问题,本公开提出了一种用于通过取决于TCP连接是否使用WLAN选择性地执行代理操作来改善代理系统性能的方法。

图1示出了根据本公开实施例的代理系统和其他设备之间的关系图。

代理系统位于终端和服务器之间的路径上,并且可以监听多个终端和服务器之间建立的多条路径。

参考图1,终端1 110和代理之间的连接可以通过使用(或经由)WLAN来建立,并且终端2 120和代理之间的连接可以经由有线局域网(local areanetwork,LAN)来建立。

图2示出了根据本公开实施例的鉴于协议层的代理系统的配置以及代理系统中的设备之间的连接的图。

在本公开中,代理系统可以将服务器和终端之间的连接分成两部分:服务器和代理之间的一个连接以及在代理和终端之间的另一连接。在代理系统的用户空间中运行的代理进程从服务器-代理连接读取打算给终端的数据,并且将该数据写入代理-终端连接。

通过将服务器和终端之间的连接分割成两部分:服务器-代理连接和代理-终端连接,即使当终端和代理系统之间的无线连接上发生分组丢失时,代理系统也能够防止服务器-代理连接上拥塞窗口的不必要的减少。也就是说,通过使用代理系统,将由无线信道(在终端和代理之间建立的)的变化造成的分组丢失与有线网络上的拥塞丢失分离开是可能的,从而防止拥塞窗口(cwnd)的不必要的减小。如果存在任何分组丢失,因为代理-终端连接上的往返时间(round-trip time,RTT)小于终端和服务器之间的连接上的RTT,所以重传可能会频繁地发生。

代理系统基于在建立TCP连接时测量的终端-代理连接上的RTT、RTT值的变化以及连接的物理端口(网络接口)处的先前重传发生率中的至少一个来确定代理-终端连接是否经由WLAN建立。稍后将详细描述该操作。

代理系统的系统负载监控单元220可以监控终端和服务器之间建立的TCP连接,以测量在协调(mediating)TCP连接过程中的负载的水平。代理系统可以被包括在室内设备(客户提供的仪器(customer-provided equipment,CPE))中或者位于靠近CPE或分离的地方。如果代理系统被包括在CPE中,则系统负载监控单元220可以监控CPE的负载水平。如果代理系统位于分离的地方,则系统负载监控单元220可以监控代理的负载信息。

代理系统的代理确定器230可以基于通过WLAN确定器210和系统负载监控单元220获取的信息,确定是否将在终端和服务器之间建立的连接分割成由应用层代理进程终止的终端-代理连接和代理-服务器连接,来执行TCP分割(层3.5转发),以用于修改接收到的传入分组的报头并且在内核空间的TCP栈中发送报头修改后的分组,而无需用户空间中的任何代理进程,或者执行层3(layer 3)转发,以用于在协调终端和服务器之间的TCP连接时将分组递送到IP栈中的下一个网络接口。

在本公开中,将终端和服务器之间的连接分割成终止于代理的应用层的两个连接的方案被称为分割连接模式,并且TCP分割或层3转发的方案被称为转发模式。这些操作模式将在后面详细描述。

在本公开中,代理系统采用两种操作方法。

第一种操作方法的特征在于,如果确定了用于TCP连接的代理连接模式分割连接、层3.5转发和层3转发)中的一个,则该代理连接模式直到连接被释放才改变。

第二种操作方法的特征在于,取决于系统负载和是否经由WLAN建立了TCP连接,在分割连接模式和转发模式(层3转发和层3.5转发)之间切换。这些操作方法将在后面详细描述。

图3示出了根据本公开实施例的选择代理连接模式的过程的流程图。

参考图3,代理可以在步骤S310确定当前系统负载值满足预定的条件。代理的代理确定器可以从系统负载监控单元获取当前系统负载值。

如上所述,代理系统可以位于CPE的内部或靠近CPE,或者位于与CPE分离的地方。系统负载值可以是代理系统位于CPE内部的情况下的CPE的负载值,或者是代理系统位于与CPE分离的地方的情况下的代理系统的负载值。在本公开中,系统负载值可以被称为代理相关的系统负载值。

预定的条件可以意味着系统负载值指示可用于支持分割连接的状态。也就是说,预定的条件可以意味着系统负载值大于第一阈值并且小于第二阈值。然而,本公开不限制于本实施例,并且可以包括其他实施例,其中预定的条件意味着根据第一阈值的设置范围,系统负载值大于第一阈值。

如果确定系统负载值满足预定的条件,代理可以在步骤S320确定终端和代理之间建立的连接是否是无线连接。

如果确定系统负载值不满足预定的条件,代理可以取决于系统负载值进入分割连接模式或转发模式。也就是说,代理可以根据系统负载值以分割连接方式处理通过终端和代理之间的连接发送/接收的数据,或者将该数据转发到服务器。

如果系统负载值满足预定的条件,并且在终端和代理之间建立的连接是无线连接,则在步骤S330,对于终端-代理连接,代理可以在分割连接模式下操作。代理也可以以分割连接方式处理通过终端-代理连接发送/接收的数据。

否则,如果终端和代理之间建立的连接不是无线连接,则在步骤S340,对于终端-代理连接,代理在转发模式下操作。代理也可以将通过终端-代理连接发送/接收的数据转发到服务器。

图4示出了根据本公开实施例的用于选择代理连接模式的详细过程的流程图。

如果流(或TCP连接)开始,则代理可以检查当前系统负载值。详细地,代理的代理确定器可以从系统负载监控单元获取当前系统负载值。

然后,在步骤S410,代理可以将检查的系统负载值与第一阈值进行比较。

如果系统负载值小于第一阈值,这意味着代理系统具有将每个流分割成两个连接(即,终端-代理连接和代理-服务器连接)的系统资源,这两个连接在应用层代理进程处终止,并且代理系统以分割连接方式处理这两个连接。

如果系统负载小于第一阈值,则代理可以将终端和服务器之间的连接分割成两个连接(即,终端-代理连接和代理-服务器连接),这两个连接在协调终端和服务器之间的流时由应用层代理进程终止。也就是说,如果系统负载值小于第一阈值,则代理可以以分割连接模式处理从终端到服务器/从服务器到终端的数据流。

如果系统负载大于第一阈值,则代理可以将系统负载与第二阈值进行比较。这里,第二阈值可以大于第一阈值。如果系统负载值大于第二阈值,这意味着系统负载已经达到代理系统不能再将在终端和服务器之间的连接分割成终端-代理连接和代理-服务器连接的水平,其中终端-代理连接和代理-服务器连接在分割连接模式下由应用层代理进程终止。因此,如果系统负载值大于第二阈值,代理可以在转发模式下操作。也就是说,代理可以转发在终端-代理连接上发送/接收的数据(层3转发或层3.5转发)。

如果系统负载值小于第二阈值,这意味着系统负载处于中间水平,使得处理所有流是不可能的,并且仅可能处理一些流,而在层3转发或层3.5转发模式下处理剩余流。

因此,如果系统负载小于第二阈值,则代理在步骤S430确定终端-代理连接是否是WLAN连接。

如果确定终端-代理连接是WLAN连接,则在步骤S440,代理可以通过将服务器和终端之间的连接分割成由应用层代理进程终止的两个连接,在分割连接模式下处理流。

如果确定终端-代理连接不是WLAN连接,则代理可以在步骤S450在转发模式下处理流。

本实施例针对这样的操作方法,其中如果确定了代理连接模式(分割连接、层3.5转发和层3转发)中的一个,则代理连接模式直到连接被释放时才改变;如上所述,代理可以在分割连接模式或转发模式下处理终端和代理之间新建立的连接。

然而,本公开不限制于上面的实施例,代理也可以将终端和代理之间的现有连接切换到分割连接模式或转发模式。

如果TCP连接被释放,则在步骤S460,代理可以在与物理端口(网络接口)或IP地址或者IP地址和端口号的组合相关联的相应流的创建之后,记录重传率、平均RTT以及RTT方差,以供将来参考。

图5A示出了根据本公开实施例的用于确定终端和代理之间建立的连接是否是无线连接的方法的流程图。

代理的WLAN确定器可以在步骤S510确定与流的物理端口(网络接口)相关联的先前记录的平均RTT是否等于或大于第一RTT阈值。这里,先前的平均RTT可以是存储在存储器中的所有RTT值的平均值,或者是通过对预定数量的最近记录的RTT值进行平均而获得的值。

如果确定平均RTT等于或大于第一RTT阈值,则代理可以在步骤S540确定相应的连接是WLAN连接。

参考图5B对其做出详细描述。

图5B示出有线连接和无线连接之间的RTT分布差异的示意图。

图5B示出了无线连接的RTT值可以大于有线连接的RTT值。第一RTT阈值可以基于无线连接和有线连接的RTT值来设置。根据本公开的实施例,作为示例,第一RTT阈值可以被设置为1。然而,本公开不限制于本实施例。

如果平均RTT等于或大于第一RTT阈值,则代理可以确定相应的连接是WLAN连接。

再次参考图5,如果确定平均RTT小于第一阈值,则代理可以在步骤S520确定与流的物理端口(网络接口)相关联的先前记录的RTT方差是否等于或大于第二阈值。RTT方差可以是存储在存储器中的所有RTT值的方差,或者是预定数量的最近记录的RTT值的方差。

如果确定RTT方差值等于或大于第二RTT阈值,则代理可以在步骤S530确定相应的连接是WLAN连接。

如果确定RTT方差小于第二RTT阈值,则代理在步骤S540确定与流的物理端口相关联的记录的重传率是否等于或大于预定的重传率阈值。这里,重传率可以是从记录的重传的总数量、或者在预定的最近时段期间或在最近的传输和重传之间的传输和重传总数量中计算的值。

如果确定重传率等于或大于重传率阈值,则代理可以在步骤S540确定相应的连接是WLAN连接。

否则,如果确定重传率小于重传率阈值,则代理可以在步骤S550确定相应的连接不是WLAN连接。

然而,本公开不限制于本实施例。代理可以基于步骤S510至S530的条件中的至少一个来确定终端-代理连接是否是WLAN连接。

例如,代理可以将平均RTT等于或大于第一RTT阈值的连接识别为WLAN连接,并且将平均RTT小于第一RTT阈值的连接识别为非WLAN连接。

代理可以以相反的或不同的顺序执行步骤S510至S530的操作,以确定终端-代理连接是否是WLAN连接。

例如,代理可以确定重传率是否等于或大于重传率阈值,如果确定重传率等于或大于重传率阈值,则确定终端-代理连接是WLAN连接。如果确定重传率小于重传率阈值,则代理可以确定RTT方差值是否等于或大于第二RTT阈值,如果RTT方差值等于或大于第二RTT阈值,则确定相应的连接是WLAN连接。

CPE和Wi-Fi路由器可以共处在相同的空间。在这种情况下,代理系统可以直接从Wi-Fi路由器接收指示相应的连接是否是WLAN连接的信息。在这种情况下,在不执行上述过程的情况下确定终端-代理连接是否是WLAN连接是可能的。

在上面的过程中,物理端口可以由IP地址或者IP地址和端口号的组合来代替。图6A和图6B是示出根据本公开实施例的用于确定代理连接模式的过程的流程图。

参考图6A和图6B,在步骤S610,代理可以在分割连接模式下开始操作。也就是说,代理可以在分割连接模式下处理终端和服务器之间的流,以创建终端-代理连接和代理-服务器连接。

接下来,代理可以在步骤S620确定终端-代理连接是否是WLAN流。

为此目的,代理可以在建立终端-代理连接的进程中测量终端和代理之间的RTT。基于代理向终端发送同步(synchronization,SYN)分组的时间点和代理接收由终端响应于SYN分组发送的确认(acknowledgement,ACK)分组的时间点之间的差来测量RTT是可能的。执行几次分组交换并且计算平均RTT,而不是通过执行一次分组交换来测量RTT也是可能的。代理可以将检查的RTT值与预定的RTT阈值进行比较,并且如果RTT值大于阈值,则确定相应的流是WLAN流。

如果代理在分割连接模式下操作以处理非WLAN流,这可能会增加系统负载,并且几乎不会给出实际增益。因此,在步骤S630,代理被切换到转发模式。也就是说,可以通过发起TCP分割将代理切换到层3.5转发模式,其中TCP分割能够以修改在一个连接上接收的分组的报头并且将报头修改后的分组转发到另一个连接上这种方式来减少系统负载。然而,本公开不限制于本实施例,并且本公开可以包括代理被切换到层3转发模式的实施例,在层3转发模式中,代理将接收到的分组转发到IP栈中的下一个网络接口。

如果终端-代理连接是WLAN流,代理可以在步骤S640确定系统负载是否小于预定的第三阈值。在本图的实施例中,第三阈值可以与图3或图4的实施例中描述的第一阈值相同或不同。尽管术语“第三阈值”用于与图3或图4的实施例的阈值区别,但是该术语可以改变。

如果系统负载值小于第三阈值,则在步骤S650,代理可以保持在分割连接模式。也就是说,代理可以通过分割连接将接收到的分组转发给另一个实体。

否则,如果系统负载值大于第三阈值,则在步骤S630,代理可以针对相应的连接执行模式切换到转发模式。

也就是说,如果系统负载值大于第三阈值,尽管相应的连接是WLAN流,代理不能迅速地处理该流,导致诸如延迟时间增加的副作用增加。因此,代理可以针对相应的连接执行模式切换到转发模式。也就是说,代理可以切换到层3.5转发模式,以用于修改在一个连接上接收到的传入分组的报头并且将报头修改后的分组转发到另一个连接。

之后,在步骤S660,代理可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率。

接下来,代理可以在步骤S670确定系统负载值是否大于第四阈值。

如果确定系统负载值大于第四阈值,则有必要将在分割连接模式下处理的流的一部分切换到转发模式(层3.5转发)以减少系统的负载。

因此,对于在WLAN连接上承载的流当中具有最低重传发生率的流,代理可以执行模式切换到转发模式(层3.5转发)。

这里,第四阈值可以等于第三阈值,或者基于或独立于第三阈值设置。

例如,在第四阈值等于第三阈值的情况下,对于系统负载小于第三阈值的情况,代理可以保持在分割连接模式,并且对于系统负载等于或大于第三阈值的情况,代理将WLAN连接的一部分切换到转发模式。

在第四阈值不等于第三阈值的情况下,第四阈值可以被设置为大于第三阈值,如图4所示。

因此,对于用分割连接模式配置的流,即使当系统负载大于第一阈值时,代理也可以不切换操作模式,并且可以在系统负载大于第二阈值的情况下,对WLAN连接的一部分执行模式切换到转发模式。

接下来,代理可以在步骤S690确定系统负载值是否小于第五阈值。如果在步骤S670确定系统负载值等于或小于第四阈值,或者在步骤S680对WLAN连接的一部分进行模式切换到转发模式之后,代理可以确定系统负载是否小于第五阈值。

如果系统负载小于第五阈值,这意味着系统负载低,并且因此,在步骤S695,代理可以针对在无线连接上承载的流当中具有先前测量的最高重传发生频率的流执行模式切换到分割连接模式。

这里,第五阈值可以基于或独立于第四阈值来确定。第五阈值也可以被设置为小于第四阈值。第五阈值也可以被设置为大于第三阈值。

如果系统负载大于第五阈值,或者在模式切换到分割连接模式之后,代理可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率,并且确定代理模式切换是否必要。

同时,图3和图4以及图6A和图6B的过程可以以组合方式执行。

例如,在图4的过程中,如果系统负载大于第一阈值并且小于第二阈值,并且如果相应的连接是WLAN连接,则代理可以在分割连接模式下操作。

在这种情况下,如参考图6B所述,代理可以在预定的时间段(T1)期间更新重传频率,并且确定系统负载值是否变得大于第二阈值。这里,第二阈值可以是参考图4描述的第二阈值。如果系统负载值变得大于第二阈值,代理可以针对具有最低重传频率的流执行模式切换到转发模式。

这里,如上所述,根据第二阈值的特征,对所有流或者具有最低重传频率的流执行模式切换到转发模式。例如,如果第二阈值被设置为当系统负载变得大于第二阈值时不再支持分割连接模式,则代理可以对所有流执行模式切换到转发模式。否则,如果第二阈值被设置成即使当系统负载大于第二阈值时也部分支持分割连接模式,则代理可以对流的一部分执行模式切换到转发模式。

代理可以将系统负载与设置在第一阈值和第二阈值之间的范围内的第三阈值进行比较,并且如果系统负载小于第三阈值,则针对具有高重传频率的流执行模式切换到分割连接模式。

图7示出了根据本公开实施例的代理设备的配置的框图。

如图7所示,代理设备可以包括收发器710、控制器720以及存储器730。在本公开中,控制器720可以被定义为电路、专用集成电路或至少一个处理器。控制器720可以包括WLAN确定器721、系统负载监控单元723和代理确定器725。

收发器710可以与其他网络实体传送信号。收发器710可以从终端接收分组,并且将该分组发送到服务器。

控制器720可以控制根据本公开的实施例的代理设备的整体操作。例如,控制器720可以控制组件之间的信号流,以执行如上参考流程图所述的操作。

详细地,WLAN确定器721可以基于在建立TCP连接时测量的终端-代理连接上的RTT、RTT值的变化以及在连接的物理端口(网络接口)处的先前重传发生率中的至少一个,确定终端和代理之间的连接是否经由WLAN建立。

系统负载监控单元723可以监控在终端和服务器之间建立的TCP连接,以获得在协调TCP连接的过程中的负载的水平。

代理确定器725可以基于通过WLAN确定器721和系统负载监控单元723获取的信息,确定将在终端和服务器之间建立的连接分割成由应用层代理进程终止的终端-代理连接和代理-服务器连接,来执行TCP分割(层3.5转发),以用于修改接收到的传入分组的报头并且在内核空间的TCP栈中发送报头修改后的分组,而无需用户空间中的任何代理进程,或者执行层3转发,以用于在协调终端和服务器之间的TCP连接时将分组递送到IP栈中的下一个网络接口。

详细地,控制器720可以通过系统负载监控单元723获取当前系统负载值,并且确定当前系统负载值是否满足预定的条件。

如果系统负载值满足预定的条件,则控制器720可以确定终端-代理连接是否是无线连接。

这里,预定的条件可以意味着系统负载值大于第一阈值并且小于第二阈值。然而,本公开不限制于本实施例,并且可以包括其中预定的条件意味着系统负载值大于第一阈值的其他实施例。

如果系统负载值不满足预定的条件,则控制器720可以取决于系统负载值在分割连接模式或转发模式下操作。也就是说,控制器720可以在分割连接映射器中处理通过终端和代理之间的连接发送/接收的数据,或者将数据转发到服务器。

如果系统负载值满足预定的条件,并且如果终端-代理连接是无线连接,则控制器720可以将代理配置为针对终端-代理连接在分割连接模式下操作。代理可以以分割连接方式处理通过终端-代理连接发送/接收的数据。

否则,如果终端-代理连接不是无线连接,则控制器720可以针对终端-代理连接在转发模式下操作。代理也可以将通过终端-代理连接发送的/接收的数据转发到服务器。

控制器720还可以取决于系统负载和终端-代理连接是否是WLAN连接,在分割连接模式和转发模式之间进行模式切换。

详细地,控制器720可以开始以分割连接模式处理新创建的流。控制器720可以确定终端-代理连接是否是WLAN流。上面已经描述了确定过程,因此在此省略该确定过程。

如果终端-代理连接不是WLAN流,则控制器720可以针对相应的连接进行模式切换到转发模式。

如果终端-代理连接是WLAN流,控制器720可以确定系统负载是否小于预定的第一阈值。参考图7描述的阈值可以等于或不同于参考图3或图4描述的阈值。

如果系统负载值小于第三阈值,控制器720可以控制以保持在分割连接模式。也就是说,控制器720可以通过分割连接将接收到的分组转发给另一个实体。

否则,如果系统负载值大于第一阈值,则控制器720可以针对相应的连接执行模式切换到转发模式。

之后,控制器720可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率。

接下来,控制器720可以确定系统负载值是否大于第二阈值。

如果系统负载值大于第二阈值,则控制器720可以针对WLAN连接上的流当中具有最低重传频率的流执行模式切换到转发模式(层3.5转发)。

接下来,控制器720可以确定系统负载值是否小于第三阈值。如果系统负载小于第三阈值,这意味着系统负载低,因此控制器720可以针对无线连接上的流当中具有最高重传发生频率的流执行模式切换到分割连接模式。

如果系统负载大于第三阈值,或者在模式切换到分割连接模式之后,控制器720可以在预定的时间段(T1)期间更新正由代理系统协调的所有单个流的重传发生频率,并且确定代理模式切换是否必要。

控制器720还可以控制根据本公开的实施例的代理的整体操作。

存储器730可以存储正通过收发器710发送/接收的信息或由控制器720生成的信息中的至少一个。例如,存储器730可以在与物理端口(网络接口)或IP地址或者IP地址和端口号的组合相关联的相应的流的创建之后记录重传率、平均RTT和RTT方差。存储器730也可以记录流的重传频率。

第二实施例

随着Wi-Fi渗透率的增加,基于WLAN的互联网接入已经普及,并且几乎所有的电器都通过有线或无线信道连接到互联网。然而,无线连接到室内WLAN接入点(access point,AP)的终端可能在远离WLAN AP或通过墙与WLAN AP分离的位置经历由低无线电信道质量造成的TCP性能下降。

为了在这种无线网络环境中达到用户体验的性能增强,可以考虑采用分割TCP(split TCP)技术,而不是设计成适用于有线网络环境的传统TCP拥塞控制技术。分割TCP是将在服务器和终端之间建立的连接分割成两个连接(即,服务器-代理连接和代理-终端连接)的技术,并且在本公开中,术语“TCP连接分割”、“代理”以及“代理进程”可以与分割TCP互换使用。

对于互联网服务提供商(internet service provider,ISP)的传统移动宽带(mobile broadband,MBB)服务,服务网关终端可以布置在网关(移动终端通过该网关连接到互联网)中,以负责精细的控制和数据服务管理。

代理设备可以用于这种控制和数据服务管理。也就是说,代理可以用于处理应用层中的数据,以便检查数据内容并且提供基于内容属性的服务(例如,广告***)的目的。

这里,为了解决使用代理时由服务网关的系统过载造成的性能下降问题,可以考虑灵活地对部分流量执行代理进程。

如果如上所述对整个流量执行代理进程,这可能会增加系统负载。因此,对整个流量执行代理进程是困难的。

在这方面,可以考虑一种用于分析数据内容方法,如果代理进程(由应用程序提供的服务)是必要的,则分割TCP连接,并且然后在完成服务之后耦合连接。在使用这种方法的情况下,设置为0的接收窗口尺寸被发送到服务器,以在释放和重建高速流量或延迟敏感流量的连接的过程中停止数据传输,并且作为结果,用户可能会感觉到数据流量中断。

也就是说,如果在用户正在观看视频流时执行代理进程的连接释放操作,则可能造成视频流的中断。

尽管在通过代理降低系统负载方面是有益的,但是上面的方法具有流量的中断影响用户使用的服务的缺点。

为了克服上面的问题,本公开提出了一种用于在针对终端的流上选择性地执行代理进程的方法,以改善以低质量和用户体验质量为特征的无线电链路上的流性能。

本公开还提出了一种方法,用于针对在通过墙与WLAN AP分离的位置处或位于远离室内WLAN AP的位置处或者受来自其他无线终端的电波干扰影响的位置处经历低无线电信道质量的用户终端选择性地执行代理进程,以便有效地改善TCP性能和用户体验的质量。

图8示出了根据本公开实施例的室内环境的图。

参考图8,家庭路由器(例如,室内设备、CPE以及家庭网关)820可以通过有线连接到互联网服务器810。在室内环境中,可以安装Wi-Fi AP(或WLAN AP))830来为终端提供无线互联网接入。

如上所述,当终端位于物理上与室内WLAN AP分离或远离WLAN AP或者易受室内环境中其他无线终端的电波干扰的位置时,分组丢失率增加可能会发生;如果在所有流上执行代理进程,这可能会增加系统负载。因此,需要克服这个问题,并且稍后将对其进行详细描述。

如上所述,代理设备可以位于室内设备中或位于分离的地方。家庭路由器和Wi-FiAP可以实现为单个设备(或集成到单个设备中),或者以分离的设备的形式实现。

图9示出了根据本公开实施例的网络的配置的图。

参考图9,家庭网关(路由器)930可以***在提供内容服务的服务器910和作为客户端的无线连接的终端920之间,以检测服务器910和终端920之间的TCP连接,并且在服务器910和终端920之间中继数据。

家庭网关(路由器)930可以包括用于网络性能增强的代理设备931和用于测量终端的无线电链路质量的无线电质量检测模块(或无线电质量检测器)932。

无线电质量检测模块932负责网络层933上的流量管理和监控功能。无线电质量检测模块932可以管理网络层933上的流量的连接信息、每个连接的流量的量和分组的数量以及分组序列信息。

无线电质量检测模块932监控从服务器910发送到客户端920的分组,并且单独地管理丢失的序列信息。无线电质量检测模块932可以监控从客户端920接收的确认(ACK)分组,并且如果存在与ACK分组相关的丢失的序列信息,则将序列信息与从服务器910接收到的分组中丢失的分组的序列信息进行比较;如果序列信息不匹配,则无线电质量检测模块932可以确定已经在无线电链路上发生分组丢失。如果分组丢失率变得大于阈值,则无线电质量检测模块932可以确定接收相应的流的终端在质量下降的无线电链路上操作。

在这种情况下,无线电质量检测模块932可以向代理设备931发送指示以大于阈值的分组丢失率接收流的终端在质量下降的无线电链路上操作的信息,并且代理设备931生成到网络层933命令以用于在相应的流上执行代理进程,使得网络层933拦截分组并且将分组转发给代理。这里,代理设备631生成到网络层933的信息可以包括与指示将具有特定IP地址的分组转发到代理的规则相关的信息。

详细地,无线电质量检测模块932可以向网络层933和代理设备931发送关于终端的质量下降的链路的流的信息,使得代理在相应的流上执行代理进程。

代理可以生成对应于网络层933发送的分组的ACK,并且将该ACK发送到网络层933,网络层933将该ACK发送到服务器910。这个进程可以被称为代理进程或者仅仅称为代理。

在本公开中,无线电质量检测模块932可以计算分组丢失率并且将分组丢失率发送给代理设备931,并且如果分组丢失率大于预定的阈值,则代理设备931可以命令网络层933将流向上传递给代理设备931。

尽管图9描绘了代理设备931和无线电质量检测模块932都包括在家庭网关930中,但是代理设备931和无线电质量检测模块932中的每一个可以独立地位于与家庭网关所在的地方分离的地方处,或者包括在至少一个室内设备中。无线电质量检测模块932也可以包括在代理设备931中。在以下描述中,假设代理设备931和无线电质量检测模块932包括在家庭网关930中。

家庭网关(路由器)可以以与Wi-Fi AP分离或集成的形式实现。Wi-Fi AP可以具有关于其连接到的终端的信息。因为在本实施例中假设代理设备包括在家庭网关中,所以对家庭网关与Wi-Fi AP分离的情况和家庭网关与Wi-FiAP集成的情况进行了不同的描述。然而,即使当代理设备不包括在家庭网关中时,代理设备也可以以与Wi-Fi AP分离或集成的形式来实现。

如上所述,尽管对于代理设备来说,为了网络性能增强,对到无线连接的终端的所有网络流执行代理进程是理想的,但是代理进程会增加系统负载,导致系统下降现象。因此,在需要代理进程的流上选择性地执行代理进程可能是更佳的。

在针对位于Wi-Fi AP附近的终端执行代理进程或者在无线电质量差的链路上操作的情况下,期望显著的网络性能增强是困难的。也就是说,具有良好的无线电质量的链路的无线连接的终端可以在没有代理进程的情况下享受良好的网络质量(带宽)。本公开旨在提供一种对在无线质量差的链路上操作的无线连接的终端执行代理进程的方法,以防止由流量损失造成的网络性能下降,从而改善用户体验的服务质量。

图10示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的图。

附图描绘了在Wi-Fi AP与家庭网关分离的情况下,对无线连接选择性地执行代理进程的方法。以与Wi-Fi AP分离的形式实现的家庭网关不具有关于无线连接到Wi-Fi AP的终端的信息,因此不能容易地确定终端的无线电情况。

因此,无线电质量检测模块可以测量无线电链路上的分组丢失率。无线电质量检测模块可以测量从终端接收到的重复ACK(duplicate ACK,DupACK)的数量,来检查以得到丢失的分组的数量。无线电质量检测模块可以检查以得到终端发送的分组的总数量,并且使用丢失的分组的数量和分组的总数量来计算无线电链路上的分组丢失率。

代理设备可以检查以得到分组丢失率,以确定分组丢失率是否大于阈值并且对承载终端的相应的流的TCP连接执行代理进程。

图10是在终端1 1010和终端2 1020位于室内的情况的假设下描绘的。

图10示出了终端1 1010比终端2 1020更靠近Wi-Fi AP。终端1 1010和终端2 1020的分组丢失率(DupACK率)分别为0.3%和1.6%,并且这意味着分组丢失率随着与Wi-Fi AP的距离增加而增加。

假设分组丢失率的阈值是1%,终端2 1020的分组丢失率大于阈值。在这种情况下,代理设备可以对终端2 1020的TCP连接执行代理进程。

图11示出了根据本公开实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参考图11,在步骤S1110,代理设备可以从无线电质量检测模块接收关于终端的无线电链路上的分组丢失率的信息。

如果无线电质量检测模块如上所述被包括在代理设备中,则代理设备可以检查以得到终端的无线电连接上的分组丢失率。

稍后将详细描述如何检查以得到分组丢失率。

接下来,代理设备可以在步骤S1120确定分组丢失率是否大于预定的阈值。

如果分组丢失率大于该阈值,则代理设备可以在步骤S1130对分组丢失率大于阈值的连接执行代理进程。

详细地,代理设备可以向家庭网关的网络层发送指令将在相应的连接上发送的/接收的分组传递到代理设备的信息。

也就是说,代理设备可以向网络层代理(network layer agent)发送控制消息。在接收到控制消息后,网络层代理可以拦截相应的流并且将其传递给驻留在应用层上的代理设备,并且代理设备可以向终端发送相应的流。代理设备可以生成与接收到的分组相对应的ACK消息到网络层代理,网络层代理将ACK消息发送到服务器。以这种方式,通过分割服务器和终端之间的连接来达到性能增强是可能的。

如果分组丢失率不大于阈值,则代理设备可以保持连接并且随后返回步骤S1110以接收分组丢失率。

图12示出了根据本公开实施例的用于检查以得到分组丢失率的方法的流程图。

在步骤S1210,无线电质量检测模块可以检测终端和服务器之间的TCP连接。无线电质量检测模块可以监控每个TCP连接以得到IP信息、发送和接收分组的数量、双向流量总量以及TCP数据序列信息。

无线电质量检测模块可以监控到服务器的TCP连接,以得到来自服务器的TCP数据的序列信息并且将丢失的序列信息存储在存储器中。

接下来,在步骤S1220,无线电质量检测模块可以检查丢失的分组的数量。基于从终端接收的重复DupACK的数量来检查丢失的分组的数量。

接下来,在步骤S1230,无线电质量检测模块可以测量分组丢失率。

无线电质量检测模块可以对每个TCP连接发送到终端的分组的数量进行计数。因此,无线电质量检测模块可以基于检查的丢失的分组数量和发送到终端的分组的数量来测量分组丢失率。

接下来,在步骤S1240,无线电质量检测模块可以向代理设备发送分组丢失率。

然而,本公开不限制于本实施例。无线电质量检测模块可以基于从终端接收到的DupACK的数量来检查以得到发送到终端的分组的数量和丢失的分组的数量,并且将关于发送的分组和丢失的分组的数量的信息发送到代理设备。代理设备可以计算分组丢失率,以确定是否对相应的连接执行代理进程。

无线电网络中的分组丢失率可能高。即使当终端位于Wi-Fi AP附近或者在没有干扰的位置,分组丢失也可能发生。因此,指定分组丢失发生率的阈值是必要的,即容许分组丢失率,以当分组丢失率大于该阈值时判断坏的无线电条件。

如果无线连接的终端的无线电链路上的分组丢失率大于预定的阈值,则代理设备可以确定无线电条件差,从而做出对相应的流执行代理进程的决定。

图13示出了根据本公开的另一实施例的用于对到终端的连接选择性地执行代理进程的方法的图。

图13针对当家庭网关以与Wi-Fi AP分离的形式实现时对无线连接选择性地执行代理进程的方法。

在附图中,无线电质量检测模块可以基于分组序列号检测无线电条件。详细地,无线电质量检测模块可以监控从服务器到终端的分组以及从终端到服务器的ACK,以得到数据分组序列号(data packet sequence number,DSN)和ACK序列号(ACK sequence number,ASN)。

无线电质量检测模块可以在某个时间点将DSN和ASN进行比较,以计算序列号之间的差。这里,DSN和ASN之间的差可以被称为网络序列号(network sequence number,NSN))或序列号差值。无线电质量检测模块可以基于NSN值来确定无线电链路上的质量条件。

例如,如果在某个时间DSN和ASN之间的差大于预定值,则无线电质量检测模块可以确定无线电链路上的质量条件差。如果发送的分组的序列号和ACK的序列号之间的差大,这意味着分组传输不平稳。

如果DSN和ASN之间的差的变化率大于预定的阈值变化率,则无线电质量检测模块可以确定无线电链路的质量条件差。DSN和ASN之间差的变化率可以在预定的时间段期间测量。

如果在预定的时间段期间,DSN和ASN之间的差的变化率大于阈值变化率,则无线电质量检测模块可以确定无线电链路的质量条件差。

当DSN和ASN之间的差值的平均值大于预定的阈值时,无线电质量检测模块确定无线电链路的质量条件差也是可能的。

在本公开中,序列号差、序列号差的变化率和序列号差的平均值可以被统称为序列号差相关的信息。

代理设备可以检查无线电链路的质量条件差,并且对包括具有差的质量条件的无线电连接的终端的TCP连接执行代理进程。

图14示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参照图14,在步骤S1410,代理设备可以接收关于从服务器发送到终端的分组的序列号和从终端发送到服务器的ACK的序列号之间的差的信息(在下文中,称为序列号差相关的信息)。

如上所述,如果无线电质量检测模块包括在代理设备中,则代理设备可以通过无线电质量检测模块检查以得到序列号差相关的信息。

如何检查以得到序列号差相关的信息将在后面详细描述。

接下来,代理设备可以在步骤S1420确定序列号差相关的信息是否大于阈值。

详细地,代理设备可以确定序列号差值是否大于阈值。确定序列号差的变化率是否大于阈值、或者序列号差的平均值是否大于阈值也是可能的。

如果序列号差相关的信息大于阈值,则在步骤S1430,代理设备可以对序列号差值大于阈值的连接执行代理进程。在这种情况下,代理设备可以向家庭网关的网络层代理发送关于相应的流的信息,并且网络层代理将相应的流向上传递给代理设备。流信息可以包括指令将在相应的连接上流动的分组向上传递到代理设备的信息。

代理设备向网络层代理发送控制消息。网络层代理可以将相应的流向上传递到驻留在应用层上的代理设备,并且代理设备可以将相应的流发送给终端。代理设备还可以生成与接收到的分组相对应的ACK消息到网络层代理,网络层代理发送ACK消息到服务器。以这种方式,通过分割服务器和终端之间的连接来实现性能增强是可能的。

如果序列号差相关的信息不大于阈值,则代理设备可以保持连接并且随后返回步骤S1410以接收序列号差值。

图15示出了根据本公开实施例的用于检查以得到去往终端的分组的序列号和来自终端的分组的序列号之间的差的方法的流程图。

在步骤S1510,无线电质量检测模块可以检测终端和服务器之间的TCP连接。无线电质量检测模块可以监控每个TCP连接以得到IP信息、发送和接收分组的数量、双向流量总量和TCP数据序列信息。

在步骤S1520,无线电质量检测模块可以记录发送到终端的分组的序列信息。

在步骤S1530,无线电质量检测模块可以记录从终端接收到的分组的序列信息。

无线电质量检测模块可以计算在某个时间点由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差。

无线电质量检测模块还可以计算在预定的时段期间由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差的变化率。

无线电质量检测模块还可以计算在预定的时段期间由服务器发送的分组的序列信息和从终端接收到的分组的序列信息之间的差的平均值。

在步骤S1540,无线电质量检测模块可以将计算到的信息作为序列号差相关的信息发送给代理设备。

图16示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的图。

图16针对当家庭网关以与Wi-Fi AP集成的形式实现时,对无线连接选择性地执行代理进程的方法。在本实施例中,在Wi-Fi AP和家庭网关之间存在用于交换信息的接口。与Wi-Fi AP集成或通过接口连接到Wi-Fi AP的家庭网关可以获取关于无线连接到Wi-Fi AP的终端的信息,从而确定无线连接的终端的无线电条件。

如果终端的无线电条件相关的信息小于预定的阈值,则代理设备可以对相应的终端的连接执行代理进程。无线电条件相关的信息可以包括接收信号强度指示符(receivedsignal strength indicator,RSSI)和信噪比(signal-to-noiseratio,SNR);如果代理设备检测到具有无线电条件相关的信息值小于阈值的终端,则代理设备可以对相应的终端的连接执行代理进程。

这里,代理设备可以将终端包括在管理列表中,使得代理设备处理从包括在管理列表中的终端接收到的分组。

在图16的实施例中,假设终端1 1610和终端2 1620在室内操作。假设接收到的信号强度在终端1 1610处为-60dB,在终端2 1620处为-40dB。

在这种情况下,代理设备可以假设终端1 1610具有低无线电质量的无线电连接,并且终端2 1620具有高无线电质量的无线电连接。因此,代理设备可以将终端1 1610包括在管理列表中,并且如果接收到终端1 1610的分组,则对终端1 1610的连接执行代理进程。

在本实施例中,代理设备可以在终端和服务器之间的初始连接过程中检查来得到终端的无线电条件,以确定是否在基于代理的分割连接模式下操作。详细地,如果从终端接收到对于TCP连接的同步(SYN)分组,则代理设备可以基于终端的无线电条件来确定是否在分割连接模式下操作。

在终端和服务器之间建立连接之后,如果终端移动并且因此无线电条件变差,代理设备可以检查来得到终端的无线电条件,以对终端和服务器之间的连接执行代理进程。

图17示出了根据本公开的另一实施例的用于对终端的连接选择性地执行代理进程的方法的流程图。

参考图17,在步骤S1710,代理设备可以获取无线连接的终端的无线电条件相关的信息。Wi-Fi AP可以获取与其无线连接的终端的无线电信息,并且在代理设备与Wi-Fi AP集成或者通过接口连接到Wi-Fi AP的本实施例中,代理设备可以获取无线电信息。无线电信息可以包括IP地址、服务集标识符(service set identifier,SSID)信息、操作系统(operating system,OS)名称、设备名称、RSSI、Tx/Rx速率信息(调制和编码方案(modulation and codingscheme,MCS))以及SNR中的至少一个。

同时,Wi-Fi AP检测到的关于无线连接的终端信息的信息可以由无线电质量检测模块管理。

在步骤S1720,代理设备可以检测具有低无线电质量的终端。代理设备将诸如RSSI和MCS的无线电条件相关的信息与阈值进行比较,以检测终端的无线电质量下降。

接下来,在步骤S1730,代理设备可以存储具有低无线电质量的终端的列表。详细地,为了管理的目的,代理设备可以将RSSI、SNR或Tx/Rx速率值小于预定的阈值的终端包括在管理列表中。

之后,在步骤S1740,代理设备可以进行监控以检测新的TCP连接。如果代理设备检测到新的TCP syn分组,则代理设备可以确定新的TCP连接被检测到。代理设备可以从syn分组获取已经请求连接的终端的IP地址。

接下来,代理设备可以在步骤S1750确定已经请求新连接的终端是否是低无线电质量终端。代理设备可以确定请求新的TCP连接的终端的IP地址是否包含在管理列表中。

如果从包含在管理列表中的终端接收到TCP syn分组,则在步骤S1760,代理设备可以对相应的连接执行代理进程。也就是说,代理设备可以生成向下到达网络层代理的控制消息,以请求将相应的终端的分组向上传递到代理设备。

如果无线连接的终端移动到高质量无线电区域,同时代理设备对流执行代理进程,则相应的流上的代理进程被保持。但是,如果存在新的传入流,则新的流将在网络层转发,而不需要代理进程。

如果从不包含在管理列表中的终端接收到TCP syn分组,则可以在终端和服务器之间建立TCP连接。然而,即使在这种情况下,代理设备也可以返回步骤S1720,以确定终端的无线电质量是否下降。如果终端的无线电质量下降,代理设备可以将相应的终端包括在管理列表中,并且对旧的TCP连接执行代理进程。代理设备可以仅对新的流上执行代理进程。

本公开可以包括组合第一实施例和第二实施例的实施例。例如,代理设备可以确定与终端建立的连接中的每一个是否是无线电连接(第一实施例),并且仅对分组丢失率大于阈值的无线电连接执行代理进程(第二实施例)。

图18示出了根据本公开实施例的代理设备的配置的图。

参考图18,代理设备可以包括收发器1810、控制器1820和存储器1830。在本公开中,控制器可以被定义为电路、专用集成电路或至少一个处理器。

收发器1810可以与其他网络实体交流信号。例如,收发器1810可以从服务器接收分组,并且将分组发送到终端。收发器1810可以向服务器发送对应于分组的ACK。

收发器可以从无线电质量检测模块接收诸如分组丢失率和序列号差值的信息。

控制器1820可以控制根据本公开提出的实施例的代理设备的整体操作。例如,控制器1820可以控制组件之间的信号流,以实现参考以上流程图描述的操作。

详细地,控制器1820可以从无线电质量检测模块接收分组丢失率信息,并且基于分组丢失率是否大于阈值来确定是否对相应的终端的连接执行代理进程。

控制器1820还可以从无线电质量检测模块接收关于序列号差值的信息,并且基于序列号差值是否大于阈值来确定是否对相应的终端的连接执行代理进程。

控制器1820还可以接收关于终端的无线电条件的信息,并且基于无线电条件信息是否小于阈值确定是否对相应的终端的连接执行代理进程。

控制器1820还可以控制本公开中提出的代理设备的其他操作,尽管这里省略了对其的详细描述。

存储器1830可以存储由收发器1810发送/接收并且由控制器1820生成的信息中的至少一个。例如,存储器1830可以存储从无线电质量检测模块接收到的信息和关于从服务器接收到的分组的信息。存储器1830可以存储终端的无线电信息,诸如从Wi-Fi AP接收到的IP信息、SSID信息、OS名称、设备名称、RSSI、Tx/Rx速率信息(MCS)信息和SNR。

本公开在改善代理系统性能和最小化传输延迟方面是有益的,这是通过取决于当前的系统负载以及TCP连接是否是使用WLAN的连接来确定是否分割该TCP连接并且转发信号而不经过应用层来实现的。

此外,在通过根据无线连接的终端的无线电条件通过选择性代理来增强无线链路上的性能以改善用户体验的网络质量方面,本公开是有益的。

同时,在示出实施例中的方法的附图中,描述的顺序不一定对应于执行的顺序,并且顺序关系可以被改变或并行地执行。

可替代地,示出本公开方法的附图可以省略一些元素,并且可以仅包括一些元素,而不损害本公开的实质。

此外,在不脱离本公开的实质的情况下,本公开的方法可以组合每个实施例中包括的内容中的一些或全部来执行。

尽管已经使用特定的术语描述了本公开的优选的实施例,但是说明书和附图应当被认为是说明性的,而不是限制性的,以便帮助理解本公开。本领域技术人员将理解,在不脱离本公开的更宽精神和范围的情况下,可以对其进行各种修改和改变。

尽管已经用各种实施例描述了本公开,但是可以向本领域技术人员建议各种改变和修改。本公开旨在涵盖落入所附权利要求范围内的这些改变和修改。

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于处置无线通信网络中的通信的无线电网络节点、无线装置以及在其中执行的方法

相关技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类