CN115622931A - 自适应软件定义的广域网应用特定探测 - Google Patents
自适应软件定义的广域网应用特定探测 Download PDFInfo
- Publication number
- CN115622931A CN115622931A CN202210828249.6A CN202210828249A CN115622931A CN 115622931 A CN115622931 A CN 115622931A CN 202210828249 A CN202210828249 A CN 202210828249A CN 115622931 A CN115622931 A CN 115622931A
- Authority
- CN
- China
- Prior art keywords
- network device
- probe
- server
- network
- application
- 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.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 13
- 239000000523 sample Substances 0.000 claims abstract description 198
- 238000000034 method Methods 0.000 claims abstract description 84
- 230000004044 response Effects 0.000 claims description 38
- 238000007689 inspection Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 33
- 238000007726 management method Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000007774 longterm Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 238000000899 pressurised-fluid extraction Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks 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/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
- 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
-
- 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/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- 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/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- 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/12—Network monitoring probes
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- 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/302—Route determination based on requested QoS
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请题为“自适应软件定义的广域网应用特定探测”。公开了用于自适应特定应用探测方案的系统、设备和技术。示例网络设备包括存储器,被配置为存储可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议;以及一个或多个处理器,被配置为确定可用于探测第一网络设备的网络地址和探测协议,其中第一网络设备包括响应于探测的服务器、或者响应于探测的与服务器最接近的网络设备,该服务器针对数据流执行应用。一个或多个处理器还被配置为向在由应用服务的位置处的第二网络设备发送消息,该消息指定可用于探测第一网络设备的网络地址和探测协议。
Description
本申请要求于2021年7月15日提交的美国专利申请号17/377,078的权益,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络。
背景技术
在过去的几十年中,互联网已经从包括几个节点的小型网络呈指数增长到服务超过十亿用户的全球普及网络。今天,个人订户不仅限于运行利用通过网络的语音和/或数据下载的几个网络会话。而是,订户使用的服务范围从电话会议、多媒体游戏、音频和视频流、web服务、IP语音(VoIP)等广泛变化。随着新技术的渗透,诸如物联网(IoT)和M2M(机器对机器)通信的利用率增加,给定订户可能需要的网络服务和软件应用也从几个会话变为具有并发流的多个会话。随着订户越来越多地同时运行多个应用、服务和事务,该数目正在迅速增长。订户会话和分组流的量和种类的增加给网络服务提供方带来了网络性能(诸如时延、延迟和抖动)方面的挑战。
发明内容
一般而言,本公开描述了用于基于特定应用的应用业务(traffic)的历史模型的自适应(adaptive)应用特定探测的技术,其中探测过程为在其上传输数据流的数据路径生成各种体验质量(QoE)度量。随着视频和语音呼叫的普及,以及需要广域网(WAN)上的特定网络性能的其他应用,可能期望监控分组可能经过的路由,以查看网络是否支持这些应用的QoE要求。软件定义的WAN(SD-WAN)边缘网络设备(例如路由器)通常通过大量不同的数据路径处理数千个数据流。SD-WAN边缘网络设备的计算能力限制和其他资源约束可能会阻止SD-WAN边缘网络设备持续监控来自SD-WAN边缘网络设备的分组可能采用的所有可能数据路径。实际上,由于资源约束,SD-WAN边缘网络设备可以具有有限的探测分组“预算”。此外,可能难以确定在所有可能的数据路径集合中SD-WAN边缘网络设备应使用其有限的探测分组预算监控哪些特定数据路径。
许多应用可以利用针对特定订户设备的多个会话或数据流。每个数据流可以被路由到相同的服务器或不同的服务器。在软件即服务(SaaS)应用的示例中,随着新数据流被发起,数据流被路由到哪个服务器可能会随着时间而改变。例如,与特定位置的订户设备相关联的视频数据流如果在早上发起,则可以流向一个服务器,并且如果在下午发起,则流向不同的服务器。如果某个位置的边缘网络设备(诸如SD-WAN路由器)具有有限的探测分组预算,则可能难以确定应探测与应用相关联的哪些网络设备。
代替在每个WAN链路上发送一个或多个探测分组,本文描述的技术可以限制向从QoE视角来看历史上更有可能用于有意义的流的服务器(或服务器附近的网络设备)发送探测分组。以这种方式,当利用有限的探测分组预算进行探测时,探测实际上将与有意义的流相关联的服务器(或服务器附近的网络设备)的可能性可以增加,从而增加对探测的响应的有用性。
网络设备可以确定响应于探测的服务器或服务器附近的网络设备的网络地址,以及可以使用哪些探测协议来引出这样的响应。以这种方式,这样的网络设备在本文中可以被称为探测管理网络设备。
本公开的技术可以用于通过从每站点/每设备的历史流事件中学习来动态地确定每个应用的目的地网络地址和探测协议。与可以静态配置的其他探测技术不同,本文提出的技术描述了基于历史信息被学习到并且随时间动态改变的探测策略。
虽然这些技术可以包括调整可以探测哪些网络设备,但本文描述的技术还可以包括机器学习技术,用以学习属于应用的数据流的各种模式和特性,诸如哪个网络设备可能在一天中的特定时间和/或一周中的特定天涉及特定数据流。可以是基于云的网络设备可以将该信息存储在存储器中并且定期将该信息发送给该位置的网络设备。
在本文描述的技术的一个示例中,一种方法包括响应于由探测管理网络设备基于与应用相关联的数据流的一个或多个特性确定数据流的质量对应用的体验质量有意义:由探测管理网络设备确定可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议,其中第一网络设备包括响应于探测的服务器、或者响应于探测的与服务器最接近的网络设备,服务器针对数据流执行应用;以及由探测管理网络设备向在由应用服务的位置处的第二网络设备发送消息,该消息指定可用于探测第一网络设备的网络地址和探测协议。
在本文描述的技术的另一示例中,一种探测管理网络设备包括:存储器,被配置为存储可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议;以及一个或多个处理器,被通信地耦合到存储器并且被配置为:响应于基于与应用相关联的数据流的一个或多个特性确定数据流的质量对应用的体验质量有意义:确定可用于探测第一网络设备的网络地址和探测协议,其中第一网络设备包括响应于探测的服务器、或者响应于探测的与服务器最接近的网络设备,服务器针对数据流执行应用;以及向在由应用服务的位置处的第二网络设备发送消息,该消息指定可用于探测第一网络设备的网络地址和探测协议。
在本文描述的技术的另一示例中,一种网络设备包括:存储器,被配置为存储指示探测分组预算的数据;以及一个或多个处理器,被通信地耦合到存储器并且被配置为:从另一网络设备接收消息,该消息包括:最常用的应用的排名;以及对于最常用的应用中的每个最常用的应用,针对相应最常用的应用的最常用的服务器的排名;以及用于针对相应最常用的应用的多个网络设备中的每个网络设备的相应网络地址和相应探测协议;基于最常用的应用的排名、最常用的服务器的排名、以及探测分组预算,确定多个网络设备的子集;以及基于相应网络地址和相应探测协议,向多个网络设备的子集中的每个网络设备发送带外探测分组,其中多个网络设备中的每个网络设备包括响应于探测的服务器、或者响应于探测的与服务器最接近的网络设备,服务器针对相应数据流执行应用。
在附图和以下描述中阐述了一个或多个示例的细节。从描述和附图以及从权利要求中,其他特征、目的和优点将是明显的。
附图说明
图1是图示根据本公开的技术的执行自适应(adatpable)应用特定探测的示例软件定义的广域网(SD-WAN)系统的框图。
图2是图示根据本公开的技术的确定自适应应用特定探测技术的示例服务器的框图。
图3是图示根据本公开的技术的被配置为执行一种或多种自适应应用特定探测技术的示例网络设备的框图。
图4是图示根据本公开的技术的用于确定自适应应用特定探测方案的示例技术的流程图。
具体实施方式
图1是图示根据本公开的技术的执行自适应应用特定探测的示例软件定义的广域网(SD-WAN)系统的框图。图1中的示例网络系统包括SD-WAN系统2。在图1的示例中,SD-WAN系统2包括软件定义的网络(SDN)和网络功能虚拟化(NFV)架构。SDN控制器设备(未示出)可以提供用于配置和管理SD-WAN系统2的路由和交换基础设施的高级控制器。在一些实例中,SDN控制器设备管理数据中心30的操作环境内的虚拟机(VM)的部署。
SD-WAN系统2包括分支机构(branch office)4、分支机构6和分支机构8。分支机构4、分支机构6和分支机构8中的每个分支机构可以位于不同的地理位置。分支机构4包括路由器10和服务器12。路由器10和服务器12可以通信地耦合到各种订户设备(为简单起见未示出),诸如台式计算机、膝上型计算机、智能电话、平板等。
订户可以表示例如企业、住宅订户或移动订户。订户设备中的每个订户设备都可以运行各种软件应用,诸如文字处理和其他办公支持软件、web浏览软件、支持语音呼叫的软件、视频游戏、视频会议和电子邮件等。例如,订户设备可以是各种支持网络的设备,通常称为“物联网”(IoT)设备,诸如相机、传感器(S)、电视、电器等。另外,订户设备可以包括通过诸如路由器10的边缘网络设备无线访问SD-WAN系统2的数据服务的移动设备。示例移动订户设备包括具有例如5G无线卡的移动电话、膝上型计算机或台式计算机、具有无线功能的上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(PDA)等。
管理SD-WAN系统2的至少部分的网络服务提供方通常向与访问SD-WAN系统2的订户设备相关联的订户提供服务。提供的服务可以包括,例如,传统的互联网接入、VoIP、视频和多媒体服务、以及安全服务。如上文关于路由器10所描述的,可以支持连接到服务提供方网络接入网关以提供对所提供服务的访问的多种类型的接入网络基础设施。在一些实例中,网络系统可以包括附接到具有不同架构的多个不同接入网络的订户设备。
一般而言,订户设备中的任何一个或多个订户设备都可以通过向网关设备(诸如路由器10)发送会话请求来请求授权和数据服务。进而,路由器10可以访问诸如认证、授权和计费(AAA)服务器之类的中央服务器(未示出)以认证请求网络访问的订户设备之一。一旦被认证,订户设备中的任何订户设备都可以朝向路由器10发送订户数据业务以访问和接收由MPLS网络18、互联网20或SaaS网络24提供的服务。
路由器10可以是SD-WAN边缘路由器,诸如客户边缘(CE)路由器或提供方边缘(PE)路由器。服务器12可以是SD-WAN边缘服务器,诸如CE服务器或PE服务器。在一些示例中,分支机构4可以包括多个路由器或多个服务器。
分支机构6包括路由器14。路由器14可以通信地耦合到各种订户设备。路由器14可以是SD-WAN边缘路由器,诸如客户边缘(CE)路由器或提供方边缘(PE)路由器。在一些示例中,分支机构6可以包括多个路由器(未示出)。
分支机构8包括路由器16。路由器16可以通信地耦合到各种订户设备(为简单起见未示出)。路由器16可以是SD-WAN边缘路由器,诸如CE路由器或PE路由器。在一些示例中,分支机构8可以包括多个服务器(未示出)。
分支机构4、6和8可以各自包括接入网络(未示出),诸如宽带接入网络、无线LAN、公共交换电话网络(PSTN)、客户驻地设备(CPE)网络或其他类型的接入网络,并且可以包括或以其他方式提供针对蜂窝接入网络(诸如无线电接入网络(RAN))的连接性。示例包括符合通用移动电信系统(UMTS)架构的网络、称为长期演进(LTE)的UMTS演进、由互联网工程任务组(IETF)标准化的移动IP、以及由第三代合作伙伴计划(3GPP)、第三代合作伙伴计划2(3GGP/2)和WiMAX论坛提出的其他标准。
在包括有线/宽带接入网络的示例中,路由器10可以表示宽带网络网关(BNG)、宽带远程接入服务器(BRAS)、MPLS PE路由器、核心路由器或网关,或电缆调制解调器终端系统(CMTS)。在包括蜂窝接入网络的示例中,路由器10可以表示移动网关,例如网关通用分组无线电服务(GPRS)服务节点(GGSN)、接入网关(aGW)、或者分组数据网络(PDN)网关(PGW)。在其他一些示例中,关于路由器10描述的功能性可以在交换机、服务卡或另一网络设备或组件中实现。
在一些示例中,路由器10、路由器14、路由器32或路由器22可以是物理路由器。在一些示例中,路由器10、路由器14、路由器32或路由器22可以是在通用服务器上的虚拟机或容器上执行的基于软件的虚拟化的路由器。有关基于软件的虚拟化的路由器的附加信息在以下中进行了描述:于2017年8月8日发布的标题为“COMPUTER NETWORK PACKET FLOWCONTROLLER”的美国专利号9,729,439;于2017年8月8日发布的标题为“NETWORK DEVICEAND METHOD FOR PROCESSING A SESSION USING A PACKET SIGNATURE”的美国专利号9,729,682;于2017年9月12日发布的标题为“NETWORK PACKET FLOWLER WITH EXTENDEDSESSION MANAGEMENT”的美国专利号9,762,485;于2018年1月16日发布的标题为“ROUTERWITH OPTIMIZED STATISTICAL FUNCTIONALITY”的美国专利号9,871,748;于2018年5月29日发布的标题为“NAME-BASED ROUTING SYSTEM AND METHOD”的美国专利号9,985,883;于2019年2月5日发布的标题为“LINK STATUS MONITORING BASED ON PACKET LOSSDETECTION”的美国专利号10,200,264;于2019年4月30日发布的标题为“STATEFUL LOADBLANCING IN ASTATELESS NETWORK”的美国专利号10,277,506;于2019年10月1日发布的标题为“NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT”的美国专利号10,432,522;以及于2020年12月24日公布的标题为“IN-LINE PERFORMANCEMONITORING”的美国专利申请公开号2020/0403890,上述文献的每一项的全部内容通过整体引用并入本文。
SD-WAN系统2还包括多协议标签交换(MPLS)网络18、互联网20、数据中心30和软件即服务(SaaS)网络24。MPLS网络18可以实现MPLS转发。数据中心30可以是区域集线器并且包括路由器32、服务器34和防火墙设备36。在一些示例中,数据中心30可以包括多个服务器、多个路由器或多个防火墙设备。
MPLS网络18和互联网20提供基于分组的服务,这些服务可供分支机构4、分支机构6和分支机构8处的订户设备请求和使用。作为示例,MPLS网络18和互联网20可以提供批量数据递送、互联网协议语音(VoIP)、互联网协议电视(IPTV)、短消息服务(SMS)、无线应用协议(WAP)服务、或客户特定应用服务。例如,互联网20可以从SaaS网络24向订户设备提供SaaS应用服务。
SaaS网络24可以是由SaaS应用的供应方操作的网络。SaaS应用是由SaaS网络24经由互联网20递送给(例如,在分支机构4、6、8处的)客户的基于云的软件应用。例如,不是在位于个人或企业的分支机构位置的本地服务器(诸如服务器12)或者个人或企业在数据中心中拥有或租用的远程服务器(诸如服务器34)上执行个人或企业所拥有的应用,而是个人或企业可以许可使用来自第三方的应用,该应用可以在SaaS网络24的服务器中执行。如此,与个人或企业相关联的分支机构处的网络设备可以对哪个服务器正在执行由SaaS网络24递送的应用具有较少的控制和洞察力。可以由SaaS网络24提供的SaaS应用的一些示例包括视频会议软件应用、客户关系管理软件应用、工作场所生产力应用、在线工作空间应用、文档存储应用、计算应用、数据库应用、分析应用、以及其他类型的应用。在一些示例中,实体可以在订阅的基础上使用SaaS应用,例如按月或按年订阅,这可以是免费的或收费的。
SaaS网络24包括路由器22,其可以是SD-WAN路由器或网关、负载平衡器26和服务器28A-28N。在一些示例中,SaaS网络24可以包括多个路由器或多个负载平衡器。服务器28A-28N(“服务器28”)可以包括任意数目的服务器。在一些示例中,SaaS网络24的服务器28在地理上共置的。在其他一些示例中,SaaS网络24的服务器28在地理上是分散的。在这种示例中,每个地理位置可以具有一个或多个路由器、一个或多个负载平衡器以及一个或多个服务器28。
许多SaaS应用可以同时使用多个数据流来递送应用的一个实例。多个数据流中的某些数据流的质量可能对应用的QoE有意义,例如,可能对应用的QoE有显著或可测量的影响,而其他可能没有。对应用的QoE可能有意义的数据流在本文中称为“有意义的流”。例如,探测管理网络设备可以确定来自某个位置的特定数据流的质量对应用的QoE有意义。探测管理网络设备可以确定与数据流相关联的、第一网络设备将响应的第一网络设备的网络地址和探测协议,其质量对于应用的QoE有意义。第一网络设备可以是响应与探测协议相关联的探测分组的服务器。或者,如果服务器不响应各种探测协议的探测分组,则第一网络设备可以是离服务器最近的网络设备,并且该最近的网络设备响应与探测协议相关联的探测分组。
由于在诸如分支机构4、6或8之类的位置处的订户设备对于可能与不同服务器28相关联的SaaS应用可以具有多于一个有意义的流,并且订户设备可以使用多于一个SaaS应用,因此可以期望对SaaS应用、最常与有意义的数据流相关联的服务器、和/或数据流对给定SaaS应用的QoE的有意义性(例如,关于数据流的问题将影响SaaS应用的QoE的程度)进行排名。通过对SaaS应用、最常与有意义的数据流相关联的服务器、和/或数据流对给定SaaS应用的QoE的有意义性进行排名,第二网络设备(诸如路由器10)可以探测与有意义的数据流相关联的更相关的网络设备,同时保持在第二网络设备的有限探测分组预算内。因此,在一些示例中,探测管理网络设备可以基于各种应用的使用、最常与有意义的数据流相关联的服务器、和/或数据流对各种应用的QoE的有意义性来确定各种应用的排名以及数据流可以被路由到的相关联的服务器。排名、网络地址和探测协议可以在消息中被发送给该位置处的第二网络设备。第二网络设备可以基于网络地址、探测协议和/或排名来将多至第二网络设备的探测分组预算的多个探测分组发送给不同的网络设备(例如,给不同的第一网络设备,诸如服务器28A、路由器22或负载平衡器26)。以这种方式,第二网络设备可以在第二网络设备的有限探测分组预算内探测更高排名的网络设备。第二网络设备可以使用来自相应第一网络设备的响应来确定与相应数据流相关联的QoE。
分支机构4的路由器10可以经由MPLS网络18和数据中心30为分支机构4的位置中的一个或多个订户设备提供对在服务器28A-28N中的一个或多个服务器上执行的应用的访问。例如,路由器10可以通过MPLS网络18将与应用相关联的数据流路由到路由器32到互联网20(直接地或者通过防火墙设备36)。数据流可以从互联网20被路由到路由器22。数据流可以由负载平衡器26接收。负载平衡器26可以被配置为平衡跨服务器28A-28N的数据流,使得服务器28A-28N上的处理负载相对平衡,以尝试避免服务器28A-28N中的一个或多个服务器过载。因为分支机构4处的管理员不控制SaaS网络24,所以来自与在服务器28A-28N上执行的应用相关联的路由器10的某种类型的流(例如视频)可能并不总是由服务器28A-28N中的同一服务器处理。这使得管理员或路由器10难以确定用探测分组探测服务器28A-28N中的哪个服务器,尤其是当路由器10可能具有有限的探测分组预算时,因为路由器10可能将路由器10的大部分处理能力致力于路由主动(active)数据流。服务器12还可以经由互联网20直接通过路由器22或通过数据中心30访问在服务器28A-28N中的一个或多个服务器上执行的应用。
分支机构6的路由器14可以为在分支机构6的位置处的多个订户设备提供对在服务器28A-28N中的一个或多个服务器上执行的应用的访问。例如,路由器14可以通过MPLS网络18将与应用相关联的数据流路由到路由器32到互联网20(直接地或者通过防火墙设备36)。数据流可以从互联网20被路由到路由器22。数据流可以由负载平衡器26接收,负载平衡器26可以将数据流分发给服务器28A-28N中的各种服务器。
分支机构8的服务器16可以经由互联网20,或者直接通过路由器22,或者通过数据中心30,为分支机构8的位置处的多个订户设备提供对在服务器28A-28N中的一个或多个服务器上执行的应用的访问。
路由器10、服务器12、路由器14和服务器16中的每一个可以具有有限的探测分组预算。这样的设备可以在有限数目的数据路径上采用对SaaS应用的带外探测,而不是带内静态探测。带外探测、合成探测或“主动监控”是指与带内数据流分开发送探测分组。换言之,带外探测分组不是数据流的实时数据。与依赖域名服务(DNS)来查找一个应用服务器不同,本公开的技术可以采用具有基于使用、一天中的时间、一周中的天或其他属性的选择性探测的动态方法。这样的技术可以提高探测处理有意义数据流的数据路径的机会。通过提高探测处理有意义数据流的数据路径的机会,SD-WAN系统可以能够从探测中确定更相关的QoE统计数据,诸如用于提供WAN保证。
根据本公开的技术,为了更好地确定诸如路由器10、服务器12、路由器14和服务器16的网络设备应当向服务器28A-28N中的哪些服务器发送探测分组,诸如数据中心30的服务器34的网络设备可以被配置为基于数据流的一个或多个特性确定数据流的质量对应用的QoE有意义。例如,路由器10可以对数据流执行深度分组检测以确定数据流的一个或多个特性。路由器10可以将特性存储在路由器10可以发送给服务器34的流表(flow table)中。例如,特性可以包括数据流的开始时间、数据流的结束时间和数据流的分类(例如,视频数据流)。
例如,如果应用是视频电话会议应用,则服务器34或路由器10可以确定数据流是视频数据流并且确定视频数据流的质量对于视频电话会议应用的QoE有意义。其质量可能对视频电话会议应用的QoE有意义的其他数据流的示例可以包括语音数据流、包括共享屏幕内容的数据流、聊天数据流等。
例如,服务器34可以收集通过客户边缘网络设备的各种数据流的统计数据。例如,路由器10、服务器12、路由器14和服务器16中的每一个都可以监控数据流并将与数据流相关的统计报告给服务器34。服务器34可以使用收集的统计数据来标识用于传输大数据流和/或实时数据流的路由。例如,大数据流和/或实时数据流可以与实时应用相关联,诸如互联网协议语音(VoIP)或视频应用,或者高QoE相对重要的应用(例如,有意义的流)。在一些示例中,服务器34可以确定直方图,包括使用特定数据路径的频率和有意义的数据流的数目。服务器34或给定的边缘网络设备(诸如路由器10)可以选择若干(例如,10个)最重要的数据路径供路由器10探测。
例如,服务器34或路由器10可以在每次特定应用(诸如SaaS应用)确定并存储与针对有意义的数据流执行应用的服务器相关联的网络地址。服务器34或路由器10网络设备可以针对应用的多次调用重复该技术,从而获得和存储与特定SaaS应用相关联的多个SaaS服务器的网络地址。例如,服务器34或路由器10可以获知分支机构4或路由器10可能与哪些SaaS服务器相关联。
在一些示例中,服务器34可以建立每个应用可以探测的网络地址和可以使用的特定探测协议的表58。在一些示例中,可以有多个表,每个表与位置、网络设备(例如,路由器10)或网络设备的接口端口相关联。服务器34可以分析相关联的信息并且确定每个应用应当探测哪些网络地址以及应当使用哪个探测协议。在一些示例中,不是服务器34执行这些技术,而是路由器10、服务器12、路由器14、服务器16、或者服务器34和路由器10、服务器12、路由器14或服务器16的组合可以执行这些技术。
在一些示例中,服务器34可以基于历史流使用统计数据以及每个流行应用最可能的目的地网络地址和探测协议来标识来自每个分支机构4、6和8或来自路由器10、服务器12、路由器14和服务器16中的每一个的(多个)最流行的应用。服务器34可以向路由器10、服务器12、路由器14和服务器16中的每一个发送消息,包括要探测哪些网络地址以及要使用哪个探测协议。这些消息对于每个网络设备可以是唯一的,因为例如来自路由器10的有意义的数据流与来自路由器14的有意义的数据流可以由服务器28A-28N中的不同服务器处理。备选地,服务器34可以向路由器10、服务器12、路由器14和服务器16中的每一个发送消息,包括网络地址的排名和与每个网络地址相关联的探测协议,在这种情况下,路由器10、服务器12、路由器14和服务器16可以基于路由器10、服务器12、路由器14和服务器16中的每一个的排名和有限探测分组预算来确定要探测哪些网络地址。以这种方式,本公开的技术可以用于通过从每站点或每设备的历史流事件中学习来动态确定针对应用的每个有意义的数据流的网络地址和探测协议,并且利用该确定来动态确定应当用有限数目的探测分组探测哪些网络数据路径。随着应用的底层使用改变,要使用探测分组监控的网络路径可能会动态改变,以提高监控最关键数据路径的机会。
在一些示例中,当少于预定数目(例如10个)的SaaS应用由特定位置(例如分支机构4)或者通过特定边缘网络设备(例如路由器10)或网络设备的接口端口调用时,边缘网络设备可以发送预定数目(例如,10个)的探测分组,以评估与应用相关联的有意义数据流的QoE。在一些示例中,边缘网络设备发送的探测分组的数目可能会随时间而变化。在一些示例中,SaaS应用的预定数目和探测分组的预定数目可以不同。当调用多于预定数目的SaaS应用时,边缘网络设备或服务器34可以使用启发启发(heuristics)来确定哪些路径对于进一步探测相对更重要。
探测管理网络设备(例如,服务器34)可以被配置为,响应于确定数据流的质量对应用的体验质量有意义,确定可用于探测服务器28A-28N中的可能与数据流相关联的服务器的网络地址和探测协议。例如,服务器34可以从路由器10发送的流表中读取服务器28A-28N中的一个服务器的网络地址。服务器34可以将具有特定探测协议的探测分组发送给具有该网络地址的服务器,例如服务器28A。例如,探测协议可以是HTTP、ICMP或任何其他特定于应用的协议。出于安全原因,许多服务器受到防火墙或其他可能阻止服务器响应探测的技术的保护,而免受拒绝服务或分布式拒绝服务攻击。如果服务器28A不响应利用特定探测协议的探测,则服务器34可以尝试利用不同的探测协议探测服务器28A。服务器34可以继续利用不同的探测协议探测服务器28A,直到服务器34接收到来自服务器28A的响应为止或者直到服务器34用尽不同的探测协议为止。
如果服务器28A确实对来自服务器34的探测分组做出响应,则服务器34可以将服务器28A的网络地址和用于从服务器28A引出响应的探测协议存储在存储器中。如果服务器28A没有响应来自服务器34的探测分组中的任何探测分组,则服务器34可以尝试从服务器28A附近的网络设备引出对探测分组的响应。服务器34可以继续发送具有不同探测协议的探测分组,直到网络设备对探测分组做出响应为止。当网络设备确实对探测分组做出响应时,服务器34可以存储该网络设备(例如路由器22)的网络地址和引出响应的探测的探测协议。
例如,服务器34可以确定到响应探测分组的服务器28A的最短距离内的网络设备(例如,路由器22)的网络地址。在一些情况下,服务器34可以基于数据流的个体目的地地址从大量可能的不同子网之中动态地推断托管SaaS应用会话的子网。例如,可以使用深度分组检测来标识数据流的个体目的地地址。例如,如果服务器34确定被观察为数据流的目的地地址并且不回复探测消息的服务器的网络地址是192.168.1.15、192.168.1.17和192.168.1.32,则探测管理网络设备可以尝试探测子网192.168.1.xx中的所有地址。例如,192.168.1.0可以是路由器22的网络地址,路由器22可以响应探测分组。以这种方式,具有网络地址192.168.1.0的网络设备可以说是响应探测的最接近服务器的网络设备。
在一些示例中,服务器34还可以将关于数据流的启发启发存储在存储器中。例如,服务器34可以存储数据流的开始时间和结束时间。以这种方式,服务器34可以获得关于特定类型的数据流何时可以更可能与特定网络设备相关联的信息。
在一些示例中,服务器34可以针对每个位置处的每个边缘网络设备或每个网络设备的每个接口端口执行这样的技术。例如,服务器34可以为路由器10、服务器12、路由器14和服务器16执行这些技术。例如,为了管理在给定的电话会议呼叫中所有人的表现,可能期望探测来自人们在电话会议呼叫中使用的每个边缘设备的有意义的数据流。因此,本公开的技术可以由探测管理网络设备用于每个边缘网络设备。在一些示例中,服务器34可以针对各自与SaaS网络相关联(诸如SaaS网络24)的多个应用执行这些技术。在一些示例中,服务器34可以针对给定的边缘网络设备(诸如路由器10)确定最常用的应用,并且基于使用对最常用的应用进行排名。对于最常用的应用中的每个最常用的应用,服务器34还可以确定用于有意义的数据流的最常用的服务器,并且基于最常用的应用和所确定的最常用的服务器对最常用的服务器进行排名。以这种方式,服务器34可以基于历史数据确定哪些服务器更有可能参与有意义的数据流。在一些示例中,服务器34可以采用机器学习或人工智能算法来预测哪些服务器更有可能参与有意义的数据流。在一些示例中,服务器34将结合启发启发,例如一天中的什么时间有意义的数据流可能被发送给特定的服务器。以这种方式,探测管理网络设备可以学习预测在一天中的特定时间和/或一周中的特定天,给定的有意义的数据流可以从特定边缘网络设备被路由到哪个特定服务器。通过成功地预测在一天中的特定时间和/或一周中的特定天特定数据流可以从特定边缘网络设备被路由到哪个服务器,特定边缘网络设备可以能够更好地探测特定数据流的实际数据路径,这可以支持更好地管理SD-WAN系统2的QoE。例如,通过监控探测器得到延迟、抖动和其他参数,SD-WAN系统2可以标识特定路由提供的QoE。
如本文所描述的,SD-WAN系统2中的元件(诸如路由器10)例如使用各种应用体验质量(QoE)度量功能(诸如实时性能监控(RPM)或双向主动测量协议(TWAMP))执行应用数据监控。即,RPM和TWAMP可以在SD-WAN系统2内用于测量网络性能的单向和双向或往返度量,诸如路径连接性、路径延迟、分组抖动、分组丢失、分组重新排序等,例如在网络设备(也称为主机或端点)之间的每订户的基础上。一般而言,QoE测量架构包括网络设备,每个网络设备都支持使用的协议并且执行特定角色来开始数据会话并交换针对数据会话的测试分组。在图1所示的示例网络架构中,路由器10被配置为执行QoE度量预测。路由器10允许进行跨连接负载共享,并且基于网络条件调整业务流以提高性能。
执行本文所描述的业务监控功能的路由器10也可以确定QoE度量以确定最佳路径,诸如包括往返时间(RTT)、抖动和分组丢失的服务水平协议(SLA)度量,这些度量受应用的实时参数(如分组大小、队列和分组突发)的影响。
尽管处理给定有意义的数据流的服务器具有动态性质,但应用可能具有针对其变化的服务器的模式,并且这些模式可以由本文描述的系统学习和解释。在本文描述的技术的一些实例中,服务器34被配置为预测服务器28A-28N中的哪个(哪些)服务器可能处理针对特定位置、边缘网络设备(诸如路由器10)或边缘网络设备的接口端口的有意义的流。在这样的实例中,服务器34可以通知路由器10这种可能性,并且路由器10可以基于这样的信息来将探测分组发送给服务器28A-28N(和/或另一SaaS网络)中的一个或多个特定服务器。以这种方式,与路由器10探测静态网络地址相比,路由器10更有可能探测有意义的数据流的数据路径。这可以导致路由器10更快地确定何时存在SLA违规,以便采取动作以确保特定应用的各种QoE度量的损失最小。
在一些示例中,QoE探测分组携带的度量可以包括以下一项或多项:用于发送或接收测试分组的时间戳、用于发送或接收测试分组的错误估计、用于发送测试分组的序列号、测试分组的生存时间(TTL)值、保活分组数据单元(PDU),和/或服务分组、字节或订户的计数。单向和双向网络性能测量可以包括保活或路径连接性、往返时间(RTT)、路径延迟、分组抖动、分组重新排序、分组丢失、服务时延测量、或者基于接收到的度量的服务负载测量。
服务器34可以周期性地向客户边缘网络设备(诸如路由器10)发送消息,该消息具有基于服务器34已经分析的历史信息的信息。例如,服务器34可以向路由器10发送消息,该消息包括最常用的应用(例如,最常用的SaaS应用)的排名,并且针对每个最常用的应用的每个有意义的数据流,包括针对相应最常用的应用的最常用的服务器的排名。该消息还可以包括响应于探测的与有意义的数据流相关联的每个确定的网络设备(例如,服务器28A或路由器22)的网络地址和探测协议。
在一些示例中,服务器34可以采用各种机器学习技术来确定哪些网络设备最有可能与给定的有意义的数据流相关联。机器学习可以指一组数学建模过程,这些数学建模过程允许计算机在没有被明确编程的情况下进行学习。例如,机器学习可以包括蒙特卡罗模拟风格的实验。相对于其他类型的建模算法,用于设备建模目的的机器学习可能需要大量具有大量熵(或换言之,随机性)的操作数据。为了创建准确的模型,机器学习可以采用真实世界的数据,但由于隐私和其他考虑,这些真实世界的数据通常很难收集。此外,机器学习可能需要来自大多数(如果不是所有)可用参数配置的数据。
例如,服务器34可以分析与有意义的流相关联的各种网络设备,以生成关于以下的模型:可以响应探测分组的哪些网络设备可能与在一天中的给定时间和/或在一周中的给定天的、特定应用的针对给定边缘网络设备(诸如路由器10)的有意义的流相关联。大量数据可以被馈送到服务器34中以创建初始模型,服务器34可以分析与有意义的流相关联的网络设备的大量示例。在接收到关于应用业务的进一步信息时,服务器34可以比较与训练到服务器34中的特定边缘网络设备(诸如路由器10)的有意义的流相关联的服务器或其他网络设备。基于进一步的信息和与训练到服务器34中的特定边缘网络设备的有意义的流相关联的网络设备比较如何,服务器34可以确定服务器34是否需要更新机器学习模型以及在何种程度上需要更新机器学习模型。服务器34可以一致地调整机器学习模型,以保持针对给定边缘网络设备的特定应用的业务的流路径中可能变化的最新记录。
类似地,服务器34还可以使用机器学习技术来生成在一天中的给定时间和/或一周中的天在给定位置(或通过给定边缘网络设备或边缘网络设备的给定接口端口)哪些应用可能最常被使用的模型。服务器34可以使用最常用的应用的历史数据来生成模型,并且可以基于从诸如路由器10的边缘网络设备随着时间接收到的进一步信息来更新模型。
根据本公开的技术,通过确定可用于探测第一网络设备(例如,服务器28A)的网络地址和探测协议、并且向在由应用服务的位置处的第二网络设备(例如,路由器10)发送指定可用于探测第一网络设备的网络地址和探测协议的消息,服务器34可以使得第二网络设备能够更高效地使用其资源。例如,第二网络设备可以使用更少的CPU处理能力或更少的带宽,因为第二网络设备不需要确定与数据流相关联的哪些网络设备响应探测或给定网络设备可以响应什么探测协议。此外,本公开的技术允许第二网络设备保持在探测分组预算内,这也可以减少第二网络设备以其他方式会使用的CPU处理能力或带宽的量,例如,如果它要探测与SaaS应用相关联的所有数据流的话。另外,本公开的技术可以利于第二网络设备探测与更频繁使用的SaaS应用的有意义的数据流相关联的更频繁使用的数据路径,而不是探测与所有SaaS应用相关联的所有数据路径。以这种方式,第二网络设备可以探测相对更重要的数据路径,而不探测相对不重要的数据路径,以便高效地利用其有限的探测资源,并且不使探测分组在所有路径上一直占用网络。第二网络设备接收到的响应可以用于确定哪些数据路径可以满足SLA要求以及哪些数据路径可能不满足SLA要求。对于将网络业务重新路由到确实满足SLA要求的数据路径、或者确定较差的QoE是由于SaaS网络24内的网络设备还是SaaS网络24外的网络设备造成的,该信息可以是有用的。相应地,本公开的技术使得诸如服务器34的网络设备能够确定QoE问题何时与诸如SaaS网络24的SaaS网络相关联。在没有本公开的技术的情况下,这可能难以确定或不可能确定,因为对SaaS网络中的网络设备的主动探测可能不是高效和可扩展的。
图2是图示根据本公开的技术的确定自适应应用特定探测技术的示例服务器的框图。服务器34包括存储设备50、处理电路装置52和通信电路装置54。
处理电路装置可以包括一个或多个通用或专用处理器,诸如微处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)或任何其他等效逻辑设备。相应地,如本文所用,术语“处理器”或“控制器”可以指前述结构中的任何一个或多个结构或者可操作以执行本文所述技术的任何其他结构。诸如应用探测模型56之类的可执行文件可以由处理电路装置52可操作以执行服务器34的各种动作、操作或功能。例如,服务器34的处理电路装置52可以取回和执行由存储设备50存储的指令,这些指令使处理电路装置52执行应用探测模型56的操作。
服务器34内的存储设备50可以存储用于在服务器34的操作期间处理的信息(例如,服务器34可以存储在服务器34处的执行期间由应用探测模型56访问的数据)。在一些示例中,存储设备50是临时存储器,意味着存储设备50的主要目的不是长期存储。服务器34的存储设备50可以被配置为作为易失性存储器的信息的短期存储装置,因此如果断电则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域已知的其他形式的易失性存储器。
在一些示例中,存储设备50还包括一个或多个计算机可读存储介质。在一些示例中,存储设备50包括一个或多个非瞬态计算机可读存储介质。存储设备50可以被配置为存储比通常由易失性存储器存储的信息量更大的信息。存储设备50还可以被配置为作为用于信息长期存储为非易失性存储器空间并在通电/断电循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。存储设备50可以存储与应用探测模型56相关联的程序指令和/或信息(例如,数据)。
通信电路装置54可以被配置为传输和接收来自其他网络设备(诸如路由器10)的消息。通信电路装置54可以将任何必要的协议用于此类通信。例如,通信电路装置54可以被配置为将各种协议的探测分组发送给服务器28A-28N、负载平衡器26、路由器22或其他网络设备,以尝试查找响应探测的服务器附近的服务器或网络设备。通信电路装置54还可以被配置为从诸如路由器10的边缘网络设备发送和接收消息。
根据本文描述的技术,服务器34的处理电路装置52执行应用探测模型56并在每设备、每应用的基础上动态地调整探测方案。在一些示例中,服务器34的通信电路装置54可以从诸如路由器10之类的边缘网络设备接收消息,包括流表,该流表具有开始时间、结束时间、数据流的分类以及与数据流相关联的服务器的网络地址。基于这些消息,处理电路装置52可以更新应用探测模型56,并将应用探测模型56存储在存储器中。
在一些示例中,服务器34可以实现网络管理系统。在这种示例中,服务器34可以负责管理网络设备,诸如路由器10。例如,服务器34可以观察、收集和/或接收事件数据,其可以采取从消息、计数器和统计数据中提取的数据的形式,例如从诸如路由器10的边缘网络设备中提取的数据。例如,路由器10可以向服务器34发送消息,该消息包括关于路由器10可以接收以发送的探测分组的响应的度量。
在这种实例中,服务器34可以包括虚拟网络助手/人工智能引擎60(VNA/AI)。VNA/AI引擎60可以分析从边缘网络设备(诸如路由器10)接收到的数据,以及它自己的数据,以标识SD-WAN系统2何时遇到不希望的异常状态。例如,VNA/AI引擎60可以使用根本原因分析模块62来标识任何不期望或异常状态的根本原因。在一些示例中,根本原因分析模块62利用基于人工智能的技术来帮助标识SD-WAN系统2中任何(多个)不良服务水平体验(SLE)度量的根本原因。另外,VNA/AI引擎60可以自动调用一个或多个纠正动作,该一个或多个纠正动作旨在解决一个或多个不良SLE度量的所标识的(多个)根本原因。VNA/AI引擎60可以自动调用的纠正动作的示例可以包括但不限于调用API以重新启动一个或多个网络设备。纠正动作还可以包括重启交换机和/或路由器,调用将新软件下载到网络设备、交换机或路由器等。给出这些纠正动作仅用于示例目的,并且本公开在这方面不受限制。如果自动纠正动作不可用或没有充分解决根本原因,则VNA/AI引擎60可以主动提供通知,包括由IT人员为解决网络错误而采取的建议纠正动作。
在一些示例中,VNA/AI引擎60的主动分析和关联引擎(PACE)64可以动态地构建、训练、应用和重新训练用于事件数据(SLE度量316)的(多个)无监督ML模型66,以确定所收集的网络事件数据是否表示需要由VNA/AI引擎60的根本原因分析模块62进一步分析的异常行为,以促进故障的标识和解决。
然后,PACE 64可以将ML模型应用于各种网络事件类型的新收集数据的数据流和/或日志(例如,统计数据、消息、SLE度量等,这里称为事件类型的“PACE”事件数据),以检测当前观察到的具有传入数据的流的网络事件数据是否指示系统的正常操作,或者传入的网络事件数据是否指示与需要缓解的故障网络相对应的非典型系统行为事件或趋势。
当PACE 64将ML模型66应用于网络事件数据指示需要缓解时,服务器34可以调用VNA/AI引擎60的更复杂的根本原因网络分析组件来标识异常系统行为的根本原因,并且如果可能的话,触发自动或半自动的纠正动作。以这种方式,PACE 64可以基于部署PACE 64的特定复杂网络来构建和应用ML模型,以确定是否对从复杂网络系统内的元素(例如,实时)收集的网络事件数据的传入流执行进一步的资源密集型分析。通过收集与边缘网络设备(诸如路由器10)接收到的探测分组的响应相关的数据,并分析这些数据,服务器34可以确定订户设备可能正在经历的QoE问题是由SaaS网络24引起的,还是该QoE问题是由SaaS网络24之外的网络设备引起的。如果该问题是由SaaS网络24引起的,则服务器34可以向SaaS网络24的操作方提供通知,告知他们SaaS网络24的问题。如果该问题是由SaaS网络24之外的网络设备引起的,则服务器34(当实现网络管理系统时)可以重新路由有意义的数据流以提高SaaS应用的QoE。
在以下文献中描述了可以由服务器34执行的根本原因分析和自动校正技术的进一步示例细节:于2021年4月20日提交的标题为“VIRTUAL NETWORK ASSISTANT HAVINGPROACTIVE ANALYTICS AND CORRELATION ENGINE USING UNSUPERVISED ML MODEL”的美国专利申请号17/303,222,其全部内容通过引用并入本文。
在以下文献中描述了具有可以由服务器34采用的方面的示例故障检测系统:于2021年3月23日发布的标题为“METHODS AND APPARATUS FOR FACILITATING FAULTDETECTION AND/OR PREDICTIVE FAULT DETECTION”的美国专利号10,958,585;于2017年11月28日发布的标题为“MONITORING WIRELESS ACCESS POINT EVENTS”的美国专利号9,832,082;于2021年3月23日发布的标题为“METHOD FOR SPATIO-TEMPORAL MONITORING”的美国专利号10,958,537;以及于2021年4月20日发布的标题为“SYSTEMS AND METHODS FOR AVIRTUAL NETWORK ASSISTANT”的美国专利号10,985,969,上述文献中的每一个的全部内容通过引用并入本文。
在一些示例中,处理电路装置52可以包括VNA/AI引擎60。处理电路装置52可以基于与应用相关联的数据流的一个或多个特性来确定数据流的质量对于应用的体验质量是有意义的(例如,是有意义的流)。例如,处理电路装置52可以例如通过从来自路由器10的消息中读取流表来确定数据流是与在服务器28A-28N上执行的应用相关联的视频数据流。响应于确定数据流的质量对应用的体验质量有意义,处理电路装置52可以确定可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议。第一网络设备可以是响应于探测的服务器(诸如服务器28A)、或者是(如上文所定义的)响应于探测的与服务器最接近的网络设备(诸如路由器22)、服务器针对数据流执行应用。通信电路装置54可以向在由应用服务的位置(诸如分支机构4)处的第二网络设备(诸如路由器10)发送指定可用于探测第一网络设备的网络地址和探测协议的消息。
处理电路装置52可以确定与数据流相关联的启发。启发可以包括与数据流相关联的开始时间和与数据流相关联的结束时间。在一些示例中,启发可以包括与数据流相关联的一周中的一天。例如,处理电路装置52可以读取来自路由器10的消息中的流表,以确定与数据流相关联的开始时间、与数据流相关联的结束时间、或者与数据流相关联的一周中的一天。
在一些示例中,数据流是多个数据流中的一个数据流,并且应用是多个应用中的一个应用。在这种情况下,处理电路装置52可以确定多个应用中最常用的应用。处理电路装置52可以基于使用(例如,在给定位置、通过诸如路由器10的给定边缘网络设备或通过边缘网络设备的给定接口端口的使用)对最常用的应用进行排名。处理电路装置52可以确定执行与第二网络设备(例如,路由器10)相关联的多个数据流中的一个数据流的最常用的服务器。处理电路装置52还可以基于最常用的应用的排名和最常用的服务器的确定来对最常用的服务器进行排名。在一些示例中,第一网络设备(例如,服务器28A)是多个第一网络设备(例如,服务器28A-28N、负载平衡器26、路由器22等)中的一个第一网络设备。通信电路装置54可以向第二网络设备发送消息。在一些示例中,该消息包括最常用的应用的排名,以及针对最常用的应用的多个数据流中的每个数据流,包括针对多个数据流中的相应数据流的最常用的服务器的排名。在一些示例中,最常用的服务器的排名包括最常用的服务器的多个排名,其中多个排名中的每一个与一天中的不同时间或一周中的不同天相关联。
该消息还可以包括用于多个第一网络设备中的每个相应第一网络设备的网络地址和探测协议。在一些示例中,该消息可以包括第二网络设备应当探测的网络地址和探测协议的列表。在一些示例中,通信电路装置54可以周期性地发送消息。例如,通信电路装置54可以根据诸如每天、每周等的计划来发送消息。
虽然已经关于服务器34讨论了本公开的若干技术,但是在一些示例中,这些技术可以由其他网络设备或网络设备的组合来执行。例如,这些技术可以由路由器32、另一路由器或另一服务器来执行。
图3是图示根据本公开的技术的被配置为执行一种或多种自适应应用特定探测技术的示例网络设备的框图。虽然网络设备可以是被配置为执行本文描述的技术的任何网络设备,但网络设备可以是图1的服务器34、路由器10、服务器12、路由器14、服务器16或路由器32的示例。此外,尽管针对特定网络设备(例如路由器)进行了描述,但这些技术可以由可以作为SD-WAN设备操作的任何网络设备实现,诸如客户端设备、层3(L3)或L2/L3交换机或服务器。
在该示例中,网络设备80被划分为三个逻辑或物理“平面”以包括对设备执行控制操作的控制平面81、用于转发中转网络业务的数据平面85、以及用于应用一个或多个网络服务87来中传由路由器转发的分组流的服务平面83。即,网络设备80实现三个单独的功能性(例如,路由/控制、转发数据和网络服务功能性),通过逻辑的方式,例如作为在同一组硬件组件上执行的单独软件实例,或通过物理的方式,例如作为单独的物理专用硬件组件,其在硬件中静态实现功能性,或者动态执行软件或计算机程序来实现功能性。在该示例中,高速内部交换结构105耦合控制平面81、服务平面83和数据平面85以在单元之间传递数据单元和控制消息。交换结构105可以表示内部交换结构或交叉开关、总线或链路。
在图3的示例中,控制平面81包括具有(多个)主微处理器102的控制单元82,其执行网络设备80的设备管理服务、订户认证和控制平面路由功能性。微处理器102可以包括一个或多个通用或专用处理器,诸如数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)或任何其他等效逻辑设备。相应地,如本文所用,术语“处理器”或“控制器”可以指前述结构中的任何一个或多个结构或者可操作以执行本文所述技术的任何其他结构。诸如业务引擎110和服务131之类的可执行文件可以由微处理器102可操作以执行网络设备80的各种动作、操作或功能。例如,网络设备80的微处理器102可以取回和执行由各种数据库存储的指令,这些指令使微处理器102执行业务引擎110和服务131的操作。
网络设备80内的一个或多个存储组件(例如,RIB 104)可以存储用于在网络设备80操作期间处理的信息(例如,网络设备80可以存储在网络设备80处的执行期间由业务引擎110和服务131访问的数据)。在一些示例中,存储组件是临时存储器,意味着存储组件的主要用途不是长期存储。网络设备80上的存储组件可以被配置为用于信息短期存储的易失性存储器,因此如果断电则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件还包括一个或多个计算机可读存储介质。在一些示例中,存储组件包括一个或多个非瞬态计算机可读存储介质。存储组件可以被配置为存储比通常由易失性存储器存储的信息量更大的信息。存储组件还可以被配置用于信息长期存储的非易失性存储器空间并在通电/断电循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。存储组件可以存储与业务引擎110和服务131相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括被配置为存储与业务引擎110和服务131相关联的数据或其他信息的存储器。
一般而言,控制单元82表示实现控制平面协议89A-89N(“路由协议89”)以学习和维护路由信息库104(“RIB 104”)内的路由信息的硬件或控制的硬件和软件的组合。RIB104可以包括定义网络拓扑的信息,诸如图1的服务提供方网络。路由协议89与在控制单元82上执行的内核100交互(例如,通过API调用)以基于网络设备80接收的路由协议消息更新RIB 104。内核100可以解析由RIB 104中的路由信息定义的拓扑,以选择或确定通过网络的一个或多个路由。例如,内核可以基于RIB 104中表示的网络拓扑生成转发信息库103A-103N(“FIB 103”)形式的转发信息,即执行路由解析。典型地,内核100以基数(radix)树或其他查找树的形式生成FIB 103以将分组信息(例如,具有目的地信息和/或标签堆栈的报头信息)映射到下一跳,并最终映射到与相应转发单元112相关联的IFC 114的接口端口。例如,FIB 103中的每个FIB 103可以将网络目的地与特定的下一跳和对应的IFC 114相关联。针对与MPLS相关的业务转发,FIB 103存储针对给定FEC的标签信息,该标签信息包括分组的传入标签、传出标签和下一跳。然后,控制单元82可以用FIB 103对数据平面85的转发单元112进行编程,这将FIB安装在查找ASIC 106内。
在该示例中,数据平面85是去中心化的数据平面,因为数据平面功能性和分组转发功能性分布在多个转发单元112A-112N(“转发单元112”)之中。在网络设备80的示例中,数据平面85包括转发单元112,其提供由接口卡114A-114N(“IFC 44”)经由入站链路116A-116N接收的网络业务到出站链路118A-118N的高速转发。转发单元112可以各自包括耦合到相应的接口卡114的一个或多个分组转发引擎(“PFE”),并且可以例如表示密集端口集中器(DPC)、模块化端口集中器(MPC)、灵活物理接口卡(PIC)集中器(FPC)或者例如可插入网络设备80的机箱或机箱组合内的另一线卡。
如图3中的示例所示,转发单元112中的每个转发单元包括查找ASIC 106A-106N(“查找ASIC 106”)中的相应查找ASIC,该查找ASIC经由IFC卡114接收控制和数据会话业务、执行路由查找、并且基于安装到FIB 103的路由来将业务转发给控制单元82(控制以网络设备80为目的地的业务)或者转发单元40中的一个转发单元40(中转数据业务),以经由接口输出到输出链路48之一。在一个示例中,查找ASIC 106是由在转发单元112中的每个转发单元上执行的从属微处理器(未示出)可编程地配置的微码控制的芯片组。具体而言,在该示例中,ASIC 106中的每个ASIC可以是由属微处理器所编程的内部微码可控制的。
当转发分组时,每个查找ASIC 106内的控制逻辑穿过相应的FIB103,并且在到达分组的FIB条目(例如,叶节点)时,微码实现的控制逻辑会自动选择一个或多个转发下一跳(FNH)来转发分组。以这种方式,当分组穿过网络设备80的内部架构时,转发单元112的ASIC106通过在相应的内部分组转发路径上对每个分组执行一系列操作来处理分组。例如,可以基于以下中的任何一项对每个分组执行操作:对应的入口接口、IFC卡114的入口PFE、IFC卡114的出口PFE、网络设备80的出口接口或在出口之前分组被定向到的其他组件(诸如一个或多个服务卡)。转发单元112中各自包括转发结构,该转发结构在被执行时检查每个分组的内容(或另一分组属性,例如传入接口),并在此基础上例如做出转发决策、应用过滤器和/或执行记帐、管理、业务分析和负载平衡等。
在一个示例中,转发单元112中的每个转发单元将转发结构安排为下一跳数据,该下一跳数据可以作为沿着网络设备的内部分组转发路径的一系列“跳”链接在一起。在许多实例中,转发结构在ASIC 106的内部存储器内执行查找操作,其中可以针对树(或trie(特里结构))搜索、表(或索引)搜索执行查找。可以用下一跳指定的其他示例操作包括过滤器确定和应用,或速率限制器确定和应用。查找操作在查找数据结构(例如查找树)内定位与分组内容或者分组或分组流的另一属性(诸如分组的入站接口)匹配的项。根据由ASIC 106内的下一跳转发结构定义的操作的分组处理结果确定分组从其在IFC 114之一上的输入接口到其在IFC 114之一上的输出接口由转发单元112转发或以其他方式处理的方式。
查找ASIC 106可以使用转发专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或分立逻辑电路以及这些组件的任何组合来实现。转发单元112中的每个转发单元可以包括基本相似的组件以执行基本相似的功能性。
网络设备80的服务平面83包括多个服务单元113A-113K(“服务单元13”),作为示例,这些服务单元可以是可移除的服务卡,其被配置为将网络服务应用于流经数据平面85的分组。即,当转发分组时,转发单元112可以将分组引导到服务平面83以供服务单元113应用一个或多个网络服务131。在该示例中,服务单元113中的每个服务单元包括微处理器127,微处理器127被配置为执行管理程序129以为多个网络服务131提供操作环境。作为示例,服务单元113可以应用防火墙和安全服务、运营商级网络地址转换(CG-NAT)、媒体优化(语音/视频)、IPSec/VPN服务、深度分组检测(DPI)、HTTP过滤、计数、记帐、计费、以及应用于网络业务的分组流或其他类型的服务的负载平衡。例如,服务131中的每个服务131可以被实现为由管理程序129和微处理器127执行的虚拟机或容器。
在图3的示例中,控制单元82为业务引擎110提供操作环境。在一些示例中,控制单元82可以使用业务引擎110来执行一个或多个TWAMP或RPM逻辑角色,诸如控制客户端、服务器、会话发送器和会话反射器。在一些示例中,业务引擎110可以对数据流执行深度分组检测以确定数据流的开始时间、停止时间和数据流的分类(例如视频数据流)。
数据流的特性之一可以是数据流的类型或分类。在网络设备80表示诸如路由器10的边缘网络设备的示例中,业务引擎110可以对数据流执行深度分组检测以确定哪些数据流是有意义的数据流。在一些示例中,网络设备80可以存储与每个有意义的流相关联的开始时间、结束时间和服务器的网络地址。网络设备80可以向服务器34(图1)发送包括流表的消息,该流表包括与每个有意义的流相关联的开始时间、结束时间和服务器的网络地址。
根据本公开的技术,网络设备80可以从探测管理网络设备(例如,图1的服务器34)接收消息。在一些示例中,该消息可以包括最常用的应用的排名。针对最常用的应用中的每个最常用的应用,该消息可以包括针对相应最常用的应用的最常用的服务器的排名、以及针对相应最常用的应用的多个网络设备中的每个网络设备的相应网络地址和相应探测协议。例如,主微处理器102可以将来自消息的信息存储在应用探测模型94中。在一些示例中,应用探测模型94还可以包括探测分组预算。探测分组预算可以是静态的预定数目,或者可以基于主微处理器102的可用带宽或可用处理能力随时间改变。探测分组预算可以由以下项表示:要被发送的探测分组的数目、在预定时间段内要被发送的探测分组的数目、用于发送探测分组和处理对探测分组的响应的处理能力、用于在预定时间段内发送探测分组和处理对探测分组的响应的处理能力、要被探测的有意义的数据流的数目、随着时间的推移要被探测的有意义的数据流的数目、用于在预定时间段内发送探测分组和接收对探测分组的响应的带宽等。网络设备80可以将探测分组预算存储在应用探测模型94中。网络设备80还可以实现跟踪探测分组预算的方式以及应用探测模型94中探测分组预算的使用。例如,网络设备80可以包括计数器,每当网络设备80发送探测分组或接收响应或者每次网络设备80探测不同的有意义的数据流时,计数器就会递增或递减。在另一示例中,网络设备80可以跟踪与发送探测分组和接收或处理对探测分组的响应相关联的所使用的带宽或所使用的处理能力。以这种方式,网络设备80可以发送探测分组并保持在其探测分组预算内。
网络设备80可以基于最常用的应用的排名、最常用的服务器的排名、以及探测分组预算来确定可以被存储在应用探测模型中的多个网络设备的子集。所确定的多个网络设备的子集包括网络设备80将要向其发送探测分组以使得业务引擎110不会超过探测分组预算的那些网络设备。业务引擎110可以基于相应的网络地址和相应的探测协议向多个网络设备的子集中的每个网络设备发送带外探测分组。多个网络设备中的每个网络设备可以是响应于探测的服务器(诸如图1的服务器28A),服务器针对相应数据流执行应用,或者是响应于探测的与服务器最接近的网络设备(如上文所定义),诸如路由器22。
图4是图示根据本公开的技术的用于确定自适应应用特定探测方案的示例技术的流程图。示例操作可以由诸如服务器34的探测管理网络设备、诸如路由器10的边缘网络设备、或探测管理网络设备和边缘网络设备的组合来执行。
根据本文描述的技术,服务器34可以响应于基于与应用相关联的数据流的一个或多个特性确定数据流的质量对于应用的QoE有意义(300)而采取图4的其余部分中阐述的动作。例如,服务器34可以基于数据流是视频数据流来确定数据流的质量对于应用的QoE有意义。
服务器34可以确定可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议,其中第一网络设备包括响应于探测的服务器(例如服务器28A),服务器针对数据流执行应用,或者响应于探测的与服务器最接近的网络设备(如上文所定义的),例如路由器22(302)。例如,服务器34可以尝试向服务器28A-28N中的服务器发送具有第一探测协议的探测分组。如果服务器响应探测,则服务器34可以将响应服务器的网络地址和用于引出响应的探测协议存储在存储器中。如果服务器没有响应,则服务器34可以发送具有不同探测协议的探测分组。服务器34可以继续尝试使用不同的探测协议来引出对探测的响应,直到它用尽了服务器34能够利用的每个探测协议为止。如果服务器对使用任何探测协议的探测没有响应,则服务器34可以尝试探测附近的网络设备以尝试从该网络设备引出响应。服务器34可以继续使用不同的探测协议和不同的网络地址,直到服务器34已经成功地从诸如路由器22的网络设备引出对探测的响应为止。
服务器34可以向在由应用服务的位置处的第二网络设备(例如路由器10)发送消息,该消息指定可用于探测第一网络设备的网络地址和探测协议(304)。例如,服务器34可以发送消息,该消息指示路由器10应当利用路由器10的有限探测预算探测哪个网络地址和哪些协议。如果服务器34没有成功地使用任何探测协议从任何网络设备引出对探测的响应,则在一些示例中,服务器34可以向第二网络设备发送消息,该消息指示探测应用的有意义的流当前不可能。在其他一些示例中,在这种情况下,服务器34可以不向第二网络设备发送消息。在一些示例中,在这种情况下,服务器34可以停止尝试从任何网络设备引出对探测分组的响应。在其他一些示例中,服务器34可以在稍后开始尝试再次引出对探测分组的响应的过程。
在一些示例中,服务器34可以确定与数据流相关联的启发。在一些示例中,启发包括与数据流相关联的开始时间和与数据流相关联的结束时间。例如,路由器10可以监控有意义的流的开始时间和停止时间,并向服务器34发送包括开始时间和停止时间的消息。服务器34可以读取消息作为确定启发的一部分。
在一些示例中,数据流是多个数据流中的一个数据流,并且应用是多个应用中的一个数据流。在这样的示例中,服务器34可以确定多个应用中最常用的应用。在一些示例中,服务器34可以基于例如在给定位置的订户设备、与特定边缘网络设备(诸如路由器10)相关联、或与边缘网络设备的特定端口相关联的使用来对最常用的应用进行排名。
在一些示例中,服务器34确定执行与第二网络设备相关联的多个数据流中的一个数据流的最常用的服务器。在一些示例中,服务器34基于最常用的应用的排名和最常用的服务器的确定来对最常用的服务器进行排名。
在一些示例中,第一网络设备是多个第一网络设备中的一个网络设备,并且服务器34向第二网络设备发送消息,该消息包括:最常用的应用的排名;以及,针对最常用的应用的多个数据流中的每个数据流,针对该多个数据流中的相应数据流的最常用的服务器的排名;以及针对多个第一网络设备中的每个相应第一网络设备的网络地址和探测协议。在一些示例中,最常用的服务器的排名包括最常用的服务器的多个排名,其中多个排名中的每个排名与一天中的不同时间和/或一周中的不同天相关联。在一些示例中,消息周期性地被发送。例如,可以根据诸如每天、每周等的计划来发送消息。
在一些示例中,路由器10向第一网络设备发送带外探测分组。在一些示例中,路由器10接收对带外探测分组的响应。在一些示例中,路由器10基于响应来确定体验质量。
在一些示例中,路由器10对数据流执行深度分组检测以确定数据流的一个或多个特性。
在一些示例中,一种网络设备,包括被配置为存储指示探测分组预算的数据的存储器和被通信地耦合到存储器的一个或多个处理器。该一个或多个处理器可以被配置为从探测管理网络设备接收消息,该消息包括最常用的应用的排名。针对最常用的应用中的每个最常用的应用,该消息可以包括针对相应最常用的应用的最常用的服务器的排名、以及用于针对相应最常用的应用的多个网络设备中的每个网络设备的相应网络地址和相应探测协议。该一个或多个处理器可以被配置为:基于最常用的应用的排名、最常用的服务器的排名、以及探测分组预算,确定多个网络设备的子集,以及基于相应网络地址和相应探测协议,向多个网络设备的子集中的每个网络设备发送带外探测分组。多个网络设备中的每个网络设备可以是响应于探测的服务器,服务器针对相应数据流执行应用,或者是响应于探测的与服务器最接近的网络设备。
在一些示例中,该一个或多个处理器还被配置为针对每个被发送的带外探测分组,从多个网络设备的子集中的相应网络设备接收相应的响应,以及基于相应的响应确定相应的体验质量。在一些示例中,该一个或多个处理器还被配置为基于所确定的相应体验质量向探测管理网络设备发送体验质量消息。体验质量消息可以包括与对由网络设备接收的探测分组的响应相关联的信息。
本文描述的技术可以在硬件、软件、固件或其任何组合中实现。描述为模块、单元或组件的各种特征可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备或其他硬件设备单独实现。在一些情况下,电子电路装置的各种特征可以被实现为一个或多个集成电路设备,诸如集成电路芯片或芯片组。
如果以硬件实现,则本公开可以涉及诸如处理器或诸如集成电路芯片或芯片组之类的集成电路设备的装置。备选地或附加地,如果以软件或固件实现,则这些技术可以至少部分地通过计算机可读数据存储介质来实现,计算机可读数据存储介质包括指令,该指令在被执行时使处理器执行上述方法中的一种或多种方法。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,其可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以指示存储介质不包含在载波或传播信号中。在某些示例中,非瞬态存储介质可以存储可以随时间改变的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由处理电路装置执行的软件和/或固件,该处理电路装置包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或其他等效的集成或分立逻辑电路。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所述技术的任何其他结构。此外,在一些方面,本公开中描述的功能性可以在软件模块或硬件模块内提供。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (20)
1.一种方法,包括:
响应于由探测管理网络设备基于与应用相关联的数据流的一个或多个特性确定所述数据流的质量对所述应用的体验质量有意义:
由所述探测管理网络设备确定可用于探测与所述应用的源相关联的第一网络设备的网络地址和探测协议,其中所述第一网络设备包括响应于所述探测的服务器、或者响应于所述探测的与所述服务器最接近的网络设备,所述服务器针对所述数据流执行所述应用;以及
由所述探测管理网络设备向在由所述应用服务的位置处的第二网络设备发送消息,所述消息指定可用于探测所述第一网络设备的所述网络地址和探测协议。
2.根据权利要求1所述的方法,还包括:
确定与所述数据流相关联的启发。
3.根据权利要求2所述的方法,其中所述启发包括与所述数据流相关联的开始时间和与所述数据流相关联的结束时间。
4.根据权利要求1-3中任一项所述的方法,其中所述数据流是多个数据流中的一个数据流,并且所述应用是多个应用中的一个应用,并且其中所述方法还包括:
由所述探测管理网络设备确定所述多个应用中的最常用的应用;
由所述探测管理网络设备基于使用来对所述最常用的应用进行排名;
由所述探测管理网络设备确定执行与所述第二网络设备相关联的所述多个数据流中的一个数据流的最常用的服务器;以及
由所述探测管理网络设备基于所述最常用的应用的所述排名和对所述最常用的服务器的所述确定来对所述最常用的服务器进行排名。
5.根据权利要求4所述的方法,其中所述第一网络设备是多个第一网络设备中的一个第一网络设备,所述方法还包括:
由所述探测管理网络设备向所述第二网络设备发送消息,所述消息包括:
所述最常用的应用的所述排名;以及
针对所述最常用的应用的所述多个数据流中的每个数据流,针对所述多个数据流中的相应数据流的所述最常用的服务器的所述排名;以及
针对所述多个第一网络设备中的每个相应第一网络设备的所述网络地址和探测协议。
6.根据权利要求5所述的方法,其中所述最常用的服务器的所述排名包括所述最常用的服务器的多个排名,其中所述多个排名中的每个排名与一天中的不同时间或一周中的不同天相关联。
7.根据权利要求6所述的方法,其中所述消息周期性地被发送。
8.根据权利要求1-3中任一项所述的方法,还包括:
由所述第二网络设备向所述第一网络设备发送带外探测分组;
由所述第二网络设备接收对所述带外探测分组的响应;以及
由所述第二网络设备基于所述响应来确定体验质量。
9.根据权利要求1-3中任一项所述的方法,还包括:
由所述第二网络设备执行所述数据流的深度分组检测以确定所述数据流的所述一个或多个特性。
10.一种探测管理网络设备,包括:
存储器,被配置为存储可用于探测与应用的源相关联的第一网络设备的网络地址和探测协议;以及
一个或多个处理器,被通信地耦合到所述存储器并且被配置为:
响应于基于与应用相关联的数据流的一个或多个特性确定所述数据流的质量对所述应用的体验质量有意义:
确定可用于探测所述第一网络设备的网络地址和探测协议,其中所述第一网络设备包括响应于所述探测的服务器、或者响应于所述探测的与所述服务器最接近的网络设备,所述服务器针对所述数据流执行所述应用;以及
向在由所述应用服务的位置处的第二网络设备发送消息,所述消息指定可用于探测所述第一网络设备的所述网络地址和探测协议。
11.根据权利要求10所述的探测管理网络设备,其中所述一个或多个处理器还被配置为:
确定与所述数据流相关联的启发。
12.根据权利要求11所述的探测管理网络设备,其中所述启发包括与所述数据流相关联的开始时间和与所述数据流相关联的结束时间。
13.根据权利要求10-12中任一项所述的探测管理网络设备,其中所述数据流是多个数据流中的一个数据流,并且所述应用是多个应用中的一个应用,并且其中所述一个或多个处理器还被配置为:
确定所述多个应用中的最常用的应用;
基于使用来对所述最常用的应用进行排名;
确定由所述第二网络设备执行所述多个数据流中的一个数据流的最常用的服务器;以及
基于所述最常用的应用的所述排名和所述最常用的服务器来对所述最常用的服务器进行排名。
14.根据权利要求13所述的探测管理网络设备,其中所述第一网络设备是多个第一网络设备中的一个第一网络设备,并且其中所述一个或多个处理器还被配置为:
向所述第二网络设备发送消息,所述消息包括:
所述最常用的应用的所述排名;以及
针对所述最常用的应用的所述多个数据流中的每个数据流,针对所述多个数据流中的相应数据流的所述最常用的服务器的所述排名;以及
针对所述多个第一网络设备中的每个相应第一网络设备的所述网络地址和探测协议。
15.根据权利要求14所述的探测管理网络设备,其中所述最常用的服务器的所述排名包括所述最常用的服务器的多个排名,其中所述多个排名中的每个排名与一天中的不同时间或一周中的不同天相关联。
16.根据权利要求15所述的探测管理网络设备,其中所述消息周期性地被发送。
17.根据权利要求10-12中任一项所述的探测管理网络设备,其中作为确定所述数据流的所述一个或多个特性的一部分,所述一个或多个处理器被配置为执行所述数据流的深度分组检测。
18.一种网络设备,包括:
存储器,被配置为存储指示探测分组预算的数据;以及
一个或多个处理器,被通信地耦合到所述存储器并且被配置为:
从探测管理网络设备接收消息,所述消息包括:
最常用的应用的排名;以及
针对所述最常用的应用中的每个最常用的应用,
针对相应最常用的应用的最常用的服务器的排名;以及
用于针对所述相应最常用的应用的多个网络设备中的每个网络设备的相应网络地址和相应探测协议;
基于所述最常用的应用的所述排名、所述最常用的服务器的所述排名、以及所述探测分组预算,确定所述多个网络设备的子集;以及
基于所述相应网络地址和所述相应探测协议,向所述多个网络设备的所述子集中的每个网络设备发送带外探测分组,
其中所述多个网络设备中的每个网络设备包括响应于探测的服务器、或者响应于所述探测的与所述服务器最接近的网络设备,所述服务器针对相应数据流执行所述应用。
19.根据权利要求18所述的网络设备,其中所述一个或多个处理器还被配置为:
针对每个被发送的带外探测分组,
从所述多个网络设备的所述子集中的相应的一个网络设备接收相应响应;以及
基于所述相应响应来确定相应体验质量。
20.根据权利要求19所述的网络设备,其中所述一个或多个处理器还被配置为:
基于所确定的所述相应体验质量向所述探测管理网络设备发送体验质量消息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/377,078 US11811638B2 (en) | 2021-07-15 | 2021-07-15 | Adaptable software defined wide area network application-specific probing |
US17/377,078 | 2021-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115622931A true CN115622931A (zh) | 2023-01-17 |
Family
ID=82458669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210828249.6A Pending CN115622931A (zh) | 2021-07-15 | 2022-07-13 | 自适应软件定义的广域网应用特定探测 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11811638B2 (zh) |
EP (1) | EP4120654A1 (zh) |
CN (1) | CN115622931A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11956142B2 (en) * | 2021-08-19 | 2024-04-09 | Versa Networks, Inc. | Path selection for data traffic within a software-defined wide area network using traffic metrics |
US11533246B1 (en) * | 2021-10-04 | 2022-12-20 | At&T Intellectual Property I, L.P. | Network probe placement optimization |
US20230318977A1 (en) * | 2022-04-04 | 2023-10-05 | Cisco Technology, Inc. | Predictive application-aware load-balancing based on failure uncertainty |
US20230388210A1 (en) * | 2022-05-25 | 2023-11-30 | Ennetix Inc. | Methods and apparatus for adaptive and holistic network measurements |
US20240113967A1 (en) * | 2022-09-29 | 2024-04-04 | Cisco Technology, Inc. | Application Path Selection for Cloud-Based Applications from a Client Device |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023934A1 (en) | 2000-09-15 | 2002-03-21 | Mspect, Inc. | Wireless network monitoring |
US20020069263A1 (en) * | 2000-10-13 | 2002-06-06 | Mark Sears | Wireless java technology |
US20030161265A1 (en) | 2002-02-25 | 2003-08-28 | Jingjun Cao | System for end user monitoring of network service conditions across heterogeneous networks |
US6941179B2 (en) * | 2002-04-04 | 2005-09-06 | Matsushita Electric Industrial Co., Ltd. | Device control system, network constructed by the system, and program executed on device constructing the system |
US7260645B2 (en) * | 2002-04-26 | 2007-08-21 | Proficient Networks, Inc. | Methods, apparatuses and systems facilitating determination of network path metrics |
US7483379B2 (en) * | 2002-05-17 | 2009-01-27 | Alcatel Lucent | Passive network monitoring system |
US8176186B2 (en) * | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
US7454610B2 (en) * | 2002-12-31 | 2008-11-18 | Broadcom Corporation | Security association updates in a packet load-balanced system |
US8161145B2 (en) * | 2003-02-27 | 2012-04-17 | International Business Machines Corporation | Method for managing of denial of service attacks using bandwidth allocation technology |
US7760663B2 (en) * | 2004-04-19 | 2010-07-20 | Jds Uniphase Corporation | Packet tracing using dynamic packet filters |
US8072901B1 (en) * | 2005-05-09 | 2011-12-06 | Cisco Technology, Inc. | Technique for efficient probing to verify policy conformance |
US7945678B1 (en) * | 2005-08-05 | 2011-05-17 | F5 Networks, Inc. | Link load balancer that controls a path for a client to connect to a resource |
US8311048B2 (en) * | 2008-05-09 | 2012-11-13 | Roundbox, Inc. | Datacasting system with intermittent listener capability |
EP1992111A2 (fr) * | 2006-02-28 | 2008-11-19 | France Telecom | Procede de collecte de descriptions de flux portant sur des flux relatifs a au moins un reseau client rattache a un reseau d'interconnexion |
US7869400B2 (en) * | 2006-10-16 | 2011-01-11 | Stmicroelectronics, Inc. | Method of inter-system coexistence and spectrum sharing for dynamic spectrum access networks-on-demand spectrum contention |
US20080163185A1 (en) * | 2006-12-29 | 2008-07-03 | Rto Software, Inc. | Delay-load optimizer |
US7969894B2 (en) * | 2008-05-07 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | System and method for dead gateway detection |
US8125907B2 (en) * | 2008-06-12 | 2012-02-28 | Talari Networks Incorporated | Flow-based adaptive private network with multiple WAN-paths |
WO2009158721A1 (en) * | 2008-06-27 | 2009-12-30 | Servo Software, Inc. | Social mobile search |
JP5300076B2 (ja) * | 2009-10-07 | 2013-09-25 | 日本電気株式会社 | コンピュータシステム、及びコンピュータシステムの監視方法 |
JP2011250874A (ja) * | 2010-05-31 | 2011-12-15 | Nintendo Co Ltd | 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 |
JP5577968B2 (ja) * | 2010-09-06 | 2014-08-27 | 富士通株式会社 | ネットワーク調査方法およびネットワーク調査装置 |
TWI420460B (zh) * | 2011-05-02 | 2013-12-21 | Au Optronics Corp | 電泳顯示器及其驅動方法 |
US20120331054A1 (en) * | 2011-06-25 | 2012-12-27 | Sattam Dasgupta | System and method for enabling universal interaction between devices through intrinsic applications |
JP5651662B2 (ja) * | 2012-09-12 | 2015-01-14 | 株式会社東芝 | 無線通信装置 |
US10057726B2 (en) * | 2012-10-02 | 2018-08-21 | Razer (Asia-Pacific) Pte. Ltd. | Managing user data on an electronic device |
KR20140103587A (ko) * | 2013-02-18 | 2014-08-27 | 삼성전자주식회사 | 전자 장치 및 그의 와이파이 p2p 연결 방법 |
US9628377B2 (en) * | 2013-02-27 | 2017-04-18 | National Institute Of Information And Communications Technology | Method for link failure detection and session transfer to a lively link in the multihoming environment of ID/locator split-based networks |
US9282043B1 (en) * | 2013-09-24 | 2016-03-08 | Juniper Networks, Inc. | Trend-based flow aggregation for flow suppression |
US9507609B2 (en) * | 2013-09-29 | 2016-11-29 | Taplytics Inc. | System and method for developing an application |
KR102101206B1 (ko) * | 2014-01-03 | 2020-05-15 | 삼성전자 주식회사 | 무선 통신 시스템에서 혼잡 관리를 위한 방법 및 장치 |
US9936009B2 (en) * | 2014-05-22 | 2018-04-03 | Qualcomm Incorporated | Systems and methods of operating a device of a data path group network |
US10455400B2 (en) * | 2014-06-02 | 2019-10-22 | Qualcomm Incorporated | Peer discovery in neighbor awareness networking (NAN) aided data link networks |
US9729439B2 (en) | 2014-09-26 | 2017-08-08 | 128 Technology, Inc. | Network packet flow controller |
US20160099997A1 (en) * | 2014-10-01 | 2016-04-07 | Samsung Electronics Co., Ltd. | Method and system for managing application data in a communication device |
US9749422B2 (en) * | 2014-12-05 | 2017-08-29 | Unify Gmbh & Co. Kg | Method and system for telecommunication device monitoring |
US10277506B2 (en) | 2014-12-08 | 2019-04-30 | 128 Technology, Inc. | Stateful load balancing in a stateless network |
US9729682B2 (en) | 2015-05-18 | 2017-08-08 | 128 Technology, Inc. | Network device and method for processing a session using a packet signature |
US9832082B2 (en) | 2015-06-30 | 2017-11-28 | Mist Systems, Inc. | Monitoring wireless access point events |
US9762485B2 (en) | 2015-08-24 | 2017-09-12 | 128 Technology, Inc. | Network packet flow controller with extended session management |
CN111666518B (zh) * | 2015-09-21 | 2023-05-16 | 创新先进技术有限公司 | 一种doi显示方法及装置 |
KR20170037305A (ko) * | 2015-09-25 | 2017-04-04 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
US9871748B2 (en) | 2015-12-09 | 2018-01-16 | 128 Technology, Inc. | Router with optimized statistical functionality |
CN106998302B (zh) * | 2016-01-26 | 2020-04-14 | 华为技术有限公司 | 一种业务流量的分配方法及装置 |
US9985883B2 (en) | 2016-02-26 | 2018-05-29 | 128 Technology, Inc. | Name-based routing system and method |
KR20170130253A (ko) | 2016-05-18 | 2017-11-28 | 에스케이텔레콤 주식회사 | 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치 |
US10200264B2 (en) | 2016-05-31 | 2019-02-05 | 128 Technology, Inc. | Link status monitoring based on packet loss detection |
US10945166B2 (en) * | 2017-04-07 | 2021-03-09 | Vapor IO Inc. | Distributed processing for determining network paths |
US10609174B2 (en) * | 2017-04-11 | 2020-03-31 | Microsoft Technology Licensing, Llc | Parallel prefetching log/meta stream sub-portions to recreate partition states in a distributed computing system |
US10419356B1 (en) * | 2017-07-22 | 2019-09-17 | Juniper Networks, Inc | Apparatus, system, and method for discovering network path maximum transmission units |
US10892976B2 (en) * | 2017-10-24 | 2021-01-12 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for intelligent network topology mapping |
EP4236255A1 (en) | 2017-11-06 | 2023-08-30 | Huawei Technologies Co., Ltd. | Packet forwarding method, forwarding device, and network device |
US10511669B2 (en) * | 2018-04-26 | 2019-12-17 | Verizon Patent And Licensing Inc. | Programmable user plane function |
US20210352045A1 (en) | 2018-10-30 | 2021-11-11 | Hewlett Packard Enterprise Development Lp | Software defined wide area network uplink selection with a virtual ip address for a cloud service |
US10708144B2 (en) * | 2018-11-14 | 2020-07-07 | Juniper Networks, Inc. | Predicting application quality of experience metrics using adaptive machine learned probes |
US10771379B2 (en) * | 2018-12-04 | 2020-09-08 | Juniper Networks, Inc. | Apparatus, system, and method for discovering network paths |
US10958585B2 (en) | 2018-12-31 | 2021-03-23 | Juniper Networks, Inc. | Methods and apparatus for facilitating fault detection and/or predictive fault detection |
US10958537B2 (en) | 2019-01-18 | 2021-03-23 | Juniper Networks, Inc. | Method for spatio-temporal monitoring |
US10985969B2 (en) | 2019-02-19 | 2021-04-20 | Juniper Networks, Inc. | Systems and methods for a virtual network assistant |
KR20200141702A (ko) * | 2019-06-11 | 2020-12-21 | 삼성전자주식회사 | 블루투스 네트워크 환경에서 외부 전자 장치의 검색 리스트를 표시하기 위한 전자 장치 및 그에 관한 방법 |
US11075824B2 (en) | 2019-06-19 | 2021-07-27 | 128 Technology, Inc. | In-line performance monitoring |
US11463371B2 (en) * | 2019-12-02 | 2022-10-04 | Citrix Systems, Inc. | Discovery and adjustment of path maximum transmission unit |
CN112769976B (zh) * | 2021-01-13 | 2023-10-24 | 网宿科技股份有限公司 | 一种域名解析方法及系统 |
US12052162B2 (en) * | 2021-01-25 | 2024-07-30 | Comcast Cable Communications, Llc | Systems and methods for path determination in a network |
-
2021
- 2021-07-15 US US17/377,078 patent/US11811638B2/en active Active
-
2022
- 2022-07-12 EP EP22184368.3A patent/EP4120654A1/en active Pending
- 2022-07-13 CN CN202210828249.6A patent/CN115622931A/zh active Pending
-
2023
- 2023-11-03 US US18/501,190 patent/US20240073117A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230012609A1 (en) | 2023-01-19 |
EP4120654A1 (en) | 2023-01-18 |
US11811638B2 (en) | 2023-11-07 |
US20240073117A1 (en) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11831520B2 (en) | Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection | |
US11811638B2 (en) | Adaptable software defined wide area network application-specific probing | |
US10708146B2 (en) | Data driven intent based networking approach using a light weight distributed SDN controller for delivering intelligent consumer experience | |
US9614756B2 (en) | VOIP route selection using call metrics | |
Lee et al. | Network monitoring: Present and future | |
CN106953737B (zh) | 在计算机网络内使用输出协议提供应用元数据 | |
CN113676361A (zh) | 针对体验质量度量的按需探测 | |
AU2016385417A1 (en) | Bidirectional data traffic control | |
US11722391B2 (en) | Dynamic prediction and management of application service level agreements | |
EP2056559A1 (en) | Method and system for network simulation | |
US11683421B2 (en) | Resolving unsatisfactory QoE for an application for 5G networks or hybrid 5G networks | |
US11336545B2 (en) | Network device measurements employing white boxes | |
US11811623B2 (en) | Deep tracing of user experience | |
US20230081673A1 (en) | DETERMINING QoE REQUIREMENTS FOR 5G NETWORKS OR HYBRID 5G NETWORKS | |
US20190205776A1 (en) | Techniques for policy-controlled analytic data collection in large-scale systems | |
Chirivella-Perez et al. | Nfvmon: enabling multioperator flow monitoring in 5G mobile edge computing | |
US12075269B2 (en) | Measuring QoE satisfaction in 5G networks or hybrid 5G networks | |
US20230082301A1 (en) | MEASURING QoE SATISFACTION IN 5G NETWORKS OR HYBRID 5G NETWORKS | |
US20230403434A1 (en) | Streaming service rating determination | |
Shuuya | An investigation into dynamical bandwidth management and bandwidth redistribution using a pool of cooperating interfacing gateways and a packet sniffer in mobile cloud computing | |
Nikravesh | Systems and Methods for Measuring and Improving End-User Application Performance on Mobile Devices | |
Pfitscher | Monitoring and identifying bottlenecks in virtual network functions service chains | |
Wu | OpenFlow-enabled dynamic DMZ for local networks | |
Ionescu | Load balancing techniques used in cloud networking and their applicability in local networking |
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 |