CN108351795A - 用于映射虚拟机通信路径的方法和系统 - Google Patents
用于映射虚拟机通信路径的方法和系统 Download PDFInfo
- Publication number
- CN108351795A CN108351795A CN201580084195.5A CN201580084195A CN108351795A CN 108351795 A CN108351795 A CN 108351795A CN 201580084195 A CN201580084195 A CN 201580084195A CN 108351795 A CN108351795 A CN 108351795A
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual machine
- network environment
- communication
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Abstract
一种用于映射虚拟网络环境数据的系统包括:至少一个接口,用于从虚拟网络环境中的多个虚拟交换机接收数据(204),以检测在所述虚拟网络环境中的多个虚拟机(201)中的至少两个虚拟机之间建立通信的多个通信请求(401,402);以及至少一个处理器,用于:从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机中的每一个虚拟机的物理主机(202),并且更新(403)用于映射所述多个虚拟机之间数据通信的至少一个通信特性以及所述多个虚拟机中每个虚拟机的物理主机的拓扑数据集。
Description
背景技术
本发明的一些实施例与映射虚拟网络环境数据有关,尤其是但并非仅仅与通过利用虚拟交换机监测虚拟机之间的通信来映射虚拟网络有关。
在现今的计算机环境中,计算资源的虚拟化很重要。虚拟机(virtual machine或者virtualized machine,简称VM)是运行在物理主机计算设备上用于模仿硬件系统的软件构造等。所述主机可以包括多个部署的VM,每个VM可以通过主机中的可用资源执行部分预定功能。
在云管理系统领域中,亲和性规则和反亲和性规则指示所述管理系统将虚拟实体聚合或者分散。例如,当两个VM频繁通信并且应该共享一个主机时,创建VM-VM亲和性规则将其聚合;当存在两个资源匮乏的VM时,反亲和性规则阻止其共享一个主机。
发明内容
本发明实施例的目标是映射虚拟网络环境中虚拟机之间的通信路径和数据。本申请的独立权利要求实现了该目标,并且从属权利要求保护了更多的实现形式。
根据第一方面,本发明涉及用于映射虚拟网络环境数据的系统,所述系统包括:至少一个接口,用于从虚拟网络环境中的多个虚拟交换机接收数据,以检测在所述虚拟网络环境中的多个虚拟机中的至少两个虚拟机之间建立通信的多个通信请求;以及至少一个处理器,用于:从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机中的每一个虚拟机的物理主机,并且更新用于映射所述多个虚拟机之间数据通信的至少一个通信特性以及所述多个虚拟机中每个虚拟机的物理主机的拓扑数据集。
根据第一方面,在所述系统的第一种可能的实现形式中,所述系统还包括安装在所述多个虚拟交换机中的多个交换模块,用于将所述数据传输至所述至少一个接口。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第二种可能的实现形式中,所述系统还包括应用程序接口(Application Program Interface,简称API),以允许远程客户端访问所述拓扑数据集。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第三种可能的实现形式中,所述虚拟网络环境是软件定义网络(software-defined networking,简称SDN)。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第四种可能的实现形式中,所述至少一个通信特性是所述多个虚拟机中每对虚拟机之间的通信频率。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第五种可能的实现形式中,所述至少一个通信特性是所述多个虚拟机中每对虚拟机之间通信的数据容量。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第六种可能的实现形式中,所述至少一个处理器用于基于所述拓扑数据集的分析来识别所述虚拟网络环境中的负载波动事件。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第七种可能的实现形式中,所述至少一个处理器用于基于所述拓扑数据集的分析来计算指令,以为所述虚拟网络环境中多个虚拟机中的至少一个虚拟机分配新的物理主机。
根据第一方面本身或者第一方面的上述任一种实现形式,在所述系统的第八种可能的实现形式中,所述至少一个处理器用于基于所述拓扑数据集的分析来重新定位所述多个虚拟机之间的虚拟网络环境的资源。
根据第二方面,本发明涉及用于映射虚拟网络环境数据的方法,所述方法包括:监测虚拟网络环境中多个虚拟交换机中的数据,以检测在所述虚拟网络环境中的多个虚拟机中的至少两个虚拟机之间建立通信的多个通信请求;从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机中的每一个虚拟机的物理主机;更新用于映射所述多个虚拟机之间数据通信的至少一个通信特性以及所述多个虚拟机中每个虚拟机的物理主机的拓扑数据集。
根据第二方面,在所述方法的第一种可能的实现形式中,所述方法还包括:在更新之前,从所述多个通信请求中的每一个通信请求中提取所述至少一个通信特性。
根据第二方面,在所述方法的第二种可能的实现形式中,所述方法还包括:分析所述拓扑数据集,以识别所述虚拟网络环境中的负载波动事件。
根据第二方面,在所述方法的第三种可能的实现形式中,所述方法还包括:分析所述拓扑数据集以计算指令,从而为所述虚拟网络环境中的多个虚拟机中的至少一个虚拟机分配新的物理主机。
根据第三方面,本发明涉及用于映射虚拟网络环境数据的系统,所述系统包括:存储器,用于存储用于映射多个虚拟机之间数据通信的至少一个通信特性以及所述多个虚拟机中每个虚拟机的物理主机的拓扑数据集;代码存储器,用于存储代码;处理器,连接所述存储器和所述代码存储器,用于实现所述代码,其中所述代码包括:用于监测虚拟网络环境中多个虚拟交换机中的数据以检测在所述虚拟网络环境中的多个虚拟机中的至少两个虚拟机之间建立通信的多个通信请求的代码;用于从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机中的每一个虚拟机的物理主机的代码;用于基于所提取的数据更新所述拓扑数据集的代码。
除非另有定义,否则本文所使用的所有技术和/或科学术语的含义与本发明所属领域的普通技术人员所公知的含义相同。与本文所描述的方法和材料类似或者相同的方法和材料可以用于本发明实施例的实践或测试,下文描述示例性的方法和/或材料。若存在冲突,则以包括定义在内的专利说明书为准。另外,材料、方法以及示例都只是用于说明,并非必要限定。
本发明实施例提供的方法和/或系统的实现可以涉及手动、自动或者两者结合的执行或完成所选择的任务。此外,根据本发明的方法和/或系统实施例的实际仪器和设备,可以通过操作系统利用硬件、软件、固件或者三者组合完成多个选择的任务。
例如,根据本发明实施例执行选择的任务的硬件可以是芯片或者电路。对于软件,根据本发明实施例选择的任务可以是由计算机通过任意合适的操作系统执行的多个软件指令。在本发明的示例性实施例中,本文所描述的示例性的方法和/或系统实施例中的一个或者多个任务是由数据处理器执行,例如用于执行多个指令的计算平台。可选地,所述数据处理器包括存储指令和/或数据的易失性存储器和/或非易失性存储器,例如用于存储指令和/或数据的硬磁盘和/或可移动介质。可选地,也提供网络连接。也会提供显示屏和/或用户输入设备,例如键盘或者鼠标。
附图说明
此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,需要强调的是所示项目作为示例,为了说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。
在附图中:
图1是本发明一些实施例提供的用于映射虚拟网络环境数据的方法的流程示意图;
图2是本发明一些实施例提供的用于映射虚拟网络环境数据的系统的示意图;
图3是本发明一些实施例提供的用于基于Dragonflow机制映射虚拟网络环境数据的系统的示例性实现方式的示意图;
图4、图5、图6以及图7都是本发明一些实施例提供的用于映射虚拟网络环境数据的系统以及映射方法的流程的示例性实现方式的示意图。
具体实施方式
本发明的一些实施例与映射虚拟网络环境数据有关,尤其是但并非仅仅与通过利用虚拟交换机监测虚拟机之间的通信来映射虚拟网络有关。
根据本发明的一些实施例,提供了一种用于映射云网络中虚拟机(virtualmachine/virtualized machine,简称VM)之间的通信路径的方法,并且创建了组合的实时物理-虚拟网络拓扑结构,该拓扑结构包括了所有路径的使用。SDN应用中的软件定义网络(software-defined networking,简称SDN)控制器等控制器与云系统中所有的虚拟接入层组件连接,例如虚拟交换机和/或虚拟路由器。一旦连接上,VM之间所有新的连接(即“第一帧”)都会定向到所述控制器。当所述控制器接收到此类新连接时,会将信息存入拓扑数据集映射(例如数据库)。所述接口可以监测可能用于创建通信路径的实时呈现的多种类型的数据。例如,所述数据可以包括:(通过监听建立所述路径的第一数据包)确定的互相通信的两个VM、(通过测量数据路径上的数据包和八位字节)确定的两个连接的VM之间运行的数据量和/或该路径的使用频率。按照下面的网络路由,VM也有可能与物理主机匹配,从而降低将数据与云管理系统关联的复杂性。这使得应用的预先部署设计得以简化,可以对负载波动等场景作出反应,优化了所述云系统的物理资源利用和/或映射通信路径,不需要消耗大量附加系统资源例如中央处理器(central processing unit,简称CPU)和/或网络。
可选地,然后通过应用程序接口(application programming interface,简称API)和/或发布/订阅机制将所述数据提供给外部应用。
在详细解释本发明至少一个实施例之前,需要了解的是本发明并非将应用限制于下文描述所提出的和/或附图所示出和/或示例中的组件和/或方法的详细构造和布局。本发明能够应用于其他实施例或者以多种方式实践。
本发明可以是系统、方法和/或计算机程序产品。所述计算机程序产品可以包括具有计算机可读程序指令的计算机可读存储介质,从而使得处理器根据所述指令执行本发明的各个方面。
现在参考附图,图1是本发明一些实施例提供的通过利用虚拟交换机监测虚拟机之间的通信来映射虚拟网络环境数据的方法的流程示意图。参考图2,图2是本发明一些实施例提供的用于映射虚拟网络环境数据的系统的示意图。
虚拟网络环境包括多个虚拟机201,每个虚拟机位于物理主机202中并且通过网络203互相连接。物理主机202可以包括一个或者多个计算设备,例如大型计算机、企业服务器、工作站、多个互相连接的计算机和/或个人计算机。
网络203可以包括局域网(local area network,简称LAN)、移动网络等无线网络、无线保真(Wireless Fidelity,简称WiFiTM)等无线局域网(wireless local areanetwork,简称WLAN)、BluetoothTM协议等无线个人局域网(wireless personal areanetwork,简称WPAN)和/或任意其他网络。
可选地,所述虚拟网络环境是软件定义网络(software-defined networking,简称SDN)。所述SDN可以以任意方式实现。
每个虚拟机201都与虚拟交换机204连接,所述虚拟交换机204也可能是虚拟路由器和/或任意其他类型的虚拟接入层组件。每个虚拟交换机204也位于物理主机202中。
当VM需要与另一个VM通信时,第一个VM发送通信请求至第二个VM,用于在两个VM之间建立通信。此类通信请求可以包括在VM之间建立路径的第一数据包等。
所述系统包括接口,例如一个控制器(或者多个控制器)205,所述控制器205从虚拟交换机204接收数据并且监测这些数据以检测通信请求,如步骤101所示。
可以由交换模块206接收虚拟交换机204的数据,所述交换模块206是安装在每个虚拟交换机204中的转发元件,用于传输数据。所述交换模块206可以是应用和/或程序等。
也可以由连接物理主机202的物理交换机接收虚拟交换机204的数据,所述物理交换机可以是支持与SDN控制器连接的交换机等。
然后,如步骤102所示,处理器207从这些虚拟机的每个通信请求中提取每个虚拟机201的物理主机202。在进行足够时间的监测之后就可以提取每个虚拟机201的物理主机。
控制器206和/或应用例如SDN应用可以直接利用处理器207。
如步骤103所示,从所述通信请求中提取虚拟机201之间数据通信的至少一个通信特性和每个物理主机202。
可选地,所述通信特性是每对虚拟机201之间的通信频率。该特性是通过统计每个时间单位例如每秒两个虚拟机之间传输的通信请求来测量。
可选地,所述通信特性是每对虚拟机201之间通信的数据容量。该特性是通过测量两个虚拟机之间的数据路径上的数据包和八位字节测量。
然后,如步骤104所示,更新用于映射通信特性的拓扑数据集208。拓扑数据集208可以包括允许访问存储数据的任意类型的结构化数据集。拓扑数据集208可以存储在数字数据存储单元,例如磁盘驱动器和/或固态硬盘,和/或存储在分布式存储器中,例如内容分发网络或者内容配送网(content distribution network,简称CDN),其中所述内容分发网络或者内容配送网是部署在互联网的多个数据中心中的大型分布式服务器系统。
可选地,如步骤105所示,处理器206分析拓扑数据集映射,以提供可能用于虚拟网络环境管理的信息。
可选地,处理器207基于所述分析来识别所述虚拟网络环境中的负载波动事件。例如,可以根据其他虚拟机201传输给该虚拟机的数据容量来检测该虚拟机201的极端负载,例如CPU和/或存储器过载。
可选地,处理器207基于所述分析来重新定位虚拟机201之间的虚拟网络环境的资源,例如存储资源和/或处理资源。例如,当检测到虚拟机201的极端负载时,将数据和/或应用从该虚拟机传输到其他虚拟机201。所述分配可以是在虚拟网络环境中基于拓扑数据集208中更新的实时信息持续进行的动态分配。
可选地,所述系统包括应用程序接口(application program interface,简称API)209,以允许远程客户端210访问拓扑数据集208。远程客户端210可以包括VM布局优化算法、上报组件、分析算法、规划应用、计费应用和/或任意其他程序。
可选地,所述系统包括远程客户端210可以订阅的发布/订阅机制。然后远程客户端210连续接收数据,例如虚拟网络环境中相关实体上的创建、删除以及更新事件。例如,更新可以包括建立新的通信路径和/或路径利用程度的变化。
参考图3,图3是本发明一些实施例提供的用于基于Dragonflow机制映射虚拟网络环境数据的系统的示例性实现方式的示意图。
所呈现概念的可能基线实现方式可以在(华为的)Dragonflow开源项目中找到,其中Dragonflow开源项目是基于SDN的分布式虚拟路由器。所述Dragonflow项目实现了在Openstack云管理软件(Dragonflow L3App)中的虚拟网络中的层3路由。此实现方式是对从VM1发送到VM2的第一数据包的响应,并且在连接两个VM的(通常是两个)虚拟交换机上安装了转发流。根据本发明的一些实施例,增强所述Dragonflow机制,以将所有VM与VM的连接存入数据集中。这也可以提供持续的行为指标,例如移至所述路径上的数据包或者八位字节的数量、所述路径的使用频率、承载所述VM的物理计算机节点以及用于通信的物理网络等等。
利用将数据写入虚拟拓扑数据库(virtual topology database,简称V-TOPO DB)(302)的采集器(301)来扩展Dragonflow L3App。API(303)使得访问V-TOPO DB(302)中的数据成为可能。外部应用(例如“VM布局”)(304)通过所述API(303)访问数据。SDN控制器(301)连接所述云系统的所有虚拟接入层组件。
参考图4、图5、图6以及图7,图4、图5、图6以及图7都是本发明一些实施例提供的用于映射虚拟网络环境数据的系统以及映射方法的流程的示例性实现方式的示意图。
首先,如图4中的401所示,SDN控制器监听到从VM1到VM2的第一帧。
然后,如图4中的402所示,将从VM1到VM2的第一帧传递至SDN应用。
然后,如图4中的403所示,从VM1到VM2的第一帧的记录在虚拟拓扑结构中更新。
然后,如图5中的404所示,SDN控制器分别在与VM2绑定的虚拟交换机1(virtualswitch 1,简称vSwitch1)中以及在与VM1绑定的虚拟交换机X(virtual switch X,简称vSwitchX)中安装交换模块。
然后,如图6中的405所示,VM1与VM2之间的通信通过旁路SDN控制器分流至vSwitch1和vSwitchX。
然后,如图7中的406所示,SDN应用查询与VM1和VM2之间的通信相关的性能指标。
然后,如图7中的407所示,所述SDN应用利用所述性能指标的数据更新虚拟拓扑结构。
然后,如图7中的408所示,客户端调用所述API读取虚拟拓扑结构中的数据。
或者如图7中的409所示,SDN应用将更新的数据发布至订阅的客户端。
本发明一些实施例的示例性利用与VM的亲和性和反亲和性有关。在云管理系统领域中,存在大量与虚拟机的亲和性和反亲和性相关的优化问题。例如,(因为较高的互相通信水平),两个VM必须位于相同网络,但是(因为较高的CPU利用率),两个VM可以位于不同的物理计算机主机上。此类优化问题采用不同的形式和策略解决,常常会产生试图缓解未来问题的单点方案或者非常复杂的部署设计。
现今广泛接受的方法是试图在云驻留系统的部署阶段应用亲和性和反亲和性策略。该方法与试图在系统的部署阶段预期所有通信对的问题和行为相似。在某种程度上,这使得云计算的部分显著优势例如灵活的可伸缩性(为满足要求伸展或收缩)以及自愈性(自动替代故障组件)变得无效。另外,由于将反映实际通信和布局的模型拼凑起来比较复杂并且容易出现不一致的问题,因此不能优化给定的拓扑结构或者精确评价该拓扑结构以将该拓扑结构与其他(也满足亲和性/反亲和性策略)的可能排列进行对比。试图提供此类信息的可能的理论运行时可替代的实现方式可以与所述系统中所有(虚拟的、逻辑的以及物理的)组网元件连接,订阅这些组网元件的单独的北向API(例如NetFlow、sFlow以及IPFix),然后将数据与可以通过自身API从所述云管理系统检索到的元数据关联。这种实现方式可能非常复杂,并且因为固有的延时,其结果不会真正与实际情况一致。
提供了反映系统中所有VM的实际通信和部署的现场连接图的方法和算法已经存在,这些方法和算法可以潜在优化系统的行为表现和运营成本。但是至今还没有方法可以提供连接的VM以及VM之间的通信路径的利用水平的一致且可靠的视图,所述VM之间的通信路径的利用水平即在任意给定时间内通信路径真正互相通信的数量。本发明一些实施例提供的方法和系统可以在拓扑数据集映射中提供此类视图。
本发明不同实施例的描述仅用于说明,而并非详细说明本发明或者将本发明限于所揭示的实施例。本领域的普通技术人员应当理解很多修改和变化并没有脱离所描述实施例的范围和精神。选择本文所选择的术语用于对实施例的原理、实际应用或者相比现有技术的技术改进作出最佳解释,或者使得本领域的其他普通技术人员理解本文所揭示的实施例。
希望在从本申请逐渐成熟的专利的有效期内,可以开发很多相关的虚拟网络环境,并且术语虚拟网络环境的范围旨在包括所有事先不存在的此类新技术。
术语“包括”以及“有”表示“包括但不限于”。此术语包括了术语“组成”和“所组成”。
所述短语“所组成”指的是合成物或者方法可能包括附加成分和/或步骤,只要附加成分和/或步骤没有对所申请的合成物或者方法的基本特性和新特性作实质性的改变。
除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。例如,术语“混合物”或者“至少一个混合物”可以包括多个混合物,包括它们的混合物。
此处使用的词“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其他实施例,和/或并不排除其他实施例特点的结合。
此处使用的词语“可选地”表示在一些实施例中提供且在其他实施例中“没有提供”。本发明的任意特定的实施例可以包括多个“可选的”特征,除非这些特征相互矛盾。
单个实施例也可以提供某些特征的组合,这些特征在各个实施例正文中有简短的描述。相反地,本发明的各个特征在单个实施例的正文中有简短的描述,也可以分别提供这些特征或任何适合的子组合或者作为本发明所述的任何合适的其他实施例。不可认为各个实施例的正文中描述的某些特征是这些实施例的必要特征,除非没有这些元素,该实施例无效。
尽管本发明是结合了特定实施例进行描述,但是很显然本领域技术人员了解许多替代性方案、修改和变化。相应地,所有属于所附权利要求书的精神和范围的这些替代性方案、修改和变化都包括在本发明之内。
此处,本说明书中提及的所有出版物、专利和专利说明书都通过引用本说明书结合在本说明书中,同样,每个单独的出版物、专利或专利说明书也具体且单独地结合在此。此外,对本申请的任何参考的引用或识别不可当做是允许这样的参考在现有技术中优先于本发明。就使用节标题而言,不应该将节标题理解成必要的限定。
Claims (14)
1.一种用于映射虚拟网络环境数据的系统,其特征在于,包括:
至少一个接口(205),用于从虚拟网络环境中的多个虚拟交换机(204)接收数据,以检测在所述虚拟网络环境中的多个虚拟机(201)中的至少两个虚拟机之间建立通信的多个通信请求;
至少一个处理器(207),用于:
从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机(201)中的每一个虚拟机的物理主机(202);
更新用于映射所述多个虚拟机之间数据通信的至少一个通信特性以及所述多个虚拟机中每个虚拟机的物理主机的拓扑数据集(208)。
2.根据权利要求1所述的系统,其特征在于,还包括:安装在所述多个虚拟交换机(204)中的多个交换模块(206),用于将所述数据传输至所述至少一个接口(205)。
3.根据上述权利要求中任一项所述的系统,其特征在于,还包括:应用程序接口API(209),以允许远程客户端访问所述拓扑数据集(208)。
4.根据上述权利要求中任一项所述的系统,其特征在于,所述虚拟网络环境是软件定义网络SDN。
5.根据上述权利要求中任一项所述的系统,其特征在于,所述至少一个通信特性是所述多个虚拟机(201)中每对虚拟机之间的通信频率。
6.根据上述权利要求中任一项所述的系统,其特征在于,所述至少一个通信特性是所述多个虚拟机(201)中每对虚拟机之间通信的数据容量。
7.根据上述权利要求中任一项所述的系统,其特征在于,所述至少一个处理器(207)用于基于所述拓扑数据集(208)的分析来识别所述虚拟网络环境中的负载波动事件。
8.根据上述权利要求中任一项所述的系统,其特征在于,所述至少一个处理器(207)用于基于所述拓扑数据集(208)的分析来计算指令,以为所述虚拟网络环境中的所述多个虚拟机(201)中的至少一个虚拟机分配新的物理主机。
9.根据上述权利要求中任一项所述的系统,其特征在于,所述至少一个处理器(207)用于基于所述拓扑数据集(208)的分析来重新定位所述多个虚拟机(201)之间的所述虚拟网络环境的资源。
10.一种用于映射虚拟网络环境数据的方法,其特征在于,包括:
监测虚拟网络环境中多个虚拟交换机(204)中的数据,以检测在所述虚拟网络环境中的多个虚拟机(201)中的至少两个虚拟机之间建立通信的多个通信请求;
从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机(201)中的每一个虚拟机的物理主机(202);
更新用于映射所述多个虚拟机(201)之间数据通信的至少一个通信特性以及所述多个虚拟机(201)中每个虚拟机的物理主机(202)的拓扑数据集(208)。
11.根据权利要求10所述的方法,其特征在于,还包括:在所述更新之前,
从所述多个通信请求中的每一个通信请求中提取所述至少一个通信特性。
12.根据权利要求10所述的方法,其特征在于,还包括:
分析所述拓扑数据集(208),以识别所述虚拟网络环境中的负载波动事件。
13.根据权利要求10所述的方法,其特征在于,还包括:
分析所述拓扑数据集(208)以计算指令,从而为所述虚拟网络环境中的所述多个虚拟机(201)中的至少一个虚拟机分配新的物理主机。
14.一种用于映射虚拟网络环境数据的系统,其特征在于,包括:
存储器,用于存储用于映射多个虚拟机(201)之间数据通信的至少一个通信特性以及所述多个虚拟机(201)中每个虚拟机的物理主机(202)的拓扑数据集(208);
代码存储器,用于存储代码;
处理器(207),连接所述存储器和所述代码存储器,用于实现所述代码;
其中所述代码包括:
用于监测虚拟网络环境中多个虚拟交换机(204)中的数据以检测在所述虚拟网络环境中的所述多个虚拟机(201)中的至少两个虚拟机之间建立通信的多个通信请求的代码;
用于从所述多个通信请求中的每一个通信请求中提取所述至少两个虚拟机(201)中的每一个虚拟机的物理主机(202)的代码;
用于基于所提取的数据更新所述拓扑数据集(208)的代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/075345 WO2017071780A1 (en) | 2015-10-30 | 2015-10-30 | Methods and systems of mapping virtual machine communication paths |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108351795A true CN108351795A (zh) | 2018-07-31 |
Family
ID=54366223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580084195.5A Pending CN108351795A (zh) | 2015-10-30 | 2015-10-30 | 用于映射虚拟机通信路径的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108351795A (zh) |
WO (1) | WO2017071780A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147344A (zh) * | 2019-05-21 | 2019-08-20 | 优刻得科技股份有限公司 | 在多个物理机之间通信的方法、装置、存储介质和系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11070515B2 (en) | 2019-06-27 | 2021-07-20 | International Business Machines Corporation | Discovery-less virtual addressing in software defined networks |
US20230098961A1 (en) * | 2021-09-24 | 2023-03-30 | Vmware, Inc. | Software-defined network recommendation |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155537A1 (en) * | 2006-07-24 | 2008-06-26 | Peter Dinda | Methods and systems for automatic inference and adaptation of virtualized computing environments |
CN103164255A (zh) * | 2013-03-04 | 2013-06-19 | 华为技术有限公司 | 虚拟机网络通信实现方法和虚拟机监控器以及物理主机 |
CN103384551A (zh) * | 2013-01-04 | 2013-11-06 | 华为技术有限公司 | 一种基于pcie网络的虚拟机通信方法、服务器及系统 |
CN103580923A (zh) * | 2013-11-08 | 2014-02-12 | 华为技术有限公司 | 软件部署的方法和装置 |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
US20150089499A1 (en) * | 2013-09-25 | 2015-03-26 | Delta Electronics, Inc. | Topology management method and system of virtual machines |
US20150172115A1 (en) * | 2013-12-18 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Mapping virtual network elements to physical resources in a telco cloud environment |
CN104995604A (zh) * | 2015-03-03 | 2015-10-21 | 华为技术有限公司 | 虚拟机的资源分配方法及装置 |
US20150309817A1 (en) * | 2014-04-24 | 2015-10-29 | International Business Machines Corporation | Administering virtual machines in a distributed computing environment |
US20150309824A1 (en) * | 2014-04-24 | 2015-10-29 | International Business Machines Corporation | Administering virtual machines in a distributed computing environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1886935B (zh) * | 2003-11-28 | 2014-05-14 | 迈克菲爱尔兰控股有限公司 | 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 |
-
2015
- 2015-10-30 WO PCT/EP2015/075345 patent/WO2017071780A1/en active Application Filing
- 2015-10-30 CN CN201580084195.5A patent/CN108351795A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155537A1 (en) * | 2006-07-24 | 2008-06-26 | Peter Dinda | Methods and systems for automatic inference and adaptation of virtualized computing environments |
CN103384551A (zh) * | 2013-01-04 | 2013-11-06 | 华为技术有限公司 | 一种基于pcie网络的虚拟机通信方法、服务器及系统 |
CN103164255A (zh) * | 2013-03-04 | 2013-06-19 | 华为技术有限公司 | 虚拟机网络通信实现方法和虚拟机监控器以及物理主机 |
US20150089499A1 (en) * | 2013-09-25 | 2015-03-26 | Delta Electronics, Inc. | Topology management method and system of virtual machines |
CN103580923A (zh) * | 2013-11-08 | 2014-02-12 | 华为技术有限公司 | 软件部署的方法和装置 |
US20150172115A1 (en) * | 2013-12-18 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Mapping virtual network elements to physical resources in a telco cloud environment |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
US20150309817A1 (en) * | 2014-04-24 | 2015-10-29 | International Business Machines Corporation | Administering virtual machines in a distributed computing environment |
US20150309824A1 (en) * | 2014-04-24 | 2015-10-29 | International Business Machines Corporation | Administering virtual machines in a distributed computing environment |
CN104995604A (zh) * | 2015-03-03 | 2015-10-21 | 华为技术有限公司 | 虚拟机的资源分配方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147344A (zh) * | 2019-05-21 | 2019-08-20 | 优刻得科技股份有限公司 | 在多个物理机之间通信的方法、装置、存储介质和系统 |
CN110147344B (zh) * | 2019-05-21 | 2022-02-11 | 优刻得科技股份有限公司 | 在多个物理机之间通信的方法、装置、存储介质和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017071780A1 (en) | 2017-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nardelli et al. | Efficient operator placement for distributed data stream processing applications | |
CN104363159B (zh) | 一种基于软件定义网络的开放虚拟网络构建系统和方法 | |
Dias et al. | Online traffic-aware virtual machine placement in data center networks | |
CN100578455C (zh) | 提交给网格环境的网格作业使用前的资源功能性验证 | |
Moldovan et al. | Mela: Monitoring and analyzing elasticity of cloud services | |
Wang et al. | Mobile micro-cloud: Application classification, mapping, and deployment | |
US20160349993A1 (en) | Data-driven ceph performance optimizations | |
JP2015056182A5 (zh) | ||
CN104243193A (zh) | 一种网络拓扑的动态配置及展示的方法和装置 | |
US20130081015A1 (en) | Storage system | |
CN103327116B (zh) | 一种网络文件的动态副本存储方法 | |
Son et al. | SDCon: Integrated control platform for software-defined clouds | |
Giurgiu et al. | Enabling efficient placement of virtual infrastructures in the cloud | |
US11416364B2 (en) | Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using clustered traces, metrics, and component-associated attribute values | |
Al-Doghman et al. | A review of aggregation algorithms for the internet of things | |
Bertolucci et al. | Static and dynamic big data partitioning on apache spark | |
CN107967164A (zh) | 一种虚拟机热迁移的方法及系统 | |
Alghamdi et al. | Profit-based file replication in data intensive cloud data centers | |
CN108351795A (zh) | 用于映射虚拟机通信路径的方法和系统 | |
Bourhim et al. | Inter-container communication aware container placement in fog computing | |
CN106961440B (zh) | 基于企业级资源运行监控管理的云平台 | |
Chen et al. | Joint affinity aware grouping and virtual machine placement | |
Taghizadeh et al. | A metaheuristic‐based data replica placement approach for data‐intensive IoT applications in the fog computing environment | |
CN105635285B (zh) | 一种基于状态感知的vm迁移调度方法 | |
Chen et al. | Algorithm for virtual nodes reconfiguration on network virtualization |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180731 |
|
RJ01 | Rejection of invention patent application after publication |