CN101884198A - 用于并行拓扑发现的方法和装置 - Google Patents
用于并行拓扑发现的方法和装置 Download PDFInfo
- Publication number
- CN101884198A CN101884198A CN2008801189386A CN200880118938A CN101884198A CN 101884198 A CN101884198 A CN 101884198A CN 2008801189386 A CN2008801189386 A CN 2008801189386A CN 200880118938 A CN200880118938 A CN 200880118938A CN 101884198 A CN101884198 A CN 101884198A
- Authority
- CN
- China
- Prior art keywords
- node
- section point
- nodes
- group
- project
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开一种用于通过使用并行操作的多个发现代理来发现网络的拓扑的方法、***和计算机可用介质。接收含有关于目标网络中的已知节点的信息的节点列表。确定要使用的发现代理的数目(′K′),其中1<=K<=节点总数。将节点划分成多个节点群组,其中每一个分别具有将其指派至发现代理′M′的群组标识符,其中1<=M<=K。创建图形列表以保存关于已知和发现的节点的信息。该节点列表的列表中的每一项目由其经指派的发现代理′M′处理,该经指派的发现代理′M′将探查消息发送至目标节点以确定发现的邻近节点的节点标识符。如果发现的节点未列在该节点列表中,则将其指派至节点群组以用于处理。如果目标节点与发现的邻近节点之间的连接未列在图形列表中,则添加这些连接。一旦所有节点和连接信息由′K′个节点发现代理′M′收集并被列在该图形列表中,便产生网络拓扑。
Description
技术领域
本申请的实施例大体而言涉及计算机和类似技术的领域,具体地,涉及在此领域中使用的软件。又更具体地,其涉及发现网络的拓扑。
背景技术
因特网的增长,结合诸如流视频、流音频和大量因特网语音协议(VOIP)业务的应用的最近流行,已引起对于网络带宽和可用性的增长的需求。为满足这些需求,正以不断增大的数目来部署额外的交换器、桥接器和集线器。结果,要管理的网络基础架构的量将继续增长。对网络组件的有效管理需要对网络拓扑的准确并且最新(up-to-date)的了解,网络拓扑是对网络节点和他们彼此连接的表示。对网络的组件的拓扑的了解通常是许多网络管理任务的先决条件,这些网络管理任务包括反应式和主动式资源管理、效能评估和最佳化、流程控制、事件关联,和服务故障的根本原因分析。然而,当网络的大小增长时,发现关于该网络的拓扑的信息更具挑战性。
发现网络拓扑的方法包括,使用执行网络组件的图形遍历(graphtraversal)的发现代理,从而收集关于网络中的每一节点和每一节点与其它节点的连接的信息。发现过程通过正被提供有网络中的已知节点的集合的代理开始。通过诸如简单网络管理协议(SNMP)查询的探查,或通过读取路由表信息,代理发现从图形的已知部分向外流动的链接。代理随后找到属于该链接的另一侧的节点。该过程继续,直至不再留下要探测的链接。
发现过程有两个关键性能指示符,第一个为发现该网络所用的时间,第二个为发送至网络节点的探查信息的数目。最高效的发现过程将对每个节点仅发送一个探查信息。在单一发现代理的情况下,发现该网络所用的时间为对于每一探查信息的响应时间的和。在数千或数万个网络节点的大型网络中,此图形遍历可消耗极大量时间。如果多个代理可并行地操作以并行地发现并遍历该图形,则可减少执行图形遍历所需的时间。然而,此并行发现可导致将多个探查信息发送至不同节点中的每一个。结果,除非经适当协调,否则并行地工作的多个节点发现代理将不会引起发现网络拓扑所用的时间的减少。
发明内容
本发明包括(但不限于)一种用于通过网络节点发现管理器使用并行操作的多个节点发现代理来发现网络的拓扑的方法、***和计算机可用介质。在各种实施例中,网络节点发现管理器获得含有目标网络中的每一已知节点的唯一节点标识符的节点列表。接着确定为了发现目标网络的拓扑要并行使用的节点发现代理的数目(′K′)。可选择任何数目个节点发现代理,从单一节点发现代理程序直至已知节点的总数目(即,1<=K<=节点总数)。网络节点的图形列表由节点发现管理器创建以保存关于已知节点和发现的节点两者的节点信息,并且最初经指派为空。
对节点列表中的唯一节点标识符执行散列操作以将已知节点划分成与节点发现代理的数目(′K′)相同的数目个节点群组。接着将与每一节点群组相关联的所产生散列值附加至其在节点列表中的相应的唯一节点标识符。接着将与节点群组相关联的散列值分别指派至节点发现代理′M′,其中1<=M<=K。在启动节点发现代理′M′中的每一个的节点发现线程之前,由节点发现管理器启动图形列表的节点信息接收线程。接着从节点列表取出未经处理的节点标识符项目,并确定其相应节点群组散列值。如果经指派至该节点群组散列值的节点发现代理′M′繁忙,则重复该过程直至取出对应于可用的节点发现代理′M′的节点标识符项目。
节点发现代理′M′接着将诸如SNMP查询的探查消息发送至目标已知节点。如果该探查确定目标节点连接至邻近节点,则收集关于至邻近节点的连接的信息。在一实施例中,连接为物理连接。在另一实施例中,连接为逻辑连接。在另一实施例中,连接可为物理连接或逻辑连接的组合。处理经收集的节点和连接信息以确定发现的邻近节点的唯一节点标识符。如果发现的邻近节点的唯一节点标识符当前未列在节点列表中,则对这些邻近节点的唯一节点标识符执行散列操作。接着使用所得群组节点散列值来将发现的邻近节点指派至节点以用于由其相应的节点发现代理′M′处理。如果目标节点与发现的邻近节点之间的连接当前未列在图形列表中,则添加这些连接。继续该过程,直至所有′K′个节点发现代理程序′M′已完成其对已知节点和发现的邻近节点的节点发现操作。一旦所有节点信息由′K′个节点发现代理′M′收集并被列在图形列表中,则产生网络拓扑。本发明的以上和额外目的、特征和优势将在以下详细的书面描述中变得显而易见。
附图说明
当结合以下图示而考虑以下实施方式时,可理解本发明的选定实施例,并可获得其许多目标、特征及优势,其中:
图1描绘可于其中实施本发明的示例性客户端计算机;
图2为使用并行操作的网络节点发现代理来发现网络的拓扑的网络节点发现管理器的简化方块图;和
图3至图5为使用并行操作的网络节点发现代理来发现网络的拓扑的网络节点发现管理器的操作的流程图。
具体实施方式
本发明公开一种用于由网络节点发现管理器使用并行操作的多个节点发现代理来发现网络的拓扑的方法、***和计算机可用介质。如本领域普通技术人员将了解,本发明可实现为方法、***或计算机程序产品。因此,本发明的实施例可完全实施于硬件中、完全实施于软件(其包括固件、常驻软件、微代码等)中或实施于组合了软件与硬件的实施例中。这些各种实施例在本文中全部可一般被称为″电路″、″模块″或″***″。此外,本发明可采用计算机可用储存介质上的计算机程序产品的形式,该计算机可用储存介质具有实现于该介质中的计算机可用程序代码。
可使用任何适当的计算机可用或计算机可读介质。计算机可用或计算机可读介质可为(举例而言,但不限于)电子、磁性、光学、电磁、红外或半导体***、装置、器件或传播介质。计算机可读介质的更具体实例(非详尽列表)将包括以下:具有一个或多个导线的电连接、可携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光学储存器件、传输介质(诸如,支持因特网或内部网络的传输介质),或磁性储存器件。请注意,计算机可用或计算机可读介质甚至可为程序被印刷于其上的纸张或另一种适当介质,因为可经由(例如)对纸张或其它介质的光学扫描来以电子方式捕获该程序,并接着编译、解译或以适当方式另外处理该程序(如果必要),接着将该程序储存于计算机存储器中。在本文件的情形中,计算机可用或计算机可读介质可为可包含、储存、通信、传播或传送供指令执行***、装置或器件使用或连同指令执行***、装置或器件一起使用或与其连接的程序的任何介质。计算机可用介质可包括经传播的数据信号,经传播的数据信号具有以带宽或作为载波的部分实现于其中的计算机可用程序代码。可使用任何适当的介质(包括但不限于因特网、导线、光纤电缆、射频(RF)等)来传输计算机可用程序代码。
用于进行本发明的操作的计算机程序码可以诸如Java、Smalltalk、C++或类似者的面向对象编程语言编写。然而,用于执行本发明的操作的计算机程序码也可以传统过程编程语言编写,诸如″C″编程语言或类似的编程语言。程序代码可完全在用户计算机上执行,部分地在用户计算机上执行,作为独立软件包执行,部分地在用户计算机上执行且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可经由局域网(LAN)或广域网(WAN)连接至用户计算机,或可(例如,使用因特网服务提供者,经由因特网)连接至外部计算机。
下文中参考根据本发明的实施例的方法、装置(***)和计算机程序产品的流程图说明和/或方块图来描述本发明的实施例。将理解,可由计算机程序指令来实施流程图说明和/或方块图的每一方块和这些流程图说明和/或方块图中的方块的组合。可将这些计算机程序指令提供给通用计算机、专用计算机或用以产生机器的其它可编程数据处理装置的处理器,以使得经由该计算机或其它可编程数据处理装置的处理器而执行的指令创建用于实施在流程图和/或方块图的该或这些方块中所规定的功能/动作的构件。
这些计算机程序指令还可储存于计算机可读存储器中,该计算机可读存储器可指导计算机或其它可编程数据处理装置以特定方式运作,以使得储存于该计算机可读存储器中的指令产生制品,该制品包括实施在流程图和/或方块图的一个或多个方块中所规定的功能/动作的指令构件。
这些计算机程序指令还可被加载至计算机或其它可程序化数据处理装置上,以使将于该计算机或其它可编程装置上执行的一系列操作步骤产生经计算机实施的过程,以使得在该计算机或其它可编程装置上执行的指令提供用于实施在流程图和/或方块图的一个或多个方块中所规定的功能/动作的步骤。
图1为可于其中使用本发明的示例性客户端计算机102的方块图。客户端计算机102包括耦合至***总线106的处理器单元104。控制显示器110的视频适配器108也耦合至***总线106。***总线106经由总线桥接器112耦合至输入/输出(I/O)总线114。I/O接口116耦合至I/O总线114。I/O接口116能提供与各种I/O器件的通信,这些I/O器件包括键盘118、鼠标120、压缩盘-只读存储器(CD-ROM)驱动器122、软盘驱动器124和闪速驱动存储器126。连接至I/O接口116的端口的格式可为熟悉计算机架构的本领域普通技术人员已知的任何格式,其包括(但不限于)通用串行总线(USB)端口。
客户端计算机102能够使用网络接口130经由网络128与服务提供者服务器152通信,该网络接口130耦合至***总线106。网络128可为诸如因特网的外部网络,或诸如以太网或虚拟专用网络(VPN)的内部网络。使用网络128,客户端计算机102能够使用本发明来存取服务提供者服务器152。
硬盘驱动器接口132也耦合至***总线106。硬盘驱动器接口132与硬盘驱动器134以接口连接。在优选实施例中,硬盘驱动器134向也耦合至***总线106的***存储器136填入数据。填入***存储器136的数据包括客户端计算机102的操作***(OS)138和软件程序144。
OS 138包括用于提供对诸如软件程序144的资源的透明用户存取的壳(shell)140。大体而言,壳140为在用户与操作***之间提供解译器和接口的程序。更具体而言,壳140执行被输入至命令行用户接口中或来自文件的命令。因此,在Windows中也被称为命令处理器的壳140(在UNIX中也称为壳)一般为操作***软件等级(hierarchy)的最高层级并用作命令解译器。壳提供***提示,解译通过键盘、鼠标或其它用户输入介质所输入的命令,并且将经解译的命令(多个)发送至操作***的适当的较低层级(例如,内核142)以用于处理。虽然壳140一般为基于文字的、面向行的用户接口,但本发明也可支持其它用户接口模式,诸如图形、语音、手势等。
如所描述,OS 138也包括内核142,该内核142包括用于OS 138的较低层级功能性,该功能性包括OS 138的其它部分和软件程序144所要求的必要服务,这些必要服务包括存储器管理、过程和任务管理、磁盘管理,和鼠标与键盘管理。
软件程序144可包括浏览器146和电子邮件客户端148。浏览器146包括程序模块和指令,这些程序模块和指令使用超文本传输协议(HTTP)消息传输来使万维网(WWW)客户端(即,客户端计算机102)能够发送网络信息至因特网并从因特网接收网络信息,因此能够与服务提供者服务器152通信。软件程序144也包括节点发现管理器150和一个或多个节点发现代理152。该节点发现管理器150和一个或多个节点发现代理152包括用于实施在下文中所描述的图2至图5中描述的过程的代码。在一实施例中,客户端计算机102能够从服务提供者服务器152下载该节点发现管理器150和一个或多个节点发现代理154。
在客户端计算机102中所描绘的硬件组件不意欲为详尽的,而是代表本发明所使用的重要组件。举例而言,客户端计算机102可包括替代的存储器储存器件,诸如磁带盒、数字通用盘(DVD)、柏努利盒(Bernoullicartridge)等。这些和其它变化意欲在本发明的精神和范围内。
图2为使用并行操作的网络节点发现代理来发现网络的拓扑的网络节点发现管理器的简化方块图。在各种实施例中,网络管理主机202包含网络节点发现管理器150和一个或多个网络节点发现代理152。网络节点发现操作通过网络节点发现管理器150获得含有关于目标网络208的已知网络节点的节点信息的节点列表(NodeList)204而开始。节点列表204中所含的节点信息包括网络208的每一已知节点′A′210、′B′212、′C′214和′D′216的唯一节点标识符。
要用于发现目标网络208的拓扑的节点发现代理152的数目(′K′)由节点发现管理器150确定。可选择任何数目个节点发现代理,从单一节点发现代理直至已知节点的总数目(即,1<=K<=节点总数(TotalNumberOfNodes))。将了解,单一节点发现代理可能不足以发现包含数千个节点的网络的拓扑。相反,对于数千个节点中的每一个使用个体节点发现代理将可能代表对网络管理主机202的不合理的处理额外负担。网络节点的图形列表(GraphList)206由节点发现管理器150创建以保存关于已知节点和发现的节点两者的节点信息,并最初经指派为空。
对节点列表204中的唯一节点标识符执行散列(Hash)操作以将已知节点′A′210、′B′212、′C′214和′D′216划分成与节点发现代理152的数目(′K′)相同的数目个节点群组。作为一实例,对已知节点′A′210和′B′212的唯一节点标识符执行的散列操作产生被指派至节点群组′1′222的群组散列值。类似地,对已知节点′C′214和′D′216的唯一节点标识符执行的散列操作产生被指派至节点群组′2′224的节点群组散列值。接着将与节点群组′1′222和′2′224相关联的所产生的散列值附加至其在节点列表204中的相应的唯一节点标识符。接着分别将与节点群组′1′222和′2′224相关联的散列值指派至节点发现代理′M′152,其中1<=M<=K。一旦分别将节点群组散列值指派至每一节点发现代理′M′152,便由网络节点发现管理器150启动′K′数目个节点发现代理′M′152的并行操作。在启动这些节点发现代理′M′152中的每一个的节点发现线程之前,由节点发现管理器150启动图形列表206的节点信息接收线程。
接着从节点列表204取出未经处理的节点标识符,并确定其相应的节点群组散列值。如果确定经指派至该节点群组散列值的节点发现代理′M′152繁忙,则重复该过程直至取出对应于不繁忙的节点发现代理′M′152的节点标识符项目。一旦取出具有与不繁忙的节点发现代理′M′152对应的节点群组散列值的节点标识符项目,便将目标已知节点′A′210、′B′212、′C′214、′D′216指派至其相应的节点发现代理′M′152以用于处理。节点发现代理′M′152接着将探查信息(诸如SNMP查询和本领域普通技术人员所熟知的其它方法)发送至目标已知节点′A′210、′B′212、′C′214和′D′216。
接着做出已知目标节点′A′210、′B′212、′C′214和′D′216是否连接至一个或多个未知的邻近节点′E′218、′F′220的确定。如果确定目标节点′A′210、′B′212、′C′214、′D′216连接至邻近节点′E′218、′F′220,则该探查从目标节点′A′210、′B′212、′C′214、′D′216收集节点信息,该信息包括关于至邻近节点′E′218、′F′220的连接的信息。在一实施例中,连接为物理连接。在另一实施例中,连接为逻辑连接。在另一实施例中,连接可为物理连接或逻辑连接的组合。处理所收集的节点信息以确定发现的邻近节点′E′218和′F′220的唯一节点标识符。
作为一实例,经指派至节点群组′2′224的节点发现代理′M′152针对至邻近节点的连接而探查已知节点′D′216。所收集的节点信息指示:已知节点′D′216连接至已知节点′A′210、′B′212、′C′214以及未知或发现的节点′E′218和′F′220。接着做出发现的邻近节点′E′218和′F′220的唯一节点标识符是否当前列在节点列表204中的确定。如果未列在节点列表204中,则对发现的邻近节点′E′218和′F′220的各个唯一节点标识符执行本文中更详细描述的散列操作以产生一散列值,该散列值可用来将发现的邻近节点′E′218和′F′220指派至指定的节点发现代理′M′152以用于处理。作为一实例,发现的邻近节点′E′218的散列值表示其被指派(226)至节点群组′1′222。类似地,发现的邻近节点′F′220的散列值表示其被指派(228)至节点群组′2′224。接着做出目标节点′A′210、′B′212、′C′214、′D′216与发现的邻近节点′E′218、′F′220之间的一个或多个连接是否列在图形列表206中的确定。如果未列在图形列表206中,则将其连接添加至图形列表206。继续该过程,直至所有′K′个节点发现代理′M′152已完成其对已知节点′A′210、′B′212、′C′214、′D′216和发现的邻近节点′E′218、′F′220的节点发现操作。一旦所有节点信息被列在图形列表206中,便产生网络拓扑并且结束网络节点发现操作。
图3至图5为使用并行操作的网络节点发现代理来发现网络的拓扑的网络节点发现管理器的流程图。在本发明的一实施例中,在步骤302中开始网络节点发现操作。在步骤304中,由网络节点发现管理器获得关于目标网络的信息,该信息包括该网络中的每一已知节点的唯一节点标识符。接着在步骤306中由节点发现管理器确定要用于发现目标网络的拓扑的节点发现代理的数目(′K′)。举例而言,可选择任何数目个节点发现代理,从单一节点发现代理直至已知节点的总数目(即,1<=K<=节点总数)。将了解,单一节点发现代理可能不足以发现包含数千个节点的网络的拓扑。相反,对于数千个节点中的每一个使用个体节点发现代理将可能代表对网络管理服务器的不合理的处理额外负担。
接着在步骤308中由节点发现管理器将已知节点的最初集合连同其相关联的唯一节点标识符一起指派至节点列表。在步骤310中由节点发现管理器创建将保存关于已知节点和发现的节点两者的节点信息的图形列表,并且将其最初指派为空。接着在步骤312中对节点列表中的唯一节点标识符执行散列操作以将已知节点划分成与节点发现代理的数目(′K′)相同的数目个节点群组。接着在步骤314中使所产生的散列值中的每一个与其在节点列表中的各个唯一节点标识符相关联。接着在步骤316中将与每一节点群组相关联的散列值指派至节点发现代理′M′,其中1<=M<=K。一旦将群组散列值指派至每一节点发现代理′M′,便在步骤318中启动′K′数目个节点发现代理的并行操作。在步骤322中启动这些节点发现代理′M′中的每一个的节点发现线程之前,在步骤320中由节点发现管理器启动图形列表的节点信息接收线程。
接着在步骤324中做出是否已处理节点列表中的所有项目的确定。如果已处理所有项目,则在步骤326中做出是否所有′K′节点发现代理已完成其拓扑发现操作的确定。如果未完成,则在步骤328中从节点列表取出未经处理的节点标识符并确定其相应的节点群组散列值。接着在步骤330中做出经指派至节点群组散列值的节点发现代理′M′是否繁忙的确定。如果繁忙,则以步骤328开始而重复该过程,直至取出对应于不繁忙的节点发现代理′M′的节点标识符项目。一旦在步骤328中确定所取出的节点标识符项目具有对应于不繁忙的节点发现代理′M′的节点群组散列值,便将目标节点指派至节点发现代理′M′以用于处理。节点发现代理′M′接着在步骤334中将探查消息(诸如SNMP查询和本领域普通技术人员所熟知的其它方法)发送至目标节点。
接着在步骤336中做出目标节点是否连接至一个或多个邻近节点的确定。如果在步骤336中确定该节点为网络的端点或该节点未连接至任何其它节点,则在步骤364中将节点标识符标注为节点列表中的经处理的节点。接着以步骤324开始而重复该过程,在步骤324中做出是否已处理节点列表中的所有项目的确定。然而,如果在步骤336中确定目标节点连接至邻近节点,则该探查从节点收集节点信息,该信息包括关于至邻近节点的连接的信息。在一实施例中,连接为物理连接。在另一实施例中,连接为逻辑连接。在另一实施例中,连接可为物理连接或逻辑连接的组合。接着在步骤340中将所收集的节点信息转换至节点连接列表,并且接着将节点连接列表传回至节点发现管理器。
接着在步骤342中做出是否已处理节点连接列表中的所有节点连接项目的确定。如果在步骤342中确定未处理节点连接列表中的所有节点连接项目,则在步骤344中取出邻近节点项目,并且在步骤344中确定其唯一节点标识符。接着在步骤346中做出该唯一节点标识符是否当前列在节点列表中的确定。如果该唯一节点标识符列在节点列表中,则接着在步骤348中做出是否已处理该邻近节点的确定。
对本领域普通技术人员将显而易见,表示为节点列表中的项目的发现的邻近节点将具有相应的节点群组散列值,该相应的节点群组散列值将该发现的邻近节点指派用于由预定的节点发现代理′M′处理。不管节点发现代理′M′是当前代理还是另一代理,在步骤328中尚未取出该节点项目或在步骤332中将该节点项目指派至节点发现代理′M′。因而,在该过程中此时无需进一步处理操作,因为一旦取出邻近节点项目,便将以步骤328开始而执行进一步处理操作。因此,如果在步骤348中确定尚未处理邻近节点,则以步骤342开始而重复该过程。
然而,如果在步骤348中确定已将节点列表中的邻近节点项目标注为经处理的,则在步骤350中做出目标节点与邻近节点的间的一个或多个连接(不管是实体的还是逻辑的)是否列在图形列表中的确定。将了解,即使目标节点和邻近节点先前皆已被处理,但从其被处理的时间以来,仍有可能建立新连接。此新连接将变更网络的拓扑并且不利地影响其准确性。因此,如果在步骤350中确定目标节点与邻近节点之间的一个或多个连接未列在图形列表中,则在步骤352中将其添加至图形列表。否则,以步骤342开始而重复该过程。
如果在步骤346中确定邻近节点的唯一节点标识符当前未列在节点列表中,则在步骤354中对其唯一节点标识符执行散列操作。如本文中所详细描述,散列操作将产生散列值,该散列值将用来使发现的邻近节点与现有节点群组相关联。通过扩展将显而易见,节点群组散列值也将发现的邻近节点指派至预定的节点发现代理′M′以用于处理。因此,在步骤356中,将散列值添加至邻近节点的唯一节点标识符,并作为节点列表中的项目将其输入以用于随后处理。
如在上文所描述,节点列表中表示发现的邻近节点的相应的节点群组散列值将导致该发现的邻近节点被指派用于由预定的节点发现代理′M′处理。结果,在该过程中此时无需进一步节点连接处理操作,因为一旦取出邻近节点项目,便将以步骤328开始而执行进一步节点连接处理操作。接着以步骤342开始而重复该过程。一旦在步骤326中已确定所有节点发现代理′M′已完成其各个节点发现操作,便在步骤358中根据图形发现(GraphyDiscovery)列表中所含的节点信息来产生网络拓扑。一旦在步骤358中产生网络拓扑,便接着在步骤360中结束网络节点发现操作。
附图中的流程图和方块图说明根据本发明的各种实施例的***、方法和计算机程序产品的可能实施的架构、功能性和操作。就此而言,在流程图或方块图中的每一方块可表示程序代码的模块、分区或部分,其包含用于实施规定的逻辑功能的一个或多个可执行指令。也应注意,在一些替代实施中,在方块中所提及的功能可不按附图中所提及的次序发生。举例而言,视所涉和的功能性而定,可大体上同时执行连续展示的两个方块,或有时可按相反次序执行这些方块。也应注意,方块图和/或流程图说明的每一方块和方块图和/或流程图说明的方块的组合可通过基于硬件的专用***而实施,该基于硬件的专用***执行规定的功能或动作,或专用硬件与计算机指令的组合。
本文中所用的术语仅用于描述特定实施例且不意欲限制本发明。如本文中所使用,除非上下文另有明确指示,否则单数形式″一″、″一个″和″该″也意欲包括复数形式。应进一步理解,当在本说明书中使用时,术语″包含″和/或″包括″规定所说明的特征、整数、步骤、操作、组件和/或组件的存在,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、组件、组件和/或其群组。
以下权利要求中的所有构件或步骤加功能组件的对应结构、材料、动作和等效物意欲包括用于连同其它具体所主张的所主张组件一起执行功能的任何结构、材料或动作。虽然出于说明和描述的目的已呈现对本发明的描述,但该描述不意欲为详尽的或限于所公开形式的本发明。在不脱离本发明的精神和范围的情况下,许多修改和变化将对本领域普通技术人员显而易见。选择并描述了实施例以便最佳地阐释本发明的原理、实际应用,并且使其它本领域普通技术人员能够理解本发明的各种实施例,其中涵盖适用于特定用途的各种修改。
因此已详细地并参考本申请的发明的优选实施例对其进行描述,在不脱离所附权利要求中所界定的本发明的范围的情况下,将显而易见修改和变化是有可能的。
Claims (20)
1.一种用于发现网络的拓扑的计算机可实施的方法,其包含:
接收节点项目的第一列表,所述节点项目中的每一个包含表示已知节点的唯一节点标识符;
对所述节点项目的所述唯一节点标识符执行操作以将所述节点项目划分成多个节点群组;
将第一节点发现代理指派至节点的第一群组,将第二节点发现代理指派至节点的第二群组,所述第一和第二节点发现代理可操作以从节点收集节点信息;
从第一节点收集节点信息,所述节点信息由所述第一节点发现代理来收集并描述所述第一节点与第二节点之间的连接;
将所述节点信息附加至节点项目的第二列表;和
处理节点项目的第二列表以产生网络拓扑。
2.如权利要求1的方法,其进一步包含:
确定所述第二节点的节点标识符是否列在所述第一列表中;
如果所述第二节点的节点标识符未列在所述第一列表中,则对所述第二节点的唯一节点标识符执行操作以确定所述第二节点至节点群组的指派;
将所述第二节点附加至经确定的节点群组;和
从所述第二节点收集节点信息,所述节点信息由指派至经确定的节点群组的节点代理来收集并描述所述第二节点与第三节点之间的连接。
3.如权利要求1的方法,其中对所述唯一节点标识符执行散列操作以产生散列值,所述散列值可操作以用来将所述节点项目划分成多个节点群组。
4.如权利要求1的方法,其中所述第一节点与第二节点之间的连接是物理的。
5.如权利要求1的方法,其中所述第一节点与第二节点之间的连接是逻辑的。
6.如权利要求1的方法,其中所述第一节点与第二节点之间的第一连接是物理的,并且第二连接是逻辑的。
7.一种数据处理***,其包含:
处理器;
耦合至所述处理器的数据总线;和
实现计算机程序码的计算机可用介质,所述计算机可用介质耦合至所述数据总线,所述计算机程序代码发现网络的拓扑并包含指令,所述指令可由所述处理器执行并经配置以用于:
接收节点项目的第一列表,所述节点项目中的每一个包含表示已知节点的唯一节点标识符;
对所述节点项目的所述唯一节点标识符执行操作以将所述节点项目划分成多个节点群组;
将第一节点发现代理指派至节点的第一群组,将第二节点发现代理指派至节点的第二群组,所述第一和第二节点发现代理可操作以从节点收集节点信息;
从第一节点收集节点信息,所述节点信息由所述第一节点发现代理来收集并描述所述第一节点与第二节点之间的连接;
将所述节点信息附加至节点项目的第二列表;和
处理节点项目的第二列表以产生网络拓扑。
8.如权利要求7的***,其进一步包含:
确定所述第二节点的节点标识符是否列在所述第一列表中;
如果所述第二节点的节点标识符未列在所述第一列表中,则对所述第二节点的唯一节点标识符执行操作以确定所述第二节点至节点群组的指派;
将所述第二节点附加至经确定的节点群组;和
从所述第二节点收集节点信息,所述节点信息由指派至经确定的节点群组的节点代理来收集并描述所述第二节点与第三节点之间的连接。
9.如权利要求7的***,其中对所述唯一节点标识符执行散列操作以产生散列值,所述散列值可操作以用来将所述节点项目划分成多个节点群组。
10.如权利要求7的***,其中所述第一节点与第二节点之间的连接是物理的。
11.如权利要求7的***,其中所述第一节点与第二节点之间的连接是逻辑的。
12.如权利要求7的***,其中所述第一节点与第二节点之间的第一连接是物理的,并且第二连接是逻辑的。
13.一种实现计算机程序代码的计算机可用介质,所述计算机程序代码包含计算机可执行指令,所述计算机可执行指令经配置以用于:
接收节点项目的第一列表,所述节点项目中的每一个包含表示已知节点的唯一节点标识符;
对所述节点项目的所述唯一节点标识符执行操作以将所述节点项目划分成多个节点群组;
将第一节点发现代理指派至节点的第一群组,将第二节点发现代理指派至节点的第二群组,所述第一和第二节点发现代理可操作以从节点收集节点信息;
从第一节点收集节点信息,所述节点信息由所述第一节点发现代理来收集并描述所述第一节点与第二节点之间的连接;
将所述节点信息附加至节点项目的第二列表;和
处理节点项目的第二列表以产生网络拓扑。
14.如权利要求13的计算机可用介质,其进一步包含:
确定所述第二节点的节点标识符是否列在所述第一列表中;
如果所述第二节点的节点标识符未列在所述第一列表中,则对所述第二节点的唯一节点标识符执行操作以确定所述第二节点至节点群组的指派;
将所述第二节点附加至经确定的节点群组;和
从所述第二节点收集节点信息,所述节点信息由指派至经确定的节点群组的节点代理来收集并描述所述第二节点与第三节点之间的连接。
15.如权利要求13的计算机可用介质,其中对所述唯一节点标识符执行散列操作以产生散列值,所述散列值可操作以用来将所述节点项目划分成多个节点群组。
16.如权利要求13的计算机可用介质,其中所述第一节点与第二节点之间的连接是物理的。
17.如权利要求13的计算机可用介质,其中所述第一节点与第二节点之间的连接是逻辑的。
18.如权利要求13的计算机可用介质,其中所述第一节点与第二节点之间的第一连接是物理的,并且第二连接是逻辑的。
19.如权利要求13的计算机可用介质,其中所述计算机可执行指令可从在远程位置处的服务器部署给客户端计算机。
20.如权利要求13的计算机可用介质,其中所述计算机可执行指令是由服务提供者基于需求提供给消费者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/949,167 | 2007-12-03 | ||
US11/949,167 US8625457B2 (en) | 2007-12-03 | 2007-12-03 | Method and apparatus for concurrent topology discovery |
PCT/KR2008/006861 WO2009072768A1 (en) | 2007-12-03 | 2008-11-21 | Method and apparatus for concurrent topology discovery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101884198A true CN101884198A (zh) | 2010-11-10 |
CN101884198B CN101884198B (zh) | 2013-01-16 |
Family
ID=40675608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880118938.6A Active CN101884198B (zh) | 2007-12-03 | 2008-11-21 | 用于并行拓扑发现的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8625457B2 (zh) |
EP (1) | EP2220822B1 (zh) |
JP (1) | JP5285083B2 (zh) |
CN (1) | CN101884198B (zh) |
CA (1) | CA2701107C (zh) |
TW (1) | TW200943822A (zh) |
WO (1) | WO2009072768A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102820984A (zh) * | 2011-01-29 | 2012-12-12 | 特克特朗尼克公司 | 自动网络拓扑结构检测和建模 |
CN104579978A (zh) * | 2014-12-30 | 2015-04-29 | 国网安徽省电力公司芜湖供电公司 | 一种动态网络链路层拓扑发现方法 |
CN108605014A (zh) * | 2016-02-23 | 2018-09-28 | 株式会社Ntt都科摩 | 控制节点和路径控制*** |
CN112400296A (zh) * | 2018-07-11 | 2021-02-23 | 国际商业机器公司 | 无拓扑信息的网络性能评估 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI414162B (zh) * | 2009-06-12 | 2013-11-01 | Univ Nat Taiwan Science Tech | 一種網路中最佳化儲存節點之方法 |
US20130297603A1 (en) * | 2012-05-01 | 2013-11-07 | Fujitsu Technology Solutions Intellectual Property Gmbh | Monitoring methods and systems for data centers |
US9820006B2 (en) * | 2014-05-09 | 2017-11-14 | Adtran, Inc. | Diagnosing and optimizing network-wide IPTV configurations |
US10439908B2 (en) * | 2014-12-23 | 2019-10-08 | Talari Networks Incorporated | Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic |
US11108883B2 (en) | 2015-09-04 | 2021-08-31 | Google Llc | Systems and methods for remote network topology discovery |
CN106713003B (zh) * | 2016-05-12 | 2020-06-23 | 深信服科技股份有限公司 | 基于网络拓扑图的虚拟节点创建方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185860A (en) * | 1990-05-03 | 1993-02-09 | Hewlett-Packard Company | Automatic discovery of network elements |
US5850397A (en) * | 1996-04-10 | 1998-12-15 | Bay Networks, Inc. | Method for determining the topology of a mixed-media network |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5471472A (en) * | 1991-07-30 | 1995-11-28 | Synernetics Inc. | Network multiplexer |
US5485578A (en) * | 1993-03-08 | 1996-01-16 | Apple Computer, Inc. | Topology discovery in a multiple-ring network |
JPH0993265A (ja) | 1995-09-28 | 1997-04-04 | Hitachi Ltd | 分散型ネットワーク管理方法 |
US5974237A (en) * | 1996-12-18 | 1999-10-26 | Northern Telecom Limited | Communications network monitoring |
US6173325B1 (en) * | 1998-07-31 | 2001-01-09 | Microsoft Corporation | Method computer program product, and system for assessing the performance of a packet schedule |
US6639900B1 (en) * | 1999-12-15 | 2003-10-28 | International Business Machines Corporation | Use of generic classifiers to determine physical topology in heterogeneous networking environments |
US7251688B2 (en) * | 2000-05-26 | 2007-07-31 | Akamai Technologies, Inc. | Method for generating a network map |
US6883024B2 (en) * | 2000-12-18 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for defining application scope and for ensuring finite growth of scaled distributed applications |
US7171443B2 (en) * | 2001-04-04 | 2007-01-30 | Prodigy Communications, Lp | Method, system, and software for transmission of information |
US20020161883A1 (en) * | 2001-04-30 | 2002-10-31 | David Matheny | System and method for collecting, aggregating, and coalescing network discovery data |
US7139824B2 (en) * | 2001-11-28 | 2006-11-21 | International Business Machines Corporation | Method and system for isolating and simulating dropped packets in a computer network |
US7113796B2 (en) * | 2002-01-18 | 2006-09-26 | Microsoft Corporation | Framework and method for QoS-aware resource discovery in mobile ad hoc networks |
US7082134B1 (en) * | 2002-01-18 | 2006-07-25 | Juniper Networks, Inc. | Redirect checking in a network device |
JP2003281109A (ja) * | 2002-03-26 | 2003-10-03 | Hitachi Ltd | 負荷分散方法 |
US20030208581A1 (en) * | 2002-05-02 | 2003-11-06 | Behren Paul D. Von | Discovery of fabric devices using information from devices and switches |
US7206861B1 (en) * | 2002-07-29 | 2007-04-17 | Juniper Networks, Inc. | Network traffic distribution across parallel paths |
AU2003300900A1 (en) * | 2002-12-13 | 2004-07-09 | Internap Network Services Corporation | Topology aware route control |
JP2004282272A (ja) | 2003-03-13 | 2004-10-07 | Fujitsu Ltd | Ipアドレス管理方法、ipアドレス管理プログラムおよびipアドレス管理装置 |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
US20040267921A1 (en) * | 2003-06-30 | 2004-12-30 | Rover Jeremy L. | System and method for describing network components and their associations |
WO2005014438A2 (en) | 2003-08-04 | 2005-02-17 | Hak Direct Limited | Improvements relating to packaging |
US7937406B2 (en) * | 2003-09-11 | 2011-05-03 | Oracle America, Inc. | Mechanism for automatically establishing a resource grid |
US7756958B2 (en) | 2003-09-20 | 2010-07-13 | International Business Machines Corporation | Intelligent discovery of network information from multiple information gathering agents |
US7454488B2 (en) | 2003-09-23 | 2008-11-18 | Hewlett-Packard Development Company, L.P. | Method and system for managing a network of nodes |
US20050086344A1 (en) * | 2003-10-15 | 2005-04-21 | Eaxis, Inc. | Method and system for unrestricted, symmetric remote scripting |
WO2007025209A2 (en) * | 2005-08-25 | 2007-03-01 | Andreas Eriksson | Systems and methods of implementing a single-number follow me service for videoconferencing |
WO2008016861A2 (en) | 2006-08-01 | 2008-02-07 | Rajesh Balasubramaniam | Link inference in large networks based on incomplete data |
US20080181134A1 (en) | 2007-01-29 | 2008-07-31 | Nikolaos Anerousis | System and method for monitoring large-scale distribution networks by data sampling |
-
2007
- 2007-12-03 US US11/949,167 patent/US8625457B2/en not_active Expired - Fee Related
-
2008
- 2008-10-31 TW TW097142259A patent/TW200943822A/zh unknown
- 2008-11-21 WO PCT/KR2008/006861 patent/WO2009072768A1/en active Application Filing
- 2008-11-21 JP JP2010536836A patent/JP5285083B2/ja not_active Expired - Fee Related
- 2008-11-21 CA CA2701107A patent/CA2701107C/en active Active
- 2008-11-21 EP EP08857868.7A patent/EP2220822B1/en active Active
- 2008-11-21 CN CN200880118938.6A patent/CN101884198B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185860A (en) * | 1990-05-03 | 1993-02-09 | Hewlett-Packard Company | Automatic discovery of network elements |
US5850397A (en) * | 1996-04-10 | 1998-12-15 | Bay Networks, Inc. | Method for determining the topology of a mixed-media network |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102820984A (zh) * | 2011-01-29 | 2012-12-12 | 特克特朗尼克公司 | 自动网络拓扑结构检测和建模 |
CN102820984B (zh) * | 2011-04-29 | 2018-04-20 | 网络搜索***德克萨斯有限责任公司 | 自动网络拓扑结构检测和建模 |
CN104579978A (zh) * | 2014-12-30 | 2015-04-29 | 国网安徽省电力公司芜湖供电公司 | 一种动态网络链路层拓扑发现方法 |
CN104579978B (zh) * | 2014-12-30 | 2018-01-09 | 国家电网公司 | 一种动态网络链路层拓扑发现方法 |
CN108605014A (zh) * | 2016-02-23 | 2018-09-28 | 株式会社Ntt都科摩 | 控制节点和路径控制*** |
CN108605014B (zh) * | 2016-02-23 | 2021-05-07 | 株式会社Ntt都科摩 | 控制节点和路径控制*** |
CN112400296A (zh) * | 2018-07-11 | 2021-02-23 | 国际商业机器公司 | 无拓扑信息的网络性能评估 |
Also Published As
Publication number | Publication date |
---|---|
JP5285083B2 (ja) | 2013-09-11 |
US20090141659A1 (en) | 2009-06-04 |
EP2220822A4 (en) | 2013-10-02 |
CN101884198B (zh) | 2013-01-16 |
CA2701107C (en) | 2016-12-06 |
US8625457B2 (en) | 2014-01-07 |
CA2701107A1 (en) | 2009-06-11 |
JP2011505778A (ja) | 2011-02-24 |
EP2220822A1 (en) | 2010-08-25 |
WO2009072768A1 (en) | 2009-06-11 |
TW200943822A (en) | 2009-10-16 |
EP2220822B1 (en) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101884198B (zh) | 用于并行拓扑发现的方法和装置 | |
US11177999B2 (en) | Correlating computing network events | |
CN101563908B (zh) | 分析网络流的装置和方法 | |
JP4854078B2 (ja) | 注釈付きネットワーク・トポロジを生成する方法、システム、及びプログラム | |
US10644964B2 (en) | Method and system for discovering and presenting access information of network applications | |
US20130290237A1 (en) | Discovery and grouping of related computing resources using machine learning | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN101110827A (zh) | 一种多维地址域名解析的方法和装置以及*** | |
CN107070719A (zh) | 一种设备管理方法和装置 | |
US8683425B2 (en) | System for generating application architecture design work products | |
CN109446445A (zh) | 一种资源获取方法及装置 | |
JP2009277023A (ja) | データ紐付けプログラム,情報処理装置およびデータ紐付け方法 | |
CN108923963B (zh) | 一种利用Looking Glass测量点实现自动化拓扑测量的方法 | |
GB2464125A (en) | Topology discovery comprising partitioning network nodes into groups and using multiple discovery agents operating concurrently in each group. | |
CN108337317A (zh) | 一种处理路由请求的方法及装置 | |
CN114884824A (zh) | 一种时延预算路的查询方法、设备及*** | |
JP4589939B2 (ja) | 接続情報管理方法及び装置及びプログラム | |
CN109885542A (zh) | 项目文件管理方法、装置及存储介质 | |
JP2011103613A (ja) | 経路計算装置、経路計算方法、および、経路計算プログラム | |
JP2010233042A (ja) | 検出ルール生成システム、及び、それを備える伝送路探索システム | |
CN115174559A (zh) | 一种数据获取方法、装置、电子设备和存储介质 | |
CN115766544A (zh) | 路由源验证部署点检测方法及相关设备 | |
CN117097533A (zh) | 分布式端口资源探测方法、装置、设备及存储介质 | |
CN112968837A (zh) | 一种网络结构分析方法、装置、设备及存储介质 | |
CN116032995A (zh) | 数据通信方法及装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |