首页> 中国专利> 用于监测数据中心内的虚拟机VM之间的数据分组流的方法、系统、计算机程序和计算机程序产品

用于监测数据中心内的虚拟机VM之间的数据分组流的方法、系统、计算机程序和计算机程序产品

摘要

以下发明涉及用于监测数据中心内的虚拟机VM之间的数据分组流的方法、系统、用于支持所述方法及其不同实施例的计算机程序和计算机程序产品。该方法包括收集用于数据中心中的VM之间的数据分组流的流数据,以及将VM之间的数据分组流的流数据映射到数据中心拓扑上,以建立用于所述数据分组流的流成本。该方法还包括针对数据中心内的每个VM,计算用于与VM相关联的所有流的聚合流成本,以及基于聚合流成本,确定是否重新调度任何VM。

著录项

  • 公开/公告号CN105593823A

    专利类型发明专利

  • 公开/公告日2016-05-18

    原文格式PDF

  • 申请/专利权人 瑞典爱立信有限公司;

    申请/专利号CN201380080018.0

  • 发明设计人 A·西费德肯;V·亚德哈夫;

    申请日2013-10-03

  • 分类号G06F11/34;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 瑞典斯德哥尔摩

  • 入库时间 2023-12-18 15:12:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-12

    授权

    授权

  • 2016-10-12

    实质审查的生效 IPC(主分类):G06F11/34 申请日:20131003

    实质审查的生效

  • 2016-05-18

    公开

    公开

说明书

技术领域

本公开涉及云计算和云网络,特别是用于监测数据中心内的虚拟 机VM之间的数据分组流的方法、系统、计算机程序和计算机程序产 品。

背景技术

在云网络中,虚拟机是对底层硬件的软件实现的抽象。虚拟机 (VM)是像物理机器那样执行程序的机器(也就是计算机)的软件 实现。

电信网络中的节点的硬件或物理资源,可以作为虚拟机实现。

基于云的电信为语音和数据通信,其中电信应用,如交换和存储, 由虚拟机托管。

云通信供应商提供语音和数据通信应用和服务,在供应商拥有和 维护的服务器上托管它们,让它们的客户访问“云”。云服务是一个 广泛的术语,主要指通过如互联网基础设施来运行和访问的数据中心 托管的服务。

最近一段时间VM在数据中心的放置已经成为研究领域。云平台 中确定何处需要启动VM的调度器处理虚拟机的放置。大多数的调度 器运行基本算法来确定虚拟机的放置。随机放置、第一可用服务器、 轮转是简单调度器的一些示例。有些调度器采用更复杂的VM放置算 法以达到在数据中心中的诸如低电力效用或相等负载分布的性能要 求。如何调度VM确定如何高效地使用数据中心中的物理资源。数据 中心的物理资源的高效使用导致降低运营成本。

在数据中心中,调度通过物理基础设施来处理VM的放置。在目 前的云平台调度器中,进行放置决定考虑的参数是处理和存储资源的 可用性,且它们的目标是在优化在基础设施中的物理服务器的使用以 节省电力。在进行调度决定时,经常不考虑VM的网络使用。部署在 云平台中的VM无论何时彼此通信的可用的带宽及其间延迟在放置 VM时不作考虑。

发明内容

以下公开的一个目的是提供数据中心内VM之间的低效的网络流 量流问题的解决方案。VM之间低效的网络流可以导致数据中心内部 的网络流量流占用在如交换机和路由器的物理网络资源上的资源,也 导致了正在通信的VM之间的增加的延迟。

根据提供的解决方案的一个方面,所述解决方案涉及一种用于监 测数据中心内的虚拟机VM之间的数据分组流的方法,及其不同的实 施例。该方法包括收集用于数据中心中的VM之间的数据分组流的流 数据,以及将VM之间的数据分组流的流数据映射到数据中心拓扑上 以建立用于所述数据分组流的流成本。该方法还包括针对数据中心内 的每个VM,计算用于与VM相关联的所有流的聚合流成本,以及基 于聚合流成本确定是否重新调度任何VM。

根据提供的解决方案的另一个方面,所述解决方案涉及一种监测 数据中心内的虚拟机VM之间的数据分组流的流监测系统及其不同 的方面。该流监测系统包括处理器和存储器,所述存储器包括由所述 处理器可执行的指令,由此该流监测系统操作为收集用于数据中心中 的VM之间的数据分组流的流量数据,将VM之间的数据分组流的流 量数据映射到数据中心的拓扑上以建立用于所述数据分组流的流成 本,针对数据中心内的每个VM计算用于与VM相关联的所有流的聚 合流成本,以及基于聚合流成本确定是否重新调度任何VM。

根据所提供的解决方案的另一个方面,所述解决方案涉及计算机 程序,该计算机程序包括计算机程序代码,当计算机程序代码在系统 的处理器中运行时,使系统执行上述方法的方法步骤。该方法包括收 集用于数据中心中的VM之间的数据分组流的流数据,并将VM之间 的数据分组流的流数据映射到数据中心拓扑上以建立用于所述数据 分组流的流成本。该方法还包括针对数据中心内的每个VM计算用于 与VM相关联的所有流的聚合流成本,以及基于聚合流成本确定是否 重新调度任何VM。

根据所提供的解决方案的另一个方面,所述解决方案涉及计算机 程序产品,该计算机程序产品包括上述计算机程序和存储所述计算机 程序的计算机可读装置。

在调度VM时通过在数据中心内部VM之间考虑网络流量流模式 的一个优势是,它可以导致云平台内部诸如交换机和路由器的物理网 络资源的最优利用,并减少网络延迟。

附图说明

在阅读下面的结合附图的详细描述之后,本发明的前述及其他目 的、特征和优点将更容易理解,在附图中:

图1是图示根据现有技术的数据中心的框图;

图2是图示包括流监测系统的改进的数据中心的框图;

图3是图示根据本发明的一个方面的流监测系统的框图;

图4是图示根据本发明的一个方面的方法的流程图;

图5是图示根据本发明的一个方面的方法的实施例的流程图;

图6是图示数据中心的物理资源部分的框图;

图7是图示指示可选的VM位置的(如在图6中的)物理资源部 分的框图;

图8是图示根据本发明的另一个方面的流监测系统的框图。

具体实施方式

在下面的描述中,为了解释而不是限制的目的,提出具体的细节, 如特定的电路、电路部件、技术等,以提供对本发明的透彻理解。然 而,对于本领域技术人员而言显而易见的是,可以在脱离这些具体细 节的其他实施例中实践本发明。在其他情况下,公知的方法、设备和 电路的详细描述被省略,以免不必要的细节使本发明的描述模糊不 清。

图1是根据现有技术的数据中心的图示。

数据中心10包括云管理器11、资源管理器12、故障管理器13、 调度器14、物理资源层15。虚拟机(VM)152和虚拟交换机(Vsw) 154在这一层中执行,这一层包括硬件资源,诸如计算机(CPU和存 储器)、网络(路由器、防火墙、交换机、网络链路和接口)、存储 部件(硬盘)和其他物理计算基础设施元件。

三层模型可用于说明电信网络的云基础设施:服务层、资源抽象 和控制层、以及物理资源层。数据中心托管的应用服务软件属于服务 层。云供应商定义了云消费者接入电信服务的接口。此外,定义了资 源抽象和控制层,该层涉及系统部件以通过软件抽象来提供和管理到 物理计算资源的访问。资源抽象部件的示例包括软件元件,诸如管理 程序(hypervisor)、虚拟机、虚拟数据存储和其他计算资源抽象。 资源抽象需要保证底层物理资源的高效、安全和可靠的使用。虽然虚 拟机技术在这一层是常用的,但是提供必要软件抽象的其他手段也是 可能的。该层的控制方面是指负责资源分配、访问控制和使用监测的 软件部件。这是将各种底层物理资源和它们的软件抽象连接在一起的 软件,以实现资源池化、动态分配和测量服务。

物理资源层15涉及所有物理计算资源。该层包括硬件资源,诸 如计算机(处理器和存储器)、网络(路由器、防火墙、交换机、网 络链路和接口)、存储部件(硬盘)和其他物理计算基础设施元件。 资源抽象和控制层在物理资源层的顶部暴露虚拟云资源,并支持服务 层,其中云服务接口暴露于不可以直接访问物理资源的云消费者。

云基础设施中的服务应用是在可用的物理资源上动态分配为VM 的软件应用,物理资源是例如计算中央处理单元硬件资源(CPU HW)、网络资源(NW)和磁盘服务器资源(磁盘)。所述VM可 以被快速地创建、克隆、破坏,并可以与相关的数据一起也在物理远 程基础设施上实时迁移。

云基础设施可以包括用于托管提供程序服务的软件应用的一个 或多个虚拟数据中心10。

云管理器(系统)11主要作用是向外部实体提供云服务,监测服 务水平协议(SLA),实现计费平台等。云管理器11还被配置为, 响应于由云消费者和云提供商两者执行的管理动作,借助于帮助协调 IT资源、即物理资源15的调度器14来管理和控制若干管理程序布置 和资源管理系统12机制。

通常通过资源管理器调度器14自动化和实现的任务涉及:

·管理用于创建构建前实例的虚拟IT资源模板,诸如虚拟机;

·响应于虚拟IT资源VM实例的启动、暂停、恢复和终止,分 配和释放虚拟IT资源到可用的物理基础设施中;

·协调与其他机制的参与相关的IT资源,诸如资源复制、负载 平衡器和故障管理系统13;

·在整个云服务实例的生命周期中实施使用和安全策略;

·监测IT资源的运行条件;

云供应商通常部署资源管理系统作为VM平台的一部分。

资源管理器,或资源管理系统12的功能可以通过云供应商或云 消费者采用的云资源管理员访问。那些代表云供应商工作的人员通常 能够直接访问资源管理系统的本机控制台。

资源管理系统12通常暴露允许云供应商建立远程管理系统门户 的应用编程接口API,远程管理系统门户可以被定制以选择性地提供 资源管理控制到代表云消费者组织的外部云资源管理员。

故障管理器13是数据中心内用于处理故障和故障转移(failover) 的块。

为了实现发明内容中陈述的目的,下面建议和描述对数据中心10 的改进。所述改进的数据中心100支持由此用于实现所陈述的目的的 方法及其实施例。

在图2中图示了数据中心100的实施例。所述改进的数据中心100 在以后描述的多个细节不同于参见图1的现有技术的数据中心10。

改进的数据中心100包括云管理器110、资源管理器120、故障 管理器130、调度器系统140和物理资源层150。虚拟机(VM)160 和虚拟交换机(Vsw)170在物理资源层150中执行,物理资源层150 包括硬件资源,诸如计算机(CPU和存储器)、网络(路由器、防火 墙、交换机、网络链路和接口)、存储部件(硬盘)和其他物理计算 基础设施元件。

调度器系统140包括调度器14和它的部件,以及流监测系统200。

图3是图示调度器系统140的实施例的框图,调度器系统140包 括流检测服务器210、流分析器220、流数据库230、物理拓扑(信息 /数据库)240以及一个或多个流监测代理250。

流监测服务器FMS210通过收集用于数据中心中VM之间的数据 分组流的流数据来监测在物理资源层150内的虚拟机VM152之间的 数据分组流(见图2)。FMS210从VM152所连接到的所有虚拟交 换机接收流数据信息。该部件的设计基于代理-服务器模型。流监测 代理FMA250被部署在所有的物理机器156上,且FMA从虚拟交换 机154收集网络流量信息、即流数据,并更新监测服务器210。所收 集的流数据是基于成对的源和目的IP地址的带宽使用统计。由FMA 250收集的统计数据周期地发送到FMS210。FMS维护所有流的流数 据库FD230。随着并且当新的统计数据通过FMA250被发送到FMS 时,FMS210更新FD230。由FMS210收集的流数据可以由任何其 他服务使用以用于各种用途。

流分析器FA220被配置为将VM之间的数据分组流的流量数据 映射到数据中心拓扑上以建立用于所述数据分组流的流成本。所述 FA进一步针对数据中心内的每个VM计算用于与VM相关联的所有 流的聚合流成本,并且FA220基于聚合流成本确定是否重新调度任 何VM。

FA220是使用由FMS210更新的流数据库230确定在物理网络 资源上消耗大量带宽的流的系统。借助于物理拓扑信息240,也就是 关于物理资源层150中的物理资源和VM的信息,FA知道数据中心 100的物理拓扑。FA访问流数据库以检查消耗高带宽的流量流,并将 该流映射在物理资源150上,以确定数据中心内昂贵的流。

因此,FA获得在所考虑的流中相关联的VM的位置上的信息, 且FA通过VM映射数据分组流以确定由该流使用的物理网络资源并 向该流分配成本。

由FA系统220确定的成本可以是由数据中心中的流覆盖的网络 距离(例如,交换机的数量)和流的带宽的函数。一旦识别了昂贵的 流量,与属于该流的两个VM相关联的所有其他流也被分析以确定 VM的再访问放置,以使得来自VM的所有流的新的聚合成本比流的 当前的聚合成本更低。因此,FA被配置针对数据中心内的所有流计 算每个VM的聚合流成本。

根据一个实施例,如果所考虑的流成本被认为高于预定义的阈 值,则FA220获得源于或终于VM的所有其他流并且计算用于所有 流的成本。确定用于VM的新的放置,以便降低用于VM的所有流的 聚合成本。

如果FA220决定将一个VM迁移至另一物理机器156,则FA执 行该决定并且将所讨论的VM迁移至另一物理资源156。FA220经由 调度器系统140与云管理器110对接,并且FA通过发送所识别的VM 的迁移的消息来通知云管理器110。FA然后减少了VM之间的流成 本。

FA可以被设计为基于插件的,使得它可以被部署在各种云平台 内。改进的调度器140实现RESTFul客户端,其朝向云管理器110 发送VM迁移通知。

根据本发明的另一方面的流监测系统在图8中图示,并且下面在 本公开中被进一步描述。

图4图示了根据用于实现希望的目标的方法的一个实施例的流程 图。

方法S100被设计用于监测数据中心100中的VM152之间的数 据分组流。该方法包括:

S110:-收集用于数据中心中的VM之间的数据分组流的流数 据。通过收集用于数据中心中的VM之间的数据分组流的流数据,流 监测服务器FMS210监测物理资源层150内的虚拟机VM152之间的 数据分组流。所述流数据由FMS210收集并存储在流数据库230中。

S120:-将VM之间的数据分组流的流数据映射到数据中心拓扑 上以建立用于所述数据分组流的流成本。FA220获得关于与所考虑 的流中相关联的VM的位置的信息,并且FA220映射VM上的数据 分组流,以确定由流使用的物理网络资源,并且向该流分配成本。在 S120中,所述流数据被存储在流数据库230中,流分析器220被适配 成从流数据库230取回流数据。

流成本可以被定义为网络距离(用于承载流量的交换机的数量) 和带宽的函数。成本的简单定义可以描述如下:

Cfln=NsxBfln,其中

Cfln是用于两个VM之间的流n的流成本,其中,如果该VM与 N个不同的VM协作,则n=1,2,…,N;

Ns=两个VM之间交换机的数量;

Bfln=用于两个VM之间的流n的以Mbps计的流带宽。

S130:-针对数据中心内的每个VM,计算用于与VM相关联的 所有流的聚合流成本。与VM相关联的聚合流成本是ACfl=∑Cfln, 其中,如果该VM与N个不同的VM协作,则n=1,2,…,N。FA被 配置为计算聚合流成本。

一旦昂贵的流借助于阈值测量而被识别,与属于该流的两个VM 相关联的所有其他流也被分析,以确定VM的再访问放置,使得来自 VM的所有流的新的聚合成本比当前的聚合流成本更低。

S140:-基于聚合流成本,确定是否重新调度任何VM。如果与 VM相关联的流的成本高于预定义的阈值,则FA220获得源于或终 于该VM的所有其他流,并计算用于所有流的成本。确定用于所考虑 的VM(也称为所讨论的VM)的新的放置,以便降低用于VM的所 有流的聚合成本。

根据所图示的实施例,确定是否要重新调度,包括:

S147:-根据基于聚合流成本的所选择的可选位置,重新调度协 作VM配对中的VM。如果FA220决定将一个虚拟机到另一物理机 器156,然后FA执行该决定并将所讨论的VM迁移到另一个物理资 源156。FA220经由调度器140与云管理器110对接,并且FA通过 发送识别的VM的迁移的消息通知云管理器110。FA然后减少了VM 之间的流成本。

根据该方法的一个实施例,流数据的收集S110包括:

S115:-从一个或多个虚拟交换机收集与由一个或多个虚拟交换 机处理的数据分组流有关的流统计。FMS210收集来自VM152所连 接的所有虚拟交换机的流数据信息。FMA250被部署在所有的物理机 器156上,并且FMA从虚拟交换机154收集网络流量信息,即流数 据,并且更新监测服务器210。

图5是图示该方法的实施例的流程图。实施例包括步骤S140的 备选实施方式,现在将对其进行更详细的描述。

步骤S140由测试开始:

S141:-每个流成本小于Tfl?流成本阈值Tfl被设置为预定测量 或值。如果满足条件,则来自所讨论的VM的每个流成本小于设置的 测量值,然后方法继续步骤S110,因为所讨论的VM不需要被重新 调度。

S142:-选择用于VM的未经测试的可选位置。如果所讨论的 VM位于可选位置中,则测试对数据中心中的流的影响。此步骤针对 数据中心中的每个可选位置执行。VM的可选位置是VM目前不在, 但可以在的物理机器156,例如服务器,即是用于VM的可能的位置。

S143:-将VM之间的数据分组流的流数据映射到数据中心拓扑 上,以建立用于所述数据分组流的流成本。成本Cfln被定义为网络距 离(用于承载流的交换机的数量)和带宽的函数。成本的简单定义可 以被描述如下:

Cfln=NsxBfln,其中,

Cfln是用于两个VM之间的流n的流成本,其中如果该VM与N 个不同的VM协作,则n=1,2,…,N;

Ns=两个VM之间的交换机的数量;

Bfln=用于两个VM之间的流n的以Mbps计的流带宽。

因此,以这种方式,建立了用于每个可选位置的流成本。

S144:-计算用于数据中心内的与VM相关联的所有流的聚合流 成本。与该VM相关联的聚合流成本是ACfl=∑Cfln,其中,如果 该VM与N个不同的VM协作,则n=1,2,…,n。

当已经计算了用于与该Vm相关联的所有流的流成本和用于在可 选位置中的该VM的聚合流成本时,该方法执行测试:

S145:-VM的所有可选位置被测试了吗?如果没有测试所有可 能的位置,则条件是“否”,方法重复包括步骤S142、S143、S144 和S145的循环。

如果已经测试了VM的所有可选位置,则条件是“是”,并且该 方法继续:

S146:-选择VM的提供最低聚合流成本的可选位置。最佳聚合 流成本优选地是通过测试用于所讨论的VM的所有的可选位置(在包 括S142、S143、S144、S145的循环中)而获得的所有流成本的最低 聚合流成本。然而,也可以使用其他准则。

S147:-根据基于聚合流成本的所选择的可选位置,重新调度协 作VM配对中的VM。流分析器220被适配成将所讨论的VM重新调 度至提供最佳聚合流成本的可选位置。当VM已经通过重新调度从其 先前位置移动至新的所选择的位置时,可以从调度器系统140的流分 析器220发送通知消息到云管理器110。通知消息包含所讨论的VM 已经被重新调度到新位置、即新的物理机器的信息。

当已经执行了S147时,该方法返回S110,以执行虚拟机VM之 间的数据分组流的新的监测,优选地针对数据中心内的另一VM。

接下来,提出流分析器可以如何执行流成本分配和用于VM的新 放置的确定的示例。

考虑如在图6和图7的框图中示出的数据中心100的物理资源150 的示例。物理资源层150包括两层交换机160、170和六个服务器机 架。交换机160、170提供六个服务器机架RACK-1、RACK-2、RACK-3、 RACK-4、RACK-5、和RACK-6之间的连接性。第一层交换机160 包括交换机L1-A、L1-B、和L1-C,且第二层交换机170包括交换机 L2-A、L2-B、L2-C、L2-D、L2-E、和L2-F。

第一层中的交换机160中的至少一个经由数据总线提供到包括流 监测系统200的调度器系统140的物理连接。

每个机架包括用于托管一个或多个虚拟机152的一个或多个物理 机器156。物理机器156被实现为服务器,即在硬件数字处理单元上 运行的程序软件。每个服务器或物理资源156包括虚拟交换机154和 流监测代理FMA250。调度器系统140、流监测系统200、FMA250、 VM152、虚拟交换机154、和物理机器156已经参照图2和图3进行 了描述。

在下面的示例中,如图5所示,涉及放置在数据中心内部的四个 虚拟机VM-1、VM-2、VM-3、和VM-4。

考虑以下与VM1相关联的流(3个流)的网络带宽使用:

流fl1:VM1-VM2:10Mbps

流fl2:VM1-VM3:20Mbps

流fl3:VM1-VM4:20Mbps

流数据由FMS210在S110收集,并存储在流数据库230中,流 分析器220被适配成在S120从流数据库230取回流数据。与流1相 关联的网络流量由交换机L2-A承载,即经由一个交换机。

与流2相关联的网络流量由交换机L2-A、L1-A、L1-B、L2-D承 载,即经由四个交换机。

与流3相关联的网络流量由交换机L2-A、L1-B、L1-A、L1-B、 L1-C、L2-F承载,即通过五个交换机。

确定流成本分配:

成本被定义为网络距离(用于承载流的交换机的数量)和带宽的 函数。成本的简单定义可以描述如下:

Cfln=NsxBfln,其中

Cfln是用于两个VM之间的流n的流成本;

Ns=两个VM之间的交换机的数量;

Bfln=用于两个VM之间的流n的以Mbps计的流带宽。

因此,与三个流相关联的成本是:

流成本fl1:Cfl1=10(1x10)

流成本fl2:Cfl2=80(4x20)

流成本fl3:Cfl3=100(5x20)

假定成本超过85Mbps的任何流将由流分析器认为是昂贵的流。 流成本阈值Tfl被设置为测量或值85Mbps。流fl3将被考虑用于与该 流相关联的虚拟机的改进的放置,在这种情况下是VM-1。

在S130中,用于数据中心内的与VM相关联的所有流的聚合流 成本由FA220计算。

与VM-1相关联的聚合流成本ACfl在下面给出:

与VM1相关联的聚合流成本是ACfl=∑Cfln[n=1,2,…]= 10+80+100=190。基于由调度器原始定位的VM的该聚合流成本可以 被称为原始聚合流成本,并且被表示为ACfl0

在下面,参考图7,描述了流成本最小化和VM重定位。如在图 6中VM的当前位置在具有实线的框模块152中表示,而用于重定位 VM的可能的可选位置在具有虚线的框模块152*中表示。

在S140中,基于聚合流成本,确定是否重新调度任何VM。在 S141中,流fl3被识别为昂贵的流,并且在图7中的示例中与之相关 联的VM-1将被考虑用于改进的防止。如果流成本被识别为昂贵的, 则相关联的聚合流成本很可能通过将VM迁移至另一物理机器和/或 物理资源而减少。

考虑如图7的数据中心的视图,这里用于VM-1的重定位的可能 的选项在虚线框中示出。VM1-可以被重新定位到5个可能的机架, 即RACK-2、RACK-3、RACK-4、RACK-5、和RACK-6。

重定位选项以及针对VM1的不同位置选项对聚合成本的影响被 如下确定。

a)重定位选项1:通过选择用于VM的未经测试的可选位置而执 行S142。这里VM-1从RACK-1迁移到RACK-2。在S143,VM之间 的数据分组流的流数据被映射到数据中心拓扑上,以建立用于所述数 据分组流的流成本,这导致如下结果:

流成本fl1(VM1-VM2):Cfl1=30(3x10)

流成本fl2(VM1-VM3):Cfl2=80(4x20)

流成本fl3(VM1-VM4):Cfl3=100(5x20)

在S144,计算用于数据中心内的与该VM相关联的所有流的聚 合流成本。与VM-1相关联的聚合成本ACfl=210>190,其中190是 原始聚合成本ACfl0

在这一重定位选项中,被认为降低到85的阈值之下的流fl3的成 本没有改变。相比于原始聚合流成本ACfl0,在可能的位置中的与VM-1 相关联的聚合成本也已经增加。这一选项因此不被认为是用于VM-1 的感兴趣的放置。

在S145中,测试VM的所有的可选位置。如果还没有测试所有 的可能位置,则条件是“否”,方法重复包括步骤S142、S143、S144、 以及S145的循环。

b)重定位选项2:将VM-1从RACK-1迁移到RACK-3

流成本fl1(VM1-VM2):Cfl1=40(4x10)

流成本fl2(VM1-VM3):Cfl2=60(3x20)

流成本fl3(VM1-VM4):Cfl3=80(4x20)

与VM-1相关联的聚合成本ACfl=180<190(=ACfl0)。

在这一重定位选项中,流fl3的流成本已降低到85的阈值之下, 并且聚合流成本也已经被降低到180(相比于原始放置中的190)。 因此,这个重定位选项可以被视为潜在的选项。

c)重定位选项3:将VM-1从RACK-1迁移到RACK-4

流成本fl1(VM1-VM2):Cfl1=40(4×10)

流成本fl2(VM1-VM3):Cfl2=20(1×20)

流成本fl3(VM1-VM4):Cfl3=80(4×20)

与VM-1相关联的聚合成本ACfl=140<190(=ACfl0)。

在这一重定位选项中,流fl3的流成本已降低到85的阈值之下, 并且聚合流成本也已经被降低到140(相比于在原始放置中的190)。 因此,这一重定位选项可以被视为潜在的选项。

d)重定位选项4:将VM-1从RACK-1迁移到RACK-5

流成本fl1(VM1-VM2):Cfl1=50(5x10)

流成本fl2(VM1-VM3):Cfl2=80(4x20)

流成本fl3(VM1-VM4):Cfl3=60(3x20)

与VM-1相关联的聚合成本ACfl=190(=ACfl0)。

在这一重定位选项中,流fl3的流成本已经被降低到85的阈值之 下,但是与VM-1相关联的聚合流成本仍保持与原始聚合成本相同。 因此,这一重定向选项将不是最优的,因为它没有改变原始聚合成本。

e)重定位选项5:将VM-1从RACK-1迁移到RACK-6

流成本fl1(VM1-VM2):Cfl1=50(5x10)

流成本fl2(VM1-VM3):Cfl2=80(4x20)

流成本fl3(VM1-VM4):Cfl3=20(1x20)

与VM-1相关联的聚合成本ACfl=150<190(=ACfl0)。

在这一重定位选项中,流fl3的流成本已降低至85的阈值之下, 且聚合流成本也被降低到150(相比于在原始放置中的190)。因此, 这一重定位选项可以被视为潜在的选项。

在S146中,选择提供最低聚合流成本的VM的可选位置。最佳 聚合流成本优选地是通过测试(在包括步骤S142、S143、S144、S145 的循环中)用于所讨论的VM的所有的可选位置而获得的所有流成本 的最低聚合流成本。然而,也可以使用其他准则。

在5个重定位选项中,3个选项(选项2、选项3和选项5)保持 最小化高流(流3)并且减少VM相关联(VM-1)的聚合成本。

在三个潜在选项中,选项3具有最低聚合成本。

当选项3被选择时,发生根据基于聚合流成本的所选择的可选位 置重新调度协作VM配对中的VM的步骤,S147。流分析器220被适 配成将所讨论的VM重新调度到提供最佳聚合流成本的可选位置。当 VM已经通过重新调度从其先前位置移动到新的所选择的位置时,通 知消息可以从调度器系统140的流分析器220发送到云管理器110。 通知消息包含所讨论的VM已经被重新调度到新位置、即新的物理机 器的信息。

选项3将是用于VM-1的重定位的第一优选选项,并且如果这由 于其他因素(诸如RACK-4上的处理和存储器的不可用)而不可能时, 选项5将被考虑用于重定位,然后考虑选项2。

图8是图示根据本发明的另一方面的流监测系统的框图。

方法和系统及其实施例可以在数字电子电路装置中或者在计算 机硬件、固件、软件或它们的组合中实施。流监测系统200可以被实 施在计算机程序产品中,该计算机程序产品被有形地具体化在计算机 可读存储设备或用于由可编程处理器300执行的计算机可读装置中; 以及方法的方法步骤S110、S120、S130和S140可以通过执行指令程 序或计算机程序代码的可编程处理器300来执行,以通过在输入数据 上进行操作并且生成输出而执行该方法的功能。

因此,通过执行指令程序或计算机程序代码的可编程处理器300 执行的方法的方法步骤S110、S120、S130和S140被认为是用于通过 在输入数据上进行操作并且生成输出而执行该方法的功能的模块或 装置。

该方法和系统可以有利地实施在一个或多个计算机程序中,计算 机程序可执行在可编程系统中,可编程系统包括至少一个可编程处理 器300、至少一个输入设备和至少一个输出设备,至少一个可编程处 理器300被耦合以从数据存储系统310、230和240接收数据和指令 并且向数据存储系统310、230和240传送数据和指令。每个计算机 程序可以被实施在高级过程式或面向对象的编程语言中,或者如果需 要被实施在汇编或机器语言中;以及在任何情况中,语言可以是编译 或解释语言。

一种计算机程序包括计算机程序代码,该计算机程序代码在运行 在系统200的处理器300中时,使得系统200执行方法步骤:

S110:-收集用于数据中心中的VM之间的数据分组流的流数据;

S120:-将VM之间的数据分组流的流数据映射到数据中心拓扑 上,以建立用于所述数据分组流的流成本;

S130:-针对数据中心内的每个VM,计算用于与VM相关联的 所有流的聚合流成本;

S140:-基于聚合流成本,确定是否重新调度任何VM。

一种计算机程序产品包括计算机程序和存储包括方法步骤S110、 S120、S130和S140的计算机程序的计算机可读装置,例如存储器310。

通常,处理器300将接收来自存储器310、例如只读存储器和/ 或随机存取存储器的指令和数据。适合用于有形地具体化计算机程序 指令和数据的存储设备和存储器包括所有形式的非易失性存储器,通 过示例的方式包括半导体存储器设备,诸如EPROM、EEPROM和闪 存设备;诸如内部硬盘和可移动磁盘的磁盘;磁光盘;CD-ROM盘。 前述中任一项可以由特殊设计的ASIC(专用集成电路)补充,或者 被合并于其中。

处理器300能够经由消息或信令与数据中心100的云管理器110 通信。

通过收集用于数据中心中的VM之间的数据分组流的流数据,流 检测系统200监测物理资源层150内的虚拟机VM152(参见图2) 之间的数据分组流。流监测系统200从VM152所连接的所有虚拟交 换机收集流数据信息。该系统的设计基于代理-服务器模型。流监测 代理FMA250被部署在所有的物理机器156上,并且FMA收集来自 虚拟交换机154的网络流量信息、即流数据并且更新系统。所收集的 流数据是基于成对的源和目的IP地址的带宽使用统计。由FMA250 收集的统计数据被周期性地发送到系统。系统维护所有流的流数据库 FD230。随着并且当新的统计由FMA250发送到FMS,系统中的处 理器300更新FD230。由系统收集的流数据可以由任何其他服务使用 以用于各种目的。系统使用由FMS210更新的流数据库230确定正在 消耗物理网络资源上的大量带宽的流。流监测系统200借助于物理拓 扑信息240、即关于物理资源和物理资源层150中的VM的信息而知 道数据中心100的物理拓扑。系统访问流数据库来检查正在消耗高带 宽的流量流,并且将流映射在物理资源150上以确定数据中心中的昂 贵的流。

已经描述了本发明的一些实施例。应当理解,可以不脱离下列权 利要求的范围的情况下进行各种修改。因此,其他实施方式在以下权 利要求的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号