CN111247774A - 高级网络分析 - Google Patents
高级网络分析 Download PDFInfo
- Publication number
- CN111247774A CN111247774A CN201880068575.3A CN201880068575A CN111247774A CN 111247774 A CN111247774 A CN 111247774A CN 201880068575 A CN201880068575 A CN 201880068575A CN 111247774 A CN111247774 A CN 111247774A
- Authority
- CN
- China
- Prior art keywords
- network
- packets
- metrics
- average
- transport layer
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
Abstract
所述实施例提供了用于推断网络类型和网络状况的***和方法。所述***包括被配置为从多个TCP网络连接中捕获多个网络分组的分组捕获引擎。所述***包括被配置为分析多个网络分组以生成多个度量的分组分析器。所述***包括被配置为基于多个度量和至少一个分类模型来推断多个TCP连接的网络类型的网络分类器。所述***还包括被配置为基于多个度量和网络类型对每个TCP连接估计网络拥塞级别的状况分级引擎。
Description
相关申请的交叉引用
本申请要求于2018年3月28日提交的名称为“INFERRING RADIO TYPE FROMCLUSTERING ALGORITHMS”的美国非临时申请No.15/938,753,和于2018年3月28日提交的名称为“INFERRING CONGESTION AND SIGNAL QUALITY”的美国非临时申请No.15/938,753的优先权,这两个美国非临时申请均要求于2017年8月30日提交的名称为“ADVANCED NETWORKANALYTIC”的美国临时申请No.62/552,207的优先权,以上所有申请的全部内容通过引用包含于此以用于所有目的。
背景技术
可以配置计算环境以促进诸如移动电话的用户设备与其他计算装置之间的连接。例如,蜂窝网络允许用户使用各种网络协议和技术经由移动电话进行通信。蜂窝网络中的网络性能可能受包括信号强度和网络拥塞在内的因素影响。但是,可能难以通过分析网络上发送的分组来深入了解网络性能不良的具体潜在原因。
发明内容
本公开针对用于根据网络类型对TCP连接进行分类以及估计网络状况的***和方法。本解决方案检查通过TCP连接传输的网络分组,以生成与网络性能有关的各种度量。基于这些度量推断TCP连接的网络类型,然后可以近实时地确定网络的信号质量和拥塞级别。
通过检查连接端点之间任何位置的TCP分组,可以准确地推断出移动用户所经历的网络类型和网络状况。特别地,在移动无线网络中,可以推断出无线电接入技术(例如2G、3G和4G),并且可以感知到所感知的网络拥塞(例如,无、中、高)和信号质量(例如,优、良、不良)。本公开包括用于以高准确度推断TCP连接的无线电接入类型的机器学习流水线的新颖设计。本公开还包括移动无线网络中的拥塞和信号质量的巧妙建模,以及用于产生高级网络分析的TCP连接的非侵入式监控。
在移动无线网络领域中,TCP的性能下降是一个众所周知的问题,其原因也是众所周知的。但是,TCP的复杂性和动态性与移动无线网络中使用的各种无线电链路技术相结合,阻碍了建立可解释TCP连接的感知性能的可靠模型。本公开对TCP与基础无线电接入技术的复杂交互进行建模,并且在性能和无线电接入类型方面提供对网络的全面了解。因此,本公开中提供的解决方案允许根据移动订户所经历的状况来分析网络的整体行为。在此用例的上下文中,实体(例如,蜂窝网络服务提供商、经由蜂窝网络分发内容的内容提供商等)可以利用此特征进行网络分析,并使用分析进行前瞻性规划。实体还可以通过对使用不同装置和网络类型的用户跟踪在用户采用方面的成功信息或用户流失,使用本公开中提供的解决方案进行市场分析。另外,本公开提供了可以基于每个订户的当前网络状况,针对每个订户独立地并且近实时地适配TCP配置文件的解决方案。在此用例的上下文中,实体可以通过检测无线网络类型和无线电特性以为每个用户装置配置最佳TCP配置文件,使用该特征来改善用户体验。实体也可以将此特征用于策略驱动的操作,该操作可以允许服务和内容提供商基于用户体验(例如,较小的文件用于更受约束的用户)进行决策。
如本公开中所描述的自适应TCP在将来可能变得越来越重要,这主要是由于平均TCP连接大小(以字节或持续时间表示)的增加以及新网络技术的采用。鉴于此,拥塞控制算法应在更多网络技术中保持其效率。与传统较昂贵并难以管理的分布式、基于探针的解决方案相比,以集中和非侵入的方式提供全面的网络分析,使本发明的解决方案更具吸引力。
一个方面提供了一种用于识别传输层连接的网络类型的方法。该方法可以包括建立经由提供与多种类型的网络的通信的多个传输层连接通过一个或多个装置的网络流量的度量。该度量可以至少包括网络流量的分组的到达间隔。该方法可以包括由网络分类器至少使用多种类型的网络的度量将多种类型的网络分类为分类模型。该方法可以包括:由网络分类器响应于接收传输层连接的一个或多个分组的装置,至少基于一个或多个分组的度量和分类模型针对该传输层连接识别多种类型的网络中的一种网络类型。
在一些实施例中,该方法可以包括从通过一个或多个装置的多个传输层连接的网络流量中捕获分组。在一些实施例中,多种类型的网络可以包括移动网络或固定网络之一。在一些实施例中,移动网络可以包括2G、3G、4G或5G网络之一。
在一些实施例中,度量可以包括以下一项或多项:平均吞吐量、平均瞬时吞吐量、平均到达间隔、平均发送间隔、最大往返时间、最小往返时间、平均往返时间、平均负载延迟和平均噪声延迟。在一些实施例中,度量可以包括以下一项或多项:在预定到达间隔内的网络流量的分组的百分比,以及具有预定到达间隔内的到达间隔的分组的概率。
在一些实施例中,可以经由包括移动网络的一种类型的网络与移动装置建立传输层连接。在一些实施例中,该方法可以包括:由网络分类器至少基于将一个或多个分组的度量与由网络分类器为多种类型的网络建立的分类模型进行比较,来推断传输层连接的网络类型。在一些实施例中,该方法可以包括由网络分类器基于度量中的到达间隔来区分不同的网络类型。在一些实施例中,该方法可以包括由网络分类器基于度量中的平均最小往返时间来区分不同的网络类型。
另一个方面提供了一种用于识别传输层连接的网络类型的***。该***可以包括网络分类器,该网络分类器可以在一个或多个处理器上执行,该网络分类器耦合到存储器,并且被配置为接收通过一个或多个装置的网络流量的度量,这些网络流量经由提供与多种类型的网络的通信的多个传输层连接。度量可以至少包括网络流量的分组的到达间隔。网络分类器可以被配置为至少使用多种类型的网络的度量,将多种类型的网络分类为分类模型。网络分类器可以被配置为响应于接收传输层连接的一个或多个分组的装置,至少基于一个或多个分组的度量和分类模型,针对该传输层连接识别多种类型的网络中的一种网络类型。
在一些实施例中,从通过一个或多个装置的多个传输层连接的网络流量中捕获分组。在一些实施例中,多种类型的网络可以包括移动网络或固定网络之一。在一些实施例中,移动网络可以包括2G、3G、4G或5G网络之一。
在一些实施例中,度量可以包括以下一项或多项:平均吞吐量、平均瞬时吞吐量、平均到达间隔、平均发送间隔、最大往返时间、最小往返时间、平均往返时间、平均负载延迟和平均噪声延迟。在一些实施例中,度量可以包括以下一项或多项:在预定到达间隔内的网络流量的分组的百分比,以及具有在预定到达间隔内的到达间隔的分组的概率。
在一些实施例中,可以经由包括移动网络的一种类型的网络与移动装置建立传输层连接。在一些实施例中,网络分类器还可以被配置为至少基于将一个或多个分组的度量与由网络分类器为多种类型的网络建立的分类模型进行比较,来推断传输层连接的网络类型。在一些实施例中,网络分类器还可以被配置为基于度量中的到达间隔来区分不同的网络类型。在一些实施例中,网络分类器还可以被配置为基于度量中的平均最小往返时间在不同的网络类型之间进行区分。
另一个方面提供了一种用于确定传输层连接的网络拥塞和信号质量的方法。该方法可以包括:由在一个或多个处理器上执行的网络分类器针对提供与多种类型的网络的通信的多个传输层连接,基于通过一个或多个装置的网络流程的度量为多种类型的网络建立分类模型。该方法可以包括由网络分类器接收传输层连接的多个分组的度量。该方法可以包括由网络分类器至少基于度量和分类模型对传输层连接的网络类型进行分类。该方法可以包括由一个或多个处理器,基于度量和网络类型的分类,来确定传输层连接的拥塞级别和信号质量。该方法可以包括由一个或多个处理器,经由用户界面提供传输层连接的拥塞级别和信号质量的显示。
在一些实施例中,多种类型的网络可以包括移动网络的类型或固定网络的类型之一。在一些实施例中,移动网络的类型可以包括2G、3G、4G或5G网络之一。
在一些实施例中,该方法可以包括根据度量确定多个分组中的每个分组的负载和噪声延迟。在一些实施例中,该方法可以包括确定传输层连接的平均负载延迟和平均噪声延迟。在一些实施例中,该方法可以包括相对于传输层连接的平均连接延迟确定相对平均负载延迟和相对平均噪声延迟。
在一些实施例中,该方法可以包括至少基于传输的字节数来确定理想吞吐量度量,并且排除网络拥塞和噪声。在一些实施例中,该方法可以包括基于理想吞吐量度量和传输层连接的平均吞吐量的函数来确定传输层连接的劣化百分比。在一些实施例中,该方法可以包括基于理想吞吐量度量和负载延迟的函数来确定传输层连接的拥塞级别。在一些实施例中,该方法可以包括基于理想吞吐量度量和噪声延迟的函数来确定传输层连接的信号质量。
另一个方面提供了一种用于识别传输层连接的网络拥塞和信号质量的***。该***可以包括网络分类器,该网络分类器可以在一个或多个处理器上执行、耦合到存储器并且被配置为:针对提供与多种类型的网络的通信的多个传输层连接,基于通过一个或多个装置的网络流程的度量为多种类型的网络建立分类模型网络分类器可以被配置为接收传输层连接的多个分组的度量。网络分类器可以被配置为至少基于度量和分类模型来分类传输层连接的网络类型。一个或多个处理器可以被配置为基于度量和网络类型的分类来确定传输层连接的拥塞级别和信号质量,并经由用户界面显示传输层连接的拥塞级别和信号质量。
在一些实施例中,多种类型的网络可以包括移动网络的类型或固定网络的类型之一。在一些实施例中,移动网络的类型可以包括2G、3G、4G或5G网络之一。
在一些实施例中,一个或多个处理器还可以被配置为根据度量确定多个分组中的每个分组的负载和噪声延迟。在一些实施例中,一个或多个处理器还可以被配置为确定传输层连接的平均负载延迟和平均噪声延迟。在一些实施例中,一个或多个处理器还可以被配置为相对于传输层连接的平均连接延迟来确定相对平均负载延迟和相对平均噪声延迟。
在一些实施例中,一个或多个处理器还可以被配置为至少基于传输的字节数来确定理想吞吐量度量,并且排除网络拥塞和噪声。在一些实施例中,一个或多个处理器还可以被配置为基于理想吞吐量度量和传输层连接的平均吞吐量的函数来确定传输层连接的劣化百分比。在一些实施例中,一个或多个处理器还可以被配置为基于理想吞吐量度量和负载延迟的函数来确定传输层连接的拥塞级别。在一些实施例中,一个或多个处理器还可以被配置为基于理想吞吐量度量和噪声延迟的函数来确定传输层连接的信号质量。
另一个方面提供了一种用于基于高级网络分析生成分类模型以对传输层网络连接进行分类的方法。该方法包括从多个TCP网络连接中捕获多个网络分组。该方法包括分析多个网络分组以生成多个度量。该方法包括为所有所分析的TCP网络连接收集和合并所生成的度量。该方法包括聚类所生成的度量以将标记分配给多个TCP连接。该方法还包括为TCP连接生成分类模型。
另一个方面提供了一种基于高级网络分析生成分类模型以对传输层网络连接进行分类的***。所述***包括分组捕获引擎,其被配置为从多个TCP网络连接中捕获多个网络分组。该***包括分组分析器,其被配置为分析多个网络分组以生成多个度量。该***包括数据累加器,其被配置为为所有所分析的TCP网络连接收集和合并所生成的度量。该***包括数据标记器,其被配置为对所生成的度量进行聚类以将标记分配给多个TCP连接。该***还包括模型生成器,其被配置为为TCP连接生成分类模型。
另一个方面提供了一种用于推断网络类型和网络状况的方法。该方法包括从多个TCP网络连接中捕获多个网络分组。该方法包括分析多个网络分组以生成多个度量。该方法包括基于多个度量和至少一个分类模型来推断多个TCP连接的网络类型。该方法还包括基于多个度量和网络类型来估计每个TCP连接的网络拥塞级别。
另一个方面提供了一种用于推断网络类型和网络状况的***。该***包括分组捕获引擎,其被配置为从多个TCP网络连接中捕获多个网络分组。该***包括分组分析器,其被配置为分析多个网络分组以生成多个度量。该***包括网络分类器,其被配置为基于多个度量和至少一个分类模型来推断多个TCP连接的网络类型。该***还包括状况分级引擎,其被配置为基于多个度量和网络类型来估计每个TCP连接的网络拥塞级别。
提供本发明内容以简化形式介绍概念的选择,以下在详细描述中进一步描述。本发明内容既不旨在标识关键特征或必要特征,也不旨在限制随附的权利要求的范围。
附图说明
本文所公开的实施例的目的、方面、特征和优点将根据下面的详细描述、所附权利要求和附图变得更加显而易见,附图中相似的附图标记标识类似或相同的元件。说明书中结合附图引入的附图标记可以在一个或多个后续附图中重复,而无需在说明书中进行额外描述,以便为其他特征提供上下文,并且并非每个元件都可以在每个附图中标记。附图不一定按比例绘制,而重点在于解释实施例、原理和概念。附图不旨在限制随附的权利要求的范围。
图1A是根据示意性实施例的网络计算***的框图;
图1B是根据示意性实施例的用于经由设备将计算环境从服务器交付到客户机的网络计算***的框图;
图1C是根据示意性实施例的计算装置的框图;
图2是根据示意性实施例的用于处理客户机与服务器之间的通信的设备的框图;
图3是根据示意性实施例的虚拟化环境的框图;
图4是根据示意性实施例的集群***的框图;
图5是移动无线计算环境的实施例的框图;
图6描绘了用于LTE和WCDMA的无线协议栈;
图7A描绘了说明HARQ机制的示例过程;
图7B描绘了示出TCP连接中的分组延迟的图730;
图7C描绘了比例公平调度器的示例;
图7D描绘了示出LTE连接的分组的到达/发送间隔的累积分布函数(CDF)的图;
图7E描绘了示出WCDMA连接的分组的到达/发送间隔的累积分布函数(CDF)的图。
图8A是图5所示的网络分析***的框图;
图8B是用于生成分类模型的示例方法的流程图;
图8C描绘了示出按网络类型的TCP连接的簇的图;
图8D描绘了示出数据标记器如何分离和识别不同网络类型的连接的图;
图8E是用于推断网络类型、网络状况和信号质量的示例方法的流程图;
图8F是用于识别传输层连接的网络类型的示例方法的流程图;
图8G是用于确定传输层连接的网络拥塞和信号质量的示例方法的流程图;
图9A-9C示出了可用于估计负载和噪声延迟的算法;
图10A描绘了示出多个连接上的拟合曲线的图;
图10B示出了描绘模型的图,该模型表示拥塞和噪声影响不同长度的TCP连接的性能的方式;
图11A-11D描绘了分析报告的样例集;
图12A和12B描绘了评估报告的样例集;
图13是示例的总体架构框图;
图14是用于说明网络拥塞和信号质量的示例移动网络;
图15示出了各种移动网络技术中的网络层;
图16示出了3G和4G网络的重传间隔阈值;
图17是示出由拥塞和噪声引起的延迟的图;
图18是示出由CQI效率指数和CQR的映射得到的类别的图;
图19A和图19B是示出使用不同参数的模型的识别率的图;
图20A和20B示出了与网络状况有关的各种模型的实验结果;
图21示出了估计一个示例计算环境的连接的最大理论吞吐量的图;
图22示出了描绘模型的图,该模型表示拥塞和噪声影响相同连接长度的TCP连接的性能的方式;和
图23A和23B示出了对3G和4G网络类型实施上述CCL/CSQ算法的结果。
具体实施方式
为了阅读以下各个实施例的描述,本说明书各部分及其各自内容的以下描述可能是有帮助的:
A部分描述了可用于实践本文描述的实施例的计算环境;以及
B部分描述了用于使用高级网络分析来对传输层连接进行分类的***和方法。
A.计算环境
在讨论设备和/或客户机的***和方法的实施例的细节之前,讨论可以在其中部署这样的实施例的计算环境可能是有帮助的。
参照图1A,描绘了示意性网络环境100。网络环境100可以包括经由一个或多个网络104(1)-104(n)(通常称为网络104)与一个或多个服务器106(1)-106(n)(通常也称为远程机器106或服务器106)通信的一个或多个客户机102(1)-102(n)(通常也称为本地机器102或客户机102)。在一些实施例中,客户机102可以经由一个或多个设备200(1)-200n(通常称为设备200或网关200)与服务器106通信。
尽管图1A所示的实施例示出了客户机102和服务器106之间的一个或多个网络104,但在其他实施例中,客户机102和服务器106可以在同一网络104上。各种网络104可以是相同类型的网络或不同类型的网络。例如,在一些实施例中,网络104(1)可以是诸如局域网(LAN)或公司内联网的专用网络,而网络104(2)和/或网络104(n)可以是诸如广域网(WAN)或互联网的公共网络。在其他实施例中,网络104(1)和网络104(n)都可以是专用网络。网络104可以采用一种或多种类型的物理网络和/或网络拓扑,诸如有线和/或无线网络,并且可以采用一种或多种通信传输协议,诸如传输控制协议(TCP)、互联网协议(IP)、用户数据报协议(UDP)或其他类似协议。
如图1A所示,一个或多个设备200可以位于网络环境100的各个点处或各个通信路径中。例如,设备200可以部署在两个网络104(1)和104(2)之间,并且设备200可以相互进行通信以协同工作,例如,加速客户机102和服务器106之间的网络流量。在其他实施例中,设备200可以位于网络104上。例如,设备200可以被实现为客户机102和/或服务器106之一的一部分。在一个实施例中,设备200可以被实现为网络设备,例如由佛罗里达州劳德代尔堡的Citrix Systems公司销售的产品。
如图1A所示,一个或多个服务器106可以作为服务器场38工作。服务器场38的服务器106可以被逻辑分组,并且可以与客户机102和/或其他服务器106在地理上位于相同地点(例如,在本地)或在地理上分散(例如,基于云)。在一个实施例中,服务器场38代表一个或多个客户机102(例如,作为应用服务器)执行一个或多个应用,然而其他用途也是可能的,例如文件服务器、网关服务器、代理服务器或其他类似的服务器的用途。客户机102可以寻求对服务器106上托管的应用的访问。
如图1A所示,在一些实施例中,设备200可以包括一个或多个另外的设备,由其替换或与之通信,例如WAN优化设备205(1)-205(n),通常被称为WAN优化设备205。例如,WAN优化设备205可以加速、高速缓存、压缩或以其他方式优化或改善网络流量(诸如去往和/或来自WAN连接的流量)的性能、操作、流量控制或服务质量,例如,优化广域文件服务(WAFS)、加速服务器消息块(SMB)或通用互联网文件***(CIFS)。在一些实施例中,设备205可以是性能增强代理或WAN优化控制器。在一个实施例中,设备205可以被实现为由佛罗里达州劳德代尔堡的Citrix Systems公司销售的产品。
参照图1B,示出了用于在客户机102上交付和/或操作计算网络环境的示例网络环境100'。如图1B所示,服务器106可以包括用于将计算环境、应用和/或数据文件交付给一个或多个客户机102的应用交付***190。客户机102可以包括客户机代理120和计算环境15。计算环境15可以执行或操作应用16,应用16访问、处理或使用数据文件17。计算环境15、应用16和/或数据文件17可以经由设备200和/或服务器106被交付。
设备200可以例如通过应用交付***190来加速计算环境15的全部或一部分到客户机102的交付。例如,设备200可以通过加速客户机102和服务器106之间的传输层流量,来加速从数据中心到远程用户位置的流应用和该应用可处理的数据文件的交付。可以通过一种或多种技术来提供这种加速,例如:1)传输层连接池,2)传输层连接多路复用,3)传输控制协议缓存,4)压缩,5)高速缓存或其他技术。设备200还可以提供服务器106的负载平衡,以处理来自客户机102的请求,充当代理或访问服务器以提供对一个或多个服务器106的访问,提供安全性和/或充当客户机102与服务器106之间的防火墙,提供域名服务(DNS)解析,提供一个或多个虚拟服务器或虚拟互联网协议服务器,和/或提供从客户机102到服务器106的安全虚拟专用网络(VPN)连接,例如安全套接字层(SSL)VPN连接和/或提供加密和解密操作。
应用交付管理***190可以基于策略引擎195所应用的认证和授权策略,以远程或其他方式将计算环境15交付给用户(例如,客户机102)。远程用户可以获得计算环境并从任意的网络连接装置(例如,客户机102)访问服务器存储的应用和数据文件。例如,设备200可以从服务器106请求应用和数据文件。响应于该请求,应用交付***190和/或服务器106可以例如经由应用流,或者经由远程显示协议,或者以其他经由基于远程或基于服务器的计算的方式,将应用和数据文件交付到客户机102,以在客户机102上的计算环境15中进行操作。在一个实施例中,应用交付***190可以被实现为Citrix Systems公司的CitrixWorkspace SuiteTM的任何部分,例如或
策略引擎195可以控制和管理对应用的访问、执行和交付。例如,策略引擎195可以确定用户或客户机102可以访问的一个或多个应用和/或应如何将应用交付给用户或客户机102,例如基于服务器的计算、流传输或本地交付应用到客户机120以供本地执行。
例如,在操作中,客户机102可以请求执行应用(例如,应用16’),并且服务器106的应用交付***190例如基于从客户机102接收到的凭证以及与凭证关联的策略引擎195所应用的用户策略,来确定如何执行应用16’。例如,应用交付***190可以使客户机102能够接收通过在服务器106上执行应用而生成的应用输出数据,可以使客户机102能够在从服务器106接收到应用之后本地执行该应用,或者可以经由网络104将该应用流传输到客户机102。例如,在一些实施例中,该应用可以是代表客户机102在服务器106上执行的基于服务器或基于远程的应用。服务器106可以通过使用瘦客户机或远程显示协议(诸如佛罗里达州劳德代尔堡的Citrix System公司的独立计算架构(ICA)协议),向客户机102显示输出。该应用可以是与实时数据通信有关的任何应用,例如用于以下的应用:流传输图形,流传输视频和/或音频或其他数据,交付远程桌面或工作空间或托管的服务或应用,例如基础设施即服务(IaaS),工作空间即服务(WaaS),软件即服务(SaaS)或平台即服务(PaaS)。
服务器106中的一个或多个可以包括性能监控服务或代理197。在一些实施例中,可以采用专用的一个或多个服务器106来执行性能监控。例如,可以通过软件、硬件或它们的组合使用数据收集、聚合、分析、管理和报告来执行性能监控。性能监控可以包括一个或多个代理,用于在客户机102(例如,客户机代理120)、服务器106(例如,代理197)或设备200和/或205(代理未示出)上执行监控、测量和数据收集的活动。通常,监控代理(例如,120和/或197)对装置的任何应用和/或用户透明地执行(例如,在后台)。在一些实施例中,监控代理197包括佛罗里达州劳德代尔堡的Citrix System公司的称为EdgeSight的任何产品实施例。
监控代理可以基于给定事件的发生或者在网络环境100的工作期间实时地以预定频率监控、测量、收集和/或分析数据。监控代理可以监控客户机102、网络104、设备200和/或205、和/或服务器106的资源消耗和/或硬件的性能、软件和/或通信资源。例如,诸如传输层连接的网络连接,网络时延,带宽利用率,终端用户响应时间,应用使用情况和性能,与应用的会话连接,高速缓存使用情况,存储器使用情况,处理器使用情况,存储使用情况,数据库事务,客户机和/或服务器利用率,活跃用户,用户活动的持续时间,应用崩溃、错误或挂起,登录到应用、服务器或应用交付***所需的时间,和/或其他性能状况和度量都可以得到监控。
监控代理可以为应用交付***190提供应用性能管理。例如,基于一个或多个被监控的性能状况或度量,应用交付***190可以被动态地(例如周期性地或实时地)调整,以基于网络环境性能和状况来优化服务器106向客户机102的应用交付。
在所描述的实施例中,客户机102、服务器106以及设备200和205可以被部署为任何类型和形式的计算装置和/或在任何类型和形式的计算装置上执行,例如能够通过至少一个网络进行通信并执行本文所述的操作的任何台式计算机、膝上型计算机或移动装置。例如,客户机102、服务器106和/或设备200和205可各自对应于一个计算机、多个计算机或诸如图1C所示的计算机101的分布式计算机的网络。
如图1C所示,计算机101可以包括一个或多个处理器103、易失性存储器122(例如,RAM)、非易失性存储器128(例如,一个或多个硬盘驱动器(HDD)或其他磁性或光学存储介质、一个或多个固态驱动器(SSD)(例如闪存驱动器或其他固态存储介质)、一个或多个混合磁性和固态驱动器、和/或一个或多个虚拟存储卷(例如云存储)、或这种物理存储卷和虚拟存储卷或其阵列的组合)、用户界面(UI)123、一个或多个通信接口118和通信总线150。用户界面123可包括图形用户界面(GUI)124(例如,触摸屏、显示器等)和一个或多个输入/输出(I/O)装置126(例如,鼠标、键盘等)。非易失性存储器128存储操作***115、一个或多个应用程序116和数据117,从而例如由处理器103从易失性存储器122中执行操作***115和/或应用116的计算机指令。可以使用GUI 124的输入装置来输入数据,或者可以从I/O装置126接收数据。计算机101的各种元件可以经由通信总线150进行通信。图1C所示的计算机101仅作为示例示出,因为可以通过任何计算或处理环境,以及可以具有能够如本文所述操作的合适的硬件和/或软件的任何类型的机器或机器组,来实现客户机102、服务器106和/或设备200和205。
处理器103可以由执行一个或多个计算机程序的一个或多个可编程处理器来实现,用以执行***功能。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以被硬编码到电子电路中,或者通过存储在存储器装置中的指令被软编码。“处理器”可以使用数字值或使用模拟信号执行功能、操作或操作序列。在一些实施例中,“处理器”可以以一个或多个应用专用集成电路(ASIC)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器、或具有关联存储器的通用计算机来实现。“处理器”可以是模拟、数字或混合信号。在一些实施例中,“处理器”可以是一个或多个物理处理器或一个或多个“虚拟”(例如,位于远程的或“云”)处理器。
通信接口118可以包括一个或多个接口,以使计算机101能够通过各种有线和/或无线或蜂窝连接来访问诸如LAN,WAN或互联网的计算机网络。
在所描述的实施例中,第一计算装置101可以代表客户机计算装置(例如,客户机102)的用户执行应用,可以执行虚拟机,该虚拟机提供执行会话,应用在该执行会话(例如托管的桌面会话)内代表用户或客户机计算装置(例如客户机102)执行,可以执行终端服务会话以提供托管的桌面环境,或者可以提供对包括以下中的一个或多个的计算环境的访问:一个或多个应用、一个或多个桌面应用以及可以在其中执行一个或多个应用的一个或多个桌面会话。
网络环境100、客户机102、服务器106以及设备200和205的实施例和操作的附加详细信息可以如在2017年1月3日授予佛罗里达州劳德代尔堡的Citrix Systems公司的美国专利No.9,538,345中所述,其教导通过引用并入本文。
图2示出了设备200的示例性实施例。如本文所述,设备200可以被实现为服务器、网关、路由器、交换机、网桥或其他类型的计算或网络装置。如图2所示,设备200的实施例可以包括硬件层206和被划分为用户空间202和内核空间204的软件层205。硬件层206提供硬件组件,在该硬件组件上执行内核空间204和用户空间202内的程序和服务,并允许内核空间204和用户空间202中的程序和服务相对于设备200在内部和外部进行数据通信。如图2所示,硬件层206可以包括用于执行软件程序和服务的一个或多个处理单元262、用于存储软件和数据的存储器264、用于通过网络发送和接收数据的网络端口266、以及用于对诸如与通过网络发送和接收的数据的安全套接字层(SSL)或传输层安全协议(TLS)处理有关的数据进行加密和解密的加密处理器260。
设备200的操作***将可用***存储器分配、管理或以其他方式分离到内核空间204和用户空间202中。内核空间204被保留用于运行内核230,包括任何设备驱动程序、内核扩展或其他与内核相关的软件。如本领域技术人员所知,内核230是操作***的核心,并提供对应用104的资源和与硬件相关的组件的访问、控制和管理。内核空间204还可以包括与高速缓存管理器232一起工作的许多网络服务或进程。
设备200可以包括一个或多个网络协议栈267,例如基于TCP/IP的协议栈,用于与客户机102、服务器106、网络104和/或其他设备200或205通信。例如,设备200可以建立和/或终止在客户机102和服务器106之间的一个或多个传输层连接。每个网络协议栈267可以包括用于对一个或多个网络分组进行排队以供设备200传输的缓冲器243。
内核空间204可以包括高速缓存管理器232、分组引擎240、加密引擎234、策略引擎236和压缩引擎238。换句话说,进程232、240、234、236和238中的一个或多个在设备200的操作***的内核地址空间中运行,例如,因为在内核模式下获得的数据可能不需要传递或复制到用户进程、线程或用户级别的数据结构,所以这可以减少往返于存储器的数据事务的数量和/或内核模式和用户模式之间的上下文切换。
高速缓存管理器232可以复制存储在其他位置的原始数据或先前计算、生成或传输的数据,以减少数据的访问时间。在一些实施例中,高速缓存存储器可以是设备200的存储器264中的数据对象,或者可以是具有比存储器264更快的访问时间的物理存储器。
策略引擎236可以包括统计引擎或其他配置机制,以允许用户标识、指定、定义或配置缓存策略以及对由设备200缓存的对象、数据或内容的访问、控制和管理,以及定义或配置安全性、网络流量、网络访问、压缩或由设备200执行的其他功能。
加密引擎234可以处理任何与安全有关的协议,例如SSL或TLS。例如,加密引擎234可以对经由设备200传送的网络分组或其任何部分进行加密和解密,可以例如在客户机102、服务器106和/或其他设备200或205之间设置或建立SSL、TLS或其他安全连接。在一些实施例中,加密引擎234可以使用隧道协议以提供在客户机102和服务器106之间的VPN。在一些实施例中,加密引擎234与加密处理器260通信。压缩引擎238对在客户机102和服务器106之间和/或在一个或多个设备200之间的双向网络分组进行压缩。
分组引擎240可以管理由设备200经由网络协议栈267接收和传输的分组的内核级处理,以经由网络端口266发送和接收网络分组。分组引擎240可以与加密引擎234、高速缓存管理器232、策略引擎236和压缩引擎238一起工作,例如以执行加密/解密、流量管理(例如请求级内容切换和请求级缓存重定向)以及数据的压缩和解压缩。
用户空间202是由用户模式应用或以其他方式在用户模式下运行的程序使用的存储区域或操作***的一部分。用户模式应用可能无法直接访问内核空间204,而是使用服务调用来访问内核服务。用户空间202可以包括图形用户界面(GUI)210、命令行界面(CLI)212、shell服务214、健康状况监控器216和守护进程服务218。GUI 210和CLI 212能够使***管理员或其他用户诸如经由设备200的操作***与设备200的操作交互并控制设备200的操作。shell服务214包括程序、服务、任务、进程或可执行指令,以支持用户经由GUI 210和/或CLI 212与设备200的交互。
健康状况监控器216监控、检查、报告并确保网络***正常运行,并且确保用户通过网络,例如通过监控设备200的活动来接收所请求的内容。在一些实施例中,健康状况监控器216拦截并检查经过设备200的任何网络流量。例如,健康状况监控器216可以与加密引擎234、高速缓存管理器232、策略引擎236、压缩引擎238、分组引擎240、守护进程服务218和shell服务214中的一个或多个接口,以确定设备200的任何部分的状态、状况、操作条件或健康状况。此外,健康状况监控器216可以确定程序、进程、服务或任务是否是激活的并且当前正在运行,检查由任何程序、进程、服务或任务提供的状态、错误或历史日志以确定设备200的任何部分的任何条件、状态或错误。此外,健康状况监控器216可以测量和监控在设备200上执行的任何应用、程序、进程、服务、任务或线程的性能。
守护进程服务218是连续运行或在后台运行并处理由设备200接收到的周期***请求的程序。在一些实施例中,守护进程服务可以根据需要将请求转发到其他程序或进程,例如另一个守护进程服务218。
如本文所述,设备200可以通过打开与每个服务器106的一个或多个传输层连接并维持这些连接以允许由客户机经由互联网(例如“连接池”)的重复数据访问,来减轻服务器106的重复打开和关闭与客户机102的传输层连接所引起的大部分处理负荷。为了执行连接池,设备200可以通过在传输层协议级别修改序列号和确认号来转换或复用通信(例如,“连接复用”)。设备200还可以为客户机102和服务器106之间的通信提供交换或负载平衡。
如本文所述,每个客户机102可以包括客户机代理120,用于经由网络104与设备200和/或服务器106建立和交换通信。客户机102可以已经安装和/或执行正在与网络104通信的一个或多个应用。客户机代理120可以拦截来自一个或多个应用使用的网络协议栈的网络通信。例如,客户机代理120可以在网络协议栈中的任意点处截取网络通信,并将网络通信重定向到由客户机代理120期望、管理或控制的目的地,例如以截取并重定向至由客户机代理120控制或管理的IP地址和端口的传输层连接。由此,客户机代理120可以透明地拦截传输层下方的任何协议层(例如网络层)和传输层上方的任何协议层(例如会话、表示或应用层)。客户机代理120可以与传输层接口,以保护、优化、加速、路由或负载平衡经由传输层所承载的任何协议提供的任何通信。
在一些实施例中,客户机代理120被实现为由佛罗里达州劳德代尔堡的CitrixSystems公司开发的独立计算架构(ICA)客户机。客户机代理120可以执行加速、流传输、监控和/或其他操作。例如,客户机代理120可以加速从服务器106到客户机102的应用的流传输。客户机代理120还可以执行端点检测/扫描,并且为设备200和/或服务器106收集客户机102的端点信息。设备200和/或服务器106可以使用所收集的信息来确定并提供对客户机到网络104的连接的访问、身份验证和授权控制。例如,客户机代理120可以识别和确定一个或多个客户机侧属性,例如:操作***和/或操作***的版本、操作***的补丁、正在运行的服务、正在运行的进程、文件、客户机的各种应用的存在或版本,例如防病毒、防火墙、安全性和/或其他软件。
设备200的实现和操作的附加细节可以如在2017年1月3日授予佛罗里达州劳德代尔堡的Citrix Systems公司的美国专利号9,538,345中所述,该专利的教导在此通过引用并入本文。
现在参考图3,示出了虚拟化环境400的框图。如图所示,虚拟化环境400中的计算装置402包括虚拟化层403、管理程序层404和硬件层407。管理程序层404包括一个或多个管理程序(或虚拟化管理器)401,其分配和管理由在虚拟化层403中执行的至少一个虚拟机(VM)(例如,VM 406中之一)对硬件层407中的多个物理资源(例如,物理处理器421和物理磁盘428)的访问。每个VM 406可以包括分配的虚拟资源,例如虚拟处理器432和/或虚拟磁盘442,以及虚拟资源,例如虚拟存储器和虚拟网络接口。在一些实施例中,VM 406中的至少一个可以包括与管理程序401通信的控制操作***(例如405),并用于执行用于管理和配置装置402上的其他VM(例如来宾操作***410)的应用。
通常,管理程序401可以以模拟操作***访问物理装置的任何方式向VM 406的操作***提供虚拟资源。因此,管理程序401可以用于仿真虚拟硬件、划分物理硬件、虚拟化物理硬件以及执行提供对计算环境的访问的虚拟机。在示意性实施例中,管理程序401可以被实现为XEN管理程序,例如,如由开源Xen.org社区所提供的XEN管理程序。在示意性实施例中,执行创建虚拟机平台的管理程序的装置402被称为主机服务器,可在该虚拟机平台上执行来宾操作***。在这样的实施例中,装置402可以被实现为由佛罗里达州劳德代尔堡的Citrix Systems公司提供的XEN服务器。
管理程序401可以创建一个或多个VM 406,在其中执行操作***(例如,控制操作***405和/或来宾操作***410)。例如,管理程序401加载虚拟机映像以创建VM 406以执行操作***。管理程序401可以向VM 406呈现硬件层407的抽象,和/或可以控制如何将硬件层407的物理能力呈现给VM 406。例如,管理程序401可以管理分布在多个物理计算装置上的资源池。
在一些实施例中,VM 406之一(例如,执行控制操作***405的VM)可以例如通过管理VM的执行和/或终止和/或管理对VM的虚拟资源的分配来管理和配置其他VM 406。在各种实施例中,VM可以经由例如一个或多个应用编程接口(API)、共享存储器和/或其他技术与管理程序401和/或其他VM通信。
通常,VM 406可以向装置402的用户提供对虚拟化计算环境400内的资源的访问,例如,一个或多个程序、应用、文档、文件、桌面和/或计算环境或其他资源。在一些实施例中,VM 406可以被实现为完全虚拟化的VM,其不知道它们是虚拟机(例如,硬件虚拟机或HVM)。在其他实施例中,VM可以知道它是虚拟机,和/或VM可以被实现为半虚拟化(PV)VM。
尽管在图3中示出为包括单个虚拟化装置402,但虚拟化环境400可以在***中包括多个网络化装置,在该***中,至少一个物理主机执行虚拟机。VM在其上执行的装置可以被称为物理主机和/或主机。例如,设备200可以在任何计算装置(例如客户机102、服务器106或设备200)上的虚拟化环境400中附加或替代地实现。虚拟设备可以提供用于可用性、性能、健康状况监控、缓存和压缩、连接复用和池化和/或安全处理(例如,防火墙、VPN、加密/解密等)的功能,类似于关于设备200所描述的。
虚拟化计算环境400的实施例和操作的附加细节可以如在2017年1月3日授予佛罗里达州劳德代尔堡的Citrix Systems公司的美国专利号9,538,345中所述,该专利的教导通过引用合并于此。
在一些实施例中,服务器可以例如在多核处理***的各种核和/或多个处理器装置的各种处理器上执行多个虚拟机406。例如,尽管在本文中通常被示为“处理器”(例如,在图1C、2和3中),但是一个或多个处理器可以被实现为单核或多核处理器,以提供多线程、并行架构和/或多核架构。每个处理器和/或核都可以具有或使用分派或分配以供私人或本地使用的、仅由该处理器/核可访问的存储器,和/或可以具有或使用公共或共享的并且由多个处理器/核可访问的存储器。这样的架构可以允许在一个或多个处理器和/或一个或多个核上的工作、任务、负载或网络流量分布(例如,通过功能并行、数据并行、基于流的数据并行等)。
此外,代替(或除了)以物理处理器/核的形式实现的核的功能,还可以在客户机102、服务器106或设备200上的虚拟化环境(例如400)中实现这种功能,以使得可以在多个装置之间实现该功能,例如计算装置的集群、服务器场或计算装置的网络等。各种处理器/核可以使用各种接口技术(例如核到核消息传递、共享存储器、内核API等)与彼此接口或通信。
在采用多个处理器和/或多个处理器核的实施例中,所描述的实施例可以在核或处理器之间分配数据分组,例如以平衡跨核的流。例如,分组分配可以基于每个核执行的功能、源和目的地地址的确定,和/或是否:相关联的核上的负载高于预定阈值;相关联的核上的负载低于预定阈值;相关联的核上的负载小于其他核上的负载;或者可以用于部分地基于处理器上的负载量来确定将数据分组转发到何处的任何其他度量。
例如,可以使用接收侧缩放(RSS)在核或进程之间分配数据分组,以便使用网络中的多个处理器/核来处理分组。RSS通常允许在多个处理器/核之间平衡分组处理,同时维持分组的有序交付。在一些实施例中,RSS可以使用哈希方案来确定用于处理分组的核或处理器。
RSS可以从任何类型和形式的输入(例如值的序列)生成哈希。该值的序列可以包括网络分组的任何部分,例如网络分组的任何头部、字段或有效载荷,并且包括与网络分组或数据流相关联的任何信息元组,例如地址和端口。哈希结果或其任何部分可以用于识别处理器、核、引擎等,以例如经由哈希表、间接表或其他映射技术来分配网络分组。
多处理器和/或多核***的实施例和操作的附加细节可以如在2017年1月3日授予佛罗里达州劳德代尔堡的Citrix Systems公司的美国专利号9,538,345中描述的,其教导在此通过引用并入本文。
尽管在图1A和1B中示出为单个设备,但设备200可以被实现为一个或多个分布式或集群设备。个体的计算装置或设备可以称为集群的节点。集中式管理***可以执行负载平衡、分配、配置或其他任务,以允许多个节点作为单个计算***一起操作。可以将这种集群视为单个虚拟设备或计算装置。图4示出了示意性计算装置集群或设备集群600的框图。多个设备200或其他计算装置(例如,节点)可以被加入单个集群600中。集群600可以作为应用服务器、网络存储服务器、备份服务或任何其他类型的计算装置工作来执行设备200和/或205的许多功能。
在一些实施例中,集群600的每个设备200可以被实现为如本文所述的多处理器和/或多核设备。如果集群将分组分配到集群的节点,并且每个节点分配用于处理的分组到节点的处理器/核,则这样的实施例可以采用两层分配***。在许多实施例中,集群600的设备200中的一个或多个可以被物理地分组或在地理位置上彼此邻近,例如给定机箱、机架和/或数据中心中的一组刀片服务器或机架安装装置。在一些实施例中,集群600的设备200中的一个或多个可以在地理上分布,即多个设备200不在物理上或地理位置上位于同一位置。在这样的实施例中,地理上远程的设备可以通过专用网络连接和/或VPN来加入。在地理上分布的实施例中,负载平衡还可以考虑地理上远程的设备之间的通信时延。
在一些实施例中,集群600可以被认为是虚拟设备,其经由常见配置、管理和目的被分组,而不是作为物理组。例如,设备集群可以包括由一个或多个服务器执行的多个虚拟机或进程。
如图4所示,设备集群600可以经由客户机数据平面602耦合到第一网络104(1),例如以在客户机102和设备集群600之间传输数据。客户机数据平面602可以被实现为交换机、集线器、路由器或集群600内部或外部的其他类似网络装置,以在集群600的各个节点之间分配流量。例如,可以基于以下执行流量分配:等价多路径(ECMP)路由(其下一跳(hop)配置有集群的设备或节点)、开放式最短路径优先(OSPF)、基于无状态哈希的流量分配、链路聚合(LAG)协议或任何其他类型和形式的流分配、负载平衡和路由。
设备集群600可以经由服务器数据平面604耦合到第二网络104(2)。类似于客户机数据平面602,服务器数据平面604可以被实现为交换机、集线器、路由器或其他网络装置,其可以在集群600的内部或外部。在一些实施例中,客户机数据平面602和服务器数据平面604可以合并或组合到单个装置中。
在一些实施例中,集群600的每个设备200可以经由内部通信网络或背板606连接。背板606可以启用节点间或设备间控制和配置消息,以用于节点间的流量转发,和/或用于将配置和控制流量从管理员或用户传送到集群600。在一些实施例中,背板606可以是物理网络、VPN或隧道或其组合。
集群600的附加细节可以如在2017年1月3日授予佛罗里达州劳德代尔堡的CitrixSystems公司的美国专利号9,538,345中的描述,其教导通过引用合并于此。
B.使用高级网络分析对传输层连接进行分类
本公开针对用于根据网络类型对传输层连接(例如,TCP连接)进行分类以及估计网络状况的***和方法。本解决方案检查通过TCP连接传输的网络分组,来生成与网络性能有关的各种度量。基于这些度量来推断TCP连接的网络类型,然后可以近实时地确定网络的信号质量和拥塞级别。
通过检查连接端点之间任意位置的TCP分组,可以准确地推断出移动用户所经历的网络类型和网络状况。特别地,在移动无线网络中,可以推断出无线电接入技术(例如2G、3G和4G),并且可以感知到所感知的网络拥塞(例如,无、中、高)和信号质量(例如,优、良、不良)。本公开包括用于以高准确度推断TCP连接的无线电接入类型的机器学习流水线的新颖设计。本公开还包括对移动无线网络中的拥塞和信号质量的巧妙建模,以及用于产生高级网络分析的TCP连接的非侵入式监控。
在移动无线网络领域中,TCP的性能下降是一个众所周知的问题,其原因也是众所周知的。但是,TCP的复杂性和动态性,以及移动无线网络中使用的各种无线电链路技术,阻碍了建立可解释TCP连接的感知性能的可靠模型。本公开对TCP与基础无线电接入技术的复杂交互进行建模,并且在性能和无线电接入类型方面提供对网络的全面了解。因此,本公开中提供的解决方案允许根据移动订户所经历的状况来分析网络的整体行为。在此用例的上下文中,实体(例如,蜂窝网络服务提供商、经由蜂窝网络分发内容的内容提供商等)可以利用此特征进行网络分析,并使用分析进行前瞻性规划。实体还可以通过对使用不同装置和网络类型的用户跟踪在用户采用方面的成功信息或用户流失,使用本公开中提供的解决方案进行市场分析。另外,本公开提供了可以基于每个订户的当前网络状况,针对每个订户独立地并且近实时地适配TCP配置文件的解决方案。在此用例的上下文中,实体可以通过检测无线网络类型和无线电特性以为每个用户装置配置最佳TCP配置文件,来使用此特征以改善用户体验。实体也可以将此特征用于策略驱动的操作,其可以允许服务和内容提供商基于用户体验(例如,较小的文件用于更受约束的用户)进行决策。
如本公开中所述的自适应TCP在将来可能变得越来越重要,这主要是由于平均TCP连接大小(以字节或持续时间为单位)的增加以及采用新的网络技术的缘故。鉴于此,拥塞控制算法应在更多网络技术中保持其效率。与传统较昂贵并难以管理的分布式、基于探针的解决方案相比,以集中和基于非侵入的方式提供全面的网络分析,使本发明的解决方案更具吸引力。
现在参考图5,示出了移动无线计算环境700的实施例的图。计算环境700中的网络路径从右向左流动,并且包括网络分析***705。计算环境700中的TCP连接的性能下降主要是由最后一跳(即无线电接入链路)引起的。无论是由于不良的信号状况(数据损坏)还是网络负载(瓶颈)导致的,这两种现象都表现为往返时间(RTT)的增加。但是,要在此类网络上优化TCP的性能,区分这两种现象至关重要。本公开的解决方案主要集中于所描绘的网络路径的最后一跳,其在图5的左侧所示的天线与移动UE之间。特别地,本公开涉及基站向UE传输数据的方式。
现在参考图6,示出了与用户平面有关的用于LTE和WCDMA的无线协议栈710。无线协议栈710示出了跨越和没有跨越移动UE和互联网之间的整个路径的协议(没有跨越的协议在图6中标有星号“*”)。在这些协议中,数据链路层中的MAC和RLC对于本公开特别有意义,因为这两个协议为传输的用户数据实现了错误检测和恢复技术。数据恢复是通过重传来实现的。在RLC和MAC层中实现此功能的过程分别是ARQ和HARQ。图7A描绘了示例过程720,其示出了HARQ机制。每当接收到损坏的数据分组时,都会发生一系列重传,从而导致延迟,这些延迟被中继到上面的TCP层。每次重传都需要指定的时间才能完成,该时间由协议标准定义。这种类型的延迟的本质是偶发的、随机的和尖刻的(spiky)。
图7B描绘了示出TCP连接中的分组延迟的图730。在图730中,由于(H)ARQ重传,分组延迟中存在一些明显的尖峰(用点标记)。图730中红色的区域是这些无线重传的估计影响,而绿色的区域是拥塞的估计影响。拥塞是当请求的资源(带宽)超出可用共享链路容量时,由比例公平调度(PFS)算法引入的服务和排队延迟的结果。这种类型的延迟的本质是小的、恒定的并且持继增加的。在图7C中示出了示例的比例公平调度器740。
高级PFS算法在每个传输时间间隔(TTI)将资源分配给移动UE。资源分配是动态完成的,同时考虑了总体订户的需求以及每个订户所经历的网络状况。TTI的值是协议规范的一部分,对于LTE该TTI被设置为1ms,并且对于WCDMA该TTI被设置为2ms。每次PFS算法决定不调度特定订户时,该特定订户的分组进入排队,并且延迟增加一个TTI。换句话说,连续分组的时间距离,即发送/到达间隔,增加了一个TTI。
图7D描绘了示出LTE连接的分组的到达/发送间隔的累积分布函数(CDF)的图750。在该示例中,示出了具有1ms的到达间隔的相对大量的分组(几乎20%),以及具有7ms的到达间隔的另一组分组。当发生HARQ重传时,将显示后者。观察到的7ms到达间隔与HARQ重传的理论时间一致。图7E描绘了示出WCDMA连接的相应CDF的图760。在该示例中,第一个尖峰位于2ms到达间隔处,这是WCDMA的TTI,第二个尖峰位于10ms处,这是WCDMA中的HARQ重传时间。
本公开的***和方法利用以下事实:TCP捕获基础协议的特性以推断网络类型并估计网络状况。更具体地说,到达间隔为1ms的高百分比的TCP分组提供了表明基础无线网络是LTE的有力的证据。相似的,到达间隔为2ms的高百分比TCP分组强烈表明基础网络是WCDMA。另一方面,由于(H)ARQ重传引入了最小延迟,该最小延迟比协议的TTI大几倍(例如,大于7ms),因此可以将拥塞与信号质量差区分开来。上面讨论的协议内部结构的大致描述可以用来为正在考虑的网络提供详尽的见解,如下文进一步讨论。
图8A是图5所示的网络分析***705的框图。在一些实施例中,网络分析***705可以用于根据网络类型对TCP连接进行分类并估计TCP连接的网络状况。***705包括分组捕获引擎805、分组分析器810、数据累加器815、数据标记器820、模型生成器825、网络类型分类器830和状况分级引擎835。这些组件可以一起收集和分析来自TCP连接的网络分组,并可以提供对这些TCP连接的类型以及与TCP连接相关联的用户所经历的网络状况所了解的信息。在一些实施例中,***705可以被实现为图1A-1D所示的设备200,例如可以是应用交付控制器(ADC)。***705可以被分别用于实现图8B、8E、8F和8G中所示的方法850、870、880和890。因此,下面结合这些方法进一步描述***705的功能。
现在参考图8B,示出了用于生成分类模型的示例方法850。简要概述,方法850包括从多个TCP网络连接捕获多个网络分组(步骤852),分析多个网络分组以生成多个度量(步骤854),为所有所分析的TCP网络连接收集并合并所生成的度量(步骤856),聚类所生成的度量以根据网络类型向多个TCP连接分配标记(步骤858),并生成分类模型(步骤860)。
再次参考图8B,方法850包括从多个TCP网络连接捕获多个网络分组(步骤852)。在一些实施例中,这可以由分组捕获引擎805执行。例如,分组捕获引擎805可以被配置为接收与多个TCP连接或流相关联的多个分组。每个流或连接可以与不同的移动装置相关联。对于每个分组,分组捕获引擎805可以生成并保留该分组的副本,同时还将接收到的分组转发到其预期的目的地。在一些实施例中,分组捕获引擎805还可以确定与每个分组相关联的特定TCP连接。例如,分组捕获引擎805可以通过检查每个分组中包括的报头来确定这样的信息。因此,即使与***705建立了多个TCP连接,分组捕获引擎805也可以识别与给定的TCP连接有关的接收的所有分组。
方法850还包括分析多个网络分组以生成多个度量(步骤854)。在一些实施例中,该步骤可以由图8A所示的分组分析器810执行。在此步骤中生成的度量可以与相应的TCP流或连接相关联。因此,分组分析器810可以被配置对于由分组捕获引擎805为其捕获分组的每个TCP流或连接,生成一组度量。在一些实施例中,对于每个TCP连接流,分组分析器810可以生成与以下任意组合有关的度量:平均瞬时吞吐量,最小、最大和平均RTT,TCP分组的平均发送间隔,TCP分组的平均到达间隔,1ms到达间隔的概率,2ms到达间隔的概率,在(0-7ms)范围内的平均到达间隔,在(7ms-无穷大)范围内的平均到达间隔,平均负载延迟,和平均噪声延迟。在一些实施例中,分组分析器810可以被配置为使用多种算法来生成这些度量,其中一些算法将在下面结合图9A-9C进一步描述。
方法850还包括为所有分析的TCP网络连接收集和合并所生成的度量(步骤856)。在一些实施例中,该步骤可以由图8A中所示的数据累加器815执行。通常,数据累加器815可以被配置为收集每个TCP连接的所有度量。例如,数据累加器815可以在与相应的TCP连接相关联的数据结构中存储与每个所生成的度量有关的信息,从而可以获取度量及其对应的TCP连接以进行进一步处理。
方法850还包括对所生成的度量进行聚类以将标记分配给多个TCP连接(步骤858)。该步骤可以例如由图8A所示的数据标记器820执行。在一些实施例中,数据标记器820可以利用聚类方法以克服没有标记的训练数据的障碍。数据标记器820可以生成这样的标记数据,该标记数据随后可以由网络类型分类器830使用。
图8C描绘了示出聚集在红色中的2G连接以及分别聚集在蓝色和绿色中的3G和4G连接的图表863。如图8C所示,数据标记器820可以将“2G”标记分配给属于具有最高的平均最小RTT的组的连接,并将标记“其他”分配给第二组。在一些实施例中,数据标记器820可以以大约99%的准确度来标记2G连接。随后,数据标记器820可以实现数据过滤功能,其中过滤掉所有标记为“2G”的连接,并且保留包含3G和4G连接的组。然后,数据标记器820可以重复相同的过程,以便将3G连接与4G连接区分开。在一些实施例中,数据标记器820可以通过对于以下属性使用频谱聚类来区分3G连接和4G连接:平均瞬时吞吐量、最小/最大和平均RTT、平均到达间隔、平均发送间隔、1ms到达间隔的概率、2ms到达间隔的概率、在(0–7ms)范围内的平均到达间隔、在(7md-无穷大)范围内的平均到达间隔。图8D描绘了示出数据标记器820如何仅使用三个度量来分离和识别3G和4G连接的图表865,这三个度量为:平均瞬时吞吐量和1ms到达间隔的概率,2ms到达间隔的概率。根据以上描述,数据标记器820可以将“3G”标记分配给具有最高的平均最小RTT的连接,并将“4G”标记分配给另一组。在一些实施例中,该功能的准确度平均可以为约98%。
方法850还包括生成分类模型(步骤860)。在一些实施例中,该步骤可以由图8A中所示的模型生成器825执行。在一些实施例中,模型生成器825可以通过首先训练和测试逻辑回归模型来生成模型,其中因变量是在先前步骤中推断出的网络类型。通常,该步骤可以被实现为多类分类问题,其中将连接分类为可以对应于网络类型的两个(或更多)类别,例如“2G”、“3G”、“4G”等。可以将多类分类问题转换为一组二元分类问题,对于模型生成器825而言可能更容易解决二元分类问题,并且可以方便将来采用其他类别,例如“5G”和WiFi。因此,该步骤可以包括:基于所生成的度量来识别与第一网络类型相对应的所有TCP连接,以及将那些TCP连接确定为与第一网络类型相对应。例如,如果TCP连接包括2G、3G和4G连接,则该步骤可以形成两组连接:包含2G连接的第一组,包含非2G连接的第二组(即3G和4G连接在一起)。在一些实施例中,模型生成器825可以对于两个度量使用K-Means算法来实现该步骤,所述两个度量包括平均瞬时吞吐量和最小RTT。逻辑模型可用于预测“2G”或“其他”之间的连接类型。然后,模型生成器825可以执行逻辑回归模型的训练和测试,以预测“3G”和“4G”之间的连接类型。取决于不同网络类型的数量,可以根据需要重复多次此功能。因此,模型生成器825可以产生用于在与***705接收的网络分组相对应的所有网络类型之间进行区分的模型。
图8E示出了用于推断网络类型、网络状况和信号质量的示例方法870。如上述讨论,在一些实施例中,方法870也可以由图8A所示的***705执行。简要概述,方法870包括从多个TCP网络连接捕获多个网络分组(步骤852),分析多个网络分组以生成多个度量(步骤854),基于多个度量和至少一个分类模型推断多个TCP连接的网络类型(步骤876),并基于多个度量和网络类型估计每个TCP连接的网络拥塞级别和信号质量(步骤878)。
再次参照图8E,方法870包括从多个TCP网络连接捕获多个网络分组(步骤852)并且分析多个网络分组以生成多个度量(步骤854)。应当理解,这些步骤与上文描述的及图8B所示的方法850的步骤852和854基本相同。因此,这些步骤可以分别由图8A所示的分组捕获引擎805和分组分析器810执行。
方法870还包括基于多个度量和至少一个分类模型推断多个TCP连接的网络类型(步骤876)。在一些实施例中,这可以由图8A所示的网络类型分类器830执行。在一些实施例中,网络类型分类器830可以将在先前步骤中生成的度量以及作为图8B所示的方法850的一部分由模型生成器825导出的分类模型作为输入。根据该信息,网络类型分类器830可以推断由分组捕获引擎805接收的分组数据中表示的每个连接的网络类型。在一些实施例中,网络类型分类器830仅对未用于生成模型的TCP连接确定网络类型。因此,可以将用于模型的训练数据与用于基于模型来推断网络类型的数据分开。
方法870还包括基于多个度量和网络类型来估计每个TCP连接的网络拥塞级别和信号质量(步骤878)。在一些实施例中,该步骤可以由图8A所示的状况分级引擎835执行。状况分级引擎835可以将来自前两个步骤的度量和分类决策作为输入,并且可以基于这些输入来估计连接的拥塞级别和信号质量。在一些实施例中,状况分级引擎835可以估计负载和噪声延迟,将负载和噪声延迟标准化,并且可以基于标准化的负载和噪声延迟来生成信号质量和拥塞的等级。
图8F是用于识别传输层连接的网络类型的示例方法880的流程图。如上述讨论,在一些实施例中,方法880也可以由图8A所示的***705执行。简要概述,方法880包括建立经由多个传输层连接通过一个或多个装置的网络流量的度量(步骤882)。方法880包括由网络分类器将多种类型的网络分类为分类模型(步骤884)。方法880包括由网络分类器响应于装置接收到传输层连接的一个或多个分组,针对该传输层连接识别多种类型的网络中的一种网络类型(步骤886)。
再次参考图8F,方法880包括建立经由多个传输层连接通过一个或多个装置的网络流量的度量(步骤882)。在一些实施例中,该步骤可以由网络分析***705的分组捕获引擎805、分组分析器810、数据累加器815、数据标记器820、模型生成器825、网络类型分类器830以及状况分级引擎835中的任何一个来执行。多个传输层连接可以提供与多种不同类型的网络的通信。例如,多种类型的网络可以包括移动网络或固定网络。在一些实施例中,移动网络可以是2G、3G、4G或5G网络。如果网络中的至少一个包括移动网络,则可以使用诸如蜂窝电话或平板计算装置之类的移动装置来建立与该移动网络相关联的传输层连接。在一些实施例中,可以通过从通过一个或多个装置的多个传输层连接的网络流量中捕获分组来建立度量。例如,网络分组可以由网络分析***705的分组捕获引擎805捕获。
在步骤882中建立的度量可以包括与网络流量有关的任何度量,例如平均吞吐量、平均瞬时吞吐量、平均到达间隔、平均发送间隔、最大往返时间、最小往返时间、平均往返时间、平均负载延迟和平均噪声延迟。在一些实施例中,度量可以包括在预定到达间隔内的网络流量的分组的百分比和具有预定到达间隔的分组的概率。
该方法880包括由网络分类器(例如图8A的网络类型分类器830)将多种类型的网络分类为分类模型(步骤884)。在一些实施例中,分类模型可以是由作为图8B所示方法850的一部分的模型生成器825导出的模型。在一些实施例中,网络分类器可以使用多种类型的网络的度量来生成或建立分类模型。网络分类器可以使用分类模型将不同的网络分类为多个网络类型中的至少一个。在一些实施例中,如上所述,可以训练和测试逻辑回归模型。在一些实施例中,用于这种回归的因变量可以是网络类型。可以将模型的产生视为多类分类问题,其中将连接分类为两个(或更多)类别,这些类别可以对应于网络类型,例如“2G”、“3G”、“4G”等。可以将多类分类问题转换为一组二元分类问题。例如,如果TCP连接包括2G、3G和4G连接,则生成模型可以包括形成两组连接:包含2G连接的第一组和包含非2G连接的第二组(即,3G和4G连接在一起)。在一些实施例中,网络分类器830或模型生成器825可以对于两个度量使用K-Means算法来实现该步骤,所述两个度量包括平均瞬时吞吐量和最小RTT。
方法880还包括由网络分类器响应于装置接收到关于传输层连接或经由传输层连接的一个或多个分组,针对该传输层连接识别多种类型的网络中的一种网络类型(步骤886)。在一些实施例中,所述装置可以是网络分析***,例如网络分析***705。在一些实施例中,在步骤884中,诸如网络类型分类器的组件,可以通过将一个或多个分组的度量与由网络分类器为多种类型的网络建立的分类模型进行比较,来推断传输层连接的网络类型。在一些实施例中,网络分类器还可以基于在步骤882中建立的各种度量,诸如网络分组的到达间隔或网络分组的平均最小往返时间,区分不同的网络类型。
图8G是用于确定传输层连接的网络拥塞和信号质量的示例方法890的流程图。如上述讨论,在一些实施例中,方法890也可以由图8A所示的***705执行。简要概述,方法890包括为多种类型的网络建立分类模型(步骤892)。方法890包括接收多个分组的度量(步骤893)。方法890包括对传输层连接的网络类型进行分类(步骤894)。该方法包括确定传输层连接的拥塞级别和信号质量(步骤895)。方法890还包括提供传输层连接的拥塞级别和信号质量(步骤896)。
再次参考图8G,方法890包括为多种类型的网络建立分类模型(步骤892)。在一些实施例中,该步骤可以由***705的网络类型分类器830执行。网络类型分类器830可以对于提供与多种类型的网络的通信的多个传输层连接,基于通过一个或多个装置(可以包括***705)的网络流量的度量来建立模型。在一些实施例中,包括在网络流量中的分组可以被捕获,例如,由分组捕获引擎805捕获。在步骤892中建立的分类模型可以是由模型生成器825所生成的模型中的一个。在一些实施例中,多种类型的网络可以包括移动网络类型或固定网络类型。例如,移动网络类型可以包括2G、3G、4G或5G网络。
方法890包括接收多个分组的度量(步骤893)。在一些实施例中,分组可以被包括在促进网络流量的传送的传输层连接中。例如,度量可以由网络类型分类器830接收。在已经接收到度量之后,方法890包括对用于传输层连接的网络类型进行分类(步骤894)。该步骤也可以由网络类型分类器830来执行。在一些实施例中,网络类型分类器830可以基于在步骤893中接收到的度量对网络类型进行分类。在一些实施例中,对网络类型进行分类可以包括:通过将一个或多个分组的度量与由模型生成器825生成的分类模型进行比较,或者通过分析网络流量的任何其他合适的度量,来推断网络类型。
方法890包括确定传输层连接的拥塞级别和信号质量(步骤895)。在一些实施例中,该步骤可以由状况分级引擎835执行。例如,状况分级引擎可以基于度量和网络类型的分类来确定拥塞和信号质量。在一些实施例中,还可以基于度量来确定其他信息。例如,可以基于度量来确定多个分组中的每个分组的负载和噪声延迟。在一些实施例中,该方法可以包括确定传输层连接的平均负载延迟和平均噪声延迟。例如,平均负载延迟和平均噪声延迟可以由分组分析器810确定。另外,分组分析器810还可以确定传输层连接的相对于平均连接延迟的相对平均负载延迟和相对平均噪声延迟。
在其他实施例中,方法890可以包括由分组分析器810基于传输的字节数来确定理想吞吐量度量,并且排除网络拥塞和噪声。在一些实施例中,分组分析器810可以基于理想吞吐量度量和传输层连接的平均吞吐量的函数来确定传输层连接的劣化百分比。在一些实施例中,分组分析器810可以基于理想吞吐量度量和负载延迟的函数来确定传输层连接的拥塞级别。在一些实施例中,分组分析器810可以基于理想吞吐量度量和噪声延迟的函数来确定传输层连接的信号质量。
方法890还包括提供传输层连接的拥塞级别和信号质量(步骤896)。在一些实施例中,可以经由诸如图1C所示的用户界面123之类的用户界面来提供拥塞级别和信号质量以供显示。
图9A-9C示出了可用于估计负载和噪声延迟的算法,分别如上述方法850和870的分组分析步骤854和870的一部分。关于估计这两个延迟的算法,可以从定义如下变量开始:
·net_rtt:3G和4G的相应最小rtt
·ist(n):分组的n发送时间
·iat(n):分组的n到达时间
·iai(n+1)=i(n+1)-iat(n)
·isi(n+1)=i(n+1)-ist(n)
·delay(n+1)=delay(n)+iai(n+1)-isi(n+1)
·Forn=0,delay(0)=rtt-net_rtt
接下来,如图9A的图900所示并参考上面定义的变量,缓冲延迟可以使发送间隔为零,并且可以形成定时压缩分组的时间窗口。参考图9B的图910,示出了用于初始化上述窗口的功能。一般而言,可以结合此功能定义以下变量:
·wnd_start=ist(n),n是无线电重传分组
·wnd_knee=wnd_start+load_delay(n)
·wnd_end=wnd_knee+harq_delay(n)
然后可以根据以下功能来更新窗口,该功能在图9C的图920中示出:
·if ist(m)<wnd_knee,m是另一个无线电重传分组
·wnd_knee+=load_delay(m)
·wnd_end+=harci_delay(m)
接下来,可以根据以下步骤来实现分组延迟划分:
·delay(n+)=delay(n)+lal(n+1)-lsl(n+1)
·delay(n+1)=harq_delay(n+1)+load_delay(n+1)
·HARQ_THRESHOLO=0.00./ms//默认值
最后,可以通过以下功能实现相对分组延迟估计:
·load_delay_pct=avg(load_delay)/avg(delay)
·noise_delay_pct=avg(harq_delay)/avg(delay)
上面的算法估计每个分组的绝对拥塞和噪声延迟,以及整个连接的平均延迟的百分比。为了能够比较不同大小的连接在拥塞和噪声方面的差异,可以使用标准化过程。该过程可以考虑传输的字节,以估计在网络状况理想时(即,如果没有拥塞且没有噪声)连接可以达到的最大可能吞吐量。该度量可以称为理想吞吐量。
为了估计理想吞吐量,可以使用非线性回归模型对于给定的传输的字节,来近似在特定信道(3G或4G)上的最大可能吞吐量。图10A中所示的图1000描绘了多个连接上的拟合曲线。图1000的曲线形式为y=min(a*log(b*(x+c))+d,e),其中“x”是代表传输的字节的自变量,而“e”代表信道带宽。
理想吞吐量可以用于计算由于网络状况导致的吞吐量的总劣化百分比。这样,可以使用百分比(即归一化值)而不是绝对值,绝对值会使对具有不同大小的连接的比较复杂化。通过组合最后两个步骤中的结果,用户感知到的拥塞和信号质量如下:
·连接劣化百分比CDP=(ideal_throughput–avg(throughput))/ideal_throughput
·连接拥塞级别:CCL=CDP*load_delay_pct
·连接信号质量:CSQ=CDP*harq_delay_pct
在图10B的图1010中描绘的结果模型示出了拥塞和噪声如何影响连接的性能。在图1010中,x轴代表拥塞级别(CCL),y轴代表信号质量(CSQ)。每个点代表通过单个TCP连接下载的文件。这些点基于获得的平均吞吐量进行着色,而每个点的大小表示传输的总字节数(即连接长度)。使用图1010,可以比较任何连接,而无论传输的字节数是多少。
因此,本公开描述了根据移动订户经历的网络状况来提取高级和详细的见解的技术,以使运营商能够分析其网络的整体行为(网络分析),还可以使应用交付控制器(ADC)的流量管理操作自动适应这些状况。作为副产品,本公开的***和方法将扩展由ADC捕获的TCP级统计。这可以允许实体利用详细的TCP级信息来做出基于路由/策略的决策。
基于以上,本公开可以实现两个主要用例。首先,可以根据移动订户所体验的状况来分析网络的整体行为。一个重要的假设是,该功能将部署在尽可能靠近移动网络的位置。然而,这并不排除在内容交付网络(CDN)上或在内容提供商侧进行部署,但是推理模型可能会对路径中其他地方的问题变得敏感。在此用例的上下文中,实体可以利用此特征进行网络分析,以将分析用于前瞻性计划,以及用于进行市场分析,以便跟踪使用不同装置和网络类型的用户在用户采用方面的成功情况或者用户流失。
在本公开可实现的第二用例中,该技术可以允许实体基于其当前网络状况针对每个订户独立地并且近实时地适配TCP配置文件。在该用例的上下文中,实体可以利用此特征,以通过检测无线网络类型和无线电特征以配置每个用户装置的最优TCP配置文件,来改善用户体验。实体还可以使用策略驱动的操作,这些操作可以允许服务和内容提供商基于用户体验进行决策(例如,较小的文件用于更受约束的用户)。
本公开中描述的技术可以提供与使用TCP连接的移动网络相关的各种功能。例如,本公开的***和方法可以使得优化的代理和非代理的流量都能被测量。本公开的***和方法还可以使得能够基于每个订户同时识别以下连接状态:
a.拥塞级别(是/否或否、低、高)。
b.网络速度(慢、中、快)
c.连接质量(良/不良)
本公开的***和方法还可以使得能够将UDP/TCP流量用于测量以支持报告和驱动优化决策(包括流量的代理)。在一些实施例中,这样的测量不会干扰(或至少最低程度地干扰)TCP/UDP性能。
然而,在某些情况下,本公开的***和方法的功能可能与上述描述有偏离。例如,由于该技术在L4处处理业务,所以本公开假定至少使用“TCP”虚拟服务器(vserver),这意味着仅代理业务将被处理。在一些实施例中,端点和透明模式都被支持。
对于网络速度,可以以良好的准确度识别无线电接入类型。本公开的***和方法可以检测2G、3G、4G而不是慢、中和快,但是实施例具有足够的灵活性,可以在将来识别固定(ADSL/VDSL,DOCSIS)、WiFi、卫星、5G等承载。
对于网络拥塞级别,本公开的***和方法可以使用四个类别表征它,即无、低、中和高。
对于连接的信号质量,本公开的***和方法也可以使用四个类别表征它,即优、良、一般、不良。
考虑到上述偏差,本公开的***和方法的功能可以如下进行适配。本公开的***和方法可以提供以端点或透明模式测量在第4层(TCP)处理的流量的能力。本公开的***和方法可以允许在每个订户的基础上同时识别以下连接状态:
·网络速度(2G、3G、4G)
·拥塞级别(无、低、中、高)
·连接质量(优、良、一般、不良)
本公开的***和方法可以利用所有TCP流量进行测量。这样的测量可用于报告和用于驱动优化决策。
用于生成推断结果的模型和算法可以利用将新的输入字段引入到ADC生成的L4事务记录中的方法。特别令人感兴趣的是TCP会话的间隔,在该间隔中,存在从ADC到终端用户(移动终端)的方向上的有效数据传输。
大体讲,本公开的***和方法可以识别存在有效数据传输的间隔,并报告其中最重要的以下字段(对于每个方向而言实际上是分开的):
·NSIPFIX_BURST_DURATION_MSEC_{RX|TX}
ο数据传输的持续时间(以毫秒为单位)
·NSIPFIX_BURST_OCTET_COUNT_{RX|TX}
ο传输的八位字节(字节)总数
·NSIPFIX_BURST_RETRANS_OCTET_COUNT_{RX|TX}
ο重传的八位字节(字节)数
以上字段是在TCP会话结束时生成的。它们对应于TCP会话的最大突发(burst)。只有足够大的突发才有意义。
可以在L4事务记录中导出的TCP度量的列表如下。例如,可以每60秒或在字节计数器溢出时进行对这些值的导出。
携带这些信息元素的模板以及相应的字段可以如下:
用于Rx侧的TCP入口模板–
·NSIPFIX_SRC_IPV4_ADDR_RX
·NSIPFIX_DST_IPV4_ADDR_RX
·NSIPFIX_SRC_TRANSPORT_PORT_RX
·NSIPFIX_DST_TRANSPORT_PORT_RX
·NSIPFIX_PACKET_TOTAL_COUNT_RX
·NSIPFIX_OCTET_TOTAL_COUNT_RX
·NSIPFIX_TCP_FLAGS_RX
·NSIPFIX_CONN_CHAIN_ID
·NSIPFIX_CONNECTION_CHAIN_HOP_COUNT
·NSIPFIX_ZERO_WINDOW_COUNT
用于Tx侧的TCP出口模板–
·NSIPFIX_SRC_IPV4_ADDR_TX
·NSIPFIX_DST_IPV4_ADDR_TX
·NSIPFIX_SRC_TRANSPORT_PORT_TX
·NSIPFIX_DST_TRANSPORT_PORT_TX
·NSIPFIX_PACKET_TOTAL_COUNT_TX
·NSIPFIX_OCTET_TOTAL_COUNT_TX
·NSIPFIX_TCP_FLAGS_TX
·NSIPFIX_ROUND_TRIP_TIME
·NSIPFIX_SRTT
·NSIPFIX_FAST_RETX_COUNT
·NSIPFIX_CONN_CHAIN_ID
·NSIPFIX_CONNECTION_CHAIN_HOP_COUNT
·NSIPFIX_PACKET_RETRANSMIT_COUNT
·NSIPFIX_RTO_COUNT
·NSIPFIX_JITTER
然而,特定字段是针对TCP会话的增量时间段来计算的,而本公开主要涉及有效传输的时段。
在一些实施例中,可以利用新的信息字段来扩展由根据本公开的ADC生成的作为处理TCP会话的结果的事务记录。在一些实施例中,针对有效TCP数据传输的时段生成新的信息字段,特别是从ADC平台朝向移动订户的装置(UE)的有效TCP数据传输。在一些实施例中,为了降低实施例的复杂性以及降低生成的信息量,新的信息字段仅被添加到事务结束(EOT)记录,并且仅覆盖数据传输的最活跃时段。在一些实施例中,新的信息字段通过LogStreaming传输从ADC传输到MAS。可接受的最大容量影响可以为约10%。在一些实施例中,为了启用本文描述的分类模型和推断算法,可以包括以下原始度量:
·rtt_min,rtt_avg:最小和平均RTT
·bif_avg:平均在途字节数
·thrput_avg:平均吞吐量
·isi_avg:平均分组发送间隔
·iai_avg:平均分组到达间隔
·iai_1ms:到达间隔为1ms±10μs的分组的百分比
·iai_2ms:到达间隔为2ms±10μs的分组的百分比
·harq_delay:经受RLC重传的分组的延迟
·load_delay:经受网络拥塞的分组的延迟
·rwnd_min,rwnd_avg:最小和平均接收窗口
·ack_cnt:ACK数
在元数据方面,可以添加以下字段:
·tcp_profile:TCP配置文件的名称或标识符
在一些实施例中,可以包括以下综合度量:
·net_cls:应用网络类型分类产生的网络类型
·ccl,ccl_cls:由相关推断算法估计的连接拥塞级别(CCL)以及相应的类别(无、低、中、高)
·csq,csq_cls:由相关推断算法估计的连接信号质量(CSQ)以及相应的类别(优、良、一般、不良)
在一些实施例中,计算上述复合度量需要以下输入参数,该输入参数可以是训练分类模型和推断算法的结果:
·分类模型系数:分别用于2G vs其它以及用于3G vs 4G
·net_rtt,harq_threshold:分别用于3G和4G(根据经验确定)
·分级边界:分别用于3G和4G以及用于CCL和CSQ得分
在一些实施例中,可以包括以下原始度量:
·rtt_max:最大RTT
·bif_max:最大在途字节数
·packet_cnt/retx_packet_cnt:传输/重传的分组总数
·ooo_packet_cnt/ooo_octet_cnt:总乱序分组/字节
·bdp_avg:平均带宽-延迟乘积
如本公开中所使用的术语带宽定义了数字通信***中逻辑或物理通信路径的净比特率(即峰值比特率,信息率或物理层有用比特率),信道容量或最大吞吐量。
以比特/秒为单位的带宽有时可以指消耗的带宽,其对应于实现的吞吐量或“实际吞吐量”,即通过通信路径的成功的数据传输的平均速率。
信道带宽可能与有用的数据吞吐量(或实际吞吐量)相混淆。根据定义,有用/有效的吞吐量小于或等于实际信道容量加上实施例开销。依赖于被动测量的网络元件可以计算吞吐量,但是该网络元件只能推断/估计带宽。
如本公开中所提及的网络速度表示网络技术能够传递的带宽。网络速度通常与网络延迟呈反相关,即,提供高速度的网络的特点是时延低,反之亦然。直观地说,网络速度取决于时延,但并不是因为时延可能由于高拥塞或连接不良而增加。相似地,网络速度取决于吞吐量,但不是因为吞吐量可能由于网络拥塞或信号质量不良而降低。从这个意义上讲,网络速度级别将与无线电接入类型大致相关。
网络拥塞是这样一种情况,其中数据传输的增加导致吞吐量成比例地较小的增加,或者甚至减少。当链路或节点携带大量数据而导致其服务质量下降时,就会发生网络拥塞。典型的影响包括排队延迟、分组丢失或新连接的阻塞。后两种影响的结果是,所提供负载的增量增加仅导致网络吞吐量的少量增加,或者导致网络吞吐量的实际减少。直观地讲,网络拥塞可能与时延(RTT)的增加相关联,但被认为会对QoE产生不利影响。同样,高度相关的分组丢失可能指示网络拥塞,但前提是这种情况持续存在。
如本公开中所提及的连接质量表示用户设备(UE)与相关联的无线电小区之间的第1层连接的状况。这受到许多因素的影响,例如蜂窝网络覆盖范围、UE与天线之间的距离/路径、无线电干扰、信号/噪声水平、功率/RRC状态提升/降级、小区之间的切换、室内与室外等。直观地说,连接质量与随机分组丢失和网络延迟的瞬时增加相关联。从这种意义上讲,可能期望将由高网络拥塞导致的网络吞吐量降低与由连接质量差导致的网络吞吐量降低区分开来。类似地,如本文所定义的,连接质量与网络速度(指潜在带宽)无关,并且针对每个RAT分别进行测量。
在一些实施例中,本公开的***和方法可以实现区分不同网络速度的分类模型。该模型可以将移动订户会话分类为三个类别(2G、3G、4G),大致对应于相应的无线电接入类型。
鉴于不同的移动网络技术实现了不同的基础无线电接入类型,上述类别标记可以对应于:
·2G:GSM(GRPS/EDGE),CDMA,1xRTT
·3G:WCDMA(UMTS、HSDPA、HSPA、HSPA+),CDMA2000(EVDO、eHRPD)
·4G:LTE,高级LTE
综上所述,特征实施例可以在将来灵活地识别固定(ADSL/VDSL、DOCSIS)、WiFi、卫星、5G等承载。
在一些实施例中,可以根据ADC平台与装置之间的网络路径的拥塞级别来进一步表征订户会话。该表征可以涉及对拥塞级别得分的计算,以及随后将该得分划分为四(4)个等级,即无、低、中和高。
在一些实施例中,可以根据基站与装置之间的物理(无线电)链路的信号质量来额外表征订户会话。此表征可以涉及对信号质量得分的计算,因此将该得分划分为四(4)个等级,即优、良、一般、不良。
在一些实施例中,仅对于已被分类为3G或4G网络类型的数据会话才需要拥塞级别和信号质量得分和等级。在一些实施例中,仅在下游方向上传输的数据段和仅使用TCP作为传输层协议的数据段可能与上述分类和表征有关。这是由于以下事实:模型和算法取决于确认(TCP ACK分组)的出现。在一些实施例中,仅当ADC在第4层(TCP),特别是在端点(ENDPOINT)模式下处理流量时,上述输入字段和上述推断结果的生成才会发生。这种限制源于以下事实:当由ADC拥塞处理器处理TCP会话时,可以更容易地生成输入字段。在一些实施例中,当ADC在透明(TRANSPARENT)模式下在第4层(TCP)处理流量时,这些输入字段和推断结果的生成也可以发生,但是这可能不在初始实施例的范围内。
生成上述输入字段和推断结果的一个目标是启用一组新的MAS分析(MASAnalytics)报告,该报告可以将网络范围状况的情形传达给实体(移动服务提供商或移动网络运营商)。图11A-11D提供了此类报告的样例集。在一些实施例中,报告可以提供基于时间的(每小时的)和总计的(每天的)会话或下载的百分比的测量,该测量由拥塞级别和信号质量等级来表征,并分别针对3G和4G。图11A将报告表示为100%堆叠的条形图,根据拥塞级别/信号质量等级进行着色。在一些实施例中,报告可以分别针对3G和4G,提供用户体验如何随着拥塞级别和信号质量而变化的展示。用户体验度量可以包括“实际吞吐量”,但也可以包括时延、缓冲膨胀和分组丢失(图11B将报告表示为4×4的热图,每个单元对应于拥塞级别/信号质量等级的组合,根据感兴趣的用户体验度量进行着色和标记)。
在一些实施例中,为了便于对不同的TCP配置进行比较评估,可以基于每个TCP配置文件名称来进一步分析用户体验度量,但是仅针对全局/每个vserver配置的TCP配置文件,或者经由AppQoE策略配置的TCP配置文件。图11C将报告表示为条形图。在一些实施例中,这些度量还可以被表示为带有热图(例如图11B所示的热图)的交叉表。在一些实施例中,可以通过引入高级TCP统计报告来对每个TCP配置文件性能实现更深入的分析,即:
线图
1)随时间变化的最小/平均/最大RTT
2)随时间变化的带宽-延迟乘积和平均/最大在途字节数
3)随时间变化的分组丢失率和分组重传率
4)随时间变化的缓冲延迟百分比
直方图
1)按计数的最小RTT
2)按计数的平均RTT
3)按计数的最大RTT
4)按计数的平均BDP
5)按计数的平均BIF
6)按计数的最大BIF
7)TCP效率百分比
在一些实施例中,如果通过控制平面接口(Diameter/Gx或RADIUS)或通过地理-IP(Geo-IP)数据库查找(其在一些实施例中可能与移动运营商用例不太相关)可以获得位置信息,则可以提供提供了上述度量和推断结果的每个位置视图的地图。。图11D提供了示出平均吞吐量的样例。在一些实施例中,可以生成类似的地图以按位置显示拥塞级别得分或信号质量得分。
上述对网络类型进行分类并生成推断结果的另一个目的是使ADC的TCP配置文件的配置和调整自动化。这旨在消除每次客户需要为下一次试验、调整或基准测试练习做准备时必须手动完成所带来的负担。
而且,鉴于实际上没有单个TCP配置文件对于网络类型、拥塞级别和信号质量的整个范围都是最优的,这旨在产生更好的TCP优化结果。通过根据分类的网络类型和特征化的网络状况自动地选择或适配TCP配置文件,所得到的总体TCP优化性能将比设置全局TCP优化配置文件更好。
在一些实施例中,网络类型分类的结果可以用作ADC策略条件,用于选择或调整TCP优化配置文件。
在一些实施例中,拥塞级别和信号质量等级可以用作ADC策略条件,用于选择或调整TCP优化配置文件。
在一些实施例中,这些新的策略条件可以允许从预定的TCP配置文件集合中进行选择,该集合可以被设计为覆盖广泛范围的网络性能和状况。
在一些实施例中,预定的TCP配置文件集合可以利用TCP Nile的内部参数。
在一些实施例中,预定的TCP配置文件名称可以被存储为元数据,尽管那些可能未在报告中公开。
在一些实施例中,为了对网络状况做出立即反应,能够在相同的TCP连接的上下文内更改TCP配置文件选择。或者,可以在下一个TCP连接上进行TCP配置文件切换。
在一些实施例中,历史网络类型分类和拥塞/信号等级可以在每个订户的基础上维持时长可配置的一段时间。出于以下原因使用它们:
a)跨不同的TCP连接和分组引擎实例扩展策略决策。
b)限制策略操作的频率,并且避免TCP配置文件选择的“摆动”。
在一些实施例中,订户标识可以不采用唯一标识符。可以至少基于IP地址存储历史分类/推断结果,在这种情况下,TCP配置文件选择操作可以应用于相同源IP地址的连接。
在一些实施例中,可以提供性能评估报告,该性能评估报告将估计与使用全局TCP配置文件的情形相比的相对改进。图12A和12B提供了样例报告。
本公开的***和方法可以采用依赖于MAS遥测集群架构的机器学习(ML)模型。例如,MAS高级分析(MAS Advanced Analytics)能够摄取和处理携带TCP信息的事务数据(即不仅是计数器)。在一些实施例中,即使本文描述的大多数模型可以使用Python数据分析栈(NumPy、Pandas、SciKit-Learn等),随着数据集的增加,也可以利用Spark的可扩展数据处理能力。
在一些实施例中,为了引导和重新训练机器学习模型和算法,可以通过从事务数据源中提取所需属性,并将它们存储到易于访问的数据存储中来累积观测值的集合。而且,本文描述的模型可以存储将在训练运行中持续存在的状态,最重要的是训练的参数和评估结果。
在一些实施例中,当在数据存储中累积数据集时,可以提供一种机制,该机制将重复检查是否已经收集到足够数量的观测值,并且其将启动对模型的引导/重新训练。
就应用训练后的模型而言,本公开描述了两种替代设计。在第一种设计中,模型和算法可以在ADC自身上执行。这并不利用MAS遥测集群的实时路径,并且仅当模型重新训练导致更改时才涉及将更新的模型参数发送回ADC。在第二种设计中,可以使用MAS遥测集群的实时(流)路径。这可能涉及引入Spark流传输(Spark Streaming)。鉴于模型作用于事务数据,并且希望限制以这种方式处理的消息的速率和大小,那么仅提取所需字段的能力可能会很有用。出于效率方面的考虑,此过滤应在LogStreaming的使用者侧进行。在那种情形下,模型和算法将在MAS侧执行,以利用消息的短期每订户历史。包括对TCP配置的任何更改的结果,将必须在每个订户的基础上提供回ADC。
应该理解,本公开主要涉及上述第一种设计。然而,在一些实施例中,无论选择哪种方法,MAS都可以将决策或更新的参数传达回ADC。这可以在MAS和ADC之间扩展基于Nitro的API。此外,此用例可能不依赖于由不只一个遥测器集群节点组成的MAS的部署。换句话说,本公开的***和方法与MAS高级分析的单节点部署兼容。
图13是示例的总体架构框图。促成该特征的组件被分为四个主要区域(图13所示):区域1中的组件与输入数据有关。因此,在生成推断算法所需的输入数据方面,这些组件实现了上述功能。在一些实施例中,这些组件可以全部驻留在ADC分组引擎中。区域2与模型和算法有关。如上文讨论的,ML模型的应用和推断算法的实现可以驻留在分组引擎中,而利用累积的数据集进行的模型训练可以驻留在MAS遥测集群中。区域3与分析报告有关。在一些实施例中,这些组件驻留在MAS中,分为在面向PgXL数据库模式的Af解码器(AfDecoder)输出中添加新的度量,以及在MAS的基于web的UI中添加新的报告。区域4与闭合循环有关。这些组件可以实现将训练ML模型的结果从MAS传递到ADC,这可以导致更新相关的配置设置,并从新的TCP连接开始应用这些更改。
总体的端到端数据处理流程如下:
首先,分组引擎处理TCP连接(使用第4层或以上的vserver)。在每个TCP连接的期间,它识别有效数据传输的时段,为此它计算上述输入字段。更具体地说,可以提取原始度量。在分组引擎已从MAS接收到训练后的模型参数之后,如下所述,还可以计算其他复合度量。
接下来,在每个TCP连接结束时,分组引擎生成第4层事务记录,该记录包括上面的输入字段,并使用LogStreaming传输接口将其从分组引擎传输到MAS。
使事务记录可用(例如,在共享存储器中),并且日志接收器(LogReceiver)和AfDecoder使用者摄取它们,每个实现不同的目的。LogReceiver可以将各个记录传输到HDFS,并且AfDecoder可以生成将要存储在PostgresXL数据库模式中的聚合度量。值得注意的是,这两个处理路径在其他方面可以是独立的:向外扩展可以以不同的方式实现,并且本地操作和集中式操作也可以不同。
在LogReceiver路径上,一旦大量的事务记录被写入到Hadoop分布式文件***(HDFS)的文件中(例如,在文件轮换时,或每五分钟),预处理器将(例如,经由Redis消息队列)接收到通知。预处理器可以调用LogApiServer API,该API可以生成Spark作业,该作业将分析新的可用事务记录。该Spark作业可以提取提供有意义的输入字段的记录和列的子集,并将其累积在结构化存储(例如Pg-XL)中。
同样,如通过LogApiServer API调用的那样,另一个进程或作业可以定期检查到目前为止已收集的观测值的集合,并决定是调用ML模型的初始训练还是重新训练。这个进程或作业可以实现分类模型的流水线。一旦训练完成并且如果学习度量可接受,则将经由Nitro-API调用将结果模型参数发送到ADC,这将导致更新相应的(隐藏)配置设置。这些可以应用于后续的TCP套接字。在AfDecoder路径上,可以提取推断结果,并将其用于和检测到的网络类型以及拥塞级别和信号质量得分一起丰富存储在PostgresXL数据库模式中的度量。这些可用于创建新的分析报告。
在一些实施例中,使用简单的机器学***均吞吐量、平均在途字节数(BIF)、最小/平均RTT等之类的特征的有限子集,来检测移动网络类型时,可以取得高于90%的准确度。但是,在生成推断结果的上下文中,尤其是在驱动自适应TCP策略操作时,需要更高的准确度以最小化被误分类为“4G”的“3G”观测值的比率。同样,将太慢或太短的会话分类为“2G”的准确度也相对至关重要,因为主张在该情形下可以应用非常保守的“全面捕获”TCP配置文件。
基于以上内容,在一些实施例中,理想地,可以首先使用简单模型将“2G”连接从所有其他连接中排除,例如仅使用少量特征(诸如与平均吞吐量(或BIF)和/或平均时延(RTT)相关的特征)的逻辑回归模型。为了随后区分“3G”和“4G”,并考虑到期望的准确度提高的规模,可以利用这两种技术的特定特性。具体而言,WCDMA和LTE技术使用不同的TTI。WCDMA使用2ms或更高(10ms),取决于它是HSDPA/HSPA/HSPA+还是普通的旧UMTS,而LTE使用1ms。因此,就它们呈现的不同峰值而言,WCDMA和LTE下载的分组到达间隔(ACK)的分布是不同的,与各自的TTI的倍数一致。
下面进一步描述根据底层网络拥塞和信号质量来表征移动网络中发生的数据传输的原理。如图14所描述的,在ADC和移动终端(UE)之间流动的分组经历网络拥塞(偶尔不仅在eNodeB处,如图所示)和空中接口上的无线丢失的综合影响,这可能与接收差有关。因此,在表征网络拥塞和无线丢失之前,将它们分开是有帮助的,这可能是具有挑战性的。由于网络队列的堆积和与交叉流量的竞争,网络拥塞表现为分组交付延迟。但是,由于3G实施了(H)ARQ重传,因此无线丢失也转化为延迟。这在图15以及前述图7A中示出。
一个关键的见解是,延迟针对拥塞的情况逐渐增加,而针对无线丢失的情况急剧增加。因此,区分与(H)ARQ重传时间间隔相关的突然延迟和其他类型的延迟可能会有所帮助。但是,(H)ARQ重传间隔是特定于承载的(即,取决于TTI,这在UMTS/HSxPA/4G之间有所不同)。同样,(H)ARQ参数(例如,最大进程数,最大重试次数)可由各运营商配置。因此,这些阈值可以适合于各个网络,如图16所示。用于检测(H)ARQ重传的默认延迟阈值对于3G被设置为8ms,对于4G被设置为7ms。
一旦实现上述内容,就可以将测得的延迟分为两部分,如图17所示。在图17中,以绿色示出由拥塞引起的逐渐延迟,而以红色示出由噪声引起的突然延迟。
这导致简化的CCL(连接拥塞级别)和CSQ(连接信号质量)公式,下面将进一步描述。通常,CSQ被作为由无线重传引起的延迟的平均累积效应进行测量,而CCL被作为由网络负载(交叉流量和自扰)引起的延迟的平均累积效应进行测量。这两个度量均以总分组延迟的百分比来计算。由于分组延迟与传输的字节数密切相关,因此CCL和CSQ乘以与传输的字节成比例的因子。该因子称为CQR(连接质量等级),表示连接吞吐量与理想吞吐量相比下降的百分比。当拥塞和噪声可以忽略不计或不存在时,可以在信道上实现理想吞吐量。最后,一旦收集到足够数量的CCL和CSQ测量值,就可以将它们分为四(4)个等级。
在一些实施例中,可以简单地选择边界以对应于每种网络类型的相应的CQI规模。该决定可以基于实验分析,这表明CQR分布大致近似于CQI分布,如图18所示。
CQI是携带关于通信信道质量的好坏的信息的指示符。CQI是UE发送到网络的信息,实际上它意味着当前CQI具有特定值,并且UE请求获取具有指定传输块大小的数据,该数据继而可以被直接转换为吞吐量。尽管本公开的***和方法通常不直接测量分组交付时间,但是假定它们与ACK生成时间相关。换句话说,可以通过将分组的发送间隔与对应的ACK的到达间隔进行比较来感测分组交付延迟。还应该理解,TCP是自计时的。因此,ACK速率取决于分段速率,反之亦然。当TCP稳定运行时,ISI和IAI相等。
在一些实施例中,可以通过分析TCP相关属性的标准集合来发起特征选择,包括以下内容:
·rtt_min,rtt_avg,rtt_max:最小、平均、最大RTT
·bif_avg,bif_max:平均、最大在途字节数(BIF)
·thrput_avg:平均吞吐量
·packet_cnt/retx_packet_cnt,ack_cnt:传输/重传的总分组数,ACK数
·rwnd_min,rwnd_max,rwnd_avg:接收窗口摘要统计信息
然而,以上特征可能不足以达到高水平的准确度。因此,还可以包括以下附加特征:
·isi_avg:平均分组发送间隔
·iai_avg:平均分组到达间隔
·iai_1ms:到达间隔为1ms±200μs的分组百分比
·iai_2ms:到达间隔为2ms±200μs的分组百分比
·load1_iai_avg:在范围[0,HARQ_THRESHOLD_3G)内的平均分组到达间隔时间
·noise1_iai_avg:在范围[HARQ_THRESHOLD_3G,无穷大)内的平均分组到达间隔时间
·load2_iai_avg:在范围[0,HARQ_THRESHOLD_4G)内的平均分组到达间隔时间
·noise2_iai_avg:在范围[HARQ_THRESHOLD_4G,无穷大)内的平均分组到达间隔时间
在一些实施例中,用于网络类型检测的特征列表可以是动态的,并且可能包括任何度量。
可以以脚本包的形式提供如何生成信息字段的定义。通常,脚本可以执行以下任务:
1.以分组编号的升序依次读取分组
2.对于每个下游分组,在队列中附加一个元组(seg_seq,seg_end,ts,retx,acked_bytes)。
a.seg_seq:序列号
b.seg_end:序列号+分组长度
c.ts:发送的时间戳(高分辨率)
d.retx:布尔标志,是否为TCP重传
e.acked_bytes:已确认多少个字节
f.函数:parse_flow(),行361-534
3.对于每个上游分组(ACK)
a.提取ACK并且如果适用提取S-ACK
b.在队列中搜索,如果存在带有pkt['seg_end']<ack&&pkt['acked_bytes']<pkt['seg_end']-pkt['seg_seq']的分组,则确认分组并跟踪总的acked_bytes
c.如果存在带有pkt['seg_end']>=ack&&pkt['acked_bytes']<pkt['seg_end']-pkt['seg_seq']的分组并且pkt['retx']为假,则存储该ACK到达时间、RTT以及发送该分组时的BIF。如果pkt['retx']为真,则除了丢失原因(默认设置为“拥塞”)外,无需保留任何信息。
d.如果ACK推进窗口,则移除队列中所有已确认的分组
e.函数:calc_attrs(),行130-195
4.对于已确认未重传分组的每个ACK,计算:
a.总的已确认字节
b.到达间隔和发送间隔
c.总分组延迟,mac/rlc延迟(由于无线电重传)和非mac/rlc延迟(由于拥塞)
d.压缩分组窗口(compressed_pkt_wnd_start,compressed_pkt_wnd_knee,compressed_pkt_wnd_end)
οcompressed_pkt_wnd_start:上个无线电重传分组的时间戳
οcompression_pkt_wnd_knee:无线电重传的影响开始降低的时间戳
οcompression_pkt_wnd_end:无线电重传的影响结束的时间戳
ο函数:update_compressed_pkt_wnd()和is_compressed_pkt(),行:281-306
e.mac/rlc重传状态(真/假)和mac/rlc重传延迟
i.延迟=pkt_n['seg_rtt']-pkt_m['seg_rtt'],对于n>m
ii.函数:is_mac_rlc_retx(),行:270-274
f.如果先前的ACK用于重传的分组,则执行丢失判别
i.函数:packet_loss_discrimination(),行:275-280
ii.如果重传的分组之前的分组的mac_rlc_delay高于no_mac_rlc_delay,则将丢失原因设置为“损坏”
g.函数:store_packets_attrs(),行196-269
5.对于已经确认重传分组的每个ACK,还保留重传组号。
此时,考虑到重传和延伸ACK(stretch-ACK),已经匹配了下游和上游分组,并且已经计算了RTT、BIF、ISI、IAI、MAC_RLC_DELAY、NO_MAC_RLC_DELAY和即使延伸ACK可能影响不大,在一些实施例中,也可以仅处理延迟的ACK,以避免IAI和ISI的计算的不准确性。在一些实施例中,下游和上游匹配不构成硬性要求,因此如果性能考虑增加,则可以省略。
下一步是聚合的计算。在一些实施例中,可以使用简单公式Sum(x1,x2,..xN)/N来完成平均值的计算,不过可能更理想的是使用累积移动平均值来提高空间效率。
如上述讨论,可以使用LogStreaming传输将输入数据(现有数据和新数据)从ADC传输到MAS。在一些实施例中,将新字段携带在事务结束记录中就足够了。在MAS侧,摄取通常将由LogStreaming传输和LogReceiver使用者完成,后者将输出写入HDFS。
遥测集群的批量数据处理路径可用于生成将用于训练机器学习模型和算法的数据集。如上所述,可以将从事务记录中提取的信息字段(例如“观测值”)累积到Pg-XL中,直到收集到足够数量为止。在一些实施例中,大约10,000个观测值就足够了。
一旦满足以上条件,就可以经由作业调度器发起一个或多个Spark作业(即,不是由遥测API调用触发)以(重新)训练模型和/或算法。其结果将是模型系数以及训练评估结果。
上面提到的机器学习流水线可以包括以下阶段:
1)网络类型检测(多类分类)
a)对2G事务进行分类(二元分类)
模型:非监督模型(聚类)与监督模型(逻辑回归)的组合
b)对3G与4G事务进行分类(二元分类)
模型:非监督模型(聚类)与监督模型(逻辑回归)的组合
2)拥塞级别和信号质量等级
a)计算CCL和CSQ分数
仅针对3G和4G观测值的子集。
3G和4G之间的公式参数有所不同
b)指定等级边界
根据4个四分位数确定的边界
在一些实施例中,就区分不同的网络类型(2G、3G、4G)而言,具有最强结果的特征组合可能是平均吞吐量(thrput_avg)和平均到达间隔(iai_avg)。由于iai_avg的类泊松分布,所得分类模型可能是非线性的,但也可以通过计算特征的对数来转换为线性模型,如图19A所示。在一些实施例中,向数据集添加附加观测值会增加其可变性,并可能降低分类准确度。但是,使用上述iai_1ms和iai_2ms特征,可以实现网络类别之间的分离的改进,如图19B所示。基于图19B所示的分布,3G和4G网络类型之间的识别率约为99.5%。
用于上述技术的混淆矩阵可以表示如下:
网 | ||
net_cls | 3G | 4G |
3G | 3,795 | 20 |
4G | 14 | 2,463 |
然而,这可以作为非监督模型来处理,因为网络类型标记在首次部署时最初可能是未知的。将其更改为非监督模型的大致步骤如下:
1.使用上述属性(例如thrput_avg,iai_1ms,iai_2ms,load_iai_avg,noise_iai_avg,rtt_min,rtt_max,rtt_avg,iai_avg,isi_avg)应用聚类算法。基于我们在k-Means和频谱聚类之间的比较,后者在3G与4G的情况下产生更好的验证结果,而前者适用于2G与非2G的情况。
2.步骤1的结果产生的簇等于要分类的网络类型的数量(最多三个)。可以依据簇的观测值的平均thrput_avg分配标记(始终在“4G”比“3G”快的假设下)。
3.然后可以将数据集分为训练和测试集,例如使用70%-30%的比率。然后,可以采用10倍交叉验证将逻辑回归应用于训练数据集。所使用的属性集可以与上面的步骤1中的相同。
所得的线性分类器使用#属性系数和截距,其可被存储在MAS上并提供回ADC以应用网络类型检测模型。除系数外,截止阈值也可以被提供给ADC。
图20A和20B示出了上述模型的实验结果。
可以通过以下计算来实现对相对的拥塞和噪声延迟进行估计:
·load_delay_pct=avg(load_delay)/avg(delay)
·noise_delay_pct=avg(harq_delay)/avg(delay)
图21示出估计用于一个示例计算环境的连接的最大理论吞吐量的图。参考线(图21中的黑色曲线)由有界对数函数近似表示,其具有如下形式:
·est_thrput=min(a*log1p(b*(transferred_bytes+c))+d,e)
估计CCL和CSQ:
·CQR=(max(est_thrput,thrput)-thrput)/est_thrput
·CCL=CQR*load_delay_pct
·CSQ=CQR*noise_delay_pct
对数函数的参数可以如下计算:
在一些实施例中,CCL和CSQ类别符合相应网络类型的CQI效率指数。下表示出了LTE的CQI效率指数的规模。针对WCDMA有一个类似的表,区别在于有30个类别。
为了便于CQI效率指数和CQR之间的映射,可以在[0,1]范围内对前者进行重新缩放,其中0对应于最佳质量而1对应于最差质量。所得的类别将具有弧形的形式,如图22所示。所提出的连接质量等级意味着,可以将具有忽略不计的(H)ARQ重传的连接分类为具有“良”或“一般”信号状况,“一般”信号状况是由于小区拥塞时会造成干扰。在这种情况下,由于MCS降低,低吞吐量造成信号状况差。
图23A和23B分别示出了在现有数据集上实施上述CCL/CSQ算法的结果,分别针对被分类为3G和4G的观测值。
在一些实施例中,除了能提供给终端用户的报告之外,本公开的***和方法也可以生成内部报告,以验证所述推断算法产生合理的结果。
ML模型和推断算法的参数可以包括以下任何一个:
·线性分类器(逻辑回归)系数
·HARQ阈值:经验上设置为~8ms用于3G,和~7ms用于4G
·每个网络类型的基本RTT:net_rtt参数
·每种网络类型的CCL和CSQ的等级边界
每次需要更新这些参数时,例如在ML模型的初始引导或潜在的重新训练之后,可以将这些参数从MAS传递回ADC。出于鲁棒性的考虑,可以在将训练结果传达给ADC以应用模型之前,通过与阈值进行比较来验证参数。在一些实施例中,该MAS-ADC集成将利用NitroAPI,扩展现有接口或利用样式书(stylebooks)。为了便于手动应用更改,例如作为高级配置、测试或故障排除的一部分,可以将相同的参数用作隐藏的CLI参数。
如上所述,一些输入字段,包括检测到的网络类型和CCL/CSQ类别,可以包括在通过LogStreaming传输从ADC传输到MAS的LogStreaming记录中。与其他MAS分析报告一致,在存储到MAS的关系型数据库中之前,LogStreaming的AfDecoder扩展可被扩展以摄取那些字段并实施归纳/聚合。在一些实施例中,这可以促成上述分析报告的实施例。
在本文中描述的,在一个或多个实施例的上下文中的各种元件,可以单独地或以任何合适的子组合来提供。例如,本文描述的过程可以以硬件、软件或其组合来实现。此外,本文描述的过程不限于所描述的特定实施例。例如,本文描述的过程不限于本文描述的特定处理顺序,而是可以根据需要对过程块进行重新排序、组合、移除或并行或串行地执行,以实现在本文阐述的结果。
将进一步理解,本领域技术人员可以对本文已经描述和示出的部分的细节、材料和布置进行各种改变,而不脱离所附权利要求的范围。
Claims (20)
1.一种用于识别传输层连接的网络类型的方法,所述方法包括:
(a)建立经由提供与多种类型的网络的通信的多个传输层连接通过一个或多个装置的网络流量的度量,所述度量至少包括所述网络流量的分组的到达间隔;
(b)由网络分类器至少使用所述多种类型的网络的度量将所述多种类型的网络分类为分类模型;以及
(c)由所述网络分类器响应于装置接收传输层连接的一个或多个分组,至少基于所述一个或多个分组的度量和所述分类模型针对所述传输层连接识别所述多种类型的网络中的网络类型。
2.根据权利要求1所述的方法,其中,(a)还包括从通过所述一个或多个装置的多个传输层连接的网络流量中捕获分组。
3.根据权利要求1所述的方法,其中,所述多种类型的网络包括移动网络或固定网络之一。
4.根据权利要求3所述的方法,其中,所述移动网络包括2G、3G、4G或5G网络之一。
5.根据权利要求1所述的方法,其中,所述度量包括以下一项或多项:平均吞吐量、平均瞬时吞吐量、平均到达间隔、平均发送间隔、最大往返时间、最小往返时间、平均往返时间、平均负载延迟和平均噪声延迟。
6.根据权利要求1所述的方法,其中,所述度量包括以下一项或多项:在预定到达间隔内的网络流量的分组的百分比,以及具有在预定到达间隔内的到达间隔的分组的概率。
7.根据权利要求1所述的方法,其中,经由包括移动网络的一种类型的网络,与移动装置建立传输层连接。
8.根据权利要求1所述的方法,其中(c)还包括:由所述网络分类器至少基于将所述一个或多个分组的度量与由所述网络分类器为所述多种类型的网络建立的所述分类模型进行比较,针对所述传输层连接推断网络类型。
9.根据权利要求1所述的方法,还包括由所述网络分类器基于所述度量中的到达间隔来区分不同的网络类型。
10.根据权利要求1所述的方法,还包括由所述网络分类器基于所述度量中的平均最小往返时间来区分不同的网络类型。
11.一种用于识别传输层连接的网络类型的***,所述***包括:
能够在一个或多个处理器上执行的网络分类器,所述网络分类器耦合到存储器,并被配置为接收经由提供与多种类型的网络的通信的多个传输层连接通过一个或多个装置的网络流量的度量,所述度量至少包括所述网络流量的分组的到达间隔;
其中,所述网络分类器被配置为至少使用所述多种类型的网络的度量将所述多种类型的网络分类为分类模型;以及
其中,所述网络分类器被配置为响应于装置接收传输层连接的一个或多个分组,至少基于所述一个或多个分组的度量和所述分类模型针对所述传输层连接识别所述多种类型的网络中的网络类型。
12.根据权利要求11所述的***,其中,从通过所述一个或多个装置的多个传输层连接的网络流量中捕获分组。
13.根据权利要求11所述的***,其中,所述多种类型的网络包括移动网络或固定网络之一。
14.根据权利要求13所述的***,其中,所述移动网络包括2G、3G、4G或5G网络之一。
15.根据权利要求11所述的***,其中,所述度量包括以下一项或多项:平均吞吐量、平均瞬时吞吐量、平均到达间隔、平均发送间隔、最大往返时间、最小往返时间、平均往返时间、平均负载延迟和平均噪声延迟。
16.根据权利要求11所述的***,其中,所述度量包括以下一项或多项:在预定到达间隔内的网络流量的分组的百分比,以及具有在预定到达间隔内的到达间隔的分组的概率。
17.根据权利要求11所述的***,其中,经由包括移动网络的一种类型的网络,与移动装置建立传输层连接。
18.根据权利要求11所述的***,其中,所述网络分类器还被配置为:至少基于将所述一个或多个分组的度量与由所述网络分类器为所述多种类型的网络建立的所述分类模型进行比较,针对所述传输层连接推断网络类型。
19.根据权利要求11所述的***,其中,所述网络分类器还被配置为基于所述度量中的到达间隔来区分不同的网络类型。
20.根据权利要求11所述的***,其中,所述网络分类器还被配置为基于所述度量中的平均最小往返时间来区分不同的网络类型。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762552207P | 2017-08-30 | 2017-08-30 | |
US62/552207 | 2017-08-30 | ||
US15/938,769 US10721134B2 (en) | 2017-08-30 | 2018-03-28 | Inferring radio type from clustering algorithms |
US15/938,753 US10972358B2 (en) | 2017-08-30 | 2018-03-28 | Inferring congestion and signal quality |
US15/938753 | 2018-03-28 | ||
US15/938769 | 2018-03-28 | ||
PCT/US2018/048267 WO2019046249A1 (en) | 2017-08-30 | 2018-08-28 | ADVANCED NETWORK ANALYTICAL |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111247774A true CN111247774A (zh) | 2020-06-05 |
CN111247774B CN111247774B (zh) | 2022-10-14 |
Family
ID=65435666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880068575.3A Active CN111247774B (zh) | 2017-08-30 | 2018-08-28 | 高级网络分析 |
Country Status (6)
Country | Link |
---|---|
US (5) | US10972358B2 (zh) |
EP (1) | EP3677001A1 (zh) |
CN (1) | CN111247774B (zh) |
AU (1) | AU2018326369B2 (zh) |
CA (1) | CA3074452A1 (zh) |
WO (1) | WO2019046249A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002240A (zh) * | 2022-08-04 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 一种数据传输***、方法、装置、设备及介质 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG181616A1 (en) | 2009-12-10 | 2012-07-30 | Royal Bank Of Canada | Synchronized processing of data by networked computing resources |
US9940670B2 (en) | 2009-12-10 | 2018-04-10 | Royal Bank Of Canada | Synchronized processing of data by networked computing resources |
US10972358B2 (en) | 2017-08-30 | 2021-04-06 | Citrix Systems, Inc. | Inferring congestion and signal quality |
US10965654B2 (en) | 2017-11-28 | 2021-03-30 | Viavi Solutions Inc. | Cross-interface correlation of traffic |
CN108011780B (zh) * | 2017-12-01 | 2019-01-22 | 北京百度网讯科技有限公司 | 一种数据传输速率测量方法、装置、设备和计算机可读介质 |
US10560206B2 (en) | 2017-12-12 | 2020-02-11 | Viavi Solutions Inc. | Processing a beamformed radio frequency (RF) signal |
US10887778B2 (en) | 2017-12-22 | 2021-01-05 | At&T Intellectual Property I, L.P. | Proactively adjusting network infrastructure in response to reporting of real-time network performance |
US10979326B2 (en) * | 2018-05-11 | 2021-04-13 | Viavi Solutions Inc. | Detecting interference of a beam |
JP7082282B2 (ja) * | 2018-06-06 | 2022-06-08 | 富士通株式会社 | パケット解析プログラム、パケット解析方法およびパケット解析装置 |
US10631263B2 (en) | 2018-09-14 | 2020-04-21 | Viavi Solutions Inc. | Geolocating a user equipment |
JP7070372B2 (ja) * | 2018-11-27 | 2022-05-18 | 日本電信電話株式会社 | トラフィックモニタリング方法、トラフィックモニタリング装置、及びプログラム |
US20220167183A1 (en) * | 2019-02-15 | 2022-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Detecting interference in a wireless network |
US10992543B1 (en) * | 2019-03-21 | 2021-04-27 | Apstra, Inc. | Automatically generating an intent-based network model of an existing computer network |
CN113646759A (zh) | 2019-03-29 | 2021-11-12 | 思杰***有限公司 | 涉及安全热图的技术 |
US11272368B2 (en) | 2019-03-29 | 2022-03-08 | Citrix Systems, Inc. | Controlling access to protected resource using a heat map |
CN112152865B (zh) * | 2019-06-27 | 2023-06-27 | 中兴通讯股份有限公司 | 一种网络性能测量装置及方法 |
US20220358149A1 (en) * | 2019-07-12 | 2022-11-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Life cycle management |
US11223653B2 (en) * | 2019-07-16 | 2022-01-11 | Cisco Technology, Inc. | TLS fingerprinting for process identification |
US11182452B2 (en) * | 2019-09-12 | 2021-11-23 | Hughes Network Systems, Llc | Web acceleration via learning |
US11343171B2 (en) | 2020-04-23 | 2022-05-24 | Cisco Technology, Inc. | Using a flappiness metric to limit traffic disruption in wide area networks |
CN114095449A (zh) * | 2020-07-09 | 2022-02-25 | 华为技术有限公司 | 流量控制方法、网络设备及存储介质 |
US11863318B2 (en) * | 2020-08-31 | 2024-01-02 | Frontiir Pte Ltd. | Error correction for network packets |
US11916770B2 (en) * | 2020-10-20 | 2024-02-27 | Cisco Technology, Inc. | Pinpointing sources of jitter in network flows |
US11601363B2 (en) * | 2021-05-14 | 2023-03-07 | Comcast Cable Communications, Llc | Intelligent internet traffic routing |
CN113747498B (zh) * | 2021-08-03 | 2023-11-28 | 上海交通大学 | 针对移动蜂窝网络的可配置低延迟拥塞控制方法及*** |
US11616730B1 (en) * | 2021-10-01 | 2023-03-28 | Compira Labs Ltd. | System and method for adapting transmission rate computation by a content transmitter |
US11831531B2 (en) * | 2021-10-18 | 2023-11-28 | Capital One Services, Llc | Methods and systems for determining severity of disruptions in communication networks in non-homogenous environments |
CN114362892B (zh) * | 2022-01-17 | 2024-05-31 | 国网信息通信产业集团有限公司 | 基于CoAP的物联网重传超时更新方法、装置及介质 |
WO2023250260A1 (en) * | 2022-06-20 | 2023-12-28 | 7Signal, Inc. | System and method for determining wireless service quality using inference |
CN116578874B (zh) * | 2023-07-10 | 2023-11-21 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 一种基于网络协议的卫星信号属性判证方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394827A (zh) * | 2011-11-09 | 2012-03-28 | 浙江万里学院 | 互联网流量分级分类方法 |
CN102892111A (zh) * | 2011-07-19 | 2013-01-23 | Sk电信有限公司 | 发送装置、接收装置及其操作方法 |
CN104170353A (zh) * | 2013-12-27 | 2014-11-26 | 华为技术有限公司 | Tcp链路配置方法、装置及设备 |
CN105391639A (zh) * | 2015-10-13 | 2016-03-09 | 深圳市唯传科技有限公司 | 一种物联网智能网关路由方法及*** |
CN106686630A (zh) * | 2016-12-30 | 2017-05-17 | 南京理工大学 | 基于网络时延特征的移动蜂窝网络流量识别方法 |
US20170214652A1 (en) * | 2002-10-15 | 2017-07-27 | Nomadix, Inc. | Systems and methods for network address translation |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640595A (en) * | 1993-06-29 | 1997-06-17 | International Business Machines Corporation | Multimedia resource reservation system with graphical interface for manual input of resource reservation value |
JPH10336202A (ja) | 1997-06-03 | 1998-12-18 | Fuji Xerox Co Ltd | データ転送装置および方法 |
US6338074B1 (en) | 1997-07-23 | 2002-01-08 | Filenet Corporation | System for enterprise-wide work flow automation |
US6766309B1 (en) * | 1999-07-14 | 2004-07-20 | Liang Cheng | Method and system for adapting a network application based on classifying types of communication links using fuzzy logic |
US6646996B1 (en) | 1999-12-15 | 2003-11-11 | International Business Machines Corporation | Use of adaptive resonance theory to differentiate network device types (routers vs switches) |
GB0120033D0 (en) * | 2001-08-16 | 2001-10-10 | Fujitsu Ltd | Cell selection |
US7231442B2 (en) | 2002-04-03 | 2007-06-12 | Tonic Software, Inc. | Global network monitoring system |
US8910241B2 (en) | 2002-04-25 | 2014-12-09 | Citrix Systems, Inc. | Computer security system |
US7418494B2 (en) | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
EP1453269A1 (en) | 2003-02-25 | 2004-09-01 | Matsushita Electric Industrial Co., Ltd. | A method of reporting quality metrics for packet switched streaming |
US8068436B2 (en) | 2003-10-15 | 2011-11-29 | Microsoft Corporation | Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering |
US8126999B2 (en) | 2004-02-06 | 2012-02-28 | Microsoft Corporation | Network DNA |
US7545748B1 (en) | 2004-09-10 | 2009-06-09 | Packeteer, Inc. | Classification and management of network traffic based on attributes orthogonal to explicit packet attributes |
WO2006129839A2 (en) | 2005-05-31 | 2006-12-07 | Access Co., Ltd. | Time division address management device and time division routing information management device |
US8249590B2 (en) | 2005-08-16 | 2012-08-21 | Varaha Systems Incorporated | System, method, and apparatus for voice handoffs |
US20070223492A1 (en) | 2005-11-23 | 2007-09-27 | Ist International, Inc. | Methods and apparatus for optimizing a TCP session for a wireless network |
US20070147317A1 (en) * | 2005-12-23 | 2007-06-28 | Motorola, Inc. | Method and system for providing differentiated network service in WLAN |
US7873065B1 (en) | 2006-02-01 | 2011-01-18 | F5 Networks, Inc. | Selectively enabling network packet concatenation based on metrics |
US20080004024A1 (en) | 2006-06-28 | 2008-01-03 | Beceem Communications, Inc. | Managing subscriber connections between at least two types of wireless networks |
US7869354B2 (en) | 2006-08-31 | 2011-01-11 | International Business Machines Corporation | Analyzing and generating network traffic using an improved Markov Modulated Poisson Process model with one bursty state and a plurality of idle states |
CN101681157B (zh) | 2007-05-31 | 2012-07-18 | 三菱电机株式会社 | 控制***设计装置 |
US7760718B2 (en) * | 2007-08-20 | 2010-07-20 | Cisco Technology, Inc. | Taxonomy based multiple ant colony optimization approach for routing in mobile ad hoc networks |
KR20090022048A (ko) | 2007-08-29 | 2009-03-04 | 삼성전자주식회사 | 무선 이동통신시스템에서 패킷 기반 고정 자원할당을 위한하이브리드 자동재전송 장치 및 방법 |
JP5077104B2 (ja) | 2008-06-30 | 2012-11-21 | 富士通株式会社 | ネットワーク障害検知プログラム、システム、及び方法 |
FR2935862B1 (fr) | 2008-09-08 | 2014-09-05 | Canon Kk | Procede de prediction du taux d'erreurs de transmission dans un reseau de communication et serveur mettant en oeuvre un tel procede |
US9480003B2 (en) | 2009-02-01 | 2016-10-25 | Qualcomm Incorporated | Apparatus and method for determining cell suitability for a wireless device in a communication system |
US8228800B2 (en) | 2009-02-03 | 2012-07-24 | Microsoft Corporation | Optimized transport protocol for delay-sensitive data |
CN101515360A (zh) | 2009-04-13 | 2009-08-26 | 阿里巴巴集团控股有限公司 | 向用户推荐网络目标信息的方法和服务器 |
US8218452B2 (en) | 2009-06-30 | 2012-07-10 | Alcatel Lucent | Network detection of real-time applications using incremental linear regression |
US7944822B1 (en) * | 2009-07-10 | 2011-05-17 | Narus, Inc. | System and method for identifying network applications |
KR101689778B1 (ko) | 2009-08-19 | 2016-12-27 | 오팡가 네트웍스, 인크. | 네트워크 통신 품질 및 트래픽의 실시간 분석에 기반한 개선된 데이터 전달 |
WO2011031790A1 (en) | 2009-09-11 | 2011-03-17 | Topham Philip S | Generating a subgraph of key entities in a network and categorizing the subgraph entities into different types |
US8488484B2 (en) | 2010-09-23 | 2013-07-16 | Intel Corporation | Power saving system, method and apparatus for a wireless device |
EP2647240B1 (en) | 2010-11-30 | 2019-03-13 | Telefonaktiebolaget LM Ericsson (publ) | Method and arrangement for determining an aggregation scheme in a wireless network. |
US9686355B2 (en) | 2010-12-20 | 2017-06-20 | Microsoft Technology Licensing, Llc | Third party initiation of communications between remote parties |
US9112948B1 (en) | 2011-03-18 | 2015-08-18 | Amazon Technologies, Inc. | System and method for assignment and switching of content sources for a streaming content session |
US8774043B2 (en) | 2011-06-08 | 2014-07-08 | Citrix Systems, Inc. | Methods and apparatus for using a layered gear to analyze and manage real-time network quality of service transmission for mobile devices on public networks |
CN103049444B (zh) | 2011-10-12 | 2016-09-28 | 阿里巴巴集团控股有限公司 | 一种数据信息分类结构的存储方法和*** |
US8817655B2 (en) * | 2011-10-20 | 2014-08-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Creating and using multiple packet traffic profiling models to profile packet flows |
US8418249B1 (en) * | 2011-11-10 | 2013-04-09 | Narus, Inc. | Class discovery for automated discovery, attribution, analysis, and risk assessment of security threats |
US9277363B2 (en) | 2011-12-09 | 2016-03-01 | Google Technology Holdings LLC | Adaptive data synchronization based on device movement and location |
US8982725B2 (en) | 2012-02-03 | 2015-03-17 | Mediatek Inc. | Method and apparatus for collecting and providing diverse traffic information in cellular networks |
US9014028B2 (en) | 2012-03-08 | 2015-04-21 | International Business Machines Corporation | Identifying and transitioning to an improved VOIP session |
US9066225B2 (en) | 2012-04-24 | 2015-06-23 | Empire Technology Development Llc | Network selection scheme |
US9277472B1 (en) * | 2012-09-04 | 2016-03-01 | Amazon Technologies, Inc. | Determining user experience metrics for different communication networks |
JP2014197774A (ja) | 2013-03-29 | 2014-10-16 | ソニー株式会社 | 通信機器、通信システム、通信機器の制御方法およびプログラム |
US9736651B2 (en) | 2013-10-10 | 2017-08-15 | Verizon Patent And Licensing Inc. | Method and system for providing dash optimization for mobile devices |
EP2884696A1 (en) | 2013-12-11 | 2015-06-17 | Telefonaktiebolaget L M Ericsson (publ) | Sketch based monitoring of a communication network |
JP5643449B1 (ja) | 2014-02-03 | 2014-12-17 | 株式会社 ディー・エヌ・エー | 端末装置に表示画面を表示させるサーバ及び方法 |
US9661440B2 (en) | 2014-07-25 | 2017-05-23 | Qualcomm Incorporated | Methods and systems for triggering efficient application synchronization |
US9824374B1 (en) | 2014-08-19 | 2017-11-21 | Sprint Communications Company L.P. | Radio access network adaptive mobile advertisement delivery |
US9591510B2 (en) | 2014-09-22 | 2017-03-07 | Raytheon Company | Systems and methods to create message traffic |
EP3091785B1 (en) | 2014-10-28 | 2018-03-21 | Huawei Technologies Co., Ltd. | Network selection method and user equipment |
WO2016115406A1 (en) * | 2015-01-14 | 2016-07-21 | Hughes Network Systems, Llc | Determining link conditions of a client lan/wan from measurement point to client devices and application servers of interest |
US9538345B2 (en) | 2015-01-28 | 2017-01-03 | Citrix Systems, Inc. | Systems and methods for performing load balancing and message routing for short message peer to peer protocol |
US9780997B2 (en) * | 2015-01-30 | 2017-10-03 | Alcatel Lucent | Method and system for controlling an operation of an application by classifying an application type using data bearer characteristics |
WO2016141239A1 (en) * | 2015-03-03 | 2016-09-09 | Opanga Networks, Inc. | Systems and methods for pacing data flows |
US20160283859A1 (en) * | 2015-03-25 | 2016-09-29 | Cisco Technology, Inc. | Network traffic classification |
US10588049B2 (en) * | 2015-03-27 | 2020-03-10 | Apple Inc. | Optimizing applications behavior in a device for power and performance |
US9826359B2 (en) * | 2015-05-01 | 2017-11-21 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US10536357B2 (en) * | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10827426B2 (en) * | 2015-06-09 | 2020-11-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for monitoring a radio link |
US10291541B1 (en) * | 2015-07-16 | 2019-05-14 | Sprint Spectrum L.P. | Systems and methods for scheduling transmissions from an access node |
JP2017034605A (ja) | 2015-08-05 | 2017-02-09 | 株式会社日立製作所 | ネットワークシステム、通信の分析方法、及び分析装置 |
US9801234B2 (en) * | 2015-08-25 | 2017-10-24 | Logitech Europe S.A. | Power efficient mesh network |
CN108141377B (zh) * | 2015-10-12 | 2020-08-07 | 华为技术有限公司 | 网络流早期分类 |
US10116521B2 (en) * | 2015-10-15 | 2018-10-30 | Citrix Systems, Inc. | Systems and methods for determining network configurations using historical real-time network metrics data |
CN106817225B (zh) | 2015-11-30 | 2020-04-21 | 华为技术有限公司 | 以太网供电方法和设备 |
JP6828693B2 (ja) * | 2015-12-25 | 2021-02-10 | 日本電気株式会社 | 受信装置、送信装置及び可用帯域推定方法 |
US10511542B2 (en) | 2016-06-10 | 2019-12-17 | Microsoft Technology Licensing, Llc | Multi-interface power-aware networking |
CN107864168B (zh) * | 2016-09-22 | 2021-05-18 | 华为技术有限公司 | 一种网络数据流分类的方法及*** |
US20180150635A1 (en) * | 2016-11-28 | 2018-05-31 | The United States Of America As Represented By The Secretary Of The Navy | Apparatus and Method for Using a Support Vector Machine and Flow-Based Features to Detect Peer-to-Peer Botnet Traffic |
WO2018195911A1 (zh) * | 2017-04-28 | 2018-11-01 | Oppo广东移动通信有限公司 | 传输数据的方法、终端设备和网络设备 |
US10819637B2 (en) * | 2017-08-09 | 2020-10-27 | Cisco Technology, Inc. | Determination and indication of network traffic congestion |
US10972358B2 (en) * | 2017-08-30 | 2021-04-06 | Citrix Systems, Inc. | Inferring congestion and signal quality |
US10887778B2 (en) * | 2017-12-22 | 2021-01-05 | At&T Intellectual Property I, L.P. | Proactively adjusting network infrastructure in response to reporting of real-time network performance |
-
2018
- 2018-03-28 US US15/938,753 patent/US10972358B2/en active Active
- 2018-03-28 US US15/938,769 patent/US10721134B2/en active Active
- 2018-08-28 EP EP18766486.7A patent/EP3677001A1/en not_active Withdrawn
- 2018-08-28 CA CA3074452A patent/CA3074452A1/en not_active Abandoned
- 2018-08-28 CN CN201880068575.3A patent/CN111247774B/zh active Active
- 2018-08-28 WO PCT/US2018/048267 patent/WO2019046249A1/en unknown
- 2018-08-28 AU AU2018326369A patent/AU2018326369B2/en not_active Ceased
-
2020
- 2020-07-20 US US16/933,640 patent/US11171838B2/en active Active
-
2021
- 2021-03-23 US US17/210,065 patent/US20210306223A1/en not_active Abandoned
- 2021-10-27 US US17/512,343 patent/US11792082B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170214652A1 (en) * | 2002-10-15 | 2017-07-27 | Nomadix, Inc. | Systems and methods for network address translation |
CN102892111A (zh) * | 2011-07-19 | 2013-01-23 | Sk电信有限公司 | 发送装置、接收装置及其操作方法 |
CN102394827A (zh) * | 2011-11-09 | 2012-03-28 | 浙江万里学院 | 互联网流量分级分类方法 |
CN104170353A (zh) * | 2013-12-27 | 2014-11-26 | 华为技术有限公司 | Tcp链路配置方法、装置及设备 |
CN105391639A (zh) * | 2015-10-13 | 2016-03-09 | 深圳市唯传科技有限公司 | 一种物联网智能网关路由方法及*** |
CN106686630A (zh) * | 2016-12-30 | 2017-05-17 | 南京理工大学 | 基于网络时延特征的移动蜂窝网络流量识别方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002240A (zh) * | 2022-08-04 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 一种数据传输***、方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CA3074452A1 (en) | 2019-03-07 |
US10721134B2 (en) | 2020-07-21 |
US20190068453A1 (en) | 2019-02-28 |
EP3677001A1 (en) | 2020-07-08 |
AU2018326369B2 (en) | 2021-09-16 |
US11792082B2 (en) | 2023-10-17 |
US20220116279A1 (en) | 2022-04-14 |
CN111247774B (zh) | 2022-10-14 |
US11171838B2 (en) | 2021-11-09 |
WO2019046249A1 (en) | 2019-03-07 |
US20200351169A1 (en) | 2020-11-05 |
US20190068512A1 (en) | 2019-02-28 |
US20210306223A1 (en) | 2021-09-30 |
US10972358B2 (en) | 2021-04-06 |
AU2018326369A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111247774B (zh) | 高级网络分析 | |
US11405309B2 (en) | Systems and methods for selecting communication paths for applications sensitive to bursty packet drops | |
EP3659305B1 (en) | Proactive link load balancing to maintain quality of link | |
Kfoury et al. | An exhaustive survey on p4 programmable data plane switches: Taxonomy, applications, challenges, and future trends | |
US20220224619A1 (en) | Api dependency error and latency injection | |
US11388085B2 (en) | Method for optimal path selection for data traffic undergoing high processing or queuing delay | |
US11271828B2 (en) | Real-time scalable virtual session and network analytics | |
US11265389B2 (en) | System and method for computation of user experience score for virtual apps and desktop users | |
Gomez et al. | A survey on TCP enhancements using P4-programmable devices | |
US10924423B2 (en) | Adaptive mechanism to adjust UDT packet size based on actual network condition | |
CA3137473A1 (en) | Systems and methods for detection of degradation of a virtual desktop environment | |
US11665085B2 (en) | Optimizing selection of gateways based on location and user experience related metrics | |
Lee | An In-depth Latency Measurement Tool for Large-scale System |
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 |