网络事件的相关性的可编程诊断模型的制作方法

专利2022-05-09  94


本申请要求于2020年1月31日提交的印度临时申请第202041004313号的优先权的权益,其全部内容通过引用结合于此。

本公开涉及计算机网络,更具体地,涉及网络装置的管理。



背景技术:

计算机网络是可以交换数据和共享资源的互连计算装置的集合。各种装置操作以促进计算装置之间的通信。例如,计算机网络可以包括路由器、交换机、网关、防火墙和各种其他装置,以提供和促进网络通信。

这些网络装置通常包括用于本地或远程配置装置的机制,例如,管理接口。通过与管理接口交互,客户端可以执行配置任务以及执行操作命令来收集和查看被管理装置的操作数据。例如,客户端可以配置装置的接口卡,调整支持的网络协议的参数,指定装置内的物理组件,修改路由器保持的路由信息,访问驻留在装置上的软件模块和其他资源,并且执行其他配置任务。此外,客户端可以允许用户查看来自装置的当前操作参数、系统日志、与网络连接相关的信息、网络活动或其他状态信息,并且查看从装置接收的事件信息并对其做出反应。

网络配置服务可以由多个不同的装置来执行,例如,具有服务卡的路由器和/或专用服务装置。此类服务包括连接服务,例如,3层虚拟专用网络(l3vpn)、虚拟专用局域网服务(vpls)和对等(p2p)服务。其他服务包括网络配置服务,例如,dot1qvlan服务。网络管理系统(nms)和nms装置(也称为控制器或控制器设备)可以支持这些服务,使得管理员可以容易地创建和管理这些高级网络配置服务。

具体地,装置的用户配置可以称为“意图”。基于意图的网络系统允许管理员描述预期的网络/计算/存储状态。用户意图可以分为业务策略和无状态意图。可以基于网络的当前状态来解决业务策略或状态意图。无状态意图可能是描述预期网络/计算/存储状态的完全声明性方式,而不考虑当前网络状态。

意图可以表示为意图数据模型,这些模型可以使用统一的图形来建模。意图数据模型可以表示为连通图,使得可以在意图数据模型上实现业务策略。例如,可以使用具有与有边缘和基准(ref)边缘连接的顶点的连通图来表示数据模型。控制器设备可以将意图数据模型建模为统一的图形,使得意图模型可以表示为连接的。以这种方式,可以在意图数据模型上实现业务策略。当使用统一的图形模型对意图进行建模时,扩展新的意图支持需要扩展图形模型和编译逻辑。

为了将装置配置为执行意图,用户(例如,管理员)可以编写转换程序,该转换程序将高级配置指令(例如,根据意图数据模型的指令,其可以表示为统一的图形模型)转换成低级配置指令(例如,根据装置配置模型的指令)。作为配置服务支持的一部分,用户/管理员可以提供意图数据模型以及意图数据模型到装置配置模型之间的映射。

为了简化用户的映射定义,控制器设备可以被设计成提供以简单方式定义映射的能力。例如,一些控制器设备提供速度模板和/或可扩展样式表语言转换(xslt)的使用。这种转换器包含从意图数据模型到低级装置配置模型的转换或映射逻辑。通常,意图数据模型中相对少量的变化会影响装置配置上相对大量的属性。当从意图数据模型中创建、更新和删除服务时,可以使用不同的转换器。



技术实现要素:

总体上,本公开描述了用于管理网络装置的技术。网络管理系统(nms)装置(在本文也称为控制器设备)可以使用低级(即,装置级)配置数据来配置网络装置,例如,用另一个下一代(yang)数据建模语言来表示。根据本文描述的技术,控制器设备可以在单独的组件级或单独的服务级中配置网络装置。控制器设备实现可编程网络诊断模型,以便为通过网络检测到的事件(例如,故障)提供根本原因分析(rca)。本公开的可编程网络诊断模型在资源定义图上应用模型遍历技术,该资源定义图考虑了设备资源、网络装置提供的服务资源以及各种资源之间的相互依赖性。

可编程网络诊断模型允许对资源事件之间的因果关系进行编程,并为设备资源和与服务相关的设备资源初始化遥测规则。此外,可编程网络诊断模型通过自动导出推理规则来启用基于前向链式rca,并考虑网络事件之间的时间关系。网络诊断模型的可编程性使得控制器设备能够执行本公开的基于前向链式rca技术,同时适应动态网络变化。以这种方式,可编程网络诊断模型是可伸缩的,因为控制器设备可以对模型进行编程,以适应网络的大小或配置的变化,并支持由网络装置实现的大量资源。

在一个示例中,本公开涉及一种监控网络的设备组的方法。该方法包括由在管理设备组的控制器设备上运行的可编程诊断服务接收编程输入,并且由可编程诊断服务基于编程输入形成资源定义图,该资源定义图对设备组支持的多个资源之间的相互依赖性进行建模。该方法还包括由可编程诊断服务检测影响多个资源中的第一资源的事件,并且基于根据编程输入形成的资源定义图中建模的相互依赖性,来识别导致影响第一资源的事件的根本原因事件,根本原因事件在多个资源中的第二资源处发生。

在另一示例中,本公开涉及一种用于管理网络的设备组的控制器设备。控制器设备包括网络接口、存储器以及与存储器通信的处理电路。处理电路被配置为:使用由处理电路执行的可编程诊断服务接收编程输入,并且使用可编程诊断服务,基于编程输入,形成资源定义图,该资源定义图对设备组支持的多个资源之间的相互依赖性进行建模。处理电路还被配置为:使用可编程诊断服务,检测影响多个资源中的第一资源的事件,并且使用可编程诊断服务,基于根据编程输入形成的资源定义图中建模的相互依赖性,识别导致影响第一资源的事件的根本原因事件,根本原因事件在多个资源中的第二资源处发生。

在另一示例中,本公开涉及一种用于管理网络的设备组的控制器设备。控制器设备包括:使用由处理电路执行的可编程诊断服务接收编程输入的装置;以及使用可编程诊断服务基于编程输入形成资源定义图的装置,该资源定义图对设备组支持的多个资源之间的相互依赖性进行建模。控制器设备还包括:使用可编程诊断服务,检测影响多个资源中的第一资源的事件的装置;以及使用可编程诊断服务,基于根据编程输入形成的资源定义图中建模的相互依赖性,识别导致影响第一资源的事件的根本原因事件的装置,根本原因事件在多个资源中的第二资源处发生。

在另一示例中,本公开涉及一种用指令编码的非暂时性计算机可读介质。当被执行时,指令使得用于管理网络的设备组的控制器设备的处理电路:使用由处理电路执行的可编程诊断服务接收编程输入;使用可编程诊断服务,基于编程输入,形成资源定义图,该资源定义图对设备组支持的多个资源之间的相互依赖性进行建模;使用可编程诊断服务,检测影响多个资源中的第一资源的事件,并且使用可编程诊断服务,基于根据编程输入形成的资源定义图中建模的相互依赖性,识别导致影响第一资源的事件的根本原因事件,根本原因事件在多个资源中的第二资源处发生。

本公开的可编程网络诊断模型提供了对现有rca技术的若干技术改进。网络就其结构和组件(例如,其结构和/或配置)而言是动态的。可编程网络诊断模型使管理员能够调整相关系统,以适应网络拓扑、组件类型和版本以及所提供服务的变化。因为所提供的服务可以因为所迎合的客户或实体之间的潜在差异而在数量上改变和增长,所以网络诊断模型的可编程性使得新服务能够相对于本公开的基于前向链式rca技术进行集成。以这种方式,本公开的可编程网络诊断模型在包含不同装置并支持不同资源的网络上提供了可伸缩和可靠的错误恢复能力。

在附图和下面的描述中阐述了一个或多个示例的细节。从说明书和附图以及权利要求书中,其他特征、目的和优点将变得显而易见。

附图说明

图1是示出包括使用本公开的控制器设备管理的企业网络的元件的示例的框图;

图2是示出图1的控制器设备的一组示例组件的框图;

图3是示出可以由控制器设备(例如,图1和图2的控制器设备)实现的示例可编程诊断模型的组件的概念图;

图4是示出本公开的资源定义图的概念图;

图5是示出图4中示出的资源定义图的示例的概念图;

图6是示出执行本公开的可编程网络诊断技术的示例系统的概念图;

图7是示出本公开的可编程诊断服务可以相对于图1中示出的网络的装置或设备组生成的模型的概念图;

图8是示出根据本公开的各方面的图2的可编程诊断服务可以实现的示例模型更新的概念图;

图9是示出根据本公开的各方面的图2的可编程诊断服务可以处理的实例依赖性的概念图;

图10是示出根据本公开的各方面的图1和图2的控制器设备可以执行以监控图1中示出的网络的设备组的示例过程的流程图。

具体实施方式

故障诊断(有时称为“根本原因分析”或“rca”)是从在离散时间窗口内产生或出现的一组可能候选事件/条件中,识别触发网络组件故障的启动条件或事件的过程。rca是运营商维护正常运行网络的关键任务。执行rca的几种可行的技术包括模型遍历技术和依赖图技术。

模型遍历技术使用对象模型来确定故障传播。使用各种组件和组件之间的关系来表示网络。基于表示网络的这个模型,可以推断出故障依赖关系,并用于识别出问题的根本原因。模型遍历技术不直接指定故障依赖关系,而是在运行时从模型中导出故障依赖关系。这些技术适用于频繁变化的网络。然而,模型遍历技术本身不能处理更复杂的故障传播场景(例如,故障传播以一次只发生一个问题这一假设为基础)。

依赖性图技术使用有向图来对对象事件之间的依赖关系进行建模。节点表示网络元件(例如,主机)。从节点a:事件到节点b:事件的边表示节点a中的故障会导致节点b中的故障。依赖性图常用于变化不频繁的网络中。在频繁变化的网络中,依赖关系需要频繁更新。网络复杂性在增加,特别是考虑到连接装置数量的快速增加、分布式网络的相对复杂的拓扑以及更多地采用物联网(iot)。由于装置能力和配置的差异,这些因素也导致了网络的异构性。例如,一个网络可以覆盖在另一网络之上。例如,虚拟专用网络(vpn)覆盖在将虚拟专用网络用作传输层的互联网协议(ip)网络上。网络故障排除人员需要一种机制,通过这种机制,可以将跨层问题与通用模型驱动的解决方案相关联,该解决方案可以应用于任何网络和服务拓扑,该任何网络和服务拓扑支持频繁变化的网络,同时一次支持多个并发故障。

因为网络就其结构和组件而言是动态的,所以相关系统对网络拓扑、组件类型和版本以及所提供的服务的进行的变化的适应性,表示对现有rca技术的技术改进。本公开的可编程诊断服务提供了可伸缩性和响应时间,使得能够在动态、异构网络上进行可靠的rca。本公开的可编程诊断模型使得网络管理员能够对网络和设备资源进行编程,包括服务资源、设备资源以及其间的资源依赖性。此外,本公开的可编程诊断模型使得网络管理员能够对网络内可能发生的资源事件之间的因果关系进行编程。

本公开的可编程诊断模型使得网络管理员能够初始化遥测规则,在设备资源的情况下利用设备资源属性,或者在与服务相关联的设备资源的情况下经由服务关联继承。基于以这种方式编程的模型,控制器可以自动导出关于资源事件相互关系的推理规则。控制器可以持续更新推理规则,并且可以实现推理规则,以基于网络资源事件的前向链来执行rca。此外,本公开的可编程诊断模型能够包含资源事件之间的时间关系,以在潜在相关事件之间执行rca。推理规则用时间约束来增强,以实现基于时间的rca。

于2019年12月31日提交的美国专利申请号16/731372中描述了基础元件和服务模型的各方面,其全部内容结合于此。本公开的网络模型感知诊断技术使用元件模型、服务模型和多层模型。元件模型考虑了使用各种资源的网络装置(例如,封包转发引擎(pfe)、线路卡、接口、机箱、cpu等),捕捉这些资源之间的关系,并且捕捉各种网络资源事件之间的依赖关系。

服务模型考虑了在装置上传播的服务(例如,3层(l3)vpn/虚拟专用lan服务(vpls)、标签交换路径(lsp)隧道等)。服务模型包括在服务级捕捉的各种事件。服务模型捕捉(i)服务和服务端点关联,(ii)各种端点之间的连接链路(路径)(例如,具有端点节点a、b、c的vpn服务包含节点a和节点b之间的隧道以及节点a和节点c之间的隧道等),(iii)服务事件的依赖关系,(iv)端点事件上的依赖关系,以及(v)装置事件与服务事件之间的依赖关系。网络是分层的,因此,底层的链路中断或低层服务中的任何其他问题都会导致许多高层服务失败,即使这些服务没有直接连接到故障组件。多层模型捕捉(i)服务到服务的依赖关系,(ii)服务链接到服务链接的依赖关系,以及(iii)服务事件上的依赖关系。

图1是示出包括使用控制器设备110管理的企业网络102的元件的示例的框图。企业网络102的被管理元件114a至114g(统称为“元件114”)包括经由通信链路互连的网络装置,以形成通信拓扑,从而交换资源和信息。元件114(通常也称为网络装置或远程网络装置)可以包括例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(ids)或入侵防御系统(idp)、计算装置、计算终端、打印机、其他网络装置或这些装置的组合。虽然在本公开中被描述为传输、传送或以其他方式支持封包,但是企业网络102可以根据由任何其他协议定义的任何其他离散数据单元来传输数据,例如,由异步传输模式(atm)协议定义的信元或者由用户数据报协议(udp)定义的数据报。使元件114互连的通信链路可以是物理链路(例如,光、铜等)、无线或其任意组合。

企业网络102被示为经由通信链路耦合到公共网络118(例如,互联网)。公共网络118可以包括例如一个或多个客户端计算装置。公共网络118可以提供对网络服务器、应用服务器、公共数据库、媒体服务器、终端用户装置以及其他类型的网络资源装置和内容的访问。

控制器设备110经由企业网络102通信地耦合到元件114。在一些示例中,尽管出于示例的目的,在图1中仅示出了装置管理系统的一个装置,但是控制器设备110形成装置管理系统的一部分。控制器设备110可以直接或间接耦合到各种元件114。一旦部署和激活元件114,管理员112使用控制器设备110(或多个这样的管理装置)来使用装置管理协议管理网络装置。一个示例装置协议是简单网络管理协议(snmp),其允许控制器设备110遍历和修改存储每个被管理元件114内的配置数据的管理信息库(mib)。关于snmp协议的进一步细节见harrington等人的rfc3411,“anarchitecturefordescribingsimplenetworkmanagementprotocol(snmp)managementframeworks”,网络工作组,互联网工程任务组草案,2002年12月,可在http://tools.ietf.org/html/rfc3411查询到,其全部内容通过引用结合于此。

在通常实践中,控制器设备110(也称为网络管理系统(nms)或nms装置)和元件114由企业的信息技术(it)组集中维护。管理员112与控制器设备110交互,以远程监控和配置元件114。例如,管理员112可以从控制器设备110接收关于任何元件114的警报,查看元件114的配置数据,修改元件114的配置数据,向企业网络102添加新的网络装置,从企业网络102移除现有的网络装置,或者以其他方式操纵企业网络102和其中的网络装置。尽管在本文以企业网络作为示例用例进行了描述,但是本公开的技术也适用于其他公共和私有网络类型,包括lan、vlan、vpn等。

在一些示例中,管理员112使用控制器设备10或本地工作站来直接与元件114交互,例如,通过远程登录、安全外壳(ssh)或其他这样的通信会话。即,元件114通常提供用于直接交互的接口,例如,命令行接口(cli)、基于网络的接口、图形用户接口(gui)等,通过这些接口,用户可以与装置交互,以直接发出基于文本的命令。例如,这些接口通常允许用户直接与装置交互,例如,通过远程登录、安全外壳(ssh)、超文本传输协议(http)或其他网络会话,以根据定义的语法输入文本,从而向被管理元件提交命令。在一些示例中,用户使用控制器设备110发起与一个元件114(例如,元件14f)的ssh会话115,以直接配置元件14f。以这种方式,用户可以以直接执行的格式向元件114提供命令。

此外,管理员112还可以创建可以由控制器设备110提交给任何或所有元件114的脚本。例如,除了cli接口之外,元件114还提供用于接收根据脚本语言指定命令的脚本的接口。在某种意义上,脚本可以由控制器设备110输出,以在被管理元件114上自动调用相应的远程过程调用(rpc)。脚本可以符合例如可扩展标记语言(xml)或另一种数据描述语言。

管理员112使用控制器设备110来配置元件114,以指定推进管理员112的目标的某些操作特性。例如,管理员112可以为元件114指定关于安全性、装置可访问性、流量工程、服务质量(qos)、网络地址转换(nat)、封包过滤、封包转发、速率限制或其他策略的特定操作策略。控制器设备110使用一个或多个网络管理协议来执行配置,该网络管理协议被设计用于管理在被管理网络元件114内的配置数据,例如,snmp协议或网络配置协议(netconf)协议或其衍生协议,例如,juniper装置管理接口。控制器设备10可以与一个或多个元件114建立netconf会话。

控制器设备110可以被配置为将新的意图数据模型与现有(或旧的)意图数据模型进行比较,确定新的和现有的意图数据模型之间的差异,并将反应映射器(reactivemapper)应用于新的和旧的意图数据模型之间的差异。具体地,控制器设备110确定新数据模型是否包括相对于旧意图数据模型的任何额外配置参数、以及新数据模型是否修改或省略了已在旧意图数据模型中包含的任何配置参数。

意图数据模型可以是统一的图形模型,而低级配置数据可以用在以下文献中描述的yang来表示:(i)bjorklund“yang—adatamodelinglanguageforthenetworkconfigurationprotocol(netconf)”,互联网工程任务组,rfc6020,2010年10月,可在tools.ietf.org/html/rfc6020查询到,以及(ii)clemm等人,“ayangdatamodelfornetworktopologies”,互联网工程任务组,rfc8345,2018年3月,可在tools.ietf.org/html/rfc8345查询到(有时称为“rfc8345”)。在一些示例中,意图数据模型可以用yaml非标记语言(yaml)来表达。控制器设备10可以包括用于转换意图数据模型差异的各种反应映射器。这些功能被配置为接受意图数据模型(其可以表示为结构化输入参数,例如,根据yang或yaml)。这些功能还被配置为输出相应组的低级装置配置数据模型变化,例如,装置配置添加和移除。即,y1=f1(x),y2=f2(x),……yn=fn(x)。

控制器设备110可以对意图数据模型和低级装置配置模型使用yang建模。该数据可能包含yang实体上的关系,例如,列表项和容器。如下面更详细讨论的,控制器设备110可以将yang数据模型转换成图形数据模型,并将yang验证转换成数据验证。在2017年3月17日提交的美国专利申请号15/462,465“configuringandmanagingnetworkdevicesusingprogramoverlayonyang-basedgraphdatabase”中描述了使用用于高级配置数据的图形模型来管理网络装置的技术,其全部内容通过引用结合于此。

控制器设备110可以从任何管理员112接收表示关于统一意图数据模型的创建、更新和/或删除活动中的任何一个或全部的数据。控制器设备110可以被配置为对应用于图形模型的创建、更新和删除中的每一个使用相同的编译逻辑。

通常,控制器(例如,控制器设备110)层次数据模型针对意图、低级数据模型和资源使用层次数据模型。层次数据模型可以基于yang或yaml。如上所述,层次数据模型可以表示为图形。现代系统支持简化网络管理的意图。意图是陈述性的。为了实现意图,控制器设备110试图选择最佳资源。

根据本公开的各方面,控制器设备110实现可编程诊断模型,当一个或多个网络元件114出现故障(例如,丢包或其他故障)时,该可编程诊断模型有助于rca。可编程诊断模型以资源定义图的形式构建网络资源和资源间的依赖性。资源定义图是一种以指定一组对象(资源)的方式被编程的结构,对象(资源)包括:(i)属性;(ii)状态;以及(iii)到其他对象(资源)的链路。资源定义图的特定实例定义了表征特定对应网络上下文的关系,该网络上下文可以是网络域、网络装置、网络服务等。可编程诊断服务224基于构建的资源定义图发现资源(实例)。

图2是示出图1的控制器设备110的一组示例组件的框图。在该示例中,控制器设备110包括控制单元202、网络接口204和用户接口206。网络接口204表示可以将控制器设备100通信地耦合到外部装置(例如,图1的一个元件114)的示例接口。网络接口204可以表示无线和/或有线接口,例如,被配置为根据无线标准进行通信的接口或无线电波,无线标准例如一个或多个ieee802.11无线网络协议(例如,802.11a/b/g/n或其他这样的无线协议)。在各种示例中,尽管在图2的非限制性示例中仅示出了一个网络接口,但是控制器设备110可以包括多个网络接口。

控制单元202表示硬件、硬件实现软件和/或固件的任意组合,用于实现属于控制单元202及其组成模块和元件的功能。当控制单元202包含软件或固件时,控制单元202还包括用于存储和执行软件或固件的任何必要硬件,例如,一个或多个处理器或处理单元。通常,处理单元可以包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、固定功能电路、可编程处理电路或任何其他等效的集成或离散逻辑电路以及这些组件的任何组合。处理单元通常使用固定和/或可编程逻辑电路来实现。

用户接口206表示一个或多个接口,通过这些接口,用户(例如,图1的管理员112)与控制器设备110交互,例如,以提供输入和接收输出。例如,用户接口206可以表示监控器、键盘、鼠标、触摸屏、触摸板、触控板、扬声器、相机、麦克风等中的一个或多个。此外,尽管在该示例中,控制器设备100包括用户接口206,但是管理员112不需要直接与控制器设备100交互,而是可以远程访问控制器设备100,例如,经由网络接口204。

控制单元202的功能可以被实现为固定或可编程数字逻辑电路中的一个或多个处理单元。这种数字逻辑电路可以包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、固定功能电路、可编程逻辑电路、现场可编程门阵列(fpga)或任何其他等效的集成或离散逻辑电路以及这种组件的任何组合。当实现为可编程逻辑电路时,控制单元202还可以包括一个或多个计算机可读存储介质,其存储将由控制单元202的处理单元执行的硬件或固件指令。

在该示例中,控制单元202包括用户接口模块208、网络接口模块210和管理模块212。控制单元202执行用户接口模块208,以从用户接口206接收输入和/或经由用户接口206提供输出。控制单元202还执行网络接口模块210,以经由网络接口204发送和接收数据(例如,以封包形式)。用户接口模块208、网络接口模块210和管理模块212可以再次被实现为相应的硬件单元、或者由适当的硬件基础设施实现的软件或固件、或其组合。

控制单元202执行管理模块212来管理各种网络装置,例如,图1的元件114。管理包括例如根据从用户(例如,图1的管理员112)接收的指令配置网络装置,并向用户提供提交指令以配置网络装置的能力。管理模块212访问各种数据库,例如,配置数据库214、模型数据库216、推理数据库218和遥测数据库220,各种数据库存储数据以帮助管理各种网络装置。虽然数据库214-220被示为分立的数据库,但是这些数据库214-220中的一个或多个可以组合或以其他方式重新排列。在该示例中,管理模块212还包括配置模块222和可编程诊断服务224。

管理模块212被配置为从用户(例如,管理员112)接收针对一组被管理网络装置的意图统一的图形建模的配置数据。这种意图统一的图形建模的配置数据可以称为“意图数据模型”。随着时间的推移,用户可以更新配置数据,例如,添加新服务、移除现有服务或修改由被管理装置执行的现有服务。统一意图数据模型可以根据例如yang或yaml来构造。图形模型可以包括以层级方式由边缘连接的多个顶点。在yang中,图形模型的边缘通过“leafref”元件来表示。在yaml的情况下,这种边缘可以用“ref”边缘来表示。类似地,父子顶点关系可以用“有”边缘来表示。例如,元件a的顶点是指元件b的顶点,使用有边可以理解为“元件a具有元件b”。

配置数据库214通常包括描述被管理网络装置(例如,元件114)的信息。配置数据库214可以包括指示装置标识符(例如,mac和/或ip地址)、装置类型、装置供应商、装置种类(例如,路由器、交换机、网桥、集线器等)等的信息。配置数据库214还存储被管理装置(例如,元件114)的当前配置信息(例如,意图数据模型,或者在某些情况下,意图数据模型和低级配置信息)。

模型数据库216包括由用户经由配置模块222配置的描述网络102的结构的模型。如下所述,模型数据库包括网络感知诊断模型,可编程诊断服务224使用该模型来执行根本原因分析,以找到故障元件114,该故障元件114是事件的源,即使故障不是事件的直接/即时结果,而是事件的级联下游效应。

图3是示出可以由控制器设备(例如,控制器设备10)实现的示例可编程诊断模型300的组件的概念图。可编程诊断模型300从多个角度对网络进行建模,以可用于拓扑频繁变化的网络,并一次支持多个并发故障。在所示的示例中,可编程诊断模型300包括网络资源模型302、诊断模型304、遥测规则306和时间元数据308。网络资源模型302包括服务资源模型和设备资源模型,并定义资源间的依赖性。遥测规则306提供使控制器设备110能够监控网络102中的一个或多个组件的状态的数据。遥测规则306还使得控制器设备110能够基于网络102中配置的检测阈值来生成或引发警报。在一些示例中,遥测规则306可以包括在网络资源模型中,该网络资源模型还包括网络102的网络模型(如美国专利申请号16/731,372中描述)和元件114的装置元件的装置模型信息。

诊断模型304捕捉各种资源之间的因果关系(有时在本文中称为“相关性”)。例如,诊断模型304可以反映网络102上发生的事件之间的因果关系。在资源和资源警报/事件之间定义了因果关系。当在资源之间定义因果关系时,资源上的任何关键警报/事件都会对“支持资源”产生影响。当在资源警报/事件之间定义了因果关系时,资源上的事件会对“支持的资源”事件产生影响。

根据本公开的各方面,可编程诊断服务224使用可编程诊断模型300来执行前向链式rca。为了在适应网络102的拓扑的动态变化的同时,帮助识别故障或其他事件的根本原因,可编程诊断模型300使得管理员能够通过经由控制器设备110提供编程输入310来更新诊断模型304的各方面。可编程诊断服务224使用编程输入310来构建资源定义图,该资源定义图对网络资源和其间的相互依赖性进行建模。基于以这种方式构建的模型,可编程诊断服务224从网络102中发现资源,并在所发现的资源之间建立关系。

资源定义图的各个顶点包括一个或多个“行动手册”,这些“行动手册”定义了使可编程诊断服务224能够从网络102获取状态信息的相应遥测规则。由可编程诊断服务224构建的资源定义图捕捉网络模型和装置模型信息、以及遥测规则306的相应规则。资源定义图还包括诊断模型304,诊断模型304提供网络102内检测到的事件之间的因果关系信息。资源定义图的给定顶点(包括资源模型信息以及遥测规则信息)使得可编程诊断服务224能够发现网络102上存在的每个对象的网络和设备资源实例,收集填充和更新对象属性值所需的数据,并计算定义的“状态”属性的实际值。

可编程诊断模型300还包括时间元数据308。时间元数据308包括描述在网络102的元件114中检测到的事件的时间信息的信息。时间元数据308可以包括相对于在网络102内检测到的离散事件测量的精确时间、近似时间或相对时间。基于编程输入310中提供的标准或基于其他标准,可编程诊断服务224可以应用时间元数据308中应用于潜在相关事件的部分,以针对下游事件执行rca。在一个示例中,可编程诊断服务可以基于是否在关于下游事件的因果关系的阈值时间框架内发生事件,保留或消除事件,作为可能的上游原因。

使用网络资源模型302、利用编程输入310形成或更新的诊断模型304、遥测规则306和时间元数据308的组合,可编程诊断服务224形成存储到推理数据库218的一个或多个推理规则。反过来,可编程诊断服务224应用推理数据库218中适用于rca下的特定事件的那些推理规则,来运行可编程诊断模型300。通过运行可编程诊断模型300而产生的输出在图3中显示为前向链式rca输出312。

更具体地,可编程诊断服务224使用编程模型(使用编程输入310形成的诊断模型304的版本)来自动导出推理数据库218的相关推理规则。根据本公开的各方面,存储到推理数据库218的推理规则受制于一个或多个时间约束,这将在下面相对于时间元数据的应用进行更详细的描述。可编程诊断服务224应用导出的推理规则来识别rca下的故障源。推理引擎226将rca下的事件在高速缓冲存储器中保持预定的时间间隔,并在接收到依赖事件时生成推理。在使事件关联时,推理引擎226生成具有rca树的智能事件和要作为前向链式rca输出312的一部分输出的根本原因事件。在一些示例中,可编程诊断服务224将前向链式rca输出312保存到分析数据库,该分析数据库可以在控制器设备110本地、在远程位置或以分布式方式实现。

图4是示出本公开的资源定义图402a和402b的概念图。资源定义图402a和402b中的每一个(统称为“资源定义图402”)对网络资源和相应资源定义图的资源之间的依赖性进行建模。每个资源定义图402是通过使用编程输入310修改可编程诊断模型300而形成的构造。每个资源定义图402指定一组资源模型,其包含一个或多个属性、和/或一个或多个状态、和/或一个或多个到其他资源模型的链接。每个资源定义图402定义表征某个网络上下文的资源模型中的一组关系,该网络上下文可以是任何网络域、可以是网络装置、网络服务等。

在图4的示例中,资源定义图402a与行动手册404a-a和404a-b(统称为“行动手册404a”)相关联,以及资源定义图402b与行动手册404b-a和404b-b(统称为“行动手册404b”)相关联。每个行动手册404定义遥测规则306,遥测规则306使得可编程诊断服务224能够从网络102获取状态信息。每个资源定义图402捕捉网络模型和装置模型信息以及遥测规则306的相应规则。

图5是示出图4的资源定义图402a的示例的概念图。资源定义图402a是静态图,因为资源定义图402包括网络102的对象类型(而不是对象的单个实例)的定义。资源定义图402a也是可插入的,因为提供了可伸缩性和对集成新服务模型的可编程性的支持。在图5的示例中,资源定义图402a定义了各种对象模型之间的关系,即物理装置(ifd502)、逻辑装置(ifl504)、和接口(mtu)506支持的最大传输单元大小、互联网协议(ip)地址508和边界网关协议(bgp)会话512。资源定义图402a中所示的对象间链接可以包括一个或多个单向关系和/或一个或多个双向关系。

资源定义图402a捕捉网络模型信息、装置模型信息和所示的资源的相应遥测规则。使用可从资源定义图402a获得的信息,控制器设备110可以发现包括在网络102的特定设备组中的资源定义图402a中描述的对象的各种实例。基于ifd502和ifl504之间的因果关系链接,控制器设备110可以确定发生在ifd502的故障可能影响ifl504的功能。基于因果关系链接,可编程诊断服务224可以在关于ifl504的故障调查的发现过程中包括ifd502。以这种方式,可编程诊断服务224可以基于包括在资源定义图402a中的因果关系链接而获得被发现的设备组的对象属性和服务属性。

在ifd502具有多个接口的示例中,可编程诊断服务224可以运行可编程诊断模型300,以导出将ifd502的特定接口与在ifl504处发生的相关事件(例如,丢包或其他故障)相关联的推断规则。可编程诊断服务224进一步使用基于时间元数据308形成的一个或多个时间约束来调整推理规则。如果在ifl504处发现的故障符合时间上兼容的推理规则,则可编程诊断服务224生成前向链式rca输出,以将ifd502处的故障识别为在ifl504处发现的故障的根本原因或中间原因(其导致根本原因)。

为了获得前向链式rca输出312,可编程诊断服务224可以使用诊断模型304(使用编程输入310形成或修改的)来自动导出推理数据库218的相关推理规则。再次,可编程诊断服务224可以导出推理规则,以符合从时间元数据308导出的因果关系的时间约束。反过来,可编程诊断服务224使用存储在推理数据库218中的推理规则来识别检测到的事件(例如,故障)的来源。推理引擎226可以将事件在高速缓冲存储器中保持指定的时间间隔,并且当潜在依赖(例如,下游效应)事件到达时生成推理。在生成事件相关性时,可编程诊断服务224可以生成具有rca树的“智能事件”和所识别的根本原因事件。可编程诊断服务224将智能事件和所识别的根本原因事件存储到分析数据库,该分析数据库可以在控制器设备110本地、在远程位置或以分布式方式实现。

图6是示出执行本公开的可编程网络诊断技术的系统600的概念图。可编程诊断服务224可以接收一个或多个警报602,并经由输入队列604以先进先出(fifo)的方式处理警报602。在对资源定义图进行编程时,系统600通过网络102发现资源。可编程网络诊断服务将这些资源实例加载到模型高速缓存612中。系统600的模型更新606表示系统600通过模型加载器608用额外信息修饰事件的步骤。可编程诊断服务224还包括智能事件生成器610,其被配置为基于推理引擎226输出的反映从网络102的设备组捕捉的不同事件之间的相关性的推理来生成警报。智能事件生成器610可以将警报存储到遥测单元618的警报事件数据库616中。反过来,遥测单元618可以响应于推送到警报事件数据库616的新警报,触发一个或多个补救活动620。遥测单元618利用遥测规则306和行动手册404来制定和/或选择补救活动620。

更具体地,为了生成存储在警报事件数据库616中的警报,智能事件生成器610使用由推理引擎226制定的推理规则。推理引擎226还将从可编程网络诊断服务224接收的事件存储到事件高速缓存614。推理引擎226关于存储在推理数据库218中的推理规则实现基于知识的生成机制。

图7是示出可编程诊断服务224可以关于网络102的装置或设备组生成的模型700的概念图。在创建模型700时,可编程诊断服务224可以将模型与网络102的装置或设备组相关联。反过来,控制器设备110可以内部调用发现并经由资源发现填充模型700。资源信息可以从其他控制器加载或者从网络102发现。

在高级别上,模型700可以捕捉以下内容:(i)网络和设备资源的资源模型;(ii)资源依赖性;(包括(a)父子资源以及(b)单向和双向依赖性);(iii)资源事件之间的因果依赖性;以及(iv)遥测行动手册到模型700的映射。如图7所示,模型700包括两种类型的边缘。模型700中包括的一种类型的边缘是“包含”边缘(或“具有”边缘),表示资源之间的父子关系。模型700中包括的另一种类型的边缘是“依赖”边缘,表示资源之间的依赖关系。模型700中显示的这两种边缘类型创建了资源之间的因果关系。

在图7的示例中,装置702包括接口704,接口704又包括逻辑接口708。这些嵌套的父子关系在图7中由连续的“包含”边缘表示。装置702还包括vrf,其在图7中通过从装置702直接绘制到vrf706的包含边缘示出。下游故障传播通过包含边缘从父到子自动发生,因此,可编程诊断服务224自动导出推理规则,这些推理规则经由图7所示的每个包含边缘链接上游故障。换言之,子节点经由包含边缘或由串行包含边缘组成的链,从上游父节点、祖父节点或祖先节点继承故障。vrf706还通过依赖边缘链接到接口704,因此,可编程诊断服务自动导出链接vrf706和接口704之间的故障的推理规则(在模型700的特定示例中以单向方式)。

对应于模型700的数据模型的yang代码如下所示:

模块:资源

增强/主题:

上面的yang数据模型包括各种构造。资源字段定义相应资源的属性。状态字段定义相应资源的运行状态。依赖性捕捉资源间的依赖性。资源-规则映射字段捕捉资源字段和规则字段之间的映射以及资源状态映射的触发。

对应于上述yang代码的yang模型如下所示:

各种数据模型字段的描述如下表1所示。

表1

基于资源的关联,可编程诊断服务224可以应用配置信息模型700。可编程诊断服务224可以基于服务与资源的关联来收集额外的状态信息。为了收集额外的状态信息,可编程诊断服务224可以基于服务与资源的关联来应用额外的遥测规则(例如,遥测规则306或其他遥测规则)。例如,与vpn服务相关的接口可能需要在相关接口上运行额外的遥测规则。该遥测规则的应用如下给出:

执行上面的代码,将“interface-status.rule”添加到与资源“vrf”相关联的接口。

图8是示出根据本公开的各方面的可编程诊断服务224可以实现的示例模型更新800的概念图。

根据本公开的各方面,模型更新800可以被描述为“网络模型修饰”或关于诊断中的网络模型的事件的“事件修饰”。由控制器设备110操作的分析引擎可以捕捉从网络110捕获的事件流,并将该事件流馈送到可编程诊断服务224。模型更新606可以用模型依赖信息修饰每个事件。

分析引擎可以基于服务关联来收集某些状态信息。例如,如果vpn与特定接口相关联,则分析引擎可以获取该接口的状态信息。如果在vpn实例和接口实例之间存在关联,则可编程诊断服务可以执行接口状态规则。模型800中显示的“vpn1”就是这样一个vpn实例。在模型800的情况下,模型更新606可以用“vpn1实例”信息来修饰装置事件。在图8所示的事件的情况下(即,d1:ge-0/0/3关闭,d2:vrf2丢包),模型更新606如下添加模型信息:

·事件(id=d1:ge-0/0/3,类型=interface_down,引用者=[vpn:vpn1])

·事件(id=d2:vrf2,类型=vrf_packet_loss,引用者=[vpn:vpn1])

推理引擎226又对根据具有上游依赖性的网络模型(对于图8的情况下的vpn1实例)处理的事件流进行操作。

可编程诊断服务224构建诊断依赖性模型,该模型捕捉网络102的设备组中各种资源之间的因果关系。可编程诊断服务224可以在诊断依赖性模型中包括各种类型的因果关系,例如,资源之间的因果关系和/或资源警报/事件之间的因果关系。如果资源之间存在因果关系,则资源上的任何关键警报/事件都会对“受支持的资源”造成影响。即,作为编程输入310的一部分,用户可以提供将一个资源上的事件链接到另一资源上的因果事件的依赖性定义。如果资源警报/事件之间存在因果关系,则在资源上检测到的事件会对受支持的资源事件造成影响。

依赖边缘和包含边缘在诊断依赖性模型中引入了资源之间的因果关系。资源警报之间的依赖性在下面的代码中显示:

推理引擎226表示专家系统,该系统可以被描述为一种有限状态机的形式,其周期包括三种动作状态。三种动作状态是“匹配规则”、“选择规则”和“执行规则”。推理引擎226可以对存储器中活动的一组事实应用规则。推理引擎226可能需要事实来操作。推理引擎226运行捕捉网络事件信息的事实模型。事实模型表示为:

如上所述,可编程诊断服务224通过应用时间元数据308来生成基于时间的推理规则。即,推理引擎226应用时间元数据308,来生成存储在推理数据库218中的具有时间约束的所有推理规则。本公开的技术基于这样的认识,即时间关系在处理网络事件之间的关系中是重要的。在不应用时间约束的情况下,由于逝去的时间是被忽略的事件,所以事件相关性可能包括不准确性。因为事件的时间信息是相对于彼此的,所以相对于应用时间约束来提高rca的准确性,没有相对时间增量的纯日期/时间表示可能是不足够的。两个示例时间运算符是“之前”和“之后”运算符。例如,在模型800的示例中,在vrf1丢包事件之前发生“ge-0/0/3接口关闭”事件。

基于为网络102的资源创建的依赖性模型,推理引擎226自动生成要存储到推理数据库218的推理规则。推理引擎226使用规则模板,该规则模板接受因果依赖性(在网络资源模型中定义的)作为输入,并基于这些因果依赖性生成推理规则。推理引擎226生成模板,以解释要以任何顺序检测的因果事件和后续事件,例如,在因果事件之后检测的后续事件(预期的)或者在因果事件之前检测的后续(“目标”)事件(意外的)。在一些示例中,由于延迟或其他系统约束,可以在目标事件之后检测到因果事件。例如,接口关闭事件可能会导致vpn丢包,但在不同的用例场景中,可能会在检测到接口关闭事件之前或之后检测到丢包。推理引擎226可以生成规则模板,来适应这两种情况。推理引擎226可以为这些场景中的每一个分配不同的推理规则。在下面的代码中通过示例显示规则模板生成,其中,{{source_event_type}}、{{target_event_type}}是模板变量:

根据本公开的技术,可编程诊断服务224通过前向链基于推理执行rca。如本文所使用的,前向链是从已知数据推断未知真相的逻辑过程,并且使用确定的条件和规则向前移动,以识别解决方案。基于传递属性的一般示例可以表述为“如果‘a’导致‘b’,而‘b’导致‘c’,则‘a’就是‘c’的根本原因。”作为推理形成的一部分,可编程诊断服务224:(i)基于所生成的推理来合并原因和效果和原因,以形成一个或多个推理规则;以及(ii)生成作为链过程的一部分的rca树(其可以表示为相关事件的图)。

推理引擎226可以将rca树保存在事件高速缓存614(或另一事件数据库)中,用于进一步的事件分析。推理引擎226生成从存储到事件高速缓存614的事件中捕捉推断信息的推理模型。推理模型包含原因和效果列表。“推理”类声明(包括效果列表)如下所示:

前向链规则的示例在下面的代码中显示:

第三(合并)规则的一个示例用例是在接口关闭事件的情况下,这可能会导致vpn丢包(通过潜在的大量vpn)以及客户延迟和/或客户连接故障。接口关闭事件可以是两个后续事件的直接父事件,也可以是经由故障因果关系的传递属性的祖先事件。推理引擎226可以在从事件高速缓存614中清除一个或多个对应事件时清除一个或多个推理。一旦从事件高速缓存614中清除事件,推理引擎226可以(i)从推理数据库218中删除与被清除事件相关的所有事实和推理;以及(ii)重新激活作为被删除推理的一部分的所有相关事件,以创建新的推理。表示与推理清除相关的三种不同规则的代码如下所示:

智能事件生成器610使事件相关联,并将根本原因事件识别为前向链推理绘制过程的一部分。智能事件生成器610针对每个根本原因事件生成智能事件以及一组受影响的事件。智能事件生成器610将智能事件保存在分析数据库(例如,警报/事件数据库616)中,以使用户能够发起进一步的活动,例如,一个或多个补救活动620。

图9是示出根据本公开的各方面的可编程诊断服务224可以处理的实例依赖性900的概念图。在图9所示的示例中,推理引擎创建智能事件,其中,mpc时隙904的mpc时隙904a作为根本原因事件。受影响的事件包括所有pfe904、所有千兆位以太网(et)接口906、所有标签交换路径(lsp)908、外部边界网关协议(ebgp)服务912的子集、vrf914的子集和客户边缘装置(ce)延迟916的子集。可编程诊断服务224可以将发生在mpc时隙904下游的所有事件分组,并且将mpc时隙904a的故障识别为所有这些下游事件的根本原因(根据情况可以是直接的或可传递的)。

图10是示出根据本公开的各方面的控制器设备110可以进行监控网络102的设备组的过程950的流程图。过程950可以从可编程诊断服务224(运行在管理网络102的设备组的控制器设备110上)接收编程输入310开始(952)。可编程诊断服务224又可以基于编程输入310形成任何资源定义图402,其对由控制器设备110管理的网络102的设备组所支持的资源之间的相互依赖性进行建模(954)。

可编程诊断服务224可以检测影响由控制器设备110管理的设备组所支持的资源的第一资源的事件(956)。可编程诊断服务224又可以基于在先前形成的相应资源定义图402中建模的相互依赖性,来识别导致影响第一资源的事件的根本原因事件(958)。可编程诊断服务可以将根本原因事件识别为在由控制器设备110管理的设备组所支持的资源的第二资源处发生。

在一些示例中,为了识别导致影响第一资源的事件的根本原因事件,可编程诊断服务224可以将相应的资源诊断图402应用于受支持资源的至少一个子集,以生成关于受支持资源的一个或多个推理规则,并且可以通过将一个或多个推理规则应用于在受支持资源上检测到的事件来执行前向链式rca。在一些示例中,可编程诊断服务224可以初始化一个或多个遥测规则,该遥测规则使得控制器设备110能够监控设备组的一个或多个组件的状态信息和/或响应于检测到在受支持资源内发生的阈值事件而引发一个或多个警报。在一些示例中,为了初始化一个或多个遥测规则,可编程诊断服务224可以基于编程输入,来配置由设备组支持的设备资源之间的第一因果关系和由设备组支持的服务资源之间的第二因果关系。

在一些示例中,为了形成对设备组支持的资源之间的相互依赖性进行建模的资源定义图,可编程诊断服务224可以对建模的相互依赖性应用一个或多个时间约束。在一些示例中,一个或多个时间约束包括约束,根据该约束,在第二资源处发生根本原因事件之后发生影响第一资源的事件。在一些示例中,一个或多个时间约束包括约束,根据该约束,在第二资源处发生根本原因事件之前发生影响第一资源的事件。在一些示例中,受支持资源包括一个或多个网络资源,并且可编程诊断服务224可以配置一个或多个网络资源的至少一个子集。

在一些示例中,受支持资源包括一个或多个服务资源,并且可编程诊断服务224可以配置一个或多个服务资源的至少一个子集。在一些示例中,受支持资源包括一个或多个设备资源,并且可编程诊断服务224可以配置一个或多个设备资源的至少一个子集。

本公开中描述的技术可以至少部分地以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、固定功能电路、可编程电路或任何其他等效的集成或离散逻辑电路以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指任何前述逻辑电路(单独或与其他逻辑电路组合)或任何其他等效电路。包括硬件的控制单元也可以执行本公开的一种或多种技术。

这种硬件、软件和固件可以在同一装置内或在分立的装置内实现,以支持本公开中描述的各种操作和功能。此外,任何描述的单元、模块或组件可以一起或分开实现为离散但可互操作的逻辑装置。将不同的特征描述为模块或单元,旨在强调不同的功能方面,并不一定意味着这些模块或单元必须由单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件来执行,或者集成在公共或分立的硬件或软件组件中。

本公开中描述的技术也可以在包含指令的计算机可读介质中体现或编码,例如,计算机可读存储介质。在计算机可读介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行该方法,例如,当执行指令时。计算机可读介质可以包括非暂时性计算机可读存储介质和瞬态通信介质。有形且非暂时性的计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、硬盘、cd-rom、软盘、盒式磁带、磁介质、光学介质或其他计算机可读介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他瞬态介质。

已经描述了各种示例。这些和其他示例都在所附权利要求的范围内。


技术特征:

1.一种监控网络的设备组的方法,所述方法包括:

由在控制器设备上运行的可编程诊断服务接收编程输入,所述控制器设备管理所述设备组;

由所述可编程诊断服务基于所述编程输入形成资源定义图,所述资源定义图对所述设备组支持的多个资源之间的相互依赖性进行建模;

由所述可编程诊断服务检测影响所述多个资源中的第一资源的事件;并且

由所述可编程诊断服务基于根据所述编程输入形成的所述资源定义图中建模的所述相互依赖性,来识别造成影响所述第一资源的事件的根本原因事件,所述根本原因事件在所述多个资源中的第二资源处发生。

2.根据权利要求1所述的方法,其中,识别造成影响所述第一资源的事件的所述根本原因事件包括:

由所述可编程诊断服务将所述资源定义图应用于所述多个资源的至少一个子集,以生成关于所述多个资源的一个或多个推理规则;并且

由所述可编程诊断服务通过将所述一个或多个推理规则应用于在所述多个资源上检测到的多个事件,执行前向链式根本原因分析。

3.根据权利要求1至2中任一项所述的方法,还包括:

由所述可编程诊断服务初始化一个或多个遥测规则,所述遥测规则使得所述控制器设备能够执行以下操作中的一项或多项:

监控所述设备组的一个或多个组件的状态信息;以及

响应于检测到在所述多个资源内发生的阈值事件,引发一个或多个警报。

4.根据权利要求3所述的方法,其中,初始化所述一个或多个遥测规则包括:由所述可编程诊断服务基于所述编程输入来配置由所述设备组支持的设备资源之间的第一因果关系以及由所述设备组支持的服务资源之间的第二因果关系。

5.根据权利要求1至2中任一项所述的方法,其中,形成对所述设备组支持的所述多个资源之间的所述相互依赖性进行建模的所述资源定义图包括:由所述可编程诊断服务将一个或多个时间约束应用于建模的相互依赖性。

6.根据权利要求5所述的方法,其中,所述一个或多个时间约束包括在所述第二资源处发生所述根本原因事件之后发生影响所述第一资源的事件所基于的约束。

7.根据权利要求5所述的方法,其中,所述一个或多个时间约束包括在所述第二资源处发生所述根本原因事件之前发生影响所述第一资源的事件所基于的约束。

8.根据权利要求1至2中任一项所述的方法,其中,所述多个资源包括一个或多个网络资源,所述方法还包括由所述可编程诊断服务配置所述一个或多个网络资源的至少一个子集。

9.根据权利要求1至2中任一项所述的方法,其中,所述多个资源包括一个或多个服务资源,所述方法还包括由所述可编程诊断服务配置所述一个或多个服务资源的至少一个子集。

10.根据权利要求1至2中任一项所述的方法,其中,所述多个资源包括一个或多个设备资源,所述方法还包括由所述可编程诊断服务配置所述一个或多个设备资源的至少一个子集。

11.一种用于管理网络的设备组的控制器设备,所述控制器设备包括:

网络接口;

存储器;以及

处理电路,与所述存储器通信,所述处理电路被配置为:

使用由所述处理电路执行的可编程诊断服务接收编程输入;

使用所述可编程诊断服务基于所述编程输入形成资源定义图,所述资源定义图对所述设备组支持的多个资源之间的相互依赖性进行建模;

使用所述可编程诊断服务检测影响所述多个资源中的第一资源的事件;并且

使用所述可编程诊断服务基于根据所述编程输入形成的所述资源定义图中建模的所述相互依赖性,识别造成影响所述第一资源的事件的根本原因事件,所述根本原因事件在所述多个资源中的第二资源处发生。

12.根据权利要求11所述的控制器设备,其中,为了识别造成影响所述第一资源的事件的所述根本原因事件,所述处理电路被配置为:

使用所述可编程诊断服务将所述资源定义图应用于所述多个资源的至少一个子集,以生成关于所述多个资源的一个或多个推理规则;并且

使用所述可编程诊断服务通过将所述一个或多个推理规则应用于在所述多个资源上检测到的多个事件,来执行前向链式根本原因分析。

13.根据权利要求11至12中任一项所述的控制器设备,其中,所述处理电路还被配置为:

使用所述可编程诊断服务初始化一个或多个遥测规则,所述遥测规则使得所述控制器设备能够执行以下操作中的一项或多项:

监控所述设备组的一个或多个组件的状态信息;以及

响应于检测到在所述多个资源内发生的阈值事件,引发一个或多个警报。

14.根据权利要求13所述的控制器设备,其中,为了初始化所述一个或多个遥测规则,所述处理电路被配置为使用所述可编程诊断服务基于所述编程输入来配置由所述设备组支持的设备资源之间的第一因果关系以及由所述设备组支持的服务资源之间的第二因果关系。

15.根据权利要求11至12中任一项所述的控制器设备,其中,为了形成对所述设备组支持的所述多个资源之间的所述相互依赖性进行建模的所述资源定义图,所述处理电路被配置为使用所述可编程诊断服务将一个或多个时间约束应用于建模的相互依赖性。

16.根据权利要求15所述的控制器设备,其中,所述一个或多个时间约束包括在所述第二资源处发生所述根本原因事件之后发生影响所述第一资源的事件所基于的约束。

17.根据权利要求15所述的控制器设备,其中,所述一个或多个时间约束包括在所述第二资源处发生所述根本原因事件之前发生影响所述第一资源的事件所基于的约束。

18.根据权利要求11至12中任一项所述的控制器设备,其中,所述多个资源包括一个或多个网络资源,并且其中,所述处理电路还被配置为使用所述可编程诊断服务来配置所述一个或多个网络资源的至少一个子集。

19.根据权利要求11至12中任一项所述的控制器设备,其中,所述多个资源包括一个或多个服务资源,并且其中,所述处理电路还被配置为使用所述可编程诊断服务来配置所述一个或多个服务资源的至少一个子集。

20.根据权利要求11至12中任一项所述的控制器设备,其中,所述多个资源包括一个或多个设备资源,并且其中,所述处理电路还被配置为使用所述可编程诊断服务来配置所述一个或多个设备资源的至少一个子集。

21.一种用指令编码的计算机可读介质,所述指令在执行时使得控制器设备的处理电路执行权利要求1至2中任一项所述的方法。

技术总结
本公开涉及网络事件的相关性的可编程诊断模型。描述了网络管理技术。本公开的控制器设备管理网络的设备组。控制器设备包括与存储器通信的处理电路,处理电路被配置为使用由处理电路执行的可编程诊断服务来接收编程输入,以使用可编程诊断服务基于编程输入来形成资源定义图,资源定义图对由设备组支持的多个资源之间的相互依赖性进行建模,使用可编程诊断服务来检测影响多个资源中的第一资源的事件,并且使用可编程诊断服务,基于根据编程输入形成的资源定义图中建模的相互依赖性,来识别导致影响第一资源的事件的根本原因事件,根本原因事件在多个资源的第二资源处发生。

技术研发人员:贾扬蒂·R;钱德拉谢卡尔·A;哈维尔·安蒂克;斯里·萨姆帕特·马利普蒂;普雷姆昌达尔·N;哈沙·拉克希米坎西
受保护的技术使用者:瞻博网络公司
技术研发日:2020.05.26
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2535.html

最新回复(0)