一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于网络事件的故障影响分析的方法、系统及存储介质与流程

2022-02-22 07:47:47 来源:中国专利 TAG:


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


背景技术:

2.计算机网络是可以交换数据并共享资源的互连计算装置的集合。各种装置操作以促进计算装置之间的通信。例如,计算机网络可以包括路由器、交换机、网关、防火墙和各种其他装置以提供并促进网络通信。
3.这些网络装置通常包括用于本地或远程配置装置的机构(诸如,管理接口)。通过与管理接口交互,客户端可以执行配置任务以及执行可操作命令,以收集并查看所管理的装置的可操作数据。例如,客户端可以配置装置的接口卡、调整所支持的网络协议的参数、指定装置内的物理组件、修改由路由器维护的路由信息、访问驻留在装置上的软件模块和其他资源、并且执行其他配置任务。此外,客户端可以允许用户从装置查看当前操作参数、系统日志、与网络连接性相关的信息、网络活动或其他状态信息,以及查看从该装置接收到的事件信息并对从该装置接收到的事件信息做出反应。
4.物联网(iot)数量的爆炸式增长和对托管云的大型数据中心和web应用的需求创建了对有效地分析、评估和/或控制复杂、异构和分布式网络的机构的需求。网络系统倾向于需要分布式且快速的诊断解决方案技术以分析依赖事件。在复杂网络中,网络的底层的中断可能导致大量高层服务的故障,这些高层服务可以直接连接至故障组件或者可以不直接连接至故障组件。


技术实现要素:

5.本公开描述了用于确定涉及网络中的一个资源的网络事件可以对网络中的其他资源具有的影响的技术。在一些示例中,这种技术可以涉及基于模型依赖性(例如,资源依赖性和事件依赖性两者)来导出影响分析规则。在一些示例中,使用前向链结(forwarding chaining)原理的专家系统可以使用导出的影响分析规则以确定从网络事件导致的预测的或预期的影响。识别这种影响可以涉及基于规则生成逻辑事件,其中这种逻辑事件可以由网络事件或其他逻辑事件引起。在一些情况下,逻辑和网络事件可以与相对应的逻辑或网络事件合并以促进事件的高效和/或智能处理。
6.在一些示例中,本公开描述了根据本公开的一个或多个方面的由控制系统执行的操作。在一个特定示例中,本公开描述一种方法,该方法包括:由管理资源组的控制系统生成资源图形,该资源图形对资源组内的资源和多个资源之间的事件依赖性进行建模;由控制系统检测影响多个资源中的第一资源的第一事件,其中,第一事件是网络事件;以及由控制系统并且基于由资源图形建模的依赖性来识别预期受第一事件影响的第二资源。
7.在另一示例中,本公开描述一种系统,该系统包括:网络,包括多个资源;以及控制器,能够与多个资源中的每个资源进行通信并且被配置为执行如本文所描述的操作。在另一示例中,本公开描述一种包括指令的计算机可读存储介质,该指令在被执行时配置计算
系统的处理电路以执行如本文所描述的操作。
附图说明
8.图1是示出根据本公开的一个或多个方面的被配置为执行故障影响分析的示例网络的框图。
9.图2是示出根据本公开的一个或多个方面的可以用于故障影响分析的示例控制器的框图。
10.图3是示出根据本公开的一个或多个方面的示例可编程诊断模型的组件的概念图。
11.图4是示出根据本公开的一个或多个方面的示例资源定义图形的概念图。
12.图5是示出根据本公开的一个或多个方面的示例资源定义图形的概念图。
13.图6a至图6d是示出根据本公开的一个或多个方面的使用示例依赖性图形执行的示例影响分析的概念图。
14.图7是示出根据本公开的一个或多个方面的由示例控制器执行的操作的流程图。
具体实施方式
15.故障影响分析(或“影响分析”)是涉及识别可能或将由网络事件导致的该网络事件的结果的处理。故障影响分析可以使得能够早期检测故障或其他网络事件,并且还可以使得能够足够早地采取补救措施,以便可以减轻或避免网络事件的结果。故障诊断(有时被称为“根本原因分析”或“rca”)与故障影响分析密切相关。rca是从在离散时间窗口内生成或存在的可能的候选事件/条件集中识别触发网络组件故障的初始条件或事件的处理。rca可以是运营商维护正常运行的网络的关键任务。可以用于执行影响分析和rca两者的一些可能的技术包括模型遍历技术和依赖性图形技术。
16.模型遍历技术使用对象模型以确定故障传播。使用各种组件与组件之间的关系来表示网络。基于表示网络的该模型,可以推断出故障依赖性并且将该故障依赖性用于识别问题的根本原因。模型遍历技术不直接指定故障依赖性,而取而代之的是在运行时间期间从模型导出故障依赖性。这些技术适用于频繁变化的网络。然而,模型遍历技术本身不能处理更复杂的故障传播场景(例如,模型遍历技术通常基于一次仅发生一个问题的假设而进行故障传播,等等)。
17.依赖性图形技术使用有向图形以对对象事件之间的依赖性进行建模。节点表示网络元件(例如,网络装置和/或主机)。从节点a:事件到节点b:事件的边指示节点a中的故障可导致节点b中的故障。依赖性图形经常被用在不频繁变化的网络中。在频繁变化的网络中,依赖性需要频繁更新。网络复杂度在增加,特别是鉴于连接装置的数量的快速增加、分布式网络的相对复杂的拓扑、以及物联网(iot)采用的增加。由于装置功能和配置的差异,这些因素也导致了网络的异构性。例如,一个网络可以覆盖在另一网络之上。例如,虚拟专用网络(vpn)覆盖在使用其作为传输层的互联网协议(ip)网络上。网络故障处理者需要一种机构,通过该机构将跨层的问题与通用的模型驱动的解决方案相关联,该通用的模型驱动的解决方案可以应用于任何网络和服务拓扑、可以支持频繁变化的网络、并且可以一次支持多个并发故障。
18.因为网络相对于其结构和组件是动态的,所以相关系统对网络拓扑、组件类型和版本以及提供的服务的持续变化的适应性可以表示在现有影响分析或rca技术上的技术改进。如本文所描述的可编程诊断服务可以提供可扩展性和响应时间,该可扩展性和响应时间使可靠的影响分析和rca在动态、异构网络上能够实现。这种可编程诊断模型可以使网络管理员能够对网络和装置资源(包括服务资源、装置资源和其间的资源依赖性)进行编程。此外,可编程诊断模型可以使网络管理员能够对在网络内可能发生的资源事件之间的原因和结果的关系进行编程。这种模型也可以使管理员能够在有装置资源的情况下利用装置资源属性或者在与服务相关联的装置资源的情况下经由服务关联继承(service association inheritance),来初始化遥测规则。基于以这种方式编程的模型,在网络内操作的控制器可以相对于资源事件的相互关系自动地导出推断规则。控制器可以偶尔、周期性地或连续地更新推断规则,并且实施该推断规则以执行影响分析或基于rca的网络资源事件的前向链结。可编程诊断模型也可以使资源事件之间的时间关系能够结合到模型中,以在潜在的相互关联的事件之中执行影响分析或rca。可以利用时间约束来扩充推断规则以实现基于时间的影响分析或rca。
19.本文描述的技术可以使用元件模型、服务模型和多层模型。元件模型用于使用各种资源(例如,包转发引擎(pfe)、线卡、接口、机箱、cpu等)的网络装置,以捕获这些资源之间的关系以及捕获各种网络资源事件之间的依赖性。服务模型用于跨装置散布的服务(例如,层3(l3)vpn/虚拟专用lan服务(vpls)、标签交换路径(lsp)隧道等)。服务模型包括在服务等级捕获的不同事件。服务模型捕获(i)服务与服务端点关联,(ii)各种端点之间的连接性链路(路径)(例如,具有端点(节点a、b、c)的vpn服务所包含的节点a与节点b之间的隧道以及节点a与节点c之间的隧道等),(iii)跨服务事件的依赖性,(iv)跨端点事件的依赖性,以及(v)装置事件到服务事件之间的依赖性。网络通常是分层的,并且因此,底层中的中断链路或低层服务中的任何其他问题导致许多高层服务发生故障,即使当这些服务未直接连接至故障组件时。多层模型可以捕获(i)服务到服务的依赖性,(ii)服务链路到服务链路的依赖性,以及(iii)跨服务事件的依赖性。
20.在2019年12月31日提交的名称为“network model aware diagnosis of a network”的美国专利申请号16/731,372中描述了底层元件和服务模型的各个方面,其全部内容并入本文。本文中所描述的技术还可以使用可编程诊断服务,诸如,在2020年3月17日提交的名称为“programmable diagnosis model for correlation of network events”的美国专利申请号16/821,745,其全部内容通过引用并入本文。
21.现代数据中心和/或网络经常通过可靠性和服务等级来被评估、比较并区分。在一些情况下,对于提供联网和计算服务以用于租用的数据中心,数据中心的客户倾向于期望服务等级协议(“sla”),该服务等级协议强制或保证端到端服务的数据中心性能。因而,应对可能影响网络性能和服务sla的故障或其他事件可能是重要的。诸如故障之间的平均时间(mtbf)和平均修复的时间(mttr)的度量有时被用作sla的基础。对于被这种sla绑定的数据中心提供商,在检测到网络资源的故障时快速且准确地反应尤为重要。
22.网络相对于其结构和组件倾向于是动态的。可以适应网络拓扑、组件类型和版本、所提供的服务以及网络的其他方面的变化的影响分析或rca系统是有利的。实现这种适应性的一种方式是使诊断服务可编程。在一些情况下,这种可编程诊断服务可以使管理员能
够限定资源、资源依赖性、和/或跨那些资源的原因和结果的关系。当网络的这种属性被限定时,推断引擎或其他系统可以导出可以用于执行影响分析和/或rca的推断规则。
23.在本文描述的各种示例中,故障影响分析系统可以基于模型依赖性导出故障影响分析规则,其中这种依赖性可以包括资源依赖性和事件依赖性两者。在一些示例中,基于前向链结的专家系统方法可以基于这种故障影响分析规则。在一些示例中,这种故障影响分析规则可以基于如本文所描述的资源依赖性来导出。连同所推断的影响事件(例如,“逻辑事件”),还可以生成一个或多个对应的实际或“真实”事件(“网络事件”)。故障影响分析系统应当诸如通过更新实际事件和/或正确地表示实际网络事件来有效地应对这种情形。
24.图1是示出根据本公开的一个或多个方面的被配置为执行故障影响分析的示例网络的框图。网络102包括可以使用控制系统或控制器装置(诸如,控制器110)所管理的网络装置、组件或元件。在一些示例中,网络102可以是由企业或其他组织所操作或管理的企业网络。网络102的管理元件114a-114g(统称为“元件114”)包括经由通信链路互连的网络装置,以形成能够交换资源和信息的通信拓扑。元件114可以组织成一个或多个资源组,并且可以包括例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(ids)或入侵预防系统、计算装置、计算终端、打印机、其他网络装置或这些装置的组合。虽然在本公开中描述为发送、传送或以其他方式支持分组,但是网络102可以根据由任何其他协议限定的任何其他离散数据单元来发送数据(诸如,由异步传输模式(atm)协议限定的信元或由用户数据报协议(udp)限定的数据报)。互连元件114的通信链路可以是物理链路(例如,光、铜线等)、无线或其任何组合。
25.网络102被示出为经由通信链路耦接到公共网络118(例如,互联网)。公共网络118例如可以包括一个或多个客户端计算装置。公共网络118可以提供到web服务器、应用服务器、公共数据库、介质服务器、终端用户装置和其他类型的网络资源装置和内容的访问。
26.控制器110可以经由网络102通信地耦接到一个或多个资源组内的元件114。在一些示例中,控制器110形成为装置管理系统的一部分,但为了便于说明图1,仅示出了装置管理系统的一个装置。控制器110可以直接或间接地耦接到各种元件114。在元件114被部署并激活时,管理员112可以使用控制器110(或多个这种管理装置)以使用装置管理协议来管理网络装置。一个示例装置协议是简单网络管理协议(snmp),该简单网络管理协议允许控制器110遍历并修改管理信息库(mib),该管理信息库(mib)在所管理的元件114中的每个元件内存储配置数据。snmp协议的进一步细节可以在2002年12月的harrington等人的rfc 3411,“an architecture for describing simple network management protocol(snmp)management frameworks,”network working group,the internet engineering task force draft中找到,在tools.ietf.org/html/rfc3411可获得,其全部内容通过引用并入本文。
27.在通常的实践中,控制器110(也被称为网络管理系统(nms)或nms装置)和元件114由企业的信息技术(it)组来维护。管理员112可以与控制器110交互以远程地监视并配置元件114。例如,管理员112可以从控制器110接收关于任何元件114的警告、查看元件114的配置数据、修改元件114的配置数据、将新网络装置添加到网络102、从网络102去除现有网络装置、或以其他方式操纵网络102和其中的网络装置。尽管在本文中相对于企业网络进行了描述,但是本公开的技术也适用于其他网络类型(公共和私有),该其他网络类型包括lan、
vlan、vpn等。
28.在一些示例中,管理员112使用控制器110或本地工作站以例如通过远程登录、安全外壳(ssh)或其他这些通信会话与元件114直接交互。即,元件114通常提供用于直接交互的接口(诸如命令行接口(cli)、基于web的接口、图形用户接口(gui)等),用户通过该接口可以与装置交互以直接发出基于文本的命令。例如,这些接口通常允许用户例如通过远程登录、安全外壳(ssh)、超文本传输协议(http)或其他网络会话直接与装置交互,从而根据限定的句法输入文本以向所管理的元件提交命令。在一些示例中,用户使用控制器110发起与元件114中的一个元件(例如,元件14f)的ssh会话115,以直接配置元件14f。以此方式,用户可以将命令以用于执行的格式直接提供给元件114。
29.进一步,管理员112还可以创建可以通过控制器110向元件114中的任何或全部元件提交的脚本。例如,除了cli接口之外,元件114还可以设置有用于接收根据脚本语言来指定命令的脚本的接口。在某种意义上,脚本可以由控制器110输出以自动调用所管理的元件114上的对应的远程过程调用(rpc)。脚本例如可以符合可扩展标记语言(xml)或另一数据描述语言。
30.管理员112使用控制器110来配置元件114以指定进一步实现管理员112的目标的某些可操作特性。例如,管理员112可以为元件114指定关于安全性、装置可访问性、流量工程、服务质量(qos)、网络地址转换(nat)、包过滤、包转发、速率限制或其他策略的特定操作策略。控制器110使用被设计为管理所管理的网络元件114内的配置数据的一个或多个网络管理协议(例如,snmp协议或网络配置协议(netconf)协议)或其衍生协议(例如,juniper装置管理接口)来执行配置。控制器110可以与元件114中的一个或多个元件建立netconf会话。
31.控制器110可以被配置为将新意图数据模型与现有(或旧)意图数据模型进行比较,确定新意图数据模型与现有意图数据模型之间的差异,并且将反应性映射器应用于新意图数据模型与旧意图数据模型之间的差异。具体地,控制器110确定新数据模型是否包括相对于旧意图数据模型的任何附加的配置参数,以及新数据模型是否修改或省略曾在旧意图数据模型中包括的任何配置参数。
32.意图数据模型可以是统一的图形模型,而低级配置数据可以用yang来表达,该yang在以下中被描述:(i)2010年10月的bjorklund的“yang—a data modeling language for the network configuration protocol(netconf),”internet engineering task force,rfc 6020,在tools.ietf.org/html/rfc6020处可获得;以及(ii)2018年3月的clemm等人的“a yang data model for network topologies,”internet engineering task force,rfc 8345,在tools.ietf.org/html/rfc8345(有时被称为“rfc 8345”)处可获得。在一些示例中,意图数据模型可以用yaml非标记语言(yaml)来表达。控制器110可以包括用于翻译意图数据模型差异的各种反应映射器。这些函数被配置为接受意图数据模型(其例如根据yang或yaml可以被表达为结构化输入参数)。这些功能还被配置为输出相应的低级装置配置数据模型改变(例如装置配置添加和去除)集。即,y1=fig.1(x),y2=fig.2(x),

yn=fn(x)。
33.控制器110可以使用yang以针对意图数据模型和低级装置配置模型建模。该数据可以包含跨yang实体(诸如,列表项和容器(container))的关系。如本文更详细讨论的,控
制器110可以将yang数据模型转换成图形数据模型,并且将yang确认转换成数据确认。在2017年3月17日提交的美国专利申请号15/462,465,“configuring and managing network devices using program overlay on yang-based graph database”中描述了用于使用高级配置数据的图形模型来管理网络装置的技术,其全部内容通过引用并入本文。
34.控制器110可以从管理员112中的任何管理员接收数据,其中该数据表示相对于统一意图数据模型的创建、更新和/或删除动作。控制器110可以被配置为针对创建、更新和删除中的每个使用如应用于图形模型的相同的编译逻辑。
35.通常,控制器110可以使用分层数据模型以用于意图、低级数据模型和资源。分层数据模型可以基于yang或yaml。如上所讨论的,分层数据模型可以表示为图形。现代系统已经支持易于管理网络的意图。意图通常是声明性的。为了实现意图,控制器110尝试选择最优资源以实现所声明的意图。
36.根据本公开的一个或多个方面,当一个或多个网络元件114表现出故障(例如,包丢失或其他故障)时,控制器110执行故障影响分析。为了执行这种分析,控制器110使用资源相互依赖性和事件类型相互依赖性的模型。控制器110可以使用或实现推断引擎,该推断引擎可以是具有由以下三种动作状态组成的循环的专家系统和/或有限状态机:匹配规则、选择规则和执行规则。将规则应用于在存储器中活动的事实集。事实模型捕获网络事件信息。
37.在一些示例中,控制器110和相关联的推断引擎(图1中未示出)识别两种事件:网络事件和逻辑事件。网络事件可以是从网络生成的真实的、实际的事件,并且逻辑事件可以是由于另一网络事件而从另一规则生成的那些事件。在一些示例中,网络事件由网络上正经历操作状况或故障的装置生成。在一些示例中,逻辑事件由控制器110生成。
38.针对网络事件和逻辑事件的对象定义可以具有以下形式:
[0039][0040]
如本文所描述的,推断引擎可以使用利用时间约束而创建的规则来操作。这种时间约束或关系在处理网络事件时可以是重要的,因为它们帮助关联事件如何随时间发生。事件可以相对于彼此,并且可能难以使用特定时间戳来描述。时间运算符或属性可以包括指示事件在另一事件“之前”和“之后”的那些运算符或属性。
[0041]
控制器110可以基于网络资源事件依赖性模型,生成推断引擎所应用的规则。在一些示例中,控制器110可以使用基于网络资源模型中限定的原因与结果依赖性的参数来生成规则模板。控制器110基于原因-结果依赖性来为规则生成推断事实。
[0042]
推断的对象定义可以包括原因和结果列表,并且可以具有以下形式:
[0043]
class inference{
[0044]
string cause;
[0045]
list《string》effects;
[0046]
}
[0047]
为了执行故障影响分析,控制器110可以生成取决于网络中发生的实际网络事件的逻辑事件。这种处理可以包括使用推断规则来识别取决于事件的资源实例的相关资源示例,其中该事件可以是由控制器110接收的实际网络事件。这种处理还可以包括控制器110针对每个依赖资源,基于资源事件依赖性模型来识别相关事件类型。控制器110可以使用该信息来生成逻辑事件。
[0048]
可以使用网络模型来执行识别事件的相关资源。在一些示例中,足以识别这种相关资源的信息可以存储在资源存储器或高速缓冲存储器中。这种信息可以包括针对每个资源而维护的一级依赖性,并且可以具有以下形式,诸如:
[0049]
《resource_type》:《resource_instance_id》。
[0050]
例如,在一个网络模型的示例中,资源依赖性链可以具有以下形式:
[0051]
ge-0/0/1

lsp1

bng_svl_vpn
[0052]
ge-0/0/1

lsp2

bng_ca_vpn
[0053]
其中,“ge-0/0/1”具有“lsp1”的依赖性,“lsp1”具有“bng_svl_vpn”的依赖性。”而且,“ge-0/0/1”具有“lsp2”的附加依赖性,并且“lsp2”具有“bng_ca_vpn”的依赖性。”[0054]
资源存储器或高速缓冲存储器可以维护如下信息:
[0055][0056][0057]
识别相关事件类型可以涉及使用资源事件依赖性模型和使用推断引擎内的依赖性,该依赖性为每个“原因事件”指定依赖性事件的列表。这种依赖性对象的对象定义可以具有以下形式:
[0058]
class dependency{
[0059]
string cause;
[0060]
string effect_resource_type;
[0061]
list effects;
[0062]
}
[0063]
例如,如果依赖性模型具有下面示出的映射,则控制器110创建这些映射下面的表中示出的依赖性事实:
[0064]
interface:oper_down-》vrf:down
[0065]
interface:oper_down-》lsp:status_down
[0066]
lsp:status_down-》vpn:status_down
[0067][0068]
控制器110使用具有上表中所示的形式(例如,存储在资源存储器或高速缓冲存储器中)的信息以找到给定依赖资源的相关事件。
[0069]
在控制器110已经识别到事件的两个相关资源并且已经识别到该事件的相关事件类型时,控制器110可以生成逻辑事件。控制器110可以应用前向链结处理,该前向链结处理涉及从已知数据推断未知的事实并且使用确定的条件和规则向前移动以找到解决方案。在一些示例中,这可以涉及基于所生成的推断来合并结果和原因,将rca树(例如,作为链结处理的一部分而生成的相关事件的图形)存留或存储在数据库中以供进一步事件分析,并且存留或存储rca树中存在的逻辑事件的列表,由此使另一系统能够对网络102上的实际影响或结果执行进一步分析。
[0070]
图2是示出根据本公开的一个或多个方面的可以用于故障影响分析的示例控制器或控制系统的框图。在图2中,图2的控制系统、控制器装置或控制器110可以对应于图1的控制器110或作为图1的控制器110的示例。在图2所示的示例中,控制器110包括控制单元202、网络接口204和用户接口206。网络接口204表示为可以将控制器110通信地耦接到外部装置(例如,图1的元件114中的一个元件)的示例接口。网络接口204可以表示为无线和/或有线接口,例如,以接口或无线电台,该无线电台被配置为根据无线标准(诸如,ieee 802.11无线联网协议(诸如,802.11a/b/g/n或其他这种无线协议)中的一个或多个)进行通信。在各种示例中,尽管在图2的非限制性示例中仅示出一个网络接口,但控制器110可以包括多个网络接口。
[0071]
控制单元202表示为硬件、硬件实现软件和/或固件的任何组合以用于实现归属于控制单元202及其构成模块和元件的功能。当控制单元202包含软件或固件时,控制单元202进一步包括用于存储并执行软件或固件的任何必要的硬件(诸如,一个或多个处理器或处理单元)。总体上,处理单元可以包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、固定功能电路、可编程处理电路或任何其他等效集成或离散逻辑电路、以及这些组件的任何组合。通常使用固定和/或可编程逻辑电路来实现处理单元。
[0072]
例如,用户接口206表示用户(诸如,图1的管理员112)通过该用户接口206与控制器110交互以提供输入并接收输出的一个或多个接口。例如,用户接口206可以表示监视器、键盘、鼠标、触摸屏、触摸板、触控板、扬声器、相机、麦克风等中的一个或多个。此外,尽管在该示例中,控制器110包括用户接口206,但是管理员112不需要直接与控制器110交互,而是可以例如经由网络接口204远程地访问控制器110。
[0073]
控制单元202的功能可以被实现为固定或可编程数字逻辑电路中的一个或多个处理单元。这种数字逻辑电路可以包括一个或多个微处理器、数字信号处理器(dsp)、专用集
成电路(asic)、固定功能电路、可编程逻辑电路、现场可编程门阵列(fpga)或任何其他等效的集成或离散逻辑电路,以及这些组件的任何组合。当实现为可编程逻辑电路时,控制单元202可以进一步包括一个或多个计算机可读存储介质,该计算机可读存储介质存储被控制单元202的处理单元执行的硬件或固件指令。
[0074]
在该示例中,控制单元202包括用户接口模块208、网络接口模块210和管理模块212。控制单元202执行用户接口模块208以从用户接口206接收输入和/或经由用户接口206提供输出。控制单元202还执行网络接口模块210以经由网络接口204(例如,以分组形式)发送和接收数据。用户接口模块208、网络接口模块210和管理模块212可以再次实现为相应的硬件单元,或以由适当的硬件基础设施实现的软件或固件或其组合实现。
[0075]
控制单元202执行管理模块212以管理各种网络装置(例如,图1的元件114)。管理例如包括根据从用户(例如,图1的管理员112)接收的指令来配置网络装置、并且向用户提供提交指令以配置网络装置的能力。管理模块212访问存储数据以辅助管理各种网络装置的各种数据库(诸如,配置数据库214、模型数据库216、推断数据库218和遥测数据库220)。虽然数据库214-220被示出为单独的数据库,但这些数据库214-220中的一个或多个数据库可以组合或以其他方式重新布置。在该示例中,管理模块212还进一步包括配置模块222和诊断服务224。在一些示例中,诊断服务224可以是由用户和/或管理员112可编程的和/或可配置的。关于这种可编程的诊断服务的进一步细节可在2020年3月17日提交的名称为“programmable diagnosis model for correlation of network events”的美国临时专利申请号16/821,745中获得,其全部内容通过引用并入本文。
[0076]
管理模块212被配置为从用户(诸如,管理员112)接收用于所管理的网络装置集的意图统一图形建模的配置数据。这种意图统一图形建模的配置数据可以被称为“意图数据模型。”随着时间的推移,用户可以更新配置数据(例如,以添加新服务、去除现有服务或修改由所管理的装置执行的现有服务)。可以例如根据yang或yaml来构造统一意图数据模型。图形模型可以包括以分层方式由边连接的多个顶点。在yang中,通过“leafref”元素表示图形模型的边。在yaml的情况下,可以用“ref”边表示这种边。类似地,父至子顶点关系(parent-to-child vertex relations)可以用“具有(has)”边来表示。例如,元素a的顶点指使用具有-边(has-edge)的元素b的顶点,从而可以被理解为意味着“元素a具有元素b。”[0077]
配置数据库214通常包括描述所管理的网络装置(例如,元件114)的信息。配置数据库214可以包括指示装置标识符(诸如,介质访问控制(mac)和/或互联网协议(ip)地址)、装置类型、装置供应商、装置种类(例如,路由器、交换机、网桥、集线器等)等的信息。配置数据库214还存储所管理的装置(例如,元件114)的当前配置信息(例如,意图数据模型,或者在一些情况下,意图数据模型和低级配置信息两者)。
[0078]
模型数据库216包括由用户经由配置模块222配置的模型,该模型描述网络102的结构。如下文所描述的,模型数据库216包括网络感知诊断模型,诊断服务224使用该网络感知诊断模型来执行根本原因分析以找到作为事件源的失灵的元件114,即使当失灵不是事件的直接/立即结果,而是事件的级联下游结果时。
[0079]
图2中所示出的模块(例如,用户接口模块208、控制器110、配置模块222、诊断服务224和/或本公开中其他地方所示出或描述的)可以使用驻留在一个或多个计算装置中和/或在一个或多个计算装置处执行的软件、硬件、固件或硬件、软件和固件的混合来执行所描
述的操作。例如,计算装置可以利用多个处理器或多个装置执行这种模块中的一个或多个模块。计算装置可以执行一个或多个这种模块作为在底层硬件上执行的虚拟机。这种模块中的一个或多个模块可以作为操作系统或计算平台的一个或多个服务来执行。这种模块中的一个或多个模块可以在计算平台的应用层处作为一个或多个可执行程序来执行。在其他示例中,由模块提供的功能可以由专用硬件装置来实现。
[0080]
尽管可以单独地示出一个或多个存储装置内所包括的某些模块、数据存储、组件、程序、可执行文件、数据项、功能单元和/或其他项,但是这种项中的一个或多个项可以组合并且操作为单个模块、组件、程序、可执行文件、数据项或功能单元。例如,一个或多个模块或数据存储可以组合或部分组合,使得它们作为单个模块操作或提供功能。进一步,一个或多个模块可以彼此交互和/或彼此结合而操作,使得例如一个模块充当另一模块的服务或扩展。此外,存储装置内示出的每个模块、数据存储、组件、程序、可执行文件、数据项、功能单元或其他项可以包括多个组件、子组件、模块、子模块、数据存储和/或未示出的其他组件或模块或数据存储。
[0081]
进一步,存储装置内所示出的每个模块、数据存储、组件、程序、可执行文件、数据项、功能单元或其他项可以以各种方式实现。例如,存储装置内所示出的每个模块、数据存储、组件、程序、可执行文件、数据项、功能单元、或其他项可以实现为可下载的或预先安装的应用或“app”。在其他示例中,存储装置内所示出的每个模块、数据存储、组件、程序、可执行文件、数据项、功能单元或其他项可以实现为在计算装置上执行的操作系统的一部分。
[0082]
图3是示出根据本公开的一个或多个方面的示例可编程诊断模型的组件的概念图。可编程诊断模型300可以由控制器(诸如,控制器110)实现,该可编程诊断模型300从多个角度对网络进行建模以可用于具有频繁变化拓扑的网络,并且一次支持多个并发故障。可编程诊断模型300可以是对应于图2的模型数据库216或图2的模型数据库216内所包括的示例数据库。在所示出的示例中,可编程诊断模型300包括(一个或多个)网络资源模型302、诊断模型304、遥测规则306以及时间元数据308。(一个或多个)网络资源模型302包括(一个或多个)服务资源模型和(一个或多个)装置资源模型,并且限定资源间依赖性。遥测规则306提供使控制器110可以监视网络102中的一个或多个组件的状态的数据。遥测规则306还使控制器110能够基于在网络102中配置的检测阈值来生成或发起警报。在一些示例中,遥测规则306可以被包括在网络资源模型中,该网络资源模型还包括用于网络102的网络模型(如美国专利申请号16/731,372中所描述的)和用于元件114的装置元件的装置模型信息。
[0083]
诊断模型304捕获各种资源之间的原因和结果的关系(有时在本文中被称为“相关性”)。例如,诊断模型304可以反映跨在网络102上发生的事件的原因和结果的关系。在资源与资源警报/事件之间限定原因和结果的关系。当在资源之间限定原因和结果关系时,资源上的任何关键警报/事件都会对“支持资源”产生影响。当在资源警报/事件之间限定原因和结果的关系时,资源上的事件会对“所支持的资源”事件产生影响。
[0084]
可编程诊断模型300由诊断服务224使用以执行根据本公开的方面的前向链结的影响分析和/或rca。为了在适应网络102的拓扑结构的动态变化的同时帮助识别故障或其他事件的根本原因,可编程诊断模型300使管理员能够通过经由控制器110提供所的编程输入310来更新诊断模型304的方面。诊断服务224使用编程输入310以构建资源定义图形,该资源定义图形对网络资源以及它们之间的相互依赖性进行建模。基于以此方式所构建的模
型,诊断服务224从网络102发现资源并且跨所发现的资源来构建关系。
[0085]
资源定义图形的各个顶点包括一个或多个“播放簿(playbook)”(见图4),该一个或多个“播放簿”限定了使诊断服务224能够从网络102提取状态信息的相应遥测规则。由诊断服务224构建的资源定义图形捕获网络模型和装置模型信息两者、以及遥测规则306的对应规则。资源定义图形还包括诊断模型304,该诊断模型304提供跨网络102内检测到的事件的原因和结果关系信息。资源定义图形的给定顶点(包括资源模型信息以及遥测规则信息)使诊断服务224能够发现网络102上存在的每个对象的网络和装置资源示例、收集填充和更新对象属性的值所需的数据、并且计算所限定的“状态”属性的实际值。
[0086]
可编程诊断模型300还包括时间元数据308。时间元数据308包括描述在网络102的元件114之间检测到的事件的定时信息的信息。时间元数据308可以包括相对于在网络102内检测到的离散事件而测量的精确时间、近似时间或相对时间。基于在编程输入310中提供的准则或基于其他准则,诊断服务224可以将时间元数据308的部分应用于潜在相互关联的事件,以相对于下游事件执行rca。在一个示例中,诊断服务可以基于事件是否发生在相对于下游事件的因果性(causality)的阈值时间范围内,来保留或消除作为可能的上游原因的事件。
[0087]
使用(一个或多个)网络资源模型302、利用编程输入310形成或更新的诊断模型304、遥测规则306以及时间元数据308的组合,诊断服务224形成存储到推断数据库218的推断规则中的一个或多个。进而,诊断服务224应用适用于在影响分析或rca下的特定事件的推断数据库218的那些推断规则,以运行可编程诊断模型300。通过运行可编程诊断模型300而产生的输出在图3中示出为前向链结的rca输出(或影响分析输出)312。
[0088]
更具体地,诊断服务224使用编程模型(使用编程输入310形成的诊断模型304的版本)以自动导出推断数据库218的相关推断规则。根据本公开的方面,存储到推断数据库218的推断规则可以受制于一个或多个时间约束,下文相对于时间元数据的应用更详细地描述该时间约束。诊断服务224应用所导出的推断规则来识别rca下的影响分析或故障源。当执行rca时,推断引擎226将正在高速缓冲存储器中分析的事件维持预定时间间隔,并且在接收到依赖事件时生成推断。在使事件相关时,推断引擎226可以利用rca树和根本原因事件生成智能事件,以作为前向链结的rca输出312的一部分而输出。在一些示例中,诊断服务224将前向链结的rca输出312保存到分析数据库,该分析数据库可以在控制器110本地、在远程位置处或以分布式方式实现。
[0089]
图4是示出根据本公开的一个或多个方面的示例资源定义图形的概念图。在图4中,资源定义图形402a和402b(统称为“资源定义图形402”)中的每个对相应资源定义图形的网络资源和资源之间的依赖性进行建模。每个资源定义图形402是通过基于编程输入310修改可编程诊断模型300而形成的构造。资源定义图形402中的每个资源定义图形指定包含一个或多个属性、和/或一个或多个状态、和/或到其他资源模型的一个或多个链路的资源模型集。资源定义图形402中的每个限定表征某个网络上下文的资源模型中的一组关系,该网络上下文可以是网络域、可以是网络装置、网络服务等中的任何一个。
[0090]
在图4的示例中,资源定义图形402a与播放簿404a-a和404a-b(统称为“播放簿404a”)相关联,并且资源定义图形402b与播放簿404b-a和404b-b(统称为“播放簿404b”)相关联。播放簿404中的每个限定了使诊断服务224能够从网络102提取状态信息的遥测规则
706”)、以及客户边缘装置或延迟707a至707c(“客户边缘延迟707”)。虽然在图6a至图6d中示出有限数量的槽701、pfe 702、接口703、lsp 704、vrf 706、客户边缘延迟707,但是本文描述的技术可以应用于具有任何数量的这种资源或其他类型的资源的其他网络。
[0096]
图6a的依赖性图形700可以与网络(诸如,结合图1描述的网络102)的依赖性模型相对应。依赖性图形700示出跨每组示例或跨每个层(例如,跨槽701到pfe 702)的依赖性。依赖性图形700中示出的任何实例(例如,pfe 702、接口703、lsp 704、ebgp服务705、vrf 706和/或客户边缘延迟707中的任何)可能经历故障(failure)、失灵(malfunction)、差错(glitch)或可以影响网络操作的其他事件。例如,mpc-槽701a和每个pfe 702具有依赖性关系,其中,影响mpc-槽701a的事件可以影响每个pfe 702。类似地,影响pfe 702b的事件可以影响接口703中的一些或全部。由依赖性图形700示出的依赖性可以(例如,通过控制器110)用于识别相对于图6a至图6d中示出的任何实例发生的事件的影响或结果。
[0097]
在本文中参考图1和图2描述图6a至图6d,并且具体地,参考图2的控制器110执行操作以对图1的网络102实施影响分析或故障影响分析。为了执行这种分析,控制器110可以接收关于在网络102内发生的事件的信息,并且可以确定或预测这种事件对网络102的其他装置、服务、实例或其他元件的影响。在一些示例中,控制器110可以基于这种所确定或所预测的结果来识别可以被采取以减少或消除可以由原始事件导致的任何负面结果的动作或校正动作。控制器110可以采取行动,或者使另一系统采取行动,以解决这种结果。因此,如果控制器110能够在事件的结果中的一些或全部实际发生之前准确地确定或预测事件的结果,则控制器110能够绕过网络102的问题。因此,故障影响分析的有效使用通常可以至少通过更一致地维护网络102的有效和高效操作,来改进网络102的操作。
[0098]
在图6a中,并且根据本公开的一个或多个方面,控制器110可以针对发生在网络102的资源组内的事件发起影响分析。例如,在可以参考图1、图2和图6a描述的示例中,网络装置(诸如,pfe 702b)经历操作事件或故障。pfe 702b生成表示该pfe 702b所经历的操作事件或故障的pfe网络事件712b(参考图6a中邻近于pfe 702b的标记为“712b”的元素)。pfe 702b将pfe网络事件712b通信到控制器110。控制器110的网络接口204检测pfe网络事件712b,并且通过控制器110将关于pfe网络事件712b的信息通信到管理模块212。管理模块212的诊断服务224确定关于pfe网络事件712b的信息指示pfe 702b已经经历故障。诊断服务224发起对pfe网络事件712b的影响分析以确定pfe 702b的故障的结果可能在网络102上。
[0099]
控制器110可以提取依赖于pfe 702b的资源实例。例如,继续参考图1、图2和图6a描述的示例,诊断服务224访问模型数据库216以提取关于与pfe 702b相关的资源的信息。诊断服务224从模型数据库216接收关于基于网络模型(诸如,图6a的依赖性图形700)的pfe 702b的依赖资源的信息。在一些示例中,模型数据库216中的一些或全部可以实现为高速缓冲存储器(例如,类似于时间元数据308)以使依赖资源信息能够快速地被检索出。在此示例中,诊断服务224可以通过进行函数调用来提取这种资源依赖性信息,该函数调用可以具有以下形式:
[0100]
function string fetchdependentresourceids(string resourceid){.return cache.get(resource).}
[0101]
依赖资源信息可以使用一级依赖性模型来维护,其中每个实例(例如,pfe 702b)
表示为具有表示依赖资源的一个或多个值的关键字。在图6a的示例中,接口703a、703b、703c和703d中的每个接口与pfe 702b具有依赖性关系。因此,诊断服务224基于从模型数据库216(或高速缓冲存储器)接收的信息来确定接口703中的每个接口与pfe 702b相关或依赖于pfe 702b。
[0102]
控制器110可以基于资源事件依赖性模型来提取相关事件类型。例如,仍参考图1、图2和图6a所描述的示例,控制器110的诊断服务224访问模型数据库216内所包括的资源事件依赖性模型,以提取关于与给定原因事件相关联的依赖事件的信息。这种模型可以包括依赖性对象,该依赖性对象具有包括原因、结果资源类型一级结果列表的字段。对于任何给定原因,这种模型识别受影响的资源类型和该资源类型的结果的列表。因此,如果诊断服务224向模型数据库216提供输入(例如,pfe网络事件712b),其中该输入指定了原因(例如,pfe 702b已经出现故障),则模型数据库216可以通过识别“结果资源类型”的列表来响应,并且对于每种结果资源类型,模型数据库216可以进一步提供关于预期或预测由该pfe网络事件712b导致的结果的列表的信息。
[0103]
控制器110可以生成由pfe网络事件712b触发的逻辑事件(接口逻辑事件723a、723b、723c和723d)。例如,再次参考图1、图2和图6a描述的示例,控制器110的诊断服务224生成一个或多个推断事件,该一个或多个推断事件用于识别预期由于特定原因而发生的网络或实际事件。在一些示例中,诊断服务224可以针对从模型数据库216接收的每个结果资源类型生成这种逻辑事件。图6a针对事件723a、723b、723c和723d使用虚线符号示出这种接口逻辑事件723a、723b、723c和723d,从而指示这种事件不是由相应的接口703生成的实际事件,而是由控制器110的诊断服务224生成的推断、预测或逻辑事件。
[0104]
由诊断服务224生成的每个逻辑事件可以包括标识符字段、事件类型标志、“是逻辑”标志、“被处理”标志和上下文标识符。对于每个逻辑事件,诊断服务224使用结果资源实例标识符和结果事件类型来生成每个逻辑事件的标识符字段。对于每个逻辑事件,诊断服务224使用结果事件类型来生成事件类型字段。对于每个逻辑事件,诊断服务224将“是逻辑”标志设定为真,以指示事件是逻辑事件(与网络事件相反)。对于每个逻辑事件,诊断服务224将“被处理”标志设定为真,以指示事件已经被处理。对于每个逻辑事件,诊断服务224使用原因网络事件标识符来初始化上下文字段。
[0105]
在一些示例中,诊断服务224将接口逻辑事件723a、723b、723c和723d输出至用户接口模块208,以通知一个或多个管理员112关于pfe702b处的故障的潜在影响。诊断服务224还可以将关于接口逻辑事件723a、723b、723c和723d的信息输出至另一系统,以能够采取(一个或多个)校正动作来消除或减轻对网络102的潜在负面影响。
[0106]
在一些示例中,如果事件尚未存在,则诊断服务224生成每个逻辑事件。例如,在一些情况下,如果在诊断服务224能够生成逻辑事件之前发生实际网络事件,则可能已经存在对应的事件。在其他示例中,如果逻辑事件作为处理另一事件的结果而提前生成,则对应的事件可能已经存在。如果事件已经存在,则诊断服务224生成逻辑事件,其中“是逻辑”标志被设定为假并且推断被触发。一种处理在接收到对应(“等效”)的网络事件之后生成的逻辑事件的方式是将逻辑事件与网络事件合并,如本文进一步描述的。
[0107]
以下伪代码示出可以用于生成逻辑事件的规则:
[0108][0109]
图6b示出生成接口逻辑事件723b、723c和723d中的每个可以使逻辑事件进一步生成。例如,继续所描述的示例,但现在参考图6b,诊断服务224生成如上所描述的接口逻辑事件723b。控制器110的诊断服务224分析接口逻辑事件723b并且确定接口逻辑事件723b与接口703b相关联。诊断服务224访问模型数据库216以检索关于与接口703b相关的资源的信息。如图6b中所示出的,诊断服务224从模型数据库216接收将lsp 704a、704b和704c识别为与接口703b相关或依赖于接口703b的信息。同时,并发地或在不同时间,诊断服务224还访问在模型数据库216内所包括的资源事件依赖性模型,以提取关于与接口逻辑事件723b相关联的依赖性事件的信息。诊断服务224基于依赖事件信息,确定接口逻辑事件723b具有与lsp 704a、704b和704c中的每个相关联的结果资源类型和结果。诊断服务224基于前向链结分析和来自模型数据库216的信息来生成新的lsp逻辑事件724a、724b和724c,从而指示接口逻辑事件723b是具有由lsp逻辑事件724a、724b和724c表示的结果的原因。
[0110]
图6c示出接口逻辑事件723c生成与vrf 706c和ebgp服务705a相关联的接口逻辑事件,并且还示出接口逻辑事件723d生成与vrf 706c和ebgp服务705b相关联的接口逻辑事件。例如,再次参考正在描述的示例,并且现在参考图2和图6c,诊断服务224分析接口逻辑事件723c并且确定接口逻辑事件723c与接口703c相关联。诊断服务224问模型数据库216,以获得关于与接口703c相关的资源的信息来访问模型数据库216,并且还获得关于与接口逻辑事件723c相关联的事件依赖性的信息。诊断服务224基于前向链结分析和来自模型数据库216的信息来生成新的vrf逻辑事件726c和新的ebgp逻辑事件725a。
[0111]
类似地,诊断服务224分析接口逻辑事件723d并且确定接口逻辑事件723d与接口703d相关联。诊断服务224访问模型数据库216,以获得关于与接口703d相关的资源的信息并且还获得关于与接口逻辑事件723d相关联的事件依赖性的信息。诊断服务224基于前向链结分析和来自模型数据库216的模型信息来生成新的vrf逻辑事件726c和新的ebgp逻辑事件725a。在一些示例中,诊断服务224可以确定vrf逻辑事件726c已经生成作为处理接口逻辑事件723c的结果。在这种示例中,诊断服务224可能不生成附加的vrf逻辑事件726c,或者如果生成,则稍后生成的vrf逻辑事件726c可以与作为接口逻辑事件723c生成的对应的vrf逻辑事件726c合并。以这种方式处理潜在重复的逻辑事件可以防止由控制器110或诊断服务224进行重复处理。
[0112]
图6d示出vrf逻辑事件726c引起ce逻辑事件727a、727b和727c。例如,继续所描述的示例,并且现在参考图2和图6d,诊断服务224分析vrf逻辑事件726c并且确定vrf逻辑事件726c与vrf 706c相关联。诊断服务224访问模型数据库216以提取关于与vrf 706c相关的资源的信息以及与vrf逻辑事件726c相关联的事件依赖性。诊断服务224基于来自模型数据库216的信息生成ce逻辑事件727a、727b和727c。
[0113]
总体上,与网络相关联的事件倾向于是接近瞬时并且不可变的。然而,在本文所描述的至少一些示例中,这种事件可能不是接近瞬时的,并且可能不是不可变的。在一些情况下,特别是对于在相应逻辑事件已经被处理之后生成的网络事件,事件可能被修改或与另一事件合并(例如,较晚的网络事件可以与较早的相应的逻辑事件合并)。类似地,对于在相应的实际网络事件之后(或在由另一逻辑事件引起的相应逻辑事件之后)生成的逻辑事件,这种较晚生成的事件可能被修改或与另一(例如,较早的)事件合并。由于在执行根本原因分析或故障影响分析时会生成冗余事件,所以修改这种事件可以有助于确保很少或不执行低效、重复或其他不必要的处理。
[0114]
图6d示出在生成对应较早的逻辑事件之后如何可以生成一个或多个网络事件的示例。例如,在所描述的示例中并且参考图6d,ebgp服务705a可能在ebgp逻辑事件725a已经由诊断服务224生成之后经历操作事件或故障。因此,ebgp服务705a所经历的操作事件或故障可以是pfe702b的原始故障的实际结果。在这种示例中,ebgp服务705a生成ebgp网络事件715a,该ebgp网络事件715a表示由ebgp服务705a所经历的实际操作事件或故障。ebgp服务705a将ebgp网络事件715a通信到控制器110。控制器110的网络接口204检测ebgp网络事件715a,并且通过控制器110将关于ebgp网络事件715a的信息通信到管理模块212。管理模块212的诊断服务224确定关于ebgp网络事件715a的信息指示ebgp服务705a已经经历故障。诊断服务224可以发起对ebgp网络事件715a的影响分析。诊断服务224可以确定ebgp网络事件715a是故障的pfe 702b的结果。诊断服务224可以进一步确定该事件已经通过先前生成的
ebgp逻辑事件725a解决。在所描述的示例中,由于实际故障(由ebgp网络事件715a表示)发生在控制器110已经处理ebgp逻辑事件725a之后,所以控制器110可能已经或导致解决pfe 702b的故障的影响。因此,诊断服务224可以将ebgp网络事件715a合并到ebgp逻辑事件725a中,从而避免附加的重复地解决pfe网络事件712b和ebgp网络事件715a的结果的处理。
[0115]
图6d还示出在生成对应的实际网络事件之后可以生成一个或多个逻辑事件。例如,再次参考图6d,客户边缘装置707c可以经历操作事件或故障。在所描述的示例中,由于网络流量或其他情况,操作事件或故障非常早地发生,并且甚至发生在诊断服务224生成ce逻辑事件727c之前。在这种示例中,客户边缘装置707c将使ce网络事件717c在诊断服务224生成ce逻辑事件727c之前生成并且通信到控制器110。当控制器110的诊断服务224较晚处理vrf逻辑事件726c并且生成ce逻辑事件727c时,如上所描述的,诊断服务224将确定其已经处理ce网络事件717c。在一些示例中,然后,诊断服务224将ce逻辑事件727c合并到先前处理的ce网络事件717c中,从而避免附加的重复解决ce逻辑事件727c的结果的处理。
[0116]
图7是示出根据本公开的一个或多个方面的由示例控制器执行的操作的流程图。以下在图1和图2的控制器110的上下文下描述图7。在其他示例中,图7中所描述的操作可以由一个或多个其他组件、模块、系统或装置执行。进一步,在其他示例中,结合图7所描述的操作可以被合并、以不同序列执行、省略或可以涵盖未具体示出或描述的附加的操作。
[0117]
在图7中示出的处理中,并且根据本公开的一个或多个方面,控制器110可以生成对资源和事件依赖性进行建模的资源图形(701)。例如,参考图1和图2,控制器110的用户接口206检测输入并且将关于输入的信息输出到用户接口模块208。用户接口模块208将信息输出到管理模块212。管理模块212的配置模块222确定输入对应于可能由管理员输入的与网络(诸如,图1的网络102)相关的配置信息。在一些示例中,可以接收以描述网络102的属性的编程信息或编程代码的形式的配置信息。配置模块222可以基于配置信息生成一个或多个模型。这种模型可以详述网络102内的资源依赖性和/或详述网络102内的事件依赖性。配置模块222将模型存储在模型数据库216中。
[0118]
控制器110可以检测影响多个资源中的第一资源的第一事件(702)。例如,控制器110的网络接口204检测输入并且将关于输入的信息输出到控制器110。控制器110将关于输入的信息输出到诊断服务224。诊断服务224确定该输入与指示和/或通知网络102内的一个或多个资源已经经历或正在经历操作事件相对应。诊断服务224进一步确定输入指示网络102的元件114b的一个或多个方面已经出现故障。
[0119]
控制器110可以识别预期会受第一事件影响的第二资源(703)。例如,诊断服务224向模型数据库216查询关于与元件114b相关联的资源依赖性和事件依赖性的信息。诊断服务224基于来自模型数据库216的信息,确定元件114a和元件114c与元件114b具有资源依赖性。诊断服务224进一步确定元件114a与元件114b具有事件依赖性,而元件114c与元件114b不具有事件依赖性。诊断服务224针对元件114a生成一个或多个逻辑事件。诊断服务224使用逻辑事件来确定元件114a预期会受到元件114b的故障的影响。
[0120]
对于本文中所描述的处理、设备和其他示例或说明(包括在任何流程图或流程框图中),本文描述的任何技术中包括的某些操作、动作、步骤或事件可以以不同序列执行,可以添加、合并或完全省略(例如,并非所有描述的动作或事件都是实践这些技术所必需的)。此外,在某些示例中,操作、动作、步骤或事件可以同时执行,例如,通过多线程处理、中断处
理或多个处理器、而非按序列执行。此外,某些操作、动作、步骤或事件可以自动执行,即使未被特别地识别为自动执行。而且,描述为被自动执行的某些操作、动作、步骤或事件可以替代地不是自动执行的,而是,在一些示例中,这些操作、动作、步骤或事件可以响应于输入或另一事件来执行。
[0121]
为了便于说明,仅有限数量的装置(在图内和/或在本文引用的其他图示中示出)。然而,根据本公开的一个或多个方面的技术可以利用更多这种系统、组件、装置、模块和/或其他项来执行,并且对这种系统、组件、装置、模块和/或其他项的集体引用可以表示任何数量的这种系统、组件、装置、模块和/或其他项。
[0122]
本文所包括的图均示出本公开的方面的至少一个示例实现方式。然而,本公开的范围不限于这种实现方式。因而,本文所描述的系统、方法或技术的其他示例或可替代的实现方式(除了图中所示出的那些)在其他实例中也可以是合适的。这种实现方式可以包括图中包括的装置和/或组件的子集和/或可包括图中未示出的附加的装置和/或组件。
[0123]
上面阐述的详细描述旨在作为各种配置的描述,而不旨在表示可以实践本文描述的概念的唯一配置。详细描述包括出于提供对各种概念的充分理解额定目的的具体细节。然而,可以在没有这些具体细节的情况下实践这些概念。在一些实例中,以框图形式在所参考的图中示出众所周知的结构和组件,以便避免模糊这些概念。
[0124]
因而,尽管可以参考特定图来描述各种系统、装置和/或组件的一个或多个实现方式,但这些系统、装置和/或组件可以用许多不同的方式来实现。例如,本文示出为独立装置的一个或多个装置可以替代地实现为单个装置;示出为独立组件的一个或多个组件可以替代地被实现为单个组件。而且,在一些示例中,在本文的图中示出为单个装置的一个或多个装置可以替代地实现为多个装置;示出为单个组件的一个或多个组件可以替代地实现为多个组件。这种多个装置和/或组件中的每个可以经由有线或无线通信直接耦接和/或经由一个或多个网络远程地耦接。而且,可以在本文的各种图中示出的一个或多个装置或组件可以替代地实现为这些图中未示出的另一装置或组件的部分。以此方式和其他方式,本文所描述的功能中的一些可以经由两个或多个装置或组件的分布式处理来执行。
[0125]
进一步,某些操作、技术、特征和/或功能可以在本文被描述为由特定组件、装置和/或模块执行。在其他示例中,这种操作、技术、特征和/或功能可以由不同组件、装置或模块执行。因而,在本文中可以被描述为归属于一个或多个组件、装置或模块的一些操作、技术、特征和/或功能在其他示例中可以归属于其他组件、装置和/或模块,即使在本文中未以这种方式具体描述。
[0126]
尽管结合一些示例的描述已经明确特定优点,但是各种其他示例可以包括一些、没有、或所有列举出的优点。根据本公开,其他优点、技术或其他方式对本领域的普通技术人员而言可以变得清楚。进一步,虽然本文已公开特定示例,但可以使用任何数量的技术来实现本公开的方面,不管该技术当前已知与否,并且因此,本公开不限于本公开中具体描述和/或示出的示例。
[0127]
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上和/或经由计算机可读介质传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质,其对应于有形介质(诸如,数据存储介质)或包括(例如,根据通
信协议)促进计算机程序从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可以对应于(1)有形计算机可读存储介质(为非暂时性)或(2)通信介质(诸如,信号或载波)。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
[0128]
通过示例,而非限制性地,这种计算机可读存储介质可以包括ram、rom、eeprom、光盘存储器、磁盘存储器或其它磁存储装置、闪存、或可以以指令或数据结构形式存储所期望的程序代码并且可以由计算机访问的任何其他介质。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线或无线技术(诸如,红外线、无线电和微波)从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线或无线技术(诸如,红外线、无线电和微波)包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,而是针对非瞬时的有形存储介质。以上的组合也可以包括在计算机可读介质的范围内。
[0129]
指令可以由一个或多个处理器执行,诸如,一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”或“处理电路”均可以指代任何前述结构或适于实现所描述的技术的任何其他结构。此外,在一些示例中,所描述的功能可以在专用硬件和/或软件模块内提供。而且,技术可以完全在一个或多个电路或逻辑元件中实现。
[0130]
本公开的技术可以在广泛各种装置或设备中实现,包括,无线手持机、移动或非移动计算装置、可穿戴或非可穿戴计算装置、集成电路(ic)或ic集(例如,芯片集)。本公开中描述各种组件、模块或单元以强调被配置以执行所公开技术的装置的功能方面,但不一定需要由不同硬件单元实现。而是,如上所描述的,结合合适的软件和/或固件,各种单元可以在硬件单元中组合,或者由可互操作的硬件单元(包括如上所描述的一个或多个处理器)的集合来提供。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献