候选问题网络实体的标识的制作方法

文档序号:11162066阅读:370来源:国知局
候选问题网络实体的标识的制造方法与工艺

计算系统已经转变了我们工作、玩乐和生活的方式。现代计算系统可以执行各种各样的任务,如对该计算系统可用的软件和服务所指示的。计算系统变得越来越彼此相连,藉此允许计算系统之间更具协作性的交互性。此外,大量的多媒体数据现在在计算系统之间递送。相应地,计算工作流比以前更依赖于通过网络的可靠递送。

网络包括互连计算系统(常常被称为“节点”或“网络节点”)的拓扑结构。网络节点之间的信道被称为“链路”。当消息从一个计算系统递送至另一计算系统时,那些消息可以通过遍历链接节点的拓扑结构中的路径的某一流来传送。网络节点和链路的性能可以改变。路由技术使得消息能够在特定路径的性能降级的情况下采取替换路径。当节点或链路性能显著降级时,该节点或链路可以不再使用、被修复和/或被替换。

本文要求保护的主题不限于解决任何缺点或仅在诸如上述环境这样的环境中操作的各实施例。相反,提供该背景仅用于例示其中可实施所述一些实施例的一个示例性技术领域。

简要概述

本文描述的至少一些实施例涉及在具有多个终端节点并且在其间具有多个传送节点的网络中网络通信问题的检测。在此类网络中,在任何两个给定终端节点之间,可能存在一个或多个流。每一流表示两个对应终端节点之间的路径,如果网络话务具有某些特性,则该网络话务可能采取该路径。此类网络的一个示例是网格网络。

根据本文描述的各实施例,终端节点中的一者或多者提供报告以支持网络通信问题的检测。例如,给定终端节点可监视流,并且为该流创建相关联的流信息。流信息可包括关于流的端点的信息以及关于流的性能信息。流信息接着被报告。

根据本文描述的各实施例,一种系统标识网络性能不足的候选源。例如,该系统为网络内的多个流中的每一者估计网络话务采取的通过该网络的可能路径。该系统接着可使用多个流的至少子集中的每一者的性能信息来标识在多个流的至少子集中的估计路径之间共同的至少一个候选问题网络实体。作为一个示例,该性能信息可能从由多个终端节点报告的流信息中收集。

提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。

附图简述

为了描述可获得本发明的上述和其它优点和特征的方式,将通过参考附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:

图1例示了其中可采用本文描述的原理的示例计算系统;

图2例示了其中可采用本文描述的原理的示例网络,该网络包括经由传送节点网格与通信链路集耦合的多个终端节点;

图3例示了一种用于使终端节点报告关于网络中的流的方法的流程图;

图4例示了可由终端节点为被监视的每一流创建的流信息的示例;

图5抽象地例示了使用从一个或多个端点报告的流信息来标识网络问题的源的系统;

图6例示了一种用于标识网络问题的源并且潜在地缓解网络问题的方法的流程图;

图7例示了图2的网络,但该网络现在叠加有较低性能流的路径,并且示出了作为通信链路集的通信链路的候选问题网络实体;以及

图8例示了图2的网络,但该网络现在叠加有较低性能流的路径,并且示出了作为传送节点的候选问题网络实体。

详细描述

本文描述的至少一些实施例涉及在具有多个终端节点并且在其间具有多个传送节点的网络中网络通信问题的检测。在此类网络中,在任何两个给定终端节点之间,可能存在一个或多个流。每一流表示两个对应终端节点之间的路径,如果网络话务具有某些特性,则该网络话务可能采取该路径。此类网络的一个示例是网格网络。

根据本文描述的各实施例,终端节点中的一者或多者提供报告以支持网络通信问题的检测。例如,给定终端节点可监视流,并且为该流创建相关联的流信息。流信息可包括关于流的端点的信息以及关于流的性能信息。流信息接着被报告。

根据本文描述的各实施例,一种系统标识网络性能不足的候选源。例如,该系统为网络内的多个流中的每一者估计网络话务采取的通过该网络的可能路径。该系统接着可使用多个流的至少子集中的每一者的性能信息来标识在多个流的至少子集中的估计路径之间共同的至少一个候选问题“网络实体”。作为一个示例,该性能信息可能从由多个终端节点报告的流信息中收集。

将参考图1描述对计算系统的一些介绍性讨论。随后,将参考后续的附图来描述示例方法和支持体系结构。

计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。存储器可以采取任何形式,并可取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可以包括多个组分计算系统。

如图1所例示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性的、非易失性的、或两者的某种组合。术语“存储器”也可在此用来指示诸如物理存储介质这样的非易失性大容量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如本文中所使用的,术语“可执行模块”或“可执行组件”可指可在计算系统上执行的软件对象、例程或方法。此处所描述的不同组件、模块、引擎以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。

在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实现。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。

本文中描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本文中描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。

计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或者可用于存储以计算机可执行指令或数据结构的形式的期望程序代码手段且可由通用或专用计算机访问的任何其他有形介质。

“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其他电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括可用于携带计算机可执行指令或数据结构形式的期望程序代码装置并可被通用或专用计算机访问的网络和/或数据链路。上述的组合应当也被包括在计算机可读介质的范围内。

此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可以在网络接口模块(例如,“NIC”)内的RAM中被缓冲,然后最终被传输至计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。

计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。

本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。

图2例示了可采用本文中所描述的原理的示例网络200。当然,网络拓扑结构的特征在于几乎任何网络拓扑结构可被采用。相应地,本文描述的原理绝不限于与示例网络200具有相同拓扑结构的网络并且本文描述的原理可以适用而无论网络拓扑结构如何。然而,由于具有特定示例来描述技术原理是有用的,因此将频繁地参考网络200作为示例。

示例网络200包括14个网络节点201到214。网络节点包括4个终端节点201到204(被表示为矩形),以及10个传输节点205到214(被表示为圆形)。终端节点201到204可以通过在传输节点205到214的网格上发送消息来彼此通信。

该网格经由通信链路构造,其中每一网络节点经由通信链路集耦合至至少一个其他网络节点,每一通信链路集包括至少一个通信链路。例如,网络200被图示为包括通信链路集A到V。每一通信链路集A到V可包括一个或多个甚至可能众多通信链路。

“终端节点”是作为网络通信的端点而非通信传送节点的网络节点。例如,在图2中,网络节点201到204是终端节点,并且在图2中被表示为矩形。其他网络节点205到214是在图2中被表示为圆形的传输节点。

根据本文描述的原理,终端节点执行与系统的协作式动作以允许该系统估计网络问题的源。具体地,终端节点报告流信息,而该系统使用该流信息来估计网络问题的源。

图3例示了一种用于使终端节点报告关于网络中的流的方法300的流程图。参考图2,方法300可以由网络中的终端节点201到204中的每一者执行。具体地,终端节点监视(动作301)至少一个流中的每一者。对于被监视的流中的每一者,端点创建(动作302)流信息,该流信息包括关于流的端点信息,并且包括关于流的性能信息。终端节点接着报告(动作303)所创建的流信息以及为其创建流信息的至少一个流的伴随性能信息。

如本说明书和权利要求书中使用的,“流”是具有足够共同特性的网络通信集,足够共同特性为这些网络通信倾向于沿通过传送节点网格的连贯通信链路的相同路径而行。相应地,流可以被认为对应于路径,其中流包括倾向于使用该路径的那些网络通信。

图4例示了可由终端节点为被监视的每一流创建的流信息400的示例。流信息400包括端点信息401和性能信息402。

端点信息401包括定义流的端点的信息以及定义流中的网络通信的引起这些网络通信倾向于遍历通过传输节点的相同路径的特性的其他信息。例如,在一个实施例中,端点信息401定义网际协议(IP)协议地址以及被包括在流中的网络通信的源终端节点和目的地终端节点两者的TCP端口信息。

性能信息402可包括关于该流的可被用于推断是否存在与对应于该流的路径有关的问题的任何信息。仅作为一个示例,性能信息402可包括该流的重传统计,诸如最近发生了多少网络通信的重传、重传速率是什么、所传送的网络通信最后被重传的百分比是什么、同一网络通信被试图进行传输的最大次数、必须被重传的网络通信最终被重传的平均次数等等。替换地或附加地,性能信息402还可包括该流的等待时间统计。例如,等待时间统计可包括以下各项中的任何一者或多者:网络通信遍历路径所花费的平均时间、网络通信遍历路径所花费的时间的标准差、网络通信遍历路径所花费的最大时间等。

图5抽象地例示了使用从一个或多个端点报告的流信息来标识网络问题的源的系统500。例如,网络中多个端点中的每一者可将一个或可能多个流的流信息报告给系统500。这可随后允许系统500标识或估计每一流的路径,使用各自的流信息来标识具有问题的那些路径,以及标识这些路径之中的共同网络实体。系统500可进一步试图缓解出现在有问题流之中共同的网络实体中的任何问题。

系统500包括能够与网络中的每一网络节点通信的通信组件501。例如,在图2的网络200中,通信组件501可以与网络节点201到214中的每一者通信。作为一个示例,通信组件501可响应于终端节点201到204各自执行方法300来从终端节点201到204中的每一者接收流信息。

系统500还包括路径估计组件502,路径估计组件502被配置成使用流信息来估计流的网络话务采取的通过该网络的可能路径。路径估计组件502可以为最多由系统500接收的流信息中的全部中的每一者执行这一估计。为此,路径估计组件502可以使用通信组件501来与网络节点通信以确定网络节点将如何路由给定流的话务。这可如何执行的一个示例将在下文进一步描述。

系统500还包括候选问题检测组件503,候选问题检测组件503被配置成使用来自流信息的性能信息来标识在展示性能问题的流的估计路径之中共同的至少一个候选问题网络实体。为此,候选问题检测组件访问来自一个或多个流的流信息400的性能信息402,并且还访问来自路径估计组件402的每一流的估计路径。

系统500还可包括缓解组件504,缓解组件504被配置成使用来自候选问题检测组件503的候选网络实体标识并且相应地缓解该问题。例如,如果问题网络实体是传送节点,则缓解组件504可以配置相邻传送节点不使用有问题的传送节点,或者至少降低被路由通过有问题传送节点的流的数目。如果问题网络实体是通信链路,则缓解组件503可配置通信链路的每一端处的两个传送节点以降低或消除对有问题通信链路的使用。缓解组件还可执行其他纠正动作,包括向一个或多个组件和/或用户通知该问题、调度缓解活动等。

系统500可以如上针对图1的计算系统100所述地被构造和操作。相应地,系统500表示图1的计算系统100的示例。此外,通信模块501、路径估计组件502、候选问题检测组件503和缓解组件504可以各自是在该计算系统上运行的模块。替换地或附加地,这些模块和组件501到504中的每一者可各自是分布式环境中的单独计算系统。

图5中的其余流将参考图6来描述。图6例示了一种用于标识网络问题的源并且潜在地缓解网络问题的方法600的流程图。关于图2的网络200中的问题检测,由于图6的方法600可以使用图5的系统500来执行,方法600现在将频繁参考图6以及图2和5来描述。

根据方法600,系统从网络中的终端节点接收流信息(动作601)。例如,图5的通信模块501可以通过接口(由箭头511表示)从终端节点中的一者或多者接收该流信息。作为示例,通信模块501可以从图2的网络200中的终端节点201、202和204中的每一者接收流信息。在这一场景中,假定终端节点203不能够报告流信息,并且因而不报告流信息。

该系统接着估计(动作602)与提供它的流信息的每一流相关联的路径。例如,在图5中,路径估计组件502可使用从通信模块501接收到的(经由箭头512)流信息来执行这一估计。

这一估计可如何进行的示例现在将参考特定示例来描述。在流信息被报告时,流信息本身不标识该流的对应网络通信采取的路径。然而,路径估计组件502具有它正在估计的网络(例如,图2的网络200)的网络拓扑结构的知识,并且基于流信息中包括的端点信息还知悉流的源和目的地端点。

假定在这一示例中,源端点是终端节点201并且目的地端点是终端节点202。路径估计组件502可因而一次查询一个传送节点以询问该传送节点将会是会路由属于该流的通信的下一节点。例如,查询(由箭头513表示)将使用通信模块501来与各个传送节点通信,而响应将从通信模块501接收,如再次由箭头512表示的。

例如,在其中源端点是终端节点201而目的地端点是终端节点202的流的上下文中,传送节点205将首先被查询。定义特性的流将被提供给传送节点205,并且被询问它会将具有那些特性的网络通信转发到哪里以及通过哪条链路来转发。假定传送节点作出响应传送节点207将是下一传送节点并且标识通信链路集C的特定链路。传送节点207接着将用相同的流参数被查询。假定传送节点207作出响应传送节点208将是下一传送节点并且标识通信链路集F的特定链路。传送节点208接着将用相同的流参数被查询。假定传送节点208作出响应传送节点211将是下一传送节点并且标识通信链路集O的特定链路。传送节点211将用相同的流参数被查询,传送节点211将通过标识通信链路集Q的哪个通信链路将被用来将该流的消息传送到终端节点202来作出响应。

该方法可被用于估计每一流的路径(表示所标识的节点序列和链路)。注意,对于这一估计不要求完全确定性。针对一个流甚至可能存在多个可能的路径,每一路径具有发生的估计概率。候选问题检测组件503可以处理信息理论中的概率模型以估计候选问题网络组件,可能甚至较高概率水平,即便路径估计不是决定性的或具有较低相关概率。

该系统接着使用路径估计来标识(动作603)至少一个候选问题网络实体。例如,在图5中,候选问题检测组件503接收流的估计路径(如由箭头514表示)。候选问题检测组件还要么直接从通信模块501或可能经由另一组件(诸如路径估计组件502)间接地接收每一流的性能信息(如由箭头515表示)。

候选问题检测组件503可标识具有问题的那些流,访问对应的流,并且标识这些路径之中共同的那些网络实体。这些共同的网络实体接着成为候选问题网络实体。现在将参考图7和8来提供若干示例。

图7例示了图2的网络200,但该网络现在叠加有较低性能流的路径。在这一情形中,存在被发现的4个有问题的路径701到704。路径701到704的全部之中的一个共同网络实体是通信链路集G。事实上,可能是通信链路集G的仅仅一个通信链路是有误的。因而,4个有问题的路径701到704可示出它们全部使用通信链路集G内的特定通信链路。因而,通信链路集G内的该通信链路可以被估计为有误。收集越多关于有问题流的数据,估计可变得越确定。

再次参考图5,通信链路的身份将被发送(如由箭头516表示)到缓解组件504。缓解组件504接着可试图通过发送缓解命令(如由箭头517表示)来缓解该问题,以使得通信模块501可以将命令发送到网络200中的恰适传送节点。例如,在通信链路集G之中的有误通信链路的情形中,缓解组件504可以命令传送节点207通过去往传送节点209的有误通信链路为较少的流路由网络话务,或者甚至可命令传送节点207根本不使用该有误通信链路。同样地,缓解组件504可以命令传送节点209以通过去往传送节点207的有误通信链路为较少的流路由网络话务,或者甚至可命令传送节点209根本不使用该有误通信链路。

如先前所述,给定流的路径可能无法以绝对的确定性被检测出。在该情形中,概率模型可仍然被用于以较高的确定度标识问题网络实体。例如,在图7的示例中,假定存在与8个较低性能流相关联的25个可能路径(一些具有低使用概率)。可能不存在与全部25个可能路径相关联的单个共同网络实体。然而,假定可能路径中的23个可能路径共享通信链路集内的同一通信链路,并且仅2个可能路径(具有相对低的使用概率)不使用该通信链路。在那些情况下,通信链路集G内的该通信链路可仍然被估计(几乎具有确定性地)为有误网络实体。通信系统还可与网络节点(或甚至其他监视系统)交互以收集可增加或减小链路问题概率的附加信息。例如,如果链路示出某种错误(破坏的输入分组、许多日志消息、链路状态弹出等),这将是测量概率的非常相关的信息。

图8例示了图2的网络200,但该网络现在叠加有较低性能流的路径。在这一情形中,存在被发现的5个有问题的路径801到805。此时,不存在表现为在所有有误路径之中共同的一个通信链路集。相反,现在存在表现为在所有有误路径之中共同的整个传送节点。因而,传送节点208可以被估计为候选问题网络实体。通信系统还可与网络节点(或甚至其他监视系统)交互以收集可增加或减小这一候选问题网络实体的问题的概率的附加信息。在确认传送节点208具有问题的高概率的情形中,缓解组件可以指令相邻的传送节点205、207、209、211和212中的一者或多者中的每一者不使用将它们链接到传送节点208的任何通信链路集。

在一些情形中,可能存在被标识的多个候选问题网络实体。例如,可能图7的流701到704以及流801到805的组合被标识为有误。在该情形中,传送节点208和通信链路集G的通信链路两者可以被标识为有误。缓解组件可接着降低或消除对那些候选问题网络实体中的任一者或两者的依赖性。

相应地,本文所述的原理提供了一种用于自动化候选问题网络实体的检测并且缓解对该候选问题网络实体的依赖性的有效机制。因而,本文描述了网络问题的补救的自动检测。

本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

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