CN107317695B - 用于调试联网故障的方法、系统和装置 - Google Patents

用于调试联网故障的方法、系统和装置 Download PDF

Info

Publication number
CN107317695B
CN107317695B CN201610827261.XA CN201610827261A CN107317695B CN 107317695 B CN107317695 B CN 107317695B CN 201610827261 A CN201610827261 A CN 201610827261A CN 107317695 B CN107317695 B CN 107317695B
Authority
CN
China
Prior art keywords
debug
debugging
template
potential cause
particular networking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610827261.XA
Other languages
English (en)
Other versions
CN107317695A (zh
Inventor
M·戈拉施
K·德哈
S·桑亚尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN107317695A publication Critical patent/CN107317695A/zh
Application granted granted Critical
Publication of CN107317695B publication Critical patent/CN107317695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/0636Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis based on a decision tree analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

用于调试联网故障的方法、系统和装置
技术领域
本发明的各实施例总体上涉及计算机网络,具体地涉及用于调试网络节点内联网故障的方法、系统和装置。
背景技术
调试网络节点经常是乏味的工作。在许多情况下,这些网络节点可能触发需要具有高水平专长的人类操作者翻译的警告和/或事件。在这种情况下,人类操作者可以求助于参考手册来解释和/或理解警告和/或事件。附加地或备选地,人类操作者可以依赖于技术支持。遗憾的是,随着网络节点数目的增加,调试信息的量也随之增加。在某种情况下,这种调试信息可能达到人类操作者无法手动处理的量。
作为一个具体示例,管理网络的人类操作者可以看到在他或她的计算设备上显示的警告和/或事件的图形表示。在无法基于参考手册、命令行接口(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)标识为包括各种交换机和/或路由器的JUNIPER NETWORKS机柜。这些交换机和/或路由器可以包括各种排线卡、PIC、FPC、FRU、开关接口板(SIB)、控制板、路由引擎、通信端口、风扇托盘、连接器接口面板、上述各项中一个或多个的组合或变体和/或任意其他适当的硬件部件,共同使得网络节点202(1)能够促进计算设备之间的通信。
继续此示例,标识模块108可以将FPC流量下降的源标识为机柜上安装特定路由器。标识模块108继而可以枚举与该路由器内根本原因分析(RCA)有关的所有硬件部件。例如,标识模块108可以枚举和/或标识该路由器上安装的8个不同FPC。调试模块110继而可以执行图6中包括在图6中调试模板520(1)中的调试步骤602-616。
如图6所示,调试模块110可以确定正在发生和/或已经由FPC 1观察到的流量下降(步骤602)。调试模块110可以进一步确定正在发生和/或已经由结构平面(Fabric Plane)1和结构平面2两者观察到的流量下降(步骤604和步骤606)。由于结构平面0和结构平面1位于SIB 0上,因此调试模块110可以确定链路错误已经在SIB 0上发生(步骤608)。附加地或备选地,调试模块110可以确定链路错误已经在FPC 1上发生(步骤610)。
继续此示例,调试模块110可以确定SIB 0或FPC 1上的链路错误指示SIB 0正经受联网故障(步骤612)。因此,调试模块110可以尝试标识SIB 0上的哪个ASIC正经受网络故障。例如,调试模块110可以确定SIB 0上的ASIC 1正经受错误(步骤614)。在此示例中,调试模块110可以确定SIB 0上的ASIC 2没有经受错误(步骤616)。
作为另一示例,检测模块104可以检测图7中的计算事件700。如图7中所示,计算事件700可以包括和/或表示资源预留协议(RSVP)标签交换路径(LSP)上的流量下降。响应于此检测,调试模块110可以跨RSVP LSP内网络节点的图8中调试模板520(N)中包括的图8中的调试步骤802-810。
如图8所示,调试模块110可以标识RSVP LSP内的网络节点202(1)(步骤802)。调试模块110继而可以针对任意流量下降检验网络节点202(1)的相关硬件部件。在一个示例中,此检验可以涉及通过审查对应日志来搜索任意FPC流量下降和/或结构流量下降(步骤806和808)。在网络节点202(1)的FPC 3或对应结构正经受流量下降的情况下,调试模块110可以确定这些流量下降由网络节点202(1)的FPC 3上的循环冗余校验(CRC)错误造成。
返回图3,在步骤350,本文所述一个或多个系统可以至少部分基于由调试模板定义的调试步骤集,确定联网故障由潜在原因造成。例如,作为服务器206和/或网络节点202(1)的一部分的调试模块110可以通过执行调试步骤集,确定联网故障至少部分由调试模板对应的潜在原因造成。换言之,在调试步骤中概括的条件被满足的情况下,调试模块110可以确定联网故障至少部分由调试模板的根本原因造成。
本文所述系统可以通过各种方式和/或上下文执行步骤350。在某些示例中,调试模块110可以通过遍历包括和/或表示调试步骤集的树数据结构来确定联网故障至少部分由潜在原因造成。例如,调试模块110可以执行调试模板内的各调试步骤。通过以此方式执行这些调试步骤,调试模块110可以确认某些条件集是否出现和/或存在于网络节点202(1)内。此条件集的出现和/或存在可以指示和/或建议联网故障的根本原因。
在一个示例中,调试模块110可以继续调试步骤直到到达树数据结构内的叶节点(例如,没有孩子的节点)。在到达叶节点之后,调试模块110可以确定由该叶节点表示的调试步骤中涉及的硬件部件是联网故障的根本原因。例如,调试模块110可以将图6中的调试步骤614标识为图6中调试模板520(1)的树数据结构内的叶节点。在此示例中,由于(1)错误源自SIB 0上的ASIC 1并且(2)调试步骤614是叶节点,因此调试模块110可以确定SIB 0上的ASIC 1是联网故障和/或计算事件400的根本原因。相反,由于SIB 0上的ASIC 2对错误没有贡献,因此调试模块110可以确定SIB 0上的ASIC 2不是底层联网故障和/或图4中计算事件400的根本原因。
作为另一示例,调试模块110可以将图8中的调试步骤810标识为图8中调试模板520(N)的树数据结构内的叶节点。在此示例中,由于流量下降由网络节点202(1)的FPC 3上的循环冗余校验(CRC)错误造成,因此调试模块110可以确定FPC 3是底层联网故障和/或图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的示例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,主干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络电器(例如,网络安全电器、网络控制电器、网络定时电器、SSL VPN(安全套接字层虚拟专用网)电器等)、网络控制器、网关(例如,服务网关、移动分组网关、多接入网关、安全网关等)和/或任何其他类型或形式的计算系统或设备。
计算系统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)主机适配器、IEEE 1394主机适配器、先进技术附件(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浏览器或其他远程接口而是可访问的。这里所描述的各种功能也可以提供网络交换能力、网关接入能力、网络安全功能、用于网络的内容缓存和交付服务、网络控制服务和/或其他联网功能。
此外,这里所描述的模块中的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式变换为另一种形式。例如,这里所记载的模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,而将处理器、易失性存储器、非易失性存储器和/或物理计算机设备的任何其他部分从一种形式变换为另一种形式。
这里所描述和/或例示的步骤的过程参数和次序仅通过示例的方式给出,并且能够根据需要而变化。例如,虽然这里所例示和/或描述的步骤可以以特定的顺序被示出或讨论,但是这些步骤并非必然需要按照所例示或讨论的顺序被执行。这里所描述和/或例示的各种示例性方法也可以省略这里所描述或例示的步骤中的一个或多个步骤或者包括除了所公开的那些步骤之外的附加步骤。
已经提供了前面的描述,从而使得本领域的技术人员能够最好地利用这里所公开的示例性实施例的各个方面。这一示例性描述并非旨在是详尽的或者被限制为所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变型是可能的。这里所公开的实施例应当在各方面被考虑为是说明性而非限制性的。在确定本公开的范围时,应当对所附权利要求以及它们的等价物做出参考。
除非另有指明,说明书和权利要求中所使用的术语“连接至”和“耦合至”(以及它们的派生词),将被解释为准许直接和间接(即,经由其他元件或组件)连接两者。此外,如说明书和权利要求中所使用的术语“一”或“一种”,将被解释为意指“至少一个”。最后,为使用的简单性,说明书和权利要求中所使用的术语“包括”和“具有”(以及它们的派生词)与词语“包含”是可互换的并且与词语“包含”具有相同含义。

Claims (18)

1.一种调试联网故障的方法,包括:
构建调试模板的集合,所述调试模板的集合包括第一调试模板和第二调试模板,所述第一调试模板对应于特定联网故障的第一潜在原因,所述第二调试模板对应于所述特定联网故障的第二潜在原因,所述构建通过:
从网络的用户接收用户输入;
至少部分地基于所述用户输入来创建所述第一调试模板,所述第一调试模板定义第一调试步骤集,所述第一调试步骤集在由计算系统执行时使得所述计算系统能够确定所述第一潜在原因是否导致了所述特定联网故障;以及
至少部分地基于所述用户输入来创建所述第二调试模板,所述第二调试模板定义第二调试步骤集,所述第二调试步骤集在由所述计算系统执行时使得所述计算系统能够确定所述第二潜在原因是否导致了所述特定联网故障;
检测计算事件,所述计算事件指示所述网络中所包括的网络节点内的所述特定联网故障;
至少部分地基于所述计算事件,确定所述特定联网故障的潜在原因,其中所述潜在原因包括所述特定联网故障的所述第一潜在原因和所述特定联网故障的所述第二潜在原因;
执行由对应于所述第一潜在原因的所述第一调试模板所定义的所述第一调试步骤集,其中所述第一调试模板包括通用调试模板,所述通用调试模板使得所述计算系统能够确定所述特定联网故障是由所述第一潜在原因造成的,与所述网络节点的硬件配置无关;以及
至少部分地基于由所述第一调试模板所定义的所述第一调试步骤集,确定所述特定联网故障由所述第一潜在原因造成。
2.根据权利要求1所述的方法,还包括通过以下来标识所述第一调试模板:
针对对应于所述特定联网故障的任意潜在原因的任意调试模板,搜索所述调试模板的集合;以及
在所述搜索期间,标识定义所述第一调试步骤集的所述第一调试模板,所述第一调试步骤集使得所述计算系统能够确定所述第一潜在原因是否导致了所述特定联网故障。
3.根据权利要求1所述的方法,其中执行由所述第一调试模板所定义的所述第一调试步骤集包括选择所述第一调试模板以测试所述特定联网故障是否至少部分地由所述第一潜在原因造成;以及
进一步包括:
选择所述第二调试模板以测试所述特定联网故障是否至少部分地由所述第二潜在原因造成;以及
执行由对应于所述第二潜在原因的所述第二调试模板所定义的所述第二调试步骤集。
4.根据权利要求1所述的方法,其中所述通用调试模板使得所述计算系统能够确定所述特定联网故障是由所述第一潜在原因造成的,与所述网络节点的硬件配置无关。
5.根据权利要求1所述的方法,其中所述第一调试模板包括包含至少一个特定配置的调试步骤的调试模板。
6.根据权利要求5所述的方法,进一步包括标识所述网络节点的配置;以及
其中执行由所述第一调试模板所定义的所述第一调试步骤集包括:
标识对应于所述网络节点的所述配置的至少一个调试步骤;以及
在所述网络节点上执行所述调试步骤以测试所述联网故障是否至少部分地由所述第一潜在原因造成。
7.根据权利要求6所述的方法,其中标识对应于所述网络节点的所述配置的所述调试步骤包括:
枚举所述网络节点的多个硬件部件;以及
在所述第一调试模板内,标识对应于所述硬件部件中的至少一个硬件部件的调试步骤。
8.根据权利要求7所述的方法,其中所述网络节点的所述多个硬件部件包括以下中的至少一项:
路由器;
交换机;
机柜;
现场可替换单元;
排线卡;以及
物理接口卡。
9.根据权利要求1所述的方法,进一步包括向至少一个管理员通知所述特定联网故障由所述第一潜在原因造成。
10.根据权利要求1所述的方法,进一步包括通过解决所述第一潜在原因来修复所述特定联网故障。
11.根据权利要求1所述的方法,进一步包括:
向结果数据库添加指示所述特定联网故障由所述第一潜在原因造成的条目;以及
至少部分地基于指示所述特定联网故障由所述第一潜在原因造成的所述条目,更新所述调试模板中的至少一个调试模板。
12.一种用于调试联网故障的系统,包括:
存储器中存储的数据库模块,所述数据库模块构建调试模板的集合,所述调试模板的集合包括第一调试模板和第二调试模板,所述第一调试模板对应于特定联网故障的第一潜在原因,所述第二调试模板对应于所述特定联网故障的第二潜在原因,所述构建通过:
接收来自网络的用户的用户输入;
至少部分地基于所述用户输入来创建所述第一调试模板,所述第一调试模板定义第一调试步骤集,所述第一调试步骤集在由计算系统执行时使得所述计算系统能够确定所述第一潜在原因是否导致了所述特定联网故障;以及
至少部分地基于所述用户输入来创建所述第二调试模板,所述第二调试模板定义第二调试步骤集,所述第二调试步骤集在由所述计算系统执行时使得所述计算系统能够确定所述第二潜在原因是否导致了所述特定联网故障;
存储器中存储的检测模块,所述检测模块检测计算事件,所述计算事件指示所述网络中所包括的网络节点内的所述特定联网故障;
存储器中存储的确定模块,所述确定模块至少部分地基于所述计算事件,确定所述特定联网故障的潜在原因,其中所述潜在原因包括所述特定联网故障的所述第一潜在原因和所述特定联网故障的所述第二潜在原因;
存储器中存储的调试模块,所述调试模块:
执行由对应于所述第一潜在原因的所述第一调试模板所定义的所述第一调试步骤集,其中所述第一调试模板包括通用调试模板,所述通用调试模板使得所述计算系统能够确定所述特定联网故障是由所述第一潜在原因造成的,与所述网络节点的硬件配置无关;以及
至少部分地基于由所述第一调试模板所定义的所述第一调试步骤集,确定所述特定联网故障由所述第一潜在原因造成;以及
至少一个物理处理器,所述至少一个物理处理器执行所述检测模块、所述确定模块和所述调试模块。
13.根据权利要求12所述的系统,进一步包括存储器中存储的标识模块,所述标识模块:
针对对应于所述特定联网故障的任意潜在原因的任意调试模板,搜索所述调试模板的集合;以及
在所述搜索期间,标识定义所述第一调试步骤集的所述第一调试模板,所述第一调试步骤集使得所述计算系统能够确定所述第一潜在原因是否导致了所述特定联网故障。
14.根据权利要求12所述的系统,其中所述调试模块:
选择所述第二调试模板以测试所述特定联网故障是否至少部分地由所述第二潜在原因造成;以及
执行由对应于所述第二潜在原因的所述第二调试模板所定义的所述第二调试步骤集。
15.根据权利要求12所述的系统,其中所述通用调试模板使得所述计算系统能够确定所述特定联网故障是由所述第一潜在原因造成的,与所述网络节点的硬件配置无关。
16.根据权利要求12所述的系统,其中所述第一调试模板包括包含至少一个特定配置的调试步骤的调试模板。
17.根据权利要求16所述的系统,进一步包括存储器中存储的标识模块,所述标识模块标识所述网络节点的配置;并且
其中所述调试模块:
标识对应于所述网络节点的所述配置的至少一个调试步骤;以及
在所述网络节点上执行所述调试步骤以测试所述特定联网故障是否至少部分地由所述第一潜在原因造成。
18.一种用于调试联网故障的装置,包括:
存储器设备,所述存储器设备存储调试模板的集合,所述调试模板的集合包括第一调试模板和第二调试模板,所述第一调试模板对应于特定联网故障的第一潜在原因,所述第二调试模板对应于所述特定联网故障的第二潜在原因,其中:
所述第一调试模板定义第一调试步骤集,所述第一调试步骤集在由计算系统执行时使得所述计算系统能够确定所述第一潜在原因是否导致了所述特定联网故障;以及
所述第二调试模板定义第二调试步骤集,所述第二调试步骤集在由所述计算系统执行时使得所述计算系统能够确定所述第二潜在原因是否导致了所述特定联网故障;
处理单元,通信耦合至所述存储器设备,其中所述处理单元:
检测计算事件,所述计算事件指示所述网络中所包括的网络节点内的所述特定联网故障;
至少部分地基于所述计算事件,确定所述特定联网故障的潜在原因,其中所述潜在原因包括所述特定联网故障的所述第一潜在原因和所述特定联网故障的所述第二潜在原因;
执行由对应于所述第一潜在原因的所述第一调试模板所定义的所述第一调试步骤集,其中所述第一调试模板包括通用调试模板,所述通用调试模板使得所述计算系统能够确定所述特定联网故障是由所述第一潜在原因造成的,与所述网络节点的硬件配置无关;以及
至少部分地基于由所述第一调试模板所定义的所述第一调试步骤集,确定所述特定联网故障由所述第一潜在原因造成。
CN201610827261.XA 2016-04-26 2016-09-14 用于调试联网故障的方法、系统和装置 Active CN107317695B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/138,458 2016-04-26
US15/138,458 US10169133B2 (en) 2016-04-26 2016-04-26 Method, system, and apparatus for debugging networking malfunctions within network nodes

Publications (2)

Publication Number Publication Date
CN107317695A CN107317695A (zh) 2017-11-03
CN107317695B true CN107317695B (zh) 2020-09-08

Family

ID=57103791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610827261.XA Active CN107317695B (zh) 2016-04-26 2016-09-14 用于调试联网故障的方法、系统和装置

Country Status (3)

Country Link
US (1) US10169133B2 (zh)
EP (1) EP3240235A1 (zh)
CN (1) CN107317695B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6378282B2 (ja) * 2016-10-19 2018-08-22 ファナック株式会社 修理システム、サーバ、端末装置、修理方法及びプログラム
US10880154B2 (en) * 2017-05-03 2020-12-29 At&T Intellectual Property I, L.P. Distinguishing between network- and device-based sources of service failures
CN108365970A (zh) * 2018-01-09 2018-08-03 长沙曙通信息科技有限公司 一种虚拟桌面网卡故障自动调试实现方法
US10949285B2 (en) * 2018-03-20 2021-03-16 Optumsoft, Inc. Matchset-based automatic root cause analysis including determining a first fault scenario is to be subsumed by a second fault scenario
US20200110647A1 (en) * 2018-10-09 2020-04-09 Ca, Inc. Topology-based presentation of expert triage workflows
US10282248B1 (en) 2018-11-27 2019-05-07 Capital One Services, Llc Technology system auto-recovery and optimality engine and techniques
US10824528B2 (en) 2018-11-27 2020-11-03 Capital One Services, Llc Techniques and system for optimization driven by dynamic resilience
CN109768881B (zh) * 2018-12-17 2022-07-22 京信网络系统股份有限公司 告警状态自动检测的方法、装置及系统
CN109696618A (zh) * 2019-02-21 2019-04-30 徐晨阳 一种射频器件的调试方法、装置、设备、存储介质及系统
US10686645B1 (en) 2019-10-09 2020-06-16 Capital One Services, Llc Scalable subscriptions for virtual collaborative workspaces
US10866872B1 (en) 2019-11-18 2020-12-15 Capital One Services, Llc Auto-recovery for software systems
JP7302674B2 (ja) * 2019-12-26 2023-07-04 日本電信電話株式会社 ネットワーク管理装置、方法およびプログラム
US11658882B1 (en) * 2020-01-21 2023-05-23 Vmware, Inc. Algorithm-based automatic presentation of a hierarchical graphical representation of a computer network structure
CN114138355A (zh) * 2020-08-12 2022-03-04 艾锐势企业有限责任公司 生成并检测配置文件中的错误的电子设备、方法及介质
US11888679B2 (en) * 2020-09-25 2024-01-30 Juniper Networks, Inc. Hypothesis driven diagnosis of network systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224454A (zh) * 2015-09-25 2016-01-06 华为技术有限公司 一种调试方法、多核处理器和调试设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2318479B (en) 1996-10-21 2001-04-04 Northern Telecom Ltd Problem model for alarm correlation
US7385716B1 (en) * 1999-09-02 2008-06-10 Hewlett-Packard Development Company, L.P. Authoring tool for bayesian network troubleshooters
US6658598B1 (en) * 2000-02-17 2003-12-02 Motive Communications, Inc. Technical support chain automation with guided self-help capability using active content assertions
JP2002230148A (ja) * 2001-02-02 2002-08-16 Fujitsu Ltd トラブル情報管理プログラム及びトラブル情報管理方法
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US20090034411A1 (en) * 2007-08-03 2009-02-05 Tellabs Vienna Inc. Automated diagnostics and troubleshooting mechanism for end-users and technicians
US20100229022A1 (en) * 2009-03-03 2010-09-09 Microsoft Corporation Common troubleshooting framework
US9891971B1 (en) * 2010-06-30 2018-02-13 EMC IP Holding Company LLC Automating the production of runbook workflows
US9479416B2 (en) * 2010-12-06 2016-10-25 Ca, Inc. System and method for diagnosing information technology systems in multiple virtual parallel universes
US9189317B1 (en) * 2011-03-17 2015-11-17 Extreme Networks, Inc. Software sustaining system
US9201723B2 (en) * 2011-06-27 2015-12-01 International Business Machines Corporation Fault handling in a distributed IT environment
US8924787B2 (en) * 2012-01-24 2014-12-30 Nec Laboratories America, Inc. Network debugging
WO2015080705A1 (en) * 2013-11-26 2015-06-04 Hewlett-Packard Development Company, L.P. Fault management service in a cloud
US10263836B2 (en) * 2014-03-24 2019-04-16 Microsoft Technology Licensing, Llc Identifying troubleshooting options for resolving network failures
US20160274962A1 (en) * 2015-03-19 2016-09-22 Alcatel-Lucent Usa Inc. Self-Tuning Troubleshooting Scripts
WO2017011708A1 (en) * 2015-07-14 2017-01-19 Sios Technology Corporation Apparatus and method of leveraging machine learning principals for root cause analysis and remediation in computer environments
US10397043B2 (en) * 2015-07-15 2019-08-27 TUPL, Inc. Wireless carrier network performance analysis and troubleshooting
JP6549959B2 (ja) * 2015-10-02 2019-07-24 株式会社日立製作所 障害切り分け方法および障害切り分けを行う管理サーバ
US10025654B2 (en) * 2016-04-01 2018-07-17 T-Mobile Usa, Inc. Diagnostic and workflow engine with system integration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224454A (zh) * 2015-09-25 2016-01-06 华为技术有限公司 一种调试方法、多核处理器和调试设备

Also Published As

Publication number Publication date
CN107317695A (zh) 2017-11-03
EP3240235A1 (en) 2017-11-01
US20170308422A1 (en) 2017-10-26
US10169133B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
CN107317695B (zh) 用于调试联网故障的方法、系统和装置
US9007922B1 (en) Systems and methods for testing and analyzing controller-based networks
CN111277498B (zh) 用于发现网络路径的装置、系统和方法
CN112242936B (zh) 用于回放和调试网络设备的实时状态的装置、系统和方法
US9893940B1 (en) Topologically aware network device configuration
US9712290B2 (en) Network link monitoring and testing
US10684935B2 (en) Deriving the shortest steps to reproduce a device failure condition
US10681046B1 (en) Unauthorized device detection in a heterogeneous network
CN110754065B (zh) 网络的逻辑级和硬件级之间的网络验证
CN113973042B (zh) 用于网络问题的根本原因分析的方法和系统
CN110932910B (zh) 一种软件故障的日志记录方法及装置
US11886280B2 (en) Return and replacement protocol (RRP)
CN109726066B (zh) 用于标识存储系统中的问题部件的方法和设备
EP3975478B1 (en) Hypothesis driven diagnosis of network systems
US20200389477A1 (en) Automatic identification of roles and connection anomalies
US11070438B1 (en) Apparatus, system, and method for collecting network statistics information
US11716241B1 (en) Methods, systems, and computer readable media for actively diagnosing and remediating performance degradation in a production network
US11671339B1 (en) Apparatus, system, and method for improving the efficiency of link-failure detection
US11374842B1 (en) Systems and methods for debugging network stacks based on evidence collected from selective tracing
US10831592B1 (en) Apparatus, system, and method for correcting slow field-replaceable units in network devices
Gember-Jacobson et al. Integrating verification and repair into the control plane
CN114389982B (zh) 一种网络质量的评估方法、装置、设备和介质
US11249902B1 (en) Apparatus, system, and method for detecting and remedying memory buffer leaks in network devices
US11366828B1 (en) Replication validation
Jagadeesan et al. Analytics-enhanced automated code verification for dependability of software-defined networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant