CN110249588A - 用于检测网络拓扑的***和方法 - Google Patents

用于检测网络拓扑的***和方法 Download PDF

Info

Publication number
CN110249588A
CN110249588A CN201780085529.XA CN201780085529A CN110249588A CN 110249588 A CN110249588 A CN 110249588A CN 201780085529 A CN201780085529 A CN 201780085529A CN 110249588 A CN110249588 A CN 110249588A
Authority
CN
China
Prior art keywords
network
equipment
scoring
application program
influence
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.)
Withdrawn
Application number
CN201780085529.XA
Other languages
English (en)
Inventor
沈怡
S·帕特奈克
G·莫泽
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN110249588A publication Critical patent/CN110249588A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文所描述的是基于网络组件之间的依赖关系生成网络的网络拓扑的***、方法、设备和计算机可读介质。可以根据至少一些实施例监测网络组件之间的交易。基于检测到的这些网络组件之间的交易,可以识别网络应用程序和/或网络设备之间的依赖关系。然后,可以基于所识别的依赖关系来生成网络的网络拓扑。在一些实施例中,网络拓扑可以用来确定网络内一个或多个网络组件的影响评分。可以使用影响评分来对网络进行确定。

Description

用于检测网络拓扑的***和方法
背景技术
传统计算机基础架构(托管环境)拥有众多网络设备(例如,路由器、交换机、防火墙、负载平衡器、代理服务器等),促进运行众多应用程序(例如,企业软件)的计算***(服务器、存储单元、笔记本电脑、台式电脑)之间的通信。在某些情况下,网络管理员可能希望停用特定的网络设备,因为其操作对整个***来说似乎并不重要。在这种情况下,网络管理员可以停用该特定的网络设备,结果却发现其停用出乎意料地对整个***产生了不利的影响。因此,在这种***中,可能会存在让所有网络设备及其应用程序简单运行的趋势。这也是有问题的,因为这可能导致浪费能源和资源,以及对安全地更新/维护不同组件带来操作挑战。
本发明的实施例单独地以及共同地解决这些问题和其它问题。
发明内容
本发明的实施例涉及基于网络内网络组件(网络应用程序和网络设备)以及用其贡献运行的应用程序/服务之间的依赖关系生成网络的网络拓扑的***、方法、设备和计算机可读介质。网络拓扑可以包括各种网络组件之间的依赖关系的映射,此映射可以用来确定特定网络组件的更新会对在网络上运行的应用程序/服务产生的影响。在一些实施例中,可以在频繁通信的网络组件之间识别依赖关系。也可以基于与交易相关的通信方向来确定依赖关系。例如,如果应用程序A经常向设备B发送请求,则可以确定在网络拓扑内应用程序A依赖于设备B。因此,对设备B的更新也会影响应用程序A。
本发明的一个实施例涉及一种生成网络拓扑的方法,包括:对于网络中涉及的多个设备中的每个设备,接收所述设备与多个端点之间的流量的指示;将所述多个端点中的每个端点映射到多个应用程序中的应用程序,所述多个应用程序中的每个应用程序与应用程序影响评分相关联;基于所述映射存储信息,所述信息指示每个设备与一个或多个应用程序之间的关系;基于所存储的信息生成网络拓扑;以及基于所生成的网络拓扑和所述应用程序影响评分,确定所述多个设备中的每个设备的设备影响评分。
本发明的另一实施方案涉及服务器计算机,该服务器计算机包括处理器和耦合到处理器的计算机可读介质,其中计算机可读介质包含可由处理器执行以用于执行方法的代码。所述方法对于网络中涉及的多个设备中的每个设备,接收所述设备与多个端点之间的至少一个通信的指示;将所述多个端点中的每个端点映射到多个应用程序中的应用程序,所述多个应用程序中的每个应用程序与应用程序影响评分相关联;基于所述映射存储指示每个设备与一个或多个应用程序之间的关系的信息;基于所存储的信息生成网络拓扑;以及基于所生成的网络拓扑和应用程序影响评分,确定所述多个设备中的每个设备的设备影响评分。
下文进一步详细描述本发明的这些和其它实施例。
附图说明
图1描绘了可以生成网络拓扑以便可以快速确定设备对网络的影响的说明性实例;
图2描绘了根据至少一些实施例可被配置成生成网络拓扑的示范性管理服务器的说明性实例;
图3描绘了可以根据本公开的实施例生成的网络拓扑的说明性实例;
图4描绘了流程图,其说明了生成网络拓扑并基于生成的网络拓扑确定特定网络组件的影响评分的过程;
图5描绘了根据至少一些实施例生成网络组件的影响评分的过程;以及
图6描绘了流程图,其说明了生成网络拓扑并基于该网络拓扑确定特定网络组件的影响评分的过程。
具体实施方式
在以下描述中,将描述各种实施例。出于解释的目的,阐述特定配置和细节以便提供对实施例的透彻理解。然而,所属领域的技术人员也应清楚,可在无所述特定细节的情况下实践实施例。此外,可能省略或简化众所周知的特征以免使描述的实施例模糊不清。
本公开的实施例涉及基于网络内网络组件(例如,网络应用程序和网络设备)之间的依赖关系生成网络的网络拓扑的***、方法、设备和计算机可读介质。在一些实施例中,可以通过监测网络内各个网络组件之间的交易来生成网络拓扑。交易可以包括两个或更多个网络组件之间的交互的任何合适的指示。例如,***可以评估数据日志和配置文件,以识别由与数据日志关联的网络组件接收或发起的交易。检测到交易后,与这些交易关联的IP地址可以映射到发起网络组件以及接收网络组件。然后可以生成反映每个检测到的依赖关系的网络拓扑。
在一些实施例中,可以基于所生成的网络拓扑对网络中的至少一些网络组件生成影响评分。例如,管理员或用户最初可以向一个或多个网络组件分配影响评分。本公开的实施例接着可以基于所检测的依赖关系计算各种其他网络组件的影响评分。在一些实施例中,网络拓扑和/或影响评分可以用来对影响网络的因素进行确定。例如,可以基于与特定网络组件相关联的影响评分来做出是否对该网络组件进行更新的决定。在一些实施例中,可以自动地(例如,没有用户交互)对影响评分低于阈值影响评分值的网络组件进行更新。例如,***可以确定软件更新可用于安装在许多网络设备上。在此实例中,软件更新可以自动部署到那些对网络影响较小的网络设备,而只有在接收到管理员批准时软件更新才可以部署到那些对网络影响较大的网络设备。这将允许管理员识别软件更新导致的任何潜在问题,而不会使网络面临风险。
在讨论本发明的一些实施方案之前,对一些术语的描述可有助于理解本发明的实施方案。
“分布式计算***”可以是任何一组彼此交互以实现共同目标的计算设备。在一些实施例中,分布式计算***可以包括一组联网计算设备,其通过在整个网络中发送通信来传达和协调其操作。在一些实施例中,在分布式计算***上运行的网络应用程序可以在许多不同的服务器设备上运行。
“端点”可以包括用于通信的任何合适的终端(起点或目的地)。在某些情况下,端点可以是地址,诸如IP地址。
“影响评分”可以是网络组件对网络的影响的任何指示。在一些实施例中,可以生成特定网络组件的影响评分,这是基于与依赖于该特定网络组件的网络组件相关联的影响评分生成的。在一些实施例中,影响评分可以由数值表示。在一些实施例中,本文所述的***可以被配置成基于与网络组件相关联的影响评分对该网络组件进行一个或多个确定。例如,***可以停用影响评分低于阈值影响评分值的所有网络设备。
“网络应用程序”可以是被配置成使一个或多个处理器在网络内执行指定功能的任何一组指令。在一些实施例中,网络应用程序可以安装在网络内的许多不同计算设备上,并且可以从网络内的许多不同计算设备上执行。各个网络应用程序的执行可以由用户启动或自动启动(例如,没有用户交互),例如定时或定期。在一些实施例中,网络应用程序可以包括分布式应用程序或服务。例如,网络应用程序可以包括跨分布式计算环境实施的应用程序或服务。
“网络设备”可以是提供对资源或功能的访问的任何电子设备。潜在网络设备的一些非限制性实例可以包括网关、路由器、网桥、调制解调器、网络交换机、网络集线器、中继器或任何其他合适的设备。在一些实施例中,网络设备可以包括被配置成提供对资源或功能的访问的硬件和软件的组合。在一些实施例中,网络设备可以包括可以访问(例如,存储在存储器中的)资源的计算设备。例如,网络设备可以包括数据库服务器,其可以用来从数据库获取信息。
“网络拓扑”可以是各种网络组件之间的一个或多个关系的任何指示。在一些实施例中,网络拓扑可以包括逻辑拓扑,其示出了数据如何在网络内流动,不管其物理设计如何。在一些实施例中,网络拓扑可以指示不同网络组件之间的各种依赖关系。以此方式指示的依赖关系可以与网络应用程序和/或网络设备有关。在一些实施例中,可以使用数据库管理***将网络拓扑存储为一个或多个数据库表。
“服务器计算机”可包含功能强大的计算机或计算机集群。举例来说,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,且可包含用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可包括一个或多个计算设备,且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
“交易”可以是两方或多于两方之间的任何交互或交换。例如,交易可以包括从第二网络组件请求资源的第一网络组件。在此实例中,当向第一网络组件提供资源或交易被拒绝时交易完成。
现在将描述本发明的一些实施例的细节。
图1描绘了可以生成网络拓扑以便可以快速确定设备对网络的影响的说明性实例。所描绘的网络拓扑包括不仅网络设备还有网络应用程序之间的映射。在图1中,许多网络设备102可以与许多网络应用程序104通信。在一些实施例中,网络可以包括任何适当的网络,包括内联网、因特网、蜂窝式网络、局域网或任何其它此类网络或其组合。用于此***的组件可至少部分地取决于选择的网络和/或环境的类型。经由此网络通信的协议和组件是众所周知的且本文中将不详细论述。通过网络的通信可通过有线或无线连接和其组合实现。
网络设备可以包括在网络中或者可以在网络外部。在一些实施例中,由网络设备管理的资源或功能可以由网络应用程序请求。例如,应用程序可能要求访问位于已执行应用程序的网络外部的互联网协议(IP)地址。在此实例中,应用程序可以请求访问网络网关和/或防火墙设备或代理服务器,以便与IP地址处的计算设备安全通信。
在一些实施例中,网络应用程序可以安装在整个分布式计算环境中的许多服务器上。在一些实施例中,网络应用程序可以在专用服务器(或其他计算设备)上安装并执行。在一些实施例中,可以在单个服务器上安装多个网络应用程序。
根据本公开的实施例,可以监测各种网络应用程序和网络设备之间的交易。要生成网络拓扑,***可能会注意到在网络内传输的通信所源于的IP地址和这些通信被路由到的IP地址。然后,***可以将每个注意到的IP地址映射到网络设备或网络应用程序。要将通信映射到网络应用程序,***可以识别与IP地址关联的服务器,并确定在与通信相关的服务器上运行的应用程序。
生成网络拓扑后,可确定网络组件对网络的影响。例如,在图1所示的网络拓扑中,可以基于拓扑确定对网络设备106的更新(例如,停用)会影响许多网络应用程序108。在此实例中,基于网络中提供对与每个网络设备102相同的资源或功能的访问的许多其他网络设备,***还可以针对该网络设备确定更新对网络的影响。例如,虽然附加应用程序(例如,应用程序110)可能受到网络设备106的更新的影响,但如果该应用程序与提供对与网络设备106相同的资源或功能的访问的网络设备112通信,则可以降低影响。在一些实施例中,基于每个应用程序和/或设备对整个网络的必要性,每个应用程序和/或设备可以被分配影响评分。***可以基于对其他网络设备/网络应用程序的影响及其各自的影响评分,计算网络设备或网络应用程序的影响评分。
***可以以多种方式使用网络组件的影响评分。例如,在确定资源不足以维护整个网络组件时(例如,在断电或电力短缺的情况下),***可以确定应该关闭至少一些网络组件,以便维持其余的网络组件。在此实例中,***可以识别对整个网络影响最小的网络组件以断电。这可以重复多次,直到维护剩余网络组件所需的资源量小于可用资源量。在另一个实例中,在确定网络未充分利用时(例如,可用带宽比正在使用的带宽更多),***可以确定可以(至少暂时)停用一个或多个网络组件,以便降低操作网络的成本。在此实例中,***可以继续停用具有最低影响评分的网络组件,直到网络正被优化利用。
为了简化说明,图1中示出一定数量的组件。然而,应理解,本发明的实施例可包含多于一个每种组件。另外,本发明的一些实施例可包含比图1中所示的所有组件少或多的组件。此外,图1的组件可以通过任何合适的通信媒体(包含因特网)使用任何合适的通信协议来进行通信。
图2描绘了根据至少一些实施例可被配置成生成网络拓扑的示范性管理服务器202的说明性实例。根据至少一些实施例,管理服务器202可以与许多网络设备204(1-X)和许多网络应用程序206(A–N)通信。在一些实施例中,这些所描述组件中的每一个可以经由网络210进行通信。
管理服务器202可以是根据本公开的实施例能够生成网络拓扑和/或确定影响评分的任何类型的计算装置。在至少一些实施例中,管理服务器202可以包括至少一个存储器212和一个或多个处理单元(或处理器)214。处理器214可以酌情以硬件、计算机可执行指令、固件或其组合实现。处理器214的计算机可执行指令或固件实施例可包括以任何合适的编程语言编写的用于执行所描述的各种功能的计算机可执行或机器可执行指令。
存储器212可存储可以在处理器214上加载和执行的程序指令,以及在执行这些程序期间生成的数据。取决于管理服务器202的配置和类型,存储器212可以是易失性的(例如随机存取存储器(RAM))和/或非易失性的(例如只读存储器(ROM)、闪存等)。管理服务器202还可以包含额外存储装置216,例如可移动存储装置或不可移动存储装置,包含但不限于磁性存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联的计算机可读介质可提供计算机可读指令、数据结构、程序模块和用于管理服务器202的其它数据的非易失性存储。在一些实施例中,存储器212可以包括多种不同类型的存储器,例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或ROM。
更详细地转向存储器212的内容,存储器212可以包括操作***218以及用于实现本文所公开的功能的一个或多个应用程序或服务,其中至少包括用于生成网络拓扑和/或确定网络设备或网络应用程序的影响评分的模块(网络管理模块220)。存储器212还可以包括网络拓扑数据222,其提供与网络设备/网络应用程序关系相关联的数据。
在一些实施例中,网络管理模块210可以与处理器204一起被配置成监测各种网络设备和/或网络应用程序之间的交易以及基于这些交易生成网络拓扑。在一些实施例中,交易可以与从第一网络组件路由到第二网络组件的通信相关联。本公开的实施例可以包括识别每个通信起源的IP地址,以及每个通信被路由到的IP地址。已识别的IP地址被映射到各自的网络设备。要将IP地址映射到应用程序,可以识别在IP地址的服务器设备上运行的应用程序。在一些实施例中,网络管理模块210可以与处理器214一起进一步被配置成基于所生成的网络拓扑确定网络应用程序或网络设备的影响评分。这可以包括确定至少一些网络应用程序对网络的关键性。然后,基于网络设备/应用程序与各种其他网络应用程序之间的依赖关系(例如,通过网络拓扑被指示为受影响的应用程序)来生成网络设备/应用程序的影响评分。这将在下文更详细地描述。
管理服务器202还可包含能够使管理服务器202与存储的数据库、另一计算设备或服务器、一个或多个远程设备、其它应用程序服务器和/或任何其它合适的电子设备通信的通信接口224。在一些实施例中,通信接口224能够使管理服务器202与网络210(例如,私用网络)上的其它电子设备通信。管理服务器202还可包括输入/输出(I/O)设备和/或端口226,例如,用于实现与键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等的连接。
管理服务器202可以与许多网络设备204(1-X)通信。每个网络设备可以包括存储指令的存储器228(例如,计算机可读存储介质),所述指令在由网络设备的处理器230执行时允许网络设备执行其预期功能,并且通常将包括操作***232,该操作***为该网络设备的一般管理和操作提供可执行程序指令。各种网络设备204(1-X)的操作***以及一般功能的合适实施方式是已知或商业上可获得的,并且容易由本领域普通技术人员实施,尤其是根据本文的公开内容实施。
类似于管理服务器202的存储器212,存储器228可以包括操作***和许多应用程序。根据本公开的实施例,网络设备204(1-X)中的每个网络设备可以执行单独的一组应用程序和/或提供对单独的一组资源的访问。例如,第一网络设备可以包括防火墙设备,而第二网络设备可以包括数据库服务器。在此实例中,第一网络设备可以包括被配置成阻止满足指定条件的网络通信的软件,而第二网络设备可以包括被配置成执行数据库功能的软件。
管理服务器202可以与许多网络应用程序206(A-N)通信。可以执行网络应用程序206以便执行关于网络210的某些服务。在一些实施例中,网络应用程序可以包括在分布式计算***(例如,云计算***)上运行的分布式程序。在此类***中,单个应用程序可以在整个网络中分布的许多服务器上实例化。每个网络应用程序的多个实例可在任何给定时间执行。
图3描绘了可以根据本公开的实施例生成的网络拓扑的说明性实例。图3被描绘为许多数据库表302、304和306的部分。在一些实施例中,网络拓扑可以存储在任何合适类型的数据库***(例如,关系数据库***)中。
根据至少一些实施例,数据库表可以包括两个网络组件之间的相互作用的指示。在一些实施例中,与两个网络组件(例如,网络应用程序和/或网络设备)相关联的数据字段可以包括值,该值表示在预定时间段内(例如,在过去30天内)在两个网络组件之间发生的交互的次数。在一些实施例中,这些数据字段可以在获得新信息时被动态更新(例如,发生新的交互)。
根据至少一些实施例,数据库表的行和列可以用来表示不同的事物。例如,在一些实施例中,数据库表的行可以表示(与交易相关的)通信被路由到的网络组件,而同一数据库表的列可以表示通信起源于的网络组件。在此实例中,特定行中的数据字段可以用值来填充,该值表示在过去30天内由与列相关联的网络组件对与该行相关联的网络组件执行的交易的次数。
在一些实施例中,可以使用多个数据库表来表示单个网络拓扑。例如,在图3中,使用三个单独的数据库表来表示网络拓扑。在此实例中,表302可以表示网络应用程序发起的与各种网络设备的交互,表304可以表示各种网络应用程序之间的交互,表306可以表示网络设备发起的与各种网络应用程序的交易。管理服务器可以监测网络内路由的通信。与每个消息的发送者和接收者相关联的IP地址可以映射到特定网络组件。然后每个消息的指示可以记录在其各自的数据库表中。此外,数据库表中的信息可以在超过预定年龄时被删除。
应当注意的是,虽然在图3中描绘了许多数据库表(302、304和306),但在一些实施例中,网络拓扑可以替代地存储在单个数据库中。例如,各种网络组件(网络应用程序和网络设备)之间的交互指示可以存储在单个数据库中。在一些实施例中,正值和负值可以用来表示依赖关系(例如,由通信方向表示)。例如,存储在与具有应用程序A的行和具有应用程序B的列相关联的字段中的值23可以指示已从应用程序B向应用程序A传递了23条消息,而值-23可以表示已从应用程序A向应用程序B传递了23条消息。
根据至少一些实施例,网络拓扑可以用来识别各种网络组件之间的依赖关系。例如,当对应数据字段中的值高于预定阈值时,***可以识别两个组件之间存在的依赖关系。换句话说,当在两个网络组件之间发生足够大数量的交易时,两个网络组件之间可能存在依赖关系。可以识别依赖关系,使得与交易相关的通信起源于的网络组件依赖于这些通信被路由到的网络组件。换句话说,在上面给出的实例中,与数据字段的列相关联的网络组件依赖于与该数据字段的行相关联的网络组件。
为了评估特定网络组件对整个网络的影响,***可以识别依赖于该特定网络组件的所有网络组件。然后,***可以识别依赖于这些网络组件的所有网络组件。可以重复此操作,直到已经创建了与特定网络组件相关的完整的依赖关系映射。例如,在选择要确定对网络造成影响的特定网络设备时,***可以从表302识别依赖于该网络设备的许多网络应用程序。在本实例中,***接着可以从数据库表304识别在前一步骤中识别的网络应用程序中的每一个。可以重复此步骤,直到无法识别其他网络应用程序。继续该实例,***可以从数据库表306识别依赖于在前一步骤中识别的网络应用程序的任何网络设备。这样,***可以识别依赖于特定网络组件的每个网络组件。在一些实施例中,可以给许多网络组件分配影响评分(表示关键性或重要性级别)。可基于与依赖于特定网络组件的每个网络组件相关联的影响评分,计算该特定网络组件的影响评分。
图4描绘了流程图,其说明了生成网络拓扑并根据所生成的网络拓扑确定特定网络组件的影响评分的过程。在图4中,网络402可以包括许多网络组件,其包括网络设备和网络应用程序。管理服务器404可以与网络402通信。在一些实施例中,管理服务器404可以是图2中描绘的示例性管理服务器202。
根据本公开的实施例,在406处,管理服务器404可以监测网络402的各种网络组件之间的网络交互。在一些实施例中,管理服务器404可检索各种日志和配置文件以识别这些交易。例如,管理服务器404可以评估防火墙日志以识别网络组件之间的交易。
当检测到与交易有关的通信时,在408处,管理服务器404可以确定通信所指向的IP地址,以及通信起源于的IP地址。管理服务器404随后可以在410处识别与前一步骤中识别的每个IP地址相关联的网络组件。在一些实施例中,可以将IP地址分配给运行一个或多个网络应用程序的服务器或主机。在此情形中,***可以从服务器检索服务器日志,以确定通信起源于哪个网络应用程序。
在412处,可以存储关于每个所识别的交易的指示作为网络拓扑。例如,如图3中所描绘,与两个网络组件相关联的数据字段值可以在每次检测到这两个组件之间的交易时递增。在一些实施例中,只有最近的交易可以反映在网络拓扑中,其用于在网络的结构被更新时自动(例如,没有用户交互)更新网络的拓扑。例如,可以更新一组主表以反映在各种网络组件之间检测到的每个交易。在此实例中,可以通过将一组主表的当前版本与来自前一日期的一组主表的版本(例如,快照)进行比较来生成网络拓扑。以此方式,可以制作网络拓扑以反映一组主表的两个版本之间的差异。在一些实施例中,网络组件之间的每个交易可以与日期和/或时间相关联。
一旦已经生成网络拓扑,管理服务器404就可以基于所生成的网络拓扑确定对特定网络组件的更新将对整个网络产生的影响。在一些实施例中,在414处,当管理服务器404接收包括网络组件的标识符的请求时,可以发起此操作。在接收此请求时,管理服务器404可以在416处启动影响分析。
为了对特定网络组件执行影响分析,管理服务器404可以识别依赖于该特定网络组件的所有网络组件。管理服务器404然后可以识别依赖于这些已识别网络组件中的每个网络组件的所有网络组件。在一些实施例中,为了确定两个网络组件是否存在依赖关系,***可以确定与这两个网络组件相关联的数据值是否高于阈值。可以重复此操作,直到已经创建了与特定网络组件相关的完整的依赖关系映射。然后,管理服务器404可以识别依赖于在先前步骤中识别的网络应用程序的任何网络设备。
在一些实施例中,可以为网络中的至少一些网络组件分配影响评分。最初,网络的至少一些网络组件的影响评分可以由***管理员或其他用户分配。例如,***管理员可以识别许多任务关键型网络组件。这些任务关键型网络组件中的每一个都可以被分配可能的最高影响评分。在影响分析期间,在418处,可基于与取决于网络组件的每个网络组件相关联的影响评分针对以前尚未分配影响评分的该网络组件确定影响评分。这将在下文关于图5更详细地描述。
图5描绘了根据至少一些实施例生成网络组件的影响评分的过程。在图5中,已经针对网络设备A识别了许多应用程序依赖关系(在502处描绘)。此外,在图中通过箭头(例如504)描绘了许多依赖关系。例如,如图中所描绘的,网络应用程序B和网络应用程序C都依赖于网络设备A。网络应用程序D和网络应用程序E都依赖于网络应用程序B。网络应用程序G和网络应用程序H都依赖于网络应用程序D。网络设备B依赖于网络应用程序F,网络应用程序F还依赖于网络应用程序C。
最初,可以将影响评分分配给网络中的许多网络组件。在一些实施例中,这可以由管理员或其他用户完成。例如,最初可以为网络应用程序H(506)分配影响评分100(满分100),以表示它是任务关键型网络组件。此外,最初可以为网络设备B分配影响评分80。在本实例中,由于网络应用程序H依赖于网络应用程序D,因此可以确定也为网络应用程序D分配影响评分100。在一些实施例中,可以基于关于依赖关系存储的交易数目加权或以其他方式调整影响评分。
可以基于依赖于网络组件的网络组件以及提供与正在被评估的网络组件相同功能或用于相同目的的其他网络组件的数目计算每个网络组件的影响评分。例如,在所描绘的实例中,网络应用程序D依赖于网络应用程序B,并具有影响评分100。然而,网络应用程序D也依赖于网络应用程序A。如果网络应用程序A提供与网络应用程序B相同的功能或用于相同目的,则网络应用程序A和网络应用程序B的影响评分都可以被确定为低于网络应用程序D的影响评分(因为两个网络组件都不重要)。在一些实施例中,特定网络组件的带宽(即,可以由该特定网络组件处理的请求的数量)可以用来调整分配给该网络组件的影响评分。例如,如果指示依赖于网络拓扑中的网络组件的一组数据字段的总和明显小于该网络组件的带宽,那么该网络组件的影响评分可能会因为网络组件未被充分利用而向下调整。例如,如果网络设备的带宽允许其每分钟处理50个请求,且网络拓扑表示其在最后一天处理了32个请求,那么该网络设备的影响评分可能会向下调整。另一方面,如果有两个类似的网络设备(例如,提供相同功能或用于同样目的的网络设备),他们各自具有能够每分钟处理50个请求的带宽,且网络拓扑指示了在最后一天每分钟接收了平均70个请求,那么该网络设备的影响评分可能会上调,因为损失一个设备会导致第二个设备无法处理所接收的请求的数量。
在一些实施例中,多个网络组件可以依赖于单个网络组件。例如,在所描绘的图中,网络应用程序B和网络应用程序C都依赖于网络设备A。在一些实施例中,可以为网络组件分配最高影响评分,该最高影响评分被分配给依赖于该网络组件的网络组件。例如,如果已给网络应用程序B分配影响评分50,给网络应用程序C分配影响评分80,则可以为网络设备A分配影响评分80。在一些实施例中,网络组件的影响评分可以基于依赖于该网络组件的其他网络组件的数目来调整。例如,如果大量网络组件依赖于特定网络组件,那么与该特定网络组件相关联的影响评分可以向上调整。
图6描绘了流程图,其说明了生成网络拓扑并基于该网络拓扑确定特定网络组件的影响评分的过程。过程600(或本文中描述的任何其他过程或其变形和/或其组合)的一些或全部可以在配置有可执行指令的一个或多个计算机***的控制下执行,并且可以实施为代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。根据至少一个实施例,图6的过程600可以由至少图2所描绘的一个或多个管理服务器202来执行。代码可以存储在计算机可读存储介质上,例如呈包含能够由一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读存储介质可以是非暂时性的。
在至少一些实施例中,当管理服务器接收到交易的指示时,过程600可以从602开始。在一些实施例中,可以通过从第一网络组件发送到第二网络组件的通信来指示交易。在一些实施例中,可以从由许多网络设备维护的数据日志识别交易。
在604处,管理服务器可以识别与已识别的交易相关联的一个或多个端点(例如,IP地址)。例如,交易可以与发起端点相关联,从该发起端点接收执行交易的请求。
在606处,已识别的端点可以映射到特定网络组件。例如,管理服务器可以查询所识别的端点处的服务器以请求与交易有关的信息。服务器可以使用在服务器上运行的网络应用程序的标识符来响应此请求。
在608处,管理服务器可以存储关于所确定的网络组件的依赖关系的指示。在一些实施例中,管理服务器可以针对关于相关网络组件识别的每个交易递增计数器或数据字段值。在一些实施例中,与发起端点相关联的网络组件可以被确定为依赖于与接收端点相关联的网络组件。
在610处,可以基于以所描述的方式存储的多个依赖关系来生成网络拓扑。在一些实施例中,网络拓扑可以包括存储在数据存储区中的各种网络组件之间的许多交易记录。例如,网络拓扑可以包括数据库表中存储的许多数据字段。
在612处,管理服务器可以接收将执行影响分析过程的网络组件的指示。在一些实施例中,这可以包括由用户(例如,管理员)提交的请求。在一些实施例中,可以自动(例如,定期)执行影响分析。例如,每天可以对许多网络组件执行影响分析。用户提交的请求可以包括网络组件标识符。
在614处,可以识别与特定网络组件有关的许多依赖型网络组件。可以基于记录的各种网络组件之间的交易,识别许多依赖型网络组件。在一些实施例中,要被视为依赖于网络组件的另一网络组件必须与该网络组件进行许多次交易。例如,只有与特定网络组件执行大于阈值数目的交易数目的网络组件可以被视为依赖于该特定网络组件。
在616处,可以为每个依赖型网络组件识别影响评分。在一些实施例中,可能已经由管理员为依赖型网络组件分配了影响评分。在一些实施例中,可能已经相对于依赖型网络组件执行了影响分析过程,以便确定该网络组件的影响评分。在一些实施例中,可以针对以前述方式识别的每个依赖型网络组件递归地执行影响分析过程。
在618处,可以基于与每个依赖型网络组件相关联的影响评分为特定网络组件生成影响评分。可以基于分配给依赖于特定网络组件的每个网络组件的影响评分来确定网络组件的影响评分。在一些实施例中,影响评分可以被确定为分配给依赖于特定网络组件的每个网络组件的影响评分的最大值或最高值。在一些实施例中,可以使用受多个因素影响的函数来确定影响评分。例如,影响评分可以受依赖于特定网络组件的其他网络组件的数目、已由特定组件执行的交易的数目、特定网络组件的带宽或任何其他合适的因素的影响。
本发明的实施例提供若干技术优点。例如,本发明的实施例使诸如网络管理员的用户能够快速确定特定网络组件的更新将对整个网络的影响。此外,与仅识别设备与设备的依赖关系的传统网络拓扑不同,本公开能够识别应用程序与设备的依赖关系。这在许多环境中很有用,其中,单个应用程序可在许多不同设备(例如,分布式计算环境)上运行。因此,本公开的实施例能够识别特定网络组件的更新将在网络上具有的业务级影响。
应理解,本发明的任何实施例都可以使用硬件(例如专用集成电路(ASIC)或现场可编程门阵列(FPGA))和/或使用计算机软件以控制逻辑的形式实施,其中所述计算机软件具有模块化的或集成方式的通用可编程处理器。如本文中所使用,处理器包含单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本公开和本文中所提供的教示,本领域的普通技术人员将知道并且了解使用硬件和硬件与软件的组合来实施本发明的实施例的其它方式和/或方法。
本申请中所描述的任何软件组件或功能可被实施为要使用例如Java、C、C++、C#、Objective-C、Swift的任何合适计算机语言或例如Perl或Python的脚本语言,使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传递,合适的介质包含随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、闪存存储器等等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序还可以使用适应于经由包含因特网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开地提供(例如,经由因特网下载)。任何此类计算机可读介质可以驻留于单个计算机产品(例如,硬盘驱动器、CD或整个计算机***)上或内,且可存在于***或网络内的不同计算机产品上或内。计算机***可以包含用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
以上描述是说明性的而不是限制性的。在所属领域的技术人员阅读了本公开后,本发明的许多变化将变得显而易见。因此,本发明的范围不应参考以上描述来确定,而是应参考待决的权利要求以及其完整范围或等效物来确定。
在不脱离本发明的范围的情况下,任何实施例的一个或多个特征可与任何其它实施例的一个或多个特征组合。
除非明确指示有相反的意思,否则“一个/种(a/an)”或“所述”的叙述旨在表示“一个/种或多个/种”。
上文所提及的所有专利、专利申请、公开案和描述都出于所有目的而以其全文引用的方式并入本文中。不承认它们是现有技术。

Claims (17)

1.一种生成网络拓扑的方法,包括:
对于与网络相关联的多个网络设备中的每个网络设备,接收所述网络设备与多个端点之间的一个或多个交易的指示;
将所述多个端点中的每个端点映射到多个网络应用程序中的网络应用程序,所述多个网络应用程序中的每个网络应用程序与应用程序影响评分相关联;
基于所述映射存储信息,所述信息指示所述多个网络设备中的每个网络设备与所述多个网络应用程序中的一个或多个网络应用程序之间的关系;
基于所存储的信息生成网络拓扑;以及
基于所生成的网络拓扑和所述应用程序影响评分,确定所述多个网络设备中的每个网络设备的设备影响评分。
2.根据权利要求1所述的方法,其中所述设备影响评分还基于所述网络设备与每个端点之间的交易的数目进行加权。
3.根据权利要求1所述的方法,还包括:
获得在所述多个端点中的不同端点之间进行的交易的第二指示;以及
基于所述第二指示更新所存储的信息。
4.根据权利要求1所述的方法,其中所述网络设备与多个端点之间的一个或多个交易的指示包括所述交易的发起者。
5.根据权利要求1所述的方法,其中每个端点包括互联网协议(IP)地址。
6.根据权利要求1所述的方法,其中所述多个网络应用程序包括安装在所述网络内的一组网络服务器上的分布式程序。
7.根据权利要求6所述的方法,其中所述一组网络服务器包括分布式计算***。
8.根据权利要求1所述的方法,还包括至少部分地基于与所述多个网络设备中的许多网络设备相关联的影响评分来关于所述许多网络设备执行至少一个操作。
9.根据权利要求8所述的方法,其中关于许多网络设备执行所述至少一个操作包括在确定与所述许多网络设备相关联的影响评分低于阈值影响评分值时停用所述许多网络设备。
10.根据权利要求1所述的方法,其中所述多个网络设备中的每个网络设备的所述设备影响评分表示所述多个网络设备中的每个网络设备的关键性等级。
11.一种设备,包括:
一个或多个处理器;以及
包含指令的存储器,所述指令在由所述一个或多个处理器执行时使得服务器设备:
对于网络中涉及的多个设备中的每个设备,接收所述设备与多个端点之间的至少一个通信的指示;
将所述多个端点中的每个端点映射到多个应用程序中的应用程序,所述多个应用程序中的每个应用程序与应用程序影响评分相关联;
基于所述映射存储指示每个设备与一个或多个应用程序之间的关系的信息;
基于所存储的信息生成网络拓扑;以及
基于所生成的网络拓扑和所述应用程序影响评分,确定所述多个设备中的每个设备的设备影响评分。
12.根据权利要求1所述的方法,其中所述多个应用程序中的每个应用程序的应用程序影响评分表示所述多个应用程序中的每个应用程序的关键性等级。
13.根据权利要求1所述的方法,其中所述网络拓扑包括数据库表中存储的许多数据字段。
14.根据权利要求13所述的方法,其中所述许多数据字段用值填充,所述值反映在两个网络组件之间执行的交易的数目。
15.根据权利要求13所述的方法,其中所述数据库表的行或列中的至少一个表示发起网络组件,并且所述数据库表的行或列中的另一个表示接收网络组件。
16.根据权利要求1所述的方法,其中定期确定所述多个设备中的每个设备的所述设备影响评分。
17.根据权利要求1所述的方法,其中在从用户接收请求时,确定所述多个设备中的每个设备的所述设备影响评分。
CN201780085529.XA 2017-02-03 2017-02-03 用于检测网络拓扑的***和方法 Withdrawn CN110249588A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/016547 WO2018144019A1 (en) 2017-02-03 2017-02-03 System and method for detecting network topology

Publications (1)

Publication Number Publication Date
CN110249588A true CN110249588A (zh) 2019-09-17

Family

ID=63041211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085529.XA Withdrawn CN110249588A (zh) 2017-02-03 2017-02-03 用于检测网络拓扑的***和方法

Country Status (5)

Country Link
US (1) US11038766B2 (zh)
CN (1) CN110249588A (zh)
DE (1) DE112017006993T5 (zh)
GB (1) GB2573970B (zh)
WO (1) WO2018144019A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221704A (zh) * 2019-12-30 2020-06-02 北京云星宇交通科技股份有限公司 一种确定办公管理应用***运行状态的方法及***
CN111858254A (zh) * 2020-07-24 2020-10-30 中国工商银行股份有限公司 数据的处理方法、装置、计算设备和介质
CN113792008A (zh) * 2021-08-31 2021-12-14 北京百度网讯科技有限公司 网络拓扑结构的获取方法、装置、电子设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408232B (zh) * 2018-10-17 2020-08-14 山东易通发展集团有限公司 一种基于交易流程的组件化总线调用执行***
US11579913B2 (en) * 2019-12-18 2023-02-14 Vmware, Inc. System and method for optimizing network topology in a virtual computing environment
CN113468700B (zh) * 2021-07-08 2024-07-02 安天科技集团股份有限公司 拓扑信息识别方法、装置、计算设备及存储介质
US11831487B2 (en) 2022-02-03 2023-11-28 Visa International Service Association System, method, and computer program product for diagnosing faulty components in networked computer systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144961A (en) 1995-08-31 2000-11-07 Compuware Corporation Method and system for non-intrusive measurement of transaction response times on a network
US7512649B2 (en) * 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US8069225B2 (en) * 2003-04-14 2011-11-29 Riverbed Technology, Inc. Transparent client-server transaction accelerator
US20170116552A1 (en) * 2010-06-04 2017-04-27 Sapience Analytics Private Limited System and Method to Measure, Aggregate and Analyze Exact Effort and Time Productivity
EP2583211B1 (en) * 2010-06-15 2020-04-15 Oracle International Corporation Virtual computing infrastructure
US8850588B2 (en) * 2012-05-01 2014-09-30 Taasera, Inc. Systems and methods for providing mobile security based on dynamic attestation
WO2014145539A2 (en) 2013-03-15 2014-09-18 Stephen Sohn Method and system for protective distribution system (pds) and infrastructure protection and management
JP2015041976A (ja) * 2013-08-23 2015-03-02 株式会社日立製作所 非常時の迂回経路計算方法
US20150319256A1 (en) * 2014-03-05 2015-11-05 Glimmerglass Networks, Inc. Implicit relationship discovery based on network activity profile similarities
US10681177B2 (en) * 2017-04-18 2020-06-09 Igor Tarasenko Self-driving content distribution

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221704A (zh) * 2019-12-30 2020-06-02 北京云星宇交通科技股份有限公司 一种确定办公管理应用***运行状态的方法及***
CN111221704B (zh) * 2019-12-30 2023-06-30 北京云星宇交通科技股份有限公司 一种确定办公管理应用***运行状态的方法及***
CN111858254A (zh) * 2020-07-24 2020-10-30 中国工商银行股份有限公司 数据的处理方法、装置、计算设备和介质
CN111858254B (zh) * 2020-07-24 2023-08-22 中国工商银行股份有限公司 数据的处理方法、装置、计算设备和介质
CN113792008A (zh) * 2021-08-31 2021-12-14 北京百度网讯科技有限公司 网络拓扑结构的获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US11038766B2 (en) 2021-06-15
WO2018144019A1 (en) 2018-08-09
DE112017006993T5 (de) 2019-10-31
US20200112485A1 (en) 2020-04-09
GB2573970B (en) 2022-03-23
GB2573970A (en) 2019-11-20
WO2018144019A9 (en) 2020-05-07
GB201912594D0 (en) 2019-10-16

Similar Documents

Publication Publication Date Title
CN110249588A (zh) 用于检测网络拓扑的***和方法
US10063599B2 (en) Controlling registration floods in VOIP networks via DNS
US20180167496A1 (en) Management Of Network Configuration And Address Provisioning
US8856800B2 (en) Service-level enterprise service bus load balancing
EP2590113B1 (en) On demand multi-objective network optimization
US8489733B2 (en) Automatic enterprise service bus deployment at the level of individual services
CN106657287A (zh) 一种数据访问方法及***
US20200233773A1 (en) Methods and systems for status determination
CN107534570A (zh) 虚拟化网络功能监控
CN111935752B (zh) 一种网关接入方法、装置、计算机设备和存储介质
CN109412878A (zh) 多租户业务接入实现方法、装置及电子设备
CN106470184A (zh) 安全认证方法、装置及***
TW201419809A (zh) 一種具高度適應***談管理機制之遠端管理系統
CN112698838B (zh) 多云容器部署***及其容器部署方法
CN109151092B (zh) 一种域名解析方法
US20220021638A1 (en) Efficiently mapping a distributed resource to a virtual network
CN106874371A (zh) 一种数据处理方法及装置
CN110022323A (zh) 一种基于WebSocket与Redux的跨终端实时交互的方法和***
CN112800415A (zh) 一种基于贪婪算法模型的弱口令检测方法和***
US7647401B1 (en) System and method for managing resources of a network load balancer via use of a presence server
US10445080B2 (en) Methods for adaptive placement of applications and devices thereof
US11784882B2 (en) Configuration monitoring in a cloud platform
CN114793244A (zh) 一种区块链的资源处理方法、装置、设备和介质
CN108471375A (zh) 一种消息处理方法、装置及终端
CN116996481B (zh) 直播数据获取方法、装置、电子设备和存储介质

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190917

WW01 Invention patent application withdrawn after publication