用于调试网络节点内联网故障的方法、系统和装置与流程

文档序号:12865853阅读:303来源:国知局
用于调试网络节点内联网故障的方法、系统和装置与流程

本发明的各实施例总体上涉及计算机网络,具体地涉及用于调试网络节点内联网故障的方法、系统和装置。



背景技术:

调试网络节点经常是乏味的工作。在许多情况下,这些网络节点可能触发需要具有高水平专长的人类操作者翻译的警告和/或事件。在这种情况下,人类操作者可以求助于参考手册来解释和/或理解警告和/或事件。附加地或备选地,人类操作者可以依赖于技术支持。遗憾的是,随着网络节点数目的增加,调试信息的量也随之增加。在某种情况下,这种调试信息可能达到人类操作者无法手动处理的量。

作为一个具体示例,管理网络的人类操作者可以看到在他或她的计算设备上显示的警告和/或事件的图形表示。在无法基于参考手册、命令行接口(cli)转储和/或事件日志确定警告和/或事件的原因之后,人类操作者联系位于技术辅助中心(tac)的技术支持。在此示例中,技术支持可以基于相关cli转储和/或事件日志来评估警告和/或事件的原因。人类操作者和/或技术支持甚至可以再现在警告和/或事件时运行的网络和/或操作的配置,以便收集与确定根本原因潜在相关的任何附加信息。

遗憾的是,这些调试过程可能需要大量的人力和/或计算资源。即使具有这些资源,这些调试过程可能导致错误判断和/或没有判断(尤其在问题的重现不可实行时)。因此,本公开标识并解决对用于调试网络节点内联网故障的附加和改进方法、系统和装置的需求。



技术实现要素:

如下文将更详细所述,本公开总体上涉及用于调试网络节点内联网故障的方法、系统和装置。在一个示例中,一种用于完成这种任务的方法可以包括(1)检测指示网络节点内联网故障的计算事件,(2)至少部分基于该计算事件确定联网故障的一个或多个潜在原因,(3)标识各自定义调试步骤的一个或多个调试模板,该调试步骤在由计算系统执行时,使得计算系统能够确定联网故障是否由任意潜在原因造成,(4)执行由对应于潜在原因之一的调试模板之一定义的调试步骤集,继而(5)至少部分基于由调试模板定义的调试步骤集确定联网故障由潜在原因造成。

类似地,一种用于实现上述方法的系统可以包括(1)存储器中存储的检测模块,用于检测指示网络节点内联网故障的计算事件,(2)存储器中存储的确定模块,用于至少部分基于计算事件确定联网故障的一个或多个潜在原因,(3)存储器中存储的标识模块,用于标识各自定义调试步骤的一个或多个调试模板,调试步骤在由计算系统执行时,使得计算系统能够确定联网故障是否由任意潜在原因造成,(4)存储器中存储的调试模块,用于(a)执行由对应于潜在原因之一的调试模板之一定义的调试步骤集,继而(b)至少部分基于由调试模板定义的调试步骤集确定联网故障由潜在原因造成,以及(5)至少一个物理处理器,用于执行检测模块、确定模块、标识模块和调试模块。

一种用于实现上文方法的装置可以包括(1)存储器设备,用于存储定义用于调试联网故障的调试步骤的调试模板,以及(2)处理单元,通信耦合至存储器设备,其中处理单元(a)检测指示网络节点内联网故障的计算事件,(b)至少部分基于计算事件确定联网故障的一个或多个潜在原因,(c)标识存储在存储器设备中并且各自定义调试步骤的一个或多个调试模板,调试步骤在由计算系统执行时,使得计算系统能够确定联网故障是否由任意潜在原因造成,(d)执行由对应于潜在原因之一的调试模板之一定义的调试步骤集,继而(e)至少部分基于由调试模板定义的调试步骤集确定联网故障由潜在原因造成。

来自上面提到的实施例中的任何实施例的特征根据在这里描述的一般原则可以相互结合被使用。这些以及其他的实施例、特征和优点在结合附图和权利要求阅读以下具体实施方式之后将得到更充分的理解。

附图说明

附图图示了若干示例性实施例并且是本说明书的一部分。与以下描述一起,这些附图展示并说明了本公开内容的各种原理。

图1是用于调试网络节点内联网故障的示例性系统的框图。

图2是用于调试网络节点内联网故障的示例性系统的框图。

图3是用于调试网络节点内联网故障的示例性方法的流程图。

图4是指示网络节点内联网故障的示例性计算事件的图示。

图5是示例性调试模板的集合的框图。

图6是调试由调试模板定义的步骤的示例性集合的流程图。

图7是指示网络节点内联网故障的示例性计算事件的图示。

图8是调试由调试模板定义的步骤的示例性集合的流程图。

图9是用于调试网络节点内联网故障的示例性系统的框图。

图10是能够实施在这里描述和/或例示的实施例中的一个或多个和/或能够结合在这里描述和/或例示的实施例中的一个或多个而被使用的示例性计算系统的框图。

贯穿附图,相同的标号和描述指示相似但是不一定相同的要素。尽管在这里描述的示例性实施例易受各种修改和备选形式影响,但是在附图中已经通过示例方式示出并且将在这里详细描述特定实施例。然而,在这里描述的示例性实施例并非旨在限制于所公开的具体形式。相反,本公开内容涵盖落入所附权利要求的范围内的所有修改、等价物和备选物。

具体实施方式

本公开描述了用于调试网络节点内联网故障的各种方法、系统和装置。如下文进一步所述,本文所述系统和方法可以提供促进网络环境内自动调试支持和/或修复的调试架构和/或框架。通过提供此调试架构和/或框架,本文所述系统和方法可以缓解和/或消除对调试联网故障中人类交互的需求。

附加地或备选地,本文所述系统和方法可以改进调试联网故障中涉及的资源消耗的量。例如,人类操作者可能收集跨网络节点的各种相关和不相关调试信息。相反,本文所述系统和方法可以仅收集相关信息并通过进步的数据收集和相关性过滤掉不相关信息,由此减少资源消耗并在调试过程中提供更快的收敛。此外,这些系统和方法可以通过减少假阳性和/或假阴性的数目来改进调试过程的判断能力。

下面将参考图1、图2、图5和图9提供用于调试网络节点内联网故障的示例性系统的详细描述。对应的计算机实现的方法的详细描述将结合图3提供。示例性计算事件的详细描述将结合图4和图7提供。调试步骤的示例性集合的详细描述将结合图6和图8提供。另外,能够实现本文所述一个或多个实现方式的示例性计算系统的详细描述将结合图10提供。

图1是用于调试网络节点内联网故障的示例性系统100的框图。如图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,并且如下文更详细所述,示例性系统100可以包括检测模块104,该检测模块104检测指示网络节点内联网故障的计算事件。示例性系统100还可以包括确定模块106,该确定模块106至少部分基于计算事件确定联网故障的一个或多个潜在原因。

另外,示例性系统100可以包括标识模块180,该标识模块180标识各自定义调试步骤的一个或多个调试模板,该调试步骤在由计算系统执行时使得计算设备能够确定联网故障是否由于任何潜在原因造成。此外,示例性系统100可以包括调试模块110,该调试模块110(1)执行由对应于潜在原因之一的调试模板之一定义的调试步骤集,继而(2)至少部分基于由调试模板定义的调试步骤集确定由潜在原因造成的联网故障。

示例性系统100还可以包括数据库模块112,该数据库模块112建立和/或维护调试模板的集合和/或结果数据库。另外,示例性系统100可以包括相关模块114,该相关模块114将多个计算事件和/或跨多个网络节点此类事件的根本原因相关。最后,示例性系统100可以包括修复模块116,该修复模块116(1)向至少一个管理员通知由潜在原因造成的联网故障和/或(2)通过解决潜在原因来修复联网故障。虽然图示为单独元件,但是图1中的一个或多个模块102可以表示单个模块或应用(诸如网络操作系统)的各部分。

在某些实施例中,图1的一个或多个模块102可以表示一个或多个软件应用或程序,当由计算设备执行时,使得该计算设备执行一个或多个任务。例如,并且如下文更详细所述,一个或多个模块102可以表示被存储并配置为在一个或多个计算设备上运行的软件模块,诸如图2中图示的任意设备(例如,网络节点202(1)-(n)和/或服务器206)和/或图10中的计算设备1000。图1中的一个或多个模块102还可以表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或各部分。

如图1所示,系统100还可以包括一个或多个调试模板,诸如调试模板120。在一个示例中,调试模板120可以包括在集合和/或数据库中和/或表示为集合和/或数据库。在此示例中,调试模板120可以各自定义调试步骤集,该调试步骤在由计算系统执行时,使得计算系统能够确定联网故障是否由某个原因造成。换言之,调试模板120可以各自包括某些指令,当被跟随和/或执行时,促进确定联网故障是否由某个原因造成。

在某些示例中,每个调试模板120可以对应于联网故障的不同潜在原因。例如,调试模板120之一可以对应于联网故障的特定原因。在此示例中,特定原因可以是由网络节点内开关接口板(sib)上包括的专用集成电路(asic)产生的错误。此调试模块可以包括调试步骤集,在由计算系统执行时,使得计算系统确定由网络节点内sib上的asic产生的错误是否为网络节点上联网故障的源和/或根本原因。此调试过程可以由于和/或响应于指示联网故障的计算事件而发起。

在某些示例中,一个或多个调试模板120通常可以应用于所有网络和/或节点配置。例如,调试模板可以指导计算系统正确执行来自任意供应商的任意类型或形式的网络节点和/或平台上的对应调试步骤。附加地或备选地,调试模板可以指导计算系统正确执行网络节点内任意类型或形式的asic和/或现场可替换单元(fru)上的对应调试步骤。此外,调试模板可以指导计算系统正确执行网络节点内任意类型或形式硬件和/或软件上的对应调试步骤而不考虑版本和/或发布。因此,这种调试模板和/或步骤可以正确运行而与底层平台、供应商、asic类型、fru类型和/或发布无关。

在某些示例中,一个或多个调试模板120可以包括特定于特定网络和/或节点配置的某些调试步骤。例如,调试模板可以指导计算系统执行特定针对来自特定供应商的特定类型的网络节点和/或平台设计的调试步骤。附加地或备选地,调试模板可以指导计算系统执行特定针对网络节点内特定类型的asic和/或fru设计的调试步骤。此外,调试模板可以指导计算系统执行特定针对网络节点内硬件和/或软件的特定版本和/或发布设计的调试步骤。因此,这种调试模板和/或步骤可以正确运行而与底层平台、供应商、asic类型、fru类型和/或发布无关。

在某些示例中,一个或多个调试模板120可以表示为和/或转换成树数据结构。作为特定示例,调试模板可以被格式化为树,该树包括(1)表示网络节点(诸如路由器、交换机和/或机柜)的第一层级、(2)表示这种网络节点内物理部件(诸如fru)的第二层级、(3)表示能够产生相同联网故障的物理部件的逻辑群组的第三层级和/或(4)表示待在逻辑群组中包括的物理部件上和/或与其结合一起执行的调试步骤的第四层级。

虽然调试步骤120通常表示为多个和/或集合(与单个调试模板相反),但是调试模板120可以备选地合并和/或表示为单个调试模板。例如,单个调试模板可以包括和/或标识针对网络204内联网故障的所有潜在原因的所有调试步骤。附加地或备选地,单个调试模板可以包括和/或标识网络相关的物理实体和/或逻辑分组的层级。因此,此单个调试模板可以使得计算系统能够标识网络拓扑,网络节点内的所有相关硬件部件和/或待在网络节点上执行的待评估的所有调试步骤。

图1中示例性系统100可以通过各种方式实现。例如,示例性系统100的全部或一部分可以表示图2中示例性系统200的各部分。如图2中所示,系统200可以包括和/或表示与一个或多个网络节点202(1)-(n)通信的服务器206。虽然图2图示了服务器206和网络节点202(1)-(n)在网络204的外部,但是服务器206和网络节点202(1)-(n)可以备选地表示网络204的一部分和/或包括在网络204中。此外,虽然图2图示了服务器206,但是系统200可以备选地排除服务器206和/或执行本文通过一个或多个网络节点202(1)-(n)与服务器206结合所述的步骤和/或功能。

在一个示例中,服务器206可以由一个或多个模块102编程。在此示例中,服务器206可以包括、存储和/或维护一个或多个调试模板120。

附加地或备选地,一个或多个网络节点202(1)-(n)可以由一个或多个模块102编程。在此示例中,一个或多个网络节点202(1)-(n)可以包括、存储和/或维护一个或多个调试模板120(虽然图2中没有以此方式图示)。虽然图2图示了网络节点202(1)-(n)由模块102编程,但是网络节点202(1)-(n)可以附加地或备选地由图2中未图示的其他模块编程。

在一个示例中,来自图1的一个或多个模块102可以在由服务器206和/或网络节点202(1)-(n)之一的至少一个处理器执行时使得服务器206和/或网络节点调试网络节点内的联网故障。例如,如将在下文进一步详细所述,一个或多个模块102可以使得服务器206和/或网络节点202(1)-(n)之一(1)检测指示网络节点202(1)-(n)之一内联网故障的计算事件(诸如图4中的计算事件400或图7中的计算事件700),(2)至少部分基于计算事件确定联网故障的一个或多个潜在原因,(3)标识各自定义调试步骤的调试模板120,该调试步骤在由服务器206或网络节点执行时,使得服务器206或网络节点确定联网故障是否由任意潜在原因造成,(4)执行由对应于潜在原因之一的调试模板120之一定义的调试步骤集,继而(5)至少部分基于由调试模板定义的调试步骤集,确定由潜在原因造成的联网故障。

网络节点202(1)-(n)各自通常表示促进网络内和/或跨网络的网络流量的通信和/或流的任意类型或形势的计算系统、设备和/或机制。网络节点202(1)-(n)的示例包括但不限于路由器、交换机、集线器、调制解调器、桥接器、中继器、网关、复用器、网络适配器、网络机架、机柜、上述各项中一个或多个的各部分、上述各项中一个或多个的组合或变体和/或任意其他适当的网络设备。

服务器206通常表示执行调试或判断以及/或者向网络节点分发调试模板的任意类型或形式的计算设备、计算系统、设备和/或机制。服务器206的示例包括但不限于调试服务器、判断服务器、安全服务器、应用服务器、web服务器、存储服务器和/或数据库服务器,被配置为运行某些软件应用和/或提供各种调试、判断、安全、web、存储和/或数据库服务。

网络204通常表示能够促进通信和/或数据传送的任意介质或架构。网络204的示例包括但不限于内联网、广域网(wan)、局域网(lan)、个人局域网(pan)、因特网、电力线通信(plc)、蜂窝网络(例如,全球移动通信系统(gsm)网络)、上述各项中一个或多个的各部分、上述各项中一个或多个的组合或变体和/或任意其他适当的网络。网络204可以使用无线和/或有线连接促进通信或数据传送。在一个实施例中,网络204可以促进服务器206和网络节点202(1)-(n)之间的通信。

图3是用于调试网络节点内联网故障的示例性计算机实现的方法300的流程图。图3中所示步骤可以由任意适当的计算机可执行代码和/或计算系统执行。在某些实施例中,图3中所示步骤可以由图1中的系统100、图2中的系统200和/或图10中的计算系统1000的一个或多个部件执行。

如图3所示,在步骤310,本文所述一个或多个系统可以检测指示网络节点内联网故障的计算事件。例如,作为图2中服务器206和/或网络节点202(1)的一部分的检测模块104可以检测指示网络节点202(1)内联网故障的计算事件。在一个示例中,计算事件可以包括和/或表示由网络节点202(1)提出的警告或者另一计算设备尝试与网络节点202(1)通信。附加地或备选地,计算事件可以包括和/或表示网络节点202(1)的事件日志中做出和/或报告的条目或者另一计算设备尝试与网络节点202(1)通信。

本文使用的术语“联网故障”通常指的是损害网络节点的性能和/或功能的任意类型或形式的错误、问题和/或故障。在一个示例中,网络故障可以包括和/或表示损害网络节点用于将网络流量从一个计算设备向另一个计算设备转发和/或传送的能力的硬件故障。在另一示例中,联网故障可以包括和/或表示阻止网络节点按照预期和/或期望转发和/或传送网络流量的软件漏洞和/或错误。

本文所述系统可以通过各种方式和/或上下文执行步骤310。在某些示例中,检测模块104可以通过监测网络204和/或网络节点202(1)检测针对任意性能和/或通信问题的计算事件。例如,检测模块104可以监测网络204和/或网络节点202(1)。当监测网络204和/或网络节点202(1)时,检测模块104可以检测各种计算事件。在一个示例中,这些计算事件之一可以指示和/或建议网络节点202(1)正以某种方式出故障。

返回图3,在步骤320,本文所述一个或多个系统可以至少部分基于计算事件确定联网故障的一个或多个潜在原因。例如,作为服务器206和/或网络节点202(1)的一部分的确定模块106确定和/或标识联网故障的一个或多个潜在原因。在此示例中,确定模块106可以至少部分基于计算事件进行和/或达到此确定。

本文所述系统可以通过各种方式和/或上下文执行步骤320。在某些示例中,确定模块106可以通过查找知识库(图2中未示出)中已检测的计算事件来确定联网故障的任何潜在原因。例如,作为服务器206和/或网络节点202(1)的一部分的数据库模块112可以构建包括关于网络204的各种数据和/或信息以及/或者网络204内联网故障的潜在原因的知识库。在此示例中,知识库可以包括和/或标识网络204和/或一个或多个网络节点202(1)-(n)的配置。附加地或备选地,知识库可以包括调试模块120和/或调试步骤。

在一个示例中,数据库模块112可以根据从用户接收的用户输入来构建知识库。例如,检测模块104可以从网络204的软件开发者和/或管理员接收用户输入。在此示例中,用户输入可以包括和/或标识网络204的拓扑以及/或者一个或多个网络节点202(1)-(n)的身份或类型。附加地或备选地,用户输入可以包括和/或标识使得计算系统(诸如服务器206和/或网络节点202(1))能够在某个计算事件被检测到的事件中执行的调试步骤集。通过执行如用户输入中指示的调试步骤集,计算系统可能能够确定网络故障的根本原因。

继续此示例,数据库模块112可以创建一个或多个调试模板120,使得这些调试模板定义用户输入中标识的调试步骤集。每个调试模板120可以对应于网络故障的不同潜在原因。例如,调试模板120之一可以对应于asic错误,而调试模板120中的另一个可以对应于由物理接口卡(pic)产生的错误。

附加地或备选地,数据库模块112可以将调试模板120和/或其对应的原因与至少一个计算事件相关联。例如,数据库模块112可以根据用户输入将对应于asic错误的调试模板与特定警告和/或日志事件相关联。类似地,数据库模块112可以根据用户输入将对应于pic错误的调试模板与相同警告和/或日志事件相关联。

数据库模块112继而可以创建知识库内这些关联的记录以促进确定和/或标识警告和/或日志事件的任何潜在原因。此记录可以作为和/或标识表示特定联网故障的潜在根本原因所有硬件和/或软件部件的逻辑群组。因此,这些硬件和/或软件部件可以各自能够产生指示联网故障的警告和/或日志事件,由此创建某些关于根本原因的解释。

响应于检测到警告和/或日志事件,确定模块106可以针对警告和/或日志事件的任何已知源和/或根本原因来搜索知识库。换言之,知识库可以标识能够产生警告和/或日志事件的所有源和/或根本原因。在搜索知识库期间,确定模块106可以确定和/或标识asic错误和/或pic错误作为警告和/或日志事件的潜在原因。

返回图3,在步骤330,本文所述的一个或多个系统可以标识各自定义调试步骤的一个或多个调试模板,该调试步骤在由计算系统执行时,使得计算系统能够确定联网故障是否由任意潜在原因造成。例如,作为服务器206和/或网络节点202(1)的一部分的标识模块108可以标识各自定义调试步骤和/或指令的一个或多个调试模板120。当由服务器206和/或网络节点202(1)执行时,这些调试步骤和/或指令可以使得服务器206和/或网络节点202(1)能够确定联网故障是否由任意潜在原因造成。

本文所述系统可以通过各种方式和/或上下文执行步骤330。在某些示例中,标识模块108可以标识对应于所检测到的计算事件的潜在原因的任何调试模板。例如,标识模块108可以针对对应于潜在原因和/或已经与特定警告和/或日志事件相关联的任何调试模板来搜索知识库内的调试模板120。在此搜索期间,标识模块108可以标识对应于潜在原因和/或已经与特定警告和/或日志事件相关联的所有调试模板120。

作为特定示例,这些调试模板之一可以对应于asic错误。这些调试模板中的另一个可以对应于pic错误。备选地,单个调试模板可以包括共同对应于asic错误和pic错误的多个部分。

在某些示例中,所标识的调试模板可以使得服务器206和/或网络节点202(1)能够确定联网故障是否由任意潜在原因造成。例如,对应于asic错误的调试模板可以使得服务器206和/或网络节点202(1)能够确定警告和/或日志事件是否至少部分由这种asic错误造成。类似地,对应于pic错误的调试模板可以使得服务器206和/或网络节点202(1)能够确定警告和/或日志事件是否至少部分由这种pic错误造成。

返回图3,在步骤340,本文所述一个或多个系统可以执行由对应于潜在原因之一的调试模板之一定义的调试步骤集。例如,作为服务器206和/或网络节点202(1)的一部分的调试模块110可以执行由对应于潜在原因之一的调试模板120之一定义的调试步骤集。本文所使用的术语“调试步骤”通常指的是指导用于检验和/或确定一个或多个特定条件是否关于网络节点被满足的任意类型或形式的指令和/或命令。在一个示例中,调试步骤可以指导用于查找和/或尝试标识范围之外的某些参数值和/或在特定时间段和/或间隔内出现的某些日志事件。

本文所述系统可以通过各种方式和/或上下文执行步骤340。在某些示例中,调试模块110可以通过检验和/或确定调试模板中指定某些条件是否在网络节点202(1)被观察到来执行调试步骤集。作为特定示例,检测模块104可以检测图4中的计算事件400。如图4所示,计算事件400可以包括和/或表示关于网络节点202(1)的柔性pic集中器(fpc)流量下降。

响应于检测到计算事件400,确定模块106可以通过搜索知识库来确定fpc流量下降的所有潜在原因。在一个示例中,确定模块106可以确定fpc流量下降的潜在原因之一是asic错误。响应于此确定,标识模块108可以针对对应于这种asic错误的任意模板搜索图5中的调试模板120。如图5所示,调试模板120可以包括和/或标识调试模板520(1)-(n)。在此搜索期间,标识模块108可以将调试模板520(1)标识为对应于asic错误的根本原因。虽然在图5中图示为单独调试模板,但是调试模板520(1)-(n)可以备选地表示单个调试模板内的不同部分、分支和/或子模板。

调试模块110继而可以执行图6中调试模板520(1)中定义的调试步骤集以确定asic错误是否导致检测到的fpc流量下降和/或对检测到的fpc流量下降有贡献。在一个示例中,标识模块108可以作为标识网络204的拓扑和/或配置的网络观察仪。例如,标识模块108可以标识网络204中包括的某些网络节点。附加地或备选地,标识模块108可以标识促进网络节点之间通信的某些路由和/或路径。

在某些示例中,标识模块108可以标识每个网络节点相对于彼此的连接状态以确定哪些网络节点能够彼此通信。在一个示例中,标识模块108可以通过枚举网络节点中并入的各种硬件部件来进一步标识一个或多个网络节点202(1)-(n)的配置。例如,标识模块108可以将网络节点202(1)标识为包括各种交换机和/或路由器的junipernetworks机柜。这些交换机和/或路由器可以包括各种排线卡、pic、fpc、fru、开关接口板(sib)、控制板、路由引擎、通信端口、风扇托盘、连接器接口面板、上述各项中一个或多个的组合或变体和/或任意其他适当的硬件部件,共同使得网络节点202(1)能够促进计算设备之间的通信。

继续此示例,标识模块108可以将fpc流量下降的源标识为机柜上安装特定路由器。标识模块108继而可以枚举与该路由器内根本原因分析(rca)有关的所有硬件部件。例如,标识模块108可以枚举和/或标识该路由器上安装的8个不同fpc。调试模块110继而可以执行图6中包括在图6中调试模板520(1)中的调试步骤602-616。

如图6所示,调试模块110可以确定正在发生和/或已经由fpc1观察到的流量下降(步骤602)。调试模块110可以进一步确定正在发生和/或已经由结构平面(fabricplane)1和结构平面2两者观察到的流量下降(步骤604和步骤606)。由于结构平面0和结构平面1位于sib0上,因此调试模块110可以确定链路错误已经在sib0上发生(步骤608)。附加地或备选地,调试模块110可以确定链路错误已经在fpc1上发生(步骤610)。

继续此示例,调试模块110可以确定sib0或fpc1上的链路错误指示sib0正经受联网故障(步骤612)。因此,调试模块110可以尝试标识sib0上的哪个asic正经受网络故障。例如,调试模块110可以确定sib0上的asic1正经受错误(步骤614)。在此示例中,调试模块110可以确定sib0上的asic2没有经受错误(步骤616)。

作为另一示例,检测模块104可以检测图7中的计算事件700。如图7中所示,计算事件700可以包括和/或表示资源预留协议(rsvp)标签交换路径(lsp)上的流量下降。响应于此检测,调试模块110可以跨rsvplsp内网络节点的图8中调试模板520(n)中包括的图8中的调试步骤802-810。

如图8所示,调试模块110可以标识rsvplsp内的网络节点202(1)(步骤802)。调试模块110继而可以针对任意流量下降检验网络节点202(1)的相关硬件部件。在一个示例中,此检验可以涉及通过审查对应日志来搜索任意fpc流量下降和/或结构流量下降(步骤806和808)。在网络节点202(1)的fpc3或对应结构正经受流量下降的情况下,调试模块110可以确定这些流量下降由网络节点202(1)的fpc3上的循环冗余校验(crc)错误造成。

返回图3,在步骤350,本文所述一个或多个系统可以至少部分基于由调试模板定义的调试步骤集,确定联网故障由潜在原因造成。例如,作为服务器206和/或网络节点202(1)的一部分的调试模块110可以通过执行调试步骤集,确定联网故障至少部分由调试模板对应的潜在原因造成。换言之,在调试步骤中概括的条件被满足的情况下,调试模块110可以确定联网故障至少部分由调试模板的根本原因造成。

本文所述系统可以通过各种方式和/或上下文执行步骤350。在某些示例中,调试模块110可以通过遍历包括和/或表示调试步骤集的树数据结构来确定联网故障至少部分由潜在原因造成。例如,调试模块110可以执行调试模板内的各调试步骤。通过以此方式执行这些调试步骤,调试模块110可以确认某些条件集是否出现和/或存在于网络节点202(1)内。此条件集的出现和/或存在可以指示和/或建议联网故障的根本原因。

在一个示例中,调试模块110可以继续调试步骤直到到达树数据结构内的叶节点(例如,没有孩子的节点)。在到达叶节点之后,调试模块110可以确定由该叶节点表示的调试步骤中涉及的硬件部件是联网故障的根本原因。例如,调试模块110可以将图6中的调试步骤614标识为图6中调试模板520(1)的树数据结构内的叶节点。在此示例中,由于(1)错误源自sib0上的asic1并且(2)调试步骤614是叶节点,因此调试模块110可以确定sib0上的asic1是联网故障和/或计算事件400的根本原因。相反,由于sib0上的asic2对错误没有贡献,因此调试模块110可以确定sib0上的asic2不是底层联网故障和/或图4中计算事件400的根本原因。

作为另一示例,调试模块110可以将图8中的调试步骤810标识为图8中调试模板520(n)的树数据结构内的叶节点。在此示例中,由于流量下降由网络节点202(1)的fpc3上的循环冗余校验(crc)错误造成,因此调试模块110可以确定fpc3是底层联网故障和/或图7中计算事件700的根本原因。

在某些示例中,在标识底层联网故障的根本原因之后,一个或多个模块102可以发起旨在促进修补联网故障的修复动作。例如,作为服务器206和/或网络节点202(1)的一部分的修复模块116可以向网络管理员通知联网故障的根本原因。在此示例中,通知可以包括关于如何通过解决根本原因来修护联网故障的指令。附加地或备选地,修复模块116可以经由计算机和/或机器人自动化通过解决根本原因来修复联网故障。

在某些示例中,数据库模块112可以通过机器学习的方式跟踪和/或负责rca的结果以通知网络管理员和/或自动更新一个或多个调试模板120。例如,数据库模块112可以向结果数据库(图2中未示出)和/或知识库添加标识和/或指示联网故障的根本原因的条目。在此示例中,数据库模块112可以至少部分基于该条目来更新rca中使用的调试模板(和/或另一调试模板)。通过以此方式更新调试模板,数据库模块112可以应用机器学习以改进自动调试过程的准确度和/或效率。

在某些示例中,本文所述一个或多个系统可以跨多个网络节点将多个计算事件和/或根本原因相关。例如,作为服务器206和/或网络节点202(1)的一部分的相关模块114可以跨网络节点202(1)-(n)将多个计算事件和/或根本原因相关。在此示例中,相关模块114可以通过关联的方式将跨网络节点202(1)-(n)发生的多个计算事件链接到相同根本原因。附加地或备选地,相关模块114可以通过关联的方式将多个根本原因链接在一起,其中各自能够引起相同的警告和/或事件。

通过这样做,相关模块114可以促进更快的根本原因收敛和/或标识。例如,相关模块114可以标识特定问题继而动态确定调试步骤流。相关模块114继而可以通过将附加步骤和/或信息反馈给调试过程使得问题的根本原因更快和/或更精确收敛。

如上文结合图1至图8所述,本文所述系统和方法能够通过应用调试模板来确认和/或反驳这种联网故障的某些潜在原因来调试网络节点内的联网故障。图9图示了用于调试网络节点内联网故障的示例性系统900。如图9所示,系统900可以包括知识库902。在一个示例中,知识库902可以包括促进确定警告和/或事件是否由一个或多个潜在原因造成的调试步骤集。

另外,系统900可以包括内核引擎904,该内核引擎904实现和/或执行知识库902中包括的某些调试步骤。在一个示例中,内核引擎904可以由警告和/或事件触发。附加地或备选地,内核引擎904可以由人类操作者经由命令行接口和/或web接口手动发起。

系统900还可以包括结果数据库906,该结果数据库906存储和/或维护某些调试操作的结果。在一个示例中,结果数据库906可以促进对来自不同调试操作的结果的比较以分析和/或突出显示跨相同或相似警告和/或相同或相似根本原因的各种迭代的关键码改变。在此示例中,结果数据库906可以由配置文件关键码和/或执行的日期索引。

如图9所示,触发908可以发起调试操作。在一个示例中,触发908可以包括和/或表示警告和/或事件。附加地或备选地,触发908可以包括和/或表示人类操作者的手动发起。

如图9所示,内核引擎904可以包括解析器和网络观察仪910。响应于触发908,解析器和网络观察仪910可以解析知识库902以标识和/或检索调试步骤912。在一个示例中,调试步骤912可以对应于触发908。在此示例中,触发908可以使得解析器和网络观察仪910从知识库902获得调试步骤912。

附加地或备选地,解析器和网络观察仪910可以标识网络拓扑。例如,解析器和网络观察仪910可以将网络拓扑标识为层级树结构,该层级树结构包括四个层次:(1)节点、(2)元件、(3)群组和(4)调试步骤。在此示例中,节点层次可以包括和/或标识节点的物理实体(诸如路由器、交换机和/或机柜)。元件层次可以包括和/或标识节点的物理实体内的各种硬件和/或fru(诸如排线卡、pic、fpc、控制板和/或路由引擎)。附加地或备选地,元件层次可以包括和/或标识一个或多个软件模块(诸如事件和/或警告子系统)。

继续此示例,群组层次可以包括和/或表示逻辑实体。在此示例中,逻辑实体可以包括已经由某些管理和/或依赖分组在一起的各种调试单元。例如,某些警告和/或事件可以至少部分基于其由相同根本原因导致的潜在可能性被分组在一起。

最后,调试步骤层级可以包括和/或表示包含可疑值和/或参数的定义的可执行指令。例如,在被执行时,调试步骤可以标识范围之外和/或超出设置限制的某些值和/或参数。附加地或备选地,调试步骤可以标识发生的某些事件和/或特定时间间隔期间日志内的条目。

如图9所示,内核引擎904可以包括节点访问引擎914。一旦网络拓扑被标识,节点访问引擎914可以访问网络拓扑内一个或多个层次的某些细节。在一个示例中,节点访问引擎914可以包括和/或表示获得对网络拓扑的节点内的某些部件的进入和/或访问的插件。例如,节点访问引擎914可以通过认证证书的方式访问节点(例如,节点926、节点928和节点930)。在此示例中,节点访问引擎914可以标识和/或访问节点上包括的任意fru和/或与这种fru相关记录的任何数据日志。

如图9所示,内核引擎904还可以包括参数分析引擎916。在一个示例中,参数分析引擎916可以分析由节点访问引擎914从这些节点收集的任何信息。例如,参数分析引擎916可以检验命令输出的界外属性。附加地或备选地,参数分析引擎916可以检验特定时间间隔内记录的日志中录入的某些串。参数分析引擎916还可以检验节点上发生的特定警告和/或事件。

如图9所示,内核引擎904还可以包括自适应相关引擎918。在一个示例中,自适应相关引擎918可以标识已经在层级树结构的群组层次分组在一起的那些调试步骤。在此示例中,自适应相关引擎918可以确定群组内的至少一个调试步骤是否导致特定输出和/或条件。在群组内的至少一个调试步骤导致特定输出和/或条件的情况下,自适应相关引擎918可以将该群组分类为“命中”。相反,在群组内没有调试步骤导致特定输出和/或条件的情况下,自适应相关引擎918可以将该群组分类为“未命中”。

继续此示例,内核引擎904可以决定在先前执行的群组的一个或多个步骤导致“命中”的情况下执行附加调试步骤。相反,自适应相关引擎918可以决定在先前执行的群组的一个或多个步骤导致“未命中”的情况下跳过某些调试步骤。在任一情况下,自适应相关引擎918可以向节点访问引擎914提供反馈。此反馈可以指示是否执行附加调试步骤和/或是否终止执行。

通过以此方式向节点访问引擎914提供此反馈,自适应相关引擎918可以促进更快根本原因收敛和/或标识。例如,自适应相关引擎918可以标识特定问题继而动态确定调试步骤流。自适应相关引擎918继而可以通过去往节点访问引擎914的反馈回路的方式对问题的根本原因更快和/或更精确地收敛。

如图9所示,内核引擎904可以附加地包括输出说明器920。在某些示例中,输出说明器920可以以特定格式生成和/或说明调试操作的结果。在一个示例中,结果922可以被呈现在报告中,该报告总结了在调试操作期间发现的关键信息。附加地或备选地,结果922可以以人类可读的形式呈现为图形表示和/或说明(诸如彩色编码树结构)。结果922还可以包括人类操作者对如何修复调试操作期间标识的根本原因的某些指令。

如图9所示,内核引擎904最后可以包括渐进式数据记录器924。在一个示例中,渐进式数据记录器924可以标识促进执行进一步调试步骤的某些信息。在此示例中,该信息可以包括和/或表示针对进一步调试步骤的必要输入。换言之,渐进式数据记录器924可以将结果和/或发现从调试步骤的第一迭代递归地馈送回到解析器和网络观察仪910。

通过以此方式将结果和/或发现从所述迭代馈送回到解析器和网络观察仪910,渐进式数据记录器924可以使得内核引擎904的其他部件能够执行一个或多个后续迭代。在这种情况下,渐进式数据记录器924可以使得内核引擎904的各部件能够对警告和/或事件的根本原因收敛。

图10是示例性计算系统1000的框图,计算系统1000能够实施这里所描述和/或所例示的实施例中的一个或多个实施例,和/或结合这里所描述和/或所例示的实施例中的一个或多个实施例而被使用。在一些实施例中,计算系统1000的全部或者一部分可以单独地或者结合其他元件地执行结合图3所描述的步骤中的一个或多个步骤,和/或可以是用于单独地或者结合其他元件地执行结合图3所描述的步骤中的一个或多个步骤的装置。计算系统1000的全部或者一部分也可以执行这里所描述和/或所例示的任何其他步骤、方法或过程,和/或可以是执行和/或实施这里所描述和/或所例示的任何其他步骤、方法或过程的装置。在一个示例中,计算系统1000可以包括和/或表示执行和/或构成用于执行和/或实现本文所述和/或所示的任意其他步骤、方法或过程的模块的装置。

计算系统1000宽泛地表示任何类型或形式的电负载,包括能够执行计算机可读指令的单个或多个处理器计算设备或系统。计算系统1000的示例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,主干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络电器(例如,网络安全电器、网络控制电器、网络定时电器、sslvpn(安全套接字层虚拟专用网)电器等)、网络控制器、网关(例如,服务网关、移动分组网关、多接入网关、安全网关等)和/或任何其他类型或形式的计算系统或设备。

计算系统1000可以被编程、被配置和/或以其他方式被设计,以遵从一个或多个网络协议。根据某些实施例,计算系统1000可以被设计为与开放系统互连(osi)参考模型的一个或多个层的协议(诸如物理层协议、链路层协议、网络层协议、传输层协议、会话层协议、表示层协议和/或应用层协议)一起工作。例如,计算系统1000可以包括根据通用串行总线(usb)协议、电气和电子工程师协会(ieee)1394协议、以太网协议、tl协议、同步光纤网络(sonet)协议、同步数字阶层(sdh)协议、综合业务数字网(isdn)协议、异步传输模式(atm)协议、点对点协议(ppp)、通过以太网的点对点协议(pppoe)、通过atm的点对点协议(pppoa)、蓝牙协议、ieee802.xx协议、帧中继协议、令牌环协议、生成树协议、mpls协议和/或任何其他合适的协议而配置的网络设备。

计算系统1000可以包括各种网络和/或计算组件。例如,计算系统1000可以包括至少一个硬件处理器1014和系统存储器1016。处理器1014一般性地表示能够处理数据或者解译和执行指令的任何类型或形式的处理单元。例如,处理器1014可以表示asic、片上系统(例如,网络处理器)、硬件加速器、通用处理器和/或任何其他适当的处理元件。

处理器1014可以根据上面所讨论的联网协议中的一个或多个联网协议来处理数据。例如,处理器1014可以执行或实施协议栈的一部分、可以处理分组、可以执行存储器操作(例如,将用于稍后处理的分组排队)、可以执行终端用户应用和/或可以执行任何其他处理任务。

系统存储器1016一般性地表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器1016的示例包括但不限于随机存取存储器(ram)、只读存储器(rom)、闪存或任何其他合适的存储器设备。虽然未被要求,但是在某些实施例中,计算系统1000可以包括易失性存储单元(诸如,例如,系统存储器1016)和非易失性存储设备(诸如,例如,如在下面详细描述的主存储设备1032)。系统存储器1016可以被实施为网络设备中的共享式存储器和/或分布式存储器。另外,系统存储器1016可以存储分组和/或在联网操作中使用的其他信息。在一个示例中,系统存储器1016可以包括和/或存储来自图1的一个或多个模块102和/或调试模板120。

在某些实施例中,示例性计算系统1000还可以包括除了处理器1014和系统存储器1016之外的一个或多个组件或元件。例如,如图10中所图示的,计算系统1000可以包括存储器控制器1018、输入/输出(i/o)控制器1020以及通信接口1022,它们中的每个都可以经由通信基础设施1012而被互连。通信基础设施1012一般性地表示能够有助于计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础设施1012的示例包括但不限于通信总线(诸如串行ata(sata)、工业标准结构(isa)、外围组件互连(pci)、pci高速(pcie)和/或任何其他适当总线),以及网络。

存储器控制器1018一般性地表示能够处置存储器或数据或者控制计算系统1000的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,存储器控制器1018可以经由通信基础设施1012来控制处理器1014、系统存储器1016、以及i/o控制器1020之间的通信。在一些实施例中,存储器控制器1018可以包括直接存储器访问(dma)单元,该直接存储器访问单元可以向链路适配器或者从链路适配器传送数据(例如,分组)。

i/o控制器1020一般性地表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的设备或模块。例如,在某些实施例中,i/o控制器1020可以控制或有助于计算系统1000的一个或多个元件(诸如处理器1014、系统存储器1016、通信接口1022、以及存储接口1030)之间的数据传送。

通信接口1022宽泛地表示能够有助于示例性计算系统1000与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施例中,通信接口1022可以有助于计算系统1000与包括附加计算系统的私有或公有网络之间的通信。通信接口1022的示例包括但不限于链路适配器、有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、以及任何其他适当的接口。在至少一个实施例中,通信接口1022可以经由通向网络(诸如因特网)的直接链路而提供通向远程服务器的直接连接。通信接口1022也可以通过例如局域网(诸如以太网)、个域网、广域网、私有网络(例如,虚拟专用网络)、电话或电缆网络、蜂窝电话连接、卫星数据连接或者任何其他适当的连接,来间接地提供这样的连接。

在某些实施例中,通信接口1022也可以表示被配置为经由外部总线或通信信道来有助于计算系统1000与一个或多个附加网络或存储设备之间的通信的主机适配器。主机适配器的示例包括但不限于小型计算机系统接口(scsi)主机适配器、通用串行总线(usb)主机适配器、ieee1394主机适配器、先进技术附件(ata)主机适配器、并行ata(pata)主机适配器、串行ata(sata)主机适配器、以及外部sata(esata)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口1022也可以使得计算系统1000能够参与分布式或远程计算。例如,通信接口1022可以从远程设备接收指令或者向远程设备发送指令以用于执行。

如图10中所图示的,示例性计算系统1000也可以包括经由存储接口1030而耦合到通信基础设施1012的主存储设备1032和/或备份存储设备1034。存储设备1032和1034一般性地表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备1032和1034可以表示磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口1030一般性地表示用于在存储设备1032和1034与计算系统1000的其他组件之间传送数据的任何类型或形式的接口或设备。

在某些实施例中,存储设备1032和1034可以被配置为从可移除存储单元读取和/或向可移除存储单元写入,该可移除存储单元被配置为存储计算机软件、数据或其他计算机可读信息。适当的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存设备等。存储设备1032和1034也可以包括用于允许计算机软件、数据或其他计算机可读指令被加载到计算系统1000中的其他类似的结构或设备。例如,存储设备1032和1034可以被配置为读取和写入软件、数据或其他计算机可读信息。存储设备1032和1034可以是计算系统1000的一部分或者可以是通过其他接口系统访问的分开的设备。

许多其他的设备或子系统可以被连接到计算系统1000。相反地,为了实践这里所描述和/或例示的各实施例,不必出现图10中所图示的所有组件和设备。上面所提及的设备和子系统也可以按照与图10中所示出的方式不同的方式被互连。计算系统1000也可以采用任何数量的软件、固件和/或硬件配置。例如,这里所公开的示例性实施例中的一个或多个可以被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用、计算机可读指令或者计算机控制逻辑)。术语“计算机可读介质”一般指代能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于:传输型介质,诸如载波;以及非瞬态型介质,诸如磁存储介质(例如,硬盘驱动器和软盘)、光存储介质(例如,压缩盘(cd)和数字视频盘(dvd))、电子存储介质(例如,固态驱动器和闪存介质);以及其他分布系统。

虽然前述公开内容使用具体框图、流程图以及示例阐述了各种实施例,但是使用宽范围的硬件、软件、或者固件(或它们的任何组合)配置,可以个别地和/或共同地实施这里所描述和/或例示的每个框图组件、流程图步骤、操作和/或组件。此外,包含在其他组件内的组件的任何公开内容应当被考虑为本质上是示例性的,因为能够实施许多其他架构来实现相同的功能。

在一些示例中,图1中的系统100的全部或者一部分可以表示云计算或基于网络的环境的各部分。云计算或基于网络的环境可以经由因特网来提供各种服务和应用。这些云计算和基于网络的服务(例如,软件即服务、平台即服务、基础设施即服务等)可以通过web浏览器或其他远程接口而是可访问的。这里所描述的各种功能也可以提供网络交换能力、网关接入能力、网络安全功能、用于网络的内容缓存和交付服务、网络控制服务和/或其他联网功能。

此外,这里所描述的模块中的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式变换为另一种形式。例如,这里所记载的模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,而将处理器、易失性存储器、非易失性存储器和/或物理计算机设备的任何其他部分从一种形式变换为另一种形式。

这里所描述和/或例示的步骤的过程参数和次序仅通过示例的方式给出,并且能够根据需要而变化。例如,虽然这里所例示和/或描述的步骤可以以特定的顺序被示出或讨论,但是这些步骤并非必然需要按照所例示或讨论的顺序被执行。这里所描述和/或例示的各种示例性方法也可以省略这里所描述或例示的步骤中的一个或多个步骤或者包括除了所公开的那些步骤之外的附加步骤。

已经提供了前面的描述,从而使得本领域的技术人员能够最好地利用这里所公开的示例性实施例的各个方面。这一示例性描述并非旨在是详尽的或者被限制为所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变型是可能的。这里所公开的实施例应当在各方面被考虑为是说明性而非限制性的。在确定本公开的范围时,应当对所附权利要求以及它们的等价物做出参考。

除非另有指明,说明书和权利要求中所使用的术语“连接至”和“耦合至”(以及它们的派生词),将被解释为准许直接和间接(即,经由其他元件或组件)连接两者。此外,如说明书和权利要求中所使用的术语“一”或“一种”,将被解释为意指“至少一个”。最后,为使用的简单性,说明书和权利要求中所使用的术语“包括”和“具有”(以及它们的派生词)与词语“包含”是可互换的并且与词语“包含”具有相同含义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1