CN103635882A - 控制网络利用 - Google Patents

控制网络利用 Download PDF

Info

Publication number
CN103635882A
CN103635882A CN201280032002.8A CN201280032002A CN103635882A CN 103635882 A CN103635882 A CN 103635882A CN 201280032002 A CN201280032002 A CN 201280032002A CN 103635882 A CN103635882 A CN 103635882A
Authority
CN
China
Prior art keywords
network
application
requirement
main frame
distributed application
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
Application number
CN201280032002.8A
Other languages
English (en)
Other versions
CN103635882B (zh
Inventor
R·弗莱尔斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103635882A publication Critical patent/CN103635882A/zh
Application granted granted Critical
Publication of CN103635882B publication Critical patent/CN103635882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

任意应用的网络利用通过跟踪虚拟机(VM)(至少包括主存该应用的各部分的VM)的网络使用统计来控制。对于网络利用控制,VM用作该应用的各元素的网络代理。对照网络使用统计来评估该应用的网络要求的规范。在去往/始自/穿过该应用的一元素的网络容量要求未被满足时,可适应一个或多个VM来满足该要求。例如,VM可从具有过量网络带宽的主机或网络位置迁移。或者,例如,不满足要求的VM的网络带宽可用性可被增加并且在适当的主机或网络位置处的VM的带宽可用性可被降低。因而,可以使用VM适应来满足应用级通信路径要求。

Description

控制网络利用
背景
在现代计算环境中,分布式应用可包括在不同的主机上执行、经由网络来合作、与诸如浏览器等客户机对接、访问数据库服务器等的多个自动单元。对等应用、多层web应用、分布式散列表、服务器池或集群是分布式应用的示例。这样的分布式应用可在云、数据中心等中执行。
网络通信对于这样的应用的有效操作而言是必要的。在一些情况下,对于应用来说具有各种网络性能特性是合乎需要的,例如各组件之间的带宽、到因特网或其上的客户机的平均吞吐量、每应用实例的平均带宽,等等。换言之,具有应用级网络性能保证是合乎需要的。
然而,至今,这样的保证尚未成为可能。网络性能保证已在网络级提供。路由器已被用来提供服务质量(QoS)保证,但这些保证总体上尚未面向分布式应用。换言之,用于确保带宽或容量水平的典型手段是针对数据网络本身的,而非针对应用的。此外,在其中可执行分布式应用的环境中,诸如不同应用之间的资源共享等问题使得难以保证沿穿过分布式应用的通信路径的网络资源。
甚至在网络资源供应已在应用级提供的情况下,用来获得或维护网络资源要求的技术已涉及诸如传输速率控制、扼流、以及其他面向网络的通信量控制机制等技术。虽然分布式应用元素通常被主存在虚拟机(VM)中,但VM技术尚未被用来帮助保证应用级网络要求。
以下讨论了与使用虚拟机(VM)技术来控制分布式应用的网络资源相关的技术。
概述
以下概述仅是为了介绍在以下详细描述中讨论的某些概念而被包括的。本概述并不是全面的,并且不旨在描绘所要求保护的主题的范围,该范围由所附的权利要求书来阐明。
任意应用的网络利用通过跟踪虚拟机(VM)(至少包括主存该应用的各部分的VM)的网络使用统计来控制。对于网络利用控制,VM用作该应用的各元素的网络代理。对照网络使用统计来评估该应用的网络要求的规范。在去往/始自/穿过该应用的一元素的网络容量要求未被满足时,可适应一个或多个VM来满足该要求。例如,VM可从具有过量网络带宽的主机或网络位置迁移。或者,例如,不满足要求的VM的网络带宽可用性可被增加并且适当的主机或网络位置处的VM的带宽可用性可被降低。因而,可以使用VM适应来满足应用级通信路径要求。
许多附带特征将参考以下的详细描述并结合附图考虑以在下文解释。
附图说明
根据附图阅读以下详细描述,将更好地理解本发明,其中在所附描述中使用相同的附图标记来指代相同的部分。
图1示出示例虚拟化层。
图2示出关于虚拟机和虚拟机映像的虚拟化层的过程和交互。
图3示出分布式应用的示例。
图4示出另一示例分布式应用。
图5示出用于指定分布式应用的网络容量并使用虚拟机(VM)适应来供应网络容量的系统。
图6示出具有虚拟化增强以便于VM网络报告和网络使用操纵的主机的示例。
图7示出与图3中的示例分布式应用相关的图5的系统。
图8示出主存在VM中执行的分布式应用的主机。
图9示出了图8的一部分的详细视图。
图10和11示出了示例应用网络规范。
具体实施方式
概览和虚拟化
下文讨论的各实施例涉及使用VM技术来在存在动态网络条件的情况下提供网络容量。讨论将从包括诸如系统管理程序等虚拟化组件的虚拟化技术的概览开始。接着将讨论分布式应用及其示例。将描述使用VM技术来进行网络供应的概览,此后讨论相关VM增强和如何使用这些增强的详细解释。
图1示出示例虚拟化层100。计算机102具有硬件104,该硬件104包括中央处理单元(CPU)106、存储器108、网络接口110、非易失性存储112以及没有示出的其他组件,诸如总线、显示适配器等。虚拟化层100管理和促进虚拟机114的执行。尽管图1中未示出,每个虚拟机114通常具有相关联的虚拟盘镜像和客操作系统。为简明起见,虚拟机114的操作系统和可能的应用软件有时会被称作客机,客机存储在与虚拟机114相关联的虚拟盘镜像中并且从与虚拟机114相关联的虚拟盘镜像中执行。为方便起见,术语“系统管理程序”在本文中将被用来指各种形式的虚拟化层。此外,如下文将讨论的,虚拟机114被用来主存分布式应用的各元素。
虚拟化层100可以是任何各种已知或未来的实现,诸如Hyper-V服务器(TM)、VMWare ESX服务器(TM)、Xen、Oracle VM(TM)等。虚拟化层的体系结构可以是带有在主机操作系统上运行的虚拟机监视器(VMM)的被主存类型,或者是带有直接在计算机102的硬件104上运行的系统管理程序等的裸金属类型。如本文中所使用的,术语“虚拟机”是指模拟任何特定的硬件架构(例如,x86)(该硬件架构能够运行用于该硬件架构的本机代码)的系统型虚拟机;对于客机而言,几乎无法把虚拟机与硬件机器区分开。在本文中所讨论的虚拟机不是诸如Java虚拟机等抽象或进程型的虚拟机。
虚拟化层100执行以下基本功能:管理虚拟机114以及由其本身和各虚拟机114二者共享硬件104。可以使用各种技术中的任何一种把虚拟机114和硬件104隔离开。在一个实施例中,虚拟化层可以提供对应于虚拟机114的不同的隔离开的环境(即,分区或域)。虚拟化层100中的一些,诸如共享虚拟设备驱动程序、虚拟机内通信设施以及虚拟机管理API(应用编程接口),可以运行在一个特殊的特权分区或域中,从而允许紧凑且高效的系统管理程序。在其他实施例中,用于虚拟机管理和对硬件104的一致共享的功能性可以驻留在单片电路金属上(on-the-metal)系统管理程序中。
图2示出关于虚拟机114和虚拟机镜像140的虚拟化层100的过程和交互。虚拟化层100可能根据虚拟机配置参数执行用于启动并执行相应虚拟机114的过程142。当虚拟机(VM)114被启动时,虚拟化层标识相关联的虚拟机镜像140。在实践中,任何虚拟机114可以使用任何虚拟机镜像140。虚拟机镜像140可以是虚拟化层100的文件系统141上的特殊格式的文件(如,VHD)。虚拟化层100加载所标识的虚拟机镜像140。启动的虚拟机114也许为了寻求主引导记录或其他引导信息来安装和读取虚拟机镜像140,并且引导开始执行的客操作系统。
虚拟化层100管理虚拟机114的执行,处理对客机的内核的特定调用、超级调用等,以及协调虚拟机114对底层硬件104的访问。随着客机及其软件运行,虚拟化层100可以维护虚拟盘镜像140上的客机的状态;当客机或由客机运行的应用向“盘”写数据时,虚拟化层100将该数据转换成虚拟盘镜像140的格式并写入到该镜像。
虚拟化层100可以执行用于关闭虚拟机114的过程144。当接收到停止虚拟机114的指令时,虚拟机114及其客机的状态被保存到虚拟盘镜像140,并且正在执行的虚拟机114进程(或分区)被删除。可以保留虚拟机114的规范以用于虚拟机114的稍后重启。
分布式应用
图3示出分布式应用160的示例。图3中的示例是具有呈现层162、应用层164、以及数据层166的多层应用。虽然未示出,但分布式应用在其中各元素经由诸如路由器、桥接器、交换机、网关、负载平衡器等通信节点进行通信的数据网络中执行。呈现层162包括与使用分布式应用160的客户机对接的web服务器实例168或者其他服务器或应用。中间层164由各应用实例170形成,应用实例170可实现分布式应用160的主逻辑、在对象与数据库中的数据之间进行转换、将客户机请求转换成数据库查询,等等。数据层164可具有多个数据库服务器172、数据库接口、数据存储、或其他形式的持久且高效的数据存储。负载平衡器174可平衡跨每一层处的各元素之间的负载。在每一层处的各元素(例如各web服务器实例168)是具有不同的执行状态的重复可执行代码或软件栈。
在操作中,分布式应用160接收请求,例如从客户机、其他应用、服务,等等。请求由web服务器实例168来处理,web服务器实例168可启动事务或以其他方式与应用实例170进行通信。进而,应用实例170可具有与数据库服务器172的交互。
图3中的每一条实线表示可能的网络通信路径。关于分布式应用160的网络要求,实线中的任一个(例如,路径176)、或相似元素之间的任意各种线的集合(例如,路径集合178)(例如,web服务器168与负载平衡器174之间的所有线)、或者其组合是可指定、评估、以及供应网络要求的潜在点。
图4示出了另一示例分布式应用;对等应用200。各对等体202在不同的主机(或在不同的客机)上执行。每一对等体202一般相同地运作并且执行相同功能,但具有不同的操作状态。对等应用200可以是分布式散列表、分布式存储系统、网络服务,等等。对等应用可具有各对等体202之间的连接。对等体202可经由因特网204与外部实体进行通信。对等体202还可使用各种服务,如提供关系数据库208的数据库服务器206对等体202可以为了外部请求的实质服务,以及为了对等体级互连性的内部维护而进行通信。外部请求可由一对等体202直接处理,或该对等体可具有允许它将该请求传递给对该请求进行服务并返回响应的其他对等体202的信息。
如图3中所示,实线表示各元素之间的网络路径。对等体202之间的线表示对等体内网络路径,且到对等应用200的线表示到任何或多个对等体202的路径。如图3所示,线(例如,路径210、212)中的任一个或线集合(例如,路径214)可以是用于指定网络容量或带宽要求、对照测量到的条件评估该要求、以及调整VM以满足该要求的候选目标。
应用级网络供应
图5示出用于指定分布式应用230的网络容量并使用虚拟机(VM)适应来供应网络容量的系统。网络控制器232执行稍后描述的用于评估分布式应用232的网络状况和需求的各过程。提供指定分布式应用230的网络要求(或偏好)的网络规范234。网络规范234包括分布式应用230的网络要求236。
网络要求236可以标识分布式应用230的各元素之间的应用级网络路径或连接(例如,各元素之间的连接性而不管提供连接性的底层路由器等)。例如,在图3的示例中,网络要求236可以指定路径176或路径集合178。在图4的示例中,网络要求可以标识路径210、212或各路径214。这些路径或连接理论上按照分布式应用的各应用元素238和/或与分布式应用230连接的外部元素240来标识(应用元素可以是分布式应用230的在不同的主机或VM客机上执行的各部分,如对等体202、web服务器168、网络服务,等等)。在图5的示例中,路径242和244具有对应的网络要求236。网络要求236还指定与其路径(或各路径,或路径类)相对应的网络资源要求。例如,路径242的网络要求236可以指定特定(或动态地计算的)带宽要求,如50千字节每秒(KBS)。网络规范的细节稍后参考图10和11描述。
图5还示出了网络统计数据246。网络统计数据246存储从各应用元素238和/或网络通信节点(例如,路由器、聚合器、网关,等等)报告的网络统计248。网络统计还可包括网络控制器232用来构造底层数据网络的当前拓扑结构的模型的网络拓扑结构信息。这样的拓扑结构信息可从所收集的BGP(边界网关协议)路由数据或OSPF(开放最短路径优先)路由数据中导出。注意,不要求网络拓扑结构信息和拓扑结构模型来用于网络供应。
更具体地,网络统计数据246可包括与各应用元素238、主存各应用元素的主机、主存各应用元素的VM等等所使用的当前或历史网络带宽有关的信息。在一个实施例中,管理VM(各应用元素238在其中执行)的系统管理程序可具有监视并报告各单独的VM的网络使用的组件(参见图6中的计量器270),该网络使用可能包括将该使用(例如,带宽值)与VM的身份进行关联的信息。在一个实施例中,主存分布式应用230的一元素的每一VM的网络活动或消费被报告和跟踪。在这种情况下,该系统跟踪哪些VM主存了哪些应用元素238。实际上,VM担当各应用元素238的网络跟踪代理。网络统计248和网络统计数据246的细节和进一步示例稍后讨论。
返回图5,网络控制器232对照分布式应用230的网络要求236来评估网络统计数据246。网络控制器232可以确定是否网络要求236中指定的一些路径或者路径集合或类(或其组合)没有被满足(或将可能不被满足)。网络控制器232进而确定它向主存各应用元素238在其中执行的各VM的一个或多个主机发出的VM适应250。
VM适应250可以是针对一个或多个VM管理组件(参见图6中的管理组件274)的用于将VM(或多个VM)从第一主机迁移到第二主机的指令,该迁移是如下进行的:在第一主机上停止该VM,将该VM的盘镜像转移到第二主机(如有必要),并在该第二主机上启动它。VM适应250可以是针对系统管理程序的用于提高或降低该系统管理系统所管理的VM中的一个或多个的网络容量的指令。在一个实施例中,系统管理程序具有用于控制各单独的VM的网络吞吐量的逻辑(参见图6中的调节器272)。尽管扼流和迁移是用于控制网络使用的有效且直接的技术,但可以使用其他技术。例如,在一个实施例中,可通过降低应用层中的实例的数量来降低全局带宽。在另一个实施例中,向客操作系统发信号以调整网络使用,例如,通过向客操作系统的TCP(传输控制协议)速率控制算法哄骗网络饱和条件。
关于网络控制器232的实现,网络控制器232可被实现在各种计算机中。在一个实施例中,网络控制器232被包括在对网络上的各VM进行管理的虚拟机管理系统中。例如,系统中心虚拟机管理器(TM)、VMWare、VirtualCenter(TM)等等。在另一实施例中,网络控制器232是在具有网络连接的任何主机上执行的独立应用。在又一实施例中,网络控制器232本身是分布式应用。网络控制器232可被实现成分布式应用230的一部分(具有对与可如何管理带宽有关的可能限制)。在一个实施例中,网络控制器232管理共享同一网络的许多不同的分布式应用和主机。在这种情况下,它可具有提高或降低一个应用可用的带宽以帮助满足另一应用的要求的能力。
图6示出具有虚拟化增强以便于VM网络报告和网络使用操纵的主机268的示例。系统管理程序274执行用于执行VM276、278的已知虚拟化功能,如上所述。另外,系统管理程序274具有调节器272和计量器270。计量器270收集与发送到/发送自主机268上的VM的网络数据的量(和/或速率)有关的统计。在一个实施例中,系统管理程序可具有用于每一VM的虚拟NIC(网络接口卡)设备并且统计是通过该虚拟NIC设备生成的。
调节器272允许系统管理程序274控制它所管理的VM的网络吞吐量。可以使用各种控制算法。可以使用已知网络速率控制算法(例如,通过在传输之前延迟排队分组)。在一些情况下,可降低一些VM(例如,并非分布式应用的一部分的VM278)的带宽以允许提高主存应用元素238的VM276的带宽。注意,系统管理程序或虚拟NIC可以在各分组穿过时调查它们,以理解对应的实际网络路径并决定要对哪些网络会话进行扼流。
主机268还可具有用于便于网络管理的管理组件280。在一个实施例中,管理组件280从计量器270收集统计并传送该统计以供储存在网络统计数据246中。管理组件280还可根据来自网络控制器232的指令来控制调节器272。管理组件280还可执行用于响应于来自网络控制器232的各VM适应来迁移各VM的指令。
管理组件280还可以是允许网络控制器232与不同的虚拟化实现进行对接的方便手段;不同的管理组件280实现可被提供用于相应的虚拟化实现。每一个管理组件可以实现相同的面向控制器的API(应用编程接口)并可具有适用于不同的虚拟化实现的不同的面向虚拟化的逻辑。
管理组件280、调节器272、以及计量器270的功能可被包括在虚拟化层中的适于所使用的特定虚拟化实现的任何位置处。此外,这些组件不被作为实际分立的单元来存在;对应的功能可以用各种设计来执行。
图7示出与图3中的示例分布式应用160相关的图5的系统。主机268具有上述VM276,VM276可主存各应用元素,如web服务器168、应用实例170、以及数据库服务器172。计量器270和调节器272被假定但未示出。主机268的较小版本与主机268的较大版本相同。较大版本示出了在图8中示出的主机268的细节。图8示出主存在VM276中执行的分布式应用160的主机268。主机中的一些驻留在子网300中,它可以是指定路径的一个组成部分。网络控制器232维护将VM276映射到诸如数据库服务器172、应用实例170等应用元素的信息。VM276的网络统计被累积在网络统计数据存储246中。在一个实施例中,网络通信节点302(例如,路由器、网关、聚合器)向VM276提供网络通信。
图9示出了图8的任意部分的详细视图。主机268B的计量器270累积被传送并储存在网络统计数据246中的VM276计量统计320。网络通信节点302还可以或可以不提交网络统计,例如链路带宽速率、接口静态等。网络控制器332可以执行用于存储任何网络统计的过程334,这可涉及接收统计并将它们储存在网络统计数据246中。
网络控制器232执行用于转移网络内的网络通信量负载的过程。网络控制器232从网络规范的集合336中选择与分布式应用相对应的网络规范234A。该规范随后对照与该分布式应用相关的网络统计被重复评估。每当网络控制器232确定需要调整以使得实际状况将符合该分布式应用的要求或偏好时(根据网络规范234A),网络控制器分析来自网络的当前或最近通信量统计以标识用于转移网络通信量负载的一个或多个目标,可能考虑哪些VM主机主存该应用的哪些元素。因此,网络控制器232对各目标执行VM适应。
关于VM适应,在一个实现中,将主机268A上的VM276A标识为目标的网络控制器232传送“执行迁移”指令338,该指令可标识VM172A、源主机268A、以及目的地主机268B。作为响应,主机268A、268B将VM172A迁移到主机268B。用于VM迁移的技术是已知的并且在其他部分中描述。一般而言,VM276A在主机268A上停止,将已停止的VM的盘镜像338传送到主机268B或使得对主机268B可用,并且主机268B的虚拟化组件随后从接收到的/所访问的盘镜像338重启VM276A。
在同一实施例或其他实施例中,网络控制器232可以确定网络通信量要通过调整目标VM的网络容量(例如,降低和提高各VM传输速率)进行转移。例如,控制器232可以确定指定路径要求(例如,包括VM276B的路径)未被满足。网络控制器232随后可标识当前可降低带宽的合适主机处的一个或多个VM(例如,另一应用的VM340,它通常可以在与主机268B不同的主机上),并随后将提高/降低网络速率或带宽分配的指令342传送给目标VM。接收者主机(在该示例中是主机268B)的调节器272随后通过改变目标VM的分配来进行响应。
在又一实施例中,网络控制器通过监视不同负载下的传输等待时间来推断主机外的网络元素(例如,路由器)的性能容量。例如,等待时间是带宽的函数,并且如果随时间构造了等待时间/带宽的曲线,则可能使用该曲线(或与等待时间和带宽有关的其他信息)来将各调整通知给各VM布置。还可能在虚拟NIC处注入额外分组以探测网络性能。这样的探测分组将在源处被注入并在目的地处除去。
将明白,可以使用VM速率调节和VM迁移(或者创建、删除、或挂起)中的任一个或两者。网络通信节点302所报告的网络拓扑结构或统计可以或可以不通知网络控制器232的决策做出过程。将明白,网络规范和供应实际上发生在应用级,因为该规范按照应用元素来指定路径、网络统计是针对这些元素来报告的并且与这些元素相关、并且分析和调整是相对于应用元素来执行的。因而,不必到达网络级(并且无需这样做的特别待遇),尝试保证穿过(并且可能去往/来自)分布式应用的路径的速率/带宽是可能的。即,在一个实施例中,网络控制器232还可向网络通信节点302发出指令作为用于将网络容量转移到需要其的位置的附加手段。在一些云或数据中心中,网络带宽在不同的时间(例如,一天中的时间、一星期中的一天,等等)可具有不同的成本,并且该系统可被配置成调整网络使用以满足全局成本限制或最小化函数。
图10和11示出了示例应用网络规范234A、234B。网络规范234A、234B可以用XML(可扩展标记语言)来编写。在该示例中的XML元素是自解释的。考虑对应的分布式应用的各组件和元素可被定义,例如,“Internet Gateway(因特网网关)”、“Tier1App(层1应用)”等等。各路径的容量规范随后按照这些组件来定义。例如,在网络规范234A中,容量规范指示从各Tier1App(并隐含地,它们的VM)到InternetGateway的路径的平均带宽应当是1.5MBS(兆字节每秒)。另一规范指示所有Tier1-Tier2(层1-层2)路径的总和必须超过.5MBS。在一个实施例中。规范可以是方向敏感的;如规范语句中参数的顺序所示。网络规范可以定义丰富的表达式语言,从而允许指定复杂路径和条件。可以指定复杂条件。还可以指定校正动作。例如,要求可以指定第一路径条件和要作为目标以满足该条件的另一路径。要求可以指定路径中的多个元素。例如,穿过组件C从组件A到B的带宽。
结论
以上讨论的实施例和特征都可用储存在易失性或非易失性计算机或设备可读介质中的信息的形式来实现。这被认为至少包括诸如光学存储(例如,紧致盘只读存储器(CD-ROM))、磁介质、闪速只读存储器(ROM)、或存储数字信息的任何现有或未来手段等介质。所存储的信息可采用机器可执行指令(例如,经编译的可执行二进制代码)、源代码、字节代码、或可用于允许或配置计算机设备来执行上述各实施例的信息的任何其它形式。这还被认为至少包括诸如随机存取存储器(RAM)和/或在程序的执行以实现一实施例的期间存储诸如中央处理单元(CPU)指令等信息的虚拟存储器等易失性存储器,以及存储允许程序或可执行代码被加载和执行的信息的非易失性介质。实施例和特征可在任何类型的计算设备上执行,这些计算设备包括便携设备、工作站、服务器、移动无线设备等。

Claims (15)

1.一种为分布式应用指定并分配网络带宽的方法,所述分布式应用在网络中在所述网络中的主机上执行的虚拟机(VM)上执行,所述方法包括:
存储应用网络规范,每一应用网络规范指定具有在多个主机上的多个VM上执行的各应用元素的分布式应用的网络要求;
监视所述网络中的网络使用;
基于所述应用网络规范和所述监视,确定网络带宽要求;以及
通过迁移所述网络中的各VM中的一个或多个和/或通过所述主机之一上的系统管理程序提高或降低由此管理的VM的网络传输,来满足所述网络带宽要求。
2.如权利要求1所述的方法,其特征在于,应用网络规范指定穿过对应的分布式应用的各元素的多个通信路径,并且所述方法还包括将VM从第一主机迁移到第二主机以满足所述路径之一的网络要求。
3.如权利要求1所述的方法,其特征在于,所述监视包括在所述主机的系统管理程序处捕捉VM的网络统计并传送所述网络统计以供存储。
4.如权利要求3所述的方法,其特征在于,所述监视还包括接收所述网络的一个或多个路由器、交换机、或负载平衡器所报告的网络统计。
5.如权利要求3所述的方法,其特征在于,所述监视还包括系统管理程序生成并插入探测分组以供传输,接收所述探测分组,根据所述探测分组测量网络统计,并除去所述探测分组以使得它们不被传递给虚拟机。
6.如权利要求1所述的方法,其特征在于,还包括基于成本最小化函数来动态地计算所述网络带宽要求,其中根据所述成本最小化函数,带宽成本作为时间的函数而变化。
7.一种在主存虚拟机(VM)的经由网络进行通信的多个主机之间分发网络使用的方法,其中每一主机具有管理在其上执行的VM的系统管理程序,所述方法包括:
访问一个或多个计算机所存储的网络信息,所述网络信息包括指定在所述VM上运行的相应分布式应用的网络要求的信息,其中每一分布式应用在多个VM上执行;以及
通过在所述主机之间迁移VM或通过所述系统管理程序提高或降低所述系统管理程序所管理的VM可用的网络容量,来尝试满足所述应用的网络要求。
8.如权利要求7所述的方法,其特征在于,所述网络包括路由器、交换机、以及负载平衡器,并且所述保证还包括提高或降低所述路由器、交换机或负载平衡器处的网络分配。
9.如权利要求8所述的方法,其特征在于,还包括构建所述路由器、交换机以及负载平衡器的性能特征的模型,并使用所述模型来提高或降低网络分配。
10.如权利要求7所述的方法,其特征在于,所述网络信息包括给定分布式应用的应用规范,所述应用规范指定包括表示所述分布式应用的相应应用元素的两个组件的网络通信路径,所述应用规范还指定所述通信路径的网络要求。
11.如权利要求7所述的方法,其特征在于,所述分布式应用包括与所述组件中的第一个相对应的第一组应用实例以及与所述组件中的第二个相对应的第二组应用实例。
12.如权利要求11所述的方法,其特征在于,还包括保证所述第一组中的各应用实例中的一个或多个与所述第二组中的各应用实例中的一个或多个之间的单个带宽要求。
13.如权利要求7所述的方法,其特征在于,还包括存储各单独的VM的VM网络使用统计并使用所述VM网络使用统计来选择要被迁移或者要被提高或降低可用网络容量的一个或多个VM。
14.如权利要求13所述的方法,其特征在于,还包括通过挂起VM来降低所述VM的网络容量。
15.如权利要求7所述的方法,其特征在于,还包括根据所述网络要求之一来标识特定VM,选择主存所述特定VM的主机所报告的所述特定VM的网络统计,以及对照所述网络要求中的所述一个来比较所述网络统计。
CN201280032002.8A 2011-06-29 2012-05-30 控制网络利用 Active CN103635882B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/171,445 US10013281B2 (en) 2011-06-29 2011-06-29 Controlling network utilization
US13/171,445 2011-06-29
PCT/US2012/039961 WO2013002936A1 (en) 2011-06-29 2012-05-30 Controlling network utilization

Publications (2)

Publication Number Publication Date
CN103635882A true CN103635882A (zh) 2014-03-12
CN103635882B CN103635882B (zh) 2017-07-18

Family

ID=47391801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280032002.8A Active CN103635882B (zh) 2011-06-29 2012-05-30 控制网络利用

Country Status (7)

Country Link
US (1) US10013281B2 (zh)
EP (1) EP2726984B1 (zh)
JP (1) JP5984926B2 (zh)
KR (1) KR101906632B1 (zh)
CN (1) CN103635882B (zh)
ES (1) ES2765032T3 (zh)
WO (1) WO2013002936A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210109816A1 (en) * 2016-01-06 2021-04-15 International Business Machines Corporation Method and system to discover and manage distributed applications in virtualization environments

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772395B2 (ja) * 2011-08-29 2015-09-02 富士通株式会社 送信レート制御のためのプログラム、制御方法及び情報処理装置
US8914515B2 (en) * 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
US20130227164A1 (en) * 2012-02-23 2013-08-29 Yahoo! Inc. Method and system for distributed layer seven traffic shaping and scheduling
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9256473B1 (en) * 2012-09-26 2016-02-09 Emc Corporation Provision a virtual environment based on topology of virtual nodes, node dependencies and base node configuration information
KR101539496B1 (ko) * 2013-02-18 2015-07-24 단국대학교 산학협력단 가상 머신 모니터링 장치 및 그 방법
US9251115B2 (en) 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US9843624B1 (en) 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
US9307018B2 (en) * 2013-09-11 2016-04-05 International Business Machines Corporation Workload deployment with real-time consideration of global network congestion
US9807014B2 (en) * 2013-09-27 2017-10-31 International Business Machines Corporation Reactive throttling of heterogeneous migration sessions in a virtualized cloud environment
JP6213303B2 (ja) * 2014-02-26 2017-10-18 富士通株式会社 情報処理システム、制御装置及び制御プログラム
EP2966807B1 (en) * 2014-05-08 2018-09-19 Accenture Global Services Limited Network usage monitoring and analytics for differentiated data services
US11182185B2 (en) * 2014-06-27 2021-11-23 Vmware, Inc. Network-based signaling to control virtual machine placement
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
EP3021521A1 (en) * 2014-11-11 2016-05-18 Alcatel Lucent A method and system for scaling, telecommunications network and computer program product
EP3035619B1 (en) * 2014-12-15 2019-02-13 Alcatel Lucent A method and system for scaling and a telecommunications network
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
KR101665461B1 (ko) * 2015-06-26 2016-10-19 건국대학교 산학협력단 실시간성이 요구되는 어플리케이션이 탑재된 머신의 가상화 장치 및 방법
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US10177993B2 (en) * 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US10257043B2 (en) * 2016-01-11 2019-04-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Balancing utilization of infrastructure in a networked computing environment
US10812588B2 (en) 2016-01-13 2020-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Storage performance based on data placement
US10623330B2 (en) 2016-09-23 2020-04-14 Google Llc Distributed bandwidth allocation and throttling
US10942758B2 (en) 2017-04-17 2021-03-09 Hewlett Packard Enterprise Development Lp Migrating virtual host bus adaptors between sets of host bus adaptors of a target device in order to reallocate bandwidth to enable virtual machine migration
US10795583B2 (en) 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
US10496541B2 (en) 2017-11-29 2019-12-03 Samsung Electronics Co., Ltd. Dynamic cache partition manager in heterogeneous virtualization cloud cache environment
JP7259203B2 (ja) * 2018-03-16 2023-04-18 株式会社リコー 情報処理装置、情報処理システムおよび方法
JP7081514B2 (ja) * 2019-01-30 2022-06-07 日本電信電話株式会社 オートスケール型性能保証システム及びオートスケール型性能保証方法
JP7400587B2 (ja) 2020-03-30 2023-12-19 横河電機株式会社 通信処理装置、プログラム、及び通信処理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286426A (zh) * 1999-08-16 2001-03-07 国际商业机器公司 使用远程java对象分配程序的方法
US20080082977A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US20090055507A1 (en) * 2007-08-20 2009-02-26 Takashi Oeda Storage and server provisioning for virtualized and geographically dispersed data centers
CN101419558A (zh) * 2008-11-13 2009-04-29 湖南大学 Cuda图形子系统虚拟化方法
CN101626598A (zh) * 2009-07-23 2010-01-13 华为技术有限公司 传输资源管理的方法和系统
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
US7702779B1 (en) * 2004-06-30 2010-04-20 Symantec Operating Corporation System and method for metering of application services in utility computing environments
CN102082830A (zh) * 2011-01-18 2011-06-01 浙江大学 面向不稳定网络的基于品质感知的分布式文件存储方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896531A (en) 1993-02-26 1999-04-20 International Business Machines Corporation Method and system for managing environments with a data processing system
JP2002016599A (ja) 1999-12-02 2002-01-18 Hitachi Ltd ネットワーク計測制御システムとネットワーク計測制御方法
US6674717B1 (en) * 2000-03-30 2004-01-06 Network Physics, Inc. Method for reducing packet loss and increasing internet flow by feedback control
US20020032754A1 (en) * 2000-04-05 2002-03-14 Gary Logston Method and apparatus for profiling in a distributed application environment
CN1448017A (zh) * 2000-07-05 2003-10-08 恩斯特&扬有限责任合伙公司 提供计算机服务的方法和设备
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US6976134B1 (en) * 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7668966B2 (en) * 2001-11-02 2010-02-23 Internap Network Services Corporation Data network controller
US20030154236A1 (en) * 2002-01-22 2003-08-14 Shaul Dar Database Switch enabling a database area network
US6968535B2 (en) * 2002-03-21 2005-11-22 Sun Microsystems, Inc. Service mapping method of enterprise application modeling and development for multi-tier service environments
US7167915B2 (en) 2002-10-18 2007-01-23 International Business Machines Corporation Monitoring storage resources used by computer applications distributed across a network
US20040181589A1 (en) * 2003-03-14 2004-09-16 Sun Microsystems,Inc. Storage virtual channels and method for using the same
JP4457581B2 (ja) * 2003-05-28 2010-04-28 日本電気株式会社 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム
US20040267897A1 (en) * 2003-06-24 2004-12-30 Sychron Inc. Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
US7934020B1 (en) * 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
US7496661B1 (en) 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US8489720B1 (en) * 2004-03-31 2013-07-16 Blue Coat Systems, Inc. Cost-aware, bandwidth management systems adaptive to network conditions
US7957266B2 (en) * 2004-05-28 2011-06-07 Alcatel-Lucent Usa Inc. Efficient and robust routing independent of traffic pattern variability
US7554983B1 (en) * 2004-12-20 2009-06-30 Packeteer, Inc. Probing hosts against network application profiles to facilitate classification of network traffic
US20090292824A1 (en) 2005-01-21 2009-11-26 Internap Network Services Corporation System And Method For Application Acceleration On A Distributed Computer Network
US7644162B1 (en) * 2005-06-07 2010-01-05 Hewlett-Packard Development Company, L.P. Resource entitlement control system
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070118653A1 (en) 2005-11-22 2007-05-24 Sabre Inc. System, method, and computer program product for throttling client traffic
JP4871174B2 (ja) * 2007-03-09 2012-02-08 株式会社日立製作所 仮想計算機システム
WO2009061432A1 (en) 2007-11-06 2009-05-14 Credit Suisse Securities (Usa) Llc Predicting and managing resource allocation according to service level agreements
US9086901B2 (en) * 2008-03-07 2015-07-21 Sap Se Migration of applications from physical machines to virtual machines
US8040799B2 (en) * 2008-05-15 2011-10-18 International Business Machines Corporation Network on chip with minimum guaranteed bandwidth for virtual communications channels
US8161479B2 (en) * 2008-06-13 2012-04-17 Microsoft Corporation Synchronizing virtual machine and application life cycles
US8102781B2 (en) * 2008-07-31 2012-01-24 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
US9143554B2 (en) * 2008-10-13 2015-09-22 Hewlett-Packard Development Company, L.P. Control of a computing system having adjustable inputs
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US20100281478A1 (en) * 2009-05-01 2010-11-04 Microsoft Corporation Multiphase virtual machine host capacity planning
US8751627B2 (en) * 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
US8335943B2 (en) * 2009-06-22 2012-12-18 Citrix Systems, Inc. Systems and methods for stateful session failover between multi-core appliances
US8914511B1 (en) * 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
US8407190B2 (en) * 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US8359374B2 (en) * 2009-09-09 2013-01-22 Vmware, Inc. Fast determination of compatibility of virtual machines and hosts
US8253588B2 (en) * 2009-11-02 2012-08-28 Oracle America, Inc. Facilitating power supply unit management using telemetry data analysis
US8537860B2 (en) * 2009-11-03 2013-09-17 International Business Machines Corporation Apparatus for switching traffic between virtual machines
US8250213B2 (en) * 2009-11-16 2012-08-21 At&T Intellectual Property I, L.P. Methods and apparatus to allocate resources associated with a distributive computing network
US8352953B2 (en) * 2009-12-03 2013-01-08 International Business Machines Corporation Dynamically provisioning virtual machines
US9036504B1 (en) * 2009-12-07 2015-05-19 Amazon Technologies, Inc. Using virtual networking devices and routing information to associate network addresses with computing nodes
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US8224971B1 (en) * 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US8719804B2 (en) * 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US8606897B2 (en) * 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8417812B1 (en) * 2010-07-12 2013-04-09 Vmware, Inc. Methods and systems for detecting anomalies during IO accesses
US20120317249A1 (en) * 2011-06-13 2012-12-13 Salsburg Michael A Methods and systems for extreme capacity management
US8694400B1 (en) * 2010-09-14 2014-04-08 Amazon Technologies, Inc. Managing operational throughput for shared resources
US8418185B2 (en) * 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
US8824286B2 (en) * 2010-10-29 2014-09-02 Futurewei Technologies, Inc. Network aware global load balancing system and method
US8924539B2 (en) * 2010-11-24 2014-12-30 Red Hat, Inc. Combinatorial optimization of multiple resources across a set of cloud-based networks
US8745734B1 (en) * 2010-12-29 2014-06-03 Amazon Technologies, Inc. Managing virtual computing testing
US9467507B2 (en) * 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
US9055003B2 (en) * 2011-03-03 2015-06-09 International Business Machines Corporation Regulating network bandwidth in a virtualized environment
US8949931B2 (en) * 2012-05-02 2015-02-03 Cisco Technology, Inc. System and method for monitoring application security in a network environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286426A (zh) * 1999-08-16 2001-03-07 国际商业机器公司 使用远程java对象分配程序的方法
US7702779B1 (en) * 2004-06-30 2010-04-20 Symantec Operating Corporation System and method for metering of application services in utility computing environments
US20080082977A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US20090055507A1 (en) * 2007-08-20 2009-02-26 Takashi Oeda Storage and server provisioning for virtualized and geographically dispersed data centers
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
CN101419558A (zh) * 2008-11-13 2009-04-29 湖南大学 Cuda图形子系统虚拟化方法
CN101626598A (zh) * 2009-07-23 2010-01-13 华为技术有限公司 传输资源管理的方法和系统
CN102082830A (zh) * 2011-01-18 2011-06-01 浙江大学 面向不稳定网络的基于品质感知的分布式文件存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210109816A1 (en) * 2016-01-06 2021-04-15 International Business Machines Corporation Method and system to discover and manage distributed applications in virtualization environments
US11734123B2 (en) * 2016-01-06 2023-08-22 International Business Machines Corporation Method and system to discover and manage distributed applications in virtualization environments

Also Published As

Publication number Publication date
JP5984926B2 (ja) 2016-09-06
EP2726984A1 (en) 2014-05-07
WO2013002936A1 (en) 2013-01-03
EP2726984A4 (en) 2015-03-11
KR20140035970A (ko) 2014-03-24
KR101906632B1 (ko) 2018-10-10
CN103635882B (zh) 2017-07-18
JP2014526083A (ja) 2014-10-02
EP2726984B1 (en) 2019-10-30
US20130007254A1 (en) 2013-01-03
ES2765032T3 (es) 2020-06-05
US10013281B2 (en) 2018-07-03

Similar Documents

Publication Publication Date Title
CN103635882A (zh) 控制网络利用
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
US9755990B2 (en) Automated reconfiguration of shared network resources
Krishnamurthy et al. Pratyaastha: an efficient elastic distributed sdn control plane
US9594579B2 (en) Migrating virtual machines
US10623481B2 (en) Balancing resources in distributed computing environments
US10776149B2 (en) Methods and apparatus to adjust energy requirements in a data center
US8423646B2 (en) Network-aware virtual machine migration in datacenters
JP2018198068A (ja) 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
US11570937B2 (en) Methods and apparatus to control power delivery based on predicted power utilization in a data center
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US10116571B1 (en) Network Function Virtualization (NFV) Management and Orchestration (MANO) with Application Layer Traffic Optimization (ALTO)
US20130055260A1 (en) Techniques for workload balancing among a plurality of physical machines
CN104584484A (zh) 提供基于策略的数据中心网络自动化的系统和方法
WO2012083270A1 (en) Multi-tenant, high-density container service for hosting stateful and stateless middleware components
US20190317824A1 (en) Deployment of services across clusters of nodes
US11861410B2 (en) Cloud computing burst instance management through transfer of cloud computing task portions between resources satisfying burst criteria
CN105516267B (zh) 云平台高效运行方法
JP2011209811A (ja) 仮想マシンシステムおよび仮想マシン配置方法
Khani et al. A self‐organized load balancing mechanism for cloud computing
JP2016162322A (ja) 仮想マシン配置管理装置
Brun et al. D4. 4: Implementation and Evaluation of the PANACEA integrated System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant