首页> 中国专利> 无拓扑信息的网络性能评估

无拓扑信息的网络性能评估

摘要

描述了用于网络性能评估的技术。技术可以包括收集与多个端点对中的端点对的端点之间的探测流量的传输有关的初始测量,并将所述多个端点聚类成多个端点组。该方法还可以包括确定多个端点组对,以及基于测量与多个端点组对中的端点组内的端点之间的流量有关的性能度量来生成网络性能评估。

著录项

说明书

背景技术

本发明涉及确定网络属性,并且更具体地,涉及确定具有未知属性的网络中的网络性能,诸如未知网络拓扑。

在包括用于分布式应用的基于云的网络的许多网络中,网络拓扑和其他网络性能属性仅为网络运营商所知。出于专有保护和安全考虑,网络运营商可以保持网络拓扑的机密。结果,网络拓扑对于在网络上部署应用或其它服务的商业单元和/或客户来说是未知的或看起来任意的。这可能导致在网络上运行的应用对网络的次优化利用。

发明内容

根据本发明的一个实施例,提供了一种网络性能评估的方法。该方法包括收集与多个端点对中端点对的端点之间的探测流量(probetraffic)的传输有关的初始测量,其中所述多个端点对中的端点是从网络中的多个端点中选择的,基于所收集的初始测量将所述多个端点聚类成多个端点组,基于所述多个端点组来确定多个端点组对,以及基于测量与在多个端点组对中跨端点组的端点之间注入的流量有关的性能度量来生成网络性能评估。应用程序或探测流量的源或宿(sink)称为端点。

根据本发明的另一实施例,提供了一种用于提供网络性能评估的系统。该系统可以包括一个或多个计算机处理器和包含程序的存储器,当由一个或多个计算机处理器执行该程序时,该程序执行操作。该操作包括收集与多个端点对中端点对的端点之间的探测流量的传输有关的初始测量,其中所述多个端点对中的端点是从网络中的多个端点中选择的,基于所收集的初始测量将所述多个端点聚类成多个端点组,基于所述多个端点组来确定多个端点组对,以及基于测量与在多个端点组对中跨端点组的端点之间注入的流量的性能来生成网络性能评估。端点分组信息可用于在初始测量收集期间以及在端点的分组已经收敛之后加速数据收集。多个端点组在其在连续测量步骤中没有改变之后被认为是最终的。

根据本发明的另一实施例,提供了一种用于网络性能评估的计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的计算机可读程序代码,该计算机可读程序代码可由一个或多个计算机处理器执行以执行操作。该操作包括收集与多个端点对中端点对的端点之间的探测流量的传输有关的初始测量,其中所述多个端点对中的端点是从网络中的多个端点中选择的,基于所收集的初始测量将所述多个端点聚类成多个端点组,基于所述多个端点组来确定多个端点组对,以及基于监视在多个端点组对中跨端点组的端点之间的流量流来生成网络性能评估。

附图说明

图1示出了根据一个实施例的网络。

图2描绘了根据一个实施例的端点相关表。

图3示出了根据一个实施例的具有多个端点组的网络。

图4示出了根据一个实施例的用于促进网络性能评估的服务器的框图。

图5示出了根据一个实施例的用于生成网络性能评估的方法。

图6和7示出了根据一个实施例的用于生成网络性能评估的附加方法。

图8示出了根据一个实施例的利用网络性能评估的方法。

图9示出了根据一个实施例的用于生成网络性能评估的附加方法。

具体实施方式

本文描述的实施例提供了网络的用户可以确定网络的属性的方式,其中网络拓扑不是由网络提供商提供的。为了使利用网络的用户(例如,营业单位、客户等)理解部署在网络上的服务的性能,用户可能希望也理解网络的性能和其它特性。当该信息不是公开可用的或由网络提供商提供时,用户可能不完全理解或优化部署在网络上的服务和应用的性能。例如,在诸如云网络之类的网络上执行的应用的体验质量(QoE)取决于由底层网络提供的服务质量(QoS)。

随着网络规模的增加,传统的网络性能评估变得更加耗时,因为端点的数目以二次方增加了需要评估的端点之间的网络路径的数目。当网络的拓扑未知时,这种评估甚至更加困难。网络拓扑可用于将端点分组在一起成为端点组,以减少准确评估网络所需的测量次数。然而,在一些网络中(例如,在云基础设施中),网络拓扑对于用户是不可见的。本文描述的实施例提供了一种方法和系统,以减少需要从网络收集的测量集合,而无需知道网络拓扑。这里描述的这些解决方案降低了准确估计网络性能所需的时间要求和测量次数。

如这里所述,通过将表现出类似网络性能的端点集合收集成组,并测量端点组对之间而不是每个端点对之间的网络性能,减少了所需测量的次数。这里描述的性能测量既用于创建表现出类似性能的端点组,又用于评估网络的性能。

本文描述的实施例还提供了用于在将应用部署到网络上之前和/或当在用于应用部署的替代联网解决方案之间进行选择时定量地评估网络的性能的技术,从而允许用户确保所部署的应用的适当QoS。评估给定网络(例如,在云计算环境内)是否能够支持给定应用有助于识别和解决可能不利地影响在网络上运行的任何给定应用或服务的QoE的联网问题。例如,如果在网络上执行的应用组件(例如,虚拟机(VM)/容器)具有差的性能(例如,差的连通性),则本文描述的方法和系统可被用于确定用于评估问题的原因并改进应用的性能的方法。另外,本文描述了编排网络中的应用元素(进程、容器、VM、服务器)的部署以支持给定应用的方法和系统。

现在转到图1,其示出了包括网络102的示例性网络系统100。在一些示例中,可以通过将端点放置到网络102中来测量网络性能。例如,如图1所示,端点110-117可以被放置在网络102中的各个点中。端点可以被插入在应用组件将被放置的点处。在一些示例中,探测流量被注入在端点之间,并且被引导以遵循与要在网络上部署的应用相关的流量模式。流量模式是指端点对交换探测的方式。流量模式确定了源的集合和目的地端点以及它们注入探测流量的时间。然后,在其他网络性能度量中测量该探测流量,以获得诸如吞吐量、分组延迟、分组抖动和分组丢失等关键网络性能指标。

存在许多可以用于收集网络性能度量和数据的示例流量模式。在一些示例中,给定的流量模式确定在给定的时间运用或测量哪个端点对,诸如端点110-117之间的端点对。在一些示例中,同时运用多个对。例如,在收集网络性能度量/数据期间,可以收集并发的端到端性能数据,使得每个端点注入确切地去往一个其他端点的探测流量,从而确保在具有“n”个端点的网络中,同时注入n个流并且每个端点从一个其他端点发送和接收。在一些示例中,可以使用环形流量模式,其中端点在环中排序并且环中的邻居同时交换探测流量。所述环形流量模式可以用于深度学习应用的网络性能评估。此外,在收集网络性能度量/数据期间,可以生成随机环,从而有效地运用不同的配对或者具有确定性地覆盖整个网络的步长。在一些示例中,可以使用多对多流量模式,其中每个端点与每个其他端点交换探测流量。多对多流量模式可用于高性能计算应用的网络性能评估。

随着诸如网络102的网络的增长,基于测量的解决方案遭受缩放问题;待测试端点的组合可能迅速上升,并且显著增加了用于测量网络性能的时间和资源成本。

如这里所描述的,提供了用于诸如网络102的网络和诸如端点110-117的端点集合的方法和系统,其确定要利用探测流量来测量的端点对的精简集合。具体地,一种用于性能评估的方法可以包括收集与诸如端点110和117之类的端点之间的探测流量的传输相关的初始测量。如图1所示,该评估可以依赖于在多个端点对中的端点对之间注入探测流量,所述多个端点对遵循诸如环形流量模式或多对多模式之类的流量模式。在一些示例中,流量模式可以包括每个端点与每个其他端点配对。例如,端点110可以与端点111配对作为第一对,与端点112配对作为第二对,并且分别与端点113和117配对作为第三到第七对。以相同的方式,端点111可以与端点112和端点113-117配对,作为第九到第15对。在一个示例中,由图1中所示的端点形成的多个端点对包括端点之间的28个端点对。在一些示例中,初始测量可以存储在如关于图2所讨论的端点相关表中。

在一些示例中,可以以多种方式使用多个步骤来逐步地构造端点相关矩阵。一种示例性方式是在每一步骤处按照环形流量模式收集端点对之间的测量。在环形流量模式中,端点被置于环中,并且每个端点同时探测其在右侧的邻居。因此,在具有“n”个端点的每个步骤,总共n对端点被探测。对于相关矩阵中的每个对,在每个步骤收集的性能数据可以被记录。如果在多个步骤中收集与给定的端点对有关的多个测量,则诸如这些测量的平均值或中值之类的代表性数字可作为给定端点对的数据被输入到矩阵中。在另一示例中,通过随机选择端点的小子集并且在每个步骤处收集遵循多对多流量模式的测量来构造端点相关矩阵。在多对多流量模式中,每个端点同时探测网络中的每个其他端点。在每个步骤中使用的端点子集的大小可以基于网络的规模来预先定义,并且该大小可以是整个网络。在每次迭代中,随机选择的子集可以用于收集端点之间的数据。因此,在具有n个端点的每个步骤处,总共探测((n)x(n-1))个端点对。如果在多个步骤中收集与给定的端点对有关的多个测量,则诸如这些测量的平均值或中值之类的代表性数字可作为给定端点对的数据被输入到矩阵中。当相关矩阵中的每个端点对都有条目时,可以停止测量收集。或者,测量收集可以继续预定数量的步骤。

另外,在两个端点的性能数据中,指示了在所有数据收集步骤中,两个端点的性能是相似的。这种相似性通常是由于两个端点之间的拓扑接近性。确定两个端点之间的这种相似性的示例方式是比较相关矩阵中的两个端点的行(或列)。相关矩阵的两行可以以多种方式进行比较。一种示例性方式是首先确定行之间的匹配;即,如果两行中的第i列值都在阈值内,则第i值被认为是匹配。其次,对于i的所有值,从第一列到最后一列,可以对匹配的数目进行计数。相关矩阵中的数据可用于确定多个端点之间的相似性,以确定矩阵中具有相似行(或列)的端点的子集或聚类。

在一些示例中,环形流量模式可以用于收集初始测量。当执行环形流量模式的迭代生成时,更多端点对之间的性能数据可存储在端点相关表中。当基于相关性的估计的端点分组在迭代之间不改变时;(即,当组收敛时或当达到预定数量的迭代时),可以停止测量的初始收集,并且结束端点组。在预定数量的“m”次迭代之后,理解如何从所收集的数据收集在环形流量模式下的性能以及端点组。在一些示例中,环流量模式的迭代可以包括测量随机环以及测量仔细选择的环的迭代次数,所述仔细选择的环利用端点分组信息(例如,以确定从拓扑“最佳”或“最差”环可以获得多少吞吐量)。类似地,多对多流量模式可以用于在多次迭代上将端点分组。

用于性能评估的方法还可以包括基于所收集的初始测量,将多个端点(端点110-117)聚类成多个端点组。例如,具有类似测量的端点可被置于端点组中。例如,如图1所示,端点110和111可以被聚类在一起作为端点组150,端点112和113作为端点组152,端点114和115作为端点组154,端点117和118作为端点组156。

用于性能评估的方法还可以包括基于多个端点组确定多个端点组对,以及基于与跨越多个端点组对中的端点组在端点之间注入的探测流量有关的性能度量来生成网络性能评估,如本文进一步描述的并且关于图3。

图2描绘了根据一个实施例的端点相关表。端点相关表可以包括矩阵、表或用于存储所收集的数据的任何其他组织结构。如上文关于图1所提及,可收集端点的初始测量。在一些示例中,探测流量可以在每个端点对的两个端点之间传输,并且探测流量的测量结果可以存储在端点相关表200中。例如,从端点110到端点111的探测流量的测量结果可以存储在表200的行A列B中。类似地,从端点111到110的另一个方向可以存储在行B列A中,对于双向度量,行A列B和行B列A中的值将是相同的。每个收集的端点对的测量结果可以存储在表200中。在一些示例中,测量可以包括探测流量的吞吐量,其中每个端点对的吞吐量被存储在端点相关表200中。在其他示例中,初始测量可以包括对多个网络性能参数中的一个或多个的测量,所述网络性能参数诸如使用诸如环形或多对多之类的流量模式收集的分组延迟、抖动和分组丢失测量。在一些示例中,如本文所述,端点相关表可用于将多个端点聚类到端点组中。

例如,如图2所示,相关矩阵中对应于端点110和111的行在匹配列(除A和B之外的所有列)中具有相似的吞吐量值(如图2的行A和B以及列A和B所示)。由于这些端点在匹配列(除了列A和列B)的行A和B中具有相似的吞吐量值,因此可以假设它们处于网络中的相似位置,例如处于相同的数据中心中或在数据中心中的相同机架上。因此,端点110和111可被聚类到端点组150中。图2中所示的每个剩余测量可用于将剩余端点聚类到端点组中。这些端点组可以基于初步测量来估计、在收集更多初始测量时更新、和/或在已经收集足够的数据以完成分组之后或在完成特定数量的初始测量迭代之后完成。在一些示例中,可以连续地收集初始测量以在进行的基础上更新网络性能评估。

图3示出了根据一个实施例的具有多个端点组的网络。端点组150-156用于生成网络性能评估。在一些示例中,代表性端点可从每个端点组中选择。例如,端点110可以选自端点组150,端点112可以选自端点组152,端点114可以选自端点组154,并且端点116可以选自端点组156。在一些示例中,可以在每个所选择的代表端点之间传输探测流量,诸如探测流量302-312。这允许在不必在每对端点110-117之间发送探测流量的情况下生成网络性能评估。也可以通过在组中的端点之间分布探测流量的源或宿来使用组中的所有端点。

图4示出了根据一个实施例的用于促进网络性能评估的服务器的框图。如所示,布置400可包括被实现为计算机401的服务器,该服务器被配置成执行网络系统100的功能并执行本文所述的方法。计算机401以通用计算设备的形式示出。计算机401的组件可以包括但不限于一个或多个处理器或处理单元405、系统存储器410、存储系统420、网络接口430以及将包括系统存储器410和存储系统420的各种系统组件耦合到处理器405的总线450,以及网络接口430和各种输入/输出组件。在其它实施例中,布置400是分布式的,并且包括通过有线或无线联网连接的多个离散计算设备。

总线450表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。

计算机401通常包括各种计算机系统可读介质。这样的介质可以是可由计算机401访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。

系统存储器410可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)和/或高速缓存存储器。计算机401还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。在一些示例中,存储系统420可以被包括作为存储器410的一部分,并且通常可以为联网计算设备提供非易失性存储器,并且可以包括一个或多个不同的存储元件,诸如闪存、硬盘驱动器、固态驱动器、光学存储设备和/或磁存储设备。例如,存储系统420可以被提供用于从不可移动、非易失性磁介质(未示出并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线550。存储装置420可以包括用于存储端点相关数据421(例如,端点相关表200)的介质。存储系统420还可以包括网络评估数据422、评估参数423以及与编程模块415的运行相关的其他数据。存储在存储系统420中的信息可由此处所述的程序模块415更新和访问。

存储器410可以包括多个程序模块415,用于执行与这里描述的网络性能评估相关的各种功能。模块415通常包括可由一个或多个处理器405执行的程序代码。如图所示,模块415包括网络交互模块411、端点模块412和评估模块413。

模块415还可以彼此交互并且与存储系统420交互以执行某些功能。例如,网络交互模块411可以被配置为确定多个或一组第一端点。在一些示例中,网络交互模块411可以充当被配置为注入网络探测流量的多个代理组件的控制器。在一些示例中,多个代理可以被体现为端点模块412和/或由其执行。例如,如图1所示,网络交互模块411可以将端点110-117确定或识别为网络探测流量的相关源或宿。网络交互模块411还可以与端点模块412相结合地收集与多个端点对的端点对的端点之间的探测流量的传输有关的初始测量,并且将所收集的数据存储在端点相关数据421中。例如,如图1所示,网络交互模块411结合端点模块412在每个端点对(例如,端点110-端点111、端点110-端点112、…等)之间传输探测流量。在一些示例中,多个端点对的端点可以从网络中的多个端点中选择。例如,网络交互模块411可以从较大的端点集合中确定端点集合或多个端点,例如网络102中的端点110-117。在一些示例中,端点可以包括应用或服务被部署或将被部署的点。

此外,在一个示例中,网络交互模块411可以被配置为进一步在每个端点对的两个端点之间发送探测流量,测量探测流量的吞吐量,并且将每个端点对的吞吐量值存储在端点相关表中。例如,网络交互模块411可以在如图1所示的端点110-117中的每一个之间发送探测流量,测量吞吐量并将吞吐量存储在表200中。在一些示例中,网络交互模块411结合端点模块412使用上述环形流量模式来传输网络探测流量。在所描述的示例中,网络探测流量被同时或并发地发送和测量。快速和多个并行测量有效地实现了端点对的数据的快速覆盖和收集。此外,多个同时测量可能揭示如果一次仅进行单个测量则可能错过的性能方面。此外,在一个示例中,探测流量可以被配置为测量网络中的端点之间的吞吐量。例如,如图1所示,探测流量可以测量从端点110到端点114的吞吐量等。在另一示例中,探测流量可以被配置为测量其他网络度量中的其他网络属性,例如分组延迟,分组抖动和/或分组丢失。

在又一示例实施例中,具有端点模块412的网络交互模块411可被配置成还在每个端点组对的两个端点之间传输探测流量,并且测量每个端点组的每个测量端点之间的一个或多个流量模式或性能评估参数。如上所述,该探测流量还可以使用多个同时和并发的探测流量注入以在端点组的多个测量端点之间进行测量的环形流量模式来发送。例如,如图3所示,网络交互模块411可以使用所选择的端点110、112、114和117在端点组150、152、154和156中的每一个之间发送探测流量。在一些实施例中,探测流量还可以被配置为测量网络属性,诸如网络吞吐量、分组延迟、分组丢失和网络抖动。在一些示例中,网络交互模块411可以使用工作负荷包作为探测流量。例如,作为应用服务的一部分发送的标准分组可以用作探测流量。网络交互模块411还可以被配置为测量在网络上运行的应用的性能参数。例如,网络交互模块411可以测量网络102上的分布式应用的QoS。在一个实施例中,如果应用的测量的性能参数低于存储在评估参数423中的性能参数阈值,则网络交互模块411可以根据网络性能评估来确定提供应用的改进的性能并且编排应用的部署以利用所确定的端点组的端点组。例如,如果应用正在使用网络102中的端点117和端点113,并且分布式应用的QoS不是最佳的,则应用组件可以被重新分布或重新部署以使用其他端点,例如端点117和端点110,其根据网络评估为分布式应用提供QoS。基于该评估,用户可以选择端点组之一中的端点来部署应用,因为组内的端点可能拓扑上接近,从而导致优化的端到端性能。网络性能评估还可以用于确定其他网络属性,例如估计网络的二分段带宽。通过避免探测端点组内的路径,来自每个组的代表性端点可以用于高效的性能监控。

415的模块还可以包括端点模块412。除了端点模块412与网络交互模块411一起充当代理组件之外,端点模块412还可以基于端点相关数据421中存储的收集的初始测量将多个端点聚类到多个端点组中。端点组可被存储为网络评估422。在一个示例中,端点模块412可从存储为端点相关数据421的端点相关表200确定在相关矩阵中具有相似数据行的多个端点。可以定义相似性的阈值以将端点聚类成组。例如,端点110和111被聚类到端点组150中。

在一个实施例中,端点模块412还可基于多个端点组来确定多个端点组对。在一个实施例中,端点模块412可从多个端点组中的每个端点组选择代表端点以用于注入探测流量,并将代表端点与多个端点组中的每个其他代表端点配对。例如,如图3所示,端点模块412可将端点116与端点114、112和110配对。端点模块412可对每个端点组150、152和154重复该过程。在一些示例中,端点组中的端点的选择可以是随机的。在另一示例中,端点对的选择可以在端点之间以循环选择进行。在一个示例中,在识别和测量一个或多个端点之后,可以在后续测量期间替代和测量其它端点。如果给定的网络性能测试仅要求端点组之间的一个流,则可以使用每个组一个端点。类似地,如果在端点组之间需要两个流,则可以使用两个端点。

模块415还可以包括评估模块413。在一个示例中,评估模块可以基于监测多个端点组对的端点组内的端点之间的流量流来生成网络性能评估。这种网络性能评估将向用户提供关于网络性能的信息,并在流量经过网络时提供网络流量的预期性能。

在一个实施例中,评估模块413还可以确定所生成的网络性能评估是陈旧的或者特定端点分组是陈旧的,并且重新处理和/或更新网络性能评估。例如,评估模块413可以确定自先前网络评估以来已经过去了一段时间,并且重新处理网络性能评估。在另一示例中,如果端点的分组开始展现不同或不相似的网络性能,则网络性能评估可被认为是陈旧的。

计算机401还可以与一个或多个外部设备通信,诸如键盘、定点设备、显示器等;以及一个或多个设备,其使得用户能够例如与计算机401交互;和/或使计算机401能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由I/O接口发生。另外,计算机401可以经由网络接口430与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)之类的一个或多个网络通信。如图所示,网络接口430经由总线450与计算机401的其它组件通信。应当理解,尽管未示出,但其它硬件和/或软件组件可结合计算机401使用。实例包括但不限于:云计算系统、微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据存档存储系统等。

图5示出了根据一个实施例的用于生成网络性能评估的方法。方法500在框502处开始,其中诸如计算机401的计算机收集与多个端点对中的端点对的端点之间的探测流量的传输有关的初始测量,其中多个端点对中的端点从网络中的多个端点中选择。方法500在框504处继续,其中诸如计算机401的计算机基于所收集的初始测量将多个端点聚类到多个端点组中。在框506,方法500继续,其中诸如计算机401的计算机基于多个端点组确定多个端点组对。方法500在框508处继续,并评估端点组是否已从最后一次迭代改变且尚未达到预定数量的步骤。如果是,则该方法返回到框502。否则,该方法继续到框510,其中诸如计算机401的计算机基于与跨多个端点组对中的端点组在端点之间注入的探测流量有关的性能度量来生成网络性能评估。

图6示出了根据一个实施例的用于生成网络性能评估的附加方法。方法600开始于框602,其中诸如计算机401的计算机在每个端点对的两个端点之间传输探测流量。在一些示例中,探测流量可以以环形流量模式被传输,并且在若干次迭代中被传输以捕获多个测量。探测流量还可以包括在多个端点处在网络中探测流量的多个并发注入。方法600然后在框604和606处继续,其中诸如计算机401之类的计算机测量探测流量的吞吐量,并且将每个端点对的吞吐量存储在端点相关表中。在一些示例中,如果进行了多次测量,则汇总所收集的测量并且将汇总存储在端点表中。在一个实施例中,方法600在框608处继续,其中诸如计算机401的计算机从端点相关表中确定多个端点对的多个相似的测量的吞吐量/吞吐量值,其中如果一个或多个吞吐量之间的差异在相似性阈值内,则该一个或多个吞吐量是相似的。方法600随后在框610处继续,其中诸如计算机401的计算机基于该一个或多个相似吞吐量将这一个或多个端点分组成一个或多个端点组。

图7示出了根据一个实施例的用于生成网络性能评估的附加方法。方法700开始于框702,其中诸如计算机401的计算机从多个端点组的每个中选择一个代表性端点。方法700然后在框704处继续,其中诸如计算机401的计算机将代表端点与来自多个端点组的每个其它代表端点配对。在一个实施例中,方法700在框706和708处继续,其中诸如计算机401的计算机在每个端点组对的两个端点之间传输探测流量,并且测量每个端点组的每个测量端点之间的一个或多个流量模式或性能评估参数。在一些示例中,探测流量可以以环形流量模式被发送,并且在若干次迭代中被传输以捕获多个测量。探测流量还可以包括在多个端点处在网络中对探测流量的多个并发注入。流量模式或性能评估参数可以包括网络吞吐量、分组延迟、分组丢失和/或网络抖动。在一个示例中,探测流量可以包括工作负荷包。

图8示出了根据一个实施例的利用网络性能评估的方法。方法800开始于框802,其中诸如计算机401的计算机测量运行在网络上的应用程序的性能参数。在一个实施例中,如果所测量的应用的性能参数低于性能参数阈值,则方法800在框804处继续,其中诸如计算机401之类的计算机根据网络性能评估来确定提供应用的改进性能的端点组。在框806处,方法800继续,其中诸如计算机401的计算机编排应用的部署以利用所确定的端点组的端点。

图9示出了根据一个实施例的用于生成网络性能评估的附加方法。方法900开始于框902,其中诸如计算机401的计算机确定所生成的网络性能评估是陈旧的。例如,网络性能评估中的端点分组可能是陈旧的。在框904,方法900继续,其中诸如计算机401的计算机重新处理和/或更新网络性能评估。

已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

下面,参考本公开中呈现的实施例。然而,本公开的范围不限于具体描述的实施例。相反,无论是否涉及不同的实施例,以下特征和元件的任何组合都被预期用于实现和实践预期的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或现有技术的优点,但是给定实施例是否实现特定优点不限制本公开的范围。因此,以下方面、特征、实施例和优点仅是说明性的,并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确地陈述。同样,对“本发明”的引用不应被解释为对本文所公开的任何发明主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。

本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,它们在本文中可以统称为“电路”、“模块”或“系统”。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。

计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如Smalltalk、C++等)以及常规的过程式编程语言(例如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

本发明的实施例可以通过云计算基础设施提供给终端用户。云计算通常是指通过网络提供可缩放的计算资源作为服务。更正式地,云计算可以被定义为提供计算资源与其底层技术架构(例如,服务器、存储装置、网络)之间的抽象的计算能力,从而实现对可配置计算资源的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或服务提供商交互被快速供应和释放。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用,甚至完整的虚拟化计算系统),而不考虑用于提供计算资源的底层物理系统(或那些系统的位置)。

通常,云计算资源在按使用付费的基础上被提供给用户,其中用户仅针对实际使用的计算资源(例如,用户消耗的存储空间量或用户实例化的虚拟化系统的数量)被收费。用户可以在任何时间以及从因特网上的任何地方访问驻留在云中的任何资源。在本发明的上下文中,用户可以访问诸如模块415的应用或在云中可用的相关数据。例如,模块可以在云中的计算系统上执行,并且执行本文描述的用于网络评估的功能。在这种情况下,模块415可以生成网络性能评估,并且将网络评估和相关测量存储在云中的存储位置处。这样做允许用户从附接到与云连接的网络(例如,因特网)的任何计算系统访问该信息。

虽然前述内容涉及本发明的实施例,但是在不偏离本发明的基本范围的情况下,可以设计本发明的其他和进一步的实施例,并且本发明的范围由所附权利要求确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号