用于基于意图的联网的闭合环路自动化的制作方法

文档序号:30087935发布日期:2022-05-18 06:46阅读:99来源:国知局
用于基于意图的联网的闭合环路自动化的制作方法

1.本公开涉及对网络上启用的服务的保障。


背景技术:

2.基于意图的联网的一个强制性步骤涉及到为服务保障而利用遥测来闭合环路。在监视模仿服务的合成流量时,发现服务是否履行其服务水平协议(service level agreement,sla)是相对容易的。然而,这样一个过顶机制只提供了sla服从性结果,将启用了服务的网络视为“黑盒子”,而不知晓服务的内部运作或者低级别组件。因此,负责服务监视的网络运营者对哪些具体的退化或故障的网络组件/功能是导致服务退化的原因了解有限或没有了解。当网络是由异质的网络组件组成时,这个问题尤其困难。当今存在的遥测技术会报告运行信息,但出现的一个问题是,来自网络中的网络设备的遥测并不能提供服务情境信息。因此,在一方面是服务信息,另一方面是网络设备特定的遥测信息的情况下,基于遥测的服务故障排查是非常复杂的。如果网络运营者发现某个服务性能不佳,例如,没有履行其sla,那么网络运营者几乎不可能以高效的方式识别该服务的哪些低级别组件是造成这种性能不佳的原因。无法高效地识别有问题的低级别组件阻碍了在组件级别进行维修以便恢复服务的可接受性能的努力。
附图说明
3.图1a是根据示例实施例的网络服务保障系统或体系结构(也称为“服务保障系统”)的框图。
4.图1b是根据示例实施例的网络保障系统中的服务配置数据库的图示。
5.图2a是根据示例实施例示出服务保障系统的保障协调器、代表性保障代理和代表性网络设备的额外细节的框图。
6.图2b是根据示例实施例示出服务保障系统的保障代理和网络设备的分布式布置的框图。
7.图3是根据示例实施例的第一网络设备和第一网络设备上用于特定服务的接口的服务配置信息的图示。
8.图4是根据示例实施例的第二网络设备和第二网络设备上用于特定服务的接口的服务配置信息的图示。
9.图5是根据示例实施例的用于特定服务的与第二网络设备相关联的第一交叉连接(xconnect)的服务配置信息的图示。
10.图6是根据示例实施例的某个服务的子服务依赖图的图示,它采取子服务依赖树的示例形式。
11.图7是根据示例实施例的基于子服务依赖图生成的一般性试探包的图示。
12.图8是根据示例实施例的服务所使用的网络设备的试探包的图示。
13.图9是根据示例实施例的用于服务的网络设备上实现的网络协议的试探包的图
示。
14.图10是根据示例实施例的基于对属于特定服务的带服务标签的子服务度量的分析而生成来由服务保障系统的保障收集器显示的用户界面(ui)的图示。
15.图11是根据示例实施例的基于对多个服务的带服务标签的子服务度量的分析而生成来由保障收集器显示的ui的图示。
16.图12是根据示例实施例的用于配置服务的子服务的监视对象的图示。
17.图13是根据示例实施例的采取与监视对象相对应的遥测对象的形式的带服务标签的子服务度量的图示。
18.图14是根据示例实施例的执行对网络上启用的服务的保障的方法的流程图。
19.图15是根据示例实施例的适合于执行用于基于意图的联网的闭合环路自动化的服务保障系统的框图。
20.图16是根据示例实施例的由图15的服务保障系统执行的用于基于意图的联网的闭合环路自动化的方法的流程图。
21.图17根据示例实施例示出了在图16的方法中的用于确定服务的整体健康状态的操作上扩展的操作。
22.图18根据示例实施例示出了在图16的方法中的用于确定服务的整体健康状态的操作上扩展的操作。
23.图19是根据示例实施例的在图15的服务保障系统实现的用于基于意图的联网的闭合环路自动化中用于请求子服务重配置的服务保障消息的图示。
24.图20是根据示例实施例的网络协调器和保障实体的示例计算机系统的硬件框图,该保障实体代表服务保障系统的保障协调器、保障代理和保障收集器中的一个或多个。
25.图21是根据示例实施例的其上可实现子服务的网络设备的框图。
具体实施方式
26.概述
27.在独立权利要求中记载了本发明的各方面并且在从属权利要求中记载了优选特征。一个方面的特征可被单独应用到任何方面或者与其他方面组合应用。
28.在被配置为为网络上启用的服务配置和提供保障的一个或多个实体处执行了一种方法。该服务被配置为网络的网络设备上的子服务的集合。服务的定义被分解成子服务依赖图,该图指示出共同实现该服务的子服务以及子服务之间的依赖关系。基于子服务依赖图,子服务被配置为记录和报告指示子服务的子服务健康状态的子服务度量。从子服务获得子服务度量,并且基于子服务度量确定子服务的子服务健康状态。基于子服务健康状态确定服务的健康状态。基于服务的健康状态,重配置子服务中的一个或多个。
29.也提供了用于实现本文描述的方法的相应系统和装置。
30.示例实施例
31.用于基于意图的联网的服务保障(service assurance for intent-based networking,sain)
32.参考图1a,其中有示例网络服务保障系统或体系结构100(在此也被称为“服务保障系统”100)的框图。服务保障系统100例如可以提供用于基于意图的联网的服务保障
configuration protocol,netconf)(或者类似地,代表性状态传送(representational state transfer,rest)配置(restconf))来向网络设备112推送基于意图的网络设备配置对象,例如又一个下一代(yet another next generation,yang)模型或者对象。类似地,对于服务配置信息116,网络协调器102也可以采用例如netconf来向保障协调器106推送基于意图的服务配置yang对象。yang是一种数据建模语言,用于定义通过兼容netconf的网络发送来配置资源的数据。netconf被用于安装、操纵和删除资源的配置,而yang则被用于对资源的配置和状态数据两者进行建模。用于实现本文提出的实施例的yang模型/对象可包括被扩展为包括根据rfc 7952的服务特定元数据注释的yang模型/对象,或者可能成为未来标准的主题的任何其他格式。
38.网络协调器102在网络设备112中的一个或多个上配置广泛的不同子服务,以启用/支持服务网络113上的每个服务。为此,网络协调器(i)生成子服务配置信息,该信息包括网络设备配置命令/指令和要配置的子服务的关联配置参数,并且(ii)在网络设备配置信息114中把子服务配置信息推送给网络设备112,如上所述。网络协调器102还在服务配置信息116中向保障协调器106提供子服务配置信息,如上所述。
39.网络协调器102在服务配置数据库(db)150中存储网络服务协调器在服务网络113上配置的每个服务的定义。在一示例中,服务配置数据库150可以被容宿在网络协调器102上。参考图1b,有对于服务配置数据库150的示例的图示。在图1b的示例中,服务配置数据库150存储来自图1a的服务1和服务2的定义152(1)和152(2)(也被称为“服务定义”)。每个定义152(i)可以与上述服务的定义相似或相同。每个定义152(i)可包括服务定义所涉及的服务的服务类型154(i)和服务实例156(i),以及描述该服务在服务网络113上如何被实际实现/配置的配置信息158(i)。更具体而言,用于给定服务的配置信息158(i)对于给定服务的每个子服务包括各自的子服务标识符(id)(例如,子服务id1-1、子服务id1-2,等等依此类推),以及各自的子服务配置信息(例如,用于在网络设备上配置该子服务的特定操作和/或基于意图的网络设备配置对象)。网络协调器102可以使用子服务的服务类型、服务实例和子服务标识符作为服务配置数据库150的索引,以搜索和查找子服务各自的子服务配置信息。
40.网络协调器102可以配置的子服务的非限制性示例包括第一层(l1)、第二层(l2)和第三层(l3)连接/接口、封包路由协议、逻辑网络覆盖(例如,等成本多路径路由(equal-cost multi-path routing,ecmp))、以及与流量整形有关的子服务。下面提供在网络设备112之中的一网络设备上被网络协调器102采用来配置上述示例子服务的操作的非限制性示例。
41.为了配置l1连接/接口:
42.a.进入l1接口配置模式。
43.b.在网络设备上配置组件和接口参数,包括硬件参数、存储器缓冲区、光发送功率、以及网络设备上的光接口采用的光编码/调制。
44.c.退出l1接口配置模式。
45.为了配置l2连接/接口:
46.a.选择接口的类型(即,l2、虚拟lan(virtual lan,vlan)、端口通道)。
47.b.进入l2接口配置模式。
48.c.指派媒体访问控制(media access control,mac)地址、最大传输单元(maximum transmission unit,mtu)、以及l2服务质量(quality-of-service,qos)分类(简称为“qos”)。
49.d.启用l2接口(不关断/启用l2接口命令)。
50.e.退出l2接口配置模式。
51.为了配置l3连接/接口:
52.a.选择接口的类型(即,l3)。
53.b.进入l3接口配置模式。
54.c.指派互联网协议(internet protocol,ip)地址、l3 mtu、以及l3qos。
55.d.启用l3接口(不关断/启用l3接口命令)。
56.e.退出l3接口配置模式。
57.为了配置封包路由协议(例如,中间系统到中间系统(intermediate system to intermediate system,isis)):
58.a.检查封包路由协议的先决条件:
59.i.在至少一个接口上配置了ip地址。
60.ii.为某个地址族(例如,ipv4、ipv6)运行的ip路由进程。
61.b.为封包路由协议进入接口配置模式。
62.c.选择路由协议(例如,isis),并且在网络设备上启动路由协议进程(例如,路由器路由信息协议(routing information protocol,rip)、路由器开放最短路径优先(open shortest path first,ospf))。
63.d.指派接口以包括路由通告(为通告选择ip网络)。
64.e.指派ip地址、l3 mtu、以及l3 qos。
65.f.退出接口配置模式。
66.为了配置ecmp:
67.a.为ecmp识别并行链路或并行多路径和关联的网络设备接口。
68.b.进入ecmp配置模式。
69.c.进入接口或路由配置模式
70.i.在步骤(a)中识别的接口之间配置相等成本(例如,相应地配置路由信息库(routing information base,rib)、转发信息库(forwarding information base,fib))。
71.d.退出ecmp配置模式。
72.为了将流量整形配置为其自身的子服务或者另一个子服务的子组件,例如接口:
73.a.识别网络流量的类别(例如,策略图/类别图)。
74.b.定义整形,指派流量的峰值/平均值,以及突发概要。
75.c.进入接口(或者永久虚拟电路(permanent virtual circuit,pvc))配置模式。
76.d.将上面定义的整形应用于接口。
77.e.退出接口配置。
78.上面列出的子服务和配置子服务的操作只是作为示例提供的,并且可以被修改和/或扩展以包括额外的子服务和操作,正如阅读了本说明书的相关领域的普通技术人员将会明白的。
79.保障协调器
80.返回到图1a,保障协调器106作为中央控制器进行操作,以实现对部署在服务网络113上的服务的保障。也就是说,保障协调器106采用“服务意识”来控制部署在服务网络113上的服务的保障。在这个角色中,保障协调器106执行几个主要操作。首先,保障协调器106从服务配置信息116中定义的每个服务的定义中的服务类型和服务实例,为服务生成唯一的服务标签。在一示例中,给定服务的服务标签可以是一个元组,它包括来自该给定服务的定义的服务类型和服务实例。服务标签可用于将它所涉及的服务与所有其他服务区分开来。
81.第二,保障协调器106将服务配置信息116中定义的每个服务的定义分解为子服务各自的子服务依赖图,以及在网络上共同(实际)实现该服务的子服务之间的依赖/相互依赖关系。也就是说,保障协调器106将每个服务剖析为各自的子服务依赖图。子服务依赖图包括表示子服务的(子服务)节点和表示子服务之间的依赖关系的节点之间的链接。子服务依赖图可包括子服务依赖图所表示的服务的服务类型和服务实例(例如,服务标签)。为了协助上述分解,保障协调器106可以轮询或查询定义中识别的各种网络设备,以发现在网络设备上实现并且将被纳入到子服务依赖图中的子服务,例如封包路由协议。
82.在非限制性实施例中,子服务依赖图包括子服务依赖树,该树具有表示服务的根节点,以及表示子服务的节点,这些节点在节点/子服务之间具有通回到根节点的父-子关系(即,依赖关系)。下面联系图6描述子服务依赖树的示例。其他类型的图结构/数据结构可用于表示子服务依赖图,正如阅读了本说明书的本领域普通技术人员将会明白的。
83.第三,保障协调器106从每个子服务依赖图得出用于子服务依赖图所描述的服务的各自一组试探包(heuristic package)。试探包(i)指定/定义与服务有关的度量(即,子服务度量),这些度量将被子服务监视/记录和报告,并且指示子服务的健康状况/状态,即,它们是子服务的健康状态的指标,(ii)包括规则来基于所记录和报告的子服务度量确定/计算关键性能(key performance,kpi),其中包括子服务的健康状态(也单独称为“子服务健康状态”,并且统称为“子服务健康状态”),以及(iii)哪些传感器路径(即,遥测路径)将被启用以报告遥测,即,从子服务报告子服务所记录的子服务度量。试探包还可包括试探包所对应的服务的服务标签或者与该服务标签相关联。保障协调器106采用试探包来配置保障代理108以监视服务的子服务,并且基于该监视来计算子服务的健康状态,如下所述。
84.第四,保障协调器106向保障代理108提供保障代理配置信息118,包括彼此关联的试探包及其相应的服务标签。保障协调器106可以采用netconf来将试探包作为yang对象推送给保障代理108。保障协调器106也可以在保障收集器配置信息119中向保障收集器110提供子服务依赖图。
85.保障代理
86.保障代理108充当网络设备112、保障收集器110和保障协调器106之间的中间保障设备。更具体而言,保障代理108将包括试探包在内的保障代理配置信息118转化为遥测配置信息120,并且将遥测配置信息提供给网络设备112,以配置网络设备112来记录和报告上述的子服务度量。例如,保障代理108生成监视对象,这些监视对象定义要由子服务记录和报告的子服务度量,并且在遥测配置信息120中将监视对象提供给子服务,以配置子服务来记录和报告子服务度量。保障代理108可以维护试探包、由试探包生成的监视对象以及试探
agreement,sla)插件p3;与启用netflow的网络设备进行通信的netflow
tm
协议插件p4;提供个体数据封包和流量的实时遥测的原地操作、管理和维护(in-situ operations,administration,and maintenance,ioam)插件p5;应用编程接口(application programming interface,api)p6;以及多层环境中层独立oam管理(layer independent oam management in the multi-layer environment,lime)p7。
94.netconf代理206消化由保障协调器106发送的试探包204。netconf代理206基于试探包生成监视对象(在遥测配置信息120中)作为网络设备配置yang对象,并且将监视对象推送到网络设备112(1),以针对用于报告所记录的子服务度量的模型驱动遥测(model-driven telemetry,mdt)来配置网络设备。netconf代理206可以在监视对象中包括监视对象所涉及的子服务的各自标识符(例如,网络设备112(1)的标识符,因为网络设备是子服务),以及子服务所涉及的服务的服务标签。遥测消费者208从网络设备112(1)接收在与监视对象相对应的(模型驱动的)遥测对象中记录的子服务度量122。遥测对象包括子服务度量、子服务度量所涉及的子服务的标识符(例如,网络设备112(1)的标识符),并且还可包括从相应的监视对象拷贝的服务标签。遥测消费者208将(接收到的)遥测对象传递给遥测生产者210。如上所述,遥测生产者210用服务标签来标记(接收到的)遥测对象,并且将所得到的带服务标签的遥测对象(表示带服务标签的子服务度量124)发送到保障收集器110的保障管线分析202,并且可选地发送到保障协调器106。遥测生产者210也可以在保障代理计算该信息的实施例中,将保障代理108(1)计算的子服务的任何kpi/健康状态拷贝到带服务标签的遥测对象中。
95.网络设备112(1)包括netconf代理220和mdt生产者222。netconf代理220从网络协调器102接收网络设备配置信息114,并且基于网络设备配置信息在网络设备112(1)上配置(一个或多个)子服务。netconf代理220还从netconf代理206接收监视对象,并且基于监视对象配置网络设备,包括mdt生产者222。mdt生产者222按照监视对象的指示在遥测对象中记录其本地子服务度量及其子服务标识符,并且可以可选地在遥测对象中包括相应的服务标签,并且将遥测对象报告给遥测消费者208。
96.分布式保障系统
97.参考图2b,其中有一个框图,示出了服务保障系统100的保障代理108和网络设备112的分布式布置的示例。在图2b的示例中,保障代理108(1)与网络设备112(1)-112(3)共同位于第一地理位置,并且保障代理108(2)与网络设备112(4)-112(6)共同位于与第一地理位置分离的第二地理位置。服务1(见图1a)可以在网络设备112(1)-112(3)上实现,并且服务2可以在网络设备112(4)-112(6)上实现。地理上分布的保障代理108(1)和108(2)向集中式保障代理108(3)报告其带服务标签的遥测对象,集中式保障代理108(3)将带服务标签的子服务度量转发给保障收集器110。
98.现在参考图3-图5描述服务类型l2虚拟专用网络(virtual private network,vpn)l2vpn(它是对等(peer-to-peer,p2p)连通性类型(即,l2vpn-p2p))的服务实例“xyz”(例如,用于客户xyz)的服务配置信息116的示例。在图3-图5中,示例服务配置信息被表示为yang模型的可扩展标记语言(extensible markup language,xml)编码。
99.服务配置信息/定义示例
100.参考图3,其中有第一网络设备和服务实例xyz的接口的第一示例服务配置信息
300的图示。更具体而言,第302行对于在第304行处指示的类型“l2vpn”的服务实例xyz,为第一提供者边缘(provider edge,pe)网络设备“sain-pe-1”(例如,路由器)/在该网络设备上引入了“gigabitethernet”接口。如第302行处所示,第一网络设备sain-pe-1正在运行思科的xr操作系统。第306行为gigabitethernet接口提供标识符“0/0/0/3”。第308行为该接口定义了最大传输单元(mtu)。第310和312行的群组定义了在该接口上配置的ipv4和ipv6地址的参数。
101.参考图4,其中有服务实例xyz的第二网络设备的第二示例服务配置信息400的图示。更具体而言,第402行对于在第406行处指示的类型“l2vpn”的服务实例xyz引入了第二pe网络设备“sain-pe-2”(例如,路由器)。第408行定义了由网络设备sain-pe-2处理的流量的qos分类,作为默认值。替换地,或者额外地,服务配置信息400可以定义体验质量(quality-of-experience,qoe)分类。第410行定义了网络设备sain-pe-2的策略率。
102.参考图5,其中有用于服务实例xyz的与第二网络设备sain-pe-2相关联的第一交叉连接(“xconnect”)的第三示例服务配置信息500的图示。“xconnect”是用于创建l2 vpn(l2vpn)的l2伪线(l2 pw)。xconnect的示例在https://www.amazon.com/layer-vpn-architectures-networking-technology-ebook/dp/b0051tm5bm处提供,由c.pignataro撰写。在服务保障的当前情境中,“xconnect”指的是用于例如在思科互联网络操作系统(internetwork operating system,ios)-xr/ios-xe操作系统中实现伪线的命令的语法。
103.第502行将第二网络设备sain-pe-2与服务实例xyz关联。第504行定义了第一xconnect,它与第506行的gigabitethernet子接口0/0/0/2.600相关联,并且与第508行的ipv4地址192.168.0.17相关联。
104.子服务依赖图示例
105.参考图6,其中有服务l2vpn-p2p(意思是用于对等连接的l2 vpn)的采取子服务依赖树600的形式的示例子服务依赖图的图示。子服务依赖树600(或者简称为“树”)在树的最高级别包括服务节点a-1。服务节点a-1通过服务标签元组来识别/表示服务,该元组包括服务类型和服务实例,例如,元组《服务类型,服务实例》。在图6的示例中,服务节点a-1表示服务《l2vpn-p2p,xyz》。树600的较低级别被填充了子服务节点(示为方框),这些节点识别/表示服务《l2vpn-p2p,xyz》的各个子服务,并且通过子服务依赖关系或者父-子链接(示为连接相互依赖的方框的线)连接回到服务节点a-1。每个子服务节点包括该子服务节点所表示的子服务的标识符(例如,纯文本标识符,如图6中所描绘)。在图6的示例中,树600的较低级别包括:
106.a.第二级别,其包括子服务节点b-1和b-2,用于在网络设备sain-pe-1和sain-pe2上实现的xconnect子服务;
107.b.第三级别,其包括子服务节点c-1,用于与网络设备sain-pe-1和sain-pe2上的组件的l3网络连通性子服务。
108.c.第四级别,其包括子服务节点d-1和d-2,用于网络设备sain-pe-1和sain-pe-2上的路由协议子服务(例如,中间系统到中间系统(is-is))。
109.d.第五级别,其包括子服务节点e-1和e-2,用于网络设备sain-pe-1和sain-pe-2上的子接口子服务。
110.e.第六级别,其包括子服务节点f-1-f-8,用于网络设备sain-pe-1或sain-pe-2上
的接口子服务,如图所示。
111.f.第七级别,其包括子服务节点g-1-g3,用于作为子服务的网络设备sain-pe-1和sain-pe-2,如图所示。
112.在子服务依赖树600的一个示例分支中,服务《l2vpn-p2p,xyz》依赖于子服务节点b-1的子服务,该子服务依赖于子服务节点e-1的子服务,该子服务节点e-1的子服务依赖于子服务节点f-2的子服务,沿着树的级别向下依此类推。正如子服务链接所指示的,给定的子服务可依赖于多个其他子服务。从树的最高级别到最低级别向下穿越树600的级别,服务《l2vpn-p2p,xyz》的子服务包括网络设备上(例如,sain-pe-1和sain-pe-2上)的网络xconnect、网络设备上的l3网络连通性(网络设备上的l2网络连通性也可以是子服务)、网络设备上的路由协议、网络设备的接口、网络设备的子接口、以及网络设备本身。
113.一般而言,子服务包括:网络设备上的xconnect;网络设备上的l1(例如,光学)、l2和l3网络连通性;网络设备上的路由协议;网络设备的接口;网络设备的子接口;接口和子接口的通信行为;网络设备本身以及在网络设备上/由网络设备执行的操作。子服务还包括逻辑网络功能以及逻辑和物理元素的分组,例如:网络设备的ecmp/ecmp组;网络隧道;在网络中执行的链路保护功能;在网络中执行的网络设备保护功能;以及物理网络上的逻辑覆盖。
114.逻辑覆盖例如可包括:链路聚合组(link aggregation group,lag)的链路聚合;虚拟可扩展(virtual extensible,vx)lan(vxlan);vxlan-通用协议扩展(generic protocol extension,gpe);通用路由封装(generic routing encapsulation,gre);服务功能链(service function chaining,sfc)功能,包括网络服务头部(network service header,nsh)实现;以及多协议标签交换(multiprotocol label switching,mpls)。子服务还可包括应用,例如按照rfc 6759的应用分类。子服务还可包括网络设备上的一个或多个多播子网。
115.试探包
116.现在联系图7-图9来描述示例试探包。
117.参考图7,其中有基于子服务依赖图生成的示例一般性试探包700的图示。试探包700包括头部702,该头部识别了试探包所针对的子服务依赖图的子服务,以及试探包将被用于的总体功能。例如,头部702可以识别xconnect、l3连通性、路由协议、子接口、接口或者网络设备中的任何特定一个,并且头部可以指定试探包将被用于确定所指示的子服务的健康。
118.试探包700可包括参量704,这些参量指示出要使用试探包的各种条件,例如子服务要被监视的持续时间。试探包700还包括表达式706,其包括测量708和计算710。测量708指定要被记录的子服务的子服务度量。例如,对于网络设备子服务,子服务度量可包括中央处理器单元(cpu)使用、空闲存储器、温度、功率,等等。对于网络设备的接口,子服务度量可包括流量率,等等。计算710提供基于子服务度量来计算kpi的规则和/或指令,以及确定子服务的健康状态的指令,例如将与计算出的值进行比较以确定健康状态的阈值。
119.计算710可包括计算健康状态的规则,该健康状态是二元的,即这样的健康状态:该健康状态在子服务正常操作(例如,满足期望的性能水平)时指示出合格健康状态,或者在子服务不正常操作(例如,不满足期望的性能水平)时指示出失败健康状态(这是退化的
健康状态)。或者,规则可以计算分级的健康状态,即,指示出从合格到失败的可能健康状态范围内的健康状态,例如,包括合格健康状态、失败健康状态、以及不是合格健康状态或失败健康状态的退化健康状态(在这种情况下,退化意味着在合格和失败之间)。在一示例中,健康状态可包括以下计算出的健康状态值:失败=0,0<退化<1,合格=1。
120.参考图8,其中有网络设备子服务的示例试探包800的图示。试探包800包括头部802和参量804。一般而言,试探包800包括计算806a,以计算闪盘、闪存、硬盘和存储装置的健康指标(kpi)。例如,计算806a包括规则来设置健康状态以在闪盘的存储器已满的情况下指示出退化健康状态,并且包括进一步规则来评估以下布尔运算:flash_disk_free/flash_disk_size》0.05,等等依此类推。试探包800包括列出要测量的功率度量(例如,功率需求)的测量808,以及基于功率度量计算健康状态的计算806b。试探包800还包括计算806c,以基于在先前的计算806a和806b中计算的值来为网络设备计算整体健康状态(kpi)。也就是说,计算806c定义了一种规则表达式,来基于子服务度量和上述计算出的(中间)值来评估子服务的整体健康状态。
121.参考图9,其中有用于在网络设备上实现的网络协议(例如,is-is)子服务的示例试探包900的图示。试探包900包括头部902和参量904。试探包900包括测量906,来测量与is-is相关联的度量,包括确定网络设备上的有效ipv4和ipv6 is-is路由的列表(例如,从网络设备中的转发或者路由表)。试探包900包括计算908,来基于来自测量906的度量来计算kpi,这些kpi包括ipv4和ipv6 is-is路由的各种计数和稳定性,并且基于先前计算出的值/kpi来为is-is计算整体健康状态910,这也是kpi。
122.保障收集器操作和用户界面
123.现在联系图10和图11并且再次参考图1a来描述保障收集器110的进一步操作。如上所述,保障收集器110从保障代理108为各种服务、各种服务的子服务依赖图和各种服务的试探包接收/收集带服务标签的子服务度量124。每个子服务依赖图包括该子服务依赖图所涉及的服务的服务标签。每个试探包包括该试探包所涉及的服务标签。保障收集器110将所有用给定的服务标签标记的带服务标签的子服务度量124(以及子服务的健康状态,如果可用的话)关联到包括该给定服务标签的子服务依赖图,并且关联到包括该给定服务标签的试探包。换句话说,保障收集器110将具有匹配(即,相同)的服务标签的所有带服务标签的度量124(以及子服务的健康状态)、子服务依赖图以及试探包相互关联,并且关联到由该服务标签标识的服务。
124.对于每个服务,保障收集器110可以用由带服务标签的子服务度量所表示的子服务依赖图的子服务的相应健康状态来填充子服务依赖图。例如,保障收集器110可以用节点所表示的子服务的健康状态来填充服务的子服务依赖树的节点。在保障代理108将子服务的健康状态与带服务标签的子服务度量一起提供给保障收集器110的实施例中,保障收集器可以用提供的健康状态来填充子服务依赖树。或者,保障收集器110根据相应的试探包,从相应的带服务标签的度量124计算子服务的健康状态,然后用计算出的健康状态来填充子服务依赖树。
125.可以生成用子服务的健康状态填充的所得到的子服务依赖图,以便以图的形式(例如,树)或者以其他方式(例如,作为服务的子服务的列表)显示给管理员。另外,对于每个服务,保障收集器110可以基于该服务的子服务的健康状态来确定该服务的整体健康状
态(也可以简单地称为该服务的“健康状态”)。例如,如果所有子服务的健康状态都指示出合格健康状态,则保障收集器110可以将整体健康状态设置为指示出合格的整体健康状态。或者,如果子服务中的一个或多个的健康状态指示出失败健康状态,则保障收集器110可以将整体健康状态设置为指示出失败的整体健康状态。
126.参考图10,其中有示例用户界面(ui)1000的图示,该用户界面是由保障收集器110响应于收集和分析服务l2vpn-p2p,xyz的带服务标签的子服务度量而生成来显示的。如上所述,ui 1000包括服务的子服务依赖树600,但有各种子服务被突出显示(例如,带有阴影),以指示出退化健康状态(这可能意味着失败健康状态,或者,失败和合格之间的退化健康状态)。具体而言,ui 1000包括由子服务节点e-1、f-4和g-2所识别的子服务的阴影,这指示出这些子服务的退化健康状态,即,保障收集器110确定这些子服务的退化健康状态。此外,ui 1000包括由服务节点a-1所识别的服务l2vpn-p2p,xyz的阴影,这指示出该服务的退化的整体健康状态,即,保障收集器110基于其子服务的退化健康状态确定了该服务的退化的整体健康状态。在其他示例中,不同的颜色可以区分合格健康状态(例如,绿色)和退化健康状态(例如,橙色)。
127.ui 1000还包括信息窗口或面板1005,其提供退化的子服务和服务的健康状态和诊断信息。
128.参考图11,其中有示例用户界面(ui)1100的图示,该用户界面是由保障收集器110响应于收集和分析多个服务的带服务标签的子服务度量而生成来显示的。ui 1100包括面板1102,该面板示出了两个l1vpn-p2p服务的健康状态,包括服务实例客户a和客户b,两者都退化了。ui 1100包括面板1104,该面板示出了保障代理108的健康状态。ui 1100还包括指示出客户c和客户d隧道服务的健康状态的面板1106,指示出客户e ipv6服务的健康状态的面板1108,以及指示出客户服务的健康状态的面板1110。
129.监视和带服务标签的遥测对象
130.参考图12,其中有示例监视对象1200的图示。监视对象1200包括子服务标识符(id)1202和配置信息1204。配置信息1204可包括例如yang网络设备配置信息,并且根据试探包来识别要记录和报告的子服务度量。配置信息1204可包括一个或多个配置代码片段,以配置子服务,例如,网络设备,来执行子服务度量的记录/报告。例如,具有在运行ios-xr的网络设备中监视可用于mpls的(存储器)“可用空间”的指令的试探包可能导致在以该网络设备为目标的监视对象中出现以下命令行接口(cli)代码片段。
[0131][0132]
或者,监视对象可包括yang对象,它执行与cli代码片段相同的功能。或者,监视对象可包括二进制信息,例如封包。
[0133]
监视对象1200还可包括由子服务id标识的子服务所涉及的服务标签。
[0134]
参考图13,其中有示例带服务标签的遥测对象1300的图示。带服务标签的遥测对象1300包括子服务标识符1302、服务标签1304、以及信息1306。信息1306包括记录/报告的子服务度量、计算出的值以及根据用来生成相应监视对象的试探包的kpi(包括子服务的健康状态)。
[0135]
服务保障操作流程
[0136]
参考图14,其中有为网络上启用的服务执行保障的示例方法1400的流程图。方法1400可以由包括一个或多个实体的系统执行来为网络上的服务提供保障。该一个或多个实体可包括保障协调器106、保障代理108和保障收集器110中的一个或多个。
[0137]
在1402,例如由保障协调器106接收服务的配置的定义。该定义包括服务类型、服务实例、以及用于在网络中启用或实现服务的配置信息。
[0138]
在1404,从服务类型和服务实例生成服务标签。例如,保障协调器106生成服务标签。服务标签识别网络中的服务的具体实例,并且是唯一的,以便将该服务与其他服务区分开来。服务标签可以是包括服务类型和服务实例的元组。
[0139]
在1406,基于定义的配置信息,服务被分解为子服务和子服务之间的依赖关系的图,这些子服务在网络中共同实际实现该服务。服务标签被应用于子服务依赖图。例如,保障协调器106将服务分解为子服务依赖图,并且可将子服务依赖图提供给保障收集器110。
[0140]
在1408,子服务被配置为基于子服务依赖图来记录和报告指示子服务的健康状态的子服务度量(例如,每个子服务的各自健康状态)。健康状态可以分别指示出合格健康状态或者失败健康状态。或者,健康状态可以分别指示出健康状态范围内的健康状态,该范围包括合格健康状态、失败健康状态以及不是合格健康状态或者失败健康状态的退化健康状态。操作1408可包括以下进一步操作:
[0141]
a.基于子服务依赖图,保障协调器106生成试探包,通常对于每个子服务生成一个,这些试探包指定子服务要记录和报告的子服务度量,并且包括基于子服务度量来计算子服务的健康状态的规则。保障协调器106向保障代理108提供试探包和服务标签。
[0142]
b.响应于试探包,保障代理108从试探包生成定义子服务要记录和报告的子服务度量的监视对象,并且将监视对象提供给子服务以配置子服务来记录和报告子服务度量。
[0143]
在1410,响应于1408的配置,从子服务获得子服务度量。例如,响应于监视对象,子服务记录并且随后向保障代理108报告与监视对象相对应的遥测对象中的子服务度量。
[0144]
在1412,服务标签被应用于子服务度量,以产生带服务标签的子服务度量。例如,保障代理108接收遥测对象,将服务标签插入到遥测对象中,然后将(所得到的)带服务标签的遥测对象发送到保障收集器110。可选地,保障代理108还分析子服务度量,以根据试探包中的规则计算子服务的健康状态,并且在将其发送到保障收集器110之前将健康状态插入到带服务标签的遥测对象中,该保障收集器110接收带服务标签的遥测对象。
[0145]
在1414,带服务标签的子服务度量被分析以确定服务的健康状态。例如,保障收集器110(i)将带服务标签的遥测对象中的子服务度量与基于带服务标签的遥测对象的服务相关联,(ii)分析子服务度量以基于试探包中的规则计算子服务的个体健康状态(除非健康状态与带服务标签的遥测对象包括在一起),例如对每个子服务计算一个健康状态,以及(iii)基于子服务的个体健康状态确定服务的整体健康状态,这些子服务在(i)处基于服务标签与该服务相关联。例如,如果子服务的所有健康状态都指示出合格健康状态,则整体健康状态可被设置为指示出合格的整体健康状态。或者,如果子服务的一个或多个健康状态指示出失败健康状态,则整体健康状态可被设置为指示出失败的整体健康状态。或者,如果子服务的一个或多个健康状态指示出退化(不是失败或者合格)的健康状态,并且没有失败的健康状态,则整体健康状态可被设置为指示出退化(不是失败或者合格)的整体健康状态。
[0146]
此外,保障收集器110用其各自的健康状态填充子服务依赖图中的子服务的指示,并且生成填充的子服务依赖图来显示以提供视觉反馈。在各种实施例中,如上所述由保障收集器110执行的操作可以在保障收集器和保障协调器106之间共享。在省略了保障收集器110的另一实施例中,保障代理108直接向保障协调器106发送带服务标签的子服务度量(以及健康状态),并且保障协调器执行如上所述由保障收集器执行的所有操作。也就是说,保障协调器106作为保障协调器和保障收集器110来操作。
[0147]
在包括多个服务的环境中,由一个或多个实体为每个服务执行方法1400,以分别为每个服务产生唯一的服务标签、子服务依赖图、试探包、监视对象、遥测对象、带标签的遥测对象、子服务的健康状态、以及整体服务健康状态。一个或多个实体使用唯一的服务标签来区分服务以及为服务生成的上述信息。
[0148]
用于基于意图的联网的闭合环路自动化
[0149]
现在描述用于基于意图的联网的闭合环路自动化。例如,使用上文描述的技术,用于基于意图的联网的闭合环路自动化基于子服务的健康状态,发现包括子服务的集合的服务的整体健康状态。如果闭合环路自动化发现服务的整体健康状态(也称为“服务健康状态”)指示出失败的整体健康状态,则闭合环路自动化重配置子服务,以使得整体健康状态指示出合格的整体健康状态。换句话说,闭合环路自动化提供反馈,以便在服务保障系统100中“闭合环路”,以将服务的整体健康状态恢复到可接受的、合格的整体健康状态。
[0150]
参考图15,其中示出了适合于执行闭合环路自动化的服务保障系统100的框图。图15与图1a相似,只是图15示出了用于闭合环路自动化的额外流程。对于闭合环路自动化,保
障协调器106确定在服务网络113上实现的每个服务的整体健康状态,然后向网络协调器102提供服务保障消息1502(也称为“流1502”)。服务保障消息1502包括由保障协调器106确定的服务的整体健康状态,并且还可包括每个服务的子服务的健康状态。服务保障消息1502对于具有指示出失败(或退化)整体健康状态的整体健康状态的每个服务,还可包括重配置该服务的子服务的相应请求,以便使整体健康状态返回到合格的整体健康状态。重配置的请求也可以被称为“子服务重配置请求”。
[0151]
响应于在服务保障消息1502中接收到的重配置服务的子服务的每个请求,网络协调器102重配置该请求中识别的服务的子服务。为了重配置子服务,网络协调器102将子服务重配置信息1504(也被称为“流1504”)提供给网络设备112之中的容宿/实现要重配置的子服务的网络设备。子服务重配置信息1504的格式可以类似于网络设备配置信息114,并且可以按类似于网络设备配置信息被提供给网络设备的方式被提供给网络设备112。
[0152]
参考图16,其中有例如在图15中描绘的服务保障系统100中执行的用于基于意图的联网的闭合环路自动化的示例方法1600的流程图。方法1600包含了上文描述的各种操作。术语“子服务的健康状态”和“子服务健康状态”是同义的和可互换的。
[0153]
在1602,网络协调器102将服务作为网络的网络设备上的子服务的集合来配置,将服务的定义存储在服务配置数据库150中,并且将该定义提供给保障协调器106。该定义包括服务类型、服务实例和配置信息,如上所述。
[0154]
在1604,保障协调器106基于服务的定义生成服务标签,并且将定义分解为子服务依赖图,该子服务依赖图指示出共同实现服务的子服务以及子服务之间的依赖关系。操作1604可包括方法1400的操作1402-1406。
[0155]
在1606,基于子服务依赖图,保障协调器106和保障代理108共同配置子服务以记录和报告指示子服务的健康状态的子服务度量。操作1606可包括方法1400的操作1408。
[0156]
在1608,保障代理108和保障协调器106共同从子服务获得子服务度量,用服务标签来标记子服务度量,并且基于子服务度量来确定子服务的健康状态。操作1608可包括方法1400的操作1410、1412和1414。
[0157]
在1610,保障协调器106基于子服务的健康状态来确定服务的整体健康状态。在一示例中,保障协调器106用表示子服务的健康状态中的各个健康状态的数据来填充子服务依赖图的子服务节点,并且搜索子服务节点,以寻找指示出失败健康状态的子服务的任何健康状态。保障协调器106可以例如生成用表示子服务的健康状态的数据填充的子服务依赖图来显示,如图10所示。操作1610可包括方法1400的操作1414。
[0158]
在1612,如果整体健康状态指示出失败的整体健康状态,则保障协调器106基于子服务的健康状态将子服务中的一个或多个识别为对失败的整体健康状态负责的子服务。保障协调器106生成一个或多个服务保障消息,这些消息包括(i)服务的标识符(例如,服务标签),(ii)指示出失败整体健康状态的整体健康状态,(iii)对失败的整体健康状态负责的至少一个或多个子服务的标识符和健康状态,以及(iv)重配置该一个或多个子服务的请求。该一个或多个服务保障消息可以报告所有子服务的健康状态,而不仅仅是对失败的整体健康状态负责的一个或多个子服务的健康状态。保障协调器106向网络协调器102提供一个或多个服务保障消息,如图15的流程1502中所示。
[0159]
响应于一个或多个服务保障消息,包括重配置一个或多个子服务的请求,网络协
调器102重配置该一个或多个子服务。为此,网络协调器102(i)使用服务的标识符和来自一个或多个服务保障消息的一个或多个子服务的标识符作为索引,以从存储在服务配置数据库150中的服务定义中访问/取回一个或多个子服务的子服务配置信息,(ii)基于从服务定义取回的子服务配置信息来生成子服务重配置信息,并且(iii)将子服务重配置信息提供给网络设备112中的容宿/实现该一个或多个子服务的网络设备,如图15的流程1504中所示。响应于子服务重配置信息,网络设备112重配置一个或多个子服务以实现所请求的子服务重配置,从而为闭合环路自动化过程闭合环路。整个闭合环路自动化的执行无需人工干预。
[0160]
网络协调器102可以按许多不同的方式重配置一个或多个子服务,以改善服务的整体健康状态,例如,将整体健康状态从失败变为合格。在一个示例中,网络协调器102可以简单地重复在1602处执行的用于配置一个或多个子服务的操作,在这种情况下,子服务重配置信息可包括在1602处用于最初配置一个或多个子服务的相同的基于意图的网络设备配置对象。例如,网络协调器102可以重复上文联系图1b描述的操作来配置l1连接/接口、l2连接/接口、l3连接/接口、封包路由协议、ecmp、流量整形等等中的一个或多个,如在重配置请求中所识别的。
[0161]
在另一个示例中,网络协调器102可以重启一个或多个子服务。为了重启子服务,网络协调器102可以首先验证在服务定义中提供的子服务的权限和用户授权,强制实现子服务的进程进入特权模式,然后重启该进程或者容宿该进程的操作系统。或者,网络协调器102可以实现一进程来对与该一个或多个子服务相关联的关键网络设备和/或链路执行网络设备修复或者链路修复。
[0162]
在另外一个示例中,网络协调器102可以不完全重配置该一个或多个子服务,而是可以调整/修改该一个或多个子服务的选定操作参数(相对于其最初配置的值)以改善其操作性能。这仅构成对该一个或多个子服务的部分或有限的重配置。例如,对于该一个或多个子服务,网络协调器102可以:
[0163]
a.调整路由度量,例如成本路由。
[0164]
b.修改l2 qos、mtu,或者调整风暴控制策略(l2)。
[0165]
c.改变光传输功率或者硬编码接口速度(l1)。
[0166]
d.调整l3 qos或者mtu(l3)。
[0167]
e.改变ecmp散列输入(例如,使用目的地ip而不是源ip)。
[0168]
f.通过修改qos来执行流量整形,以确保所期望的流量吞吐量水平。
[0169]
g.调整接口流量吞吐量(例如,带宽)。
[0170]
在进一步的示例中,服务保障系统100可以重编程每个网络设备的遥测收集的详细水平和频率,以便更详细地调查为什么服务的整体健康状态指示出失败健康状态。
[0171]
在1614,如果整体健康状态指示出合格的整体健康状态,则保障协调器106生成一个或多个服务保障消息,这些消息包括(i)服务的标识符,(ii)指示出合格整体健康状态的整体健康状态,以及(iii)子服务的标识符和健康状态。该一个或多个服务保障消息不包括重配置子服务的请求。保障协调器106在流程1502中向网络协调器102提供不包括该请求的一个或多个服务保障消息。响应于不包括该请求的一个或多个服务保障消息,网络协调器102不重配置任何子服务。
[0172]
参考图17,其中示出了在方法1600中的用于确定服务的整体健康状态的操作1610上扩展的示例操作1700。
[0173]
在1702,保障协调器106计算子服务的每个健康状态,以分别指示出子服务中的相应一个的合格健康状态或者失败健康状态。
[0174]
在1704,保障协调器106确定服务的整体健康状态,如下:
[0175]
a.当子服务的一个或多个健康状态指示出失败健康状态时,将服务的整体健康状态设置为指示出失败的整体健康状态。
[0176]
b.当子服务的所有健康状态指示出合格健康状态时,将服务的整体健康状态设置为指示出合格的整体健康状态。
[0177]
参考图18,其中示出了在方法1600中的用于确定服务的整体健康状态的操作1610上扩展的示例操作1800。
[0178]
在1802,分别计算子服务的每个健康状态,以指示出可能的健康状态的范围内的健康状态,该范围包括合格健康状态、失败健康状态以及既不是合格健康状态也不是失败健康状态的退化健康状态。
[0179]
在1804,确定服务的整体健康状态,以指示出整体健康状态在可能的整体健康状态的范围内,该范围包括合格的整体健康状态、失败的整体健康状态、以及既不是合格的整体健康状态也不是失败的整体健康状态的退化的整体健康状态。
[0180]
参考图19,其中有可被包括在服务保障消息(流程)1502中的示例服务保障消息1900的图示。
[0181]
服务保障消息1900包括一起唯一标识服务的服务类型1902和服务实例1904、服务的整体健康状态1906、重配置一个或多个子服务的请求1908、以及一个或多个服务的标识符和健康状态1910。
[0182]
用于保障实体的计算机系统
[0183]
参考图20,其中示出了网络协调器102和服务保障实体(例如保障协调器106、保障代理108和保障收集器110中的一个或多个)的示例计算机系统2005的硬件框图。计算机系统2005,例如服务器,包括一个或多个处理器2010、网络接口单元(network interface unit,niu)2012(或者多个这样的niu)、以及存储器2014。存储器2014存储控制软件2016(被称为“控制逻辑”),该控制软件当被(一个或多个)处理器2010执行时,使得计算机系统为服务保障实体和为网络协调器102执行本文描述的各种操作。
[0184]
(一个或多个)处理器2010可以是微处理器或者微控制器(或者这种组件的多个实例)。niu 2012使得计算机系统2005能够通过有线连接或者以无线方式与网络进行通信。niu 2012可包括例如以太网卡或者其他具有连接端口的接口设备,该连接端口使得计算机系统2005能够经由该连接端口通过网络进行通信。在无线实施例中,niu 2012包括无线收发器和天线,以便向网络发送和从网络接收无线通信信号。
[0185]
存储器2014可包括只读存储器(read only memory,rom)、随机访问存储器(random access memory,ram)、磁盘存储介质设备、光学存储介质设备、闪存设备、电的、光的或者其他物理上有形的(即,非暂态的)存储器存储设备。从而,一般而言,存储器2014可包括一个或多个有形的(非暂态)计算机可读存储介质(例如,(一个或多个)存储器设备),其被编码有包括计算机可执行指令的软件或者固件。例如,控制软件2016包括逻辑来实现
由保障协调器106、保障代理108、保障收集器110和网络协调器102中的一个或多个(或者全部)执行的操作。从而,控制软件2016实现了上文描述的各种方法/操作。控制软件2016还包括逻辑来联系上文描述的方法/操作在必要时实现/为显示而生成图形用户界面(gui),或者更概括而言ui。
[0186]
存储器2014还存储由控制软件2016生成和使用的数据2018,包括网络配置信息和服务标签、服务定义、子服务依赖图、试探包、监视和遥测对象、子服务度量和带服务标签的子服务度量、健康状态和其他kpi、存储在存储器中的上述参数之间的映射,等等。
[0187]
用户,例如网络管理员,可以通过借由网络与计算机系统2005连接的用户设备2020(也被称为“网络管理设备”)通过gui与计算机系统2005交互,以接收报告、改变算法,等等。用户设备2020可以是个人计算机(膝上型、桌面型)、平板计算机、智能电话,等等,具有用户输入和输出设备,例如显示器、键盘、鼠标,等等。或者,与用户设备2020相关联的功能和显示器可以在计算机系统2005的本地提供或者与其相集成。
[0188]
在其他实施例中,保障实体可以被实现为一个或多个虚拟机(virtual machine,vm)和/或容器。
[0189]
参考图21,其中有代表网络设备112中的每一个的示例网络设备2100的框图。网络设备2100包括具有多个网络输入/输出(i/o)端口2142(1)-2142(p)的网络接口单元,来向一个或多个网络发送流量并且从网络接收流量;封包转发/处理单元2143;网络处理器2144(也简称为“处理器”);管理端口2145,来与其他网络设备和管理功能交换控制消息;以及存储器2146。封包转发/处理单元2143例如是一个或多个专用集成电路(application specific integrated circuit,asic),其包括封包缓冲器、封包队列和用于执行封包转发操作的其他控制逻辑。处理器2144可包括多个处理器,这些处理器可被实现为软件或硬件处理器。例如,处理器2144可包括被配置为执行网络设备2100的更高级别控制的微控制器或微处理器。为此,存储器2146存储软件指令,这些软件指令当被处理器2144执行时,使得处理器2144执行各种操作,包括本文描述的操作。例如,存储器2146存储用于控制逻辑2150的指令,以执行本文描述的操作,用于记录和报告子服务度量,并且用于响应于网络设备配置信息114而配置网络设备2100。控制逻辑2150也可包括封包转发单元2143中的逻辑组件。存储器2146还存储由逻辑2150使用和生成的数据2160。这样的数据可包括例如子服务度量和设备配置信息,如上所述。
[0190]
总之,本文提出的实施例,例如,用于基于意图的联网的服务保障(sain),使用由服务的子服务所记录和报告的子服务度量的服务标记,来帮助保障协调器/收集器在识别影响服务的子服务问题方面“大海捞针”。这种标记有助于保障协调器/收集器评估可能受到特定遥测数据/传感器影响的所有服务。该标记促进了用于数据减少的特定导出,以及过滤。保障协调器/收集器可以确定性地标记需要用户注意的服务,包括其子服务,或者可以为补救提供反馈。示例高级别操作包括:
[0191]
a.从保障协调器获取服务配置。服务配置包括服务类型和服务实例。
[0192]
b.从服务配置中创建特定的服务标签,例如,《服务类型/服务实例(例如,标识符)》元组。
[0193]
c.利用服务配置,保障平台(例如,保障协调器)将服务分解为该特定服务类型/实例的一系列子服务,具有试探包的规则。
[0194]
d.用服务标签来标记子服务度量。
[0195]
e.为了监视特定的客户服务实例,请求所有带有特定服务标签的子服务度量。
[0196]
f.当基于关键性能指标(kpi)来确定服务性能时,在服务退化/失败的情况下,基于服务标签识别已经失败的(一个或多个)特定组件/子服务。重配置服务(或者启用了该服务的网络),以避免故障组件。
[0197]
在一种形式中,提供了一种方法,包括:在网络的网络设备上将服务作为子服务的集合来配置;将所述服务的定义分解成子服务依赖图,该子服务依赖图指示出共同实现所述服务的子服务以及子服务之间的依赖关系;基于所述子服务依赖图,配置所述子服务来记录和报告指示所述子服务的子服务健康状态的子服务度量;从所述子服务获得所述子服务度量并且基于所述子服务度量来确定所述子服务的子服务健康状态;基于所述子服务健康状态来确定所述服务的健康状态;并且基于所述服务的健康状态来重配置所述子服务中的一个或多个。
[0198]
在另一种形式中,提供了一种系统,包括:一个或多个网络接口单元;以及一个或多个处理器,该一个或多个处理器耦合到所述一个或多个网络接口单元并且被配置为执行:在网络的网络设备上将服务作为子服务的集合来配置;将所述服务的定义分解成子服务依赖图,该子服务依赖图指示出共同实现所述服务的子服务以及子服务之间的依赖关系;基于所述子服务依赖图,配置所述子服务来记录和报告指示所述子服务的子服务健康状态的子服务度量;从所述子服务获得所述子服务度量并且基于所述子服务度量来确定所述子服务的子服务健康状态;基于所述子服务健康状态来确定所述服务的健康状态;并且基于所述服务的健康状态来重配置所述子服务中的一个或多个。
[0199]
在另外一种形式中,提供了一种计算机可读介质。该计算机可读介质存储指令,所述指令当被与一个或多个网络接口单元耦合的一个或多个处理器执行时,使得所述一个或多个处理器执行:在网络的网络设备上将服务作为子服务的集合来配置;将所述服务的定义分解成子服务依赖图,该子服务依赖图指示出共同实现所述服务的子服务以及子服务之间的依赖关系;基于所述子服务依赖图,配置所述子服务来记录和报告指示所述子服务的子服务健康状态的子服务度量;从所述子服务获得所述子服务度量并且基于所述子服务度量来确定所述子服务的子服务健康状态;基于所述子服务健康状态来确定所述服务的健康状态;并且基于所述服务的健康状态来重配置所述子服务中的一个或多个。
[0200]
虽然在本文中将技术图示和描述为体现在一个或多个具体示例中,但却并不打算局限于所示出的细节,因为可以在权利要求的等同范围和界限内进行各种修改和结构改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1