CN111193666A - 使用自适应机器学习探测预测应用体验质量度量 - Google Patents
使用自适应机器学习探测预测应用体验质量度量 Download PDFInfo
- Publication number
- CN111193666A CN111193666A CN201910569837.0A CN201910569837A CN111193666A CN 111193666 A CN111193666 A CN 111193666A CN 201910569837 A CN201910569837 A CN 201910569837A CN 111193666 A CN111193666 A CN 111193666A
- Authority
- CN
- China
- Prior art keywords
- wan
- packet
- metrics
- packet size
- links
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
-
- 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/147—Network analysis or design for predicting network behaviour
-
- 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- 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/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- 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/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开总体描述了用于评估软件定义广域网上的应用体验质量度量的技术。比如,网络设备可以接收数据流的应用数据分组。响应于接收到应用数据分组,网络设备确定应用数据分组的分组大小是否在参考数据存储中被表示。响应于确定分组大小未在参考数据存储中被表示,网络设备基于参考数据存储来预测针对多个广域网(WAN)链路中的每个WAN链路的分组大小的流度量。网络设备基于所预测的流度量来选择WAN链路,在该WAN链路上发送应用数据分组。
Description
技术领域
本公开涉及计算机网络。
背景技术
在过去的几十年中,互联网以指数形式从由少数节点组成的小型网络发展成为超过十亿用户提供服务的全球普及网络。今天,个人订户不限于通过网络运行具有语音和/或数据下载的一些网络会话。相反,订户所使用的服务范围在多媒体游戏、音频和视频流、网络服务、IP语音(VoIP)等方面变化很大。随着新技术渗透,诸如物联网(IoT)和M2M(机器到机器)通信的利用率的提高,给定订户可能需要的网络服务和软件应用也从较少会话变化到具有并发流的多个会话。随着订户越来越多地同时运行多个应用、服务和交易,这个数字正在迅速增加。订户会话和分组流的数量和种类的增加为网络服务提供商在网络性能(诸如等待时间、延迟和抖动)方面带来了挑战。
发明内容
一般而言,本公开描述了用于以减少在各种网络链路上发送的总体业务从而减少软件定义广域网中的链路的负担的方式来评估软件定义广域网上的应用体验质量度量的技术。在一些软件定义广域网(SD-WAN)中,SD-WAN路由设备可以指定客户端设备与应用服务器之间的数据流的路径。通常使用服务级协议(SLA)参数和WAN链路的各种度量来选择这些路径。虽然SLA参数本质上可以是更静态的,或者至少在SD-WAN设备接收流之前预先确定,但是各种WAN链路的度量可以更加动态,因为描述特定WAN链路的能力的度量可以基于网络的各种当前方面而变化。通过在各种链路上发送探测分组并且分析传输结果来获得这些度量,其中具有与数据流中的数据分组相同大小的探测分组合理地测量特定WAN链路可以如何处置数据流。
不是在接收数据流时分析它们,而是基于所接收的数据流来分析潜在的WAN链路,然后为特定数据流选择最佳WAN链路,本文中所描述的技术可以事先周期性地向潜在的WAN链路中的每个潜在的WAN链路发送各种大小的探测分组,以便保持各种WAN链路的度量的最新记录,从而可以在接收时即刻路由数据流。比如,当使得本公开的技术能够用于网络设备时,网络设备可以维持参考数据存储以存储针对各种数据分组大小的探测分组收集的性能度量,该探测分组对应于通常由网络设备所处置的应用数据流。如果尚未指定或定义参考数据存储中的探测简档,则这些可以是默认大小。周期性地,网络设备可以向可用WAN链路中的每个可用WAN链路发送多个探测分组(例如,参考数据存储中指定的每个大小的探测分组),以便如果WAN链路要传输具有相应分组大小的数据流,则获得针对特定WAN链路的当前度量,从而将这些度量存储在参考数据存储中。
在一些示例中,网络设备可以接收数据流的应用数据分组。响应于接收到应用数据分组,网络设备确定应用数据分组的分组大小是否在参考数据存储中被表示。响应于确定分组大小未在参考数据存储中被表示,网络设备基于参考数据存储中包括的一个或多个度量的至少一部分来预测针对多个WAN链路中的每个WAN链路的分组大小的流度量。网络设备基于所预测的流度量来选择多个WAN链路中的WAN链路,在多个WAN链路中的该WAN链路上发送应用数据分组。进一步地,对于多个WAN链路中的每个WAN链路,网络设备向相应WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得针对相应WAN链路的一个或多个度量的更新集合,该更新集合包括针对分组大小的度量;以及更新参考数据存储,以包括针对每个WAN链路的一个或多个度量的更新集合。相反,响应于确定分组大小在参考数据存储中被表示,网络设备基于针对多个WAN链路的每个WAN链路的一个或多个度量的相应集合来确定在其上发送数据流的应用数据分组的多个链路中的WAN链路,并且向所选择的WAN链路发送应用数据分组。
这些技术也可以在每个WAN链路中扩展。比如,每个WAN链路可以包括多个队列。除了像WAN链路中的每个WAN链路发送探测分组之外,网络设备还可以发送来自WAN链路内的每个队列的探测分组集合,以甚至更具体地基于每个队列来确定数据流的最佳路由。
使用本文中所描述的技术可以有一个或多个优点。作为一个示例,预测动态路径选择(PDPS)引擎可以基于使用使用实时应用参数的自适应探测(probes)通过预测引擎来确定准确的服务级协议(SLA)参数。进一步地,可以消除一些实现方式中的应用探测,从而减少网络业务和每个链路上消耗的总体带宽,并且提高处理传入数据流的效率。当与其他应用探测技术相比较时,可以减少探测数据所消耗的带宽,并且可以使用可用带宽来代替客户数据,从而提高服务提供商的计费效率。还可以减少链路负担,因为采样分组没有使用应用体验质量(APPQOE)自定义报头进行来重构,并且没有通过链路发送应用分组。
进一步地,因为如本文中所描述的通过所有WAN链路发送探测分组,所以WAN链路性能度量可用于所有WAN链路,而不管应用数据业务正在哪里流动。可以减少将应用切换到不同WAN链路的实例,因为基于高级策略的路由(APBR)引擎可以基于探测分组来接入WAN链路适用性的主动输入,从而系统可以减少或避免频繁的链路切换。PDPS引擎可以在所有链路上具有稳定/可预测的探测带宽消耗,其为处于容量规划阶段的客户提供帮助。进一步地,代替在分析数据流之后被动确定各种WAN链路的度量,本文中所描述的技术可以主动确定由网络设备例行处置的数据流的测量,从而使得数据流能够在到达网络设备时更快地路由。
在本文中所描述的技术的一个示例中,描述了一种方法,该方法包括,响应于由网络设备接收数据流的应用数据分组,确定应用数据分组的分组大小是否在参考数据存储中被表示。参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个WAN链路的一个或多个度量的对应集合的数据。该方法还包括,响应于确定分组大小未在参考数据存储中被表示,由网络设备并且基于参考数据存储中包括的一个或多个度量的至少一部分来预测针对多个WAN链路中的每个WAN链路的分组大小的流度量。该方法还包括:由网络设备并且基于所预测的流度量来选择在其上发送应用数据分组的多个WAN链路中的WAN链路。进一步地,对于多个WAN链路中的每个WAN链路,该方法包括:向相应的WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得相应WAN链路的一个或多个度量的更新集合,该更新集合包括针对分组大小的度量;以及更新参考数据存储,以包括针对相应WAN链路的多个探测分组中的每个探测分组的一个或多个度量的更新集合。
在本文中所描述的技术的另一示例中,描述了一种网络设备。该网络设备包括存储器,该存储器被配置为存储参考数据存储。参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个WAN链路的一个或多个度量的对应集合的数据。网络设备还包括与存储器通信的一个或多个处理器。一个或多个处理器被配置为:响应于接收到数据流的应用数据分组,确定应用数据分组的分组大小是否在参考数据存储中被表示。一个或多个处理器还被配置为:响应于确定分组大小未在参考数据存储中表示,基于参考数据存储中包括的一个或多个度量的至少一部分,来预测针对多个WAN链路中的每个WAN链路的分组大小的流度量。一个或多个处理器还被配置为基于所预测的流度量来选择多个WAN链路中的WAN链路,在多个WAN链路中的该WAN链路上发送应用数据分组。进一步地,对于多个WAN链路中的每个WAN链路,一个或多个处理器被配置为:向相应的WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得针对相应WAN链路的一个或多个度量的更新集合,该更新集合包括针对分组大小的度量;以及更新参考数据存储,以包括针对相应WAN链路的多个探测分组中的每个探测分组的一个或多个流度量的更新集合。
在本文中所描述的技术的另一示例中,描述了一种非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质在其上存储指令,该指令当被执行时,经由执行软件定义网络(SDN)设备使得一个或多个处理器:响应于接收到数据流的应用数据分组,确定应用数据分组的分组大小是否在参考数据存储中被表示。参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个WAN链路的一个或多个度量的对应集合的数据。指令当被执行时,还使得一个或多个处理器:响应于确定分组大小未在参考数据存储中被表示,基于参考数据存储中包括的一个或多个度量的至少一部分来预测针对多个WAN链路中的每个WAN链路的分组大小的流度量。指令当被执行时,还使得一个或多个处理器基于所预测的流度量来选择在其上发送应用数据分组的多个WAN链路中的WAN链路。进一步地,对于多个WAN链路中的每个WAN链路,指令当被执行时,使得一个或多个处理器:向相应WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得针对相应WAN链路的一个或多个度量的更新集合,该更新集合包括针对分组大小的度量;以及更新参考数据存储,以包括针对相应WAN链路的多个探测分组中的每个探测分组的一个或多个流度量的更新集合。
在附图和以下描述中阐述了本公开的一个或多个示例的细节。根据说明书和附图以及权利要求,本公开的其他特征、目的和优点将变得显而易见。
附图说明
图1是图示了根据本公开的技术的使用应用体验质量度量预测功能来执行数据监测的示例软件定义广域网系统的框图。
图2是图示了根据本公开的一种或多种技术的示例软件定义广域网的框图。
图3是图示了根据本公开的技术的被配置为使用预测动态路径选择(PDPS)引擎执行一个或多个应用体验质量度量预测功能的示例软件定义广域网设备的框图。
图4是根据本公开的技术的包括被配置为处置应用业务以预测应用体验质量度量的示例PDPS引擎的概念流程图。
图5是图示了根据本公开的技术的被配置为处置应用业务以预测应用体验质量度量的示例PDPS引擎的更详细视图的概念图。
图6是图示了根据本公开的技术的使用机器学习模型和大小可变的探测分组来预测软件定义广域网上的应用体验质量度量的示例操作的流程图。
图7是图示了根据本公开的技术的用于使用应用体验质量度量预测功能来执行数据监测的软件定义广域网系统的示例技术的流程图。
具体实施方式
图1是图示了根据本文中所描述的示例的使用应用体验质量度量预测功能来执行数据监测的示例软件定义广域网系统的框图。
图1的示例网络系统包括服务提供商网络2,服务提供商网络2作为专用网络操作以向订户设备16提供基于分组的网络服务。也就是说,服务提供商网络2为订户设备16提供认证和建立网络接入,使得订户设备可以开始与公共网络12交换数据分组,该公共网络12可以是诸如互联网的内部或外部基于分组的网络。
在图1的示例中,服务提供商网络2包括接入网络6,接入网络6经由服务提供商软件定义广域网7(下文称为“SD-WAN7”)和路由器8提供与公共网络12的连接。SD-WAN 7和公共网络12提供基于分组的服务,其可供订户设备16请求和使用。作为示例,SD-WAN 7和/或公共网络12可以提供批量数据递送、互联网协议语音(VoIP)、互联网协议电视(IPTV)、短消息服务(SMS)、无线应用协议(WAP)服务、或客户特定应用服务。公共网络12可以包括比如局域网(LAN)、广域网(WAN)、互联网、虚拟LAN(VLAN)、企业LAN、层3虚拟专用网(VPN)、由操作接入网络6的服务提供商操作的互联网协议(IP)内联网、企业IP网络、或其某个组合。在各种示例中,公共网络12连接到公共WAN、互联网、或其他网络。公共网络12执行一个或多个分组数据协议(PDP),诸如IP(IPv4和/或IPv6)、X.25或点对点协议(PPP),以实现公共网络12服务的基于分组的传输。
一般而言,订户设备16经由接入网络6连接到网关路由器8,以接收与由公共网络12或路由器9托管的应用的订户服务的连接。订户可以表示比如企业、住宅订户、或移动订户。订户设备16可以是例如个人计算机、膝上型计算机、或位于客户设备(CE)11后面的其他类型的计算设备,其可以提供本地路由和交换功能。订户设备16中的每个订户设备可以运行多种软件应用,诸如文字处理和其他办公室支持软件、web浏览软件、支持语音呼叫的软件、视频游戏、视频会议、以及电子邮件等。例如,订户设备16可以是多种支持网络的设备,通常称为“物联网”(IoT)设备,诸如相机、传感器(S)、电视、家用电器等。另外,订户设备16可以包括经由无线电接入网络(RAN)6接入服务提供商网络2的数据服务的移动设备。示例移动订户设备包括移动电话、具有例如3G无线卡的膝上型或台式计算机、有无线能力的上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(PDA)等。
网络服务提供商操作或在某些情况下租用接入网络6的元件以在订户设备16与路由器8之间提供分组传输。接入网络6表示聚合来自订户设备16中的一个或多个订户设备的数据业务以供传输到服务提供商的SD-WAN 7或从服务提供商的SD-WAN 7传输的网络。接入网络6包括网络节点,其执行通信协议以传输控制和用户数据,以促进订户设备16与路由器8之间的通信。接入网络6可以包括宽带接入网络、无线LAN、公共交换电话网络(PSTN)、客户方设备(CPE)网络、或其他类型的接入网络,并且可以包括用于诸如无线电接入网络(RAN)(未示出)的蜂窝接入网络的连接或以其他方式为诸如无线电接入网络(RAN)(未示出)的蜂窝接入网络提供连接。示例包括符合通用移动电信系统(UMTS)体系架构、被称为长期演进(LTE)的UMTS演进、由互联网工程任务组(IETF)标准化的移动IP、以及由第三代合作伙伴项目(3GPP)、第三代合作伙伴项目2(3GGP/2)和WiMAX论坛所提出的其他标准的网络。
SD-WAN设备18可以是客户边缘(CE)路由器、提供商边缘(PE)路由器、或接入网络6与SD-WAN 7之间的其他网络设备。SD-WAN 7向订户设备16提供基于分组的连接,该订户设备16附接到接入网络6以接入公共网络12(例如,互联网)。SD-WAN 7可以表示由服务提供商拥有和操作以互连多个网络的公共网络,其可以包括接入网络6。在一些示例中,SD-WAN 7可以实现多协议标记交换(MPLS)转发并且在这种实例中可以称为MPLS网络或MPLS骨干。在一些实例中,SD-WAN 7表示多个互连的自治系统,诸如互联网,其提供来自一个或多个服务提供商的服务。公共网络12可以表示互联网。公共网络12可以表示边缘网络,其经由转接网络22和一个或多个网络设备(例如,诸如客户边缘交换机或路由器的客户边缘设备)耦合到SD-WAN 7。公共网络12可以包括数据中心。路由器8可以经由虚拟网络20与服务节点10交换分组,并且路由器8可以经由转接网络22将分组转发到公共网络12。
在包括有线/宽带接入网络的网络2的示例中,路由器8可以表示宽带网络网关(BNG)、宽带远程接入服务器(BRAS)、MPLS PE路由器、核心路由器或网关、或者电缆调制解调器终端系统(CMTS)。在包括蜂窝接入网络作为接入网络6的网络2的示例中,路由器8可以表示移动网关,例如,网关通用分组无线电服务(GPRS)服务节点(GGSN)、接入网关(aGW)、或者分组数据网络(PDN)网关(PGW)。在其他示例中,关于路由器8所描述的功能可以在交换机、服务卡或另一网络元件或组件中实现。在一些示例中,路由器8本身可以是服务节点。
管理网络2中的至少部分网络的网络服务提供商通常向与接入服务提供商网络2的设备(例如,订户设备16)相关联的订户提供服务。所提供的服务可以包括例如传统的互联网接入、VoIP、视频和多媒体服务、以及安全服务。如上文关于SD-WAN 7所描述的,SD-WAN7可以支持多种类型的接入网络基础设施,该接入网络基础设施连接到服务提供商网络接入网关以提供对所提供的服务的访问。在一些实例中,网络系统可以包括附接到具有不同体系架构的多个不同接入网络6的订户设备16。
一般而言,订户设备16中的任一个或多个订户设备可以通过向诸如SD-WAN设备18或路由器8的网关设备发送会话请求来请求授权和数据服务。反过来,软件定义广域网(“SD-WAN”)设备18可以接入诸如认证、授权和计费(AAA)服务器的中央服务器(未示出),以对请求网络接入的订户设备16中的一个订户设备进行认证。一旦被认证,订户设备16中的任一订户设备可以向SD-WAN 7发送订户数据业务以访问和接收由公共网络12提供的服务,并且这样的分组可以作为至少一个分组流的一部分而遍历路由器8。在一些示例中,SD-WAN设备18可以将所有经认证的订户业务转发到公共网络12,并且如果订户业务需要服务节点10上的服务,则路由器8可以将服务15应用到和/或将特定订户业务引导到数据中心9。要被应用于订户业务的应用(例如,服务应用)可以被托管在服务节点10上。
例如,当转发订户业务时,路由器8可以通过在路由器9内安装的一个或多个服务卡上执行的服务15来导向各个订户分组流。另外或者可替代地,服务提供商网络2包括具有服务节点集群10的数据中心9,该服务节点集群为大多数虚拟化网络服务提供执行环境。在一些示例中,服务节点10中的每个服务节点表示服务实例。服务节点10中的每个服务节点可以将一个或多个服务应用于业务流。如此,路由器8可以通过服务节点10所提供的定义的服务集合来引导订户分组流。也就是说,在一些示例中,每个订户分组流可以通过服务节点10所提供的特定有序的服务组合来转发,每个有序集合在本文中被称为“服务链”。作为示例,服务15和/或服务节点10可以应用状态防火墙(SFW)和安全服务、深度分组检测(DPI)、运营商级网络地址转换(CGNAT)、业务目的地功能(TDF)服务、媒体(语音/视频)优化、互联网协议安全(IPSec)/虚拟专用网络(VPN)服务、超文本传输协议(HTTP)过滤、计数、计费、收费、和/或分组流的负载平衡、或应用于网络业务的其他类型的服务。
在图1的示例中,订户分组流可以沿着服务链被导向,该服务链包括服务15和/或由服务节点10所应用的服务中的任一服务。一旦在服务链的末端节点处(即,要应用于沿着特定服务路径流动的分组的最后服务)进行处理,业务就可以被导向到公共网络12。
“服务链”定义了要以特定顺序应用以提供应用于绑定到服务链的分组流的组合服务的一个或多个服务,而“服务隧道”或“服务路径”是指由服务链处理的分组流以及根据服务链排序转发分组流的转发状态所采用的逻辑和/或物理路径。每个服务链可以与相应服务隧道相关联,并且与每个订户设备16相关联的分组流根据与相应订户相关联的服务简档而沿着服务隧道流动。例如,给定订户可以与特定服务简档相关联,该特定服务简档转而被映射到与特定服务链相关联的服务隧道。同样,另一订户可以与不同的服务简档相关联,该服务简档转而被映射到与不同服务链相关联的服务隧道。在一些示例中,在SD-WAN设备18已经认证和建立针对订户的接入会话之后,SD-WAN设备18或路由器8可以沿着适当的服务隧道导向针对订户的分组流,从而使得数据中心9针对给定订户应用必要的有序服务。在一些示例中,SDN控制器14还可以向SD-WAN设备18或路由器8提供转发规则集合,以用于管理转发路径。在一些示例中,SDN控制器14管理从路由器8开始通过数据中心9中的所有元件的转发路径。
在一些示例中,服务节点10可以使用内部配置的转发状态来实现服务链,该转发状态沿着服务链来导向分组流的分组以供根据所标识的服务节点10的集合进行处理。这种转发状态可以指定隧道接口,以使用诸如IP或通用路由封装(GRE)隧道的网络隧道,使用GRE的网络虚拟化(NVGRE),或通过使用VLAN、虚拟可扩展LAN(VXLAN)、MPLS技术等在服务节点10之间进行隧道传输。在一些实例中,互连服务节点10的真实或虚拟交换机、路由器或其他网络元件可以被配置为根据服务链将分组流导向到服务节点10。
在图1的示例中,服务提供商网络2包括软件定义网络(SDN)和网络功能虚拟化(NFV)体系架构。SDN控制器设备14可以提供高级控制器,以用于配置和管理服务提供商网络2的路由和交换基础设施。NFV编排器(orchestrator)设备13可以提供高级编排器,以用于配置和管理网络服务虚拟化到数据中心9的服务节点10中。在一些实例中,SDN控制器14管理数据中心9的操作环境内的虚拟机(VM)的部署。例如,SDN控制器14可以与提供商边缘(PE)路由器8交互以指定服务链信息,如下文所更详细地描述得。例如,由SDN控制器14提供的服务链信息可以指定由服务节点10提供的服务的任何组合和排序、用于沿着服务路径隧道传送或以其他方式传输分组流的业务工程信息、速率限制、服务类型(TOS)标记、或指定用于将分组流与特定服务链匹配的准则的分组分类器。于2013年6月5日提交的PCT国际专利申请PCT/US13/44378中描述了SDN控制器的进一步示例细节,其全部内容通过引用并入本文。
尽管被图示为数据中心9的一部分,但是服务节点10可以是由SD-WAN 7的一个或多个交换机或虚拟交换机耦合的网络设备。在一个示例中,服务节点10中的每个服务节点可以作为虚拟计算环境中的VM运行。而且,计算环境可以包括通用计算设备的可扩展集群,诸如基于x86处理器的服务器。作为另一示例,服务节点10可以包括通用计算设备和专用设备的组合。作为虚拟化网络服务,由服务节点10提供的各个网络服务可以就像在现代数据中心中一样,通过分配虚拟化存储器、处理器利用率、存储和网络策略扩展,以及通过添加附加负载平衡的VM来水平扩展。在其他示例中,服务节点10可以是网关设备或其他路由器。在其他示例中,关于服务节点10中的每个服务节点描述的功能可以在交换机、服务卡或另一网络元件或组件中实现。
如本文中所描述的,例如,网络系统2内的元件(诸如SD-WAN设备18)使用各种应用体验质量(QoE)度量功能来执行应用数据监测,诸如实时性能监测(RPM)或双向主动测量协议(TWAMP)。也就是说,RPM和TWAMP可以在服务提供商网络2内用于例如在也称为主机或端点的网络设备之间基于每个订户来测量网络性能(诸如路径连接、路径延迟、分组抖动、分组丢失、分组重新排序等)的单向和双向或往返度量。一般而言,QoE测量体系架构包括网络设备,每个网络设备支持所使用的协议并且执行特定角色以启动数据会话并且交换用于数据会话的测试分组。在图1中所示的示例网络体系架构中,SD-WAN设备18被配置为执行QoE度量预测,以及动态路径选择算法。SD-WAN设备18允许跨连接的负载共享,并且基于网络条件来调整业务流以改善性能。
执行动态路径选择算法的SD-WAN设备18可以确定QoE度量,诸如包括往返时间(RTT)、抖动和分组丢失的服务级协议(SLA)参数,该QoE度量受到应用的、确定最佳路径的实时参数(如分组大小、队列和分组突发)的影响。然而,不同的应用在其数据流中具有不同的分组大小。更进一步地,当网络中的链路正在传输从服务15和路由器8接收的数据流时,如果通过相同链路传输主动探测分组以确定SLA参数,但是主动探测分组的大小与通过链路传输的数据流中的数据分组的大小不同,则在数据流和探测分组两者的传输中可能出现低效率,其可能导致RTT、抖动和分组丢失增加。在确定SLA度量要求是否被满足时,这可能导致测量不正确。
为了对抗这些低效率,一些网络设备可以在接收到数据流时分析它们以确定探测分组的各个实例以立即匹配正在接收的特定流。然而,该解决方案还会产生各种低效率。如果必须在接收到每个流时进行分析,然后在从WAN链路获取度量之前动态构建探测分组,则网络设备在每次接收到数据流时必须经受无关的处理,并且必须针对每个流发送探测分组。这种无关的处理会降低整个系统的整体效率。
不是在接收数据流时分析它们,而是基于所接收的数据流来分析潜在的WAN链路,然后为特定数据流选择最佳WAN链路,本文中所描述的技术可以周期性地向潜在的WAN链路中的每个WAN链路发送各种大小的探测分组,以便保持各种WAN链路的度量的最新记录,从而可以在接收时即刻路由数据流。比如,当使得本公开的技术能够用于网络设备时,网络设备可以具有参考数据存储,该参考数据存储具有通常由网络设备处置的数据流中的各种数据分组大小的探测分组的指示。如果尚未指定或定义参考数据存储中的探测简档,则这些可以是默认大小。周期性地,网络设备可以向可用WAN链路中的每个可用WAN链路发送多个探测分组(例如,参考数据存储中指定的每个大小的探测分组),以便如果WAN链路要传输具有相应分组大小的数据流,则获得特定WAN链路的当前度量,从而将这些度量存储在参考数据存储中。如此,代替在分析数据流之后被动确定各种WAN链路的度量,本文中所描述的技术可以主动地确定由网络设备例行处置的数据流的测量,从而使得数据流能够在到达网络设备时更快地路由。进一步地,如果仅将某些大小的探测分组发送到WAN链路的一部分,则剩余链路的度量可能是未知的,从而妨碍了网络设备有效地路由应用数据分组的能力。
使用本文中所描述的技术,SD-WAN设备18可以基于主动探测测量来动态地预测WAN链路中的每个WAN链路的未表示的分组大小的流度量,并且基于当前应用数据流来调整探测简档。进一步地,自定义简档中使用的主动探测分组具有恒定大小,并且被发送到潜在的WAN链路中的每个WAN链路,而不是在WAN链路之间改变分组大小。此外,本文中所描述的技术可以基于未在初始探测简档中表示的分组大小的主动探测测量来预测流度量。而且,SD-WAN设备18使用机器学习技术来动态地更新在WAN链路上发送的探测分组的特性(例如,分组大小和突发大小),以使探测分组符合由SD-WAN设备18接收的应用数据分组的特性,从而基于当前应用数据流来调整探测简档。例如,如下文所描述的,根据本文中所描述的技术,SD-WAN设备18可以实现机器学习算法,以用于确定发送到多个订户链路的探测分组的分组大小,以便准确测量各种QoE度量并且执行预测动态路径选择(PDPS)。
在一些示例中,QoE探测分组所携带的数据可以包括以下各项中的一项或多项:用于发送或接收测试分组的时间戳、用于发送或接收测试分组的误差估计、用于发送测试分组的序列号、测试分组的生存时间(TTL)值、存活(keepalive)分组数据单元(PDU)、和/或服务分组、字节或订户的计数。单向和双向网络性能测量(度量)可以包括存活或路径连接、往返时间(RTT)、路径延迟、分组抖动、分组重新排序、分组丢失、服务等待时间测量、或基于所接收的数据的服务负载测量。
比如,根据本公开的技术,SD-WAN设备18可以响应于接收到数据流的应用数据分组,确定应用数据分组的分组大小是否在参考数据存储(未示出)中表示。参考数据存储可以由SD-WAN设备18存储,并且可以包括指示多个探测分组大小和用于多个WAN链路(例如,将SD-WAN设备耦合到SD-WAN 7中的服务提供商中的设备或耦合到能够经由该SD-WAN 7中的服务提供商接入的设备的链路)中的每个WAN链路的一个或多个度量的对应集合的数据。比如,订户设备16中的一个订户设备可以经由SD-WAN设备18发起包括具有服务15的应用数据分组的数据流,并且SD-WAN设备18可以根据本文中所描述的技术处理数据流。
响应于确定分组大小未在参考数据存储中被表示,SD-WAN设备18可以基于参考数据存储中包括的一个或多个度量的至少一部分来预测用于多个WAN链路中的每个WAN链路的分组大小的流度量。SD-WAN设备18可以基于预测的流度量来选择在其上发送应用数据分组的多个WAN链路中的WAN链路。进一步地,对于多个WAN链路中的每个WAN链路,SD-WAN设备18可以向相应的WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得用于相应的WAN链路的一个或多个度量的更新集合(该更新集合包括用于分组大小的度量),以及更新参考数据存储以包括用于相应WAN链路的多个探测分组中的每个探测分组的一个或多个流度量的更新集合。
图2是图示了根据本公开的一种或多种技术的示例SD-WAN37的框图。在本文中所描述的示例中,SD-WAN 7包括三个不同的WAN链路:将SD-WAN设备38耦合到多协议层交换(MPLS)网络50的第一WAN链路40、将SD-WAN设备38耦合到互联网52的第二WAN链路42、以及将SD-WAN设备38耦合到长期演进(LTE)网络54的第三WAN链路44。在其他示例中,SD-WAN 7可以包括用于在客户端(例如,客户端设备36和SD-WAN设备38)与应用侧(例如,SD-WAN设备56和应用服务器58)之间传输数据流的任何合适类型的任何数目的链路。
本文中所描述的技术可以包括SD-WAN设备38周期性地向潜在WAN链路40、42和44中的每个潜在WAN链路发送各种大小的探测分组,以便保持WAN链路40、42和44的度量的最新记录,从而可以在接收时即刻路由数据流。比如,当使得本公开的技术能够用于SD-WAN设备38时,SD-WAN设备38可以具有参考数据存储,该参考数据存储具有通常由SD-WAN设备38处置的数据流中的各种数据分组大小的探测分组的指示。如果尚未指定或定义参考数据存储中的探测简档,则这些可以是默认大小。周期性地,网络设备可以向可用WAN链路40、42和44中的每个可用WAN链路发送多个探测分组(例如,参考数据存储中指定的每个大小的探测分组),以便如果WAN链路要传输具有相应分组大小的数据流,则获得特定WAN链路的当前度量,从而将这些度量存储在参考数据存储中。如此,代替在分析数据流之后被动确定各种WAN链路40、42和44的度量,SD-WAN设备38可以主动确定由SD-WAN设备38例行处置的数据流的测量,从而使得数据流能够在从客户端设备36到达SD-WAN设备38时更快地路由。
比如,根据本公开的技术,SD-WAN设备38可以响应于接收到数据流的应用数据分组而确定应用数据分组的分组大小是否在参考数据存储(未示出)中表示。参考数据存储可以由SD-WAN设备38存储,并且可以包括指示多个探测分组大小和用于多个WAN链路(例如,将SD-WAN设备耦合到SD-WAN 37中的服务提供商中的设备或能够经由该SD-WAN 7中的服务提供商接入的设备的链路)中的每个WAN链路的一个或多个度量的对应集合的数据。比如,客户端设备36中的一个客户端设备可以经由SD-WAN设备38发起包括与应用服务器58相关联的的应用数据分组的数据流,并且SD-WAN设备38可以根据本文中所描述的技术处理数据流。
响应于确定分组大小未在参考数据存储中被表示,SD-WAN设备38可以基于参考数据存储中包括的一个或多个度量的至少一部分来预测用于多个WAN链路40、42和44中的每个WAN链路的分组大小的流度量。SD-WAN设备18可以基于预测的流度量来选择在其上发送应用数据分组的多个WAN链路40、42和44中的WAN链路。进一步地,对于多个WAN链路40、42和44中的每个WAN链路,SD-WAN设备38可以向相应的WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得用于相应WAN链路的一个或多个度量的更新集合(该更新集合包括用于分组大小的度量),以及更新参考数据存储以包括用于相应WAN链路40、42和44的多个探测分组中的每个探测分组的一个或多个流度量的更新集合。
在一些实例中,SD-WAN设备38可以针对WAN链路40、42和44中的每个WAN链路中的多个队列执行这些技术。比如,互联网链路42可以包括可用于处置数据流的八个不同队列。不同于通常向互联网链路42发送多个探测分组,SD-WAN设备38可以向互联网链路42内的多个队列中的每个队列发送多个探测分组中的每个探测分组,以在更细粒度的意义上获得互联网链路42中的队列中的每个队列的度量。在整个本公开中,基于每个链路可执行的任何技术也可以在相应链路内基于每个队列来执行,包括将数据流重新指派给相同链路内的其他队列或将数据流从一个链路中的队列重新指派到不同链路中的队列。
图3是图示了根据本公开的技术的被配置为使用PDPS引擎110执行一个或多个应用体验质量度量预测功能的示例软件定义广域网设备80的框图。本文可以在图1的服务提供商网络2的上下文中对SD-WAN设备80进行描述,并且SD-WAN设备80例如可以表示路由器8或SD-WAN设备18中的任一个。而且,虽然关于特定网络设备(例如,路由器)进行了描述,但是这些技术可以由可以作为服务端点操作的任何网络设备来实现,诸如客户端设备、层3(L3)或L2/L3交换机、或服务器。
在该示例中,SD-WAN设备80被划分为三个逻辑或物理“平面”,以包括执行设备的控制操作的控制平面81、用于转发转接网络业务的数据平面85、以及用于将一个或多个网络服务87应用于由路由器转发的转接分组流的服务平面83。也就是说,路由器81例如在逻辑上将三个单独的功能(例如,路由/控制、转发数据和网络服务功能)实现为在同一硬件组件集合上执行的单独软件实例,或者例如在物理上实现为单独的物理专用硬件组件,该单独的物理专用硬件组件静态地实现硬件中的功能或动态执行软件或计算机程序以实现功能。在该示例中,高速内部交换机结构105将控制平面81、服务平面83和数据平面85耦合,以在单元之间传送数据单元和控制消息。交换机结构105可以表示内部交换机结构或横杆(cross-bar)、总线或链路。
在图3的示例中,控制平面81包括具有一个或多个主微处理器102的控制单元82,一个或多个主微处理器102执行SD-WAN设备80的设备管理服务、订户认证和控制平面路由功能。微处理器102可以包括一个或多个通用或专用处理器,诸如数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)、或任何其他等效逻辑设备。因而,如本文中所使用的术语“处理器”或“控制器”可以是指前述结构中的任一个或多个或可操作以执行本文中所描述的技术的任何其他结构。诸如PDPS引擎110和服务131的可执行程序可由微处理器102操作以执行SD-WAN设备80的各种动作、操作或功能。例如,SD-WAN设备80的微处理器102可以检索并执行各种数据存储器所存储的指令,该指令使得微处理器102执行PDPS引擎110和服务131的操作。
SD-WAN设备80内的一个或多个存储组件(例如,RIB 104)可以存储信息以供在SD-WAN设备80的操作期间进行处理(例如,在SD-WAN设备80处执行期间,SD-WAN设备80可以存储由PDPS引擎110和服务131访问的数据)。在一些示例中,存储组件是临时存储器,其意味着存储组件的主要目的不是长期存储。SD-WAN设备80上的存储组件可以作为易失性存储器被配置为用于短期存储信息,因此如果断电,则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及本领域中已知的其他形式的易失性存储器。
在一些示例中,存储组件还包括一个或多个计算机可读存储介质。一些示例中的存储组件包括一个或多个非瞬态计算机可读存储介质。存储组件可以被配置为与通常由易失性存储器所存储的相比存储更大量的信息。存储组件还可以作为非易失性存储器空间被配置用于长期存储信息,并且在电源开/关循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储组件可以存储与PDPS引擎110和服务131相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括被配置为存储与PDPS引擎110和服务131相关联的数据或其他信息的存储器。
一般而言,控制单元82表示实现控制平面协议89A-89N(“路由协议89”)以学习和维护路由信息库104(“RIB 104”)内的路由信息的控制的硬件或硬件和软件的组合。RIB104可以包括定义网络(诸如图1的服务提供商网络)的拓扑的信息。路由协议89与在控制单元82上执行的内核100交互(例如,通过API调用),以基于由SD-WAN设备80接收的路由协议消息来更新RIB 104。内核100可以解析由RIB 104中的路由信息定义的拓扑,以选择或确定通过网络的一个或多个路由。例如,内核可以基于RIB 104中表示的网络拓扑来生成形式为转发信息库103A-103N(“FIB 103”)的转发信息,即,执行路由解析。通常,内核100生成形式为基数或其他查找树的FIB 103,以将分组信息(例如,具有目的地信息和/或标签栈的报头信息)映射到下一中继段(hops)并且最终映射到与相应转发单元112相关联的IFC 114的接口端口。例如,FIB 103中的每个FIB可以将网络目的地与特定下一中继段和对应IFC 114相关联。对于MPLS相关业务转发,FIB 103针对给定FEC存储标签信息,该标签信息包括传入标签、传出标签、以及分组的下一中继段。然后,控制单元82可以利用FIB 103对数据平面85的转发单元112进行编程,该FIB 103将FIB安装在查找ASIC 106内。
在该示例中,数据平面85是分散数据平面,其中数据平面功能和分组转发功能分布在多个转发单元112A-112N(“转发单元112”)之间。在SD-WAN设备80的示例中,数据平面85包括转发单元112,转发单元112提供由接口卡114A-114N(“IFC 44”)经由入站链路116A-116N接收的网络业务向出站链路118A-118N的高速转发。转发单元112各自可以包括耦合到相应接口卡114的一个或多个分组转发引擎(“PFE”),并且可以表示例如密集端口集中器(DPC)、模块化端口集中器(MPC)、灵活物理接口卡(PIC)集中器(FPC)、或例如可插入SD-WAN设备80的机箱或机箱组合内的其他线卡。
如图3的示例所示,转发单元112中的每个转发单元包括查找ASIC 106A-106N(“查找ASIC 106”)中的相应查找ASIC,其经由IFC卡114接收控制和数据会话业务,执行路由查找,并且基于安装到FIB 103的路由来将业务转发到控制单元82(目的地为SD-WAN设备80的控制业务)或转发到转发单元40中的一个转发单元(转接数据业务),以便经由接口输出到输出链路48中的一个输出链路。在一个示例中,查找ASIC 106是微码控制的芯片组,其由在转发单元112中的每个转发单元上执行的从微处理器(未示出)可编程地配置。具体地,在该示例中,ASIC 106中的每个ASIC可以由从微处理器编程的内部微码来控制。
当转发分组时,每个查找ASIC 106内的控制逻辑遍历相应的FIB 103,并且在到达分组的FIB条目(例如,叶节点)时,微代码实现的控制逻辑自动选择用于转发分组的一个或多个转发下一中继段(FNH)。这样,当分组遍历SD-WAN设备80的内部体系架构时,转发单元112的ASIC 106通过在相应内部分组转发路径上对每个分组执行一系列操作来处理分组。例如,可以基于对应的入口接口、入口PFE 114、出口PFE 114、出口接口或分组在出口之前被导向到其中的SD-WAN设备80的其他组件(诸如一个或多个服务卡)中的任一个来对每个分组执行操作。转发单元112各自包括转发结构,该转发结构当被执行时检查每个分组的内容(或另一分组属性,例如,传入接口),并且在此基础上做出转发决定,应用过滤器,和/或例如执行计费、管理、业务分析、以及负载平衡。
在一个示例中,转发单元112中的每个转发单元将转发结构布置为下一中继段数据,该下一中继段数据可以沿着用于网络设备的内部分组转发路径被链接在一起作为一系列“中继段”。在许多实例中,转发结构在ASIC 106的内部存储器内执行查找操作,其中可以针对树(或字典树(trie))搜索、表(或索引)搜索执行查找。可以用下一中继段指定的其他示例操作包括过滤器确定和应用、或速率限制器确定和应用。查找操作在查找数据结构(例如,查找树)内定位与分组内容匹配的项,或者分组或分组流的另一属性,诸如分组的入站接口。根据由ASIC 106内的下一中继段转发结构定义的操作的分组处理的结果确定了转发单元112将分组从IFC 114中的一个IFC上的输入接口转发到IFC 114中的一个IFC上的输出接口或以其他方式进行处理的方式。
查找ASIC 106可以使用转发专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路以及这些组件的任何组合来实现。转发单元112中的每个转发单元可以包括执行基本上相似的功能的基本上相似的组件。
SD-WAN设备80的服务平面83包括多个服务单元113A-113K(“服务单元13”),其可以例如是可移除服务卡,该可移除服务卡被配置为将网络服务应用于流经数据平面85的分组。也就是说,当转发分组时,转发单元112可以将分组引导到服务平面83,以便由服务单元113应用一个或多个网络服务131。在该示例中,服务单元113中的服务单元包括微处理器127,微处理器127被配置为执行管理程序(hypervisor)129以提供用于多个网络服务131的操作环境。作为示例,服务单元113可以应用防火墙和安全服务、运营商级网络地址转换(CG-NAT)、媒体优化(语音/视频)、IPSec/VPN服务、深度分组检测(DPI)、HTTP过滤、计数、计费、收费、以及分组流的负载平衡或应用于网络业务的其他类型服务。例如,服务131中的每个服务可以实现例如为由管理程序129和微处理器127执行的虚拟机或容器(containers)。
在图3的示例中,控制单元82为PDPS引擎110提供操作环境。在一些示例中,控制单元82可以使用PDPS引擎110来执行一个或多个TWAMP或RPM逻辑角色,诸如控制客户端、服务器、会话发送方、以及会话反射方。
PDPS引擎110可以被配置为执行贯穿本公开描述的技术。例如,PDPS引擎110可以被配置为将探测分组发送到链路118以确定各种链路的QoE度量。PDPS引擎110还可以执行机器学习技术以将探测分组的大小与链路118上的数据流中的传入/传出数据分组的可能大小相匹配,并且基于链路118中的哪个WAN链路可以最好地处置相应数据流来对相应数据流执行预测动态路径选择。
下文所给出的示例可以包括本公开的技术的各个方面的特定度量或大小。这些细节仅是本文中所描述的技术的潜在值的一个示例,并且可以在这些技术的应用中确定和利用其他值。所列出的值仅用作示例而非限制。
不是在接收数据流时分析它们,而是基于所接收的数据流来分析潜在的WAN链路,然后为特定数据流选择最佳WAN链路,PDPS引擎110可以周期性地向潜在的WAN链路中的每个潜在的WAN链路发送各种大小的探测分组,以便保持各种WAN链路的度量的最新记录,从而可以在接收时即刻路由数据流。比如,当使得本公开的技术能够用于PDPS引擎110时,PDPS引擎110可以具有参考数据存储90以存储通常由PDPS引擎110处置的数据流中的各种数据分组大小的探测分组。周期性地,PDPS引擎110可以向可用WAN链路中的每个可用WAN链路发送多个探测分组(例如,参考数据存储90中指定的每个大小的探测分组),以便如果WAN链路要传输具有相应分组大小的数据流,则获得特定WAN链路的当前度量,从而将这些度量存储在参考数据存储90中。
根据本文中所描述的技术,PDPS引擎110可以响应于接收数据流的应用数据分组而确定应用数据分组的分组大小是否在参考数据存储(例如,参考数据存储90)中表示。参考数据存储90可以包括多个探测分组大小和用于多个广域网(WAN)链路中的每个WAN链路的一个或多个度量的对应集合。
比如,响应于从客户端设备接收数据流,应用服务器可以将数据流发送到SD-WAN设备18和PDPS引擎110以便转发到应用服务器。应用服务器可以与任何种类的应用相关联,这些种类的应用包括社交媒体应用、视频流服务、游戏应用、或者可以使用数据流向/从客户端设备发送和/或接收数据分组的任何其他应用。在一个示例中,PDPS引擎可以确定数据流中的应用数据分组的分组大小是64位。
在一些示例中,PDPS引擎110可以确定分组大小在参考数据存储90中被表示。例如,PDPS引擎110可以查询参考数据存储90并且确定64位的分组大小已经在参考数据存储90中被表示。这指示了大小为64位的探测分组先前已被发送到系统中的每个WAN链路,并且已经为64位分组的WAN链路中的每个WAN链路记录了度量的集合。这意味着PDPS引擎110可以分析那些度量以确定在其上发送应用数据分组和数据流的WAN链路,其可能满足应用的SLA要求。这样做时,PDPS引擎110还可以参考存储应用的SLA要求的数据结构(例如,SLA数据存储92)。在示例中,PDPS引擎110可以基于多个WAN链路中的每个WAN链路的一个或多个度量的相应集合来确定在其上发送数据流的应用数据分组的多个WAN链路的WAN链路。例如,PDPS引擎110可以将WAN链路的度量与所标识的应用的SLA要求进行比较。然后,PDPS引擎110可以经由多个WAN链路的WAN链路将数据流的应用数据分组发送到客户端设备。
在确定发送应用数据分组的多个WAN链路中的哪个WAN链路时,PDPS引擎110可以将多个WAN链路中的每个WAN链路上的分组大小的一个或多个度量的相应集合与例如存储在SLA数据存储92中的一个或多个服务级协议参数的集合进行比较。PDPS引擎110然后可以从多个WAN链路中选择具有与一个或多个服务级协议参数的集合最匹配的相应度量的WAN链路,作为在其上发送第二数据流的应用数据分组的WAN链路。
在其他实例中,应用数据分组的分组大小可以不与参考数据存储中的任何条目相对应。比如,PDPS引擎110可能先前没有接收到大小为64位的应用数据分组,所以PDPS引擎110可能尚未分析各种WAN链路以了解每个链路如何处置具有64位分组大小的数据流。如此,PDPS引擎110可能必须利用其他数据点,诸如与大小最接近64位的分组大小相关联的度量,来预测具有64位分组大小的数据流的度量。PDPS引擎110可以使用这些预测的度量来处理数据流,直到PDPS引擎110能够创建大小等于分组大小的探测分组并且获得WAN链路的实际度量。
例如,响应于确定分组大小未在参考数据存储中被表示,PDPS引擎110可以基于参考数据存储中包括的一个或多个度量的至少一部分来预测多个WAN链路中的每个WAN链路的分组大小的流度量。在一些示例中,流度量以及参考数据存储中的度量可以包括以下各项中的一项或多项:抖动、往返时间、分组丢弃和带宽。
在一些实例中,在预测流度量时,PDPS引擎110可以使用机器学习模型来预测流度量,诸如,实现例如以下各项中的一项或多项的机器学习模型:逻辑回归模型、线性判别分析模型、K-最近邻模型、分类和回归树模型、高斯朴素贝叶斯模型、以及支持向量机模型。使用线性回归来预测延迟和抖动是本文中所描述的技术的一个示例,尽管如所指出的,存在其他可能的实现机制。对于线性回归算法,用于所有WAN链路的每个队列的不同预测桶(buckets of prediction)可以被保留。基于如下文所描述的线性回归,PDPS引擎110可以预测未知分组大小的SLA值,然后通过与针对同数据流相关联的应用的SLA要求进行比较来评估是否存在任何SLA违背。
简单线性回归是一种回归分析,其中独立变量的数目是一,并且自(x)变量和因(y)变量之间存在线性关系。基于给定的数据点,PDPS引擎110可以绘制对点进行最佳建模的线。该线可以基于下文所示的线性等式建模。
y=a_0+a_1*x##线性等式
线性回归算法的目的是要找到a_0和a_1的最佳值。虽然如成本函数和梯度下降之类的因素可能影响优化a_0和a_1的值,但是如何将此应用于示例场景的示例假设y是延迟,并且x是分组大小,则等式变为:
pkt_delay=d_0+d_1*pkt_size
一旦预测了d_0和d_1的值,PDPS引擎110就可以从参考SLA数据导出分组延迟(pkt_delay)。同样,关于抖动,
pkt_jitter=j_0+j_1*pkt_size
下文示出了多个分组队列的示例分组测量表:
表1:示例分组测量
如果PDPS引擎110确定64位的分组大小不在参考数据存储中,则PDPS引擎110可以使用上述预测技术来预测64位应用数据分组的流度量。进一步地,对于多个WAN链路中的每个WAN链路,PDPS引擎110可以向相应的WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得用于相应WAN链路的一个或多个度量的更新集合(该更新集合包括用于分组大小的度量),以及更新参考数据存储以包括用于相应WAN链路的多个探测分组中的每个探测分组的一个或多个流度量的更新集合。
在最初对数据流进行路由之后,PDPS引擎110可以获得各种WAN链路上的64位数据流的实际度量。PDPS引擎110已经具有各种唯一大小的多个探测分组,它们将发送到多个WAN链路的每个WAN链路以获得各种分组大小的度量。当PDPS引擎110接收具有新大小的数据流时,PDPS引擎110可以在多个探测分组中包括大小等于新大小的附加探测分组,并且向多个WAN链路中的WAN链路中的每个WAN链路发送所有探测分组(即,新探测分组和多个探测分组中的每个探测分组),以获得每个WAN链路的度量的更新集合,该更新集合将包括先前分组大小中的每个分组大小以及新分组大小。
在一些实例中,在发送多个探测分组时,PDPS引擎110可以向多个WAN链路中的每个WAN链路发送具有分组大小的探测分组,以获得用于分组大小的相应度量。进一步地,对于多个探测分组大小中的每个探测分组大小,PDPS引擎110可以向多个WAN链路中的每个WAN链路发送具有相应探测分组大小的探测分组,以获得相应WAN链路-探测分组大小对的一个或多个度量的对应集合,其中每个探测分组大小具有与分组大小不同的唯一大小。PDPS引擎110可以将一个或多个度量的每个集合和分组大小的相应度量存储在参考数据存储中作为一个或多个度量的更新集合。
在将数据流指派给WAN链路之后,但是当数据流仍然正在经由所选择的WAN链路传输到应用服务器时,PDPS引擎110可以监测数据流的状态。比如,在将64位分组大小的数据流指派给特定WAN链路之后,PDPS引擎110可以继续监测数据流的处理以确保使用更新的度量来满足数据流的服务级协议参数,该更新的度量通过将新的一组探测分组发送到WAN链路来获得。PDPS引擎110可以将WAN链路的一个或多个度量的更新集合与存储在SLA数据存储器92中的一个或多个服务级协议参数的集合进行比较。响应于确定用于WAN链路的一个或多个度量的集合满足一个或多个服务级协议参数的集合,PDPS引擎110可以维持WAN链路上的数据流。
相反,响应于确定WAN链路的一个或多个度量的更新集合不满足一个或多个服务级协议参数的集合,PDPS引擎110可以确定多个WAN链路中的第二WAN链路,该第二WAN链路具有满足一个或多个服务级协议参数的集合的一个或多个度量的相应更新集合。然后,PDPS引擎110可以将数据流重新指派给多个WAN链路中的第二WAN链路。
除了分组大小之外,PDPS引擎110还可以考虑突发流。比如,PDPS引擎110可以确定数据流的突发值。响应于确定突发流未在参考数据存储中被表示,PDPS引擎110可以基于参考数据存储来预测多个WAN链路中的每个WAN链路的突发流的流度量。然后,PDPS引擎110可以基于数据分组的突发流来更新探测简档,并且使用更新的探测简档获得多个WAN链路中的每个WAN链路的一个或多个度量。通过突发性测量的突发流涉及以突发间歇发送的数据分组而非作为连续流发送的数据分组。
根据本公开的技术,下表示出了在应用根据应用业务创建的机器学习模型之后的初始探测分组大小和更新的探测分组大小。探测(probes)的探测分组的特性(诸如分组大小和突发分组大小)最初被固定为最常见的值。网络管理员可以选择依据其网络中的业务模式自定义这些值。虽然最初根据这些预先确定的探测简档来发送探测(probes),但是在一时段内,这些探测(probes)将基于链路上的实际数据流的机器学习值进行微调。队列值,预先确定的分组大小最初在所有队列值上被发送;在一时段内,调整后的分组大小和突发大小在所有队列上被探测。
表2:示例初始探测大小
表3:调整后的示例探测大小
以这种方式,本公开的技术使得PDPS引擎110能够具有必要数据以在任何给定时间点以用于任何应用的准确度来确定链路度量。多种算法可用于基于参考数据来确定链路度量。虽然可以在不同的实现方式中使用不同的算法来确定这些度量,但是适合于学习PDPS的探测分组大小和突发大小的一些机器学习技术包括逻辑回归、线性判别分析(LDA)、K-最近邻(KNN)、分类和回归树(CART)、高斯朴素贝叶斯(NB)、线性回归、以及支持向量机(SVM)。
这些技术还可以在每个WAN链路内基于每个队列而应用。比如,每个WAN链路可以包括多个队列,以用于将分组发送到WAN链路上。除了向WAN链路中的每个WAN链路发送探测分组之外,PDPS引擎110还可以向WAN链路内的每个队列发送探测分组集合,以甚至更具体地确定数据流的最佳路由。如此,PDPS引擎110可以存储每个WAN链路内的每个队列的度量的指示,并且基于此来将数据流指派给特定WAN链路内的特定队列。
使用本文中所描述的技术可以有一个或多个优点。作为一个示例,预测动态路径选择(PDPS)引擎可以基于使用实时应用参数的自适应探测(probes)通过预测引擎确定准确的服务级协议(SLA)参数。进一步地,在一些示例中,可以消除被动应用探测,从而减少网络业务和每个链路上消耗的总带宽,以及提高处理传入数据流的效率。在被动应用探测中,探测分组安装在与应用数据路径内联的WAN链路上,并且监测通过那些链路的流。探测分组是采样数据分组,封装在IP/UDP探测报头中,并且与端点之间的实时业务一起发送,以监测流度量。当与诸如被动探测的其他应用探测技术相比时,可以通过使用本文中所描述的技术来减少探测数据所消耗的带宽,并且可以使用可用带宽来代替客户数据,从而提高服务供应商的计费效率。还可以减少链路负担,因为采样分组没有使用应用体验质量(APPQOE)自定义报头来重构,并且不通过链路发送应用分组。
进一步地,因为如本文中所描述的通过所有WAN链路发送探测分组,所以WAN链路性能度量可用于所有WAN链路,而不管应用数据业务在何处流动。可以减少将应用切换到不同WAN链路的实例,因为基于高级策略的路由(APBR)引擎可以基于探测分组来接入WAN链路适用性的主动输入,从而系统可以减少或避免频繁的链路切换。PDPS引擎可以在所有链路上具有稳定/可预测的探测带宽消耗,其为容量规划阶段的客户提供帮助。进一步地,代替在分析数据流之后被动确定各种WAN链路的度量,本文中所描述的技术可以主动确定由网络设备例行处置的数据流的测量,从而使得数据流能够在到达网络设备时更快地被路由。
在与被动途径相对的本文中所描述的技术的主动途径的一个示例中,SD-WAN设备可以在任何给定时间处置超过100个或更多个不同的数据流。代替SD-WAN必须制作包括采样的应用分组的100个不同探测分组,而是将探测分组发送到WAN链路中的每个WAN链路(或每个WAN链路内的每个队列),确定所发送的每个探测分组的度量,并且在接收数据流的初始应用数据分组与在流水线中向前传输数据流之间确定每个数据流的优化路由,根据本文中所描述的技术,SD-WAN设备80发送特定默认探测简档的初始探测分组,即,具有代表应用数据的默认分组特性(例如,分组大小和突发大小),而不发送实际采样的应用数据分组,并且随着时间的推移,SD-WAN设备80将代表性探测分组的特性调整为与正在流经WAN链路的实际应用数据更接近地匹配。
对于没有被当前探测简档充分表示的应用数据流,SD-WAN设备可以基于已知的度量来预测哪个WAN链路(或WAN链路内的队列)是相应流的良好路由,从而增加了合适的WAN链路被选择用于去往应用服务器的初始传输的可能性。然后,可以在流已经开始通过所指派的链路进行传输之后确定WAN链路的度量,更新探测简档,并且如果该路由的实际度量不满足SLA参数,则可以将流重新指派给更合适的链路或队列。
图4是图示了根据本公开的技术的被配置为处置应用业务以预测应用体验质量度量的示例PDPS引擎的概念流程图。根据本文中所描述的技术(例如,PDPS),可以通过所有WAN链路发送具有带有所有必要队列值的不同分组大小的主动探测(probes)(例如,符合RPM/TWAMP协议)以形成参考数据90。对于突发业务,可以探测具有预先确定的突发大小的分组。然后,采样的应用数据与参考数据90匹配,以确定WAN链路上(实际上,所有可用的WAN链路上)的SLA度量/违背。
诸如PDPS引擎110、采样模块154和基于高级策略的路由模块158的可执行程序可以由处理器(例如,微处理器102)操作以执行网络设备(例如,SD-WAN设备80)的各种动作、操作或功能。例如,SD-WAN设备80的微处理器102可以检索并执行由各种数据存储器所存储的指令,该指令使得微处理器102执行PDPS引擎110、采样模块154和基于高级策略的路由模块158的操作。
在图4的示例中,本文中所描述的技术的实例在应用业务进入设备(150)时开始,其中设备被配置为执行本文中所描述的预测动态路径选择(PDPS)。控制单元82可以首先将分组发送到服务平面以便应用一个或多个服务131,一个或多个服务131包括深度分组检查(DPI)以标识与分组相关联的应用。如果DPI没有标识应用(152的“否”分支),则应用业务遵循由RIB 104所指示的路由路径(路由路径156)到指定的默认WAN链路,并且会话兴趣事件被发送到特定DPI引擎以供应用的标识。
相反,如果设备使用DPI标识应用(152的“是”分支),则将应用业务移交到基于采样应用的路由模块(154)以确定应用业务的分组大小。尽管应用业务的确切分组大小可能影响PDPS引擎110内的哪个模块继续该过程,但是采样模块154将采样的信息传递到PDPS引擎110,使得PDPS引擎110可以选择在其上发送应用业务的优选WAN链路。PDPS引擎110将该选择发送到基于高级策略的路由模块(158),以确保在经由所选择的WAN链路将应用业务发送到请求客户端设备之前,没有附加约束应用于应用业务和所选择的WAN链路。
图5是图示了根据本公开的技术的来自图4的PDPS引擎110的更详细视图的概念图,其中PDPS引擎110被配置为处置应用业务以预测应用体验质量度量。一般而言,PDPS引擎110可以接收关于应用业务的信息或元数据,以最终确定如何路由应用业务。PDPS引擎110可以从采样模块154接收该信息(如图4所示)。
PDPS引擎(诸如机器学习引擎160和预测引擎170)内的可执行程序可以由处理器(例如,微处理器102)操作以执行网络设备(例如,SD-WAN设备80)的各种动作、操作或功能。例如,SD-WAN设备80的微处理器102可以检索并执行由各种数据存储器所存储的指令,该指令使得微处理器102执行机器学习引擎160和预测引擎170的操作。
SD-WAN设备80内的一个或多个存储组件(例如,探测简档162、主动探测过程164和参考数据存储168)可以存储信息以供在SD-WAN设备80的操作期间进行处理(例如,SD-WAN设备80可以存储在PD-WAN设备80处执行期间由PDPS引擎110和服务131访问的数据)。在一些示例中,预先确定的主动探测简档162、动态主动探测简档164和参考数据存储168存储在临时存储器中,从而意味着存储组件的主要目的不是长期存储。SD-WAN设备80上的存储组件可以作为易失性存储器被配置为用于短期存储信息,因此如果断电,则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及本领域中已知的其他形式的易失性存储器。
在一些示例中,存储组件还包括一个或多个计算机可读存储介质,其存储探测简档162、主动探测过程164、以及参考数据存储168。一些示例中的存储组件包括一个或多个非瞬态计算机-可读存储介质。在一些示例中,预先确定的主动探测简档162、主动探测过程164和参考数据存储168可以存储在具有比通常由易失性存储器存储的信息量更大的信息量的介质上。存储组件还可以作为非易失性存储空间被配置用于长期存储信息,并且在电源开/关循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储组件可以存储程序指令和/或信息(例如,数据),其与PDPS引擎110、机器学习引擎160、预测引擎170、探测简档162、主动探测过程164、以及参考数据存储168相关联。存储组件248可以包括存储器,该存储器被配置为存储与PDPS引擎110、机器学习引擎160、预测引擎170、探测简档162、主动探测过程164、以及参考数据存储168相关联的数据或其他信息。
如果采样模块154确定参考数据存储168中没有包括与应用业务匹配的PDPS配置的数据(例如,应用业务的分组大小与参考数据存储168中的任一个不匹配),则预测引擎170可以直接从采样模块154接收分组大小信息。在这个实例中,预测引擎170可以基于当前参考数据存储168来预测应用业务的哪些流度量可以被给予分组大小。预测引擎170可以基于参考数据存储中的预测流量度量来选择多个WAN链路中的WAN链路。预测引擎170可以将在其上发送应用业务的所选择的WAN链路的指示发送到基于高级策略的路由(APBR)模块158(如图4所示)。
APBR是一种基于会话的应用感知路由机制。该机制对基于策略的路由和应用感知业务管理解决方案进行组合。APBR涉及基于各种应用的属性来对流进行分类,并且基于这些属性来应用过滤器以重新导向业务。流分类机制基于表示使用中的应用的分组。比如,如果APBR模块158执行DPI并且确定数据流应当在特定WAN链路上或WAN链路内的特定队列上,则APBR模块158可以覆盖先前关于WAN链路做出的决定,并且基于APBR模块158所使用的规则来指派数据流。
如果采样模块154确实找到应用业务和分组大小的匹配,则采样模块154将应用业务的样本发送到PDPS引擎110。机器学习引擎160开始根据探测简档162生成主动探测(probes)(这将在主动探测过程164中的所有WAN链路上被发送)。PDPS引擎110使用机器学习引擎160从采样的应用数据中学习分组大小和突发性,以便形成主动探测简档,该采样的应用数据从采样模块154接收。预先确定的主动探测简档162包括预定义分组大小和突发分组,一旦SDWAN PDPS配置166被应用在设备上,该预定义分组大小和突发分组将在主动探测过程164期间通过所有WAN链路被发送。
PDPS引擎110使用通过根据主动探测过程164发送的主动探测(probes)取得的数据来形成参考数据168。由机器学习引擎创建的探测简档162可以根据客户的需求用于其他操作。探测简档162可以指代定义要跨过多个WAN链路发送的探测分组的特性的数据。一旦创建,参考数据168将包括用于多个WAN链路中的每个WAN链路的所有必要度量。
将所采样的应用业务与参考数据进行比较,并且通过预测引擎170确定或预测与该业务类型匹配的SLA值的最接近匹配。基于应用业务和参考数据的比较,通过预测引擎170选择匹配SLA的最佳路径,并且转发业务。
当应用的下一分组进入节点时,采样引擎154再次对应用分组进行采样,并且从当前参考数据168中为每个WAN链路提取分组大小和突发值。针对给定大小的应用分组为每个WAN链路导出WAN链路度量(基于参考数据168),并且使用定义的SLA验证该WAN链路度量。如果现有WAN链路的参考数据满足SLA要求,则PDPS引擎110继续转发现有WAN链路上的业务。相反,如果违背了SLA,则PDPS引擎110基于参考数据来将分组转发到下一个最佳WAN链路。
在本文中所描述的技术中,具有不同分组大小(通过机器学习确定的)以及必要服务类别(COS)队列上的必要突发大小值(通过机器学习确定的)的主动探测(probes)用于测量链路度量。下文参考图6示出了本文中所描述的某些技术。
图6是图示了根据本公开的技术的使用机器学习模型和大小可变的探测分组预测软件定义广域网上的应用体验质量度量的示例操作的流程图。示例操作可以由在图1的SD-WAN设备18上执行的PDPS引擎110执行。以下是该过程的步骤,但是在本公开的技术中执行的过程的其他示例可以包括附加步骤或者可以不包括下文所列出的步骤中的一些步骤。
在图6的示例中,PDPS引擎110可以针对所有队列将探测分组发送到SD-WAN设备80中的所有WAN链路,以便获得用于参考数据存储(例如,图5的参考数据存储168)中的所有探测分组大小的每个WAN链路的度量(202)。在此后的某个点,SD-WAN设备80可以接收包括数据流和应用数据分组的应用业务(204)。如果应用未知,则PDPS引擎110可以将默认链路上的应用业务转发到集线器设备(206)。否则,如果识别出应用,则可以触发本文中所描述的路由技术,并且PDPS引擎可以继续分析应用数据分组和WAN链路中的每个WAN链路(208)。基于在步骤202中由主动探测(probes)确定的度量,PDPS引擎110可以经由最适合于处置应用业务的WAN链路将应用业务转发到集线器(210)。PDPS引擎110还可以继续监测应用业务,同时经由WAN链路传输数据流,使得如果应用业务的度量未能满足某些SLA参数,则PDPS引擎110可以将应用业务重新指派给确实满足SLA参数的不同的WAN链路(212)。
图7是图示了根据本公开的技术的用于使用应用体验质量度量预测功能来执行数据监测的软件定义广域网系统的示例技术的流程图。示例操作可以由在图1的SD-WAN设备18上执行的PDPS引擎110执行。以下是该过程的步骤,但是在本公开的技术中执行的过程的其他示例可以包括附加步骤或者可以不包括下面列出的步骤中的一些步骤。
在图7的示例中,PDPS引擎110可以响应于接收到数据流的应用数据分组而确定应用数据分组的分组大小是否在参考数据存储中被表示(300)。参考数据存储可以包括多个探测分组大小和用于多个广域网(WAN)链路中的每个WAN链路的一个或多个度量的对应集合。响应于确定分组大小未在参考数据存储中被表示,PDPS引擎110可以基于参考数据存储中包括的一个或多个度量的至少一部分来预测多个WAN链路中的每个WAN链路的分组大小的流度量(302)。在一些示例中,PDPS引擎可以响应于例如在配置的时间段内接收具有未在数据存储中被表示的分组大小的某个阈值数目的分组而仅执行步骤302和后续步骤。这样,在分组大小异常的情况下,PDPS引擎可以在仅接收到单个新的大小的分组时不预测新分组大小的流度量,而是仅在接收到具有新分组大小的阈值数目的分组之后才会进行。PDPS引擎110还可以基于预测的流度量来选择在其上发送应用数据分组的多个WAN链路中的WAN链路(304)。进一步地,对于多个WAN链路中的每个WAN链路,PDPS引擎110可以向相应WAN链路发送包括具有分组大小的探测分组的多个探测分组,以获得用于相应WAN链路的一个或多个度量的更新集合,该更新集合包括用于分组大小的度量(306)。PDPS引擎110还可以更新参考数据存储以包括用于相应WAN链路的多个探测分组中的每个探测分组的一个或多个流度量的更新集合(308)。
本文中所描述的技术可以以硬件、软件、固件或其任何组合来实现。描述为模块、单元或组件的各种特征可以在集成逻辑设备中一起实现,或者作为离散但可互操作的逻辑设备或其他硬件设备单独实现。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路设备,诸如集成电路芯片或芯片组。
如果以硬件实现,则本公开可以涉及一种装置,诸如处理器或集成电路设备(诸如集成电路芯片或芯片组)。可替代地或附加地,如果以软件或固件实现,则技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,该指令当被执行时,使得处理器执行上文所描述的方法中的一个或多个方法。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以指示存储介质不体现在载波或传播信号中。在某些示例中,非瞬态存储介质可以(例如,在RAM或高速缓存中)存储随时间而改变的数据。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场-可编程门阵列(FPGA)、或其他等效的集成或分立逻辑电路。因而,本文中所使用的术语“处理器”可以是指任何前述结构或适合于实现本文中所描述的技术的任何其他结构。另外,在一些方面中,可以在软件模块或硬件模块内提供本公开中所描述的功能。
Claims (20)
1.一种方法,包括:
响应于通过网络设备接收到数据流的应用数据分组,确定所述应用数据分组的分组大小是否在参考数据存储中被表示,其中所述参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个广域网(WAN)链路的一个或多个度量的对应集合的数据;
响应于确定所述分组大小没有在所述参考数据存储中被表示,通过所述网络设备并且基于在所述参考数据存储中包括的所述一个或多个度量中的至少一部分,预测针对所述多个WAN链路中的每个WAN链路的所述分组大小的流度量;
通过所述网络设备并且基于所预测的所述流度量,选择所述多个WAN链路中的WAN链路,在所述多个WAN链路中的所述WAN链路上发送所述应用数据分组;以及
针对所述多个WAN链路中的每个WAN链路:
通过所述网络设备并且向相应的所述WAN链路发送包括具有所述分组大小的探测分组的多个探测分组,以获得针对相应的所述WAN链路的一个或多个度量的更新集合,所述更新集合包括针对所述分组大小的度量;以及
更新所述参考数据存储,以包括针对相应的所述WAN链路的所述多个探测分组中的每个探测分组的一个或多个流度量的所述更新集合。
2.根据权利要求1所述的方法,其中发送所述多个探测分组包括:
通过所述网络设备向所述多个WAN链路中的每个WAN链路发送具有所述分组大小的探测分组,以获得针对所述分组大小的相应度量;
针对所述多个探测分组大小中的探测分组大小中的每个探测分组大小,通过所述网络设备向所述多个WAN链路中的每个WAN链路发送具有相应的所述探测分组大小的探测分组,以获得针对相应WAN链路-探测分组大小对的一个或多个度量的所述对应集合,其中每个探测分组大小是唯一的大小并且与所述分组大小不同;以及
通过所述网络设备将一个或多个度量的每个集合和针对所述分组大小的相应的所述度量存储在所述参考数据存储中作为一个或多个度量的所述更新集合。
3.根据权利要求1所述的方法,还包括:
在传输所述数据流的同时,通过所述网络设备将针对所述WAN链路的一个或多个度量的所述更新集合与一个或多个服务级协议参数的集合进行比较;以及
响应于确定针对所述WAN链路的一个或多个度量的所述更新集合满足所述一个或多个服务级协议参数的集合,通过所述网络设备维持所述WAN链路上的所述数据流。
4.根据权利要求3所述的方法,其中所述WAN链路包括第一WAN链路,所述方法还包括:
响应于确定针对所述第一WAN链路的一个或多个度量的所述更新集合不满足所述一个或多个服务级协议参数的集合:
通过所述网络设备确定所述多个WAN链路中的第二WAN链路,所述第二WAN链路具有满足所述一个或多个服务级协议参数的集合的一个或多个度量的相应更新集合;以及
通过所述网络设备将所述数据流重新指派给所述多个WAN链路中的所述第二WAN链路。
5.根据权利要求1所述的方法,还包括:
通过所述网络设备确定针对所述数据流的突发值;
响应于确定突发流没有在所述参考数据存储中被表示,通过所述网络设备并且基于所述参考数据存储预测针对多个WAN链路中的每个WAN链路的所述突发流的流度量;
基于所述突发流,更新由所述网络设备存储的探测分组简档;以及
基于所更新的所述探测分组简档,获得针对所述多个WAN链路中的每个WAN链路的一个或多个流度量。
6.根据权利要求1所述的方法,其中预测所述流度量包括使用机器学习模型预测所述流度量,所述机器学习模型使用以下中的一项或多项:逻辑回归模型、线性判别分析模型、K-最近邻模型、分类和回归树模型、高斯朴素贝叶斯模型、以及支持向量机模型。
7.根据权利要求1所述的方法,其中所述流度量包括以下中的一项或多项:抖动、往返时间、分组丢弃、以及带宽。
8.根据权利要求1所述的方法,还包括:
如果机器学习模型指示接收具有与特定探测分组大小相等的分组大小的未来数据流的可能性低于阈值,则通过所述网络设备并且从所述参考数据存储移除所述多个探测分组大小的所述特定探测分组大小。
9.根据权利要求1所述的方法,其中所述多个WAN链路中的每个WAN链路包括多个队列,并且其中发送所述多个探测分组包括:
针对所述多个WAN链路的每个WAN链路中的所述多个队列中的每个队列,通过所述网络设备并且向相应的所述队列发送包括具有所述分组大小的所述探测分组的所述多个探测分组,以获得针对所述相应队列的一个或多个度量的更新集合,所述更新集合包括针对所述分组大小的度量。
10.根据权利要求1所述的方法,还包括:更新由所述网络设备存储的探测分组简档,其中发送所述多个探测分组包括:基于所更新的所述探测分组简档,发送所述多个探测分组。
11.根据权利要求1至10中的任意组合所述的方法,还包括:
响应于确定所述分组大小在所述参考数据存储中被表示:
通过所述网络设备,基于针对所述多个WAN链路中的每个WAN链路的一个或多个度量的相应集合,确定所述多个WAN链路中的WAN链路,在所述多个WAN链路中的所述WAN链路上发送所述数据流的所述应用数据分组;以及
通过所述网络设备,经由所述多个WAN链路中的所述WAN链路向应用服务器发送所述数据流的所述应用数据分组。
12.根据权利要求11所述的方法,其中确定所述WAN链路包括:
通过所述网络设备将所述多个WAN链路中的每个WAN链路上的所述分组大小的一个或多个度量的相应集合与一个或多个服务级协议参数的集合进行比较;
通过所述网络设备从所述多个WAN链路中选择具有与所述一个或多个服务级协议参数的集合最接近匹配的相应度量的WAN链路,作为在其上发送所述第二数据流的所述应用数据分组的所述WAN链路。
13.一种网络设备,包括:
存储器,被配置为存储参考数据存储,所述参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个广域网(WAN)链路的一个或多个度量的对应集合的数据;以及
一个或多个处理器,与所述存储器通信,所述一个或多个处理器被配置为:
响应于接收到数据流的应用数据分组,确定所述应用数据分组的分组大小是否在所述参考数据存储中被表示;
响应于确定所述分组大小没有在所述参考数据存储中被表示,基于在所述参考数据存储中包括的所述一个或多个度量中的至少一部分,预测针对所述多个WAN链路中的每个WAN链路的所述分组大小的流度量;
基于所预测的所述流度量,选择所述多个WAN链路中的WAN链路,在所述多个WAN链路中的所述WAN链路上发送所述应用数据分组;以及
针对所述多个WAN链路中的每个WAN链路:
向相应的所述WAN链路发送包括具有所述分组大小的探测分组的多个探测分组,以获得针对相应的所述WAN链路的一个或多个度量的更新集合,所述更新集合包括针对所述分组大小的度量;以及
更新所述参考数据存储,以包括针对所述相应WAN链路的所述多个探测分组中的每个探测分组的一个或多个流度量的所述更新集合。
14.根据权利要求13所述的网络设备,其中所述一个或多个处理器还被配置为:
响应于确定所述分组大小在所述参考数据存储中被表示:
基于针对所述多个WAN链路中的每个WAN链路的一个或多个度量的相应集合,确定所述多个WAN链路中的WAN链路,在所述多个WAN链路中的所述WAN链路上发送所述数据流的所述应用数据分组;以及
经由所述多个WAN链路中的所述WAN链路向应用服务器发送所述数据流的所述应用数据分组,
其中所述一个或多个处理器被配置为确定所述WAN链路,包括:所述一个或多个处理器被配置为:
将所述多个WAN链路中的每个WAN链路上的所述分组大小的一个或多个度量的相应集合与一个或多个服务级协议参数的集合进行比较;
从所述多个WAN链路中选择具有与所述一个或多个服务级协议参数的集合最接近匹配的相应度量的WAN链路,作为在其上发送第二数据流的所述应用数据分组的所述WAN链路。
15.根据权利要求13至14中的任意组合所述的网络设备,其中所述一个或多个处理器被配置为发送所述多个探测分组,包括:所述一个或多个处理器被配置为:
向所述多个WAN链路中的每个WAN链路发送具有所述分组大小的探测分组,以获得针对所述分组大小的相应度量;
针对所述多个探测分组大小中的所述探测分组大小中的每个探测分组大小,向所述多个WAN链路中的每个WAN链路发送具有相应的所述探测分组大小的探测分组,以获得针对相应WAN链路-探测分组大小对的一个或多个度量的所述对应集合,其中每个探测分组大小是唯一的大小并且与所述分组大小不同;以及
将一个或多个度量的每个集合和针对所述分组大小所述相应度量存储在所述参考数据存储中作为一个或多个度量的所述更新集合。
16.根据权利要求13至14中的任意组合所述的网络设备,其中所述WAN链路包括第一WAN链路,其中所述一个或多个处理器还被配置为:
在传输所述数据流的同时,将针对所述第一WAN链路的一个或多个度量的所述更新集合与一个或多个服务级协议参数的集合进行比较;以及
响应于确定针对所述第一WAN链路的一个或多个度量的所述更新集合满足所述一个或多个服务级协议参数的集合,维持所述第一WAN链路上的所述数据流;以及
响应于确定针对所述第一WAN链路的一个或多个度量的所述更新集合不满足所述一个或多个服务级协议参数的集合:
确定所述多个WAN链路中的第二WAN链路,所述第二WAN链路具有满足所述一个或多个服务级协议参数的集合的一个或多个度量的相应更新集合;以及
将所述数据流重新指派给所述多个WAN链路中的所述第二WAN链路。
17.根据权利要求13至14中的任意组合所述的网络设备,其中所述设备包括软件定义网络(SDN)设备,所述软件定义网络(SDN)设备被耦合到所述WAN链路。
18.根据权利要求13至14中的任何组合所述的网络设备,其中所述一个或多个处理器还被配置为:
确定针对所述数据流的突发值;
响应于确定突发流没有在所述参考数据存储中被表示,基于所述参考数据存储,预测针对多个WAN链路中的每个WAN链路的所述突发流的流度量;
更新由所述网络设备存储的探测分组简档;以及
基于所更新的所述探测分组简档,获得针对所述多个WAN链路中的每个WAN链路的一个或多个流度量。
19.根据权利要求13至14中任一项所述的网络设备,其中所述一个或多个处理器还被配置为:
如果机器学习模型指示接收具有与特定探测分组大小相等的分组大小的未来数据流的可能性低于阈值,则从所述参考数据存储移除所述多个探测分组大小的所述特定探测分组大小。
20.一种非瞬态计算机可读存储介质,其上存储有指令,所述指令在被执行时,经由软件定义网络(SDN)设备的执行使得一个或多个处理器:
响应于通过网络设备接收到数据流的应用数据分组,确定所述应用数据分组的分组大小是否在参考数据存储中被表示,其中所述参考数据存储包括指示多个探测分组大小和针对多个广域网(WAN)链路中的每个广域网(WAN)链路的一个或多个度量的对应集合的数据;
响应于确定所述分组大小没有在所述参考数据存储中被表示,基于在所述参考数据存储中包括的所述一个或多个度量中的至少一部分,预测针对所述多个WAN链路中的每个WAN链路的所述分组大小的流度量;
基于所预测的所述流度量,选择所述多个WAN链路中的WAN链路,在所述多个WAN链路中的所述WAN链路上发送所述应用数据分组;以及
针对所述多个WAN链路中的每个WAN链路:
向相应的所述WAN链路发送包括具有所述分组大小的探测分组的多个探测分组,以获得针对所述相应的所述WAN链路的一个或多个度量的更新集合,所述更新集合包括针对所述分组大小的度量;以及
更新所述参考数据存储,以包括针对相应的所述WAN链路的所述多个探测分组中的每个探测分组的一个或多个流度量的所述更新集合。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/191,075 | 2018-11-14 | ||
| US16/191,075 US10708144B2 (en) | 2018-11-14 | 2018-11-14 | Predicting application quality of experience metrics using adaptive machine learned probes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111193666A true CN111193666A (zh) | 2020-05-22 |
| CN111193666B CN111193666B (zh) | 2021-10-26 |
Family
ID=67220615
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910569837.0A Active CN111193666B (zh) | 2018-11-14 | 2019-06-27 | 使用自适应机器学习探测预测应用体验质量度量 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10708144B2 (zh) |
| EP (1) | EP3654589B1 (zh) |
| CN (1) | CN111193666B (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022007244A1 (zh) * | 2020-07-06 | 2022-01-13 | 杭州网银互联科技股份有限公司 | 一种基于云计算的sd-wan网络智能链路选择方法 |
| CN114006829A (zh) * | 2020-07-14 | 2022-02-01 | 瞻博网络公司 | 基于历史数据合成探测参数 |
| CN115460155A (zh) * | 2022-07-25 | 2022-12-09 | 新华三技术有限公司 | Sdwan应用流量控制方法、装置、设备和存储介质 |
| CN115811494A (zh) * | 2021-09-13 | 2023-03-17 | 瞻博网络公司 | 用于sd-wan服务的自动基于应用的多路径路由 |
| CN116746118A (zh) * | 2021-04-08 | 2023-09-12 | 思科技术公司 | 云基础设施的自动化且可扩展的多级冗余 |
Families Citing this family (99)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
| US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
| US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
| US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
| US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
| US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
| US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
| US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
| US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
| US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
| US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
| US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
| US11855805B2 (en) | 2017-10-02 | 2023-12-26 | Vmware, Inc. | Deploying firewall for virtual network defined over public cloud infrastructure |
| US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
| CN111245666B (zh) * | 2018-11-29 | 2022-12-06 | 华为技术有限公司 | 数据传输方法、装置及系统 |
| US10951490B2 (en) * | 2019-05-09 | 2021-03-16 | Cisco Technology, Inc. | Intelligent tunnel assignment and dynamic SLA threshold configuration to increase availability and utilization of SD-WAN tunnels |
| CN110138612B (zh) * | 2019-05-15 | 2020-09-01 | 福州大学 | 一种基于QoS模型自校正的云软件服务资源分配方法 |
| US11494512B2 (en) * | 2019-05-30 | 2022-11-08 | Sap Se | Automatic enforcement of data use policy for machine learning applications |
| US11108666B2 (en) * | 2019-06-06 | 2021-08-31 | Morgan Stanley Services Group Inc. | Latency prediction and network message microtiming |
| US11129023B2 (en) | 2019-06-06 | 2021-09-21 | Cisco Technology, Inc. | Systems and methods for distributing SD-WAN policies |
| US12192877B2 (en) * | 2019-07-04 | 2025-01-07 | Nokia Technologies Oy | Proactive switching of V2X communication from sidelink connection to cellular connection |
| US10897424B1 (en) | 2019-07-24 | 2021-01-19 | Citrix Systems, Inc. | Quality of experience based network analysis |
| US11310161B2 (en) * | 2019-08-12 | 2022-04-19 | Verizon Patent And Licensing Inc. | Method and system for packet size management |
| US11153230B2 (en) | 2019-08-27 | 2021-10-19 | Vmware, Inc. | Having a remote device use a shared virtual network to access a dedicated virtual network defined over public clouds |
| US10938717B1 (en) | 2019-09-04 | 2021-03-02 | Cisco Technology, Inc. | Policy plane integration across multiple domains |
| US12218807B1 (en) * | 2024-06-21 | 2025-02-04 | Live Nation Entertainment, Inc. | Dynamic determination of threshold routing value using machine-learning models |
| US11115347B2 (en) * | 2019-10-14 | 2021-09-07 | Hewlett Packard Enterprise Development Lp | Dynamic monitoring and migration of applications |
| US11044190B2 (en) | 2019-10-28 | 2021-06-22 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
| US11727284B2 (en) | 2019-12-12 | 2023-08-15 | Business Objects Software Ltd | Interpretation of machine learning results using feature analysis |
| US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
| US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
| US11689959B2 (en) | 2020-01-24 | 2023-06-27 | Vmware, Inc. | Generating path usability state for different sub-paths offered by a network link |
| US11580455B2 (en) | 2020-04-01 | 2023-02-14 | Sap Se | Facilitating machine learning configuration |
| JP7579352B2 (ja) * | 2020-04-06 | 2024-11-07 | ノキア テクノロジーズ オサケユイチア | 相対的な位置の推定 |
| US11296947B2 (en) | 2020-06-29 | 2022-04-05 | Star2Star Communications, LLC | SD-WAN device, system, and network |
| US11245641B2 (en) | 2020-07-02 | 2022-02-08 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
| US11233715B1 (en) * | 2020-07-14 | 2022-01-25 | Juniper Networks, Inc. | Dynamic prediction and management of application service level agreements |
| US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
| US11736386B2 (en) * | 2020-09-08 | 2023-08-22 | Ribbon Communications Operating Company, Inc. | Communications methods and apparatus for determining best-quality Realtime-media path in unified communications applications |
| US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
| US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
| US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
| US11777760B2 (en) * | 2020-12-30 | 2023-10-03 | Hughes Network Systems, Llc | VPN classification to reduce usage costs while retaining responsiveness |
| CN116783874A (zh) * | 2021-01-18 | 2023-09-19 | Vm维尔股份有限公司 | 网络感知的负载平衡 |
| US12218845B2 (en) | 2021-01-18 | 2025-02-04 | VMware LLC | Network-aware load balancing |
| US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
| US11552886B2 (en) * | 2021-03-09 | 2023-01-10 | Cisco Technology, Inc. | Topology optimization in SD-WANs with path downgrading |
| US11496556B1 (en) * | 2021-04-26 | 2022-11-08 | Cisco Technology, Inc. | Service provider selection for application-driven routing |
| US11729097B2 (en) | 2021-04-28 | 2023-08-15 | Cisco Technology, Inc. | QOS configuration update based on behavioral application correlation |
| US12368676B2 (en) | 2021-04-29 | 2025-07-22 | VMware LLC | Methods for micro-segmentation in SD-WAN for virtual networks |
| US11509571B1 (en) | 2021-05-03 | 2022-11-22 | Vmware, Inc. | Cost-based routing mesh for facilitating routing through an SD-WAN |
| US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
| US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
| US12231312B2 (en) * | 2021-05-24 | 2025-02-18 | Cisco Technology, Inc. | Autonomous system bottleneck detection |
| US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
| US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
| US12250114B2 (en) | 2021-06-18 | 2025-03-11 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds |
| US11916777B2 (en) * | 2021-07-06 | 2024-02-27 | Cisco Technology, Inc. | Learning SLA violation probability from intelligent fine grained probing |
| US11811638B2 (en) * | 2021-07-15 | 2023-11-07 | Juniper Networks, Inc. | Adaptable software defined wide area network application-specific probing |
| US12047282B2 (en) | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
| US12267364B2 (en) | 2021-07-24 | 2025-04-01 | VMware LLC | Network management services in a virtual network |
| US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
| US20240380795A1 (en) * | 2021-09-17 | 2024-11-14 | Viasat, Inc. | Providing communication sessions based on mobile application engagement |
| US11991084B2 (en) * | 2021-09-30 | 2024-05-21 | Juniper Networks, Inc. | AI-assisted WAN link selection for SD-WAN services |
| US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
| US11533246B1 (en) * | 2021-10-04 | 2022-12-20 | At&T Intellectual Property I, L.P. | Network probe placement optimization |
| US12255822B2 (en) | 2021-10-19 | 2025-03-18 | Cisco Technologies, Inc. | Load balancing application traffic with predictive goodput adaptation |
| US11637753B1 (en) | 2021-10-29 | 2023-04-25 | Juniper Networks, Inc. | Adaptive location-based SD-WAN policies |
| US12335147B2 (en) * | 2021-11-17 | 2025-06-17 | Cisco Technology, Inc. | Adaptive cloud-native service chaining |
| US11658904B1 (en) * | 2021-11-22 | 2023-05-23 | Cisco Technology, Inc. | Application-aware routing based on path KPI dynamics |
| US12184557B2 (en) | 2022-01-04 | 2024-12-31 | VMware LLC | Explicit congestion notification in a virtual environment |
| US12507120B2 (en) | 2022-01-12 | 2025-12-23 | Velocloud Networks, Llc | Heterogeneous hub clustering and application policy based automatic node selection for network of clouds |
| US12425395B2 (en) | 2022-01-15 | 2025-09-23 | VMware LLC | Method and system of securely adding an edge device operating in a public network to an SD-WAN |
| US12506678B2 (en) | 2022-01-25 | 2025-12-23 | VMware LLC | Providing DNS service in an SD-WAN |
| US20230275841A1 (en) * | 2022-02-28 | 2023-08-31 | Cisco Technology, Inc. | Cross-layer application network flow adaptation |
| US11909618B2 (en) * | 2022-04-06 | 2024-02-20 | Cisco Technology, Inc. | Actively learning PoPs to probe and probing frequency to maximize application experience predictions |
| US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
| US12166661B2 (en) | 2022-07-18 | 2024-12-10 | VMware LLC | DNS-based GSLB-aware SD-WAN for low latency SaaS applications |
| US12316524B2 (en) | 2022-07-20 | 2025-05-27 | VMware LLC | Modifying an SD-wan based on flow metrics |
| US11909631B1 (en) * | 2022-07-29 | 2024-02-20 | Cisco Technology, Inc. | Identifying application QoE changes due to application location migration |
| US11985069B2 (en) * | 2022-07-31 | 2024-05-14 | Cisco Technology, Inc. | Auto-detection of application failures for forecasting network path performance |
| US20240073743A1 (en) | 2022-08-28 | 2024-02-29 | Vmware, Inc. | Dynamic use of multiple wireless network links to connect a vehicle to an sd-wan |
| US11936543B1 (en) * | 2022-10-25 | 2024-03-19 | Microsoft Technology Licensing, Llc | Link health determination |
| US12335152B2 (en) | 2023-02-13 | 2025-06-17 | Hourglass Software LLC | Modifying network routing and bandwidth balancing for lower latency and high quality fair traffic |
| US12261751B2 (en) | 2023-03-06 | 2025-03-25 | Cisco Technology, Inc. | Learning probing strategies for QoE assessment |
| US12057993B1 (en) | 2023-03-27 | 2024-08-06 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12425332B2 (en) | 2023-03-27 | 2025-09-23 | VMware LLC | Remediating anomalies in a self-healing network |
| US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12034605B1 (en) * | 2023-05-17 | 2024-07-09 | Cisco Technology, Inc. | Feedback loop control of an online application based on network characteristics affecting user experience |
| US12489702B1 (en) | 2023-07-11 | 2025-12-02 | Juniper Networks, Inc. | Route preference based on link performance |
| US12526236B2 (en) * | 2023-08-15 | 2026-01-13 | Cisco Technology, Inc. | Per-queue network performance measurement mapping |
| US12507148B2 (en) | 2023-08-16 | 2025-12-23 | Velocloud Networks, Llc | Interconnecting clusters in multi-regional large scale deployments with distributed gateways |
| US12355655B2 (en) | 2023-08-16 | 2025-07-08 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
| US12261777B2 (en) | 2023-08-16 | 2025-03-25 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
| US12507153B2 (en) | 2023-08-16 | 2025-12-23 | Velocloud Networks, Llc | Dynamic edge-to-edge across multiple hops in multi-regional large scale deployments with distributed gateways |
| US12483968B2 (en) | 2023-08-16 | 2025-11-25 | Velocloud Networks, Llc | Distributed gateways for multi-regional large scale deployments |
| US12401588B2 (en) | 2023-08-18 | 2025-08-26 | Cisco Technology, Inc. | Automatic creation of adaptive application aware routing policies on a software-defined wide area network (SD-WAN) |
| US20250193154A1 (en) * | 2023-12-11 | 2025-06-12 | Cisco Technology, Inc. | Wireless Flow Inspection Solution In SD-WAN Multi-Domains |
| US20250274363A1 (en) * | 2024-02-26 | 2025-08-28 | Microsoft Technology Licensing, Llc | Ingress traffic shift prediction |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8438269B1 (en) * | 2008-09-12 | 2013-05-07 | At&T Intellectual Property I, Lp | Method and apparatus for measuring the end-to-end performance and capacity of complex network service |
| US20160028608A1 (en) * | 2014-07-23 | 2016-01-28 | Cisco Technology, Inc. | Selective and dynamic application-centric network measurement infrastructure |
| CN106789660A (zh) * | 2017-03-31 | 2017-05-31 | 中国科学技术大学苏州研究院 | 软件定义网络中QoS可感知的流量管理方法 |
| CN107810619A (zh) * | 2015-06-29 | 2018-03-16 | 谷歌有限责任公司 | 用于推断广域网中的网络拓扑和路径度量的系统和方法 |
| CN107852368A (zh) * | 2015-07-14 | 2018-03-27 | 微软技术许可有限责任公司 | 用于网络服务的高度可用的服务链 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9064216B2 (en) | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
| US9369351B2 (en) * | 2014-01-06 | 2016-06-14 | Cisco Technology, Inc. | Using learning machine-based prediction in multi-hopping networks |
| US10062036B2 (en) * | 2014-05-16 | 2018-08-28 | Cisco Technology, Inc. | Predictive path characteristics based on non-greedy probing |
| US9544240B1 (en) * | 2015-07-13 | 2017-01-10 | Telefonaktiebolaget L M Ericsson (Publ) | MTU discovery over multicast path using bit indexed explicit replication |
-
2018
- 2018-11-14 US US16/191,075 patent/US10708144B2/en active Active
-
2019
- 2019-06-18 EP EP19180805.4A patent/EP3654589B1/en active Active
- 2019-06-27 CN CN201910569837.0A patent/CN111193666B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8438269B1 (en) * | 2008-09-12 | 2013-05-07 | At&T Intellectual Property I, Lp | Method and apparatus for measuring the end-to-end performance and capacity of complex network service |
| US20160028608A1 (en) * | 2014-07-23 | 2016-01-28 | Cisco Technology, Inc. | Selective and dynamic application-centric network measurement infrastructure |
| CN107810619A (zh) * | 2015-06-29 | 2018-03-16 | 谷歌有限责任公司 | 用于推断广域网中的网络拓扑和路径度量的系统和方法 |
| CN107852368A (zh) * | 2015-07-14 | 2018-03-27 | 微软技术许可有限责任公司 | 用于网络服务的高度可用的服务链 |
| CN106789660A (zh) * | 2017-03-31 | 2017-05-31 | 中国科学技术大学苏州研究院 | 软件定义网络中QoS可感知的流量管理方法 |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022007244A1 (zh) * | 2020-07-06 | 2022-01-13 | 杭州网银互联科技股份有限公司 | 一种基于云计算的sd-wan网络智能链路选择方法 |
| CN114006829A (zh) * | 2020-07-14 | 2022-02-01 | 瞻博网络公司 | 基于历史数据合成探测参数 |
| US12255798B2 (en) | 2020-07-14 | 2025-03-18 | Juniper Networks, Inc. | Synthesizing probe parameters based on historical data |
| CN116746118A (zh) * | 2021-04-08 | 2023-09-12 | 思科技术公司 | 云基础设施的自动化且可扩展的多级冗余 |
| CN115811494A (zh) * | 2021-09-13 | 2023-03-17 | 瞻博网络公司 | 用于sd-wan服务的自动基于应用的多路径路由 |
| CN115811494B (zh) * | 2021-09-13 | 2026-02-06 | 瞻博网络公司 | 用于sd-wan服务的自动基于应用的多路径路由 |
| CN115460155A (zh) * | 2022-07-25 | 2022-12-09 | 新华三技术有限公司 | Sdwan应用流量控制方法、装置、设备和存储介质 |
| CN115460155B (zh) * | 2022-07-25 | 2024-11-01 | 新华三技术有限公司 | Sdwan应用流量控制方法、装置、设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3654589A1 (en) | 2020-05-20 |
| US20200153701A1 (en) | 2020-05-14 |
| US10708144B2 (en) | 2020-07-07 |
| EP3654589B1 (en) | 2021-08-04 |
| CN111193666B (zh) | 2021-10-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111193666B (zh) | 使用自适应机器学习探测预测应用体验质量度量 | |
| US10958555B2 (en) | Real-time application-driven synthetic probing | |
| CN111770028B (zh) | 用于计算机网络的方法和网络设备 | |
| CN111682952B (zh) | 针对体验质量度量的按需探测 | |
| US20240154881A1 (en) | Dynamic application sla metric generation, distribution, and intent-based sd-wan link selection | |
| US11968118B2 (en) | Planning and managing network probes using centralized controller | |
| US12255798B2 (en) | Synthesizing probe parameters based on historical data | |
| WO2018197924A1 (en) | Method and system to detect virtual network function (vnf) congestion |
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 |