基于意图的应用结构的制作方法

文档序号:28596908发布日期:2022-01-22 10:33阅读:109来源:国知局
基于意图的应用结构的制作方法
基于意图的应用结构
1.优先权
2.本技术根据35 u.s.c.
§
119(e)要求2019年6月12日提交的美国临时专利申请第62/860,577号的权益,该申请通过引用并入本文。
技术领域
3.本公开总体涉及软件定义广域网(sd-wan),并且更具体地涉及在sd-wan上生成应用结构(fabric)。


背景技术:

4.计算机网络可以包括硬件、软件、协议和传输组件的系统,它们共同允许单独的设备进行通信、共享数据和访问资源,例如软件应用。更具体地说,计算机网络是地理上分布的节点集合,这些节点通过通信链路和段互连,用于在端点(例如个人计算机和工作站)之间传输数据。有多种类型的网络可用,从局域网(lan)和广域网(wan)到覆盖和软件定义网络,例如软件定义局域网(sd-lan)和软件定义广域网(sd-wan),以及虚拟网络,例如虚拟lan(vlan)和虚拟专用网络(vpn)。
附图说明
5.图1图示了sd-wan覆盖的示例。
6.图2图示了sd-wan中的第一应用结构的应用覆盖的第一示例。
7.图3图示了用于构建第一应用结构的方法和系统的示例信号流。
8.图4图示了sd-wan中的第二应用结构的应用覆盖的第二示例。
9.图5图示了用于构建第二应用结构的方法和系统的示例信号流。
10.图6图示了为sd-wan中的感兴趣应用构建应用结构的流程图的示例。
11.图7图示了计算机系统的组件(例如管理器、控制器或边缘路由器)的示例。
具体实施方式
12.概述
13.本发明的各方面在独立权利要求中陈述并且优选特征在从属权利要求中陈述。一个方面的特征可以单独地或与其他方面组合地应用于每个方面。
14.本文描述的特定实施例提供了一种基于意图的应用结构,其被创建以使用通信网络中的软件定义广域网(sd-wan)的一部分来控制和管理一个或多个特定感兴趣应用。这是通过以下实现的:(1)发现sd-wan的边缘路由器中哪些设备(或路由器)正在运行感兴趣应用,以及(2)当运行感兴趣应用的一个或多个边缘路由器被发现时,基于感兴趣应用的策略(例如,网络策略)、服务质量(qos)、延迟、丢失或带宽可用性来构建(或生成)感兴趣应用的应用结构。出于描述的目的,某些实施例可以将该应用结构称为“基于意图的应用结构”。应用结构将使用sd-wan的一部分来构建,因为应用结构配置有选自sd-wan的边缘路由器中运
行感兴趣应用的所有或部分边缘路由器。
15.在特定实施例中,sd-wan的控制器被配置为生成用于第一应用的第一配置文件并将第一配置文件提供给sd-wan的多个边缘路由器。在此,多个边缘路由器可操作以将多个设备连接到sd-wan,并且第一配置文件可以使多个边缘路由器能够发现多个设备中的哪些设备支持第一应用。控制器还被配置为从一个或多个边缘路由器接收指示多个设备中的哪些设备支持第一应用的信息。并且,控制器还被配置为基于指示多个设备中的哪些设备支持第一应用的信息来为第一应用构建第一应用结构。
16.示例实施例
17.在一些实施例中,提供了基于意图的联网基础设施,以用商业语言捕获商业意图,并将该意图转化为可在整个网络中应用和持续监控的it策略。从用户的角度来看,用户或操作员的意图(例如,“什么”)被转换为用于执行意图的特定执行(“如何”)。基于意图的网络提供三个主要的功能构建块:捕获意图的能力;在整个网络基础设施中自动部署表达的意图的功能;以及确保实现预期意图的能力。
18.在本公开的某些实施例中,基于意图的联网(ibn)可以在如何规划、设计和操作网络方面提供显著的范式转变。过去,无法使用工具来声明意图并将其转换为实现预期结果所需的设备级配置。而是,网络设计者或运营商必须手动取得单独的网络元素配置来支持所需的意图,例如,“我希望这些服务器可以从这些分支访问;因此,我需要在网络中的每台设备上配置特定的虚拟局域网(vlan)、子网和安全规则”。基于意图的联网解决方案使得需要对手动取得的个体网络元素配置对齐的传统实践能够被控制器主导和基于策略的抽象取代,这些抽象使运营商能够轻松表达意图(预期结果)并随后验证网络正在做他们要求网络所做的事情。
19.在基于意图的联网的一些实施例中,与数字转换相关联的规模、敏捷性和安全性需求要求逐个元素的网络配置被具有一致的基于意图的策略的网络元素的自动化系统范围编程所取代。此外,在部署之前、期间和之后对数据进行上下文分析可以实现连续验证,以帮助确保网络在任何时间点都能提供所需的结果和保护。从众多不同来源连续收集遥测数据和其他形式的数据提供了丰富的信息上下文,以优化系统并确保其安全。基于意图的策略扩展到客户端或应用的访问控制之外。它扩展到对所需用户体验、应用优先级、需要应用于应用流的服务链网络功能的表达,甚至是对运营服务级别协议(sla)规则的表达,例如,“我只想在我的网络设备上部署金像”。
20.如本文所述,实施例包括各种要素和限制,没有一个要素或限制被认为是关键要素或限制。每个权利要求单独地完整地叙述了实施例的方面。此外,所描述的一些实施例可以包括但不限于系统、网络、集成电路芯片、嵌入式处理器、asic、方法和包含指令的计算机可读非暂态介质。一个或多个系统、设备、组件等可包括一个或多个实施例,这些实施例可包括权利要求的一些要素或限定由相同或不同系统、设备、组件等执行。处理要素可为通用处理器、特定任务处理器、一个或多个处理器的核心、或其他协同定位的用于执行相应的处理的资源共享实现方式。下文描述的实施例体现了各种方面和配置,附图示出了示例性和非限制性配置。术语“系统”或“装置”在本文中与其对器具或设备的共同定义一致使用。
21.图中所示的信号和信息的步骤、连接和处理,包括但不限于任何框图和流程图以及消息序列图,通常可以在相同或不同的串行或并行顺序中执行,和/或由不同的组件和/
或进程、线程等执行,和/或通过不同的连接执行并与其他实施例中的其他功能组合,除非这禁用了该实施例或明确或隐含地需要顺序(例如,对于读取值、处理读取值的顺序——该值必须在处理之前获得,尽管一些相关联的处理可以在读取操作之前、同时和/或之后执行)。此外,注意,除非明确说明,否则本文件中描述或引用的任何内容均不被承认为本技术的现有技术。
22.术语“一个实施例”在本文中用于指代特定实施例,其中对“一个实施例”的每次提及可指不同的实施例,并且该术语在本文中在描述相关特征、要素和/或限制时重复使用不建立每个实施例必须包括的相关特征、要素和/或限制的累积集合,尽管实施例通常可以包括所有这些特征、要素和/或限制。此外,术语“第一”、“第二”等以及“特定的”和“具体的”在本文中通常用于表示不同的单元(例如,第一微件或操作、第二微件或操作、特定的微件或操作、具体的微件或操作)。此处使用的这些术语不一定表示诸如一个单元、操作或事件在另一个或另一特征之前发生或到来的排序,而是提供了区分要素单元的机制。此外,短语“基于x”和“响应于x”用于表示衍生或产生某事物的项“x”的最小集合,其中“x”是可扩展的,并不一定描述执行操作的完整的列表或项目等。除非另有明确说明或上下文另有说明,否则术语“或”是包含性的而非排他性的。因此,除非另有明确说明或上下文另有说明,否则本文中的“a或b”是指“a、b或两者”。此外,除非另有明确说明或上下文另有说明,否则“和”既可以是联合地又可以是分别地。因此,除非另有明确说明或上下文另有说明,否则本文中的“a和b”是指“a和b,不论是联合地还是分别地”。此外,根据上下文通常可以与“包括”、“包含”或“以
……
为特征”同义的过渡术语“包括”是包容性的或开放式的,并且不排除附加的、未列举的要素或方法步骤。最后,在用于执行步骤的方法权利要求中引用的术语“特定机器”是指35usc
§
101机器法定类别中的特定机器。
23.图1图示了sd-wan覆盖100的示例。sd-wan覆盖100包括管理控制器(管理器110)、网络控制器(控制器120)和多个边缘路由器130(例如,边缘路由器131至138)。边缘路由器130通过例如动态隧道彼此连接。图1中的示例图示了全网状网络,其中每个边缘路由器130是sd-wan覆盖的一部分。边缘路由器130可以将多个设备连接到sd-wan。设备的示例可以包括洗衣机、信用卡机、安全摄像头、会议室摄像头、打印机、远程手术机等。设备可以部署在不同的站点。例如,一个站点的设备可以与边缘路由器131通信,而不同站点的设备可以与边缘路由器132通信。不同站点的示例可以包括总部、一个或多个分支机构、研发园区、基于云的站点、数据中心等。设备可以根据各种应用(例如,洗衣机应用、视频会议、信用卡应用、安全摄像头应用、打印机应用、远程手术应用等)通过sd-wan传送消息。
24.管理器110和控制器120都是控制器的示例。在图1所示的示例中,管理器110(例如,管理控制器)与控制器120连接。控制器120被配置为与管理器110通信并且控制sd-wan覆盖100中的多个边缘路由器130。在一个实施例中,控制器120可以独立于管理器110实施。在另一个实施例中,控制器120可以与管理器110一起实施(例如,单个计算机系统或设备中的控制器可以执行管理器110和控制器120两者的功能)。因此,根据实施例,控制器可以包括管理器110、控制器120或两者(无论是体现在同一系统/设备中,还是体现在通过网络或其他连接通信耦合的不同系统/设备中)。
25.在某些实施例中,管理器110和控制器120可以合作来确定部署在sd-wan覆盖中的边缘路由器的应用特定结构覆盖。应用特定结构包括sd-wan的一部分,可操作以传送与特
定应用(作为一个示例,洗衣机应用)相关联的消息。特定应用结构包括边缘路由器130的子集,其将支持特定应用(在示例中,洗衣机应用)的设备与sd-wan连接。在一些实施例中,管理器110和控制器120可以响应于来自用户(例如系统管理员、网络运营商或终端用户)的请求来构建应用特定结构覆盖。该请求可以指示用户想要为其构建应用特定结构的应用(或应用的特征)。
26.作为示例,在某些实施例中,管理器110可操作以确定感兴趣应用(将为其构建应用结构覆盖的应用)并向控制器120提供配置文件,此配置文件要被分发到边缘路由器131-138。配置文件使边缘路由器131-138能够发现哪些设备支持感兴趣应用。边缘路由器131-138中的一个或多个可以各自向控制器120提供信息,指示该边缘路由器是否已经发现支持感兴趣应用的任何设备。控制器120向管理器110提供信息,并且管理器110使用该信息来为感兴趣应用构建应用结构覆盖。管理器110然后可以开发应用特定策略并且将策略提供给控制器120以分发到与感兴趣应用的应用结构覆盖相关联的边缘设备的子集。然后,该子集的边缘设备当传送与感兴趣应用相关联的流量时可以实施应用特定策略。控制器120可以从终端设备接收应用监控数据(或应用元数据)。
27.在本公开的某些实施例中,示例方法和系统可以支持sd-wan的能力,并且可以为sd-wan中的业务关键应用提供基于意图的应用结构(例如,使用一组中间件技术的平台)。例如,在某些实施例中,sd-wan基础设施的一个或多个控制器(例如,管理器110和/或控制器120)可操作以:查看或监控应用结构(例如,客户的应用结构);监控站点(例如,图1中放置边缘路由器130的地方)中的流量状态和网络中流动的流量;实时监控跨不同站点的流量的安全性和性能;和/或执行用于分割网络、提供安全性(例如,隔离或其他安全性)和/或更改或维护服务质量(qos)的流量策略。本公开的特定实施例提供了一种用于在sd-wan中执行基于意图的应用结构的解决方案和系统,其执行一组技术功能或能力以:(i)识别站点中托管的应用;(ii)在企业网络计算系统(encs)类型的分支平台上托管应用并收集元数据,并向企业网络的其余部分通告应用可用性;(iii)可视化和监控属于整个企业的应用的流/对话;(iv)向管理控制器(例如,vmanage控制器,例如图1中的管理器110)查询用于使用sd-wan覆盖的网络带宽可用性,并在站点之间分配动态隧道以便利应用。
28.图2图示了sd-wan中的第一应用结构的应用覆盖的第一示例。图2包括管理器110和控制器120(上面关于图1描述)。图2还包括多个边缘路由器230(类似于上面关于图1描述的边缘路由器130)。特别地,图2图示了八个边缘路由器231-238。如图2所示的隧道所指示,应用覆盖连接边缘路由器的子集(231和234-238)。该子集代表与特定应用相关联的边缘路由器。在该示例中,边缘路由器232和233与特定应用无关(例如,将边缘路由器232和233连接到sd-wan的设备不支持特定应用),因此边缘路由器232和233不包括在应用覆盖中。因此,图2中所示的应用覆盖不包括连接到边缘路由器232和233的隧道。
29.作为示例,图2可以表示与医疗保健相关的应用的应用覆盖。在某些实施例中,应用覆盖可以包括与领域(例如,医疗保健)和/或企业(例如,医院或医疗保健提供者)相关联的应用。例如,基于意图的应用结构可以应用于医疗保健垂直(例如,mckesson、cigna、palo alto medical foundation等)用例,其中医院位于各个站点,并且这些各个站点使用sd-wan覆盖连接。某些与医疗保健相关的实施例可便于为患者提供高质量的护理以及对医生和工作人员可用的所有最新技术的访问。特定实施例可以提供基于业务垂直(例如医疗保
健)的各种预定应用覆盖的可用性。在实施例中,为了识别在sd-wan的设备中管理的应用,除了使用应用签名的应用识别引擎(例如,nbar2)之外,计算系统还可以部署例如对设备进行分类的设备分类服务(dcs)。
30.考虑“远程手术”远程呈现的应用示例。特定实施例允许或授权医疗保健提供者在网络中执行一组指令。指令可以指示用户的意图并且可以基于从用户获得的信息。可以提供用户友好的界面以通过通常在适用业务(例如医疗保健业务)中使用的熟悉的自然语言来获得用户的意图,而不需要用户学习技术术语来传达用户的意图。指令可以允许医疗保健提供者知道(即,监控、检测或检查)可以执行远程手术应用的所有站点。在示例中,医疗保健提供者可以与网络端点处的站点(例如,医院)的子集相关联。特定实施例可以允许或授权医疗保健提供者在这些站点之间展示“远程手术”远程呈现应用如何执行的视图,每个远程手术应用被托管在何处(例如,哪个边缘路由器托管,计划托管和/或能够托管远程手术应用),以及与每个远程手术应用(或每个边缘路由器)相关联的性能可靠性和/或性能保证。医疗保健提供者可以使用基于应用覆盖获得的信息来预留带宽资源。例如,医疗保健提供者可以为特定时间(手术被安排的时间)以特定服务质量(qos)保证(为远程手术应用批准的qos)预留带宽。医疗保健提供者可以调度资源以确保预留的资源具有高可用性(例如,远程手术应用可能需要高可用性以确保患者安全,并且与其他类型的应用例如后台应用相比,可以被给予更高的优先级/qos保证)。通过应用覆盖获得的信息还可以帮助医疗保健提供者快速排除网络中或特定应用中的任何问题。
31.作为另一示例,某些实施例可以在企业网络中提供视频和语音服务,使得sd-wan控制器(例如,图1和图2中的110和120)执行各种查询过程并且站点之间的带宽被预留以参加视频和/或语音电话会议。管理器110可以确定特定于感兴趣应用的策略(或多个策略)。管理器110可以经由控制器120向边缘路由器提供所确定的策略。不同类型的策略可以包括例如路由策略、带宽预留策略、qos策略、服务水平协议(sla)策略、安全策略等。可以基于从用户(例如系统管理员、网络运营商或终端用户)获得的信息来确定策略。还可以基于从网络获得的信息(例如,基于网络性能)来确定策略。
32.图3图示了用于构建第一应用结构的方法和系统的示例信号流。在本公开的某些实施例中,用于为业务关键应用(例如,“远程手术”应用)构建“基于意图的应用结构”(例如,图2中所示的应用结构覆盖)的方法和系统可以执行以下处理(或步骤):(1)应用发现;(2)应用结构构建;(3)应用监控;(4)应用控制和体验。图3中的实施例呈现与应用发现(例如,步骤310-350)、应用结构构建(例如,步骤360)、应用监控(例如,步骤380)以及应用控制和体验(例如,步骤390)的过程相关联的信号流。图3中的示例显示了一个或多个控制器的某些功能。取决于实施例,该功能可由管理器110、控制器120、管理器110和控制器120两者、或可操作以执行所描述的功能的任何其他控制器或控制器的组合来执行。
33.在步骤310,管理器110可以确定第一应用。第一应用可以是要为其构建第一应用结构的应用。例如,第一应用可以是用户感兴趣的应用。在某些实施例中,可以基于从用户(例如系统管理员、网络运营商或终端用户)接收的信息来确定第一应用。在某些实施例中,用户可以从预定应用列表中选择第一应用。例如,该列表可能包括视频应用、远程呈现应用、打印机应用、信用卡读卡器应用等。在某些实施例中,用户可以定义自定义应用。例如,洗衣机供应商可以提供用于发现支持专有洗衣机应用的洗衣机的特性。特性的示例可以包
括应用标识符、应用签名或其他与应用相关的信息(例如,参数、端口号、协议号、协议格式、消息签名等)。应用签名(或自定义签名)被配置为确定专用于特定业务或指定客户的特定应用。某些实施例可以向用户提供从预定应用列表(例如,列出默认应用或先前定义的自定义应用)选择或为应用定制新定义的选项。可以以任何合适的方式从用户获得信息,例如通过管理器110(或控制器120)的i/o接口,或通过将管理器110连接到用户的计算机系统的网络(例如因特网)。
34.在步骤320,管理器110可以生成第一配置文件,该第一配置文件用于使边缘路由器231-238能够发现支持第一应用(即,在步骤310中确定的应用)的设备。配置文件可以指示与第一应用相关联的一个或多个特性,例如应用标识符、应用签名或其他与应用相关的信息(例如,参数、端口号、协议号、协议格式、消息签名等)。管理器110可以向控制器120提供第一配置文件以分发到sd-wan的边缘路由器230,并且在步骤330,控制器120可以向sd-wan的多个边缘路由器230提供在步骤320中生成的第一配置文件。
35.第一配置文件使边缘路由器231-238能够发现支持第一应用的设备。例如,边缘路由器231-238可操作以将多个设备(例如洗衣机、信用卡机、安全摄像头、会议室摄像头、打印机等)连接到sd-wan。假设第一配置文件指示视频会议应用的特性,例如视频会议设备通过边缘路由器和sd-wan与其他视频会议设备通信的消息的消息签名。第一配置文件使多个边缘路由器231-238能够发现多个设备中的哪些设备支持第一应用。继续视频会议应用示例,可以将消息签名与终端设备发送到sd-wan的消息进行比较,来自运行第一应用的视频会议设备的消息将匹配与第一应用关联的消息签名。来自其他类型设备(例如洗衣机)的消息将不匹配与第一应用关联的消息签名。
36.在步骤340,管理器110和/或控制器120可以从边缘路由器230中的一个或多个边缘路由器(例如,231、234-238)接收指示多个设备中的哪些设备支持第一应用的信息。在一些实施例中,管理器110通过控制器120从边缘路由器接收信息。在图3中,边缘路由器231和234-238可以发送指示对第一应用的支持的信息。该信息可以通过从一个或多个边缘路由器发送的流量信号来传输。在一些实施例中,该信息可以包括用于验证每个设备的设备签名(或其他设备标识符)。管理器110可以基于设备签名执行验证过程(或安全过程)。例如,如果第一感兴趣应用是视频会议应用,则从打印机(通过其中一个边缘路由器)接收的流量信号将包含打印机的设备签名,并且无法通过视频会议应用的验证。因此,打印机将无权运行视频会议应用。这防止恶意设备(例如欺骗应用的设备)与第一应用结构相关联。验证可由任何合适的节点(例如,管理器110、控制器120或边缘路由器)执行。
37.在步骤350,管理器110和/或控制器120可以基于指示多个设备中的哪些设备支持第一应用的信息来构建第一应用结构。第一应用结构可以对应于sd-wan的可操作以传送与第一应用相关联的消息的部分。例如,图1示出了在边缘路由器131-138之间可操作通信的全网状sd-wan覆盖,而图2示出了用在sd-wan覆盖的所有边缘路由器231-238中确定的一部分(例如,边缘路由器231和234-238)构建的第一应用结构(即,为第一应用配置的应用覆盖)。由于在边缘路由器231和234-238之间构建第一应用结构为第一应用配置应用覆盖,所以边缘路由器231和234-238可操作以在它们之间传送与第一应用相关联的消息(在步骤360)。在示例中,基于在步骤340中不存在来自边缘路由器232和233的任何消息(或基于存在来自边缘路由器232和233的消息指示它们没有发现任何支持第一应用的设备),管理器
350从第一应用结构中排除边缘路由器232和233。在某些实施例中,管理器110和/或控制器120可以随着时间的推移继续从边缘路由器230接收指示发现支持第一应用的附加设备的信息(例如,随着时间的推移将附加设备添加到sd-wan)。管理器110和/或控制器120可以相应地继续构建/更新第一应用结构。类似地,管理器110和/或控制器120可以构建/更新第一应用结构以从第一应用结构移除边缘路由器(例如,如果边缘路由器已经为第一应用发现的所有设备后来从由该边缘路由器托管的站点移除)。因此,应用结构的构建可能是动态的,以反映设备何时添加到sd-wan或从sd-wan移除。
38.在步骤360,管理器110和/或控制器120对包括边缘设备231和234-238(并且不包括边缘设备232和233)的第一应用结构进行配置。在某些实施例中,管理器110和控制器120可以使用第一应用结构来应用应用特定策略,如步骤370所示。在步骤370-1,管理器110可以确定特定于第一应用的第一策略并且可以向控制器120提供第一策略。在步骤370-2,控制器120可以将带有用于第一感兴趣应用的签名(或标识符,或元数据)的第一策略推送到与第一应用结构相关联的边缘路由器231和234-238,以将第一策略应用于第一应用的流量。即,管理器110和控制器120指示边缘路由器231和234-238中的每一个将第一策略应用于第一应用的流量(在步骤370-2)。第一策略可以包括一个或多个不同类型的策略,例如路由策略、带宽预留策略、qos策略、sla策略、安全策略等。可以基于从用户(例如系统管理员、网络运营商或最终用户)获得的信息来确定第一策略。还可以基于从网络获得的信息(例如,基于网络性能)来确定策略。在一个实施例中,控制器120可以避免向不与第一应用结构相关联的边缘路由器提供第一策略。因此,第一策略仅需要由与第一应用结构相关联的边缘路由器(例如,图2中的231和234-238)应用。此外,取决于策略的类型,第一策略可以被提供给与第一应用结构相关联的其他类型的节点(例如,内部路由器)并由其实施。在替代实施例中,可以在构建第一应用结构之前执行步骤370(在这种情况下,可以将策略发送到sd-wan中的每个边缘路由器)。
39.管理器110或控制器120中的任一个或两者可以进一步在步骤380和390执行应用监控和应用控制的过程。管理器110可以监控与第一应用结构相关联的流量。例如,管理器110可以接收关于经由sd-wan传送的应用特定流量的信息。管理器110可以从与第一应用结构相关联的边缘路由器接收关于应用特定流量的信息(在步骤380)。在一些实施例中,管理器110可以经由控制器120从边缘路由器接收信息。管理器110可以生成指示第一应用结构的性能的数据(例如,该数据可以是统计数据、状态报告等)并且将生成的数据报告给用户(例如系统管理员、网络运营商或终端用户)或报告给使用数据的网络组件以自动更新策略(例如,如果数据显示第一应用经历了太多延迟,则可以更新路由策略)(在步骤390)。在步骤390,管理器110和控制器120可以通过指示第一应用结构的一个或多个节点(例如,图2中的边缘路由器231、234-238和/或sd-wan内的内部节点(未示出))执行一个或多个动作,例如预留带宽资源、实施路由决策和更新策略,来基于所监控的流量进一步控制第一应用结构。
40.图3中描述的方法可以重复以构建用于附加应用的附加应用结构。不同的应用结构可能包括sd-wan的不同(重叠或非重叠)部分,取决于支持各种应用的设备所在的位置。结合图4-5来描述示例。
41.图4图示了sd-wan中的第二应用结构的应用覆盖的第二示例。图4所示的拓扑可以
是针对特定感兴趣应用(例如,“洗衣机”应用)的应用覆盖。参考图4,构建第二感兴趣应用的第二应用结构以配置sd-wan中的应用覆盖400。在图4中,第二应用结构400配置有边缘路由器(例如,图4中的边缘路由器231-234),可操作以运行特定应用(即,“洗衣机”应用)。图4的第二应用结构400对应于sd-wan的一部分,如上文图3中所述。参见图2和图4,图2示出了为第一应用构建并且可操作以在边缘路由器231和234-238之间进行通信的第一应用结构的应用覆盖。图4示出了为第二应用构建并且可操作以在边缘路由器231-234之间进行通信的第二应用结构的应用覆盖。
42.图5图示了用于构建第二应用结构的方法和系统的示例信号流。构建第二应用结构的过程类似于图3中描述的过程。虽然已经构建了配置有边缘路由器231和234-238的第一应用结构(步骤370),但是可以为第二应用进一步构建第二应用结构。
43.步骤510确定第二应用。可以以类似于图3的步骤310的方式确定第二应用。作为示例,该方法可以按照图3的步骤为第一应用(例如,视频会议应用)构建第一应用结构,并且还可以确定要为其构建第二应用结构的第二应用(例如,打印机应用)。
44.步骤520生成第二配置文件,该第二配置文件用于使边缘路由器231-238能够发现支持第二应用(即,在步骤510中确定的应用)的设备。配置文件可以指示与第二应用相关联的一个或多个特性,例如应用标识符、应用签名或其他与应用相关的信息(例如,参数、端口号、协议号、协议格式、消息签名等)。管理器110可以向控制器120提供第二配置文件以分发给sd-wan的边缘路由器230,并且在步骤530,控制器120可以向sd-wan的多个边缘路由器230提供在步骤520中生成的第二配置文件。
45.图5的步骤540大体类似于图3的步骤340。在步骤540中,管理器110和/或控制器120可以从边缘路由器230中的一个或多个边缘路由器(例如,231-234)接收指示多个设备中的哪些设备支持第二应用的信息。在该示例中,支持第二应用的边缘路由器子集(边缘路由器231-234)不同于支持第一应用的路由器子集(边缘路由器231、234-238),然而,不同的子集部分重叠(边缘路由器231和234属于两个子集)。
46.步骤550为第二应用构建第二应用结构。图5中的步骤550大体类似于图3中的步骤350。第二应用结构包括在步骤540中从其发现支持第二应用的设备的边缘路由器(例如,边缘路由器231-234)并且排除其他边缘路由器(例如,边缘路由器235-238)。
47.步骤560为第二应用配置第二应用结构。图5中的步骤560大体类似于图3中的步骤360。在某些实施例中,管理器110和/或控制器120可以使用第二应用结构来应用应用特定策略,如步骤570所示。例如,在步骤570-1,管理器110可以确定特定于第二应用的第二策略并且可以向控制器120提供第二策略。在步骤570-2,控制器120可以将第二策略推送到第二应用结构的边缘路由器(例如,边缘路由器231-234)。第二应用结构的边缘路由器然后可以将第二策略应用于与第二应用相关联的流量。如上所述,策略的示例可以包括路由策略、带宽预留策略、qos策略、sla策略、安全策略等。在某些实施例中,策略可以允许对某些应用进行优先级排序。例如,假设第一应用结构对应于关键应用(例如远程手术远程呈现应用),而第二应用结构对应于非关键应用(例如后台的打印机应用)。可以配置策略以确保第一应用结构具有更高的带宽预留优先级,具有更严格的qos和sla策略等。
48.图5的步骤580监控与第一应用结构相关联的流量和与第二应用结构相关联的流量(类似于图3的步骤380)。图5的步骤590可以报告指示第一应用结构的性能的数据和指示
第二应用结构的性能的数据(类似于图3的步骤390)。在某些实施例中,基于监控第一应用流量的统计或报告可以与基于监控第二应用结构的统计或报告分开。在某些实施例中,统计或报告可被组合并且应用结构标识符可与数据一起包括以允许过滤与第一应用结构或第二应用结构相关联的信息。在某些实施例中,步骤590包括基于监控到的流量控制第一应用结构和第二应用结构(类似于图3的步骤390)。第一应用结构和第二应用结构可以基于它们各自的流量被分开控制。例如,如果数据显示第一应用经历了太多延迟,则可以更新第一应用结构的路由策略,但如果数据显示第二应用经历了可接受的延迟,则不一定需要更新第二应用结构的路由策略。步骤580和590可以由管理器110和/或控制器120执行。
49.图6图示了为sd-wan中的感兴趣应用构建应用结构的流程图的示例。参考图2-6,该方法可以由sd-wan的控制器(例如,控制器可以是图2-5中的管理器110和控制器120之一或两者)执行,其中控制器包括在计算系统中并且被配置为执行用于为特定感兴趣应用构建应用结构的过程。在一个实施例中,控制器被配置为向sd-wan的多个边缘路由器提供第一配置文件(在步骤610)。边缘路由器可操作以将多个设备连接到sd-wan,并且第一配置文件可以使多个边缘路由器能够发现多个设备中的哪些设备支持第一应用。在步骤620,控制器被配置为从边缘路由器中的一个或多个边缘路由器接收指示多个设备中的哪些设备支持第一应用的信息。在步骤630,控制器被配置为基于指示多个设备中的哪些设备支持第一应用的信息来构建第一应用结构,其中第一应用结构对应于sd-wan的可操作以传送与第一应用相关联的消息的部分。
50.在某些实施例中,鉴于以下过程(或步骤),以下呈现与构建基于意图的应用结构相关的描述和要求:(1)应用发现;(2)应用结构构建;(3)应用监控;(4)应用控制和体验。
51.步骤1:应用发现
52.根据本公开的某些实施例的应用发现是执行(一个或多个)技术指令以识别托管业务关键应用的站点(例如,图1和图2中的端点或边缘路由器)并跟踪站点之间的用户对话/会话并基于此信息利用实时监控视图构建应用结构(例如,基于意图的应用结构)。某些实施例使一个或多个需要应用结构的应用来执行技术功能、指令或能力,如下:
53.a)应用可以根据行业/垂直或用例自动选择;
54.b)应用可以由客户静态定义,如{协议,端口};
55.c)应用可以从预先定义的列表中选择;
56.d)当应用安装在分支(或边缘路由器)中的encs平台上时,应用可以选择特殊的“结构选项”。
57.一旦选择了应用(例如,在与图2相关的描述中呈现的“远程手术”的特定应用),该信息由sd-wan的管理控制器(例如,图1和图2中所示的管理器110)传播到所有站点或客户所需的特定站点。当客户有兴趣仅在选定站点中优化webex时,特定站点是相关的。
58.边缘设备将利用现有的应用识别模块(nbar2、cosmos)来观察流量并与结构列表中选择的应用进行匹配。如果匹配,则在站点收集应用元数据并在智能控制器(例如,控制器/vsmart)中通告,其包括{站点、流信息-src、dst、隧道、时间、容量、性能}。应用签名可部署在许多边缘设备上,其中一些边缘设备可能还不是应用结构的一部分,因为在该边缘设备上看不到应用流量,或者管理员可能还没有通过某些策略排除。
59.encs分支情况:当客户在不同站点、在vmanage中选择了应用结构选项的虚拟平台
上安装应用时,结构策略被推送,并且使用nbar2/sd-avc,应用元数据从托管应用的站点被通告。
60.步骤2:应用结构构建
61.应用元数据将通过作为协议扩展的omp(覆盖管理协议)协议而被进行通告,因此像vsmart这样的控制器可以为所述应用跨站点构建应用覆盖。在站点上托管的每个应用都将具有单独的覆盖结构,并且需要自己的带宽和qos。这些应用要求已在vmanage上预先配置,因此托管此应用的所有站点都将了解应用结构需求。
62.当选择了自动应用发现时,属于某个类别的应用可能会被分组为“企业通信应用”,其可能包括webex、skype、zoom等,并且结构也将具有单独的应用结构视图,即仅显示webex结构。如果需要,应用可以为所述应用在站点之间构建动态隧道。一旦控制器构建了应用结构,就可以轻松推送应用结构特定策略,例如“从明天上午10:00到下午12:00跨站点1、2、3为该应用预留带宽”。
63.步骤3:应用监控
64.恒定vanalytics(即用于视频协作的领先分析应用)监控将指示覆盖上的应用拓扑是否满足结构覆盖中的最低要求。如果不满足要求,跨站点的应用的性能将是次优的,并且应提供必要的恢复动作,如应用优先级和bw预留。一旦发生应用分组丢失的情况,在这种情况下,允许保留或分配沿该(一个或多个)应用的路径的站点之间的ipsec隧道上的更多带宽。
65.对应用的监控根据是否满足应用结构sla来进行。需要跨站点托管的较新应用将首先咨询sd-wan控制器,并确定sd-wan覆盖上是否有足够的可用带宽来满足应用要求。出于可见性目的,对客户感兴趣的应用的监控可能发生在非应用结构边缘设备处。
66.步骤4:应用控制与体验
67.示例性方法和系统将执行与应用体验相关的如下技术功能或指令:
68.(i)对于“远程手术”应用,需要在网络中提供可靠的视频和语音服务,并具有实时qos保证,以便在手术期间没有中断。为了实现这一点,应该能够在持续时间内为特定应用事务预留带宽和提供企业级qos,并提供出色的应用响应时间。在某些情况下,这也可以通过在bw资源争用时在所述应用事务/对话/会话期间取消其他流量的优先级来实现。(ii)基于应用流量类型的跨应用结构的按需带宽预留将对客户非常有吸引力(交易/批量/实时/对话)。
69.应用体验由示例性方法和系统执行,并且在某些情况下可以在粒度级别上实现。例如,许多用户组使用视频会议,但基于应用结构监控,如果需要优先考虑特定组的用户,则可以为应用结构创作基于“sgt”的策略。例如:“医生/手术室视频会议”的优先级高于其他员工会议视频会议。
70.示例性方法和系统还将执行与应用控制相关的如下技术功能或指令:
71.(i)将应用更新推送到所有相关站点的能力可能是带宽密集型操作,识别满足意图(软件交付、应用交付等)的带宽可用性意味着sdwan控制器将创建具有为所述操作预留的带宽的隧道,这可以按需或基于通过应用结构收集的应用监控数据调度来进行。其他更新包括病毒扫描软件升级、microsoft office升级、备份/恢复软件更新。
72.(ii)策略可以在vmanage(例如,图2中的管理器110)中创作并通过vsmart(例如,
图2中的控制器120)传播到相关站点。这些策略将能够针对所需的持续时间在sd-wan覆盖上预留bw和qos资源。
73.在一些实施例中,计算系统包括一个或多个终端设备(或分支设备或边缘路由器),被配置为基于用户偏好定义一个或多个应用、提供包括该一个或多个应用的预定义列表、选择预定义列表中的特定应用、并使特定应用能够选择一个或多个结构选项。该计算系统还包括第一控制器,被配置为将用于选择特定应用的信息传播到一个或多个特定站点。该计算系统还包括第二控制器,被配置为跨特定站点为特定应用构建应用覆盖并将特定应用的元数据通告给一个或多个分支设备。该计算系统还包括一个或多个边缘设备,该一个或多个边缘设备被配置为观察流量,该流量是针对在结构列表中选择的应用的,并收集特定应用的元数据。计算系统执行一个或多个过程,包括用于执行应用发现以识别一个或多个端点并跟踪在端点之间建立的会话的第一过程,用于基于关于所识别的端点和被跟踪会话的信息来执行应用结构构建的第二过程,用于基于对软定义网络系统中结构覆盖的预定要求执行应用监控的第三过程,以及用于通过基于应用流量类型确定服务质量(qos)的程度和预留需求带宽来执行应用控制和体验的第四过程。
74.图7图示了根据某些实施例的计算系统700的组件的示例。在特定实施例中,计算系统700可以被实现为管理器110、控制器120、边缘路由器(例如,131-138或231-238)、终端设备或用于执行本文公开的功能的其他合适的计算系统。在特定实施例中,一个或多个计算机系统700执行本文描述或说明的一种或多种方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统700提供在此描述或说明的功能。在特定实施例中,在一个或多个计算机系统700上运行的软件执行在此描述或说明的一种或多种方法的一个或多个步骤,或者提供在此描述或说明的功能。特定实施例包括一个或多个计算机系统700的一个或多个部分。在此,在适当的情况下,对计算机系统的提及可包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的提及可包括一个或多个计算机系统。
75.本公开设想任何合适数量的计算机系统700。本公开设想采用任何合适物理形式的计算机系统700。作为示例而非限制,计算机系统700可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网格、移动电话、个人数字助理(pda)、服务器、平板电脑系统、增强/虚拟现实设备、或这些中两个或更多个的组合。在适当的情况下,计算机系统700可以包括一个或多个计算机系统700;是单一的或分布式的;跨越多个地点;跨越多台机器;跨越多个数据中心;或驻留在云中,其可包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统700可以在没有实质空间或时间限制的情况下执行本文描述或说明的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统700可以实时或以批处理模式执行本文描述或说明的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统700可以在不同时间或在不同位置执行本文描述或说明的一种或多种方法的一个或多个步骤。
76.在特定实施例中,计算机系统700包括一个或多个处理器702、存储器704、存储装置706、输入/输出(i/o)接口708、通信接口710和/或总线712。虽然本公开描述并说明了特定布置中具有特定数量的特定组件的特定计算机系统,但本公开预期任何合适布置中具有任何合适数量的任何合适组件的任何合适的计算机系统。
77.在特定实施例中,处理器702包括用于执行指令(例如构成计算机程序的那些)的硬件。作为示例而非限制,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、存储器704或存储装置706检索(或获取)指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器704或存储装置706。在特定实施例中,处理器702可包括用于数据、指令或地址的一个或多个内部高速缓存。本公开设想处理器702在合适的情况下包括任何合适数量的任何合适的内部高速缓存。作为示例而非限制,处理器702可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个转换后备缓冲器(tlb)。指令高速缓存中的指令可以是存储器704或存储装置706中指令的副本,并且指令高速缓存可以加速处理器702对这些指令的检索。数据高速缓存中的数据可以是用于在处理器702处执行以进行操作的指令的存储器704或存储装置706中的数据的副本;在处理器702处执行的先前指令的结果(以供在处理器702处执行的后续指令访问或写入存储器704或存储装置706);或其他合适的数据。数据高速缓存可以加速处理器702的读或写操作。tlb可以加速处理器702的虚拟地址转换。在特定实施例中,处理器702可以包括一个或多个用于数据、指令或地址的内部寄存器。本公开设想处理器702在合适的情况下包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器702可以包括一个或多个算术逻辑单元(alu);是多核处理器;或者包括一个或多个处理器702。虽然本公开描述并说明了特定处理器,但是本公开考虑了任何合适的处理器。
78.在特定实施例中,存储器704包括用于存储供处理器702执行的指令或供处理器702操作的数据的主存储器。作为示例而非限制,计算机系统700可以将指令从存储装置706或另一个源(例如,另一个计算机系统700)加载到存储器704。处理器702然后可以将指令从存储器704加载到内部寄存器或内部高速缓存。为了执行指令,处理器702可以从内部寄存器或内部高速缓存中检索指令并对它们进行解码。在指令执行期间或之后,处理器702可将一个或多个结果(其可为中间或最终结果)写入内部寄存器或内部高速缓存。处理器702然后可以将这些结果中的一个或多个写入存储器704。在特定实施例中,处理器702仅执行一个或多个内部寄存器或内部高速缓存或存储器704(与存储装置706或其他地方相对)中的指令并且仅对一个或多个内部寄存器或内部高速缓存或存储器704(与存储装置706或其他地方相对)中的数据进行操作。一个或多个存储器总线(其每个可以包括地址总线和数据总线)可以将处理器702耦合到存储器704。总线712可以包括一个或多个存储器总线,如下所述。在特定实施例中,一个或多个存储器管理单元(mmu)驻留在处理器702和存储器704之间并促进处理器702请求的对存储器704的访问。在特定实施例中,存储器704包括随机存取存储器(ram)。在适当的情况下,该ram可以是易失性存储器。在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口或多端口ram。本公开考虑任何合适的ram。在适当的情况下,存储器704可以包括一个或多个存储器704。尽管本公开描述并说明特定存储器,但本公开考虑任何合适的存储器。
79.在特定实施例中,存储装置706包括用于数据或指令的大容量存储器。作为示例而非限制,存储装置706可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或这些中两个或多个的组合。在适当的情况下,存储装置706可以包括可移除或不可移除(或固定)介质。在适当的情况下,存储装置706可以在计算机系统700的内部或外部。在特定实施例中,存储装置706是非易失性固态存储器。在特定实施例
中,存储装置706包括只读存储器(rom)。在适当的情况下,此rom可以是掩码编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可变rom(earom)或闪存或这些中两种或更多种的组合。本公开考虑采用任何合适的物理形式的大容量存储装置706。在适当的情况下,存储装置706可以包括促进处理器702和存储装置706之间的通信的一个或多个存储控制单元。在适当的情况下,存储装置706可以包括一个或多个存储装置706。虽然本公开描述并说明了特定存储装置,但是本公开考虑了任何合适的存储装置。
80.在特定实施例中,i/o接口708包括硬件、软件或两者,为计算机系统700和一个或多个i/o设备之间的通信提供一个或多个接口。在适当的情况下,计算机系统700可以包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个可以实现人与计算机系统700之间的通信。作为示例而非限制,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、手写笔、平板电脑、触摸屏、轨迹球、摄像机、其他合适的i/o设备或这些中两个或更多个的组合。i/o设备可以包括一个或多个传感器。本公开考虑了任何合适的i/o设备和用于它们的任何合适的i/o接口708。在适当的情况下,i/o接口708可以包括使处理器702能够驱动这些i/o设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,i/o接口708可以包括一个或多个i/o接口708。尽管本公开描述并说明了特定的i/o接口,但本公开考虑了任何合适的i/o接口。
81.在特定实施例中,通信接口710包括硬件、软件或两者,其提供用于计算机系统700与一个或多个其他计算机系统700或一个或更多网络之间的通信(诸如例如,基于分组的通信)的一个或多个接口。在特定实施例中,通信接口710可以促进计算机系统700与管理器110、控制器120、边缘路由器(例如,131-138或231-238)或终端设备之间的通信。作为示例而非限制,通信接口710可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或者用于与无线网络例如wi-fi网络通信的无线nic(wnic)或无线适配器。本公开为它设想了任何合适的网络和任何合适的通信接口710。作为示例而非限制,计算机系统700可以与自组织网络、个域网(pan)、局域网(lan)、广域网(wan)、城域网(man)、或互联网络的一个或多个部分、或这些中两个或更多个的组合进行通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。作为示例,计算机系统700可以与无线pan(wpan)(例如bluetooth wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如全球移动通信系统(gsm)网络、长期演进(lte)网络或5g网络)、或其他合适的无线网络或这些中两个或更多个的组合进行通信。在适当的情况下,计算机系统700可以包括用于这些网络中的任何网络的任何合适的通信接口710。在适当的情况下,通信接口710可以包括一个或多个通信接口710。尽管本公开描述并说明了特定的通信接口,但是本公开考虑了任何合适的通信接口。
82.在特定实施例中,总线712包括将计算机系统700的组件彼此耦合的硬件、软件或两者。作为示例而非限制,总线712可以包括加速图形端口(agp)或其他图形总线、增强型工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、infiniband互连、低引脚数(lpc)总线、内存总线、微通道架构(mca)总线、外围组件互连(pci)总线、pci

express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线或其他合适的总线或这些中两个或更多个的组合。在适当的情况下,总线712可以包括一个或多个总线712。尽管本公开描述并说明了特定总线,但本公开考虑了任何合
适的总线或互连。
83.在此,在适当的情况下,计算机可读非暂态存储介质或媒体可以包括一个或多个基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或应用特定的ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂态存储介质、或这些中两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性、非易失性或易失性和非易失性的组合。
84.总之,在一个实施例中,一种方法包括向sd-wan的多个边缘路由器提供第一配置文件,该多个边缘路由器可操作以将多个设备连接到sd-wan。第一配置文件使多个边缘路由器能够发现多个设备中的哪些设备支持第一应用。该方法包括从边缘路由器中的一个或多个接收指示多个设备中的哪些设备支持第一应用的信息以及基于指示多个设备中的哪些设备支持第一应用的信息来构建第一应用结构。
85.本公开的某些实施例可以提供一个或多个技术优点。某些实施例的技术优点允许根据sd-wan的哪些部分支持特定应用而为不同应用构建不同的应用结构覆盖。例如,第一应用结构覆盖(如图1所示)可用于第一应用,第二应用结构覆盖(如图2所示)可用于第二应用,第三应用结构覆盖(如图4所示)可用于第三应用,对于任何合适数量的应用,依此类推。每个应用结构覆盖都是拓扑独立的,覆盖不需要接触所有站点。作为示例,在实施例中,第一应用可以对应于监管应用,使得连接用于校园监管的摄像机成为第一应用结构覆盖的一部分,第二应用可以对应于医疗保健应用,使得符合hipaa设备成为第二应用结构覆盖的一部分,并且第三应用可以对应于实时协作应用,使得实时协作软件成为它自己的(第三)应用结构覆盖。其他实施例可以为额外的应用或不同的应用构建应用结构覆盖。某些实施例可以包括所有这些优点、一些优点或不包括这些优点。本领域普通技术人员将理解其他技术优点。
86.本公开的范围包括本领域普通技术人员将理解的对在此描述或说明的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于在此描述或说明的示例实施例。此外,虽然本公开在本文中将各个实施例描述和说明为包括特定组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可包括本领域普通技术人员将理解的本文任何地方描述或说明的组件、元件、特征、功能、操作或步骤中的任何一个的任何组合或排列。此外,在所附权利要求中提及装置或系统或装置或系统的组件适配为、布置为、能够、配置为、实现为、操作为或可操作为执行特定功能包括该装置、系统、组件(无论它或该特定功能)被激活、打开或解锁,只要该装置、系统或组件如此适配、布置、有能力、配置、实现、操作或可操作。此外,虽然本公开将特定实施例描述或说明为提供特定优点,但特定实施例可不提供这些优点、提供一些或所有这些优点。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1